KR20060081848A - Display controller with contrast strech function and method thereof - Google Patents
Display controller with contrast strech function and method thereof Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000002787 reinforcement Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000003623 enhancer Substances 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 3
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control 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/34—Control 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/36—Control 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/3611—Control of matrices with row and column drivers
- G09G3/3648—Control of matrices with row and column drivers using an active matrix
- G09G3/3655—Details of drivers for counter electrodes, e.g. common electrodes for pixel capacitors or supplementary storage capacitors
-
- G06T5/92—
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0264—Details of driving circuits
- G09G2310/0286—Details of a shift registers arranged for use in a driving circuit
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/066—Adjustment of display parameters for control of contrast
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/04—Display device controller operating with a plurality of display units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/16—Calculation 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
도 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 값에 대응하는 특성 곡선 상수들을 선택 하고 인 연산을 수행한 결과값을 상기 쉬프트 연산부로부터의 결과값에 합산하여 상기 디스플레이 장치에 출력하는 가산부를 포함한다. 이 경우에, 상기 입력 레벨 선택부 선택된 입력 레벨값은 상기 영상 데이타(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; 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 값에 대응하는 값을 선택하고, 연산을 수행하여 결과값을 출력하는 제 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, 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
카메라 인터페이스(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
도 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
특별 레지스터(Special Register, 250)는 중앙처리장치(CPU: Central Processing Unit)에 의해 제어된다. 또한, 특별 레지스터(250)는 상기 콘트래스트 강화부의 콘트래스트 강화 동작에 필요한 입력 레벨 값(I[n]) 및 특성 곡선 상수(Cx[n])를 저장한다.The
전용 DMA 컨트롤러(210)는 메모리 컨트롤러(103) 또는 카메라 인터페이스(101)로 부터 입력 받은 영상 데이타를 FIFO 버퍼(220)에 출력한다. FIFO 버퍼(220)는 전용 DMA 컨트롤러(210)로부터 영상 데이타를 입력받아 일시적인 버퍼링을 하여 비디오 프로세서(230)로 출력한다. 비디오 프로세서(230)는 영상데이타의 픽셀당 데이타 비트수를 디스플레이 장치(140) 특성에 맞게 변환하는 등의 소정의 처리를 하여 콘트래스트 강화부(240)로 출력한다. The
콘트래스트 강화부(240)는 소정 범위로 제한된 컬러 스케일을 가진 영상 데이타에 콘트래스트 확장 동작을 수행하여 전체 범위의 컬러 스케일을 가진 영상 데이타로 변화하여 디스플레이 장치(140)에 출력한다.The
타이밍 컨트롤러(260)은 디스플레이 컨트롤러(200)가 영상 데이타를 디스플레이 장치(140)에 출력할 때, 디스플레이 장치(140)의 특성에 맞는 타이밍 제어 신호를 발생한다.The
도 3은 본 발명의 바람직한 실시예에 따라 도 2의 콘트래스트 강화부(240)를 개략적으로 나타내는 블럭도이다. 도 3을 참조하면, 콘트래스트 강화부(240)은 입력레벨 선택부(241), 쉬프트 연산부(242), 그리고 가산부(243)를 포함한다.3 is a block diagram schematically illustrating the
입력레벨 선택부(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
쉬프트 연산부(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
가산부(243)는 특별 레지스터(250, 도2)로부터 특성 곡선 상수(Cx[n])값을 입력 받아 쉬프트 연산부(242)로부터의 결과값 (Y1', Y2')에 합산하여 출력 영상 데이타(이하, 'Y'라 함)값을 출력한다.The
이하에서, 콘트래스트 강화부(240)가 변환 특성 곡선을 이용하여(즉, 특별 레지스터(250)로부터 입력받은 변환 곡선 상수(Cx[n]) 및 입력 레벨 값(I[n])을 이용하여), 영상 데이타의 컬러 콘트래스트를 조정하는 방법이 상세히 설명될 것이다.Hereinafter, the
변환 특성 곡선을 나타내는 변환 곡선 상수(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.
여기서, 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
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.
여기서, C1, C2를 사용하여 수학식 2를 전개하면,Here, when
= [((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,
= 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
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
표 1 및 도 4을 참조하여, X=143 이라고 가정하면, 출력 값 Y는 수학식 3으로 부터 다음과 같이 구해진다.Referring to Table 1 and FIG. 4, assuming that X = 143, the output value Y is obtained from
= [((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
도 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
쉬프트 연산부(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
감산기(321)는 X 값 및 I[n-1]값을 비디오 프로세서(230, 도2) 및 입력레벨 값 선택부(302)로부터 각각 입력받아 감산하고 결과값(Y0)을 출력한다. 감산기(322)는 로그 연산기(311)의 결과값(a)에서 로그 연산기(312)의 결과값(b)를 감산하여 결과값(Y1)을 출력한다. 감산기(323)는 로그 연산기(313)으 결과값(a')에서 로그 연산기(312)의 결과값(b)을 감산하여 결과값(Y2)를 출력한다. The
쉬프트 연산기(331)은 감산기(321)의 결과값(Y0)와 감산기(322)의 결과값(Y1)을 쉬프트 연산하여 출력값(Y1')을 출력한다. 쉬프트 연산기(331)은 감산기(321)의 결과값(Y0)와 쉬프트 연산기(331)의 결과값(Y2)을 쉬프트 연산하여 출력값(Y2')을 출력한다.The shift operator 331 shifts the result value Y0 of the
가산부(243)는 가산기(341, 342, 343)를 포함한다. 가산기(341)는 특성 곡선 상수(C1[0]~C1[n]) 및 n 값을 특별 레지스터(250, 도2) 및 로그 연산기(313)로부터 각각 입력받아 인 연산을 수행하고 결과값(Y4)를 출력한다. 가산기(342)는 쉬프트 연산기(331)의 출력값(Y1') 및 쉬프트 연산기(332)의 출력값(Y2')을 가산하여 결과값(Y3)을 출력한다. 가산기(343)는 가산기(341)의 출력값(Y4) 및 가산기(342)의 출력값(Y3)을 가산하여 결과값(Y)을 출력한다. 즉, 출력 영상 데이타(Y)값이 디스플레이 장치(140, 도 2참조)로 출력된다. The
도 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
도 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)
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)
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 |
-
2005
- 2005-01-10 KR KR1020050002282A patent/KR20060081848A/en not_active Application Discontinuation
Cited By (1)
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 |