One of the most common mistakes we see from clients submitting their films for mastering is the file being sent to us compressed. It happens all the time. And whilst if the compression is very good, the finished DCP may still look ok, it goes against every encoder’s core moral values. This is why.
First let’s define what we mean by compression. Video files are huge and compression makes them smaller. In video land we use a “codec” to “code and decode” compression. Examples of codecs are ProRes, H264, and MPEG2. These all use compression algorithms to make our video files smaller.
Data can be compressed in two ways. Lossy and lossless.
Lossless compression is compression that doesn’t dispose of data, it just stores it in a more efficient way. One example we’re all familiar with is the old faithful zip file. These types of algorithms will examine all the 1s and 0s that make up the data and look for parts it can simplify. For instance, and this is a daft made up example for illustration, it might find all instances of where there are 10 1s in a row and change them to 5 1s in a row. This would make the file much smaller. And then when it’s uncompressed, the decoder knows that 5 1s in a row is really 10 1s in a row so it can put it back to how it was during unzipping. Of course, there are instances in the code where 5 1s in a row really are just 5 1s in a row. And you don’t want the decoder to turn those into 10 1s in a row because that would result in damaged data. This is the challenge that lossless compression algorithms have to overcome using clever mathematics. But they work superbly well. If you create a 90 minute long TIFF image sequence that’s just black frames this will likely weigh in at around 1.5TBs. Try zipping it and it will compress down to a few KBs. A miracle! Because it’s just black it’s very easy for the zip algorithm to simplify it. This is also known in hacking circles as a “zip bomb”. You could email this tiny file to an unwitting victim who, upon trying to decompress it, will end up overwhelming their computer with TBs of useless data, potentially disabling their antivirus.
Lossy compression is more familiar to us in video land. It’s where quality is reduced in order to make a smaller file. For example, if you take a photo and turn it into a JPEG the compression algorithm will find areas in the picture with the least detail such as a patch of clean blue sky. It will turn this patch into a blue square or “tile”. Because a solid blue tile takes up much less data than a square full of thousands of almost identically coloured pixels, we end up with a much smaller file. Done correctly, this type of compression is virtually invisible. A good encoder will know how to balance file size with quality. And smart algorithms will hide the compression in the least noticeable areas.
There is another kind of lossy compression used in video known as motion compression. It examines the video and looks for portions of the picture that don’t change from frame to frame. An extreme example would be a 1 minute static shot of a brick wall. The algorithm will detect that each frame is basically the same and will, essentially, display a single still frame for 1 minute and dispose of everything else, making the file much smaller. A more advanced example would be somebody being interviewed on camera on a locked off tripod. Their head is moving around as they talk, but the background is static. A motion compression algorithm will be able to describe large areas of the background as still tiles, which will take up much less data.
Video codecs such as H264 and MPEG 2 will use a combination of both of these lossy compression methods to make your video files much smaller. They do it extremely well. But, here is the problem. The DCP mastering process involves compressing your source material into JPEG 2000. So, if your source is compressed, we’re compressing it AGAIN! What are the implications of this? As you might have guessed, nothing good.
The first issue is that you simply don’t want H264 or MPEG2 compression on a cinema screen. These are great for Internet playback and TV. But cinema should always be the ultimate quality. On a huge cinema screen, where every detail is magnified, you want as little compression as possible.
Of course, DCPs, as we’ve said, are compressed. But, they are compressed in a way that is “virtually lossless”. Firstly, we don’t do any motion compression. The main reason being that it’s too harsh a compression method to stand up to big screen scrutiny. And it can kill lovely things like grain and noise which we often like to see in films or maybe were put there as a creative decision. Secondly, when mastering DCPs we’re often encoding at around 150Mbps or even as high as 250Mbps. This is such a high bitrate that it means we can make loads and loads of smaller tiles (smaller tiles means more detail) and hide them in the areas where you can’t see them. It’s just enough compression to make the file sizes manageable but not enough compression so that it’s even the tiniest bit noticeable. But, this super high-end virtually lossless compression process is a complete waste of time if your source is already full of low-end lossy compression that will end up being “baked in” to the finished DCP.
And there’s another problem. As the JPEG2000 algorithm studies the picture, it’s looking for areas of little detail that it can simplify. And of course, in an already compressed image full of tiles, there are thousands of them. Remember, the algorithm doesn’t know this image is already compressed, it’s just dutifully going about its business of simplifying the image as best it can. And tiled areas look simple. And when you simplify something that’s already simple, quite simply, it ends up more simple. An area made of 4 tiles might turn into 1 big tile. That means we’ve lost even more detail and we might even end up with a blocky image. Yuck.
So, the simple rule is, don’t send DCP labs compressed video. For the ultimate results, send something uncompressed like a TIFF image sequence. Or, 99.9% as good, there is our friend ProRes. ProRes compression, like DCP compression, is virtually lossless. The results will not technically be as good as working from TIFF. But it’s extremely close. So close you’d have to be superhuman to tell the difference. And the benefits that ProRes brings in terms of speed and file size management often outweigh the imperceptible quality difference.
One final note. Sometimes, our clients send us compressed video and we suggest they submit as ProRes instead for better quality. And what do they do? They convert the H264 or MPEG2 into ProRes therefore make things worse not better! This bakes the lossy compression into the ProRes, adding the ProRes compression on top then adding the DCP compression on top of everything! That really adds up and results in a poor quality picture. If you don’t know anything about compression it’s a reasonable way of solving the problem. You might think “I have H264. They want ProRes. So convert H264 to ProRes. Job done.” But, hopefully knowing a bit more about how compression works, anyone reading this will understand why that’s a bad idea. You must go back to your edit, online or grade and output to ProRes or TIFF from a version of the film in its least tainted state.
Encoders want to deliver your film to cinemas looking its best. We feel a little bit responsible for helping maintain quality standards in cinema. Cinema should always be the ultimate film viewing experience if we’re to compete with video on demand and streaming services. Attention to detail makes a difference. Sometimes we will create a DCP from an H264 because that’s all there is and, it might be a very high quality H264 so it doesn’t look that bad. But we die a little bit inside. It’s a shame delivering something you know could look better with minimal effort and a bit of technical understanding. So here’s hoping more film makers understand about video compression and cinema stays free of overly compressed images.