KR20100006918A - 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법 - Google Patents

데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법 Download PDF

Info

Publication number
KR20100006918A
KR20100006918A KR1020080067242A KR20080067242A KR20100006918A KR 20100006918 A KR20100006918 A KR 20100006918A KR 1020080067242 A KR1020080067242 A KR 1020080067242A KR 20080067242 A KR20080067242 A KR 20080067242A KR 20100006918 A KR20100006918 A KR 20100006918A
Authority
KR
South Korea
Prior art keywords
vector
values
data
encoded data
representative value
Prior art date
Application number
KR1020080067242A
Other languages
English (en)
Other versions
KR100962506B1 (ko
Inventor
유태호
고성제
황민철
한종우
김성균
Original Assignee
엘지디스플레이 주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지디스플레이 주식회사, 고려대학교 산학협력단 filed Critical 엘지디스플레이 주식회사
Priority to KR1020080067242A priority Critical patent/KR100962506B1/ko
Publication of KR20100006918A publication Critical patent/KR20100006918A/ko
Application granted granted Critical
Publication of KR100962506B1 publication Critical patent/KR100962506B1/ko

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

본 발명은 데이터를 압축 및 복원하기 위한 데이터 압축 방법에 관한 것이다.
이 데이터 압축 방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함한다.

Description

데이터 압축과 복원 방법 및 장치와 이를 이용한 액정표시장치와 그 구동방법{Data Compressing and Decompressing Method and Apparatus, Liquid Crystal Display and Driving Method using the same}
본 발명은 데이터를 압축 및 복원하기 위한 데이터 압축 방법 및 장치와 그 복원 방법 및 장치에 관한 것이다. 또한, 본 발명은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동(Over driving control, ODC) 방식으로 변조하는 액정표시장치와 그 구동방법에 관한 것이다.
액정표시장치는 수학식 1 및 2와 같이 액정의 고유한 점성과 탄성 등의 특성에 의해 응답속도가 느린 단점이 있다.
Figure 112008049863697-PAT00001
여기서, τr는 액정에 전압이 인가될 때의 라이징 타임(rising time)을, Va는 인가전압을, VF는 액정분자가 경사운동을 시작하는 프리드릭 천이 전압(Freederick Transition Voltage)을, d는 액정셀의 셀갭(cell gap)을,
Figure 112008049863697-PAT00002
(gamma)는 액정분자의 회전점도(rotational viscosity)를 각각 의미한다.
Figure 112008049863697-PAT00003
여기서, τf는 액정에 인가된 전압이 오프된 후 액정이 탄성 복원력에 의해 원위치로 복원되는 폴링타임(falling time)을, K는 액정 고유의 탄성계수를 각각 의미한다.
액정표시장치에 가장 일반적으로 사용되어 왔던 액정 모드인 TN 모드(Twisted Nematic mode)의 액정 응답속도는 액정 재료의 물성과 셀갭 등에 의해 달라질 수 있지만 통상, 라이징 타임이 20-80ms이고 폴링 타임이 20-30ms이다. 이러한 액정의 응답속도는 한 프레임기간(NTSC : 16.67ms)보다 길다. 이 때문에 도 1과 같이 액정셀에 충전되는 전압이 원하는 전압에 도달하기 전에 다음 프레임으로 진행되므로 동영상에서 모션 블러(Motion Blurr) 현상이 나타난다.
도 1을 참조하면, 액정의 느린 응답속도로 인하여 한 레벨에서 다른 레벨로 데이터(VD)가 변할 때 그에 대응하는 표시 휘도(BL)가 원하는 휘도에 도달하지 못하게 되어 원하는 색과 휘도를 표현하지 못하게 된다. 그 결과, 액정표시장치는 동영상에서 모션 블러가 나타나므로 화질이 떨어진다.
이러한 액정표시소자의 느린 응답속도를 해결하기 위하여, 미국특허 제5,495,265호와 PCT 국제공개번호 WO 99/05567에는 룩업 테이블(Look-up table)을 이용하여 데이터의 변화여부에 따라 데이터를 변조하여 과구동(Over driving control, ODC)이 제안된 바 있다. 과구동 방법은 도 2와 같은 원리로 데이터를 변조한다.
도 2를 참조하면, 과구동 방법은 입력 데이터 전압(VD)을 미리 설정된 변조 데이터의 전압(MVD)으로 변조하고 그 변조 데이터의 전압(MVD)을 액정셀에 인가하여 원하는 휘도(MBL)를 얻게 된다. 과구동 방법은 한 프레임기간 내에 원하는 휘도(MBL)를 얻을 수 있도록 데이터의 변화여부에 기초하여 수학식 1에서
Figure 112008049863697-PAT00004
을 크게 하게 된다. 따라서, 과구동 방법으로 구동되는 액정표시장치는 액정의 늦은 응답속도를 데이터값의 변조로 보상하여 동영상에서 모션 블러를 줄일 수 있다.
이러한 과구동 방법은 이전 프레임과 현재 프레임 사이에서 데이터를 비교하고 그 데이터들 사이에 변화가 있으면, 미리 설정된 변조 데이터로 현재 프레임의 데이터를 변조한다.
도 3은 과구동 회로를 개략적으로 나타낸 블록도이다.
도 3을 참조하면, 과구동 회로는 데이터 입력버스(32)로부터의 데이터를 저장하기 위한 제1 및 제2 프레임 메모리(33a, 33b)와, 데이터를 변조하기 위한 룩업 테이블(34)을 구비한다.
제1 및 제2 프레임 메모리(33a, 33b)는 픽셀 클럭에 맞추어 데이터를 프레임 단위로 교대로 저장하고 저장된 데이터를 교대로 출력하여 룩업 테이블(34)에 이전 프레임 데이터 즉, n-1 번째 프레임 데이터(Fn-1)를 공급한다.
룩업 테이블(34)은 아래의 표 1과 같이 미리 설정된 변조 데이터(MRGB)를 n 번째 프레임 데이터(Fn)와 제1 및 제2 프레임 메모리(33a, 33b)로부터의 n-1 번째 프레임 데이터(Fn)를 어드레스로 하여 선택함으로써 데이터를 변조한다. 이 룩업 테이블(34)은 읽기 전용 메모리(Read Only Memory, ROM)와 메모리 제어회로를 포함한다.
구분 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 2 3 4 5 6 7 9 10 12 13 14 15 15 15 15
1 0 1 3 4 5 6 7 8 10 12 13 14 15 15 15 15
2 0 0 2 4 5 6 7 8 10 12 13 14 15 15 15 15
3 0 0 1 3 5 6 7 8 10 11 13 14 15 15 15 15
4 0 0 1 3 4 6 7 8 9 11 12 13 14 15 15 15
5 0 0 1 2 3 5 7 8 9 11 12 13 14 15 15 15
6 0 0 1 2 3 4 6 8 9 10 12 13 14 15 15 15
7 0 0 1 2 3 4 5 7 9 10 11 13 14 15 15 15
8 0 0 1 2 3 4 5 6 8 10 11 12 14 15 15 15
9 0 0 1 2 3 4 5 6 7 9 11 12 13 14 15 15
10 0 0 1 2 3 4 5 6 7 8 10 12 13 14 15 15
11 0 0 1 2 3 4 5 6 7 8 9 11 13 14 15 15
12 0 0 1 2 3 4 5 6 7 8 9 10 12 14 15 15
13 0 0 1 2 3 3 4 5 6 7 8 10 11 13 15 15
14 0 0 1 2 3 3 4 5 6 7 8 9 11 12 14 15
15 0 0 0 1 2 3 3 4 5 6 7 8 9 11 13 15
표 1에 있어서, 최좌측열은 이전 프레임(Fn-1)의 데이터이며, 최상측행은 현재 프레임(Fn)의 데이터이다.
n 번째 프레임 기간 동안, 실선으로 나타낸 바와 같이 동일한 픽셀 클럭에 맞추어 n 번째 프레임 데이터(Fn)는 제1 프레임 메모리(33a)에 저장됨과 동시에 룩업 테이블(34)에 공급된다. 이와 동시에 n 번째 프레임 기간 동안 제2 프레임 메모리(33b)는 n-1 번째 프레임 데이터(Fn-1)를 룩업 테이블(34)에 공급한다.
n+1 번째 프레임 기간 동안, 점선으로 나타낸 바와 같이 동일한 픽셀 클럭에 맞추어 현재의 n+1 번째 프레임 데이터(Fn+1)는 제2 프레임 메모리(33b)에 저장됨과 동시에 룩업 테이블(34)에 공급된다. 이와 동시에 n+1 번째 프레임 기간 동안 제1 프레임 메모리(33a)는 n 번째 프레임 데이터(Fn)를 룩업 테이블(34)에 공급한다.
이러한 과구동 회로의 비용을 줄이기 위해서는 메모리 용량을 줄여야 한다. 최근에는 메모리 용량을 줄이기 위하여 메모리에 저장되는 데이터를 압축하는 방법이 제안되고 있다. 이러한 압축 방법으로는 BTC(Block Truncation Coding)가 잘 알려져 있다. 기존 1/3 압축기반 BTC 알고리즘은 겹치지 않는 블록들의 데이터들에 대하여 2 레벨 양자화한다. 기존 BTC 알고리즘이 컬러 영상에 적용될 때, RGB 각 데이터마다 레벨을 나타내는 일정 크기의 비트맵(bitmap) 블록과 2개의 대표값이 필요하다. 일반적으로 각 대표값들은 평균과 분산으로 표현되어 압축되기 때문에, 1/3 압축률을 달성할 수 있고 나아가, 도 4와 같이 1/4 압축율로 데이터를 압축할 수도 있다.
도 4는 4×4 비트맵 블록 단위로 입력 데이터들을 인코딩하는 BTC 인코딩의 예를 보여 준다.
도 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의 두 개 대표값들을 포함한 압축 데이터들로 인코딩한다.
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 장의 비트맵 블록에 상응하는 압축 효과를 얻을 수 있다.
도 5는 8 개의 검은 점들로 표현된 원영상의 데이터 값들이 두 개의 흰점으로 표현된 벡터성분으로 양자화된 VQ-BTC 압축 알고리즘의 인코딩 방법을 도시화한 도면이다.
도 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의 압축율로 입력 데이터를 압축할 수 있다.
그런데 VQ-BTC 압축 알고리즘에서 블록 사이즈를 2x4에서 2x8로 길이방향으로 증가시키거나, 블록 사이즈를 그대로 두고 RGB 벡터에 할당된 bits를 48 bits에서 24 bits로 줄이면 화질의 열화가 심하고 그 결과, 과구동 변조시에 데이터 에러가 크게 증가한다. 다시 말하여, 기존 VQ-BTC 알고리즘의 문제점은 압축률을 달성하기 위해 블록의 대표값에 할당된 bit 수를 줄이거나, 블록 크기를 길게 증가시켜 2개의 벡터로 넓은 영역을 표현하는 것을 시도하기 때문에, 화질의 열화가 발생한다. 대표값에 할당된 bit 수를 줄이면 영상의 깊이(depth)가 낮아져 색 표현력이 줄어들고, 이웃 블록 간 블로킹 아티펙트가 발생하는 원인이 된다. 또한, 2개의 벡터로 넓은 영역의 블록을 표현하게 되면, 영상의 디테일한 텍스쳐를 표현할 수 없게 되어 표시 영상에서 블러가 관찰되거나 모서리 정보가 손실되어 물체의 경계부분에서 열화가 발생한다.
따라서, 본 발명의 목적은 상기 종래 기술의 문제점들을 해결하고자 안출된 발명으로써 표시영상의 색 표현력 저하와 블러를 줄이고 모서리 정보의 데이터 손실을 방지할 수 있는 데이터 압축과 복원 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동(ODC) 방식으로 변조하는 액정표시장치와 그 구동방법에 관한 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 데이터 압축 방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함한다.
상기 데이터 압축 방법은 입력 데이터의 블록을 그보다 작은 서브 블록으로 나누는 단계를 더 포함한다.
상기 제2 벡터 대표값들을 보정하는 단계는 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑하는 단계; 및 아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함한다.
Figure 112008049863697-PAT00005
여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 서브 블록 각각에서 백터값들의 개수를 각각 나타낸다.
상기 제2 벡터 대표값들을 보정하는 단계는 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계; 상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑하는 단계; 및 아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함한다.
Figure 112008049863697-PAT00006
여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 백터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다.
본 발명의 실시예에 따른 데이터 복원 방법은 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받는 단계; 및 아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 단계를 포함하는 것을 특징으로 하는 데이터 복원 방법.
Figure 112008049863697-PAT00007
여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다.
본 발명의 실시예에 따른 데이터 압축 장치는 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하며, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 및 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기를 구비한다.
본 발명의 실시예에 따른 데이터 복원 장치는 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 복호하는 디코더를 구비한다.
본 발명의 실시예에 따른 액정표시장치는 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하고, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 상기 벡터 대표들 간의 편차를 미리 정 해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기; 및 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 액정표시패널의 구동회로를 구비한다.
본 발명의 실시예에 따른 액정표시장치의 구동방법은 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계; 상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계; 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계; 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계; 및 선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시한다.
본 발명의 실시예에 따른 데이터 압축과 복원 방법 및 장치는 VQ-BTC 알고리즘을 실행하여 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 산출하고 상기 평균거리와 상기 보정 위치에 근거하여 상기 벡터 대표값들을 보정하여 표시영상의 색 표현력 저하와 블러를 줄이고 모서리 정보의 데이터 손실을 방지할 수 있다.
나아가, 본 발명의 실시예에 따른 액정표시장치와 그 구동방법은 상기 데이터 압축과 복원 방법 및 장치를 이용하여 메모리에 저장될 데이터를 압축 및 복원한 후에 액정셀들에 인가될 데이터전압을 액정표시장치의 과구동 방식으로 변조하여 액정의 응답특성을 개선함은 물론 데이터 압축과정에서 초래되는 색 표현력 저하와 블러 및 모서리 정보의 데이터 손실을 방지하여 표시품질을 높일 수 있다.
상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면들을 참조한 본 발명의 바람직한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
이하, 도 6 내지 도 25를 참조하여 본 발명의 바람직한 실시예에 대하여 설명하기로 한다.
도 6을 참조하면, 본 발명의 실시예에 따른 액정표시장치는 액정표시패널(100), 과구동 처리회로(10), 타이밍 콘트롤러(11), 데이터 구동회로(12) 및 게 이트 구동회로(13)를 구비한다.
액정표시패널(100)은 두 장의 유리기판 사이에 액정층이 형성된다. 이 액정표시패널(100)의 액정셀들은 데이터라인들(D1 내지 Dm)과 게이트라인들(16)의 교차 구조에 의해 매트릭스 형태로 배치된다.
액정표시패널(100)의 하부 유리기판에는 데이터라인들(D1 내지 Dm), 게이트라인들(G1 내지 Gn), 박막트랜지스터(Thin Film Transistor, TFT), TFT에 접속되어 화소전극들(1)과 공통전극(2) 사이의 전계에 의해 구동되는 액정셀들(Clc), 및 스토리지 커패시터(Cst) 등이 형성된다.
액정표시패널(100)의 상부 유리기판 상에는 블랙매트릭스, 컬러필터 및 공통전극(2)이 형성된다.
공통전극(2)은 TN(Twisted Nematic) 모드와 VA(Vertical Alignment) 모드와 같은 수직전계 구동방식에서 상부 유리기판 상에 형성되며, IPS(In Plane Switching) 모드와 FFS(Fringe Field Switching) 모드와 같은 수평전계 구동방식에서 화소전극(1)과 함께 하부 유리기판 상에 형성된다. 액정표시패널(100)의 상부 유리기판과 하부 유리기판 상에는 광축이 직교하는 편광판이 부착되고 액정과 접하는 계면에 액정의 프리틸트각(pre-tilt angle)을 설정하기 위한 배향막이 형성된다.
과구동 처리회로(10)는 후술하는 압축 및 복원 알고리즘을 이용하여 이전 프레임 데이터[Fn-1(RGB)]를 압축 및 복원하고 아래의 수학식 3 내지 5를 만족하는 변조 데이터들이 등재된 룩업 테이블을 이용하여 현재 프레임 데이터[Fn(RGB)]와 이전 프레임 데이터[Fn-1(RGB)]를 비교하여 그 비교 결과 수학식 3 내지 5를 만족하도록 현재 프레임 데이터[Fn(RGB)]를 Fn(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)
수학식 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)을 출력한다.
타이밍 콘트롤러(11)는 수직 및 수평 동기신호, 데이터 인에이블신호(DE), 도트클럭(CLK) 등의 타이밍신호들을 이용하여 데이터 구동회로(12)의 동작 타이밍을 제어하기 위한 데이터 타이밍 제어신호와, 게이트 구동회로(13)의 동작 타이밍을 제어하기 위한 게이트 타이밍 제어신호를 발생한다. 또한, 타이밍 콘트롤 러(11)는 과구동 변조된 디지털 비디오 데이터(MRGB)를 데이터 구동회로(12)에 전송한다.
데이터 구동회로(12)는 타이밍 콘트롤러(11)로부터의 과구동 변조된 디지털 비디오 데이터들(MRGB)을 데이터 타이밍 제어신호에 응답하여 정극성/부극성 감마보상전압으로 변환하여 아날로그 정극성/부극성 데이터전압을 발생하고 그 데이터전압을 데이터라인들(D1 내지 Dm)에 공급한다.
게이트 구동회로(13)는 게이트 타이밍 제어신호에 응답하여 게이트펄스를 순차적으로 쉬프트하여 게이트라인들(G1 내지 Gn)에 게이트펄스 즉, 스캔펄스를 공급한다.
도 7은 과구동 처리회로(10)를 상세히 나타내는 블록도이다. 도 8은 도 7의 인코더(20)의 제어과정을 상세히 보여 주는 도면이다.
도 7 및 도 8을 참조하면, 과구동 처리회로(10)는 인코더(20), 디코더(24) 및 룩업 테이블(25)을 구비한다.
인코더(20)는 제1 및 제2 인코더(21, 22)를 포함한다.
제1 인코더(21)는 2×8 또는 4×4 블록 기준으로 VQ-BTC 알고리즘을 실행하여 디지털 비디오 데이터(RGB)를 인코딩하여 도 9와 같이 인코딩된 데이터 패킷을 출력한다.
제2 인코더(22)는 본 발명의 실시예에서 제안되는 VQ-BTC(Proposed VQ-BTC 이하, "P_VQ-BTC"라 함) 압축 알고리즘으로 디지털 비디오 데이터(RGB)를 인코딩한다.
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비트의 여유분이 발생한다. 이러한 여유분은 평균 거리와 위치정보에 할당된다.
P_VQ-BTC 알고리즘은 2×8 블록을 기준으로 VQ-BTC 알고리즘을 실행하여 인코드된 데이터에서 16개의 벡터와 구해진 대표값 벡터 간의 평균 거리를 산출한다.(S1) 평균 거리는 수학식 6과 같이 서브 블록 내의 모든 픽셀 벡터 [Rn Gn Bn]T와 대표 백터 [RK GK BK]T의 유클리디안 거리(Euclidean Distance :
Figure 112008049863697-PAT00008
) 또는 맨하탄 거리(Manhattan Distance :
Figure 112008049863697-PAT00009
)로 계산될 수 있다. 여기서, 평균 거리는 비트맵을 사용하여 서브 블록 안의 픽셀 벡터가 하위 그룹으로 구분된다면 하위 대표 벡터[R0 G0 B0]T와의 차로 계산되고 서 브 블록 안의 픽셀 벡터가 상위 그룹으로 구분된다면 상위 대표 벡터[R1 G1 B1]T와의 차로 계산된다.
Figure 112008049863697-PAT00010
여기서, m은 상기 서브 블록 각각에서 상기 백터값들의 개수를 나타낸다.
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 비트를 포함한다.
P_VQ-BTC는 제1 인코더(21)에 의해 VQ-BTC 압축 알고리즘으로 인코드된 데이 터에서 대표값들의 편차가 2 이상의 임계값보다 작다면, S1 내지 S3 단계를 거치지 않고 제1 인코더(21)의 VQ-BTC 압축 알고리즘으로 인코드된 데이터를 그대로 출력한다.(S0) 인코더(20)는 대표값들의 편차와 임계값을 비교하여 제1 및 제2 인코더(21, 22)의 출력을 선택하는 선택기를 포함한다. 여기서, 임계값은 양의 정수로써 후술하는 실험에서 8로 정해졌다.
인코더(20)는 S0 단계에 의해 선택된 VQ-BTC 또는 P_VQ-BTC 압축 알고리즘을 지시하기 위한 1 bit를 할당한다. 이 1 bit를 할당하기 위하여 R, G 및 B 데이터 중 어느 하나의 하위 벡터 중 마지막 bit를 압축 알고리즘을 지시하는 플래그비트(flag)로 사용할 수 있다. 후술하는 실험에서는 플래그 1 bit를 R 데이터의 마지막 1 bit를 삭제하여 남은 bit로 활용하였다.
전술한 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의 부호화 과정을 정리하면 다음과 같다.
(1) 2×8 블록을 기준으로 기존 BTC 알고리즘을 실행한다. 이 때, 대표값은 상위 백터에 MSB로 5비트씩, 하위 백터에 MSB로 4비트씩 할당되어 저장된다.
(2) 16개의 백터값들과 벡터 대표값 간의 평균 거리를 계산한다.
(3) 2×8 블록을 2×2 서브 블록들로 분할한다.
(4) 각 서브-블록 단위로 (2) 항에서 계산한 평균 거리와 보정 위치에 기초하여 전술한 보정 위치 결정방법들로 벡터 대표값을 보정한다.
(5) 보정 위치를 각 서브-블록당 4비트 코드워드의 형태로 부호화한다.
(6) 만약 평균 거리가 임계값보다 작다면, (3)~(5)의 과정을 거치지 않고 기존 VQ-BTC 알고리즘으로 2×8 블록 단위로 데이터를 압축한다.
디코더(24)는 인코더(20)에 의해 압축된 데이터를 복호화하여 룩업 테이블(25)에 공급한다. 이 디코더(24)는 플래그 비트를 읽어 입력 부호화 데이터의 인코드 방식이 VQ-BTC 인지 아니면 P_VQ-BTC인지를 판단하여 적절한 복호화 방식을 선택한다.
룩업 테이블(25)은 수학식 3 내지 5를 만족하는 과구동 변조값들이 등재된다.
도 9는 제1 인코더(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를 포함한다.
도 10은 제2 인코더(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를 포함한다.
도 11은 도 5와 같은 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷이다.
도 11을 참조하면, 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷은 16 bits의 비트맵과, RGB 각각에 할당된 16 bits의 대표값들을 포함한다. 따라서, 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 1 데이터 패킷은 총 64 bits를 포함하고 플래그, 평균거리 정보 및 보정 위치정보가 포함되지 않는다.
벡터 대표값의 부호화시에 제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 부가하는 방법이 바람직하다.
도 8에서 제2 인코더(22)의 S3 단계에서 처리되는 보정위치 결정방법에 대하여 상세히 설명하면 다음과 같다.
보정위치 결정방법의 제1 실시예
서브 블록을 적절히 보정하기 위해서는 보정 위치를 결정하여야 한다. 수학식 7은 벡터의 대표값과 실제 픽셀 값의 관계를 나타낸다.
Figure 112008049863697-PAT00011
여기서, (Rr, Gr, Br)는 n 번째 픽셀의 벡터 대표값이고, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값이다. 그리고 (
Figure 112008049863697-PAT00012
,
Figure 112008049863697-PAT00013
,
Figure 112008049863697-PAT00014
)는 n 번째 픽셀에서 실제 픽셀값과 벡터 대표값 간의 오차값이다.
'L'을 벡터 대표값과 16 개의 벡터값들 사이의 평균거리, (Rc, Gc, Bc)를 보정 위치라고 했을 때, 수학식 7의 오차(
Figure 112008049863697-PAT00015
,
Figure 112008049863697-PAT00016
,
Figure 112008049863697-PAT00017
)는 수학식 8과 같이 모델링될 수 있다.
Figure 112008049863697-PAT00018
벡터 대표값 주변의 모든 픽셀값이 보정 가능한 위치이지만, 본 발명의 실시예에 따른 데이터 압축과 복원 방법은 보다 효과적인 보정 위치를 결정하기 위하여 HSI(Hue, Saturation, Intensity) 영상 좌표계에서 보정위치를 결정한다. HSI 영상 좌표계는 사람의 인지 능력(Human Vision System: HVS)에 주안점을 두고 색상을 표현할 수 있는 좌표계로서 최근의 영상 처리에서 가장 주목 받고 있는 영상 좌표계이다. RGB 영상 좌표계에서 HSI 영상 좌표계의 변환 방법은 도 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" 등에서 상세히 설명되어 있으므로 이에 대한 상세한 설명을 생략하기로 한다.
HSI 영상 좌표계에서 도 14의 좌측 도면과 같이 인텐시티(I축) 차이에 따라 7개의 구간으로 나누고, 각각의 구간에 상응하는 점들을 찾으면 그 점들의 위치가 결정된다. 도 14의 우측 도면은 HSI 영상 좌표계에서 각 벡터들(검은 점)의 위치를 나타낸 그림입니다.
도 14의 우측 도면 즉, HSI 영상 좌표계를 RGB 영상 좌표계로 역변환하면 도 15와 같이 역변환된 RGB 영상 좌표계에서 검은 점들의 좌표가 벡터 대표값이 보정될 수 있는 위치들이다. 검은 점 각각은 도 15와 같이 4 bits 코드워드로 변환되어 아래의 표 2와 같은 테이블로 작성될 수 있고 이러한 테이블은 제2 인코더(22)에 내장되는 룩업 테이블로 구현될 수 있다. P_VQ-BTC는 표 2의 테이블을 기반으로 부호화를 실행하여 각 서브 블록에서 벡터 대표값을 보정한다. 따라서, 제2 인코더(22)는 벡터 대표값의 보정시에 보정 가능한 위치를 표 2의 테이블에서 검색하는 것으로 간단히 벡터 대표값을 보정할 수 있다.
Figure 112008049863697-PAT00019
위 표 2에서 에러가 가장 작은 보정 위치를 선택하기 위하여 P_VQ-BTC는 아래의 수학식 9와 같은 최소 평균 에러식(minimum mean square error, MSE)을 만족하는 코드워드(c)를 선택한다.
Figure 112008049863697-PAT00020
여기서, (Rr, Gr, Br)는 n 번째 픽셀의 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 보정 위치, 그리고 'm'은 서브 블록 각각에서 백터값들의 개수를 각각 나타낸다.
보정위치 결정방법의 제2 실시예
본 발명의 제2 실시예에 따른 보정위치 결정방법은 수학식 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 서브 블록에서 선택된 값들을 서로 더한다. 여기서, 유사하다는 것은 픽셀값과 벡터 대표값의 차이가 평균거리의 반 이하를 의미한다.
Figure 112008049863697-PAT00021
수학식 10에서, (Ro, Go, Bo)는 입력 영상의 오리지날 픽셀값이고 (Rr, Gr, Br)는 RGB 각각의 벡터 대표값이다.
R의 2×2 서브 블록에서 백터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Rcode는 +4에서 -4까지의 값을 가진다. 마찬가지로, G의 2×2 서브 블록에서 백터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Gcode는 +4에서 -4까지의 값을 가지며, B의 2×2 서브 블록에서 백터 보정값을 보정하기 위하여, 표 2의 인덱스를 선택하기 위한 Bcode는 +4에서 -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 번의 연산으로 벡터 대표값의 보정위치를 결정하여 연산 속도가 빠르고 단순한 장점이 있다.
도 16의 트리형 탐색 구조에서 구조적 특성상, 코드워드가 할당되지 않는 경우(No)가 발생할 수 있다. 예를 들어, Rcode, Gcode, Bcode가 각각 -1, 0, 0으로 결정될 수 있지만 이에 해당하는 인덱스는 없다. 이와 같은 경우에 도 17 내지 도 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로도 설명될 수 있다.
백터 대표값이 보정 가능한 위치들 중에서 도 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)의 중간 벡터의 위치를 나타낸 것이다.
도 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으로 수정한다.
Figure 112008049863697-PAT00022
여기서, m은 2×2 서브 블록 내의 하위 백터의 개수를 나타내고, RH는 R의 상위 대표값, RL은 하위 대표값이다. 수학식 11을 통해 산출된 코드워드의 적정성을 아래와 같은 수학식 12로 판단할 수 있다.
Figure 112008049863697-PAT00023
여기서, "aver_dis"는 벡터 대표값과 그 주변의 16 개 벡터들 사이의 평균거리이다.
RGB 각각에 대하여 수학식 12를 적용한 값을 계산한 후에, 계산된 값들의 조합에 가장 부합하는 코드워드를 선택하여야 한다. 수학식 12에서, 평균거리에 2가 곱해진 이유는 2×2 서브 블록에서 실제로 4개의 픽셀 값이 있고, 이 픽셀 값들에 대응하는 각각의 점들과 벡터 대표값들의 차이를 더한 것이 Rcode이므로 Rcode이 평균거리의 반에 4 배만큼 곱해진 거리 이상이어야 +1로 인정하여야 하기 때문이다.
도 20은 기존 VQ-BTC 압축 알고리즘과 본 발명의 실시예에 따른 데이터 복원 방법 간에 벡터 대표값의 복호화를 도시화한 도면이다.
도 20의 (a)는 기존 VQ-BTC의 복호화 방법이다. 이에 비하여, 본 발명의 실시예에 따른 데이터 복원 방법의 벡터 대표값 복원은 2×2 서브 블록 단위로 벡터 대표값을 도 20의 (b)와 같이 복호화하고 도 20의 (c)와 같이 RGB 격자를 이용하여 서브 블록 단위로 벡터 대표값을 보정함으로써 픽셀 값을 보정한다. 도 20의 (d)는 본 발명의 실시예에 따른 데이터 복원 방법에 의해 복원된 픽셀값의 보정된 벡터를 보여 주는 도면이다.
본 발명의 실시예에 따른 데이터 복원 방법은 아래의 수학식 13와 같다.
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 방식으로 부호화 데이터를 복호한다.
도 8의 S0 단계에서 벡터 대표값들의 편차를 임계값과 비교하여 제1 인코더(21)에 의한 VQ-BTC 기반의 압축 알고리즘과 본 발명에서 제안하는 P_VQ-BTC 압축 알고리즘을 선택할 때 벡터 대표값들의 편차가 임계값보다 작을 때 VQ-BTC 기반의 압축 알고리즘이 선택된다. 이는 P_VQ-BTC는 벡터 그룹들을 2×2 서브 블록으로 분할하고 벡터 대표값을 전술한 보정 위치 결정방법으로 보정하는 과정을 통해 벡터 대표값의 편차가 클 때에도 색 표현력 저하없이 블록간 아티팩트를 방지할 수 있기 때문이다. 한편, 벡터 대표값의 편차가 클 때에 기존 VQ-BTC는 영상의 색깊이가 낮아져 색 표현력이 줄고 이웃하는 블록 간 아티펙트가 발생할 수 있다. 반면에, 기존 VQ-BTC는 벡터 대표값의 편차가 작을 때에 블록 간 아티펙트가 거의 관찰되지 않고 전술한 보정 위치 결정방법과 같은 별도의 연산과정이 없기 때문에 연산 처리가 단순하고 빠르므로 P_VQ-BTC 압축 알고리즘보다 유리하다.
도 21a 내지 도 24e는 4 개의 실험 이미지들 각각에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상, 기존 VQ-BTC 알고리즘의 압축 및 복원된 후의 표시 영상, P_VQ-BTC(proposed_VQ_BTC) 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상, P_VQ-BTC(proposed_VQ_BTC) 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상의 실험 결과이다. 표 3은 도 21a 내지 도 24e의 실험 결과에 대한 PSNR성능의 정량적 평가이다.
기존 BTC(1/3 압축) 기존 VQ-BTC (1/6 압축) P_VQ-BTC(1/6 압축), 제1 실시예의 보정 위치 결정방법 P_VQ-BTC(1/6 압축), 제2 실시예의 보정 위치 결정방법
Parrot (768x512) 36.21 33.96 34.62 34.24
Korea014 (1000x668) 31.93 30.24 30.89 30.66
Cafe(1280x768) 28.73 26.54 27.56 27.47
Fruit-XW (1280x768) 33.76 32.15 32.64 32.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)에서 블러가 개선됨을 확인할 수 있다.
본 발명의 이해를 돕기 위하여 BTC 알고리즘과 VQ-BTC 알고리즘의 부호화 과정에 대하여 실예를 들어 설명하면 다음과 같다.
BTC 알고리즘은 RGB 각각에 대해 스칼라 양자화기(scalar quantizer)를 적용하였다. 이에 비하여, 제1 인코더(21)에 의해 처리되는 VQ-BTC 알고리즘은 RGB 각각을 (R, G, B)의 백터로 표현하고, 이 백터들을 이용하여 벡터 양자화기(vector quantizer)를 적용한다.
기존 BTC 알고리즘과 VQ-BTC 알고리즘에서 문턱치(threshold)를 결정 방법에 대하여 도 26의 예를 들어 설명하기로 한다.
도 26은 제1 인코더(21)에 입력되는 실험 영상의 RGB 블록 예로써 768×512 parrot 이미지(YCbCr 4:2:0)의 (136,188) 부분에서 2×4 블록 사이즈로 추출된 블록이다,
기존 BTC 알고리즘은 블록 내 픽셀값들의 평균값이 양자화 문턱치(quantization threshold)로 결정된다. 즉, 기존 BTC 알고리즘은 RGB 각각에서 서로 다른 문턱치가 할당된다. 이렇게 기존 BTC 알고리즘은 RGB 각각에 서로 다른 문턱치가 할당되므로 문턱치 차이에 의해 색왜곡(Color distortion)이 발생할 수 있다. 2×4 블록의 최좌측 상위 RGB 픽셀값은 (229, 210, 200)이므로 화이트 계조에 가까운 영상이지만 BTC 알고리즘으로 인코딩된 (248, 158, 148)은 분홍색에 가까운 계조로 된다. 만약, BTC 알고리즘에 YCbCr 4:2:0 변환 알고리즘이 추가된다면 색 왜곡은 더욱 심하게 보인다.
도 26과 같은 768×512 parrot 이미지(YCbCr 4:2:0)의 (136,188) 부분에서 2×4 블록 사이즈로 추출된 블록에 대하여 VQ-BTC 알고리즘으로 인코딩하는 과정은 다음과 같다.
도 27은 RGB 각각의 블록 내의 픽셀값들을 같은 위치에 있는 요소들끼리 묶어서 백터로 변환한 예를 나타낸다. VQ-BTC 알고리즘은 그 백터를 k-mean clustering을 이용해서 양자화를 실행한다. 그 방법을 단계적으로 구분하면 다음과 같다.
(1) 각 백터들 사이의 거리를 계산한다. 거리 계산방법은 전술한 바와 같이 유클리디한 거리 계산방법이나 맨하탄 거리 계산방법이 적용될 수 있다.
(2) 산출된 거리 중 최장거리를 선택하고 그 최장거리로 이격된 백터들이 어떤 백터들인지 판단한다.
(3) 산출된 두 백터들을 기준으로 나머지 벡터들을 거리가 가까운 벡터 중심으로 나눈다. 그 결과, 각 블록에서 백터들은 2 개의 그룹 즉, 상위 블록과 하위 블록으로 나뉘어진다.
(4) 각 그룹 내의 벡터를 이용하여 평균 벡터를 계산한다.
(5) 산출된 평균 벡터를 기준으로 다시 (3)~(5)를 반복(iteration)한다.
이와 같은 과정을 도 28 내지 도 30을 결부하여 예를 들어 설명하기로 한다.
도 28은 각 백터 간의 맨하탄 거리를 나타낸다. 도 28에서 최장거리는 363이 되고, 그에 상응하는 백터는 (255, 255, 255)와 (150, 131, 121)이다. 이렇게 산출된 백터를 기준으로 나머지 6개의 백터를 도 29와 같이 2개의 그룹으로 나눈다.
도 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의 벡터 대표값은 하위 대표값이다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.
도 1은 통상의 액정표시장치에 있어서 데이터에 따른 휘도 변화를 나타내는 파형도이다.
도 2는 과구동 방법에서 데이터 변조에 따른 휘도 변화의 일례를 나타내는 파형도이다.
도 3은 과구동 회로를 나타내는 회로도이다.
도 4는 종래의 BTC 압축 알고리즘의 일예를 나타내는 도면이다.
도 5는 종래의 VQ-BTC 압축 알고리즘의 일예를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 액정표시장치를 나타내는 도면이다.
도 7은 도 6에 도시된 과구동 처리회로를 상세히 나타내는 블록도이다.
도 8은 도 7에 도시된 인코더와 처리수순을 단계적으로 보여 주는 도면이다.
도 9는 제1 인코더(21)에 의해 VQ-BTC 압축 알고리즘으로 인코드된 데이터 패킷을 보여 주는 도면이다.
도 10은 제2 인코더(23)에 의해 P_VQ-BTC 압축 알고리즘으로 인코드된 데이터 패킷이다.
도 11은 기존 VQ-BTC 압축 알고리즘에 의해 생성되는 데이터 패킷을 보여 주는 도면이다.
도 12a 내지 도 12c는 벡터 대표값의 복호화 예를 보여 주는 도면들이다.
도 13은 본 발명의 제1 실시예에 따른 벡터 대표값의 보정위치 결정방법에서 RGB 영상 좌표계와 HSI 영상 좌표계 사이의 변환 과정을 보여 주는 도면이다.
도 14는 HSI 영상 좌표계에서 보여 지는 백터 위치들과 HSI 영상 좌표계의 I축 차이에 따라 존재하는 백터 위치를 평면으로 나타내는 도면이다.
도 15는 역변환된 RGB 영상 좌표계에서 백터 대표값이 보정될 수 있는 백터 위치들을 4 bits 코드워드로 맵핑한 예를 보여 주는 도면이다.
도 16은 본 발명의 제2 실시예에 따른 벡터 대표값의 보정위치 결정방법에서 트리 탐색을 도식화한 도면이다.
도 17은 도 17은 정육면체에서 벡터 대표값이 보정될 수 있는 임의의 세 점들을 보여 주는 도면이다.
도 18은 도 17과 같은 세 점들 사이에 존재하지만 도 15 및 표 2의 코드워드에서 존재하는 않는 보정 위치를 그와 유사한 보정 위치로 치환할 때 발생하는 오류를 보여 주는 도면이다.
도 19는 도 16에서 도 15 및 표 2의 코드워드에서 존재하지 않는 보정 위치를 (0,0,0)으로 치환한 결과를 보여 주는 도면이다.
도 20은 VQ-BTC와 P_VQ-BTC의 복호화 방법을 도식화한 도면이다.
도 21a는 실험 이미지 "Parrot(해상도: 768×512)"의 오리지널 이미지이다.
도 21b는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 21c는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 21d는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 P_VQ-BTC 알고리 즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 21e는 실험 이미지 "Parrot(해상도: 768×512)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 22a는 실험 이미지 "Korea014(해상도: 1000×668)"의 오리지널 이미지이다.
도 22b는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 22c는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 22d는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 22e는 실험 이미지 "Korea014(해상도: 1000×668)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 23a는 실험 이미지 "cafe(해상도: 1280×768)"를 보여 주는 이미지이다.
도 23b는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 23c는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 23d는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 23e는 실험 이미지 "cafe(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 24a는 실험 이미지 "Fruit-XW(해상도: 1280×768)"의 오리지널 이미지이다.
도 24b는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 기존 BTC 알고리즘의 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 24c는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 기존 VQ-BTC 알고리즘으로 압축 및 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 24d는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제1 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 24e는 실험 이미지 "Fruit-XW(해상도: 1280×768)"에 대한 P_VQ-BTC 알고리즘으로 압축하고 제2 실시예의 보정위치 결정방법을 이용하여 복원된 후의 표시 영상을 보여 주는 이미지이다.
도 25는 도 22b 내지 도 22d의 일부를 확대한 이미지이다.
도 26은 실험 이미지 "parrot의 (136,188) 부분"에서 추출된 2×4 블록과 그 픽셀값들을 나타내는 도면이다.
도 27은 VQ-BTC 알고리즘에 의해 블록 내의 픽셀값들이 백터값들로 변환된 예를 나타내는 도면이다.
도 28은 도 27의 벡터값들 간의 맨하탄 거리를 나타내는 도면이다.
도 29는 도 28의 벡터값들 간의 거리를 기초로 하여 그룹화된 예를 나타내는 도면이다.
도 30은 VQ-BTC 알고리즘에 의해 결정된 벡터 대표값을 나타내는 도면이다.
〈도면의 주요 부분에 대한 부호의 설명〉
10 : 과구동 처리회로 21, 22, 23 : 인코더
24 : 디코더 25 : 룩업 테이블

Claims (11)

  1. 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계;
    상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계;
    상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하는 단계;
    상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계; 및
    상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 압축 방법.
  2. 제 1 항에 있어서,
    입력 데이터의 블록을 그보다 작은 서브 블록으로 나누는 단계를 더 포함하는 것을 특징으로 하는 데이터 압축 방법.
  3. 제 2 항에 있어서,
    상기 제2 벡터 대표값들을 보정하는 단계는,
    상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계;
    상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑하는 단계; 및
    아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함하는 것을 특징으로 하는 데이터 압축 방법.
    Figure 112008049863697-PAT00025
    여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 상기 서브 블록 각각에서 상기 백터값들의 개수를 나타낸다.
  4. 제 2 항에 있어서,
    상기 제2 벡터 대표값들을 보정하는 단계는,
    상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하는 단계;
    상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑하는 단계; 및
    아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 단계를 포함하는 것을 특징으로 하는 데이터 압축 방법.
    Figure 112008049863697-PAT00026
    여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 백터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다.
  5. 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받는 단계; 및
    아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 단계를 포함하는 것을 특징으로 하는 데이터 복원 방법.
    Figure 112008049863697-PAT00027
    여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다.
  6. 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더;
    상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하며, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더; 및
    상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기를 구비하는 것을 특징으로 하는 데이터 압축 장치.
  7. 제 6 항에 있어서,
    상기 제2 인코더는,
    입력 데이터의 블록을 그보다 작은 서브 블록으로 나누고 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하고,
    상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑한 후에,
    아래의 평균 에러식(MSE)에 따라 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 것을 특징으로 하는 데이터 압축 장치.
    Figure 112008049863697-PAT00028
    여기서, (Rr, Gr, Br)는 n 번째 픽셀의 상기 제2 벡터 대표값, (Rn, Gn, Bn)는 n 번째 픽셀의 실제 픽셀값, (Rc, Gc, Bc)는 상기 보정 위치, 그리고 'm'은 서 브 블록 각각에서 백터값들의 개수를 각각 나타낸다.
  8. 제 6 항에 있어서,
    상기 제2 인코더는,
    입력 데이터의 블록을 그보다 작은 서브 블록으로 나누고 상기 서브 블록 각각에서 상기 제2 벡터 대표값과 그 주변에 다수 존재하는 상기 벡터값들을 HSI 영상 좌표계로 표현하고 상기 HSI 영상 좌표계의 I축을 따라 상기 벡터값들을 분할한 후에 RGB 영상 좌표계로 역변환하고,
    상기 역변환된 RGB 영상 좌표계에서 표현된 상기 백터 위치들 각각을 코드워드로 맵핑한 후에,
    아래의 Rcode, Gcode, 및 Bcode, 각각을 산출하고 그에 기초하여 상기 코드워드를 선택하여 상기 제2 벡터 대표값을 보정하는 것을 특징으로 하는 데이터 압축 장치.
    Figure 112008049863697-PAT00029
    여기서, R1, R2, R3 및 R4는 R 데이터에서 상기 서브 블록의 비트값, G1, G2, G3 및 G4는 G 데이터에서 상기 서브 블록의 비트값, B1, B2, B3 및 B4는 B 데이터에서 상기 서브 블록의 비트값, m은 상기 서브 블록 각각에서 상기 백터값들의 개수를 나타내고, RH는 R에서 상기 제2 벡터 대표값의 상위 대표값, RL은 상기 제2 벡터 대표값의 하위 대표값이다.
  9. 비트맵, 상위 비트들로만 이루어진 벡터 대표값들, 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 부호화 데이터를 입력 받아 아래의 수식을 이용하여 상기 부호화 데이터를 복호하는 디코더를 구비하는 것을 특징으로 하는 데이터 복원 장치.
    Figure 112008049863697-PAT00030
    여기서, (Rd, Gd, Bd)는 복호화된 픽셀값, (Rr, Gr, Br)는 상기 벡터 대표값, 및 'L'은 상기 평균거리, (Rc, Gc, Bc)는 상기 보정 위치를 각각 나타낸다.
  10. 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 제1 인코더;
    상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하고, 상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정하고, 상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 제2 인코더;
    상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 선택기; 및
    선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 액정표시패널의 구동회로를 구비하는 것을 특징으로 하는 액정표시장치.
  11. 입력 데이터에 대하여 VQ-BTC 알고리즘을 실행하여 비트맵과 제1 벡터 대표값들을 포함하는 제1 부호화 데이터를 발생하고 상기 제1 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제1 부호화 데이터에 부가하는 제1 부호화 데이터를 부가하는 단계;
    상기 비트맵, 상위 비트들로만 이루어진 제2 벡터 대표값들, 상기 제2 벡터 대표값들과 그 주변의 벡터값들 사이의 평균거리와 상기 벡터값들 각각의 보정 위치를 포함하는 제2 부호화 데이터를 발생하는 단계;
    상기 평균거리와 상기 보정 위치를 이용하여 상기 제2 벡터 대표값들을 보정 하는 단계;
    상기 제2 부호화 데이터를 식별하기 위한 플래그 비트를 상기 제2 부호화 데이터에 부가하는 단계;
    상기 벡터 대표들 간의 편차를 미리 정해진 임계값과 비교하여 그 비교 결과에 따라 상기 제1 및 제2 인코더의 출력을 선택하는 단계; 및
    선택된 상기 부호화 데이터를 복호하여 이전 프레임 데이터를 발생하고 상기 이전 프레임 데이터와 현재 프레임 데이터를 어드레스로 하여 룩업 테이블에 등재된 변조값을 선택하여 상기 입력 데이터를 변조하여 변조된 데이터를 액정표시패널에 표시하는 것을 특징으로 하는 액정표시장치의 구동방법.
KR1020080067242A 2008-07-10 2008-07-10 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법 KR100962506B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080067242A KR100962506B1 (ko) 2008-07-10 2008-07-10 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080067242A KR100962506B1 (ko) 2008-07-10 2008-07-10 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법

Publications (2)

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

Family

ID=41815981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080067242A KR100962506B1 (ko) 2008-07-10 2008-07-10 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법

Country Status (1)

Country Link
KR (1) KR100962506B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007623A (ko) * 2016-07-13 2018-01-23 주식회사 실리콘웍스 영상데이터 처리 장치, 영상데이터 처리 방법 및 표시장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1560232B1 (de) 2004-01-27 2012-03-14 Robert Bosch Gmbh Zündspulentester
JP5086524B2 (ja) 2005-01-13 2012-11-28 ルネサスエレクトロニクス株式会社 コントローラ・ドライバ及びそれを用いた液晶表示装置
JP4743837B2 (ja) 2005-01-13 2011-08-10 ルネサスエレクトロニクス株式会社 コントローラ・ドライバ及びそれを用いる液晶表示装置並びに液晶駆動方法
KR101292039B1 (ko) * 2006-09-15 2013-08-01 엘지디스플레이 주식회사 표시장치용 영상데이터 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007623A (ko) * 2016-07-13 2018-01-23 주식회사 실리콘웍스 영상데이터 처리 장치, 영상데이터 처리 방법 및 표시장치

Also Published As

Publication number Publication date
KR100962506B1 (ko) 2010-06-14

Similar Documents

Publication Publication Date Title
KR100837410B1 (ko) 주관적인 무손실 이미지 데이터 압축 방법 및 장치
KR101270167B1 (ko) 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
US8111933B2 (en) Image processing circuit, and display panel driver and display device mounting the circuit
CN111837384A (zh) 用于图像压缩的频率分量选择
KR100886295B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 화상 표시 장치
JP2007312126A (ja) 画像処理回路
KR101375662B1 (ko) 이미지 데이터 압축 방법 및 장치
WO2015103646A1 (en) Image processing system and method
JP3660273B2 (ja) 表示装置
KR20150139464A (ko) 디스플레이 패널, 디스플레이 패널의 픽셀 휘도 보상 방법 및 픽셀 파라미터들을 보상하기 위한 방법
KR100917530B1 (ko) 화상 처리 장치, 화상 처리 방법, 화상 부호화 장치, 화상부호화 방법, 및 화상 표시 장치
KR20150061743A (ko) 디스플레이 구동장치 및 그의 구동방법
JP2009239779A (ja) 画像符号化装置、画像復号化装置及び集積回路装置
KR20090129305A (ko) 액정표시장치와 그 구동방법
CN114120915A (zh) 数据压缩方法和装置、数据解压方法和装置
KR100962506B1 (ko) 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법
KR101596954B1 (ko) 데이터 압축과 복원 방법 및 장치와 이를 이용한 액정표시장치
KR101560229B1 (ko) 액정표시장치 및 이의 구동방법
JP2011124866A (ja) 符号化装置および表示制御装置
CN106878740B (zh) 适用于液晶显示驱动的图像压缩方法和图像压缩系统
US8774505B2 (en) Method and apparatus of fixed bit-rate image compression/decompression based on 2×2 image unit
KR101106439B1 (ko) 영상 변조 장치, 그 변조 방법, 이를 구비한 액정표시장치및 그 구동방법
KR20150028716A (ko) 영상 부호화 장치 및 영상 부호화 방법
KR20070111111A (ko) 영상 압축방법과 신장방법 및 그 장치
JP2009027556A (ja) 画像処理回路

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