# US 10,123,029 B2 · Method and apparatus for processing video

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

- Number: US 10,123,029 B2
- Document ID: US10123029B2
- Status: Granted
- Kind: B2
- Application number: 14/841,321
- Filed: 2015-08-31
- Published: 2016-02-25
- Granted: 2018-11-06
- Earliest claimed: 2013-04-02
- Assignees: Chips & Media, Inc
- Applicants: Chips & Media, Inc
- Inventors: Wook Je Jeong; Min Yong Jeon; Dong Jin Park
- Web page: https://patentgrep.com/patent/US10123029B2

## CPC

- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/124: Quantisation
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/172: the region being a picture, frame or field
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/428: {Recompression, e.g. by spatial or temporal decimation}
- H04N 19/433: characterised by techniques for memory access
- H04N 19/573: Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
- H04N 19/58: Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one (H04N19/23 takes precedence)
- H04N 19/61: in combination with predictive coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Provided is an apparatus for processing a video. The apparatus for processing a video includes an image receiving module that is configured to receive encoded data, a filtering module that is configured to filter an image frame reconstructed from the encoded image, a block dividing module to divide the filtered image frame into a predetermined block dividing unit, a compression module to compress each of the plurality of blocks, to package the compressed plurality of blocks into a predetermined packaging unit, and to generate lookup table information corresponding to each of the packaged block, a frame buffer memory that is configured to record the packaged data, a first decompression module that is configured to perform first decompression of one or more of the recorded blocks corresponding to a particular frame for motion compensating by using the lookup table information, and a converter that is configured to decompress the recorded blocks to output sequentially by using the lookup table information.

## Claims

### Claim 1

A video processing apparatus for processing motion compensation of a plurality of frames, the video processing apparatus comprising:
an image receiver receiving encoded data;
a filter filtering an image frame reconstructed from the encoded data;
a block divider dividing a reference frame into a plurality of blocks in a predetermined block dividing unit, wherein the reference frame is obtained from the image frame and is transmitted to process the motion compensation module of the plurality of frames;
a compression processor selectively compressing each of the plurality of blocks, which is received from the block divider, in a lossless compression manner on a basis of reduction or non-reduction of bandwidths with respect to a frame buffer memory that contains the reference frame, —packaging the plurality of blocks in a unit of a burst group, wherein a size of the burst group corresponds to a burst length of the frame buffer memory, and generating lookup table information corresponding to each of the plurality of blocks;
the frame buffer memory recording the plurality of blocks, which is packaged, and the lookup table information, and providing the reference frame for the motion compensation by using the plurality of blocks and the lookup table information;
a first decompression processor performing a random access first decompression to one or more of the plurality of blocks corresponding to a particular frame for the motion compensation by using the lookup table information;
a converter sequentially decompressing and outputting the plurality of blocks in a different manner from the first decompression processor by using the lookup table information,
a second decompression processor sequentially decompressing the plurality of blocks; and
a line buffer temporarily storing the plurality of blocks, which is sequentially decompressed and outputting the same in a raster direction,
wherein the first decompression processor manages the lookup table information by a cache memory.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the converter
obtains the lookup table information from the frame buffer memory, and
sequentially gains the plurality of blocks based on the lookup table information,
wherein the lookup table information includes compression information, group identification information and offset information corresponding to each of the plurality of blocks.

### Claim 3 (depends on 1)

The apparatus of claim 1,
wherein the line buffer temporarily and sequentially stores the plurality of blocks, and outputs the plurality of blocks in the raster direction simultaneously.

### Claim 4 (depends on 1)

The apparatus of claim 1, the converter comprising:
an interface converter converting outputted decompressed data into an interface format for displaying.

### Claim 5 (depends on 4)

The apparatus of claim 4, further comprising:
a display controlling a display panel based on output data of the interface converter.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the compression processor performs compression or bypass for each of the plurality of the blocks using a plurality of code words different from each other according to each property of the plurality of blocks.

### Claim 7

A video processing method for processing motion compensation of a plurality of frames, the method comprising:
receiving an encoded image;
filtering an image frame reconstructed from the encoded image;
dividing a reference frame into a plurality of blocks in a predetermined block dividing unit;
selectively compressing each of the plurality of blocks in a lossless compression manner on a basis of reduction or non-reduction of bandwidths with respect to a frame buffer memory that contains the reference frame;
packaging the plurality of blocks into in a unit of a burst group, wherein a size of the burst group corresponds to a burst length of the frame buffer memory;
generating lookup table information corresponding to each of the plurality of blocks;
recording the plurality of blocks, which is packaged, and the lookup table information;
providing the reference frame for the motion compensation by using the plurality of blocks and the lookup table information;
performing a random access first decompression to one or more of the plurality of blocks corresponding to a particular frame for the motion compensation by using the lookup table information; and
sequentially performing second decompression to the plurality of blocks by using the lookup table information,
wherein the step of the second decompression comprises:
sequentially decompressing the recorded blocks;
temporarily storing the plurality of blocks, which is sequentially decompressed; and
outputting the same in raster scan order, and
wherein the step of the first decompression comprises managing the lookup table information by using a cache memory.

### Claim 8 (depends on 7)

The method of claim 7, the step of the performing second decompression comprising:
obtaining the lookup table information from the frame buffer memory; and
sequentially obtaining the plurality of blocks based on the lookup table information,
wherein the lookup table information comprises compression information, group identification information, and offset information corresponding to each of the plurality of blocks.

### Claim 9 (depends on 7)

The method of claim 7, the step of the outputting comprising:
temporarily and sequentially storing the plurality of blocks and outputting the plurality of blocks, which are temporarily prestored, in raster scan order simultaneously.

### Claim 10 (depends on 7)

The method of claim 7, the step of the second decompression comprising:
converting outputted decompressed data into an interface format for displaying.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
controlling display based on the converted data from interface converter.

### Claim 12 (depends on 7)

The method of claim 7, the step of the compressing comprising:
performing compression or bypass for each of the plurality of the blocks using a plurality of code words different from each other according to each property of the plurality of blocks.

### Claim 13

A non-transitory computer readable medium storing a program causing a computer to execute a video processing method, the video processing method for processing motion compensation of a plurality of frames comprising:
receiving an encoded image;
filtering an image frame reconstructed from the encoded image;
dividing a reference frame into a plurality of blocks in a predetermined block dividing unit;
selectively compressing each of the plurality of blocks in a lossless compression manner on a basis of reduction or non-reduction of bandwidths with respect to a frame buffer memory that contains the reference frame;
packaging the plurality of blocks into in a unit of a burst group, wherein a size of the burst group corresponds to a burst length of the frame buffer memory;
generating lookup table information corresponding to each of the plurality of blocks;
recording the plurality of blocks, which is packaged, and the lookup table information;
providing the reference frame for the motion compensation by using the plurality of blocks and the lookup table information;
performing a random access first decompression to one or more of the plurality of blocks corresponding to a particular frame for the motion compensation by using the lookup table information; and
sequentially performing second decompression to the plurality of blocks by using the lookup table information,
wherein the step of the second decompression comprises:
sequentially decompressing the recorded blocks;
temporarily storing the plurality of blocks, which is sequentially decompressed; and
outputting the same in raster scan order, and
wherein the step of the first decompression comprises managing the lookup table information by using a cache memory.

### Claim 14 (depends on 13)

The non-transitory computer readable medium of claim 13, the step of the performing second decompression comprising:
obtaining the lookup table information from the frame buffer memory; and
sequentially obtaining the plurality of blocks based on the lookup table information,
wherein the lookup table information comprises compression information, group identification information, and offset information corresponding to each of the plurality of blocks.
