摘要:
This disclosure describes techniques for encoding digital video data using interpolation filters and offsets. An encoder may be configured to select interpolation filters for sub-pixel precision motion estimation based on historical interpolation results obtained for previously encoded video units, such as frames or slices. The encoder also may be configured to compute and assign offsets to the sub-pixel positions after interpolation based on differences between a reference unit and the unit to be coded. The computation and assignment of offsets may be performed before motion estimation. Motion estimation may be refined so that the motion search considers sub-pixel positions to which offsets have been previously added and evaluates sub-pixel positions that have a non-zero offset. In some cases, interpolation filter selection, offset computation, and/or refined motion estimation for a given unit may be performed in a single encoding pass.
摘要:
This disclosure describes techniques associated with filtering of video data in a video encoding and/or decoding process. In accordance with this disclosure, filtering is applied at an encoder, and filter information is encoded in the bitstream to identify the filtering that was applied at the encoder. Different types of filtering may be applied based on an activity metric determined for the video data. Moreover, in accordance with this disclosure, the manner in which the filter information is encoded into the bitstream may be dependent on the activity metric. In particular, for a first range of the activity metric, one or more filters are encoded directly, and for a second range of the activity metric, one or more filters are predictively encoded.
摘要:
This disclosure describes techniques for adding offset to predictive video blocks during video coding. In one example, a method of encoding a video block includes interpolating a first block of predictive values based on a first reference video unit within a first list of reference data, and a second block of predictive values based on a second reference video unit within a second list of reference data, calculating, for sub-integer pixel positions, a first offset value based on the first block and the current video block, and a second offset value based on the first offset value and the second block, determining a final block of offset values based on the first block of predictive values, the second block of predictive values, the first offset values, and the second offset values, and encoding the current video block based on the final block of offset values.
摘要:
This disclosure describes techniques for encoding digital video data using interpolation filters and offsets. An encoder may be configured to select interpolation filters for sub-pixel precision motion estimation based on historical interpolation results obtained for previously encoded video units, such as frames or slices. The encoder also may be configured to compute and assign offsets to the sub-pixel positions after interpolation based on differences between a reference unit and the unit to be coded. The computation and assignment of offsets may be performed before motion estimation. Motion estimation may be refined so that the motion search considers sub-pixel positions to which offsets have been previously added and evaluates sub-pixel positions that have a non-zero offset. In some cases, interpolation filter selection, offset computation, and/or refined motion estimation for a given unit may be performed in a single encoding pass.
摘要:
This disclosure describes techniques associated with filtering of video data in a video encoding and/or decoding process. In accordance with this disclosure, filtering is applied at an encoder, and filter information is encoded in the bitstream to identify the filtering that was applied at the encoder. Different types of filtering may be applied based on an activity metric determined for the video data. Moreover, in accordance with this disclosure, the manner in which the filter information is encoded into the bitstream may be dependent on the activity metric. In particular, for a first range of the activity metric, one or more filters are encoded directly, and for a second range of the activity metric, one or more filters are predictively encoded.
摘要:
This disclosure describes techniques for adding offset to predictive video blocks during video coding. In one example, a method of encoding a video block includes interpolating a first block of predictive values based on a first reference video unit within a first list of reference data, and a second block of predictive values based on a second reference video unit within a second list of reference data, calculating, for sub-integer pixel positions, a first offset value based on the first block and the current video block, and a second offset value based on the first offset value and the second block, determining a final block of offset values based on the first block of predictive values, the second block of predictive values, the first offset values, and the second offset values, and encoding the current video block based on the final block of offset values.
摘要:
In one aspect of this disclosure, techniques are described for selecting among default weighted prediction, implicit weighted prediction, and explicit weighted prediction. In this context, techniques are also described for adding offset to prediction data, e.g., using the format of explicit weighted prediction to allow for offsets to predictive data that is otherwise determined by implicit or default weighted prediction.
摘要:
Techniques are described for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards. For example, the techniques include encoding and decoding a video stream using macroblocks comprising greater than 16×16 pixels, for example, 64×64 pixels. In one example, an apparatus includes a video encoder configured to encode a video block having a size of more than 16×16 pixels, generate block-type syntax information that indicates the size of the block, and generate a coded block pattern value for the encoded block, wherein the coded block pattern value indicates whether the encoded block includes at least one non-zero coefficient. The encoder may set the coded block pattern value to zero when the encoded block does not include at least one non-zero coefficient or set the coded block pattern value to one when the encoded block includes a non-zero coefficient.
摘要:
In a video processing system, a method and system for applying transforms larger than 8×8 and non-rectangular transforms, and generating transform size syntax elements indicative of the transforms for video decoding are provided. The transform size syntax element may be generated by an encoder based on a prediction block size of a video block and the contents of the video block. Further, the transform size syntax element may be generated according to a set of rules to select from 4×4, 8×8, and larger transform sizes during an encoding process. A decoder may perform an inverse transform based on the transform size syntax element and the rules used by the encoder. The transform size syntax element may be transmitted to the decoder as part of the encoded video bitstream.
摘要:
Techniques are described for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards. For example, the techniques include encoding and decoding a video stream using macroblocks comprising greater than 16×16 pixels. In one example, an apparatus includes a video encoder configured to encode a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels and to generate syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit. The syntax information may also include a minimum size value. In this manner, the encoder may indicate to a decoder the proper syntax decoder to apply to the coded unit.