DaalaRoadmap: Difference between revisions
(→Researching the following to see if they should be adopted into Daala:: shorten header) |
|||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
== Daala Planning == | == Daala Planning == | ||
This is an overview of the Daala project roadmap | This is an overview of the Daala project roadmap. | ||
'''Information on this page is highly subject to update and change.''' | |||
Please help reach out to us if you are interested in contributing to the project. We would love your help! | |||
=== Plans for 2014 === | |||
See [https://daala.etherpad.mozilla.org/daala-plan-2014 this etherpad] for details. Most information has moved there. See also the [[Daala Weekly Meetings|weekly meeting minutes]] on [[Daala]] for current efforts. | |||
=== Plans for September, 2013 to March, 2014 === | === Plans for September, 2013 to March, 2014 === | ||
Line 12: | Line 18: | ||
1) Lapped Transforms | 1) Lapped Transforms | ||
* https://people.xiph.org/~xiphmont/demo/daala/demo1.shtml | * [https://people.xiph.org/~xiphmont/demo/daala/demo1.shtml Monty's LT demo] | ||
* | * [[TDLT|Time-Domain Lapped Transforms]] wiki page | ||
* https://thanglong.ece.jhu.edu/Tran/Pub/prepost.pdf | |||
* https://research.microsoft.com/pubs/102075/malvar_elt_tsp1192.pdf | * https://research.microsoft.com/pubs/102075/malvar_elt_tsp1192.pdf | ||
2) Frequency Domain | 2) Frequency Domain Intra-prediction | ||
* https://people.xiph.org/~xiphmont/demo/daala/demo2.shtml | * [https://people.xiph.org/~xiphmont/demo/daala/demo2.shtml Monty's Intra-prediction demo] | ||
* [[Intra|Intra-prediction]] wiki page | |||
3) Time/Frequency resolution switching | 3) Time/Frequency resolution switching | ||
* https://people.xiph.org/~xiphmont/demo/daala/demo3.shtml | * [https://people.xiph.org/~xiphmont/demo/daala/demo3.shtml Monty's TF switching demo] | ||
4) Chroma from Luma | 4) Chroma from Luma (CfL) | ||
* [https://people.xiph.org/~xiphmont/demo/daala/demo4.shtml Monty's CfL demo] | |||
5) Motion Compensation tools | 5) Motion Compensation tools | ||
==== Research new techniques ==== | ==== Research new techniques ==== | ||
Line 33: | Line 40: | ||
1) Edge-directed Interpolation | 1) Edge-directed Interpolation | ||
* | * https://elynxsdk.free.fr/ext-docs/Demosaicing/more/news0/New%20Edge-Directed%20Interpolation.pdf | ||
* [https://exp.martres.me/edi/ smarter's EDI demo in Javascript] | |||
2) Multi-frame Motion Compensation | 2) Multi-frame Motion Compensation | ||
==== Testing tools ==== | |||
1) Experiment with command-line encode/decode/performance tools | |||
* Help people try the codec | |||
* Self-testing | |||
* Improvement metrics for casual contributors to verify changes | |||
2) Prototype RTP in GIPS/webrtc.org/browser code | |||
3) Prototype HTTP streaming. | |||
=== Plans for March, 2014 to September, 2014 === | === Plans for March, 2014 to September, 2014 === | ||
Line 46: | Line 63: | ||
By September, 2014: Be able to show significant quality improvements compared to Daala's performance today (September, 2013). | By September, 2014: Be able to show significant quality improvements compared to Daala's performance today (September, 2013). | ||
=== Plans for 2015 === | |||
[https://people.xiph.org/~tterribe/daala/daala-schedule-20150313/Daala%20Schedule.pdf Schedule by task] | |||
[https://people.xiph.org/~tterribe/daala/daala-schedule-20150313/Daala%20Schedule2.pdf Schedule by person] | |||
=== Progress and | === Progress and Planning Tools === | ||
* Every | * Every week a [[Daala_Weekly_Meetings|Mumble meeting]] will occur to discuss current development. | ||
* Every month the team will create a detailed task list of what they plan to do for that month. | * Every month the team will create a detailed task list of what they plan to do for that month. | ||
* Every 6-8 weeks the team will report on what they have accomplished. | |||
=== Estimates of Technique Effectiveness === | |||
These estimates are mostly guessing, based on no actual data. Take them with an entire salt shaker full of salt. | |||
{| border="1" cellspacing="0" cellpadding="5" | |||
|- | |||
! Technique | |||
! % of bitrate est. | |||
! risk | |||
|- | |||
| intraprediction | |||
| 10% | |||
| | |||
|- | |||
| rate control | |||
| 10% | |||
| low | |||
|- | |||
| multiple reference frames | |||
| 10% | |||
| | |||
|- | |||
| alternate motion predictors | |||
| 5% | |||
| | |||
|- | |||
| multi-resolution blending | |||
| 2% | |||
| | |||
|- | |||
| edge-directed interpolation | |||
| 4-5% | |||
| | |||
|- | |||
| sub-pel search | |||
| 2% | |||
| | |||
|- | |||
| mixed prediction (intra+inter) | |||
| 12% | |||
| high | |||
|- | |||
| generic encoder replacement/optimization | |||
| 1% | |||
| | |||
|- | |||
| skip work | |||
| 5% | |||
| | |||
|- | |||
| deringing | |||
| 10% | |||
| medium | |||
|- | |||
| bi-prediction | |||
| 15% | |||
| | |||
|- | |||
| k-tokenizer | |||
| +/- 1% | |||
| | |||
|- | |||
| 32x32 motion | |||
| 10% | |||
| low | |||
|- | |||
| don't code outside frame | |||
| 1-2% | |||
| | |||
|- | |||
| adaptive motion compensation work | |||
adjacent blocks differing by more than 1 level | |||
| 10% | |||
| high | |||
|- | |||
| don't use SAD (Sum of Absolute Differences) | |||
| | |||
| | |||
|} | |||
=== September 2015 === | |||
* [https://www.videolan.org/videolan/events/vdd15/ Videolan Dev Days] took place. There are videos on [https://www.youtube.com/playlist?list=PLQLpBN3oI7E44HIdTOovThc1MNHLchgHE youtube]. | |||
* [https://arewecompressedyet.com/ arewecompressedyet.com] got a new images tab for comparing images between different Daala builds | |||
[[Category:Daala]] |
Latest revision as of 12:33, 23 September 2015
Daala Planning
This is an overview of the Daala project roadmap.
Information on this page is highly subject to update and change.
Please help reach out to us if you are interested in contributing to the project. We would love your help!
Plans for 2014
See this etherpad for details. Most information has moved there. See also the weekly meeting minutes on Daala for current efforts.
Plans for September, 2013 to March, 2014
Improve existing techniques
Examining and significantly modifying some of the basic coding tools within Daala to improve efficiency and quality:
1) Lapped Transforms
- Monty's LT demo
- Time-Domain Lapped Transforms wiki page
- https://thanglong.ece.jhu.edu/Tran/Pub/prepost.pdf
- https://research.microsoft.com/pubs/102075/malvar_elt_tsp1192.pdf
2) Frequency Domain Intra-prediction
3) Time/Frequency resolution switching
4) Chroma from Luma (CfL)
5) Motion Compensation tools
Research new techniques
Investigate the following to see if they should be adopted into Daala:
1) Edge-directed Interpolation
- https://elynxsdk.free.fr/ext-docs/Demosaicing/more/news0/New%20Edge-Directed%20Interpolation.pdf
- smarter's EDI demo in Javascript
2) Multi-frame Motion Compensation
Testing tools
1) Experiment with command-line encode/decode/performance tools
- Help people try the codec
- Self-testing
- Improvement metrics for casual contributors to verify changes
2) Prototype RTP in GIPS/webrtc.org/browser code
3) Prototype HTTP streaming.
Plans for March, 2014 to September, 2014
From March, 2014 to June, 2014: Tuning the various coding tools and components of Daala (assumes investigation and major modifications of the basic coding tools are completed)
By September, 2014: Be able to show significant quality improvements compared to Daala's performance today (September, 2013).
Plans for 2015
Progress and Planning Tools
- Every week a Mumble meeting will occur to discuss current development.
- Every month the team will create a detailed task list of what they plan to do for that month.
- Every 6-8 weeks the team will report on what they have accomplished.
Estimates of Technique Effectiveness
These estimates are mostly guessing, based on no actual data. Take them with an entire salt shaker full of salt.
Technique | % of bitrate est. | risk |
---|---|---|
intraprediction | 10% | |
rate control | 10% | low |
multiple reference frames | 10% | |
alternate motion predictors | 5% | |
multi-resolution blending | 2% | |
edge-directed interpolation | 4-5% | |
sub-pel search | 2% | |
mixed prediction (intra+inter) | 12% | high |
generic encoder replacement/optimization | 1% | |
skip work | 5% | |
deringing | 10% | medium |
bi-prediction | 15% | |
k-tokenizer | +/- 1% | |
32x32 motion | 10% | low |
don't code outside frame | 1-2% | |
adaptive motion compensation work
adjacent blocks differing by more than 1 level |
10% | high |
don't use SAD (Sum of Absolute Differences) |
September 2015
- Videolan Dev Days took place. There are videos on youtube.
- arewecompressedyet.com got a new images tab for comparing images between different Daala builds