KR101028161B1 - Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same - Google Patents

Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same Download PDF

Info

Publication number
KR101028161B1
KR101028161B1 KR1020090095794A KR20090095794A KR101028161B1 KR 101028161 B1 KR101028161 B1 KR 101028161B1 KR 1020090095794 A KR1020090095794 A KR 1020090095794A KR 20090095794 A KR20090095794 A KR 20090095794A KR 101028161 B1 KR101028161 B1 KR 101028161B1
Authority
KR
South Korea
Prior art keywords
pixel data
bits
upper bits
data
compression
Prior art date
Application number
KR1020090095794A
Other languages
Korean (ko)
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 KR1020090095794A priority Critical patent/KR101028161B1/en
Application granted granted Critical
Publication of KR101028161B1 publication Critical patent/KR101028161B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration by the use of histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details

Abstract

PURPOSE: A data compressing-restoring method is provided to increase compression rate by adaptively selecting one among various algorithm according to image data. CONSTITUTION: A data compressing-restoring method is comprised as follows: a step of determining whether upper bits is same or not by comparing upper bit of n number and n+1 number pixel data with upper bits of previous pixel data which is before n number pixel data, a step of PPC, TPPC&PFC encoding which outputs pixel data, a step of RLE encoding which outputs compressed pixel data by removing the pixel data which is continued by run length encoding(RLE), a step of storing one between the PPC,TPPC&PFC encoding output and the RLE encoding output according to selected compressed algorithm based on a slop between compression rate and the pixel data, a step of restoring the compressed data by selecting restoring algorithm according to a slope between the compression rate and the pixel data.

Description

평판 표시 장치 메모리를 위한 데이터 압축-복원 방법과 이를 이용한 히스토그램 데이터 처리, LUT 데이터 압축 및 프레임 레이트 향상 방법{Data Compression-Decompression Apparatus and Method for Flat Display Panel Memory and Apparatus of Histogram data precessing, LUT data compression and Frame rate enhancement using the same}Data Compression-Decompression Apparatus and Method for Flat Display Panel Memory and Apparatus of Histogram data precessing, LUT data compression and Frame rate enhancement using the same}

본 발명은 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법과 이를 이용한 히스토그램 데이터 처리, LUT 데이터 압축방법 및 프레임 레이트 향상방법에 관한 것이다. The present invention relates to a data compression-restore method for a flat panel display memory, a histogram data processing, a LUT data compression method, and a frame rate improving method using the same.

평판 표시 장치에는 액정표시장치(Liquid Crystal Display : LCD), 전계 방출 표시장치(Field Emission Display : FED), 플라즈마 디스플레이 패널(Plasma Display Panel : PDP) 및 유기 발광다이오드소자(Organic Light Emitting Diode Device, OLED) 등이 있다. 액정표시장치는 전자제품의 경박단소 추세를 만족할 수 있고 양산성이 향상되고 있어, 많은 응용분야에서 음극선관을 빠른 속도로 대체하 고 있다. 특히, 박막트랜지스터(Thin Film Transistor : 이하, "TFT"라 한다)를 이용하여 액정셀을 구동하는 액티브 매트릭스 타입의 액정표시소자는 화질이 우수하고 소비전력이 낮은 장점이 있으며, 최근의 양산기술 확보와 연구개발의 성과로 대형화와 고해상도화로 급속히 발전하고 있다.The flat panel display includes a liquid crystal display (LCD), a field emission display (FED), a plasma display panel (PDP), and an organic light emitting diode device (OLED). ). Liquid crystal display devices can meet the trend of light and short and short of electronic products and mass production is improving, and are rapidly replacing cathode ray tubes in many applications. In particular, an active matrix type liquid crystal display device that drives a liquid crystal cell using a thin film transistor (hereinafter referred to as "TFT") has the advantages of excellent image quality and low power consumption, and secures the latest mass production technology. As a result of research and development, it is rapidly developing into larger size and higher resolution.

최근, 평판 표시 장치의 표시패널 내에 구동에 필요한 회로의 일부 또는 전체를 집적시키는 SOP (System on Panel)화가 진행되고 있다. 대표적으로 삼성과 일본의 CG Silicon, NEC, Sharp 등의 LCD 업체가 SOP 개발에 역량을 집중하고 있다. 이러한 SOP화는 표시소자가 이용되는 모든 장비에 적용 가능하므로 응용분야의 활용성이 좋고, 전력소모 감소와 On-chip(또는 칩 내부에서의) 상호연결(Interconnection)로 인하여 신호 지연(Delay)도 줄일 수 있는 장점을 가지나, 아직 수율(Yield)이 낮은 단점이 있어, 최근의 화질 향상에 요구되는 많은 수의 메모리를 구현하는데 어려움이 있다. In recent years, SOP (System on Panel) which integrates a part or all of the circuits required for driving in the display panel of a flat panel display device is progressing. Samsung and Japanese LCD makers such as CG Silicon, NEC and Sharp are concentrating on SOP development. This SOP can be applied to any equipment that uses a display device, so it is useful in an application field and also has a signal delay due to reduced power consumption and on-chip (or in-chip) interconnection. Although it has the advantage of reducing, yet has a disadvantage of low yield (Yield), it is difficult to implement a large number of memories required for recent image quality improvement.

최근에는 일반적인 이미지 화질향상은 물론 LCD에서 액정의 응답특성을 개선하기 위한 오버 드라이브(LCD Overdrive), 모션 블러(Motion Blur) 현상을 개선하기 위한 프레임 레이트 콘트롤(Frame Rate Control)에 필요한 연산 등의 적용으로 많은 메모리를 필요로 한다. 또한 향후 요구되는 해상도(Resolution)와 색깊이(Color Depth)를 개선하기 위해서는 더욱 많은 양의 메모리를 필요로 한다. 이와 같은 메모리의 증가는 코스트(Cost) 상승으로 이어지기 때문에 이미지 데이터의 압축기술(Image Memory Data Compression)이 필요하며, SOP 특성에 적합한 알고리즘이 필요하게 되었다. Recently, it has been applied to the operation of the frame rate control to improve the general image quality, the LCD overdrive to improve the response characteristics of the liquid crystal in the LCD, and the motion blur phenomenon. It requires a lot of memory. In addition, more memory is required to improve the resolution and color depth required. This increase in memory leads to an increase in cost, which requires image memory data compression techniques and an algorithm suitable for SOP characteristics.

기존 메모리 데이터의 압축기술은 크게 나누어 손실 압축 알고리즘과, 무손실 압축 알고리즘으로 나뉘어질 수 있다. 손실 압축 알고리즘은 BTC(Block Truncation Coding), DCT(Discrete Cosine Transform)를 이용한 압축 방식과, 픽셀 데이터의 일부를 버리고 저장하는 트렁케이션(Truncation)방식이나 YcbCr422 방식 등이 있다. 손실 압축 알고리즘은 타 알고리즘에 비하여 높은 압축률을 얻을 수 있지만 데이터 손실율도 상당하기 때문에 화질의 손상을 초래하여 최근에 중요성이 급증하는 표시장치의 감성화질 측면에 적합하지 않다. DCT를 응용한 압축 알고리즘은 화질의 열화는 비교적 낮으나 하드웨어 복잡도가 매우 높고 처리속도가 느린 문제가 있다. 무손실 알고리즘은 압축률이 매우 낮거나 복잡도가 매우 높은 문제점이 있다. 대표적인 무손실 압축 알고리즘인 FAX나 RLE(Run Length Encoding)의 경우 특수한 경우를 제외하고 일반적인 이미지에 대하여 압축률이 매우 낮으며 JPEG-LS Lossless와 같은 알고리즘은 높은 압축률을 얻을 수 있지만 그 압축 알고리즘의 복잡도가 매우 높아 화상 메모리의 압축 알고리즘으로 적합하지 않다. Conventional memory data compression techniques can be roughly divided into lossy compression algorithm and lossless compression algorithm. Lossy compression algorithms include a compression scheme using block truncation coding (BTC) and a discrete cosine transform (DCT), and a truncation scheme and a YcbCr422 scheme for discarding and storing a part of pixel data. The lossy compression algorithm can obtain a higher compression rate than other algorithms, but the data loss ratio is also significant, which is not suitable for the emotional quality of display devices, which has recently increased in importance due to the loss of image quality. Compression algorithm using DCT has relatively low quality deterioration but high hardware complexity and slow processing speed. Lossless algorithms have very low compression rates or very high complexity. Typical lossless compression algorithms, such as FAX and RLE (Run Length Encoding), have very low compression rates for general images except for special cases, and algorithms such as JPEG-LS Lossless can achieve high compression ratios, but the complexity of the compression algorithms is very high. It is not suitable as a compression algorithm of image memory.

따라서, 본 발명의 목적은 상기 종래 기술의 문제점들을 해결하고자 안출된 발명으로써 압축으로 인한 화질 손상이 없거나, 사람이 느낄수 없을 정도로 적고 압축률을 높이고 하드웨어의 복잡도를 최대한 줄이도록 한 데이터 압축-복원 방법을 제공하는데 있다. Accordingly, an object of the present invention is to devise a data compression-restore method which is devised to solve the problems of the prior art, which has no image quality damage due to compression, or is incomprehensible to humans, increases the compression ratio and minimizes the complexity of hardware. To provide.

본 발명의 다른 목적은 압축된 영상 데이터를 바탕으로 계조구간 별로, 히스토그램의 높이 구간을 감소시켜 효율적인 화상처리 연산을 가능하게 하도록 한 히스토그램 데이터 처리 방법을 제공하는데 있다. Another object of the present invention is to provide a histogram data processing method which enables efficient image processing operation by reducing the height section of the histogram for each grayscale section based on the compressed image data.

본 발명의 또 다른 목적은 압축된 영상 데이터를 바탕으로 하여 픽셀 데이터를 룩업 테이블(Look-up table, LUT) 저장시에 상, 하위 비트 그룹으로 분할 처리하고 스케일 팩터와 에러 룩업 테이블을 이용하여 보정함으로써 필요한 룩업 테이블의 개수를 줄일 수 있는 LUT 데이터 압축방법을 제공하는데 있다. Another object of the present invention is to divide the pixel data into upper and lower bit groups when storing a look-up table (LUT) based on the compressed image data, and to correct it by using a scale factor and an error look-up table. It is to provide a LUT data compression method that can reduce the number of lookup tables required.

본 발명의 또 다른 목적은 압축된 영상 데이터를 바탕으로 하여, 모션 블러 등을 제거할 수 있는 프레임 레이트 향상 연산시 연산량을 줄일 수 있는 프레임 레이트 향상방법을 제공하는데 있다. It is still another object of the present invention to provide a frame rate improving method capable of reducing the amount of computation during a frame rate enhancement operation that can remove motion blur and the like based on compressed image data.

상기 목적을 달성하기 위하여, 본 발명의 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법은 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축 알고리 즘별 압축률과 상기 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코딩 단계; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코딩 단계; 상기 압축률과 상기 평균값에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코딩 출력과 상기 RLE 인코딩 출력 중 어느 하나를 선택하여 메모리에 저장하는 단계; 및 상기 압축률과 상기 픽셀 데이터간의 기울기에 따라 복원 알고리즘을 선택하여 상기 압축 데이터를 복원하는 단계를 포함한다. In order to achieve the above object, the data compression-restore method for the flat panel display memory of the present invention generates a flag indicating the identity of the upper bits in the pixel data except for the same upper bits and outputs instead of the upper bits. A compression algorithm, a TPPC compression algorithm that further removes some of the remaining lower bits except for the same upper bits from the pixel data, and generates the flag, and partially shares a compression scheme with the PPC and the TPPC compression algorithms; A PPC that selectively removes them or compresses the same pixel data within a continuous constant pixel data length by selecting one of the PFC compression algorithms according to the compression rate of the previous frame and the average value, and outputs the compressed pixel data; TPPC & PFC encoding step; An RLE encoding step of outputting compressed pixel data by removing the pixel data consecutive in run length encoding (RLE); Selecting one of the PPC, TPPC & PFC encoding output and the RLE encoding output according to a compression algorithm selected based on the compression rate and the average value and storing the selected one in a memory; And reconstructing the compressed data by selecting a reconstruction algorithm according to a slope between the compression ratio and the pixel data.

상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축한다. The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. The pixel data are compressed using a full bit type for generating a code indicating a number of times and an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different.

상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이터들의 하위비트들이 모아진 하위 비트 그룹을 포함한다. The compressed data stored in the memory includes a lower bit group in which lower bits of pixel data having the same upper bits are collected.

본 발명의 히스토그램 데이터 처리방법은 상기 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법 구성에 더하여, 상기 코드, 상기 플래그 및 상기 상위 비트들을 이용하여 다수의 계조값들로 이루어진 계조 구간들을 바탕으로 하는 히스토그램을 생성하여 제 2 메모리에 저장하는 단계; 및 상기 제 2 메모리로부터 독출한 상기 히스토그램의 최대 도수를 최대 이미지 해상도보다 낮은 소정의 클리핑 레 벨로 제한하며, 상기 히스토그램의 스텝 사이즈 조정을 통한 도수 레벨을 감소시키는 단계를 더 포함한다. The histogram data processing method of the present invention, in addition to the data compression-restore method for the flat panel display memory, includes a histogram based on gradation intervals consisting of a plurality of gradation values using the code, the flag, and the higher bits. Generating and storing in the second memory; And limiting the maximum frequency of the histogram read out from the second memory to a predetermined clipping level lower than the maximum image resolution, and reducing the frequency level by adjusting the step size of the histogram.

본 발명의 LUT 데이터 압축방법은 상기 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법 구성에 더하여, 상기 메모리에 저장된 상기 픽셀 데이터 X의 상위 비트들 Xupper와 하위 비트들 Xlower을 분할 입력받아 분할 비트 룩업 테이블을 이용하여 미리 설정된 룩업 테이블 특성 함수 fpbl(Xpartitioned)를 통해 상기 상위 비트들 Xupper와 상기 하위 비트들 Xlower을 각각 분할 연산하여 상기 상위 비트들의 연산 결과 fpbl(Xupper)와 상기 하위 비트들의 연산 결과 fpbl(Xlower)를 출력하는 단계; 스케일 팩터 룩업 테이블을 이용하여 상기 상위 비트들 Xupper에 따라 계조 구간을 판단하여 아래의 step_size(fpbl(Xupper))를 fpbl(Xupper)의 스텝 사이즈라 하고, DR(g(x))를 함수 g(x)의 동적 범위라 정의할 때 아래의 로컬 스케일 팩터 SFlocal를 만족하는 스케일 팩터 k를 선택하는 단계; 쉬프터를 이용하여 상기 스케일 팩터 k와 상기 하위 비트들의 연산 결과 fpbl(Xlower)를 변수로 하는 연산 결과 fpbl(Xlower)/2k를 처리하는 단계; 에러 룩업 테이블을 이용하여 상기 픽셀 데이터 X를 입력받아 에러를 보상하기 위한 연산 결과 ferror_reduced(X)를 출력하는 단계; 및 상기 fpbl(Xlower)/2k, 상기 fpbl(Xupper) 및 상기 ferror_reduced(X)를 합산하는 단계를 더 포함한다. The LUT data compression method of the present invention divides the upper bits X upper and the lower bits X lower of the pixel data X stored in the memory in addition to the data compression-restore method for the flat panel display memory. The upper bits X upper and the lower bits X lower are respectively partitioned by a lookup table characteristic function f pbl (X partitioned ) using a lookup table, and the result of the operations of the upper bits f pbl (X upper ) and Outputting an operation result f pbl (X lower ) of the lower bits; The gray scale interval is determined according to the upper bits X upper using a scale factor lookup table, and the following step_size (f pbl (X upper )) is referred to as the step size of f pbl (X upper ) and DR (g (x) ) Selects a scale factor k that satisfies the following local scale factor SF local when defining a) as the dynamic range of the function g (x); The operation result to the operation result of the scale factor k, and the lower bits by using a shifter pbl f (X lower) to a variable processing the f pbl (X lower) / 2 k; Receiving the pixel data X using an error lookup table and outputting an operation result f error_reduced (X) for compensating for the error; And summing the f pbl (X lower ) / 2 k , the f pbl (X upper ) and the f error_reduced (X).

step_size(fpbl(Xupper)) = |fpbl(xupper) - fpbl(xupper+1)|step_size (f pbl (X upper )) = | f pbl (x upper )-f pbl (x upper +1) |

Figure 112009061781512-pat00001
Figure 112009061781512-pat00001

k = log2(SFlocal) k = log 2 (SF local )

본 발명의 프레임 레이트 향상 방법은 상기 평판 표시장치 메모리를 위한 데이터 압축-복원 방법에 더하여, 상기 메모리에 저장된 압축 데이터로 구성된 연속되는 프레임 압축 블록(Compressed Block) 데이터들을 입력 받아 상위 비트들 Xupper을 사용하여 움직임 추정(Motion Estimation) 연산을 수행하여 움직임 벡터를 산출하는 단계; 다수의 상기 압축 픽셀 블록들을 보다 큰 크기의 매크로 블록으로 그룹화하고 상기 압축 블록들의 그룹화된 움직임 움직임 벡터를 산출하는 단계; 및 상기 그룹화 된 매크로 블록의 움직임 벡터들을 통한 보조 움직임 추정을 통해 상기 움직임 벡터를 보정하는 단계를 포함한다. In addition to the data compression-restore method for the flat panel display memory, the frame rate improving method of the present invention receives continuous frame compressed block data composed of compressed data stored in the memory and receives upper bits X upper . Calculating a motion vector by performing a motion estimation operation; Grouping the plurality of compressed pixel blocks into a macroblock of larger size and calculating a grouped motion motion vector of the compressed blocks; And correcting the motion vector through auxiliary motion estimation using the motion vectors of the grouped macroblocks.

본 발명은 이웃한 픽셀 데이터들의 동일성에 근거하여 선택적으로 데이터의 일부를 제거하여 데이터를 압축하거나, 픽셀 데이터의 하위 비트 일부분을 잘라버림하여 압축률을 극대화하고, 비교기와 인코더 등을 공유하고 RLE 연산에서 상기 포지션 벨류 시프터(Position Value Shifter)를 적용하여 하드웨어의 복잡도를 낮출 수 있을 뿐 아니라, 이전 프레임의 압축률에 근거하여 즉, 적응적 압축모드 예 상장치(adaptive compression mode prediction unit)를 통한 예측방식(Prediction Scheme)을 적용하여 다양한 압축 알고리즘 중 어느 하나를 적절하게 화상 데이터에 따라 선택하여 압축율을 더 높일 수 있다. The present invention compresses data by selectively removing a part of the data based on the identity of neighboring pixel data, or maximizes the compression ratio by cutting off the lower bit part of the pixel data, sharing a comparator, an encoder, and the like, in an RLE operation. Not only can the position value shifter be applied to reduce the complexity of the hardware, but also the prediction method based on the adaptive compression mode prediction unit based on the compression rate of the previous frame. By applying Prediction Scheme, any one of various compression algorithms can be appropriately selected according to the image data to further increase the compression ratio.

본 발명은 상기 압축 알고리즘들 PPC, PFC 및 RLE로 압축된 데이터를 손실 없이 복원가능하고, 압축률을 보다 향상 시킬 수 있는 상기 압축 알고리즘 TPPC는 사람이 느낄 수 없을 정도의 손실을 가지고 복원이 가능하다.The present invention is capable of restoring data compressed with the compression algorithms PPC, PFC and RLE without loss, and the compression algorithm TPPC capable of further improving the compression rate is capable of restoring the loss to a degree that humans cannot feel.

본 발명은 연속되는 선후 프레임의 유사성에 근거하여 선후 프레임(Frame)간 압축된 픽셀 데이터의 비교를 통해 메모리 업데이트(Memory Update)를 최적화할 수 있고 이미지 전체의 스토리지 타임(Storage Time)과 페치 타임(Fetch Time)을 줄일 수 있다. According to the present invention, the memory update can be optimized by comparing the compressed pixel data between the frames after the frames based on the similarity between successive frames. The storage time and the fetch time of the entire image can be optimized. Fetch Time can be reduced.

본 발명은 화질처리에 널리 사용되는 히스토그램 관련 연산을 상기 압축된 영상 데이터를 바탕으로 계조구간 및 히스토그램의 높이 구간을 간략화하여 효율적으로 처리할 수 있다. 또한, 본 발명은 룩업 테이블의 분할 비트 룩업 테이블(Partitioned bit LUT)을 상기 픽셀 데이터 압축 형태인 상위 파셜 비트와 하위 파셜 비트로 나누어 연산 가능하도록 하여 스케일 팩터와 에러 룩업 테이블을 이용하여 보정함으로써 필요한 룩업 테이블의 개수를 줄일 수 있다. 상기 분할 비트 룩업 테이블은 예를 들어, 액정표시장치에서 응답특성을 개선하기 위한 오버 드라이브 회로(LCD Overdrive circuit)의 복잡도를 낮추거나, 프레임 삽입 룩업 테이블(Frame insertion LUT)에 적용될 수 있고 또한, 기준 비트(Reference bit)의 변화만 체크하여 감마 커브를 보정하는 데에도 적용될 수 있다. The present invention can efficiently process histogram-related operations widely used in image quality processing by simplifying the gradation section and the height section of the histogram based on the compressed image data. In addition, the present invention provides a partitioned lookup table (Partitioned bit LUT) of the lookup table by dividing it into upper and lower partial bits of the pixel data compression type so that calculation is possible by using a scale factor and an error lookup table. The number of can be reduced. The split bit lookup table may be applied to a frame insertion lookup table (Frame insertion LUT) or to reduce the complexity of an LCD overdrive circuit, for example, to improve response characteristics in a liquid crystal display. It can also be applied to correct the gamma curve by checking only the change of the reference bit.

본 발명은 상기 압축 알고리즘들에 따라 압축된 픽셀 데이터를 바탕으로 하여 움직임 추정의 연산량을 감소시켜 효율적인 프레임 레이트 향상이 가능하다.The present invention enables efficient frame rate improvement by reducing the amount of computation of motion estimation based on pixel data compressed according to the compression algorithms.

본 발명은 데이터 압축장치의 RLE 인코더에 적용되며, 연속적으로 동일한 픽셀 데이터들의 경계를 나타내는 세그먼트 바운더리(Segment Boundary)를 빠르게 체크하면서 동시에 낮은 하드웨어 복잡도로 설계 가능한 포지션 벨류 쉬프터를 구현할 수 있다. The present invention can be applied to an RLE encoder of a data compression apparatus, and can implement a position value shifter that can be designed with low hardware complexity while simultaneously checking a segment boundary that continuously represents the boundary of the same pixel data.

이하, 도 1 내지 도 37을 참조하여 본 발명의 바람직한 실시예에 대하여 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described with reference to FIGS. 1 to 37.

본 발명의 데이터 압축 장치 및 방법은 이웃한 픽셀 데이터들 간의 유사성을 바탕으로 압축을 행한다. 일반적인 영상은 이웃한 픽셀 데이터들 간의 차이가 크지 않은 공간 중복(Spatial redundancy)이 존재하여 미리 메모리에 저장되어 있던 데이터의 상위 비트들(More Significant Bits)이 동일한 경우가 대부분이다. 이렇게 앞서 메모리에 저장된 상위 비트들과 동일한 상위 비트들을 압축과정에서 제거하여 높은 압축율의 압축효과를 얻을 수 있다. The data compression apparatus and method of the present invention perform compression based on similarity between neighboring pixel data. In general images, spatial redundancy is not significant between neighboring pixel data, and thus, most significant bits of data previously stored in the memory are the same. Thus, by removing the upper bits identical to the upper bits stored in the memory in the compression process, a high compression ratio compression effect can be obtained.

본 발명의 데이터 압축 장치 및 방법은 도 1과 같은 Partial Pixel Compression(이하, "PPC"라 함) 알고리즘을 이용하여 데이터를 압축한다. PPC 알고리즘은 픽셀 데이터들에서 동일한 상위 비트들을 제거하여 데이터를 압축하고 제거된 상위 비트들의 동일성을 지시하는 플래그를 발생한다. The data compression apparatus and method of the present invention compresses data using a partial pixel compression (hereinafter, referred to as "PPC") algorithm as shown in FIG. The PPC algorithm removes the same upper bits in the pixel data to compress the data and generate a flag indicating the identity of the removed upper bits.

도 1을 참조하면, PPC 알고리즘은 원본 이미지(Original image)의 n 번째 픽셀 데이터에 상위 파셜 픽셀 데이터 "b"와, 하위 비트들을 포함한 하위 파셜 픽셀 데이터“2”를 포함한다고 가정한다. 상위 파셜 픽셀 데이터 "b"는 n 번째 픽셀 데이터의 상위 비트들을 포함하고, 하위 파셜 픽셀 데이터“2”는 n 번째 픽셀 데이터의 하위 비트들을 포함한다. Referring to FIG. 1, it is assumed that the PPC algorithm includes upper partial pixel data “b” and lower partial pixel data “2” including lower bits in the n-th pixel data of an original image. The upper partial pixel data "b" includes upper bits of the n-th pixel data, and the lower partial pixel data "2" includes lower bits of the n-th pixel data.

PPC 알고리즘은 n번째 픽셀 데이터의 상위 비트들이 n - 1 번째 픽셀 데이터의 상위 비트들과 다를 때, 압축되지 않은 상위 비트들 "b"와 하위 비트들 "2"을 포함한 m 번째 압축 데이터를 메모리에 저장하며, m 번째 압축 데이터에 실제로 압축되지 않은 데이터임을 지시하는 플레그 비트(Flag bit) "0"을 부가한다. The PPC algorithm inserts the mth compressed data including uncompressed upper bits “b” and lower bits “2” into the memory when the upper bits of the nth pixel data are different from the upper bits of the n−1 pixel data. A flag bit "0" is added to the m th compressed data indicating that the data is not actually compressed.

n + 1 번째 픽셀 데이터와 n + 2 번째 픽셀 데이터 각각은 상위 비트들이 "b"로써 이전 n 번째 픽셀 데이터의 상위 비트들 "b"과 동일하다. 이 경우에, PPC 알고리즘은 n + 1 번째 픽셀 데이터의 하위 비트들 "3"과 하위 비트들 "4"를 m + 1 번째 압축 데이터로 메모리에 저장하며, m + 1 번째 압축 데이터에 압축된 데이터임을 지시하는 플래그 "1"을 부가한다. Each of the n + 1 th pixel data and the n + 2 th pixel data is the same as the upper bits "b" of the previous n th pixel data with the upper bits "b". In this case, the PPC algorithm stores the lower bits "3" and the lower bits "4" of the n + 1st pixel data in memory as m + 1st compressed data, and the data compressed to the m + 1st compressed data. Add a flag "1" indicating that.

PPC 알고리즘에 의해 압축된 데이터를 복원하는 과정은 다음과 같다. PPC의 복원 알고리즘은 먼저, 최하위 비트인 플래그를 체크하여 압축 데이터 각각에 대하여 압축여부를 판단한다. PPC 복원 알고리즘은 m 번째 압축 데이터와 같이 플래그가 "0"일 때 플레그를 제외한 나머지 비트들을 압축되지 않은 풀 비트 데이터(Full bit data)로 판단하여 플래그를 제외한 나머지 비트들인 "b"를 상위 비트들로 하고 "2"를 하위 비트들로 하여 n 번째 픽셀 데이터로 복원한다. 그리고 PPC 복원 알고 리즘은 m + 1 번째 압축 데이터와 같이 플래그가 "1"일 때 플래그를 제외한 나머지 비트들을 상위 비트가 제거된 압축 데이터로 판단하여, m + 1 번째 압축 데이터의 상위 비트들 "3"의 앞에 이전 픽셀 데이터의 상위 비트들 즉, m 번째 압축 데이터의 상위 비트들 "b"를 부가하여 n + 1 번째 픽셀 데이터로 복원하고, m + 1 번째 압축 데이터의 하위 비트들 "4"의 앞에 이전 픽셀 데이터의 상위 비트들 "b"를 부가하여 n + 2 번째 픽셀 데이터로 복원한다. The process of restoring the data compressed by the PPC algorithm is as follows. The decompression algorithm of the PPC first checks a flag, which is the least significant bit, to determine whether to compress each of the compressed data. The PPC decompression algorithm determines the remaining bits except the flag as uncompressed full bit data when the flag is "0" like the mth compressed data, and selects the remaining bits "b" except the flag as upper bits. To restore the n-th pixel data using "2" as the lower bits. When the flag is "1" like the m + 1st compressed data, the PPC decompression algorithm determines the remaining bits except the flag as the compressed data from which the upper bits have been removed, and thus the upper bits of the m + 1st compressed data "3." Adds the upper bits of the previous pixel data, i.e., the upper bits "b" of the m th compressed data, before "" to restore n + 1 th pixel data, and the lower bits of the m + 1st compressed data "4" The upper bits " b " of the previous pixel data are added before to restore the n + second pixel data.

본 발명은 PPC와 함께, TPPC(Truncated Partial Pixel Compression) 알고리즘, 기존의 무손실 압축 알고리즘인 RLE(Run Length Encoding) 알고리즘과 같이 연속적으로 동일한 픽셀 데이터들을 제거하는 압축 알고리즘과, PPC와 일부 압축 방식을 공유하는 Partial and Fixed Run Length Compression(이하, "PFC") 알고리즘을 선택적으로 적용하여 데이터를 압축한다. The present invention shares a compression algorithm that removes the same pixel data continuously, such as a Trunked Partial Pixel Compression (TPPC) algorithm, a Run Loss Encoding (RLE) algorithm, which is a conventional lossless compression algorithm, and some compression schemes with the PPC. Data is compressed by selectively applying a Partial and Fixed Run Length Compression (hereinafter referred to as "PFC") algorithm.

PPC 알고리즘은 플래그 오버헤드(flag overhead)로 인해 압축 픽셀 데이터가 압축 전 픽셀 데이터보다 1 bit더 크다. 따라서 이미지 중 인접 픽셀 데이터들 간에 상위 bit가 서로 달라 압축되지 않는 픽셀 데이터들이 많이 존재하는 경우 압축 후 전체 용량이 증가하여 압축을 통한 메모리 양 감소를 보장할 수 없다. In the PPC algorithm, the compressed pixel data is 1 bit larger than the pixel data before compression due to flag overhead. Therefore, when there are many pixel data that are not compressed due to different upper bits among adjacent pixel data in the image, the total capacity increases after compression, and thus it is not possible to guarantee a reduction in memory through compression.

시스템 설계시에 메모리 양은 최저 압축률에 따라 결정 되므로 워스트 케이스(worst case)의 이미지에서도 충분한 압축률을 가질 필요가 있으며, 이를 압축 레이트 가드(compression rate guard)라 하기로 한다. 따라서 이러한 압축 레이트 가드를 유지할 수 있고, 연산의 복잡도를 낮추기 위하여 PPC와 동일한 연산 방법을 가지며 높은 화질을 나타내는 압축 알고리즘을 제안한다. 그리고 최소한의 압축률 을 유지하기 위해서는 압축 픽셀 데이터가 원본 픽셀 데이터의 크기보다 반드시 작아야 하므로, 저장되는 픽셀 데이터의 일부 하위 bit을 잘라버림(truncation)하여 화질의 저하를 최소화하면서 압축률을 높인다.Since the amount of memory in the system design is determined by the lowest compression rate, it is necessary to have a sufficient compression rate even in the image of the worst case, which will be referred to as a compression rate guard. Therefore, in order to maintain such a compression rate guard, and to reduce the complexity of the operation, a compression algorithm having the same operation method as PPC and showing high image quality is proposed. In order to maintain the minimum compression rate, the compressed pixel data must be smaller than the size of the original pixel data. Therefore, some lower bits of the stored pixel data are truncated to minimize the deterioration of image quality and to increase the compression rate.

도 2의 (c)와 같이 2 bit를 잘라버림한 경우, 이웃한 픽셀 데이터들 간 유사한 값을 가지는 하늘과 같은 부분에서 슈도 에지(pseudo edge)와 같은 화질 저하를 확인할 수 있다. 그러나 이웃 픽셀 데이터와 차이가 큰 지면과 같은 경우 화질 저하를 느끼기 어렵다. 도 2의 (b)와 같이 1 bit를 잘라버림한 경우에는 지면은 물론 하늘에서도 화질저하를 느끼기 어렵다. 이러한 특징을 PPC에 적용하여, 지면과 같이 이웃 픽셀 데이터와 차이가 큰 경우 2 bit를 잘라버림하여 비압축 타입(uncompressed type)으로 메모리에 저장 하고, 하늘과 같이 이웃한 픽셀 데이터와 차이가 적은 경우 두 픽셀 데이터들에서 1 bit씩 잘라버림해서 파셜 타입(partial type)으로 메모리에 저장한다. 이와 같이 제안된 방법을 통해 1 bit 또는 2 bit를 잘라버림한 경우 도 2의 (d)와 같으며, 육안 테스트(eye test)를 통해 감성화질(emotional image quality) 측면에서 화질 저하가 없으며, 수학적으로도 PSNR 45.2dB의 매우 높은 화질을 나타낸다. 이와 같이 제안된 압축 방안을 TPPC(truncated partial pixel compression)이라 하기로 한다.When 2 bits are cut off as shown in (c) of FIG. 2, image quality degradation such as pseudo edges can be confirmed in a portion such as a sky having similar values between neighboring pixel data. However, it is difficult to feel a deterioration in the case of the ground, which is largely different from neighboring pixel data. When 1 bit is cut off as shown in (b) of FIG. 2, it is difficult to feel a deterioration in image quality in the sky as well as the ground. If this feature is applied to PPC, if the difference between neighboring pixel data such as the ground is large, 2 bits are truncated and stored in memory as uncompressed type, and the difference between neighboring pixel data such as the sky is small. 1 bit is cut from two pixel data and stored in memory as a partial type. In the case of cutting 1 bit or 2 bit through the proposed method as shown in FIG. 2 (d), there is no deterioration in image quality in terms of emotional image through an eye test. In addition, PSNR has a very high picture quality of 45.2dB. The proposed compression scheme will be referred to as truncated partial pixel compression (TPPC).

TPPC 알고리즘은 하위 bit을 잘라버림한다는 차이만 있을 뿐 기본적으로 PPC알고리즘과 동일한 압축-복원 과정을 가진다. 도 3의 n 번째 원본 픽셀 데이터와 같이 이전 픽셀 데이터와 상위 bit 그룹이 다른 경우 하위 2 bit를 잘라버림하고 PPC와 마찬가지로 플래그를 0으로 하여 비압축 타입임을 표시한다. n + 1, n + 2 번째 픽셀 데이터들과 같이 이전 픽셀 데이터와 상위 bit가 같은 경우 하위 bit 그룹인 c와 d의 LSB 각 1 bit 씩을 잘라버림하고 PPC 알고리즘과 마찬가지로 플래그를 1로 하여 파셜 타입(partial type)임을 표시한다. 복원 과정도 마찬가지로 PPC 알고리즘과 동일하며, 단 복원시에 도 3과 같이 잘라버림된 bit 수만큼 MSB에서 가져와 잘라버림된 부분에 채우는(padding) 것만 차이가 있다.The TPPC algorithm differs only by truncating the lower bits, but basically has the same compression-restore process as the PPC algorithm. If the upper bit group is different from the previous pixel data as in the n th original pixel data of FIG. If the upper bit is the same as the previous pixel data such as n + 1, n + 2nd pixel data, the LSB of the lower bit group c and d are truncated, and the flag is set to 1 as in the PPC algorithm. partial type). The restoration process is similar to the PPC algorithm, except that the padding is taken from the MSB by the number of bits truncated as shown in FIG. 3.

PPC 알고리즘의 압축률이 낮게 나타나는 경우에 TPPC를 적용하게 되는데, 적용 수준에 따라 전체적인 화질과 압축률의 트레이드 오프(trade-off)가 생기므로, 응용 분야나 시스템의 요구에 따라 적용되는 기준을 결정할 수 있으며, 프레임이나 블록 단위로도 적용이 가능하다. 이를 구현할 때 압축 알고리즘을 선택하는 데 있어서 이미지 특성에 따른 알고리즘 예측과 압축 후 알고리즘 선택의 두 가지 방안을 고려해 볼 수 있다. When the compression rate of the PPC algorithm is low, TPPC is applied. Since the overall quality and trade-off of the compression rate occur depending on the application level, the criteria to be applied can be determined according to the requirements of the application or the system. It can also be applied in units of frames or blocks. In implementing this approach, we can consider two methods of algorithm selection based on image characteristics and algorithm selection after compression.

압축률이 낮은 이미지에 대하여 제한적으로 TPPC 알고리즘을 적용함으로써 압축 레이트를 일정 수준 이상으로 유지할 수 있다. 이미지에 적합한 알고리즘을 선택하는 방법에 있어서, 대상 이미지의 특성을 파악한 다음, 압축 알고리즘을 선택하는 것이 가장 높은 압축률을 낼 수 있으나 별도의 큰 버퍼 메모리(buffer memory)가 필요하여 하드웨어의 복잡도가 높고 이미지의 특성파악으로 인한 지연(delay)이 발생하는 문제가 있다. 그런데 디스플레이되는 영상의 장면 변화(scene change)는 전체 디스플레이되는 영상에서 매우 짧은 순간이며 한 장면이 유지되는 동안 이미지의 특성은 이전 프레임과 동일하거나 유사한 특성을 나타내는 경향이 있다. 따라서, 본 발명은 이전 프레임에서 가장 높은 압축률을 나타낸 알 고리즘을 현재 프레임의 압축 알고리즘으로 적용하는 방법을 제안한다. 구체적으로, 프레임 성질 히스토리(history)를 기반으로 하는 예측(prediction)을 통해 적응적(adaptive)으로 압축 알고리즘을 선택하는 방법을 사용한다. 그리고 상기 예측을 통해 적응적으로 압축 알고리즘을 선택하는 방법과 더불어 상기 image slope를 통해 상기 TPPC 압축 알고리즘 수행 여부를 선택하는 방법을 제안한다. 이러한 방법을 통하여 선택된 알고리즘을 압축 모드라 하기로 한다.By applying the TPPC algorithm on a limited compression image, the compression rate can be maintained above a certain level. In selecting a suitable algorithm for an image, it is possible to determine the characteristics of the target image and then select a compression algorithm to obtain the highest compression rate, but a large buffer memory is required, so that the complexity of the hardware and the image are high. There is a problem that a delay occurs due to the characterization of the. However, the scene change of the displayed image is a very short moment in the entire displayed image, and the characteristics of the image tend to exhibit the same or similar characteristics as the previous frame while one scene is maintained. Therefore, the present invention proposes a method of applying the algorithm showing the highest compression rate in the previous frame as the compression algorithm of the current frame. Specifically, a method of adaptively selecting a compression algorithm through prediction based on frame property history is used. In addition to a method of adaptively selecting a compression algorithm through the prediction, a method of selecting whether to perform the TPPC compression algorithm through the image slope is proposed. The algorithm selected through this method will be referred to as a compression mode.

도 6은 각 압축 모드에 따른 압축데이터의 포맷(format)을 나타낸다. 6 shows a format of compressed data according to each compression mode.

압축 모드는 크게 PPC 알고리즘, TPPC 알고리즘, PFC 알고리즘, RLE 알고리즘으로 나누어지게 되는데, 먼저 PPC 알고리즘은 파셜 타입(partial type)과 비압축 타입(uncompressed type)으로 다시 나누어 볼 수 있으며 플래그(flag)를 통해서 구분된다. Compression mode is divided into PPC algorithm, TPPC algorithm, PFC algorithm, and RLE algorithm. First, PPC algorithm can be divided into partial type and uncompressed type. Are distinguished.

도 6을 참조하면, PFC 알고리즘에서 플래그는 PPC 알고리즘과 마찬가지로 파셜 픽셀 타입으로 압축되었는지를 구분하기 위한 것으로써, 연속된 세 개의 픽셀 데이터들이 동일한 경우 고정 런랭스 타입(Fixed Run Length Type)의 압축을 수행하는 경우 플래그는 항상 '0'이고, 도 4의 코드(Code)를 통해 고정 런 랭스 타입으로 압축이 되었는지 아니면 압축없이 픽셀 데이터들을 저장하는 비압축 타입(uncompressed type) 데이터인지를 구분한다. 고정 런랭스 타입의 압축 알고리즘을 살펴보면 원본 픽셀 데이터(Original Pixel Data)의 n 번째에서 n + 2 번째까지의 세 Pixel이 “A”로 동일하므로 m 번째 압축 데이터로 픽셀 데이터 “A”와 code = 1, flag = 0으로 저장한다. PFC 알고리즘은 n + 3번째 원본 픽셀 데이터 "B"와 n + 4 번째 픽셀 데이터 “C”가 서로 다르므로 m + 1 번째 압축 데이터를 저장할 때 실제로 압축되지 않았음을 지시하기 위하여 코드와 플래그를 “0”으로 하여 비압축 타입으로 메모리에 저장된 것을 표시한다. PFC 알고리즘은 고정 런 랭스 타입으로 압축된 m번째 압축 픽셀 데이터 “A”를 n 번째 내지 n + 2번째 픽셀 데이터로 복원하며 비압축 타입 데이터인 m + 1 번째 압축 픽셀 데이터 “B”를 n + 3 번째 픽셀 데이터로 복원한다. Referring to FIG. 6, in the PFC algorithm, the flag is used to distinguish whether or not the flag is compressed into a partial pixel type, similar to the PPC algorithm. When three consecutive pixel data are the same, the fixed run length type compression is performed. When performing, the flag is always '0' and distinguishes whether it is compressed to a fixed run length type or uncompressed type data that stores pixel data without compression through the code of FIG. 4. In the fixed run length-type compression algorithm, since the three pixels from the nth to n + 2th of the original pixel data are the same as “A”, the mth compressed data is the pixel data “A” and code = 1 Save flag = 0. The PFC algorithm uses code and flags to indicate that the n + 3rd original pixel data "B" and the n + 4th pixel data "C" are different and therefore not actually compressed when storing the m + 1st compressed data. 0 ”indicates that it is stored in memory as uncompressed type. The PFC algorithm restores the m th compressed pixel data “A” compressed with the fixed run length type to the n th to n + second pixel data, and the m + 1 th compressed pixel data “B” which is the uncompressed type data n + 3. Restore to the first pixel data.

RLE 알고리즘은 임의의 픽셀로부터 연속적으로 동일한 픽셀 데이터들이 존재하는 경우 그 픽셀 데이터와 반복횟수인 런랭스(run length)를 저장하는 방식이다. RLE 알고리즘은 도 5와 같이 n 번째 픽셀 데이터로부터 n + k 번째 픽셀 데이터까지 동일하므로 픽셀인 “B”와 그 반복횟수인 “k”를 런랭스로 저장한다. RLE 알고리즘은 n + k + 1 번째 픽셀 데이터“C”를 그 다음 픽셀 데이터 “D”와 다르므로 m + 1 번째 압축 픽셀 데이터로 “C”와 반복횟수인 “0”을 저장한다. RLE 알고리즘은 저장된 픽셀 데이터를 런랭스횟 수만큼 출력하여 압축 픽셀 데이터들을 복원한다. The RLE algorithm stores a run length which is the number of repetitions of the pixel data when the same pixel data is continuously present from any pixel. Since the RLE algorithm is the same from the n th pixel data to the n + k th pixel data as shown in FIG. 5, the pixel “B” and its repetition frequency “k” are stored as run lengths. Since the RLE algorithm differs from n + k + 1st pixel data "C" and the next pixel data "D", it stores "C" and the repetition number "0" as m + 1st compressed pixel data. The RLE algorithm restores the compressed pixel data by outputting the stored pixel data by the run-length number of times.

TPPC 알고리즘은 도 3과 같이 데이터 포맷 상에서 하위 bit가 잘라버리는 처리에서 차이가 있을 뿐 그 이외에는 PPC 알고리즘과 실질적으로 동일하다. The TPPC algorithm is substantially the same as the PPC algorithm except for the difference in the process of cutting off the lower bits in the data format as shown in FIG. 3.

PFC 알고리즘에서 데이터의 저장 형태는 파셜 타입(Partial Type), 고정 런랭스 타입(Fixed Run Length Type), 그리고 비압축 타입(Uncompressed type) 등으로 나뉘어진다. 이러한 저장 형태들은 플래그와 코드(Code)를 통해 구분될 수 있다. 파셜 타입은 도 1의 예와 같이 동일한 상위 비트들을 제외하고 남은 서로 다 른 하위 파셜 비트들만을 메모리에 저장하여 압축한다. 고정 런랭스 타입은 연속된 세 개의 픽셀 데이터들이 동일한 경우에 풀 비트의 픽셀 데이터들과 함께 그 반복횟수를 "1"의 코드값을 갖는 코드와 "0"의 플래그 값을 갖는 플래그를 메모리에 저장한다. 비압축 타입은 파셜 타입이나 고정 런랭스으로 압축하지 않을 때 한 픽셀 데이터만을 저장하고, 이와 함께 각각 "0"으로 설정된 코드와 플래그를 메모리에 저장한다. In the PFC algorithm, data storage is divided into a partial type, a fixed run length type, and an uncompressed type. These storage types can be distinguished by flags and codes. The partial type saves and compresses only the remaining lower partial bits in the memory except for the same upper bits as in the example of FIG. 1. The fixed run length type stores in the memory a code having a code value of "1" and a flag having a flag value of "0" in memory together with a full bit of pixel data when three consecutive pixel data are the same. do. The uncompressed type stores only one pixel data when not compressed to a partial type or fixed run length, and stores a code and a flag set to "0" in memory, respectively.

플래그는 압축된 데이터가 파셜 타입인지 아닌지를 구별하며, 코드는 파셜 타입이 아닐 때 고정 런랭스 타입으로 압축이 되었는지 아니면 어느 방식으로도 압축 되지 않아 원본 데이터(original data)가 그대로 바이패스되어 비압축 타입으로 저장되었는지를 나타낸다. The flag distinguishes whether the compressed data is a partial type or not, and the code is compressed with a fixed run length type when it is not a partial type, or not compressed in any way, so that the original data is bypassed as it is and not compressed. Indicates whether it is stored as a type.

플래그가 "1"이면 파셜 타입으로 저장된 경우이다. 파셜 타입은 도 1과 같이 이전 픽셀 데이터인 n - 1 번째 픽셀 데이터와 인접하는 n 번째 픽셀 데이터 간에 상위 4 비트들을 비교하고, n - 1 번째 픽셀 데이터와 n + 1 번째 픽셀 데이터 간에 거리가 먼 점을 고려하여 상위 3 비트들을 비교하여 파셜 픽셀 데이터들을 메모리에 저장한다. 플래그가 "0"이면, 고정 런랭스 타입이나 비압축 타입으로 저장된 경우이다. 이 고정 런랭스 타입 또는 비압축 타입은 풀 비트 형태의 한 픽셀 데이터, 코드 및 플래그를 포함한 런 랭스(Run Length)를 저장하여 RLE와 유사한 형태로 데이터를 메모리에 저장한다. 고정 런랭스 타입은 연속되는 데이터에서 n 번째 픽셀 데이터부터 n + k 번째 픽셀 데이터 즉, 연속되는 k 개의 픽셀 데이터들이 동일할 때 데이터를 메모리에 저장한다. 연속되는 2 개의 픽셀 데이터들이 동 일한 경우에 그 데이터들은 파셜 타입으로 메모리에 저장된다 If the flag is "1", it is stored as a partial type. The partial type compares the upper 4 bits between the n-th pixel data, which is the previous pixel data, and the n-th pixel data adjacent to each other, as shown in FIG. 1, and the distance between the n−1th pixel data and the n + 1th pixel data is farther away. Considering this, the upper three bits are compared to store partial pixel data in a memory. If the flag is "0", it is a case of being stored in the fixed run length type or the uncompressed type. This fixed run length type or uncompressed type stores a run length including one pixel data, a code and a flag in full bit form, and stores the data in a memory similar to an RLE. The fixed run length type stores the data in the memory when the n th pixel data and the n + k th pixel data, that is, the k consecutive pixel data are the same in the continuous data. If two consecutive pixel data are identical, they are stored in memory as a partial type.

고정 런랭스 타입은 임의의 픽셀 데이터로부터 두 픽셀 데이터들이 연속된 경우를, 비압축 타입은 임의의 픽셀로부터 연속되는 픽셀 데이터가 존재하지 않는 경우를 나타낸다. 이 때, 코드, 플래그는 고정 런랭스 타입에서 (10)이고, 비압축 타입에서 (00)으로 구분되며, 이를 이진수로 본다면 RLE의 런 랭스로 볼 수 있어 픽셀 데이터의 반복횟수를 나타낼 수 있다. 따라서, 이러한 압축 데이터는 RLE의 런랭스와 같은 형태로써 RLE의 복원장치(또는 RLE 디코더)를 통해 복원될 수 있다. 즉, 코드와 플래그를 RLE의 런랭스(run length)로 사용할 수 있으므로 복원장치의 RLE 디코더와 공유할 수 있다. The fixed run length type represents a case where two pixel data are contiguous from any pixel data, and the uncompressed type represents a case where there is no continuous pixel data from any pixel. In this case, the code and the flag are (10) in the fixed run length type and (00) in the uncompressed type, and when viewed in binary, it can be seen as the run length of the RLE to indicate the number of repetitions of pixel data. Therefore, such compressed data may be recovered through the recovery device (or RLE decoder) of the RLE in the form of run length of the RLE. That is, since the code and the flag can be used as the run length of the RLE, it can be shared with the RLE decoder of the restoration device.

PFC 알고리즘의 파셜 타입과 PPC 및 TPPC 알고리즘의 파셜 타입은 기본적으로 동일한 압축 원리로 픽셀 데이터들을 압축한다. PFC에서는 파셜 타입과 함께, 고정 런랭스 타입을 병용하여 보다 다양한 경우에 압축률을 향상 시킬 수 있다. 고정 런랭스 타입은 코드와 플래그를 이용하여 픽셀 데이터들의 3회 반복횟수를 나타낼 수 있다. The partial type of the PFC algorithm and the partial type of the PPC and TPPC algorithms basically compress pixel data using the same compression principle. In PFC, in combination with the partial type and the fixed run length type, the compression ratio can be improved in more various cases. The fixed run length type may indicate three repetitions of pixel data using a code and a flag.

본 발명은 고정 런랭스 타입과 비압축 타입을 플래그가 0인 경우에 코드를 통해 구분한다. 예컨대, 코드가 1인 경우에 고정 런랭스 타입을, 코드가 0인 경우에 비압축 타입으로 데이터를 저장한 경우를 나타낼 수 있다. 따라서, 본 발명은 코드 = 1, 플래그 = 0으로 제어하여 고정 런랭스 타입으로 풀 픽셀(Full Pixel)이 연속적으로 동일한 경우를 저장할 수 있다. 본 발명은 세 픽셀 데이터들이 연속적으로 동일한 경우를 저장할 때 가장 높은 압축률을 나타내므로 세 픽셀 데이터들이 연속적으로 동일한 경우를 저장한다. 앞의 실시예는 k = 2 경우를 가정하여 설명한 것이다. According to the present invention, the fixed run length type and the uncompressed type are distinguished by code when the flag is zero. For example, the case where the code is 1 may indicate a fixed run length type, and when the code is 0, the data is stored in an uncompressed type. Accordingly, the present invention can store the case where the full pixels are continuously the same in the fixed run length type by controlling the code = 1 and the flag = 0. Since the present invention shows the highest compression ratio when storing the case where three pixel data are consecutively the same, the case where the three pixel data are consecutively the same is stored. The previous embodiment has been described on the assumption that k = 2.

PPC는 도 1과 같이 픽셀 비교 범위(Pixel comparison range, 이하 "PCR"이라 함) 내 픽셀들의 각 4 비트를 비교하여 저장하는 방식이다. PCR은 임의의 연속되는 픽셀들에서 비교대상이 되는 연속적인 픽셀들의 개수로 정의된다. PFC의 파셜 타입과 PPC의 파셜 타입의 압축원리는 실질적으로 동일하다. TPPC 알고리즘은 전술한 바와 같이 데이터 포맷에 있어서 하위 bit가 잘라버림되는 것에서 차이가 있을 뿐 그 이외에는 PPC 알고리즘과 실질적으로 동일하다. PPC compares and stores each 4 bits of pixels in a pixel comparison range (hereinafter, referred to as "PCR") as shown in FIG. 1. PCR is defined as the number of consecutive pixels to be compared in any successive pixels. The compression principle of the partial type of the PFC and the partial type of the PPC is substantially the same. As described above, the TPPC algorithm differs in that the lower bits are truncated in the data format, except that the TPPC algorithm is substantially the same as the PPC algorithm.

PFC 알고리즘, PPC 알고리즘, TPPC 알고리즘 그리고 RLE 알고리즘은 후술하는 적응적 압축모드 예측 장치(Adaptive compression mode prediction unit)에 의해 선택된다. 적응적 압축모드 예측 장치는 PPC, PFC, RLE 압축 알고리즘들 중 이전 프레임에서 가장 높은 압축률을 나타낸 압축 알고리즘을 판단하여 현재 프레임에서 가장 높은 압축률로 계산된 압축 알고리즘을 선택하기 위한 신호를 발생한다. 이미지 슬로프 계산기는 픽셀 데이터 간의 차이의 평균값을 기준으로 적응적 압축 모드 예측 유닛에서 선택한 압축 알고리즘이 압축 레이트 가드를 지키지 못할 경우 TPPC 압축 알고리즘을 선택하기 위한 신호를 발생한다.The PFC algorithm, the PPC algorithm, the TPPC algorithm and the RLE algorithm are selected by an adaptive compression mode prediction unit described later. The adaptive compression mode prediction apparatus determines a compression algorithm having the highest compression rate in a previous frame among PPC, PFC, and RLE compression algorithms, and generates a signal for selecting a compression algorithm calculated at the highest compression rate in the current frame. The image slope calculator generates a signal for selecting a TPPC compression algorithm when the compression algorithm selected by the adaptive compression mode prediction unit does not comply with the compression rate guard based on the average value of the difference between the pixel data.

본 발명은 PFC에서 고정 런랭스 타입으로 픽셀 데이터들을 압축할 수 있는 경우에, 파셜 타입으로 압축이 가능하더라도 고정 런랭스 타입으로 저장한다. 이는 압축률 실험 결과 더 높은 압축률을 얻을 수 있었고, 또한, 파셜 타입과 고정 런랭스 타입의 선택과정의 복잡도를 낮추기 위해 단순히 고정 런랭스 타입으로 저 장하기 때문이다. When the pixel data can be compressed in the fixed run length type in the PFC, the present invention stores the fixed run length type even though the partial data can be compressed in the partial type. This is because the compression ratio test resulted in a higher compression ratio and also simply stored as a fixed run length type to reduce the complexity of the selection process of the partial type and the fixed run length type.

PFC의 파셜 타입 압축 알고리즘에서 첫 픽셀 데이터의 하위 4 비트와 둘째 픽셀 데이터의 하위 5 비트에서 비트수 차이가 난다. 이는 PFC의 파셜 타입 압축 알고리즘은 PPC의 파셜 타입과 동일한 압축 방식을 가지나, PFC의 경우에 고정 런랭스 타입과 비압축 타입을 구분하는 코드를 저장하기 위한 공간이 추가되어 있고 이 코드는 파셜 타입으로 압축 데이터를 저장하는 경우에 사용하지 않기 때문이다. 이전 픽셀 데이터와 첫 픽셀 데이터는 PPC와 마찬가지로 4 비트를 비교하여 서로 다른 4 비트를 저장하고, 두 번째 픽셀 데이터와는 픽셀 거리(Pixel Distance)가 먼 점을 고려하여 상위 3 비트만을 비교할 수 있다. In the PFC partial type compression algorithm, the number of bits is different between the lower 4 bits of the first pixel data and the lower 5 bits of the second pixel data. This means that the PFC partial type compression algorithm has the same compression scheme as the PPC partial type, but in the case of PFC, there is an additional space for storing the code that distinguishes the fixed run length type from the uncompressed type. This is because it is not used when storing compressed data. Like the PPC, the previous pixel data and the first pixel data store 4 bits different from each other by comparing 4 bits, and only the upper 3 bits can be compared in consideration of the fact that the pixel distance is far from the second pixel data.

플래그는 압축 데이터로 저장된 픽셀 데이터의 상위 비트의 제거여부를 나타낸다. 또한, 플래그는 전술한 바와 같이 상위 비트의 제거여부를 지시함과 아울러, 파셜 타입인지 아니면 고정 런랭스 타입이나 비압축 타입인지를 구분할 수도 있다. 파셜 타입으로 압축 저장된다는 것은 상위 비트가 제거되었다는 것이고, 고정 런랭스 타입이나 비압축 타입인 경우에 상위 비트가 제거되지 않았다는 것을 의미한다. The flag indicates whether high order bits of pixel data stored as compressed data are removed. In addition, as described above, the flag indicates whether or not the upper bit is removed, and can also distinguish whether the flag is a partial type or a fixed run length type or an uncompressed type. Compressed storage of the partial type means that the upper bits have been removed, and that the upper bits have not been removed in the case of the fixed run length type or the uncompressed type.

도 7은 본 발명의 데이터 압축 및 복원장치의 하드웨어 구성을 나타낸다.7 shows a hardware configuration of the data compression and decompression apparatus of the present invention.

도 7을 참조하면, 본 발명의 데이터 압축 및 복원 장치는 메모리(4)의 입/출력단에 접속하며, 알고리즘 각각에 대해 하드웨어의 일부를 공유하여 낮은 복잡도의 하드웨어 구성을 가진다. 이러한 구성에 의해 동일한 하드웨어를 프로그램 가능하게(Programmable) 하여 압축 및 복원 알고리즘을 각각 처리할 수 있다. Referring to FIG. 7, the data compression and decompression device of the present invention is connected to an input / output end of the memory 4, and shares a part of hardware for each algorithm, thereby having a low complexity hardware configuration. This configuration makes it possible to program the same hardware to process the compression and decompression algorithms respectively.

데이터 압축장치(100)의 압축 알고리즘과, 데이터 복원장치(200)의 복원 알고리즘은 적응적 압축 모드 예측 장치(5)에 의해 선택된다. The compression algorithm of the data compression device 100 and the decompression algorithm of the data decompression device 200 are selected by the adaptive compression mode prediction device 5.

데이터 압축장치(100)는 제 1 써큘라 버퍼(Circular Buffer)(1), 비교기(Comparator)(2), 인코더(Encoder)(3) 및 TPPC 변환장치(8)를 구비한다. 제 1 써큘라 버퍼(1)는 원본 데이터(Original data)를 일시 저장한 후에 비교기(2)에 공급한다. 비교기(2)는 제 1 써큘라 버퍼(1)로부터 입력되는 연속한 픽셀 데이터들의 상위 비트들을 비교하여 그 픽셀 데이터들의 동일성을 판단한다. 그리고 비교기(2)는 연속된 픽셀 데이터들의 비교 판단결과에 따라 동일성여부를 나타내는 동일성 판단정보와 함께 픽셀 데이터들을 인코더(3)에 공급한다. 인코더(3)는 PFC 인코더와 RLE 인코더를 포함한다. PFC인코더와 RLE 인코더는 비교기(2)를 공유한다. 인코더(3)는 제 1 써큘라 버퍼(1)로부터의 픽셀 데이터를 RLE 알고리즘, PFC 알고리즘, PPC 알고리즘의 세 가지 압축 알고리즘으로 압축한 후에, 적응적 압축 모드 예측 장치(5)로부터 입력된 압축 알고리즘에 따라 상기 세가지 압축 알고리즘로 압축된 데이터들 중에서 이전 프레임에서 가장 좋은 압축률을 보인 압축 알고리즘으로 압축된 데이터를 메모리(4)에 저장한다. 이전 프레임에서 가장 좋은 성능을 갖는 압축 알고리즘은 다음 프레임에서도 성능이 좋을 수 있는 확률이 높다. 따라서, 인코더(3)는 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘으로 다음 프레임의 픽셀 데이터를 압축한다. The data compression device 100 includes a first circular buffer 1, a comparator 2, an encoder 3, and a TPPC converter 8. The first circular buffer 1 temporarily stores the original data and supplies the original data to the comparator 2. The comparator 2 compares the upper bits of consecutive pixel data input from the first circular buffer 1 and determines the identity of the pixel data. The comparator 2 supplies the pixel data to the encoder 3 together with the identity determination information indicating the identity according to the comparison determination result of the continuous pixel data. The encoder 3 includes a PFC encoder and an RLE encoder. The PFC encoder and the RLE encoder share a comparator 2. The encoder 3 compresses the pixel data from the first circular buffer 1 into three compression algorithms of the RLE algorithm, the PFC algorithm, and the PPC algorithm, and then the compression algorithm input from the adaptive compression mode prediction device 5. As a result, among the data compressed by the three compression algorithms, the data compressed by the compression algorithm showing the best compression ratio in the previous frame is stored in the memory 4. The compression algorithm with the best performance on the previous frame is likely to perform well on the next frame. Thus, the encoder 3 compresses the pixel data of the next frame with the compression algorithm selected by the adaptive compression mode prediction device 5.

PFC 인코더는 PFC 알고리즘, PPC 알고리즘 및 TPPC 알고리즘 모두를 위해 데이터를 압축하는데, 파셜 픽셀 데이터의 크기(또는 비트 길이)를 조정하는 것만으 로 PFC 알고리즘에서 PPC/TPPC 알고리즘으로 또는 그 역으로 압축 알고리즘이 용이하게 전환될 수 있다. 따라서, 인코더(3)는 PFC 알고리즘과 PPC 알고리즘의 압축 연산을 처리하는 하드웨어를 공유할 수 있다. The PFC encoder compresses data for both the PFC algorithm, the PPC algorithm, and the TPPC algorithm. By adjusting the size (or bit length) of the partial pixel data, the PFC encoder converts the data from the PFC algorithm to the PPC / TPPC algorithm and vice versa. Can be easily switched. Thus, the encoder 3 can share hardware that handles the compression operation of the PFC algorithm and the PPC algorithm.

TPPC 변환장치(8)는 인코더(3)로부터의 픽셀 데이터에서 하위 1 bit 또는 2 bit를 잘라버림하고 나머지 bit들을 포함하는 픽셀 데이터를 메모리(4)에 저장한다 The TPPC converter 8 cuts out the lower 1 bit or 2 bits from the pixel data from the encoder 3 and stores the pixel data including the remaining bits in the memory 4.

데이터 복원장치(200)는 디코더(6)와 제 2 써큘라 버퍼(7)를 구비한다. 디코더(6)는 메모리(4)로부터의 압축 데이터를 RLE 알고리즘, PFC 알고리즘 및 PPC/TPPC 알고리즘 등의 복원 알고리즘으로 복원한 후에 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘과 대응하는 복원 알고리즘으로 복원된 복원 데이터를 선택하여 제 2 써큘라 버퍼(7)에 공급한다. 또한, 디코더(6)는 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘과 대응하는 복원 알고리즘으로 메모리(4)로부터의 압축 데이터를 복원하여 제 2 써큘라 버퍼(7)에 공급할 수 있다. 디코더(6)에서 파셜 픽셀 디코더는 PFC 알고리즘, PPC 알고리즘, TPPC 알고리즘 등으로 데이터를 복원하는데, 파셜 픽셀 데이터의 크기 예컨대, 파셜 타입과 고정 런랭스 타입의 크기를 조정하는 것만으로 PFC 알고리즘에서 PPC/TPPC 알고리즘으로 또는 그 역으로 복원방법이 전환될 수 있다. 따라서, 디코더(6)는 PFC 알고리즘과 PPC 알고리즘의 복원 연산을 처리하는 하드웨어를 공유할 수 있다.The data recovery apparatus 200 includes a decoder 6 and a second circular buffer 7. The decoder 6 decompresses the compressed data from the memory 4 into decompression algorithms such as the RLE algorithm, the PFC algorithm, and the PPC / TPPC algorithm, and then decompresses corresponding to the compression algorithm selected by the adaptive compression mode prediction device 5. The restored data restored by the algorithm is selected and supplied to the second circular buffer 7. In addition, the decoder 6 may restore the compressed data from the memory 4 to the second circular buffer 7 by using a decompression algorithm corresponding to the compression algorithm selected by the adaptive compression mode prediction apparatus 5. . In the decoder 6, the partial pixel decoder restores data with a PFC algorithm, a PPC algorithm, a TPPC algorithm, and the like, by adjusting the size of the partial pixel data, for example, the size of the partial type and the fixed run length type. The restoration method can be switched to the TPPC algorithm or vice versa. Therefore, the decoder 6 can share hardware for processing the reconstruction operation of the PFC algorithm and the PPC algorithm.

적응적 압축 모드 예측 장치(5)는 이전 프레임 이미지의 압축 알고리즘별 압축률을 비교하여 이전 프레임에서 가장 높은 압축률을 가지는 알고리즘을 현재 프레임 이미지의 압축에 적용시키는 역할을 한다. 이를 상세히 설명하면, 적응적 압 축 모드 예측 장치(5)는 압축과정에서 생성되는 중간 인코드 데이터인 코드, 플래그, 런 랭스를 통해 PPC 알고리즘, TPPC 알고리즘, PFC 알고리즘, RLE 알고리즘 각각의 압축률을 구하고, 압축대상 프레임의 압축이 끝나는 시점에서 가장 높은 압축률로 계산된 압축 알고리즘을 그 다음 프레임의 압축 알고리즘으로 선정한다. 그 결과, 적응적 압축 모드 예측 장치(5)는 이전 프레임의 데이터들에 대하여 PFC 알고리즘, RLE 알고리즘, PPC 알고리즘 및 TPPC 알고리즘으로 압축을 행한 결과, 압축율이 가장 높은 압축 알고리즘을 선택하고 선택한 알고리즘을 지시하는 선택신호를 인코더(3)와 디코더(6)에 공급하여 인코더(3)와 디코더(6)의 압축 및 복원 알고리즘을 선택한다. The adaptive compression mode prediction apparatus 5 compares the compression ratio of each compression algorithm of the previous frame image and applies the algorithm having the highest compression rate in the previous frame to the compression of the current frame image. In detail, the adaptive compression mode prediction apparatus 5 obtains the compression ratios of the PPC algorithm, the TPPC algorithm, the PFC algorithm, and the RLE algorithm through the codes, flags, and run lengths, which are intermediate encoded data generated during the compression process. At the end of the compression of the frame to be compressed, the compression algorithm calculated at the highest compression rate is selected as the next compression algorithm. As a result, the adaptive compression mode prediction device 5 selects the compression algorithm having the highest compression ratio and indicates the selected algorithm as a result of compressing the data of the previous frame with the PFC algorithm, the RLE algorithm, the PPC algorithm, and the TPPC algorithm. The selection signal is supplied to the encoder 3 and the decoder 6 to select a compression and decompression algorithm of the encoder 3 and the decoder 6.

이러한 적응적 압축 모드 예측 장치(5)는 압축장치(100)의 인코더(3)로부터 압축된 픽셀 데이터를 입력받아 현재 프레임에서 높은 압축률을 나타내는 알고리즘을 파악하며, 이미지 특성에 따라 적응적으로 압축 알고리즘을 선택할 수 있다. 이 때 압축 레이트 가드(compression rate guard)를 지키기 위하여 TPPC 변환장치(8)를 사용할 수 있다. TPPC 변환장치(8)의 경우 압축된 픽셀 데이터의 압축률이 낮은 경우 TPPC 알고리즘으로 변환하여 저장하여 압축률을 유지하며, 이는 TPPC 알고리즘이 PPC 알고리즘과 동일한 과정으로 압축이 수행되며, 다만 도 3에서 설명한 바와 같이 하위 bit 그룹의 LSB가 잘라버림된 것뿐이기에 가능하다. The adaptive compression mode prediction apparatus 5 receives the compressed pixel data from the encoder 3 of the compression apparatus 100 and grasps an algorithm indicating a high compression ratio in the current frame, and adaptively compresses the algorithm according to image characteristics. Can be selected. In this case, the TPPC converter 8 can be used to keep the compression rate guard. In the case of the TPPC converter 8, when the compression rate of the compressed pixel data is low, the TPPC algorithm converts and stores the compressed data to maintain the compression rate. This is performed by the TPPC algorithm in the same process as the PPC algorithm. Likewise, only the LSB of the lower bit group is truncated.

이미지 슬로프 계산기(9)는 예측을 통한 압축 알고리즘 선택을 수행하는데, 압축장치(100)로 입력되는 픽셀 데이터의 이미지 슬로프를 계산한다. 이미지 슬로프가 미리 선정된 이미지 슬로프 코너(image slope corner)보다 큰 경우 TPPC 알고 리즘을 선택하는 신호를 적응적 압축 모드 예측 장치(5)로 전송하여 압축률을 유지할 수 있다.The image slope calculator 9 performs a compression algorithm selection through prediction, and calculates an image slope of pixel data input to the compression device 100. When the image slope is larger than a predetermined image slope corner, a signal for selecting the TPPC algorithm may be transmitted to the adaptive compression mode prediction apparatus 5 to maintain the compression rate.

도 7에 도시된 데이터 압축 및 복원 장치의 동작을 상세히 설명하면, 비교기(2)는 제 1 써큘라 버퍼(1)로부터 입력되는 연속한 픽셀 데이터들의 상위 비트들을 비교하여 그 픽셀 데이터들의 동일성을 판단하고 그 판단결과에 따라 동일성 여부를 나타내는 동일성 판단정보와 함께 픽셀 데이터들을 인코더(3)에 공급한다. 인코더(3)는 적응적 압축 모드 예측 장치(5)에 의해 선택된 알고리즘으로 픽셀 데이터들을 압축하여 메모리(4)에 저장한다. 디코더(6)는 적응적 압축 모드 예측 장치(5)로부터 입력되는 압축 알고리즘에 따라 선택된 복원 알고리즘으로 메모리(4)로부터의 압축 데이터들을 복원하여 제 2 써큘라 버퍼(7)에 공급한다. Referring to the operation of the data compression and decompression apparatus shown in FIG. 7 in detail, the comparator 2 compares the upper bits of the consecutive pixel data input from the first circular buffer 1 to determine the identity of the pixel data. The pixel data is supplied to the encoder 3 together with the identity determination information indicating the identity according to the determination result. The encoder 3 compresses the pixel data with the algorithm selected by the adaptive compression mode prediction device 5 and stores it in the memory 4. The decoder 6 decompresses the compressed data from the memory 4 with the decompression algorithm selected according to the compression algorithm input from the adaptive compression mode prediction device 5 and supplies it to the second circular buffer 7.

도 8은 도 7에 도시된 데이터 압축장치(100)를 상세히 나타낸다. 도 8에서, "Pixel 1", "Pixel 2", "Pixel 3" 및 "Pixel 4"는 압축하고자 하는 제 1 내지 제 4 픽셀 데이터들이고, "Previous Pixel"은 이미 압축된 이전 픽셀 데이터의 원본 데이터이다. 이러한 픽셀 데이터들은 제 1 써큘라 버퍼(1)를 통해 입력되는 압축 대상 픽셀 데이터들이다. FIG. 8 shows the data compression apparatus 100 shown in FIG. 7 in detail. In Fig. 8, "Pixel 1", "Pixel 2", "Pixel 3" and "Pixel 4" are first to fourth pixel data to be compressed, and "Previous Pixel" is original data of previous pixel data which has already been compressed. to be. These pixel data are compression target pixel data input through the first circular buffer 1.

데이터 압축장치(100)는 이전에 저장된 이전 픽셀 데이터와 현재 입력된 픽셀 데이터들 간의 상위 비트들이 동일한 경우에 현재 입력된 픽셀 데이터를 PFC의 파셜 타입이나 PPC 압축 알고리즘으로 압축한다. 데이터 압축장치(100)는 현재 입력된 Pixel 1 - Pixel 3을 비교하여 PFC의 고정 런랭스 타입과 비압축 타입으로 현재 입력된 픽셀 데이터를 압축한다. RLE 압축 알고리즘으로 압축을 하는 경우에, 데 이터 압축장치(100)는 입/출력 라인 폭(I/O Line Width)이 허용하는 정도까지 Pixel 1 에서부터 마지막 픽셀 데이터까지 비교하는데 동시에 비교한다. The data compression apparatus 100 compresses the currently input pixel data by the PFC partial type or the PPC compression algorithm when the upper bits between previously stored previous pixel data and the currently input pixel data are the same. The data compression apparatus 100 compares the currently input Pixel 1 to Pixel 3 and compresses the pixel data currently input by the fixed run length type and the uncompressed type of the PFC. In the case of compression using the RLE compression algorithm, the data compression device 100 compares and simultaneously compares Pixel 1 to the last pixel data to the extent that the I / O Line Width allows.

비교기(2)는 다수의 비교기들을 구비한다. 인코더(3)는 PFC 인코더와 RLE 인코더를 포함한다. PFC 인코더는 파셜 픽셀 인코더(Partial Pixel Encoder)와 풀 픽셀 인코더(Full Pixel encoder)를 구비한다. RLE 인코더는 동일한 픽셀 데이터의 경계 즉, 런랭스를 빠르게 산출하는 포지션 벨류 쉬프터(Position Value Shifter)와 감산기(Subtractor)를 구비한다. 제 1 비교기는 이전 픽셀 데이터와 제 1 픽셀 데이터(Pixel 1)를 비교하고, 그 데이터들 간의 동일성 여부를 지시하는 비교 결과를 파셜 픽셀 인코더에 공급한다. 제 2 비교기는 제 1 픽셀 데이터(Pixel 1)와 제 2 픽셀 데이터(Pixel 2)를 비교하고, 그 데이터들 간의 동일성 여부를 지시하는 비교 결과를 파셜 픽셀 인코더, 풀 픽셀 인코더 및 포지션 벨류 쉬프터에 공급한다. 제 3 비교기는 제 2 픽셀 데이터(Pixel 2)와 제 3 픽셀 데이터(Pixel 3)를 비교하고, 그 데이터들 간의 동일성 여부를 지시하는 비교 결과를 풀 픽셀 인코더와 포지션 벨류 쉬프터에 공급한다. The comparator 2 has a plurality of comparators. The encoder 3 includes a PFC encoder and an RLE encoder. The PFC encoder includes a partial pixel encoder and a full pixel encoder. The RLE encoder includes a position value shifter and a subtractor for quickly calculating the boundary of the same pixel data, that is, the run length. The first comparator compares the previous pixel data with the first pixel data Pixel 1 and supplies a comparison result indicating whether the data is identical to the partial pixel encoder. The second comparator compares the first pixel data Pixel 1 and the second pixel data Pixel 2 and supplies a comparison result indicating whether the data is identical to the partial pixel encoder, the full pixel encoder, and the position value shifter. do. The third comparator compares the second pixel data Pixel 2 and the third pixel data Pixel 3 and supplies a comparison result indicating whether the data is identical to the full pixel encoder and the position value shifter.

파셜 픽셀 인코더는 Previous Pixel에서 Pixel 2까지의 비교결과에 기초하여 플래그를 생성한다. 풀 픽셀 인코더는 Pixel 1부터 Pixel 3까지의 비교결과에 기초하여 코드를 생성한다. RLE 인코더는 포지션 벨류 쉬프터와 감산기를 통해 빠르고 효율적으로 런랭스를 산출할 수 있다. 이렇게 생성된 코드, 플래그 및 런랭스는 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘에 따라 패스 트랜지스터(pass transistor)를 통해 픽셀 데이터와 조합되어 도 7과 같은 데이터 포맷 을 갖는 압축 데이터로 압축된다. The partial pixel encoder generates a flag based on the comparison result from Previous Pixel to Pixel 2. The full pixel encoder generates code based on the comparison result from Pixel 1 to Pixel 3. The RLE encoder can calculate run lengths quickly and efficiently through position value shifters and subtractors. The generated code, flag, and runlength are combined with pixel data through a pass transistor according to a compression algorithm selected by the adaptive compression mode prediction device 5 to compressed data having a data format as shown in FIG. Is compressed.

파셜 픽셀 인코더는 적응적 압축 모드 예측 장치(5)에 의해 선택된 알고리즘에 따라 PFC 알고리즘의 파셜 타입과 PPC/TPPC 알고리즘의 파셜 타입 중 어느 하나를 선택한다. 또한, 파셜 픽셀 인코더는 제 1 및 제 2 비교기의 비교결과를 입력 받아 이전 픽셀 데이터 내지 제 2 픽셀 데이터(Pixel2)의 상위 비트들이 동일하면 적응적 압축 모드 예측 장치(5)에 의해 선택된 PFC 알고리즘의 파셜 타입 또는 PPC/TPPC 알고리즘의 파셜 타입으로 압축하여 픽셀 데이터들의 상위 비트들을 제거하고 플래그 비트를 "1"로 발생하여 압축된 데이터들과 함께 플래그 비트를 메모리(4)에 저장한다. The partial pixel encoder selects one of the partial type of the PFC algorithm and the partial type of the PPC / TPPC algorithm according to the algorithm selected by the adaptive compression mode prediction apparatus 5. In addition, the partial pixel encoder receives the comparison result of the first and second comparators, and if the upper bits of the previous pixel data and the second pixel data Pixel2 are the same, the partial pixel encoder of the PFC algorithm selected by the adaptive compression mode prediction apparatus 5 is equal. The upper bits of the pixel data are removed by compression to the partial type or the partial type of the PPC / TPPC algorithm, and the flag bits are generated as "1" to store the flag bits in the memory 4 together with the compressed data.

PFC 알고리즘의 고정 런랭스 타입과 비압축 타입은 압축이 안되었으므로 반드시 한 픽셀 데이터의 모든 비트들을 메모리에 저장하기 때문에 풀 픽셀 인코더는 제 1 픽셀 데이터(Pixel 1) 내지 제 3 픽셀 데이터(Pixel 3)를 비교한다. Since the fixed runlength type and the uncompressed type of the PFC algorithm are not compressed, the full pixel encoder stores all bits of one pixel data in memory, so that the full pixel encoder has the first pixel data Pixel 1 to the third pixel data Pixel 3 Compare

도 9는 파셜 타입 압축방법의 비교범위에 따른 압축 패턴과 압축률을 예시한 도면이다. PFC와 PPC의 파셜 타입 압축 알고리즘은 중복된 상위 비트의 저장횟수를 줄이고 하위 비트만을 저장한다. <Case A>와 같이 이전 픽셀 데이터와 비교하지 않고 현재 입력된 픽셀 데이터들만 비교하면 이전 픽셀 데이터와 상위 비트가 동일하다 하더라도 이를 확인할 수 없기 때문에, 반드시 상위 비트를 저장한 후에 하위 비트들을 저장하여야 한다. 따라서, <Case A>와 같이 이전 픽셀 데이터와 비교하지 않고 현재 입력된 픽셀 데이터들만 비교하면 동일한 상위 비트가 중복저장 되어 낮은 압축률을 나타낸다. 반면, <Case B>와 같이 이전 픽셀 데이터와 비교하 는 경우에 동일한 상위 비트를 중복 저장하지 않아도 되므로 높은 압축률을 나타낸다. 이 경우, 상위 비트가 동일한 픽셀 데이터들이 연속적으로 존재하는 경우에 더 큰 압축률의 차이를 나타낸다. 따라서, 파셜 타입은 이전 픽셀 데이터와 현재 입력되는 픽셀 데이터를 비교하여 압축하게 된다.9 is a diagram illustrating a compression pattern and a compression ratio according to a comparison range of a partial type compression method. The partial type compression algorithm of PFC and PPC reduces the number of duplicate high-order bits and stores only the low-order bits. If you compare only the currently input pixel data without comparing with previous pixel data like <Case A>, even if the upper bit is the same as the previous pixel data, it cannot be checked. Therefore, the lower bit must be stored after storing the upper bit. . Therefore, when comparing only the currently input pixel data without comparing with previous pixel data as shown in <Case A>, the same upper bit is repeatedly stored and thus shows a low compression rate. On the other hand, when comparing with previous pixel data such as <Case B>, it is not necessary to store the same high bit redundantly, which shows high compression ratio. In this case, the higher bit represents a larger difference in compression ratio when the same pixel data are continuously present. Therefore, the partial type compares the previous pixel data with the currently input pixel data and compresses them.

파셜 타입의 경우는 이전에 저장된 픽셀 데이터를 바탕으로 현재 입력된 데이터를 압축하게 되므로 이전 픽셀 데이터를 비교하지만 PFC의 고정 런랭스 타입 및 RLE는 이전 픽셀을 같이 비교할 필요가 없다. RLE는 매우 넓은 비교 범위(Range)를 커버할 수 있으므로 연속적으로 동일한 범위 내의 픽셀 데이터들은 이미 모두 압축된 것으로 볼 수 있다. 이전 픽셀 데이터와 현재 입력되는 압축 대상 픽셀 데이터가 동일할 확률이 희박하므로 이전 픽셀 데이터와 비교하는 것은 비효율적이다. PFC의 고정 런랭스 타입은 비교 및 저장하는 범위가 고정되어 있으므로 가장 높은 압축률을 나타내는 범위를 비교하여야 한다. 연속된 픽셀 데이터들이 동일할 확률은 비교 범위가 커질수록 매우 낮아지므로 조금이라도 적은 범위를 비교해야만 높은 압축률을 가질 수 있다. 따라서, PFC의 고정 런랭스 타입 및 RLE는 이전 픽셀 데이터와 비교하면서 압축률을 손해 보는 것은 비효율적이므로 현재 입력된 픽셀 데이터만을 비교한다.In the case of the partial type, since the currently input data is compressed based on previously stored pixel data, the previous pixel data is compared, but the fixed run length type and the RLE of the PFC do not need to compare the previous pixels together. RLE can cover a very wide range of comparisons, so that pixel data within consecutively identical ranges can all be seen as already compressed. Since the probability of the previous pixel data and the currently input compression target pixel data is the same, it is inefficient to compare with the previous pixel data. The fixed run length type of the PFC has a fixed range for comparison and storage, so the range showing the highest compression ratio should be compared. Since the probability of successive pixel data being the same becomes very low as the comparison range becomes larger, it may be possible to have a high compression rate only by comparing a small range. Therefore, the fixed run length type and the RLE of the PFC compares only the pixel data currently input because it is inefficient to lose the compression ratio while comparing with the previous pixel data.

도 10은 도 7에 도시된 데이터 복원장치(200)를 상세히 나타낸다.FIG. 10 shows the data recovery apparatus 200 shown in FIG. 7 in detail.

도 10을 참조하면, 데이터 복원 장치(200)는 PFC 알고리즘, RLE 알고리즘, PPC 알고리즘, TPPC 알고리즘 각각에 대응하는 복원 알고리즘을 처리하는 하드웨어를 공유하여 낮은 하드웨어 복잡도를 만족한다. 데이터 복원장치(200)는 PFC 알고 리즘의 풀 픽셀 타입으로 압축된 데이터를 RLE 디코더를 통해 복원하며, PFC와 PPC의 파셜 픽셀 타입으로 압축된 데이터를 파셜 픽셀 디코더로 복원한다. Referring to FIG. 10, the data restoration apparatus 200 shares hardware for processing a restoration algorithm corresponding to each of the PFC algorithm, the RLE algorithm, the PPC algorithm, and the TPPC algorithm, thereby satisfying a low hardware complexity. The data recovery apparatus 200 restores data compressed to the full pixel type of the PFC algorithm through the RLE decoder and restores the data compressed to the partial pixel type of the PFC and PPC to the partial pixel decoder.

데이터 복원 장치(200)는 크게 알고리즘에 따라 디코더(61, 62)를 선택하는 디멀티플렉서(63,64), 압축을 해제하는 디코더(61, 62), 그리고 이전 픽셀 값을 가지고 있는 1 pixel 크기의 래치(65)로 구성되어있다. 입력된 압축 픽셀 데이터는 먼저 제 1 디멀티플렉서(63)에서 압축 모드에 따라 PFC/PPC 알고리즘과 RLE 알고리즘으로 나뉘어지고 다시 제 2 디멀티플렉서(64)에서 압축 픽셀 데이터의 플래그가 1일 경우 파셜 타입으로, 플래그가 0일 경우 풀 타입이나 바이패스 타입로 저장된 것으로 구분하여 해당 디코더(61, 62)로 보낸다. TPPC 알고리즘은 PPC 알고리즘과 동일하므로 PPC 알고리즘과 동일한 경로와 과정을 통하여 처리된다. 먼저 풀 픽셀 /RLE(Full pixel/RLE) 디코더(61)를 살펴보면 RLE의 경우 픽셀 데이터가 런랭스(run length)만큼 압축되어 있으므로 카운터(611)를 사용하여 픽셀 데이터를 런랭스만큼 반복 출력하여 복원(decompression)하며, PFC 알고리즘의 풀 타입과 바이패스 타입은 하위 2 bit인 코드와 플래그를 런랭스로 사용하여 RLE 알고리즘과 동일한 방법으로 복원한다. 파셜 픽셀 디코더(62)는 파셜 타입으로 압축된 데이터를 복원한다. 압축 픽셀 데이터는 픽셀 데이터의 하위 bit만을 가지고 있으므로 previous pixel의 상위 bit 데이터를 가진 래치(65)의 하위 bit 위치에 partial pixel 1과 2를 순차적으로 기록하여 압축을 해제한다. 그리고 TPPC 알고리즘의 경우 잘라버림된 LSB를 채우는(padding) 과정이 필요한데, 일반적으로 '0'을 채우는 방식과 다르게 래치(65)에서 전송된 MSB 2 bit을 잘라버림된 LSB에 채워 픽셀 데이 터를 생성하게 된다.The data decompression device 200 largely includes a demultiplexer 63 and 64 for selecting the decoders 61 and 62 according to an algorithm, a decoder 61 and 62 for decompressing, and a latch having a size of 1 pixel having a previous pixel value. Consists of 65. The input compressed pixel data is first divided into a PFC / PPC algorithm and an RLE algorithm according to a compression mode in the first demultiplexer 63, and then again a partial type when the flag of the compressed pixel data is 1 in the second demultiplexer 64. Is 0, it is classified as being stored in the full type or the bypass type and sent to the corresponding decoder (61, 62). Since the TPPC algorithm is identical to the PPC algorithm, it is processed through the same path and process as the PPC algorithm. First, when looking at the full pixel / RLE decoder 61, since the pixel data is compressed by the run length in the case of the RLE, the counter 611 is used to repeatedly output and restore the pixel data by the run length. (decompression), the full type and bypass type of the PFC algorithm recovers in the same way as the RLE algorithm using the lower 2 bits of code and flags as run lengths. The partial pixel decoder 62 restores data compressed to a partial type. Since the compressed pixel data has only the lower bit of the pixel data, the partial pixels 1 and 2 are sequentially written to the lower bit position of the latch 65 having the upper bit data of the previous pixel to decompress. In the case of the TPPC algorithm, padding of the truncated LSB is required. In general, unlike the method of filling '0', the MSB 2 bits transmitted from the latch 65 are filled with the truncated LSB to generate pixel data. Done.

제 1 디멀티플렉서(63)는 적응적 압축 모드 예측 장치(5)로부터의 압축 알고리즘에 따라 메모리(4)로부터의 압축 데이터들을 풀 픽셀/RLE 디코더(61) 또는 파셜 픽셀 디코더(62)에 공급한다. 제 1 디멀티플렉서(63)는 적응적 압축 모드 예측 장치(5)로부터의 압축 알고리즘이 PFC 알고리즘 또는 PPC/TPPC 알고리즘이면 메모리(4)로부터의 압축 데이터들을 플래그 비트와 함께 파셜 픽셀 디코더(62)에 공급하는 반면, 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘이 RLE 알고리즘이면 메모리(4)로부터의 압축 데이터들을 풀 픽셀/RLE 디코더(61)에 공급한다.The first demultiplexer 63 supplies the compressed data from the memory 4 to the full pixel / RLE decoder 61 or the partial pixel decoder 62 according to the compression algorithm from the adaptive compression mode prediction device 5. The first demultiplexer 63 supplies compressed data from the memory 4 with the flag bit to the partial pixel decoder 62 if the compression algorithm from the adaptive compression mode prediction device 5 is a PFC algorithm or a PPC / TPPC algorithm. On the other hand, if the compression algorithm selected by the adaptive compression mode prediction device 5 is an RLE algorithm, the compressed data from the memory 4 is supplied to the full pixel / RLE decoder 61.

제 2 디멀티플렉서(64)는 플래그 비트에 따라 제 1 디멀티플렉서(63)로부터의 데이터를 파셜 픽셀 디코더(62)에 공급하거나 풀 픽셀/RLE 디코더(61)에 공급한다. 파셜 픽셀 디코더(62)의 멀티플렉서(621)는 PFC와 PPC/TPPC 알고리즘의 파셜 타입에서 연속된 픽셀들에서 동일하지 않은 부분의 픽셀 부분들의 압축 데이터를 복원한다. PFC의 고정 런랭스 타입으로 압축된 데이터는 풀 픽셀 RLE 디코더(61)에 의해 복원된다. 래치(65)에는 이미 복원된 이전 픽셀 데이터가 저장된다. The second demultiplexer 64 supplies the data from the first demultiplexer 63 to the partial pixel decoder 62 or the full pixel / RLE decoder 61 according to the flag bits. The multiplexer 621 of the partial pixel decoder 62 recovers compressed data of pixel portions of unequal portions of consecutive pixels in the partial type of the PFC and PPC / TPPC algorithms. Data compressed with the fixed run length type of the PFC is recovered by the full pixel RLE decoder 61. The latch 65 stores old pixel data that has already been restored.

데이터의 압축 및 복원 장치 및 방법은 이미지의 특성에 따라 PFC 알고리즘, PPC/TPPC 알고리즘, RLE 알고리즘 중 압축률이 높은 알고리즘을 프로그램 가능하게 선택함으로써 평균적으로 높은 압축률을 얻을 수 있다. An apparatus and method for compressing and decompressing data can obtain a high compression ratio on average by programmably selecting a high compression ratio among the PFC algorithm, the PPC / TPPC algorithm, and the RLE algorithm according to the characteristics of the image.

적응적 압축 모드 예측 장치(5)는 현재 프레임에서 가장 높은 압축률을 나타내는 압축 알고리즘을 판별하여 다음 프레임의 압축 알고리즘으로 적용시키는 역할 을 한다. 이를 위하여, 적응적 압축 모드 예측 장치(5)는 도 11과 같이 데이터 압축장치(100)로부터의 플래그를 카운트하는 제 1 카운터(51), 데이터 압축장치(100)로부터의 플래그와 코드를 카운트하는 제 2 카운터(52), 및 데이터 압축장치(100)로부터의 런랭스를 카운트하는 제 3 카운터(53)를 구비한다. 또한, 적응적 압축 모드 예측 장치(5)는 플래그, 코드 및 런랭스의 카운트 결과에 따라 이전 프레임에서 압축율이 가장 높은 알고리즘을 현재 프레임의 압축/복원 알고리즘으로 결정하는 압축률 판단부(54)를 구비한다. 이러한 적응적 압축 모드 예측 장치(5)는 압축과정에서 생성된 플래그, 코드, 런 랭스 각각을 카운트하여 각 알고리즘 별로 저장할 데이터의 개수를 판단한다. 한 프레임의 압축이 끝나면 가장 적은 횟수로 저장된 압축 알고리즘을 다음 프레임의 압축 알고리즘으로 지정한다. The adaptive compression mode prediction apparatus 5 determines a compression algorithm indicating the highest compression rate in the current frame and applies it to the compression algorithm of the next frame. To this end, the adaptive compression mode prediction apparatus 5 includes a first counter 51 for counting flags from the data compression apparatus 100 and counting flags and codes from the data compression apparatus 100 as shown in FIG. A second counter 52 and a third counter 53 for counting run lengths from the data compression device 100 are provided. In addition, the adaptive compression mode prediction apparatus 5 includes a compression ratio determination unit 54 that determines, as a compression / reconstruction algorithm of the current frame, the algorithm having the highest compression ratio in the previous frame according to the count result of the flag, code, and run length. do. The adaptive compression mode prediction apparatus 5 counts each flag, code, and run length generated during the compression process to determine the number of data to be stored for each algorithm. After the compression of one frame is completed, the compression algorithm stored the least number of times is designated as the compression algorithm of the next frame.

적응적 압축 모드 예측 장치(5)는 현재 프레임에서 가장 높은 압축률을 나타내는 알고리즘을 파악하여 다음 프레임의 압축 알고리즘으로 선정하며, 이미지 슬로프 계산 결과에 따라 TPPC 알고리즘을 적용시키는 역할을 한다. 압축과정에서 생성된 플래그, 코드, 런랭스를 바탕으로 각 알고리즘 별로 카운터들(51~53)를 두어 저장할 데이터의 개수를 카운트한다. 한 프레임의 압축이 끝나면 압축률 판단부(54)는 가장 적은 횟수로 저장된 알고리즘을 선정한다. 이미지 슬로프 계산부(9)에 의해 연산된 이미지 슬로프가 미리 설정된 이미지 슬로프 코너를 초과 하여 압축 레이트 가드에 압축률이 미치지 못하는 경우에, 적응적 압축 모드 예측 장치(5)는 TPPC 선택신호를 통하여 TPPC를 압축 알고리즘으로 선정하게 되며, 초과 하지 않은 경우 히스토리를 바탕으로 선정된 알고리즘을 선정하여 현재 모 드(current mode)에 저장하여 다음 프레임의 압축 모드를 지정하며, 현재 모드에 들어있던 데이터는 이전 모드(previous mode)로 저장되어, 향후 메모리에 저장된 프레임을 복원할 때의 압축 모드 신호를 생성하게 된다.The adaptive compression mode prediction apparatus 5 grasps the algorithm showing the highest compression rate in the current frame, selects it as the compression algorithm of the next frame, and applies the TPPC algorithm according to the image slope calculation result. Based on flags, codes, and run lengths generated during the compression process, counters 51 to 53 are counted for each algorithm to count the number of data to be stored. After the compression of one frame is finished, the compression rate determination unit 54 selects the stored algorithm the smallest number of times. When the compression rate does not reach the compression rate guard because the image slope calculated by the image slope calculation unit 9 exceeds a preset image slope corner, the adaptive compression mode prediction apparatus 5 selects the TPPC through the TPPC selection signal. If it is not exceeded, the selected algorithm is selected based on the history and stored in the current mode to designate the compression mode of the next frame. previous mode) to generate a compression mode signal when restoring a frame stored in a memory in the future.

이미지 시퀀스(Image sequence)에 따라 압축률의 변화를 설명하면, 픽셀 데이터들이 압축될 때 중간 정보인 플래그, 코드, 런랭스를 통해 픽셀 데이터를 조합하여 압축되므로, 이들 중간정보를 바탕으로 각 압축 알고리즘별로 한 프레임을 압축하는데 필요한 저장횟수를 파악할 수 있다. 저장횟수와 한 압축 픽셀 데이터의 크기를 곱하여 한 프레임 전체의 압축 후 이미지 용량을 각 압축 알고리즘 별로 파악할 수 있으며, 압축후의 이미지 용량이 가장 작은 알고리즘이 가장 높은 압축률을 나타내는 알고리즘으로 선정되어 다음 프레임의 압축 알고리즘으로 사용된다. 도 12와 같은 동영상[(a)는 0 번째 프레임, (b)는 12 번째 프레임, (c)는 28 번째 프레임, (d)는 51 번째 프레임, (e)는 81번째 프레임]에서 압축 알고리즘별 압축률의 변화를 계산하면 도 13과 같다. 도 12 및 도 13에서 알 수 있는 바, 이전 프레임에서 높은 압축률을 보인 압축 알고리즘을 현재 프레임의 압축에 적용하는 히스토리 기반의 예측을 통한 적응적 압축 알고리즘의 선택 방안은 효용성이 있음을 보여 주고 있으며, 이미지 전체의 압축률을 향상시킬 수 있다.When changing the compression rate according to an image sequence, when pixel data is compressed, the pixel data is compressed by combining pixel data through flags, codes, and run lengths, which are intermediate information. Know how many times you need to compress a frame. By multiplying the number of storage times and the size of one compressed pixel data, the image capacity after compression of the entire frame can be determined by each compression algorithm.The algorithm with the smallest image capacity after compression is selected as the algorithm that shows the highest compression ratio, and the next frame is compressed. Used as an algorithm. According to the compression algorithm according to the same video as in FIG. The change in the compression ratio is calculated as shown in FIG. 13. 12 and 13, it is shown that the method of selecting an adaptive compression algorithm through history-based prediction that applies a compression algorithm having a high compression rate in the previous frame to the compression of the current frame is useful. You can improve the compression rate of the entire image.

예측에 따른 알고리즘 선택으로, 압축 이전에 이미지 데이터 특성을 파악하여 압축 알고리즘을 선정한다. PPC 알고리즘의 압축률은 이웃 픽셀 데이터와의 동일성에 따라 변하므로 이를 나타내는 이미지 슬로프(image slope)라는 지표를 제안하여 TPPC 알고리즘을 적용하는 기준으로 사용한다. 이미지의 픽셀 수를 n, x번째 픽셀 데이터의 값을 Px라 할 때 이미지 슬로프는 수학식 1과 같다. The algorithm is selected based on the prediction, and the compression algorithm is selected by identifying the characteristics of the image data before compression. Since the compression rate of the PPC algorithm varies according to the identity with neighboring pixel data, an index of an image slope indicating this is proposed and used as a criterion for applying the TPPC algorithm. When the number of pixels in the image is n and the value of the x th pixel data is P x , the image slope is expressed by Equation 1 below.

Figure 112009061781512-pat00002
Figure 112009061781512-pat00002

이미지 슬로프는 수학식 1에서 나타나는 것과 같이 이웃한 픽셀 데이터 간의 차이의 평균값을 나타내며, 이미지 슬로프가 큰 값을 가질수록 이웃 픽셀 데이터와 상위 bit 그룹이 동일할 확률이 낮아져 압축률 또한 낮아진다. 따라서 이미지 슬로프와 압축률은 상관관계가 높아 TPPC 알고리즘의 적용 지표로 사용 가능하다. As shown in Equation 1, the image slope represents an average value of the difference between neighboring pixel data. The larger the image slope has a larger value, the lower the probability that the neighboring pixel data and the upper bit group are the same and thus the compression ratio is low. Therefore, the image slope and the compression ratio have a high correlation and can be used as an application index of the TPPC algorithm.

도 14에 다양한 특징의 선정된 152개 이미지에 대한 PPC 알고리즘과 TPPC 알고리즘의 압축률을 후술되는 수학식 2에 따라 구하여 이미지 슬로프에 따라서 정렬하였다. PPC 알고리즘과 TPPC 알고리즘 모두 이미지 슬로프가 증가함에 따라 압축률이 감소하는 경향을 나타낸다. PPC 알고리즘은 41.7% 에서 -9.1%, 평균 23.4%의 압축률을 나타내며, TPPC 알고리즘의 경우 54.7% 에서 15.2%, 평균 40.4%의 압축률을 나타낸다. 화질적인 측면에서, TPPC 알고리즘은 PSNR 42.3dB에서 54.4dB, 평균 46.0dB의 매우 높은 화질을 유지하며 도 2의 (d)에서와 같이 시각적으로 느껴지는 실제 감성적인 손실(Loss)은 미미하다.In FIG. 14, the compression ratios of the PPC algorithm and the TPPC algorithm for 152 selected images of various features were obtained according to Equation 2 to be described below, and aligned according to the image slope. Both the PPC algorithm and the TPPC algorithm tend to decrease the compression rate as the image slope increases. The PPC algorithm has a compression ratio of 41.7% to -9.1% and an average of 23.4%, and the TPPC algorithm has a compression ratio of 54.7% to 15.2% and an average of 40.4%. In terms of image quality, the TPPC algorithm maintains a very high image quality of 44.4 dB at an PSNR of 42.3 dB and an average of 46.0 dB, and the actual emotional loss (Loss) that is visually felt as shown in FIG.

도 14에 나타나는 바와 같이 이미지 슬로프는 압축률과 높은 상관관계를 가지며 이에 따라 알고리즘을 선택한다. 압축 알고리즘 선택의 기준이 되는 이미지 슬로프를 이미지 슬로프 코너(image slope corner)라 하기로 하며, 이미지 슬로프 의 값이 이미지 슬로프 코너보다 작은 경우 PPC 알고리즘을, 작은 경우에 TPPC 알고리즘을 적용한다. 도 14는 이미지 슬로프 코너를 9로 설정하여 PPC 알고리즘과 TPPC 알고리즘을 선택적으로 적용한 경우를 나타내며 이미지 슬로프가 9 이하인 경우 PPC 알고리즘이 적용되어 무손실(lossless)로 압축 되었으며, 9 이상인 경우 TPPC 알고리즘이 적용되어 PSNR 45dB정도의 높은 화질을 나타내며 높은 압축률을 얻을 수 있음을 보여준다.As shown in Fig. 14, the image slope has a high correlation with the compression ratio and selects an algorithm accordingly. The image slope, which is the basis of the compression algorithm selection, will be referred to as an image slope corner. If the value of the image slope is smaller than the image slope corner, the PPC algorithm is applied. 14 shows a case where the PPC algorithm and the TPPC algorithm are selectively applied by setting the image slope corner to 9, and when the image slope is 9 or less, the PPC algorithm is applied and the lossless (lossless) compression is applied. PSNR shows a high image quality of about 45dB and shows that a high compression ratio can be obtained.

도 15는 실험 이미지의 각 알고리즘에 따른 압축률(수학식 2)을 구한 결과이다.15 is a result of obtaining the compression ratio (Equation 2) according to each algorithm of the experimental image.

Figure 112009061781512-pat00003
Figure 112009061781512-pat00003

도 15를 참조하면, 무손실 압축 알고리즘 중에서 PPC 알고리즘의 압축률이 높게 나타나며 RLE 알고리즘을 사용하여 압축한 경우 낮은 압축률을 나타내거나 오히려 용량이 증가한다. 그러나 실험 영상 중에서 "coin"과 "word" 이미지처럼 연속적인 동일한 픽셀 데이터들이 많이 나타나는 경우에 압축률이 매우 높게 나타난다. 그리고 PFC 알고리즘은 PPC 알고리즘과 RLE 알고리즘의 중간적인 성격을 나타내고 있다. 전체적으로 TPPC 알고리즘의 압축률이 높게 나타나나, 일반적인 경우에 PPC 알고리즘을 적용하고 이미지 슬로프 코너에 따라 압축 레이트 가드를 위하여 제한적으로 적용한다. 다시 말하여, 본 발명은 일반적인 이미지에서 PPC 알고리즘과 PFC 알고리즘을 사용하고, GUI나 text 화면과 같이 연속적으로 동일한 픽셀 데이터가 많이 나타나는 이미지에서 RLE 알고리즘등, 알고리즘을 프로그램 가능하게 사용하여 높은 압축률을 얻을 수 있다.Referring to FIG. 15, among the lossless compression algorithms, the compression rate of the PPC algorithm is high, and when compressed using the RLE algorithm, the compression rate is low or the capacity is increased. However, the compression rate is very high when there are many consecutive identical pixel data such as "coin" and "word" images. In addition, the PFC algorithm shows the intermediate characteristics of the PPC algorithm and the RLE algorithm. In general, the compression ratio of the TPPC algorithm is high, but in the general case, the PPC algorithm is applied and limited for the compression rate guard according to the image slope corner. In other words, the present invention obtains a high compression ratio by using a PPC algorithm and a PFC algorithm in a general image, and programmatically using an algorithm, such as an RLE algorithm, in an image in which many identical pixel data appear continuously such as a GUI or a text screen. Can be.

같은 이미지이더라도 영상처리 여부에 따라 도 16과 같이 압축률이 변하게 된다. JPEG으로 인한 손상이나 스케일링(scaling)된 경우 파셜 픽셀 데이터의 크기에 따라 이웃 픽셀 데이터와 동일할 확률이 높아져 압축률이 증가한다. JPEG으로 인한 손상이 생긴 경우 PPC 알고리즘은 0.4%, TPPC 알고리즘은 0.4%, PFC 알고리즘은 1.6%, RLE 알고리즘은 런랭스의 크기에 따라 각각 2.1%, 3.3% 압축률이 증가 하였으며 이미지가 스케일링된 경우 각각 6.3%, 5.0%, 8.5%, 6.3%, 8.9% 증가한다. 즉, 손실압축된 이미지의 사용이 많고 LCD의 고정된 해상도 특성상 스케일링된 이미지를 디스플레이하는 경우가 많은 모바일 디스플레이 소자에 더욱 적합한 압축 알고리즘이라 할 수 있다.Even in the same image, the compression rate is changed as shown in FIG. 16 according to image processing. In case of damage or scaling due to JPEG, the compression rate increases because the probability of the partial pixel data being the same as that of neighboring pixel data increases. In case of damage caused by JPEG, the PPC algorithm increased by 0.4%, the TPPC algorithm by 0.4%, the PFC algorithm by 1.6%, and the RLE algorithm by 2.1% and 3.3%, respectively, depending on the run length. Increases of 6.3%, 5.0%, 8.5%, 6.3% and 8.9%. That is, a compression algorithm that is more suitable for a mobile display device that uses a lot of lossy compressed image and displays a scaled image due to the fixed resolution characteristic of the LCD.

도 17은 PPC 알고리즘, TPPC 알고리즘, PFC 알고리즘과 기존 무손실 압축 알고리즘인 LZW, JPEG-LS Lossless의 압축률을 실험 이미지 "lena", "peppers" 그리고 "baboon"에 대하여 비교한 결과를 나타낸다. 각 알고리즘에 따른 세 이미지의 평균 압축률을 비교해보면 PPC 알고리즘은 14.0%, TPPC 알고리즘은 33.1%, PFC 알고리즘은 11.6%, LZW 알고리즘은 12.0%, JPEG-LS 무손실 알고리즘은 38.5%를 나타낸다. JPEG-LS 무손실 압축률은 다른 알고리즘 다 높지만 하드웨어 복잡도가 상대적으로, 37배 정도로 매우 높아 앞서 언급한 바와 같이 큰 하드웨어를 필요로 하며 연산속도가 느리며, 향후 구현 방안인 SOP에는 적용이 불가능한 문제점이 있다. 그러나 TPPC 알고리즘을 비롯한 PPC 알고리즘과 PFC 알고리즘의 압축장치는 LZW 의 2% 크기의 하드웨어 만으로도 유사하거나 보다 높은 압축률을 나타낼 수 있다. TPPC의 경우, 제안된 다른 알고리즘인 PPC와 PFC와 달리 다소 화질의 저하가 있으나, 매우 낮은 하드웨어 복잡도로 JPEG-LS 무손실 알고리즘과 유사한 압축률을 나타낸다.FIG. 17 shows the results of comparing the compression ratios of the PPC algorithm, the TPPC algorithm, the PFC algorithm and the existing lossless compression algorithms LZW and JPEG-LS Lossless with respect to the experimental images "lena", "peppers" and "baboon". Comparing the average compression ratio of the three images by each algorithm, the PPC algorithm is 14.0%, the TPPC algorithm is 33.1%, the PFC algorithm is 11.6%, the LZW algorithm is 12.0%, and the JPEG-LS lossless algorithm is 38.5%. JPEG-LS lossless compression rate is higher than other algorithms, but the hardware complexity is relatively high, about 37 times higher, which requires large hardware, slow operation speed as mentioned above, and is not applicable to SOP, which is a future implementation method. However, the PPC algorithm and the PFC algorithm, including the TPPC algorithm, can exhibit similar or higher compression rates with only 2% of the hardware of LZW. In the case of TPPC, unlike other proposed algorithms, PPC and PFC, the image quality is deteriorated, but the compression ratio is similar to that of the JPEG-LS lossless algorithm with very low hardware complexity.

PFC 알고리즘과 PPC 알고리즘의 평균 압축률은 22% 정도이며, TPPC 알고리즘의 경우 39%이상의 높은 압축률을 나타낸다. 평균 연산시간은 도 18과 같이 약 45ns로 SOP 메모리의 라이트 싸이클 타임(write cycle time)인 260ns에 비하여 매우 짧다. 1회 압축과 저장에 필요한 시간은 305ns로 증가하지만 압축에 필요한 연산시간을 tcompression이라 하고, 라이트 싸이클 타임을 twrite, 원본 이미지 용량을 sizeoriginal, 압축된 이미지 용량을 sizecompressed라 할 때, 수학식 3 및 4에 따라 전체 이미지의 압축과 저장에 걸리는 총 시간은 압축하지 않은 이미지를 저장하는 경우보다 압축된 이미지를 저장하는 경우가 오히려 12% 정도 짧게 걸린다. The average compression ratio of the PFC algorithm and PPC algorithm is about 22%, and the TPPC algorithm has a high compression ratio of more than 39%. The average operation time is about 45ns as shown in FIG. 18, which is very short compared to 260ns, which is a write cycle time of the SOP memory. The time required for one-time compression and storage increases to 305ns, but the computation time required for compression is called t compression , the write cycle time is t write , the original image size is size original , and the compressed image capacity is size compressed . According to Equations 3 and 4, the total time for compressing and storing the entire image is 12% shorter than storing the uncompressed image rather than storing the uncompressed image.

Figure 112009061781512-pat00004
Figure 112009061781512-pat00004

Figure 112009061781512-pat00005
Figure 112009061781512-pat00005

이상 설명한 바와 같이, 본 발명은 이미지 프레임 버퍼의 감소를 위해 인접 픽셀 데이터의 중복적인 상위 bit를 제거한다. 이와 같은 연산 방안을 통해 PSNR 46dB이상의 높은 화질을 얻을 수 있고, 각 프레임의 특징을 바탕으로 적응적으로 알고리즘을 적용하여 기존의 RLE 알고리즘까지 프로그램 가능하게 연산이 가능하며, 매우 낮은 하드웨어 복잡도를 가지는 하드웨어를 설계할 수 있다. 본 발명은 최소 12.5% 이상의 압축률을 얻을 수 있으며, 유사한 압축률을 나타내는 LZW에 비하여 하드웨어양은 2% 이하의 크기를 가지며, 연산 방안이 매우 간단하여 내장 메모리에 적합하다. 또한 설계된 회로의 시뮬레이션 결과 압축 타임도 메모리의 라이트 싸이클 타임에 비하여 매우 짧아 이미지 전체의 압축과 저장에 걸리는 시간이 매우 감소된다. As described above, the present invention eliminates redundant upper bits of adjacent pixel data to reduce the image frame buffer. Through this calculation method, PSNR can achieve high image quality of 46dB or more, and it is possible to program the existing RLE algorithm by applying the algorithm adaptively based on the characteristics of each frame, and hardware with very low hardware complexity. Can be designed. According to the present invention, a compression ratio of at least 12.5% or more can be obtained, and the hardware amount is 2% or less in comparison with LZW, which shows a similar compression ratio, and the calculation scheme is very simple and suitable for the internal memory. The simulation results of the designed circuit also show that the compression time is very short compared to the write cycle time of the memory, which greatly reduces the time required to compress and store the entire image.

연속적으로 동일한 픽셀 데이터들 간의 경계를 나타내는 세그먼트 바운더리를 검출하기 위해 사용되는 프라이어리티 인코더(Priority Encoder)는 하드웨어의 복잡도가 높고 빠른 클럭 싸이클(Clock Cycle)이 요구된다. 프라이어리티 인코더(Priority Encoder)는 카운터를 사용하여 입력 픽셀 데이터를 순차적으로 판단하는 경우에 하드웨어 오버헤드 뿐만 아니라 처리속도가 느리다. 이러한 프라이어리티 인코더의 단점을 해결하기 위하여, 본 발명은 런랭스 산출에 사용되는 포지션 벨류 쉬프터(321)를 이용한다.Priority encoders used to detect segment boundaries that continuously indicate boundaries between the same pixel data have high hardware complexity and require a fast clock cycle. Priority encoders have a slow processing speed as well as hardware overhead when sequentially determining input pixel data using a counter. In order to solve the disadvantage of the priority encoder, the present invention uses the position value shifter 321 used for the run length calculation.

도 19는 포지션 벨류 쉬프터를 상세히 나타낸다. 포지션 벨류 쉬프터(321)는 데이터 압축장치(100)의 RLE 인코더에 적용되며, 연속적으로 동일한 픽셀 데이터들의 경계를 나타내는 세그먼트 바운더리(Segment Boundary)를 빠르게 체크하면서 동시에 낮은 하드웨어 복잡도로 설계 가능하다. 포지션 벨류 쉬프터(321)는 서로 직렬로 연결되어 있고, 비교기를 통해 픽셀 데이터들의 동일성 정보를 입력 받 아 동일한 픽셀 데이터 그룹 경계의 포지션 정보를 도 20에 도시된 감산기로 전달할 런랭스(Run length)를 연산하는 역할을 한다. 포지션 벨류(Position value)는 입력된 픽셀 데이터에서 첫 번째 입력되는 픽셀 데이터를 기준으로 동일한 픽셀 데이터 그룹 경계를 나타내기 위한 픽셀 데이터 위치에 해당하는 값이며, 토큰(Token)은 픽셀 데이터 그룹 경계의 포지션 벨류 값이 일정 위치로 순차적으로 패스되도록 클럭에 따라 포지션 벨류 쉬프터를 동작시키는 역할을 한다. 19 shows the position value shifter in detail. The position value shifter 321 is applied to the RLE encoder of the data compression device 100, and can be designed with a low hardware complexity while quickly checking a segment boundary indicating a boundary of the same pixel data. The position value shifters 321 are connected to each other in series, and receive run information of pixel data through a comparator, and transmit run lengths of the same pixel data group boundary to a subtractor shown in FIG. 20. It is responsible for calculating. Position value is a value corresponding to a pixel data position to represent the same pixel data group boundary based on the first input pixel data in the input pixel data, and a token is a position of the pixel data group boundary. The position value shifter operates according to a clock so that the value value is sequentially passed to a predetermined position.

포지션 벨류 쉬프터(321)는 제 1 버퍼(3211), 패스 트랜지스터(3212), 마스터-슬레이브 래치(3214), 제 2 버퍼(3215), 및 배타적 논리합 게이트(XOR)(3213)를 구비한다. The position value shifter 321 includes a first buffer 3211, a pass transistor 3212, a master-slave latch 3214, a second buffer 3215, and an exclusive OR gate (XOR) 3213.

제 1 버퍼(3211)는 비교기의 비교 결과에 따라 토큰이 전달되면, 우측의 포지션 벨류를 좌측으로 넘기거나 현재의 포지션 벨류를 좌측으로 넘기도록 선택하는 역할을 한다. 마스터-슬레이브 래치(3212)는 토큰과 포지션 벨류가 클럭에 맞추어 전달될 수 있도록 한다. 제 2 버퍼(3215)는 비교기의 비교 결과에 따라 토큰을 우측으로 패스시키는 역할을 한다. When the token is delivered according to the comparison result of the comparator, the first buffer 3211 selects to pass the right position value to the left or the current position value to the left. Master-slave latches 3212 allow tokens and position values to be delivered on a clock. The second buffer 3215 serves to pass the token to the right according to the comparison result of the comparator.

패스 트랜지스터(3212)의 소스단자에는 해당 포지션 벨류 쉬프터의 i 번째 2진 수치가 입력된다. 패스 트랜지스터(3212)의 드레인단자는 포지션 벨류 패스(Position Value Path)에 연결되고, 패스 트랜지스터(3212)의 게이트단자는 XOR(3213)의 출력단자에 연결된다. XOR(3213)의 입력단자는 비교기의 출력단과 마스터-슬레이브 래치(3214)의 마스터 래치 출력단자에 연결된다. 이러한 구성에 의해, 토큰이 입력되고, 비교기의 비교 결과가 0이 되면 패스 트랜지스터(3212)의 소 스단자에 연결된 포지션 벨류를 포지션 벨류 패스로 전송될 수 있다. The i-th binary value of the position value shifter is input to the source terminal of the pass transistor 3212. The drain terminal of the pass transistor 3212 is connected to a position value path, and the gate terminal of the pass transistor 3212 is connected to an output terminal of the XOR 3213. The input terminal of the XOR 3213 is connected to the output terminal of the comparator and the master latch output terminal of the master-slave latch 3214. With this configuration, when the token is input and the comparison result of the comparator becomes zero, the position value connected to the source terminal of the pass transistor 3212 can be transmitted to the position value pass.

비교기는 비교한 픽셀 데이터들이 동일한 경우에 "1"을 출력하고 그 비교기의 출력에 응답하여 패스 트랜지스터(3212)는 턴-오프되며 제 1 버퍼(3211)는 인에이블되어 우측에서 전송받은 포지션 벨류를 좌측으로 전달한다. 또한 제 2 버퍼(3215)는 인에이블되어 토큰을 클럭에 따른 마스터-슬레이브 래치(3214)를 통하지 않고 바로 우측으로 전달한다. 비교기가 "0"을 출력할 경우에는 제 1 버퍼(3211)는 디스에이블(Disable)되고 패스 트랜지스터 어레이(3212)가 인에이블되어 현재의 포지션 벨류 i가 포지션 벨류 패스를 통해 좌측으로 전달되며, 마스터-슬레이브 래치(Master-slave latch)(3214)는 인에이블되어 토큰이 우측 포지션 벨류 쉬프터로 전달되게 하는데 1회의 클럭 싸이클이 소요된다. 이렇게 포지션 벨류가 1 클럭 차이로 순차적으로 전송되고 감산기에 전달된 포지션 벨류들의 차를 통해 런랭스를 계산할 수 있다. The comparator outputs "1" when the compared pixel data are the same, and in response to the output of the comparator, the pass transistor 3212 is turned off and the first buffer 3211 is enabled to receive the position value received from the right side. Pass to the left. The second buffer 3215 is also enabled to pass tokens to the right without passing through the master-slave latch 3214 according to the clock. When the comparator outputs "0", the first buffer 3211 is disabled and the pass transistor array 3212 is enabled so that the current position value i is passed to the left through the position value pass, and the master Master-slave latch 3214 is enabled to allow one clock cycle to pass the token to the right position value shifter. In this way, the position value is sequentially transmitted by one clock difference, and the run length can be calculated through the difference between the position values transmitted to the subtractor.

RLE의 동작을 실제 로직 값을 바탕으로 예를 들어, 설명해 보면 도 20과 같다. 비교기는 픽셀 데이터값이 같으면 1을 출력하고 다르면 0을 출력하는데 이는 포지션 밸류 쉬프터(321)로 입력된다. 첫 번째 포지션 밸류 쉬프터에서 비교기로부터 1을 입력받는 경우 제 2 버퍼(3215)를 통해 토큰을 클럭과 무관하게 우측 포지션 밸류 시프터로 전송한다. 그리고 비교기와 마스터-슬레이브 래치에서 XOR 게이트(3213)로 입력되는 값이 모두 1 이므로 포지션 밸류가 연결된 패스트랜지스터는 디스에이블되어 값이 포지션 밸류 패스에 연결되지 못하며 제 1 버퍼(3211)가 인에이블되어 우측에서 전송되는 포지션 밸류를 좌측으로 전송시킨다. 세 번째 포 지션 벨류 쉬프터에서 비교기에서 0을 입력받을 경우 제 2 버퍼(3215)가 디스에이블되어 클럭에 따라 우측 포지션 밸류 쉬프터로 토큰이 전송된다. 그리고 비교기와 마스터-슬레이브 래치(3214)에서 XOR 게이트(3213)로 입력되는 값이 서로 다르므로 제 1 버퍼(3211)가 디스에이블되어 우측에서 전송받은 포지션 밸류를 전송하지 않으며, 패스트랜지스터가 인에이블되어 포지션 밸류가 포지션 밸류 패스에 연결되어 좌측으로 전송된다. 이와 같이 픽셀 데이터 값이 동일한 경우 제 2 버퍼(3215)에 의해 토큰이 클럭에 관계없이 우측으로 전달되며 픽셀 데이터 값이 다른 포지션 밸류 쉬프터에서 마스터-슬래이브 래치에 의해 클럭에 동기화하고, 비교한 픽셀 데이터가 다른 포지션 밸류 쉬프터의 포지션 밸류가 우측의 비교한 픽셀 데이터가 같은 포지션 밸류 쉬프터의 제 1버퍼에 의해 통과하여 래치로 전송된다. 이와 같은 원리로 세그먼트 바운더리에 해당하는 포지션 밸류가 클럭에 따라 하나씩 전송되고, 이 포지션 밸류는 래치 마스터와 래치 슬레이브로 전송되어 감산기를 통해 매 클럭마다 RLE의 런랭스를 연산하여 출력된다. 비교기 출력(comparator output)에 나타난 값이 각 포지션 밸류 쉬프터로 입력되어 클럭에 따라 포지션 밸류인 000010, 110000, 110001이 래치 마스터와 래치 슬레이브에 순차적으로 저장되고, 이 포지션 밸류들은 감산기를 통해 런 랭스를 연산하여 000010, 101110, 000001이 순차적으로 출력된다. For example, the operation of the RLE based on the actual logic value will be described with reference to FIG. 20. The comparator outputs 1 if the pixel data values are the same and 0 if it is different, which is input to the position value shifter 321. When the first position value shifter receives 1 from the comparator, the token is transmitted to the right position value shifter through the second buffer 3215 regardless of the clock. In addition, since the values inputted to the XOR gate 3213 from the comparator and the master-slave latch are all 1, the fast transistor connected with the position value is disabled so that the value is not connected to the position value pass and the first buffer 3211 is enabled. The position value transmitted from the right side is transmitted to the left side. When the third position value shifter receives 0 from the comparator, the second buffer 3215 is disabled and the token is transmitted to the right position value shifter according to the clock. In addition, since the values inputted from the comparator and the master-slave latch 3214 to the XOR gate 3213 are different from each other, the first buffer 3211 is disabled to transmit the position value received from the right side, and the fast transistor is enabled. The position value is then linked to the position value pass and sent to the left. As such, if the pixel data values are the same, the token is passed to the right by the second buffer 3215 regardless of the clock, and the pixel data values are synchronized to the clock by the master-slave latches in the other position value shifters, and the compared pixels The pixel data compared to the position value of the position value shifter whose data is different is passed by the first buffer of the same position value shifter and transmitted to the latch. In this way, the position values corresponding to the segment boundaries are transmitted one by one according to the clock, and the position values are transmitted to the latch master and the latch slave, and the run length of the RLE is calculated and outputted every clock through the subtractor. The value shown in the comparator output is input to each position value shifter, and the position values 000010, 110000, and 110001 are stored sequentially in the latch master and latch slave according to the clock, and these position values are run through the subtractor. 000010, 101110, 000001 are sequentially outputted.

도 21은 PFC 인코더를 상세히 나타낸다. PFC 인코더는 데이터 압축장치에 해당하며 PFC, PPC 및 TPPC 압축 알고리즘 연산에 사용된다. 런랭스 인코딩에 사용되는 비교기를 사용함으로써 픽셀 데이터를 비교하는 XOR가 이미 존재하므로 PFC 인 코더는 적은 수의 게이트만으로 구현이 가능하다. 즉, 현재 픽셀 데이터와 그 다음 픽셀 데이터를 비교하는 XOR는 이미 존재하므로, 이전 픽셀 데이터와 현재 픽셀 데이터의 상위 4bit을 비교하는 XOR 게이트 4개와 NOR 게이트 8개, NAND 게이트 3개, 인버터 1개로 구현 가능하다.21 shows a PFC encoder in detail. PFC encoders correspond to data compressors and are used to compute PFC, PPC and TPPC compression algorithms. The PFC encoder can be implemented with only a few gates because there is already an XOR that compares the pixel data by using the comparators used for runlength encoding. That is, XOR comparing current pixel data with next pixel data already exists, so it is implemented with four XOR gates, eight NOR gates, three NAND gates, and one inverter to compare the previous 4 bits of the current pixel data with the previous pixel data. It is possible.

이하에서, 전술한 데이터 압축 알고리즘과 연동되는 히스토그램 데이터 제어방법 및 장치의 실시예들을 설명하기로 한다. Hereinafter, embodiments of a histogram data control method and apparatus interoperating with the aforementioned data compression algorithm will be described.

본 발명의 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치는 전술한 압축 알고리즘의 특징에 따라 픽셀 데이터의 상위 비트 그룹만을 통해 표시되는 "감소된 수의 계조 구간"을 가진 히스토그램을 구하고, 계조 구간별 히스토그램의 표현 레벨을 줄여 히스토그램 데이터를 단순화한다. 본 발명의 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치는 전술한 압축 알고리즘과 연동되는 최적의 히스토그램을 구할 수 있어 낮은 하드웨어 복잡도로 연산이 가능하고, 단순화된 히스토그램을 통해 히스토그램에 필요한 메모리 용량을 줄이고 그 히스토그램을 통한 화상 연산 시에 데이터 트래픽(Data Traffic)과 연산량을 줄일 수 있다. The method and apparatus for controlling data compression-linked histogram data according to the present invention obtain a histogram having a "reduced number of gray scale intervals" displayed only through a higher bit group of pixel data according to the characteristics of the above-described compression algorithm, and calculate the histogram of each gray scale interval. Reduce the presentation level to simplify histogram data. The method and apparatus for data compression interworking histogram data control of the present invention can obtain an optimal histogram that is interoperable with the above-described compression algorithm, and can be operated with low hardware complexity. The data traffic and the amount of calculation can be reduced during the image calculation through.

기존 히스토그램은 8 비트 컬러 뎁스(bit color depth)의 경우 0~255까지 RGB 각각에서 256개의 각 계조값마다 이미지에서 출현 빈도수를 파악하여 그 값을 히스토그램 표현 레벨로 저장하고 있다. 화상 정보에서 한 계조 구간에 모든 픽셀 데이터들이 몰려있을 수 있으므로 최악의 경우 각 계조 구간마다 이미지의 해상도만큼 카운트할 수 있는 저장공간이 필요하다. 따라서 C 컬러 뎁스에 m x n 해상도를 가진 이미지의 히스토그램은 2C × log2(m x n) bit의 메모리가 필요하다. 히스토그램의 데이터양을 줄일 경우 히스토그램 데이터의 이동시에 트래픽을 줄일 수 있고, 히스토그램이 단순화되어 히스토그램에서 필요한 정보를 찾는 연산량을 절감하는 등의 장점이 있으며, 단순화된 히스토그램이라도 화상 연산에 충분한 정보를 가지고 있으며 이는 후술되는 화질 평가 및 데이터양 비교(도 23)에서 자세히 설명하기로 한다. In the conventional histogram, in the case of 8-bit color depth, the frequency of occurrence in the image is detected for each of 256 gray levels from 0 to 255, respectively, and stored as the histogram representation level. In the image information, all pixel data may be concentrated in one gradation section, and thus, in the worst case, a storage space for counting the resolution of an image for each gradation section is required. Therefore, a histogram of an image with mxn resolution at C color depth requires 2 C x log 2 (mxn) bits of memory. Reducing the amount of data in the histogram can reduce the traffic during the movement of the histogram data, simplify the histogram, and reduce the amount of computation to find the necessary information in the histogram. This will be described in detail later in image quality evaluation and data amount comparison (FIG. 23).

데이터 압축 연동 히스토그램 데이터 제어방법 및 장치는 히스토그램 간소화를 위하여 두 단계를 거치게 되는데 연속된 여러 계조값으로 이루어진 계조 구간 설정과, 해당되는 계조 구간의 도수의 합에 대한 표현 레벨 간소화를 포함한다. 여기서, '도수(度數)'란 이미지에서 각 계조 레벨(gray level)에 해당하는 픽셀 카운트 수로 정의된다. Histogram data control method and apparatus for data compression have two steps to simplify histogram, which includes setting a gradation section composed of several successive gradation values and simplifying the expression level of the sum of the frequencies of the corresponding gradation sections. Here, 'frequency' is defined as the number of pixel counts corresponding to each gray level in an image.

계조 구간 설정은 도 22(a)에 도시된 바와 같이 동일한 상위 비트를 가진 계조 값을 합하여 간소화한다는 것이다. 계조 구간을 파악하는 상위 비트의 폭(width)은 전술한 PPC 및 PFC의 파셜 타입 압축 알고리즘에서의 상위 비트 그룹(bit group)과 동일하게 하여 전술한 압축 알고리즘과 연동이 가능하다. The gray scale section setting is simplified by adding up gray scale values having the same high order bits as shown in FIG. The width of the upper bit for grading the gradation interval may be the same as the upper bit group in the above-described partial type compression algorithm of the PPC and PFC and thus may be linked with the aforementioned compression algorithm.

F(X) 의 ' ┏ ┐ '는 올림(Ceiling)을 뜻하는 수학 연산자이고, 일반적인 히스토그램이 2C * log2 (m x n) bit의 저장 공간이 필요한 것에 비하여 계조 구간을 i(i는 자연수) 개로 줄이면 i * log2 (m x n) bits의 저장 공간이 필요하여 히스토그램을 구하기 위한 메모리 양이 i/2C 로 줄어드는 효과가 있다. 두 번째 단계는 첫 번째 단계에서 구해진 히스토그램의 도수 표현 스텝을 몇 단계로 한정하여 히스토그램의 도수 레벨을 줄이는 과정으로 이를 도식화하면 도 22(b)와 같다. 이 과정에서, 히스토그램 도수 레벨을 정함에 있어서 계조 구간별 도수의 한계를 정하여 일정 값 이상으로 카운트되지 않도록 클립핑(clipping)하여 히스토그램을 구하는데 필요한 메모리 양을 더 줄일 수 있다. 각 계조 구간마다 도수의 최대 값을 카운트 한계(count_limit)로 제한하여 클립핑한 경우에 히스토그램을 연산하기 위한 메모리는 i * log2(count_limit) bit가 필요하다. 히스토그램 도수 레벨을 j(j는 자연수) 단계로 한정할 경우, 최종적으로 간소화된 히스토그램의 데이터 크기는 i * log2(j) bit가 필요하여 간소화되지 않은 히스토그램에 비하여 매우 작은 데이터 양을 가진다. F (X) of '┏ ┐' is the gray level region as compared to the required mathematical operators, and the general histogram 2 C * ┏ log 2 (mxn ) storage space bit word for lifting (Ceiling) i (i is a natural number) pieces may reduce the i * log 2 (mxn) effects of storage space required by the amount of memory for obtaining a histogram reduced to i / 2 of the C bits. The second step is a process of reducing the frequency level of the histogram by limiting the frequency representation step of the histogram obtained in the first step to several steps as shown in FIG. 22 (b). In this process, in determining the histogram frequency level, the amount of memory required to obtain the histogram may be further reduced by clipping the frequency limit of each gray section so as not to be counted above a predetermined value. Memory for computing a histogram for each gray level interval when the clipped to limit the maximum value of the frequency in the count limit (count_limit) is i * log 2 (count_limit) requires a bit ┐. When the histogram frequency level is limited to j (j is a natural number), the final simplified histogram data size requires i * log 2 (j) bits, which has a much smaller amount of data than an unsimplified histogram. .

도 22를 참조하면, 256단계의 계조 구간을 16 단계로 간소화하고, 히스토그램의 도수 레벨을 5 단계로 간소화한 예이다. 본 발명의 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치는 도 22의 예와는 다른 컬러 뎁스에도 적용될 수 있으며, 계조 구간과 히스토그램 도수 레벨 간소화도 16 단계와 5 단계로 한정되는 것이 아니라 다른 단계로도 적용 가능하다. 도 22(a)는 횡축에서 알 수 있는 바와 같이 기존 256단계에서 16단계로 계조 구간을 간소화한 경우이다. 노란 반투명 그래프가 일반적인 256 단계의 계조 구간을 나타내며 붉은 기둥형태의 그래프가 본 발명에서 16단계로 계조 구간이 간소화된 히스토그램이다. 다음 단계는 도 22(b)와 같이 히스토그램 도수 레벨 간소화이다. 계조 구간별 히스토그램의 경우에 각 계조 구간 마다 0 ~ 해상도까지의 도수를 가지는데, 이러한 도수 레벨을 제한된 몇 단계로 줄여 히스토그램의 복잡도를 낮출 수 있다. 도 22(b)에서 분홍색 기둥이 도 21(a)에서와 같이 계조 구간만 간소화된 히스토그램이다. 도 22(b)에서 검은 실선이 최종적으로 히스토그램의 도수 레벨을 줄여 최종적으로 간소화된 히스토그램을 나타내는 그래프이며, 도 22(b)는 히스토그램의 최대 픽셀 카운트를 20000으로 제한하고 레벨을 5000 카운트 단위로 다섯 개의 레벨로 나눈 예이다.Referring to FIG. 22, the gray level section of 256 steps is simplified to 16 levels, and the frequency level of the histogram is simplified to 5 levels. The method and apparatus for controlling data compression-linked histogram data of the present invention can be applied to a color depth different from the example of FIG. 22, and the simplification of the gradation interval and the histogram frequency level is not limited to 16 and 5 steps, but also to other steps. It is possible. As shown in the horizontal axis of FIG. 22 (a), the gradation interval is simplified from the existing 256 steps to the 16 steps. The yellow semi-transparent graph represents a 256 gray scale section in general, and the red column-shaped graph is a histogram in which the gray scale section is simplified to 16 stages in the present invention. The next step is to simplify the histogram frequency level as shown in Figure 22 (b). In the case of the histogram for each gradation section, each gradation section has a frequency ranging from 0 to resolution, and the complexity of the histogram can be reduced by reducing the frequency level to a few limited steps. In FIG. 22 (b), the pink column is a simplified histogram as shown in FIG. 21 (a). In FIG. 22 (b), the black solid line finally shows the simplified histogram by reducing the frequency level of the histogram. FIG. 22 (b) shows the maximum pixel count of the histogram to 20000 and the level in 5000 count units. Example of dividing by levels.

본 발명의 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치는 이미지의 해상도와 컬러 뎁스(color depth)를 높이고, 간소화한 레벨을 높게 정할수록 히스토그램 데이터양의 감소율을 급격하게 높아지게 할 수 있으나, 이 경우에 히스토그램의 정확도가 저하될 수 있다. 적절한 히스토그램 간소화 레벨을 파악하기 위하여, 본 발명자들은 시뮬레이션을 통해 히스토그램 간소화 레벨에 따른 화상처리시의 정확도 저하를 측정하였다. 시뮬레이션은 Matlab을 통하여 수행하였으며, 24 bit 컬러 뎁스를 가지는 서로 다른 8 개의 이미지에 대하여 클립핑 레벨(Clipping Level)과, 계조 구간 수 및 히스토그램 도수 레벨을 다르게 적용한 서로 다른 간소화 레벨을 가지는 히스토그램들을 생성하였다. 이렇게 간소화된 히스토그램을 통해 이미지의 히스토그램 동등화(Histogram Equalization)를 수행하여 화상처리의 정확도 저하를 측정하였다. 히스토그램 동등화는 히스토그램의 누적 분포를 룩업 테이블(LUT)화하여 적용하는 가장 일반적인 방안을 적용하였다. 그리고 화질의 저하는 Human Visual System (HSV)에 가까운 지표인 왜곡비(Distortion Ratio)를 통해 비교하였으며, 간소화에 따른 히스토그램 데이터 크기의 감소는 원본 히스토그램 의 크기를 1로 보았을 때 감소된 히스토그램의 크기의 비를 나타내는 Normalized Size로 비교하였다.The method and apparatus for controlling data compression-linked histogram data according to the present invention can increase the resolution and color depth of an image and increase the reduction level of the amount of histogram data as the simplified level is increased, but in this case, the histogram The accuracy of may be lowered. In order to identify an appropriate histogram simplification level, the inventors measured the degradation of accuracy in image processing according to the histogram simplification level through simulation. The simulation was performed using Matlab, and histograms with different simplification levels were applied to eight different images having a 24-bit color depth by applying a clipping level, a number of gradation intervals, and a histogram frequency. Histogram equalization of the images was performed through the simplified histogram, and the degradation of the accuracy of image processing was measured. Histogram equalization applies the most common method of applying the cumulative distribution of histograms to a lookup table (LUT). The degradation of the image quality was compared with the distortion ratio, which is an indicator close to the human visual system (HSV). Comparison was made with the Normalized Size representing the ratio.

본 발명의 히스토그램은 계조 구간과 히스토그램 도수 레벨을 줄여 간소화 하며, 계조 구간을 i, 히스토그램 도수 레벨을 j라 할 때, i *log2(j) bits의 크기를 가진다. 이와 같이, 히스토그램 도수 레벨을 줄이는 것보다 계조 구간을 줄이는 것이 히스토그램 양을 크게 줄일 수 있으며 이는 도 23(b)에서 보여 주는 시뮬레이션 결과에서도 확인되었다. 도 23(a)의 시뮬레이션 결과에서 확인할 수 있는 바와 같이, 히스토그램 도수 레벨의 감소로 인한 화질 저하는 비교적 크지 않으며 선형적(linear)으로 감소하는 것을 확인 할 수 있으나, 계조 구간의 감소로 인한 화질 저하는 매우 급격하게 일어나는 것을 확인할 수 있다. 그러나 계조 구간이 16 이상인 경우에 화질 감소는 매우 미미하며, 그보다 계조 구간이 감소하는 경우에 화질이 크게 감소하므로 계조 구간을 16 정도로 사용하는 것이 효율적임을 시뮬레이션을 통해 확인할 수 있었다. 상당히 높은 히스토그램 간소화 레벨에서도 화질 저하는 실질적으로 크지 않으므로, 응용분야에 있어서 히스토그램 데이터 크기의 중요도에 따라 히스토그램 간소화 레벨을 정하는 것이 바람직하다. The histogram of the present invention is simplified by reducing the gradation interval and the histogram frequency level. When the gradation interval is i and the histogram frequency level is j, the histogram has the size of i * log 2 (j) bits. As such, reducing the gradation interval rather than reducing the histogram frequency level can significantly reduce the amount of histogram, which was confirmed in the simulation result shown in FIG. 23 (b). As can be seen from the simulation result of FIG. 23 (a), it can be seen that the image quality deterioration due to the decrease in the histogram frequency level is relatively large and decreases linearly, but the image quality deterioration due to the decrease in the gradation intervals. We can see that it happens very rapidly. However, when the gradation section is 16 or more, the image quality decrease is very small, and when the gradation section decreases, the image quality is greatly reduced. Since the image quality deterioration is not substantially high even at a very high histogram simplification level, it is desirable to determine the histogram simplification level according to the importance of the histogram data size in an application field.

도 24는 본 발명의 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치에서 압축 픽셀 데이터를 이용하여 계조구간이 감소된 히스토그램 생성 방법을 보여 주는 도면이다. FIG. 24 is a diagram illustrating a histogram generation method in which a gradation interval is reduced by using compressed pixel data in the data compression-linked histogram data control method and apparatus of the present invention.

도 24를 참조하면, H(Y)를 감소된 계조 구간 Y의 도수로 정의하고, h(y)를 계조구간 Y와 Y + 1 사이의 히스토그램 계조 y의 도수로 정의하면, H(Y)는 이 값들의 총 합이 된다. 예를 들어, 'C'를 이미지의 컬러 뎁스라 하고, 계조 구간을 i 개로 줄였을 때 계조 구간별 히스토그램의 계조 구간별 도수 H(Y)와 일반적인 히스토그램의 계조별 도수 h(y)의 관계는 아래의 수학식 5와 같이 표현될 수 있다. Referring to FIG. 24, when H (Y) is defined as the frequency of the reduced grayscale section Y, and h (y) is defined as the frequency of the histogram grayscale y between the grayscale interval Y and Y + 1, H (Y) is this value. The sum of them. For example, assuming that 'C' is the color depth of an image, and the gradation interval is reduced to i, the relationship between the frequency H (Y) for each gradation section of the histogram for each gradation interval and the frequency for each gradation h (y) for the gradation of the histogram is It may be expressed as Equation 5 below.

Figure 112009061781512-pat00006
Figure 112009061781512-pat00006

수식적인 표현은 수학식 5와 같으며, 압축 픽셀 데이터를 이용한 계조 구간별 히스토그램을 구하는 방안은 도 25와 같다. 도 25에서 압축 픽셀 데이터는 전술한 PPC, TPPC 및 PFC의 파셜 픽셀 타입(Partial Pixel)과 PFC의 고정 런랭스 타입(Fixed Run Length)으로 압축된 픽셀 데이터의 일예를 나타낸다. 데이터 포맷은 m - 1 번째 데이터와 같이 플래그와 코드를 포함하며, 플래그가 0이고 코드가 1인 m 번째 픽셀 데이터의 경우 상위 bit가 A, 하위 bit가 a인 3 개의 픽셀 데이터들이 압축되어 있는 경우이므로 히스토그램 메모리(histogram memory)의 상위 비트 그룹인 A에 해당하는 H(A)의 픽셀 카운트(pixel count)를 3 만큼 증가시킨다. m + 1 번째 픽셀 데이터는 플래그와 코드가 모두 '0'인 상위 bit가 B, 하위 bit가 b인 픽셀 데이터 한 개가 압축되어 있으므로, 상위 비트 그룹인 B에 해당하는 H(B)의 픽셀 카운트를 1 만큼 증가시킨다. m + 2 번째 픽셀 데이터는 플래그가 '1'인 파셜 타입 압축 데이터로서 m + 1 번째 픽셀 데이터와 상위 비트 그룹이 동일한 두 픽셀 데이터들의 하위 비트가 저장되어 있는 경우이므로, H(B)의 픽셀 카운트를 2만큼 증가시킨다. 이와 같이, 계조 구간이 감소된 히스토그램 생성 방법은 압축 메모리(4)와 연동이 가능하며, 플래그와 코드는 압축장치(100)의 압축과정 중에 생성되므로 별도의 메모리 억세스(Memory Access)가 필요없이 압축과정의 중간 결과를 통해 계조 구간이 간소화된 히스토그램을 생성할 수 있다.The mathematical expression is shown in Equation 5, and a method of obtaining a histogram for each gray level using compressed pixel data is shown in FIG. In FIG. 25, compressed pixel data represents an example of pixel data compressed with the aforementioned partial pixel type of PPC, TPPC, and PFC and fixed run length of PFC. The data format includes a flag and a code like m-1st data.In case of m-th pixel data with a flag of 0 and a code of 1, three pixel data with high bit A and low bit a are compressed. Therefore, the pixel count of H (A) corresponding to A, the upper bit group of the histogram memory, is increased by three. m + 1th pixel data is H and B pixel count corresponding to B, which is the upper bit group, because one pixel data with B and lower bit is compressed. Increment by 1 m + 2nd pixel data is partial type compressed data whose flag is '1', and since m + 1st pixel data and lower bits of two pixel data having the same upper bit group are stored, the pixel count of H (B) is counted. Increase by 2. As described above, the histogram generation method having the reduced gray scale interval can be linked with the compression memory 4, and the flag and the code are generated during the compression process of the compression device 100, so that the compression is not necessary without a separate memory access. The intermediate result of the process can generate a histogram with a simplified gradation interval.

히스토그램 생성 방법은 히스토그램 연산 메모리의 억세스율(Access Rate)을 압축률+α 만큼 줄일 수 있어 메모리 억세스에 필요한 소비전력을 줄일 수 있다. 이는 압축과정을 통해 연속적으로 동일한 상위 비트 그룹을 가진 픽셀 데이터들의 개수를 한번에 카운트할 수 있게 하며, 히스토그램 생성시에 한번에 증가시키기 때문에 압축률 만큼 억세스율을 줄일 수 있다. 또한, 압축 픽셀 데이터들이 파셜 타입으로 연속적으로 저장되는 경우에는 α 만큼의 억세스율을 줄일 수 있는데, α에 대하여 보다 자세히 설명하면 압축 픽셀 데이터의 픽셀 카운트를 구하는 경우 이전 픽셀 데이터와의 상위 비트가 동일하므로 히스토그램 메모리를 다시 읽을 필요 없어 이전 픽셀의 픽셀 카운트 연산 값에 누적 연산하고, 마지막에만 데이터를 쓰면되기 때문에 히스토그램 메모리의 억세스율을 줄일 수 있다. 이러한 과정을 통해 생성된 계조 구간이 감소된 히스토그램 데이터를 히스토그램 연산 메모리에서 읽어 야 하는 경우에 억세스율의 감소는 없으나, 히스토그램 표현 레벨 간소화를 통하여 몇 단계의 간단한 도수 레벨로 변환하여 사용하므로 히스토그램 데이터를 사용하는 장치와의 히스토그램 정보를 전송하기 위한 데이터양을 줄일 수 있다.The histogram generation method can reduce the access rate of the histogram arithmetic memory by the compression rate + α, thereby reducing the power consumption required for memory access. This allows the number of pixel data having the same upper bit group to be consecutively counted at one time through the compression process, and increases the access rate at the time of generating the histogram at a time. In addition, when compressed pixel data is continuously stored as a partial type, an access rate as much as α can be reduced. More detailed description of the α indicates that when the pixel count of the compressed pixel data is obtained, the upper bits of the previous pixel data are the same. Therefore, since the histogram memory does not need to be read again, the cumulative operation is performed on the pixel count operation value of the previous pixel, and data is written only at the end, thereby reducing the access rate of the histogram memory. In the case where the histogram data with the reduced gradation interval generated through this process is to be read from the histogram arithmetic memory, there is no decrease in the access rate. The amount of data for transmitting histogram information with the device used can be reduced.

도 24에서는 압축 알고리즘과의 연동을 설명하기 위하여 압축 픽셀 데이터를 예를 들어 설명하였으나, 본 발명의 데이터 압축 연동 히스토그램 데이터 제어 장치는 데이터 압축장치(100)와 연동하여 중간 인코딩 데이터(encoding data)를 사용하여 히스토그램을 연산하므로 별도로 메모리를 억세스하지 않는다.In FIG. 24, compressed pixel data has been described as an example to describe interlocking with a compression algorithm. However, the data compression interlocking histogram data control apparatus of the present invention interoperates with the data compression apparatus 100 to store intermediate encoding data. It uses the histogram to compute memory so you don't access it separately.

압축 데이터 포맷은 m - 1 번째와 같으며, 플래그가 0이고 코드가 1인 m 번째의 경우 상위 bit가 A, 하위 bit가 a인 픽셀이 3 개가 압축되어 있는 경우이므로 히스토그램 메모리의 상위 bit group인 A에 해당하는 H(A)의 픽셀 카운트를 3 증가시킨다. m + 1 번째는 플래그와 코드가 모두 0으로서 한 상위 bit가 B, 하위 bit가 b인 픽셀 한 개가 압축되어 있으므로, 상위 bit group인 B에 해당하는 H(B)의 픽셀 카운트를 1 증가시킨다. m + 2 번째는 플래그가 1인 경우 파셜 타입으로서 m + 1 번째와 상위 bit group이 동일한 두 픽셀의 하위 bit이 저장되어 있는 경우 이므로 H(B)의 픽셀 카운트를 2 증가시킨다. 이처럼 계조 구간이 감소된 히스토그램의 연산은 압축 이미지 메모리와 연동이 가능하며, 플래그와 코드는 압축장치에서 압축과정 중에 생성되므로 별도의 메모리 억세스가 필요없이 압축장치의 중간 결과를 통해 계조구간이 간소화된 히스토그램을 생성할 수 있다. Compressed data format is the same as m-1, and in case of m-th flag with 0 and code 1, the upper bit group of histogram memory The pixel count of H (A) corresponding to A is increased by three. In m + 1, since the flag and the code are all 0, one pixel having one upper bit B and one lower bit b is compressed, so that the pixel count of H (B) corresponding to the upper bit group B is increased by one. m + 2th is a partial type when the flag is 1, and since the lower bit of two pixels having the same m + 1th and upper bit group are stored, the pixel count of H (B) is increased by 2. The operation of the histogram with reduced gray scale can be linked with the compressed image memory, and the flags and codes are generated during the compression process in the compression device, so the gray scale interval can be simplified through intermediate results of the compression device without the need for separate memory access. You can create a histogram.

도 25는 본 발명의 데이터 압축 연동 히스토그램 데이터 제어 장치를 보여 주는 블록도이다. 25 is a block diagram showing an apparatus for controlling data compression interlocking histogram data according to the present invention.

도 25를 참조하면, 메모리(4)는 히스토그램 표현 레벨 감소 장치(7) 및 계조 구간별 히스토그램 연산 장치(8)에 의해 억세스되는 제 1 메모리 영역(41)과, 데이터 압축 및 복원 장치에 의해 억세스되는 제 2 메모리 영역(42)을 포함한다.Referring to FIG. 25, the memory 4 is accessed by the histogram representation level reduction apparatus 7 and the first memory region 41 which is accessed by the histogram calculation apparatus 8 for each gradation interval, and by the data compression and decompression apparatus. A second memory area 42.

데이터 압축장치(100)는 픽셀 데이터를 압축하여 메모리(4)의 제 2 메모리 영역(42)에 저장한다. 데이터 복원장치(200)는 메모리(4)의 제 2 메모리 영역(42)으로부터 압축된 픽셀 데이터를 독출하여 적응적 압축 모드 예측 장치(5)에 의해 선택된 압축 알고리즘에 따라 그 픽셀 데이터를 복원한다. The data compression device 100 compresses pixel data and stores the pixel data in the second memory area 42 of the memory 4. The data reconstruction device 200 reads the compressed pixel data from the second memory area 42 of the memory 4 and reconstructs the pixel data according to the compression algorithm selected by the adaptive compression mode prediction device 5.

데이터 압축장치(100)는 압축 과정에서 생성되는 코드와 플래그를 포함한 인코딩 데이터를 연속적으로 동일한 상위 비트를 가진 픽셀 정보로써 계조 구간별 히스토그램 연산 장치(8)에 공급한다. 계조 구간별 히스토그램 연산 장치(8)는 압축 과정에서 생성되는 인코드 데이터인 코드, 플래그 및 압축 대상 픽셀 데이터의 상위 비트들을 통해 연속적으로 동일한 상위 비트를 가진 픽셀 데이터의 정보를 입력 받아, 각 계조 구간별 히스토그램을 생성한다. 계조 구간별 히스토그램 연산 장치(8)는 해당 계조레벨을 압축 대상 픽셀 데이터의 상위 비트를 통해 판단할 수 있고 이를 어드레스로 사용하여 제1 메모리 영역(41)을 억세스하고 코드와 플래그를 통해 도수를 증가시키면서 계조 구간을 간소화한 계조 구간별 히스토그램을 생성하고 그 히스토그램을 제 1 메모리(41)에 저장한다. 제 1 메모리(41)에 저장된 계조 구간별 히스토그램은 히스토그램 표현 레벨 감소 장치(7)를 통해 최종적으로 간소화된 히스토그램으로 변환된 후에 이미지 처리 장치(Image Processing Unit)로 전달되어 각종 이미지 처리에 사용된다. 히스토그램 표현 레벨 감소 장치(7)는 제 1 메모리(41)에 저장된 계조 구간별 히스토그램의 대소 비교를 통해 간소화된 히스토그램을 생성한다. 히스토그램의 도수는 0에서 최대 이미지 해상도까지의 도수를 가질 수 있고, 해상도 만큼의 도수 레벨을 가진다. 히스토그램 표현 레벨 감소 장치(7)는 히스토그램의 최대 도수를 상기 최대 이미지 해상도보다 낮은 소정의 클리핑 레벨로 제한하고, 0에서 최대 도수까지를 소정의 스텝(step)으로 줄여 히스토그램의 도수 레벨을 감소시킨다. 히스토그램 도수 레벨의 간소화는 계조 구간별 히스토그램 연산 장치(8)를 통해 구해진 히스토그램을 기준으로 연산되므로 제 1 메모리 영역(41)의 메모리 용량을 감소시킬 수 없으나, 이미지 처리 장치로 전송되는 데이터양을 크게 줄일 수 있다.The data compression device 100 supplies encoding data including a code and a flag generated in the compression process to the histogram computing device 8 for each gray level section as pixel information having the same high order bit. The histogram operation apparatus 8 for each gray level section receives information of pixel data having the same higher bit in succession through the upper bits of the code, the flag, and the pixel data to be compressed, which are encoded data generated during the compression process. Create a star histogram. The histogram calculation apparatus 8 for each gray level section can determine the corresponding gray level through the upper bits of the pixel data to be compressed, and use it as an address to access the first memory area 41 and increase the frequency through the code and the flag. While generating a histogram for each gradation section in which the gradation section is simplified, the histogram is stored in the first memory 41. The histogram for each gradation section stored in the first memory 41 is finally converted into a simplified histogram by the histogram expression level reduction device 7 and then transferred to an image processing unit for use in various image processing. The histogram representation level reduction device 7 generates a simplified histogram through the case comparison of the histogram for each gradation section stored in the first memory 41. The histogram's frequency can have a frequency from zero to the maximum image resolution, and has a power level as high as the resolution. The histogram representation level reduction apparatus 7 limits the maximum frequency of the histogram to a predetermined clipping level lower than the maximum image resolution, and reduces the frequency level of the histogram by reducing the frequency from 0 to the maximum frequency in a predetermined step. Since the simplification of the histogram frequency level is calculated based on the histogram obtained through the histogram calculating device 8 for each gradation section, the memory capacity of the first memory area 41 cannot be reduced, but the amount of data transmitted to the image processing device is greatly increased. Can be reduced.

도 26은 계조 구간별 히스토그램 연산 장치(8)를 상세히 나타내는 블록도이다. 도 26을 참조하면, 데이터 압축장치(100)에 의해 압축된 픽셀 데이터들 중에서 Pixel 1 위치의 픽셀 데이터는 반드시 풀비트로 저장되는 픽셀 데이터이다. 따라서, 계조 구간별 히스토그램 연산 장치(8)는 Pixel 1의 픽셀 데이터에서 상위 비트 그룹을 분석하여 압축 픽셀 데이터의 계조 구간을 파악하며, 이를 메모리 어드레스로 사용하여 제 1 메모리(41)를 억세스한다. 도 26에서, 제 1 메모리(41) 내에 멀티플렉서로 표현된 부분은 히스토그램의 데이터 입/출력을 수행하는 디코더를 표현한 것이다. Fig. 26 is a block diagram showing in detail the histogram computing device 8 for each gray scale section. Referring to FIG. 26, pixel data of a pixel 1 position among pixel data compressed by the data compression apparatus 100 is pixel data necessarily stored in full bit. Therefore, the histogram operation apparatus 8 for each gray scale interval analyzes an upper bit group from the pixel data of Pixel 1 to grasp the gray scale interval of the compressed pixel data, and accesses the first memory 41 using this as a memory address. In FIG. 26, a part represented by the multiplexer in the first memory 41 represents a decoder that performs data input / output of the histogram.

계조 구간별 히스토그램 연산 장치(8)는 제 1 및 제 2 멀티플렉서(81, 82), 가산기(83) 등을 구비한다. 제 1 멀티플렉서(81)는 데이터 압축장치(100)로부터의 플래그에 따라 메모리(41)로부터 입력된 히스토그램의 해당 계조구간의 도수와, 가 산기(83)로부터 입력된 이전 도수 연산 결과 중 어느 하나를 선택하여 가산기(83)로 입력한다. 플래그가 1이면, 현재 압축된 픽셀 데이터가 PPC, TPPC, PFC의 파셜 타입으로 압축된 경우이므로 이전 픽셀 데이터와 동일한 상위 비트를 포함한 계조 구간이 동일하므로 메모리(41)에서 다음 픽셀 데이터를 다시 읽어올 필요 없이 이전 연산 결과를 다시 사용한다. 제 2 멀티플렉서(82)는 데이터 입력장치(100)로부터 입력된 플래그와 코드에 따라 제 1 멀티플렉서(81)를 통해 입력된 해당 계조 구간의 도수를 증가시킬 증가치를 선택한다. 이 때, 코드와 플래그는 제 2 멀티플렉서(82)의 선택신호로 사용되고 제 2 멀티플렉서(82)는 선택신호에 따라 아래의 표 1과 같이 1, 2, 3의 세 값 중에서 어느 하나를 선택한다. 가산기(83)는 제 1 및 제 2 멀티플렉서(81, 82)로부터 입력된 해당 계조 구간의 도수와 증가치를 입력받아 그 값들을 합산하여 메모리(41)에 저장한다.The histogram computing device 8 for each gray level section includes first and second multiplexers 81 and 82, an adder 83, and the like. The first multiplexer 81 selects any one of the frequency of the corresponding gradation section of the histogram input from the memory 41 according to the flag from the data compression apparatus 100 and the result of the previous frequency operation input from the adder 83. It selects and inputs into the adder 83. If the flag is 1, since the currently compressed pixel data is compressed in the partial types of PPC, TPPC, and PFC, the gradation section including the same high bit as the previous pixel data is the same, and the next pixel data is read again from the memory 41. Reuse previous calculation results without the need. The second multiplexer 82 selects an increase value for increasing the frequency of the corresponding gray level input through the first multiplexer 81 according to a flag and a code input from the data input device 100. In this case, the code and the flag are used as the selection signal of the second multiplexer 82, and the second multiplexer 82 selects one of three values of 1, 2, and 3 according to the selection signal as shown in Table 1 below. The adder 83 receives the frequency and the increase value of the corresponding gradation intervals input from the first and second multiplexers 81 and 82, and adds the sum values and stores the sum values in the memory 41.

flagflag codecode numbernumber 1One XX 22 0
0
1One 33
00 1One

계조 구간별 히스토그램 연산 장치(8)는 전술한 바와 같이, 픽셀 데이터가 파셜 타입으로 압축 및 저장된 경우에 이전 픽셀 데이터와 동일한 상위 비트를 포함하고 있으므로 현재의 픽셀 데이터와 계조 구간이 동일한 것으로 판단하여 제 1 메모리(41)에서 픽셀 데이터를 읽어올 필요 없이 연산 결과를 반복(Recursive)하여 메모리 억세스 횟수를 줄일 수 있다. 그리고 계조 구간별 히스토그램 연산 장치(8)는 압축 과정 중 생성되는 플래그와 코드를 통해 해당 계조 구간의 도수를 증가시키며, 이 과정은 멀티플렉서들(81, 82)과 가산기(83)를 통해 수행된다. As described above, when the pixel data is compressed and stored in the partial type, the histogram calculation apparatus 8 includes the same upper bits as the previous pixel data, and thus determines that the current pixel data is the same as the grayscale interval. It is possible to reduce the number of memory accesses by recursive operation results without having to read pixel data from one memory 41. The histogram computing device 8 for each gray scale section increases the frequency of the gray scale section through a flag and a code generated during the compression process. This process is performed through the multiplexers 81 and 82 and the adder 83.

본 발명의 데이터 압축 연동 히스토그램 데이터 제어장치는 도 25 및 도 26과 같이 데이터 압축장치(100)와의 연동을 이용하여 동일한 계조 구간을 가진 일련의 픽셀 데이터의 반복 횟수를 압축과정에서 생성되는 코드와 플래그로 판단할 수 있으며, 한 개에서 세 개까지의 픽셀 카운트를 한 번의 메모리 억세스와 연산으로 처리할 수 있어 메모리 억세스 횟수를 크게 줄일 수 있다. 기존의 히스토그램 연산 장치는 카운터를 각 계조 구간마다 두고 병렬적으로 처리하여 높은 하드웨어 복잡도를 가지는 것에 비하여 본 발명의 계조 구간별 히스토그램 연산 장치(8)는 메모리 데이터로 순차적으로 입력되는 이미지 데이터의 특성에 따라 가산기(83)를 공유하여 순차적으로 히스토그램 연산을 처리할 수 있어 하드웨어 복잡도를 낮출 수 있다. In the data compression interlocking histogram data control apparatus of the present invention, as shown in FIGS. 25 and 26, a code and a flag generated in the compression process are used to generate the number of iterations of a series of pixel data having the same gray scale interval using the linkage with the data compression apparatus 100. The number of one to three pixel counts can be processed by one memory access and operation, which greatly reduces the number of memory accesses. The conventional histogram calculating apparatus has a high hardware complexity by processing the counter in parallel with the counter for each gray scale section, whereas the histogram computing device 8 for each gray scale section of the present invention is characterized by the characteristics of image data sequentially input as memory data. Accordingly, the adder 83 may be shared to sequentially process histogram operations, thereby reducing hardware complexity.

데이터 압축 방안과 연동하여 픽셀 데이터 연산 처리를 위한 룩업 테이블의 경우에 전술한 압축 알고리즘과 마찬가지로 상위 비트 그룹과 하위 비트 그룹으로 나누고 동일한 룩업 테이블로 연산을 수행함으로써 하드웨어 양을 줄일 수 있다. In the case of the lookup table for pixel data operation processing in conjunction with the data compression scheme, the amount of hardware can be reduced by dividing the upper bit group and the lower bit group and performing the operation using the same lookup table as in the aforementioned compression algorithm.

데이터 압축 연동 룩업 테이블은 룩업 테이블의 함수가 비선형(non-linear)인 경우에 발생할 수 있는 에러 양을 최소화할 수 있도록 그 에러를 보상하는 에러 룩업 테이블 양을 최소화하여 하드웨어 복잡도를 낮추면서도 에러를 최소화할 수 있는 룩업 테이블 설계 방법을 제안한다. The data compression interlocked lookup table minimizes the error lookup table to compensate for the error to minimize the amount of errors that can occur when the function of the lookup table is non-linear, thereby minimizing errors while reducing hardware complexity. We propose a lookup table design method.

도 27은 메모리(42)와 연동 가능한 분할 비트 룩업 테이블(Partitioned bit LUT) 롬(9)을 나타내는 도면이다. FIG. 27 is a diagram illustrating a partitioned bit LUT ROM 9 interoperable with the memory 42.

도 27을 참조하면, 룩업 테이블 롬 카운트(LUT ROM Count, LUTC) 즉, 룩업 테이블 크기는 수학식 6과 같이 입력 비트 폭(input bit width)에 따라 지수적으로 변하므로, 룩업 테이블의 복잡도를 낮추기 위해서 입력 데이터의 비트 폭을 줄이는 것이 효과적이다. 룩업 테이블의 입력 데이터의 비트 폭을 줄이기 위하여, 픽셀 데이터를 분할(partitioning)하고 룩업 테이블을 공유시켜 연산하는 방안이 필요하다. 이렇게 입력 비트 폭을 줄여 분할된 픽셀 데이터를 연산을 수행하는 룩업 테이블을 분할 비트 룩업 테이블(Partitioned bit LUT)로 정의하기로 한다. Referring to FIG. 27, the lookup table ROM count (LUT ROM Count, LUTC), that is, the lookup table size is changed exponentially according to the input bit width as shown in Equation 6, thereby reducing the complexity of the lookup table. In order to reduce the bit width of the input data, it is effective. In order to reduce the bit width of the input data of the lookup table, a method of partitioning the pixel data and sharing the lookup table is required. The lookup table that performs the operation on the divided pixel data by reducing the input bit width will be defined as a partitioned bit LUT.

LUTC = 2input bit width × output bit widthLUTC = 2 input bit width × output bit width

전술한 압축 알고리즘들은 픽셀 데이터를 상위 비트 그룹과 하위 비트 그룹으로 나누어 압축한다. 따라서, 메모리(42)에 저장된 픽셀 데이터는 상위 비트 그룹과 하위 비트 그룹의 조합으로 구성된다. 분할 비트 룩업 테이블 롬(9)은 상위 비트 그룹과 하위 비트 그룹으로 분할된 픽셀 데이터를 입력으로 사용하기 때문에 입력 픽셀 데이터의 분할 레벨(partitioning level)을 전술된 메모리(42)에 저장된 압축 픽셀 데이터의 분할을 고려하여 설계할 때 연동 가능하다. 이러한 연동을 통해 별도의 복원 과정없이 룩업 테이블 연산이 가능하여 모듈 간의 전송 데이터 율(Data Rate) 감소는 물론 중복적인 상위 비트 그룹의 연산 횟수를 줄여 전체적인 연산량을 감소시킬 수 있는 효과가 있다. 도 21은 메모리(42)와 분할 비트 룩업 테이블의 픽셀 분할을 통한 연동 방안을 도식화한 것이다. 도 21과 같이 두 모 듈(9, 42)간 데이터 전송은 분할된 픽셀 데이터를 포함한 압축 픽셀 데이터를 통해 이루어지므로 전술한 압축 알고리즘과 분할 비트 룩업 테이블을 통한 화상처리 룩업 테이블이 연동이 가능하다.The aforementioned compression algorithms compress pixel data by dividing the pixel data into upper bit groups and lower bit groups. Therefore, the pixel data stored in the memory 42 is composed of a combination of an upper bit group and a lower bit group. Since the partition bit lookup table ROM 9 uses pixel data divided into an upper bit group and a lower bit group as an input, a partitioning level of the input pixel data is used to store the compressed pixel data stored in the memory 42 described above. When designing in consideration of division, it can be linked. Through this interworking, the lookup table operation can be performed without any reconstruction process, thereby reducing the data rate between modules and reducing the number of operations of the redundant upper bit group, thereby reducing the overall operation amount. 21 is a diagram illustrating an interworking scheme through pixel division between the memory 42 and the divided bit lookup table. As shown in FIG. 21, data transmission between the two modules 9 and 42 is performed through compressed pixel data including divided pixel data. Thus, the above-described compression algorithm and the image processing lookup table through the divided bit lookup table may be linked to each other.

분할 비트 룩업 테이블 롬(9)은 픽셀 데이터를 X라 할 때, 메모리(42)로부터 상위 비트 그룹 Xupper와 하위 비트 그룹 Xlower로 나누어 픽셀 데이터들을 입력받아 연산을 수행한다. m bit 컬러 뎁스를 가지는 픽셀 데이터를 n 번째 비트에서 분할한 경우 분할 픽셀 데이터는 수학식 7과 같다. The split bit lookup table ROM 9 receives pixel data from the memory 42 into an upper bit group X upper and a lower bit group X lower from the memory 42 to perform an operation. When the pixel data having the m bit color depth is divided in the nth bit, the divided pixel data is expressed by Equation 7.

Xupper = X[m-1:n]X upper = X [m-1: n]

Xlower = X[n-1:0]X lower = X [n-1: 0]

X = Xupper×2n + Xlower X = X upper × 2 n + X lower

분할 비트 룩업 테이블 롬(9)에 입력된 픽셀 데이터 X와 분할 픽셀 데이터들 간의 관계는 수학식 7과 같으며, 분할되지 않은 원본 룩업 테이블(Original LUT)의 함수 f(X)가 선형적인(linear) 경우에 아래의 수학식 8이 성립된다. The relationship between the pixel data X and the divided pixel data input to the split bit lookup table ROM 9 is expressed by Equation 7, and the function f (X) of the original partitioned lookup table (Original LUT) is linear. In this case, Equation 8 below is established.

f(X) = f(Xupper×2n + Xlower) = f(Xupper×2n) + f(Xlower) (4)f (X) = f (X upper × 2 n + X lower ) = f (X upper × 2 n ) + f (X lower ) (4)

분할 비트 룩업 테이블은 분할 비트(partitioned bit)를 입력으로 하므로 분 할되기전 풀비트 룩업 테이블과는 다른 함수를 가진다. Xupper, Xlower 입력 모두 동일한 룩업 테이블을 사용하여, 연산하여 적은 양의 룩업 테이블을 사용하게 되며, Xupper, Xlower 입력 모두 Xpartitioned로 통칭할 경우, 분할 비트 룩업 테이블 함수를 fpbl(Xpartitioned)라 할 때 fpbl(Xpartitioned)이 풀비트 룩업 테이블의 함수 f(X)와 유사할 수록 에러가 적으며, 분할 비트를 입력으로 한 f(X)의 함수값 중 f(Xupper×2n)이 f(Xlower)보다, 상위 비트를 입력으로 사용하여 f(X)와 유사하므로, 분할 비트를 입력으로 하는 fpbl(Xpartitioned)의 함수로 사용한다. 그리고 f(X)가 선형적이라면 fpbl(Xpartitioned)도 선형적이며, 다음과 같은 수학식 9 및 10을 만족한다.The partitioned bit lookup table takes a partitioned bit as an input and therefore has a function different from that of the full bit lookup table before being partitioned. If the X upper and X lower inputs all use the same lookup table and are computed to use a smaller lookup table, and the X upper and X lower inputs are collectively referred to as X partitioned , then the split bit lookup table function is called f pbl (X partitioned ), the more f fbl (X partitioned ) is similar to the function f (X) of the full-bit lookup table, the fewer errors, and f (X upper × Since 2 n ) is similar to f (X) with the upper bits as input, rather than f (X lower ), it is used as a function of f pbl (X partitioned ) with split bits as input. If f (X) is linear, f pbl (X partitioned ) is also linear, and satisfies Equations 9 and 10 as follows.

fpbl(Xpartitioned) = f(Xpartitioned×2n)f pbl (X partitioned ) = f (X partitioned × 2 n )

f(Xlower) = fpbl(Xlower)/2n f (X lower ) = f pbl (X lower ) / 2 n

따라서, 수학식 9 및 10을 수학식 8에 대입하면 수학식 11과 같이 선형적인 함수의 경우, 분할 비트 룩업 테이블로도 에러 없이 연산이 가능함을 알 수 있고, 분할 비트를 통해 수학식 6과 같이 룩업 테이블 롬(9)의 크기를 줄일 수 있다. Therefore, when Equations 9 and 10 are substituted into Equation 8, it can be seen that a linear function as shown in Equation 11 can be operated without error even with a split bit lookup table. The size of the lookup table ROM 9 can be reduced.

f(X) = fpbl(Xupper) + fpbl(Xlower)/2n (7)f (X) = f pbl (X upper ) + f pbl (X lower ) / 2 n (7)

상기의 선형적인 함수 이외로, 비선형(Non-linear) 함수를 위와 같이 연산하는 경우 에러가 발생할 수 있다. 이렇게 발생하는 에러는 별도의 에러 룩업 테이블로 보상하여 최종 결과에서 에러없이 연산하도록 할 수 있으며 이 연산과정은 다음 수학식 12와 같이 정의될 수 있다. 에러 룩업 테이블의 크기는 발생하는 에러의 범위에 따라 결정되며 수학식 13과 같이 정의된다. In addition to the linear functions described above, an error may occur when a non-linear function is operated as described above. The error generated in this way can be compensated with a separate error lookup table to be operated without errors in the final result, and this operation process can be defined as in Equation 12 below. The size of the error lookup table is determined according to the range of errors that occur and is defined as in Equation 13.

f(X) = fpbl(Xupper) + fpbl(Xlower)/2n + ferror(X)f (X) = f pbl (X upper ) + f pbl (X lower ) / 2 n + f error (X)

LUTCerror = 2 color depth × log2(Error Range) LUTC error = 2 color depth × log 2 (Error Range)

에러 룩업 테이블의 크기는 에러 범위(Error Range)에 따라 보다 정확하게는 스텝 사이즈가 일정할 경우 에러 범위를 나타내는 양자화 단계의 수에 달라질 수 있고, 분할 비트 룩업 테이블을 통한 연산 에러를 줄여야 전체적인 룩업 테이블의 크기를 줄일 수 있다. 이를 도 28을 결부하여 설명하기로 한다. The size of the error lookup table can vary more precisely depending on the error range, depending on the number of quantization steps representing the error range if the step size is constant, and the operation error through the split bit lookup table should be reduced to reduce the overall lookup table size. Can be reduced in size. This will be described with reference to FIG. 28.

하위 비트 그룹의 연산 결과 fpbl(Xlower)는 상위 비트 그룹의 연산 결과와 합산되는데, 이 때 하위 비트 그룹을 나누는 수를 스케일 팩터(Scale Factor)로 정의하기로 한다. 선형적인 함수의 경우에 분할한 비트의 위치에 따라 수학식 7과 같 이 1/2n 스케일 팩터를 적용하면 에러없이 연산이 가능하나, 비선형 함수의 경우는 선형 함수와 같은 스케일 팩터를 적용할 경우 에러가 발생하여 수학식 8과 같은 방법으로 에러를 보상하여야 한다. The operation result f pbl (X lower ) of the lower bit group is summed with the operation result of the upper bit group. In this case, the number of dividing the lower bit group is defined as a scale factor. In the case of linear functions, if the 1/2 n scale factor is applied as in Equation 7, the operation can be performed without error, but in the case of nonlinear functions, the same scale factor as the linear function is applied. An error occurs and the error must be compensated in the same manner as in Equation 8.

도 28(a)에서와 같이 선형 함수의 경우에 상위 비트 그룹 연산 결과 fpbl(Xupper)의 스텝 사이즈는 전 계조 구간에서 동일하며, 동일한 스케일 팩터를 적용한 하위 비트 그룹의 연산 결과 fpbl(Xlower)/23의 동적 범위(Dynamic Range)와 동일하다. fpbl(Xlower)/23의 함수가 선형적으로 증가하여 fpbl(Xupper)와 합산을 통해 풀 비트 룩업 테이블의 함수와 동일한 연산이 가능함을 확인할 수 있다. 이와 같이 전체 구간에 동일하게 적용되는 스케일 팩터를 글로벌 스케일 팩터(Global Scale Factor)로 정의하기로 한다. As shown in FIG. 28 (a), in the case of the linear function, the step size of the upper bit group operation result f pbl (X upper ) is the same in the entire gray scale interval, and the operation result of the lower bit group applying the same scale factor f pbl (X lower ) / 3 is equal to the dynamic range of 3 . It can be seen that the function of f pbl (X lower ) / 2 3 increases linearly and can be combined with f pbl (X upper ) to perform the same operation as the function of the full bit lookup table. As described above, a scale factor that is equally applied to all sections is defined as a global scale factor.

도 28(b)와 같이 비선형 함수의 경우에 fpbl(Xupper)의 스텝 사이즈는 각 구간마다 다르게 나타날 수 있다. 선형 함수와 같이 글로벌 스케일 팩터를 적용한 하위 비트 그룹의 연산 결과 fpbl(Xlower)/23와 합산하는 경우에 풀 비트 룩업 테이블의 특성 커브(Characteristic Curve)와 큰 차이를 보일 수 있다. 이 차이를 에러 룩업 테이블을 이용하여 보상하여야 한다. In the case of the nonlinear function as shown in FIG. 28 (b), the step size of f pbl (X upper ) may be different for each section. When combined with f pbl (X lower ) / 2 3 as a result of calculation of the lower bit group to which the global scale factor is applied, such as a linear function, it may show a big difference from the characteristic curve of the full bit lookup table. This difference should be compensated for using the error lookup table.

도 28(c)와 같이 fpbl(Xupper)의 스텝 사이즈와 하위 fpbl(Xlower)/2k의 동적 범위 가 유사하도록 스케일 팩터를 각 계조 구간마다 달리 적용할 경우 (b)에 비하여 풀 비트 룩업 테이블의 특성 커브와의 차이가 작아진다. 이처럼 계조 구간 별로 달리 적용하는 스케일 팩터를 로컬 스케일 팩터(Local Scale Factor)로 정의하기로 한다. 로컬 스케일 팩터는 해당 구간의 상위 비트 그룹 연산 결과, fpbl(Xupper)의 스텝 사이즈와 하위 비트 그룹 연산 결과 fpbl(Xlower)의 동적 범위에 의해 결정되는데, 하위 비트 그룹 연산 결과의 동적 범위는 분할 비트 룩업 테이블의 동적 범위와 같으며, 해당 구간의 상위 비트 그룹 연산 결과의 스텝 사이즈는 |fpbl(Xupper+1)- fpbl(Xupper)|가 되므로, DR(g(x))를 함수 g(x)의 동적 범위라 할 때, 로컬 스케일 팩터(SFlocal)는 수학식 14와 같이 표현될 수 있다. As shown in FIG. 28 (c), when the scale factor is differently applied to each gray scale interval so that the step size of f pbl (X upper ) and the dynamic range of lower f pbl (X lower ) / 2 k are similar, The difference from the characteristic curve of the bit lookup table becomes small. As described above, a scale factor that is applied differently for each gradation interval is defined as a local scale factor. The local scale factor is determined by the upper bit group operation result of the interval, the step size of f pbl (X upper ) and the dynamic range of the lower bit group operation result f pbl (X lower ). Is equal to the dynamic range of the split bit lookup table, and the step size of the result of the upper bit group operation of the interval becomes | f pbl (X upper +1)-f pbl (X upper ) |, so that DR (g (x) ) Is the dynamic range of the function g (x), the local scale factor (SF local ) can be expressed as shown in Equation 14.

SFlocal = |fpbl(Xupper+1) - fpbl(Xupper)| / DR(fpbl(Xpartitioned)) SF local = | f pbl (X upper +1)-f pbl (X upper ) | / DR (f pbl (X partitioned ))

이처럼 동일한 상위 bit group 값을 가지는 구간마다 fpbl(Xupper)의 스텝 사이즈에 따라 fpbl(Xlower)를 나누는 스케일 팩터를 달리 적용한 경우가 앞서 정의된 로컬 스케일 팩터(Local scale factor)가 된다. 이와 같이 로컬 스케일 팩터가 적용된 분할된 비트 룩업 테이블의 연산결과는 원 룩업 테이블의 커브와의 차이가 매우 적음을 도 28의 (c)를 통해 확인 할 수 있다.In this case, a different scale factor for dividing f pbl (X lower ) according to the step size of f pbl (X upper ) for each section having the same upper bit group value becomes a previously defined local scale factor. As described above, it can be confirmed from FIG. 28C that the calculation result of the divided bit lookup table to which the local scale factor is applied is very small from the curve of the original lookup table.

로컬 스케일 팩터는 Xupper에 의해 나누어지는 구간의 스텝 사이즈와 fpbl(Xlower)의 동적 범위를 동일하게 조절하는 역할을 한다. 따라서 구간의 스텝 사이즈와 분할된 비트 룩업 테이블의 함수 fpbl(Xpartitioned)의 동적 범위를 통해 구할 수 있다. step_size(fpbl(Xupper))를 fpbl(Xupper)의 스텝 사이즈라 할 때, 수학식 15와 같이 정리된다. 그리고 DR(g(x))를 함수 g(x)의 동적 범위로 정의할 때 최적의 로컬 스케일 팩터는 수학식 16과 같다.The local scale factor adjusts the step size of the interval divided by X upper equally and the dynamic range of f pbl (X lower ). Therefore, it can be obtained through the step size of the interval and the dynamic range of the function f pbl (X partitioned ) of the partitioned bit lookup table. When step_size (f pbl (X upper )) is a step size of f pbl (X upper ), it is arranged as in Equation (15). In addition, when DR (g (x)) is defined as the dynamic range of the function g (x), the optimal local scale factor is expressed by Equation 16 below.

step_size(fpbl(Xupper)) = |fpbl(Xupper)- fpbl(Xupper+1)|step_size (f pbl (X upper )) = | f pbl (X upper )-f pbl (X upper + 1 ) |

Figure 112009061781512-pat00007
Figure 112009061781512-pat00007

이와 같은 로컬 스케일 팩터는 하드웨어 구현상 효율성을 위하여 정수 k에 대해서 2k의 형태로 변경한다. 이와 같이 지수 형태로 간소화 할 경우 에러범위의 감소율이 10%정도 감소하지만, 스케일 팩터를 저장하는 스케일 팩터 룩업 테이블의 양을 크게 감소 시킬 수 있으며, 쉬프터를 통해 효율적으로 연산을 수행할 수 있는 등 장점이 더 크다.This local scale factor is changed to 2 k for integer k for efficiency in hardware implementation. In this case, the reduction rate of the error range is reduced by 10%, but the amount of scale factor lookup table that stores the scale factor can be greatly reduced, and the operation can be efficiently performed through the shifter. This is bigger.

로컬 스케일 팩터를 2k형태로 만들어 k 값만을 룩업 테이블 형태로 저장하고 쉬프터를 이용하여 구간의 변화율에 적합한 스케일링을 수행할 수 있다. 수학식 17 및 18은 스케일 팩터 k 값을 구하는 수식과 스케일 팩터를 저장하기 위한 룩업 테이블의 롬 카운트(LUTC)를 계산한 수식이다.By making a local scale factor of 2 k and storing only k values in the form of a lookup table, scaling can be performed to suit the rate of change of the interval using a shifter. Equations 17 and 18 are equations for calculating a scale factor k and a ROM count of a lookup table for storing the scale factor.

k = log2(SFlocal) k = log 2 (SF local )

LUTCscale factor = 2upper bit width × log2(color depth) LUTC scale factor = 2 upper bit width × log 2 (color depth)

도 28과와 같이, 로컬 스케일 팩터를 적용하여 하위 비트 그룹의 연산 결과를 스케일링하여 상위 비트 그룹의 연산 결과와 합산한 분할 비트 룩업 테이블의 연산 결과의 특성 커브는 풀비트 룩업 테이블을 통한 연산 결과의 특성 커브와 매우 유사하여 에러를 최소화할 수 있다. As shown in FIG. 28, the characteristic curve of the operation result of the split bit lookup table obtained by scaling the operation result of the lower bit group by applying a local scale factor and adding the operation result of the upper bit group is shown in FIG. 28. It is very similar to the characteristic curve, which minimizes the error.

Error RangeError range LUTCerrorLUTCerror Global Scale Factor 도 28(b)Global Scale Factor Figure 28 (b) -30 ~ 48-30 to 48 17921792 Local Scale Factor 도 28(c)Local Scale Factor Figure 28 (c) -9 ~ 24-9 to 24 15361536

표 2는 두 가지 스케일 팩터들의 적용 방안에 따른 룩업 테이블의 에러 발생 범위와 그 에러를 보상하기 위한 최소한의 에러 룩업 테이블 카운트를 나타내고 있다. 로컬 스케일 팩터를 적용하였을 때 글로벌 스케일 팩터를 적용한 것에 비하여 에러 범위(Error range)가 1/2이하로 감소하였으며, 에러 룩업 테이블 수(LUT error) 또한 14% 가량 감소하였다.Table 2 shows the error occurrence range of the lookup table according to the application method of the two scale factors and the minimum error lookup table count to compensate for the error. When the local scale factor is applied, the error range is reduced to 1/2 or less, and the number of error lookup tables (LUT error) is also reduced by 14% compared with the global scale factor.

본 발명은 입력 픽셀 데이터를 분할하여 상위 비트 그룹과 하위 비트 그룹으로 나누어 동일한 분할 비트 룩업 테이블로 공유함으로써 룩업 테이블 롬(9)의 크기를 줄인다. 또한, 본 발명은 비선형 함수 연산시에 발생할 수 있는 에러를 로컬 스케일 팩터 적용을 통하여 최소화하여 적은 양의 에러 룩업 테이블을 사용한 에러 보상을 통해 풀 비트 룩업 테이블의 연산 결과와 에러없이 동일하게 연산이 가능하다. According to the present invention, the size of the lookup table ROM 9 is reduced by dividing the input pixel data into upper bit groups and lower bit groups, and sharing the same divided bit lookup table. In addition, the present invention minimizes an error that may occur during nonlinear function calculation by applying a local scale factor, and thus may be operated in the same manner without error as a calculation result of a full bit lookup table through error compensation using a small amount of error lookup table. Do.

수학식 19는 위의 내용을 수학식 12에 적용하여 수식으로 정리한 것이며, 도 29에 연산과정을 도식화하였다. Equation 19 is a summary by applying the above to Equation 12, and the operation process is shown in FIG.

f(X) = fpbl(Xupper) + fpbl(Xlower)/2k + ferror_reduced(X)f (X) = f pbl (X upper ) + f pbl (X lower ) / 2 k + f error_reduced (X)

도 29를 참조하면, 분할된 픽셀 데이터는 Xupper와 Xlower로 나뉘어 분할 비트 룩업테이블(9)을 통해 각각 연산된다. 이 때, 분할 비트 룩업 테이블(9)의 함수는 fpbl(Xpartitioned)와 같다. Xlower의 연산 결과는 로컬 스케일 팩터를 적용하게 되는데, 이는 수학식 15에서 두 번째 항의 연산과 같다. 이를 위하여, 스케일 팩터 룩업 테이블(10)을 통해 해당 구간에 적합한 스케일 팩터를 정하는 k가 쉬프터(11)로 입력되어 하위 비트 그룹 연산 결과인 fpbl(Xlower)에 1/2k 만큼 스케일링하기 위하여 k bit 만큼 쉬프트한다. k는 도 28에서 전술한 방법으로 미리 산출된 값으로써, 스케일 팩터 룩업 테이블(10)에 저장된다. 스케일 팩터 룩업 테이블(10)은 Xupper를 통해 계조구간을 어드레스로 하여 그 구간의 상기 k 값을 출력한다. 쉬프터(11)는 스케일 팩터 룩업 테이블(10)로부터 입력된 스케일 팩터 k와 분할 비트 룩업 테이 블(9)로부터 입력된 fpbl(Xlower)를 이용하여 연산 결과 fpbl(Xlower)/2k를 발생한다. 에러 룩업 테이블(12)는 Xupper와 Xlower를 포함한 픽셀 데이터 X를 입력받아 에러를 보상하기 위한 함수 ferror_reduced(X)를 출력한다. 룩업 테이블 연산 결과 합산부(13)는 스케일링된 하위 비트 그룹의 연산 결과 fpbl(Xlower)/2k, 상위 비트 그룹 연산 결과 fpbl(Xupper), 및 에러 룩업 테이블(12)의 함수 ferror_reduced(X)를 합산하여 기존의 풀비트 룩업 테이블의 연산 결과 f(X)와 동일한 연산 결과를 생성할 수 있으면서도, 전체적인 룩업 테이블 롬 카운트를 줄일 수 있다.Referring to FIG. 29, the divided pixel data is divided into X upper and X lower and calculated through the divided bit lookup table 9, respectively. At this time, the function of the split bit lookup table 9 is equal to f pbl (X partitioned ). The result of the calculation of X lower is to apply the local scale factor, which is the same as the operation of the second term in Equation 15. To this end, k, which determines a scale factor suitable for a corresponding interval through the scale factor lookup table 10, is input to the shifter 11 to scale by 1/2 k to f pbl (X lower ), which is a result of the lower bit group operation. Shift by k bits. k is a value previously calculated by the method described above with reference to FIG. 28 and stored in the scale factor lookup table 10. The scale factor lookup table 10 outputs the k value of the interval using the gray scale section as an address through X upper . The shifter 11 uses the scale factor k input from the scale factor lookup table 10 and f pbl (X lower ) input from the split bit lookup table 9 to calculate the result f pbl (X lower ) / 2 k. Occurs. The error lookup table 12 receives pixel data X including X upper and X lower and outputs a function f error_reduced (X) for compensating for an error. The lookup table arithmetic result adder 13 is the result of the operation of the scaled lower bit group f pbl (X lower ) / 2 k , the upper bit group operation result f pbl (X upper ), and the function f of the error lookup table 12. By adding error_reduced (X) to generate the same operation result as f (X) of the existing full bit lookup table, the overall lookup table ROM count can be reduced.

전술한 픽셀 데이터의 압축 알고리즘은 픽셀 데이터를 상위 비트 그룹과 하위 비트 그룹으로 분할하여 압축을 수행하는 파셜 픽셀 타입의 압축으로써 두 개의 분할 픽셀 데이터와 플래그를 포함한다. 본 발명은 플래그를 통해 두 분할 픽셀 데이터의 조합을 판단할 수 있으며, 분할 비트 룩업 테이블 롬(9)의 연산을 제어할 수 있다. The above-described compression algorithm of pixel data is a partial pixel type compression that divides pixel data into upper bit groups and lower bit groups to perform compression, and includes two divided pixel data and flags. The present invention can determine the combination of the two divided pixel data through the flag, and can control the operation of the divided bit lookup table ROM 9.

도 30은 본 발명의 다른 실시예에 따른 분할 비트 룩업 테이블 장치를 개략적으로 나타낸 블록도이다. 30 is a block diagram schematically illustrating a split bit lookup table apparatus according to another embodiment of the present invention.

픽셀 데이터를 상위 비트 그룹과 하위 비트 그룹으로 분할(partitioning)하여 압축을 수행하는 본 발명의 압축 알고리즘 중 PPC를 기본으로 하여 세부구조를 설명한다. 도 30의 압축 데이터 포맷은 두 개의 분할 픽셀 데이터와 플래그로 구성되며, 도 30의 분할 비트 룩업 테이블 장치는 도 29의 회로 구성에 더하여 분할 비트 정렬부(Partitioned Bit Aligner, 15), 래치(14) 등을 더 구비한다. A detailed structure will be described based on the PPC in the compression algorithm of the present invention which performs compression by partitioning pixel data into upper bit groups and lower bit groups. The compressed data format of FIG. 30 is composed of two divided pixel data and flags, and the divided bit lookup table apparatus of FIG. 30 includes a partitioned bit aligner 15 and a latch 14 in addition to the circuit configuration of FIG. 29. And the like.

압축 픽셀 데이터는 전술한 압축 알고리즘들에 의해 상위 비트 그룹과 하위 비트 그룹이 조합된 픽셀 데이터와, 하위 비트 그룹과 그 다음 픽셀 데이터의 하위 비트 그룹이 조합된 픽셀 데이터를 포함한다. 이러한 픽셀 데이터들의 형태를 구분하기 위하여 압축 픽셀 데이터의 최하위 1 bit에 플래그가 사용된다. The compressed pixel data includes pixel data in which the upper bit group and the lower bit group are combined by the aforementioned compression algorithms, and pixel data in which the lower bit group and the lower bit group of the next pixel data are combined. In order to distinguish the types of the pixel data, a flag is used for the least significant 1 bit of the compressed pixel data.

분할 비트 정렬부(15)는 도 30의 m 번째 압축 데이터의 플래그 '0'을 검출하여 그 압축 데이터를 비압축 타입으로 상위 비트 그룹과 하위 비트 그룹이 조합된 압축 데이터로 판단하여 풀비트 픽셀 데이터 포맷으로 에러 룩업 테이블(12)에 공급한다. 분할 비트 정렬부(15)는 m 번째 압축 데이터의 상위 비트 그룹과 하위 비트 그룹을 분할하여 순차적으로 분할 비트 룩업 테이블(9)에 공급한다. 그리고 분할 비트 정렬부(15)는 m + 1 번째 압축 데이터와 같이 플래그가 '1'인 압축 데이터를 하위 비트 그룹과 하위 비트 그룹이 조합된 압축 데이터로 판단하여 앞서 저장된 m 번째 압축 데이터의 상위 비트 그룹과 m + 1 번째 압축 데이터의 하위 비트 그룹을 조합하여 풀비트 픽셀 데이터 타입으로 에러 룩업 테이블(12)에 공급한다. The split bit alignment unit 15 detects the flag '0' of the m-th compressed data of FIG. 30 and determines the compressed data as uncompressed type as compressed data in which the upper bit group and the lower bit group are combined, and thus the full bit pixel data. The error lookup table 12 is supplied in a format. The division bit alignment unit 15 divides the upper bit group and the lower bit group of the m-th compressed data and sequentially supplies them to the division bit lookup table 9. In addition, the division bit alignment unit 15 determines that the compressed data having the flag '1' is compressed data such that the lower bit group and the lower bit group are combined, such as the m + 1st compressed data, and thus the upper bit of the m th compressed data previously stored. The group and the lower bit group of the m + 1 th compressed data are combined and supplied to the error lookup table 12 as a full bit pixel data type.

분할 비트 룩업 테이블(9)은 분할 비트 정렬부(15)로부터 입력되는 분할 픽셀 데이터들을 순차적으로 연산하는데, 상위 비트 그룹을 연산하여 래치(14)에 저장한 후에 이어서 입력된 하위 비트 그룹을 연산하여 그 연산 결과들을 합산할 수 있도록 저장한다. 에러 룩업 테이블(12), 스케일 팩터 룩업 테이블(10), 쉬프터(11) 및 룩업 테이블 연산 결과 합산부(13)의 동작은 전술한 도 28의 실시예와 실질적으로 동일하므로 그에 대한 상세한 설명을 생략한다. The partition bit lookup table 9 sequentially calculates partition pixel data input from the partition bit alignment unit 15. The partition bit lookup table 9 calculates an upper bit group, stores the result in the latch 14, and then calculates a lower bit group. Store the calculation results so that they can be summed. Since the operations of the error lookup table 12, the scale factor lookup table 10, the shifter 11, and the lookup table calculation result adder 13 are substantially the same as those of the above-described embodiment of FIG. 28, a detailed description thereof is omitted. do.

따라서, 분할 비트 정렬부(15)와 래치(14)의 압축 픽셀 데이터를 별도의 픽셀 데이터 압축 복원 과정 없이 분할 비트 룩업 테이블을 연산할 수 있다. 메모리(42)와 분할 비트 룩업 테이블(9)은 전술한 압축 알고리즘에 의한 픽셀 데이터의 분할 방식을 통해 연동된다. 따라서, 이 연동에 적합한 픽셀 분할 레벨을 정하는 것이 연동의 효율화를 위해 중요하다. 분할 비트 룩업 테이블의 크기는 입력 비트폭(input bit width)이 작을수록 작아진다. 픽셀 데이터를 여러 개의 분할 픽셀 데이터로 분할하는 경우에 작게 분할할수록 분할 비트 룩업 테이블의 크기가 작아지지만, 에러가 급격히 증가하여 전체적인 룩업 테이블의 양이 많아지고, 연산이 복잡하여 상위 비트 그룹과 하위 비트 그룹으로 분할하는 것이 효과적이다. Accordingly, the divided bit lookup table may be calculated on the compressed pixel data of the divided bit alignment unit 15 and the latch 14 without a separate pixel data decompression process. The memory 42 and the partition bit lookup table 9 are interlocked through the division method of pixel data by the compression algorithm described above. Therefore, determining the pixel division level suitable for this linkage is important for the efficiency of linkage. The size of the split bit lookup table is smaller as the input bit width is smaller. In the case of dividing the pixel data into several divided pixel data, the smaller the partition, the smaller the size of the divided bit lookup table. However, the error increases rapidly, resulting in an increase in the overall lookup table, and the operation is complicated. Splitting into groups is effective.

분할 비트 룩업 테이블 연산에서 발생하는 에러는 상위 비트 그룹의 크기가 작아질수록 커진다. 도 31의 (a)는 Sine, Cosine, X1/2, X2, Gaussian, Exponential 함수를 연산하는 룩업 테이블을 분할 비트 룩업 테이블(9)과 에러 룩업 테이블(12)을 통한 에러 보상 방안을 적용한 경우의 룩업 테이블 크기를 분할 레벨(Partitioning Level)에 따라 비교하여 평균을 나타낸 그래프이다. 도 31의 (b)는 동일한 분할 레벨에 따라 이미지의 예상 압축률을 나타내는 그래프이다. 분할 비트 룩업 테이블(9)의 크기는 수학식 6을 통해, 에러 룩업 테이블(12)의 크기는 수학식 13을 통해, 스케일 팩터 룩업 테이블(10)의 크기는 수학식 18과 같다. The error that occurs in the split bit lookup table operation increases as the size of the upper bit group decreases. FIG. 31A illustrates a case in which a lookup table that calculates a Sine, Cosine, X1 / 2, X2, Gaussian, and Exponential function is applied to an error compensation scheme using a split bit lookup table 9 and an error lookup table 12. This graph shows the average of the lookup table size according to the partitioning level. FIG. 31B is a graph showing an expected compression ratio of an image according to the same division level. The size of the split bit lookup table 9 is represented by Equation 6, the size of the error lookup table 12 is represented by Equation 13, and the size of the scale factor lookup table 10 is equal to Equation 18.

도 31(a)에서 확인할 수 있는 바, 글로벌 스케일 팩터를 적용하는 것은 도 28과 같이 에러 범위를 크게 줄이지 못하므로 상위 비트 그룹의 결과만으로 연산한 것과 전체 룩업 테이블의 양에서 큰 차이가 없으며, 로컬 스케일 팩터를 적용한 경 우 에러 범위의 감소로 인해 전체 룩업 테이블 양을 크게 줄일 수 있음을 확인할 수 있었다. 상위 비트 그룹의 분할 레벨이 4 bit인 경우, 즉 픽셀 데이터를 1/2로 분할한 경우의 룩업 테이블 롬 카운트(LUTC)가 가장 낮아진다는 것을 확인할 수 있었다. 도 31(b)와 같이 상위 비트 그룹의 분할 레벨이 4 bit인 경우 메모리(4)에 저장되는 압축 데이터의 압축률도 가장 높아 분할 비트 룩업 테이블(9)과 메모리(4) 모두 픽셀 데이터를 1/2로 분할하는 것이 가장 높은 메모리 용량 절감 효과를 얻을 수 있었다. 또한, 픽셀 데이터를 1/2로 분할하는 경우 상위 비트 그룹의 크기와 하위 비트 그룹의 크기가 동일하여 룩업 테이블 및 압축시에 별도로 비트폭을 확장하는 등의 추가 연산이 필요 없어지는 장점도 있다. As can be seen in FIG. 31 (a), applying the global scale factor does not significantly reduce the error range as shown in FIG. 28, and thus there is no significant difference in the amount of the entire lookup table compared to the operation calculated only by the result of the upper bit group. In the case of applying the scale factor, it can be seen that the overall lookup table amount can be greatly reduced due to the reduction of the error range. It was confirmed that the lookup table ROM count (LUTC) is the lowest when the division level of the upper bit group is 4 bits, that is, when the pixel data is divided into 1/2. As shown in (b) of FIG. 31, when the partition level of the upper bit group is 4 bits, the compression rate of the compressed data stored in the memory 4 is also the highest, so that the split bit lookup table 9 and the memory 4 both have pixel data 1/1. Dividing by 2 yields the highest memory capacity savings. In addition, when the pixel data is divided into 1/2, the size of the upper bit group is the same as the size of the lower bit group, so that an additional operation such as extending the bit width separately during the lookup table and compression is unnecessary.

전술한 데이터 압축 및 복원장치와, 분할 비트 룩업 테이블 장치 및 방법은 공통적인 픽셀 데이터 분할을 바탕으로 연동 가능하며, 분할 비트 룩업 테이블 장치 및 방법은 복원장치(200)를 거치지 않고 압축 픽셀 데이터 형태로 연산이 가능하다. 이러한 연동 구조를 통하여 압축 픽셀 데이터를 통한 룩업 테이블 연산이 가능해짐으로써 모듈 간 데이터 억세스 율을 감소킬 수 있고, 중복적인 상위 비트 그룹의 연산을 생략하여 룩업 테이블을 통한 연산량 또한 감소되어 전체적인 파워 소모를 감소시킬 수 있다. The above-described data compression and decompression device and the partitioned bit lookup table device and method can be linked based on common pixel data partitioning, and the partitioned bit lookup table device and method are in the form of compressed pixel data without passing through the decompression device 200. Operation is possible. Through this interlocking structure, the lookup table operation through compressed pixel data can be reduced, and the data access rate between modules can be reduced, and the amount of calculation through the lookup table is reduced by eliminating redundant upper bit group operations, thereby reducing the overall power consumption. Can be reduced.

도 32는 본 발명의 또 다른 실시예에 따른 분할 비트 룩업 테이블 장치를 나타낸다. 32 illustrates a split bit lookup table apparatus according to another embodiment of the present invention.

도 32를 참조하면, 분할 비트 룩업 테이블 장치는 분할 비트 정렬부(15), 에러 룩업 테이블(12), 분할 비트 룩업 테이블(9), 룩업 테이블 연산 결과 합산 부(13) 등을 구비한다. Referring to FIG. 32, the split bit lookup table apparatus includes a split bit sorter 15, an error lookup table 12, a split bit lookup table 9, a lookup table operation result adder 13, and the like.

분할 비트 정렬부(15)는 메모리(42)로부터 압축 픽셀 데이터를 입력받아 풀 픽셀 데이터와 분할 픽셀 데이터를 생성하고 각각 에러 룩업 테이블(12)과 분할 비트 룩업 테이블(9)에 공급한다. 이를 상세히 하면, 분할 비트 정렬부(15)는 메모리(42)로부터 입력된 픽셀 데이터의 플래그를 통해 그 픽셀 데이터의 압축 저장 형태를 판단한다. 플래그가 0이면 픽셀 데이터의 partial pixel 1이 상위 비트 그룹이고 partial pixel 2가 하위 비트 그룹이다. 반면에, 플래그가 1이면 partial pixel 1 및 partial pixel 2는 모두 하위 비트 그룹이다. 분할 비트 정렬부(15)는 플래그가 0일 때 상위 비트 그룹을 래치(151)에 저장한다. 그리고 분할 비트 정렬부(15)는 상위 비트 그룹이 없는 픽셀 데이터가 입력될 때 즉, 플래그가 1인 픽셀 데이터가 입력될 때 래치(12)에 저장한 상위 비트 그룹과, 멀티플렉서(152)를 통해 입력된 하위 비트 그룹을 풀 픽셀 데이터로 조합하여 에러 룩업 테이블(12)에 공급한다. 멀티플렉서(152)는 플래그가 1인 픽셀 데이터가 입력될 때 partitioned pixel 1, 2를 순차적으로 출력한다. The divided bit aligner 15 receives the compressed pixel data from the memory 42 to generate the full pixel data and the divided pixel data, and supplies them to the error lookup table 12 and the divided bit lookup table 9, respectively. In detail, the division bit alignment unit 15 determines the compressed storage form of the pixel data through the flag of the pixel data input from the memory 42. If the flag is 0, partial pixel 1 of the pixel data is the upper bit group and partial pixel 2 is the lower bit group. On the other hand, if the flag is 1, partial pixel 1 and partial pixel 2 are both lower bit groups. The division bit alignment unit 15 stores the upper bit group in the latch 151 when the flag is zero. When the pixel data without the upper bit group is input, that is, when the pixel data having the flag 1 is input, the division bit alignment unit 15 stores the upper bit group stored in the latch 12 through the multiplexer 152. The input lower bit group is combined into full pixel data and supplied to the error lookup table 12. The multiplexer 152 sequentially outputs partitioned pixels 1 and 2 when pixel data having a flag of 1 is input.

분할 비트 룩업 테이블(9)은 분할 픽셀 데이터를 입력 받아 미리 설정된 분할 비트 룩업 테이블 함수로 연산하며, 에러 룩업 테이블(12)은 풀 픽셀 데이터를 입력받아 미리 설정된 에러 보정 함수를 연산한다. 룩업 테이블 연산 결과 합산부(13)는 분할 비트 룩업 테이블(9)과 에러 룩업 테이블(12)의 연산 결과를 합산하여 최종 결과를 생성한다. The split bit lookup table 9 receives the divided pixel data and calculates the split bit lookup table by using a preset bit lookup table function, and the error lookup table 12 receives the full pixel data and calculates a preset error correction function. The lookup table operation result adder 13 adds the operation results of the split bit lookup table 9 and the error lookup table 12 to generate a final result.

룩업 테이블 연산 결과 합산부(13)는 에러 룩업 테이블(12)과 분할 비트 룩 업 테이블(9)의 연산 결과를 합산하여 최종 결과를 생성한다. 룩업 테이블 연산 결과 합산부(13)는 멀티플렉서(132), 쉬프터(133), 래치(134), 제 1 및 제 2 가산기(135, 136) 등을 구비한다. 멀티플렉서(132)는 픽셀 데이터의 플래그에 응답하여 분할 비트 룩업 테이블(9)에서 연산된 상위 비트 그룹과 하위 비트 그룹의 전송 패스를 절환한다. 멀티 플렉서(132)는 분할 비트 룩업 테이블(9)로부터 상위 비트 그룹의 연산 결과가 입력되면, 그 상위 비트 그룹의 연산 결과를 래치(134)에 공급한다. 반면에, 멀티 플렉서(132)는 분할 비트 룩업 테이블(9)로부터 하위 비트 그룹의 연산 결과가 입력되면 그 하위 비트 그룹의 연산 결과에 스케일 팩터가 적용될 수 있도록 하위 비트 그룹의 연산 결과를 쉬프터(133)에 공급한다. 제 1 가산기(135)는 스케일 팩터가 적용된 하위 비트 그룹의 연산 결과와, 래치(134)로부터 입력된 상위 비트 그룹의 연산 결과를 합산한다. 쉬프터(133)는 풀 픽셀 데이터의 상위 비트 그룹을 사용하여 스케일 팩터 룩업 테이블(131)에 미리 저장된 스케일 팩터를 입력마다 스케일 팩터 만큼 하위 비트 그룹의 연산 결과를 우측으로 쉬프트(shift right)하여 하위 비트 그룹의 연산 결과에 스케일 팩터를 적용한다. 이렇게 생성된 상위 비트 그룹의 연산 결과와 스케일 팩터가 적용된 하위 비트 그룹의 연산 결과 및 에러 룩업 테이블의 연산 결과는 제 2 가산기(136)에 의해 최종 룩업 테이블 연산 결과로 합산된다. The lookup table calculation result adder 13 adds the calculation results of the error lookup table 12 and the split bit lookup table 9 to generate a final result. The lookup table operation result adder 13 includes a multiplexer 132, a shifter 133, a latch 134, first and second adders 135 and 136, and the like. The multiplexer 132 switches the transmission paths of the upper bit group and the lower bit group calculated in the split bit lookup table 9 in response to the flag of the pixel data. When the operation result of the upper bit group is input from the split bit lookup table 9, the multiplexer 132 supplies the operation result of the upper bit group to the latch 134. On the other hand, when the operation result of the lower bit group is input from the split bit lookup table 9, the multiplexer 132 shifts the operation result of the lower bit group so that the scale factor is applied to the operation result of the lower bit group. 133). The first adder 135 sums the operation result of the lower bit group to which the scale factor is applied and the operation result of the upper bit group input from the latch 134. The shifter 133 shifts the scale factor prestored in the scale factor lookup table 131 using the upper bit group of the full pixel data to the right by the scale factor for each input to the right. Apply the scale factor to the group's result. The operation result of the generated upper bit group, the operation result of the lower bit group to which the scale factor is applied, and the operation result of the error lookup table are added by the second adder 136 to the final lookup table operation result.

LCD는 홀드 타입 구동 특성으로 인하여 모션 블러(Mortion Blur)가 발생된다. 모션 블러는 LCD에 동영상을 표시할 때 화질저하의 가장 큰 원인이다. 모션 블러 문제를 개선하기 위한 방법으로, 움직임 추정 보상(Motion Estimaion/Motion Compensation, ME/MC)을 이용한 프레임 레이트 향상(Frame Rate Enhancement) 방법이 효과적이다. 프레임 레이트 향상 방법은 전, 후 프레임간의 모션을 추정하여 보상된 보간 이미지 프레임을 생성하고 그 보간 이미지 프레임을 전, 후 프레임 간에 삽입하여 프레임 레이트를 높인다. 기존 움직인 예측 방법은 Pel-recursive, BMA(Block Matching Algorithm) 등이 알려져 있으나 막대한 연산양과 데이터 억세스 레이트가 높아 전력 소모가 크고 비효율적인 문제가 있었다. The LCD generates a motion blur due to the hold type driving characteristic. Motion blur is the leading cause of image degradation when displaying video on the LCD. As a method for improving the motion blur problem, a frame rate enhancement method using motion estimation and motion compensation (ME / MC) is effective. The frame rate enhancement method increases the frame rate by generating a compensated interpolated image frame by estimating motion between before and after frames and inserting the interpolated image frame between before and after frames. Pel-recursive and Block Matching Algorithm (BMA) are known as the existing moving methods. However, due to the huge amount of computation and high data access rate, power consumption is large and inefficient.

본 발명의 또 다른 실시예는 전술한 데이터 압축 방법과 연동하여 움직임 예측에 필요한 연산량을 줄여 하드웨어 복잡도와 코스트를 낮추어 효과적으로 모션 블러를 제거할 수 있다. 이하에서, 데이터 압축 방법과 연동하여 움직임 예측을 수행하는 방법을 CBMA(Compressed BMA) 움직임 추정방법으로 정의하기로 한다. Another embodiment of the present invention can effectively remove motion blur by reducing hardware complexity and cost by reducing the amount of computation required for motion prediction in conjunction with the aforementioned data compression method. Hereinafter, a method of performing motion prediction in conjunction with a data compression method will be defined as a compressed BMA motion estimation method.

CBMA 움직임 추정방법은 기존 연산비용 절감 방안과 메모리 압축의 연동으로 모션 예측(ME)에 필요한 연산의 효율성을 극대화한다. CBMA 움직임 추정방법은 도 33과 같이 압축 블록의 상위 레퍼런스 비트를 바탕으로 감소된 픽셀 프리시젼(Reduced Pixel Precision)을 기준으로 하여 블록간 비교를 한다. CBMA 움직임 추정방법에서는, 픽셀 데이터 블록단위로 픽셀데이터 압축-복원을 하여 움직임 벡터 연산을 수행하게 되며, 압축 블록의 크기를 m × m 으로 정하는 경우 m 픽셀 거리의 서브-샘플을 통하여 m 픽셀 단위의 움직임 벡터를 산출한다. 이러한 CBMA 움직임 추정방법의 효과는 연산 비용의 대폭 감소로 기존의 FBMA와 유사한 PSNR로 효과적인 프레임 레이트 확장을 수행할 수 있으며, 메모리 억세스 레이트와 하드웨어 복잡도를 감소시키는 장점이 있다. The CBMA motion estimation method maximizes the efficiency of computation required for motion prediction (ME) by linking existing computation cost reduction schemes and memory compression. The CBMA motion estimation method compares blocks based on reduced pixel precision based on the upper reference bits of the compressed block as shown in FIG. 33. In the CBMA motion estimation method, a motion vector operation is performed by compressing and restoring pixel data in a pixel data block unit. When a size of a compressed block is determined as m × m, a subpixel of m pixel unit is determined through a sub-sample of m pixel distance. Calculate the motion vector. The effect of the CBMA motion estimation method is that the operation cost can be effectively extended to PSNR similar to the existing FBMA due to the drastically reducing the computational cost, and the memory access rate and hardware complexity are reduced.

CBMA 움직임 추정방법에서 메모리 압축을 통한 연산비용 절감 효과는 도 33에서 확인할 수 있다. 오리지널 픽셀 폭(Original Pixel Width)이 8 bit일 때, 본 발명에서 감소된 픽셀 폭은 PPC 또는 TPPC를 이용한 메모리 압축 결과 4 bit 이하이다. 따라서, 본 발명은 메모리 데이터 압축을 통하여 연산비용 절감이 가능하고, 전반적인 메모리 억세스 레이트를 감소시킬 수 있으며, 감소된 비교 픽셀 비트로 연산비용을 절감하고 하드웨에 복잡도를 감소시킬 수 있다. In the CBMA motion estimation method, an operation cost saving effect through memory compression can be seen in FIG. 33. When the original pixel width is 8 bits, the reduced pixel width in the present invention is 4 bits or less as a result of memory compression using PPC or TPPC. Accordingly, the present invention can reduce the computational cost through memory data compression, reduce the overall memory access rate, and reduce the computational cost and complexity in the hardware with the reduced comparison pixel bits.

CBMA 움직임 추정방법은 도 34와 같이 서브 샘플링을 실시한다. 서브 샘플링에서, 연산량은 매크로 블록(MB) 사이즈의 샘플링 디스턴스(Sampling-distance)의 제곱에 비례하여 절감되고, 샘플링 디스턴스가 2 pixel인 경우 연산비용 절감 대비 PSNR 감소가 적다. 매크로 블록(MB) 사이즈에 따른 PSNR 감소 변화는 거의 없다. In the CBMA motion estimation method, subsampling is performed as shown in FIG. In the subsampling, the amount of calculation is reduced in proportion to the square of the sampling distance of the macro block (MB) size, and the PSNR decrease is less than the operation cost reduction when the sampling distance is 2 pixels. There is almost no change in PSNR reduction according to the size of the macro block (MB).

CBMA 움직임 추정방법에 있어서, 도 36과 같이 움직임 추정 연산을 위한 압축 매크로 블록(m×m, m은 2 이상의 양의 정수로써 도 35의 경우에 m=2)을 통합하여 보다 큰 매크로 블록(n×n, n은 m 보다 큰 양의 정수로써 도 36의 경우에 n=16)으로 그루핑하여, 움직임 벡터의 정확도를 향상할 수 있다. 이 방법은 작은 매크로 블록 사이즈에 따른 노이즈 문제를 해결하여 움직임 벡터(MV)의 정확도를 증가시키고 작은 매크로 블록 사이즈 대비 연산비용을 절감시킬 수 있다. In the CBMA motion estimation method, as shown in FIG. 36, a compressed macro block (m × m, m is a positive integer of 2 or more, m = 2 in the case of FIG. Xn and n are positive integers larger than m, grouping at n = 16 in the case of FIG. 36, so that the accuracy of the motion vector can be improved. This method solves the noise problem due to the small macro block size, thereby increasing the accuracy of the motion vector (MV) and reducing the computational cost compared to the small macro block size.

CBMA 움직임 추정방법의 움직임 벡터의 정확도 향상을 위한 보조 움직임 추정 연산을 수행하기 위하여, 도 37과 같이 상기 m×m 매크로 블록(MB)의 움직임 벡터를 산출한 후, 이를 바탕으로 다시 보조 움직임 벡터(Auxilliary MV)를 계산한 다. 보조 움직임 벡터는 움직인 추정 예측 연산시에 주변의 움직임 벡터를 바탕으로 움직임 벡터(MV)의 개선에 이용된다. 상기 움직임 벡터 개선시에는 프레임 레이트 확장여부 판단과 전후 프레임에서 빈 영역(empty region)과 겹치는 영역(overlapped region) 해결을 위해 이용 가능하다. CBMA 움직임 추정방법의 보조 움직임 보정은 BMA를 통한 보간(Interpolation)으로 발생되는 빈 픽셀 데이터 영역에 대처하여 움직임 보정의 낮은 신뢰성을 향상시킬 수 있고, 모션 벡터의 시간 의존성(temporal dependency)를 고려한 연산비용을 절감할 수 있다.In order to perform an auxiliary motion estimation operation for improving the accuracy of the motion vector of the CBMA motion estimation method, after calculating the motion vector of the m × m macroblock MB as shown in FIG. 37, the auxiliary motion vector ( Auxilliary MV) is calculated. The auxiliary motion vector is used for the improvement of the motion vector (MV) based on the surrounding motion vector at the time of the estimated estimation operation. When the motion vector is improved, it can be used for determining whether to expand the frame rate and for solving an overlapped region in an empty region in the before and after frames. The auxiliary motion compensation of the CBMA motion estimation method can improve the low reliability of motion compensation by coping with the empty pixel data region generated by interpolation through BMA, and calculate operation cost considering the temporal dependency of motion vector. Can reduce the cost.

도 37은 도 33 내지 도 36에 기술한 내용을 바탕으로 전술한 데이터 압축 방법과 연동하여 움직임 벡터를 연산하는 방법을 나타낸다. 입력된 프레임 데이터는 메모리 데이터 압축 장치에서 압축되어 압축 프레임 메모리로 저장되며 동시에 CBMA 움직임 추정 장치에 현재 프레임 데이터로 입력된다. 압축 프레임 메모리에 미리 저장된 압축된 형태의 이전 프레임 데이터 또한 CBMA 움직임 추정 장치로 입력되어 전술한 서브 샘플링과 픽셀 프리시젼 감소를 통해 움직임 벡터를 연산한다. 그리고 이 움직임 벡터를 통해 도 35에 기술한 매크로 블록 그룹핑을 수행하여 정확도가 높은 움직임 벡터를 산출하게 되고 도 36에 기술한 보조 움직임 연산을 통해 움직임 벡터의 정확도를 보다 향상하여 최종적으로 움직임 벡터를 생성한다. FIG. 37 illustrates a method of calculating a motion vector in conjunction with the aforementioned data compression method based on the contents described with reference to FIGS. 33 to 36. The input frame data is compressed by the memory data compression apparatus and stored in the compressed frame memory, and simultaneously input to the CBMA motion estimation apparatus as current frame data. The previous frame data of the compressed form previously stored in the compressed frame memory is also input to the CBMA motion estimation apparatus to calculate a motion vector through the aforementioned subsampling and pixel precision reduction. Then, the macroblock grouping described in FIG. 35 is performed through this motion vector to calculate a highly accurate motion vector, and the auxiliary motion operation described in FIG. 36 further improves the accuracy of the motion vector to finally generate the motion vector. do.

본 발명의 데이터 압축 및 복원 장치 및 방법은 LCD뿐만 아니라 FED, PDP 및 OLED 등 다른 평판 표시 장치의 데이터 압축 및 복원에도 적용될 수 있다. The data compression and decompression apparatus and method of the present invention can be applied to data compression and decompression of not only LCD but also other flat panel display devices such as FED, PDP and OLED.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발 명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

도 1은 본 발명의 실시예에 따른 PPC 알고리즘의 압축 및 복원 원리를 알기 쉽게 도식화한 도면이다. 1 is a diagram schematically illustrating a compression and decompression principle of a PPC algorithm according to an embodiment of the present invention.

도 2는 하위 bit 잘라버림 이미지들로써 (a)는 원본 이미지 (b)는 하위 1 bit 잘라내림, (c)는 하위 2 bit 잘라버림 이미지, (d)는 1 또는 2 bit 잘라버림 이미지이다. 2 is a lower bit truncated image, (a) an original image (b) is a lower 1 bit trimmed image, (c) a lower 2 bit truncated image, and (d) is a 1 or 2 bit truncated image.

도 3은 본 발명의 실시예에 따른 TPPC 알고리즘의 압축 및 복원 원리를 알기 쉽게 도식화한 도면이다. 3 is a diagram schematically illustrating the compression and decompression principle of the TPPC algorithm according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 PFC 알고리즘에서 고정 런랭스 타입의 압축 및 복원 원리를 알기 쉽게 도식화한 도면이다. 4 is a diagram schematically illustrating a compression and decompression principle of a fixed run length type in a PFC algorithm according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 런 랭스 인코딩을 이용한 압축 및 복원 원리를 알기 쉽게 도식화한 도면이다. 5 is a diagram schematically illustrating a compression and decompression principle using run length encoding according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 PPC, TPPC, PFC, 및 RLE 각각에서 데이터 저장 형식을 보여 주는 도면이다. 6 is a diagram illustrating a data storage format in each of PPC, TPPC, PFC, and RLE according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 평판 표시 장치의 데이터 압축 및 복원 장치를 나타내는 블록도이다. 7 is a block diagram illustrating a data compression and decompression device of a flat panel display device according to an exemplary embodiment of the present invention.

도 8은 도 7에 도시된 데이터 압축장치를 상세히 보여 주는 블록도이다. 8 is a block diagram showing in detail the data compression apparatus shown in FIG.

도 9는 파셜 타입의 압축방법에서 비교 범위에 따른 압축 패턴과 압축률의 변화를 설명하기 위한 도면이다.9 is a view for explaining the change in the compression pattern and compression ratio according to the comparison range in the partial type compression method.

도 10은 도 7에 도시된 데이터 복원장치를 상세히 보여 주는 블록도이다.FIG. 10 is a block diagram illustrating in detail the apparatus for restoring data shown in FIG. 7.

도 11은 도 7에 도시된 적응적 압축 모드 예측 장치를 상세히 보여 주는 블록도이다. FIG. 11 is a detailed block diagram illustrating an adaptive compression mode prediction apparatus illustrated in FIG. 7.

도 12는 동영상 이미지 시퀀스의 일예를 나타내는 도면이다. 12 is a diagram illustrating an example of a video image sequence.

도 13은 도 12와 같은 동영상 이미지에서 본 발명의 압축 알고리즘 각각으로 데이터를 압축할 때 압축 알고리즘 각각에서의 압축률을 보여 주는 그래프이다.FIG. 13 is a graph showing a compression ratio in each of the compression algorithms when data is compressed by each of the compression algorithms of the present invention in the moving image as shown in FIG. 12.

도 14는 이미지 슬로프와 압축률의 상관관계를 보여 주는 도면이다. 14 is a diagram illustrating a correlation between an image slope and a compression ratio.

도 15는 실험 이미지의 각 알고리즘에 따른 압축률을 구한 결과를 보여 주는 도면이다. 15 is a diagram illustrating a result of obtaining a compression ratio according to each algorithm of an experimental image.

도 16은 이미지 상태에 따른 압축률를 보여 주는 도면이다. 16 is a diagram illustrating a compression ratio according to an image state.

도 17은 PPC 알고리즘, TPPC 알고리즘, PFC 알고리즘과 기존 무손실 압축 알고리즘 각각의 압축률을 실험 이미지들에 대하여 비교한 결과를 도면이다.17 is a diagram illustrating a result of comparing the compression ratios of the PPC algorithm, the TPPC algorithm, the PFC algorithm, and the existing lossless compression algorithm with respect to the experimental images.

도 18은 PPC 알고리즘, TPPC 알고리즘, PFC 알고리즘, 및 RLE 알고리즘의 연산속도를 비교한 실험 결과를 나타내는 도면이다. 18 is a diagram illustrating experimental results in which the computation speeds of the PPC algorithm, the TPPC algorithm, the PFC algorithm, and the RLE algorithm are compared.

도 19는 도 8에 도시된 포지션 벨류 쉬프터를 상세히 보여 주는 회로도들이다. 19 is a circuit diagram showing in detail the position value shifter shown in FIG.

도 20은 도 19에 되된 포지션 벨류 쉬프터를 통해 도 8에 도시된 RLE 인코더를 구현하는 일예를 나타내는 도면이다. FIG. 20 is a diagram illustrating an example of implementing the RLE encoder illustrated in FIG. 8 through the position value shifter illustrated in FIG. 19.

도 21은 PFC 인코더를 상세히 나타내는 회로도이다. 21 is a circuit diagram illustrating a PFC encoder in detail.

도 22는 본 발명의 실시예에 따른 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치의 히스토그램 간소화 원리를 설명하는 그래프이다. 22 is a graph illustrating a histogram simplification principle of a method and apparatus for controlling data compression interlocking histogram data according to an embodiment of the present invention.

도 23은 본 발명의 실시예에 따른 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치에서 히스토그램 간소화 효과를 보여 주는 화질 평가 및 데이터양 비교 그래프들이다. FIG. 23 is a graph illustrating image quality evaluation and data amount comparison showing a histogram simplification effect in a method and apparatus for controlling data compression-linked histogram data according to an embodiment of the present invention.

도 24는 본 발명의 실시예에 따른 데이터 압축 연동 히스토그램 데이터 제어방법 및 장치에서 압축 픽셀 데이터를 이용하여 계조구간이 감소된 히스토그램 연산방안을 보여 주는 도면이다. FIG. 24 is a diagram illustrating a histogram calculation scheme in which a gradation interval is reduced by using compressed pixel data in a data compression interlocked histogram data control method and apparatus according to an exemplary embodiment of the present invention.

도 25는 본 발명의 실시예에 따른 데이터 압축 연동 히스토그램 데이터 제어 장치를 보여 주는 블록도이다. 25 is a block diagram illustrating an apparatus for controlling data compression interlocking histogram data according to an embodiment of the present invention.

도 26은 도 25에 도시된 계조 구간별 히스토그램 연산 장치을 상세히 나타내는 블록도이다. FIG. 26 is a block diagram illustrating in detail a histogram calculating apparatus for each gray level shown in FIG. 25.

도 27은 메모리와 연동 가능한 분할 비트 룩업 테이블을 나타내는 도면이다. FIG. 27 is a diagram illustrating a split bit lookup table that can be linked with a memory.

도 28은 에러 변화에 따른 스케일 팩터 적용을 나타내는 도면이다. 28 is a diagram illustrating a scale factor application according to an error change.

도 29는 본 발명의 실시예에 따른 분할 비트 룩업 테이블 장치를 보여 주는 블록도이다. 29 is a block diagram illustrating a split bit lookup table apparatus according to an embodiment of the present invention.

도 30은 본 발명의 다른 실시예에 따른 분할 비트 룩업 테이블 장치를 개략적으로 나타낸 블록도이다. 30 is a block diagram schematically illustrating a split bit lookup table apparatus according to another embodiment of the present invention.

도 31은 도 30과 같은 분할 비트 룩업 테이블 장치의 효과를 입증하기 위한 실험 결과 도면이다. FIG. 31 is a diagram of an experimental result for verifying the effect of the split bit lookup table apparatus of FIG. 30.

도 32는 본 발명의 또 다른 실시예에 따른 분할 비트 룩업 테이블 장치를 나타내는 블록도이다.32 is a block diagram illustrating a split bit lookup table apparatus according to another embodiment of the present invention.

도 33 내지 도 37은 데이터 압축 연동 움직임 추정 알고리즘을 설명하기 위한 도면들이다. 33 to 37 are diagrams for describing a data compression coordinated motion estimation algorithm.

〈도면의 주요 부분에 대한 부호의 설명〉Description of the Related Art

1, 7 : 버퍼 2 : 비교기1, 7: Buffer 2: Comparator

3 : 인코더 4 : 메모리3: encoder 4: memory

5 : 적응적 압축 모드 예측 장치 6 : 디코더5: adaptive compression mode prediction device 6: decoder

421 : 파셜 픽셀 인코더 422 : 풀 픽셀 인코더421: Partial Pixel Encoder 422: Full Pixel Encoder

423 : 포지션 벨류 쉬프터 424 : 감산기423: position value shifter 424: subtractor

43 : 패스 트랜지스터 어레이43: Pass Transistor Array

Claims (18)

n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축 알고리즘별 압축률과 상기 픽셀 데이터들 간의 기울기 차이의 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코딩 단계; A PPC compression algorithm that generates a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputs the flag instead of the upper bits, and some of the remaining lower bits except for the same upper bits in the pixel data PFC to remove the higher bits and to selectively remove the higher bits or to compress the same pixel data within a continuous constant pixel data length by further removing a and partially sharing the compression scheme with the TPPC compression algorithm, the PPC, and the TPPC compression algorithm that generate the flag. PPC, TPPC & PFC encoding step of selecting any one of the compression algorithm according to the compression ratio of each compression algorithm of the previous frame and the average value of the slope difference between the pixel data to output the compressed pixel data; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코딩 단계;An RLE encoding step of outputting compressed pixel data by removing the pixel data consecutive in run length encoding (RLE); 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코딩 출력과 상기 RLE 인코딩 출력 중 어느 하나를 선택하여 메모리에 저장하는 단계; 및 Selecting one of the PPC, TPPC & PFC encoding output and the RLE encoding output according to a compression algorithm selected based on the compression ratio and the slope between the pixel data and storing in the memory; And 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 따라 복원 알고리즘을 선 택하여 상기 압축 데이터를 복원하는 단계를 포함하고, Reconstructing the compressed data by selecting a reconstruction algorithm according to a slope between the compression rate and the pixel data, 상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축하고, The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. Compressing the pixel data by using a full bit type for generating a code indicating a number of times, an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different, 상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이터들의 하위 비트들이 모아진 하위 비트 그룹을 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. The compressed data stored in the memory includes a lower bit group in which lower bits of pixel data having the same upper bits are collected. 제 1 항에 있어서,The method of claim 1, 상기 PPC 인코딩 단계는,The PPC encoding step, n 번째 및 n + 1 번째 픽셀 데이터의 상기 상위 비트들이 이전 픽셀 데이터의 상위 비트들과 동일하면 n 번째 픽셀 데이터의 하위 비트들과 n + 1 번째 픽셀 데이터의 하위 비트들을 상위 비트들의 동일성을 지시하는 제 1 논리값의 상기 플래그를 최하위 비트로 하여 압축 데이터로 상기 메모리에 저장하는 단계; 및 If the upper bits of the n th and n + 1 th pixel data are the same as the upper bits of the previous pixel data, the lower bits of the n th pixel data and the lower bits of the n + 1 th pixel data indicate the identity of the upper bits. Storing the flag of the first logical value as the least significant bit in the memory as compressed data; And 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상위 비트들이 다르면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 함께 상기 상위 비트들이 상이함을 지시하는 제 2 논리값의 플래그를 최하위 비트로 하여 압축 데 이터로 상기 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. If the upper bits of the previous pixel data and the upper bits of the n-th pixel data are different, the flag of the second logical value indicating that the upper bits are different together with all the lower lower bits of the n-th pixel data is changed to the least significant bit. And storing the data in the memory as compressed data. 제 2 항에 있어서,The method of claim 2, 상기 PFC 인코딩 단계는,The PFC encoding step, 상기 n 번째 및 상기 n + 1 번째 픽셀 데이터의 상위 비트들이 상기 이전 픽셀 데이터의 상위 비트들과 동일하면 상기 n 번째 픽셀 데이터의 하위 비트들과 상기 n + 1 번째 픽셀 데이터의 하위 비트들을 상위 비트들의 동일성을 지시하는 제 1 논리값의 상기 플래그와 함께 상기 압축 데이터로 상기 메모리에 저장하는 단계; If the upper bits of the n-th and n + 1th pixel data are the same as the upper bits of the previous pixel data, the lower bits of the n-th pixel data and the lower bits of the n + 1-th pixel data of the upper bits Storing in the memory as the compressed data with the flag of a first logical value indicating identity; 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상위 비트들이 다르면 상기 상위 비트들이 상이함을 지시하는 상기 제 2 논리값을 플래그에 지정하는 단계;Assigning a flag to the second logical value indicating that the upper bits are different if the upper bits of the previous pixel data and the upper bits of the n-th pixel data are different; 상기 플래그가 제 2 논리값을 가지고 상기 n 번째 픽셀 데이터와 상기 n + 1번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들의 상 하위 전체 비트들이 같으면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 상기 n + 1 번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들이 동일함을 지시하는 제 1 논리값의 코드(code)를 상기 제 2 논리값의 플래그와 함께 상기 압축데이터로 상기 메모리에 저장하는 단계; 및And if the flag has a second logic value and the lower whole bits of the n th pixel data, the n + 1 pixel data, and the n + 2 th pixel data are the same, the upper lower whole bits of the n th pixel data and the storing a code of a first logic value indicating that n + 1 pixel data and the n + 2th pixel data are the same as the compressed data in the memory with the flag of the second logic value; And 상기 플래그가 제 2 논리값을 가지고 상기 n 번째 픽셀 데이터와 상기 n + 1번째 픽셀 데이터와 상기 n + 2번째 픽셀 데이터들의 상 하위 전체 비트들이 다르 면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 상기 n + 1 번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들이 상이함을 지시하는 제 2 논리값의 상기 코드를 제 2 논리값의 상기 플래그와 함께 상기 압축데이터로 상기 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. If the flag has a second logical value and the upper lower whole bits of the n th pixel data, the n + 1 th pixel data and the n + 2 th pixel data are different, the upper lower whole bits of the n th pixel data; Storing said code of a second logic value indicating that said n + 1st pixel data and said n + 2nd pixel data are different as said compressed data in said memory with said flag of a second logic value; And a data compression-restore method for the flat panel display memory. 제 3 항에 있어서,The method of claim 3, wherein 상기 TPPC 인코딩 단계는,The TPPC encoding step, 상기 n 번째 및 상기 n + 1 번째 픽셀 데이터의 상기 상위 비트들이 상기 이전 픽셀 데이터의 상기 상위 비트들과 동일하면 상기 n 번째 픽셀 데이터의 하위 비트들과 상기 n + 1 번째 픽셀 데이터의 하위 1 비트 이상을 선택적으로 제거하여 상기 상위 비트들의 동일성을 지시하는 상기 제 1 논리값의 플래그와 함께 상기 압축 데이터로 상기 메모리에 저장하는 단계; 및The lower bits of the nth pixel data and the lower 1 bit of the n + 1th pixel data if the upper bits of the nth and n + 1th pixel data are the same as the upper bits of the previous pixel data. Selectively removing a and storing the compressed data in the memory together with a flag of the first logical value indicating the identity of the upper bits; And 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상기 상위 비트들이 다르면 상기 하위 비트를 선택적으로 제거한 상기 n 번째 픽셀 데이터와 함께 상기 상위 비트들이 상이함을 지시하는 상기 제 2 논리값의 플래그를 최하위 비트로 하여 상기 압축 데이터로 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. A flag of the second logical value indicating that the upper bits are different together with the nth pixel data from which the lower bit is selectively removed when the upper bits of the previous pixel data and the upper bits of the nth pixel data are different And storing the compressed data in the memory with the least significant bit as the least significant bit. 제 2 항 내지 제 4 항 중 어느 한 항에 있어서,The method according to any one of claims 2 to 4, 상기 압축 데이터를 복원하는 단계는, Restoring the compressed data, 상기 모든 압축 방법을 역으로 적용하여 원 픽셀 데이터를 복원하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법.And restoring original pixel data by applying all of the compression methods inversely to the data compression-restore method for the flat panel display memory. 제 1 항에 있어서,The method of claim 1, 상기 RLE 인코딩 단계는,The RLE encoding step, 복수의 포지션 벨류 쉬프터를 복수의 비교기와 연결하여 연속적으로 입력되는 상기 픽셀 데이터들에서 동일한 픽셀 데이터들 간의 경계를 검출하기 위한 상기 픽셀 데이터의 위치를 지시하는 포지션 벨류들(Position Value)을 발생하는 단계;Connecting a plurality of position value shifters with a plurality of comparators to generate position values indicating a position of the pixel data for detecting a boundary between identical pixel data in the consecutively inputted pixel data; ; 상기 포지션 밸류 쉬프터를 통한 상기 포지션 밸류들을 한 클럭에 발생시키기 위한 토큰(Token)을 발생하고 동일한 픽셀 데이터들 간의 경계에 위치한 상기 포지션 밸류 쉬프터에 매 클럭마다 전달하는 단계;Generating a token for generating the position values through the position value shifter at one clock and transferring the token to the position value shifter located at a boundary between the same pixel data; 상기 포지션 밸류 쉬프터를 통해 동일한 픽셀 데이터들 간의 경계 포지션 밸류를 래치-마스터와 래치-슬레이브에 매 클럭마다 순차적으로 전달하는 단계; 및 Sequentially transferring the boundary position values between the same pixel data to the latch master and the latch slave every clock through the position value shifter; And 상기 복수의 포지션 밸류 쉬프터에 연결된 래치-마스터와 래치-슬레이브와 감산기를 통해 상기 포지션 벨류들의 차를 산출하여 런 랭스를 발생하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법.Calculating a difference between the position values through a latch-master, a latch-slave, and a subtractor connected to the plurality of position value shifters to generate a run length. Way. 비교기를 이용하여 n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하고, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축 알고리즘별 압축률과 상기 픽셀 데이터들 간의 기울기 차이의 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코더; Determining whether the upper bits are the same by comparing the upper bits of the n (n is a positive integer) th and n + 1st pixel data X with the upper bits of previous pixel data preceding the n th pixel data using a comparator And a PPC compression algorithm for generating a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputting the flag instead of the upper bits, and the remaining lower bits except for the same upper bits in the pixel data. Partially share a compression scheme with the TPPC compression algorithm, the PPC, and the TPPC compression algorithm to further remove some of the flag and generate the flag, selectively removing the upper bits or compressing the same pixel data within a continuous constant pixel data length. One of the previous frames in the PFC compression algorithm A PPC, TPPC & PFC encoder that selects and outputs the compressed pixel data according to a compression ratio for each compression algorithm and an average value of a slope difference between the pixel data; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코더;An RLE encoder for removing the pixel data consecutive in run length encoding (RLE) to output compressed pixel data; 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코더의 출력과 상기 RLE 인코더의 출력 중 어느 하나를 선택적으로 저정하는 메모리; 및 A memory for selectively storing any one of an output of the PPC, TPPC & PFC encoder and an output of the RLE encoder according to a compression algorithm selected based on the compression ratio and the slope between the pixel data; And 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 따라 복원 알고리즘을 선택하여 상기 압축 데이터를 복원하는 디코더를 구비하고, And a decoder configured to reconstruct the compressed data by selecting a reconstruction algorithm according to the slope between the compression rate and the pixel data. 상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지 시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축하고, The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. Compressing the pixel data using a full bit type for generating a code indicating a number of times, an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different, 상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이터들의 하위 비트들이 모아진 하위 비트 그룹을 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 장치.And the compressed data stored in the memory comprises a lower bit group in which lower bits of pixel data having the same upper bits are collected. 제 7 항에 있어서,The method of claim 7, wherein 상기 RLE 인코더는, The RLE encoder, 복수의 포지션 벨류 쉬프터를 복수의 비교기와 연결하여 연속적으로 입력되는 상기 픽셀 데이터들에서 동일한 픽셀 데이터들 간의 경계를 검출하기 위한 상기 픽셀 데이터의 위치를 지시하는 포지션 벨류들(Position Value)을 발생하고, Connecting a plurality of position value shifters with a plurality of comparators to generate position values indicating a position of the pixel data for detecting a boundary between identical pixel data in the continuously input pixel data, 상기 포지션 밸류 쉬프터를 통한 상기 포지션 밸류들을 한 클럭에 발생시키기 위한 토큰(Token)을 발생하고 동일한 픽셀 데이터들 간의 경계에 위치한 상기 포지션 밸류 쉬프터에 매 클럭마다 전달하고, Generate a token for generating the position values through the position value shifter in one clock and transfer the token to the position value shifter located at the boundary between the same pixel data every clock; 상기 포지션 밸류 쉬프터를 통해 동일한 픽셀 데이터들 간의 경계 포지션 밸류를 래치-마스터와 래치-슬레이브에 매 클럭마다 순차적으로 전달하며, The position value shifter sequentially transfers the boundary position values between the same pixel data to the latch master and the latch slave every clock. 상기 복수의 포지션 밸류 쉬프터에 연결된 래치-마스터와 래치-슬레이브와 감산기를 통해 상기 포지션 벨류들의 차를 산출하여 런 랭스를 발생하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 장치.And a run length by calculating a difference between the position values through a latch-master, a latch-slave, and a subtractor connected to the plurality of position value shifters. 제 8 항에 있어서, The method of claim 8, 상기 포지션 벨류 쉬프터는, The position value shifter, 토큰이 전달되면 상기 비교기의 비교 결과가 제 1 논리값을 가지면 우측의 포지션 벨류를 좌측으로 넘기고, 비교기의 비교 결과가 제 2 논리값을 가지면 포지션 밸류 쉬프터 자신의 포지션 벨류를 좌측으로 넘기도록 선택하는 제 1 버퍼;If the token is passed, the comparison value of the comparator has a first logical value, and the position value on the right is passed to the left, and if the comparison result of the comparator has a second logic value, the position value shifter selects to pass the position value of its own to the left. A first buffer; 상기 비교기의 비교 결과가 제 1 논리값을 가지는 경우 클럭에 무관하게 상기 토큰을 우측으로 패스시키는 제 2 버퍼;A second buffer which passes the token to the right regardless of a clock when the comparison result of the comparator has a first logic value; 상기 토큰이 전달되면 상기 포지션 밸류 쉬프터 자신의 포지션 벨류를 클럭에 맞추어 패스시키는 신호를 발생하는 마스터-슬레이브 래치; 및 A master-slave latch that generates a signal for passing the position value shifter's position value according to a clock when the token is transferred; And 토큰이 전달되고 상기 비교기의 결과가 제 2 논리값을 가지는 경우 상기 포지션 밸류 쉬프터 자신의 포지션 밸류를 출력시키도록 선택하는 상기 비교기의 출력단과 상기 마스터-슬레이브 래치(3214) 사이에 접속된 XOR 게이트(3213)을 구비하고, An XOR gate connected between the output of the comparator and the master-slave latch 3214 that selects to output the position value shifter's own position value when a token is passed and the result of the comparator has a second logical value. 3213) 상기 XOR 게이트의 결과가 제 1 논리값을 가지는 경우 상기 포지션 밸류 쉬프터의 포지션 밸류를 출력하는 상기 XOR 게이트의 출력단자에 의해 제어되는 패스 트랜지스터를 통하여 제 1 버퍼를 제어하고 포지션 밸류 값을 포지션 밸류 경로에 공급하는 것을 특징으로 하는 데이터 압축-복원 장치.When the result of the XOR gate has a first logic value, the first buffer is controlled through a pass transistor controlled by an output terminal of the XOR gate that outputs the position value of the position value shifter, and the position value value is converted into a position value path. And a data compression-restore device. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘을 이용하여 압축된 픽셀 데이터들을 출력하는 인코딩 단계; An encoding step of outputting pixel data compressed by using a PPC compression algorithm that generates a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputs the flag instead of the upper bits; 상기 PPC 압축 알고리즘으로 압출된 픽셀 데이터들을 메모리에 저장하는 단계; 및 Storing pixel data extruded by the PPC compression algorithm in a memory; And 상기 PPC 압축 알고리즘을 역으로 적용하여 원 픽셀 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법.Restoring original pixel data by applying the PPC compression algorithm inversely to the data compression-restore method for the flat panel display memory. 제 10 항에 있어서,11. The method of claim 10, 상기 인코딩 단계는,The encoding step, n 번째 및 n + 1 번째 픽셀 데이터의 상기 상위 비트들이 이전 픽셀 데이터의 상위 비트들과 동일하면 n 번째 픽셀 데이터의 하위 비트들과 n + 1 번째 픽셀 데이터의 하위 비트들을 상위 비트들의 동일성을 지시하는 제 1 논리값의 상기 플래그를 최하위 비트로 하여 압축 데이터로 상기 메모리에 저장하는 단계; 및 If the upper bits of the n th and n + 1 th pixel data are the same as the upper bits of the previous pixel data, the lower bits of the n th pixel data and the lower bits of the n + 1 th pixel data indicate the identity of the upper bits. Storing the flag of the first logical value as the least significant bit in the memory as compressed data; And 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상위 비트들이 다르면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 함께 상기 상위 비트들이 상이함을 지시하는 제 2 논리값의 플래그를 최하위 비트로 하여 압축 데 이터로 상기 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. If the upper bits of the previous pixel data and the upper bits of the n-th pixel data are different, the flag of the second logical value indicating that the upper bits are different together with all the lower lower bits of the n-th pixel data is changed to the least significant bit. And storing the data in the memory as compressed data. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하고, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하는 TPPC 압축 알고리즘을 이용하여 압축된 픽셀 데이터들을 출력하는 인코딩 단계; Generate a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and output the flag instead of the upper bits, and further remove some of the remaining lower bits except for the same upper bits in the pixel data. An encoding step of outputting compressed pixel data using a TPPC compression algorithm; 상기 TPPC 압축 알고리즘으로 압출된 픽셀 데이터들을 메모리에 저장하는 단계; 및 Storing pixel data extruded by the TPPC compression algorithm in a memory; And 상기 TPPC 압축 알고리즘을 역으로 적용하여 원 픽셀 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법.Restoring original pixel data by applying the TPPC compression algorithm inversely to the data compression-restore method for the flat panel display memory. 제 12 항에 있어서,13. The method of claim 12, 상기 인코딩 단계는,The encoding step, 상기 n 번째 및 상기 n + 1 번째 픽셀 데이터의 상기 상위 비트들이 상기 이 전 픽셀 데이터의 상기 상위 비트들과 동일하면 상기 n 번째 픽셀 데이터의 하위 비트들과 상기 n + 1 번째 픽셀 데이터의 하위 1 비트 이상을 선택적으로 제거하여 상기 상위 비트들의 동일성을 지시하는 상기 제 1 논리값의 플래그와 함께 상기 압축 데이터로 상기 메모리에 저장하는 단계; 및The lower bits of the nth pixel data and the lower one bit of the n + 1th pixel data if the upper bits of the nth and n + 1th pixel data are the same as the upper bits of the previous pixel data. Selectively removing an anomaly and storing it in the memory as the compressed data with a flag of the first logical value indicating the identity of the upper bits; And 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상기 상위 비트들이 다르면 상기 하위 비트를 선택적으로 제거한 상기 n 번째 픽셀 데이터와 함께 상기 상위 비트들이 상이함을 지시하는 상기 제 2 논리값의 플래그를 최하위 비트로 하여 상기 압축 데이터로 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. A flag of the second logical value indicating that the upper bits are different together with the nth pixel data from which the lower bit is selectively removed when the upper bits of the previous pixel data and the upper bits of the nth pixel data are different And storing the compressed data in the memory with the least significant bit as the least significant bit. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하고, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘을 이용하여 압축된 픽셀 데이터들을 출력하는 인코딩 단계; Generate a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and output the flag instead of the upper bits, and further remove some of the remaining lower bits except for the same upper bits in the pixel data. Encoding the pixel data compressed using a PFC compression algorithm that selectively removes the upper bits or compresses the same pixel data within a continuous constant pixel data length; 상기 PFC 압축 알고리즘으로 압출된 픽셀 데이터들을 메모리에 저장하는 단 계; 및 Storing pixel data extruded by the PFC compression algorithm in a memory; And 상기 PFC 압축 알고리즘을 역으로 적용하여 원 픽셀 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법.Restoring original pixel data by applying the PFC compression algorithm inversely to the data compression-restore method for the flat panel display memory. 제 14 항에 있어서,The method of claim 14, 상기 인코딩 단계는,The encoding step, 상기 n 번째 및 상기 n + 1 번째 픽셀 데이터의 상위 비트들이 상기 이전 픽셀 데이터의 상위 비트들과 동일하면 상기 n 번째 픽셀 데이터의 하위 비트들과 상기 n + 1 번째 픽셀 데이터의 하위 비트들을 상위 비트들의 동일성을 지시하는 제 1 논리값의 상기 플래그와 함께 상기 압축 데이터로 상기 메모리에 저장하는 단계; If the upper bits of the n-th and n + 1th pixel data are the same as the upper bits of the previous pixel data, the lower bits of the n-th pixel data and the lower bits of the n + 1-th pixel data of the upper bits Storing in the memory as the compressed data with the flag of a first logical value indicating identity; 상기 이전 픽셀 데이터의 상위 비트들과 상기 n 번째 픽셀 데이터의 상위 비트들이 다르면 상기 상위 비트들이 상이함을 지시하는 상기 제 2 논리값을 플래그에 지정하는 단계;Assigning a flag to the second logical value indicating that the upper bits are different if the upper bits of the previous pixel data and the upper bits of the n-th pixel data are different; 상기 플래그가 제 2 논리값을 가지고 상기 n 번째 픽셀 데이터와 상기 n + 1번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들의 상 하위 전체 비트들이 같으면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 상기 n + 1 번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들이 동일함을 지시하는 제 1 논리값의 코드(code)를 상기 제 2 논리값의 플래그와 함께 상기 압축데이터로 상기 메모리에 저장하는 단계; 및And if the flag has a second logic value and the lower whole bits of the n th pixel data, the n + 1 pixel data, and the n + 2 th pixel data are the same, the upper lower whole bits of the n th pixel data and the storing a code of a first logic value indicating that n + 1 pixel data and the n + 2th pixel data are the same as the compressed data in the memory with the flag of the second logic value; And 상기 플래그가 제 2 논리값을 가지고 상기 n 번째 픽셀 데이터와 상기 n + 1번째 픽셀 데이터와 상기 n + 2번째 픽셀 데이터들의 상 하위 전체 비트들이 다르면 상기 n 번째 픽셀 데이터의 상 하위 전체 비트들과 상기 n + 1 번째 픽셀 데이터와 상기 n + 2 번째 픽셀 데이터들이 상이함을 지시하는 제 2 논리값의 상기 코드를 제 2 논리값의 상기 플래그와 함께 상기 압축데이터로 상기 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 평판 표시 장치 메모리를 위한 데이터 압축-복원 방법. If the flag has a second logic value and the upper lower whole bits of the n th pixel data, the n + 1 th pixel data and the n + 2 th pixel data are different, the upper lower whole bits of the n th pixel data and the storing said code of a second logic value indicating that n + 1 pixel data and said n + 2th pixel data are different as said compressed data in said memory with said flag of a second logic value; A data compression-restore method for a flat panel display memory, characterized in that. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축률과 상기 픽셀 데이터들 간의 기울기 차이의 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코딩 단계; A PPC compression algorithm that generates a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputs the flag instead of the upper bits, and some of the remaining lower bits except for the same upper bits in the pixel data PFC to remove the higher bits and to selectively remove the higher bits or to compress the same pixel data within a continuous constant pixel data length by further removing the? A PPC, TPPC & PFC encoding step of selecting any one of compression algorithms according to a compression rate of a previous frame and an average value of gradient differences between the pixel data and outputting the compressed pixel data; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코딩 단계;An RLE encoding step of outputting compressed pixel data by removing the pixel data consecutive in run length encoding (RLE); 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코더의 출력과 상기 RLE 인코더의 출력 중 어느 하나를 선택하여 메모리에 저장하는 단계; Selecting one of an output of the PPC, TPPC & PFC encoder and an output of the RLE encoder according to a compression algorithm selected based on the compression ratio and the slope between the pixel data and storing in the memory; 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 따라 복원 알고리즘을 선택하여 상기 압축 데이터를 복원하는 단계; Restoring the compressed data by selecting a decompression algorithm according to a slope between the compression ratio and the pixel data; 상기 압축 알고리즘들에 의한 상기 픽셀 데이터의 상위 비트를 통해 다수의 계조값을 포함하는 계조 구간을 생성하여 상기 계조값 수보다 적은 계조 구간 수를 바탕으로 하는 히스토그램을 생성하는 단계; 및Generating a gradation section including a plurality of gradation values through higher bits of the pixel data by the compression algorithms to generate a histogram based on the number of gradation intervals less than the gradation values; And 상기 히스토그램의 최대 도수를 최대 이미지 해상도보다 낮은 소정의 클리핑 레벨로 제한하며, 상기 도수의 픽셀 데이터를 표현하는 스텝 사이즈를 조절하여 픽셀 데이터 수보다 적은 도수 표현 레벨을 가지도록 간소화 하는 단계를 포함하고, Limiting the maximum frequency of the histogram to a predetermined clipping level lower than the maximum image resolution, and adjusting the step size representing the pixel data of the frequency to simplify to have a frequency representation level less than the number of pixel data; 상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축하고, The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. Compressing the pixel data by using a full bit type for generating a code indicating a number of times, an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different, 상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이 터들의 하위 비트들이 모아진 하위 비트 그룹을 포함하는 것을 특징으로 하는 히스토그램 데이터 처리 방법.The compressed data stored in the memory includes a lower bit group in which lower bits of pixel data having the same upper bits are collected. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축률과 상기 픽셀 데이터들 간의 기울기 차이의 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코딩 단계; A PPC compression algorithm that generates a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputs the flag instead of the upper bits, and some of the remaining lower bits except for the same upper bits in the pixel data PFC to remove the higher bits and to selectively remove the higher bits or to compress the same pixel data within a continuous constant pixel data length by further removing the? A PPC, TPPC & PFC encoding step of selecting any one of compression algorithms according to a compression rate of a previous frame and an average value of gradient differences between the pixel data and outputting the compressed pixel data; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코딩 단계;An RLE encoding step of outputting compressed pixel data by removing the pixel data consecutive in run length encoding (RLE); 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코더의 출력과 상기 RLE 인코더의 출력 중 어느 하나를 선택하여 메모리에 저장하는 단계; Selecting one of an output of the PPC, TPPC & PFC encoder and an output of the RLE encoder according to a compression algorithm selected based on the compression ratio and the slope between the pixel data and storing in the memory; 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 따라 복원 알고리즘을 선택하여 상기 압축 데이터를 복원하는 단계; Restoring the compressed data by selecting a decompression algorithm according to a slope between the compression ratio and the pixel data; 메모리에 저장된 압축 데이터를 입력받아 픽셀 데이터 X 및 상기 픽셀 데이터 X의 상위 비트들 Xupper과 하위 비트들 Xlower로 분할하는 단계;Receiving compressed data stored in a memory and dividing the pixel data X into upper bits X upper and lower bits X lower of the pixel data X; 분할된 비트인 상기 상위 비트들 Xupper와 상기 하위 비트들 Xlower을 입력으로 하여 롬 크기가 감소된 분할 비트 룩업 테이블의 특성 함수 fpbl(Xpartitioned)를 설정하는 단계;Setting a characteristic function f pbl (X partitioned ) of the divided bit lookup table of which the ROM size is reduced by inputting the upper bits X upper and the lower bits X lower which are divided bits; 상기 분할 비트 룩업 테이블을 이용하여 상기 상위 비트들 Xupper와 상기 하위 비트들 Xlower을 각각 분할 연산하여 상기 상위 비트들의 연산 결과 fpbl(Xupper)와 상기 하위 비트들의 연산 결과 fpbl(Xlower)를 출력하는 단계;Compute the upper bits X upper and the lower bits X lower by using the split bit lookup table, respectively, so that the operation result of the upper bits f pbl (X upper ) and the operation result of the lower bits f pbl (X lower Outputting; 스케일 팩터 룩업 테이블을 이용하여 상기 상위 비트들 Xupper에 따라 계조 구간을 판단하여 아래의 step_size(fpbl(Xupper))를 fpbl(Xupper)의 스텝 사이즈라 하고 DR(g(x))를 함수 g(x)의 동적 범위라 정의할 때 로컬 스케일 팩터 SFlocal를 만족하는 미리 설정된 상기 스케일 팩터 k를 선택하는 단계;The gray scale interval is determined according to the upper bits X upper using a scale factor lookup table, and the following step_size (f pbl (X upper )) is referred to as the step size of f pbl (X upper ) DR (g (x)) Selecting the preset scale factor k that satisfies the local scale factor SF local when defining x as the dynamic range of function g (x); step_size(fpbl(Xupper)) = |fpbl(xupper) - fpbl(xupper+1)|step_size (f pbl (X upper )) = | f pbl (x upper )-f pbl (x upper +1) | k = log2(SFlocal) k = log 2 (SF local ) 쉬프터를 이용하여 상기 스케일 팩터 k와 상기 하위 비트들의 연산 결과 fpbl(Xlower)를 변수로 하는 연산 결과 fpbl(Xlower)/2k를 처리하여 상기 분할 비트 룩업 테이블 연산과정에서 발생하는 에러의 크기를 줄이는 단계;Using a shifter processes the computation result f pbl (X lower) / 2 k for an operation result f pbl (X lower) of the scale factor k, and the low-order bit to the variable error is caused in the divided bit look-up table calculation process Reducing the size of the; 상기 에러 룩업 테이블을 이용하여 상기 픽셀 데이터 X를 입력받아 연산 과정 중 에러를 보상하기 위해 미리 설정된 에러 룩업 테이블의 특성 함수 ferror_reduced(X)를 출력하는 단계; 및Receiving the pixel data X using the error lookup table and outputting a characteristic function f error_reduced (X) of a preset error lookup table to compensate for an error during an operation; And 상기 fpbl(Xlower)/2k, 상기 fpbl(Xupper), 및 상기 ferror_reduced(X)를 합산하여 아래의 f(X)를 산출하는 단계를 포함하고, Summing f fbl (X lower ) / 2 k , f fbl (X upper ), and f error_reduced (X) to calculate f (X) below, f(X) = fpbl(Xupper) + fpbl(Xlower)/2k + ferror_reduced(X)f (X) = f pbl (X upper ) + f pbl (X lower ) / 2 k + f error_reduced (X) 상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축하고, The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. Compressing the pixel data by using a full bit type for generating a code indicating a number of times, an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different, 상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이터들의 하위 비트들이 모아진 하위 비트 그룹을 포함하는 것을 특징으로 하는 LUT 데이터 압축 방법.And the compressed data stored in the memory includes a lower bit group in which lower bits of pixel data having the same upper bits are collected. n(n은 양의 정수) 번째 및 n + 1 번째 픽셀 데이터 X의 상위 비트를 상기 n 번째 픽셀 데이터에 앞선 이전 픽셀 데이터의 상위 비트들과 비교하여 상기 상위 비트들의 동일성 여부를 판단하는 단계; comparing upper bits of n (n is a positive integer) and n + 1st pixel data X with upper bits of previous pixel data preceding the nth pixel data to determine whether the upper bits are identical; 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 상기 상위 비트들의 동일성을 지시하는 플래그를 발생하여 상기 상위 비트 대신 출력하는 PPC 압축 알고리즘, 상기 픽셀 데이터들에서 동일한 상위 비트들을 제외하고 남은 하위 비트들 중 일부를 더 제거하고 상기 플래그를 발생하는 TPPC 압축 알고리즘, 상기 PPC 및 상기 TPPC 압축 알고리즘과 압축 방식을 일부 공유하여 상기 상위 비트들을 선택적으로 제거하거나 연속되는 일정한 픽셀 데이터 길이 내에서 동일한 픽셀 데이터들을 압축하는 PFC 압축 알고리즘 중 어느 하나를 이전 프레임의 압축 알고리즘별 압축률과 상기 픽셀 데이터들 간의 기울기 차이의 평균값에 따라 선택하여 압축된 픽셀 데이터들을 출력하는 PPC, TPPC & PFC 인코딩 단계; A PPC compression algorithm that generates a flag indicating the identity of the upper bits except for the same upper bits in the pixel data and outputs the flag instead of the upper bits, and some of the remaining lower bits except for the same upper bits in the pixel data PFC to remove the higher bits and to selectively remove the higher bits or to compress the same pixel data within a continuous constant pixel data length by further removing a and partially sharing the compression scheme with the TPPC compression algorithm, the PPC, and the TPPC compression algorithm that generate the flag. PPC, TPPC & PFC encoding step of selecting any one of the compression algorithm according to the compression ratio of each compression algorithm of the previous frame and the average value of the slope difference between the pixel data to output the compressed pixel data; 런 랭스 인코딩(RLE)으로 연속되는 상기 픽셀 데이터들을 제거하여 압축된 픽셀 데이터들을 출력하는 RLE 인코딩 단계;An RLE encoding step of outputting compressed pixel data by removing the pixel data consecutive in run length encoding (RLE); 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 기초하여 선택된 압축 알고리즘에 따라 상기 PPC, TPPC & PFC 인코딩 출력과 상기 RLE 인코딩 출력 중 어느 하나를 선택하여 메모리에 저장하는 단계;Selecting one of the PPC, TPPC & PFC encoding output and the RLE encoding output according to a compression algorithm selected based on the compression ratio and the slope between the pixel data and storing in the memory; 상기 압축률과 상기 픽셀 데이터들 간의 기울기에 따라 복원 알고리즘을 선택하여 상기 압축 데이터를 복원하는 단계; 및 Restoring the compressed data by selecting a decompression algorithm according to a slope between the compression ratio and the pixel data; And 상기 압축 알고리즘들에 의해 압축된 상기 압축 데이터로 구성된 연속된 프레임 데이터들의 압축 블록의 상위 비트들을 사용하여 움직임 추정 연산을 수행하여 움직임 벡터를 산출하는 단계;Calculating a motion vector by performing a motion estimation operation using upper bits of a compression block of consecutive frame data composed of the compressed data compressed by the compression algorithms; 다수의 상기 압축 블록을 보다 큰 크기의 매크로 블록으로 그룹화하고 상기 압축 블록들의 그룹화된 매크로 블록의 그룹화된 움직임 벡터를 산출하는 단계; 및Grouping the plurality of compressed blocks into macro blocks of larger size and calculating a grouped motion vector of the grouped macro blocks of the compressed blocks; And 다수의 상기 그룹화된 매크로 블록들을 포함하는 보조 매크로 블록의 상기 움직임 벡터들을 통한 보조 움직임 추정을 통해 상기 움직임 벡터를 보정하는 단계를 포함하고, Correcting the motion vector through auxiliary motion estimation through the motion vectors of an auxiliary macro block comprising a plurality of the grouped macro blocks, 상기 PFC 알고리즘은, 상기 상위 비트들의 동일성에 기초하여 상기 상위 비트들을 제거하고 상기 플래그를 발생하는 파셜 타입, 연속된 상기 픽셀 데이터들이 동일할 때 상기 픽셀 데이터들 중 어느 하나의 풀 비트와 상기 연속되는 횟수를 지시하는 코드를 발생하는 풀 비트 타입, 상기 연속된 픽셀 데이터들이 다를 때 상기 픽셀 데이터들 각각을 풀 비트로 바이패스시키는 비압축 타입을 병용하여 상기 픽셀 데이터들을 압축하고, The PFC algorithm is a partial type that removes the upper bits and generates the flag based on the identity of the upper bits, when the contiguous pixel data is the same as the full bit of any one of the pixel data. Compressing the pixel data by using a full bit type for generating a code indicating a number of times, an uncompressed type for bypassing each of the pixel data to full bit when the consecutive pixel data are different, 상기 메모리에 저장된 압축 데이터는 상기 상위 비트들이 동일한 픽셀 데이터들의 하위 비트들이 모아진 하위 비트 그룹을 포함하는 것을 특징으로 하는 프레임 레이트 향상 방법.The compressed data stored in the memory includes a lower bit group in which lower bits of pixel data having the same upper bits are collected.
KR1020090095794A 2009-10-08 2009-10-08 Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same KR101028161B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090095794A KR101028161B1 (en) 2009-10-08 2009-10-08 Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090095794A KR101028161B1 (en) 2009-10-08 2009-10-08 Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same

Publications (1)

Publication Number Publication Date
KR101028161B1 true KR101028161B1 (en) 2011-04-08

Family

ID=44049883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090095794A KR101028161B1 (en) 2009-10-08 2009-10-08 Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same

Country Status (1)

Country Link
KR (1) KR101028161B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685384B1 (en) * 2015-06-29 2016-12-12 홍익대학교 산학협력단 The motion estimation method using the compressed memory data using only the upper bit
KR20170001335A (en) * 2015-06-26 2017-01-04 홍익대학교 산학협력단 The motion estimation method using the compressed memory data
KR101824167B1 (en) 2011-04-06 2018-02-02 삼성디스플레이 주식회사 Device and method of compressing image for display device
US11302263B2 (en) 2019-12-27 2022-04-12 Lg Display Co., Ltd. Organic light emitting display device and compensation method therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757374B1 (en) 2006-03-02 2007-09-11 삼성전자주식회사 Method of compressing pixel data and pixel data compression device using the same
KR100864208B1 (en) 2007-05-04 2008-10-17 충북대학교 산학협력단 A driving circuit of display device and a method for encoding/decoding data for the display device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757374B1 (en) 2006-03-02 2007-09-11 삼성전자주식회사 Method of compressing pixel data and pixel data compression device using the same
KR100864208B1 (en) 2007-05-04 2008-10-17 충북대학교 산학협력단 A driving circuit of display device and a method for encoding/decoding data for the display device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101824167B1 (en) 2011-04-06 2018-02-02 삼성디스플레이 주식회사 Device and method of compressing image for display device
KR20170001335A (en) * 2015-06-26 2017-01-04 홍익대학교 산학협력단 The motion estimation method using the compressed memory data
KR101714385B1 (en) * 2015-06-26 2017-03-09 홍익대학교 산학협력단 The motion estimation method using the compressed memory data
KR101685384B1 (en) * 2015-06-29 2016-12-12 홍익대학교 산학협력단 The motion estimation method using the compressed memory data using only the upper bit
US11302263B2 (en) 2019-12-27 2022-04-12 Lg Display Co., Ltd. Organic light emitting display device and compensation method therefor

Similar Documents

Publication Publication Date Title
US8340445B2 (en) Image encoding device, image encoding method, image encoding/decoding system
US8244049B2 (en) Method, medium and apparatus effectively compressing and restoring edge position images
US6798833B2 (en) Video frame compression/decompression hardware system
US20080131087A1 (en) Method, medium, and system visually compressing image data
EP1081649A2 (en) Apparatus and method for image compression
US11425386B2 (en) Method and apparatus for range derivation in context adaptive binary arithmetic coding
JP2007060164A (en) Apparatus and method for detecting motion vector
GB2539241B (en) Video processing system
GB2457262A (en) Compression / decompression of data blocks, applicable to video reference frames
US6421466B1 (en) Hierarchical motion estimation with levels of varying bit width for digital video compression
KR101028161B1 (en) Data compression-decompression apparatus and method for flat display panel memory and apparatus of histogram data precessing, lut data compression and frame rate enhancement using the same
Kabir et al. Edge-based transformation and entropy coding for lossless image compression
Kim et al. Fixed-ratio compression of an RGBW image and its hardware implementation
EP2948921B1 (en) Interpolation method and corresponding device
EP3255628B1 (en) Method for compressing data and organic light emitting diode display device using the same
US10609382B2 (en) Method and apparatus for compressing video data
Son et al. Fast FPGA implementation of YUV-based fractal image compression
De Silva et al. Exploring the Implementation of JPEG Compression on FPGA
Ko et al. Dual block truncation coding for overdriving of full HD LCD driver
US20210152838A1 (en) Methods for compressing and decompressing texture tiles and apparatuses using the same
Nandi et al. Fractal image compression using fast context independent HV partitioning scheme
KR20150028716A (en) Image encoding apparatus and image encoding method
CN110300303B (en) Encoding device, display device, method for controlling encoding device, and computer-readable recording medium
CA2300326C (en) Image data compression, decompression and display device
Ghanim et al. An efficient algorithm for disparity map compression based on spatial correlations and its low-cost hardware architecture

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140317

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 9