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:
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:
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.
Abstract:
Techniques are disclosed for overcoming communication lag between interactive operations among devices in a streaming session. According to the techniques, a first device streaming video content to a second device and an annotation is entered to a first frame being displayed at the second device, which is communicated back to the first device. Responsive to a communication that identifies the annotation, a first device may identify an element of video content from the first frame to which the annotation applies and determine whether the identified element is present in a second frame of video content currently displayed at the first terminal. If so, the first device may display the annotation with the second frame in a location where the identified element is present. If not, the first device may display the annotation via an alternate technique.
Abstract:
A video coding system may initiate coding of a new coding session with reference to an “inferred key frame” that is known both to an encoder and a decoder before a coding session begins. The inferred key frame need not be transmitted between the encoder and decoder via the channel. Instead, the inferred key frame may be stored locally at the encoder and the decoder. Frames coded at the onset of a video coding session may be coded with reference to the inferred key frame, which increases the likelihood a decoder will receive a frame it can decode properly and accelerate the rate at which the decoder generates recovered video data. Inferred key frames may be used as prediction references to recover from transmission errors.
Abstract:
In a video coding system, a common video sequence is coded multiple times to yield respective instances of coded video data. Each instance may be coded according to a set coding parameters derived from a target bit rate of a respective tier of service. Each tier may be coded according to a constraint that limits a maximum coding rate of the tier to be less than a target bit rate of another predetermined tier of service. Having been coded according to the constraint facilitates dynamic switching among tiers by a requesting client device processing resources or communication bandwidth changes. Improved coding systems to switch among different coding streams may increase quality of video streamed while minimizing transmission and storage size of such content.
Abstract:
In video conferencing over a radio network, the radio equipment is a major power consumer especially in cellular networks such as LTE. In order to reduce the radio power consumption in video conferencing, it is important to introduce an enough radio inactive time. Several types of data buffering and bundling can be employed within a reasonable range of latency that doesn't significantly disrupt the real-time nature of video conferencing. In addition, the data transmission can be synchronized to the data reception in a controlled manner, which can result in an even longer radio inactive time and thus take advantage of radio power saving modes such as LTE C-DRX.