# US 12,764,276 B2 · Systems and methods for image processing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,764,276 B2
- Document ID: US12764276B2
- Status: Granted
- Kind: B2
- Application number: 19/203,170
- Filed: 2025-05-09
- Published: 2025-08-21
- Granted: 2026-10-13
- Earliest claimed: 2022-11-21
- Assignees: Zhejiang Dahua Technology Co., Ltd.
- Applicants: Zhejiang Dahua Technology Co., Ltd.
- Inventors: Cheng Fang; Jucai Lin; Dong Jiang; Jun Yin
- Web page: https://patentgrep.com/patent/US12764276B2

## CPC

- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure provides a system and a method for image processing. The system may include at least one storage device including a set of instructions; and at least one processor is in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to cause the system to perform operations, including: obtaining an image including a plurality of processed blocks and at least one block to be processed; for a block to be processed among the at least one block to be processed, determining at least two candidate blocks among the plurality of processed blocks; and determining a predicted value corresponding to the block to be processed based on the at least two candidate blocks.

## Claims

### Claim 1

A system for image processing, comprising:
at least one storage device including a set of instructions; and
at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to cause the system to perform operations including:
obtaining an image including a plurality of processed blocks and at least one block to be processed;
for a block to be processed among the at least one block to be processed, determining at least two candidate blocks among the plurality of processed blocks, including:
determining, based on one or more processing modes, one or more intermediate blocks corresponding to each of the one or more processing modes among the plurality of processed blocks; and
determining the one or more intermediate blocks corresponding to each of the one or more processing modes as the at least two candidate blocks; and
determining a predicted value corresponding to the block to be processed based on the at least two candidate blocks, including:
for each of the one or more processing modes,
determining a block weight corresponding to each of the one or more intermediate blocks that correspond to the processing mode; and
determining a mode weight corresponding to the processing mode; and
determining the predicted value corresponding to the block to be processed by performing a weighting processing on the at least two candidate blocks based on the block weights corresponding to the one or more processing modes and the one or more mode weights corresponding to the one or more processing modes.

### Claim 2 (depends on 1)

The system of claim 1, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining a reference region of the block to be processed;
determining a plurality of matching regions based on the reference region, each of the plurality of matching regions corresponding to a respective one processed block; and
determining the respective processed blocks corresponding to the plurality of matching regions as the at least two candidate blocks.

### Claim 3 (depends on 1)

The system of claim 1, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining, from the plurality of processed blocks, multiple processed blocks that are within a preset distance from the block to be processed;
ranking the multiple processed blocks based on cost values of the multiple processed blocks and/or distances of the multiple processed blocks; and
determining the at least two candidate blocks based on the ranking result.

### Claim 4 (depends on 1)

The system of claim 1, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining at least two reference regions of the block to be processed;
for each of the at least two reference regions, determining a plurality of matching regions corresponding to the reference region, each of the plurality of matching regions corresponding to a respective one processed block; and
determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions.

### Claim 5 (depends on 4)

The system of claim 4, wherein the at least two reference regions include at least two of a left region of the block to be processed, an upper region of the block to be processed, or a left-upper region of the block to be processed.

### Claim 6 (depends on 4)

The system of claim 4, wherein sizes of the at least two reference regions, positions of the at least two reference regions, and/or a count of the at least two reference regions are adjusted adaptively.

### Claim 7 (depends on 4)

The system of claim 4, wherein the determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions includes:
ranking the matching regions corresponding to the at least two reference regions based on cost values of the matching regions corresponding to the at least two reference regions; and
determining the at least two candidate blocks based on the ranking result.

### Claim 8 (depends on 4)

The system of claim 4, wherein the determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions includes:
for each of the at least two reference regions,
ranking the plurality of matching regions corresponding to the reference region based on cost values of the plurality of matching regions; and
determining, based on the ranking result, at least one target matching region from the plurality of matching regions; and
determining the at least two candidate blocks based on target matching regions corresponding to the at least two reference regions.

### Claim 9 (depends on 4)

The system of claim 4, wherein the determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions includes:
for each of the at least two reference regions,
determining a minimum cost value among cost values of the plurality of matching regions corresponding to the reference region;
selecting one or more target matching regions from the plurality of matching regions corresponding to the reference region, wherein a count of target matching regions selected from each of the reference regions are same or different; and
determining the at least two candidate blocks based on target matching regions corresponding to the at least two reference regions.

### Claim 10

A method for image processing, implemented on a computing device including at least one storage device and at least one processor, the method including:
obtaining an image including a plurality of processed blocks and at least one block to be processed;
for a block to be processed among the at least one block to be processed, determining at least two candidate blocks among the plurality of processed blocks, including:
determining, based on one or more processing modes, one or more intermediate blocks corresponding to each of the one or more processing modes among the plurality of processed blocks; and
determining the one or more intermediate blocks corresponding to each of the one or more processing modes as the at least two candidate blocks; and
determining a predicted value corresponding to the block to be processed based on the at least two candidate blocks, including: for each of the one or more processing modes,
determining a block weight corresponding to each of the one or more intermediate blocks that correspond to the processing mode; and
determining a mode weight corresponding to the processing mode; and
determining the predicted value corresponding to the block to be processed by performing a weighting processing on the at least two candidate blocks based on the block weights corresponding to the one or more processing modes and the one or more mode weights corresponding to the one or more processing modes.

### Claim 11 (depends on 10)

The method of claim 10, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining a reference region of the block to be processed;
determining a plurality of matching regions based on the reference region, each of the plurality of matching regions corresponding to a respective one processed block; and
determining the respective processed blocks corresponding to the plurality of matching regions as the at least two candidate blocks.

### Claim 12 (depends on 10)

The method of claim 10, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining, from the plurality of processed blocks, multiple processed blocks that are within a preset distance from the block to be processed;
ranking the multiple processed blocks based on cost values of the multiple processed blocks and/or distances of the multiple processed blocks; and
determining the at least two candidate blocks based on the ranking result.

### Claim 13 (depends on 10)

The method of claim 10, wherein the determining at least two candidate blocks among the plurality of processed blocks includes:
determining at least two reference regions of the block to be processed;
for each of the at least two reference regions, determining a plurality of matching regions corresponding to the reference region, each of the plurality of matching regions corresponding to a respective one processed block; and
determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions.

### Claim 14 (depends on 13)

The method of claim 13, wherein sizes of the at least two reference regions, positions of the at least two reference regions, and/or a count of the at least two reference regions are adjusted adaptively.

### Claim 15 (depends on 13)

The method of claim 13, wherein the determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions includes:
ranking the matching regions corresponding to the at least two reference regions based on cost values of the matching regions corresponding to the at least two reference regions; and
determining the at least two candidate blocks based on the ranking result.

### Claim 16 (depends on 13)

The method of claim 13, wherein the determining the at least two candidate blocks based on matching regions corresponding to the at least two reference regions includes:
for each of the at least two reference regions,
determining a minimum cost value among cost values of the plurality of matching regions corresponding to the reference region;
selecting one or more target matching regions from the plurality of matching regions corresponding to the reference region, wherein a count of the one or more target matching regions is negatively related to the minimum cost value corresponding to the reference region, wherein a count of target matching regions selected from each of the reference regions are same or different; and
determining the at least two candidate blocks based on target matching regions corresponding to the at least two reference regions.

### Claim 17

A non-transitory computer readable medium, comprising executable instructions that, when executed by at least one processor, direct the at least one processor to perform a method, the method comprising:
obtaining an image including a plurality of processed blocks and at least one block to be processed;
for a block to be processed among the at least one block to be processed, determining at least two candidate blocks among the plurality of processed blocks, including:
determining, based on one or more processing modes, one or more intermediate blocks corresponding to each of the one or more processing modes among the plurality of processed blocks; and
determining the one or more intermediate blocks corresponding to each of the one or more processing modes as the at least two candidate blocks; and
determining a predicted value corresponding to the block to be processed based on the at least two candidate blocks, including:
for each of the one or more processing modes,
determining a block weight corresponding to each of the one or more intermediate blocks that correspond to the processing mode; and
determining a mode weight corresponding to the processing mode; and
determining the predicted value corresponding to the block to be processed by performing a weighting processing on the at least two candidate blocks based on the block weights corresponding to the one or more processing modes and the one or more mode weights corresponding to the one or more processing modes.
