Log in

View Full Version : Current transcoders and how they work


Yannis
6th August 2003, 01:38
The algorithm specifics of the Encoders (TMPGEnc, CCE, etc.) are well known and can be easily found.

However, the "redundant" data Trancoders remove, is subject to a much higher degree of freedom by their developer(s). The way IC, dvd2one, dvdshrink, Nero, etc remove or alter the quantized frequency domain coefficients of the DCT is less known to most of us. More than that, it would be useful to know the differences between the available Transcoders. For instance, the only thing I know (from previous posts here) is that IC7 removes data at a variable rate unlike other Trancoders (thus, slower and (perhaps!) better). Also, it processes more the darker scenes.

I recommend that anybody who knows anything about the algorithms/heuristics of the available Trancoders should post here. If we gather enough information some moderator can compile the info later to a sticky thread.

What do you think?

P.S. since only dvdshrink is freeware, i guess that would (possibly) be the only one to find enough information... I am not sure how detailed information we can find about the others. Perhaps, somebody from here who works there (and does infringe any confidentiality agreements :D :D )

dragongodz
6th August 2003, 05:19
you can get an idea of what they do by a bit of reading. try these

_http://www.acm.org/sigs/sigmm/MM2000/ep/bjork/
_http://vsp.ee.nthu.edu.tw/EE6650/handout/transcoding.pdf
_http://www.mclab.net/internal/intro_to_transcoding.ppt
_http://www.ecse.rpi.edu/CNGV/publications/2000_TR/icme_WW.pdf

i should warn that if you dont understand what encoding is or if you dont know what a GOP is then those are more likly to confuse you than enlighten. :)

duartix
6th August 2003, 15:51
I believe all trancoders are leaving MV (motion vector) data untouched. All the magic is done by working in the remaining coefficient data (DCT).

I can tell you how DVDShrink 2.3 is working:
It takes the compression ratio you define (ex: 70%) and then when it picks a frame it reduces the DCT data until the entire frame comes down to 70% of it's original size.
If there is a lot of DCT data in the frame, perhaps it will reduce the DCT something like 35% (there isn't just DCT data in the frame, so it must reduce more than 30%).
If there is a lot of MV data in the frame, it may have to reduce the DCT something like 80% to achieve the same final frame compression.

This explains the blockfest that is the first scene of "Amores Perros" where the camera isn't still for 1/10th of a second.
This is why I have suggested DVDShrink to perform a deeper analysis in order to use a fixed rate DCT compression which I hope will help achieve a fixed quality.

All of this can be confirmed by reading this (http://forum.digital-digest.com/showthread.php?s=&threadid=21475&perpage=15&pagenumber=1) post.

I'm sure InstantCopy (IC) is another story altogether. If you have followed that post you already know that IC doesn't use a fixed rate transcoding algorithm. Besides some heavy duty diference coding/recoding compensation, I'm sure it uses lumimasking techniques. Perhaps that is inherent to their diference coding, I don't know. What I know is that in a dark scene from that movie, where DS is wasting about 3.5 Mb/s, IC takes about 1.5 Mb/s with no quality loss whatsoever.

Here is a quote from a Pinnacle employee on how IC works:
Well, basically MPEG Video is encoded in groups of pictures called GOPs. In every GOP is a reference frame followed by several difference frames. While the reference frame is encoded as a full picture the difference frames contain only the differences to the “last” frame. While encoding every frame is “quantitized” – this means that small, almost unnoticeable differences in the signal are removed. Both InstantCopy and competing programs change the quantization process. However, InstantCopy is the only program that takes the changes done into account for the following frames. This means that additionally to the “quantization” the whole frames needs to be decoded two times and encoded one time which is indeed very time consuming. However, if you only do the quantization the picture quality gets worse with every frame until the next reference frame is decoded – which is the famous annoying “pumping”.
Here it is how IC works "translated" by DVDShrink:The error correction is done by (simplified description)
1. decode the original frame
2. requantize (shrink) the original frame
3. decode the requantized frame
4. calculate the difference between the two decoded frames
5. add/subtract this difference to the next frame
6. loop for each frame in movie.

For an automatic translation of IC's technicalities from german, go here (http://translate.google.com/translate?u=http%3A%2F%2Fwww.videoxone.net%2Fmb1%2Finstantcopy7%2Finstant.htm&langpair=de%7Cen&hl=en&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools), and keep following the last link of each page. It's scary stuff! :scared:

Yannis
7th August 2003, 01:31
Good posts!! thanks :)

@ dragongodz
good value general articles about transcoding; cheers (3rd one does not work though)

@ duartix
great info which provides good insight to the numerous :D debates about quality between products such as DS & IC. thanks

let's see if others know anything about the other products

dvdshrink
17th June 2004, 18:48
I posted some information about DVD Shrink engine and some general stuff about MPEG video here:
http://forum.digital-digest.com/showthread.php?s=&postid=175960#post175960

Please feel free to copy the relevent parts, if you like.

mrbass
18th June 2004, 01:02
thanks I copied just about all of it
I keep it in the sticky
http://forum.doom9.org/showthread.php?&threadid=68883
which links to the FAQ about the Transcoding Technique thread

come on guys ..especially those who reported seeing problems, don't hesitate to offer suggestions how to improve dvdshrink's transcoding engine.