IP Library › Granted Patent US 11,743,454
Granted Patent B2
US 11,743,454 · App. 17/699,021 · Granted Aug 29, 2023

Deriving reference sample positions in video coding

Inventors: Kai Zhang (San Diego, CA); Li Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Zhipin Deng (Beijing, CN); Jizheng Xu (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/105H04N19/132H04N19/159H04N19/176H04N19/186H04N19/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,743,454
App. No.
17/699,021
Granted
Aug 29, 2023
Kind
B2
Abstract

An example method of video processing includes determining, for a conversion between a current picture of a video and a coded representation of the video, a position of a reference sample in a reference picture that is associated with the current picture based on a top-left position of a window of a picture. The picture includes at least the current picture or the reference picture, and the window is subject to a processing rule during the conversion. The method also includes performing the conversion based on the determining.

Claims (136)

1. A method of video processing, comprising:

determining, for a conversion between a current block of a current picture of a video and a bitstream of the video, motion information of the current block in an inter prediction mode;

determining, for a first sample related to the current block, a location of a reference sample in a reference picture associated with the current block based on the motion information, one or more syntax elements included in the bitstream, and one or more scaling ratios; and

performing the conversion based on the reference sample,

wherein the one or more syntax elements are related to a window of the reference picture, and

wherein the one or more syntax elements indicate a left offset of the window of the reference picture and a top offset of the window of the reference picture,

wherein a location of an intermediate reference sample associated with a top left sample of the current block is derived based on the motion information, the one or more syntax elements, and a location of the top left sample of the current block, and wherein the location of the intermediate reference sample is further used to determine the location of the reference sample,

wherein a shift operation is applied to derive the location of the intermediate reference sample, and

wherein the location of the intermediate reference sample is further determined based on a color component and a color format of the current block,

wherein in response to the current block being a luma block,

refxSb L =(((xSb−(SubWidthC*offset0))<<4)+refMvLX[0])*ratio0, and

refySb L =(((ySb−(SubHeightC*offset1))<<4)+refMvLX[1])*ratio1;

wherein (refxSb L , refySb L ) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

2. The method of claim 1 , wherein

ref x L =((Sign(ref x Sb L )*((Abs(ref x Sb L )+128)>>8)+ x L *((ratio0+8)>>4))+fRefLeftOff+32>>6; and

ref y L =((Sign(ref y Sb L )*((Abs(ref y Sb L )+128)>>8)+ y L *((ratio1+8)>>4))+fRefTopOff+32>>6;

wherein Sign( ) is a function to derive a sign of a variable, and Abs( ) is a function to derive an absolute value of a variable,

wherein (refx L , refy L ) denotes the location of the reference sample,

wherein (x L , y L ) denotes the location of the first sample, and

wherein fRefLeftOff=(SubWidthC*offset0)<<10, and fRefTopOff=(SubHeightC*offset1)<<10.

3. The method of claim 2 , wherein in response to the current block being a chroma block,

refxSbc is determined based on (((xSb−(SubWidthC*offset0))/SubWidthC <<5)+refMvLX[0])*ratio0, and

refySbc is determined based on (((ySb−(SubHeightC*offset1))/SubHeightC <<5)+refMvLX[1])*ratio1;

wherein (refxSbc, refySbc) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

4. The method of claim 3 , wherein

refxc=((Sign (refxSbc)*((Abs(refxSbc)+256) >>9)+xc*((ratio0+8) >>4))+fRefLeftOff/SubWidthC+16) >>5; and

refyc=((Sign(refySbc)*((Abs(refySbc)+256) >>9)+yc*((ratio1+8) >>4))+fRefTopOff/SubHeightC+16) >>5;

wherein Sign( ) is a function to derive a sign of a variable, and Abs( ) is a function to derive an absolute value of a variable,

wherein (refxc, refyc) denotes the location of the reference sample,

wherein (xc, yc) denotes the location of the first sample, and

wherein fRefLeftOff=(SubWidthC*offset0)<<10, and fRefTopOff=(SubHeightC*offset1)<<10.

5. The method of claim 4 , wherein ratio0 and ratio1 are determined based on the window of the current picture and the window of the reference picture.

6. The method of claim 1 , wherein the window is a scaling window which is used for scaling ratio calculation in an inter prediction.

7. The method of claim 6 , wherein four different syntax elements are used to indicate the left offset and the top offset of the scaling window and a conformance window, and wherein samples outside the conformance window are disposable when outputting the video.

8. The method of claim 1 , wherein the conversion includes encoding the current block into the bitstream.

9. The method of claim 1 , wherein the conversion includes decoding the current block from the bitstream.

10. An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:

determine, for a conversion between a current block of a current picture of a video and a bitstream of the video, motion information of the current block in an inter prediction mode;

determine, for a first sample related to the current block, a location of a reference sample in a reference picture associated with the current block based on the motion information, one or more syntax elements included in the bitstream, and one or more scaling ratios; and perform the conversion based on the reference sample,

wherein the one or more syntax elements are related to a window of the reference picture, and

wherein the one or more syntax elements indicate a left offset of the window of the reference picture and a top offset of the window of the reference picture,

wherein a location of an intermediate reference sample associated with a top left sample of the current block is derived based on the motion information, the one or more syntax elements, and a location of the top left sample of the current block, and wherein the location of the intermediate reference sample is further used to determine the location of the reference sample,

wherein a shift operation is applied to derive the location of the intermediate reference sample, and

wherein the location of the intermediate reference sample is further determined based on a color component and a color format of the current block,

wherein in response to the current block being a luma block,

refxSb L =(((xSb−(SubWidthC*offset0))<<4)+refMvLX[0])*ratio0, and

refySb L =(((ySb−(SubHeightC*offset1))<<4)+refMvLX[1])*ratio1;

wherein (refxSb L , refySb L ) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

11. The apparatus of claim 10 , wherein in response to the current block being a luma block,

refx L =((Sign(refxSb L )*((Abs(refxSb L )+128) >>8)+x L ,*((ratio0+8) >>4))+fRefLeftOff+32) >>6; and

refy L =((Sign(refySb L )*((Abs(refySb L )+128) >>8)+yL*((ratio1+8) >>4))+frefTopOff+32) >>6;

wherein Sign( ) is a function to derive a sign of a variable, Abs( ) is a function to derive an absolute value of a variable, (refx L , refy L ) denotes the location of the reference sample, (X L , y L ) denotes the location of the first sample, and fRefLeftOff=(SubWidthC*offset0)<<10, and fRefropOff=(SubHeightC*offset1)<<10.

12. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

determine, for a conversion between a current block of a current picture of a video and a bitstream of the video, motion information of the current block in an inter prediction mode;

determine, for a first sample related to the current block, a location of a reference sample in a reference picture associated with the current block based on the motion information, one or more syntax elements included in the bitstream, and one or more scaling ratios; and

perform the conversion based on the reference sample,

wherein the one or more syntax elements are related to a window of the reference picture, and

wherein the one or more syntax elements indicate a left offset of the window of the reference picture and a top offset of the window of the reference picture,

wherein a location of an intermediate reference sample associated with a top left sample of the current block is derived based on the motion information, the one or more syntax elements, and a location of the top left sample of the current block, and wherein the location of the intermediate reference sample is further used to determine the location of the reference sample,

wherein a shift operation is applied to derive the location of the intermediate reference sample, and

wherein the location of the intermediate reference sample is further determined based on a color component and a color format of the current block,

wherein in response to the current block being a luma block,

refxSb L =(((xSb−(SubWidthC*offset0))<<4)+refMvLX[0])*ratio0, and

refySb L =(((ySb−(SubHeightC*offset1))<<4)+refMvLX[1])*ratio1;

wherein (refxSb L , refySb L ) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

13. A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:

determining, for a current block related to a current picture of the video, motion information of the current block in an inter prediction mode;

determining, for a first sample related to the current block, a location of a reference sample in a reference picture associated with the current block based on the motion information, one or more syntax elements included in the bitstream, and one or more scaling ratios; and

generating the bitstream based on the reference sample,

wherein the one or more syntax elements are related to a window of the reference picture, and

wherein the one or more syntax elements indicate a left offset of the window of the reference picture and a top offset of the window of the reference picture,

wherein a location of an intermediate reference sample associated with a top left sample of the current block is derived based on the motion information, the one or more syntax elements, and a location of the top left sample of the current block, and wherein the location of the intermediate reference sample is further used to determine the location of the reference sample,

wherein a shift operation is applied to derive the location of the intermediate reference sample, and

wherein the location of the intermediate reference sample is further determined based on a color component and a color format of the current block,

wherein in response to the current block being a luma block,

refxSb L =(((xSb−(SubWidthC*offset0))<<4)+refMvLX[0])*ratio0, and

refySb L =(((ySb−(SubHeightC*offset1))<<4)+refMvLX[1])*ratio1;

wherein (refxSbL, refySbL) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

14. The apparatus of claim 11 , wherein in response to the current block being a chroma block,

refxSbc is determined based on (((xSb−(SubWidthC*offset0))/SubWidthC <<5)+refMvLX[0])*ratio0, and

refySbc is determined based on (((ySb−(SubHeightC*offset1))/SubHeightC <<5)+refMvLX[1])*ratio1;

wherein (refxSbc, refySbc) is the location of the intermediate reference sample,

wherein (xSb, ySb) is the location of the top left sample of the current block,

wherein SubWidthC and SubHeightC are related to the color format of the current block,

wherein offset0 denotes the left offset of the window and offset1 denotes the top offset of the window,

wherein refMvLX[0] and refMvLX[1] denote a horizontal component and a vertical component of the motion information, and

wherein ratio0 denotes a horizontal scaling ratio, and ratio1 denotes a vertical scaling ratio.

15. The apparatus of claim 14 , wherein

refx C =((Sign (refxSb C )*((Abs(refxSb C )+256) >>9)+x C *((ratio0+8) >>4))+fRefLeftOff/SubWidthC+16) >>5; and

refy C =((Sign(refySb C )*((Abs(refySb C )+256) >>9)+y C *((ratio1+8) >>4))+fRefTopOff/SubHeightC+16) >>5;

wherein Sign( ) is a function to derive a sign of a variable, and Abs( ) is a function to derive an absolute value of a variable,

wherein (refx C , refy C ) denotes the location of the reference sample,

wherein (x C , y C ) denotes the location of the first sample, and

wherein fRefLeftOff=(SubWidthC*offset0)<<10, and fRefTopOff=(SubHeightC* offset1)<<10.

16. The apparatus of claim 15 , wherein ratio0 and ratio1 are determined based on the window of the current picture and the window of the reference picture.

17. The apparatus of claim 10 , wherein the window is a scaling window which is used for scaling ratio calculation in an inter prediction.

18. The apparatus of claim 17 , wherein four different syntax elements are used to indicate the left offset and the top offset of the scaling window and a conformance window, and wherein samples outside the conformance window are disposable when outputting the video.

19. The non-transitory computer-readable storage medium of claim 12 , wherein

refx L =((Sign (refxSb L )*((Abs(refxSb L )+128) >>8)+x L *((ratio0+8) >>4))+fRefLeftOff+32) >>6; and

refy L =((Sign(refySb L )*((Abs(refySb L )+128) >>8)+y L *((ratio1+8) >>4))+fRefTopOff+32) >>6;

wherein Sign( ) is a function to derive a sign of a variable, and Abs( ) is a function to derive an absolute value of a variable,

wherein (refx L , refy L ) denotes the location of the reference sample,

wherein (x L , y L ) denotes the location of the first sample, and

wherein fRefLeftOff=(SubWidthC*offset0)<<10, and fReffopOff=(SubHeightC* offset1)<<10.

20. The non-transitory computer-readable recording medium of claim 13 , wherein

refx L =((Sign (refxSb L )*((Abs(refxSb L )+128) >>8)+x L *((ratio0+8) >>4))+fRefLeftOff+32) >>6; and

refy L =((Sign(refySb L )*((Abs(refySb L )+128) >>8)+y L *((ratio1+8) >>4))+fRefTopOff+32) >>6;

wherein Sign( ) is a function to derive a sign of a variable, and Abs( ) is a function to derive an absolute value of a variable,

wherein (refx L , refy L ) denotes the location of the reference sample,

wherein (x L , y L ) denotes the location of the first sample, and

wherein fRefLeftOff=(SubWidthC*offset0)<<10, and fRefTopOff=(SubHeightC* offset1)<<10.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2022
From: ZHANG, KAI; ZHANG, LI; XU, JIZHENG
To: BYTEDANCE INC.
Reel/Frame 059323/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2022
From: LIU, HONGBIN; DENG, ZHIPIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 059323/0499 →
Continuity (2)
Continuation PCTCN2020116469 · Sep 21, 2020
Related Publication 20220232207A1 · Jul 21, 2022
Cited By (6)
US 12,395,661 US 12,407,812 US 12,425,597 US 12,483,691 US 12,615,394 US 12,726,651