摘要:
Various new and non-obvious apparatus and methods for using frame caching to improve packet loss recovery are disclosed. One of the disclosed embodiments is a method for using periodical and synchronized frame caching within an encoder and its corresponding decoder. When the decoder discovers packet loss, it informs the encoder which then generates a frame based on one of the shared frames stored at both the encoder and the decoder. When the decoder receives this generated frame it can decode it using its locally cached frame.
摘要:
A video codec efficiently signals that a frame is identical to its reference frame, such that separate coding of its picture content is skipped. Information that a frame is skipped is represented jointly in a coding table of a frame coding type element for bit rate efficiency in signaling. Further, the video codec signals the picture type (e.g., progressive or interlaced) of skipped frames, which permits different repeat padding methods to be applied according to the picture type.
摘要:
A decoder processes a first bitstream element (e.g., a pull-down flag) in a first syntax layer (e.g., sequence layer or entry point layer) above frame layer in a bitstream for a video sequence, the bitstream comprising encoded source video having a source type (e.g., progressive or interlace). The decoder processes frame data in a second syntax layer (e.g., frame layer) of the bitstream for a frame (such as an interlaced frame or progressive frame, depending on source type, or a skipped frame) in the video sequence. The first bitstream element indicates whether a repeat-picture element (e.g., a repeat-frame element or a repeat field-element) is present or absent in the frame data in the second syntax layer.
摘要:
Techniques and tools for switching distortion metrics during motion estimation are described. For example, a video encoder determines a distortion metric selection criterion for motion estimation. The criterion can be based on initial results of the motion estimation. To evaluate the criterion, the encoder can compare the criterion to a threshold that depends on a current quantization parameter. The encoder selects between multiple available distortion metrics, which can include a sample-domain distortion metric (e.g., SAD) and a transform-domain distortion metric (e.g., SAHD). The encoder uses the selected distortion metric in the motion estimation. Selectively switching between SAD and SAHD provides rate-distortion performance superior to using only SAD or only SAHD. Moreover, due to the lower complexity of SAD, the computational complexity of motion estimation with SAD-SAHD switching is typically less than motion estimation that always uses SAHD.
摘要:
A decoder receives an entry point header comprising plural control parameters for an entry point segment corresponding to the entry point header. The entry point header is in an entry point layer of a bitstream comprising plural layers. The decoder decodes the entry point header. The plural control parameters can include various combinations of control parameters such as a pan scan on/off parameter, a reference frame distance on/off parameter, a loop filtering on/off parameter, a fast chroma motion compensation on/off parameter, an extended range motion vector on/off parameter, a variable sized transform on/off parameter, an overlapped transform on/off parameter, a quantization decision parameter, and an extended differential motion vector coding on/off parameter, a broken link parameter, a closed entry parameter, one or more coded picture size parameters, one or more range mapping parameters, a hypothetical reference decoder buffer parameter, and/or other parameter(s).
摘要:
Techniques and tools for hybrid motion vector prediction for interlaced forward-predicted fields are described. For example, a video decoder determines an initial motion vector predictor for a motion vector of an interlaced forward-predicted field. The decoder then checks a variation condition based at least in part on a predictor polarity selection (e.g., same or opposite), the initial motion vector predictor, and neighbor motion vectors. If the variation condition is satisfied, the decoder uses one of the neighbor motion vectors as a final motion vector predictor. Otherwise, the decoder uses the initial motion vector predictor as the final motion vector predictor. A video encoder performs corresponding processing.
摘要:
A video codec provides efficient repeat padding of hybrid video sequences having arbitrary video resolution. The video codec repeat pads to expand the active content of pictures in the video sequence out to meet an adaptive vertical macroblock alignment restriction that varies by picture type. For progressive type pictures, the video codec repeats the last row or horizontal boundary edge of the active content. For interlaced type pictures, the video coded repeats the last two rows (last row of each interlaced field) of the active content. This repeat padding differing by picture type provides a better prediction (lower prediction error residual) for macroblocks in following predicted frames whose motion vector points into the padded region.
摘要:
A decoder decodes skipped macroblocks of an interlaced frame. Skipped macroblocks use exactly one motion vector and have no motion vector differential information, and lack residual information. The skipped macroblock signal indicates one-motion-vector coding. The skipped macroblock signal can be a compressed bitplane (in a selected bitplane coding mode) sent at frame layer in a bitstream, or an individual bit sent at macroblock layer. In another aspect, an encoder jointly encodes motion compensation type and field/frame coding type for a macroblock in an interlaced P-frame. The encoder also can jointly encode other information for the macroblock (e.g., the presence of a differential motion vector). A decoder decodes a joint code (e.g., a variable length code in a variable length code table) to obtain both motion compensation type and field/frame coding type (and potentially other information) for the macroblock.
摘要:
Techniques and tools for using motion vector block patterns in video encoding and decoding are described. In general, a motion vector block pattern signals the presence or absence of motion vector data for a macroblock with multiple motion vectors. For example, a video decoder decodes variable length codes that represent motion vector block patterns. Each motion vector block pattern has one bit per corresponding luminance motion vector of a macroblock with multiple luminance motion vectors, where the one bit indicates whether or not motion vector data for the corresponding luminance motion vector is signaled. A video encoder performs corresponding encoding.
摘要:
An encoder/decoder obtains pixel data from one or more field lines associated with a first block in an interlaced frame coded picture comprising plural macroblocks each having an equal number of top and bottom field lines. The encoder/decoder obtains pixel data from one or more field lines associated with a second block and performs in-loop deblocking filtering across a boundary. The in-loop deblocking filtering comprises filter operations performed on pixel data from field lines of same polarity only. In another aspect, an encoder/decoder obtains transform size information for plural blocks of macroblock, obtains field/frame type information for the macroblock and selects one or more boundaries for in-loop deblocking based at least in part on the transform size information and the field/frame type information. In-loop deblocking can be performed on horizontal block boundaries prior to vertical block boundaries.