Log in

View Full Version : Opinions wanted on Bach's version of the Robshot method.


markrb
29th January 2003, 05:47
Lately I have been working from the version of the Robshot method that Bach has posted about in the DVD2SVCD forum. Now I may be wrong and this may only refer to SVCD creation, but I get the feeling that it is a general change to the Robshot method.

The following is most of a post from Bach on his method. Since I am now doing DVD's I just would like comments on if this method can be applied to DVD conversions as well as SVCD conversion. He makes a very good case that this method could be better then the standard Robshot method.

@Bach. In posting this I in no way am trying to offend you. I really want to know how your method stacks up against the traditional Robshot method for DVD conversions. As much as we don't see eye to eye on many things I think you are a smart person that should be listened to on matters pertaining to video.

Original thread can be found here:
http://forum.doom9.org/showthread.php?s=&threadid=28939
--------------------------------------------------------------
===> conceptual Errors of robshot method:

1)mpeg2 encoding must use non linear quantisation Scale (nlqS), instead of linear quantisation Scale(lqS). The values (S) of this scale are chosen by the encoder to calculate the most appropriate step quantisation of the coefficients of the discrete cosine transform (DCT), in accordance to the equation

CQ(i, j)=[alpha*C(i, j)]//[(QM(i, j)*S) ],

Where // means that the result of the division is rounded off, CQ(i, j) is the quantized term i,j of the matrix of coefficients of DCT, alpha is a numerical constant, C(i, j) is the term i,j of the matrix of coefficients of DCT and QM(i, j) is the term i,j of the quantisation matrix. When using nlqS, the variation of S is more smooth than that of lqS for S<60, so that the encoder can choose smooth values of S, minimizing the distortions.

2) the value of Q.factor must be smaller than 40. Robshot method (RoM) uses Q.factor=60, a value that is very close to the limit for which we observe distortion. Attention that the Q.factor is an exclusive concept of CCE, directly related with the quantisation, but it does not mean QM nor S, and it is not very clear the way that it is calculated. Based in the results of my tests, I believe that Q.factor is in some way proportional to the average value of the product QM(i, j)*S. Anyway, the Q.factor is the direct measure of the quality to be gotten so that, if two different films are recompressed using the same settings and the same Q.factor, can be guaranteed that they have the same quality.

3) the value of bias must be bigger than 0. If we use bias=0, the great freedom of variation of the bitrate results in the possibility of great distortions in very dark scenes. I recommend to use bias=10. It is interesting to know that this value can be directly modified in the ecl file, so that it is not necessary to wait for the end of the first pass.

4) The average bitrate, used in the second pass, is not necessarily equal to 2000. This is a crucial error. When we choose to make the first step using a fixed Q.factor, we are actually saying to CCE which quality we want to get in our encoding. In exchange, CCE will say us what is the size that the archive must have so that it gets such quality. Thus, the average bitrate used in the second pass must be calculated from the size of the mpv file created in the first pass, using the equation

avr_bitrate=mpv_size*8.192/(movie_time_length*60)

For example, if mpv_size=1,400,000 KB and movie_time_length=100 min, then avr_bitrate=1911 kbps.

5) the value of image quality priority equal to 5 is very small. It should be between 15 and 25. In accordance with CCE manual itself, “When the value is close to 0,the mosquito noise at the edges (noise causing hazy part along the edges,looking like flying mosquitoes)is less outstanding, but the contouring noise (noise which looks like contour line patterns, which appear in flat and wide areas,such as dark background) is more outstanding”.

6) It is totaly unnecessary to open “advanced settings” in order to manually modify the values of global and local bitrates. This stage of RoM can be totally discarded. When we follow instructions 2, 3 and 4, the average quantisation already is in the adequate value and the average allocation of bits already is optimized, so that any attempt of fine adjustments will be only loss of time.
In this point it is necessary to make some commentaries, for those that already usually use RoM and may insist on opening “advanced settings”:
= > the red regions do not correspond to images with distortion. They correspond to completely black parts of the film, that are codified with highest quantisation and very low bitrates;
= > the gray areas, if exists, already have practically the highest allowed bitrate and any attempt of change it to green will result in the creation of a new gray region in GOPs that were previously in green regions;
= > when we follow instructions 2, 3 and 4, it is verified that the value of the average Q.factor of the film is always the same, and it doesn´t matter which was the source film. This can also be verified with the use of BitrateViewer.

One question may appear: You said that it is unnecessary to use “advanced settings”. Does it mean it is unnecessary to make the second pass also?
No. Surely the second pass is necessary. I said that the average allocation of bits already is optimized, but the distribution of these bits inside of each GOP still can and must be optimized, and for this it is necessary to use multipass (it may be 1 or 2 pass). More than two, however, is loss of time and risk of distortion.

---------------------------------------------------------------------

What do you think? Can this method produce better quality video for DVD to DVD conversions? It makes sense to me, but I am no expert.

Thanks,
Mark

bex
29th January 2003, 14:04
Double Post . Doh

bex
29th January 2003, 14:05
I have myself come to the conclusion that the robshot method has its limitations

The Q of 60 is just to big 40 is much better
Having the bitrate to 9800 leaves you open to buffer underflow problems 9000 seems a better amount

As for the advanced bit there is not enough time in my life to do this method add bitrate at one part and you get gray areas in other parts. Set a maximum adv that has as few gray areas as possible and let ccd get on with it

Use Convolution3d to help lower the bitrate if you have the time to spare for those full screen pal dvd's that are quite long (like the office) this is the only way of getting a reasonable picture . You can fiddle around with the advanced settings in CCe all day and it still wonts fit without gray areas

End of random thoughts

Bex:)

waldok
29th January 2003, 17:43
I've been using this Bach method and later ideas with some success for DVDs where the movie itself wouldn't fit on a single DVDR. I used the trock about "SelectRangeEvery" in the AVS script, took a few minutes until I found a good Q value and then start it all over again on the whole movie.
Results were great, end encoding time was interestingly short (1 pass only). Honestly, I found the results as good as my former 2 pass habit and the "precalculation" through the "SelectRangeEvery" allowed me to fit the movie at best quality possible to a given size.

All in all, I'd recommend this method for DVD movies that need some "shrink to fit"...Still, I'd like to compare the results with the ones obtained with DVD2one (1 pass "optimized" encoding vs simple transcoding).

Waldok
:cool:

waldok
30th January 2003, 21:50
Sure am.
Although it is not "exactly" the original Bach method, I can tell this thread was a major discovery for me. People, you have to try this !

Waldok:cool:

Bach : How's Brazil these days ?

waldok
30th January 2003, 23:39
Bach,

Did I ever mention that I hate you ? ;)
Damn, you want a picture of what we have here 365 days a year ?
Imagine a giant shower delivering cold water and you get the picture !

Anyway, this gives me more time to play around with encoding questions and no regrets since there are no beaches near here :D

Waldok:cool: