DaalaRoadmap

From XiphWiki
Jump to navigation Jump to search

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

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

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).

Progress and Planning Tools

  • Every week a Mumble meeting will occur to discuss current development.
  • Every 6-8 weeks the team will report on what he has accomplished.
  • Every month the team will create a detailed task list of what they plan to do for that month.

Estimates of Technique Effectiveness

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