KR20090008745A - 히스토그램 등화 장치 및 방법 - Google Patents

히스토그램 등화 장치 및 방법 Download PDF

Info

Publication number
KR20090008745A
KR20090008745A KR1020070071951A KR20070071951A KR20090008745A KR 20090008745 A KR20090008745 A KR 20090008745A KR 1020070071951 A KR1020070071951 A KR 1020070071951A KR 20070071951 A KR20070071951 A KR 20070071951A KR 20090008745 A KR20090008745 A KR 20090008745A
Authority
KR
South Korea
Prior art keywords
data
memory
histogram equalization
histogram
address
Prior art date
Application number
KR1020070071951A
Other languages
English (en)
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 KR1020070071951A priority Critical patent/KR20090008745A/ko
Priority to US11/873,438 priority patent/US20090021648A1/en
Publication of KR20090008745A publication Critical patent/KR20090008745A/ko

Links

Images

Classifications

    • G06T5/92
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration by the use of histogram techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/77Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase

Abstract

히스토그램 등화 장치 및 방법이 제공된다. 본 발명의 히스토그램 등화 장치는 메모리 및 상기 메모리로부터 읽어들인 제1 데이터 및 제2 데이터를 합산한 결과를 상기 메모리 내의 상기 제2 데이터의 위치에 오버라이트하는 연산부를 포함하며, 이를 통해 간단한 회로 구성을 통해 히스토그램 등화 과정에 필요한 누적 분포도를 얻을 수 있다.
히스토그램 등화, histogram equalization, CDF

Description

히스토그램 등화 장치 및 방법 {APPARATUS AND METHOD FOR HISTOGRAM EQUALIZATION}
본 발명은 히스토그램(histogram) 등화(equalization) 장치 및 방법에 관한 것으로서, 특히 영상 데이터의 화질을 개선하기 위해 영상 데이터의 분포를 나타내는 히스토그램을 적응적으로(adaptively) 변형(modify)하는 과정의 일종인 히스토그램 등화 과정에 이용되는 장치 및 방법에 관한 것이다.
현재 가속화되고 있는 디지털 기술의 발전으로 인해 휴대용 카메라 또는 캠코더 등이 널리 보급됨에 따라 음성, 영상 등을 포함하는 정보 이용의 공간적 한계가 점차 무너지고 있다. 사용자에게 디지털 영상이 친숙하게 이용되는 환경 속에서 동영상 화질 향상의 요구는 날로 높아지고 있으며, 동영상 제공자들은 사용자에게 양질의 화면을 제공하기 위한 다양한 영상 처리 방법을 연구하고 있다.
디지털 영상에는 인공조명이나 자연조명이 포함되며 조명광의 세기가 적정한 조건 이상으로 강하거나 약하여 영상의 식별이 어려운 결과물이 생길 수도 있다. 이러한 영상에서는 표현하고자 하는 명도의 범위, 즉 명도의 동적 영역(dynamic range)을 늘림으로써 화질을 향상시키는 방법이 연구되고 있다.
명도의 동적 영역을 증가시키는 여러 방법 중에서 가장 널리 쓰이는 방법 중의 하나가 히스토그램 등화(histogram equalization)이다.
히스토그램은 디지털 영상 안에서 화소들에 대한 명도의 분포를 나타냄으로써 영상의 특징을 제공한다. 히스토그램 등화의 궁극적인 목적은 등화 이후에 등화 전과 비교하여 확산된 분포를 가진 히스토그램을 생성하는 것이다.
히스토그램 등화 과정은 히스토그램을 이용하여 변환함수를 얻고, 변환함수를 이용하여 등화 전 영상의 명도의 동적 영역을 재조절한다. 이로 인해 화면은 밝은 부분과 어두운 부분을 적절히 포함하게 되어 전체적인 화질이 향상된다.
이 때, 명도의 동적 영역의 증감 정도는 등화 전 영상에서의 명도의 발생 빈도에 비례하게 된다.
종래의 히스토그램 등화 과정을 최적화하려는 연구는 등화 과정을 통한 영상 데이터의 변환에 사용되는 알고리즘의 개발에 치우쳐 있다. 알고리즘의 개발은 소프트웨어적인 방법에 의해 구현되며, 최종 결과물인 등화 후 영상 데이터의 화질을 최적화하는 데 초점이 맞추어져 있다.
한편, 히스토그램 등화 과정의 하드웨어 적인 구현에 있어서는 종래에 크게 초점이 맞추어져 있지 않았다. 그러나, 다음의 두 가지 이유로 인해 최근 히스토그램 등화 과정의 하드웨어 적인 구현에 대해서도 관심이 집중되고 있다. 첫째, 최근 휴대용 영상 기기 제조 기술의 발달로 인해 휴대용 영상 기기의 화소 수(픽셀 수)가 크게 증가하는 추세에 있다. 둘째, 영상 처리부(image processor)의 성능의 발달로 인해 R(Red), G(Green), B(Blue) 의 색의 표현 강도가 각각 8 비트 이상으 로 높아짐에 따라, 영상 기기의 한 픽셀이 필요로 하는 영상 데이터의 크기가 증가하는 추세이다.
상기 두 가지 이유로 인해 히스토그램 등화 과정을 하드웨어 적으로 구현함에 있어, 종래에는 크게 문제가 되지 않았던 저장 공간의 크기의 증가 및 반도체 상의 집적 회로로 구현 시 반도체 상의 면적의 증가가 문제점으로 대두되었으며, 이들 문제점을 개선한 히스토그램 등화 과정의 새로운 하드웨어 적인 구현 방법이 필요하게 되었다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 많은 수의 레지스터를 사용하지 않고도 간단한 회로 구성에 의하여 히스토그램 등화 과정에 필요한 누적 분포도를 얻을 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 하나의 데이터 경로를 반복적으로(iteratively) 이용하여 히스토그램 등화 과정에 필요한 누적 분포도를 얻을 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래 기술의 문제점을 해결하기 위하여, 본 발명의 히스토그램 등화 장치는 메모리 및 상기 메모리로부터 읽어들인 제1 데이터 및 제2 데이터를 합산한 결과를 상기 메모리 내의 상기 제2 데이터의 위치에 오버라이트하는 연산부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 히스토그램 등화 장치는 메모리, 어드레스가 외부에서 입력될 때마다, 상기 어드레스에 대응하는 상기 메모리의 데이터의 값을 1만큼 증가시킨 값을 상기 메모리에 오버라이트하는 분포도 생성부, 및 상기 분포도 생성부의 연산 결과로 상기 메모리에 저장된 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 상기 메모리에 저장하는 누적 분포도 생성부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 히스토그램 등화 방법은 어드레스가 외부에서 입력될 때마다, 상기 어드레스에 대응하는 상기 메모리의 데이터의 값을 업데이트하여 메모리에 저장하는 단계 및 상기 업데이트된 상기 메모리의 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 상기 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 많은 수의 레지스터를 사용하지 않고도 간단한 회로 구성에 의하여 히스토그램 등화 과정에 필요한 누적 분포도를 얻을 수 있는 장치 및 방법의 구현이 가능하다.
또한, 본 발명에 따르면 하나의 데이터 경로를 반복적으로(iteratively) 이용하여 히스토그램 등화 과정에 필요한 누적 분포도를 얻을 수 있는 장치 및 방법의 구현이 가능하다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 히스토그램 등화 과정을 도시하는 도면이다.
도 1을 참조하면, 히스토그램 등화 과정은 4 x 6 개의 화소를 가지는 화면의 영상 데이터에 관한 것으로서, 영상 데이터의 명도는 0부터 15까지이며, 명도에 대응하는 분포도(110)를 누적 합산하여 누적 분포도(120)를 계산한다.
분포도(110)은 명도 각각이 영상 데이터에서 나타나는 회수이다.
명도 i에 대한 분포도를 x(i)라 하면, 명도 i에 대한 누적 분포도 c(i)는 하기 수학식 1과 같이 나타내어진다.
[수학식 1]
Figure 112007052155829-PAT00001
여기서, j는 합산을 위한 매개 인덱스이다.
히스토그램 등화 과정은 누적 분포도(120)에 변환 계수를 곱하여 열(130)을 생성한다.
이 때, 변환 계수는 (명도의 최대값) / (영상 데이터의 전체 픽셀 개수)이다. 본 실시예에서는, 명도의 최대값은 15이고, 영상 데이터의 전체 픽셀 개수는 24개이다.
히스토그램 등화 과정은 열(130)의 값의 정수 부분만을 취하여 변환 후 명도(140)를 생성한다.
이 때, 히스토그램 등화 과정은 분포도(110)가 0이 아닌 명도에 대해서만 변환 후 명도(140)를 계산할 수 있다.
히스토그램 등화 과정은 변환 후 명도(140)의 값을 명도에 대응시켜 화면에 디스플레이할 수 있다. 명도 3의 변환 후 명도는 0이므로, 픽셀의 명도가 3인 경우, 화면에 상기 픽셀의 명도를 0으로 조정하여 디스플레이할 수 있다. 마찬가 지로, 명도 6의 변환 후 명도는 9이므로, 픽셀의 명도가 6인 경우, 화면에 상기 픽셀의 명도를 9로 조정하여 디스플레이할 수 있다.
상기 히스토그램 등화 과정에 의하여, 영상 데이터의 히스토그램의 분포가 확산된다. 따라서, 전체적으로 명도가 낮아 식별하기 힘든 영상 데이터를 상기 히스토그램 등화 과정에 의하여 식별하기 쉽게 변환할 수 있다.
도 2는 본 발명의 일 실시예에 따른 히스토그램 등화 과정이 적용되기 전의 히스토그램을 나타낸 도면이다.
도 2의 히스토그램의 가로축은 명도이고, 세로축은 분포도(110)이다.
도 3은 본 발명의 일 실시예에 따른 히스토그램 등화 과정이 적용된 후 의 히스토그램을 나타낸 도면이다.
도 3의 히스토그램의 가로축은 변환 후 명도(140)이고, 세로축은 분포도(110)이다.
본 발명의 다른 실시예에 따른 히스토그램 등화 과정은 명도에 대응하는 분포도 대신 확률 분포 함수(probability density function, PDF)를 이용한다.
이 경우, 명도 i에 대응하는 확률 분포 함수 y(i)는 x(i)를 전체 픽셀 개수 n으로 나눈 값과 같다.
히스토그램 등화 과정은 누적 분포도 대신 누적 분포 함수(cumulative distribution function)를 이용한다. 명도 i에 대응하는 누적 분포 함수는 확률 분포 함수 y(i)를 누적 합산한 값이다.
본 발명의 또 다른 실시예에 따른 히스토그램 등화 과정은 히스토그램 명 도 값의 분포도를 조사한다.
히스토그램 등화 과정은 히스토그램 중 분포도가 0이 아닌 가장 낮은 명도 값을 찾는다.
히스토그램 등화 과정은 히스토그램 중 분포도가 0이 아닌 가장 높은 명도 값을 찾는다.
히스토그램 등화 과정은 상기 가장 높은 명도 값 및 상기 가장 낮은 명도 값에 기초하여 각각의 명도 별로 변환 계수를 계산한다.
히스토그램 등화 과정은 픽셀의 명도 각각에 상기 계산된 변환 계수를 곱하여 새로운 명도를 계산하고, 새로운 명도에 따라 각 픽셀을 디스플레이한다.
도 4는 본 발명의 일 실시예에 따른 히스토그램 등화 장치를 나타내는 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 히스토그램 등화 장치는 메모리(410) 및 연산부(420)를 포함한다.
연산부(420)는 메모리(410)로부터 읽어들인(411) 제1 데이터 및 제2 데이터를 합산한 결과를 메모리(410) 내의 제2 데이터의 위치에 오버라이트한다(421).
이 때, 연산부(420)는 레지스터를 포함할 수 있다. 레지스터는 제1 데이터를 저장하여 유지하고, 연산부(420)는 레지스터에서 출력된 제1 데이터 및 제2 데이터를 합산할 수 있다.
이 때, 연산부(420)는 다중화기를 포함할 수 있다. 다중화기는 제어 신호에 따라 '1'의 값을 가지는 데이터를 출력하거나, 제1 데이터를 출력할 수 있다.
도 5는 본 발명의 일 실시예에 따른 히스토그램 등화 장치의 연산부(420)를 상세히 나타낸 도면이다.
도 5를 참조하면, 연산부(420)는 가산기(510), 다중화기(520), 레지스터(530) 및 다중화기(540)를 포함한다.
가산기(510)는 다중화기(540)의 출력 및 메모리(410)로부터 읽어들인 데이터를 합산한다.
다중화기(520)는 '0' 및 가산기(510)의 출력 중 어느 하나를 선택하여 출력한다.
레지스터(530)는 시스템 클럭에 대응하여 동작한다. 레지스터(530)는 다중화기(520)의 출력을 저장하여 유지하고, 유지된 데이터를 다음 클럭에 출력한다.
다중화기(540)는 '1' 및 레지스터(530)의 출력 중 어느 하나를 선택하여 출력한다.
만일 다중화기(520) 및 다중화기(540)의 제어 신호가 각각 '0'인 경우를 가정하면, 다중화기(520)는 가산기(510)의 출력을 레지스터(530)로 전달한다. 가산기(510)의 출력을 제1 데이터라 하면, 레지스터(530)는 제1 데이터를 저장하여 다음 클럭에 출력한다.
다음 클럭에서는, 레지스터(530)는 제1 데이터를 출력하고, 가산기(510)는 메모리(410)로부터 제2 데이터를 읽어들인다.
다중화기(540)는 레지스터(530)의 출력을 가산기(510)로 전달하므로, 가산기(510)는 다중화기(540)로부터 전달받은 제1 데이터 및 메모리(410)로부터 읽어들 인 제2 데이터를 합산하여 메모리(410)에 오버라이트한다.
이 때, 메모리(410)의 어드레스는 제2 데이터에 대응하는 어드레스이므로, 제1 데이터 및 제2 데이터를 합산한 값은 제2 데이터의 위치에 오버라이트된다.
즉, 연산부(420)는 메모리(410)로부터 제1 및 제2 데이터를 읽어들여 합산한 결과를 메모리(410) 내의 제2 데이터의 위치에 오버라이트한다.
만일 다중화기(520) 및 다중화기(540)의 제어 신호가 각각 '1'인 경우를 가정하면, 다중화기(520)는 '0'을 레지스터(530)로 전달한다. 따라서, 레지스터(530)는 '0'을 출력한다.
다중화기(540)는 레지스터(530)에 저장된 값에 관계 없이 '1'을 가산기(510)로 출력한다. 가산기(510)가 메모리(410)로부터 읽어들인 데이터를 제3 데이터라 하면, 가산기(510)는 제3 데이터의 값을 1 증가시킨 값을 메모리(410)에 오버라이트한다.
이 때, 메모리(410)의 어드레스는 제3 데이터의 위치에 대응하는 어드레스이므로, 제3 데이터의 값을 1 증가시킨 값은 제3 데이터의 위치에 오버라이트된다.
즉, 연산부(420)는 메모리(410)로부터 제3 데이터를 읽어들이고, 읽어들인 데이터의 값을 1 증가시킨 값을 메모리(410)의 제3 데이터의 위치에 오버라이트한다.
이 때, 연산부(420)는 제1 동작 시간 동안 다중화기(520) 및 다중화기(540)의 제어 신호를 각각 '0'으로 할 수 있다. 연산부(420)는 제 1 동작 시간 동안 메모리(410)로부터 제1 데이터 및 제2 데이터를 읽어들이고, 제1 데이터 및 제2 데이터를 합산한 결과를 메모리(410) 내의 제2 데이터의 위치에 오버라이트한다.
이 때, 연산부(420)는 제2 동작 시간 동안 다중화기(520) 및 다중화기(540)의 제어 신호를 각각 '1'로 할 수 있다. 연산부(420)는 제2 동작 시간 동안 메모리(410)로부터 제3 데이터를 읽어들이고, 제3 데이터의 값을 1 증가시킨 값을 메모리(410) 내의 제3 데이터의 위치에 오버라이트한다.
이 때, 제1 동작 시간은 제2 동작 시간 경과 후일 수 있다.
실시예에 따라, 연산부(420)는 제2 동작 시간 동안 어드레스 각각이 입력된 빈도수만큼 어드레스 각각에 대응하는 데이터를 증가시킨다.
도 6은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 6을 참조하면, 히스토그램 등화 장치는 메모리(610), 연산부(620), 리셋부(630)를 포함한다.
리셋부(630)는 연산부(620)가 동작하지 않는 동안 메모리(610)에 저장된 모든 데이터를 리셋한다. 리셋부(630)는 '0' 및 연산부(620)의 출력 중 어느 하나를 선택하여 출력하는 다중화기로 이루어진다. 연산부(620)가 동작하지 않는 동안 리셋부(630)의 다중화기의 제어 신호가 '0'이 되면, 다중화기는 '0'을 메모리(610)로 전달한다.
메모리(610)가 어드레스를 0부터 최대값까지 순차적으로 변화시키면, 모든 어드레스에 대응하는 데이터가 '0'이 되어 메모리(610)가 리셋된다.
도 7은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 7을 참조하면, 히스토그램 등화 장치는 어드레스 제어부(710), 메모리(720) 및 연산부(730)를 포함한다.
어드레스 제어부(710)는 제1 동작 시간 동안 메모리(720)의 모든 가능한 어드레스를 순차적으로 발생시켜 메모리(720)에 입력하고, 제2 동작 시간 동안 외부에서 입력되는 외부 어드레스를 메모리(720)에 입력한다.
연산부(730)는 제2 동작 시간 동안 어드레스 각각이 입력된 빈도수만큼 메모리(720) 내의 어드레스 각각에 대응하는 데이터를 증가시킨다.
어드레스 제어부(710)는 제1 동작 시간 동안 메모리(720)의 어드레스를 0부터 최대값까지 순차적으로 발생시킨다. 연산부(730)는 제1 동작 시간 동안 메모리(720)의 인접한 어드레스에 대응하는 두 데이터를 합산하여 인접한 어드레스 중 큰 어드레스에 대응하는 위치에 오버라이트할 수 있다.
도 8은 도 7의 어드레스 제어부(710)의 구성의 일 실시예를 도시하는 도면이다.
도 8을 참조하면, 어드레스 제어부(710)는 내부 어드레스 카운터(810) 및 다중화기(820)를 포함한다.
제1 동작 시간 동안에는 다중화기(820)의 제어 신호는 '1'로 고정된다. 다중화기(820)는 내부 어드레스 카운터(810)의 어드레스를 전달받아 메모리(720)로 전달한다.
제2 동작 시간 동안에는 다중화기(820)의 제어 신호는 '0'으로 고정된다. 다중화기(820)는 외부 입력 어드레스를 메모리(720)로 전달한다.
내부 어드레스 카운터(810)는 0부터 메모리(720)의 어드레스의 최대값까지 순차적으로 어드레스를 발생시킨다.
본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치는 메모리, 연산부 및 히스토그램 등화기를 포함할 수 있다.
히스토그램 등화기는 메모리로부터 데이터를 읽어들이고, 읽어들인 데이터에 히스토그램 등화 과정을 수행하여 출력한다.
이 때, 히스토그램 등화 과정은 메모리로부터 읽어들인 데이터에 어드레스의 최대값을 곱하고, 데이터의 최대값으로 나누는 것일 수 있다.
이 때, 메모리에 저장된 데이터는 영상 데이터이고, 히스토그램 등화 과정은 영상 데이터에 명도의 최대값을 곱하고, 영상 데이터의 전체 픽셀 개수로 나누는 것일 수 있다.
이 때, 상기 영상 데이터는 적색, 녹색, 및 청색 중 적어도 하나의 색으로 이루어질 수 있다.
예를 들어, 명도가 8 비트로 표시되면, 명도가 취할 수 있는 값의 범위는 "0" 부터 "255" 까지이고, 명도의 최대값은 255이다. 영상 데이터가 320 x 240 화면에 대응하는 것이라면, 전체 픽셀의 개수는 76800 개이다.
영상 데이터는 적색, 녹색 및 청색의 세기를 평균하여 하나의 명도에 대응하는 것일 수도 있고, 적색, 녹색 및 청색 각각에 대해 별도의 히스토그램 등화 과 정을 수행할 수도 있다.
도 9는 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 9를 참조하면, 히스토그램 등화 장치는 메모리(910), 분포도 생성부(920), 누적 분포도 생성부(930)를 포함한다.
분포도 생성부(920)는 어드레스가 외부에서 입력될 때마다, 상기 어드레스에 대응하는 메모리(910)의 데이터의 값을 1만큼 증가시킨 값을 메모리(910)에 오버라이트한다.
분포도 생성부(920)가 미리 설정된 동작 시간, 예를 들어, 제2 동작 시간 동안 동작한다면, 제2 동작 시간이 종료된 뒤에 메모리(910)에 저장되어 있는 데이터는 어드레스 각각에 대응하는 분포도 데이터이다.
누적 분포도 생성부(930)는 분포도 생성부(920)의 연산 결과로 메모리(910)에 저장된 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 메모리(910)에 저장한다.
제2 동작 시간 종료 뒤에는 메모리(910)에 저장된 데이터는 어드레스 각각에 대응하는 분포도 데이터이므로, 누적 분포도 생성부(930)는 분포도 데이터 각각을 순차적으로 읽어들여 누적 합산한다.
이 때, 누적 분포도 생성부(930)는 메모리(910)로부터 연속된 제1 분포도 데이터 및 제2 분포도 데이터를 순차적으로 읽어들이고, 제1 데이터 및 제2 데이터를 합산하여 누적 분포도 데이터를 생성한다. 누적 분포도 생성부(930)는 메모 리(910) 내의 제2 분포도 데이터의 위치에 상기 합산된 누적 분포도 데이터를 오버라이트한다.
히스토그램 등화 장치는 메모리(910)에 저장된 모든 데이터를 리셋하는 리셋부를 더 포함할 수 있다. 리셋부는 분포도 생성부(920) 및 누적 분포도 생성부(930)가 동작하지 않는 시간 동안에 메모리(910)에 저장된 모든 데이터를 리셋한다.
히스토그램 등화 장치는 메모리(910)로부터 읽어들인 데이터에 히스토그램 등화 과정을 수행하여 출력하는 히스토그램 등화기를 더 포함할 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 히스토그램 등화 방법은 어드레스가 외부에서 입력될 때마다, 어드레스에 대응하는 메모리의 데이터의 값을 업데이트하여 메모리에 저장한다(S1010).
히스토그램 등화 방법은 업데이트된 메모리의 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 상기 메모리에 저장한다(S1020).
단계(S1020)는 메모리로부터 연속된 제1 데이터 및 제2 데이터를 순차적으로 읽어들이고, 제1 데이터 및 제2 데이터를 합산하여 메모리 내의 제2 데이터의 위치에 오버라이트할 수 있다.
히스토그램 등화 방법은 메모리 내에 저장된 분포도 데이터를 모두 리셋할 수 있다. 히스토그램 등화 방법은 단계(S1010) 및 단계(S1020)가 수행되지 않는 시간 동안에 메모리 내에 저장된 분포도 데이터를 모두 리셋할 수 있다.
히스토그램 등화 방법은 누적 분포도 데이터에 히스토그램 등화 과정을 수행하여 출력할 수 있다. 히스토그램 등화 과정에는 위에서 설명한 내용 또는 공지의 히스토그램 등화 과정이 포함될 수 있다.
만일 메모리에 저장된 데이터가 영상 데이터이면, 히스토그램 등화 과정은 영상 데이터에 명도의 최대값을 곱하고, 곱한 값을 영상 데이터의 전체 픽셀 개수로 나눌 수 있다.
도 11은 본 발명의 일 실시예에 따른 히스토그램 등화 방법을 설명하기 위한 타이밍도이다.
도 11을 참조하면, 메모리에 입력되는 신호 WEN은 메모리의 읽기/쓰기 동작을 제어한다.
신호 ADDR은 메모리에 입력되는 어드레스이다.
WEN이 "1"이면 연산부는 메모리로부터 어드레스에 대응하는 데이터를 읽어들이고, WEN이 "0"이면 연산부는 메모리 내의 어드레스에 대응하는 위치에 데이터를 오버라이트한다.
신호 PDF는 확률 밀도 함수(probability density function)를 의미하며, 연산부에서 출력되어 메모리에 오버라이트되는 데이터이다.
첫번째 어드레스 구간에서 ADDR이 "181"이고 WEN이 "0"일 때 PDF가 "684"이므로 메모리 내의 어드레스 "181"에 대응하는 위치에 "684"가 저장된다.
세번째 어드레스 구간에서 ADDR이 다시 "181"이고 WEN이 "1"일 때, 연산부 는 메모리 내의 어드레스 "181"에 대응하는 위치에 저장된 "684"를 읽어들인다.
WEN이 "0"이 되었을 때, 연산부는 읽어들인 "684"에 1을 더한 값 "685"를 메모리 내의 어드레스 "181"에 대응하는 위치에 오버라이트한다.
신호 WENS는 메모리에 입력되어 메모리의 읽기/쓰기 동작을 제어한다.
신호 ADRS는 메모리에 입력되는 순차적 어드레스로서, 인접한 어드레스를 순차적으로 발생시키는 내부 어드레스 카운터에 의하여 생성되는 신호이다.
신호 CDF는 누적 분포 함수(cumulative distribution function)를 의미하며, 연산부에서 출력되어 메모리에 오버라이트되는 데이터이다.
첫번째 순차적 어드레스 구간에서 ADRS가 "0"이고 WENS가 "0"일 때 CDF가 "4"이므로 메모리 내의 어드레스 "0"에 대응하는 위치에 "4"가 저장된다.
두번째 순차적 어드레스 구간에서 ADRS가 "1"이고 WENS가 "1"일 때, 연산부는 메모리 내의 어드레스 "1"에 대응하는 위치에 저장된 "21"을 읽어들인다.
WENS가 "0"이 되었을 때, 연산부는 읽어들인 "21"에 이전 순차적 어드레스 구간에서 읽어들인 값 "4"를 합산한 값 "25"를 메모리 내의 어드레스 "1"에 대응하는 위치에 오버라이트한다.
세번째 순차적 어드레스 구간에서 ADRS가 "2"이고 WENS가 "1"일 때, 연산부는 메모리 내의 어드레스 "2"에 대응하는 위치에 저장된 "12"를 읽어들인다.
WENS가 "0"이 되었을 때, 연산부는 읽어들인 "12"에 이전 순차적 어드레스 구간에서 읽어들인 값 "25"를 합산한 값 "37"을 메모리 내의 어드레스 "2"에 대응하는 위치에 오버라이트한다.
실시예에 따라서는, 상기 PDF 대신 분포도 데이터를, 상기 CDF 대신 누적 분포도 데이터를 이용할 수도 있다.
실시예에 따라서는, 히스토그램 등화 방법은 이하에서 설명하는 상태 머신(state machine)을 이용하여 구현될 수 있다.
상태 S0는 아이들(idle) 상태를 의미한다.
상태 S1은 메모리 초기화 상태를 의미한다. 유효한 데이터를 입력 받기 전에 메모리의 모든 데이터를 초기화한다.
상태 S2는 PDF 생성 상태를 의미한다. 유효한 데이터를 메모리의 읽기/쓰기 어드레스로 이용하여 어드레스에 대응하는 데이터를 읽어들인 다음, 읽어들인 데이터에 '1'을 합산하여 다시 메모리 내의 어드레스에 대응하는 위치에 오버라이트한다.
상태 S3은 CDF 생성 상태를 의미한다. 유효한 데이터의 전송이 완료되면, 메모리에 저장되어 있는 데이터를 순차적으로 읽어들여 이전 어드레스의 값을 누산하여 CDF를 생성한다.
상태 머신은 상기 S0부터 S3까지의 4가지 상태 각각을 가리키는 플래그 신호(flag signal)를 생성하고, 현재 상태에서 다음 상태로의 천이(transition)를 유발하는 조건이 충족되면 다음 상태로 천이함과 동시에 플래그 신호를 천이되는 상태에 대응하도록 설정한다.
본 발명에 따른 누적 분포도 생성 방법은 다양한 컴퓨터 수단을 통하여 수 행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 히스토그램 등화 과정을 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 히스토그램 등화 과정이 적용되기 전의 히스토그램을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 히스토그램 등화 과정이 적용된 후 의 히스토그램을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 히스토그램 등화 장치를 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 히스토그램 등화 장치의 연산부(420)를 상세히 나타낸 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 8은 도 7의 어드레스 제어부(710)의 구성의 일 실시예를 도시하는 도면이다.
도 9는 본 발명의 또 다른 실시예에 따른 히스토그램 등화 장치를 나타낸 블록도이다.
도 10은 본 발명의 또 다른 실시예에 따른 히스토그램 등화 방법을 나타낸 동작 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 히스토그램 등화 방법을 설명하기 위한 타이밍도이다.
<도면의 주요 부분에 대한 부호의 설명>
410: 도면 420: 연산부

Claims (22)

  1. 메모리; 및
    상기 메모리로부터 제1 데이터 및 제2 데이터를 읽어들이고, 상기 읽어들인 제1 및 제2 데이터를 합산한 결과를 상기 메모리 내의 상기 제2 데이터의 위치에 오버라이트하는 연산부
    를 포함하는 히스토그램 등화 장치.
  2. 제1항에 있어서,
    상기 연산부는
    상기 메모리로부터 제3 데이터를 읽어들이고, 상기 읽어들인 제3 데이터의 값을 1 증가시킨 값을 상기 제3 데이터의 위치에 오버라이트하는 것을 특징으로 하는 히스토그램 등화 장치.
  3. 제2항에 있어서,
    상기 연산부는
    제 1 동작 시간 동안, 상기 제1 데이터 및 제2 데이터를 읽어들여 상기 합산한 결과를 오버라이트하고,
    제2 동작 시간 동안, 상기 메모리로부터 제3 데이터를 읽어들여 상기 제3 데이터의 값을 1 증가시킨 값을 상기 제3 데이터의 위치에 오버라이트하는 것을 특 징으로 하는 히스토그램 등화 장치.
  4. 제3항에 있어서,
    상기 제1 동작 시간은 상기 제2 동작 시간 후인 것을 특징으로 하는 히스토그램 등화 장치.
  5. 제3항에 있어서,
    상기 제1 동작 시간 동안 상기 메모리의 모든 가능한 어드레스를 순차적으로 발생시켜 상기 메모리에 입력하고, 상기 제2 동작 시간 동안 외부에서 입력되는 외부 어드레스를 상기 메모리에 입력하는 어드레스 제어부
    를 더 포함하는 히스토그램 등화 장치.
  6. 제1항에 있어서,
    상기 연산부가 동작하지 않는 동안 상기 메모리에 저장된 모든 데이터를 리셋하는 리셋부
    를 더 포함하는 히스토그램 등화 장치.
  7. 제1항에 있어서,
    상기 메모리로부터 데이터를 읽어들이고, 상기 읽어들인 데이터에 히스토그램 등화 과정을 수행하여 출력하는 히스토그램 등화기
    를 더 포함하는 히스토그램 등화 장치.
  8. 제7항에 있어서,
    상기 히스토그램 등화 과정은
    상기 메모리로부터 읽어들인 데이터에 어드레스의 최대값을 곱하고, 데이터의 최대값으로 나누는 것을 특징으로 하는 히스토그램 등화 장치.
  9. 제7항에 있어서,
    상기 메모리에 저장된 데이터는 영상 데이터이고,
    상기 히스토그램 등화 과정은 상기 영상 데이터에 명도의 최대값을 곱하고, 상기 영상 데이터의 전체 픽셀 개수로 나누는 것을 특징으로 하는 히스토그램 등화 장치.
  10. 제9항에 있어서,
    상기 영상 데이터는
    적색, 녹색, 및 청색 중 적어도 하나의 색으로 이루어지는 것을 특징으로 하는 히스토그램 등화 장치.
  11. 제2항에 있어서,
    상기 연산부는
    제어 신호에 따라 1의 값을 가지는 데이터를 출력하거나, 상기 제1 데이터를 출력하는 다중화기
    를 포함하는 히스토그램 등화 장치.
  12. 제1항에 있어서,
    상기 연산부는
    상기 제1 데이터를 저장하여 유지하고, 상기 제2 데이터와 합산되도록 상기 유지된 제1 데이터를 출력하는 레지스터
    를 포함하는 히스토그램 등화 장치.
  13. 메모리;
    어드레스가 외부에서 입력될 때마다, 상기 어드레스에 대응하는 상기 메모리의 데이터의 값을 1만큼 증가시킨 값을 상기 메모리에 오버라이트하여 분포도 데이터를 저장하는 분포도 생성부; 및
    상기 저장된 분포도 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 상기 메모리에 저장하는 누적 분포도 생성부
    를 포함하는 히스토그램 등화 장치.
  14. 제13항에 있어서,
    상기 누적 분포도 데이터는 순차적으로 읽어들인 제1 분포도 데이터 및 제 2 분포도 데이터를 합산하여 생성되고,
    상기 누적 분포도 생성부는 상기 생성된 누적 분포도 데이터를 상기 제2 데이터의 위치에 오버라이트하여 저장하는 것을 특징으로 하는 히스토그램 등화 장치.
  15. 제13항에 있어서,
    상기 메모리에 저장된 모든 데이터를 리셋하는 리셋부
    를 더 포함하는 히스토그램 등화 장치.
  16. 제13항에 있어서,
    상기 메모리로부터 읽어들인 데이터에 히스토그램 등화 과정을 수행하여 출력하는 히스토그램 등화기
    를 더 포함하는 히스토그램 등화 장치.
  17. 어드레스가 외부에서 입력될 때마다, 상기 어드레스에 대응하는 상기 메모리의 데이터의 값을 업데이트하여 메모리에 저장하는 단계; 및
    상기 업데이트된 상기 메모리의 데이터 각각을 순차적으로 읽어들여 누적 합산한 누적 분포도 데이터를 상기 메모리에 저장하는 단계
    를 포함하는 히스토그램 등화 방법.
  18. 제17항에 있어서,
    상기 누적 분포도 데이터를 저장하는 단계는
    상기 메모리로부터 연속된 제1 데이터 및 제2 데이터를 순차적으로 읽어들이고, 상기 제1 데이터 및 상기 제2 데이터를 합산하여 상기 제2 데이터의 위치에 오버라이트하는 것을 특징으로 하는 히스토그램 등화 방법.
  19. 제17항에 있어서,
    상기 저장된 분포도 데이터를 모두 리셋하는 단계
    를 더 포함하는 히스토그램 등화 방법.
  20. 제17항에 있어서,
    상기 누적 분포도 데이터에 히스토그램 등화 과정을 수행하여 출력하는 단계
    를 더 포함하는 히스토그램 등화 방법.
  21. 제20항에 있어서,
    상기 메모리에 저장된 데이터는 영상 데이터이고,
    상기 히스토그램 등화 과정은 상기 영상 데이터에 명도의 최대값을 곱하고, 상기 영상 데이터의 전체 픽셀 개수로 나누는 것을 특징으로 하는 히스토그램 등화 방법.
  22. 제17항 내지 제21항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070071951A 2007-07-18 2007-07-18 히스토그램 등화 장치 및 방법 KR20090008745A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070071951A KR20090008745A (ko) 2007-07-18 2007-07-18 히스토그램 등화 장치 및 방법
US11/873,438 US20090021648A1 (en) 2007-07-18 2007-10-17 Histogram equalizer and histogram equalization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070071951A KR20090008745A (ko) 2007-07-18 2007-07-18 히스토그램 등화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20090008745A true KR20090008745A (ko) 2009-01-22

Family

ID=40264543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070071951A KR20090008745A (ko) 2007-07-18 2007-07-18 히스토그램 등화 장치 및 방법

Country Status (2)

Country Link
US (1) US20090021648A1 (ko)
KR (1) KR20090008745A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170001681U (ko) 2015-11-05 2017-05-15 홍정혜 자동 계란 분리기

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108211B2 (en) * 2007-03-29 2012-01-31 Sony Corporation Method of and apparatus for analyzing noise in a signal processing system
US8711249B2 (en) * 2007-03-29 2014-04-29 Sony Corporation Method of and apparatus for image denoising
US8144985B2 (en) * 2007-12-21 2012-03-27 Sony Corporation Method of high dynamic range compression with detail preservation and noise constraints

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979555A (en) * 1975-05-27 1976-09-07 Hughes Aircraft Company Histogram equalization system for display improvement
US4730212A (en) * 1984-01-04 1988-03-08 Itek Corporation Realtime digital diagnostic image processing system
US7068841B2 (en) * 2001-06-29 2006-06-27 Hewlett-Packard Development Company, L.P. Automatic digital image enhancement
WO2007012030A2 (en) * 2005-07-19 2007-01-25 Verimatrix, Inc. Covert and robust mark for media identification
US7746411B1 (en) * 2005-12-07 2010-06-29 Marvell International Ltd. Color management unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170001681U (ko) 2015-11-05 2017-05-15 홍정혜 자동 계란 분리기

Also Published As

Publication number Publication date
US20090021648A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
US11044410B2 (en) Imaging control method and apparatus, electronic device, and computer readable storage medium
TWI662842B (zh) 圖像傳感器及輸出方法、相位對焦方法、成像裝置和行動裝置
CN107924554B (zh) 图像处理流水线中对图像数据的多速率处理
CN102045506B (zh) 图像处理装置及图像处理方法
JP6502947B2 (ja) 高ダイナミックレンジ画像をトーンマッピングする方法及びデバイス
TW201444364A (zh) 用於照相機控制的方式
CN102693538A (zh) 生成高动态范围图像的全局对准
WO2018099009A1 (zh) 控制方法、控制装置、电子装置和计算机可读存储介质
CN112202986B (zh) 图像处理方法、图像处理装置、可读介质及其电子设备
KR20050009694A (ko) 브래킷된 이미지 시퀀스로부터 고 동적 범위 이미지를생성하는 시스템 및 프로세스
JP2014510339A (ja) 局所マルチスケールトーンマッピングオペレータ
WO2018098982A1 (zh) 图像处理方法、图像处理装置、成像装置及电子装置
CN111885312B (zh) Hdr图像的成像方法、系统、电子设备及存储介质
JP2010503056A (ja) 画像の強調の方法及び装置
KR20090008745A (ko) 히스토그램 등화 장치 및 방법
JP5152203B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像補正装置
CN102054423B (zh) 图像处理装置及其控制方法
JP5072751B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN113962859A (zh) 一种全景图生成方法、装置、设备及介质
US8675963B2 (en) Method and apparatus for automatic brightness adjustment of image signal processor
US20220021802A1 (en) Systems and methods for dynamic range compression in multi-frame processing
CN112967208A (zh) 一种图像处理方法、装置、电子设备及存储介质
JP2009049752A (ja) 映像信号処理装置、映像信号処理方法、及び表示装置
CN113194267B (zh) 图像处理方法及装置、拍照方法及装置
JP2011010163A (ja) 画像処理装置、画像処理方法及び画像処理プログラム

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