摘要:
Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
摘要:
Techniques and tools for encoding and decoding predicted images in interlaced video are described. For example, a video encoder or decoder computes a motion vector predictor for a motion vector for a portion (e.g., a block or macroblock) of an interlaced P-field, including selecting between using a same polarity or opposite polarity motion vector predictor for the portion. The encoder/decoder processes the motion vector based at least in part on the motion vector predictor computed for the motion vector. The processing can comprise computing a motion vector differential between the motion vector and the motion vector predictor during encoding and reconstructing the motion vector from a motion vector differential and the motion vector predictor during decoding. The selecting can be based at least in part on a count of opposite polarity motion vectors for a neighborhood around the portion and/or a count of same polarity motion vectors.
摘要:
An indexed file layout, comprising index information, is defined for segmented streaming of multimedia content. The index information can comprise program description information and streaming segment index information. In addition, the layout can comprise files containing streaming segments of the program, where the streaming segments are each encoded at one or more bitrates independently of other streaming segments of the program. The layout supports client switching between different bitrates at segment boundaries. Optimized client-side rate control of streaming content can be provided by defining a plurality of states, selecting available paths based on constraint conditions, and selecting a best path through the states (e.g., based on a distortion measure). In one client-side rate control solution states correspond to a specific bitrate of a specific streaming segment, and in another client-side rate control solution states correspond to a measure of client buffer fullness.
摘要:
An apparatus and method are disclosed for transcoding a compressed video stream. In one embodiment, a compressed video stream is decoded. A spatial resolution of the decoded video stream can then be dynamically modified. The video stream with the modified spatial resolution can be re-encoded and transmitted over a network for display on a client device. The spatial resolution can be dynamically modified based on a variety of techniques. For example, a current bitrate and quantization parameters associated with the frames can be used to determine the spatial resolution. Alternatively, the spatial and/or temporal complexity can be used to modify spatial resolution.
摘要:
Quality settings established by an encoder are adjusted based on information associated with regions of interest (“ROIs”). For example, quantization step sizes can be reduced (to improve quality) or increased (to reduce bit rate). ROIs can be identified and quality settings can be adjusted based on input received from a user interface. An overlap setting can be determined for a portion of a picture that corresponds to an ROI overlap area. For example, an overlap setting is chosen from step sizes corresponding to a first overlapping ROI and a second overlapping ROI, or from relative reductions in step size corresponding to the first ROI and the second ROI. ROIs can be parameterized by information (e.g., using data structures) that indicates spatial dimensions of the ROIs and quality adjustment information (e.g., dead zone information, step size information, and quantization mode information).
摘要:
Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
摘要:
A video codec provides for encoding and decoding pictures of a video sequence at various coded resolutions, such that pictures can be encoded at lower coded resolutions based on bit rate or other constraints while maintaining a consistent display resolution. The video codec further provide for encoding and decoding pictures of the video sequence at ranges lower than that used for display, and then expanding the range after decoding for display. The video codec applies post-processing operations, such as de-blocking, de-ringing, and color conversion, at the native resolution and range of the decoded video, prior to range expansion and upsampling for display.
摘要:
Techniques and tools are described for reducing key picture popping effects. In some embodiments, an encoding system filters a video picture that is to be encoded as a key picture using intra-picture compression. The filtering reduces detail in the picture relative to other video pictures that are to be encoded using inter-picture compression. In many cases, the filtering reduces key picture popping effects by selectively attenuating detail in the picture that is to be encoded as a key picture. The encoding tool can use a key picture filter strength parameter to control strength of the filtering. The tool encodes the filtered video picture using intra-picture compression and encodes the other video pictures using inter-picture compression.
摘要:
A video encoding system encodes video streams for multiple bit rate video streaming using an approach that permits the encoded bit rate to vary subject to a peak bit rate and average bit rate constraints for higher quality streams, while a bottom bit rate stream is encoded to achieve a constant chunk rate. The video encoding system also dynamically decides an encoding resolution for segments of the multiple bit rate video streams that varies with video complexity so as to achieve a better visual experience for multiple bit rate streaming.
摘要:
An encoder is disclosed that is partitioned into discrete hardware modules. The discrete modules include multiple re-entry and exit points that allow enhanced control by software. The software can control the discrete modules during the encoding process and make adjustments according to CPU bandwidth and/or user requirements allowing for enhanced quality control and seamless hardware/software operations. In one embodiment, a media stream is received into an encoder that includes a pipeline of multiple hardware stages for encoding. An intermediate result is provided from at least one of the hardware stages to an encoding control module that processes the intermediate result to determine configuration instructions for a next hardware stage in the pipeline. Thus, the encoding process can be modified dynamically through hardware and software interactions as the media stream progresses through the pipeline of the encoder.