Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

VQ Case Study: Sorenson Video 1

April 25th, 2007 by Multimedia Mike

Sorenson Video 1 (SVQ1) makes me sentimental. It had a lot to do with why I started multimedia hacking. Strange that it all seems so simple now.

SVQ1 is a stark contrast to our last subject, Cinepak. SVQ1 does not store its codebooks in the encoded video bitstream. Rather, the codebooks are a hardwired characteristic of the coding scheme. That’s actually a really good thing considering that the algorithm is a hierarchical multistage vector quantizer.

Read the rest of this entry »

Posted in Codec Technology, Vector Quantization, Video Codecs | Comments Off on VQ Case Study: Sorenson Video 1

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 | Comments Off on VQ Case Study: Cinepak

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 »

World’s Simplest Vector Quantizer

December 18th, 2005 by Multimedia Mike

Vladimir “VAG” Gneushev has uncovered the world’s simplest vector quantizer codec. An FMV format named AVS was used in a 1994 CD-ROM title called Creature Shock. Intraframes carry a vector codebook and vector map; interframes also carry a change map. The audio chunks are actually Creative VOC chunks. Complete details are here.

The strangest thing about this particular VQ codec is that the vectors can have a dimension of 3. For example, the intraframes are comprised of 3×3 pixel vectors. 3 is not divisible by many common video frame resolutions. This game ran on IBM VGAs in 320x200x256 color mode. But the resolution of the movies was actually 318×198. Look carefully at a screenshot from the game:


Creature Shock Screenshot
screenshot courtesy of MobyGames

The top row, bottom row, and 2 right columns are all left undrawn.

So, who wants to implement this format first? If the inspiration strikes you, here are some sample files.

Posted in Game Hacking, Reverse Engineering, Vector Quantization | 1 Comment »

Next Entries »