Abstract:
A multimedia decoder unit having error concealment and fast muting capabilities. The audio decoder provides error concealment using a dynamic recovery delay that is based on the error rate of an input digital bitstream and also uses frame repeating. The decoder allows fast audio muting whereby audio can be muted within two audio frames of a mute signal that immediately freezes the video frame, e.g., a channel change. With respect to the dynamic recovery delay, a template of fixed length is used to inspect the last frames within the template. If error is found, then the error sum is used as an index into a table length which provides a dynamic template length. Error within the dynamic template length is computed and if larger than a tolerance, the current frame is muted. This allows the recovery delay to be adaptive and based on the error rate while still allowing mute merging. Muting the current frame can be achieved by repeating the previous frame but the delay data of the last block of the previous audio frame is added to the first block of the repeated audio frame to provide a smooth frame interface. In response to a mute command, the decoder zeros the audio output bitstream stream to provide zero frames at the audio output buffer (AOB). In addition, the decoder also directly zeros audio frames in the AOB that lie between its the read and write pointers to guarantee that only two frames of audio be played after the mute signal.
Abstract:
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.
Abstract:
Fast motion estimation in video encoding may be implemented using early termination. One or more section sizes in a current video picture may be determined for which a portion of motion estimation can be skipped during encoding of the current video picture. The portion of motion estimation may be performed on the current video picture on a section-by-section basis only for one or more section sizes not skipped. The picture may be encoded using the motion estimation performed in b) to produce an encoded picture. The resulting encoded picture may be stored or transmitted. The speedup achieved by skipping part of motion estimation may be regulated by selection of a quality control value.
Abstract:
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.
Abstract:
Fast motion estimation in video encoding may be implemented using early termination. One or more section sizes in a current video picture may be determined for which a portion of motion estimation can be skipped during encoding of the current video picture. The portion of motion estimation may be performed on the current video picture on a section-by-section basis only for one or more section sizes not skipped. The picture may be encoded using the motion estimation performed in b) to produce an encoded picture. The resulting encoded picture may be stored or transmitted. The speedup achieved by skipping part of motion estimation may be regulated by selection of a quality control value.
Abstract:
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.
Abstract:
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.
Abstract:
A new identifier, called the active ID, is computed for each decoded video picture used as a reference picture. The active ID is computed from the frame buffer index and the frame-field encoding type and uniquely identifies each of the decoded video pictures. In one aspect, the active ID identifies decoded video pictures used in a B direct co-located macroblock prediction process. In another aspect, the active ID identifies decoded video pictures used in a de-blocking process.
Abstract:
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.
Abstract:
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.