Luma and chroma motion vector cleanup
The present WD text supports motion vectors for luma (mvLX) and chroma (mvCLX).
For 4:2:0, mvLX is assigned to mvCLX.
For Range Extension (AHG7) work this separation will not be required (see JCTVC-K0383), thus mvCLX is redundant text.
The following changes are suggested:
8.5.3 Decoding process for prediction units in inter prediction mode:
...
The decoding process for prediction units in inter prediction mode consists of the following ordered steps:
- The derivation process for motion vector components and reference indices as specified in subclause 8.5.3.1 is invoked with the luma coding block location ( xC, yC ), the luma prediction block location ( xB, yB ), the luma coding block size block nCS, the luma prediction block width and height, nPbW and nPbH, and the prediction unit index partIdx specifying as inputs and the luma motion vectors mvL0 and mvL1, the chroma motion vectors mvCL0 and mvCL1, the reference indices refIdxL0 and refIdxL1, and the prediction list utilization flags predFlagL0 and predFlagL1 as outputs.
- The decoding process for inter sample prediction as specified in subclause 8.5.3.2 is invoked with the luma coding block location ( xC, yC ), the luma prediction block location ( xB, yB ), the luma coding block size block nCS, the luma prediction block width height, nPbW and nPbH, the luma motion vectors mvL0 and mvL1, the chroma motion vectors mvCL0 and mvCL1, the reference indices refIdxL0 and refIdxL1, and the prediction list utilization flags predFlagL0 and predFlagL1 as inputs and the inter prediction samples (predSamples) which are a (nCSL)x(nCSL) array predSamplesL of prediction luma samples and two (nCSC)x(nCSC) arrays predSamplesCr, and predSamplesCr of prediction chroma samples, one for each of the chroma components Cb and Cr as outputs.
...
Remove the strings 'the chroma motion vectors mvCL0 and mvCL1, ' from 1. and 2.
8.5.3.1 Derivation process for motion vector components and reference indices:
...
Outputs of this process are
- luma motion vectors mvL0 and mvL1
- chroma motion vectors mvCL0 and mvCL1, <= Delete this line
- reference indices refIdxL0 and refIdxL1,
...
Delete the following paragraph:
...
When ChromaArrayType is not equal to 0 and predFlagLX (with X being either 0 or 1) is equal to 1, the derivation process for chroma motion vectors in subclause 8.5.3.1.8 is invoked with mvLX and refIdxLX as inputs and the output being mvCLX.
...
8.5.3.1.8 Derivation process for chroma motion vectors:
Delete this sub-clause
8.5.3.2 Decoding process for inter prediction samples:
...
- luma motion vectors mvL0 and mvL1,
- chroma motion vectors mvCL0 and mvCL1, <= Delete this line
- reference indices refIdxL0 and refIdxL1,
...
...
- The arrays predSamplesLXL, predSamplesLXCb, and predSamplesLXCr are derived by invoking the fractional sample interpolation process specified in subclause 8.5.3.2.2 with the luma locations ( xC, yC ), ( xB, yB ), the width and the height of the current luma prediction block nPbW, nPbH, the motion vectors mvLX, mvCLX, and the reference arrays with refPicLXL, refPicLXCb and refPicLXCr given as input.
...
Replace with:
...
- The arrays predSamplesLXL, predSamplesLXCb, and predSamplesLXCr are derived by invoking the fractional sample interpolation process specified in subclause 8.5.3.2.2 with the luma locations ( xC, yC ), ( xB, yB ), the width and the height of the current luma prediction block nPbW, nPbH, the motion vector mvLX, and the reference arrays with refPicLXL, refPicLXCb and refPicLXCr given as input.
...
8.5.3.2.2 Fractional sample interpolation process:
...
- a luma motion vector mvLX given in quarter-luma-sample units,
- a chroma motion vector mvCLX given in eighth-chroma-sample units, <= Delete this line
- the selected reference picture sample arrays refPicLXL, refPicLXCb, and refPicLXCr.
...
Prior to the paragraph beginning with:
"The location ( xP, yP ) given in full-sample units of..."
Insert the following paragraph:
"The luma motion vector mvLX is interpretted as a chroma motion vector specified in eighth-chroma-sample units when ChromaArrayType is equal to 1."
Eqn (8-180):
"xIntC = ( xP / 2 ) + ( mvCLX[ 0 ] >> 3 ) + xC"
Replace with:
"xIntC = ( xP / 2 ) + ( mvLX[ 0 ] >> 3 ) + xC"
Eqn (8-181):
"yIntC = ( yP / 2 ) + ( mvCLX[ 1 ] >> 3 ) + yC"
Replace with:
"yIntC = ( yP / 2 ) + ( mvLX[ 1 ] >> 3 ) + yC"
Change History (13)
Changed 12 years ago by DefaultCC Plugin
-
Cc
bbross wjhan jct-vc@… added
-
Version
changed from D9 (K1003) v9 to D9 (K1003) v10
-
Resolution
set to fixed
-
Status
changed from new to closed
-
Resolution
fixed deleted
-
Status
changed from closed to new
-
Version
changed from D9 (K1003) v10 to D9 (K1003) v11
-
Version
changed from D9 (K1003) v11 to D10 (L1003) v1
-
Version
changed from D10 (L1003) v1 to D10 (L1003) v2
-
Version
changed from D10 (L1003) v2 to D10 (L1003) v28
-
Version
changed from D10 (L1003) v28 to D10 (L1003) v31
-
Version
changed from D10 (L1003) v31 to D10 (L1003) v33
-
Resolution
set to wontfix
-
Status
changed from new to closed
| This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant - Benjamin Bross(Owner, Subscriber, Participant)
- Chris Rosewarne(Reporter)
- jct-vc@…(Subscriber)
- karl.sharman@…(Always)
- Karsten Suehring(Always)
- Woo-Jin Han(Subscriber)
|
The separated luma and chroma motion vectors have been used to handle different chroma formats, thus the present HEVC specification text is does not need modification.