IP Library Granted Patent US 12,549,708
Granted Patent B2
US 12,549,708 · App. 18/104,984 · Granted Feb 10, 2026

Method and apparatus for patch book-based encoding and decoding of video data

Inventors: Dong Gyu Sim (Seoul, KR); Joo Hyung Byeon (Seoul, KR); Sea Nae Park (Seoul, KR); Seung Wook Park (Yongin-si, KR); Wha Pyeong Lim (Hwaseong-si, KR)
Assignees: HYUNDAI MOTOR COMPANY; KIA CORPORATION; KWANGWOON UNIVERSITY INDUSTRY-ACADEMIC COLLABORATION FOUNDATION
H04N19/105H04N19/132H04N19/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 12,549,708
App. No.
18/104,984
Granted
Feb 10, 2026
Kind
B2
Abstract

Disclosed are a method and an apparatus for patch book-based encoding and decoding of video data. A video data decoding method comprises the steps of: determining a patch book list for a block of video data; and determining one or more index values for the block. Each of the index values indicates a patch book entry having color values corresponding to a subset of pixels in the block, among patch book entries of the patch book list. The decoding method further comprises a step of reconstructing subsets of the pixels on the basis of the patch book list and the index values for the block.

Claims (61)

1 . A method for decoding video data, the method comprising:

determining a patchbook list for a block of video data, wherein the patchbook list includes patchbook entries and maps index values to patchbook entries, wherein at least one of the patchbook entries contains N×M elements defining colors for N×M pixels, and each of N×M elements has three color component values for an individual pixel, where either N or M is an integer greater than or equal to 2;

decoding one or more index values for the block of video data, wherein each of the decoded one or more index values indicates a corresponding patchbook entry to be used in predicting a subset in the block of video data among the patchbook entries of the patchbook list, wherein the subset is an array of a plurality of spatially adjacent pixels and within the block of video data, and a size of the array of the subset is the same as a size of the corresponding patchbook entry; and

reconstructing subsets subset-wisely based on the patchbook list for the block of video data and the decoded one or more index values,

wherein reconstructing the subsets includes:

generating predicted values for the subsets subset-wisely from patchbook entries indicated by the decoded one or more index values.

2 . The method of claim 1 , wherein reconstructing subsets of pixels includes:

determining residual values for the subsets from a bitstream; and

adding the residual values to the predicted values.

3 . The method of claim 1 , wherein reconstructing subsets includes generating reconstructed sample values for the subsets from patchbook entries indicated by the index values without determining residual values for the subsets from a bitstream.

4 . The method of claim 1 , further including:

determining whether the block contains a subset having escape pixels related to none of the patchbook entries of the patchbook list;

obtaining encoded sample values for the subset having escape pixels from a bitstream; and

performing inverse-transform and inverse quantization on the encoded sample values to reconstruct the subset having escape pixels.

5 . The method of claim 1 , further including:

determining whether the block contains a subset having escape pixels related to none of the patchbook entries of the patchbook list;

generating predicted values for the subset having escape pixels from a reconstructed block adjacent to the block;

obtaining residual values for the subset having escape pixels from a bitstream; and

inverse quantization adding the residual values to the predicted values to reconstruct the subset having escape pixels.

6 . The method of claim 1 , wherein determining a patchbook list for a block of video data includes:

determining a patchbook prediction list including one or more candidate patchbooks; and

determining at least one entry used in a patchbook list for the block of video data among entries of the patchbook prediction list.

7 . The method of claim 6 , wherein determining a patchbook prediction list includes determining entries of a patchbook list used for another previously reconstructed block of the video data as an entry of the patchbook prediction list.

8 . The method of claim 6 , wherein determining a patchbook prediction list includes, among previously reconstructed blocks of the video data, generating a new entry of the patchbook prediction list from (1) a reconstruction block of a block encoded in an intra prediction, (2) a reconstruction block of a block encoded in an inter prediction, or (3) a reconstruction block of a block encoded in an intra block copy (IBC) mode.

9 . The method of claim 1 , wherein determining a patchbook prediction list includes generating a new entry of the patchbook prediction list by stitching entries existing in a patchbook prediction list determined for another previously reconstructed block of the video data.

10 . The method of claim 1 , wherein determining a patchbook list for a block of video data includes:

identifying a default patchbook list specified by high level syntax elements signaled in a bitstream; and

determining at least one entry used for the patchbook list for the block of video data among entries of the default patchbook list.

11 . A method for encoding video data, the method comprising:

determining a patchbook list for a block of video data, wherein the patchbook list includes patchbook entries and maps index values to patchbook entries, and wherein at least one of the patchbook entries contains N×M elements defining colors for N×M pixels, and each of N×M elements has three color component values for an individual pixel, where either N or M is an integer greater than or equal to 2;

determining one or more index values for the block of video data, wherein each of the determined one or more index values indicates a corresponding patchbook entry to be used in predicting a subset in the block of video data among the patchbook entries of the patchbook list, wherein the subset is an array of a plurality of spatially adjacent pixels within the block of video data, and a size of the array of the subset is the same as a size of the corresponding patchbook entry;

encoding the determined one or more index values for the block of video data; and

generating predicted values for subsets subset-wisely from patchbook entries indicated by the determined one or more index values.

12 . The method of claim 11 , further including:

determining residual values for the subsets from predicted values for the subsets; and

encoding the residual values for the subsets.

13 . The method of claim 11 , further including:

determining whether the block of video data contains a subset having escape pixels related to none of the patchbook entries of the patchbook list; and

performing an encoding process including inverse-transform and inverse quantization on sample values of the subset having escape pixels.

14 . The method of claim 11 , further including:

determining whether the block of video data contains a subset having escape pixels related to none of the patchbook entries of the patchbook list;

generating predicted values for the subset having escape pixels from a reconstructed block adjacent to the block of video data;

generating residual values for the subset having escape pixels based on the predicted values for the subset having escape pixels; and

encoding the residual values for the subset having escape pixels.

15 . The method of claim 11 , further including:

determining a patchbook prediction list including one or more candidate patchbooks; and

encoding a sequence of binary flags indicating at least one entry used in the patchbook list for the block of video data among entries of the patchbook prediction list.

16 . The method of claim 15 , wherein determining a patchbook prediction list includes determining entries of the patchbook list used for another previously reconstructed block of the video data as an entry of the patchbook prediction list.

17 . The method of claim 15 , wherein determining a patchbook prediction list includes, among previously encoded blocks of the video data, generating a new entry from (1) a reconstructed block of a block encoded in an intra prediction, (2) a reconstructed block of a block encoded in an inter prediction, or (3) a reconstructed block of a block encoded in an intra block copy (IBC) mode.

18 . The method of claim 11 , wherein determining a patchbook prediction list includes generating a new entry by stitching entries existing in a patchbook prediction list determined for another previously reconstructed block of the video data.

19 . The method of claim 11 , wherein determining a patchbook list for a block of video data includes:

identifying a default patchbook list specified by high level syntax elements signaled in a bitstream; and

determining at least one entry used for the patchbook list for the block of video data among entries of the default patchbook list.

20 . A method for providing video data to a video decoding device, the method comprising:

encoding the video data into a bitstream; and

transmitting the bitstream to the video decoding device,

wherein encoding the video data comprises:

determining a patchbook list for a block of the video data, wherein the patchbook list includes patchbook entries and maps index values to patchbook entries, and wherein at least one of the patchbook entries contains N×M elements defining colors for N×M pixels, and each of N×M elements has three color component values for an individual pixel, where either N or M is an integer greater than or equal to 2;

determining one or more index values for the block of video data, wherein each of the determined one or more index values indicates a corresponding patchbook entry to be used in predicting a subset in the block of video data among the patchbook entries of the patchbook list, wherein the subset is an array of a plurality of spatially adjacent pixels within in the block of video data, and a size of the array of the subset is the same as a size of the corresponding patchbook entry;

encoding the determined one or more index values for the block of video data; and

generating predicted values for subsets subset-wisely from patchbook entries indicated by the determined one or more index values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2023
From: SIM, DONG GYU; BYEON, JOO HYUNG; PARK, SEA NAE; PARK, SEUNG WOOK; LIM, WHA PYEONG
To: HYUNDAI MOTOR COMPANY; KIA CORPORATION; KWANGWOON UNIVERSITY INDUSTRY-ACADEMIC COLLABORATION FOUNDATION
Reel/Frame 062602/0694 →
Priority Claims (2)
KR 10-2020-0097613 · Aug 4, 2020 · national
KR 10-2021-0102129 · Aug 3, 2021 · national
Continuity (2)
Continuation PCTKR2021010196 · Aug 4, 2021
Related Publication 20230188709A1 · Jun 15, 2023
References Cited (19)
US 10148977B2 · Yu · 2018 [cited by examiner]
US 10277894B2 · Gisquet et al. · 2019 [cited by applicant]
US 10659794B2 · Chen et al. · 2020 [cited by applicant]
US 11558627B2 · He et al. · 2023 [cited by applicant]
US 20130163661A1 · Zhang et al. · 2013 [cited by applicant]
US 20130163679A1 · Zhang et al. · 2013 [cited by applicant]
US 20160100179A1 · He et al. · 2016 [cited by applicant]
US 20160330455A1 · Lin et al. · 2016 [cited by applicant]
US 20170127058A1 · Misra · 2017 [cited by examiner]
US 20180077411A1 · Gisquet · 2018 [cited by examiner]
US 20190158854A1 · He et al. · 2019 [cited by applicant]
US 20200112745A1 · Joshi · 2020 [cited by examiner]
US 20200153885A1 · Lee · 2020 [cited by examiner]
US 20210217203A1 · Kim · 2021 [cited by examiner]
US 20220201278A1 · Zhao · 2022 [cited by examiner]
KR 20160114570A · 2016 [cited by applicant]
KR 101838320B1 · 2018 [cited by applicant]
KR 102088560B1 · 2020 [cited by applicant]
KR 20200051066A · 2020 [cited by applicant]