IP Library Granted Patent US 12,375,711
Granted Patent B2
US 12,375,711 · App. 18/620,604 · Granted Jul 29, 2025

Encoder-side search ranges having horizontal bias or vertical bias

Inventors: Lihua Zhu (Mountain View, CA); Yongjun Wu (Bellevue, WA); Gary J. Sullivan (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/52H04N19/105H04N19/11H04N19/119H04N19/159H04N19/162H04N19/167H04N19/176H04N19/51H04N19/593H04N19/61H04N19/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 12,375,711
App. No.
18/620,604
Granted
Jul 29, 2025
Kind
B2
Abstract

Innovations in encoder-side search ranges having horizontal bias or vertical bias are described herein. For example, a video encoder determines a block vector (“BV”) for a current block of a picture, performs intra prediction for the current block using the BV, and encodes the BV. The BV indicates a displacement to a region within the picture. When determining the BV, the encoder checks a constraint that the region is within a BV search range having a horizontal bias or vertical bias. The encoder can select the BV search range from among multiple available BV search ranges, e.g., depending at least in part on BV values of one or more previous blocks, which can be tracked in a histogram data structure.

Claims (39)

1. In a computer system that implements a video encoder, a method comprising:

determining a block vector (“BV”) value for a current block of a given coding tree block of a current picture, the BV value indicating a displacement to a region within the current picture, wherein the determining the BV value for the current block includes identifying the BV value for the current block subject to a constraint that the region is within a BV search range having a horizontal bias or a vertical bias, wherein, for the horizontal bias, the BV search range includes candidate BV values having a wider range of horizontal BV component values than vertical BV component values, and wherein, for the vertical bias, the BV search range includes candidate BV values having a wider range of vertical BV component values than horizontal BV component values;

performing intra block copy prediction for the current block using the BV value for the current block; and

encoding the BV value for the current block.

2. The method of claim 1 , wherein the BV search range has a vertical bias.

3. The method of claim 2 , wherein the given coding tree block has a dimension S, and wherein the BV search range has a height between S and 2S, inclusive.

4. The method of claim 3 , wherein the BV search range has a width between ¼S and ¾S, inclusive.

5. The method of claim 1 , wherein the BV search range has a horizontal bias.

6. The method of claim 5 , wherein the given coding tree block has a dimension S, and wherein the BV search range has a width between S and 2S, inclusive.

7. The method of claim 6 , wherein the BV search range has a height between ¼S and ¾S, inclusive.

8. The method of claim 1 , further comprising selecting the BV search range from among multiple available BV search ranges.

9. The method of claim 8 , wherein the selecting:

depends at least in part on BV values of one or more previous blocks of the current picture and/or one or more previous pictures; or

depends at least in part on BV values of one or more previous blocks, wherein the BV values of the one or more previous blocks are tracked in a histogram data structure.

10. The method of claim 8 , wherein the selecting depends at least in part on a user setting.

11. The method of claim 1 , wherein a 2N×2N block includes the current block, the method further comprising identifying how to partition the 2N×2N block using a bottom-up approach that includes:

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

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

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

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

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

12. The method of claim 1 , wherein the determining the BV value for the current block 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.

13. The method of claim 1 , wherein the current block is part of a current coding tree block having dimensions N×N, the method further comprising identifying how to partition the current coding tree block into two partitions that have different dimensions.

14. The method of claim 1 , wherein the current block is part of a current slice of the current picture, and wherein the identifying the BV value for the current block is also subject to a constraint that the region is within the current slice.

15. 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, for a current picture of a video sequence; and

decoding the current picture using the encoded data, wherein the decoding the current picture includes:

decoding a block vector (“BV”) value for a current block of a given coding tree block of the current picture, the BV value indicating a displacement to a region within the current picture, wherein the BV value for the current block is subject to a constraint that the region is within a BV search range having a horizontal bias or a vertical bias, wherein, for the horizontal bias, the BV search range includes candidate BV values having a wider range of horizontal BV component values than vertical BV component values, and wherein, for the vertical bias, the BV search range includes candidate BV values having a wider range of vertical BV component values than horizontal BV component values; and

performing intra block copy prediction for the current block using the BV value for the current block.

16. The computer system of claim 15 , wherein the BV search range has a horizontal bias, wherein the given coding tree block has a dimension S, and wherein the BV search range has a width between S and 2S, inclusive.

17. The computer system of claim 15 , wherein the current block is part of a current slice of the current picture, the BV value for the current block is also subject to a constraint that the region is within the current slice.

18. One or more non-transitory computer-readable media having stored thereon encoded data, in a bitstream, for a current picture of a video sequence, the encoded data including data representing a block vector (“BV”) value for a current block of a given coding tree block of the current picture, the BV value indicating a displacement to a region within the current picture, wherein the BV value for the current block is subject to a constraint that the region is within a BV search range having a horizontal bias or a vertical bias, wherein, for the horizontal bias, the BV search range includes candidate BV values having a wider range of horizontal BV component values than vertical BV component values, and wherein, for the vertical bias, the BV search range includes candidate BV values having a wider range of vertical BV component values than horizontal BV component values, the encoded data resulting from encoding of the current picture by operations that include:

determining the BV value for the current block, including identifying the BV value for the current block subject to the constraint that the region is within the BV search range having the horizontal bias or the vertical bias;

performing intra block copy prediction for the current block using the BV value for the current block; and

encoding the BV value for the current block.

19. The one or more computer-readable media of claim 18 , wherein the BV search range has a horizontal bias, wherein the given coding tree block has a dimension S, and wherein the BV search range has a width between S and 2S, inclusive.

20. The one or more computer-readable media of claim 18 , wherein the current block is part of a current slice of the current picture, and wherein the BV value for the current block is also subject to a constraint that the region is within the current slice.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 067348/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: ZHU, LIHUA; WU, YONGJUN; SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 067348/0449 →
Continuity (6)
Continuation 18158295 · Jan 23, 2023
Continuation 17581446 · Jan 21, 2022
Continuation 14455856 · Aug 8, 2014
Provisional Application 61954572 · Mar 17, 2014
Provisional Application 61928970 · Jan 17, 2014
Related Publication 20240244252A1 · Jul 18, 2024
References Cited (79)
US 6249612B1 · Ogura · 2001 [cited by examiner]
US 9591325B2 · Li et al. · 2017 [cited by applicant]
US 10368091B2 · Li et al. · 2019 [cited by applicant]
US 10390034B2 · Zhu et al. · 2019 [cited by applicant]
US 10469863B2 · Zhu et al. · 2019 [cited by applicant]
US 10582213B2 · Li et al. · 2020 [cited by applicant]
US 10785486B2 · Li et al. · 2020 [cited by applicant]
US 10812817B2 · Li et al. · 2020 [cited by applicant]
US 11109036B2 · Li et al. · 2021 [cited by applicant]
US 11172207B2 · Li et al. · 2021 [cited by applicant]
US 11284103B2 · Zhu et al. · 2022 [cited by applicant]
US 11317113B2 · Li et al. · 2022 [cited by applicant]
US 11363283B2 · Li et al. · 2022 [cited by applicant]
US 11388433B2 · Zhu et al. · 2022 [cited by applicant]
US 11632558B2 · Li et al. · 2023 [cited by applicant]
US 11758162B2 · Li et al. · 2023 [cited by applicant]
US 11910005B2 · Zhu et al. · 2024 [cited by applicant]
US 11979600B2 · Zhu et al. · 2024 [cited by applicant]
US 11979601B2 · Zhu et al. · 2024 [cited by applicant]
US 20050226333A1 · Suzuki · 2005 [cited by examiner]
US 20130089134A1 · Wang et al. · 2013 [cited by applicant]
US 20130114720A1 · Wang et al. · 2013 [cited by applicant]
US 20140301465A1 · Kwon et al. · 2014 [cited by applicant]
US 20140376634A1 · Guo et al. · 2014 [cited by applicant]
US 20150195559A1 · Chen et al. · 2015 [cited by applicant]
US 20160100163A1 · Rapaka et al. · 2016 [cited by applicant]
US 20170302966A1 · Xu et al. · 2017 [cited by applicant]
US 20180063547A1 · Kobayashi · 2018 [cited by examiner]
US 20180184093A1 · Xu et al. · 2018 [cited by applicant]
US 20200351521A1 · Xu et al. · 2020 [cited by applicant]
US 20210360262A1 · Li et al. · 2021 [cited by applicant]
US 20220201326A1 · Li et al. · 2022 [cited by applicant]
US 20230009491A1 · Deng · 2023 [cited by applicant]
US 20230164315A1 · Lee et al. · 2023 [cited by applicant]
US 20230209068A1 · Li et al. · 2023 [cited by applicant]
US 20230353767A1 · Li et al. · 2023 [cited by applicant]
EP 3090553 · 2016 [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated Apr. 8, 2024, from European Patent Application No. 24151900.8, 2 pp. [cited by applicant]
Notice of Allowance dated Apr. 25, 2024, from U.S. Appl. No. 18/218,796, 5 pp. [cited by applicant]
Office Action dated Apr. 16, 2024, from Korean Patent Application No. 10-2023-7030245, 6 pp. [cited by applicant]
Sjoberg et al., “Overview of HEVC High-level Syntax and Reference Picture Management,” IEEE Trans. On Circuits and Systems for Video Technology, vol. 22, No. 12, 14 pp. (Oct. 2012). [cited by applicant]
Communication pursuant to Article 94(3) EPC dated Aug. 27, 2024, from European Patent Application No. 22182574.8, 7 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated Jun. 24, 2024, from European Patent Application No. 24159778.0, 2 pp. [cited by applicant]
Communication under Rule 71(3) EPC dated Sep. 4, 2018, from European Patent Application No. 13895617.2, 7 pp. [cited by applicant]
Decision to Grant dated Jun. 24, 2021, from European Patent Application No. 14903497.7, 2 pp. [cited by applicant]
Decision to Grant dated Feb. 1, 2024, from European Patent Application No. 15704401.7, 3 pp. [cited by applicant]
Examiner's Report dated May 16, 2024, from Canadian Patent Application No. 3,171,803, 4 pp. [cited by applicant]
Extended European Search Report dated May 16, 2024, from European Patent Application No. 24159778.0, 7 pp. [cited by applicant]
Final Office Action dated Jul. 30, 2024, from U.S. Appl. No. 17/390,570, 9 pp. [cited by applicant]
Intimation of Grant dated Jan. 30, 2024, from Indian Patent Application No. 201647022794, 1 p. [cited by applicant]
Intimation of Grant dated May 13, 2022, from Indian Patent Application No. 201647021659, 1 p. [cited by applicant]
Intimation of Grant dated May 17, 2023, from Indian Patent Application No. 201647010364, 1 p. [cited by applicant]
Intimation of Grant dated Nov. 13, 2023, from Indian Patent Application No. 201647024024, 1 p. [cited by applicant]
Intimation of Grant dated Dec. 31, 2023, from Indian Patent Application No. 201647042695, 1 p. [cited by applicant]
Intimation of Grant dated Feb. 22, 2024, from Indian Patent Application No. 201647028726, 1 p. [cited by applicant]
Notice of Allowance dated Jul. 16, 2018, from Mexican Patent Application No. MX/a/2016/009128, 2 pp. [cited by applicant]
Notice of Allowance dated Mar. 13, 2019, from U.S. Appl. No. 15/029,469, 5 pp. [cited by applicant]
Notice of Allowance dated Mar. 20, 2019, from U.S. Appl. No. 14/222,580, 8 pp. [cited by applicant]
Notice of Allowance dated Jan. 28, 2020, from Mexican Patent Application No. MX/a/2016/004705, 3 pp. [cited by applicant]
Notice of Allowance dated May 26, 2020, from U.S. Appl. No. 15/515,559, 8 pp. [cited by applicant]
Notice of Allowance dated Nov. 3, 2020, from Mexican Patent Application No. MX/a/2017/004211, 5 pp. [cited by applicant]
Notice on Grant of Patent dated Oct. 10, 2019, from Chinese Patent Application No. 201480071878.2, 4 pp. [cited by applicant]
Office Action dated Jul. 1, 2024, from U.S. Appl. No. 17/691,802, 15 pp. [cited by applicant]
Office Action dated Sep. 10, 2024, from U.S. Appl. No. 18/632,052, 8 pp. [cited by applicant]
Sharman et al., “AHG5: Super-high Tier Specification Targeted at the Intra 16-bit 4:4:4 Profile,” JCTVC-Q0186, r2, 8 pp. (Apr. 2014). [cited by applicant]
Xu et al., “On Unification of Intra Block Copy and Inter-picture Motion Compensation,” JCTVC-Q0132, v5, 14 pp. (Jan. 2014). [cited by applicant]
U.S. Appl. No. 18/404,749, filed Jan. 4, 2024. [cited by applicant]
U.S. Appl. No. 18/632,052, filed Apr. 10, 2024. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) dated Aug. 1, 2017, from European Patent Application No. 13895569.5, 2 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) dated Dec. 12, 2017, from European Patent Application No. 17175228.0, 2 pp. [cited by applicant]
Decision of Reexamination dated Apr. 4, 2020, from Chinese Patent Application No. 201480029735.5, , 18 pp. [cited by applicant]
Hearing Notice Received dated Oct. 25, 2023, from Indian Application No. 201647042695, 3 pp. [cited by applicant]
Notice of Allowance dated Oct. 1, 2024, from U.S. Appl. No. 17/390,570, 14 pp. [cited by applicant]
Notice of Allowance dated Oct. 21, 2024, from U.S. Appl. No. 17/691,802, 14 pp. [cited by applicant]
Notice of Allowance dated Dec. 3, 2024, from Korean Patent Application No. 10-2023-7030245, 8 pp. [cited by applicant]
Notice of Allowance dated Jan. 29, 2025, from U.S. Appl. No. 18/632,052, 5 pp. [cited by applicant]
Office Action dated Dec. 3, 2024, from U.S. Appl. No. 18/404,749, 26 pp. [cited by applicant]
Examiner's Report dated Apr. 17, 2025, from Canadian Patent Application No. 3,171,803, 3 pp. [cited by applicant]
Notice of Allowance dated May 13, 2025, from U.S. Appl. No. 18/404,749, 14 pp. [cited by applicant]