e no bs D90 mjpeg compression assessment

squig

Veteran
OK so I was suffering from a bout of insomnia last night and I got to thinking about how much compression is really acceptable for my film.

I've been shooting stills and movies with the D90 for a couple of months now and it's been really disturbing me how good the stills look and how less than spectacular the movies look.

So I went about doing some testing. This has been an exhaustive, extensive, purely scientifically based technical study so if I lose you with some of the jargon then bad luck!

The D90 is encoding mjpeg at a variable bitrate of around 8mbps to 24mbps give or take a megabit. So lets say the average bitrate is 15mbps. At that bitrate the individual jpeg frames are about 80k @ 24fps, that's about 1.9 megabytes per second.

I took a still of one of my kids cropped it 1280x720 and started crunching it in photoshop and here's my assessment of the results.

80k 15mbps low 4 quality jpeg......looks like shi*e
100k 19mbps med 5 quality jpeg......looks a bit dodgy
150k 28mbps high 8 quality jpeg......looks ok
200k 38mbps high 9 quality jpeg......looks good
268k 51mbps max 10 quality jpeg....looks very good

So the result is the 15mbps 80k per frame D90 mjpeg compression is unacceptable for a 35mm feature for me. At 150k I could probably live with it. At 268k I'm making the next bladerunner.

Now the question is can the D90 data rate be pushed? I'm not so sure it can be pushed much given that mjpeg is a low processor intensive codec compared to newer mpeg codecs. I can't think why Nikon would have chosen mjpeg (over mpeg given that mpeg can be crunched about 2-3 times as much as jpeg with comparable image quality) if the D90 had the processor power to encode AVHCD for example.

So where does this leave us filmmakers? Well the GH1's AVHCD 17mbps constant bitrate codec will certainly produce cleaner looking frames than the D90's mjpeg codec does, but it remains to be seen whether the panny's sensor can capture frames that look as good as the D90 and whether it has the low light capability with it's smaller sensor. Panasonic really should have pushed the bitrate to 24mbps, I'd feel a lot more confident about it's output quality if they did.

If Nikon can't get it right with a firmware update they should stop peddling the D90 as HD video capable and bring out the D400/800 with a decent encoder/codec and manual control.
 
I'm curious about this as well, D90 tops out at 26 (from my experiments thats as far as I could push it) mbps, we still need twice the data to get to where we want it to be. It'll take a hack to get there and I just wonder if anybody will be up to the task.
 
You say smaller sensor like it's significantly smaller. It's exactly .5x's smaller than the red or d90. And 3x's that of the original scarlet 3k. There isn't even noticeable difference in the two. You did see Barry's statment that the 17mbps bitrate AVCHD will most likely match or best that of xdcam-ex? There's a difference when you're comparing 17mbps mjpeg and 17mbps AVCHD.
 
Last edited:
It's not the bitrate that's the main problem, it's the liveview feed.

The d90 liveview has something like a 640x480 image and just stretches it out. Then when it records it skips every 9 lines causing stair step and then encodes it in mjpeg.


Look at the d300/d3 liveview http://www.dpreview.com/reviews/nikond300/page9.asp It's very sharp! I've used the camera in a store and noticed when zoomed in liveview, it's so sharp and focusing is so great. And the HDMI output is amazing!

Then compare it to the blurry liveview on the d90
http://www.dpreview.com/reviews/nikond90/page10.asp


Eck... might get better results with a d3 slapped to a hdmi tv and recording the output to a hard drive or somethin.
 
No i think the live view is actually full res, when you zoom in you can clearly see when it starts to scale the pixels and it looks nothing like the video recording, but the debayer is very bad and it does indeed scale by dropping lines. I'm not sure a higher bitrate would mean perfect results either. If you encode a still at the same size it looks better doesn't it, even if it doesn't look great? But it would definitely help, and it *definitely* wouldn't hurt.
 
The gh1 sensor is 25% smaller than the d90 and exactly twice the size of the 2/3" scarlet ("four thirds"/(2/3)=2 right?). I'm not quite sure what you mean?
 
So, quick summary without the math:
Four Thirds is 2x as large as Super16, and 3x as large as a 2/3" video sensor.
It's about halfway between 35mm movie film and Super16 movie film. Accordingly, the depth of field should be shallower than Super16 but deeper than 35mm.

It seemed he was comparing crappy 17mb Mjpeg when really it's not all the crappy, to 17mb AVCHD and thinking the AVCHD would yield the same results. Maybe I'm reading it wrong? And that's Barry Green's assessment on sensor size.
 
The sensor size isn't really a major factor but as all things in a male dominated world the bigger the better! There's plenty of good looking small censored camcorders and I expect the scarlet will look pretty good. It's the lousy compression that really bothers me, especially what it does to skin tones. It makes skin look really pasty like the actors have layers of foundation applied or worse. Car3o's footage of the dude in the car is a good example. I'd really like to see some of matt's footage. i just don't know if I want to get really good looking talent and turn them into claymation.
 
laugh, actually, he's a pasty kind of guy. I have something coming at the end of the week and you'll see it's not the camera it's just his skin. And that's what separates us. To me the footage of him in the car showcased rather well. Everybody has difference in opinions, which is I won't try to convince you otherwise.
 
lol 'a pasty kind of guy'

eddy describes it as 'smudginess' in the GH1 thread. I like it and I don't. It would just be nice to be able to manually up the bitrate when required. I could always make it 'smudgy' in post
 
No i think the live view is actually full res, when you zoom in you can clearly see when it starts to scale the pixels and it looks nothing like the video recording, but the debayer is very bad and it does indeed scale by dropping lines.

Dumb question, but what is the debayer? The way it down res's the video?
 
The image from the sensor is a one channel mosaic of red green and blue pixels, a bayer pattern. To get an rgb image you need to interpolate, which can be done well or worse. Color bleeding, soft edges and blurred detail are sure signs that it's been done the quick and dirty way. Ring a bell?
 
So what exactly is the compression ratio for the video mode? Can it shoot:

268k 51mbps max 10 quality jpeg....looks very good

in video mode? Is this the mode that does a maximum of 5 mins per take?

How does the compression compare to lets say HDV Canon XH A1?
 
It is maxed out at 26 mbps, with 5 minute limit, but usually your data rate will be an average of 10-18 mbps, with a higher end of 18-25 if your lucky.

Yes it sucks, but there's workarounds to it.
 
Thanks BMFM, that doesn't exactly answer my question though.

I want to know how the compression compares to the XH A1, or any HDV with 4:2:0.

Will it yield similar results? Which one is better?

would also like to see a sharpness test with the D90
 
Last edited:
the D90 is encoding at a variable bit rat of between 8 and 25 megabits per second. roughly an average of 80k per frame. Personally I think anything under 150k is pretty ugly. Yes 5min at that quality. 268k would be amazing.....maybe in the D800. It won't compare with the XH A1. The compression artifacts are noticeable. The trick is to add noise in post to mask them.
 
Not if you value the power of nikkor primes, wonderful low light performance, superior latitude and a generally pleasing look. But yeah, the compression sucks big time and sharpness isn't great either.
 
Back
Top