|
|
> When last I looked, encoding to MPEG1 basically involves taking the DCT of
> each frame, in the style of JPEG. There's also some fun with different
> frame types. It looked to me like there's basically only one possible
> bitstream you can produce. (Well, no, you can fiddle with the
> quantinisation matrix, and if you're doing variable bitrate there are some
> possibilities.)
It's not surprising that mpeg2 and 4 are much more complex than this. The
key concept is how to describe the current frame fairly accurately with the
minimum amount of data, given some data from previous (and in some cases
future) frames. Commonly motion is detected, as often blocks of pixels
hardly change, but are shifted in space from one frame to the next. So you
could say that the whole frame is a copy of the previous frame, but with
some region from 5 frames ago shifted right 23 pixels, and then with some
additional data and pixel changes. Obviously then there is more than one
possible bitstream depending on how good your motion detection code is,
which frames you reference, what tolerance you use for detecting motion, etc
etc. And of course at some point you need to consider the CPU power needed
to encode the video.
Post a reply to this message
|
|