# US 8,787,689 B2 · Apparatus and method for correction of distortion in digital image data

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

- Number: US 8,787,689 B2
- Document ID: US8787689B2
- Status: Granted
- Kind: B2
- Application number: 13/472,139
- Filed: 2012-05-15
- Published: 2013-11-21
- Granted: 2014-07-22
- Earliest claimed: 2012-05-15
- Assignees: OmniVision Technologies, Inc.
- Applicants: Jizhang Shan; Chengyu Xiong
- Inventors: Jizhang Shan; Chengyu Xiong
- Web page: https://patentgrep.com/patent/US8787689B2

## CPC

- H04N 25/61: the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
- G06T 5/80: Geometric correction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/40: using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

An apparatus and method for correcting for distortion in distorted digital data for a distorted image to produce corrected digital data for a corrected image partitions the distorted digital data into a plurality of distorted data blocks. Each distorted data block is separately encoded into an encoded distorted data block. A plurality of corrected regions of the corrected image is defined, each corrected region being associated with a respective corrected data block. For each corrected data block, a plurality of associated encoded distorted data blocks is identified, the plurality of associated encoded distorted data blocks is decoded into a respective plurality of associated decoded distorted data blocks, and corrected image data for the corrected data block are generated using the associated decoded distorted data blocks.

## Claims

### Claim 1

A method for correcting for distortion in distorted digital data for a distorted image to produce corrected digital data for a corrected image, comprising:
(A) partitioning the distorted digital data into a plurality of distorted data blocks;
(B) separately encoding each distorted data block into an encoded distorted data block, the step of separately encoding consisting of:
separately encoding each of the distorted data blocks via a lossless or lossy data compression, and
indexing the encoded distorted data blocks for storing in an input bitstream memory;
(C) identifying a first plurality of associated encoded distorted data blocks associated with a first corrected data block;
(D) decoding only the first plurality of associated encoded distorted data blocks into a first set of associated decoded distorted data blocks;
(E) generating corrected image data for the first corrected data block using the first set of associated decoded distorted data blocks;
(F) identifying a second plurality of associated encoded distorted data blocks associated with a second corrected data block;
(G) decoding only the second plurality of associated encoded distorted data blocks into a second set of associated decoded distorted data blocks;
(H) generating corrected image data for the second corrected data block using the second set of associated decoded distorted data blocks and at least a portion of the first set of associated decoded distorted data blocks such that at least two of the plurality of corrected data blocks are associated with at least one common associated encoded distorted data block;
wherein steps (G) and (H) do not occur until after step (D).

### Claim 2 (depends on 1)

The method of claim 1, further comprising, for each corrected data block, encoding the corrected image data for the corrected data block to generate encoded corrected image data for the corrected data block, and storing the encoded corrected image data for the corrected data block in an output bitstream memory.

### Claim 3 (depends on 2)

The method of claim 2, further comprising outputting the encoded corrected image data for the corrected data block from the output bitstream memory.

### Claim 4 (depends on 1)

The method of claim 1, further comprising storing the indexed encoded distorted data blocks in an input bitstream memory.

### Claim 5

An apparatus for correcting for distortion in distorted digital data for a distorted image to produce corrected digital data for a corrected image, comprising:
an image signal processor having
an encoder for separately encoding each of a plurality of distorted data blocks of partitioned distorted digital data into a respective encoded distorted data block, the encoded distorted data blocks being encoded in a lossy or lossless data compression and having indices for storing in an input bitstream memory according to an index and without further operation thereon;
a processor configured for
(A) defining a plurality of distorted regions of the distorted image, such that each distorted region is associated with at least one respective corrected data block of the corrected digital data,
(B) for each of a first and second corrected data block, the processor identifying a respective first and second plurality of associated encoded distorted data blocks associated with the first and second corrected data blocks; and
a decoder for decoding
the first plurality of associated encoded distorted data blocks into a first set of associated decoded distorted data blocks, and
the second plurality of associated encoded distorted data blocks into a second set of associated decoded distorted data blocks;
wherein the processor is further configured to
generate corrected image data for the first corrected data block using the first set of associated decoded distorted data blocks, and
generate corrected image data for the second corrected data block using the second set of associated decoded distorted data blocks and at least a portion of the first set of associated decoded distorted data blocks such that at least two corrected data blocks are associated with at least one common associated encoded distorted data block, and
wherein the decoder decodes the second set of associated decoded distorted data blocks after the corrected image data for the first corrected data block is generated.

### Claim 6 (depends on 5)

The apparatus of claim 5, the image signal processor further having:
a second encoder, the second encoder, for each corrected data block, encoding the corrected image data for the corrected data block to generate encoded corrected image data for the corrected data block; and
an output bitstream memory, the output bitstream memory storing the encoded corrected image data for the corrected data block.

### Claim 7 (depends on 5)

The apparatus of claim 5, the input bitstream memory storing each encoded distorted data block according to the index.

### Claim 8

An apparatus, comprising:
an image sensor; and
an image signal processor, comprising:
a first encoder configured only for encoding and indexing a real-time distorted image from the image sensor into locatable encoded and indexed blocks of the distorted image;
an input bitstream memory for storing the locatable encoded and indexed blocks of the distorted image;
a decoder for decoding
a first set of associated encoded and indexed blocks of the locatable encoded and indexed blocks of the distorted image into a first set of decoded blocks of the distorted image, the first set of associated encoded and indexed blocks being associated to a first block of a corrected image, and
a second set of associated encoded and indexed blocks of the locatable encoded and indexed blocks of distorted image into a second set of decoded blocks of the distorted image, the second set of associated encoded and indexed blocks being associated to a second block of the corrected image;
a local memory for storing the sets of decoded blocks of the distorted image;
a processor configured for
correcting the first block of the corrected image using the first set of decoded blocks of the distorted image, wherein the first set of decoded blocks of the distorted image remain stored within the local memory, and
correcting the second block of the corrected image, after the first block, using the second set of decoded blocks of the distorted image and at least a portion of the first set of decoded blocks of the distorted image,
wherein the second set of decoded blocks is stored in the local memory after the processor corrects the first block of the corrected image;
a second encoder for encoding the corrected blocks of the corrected image; and
an output bitstream memory for storing the encoded corrected blocks of the corrected image.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the image sensor is formed on an image sensor chip.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the image signal processor is formed on an image signal processor chip.

### Claim 11

An image signal processor, comprising:
a first encoder configured only for encoding and indexing a real-time distorted image input into locatable encoded and indexed blocks of the distorted image;
an input bitstream memory for storing the locatable encoded and indexed blocks of the distorted image;
a decoder for decoding
a first set of associated encoded and indexed blocks of the locatable encoded and indexed blocks of the distorted image into a first set of decoded blocks of the distorted image, the first set of associated encoded and indexed blocks being associated to a first block of the corrected image, and
a second set of associated encoded and indexed blocks of the locatable encoded and indexed blocks of distorted image into a second set of decoded blocks of the distorted image, the second set of associated encoded and indexed blocks being associated to a second block of the corrected image;
a local memory for storing the sets of decoded blocks of the distorted image;
a processor configured for
correcting the first block of the corrected image using the first set of decoded blocks of the distorted image, wherein the first set of decoded blocks of the distorted image remain stored within the local memory, and
correcting the second block of the corrected image, after the first block, using the second set of decoded blocks of the distorted image and at least a portion of the first set of decoded blocks of the distorted image;
a second encoder for encoding the corrected block of the corrected image; and
an output bitstream memory for storing the encoded corrected block of the corrected image
wherein the second set of decoded blocks are stored within the local memory after the processor corrects the first block of the corrected image.

### Claim 12 (depends on 11)

The image signal processor of claim 11, wherein the image signal processor is formed on an image signal processor chip.
