Know Your Video Codec Concepts

A rather alarming fact came to my attention recently: There are people out there on the internet who actually learn everything they know about multimedia technology strictly from the information provided at multimedia.cx.

So I thought maybe I should write some articles about core multimedia concepts. Things like the discrete cosine transform, vector quantization, Huffman coding. The fact is that there are already countless pages out there that cover all of these concepts. What could I add?

I want to write about these concepts from a programming-oriented perspective. Many available explanations are strictly mathematical and never deal with the practical implementation issues. I started this website with the intention of helping other interested multimedia hackers come up to speed on multimedia technology so they could become productive much quicker. Domain knowledge is critical when understanding and also reverse engineering codecs. I know that there are talented hackers out there who are interested in RE’ing video codecs but do not understand what kinds of patterns they are looking for. Hopefully, these articles will help.

Further, I am planning supplemental articles to explain how certain multimedia codecs tie together various coding concepts in order to achieve compression, as very few codecs rely on just one algorithm.

Pictures, too– I will hopefully have pretty pictures to illustrate concepts.

Keep in mind that I am not the all-knowing guru of multimedia technology. In fact, I am remarkably ignorant about a lot of the underlying mathematical theory related to compression. I just care how the bits and bytes are formatted and packed on the disk. If you see anything wrong with an article, please let me know. If there are some other topics you would like to suggest I write about, also let me know.

One more thing– I would eventually like to carry this concept over to perceptual audio codecs (MP3, AC3, et. al). However, I am still studying up on these concepts myself.