KR100547812B1 - 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법 - Google Patents

컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법 Download PDF

Info

Publication number
KR100547812B1
KR100547812B1 KR1020020035313A KR20020035313A KR100547812B1 KR 100547812 B1 KR100547812 B1 KR 100547812B1 KR 1020020035313 A KR1020020035313 A KR 1020020035313A KR 20020035313 A KR20020035313 A KR 20020035313A KR 100547812 B1 KR100547812 B1 KR 100547812B1
Authority
KR
South Korea
Prior art keywords
component
values
reference table
components
value
Prior art date
Application number
KR1020020035313A
Other languages
English (en)
Other versions
KR20040000151A (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 KR1020020035313A priority Critical patent/KR100547812B1/ko
Priority to US10/284,980 priority patent/US6828982B2/en
Priority to GB0228589A priority patent/GB2390250B/en
Priority to FR0216083A priority patent/FR2841725B1/fr
Priority to DE10261373A priority patent/DE10261373A1/de
Publication of KR20040000151A publication Critical patent/KR20040000151A/ko
Application granted granted Critical
Publication of KR100547812B1 publication Critical patent/KR100547812B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color Image Communication Systems (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

본 발명은 영상 신호처리 방법에 관한 것으로, 특히 작은 메모리 용량의 참조(Look-Up) 테이블을 사용하여 화소데이터를 와이유브이(YUV) 형식에서 알지비(RGB) 형식으로 변환하는 장치 및 방법에 관한 것이다.
특히 본 발명은 영상 디스플레이 장치에 디스플레이하기 위하여 화소 데이터를 참조테이블들을 사용하여 휘도를 나타내는 Y성분과 색차를 나타내는 U와 V 성분들로 구성되는 와이유브이유(YUV) 형식에서 적녹청의 색을 각각 나타내는 R,G,B 성분들로 구성되는 알지비(RGB) 형식으로 변환하는 시스템에서, 부호화된 영상신호로부터 상기 Y,U,V 성분들로 구성되는 YUV 형식의 화소 데이터들을 발생하고, 상기 R 성분은 상기 Y성분과 V성분의 R 성분에 대한 각 부분값들로부터 구하고, 상기 G성분은 상기 각 Y,U,V 성분들의 G성분에 대한 각 부분값들로부터 구하고, 상기 B성분은 상기 각 Y, U성분들의 B성분에 대한 각 부분값들로부터 구하는 방법에 있어서
상기 발생된 Y성분의 값을 제 1참조테이블로 입력하고, 상기 입력된 Y성분값에 대응하여 상기 제 1 참조테이블로부터 상기 Y성분의 R,G,B 성분에 대한 부분값들을 선택하고 제 1내지 제 3 가산기들로 각각 출력하는 과정과,
상기 발생된 V성분의 값을 제 2참조테이블과 제 3참조테이블로 각각 입력하고, 상기 입력된 V성분값에 대응하여 상기 제 2 및 제 3참조테이블들로부터 상기 V성분의 R성분과 G성분에 대한 부분값들을 선택하고 상기 제 1과 제 2가산기들로 출력하는 과정과,
상기 발생된 U성분의 값을 제 4참조테이블과 제 5참조테이블로 각각 입력하고, 상기 입력된 U성분값에 대응하여 상기 제 4 및 제 5참조테이블들로부터 상기 U성분의 G성분과 B성분에 대한 부분값들을 선택하고 상기 제 2와 제 3가산기들로 출력하는 과정과,
상기 부분값들을 상기 제 1 내지 제 3 가산기에서 더한 값들로부터 상기 R,G,B 성분들의 값들을 구하는 과정을 포함함을 특징으로 하는 방법을 제공한다.
YUV, RGB, 컬러모델변환, 참조테이블

Description

컬러 참조테이블을 사용하여 화소데이터의 컬러모델을 변환하는 장치 및 방법{Apparatus and Method For Converting Of Pixels From YUV TO RGB Format Using Color Look-Up Tables}
도 1은 본 발명의 일실시예에 따른 영상신호를 카메라로부터의 영상신호를 액정화면에 디스플레이 하는 멀티미디어 시스템의 블록도
도 2는 본 발명의 일실시예에 따른 모뎀으로부터 전송된 MPEG 비디오 데이터를 비디오 코덱을 거쳐 복호화된 영상신호를 액정화면에 디스플레이하는 멀티미디어 시스템의 블록도
도 3은 본 발명의 바람직한 실시예에 따른 컬러모델 변환장치의 블록도
도 4는 본 발명의 일실시예에 따른 YUV-RGB 컬러모델 변환절차를 도시하는 도면
도 5는 본 발명의 다른 일실시예에 따른 YUV-RGB 컬러모델 변환절차를 도시하는 도면
도 6은 본 발명의 일실시예에 따른 화소데이터를 저장하기 위한 메모리맵을 도시하는 도면
도 7은 본 발명의 다른 일실시예에 따른 화소데이터를 저장하기 위한 메모리 맵을 도시하는 도면
도 8은 본 발명의 일실시예에 따른 컬러 참조테이블 생성 절차를 도시하는 도면
본 발명은 영상 신호처리 방법에 관한 것으로, 특히 작은 메모리 용량의 참조(Look-Up) 테이블을 사용하여 화소데이터를 와이유브이(YUV) 형식에서 알지비(RGB) 형식으로 변환하는 장치 및 방법에 관한 것이다.
RGB 형식과 YUV 형식은 영상매체에서 이미지를 구성하는 화소의 색상을 표현하는 컬러모델의 일종이다. RGB 형식은 음극선관(Cathode Ray Tube: CRT)이나 액정화면(Liquid Crystal Display: LCD) 등과 같은 영상 디스플레이 장치들이 색상이나 영상을 만들어낼 때 사용하는 빛의 삼원색(Red, Green, Blue)으로 색상신호를 분리해 전달하는 방식이다. YUV 형식은 영상신호를 수평, 수직동기신호를 나타내는 휘도(Y)와 색상신호(U,V)로 분리하여 처리하는 방식이다. U는 푸른 계통의 색차 성분을, V는 붉은 계통의 색차 성분을 나타낸다.
RGB 형식은 색상을 표현하기 위해 최소 3개의 색상분리자료가 필요하여 많은 메모리 용량을 필요로 하지만, 영상 디스플레이 장치들이 사용하는 표현방식을 그대로 적용하므로 색상의 분리 및 전달효과가 뛰어나다. 반면, YUV 형식은 RGB 형식 보다 색상분리 및 전달효과는 약하지만, 적은 색상정보로서 보다 많은 색상을 표현해 낼 수 있다는 강점이 있다.
거의 모든 그래픽 카드는 기본적으로 데이터를 처리할 때 YUV방식을 사용한다. 일반적으로 전하결합소자(charge-coupled device: CCD) 카메라나 CMOS(complementary metal-oxide semiconductor)-센서와 같은 디지털 영상 캡쳐장치 뿐만 아니라, MPEG(Moving Picture Experts Group Standards) 1,2,4이나 H.261,263 ,26L 등의 비디오 압축표준의 비디오 디코더에서는 YUV 형식의 출력 포맷을 사용한다. 따라서 디지털 영상 제품에서 카메라나 비디오 디코더에서 출력되는 YUV 형식의 화소 데이터를 CRT나 LCD에 디스플레이하기 위해서는 RGB 형식의 화소 데이터로 컬러모델을 변환해야 한다.
컬러모델 변환은 YUV 형식과 RGB 형식의 상호 관계를 나타내는 수학식을 푸는 것으로 수행된다. 컬러모델 변환을 위한 수학식은 자연계의 시각 시스템에서 붉은색(R), 녹색(G), 푸른색(B)의 값들이 인간의 눈에 작용하는 정도에 따라 각 값들에 대해 가중치를 분배한 것이고, 분배 방법에 따라 여러 가지의 수학식들이 존재한다. 그 중 4 내지 5개의 수학식들이 흔히 사용되고, 특히 그 중 하나는 다음과 같이 정의된다.
R = 1.164*(Y-16) + 1.596*(V-128)
G = 1.164*(Y-16) - 0.813*(V-128) - 0.391*(U-128)
B = 1.164*(Y-16) + 2.018*(U-128)
상기의 <수학식 1>을 이용하여 R,G,B 성분값들은 하드웨어로 구현된 곱셈기와 가산기들로부터 구해질 수 있다. 즉, R과 B 성분값들은 각각 2개의 곱셈기(Multiplier)와 1개의 가산기(Adder)로부터 구해지고, G 성분값은 3개의 곱셈기와 2개의 가산기로부터 구해진다.
그런데 상기 <수학식 1>의 컬러모델 변환연산을 하드웨어로 구현하는 것은 그 하드웨어 장치가 차지하는 부피 때문에 소형의 이동단말기에는 적당하지 않다. 더욱더 상기 <수학식 1>의 곱셈 연산에서는 각 Y,U,V 값들에 곱해지는 가중치들이 수가 아닌 부동소수점(Floating Point) 숫자들이기 때문에 하드웨어 설계가 복잡해지고 결과적으로 하드웨어 칩의 크기가 커지게 된다. 또한 컬러모델 변환연산을 위한 하드웨어 장치와 카메라나 비디오 디코더와의 인터페이스가 카메라나 비디오 디코더의 종류에 따라 달라지므로 범용성이 떨어지는 문제점도 있다.
한편 상기 <수학식 1>의 컬러모델 변환연산은 소프트웨어로 구현되기도 한다. 그러나, 역시 상기 곱셈 연산에서 각 Y,U,V 값들에 곱해지는 가중치들이 정수가 아닌 부동소수점(Floating Point) 숫자들이기 때문에 많은 수의 명령어들이 요구된다. 이러한 연산은 일반 데스크탑 컴퓨터에 비해 연산능력이 부족한 이동통신 전화기와 같은 휴대단말기의 마이크로프로세서에는 큰 부담이 되어 적당하지 않다.
MPEG ISO/IEC 13818-2 Section 6.3.6은 휴대단말기에서의 컬러모델변환을 위해 상기 <수학식 1>의 가중치들을 정수로 변환하는 방법을 기재하고 있다.
R = 76309*(Y-16) + crv*(V-128) + 32768 >> 16
G = 76309*(Y-16) - cgu*(U-128) - cgv*(V-128) + 32768 >> 16
B = 76309*(Y-16) + cbu*(U-128) + 32768 >> 16
여기서 상기 crv, cgu, cgv 및 cbu는 각 표준화 국제단체마다 다르게 부여되는 가중치들이다. 그 값들은 하기의 <표 1>에 도시되어 있다.
표준화 단체 crv cbu cgu cgv
No sequence_display_extension 117504 138453 13954 34903
ITU-R Rec.709(1990) 117504 138453 13954 34903
Unspecified 104597 132201 25675 53279
Reserved 104597 132201 25675 53279
FCC 104448 132798 24759 53109
ITU-R Rec.624-4 System B,G 104597 132201 25675 53279
SMPTE 170M 104597 132201 25675 53279
SMPTE 240M(1987) 117579 136230 16907 35559
상기 <수학식 2>는 각 Y,U,V 값들에 대한 가중치들이 정수일 뿐만 아니라 곱셈 연산보다 적은 수의 명령어들로 수행되는 쉬프트 연산이 사용되기 때문에, 상기 <수학식 1>에 비해 그 연산에 요구되는 명령어들의 수가 훨씬 적어진다.
그러나 대부분의 마이크로프로세서들은 덧셈이나 뺄셈 연산에 비해 곱셈 연산을 느리게 수행한다. 반면에 많은 마이크로프로세서들은 곱셈 연산보다는 훨씬 빨리 테이블을 액세스(access)할 수 있다. 또한 컬러모델 변환장치를 상기와 같이 전부 하드웨어로 구현하면, 압축된 영상을 디코딩하여 Y,U,V 성분값들을 발생하는 비디오 코덱(Codec)과 영상 디스플레이 장치간의 인터페이스 방식이 고정되어야 하고, 비디어 코덱의 종류가 바뀌거나 업그레이드가 필요할 경우 인터페이스를 다시 변경해 주어야 한다. 따라서 곱셈기 대신 참조 테이블(Look-Up)을 사용하는 방법이 선호되고 있다. 참조 테이블들을 사용하여 컬러 모델을 변환하는 방법은 미국 특허 번호 5,936,683을 비롯하여 많이 알려져 있다.
그런데 참조 테이블을 사용할 때는 참조 테이블들의 크기에 따라 필요한 메모리 용량이 달라진다. 참조 테이블의 크기는 사용되는 인덱스로 사용되는 변수의 개수에 따라 달라진다. 예컨대 상기 미국 특허번호 5,936,683에서는 2개의 변수들을 인덱스로 하는 참조테이블들이 도시되어 있다. 두 개의 변수들을 인덱스로 사용하면 두 개의 변수들의 모든 경우의 수에 대한 참조 테이블을 만들어야 하기 때문에, 하나의 변수를 인덱스로 하는 경우보다 참조 테이블의 크기가 커진다. 따라서 인덱스로 사용되는 변수의 개수를 줄여 참조 테이블의 크기를 줄이는 것이 요망된다.
또한 참조 테이블들의 수가 많을수록 참조 테이블들을 저장하기 위해 큰 메모리 용량이 요구된다. 따라서 필요한 메모리 용량을 줄이기 위해서는 참조 테이블들의 수를 줄여야 한다. 상기 <수학식 2>의 경우, 각 변환식에 대해 하나의 참조 테이블을 사용한다면 단지 3개의 참조 테이블들로 컬러 모델 변환을 구현할 수 있다. 그러나, 이 경우 참조 테이블들은 두 개 내지 3개의 변수를 인덱스로 사용함으로써, 참조 테이블들의 크기가 매우 커지게 된다. 따라서 가장 적은 메모리 용량으로 컬러 모델 변환을 구현하기 위해서는 참조 테이블들의 수와 크기를 적정하게 조정하는 것이 요망된다.
따라서 본 발명의 목적은 참조 테이블들을 사용하여 YUV 형식의 화소 데이터 를 RGB 형식으로 변환하는장치와 방법을 제공함에 있다.
본 발명의 다른 목적은 컬러모델 변환에 사용되는 참조테이블들의 크기와 수를 줄이고 적은 메모리 용량으로 컬러모델을 변환할 수 있는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위하여 본 발명은 각각 하나의 인덱스만을 사용하는 적어도 5개의 참조테이블들과 적어도 3개의 가산기들로 컬러모델 변환장치를 구현한다.
또한 상기한 목적들을 달성하기 위하여 본 발명은 영상 디스플레이 장치에 디스플레이하기 위하여 화소 데이터를 참조테이블들을 사용하여 휘도를 나타내는 Y성분과 색차를 나타내는 U와 V 성분들로 구성되는 와이유브이유(YUV) 형식에서 적녹청의 색을 각각 나타내는 R,G,B 성분들로 구성되는 알지비(RGB) 형식으로 변환하는 시스템에서, 부호화된 영상신호로부터 상기 Y,U,V 성분들로 구성되는 YUV 형식의 화소 데이터들을 발생하고, 상기 R 성분은 상기 Y성분과 V성분의 R 성분에 대한 각 부분값들로부터 구하고, 상기 G성분은 상기 각 Y,U,V 성분들의 G성분에 대한 각 부분값들로부터 구하고, 상기 B성분은 상기 각 Y, U성분들의 B성분에 대한 각 부분값들로부터 구하는 방법에 있어서, 상기 발생된 Y성분의 값을 제 1참조테이블로 입력하고, 상기 입력된 Y성분값에 대응하여 상기 제 1 참조테이블로부터 상기 Y성분의 R,G,B 성분에 대한 부분값들을 선택하고 제 1내지 제 3 가산기들로 각각 출력하는 과정과, 상기 발생된 V성분의 값을 제 2참조테이블과 제 3참조테이블로 각각 입력하고, 상기 입력된 V성분값에 대응하여 상기 제 2 및 제 3참조테이블들로부터 상기 V성분의 R성분과 G성분에 대한 부분값들을 선택하고 상기 제 1과 제 2가산기들로 출력하는 과정과, 상기 발생된 U성분의 값을 제 4참조테이블과 제 5참조테이블로 각각 입력하고, 상기 입력된 U성분값에 대응하여 상기 제 4 및 제 5참조테이블들로부터 상기 U성분의 G성분과 B성분에 대한 부분값들을 선택하고 상기 제 2와 제 3가산기들로 출력하는 과정과, 상기 부분값들을 상기 제 1 내지 제 3 가산기에서 더한 값들로부터 상기 R,G,B 성분들의 값들을 구하는 과정을 포함함을 특징으로 하는 상기 방법을 제공한다.
이하 본 발명의 바람직한 실시예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
도 1은 본 발명의 일실시예에 따라 디지털 카메라와 같은 외부 영상 신호원으로부터의 영상신호를 액정화면에 디스플레이하기 위한 멀티미디어 시스템의 블록도이다. 상기 멀티미디어 시스템은 카메라 장치(101), LCD 장치(115)와 멀티미디어 장치(100)로 구성된다. 상기 멀티미디어 장치(100)는 카메라 구동장치(103), 중앙처리장치(Central Processing Unit: CPU)(105), 메모리(107), 컬러 참조테이블 생 성기(109), 컬러모델 변환기(111)와 LCD 구동장치(113)를 포함하여 구성된다. 상기 멀티미디어 장치는 시스템의 크기를 줄이기 위해 하나의 칩, 즉 SoC(System On Chip) 형태의 멀티미디어 칩으로 구현될 수도 있다.
상기 멀티미디어 시스템은 외부로부터 영상신호를 제공하는 신호원으로 카메라 장치(101)를 사용한다. 그러나, CD-ROM(Compact Disk Read-Only-Memory)이나 비디오 카메라 등의 영상 데이터등이 외부영상 신호원이 될 수도 있음을 유의하여야 한다. 상기 카메라(101)는 GPIO(General Purpose Input Output)나 I2C와 같은 통신장치를 통하여 카메라 구동장치(103)와 연결되고, 자신의 영상 데이터를 버스를 통하여 메모리(107)로 전송한다.
카메라 구동장치(103)는 CPU(105)와 카메라(101)간의 인터페이스를 담당한다. 즉 CPU로부터의 입출력 명령어들, 예를 들어 카메라(101)로부터 영상신호를 메모리(107)에 복사하라는 명령이나 복사가 완료되었다는 인터럽트 신호 등을 카메라(101)와 CPU(105)가 이해할 수 있는 형태의 메시지로 상호 변환하는 기능을 수행한다.
CPU(105)는 ARM9 Core 등과 같은 마이크로프로세서이고, 상기 멀티미디어 시스템의 전반적인 동작을 제어한다. 특히 본 발명과 관련하여 CPU(105)는 카메라 구동장치(103)를 통해 YUV 형식의 영상 데이터를 버스를 통해 카메라 장치(101)로부터 메모리(107)에 복사하고, 복사가 완료되어 복사 완료 인터럽트 신호가 카메라 구동장치(103)로부터 입력되면 컬러 참조테이블 생성기(109)와 컬러모델 변환기(111)를 이용하여 상기 영상 데이터를 RGB 형식으로 변환한 후 LCD 구동장치(113)를 통해 LCD에 디스플레이 하도록 한다.
메모리(107)는 상기 CPU(105)의 제어 하에 카메라(101)로부터 입력되는 YUV 형식의 화소 데이터와 컬러모델 변환기(111)로부터 입력되는 RGB 형식의 화소데이터를 소정의 영역에 저장한다. 컬러 참조테이블 생성기(109)에서 생성된 컬러 참조테이블들도 상기 메모리(107)에 저장된다. SDRAM(synchronous dynamic random access memory)이 상기 메모리(107)로서 통상적으로 사용된다.
컬러 참조테이블 생성기(109)는 컬러 참조테이블들을 생성하기 위한 프로그램들과 데이터를 저장하고 있다. CPU(105)는 상기 컬러 참조테이블 생성기(109)를 제어하여 소정 범위의 Y,U,V 값들에 대한 각각의 참조 테이블들을 생성하고 상기 메모리(107)의 소정의 영역 또는 다른 도시되지 않은 메모리에 생성된 참조테이블들을 저장한다.
컬러모델 변환기(111)는 CPU(105)의 제어하에 상기 컬러 참조테이블들을 참조하여 YUV 형식의 화소 데이터를 RGB 형식으로 변환한다. 상기 컬러모델 변환기(111)는 상기 메모리(107)에 저장된 Y,U,V 값들을 읽고 상기 참조테이블들로부터 그 값들에 대응하는 R,G,B 값들을 구하여 메모리(107)의 소정의 영역에 저장한다.
LCD 구동장치(111)는 LCD 장치(115)를 구동하여 컬러모델 변환기(111)로부터 변환되어 메모리(107)에 저장된 각 화소의 R,G,B 값들이 LCD 장치(113)로 출력되도록 제어한다.
상기 실시예에서는 별개의 컬러모델 변환기(111)를 구비하였으나, 그와 달리 CPU(105)가 자신의 연산장치를 이용하여 상기 컬러모델 변환기(111)의 기능을 수행할 수도 있음은 당해 기술 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다.
도 2는 단말기에서 모뎀을 통해 압축된 영상 데이터, 예를 들어 MPEG4나 H.263형식으로 압축된 영상 데이터를 입력받고 LCD와 같은 영상 디스플레이 장치에 출력하기 위한 멀티미디어 시스템을 도시하고 있다. 상기 멀티미디어 시스템은 영상 데이터의 통신을 위한 모뎀(201)과 듀얼포트 램(203), LCD 장치(115)와 멀티미디어 장치(200)를 포함한다. CPU(105), 메모리(107), 컬러 참조테이블 생성기(109), 컬러모델 변환기(111)와 LCD 구동장치(113)가 상기 멀티미디어 장치(200)에 포함되는 점에서 도 1의 멀티미디어 장치(100)와 유사하다. 상기 멀티미디어 장치(200)는 그 외에 비디오 코덱(205)을 더 포함하고, 역시 SoC 형태로 구현될 수 있다.
모뎀(201)은 컴퓨터 시스템의 디지털 신호를 유무선 통신을 위해 아날로그 신호로 복조하거나 반대로 변조하는 기능을 수행한다. 코드분할 다중접속(Code Division Multiple Access: CDMA) 이동통신 단말기의 경우 퀄컴사의 MSM 칩이 통상적으로 사용된다. 모뎀(201)은 무선 또는 유선으로 영상 데이터를 수신하여 듀얼포트 램(Dual Port RAM: DPRAM)(203)에 저장한다.
듀얼포트 램(203)은 영상 데이터를 저장하기 위한 메모리이다. 데이터를 써넣는 핀과 읽어내는 핀이 따로 마련되어 있어서, CPU(105)는 모뎀으로부터 새로운 영상 데이터를 듀얼포트 램(203)에 기록하는 동안에, 현재 저장되어 있는 영상 데 이터를 재생하기 위해 듀얼포트 램(203)으로부터 데이터를 읽어내어 메모리(107)에 복사할 수 있다.
비디오 코덱(205)은 메모리(107)로부터 입력되는 부호화된 영상 데이터를 YUV 형식의 영상신호들로 복호하고, 복호된 YUV 형식의 영상신호들을 상기 메모리(107)에 저장한다. 그러나 상기 YUV 형식의 영상신호들은 비디오 코덱(205)의 도시되지 않은 내부 메모리에 저장될 수도 있음을 유의하여야 한다. 영상 데이터의 복호가 완료되면 비디오 코덱(205)은 CPU(105)에 컬러모델 변환을 시작할 것을 요청한다. 멀티미디어 장치(200)를 구성하는 그 외 다른 장치들의 구성 및 동작은 도 1에서와 유사하므로 상세한 설명은 생략된다.
지금, 상기 도 1 및 도 2와 같은 구성을 가지는 컴퓨터 시스템에서 YUV 형식의 화소 데이터를 RGB 형식으로 변환하는 방법이 도 3 내지 도 7을 참조하여 설명될 것이다.
먼저 상기 <수학식 2>는 다음과 같이 변환된다.
R = [76309*(Y-16)] + [crv*(V-128) + 32768] >> 16
G = [76309*(Y-16)] + [32768 - cgu*(U-128)] + [cgv*(128-V)] >> 16
B = [76309*(Y-16)] + [cbu*(U-128) + 32768] >> 16
여기서 16 = Y<=235 , 16 = U<=240 , 16 = V<=240 이다.
상기 세 개의 변환식들은 각각 Y,U,V 세 변수들 중 하나의 변수만을 포함하는 부분들의 합과 쉬프트 연산으로 구성된다. 상기 변환식에 따르면 R 성분의 값은 두 개의 부분값들로 구성된다. 첫 번째 부분은 Y 성분이 작용하는 부분인 76309*(Y-16)부분이고 두 번째 부분은 V 성분이 R 성분값에 작용하는 부분인 crv*(V-128)+32768 부분이다.
G 성분은 세 개의 부분값들로 나뉘어진다. 첫 번째는 상기 Y 성분에 대한 부분이고, 두 번째는 U 성분의 G 성분값에 대한 32768 - cgu*(U-128) 부분이고, 세 번째는 V 성분의 G 성분값에 대한 cgv*(128-V) 부분이다. 마찬가지로 B 성분은 두 개의 부분값들로 구성된다. 역시 첫 번째는 상기 Y 성분에 대한 부분이고, 두 번째는 U 성분의 B 성분값에 대한 cbu*(U-128) + 32768 부분이다.
상기 각 부분값들은 각각 하나의 참조 테이블로부터 구해진다. 상기 부분값들에 대한 참조 테이블들은 인덱스 또는 메모리 번지로서 각각 한 개의 변수만을 사용하므로 2개 내지 3개의 변수를 인덱스로 하는 참조 테이블에 비해 훨씬 적은 메모리 용량을 필요로 한다. 또한 상기 부분값들 중 적어도 하나의 변수, 즉 Y 변수에 대한 가중치는 모두 동일하므로 하나의 참조 테이블을 세 개의 변환식에서 공통적으로 사용할 수 있어 필요한 참조 테이블의 수도 줄어든다.
도 3은 상기 <수학식 3>에 근거하여 5개의 룩-업 테이블과 3개의 가산기를 사용하여 하나의 화소 데이터를 YUV 형식에서 RGB 형식으로 변환하기 위한 컬러모델 변환기(111)의 블록도이다.
참조테이블_y(colorTable_y)(301)는 Y 성분값에 대한 변환테이블이고, 16부터 235까지의 각 Y값에 대한 76309*(Y-16) 계산값을 저장한다. 상기 컬러모델 변환기(111)는 메모리(107)로부터 변환하고자 하는 Y값을 읽고, 그 Y값을 번지로 하여 참조테이블_y(301)의 그 번지에 저장되어 있는 값, 즉 76309*(Y-16) 값을 가산기_R(311)로 출력한다.
V값은 참조테이블_rv(colorTable_rv)(303)와 참조테이블_gv(colorTable_gv)(307)에 대한 인덱스로서 사용된다. 참조테이블_rv(colorTable_rv)(303)는 V 성분값으로부터 R 성분의 부분값을 구하기 위한 테이블이고, 16부터 240까지의 V값 각각에 대한 crv*(V-128)+32768의 계산값들을 저장한다. 참조테이블_gv(colorTable_gv)(307)는 V 성분값으로부터 G 성분의 부분값을 구하기 위한 테이블이고, cgv*(128-V)의 계산값들을 저장한다. 각 참조 테이블들(303, 307)은 변환하고자 하는 V값이 입력되면 그 값을 인덱스로 하여 저장된 값들을 각각 가산기_R(311)과 가산기_G(315)로 출력한다.
참조테이블_gu(colorTable_gu)(305)와 참조테이블_bu(colorTable_bu)(309)는 U 성분값으로부터 각각 G 및 B 성분의 부분값들을 구하기 위한 테이블들이다. 상기 참조테이블들은 16내지 240까지의 U값을 인덱스로 하여 각각 32768-cgu*(U-128)와 cbu*(U-128)+32768 계산값들을 저장하고 입력되는 U값에 해당하는 저장된 값들을 각각 가산기_G(315)와 가산기_B(317)로 출력한다.
상기 가산기_R(311)은 상기 참조테이블_y(301)과 참조테이블_rv(303)로부터 입력되는 값들을 더하고, 도시되지 않은 쉬프트 연산기로 출력한다. 쉬프트 연산기는 상기 가산기_R(311)로부터 입력되는 값을 쉬프트 연산하고 그 결과값을 해당 화소에 대한 R 성분값으로서 메모리(107)에 저장한다. 상기 가산기_G(315)는 상기 참조테이블_y(301), 참조테이블_gu(305) 및 참조테이블_gv(307)로부터 입력되는 값들 을 더하고 쉬프트 연산을 수행하고 그 결과값을 해당 화소에 대한 G 성분값으로서 메모리(107)에 저장한다. B 성분값은 상기 참조테이블_y(301)와 참조테이블_bu(309)의 출력값들을 가산기_B(317)에서 더하고 그 값을 쉬프트 연산하고 그 결과값으로서 메모리(107)에 저장된다.
한편, 본 실시예에서 상기 가산기들은 컬러모델 변환기(111)에 포함되는 것으로 설명되었으나, 상기 가산기들에서 수행되는 덧셈연산은 CPU(105)의 연산장치에서 수행될 수도 있음을 유의하여야 한다. 뿐만 아니라 상기 컬러모델 변환기(111)는 프로그램만을 저장하고, 상기 CPU(105)에서 상기 프로그램을 수행하는 것도 가능할 것이다.
도 4와 도5는 본 발명의 일실시예에 따라 상기 도 3의 컬러모델 변환기(111)를 사용하여 한 프레임을 YUV-RGB 변환하는 방법을 도시하는 순서도이다. 본 발명은 CIF(Common Intermediate Format), QCIF(Quarter CIF) 또는 SQCIF(Sub Quarter CIF) 등 모든 비디오 형식에 적용될 수 있으나, 설명의 편의를 위하여 한 프레임당 화소수 176x144의 QCIF모드로 구현된다고 가정한다.
CPU(105)는 401단계에서 컬러모델 변환이 요구되는지를 검사한다. 즉, CPU(105)는 상기 비디오 코덱(205)으로부터 컬러모델변환을 요청하는 신호가 입력되거나 상기 LCD 구동장치(103)로부터 복사완료 인터럽트 신호가 입력되는지를 검사한다.
상기 401단계에서 컬러모델 변환이 요구되는 경우, CPU(105)는 403단계로 진행하여 컬러 참조테이블 플래그가 셋트되었는지를 검사한다. 컬러 참조테이블 플래 그는 컬러 참조테이블의 생성여부를 나타내기 위한 것이고 컬러 참조테이블이 생성되어 있는 경우 1로 셋트된다. 상기 컬러 참조테이블 플래그는 메모리(107)나 도시되지 않은 레지스터 등에 한 비트를 할당하고, 그 값을 프로그램 전체에서 공유할 수 있는 전역변수(Global Variable)이다. 상기 403단계에서 컬러 참조테이블이 생성되어 있지 않으면, 즉 컬러 참조테이블 플래그가 0이면 후술하는 도 8의 컬러 참조테이블 생성 루틴으로 들어간다. 그러나 컬러 참조테이블이 생성되어 있으면 405단계로 진행하고 CPU(105)는 컬러모델 변환기(111)를 사용하여 YUV-RGB 변환을 시작한다.
405단계에서 상기 CPU(105)는 메모리(107)에 저장되어 있는 Y,U,V 값들을 배열 yuv[176x144x3]의 형식으로 메모리(107)의 소정의 영역에 다시 저장하고, 상기 Y,U,V 값들로부터 변환된 176x144x3개의 R,G,B 값들을 저장하기 위한 rgb[176x144x3] 배열영역을 메모리(107)에 할당하고 407단계로 진행한다. 여기서 176은 한 프레임당 가로방향의 화소의 수를, 144는 세로방향의 화소의 수를 나타내며 3은 각 화소당 Y,U,V 또는 R,G,B 3개의 값이 정의되어야 함을 의미한다. 그러나 비디오 형식이 CIF 모드나 SQCUF 모드인 경우에는 해당 화소수에 대응하여 메모리가 할당되어야 한다는 것은 당해 기술분야에서 통상의 지식을 가진 자는 용이하게 이해할 것이다.
상기 yuv 배열과 rgb 배열을 저장하는 메모리 맵이 도 6에 도시되어 있다. 설명의 편의상 yuv 배열은 도 6(a)에 도시된 바와 같이 각 화소에 대한 Y,U,V 값들이 각각 176x144의 메모리 영역 (61), (63) 및 (65)에 구분되어 저장되고, rgb 배열은 도 6(b)에 도시된 바와 같이 각 화소에 대한 R,G,B 값들이 나란히 함께 저장되는 통상적인 경우를 가정한다. 그러나, 그 역의 경우나 상기 두 방식 중 어느 한 방식만을 사용하는 경우에도 본 발명이 적용될 수 있음을 유의하여야 한다.
다시 도 4로 돌아와서, 407단계에서 CPU(105)는 YUV의 데이터 포맷을 검사한다. 본 발명은 YUV의 데이터 포맷이 어느 형식을 취하더라도 적용되나, 설명의 편의상 Y:U:V가 4:4:4인 형식과 4:2:0 형식인 경우를 가정하여 설명한다. 그러나 Y:U:V가 4:2:2이나 4:1:1인 형식의 경우에도 적용될 수 있음은 당해 기술분야에서 통상의 지식을 가진 자는 용이하게 이해할 수 있을 것이다.
407단계에서 상기 데이터 포맷이 밝기 성분인 Y와 색상 성분인 U,V 성분에 동일한 비중을 두는 형식인 경우, 즉 Y:U:V의 비율이 4:4:4인 경우는 409단계로 진행한다. 그러나 색상 성분보다 밝기 성분에 더 큰 비중을 두는 형식인 경우, 즉 Y:U:V가 4:2:0 포맷인 경우는 501단계로 진행한다.
먼저 Y:U:V가 4:4:4인 형식의 경우가 409단계부터 425단계를 참조하여 설명될 것이다. 409단계에서 CPU(105)는 i의 값을 0으로 설정하고 411단계로 진행한다. 여기서 상기 i는 한 프레임당 세로방향의 화소수를 카운트하기 위한 변수이고 QCIF 모드에서는 0부터 144까지의 값을 가진다. 411단계에서 CPU(105)는 i의 값을 144와 비교하고, i가 144보다 작은 경우 415단계로 진행하고 I가 144에 도달한 경우 413단계로 진행한다.
CPU(105)는 415단계에서 j의 값을 0으로 설정한다. 상기 j는 한 프레임당 가로방향의 화소수를 카운트하기 위한 변수이고 QCIF 모드에서는 0부터 176까지의 값 을 가진다. 417단계에서 CPU(105)는 j의 값을 176과 비교하고 j가 176보다 작으면 419 단계로 진행한다.
419단계는 rgb 배열과 yuv 배열의 인덱스들을 설정하는 단계이다. indexRGB는 R,G,B 값들을 저장하기 위한 rgb 배열의 인덱스이다. 도 6(b)에 도시된 바와 같이 R,G,B값들은 순차적으로 나란히 저장되므로, indexRGB는 (j+i×176)×3으로 설정된다. 한편 indexY, indexU, indexV는 각각 yuv 배열의 인덱스를 의미한다. indexY는 j+ix176으로 설정되고 도 6(a)의 영역 (61)의 번지를 나타낸다. 마찬가지로 indexU는 indexY+176x144로 설정되고 영역 (63)의 번지를, indexV는 indexU+176x144로 설정되고 영역 (65)의 번지를 나타낸다. 지금 i와 j가 모두 0이므로 indexY는 0을, indexU는 176x144를, indexV는 2x176x144가 되어 각각 도 6의 (61)영역, (63)영역 및 (65)영역의 첫 번째 번지를 나타낸다. 또한 indexRGB는 rgb 배열의 첫 번째 번지를 나타낸다.
421단계에서 CPU(105)는 메모리(107)의 yuv 배열 중 상기 indexY, indexU, indexV 각 번지에 저장된 값들을 컬러모델 변환기(111)로 출력한다. 즉, yuv[indexY]는 indexY 번지에 저장되어 있는 Y 값을, yuv[indexU]는 indexU 번지에 저장되어 있는 U값을, yuv[indexV]는 indexV 번지에 저장되어 있는 V 값을 나타낸다. 지금 i와 j가 모두 0이고 indexY는 0을, indexU는 176x144를, indexV는 2x176x144이므로, yuv 배열의 첫 번째 번지에 저장된 값들, 즉 첫 번째 화소에 대한 Y,U,V 값들이 메모리(107)로부터 컬러모델 변환기(111)로 출력된다. 컬러모델 변환기(111)는 CPU(105)로부터 입력되는 첫 번재 화소에 대한 Y,U,V 값들을 상기 도 3에 도시된 방법에 의해 R,G,B 값들로 변환한다. 첫 번째 화소의 Y값, 즉 yuv[indexY]과 V값, 즉 yuv[indexV]은 각각 참조테이블_y(colorTable_y)(301)과 참조테이블_rv(colorTable_rv)(303)으로 입력되고, 각 참조 테이블들의 해당 번지에 저장된 값들을 R 값의 부분값들로서 가산기_R(301)로 출력한다. 가산기_R(311)는 상기 부분값들을 더한 후 그 결과값을 쉬프트하고 그 결과값을 R 값으로 rgb[indexRGB]에 저장한다. 또한 컬러모델 변환기(111)는 CPU(105)로부터 입력되는 Y값에 해당하는 참조테이블_y(colorTable_y)(301)의 저장값과, U 및 V 값에 해당하는 참조테이블_gu(colorTable_gu)(305)과 참조테이블_gv(colorTable_gv)(307)의 저장값들을 부분값들을 가산기_G(315)로 출력한다. 가산기_G(315)는 상기 부분값들을 모두 더하고 쉬프트 연산하여 그 결과값을 G 값으로 rgb[indexRGB+1]에 저장한다. B 값은 첫 번째 화소의 Y,U 값에 해당하는 참조테이블-y(colorTable_y) 301과 참조테이블_bu(colorTable_bu)(309)의 저장값들을 가산기_B로 출력하여 더하고 쉬프트 연산을 수행한 값이 된다. 상기 변환된 B 값은 상기 메모리(107)에 rgb[indexRGB+2]에 해당하는 영역에 저장된다. 지금 indexRGB가 0이므로 첫 번째 화소에 대한 R,G,B 값들은 rgb[0], rgb[1], rgb[2]에 각각 저장된다.
컬러모델 변환기(111)에서 첫 번째 화소에 대한 YUV-RGB 변환이 완료되면 CPU(105)는 423단계로 진행한다. 423단계에서 CPU(105)는 다음 화소에 대한 YUV-RGB 변환을 위하여 j값을 하나 증가시키고 상기 417단계 내지 423단계를 반복한다. 가로방향으로 176개 화소에 대한 변환이 완료되면 CPU(105)는 417단계에서 425단계로 진행한다. 425단계에서 CPU는 다음 줄의 첫 번째 화소를 YUV-RGB 변환하기 위 하여 i값을 하나 증가시키고 상기 411단계 내지 425단계를 반복하여 수행한다. CPU는 144개줄, 즉 한 프레임에 대한 변환이 완료되면 411단계에서 413단계로 진행하고 컬러모델 변환을 종료한다.
지금까지 Y:U:V가 4:4:4인 형식의 경우의 컬러모델 변환 방법이 설명되었다. 이제 도 5를 참조하여 Y:U:V가 4:2:0인 형식의 경우에 대해 설명될 것이다.
상기 407단계에서 YUV의 데이터 포맷이 4:2:0인 것으로 판단되면 CPU는 501단계로 진행한다. 501단계에서 제어부는 i의 값을 0으로 설정하고, 503단계로 진행한다. 도 4에서와 유사하게 상기 i는 한 프레임당 세로방향의 화소수를 카운트하기 위한 변수이고 QCIF 모드에서는 0부터 144까지 1씩 증가한다. 503단계에서 제어부(105)는 i의 값과 144를 비교하고 i가 144보다 작은 경우 505단계로 진행하고 I가 144에 도달한 경우 517단계로 진행하여 컬러모델 변환을 종료한다.
CPU(105)는 505단계에서 j의 값을 0으로 설정한다. 역시 도 4에서와 유사하게 상기 j는 한 프레임당 가로방향의 화소수를 카운트하기 위한 변수이고 0부터 176까지의 값을 가진다. 507단계에서 CPU(105)는 j의 값을 176과 비교하고 j가 176보다 작으면 509 단계로 진행한다.
509단계는 상기 419단계와 마찬가지로 rgb 배열과 yuv 배열의 인덱스들을 설정하는 단계이다. rgb 배열의 인덱스인 indexRGB는 (j+i×176)×3으로, yuv 배열의 Y값에 대한 인덱스인 indexY는 j+ix176으로 설정되는 것은 상기421단계와 유사하다. 그러나 4:2:0 형식에서는 indexU는 (j>>1)+(i>>1)x88+176x144로, indexV는 indexU+176x144/4로 설정된다.
도 7은 Y:U:V가 4:2:0인 형식인 경우에 Y,U,V값을 저장하는 메모리 맵을 도시하는 도면이다. 색상 성분보다 밝기 성분에 더 큰 비중을 두는 4:2:0 형식에서는 Y성분값은 매 화소단위로 결정되지만, U,V 성분값들은 4개의 화소단위로 결정된다. 따라서 도시된 바와 같이 U와 V값들을 저장하기 위해서는 Y값을 저장하기 위한 메모리 용량의 1/4만이 필요하다. indexU를 살펴보면, j값과 i값을 오른쪽으로 1씩 쉬프트한 것은 j값과 i값을 각각 2로 나눈 것을 의미한다. 따라서 indexU는 도 7의 영역 (73)의 번지를, indexV는 영역(75)의 번지를 나타낸다. 지금 i와 j가 모두 0이므로 indexY는 0을, indexU는 176x144를, indexV는 176x144+176x144/4가 되어 각각 도 7의 영역 (71), 영역 (73) 및 영역 (75)의 첫 번째 번지를 나타낸다. 또한 indexRGB는 rgb 배열의 첫 번째 번지를 나타낸다.
다시 도 5로 돌아가서 509단계에서 각 배열의 인덱스들을 설정한 CPU(105)는 511단계에서 메모리(107)의 yuv 배열 중 상기 indexY, indexU, indexV 각 번지에 저장된 값들을 컬러모델 변환기(111)로 출력한다. 컬러모델 변환기(111)에서는 상기 421단계와 유사하게 YUV-RGB 컬러모델 변환을 수행하고, 첫 번째 화소에 대한 R,G,B 값들은 rgb[0], rgb[1], rgb[2]에 각각 저장된다.
첫 번째 화소에 대한 컬러모델 변환이 완료되면 CPU(105)는 513단계로 진행하고, 다음 화소에 대한 YUV-RGB 변환을 위하여 j값을 하나 증가시키고 상기 507단계 내지 511단계를 반복한다. 가로방향으로 176개 화소에 대한 변환이 완료되면 CPU(105)는 507단계에서 515단계로 진행한다. 515단계에서 CPU(105)는 다음 줄의 첫 번째 화소를 YUV-RGB 변환하기 위하여 i값을 하나 증가시키고 상기 503단계 내 지 515단계를 반복하여 수행한다. CPU(105)는 144개줄, 즉 한 프레임에 대한 변환이 완료되면 503단계에서 517단계로 진행하고 컬러모델 변환을 종료한다.
이제 상기와 같은 컬러모델 변환을 위해 참조테이블들을 생성하는 과정이 도 8을 참조하여 설명될 것이다.
참조테이블 생성기(109)는 멀티미디어 장치가 초기화되면 CPU(105)의 제어하에 참조테이블 생성루틴으로 들어간다(801단계). 그러나 상술한 바와 같이 비디오 코덱(205)이나 카메라 구동장치(103)으로부터 컬러모델 변환 요구가 있는 경우에도 참조테이블들은 생성된다. 참조 테이블의 생성이 요구되면 참조테이블 생성기(109)는 803단계에서 참조테이블 플래그를 0으로 설정하고 805단계로 진행한다. 805단계에서 참조테이블 생성기(109)는 멀티미디어 장치의 구성 파일(Configuration file)에 설정되어 있는 영상 시스템의 유형을 검사한다.
상기 <표 1>에 기술된 바와 같이 Y,U,V 성분에 대한 가중치들은 표준화 국제단체마다 각각 달리 정의된다. 이들 중 어느 표준화 국제단체를 따르는가는 상기 멀티미디어 시스템을 구성하는 LCD 장치 즉, 영상시스템마다 다르다. 따라서 영상 시스템이 다르면 가중치들도 다르므로, 다른 참조테이블들이 생성되어야 한다. <표 2>는 표준화 국제단체에 따라 영상 시스템의 유형을 정의한 것이다. 상기 <표 2>에 따라 LCD 장치가 어느 표준화 국제단체를 따르는가를 나타내는 정보가 멀티미디어 장치의 구성 파일에 포함된다.
영상시스템의 유형 정의 표준화 단체
0 No sequence_display_extension
1 ITU-R Rec.709(1990)
2 Unspecified
3 Reserved
4 FCC
5 ITU-R Rec.624-4 System B,G
6 SMPTE 170M
7 SMPTE 240M(1987)
참조테이블 생성기(109)는 805단계에서 검사된 영상 시스템의 유형에 따라 807단계에서 참조 테이블들 303, 305, 307과 309의 가중치들을 상기 각 유형마다 미리 정해져 있는 소정의 정수값으로 설정한다. crv는 참조테이블_rv(303)에 대한 가중치를, cgu는 참조테이블_gu(305)에 대한 가중치를, cgv는 참조테이블_gv(307)에 대한 가중치를, cbu는 참조테이블_bu(309)에 대한 가중치를 나타낸다.
809단계에서 참조테이블 생성기(109)는 참조테이블들을 저장하기 위해 메모리(107)에 소정의 영역을 할당한다. 이때, 참조테이블 생성기(109)는 LCD 장치(113)가 지원하는 컬러모드를 검사하고 그에 해당하는 비트수, 즉 bit-depth를 가지는 배열을 저장하기 위한 영역을 메모리(107)에 준비한다. 예를 들어, LCD 장치(113)가 24비트 트루컬러 모드를 지원하는 경우에는 24비트 또는 32비트의 배열을 준비하고, 16비트 컬러모드 또는 8비트 컬러모드만이 지원되는 경우에는 16 또는 8 bit- depth의 배열 영역을 준비한다.
참조테이블 생성기(109)는 811단계에서 변수 i의 값을 16으로 설정한다. 상기 변수 i는 Y값을 소정범위, 즉 16부터 235까지 카운트하기 위한 변수이다. 813단계에서 i값이 235보다 작으면 815단계에서 참조테이블_y(301)의 i 번째 번지에는 76309x(i-16)의 계산값이 저장된다. 817단계에서 i값이 하나 증가되고 상기 813내지 817과정이 i의 값이 235가 될 때까지 반복된다. 813단계에서 i가 235보다 커지면 참조테이블_y(301)의 생성이 완료되고, 819단계로 진행한다.
819단계에서 i값은 다시 16으로 설정되고 i값이 240이 될 때까지 821단계 내지 825단계를 반복하여 참조테이블들 303내지 309를 생성한다. 821단계에서 i가 240보다 커지면 참조테이블 생성기(109)는 827단계로 진행하여 참조테이블 플래그를 1로 셋트하고 참조테이블 생성 프로그램을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를 들어, 상기 컬러 참조테이블 생성기(109)와 컬러모델 변환기(111)는 컬러 참조테이블의 생성과 컬러모델 변환을 위한 프로그램들만을 저장하고, CPU(105)에서 이들 프로그램들을 수행할 수도 있을 것이다. 또한 본 발명의 실시예는 상기 <수학식 2>를 가정하여 설명되었으나 다른 정수의 가중치를 가지는 어떠한 컬러 모델 변환을 위한 수학식에도 본 발명은 적용될 수 있음을 유의하여야 한다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 본 발명은 단지 변수 하나에 컬러 참조 테이블을 하나씩 대응시키고, 일부의 컬러 참조 테이블들을 R,G,B 성분값 변환시 공통적으로 사용하 고, 변수에 곱해져서 컬러 참조 테이블을 생성하기 위한 가중치를 정수 형식의 가중치들을 사용함으로써 적은 메모리 용량과 명령어만으로 컬러모델을 변환할 수 있는 이점이 있다.

Claims (11)

  1. 영상 디스플레이 장치에 디스플레이하기 위하여 화소 데이터를 참조테이블들을 사용하여 휘도를 나타내는 Y성분과 색차를 나타내는 U와 V 성분들로 구성되는 와이유브이유(YUV) 형식에서 적녹청의 색을 각각 나타내는 R,G,B 성분들로 구성되는 알지비(RGB) 형식으로 변환하는 방법에 있어서,
    부호화된 영상신호로부터 상기 Y,U,V 성분들로 구성되는 YUV 형식의 화소 데이터들을 발생하는 과정과,
    상기 발생된 Y 성분의 값을 제 1참조테이블로 입력하고, 상기 제 1 참조테이블은 소정 범위의 가능한 모든 Y 성분값들에 대한 제 1 대응값들을 저장하고, 입력된 Y 성분값에 대응하여 상기 제 1 참조테이블로부터 선택된 값을 상기 R,G,B성분들의 부분값들로서 제 1내지 제 3 가산기들로 각각 출력하는 과정과,
    상기 발생된 V 성분의 값을 제 2참조테이블과 제 3참조테이블로 각각 입력하고, 상기 제 2참조테이블과 제 3참조테이블들은 소정 범위의 가능한 모든 V 성분값들에 대한 제 2대응값들과 제 3대응값들을 각각 저장하고, 상기 입력된 V 성분값에 대응하여 상기 제 2 및 제 3참조테이블들로부터 선택된 값들을 각각 상기 R과 G성분들의 부분값들로서 상기 제 1과 제 2가산기들로 출력하는 과정과,
    상기 발생된 U 성분의 값을 제 4참조테이블과 제 5참조테이블로 각각 입력하고, 상기 제 4참조테이블과 제 5참조테이블들은 소정 범위의 가능한 모든 U 성분값들에 대한 제 4대응값들과 제 5대응값들을 각각 저장하고, 상기 입력된 U 성분값에 대응하여 상기 제 4 및 제 5참조테이블들로부터 선택된 값들을 각각 상기 G와 B성분들의 부분값들로서 상기 제 2와 제 3가산기들로 출력하는 과정과,
    상기 부분값들을 상기 제 1 내지 제 3 가산기에서 더한 값들로부터 상기 R,G,B 성분들의 값들을 구하는 과정을 포함함을 특징으로 하는 상기 방법.
  2. 제 1항에 있어서,
    상기 제 1대응값들은 소정 범위의 가능한 모든 Y 성분값들에 대한 76309*(Y-16)의 계산값들이고,
    상기 제 2대응값들은 소정 범위의 가능한 모든 V 성분값들에 대한 crv*(V-128) + 32768의 계산값들이고,
    상기 제 3대응값들은 소정 범위의 가능한 모든 V 성분값들에 대한 cgv*(128-V)의 계산값들이고,
    상기 제 4대응값들은 소정 범위의 가능한 모든 U 성분값들에 대한 32768 - cgu*(U-128)의 계산값들이고,
    상기 제 5대응값들은 소정 범위의 가능한 모든 U 성분값들에 대한 cbu*(U-128) + 32768의 계산값들임을 특징으로 하는 방법.
    여기서 crv는 V 성분의 R 성분에 대한 가중치이고, cgv는 V 성분의 G 성분에 대한 가중치이고, cgu는 U 성분의 G 성분에 대한 가중치이고, cbu는 U 성분의 B 성분에 대한 가중치임.
  3. 제 2항에 있어서,
    상기 crv, cgv, cgu 및 cbu는 복수의 가중치들의 집합들 중 상기 영상 디스플레이 장치에 따라 결정됨을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 Y 성분은 휘도를 나타내는 성분이고, 상기 V 성분은 붉은 계통의 색차를 나타내는 성분이고, 상기 U 성분은 푸른 계통의 색차를 나타내는 성분이며, 상기 R 성분은 붉은 색을 나타내는 성분이고, 상기 G 성분은 녹색을 나타내는 성분이고, 상기 B 성분은 푸른색을 나타내는 성분임을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 R 성분의 값은 상기 제 1참조테이블과 제 2참조테이블로부터 출력되는 부분값들을 상기 제 1가산기에서 더한 값으로부터 구해지는 과정과,
    상기 G 성분의 값은 상기 제 1테이블과 제 3테이블 및 제 4테이블로부터 출력되는 부분값들을 상기 제 2가산기에서 더한 값으로부터 구해지는 과정과,
    상기 B 성분의 값은 상기 제 1테이블과 제 5테이블로부터 출력되는 부분값들을 상기 제 3가산기에서 더 한 값으로 구해지는 과정을 더 포함함을 특징으로 하는 방법.
  6. 제 5항에 있어서,
    상기 가산기들로부터 출력되는 값들을 쉬프트 연산기에서 쉬프트 연산하여 상기 R,G,B 성분의 값들을 구하는 과정을 더 포함함을 특징으로 하는 방법.
  7. 영상 디스플레이 장치에 디스플레이하기 위하여 화소 데이터를 참조테이블들을 사용하여 휘도를 나타내는 Y성분과 색차를 나타내는 U와 V 성분들로 구성되는 와이유브이유(YUV) 형식에서 적녹청의 색을 각각 나타내는 R,G,B 성분들로 구성되는 알지비(RGB) 형식으로 변환하는 시스템에서, 부호화된 영상신호로부터 상기 Y,U,V 성분들로 구성되는 YUV 형식의 화소 데이터들을 발생하고, 상기 R 성분은 상기 Y성분과 V성분의 R 성분에 대한 각 부분값들로부터 구하고, 상기 G성분은 상기 각 Y,U,V 성분들의 G성분에 대한 각 부분값들로부터 구하고, 상기 B성분은 상기 각 Y, U성분들의 B성분에 대한 각 부분값들로부터 구하는 방법에 있어서
    상기 발생된 Y성분의 값을 제 1참조테이블로 입력하고, 상기 입력된 Y성분값에 대응하여 상기 제 1 참조테이블로부터 상기 Y성분의 R,G,B 성분에 대한 부분값들을 선택하고 제 1내지 제 3 가산기들로 각각 출력하는 과정과,
    상기 발생된 V성분의 값을 제 2참조테이블과 제 3참조테이블로 각각 입력하고, 상기 입력된 V성분값에 대응하여 상기 제 2 및 제 3참조테이블들로부터 상기 V성분의 R성분과 G성분에 대한 부분값들을 선택하고 상기 제 1과 제 2가산기들로 출력하는 과정과,
    상기 발생된 U성분의 값을 제 4참조테이블과 제 5참조테이블로 각각 입력하고, 상기 입력된 U성분값에 대응하여 상기 제 4 및 제 5참조테이블들로부터 상기 U성분의 G성분과 B성분에 대한 부분값들을 선택하고 상기 제 2와 제 3가산기들로 출력하는 과정과,
    상기 부분값들을 상기 제 1 내지 제 3 가산기에서 더한 값들로부터 상기 R,G,B 성분들의 값들을 구하는 과정을 포함함을 특징으로 하는 상기 방법.
  8. 영상 디스플레이 장치에 디스플레이하기 위하여 휘도를 나타내는 Y성분과 색차를 나타내는 U와 V 성분들로 구성되는 와이유브이유(YUV) 형식의 화소데이터를 입력받고, 상기 입력된 YUV 형식의 화소데이터를 적녹청의 색을 각각 나타내는 R,G,B 성분들로 구성되는 알지비(RGB) 형식의 화소데이터로 참조테이블들을 사용하여 변환하는 장치에 있어서,
    소정 범위의 가능한 모든 Y 성분값들에 대한 제 1 대응값들을 저장하고, 상기 입력된 Y 성분값에 해당하는 대응값을 선택하고 상기 R,G,B 성분들의 부분값들로서 각각 출력하는 제 1테이블과,
    소정 범위의 값을 가지는 V 성분값들에 대한 제 2 대응값들과 제 3 대응값들을 각각 저장하고, 상기 입력된 V 성분값에 해당하는 대응값들을 각각 상기 R,G 성분들의 부분값들로 출력하는 제 2와 제 3테이블과,
    소정 범위의 값을 가지는 U 성분값들에 대한 제 4 대응값들과 제 5 대응값들을 각각 저장하고, 상기 입력된 V 성분값에 해당하는 대응값들을 각각 상기 G,B 성분들의 부분값들로 출력하는 제 4와 제 5테이블과,
    상기 테이블들로부터 출력되는 부분값들을 각 성분별로 더하는 가산기를 포함함을 특징으로 하는 장치
  9. 제 8항에 있어서,
    상기 가산기는 상기 제 1과 제 2테이블들로부터 출력되는 부분값들을 더하여 R 성분값으로 출력하는 제 1 가산기와,
    상기 제 1, 제 3 및 제 4테이블들로부터 출력되는 부분값들을 더하여 G 성분값으로 출력하는 제 2 가산기와,
    상기 제 1과 제 5테이블들로부터 출력되는 부분값들을 더하여 B 성분값으로 출력하는 제 3가산기를 더 포함함을 특징으로 하는 장치.
  10. 제 9항에 있어서,
    상기 가산기는 상기 제 1 내지 제 3가산기들로부터 출력되는 값들을 쉬프트 연산하는 쉬프트 연산기를 더 구비함을 특징으로 하는 장치.
  11. 제 8항에 있어서,
    상기 제 1대응값들은 소정 범위의 가능한 모든 Y 성분값들에 대한 76309*(Y-16)의 계산값들이고,
    상기 제 2대응값들은 소정 범위의 가능한 모든 V 성분값들에 대한 crv*(V-128) + 32768의 계산값들이고,
    상기 제 3대응값들은 소정 범위의 가능한 모든 V 성분값들에 대한 cgv*(128-V)의 계산값들이고,
    상기 제 4대응값들은 소정 범위의 가능한 모든 U 성분값들에 대한 32768 - cgu*(U-128)의 계산값들이고,
    상기 제 5대응값들은 소정 범위의 가능한 모든 U 성분값들에 대한 cbu*(U-128) + 32768의 계산값들임을 특징으로 하는 장치.
    여기서 crv는 V 성분의 R 성분에 대한 가중치이고, cgv는 V 성분의 G 성분에 대한 가중치이고, cgu는 U 성분의 G 성분에 대한 가중치이고, cbu는 U 성분의 B 성분에 대한 가중치임.
KR1020020035313A 2002-06-24 2002-06-24 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법 KR100547812B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020020035313A KR100547812B1 (ko) 2002-06-24 2002-06-24 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법
US10/284,980 US6828982B2 (en) 2002-06-24 2002-10-31 Apparatus and method for converting of pixels from YUV format to RGB format using color look-up tables
GB0228589A GB2390250B (en) 2002-06-24 2002-12-09 Apparatus and method for converting of pixels from YUV format to RGB format using color look-up tables
FR0216083A FR2841725B1 (fr) 2002-06-24 2002-12-18 Procede et dispositif pour convertir des pixels du format yuv en format rgb en utilisant des tables de couleurs
DE10261373A DE10261373A1 (de) 2002-06-24 2002-12-30 Apparat und Verfahren für die Umwandlung von Bildelementen von dem YUV-Format zu dem RGB-Format unter Verwendung von Farbumwertetabellen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020035313A KR100547812B1 (ko) 2002-06-24 2002-06-24 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040000151A KR20040000151A (ko) 2004-01-03
KR100547812B1 true KR100547812B1 (ko) 2006-01-31

Family

ID=19720668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020035313A KR100547812B1 (ko) 2002-06-24 2002-06-24 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법

Country Status (5)

Country Link
US (1) US6828982B2 (ko)
KR (1) KR100547812B1 (ko)
DE (1) DE10261373A1 (ko)
FR (1) FR2841725B1 (ko)
GB (1) GB2390250B (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4521747B2 (ja) * 2002-12-13 2010-08-11 シャープ株式会社 物体情報処理装置、画像処理システム、ゲーム装置および画像処理方法
US7236181B2 (en) * 2003-08-03 2007-06-26 Realtek Semiconductor Corp. Apparatus for color conversion and method thereof
US7511714B1 (en) * 2003-11-10 2009-03-31 Nvidia Corporation Video format conversion using 3D graphics pipeline of a GPU
US7580564B2 (en) * 2004-05-13 2009-08-25 Lexmark International, Inc. Method of an image processor for transforming a n-bit data packet to a m-bit data packet using a lookup table
JP4200942B2 (ja) * 2004-06-02 2008-12-24 セイコーエプソン株式会社 表示コントローラ、電子機器及び画像データ供給方法
KR100608814B1 (ko) * 2004-07-16 2006-08-08 엘지전자 주식회사 엘씨디 장치의 입력 영상 표시 방법
KR101108681B1 (ko) * 2005-01-19 2012-01-25 삼성전자주식회사 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법
EP1958459B1 (en) * 2005-12-02 2018-06-13 Koninklijke Philips N.V. Depth dependent filtering of image signal
KR100786386B1 (ko) * 2005-12-08 2007-12-17 한국전자통신연구원 소형 단말에서의 화면 출력방법
US7639263B2 (en) * 2007-01-26 2009-12-29 Microsoft Corporation Fast filtered YUV to RGB conversion
US9218792B2 (en) 2008-12-11 2015-12-22 Nvidia Corporation Variable scaling of image data for aspect ratio conversion
TWI415480B (zh) * 2009-06-12 2013-11-11 Asustek Comp Inc 影像處理方法與影像處理系統
US8860781B2 (en) * 2009-06-30 2014-10-14 Qualcomm Incorporated Texture compression in a video decoder for efficient 2D-3D rendering
US8754908B2 (en) 2011-06-07 2014-06-17 Microsoft Corporation Optimized on-screen video composition for mobile device
US9781447B1 (en) * 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
CN107886888B (zh) * 2013-09-12 2021-10-29 昆山云英谷电子科技有限公司 用于子像素渲染的方法和装置
US9948916B2 (en) * 2013-10-14 2018-04-17 Qualcomm Incorporated Three-dimensional lookup table based color gamut scalability in multi-layer video coding
US10531105B2 (en) 2013-12-17 2020-01-07 Qualcomm Incorporated Signaling partition information for 3D lookup table for color gamut scalability in multi-layer video coding
US9756337B2 (en) 2013-12-17 2017-09-05 Qualcomm Incorporated Signaling color values for 3D lookup table for color gamut scalability in multi-layer video coding
US9723216B2 (en) 2014-02-13 2017-08-01 Nvidia Corporation Method and system for generating an image including optically zoomed and digitally zoomed regions
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
CN107079105B (zh) * 2016-11-14 2019-04-09 深圳市大疆创新科技有限公司 图像处理方法、装置、设备及视频图传系统
CN112509072A (zh) * 2020-11-24 2021-03-16 北京三快在线科技有限公司 一种图像格式的检测以及转换方法及装置
CN113591878A (zh) * 2021-07-09 2021-11-02 杭州当虹科技股份有限公司 动态hdr图像特征提取方法
CN113709489B (zh) * 2021-07-26 2024-04-19 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63207292A (ja) * 1987-02-23 1988-08-26 Nec Home Electronics Ltd 色信号変換装置
JPH09146511A (ja) * 1995-11-24 1997-06-06 Nec Corp 色空間変換回路
US6075573A (en) * 1997-06-10 2000-06-13 Winbond Electronics Corp. Method and apparatus for converting luminance-chrominance color space signals to RGB color space signals using shared predictive and compensative transformation codes for chrominance components
US6172714B1 (en) * 1996-05-22 2001-01-09 Compaq Computer Corporation Color adjustment table system for YUV to RGB color conversion
US6211917B1 (en) * 1997-06-10 2001-04-03 Rong-Fuh Shyu Method for performing plural matrix multiplication operations using a shared look-up table
US6268847B1 (en) * 1999-06-02 2001-07-31 Ati International Srl Method and apparatus for more accurate color base conversion of YUV video data
JP2002132225A (ja) * 2000-10-24 2002-05-09 Sharp Corp 映像信号補正装置およびそれを用いたマルチメディア計算機システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233684A (en) * 1990-06-26 1993-08-03 Digital Equipment Corporation Method and apparatus for mapping a digital color image from a first color space to a second color space
US5872556A (en) * 1993-04-06 1999-02-16 International Business Machines Corp. RAM based YUV-RGB conversion
JP3787662B2 (ja) * 1995-01-18 2006-06-21 ソニー株式会社 画像データの色変換装置および画像データの色変換方法
US5920322A (en) * 1996-05-22 1999-07-06 Digital Equipment Corporation Method and apparatus for providing 32-bit YUV to RGB color conversion
US5923316A (en) * 1996-10-15 1999-07-13 Ati Technologies Incorporated Optimized color space conversion
JP3684740B2 (ja) * 1997-01-24 2005-08-17 セイコーエプソン株式会社 Yuv−rgbデジタル変換回路並びにそれを用いた画像表示装置及び電子機器
US6043804A (en) * 1997-03-21 2000-03-28 Alliance Semiconductor Corp. Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation
KR100242665B1 (ko) * 1997-08-01 2000-02-01 김영환 데이터 변환부를 구비한 칼라 액정표시 구동장치
US5936683A (en) * 1997-09-29 1999-08-10 Neo Magic Corp. YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping
US6028590A (en) * 1998-08-20 2000-02-22 Intel Corporation Color conversion for processors

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63207292A (ja) * 1987-02-23 1988-08-26 Nec Home Electronics Ltd 色信号変換装置
JPH09146511A (ja) * 1995-11-24 1997-06-06 Nec Corp 色空間変換回路
US6172714B1 (en) * 1996-05-22 2001-01-09 Compaq Computer Corporation Color adjustment table system for YUV to RGB color conversion
US6075573A (en) * 1997-06-10 2000-06-13 Winbond Electronics Corp. Method and apparatus for converting luminance-chrominance color space signals to RGB color space signals using shared predictive and compensative transformation codes for chrominance components
US6211917B1 (en) * 1997-06-10 2001-04-03 Rong-Fuh Shyu Method for performing plural matrix multiplication operations using a shared look-up table
US6268847B1 (en) * 1999-06-02 2001-07-31 Ati International Srl Method and apparatus for more accurate color base conversion of YUV video data
JP2002132225A (ja) * 2000-10-24 2002-05-09 Sharp Corp 映像信号補正装置およびそれを用いたマルチメディア計算機システム

Also Published As

Publication number Publication date
US20030234795A1 (en) 2003-12-25
KR20040000151A (ko) 2004-01-03
FR2841725A1 (fr) 2004-01-02
GB2390250B (en) 2004-06-02
US6828982B2 (en) 2004-12-07
GB0228589D0 (en) 2003-01-15
GB2390250A (en) 2003-12-31
FR2841725B1 (fr) 2005-07-08
DE10261373A1 (de) 2004-01-29

Similar Documents

Publication Publication Date Title
KR100547812B1 (ko) 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법
US5559954A (en) Method &amp; apparatus for displaying pixels from a multi-format frame buffer
US8184127B2 (en) Apparatus for and method of generating graphic data, and information recording medium
EP0730386B1 (en) Color format conversion in a parallel processor
US7554563B2 (en) Video display control apparatus and video display control method
US5864345A (en) Table-based color conversion to different RGB16 formats
CN101388950B (zh) 用于数字图像的内容适应式对比增进方法及装置
US7050065B1 (en) Minimalist color space converters for optimizing image processing operations
US20080284793A1 (en) Hue and saturation control module
US5384582A (en) Conversion of image data from subsampled format to clut format
JPH1011021A (ja) 全ディジタル表示装置
JPH0651752A (ja) ビジュアルデータ処理装置
JPH1075430A (ja) ビデオデータ処理装置およびビデオデータ表示装置
JPH06332843A (ja) 動画映像データ転送装置およびコンピュータシステム
US7800629B2 (en) Image processing apparatus and method for preventing degradation of image quality when bit format of image is converted
GB2368253A (en) Display driver
KR20020070384A (ko) DCT 인터페이스를 위한 RGB 및 YCrCb 컬러스페이스 사이의 온-더-플라이 데이터 전송
US20120308149A1 (en) Data processing apparatus and data processing method
JPH10340338A (ja) ディスプレイ・フォーマット変換装置
TWI825410B (zh) 影像處理方法、裝置、攝影設備和儲存介質
US5745119A (en) Color data conversion using real and virtual address spaces
JP5106483B2 (ja) ピクセルデータを垂直にスケーリングするための方法および装置
WO2021217428A1 (zh) 图像处理方法、装置、摄像设备和存储介质
CN115460461B (zh) 视频处理方法及装置、终端设备、计算机可读存储介质
JP2000503134A (ja) 画像信号処理装置およびデジタルデータ信号の処理方法

Legal Events

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

Payment date: 20121228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee