IP Library Granted Patent US 11,438,613
Granted Patent B2
US 11,438,613 · App. 17/320,033 · Granted Sep 6, 2022

Buffer initialization for 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/433H04N19/105H04N19/132H04N19/137H04N19/139H04N19/146H04N19/159H04N19/176H04N19/186H04N19/1883H04N19/423H04N19/517H04N19/52H04N19/593H04N19/80H04N19/82H04N19/96H04N19/117H04N19/86
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,438,613
App. No.
17/320,033
Granted
Sep 6, 2022
Kind
B2
Abstract

A method of visual media processing includes determining a size of a buffer to store reference samples for prediction in an intra block copy mode; and performing a conversion between a current video block of visual media data and a bitstream representation of the current video block, using the reference samples stored in the buffer, wherein the conversion is performed in the intra block copy mode which is based on motion information related to a reconstructed block located in same video region with the current video block without referring to a reference picture.

Claims (60)

1. A method of visual media processing, comprising:

resetting a first buffer before coding video blocks that are in a first video region corresponding to a first coding tree unit (CTU) row of a video;

generating reconstructing samples for a first video block of the first video region;

storing the reconstructing samples into the first buffer without applying a filtering operation on the reconstructing samples;

determining, for a conversion of a second video block of the first video region and a bitstream of the video, that a first coding mode is applied on the second video block, wherein in the first coding mode, prediction samples of the second video block are derived from a same picture including the second video block;

deriving a block vector for the second video block;

generating prediction samples for the second video block based on the first buffer and the block vector; and

performing the conversion for the second video block based on the prediction samples of the second video block;

wherein the first buffer derived from the first video region is disabled for a second video region corresponding to a second CTU row which is different from the first CTU row,

wherein the first CTU row and the second CTU row are in the same picture,

wherein a corresponding location (Xbuf, Ybuf) in the first buffer is derived from a location (X, Y) specifying a starting sample of the first video block in a coding order based on a converting function, and wherein the storing reconstructing samples of the first video block is started from the (Xbuf, Ybuf), and the converting function is a modulus function.

2. The method of claim 1 , wherein the filtering operation includes use of at least one of: a deblocking filter or an adaptive loop filter (ALF) or a sample adaptive offset (SAO) filter or a cross-component ALF.

3. The method of claim 1 , wherein resetting the buffer includes initializing the buffer with a fix value.

4. The method of claim 1 , wherein the first and the second video region respectively comprise a tile or a slice.

5. The method of claim 1 , wherein a size and a shape of the first buffer are same with a second buffer used for the second video region.

6. The method of claim 1 , wherein the block vector is restricted within the first buffer by using a modulus function.

7. The method of claim 1 , wherein the block vector is restricted within the first buffer by using a clipping function.

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

9. The method of claim 1 , wherein the conversion includes decoding the second 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:

reset a first buffer before coding video blocks that are in a first video region corresponding to a first coding tree unit (CTU) row of a video;

generate reconstructing samples for a first video block of the first video region;

store the reconstructing samples into the first buffer without applying a filtering operation on the reconstructing samples;

determine, for a conversion of a second video block of the first video region and a bitstream of the video, that a first coding mode is applied on the second video block, wherein in the first coding mode, prediction samples of the second video block are derived from a same picture including the second video block;

derive a block vector for the second video block;

generate prediction samples for the second video block based on the first buffer and the block vector; and

perform the conversion for the second video block based on the prediction samples of the second video block;

wherein the first buffer derived from the first video region is disabled for a second video region corresponding to a second CTU row which is different from the first CTU row,

wherein the first CTU row and the second CTU row are in the same picture,

wherein a corresponding location (Xbuf, Ybuf) in the first buffer is derived from a location (X, Y) specifying a starting sample of the first video block in a coding order based on a converting function, and wherein the storing reconstructing samples of the first video block is started from the (Xbuf, Ybuf), and the converting function is a modulus function.

11. The apparatus of claim 10 , wherein resetting the buffer includes initializing the buffer with a fix value.

12. The apparatus of claim 10 , wherein a size and a shape of the first buffer are same with a second buffer used for the second video region.

13. The apparatus of claim 10 , wherein the block vector is restricted within the first buffer by using a modulus function.

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

reset a first buffer before coding video blocks that are in a first video region corresponding to a first coding tree unit (CTU) row of a video;

generate reconstructing samples for a first video block of the first video region;

store the reconstructing samples into the first buffer without applying a filtering operation on the reconstructing samples;

determine, for a conversion of a second video block of the first video region and a bitstream of the video, that a first coding mode is applied on the second video block, wherein in the first coding mode, prediction samples of the second video block are derived from a same picture including the second video block;

derive a block vector for the second video block;

generate prediction samples for the second video block based on the first buffer and the block vector; and

perform the conversion for the second video block based on the prediction samples of the second video block;

wherein the first buffer derived from the first video region is disabled for a second video region corresponding to a second CTU row which is different from the first CTU row,

wherein the first CTU row and the second CTU row are in the same picture,

wherein a corresponding location (Xbuf, Ybuf) in the first buffer is derived from a location (X, Y) specifying a starting sample of the first video block in a coding order based on a converting function, and wherein the storing reconstructing samples of the first video block is started from the (Xbuf, Ybuf), and the converting function is a modulus function.

15. 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:

resetting a first buffer before coding video blocks that are in a first video region corresponding to a first coding tree unit (CTU) row of the video;

generating reconstructing samples for a first video block of the first video region;

storing the reconstructing samples into the first buffer without applying a filtering operation on the reconstructing samples;

determining, for a conversion of a second video block of the first video region and a bitstream of the video, that a first coding mode is applied on the second video block, wherein in the first coding mode, prediction samples of the second video block are derived from a same picture including the second video block;

deriving a block vector for the second video block;

generating prediction samples for the second video block based on the first buffer and the block vector; and

generating the bitstream from the second video block based on the prediction samples;

wherein the first buffer derived from the first video region is disabled for a second video region corresponding to a second CTU row which is different from the first CTU row,

wherein the first CTU row and the second CTU row are in the same picture,

wherein a corresponding location (Xbuf, Ybuf) in the first buffer is derived from a location (X, Y) specifying a starting sample of the first video block in a coding order based on a converting function, and wherein the storing reconstructing samples of the first video block is started from the (Xbuf, Ybuf), and the converting function is a modulus function.

16. The apparatus of claim 10 , wherein the filtering operation includes use of at least one of: a deblocking filter or an adaptive loop filter (ALF) or a sample adaptive offset (SAO) filter or a cross-component ALF.

17. The apparatus of claim 10 , wherein the first and the second video region respectively comprise a tile or a slice.

18. The apparatus of claim 10 , wherein the block vector is restricted within the first buffer by using a clipping function.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the filtering operation includes use of at least one of: a deblocking filter or an adaptive loop filter (ALF) or a sample adaptive offset (SAO) filter or a cross-component ALF.

20. The non-transitory computer-readable storage medium of claim 14 , wherein a size and a shape of the first buffer are same with a second buffer used for the second video region.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 056241 FRAME: 0211. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Aug 24, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 057279/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: XU, JIZHENG; ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 057722/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: XU, JIZHENG; ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 056236/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 056241/0211 →
Priority Claims (1)
WO PCT/CN2019/074598 · Feb 2, 2019 · international
Continuity (2)
Continuation PCTCN2020074159 · Feb 2, 2020
Related Publication 20210297674A1 · Sep 23, 2021
Cited By (10)
US 12,192,531 US 12,238,314 US 12,284,374 US 12,301,793 US 12,316,838 US 12,389,022 US 12,407,828 US 12,457,332 US 12,568,201 US 12,713,074