Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

VQ Case Study: Cinepak

April 24th, 2007 by Multimedia Mike

Cinepak is a true classic among video codecs. It saw considerable use in the early days of FMV as it was easily encapsulated in both AVI and QuickTime files, the prevailing container formats in the early days of PC multimedia. It was also the standard FMV format on early CD-based consoles such as the Sega Saturn and Atari Jaguar.

Read the rest of this entry »

Posted in Codec Technology, Vector Quantization, Video Codecs | No Comments »

First Love: Vector Quantization

April 23rd, 2007 by Multimedia Mike

Someone was asking me about vector quantizer codecs recently. Sure, Wikipedia has the obligatory article. To its credit, the article is actually halfway useful these days (I seem to recall that it used to be a lot more impenetrable). It doesn’t help that the concept is identified by 2 terms that, by themselves, sound somewhat intimidating: ‘vector’ and ‘quantization’.

Anyway, he asked the right person about VQ codecs because I happen to love VQ codecs and can go on for days about them. In fact, I might do just that. I’ll start with a post about the theory and then describe specific examples in separate posts.

Read the rest of this entry »

Posted in Codec Technology, Vector Quantization, Video Codecs | 9 Comments »

Microsoft Video-1 Based on DCT?

November 15th, 2005 by Multimedia Mike

I recently learned that Wikipedia has an entry for Microsoft Video-1. The entry makes two assertions of which I was heretofore unaware:

  1. the codec was licensed from Media Vision and is based on a codec called MotiVE
  2. the codec was based on the discrete cosine transform (DCT)

I can accept assertion #1 but I have trouble with the second. I just don’t see it. Per my understanding Video-1 falls into the category of vector quantizer. I did a quick Google search for “media vision motive cosine” to search for supporting details. This page supports the DCT claim. But it also claims that Duck TrueMotion 1 is a vector quantizer (nope). Here is another page that mentions the MotiVE connection but pegs Video-1 as a vector quantizer.

At least the Wikipedia article links to my Video-1 description so interested parties can investigate the details for themselves.

Posted in Codec Technology | 1 Comment »

Video Coding Concepts: Frame Types

November 4th, 2005 by Multimedia Mike

This article is maintained in Wiki format at http://wiki.multimedia.cx/index.php?title=Frame_Types.

Ultimately, encoded video data needs to be decoded to 2-dimensional arrays of pixel values and presented to the user (or perhaps transcoded to a different format). All of these frames look complete to the user. But the frames often can not stand by themselves. They usually need information from other frames in order to make their presentation complete.

Let’s talk basic video frame terminology. First, there is the intraframe. This is also known as a keyframe. An intraframe is one that can stand on its own. It requires no other frames. It carries with it all the information needed to be decoded.

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | No Comments »

Video Coding Concepts: Quantization

April 14th, 2005 by Multimedia Mike

This article is now maintained as a Wiki page at http://wiki.multimedia.cx/index.php?title=Quantization.

I have never quite understood what is so hard about quantization. Maybe I am missing something but it seems to be primarily a matter of division (for quantization) and multiplication (for dequantization, a.k.a. requantization).

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | 1 Comment »

Video Coding Concepts: Mean Removal

March 23rd, 2005 by Multimedia Mike

This article is now maintained as a Wiki page at http://wiki.multimedia.cx/index.php?title=Mean_Removal.

Mean removal is another one of those concepts– like differential coding– that sounds like it would be difficult to understand. It’s not.

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | No Comments »

Video Coding Concepts: Differential Coding

March 20th, 2005 by Multimedia Mike

This article is now expanded and maintained at http://wiki.multimedia.cx/index.php?title=Differential_Coding.

Differential coding explained:

1 + 1 = 2

Got that?

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | 1 Comment »

Video Coding Concepts: Run Length Encoding

March 20th, 2005 by Multimedia Mike

This page is maintained in Wiki format at http://wiki.multimedia.cx/index.php?title=Run_Length_Encoding

I may as well start this series of articles off with what is perhaps the simplest multimedia compression technique of them all: run length encoding (RLE). The basic idea behind this concept is to encode information about runs of identical numbers rather than encode the numbers themselves.

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | No Comments »

Know Your Video Codec Concepts

March 20th, 2005 by Multimedia Mike

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?

Read the rest of this entry »

Posted in Codec Technology, Video Codecs | No Comments »

Next Entries »