Abstract:
A video decoder system, such as for use with MPEG video compression, uses a previous B-frame as an additional prediction source for the current B-frame, along with the past and future reference frames as defined by the MPEG specification. In one embodiment, a given macroblock within a current B-frame "N" reuses pixel values from the previous B-frame "N-1" if they are "similar enough" to the anticipated pixels which would otherwise need to be computed. For a given macroblock, motion vectors for both B-frames are compared: if they differ by less than a similarity threshold value, then the pixel values from the previous B-frame are reused without further computation. The similarity threshold may be adaptively adjusted to reduce the computational burden of video decompression, while affording a gradual degradation of picture quality, rather than wholesale skipping of entire frames.
Abstract:
A video decoding system that selectively arranges video information within a memory to correspond to macroblocks of video information. Such a system advantageously increases the efficiency of processing video information when decoding compressed video information.
Abstract:
A method and apparatus for decoding variable length code (VLC) data employ a hybrid technique of parsing short-length VLC codes using a binary tree or binary search procedure and parsing longer VLC codes using a table lookup procedure. This technique includes the steps of accessing a plurality of bits of coded bitstream data, bit testing a preselected number N first bits of the plurality of bitstream bits and determining whether the N first bits include a complete VLC code. If the N first bits include a complete VLC code, a VLC code is decoded in accordance with a result of the bit testing step. If the N first bits do not include a complete VLC code, a VLC code is decoded from a lookup table to a table element addressed by the bits of coded bitstream data.
Abstract:
A video decoder system, such as for use with MPEG video compression, uses a previous B-frame as an additional prediction source for the current B-frame, along with the past and future reference frames as defined by the MPEG specification. In one embodiment, a given macroblock within a current B-frame "N" reuses pixel values from the previous B-frame "N-1" if they are "similar enough" to the anticipated pixels which would otherwise need to be computed. For a given macroblock, motion vectors for both B-frames are compared: if they differ by less than a similarity threshold value, then the pixel values from the previous B-frame are reused without further computation. The similarity threshold may be adaptively adjusted to reduce the computational burden of video decompression, while affording a gradual degradation of picture quality, rather than wholesale skipping of entire frames.
Abstract:
A video decoder system, such as for use with MPEG video compression, uses a previous B-frame as an additional prediction source for the current B-frame, along with the past and future reference frames as defined by the MPEG specification. In one embodiment, a given macroblock within a current B-frame 'N' reuses pixel values from the previous B-frame 'N-1' if they are 'similar enough' to the anticipated pixels which would otherwise need to be computed. For a given macroblock, motion vectors for both B-frames are compared: if they differ by less than a similarity threshold value, then the pixel values from the previous B-frame are reused without further computation. The similarity threshold may be adaptively adjusted to reduce the computational burden of video decompression, while affording a gradual degradation of picture quality, rather than wholesale skipping of entire frames.