Gary DemosLossless Residual System, 24Feb Lossless Layered Residual System Gary Demos HPA 24Feb2006 Palm Springs, CA
Gary DemosLossless Residual System, 24Feb Features Arbitrary Precision Direct Support of Integers of Arbitrary Precision (8bits up to 16 bits tested) Floating via Direct Lossless Layered Support of OpenExr 16-bit Half-Float Wide Dynamic Range Half-Float Integrated With Floating-Point Layered Codec (as presented Oct 2004 SMPTE Pasadena)
Gary DemosLossless Residual System, 24Feb Use of Bins Uses Bins Like the OpenExr 16-bit Half-Float “Piz” Compressor Bin List Is Sorted, and Contains All Pixel Values From Original Image Bins Can Contain Integers or Floating-Point of Arbitrary Precision Floating Point Values Can Have Any Arbitrary Dynamic Range Negative Values Are Fully Supported Currently Optimized For Integers from 8 to 16 bits, and 16-bit Half-Float Bins Are Referenced Solely By Integer Index (“Bin Number”) Unused Codes In Wide Range Representations (e.g. 16-bit Half-Float) Automatically Eliminated From Bin List
Gary DemosLossless Residual System, 24Feb Lossy Codec Floating Value Bin List Nearest Bin Desired (Lossless) Bin Integer Bin Delta
Gary DemosLossless Residual System, 24Feb Floating Lossy Value On A Cusp (nearly equidistant) Floating Point Original Values If on a Cusp, Flag This Pixel’s Primary Indicate Whether to Go Up or Down or Code The Final Bin Directly Only a Small Proportion of Pixels Will Be on a Cusp Solely a Function of Lossy Floating-Point Precision (e.g. 32-bit Floating) Necessary Because of Processor and Compiler Inconsistencies (e.g. P4 vs G5)
Gary DemosLossless Residual System, 24Feb Noise-Reduced-Driven-Intermediate How To Find A Useful Intermediate Bin On the Way To Lossless? A Proportion Of the Distance And / Or Driven By A Noise-Reduced Original Image Constrain To Range Between Lossy Nearest Bin and Lossless Bin
Gary DemosLossless Residual System, 24Feb Lossy Codec Floating Value Bin List Nearest Bin Desired (Lossless) Bin Two Bin Deltas Noise-Reduced Original Intermediate Bin
Gary DemosLossless Residual System, 24Feb Noise-ReducedOriginalLossy Codec Bin-Delta Intermediate(s) Bin-Delta Lossless (bit exact) Floating Point Integer or Floating Point
Gary DemosLossless Residual System, 24Feb Bin List Subset(s) Reduce Intermediate Bin Deltas By Shifting or Scaling And / Or Create a Subset of the Bin List From The Original More Than One Subset Can Support More Than One Intermediate Subsets Can Be Matched To Noise Floor Or Can Take Ever-Deeper “Bites” Out of the Noise Floor Values Can Be Added To Subset (If Not Present In Original) For Useful Step(s)
Gary DemosLossless Residual System, 24Feb Floating Point Bin List Subset For Intermediate(s):
Gary DemosLossless Residual System, 24Feb Integer Bin List Subset For Intermediate(s):
Gary DemosLossless Residual System, 24Feb Results Stem MMR4 4096x bit RGB packed within 16-bit Tiff16 (Film) Patuxent River Air Ops 10bit Viper Filmstream to 16-bit Half-Float Garden Music 10-bit Viper Filmstream to 8-bit DPX (8bit in 10bit) Sphere 4096 x bit RGB as Tiff16 (noiseless CGI)
Gary DemosLossless Residual System, 24Feb Stem MMR4:
Gary DemosLossless Residual System, 24Feb PaxRiver performance of OpenExr “piz” and gzip of “piz”:
Gary DemosLossless Residual System, 24Feb PaxRiver 1920 x bit Filmstream color adjusted using conversion to linear with rgb scale factors into OpenExr 16-bit half-float:
Gary DemosLossless Residual System, 24Feb Garden Music (8-bit) Comparison with gzip:
Gary DemosLossless Residual System, 24Feb Garden Music (8-bit):
Gary DemosLossless Residual System, 24Feb Sphere Test Dataset (16-bit):
Gary DemosLossless Residual System, 24Feb Sphere Test Dataset (8-bit):
Gary DemosLossless Residual System, 24Feb Realtime Software Decoder (Quad G5):
Gary DemosLossless Residual System, 24Feb Conclusions: Lossless bin-delta-style residual can be integraded with floating-point wavelet-style codec Efficiency is good, rivalling or exceeding other lossless codecs Supports arbitrarily wide dynamic range (including negative numbers) Noise-reduction integrated with codec, including integration with lossless bin-delta system Noise-reduced-driven intermediate layer forms a highly useful (perhaps optimal) step on the way to the lossless original Intermediates can be as finely layered as desired
Gary DemosLossless Residual System, 24Feb Contact SMPTE or see me if you don’t have a copy of my October 2004 Pasadena SMPTE codec paper and would like one Questions?