quantize 16-bit PNG or TIFF to 10-bit, 12-bit, or 14-bit PNG to save space on an IS?
I had an idea the other day&*8230;
So, let's say we have all these 16-bit TIFFs for an Image / Frame Sequence, but we know that this is the final master, color grading is done, and so anything over 10, 12, or 14 bits will be a waste of space, right? So why not have an option to quantize those final 16-bit-per channel (48-bit RGB) mastered images to 10-bit (30-bit RGB, 1024 levels per channel), 12-bit (36-bit RGB, 4096 levels per channel), or 14-bit (42-bit RGB, 16384&*8236; levels per channel) before converting to 16-bit PNG? That way the color quantize is already done, we get to store a lossless backup in the smallest space possible since PNG will only store the actual bit depth in a 16-bit PNG image (or at least from my tests in Photoshop that is indeed what seems to happen), and when newer video compression schemes come out you have a lossless-but-highly-compressed source.
I used ximagic on a TIFF file from an image sequence, used kMeans quantization to 8-bit (24-bit RGB, 256 levels per channel), 10-bit (30-bit RGB, 1024 levels per channel), and 12-bit (36-bit RGB, 4096 levels per channel)
kMeans for Color Quantization: [url]https://lmcaraig.com/color-quantization-using-k-means[/url]
Results with file size are shown below. I used LZW compression on the TIFF files and Mixed Prediction Method on the PNG files.
Per one frame
[table="width: 500, class: grid"]
[tr]
[td]Filetype[/td]
[td]8-bit result (KB)[/td]
[td]10-bit result (KB)[/td]
[td]12-bit result (KB)[/td]
[td]16-bit result (KB)[/td]
[/tr]
[tr]
[td]TIFF [1080p][/td]
[td]2,533[/td]
[td]3,807[/td]
[td]4,556[/td]
[td]10,613[/td]
[/tr]
[tr]
[td]PNG [1080p][/td]
[td]2,202[/td]
[td]3,002[/td]
[td]3,352[/td]
[td]8,166[/td]
[/tr]
[tr]
[td]TIFF [2160p][/td]
[td]8,431[/td]
[td]13,301[/td]
[td]16,388[/td]
[td]45,853[/td]
[/tr]
[tr]
[td]PNG [2160p][/td]
[td]4,519[/td]
[td]7,344[/td]
[td]9,014[/td]
[td]27,550[/td]
[/tr]
[/table]
Based on size differences and current folder of Frame Sequence Images
[table="width: 500, class: grid"]
[tr]
[td]Sequence Type[/td]
[td]8-bit archive (TB)[/td]
[td]10-bit archive (TB)[/td]
[td]12-bit archive (TB)[/td]
[td]16-bit archive (TB)[/td]
[/tr]
[tr]
[td]TIFF - HD[/td]
[td]0.34[/td]
[td]0.52[/td]
[td]0.62[/td]
[td]1.44[/td]
[/tr]
[tr]
[td]PNG - HD[/td]
[td]0.3[/td]
[td]0.41[/td]
[td]0.46[/td]
[td]1.11[/td]
[/tr]
[tr]
[td]TIFF - HD @ 60fps[/td]
[td]0.86[/td]
[td]1.29[/td]
[td]1.55[/td]
[td]3.61[/td]
[/tr]
[tr]
[td]PNG - HD @ 60fps[/td]
[td]0.75[/td]
[td]1.02[/td]
[td]1.14[/td]
[td]2.78[/td]
[/tr]
[tr]
[td]TIFF - 4K[/td]
[td]1.15[/td]
[td]1.81[/td]
[td]2.23[/td]
[td]6.23[/td]
[/tr]
[tr]
[td]PNG - 4K[/td]
[td]0.62[/td]
[td]1[/td]
[td]1.23[/td]
[td]3.74[/td]
[/tr]
[tr]
[td]TIFF - 4K @ 60fps[/td]
[td]2.86[/td]
[td]4.52[/td]
[td]5.57[/td]
[td]15.58[/td]
[/tr]
[tr]
[td]PNG - 4K @ 60fps[/td]
[td]1.53[/td]
[td]2.5[/td]
[td]3.06[/td]
[td]9.36[/td]
[/tr]
[/table]
Per average of the total folder size of all rendered frames. For 12-bit video you are talking cutting your archive of the original frames by 2/3
Is this a solid idea or am I way off base?
[SIZE=1]
[I]P.S. Image converter does not seem to be optimized to handle large sets of images such as these. When I clicked on the folder to select all the images, dBpoweramp Image Converter starting using the hard drive for about 5 hours before I finally ended the process and split things up into smaller batches[/I][/SIZE]