IP Library Granted Patent US 11,985,308
Granted Patent B2
US 11,985,308 · App. 17/852,143 · Granted May 14, 2024

Implementation aspects in intra block copy in video coding

Inventors: Jizheng Xu (San Diego, CA); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/105H04N19/176H04N19/423H04N19/593
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,985,308
App. No.
17/852,143
Granted
May 14, 2024
Kind
B2
Abstract

A method of visual media processing includes determining, for a conversion between a current video block of visual media data and a bitstream representation of the current video block, a buffer that stores reference samples for prediction in an intra block copy mode; for a sample spatially located at location of the current video block relative to an upper-left position of a coding tree unit including the current video block and having a block vector, computing a corresponding reference in the buffer at a reference location, wherein the reference location is determined using the block vector and the location; and upon determining that the reference location lies outside the buffer, re-computing the reference location based at least in part on a location of the current video block relative to the coding tree unit including the current video block.

Claims (46)

1. A method of visual media processing, comprising:

determining, for a conversion of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

deriving a first block vector (BVx, BVy) for the current video block;

generating prediction samples for the current video block based on the first block vector and a luma buffer, wherein reconstructed samples of previous video blocks without being applied a filtering operation are stored in the luma buffer, and wherein in the first coding mode, the prediction samples are derived from a same video region in a same picture including the current video block; and

performing the conversion based on the prediction samples,

wherein for any pixel (x0, y0) in the current video block, y0+BVy and x0+BVx are restricted to a certain range, and

wherein elements of the luma buffer are reset with a fixed value.

2. The method of claim 1 , wherein a size of the luma buffer is indicated by M=mW and N=H, wherein M is a width of the luma buffer, N is a height of the luma buffer, W is a width of a coding tree block including the current video block, and H is a height of the coding tree block; and

wherein m is a positive integer and is derived based on W or H, and W, H, M and N are all positive integers.

3. The method of claim 1 , wherein xVb should be in a range of [0, . . . , M−1], and yVb should be in a range of [0, . . . , N−1], wherein (xVb, yVb) specifies a location determined based on the first block vector in the luma buffer.

4. The method of claim 1 , wherein the luma buffer is reset before coding a CTU row.

5. The method of claim 1 , wherein a reference area includes nearest available m−1 coding tree blocks in a coding tree block row.

6. The method of claim 1 , wherein after reconstructing a position (x, y) relative to an upper-left corner of a picture, a value at position (x mod M, y mod N) in the luma buffer is updated with a reconstructed value of the position (x, y).

7. The method of claim 1 , wherein the prediction samples are extracted from the luma buffer after a bit-depth alignment operation.

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

9. The method of claim 1 , wherein the conversion includes decoding the current video 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 of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

derive a first block vector (BVx, BVy) for the current video block;

generate prediction samples for the current video block based on the first block vector and a luma buffer, wherein reconstructed samples of previous video blocks without being applied a filtering operation are stored in the luma buffer, and wherein in the first coding mode, the prediction samples are derived from a same video region in a same picture including the current video block; and

perform the conversion based on the prediction samples,

wherein for any pixel (x0, y0) in the current video block, y0+BVy and x0+BVx are restricted to a certain range, and

wherein elements of the luma buffer are reset with a fixed value.

11. The apparatus of claim 10 , wherein a size of the luma buffer is indicated by M=mW and N=H, wherein M is a width of the luma buffer, N is a height of the luma buffer, W is a width of a coding tree block including the current video block, and H is a height of the coding tree block; and

wherein m is a positive integer and is derived based on W or H, and W, H, M and N are all positive integers.

12. The apparatus of claim 10 , wherein xVb should be in a range of [0, . . . , M−1], and yVb should be in a range of [0, . . . , N−1], wherein (xVb, yVb) specifies a location determined based on the first block vector in the luma buffer.

13. The apparatus of claim 10 , wherein the luma buffer is reset before coding a CTU row.

14. The apparatus of claim 10 , wherein a reference area includes nearest available m−1 coding tree blocks in a coding tree block row.

15. The apparatus of claim 10 , wherein after reconstructing a position (x, y) relative to an upper-left corner of a picture, a value at position (x mod M, y mod N) in the luma buffer is updated with a reconstructed value of the position (x, y).

16. The apparatus of claim 10 , wherein the prediction samples are extracted from the luma buffer after a bit-depth alignment operation.

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

determine, for a conversion of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

derive a first block vector (BVx, BVy) for the current video block;

generate prediction samples for the current video block based on the first block vector and a luma buffer, wherein reconstructed samples of previous video blocks without being applied a filtering operation are stored in the luma buffer, and wherein in the first coding mode, the prediction samples are derived from a same video region in a same picture including the current video block; and

perform the conversion based on the prediction samples,

wherein for any pixel (x0, y0) in the current video block, y0+BVy and x0+BVx are restricted to a certain range, and

wherein elements of the luma buffer are reset with a fixed value.

18. 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 that a first coding mode is applied on a current video block of the video;

deriving a first block vector (BVx, BVy) for the current video block;

generating prediction samples for the current video block based on the first block vector and a luma buffer, wherein reconstructed samples of previous video blocks without being applied a filtering operation are stored in the luma buffer, and wherein in the first coding mode, the prediction samples are derived from a same video region in a same picture including the current video block; and

generating the bitstream based on the prediction samples,

wherein for any pixel (x0, y0) in the current video block, y0+BVy and x0+BVx are restricted to a certain range,

wherein elements of the luma buffer are reset with a fixed value.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the luma buffer is reset before coding a CTU row.

20. The non-transitory computer-readable recording medium of claim 18 , wherein the luma buffer is reset before coding a CTU row.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: XU, JIZHENG; ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 060358/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 060358/0663 →
Priority Claims (7)
WO PCT/CN2019/076848 · Mar 4, 2019 · international
WO PCT/CN2019/077725 · Mar 11, 2019 · international
WO PCT/CN2019/079151 · Mar 21, 2019 · international
WO PCT/CN2019/085862 · May 7, 2019 · international
WO PCT/CN2019/088129 · May 23, 2019 · international
WO PCT/CN2019/091691 · Jun 18, 2019 · international
WO PCT/CN2019/093552 · Jun 28, 2019 · international
Continuity (3)
Continuation 17384246 · Jul 23, 2021
Continuation PCTCN2020077418 · Mar 2, 2020
Related Publication 20220353494A1 · Nov 3, 2022
Cited By (4)
US 12,238,314 US 12,284,374 US 12,389,022 US 12,568,201