Log in

View Full Version : is there a one pass VBR encoding mode?


alanshum
26th April 2002, 08:46
I have found this document about one pass VBR encoding mode which seems beneficial to real time encoding.

http://researchweb.watson.ibm.com/journal/rd/434/mohsenian.html

Is there any similar one pass VBR encoding mode right now?

If there isn't, will the development team consider this for a future enhancement?

Thanks for your attention.

Alan

Koepi
26th April 2002, 09:52
As they mention constant quality vs. constant bitrate I'm quite sure the fixed quantizer or quality mode is that what you're looking for.

Haven't read through all the paper though, maybe they really offer an adaptive algorithm.

alanshum
26th April 2002, 10:36
quote from introduction and conclusion of the paper:
"The second part of the paper describes the real-time generation of video streams with a variable-bit-rate (VBR) encoder. ... a robust single-pass VBR video encoder algorithm which is capable of learning and adapting itself to the complexity of image segments and thereafter creating streams which have constant visual picture quality. "
"This performance can further be improved by creating a VBR bitstream. We have taken advantage of both statistical and perceptual rate-quantization models to estimate the variability of the video sequence, thereby economizing the available bit budget in a single-pass encoding scenario. This is achieved by not wasting bits in the simple video segments while allocating more bits to areas where the penalty for quality degradation is greater. "

Although I feel difficult to understand the paper content, but I believe their proposal is something different from the existing 1 pass quality/quantizer implementation. :rolleyes:

Hope this will be interested to all of you.

Alan.

rui
26th April 2002, 10:42
Correct me if i am wrong, but i always thought that the CBR option that xvid has, was in reality some sort of VBR 1 pass. (i never used it, i always use 2-pass encoding)
I mean, i thought that we would choose an average bitrate and xvid would try to stick with it, but giving more bitrate to more demanding scenes and less to less demanding scenes. Koepi's pdf about xvid even says so.

Is CBR, like it's name says, a fixed bitrate for every type os scene?

Divx5 1 pass encoding is some sort of VBR, right? At least in divx4 times i think it was.

unplugged
26th April 2002, 10:50
Real VBR with XviD is quality mode. (not quantize mode)
Other divx encoders lacks this.

And if we want to describe another thing, lumafix (or psychovisual enhancements) is the "same" as ATH technic works with LAME MP3 encoder (absolute threshold of hearing) :).

Koepi
26th April 2002, 11:09
I'm still reading the paper, and it has some interesting concepts, but if you'd look up the table with the PSNRs you'd see that the gain is max. 0.5dB.

So we should look for other, more efficient approaches first (and they get implemented, believe me) before squeezing out the last 0.1% of signal gain... :)

-h
26th April 2002, 14:13
The paper is too long for me to read now, but I imagine the general thrust is to "emulate" what our current 2-pass system does - assign low quantizers to small frames and high quantizers to large frames. Much like the quality/quantizer modes, only more compression is applied to scenes that we won't notice it in.

Perhaps not a bad idea.. quality mode could be adapted to perform this new behaviour, increasing the quantizer to a maximum of say twice the stream's base quantizer (so a 100% quality encode {quant=2} could assign a max of quant=4 to a high motion sequence).

-h

Koepi
26th April 2002, 14:25
It's indeed interesting, but it would require much work to implement - until now we do just a simple rate-control, those algorithms described there need information about the MBs etc...

Dunno if someone would make these very huge changes...

ProfDrMorph
27th April 2002, 13:40
I think in this forum is a BIG misunderstanding about how the currently availible MPEG4 Codecs work ( DivX & XviD ).

Real VBR with XviD is quality mode. (not quantize mode)
Other divx encoders lacks this.

BOTH (DivX+XviD) ONLY use VBR bitstreams. Indeed what's called CBR in those codecs ( haven't looked @ DivX4/5 for a long time so I don't know if they still have something called CBR mode ) is simply a VBR bitstreams and the codec tries to average the bitrate near to what the user specified. Even the old DivX3.11 does that.

VBR just means that the bitrate is variable depending on the complexity of the scene that is encoded. Since we only have VBR codecs we already have an implementation of 1-pass VBR in all the codecs we use most of the time ( DivX3/4/5 and XviD ). I haven't read the paper ( only the beginning ) but I think the only thing it describes is a specific VBR implementation.

Quality/Quantizer IS some kind of 1-pass VBR -> the idea of both modes is to offer "constant" quality. Since frames compress differently well based on their content the bitstream will be a VBR bitstream since you NEVER have frames with a constant complexity from the encoders point of view.

MfA
30th April 2002, 09:35
The IBM researchers dont agree with your definition. Leaky bucket encoding generates a constant bitrate from a global perspective, and thats all anyone really cares about.

-h
30th April 2002, 10:48
It would be possible to force XviD to produce a constant bit rate, with perhaps a 2 or 3 frame lag between meeting new scene complexity, with the current rate control system. You'd have to ask Foxer.

Why anyone would want to is a bit beyond me though, most feasible streaming solutions force the decoder to buffer x frames ahead of time, precisely because such bitrate constraints would look painful.

-h