IP Library Patent Application 19090156
Patent Application
App. No. 19/090,156

INTRA BLOCK COPY PREDICTION WITH ASYMMETRIC PARTITIONS AND ENCODER-SIDE SEARCH PATTERNS, SEARCH RANGES AND APPROACHES TO PARTITIONING

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 None
App. No.
19/090,156
Abstract

Innovations in intra block copy (“BC”) prediction as well as innovations in encoder-side search patterns and approaches to partitioning are described herein. For example, some of the innovations relate to use of asymmetric partitions for intra BC prediction. Other innovations relate to search patterns or approaches that an encoder uses during block vector estimation (for intra BC prediction) or motion estimation. Still other innovations relate to uses of BV search ranges that have a horizontal or vertical bias during BV estimation.

Claims (57)

1 . (canceled)

2 . In a computer system, a method comprising:

receiving a frame of a video sequence;

splitting the frame into multiple 2N×2N blocks, the multiple 2N×2N blocks including a current 2N×2N block of the frame;

encoding the current 2N×2N block of the frame to produce encoded data, the current 2N×2N block being within a given slice of the frame and being within a given tile of the frame, wherein the encoding the current 2N×2N block includes:

constraining values of vectors for intra block copy (“BC”) prediction to have integer-sample precision and to indicate reference regions that are within the given slice, within the given tile, and not overlapping the current 2N×2N block within the frame;

asymmetrically partitioning the current 2N×2N block into first and second partitions for intra BC prediction by splitting the current 2N×2N block horizontally or vertically into the first and second partitions, the first and second partitions having dimensions of 2N×(N/2) and 2N× (3N/2), respectively, or (N/2)×2N and (3N/2)×2N, respectively;

performing intra BC prediction for the first partition; and

performing intra BC prediction for the second partition; and

outputting the encoded data as part of a bitstream.

3 . The method of claim 2 , wherein the values of vectors for intra BC prediction are further constrained to indicate displacements to reference regions within a search range having a horizontal bias or a vertical bias, wherein, for the horizontal bias, the search range includes candidate vector values having a wider range of horizontal component values than vertical component values, and wherein, for the vertical bias, the search range includes candidate vector values having a wider range of vertical component values than horizontal component values.

4 . The method of claim 2 , wherein the encoding further includes, for the current 2N×2N block:

determining a first vector that indicates a first displacement to a first reference region of the frame;

determining a second vector that indicates a second displacement to a second reference region of the frame;

as part of the performing intra BC prediction for the first partition, using the first vector to determine predicted sample values for the first partition from previously reconstructed sample values in the first reference region of the frame; and

as part of the performing intra BC prediction for the second partition, using the second vector to determine predicted sample values for the second partition from previously reconstructed sample values in the second reference region of the frame.

5 . The method of claim 4 , wherein the determining the first vector includes identifying the first vector subject to a constraint that the first reference region is within a search range having a horizontal bias or a vertical bias, wherein, for the horizontal bias, the search range includes candidate vector values having a wider range of horizontal component values than vertical component values, and wherein, for the vertical bias, the search range includes candidate vector values having a wider range of vertical component values than horizontal component values.

6 . The method of claim 4 , wherein the determining the first vector includes:

identifying a current best location for prediction through iterative evaluation in a small neighborhood around the current best location, wherein the small neighborhood includes locations that are immediately adjacent horizontally or vertically to the current best location; and

confirming the current best location through iterative evaluation in successively larger neighborhoods around the current best location, wherein each of the larger neighborhoods includes locations in a ring outside the small neighborhood.

7 . The method of claim 2 , wherein the method further comprises performing intra BC prediction for another 2N×2N block that is symmetrically partitioned, and wherein the other 2N×2N block is partitioned into (1) two 2N×N blocks, (2) two N×2N blocks, or (3) four N×N blocks, each of which can be further partitioned into two N×(N/2) blocks, two (N/2)×N blocks or four (N/2)×(N/2) blocks.

8 . The method of claim 2 , wherein the current 2N×2N block is split horizontally, and the first and second partitions are top and bottom partitions, respectively.

9 . The method of claim 2 , wherein the current 2N×2N block is split vertically, and the first and second partitions are left and right partitions, respectively.

10 . The method of claim 2 , wherein the asymmetrically partitioning includes identifying how to partition the current 2N×2N block using a bottom-up approach that includes:

checking a subset of modes per N×N block of the current 2N×2N block;

caching vector values for the respective N×N blocks of the current 2N×2N block;

checking a subset of modes with a 2N-dimension for the current 2N×2N block, including using the cached vector values;

selecting a best mode with a 2N-dimension for the current 2N×2N block; and

selecting between the best mode with a 2N-dimension for the current 2N×2N block and best modes for the respective N×N blocks of the current 2N×2N block.

11 . The method of claim 2 , wherein the asymmetrically partitioning includes identifying how to partition the current 2N×2N block using a top-down approach that includes:

checking modes with a 2N-dimension for the current 2N×2N block;

selecting a best mode with a 2N-dimension for the current 2N×2N block;

for each N×N block of the current 2N×2N block, checking modes for the N×N block;

selecting a best combination of modes for the respective N×N blocks of the current 2N×2N block; and

selecting between the best mode with a 2N-dimension for the current 2N×2N block and the best combination of modes for the respective N×N blocks of the current 2N×2N block.

12 . A computer system comprising one or more processing units and memory, wherein the computer system implements a video decoder configured to perform operations comprising:

receiving encoded data as part of a bitstream; and

decoding the encoded data to reconstruct a frame of a video sequence, including performing intra block copy (“BC”) prediction for first and second partitions of a current 2N×2N block of the frame, the current 2N×2N block being within a given slice of the frame and being within a given tile of the frame, and values of vectors for the intra BC prediction being constrained to have integer-sample precision and to indicate reference regions that are within the given slice, within the given tile, and not overlapping the current 2N×2N block within the frame, the current 2N×2N block having been asymmetrically partitioned for the intra BC prediction, the current 2N×2N block having been split horizontally or vertically into the first and second partitions, the first and second partitions having dimensions of 2N× (N/2) and 2N× (3N/2), respectively, or (N/2)×2N and (3N/2)×2N, respectively.

13 . The computer system of claim 12 , wherein the decoding further includes performing intra BC prediction for another 2N×2N block that has been symmetrically partitioned, and wherein the other 2N×2N block has been partitioned into (1) two 2N×N blocks, (2) two N×2N blocks, or (3) four N×N blocks, each of which can be further partitioned into two N× (N/2) blocks, two (N/2)×N blocks or four (N/2)×(N/2) blocks.

14 . The computer system of claim 12 , wherein the decoding includes, for the current 2N×2N block:

reconstructing a first vector that indicates a first displacement to a first reference region of the frame;

reconstructing a second vector that indicates a second displacement to a second reference region of the frame;

as part of the performing intra BC prediction for the first partition, using the first vector to determine predicted sample values for the first partition from previously reconstructed sample values in the first reference region of the frame; and

as part of the performing intra BC prediction for the second partition, using the second vector to determine predicted sample values for the second partition from previously reconstructed sample values in the second reference region of the frame.

15 . The computer system of claim 12 , wherein the current 2N×2N block has been split horizontally, and the first and second partitions are top and bottom partitions, respectively.

16 . The computer system of claim 12 , wherein the current 2N×2N block has been split vertically, and the first and second partitions are left and right partitions, respectively.

17 . One or more non-transitory computer-readable media having stored thereon encoded data as part of a bitstream, the encoded data being organized to facilitate decoding, with a computer system that implements a video decoder, by operations comprising:

receiving the encoded data; and

decoding the encoded data to reconstruct a frame of a video sequence, including performing intra block copy (“BC”) prediction for first and second partitions of a current 2N×2N block of the frame, the current 2N×2N block being within a given slice of the frame and being within a given tile of the frame, and values of vectors for the intra BC prediction being constrained to have integer-sample precision and to indicate reference regions that are within the given slice, within the given tile, and not overlapping the current 2N×2N block within the frame, the current 2N×2N block having been asymmetrically partitioned for the intra BC prediction, the current 2N×2N block having been split horizontally or vertically into the first and second partitions, the first and second partitions having dimensions of 2N× (N/2) and 2N× (3N/2), respectively, or (N/2)×2N and (3N/2)×2N, respectively.

18 . The one or more computer-readable media of claim 17 , wherein the decoding further includes performing intra BC prediction for another 2N×2N block that has been symmetrically partitioned, and wherein the other 2N×2N block has been partitioned into (1) two 2N×N blocks, (2) two N×2N blocks, or (3) four N×N blocks, each of which can be further partitioned into two N× (N/2) blocks, two (N/2) xN blocks or four (N/2)×(N/2) blocks.

19 . The one or more computer-readable media of claim 17 , wherein the decoding includes, for the current 2N×2N block:

reconstructing a first vector that indicates a first displacement to a first reference region of the frame;

reconstructing a second vector that indicates a second displacement to a second reference region of the frame;

as part of the performing intra BC prediction for the first partition, using the first vector to determine predicted sample values for the first partition from previously reconstructed sample values in the first reference region of the frame; and

as part of the performing intra BC prediction for the second partition, using the second vector to determine predicted sample values for the second partition from previously reconstructed sample values in the second reference region of the frame.

20 . The one or more computer-readable media of claim 17 , wherein the current 2N×2N block has been split horizontally, and the first and second partitions are top and bottom partitions, respectively.

21 . The one or more computer-readable media of claim 17 , wherein the current 2N×2N block has been split vertically, and the first and second partitions are left and right partitions, respectively.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2025
From: ZHU, LIHUA; WU, YONGJUN; SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 071119/0277 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2025
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 071119/0288 →