摘要:
Techniques and tools for reducing latency in video decoding for real-time communication applications that emphasize low delay. For example, a tool such as a video decoder selects a low-latency decoding mode. Based on the selected decoding mode, the tool adjusts output timing determination, picture boundary detection, number of pictures in flight and/or jitter buffer utilization. For low-latency decoding, the tool can use a frame count syntax element to set initial output delay for a decoded picture buffer, and the tool can use auxiliary delimiter syntax elements to detect picture boundaries. To further reduce delay in low-latency decoding, the tool can reduce number of pictures in flight for multi-threaded decoding and reduce or remove jitter buffers. The tool receives encoded data, performs decoding according to the selected decoding mode to reconstruct pictures, and outputs the pictures for display.
摘要:
Techniques and tools for reducing latency in video decoding for real-time communication applications that emphasize low delay. For example, a tool such as a video decoder selects a low-latency decoding mode. Based on the selected decoding mode, the tool adjusts output timing determination, picture boundary detection, number of pictures in flight and/or jitter buffer utilization. For low-latency decoding, the tool can use a frame count syntax element to set initial output delay for a decoded picture buffer, and the tool can use auxiliary delimiter syntax elements to detect picture boundaries. To further reduce delay in low-latency decoding, the tool can reduce number of pictures in flight for multi-threaded decoding and reduce or remove jitter buffers. The tool receives encoded data, performs decoding according to the selected decoding mode to reconstruct pictures, and outputs the pictures for display.
摘要:
A video bit stream with pictures comprising inter-coded content can be decoded upon receiving a channel start or file seek instruction. Pictures for beginning decoding and display of the bit stream can be selected based at least in part on one or more tuning parameters that set a preference between a latency of beginning to display video and possible defects in the displayed video. In some embodiments, to implement decoding upon a channel start or file seek, one or more types of data are generated for one or more pictures. For example, picture order counts are generated for pictures after a channel start or file seek operation. As another example, a decoder generates a frame number value that triggers re-initialization of a reference picture buffer before decoding after a channel start or file seek operation.
摘要:
Methods are disclosed for supporting stereo 3D video in computing devices. A computing device can receive stereo 3D video data employing a YUV color space and chroma subsampling, and can generate anaglyph video data therefrom. The anaglyph video data can be generated by unpacking the stereo 3D video data to left and right views and combining the left and right views into a single view via matrix transformation. The combining uses transform matrices that correspond to a video pipeline configuration. The transform matrix coefficients can depend on characteristics of the video pipeline components. Modified transform matrix coefficients can be used in response to changes in the video pipeline configuration. Video encoded in stereo 3D video data can be selected to be displayed in stereo 3D, anaglyph or monoscopic form, depending on user input and/or characteristics of video pipeline components.
摘要:
Adjustment of hardware acceleration level in a video decoder utilizing hardware acceleration is described. Errors are detected in a bitstream as it is decoded using different levels of error detection based on decoding characteristics. A statistical analysis is performed on the error values as they are detected. In one technique, if the bitstream is categorized as fitting a high error rate state in a bitstream model, then hardware acceleration is dropped. In another technique, error statistics based on run-lengths of good and bad bitstream units are kept, and compared to predetermined thresholds. If the thresholds are exceeded, the hardware acceleration level is dropped. The level is dropped in order to take advantage of superior error handing abilities of software-based decoding over hardware-accelerated decoding.
摘要:
Adjustment of hardware acceleration level in a video decoder utilizing hardware acceleration is described. Errors are detected in a bitstream as it is decoded using different levels of error detection based on decoding characteristics. A statistical analysis is performed on the error values as they are detected. In one technique, if the bitstream is categorized as fitting a high error rate state in a bitstream model, then hardware acceleration is dropped. In another technique, error statistics based on run-lengths of good and bad bitstream units are kept, and compared to predetermined thresholds. If the thresholds are exceeded, the hardware acceleration level is dropped. The level is dropped in order to take advantage of superior error handing abilities of software-based decoding over hardware-accelerated decoding.
摘要:
Methods are disclosed for supporting stereo 3D video in computing devices. A computing device can receive stereo 3D video data employing a YUV color space and chroma subsampling, and can generate anaglyph video data therefrom. The anaglyph video data can be generated by unpacking the stereo 3D video data to left and right views and combining the left and right views into a single view via matrix transformation. The combining uses transform matrices that correspond to a video pipeline configuration. The transform matrix coefficients can depend on characteristics of the video pipeline components. Modified transform matrix coefficients can be used in response to changes in the video pipeline configuration. Video encoded in stereo 3D video data can be selected to be displayed in stereo 3D, anaglyph or monoscopic form, depending on user input and/or characteristics of video pipeline components.
摘要:
A video bit stream with pictures comprising inter-coded content can be decoded upon receiving a channel start or file seek instruction. Pictures for beginning decoding and display of the bit stream can be selected based at least in part on one or more tuning parameters that set a preference between a latency of beginning to display video and possible defects in the displayed video. In some embodiments, to implement decoding upon a channel start or file seek, one or more types of data are generated for one or more pictures. For example, picture order counts are generated for pictures after a channel start or file seek operation. As another example, a decoder generates a frame number value that triggers re-initialization of a reference picture buffer before decoding after a channel start or file seek operation.
摘要:
Multi-threaded implementations of deblock filtering improve encoding and/or decoding efficiency. For example, a video encoder or decoder partitions a video picture into multiple segments. The encoder/decoder selects between multiple different patterns for splitting operations of deblock filtering into multiple passes. The encoder/decoder organizes the deblock filtering as multiple tasks, where a given task includes the operations of one of the passes for one of the segments. The encoder/decoder then performs the tasks with multiple threads. The performance of the tasks is constrained by task dependencies which, in general, are based at least in part on which lines of the picture are in the respective segments and which deblock filtering operations are in the respective passes. The task dependencies can include a cross-pass, cross-segment dependency between a given pass of a given segment and an adjacent pass of an adjacent segment.
摘要:
Techniques and tools described herein help manage memory efficiently during video decoding, especially when multiple video clips are concurrently decoded. For example, with clip-adaptive memory usage, a decoder determines first memory usage settings expected to be sufficient for decoding of a video clip. The decoder also determines second memory usage settings known to be sufficient for decoding of the clip. During decoding, memory usage is initially set according to the first settings. Memory usage is adaptively increased during decoding, subject to theoretical limits in the second settings. With adaptive early release of side information, the decoder can release side information memory for a picture earlier than the decoder releases image plane memory for the picture. The decoder can also adapt memory usage for decoded transform coefficients depending on whether the coefficients are for intra-coded blocks or inter-coded blocks, and also exploit the relative sparseness of non-zero coefficient values.