# US 12,008,729 B2 · On-screen display (OSD) image processing method

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

- Number: US 12,008,729 B2
- Document ID: US12008729B2
- Status: Granted
- Kind: B2
- Application number: 17/655,601
- Filed: 2022-03-21
- Published: 2023-09-21
- Granted: 2024-06-11
- Earliest claimed: 2022-03-21
- Assignees: Novatek Microelectronics Corp.
- Applicants: Novatek Microelectronics Corp.
- Inventors: Ya-Lun Li
- Web page: https://patentgrep.com/patent/US12008729B2

## CPC

- G06T 3/4007: based on interpolation, e.g. bilinear interpolation (image demosaicing G06T3/4015; edge-driven or edge-based scaling G06T3/403)
- G06T 5/50: using two or more images, e.g. averaging or subtraction
- G06T 7/248: {involving reference images or patches}
- G06T 2207/20212: Image combination
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

In an on-screen display (OSD) image processing method for generating an interpolated frame with interpolated blocks, motion compensation is performed to generate motion compensation (MC) data according to a first motion vector referring to a previous frame and a second motion vector referring to a current frame. Zero-motion data are generated according to a zero-motion vector referring to the previous frame and the current frame. The MC data of a first weight and the zero-motion data of a second weight are blended to generate each interpolated block as a processed block. When the number of pixels having OSD data in the processed block is less than a first positive threshold and larger than a second positive threshold, the processed block is determined as an extended OSD block and the second weight of the extended OSD block is less than that of an OSD block.

## Claims

### Claim 1

An on-screen display (OSD) image processing method for generating an interpolated frame from a previous frame and a current frame, the interpolated frame comprising a plurality of interpolated blocks having OSD blocks, non-OSD blocks and extended OSD blocks, and the OSD image processing method comprising:
performing motion compensation to generate motion compensation (MC) data according to a first motion vector referring to the previous frame and a second motion vector referring to the current frame;
generating zero-motion data according to a zero-motion vector referring to the previous frame and the current frame, wherein a value of the zero-motion vector is zero; and
blending the MC data of a first weight and the zero-motion data of a second weight to generate each of the plurality of interpolated block as a processed block;
wherein when number of pixels having OSD data in the processed block is less than a first positive threshold and larger than a second positive threshold, the processed block is determined as the extended OSD block, and the second weight of the extended OSD block is less than the second weight of the OSD block.

### Claim 2 (depends on 1)

The OSD image processing method according to claim 1, wherein a sum of the first weight and the second weight is a constant positive value.

### Claim 3 (depends on 1)

The OSD image processing method according to claim 1, wherein the processed block is determined as the OSD block when the number of the pixels that have the OSD data is larger than or equal to the first positive threshold.

### Claim 4 (depends on 1)

The OSD image processing method according to claim 1, wherein the processed block is determined as the non-OSD block and the second weight of the processed block is zero when the number of the pixels that have the OSD data is less than or equal to the second positive threshold.

### Claim 5 (depends on 1)

The OSD image processing method according to claim 1, wherein in the step of blending the MC data of the first weight and the zero-motion data of the second weight to generate the processed block, first data of the previous frame where the processed block uses the first motion vector to refer to, second data of the current frame where the processed block uses the second motion vector to refer to, and the zero-motion data of the second weight are blended to generate the processed block, wherein the first data and the second data respectively have a third weight and a fourth weight.

### Claim 6 (depends on 5)

The OSD image processing method according to claim 5, wherein a sum of the third weight, the fourth weight, and the second weight is a constant positive value.

### Claim 7 (depends on 5)

The OSD image processing method according to claim 5, wherein the previous frame has a first block, the processed block uses the first motion vector to refer to the first block as a first reference block, and the third weight of the processed block is decreased when the first reference block is determined as the extended OSD block and the processed block is determined as the non-OSD block.

### Claim 8 (depends on 5)

The OSD image processing method according to claim 5, wherein the current frame has a second block, the processed block uses the second motion vector to refer to the second block as a second reference block, and the fourth weight of the processed block is decreased when the second reference block is determined as the extended OSD block and the processed block is determined as the non-OSD block.

### Claim 9 (depends on 5)

The OSD image processing method according to claim 5, wherein the previous frame has a first block, the processed block uses the first motion vector to refer to the first block as a first reference block, and the third weight of the processed block is increased when the first reference block and the processed block are determined as the extended OSD blocks.

### Claim 10 (depends on 5)

The OSD image processing method according to claim 5, wherein the current frame has a second block, the processed block uses the second motion vector to refer to the second block as a second reference block, and the fourth weight of the processed block is increased when the second reference block and the processed block are determined as the extended OSD blocks.

### Claim 11 (depends on 5)

The OSD image processing method according to claim 5, wherein the previous frame has a first block, the processed block uses the first motion vector to refer to the first block as a first reference block, the current frame has a second block, the processed block uses the second motion vector to refer to the second block as a second reference block, and the third weight of the processed block is decreased and the fourth weight of the processed block is increased when the first reference block is determined as the OSD block, the second reference block is determined as the non-OSD block, and the processed block is determined as the extended OSD block.

### Claim 12 (depends on 5)

The OSD image processing method according to claim 5, wherein the previous frame has a first block, the processed block uses the first motion vector to refer to the first block as a first reference block, the current frame has a second block, the processed block uses the second motion vector to refer to the second block as a second reference block, and the third weight of the processed block is increased and the fourth weight of the processed block is decreased when the first reference block is determined as the non-OSD block, the second reference block is determined as the OSD block, and the processed block is determined as the extended OSD block.

### Claim 13 (depends on 5)

The OSD image processing method according to claim 5, wherein the previous frame has a first block, the processed block uses the first motion vector to refer to the first block as a first reference block, the current frame has a second block, the processed block uses the second motion vector to refer to the second block as a second reference block, and the second weight of the processed block is increased when the first reference block and the second reference block are determined as the OSD blocks and the processed block is determined as the extended OSD block.

### Claim 14 (depends on 1)

The OSD image processing method according to claim 1, wherein the second weight of the extended OSD block is larger than zero when the processed block is determined as the extended OSD block.
