PJPEG Rendering Test: Percentage Difference Masks

I was doing what I was told, and wondered. Now I no longer wonder. At least I won’t wonder about this until another bit of information comes along to cast that bit of doubt that will have me seeking another level of learning, which is where I’m at usually on one point or another. But we’ll build this castle one stone at a time, OK?

Disclaimer: I may well expose a lack of understanding or incomplete knowledge in this article. Should you detect that I am doing so, and have a moment, I’d appreciate a heads-up! If you are here because you, too are seeking knowledge, then understand that you should back up anything you think you learn from this article by doing your own research.

They said that rendering with the PJPEG codec in a .mov wrapper was the way to go. OK. That’s the “industry standard” as it were. Who am I to complain? I didn’t then, and still don’t now, know enough to argue the point, although with some new information, I am beginning to get suspicious. But that is not for this post. At any rate, for best results (quality/filesize considerations) they told me to render out at a quality level of at least 75% but no point in going up over 90%, at least not by much, certainly not 100%, as the resultant files get bigger, and you can’t see a difference in results.

Today I did a test. I rendered the same clip 4 times, and compared the results with each other, and with the original prior to rendering, using difference masking. Difference masking allows one to see the difference between two (or more, apparently) frames when situated one over the other on different timeline tracks. A perfect copy will yield either perfect black or perfect grey, depending on who you ask.

In my case it was black, or very nearly so, and the differences were apparent as slightly lighter areas. If I moved one of the clips over by a frame, or more, these differences became much more pronounced. It was intriguing that one could move them a LOT and end up with some really strange and interesting effects.

The bottom line is that I am going to continue rendering my PJPEG files at 88.5%. The test I performed was at 8 bits – I did not bother with the 32-bit renders. I could not discern a difference worth worrying about as far as the time to render the file, and while I could see the difference between the 75.4% render and the 86.8%, it was very slight. One had to REALLY look at the masks. The biggest difference was the file sizes, and being that the differences were negligible, I will stay at 88.5%.

It is said that at 100%, the resulting clip is a RGB 4:4:4, in other words, NOT subjected to “chroma subsampling”, that is, all the color information is there, whereas lesser percentages result in chroma subsampling, Y’CrBr 4:2:2 files. You’ll have to read up on this yourself if you are not conversant…..this is a big topic.

It may well be that a clip subjected to chroma subsampling will be more difficult to color correct, and will degrade more quickly in situations with multiple generations of heavy effects, compositing, etc. In these situations, you would want something as close to the source as possible, and in your workflow, you would want to render multiple stages uncompressed, or at least into an advanced intermediate codec such as Avid’s DNxHD, Cineform, or Apple ProRes. These codecs have several different “flavors” being choices between bit rates; usually the higher (or highest) available bit rates of each are 4:4:4, and the lesser are 4:2:2.

Being that my camera shoots HDV, a 25Mb/s 4:2:0, transcoding or rendering up to to 4:2:2 is sufficient for most situations. NOTE: If you are a potential buyer, and you want either the original .m2t file, or a render of an existing clip at uncompressed or at a higher bit rate or different codec than PJPEG, drop me a line.

Transcoding to a less compressed intermediate codec DOES NOT add information, or make the picture any prettier, or more colorful. The purpose for doing such a transcoding or recording in a better codec with higher bit rate is to preserve the information that is already there, and for longer. This gives you more room to work. In some experimental situations where I have color-graded HDV clips, rendered to PJPEG .mov, and then done further work with the resultant files, I have noticed increased latitude in the ability to mess with the colors, the contrast, brightness, and anything else that affects the “look” of the clip.

All this will change for me soon, as the PIX 220 will be arriving next week, but that’s yet another story. I’m sure there will be a lot of interesting caveats and learning. For one thing, I’ve recently begun to understand why when speaking of different bit rates, different codecs are more efficient and others not, so it depends on how you are using the numbers! Right. Let’s get back to our test, shall we?

This was a 21-second clip of snowy meadow and bright blue sky with gradients lightening to a brilliant sun as the camera panned. Significant color correction was applied. I’m working on my laptop since my Puget machine is in for servicing, so the render times are considerable.

Here are the numbers I’ve gleaned from the render test:

75.4% 48 min. 48 sec. 254 MB
86.8% 44 min. 36 sec. 297 MB
93.4% 46 min. 41 sec. 337 MB
100% 48 min. 41 sec. 368 MB

This isn’t very suffisticaded, but for these stills, which are full-rez, I recommend opening each in its own tab so you can click between them and see the differences without delay. Feel free to download them to do your own tests.

Here is the original clip, with processing plugins, but not rendered: OG Snowfield Clip

Here is the “worst” of them all, the 75% render: 75% Snowfield Render

Here is the 86.8% render: 86.8% Snowfield Render

Here is the 93.4% render: 93.4% Snowfield Render

Here is the 100% render: 100% Snowfield Render

Just to keep things from getting TOO tedious, there are only three or four more frame grabs, where if I was really going to do this fully, there would be many more iterations….and I think what I’ve shown here is that as far as the percentage choices go, given the tradeoff between perceived and real quality and file size, existing faults that won’t go away due to the PJPEG codec itself and the 4:2:0 HDV source, the 88.5% Quality setting is just fine for general stock work.

Here is the result of the difference mask between the 100% render and the 75.4% render: Difference Snowfield 100-75%

Fascinating, isn’t it?

Here is the difference between 86.8% render and the original before render: Difference Snowfield 86.8

Here is the difference between 100% and original: Oops…nevermind….not worth it!!

I could do all the other combinations, but it’s tedious, and I don’t see the need.

See a lot of difference? Neither do I. I might be doing something wrong, but here, wait, before you get bored and go away, this “proves” that if there is a difference between renders, you’ll see it with this technique.

Difference between 100% render on one track, duplicated, compared against the same clip, but with contrast increased to 0.10 on one of them:
Snowfield Difference 100/100 + contrast 0.10

And finally, for fun, here is the result of the 100% render, one on each track, no contrast difference, with an offset of 3 frames.
Snowfield 100%/100% offset by 3 frames

And finally again, a crazy offset of 15 seconds or so: Wierdness

OK….I think I’m done. Let me know if I screwed something up, and I’ll get onto finding something else to do that is exciting and wonderful.