DaalaTodo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(23 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
= Simple Things = | == Simple Things == | ||
* Overflow checking for allocations in od_state_ref_imgs_init(). | * Overflow checking for allocations in od_state_ref_imgs_init(). | ||
* Implement [https://www.bugzilla.org/download/ Bugzilla] for Daala users to report bugs and enhancements. | |||
== Tuning == | |||
* Quantization matrix | * Quantization matrix | ||
* | ** Rate-dependent QMs | ||
* | * Beta (activity masking) | ||
* PVQ RDO | * PVQ RDO | ||
* Better MV cost estimates | * Better MV cost estimates | ||
* Better MC distortion metrics (SATD, some MSE/SATD hybrid, no-ref-aware, maybe table driven Theora-style, etc.) | * Better MC distortion metrics (SATD, some MSE/SATD hybrid, no-ref-aware, maybe table driven Theora-style, etc.) | ||
* Better MV split flag rate estimates | * Better MV split flag rate estimates | ||
* Does the 8-pixel MV offset influence quality in any way? | |||
* Tuning for new lapping | |||
** quantization matrices | |||
** lambda | |||
** Haar DC | |||
== Known Broken/Suboptimal == | |||
* Block size decision | * Block size decision | ||
** Never tuned on inter | ** Never tuned on inter | ||
** Not considering chroma | ** Not considering chroma | ||
* Investigate bias introduced by coefficient scaling | * Investigate bias introduced by coefficient scaling | ||
* Take into account scaling differences from lapping on variable block size | |||
** Including Haar DC | |||
* Finish "skip higher bands" flags | |||
* Re-train zig-zags (particularly on inter) | |||
* Implement RDO for "skip_rest" decisions. | |||
* Better RDO rates for gain/theta/noref | |||
* Don't code blocks that are outside the image | |||
= New | == New Work == | ||
* Motion vector "mask" based on previous frame | * Motion vector "mask" based on previous frame | ||
* Use coeff magnitude correlation for modelling | * Use coeff magnitude correlation for modelling | ||
Line 27: | Line 40: | ||
* Variable Framerate support | * Variable Framerate support | ||
* Dynamic frame size changes (without keyframes) | * Dynamic frame size changes (without keyframes) | ||
* Land paint-based deringing | |||
* SPIHT as k-tokenizer | * SPIHT as k-tokenizer | ||
* MV prediction clustering | |||
* Special case for K=2 | |||
* Train Laplace tables | |||
= Entropy | == Entropy Coding == | ||
* Make the Laplace vector encoder (aka k-tokenizer) faster | * Make the Laplace vector encoder (aka k-tokenizer) faster | ||
Line 36: | Line 53: | ||
* Add SIMD to the decoder search | * Add SIMD to the decoder search | ||
= Visualization = | == Minor things == | ||
* Code quantizers on a log scale | |||
== Visualization == | |||
* Add ability to display decoder side information to player_example | * Add ability to display decoder side information to player_example | ||
Line 45: | Line 66: | ||
** Motion vectors | ** Motion vectors | ||
** Display prediction residual | ** Display prediction residual | ||
** | |||
== Bit-stream work (no expected quality improvement) == | |||
* Need a bugzilla instance for issue tracking | |||
* Re-order bitstream (e.g., don't code all MVs at the front, etc.) | |||
== AreWeCompressedYet == | |||
Wiki page: [[AreWeCompressedYet]] | |||
Website: https://arewecompressedyet.com | |||
Bug tracker: https://github.com/tdaede/awcy/issues | |||
* Huge batch run of all versions of Daala | |||
* Look at rd_tool options and improve | |||
* Add realtime constraint options for x265 | |||
[[Category:Daala]] |
Latest revision as of 12:06, 18 February 2015
Simple Things
- Overflow checking for allocations in od_state_ref_imgs_init().
- Implement Bugzilla for Daala users to report bugs and enhancements.
Tuning
- Quantization matrix
- Rate-dependent QMs
- Beta (activity masking)
- PVQ RDO
- Better MV cost estimates
- Better MC distortion metrics (SATD, some MSE/SATD hybrid, no-ref-aware, maybe table driven Theora-style, etc.)
- Better MV split flag rate estimates
- Does the 8-pixel MV offset influence quality in any way?
- Tuning for new lapping
- quantization matrices
- lambda
- Haar DC
Known Broken/Suboptimal
- Block size decision
- Never tuned on inter
- Not considering chroma
- Investigate bias introduced by coefficient scaling
- Take into account scaling differences from lapping on variable block size
- Including Haar DC
- Finish "skip higher bands" flags
- Re-train zig-zags (particularly on inter)
- Implement RDO for "skip_rest" decisions.
- Better RDO rates for gain/theta/noref
- Don't code blocks that are outside the image
New Work
- Motion vector "mask" based on previous frame
- Use coeff magnitude correlation for modelling
- Per SB/MB/block/something quantizer changes
- Variable Framerate support
- Dynamic frame size changes (without keyframes)
- Land paint-based deringing
- SPIHT as k-tokenizer
- MV prediction clustering
- Special case for K=2
- Train Laplace tables
Entropy Coding
- Make the Laplace vector encoder (aka k-tokenizer) faster
- Add "skip-all remaining bands" flag
- Better encoding of the CfL sign
- Add SIMD to the decoder search
Minor things
- Code quantizers on a log scale
Visualization
- Add ability to display decoder side information to player_example
- Block size split decision
- Cost in bits per block (use log scale)
- No-ref and skip flags
- Mode information (if we signal intra)
- Motion vectors
- Display prediction residual
Bit-stream work (no expected quality improvement)
- Need a bugzilla instance for issue tracking
- Re-order bitstream (e.g., don't code all MVs at the front, etc.)
AreWeCompressedYet
Wiki page: AreWeCompressedYet
Website: https://arewecompressedyet.com
Bug tracker: https://github.com/tdaede/awcy/issues
- Huge batch run of all versions of Daala
- Look at rd_tool options and improve
- Add realtime constraint options for x265