Chroma motion vector processing apparatus, system, and method
AssigneeIntel Corporation
InventorsYi-Jen Chiu, Mei-Chen Yeh, Prasenjit Biswas, Louis Lippincott
Life of this patent
Estimating the term…
Abstract
A system, apparatus, method, and article to process a chroma motion vector are described. The apparatus may include a video decoder. The video decoder includes a processor to receive a compressed video bitstream. The compressed video bitstream includes a stream of pictures. The stream of pictures includes a current slice and a current block within the slice. The processor pre-computes a chroma motion vector adjustment parameter for the current slice and determines a motion vector component for the current block within the current slice using the pre-computed chroma motion vector adjustment parameter.
Claims16
A video decoder, comprising:
- circuitry to retrieve from a compressed video stream a current slice of a picture encoded in the compressed video stream, set a chroma motion vector for a current block of the current slice equal to a luma motion vector for the current block, determine whether the current block is a field block, and when the current block is a field block, adjust the chroma motion vector based on one or more pre-computed chroma motion vector adjustment arrays for the current slice, the current slice comprising multiple macroblocks and one of the multiple macroblocks comprising the current block, the circuitry to determine whether the current slice is a macroblock adaptive frame field (MBAFF) slice when the current block is a field block, the circuitry to determine whether the current block is a top block or a bottom block when the current slice is an MBAFF slice and the current block is a field block, and the circuitry to adjust the chroma motion vector based on top parameters comprised in a first pre-computed chroma adjustment array for a first reference list for the current slice and on top parameters comprised in a first pre-computed chroma adjustment array for a second reference list for the current slice when the current slice is an MBAFF slice and the current block is a top block.
A computer-implemented method, comprising:
- retrieving from a compressed video stream a current slice of a picture encoded in the compressed video stream;
- retrieving from the compressed video stream first and second reference lists for the current slice;
- setting, by a processor circuit, a chroma motion vector for a current block of the current slice equal to a luma motion vector for the current block;
- determining whether the current block is a field block;
- when the current block is a field block, adjusting the chroma motion vector based on one or more pre-computed chroma motion vector adjustment arrays for the current slice, the pre-computed chroma motion vector adjustment arrays pre-computed based on the first reference list and the second reference list, the current slice comprising multiple macroblocks and one of the multiple macroblocks comprising the current block;
- determining whether the current slice is a macroblock adaptive frame field (MBAFF) slice when the current block is a field block;
- determining whether the current block is a top block or a bottom block when the current slice is an MBAFF slice and the current block is a field block;
- and
- adjusting the chroma motion vector based on top parameters comprised in a first pre-computed chroma adjustment array for the first reference list for the current slice and on top parameters comprised in a first pre-computed chroma adjustment array for the second reference list for the current slice when the current slice is an MBAFF slice and the current block is a top block.
At least one non-transitory machine-readable medium comprising a set of instructions that, in response to being executed on a computing device, cause the computing device to:
- retrieve from a compressed video stream a current slice of a picture encoded in the compressed video stream;
- copy a luma motion vector for a current block of the current slice to a chroma motion vector for the current block;
- determine whether the current block is a field block;
- when the current block is a field block, adjust the chroma motion vector based on multiple pre-computed chroma motion vector adjustment arrays for the current slice, the current slice comprising multiple macroblocks and one of the multiple macroblocks comprising the current block
- determine whether the current slice is a macroblock adaptive frame field (MBAFF) slice when the current block is a field block;
- determine whether the current block is a top block or a bottom block when the current slice is an MBAFF slice and the current block is a field block;
- and
- adjust the chroma motion vector based on top parameters comprised in a first pre-computed chroma adjustment array for a first reference list for the current slice and on top parameters comprised in a first pre-computed chroma adjustment array for a second reference list for the current slice when the current slice is an MBAFF slice and the current block is a top block.
Dependencies are inferred from the claim text.