Weekly meeting: 29 Jun 2012
mumble server: myrandomnode.dyndns.org:64738
1. Status updates
Tim:
+ Entropy coder work:
- Finished debugging multiply-free backend
- Reworked the API to be geared towards things that are efficient with the new backend
- Converted all existing code to use the new API (may need review from jmspeex for whatever I screwed up in his code).
+ Completely failed to finish new DCT factorizations or spend any time on SPIHT-like coder.
+ Frequency domain intra prediction:
- Ran an experiment using real DCT in SATD calculations in init_intra_maps and unsetting APPLY_PREFILTER in init_intra_xform (this should give an apples-to-apples comparison of trained freq. domain prediction vs. ad-hoc spatial domain prediction). Results on subset1:
* init_intra_maps (VP8 spatial predictors): Average SATD: 137.276
* init_intra_xform (trained freq. domain predictors, 10 rounds of K-means): Average SATD: 59.7614
Greg:
+ Found entropy coder bugs while starting to integrate stuff. Fixed those, but didn't accomplish anything else useful.
+ Instead, messed around with JM's intra coding stuff. Found that the RDO didn't in fact break the training, though it worked better with some tweaks which JM integrated and are now commited.
+ Setup some CI debugging framework, including clang static analysis. Fixed some inconsequential problems that it reported, added some asserts to help it out.
+ Still find the noiselessness of the optimal RDOed modes surprising but can't disprove it.
Nathan:
+ Fixed export code for block data in init_intra_xform.c (small fix)
+ Wrote Java code to generate intra coefficients
- Can load multiple exported files and train on them
- Using L-2 norm to find coefficients (need to try L-1, may be better for PVQ)
- Currently using RMSE to drop coefficients one at a time, ask Tim about using CG
e=y-x*B;
rms=sqrt(sum(diag((e'*e)))/(n*m));
http://jmvalin.ca/video/intra_error.pdf
JM:
+ Intra prediction RDO training
- Simple 3-neighbour model
- Down to ~1.5 bit per block
- Played with a bunch of crappy ways to combine "incompatible" conditional probabilities
2. Next steps
Tim: Same as last week:
+ Finish new DCT factorizations
- This should unblock looking at larger transform sizes and block size switching
+ Complete SPIHT-like coder (so we can compare with PVQ coefficient coders)
Greg: Do what was supposted to do last week
+ Commit complete/working intra coder
JM:
+ Write on-line RDO intra selection
+ Clean up PVQ quantization code a bit
+ PVQ RDO?
Nathan:
+ Still need to run the 16x32rd on kindle01
+ Update the intra coefficient code (Java) to export map and image data for modes
+ Add CG instead of RMSE for determinig which coefficients to drop (error metric)
+ Consider using weights
+ Add block mode reclassification and use K-means to find sparse coefficients
Next meeting: 6 July 2012 12:00 PM PDT (3:00 PM EDT).
Name yourselves please.
-- dump of https://daala.etherpad.mozilla.org/weekly on 20120629.