KR20060081848A - Display controller with contrast strech function and method thereof - Google Patents

Display controller with contrast strech function and method thereof Download PDF

Info

Publication number
KR20060081848A
KR20060081848A KR1020050002282A KR20050002282A KR20060081848A KR 20060081848 A KR20060081848 A KR 20060081848A KR 1020050002282 A KR1020050002282 A KR 1020050002282A KR 20050002282 A KR20050002282 A KR 20050002282A KR 20060081848 A KR20060081848 A KR 20060081848A
Authority
KR
South Korea
Prior art keywords
value
input level
image data
input
characteristic curve
Prior art date
Application number
KR1020050002282A
Other languages
Korean (ko)
Inventor
노종호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050002282A priority Critical patent/KR20060081848A/en
Publication of KR20060081848A publication Critical patent/KR20060081848A/en

Links

Images

Classifications

    • 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/3611Control of matrices with row and column drivers
    • G09G3/3648Control of matrices with row and column drivers using an active matrix
    • G09G3/3655Details of drivers for counter electrodes, e.g. common electrodes for pixel capacitors or supplementary storage capacitors
    • G06T5/92
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0264Details of driving circuits
    • G09G2310/0286Details of a shift registers arranged for use in a driving circuit
    • 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/06Adjustment of display parameters
    • G09G2320/066Adjustment of display parameters for control of contrast
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/04Display device controller operating with a plurality of display units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/16Calculation or use of calculated indices related to luminance levels in display data

Abstract

본 발명은 콘트래스트 강화부를 포함하는 디스플레이 콘트롤러를 제공한다. 본 발명의 디스플레이 콘트롤러는 외부로부터 영상 데이타를 받아 콘트래스트 강화부에 출력하는 영상 입력부 및 특성 곡선 상수들(Cx[n], n= 0, 1, ..., i)과 입력 레벨값들(I[n], n= 0, 1, ..., i)을 저장하는 특별 레지스터를 포함한다. 그리고 상기 특별 레지스터로부터 특성 곡선 상수들(Cx[n]) 및 입력 레벨값들(I[n])을 받아 상기 영상 입력부로부터의 상기 영상 데이타(X)에 콘트래스트 강화 동작을 수행하고 디스플레이 장치에 출력 영상 데이타(Y)를 출력하는 콘트래스트 강화부를 포함한다. The present invention provides a display controller comprising a contrast enhancement. The display controller of the present invention receives image data from the outside and outputs the image input unit and characteristic curve constants (Cx [n], n = 0, 1, ..., i) and input level values to be output to the contrast enhancement unit. Contains a special register that stores (I [n], n = 0, 1, ..., i). The display apparatus receives a characteristic curve constants Cx [n] and input level values I [n] from the special register and performs a contrast enhancement operation on the image data X from the image input unit. And a contrast enhancement unit for outputting output image data (Y).

Description

콘트래스트 확장 기능을 갖는 디스플레이 콘트롤러 및 콘트래스트 확장 방법{Display controller with contrast strech function and method thereof}Display controller with contrast strech function and method

도 1은 본 발명에 따른 어플리케이션 프로세서를 개략적으로 나타내는 블럭도이다.1 is a block diagram schematically illustrating an application processor according to the present invention.

도 2는 본 발명의 바람직한 실시예에 따라 도 1의 디스플레이 컨트롤러를 개략적으로 나타내는 블럭도이다.2 is a block diagram schematically illustrating the display controller of FIG. 1 in accordance with a preferred embodiment of the present invention.

도 3은 본 발명의 바람직한 실시예에 따라 도 2의 콘트래스트 강화부를 개략적으로 나타내는 블럭도이다.3 is a block diagram schematically illustrating the contrast enhancement of FIG. 2 in accordance with a preferred embodiment of the present invention.

도 4은 본 발명의 바람직한 실시예에 따라 부분 비선형 근사 곡선을 나타내는 그래프이다.4 is a graph showing a partial nonlinear approximation curve in accordance with a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따라 도 3의 콘트래스트 강화부를 상세히 설명하는 블럭도이다.5 is a block diagram illustrating in detail the contrast enhancement of FIG. 3 in accordance with a preferred embodiment of the present invention.

도 6a, 7a, 8a, 및 9a는 각각 도 1의 디스플레이 컨트롤러 입력되는 영상의 히스토그램을 나타낸다.6A, 7A, 8A, and 9A show histograms of images input to the display controller of FIG. 1, respectively.

도 6b, 7b, 8b,및 9b는 각각 도 6a, 7a, 8a,및 9a에 도시된 영상 히스토그램의 컬러 콘트래스트를 강화하기 위한 변환 특성 곡선을 나타낸다.6B, 7B, 8B, and 9B show conversion characteristic curves for enhancing the color contrast of the image histograms shown in FIGS. 6A, 7A, 8A, and 9A, respectively.

도 6c,7c, 8c,및 9c는 각각 도 6a, 7a, 8a,및 9a 도시된 영상 히스토그램이 디스플레이 컨트롤러에서 도 6b, 7b, 8b,및 9b의 변환 특성 곡선에 따라 변환되어 출력되는 영상 히스토그램을 나타낸다.6C, 7C, 8C, and 9C illustrate image histograms in which the image histograms shown in FIGS. 6A, 7A, 8A, and 9A are converted according to the conversion characteristic curves of FIGS. 6B, 7B, 8B, and 9B in the display controller and output. Indicates.

*도면의 주요 부분에 대한 설명** Description of the main parts of the drawings *

240: 콘트래스트 강화부 214: 입력레벨 선택부240: contrast enhancement unit 214: input level selector

242: 쉬프트 연산부 243: 가산부242: shift calculator 243: adder

본 발명은 디스플레이 컨트롤러에 관한 것으로, 좀 더 구체적으로는 하드웨어로 콘트래스트 확장 기능을 수행하는 디스플레이 컨트롤러에 관한 것이다.The present invention relates to a display controller, and more particularly to a display controller for performing a contrast extension function in hardware.

콘트래스트 확장(Contrast Stretch)이란, 영상의 컬러 다이나믹 레인지를 인위적으로 증가 시킴으로써 디스플레이시에 풍부한 색의 표현이 가능하도록 하는 방법이다. 디스플레이 콘트롤러의 목적은 입력 영상의 컬러를 풍부하게 하여 디스플레이 장치에 출력하도록 하는 것이다. 그러나, 카메라 촬영 시 사용자의 부주의나 카메라 촬상소자(예를 들면, 고체촬상소자(CCD:Charge Coupled Device)) 또는 시모스 이미지 센서(CIS:CMOS Image Sensor)의 한계로 인하여, 컬러가 왜곡되어 디스플레이 장치에 출력되는 영상의 품질이 저하될 수 있다. 따라서, 이러한 문제를 해결할 수 있는 새로운 기술들이 요구되고 있다. Contrast Stretch is a method of artificially increasing the color dynamic range of an image so that rich colors can be expressed on display. The purpose of the display controller is to enrich the color of the input image and output it to the display device. However, due to user's carelessness or limitation of camera imaging device (for example, Charge Coupled Device (CCD) or CMOS Image Sensor (CIS) CMOS image, the display device may be distorted. The quality of the image output to the may be reduced. Therefore, new technologies are needed to solve this problem.

본 발명의 목적은 쉬프트 연산기를 이용하여 콘트래스트 강화 동작을 수행하 는 디스플레이 컨트롤러를 제공하는 데에 있다.It is an object of the present invention to provide a display controller that performs a contrast enhancement operation using a shift operator.

본 발명의 다른 목적은 쉬프트 연산을 이용하는 콘트래스트 강화 방법을 제공하는 데 있다. Another object of the present invention is to provide a contrast enhancement method using a shift operation.

상기 목적을 달성하기 위하여 본 발명은 콘트래스트 강화부를 포함하는 디스플레이 콘트롤러를 제공한다. 상기 디스플레이 콘트롤러는 외부로부터 영상 데이타를 받아 콘트래스트 강화부에 출력하는 영상 입력부; 특성 곡선 상수들(Cx[n], n= 0, 1, ..., i) 및 입력 레벨값들(I[n], n= 0, 1, ..., i)을 저장하는 특별 레지스터; 그리고 상기 특별 레지스터로부터 특성 곡선 상수들(Cx[n]) 및 입력 레벨값들(I[n])을 받아 상기 영상 입력부로부터의 영상 데이타(X)에 콘트래스트 강화 동작을 수행하고 디스플레이 장치에 출력 영상 데이타(Y)를 출력하는 콘트래스트 강화부를 포함한다. In order to achieve the above object, the present invention provides a display controller including a contrast enhancement unit. The display controller includes an image input unit for receiving image data from the outside and outputting the image data to the contrast enhancement unit; Special register to store characteristic curve constants (Cx [n], n = 0, 1, ..., i) and input level values (I [n], n = 0, 1, ..., i) ; The controller receives the characteristic curve constants Cx [n] and input level values I [n] from the special register to perform a contrast enhancement operation on the image data X from the image input unit. And a contrast enhancement unit for outputting output image data (Y).

본 발명의 일 실시예에 있어서, 상기 콘트래스트 강화부는 상기 영상 데이타(X)의 컬러 레인지를 판단하여 n 값을 결정하고, 상기 n 값에 따라 상기 특별 레지스터로부터의 상기 입력 레벨 값들 중 어느 하나를 선택하는 입력레벨 선택부; 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n], n= 0, 1, ..., i) 및 상기 입력 레벨 값(I[n], n= 0, 1, ..., i)들을 입력받으며, 상기 입력레벨 선택부로부터 상기 n 값 및 상기 선택된 입력 레벨 값을 입력받아 쉬프트 연산을 수행하여 결과값을 출력하는 쉬프트 연산부; 그리고 상기 n 값에 따라, 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n])중 n-1 값에 대응하는 특성 곡선 상수들을 선택 하고

Figure 112005001323783-PAT00001
인 연산을 수행한 결과값을 상기 쉬프트 연산부로부터의 결과값에 합산하여 상기 디스플레이 장치에 출력하는 가산부를 포함한다. 이 경우에, 상기 입력 레벨 선택부 선택된 입력 레벨값은 상기 영상 데이타(X)를 포함하는 입력 레벨 구간의 시작점이다.In one embodiment of the present invention, the contrast enhancement unit determines the value of n by determining the color range of the image data (X), and any one of the input level values from the special register according to the value of n. An input level selector for selecting a; The characteristic curve constants Cx [n], n = 0, 1, ..., i and the input level value I [n], n = 0, 1, ..., i from the special register; A shift calculator which receives the n value and the selected input level value from the input level selector and performs a shift operation to output a result value; And selecting characteristic curve constants corresponding to n-1 values of the characteristic curve constants Cx [n] from the special register according to the value of n;
Figure 112005001323783-PAT00001
And an adder configured to add the result value of the phosphorus operation to the result value from the shift calculator and output the sum value to the display device. In this case, the input level selector selected input level value is a starting point of an input level section including the image data (X).

본 발명의 일 실시예에 있어서, 상기 입력레벨 선택부는 상기 영상 데이타(X)의 컬러 레인지를 판단하여 n 값을 결정하며, 상기 n 값을 입력 레벨 값 선택부에 출력하는 n 값 선택부; 그리고 상기 특별 레지스터로부터 상기 입력 레벨 값들(I[n], n= 0, 1, ..., i)을 입력 받으며, 상기 n 값 선택부로부터의 n 값에 따라 상기 입력 레벨 값들 중 하나를 선택하는 입력 레벨 값 선택부를 포함한다. 이 경우에, 상기 입력 레벨 값 선택부에서 선택된 입력 레벨 값은 상기 영상 데이타(X)를 포함하는 입력 레벨 구간(I[n]-I[n-1])의 시작점이다.The input level selector may include: an n value selector configured to determine an n value by determining a color range of the image data (X), and output the n value to an input level value selector; The input register receives the input level values I [n], n = 0, 1, ..., i from the special register, and selects one of the input level values according to the n value from the n value selector. And an input level value selector. In this case, the input level value selected by the input level value selector is a starting point of the input level section I [n] -I [n-1] including the image data X.

본 발명의 일 실시예에 있어서, 상기 쉬프트 연산부는 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n], n=0, 1, ..., i) 및 상기 입력 레벨 값들(I[n], n=0, 1, ..., i)을 입력받으며, 상기 입력레벨 선택부로부터의 상기 n 값에 따라 상기 특성 곡선 상수들 중 상기 n값 및 n-1 값에 해당하는 값을 선택하고, log2( Cx[n] - Cx[n-1]) 연산을 수행하여 결과값을 출력하는 적어도 하나의 제 1로그 연산기; 상기 특별 레지스터로부터 상기 입력 레벨 값들(I[n])을 입력 받으며, 상기 로그 연산기로 부터의 n 값에 따라 상기 입력 레벨 값들 중 상기 n 값 및 n-1 값에 해당하는 값을 선택하고 log2( I[n] - I[n-1]) 연산을 수행하여 결과 값을 출 력하는 제 2로그 연산기; 상기 제 1로그 연산기로부터의 결과값에서 상기 제 2 로그 연산기로부터의 결과값을 감산하여 결과값을 출력하는 적어도 하나의 제 1 감산기; 상기 비디오 프로세서로부터의 입력 영상 데이타(X)에서 상기 입력 레벨 선택부의 출력값(I[n-1])을 감산하여 결과값을 출력하는 제 2 감산기; 그리고 상기 제 1 감산기로부터의 출력값 및 상기 제 2 감산기로부터의 출력값을 쉬프트 연산하여 결과값을 출력하는 적어도 하나의 쉬프트 연산부를 포함한다. In one embodiment of the present invention, the shift operation unit may generate the characteristic curve constants Cx [n], n = 0, 1, ..., i and the input level values I [n] from the special register. , n = 0, 1, ..., i), and selecting values corresponding to the n value and the n-1 value among the characteristic curve constants according to the n value from the input level selector. at least one first log operator for performing a log 2 (Cx [n]-Cx [n-1]) operation and outputting a result value; The input register receives the input level values I [n] from the special register, selects values corresponding to the n value and the n-1 value among the input level values according to the n value from the logarithm operator, and logs 2 (I [n]-I [n-1]) a second log operator for performing an operation and outputting a result value; At least one first subtractor for outputting a result value by subtracting a result value from the second log operator from a result value from the first log operator; A second subtractor configured to subtract the output value I [n-1] of the input level selector from the input image data X from the video processor and output a result value; And at least one shift calculator for shifting the output value from the first subtractor and the output value from the second subtractor to output a result value.

본 발명의 일 실시예에 있어서, 상기 가산부는 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n],n= 0, 1, 2,...,i))을 입력받으며, 상기 쉬프트 연산부로부터의 n 값에 따라, 상기 특성 곡선 상수들 중 n-1 값에 대응하는 값을 선택하고,

Figure 112005001323783-PAT00002
연산을 수행하여 결과값을 출력하는 제 1 가산기; 상기 쉬프트 연산부로부터의 결과값과 상기 제 1 가산기로부터의 결과값을 합산하여 출력 영상 데이타를 상기 디스플레이 장치로 출력하는 제 2 가산기를 포함한다.In one embodiment of the present invention, the adder receives the characteristic curve constants Cx [n], n = 0, 1, 2, ..., i from the special register and from the shift operator. Select a value corresponding to the n-1 value of the characteristic curve constants according to the n value of,
Figure 112005001323783-PAT00002
A first adder for performing an operation and outputting a result value; And a second adder configured to add the result value from the shift calculator and the result value from the first adder to output output image data to the display device.

본 발명의 일 실시예에 있어서, 상기 특별 레지스터는 중앙처리장치에 의해 설정된다.In one embodiment of the invention, the special register is set by a central processing unit.

본 발명의 일 실시예에 있어서, 상기 영상 데이타는 카메라 장치 또는 디지탈 멀티미디어 방송 수신 장치로 부터 입력된다.In one embodiment of the present invention, the video data is input from a camera device or a digital multimedia broadcasting receiver.

본 발명의 일 실시예에 있어서, 상기 입력레벨 값들(I[n], n= 0, 1, 2,...,i)은 I[n]-I[n-1]= 2n, (n= 0, 1, 2,...,i)인 조건을 만족한다.In one embodiment of the present invention, the input level values I [n], n = 0, 1, 2, ..., i are I [n] -I [n-1] = 2 n , ( satisfies the condition n = 0, 1, 2, ..., i).

본 발명의 일 실시예에 있어서, 상기 특성 곡선 상수들(Cx[n], n= 0, 1, 2,...,i)은 Cx[n]- Cx[n-1]=2n,(n= 0, 1, 2,...,i)인 조건을 만족한다.In one embodiment of the present invention, the characteristic curve constants Cx [n], n = 0, 1, 2, ..., i are Cx [n] -Cx [n-1] = 2 n , The condition (n = 0, 1, 2, ..., i) is satisfied.

상기 목적들 달성 하기 위하여 본 발명은 쉬프트 연산을 사용한 콘트래스트 확장 방법을 제공한다. 상기 콘트래스트 확장 방법은 외부에서 영상 데이타(X)를 입력 받는 단계; 특별 레지스터로부터 콘트래스트 확장 동작을 수행하기 위한 입력 레벨 값들(I[n],n= 0, 1, 2,...,i) 및 특성 곡선 상수들(Cx[n], n= 0, 1, 2,...,i)을 입력 받는 단계; 그리고 상기 영상 데이타의 컬러 레인지를 판단하고, 상기 특별 레지스터로부터 입력된 상기 입력 레벨 값들 및 상기 특성 곡선 상수들을 이용하여 쉬프트 연산을 사용한 콘트래스트 확장 동작을 수행하는 단계를 포함한다.In order to achieve the above object, the present invention provides a contrast extension method using a shift operation. The contrast expansion method may further include receiving image data X from an external source; Input level values I [n], n = 0, 1, 2, ..., i and characteristic curve constants Cx [n], n = 0, for performing contrast extension operations from a special register. Receiving 1, 2, ..., i); And determining a color range of the image data, and performing a contrast extension operation using a shift operation using the input level values and the characteristic curve constants input from the special register.

본 발명의 일 실시예에 있어서, 상기 입력레벨 값들은 I[n]-I[n-1]= 2n ,(n= 0, 1, 2,...,i)인 조건을 만족한다.In one embodiment of the present invention, the input level values satisfy the condition that I [n] -I [n-1] = 2 n , (n = 0, 1, 2, ..., i).

본 발명의 일 실시예에 있어서,상기 특성 곡선 상수들은 Cx[n]- Cx[n-1]=2n ,(n= 0, 1, 2,...,i)인 조건을 만족한다.In one embodiment of the present invention, the characteristic curve constants satisfy the condition that Cx [n] -Cx [n-1] = 2 n , (n = 0, 1, 2, ..., i).

본 발명의 예시적인 실시예들이 참조 도면에 의거하여 이하 상세히 설명될 것이다. Exemplary embodiments of the invention will be described in detail below on the basis of reference drawings.

(실시예)(Example)

도 1은 본 발명에 따른 어플리케이션 프로세서를 개략적으로 나타내는 블럭도이다. 도 1을 참조하면, 어플리케이션 프로세서(100)는 카메라 인터페이스(101), 디지탈 멀티미디어 방송(DMB:Digital Multimedia Broadcasting) 디코더(102), 메모리 컨트롤러(103), 및 디스플레이 컨트롤러(200)를 포함한다. 1 is a block diagram schematically illustrating an application processor according to the present invention. Referring to FIG. 1, the application processor 100 includes a camera interface 101, a digital multimedia broadcasting (DMB) decoder 102, a memory controller 103, and a display controller 200.                     

카메라 인터페이스(101)는 디지탈 카메라 모듈 등과 같은 카메라 장치(110)로 부터 영상 데이타를 입력받아 디스플레이 컨트롤러(200)에 전달한다. DMB 디코더(102)는 디지탈 멀티미디어 방송 수신 장치(120)으로부터 DMB 데이타를 입력받아 디지탈 신호로 변환하여 메모리 컨트롤러(103)에 출력한다. 메모리 컨트롤러(103)은 DMB 디코더(102) 또는 디스플레이 컨트롤러(200)로부터 영상 데이타를 입력받아 메모리(130)에 저장하거나, 메모리(130)에 저장된 영상 데이타를 디스플레이 컨트롤러(200)에 출력한다. 디스플레이 컨트롤러(200)는 중앙 처리 장치(CPU:Central Processing Unit)에 의해 제어되며, 카메라 인터페이스(101) 또는 메모리 컨트롤러로부터 입력된 영상 데이타를 콘트래스트 확장(Contrast Strech) 동작 등을 수행하여 디스플레이 장치(140)에 출력한다. 콘트래스트 확장(Contrast Strech) 동작은 좁은 컬러 레인지를 가진 영상 데이타를 전체 컬러 레인지를 가지는 영상 데이타로 변환시켜 디스플레이 장치(140)에 선명한 영상을 표현하도록 하기 위한 것이다. The camera interface 101 receives image data from the camera device 110 such as a digital camera module and transmits the image data to the display controller 200. The DMB decoder 102 receives DMB data from the digital multimedia broadcasting receiver 120, converts the DMB data into a digital signal, and outputs the digital signal to the memory controller 103. The memory controller 103 receives image data from the DMB decoder 102 or the display controller 200 and stores the image data in the memory 130 or outputs the image data stored in the memory 130 to the display controller 200. The display controller 200 is controlled by a central processing unit (CPU) and performs a contrast stretch operation on the image data input from the camera interface 101 or the memory controller. Output to 140. The contrast stretch operation is for converting image data having a narrow color range into image data having a full color range to display a clear image on the display device 140.

도 2는 본 발명의 바람직한 실시예에 따라 도 1의 디스플레이 컨트롤러를 개략적으로 나타내는 블럭도이다. 도 2를 참조하면, 디스플레이 컨트롤러(200)는 영상 입력부(201), 콘트래스트 강화부(Contrast Enchancer, 240), 특별 레지스터(250, Special Register), 그리고 타이밍 컨트롤러(260)를 포함한다. 상기 영상 입력부(201)는 전용 DMA 컨트롤러(Dedicated Direct Memory Access Controller, 210), FIFO(First In First Out) 버퍼(220), 및 비디오 프로세서(230)를 포함한다.2 is a block diagram schematically illustrating the display controller of FIG. 1 in accordance with a preferred embodiment of the present invention. Referring to FIG. 2, the display controller 200 includes an image input unit 201, a contrast enhancer 240, a special register 250, and a timing controller 260. The image input unit 201 includes a dedicated direct memory access controller (DMA) 210, a first in first out (FIFO) buffer 220, and a video processor 230.

특별 레지스터(Special Register, 250)는 중앙처리장치(CPU: Central Processing Unit)에 의해 제어된다. 또한, 특별 레지스터(250)는 상기 콘트래스트 강화부의 콘트래스트 강화 동작에 필요한 입력 레벨 값(I[n]) 및 특성 곡선 상수(Cx[n])를 저장한다.The special register 250 is controlled by a central processing unit (CPU). The special register 250 also stores an input level value I [n] and a characteristic curve constant Cx [n] necessary for the contrast enhancement operation of the contrast enhancement section.

전용 DMA 컨트롤러(210)는 메모리 컨트롤러(103) 또는 카메라 인터페이스(101)로 부터 입력 받은 영상 데이타를 FIFO 버퍼(220)에 출력한다. FIFO 버퍼(220)는 전용 DMA 컨트롤러(210)로부터 영상 데이타를 입력받아 일시적인 버퍼링을 하여 비디오 프로세서(230)로 출력한다. 비디오 프로세서(230)는 영상데이타의 픽셀당 데이타 비트수를 디스플레이 장치(140) 특성에 맞게 변환하는 등의 소정의 처리를 하여 콘트래스트 강화부(240)로 출력한다. The dedicated DMA controller 210 outputs the image data received from the memory controller 103 or the camera interface 101 to the FIFO buffer 220. The FIFO buffer 220 receives image data from the dedicated DMA controller 210 and temporarily outputs the image data to the video processor 230. The video processor 230 outputs the contrast enhancement unit 240 by performing a predetermined process such as converting the number of data bits per pixel of the image data according to the characteristics of the display device 140.

콘트래스트 강화부(240)는 소정 범위로 제한된 컬러 스케일을 가진 영상 데이타에 콘트래스트 확장 동작을 수행하여 전체 범위의 컬러 스케일을 가진 영상 데이타로 변화하여 디스플레이 장치(140)에 출력한다.The contrast enhancer 240 performs a contrast extension operation on the image data having the color scale limited to the predetermined range, and converts the image data into the image data having the color scale of the entire range and outputs the image data to the display device 140.

타이밍 컨트롤러(260)은 디스플레이 컨트롤러(200)가 영상 데이타를 디스플레이 장치(140)에 출력할 때, 디스플레이 장치(140)의 특성에 맞는 타이밍 제어 신호를 발생한다.The timing controller 260 generates a timing control signal suitable for the characteristics of the display apparatus 140 when the display controller 200 outputs image data to the display apparatus 140.

도 3은 본 발명의 바람직한 실시예에 따라 도 2의 콘트래스트 강화부(240)를 개략적으로 나타내는 블럭도이다. 도 3을 참조하면, 콘트래스트 강화부(240)은 입력레벨 선택부(241), 쉬프트 연산부(242), 그리고 가산부(243)를 포함한다.3 is a block diagram schematically illustrating the contrast reinforcement 240 of FIG. 2 in accordance with a preferred embodiment of the present invention. Referring to FIG. 3, the contrast enhancer 240 includes an input level selector 241, a shift calculator 242, and an adder 243.

입력레벨 선택부(241)는 비디오 프로세서(230, 도 2 참조)로부터 입력 영상 데이타(이하, 'X'이라 함)를 입력 받아, X 값의 컬러 레인지를 분별하여 X를 포함하는 입력 레벨 구간(I[n]-I[n-1]) 및 특성 곡선 상수(Cx[n])의 선택에 필요한 n 값을 결정한다. 또한, 특별 레지스터(250, 도 2)로부터 입력 레벨 값들(I[n], n= 0, 1, 2,...,i)을 입력받아, n 값에 따라 I[n-1] 값을 선택한다.The input level selector 241 receives input image data (hereinafter referred to as 'X') from the video processor 230 (refer to FIG. 2), classifies a color range of X values, and includes an input level section including X. I [n] -I [n-1]) and the n value required for the selection of the characteristic curve constant (Cx [n]). In addition, the input level values I [n], n = 0, 1, 2, ..., i are input from the special register 250 (FIG. 2), and I [n-1] values are obtained according to n values. Choose.

쉬프트 연산부(242)는 입력레벨 선택부(241)로부터 n값 및 I[n-1]값을 받고, 비디오 프로세서(230, 도 2) 및 특별 레지스터(250)으로부터 X 값 및 특성 곡선 상수(Cx[n])들을 각각 받아, 쉬프트 연산을 수행하기 위한 상수 값들(Cx[n]-Cx[n-1], I[n]-I[n-1], X-I[n-1])을 산출한다. 또한 쉬프트 연산부(242)는 상수 값들에 쉬프트 연산(Shift Operation)을 수행하여 결과값(Y1', Y2')을 가산부(243)에 출력한다.The shift operator 242 receives n values and I [n-1] values from the input level selector 241, and X values and characteristic curve constants Cx from the video processor 230 (FIG. 2) and the special register 250. Receive each [n]) and calculate constant values Cx [n] -Cx [n-1], I [n] -I [n-1], XI [n-1] for performing the shift operation. do. In addition, the shift operator 242 performs a shift operation on the constant values and outputs the result values Y1 'and Y2' to the adder 243.

가산부(243)는 특별 레지스터(250, 도2)로부터 특성 곡선 상수(Cx[n])값을 입력 받아 쉬프트 연산부(242)로부터의 결과값 (Y1', Y2')에 합산하여 출력 영상 데이타(이하, 'Y'라 함)값을 출력한다.The adder 243 receives the characteristic curve constant Cx [n] from the special register 250 (FIG. 2), adds it to the result values Y1 'and Y2' from the shift calculator 242, and outputs the output image data. Outputs a value (hereinafter referred to as 'Y').

이하에서, 콘트래스트 강화부(240)가 변환 특성 곡선을 이용하여(즉, 특별 레지스터(250)로부터 입력받은 변환 곡선 상수(Cx[n]) 및 입력 레벨 값(I[n])을 이용하여), 영상 데이타의 컬러 콘트래스트를 조정하는 방법이 상세히 설명될 것이다.Hereinafter, the contrast enhancer 240 uses the conversion characteristic curve (that is, the conversion curve constant Cx [n] received from the special register 250 and the input level value I [n]). ), A method of adjusting the color contrast of the image data will be described in detail.

변환 특성 곡선을 나타내는 변환 곡선 상수(Cx[n]) 및 입력 레벨 값(I[n])을 이용하여 콘트래스트 확장 동작을 수행하기 위하여, 부분 선형 근사 방법을 사용한다. 부분 선형 근사 방법은 일정한 입력 레벨 구간(즉, I[n]-I[n-1])에 대하여 각각의 선형 함수를 사용하여 근사값을 구하는 방법이다. A partial linear approximation method is used to perform a contrast extension operation using the conversion curve constant Cx [n] and the input level value I [n] representing the conversion characteristic curve. The partial linear approximation method is a method of obtaining an approximation value by using each linear function for a constant input level interval (ie, I [n] -I [n-1]).

도 4은 본 발명의 바람직한 실시예에 따라 부분 선형 근사 곡선을 나타내는 그래프이다. 도 4을 참조하면, X축은 입력 레벨(I[n]) 값을, Y축은 출력 레벨(L[n]) 값을 나타낸다. I[0]~I[i]은 256 레벨을 2n(n=0, 1, 2,..., i)으로 나눈 것을 나타내며, 도 4에서는 i=8인 경우를 나타낸다. L[0]~L[8]은 입력 레벨(I[n])에 대응하는 출력 레벨(L[n]) 값이다. 입력 레벨(I[n]) 값은 선택 가능한 값이며, 설계자가 하드웨어 설정시 구현하고자 하는 장치의 특성에 맞게 설정한다. 입력 레벨 구간(I[n]-I[n-1])이 좁을 수록 왜곡이 적은 근사값을 구할 수 있다.4 is a graph showing a partial linear approximation curve according to a preferred embodiment of the present invention. Referring to FIG. 4, the X axis represents an input level I [n] value, and the Y axis represents an output level L [n] value. I [0] -I [i] represent 256 levels divided by 2 n (n = 0, 1, 2, ..., i), and in FIG. 4, i = 8. L [0] to L [8] are output level L [n] values corresponding to input level I [n]. The input level (I [n]) value is a selectable value, which the designer sets according to the characteristics of the device to be implemented during hardware configuration. As the input level section I [n] -I [n-1] is narrower, an approximation value with less distortion can be obtained.

출력 레벨(L[n]) 값은 이하의 수학식 1과 같은 조건을 만족하여야 한다.The output level L [n] value must satisfy the following condition.

L[n] = C1[n] + C2[n] + ... + Cx[n]L [n] = C1 [n] + C2 [n] + ... + Cx [n]

여기서, C1[n]-C1[n-1] = 2n, C2[n]-C2[n-1] = 2n, 그리고 Cx[n]-Cx[n-1] = 2n (n=0, 1, 2, ... ,8)이다. Where C1 [n] -C1 [n-1] = 2 n , C2 [n] -C2 [n-1] = 2 n , and Cx [n] -Cx [n-1] = 2 n (n = 0, 1, 2, ..., 8).

수학식 1에서 특성 곡선 상수(C1, C2, ..., Cx) 값은 프로그래밍이 가능한 값이며, 소프트웨어 연산에 의해 설정 가능하다. x 값은 입력 레벨(I[n]) 값과 마찬가지로 설계자에 의해 설정된다. x 값이 크면 클수록 보다 세밀한 콘트래스트 확장 동작을 수행할 수 있다. 중앙처리장치(도시되지 않음)에서 연산된 Cx 값들은 특별 레지스터(250, 도 2 참조)에 저장된다.In Equation 1, the characteristic curve constants (C1, C2, ..., Cx) are programmable values and can be set by software operation. The x value is set by the designer as well as the input level I [n] value. The larger the x value, the finer the contrast extension can be. The Cx values computed at the central processing unit (not shown) are stored in a special register 250 (see FIG. 2).

x = 2라고 가정하면(즉, Cx = C1, C2), 부분 선형 근사 방법을 이용하여 입력 레벨의 X 값에 대응하는 출력 레벨의 Y 값을 구하는 식은 다음과 같다. Assuming x = 2 (that is, Cx = C1, C2), the equation for calculating the Y value of the output level corresponding to the X value of the input level using the partial linear approximation method is as follows.

Y = [(L[n]-L[n-1])/(I[n]-I[n-1])*(X-I[n-1]) + L[n-1]Y = [(L [n] -L [n-1]) / (I [n] -I [n-1]) * (X-I [n-1]) + L [n-1]

여기서, C1, C2를 사용하여 수학식 2를 전개하면,Here, when Equation 2 is developed using C1 and C2,

Y = [((C1[n]+C2[n])-(C1[n-1]+C2[n-1]))/(I[n]-I[n-1])]*(X-I[n-1])+L[n-1]Y = [((C1 [n] + C2 [n])-(C1 [n-1] + C2 [n-1])) / (I [n] -I [n-1])] * (XI [n-1]) + L [n-1]

= [((C1[n]-C1[n-1])+(C2[n]-C2[n-1]))/(I[n]-I[n-1])]*(X-I[n-1])+L[n-1]  = [((C1 [n] -C1 [n-1]) + (C2 [n] -C2 [n-1])) / (I [n] -I [n-1])] * (XI [ n-1]) + L [n-1]

= [(C1[n]-C1[n-1])/(I[n]-I[n-1])+(C2[n]-C2[n-1])/(I[n]-I[n-1])]* (X-I[n-1])+L[n-1] = [(C1 [n] -C1 [n-1]) / (I [n] -I [n-1]) + (C2 [n] -C2 [n-1]) / (I [n]- I [n-1])] * (XI [n-1]) + L [n-1]

여기서, [(C1[n]-C1[n-1])/(I[n]-I[n-1])]=A, [(C2[n]-C2[n-1])/(I[n]-I[n-1])]=B 라 하면,Where [(C1 [n] -C1 [n-1]) / (I [n] -I [n-1])] = A, [(C2 [n] -C2 [n-1]) / ( If I [n] -I [n-1])] = B,

Y = (A+B)*(X-I[n-1]) + L[n-1]Y = (A + B) * (X-I [n-1]) + L [n-1]

= A*(X-I[n-1]) + B*(X-I[n-1]) + L[n-1]  = A * (X-I [n-1]) + B * (X-I [n-1]) + L [n-1]

이다. to be.

수학식 4에서, A 및 B(즉, [(C1[n]-C1[n-1])/(I[n]-I[n-1])], [(C2[n]-C2[n-1])/(I[n]-I[n-1])])는 각각 2의 n승 형태가 되므로, (X-I[n-1])에 대한 멀티플라이 연산을 쉬프트 연산으로 처리할 수 있다. 즉, 멀티플라이어(Multiplier)와 디바이더(Divider)를 사용하지 않고 쉬프트 연산(Shift Operation)으로 콘트래스트 확장 동작을 수행할 수 있다.In Equation 4, A and B (ie, [(C1 [n] -C1 [n-1]) / (I [n] -I [n-1])], [(C2 [n] -C2 [ n-1]) / (I [n] -I [n-1])]) become n-squared powers of 2, so the multiply operation for (XI [n-1]) can be processed as a shift operation. have. That is, the contrast extension operation may be performed by a shift operation without using a multiplier and a divider.

i=5 라고 가정하면, 입력 레벨 구간(I[n]-I[n-1]) 값은 모두 32 (=28)가 된 다. x=2 인 경우에, 특별 레지스터(250)에 저장된 C1, C2 값들로 부터 출력 레벨 (L[n]) 값을 구하면, 다음 표와 같다.Assuming i = 5, the input level intervals I [n] -I [n-1] are all 32 (= 2 8 ). In the case of x = 2, the output level L [n] is obtained from the C1 and C2 values stored in the special register 250, as shown in the following table.

L[n]L [n] C1[n]C1 [n] C2[n]C2 [n] ValueValue L[0]L [0] 00 00 00 L[1]L [1] 88 00 88 L[2]L [2] 1616 00 1616 L[3]L [3] 3232 00 3232 L[4]L [4] 6464 00 6464 L[5]L [5] 128128 3232 160160 L[6]L [6] 192192 3232 224224 L[7]L [7] 224224 1616 240240 L[8]L [8] 256256 00 256256

표 1 및 도 4을 참조하여, X=143 이라고 가정하면, 출력 값 Y는 수학식 3으로 부터 다음과 같이 구해진다.Referring to Table 1 and FIG. 4, assuming that X = 143, the output value Y is obtained from Equation 3 as follows.

Y = [((128+32)-(64+0))/(160-(128)]*(X-128)+(64+0)Y = [((128 + 32)-(64 + 0)) / (160- (128)] * (X-128) + (64 + 0)

= [((128-64)+(32-0))/32]*(X-128)+64  = [((128-64) + (32-0)) / 32] * (X-128) +64

= [(64/32)-(32/32)]*(X-128)+64 -------(1)  = [(64/32)-(32/32)] * (X-128) +64 ------- (1)

= [(21)-(20)]*(X-128)+64 -------(2)= [(2 1 )-(2 0 )] * (X-128) +64 ------- (2)

= [(X-128)<<1]-[(X-128)<<0]+ 64 -------(3)  = [(X-128) << 1]-[(X-128) << 0] + 64 ------- (3)

= 30 - 185 + 64  = 30-185 + 64

= 79  = 79

수학식 5에서 (1)의 디바이드 연산을 (2)의 2n 형식의 연산으로 바꾸고, 2n 형식의 연산을 (3)의 쉬프트 연산으로 바꾸었다. Changing the operation of the second n type of the divide operation (2) in equation (5) (1), it changed the form of 2 n operations in shift operation of (3).

이하, 수학식 3을 하드웨어로 구현한 콘트래스트 강화부를 상세히 설명한다.Hereinafter, the contrast reinforcement unit in which Equation 3 is implemented in hardware will be described in detail.

도 5는 본 발명의 바람직한 실시예에 따라 도 3의 콘트래스트 강화부를 상세히 나타내는 블럭도이다. 도 5를 참조하면, 입력 레벨 선택부(241)는 n값 선택부(301), 입력레벨값 결정부(302)를 포함한다. n값 선택부(301)는 비디오 프로세서(230, 도 2)로부터 X값을 입력받아 X값을 컬러 레인지를 분별하여 n값을 결정한다. 입력 레벨값 선택부(302)는 특별 레지스터(250, 도2)로부터 입력 레벨값들(I[n], n= 0, 1, 2,...,i)을 입력받아, n 값 선택부(301)로부터의 n 값에 따라 I[n-1]값을 결정하여 쉬프트 연산부(242)에 출력한다.5 is a block diagram illustrating in detail the contrast enhancement of FIG. 3 in accordance with a preferred embodiment of the present invention. Referring to FIG. 5, the input level selector 241 includes an n value selector 301 and an input level value determiner 302. The n value selector 301 receives an X value from the video processor 230 (FIG. 2), and discriminates the X value from the color range to determine the n value. The input level value selector 302 receives input level values I [n], n = 0, 1, 2, ..., i from the special register 250 (FIG. 2), and selects an n value selector. The value of I [n-1] is determined according to the value n from 301 and output to the shift calculator 242.

쉬프트 연산부(242)는 로그 연산기(311, 312, 313), 감산기(321, 322, 323), 및 쉬프트 연산기(331, 332)를 포함한다. 로그 연산기(311)는 특성 곡선 상수(C1[n], n= 0, 1, 2,...,i) 및 n 값을 특별 레지스터(250, 도2) 및 입력레벨 선택부(241)로부터 각각 입력받아 'log2(C1[n]-C1[n-1])' 연산을 수행하여 결과값(a)을 감산기(322)에 출력한다. 로그 연산기(312)는 입력 레벨 값(I[n]) 및 n 값을 특별 레지스터(250, 도2) 및 로그 연산기(312)로부터 각각 입력받아 'log2(I[n]-I[n-1])' 연산을 수행하여 결과값(b)를 감산기(322, 323)에 출력한다. 로그 연산기(313)는 특성 곡선 상수(C2[n], n= 0, 1, 2,...,i) 및 n 값을 특별 레지스터(250, 도2) 및 로그 연산기(312)로부터 각각 입력받아 'log2(C2[n]-C2[n-1])' 연산을 수행하여 결과값(a')를 감산기(323)에 출력한다.The shift operator 242 includes log operators 311, 312, and 313, subtractors 321, 322, and 323, and shift operators 331 and 332. The logarithm operator 311 sends characteristic curve constants C1 [n], n = 0, 1, 2, ..., i and n values from the special register 250 (FIG. 2) and the input level selector 241. Each operation is performed to perform a 'log 2 (C1 [n] -C1 [n-1])' operation and output the result value a to the subtractor 322. The logarithm operator 312 receives input level values I [n] and n values from the special register 250 (FIG. 2) and the logarithm operator 312, respectively, and log 2 (I [n] -I [n-). 1]) 'operation to output the result value b to the subtractors 322 and 323. The logarithm operator 313 inputs characteristic curve constants C2 [n], n = 0, 1, 2, ..., i and n values from special register 250 (FIG. 2) and logarithm operator 312, respectively. 'Log2 (C2 [n] -C2 [n-1])' is performed and the result value a 'is output to the subtractor 323.

감산기(321)는 X 값 및 I[n-1]값을 비디오 프로세서(230, 도2) 및 입력레벨 값 선택부(302)로부터 각각 입력받아 감산하고 결과값(Y0)을 출력한다. 감산기(322)는 로그 연산기(311)의 결과값(a)에서 로그 연산기(312)의 결과값(b)를 감산하여 결과값(Y1)을 출력한다. 감산기(323)는 로그 연산기(313)으 결과값(a')에서 로그 연산기(312)의 결과값(b)을 감산하여 결과값(Y2)를 출력한다. The subtractor 321 receives the X value and the I [n-1] value from the video processor 230 (FIG. 2) and the input level value selector 302, respectively, and subtracts the resultant value Y0. The subtractor 322 subtracts the result value b of the log operator 312 from the result value a of the log operator 311 and outputs the result value Y1. The subtractor 323 outputs the result value Y2 by subtracting the result value b of the log operator 312 from the result value a 'by the log operator 313.

쉬프트 연산기(331)은 감산기(321)의 결과값(Y0)와 감산기(322)의 결과값(Y1)을 쉬프트 연산하여 출력값(Y1')을 출력한다. 쉬프트 연산기(331)은 감산기(321)의 결과값(Y0)와 쉬프트 연산기(331)의 결과값(Y2)을 쉬프트 연산하여 출력값(Y2')을 출력한다.The shift operator 331 shifts the result value Y0 of the subtractor 321 and the result value Y1 of the subtractor 322 to output the output value Y1 ′. The shift operator 331 shifts the result value Y0 of the subtractor 321 and the result value Y2 of the shift operator 331, and outputs an output value Y2 ′.

가산부(243)는 가산기(341, 342, 343)를 포함한다. 가산기(341)는 특성 곡선 상수(C1[0]~C1[n]) 및 n 값을 특별 레지스터(250, 도2) 및 로그 연산기(313)로부터 각각 입력받아

Figure 112005001323783-PAT00003
인 연산을 수행하고 결과값(Y4)를 출력한다. 가산기(342)는 쉬프트 연산기(331)의 출력값(Y1') 및 쉬프트 연산기(332)의 출력값(Y2')을 가산하여 결과값(Y3)을 출력한다. 가산기(343)는 가산기(341)의 출력값(Y4) 및 가산기(342)의 출력값(Y3)을 가산하여 결과값(Y)을 출력한다. 즉, 출력 영상 데이타(Y)값이 디스플레이 장치(140, 도 2참조)로 출력된다. The adder 243 includes adders 341, 342, and 343. The adder 341 receives characteristic curve constants C1 [0] to C1 [n] and n values from the special register 250 (FIG. 2) and the logarithm operator 313, respectively.
Figure 112005001323783-PAT00003
Performs the in operation and outputs the result value (Y4). The adder 342 adds the output value Y1 'of the shift operator 331 and the output value Y2' of the shift operator 332 to output the result value Y3. The adder 343 adds the output value Y4 of the adder 341 and the output value Y3 of the adder 342 to output the result value Y. That is, the output image data Y value is output to the display device 140 (see FIG. 2).

도 6a, 7a, 8a,및 9a는 각각 도 1의 디스플레이 컨트롤러 입력되는 영상의 히스토그램을 나타낸다. 도 6b, 7b, 8b,및 9b는 각각 도 6a, 7a, 8a,및 9a에 도시된 영상 히스토그램의 컬러 콘트래스트를 강화하기 위한 변환 특성 곡선을 나타낸다. 도 6c, 7c, 8c,및 9c는 각각 도 6a, 7a, 8a,및 9a 도시된 영상 히스토그램이 디스플레이 컨트롤러에서 도 6b, 7b, 8b,및 9b의 변환 특성 곡선에 따라 변환되어 출력되는 영상 히스토그램을 나타낸다.6A, 7A, 8A, and 9A show histograms of images input to the display controller of FIG. 1, respectively. 6B, 7B, 8B, and 9B show conversion characteristic curves for enhancing the color contrast of the image histograms shown in FIGS. 6A, 7A, 8A, and 9A, respectively. 6C, 7C, 8C, and 9C show image histograms in which the image histograms shown in FIGS. 6A, 7A, 8A, and 9A are converted according to the conversion characteristic curves of FIGS. 6B, 7B, 8B, and 9B in the display controller and output. Indicates.

도 6a, 6b, 및 6c를 참조하면, 도 6a의 입력 영상 히스토그램에는 높은 레벨과 낮은 레벨의 컬러 스케일(Scale)은 없고 중간 레벨(Level)의 컬러 스케일(Scale)만이 나타나 있다. 도 4a에 도시된 입력 영상의 컬러 스케일을 전체 레인지로 확장시키기 위해서 도 4b에 도시된 변환 특성 곡선(Transformation Characteristic Curve)의 특성곡선 상수(Cx[n]) 및 입력레벨 값(I[n])을 사용한다. 도 5를 참조하여 상술한 바와 같이, 콘트래스트 강화부(240)에서 특성곡선 상수(Cx[n]) 및 입력레벨 값(I[n])을 입력 받아, 도 4a의 입력 영상 히스토그램을 변환하면, 도 4c의 전체 레인지의 컬러 스케일을 가진 출력 영상 히스토그램이 만들어 진다. 6A, 6B, and 6C, the input image histogram of FIG. 6A does not have a high level and a low level color scale, and only a middle level color scale. In order to extend the color scale of the input image shown in FIG. 4A to the full range, the characteristic curve constant Cx [n] and the input level value I [n] of the Transformation Characteristic Curve shown in FIG. 4B. Use As described above with reference to FIG. 5, the contrast enhancement unit 240 receives the characteristic curve constant Cx [n] and the input level value I [n] to convert the input image histogram of FIG. 4A. Then, an output image histogram with the full range of color scale of FIG. 4C is created.

도 7a, 7b, 7c, 8a, 8b, 8c, 9a, 9b, 9를 참조하면, 도 7a의 입력 영상 히스토그램에는 중간 레벨의 컬러 스케일(Scale)이 거의 존재하지 않고, 도 8a의 입력 영상 히스토그램에는 낮은 레벨의 컬러 스케일(Scale)이 거의 존재하지 않으며, 도 9a의 입력 영상 히스토그램에는 높은 레벨의 컬러 스케일이 거의 존재하지 않는다. 마찬가지로 이 경우에도, 콘트래스트 강화부(240, 도 5참조)에서 특성곡선 상수(Cx[n]) 및 입력레벨 값(I[n])을 입력 받아, 도 7a, 8a, 및 9a 의 입력 영상 히스토그램을 변환하면, 전체 레인지의 컬러 스케일을 가진 출력 영상 히스토그램이 만들어 진다.Referring to FIGS. 7A, 7B, 7C, 8A, 8B, 8C, 9A, 9B, and 9, an intermediate level color scale is hardly present in the input image histogram of FIG. 7A, and the input image histogram of FIG. 8A is not present. Low level color scales are hardly present, and high level color scales are hardly present in the input image histogram of FIG. 9A. Similarly, in this case, the characteristic curve constant Cx [n] and the input level value I [n] are input from the contrast enhancing unit 240 (see FIG. 5), and the inputs of FIGS. 7A, 8A, and 9A are input. Converting the image histogram produces an output image histogram with a full range of color scales.

이 외에도 사용자의 설정에 의해 다양한 변환 특성 곡선을 사용하여, 입력 영상 데이타에 콘트래스트 확장동작을 실시할 수 있다.In addition, a contrast extension operation can be performed on the input image data using various conversion characteristic curves according to the user's setting.

본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사항을 벗어나지 않는 범위내에서 다양한 변화 및 변경이 가능함은 물론이다.Although the configuration and operation of the circuit according to the present invention are illustrated in accordance with the above description and the drawings, this is merely an example and various changes and modifications are possible without departing from the technical matters of the present invention.

상기 상술한 바와 같이 본 발명에 따르면, 하드웨어로 콘트래스트 확장 동작을 수행할 수 있어 휴대장치에서도 고화질의 영상을 디스플레이 할 수 있다. As described above, according to the present invention, the contrast extension operation may be performed by hardware, so that a high quality image may be displayed in a portable device.

또한, 하드웨어를 멀티플라이어나 디바이더를 사용하지 않고 쉬프트 연산기를 이용한 간단한 회로로 구현하여 비용을 감소시키고 전력 소모를 줄일 수 있다.In addition, the hardware can be implemented as a simple circuit using a shift operator without using a multiplier or divider to reduce costs and reduce power consumption.

Claims (12)

외부로부터 영상 데이타를 받아 콘트래스트 강화부에 출력하는 영상 입력부;An image input unit which receives image data from the outside and outputs the image data to a contrast enhancement unit; 특성 곡선 상수들(Cx[n], n= 0, 1, ..., i) 및 입력 레벨값들(I[n], n= 0, 1, ..., i)을 저장하는 특별 레지스터; 그리고Special register to store characteristic curve constants (Cx [n], n = 0, 1, ..., i) and input level values (I [n], n = 0, 1, ..., i) ; And 상기 특별 레지스터로부터 특성 곡선 상수들(Cx[n]) 및 입력 레벨값들(I[n])을 받아 상기 상기 영상 입력부로부터의 영상 데이타(X)에 콘트래스트 강화 동작을 수행하고 디스플레이 장치에 출력 영상 데이타(Y)를 출력하는 콘트래스트 강화부를 포함하는 디스플레이 콘트롤러.Receives characteristic curve constants Cx [n] and input level values I [n] from the special register, and performs a contrast enhancement operation on the image data X from the image input unit. A display controller comprising a contrast enhancement unit for outputting output image data (Y). 제 1항에 있어서,The method of claim 1, 상기 콘트래스트 강화부는The contrast reinforcement 상기 영상 데이타(X)의 컬러 레인지를 판단하여 n 값을 결정하고, 상기 n 값에 따라 상기 특별 레지스터로부터의 상기 입력 레벨 값들 중 어느 하나를 선택하는 입력레벨 선택부;An input level selector which determines a value of n by determining a color range of the image data (X), and selects one of the input level values from the special register according to the value of n; 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n], n= 0, 1, ..., i) 및 상기 입력 레벨 값(I[n], n= 0, 1, ..., i)들을 입력받으며, 상기 입력레벨 선택부로부터 상기 n 값 및 상기 선택된 입력 레벨 값을 입력받아 쉬프트 연산을 수행하여 결과값을 출력하는 쉬프트 연산부; 그리고The characteristic curve constants Cx [n], n = 0, 1, ..., i and the input level value I [n], n = 0, 1, ..., i from the special register; A shift calculator which receives the n value and the selected input level value from the input level selector and performs a shift operation to output a result value; And 상기 n 값에 따라, 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n]) 중 n-1 값에 해당하는 특성 곡선 상수들을 선택하여
Figure 112005001323783-PAT00004
인 연산을 수행한 결과값을 상기 쉬프트 연산부로부터의 결과값에 합산하여 상기 디스플레이 장치에 출력하는 가산부를 포함하며,
According to the value of n, characteristic curve constants corresponding to n-1 values of the characteristic curve constants Cx [n] are selected from the special register.
Figure 112005001323783-PAT00004
And an adder configured to add the result value of the in operation to the result value from the shift calculator and output the sum value to the display device.
상기 입력 레벨 선택부 선택된 입력 레벨값은 상기 영상 데이타(X)를 포함하는 입력 레벨 구간(I[n]-I[n-1])의 시작점인 디스플레이 컨트롤러.The input level selector The selected input level value is a start point of an input level section (I [n] -I [n-1]) including the image data (X).
제 2항에 있어서,The method of claim 2, 상기 입력레벨 선택부는 The input level selector 상기 입력된 영상 데이타(X)의 컬러 레인지를 판단하여 n 값을 결정하며, 상기 n 값을 입력 레벨 값 선택부에 출력하는 n 값 선택부; 그리고An n value selector that determines an n value by determining a color range of the input image data X, and outputs the n value to an input level value selector; And 상기 특별 레지스터로부터 상기 입력 레벨 값들(I[n], n= 0, 1, ..., i)을 입력 받으며, 상기 n 값 선택부로부터의 n 값에 따라 상기 입력 레벨 값들 중 하나를 선택하는 입력 레벨 값 선택부를 포함하며,Receiving the input level values I [n], n = 0, 1, ..., i from the special register, and selecting one of the input level values according to the n value from the n value selector; An input level value selector, 상기 입력 레벨 값 선택부에서 선택된 입력 레벨 값은 상기 영상 데이타(X)를 포함하는 입력 레벨 구간(I[n]-I[n-1])의 시작점인 디스플레이 컨트롤러.And an input level value selected by the input level value selector is a starting point of an input level section (I [n] -I [n-1]) including the image data (X). 제 2항에 있어서,The method of claim 2, 상기 쉬프트 연산부는The shift calculator 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n], n=0, 1, ..., i) 및 상기 입력 레벨 값들(I[n], n=0, 1, ..., i)을 입력받으며, 상기 입력레벨 선택부로부터의 상기 n 값에 따라 상기 특성 곡선 상수들 중 상기 n값 및 n-1 값에 해당하는 값을 선택하고, log2( Cx[n] - Cx[n-1]) 연산을 수행하여 결과값을 출력하는 적어도 하나의 제 1로그 연산기;The characteristic curve constants Cx [n], n = 0, 1, ..., i and the input level values I [n], n = 0, 1, ..., i from the special register; Is inputted, and selects values corresponding to the n value and the n-1 value among the characteristic curve constants according to the n value from the input level selector, and log 2 (Cx [n]-Cx [n−). 1]) at least one first log operator for performing an operation and outputting a result value; 상기 특별 레지스터로부터 상기 입력 레벨 값들(I[n])을 입력 받으며, 상기 로그 연산기로 부터의 n 값에 따라 상기 입력 레벨 값들 중 상기 n 값 및 n-1 값에 해당하는 값을 선택하고 log2( I[n] - I[n-1]) 연산을 수행하여 결과 값을 출력하는 제 2로그 연산기; The input register receives the input level values I [n] from the special register, selects values corresponding to the n value and the n-1 value among the input level values according to the n value from the logarithm operator, and logs 2 A second log operator configured to perform a (I [n]-I [n-1]) operation and output a result value; 상기 제 1로그 연산기로부터의 결과값에서 상기 제 2 로그 연산기로부터의 결과값을 감산하여 결과값을 출력하는 적어도 하나의 제 1 감산기;At least one first subtractor for outputting a result value by subtracting a result value from the second log operator from a result value from the first log operator; 상기 비디오 프로세서로부터의 입력 영상 데이타(X)에서 상기 입력 레벨 선택부의 출력값(I[n-1])을 감산하여 결과값을 출력하는 제 2 감산기; 그리고A second subtractor configured to subtract the output value I [n-1] of the input level selector from the input image data X from the video processor and output a result value; And 상기 제 1 감산기로부터의 출력값 및 상기 제 2 감산기로부터의 출력값을 쉬프트 연산하여 결과값을 출력하는 적어도 하나의 쉬프트 연산부를 포함하는 디스플레이 컨트롤러.And at least one shift calculator configured to shift the output value from the first subtractor and the output value from the second subtractor to output a result value. 상기 제 2항에서,In claim 2, 상기 가산부는The addition unit 상기 특별 레지스터로부터 상기 특성 곡선 상수들(Cx[n],n= 0, 1, 2,...,i)) 을 입력받으며, 상기 쉬프트 연산부로부터의 n 값에 따라, 상기 특성 곡선 상수들 중 n-1 값에 대응하는 값을 선택하고,
Figure 112005001323783-PAT00005
연산을 수행하여 결과값을 출력하는 제 1 가산기;
The characteristic curve constants Cx [n], n = 0, 1, 2,..., I) are input from the special register, and among the characteristic curve constants according to n values from the shift operator. select the value corresponding to n-1,
Figure 112005001323783-PAT00005
A first adder for performing an operation and outputting a result value;
상기 쉬프트 연산부로부터의 결과값과 상기 제 1 가산기로부터의 결과값을 합산하여 출력 영상 데이타를 상기 디스플레이 장치로 출력하는 제 2 가산기를 포함하는 디스플레이 콘트롤러. And a second adder configured to add a result value from the shift calculator and a result value from the first adder to output output image data to the display device.
제 1항에 있어서, The method of claim 1, 상기 특별 레지스터는 중앙처리장치에 의해 설정되는 디스플레이 콘트롤러.Wherein said special register is set by a central processing unit. 제 6항에 있어서,The method of claim 6, 상기 영상 데이타는 카메라 장치 또는 디지탈 멀티미디어 방송 수신 장치로 부터 입력되는 디스플레이 콘트롤러.And the image data is input from a camera device or a digital multimedia broadcasting receiver. 제 2항에 있어서,The method of claim 2, 상기 입력레벨 값(I[n], n= 0, 1, 2,...,i)들은 I[n]-I[n-1]= 2n, (n= 0, 1, 2,...,i)인 조건을 만족하는 디스플레이 콘트롤러.The input level values I [n], n = 0, 1, 2, ..., i are I [n] -I [n-1] = 2 n , (n = 0, 1, 2,. Display controller that satisfies the condition 제 8항에 있어서,The method of claim 8, 상기 특성 곡선 상수들(Cx[n], n= 0, 1, 2,...,i)은 Cx[n]- Cx[n-1]=2n,(n= 0, 1, 2,...,i)인 조건을 만족하는 디스플레이 콘트롤러.The characteristic curve constants Cx [n], n = 0, 1, 2, ..., i are Cx [n] -Cx [n-1] = 2 n , (n = 0, 1, 2, Display controller that satisfies the condition ..., i). 외부에서 영상 데이타(X)를 입력 받는 단계; Receiving image data (X) from the outside; 특별 레지스터로부터 콘트래스트 확장 동작을 수행하기 위한 입력 레벨 값들(I[n],n= 0, 1, 2,...,i) 및 특성 곡선 상수들(Cx[n], n= 0, 1, 2,...,i)을 입력 받는 단계; 그리고Input level values I [n], n = 0, 1, 2, ..., i and characteristic curve constants Cx [n], n = 0, for performing contrast extension operations from a special register. Receiving 1, 2, ..., i); And 상기 영상 데이타의 컬러 레인지를 판단하고, 상기 특별 레지스터로부터 입력된 상기 입력 레벨 값들 및 상기 특성 곡선 상수들을 이용하여 쉬프트 연산을 포함한 콘트래스트 확장 동작을 수행하는 단계를 포함하는 콘트래스트 확장방법.And determining a color range of the image data, and performing a contrast extension operation including a shift operation using the input level values and the characteristic curve constants input from the special register. 제 10항에 있어서,The method of claim 10, 상기 입력레벨 값들은 I[n]-I[n-1]= 2n ,(n= 0, 1, 2,...,i)인 조건을 만족하는 콘트래스트 확장방법.And the input level values satisfy a condition that I [n] -I [n-1] = 2 n , (n = 0, 1, 2, ..., i). 제 11항에 있어서,The method of claim 11, 상기 특성 곡선 상수들은 Cx[n]- Cx[n-1]=2n ,(n= 0, 1, 2,...,i)인 조건을 만족하는 콘트래스트 확장방법.And the characteristic curve constants satisfy the condition that Cx [n] -Cx [n-1] = 2n , (n = 0, 1, 2, ..., i).
KR1020050002282A 2005-01-10 2005-01-10 Display controller with contrast strech function and method thereof KR20060081848A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050002282A KR20060081848A (en) 2005-01-10 2005-01-10 Display controller with contrast strech function and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050002282A KR20060081848A (en) 2005-01-10 2005-01-10 Display controller with contrast strech function and method thereof

Publications (1)

Publication Number Publication Date
KR20060081848A true KR20060081848A (en) 2006-07-13

Family

ID=37172707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050002282A KR20060081848A (en) 2005-01-10 2005-01-10 Display controller with contrast strech function and method thereof

Country Status (1)

Country Link
KR (1) KR20060081848A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801326B1 (en) * 2006-08-02 2008-02-19 엠텍비젼 주식회사 Method of performing log base 2 operation in k-bit microprocessor, scale factor decoding method using the same, record media recored program for realizing the same, and apparatus for performing log base 2 operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801326B1 (en) * 2006-08-02 2008-02-19 엠텍비젼 주식회사 Method of performing log base 2 operation in k-bit microprocessor, scale factor decoding method using the same, record media recored program for realizing the same, and apparatus for performing log base 2 operation

Similar Documents

Publication Publication Date Title
KR100564467B1 (en) Image processor, image processing method, and recording medium on which image processing program is recorded
EP0389164A2 (en) Pixel density converting apparatus
TWI407777B (en) Apparatus and method for feature-based dynamic contrast enhancement
CN102202162A (en) Image processing apparatus, image processing method and program
KR20100079546A (en) Real-time image generator
US7631026B2 (en) Signal processing method and signal processing circuit
KR101113483B1 (en) Apparatus for enhancing visibility of color image
US7206021B2 (en) Hybrid pixel interpolating apparatus and hybrid pixel interpolating method
CN106023100B (en) Image wide dynamic range compression method and device
JP2007180851A (en) Gray scale transformation device, program and method for raw image, and electronic camera
KR960008393B1 (en) Gray scale correction circuit
JP4180076B2 (en) Signal processing device
KR20060081848A (en) Display controller with contrast strech function and method thereof
CN101567965A (en) Image processing apparatus
KR0142262B1 (en) A circuit for automatically compressing high luminance
Nnolim Log-hybrid architecture for tonal correction combined with modified un-sharp masking filter algorithm for colour image enhancement
US20070299901A1 (en) Division unit, image analysis unit and display apparatus using the same
Kao et al. Tone reproduction in color imaging systems by histogram equalization of macro edges
CN111615714A (en) Color adjustment method for RGB data
JP4345026B2 (en) Image processing program and image processing apparatus
JPH10173958A (en) Video signal processor
JPH07302190A (en) Divider and image signal reader using the same
Nnolim FPGA-based multiplier-less log-based hardware architectures for hybrid color image enhancement system
Nascimento et al. Efficient Pipelined Circuits for Histogram-based Tone Mapping of Nonlinear CMOS Image Sensors.
JP2013243528A (en) Image processing apparatus

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid