KR100585637B1 - Video compression circuit - Google Patents

Video compression circuit Download PDF

Info

Publication number
KR100585637B1
KR100585637B1 KR1019980063541A KR19980063541A KR100585637B1 KR 100585637 B1 KR100585637 B1 KR 100585637B1 KR 1019980063541 A KR1019980063541 A KR 1019980063541A KR 19980063541 A KR19980063541 A KR 19980063541A KR 100585637 B1 KR100585637 B1 KR 100585637B1
Authority
KR
South Korea
Prior art keywords
bits
error
prediction error
bit size
memory
Prior art date
Application number
KR1019980063541A
Other languages
Korean (ko)
Other versions
KR20000046814A (en
Inventor
나명수
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1019980063541A priority Critical patent/KR100585637B1/en
Publication of KR20000046814A publication Critical patent/KR20000046814A/en
Application granted granted Critical
Publication of KR100585637B1 publication Critical patent/KR100585637B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods

Abstract

본 발명은 각종 동영상 전송에 이용되는 MPEG의 디코딩 과정에서 요구되는 외부 메모리의 용량을 저감할 수 있도록 디코딩 과정에서 발생되는 영상을 압축하여 저장하고 필요시 압축을 해제하여 사용하는 기술에 관한 것으로, 이러한 본 발명의 목적은 순차적으로 입력되는 픽셀 데이터(PD)에 따라 다음 픽셀 데이터를 예측하고 그 예측된 데이터와 실제 데이터의 차를 구하는 제1에러검출부(11)와; 상기 제1에러검출부(11)의 출력신호를 공급받아 예측 오류 최대값의 합을 기준으로 각 열에서 사용될 수 있는 비트수를 결정하는 비트사이즈 결정부(12)와; 블록 메모리(15)로부터 화소 데이터를 순차적으로 읽어내어 다음 화소를 예측하고, 그 예측 오류를 상기 비트사이즈 결정부(12)에서 출력되는 비트수로 나타내는 제2에러검출부(13)와; 상기 제2에러검출부(13)에서 계산되어 출력되는 예측 오류값을 상기 비트사이즈 결정부(12)에서 출력되는 비트수 정보에 따라 메모리에 한 번에 저장할 수 있는 1byte의 크기로 정렬하여 출력하는 팩(14)과; 메모리로부터 순차적으로 읽혀지는 바이트를 블록 최초 픽셀값, 각 열의 최대 예측 오류에 대한 비트수, 각 픽셀의 예측 오류값으로 분리 공급하는 디코더에 의해 달성된다. The present invention relates to a technology for compressing and storing an image generated in the decoding process and decompressing it when necessary to reduce the capacity of an external memory required in the decoding process of MPEG used for various video transmission. An object of the present invention includes: a first error detector (11) for predicting next pixel data according to sequentially input pixel data (PD) and obtaining a difference between the predicted data and actual data; A bit size determiner 12 which receives the output signal of the first error detector 11 and determines the number of bits that can be used in each column based on the sum of the maximum prediction error values; A second error detection unit (13) which sequentially reads pixel data from the block memory (15) to predict the next pixel, and indicates the prediction error as the number of bits output from the bit size determination unit (12); A pack for arranging and outputting the predicted error value calculated by the second error detector 13 into a size of 1 byte that can be stored in the memory at one time according to the number of bits of information output from the bit size determiner 12 (14); This is achieved by a decoder that separately supplies bytes read sequentially from memory into the block initial pixel value, the number of bits for the maximum prediction error of each column, and the prediction error value of each pixel.

Description

영상 압축회로Video compression circuit

본 발명은 각종 동영상 전송에 각광을 받고 있는 엠펙(MPEG: Moving Picture Experts Group)의 디코딩 과정에서 요구되는 외부 메모리의 용량을 저감할 수 있도록 하는 기술에 관한 것으로, 특히 디코딩 과정에서 발생되는 영상을 압축하여 저장하고 필요시 압축을 해제하여 사용하도록한 영상 압축회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technology that can reduce the amount of external memory required in the decoding process of MPEG (MPEG), which is in the spotlight for various video transmission, and particularly, compresses an image generated in the decoding process. The present invention relates to an image compression circuit that is stored and decompressed when necessary.

통상의 MPEG 디코더는 최초 I-픽쳐, P-픽쳐, B-픽쳐를 저장하도록 되어 있으며, B-픽쳐에 대해 최적화를 사용하여 데이터량을 30% 정도 줄일 수 있는 방법이 제안되었다. 또한, 디코더 내부에 B-픽쳐를 위한 특정 형태의 메모리(dediated memory)를 구비해 두고, 외부 메모리에는 B-픽쳐 데이터를 저장하지 않는 형태의 디코더도 존재한다. 그러나, 이러한 형태의 디코더는 적어도 I-픽쳐와 P-픽쳐의 데이터만은 외부의 메모리에 저장해야 하므로 실질적으로는 화면 해상도에 의존하는 용량의 외부 메모리를 보유하게 되는 셈이다.Conventional MPEG decoders are intended to store first I-pictures, P-pictures, and B-pictures, and a method of reducing data amount by 30% by using optimization for B-pictures has been proposed. In addition, a decoder having a specific type of memory for a B-picture is provided inside the decoder, and a decoder that does not store B-picture data exists in the external memory. However, this type of decoder has an external memory of a capacity that substantially depends on the screen resolution since at least the data of the I-picture and the P-picture should be stored in the external memory.

이러한 문제점을 해결하기 위한 수단으로 영상 압축을 사용하는 디코더들이 몇몇 개발되었는 바, 이러한 디코더에는 MPEG 디코더 코어(core)와 메모리 사이에 압축/해제 회로를 구비해 두고 있다.Several decoders using image compression have been developed as a means to solve this problem. The decoder includes a compression / decompression circuit between the MPEG decoder core and the memory.

MPEG 디코더에서 B-픽쳐는 기준 픽쳐로 사용되지 않기 때문에 외부 메모리에 저장할 필요가 없으며, 단지 B-픽쳐 생성에 의해 발생되는 데이터를 디스플레이 장치측으로 전송해 주기만 하면 된다. B-픽쳐는 8×8 픽셀 단위로 생성되는데, 이는 화면에 나타나는 라스터 스캔(raster scan) 순서와 일치하지 않는다. Since the B-picture is not used as a reference picture in the MPEG decoder, it does not need to be stored in an external memory, and only the data generated by the B-picture generation is transmitted to the display apparatus. B-pictures are created in 8 by 8 pixels, which does not match the raster scan order that appears on the screen.

따라서, 순차적으로 생성되는 8×8 블록을 버퍼링하여 순차적인 스캔 순서에 적합하도록 디스플레이 장치측으로 전송해주면 되는데, 이러한 회로를 "Macroblock to raster scan" 회로라 한다. 이 회로는 단순히 상기에서 설명된 동작을 위한 버퍼 메모리와 제어회로로 구성되며, 그 버퍼 메모리는 8×N byte의 크기를 갖는다. 여기서, N : 스캔당 매크로블록 수Accordingly, the 8 × 8 blocks that are sequentially generated may be buffered and transmitted to the display device so as to be suitable for the sequential scanning order. Such a circuit is called a “macroblock to raster scan” circuit. This circuit simply consists of a buffer memory and a control circuit for the operation described above, the buffer memory having a size of 8 x N bytes. Where N is the number of macroblocks per scan

영상압축을 수행하여 외부 메모리의 용량을 저감하는 방법에는 여러 가지가 있으나, 대부분의 경우 하드웨어의 구조를 간단히 하기 위해 적응 차분 펄스 부호변조방식(ADPCM)과 추가 엔코딩 방법을 사용하는데, 이때, 일반적으로 알려진 정영상 압축 알고리즘들이 사용된다.There are many ways to reduce the capacity of external memory by performing image compression. However, in most cases, an adaptive differential pulse code modulation (ADPCM) and an additional encoding method are used to simplify the structure of the hardware. Known still image compression algorithms are used.

탁월한 압축율을 나타내는 알고리즘들을 사용할 수도 있지만, 하드웨어 구현상의 문제점으로 인하여 영상 압축만을 위한 하드웨어가 아닌 이상 사용하기 어렵다. 또한, 이러한 알고리즘들은 무손실 압축이라는 장점을 가지고 있으나, 서로 다른 정영상에 대해 서로 다른 압축율을 갖게 되므로 제한된 메모리 자원을 갖는 분야에서는 사용할 수 없다.Algorithms that show excellent compression ratios may be used, but due to problems in hardware implementation, they are difficult to use unless they are hardware only for image compression. In addition, these algorithms have the advantage of lossless compression, but because they have different compression ratios for different still images, they cannot be used in fields with limited memory resources.

이에 반해 ADPCM을 사용하여 엔코딩하는 방식에서는 일정한 압축율을 얻을 수 있다는 장점이 있으나 손실 압축이라는 단점을 가지고 있다. On the other hand, the encoding method using ADPCM has the advantage of obtaining a constant compression ratio, but has the disadvantage of lossy compression.

이와 같이 종래기술에 있어서는 압축을 이용하지 않을 경우 큰 용량의 외부 메모리를 필요로 하게 되어 시스템의 원가를 상승시키는 문제점이 있었다. 또한, ADPCM 등을 사용하여 압축하는 방식에서는 한 블록내의 모든 픽셀에 동등한 비트수를 사용하여 엔코딩 하므로 한 픽셀을 나타내는데 비트를 낭비하게 되거나 모자라는 비트로 인하여 양자화 과정에서 오류 등을 야기시키는 문제점이 있었다.As described above, in the prior art, when the compression is not used, a large capacity external memory is required, thereby increasing the cost of the system. In addition, in the compression method using ADPCM or the like, encoding is performed using the same number of bits in all the pixels in a block, which causes a problem of causing an error in the quantization process due to wasting bits or lacking in representing one pixel.

따라서, 본 발명이 이루고자 하는 기술적 과제는 영상 데이터를 외부 메모리에 저장할 때 영상 압축을 통해 외부 메모리의 용량을 저감시킴에 있어서, 픽셀 데이터를 예측하고 그 정보가 가변비트 크기를 갖도록 엔코딩하는 영상 압축회로를 제공함에 있다. Accordingly, an object of the present invention is to reduce the capacity of an external memory through image compression when storing image data in an external memory, and to predict pixel data and encode the information to have a variable bit size. In providing.

도 1은 본 발명의 목적을 달성하기 위한 영상 압축회로에서 엔코더의 일실시 구현예를 보인 블록도로서 이에 도시한 바와 같이, 순차적으로 입력되는 픽셀 데이터(PD)에 따라 다음 픽셀 데이터를 예측하고 그 예측된 데이터와 실제 데이터의 차를 구하는 제1에러검출부(11)와; 상기 제1에러검출부(11)의 출력신호를 공급받아 예측 오류 최대값의 합을 기준으로 각 열에서 사용될 수 있는 비트수를 결정하는 비트사이즈 결정부(12)와; 블록 메모리(15)로부터 화소 데이터를 순차적으로 읽어내어 다음 화소를 예측하고, 그 예측 오류를 상기 비트사이즈 결정부(12)에서 출력되는 비트수로 나타내는 제2에러검출부(13)와; 상기 제2에러검출부(13)에서 계산되어 출력되는 예측 오류값을 상기 비트사이즈 결정부(12)에서 출력되는 비트수 정보에 따라 메모리에 한 번에 저장할 수 있는 1byte의 크기로 정렬하여 출력하는 팩(14)으로 구성하였다.1 is a block diagram showing an embodiment of an encoder in an image compression circuit for achieving the object of the present invention, as shown here, predicts the next pixel data according to the sequentially input pixel data (PD) A first error detector (11) for obtaining a difference between the predicted data and the actual data; A bit size determiner 12 which receives the output signal of the first error detector 11 and determines the number of bits that can be used in each column based on the sum of the maximum prediction error values; A second error detection unit (13) which sequentially reads pixel data from the block memory (15) to predict the next pixel, and indicates the prediction error as the number of bits output from the bit size determination unit (12); A pack for arranging and outputting the predicted error value calculated by the second error detector 13 into a size of 1 byte that can be stored in the memory at one time according to the number of bits of information output from the bit size determiner 12 It consisted of (14).

도 2는 본 발명의 목적을 달성하기 위한 영상 압축회로에서 디코더의 일실시 구현예를 보인 블록도로서 이에 도시한 바와 같이, 순차적으로 입력되는 압축 영상데이터(CP)에서 블록정보에 관련된 정보를 검출하여 그 중 비트수 정보로부터 1byte 단위로 입력되는 데이터에서 각 비트를 검출하여 8bit 크기로 재정렬시켜 출력하는 언팩(UNPACK)(21)과; 상기 언팩(21)의 출력신호를 공급받아 예측 오류 최대값의 합을 기준으로 각 열에서 사용될 수 있는 비트수를 결정하는 비트사이즈 결정부(22)와; 상기 비트사이즈 결정부(22)로부터 순차적으로 입력되는 예측 오류값을 누산하여 압축이 해제된 픽셀(DP)을 출력하는 신장부(23)로 구성하였다.FIG. 2 is a block diagram showing an embodiment of a decoder in an image compression circuit for achieving the object of the present invention. As shown therein, information related to block information is sequentially detected from compressed image data CP. Unpack (UNPACK) (21) for detecting each bit in the data input in units of 1 byte from the number of bits of information and rearranged to the size of 8 bits; A bit size determiner 22 which receives the output signal of the unpack 21 and determines the number of bits that can be used in each column based on the sum of the prediction error maximum values; The decompression unit 23 outputs the decompressed pixel DP by accumulating prediction error values sequentially input from the bit size determination unit 22.

이와 같이 구성한 본 발명의 작용을 첨부한 도 3을 참조하여 상세히 설명하면 다음과 같다.Referring to Figure 3 attached to the operation of the present invention configured as described above in detail as follows.

도 1과 같은 엔코더는 순차적으로 입력되는 픽셀 데이터(PD)를 내부 버퍼메모리 즉, 블록 메모리(15)에 저장하고, 이때, 제1에러검출부(11)는 그 픽셀 데이터(PD)로부터 픽셀 정보를 예측하여 그 예측된 데이터와 실제 데이터의 차를 구하며, 제1에러검출부(11)로부터 압축을 시작하게 된다.The encoder as shown in FIG. 1 stores the pixel data PD sequentially input in the internal buffer memory, that is, the block memory 15. At this time, the first error detection unit 11 receives the pixel information from the pixel data PD. The prediction is performed to find the difference between the predicted data and the actual data, and the compression is started from the first error detection unit 11.

상기 제1에러검출부(11)에서 사용하는 예측 알고리즘은 예측하려는 정보를 p'(x,y)라 하고 원래의 데이터를 p(x,y)라 할 때, p'(x,y) = {p(x,y-1) + p(x-1,y)}/2로 표현할 수 있다. 결과적으로 그 제1에러검출부(11)의 출력은 |p(x,y)-p'(x,y)| = |p(x,y)-(p(x,y-1)+p(x-1,y))/2|이다.In the prediction algorithm used by the first error detector 11, when the information to be predicted is p '(x, y) and the original data is p (x, y), p' (x, y) = { p (x, y-1) + p (x-1, y)} / 2. As a result, the output of the first error detection unit 11 is | p (x, y) -p '(x, y) | = | p (x, y)-(p (x, y-1) + p (x-1, y)) / 2 |

비트사이즈 결정부(12)는 상기 제1에러검출부(11)의 출력신호를 공급받아 각 열에서 발생하는 예측 오류, |p(x,y)-p'(x,y)|를 차례로 비교하여 각 열의 최대 예측 오류를 구하게 된다. 이 비교과정을 통해 구한 8개의 최대 예측 오류값은 비트사이즈 계산부(12E)에 의해 최대 예측 오류를 나타내기 위한 최소 비트수로 변환된다. The bit size determiner 12 receives the output signal of the first error detector 11 and compares the prediction error occurring in each column and | p (x, y) -p '(x, y) | The maximum prediction error for each column is found. The eight maximum prediction error values obtained through this comparison process are converted into the minimum number of bits for indicating the maximum prediction error by the bit size calculator 12E.

예를 들면, 임의의 열에서 발생한 최대 예측 오류가 "00000100"일 경우, 최소 3비트를 사용하여 한 열에서 발생한 임의의 예측 오류를 나타낼 수 있다. 이와 같은 경우 상기 비트사이즈 결정부(12)는 비교기(12D) 단에서 "00000100"을 돌리고, 비트사이즈 계산부(12E)에서 "011"을 출력하여 레지스터부(12F)에 저장된다.For example, when the maximum prediction error occurring in any column is "00000100", it may represent any prediction error occurring in one column using at least 3 bits. In this case, the bit size determination unit 12 turns " 00000100 " at the comparator 12D stage, outputs " 011 " at the bit size calculation unit 12E, and stores the result in the register unit 12F.

각 열에서 발생한 8개의 최대 예측 오류는 덧셈기(12H)에 의해 모두 더해지게 되는데, 이 값은 한 블록을 나타내는데 필요한 byte수가 된다. 따라서, 이 수가 한 영상 블록에 할당된 메모리 크기보다 크다면 압축에 문제가 발생될 것이다.The eight maximum prediction errors in each column are added together by the adder 12H, which is the number of bytes needed to represent one block. Therefore, if this number is larger than the memory size allocated to one image block, compression problems will occur.

결국, 한 영상 블록을 정해진 메모리 공간 내에 압축 저장하기 위해 이 전체 바이트수를 기준으로 각 열의 정보를 나타낼 비트수를 결정하게 되는 것이다. 각 열의 데이터에 할당되는 비트수는 다음과 같이 구할 수 있다. As a result, in order to compress and store one image block in a predetermined memory space, the number of bits representing information of each column is determined based on the total number of bytes. The number of bits allocated to the data of each column can be obtained as follows.

할당 비트수 = 최대 예측오류비트수 - (전체바이트수-28)/8 Number of bits allocated = Maximum number of prediction error bits-(Total bytes-28) / 8

여기서, 28은 임의의 값일 수 있는데, 예의 28은 2:1 압축율을 얻기 위한 값이다.Here, 28 may be any value, and example 28 is a value for obtaining a 2: 1 compression ratio.

다음으로 제2에러검출부(13)에 의해 실제 압축 코딩이 시작된다. 이 제2에러검출부(13)는 블록 메모리(15)에서 화소 데이터를 순차적으로 읽어내어 다음 화소를 예측하고 그 예측 오류를 상기 비트사이즈 결정부(12)에서 출력되는 비트수로 표현하여 팩(14)측으로 출력한다. Next, the actual compression coding is started by the second error detection unit 13. The second error detector 13 sequentially reads pixel data from the block memory 15 to predict the next pixel, and expresses the prediction error as the number of bits output from the bit size determiner 12 to pack 14. To the () side.

변환된 예측 오류값은 다시 예측값과 더해져 상기 블록 메모리(15)내의 해당 위치에 저장되고, 이후 다른 픽셀의 데이터의 예측에 사용될 수 있도록 한다.The transformed prediction error value is then added to the prediction value and stored at that location in the block memory 15 so that it can be used for prediction of data of another pixel.

상기 팩(14)은 단순히 상기 제2에러검출부(13)에서 출력되는 가변비트 크기의 데이터와 각 열의 최대 예측 오류에 대한 비트수, 블록의 최초 픽셀값을 1byte 단위로 정렬하여 출력하는 역할을 수행한다.The pack 14 simply arranges and outputs the variable bit size data output from the second error detector 13, the number of bits for the maximum prediction error of each column, and the first pixel value of the block in units of 1 byte. do.

한편, 도 2와 같은 디코더에서는 메모리로부터 읽혀지는 순차적인 byte를 블록 최초 픽셀값, 각 열의 최대 예측 오류에 대한 비트수, 각 픽셀의 예측 오류값으로 분리 공급하는 역할을 수행한다. 비트사이즈 결정부(22)는 상기 엔코더에서와 동일한 역할을 수행한다. 신장부(23)는 순차적으로 입력되는 예측 오류값을 누산하여 최종적으로 압축이 해제된 형태의 픽셀(DP)을 출력한다. 상기 신장부(23)에서 예측 알고리즘을 구현하기 위해 이전에 입력된 하나의 열 정보를 저장하기 위하여 로우 버퍼(23)가 사용된다. On the other hand, the decoder as shown in Figure 2 serves to separately supply the sequential bytes read from the memory as the block initial pixel value, the number of bits for the maximum prediction error of each column, the prediction error value of each pixel. The bit size determiner 22 performs the same role as that of the encoder. The decompression unit 23 accumulates the prediction error values sequentially input and outputs the pixel DP of the form in which the compression is finally decompressed. The row buffer 23 is used to store one column information previously input in order to implement a prediction algorithm in the decompression unit 23.

도 3은 8×8 입력 블록이 2:1로 압축되어 저장된 형태의 예를 보인 것이다.3 illustrates an example in which an 8 × 8 input block is compressed by 2: 1 and stored.

상기의 설명에서는 제1에러검출부(11)에서 픽셀의 데이터를 예측하기 위해 좌측 상단의 두 픽셀만을 사용하는 것을 예로하여 설명하였으나, 필요에 따라 더욱 향상된 예측회로를 사용할 수 있다. 또한, 비트사이즈 결정부(12)를 FSM으로 설계함으로써 각 열의 할당 비트수를 더욱 동적으로 할당할 수 있게 된다. 또한, 상기 비트사이즈 결정부(12)의 비트수 합의 기준값을 외부에서 입력할 수 있도록 함으로써 필요에 따라 다른 압축율을 얻을 수 있다. In the above description, the first error detection unit 11 uses only two pixels on the upper left side to predict the pixel data. However, an improved prediction circuit may be used as necessary. In addition, by designing the bit size determiner 12 as an FSM, it is possible to more dynamically allocate the number of allocated bits in each column. In addition, by allowing the bit size determination unit 12 to input the reference value of the sum of bits from the outside, another compression ratio can be obtained as necessary.

이러한 본 발명의 영상 압축회로는 MPEG 디코더의 기준 데이터의 압축 저장 뿐만 아니라 정화상을 메모리에 저장하는 모든 회로에서 사용할 수 있다.The image compression circuit of the present invention can be used in not only the compression storage of the reference data of the MPEG decoder but also all the circuits storing the purified images in the memory.

이상에서 상세히 설명한 바와 같이, 본 발명은 MPEG 디코더가 필요로 하는 영상 데이터를 외부 메모리에 저장할 때 픽셀 데이터를 예측하고 그 정보가 가변비트 크기를 갖도록 엔코딩 함으로써 외부 메모리의 용량을 1/2로 절감할 수 있는 효과가 있고, 유한한 메모리 비트를 더욱 효과적으로 활용할 수 있도록 하여 양자화 오류를 최소화 할 수 있는 효과가 있다.As described in detail above, the present invention predicts pixel data when storing image data required by an MPEG decoder in an external memory and encodes the information to have a variable bit size, thereby reducing the capacity of the external memory by 1/2. It is effective in minimizing quantization error by making more efficient use of finite memory bits.

도 1은 본 발명에 의한 영상 압축회로에서 엔코더의 일실시 예시 블록도.1 is an exemplary block diagram of an encoder in an image compression circuit according to the present invention;

도 2는 본 발명에 의한 영상 압축회로에서 디코더의 일실시 예시 블록도.2 is an exemplary block diagram of a decoder in an image compression circuit according to the present invention;

도 3은 본 발명에 의해 8×8 입력 블록이 2:1로 압축된 형태를 보인 예시도.Figure 3 is an exemplary view showing a form in which the 8 × 8 input block is 2: 1 compressed by the present invention.

***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***

11 : 제1에러검출부 12,22 : 비트사이즈 결정부11: first error detection unit 12, 22: bit size determination unit

13 : 제2에러검출부 14 : 팩13: 2nd error detection unit 14: Pack

15 : 블록 메모리 21 : 언팩15: block memory 21: unpack

23 : 신장부23: kidney

Claims (5)

순차적으로 입력되는 픽셀 데이터에 따라 다음 픽셀 데이터를 예측하여 실제 데이터와의 차를 구하는 제1에러검출부와; A first error detector for predicting the next pixel data according to sequentially input pixel data to obtain a difference from the actual data; 상기 제1에러검출부의 출력신호를 공급받아 예측 오류 최대값의 합을 기준으로 각 열에서 사용될 수 있는 비트수를 결정하는 비트사이즈 결정부와; A bit size determiner which receives the output signal of the first error detector and determines the number of bits that can be used in each column based on the sum of the maximum prediction error values; 블록 메모리로부터 화소 데이터를 순차적으로 읽어내어 다음 화소를 예측하고, 그 예측 오류를 상기 비트사이즈 결정부에서 출력되는 비트수로 나타내는 제2에러검출부와; A second error detection section for sequentially reading pixel data from the block memory to predict the next pixel, and indicating the prediction error as the number of bits output from the bit size determination section; 상기 제2에러검출부에서 계산되어 출력되는 예측 오류값을 상기 비트사이즈 결정부에서 출력되는 비트수 정보에 따라 메모리에 한 번에 저장할 수 있는 단위로 정렬하는 팩과; 상기 팩의 내부 메모리로부터 순차적으로 읽혀지는 바이트를 블록 최초 픽셀값, 각 열의 최대 예측 오류에 대한 비트수, 각 픽셀의 예측 오류값으로 분리 공급하는 디코더로 구성한 것을 특징으로 하는 영상 압축회로.A pack for arranging prediction error values calculated and output by the second error detector in units that can be stored in a memory at one time according to the number of bits output by the bit size determiner; And a decoder configured to separately supply bytes read sequentially from the internal memory of the pack into a block initial pixel value, a number of bits for the maximum prediction error of each column, and a prediction error value of each pixel. 제1항에 있어서, 제1에러검출부는 픽셀 데이터를 예측하기 위해 좌측과 상단의 두 픽셀을 사용하도록 구성된 것을 특징으로 하는 영상 압축회로.The image compression circuit of claim 1, wherein the first error detection unit is configured to use two pixels on the left side and the top side to predict pixel data. 제1항에 있어서, 비트사이즈 결정부는 8개의 각 열에서 발생한 예측 오류 중 최대값을 얻어내는 비교기와; 예측 오류 최대값 8개를 저장하기 위한 메모리를 포함하여 구성된 것을 특징으로 하는 영상 압축회로. 2. The apparatus of claim 1, wherein the bit size determination unit comprises: a comparator for obtaining a maximum value of prediction errors occurring in each of eight columns; And a memory for storing eight prediction error maximum values. 제1항에 있어서, 비트사이즈 결정부는 각 열의 데이터에 할당되는 비트수는 다음과 같이 구하도록 구성된 것을 특징으로 하는 영상 압축회로. The video compression circuit as claimed in claim 1, wherein the bit size determining unit is configured to obtain the number of bits allocated to the data of each column as follows. 할당 비트수=최대 예측오류비트수-(전체바이트수-압축율을 얻기 위한 값)/열의 수 Number of allocated bits = maximum predicted error bits- (total bytes-value to obtain compression rate) / number of columns 여기서, 최대 예측오류비트수는 최대 예측 오류를 나타내기 위한 최소 비트수이고, 전체 바이트수는 한 영상 블록을 정해지 메모리 공간 내에 압축 저장하기 위한 바이트 수임.Here, the maximum number of prediction error bits is the minimum number of bits for indicating the maximum prediction error, and the total number of bytes is the number of bytes for compressing and storing one image block in a predetermined memory space. 제1항에 있어서, 디코더는 순차적으로 입력되는 압축 영상데이터에서 블록정보에 관련된 정보를 검출하여 그 중 비트수 정보로부터 1byte 단위로 입력되는 데이터에서 각 비트를 검출하여 8bit 크기로 재정렬시켜 출력하는 언팩과; 상기 언팩의 출력신호를 공급받아 예측 오류 최대값의 합을 기준으로 각 열에서 사용될 수 있는 비트수를 결정하는 비트사이즈 결정부와; 상기 비트사이즈 결정부로부터 순차적으로 입력되는 예측 오류값을 누산하여 압축이 해제된 픽셀을 출력하는 신장부로 구성된 것을 특징으로 하는 영상 압축회로. The unpack according to claim 1, wherein the decoder detects information related to block information from sequentially input compressed image data, detects each bit in data input in units of 1 byte from the number of bits, and rearranges the bit into 8 bits. and; A bit size determiner which receives the output signal of the unpack and determines the number of bits that can be used in each column based on the sum of prediction maximum values; And an expansion unit configured to accumulate prediction error values sequentially input from the bit size determination unit and output a decompressed pixel.
KR1019980063541A 1998-12-31 1998-12-31 Video compression circuit KR100585637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980063541A KR100585637B1 (en) 1998-12-31 1998-12-31 Video compression circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980063541A KR100585637B1 (en) 1998-12-31 1998-12-31 Video compression circuit

Publications (2)

Publication Number Publication Date
KR20000046814A KR20000046814A (en) 2000-07-25
KR100585637B1 true KR100585637B1 (en) 2006-08-18

Family

ID=19570111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980063541A KR100585637B1 (en) 1998-12-31 1998-12-31 Video compression circuit

Country Status (1)

Country Link
KR (1) KR100585637B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680129A (en) * 1995-07-18 1997-10-21 Hewlett-Packard Company System and method for lossless image compression
KR19980017376A (en) * 1996-08-30 1998-06-05 김광호 Adaptive differential pulse code modulation compression circuit
JPH10234036A (en) * 1997-02-06 1998-09-02 Sgs Thomson Microelettronica Spa Tree search vector quantization method for digital image data compression stored in buffer, mpeg decoder with reduced required memory amount and tsvq processing unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680129A (en) * 1995-07-18 1997-10-21 Hewlett-Packard Company System and method for lossless image compression
KR19980017376A (en) * 1996-08-30 1998-06-05 김광호 Adaptive differential pulse code modulation compression circuit
JPH10234036A (en) * 1997-02-06 1998-09-02 Sgs Thomson Microelettronica Spa Tree search vector quantization method for digital image data compression stored in buffer, mpeg decoder with reduced required memory amount and tsvq processing unit

Also Published As

Publication number Publication date
KR20000046814A (en) 2000-07-25

Similar Documents

Publication Publication Date Title
EP0495490B1 (en) Video signal encoding apparatus
EP0710028A2 (en) Image decoding apparatus
US20020163965A1 (en) Video frame compression/decompression hardware system
KR0180169B1 (en) A variable length coder
JP4825644B2 (en) Image decoding apparatus, image encoding apparatus, and system LSI
US6157741A (en) Image processing apparatus and image processing method
JPS6226633B2 (en)
JP2009260977A (en) Video data compression using combination of irreversible compression and reversible compression
KR20050032113A (en) System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US9510008B2 (en) Video decoder memory bandwidth compression
US9036711B1 (en) Visual data compression algorithm with parallel processing capability
US20140334541A1 (en) Video compression device
US20060233447A1 (en) Image data decoding apparatus and method
JPH07222164A (en) Digital video bit stream coder
US6940909B2 (en) Video decoding during I-frame decode at resolution change
US20110249959A1 (en) Video storing method and device based on variable bit allocation and related video encoding and decoding apparatuses
EP0808069A2 (en) A Quantizer for video signal encoding system
CN113994680A (en) Independent CABAC for sub-portions of pictures
KR100585637B1 (en) Video compression circuit
KR20020026189A (en) Efficient video data access using fixed ratio compression
KR0180164B1 (en) A variable length decoder
EP1374599B1 (en) Video encoder and recording apparatus
US11683497B2 (en) Moving picture encoding device and method of operating the same
JP2004501531A (en) Method and apparatus for run-length encoding video data
KR100579417B1 (en) High speed image compression apparatus

Legal Events

Date Code Title Description
N231 Notification of change of applicant
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee