[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100962506B1 - Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same - Google Patents

Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same Download PDF

Info

Publication number
KR100962506B1
KR100962506B1 KR1020080067242A KR20080067242A KR100962506B1 KR 100962506 B1 KR100962506 B1 KR 100962506B1 KR 1020080067242 A KR1020080067242 A KR 1020080067242A KR 20080067242 A KR20080067242 A KR 20080067242A KR 100962506 B1 KR100962506 B1 KR 100962506B1
Authority
KR
South Korea
Prior art keywords
vector
values
data
representative value
encoded data
Prior art date
Application number
KR1020080067242A
Other languages
Korean (ko)
Other versions
KR20100006918A (en
Inventor
유태호
고성제
황민철
한종우
김성균
Original Assignee
엘지디스플레이 주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지디스플레이 주식회사, 고려대학교 산학협력단 filed Critical 엘지디스플레이 주식회사
Priority to KR1020080067242A priority Critical patent/KR100962506B1/en
Publication of KR20100006918A publication Critical patent/KR20100006918A/en
Application granted granted Critical
Publication of KR100962506B1 publication Critical patent/KR100962506B1/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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3607Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals for displaying colours or for displaying grey scales with a specific pixel layout, e.g. using sub-pixels
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

본 발명은 데이터를 압축 및 복원하기 위한 데이터 압축 방법에 관한 것이다.The present invention relates to a data compression method for compressing and decompressing data.

이 데이터 압축 방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함한다. The data compression method executes a VQ-BTC algorithm on input data to generate first encoded data including a bitmap and a first vector representative value, and encodes a flag bit for identifying the first encoded data. Adding first coded data added to the data; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. Generating; Correcting the second vector representative values using the average distance and the correction position; Adding a flag bit for identifying the second encoded data to the second encoded data; And comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result.

Description

데이터 압축과 복원 방법 및 장치와 이를 이용한 액정표시장치와 그 구동방법{Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same}Data Compression and Decompression Method and Apparatus and Liquid Crystal Display and Driving Method Using the Same

본 발명은 데이터를 압축 및 복원하기 위한 데이터 압축 방법 및 장치와 그 복원 방법 및 장치에 관한 것이다. 또한, 본 발명은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동(Over driving control, ODC) 방식으로 변조하는 액정표시장치와 그 구동방법에 관한 것이다. The present invention relates to a data compression method and apparatus for compressing and decompressing data, and a method and apparatus for restoring the same. In addition, the present invention provides an over-driving control (ODC) scheme of a liquid crystal display device to convert a data voltage to be applied to liquid crystal cells after compressing and restoring data to be stored in a memory using the data compression and restoration method and apparatus. And a driving method thereof.

액정표시장치는 수학식 1 및 2와 같이 액정의 고유한 점성과 탄성 등의 특성에 의해 응답속도가 느린 단점이 있다. As shown in Equations 1 and 2, the liquid crystal display has a disadvantage in that the response speed is slow due to the inherent viscosity and elasticity of the liquid crystal.

Figure 112008049863697-pat00001
Figure 112008049863697-pat00001

여기서, τr는 액정에 전압이 인가될 때의 라이징 타임(rising time)을, Va는 인가전압을, VF는 액정분자가 경사운동을 시작하는 프리드릭 천이 전압(Freederick Transition Voltage)을, d는 액정셀의 셀갭(cell gap)을,

Figure 112008049863697-pat00002
(gamma)는 액정분자의 회전점도(rotational viscosity)를 각각 의미한다. Where τr is the rising time when voltage is applied to the liquid crystal, Va is the applied voltage, V F is the Freederick Transition Voltage at which the liquid crystal molecules start the tilt motion, and d is The cell gap of the liquid crystal cell,
Figure 112008049863697-pat00002
(gamma) means rotational viscosity of liquid crystal molecules, respectively.

Figure 112008049863697-pat00003
Figure 112008049863697-pat00003

여기서, τf는 액정에 인가된 전압이 오프된 후 액정이 탄성 복원력에 의해 원위치로 복원되는 폴링타임(falling time)을, K는 액정 고유의 탄성계수를 각각 의미한다. Here, τf denotes a falling time during which the liquid crystal is restored to its original position by the elastic restoring force after the voltage applied to the liquid crystal is turned off, and K denotes an elastic modulus inherent to the liquid crystal.

액정표시장치에 가장 일반적으로 사용되어 왔던 액정 모드인 TN 모드(Twisted Nematic mode)의 액정 응답속도는 액정 재료의 물성과 셀갭 등에 의해 달라질 수 있지만 통상, 라이징 타임이 20-80ms이고 폴링 타임이 20-30ms이다. 이러한 액정의 응답속도는 한 프레임기간(NTSC : 16.67ms)보다 길다. 이 때문에 도 1과 같이 액정셀에 충전되는 전압이 원하는 전압에 도달하기 전에 다음 프레임으로 진행되므로 동영상에서 모션 블러(Motion Blurr) 현상이 나타난다. The liquid crystal response speed of TN mode (Twisted Nematic mode), which has been the most commonly used liquid crystal display device, may vary depending on the physical properties of the liquid crystal material and the cell gap. 30 ms. The response speed of the liquid crystal is longer than one frame period (NTSC: 16.67ms). For this reason, as shown in FIG. 1, since the voltage charged in the liquid crystal cell reaches the next frame, motion blur occurs in the video.

도 1을 참조하면, 액정의 느린 응답속도로 인하여 한 레벨에서 다른 레벨로 데이터(VD)가 변할 때 그에 대응하는 표시 휘도(BL)가 원하는 휘도에 도달하지 못하게 되어 원하는 색과 휘도를 표현하지 못하게 된다. 그 결과, 액정표시장치는 동영상에서 모션 블러가 나타나므로 화질이 떨어진다. Referring to FIG. 1, when the data VD changes from one level to another due to the slow response speed of the liquid crystal, the corresponding display luminance BL may not reach the desired luminance and thus may not display the desired color and luminance. do. As a result, the liquid crystal display exhibits a motion blur in the video and thus the image quality is deteriorated.

이러한 액정표시소자의 느린 응답속도를 해결하기 위하여, 미국특허 제5,495,265호와 PCT 국제공개번호 WO 99/05567에는 룩업 테이블(Look-up table)을 이용하여 데이터의 변화여부에 따라 데이터를 변조하여 과구동(Over driving control, ODC)이 제안된 바 있다. 과구동 방법은 도 2와 같은 원리로 데이터를 변조한다. In order to solve the slow response speed of the liquid crystal display device, U.S. Pat. Over driving control (ODC) has been proposed. The overdrive method modulates data on the same principle as in FIG. 2.

도 2를 참조하면, 과구동 방법은 입력 데이터 전압(VD)을 미리 설정된 변조 데이터의 전압(MVD)으로 변조하고 그 변조 데이터의 전압(MVD)을 액정셀에 인가하여 원하는 휘도(MBL)를 얻게 된다. 과구동 방법은 한 프레임기간 내에 원하는 휘도(MBL)를 얻을 수 있도록 데이터의 변화여부에 기초하여 수학식 1에서

Figure 112008049863697-pat00004
을 크게 하게 된다. 따라서, 과구동 방법으로 구동되는 액정표시장치는 액정의 늦은 응답속도를 데이터값의 변조로 보상하여 동영상에서 모션 블러를 줄일 수 있다. Referring to FIG. 2, the overdrive method modulates the input data voltage VD into a preset voltage MVD of modulated data and applies the modulated data voltage MVD to a liquid crystal cell to obtain a desired luminance MBL. do. The overdrive method is expressed by Equation 1 based on the change of data so as to obtain a desired luminance (MBL) within one frame period.
Figure 112008049863697-pat00004
To make it larger. Accordingly, the liquid crystal display device driven by the overdrive method may reduce motion blur in the video by compensating for the late response speed of the liquid crystal by modulation of the data value.

이러한 과구동 방법은 이전 프레임과 현재 프레임 사이에서 데이터를 비교하고 그 데이터들 사이에 변화가 있으면, 미리 설정된 변조 데이터로 현재 프레임의 데이터를 변조한다. This overdrive method compares the data between the previous frame and the current frame and if there is a change between the data, modulates the data of the current frame with preset modulation data.

도 3은 과구동 회로를 개략적으로 나타낸 블록도이다. 3 is a block diagram schematically illustrating an overdrive circuit.

도 3을 참조하면, 과구동 회로는 데이터 입력버스(32)로부터의 데이터를 저장하기 위한 제1 및 제2 프레임 메모리(33a, 33b)와, 데이터를 변조하기 위한 룩업 테이블(34)을 구비한다.Referring to FIG. 3, the overdrive circuit includes first and second frame memories 33a and 33b for storing data from the data input bus 32 and a lookup table 34 for modulating the data. .

제1 및 제2 프레임 메모리(33a, 33b)는 픽셀 클럭에 맞추어 데이터를 프레임 단위로 교대로 저장하고 저장된 데이터를 교대로 출력하여 룩업 테이블(34)에 이전 프레임 데이터 즉, n-1 번째 프레임 데이터(Fn-1)를 공급한다. The first and second frame memories 33a and 33b alternately store data in units of frames in accordance with the pixel clock, alternately output the stored data, and output the previous frame data, that is, the n-1 th frame data, to the lookup table 34. (Fn-1) is supplied.

룩업 테이블(34)은 아래의 표 1과 같이 미리 설정된 변조 데이터(MRGB)를 n 번째 프레임 데이터(Fn)와 제1 및 제2 프레임 메모리(33a, 33b)로부터의 n-1 번째 프레임 데이터(Fn)를 어드레스로 하여 선택함으로써 데이터를 변조한다. 이 룩업 테이블(34)은 읽기 전용 메모리(Read Only Memory, ROM)와 메모리 제어회로를 포함한다. The lookup table 34 stores n-th frame data Fn from the n-th frame data Fn and the first and second frame memories 33a and 33b as shown in Table 1 below. Is selected as an address to modulate the data. The lookup table 34 includes a read only memory (ROM) and a memory control circuit.

구분division 00 1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 00 00 22 33 44 55 66 77 99 1010 1212 1313 1414 1515 1515 1515 1515 1One 00 1One 33 44 55 66 77 88 1010 1212 1313 1414 1515 1515 1515 1515 22 00 00 22 44 55 66 77 88 1010 1212 1313 1414 1515 1515 1515 1515 33 00 00 1One 33 55 66 77 88 1010 1111 1313 1414 1515 1515 1515 1515 44 00 00 1One 33 44 66 77 88 99 1111 1212 1313 1414 1515 1515 1515 55 00 00 1One 22 33 55 77 88 99 1111 1212 1313 1414 1515 1515 1515 66 00 00 1One 22 33 44 66 88 99 1010 1212 1313 1414 1515 1515 1515 77 00 00 1One 22 33 44 55 77 99 1010 1111 1313 1414 1515 1515 1515 88 00 00 1One 22 33 44 55 66 88 1010 1111 1212 1414 1515 1515 1515 99 00 00 1One 22 33 44 55 66 77 99 1111 1212 1313 1414 1515 1515 1010 00 00 1One 22 33 44 55 66 77 88 1010 1212 1313 1414 1515 1515 1111 00 00 1One 22 33 44 55 66 77 88 99 1111 1313 1414 1515 1515 1212 00 00 1One 22 33 44 55 66 77 88 99 1010 1212 1414 1515 1515 1313 00 00 1One 22 33 33 44 55 66 77 88 1010 1111 1313 1515 1515 1414 00 00 1One 22 33 33 44 55 66 77 88 99 1111 1212 1414 1515 1515 00 00 00 1One 22 33 33 44 55 66 77 88 99 1111 1313 1515

표 1에 있어서, 최좌측열은 이전 프레임(Fn-1)의 데이터이며, 최상측행은 현재 프레임(Fn)의 데이터이다.In Table 1, the leftmost column is data of the previous frame Fn-1, and the uppermost row is data of the current frame Fn.

n 번째 프레임 기간 동안, 실선으로 나타낸 바와 같이 동일한 픽셀 클럭에 맞추어 n 번째 프레임 데이터(Fn)는 제1 프레임 메모리(33a)에 저장됨과 동시에 룩업 테이블(34)에 공급된다. 이와 동시에 n 번째 프레임 기간 동안 제2 프레임 메모리(33b)는 n-1 번째 프레임 데이터(Fn-1)를 룩업 테이블(34)에 공급한다. During the nth frame period, the nth frame data Fn is stored in the first frame memory 33a and supplied to the lookup table 34 at the same pixel clock as indicated by the solid line. At the same time, the second frame memory 33b supplies the n−1 th frame data Fn−1 to the lookup table 34 during the n th frame period.

n+1 번째 프레임 기간 동안, 점선으로 나타낸 바와 같이 동일한 픽셀 클럭에 맞추어 현재의 n+1 번째 프레임 데이터(Fn+1)는 제2 프레임 메모리(33b)에 저장됨과 동시에 룩업 테이블(34)에 공급된다. 이와 동시에 n+1 번째 프레임 기간 동안 제1 프레임 메모리(33a)는 n 번째 프레임 데이터(Fn)를 룩업 테이블(34)에 공급한다. During the n + 1 th frame period, the current n + 1 th frame data Fn + 1 is stored in the second frame memory 33b and supplied to the lookup table 34 at the same pixel clock as indicated by the dotted line. do. At the same time, the first frame memory 33a supplies the nth frame data Fn to the lookup table 34 during the n + 1th frame period.

이러한 과구동 회로의 비용을 줄이기 위해서는 메모리 용량을 줄여야 한다. 최근에는 메모리 용량을 줄이기 위하여 메모리에 저장되는 데이터를 압축하는 방법이 제안되고 있다. 이러한 압축 방법으로는 BTC(Block Truncation Coding)가 잘 알려져 있다. 기존 1/3 압축기반 BTC 알고리즘은 겹치지 않는 블록들의 데이터들에 대하여 2 레벨 양자화한다. 기존 BTC 알고리즘이 컬러 영상에 적용될 때, RGB 각 데이터마다 레벨을 나타내는 일정 크기의 비트맵(bitmap) 블록과 2개의 대표값이 필요하다. 일반적으로 각 대표값들은 평균과 분산으로 표현되어 압축되기 때문에, 1/3 압축률을 달성할 수 있고 나아가, 도 4와 같이 1/4 압축율로 데이터를 압축할 수도 있다. To reduce the cost of these overdrive circuits, the memory capacity must be reduced. Recently, in order to reduce memory capacity, a method of compressing data stored in a memory has been proposed. Block compression coding (BTC) is well known as such a compression method. The existing 1/3 compressor half BTC algorithm quantizes two levels of data of non-overlapping blocks. When the existing BTC algorithm is applied to a color image, a bitmap block having a predetermined size representing a level for each RGB data and two representative values are required. In general, since each representative value is expressed by the average and the variance, it is possible to achieve a 1/3 compression ratio and further compress data at a 1/4 compression ratio as shown in FIG. 4.

도 4는 4×4 비트맵 블록 단위로 입력 데이터들을 인코딩하는 BTC 인코딩의 예를 보여 준다. 4 shows an example of BTC encoding for encoding input data in units of 4x4 bitmap blocks.

도 4를 참조하면, BTC 인코딩 방법은 4×4 블록에 포함된 4×4×3×8=384 bits의 RGB 입력 데이터를 3×4×4=48 bits의 RGB 비트맵 데이터(Bitmapr, Bitmapg, Bitmapb)과 2×3×8 = 48 bits의 두 개 대표값들을 포함한 압축 데이터들로 인코딩한다. Referring to FIG. 4, the BTC encoding method uses 4 × 4 × 3 × 8 = 384 bits of RGB input data included in a 4 × 4 block to 3 × 4 × 4 = 48 bits of RGB bitmap data (Bitmapr, Bitmapg, Bitmapb) and 2 × 3 × 8 = 48 bits.

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 41, NO. 9 SEPTEMBER 1993에 개시된 "A method of block truncation coding for color image compression by Takio Kurita and Nobuyuki Otsu"와 IEEE TRANSACTIONS ON COMMUNICATIONS VOL. COM-28, NO. 1 JANUARY 1980에 개시된 "An Algorithm for Vector Quantizer Design by Yoseph Linde, Andres Buzo and Robert M. Gray" 등에서 제안된 바 있는 벡터 양자화 BTC(VQ-BTC) 압축 알고리즘은 컬러 영상을 보다 효율적으로 압축하기 위하여 R, G, B 각각의 데이터들을 하나의 벡터로 표현하여, 도 5와 같이 1 장의 비트맵 블록과 2 개의 RGB 데이터를 인코딩함으로써 2 장의 비트맵 블록에 상응하는 압축 효과를 얻을 수 있다.IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 41, NO. 9 “A method of block truncation coding for color image compression by Takio Kurita and Nobuyuki Otsu” and IEEE TRANSACTIONS ON COMMUNICATIONS VOL. COM-28, NO. 1 The vector quantization BTC (VQ-BTC) compression algorithm proposed by JANUARY 1980, "An Algorithm for Vector Quantizer Design by Yoseph Linde, Andres Buzo and Robert M. Gray", has been developed in order to compress color images more efficiently. Compression effects corresponding to two bitmap blocks can be obtained by encoding one bitmap block and two RGB data as shown in FIG.

도 5는 8 개의 검은 점들로 표현된 원영상의 데이터 값들이 두 개의 흰점으로 표현된 벡터성분으로 양자화된 VQ-BTC 압축 알고리즘의 인코딩 방법을 도시화한 도면이다. FIG. 5 is a diagram illustrating an encoding method of a VQ-BTC compression algorithm in which data values of an original image represented by eight black points are quantized with vector components represented by two white points.

도 5를 참조하면, VQ-BTC 압축 알고리즘의 인코딩 방법은 4×4 블록에 포함된 4×4×3×8=384 bits의 RGB 입력 데이터를 흰점의 벡터성분으로 양자화된 4×4=16 bits의 비트맵 블록과 두 개의 대표값 2×3(for RGB)×8(for 1 BYTE) = 48 bits로 인코딩하므로 1/6의 압축율로 입력 데이터를 압축할 수 있다. Referring to FIG. 5, in the encoding method of the VQ-BTC compression algorithm, 4 × 4 = 16 bits quantized 4 × 4 × 3 × 8 = 384 bits of RGB input data included in a 4 × 4 block with a vector component of a white point. Since the bitmap block and two representative values 2 × 3 (for RGB) × 8 (for 1 BYTE) = 48 bits are encoded, the input data can be compressed with a compression ratio of 1/6.

그런데 VQ-BTC 압축 알고리즘에서 블록 사이즈를 2x4에서 2x8로 길이방향으로 증가시키거나, 블록 사이즈를 그대로 두고 RGB 벡터에 할당된 bits를 48 bits에서 24 bits로 줄이면 화질의 열화가 심하고 그 결과, 과구동 변조시에 데이터 에러가 크게 증가한다. 다시 말하여, 기존 VQ-BTC 알고리즘의 문제점은 압축률을 달성하기 위해 블록의 대표값에 할당된 bit 수를 줄이거나, 블록 크기를 길게 증가시켜 2개의 벡터로 넓은 영역을 표현하는 것을 시도하기 때문에, 화질의 열화가 발생한다. 대표값에 할당된 bit 수를 줄이면 영상의 깊이(depth)가 낮아져 색 표현력이 줄어들고, 이웃 블록 간 블로킹 아티펙트가 발생하는 원인이 된다. 또한, 2개의 벡터로 넓은 영역의 블록을 표현하게 되면, 영상의 디테일한 텍스쳐를 표현할 수 없게 되어 표시 영상에서 블러가 관찰되거나 모서리 정보가 손실되어 물체의 경계부분에서 열화가 발생한다. However, in the VQ-BTC compression algorithm, if the block size is increased in the longitudinal direction from 2x4 to 2x8, or if the block size is left as it is and the bits allocated to the RGB vector are reduced from 48 bits to 24 bits, the image quality is severely deteriorated. The data error greatly increases during modulation. In other words, the problem of the existing VQ-BTC algorithm is to reduce the number of bits allocated to the representative value of the block to achieve the compression rate, or to increase the block size to try to represent a wide area with two vectors. Image quality deteriorates. If the number of bits assigned to the representative value is reduced, the depth of the image is lowered, which reduces the color expression power, and causes blocking artifacts between neighboring blocks. In addition, when a block of a large area is represented by two vectors, the detailed texture of the image may not be expressed, and blur may be observed in the display image or the edge information may be lost, resulting in degradation at the boundary of the object.

따라서, 본 발명의 목적은 상기 종래 기술의 문제점들을 해결하고자 안출된 발명으로써 표시영상의 색 표현력 저하와 블러를 줄이고 모서리 정보의 데이터 손실을 방지할 수 있는 데이터 압축과 복원 방법 및 장치를 제공하는데 있다. Accordingly, an object of the present invention is to provide a method and apparatus for compressing and restoring data that can reduce the color rendering power and blur of a display image and prevent data loss of edge information. .

본 발명의 다른 목적은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동(ODC) 방식으로 변조하는 액정표시장치와 그 구동방법에 관한 것이다. Another object of the present invention is to modulate the data voltage to be applied to the liquid crystal cells by the overdrive (ODC) method of the liquid crystal display after compressing and restoring data to be stored in the memory by using the data compression and restoration method and apparatus. A liquid crystal display device and a driving method thereof.

상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 데이터 압축 방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함한다. In order to achieve the above object, a data compression method according to an embodiment of the present invention executes a VQ-BTC algorithm on input data to generate first encoded data including a bitmap and first vector representative values and to generate the first encoded data. Adding first coded data to add flag bits for identifying coded data to the first coded data; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. Generating; Correcting the second vector representative values using the average distance and the correction position; Adding a flag bit for identifying the second encoded data to the second encoded data; And comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result.

상기 데이터 압축 방법은 입력 데이터의 블록을 그보다 작은 서브 블록으로 나누는 단계를 더 포함한다. The data compression method further includes dividing a block of input data into smaller subblocks.

상기 제2 벡터 대표값들을 보정하는 단계는 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 벡터 위치들 각각을 코드워드로 맵핑하는 단계; 및 아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함한다. The correcting of the second vector representative values may include expressing the second vector representative value and the plurality of vector values existing in the periphery of each of the sub-blocks in an HSI image coordinate system and along the I axis of the HSI image coordinate system. Inversely transforming the image into an RGB image coordinate system; Mapping each of the vector positions represented in the inverse transformed RGB image coordinate system into a codeword; And correcting the second vector representative value by selecting the codeword according to the following mean error equation (MSE).

Figure 112008049863697-pat00005
Figure 112008049863697-pat00005

여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 서브 블록 각각에서 벡터값들의 개수를 각각 나타낸다. Where (Rr, Gr, Br) is the second vector representative value of the nth pixel, (Rn, Gn, Bn) is the actual pixel value of the nth pixel, (Rc, Gc, Bc) is the correction position, and 'm' represents the number of vector values in each subblock.

상기 제2 벡터 대표값들을 보정하는 단계는 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 벡터 위치들 각각을 코드워드로 맵핑하는 단계; 및 아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함한다. The correcting of the second vector representative values may include expressing the second vector representative value and the plurality of vector values existing in the periphery of each of the sub-blocks in an HSI image coordinate system and along the I axis of the HSI image coordinate system. Inversely transforming the image into an RGB image coordinate system; Mapping each of the vector positions represented in the inverse transformed RGB image coordinate system into a codeword; And calculating each of the following R code , G code , and B code , and selecting the codeword based thereon to correct the second vector representative value.

Figure 112008049863697-pat00006
Figure 112008049863697-pat00006

여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 벡터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다. Here, R 1 , R 2 , R 3 and R 4 are bit values of the sub block in R data, G 1 , G 2 , G 3 and G 4 are bit values of the sub block in G data, B 1 , B 2 , B 3 and B 4 are bit values of the sub block in B data, m is the number of the vector values in each of the sub blocks, R H is the upper representative value of the second vector representative value in R, R L is a lower representative value of the second vector representative value.

본 발명의 실시예에 따른 데이터 복원 방법은 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받는 단계; 및 아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 단계를 포함하는 것을 특징으로 하는 데이터 복원 방법. A data reconstruction method according to an embodiment of the present invention includes a bitmap, vector representative values consisting of upper bits only, an average distance between vector representative values and surrounding vector values, and a correction position of each of the vector values. Receiving encoded data; And decoding the encoded data by using the following equation.

Figure 112008049863697-pat00007
Figure 112008049863697-pat00007

여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다. Where (Rd, Gd, Bd) is the decoded pixel value, (Rr, Gr, Br) is the vector representative value, 'L' is the average distance, and (Rc, Gc, Bc) is the correction position, respectively. Indicates.

본 발명의 실시예에 따른 데이터 압축 장치는 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하며, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기를 구비한다. A data compression apparatus according to an embodiment of the present invention executes a VQ-BTC algorithm on input data to generate first encoded data including a bitmap and a first vector representative value and a flag for identifying the first encoded data. A first encoder for adding first encoded data for adding bits to the first encoded data; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. A second encoder which generates the second vector representative values by using the average distance and the correction position, and adds a flag bit to the second encoded data to identify the second encoded data; And a selector for comparing the deviation between the vector representatives with a predetermined threshold and selecting the outputs of the first and second encoders according to the comparison result.

본 발명의 실시예에 따른 데이터 복원 장치는 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 복호하는 디코더를 구비한다. An apparatus for restoring data according to an exemplary embodiment of the present invention includes a bitmap, vector representative values consisting of upper bits only, an average distance between vector representative values and vector values around them, and a correction position of each of the vector values. A decoder for decoding coded data is provided.

본 발명의 실시예에 따른 액정표시장치는 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하고, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 상기 벡터 대표들 간의 편차를 미리 정 해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기; 및 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 액정표시패널의 구동회로를 구비한다. A liquid crystal display according to an embodiment of the present invention executes a VQ-BTC algorithm on input data to generate first encoded data including a bitmap and a first vector representative value, and a flag for identifying the first encoded data. A first encoder for adding first encoded data for adding bits to the first encoded data; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. A second encoder that generates the second vector representative values by using the average distance and the correction position, and adds a flag bit for identifying the second encoded data to the second encoded data; A selector for comparing the deviation between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result; And decoding the selected encoded data to generate previous frame data, selecting a modulation value listed in a lookup table using the previous frame data and the current frame data as addresses, and modulating the input data to display the modulated data on the LCD panel. A driving circuit of a liquid crystal display panel to display is provided.

본 발명의 실시예에 따른 액정표시장치의 구동방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계; 및 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시한다. A method of driving a liquid crystal display according to an embodiment of the present invention executes a VQ-BTC algorithm on input data to generate first encoded data including a bitmap and a first vector representative value and to identify the first encoded data. Adding first encoded data that adds a flag bit to the first encoded data; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. Generating; Correcting the second vector representative values using the average distance and the correction position; Adding a flag bit for identifying the second encoded data to the second encoded data; Comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result; And decoding the selected encoded data to generate previous frame data, selecting a modulation value listed in a lookup table using the previous frame data and the current frame data as addresses, and modulating the input data to display the modulated data on the LCD panel. Display.

본 발명의 실시예에 따른 데이터 압축과 복원 방법 및 장치는 VQ-BTC 알고리즘을 실행하여 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 산출하고 상기 평균거리와 상기 보정 위치에 근거하여 상기 벡터 대표값들을 보정하여 표시영상의 색 표현력 저하와 블러를 줄이고 모서리 정보의 데이터 손실을 방지할 수 있다. The method and apparatus for compressing and decompressing data according to an embodiment of the present invention executes the VQ-BTC algorithm to perform a bitmap, vector representative values consisting of only upper bits, average distance between vector representative values and vector values in the vicinity thereof. A correction position of each of the vector values may be calculated and the vector representative values may be corrected based on the average distance and the correction position to reduce color deterioration and blur of a display image and to prevent data loss of edge information.

나아가, 본 발명의 실시예에 따른 액정표시장치와 그 구동방법은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동 방식으로 변조하여 액정의 응답특성을 개선함은 물론 데이터 압축과정에서 초래되는 색 표현력 저하와 블러 및 모서리 정보의 데이터 손실을 방지하여 표시품질을 높일 수 있다. In addition, the liquid crystal display device and the driving method thereof according to an embodiment of the present invention, the data voltage to be applied to the liquid crystal cells after compressing and restoring data to be stored in the memory by using the data compression and decompression method and apparatus. By overmodulating the device, the response characteristics of the liquid crystal can be improved, and the display quality can be improved by preventing color degradation and blur and edge data loss caused by data compression.

상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면들을 참조한 본 발명의 바람직한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention in addition to the above object will become apparent from the description of the preferred embodiment of the present invention with reference to the accompanying drawings.

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

도 6을 참조하면, 본 발명의 실시예에 따른 액정표시장치는 액정표시패널(100), 과구동 처리회로(10), 타이밍 콘트롤러(11), 데이터 구동회로(12) 및 게 이트 구동회로(13)를 구비한다. Referring to FIG. 6, a liquid crystal display according to an exemplary embodiment of the present invention includes a liquid crystal display panel 100, an overdrive processing circuit 10, a timing controller 11, a data driving circuit 12, and a gate driving circuit ( 13).

액정표시패널(100)은 두 장의 유리기판 사이에 액정층이 형성된다. 이 액정표시패널(100)의 액정셀들은 데이터라인들(D1 내지 Dm)과 게이트라인들(16)의 교차 구조에 의해 매트릭스 형태로 배치된다. In the liquid crystal display panel 100, a liquid crystal layer is formed between two glass substrates. The liquid crystal cells of the liquid crystal display panel 100 are arranged in a matrix by a cross structure of the data lines D1 to Dm and the gate lines 16.

액정표시패널(100)의 하부 유리기판에는 데이터라인들(D1 내지 Dm), 게이트라인들(G1 내지 Gn), 박막트랜지스터(Thin Film Transistor, TFT), TFT에 접속되어 화소전극들(1)과 공통전극(2) 사이의 전계에 의해 구동되는 액정셀들(Clc), 및 스토리지 커패시터(Cst) 등이 형성된다. The lower glass substrate of the liquid crystal display panel 100 is connected to the data lines D1 to Dm, the gate lines G1 to Gn, a thin film transistor (TFT), and a TFT to be connected to the pixel electrodes 1. Liquid crystal cells Clc, a storage capacitor Cst, and the like, which are driven by an electric field between the common electrodes 2, are formed.

액정표시패널(100)의 상부 유리기판 상에는 블랙매트릭스, 컬러필터 및 공통전극(2)이 형성된다. The black matrix, the color filter, and the common electrode 2 are formed on the upper glass substrate of the liquid crystal display panel 100.

공통전극(2)은 TN(Twisted Nematic) 모드와 VA(Vertical Alignment) 모드와 같은 수직전계 구동방식에서 상부 유리기판 상에 형성되며, IPS(In Plane Switching) 모드와 FFS(Fringe Field Switching) 모드와 같은 수평전계 구동방식에서 화소전극(1)과 함께 하부 유리기판 상에 형성된다. 액정표시패널(100)의 상부 유리기판과 하부 유리기판 상에는 광축이 직교하는 편광판이 부착되고 액정과 접하는 계면에 액정의 프리틸트각(pre-tilt angle)을 설정하기 위한 배향막이 형성된다. The common electrode 2 is formed on the upper glass substrate in a vertical electric field driving method such as twisted nematic (TN) mode and vertical alignment (VA) mode, and has an in plane switching (IPS) mode and a fringe field switching (FFS) mode. In the same horizontal electric field driving method, the pixel electrode 1 is formed on the lower glass substrate. Polarizing plates having optical axes orthogonal to each other are attached to the upper glass substrate and the lower glass substrate of the liquid crystal display panel 100, and an alignment layer for setting a pre-tilt angle of the liquid crystal is formed at an interface in contact with the liquid crystal.

과구동 처리회로(10)는 후술하는 압축 및 복원 알고리즘을 이용하여 이전 프레임 데이터[Fn-1(RGB)]를 압축 및 복원하고 아래의 수학식 3 내지 5를 만족하는 변조 데이터들이 등재된 룩업 테이블을 이용하여 현재 프레임 데이터[Fn(RGB)]와 이전 프레임 데이터[Fn-1(RGB)]를 비교하여 그 비교 결과 수학식 3 내지 5를 만족하도록 현재 프레임 데이터[Fn(RGB)]를 Fn(MRGB)로 변조한다. The overdrive processing circuit 10 compresses and decompresses previous frame data [Fn-1 (RGB)] using a compression and decompression algorithm described below, and a lookup table including modulation data satisfying Equations 3 to 5 below. The current frame data [Fn (RGB)] is compared with the previous frame data [Fn-1 (RGB)] by using Fn (RGB) as the result of comparison. MRGB).

Fn(RGB) < Fn-1(RGB) ---> Fn(MRGB) < Fn(RGB)Fn (RGB) <Fn-1 (RGB) ---> Fn (MRGB) <Fn (RGB)

Fn(RGB) = Fn-1(RGB) ---> Fn(MRGB) = Fn(RGB) Fn (RGB) = Fn-1 (RGB) ---> Fn (MRGB) = Fn (RGB)

Fn(RGB) > Fn-1(RGB) ---> Fn(MRGB) > Fn(RGB) Fn (RGB)> Fn-1 (RGB) ---> Fn (MRGB)> Fn (RGB)

수학식 3 내지 수학식 5에서 알 수 있는 바, 과구동 처리회로(10)의 룩업 테이블은 이전 프레임 데이터[Fn-1(RGB)]보다 현재 프레임 데이터[Fn(RGB)]가 더 크면 현재 프레임 데이터[Fn(RGB)]보다 더 큰 값(MRGB)으로 현재 프레임 데이터[Fn(RGB)]를 변조하는 반면에, 이전 프레임 데이터[Fn-1(RGB)]보다 현재 프레임 데이터[Fn(RGB)]가 더 작으면 현재 프레임[Fn(RGB)]보다 더 작은 값(MRGB)으로 현재 프레임 데이터[Fn-1(RGB)]를 변조한다. 그리고 과구동 처리회로(10)의 룩업 테이블은 동일한 픽셀에서 그 픽셀 데이터 값이 이전 프레임과 현재 프레임에서 동일하면 현재 프레임 데이터[Fn(RGB)]와 동일한 값(MRGB)을 출력한다. As can be seen from equations (3) to (5), the lookup table of the overdrive processing circuit 10 has a current frame if the current frame data [Fn (RGB)] is larger than the previous frame data [Fn-1 (RGB)]. Modulates the current frame data [Fn (RGB)] to a value MRGB greater than the data [Fn (RGB)], while the current frame data [Fn (RGB)] is greater than the previous frame data [Fn-1 (RGB)]. Smaller] modulates the current frame data [Fn-1 (RGB)] with a smaller value (MRGB) than the current frame [Fn (RGB)]. The lookup table of the overdrive processing circuit 10 outputs the same value MRGB as the current frame data Fn (RGB) if the pixel data value of the same pixel is the same in the previous frame and the current frame.

타이밍 콘트롤러(11)는 수직 및 수평 동기신호, 데이터 인에이블신호(DE), 도트클럭(CLK) 등의 타이밍신호들을 이용하여 데이터 구동회로(12)의 동작 타이밍을 제어하기 위한 데이터 타이밍 제어신호와, 게이트 구동회로(13)의 동작 타이밍을 제어하기 위한 게이트 타이밍 제어신호를 발생한다. 또한, 타이밍 콘트롤 러(11)는 과구동 변조된 디지털 비디오 데이터(MRGB)를 데이터 구동회로(12)에 전송한다. The timing controller 11 includes a data timing control signal for controlling the operation timing of the data driving circuit 12 using timing signals such as vertical and horizontal synchronization signals, data enable signal DE, and dot clock CLK. The gate timing control signal for controlling the operation timing of the gate driving circuit 13 is generated. In addition, the timing controller 11 transmits the overdrive modulated digital video data MRGB to the data driving circuit 12.

데이터 구동회로(12)는 타이밍 콘트롤러(11)로부터의 과구동 변조된 디지털 비디오 데이터들(MRGB)을 데이터 타이밍 제어신호에 응답하여 정극성/부극성 감마보상전압으로 변환하여 아날로그 정극성/부극성 데이터전압을 발생하고 그 데이터전압을 데이터라인들(D1 내지 Dm)에 공급한다. The data driving circuit 12 converts the overdrive-modulated digital video data MRGB from the timing controller 11 into the positive / negative gamma compensation voltage in response to the data timing control signal to convert the analog positive / negative polarity. A data voltage is generated and the data voltage is supplied to the data lines D1 to Dm.

게이트 구동회로(13)는 게이트 타이밍 제어신호에 응답하여 게이트펄스를 순차적으로 쉬프트하여 게이트라인들(G1 내지 Gn)에 게이트펄스 즉, 스캔펄스를 공급한다.The gate driving circuit 13 sequentially shifts the gate pulse in response to the gate timing control signal to supply the gate pulse, that is, the scan pulse to the gate lines G1 to Gn.

도 7은 과구동 처리회로(10)를 상세히 나타내는 블록도이다. 도 8은 도 7의 인코더(20)의 제어과정을 상세히 보여 주는 도면이다. 7 is a block diagram showing the overdrive processing circuit 10 in detail. 8 is a diagram illustrating in detail a control process of the encoder 20 of FIG. 7.

도 7 및 도 8을 참조하면, 과구동 처리회로(10)는 인코더(20), 디코더(24) 및 룩업 테이블(25)을 구비한다. 7 and 8, the overdrive processing circuit 10 includes an encoder 20, a decoder 24, and a lookup table 25.

인코더(20)는 제1 및 제2 인코더(21, 22)를 포함한다. The encoder 20 comprises first and second encoders 21, 22.

제1 인코더(21)는 2×8 또는 4×4 블록 기준으로 VQ-BTC 알고리즘을 실행하여 디지털 비디오 데이터(RGB)를 인코딩하여 도 9와 같이 인코딩된 데이터 패킷을 출력한다. The first encoder 21 encodes the digital video data RGB by executing the VQ-BTC algorithm on a 2x8 or 4x4 block basis and outputs the encoded data packet as shown in FIG. 9.

제2 인코더(22)는 본 발명의 실시예에서 제안되는 VQ-BTC(Proposed VQ-BTC 이하, "P_VQ-BTC"라 함) 압축 알고리즘으로 디지털 비디오 데이터(RGB)를 인코딩한다. The second encoder 22 encodes digital video data (RGB) with a VQ-BTC (hereinafter, referred to as "P_VQ-BTC") compression algorithm proposed in the embodiment of the present invention.

P_VQ-BTC에서 대표값은 RGB 각각에서 상위 벡터 대표값에 최상위 비트(MSB) i(i는 4 또는 5) bits씩, 하위 벡터에 최상위 비트(MSB) j(j는 5 또는 4) bits씩 할당된다. 상위 벡터 대표값에 최상위 비트(MSB) 4 bits가 할당된다면 하위 벡터에 최상위 비트(MSB) 5 bits가 할당되고, 상위 벡터 대표값에 최상위 비트(MSB) 5 bits가 할당된다면 하위 벡터에 최상위 비트(MSB) 4 bits가 할당된다. 상위 벡터 대표값에 최상위 비트(MSB) 4 bits가 할당되고 하위 벡터에 최상위 비트(MSB) 5 bits가 할당된다면 기존 VQ-BTC 알고리즘에 비해 상위 벡터에서 3비트씩 3개, 하위 벡터에서 4비트씩 3개가 절약되어 기존 VQ-BTC 압축 알고리즘에 비하여 인코드된 데이터 패킷에서 총 21비트의 여유분이 발생한다. 이러한 여유분은 평균 거리와 위치정보에 할당된다. In P_VQ-BTC, the representative value is assigned to the upper vector representative value in each of RGB by the most significant bit (MSB) i (i is 4 or 5) bits, and the lower vector is assigned the most significant bit (MSB) j (j is 5 or 4) bits. do. If the most significant bits (MSB) 4 bits are allocated to the upper vector representative value, the most significant bits (MSB) 5 bits are allocated to the lower vector, and if the most significant bits (MSB) 5 bits are allocated to the upper vector representative value, the most significant bits ( MSB) 4 bits are allocated. If the most significant bits (MSB) 4 bits are allocated to the upper vector representative value and the most significant bits (MSB) 5 bits are allocated to the lower vector, 3 bits each of the upper vector and 4 bits of the lower vector are compared with the conventional VQ-BTC algorithm. Three savings result in a total of 21 bits in the encoded data packet compared to the existing VQ-BTC compression algorithm. This margin is allocated to the average distance and location information.

P_VQ-BTC 알고리즘은 2×8 블록을 기준으로 VQ-BTC 알고리즘을 실행하여 인코드된 데이터에서 16개의 벡터값들과, 그 평균값으로 구해진 벡터 대표값 간의 평균 거리를 산출한다.(S1) 평균 거리는 수학식 6과 같이 서브 블록 내의 모든 픽셀 벡터 [Rn Gn Bn]T와 대표 벡터 [RK GK BK]T의 유클리디안 거리(Euclidean Distance :

Figure 112010015018639-pat00008
) 또는 맨하탄 거리(Manhattan Distance :
Figure 112010015018639-pat00009
)로 계산될 수 있다. 여기서, 평균 거리는 비트맵을 사용하여 서브 블록 안의 픽셀 벡터가 하위 그룹으로 구분된다면 하위 대표 벡터[R0 G0 B0]T와의 차로 계산되고 서브 블록 안의 픽셀 벡터가 상위 그룹으로 구분된다면 상위 대표 벡터[R1 G1 B1]T와의 차로 계산된다. The P_VQ-BTC algorithm executes the VQ-BTC algorithm based on a 2x8 block to determine the average distance between 16 vector values in the encoded data and the vector representative value obtained as the average value. (S1) The average distance is the Euclidean distance of all the pixel vectors [R n G n B n ] T and the representative vector [R K G K B K ] T in the subblock, as shown in Equation 6.
Figure 112010015018639-pat00008
) Or Manhattan Distance (
Figure 112010015018639-pat00009
Can be calculated as Here, the average distance is calculated by the difference from the lower representative vector [R 0 G 0 B 0 ] T if the pixel vectors in the subblock are divided into subgroups using the bitmap, and the upper representative vector if the pixel vectors in the subblock are divided into higher groups. Calculated as the difference with [R 1 G 1 B 1 ] T.

Figure 112008049863697-pat00010
Figure 112008049863697-pat00010

여기서, m은 상기 서브 블록 각각에서 상기 벡터값들의 개수를 나타낸다. Here, m represents the number of the vector values in each of the subblocks.

16 개의 벡터들 중에서 그룹1에 속한 벡터는 상위 벡터와의 거리를 구하는 기준이 되고 그룹2에 속한 벡터는 하위 벡터와의 거리를 구하는 기준이 된다. P_VQ-BTC에서 평균 거리는 4비트가 할당되고, 0x0004-0x003c 즉, 4에서 60까지 값 중에 하나로 저장된다. 그리고 P_VQ-BTC는 입력 데이터들의 블록을 2×2 서브 블록으로 나누고(S2), 각 서브-블록 단위로 구해진 평균 거리와 15개의 보정될 가능성이 있는 위치정보를 이용하여 벡터 대표값을 보정(refine)하여 인코딩한다.(S3) 보정될 가능성이 있는 위치를 찾는 방법에 대한 상세한 설명은 후술된다. 그리고 P_VQ-BTC는 보정 위치를 각 서브-블록 당 4비트 코드워드의 형태로 부호화하여 총 4비트씩 4개 16비트를 인코딩된 데이터 스트림에 할당한다. 따라서, P_VQ-BTC에서 인코딩된 데이터 스트림에는 평균 거리로 할당된 4비트와 보정 위치로 할당된 16 비트를 포함한다. Among the 16 vectors, the vector belonging to group 1 is used to calculate the distance from the upper vector, and the vector belonging to group 2 is used to determine the distance from the lower vector. In P_VQ-BTC, the average distance is allocated 4 bits and stored as one of the values 0x0004-0x003c, that is, 4 to 60. P_VQ-BTC divides the block of input data into 2 × 2 subblocks (S2), and corrects the vector representative value by using the average distance obtained in units of each sub-block and 15 possible positional information corrections. (S3) A detailed description of a method for finding a position that may be corrected will be given later. P_VQ-BTC encodes the correction position in the form of a 4-bit codeword for each sub-block, and allocates four 16 bits to the encoded data stream, each of four bits. Therefore, the data stream encoded in P_VQ-BTC includes 4 bits allocated as the average distance and 16 bits allocated as the correction position.

P_VQ-BTC는 제1 인코더(21)에 의해 VQ-BTC 압축 알고리즘으로 인코드된 데이터에서 벡터 대표값들의 편차가 2 이상의 임계값보다 작다면, S1 내지 S3 단계를 거치지 않고 제1 인코더(21)의 VQ-BTC 압축 알고리즘으로 인코드된 데이터를 그대로 출력한다.(S0) 인코더(20)는 벡터 대표값들의 편차와 임계값을 비교하여 제1 및 제2 인코더(21, 22)의 출력을 선택하는 선택기를 포함한다. 여기서, 임계값은 양의 정수로써 후술하는 실험에서 8로 정해졌다. If the deviation of the vector representative values in the data encoded by the first encoder 21 with the VQ-BTC compression algorithm is smaller than two or more thresholds, the P_VQ-BTC does not go through the steps S1 to S3 and then the first encoder 21. (S0) The encoder 20 selects the outputs of the first and second encoders 21 and 22 by comparing the deviations of the vector representative values and the threshold values. It includes a selector. Here, the threshold value is set to 8 in the experiment described later as a positive integer.

인코더(20)는 S0 단계에 의해 선택된 VQ-BTC 또는 P_VQ-BTC 압축 알고리즘을 지시하기 위한 1 bit를 할당한다. 이 1 bit를 할당하기 위하여 R, G 및 B 데이터 중 어느 하나의 하위 벡터 중 마지막 bit를 압축 알고리즘을 지시하는 플래그비트(flag)로 사용할 수 있다. 후술하는 실험에서는 플래그 1 bit를 R 데이터의 마지막 1 bit를 삭제하여 남은 bit로 활용하였다. The encoder 20 allocates 1 bit to indicate the VQ-BTC or P_VQ-BTC compression algorithm selected by the step S0. In order to allocate this 1 bit, the last bit of any one of the lower vectors of R, G, and B data may be used as a flag bit indicating a compression algorithm. In the experiment described later, the flag 1 bit was used as the remaining bit by deleting the last 1 bit of the R data.

전술한 P_VQ-BTC 알고리즘은 블로킹 아티펙트를 방지하기 위해 영상을 2×8 블록으로 나누어 압축을 하되, 그 블록을 다시 4개의 2×2 서브-블록 단위로 나누어 경계값을 더 세밀하게 표현할 수 있다. VQ-BTC 알고리즘은 2×8 블록을 압축하기 위하여 16 bits의 비트 비트맵과 6 개의 8 비트 대표값을 코딩한다. 이와 달리, P_VQ-BTC 알고리즘은 2×8 블록을 압축하기 위해 16 bits의 비트맵과 3개의 5 bits 벡터 대표값과 3개의 4 bits 벡터 대표값 그리고 4 bits의 거리 정보, 16 bits의 서브 블록 단위의 위치 정보 그리고 1 bit의 플래그를 코딩한다. 전술한 P_VQ-BTC의 부호화 과정을 정리하면 다음과 같다. The above-described P_VQ-BTC algorithm compresses an image by dividing it into 2 × 8 blocks to prevent blocking artifacts, and further divides the block into four 2 × 2 sub-block units to express the boundary value more precisely. The VQ-BTC algorithm codes a 16-bit bitmap and six 8-bit representative values to compress a 2x8 block. In contrast, the P_VQ-BTC algorithm uses a 16-bit bitmap, three 5-bit vector representations, three 4-bit vector representations, four bits of distance information, and a 16-bit subblock unit to compress a 2x8 block. Code position information and 1 bit flag. The encoding process of the above-described P_VQ-BTC is summarized as follows.

(1) 2×8 블록을 기준으로 기존 BTC 알고리즘을 실행한다. 이 때, 대표값은 상위 벡터에 MSB로 5비트씩, 하위 벡터에 MSB로 4비트씩 할당되어 저장된다.(1) The existing BTC algorithm is executed based on 2 × 8 blocks. At this time, the representative value is allocated by storing 5 bits as MSB in the upper vector and 4 bits as MSB in the lower vector.

(2) 16개의 벡터값들과 벡터 대표값 간의 평균 거리를 계산한다. (2) The average distance between the 16 vector values and the vector representative value is calculated.

(3) 2×8 블록을 2×2 서브 블록들로 분할한다. (3) A 2x8 block is divided into 2x2 subblocks.

(4) 각 서브-블록 단위로 (2) 항에서 계산한 평균 거리와 보정 위치에 기초하여 전술한 보정 위치 결정방법들로 벡터 대표값을 보정한다. (4) The vector representative value is corrected by the above-described correction position determination methods based on the average distance and correction position calculated in (2) in each sub-block unit.

(5) 보정 위치를 각 서브-블록당 4비트 코드워드의 형태로 부호화한다. (5) The correction position is encoded in the form of a 4-bit codeword for each sub-block.

(6) 만약 평균 거리가 임계값보다 작다면, (3)~(5)의 과정을 거치지 않고 기존 VQ-BTC 알고리즘으로 2×8 블록 단위로 데이터를 압축한다. (6) If the average distance is smaller than the threshold value, the data is compressed in units of 2 × 8 blocks using the existing VQ-BTC algorithm without going through steps (3) to (5).

디코더(24)는 인코더(20)에 의해 압축된 데이터를 복호화하여 룩업 테이블(25)에 공급한다. 이 디코더(24)는 플래그 비트를 읽어 입력 부호화 데이터의 인코드 방식이 VQ-BTC 인지 아니면 P_VQ-BTC인지를 판단하여 적절한 복호화 방식을 선택한다. The decoder 24 decodes the data compressed by the encoder 20 and supplies it to the lookup table 25. The decoder 24 reads the flag bits to determine whether the encoding method of the input encoded data is VQ-BTC or P_VQ-BTC to select an appropriate decoding method.

룩업 테이블(25)은 수학식 3 내지 5를 만족하는 과구동 변조값들이 등재된다. The lookup table 25 lists overdrive modulation values satisfying Equations 3 to 5.

도 9는 제1 인코더(21)에 의해 보호화된 데이터 패킷이다. 9 is a data packet protected by the first encoder 21.

도 9를 참조하면, 제1 인코더(21)에 의해 인코드된 1 데이터 패킷은 1 bit의 플래그 bit, 16 bits의 2×8 혹은 4×4 비트맵, (2×8)-1 = 15 bits로 할당된 R 데이터의 두 개 벡터 대표값, 2×8 = 16 bits로 할당된 G 데이터의 두 개 벡터 대표값, 및 2×8 = 16 bits로 할당된 B 데이터의 두 개 벡터 대표값을 포함한다. 따라서, 제1 인코더(21)에 의해 부호화된 1 데이터 패킷은 64 bits를 포함한다. Referring to FIG. 9, one data packet encoded by the first encoder 21 includes a flag bit of 1 bit, a 2x8 or 4x4 bitmap of 16 bits, and (2x8) -1 = 15 bits. Two vector representatives of R data assigned to R, two vector representatives of G data assigned to 2x8 = 16 bits, and two vector representative values of B data assigned to 2x8 = 16 bits. do. Thus, one data packet encoded by the first encoder 21 includes 64 bits.

도 10은 제2 인코더(22)에 의해 부호화된 데이터 패킷이다. 10 is a data packet encoded by the second encoder 22.

도 10을 참조하면, 제2 인코더(22)에 의해 부호화된 1 데이터 패킷은 1 bit의 플래그 bit, 16 bits의 2×8 혹은 4×4 비트맵, 4(상위 벡터 MSB) +5(하위 벡터 MSB) = 9 bits로 할당된 R 데이터의 두 개 벡터 대표값, 4+5 = 9 bits로 할당된 G 데이터의 두 개 벡터 대표값, 4+5 = 9 bits로 할당된 B 데이터의 두 개 벡터 대표값, 4 bits의 평균거리 정보, 및 4(RGB 2×2 서브필록)×4(보정위치 코드워드)=16bit의 보정 위치 정보를 포함한다. 따라서, 제2 인코더(22)에 의해 부호화된 1 데이터 패킷은 64 bits를 포함한다. Referring to FIG. 10, one data packet encoded by the second encoder 22 includes a flag bit of 1 bit, a 2x8 or 4x4 bitmap of 16 bits, 4 (higher vector MSB) +5 (lower vector). MSB) = two vector representatives of R data allocated with 9 bits, 4 + 5 = two vector representatives of G data allocated with 9 bits, two vectors of B data allocated with 4 + 5 = 9 bits The representative value, average distance information of 4 bits, and correction position information of 4 (RGB 2x2 sub-block) x 4 (correction position codeword) = 16 bits are included. Therefore, one data packet encoded by the second encoder 22 includes 64 bits.

도 11은 도 5와 같은 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷이다. FIG. 11 is one data packet generated by the existing VQ-BTC compression algorithm as shown in FIG. 5.

도 11을 참조하면, 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷은 16 bits의 비트맵과, RGB 각각에 할당된 16 bits의 대표값들을 포함한다. 따라서, 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷은 총 64 bits를 포함하고 플래그, 평균거리 정보 및 보정 위치정보가 포함되지 않는다. Referring to FIG. 11, one data packet generated by the existing VQ-BTC compression algorithm includes a bitmap of 16 bits and representative values of 16 bits allocated to each of RGB. Therefore, one data packet generated by the existing VQ-BTC compression algorithm includes 64 bits in total and does not include flags, average distance information, and corrected position information.

벡터 대표값의 부호화시에 제2 인코더(22)는 RGB 각각에서 8 bits를 사용하지 않고 상위 4 bits 또는 상위 5 bits만 사용한다. 따라서, 디코더(24)는 오리지널 벡터 대표값이 도 12와 같을 때 벡터 대표값의 복호화시에 도 12b와 같이 하위 3 bits 또는 4 bits에 "0"을 부가하거나 도 12c와 같이 "0111" 또는 "011"를 하위 3 bits 또는 4 bits에 "0"을 부가한다. 이러한 벡터 대표값의 복호화 방법 중에서 하위 비트의 절삭으로 인한 화질 열화를 최소화하기 위하여 도 12c와 같이 중간값을 하위 bits 부가하는 방법이 바람직하다. In encoding the vector representative value, the second encoder 22 does not use 8 bits in each of RGB, but uses only upper 4 bits or upper 5 bits. Therefore, the decoder 24 adds "0" to the lower 3 bits or 4 bits as shown in FIG. 12B when decoding the vector representative value when the original vector representative value is as shown in FIG. 12, or "0111" or "as shown in FIG. 12C. 011 "is added to the lower 3 bits or 4 bits. Among the decoding methods of the vector representative value, in order to minimize image quality deterioration due to cutting of the lower bits, a method of adding the lower bits as shown in FIG. 12C is preferable.

도 8에서 제2 인코더(22)의 S3 단계에서 처리되는 보정위치 결정방법에 대하여 상세히 설명하면 다음과 같다. In FIG. 8, the correction position determining method processed in step S3 of the second encoder 22 will be described in detail as follows.

보정위치 결정방법의 제1 실시예First embodiment of the correction position determination method

서브 블록을 적절히 보정하기 위해서는 보정 위치를 결정하여야 한다. 수학식 7은 벡터 대표값과 실제 픽셀 값의 관계를 나타낸다. In order to properly correct the sub-blocks, the correction position must be determined. Equation 7 shows the relationship between the vector representative value and the actual pixel value.

Figure 112008049863697-pat00011
Figure 112008049863697-pat00011

여기서, (Rr, Gr, Br)는 n 번째 픽셀의 벡터 대표값이고, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값이다. 그리고 (

Figure 112008049863697-pat00012
,
Figure 112008049863697-pat00013
,
Figure 112008049863697-pat00014
)는 n 번째 픽셀에서 실제 픽셀값과 벡터 대표값 간의 오차값이다. Here, (Rr, Gr, Br) is the vector representative value of the nth pixel, and (Rn, Gn, Bn) is the actual pixel value of the nth pixel. And (
Figure 112008049863697-pat00012
,
Figure 112008049863697-pat00013
,
Figure 112008049863697-pat00014
) Is an error value between the actual pixel value and the vector representative value at the n th pixel.

'L'을 벡터 대표값과 16 개의 벡터값들 사이의 평균거리, (Rc, Gc, Bc)를 보정 위치라고 했을 때, 수학식 7의 오차(

Figure 112008049863697-pat00015
,
Figure 112008049863697-pat00016
,
Figure 112008049863697-pat00017
)는 수학식 8과 같이 모델링될 수 있다.When 'L' is the average distance between the vector representative value and the 16 vector values, and (Rc, Gc, Bc) is the correction position,
Figure 112008049863697-pat00015
,
Figure 112008049863697-pat00016
,
Figure 112008049863697-pat00017
) May be modeled as in Equation 8.

Figure 112008049863697-pat00018
Figure 112008049863697-pat00018

벡터 대표값 주변의 모든 픽셀값이 보정 가능한 위치이지만, 본 발명의 실시예에 따른 데이터 압축과 복원 방법은 보다 효과적인 보정 위치를 결정하기 위하여 HSI(Hue, Saturation, Intensity) 영상 좌표계에서 보정위치를 결정한다. HSI 영상 좌표계는 사람의 인지 능력(Human Vision System: HVS)에 주안점을 두고 색상을 표현할 수 있는 좌표계로서 최근의 영상 처리에서 가장 주목 받고 있는 영상 좌표계이다. RGB 영상 좌표계에서 HSI 영상 좌표계의 변환 방법은 도 13과 같다. Although all pixel values around the vector representative value can be corrected, the data compression and decompression method according to an embodiment of the present invention determines the corrected position in the HSI (Hue, Saturation, Intensity) image coordinate system to determine a more effective correction position. do. The HSI image coordinate system is a coordinate system that can express colors focusing on human vision system (HVS), and is an image coordinate system that is attracting the most attention in recent image processing. The conversion method of the HSI image coordinate system in the RGB image coordinate system is shown in FIG. 13.

도 13의 (a)와 같은 RGB 영상 좌표계를 참조하면, 밝기(0, 0, 0)에서 (255, 255, 255)를 잇는 가상의 선(HSI 영상 좌표계의 I축임)을 B축과 일치하게 이동시키면 도 13의 (b)와 같다. 도 13의 (b)는 도 13의 (c)와 같이 유사 HSI 영상 좌표계로 변환될 수 있다. 이 HSI 영상 좌표계에서 벡터 대표값과 그 주변의 16 개 벡터값들을 표현할 수 있다. RGB 영상 좌표계와 HSI 영상 좌표계의 변환에 대하여는 CH2898-5/90/0000/0791$01.00 ⓒ 1990 IEE에 개시된 "Fundamentals of True-Color Image Processing by R.S. Ledley, M. Buas, and T. J. Golab"과, CH2998-3/91/10000-0722$01.00ⓒ1991 IEE에 개시된 "IMAGE PROCESSING USING THE HSI COLOR SPACE by Eric Welch, Robert Moorhead, and J. K. Owens" 등에서 상세히 설명되어 있으므로 이에 대한 상세한 설명을 생략하기로 한다. Referring to the RGB image coordinate system as shown in FIG. 13A, an imaginary line (I axis of the HSI image coordinate system) connecting brightness (0, 0, 0) to (255, 255, 255) is aligned with the B axis. If moved, it is as shown in Fig. 13 (b). FIG. 13B may be converted to a similar HSI image coordinate system as shown in FIG. 13C. In this HSI image coordinate system, a vector representative value and 16 vector values around it can be expressed. For conversion of RGB image coordinate system and HSI image coordinate system, see CH2898-5 / 90/0000/0791 $ 01.00 © 1990 IEE “Fundamentals of True-Color Image Processing by RS Ledley, M. Buas, and TJ Golab”, CH2998- 3/91 / 10000-0722 $ 01.00 © 1991 "IMAGE PROCESSING USING THE HSI COLOR SPACE by Eric Welch, Robert Moorhead, and JK Owens" disclosed in the IEE, and so will be omitted in detail.

HSI 영상 좌표계에서 도 14의 좌측 도면과 같이 인텐시티(I축) 차이에 따라 7개의 구간으로 나누고, 각각의 구간에 상응하는 점들을 찾으면 그 점들의 위치가 결정된다. 도 14의 우측 도면은 HSI 영상 좌표계에서 각 벡터들(검은 점)의 위치를 나타낸 그림입니다.As shown in the left figure of FIG. 14, the HSI image coordinate system is divided into seven sections according to the intensity (I-axis) difference, and when the points corresponding to the respective sections are found, the positions of the points are determined. 14 is a diagram showing the position of each vector (black point) in the HSI image coordinate system.

도 14의 우측 도면 즉, HSI 영상 좌표계를 RGB 영상 좌표계로 역변환하면 도 15와 같이 역변환된 RGB 영상 좌표계에서 검은 점들의 좌표가 벡터 대표값이 보정될 수 있는 벡턱값들의 위치이다. 검은 점 각각은 도 15와 같이 4 bits 코드워드로 변환되어 아래의 표 2와 같은 테이블로 작성될 수 있고 이러한 테이블은 제2 인코더(22)에 내장되는 룩업 테이블로 구현될 수 있다. P_VQ-BTC는 표 2의 테이블을 기반으로 부호화를 실행하여 각 서브 블록에서 벡터 대표값을 보정한다. 따라서, 제2 인코더(22)는 벡터 대표값의 보정시에 보정 가능한 위치를 표 2의 테이블에서 검색하는 것으로 간단히 벡터 대표값을 보정할 수 있다. In other words, when the HSI image coordinate system is inversely transformed into an RGB image coordinate system, the coordinates of the black dots in the inversely transformed RGB image coordinate system as shown in FIG. 15 are positions of vector values at which the vector representative value can be corrected. Each of the black dots may be converted into a 4-bit codeword as shown in FIG. 15 and may be created as a table as shown in Table 2 below. Such a table may be implemented as a lookup table embedded in the second encoder 22. P_VQ-BTC performs encoding based on the table in Table 2 to correct the vector representative value in each subblock. Accordingly, the second encoder 22 can simply correct the vector representative value by searching the table of Table 2 for a position that can be corrected when the vector representative value is corrected.

Figure 112008049863697-pat00019
Figure 112008049863697-pat00019

위 표 2에서 에러가 가장 작은 보정 위치를 선택하기 위하여 P_VQ-BTC는 아래의 수학식 9와 같은 최소 평균 에러식(minimum mean square error, MSE)을 만족하는 코드워드(c)를 선택한다. In Table 2 above, P_VQ-BTC selects a codeword (c) that satisfies a minimum mean square error (MSE) as shown in Equation 9 below to select a correction position having the smallest error.

Figure 112008049863697-pat00020
Figure 112008049863697-pat00020

여기서, (Rr, Gr, Br)는 n 번째 픽셀의 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 보정 위치, 그리고 'm'은 서브 블록 각각에서 벡터값들의 개수를 각각 나타낸다. Where (Rr, Gr, Br) is the vector representative value of the nth pixel, (Rn, Gn, Bn) is the actual pixel value of the nth pixel, (Rc, Gc, Bc) is the correction position, and 'm' is Represents the number of vector values in each subblock.

보정위치 결정방법의 제2 실시예Second Embodiment of Correction Positioning Method

본 발명의 제2 실시예에 따른 보정위치 결정방법은 수학식 9와 같은 모든 보정 위치들에 대하여 연산을 행한 후에 최소값을 선택하는 과정없이 아래와 같은 알고리즘을 이용하여 보정 위치 선택을 빠르게 할 수 있다. In the method of determining a correction position according to the second embodiment of the present invention, the correction position can be quickly selected by using the following algorithm without performing a process for selecting all the correction positions as shown in Equation (9).

(1) 2×2 서브 블록에는 하나의 코드워드가 상위 대표값과 하위 대표값에 상관없이 적용되기 때문에, 각각의 픽셀과 벡터 대표값의 상관성을 파악한다면 코드워드를 생성할 수 있다. 각각의 픽셀값과 벡터 대표값이 알려져 있으므로 각각의 픽셀값과 대표값 크기를 비교하여 아래의 수학식 10과 같이, 픽셀값(Ro, Go, Bo)이 벡터 대표값(Rr, Gr, Br)보다 크다면 '+1', 픽셀값(Ro, Go, Bo)과 벡터 대표값(Rr, Gr, Br)이 유사하다면 '0', 픽셀값(Ro, Go, Bo)이 벡터 대표값(Rr, Gr, Br)보다 작다면 '-1'을 선택하여 RGB 각각의 2×2 서브 블록에서 선택된 값들을 서로 더한다. 여기서, 유사하다는 것은 픽셀값과 벡터 대표값의 차이가 평균거리의 반 이하를 의미한다. (1) Since one codeword is applied to the 2x2 subblock regardless of the upper representative value and the lower representative value, the codeword can be generated if the correlation between each pixel and the vector representative value is determined. Since each pixel value and vector representative value are known, the pixel values R o , G o , and B o are equal to the vector representative values R r , as shown in Equation 10 below. r G, r B) is greater than "+1", the pixel values (r o, G o, B o) and a representative value vector (if r r, r G, r B) is similar to "0", the pixel values ( If R o , G o , B o ) is less than the vector representative values R r , G r , and B r , select '-1' to add the selected values from each 2 × 2 sub-block of each RGB. Here, similarity means that the difference between the pixel value and the vector representative value is less than half the average distance.

Figure 112008049863697-pat00021
Figure 112008049863697-pat00021

수학식 10에서, (Ro, Go, Bo)는 입력 영상의 오리지날 픽셀값이고 (Rr, Gr, Br)는 RGB 각각의 벡터 대표값이다. In Equation 10, (R o , G o , B o ) are original pixel values of the input image and (R r , G r , B r ) are vector representative values of respective RGB.

R의 2×2 서브 블록에서 벡터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Rcode는 +4에서 -4까지의 값을 가진다. 마찬가지로, G의 2×2 서브 블록에서 벡터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Gcode는 +4에서 -4까지의 값을 가지며, B의 2×2 서브 블록에서 벡터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Bcode는 +4에서 -4까지의 값을 가진다. In order to correct the vector correction value in the 2x2 subblock of R, the R code for selecting the index of Table 2 has a value from +4 to -4. Similarly, to correct the vector correction value in the 2 × 2 subblock of G, the G code for selecting the index in Table 2 has a value from +4 to -4, and the vector correction in the 2 × 2 subblock of B. To correct the value, the B code for selecting the index in Table 2 has a value from +4 to -4.

2×2 서브 블록에서 각각 더해진 Rcode, Gcode, Bcode, 값이 4,3,2이면 표 2의 코드워드에서 '1', 2×2 서브 블록에서 각각 더해진 Rcode, Gcode, Bcode, 값이 1, 0, -1이면 표 2의 코드워드에서 '0', 2×2 서브 블록에서 각각 더해진 Rcode, Gcode, Bcode, 값이 -2, -3, -4이면 표 2의 코드워드에서 '-1'로 선택하여, 도 16과 같이 R->G->B의 순서로 코드워드를 탐색하여 그 결과 사각형 안에 미리 설정된 인덱스 값을 찾는다. 예컨대, 2×2 서브 블록에서 더해진 Rcode가 '-1', 2×2 서브 블록에서 더해진 Gcode가 '1', 그리고 2×2 서브 블록에서 더해진 Bcode가 '1'이면 표 2에서 벡터 대표값의 보정위치를 지시하는 인덱스는 '5'이고 따라서, 벡터 대표값의 보정위치는 표 2 및 도 15에서 (-1, 0, -1)로 결정된다. 이 실시예는 3 번의 연산으로 벡터 대표값의 보정위치를 결정하여 연산 속도가 빠르고 단순한 장점이 있다. R code , G code and B code added in 2x2 subblock, respectively, if the value is 4,3,2, '1' in the codewords in Table 2, R code , G code and B added in 2x2 subblock, respectively code , if the value is 1, 0, -1, R code , G code , B code added in '0' and 2x2 subblocks in the codeword of table 2, and table if the value is -2, -3, -4 By selecting '-1' from the codeword of 2, the codeword is searched in the order of R->G-> B as shown in FIG. 16, and as a result, a preset index value is found in the rectangle. For example, if the R code added in the 2x2 subblock is '-1', the G code added in the 2x2 subblock is '1', and the B code added in the 2x2 subblock is '1', the vector in Table 2 The index indicating the correction position of the representative value is '5', and therefore, the correction position of the vector representative value is determined as (-1, 0, -1) in Table 2 and FIG. This embodiment has the advantage of fast and simple operation speed by determining the correction position of the vector representative value by three operations.

도 16의 트리형 탐색 구조에서 구조적 특성상, 코드워드가 할당되지 않는 경우(No)가 발생할 수 있다. 예를 들어, Rcode, Gcode, Bcode가 각각 -1, 0, 0으로 결정될 수 있지만 이에 해당하는 인덱스는 없다. 이와 같은 경우에 도 17 내지 도 19를 결부하여 후술하는 바와 같이 오차를 최소화하는 방향으로 근처의 유사한 코드워드로 대체되어 인덱스가 결정된다. In the tree type search structure of FIG. 16, when a codeword is not assigned (No) may occur due to structural features. For example, R code , G code , and B code may be determined to be -1, 0, or 0, respectively, but there is no corresponding index. In such a case, the index is determined by replacing similar codewords in the vicinity in the direction of minimizing the error as described below with reference to FIGS. 17 to 19.

도 14 및 도 15와 같이 표 2의 코드워드가 정육면체의 각 꼭지점과, 선의 중심, 및 면의 중심을 모두 반영하고 있지 않기 때문에, 위와 같은 방법으로 보정위치를 선택하기 위한 인덱스를 탐색할 때 인덱스를 맵핑할 수 없는 부분이 존재한다. 이 때, 코드워드에 없는 부분들, 예를 들면 (1, 0, 0) 등은 모두 (0, 0, 0)으로 맵핑된다. 그 결과, B로 집중되었던 에러가 R, G 및 B로 분산하였고 이를 반영한 실험 결과를 통해 트리 탐색 구조에서 인덱스가 없는 부분 모두를 (0, 0, 0)으로 치환하였을 때 평균 PSNR(Peak Signal to Noise Ratio)과 화질의 더 개선된 것 을 확인할 수 있었다. 이에 대한 효과는 도 17 및 도 18로도 설명될 수 있다. Since the codewords in Table 2 do not reflect each vertex of the cube, the center of the line, and the center of the plane as shown in FIGS. 14 and 15, the index when searching the index for selecting a correction position in the same manner as described above. There is a part that cannot be mapped. At this time, all parts not included in the codeword, for example, (1, 0, 0) and the like are all mapped to (0, 0, 0). As a result, the error centered on B was distributed to R, G, and B. Based on the experimental results, the average PSNR (Peak Signal to Noise ratio) and image quality were further improved. The effects on this can also be explained with reference to FIGS. 17 and 18.

벡터 대표값이 보정 가능한 위치들 중에서 도 17과 같은 점들[(0,0,0), (-1,1,0), (-1,-1,-1)]을 가정할 때, 이와 같은 점들에 대하여 임의의 한 점에 대해 어떤 점이 더 가까운지 계산해보면 도 18과 같다. 도 18의 (a)는 RGB 영상 좌표계에서 위의 세 점들[(0,0,0), (-1,1,0), (-1,-1,-1)]의 위치를 나타낸 도면이다. 도 18의 (b)는 (0,0,0)과 (-1,1,1)의 중간 벡터의 위치를 나타낸 것이다. 도 18의 (c)는 (0,0,0)과 (-1,1,0)의 중간 벡터의 위치를 나타낸 것이다.Assuming that the vector representative values are points [(0,0,0), (-1,1,0), (-1, -1, -1)] as shown in FIG. 18 is calculated as to which point is closer to any one point. FIG. 18A is a diagram illustrating the positions of the above three points [(0,0,0), (-1,1,0), (-1, -1, -1)] in the RGB image coordinate system. . FIG. 18B shows the positions of intermediate vectors of (0,0,0) and (-1,1,1). FIG. 18C shows the positions of intermediate vectors of (0,0,0) and (-1,1,0).

도 18에서 (-1,1,0)는 도 15와 표 2의 코드워드에서 존재하지 않으므로 (0,0,0)과 (-1,1,0) 중심과 3/4 위치에 존재하는 점들은 도 18의 (c)와 같이 (-1,1,0)으로 맵핑되었다가 다시 (-1,1,1)로 매핑될 수 있다. 즉, 도 18의 (c)에서 해치 처리된 부분은 (0,0,0)에 가깝지만 (-1,1,0)으로 맵핑되는 벡터 대표값 보정의 오류가 발생할 수 있다. 이와 같은 오류를 방지하기 위해 도 15 및 표 2에서 존재하지 않은 코드워드로 선택될 경우에는 (0,0,0)으로 자동 선택되도록 도 16의 트리 탐색 구조를 도 19와 같이 보정하는 것이 바람직하다. 도 19의 인덱스 (0,0,0)는 도 16에서 NO 코드로 선택될 수 있는 조합들과 HSI 영상 좌표계에서 인텐시티(Intensity)가 가장 유사한 값이다. 또한 보다 정확하게 서브 블록의 코드워드를 선택하기 위해서 수학식 10을 아래의 수학식 11으로 수정한다. In FIG. 18, since (-1,1,0) does not exist in the codewords of FIGS. 15 and 2, the points exist at (0,0,0) and (-1,1,0) centers and 3/4 positions. They may be mapped to (-1, 1, 0) as shown in (c) of FIG. 18 and then back to (-1, 1, 1). That is, although the hatched portion in FIG. 18C is close to (0,0,0), an error of vector representative value correction mapped to (-1,1,0) may occur. In order to prevent such an error, it is preferable to correct the tree search structure of FIG. 16 as shown in FIG. . The index (0,0,0) of FIG. 19 is a value having the most similar intensity in the HSI image coordinate system and combinations that may be selected as the NO code in FIG. 16. In addition, in order to more accurately select a codeword of a subblock, Equation 10 is modified to Equation 11 below.

Figure 112008049863697-pat00022
Figure 112008049863697-pat00022

여기서, m은 2×2 서브 블록 내의 하위 벡터의 개수를 나타내고, RH는 R의 상위 대표값, RL은 하위 대표값이다. 수학식 11을 통해 산출된 코드워드의 적정성을 아래와 같은 수학식 12로 판단할 수 있다. Here, m represents the number of lower vectors in the 2x2 subblock, R H is an upper representative value of R, and R L is a lower representative value. The appropriateness of the codeword calculated through Equation 11 may be determined by Equation 12 below.

Figure 112008049863697-pat00023
Figure 112008049863697-pat00023

여기서, "aver_dis"는 벡터 대표값과 그 주변의 16 개 벡터들 사이의 평균거리이다. Here, "aver_dis" is an average distance between the vector representative value and the 16 vectors around it.

RGB 각각에 대하여 수학식 12를 적용한 값을 계산한 후에, 계산된 값들의 조합에 가장 부합하는 코드워드를 선택하여야 한다. 수학식 12에서, 평균거리에 2가 곱해진 이유는 2×2 서브 블록에서 실제로 4개의 픽셀 값이 있고, 이 픽셀 값들에 대응하는 각각의 점들과 벡터 대표값들의 차이를 더한 것이 Rcode이므로 Rcode이 평균거리의 반에 4 배만큼 곱해진 거리 이상이어야 +1로 인정하여야 하기 때문이다. After calculating the value of applying the equation (12) for each of the RGB, it is necessary to select a codeword that best matches the combination of the calculated values. In Equation 12, the average distance is multiplied by 2 because there are actually 4 pixel values in the 2 × 2 subblock, and R code is obtained by adding the difference between each point corresponding to the pixel values and the vector representative value. This is because the code must be recognized as +1 when the distance is multiplied by four times the average distance.

도 20은 기존 VQ-BTC 압축 알고리즘과 본 발명의 실시예에 따른 데이터 복원 방법 간에 벡터 대표값의 복호화를 도시화한 도면이다. 20 is a diagram illustrating decoding of a vector representative value between an existing VQ-BTC compression algorithm and a data decompression method according to an embodiment of the present invention.

도 20의 (a)는 기존 VQ-BTC의 복호화 방법이다. 이에 비하여, 본 발명의 실시예에 따른 데이터 복원 방법의 벡터 대표값 복원은 2×2 서브 블록 단위로 벡터 대표값을 도 20의 (b)와 같이 복호화하고 도 20의 (c)와 같이 RGB 격자를 이용하여 서브 블록 단위로 벡터 대표값을 보정함으로써 픽셀 값을 보정한다. 도 20의 (d)는 본 발명의 실시예에 따른 데이터 복원 방법에 의해 복원된 픽셀값의 보정된 벡터를 보여 주는 도면이다. 20A illustrates a decoding method of the existing VQ-BTC. In contrast, the vector representative value reconstruction of the data reconstruction method according to the embodiment of the present invention decodes the vector representative value in units of 2 × 2 subblocks as shown in FIG. 20B and as shown in FIG. 20C. The pixel value is corrected by correcting the vector representative value in units of subblocks. 20D is a diagram illustrating a corrected vector of pixel values reconstructed by the data reconstruction method according to the embodiment of the present invention.

본 발명의 실시예에 따른 데이터 복원 방법은 아래의 수학식 13와 같다. A data restoration method according to an embodiment of the present invention is shown in Equation 13 below.

Figure 112008049863697-pat00024
Figure 112008049863697-pat00024

여기서, (Rd, Gd, Bd)는 복호화된 픽셀값이며, (Rr, Gr, Br)는 픽셀의 벡터 대표값이고, 'L'은 벡터 대표값과 그 주변의 벡터값들 사이의 평균거리, (Rc, Gc, Bc)는 보정 위치이다. 디코더(24)는 부호화 데이터의 플래그 비트를 읽어 입력 부호화 데이터의 인코드 방식을 판단한다. 제1 인코더(21)에 의해 VQ-BTC 알고리즘으로 인코드된 부호화 데이터가 디코더(24)에 입력되면 디코더(24)는 평균 거리(L) 과 보정 위치(Rc, Gc, Bc)의 bits을 0으로 치환하여 VQ-BTC 방식으로 부호화 데이터를 복호한다. Here, (Rd, Gd, Bd) is the decoded pixel value, (Rr, Gr, Br) is the vector representative value of the pixel, 'L' is the average distance between the vector representative value and the surrounding vector values, (Rc, Gc, Bc) are correction positions. The decoder 24 reads the flag bits of the encoded data to determine the encoding method of the input encoded data. When the encoded data encoded by the VQ-BTC algorithm by the first encoder 21 is input to the decoder 24, the decoder 24 sets the average distance L and the bits of the correction positions Rc, Gc, and Bc to 0. The encoded data is decoded by using the VQ-BTC method.

도 8의 S0 단계에서 벡터 대표값들의 편차를 임계값과 비교하여 제1 인코더(21)에 의한 VQ-BTC 기반의 압축 알고리즘과 본 발명에서 제안하는 P_VQ-BTC 압축 알고리즘을 선택할 때 벡터 대표값들의 편차가 임계값보다 작을 때 VQ-BTC 기반의 압축 알고리즘이 선택된다. 이는 P_VQ-BTC는 벡터 그룹들을 2×2 서브 블록으로 분할하고 벡터 대표값을 전술한 보정 위치 결정방법으로 보정하는 과정을 통해 벡터 대표값의 편차가 클 때에도 색 표현력 저하없이 블록간 아티팩트를 방지할 수 있기 때문이다. 한편, 벡터 대표값의 편차가 클 때에 기존 VQ-BTC는 영상의 색깊이가 낮아져 색 표현력이 줄고 이웃하는 블록 간 아티펙트가 발생할 수 있다. 반면에, 기존 VQ-BTC는 벡터 대표값의 편차가 작을 때에 블록 간 아티펙트가 거의 관찰되지 않고 전술한 보정 위치 결정방법과 같은 별도의 연산과정이 없기 때문에 연산 처리가 단순하고 빠르므로 P_VQ-BTC 압축 알고리즘보다 유리하다. In the step S0 of FIG. 8, the vector representative values are selected when the VQ-BTC-based compression algorithm and the P_VQ-BTC compression algorithm proposed by the present invention are selected by comparing the deviation of the vector representative values with the threshold value. When the deviation is less than the threshold, the VQ-BTC based compression algorithm is selected. This is because P_VQ-BTC divides the vector groups into 2 × 2 sub-blocks and corrects the vector representative value by the above-described correction positioning method, thereby preventing artifacts between blocks without degrading color expression power even when the vector representative value is large. Because it can. On the other hand, when the variation of the vector representative value is large, the existing VQ-BTC has a low color depth of the image, thereby reducing color expressiveness and generating artifacts between neighboring blocks. On the other hand, in the conventional VQ-BTC, when the variation of the vector representative value is small, almost no artifacts between blocks are observed, and since there is no separate calculation process like the above-described correction positioning method, the P_VQ-BTC compression is simple and fast. Advantageous over the algorithm.

도 21a 내지 도 24e는 4 개의 실험 이미지들 각각에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상, 기존 VQ-BTC 알고리즘의 압축 및 복원된 후의 표시 영상, P_VQ-BTC(proposed_VQ_BTC) 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상, P_VQ-BTC(proposed_VQ_BTC) 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상의 실험 결과이다. 표 3은 도 21a 내지 도 24e의 실험 결과에 대한 PSNR성능의 정량적 평가이다. 21A to 24E compress the display image after compression and reconstruction of the existing BTC algorithm for each of the four experimental images, the display image after compression and reconstruction of the existing VQ-BTC algorithm, and the P_VQ-BTC (proposed_VQ_BTC) algorithm. This is an experimental result of the display image after reconstruction using the correction position determination method of the first embodiment, the display image after compression using the P_VQ-BTC algorithm, and reconstruction using the correction position determination method of the second embodiment. Table 3 is a quantitative evaluation of PSNR performance for the experimental results of FIGS. 21A-24E.

기존 BTC(1/3 압축) Legacy BTC (1/3 Compression) 기존 VQ-BTC (1/6 압축) Conventional VQ-BTC (1/6 Compression) P_VQ-BTC(1/6 압축), 제1 실시예의 보정 위치 결정방법P_VQ-BTC (1/6 Compression), Correction Positioning Method of First Embodiment P_VQ-BTC(1/6 압축), 제2 실시예의 보정 위치 결정방법P_VQ-BTC (1/6 Compression), Correction Positioning Method of Second Embodiment Parrot
(768x512)
Parrot
(768 x 512)
36.2136.21 33.9633.96 34.6234.62 34.2434.24
Korea014
(1000x668)
Korea014
(1000x668)
31.9331.93 30.2430.24 30.8930.89 30.6630.66
Cafe(1280x768)
Cafe (1280x768)
28.7328.73 26.5426.54 27.5627.56 27.4727.47
Fruit-XW
(1280x768)
Fruit-XW
(1280x768)
33.7633.76 32.1532.15 32.6432.64 32.3432.34

표 3에서 알 수 있는 바와 같이, 어떠한 실험영상에서도 본 발명에서 제안하는 P_VQ-BTC의 PSNR 평가 결과가 높다는 것을 알 수 있고 육안 평가에서도 색표현력과 블러가 개선되는 것을 확인할 수 있었다. 도 22의 실험 영상을 예를 들어 설명하면, 도 25는 도 22b 내지 도 22d의 일부를 확대한 실험 영상이다. 도 25의 (a)는 기존 BTC 알고리즘(1/3 압축)의 실험 영상, 도 25의 (b)는 기존 VQ-BTC 알고리즘(1/6 압축)의 실험 영상, 그리고 도 25의 (c)는 P_VQ-BTC에서 제1 실시예의 보종 위치 결정방법을 적용한 실험 영상을 각각 나타낸다. 도 25의 박스 내의 이미지를 비교해 보면, 육안으로도 도 25의 (c)에서 블러가 개선됨을 확인할 수 있다.As can be seen from Table 3, it can be seen that the PSNR evaluation result of P_VQ-BTC proposed in the present invention is high in any experimental image, and it was confirmed that color expression power and blur were improved even in visual evaluation. For example, the experimental image of FIG. 22 will be described. FIG. 25 is an enlarged experimental image of portions of FIGS. 22B to 22D. 25 (a) is an experimental image of the existing BTC algorithm (1/3 compression), FIG. 25 (b) is an experimental image of the existing VQ-BTC algorithm (1/6 compression), and FIG. 25 (c) is Experimental images to which the complementary positioning method of the first embodiment is applied in P_VQ-BTC are respectively shown. Comparing the images in the box of FIG. 25, it can be seen that blur is improved in FIG. 25C even with the naked eye.

본 발명의 이해를 돕기 위하여 BTC 알고리즘과 VQ-BTC 알고리즘의 부호화 과정에 대하여 실예를 들어 설명하면 다음과 같다. In order to help the understanding of the present invention, the encoding process of the BTC algorithm and the VQ-BTC algorithm will be described as an example.

BTC 알고리즘은 RGB 각각에 대해 스칼라 양자화기(scalar quantizer)를 적용하였다. 이에 비하여, 제1 인코더(21)에 의해 처리되는 VQ-BTC 알고리즘은 RGB 각각을 (R, G, B)의 벡터로 표현하고, 이 벡터들을 이용하여 벡터 양자화기(vector quantizer)를 적용한다. The BTC algorithm applied a scalar quantizer for each of RGB. In contrast, the VQ-BTC algorithm processed by the first encoder 21 represents each of the RGB as a vector of (R, G, B) and applies a vector quantizer using these vectors.

기존 BTC 알고리즘과 VQ-BTC 알고리즘에서 문턱치(threshold)를 결정 방법에 대하여 도 26의 예를 들어 설명하기로 한다. A method of determining a threshold in the existing BTC algorithm and the VQ-BTC algorithm will be described with reference to the example of FIG. 26.

도 26은 제1 인코더(21)에 입력되는 실험 영상의 RGB 블록 예로써 768×512 parrot 이미지(YCbCr 4:2:0)의 (136,188) 부분에서 2×4 블록 사이즈로 추출된 블록이다,FIG. 26 is an example RGB block of an experimental image input to the first encoder 21. In the (136,188) part of the image (YCbCr 4: 2: 0), the block is extracted in a 2 × 4 block size.

기존 BTC 알고리즘은 블록 내 픽셀값들의 평균값이 양자화 문턱치(quantization threshold)로 결정된다. 즉, 기존 BTC 알고리즘은 RGB 각각에서 서로 다른 문턱치가 할당된다. 이렇게 기존 BTC 알고리즘은 RGB 각각에 서로 다른 문턱치가 할당되므로 문턱치 차이에 의해 색왜곡(Color distortion)이 발생할 수 있다. 2×4 블록의 최좌측 상위 RGB 픽셀값은 (229, 210, 200)이므로 화이트 계조에 가까운 영상이지만 BTC 알고리즘으로 인코딩된 (248, 158, 148)은 분홍색에 가까운 계조로 된다. 만약, BTC 알고리즘에 YCbCr 4:2:0 변환 알고리즘이 추가된다면 색 왜곡은 더욱 심하게 보인다. In the conventional BTC algorithm, an average value of pixel values in a block is determined as a quantization threshold. That is, in the conventional BTC algorithm, different thresholds are assigned to each of RGB. In the conventional BTC algorithm, since different thresholds are allocated to each of RGB, color distortion may occur due to the threshold difference. Since the left-most upper RGB pixel value of the 2x4 block is (229, 210, 200), the image is close to white gradation, but (248, 158, 148) encoded by the BTC algorithm is gradation close to pink. If the YCbCr 4: 2: 0 conversion algorithm is added to the BTC algorithm, the color distortion looks more severe.

도 26과 같은 768×512 parrot 이미지(YCbCr 4:2:0)의 (136,188) 부분에서 2×4 블록 사이즈로 추출된 블록에 대하여 VQ-BTC 알고리즘으로 인코딩하는 과정은 다음과 같다. 768 × 512 parrot as shown in Fig. 26 The process of encoding the block extracted with the 2 × 4 block size in the (136,188) portion of the image (YCbCr 4: 2: 0) by the VQ-BTC algorithm is as follows.

도 27은 RGB 각각의 블록 내의 픽셀값들을 같은 위치에 있는 요소들끼리 묶어서 벡터값들로 변환한 예를 나타낸다. VQ-BTC 알고리즘은 그 벡터값들을 k-mean clustering을 이용해서 양자화를 실행한다. 그 방법을 단계적으로 구분하면 다음과 같다. FIG. 27 shows an example of converting pixel values in each block of RGB into vector values by grouping elements at the same position. The VQ-BTC algorithm quantizes the vector values using k-mean clustering. The method can be classified step by step as follows.

(1) 각 벡터값들 사이의 거리를 계산한다. 거리 계산방법은 전술한 바와 같이 유클리디한 거리 계산방법이나 맨하탄 거리 계산방법이 적용될 수 있다. (1) Calculate the distance between each vector value. As described above, the Euclidean distance calculation method or the Manhattan distance calculation method may be applied as described above.

(2) 산출된 거리 중 최장거리를 선택하고 그 최장거리로 이격된 벡터값들이 어떤 벡터값들인지 판단한다. (2) Select the longest distance from the calculated distances and determine which vector values are spaced apart from the longest distance.

(3) 산출된 두 벡터값들을 기준으로 나머지 벡터들을 거리가 가까운 벡터 중심으로 나눈다. 그 결과, 각 블록에서 벡터값들은 2 개의 그룹 즉, 상위 블록과 하위 블록으로 나뉘어진다. (3) Based on the calculated two vector values, the remaining vectors are divided by the nearest vector center. As a result, the vector values in each block are divided into two groups, that is, an upper block and a lower block.

(4) 각 그룹 내의 벡터값들을 이용하여 평균 벡터(벡터 대표값)를 계산한다. (4) The average vector (vector representative value) is calculated using the vector values in each group.

(5) 산출된 평균 벡터를 기준으로 다시 (3)~(5)를 반복(iteration)한다. (5) Repeat (3) to (5) again based on the calculated average vector.

이와 같은 과정을 도 28 내지 도 30을 결부하여 예를 들어 설명하기로 한다. This process will be described by way of example with reference to FIGS. 28 to 30.

도 28은 벡터값들 간의 맨하탄 거리를 나타낸다. 도 28에서 최장거리는 363이 되고, 그에 상응하는 벡터값은 (255, 255, 255)와 (150, 131, 121)이다. 이렇게 산출된 벡터값을 기준으로 나머지 6개의 벡터를 도 29와 같이 2개의 그룹으로 나눈다. 28 shows the Manhattan distance between the vector values. In FIG. 28, the longest distance is 363, and corresponding vector values are (255, 255, 255) and (150, 131, 121). Based on the calculated vector value, the remaining six vectors are divided into two groups as shown in FIG. 29.

도 29를 참조하면, 벡터값들은 거리에 따라 2개의 그룹으로 나누어진다. VQ-BTC 알로리즘은 각 그룹 안에 속한 벡터값들을 이용하여 각 그룹의 평균을 계산한다. (255, 255, 255)가 속한 그룹을 그룹1, 나머지 그룹을 그룹2라 한다면, 그룹1의 평균은 (247, 242, 238)이고, 그룹2의 평균은 (162, 143, 133)이다. VQ-BTC 알로리즘은 이렇게 구해진 평균을 이용하여 벡터들과, 평균 벡터(벡터 대표값) 사이의 거리를 다시 측정하고 이를 바탕으로 그룹을 재결성한다. 그 결과, VQ-BTC의 그룹화와 벡터값들은 도 30과 같다. 도 30에서 평균 벡터가 각 그룹의 벡터 대표값이다. 그룹1의 벡터 대표값은 상위 대표값이고, 그룹2의 벡터 대표값은 하위 대표값이다. Referring to FIG. 29, vector values are divided into two groups according to distances. The VQ-BTC algorithm calculates the mean of each group using the vector values in each group. If the group to which (255, 255, 255) belongs is Group 1 and the rest of the group is Group 2, the average of Group 1 is (247, 242, 238), and the average of Group 2 is (162, 143, 133). The VQ-BTC algorithm uses the average thus obtained to re-measure the distance between the vectors and the mean vector (vector representative value) and reassemble the group based on this. As a result, the grouping and vector values of the VQ-BTC are as shown in FIG. In Fig. 30, the average vector is a vector representative value of each group. The vector representative value of the group 1 is the upper representative value, and the vector representative value of the group 2 is the lower representative value.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.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은 통상의 액정표시장치에 있어서 데이터에 따른 휘도 변화를 나타내는 파형도이다. 1 is a waveform diagram showing a change in luminance according to data in a conventional liquid crystal display.

도 2는 과구동 방법에서 데이터 변조에 따른 휘도 변화의 일례를 나타내는 파형도이다. 2 is a waveform diagram showing an example of a luminance change caused by data modulation in the overdrive method.

도 3은 과구동 회로를 나타내는 회로도이다. 3 is a circuit diagram showing an overdrive circuit.

도 4는 종래의 BTC 압축 알고리즘의 일예를 나타내는 도면이다. 4 is a diagram illustrating an example of a conventional BTC compression algorithm.

도 5는 종래의 VQ-BTC 압축 알고리즘의 일예를 나타내는 도면이다. 5 is a diagram illustrating an example of a conventional VQ-BTC compression algorithm.

도 6은 본 발명의 실시예에 따른 액정표시장치를 나타내는 도면이다. 6 illustrates a liquid crystal display according to an exemplary embodiment of the present invention.

도 7은 도 6에 도시된 과구동 처리회로를 상세히 나타내는 블록도이다. FIG. 7 is a block diagram illustrating in detail the overdrive processing circuit shown in FIG. 6.

도 8은 도 7에 도시된 인코더와 처리수순을 단계적으로 보여 주는 도면이다. FIG. 8 is a diagram illustrating the encoder and the processing procedure shown in FIG. 7 step by step.

도 9는 제1 인코더(21)에 의해 VQ-BTC 압축 알고리즘으로 인코드된 데이터 패킷을 보여 주는 도면이다. 9 is a diagram showing a data packet encoded by the first encoder 21 with the VQ-BTC compression algorithm.

도 10은 제2 인코더(23)에 의해 P_VQ-BTC 압축 알고리즘으로 인코드된 데이터 패킷이다. 10 is a data packet encoded by the P_VQ-BTC compression algorithm by the second encoder 23.

도 11은 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 데이터 패킷을 보여 주는 도면이다. 11 is a diagram illustrating a data packet generated by a conventional VQ-BTC compression algorithm.

도 12a 내지 도 12c는 벡터 대표값의 복호화 예를 보여 주는 도면들이다. 12A to 12C are diagrams illustrating an example of decoding a vector representative value.

도 13은 본 발명의 제1 실시예에 따른 벡터 대표값의 보정위치 결정방법에서 RGB 영상 좌표계와 HSI 영상 좌표계 사이의 변환 과정을 보여 주는 도면이다. FIG. 13 is a view illustrating a conversion process between an RGB image coordinate system and an HSI image coordinate system in the method for determining a corrected position of a vector representative value according to the first embodiment of the present invention.

도 14는 HSI 영상 좌표계에서 보여 지는 벡터 위치들과 HSI 영상 좌표계의 I축 차이에 따라 존재하는 벡터 위치를 평면으로 나타내는 도면이다. FIG. 14 is a diagram illustrating vector positions present in HSI image coordinate systems and vector positions existing according to I-axis differences between HSI image coordinate systems.

도 15는 역변환된 RGB 영상 좌표계에서 벡터 대표값이 보정될 수 있는 벡터 위치들을 4 bits 코드워드로 맵핑한 예를 보여 주는 도면이다. FIG. 15 is a diagram illustrating an example of mapping vector positions where a vector representative value may be corrected to a 4-bit codeword in an inverse transformed RGB image coordinate system.

도 16은 본 발명의 제2 실시예에 따른 벡터 대표값의 보정위치 결정방법에서 트리 탐색을 도식화한 도면이다. 16 is a diagram illustrating a tree search in the method for determining the position of correction of the vector representative value according to the second embodiment of the present invention.

도 17은 도 17은 정육면체에서 벡터 대표값이 보정될 수 있는 임의의 세 점들을 보여 주는 도면이다. FIG. 17 is a diagram showing three arbitrary points at which a vector representative value can be corrected in a cube.

도 18은 도 17과 같은 세 점들 사이에 존재하지만 도 15 및 표 2의 코드워드에서 존재하는 않는 보정 위치를 그와 유사한 보정 위치로 치환할 때 발생하는 오류를 보여 주는 도면이다. FIG. 18 is a diagram illustrating an error occurring when a correction position existing between three points as shown in FIG. 17 but not present in the codewords of FIGS. 15 and 2 is replaced with a similar correction position.

도 19는 도 16에서 도 15 및 표 2의 코드워드에서 존재하지 않는 보정 위치를 (0,0,0)으로 치환한 결과를 보여 주는 도면이다. FIG. 19 is a diagram illustrating a result of substituting (0,0,0) for a correction position that does not exist in the codewords of FIG. 15 and Table 2 in FIG.

도 20은 VQ-BTC와 P_VQ-BTC의 복호화 방법을 도식화한 도면이다. 20 is a diagram illustrating a decoding method of VQ-BTC and P_VQ-BTC.

도 21a는 실험 이미지 "Parrot(해상도: 768×512)"의 오리지널 이미지이다. 21A is the original image of the experimental image "Parrot (resolution: 768 x 512)".

도 21b는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. 21B is an image showing a display image after compression and reconstruction of the existing BTC algorithm for the experimental image "Parrot (resolution: 768 x 512)".

도 21c는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 21C is an image showing a display image after being compressed and reconstructed with the existing VQ-BTC algorithm for the experimental image “Parrot (resolution: 768 × 512)”.

도 21d는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 P_VQ-BTC 알고리 즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 21D is an image showing a display image after compression with the P_VQ-BTC algorithm for the experimental image "Parrot (resolution: 768 x 512)" and restored using the correction position determination method of the first embodiment.

도 21e는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 21E is an image showing a display image after compression by the P_VQ-BTC algorithm for the experimental image "Parrot (resolution: 768 x 512)" and restored using the correction position determination method of the second embodiment.

도 22a는 실험 이미지 "Korea014(해상도: 1000×668)"의 오리지널 이미지이다. 22A is an original image of the experimental image "Korea014 (resolution: 1000 x 668)".

도 22b는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 22B is an image showing a display image after compression and reconstruction of the existing BTC algorithm for the experimental image “Korea014 (resolution: 1000 × 668)”. FIG.

도 22c는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 22C is an image showing a display image after being compressed and reconstructed with the existing VQ-BTC algorithm for the experimental image “Korea014 (resolution: 1000 × 668)”.

도 22d는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 22D is an image showing a display image after compression by the P_VQ-BTC algorithm for the experimental image “Korea014 (resolution: 1000 × 668)” and restored using the correction position determination method of the first embodiment.

도 22e는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 22E is an image showing a display image after being compressed by the P_VQ-BTC algorithm for the experimental image “Korea014 (resolution: 1000 × 668)” and reconstructed using the correction position determination method of the second embodiment.

도 23a는 실험 이미지 "cafe(해상도: 1280×768)"를 보여 주는 이미지이다. 23A is an image showing an experimental image "cafe (resolution: 1280 x 768)."

도 23b는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 23B is an image showing a display image after compression and reconstruction of the existing BTC algorithm for the experimental image “cafe (resolution: 1280 × 768)”.

도 23c는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 23C is an image showing a display image after being compressed and reconstructed with the existing VQ-BTC algorithm for the experimental image “cafe (resolution: 1280 × 768)”.

도 23d는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 23D is an image showing a display image after being compressed by the P_VQ-BTC algorithm for the experimental image "cafe (resolution: 1280 x 768)" and restored using the correction position determination method of the first embodiment.

도 23e는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. Fig. 23E is an image showing a display image after compression by the P_VQ-BTC algorithm for the experimental image "cafe (resolution: 1280 x 768)" and restored using the correction position determination method of the second embodiment.

도 24a는 실험 이미지 "Fruit-XW(해상도: 1280×768)"의 오리지널 이미지이다. 24A is the original image of the experimental image "Fruit-XW (resolution: 1280 x 768)".

도 24b는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. 24B is an image showing a display image after compression and reconstruction of the existing BTC algorithm for the experimental image “Fruit-XW (resolution: 1280 × 768)”.

도 24c는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다. 24C is an image showing a display image after being compressed and reconstructed with the existing VQ-BTC algorithm for the experimental image "Fruit-XW (resolution: 1280 x 768)."

도 24d는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 24D is an image showing a display image after being compressed with the P_VQ-BTC algorithm for the experimental image "Fruit-XW (resolution: 1280 x 768)" and restored using the correction position determination method of the first embodiment.

도 24e는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다. FIG. 24E is an image showing a display image after compression by the P_VQ-BTC algorithm for the experimental image "Fruit-XW (resolution: 1280 x 768)" and restored using the correction position determination method of the second embodiment.

도 25는 도 22b 내지 도 22d의 일부를 확대한 이미지이다. FIG. 25 is an enlarged image of a portion of FIGS. 22B to 22D.

도 26은 실험 이미지 "parrot의 (136,188) 부분"에서 추출된 2×4 블록과 그 픽셀값들을 나타내는 도면이다. Fig. 26 is a view showing 2 × 4 blocks extracted from the experimental image (136,188 part of parrot) and their pixel values.

도 27은 VQ-BTC 알고리즘에 의해 블록 내의 픽셀값들이 벡터값들로 변환된 예를 나타내는 도면이다. 27 is a diagram illustrating an example in which pixel values in a block are converted to vector values by the VQ-BTC algorithm.

도 28은 도 27의 벡터값들 간의 맨하탄 거리를 나타내는 도면이다. FIG. 28 is a diagram illustrating a Manhattan distance between the vector values of FIG. 27.

도 29는 도 28의 벡터값들 간의 거리를 기초로 하여 그룹화된 예를 나타내는 도면이다. FIG. 29 is a diagram illustrating an example grouping based on distances between vector values of FIG. 28.

도 30은 VQ-BTC 알고리즘에 의해 결정된 벡터 대표값을 나타내는 도면이다. 30 is a diagram illustrating a vector representative value determined by the VQ-BTC algorithm.

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

10 : 과구동 처리회로 21, 22, 23 : 인코더10: overdrive processing circuit 21, 22, 23: encoder

24 : 디코더 25 : 룩업 테이블24: Decoder 25: Lookup Table

Claims (11)

(a) 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; (a) executing a VQ-BTC algorithm on the input data to generate first encoded data including a bitmap and first vector representative values and assigning a flag bit for identifying the first encoded data to the first encoded data; Adding first encoded data to be added; (b) 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계;(b) a second including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values; Generating encoded data; (c) 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; (c) correcting the second vector representative values using the average distance and the correction position; (d) 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및 (d) adding flag bits for identifying the second coded data to the second coded data; And (e) 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 압축 방법. (e) comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result. 제 1 항에 있어서, The method of claim 1, 상기 (b) 단계와 상기 (c) 단계 사이에서 입력 데이터의 블록을 그보다 작은 서브 블록으로 나누는 단계를 더 포함하는 것을 특징으로 하는 데이터 압축 방법. And dividing a block of input data into smaller sub-blocks between (b) and (c). 제 2 항에 있어서, The method of claim 2, 상기 (c) 단계는,In step (c), 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; Expressing the second vector representative value and the plurality of vector values in the periphery of each of the sub-blocks in an HSI image coordinate system, and dividing the vector values along an I axis of the HSI image coordinate system, and then inversely converting the RGB vector coordinate system into an RGB image coordinate system ; 상기 역변환된 RGB 영상 좌표계에서 표현된 벡터 위치들 각각을 코드워드로 맵핑하는 단계; 및 Mapping each of the vector positions represented in the inverse transformed RGB image coordinate system into a codeword; And 아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함하고, Selecting the codeword according to the following mean error equation (MSE) to correct the second vector representative value, 상기 제2 벡터 대표값은 상기 제2 벡터 대표값의 주변에 존재하는 상기 벡터값들의 평균값인 것을 특징으로 하는 데이터 압축 방법. And the second vector representative value is an average value of the vector values existing around the second vector representative value.
Figure 112010015018639-pat00025
Figure 112010015018639-pat00025
여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 상기 서브 블록 각각에서 상기 벡터값들의 개수를 나타낸다. Where (Rr, Gr, Br) is the second vector representative value of the nth pixel, (Rn, Gn, Bn) is the actual pixel value of the nth pixel, (Rc, Gc, Bc) is the correction position, and 'm' represents the number of the vector values in each of the subblocks.
제 2 항에 있어서, The method of claim 2, 상기 (c) 단계는, In step (c), 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; Expressing the second vector representative value and the plurality of vector values in the periphery of each of the sub-blocks in an HSI image coordinate system, and dividing the vector values along an I axis of the HSI image coordinate system, and then inversely converting the RGB vector coordinate system into an RGB image coordinate system ; 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 벡터 위치들 각각을 코드워드로 맵핑하는 단계; 및 Mapping each of the vector positions represented in the inverse transformed RGB image coordinate system into a codeword; And 아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함하고, Calculating each of the following R code , G code , and B code , and selecting the codeword based thereon to correct the second vector representative value, 상기 제2 벡터 대표값은 상기 제2 벡터 대표값의 주변에 존재하는 상기 벡터값들의 평균값인 것을 특징으로 하는 데이터 압축 방법. And the second vector representative value is an average value of the vector values existing around the second vector representative value.
Figure 112010015018639-pat00026
Figure 112010015018639-pat00026
여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 벡터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다. Here, R 1 , R 2 , R 3 and R 4 are bit values of the sub block in R data, G 1 , G 2 , G 3 and G 4 are bit values of the sub block in G data, B 1 , B 2 , B 3 and B 4 are bit values of the sub block in B data, m is the number of the vector values in each of the sub blocks, R H is the upper representative value of the second vector representative value in R, R L is a lower representative value of the second vector representative value.
비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받는 단계; 및 Receiving encoded data including a bitmap, vector representative values consisting of upper bits only, an average distance between the vector representative values and the surrounding vector values, and a correction position of each of the vector values; And 아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 단계를 포함하는 것을 특징으로 하는 데이터 복원 방법. And decoding the encoded data by using the following equation.
Figure 112008049863697-pat00027
Figure 112008049863697-pat00027
여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다. Where (Rd, Gd, Bd) is the decoded pixel value, (Rr, Gr, Br) is the vector representative value, 'L' is the average distance, and (Rc, Gc, Bc) is the correction position, respectively. Indicates.
입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; Performing a VQ-BTC algorithm on the input data to generate first encoded data comprising a bitmap and a first vector representative value and adding flag bits for identifying the first encoded data to the first encoded data; A first encoder for adding one encoded data; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하며, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 및 Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. A second encoder which generates the second vector representative values by using the average distance and the correction position, and adds a flag bit to the second encoded data to identify the second encoded data; And 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기를 구비하는 것을 특징으로 하는 데이터 압축 장치. And a selector for comparing the deviation between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result. 제 6 항에 있어서, The method of claim 6, 상기 제2 인코더는,The second encoder, 입력 데이터의 블록을 그보다 작은 서브 블록으로 나누고 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하고,The block of input data is divided into smaller sub-blocks, and the second vector representative value and the plurality of vector values existing in the periphery of each of the sub-blocks are represented in an HSI image coordinate system, and the vector value is along an I axis of the HSI image coordinate system. Split them and then inversely transform them into an RGB image coordinate system, 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 벡터 위치들 각각을 코드워드로 맵핑한 후에, After mapping each of the vector positions represented in the inverse transformed RGB image coordinate system to a codeword, 아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하고, Selecting the codeword according to the following mean error equation (MSE) to correct the second vector representative value, 상기 제2 벡터 대표값은 상기 제2 벡터 대표값의 주변에 존재하는 상기 벡터값들의 평균값인 것을 특징으로 하는 데이터 압축 장치. And the second vector representative value is an average value of the vector values existing around the second vector representative value.
Figure 112010015018639-pat00028
Figure 112010015018639-pat00028
여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 서브 블록 각각에서 벡터값들의 개수를 각각 나타낸다. Where (Rr, Gr, Br) is the second vector representative value of the nth pixel, (Rn, Gn, Bn) is the actual pixel value of the nth pixel, (Rc, Gc, Bc) is the correction position, and 'm' represents the number of vector values in each subblock.
제 6 항에 있어서, The method of claim 6, 상기 제2 인코더는,The second encoder, 입력 데이터의 블록을 그보다 작은 서브 블록으로 나누고 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하고, The block of input data is divided into smaller sub-blocks, and the second vector representative value and the plurality of vector values existing in the periphery of each of the sub-blocks are represented in an HSI image coordinate system, and the vector value is along an I axis of the HSI image coordinate system. Split them and then inversely transform them into an RGB image coordinate system, 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 벡터 위치들 각각을 코드워드로 맵핑한 후에, After mapping each of the vector positions represented in the inverse transformed RGB image coordinate system to a codeword, 아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하고, Calculate the following R code , G code , and B code , respectively, and select the codeword based thereon to correct the second vector representative value, 상기 제2 벡터 대표값은 상기 제2 벡터 대표값의 주변에 존재하는 상기 벡터값들의 평균값인 것을 특징으로 하는 데이터 압축 장치. And the second vector representative value is an average value of the vector values existing around the second vector representative value.
Figure 112010015018639-pat00029
Figure 112010015018639-pat00029
여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 벡터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다. Here, R 1 , R 2 , R 3 and R 4 are bit values of the sub block in R data, G 1 , G 2 , G 3 and G 4 are bit values of the sub block in G data, B 1 , B 2 , B 3 and B 4 are bit values of the sub block in B data, m is the number of the vector values in each of the sub blocks, R H is the upper representative value of the second vector representative value in R, R L is a lower representative value of the second vector representative value.
비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받아 아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 디코더를 구비하는 것을 특징으로 하는 데이터 복원 장치. By receiving encoded data including a bitmap, vector representative values consisting of upper bits only, average distance between vector representative values and surrounding vector values, and correction positions of the respective vector values, And a decoder which decodes the encoded data.
Figure 112008049863697-pat00030
Figure 112008049863697-pat00030
여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다. Where (Rd, Gd, Bd) is the decoded pixel value, (Rr, Gr, Br) is the vector representative value, 'L' is the average distance, and (Rc, Gc, Bc) is the correction position, respectively. Indicates.
입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; Performing a VQ-BTC algorithm on the input data to generate first encoded data comprising a bitmap and a first vector representative value and adding flag bits for identifying the first encoded data to the first encoded data; A first encoder for adding one encoded data; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하고, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. A second encoder that generates the second vector representative values by using the average distance and the correction position, and adds a flag bit for identifying the second encoded data to the second encoded data; 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기; 및 A selector for comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result; And 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 액정표시패널의 구동회로를 구비하는 것을 특징으로 하는 액정표시장치. Decodes the selected encoded data to generate previous frame data, modulates the input data by selecting a modulation value listed in a lookup table using the previous frame data and the current frame data as addresses, and displays the modulated data on the LCD panel. And a driving circuit for the liquid crystal display panel. 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; Performing a VQ-BTC algorithm on the input data to generate first encoded data comprising a bitmap and a first vector representative value and adding flag bits for identifying the first encoded data to the first encoded data; Adding 1 encoded data; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계;Second coded data including the bitmap, second vector representative values consisting of upper bits only, an average distance between the second vector representative values and vector values in the vicinity thereof, and a correction position of each of the vector values. Generating; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정 하는 단계; Correcting the second vector representative values using the average distance and the correction position; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; Adding a flag bit for identifying the second encoded data to the second encoded data; 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계; 및 Comparing the deviations between the vector representatives with a predetermined threshold and selecting outputs of the first and second encoders according to the comparison result; And 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 것을 특징으로 하는 액정표시장치의 구동방법.Decodes the selected encoded data to generate previous frame data, modulates the input data by selecting a modulation value listed in a lookup table using the previous frame data and the current frame data as addresses, and displays the modulated data on the LCD panel. A method of driving a liquid crystal display device, characterized in that.
KR1020080067242A 2008-07-10 2008-07-10 Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same KR100962506B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080067242A KR100962506B1 (en) 2008-07-10 2008-07-10 Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080067242A KR100962506B1 (en) 2008-07-10 2008-07-10 Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same

Publications (2)

Publication Number Publication Date
KR20100006918A KR20100006918A (en) 2010-01-22
KR100962506B1 true KR100962506B1 (en) 2010-06-14

Family

ID=41815981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080067242A KR100962506B1 (en) 2008-07-10 2008-07-10 Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same

Country Status (1)

Country Link
KR (1) KR100962506B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102518934B1 (en) * 2016-07-13 2023-04-17 주식회사 엘엑스세미콘 Apparatus, method and device for processing video data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050200361A1 (en) 2004-01-27 2005-09-15 Werner Bumen Ignition coil tester
JP2006195170A (en) 2005-01-13 2006-07-27 Nec Electronics Corp Controller driver and liquid crystal display device using the driver
JP2006195151A (en) 2005-01-13 2006-07-27 Nec Electronics Corp Controller driver, liquid crystal display device using the driver and liquid crystal driving method
KR20080024796A (en) * 2006-09-15 2008-03-19 엘지.필립스 엘시디 주식회사 Image data processing method for display device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050200361A1 (en) 2004-01-27 2005-09-15 Werner Bumen Ignition coil tester
JP2006195170A (en) 2005-01-13 2006-07-27 Nec Electronics Corp Controller driver and liquid crystal display device using the driver
JP2006195151A (en) 2005-01-13 2006-07-27 Nec Electronics Corp Controller driver, liquid crystal display device using the driver and liquid crystal driving method
KR20080024796A (en) * 2006-09-15 2008-03-19 엘지.필립스 엘시디 주식회사 Image data processing method for display device

Also Published As

Publication number Publication date
KR20100006918A (en) 2010-01-22

Similar Documents

Publication Publication Date Title
KR100837410B1 (en) Method and apparatus for visually lossless image data compression
KR101270167B1 (en) Method and apparatus of low complexity for compressing image, method and apparatus of low complexity for reconstructing image
US8111933B2 (en) Image processing circuit, and display panel driver and display device mounting the circuit
CN101645256B (en) Generator of overdrive lookup table of liquid crystal display device and generating method thereof
CN111837384A (en) Frequency component selection for image compression
JP2007312126A (en) Image processing circuit
JP2020536283A (en) How to compress the grayscale correction table of the OLED display panel
US8675732B2 (en) Method and apparatus of compressing image data
US20140111564A1 (en) Timing controller and display device having the same
JP4650512B2 (en) Image coding apparatus and integrated circuit device
JP3660273B2 (en) Display device
KR100917530B1 (en) Image processing device, image processing method, image coding device, image coding method and image display device
KR101596954B1 (en) Data Compressing and Decompressing Method and Apparatus Liquid Crystal Display using the same
KR100886295B1 (en) Image processing device, image processing method, and image display device
KR20150061743A (en) Display driving apparatus and driving method thereof
KR100962506B1 (en) Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same
KR102401851B1 (en) Method of compressing image and display apparatus for performing the same
CN114120915A (en) Data compression method and device and data decompression method and device
JP2011124866A (en) Encoding apparatus and display control apparatus
KR101560229B1 (en) A liquid crystal display device and a method for driving the same
EP3893504A1 (en) Systems and methods for low-complexity near lossless fixed-rate hybrid data compression codecs
KR101106439B1 (en) Video modulation device, modulating method thereof, liquid crystal display device having the same and driving method thereof
US8774505B2 (en) Method and apparatus of fixed bit-rate image compression/decompression based on 2×2 image unit
JP2009027556A (en) Image processing circuit
KR20070111111A (en) Method of compressing and decompressing image and equipment thereof

Legal Events

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

Payment date: 20150528

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180515

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 10