| Patent application number | Description | Published |
| 20080240235 | Adaptive deadzone size adjustment in quantization - Techniques and tools are described for adaptive deadzone (“DZ”) resizing during quantization. For example, in some embodiments, for quantization of an AC frequency coefficient of a block, a video encoder adjusts DZ size of a selected quantizer depending on the texture of the block. In other embodiments, a video encoder adjusts DZ size depending on the frequency of a coefficient being quantized. In still other embodiments, for quantization of an AC frequency coefficient of a block, a video encoder adjusts DZ size depending on the texture of the block and the frequency of the coefficient being quantized. | 10-02-2008 |
| 20080240250 | Regions of interest for quality adjustments - 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). | 10-02-2008 |
| 20080240257 | Using quantization bias that accounts for relations between transform bins and quantization bins - Techniques and tools are described for using quantization bias that accounts for relations between transform bins and quantization bins. The techniques and tools can be used to compensate for mismatch between transform bin boundaries and quantization bin boundaries during quantization. For example, in some embodiments, when a video encoder quantizes the DC coefficients of DC-only blocks, the encoder compensates for mismatches between transform bin boundaries and quantization bin boundaries. In some implementations, the mismatch compensation uses an offset table that accounts for the mismatches. In other embodiments, the encoder uses adjustable thresholds to control quantization bias. | 10-02-2008 |
| 20090074073 | CODING OF MOTION VECTOR 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. | 03-19-2009 |
| 20090168890 | PREDICTING MOTION VECTORS FOR FIELDS OF FORWARD-PREDICTED INTERLACED VIDEO FRAMES - 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. | 07-02-2009 |
| 20090207912 | Reducing key picture popping effects in video - 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. | 08-20-2009 |
| 20090245587 | Classifying and controlling encoding quality for textured, dark smooth and smooth video content - Techniques and tools for content classification and adaptive quantization are described. In an example implementation, a video encoding tool classifies blocks as textured, dark smooth or other smooth. The tool classifies a block as textured or non-textured by comparing the energy of AC coefficients for the block to a texture threshold, which can be set using a non-linear mapping of possible texture classification levels to possible texture thresholds. If a block is not textured, the tool further classifies the block as dark smooth or smooth depending on average intensity value for the block. Using the classification information and one or more control parameters to control bit allocation for dark smooth content relative to other smooth content, the tool encodes the video and outputs encoded video information. Example multi-pass approaches to setting the control parameters are also described. | 10-01-2009 |
| 20090279605 | ENCODING STREAMING MEDIA AS A HIGH BIT RATE LAYER, A LOW BIT RATE LAYER, AND ONE OR MORE INTERMEDIATE BIT RATE LAYERS - A method of encoding an input video stream comprising a video component and an audio component is disclosed. The input video stream is split into a plurality of segments, each comprising a plurality of frames. Each of the segments is encoded as a low bit rate layer, a high bit rate layer, and one or more intermediate bit rate layers. The bit rate of the low bit rate layer is selected such that a network streaming the segment will always be able to stream the segment encoded as the low bit rate layer. The bit rate of the high bit rate layer is selected such that the segment is able to be decoded and played back at or above a quality threshold. The bit rates of the intermediate bit rate layers are produced by applying a bit rate factor to another bit rate. | 11-12-2009 |
| 20090282162 | OPTIMIZED CLIENT SIDE RATE CONTROL AND INDEXED FILE LAYOUT FOR STREAMING MEDIA - 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. | 11-12-2009 |