摘要:
A method and apparatus for decoding an input MPEG video stream are provided that includes a core processor with a very long instruction word (VLIW) processor and a co-processor that includes a variable length decoder (VLD) for decoding the MPEG video stream. The input MPEG video stream is organized into macroblocks, wherein each macroblock includes a header for a macroblock that is not decoded, and encoded data for a macroblock whose header is previously decoded by VLD. Thereafter, VLD decodes the encoded video data of a first macroblock whose header has been decoded, and decodes the header of a second (current) macroblock. VLIW then performs motion compensation on a current macroblock based upon reference data of a previously decoded macroblock. VLIW also adds a fake slice start code and fake macroblock data at the end of each picture into the input MPEG video data stream; and utilizes the fake slice start code and fake macroblock data to skip to a next slice. The fake macroblock data indicates an error to the VLD stopping the decoding process until the core processor clears the interrupt and reinitiates decoding of a selected macroblock.
摘要:
A method and system for decoding and reconstructing an incoming MPEG video data stream for producing decoded MPEG video data is provided. The method and system utilizes a first memory storage device with at least two memory buffers associated with a co-processor, and a second memory device with a plurality of memory buffers associated with a core-processor. Also provided is a first data transfer unit coupled to the first memory storage device and the second memory device. The first data transfer unit in response to a first signal from the core processor selects one of the first memory storage device buffer (B0) as a source and a buffer in the second memory storage device as a destination buffer (MB_B0′). The data transfer unit is adapted to read content from B0 and write the content of B0 to MB_B0′. Simultaneously, data transfer unit also selects the other buffer of the first memory storage device (B1) as a second source buffer and a second destination buffer (MB-B1′) from the plurality of buffers in the second memory storage device. Again the data transfer unit is adapted to read the content of B1 and write the content of B1 to MB_B1′, wherein the transfer from B1 to MB_B1′ comprises a wait indicating that a transfer from B0 to MB-B0′ is complete.
摘要:
A method and apparatus for decoding an input MPEG video stream are provided that includes a core processor with a very large instruction word (VLIW) processor and a co-processor that includes a variable length decoder (VLD) for decoding the MPEG video stream. The input MPEG video stream is organized into macroblocks, wherein each macroblock includes a header for a macroblock that is not decoded, and encoded data for a macroblock whose header is previously decoded by VLD. Thereafter, VLD decodes the encoded video data of a first macroblock whose header has been decoded, and decodes the header of a second (current) macroblock. VLIW then performs motion compensation on a current macroblock based upon reference data of a previously decoded macroblock. VLIW also adds a fake slice start code and fake macroblock data at the end of each picture into the input MPEG video data stream; and utilizes the fake slice start code and fake macroblock data to skip to a next picture. The fake macroblock data indicates an error to the VLD stopping the decoding process until the core processor clears the interrupt and reinitiates decoding of a selected slice.
摘要:
In aspects of the present disclosure, a software encoder augments a hardware encoder by implementing portions of a video encoding task that are not supported by the hardware encoder while the hardware encoder implements other portions of the encoding task. The use of a software encoder to augment a hardware encoder in this manner can extend the useful life of a hardware encoder, allow the system to adapt to changes in video coding standards, and in some cases improve performance of encoding implemented by hardware or software alone. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
摘要:
Digital pictures may be encoded by padding all un-processed pixels within a currently processing picture with temporary pixel values; searching the picture for a matching section for use as a reference in pixel reconstruction of a section of the picture independent of whether the picture is intra-coded or inter-coded; and using the matching section to perform pixel prediction on the section to generate one or more predicted pixels for the section.
摘要:
Prediction of and recovery from display buffer underflow are described. A first time delay for displaying a first group of one or more frames of a video picture stream located in an output frame buffer is calculated. A second time delay for displaying a second group of one or more frames in the picture stream is calculated. The second group directly follows the first group in the output buffer and is currently decoded by a decoder, but not yet deposited into the output frame buffer. A third time delay for decoding a third group of one or more frames in the picture stream is calculated. The third group directly follows the second group and is not yet decoded by the decoder. The decoder switches to or remains in a fast decoding mode if the sum of the first and second time delays is less than the third time delay.
摘要:
Digitally encoded pictures may be decoded by padding all un-decoded pixels within a currently decoding picture with temporary pixel values to produce a padded picture and performing motion compensation using the padded picture as a reference picture.
摘要:
Apparatus and methods for decoding streaming data containing one or more coded pictures in which each picture contains a plurality of slices and each slice containing a plurality of macroblocks are disclosed. A first decoding subtask is performed on all macroblocks in the coded picture or a section thereof. After performing the first decoding subtask on all macroblocks in the coded picture or a section thereof, a second decoding subtask is performed on all the macroblocks in the coded picture or section thereof. One or more of the first and second tasks includes examining a slice or macroblock within the coded picture to determine if there are any errors, and if an error is present, handling the error.
摘要:
A system and method for processing an overrun in the encoding of an input bitstream are described. In one embodiment, an overrun in the encoding of an input bitstream is determined and the severity of the overrun is determined. Finally, a current frame is encoded using a catch-up mode to process the overrun.
摘要:
In methods for encoding and decoding digital pictures certain prediction parameters may be omitted from the output on the encoder side or the input on the decoder side. An encoder can identify prediction parameter values that can be omitted by determining whether a decoder emulator can reproduce the prediction parameter values from other information, such as predicted pixel and prediction error values of one or more previously decoded sections from the same or a different picture.