摘要:
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.
摘要:
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.
摘要:
Mode searching and early termination of a video picture may include determining the cost value of a simple intra-mode prediction of the video picture; determining the cost value of an inter-mode prediction of the video picture; determining a threshold value based on a given quantization parameter (QP); comparing the cost value of the simple intra-mode prediction to the sum of the cost value of the inter-mode prediction and the threshold value; and performing a mode-prediction of the video picture in accordance with the result obtained. Fast compression of variable length symbols may include receiving a variable length symbol with one or more tokens; combining the one or more tokens in the variable length symbol to form a token combination; and determining a bit representation of the token combination in correspondence to a probability threshold associated with the token combination.
摘要:
Apparatus and Method for parallel digital picture encoding are disclosed. A digital picture is partitioned into two or more vertical sections. An encoder unit is selected to serve as a master and one or more encoder units are selected to serve as slaves. The total number of encoder units used equals the number of vertical sections. A mode search is performed on the two or more vertical sections on a row-by-row basis. Entropy coding is performed on the two or more vertical sections on a row-by-row basis. The entropy coding of each vertical section is performed in parallel such that each encoder unit performs entropy coding on its respective vertical section. De-blocking is performed on the two or more vertical sections in parallel on a row-by-row basis.
摘要:
Apparatus and Method for parallel digital picture encoding are disclosed. A digital picture is partitioned into two or more vertical sections. An encoder unit is selected to serve as a master and one or more encoder units are selected to serve as slaves. The total number of encoder units used equals the number of vertical sections. A mode search is performed on the two or more vertical sections on a row-by-row basis. Entropy coding is performed on the two or more vertical sections on a row-by-row basis. The entropy coding of each vertical section is performed in parallel such that each encoder unit performs entropy coding on its respective vertical section. De-blocking is performed on the two or more vertical sections in parallel on a row-by-row basis.
摘要:
Streaming data may be decoded by dividing a process for decoding the streaming data into two or more tasks based on data dependencies between the two or more tasks. The two or more tasks may be executed in parallel on three or more processors in a way that balances a processing load of executing the two or more tasks among the three or more processors.
摘要:
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.
摘要:
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.