[FFmpeg-devel] Scalable Video Encoding and FGS

Loren Merritt lorenm
Mon Oct 22 04:14:43 CEST 2007


On Fri, 19 Oct 2007, Erik van Zijst wrote:
> Loren Merritt wrote:
>> On Fri, 19 Oct 2007, Erik van Zijst wrote:
>>> In MPEG1 b-frames are roughly 70 times smaller than i-frames [1], so
>>> cutting the bitrate in half, requires removal of 70 b-frames per i-frame
>>> (sure, these figures old and mpeg1-specific, but what matters is the
>>> concept).
>>>
>>> [1]
>>> "The typical data rate of an I-frame is 1 bit per pixel while that of a
>>> P-frame is 0.1 bit per pixel and for a B-frame, 0.015 bit per pixel." --
>>> http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_overview.html
>>
>> That't a factor of 7, not 70. And What matters is the ration between I+P
>> and B framse, not just I and B.
>
> It's 1 bit/pixel (I) versus 0.015 b/p (B), which is almost a factor 70
> (assuming Berkeley's figures are correct). I versus P is 10-fold, so
> lowering the bitrate requires dropping a substantial number of predicted
> frames.

Sorry, I misread your numbers.

> If these ratios are still somewhat representative for current codecs
> (not sure if they are!), dropping all predicted frames in a
> 30-frame-per-GOP stream may not even half the bitrate..

Typical in x264 is a ratio of 2.5 to 3 between I and P, and another 2.5 to 
3 between P and B. This includes the fact that I-frames get reduced 
quantizer and B-frames get increased quantizer; without any quantizer 
differences the bitrate ratios would be even smaller.
For maximum scalability, assume non-adaptive 3 consecutive B-frames with 
pyramid. And I'll keep your keyint=30.
Then by frame count it's 4% I, 23% P, 73% B.
By size it's 18% I, 38% P, 44% B.

I don't encode mpeg1 often enough to know what's typical. But on the one 
movie I just tried, lavc-mpeg1 produced similar ratios to x264. So I don't 
know where your link got their numbers. Maybe not just compression formats 
but encoder techniques have changed drastically in the 15 years since that 
was written? Or maybe they just used non-movie content?

--Loren Merritt




More information about the ffmpeg-devel mailing list