KR102317613B1 - 로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들 - Google Patents

로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR102317613B1
KR102317613B1 KR1020167035982A KR20167035982A KR102317613B1 KR 102317613 B1 KR102317613 B1 KR 102317613B1 KR 1020167035982 A KR1020167035982 A KR 1020167035982A KR 20167035982 A KR20167035982 A KR 20167035982A KR 102317613 B1 KR102317613 B1 KR 102317613B1
Authority
KR
South Korea
Prior art keywords
pixel
image
histogram
value
output value
Prior art date
Application number
KR1020167035982A
Other languages
English (en)
Other versions
KR20170012383A (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 퀄컴 인코포레이티드
Publication of KR20170012383A publication Critical patent/KR20170012383A/ko
Application granted granted Critical
Publication of KR102317613B1 publication Critical patent/KR102317613B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • G06T5/007
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Picture Signal Circuits (AREA)

Abstract

이미지 프레임들의 콘트라스트를 개선하기 위한 시스템들 및 방법들이 개시된다. 일 실시형태에서, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템은, 이미지 프레임에 대한 강도 히스토그램을 생성하고, 히스토그램의 강도 범위 상에 마커들의 세트를 정의하고, 각각의 마커에 블렌드 팩터를 할당하고, 이미지의 각각의 오리지널 픽셀에 대한 블렌드 팩터를 계산하고, 제 1 등화된 픽셀 출력 값을 획득하고, 블렌드 팩터, 제 1 등화된 픽셀 출력 값, 및 오리지널 픽셀 값을 사용하여 최종 등화된 픽셀 출력 값을 계산하며, 출력 이미지를 구성하는 새로운 픽셀 값들을 출력하도록 구성된 제어 모듈을 포함한다.

Description

로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR LOCALIZED CONTRAST ENHANCEMENT}
본원에 개시된 시스템들 및 방법들은 일반적으로, 이미지들 및 비디오의 콘트라스트 향상에 관한 것이다.
콘트라스트 향상은, 통상적으로 이미지의 보다 어두운 부분들에서 발견되는 디테일들을 향상시킴으로써, 이미지들 및 비디오를 뷰어에게 "더 잘" 또는 더 좋게 보이게 하는데 사용된다. 콘트라스트 향상을 위한 방법들은 매우 단순하고 비-콘텐트 적응형의 솔루션들 (예를 들어, 루마 스트레치, 감마 커브들) 에서 매우 복잡한 솔루션들 (트루 로컬라이징된 방법들, 예를 들어 큰 스케일의 샤프하지 않은 마스킹 또는 윈도우-기반 히스토그램 등화) 까지의 범위에 이른다. 그러나, 이미지의 강도 값들이 이미 전체 강도 범위에 걸쳐 있는 경우, 이들 스킴들의 일부는 효율적이지 않을 수도 있다. 이들 스킴들의 일부는 또한, 바람직하지 않은 픽처의 넓은 영역들에서 밝기 시프트들을 야기할 수도 있다.
본 개시물의 시스템들, 방법들 및 디바이스들 각각은 여러 혁신적인 양태들을 갖고, 이들 중 어느 단 하나도 단독으로 본원에 개시된 바람직한 속성들의 원인이 되지는 않는다. 본원에 설명된 혁신들, 양태들 및 피처들의 조합들은 시스템들, 방법들, 및 디바이스들의 다양한 실시형태들에 포함될 수 있고, 이러한 조합들은 본원에 설명된 실시형태들의 예들에 의해 제한되지 않는다.
본원에 설명된 실시형태들 및 혁신들은 이미지들 또는 비디오들의 로컬라이징된 향상을 포함하도록 전자 디바이스용 프로세서에서 실행될 수도 있는 시스템들 및 방법들에 관한 것이다. 바람직하게는, 로컬라이징된 콘트라스트 향상 방법들은 광범위한 제어들을 갖고, 기존의 하드웨어 또는 소프트웨어에서 구현될 수 있다. 그러나, 일부 실시형태들에서 특별히 설계된 하드웨어 및 소프트웨어는 이러한 프로세스들의 속도 또는 효율성들을 개선할 수도 있다. 일부 실시형태들에서, 유사한 알고리즘은, 환경광 (ambient light) 레벨에 기초하여 콘트라스트 향상과 태양광 가시성 모드들 간에 동적으로 스위칭함으로써 태양광에서 보여지는 경우 모바일 디바이스 디스플레이의 가시성을 개선하는데 사용될 수도 있다.
일부 실시형태들에서, 콘트라스트 제한된 히스토그램 등화는 히스토그램 등화 알고리즘을 적용하기 전에 입력 이미지의 히스토그램을 수정하기 위해 수행된다.
일 양태는 이미지 프레임들의 콘트라스트를 개선시키기 위한 시스템에 관한 것이다. 시스템은 제어 모듈을 포함하고, 상기 제어 모듈은 복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 것으로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 히스토그램은 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하고, 이미지의 히스토그램의 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 것으로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하고, 적어도 하나의 마커 블렌드 팩터에 기초하여 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하고, 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하고, 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 것으로서, 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값은 그 픽셀의 픽셀 블렌드 팩터, 그 픽셀의 제 1 등화된 픽셀 출력 값, 및 그 픽셀의 오리지널 픽셀 값에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하도록 구성된다. 시스템은 이미징 센서를 포함하는 이미징 디바이스를 더 포함할 수도 있다. 일부 실시형태들에서, 제어 모듈은 모바일 디바이스용 카메라 애플리케이션의 컴포넌트이다. 일부 실시형태들에서, 마커들은 강도 값들의 범위에 걸쳐 균등하게 이격된다. 일부 실시형태들에서, 특정 픽셀에 대해, 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초한다. 일부 실시형태들에서, 제어 모듈은 또한, 각각의 픽셀에 대해 제 1 등화된 픽셀 출력 값들을 획득하도록 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하도록 구성된다. 일부 실시형태들에서, 제어 모듈은 또한, 랜덤 노이즈 값을 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값에 추가하도록 구성된다. 일부 실시형태들에서, 제어 모듈은 또한, 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하도록 구성된다. 일부 실시형태들에서, 강도 값들의 범위 중 낮은 강도 값 영역들에서 정의된 블렌드 팩터들은 히스토그램의 높은 강도 값 영역들에서 정의된 블렌드 팩터들보다 더 높은 가중치를 갖는다. 일부 실시형태들에서, 각각의 마커에 대한 블렌드 팩터는 적어도 부분적으로 환경광 레벨에 기초한다.
다른 양태에서, 이미지 프레임들의 콘트라스트를 개선하는 방법은, 복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 단계로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 히스토그램은 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하는 단계, 이미지의 히스토그램의 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하는 단계, 적어도 하나의 마커 블렌드 팩터에 기초하여 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하는 단계, 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하는 단계, 및 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 단계로서, 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값은 그 픽셀의 픽셀 블렌드 팩터, 그 픽셀의 제 1 등화된 픽셀 출력 값, 및 그 픽셀의 오리지널 픽셀 값에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하는 단계를 포함한다. 일부 실시형태들에서 마커들은 강도 값들의 범위를 따라 균등하게 이격된다. 일부 실시형태들에서, 특정 픽셀에 대해, 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초한다. 일부 실시형태들에서, 방법은, 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하여 각각의 픽셀에 대해 제 1 등화된 픽셀 출력 값들을 획득하는 단계를 더 포함한다. 일부 실시형태들에서, 방법은, 랜덤 노이즈 값을 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값에 추가하도록 랜덤 노이즈 팩터를 추가하는 단계를 더 포함한다. 일부 실시형태들에서, 방법은 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하는 단계를 더 포함한다. 일부 실시형태들에서, 이미지의 히스토그램 표현의 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계는 환경광 레벨에 의해 적어도 부분적으로 결정된다. 일부 실시형태들에서, 각각의 마커에 대한 블렌드 팩터를 결정하는 것은 환경광 레벨에 의해 적어도 부분적으로 결정된다.
또 다른 양태에서, 이미지 프레임들의 콘트라스트를 개선하기 위한 장치는, 복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하기 위한 수단으로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 히스토그램은 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하기 위한 수단, 이미지의 히스토그램의 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하기 위한 수단으로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하기 위한 수단, 적어도 하나의 마커 블렌드 팩터에 기초하여 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하기 위한 수단, 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하기 위한 수단, 및 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하기 위한 수단으로서, 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값은 그 픽셀의 픽셀 블렌드 팩터, 그 픽셀의 제 1 등화된 픽셀 출력 값, 및 그 픽셀의 오리지널 픽셀 값에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하기 위한 수단을 포함한다.
다른 양태에서, 비일시적 컴퓨터 판독가능 매체는, 실행되는 경우, 적어도 하나의 물리적 컴퓨터 프로세서로 하여금 이미지 프레임들의 콘트라스트를 개선하는 방법을 수행하게 하는 명령들을 저장한다. 이 방법은, 복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 단계로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 히스토그램은 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하는 단계, 이미지의 히스토그램의 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하는 단계, 적어도 하나의 마커 블렌드 팩터에 기초하여 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하는 단계, 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하는 단계, 및 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 단계로서, 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값은 그 픽셀의 픽셀 블렌드 팩터, 그 픽셀의 제 1 등화된 픽셀 출력 값, 및 그 픽셀의 오리지널 픽셀 값에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하는 단계를 포함한다. 일부 실시형태들에서 마커들은 강도 값들의 범위에 걸쳐 균등하게 이격된다. 일부 실시형태들에서, 특정 픽셀에 대해, 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초한다. 일부 실시형태들에서, 방법은, 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하여 각각의 픽셀에 대해 제 1 등화된 픽셀 출력 값들을 획득하는 단계를 포함한다. 일부 실시형태들에서, 방법은 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값에 랜덤 노이즈 값을 추가하는 단계를 포함한다. 일부 실시형태들에서, 방법은 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하는 단계를 포함한다. 일부 실시형태들에서, 이미지의 히스토그램 표현의 강도 값들의 범위의 적어도 부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계는 환경광 레벨에 의해 적어도 부분적으로 결정된다. 일부 실시형태들에서, 각각의 마커에 대한 블렌드 팩터를 결정하는 것은 환경광 레벨에 의해 적어도 부분적으로 결정된다.
개시된 양태들은 이하에서 개시된 양태들을 제한하지 않고 예시하도록 제공된 첨부 도면들과 함께 이하에서 설명될 것이며, 여기서 유사한 부호들은 유사한 엘리먼트들을 가리킨다.
도 1a 는 히스토그램 등화 기법 (또는 프로세스) 을 적용하기 전의 이미지의 일 예를 예시한다.
도 1b 는 도 1a 의 이미지의 픽셀 강도들을 예시하는 히스토그램이다.
도 2a 는 히스토그램 등화 기법을 적용한 후의 이미지의 일 예를 예시한다.
도 2b 는 도 2a 의 이미지의 픽셀 강도들을 예시하는 히스토그램이다.
도 3 은 콘트라스트 향상 프로세스의 부분으로서 이미지 히스토그램에 적용된 클립핑 (clipping) 또는 임계화 (thresholding) 의 일 예이다.
도 4 는 이미지의 로컬라이징된 향상을 위해 일부 동작 엘리먼트들을 구현하는 시스템을 도시하는 블록도이다.
도 5 는 이미지의 로컬라이징된 향상을 위한 프로세스의 일 예를 예시하는 플로우차트이다.
도 6 은 이미지의 로컬라이징된 콘트라스트 향상을 위한 프로세스를 예시하는 개략도이다.
도 7 은 로컬라이징된 콘트라스트 향상 프로세스의 부분으로서 복수의 마커들 및 연관된 블렌드 팩터들의 배치를 예시하는 이미지의 픽셀 강도들의 히스토그램이다.
도 8 은 로컬라이징된 콘트라스트 향상 프로세스의 소프트웨어 구현의 일 예를 예시하는 개략도이다.
도 9a 는 로컬라이징된 콘트라스트 향상 프로세스를 적용하기 전의 이미지의 일 예이다.
도 9b 는 로컬라이징된 콘트라스트 향상 프로세스를 적용한 후의 도 9b 의 이미지이다.
도 10 은 디스플레이가 태양광을 이용하여 직접적으로 또는 간접적으로 조명되는 경우, 전자 디바이스의 디스플레이의 가시성을 개선하기 위한 프로세스, 즉, 전자 디바이스에 대한 태양광 가시성 개선을 위한 프로세스를 예시하는 플로우차트이다.
도 11 은 전자 디바이스에 대한 태양광 가시성 개선을 위한 프로세스의 일 예를 예시하는 개략도이다.
본원에 사용된 바와 같이, "이미지 히스토그램" 은 일반적으로, 디지털 이미지의 픽셀 데이터의 토널 분포 (tonal distribution) 를 나타내는 그래픽 예시인 히스토그램의 유형을 지칭한다. 히스토그램은 각각의 토널 값 ("밝기" 또는 "강도" 값으로도 지칭될 수도 있음) 에서 픽셀들의 수를 나타낸다. 특정 이미지에 대한 이러한 히스토그램의 검사는 이미지의 전체 토널 분포를 뷰어에게 표시할 것이다. 이미지 히스토그램들은 또한, 이미지가 보여지는 경우 또는 이미지를 사용하는 프로세싱 동안 브라운-아웃 하이라이트들 또는 블랙-아웃 섀도우들로 인해 이미지 디테일이 손실되었을 가능성이 있는지 여부를 결정하는데 사용될 수 있다. 히스토그램 등화는 이미지의 히스토그램을 사용하여 이미지의 콘트라스트 향상을 수행하기 위하여 많은 이미지 프로세싱 파이프라인들에서 사용될 수도 있다. 히스토그램 등화는, 더 낮은 로컬 콘트라스트의 영역들이 더 높은 콘트라스트를 얻도록 이미지의 가장 빈번한 강도 값들을 확산시키는 것을 수반하는 향상 프로세스의 유형이다. 다시 말해, 히스토그램 등화는, 적은 수의 픽셀들을 갖는 히스토그램의 영역들을 압축하면서 다수의 픽셀들을 갖는 히스토그램의 영역들을 스트레칭함으로써 콘트라스트 향상을 수행한다. 히스토그램을 스트레칭하는 것은, 이들 픽셀들의 동적 범위가 증가하고 이에 의해 콘트라스트를 향상시키는 것을 의미한다. 히스토그램 등화는 정의 콘텐트 적응에 의한 것이고, 입력 이미지의 분포 함수를 사용하여 입력-출력 픽셀 맵핑을 연산한다. 그러나, 히스토그램 등화는 바람직하지 않게 이미지의 컨투어링을 포함하는, 이미지에 대한 매우 큰 변화들을 야기할 수 있다.
도 1a 및 도 1b 는 히스토그램 등화를 사용하는 예를 예시한다. 도 1a 는, 픽셀의 강도 (또는 밝기) 를 나타내는 픽셀 값을 각각 갖는 복수의 픽셀들을 갖는 이미지의 일 예이다. 도 1b 는 히스토그램 등화 프로세스 (또는 기법) 이 이미지의 픽셀 데이터에 적용되기 전에 도 1a 에 도시된 이미지에 대응하는 이미지 히스토그램을 예시한다. 이미지 히스토그램의 이 예에서, 히스토그램은 x-축을 따라 톤 또는 강도 값들 (가끔, "빈들" 로서 지칭됨) 을 그리고 y-축을 따라 각각의 빈에서 (또는 각각의 톤 또는 강도의) 픽셀들의 수를 예시한다. 도 1b 에 도시된 이미지 히스토그램은 이미지의 픽셀 값들이 나타낼 수도 있는 전 범위의 강도들에 대해 압축된 것으로 나타난다. 예를 들어, 도 1b 는 픽셀 값들의 모두 (또는 거의 모두) 가 약 120 내지 200 의 강도 범위에 분포된 강도 (또는 톤) 를 갖는 것을 예시하고, 여기서 총 강도 범위는 0 내지 255 이다.
도 2a 는 히스토그램 등화 기법이 이미지에 적용된 후에 도 1a 의 이미지를 예시한다. 도 2b 는 도 2a 에 도시되는 수정된 이미지의 결과의 이미지 히스토그램을 예시한다. 도 2b 에서 알 수 있는 바와 같이, 토널 강도 (tonal intensity) 값들이 히스토그램 등화가 적용되기 전보다 (x-축을 따라) 0 내지 255 의 강도들의 전체 범위에 걸쳐 더 많이 분포되고 120 내지 200 의 강도 범위에 덜 집중되도록, 이미지 히스토그램은 스트레칭된 것으로 나타난다. 도 2a 에 도시된, 결과의 이미지는 상응하여, (도 1a 에 도시된) 오리지널 이미지보다 더 넓은 범위의 톤들을 나타내지만, 또한 도 2b 에 예시된 강도 값들에서 볼 수 있는 바와 같이 이미지의 픽셀들의 강도 값들에서의 갭들로 인해 바람직하지 않은 "컨투어링 (contouring)" 을 갖는다. 즉, 강도 값들은 여러 소정 값들에 있고, 이 소정 값들은 하나보다 많은 강도 값에 의해 분리된다. 도 1b 및 도 2b 의 각각에서 블랙 라인은 히스토그램 값들의 누적합을 나타낸다. 이 라인은 0 의 초기 값을 갖고, 그 최종 값은 이미지에서 픽셀들의 총 수이다. 도 1b 에서, 이 라인은 매우 빠르게 상승하여, 이미지에서 픽셀들의 대부분이 120 내지 200 의 강도 범위에 집중되는 것을 나타낸다. 도 2b 에서, 이 라인은 더욱 더 점진적으로 증가하는데, 이것은 히스토그램이 등화 절차의 결과로서 더 균등하게 확산된 것을 의미한다.
콘트라스트 향상은 많은 소비자 전자 디바이스들, 예컨대 텔레비전, 미디어 플레이어들, 셋 톱 박스들, 모바일 폰들, 태블릿들, 랩톱들 등의 픽처 품질을 개선시키는데 사용될 수도 있다. 강도 값들의 선형 스트레칭을 통해 이미지의 동적 범위를 증가시키고 감마 커브들을 적용함으로써 단순한 콘트라스트 향상이 행해질 수 있다. 그러나, 픽셀들이 전체 강도 범위에 이미 걸쳐 있는 경우, 이들 스킴들은 효과적이지 않을 수도 있다. 부가적으로, 이들 스킴들은 또한, 이미지 또는 비디오의 넓은 영역들에서 바람직하지 않은 밝기 시프트들을 야기할 수도 있다. 이하에서 논의되는 방법들 및 시스템들은 이전의 콘트라스트 향상 접근들의 부족한 것들을 회피하는 이미지들 및 비디오들의 로컬라이징된 콘트라스트 향상을 포함하는 전반적인 프로세싱 솔루션을 제공한다.
일부 실시형태들에서, 로컬라이징된 콘트라스트 향상은, 그 자체가 통상적인 히스토그램 등화 알고리즘의 수정들인 기존의 콘트라스트 제한된 히스토그램 등화 프로세스 (contrast limited histogram equalization processes; CLHE) 에 도입될 수도 있다. CLHE 는 히스토그램 등화 (HE) 를 적용하기 전의 입력 이미지의 히스토그램을 수정한다. CLHE 에서, 히스토그램이 클립핑되어 피크들을 감소시키도록 오리지널 이미지의 히스토그램에 임계 (threshold) 가 적용된다. 클립핑 스테이지에서 손실되는 픽셀들은 토널 분포의 나머지 빈들에 균등하게 분포될 수도 있다. 규칙적인 (즉, 콘트라스트 제한되지 않은) 히스토그램 등화는 그 후, 변형된 히스토그램을 사용하여 이미지 상에 적용된다. 히스토그램 수정은 오리지널 이미지 히스토그램을 고르게 하고, 출력에서 컨투어링을 야기할 수 있는 큰 피크들을 제거한다. 결과의 이미지 향상은 그러므로, 규칙적인 히스토그램 등화를 적용한 것 만큼 강하지 않다. 로컬 콘트라스트 향상은 통상적으로, 이미지의 큰 부분들 (또는 "윈도우들") 을 개별적으로 프로세싱함으로써 행해진다; 그러나, 이러한 기법들은 연산 집약적 (computationally intensive) 일 수 있고 따라서 상당한 하드웨어 리소스들을 필요로 하거나, 또는 긴 소프트웨어 프로세싱 시간들을 초래할 수도 있다.
도 3 은 콘트라스트 제한된 히스토그램 등화가 적용될 수도 있는 이미지 히스토그램의 일 예를 예시한다. 좌측에 도시된, 오리지널 이미지 (304) 의 히스토그램은 임계 값에 의해 제한되어 (또는 클램핑되어), 우측 상의 수정된 히스토그램 (306) 에 의해 도시된 바와 같이 피크들을 감소시킨다. 클램핑 스테이지에서 손실되는 픽셀들은 히스토그램 (306) 의 나머지 빈들에 균등하게 분포된다; 이 프로세스는 화살표 (302) 로 표현된다. 규칙적인 히스토그램 등화는 그 후, 수정된 히스토그램에 적용된다. 히스토그램 수정은 히스토그램을 평활화하고 출력에서 컨투어링을 야기할 수 있는 큰 피크들을 감소시키는 역할을 한다. 이 복합 프로세스로부터의 결과적 향상은 따라서, 직선 히스토그램 등화 프로세스로부터의 결과적 향상만큼 강하지 않다.
본원에 논의된 로컬라이징된 콘트라스트 향상 실시형태들은 이미지 또는 비디오 데이터에 전반적인 변화들을 적용하는 대신에 콘트라스트를 국부적으로 수정 또는 향상시킨다. 로컬라이징된 콘트라스트 향상은 바람직하게 콘텐트 적응적이고, 이미지의 중간 또는 밝은 영역들을 시프트시키거나 향상시키지 않고 이미지 또는 비디오의 어두운 영역들을 향상시킨다. 따라서, 더 좋은 시각적 효과는 중간 또는 밝은 영역들보다 어두운 영역들을 더 많이 향상시킴으로써 바람직하게 달성된다. 본원에 논의된 실시형태들은 (히스토그램 등화형 알고리즘들에 기초하여) 이미지 또는 비디오를 전반적으로 프로세싱하지만 이미지 또는 비디오를 국부적으로 향상시키는 효율적인 콘트라스트 향상 알고리즘을 제공한다. 이들 실시형태들은 바람직하게, 트루 로컬라이징된 콘트라스트 향상 알고리즘들보다 소프트웨어나 하드웨어에서 구현하기에 더 단순하다.
예들은 프로세스로서 설명될 수도 있으며, 프로세스는 플로우차트, 흐름도, 유한 상태도, 구조도, 또는 블록도로 도시되는 것이 주목된다. 플로우차트는 동작들을 순차적인 프로세스로 설명할 수도 있지만, 동작들 중 많은 것들이 병렬로, 또는 동시에 수행될 수 있고, 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료되는 경우 종료된다. 프로세스는 방법, 함수 (function), 프로시저 (procedure), 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 소프트웨어 함수에 대응하면, 그 종료는 호출 함수 또는 메인 함수로의 함수의 리턴에 대응한다.
실시형태들은 시스템-온-칩 (SoC) 또는 외부 하드웨어, 소프트웨어, 펌웨어, 또는 이의 임의의 조합으로 구현될 수도 있다. 당업자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들어, 상기 설명 전체에 걸쳐 언급될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기 필드들 또는 입자들, 광학 필드들 또는 입자들, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
다음의 설명에서, 예들에 대한 완전한 이해를 제공하기 위해 특정 세부사항들이 주어진다. 그러나, 예들은 이들 특정 세부사항들이 없이 실시될 수도 있음이 당업자에 의해 이해될 것이다. 예를 들어, 불필요한 세부사항으로 예들을 모호하게 하지 않기 위해 전기 컴포넌트들/디바이스들은 블록도들로 도시될 수도 있다. 다른 경우들에서, 이러한 컴포넌트들, 다른 구조물들, 및 기법들은 예들을 추가로 설명하기 위해 상세히 도시될 수도 있다.
시스템 개관
도 4 는 획득된 이미지 또는 비디오의 콘트라스트를 향상시키도록 구성된 시스템 (100) 의 일 예를 예시한다. 예시된 실시형태들은 제한적인 것으로 의미되는 것이 아니라, 오히려 일부 실시형태들에서 소정 컴포넌트들을 예시한다. 시스템 (100) 은 예시된 컴포넌트들의 명확성을 위해 도시되지 않은 다른 기능들에 대한 다양한 다른 컴포넌트들을 포함할 수도 있다.
시스템 (100) 은 이미징 디바이스 (110) 및 전자 디스플레이 (130) 를 포함할 수도 있다. 전자 디스플레이 (130) 의 소정 실시형태들은 임의의 평판 디스플레이 기술, 예를 들어 LED, LCD, 플라즈마, 또는 프로젝션 스크린일 수도 있다. 전자 디스플레이 (130) 는 사용자에게 시각적 디스플레이를 위해 정보를 수신하는 프로세서 (120) 에 커플링될 수도 있다. 이러한 정보는 메모리 로케이션에 저장된 파일들의 시각적 표현, 프로세서 (120) 상에 인스톨된 소프트웨어 애플리케이션들, 사용자 인터페이스들, 및 네트워크-액세스가능 콘텐트 오브젝트들을 포함할 수도 있지만, 이에 한정되지는 않는다.
이미징 디바이스 (110) 는 이미징 센서들 중 하나 또는 이들의 조합을 이용할 수도 있다. 시스템 (100) 은 이미징 디바이스 (110) 에 연결된 프로세서 (120) 를 더 포함할 수 있다. 작업 메모리 (135), 전자 디스플레이 (130), 및 프로그램 메모리 (140) 가 또한 프로세서 (120) 와 통신한다. 시스템 (100) 은 모바일 디바이스, 예를 들어 태블릿, 랩톱 컴퓨터, 또는 셀룰러 전화일 수도 있다. 다른 실시형태들에서, 시스템 (100) 은 텔레비전 또는 데스크톱 컴퓨터일 수도 있다.
프로세서 (120) 는 범용 프로세싱 유닛일 수도 있거나, 또는 핸드헬드 전자 디바이스용 이미징 애플리케이션들에 대해 특별히 설계된 프로세서일 수도 있다. 도시된 바와 같이, 프로세서 (120) 는 프로그램 메모리 (140) 및 작업 메모리 (135) 에 접속되고, 이들과 데이터 통신한다. 일부 실시형태들에서, 작업 메모리 (135), 예를 들어 캐시 메모리는 프로세서 (120) 에 포함될 수도 있다. 작업 메모리 (135) 는 또한, 프로세서 (120) 로부터 분리되고, 프로세서 (120) 에 커플링된 컴포넌트, 예를 들어 하나 이상의 RAM 또는 DRAM 컴포넌트들일 수도 있다. 다시 말해, 도 4 가 여러 모듈들을 포함하는 메모리 컴포넌트 (140), 및 작업 메모리를 포함하는 별개의 메모리 (135) 를 포함하는 2 개의 메모리 컴포넌트들을 예시하나, 당업자는 상이한 메모리 아키텍처들을 이용하는 여러 실시형태들을 인지할 것이다. 예를 들어, 설계는 메모리 (140) 에 포함된 모듈들을 구현하는 프로세서 명령들의 저장을 위해 ROM 또는 정적 RAM 메모리를 이용할 수도 있다. 프로세서 명령들은 그 다음에 RAM 내로 로딩되어 프로세서에 의한 실행을 용이하게 할 수도 있다. 예를 들어, 작업 메모리 (135) 는, 명령들이 프로세서 (120) 에 의한 실행 전에 작업 메모리 (135) 내에 로딩되어 있는, RAM 메모리일 수도 있다.
예시된 실시형태에서, 프로그램 메모리 (140) 는 이미지 캡처 모듈 (145), 마커 정의 모듈 (150), 블렌드 팩터 계산 모듈 (155), 콘트라스트 제한된 히스토그램 등화 (CLHE) 계산 모듈 (157), 블렌딩 모듈 (160), 동작 시스템 (165), 및 사용자 인터페이스 모듈 (170) 을 저장한다. 이들 모듈들은 다양한 이미지 프로세싱 및 디바이스 관리 태스크들을 수행하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 프로그램 메모리 (140) 는 임의의 적합한 컴퓨터 판독가능 저장 매체, 예를 들어 비일시적 저장 매체일 수 있다. 작업 메모리 (135) 는 메모리 (140) 의 모듈들에 포함된 프로세서 명령들의 작업 세트를 저장하기 위해 프로세서 (120) 에 의해 사용될 수도 있다. 대안으로, 작업 메모리 (135) 는 또한, 이미징 디바이스 (100) 의 동작 동안 생성된 동적 데이터를 저장하기 위해 프로세서 (120) 에 의해 사용될 수도 있다.
전술된 바와 같이, 프로세서 (120) 는 메모리 (140) 에 저장된 여러 개의 모듈들에 의해 구성될 수도 있다. 다시 말해, 프로세서 (120) 는 메모리 (140) 에서의 모듈들에 저장된 명령들을 실행할 수 있다. 이미지 캡처 모듈 (145) 은 이미징 디바이스로부터 이미지들을 획득하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 따라서, 이미지 캡처 모듈 (145), 이미징 디바이스 (110), 및 작업 메모리 (135) 와 함께 프로세서 (120) 는 이미지 센서 데이터를 획득하기 위한 하나의 수단을 나타낸다.
도 4 를 여전히 참조하면, 메모리 (140) 는 또한, 소정의 마커 정의 모듈 (150) 을 포함할 수도 있다. 마커 정의 모듈 (150) 은 이하에서 더 상세히 설명되는 바와 같이, 블렌드 팩터 또는 값과 연관되는 이미지 히스토그램의 강도 범위 상에 마커들의 세트를 정의하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 마커들 및 블렌드 팩터들은 요망되는 향상 유형에 기초하여 프로그래밍될 수도 있다. 이들 넘버들의 프로그래밍은 다소 경험적이고, 경험 및 출력의 시각적 인지에 기초한다. 통상적인 마커 배치에서, 더 큰 수의 마커들은 더 강한 향상이 요망되는 히스토그램의 영역들에 배치된다. 이들 마커들은 또한, 그들과 연관된 상위 블렌드 팩터들을 갖는다. 더 약하거나 덜한 향상이 요망되는 다른 영역들에서는, 더 적은 마커들이 배치될 수도 있고 이들 마커들의 블렌드 팩터들은 더 낮아질 수도 있다. 마커들의 수 및 배치는 또한, 디스플레이의 유형, 디스플레이의 출력 응답, 향상의 세기 (예컨대, 낮은, 중간 및 높은 설정들), (스포츠, 시네마, 게임과 같은) 향상의 모드 등에 따라 조정될 수도 있다. 따라서, 마커 정의 모듈 (150), 및 작업 메모리 (135) 와 함께 프로세서 (120) 는 이미지 히스토그램의 강도 범위 상에 마커들을 정의하기 위한 하나의 수단을 나타낸다.
메모리 (140) 는 또한, 블렌드 팩터 계산 모듈 (155) 을 포함할 수도 있다. 블렌드 팩터 계산 모듈 (155) 은, 이하에서 더 상세히 논의되는 바와 같이, 이미지의 각각의 입력 픽셀에 대해 블렌드 팩터 (β) 를 계산하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 예를 들어, 프로세서 (120) 는 이미지의 각각의 입력 픽셀에 대한 블렌드 팩터 (β) 를 계산하고 블렌드 팩터들을 작업 메모리 (135) 또는 저장 디바이스 (125) 에 저장하도록 블렌드 팩터 계산 모듈 (155) 에 의해 명령받을 수도 있다. 일 실시형태에서, 각각의 입력 픽셀에 대한 블렌드 팩터 (β) 는 입력 픽셀과 2 개의 인접한 마커들 사이의 거리를 결정하고, 이 거리를 사용하여 2 개의 인접한 마커들의 블렌드 팩터들을 보간함으로써 계산될 수도 있다. 따라서, 마커 정의 모듈 (150), 블렌드 팩터 계산 모듈 (155), 및 작업 메모리 (135) 와 함께 프로세서 (120) 는 이미지의 각각의 입력 픽셀에 대한 블렌드 팩터들을 계산 및 저장하기 위한 하나의 수단을 나타낸다.
메모리 (140) 는 또한, 콘트라스트 제한된 히스토그램 등화 계산 모듈 (157) 을 포함할 수도 있다. 도 4 에 예시된 콘트라스트 제한된 히스토그램 등화 계산 모듈 (157) 은 이미지 히스토그램에 콘트라스트 제한된 히스토그램 등화를 적용함으로써 각각의 입력 픽셀 (yIN) 에 대해 CLHE 출력 값 (yCLHE) 을 계산하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 따라서, 콘트라스트 제한된 히스토그램 등화 계산 모듈 (157) 및 작업 메모리 (135) 와 함께 프로세서 (120) 는 이미지의 각각의 입력 픽셀에 대한 CLHE 출력 값을 생성하기 위한 하나의 수단을 나타낸다.
메모리 (140) 는 또한, 블렌딩 모듈 (160) 을 포함할 수도 있다. 도 4 에 예시된 블렌딩 모듈 (160) 은 블렌드 팩터들 (β), 입력 픽셀 값들 (yIN), 및 CLHE 출력 값들 (yCLHE) 을 사용하여 이미지의 각각의 픽셀의 출력 값을 계산하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 따라서, 마커 정의 모듈 (150), 블렌드 팩터 계산 모듈 (155), 콘트라스트 제한된 히스토그램 등화 계산 모듈 (157), 블렌딩 모듈 (160), 및 작업 메모리 (135) 와 함께 프로세서 (120) 는 이미지의 각각의 픽셀에 대한 출력 값을 계산하기 위한 하나의 수단을 나타낸다.
메모리 (140) 는 또한, 사용자 인터페이스 모듈 (170) 을 포함할 수도 있다. 도 4 에 예시된 사용자 인터페이스 모듈 (170) 은 온 디스플레이 (on-display) 객체들의 콜렉션 및 사용자가 디바이스와 상호작용을 하는 것을 허용하는 소프트 제어들을 제공하도록 프로세서 (120) 를 구성하는 명령들을 포함할 수도 있다. 사용자 인터페이스 모듈 (170) 은 또한, 애플리케이션들이 시스템의 나머지와 상호작용하는 것을 허용한다. 동작 시스템 모듈 (165) 은 또한, 메모리 (140) 에 상주하고, 프로세서 (120) 와 동작하여 시스템 (100) 의 메모리 및 프로세싱 리소스들을 관리할 수도 있다. 예를 들어, 동작 시스템 (165) 은 하드웨어 리소스들, 예를 들어 전자 디스플레이 (130) 또는 이미징 디바이스 (110) 를 관리하기 위한 디바이스 드라이버들을 포함할 수도 있다. 일부 실시형태들에서, 마커 정의 모듈 (150) 및 블렌드 팩터 계산 모듈 (155) 에 포함된 명령들은 이들 하드웨어 리소스들과 직접적으로 상호작용하는 것이 아니라, 대신에 오퍼레이팅 시스템 (165) 에 위치된 API들 또는 표준 서브루틴들을 통해 상호작용할 수도 있다. 오퍼레이팅 시스템 (165) 내의 명령들은 그 다음에 이들 하드웨어 컴포넌트들과 직접적으로 상호작용할 수도 있다.
프로세서 (120) 는 저장 모듈 (125) 에 데이터를 기입할 수도 있다. 저장 모듈 (125) 이 전통적인 디스크 디바이스로서 표현되지만, 당업자들은, 다수의 실시형태들이 메모리 디스크, USB 드라이브, 플래시 드라이브, 원격 접속된 저장 매체, 가상 디스크 드라이버 등을 포함하는 여러 다른 타입들의 저장 매체들 중의 하나 또는 디스크 기반 저장 디바이스 중 어느 일방을 포함할 수 있음을 이해할 것이다.
도 4 는 프로세서, 이미징 디바이스, 전자 디스플레이, 및 메모리를 포함하는 것으로 별개의 컴포넌트들을 포함하는 디바이스를 도시하지만, 당업자는 이들 별개의 컴포넌트들이 특정 설계 목적들을 달성하기 위해 다양한 방식들로 결합될 수도 있음을 인식할 것이다. 예를 들어, 대안의 실시형태에서, 메모리 컴포넌트들은 프로세서 컴포넌트들과 결합되어 비용을 절약하고 성능을 개선시킬 수도 있다.
부가적으로, 도 4 는 여러 모듈들을 포함하는 메모리 컴포넌트 (140), 및 작업 메모리를 포함하는 별개의 메모리 (135) 를 포함하는 2 개의 메모리 컴포넌트들을 예시하지만, 당업자는 상이한 메모리 아키텍처들을 이용하는 여러 실시형태들을 인식할 것이다. 예를 들어, 설계는 메모리 (140) 에 포함된 모듈들을 구현하는 프로세서 명령들의 저장을 위해 ROM 또는 정적 RAM 메모리를 이용할 수도 있다. 대안으로, 프로세서 명령들은 이미징 시스템 (100) 안에 통합되거나 외부 디바이스 포트를 통해 접속되는 디스크 저장 디바이스로부터 시스템 시동 시에 판독될 수도 있다. 프로세서 명령들은 그 다음에 RAM 내로 로딩되어 프로세서에 의한 실행을 용이하게 할 수도 있다. 예를 들어, 작업 메모리 (135) 는, 프로세서 (120) 에 의한 실행 전에 작업 메모리 (135) 내에 로딩되는 명령들을 갖는, RAM 메모리일 수도 있다.
방법 개관
본 발명의 실시형태들은 전반적으로 적용되는 이미지 또는 비디오의 로컬라이징된 콘트라스트 향상을 위한 프로세스에 관한 것이다. 예들은 프로세스로서 설명될 수도 있으며, 이 프로세스는 플로우차트, 흐름도, 유한 상태도, 구조도, 또는 블록도로서 도시된다. 플로우차트가 동작들을 순차적인 프로세스로서 설명할 수도 있지만, 동작들 중 많은 것들이 병렬로, 또는 동시에 수행될 수 있고, 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료되는 경우 종료된다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 소프트웨어 함수에 대응하면, 그 종료는 호출 함수 또는 메인 함수로의 함수의 리턴에 대응한다.
도 5 는 도 4 에 도시된 모듈들 중 하나 이상에서 구현될 수도 있는 이미지 또는 비디오 데이터 상에서 로컬라이징된 콘트라스트 향상을 수행하도록 전자 디바이스를 구성하기 위한 프로세스 (500) 의 일 실시형태의 하나의 예를 예시한다. 일부 예들에서, 프로세스 (500) 는 프로세서, 예를 들어 프로세서 (120)(도 4) 상에서, 그리고 다른 하드웨어 또는 소프트웨어에 통합되거나 메모리 (140) 에 저장되는 도 4 에 예시된 다른 컴포넌트들 상에서 실행될 수도 있다.
프로세스 (500) 는 블록 502 에서 시작하여 블록 504 로 이행되고, 여기서 프로세서, 예를 들어 프로세서 (120) 는 오리지널 이미지 히스토그램의 강도 범위 상에 마커들의 세트를 정의하도록 명령받는다. 일부 실시형태들에서, 6-8 개의 마커들이 강도 범위 상에 정의될 수도 있다. 이미지 히스토그램의 강도 범위 위에 고르게 분포된 7 개의 마커들의 일 예가 도 7 에 도시된다. 일부 실시형태들에서, 도 7 에 도시된 것과 같이, 마커들은 히스토그램의 강도 범위를 따라 균등하게 이격된다. 다른 실시형태들에서, 마커들은 히스토그램의 강도 범위를 따라 균등하게 이격되지 않는다. 마커들은 도 4 에 대하여 전술된 바와 같이 배치 및 분포될 수도 있다.
프로세스 (500) 는 그 후, 블록 506 으로 이행되고, 여기서 프로세서는 블렌드 팩터 또는 값과 각각의 마커를 연관시키도록 명령받는다. 도 7 에 예시된 바와 같이, 블렌드 팩터들은, 이미지의 더 어두운 영역들이 더 중하게 가중되도록 각각의 마커에 할당될 수도 있다. 이것은 바람직하게, 이미지의 중간 내지 밝은 영역들은 적은 양만큼 향상되거나 전혀 향상되지 않으면서 이미지의 어두운 영역들을 더 향상시키는 것을 초래할 것이다. 일단 각각의 마커에 블렌드 값들이 할당되었으면, 도 4 에 대하여 전술된 바와 같이 프로세스 (500) 는 블록 508 로 이행된다.
블록 508 에서, 프로세서는 이미지의 각각의 오리지널 픽셀에 대한 블렌드 팩터 (β) 를 계산하도록 명령받는다. 예를 들어, 모든 입력 픽셀 (yIN) 에 대해, 블렌드 팩터 (β) 는 픽셀의 어느 일 측 상에 놓이는 2 개의 인접한 마커들로부터 픽셀의 거리를 찾고, 이 거리를 사용하여 2 개의 인접한 마커들의 블렌드 값들을 사용하여 픽셀에 대한 블렌드 팩터를 보간함으로써 계산될 수도 있다.
프로세스 (500) 는 다음으로 블록 510 으로 이행되고, 여기서 프로세서는 이미지 히스토그램에 콘트라스트 제한된 히스토그램 등화를 전반적으로 적용하도록 명령받는다. 전술된 바와 같이, 콘트라스트 제한된 히스토그램 등화 (CLHE) 에서, 오리지널 입력 이미지의 히스토그램은 임계화 또는 클램핑에 의해 수정되어 피크들이 두드러지는 것을 감소시킨다. 클램핑 스테이지에서 손실되는 픽셀들은 도 3 에 도시된 바와 같이 나머지 빈들에 균등하게 분포된다. 일 실시형태에서, 분포될 필요가 있는 픽셀들의 총 수는 클램핑에 의해 영향을 받지 않는 빈들의 수에 의해 나누어진다. 이 픽셀들의 평균 수는 그 후, 클램핑되지 않은 모든 히스토그램 빈에 추가된다. 이 재분포 절차는 수정된 히스토그램을 계산하도록 수행되고, 바람직하게는 노이즈를 도입하는 가능성을 감소시키기 위해 실제 이미지 상에서 수행되지 않는다. 이것은 출력의 원하지 않은 컨투어링을 감소시킬 수 있는 더 평활한 히스토그램을 초래한다. 입력 이미지 상에서 CLHE 를 수행하는 것은 CLHE 값, yCLHE 을 갖는 각각의 픽셀을 초래한다. 프로세스 (500) 는 다음으로 블록 512 로 이행되고, 여기서 프로세서는 각각의 픽셀의 출력 값을 계산하도록 명령받는다. 일부 실시형태들에서, 각각의 픽셀의 출력 값 yOUT 는 픽셀의 블렌드 팩터 (β), 픽셀의 입력 값 (yIN), 및 CLHE 프로세스에 의해 연산된 바와 같은 픽셀의 값 yCLHE 를 사용하여 다음과 같이 계산될 수도 있다:
Figure 112016126228888-pct00001
식 (1)
입력 값 및 등화된 값을 블렌딩함으로써 각각의 픽셀의 출력 값을 연산한 후에, 식 1 에 도시된 바와 같이, 프로세스 (500) 는 블록 514 로 이행되고, 여기서 프로세서는 출력 이미지를 구성하는 새로운 픽셀 값들을 출력하도록 명령받는다. 프로세스 (500) 는 그 후, 블록 516 로 이행되고, 종료된다.
비디오의 프레임을 그 히스토그램에 기초하여 수정하는 것은 그 히스토그램을 연산하는 동안 프레임이 저장되는 것을 요구한다. 프레임 저장은 통상적인 비디오/디스플레이 시스템들에 대해 비싸기 때문에, 도 5 에 도시된 로컬라이징된 향상 프로세스 (500) 는, 히스토그램이 통상적으로 2 개의 연속적인 프레임들 사이에서 크게 변하지 않기 때문에 프레임 N-1 의 히스토그램을 사용하여 프레임 N 을 프로세싱하도록 쉽게 수정될 수 있다. 본원에 설명된 로컬라이징된 향상 프로세스는 HSV 의 V, YCbCr 에서의 Y 등과 같은 컬러 이미지의 임의의 강도 표현에 적용될 수 있다.
도 6 은 전술된 프로세스 (500) 의 하나의 하드웨어 구현 (600) 을 그래프로 나타낸다. 예시된 바와 같이, 마커 값들 및 각각의 마커에 대한 블렌드 팩터들은 각각의 픽셀에 대한 블렌드 팩터 (β) 를 계산하는데 사용된다. 각각의 픽셀의 콘트라스트 제한된 히스토그램 등화된 값, yCLHE 및 블렌드 팩터 (β) 는, 오리지널 픽셀 값들 (yIN) 과 함께, 픽셀 출력 값 yOUT 을 계산하기 위해 블렌딩 계산 (식 1) 에서 사용된다. 비디오의 프레임들과 같은, 일련의 이미지들을 수정하기 위해 프로세스 (500) 가 도 6 에서 도시된 것과 같은 하드웨어 구현에서 행해지면, 제 1 메모리가 프레임 N 의 히스토그램을 누산하는 동안 제 2 메모리는 프레임 N 의 픽셀들을 수정하기 위해 프레임 N-1 의 누적 분포 함수 (cumulative distribution function; CDF) 를 저장하는데 사용될 수도 있다. 대안으로, 이들 2 개의 메모리들은 각각의 이미지 프레임들의 히스토그램을 어셈블링하기 위해 작동할 수 있다.
도 8 은 전술된 프로세스 (500) 의 하나의 소프트웨어 구현 (800) 을 그래프로 나타낸다. 도 8 에 도시된 바와 같이, 프로세스 (500) 의 소프트웨어 보조 (software assisted) 구현의 일 실시형태에서, 각각의 이미지 프레임 N 의 히스토그램은 프레임 N 과 N+1 사이의 블랭크 타임 동안 소프트웨어에 의해 판독된다. 프레임 N+1 이 디스플레이되기 전에, 소프트웨어는 출력 픽셀 값에 모든 입력 픽셀을 맵핑하는 룩업 테이블 (LUT) 을 프로그래밍한다. LUT 는 도 5 에 요약된 단계들을 수행함으로써 구성된다. 입력 이미지를 사용하는 대신에, 소프트웨어는 모든 입력 강도 값 (즉, 8 비트 시스템에 대해 0-255) 에 대한 출력을 계산하고, 그 결과를 LUT 에 저장한다. 이 출력 픽셀 값은 전술된 바와 같은 프로세스 (500) 및 연산된 히스토그램을 사용하여 계산된다.
이미지에 적용될 때 도 5 에 대하여 전술된 로컬라이징된 콘트라스트 향상 프로세스의 애플리케이션의 하나의 결과가 도 9a 및 도 9b 에 예시된다. 도 9a 는 오리지널 입력 이미지를 예시한다. 도 9b 는 프로세스 (500) 와 같은, 로컬라이징된 향상을 적용한 후에 결과의 이미지를 예시한다. 향상된 이미지에서, 블랙은 더 어둡고 화이트는 더 하얗다. 이 예는, 상당히 밝은 이미지들이 루마 스트레치 알고리즘들로 프로세싱된 전통적인 이미지들과 유사하게 처리되는 반면에, 더 어두운 장면은 상이하게 처리되는 것을 보여준다. 더 어두운 장면에 대해, 어두운 픽셀들은 더 밝아져 디테일들을 뚜렷이 나타내는 반면에, 더 밝은 픽셀들은 크게 영향을 받지 않는다.
태양광 가시성 향상
전술된 로컬라이징된 향상 프로세스에서 사용된 것과 같은 픽셀 프로세싱은 또한, 태양광에 있을 때 모바일 스크린들 상에 콘텐트의 가시성을 향상시키는데 사용될 수도 있다. 픽셀 프로세싱은, 디스플레이 백라이트를 증가시키는 것과 함께 사용되어 콘텐트에 적응된 픽처의 동적 범위를 증가시키고 픽처의 어두운 영역들에서 콘트라스트를 증가시킬 수도 있다.
전술된 로컬라이징된 향상 프로세스 (500) 와 유사한 프로세스가 히스토그램에 더 높은 클립 한계를 적용하고 이미지의 어두운 영역들의 블렌드 팩터들을 변경함으로써 태양광에서 모바일 디바이스의 스크린들의 가시성을 개선시키는데 사용될 수도 있다. 로컬라이징된 콘트라스트 향상 방법의 파라미터들은, 프로세싱이 (낮은 환경광에서) 콘트라스트 향상으로부터 (높은 환경광에서) 태양광 가시성 프로세싱으로 평활하게 변할 수 있도록 환경광 컨디션들에 기초할 수도 있다. 일부 실시형태들에서, 환경광 컨디션들은 히스토그램의 강도 범위를 따른 마커들의 분포 및 마커들에 대한 블렌드 팩터들의 할당을 결정하는데 사용될 수 있다. 환경광 값이 임계보다 더 높으면, 디바이스는 아마도 외부 밝은 환경에서 사용 중이다. 스크린의 가시성은 보통, 밝은 환경들에서 더 낮다. 따라서, 마커들 및 블렌드 팩터들은 밝은 환경을 위해 조정하도록 재프로그래밍될 수 있다. 일부 실시형태들에서, 미리결정된 값들의 다수의 세트들은 메모리에 저장되고, 미리결정된 세트들 중 하나는 환경광 컨디션에 기초하여 선택된다.
디바이스가 태양광 가시성 개선 모드에서 동작되고 있는 경우, 스크린으로 하여금 환경광 컨디션에서 더 쉽게 보여질 수 있게 하기 위하여 적용된 더 강한 향상으로 인해 소정 픽처들 상에서 컨투어링이 보여질 수도 있다. 유사한 밝기 레벨들이 콘트라스트 향상으로 인해 떨어져 스트레칭되는 경우, 컨투어링이 야기된다. 컨투어링은 통상적으로, 크고 느리게 변하는 이미지의 영역들, 예컨대 하늘 또는 바다 상에서 보여질 수 있다. 컨투어링에 기여하는 팩터들은 양자화, 부정확한 업스트림 프로세싱, 및 압축 노이즈으로 인한 더 적은 수들의 밝기 레벨들을 포함한다.
그러나, 아래 식 2 에 나타낸 바와 같이, 출력 픽셀 yOUT 에 랜덤 노이즈을 추가함으로써 태양광 가시성 개선 모드에서 동작하는 경우 컨투어링은 감소될 수도 있다.
Figure 112016126228888-pct00002
식 (2)
식중, yCLHE, yIN, 및 β 는 식 1 에 대하여 전술된 바와 같이 정의된다.
일부 실시형태들에서, 랜덤 노이즈 부가 팩터
Figure 112016126228888-pct00003
는 노이즈 시그마
Figure 112016126228888-pct00004
를 사용하는 가우시안 노이즈 생성기에 의해 생성될 수도 있다. 시그마는 통상적으로, 모든 픽셀들에 대해 동일하지는 않고, 그렇지 않으면 전체 이미지는 노이즈가 있어 보인다. 시그마는 대신에 픽셀 강도의 함수이다. 일부 실시형태들에서, 시그마는, 이들 픽셀들이 컨투어링되기 더 쉽기 때문에 (콘트라스트 제한 히스토그램 등화 단계를 수행한 후에) 높은 히스토그램 값들에 정비례한다.
일 예에서, 시그마는 다음과 같이 계산될 수도 있다:
Figure 112016126228888-pct00005
식 (3)
식중,
hist(I) = (클립핑 후) 강도 I 에서 히스토그램 값,
ClipLeve1 = 최대 히스토그램 값,
Figure 112016126228888-pct00006
= 입력 시그마 값, 및
Figure 112016126228888-pct00007
= (모든 픽셀들에 작은 노이즈 플로어 레벨을 주기 위한) 낮은 히스토그램 값들을 갖는 픽셀들에 대한 베이스 시그마 값.
도 10 은 도 4 에 도시된 모듈들 중 하나 이상에서 구현될 수도 있는 전자 디바이스의 스크린의 태양광 가시성 향상을 수행하도록 전자 디바이스를 구성하기 위한 프로세스 (1000) 의 일 실시형태를 예시한다. 일부 예들에서, 프로세스 (1000) 는 프로세서, 예를 들어 프로세서 (120)(도 4) 상에서, 그리고 다른 하드웨어 또는 소프트웨어에 포함되거나 메모리 (140) 에 저장되는 도 4 에 예시된 다른 컴포넌트들 상에서 실행될 수도 있다.
프로세스 (1000) 는 블록 1002 에서 시작하여 블로 1004 로 이행되고, 여기서 프로세서, 예를 들어 프로세서 (120) 는 오리지널 이미지 히스토그램의 강도 범위 상에 마커들의 세트를 정의하도록 명령받는다. 일부 실시형태들에서, 6-8 개의 마커들이 강도 범위 상에 정의될 수도 있다. 전술된 바와 같이, 마커들은 히스토그램의 강도 범위를 따라 균등하게 이격될 수도 있지만, 다른 실시형태들에서 마커들은 히스토그램의 강도 범위를 따라 균등하게 이격되지 않을 수도 있다.
프로세스 (1000) 는 그 후, 블록 1006 으로 이행되고, 여기서 프로세서는 각각의 마커를 블렌드 팩터 또는 값과 연관시키도록 명령받는다. 도 7 에 예시된 바와 같이, 블렌드 팩터들은, 이미지의 더 어두운 영역들이 더 중하게 가중되도록 각각의 마커에 할당될 수도 있다. 이것은 바람직하게, 이미지의 중간 내지 밝은 영역들은 적은 양만큼 향상되거나 전혀 향상되지 않으면서 이미지의 어두운 영역들에 대한 더 큰 향상을 초래할 것이다. 일단 블렌드 값들이 각각의 마커에 할당되었으면, 프로세스 (1000) 는 블록 1008 로 이행된다.
블록 1008 에서, 프로세서는 이미지의 각각의 오리지널 픽셀에 대한 블렌드 팩터 (β) 를 계산하도록 명령받을 수도 있다. 예를 들어, 모든 입력 픽셀 (yIN) 에 대해, 블렌드 팩터 (β) 는 픽셀의 어느 일 측 상에 놓이는 2 개의 인접한 마커들로부터 픽셀의 거리를 찾고, 이 거리를 사용하여 2 개의 인접한 마커들의 블렌드 값들을 사용하여 픽셀에 대한 블렌드 팩터를 보간함으로써 계산될 수도 있다.
프로세스 (1000) 는 다음으로 블록 1010 으로 이행되고, 여기서 프로세서는 이미지 히스토그램에 콘트라스트 제한된 히스토그램 등화를 전반적으로 적용하도록 명령받는다. 전술된 바와 같이, 콘트라스트 제한된 히스토그램 등화 (CLHE) 에서, 오리지널 입력 이미지의 히스토그램은 임계화 또는 클램핑에 의해 수정되어 피크들이 두드러지는 것을 감소시킨다. 클램핑 스테이지에서 손실되는 픽셀들은 도 3 에 도시된 바와 같이 나머지 빈들에 균등하게 분포된다. 이것은 출력의 원하지 않은 컨투어링을 감소시킬 수 있는 더 평활한 히스토그램을 초래한다. 입력 이미지 상에서 CLHE 를 수행하는 것은 CLHE 값, yCLHE 을 갖는 각각의 픽셀을 초래한다. 프로세스 (1000) 는 다음으로 블록 1012 로 이행되고, 여기서 프로세서는 시그마 σ(Ι) 및 랜덤 노이즈 부가 팩터 (
Figure 112016126228888-pct00008
) 를 계산하도록 명령받는다. 전술된 바와 같이, 시그마는 (콘트라스트 제한 히스토그램 등화 단계를 수행한 후에) 높은 히스토그램 값들에 정비례하고, 식 3 에 따라 계산될 수도 있다. 일단 시그마가 계산되었으면, 랜덤 노이즈 부가 팩터 (
Figure 112016126228888-pct00009
) 는 가우시안 노이즈 생성기에 의해 생성될 수도 있다.
랜덤 노이즈 부가 팩터를 결정한 후에, 프로세스 (1000) 는 블록 1014 로 이행되고, 여기서 프로세서는 각각의 픽셀의 출력 값을 계산하도록 명령받는다. 일부 실시형태들에서, 각각의 픽셀의 출력 값은 픽셀의 블렌드 팩터 (β), 픽셀의 입력 값 (yIN), 및 CLHE 프로세스에 의해 연산된 바와 같은 픽셀의 값 yCLHE 를 사용하여, 여기서 반복되는 식 2 와 같이 계산될 수도 있다:
Figure 112016126228888-pct00010
식 (2)
입력 값 및 등화된 값을 블렌딩함으로써 각각의 픽셀의 출력 값을 연산한 후에, 식 1 에 도시된 바와 같이, 프로세스 (1000) 는 블록 1016 로 이행되고, 여기서 프로세서는 출력 이미지를 구성하는 새로운 픽셀 값들을 출력하도록 명령받는다. 프로세스 (1000) 는 그 후, 블록 1018 로 이행되고, 종료된다.
도 11 은 전술된 프로세스 (1000) 의 하나의 예시의 실시형태를 나타내는 개략도 (110) 를 예시하고, 이것은 하드웨어로, 또는 소프트웨어 컴포넌트들에서, 또는 양자 모두에서 구현될 수도 있다. 예시된 바와 같이, 환경광 컨디션들, 마커 값들 및 각각의 마커에 대한 블렌드 팩터들은 각각의 픽셀에 대한 블렌드 팩터 (β) 를 계산하는데 사용된다. 각각의 픽셀의 블렌드 팩터 (β) 및 콘트라스트 제한된 히스토그램 등화된 값, yCLHE 는, 오리지널 픽셀 값들 (yIN), 및 랜덤 노이즈 부가 팩터
Figure 112016126228888-pct00011
와 함께, 픽셀 출력 값, yOUT 를 계산하기 위해 블렌딩 계산 (식 2) 에서 사용된다. 바람직하게는, 노이즈 추가가 있는 스크린의 태양광 가시광 향상은 하늘 또는 이미지의 개방 영역들에서 임의의 바람직하게 않은 컨투어링을 숨기는 한편, 빌딩들과 같은, 이미지의 더 상세하거나 중간 내지 밝은 영역들에는 영향을 주지 않을 것이다.
전문용어에 관한 설명들
다르게 표시되지 않는다면, 특정 피처를 갖는 장치의 동작의 임의의 개시는 또한, 유사한 피처를 갖는 방법을 개시하도록 명확히 의도되며 (반대의 경우도 마찬가지이다), 특정 구성에 따른 장치의 동작의 임의의 개시는 또한, 유사한 구성에 따른 방법을 개시하도록 명확히 의도된다 (반대의 경우도 마찬가지이다). 용어 "구성" 은 특정 문맥에 의해 표시된 바와 같이 방법, 장치, 및/또는 시스템을 참조하여 사용될 수도 있다. 용어들 "방법", "프로세스", "절차", 및 "기법" 은 특정 문맥에 의해 다르게 표시되지 않는다면 일반적으로 그리고 상호교환적으로 사용된다. 용어들 "장치" 및 "디바이스" 는 또한, 특정 문맥에 의해 다르게 표시되지 않는다면 일반적으로 그리고 상호교환적으로 사용된다. 용어들 "엘리먼트" 및 "모듈" 은 통상적으로, 더 큰 구성의 일 부분을 나타내는데 사용된다. 그 문맥에 의해 명확히 제한되지 않는다면, 용어 "시스템" 은 "공동의 목적을 서빙하도록 상호작용하는 엘리먼트들의 그룹" 을 포함하는 그 통상의 의미들 중 임의의 것을 나타내기 위해 본원에서 사용된다. 문헌의 일부분의 참조에 의한 임의의 포함은 또한, 그 부분 내에서 참조되는 용어들 또는 변수들의 정의들을 포함하는 것으로 이해되어야 하고, 여기서 이러한 정의들은 포함된 부분에서 언급된 임의의 도면들 뿐만 아니라 문헌에서 그 밖의 다른 곳에서도 나타난다.
또한, 본원에 개시된 구현들과 연관되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 프로세스 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 당업자들은 인지할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 측면에서 일반적으로 전술되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 의존한다. 당업자는, 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다. 일부분 또는 부분은 전체보다 적은 또는 전체와 동일한 어떤 것을 포함할 수도 있음을 당업자는 인식할 것이다. 예를 들어, 픽셀들의 콜렉션의 일부분은 이들 픽셀들의 하위 콜렉션을 지칭할 수도 있다.
본원에 개시된 구현들과 연관되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 이 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
본원에 개시된 구현들과 연관되어 설명된 방법 또는 프로세스의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 둘의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 비일시적 저장 매체 내에 상주할 수도 있다. 예시적인 컴퓨터 판독가능 저장 매체는 프로세서에 커플링되어, 프로세가 컴퓨터 판독가능 저장 매체로부터 정보를 판독하거나 컴퓨터 판독가능 저장 매체에 정보를 기입할 수 있다. 대안에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 있을 수도 있다. ASIC 는 사용자 단말, 카메라, 또는 다른 디바이스 내에 있을 수도 있다. 대안에서, 프로세서와 저장 매체는 사용자 단말기, 카메라, 또는 다른 디바이스에서 별개의 컴포넌트들로서 있을 수도 있다.
제목들은 참조를 위해 그리고 다양한 섹션들을 찾는 것을 돕기 위해 본원에 포함된다. 이들 제목들은 그와 관련하여 설명된 개념들의 범위를 제한하도록 의도되지 않는다. 이러한 개념들은 전체 명세서에 걸쳐 적용가능할 수도 있다.
개시된 구현들의 이전 설명들은 당업자가 본 발명을 실시하거나 사용하는 것을 가능하게 하도록 제공된다. 이들 구현들에 대한 다양한 수정들이 당업자에게는 자명할 것이고, 본원에서 정의된 일반적인 원리들은 본 발명의 취지와 범위를 벗어나지 않으면서 다른 구현들에 적용될 수도 있다. 따라서, 본 발명은 본원에서 보여진 구현들로 제한되도록 의도된 것이 아니라, 본원에 개시된 원리들과 신규의 특성들과 일치하는 광의의 범위가 부여되야 한다.

Claims (27)

  1. 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템으로서,
    제어 모듈을 포함하고,
    상기 제어 모듈은
    복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 것으로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 상기 히스토그램은 상기 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 상기 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하고;
    상기 이미지의 상기 히스토그램의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 것으로서, 각각의 마커는 연관된 블렌드 팩터 (blend factor) 를 갖는, 상기 마커들의 세트를 정의하고;
    적어도 하나의 마커 블렌드 팩터에 기초하여 상기 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하고;
    각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하고;
    상기 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 것으로서, 각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값은 상기 픽셀의 상기 픽셀 블렌드 팩터, 상기 픽셀의 상기 제 1 등화된 픽셀 출력 값, 및 상기 픽셀의 오리지널 픽셀 값에 기초하고, 특정 픽셀에 대해, 상기 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하도록 구성된, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  2. 제 1 항에 있어서,
    이미징 센서를 포함하는 이미징 디바이스를 더 포함하는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  3. 제 1 항에 있어서,
    상기 제어 모듈은 모바일 디바이스용 카메라 애플리케이션의 컴포넌트인, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  4. 제 1 항에 있어서,
    상기 마커들은 상기 강도 값들의 범위에 걸쳐 균등하게 이격되는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 제어 모듈은 또한, 상기 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하여 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 획득하도록 구성되는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  7. 제 1 항에 있어서,
    상기 제어 모듈은 또한, 각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값에 랜덤 노이즈 값을 추가하도록 구성되는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 제어 모듈은 또한, 상기 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하도록 구성되는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  9. 제 1 항에 있어서,
    강도 값들의 범위 중 낮은 강도 값 영역들에서 정의된 블렌드 팩터들은 상기 히스토그램의 높은 강도 값 영역들에서 정의된 상기 블렌드 팩터들보다 더 높은 가중치를 갖는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  10. 제 1 항에 있어서,
    각각의 마커에 대한 상기 블렌드 팩터는 환경광 레벨에 적어도 부분적으로 기초하는, 이미지 프레임들의 콘트라스트를 개선하기 위한 시스템.
  11. 이미지 프레임들의 콘트라스트를 개선하는 방법으로서,
    복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 단계로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 상기 히스토그램은 상기 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 상기 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하는 단계;
    상기 이미지의 상기 히스토그램의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하는 단계;
    적어도 하나의 마커 블렌드 팩터에 기초하여 상기 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하는 단계;
    각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하는 단계; 및
    상기 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 단계로서, 각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값은 상기 픽셀의 상기 픽셀 블렌드 팩터, 상기 픽셀의 상기 제 1 등화된 픽셀 출력 값, 및 상기 픽셀의 오리지널 픽셀 값에 기초하고, 특정 픽셀에 대해, 상기 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하는 단계를 포함하는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  12. 제 11 항에 있어서,
    상기 마커들은 상기 강도 값들의 범위에 걸쳐 균등하게 이격되는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  13. 삭제
  14. 제 11 항에 있어서,
    상기 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하여 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 획득하는 단계를 더 포함하는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  15. 제 11 항에 있어서,
    각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값에 랜덤 노이즈 값을 추가하도록 랜덤 노이즈 팩터를 추가하는 단계를 더 포함하는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  16. 제 11 항에 있어서,
    상기 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하는 단계를 더 포함하는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  17. 제 11 항에 있어서,
    상기 이미지의 상기 히스토그램 표현의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계는 환경광 레벨에 의해 적어도 부분적으로 결정되는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  18. 제 11 항에 있어서,
    각각의 마커에 대한 블렌드 팩터를 결정하는 것은 환경광 레벨에 의해 적어도 부분적으로 결정되는, 이미지 프레임들의 콘트라스트를 개선하는 방법.
  19. 이미지 프레임들의 콘트라스트를 개선하기 위한 장치로서,
    복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하기 위한 수단으로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 상기 히스토그램은 상기 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 상기 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하기 위한 수단;
    상기 이미지의 상기 히스토그램의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하기 위한 수단으로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하기 위한 수단;
    적어도 하나의 마커 블렌드 팩터에 기초하여 상기 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하기 위한 수단;
    각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하기 위한 수단; 및
    상기 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하기 위한 수단으로서, 각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값은 상기 픽셀의 상기 픽셀 블렌드 팩터, 상기 픽셀의 상기 제 1 등화된 픽셀 출력 값, 및 상기 픽셀의 오리지널 픽셀 값에 기초하고, 특정 픽셀에 대해, 상기 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하기 위한 수단을 포함하는, 이미지 프레임들의 콘트라스트를 개선하기 위한 장치.
  20. 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은, 실행되는 경우, 적어도 하나의 물리적 컴퓨터 프로세서로 하여금, 이미지 프레임들의 콘트라스트를 개선하는 방법을 수행하게 하고,
    상기 방법은,
    복수의 픽셀들을 갖는 이미지의 히스토그램 표현을 결정하는 단계로서, 각각의 픽셀은 강도 값들의 범위 내의 강도 값을 갖고, 상기 히스토그램은 상기 강도 값들의 범위에서의 각각의 강도 값에 대해 강도 값을 갖는 상기 이미지의 픽셀들의 수를 포함하는, 상기 이미지의 히스토그램 표현을 결정하는 단계;
    상기 이미지의 상기 히스토그램 표현의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계로서, 각각의 마커는 연관된 블렌드 팩터를 갖는, 상기 마커들의 세트를 정의하는 단계;
    적어도 하나의 마커 블렌드 팩터에 기초하여 상기 이미지의 각각의 픽셀에 대한 픽셀 블렌드 팩터를 결정하는 단계;
    각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 결정하는 단계; 및
    상기 이미지의 각각의 픽셀에 대한 최종 등화된 픽셀 출력 값을 계산하는 단계로서, 각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값은 상기 픽셀의 상기 픽셀 블렌드 팩터, 상기 픽셀의 상기 제 1 등화된 픽셀 출력 값, 및 상기 픽셀의 오리지널 픽셀 값에 기초하고, 특정 픽셀에 대해, 상기 픽셀 블렌드 팩터는 2 개의 인접한 마커들의 블렌드 팩터들을 보간하는 것에 기초하는, 상기 최종 등화된 픽셀 출력 값을 계산하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  21. 제 20 항에 있어서,
    상기 마커들은 상기 강도 값들의 범위에 걸쳐 균등하게 이격되는, 비일시적 컴퓨터 판독가능 매체.
  22. 삭제
  23. 제 20 항에 있어서,
    상기 이미지의 각각의 픽셀에 대해 콘트라스트 제한된 히스토그램 등화를 수행하여 각각의 픽셀에 대한 제 1 등화된 픽셀 출력 값을 획득하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  24. 제 20 항에 있어서,
    각각의 픽셀에 대한 상기 최종 등화된 픽셀 출력 값에 랜덤 노이즈 값을 추가하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  25. 제 20 항에 있어서,
    상기 최종 등화된 픽셀 출력 값들에 기초하여 수정된 이미지를 출력하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  26. 제 20 항에 있어서,
    상기 이미지의 상기 히스토그램 표현의 상기 강도 값들의 범위의 적어도 일부분에 걸쳐 이격된 마커들의 세트를 정의하는 단계는 환경광 레벨에 의해 적어도 부분적으로 결정되는, 비일시적 컴퓨터 판독가능 매체.
  27. 제 20 항에 있어서,
    각각의 마커에 대한 블렌드 팩터를 결정하는 것은 환경광 레벨에 의해 적어도 부분적으로 결정되는, 비일시적 컴퓨터 판독가능 매체.
KR1020167035982A 2014-05-27 2015-05-12 로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들 KR102317613B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/288,267 US9165210B1 (en) 2014-05-27 2014-05-27 Systems and methods for localized contrast enhancement
US14/288,267 2014-05-27
PCT/US2015/030341 WO2015183542A1 (en) 2014-05-27 2015-05-12 Systems and methods for localized contrast enhancement

Publications (2)

Publication Number Publication Date
KR20170012383A KR20170012383A (ko) 2017-02-02
KR102317613B1 true KR102317613B1 (ko) 2021-10-25

Family

ID=53284524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035982A KR102317613B1 (ko) 2014-05-27 2015-05-12 로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US9165210B1 (ko)
EP (1) EP3149701A1 (ko)
JP (1) JP6602789B2 (ko)
KR (1) KR102317613B1 (ko)
CN (1) CN106462950A (ko)
WO (1) WO2015183542A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184754B (zh) * 2015-09-25 2018-03-06 深圳市华星光电技术有限公司 图像对比度增强方法
CN105654438A (zh) * 2015-12-27 2016-06-08 西南技术物理研究所 基于局部直方图均衡的灰度图像拟合增强方法
US10339410B1 (en) * 2016-01-13 2019-07-02 Snap Inc. Color extraction of a video stream
CN107818553B (zh) * 2016-09-12 2020-04-07 京东方科技集团股份有限公司 图像灰度值调整方法和装置
EP3296960B1 (en) * 2016-09-15 2018-08-22 Axis AB A method and an arrangement for pseudo coloring of a digital image
KR102615070B1 (ko) * 2016-10-12 2023-12-19 삼성전자주식회사 디스플레이 장치, 및 그 제어방법
CN109308690B (zh) * 2017-07-26 2021-09-21 Tcl科技集团股份有限公司 一种图像亮度均衡方法及终端
CN108447040A (zh) * 2018-02-09 2018-08-24 深圳市朗驰欣创科技股份有限公司 直方图均衡化方法、装置及终端设备
US11375166B2 (en) 2020-09-21 2022-06-28 Microsoft Technology Licensing, Llc Selective colorization of thermal imaging
US11398017B2 (en) * 2020-10-09 2022-07-26 Samsung Electronics Co., Ltd. HDR tone mapping based on creative intent metadata and ambient light
US11526968B2 (en) 2020-11-25 2022-12-13 Samsung Electronics Co., Ltd. Content adapted black level compensation for a HDR display based on dynamic metadata
US12014478B2 (en) * 2021-01-22 2024-06-18 Arm Limited Image adjustment based on local contrast

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022779A (ja) * 2009-07-15 2011-02-03 Pioneer Electronic Corp 画像補正装置、画像補正方法及びプログラム
US8295596B1 (en) 2005-12-07 2012-10-23 Marvell International Ltd. Adaptive histogram-based video contrast enhancement

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944648A (ja) * 1995-08-01 1997-02-14 Sony Corp 画像処理装置及び画像処理方法
EP1308891B1 (en) * 2001-10-31 2009-01-21 Sony Deutschland GmbH Method for enhancing the quality of an image
US7545397B2 (en) 2004-10-25 2009-06-09 Bose Corporation Enhancing contrast
US7894668B1 (en) 2006-09-28 2011-02-22 Fonar Corporation System and method for digital image intensity correction
US8009907B1 (en) 2006-11-08 2011-08-30 Marvell International Ltd. Localized, adaptive video contrast enhancement using controlled histogram equalization
US8417046B1 (en) 2008-11-10 2013-04-09 Marvell International Ltd. Shadow and highlight image enhancement
CN101706953B (zh) * 2009-11-13 2015-07-01 北京中星微电子有限公司 基于直方图均衡的图像增强方法和装置
JP5644444B2 (ja) * 2010-12-03 2014-12-24 富士通株式会社 画像表示装置、画像表示方法、および画像処理装置
US8644638B2 (en) 2011-02-25 2014-02-04 Microsoft Corporation Automatic localized adjustment of image shadows and highlights
FR2977054A1 (fr) 2011-06-23 2012-12-28 St Microelectronics Grenoble 2 Procede d'amelioration de la perception visuelle d'une image numerique
CN103377468A (zh) * 2012-04-26 2013-10-30 上海竞天科技股份有限公司 图像处理装置及图像处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295596B1 (en) 2005-12-07 2012-10-23 Marvell International Ltd. Adaptive histogram-based video contrast enhancement
JP2011022779A (ja) * 2009-07-15 2011-02-03 Pioneer Electronic Corp 画像補正装置、画像補正方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sujith Srinivasan, Nikhil Balram, "44.2: Distinguished Paper: Adaptive Contrast Enhancement for Digital Video", SID 2007, Volume 38, Issue 1, May 2007(2007.05.20.) 1부.*

Also Published As

Publication number Publication date
JP2017522642A (ja) 2017-08-10
WO2015183542A1 (en) 2015-12-03
KR20170012383A (ko) 2017-02-02
JP6602789B2 (ja) 2019-11-06
CN106462950A (zh) 2017-02-22
EP3149701A1 (en) 2017-04-05
US9165210B1 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
KR102317613B1 (ko) 로컬라이징된 콘트라스트 향상을 위한 시스템들 및 방법들
CN108702496B (zh) 用于实时色调映射的***和方法
JP4616749B2 (ja) 適応コントラスト向上
EP2076013B1 (en) Method of high dynamic range compression
WO2016206087A1 (zh) 一种低照度图像处理方法和装置
KR101625362B1 (ko) 입력 이미지 데이터를 출력 이미지 데이터로 변환하기 위한 방법, 입력 이미지 데이터를 출력 이미지 데이터로 변환하기 위한 이미지 변환 유닛, 이미지 프로세싱 장치, 디스플레이 디바이스
KR102145201B1 (ko) 이미지의 동적 범위 향상을 위한 방법 및 장치
WO2020038124A1 (zh) 图像对比度增强方法、装置、设备及存储介质
US8644638B2 (en) Automatic localized adjustment of image shadows and highlights
KR101311817B1 (ko) 이미지 디테일 향상
US8698961B2 (en) Enhanced histogram equalization
Boschetti et al. High dynamic range image tone mapping based on local histogram equalization
CN107993189B (zh) 一种基于局部分块的图像色调动态调节方法和装置
KR102567860B1 (ko) 개선된 역 톤 매핑 방법 및 대응하는 디바이스
IL198599A (en) Device and methods for increasing dynamic range in digital imagery
US20090202167A1 (en) Method and apparatus for image enhancement
RU2298223C2 (ru) Система и способ коррекции темных оттенков на цифровых фотографиях
CN112019762B (zh) 视频处理方法及装置、存储介质及电子设备
US9214015B2 (en) System for image enhancement
CN113935911A (zh) 高动态范围视频图像处理方法、计算机装置及计算机可读存储介质
CN112950499A (zh) 图像处理方法、装置、电子设备及存储介质
WO2018099087A1 (zh) 用于数字图像的动态范围扩展的***、方法以及存储介质
CN113364994B (zh) 一种背光补偿方法及背光补偿电路
CN110874816B (zh) 一种图像处理方法、装置、移动终端及存储介质
KR20200110441A (ko) 픽셀 콘트라스트 제어 시스템들 및 방법들

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant