What's this, you say ? This is my web page. It's not just any web page, because this one is mine. And I'll tell you why...later.
Here, at my place, I deal with my main hobby. Video coding with XviD. XviD is a hobby project started by Isibaar, and many have joined him to try and make this the best MPEG-4 implementation ever. XviD is an MPEG-4 video codec, or at least it's doing it's best to be. How great it will become only time can tell, but it's looking very promising.
I'm going to give short explenations of some phrases and abbriviations that are commenly used around XviD and video coding in general. I'm going to be adding to this list as we go along, so to begin with items will appear in no particular order:
|post-processing||Modifying theh decompressed image to look better. This can be done by deringing or deblocking. Deringing generaly looks sharper, but is more CPU intensive. Deblocking is slightly blurrier, but alot better than no post-processing at all.|
|Interlaced encoding||Images on TV in europe are transmitted at 50 frames-per-second. However, only half the image is transmitted at a time, so there are infact only 25 full resolution frames. The images has a combing effect. This is an interlaced source. To encode it properly, the fields are seperated before encoding and joined back togeather during decoding. This takes less space if you want to keep the interlacing.|
|Quantizer (Quant or Q)||When each image is encoded, it is run through a Quantizer. The higher the Quantizer, the less space the image will take = less quality of the encoded image. A quantizer of 1 has the highest quality and takes the most space. A quant of 31 has the least quality and takes up very little space. Q2 is visually identical to Q1 in most cases.|
|I frames (keyframes)||I frames have the entire image updated. It does not depend on any other frame for data.|
|P frames (predicted)||P frames are constructed from the previous frame. They depend on the previous I or P frame. They take less space than I frames since not the entire image is stored, only changed parts.|
|B frames (bidirectional)||B frames are constructed using data from the previous and next I or P frame. These frames take up even less space than P frames, and because P frames don't depend on them they can have a higher quant than the surrounding frames. However using B frames makes the P frames further apart, so they start taking more space.|
|Macro Block (MB)||The frames of the video are split into 16x16 (?) pixel macro blocks. Each MB is then encoded with a motion vector and corrections.|
|Motion vectors (MV)||A motion vector contains the predicted direction the MB is moving. The better the motion vector, the less space the corrections to the MB take. At the moment, motion vectors can be calculated with PMVFAST, EPZS or EPZS squared. I'm not going into detail on what this means, but according to smarter people than me, EPZS squared give most correct MVs for most cases. EPZS squared uses squared search pattern insted of diamond search like EPZS and PMVFAST.|
|CVS||Concurrent Version System. This is where the source code to XviD is stored. It allows many people to edit the source at the same time and not mess everything up for everybody else.|
Thats it for now, I hope this helps people.
Send me email at umaniacs @t hotmail dot com if you see errors in the above table.
Last modified 19.02.2003 at 18:49 GMT