PlayStation Motion Decoder

From MultimediaWiki
Jump to navigation Jump to search

The original Sony PlayStation contains a component named the motion decoder (MDEC) which processes blocks of data compressed using a Motion JPEG-like coding scheme. The unit processes specially formatted blocks of data which contain encoded YUV macroblocks. The formatted blocks specify DC and AC coefficients and lengths of zero-runs to be used in an inverse discrete cosine transform. The unit is designed to decode 9000 macroblocks per second. A video frame with a resolution of 320x240 is comprised of 300 macroblocks. This means that the MDEC can decode 30 frames per second at maximum capacity.

While the MDEC hardware is rigid about the format of incoming data, many PlayStation games have gone an extra step by Huffman-compressing the data, decompressing it in software before sending it to the MDEC for final decode. Many games opted to use Huffman tables from MPEG-1. However, other games use custom tables. In doing this, developers can

  1. optimize compression for a given set of FMV
  2. thwart curious gamers who explore the data files on a PlayStation disc and seek to view the files with 3rd-party software

References

"Everything You Have Always Wanted to Know about the Playstation But Were Afraid to Ask.", available in a number of formats, describes the motion decoder in further detail as well as the rest of the PlayStation console.