I'm not a codec guy. I don't know the ins and outs of codecs the way engineers do. All I want to know is how how true to the original image the resulting file is when I use a codec, how much space I'm saving, and how much processing power it takes to compress and display it.
I just received Final Cut Studio 2 – quite an impressive package. Among the new features is the ProRes 422 video codec. It comes in two flavors – regular and HQ, and boasts file sizes 20% of uncompressed HD. Sounds a lot like Avid's DNxHD codecs.
So I came up with a little test. I generated six QuickTime video files in Adobe After Effects (neutral territory.) The test pattern was simple enough – an animated blue to white gradient background with a noise filter added to the lower half and a 16:9 box in the center with a waving silky texture. You can download the After Effects CS3 project that I used.
As a control, I used Apple's Uncompressed 10-bit 4:2:2 codec. I rendered the animation to the ProRes 422 (HQ), ProRes 422, Avid DNxHD 175, Avid DNxHD 115, and Avid DNxHD 36 codecs. (Note: The DNxHD flavors are specific to 1080/24p format video. The 30i versions would be DNxHD 220 and 145.)
After re-importing the results in After Effects, I placed each file in a composition along with the Uncompressed 10-bit 4:2:2 version and used the Difference transfer mode to illustrate where the compressed image varied from the uncompressed. The results were quite surprising.
The DNxHD 175 file's difference from the uncompressed was barely visible to the naked eye, but the ProRes 422 (HQ) codec showed significant differences. In fact, in my test, the DNxHD 115 codec also outperformed the ProRes (HQ).
The images below are scaled JPEGs, but they are fair representations of the files rendered in After Effects. The first image is a still frame from the fully rendered animation out of After Effects. Below it are the comparison images' difference mattes against the uncompressed animation.
Added 5/30/07:
Thanks to everyone for the comments and suggestions., especially Graeme Natress.
Inspired, I ran the following test. AJA Kona 3 uncompressed 1080i. Transcoded it to ProRes 422 (HQ) through compressor. Imported the ProRes material back into the FCP 6 project. Placed in a timeline on top of the orignal mater, changed the composite mode to Difference and <drum roll> … the frame was virtually black.
Using the ProRes 422 (HQ) codec as intended… it delivers as promised and a bit better than expected.
Have not had the time to test the Avid codecs under similar conditions within an Avid system, but there's no reason to suspect DNxHD won't perform as well in that test as it did in the more informal test.
Further, I have been able to determine that most of the difference spotted in the Difference mode tests in After Effects was due to some sort of a gamma shift.
The Avid codecs allow you to select the color space (709 or RGB) and I believe that is why the RGB-YUV conversions are apparently handled better by the Avid codecs. (Something to keep in mind when embarking on projects that may require material to meander into the RGB space.)
The big surprise for me was the performance of Avid's DNxHD 36 codec. 3.5% of the original file size… and look at how amazing it did. (Since it's a progressive-only codec, I couldn't run it on my second set of tests.)
I'll give Graeme's red on black test a try sometime in the future.
For the record: 4:4:4 filtering was on in all applicable ProRes renders.
Uncompressed file size 15 sec. animation: 1.61 GB.
DNxHD 175 file size 15 sec. animation: 273 MB.
ProRes 422 (HQ) file size 15 sec. animation: 262.1 MB.
DNxHD 115 file size 15 sec. animation: 180.4 MB.
ProRes 422 file size 15 sec. animation: 178.8 MB.
DNxHD 175 file size 15 sec. animation: 56.1 MB.
This test is not meant to be the definitive codec comparison. It's meant as a conversation starter. I only tested using one computer generated file. To the naked eye, all codecs delivered exceptionally well, but the difference mode comparisons show that the Avid codecs were truer to the original image. I'd love to hear from others testing different file types.
Did you enjoy this article? Sign up to receive the StudioDaily Fix eletter containing the latest stories, including news, videos, interviews, reviews and more.
Awesome! Thanks for the comparison work. I’m using a SoundDevices Pixe240 recording 1080i and wanted to know the better codec to go with. I have been using Apple’s ProRes, however, want to keep the footage as compatible and clean as possible. All things considered, I will be recording DNxHD from this point forth.
There doesn’t seem to be any fine detail in your test footage — apart from the noise part, presumably. Now note that the noise area is bright (i.e., shows a great difference) in the DNxHD footage. This strongly suggests that the image is getting softened as a side-effect of the compression; softening a soft wavy image or a solid color bar isn’t going to create much of a difference.
Conversely, I can see the wavy texture in the difference file for the ProRes codecs. If I saw a horrible blocky pattern, I would be concerned — but subtracting a very dim wavy texture from another wavy texture just gives you a marginally different coloured wavy texture, hardly a worse outcome than softer footage.
Overall, this comparison should be taken with a grain of salt, as you said. Try converting a sound recording to MP3 at a very high quality, and then subtracting the original sound away. You’ll get a lot of residual noise. Is this because the compression is bad? No — it’s because the human ear is very insensitive to the phase of signals, so the MP3 codec throws this away.
This test is similarly flawed — consider if one codec was specially contrived to perform well in this test (an easy task and a naive trap to fall into as a codec designer), and a second was specifically designed to only throw away that which is invisible to the human senses. Then the former would win this test, and the latter would look better (indeed, perfect) to humans. What are we aiming for in the end?