Abstract:
During video coding, frame rate conversion (FRC) capabilities of a decoder may be estimated. Based on the estimated FRC capabilities, an encoder may select a frame rate for a video coding session and may alter a frame rate of source video to match the selected frame rate. Thereafter, the resultant video may be coded and output to a channel. By incorporating knowledge of a decoder's FRC capabilities as source video is being coded, an encoder may reduce the frame rate of source video opportunistically. Bandwidth that is conserved by avoiding coding of video data in excess of the selected frame rate may be directed to coding of the remaining video at a higher bitrate, which can lead to increased quality of the coding session as a whole.
Abstract:
A video streaming method for transitioning between multiple sequences of coded video data may include receiving and decoding transmission units from a first sequence of coded video data. In response to a request to transition to a second sequence of coded video data, the method may determine whether a time to transition to the second sequence of coded video data can be reduced by transitioning to the second sequence of coded video data via an intermediate sequence of coded video data. If the time can be reduced, the method may include receiving at least one transmission unit from an intermediate sequence of coded video data that corresponds to the request to transition, decoding the transmission unit from the intermediate sequence, and transitioning from the first sequence to the second sequence via the decoded transmission unit from the intermediate sequence.
Abstract:
Video coding techniques are disclosed for resource-limited destination display devices. Input video data may be coded by converting a first representation of the input video to a resolution of a destination display and base layer coding the converted representation. Additionally, a region of interest may be predicted from within the input video. The predicted ROI may be converted to a resolution of the destination display, and the converted ROI may be enhancement layer coded. The base layer coded data and the enhancement layer data may be transmitted to the destination display where the coded base layer data is decoded and displayed until a zoom event occurs. When a zoom event occurs, both the coded base layer data and the coded enhancement layer data may be decoded and displayed. Thus, the switchover from a first field of view to an ROI view may be performed quickly.
Abstract:
A video coder defines multiple fidelity regions in different spatial areas of a video sequence, each of which may have different fidelity characteristics. The coder may code the different representations in a common video sequence. Where prediction data crosses boundaries between the regions, interpolation may be performed to create like kind representations between prediction data and video content being coded.
Abstract:
Method For Implementing A Quantizer In A Multimedia Compression And Encoding System is disclosed. In the Quantizer system of the present invention, several new quantization ideas are disclosed. In one embodiment, adjacent macroblocks are grouped together into macroblock groups. The macroblock groups are then assigned a common quantizer value. The common quantizer value may be selected based upon how the macroblocks are encoded, the type of macroblocks within the macroblock group (intra-blocks or inter-blocks), the history of the motion vectors associated with the macroblocks in the macroblock group, the residuals of the macroblocks in the macroblock group, and the energy of the macroblocks in the macroblock group. The quantizer value may be adjusted in a manner that is dependent on the current quantizer value. Specifically, if the quantizer value is at the low end of the quantizer scale, then only small adjustments are made. If the quantizer value is at the high end then larger adjustments may be made to the quantizer. Finally, in one embodiment, the quantizer is implemented along with an inverse quantizer for efficient operation.
Abstract:
Embodiments of the present invention generate estimates of device motion from two data sources on a computing device—a motion sensor and a camera. The device may compare the estimates to each other to determine if they agree. If they agree, the device may confirm that device motion estimates based on the motion sensor are accurate and may output those estimates to an application within the device. If the device motion estimates disagree, the device may alter the motion estimates obtained from the motion sensor before outputting them to the application.
Abstract:
Image and video processing techniques are disclosed for processing components of a color space individually by determining limits for each component based on the relationship between each component in a color space. These limits may then be used to clip each component such that the component values are within the determined range for that component. In this manner, more efficient processing of images and/or video may be achieved.
Abstract:
A method for decoding a compressed video data sequence containing one or more coded pixel blocks. The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.
Abstract:
Video encoders often produce banding artifacts on areas with smooth gradients and low levels of detail/noise. In this disclosure, a video encoding system identifies the banded areas and adjusts coding parameters accordingly. The video coder may include a pre-coding banding detector and a post-coding banding detector. The pre-coding detector may identify regions in the input picture with smooth gradients that are likely to have banding artifacts after encoding. The post-coding detector may identify regions in the reconstructed picture with visible banding. Usage of pre-coding detector and/or post-coding detector depends on how an encoder operates. In a single-pass encoding or during the first pass of a multi-pass encoding, the pre-coding detection maps are used. During picture re-encoding or during later passes of a multi-pass encoding, the post-coding detector maps are used.
Abstract:
Techniques for coding video data are described that maintain high precision coding for low motion video content. Such techniques include determining whether a source video sequence to be coded has low motion content. When the source video sequence contains low motion content, the video sequence may be coded as a plurality of coded frames using a chain of temporal prediction references among the coded frames. Thus, a single frame in the source video sequence is coded as a plurality of frames. Because the coded frames each represent identical content, the quality of coding should improve across the plurality of frames. Optionally, the disclosed techniques may increase the resolution at which video is coded to improve precision and coding quality.