KR101118181B1 - 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법 - Google Patents

룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법 Download PDF

Info

Publication number
KR101118181B1
KR101118181B1 KR1020090095796A KR20090095796A KR101118181B1 KR 101118181 B1 KR101118181 B1 KR 101118181B1 KR 1020090095796 A KR1020090095796 A KR 1020090095796A KR 20090095796 A KR20090095796 A KR 20090095796A KR 101118181 B1 KR101118181 B1 KR 101118181B1
Authority
KR
South Korea
Prior art keywords
lookup table
characteristic curve
straight line
input
value
Prior art date
Application number
KR1020090095796A
Other languages
English (en)
Other versions
KR20110038485A (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 KR1020090095796A priority Critical patent/KR101118181B1/ko
Publication of KR20110038485A publication Critical patent/KR20110038485A/ko
Application granted granted Critical
Publication of KR101118181B1 publication Critical patent/KR101118181B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • H04N5/202Gamma control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/57Control of contrast or brightness
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법에 관한 것으로, 그 룩업 테이블 압축 방법은 입력(X)를 받아 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)을 출력하는 단계; 상기 특성 곡선 F(X)와 상기 aX의 차로 산출된 옵셋값을 저장하는 룩업 테이블을 이용하여 상기 옵셋값을 선택하는 단계; 상기 직선 Y = aX에 상기 옵셋값과 미리 설정된 시프트값 b를 가산하여 상기 특성 곡선 F(X)를 출력하는 단계; 및 상기 특성 곡선이 픽셀값에 따라 점점 감소하는 경우에, 상기 특성 곡선 픽셀값의 중간값(M)을 기준으로 x축에 따라 증가하는 특성곡선으로 좌우 미러링한 후 상기 직선을 기준으로 근사화하는 단계를 포함한다.

Description

룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법{Compression Method of Look-up table and Method of Enhancing Hue, Saturation and Value Image Quality}
본 발명은 룩업 테이블에 관한 것으로 특히, 룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법에 관한 것이다.
디스플레이는 시각정보의 전달매체로서 각종 정보기기나 사무기기 등에 적용되고 있다. 기존 음극선관의 한계를 극복할 수 있는 다양한 종류의 평판표시장치(Flat Panel Display)가 개발 및 시판되고 있다.
평판표시장치에는 액정표시장치(Liquid Crystal Display : LCD), 전계 방출 표시장치(Field Emission Display : FED), 플라즈마 디스플레이 패널(Plasma Display Panel : PDP) 및 유기 발광다이오드소자(Organic Light Emitting Diode Device, OLED) 등이 있다. 이 중, 액정표시장치는 전자제품의 경박단소 추세를 만족할 수 있고 양산성이 향상되고 있어 많은 응용분야에서 음극선관을 빠른 속도로 대체하고 있다. 박막트랜지스터(Thin Film Transistor : 이하, "TFT"라 한다)를 이용하여 액정셀을 구동하는 액티브 매트릭스 타입의 액정표시소자는 화질이 우수하고 소비전력이 낮은 장점이 있으며, 최근의 양산기술 확보와 연구개발의 성과로 대형화와 고해상도화로 급속히 발전하고 있다.
이러한 평판표시장치에서는 감마보상과 같은 표시패널의 동작특성을 보상하기 위하여 또는, 콘트라스트 개선, APL(Average Picture level) 등 화질을 개선하기 위하여 화질 향상 연산을 룩업 테이블(Look-up table)로 구현하고 그 룩업 테이블을 롬(ROM)에 저장하고 있다. 이러한 룩업 테이블 데이터에는 표시패널의 동작특성, 백라이트 유닛(Back Light Unit, BLU)의 포토센서나 온도센서로부터 입력되는 피드백(Feedback) 신호에 의한 LED의 밝기 제어, 화질의 비균일성(Non Uniformity) 및 온도차 보상, 화상 데이타별 다이나믹 감마(Dynamic Gamma) 조절, RGB 별 감마특성 조절 등을 위하여 기존값에 미세한 차이가 나는 출력값들을 등재하고 있다. 이러한 룩업 테이블은 일반적으로 다수의 ROM으로 구성된다. 따라서, 한 픽셀 값을 표현하는 비트폭을 나타내는 컬러뎁스(Color depth)가 고화질 요구에 따라 증가하므로 룩업 테이블 데이터를 저장하기 위한 ROM 용량이 커지고 높은 하드웨어의 복잡도를 요구하게 되었다.
도 1a 내지 도 1e는 종래 기술의 룩업 테이블 특성 곡선 예들을 나타낸다. 도 1a는 영상의 특성에 맞는 픽셀 값의 조절을 위한 여러 개의 콘트라스트 출력을 생성할 수 있는 룩업 테이블 특성의 일예이다. 도 1b는 히스토그램 등화(histogram equalization)를 위한 누적밀도함수(cumulative density function(CDF))로 표현될 수 있는 룩업 테이블 특성의 일예이다. 도 1c는 어두운 부분과 밝은 부분의 동적범위(dynamic range)를 증가시키기 위한 룩업 테이블 특성의 일예이다. 도 1d는 이미지 상태에 따라 여러 개의 감마 출력을 생성하기 위한 룩업 테이블 특성의 일예이다. 도 1e는 여러 개의 계조 레벨(gray level)로 나누어 감마를 조절하기 위한 보간 곡선(Interpolation curve)를 얻기 위한 룩업 테이블 특성의 일예이다. 도 1f는 샘플링된 영상에 대하여 원본 영상의 휘도(luminance)로 유지시키기 위한 룩업 테이블 특성의 일예이다. 도 1a 내지 도 1f의 특성 곡선들(characteristic curve)은 비선형(nonlinear) 특성을 보이나, 대부분 직선과 비슷한 형태로 증가 또는 감소한다.
본 발명은 룩업 테이블을 위한 ROM 용량을 최소화하고 하드웨어 복잡도를 낮추면서 룩업 테이블에 저장된 내용에 대하여 손실없는 압축 방법(lossless compression)을 구현하도록 한 룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법을 제공한다.
본 발명의 룩업 테이블 압축 방법은 입력(X)를 받아 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)을 출력하는 단계; 상기 특성 곡선 F(X)와 상기 aX의 차로 산출된 옵셋값을 저장하는 룩업 테이블을 이용하여 상기 옵셋값을 선택하는 단계; 상기 직선 Y = aX에 상기 옵셋값과 미리 설정된 시프트값 b를 가산하여 상기 특성 곡선 F(X)를 출력하는 단계; 및 상기 특성 곡선이 픽셀값에 따라 점점 감소하는 경우에, 상기 특성 곡선 픽셀값의 중간값(M)을 기준으로 x축에 따라 증가하는 특성곡선으로 좌우 미러링한 후 상기 직선을 기준으로 근사화하는 단계를 포함한다.
본 발명의 룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법은 근사화 기준이 되는 직선함수에 의해 정해지는 원래의 룩업 테이블 동적범위보다 작은 동적범위를 계산하고 그 축소된 동적범위에 의해 결정되는 옵셋값을 직선함수에 더하여 원하는 특성 함수의 룩업 테이블 데이터를 출력하고 또한, 룩업 테이블 ROM의 특성 곡선이 미세한 차이가 있는 경우, 그 차이만을 룩업 테이블로 구현하거나 원하는 특성함수에 따라 미러링과 버티컬 폴더링 연산을 실시하여 룩업 테이블의 용량을 최소화한다. 그 결과, 본 발명은 하드웨어를 단순화하고 ROM 용량을 최소화함으로써 색깊이를 증가시킬 때 룩업 테이블의 감소비율을 더 줄일 수 있다. 나아가, 본 발명은 상기 룩업 테이블 압축 방법을 이용하여 HSV 화질 조절 방법의 룩업 테이블을 효율적으로 구현할 수 있다.
본 발명의 실시예에 따른 룩업 테이블 압축 방법 및 이를 이용한 HSV 화질 조절 방법의 실시예를 설명하기에 앞서 도 2, 수학식 1 내지 11을 결부하여 본 발명의 이론적 근거와 사용되는 용어를 정의하면 다음과 같다.
도 2를 참조하면, F(X)를 룩업 테이블 특성 곡선이라 하고 동적범위(Dynamic Range, DR)를 룩업 테이블 특성 곡선에서 최고 값과 최소 값의 차이로 정의한다. 이하에서, "DROrigin"은 F(X)의 동적범위를 나타내며, 수학식 1과 같이 표현될 수 있다.
DROrigin = F(X)MAX - F(X)MIN
LOrigin을 동적범위(DROrigin)에서의 양자화 레벨(quatization level)의 수라 할 때, 양자화 오차(quantization error, e)는 수학식 2와 같이 나타낼 수 있다.
e = DROrigin / LOrigin
룩업 테이블의 출력 비트 폭(output bit width, OBW)은 수학식 3과 같이 나타낼 수 있다.
OBW = log2 L = log2 (DR / e)
룩업 테이블 카운트(LUT count, LUTC)는 룩업 테이블의 입력 어드레스로 입력되는 입력 비트 폭 n과 룩업 테이블의 출력 비트 폭(OBW)을 통하여 결정되고 수 학식 4와 같이 나타낼 수 있다.
LUTC = 2n?OBW = 2n?log2 L = 2n?log2(DR / e)
룩업 카운트(LUTC)는 입력 비트 폭과 룩업 테이블의 출력 비트 폭(OBW)을 감소시켜 줄일 수 있으며, 이 중에서 입력 비트 폭을 감소시키는 방법에 대하여는 후술하기로 한다.
룩업 테이블의 출력 비트 폭(OBW)을 감소시키기 위해서는 양자화 오차(e)를 유지하면서 동적 범위(DR)를 줄여야 한다. DRReduced는 수학식 5와 같이 나타낼 수 있는 감소된 동적범위이고, LReduced는 DRReduced에 따라 감소된 양자화 수이다.
Figure 112009061782221-pat00001
OBWOrigin(OBWReduced)는 원래의(감소된) 룩업 테이블 출력 비트 폭이다. 수학식 5에서 DROrigin이 DRReduced로 줄어들면 감소되는 룩업 테이블 출력 비트폭(OBWReduced) 은 수학식 6과 같이 나타낼 수 있다.
OBWOrigin - OBWReduced=log2(DROrigin/DRReduced) = log2(LOrigin/LReduced)
LUTCReduced는 감소된 룩업 테이블 카운트이다. DRReduced에 대한 LUTCReduced는 수 학식 7과 같다.
LUTCReduced = 2n?OBWReduced = 2n?log2(DRReduced / e)
원래의 룩업 테이블 카운트(LUTCOrigin)와 LUTCReduced의 비는 수학식 8과 같이 나타낼 수 있다.
LUTC의 비 = LUTCReduced/ LUTCOrigin= log2(DRReduced/e)/log2(DROrigin/e)
LUTC는 e가 같다면 동적 범위의 log2 비에 의해서 결정된다. 예를 들어, e = 0.1, n = 8, DROrgin = 25.6일 때, DRReduced = 1.6으로 감소되면 OBWOrigin은 8이 되고, OBWReduced는 4가 되어 룩업 테이블은 4 bit 감소된다. 이 경우, 수학식 6에 의해 LUTCOrigin은 2048이 되고, 수학식 7에 의해 LUTCReduced는 1024가 된다. 그리고 수학식 8에 의해 LUTC는 50%의 감소율을 나타낸다.
이미지의 컬러뎁스(color depth)가 커져 입력 비트 폭 n이 커지면 수학식 6에 의해 LUTC는 지수적으로 증가하므로 동적범위가 줄어들면 LUTC는 더욱 많은 감소율을 갖게 된다.
본 발명은 하드웨어 구현이 용이한 직선을 활용하여 원래의 특성 함수와의 차이에 해당하는 적은 동적 범위를 갖는 FOffset(X) 값만을 옵셋 룩업 테이블(offset LUT)로 구현하여, 룩업 테이블 롬(LUT ROM)의 하드웨어 복잡도를 줄인다.
상기의 동적범위를 줄이기 위하여, 수학식 9의 F(X)를 근사화 하기 위한 기울기 a의 직선을 정의한다.
Y = aX
직선 근사화를 통해 F(X)와 직선의 차이에 의해서 DRReduced는 수학식 10과 같이 결정된다. 수학식 9에서, a가 1일 때 수학식 9는 Y = X로 표현된다.
Figure 112009061782221-pat00002
수학식 10에 의해 DROrigin을 DRReduced로 줄이면, 수학식 8에서 설명한 바와 같이 LUTC가 감소된다. 수학식 11의 FOffset(X)는 도 2에서 점선으로 표시된 직선과의 차이 부분만큼 감소된 동적범위인 DRReduced를 가지게 된다.
FOffset(X) = F(X) - aX
도 3은 룩업 테이블 특성 곡선에 근사화의 기준이 되는 직선을 시프트(Shift) 방법을 보여주는 도면이다.
도 1a와 같이 특성 곡선이 원점에서 시작되지 않으면 직선 Y = aX를 b만큼 시프트시키도록 Y = aX + b로 연산한다. 직선 시프팅 방법으로, 동적범위 DRReduced는 DRReduced_Shift으로 더욱 감소된다. 이러한 연산 방법은 FOffset(X)를 직선에 더하기 위한 가산기를 이용하여 FOffset(X)와 직선의 가산결과에 b를 더하는 방법으로 구현될 수 있다.
도 4는 버티컬 폴딩(Vertical folding) 방법을 나타낸다. 룩업 테이블 특성 곡선이 근사화 직선을 기준으로 상하 대칭인 경우 버티칼 폴딩을 통해 근사화 기준이 되는 직선에 대하여 입력과 출력 동적범위를 줄여 ROM의 개수를 더 줄일 수 있다. 픽셀 값의 중간 값인 V를 기준으로 버티컬 폴딩되어 반으로 줄어든 동적 범위를 DRReduced_VF라 하면, DRReduced_VF는 수학식 12와 같이 나타낼 수 있다.
DRReduced_VF = DRReduced / 2
룩업 테이블 롬의 입력 어드레스인 픽셀 값의 범위는 V까지면 충분하므로 2n/2으로 나타낼 수 있다.
버티컬 폴딩은 직선 Y = aX와 FOffset(X)를 더하거나 빼는 방법으로 연산될 수 있고 수학식 13과 같이 나타낼 수 있다.
Figure 112009061782221-pat00003
수학식 13에서 알 수 있는 바와 같이, F(X)는 입력 X가 V보다 작거나 같을 경우 X를 입력으로 받고, X가 V보다 클 경우 2V - X 만큼을 입력으로 받는다.
버티컬 폴딩인 경우에 FOffset(X)는 입력 X가 0에서 V까지에 해당하는 만큼의 룩업 테이블을 가지고 있다. 버티컬 폴딩에서, 입력 X가 V보다 큰 경우의 구현 방안에 대하여는 도 6을 결부하여 후술하기로 한다. 버티컬 폴딩을 적용하는 경우 수학식 6에 나타낸 바와 같이 1 bit의 출력 비트 폭(OBW)과 입력 비트 폭이 더 감소한다. 즉, 출력 비트 폭과 입력 비트 폭 각각은 1 bit가 적은 OBWReduced_VF, n - 1이 되며, LUTC는 수학식 14와 같이 나타낼 수 있다.
LUTCReduced_VF = 2n-1?OBWReduced_VF
예를 들어, n = 8, DRReduced = 1.6이고, 버티컬 폴딩이 적용될 수 있으면 수학식 12에 의해 DRReduced_VF = 0.8 이 되고, 수학식 14에 의해 LUTCReduced_VF = 27?3 = 384가 된다. 따라서, 버티컬 폴딩을 적용할 때의 LUTCReduced_VF는 버티컬 폴딩을 적용하지 않은 LUTCReduced에 비하여 57.1% 정도 감소된다.
도 5는 미러링(Mirroring) 방법을 나타낸다.
도 1e와 같은 형태의 룩업 테이블 특성 곡선은 픽셀값의 증가에 따라 감소하는 형태를 가지고 있어, 직선 근사화를 용이하게 하기 위하여 미러링 방법을 적용 한다. 미러링 방법은 도 5와 같이 근사화에 용이한 원점에서 시작하여 증가하는 FMirrored(X)를 얻기 위하여, 픽셀값의 중간값인 미러링 포인트(M)를 기준으로 입력(XOrigin)을 미러링 입력값(mirrored input value, XMirrored)로 하고, F(X)를 좌우 미러링하여 원점을 통과하는 직선 Y = aX으로 근사화하는 방법이다. XMirrored는 버티컬 폴딩과 유사하게 2M에서 XOrigin을 빼줌으로써 얻을 수 있다. 미러링 이후 입력 어드레스를 구하는 방법은 도 4의 버티컬 폴더링에서 전술한 수학식 13의 조건 X > V일 때의 입력 어드레스를 구하기 위한 방법과 동일하게 처리할 수 있다. 상기 좌우 미러링 후 특성 곡선이 상하대칭일 경우에는 상기 버티컬 폴딩 방법을 역시 추가로 적용 가능하다
도 6은 버티컬 폴딩 및 미러링 입력 어드레스 계산 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 도 4의 버티컬 폴딩 기준점 V와 도 5의 미러링 기준점 M을 기준으로 하여 옵셋 룩업 테이블의 입력을 연산하는 방법은 X ≤ V(M)일 경우에 입력은 X 그대로 옵셋 룩업 테이블의 어드레스로 입력한다. X > V(M)일 경우에 입력은 X ≤ V(M) 인 경우의 입력 X를 반전시켜 옵셋 룩업 테이블의 어드레스로 입력 가능하다. 예를 들어, 도 4에서 n = 8, V = 128일 때, X가 203이면 옵셋 룩업 테이블의 입력은 수학식 13에 의해 2V - X이므로 52가 되어야 한다. X = 203을 이진수로 표현하면 11001011이고, 옵셋 룩업 테이블에 입력될 입력 52는 00110100로 203을 반전시킨 결과와 같다. 그러므로 X > V(M)일 경우에 별도의 2V - X의 연산 대신, 입력 X를 반전시킴으로써 쉽게 옵셋 룩업 테이블의 입력 어드레스로 입력하여 연산 할 수 있다.
도 5의 미러링 어드레스는 입력 XOrigin을 XMirrored로 변경하여야 한다. 입력 XOrigin, 미러링한 값 XMirrored의 관계는 XMirrored = 2n - XOrigin이 된다. 예를 들어, n = 8, XOrigin = 0이면 XMirrored = 255가 된다. 이를 이진수로 표현하면, XOrigin = 00000000이고 XMirrored = 11111111 이다. 이는 버티컬 폴딩의 어드레스 방법에서 전술한 바와 같이 수학식 13의 X > V의 경우의 어드레스 연산 결과와 같으므로 미러링에 대한 어드레스 연산도 입력 X를 반전시키는 것만으로 원하는 결과를 얻을 수 있다.
각 디스플레이 패널의 동작특성, 백라이트 유닛(Back Light Unit, BLU)의 포토 센서, 온도 센서 각각의 피드백 신호를 이용하여 백라이트 유닛의 광원(예, CCFL, EEFL, LED)의 밝기, 불균일(Non Uniformity) 및 온도차 보상, 화상 데이타별 다이내믹 감마(Dynamic Gamma)의 조절, RGB 별로 각각 감마 조절할 때 RGB 별로 차이가 나는 값 등에 있어서 요구되는 룩업 테이블의 출력은 일반적으로 기준값에 미세한 차이가 나는 각각의 출력값에 대하여 룩업 테이블을 별도로 필요로 한다. 기존에는 이에 대하여 별도의 룩업 테이블을 여러 개 사용하여 많은 양의 하드웨어가 요구되었다.
본 발명의 다른 실시예에 따른 룩업 테이블 압축 방법은 위의 예와 같이 룩 업 테이블 롬(ROM)의 출력이 일정한 값에 미세한 값의 변화가 있는 경우가 대부분인데, 이 경우에 도 7과 같은 방법으로 룩업 테이블의 특성 곡선을 미세하게 조정할 수 있다.
본 발명의 또 다른 실시예로써, 디스플레이 소자의 R, G, B 각각의 감마 특성을 전술한 델타 룩업 테이블을 이용하여 R, G, B 각각의 감마 특성 곡선을 구현하기 위한 룩업 테이블 카운트를 최소화할 수 있다. 예컨대, 화상 데이터 R, G, B 각각에 따라 별도의 감마 특성을 보정한다면 기존에는 R, G, B 각각에 대해 3 개의 룩업 테이블이 모든 동적 범위에 대해서 필요하였지만, 본 발명은 한 개의 룩업 테이블(LUCTReduced)와 두개의 델타 룩업 테이블(LUTCDelta)면 R, G, B 각각의 감마 특성을 보정할 수 있다.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 룩업 테이블 압축 방법은 직선 근사화를 통해 동적 범위를 감소시켜 만든 특성 곡선 룩업 테이블을 바탕으로 미세한 출력값의 차이를 연산하기 위하여, 상기 룩업 테이블 특성 곡선을 기준으로 여러 상기 차이값에 해당하는 델타 룩업 테이블을 작은 출력 비트폭 기반으로 보정하여 룩업 테이블의 총 양을 최소화할 수 있다.
특성 곡선 F(X)를 구현할 경우, 도 7에서 "Delta"는 근사화 기준이 되는 직선과 원하는 룩업 테이블 특성 곡선 사이의 미세한 값의 차이를 의미한다.
델타 룩업 테이블의 출력 비트 폭(OBWDelta)은 아래의 수학식 15와 같다. 델타 룩업 테이블의 룩업 테이블 카운트(LUTC)는 수학식 16과 같다.
OBWDelta= log2 (Delta /e)
LUTCDelta = 2n?OBWDelta = 2n?log2(Delta /e)
룩업 테이블 카운트는 LUTCOrigin = 2n?OBWOrigin = 2n?log2(DROrigin + 또는 - Delta/e)를 갖는 각각의 델타값에 해당하는 룩업 테이블이 필요하나 동적 범위는 전술한 직선을 통한 근사화 방법에 의하여 우선 DROrigin으로부터 DRReduced으로 줄어들게 되고, 델타 룩업 테이블에 대한 전술한 실시예에서 설명한 방법을 이용하여 ROM의 개수는 LUTCReduced + LUTCDelta로 감소된다.
도 8은 본 발명의 제 1 실시예에 따른 룩업 테이블 장치를 나타낸다. 이 룩업 테이블 장치는 도 3의 시프트 방법으로 입력 X를 연산하여 룩업 테이블의 특성 곡선 F(X)를 얻을 수 있다.
도 8을 참조하면, 룩업 테이블 장치는 직선 계산부(1), 옵셋 룩업 테이블(2), 및 가산기(3)를 구비한다.
직선 계산부(1)는 입력 X를 받아 룩업 테이블 특성 곡선의 근사화에 기준이 되는 직선 Y = aX를 계산한 결과를 가산기(3)에 입력한다. 직선 계산부(1)의 상세 구성 및 동작에 대하여는 도 11 및 도 12를 결부하여 후술하기로 한다.
옵셋 룩업 테이블(2)은 수학식 11에 의해 룩업 테이블 특성 곡선 F(X)의 직선 근사화를 통해 감소된 동적범위(DR)를 가진 FOffset(X) = F(X) - aX를 저장한다. 이 옵셋 룩업 테이블(2)은 입력 X를 어드레스로 하는 옵셋값 FOffset(X)를 가산기(3)에 입력한다. 가산기(3)는 직선 계산부(1)로부터의 직선함수에 옵셋값 FOffset(X)과 도 3에서 전술한 시프트값 b를 가산하여 룩업 테이블 특성 곡선 F(X)를 출력한다.
도 9는 본 발명의 제 2 실시예에 따른 룩업 테이블 장치를 나타낸다. 이 룩업 테이블 장치는 도 4의 버티컬 폴더링 방법과 도 5의 미러링 방법으로 입력 X를 연산하여 룩업 테이블의 특성 곡선 F(X)을 얻을 수 있다.
도 9를 참조하면, 룩업 테이블 장치는 인버터(4), 직선 계산부(1), 어드레스 계산부(5), 옵셋 룩업 테이블(2) 및 가산부(3)를 구비한다.
인버터(4)는 도 4의 버티컬 폴딩과 도 5의 미러링 방법에서 직선 계산부(1)에 입력되는 입력 X를 반전시킨다. 직선 계산부(1)는 도 4의 버티컬 폴딩과 도 5의 미러링 방법에서 인버터(4)에 의해 반전된 입력 X를 받아 룩업 테이블 특성 곡선의 근사화에 기준이 되는 직선 Y = aX을 계산한 결과를 가산기(3)에 공급한다. 직선 계산부(1)의 상세 구성 및 동작에 대하여는 도 10을 결부하여 후술하기로 한다.
어드레스 계산부(5)는 입력 X와 버티컬 폴더링 기준값 V를 비교하여 수학식 13의 조건을 판단하고 수학식 13에 따라 입력 X를 선택적으로 반전시킨다. 어드레스 계산부(5)에 대한 상세 구성과 동작은 도 10을 결부하여 후술하기로 한다.
옵셋 룩업 테이블(2)은 수학식 11에 의해 룩업 테이블 특성 곡선 F(X)의 직선 근사화를 통해 동적범위(DR)를 줄인 옵셋값 FOffset(X) = F(X) - aX를 저장한다. 이 옵셋 룩업 테이블(2)은 어드레스 계산부(5)에 의해 선택적으로 반전된 입력 X를 어드레스로 하는 옵셋값 FOffset(X)를 가산기(3)에 공급한다. 가산기(3)는 직선 계산부(1)로부터의 직선함수에 옵셋값 FOffset(X)과 도 3에서 전술한 시프트값 b를 가산하여 룩업 테이블 특성 곡선 F(X)를 출력한다.
도 10은 어드레스 계산부(5)를 상세히 나타내는 회로도이다.
도 10을 참조하면, 어드레스 계산부(5)는 버티컬 폴딩, 미러링 연산으로 옵셋 룩업 테이블(2)의 입력 어드레스를 발생한다. 이 어드레스 계산부(5)는 비교기(51), 인버터(52), 멀티플렉서(53)를 구비한다.
인버터(52)는 입력(X)를 반전시켜 멀티플렉서(53)에 공급한다. 비교기(51)는 입력(X)를 버티컬 폴딩 기준점(또는 미러링 기준점) V(M)과 비교하고, 그 비교 결과에 따라 멀티플렉서(53)의 출력을 제어한다. 이 비교기(51)는 수학식 13에서 X > V의 조건을 만족하는 경우에 인버터(52)의 출력이 선택되도록 멀티플렉서(53)를 제어하는 반면 수학식 13에서 X ≤ V의 조건에 만족하는 경우에 반전되지 않은 원본 입력(X)의 출력이 선택되도록 멀티플렉서(53)를 제어한다.
멀티플렉서(53)는 비교기(51)의 제어 하에 수학식 13에서 X > V의 조건을 만족하는 경우에 인버터(52)에 의해 반전된 입력(X)을 옵셋 룩업 테이블(2)에 공급하는 반면, 수학식 13에서 X ≤ V의 조건에 만족하는 경우에 원본 입력(X)을 멀티플렉서(53)에 공급한다.
도 11은 직선 계산부(1)의 제 1 실시예를 상세히 나타내는 블록도이다.
도 11을 참조하면, 직선 계산부(1)는 바이패스라인과 시프터(11)를 구비한다.
직선 계산부(1)는 직선 Y = aX에서 a 가 ∑2k로 표현될 수 있을 때 수학식 17과 같이 입력 X를 k만큼 시프트시켜 직선 Y값을 산출할 수 있다.
Y = ∑ 2k?X
직선 계산부(1)는 k 값의 개수 만큼 시프트를 수행하는 시프터(11)와 가산을 통해 수학식 17을 구현할 수 있다. 여기서, k가 취하는 값에 따라 수학식 17은 Y = X로 표현될 수 있다.
Adder2^kLine는 ∑ 2k?X로 나타낼 수 있는 직선과 옵셋 룩업 테이블(2)에 필요한 가산기의 카운트로써 수학식 18과 같이 나타낼 수 있다.
Adder2^kLine = k의 Count + 1
Shifter2^kLine는 시프터(11)의 카운트로 수학식 19와 같이 나타낼 수 있다.
Shifter2^kLine = k(k ≠ 0)의 Count
Y = ∑2k?X 에 대하여 줄어든 룩업 테이블의 동적범위(DR)는 DRReduced2^k이고, 출력 비트 폭(OBW)는 OBWReduced_2^k이다.
LUTCReduced_2^k는 수학식 17에 의해 표현될 수 있는 직선을 바탕으로 줄어든 룩업테이블 카운트(LUTC)로써 수학식 20과 같이 나타낼 수 있다.
LUTCReduced_2^k = 2n?OBWReduced_2^k
직선 계산부(1)는 수학식 17로 표현되는 직선을 구현하기 위하여 수학식 19에 의해 Shifter2^kLine만큼 시프터(11)로 입력되는 입력값(X)을 k bit 만큼씩 시프트시키고, 시프트된 데이터는 수학식 18에 의해 Adder2^kLine 만큼 가산을 수행하는 가산기(3)로 입력된다. 전형적인 화상 처리 연산의 경우를 가정하여 60Hz 프레임 레이트(Frame rate)로 1024×768 해상도의 영상 데이터로 입력되는 영상의 1 프레임(frame) 처리시간은 16.6ms가 되고, 1 화소의 처리시간은 16.6ms / (1024×768) ≒ 21ns이므로 현재의 공정으로 8bit 가산기의 경우에 수학식 17에서 k = 3 이면 순환 가산기(Recursive adder) 한 개로 3개의 가산(Addition)을 프레임 레이트(Frame rate)에 따라 충분히 수행할 수 있다.
따라서, 가산기(3)는 직선 계산부(1)의 출력값과 옵셋 룩업 테이블(2)의 출력값을 수학식 18에 의해 Adder2^kLine 만큼 가산하여 특성 곡선 함수 F(X)를 구현하기 위한 순환 가산기를 사용한다. 예컨대, Y = 6X의 직선을 구현한다면, Y = 22X + 21X로 표현 할 수 있다. 이 경우, 2 bit와 1 bit 만큼 시프트시키는 2개의 시프터(11)가 필요하다. 시프터(11)에 의해 시프트된 값들을 가산기(3)에서 더하면 Y = 6X의 직선이 구현된다.
도 12는 직선 계산부(1)의 제 2 실시예를 상세히 나타내는 블록도이다.
도 12의 직선 계산부(1)는 직선 Y = aX가 Y = ∑ 2k?X로 표현되지 않는 직선을 계산하기 위하여, 룩업 테이블(12) 및 시프터(11)를 이용하여 직선을 계산한다.
근사화의 기준이 되는 직선을 보다 적은 용량의 룩업 테이블(12)로 구현하기 위하여, p bit씩 처리하는 LUT 특성 곡선 근사화를 위한 직선 함수 G(X)를 정의하고, G(X) 입력 어드레스(X)를 수학식 21과 같이 p bit씩 n/p개 만큼 분할(partition)하여 가산한다.
Figure 112009061782221-pat00004
입력 어드레스를 p bit 씩 n/p로 분할(Partition)하여 각 분할 비트(partitioned bit)에 대한 룩업 테이블 값을 더하여, 룩업 테이블(12)의 입력 비트 폭을 줄이게 되면 룩업 테이블(12)의 용량은 1/2n-p로 감소될 수 있다. 이와 같은 방법은 선형적(linear)인 경우 성립되므로 룩업 테이블의 특성 곡선(F(X))을 근사화하기 위한 선형적인 직선의 경우 에러 없이 정확하게 구현할 수 있다. 분할된 룩업 테이블(12)을 이용하여 직선을 구현하기 위해서는 p bit씩 좌측으로 시프트(left shift)하여 룩업 테이블(12)의 출력을 가산하여야 하므로 시프터(11)와 가산기(3)가 필요하다.
가산기(3)는 수학식 21과 같이 n/p - 1 만큼 직선 계산부(1)의 출력과 옵셋 룩업 테이블의 출력을 가산한다. AdderLine는 총 가산기 카운트로 수학식 22와 같이 나타낼 수 있다.
AdderLine = n/p
ShifterLine_LUT는 총 시프터 카운트로 수학식 23과 같이 나타낼 수 있다.
ShifterLine_LUT = n/p -1
OBWLine_LUT는 분할 입력 비트를 사용한 룩업 테이블(12)의 출력 비트 폭이고, 이는 정확도를 위해서 n bit를 모두 사용한다. LUTCLine_LUT는 수학식 19를 바탕으로 하는 근사화의 기준이 되는 직선 구현을 위한 룩업 테이블의 카운트(또는 개수)로써 수학식 24와 같이 나타낼 수 있다.
LUTCLine_LUT= 2p?OBWLine_LUT
룩업 테이블로 구현된 직선에 의해 감소된 동적범위(DR)는 DRReduced_Line이고 출력 비트 폭은 OBWReduced_Line이다. LUTCReduced_Line_LUT는 직선을 구현하기 위한 룩업 테이블 카운트와 수학식 7에서 정의된 옵셋 룩업 테이블 카운트를 더한 룩업 테이블 카운트이고 수학식 25와 같이 나타낼 수 있다.
LUTCReduced_Line_LUT= 2n?OBWReduced_Line + 2p?OBWLine_LUT
직선 계산부(1)의 출력 데이터는 수학식 23에 의해 p bit만큼 시프터(11)로 시프트시켜 가산기(2)로 입력된다. 가산기(3)는 순환 가산기를 포함하여 직선 계산부(1)의 출력 값과 옵셋 룩업 테이블(2)의 출력값을 수학식 22 횟수만큼 가산하여 특성 곡선(F(X))을 구현한다.
이 직선 계산부(11)의 동작을 예를 들어 설명하면, OBWOrigin = 8, OBWReduced = 6, n = 8을 p = 4 bit으로 나누어 연산한다면, Y = a(X[7:4]?24+ X[3:0]) = a?(X[7:4]?24 + X[3:0]으로 연산할 수 있다. 이 때, 상위 4 bit에 대한 룩업 테이블(12)의 출력을 4 bit만큼 시프트시키는 시프터(11)가 1개 필요하고, 하위 4 bit에 대한 출력은 시프트시키지 않는다. 시프터(11)에 의해 시프트된 값들이 가산기(2)에서 옵셋값과 더해져 직선이 구현된다.
도 13은 도 7의 룩업 테이블 압축 방법의 하드웨어 구현예를 보여 주는 블록도이다.
도 13을 참조하면, 룩업 테이블 장치는 직선 계산부(1), 옵셋 룩업 테이블(2), 델타 룩업 테이블(6) 및 가산기(3)를 구비한다.
직선 계산부(1)는 입력 X에 따라 선택되는 룩업 테이블 특성 곡선의 근사화에 기준이 되는 직선 Y = aX를 계산한 결과를 가산기(3)에 공급한다. 옵셋 룩업 테이블(2)은 입력 X를 어드레스로 하는 옵셋값 FOffset(X)를 가산기(3)에 공급한다. 델타 룩업 테이블(6)은 입력 X에 따라 선택되는 도 7의 델타값 즉, 미세한 변화값을 가산기(3)에 공급한다. 가산기(3)는 직선 계산부(1)로부터의 직선함수에 옵셋값 FOffset(X), 델타값 및 시프트값 b를 가산하여 룩업 테이블 특성 곡선 F(X)를 출력한다.
도 14 내지 도 16은 본 발명의 룩업 테이블 압축 방법의 시뮬레이션 결과를 나타내는 그래프들이다.
도 14는 n = 8일 때, DROrigin / DRReduced의 변화에 따른 룩업 테이블 카운트(LUTC)를 비교한 그래프로써, 수학식 21에 의해 룩업 테이블의 입력 비트 폭을 분할하는 p = 2, 4, 8의 경우에 있어서 LUT count를 나타낸다. 동적 범위(DR)이 감소됨에 따라 룩업 테이블 카운트(LUTC)는 급속하게 감소한다. DRReduced가 작아지면 LUTCReduced, LUTCReduced_VF, LUTCReduced_Line_LUT의 사이즈가 줄어든다. 수학식 17에 의하여 동적 범위(DR)가 감소된 LUCReduced는 DROrigin / DRReduced가 128일 경우 감소율은 80%를 보인다. LUTCReduced와 비교하여 수학식 14에 의하여 버티컬 폴딩으로 감소된 LUTCReduced_VF는 53% 더 감소된다.
도 15는 컬러뎁스(color depth), 즉 룩업 테이블의 입력 어드레스 n의 변화에 따른 룩업 테이블 카운트를 나타낸다.
도 15를 참조하면, 컬러뎁스가 증가하면 수학식 6에 의해 룩업 테이블 카운트(LUTC)가 급격히 증가한다. 특히, 직선을 기준으로 동적범위(DR)를 감소시키는 방법에 따라 보다 많은 양의 룩업 테이블 카운트(LUTC)를 감소시킬 수 있음을 확인할 수 있다. 입력 비트 폭이 증가하여도 감소된 동적범위(DR)가 동일하다면, 수학식 20과 수학식 25에 의해 감소되는 룩업 테이블 카운트(LUTC)가 비슷한 감소율로 감소되고 수학식 14의 버티컬 폴딩을 이용한 방법을 적용하면 룩업 테이블 카운트(LUTC)를 더욱 감소시킬 수 있다.
일반적인 룩업 테이블의 특성 곡선에 대하여, 근사화에 기준이 되는 직선을 구현하는 방법으로 제안된 두가지 방법 즉, 도 11 및 도 12의 방법들을 비교하기 위하여 n = 16일 때, 동적 범위(DR) 비를 나타내는, DRReduced_2^k/DRReduced_Line과 p에 대하여, 상기 두가지 방법, 수학식 20의 Y = ∑ 2k?X에 따른 LUTCReduced_2^k와 수학식 19의 룩업 테이블을 이용한 직선 계산에 따른 LUTCReduced_Line_LUT = LUTCReduced_Line + LUTCLine_LUT를 비교하여 필요한 룩업 테이블의 개수를 비교하는 그래프를 도 14에서 보여 준다.
도 16에서,
(I)은 LUTCReduced2^k = LUTCReduced_Line_LUT인 경우
(II)는 LUTCReduced2^k > LUTCReduced_Line_LUT인 경우
(III)은 LUTCReduced2^k < LUTCReduced_Line _LUT인 경우를 나타내며,
DRReduced_2^k = DRReduced_Line일 경우는 수학식 25에 의해 LUTCReduced_Line에 룩업 테이블을 이용한 직선을 처리하기 위한 LUTCLine_LUT가 더해져야 하므로 수학식 17에 의해 시프터를 이용하여 산출한 직선 경우인 LUTCReduced_2^k가 효과적이다. (I)의 경우인 DRReduced_2^k / DRReduced_Line의 식은 수학식 26과 같이 나타낼 수 있다.
DRReduced_2^k / DRReduced_Line = 2^(2p-n?log2(DROrigin / e))
DRReduced_2^k / DRReduced_Line이 수학식 26의 우변보다 클수록 (II)의 LUTCReduced_Line_LUT가 작아지므로 수학식 21을 바탕으로 한 룩업 테이블을 이용한 직선 연산이 효과적이다.
p가 n과 같은 16일 때는 입력 bit가 분할되지 않은 경우로 (III)이 되지만, 분할되면 (II)가 되므로 룩업 테이블을 이용한 직선 구현이 유리하다. (I)이 되는 p에 대한 식은 수학식 27과 같이 나타낼 수 있다.
p = log2(2n log2(DRReduced_2^k/DRReduced_Line)/log2(DROrigin/e))
p가 수학식 27의 우변 보다 작을수록 (II)의 경우인 LUTCReduced_Line_LUT가 작아지므로 수학식 15에 의해 시프터를 이용하여 산출한 직선보다 수학식 21을 바탕으로 한 룩업 테이블을 이용한 직선 연산이 더 효과적이다. p가 작아지면 가산기 개수가 증가되지만 위에서 설명된 바와 같이, 모든 가산기에 대해서 순환 가산기를 한 개만 사용해도 되므로 하드웨어 오버헤드(overhead)가 크게 증가되지 않고, 이로 인하여 효과적으로 직선을 산출할 수 있다.
이하에서, 전술한 룩업 테이블 압축방법을 바탕으로 한 본 발명의 HSV 화질 조절 방법의 실시예에 대하여 설명하기로 한다.
일반적으로, 화질은 휘도(Luminance), 콘트라스트(Contrast), 감마(Gamma)로 평가되었지만 최근에는 감성 화질이 중요시되고 있다. 감성 화질 결정에 중요한 요소는 색조(Hue)와 채도(Saturation)이다. 감성 화질을 구현하기 위하여, RGB 색공간의 데이터 포맷을 HSV(Hue, Saturation, Value) 색공간의 데이터 포맷으로 변환하고, 화질 향상 연산을 수행한 후에 그 역으로 변환하여 표시장치에 표시하고 있다. 기존의 HSV 영상 처리는 "Backlight Power Reduction and Image Contrast Enhancement Using Adaptive Dimming for Global Backlight Applications SID 08, 2008"에 개시된 바와 같이 RGB 픽셀의 비율을 유지하여 색조와 채도를 유지하고, HSV 향상을 위한 특성 곡선이 대부분 비선형(Nonlinear) 곡선이므로 HSV 조정값들을 룩업 테이블에 등재하는 방법으로 구현하고 있다. 기존의 HSV 영상 처리 장치는 비선형 특성 곡선의 HSV 조정값들이 룩업 테이블에 저장되어야 하므로 많은 룩업 테이블 카운트를 필요로 하였다. 또한, 기존의 HSV 영상 처리 장치는 모듈라(Modular), 나눗셈 연산기 등을 포함하여야 하고, “Design of an Efficient Architecture for Enhancement of Stream Video Captured in Non-uniform Lighting Conditions”, ISSCS 2007, 2007"에 개시된 바와 같이 Log 연산을 필요하므로 복잡한 하드웨어로 구현된다.
R, G, B 각각 7 bits 입력에 대하여 LUT로 HSV 값을 조정하고 나머지는 보간(Interpolation)하는 방법은 2Mbyte 이상의 많은 룩업 테이블을 필요로 한다. 따라서, 기존의 HSV 영상 처리 장치는 복잡한 연산 유닛, 여러 개의 룩업 테이블을 필요로 하여 하드웨어 구현이 어렵다.
본 발명의 실시예에 따른 HSV 화질 조절 방법은 전술한 룩업 테이블 압축 방법을 이용하여 RGB와 HSV 사이의 변환(수학식 28~30) 및 역변환 알고리즘(수학식 31~33) 및 HSV 화질조정에 있어 통합적으로 하드웨어 복잡도를 낮춘다. 이를 위하여, 본 발명의 실시예에 따른 HSV 화질 조정 방법은 RGB ↔ HSV 변환식에 있어서 곱셈을 나눗셈 연산으로 전환한 후에, 모든 연산에서 공통적이고 복잡한 나눗셈 연산을, 공유 가능한 공통 룩업 테이블로 구현하여 룩업 테이블 카운트를 감소시킨다.
HSV 향상을 위해서 RGB를 HSV로 변환하는 방법을 효율적으로 구현할 필요가 있다. RGB에서 HSV 색공간으로 변환하는 식을 수학식 28 내지 30로 나타낼 수 있다. 수학식 28 내지 30에서 max, min은 R, G, B 픽셀 값 중 최고값, 최소값을 나타낸다. H는 RGB가 나타내는 색상을 각도로 표현하고, S는 채도를 0 ~ 1의 범위로 표현한다. V는 RGB 픽셀의 최고 밝기를 나타낸다.
Figure 112009061782221-pat00005
Figure 112009061782221-pat00006
V = max
HSV 색공간에서 RGB 색공간으로 변환하는 식을 수학식 31 내지 33으로 나타낼 수 있다.
max = V
min = V*(1-S)
Figure 112009061782221-pat00007
종래의 RGB를 HSV로 변환하는 방법은 음수 처리를 위해서 모듈라 연산 하드웨어, 나눗셈과 곱셈 연산을 위하여 log, inverse log와 같은 하드웨어 복잡도가 높은 연산 유닛이 필요하였다.
수학식 28 내지 30을 살펴보면 max, mid, min 또는 R, G, B로 비교 및 나눗셈, 곱셈과 같은 복잡한 연산과 가산기, 감산기와 같은 간단한 연산으로 이루어짐을 알 수 있다. 그러므로 본 발명은 복잡한 연산 부분을 룩업 테이블로 통합하기 위해서 곱셈 부분을 제거하고, 그렇지 않은 경우에 역수를 나눠 줌으로써 나눗셈으로 통일한 후 나눗셈 연산을 공유하여 처리한다. 이러한 나눗셈 연산을 낮은 하드웨어 복잡도로 구현하기 위한 나눗셈 룩업 테이블에 대하여는 후술하기로 한다. 또한, 수학식 28의 mod 360°와 같이 음수로 계산되는 값을 양수로 바꿔주는 모듈러 연산은 비교 연산을 통하여 모두 양수로 계산되게 하여 제거할 수 있다. 나머지 부분은 비교적 간단한 가산기, 감산기, 멀티플렉서 등으로 구현하여 하드웨어 복잡도를 증가시키지 않는다. 수학식 28 내지 30의 나눗셈 연산은 F(Xn, Xd) 함수로 수학식 34와 같이 나타내기로 한다. 수학식 34에서, Xn은 나눗셈 연산의 분자, Xd는 분모를 나타낸다.
F(Xn, Xd) = Xn / Xd (0 ≤ Xn, Xd ≤ 255)
본 발명은 수학식 28, 29, 32 및 33의 곱셈 연산을 앞서 언급된 역수의 나눗셈으로 수학식 35와 같이 처리한다.
Figure 112009061782221-pat00008
본 발명은 수학식 28에서 60°를 곱하는 연산으로 산출되는 H를 수학식 36과 같이 H/60로 대신 계산하여 복잡도가 높은 곱셈을 나눗셈으로 대체한다.
Figure 112009061782221-pat00009
본 발명은 아래의 수학식 37과 같은 C(R, G, B) 함수를 이용한 비교 연산을 통해 수학식 28의 모듈라 연산을 제거한다.
Figure 112009061782221-pat00010
본 발명은 입력 R, G, B 값을 max, mid, min으로 비교하고, 수학식 28의 g-b가 음수일 경우에 필요한 mod 360°을 mid - min으로 0보다 크게 만들어 모듈라 연산을 제거 할 수 있다. max는 수학식 30의 V를 계산하는데 사용된다. 수학식 29의 S를 수학식 34의 나눗셈 연산에 의하여 수학식 38과 같이 나타낼 수 있다.
Figure 112009061782221-pat00011
HSV를 RGB로 변환하는 방법은 수학식 32의 V*(1-S) 등의 곱셈을 수학식 35에 의해 수학식 39 내지 41과 같이 나타낼 수 있다. 수학식 41의 우변에 있는 H/60은 수학식 36에 의해 계산된다.
max = V
min = G(V, (1-S))
Figure 112009061782221-pat00012
RGB와 HSV 사이의 변환을 위한 나눗셈 연산은 수학식 34, 곱셈 연산은 수학식 35에 의해 룩업 테이블을 공유하여 처리할 수 있고, 모듈라 연산을 수학식 37의 비교 연산으로 제거할 수 있다. 이로 인해 최소한의 하드웨어 복잡도로 RGB를 HSV로 변환하거나 그 역변환을 구현할 수 있다.
도 17은 다양한 HSV 향상 특성 곡선을 보여 주는 그래프들이다.
도 17의 (a)는 채도(S, saturation)가 낮은 부분은 더 낮게, 높은 부분은 더 높이는 특성 곡선이고, 도 17의 (b) 내지 (d)는 채도(S)를 일정하게 높여줘 영상의 색을 진하게 해주는 특성 곡선들이다. 도 17의 (e)는 영상의 밝기에 따라 채도(S)를 향상시키기 위한 특성 곡선을 나타내고 있다. 채도(S) 뿐만 아니라 감성 화질 구현을 위하여 색상과 밝기에 해당하는 H(hue), V(value)도 조절 가능하다. HSV 향상을 특성 곡선은 대부분 비선형(nonlinear)한 특성을 가지고 있으나, 직선에 비슷하게 증가하는 형태를 보인다.
이하에서, RGB를 HSV로 변환하거나 그 역변환 방법을 위한 곱셈과 나눗셈이 모두 연산 가능한 나눗셈 연산을 하드웨어가 많이 필요한 기존 연산 유닛과 달리 전술된 룩업 테이블로 처리하는 방안에 대하여 설명하기로 한다.
앞서 설명된 수학식 34의 나눗셈 연산의 [0, 255]의 입력 Xn, Xd를 접합 연산(concatenation)한 F(Xn:Xd) 형태의 특성 곡선은 도 18과 같이 나타낼 수 있다.
도 18을 참조하면, F(Xn:Xd) 특성 곡선의 톱니모양의 모든 직선 부분을 모두 원점으로부터 출발하도록 X축의 음의 방향으로 256?Xd - 1 만큼 시프트시키면, [0, 255]의 입력 범위를 갖고, 기울기가 서로 다른 255개의 직선 형태로, 도 19와 같이 나타낼 수 있다. 위 255개의 직선을 룩업 테이블로 처리하기 위한 함수를 FLUT(Xn:Xd)라 하면, 수학식 42와 같이 나타낼 수 있다.
Figure 112009061782221-pat00013
입력 Xd는 룩업 테이블에서 직선의 기울기를 선택하고, 입력 Xn은 [0,255]의 룩업 테이블 입력으로 시프트된 직선값을 출력하게 된다.
본 발명에서, 나눗셈 룩업 테이블은 255 개의 직선으로 나타낼 수 있으며, 상기 직선을 활용하여, 전술된 근사화를 바탕으로 동적 범위를 줄여 HSV 화질 향상 특성 곡선 룩업 테이블 카운트를 감소하는 방법을 사용한다. 본 발명은 근사화의 기준이 되는 직선과 룩업 테이블의 특성 곡선과의 차이에 해당하는 옵셋으로 룩업 테이블 카운트를 감소시켰다. 그리고 본 발명은 근사화의 기준이 되는 직선 Y = aX의 기울기 a가 2k로 나타낼 수 있을 때, X를 k bit만큼 시프트시키고 k 값의 개수만큼 가산을 통하여 구현 가능하다. 또한, 기울기 a가 2k으로 나타낼 수 없을 경우 룩업 테이블 곡선에 가장 근접되는 직선을 효율적으로 룩업 테이블로 구현하는 방법을 사용한다. 이를 위해 전술된 입력 어드레스를 p bit씩 분할하여 더하는 방법으로 적은 양의 룩업 테이블로 구현 가능하다.
도 19는 나눗셈 룩업 테이블 FLUT(Xn:Xd)의 직선 구현 방안에 대하여 나타내고 있다. 직선이 2k의 기울기를 가질 경우 시프터로 구현한다. 이러한 특성의 직선은 255개 중 8 개가 있다. 2k의 기울기가 아닌 경우 적은 양의 룩업 테이블을 이용하여 직선을 구현한다. 이와 더불어 직선의 간격이 좁아 동적 범위가 2 이하인 직선의 경우, 옵셋 룩업 테이블로 직선을 구현하여 룩업 테이블을 감소시킬 수 있다. 직선과 직선의 간격이 좁아 감소된 동적 범위는 DRReduced_line이고, 출력 비트폭(output bit width)는 OBWReduced_line이다. 이 때, FLUT(Xn:Xd)의 룩업 카운트는 LUTCXn/Xd, 시프터 카운트는 ShifterXn/Xd이라 하면, 수학식 43 및 44로 나타낼 수 있다.
Figure 112009061782221-pat00014
Figure 112009061782221-pat00015
FLUT(Xn:Xd)의 Xn, Xd의 입력 비트 폭은 n이다. 기울기가 2k인 직선의 개수는 2kLineC이고, 2k이 아닌 직선의 개수는 m이라고 할 때, 전체 255개의 직선에서 2k인 것과 LUT를 이용한 직선을 제외한 직선의 개수는 255 - (m + 2kLineC)로 나타낼 수 있다. 입력 어드레스를 p bit씩 분할하여 더하는 직선의 경우 필요한 시프터의 개수는 n/p로 나타낼 수 있다.
앞서 설명된 단일 직선 근사화 방안보다 더 룩업 테이블 카운트를 감소시키기 위한 룩업 테이블 특성 곡선 구간별 직선 근사화 방안에 대하여 설명한다. 특성 곡선이 근사화 직선과 차이가 크면 클수록 옵셋이 커져서 룩업 테이블 수가 증가한다. 이를 해결하기 위해서, 여러 개의 근사화 직선을 사용하여 특성 곡선의 비선형 부분과의 차이를 줄임으로써 룩업 테이블 카운트를 더욱 감소시킬 수 있다. 이를 바탕으로 도 20과 같이 특성 곡선 F(X)에 구간별로 서로 다른 직선을 바탕으로 근사화하는 방법을 제안한다.
특성 곡선 F(X)를 m개의 구간별로 나누고, 구간별로 근사화에 필요한 m개의 직선을 수학식 45와 같이 나타내기로 한다.
Figure 112009061782221-pat00016
수학식 45에 의해 구간별 직선들과 F(X)의 옵셋을 수학식 46과 같이 FOffset_m(X)로 나타낸다.
Figure 112009061782221-pat00017
F(X)와 m개의 근사화를 위한 직선의 차이에 의해 감소된 동적 범위 중 가장 큰 경우를 DRReduced_MAX이라 할 때, 수학식 47과 같이 나타낼 수 있다. m은 구간, 직선의 개수이다.
Figure 112009061782221-pat00018
수학식 47의 DRReduced_MAX을 바탕으로 m개의 직선에 의한 룩업 테이블 카운트를 LUTCReduced_MAX라 하고, 수학식 48과 같이 나타낸다. OBWReduced_MAX는 DRReduced_MAX에 의한 출력 비트폭이다.
Figure 112009061782221-pat00019
근사화 기준 직선의 입력 범위는 균일하게 나뉜다고 가정하면, 수학식 49와 같이 나타낼 수 있다.
Figure 112009061782221-pat00020
수학식 49에 의해 직선이 2b개로 균일한 입력 범위로 가정하면, m개 직선을 구현하기 위한 입력 비트 폭은 수학식 50과 같이 나타낼 수 있다.
Figure 112009061782221-pat00021
근사화 직선이 균일하게 2b개로 증가하지 않거나, 동적 범위 분포에 따라 균일하지 않게 나뉘는 경우에도, 구간별 근사화는 물론 가능하다.
룩업 테이블 근사화를 위한 직선을 별도의 적은 수의 룩업 테이블로 구현하는 방법에 대하여 수학식 21에서 전술한 바 있다. 이를 바탕으로 구간별 근사화의 기준이 되는 직선의 효율적인 룩업 테이블 구현 방법에 대하여 설명하기로 하고, 그 직선 연산 방법은 도 21과 같이 나타낼 수 있다.
구간별 직선 근사화를 적은 수의 LUT로 구현하기 위하여, 수학식 48에서 나 타낸 바와 같이, 룩업 테이블 카운트에 지수적으로 영향을 미치는 수학식 50의 입력 비트 폭(input bit width) n - b bit을 수학식 51과 같이 p bit씩 분할하여 더한다. 이러한 방법은 각 구간별 직선에 대한 입력 비트 폭이 줄어들고, 또한 p bit씩 분할하여 처리하므로 직선 구현을 위한 룩업 테이블의 입력 비트 폭이 더욱 줄어든다. p bit씩 구간별 직선을 연산 처리하는 룩업 테이블 특성 곡선을 P(X)로 나타낸다면, p는 분할 비트 폭(partitioned input bit width)이고, k는 분할 입력(partitioned input)의 개수 이다. n - b는 각 구간별 직선을 구현하는 룩업 테이블의 입력 비트폭이다.
Figure 112009061782221-pat00022
수학식 51과 같은 결합 법칙은 선형적인 경우에만 성립되므로, 구간별 근사화를 위한 직선의 경우 에러없이 정확하게 연산 가능하며, 이를 라인 룩업 테이블이라 칭하기로 한다. OBWLine은 라인 룩업 테이블의 출력 비트 폭이고, 이는 정확도를 위해서 원래 F(X)의 OBW인 n bit을 사용한다. 라인 룩업 테이블 카운트(LUTCLine)는 수학식 51을 바탕으로 m개의 라인 룩업 테이블을 구현하기 위한 룩업 테이블 카운트로써 수학식 52와 같이 나타낼 수 있다.
Figure 112009061782221-pat00023
LUTCMultiple_Approx은 라인 룩업 테이블에 의해 구현된 m 개의 직선을 기준으로, 동적 범위가 감소된 LUTCReduced_MAX와 구간별 근사화를 위한 직선 구현을 위한 LUTCLine을 더한 총 룩업 테이블 카운트(LUT count)로써 수학식 53과 같이 많은 룩업 테이블 ROM 개수 감소가 가능하다.
Figure 112009061782221-pat00024
도 22는 RGB를 HSV로 변환하거나 그 역 변환 방법과 HSV 화질 향상 처리를 연산하기 위한 2 레벨 파이프 라인 처리 방안을 나타낸다. 제 1 파이프 라인 레벨(First pipeline level)에서는 RGB→HSV, HSV 화질 향상, HSV→RGB의 연산별 파이프 라인을 수행하고, 제 2 파이프 라인 레벨에서는 나눗셈이 상기 각 연산에서 잘 공유되어, 충돌이 되지 않도록 파이프라인 방식으로 연산하여, 전술된 모든 압축 방법을 활용하여 구현된 나눗셈 룩업 테이블을 공유하여 효용도를 향상시킬 수 있다.
도 23은 HSV 향상을 위한 F(X)를 구간별로 룩업 테이블을 만들 경우, 구간별 근사화의 기준이 되는 직선의 개수가 m에서 m + 1로 증가할 때, 감소된 동적 범위 차이 DRReduced_MAX_(m + 1) / DRReduced_MAX(m)에 대하여 룩업 테이블 카운트의 비율 LUTCReduced_MAX(m + 1) / LUTCReduced_MAX(m)을 비교한 그래프를 나타내었다. 이를 바탕으로 F(X)를 보다 많은 구간으로 나누어 룩업 테이블이 감소하는지 여부를 판단하여 최소의 룩업 테이블로 구현하기 위한 최적의 구간 분할 방안을 얻을 수 있다. 구간별 직선 개수의 증가에 대하여 구간을 더 나눌 수 있는 경계점 LUTCReduced_MAX(m + 1) = LUTCReduced_MAX(m)의 경우에 DRReduced_MAX(m + 1) / DRReduced_MAX(m)은 수학식 54와 같이 나타낼 수 있다.
Figure 112009061782221-pat00025
근사화 직선 수의 증가로 인하여 발생하는 룩업 테이블의 감소 비율이 수학식 54의 우변보다 클수록 하나의 근사화를 위한 직선이 증가하여 룩업 테입르 카운트가 작아지므로 F(X)의 구간을 추가로 나누어 직선의 개수를 증가시키는 것이 효과적이다. DRReduced_MAX(m + 1)/DRReduced_MAX(m)에 따라, 적절하게 근사화의 기준이 되는 직선의 개수 m을 조절하여, 룩업 테이블 하드웨어 최적화가 가능하다.
감성 화질 향상을 위해서 제안된 HSV 향상 방안은,
첫째, 계산이 복잡한 log, wrap등의 연산 유닛 대신에 공통으로 사용되는 룩업 테이블과 비교적 구현이 간단한 가산기(adder), 멀티플렉서(MUX)와 같은 유닛으 로 구성되어 낮은 하드웨어 복잡도로 구현할 수 있다.
둘째, 기존의 log 연산에서의 손실(loss)을 제거하고, 손실이 없는 룩업 테이블을 사용하기 때문에, 영상 정보의 손실이 전혀 없다.
셋째, 기존 방법은 휘도의 향상만 가능했지만, 색조(hue), 채도(saturation), 휘도(value, luminance)를 각각 조절할 수 있는 룩업 테이블 추가 가능하기 때문에 H, S, V 모두 향상시킬 수 있다. 또한, 본 발명은 피부색(skin color), 하늘색(sky color) 등의 선택적인 이미지 개선, 컬러 에지 검출(color edge detection), 움직임 객체 검출(moving object detection) 등에 응용 가능하다. RGB를 HSV로 변환하거나 그 역변환을 위하여 16 bit의 입력 어드레스를 사용하는 나눗셈 룩업 테이블은 입력 R, G, B 각각을 8 bit씩 총 24 bit로 처리하는 기존의 방법에 비하여 95%의 룩업 테이블 카운트를 감소시킨다. 기존에 RGB를 HSV로 변환하는 방법은 256×256 프레임 사이즈의 이미지를 0.15㎛ CMOS에서 2843 fps로 연산한다. 이에 비하여, 본 발명은 256×256 프레임 사이즈의 이미지를 0.18㎛ CMOS(8bit LUT를 986 ps로 가정)에서 1 픽셀의 처리 시간은 986 ps가 되고, 1 프레임의 처리 시간은 (256?256)?986 ps이므로 5238 fps로 1.8배 빠르게 연산 가능하다. 이는 ARM과 같은 복잡한 하드웨어를 사용하지 않고 처리 속도가 빠른 룩업 테이블을 사용하기 때문이다. 그러므로 낮은 하드웨어 복잡도가 요구되는 이동기기(mobile device)에서부터 대화면 디스플레이 시스템의 구현에도 적합하다.
도 24는 HSV 향상을 위한 아키텍쳐를 보여 주는 회로 블록도이다. 도 25는 도 24에 도시된 회로들의 기능을 요약한 도면이다. 도 26은 도 24에 도시된 회로 들의 입출력 신호들을 정의한 도면이다.
도 24 내지 도 26을 참조하면, HSV 향상을 위한 전체 아키텍쳐는 공통적이고 복잡한 나눗셈과 곱셈 및 HSV 향상에 필요한 구간별 근사화의 기준이 되는 직선 처리를 위해서 수학식 42에 의해 설계된 나눗셈 룩업 테이블 롬을 공유한다. 그 외에 비교적 간단한 하드웨어로 구현 가능한 나머지 부분은 가산기(adder), 감산기(subtractor), 멀티플렉서(MUX) 등의 연산 유닛으로 처리된다.
RGB→HSV 변환 모듈(100)은 비교기(comparator), 감산기(subtractor), 멀티플렉서(MUX) 등을 구비한다. 비교기는 입력 R, G, B를 max, mid, min 또는 입력 max, mid, min을 R, G, B로 출력한다. 멀티플렉서는 Max값에 따라 H값에 더해줄 각도값을 결정한다. 감산기는 max - min 등의 뺄셈을 수행한다. 가산기는 멀티플렉서와 감산기의 출력을 가산한다. 이러한 RGB→HSV 변환 모듈(100)은 R, G, B로 입력되는 픽셀 데이터를 수학식 37에서 정의한 비교 연산을 통해 max, mid, min을 출력한다. RGB→HSV 변환 모듈(100)은 max, mid, min 값들을 바탕으로 수학식 36에 의해 H/60값과, 수학식 38에 의해 채도값(S)을 출력한다. 여기서 수학식 34에 의한 나눗셈 연산은 도 19의 나눗셈 룩업 테이블의 값을 입력 받는다. 또한, RGB→HSV 변환 모듈(100)은 R, G, B 픽셀 데이터의 휘도(luminance)를 나타내는 V(value)값을 출력한다.
HSV 향상 모듈(300)은 나눗셈 룩업 테이블(200)로부터 구간별 근사화를 위한 직선을 선택하는 직선 선택부(straight line selecion), 구간별 직선 근사화로 감소된 동적 범위를 갖는 옵셋 룩업 테이블, 옵셋 룩업 테이블의 출력과 직선 선택부 의 출력을 가산하는 가산기를 포함한다. HSV 향상 모듈(300)은 RGB→HSV 변환 모듈(100)로부터 H/60, S, V 값을 입력 받아 도 20과 같이 구간별로 감소된 동적 범위를 갖는 FOffset_m(X) 룩업 테이블과 구간별 근사화에 기준이 되는 직선을 도 19의 나눗셈 룩업 테이블의 직선 값을 활용하여 화질 개선을 위하여 H/60, S, V 각각을 조절한다.
나눗셈 룩업 테이블(200)은 256개의 다양한 기울기의 직선을 가진 룩업 테이블로 구성되어 있으며 HSV 향상의 구간별 직선 근사화에 필요한 직선을 공급한다. 나눗셈 룩업 테이블(200)은 멀티플렉서를 이용하여 수학식 42에 의해 입력 Xn:Xd 중 Xd는 직선 룩업 테이블과 옵셋 룩업 테이블을 선택한다. Xn은 직선 과 옵셋 룩업 테이블에 입력된다. 나눗셈 룩업 테이블(200)의 라인 룩업 테이블은 적은 양의 룩업 테이블로 구현된다. 나눗셈 룩업 테이블(200)의 옵셋 룩업 테이블은 DRReduced_line 만큼의 동적 범위를 갖는 룩업 테이블로 구현된다. 직선은 수학식 48에 의해 2k 기울기를 갖을 경우 시프터로 구현되고, 나머지는 수학식 46에 의해 라인 룩업 테이블로 구현된다. 옵셋 룩업 테이블은 직선 간의 간격이 좁은 경우 수학식 45에 의해 적은 양의 동적 범위를 갖는 룩업 테이블로 구현된다. 나눗셈 룩업 테이블(200)의 가산기는 2k 직선, 라인 룩업 테이블과 옵셋 룩업 테이블의 덧셈을 수행하여 직선에 옵셋값이 더해진 값을 출력한다.
HSV→RGB 변환 모듈(400)은 비교기, 감산기, 멀티플렉서 등을 구비한다. HSV→RGB 변환 모듈(400)의 비교기는 HSV 향상 모듈(300)로부터 입력된 H/60, S, V 데이터을 바탕으로 max, min, mid 값을 계산한다. 이 때, 수학식 40 및 41에 필요한 수학식 34에 의한 나눗셈과 수학식 35에 의한 곱셈은 도 19의 나눗셈 룩업 테이블을 공유한다. 그리고 HSV→RGB 변환 모듈(400)의 비교기는 수학식 41과 같이 max, mid, min의 비교 연산을 통해 R, G, B 데이터를 출력한다. HSV→RGB 변환 모듈(400)의 멀티플렉서는 H값에 따라 mid 값의 계산에 필요한 각도값을 결정한다. HSV→RGB 변환 모듈(400)의 가산기는 계산에 필요한 덧셈을 수행한다. HSV→RGB 변환 모듈(400)의 감산기는 max - min 등의 뺄셈을 수행한다.
이상의 실시예들은 LCD, FED, PDP 및 OLED 등의 평판표시장치는 물론 룩업 테이블이 적용되는 어떠한 응용분야에도 적용될 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.
도 1a 내지 도 1f는 룩업 테이블 특성 함수들의 예들을 보여 주는 그래프들이다.
도 2는 본 발명의 실시예에 따른 룩업 테이블 압축 방법을 보여 주는 그래프이다.
도 3은 본 발명의 실시에에 따른 직선의 시프트 방법을 보여 주는 도면이다.
도 4는 본 발명의 실시에에 따른 버티컬 폴딩 방법을 나타내는 도면이다.
도 5는 본 발명의 실시에에 따른 미러링 방법을 나타낸다.
도 6은 버티컬 폴딩 및 미러링 입력 어드레스 계산 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 룩업 테이블 압축 방법을 보여 주는 그래프이다.
도 8은 본 발명의 제 1 실시예에 따른 룩업 테이블 장치를 나타내는 블록도이다.
도 9는 본 발명의 제 2 실시예에 따른 룩업 테이블 장치를 나타내는 블록도이다.
도 10은 도 9에 도시된 어드레스 계산부를 상세히 나타내는 회로도이다.
도 11은 도 8 및 도 9에 도시된 직선 계산부의 제 1 실시예를 상세히 나타내는 블록도이다.
도 12는 도 8 및 도 9에 도시된 직선 계산부의 제 2 실시예를 상세히 나타내 는 블록도이다.
도 13은 도 7의 룩업 테이블 압축 방법의 하드웨어 구현예를 보여 주는 블록도이다.
도 14 내지 도 16은 본 발명의 룩업 테이블 압축방법의 시뮬레이션 결과를 나타내는 도면들이다.
도 17은 다양한 HSV 향상을 위한 특성 곡선들의 예를 보여 주는 도면들이다.
도 18은 F(Xn, Xd) 특성 곡선을 보여 주는 도면이다.
도 19는 나눗셈 룩업 테이블 FLUT(Xn : Xd)의 특성 곡선을 보여 주는 도면이다.
도 20은 구간별 직선 근사화를 보여 주는 도면이다.
도 21은 분할 입력 비트 폭을 보여 주는 도면이다.
도 22는 나눗셈 룩업 테이블의 2 레벨 파이프라인 방법을 보여 주는 도면이다.
도 23은 구간별 룩업 테이블을 사용하는 경우, 직선의 개수와 동적 범위에 대한 F(X) 룩업 카운트를 보여 주는 시뮬레이션 결과 도면이다.
도 24는 HSV 향상을 위한 아키텍쳐를 보여 주는 회로도이다.
도 25는 도 24에 도시된 회로들의 기능을 요약한 도면이다.
도 26은 도 24에 도시된 회로들의 입출력 신호들을 정의한 도면이다.
〈도면의 주요 부분에 대한 부호의 설명〉
1 : 직선 계산부 2 : 옵셋 룩업 테이블
3 : 가산기 4 : 인버터
5 : 어드레스 계산부 6 : 델타 룩업 테이블

Claims (18)

  1. 입력(X)를 받아 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)을 출력하는 단계;
    상기 특성 곡선 F(X)와 상기 aX의 차로 산출된 옵셋값을 저장하는 룩업 테이블을 이용하여 상기 옵셋값을 선택하는 단계;
    상기 직선 Y = aX에 상기 옵셋값과 미리 설정된 시프트값 b를 가산하여 상기 특성 곡선 F(X)를 출력하는 단계; 및
    상기 특성 곡선이 픽셀값에 따라 점점 감소하는 경우에, 상기 특성 곡선 픽셀값의 중간값(M)을 기준으로 x축에 따라 증가하는 특성곡선으로 좌우 미러링한 후 상기 직선을 기준으로 근사화하는 단계를 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 특성 곡선이 소정의 기준점 V를 기준으로 상하 또는 좌우 대칭이고, 상기 입력 X가 상기 기준점 V보다 클 경우에, 상기 입력 X를 반전시킴으로써 입력 2V - X을 산출하여 상기 특성 곡선 F(X)가, 아래의 수식을 만족하는 값으로 구해지는 것을 특징으로 하는 룩업 테이블의 압축 방법.
    Figure 112011025920004-pat00026
    여기서, Foffset(X) 및 Foffset(2V - X)는 상기 옵셋값을 의미한다.
  4. 입력(X)를 받아 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)을 출력하는 단계;
    상기 특성 곡선 F(X)와 상기 aX의 차로 산출된 옵셋값을 저장하는 룩업 테이블을 이용하여 상기 옵셋값을 선택하는 단계; 및
    상기 직선 Y = aX에 상기 옵셋값과 미리 설정된 시프트값 b를 가산하여 상기 특성 곡선 F(X)를 출력하는 단계를 포함하고,
    상기 직선 Y = aX을 출력하는 단계는,
    상기 Y = aX에서 a가 ∑ 2k로 표현될 때 상기 입력을 k만큼 시프트시키는 단계를 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
  5. 입력(X)를 받아 제 1 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)을 출력하는 단계;
    상기 제 1 특성 곡선 F(X)와 상기 aX의 차로 산출된 제 1 옵셋값을 저장하는 제 1 룩업 테이블을 이용하여 상기 제 1 옵셋값을 선택하는 단계;
    상기 제 1 특성 곡선을 기준으로 미세한 델타값만큼 차이에 해당하는 제 2 특성 곡선을 구현할 때, 상기 델타값만을 저장하는 룩업 테이블을 이용하여 상기 제 1 특성 곡선 F(X)를 미세하게 조정하는 단계; 및
    상기 직선 Y = aX에 상기 옵셋값, 상기 델타값 및 미리 설정된 시프트값 b를 가산하여 상기 특성 곡선 F(X)를 출력하는 단계를 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
  6. 제 5 항에 있어서,
    상기 특성 곡선이 픽셀값에 따라 점점 감소하는 경우에, 상기 특성 곡선 픽셀값의 중간값(M)을 기준으로 x축에 따라 증가하는 특성곡선으로 좌우 미러링한 후 상기 직선을 기준으로 근사화하는 단계를 더 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 특성 곡선이 소정의 기준점 V를 기준으로 상하 또는 좌우 대칭이고, 상기 입력 X가 상기 기준점 V보다 클 경우에, 상기 입력 X를 반전시킴으로써 입력 2V - X을 산출하여 상기 특성 곡선 F(X)가, 아래의 수식을 만족하는 값으로 구해지는 것을 특징으로 하는 룩업 테이블의 압축 방법.
    Figure 112009061782221-pat00027
    여기서, Foffset(X) 및 Foffset(2V - X)는 상기 옵셋값을 의미한다.
  8. 제 5 항 또는 제 6 항에 있어서,
    상기 직선 Y = aX을 출력하는 단계는,
    상기 Y = aX에서 a가 ∑ 2k로 표현될 때 상기 입력을 k만큼 시프트시키는 단계를 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
  9. 제 1 항 또는 제 5 항에 있어서,
    상기 근사화의 기준이 되는 직선을 구현하기 위한 룩업 테이블에 있어서 n bit 입력을 p(p는 n 보다 작은 양의 정수) bit씩 분할하고 상기 분할된 입력에 대하여 상기 룩업 테이블의 특성 곡선을 근사화하기 위한 직선 G(X)를 산출하기 위하여 아래의 수식과 같은 출력
    Figure 112011025920004-pat00028
    을 구하고, 그 출력을 상기 p bit씩 시프트하여 최종 G(X)를 산출하는 단계를 더 포함하는 것을 특징으로 하는 룩업 테이블의 압축 방법.
    Figure 112011025920004-pat00029
  10. HSV(Hue, Saturation, Value) 향상을 위하여 RGB 데이터를 HSV 색공간으로 변환하고 그 역변환을 수행하는 HSV 화질 조절 방법에 있어서,
    RGB 데이터를 입력받는 단계; 및
    상기 RGB 데이터를 변수로 포함하는 아래의 변환식들을 이용하여, H 대신 H/60을 산출하고 곱셈 G(Xn,Xd)을 역수의 나눗셈 F(Xn,Xd)으로 처리하고 비교 연산 C(R,G,B)을 통해 최고값(max), 중간값(mid) 및 최소값(min), 상기 HSV값과 상기 RGB값을 산출하는 단계를 포함하는 것을 특징으로 하는 HSV 화질 조절 방법
    Figure 112009061782221-pat00030
    Figure 112009061782221-pat00031
    Figure 112009061782221-pat00032
    여기서, F(Xn, Xd) = Xn / Xd (0 ≤ Xn, Xd ≤ 255)
    max = V
    min = G(V, (1-S))
    여기서,
    Figure 112009061782221-pat00033
    Figure 112009061782221-pat00034
  11. 제 10 항에 있어서,
    Xn, Xd를 접합 연산한 Xn:Xd를 입력으로 하는 룩업 테이블 함수
    Figure 112011025920004-pat00035
    의 특성 곡선을 출력하는 나눗셈 룩업 테이블을 이용하여 나눗셈 연산 F(Xn, Xd)를 처리하는 단계를 더 포함하고,
    상기 FLUT(Xn:Xd)는 F(Xn,Xd) 모든 직선 부분의 Xd를 기준으로 좌측으로 시프트하여 원점을 통과하는 직선을 바탕으로 산출되며,
    입력 Xd는 상기 나눗셈 룩업 테이블에서 직선의 기울기를 선택하고,
    입력 Xn는 [0, 255]의 룩업 테이블 입력으로 직선을 산출하는 것을 특징으로 하는 HSV 화질 조절 방법.
  12. 제 11 항에 있어서,
    상기 나눗셈 룩업 테이블을 산출하기 위한 직선 Y = aX는,
    상기 Y = aX에서 a가 ∑ 2k로 표현될 때 상기 입력을 k만큼 시프트시키는 단계를 포함하는 것을 특징으로 하는 HSV 화질 조절 방법.
  13. 제 11 항에 있어서,
    상기 나눗셈 룩업 테이블의 특성 곡선 F(X) 를 m개의 구간별로 나누고, 구간별 근사화에 필요한 m개의 직선을,
    Figure 112009061782221-pat00036
    으로 구하는 단계; 및
    상기 F(X)의 m개의 구간별 옵셋을
    Figure 112009061782221-pat00037
    으로 구하는 단계를 더 포함하는 것을 특징으로 하는 HSV 화질 조절 방법.
  14. 제 11 항에 있어서,
    상기 나눗셈 룩업 테이블의 입력 비트 폭은,
    Figure 112009061782221-pat00038
    을 만족하고,
    아래의 식을 이용하여 상기 입력 비트 폭 n - b bit를 p bit씩 분할하여 더하는 것을 특징으로 하는 HSV 화질 조절 방법.
    Figure 112009061782221-pat00039
  15. 제 11 항에 있어서,
    RGB 데이터를 HSV 데이터로 변환하기 위한 RGB→HSV 변환 모듈과 상기 HSV 데이터를 상기 RGB 데이터로 역변환하기 위한 HSV→RGB 변환 모듈은 나눗셈 연산을 위하여, 또한 상기 HSV 데이터를 조정하는 HSV 화질 향상 모듈은, 특성 곡선의 직선 근사화에 필요한 직선을, 상기 FLUT(Xn:Xd)의 원점을 통과하는 직선으로 활용하기 위하여, 상기 나눗셈 룩업 테이블을 파이프라인 방식으로 공유하는 것을 특징으로 하는 HSV 화질 조절 방법.
  16. 룩업 테이블을 이용하여 입력 영상의 화질을 조절하는 화질 조절 방법에 있어서,
    상기 룩업 테이블의 특성 곡선 F(X) 를 m개의 구간별로 나누고, 구간별 근사화에 필요한 m개의 직선을,
    Figure 112011025920004-pat00040
    으로 구하는 단계;
    상기 F(X)의 m개의 구간별 옵셋을
    Figure 112011025920004-pat00041
    으로 구하는 단계, 및
    상기 특성 곡선이 픽셀값에 따라 점점 감소하는 경우에, 상기 특성 곡선 픽셀값의 중간값(M)을 기준으로 x축에 따라 증가하는 특성곡선으로 좌우 미러링한 후 상기 직선을 기준으로 근사화하는 단계를 더 포함하는 것을 특징으로 하는 화질 조절 방법.
  17. 룩업 테이블을 이용하여 입력 영상의 화질을 조절하는 화질 조절 방법에 있어서,
    상기 룩업 테이블의 입력 비트 폭은,
    Figure 112009061782221-pat00042
    을 만족하고,
    아래의 식을 이용하여 상기 입력 비트 폭 n - b bit를 p bit씩 분할하여 더하는 것을 특징으로 하는 화질 조절 방법.
    Figure 112009061782221-pat00043
  18. 룩업 테이블을 이용하여 입력 영상의 화질을 조절하는 화질 조절 방법에 있어서,
    상기 룩업 테이블의 특성 곡선 F(X) 를 m개의 구간별로 나누고, 구간별 근사화에 필요한 m개의 직선을,
    Figure 112011025920004-pat00075
    으로 구하는 단계;
    상기 F(X)의 m개의 구간별 옵셋을
    Figure 112011025920004-pat00076
    으로 구하는 단계, 및
    상기 특성 곡선 F(X)의 근사화 기준이 되는 직선 Y = aX(a는 기울기)에서 a가 ∑ 2k로 표현될 때 상기 룩업 테이블의 입력을 k만큼 시프트시키는 단계를 포함하는 것을 특징으로 하는 화질 조절 방법.
KR1020090095796A 2009-10-08 2009-10-08 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법 KR101118181B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090095796A KR101118181B1 (ko) 2009-10-08 2009-10-08 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090095796A KR101118181B1 (ko) 2009-10-08 2009-10-08 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법

Publications (2)

Publication Number Publication Date
KR20110038485A KR20110038485A (ko) 2011-04-14
KR101118181B1 true KR101118181B1 (ko) 2012-03-19

Family

ID=44045547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090095796A KR101118181B1 (ko) 2009-10-08 2009-10-08 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법

Country Status (1)

Country Link
KR (1) KR101118181B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107529050B (zh) * 2017-09-28 2019-05-07 深圳市华星光电技术有限公司 一种图像色彩增强方法、显示设备及存储装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020057255A (ko) * 2000-12-30 2002-07-11 박종섭 룩업 테이블을 사용하는 비선형 함수 연산장치
KR100498457B1 (ko) * 2002-11-11 2005-07-01 삼성전자주식회사 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020057255A (ko) * 2000-12-30 2002-07-11 박종섭 룩업 테이블을 사용하는 비선형 함수 연산장치
KR100498457B1 (ko) * 2002-11-11 2005-07-01 삼성전자주식회사 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법

Also Published As

Publication number Publication date
KR20110038485A (ko) 2011-04-14

Similar Documents

Publication Publication Date Title
KR100859514B1 (ko) 액정 표시 장치 및 그 구동 장치
US6853384B2 (en) Liquid crystal display device and driving method thereof
US7642999B2 (en) Image processing circuit
US7859499B2 (en) Display apparatus
CN105448245B (zh) 背光亮度补偿方法及显示装置
US8625894B2 (en) Image display device capable of supporting brightness enhancement and power control and method thereof
JP4668342B2 (ja) 液晶表示装置
KR100928755B1 (ko) 휘도 조절이 가능한 영상표시장치 및 영상표시방법
TWI483235B (zh) 調整影像強度之方法與裝置
US9743073B2 (en) Image processing device with image compensation function and image processing method thereof
CN109243384B (zh) 显示设备及其驱动方法、驱动装置和计算机可读介质
CN1838729B (zh) 灰度系数校正装置、用该装置的图像转换设备及显示装置
US20080316167A1 (en) Display driver
CN110992898A (zh) 一种多分区背光控制的方法及设备
CN110956932A (zh) 显示设备及其驱动方法、驱动装置和计算机可读介质
US20100295874A1 (en) Gamma voltage generation device for a flat panel display
US20090251494A1 (en) Apparatus and method for gamma correction
CN104376810B (zh) 控制电路及其显示装置
KR100388582B1 (ko) 평판 디스플레이 패널의 화질 조정 방법
KR101118181B1 (ko) 룩업 테이블 압축 방법 및 이를 이용한 hsv 화질 조절 방법
CN111161164A (zh) 图像处理装置、方法及显示装置
KR20200040325A (ko) 표시 장치 및 이의 구동 방법
KR20120072476A (ko) 영상 제공 장치 및 그 방법
CN111615714A (zh) 一种rgb数据的色彩调整方法
Ahn et al. 19.1: OLED Power Reduction Algorithm Using Gray‐level Mapping Conversion

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

Payment date: 20150213

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170207

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180213

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190212

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 9