Monthly Archives: October 2017

I’ve been asked to explain how it is possible that by moving our entire infrastructure to 10 bit color could possibly deliver both better quality images and give us more efficient (ie smaller) streams. We have been overhauling our delivery of 4K streams in an upcoming release of our engine and have moved the entire process to 10 bit. This not only allows us to provide a real time delivery of HDR10 streams, but also for SDR displays gives us better quality with smaller streams, saving delivery costs.

Initially when you think about adding more bits per pixel it makes sense that you get better image quality, but getting better efficiency doesn’t seem to make sense, and I’ve been asked “how is this possible”. By moving the entire workflow to 10 bit, we are able to compress with less errors. To deliver the best quality video possible, you want to have as few “errors” in the encoded version when comparing it to the original uncompressed version. The process by which an encoder reduces the file size is called quantization . Comparing the original image to the resultant image in compression there can be a difference of pixels , however that difference is unaffected by the depth of those pixels.

During the encoding process, a 10 bit image has roughly 20% more data to be compressed. During the hardest parts of encoding where there is high speed movement or large blocks of the screen ar changed, the higher bit rate allows for higher accuracy in recreating the original image thereby giving a better quality result. Since we have to encode at the same target bit rates, whether 8 bit or 10 bit, you end up with a better image at the same bit rates. This is mostly due to the underlying math that generates less errors in 10 bit than in 8 bit.

Given that our mastering process starts with an uncompressed 16 bit image of every frame, we can revisit the original master and rework it through the process using 10 bit target files instead of 8 bit for all displays, whether SDR or HDR and continue to improve the library. This is especially going to be noticed on SDR displays where banding shows up in the lower bit rates.