KR100773201B1 - 화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및저장 매체 - Google Patents

화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및저장 매체 Download PDF

Info

Publication number
KR100773201B1
KR100773201B1 KR1020060053423A KR20060053423A KR100773201B1 KR 100773201 B1 KR100773201 B1 KR 100773201B1 KR 1020060053423 A KR1020060053423 A KR 1020060053423A KR 20060053423 A KR20060053423 A KR 20060053423A KR 100773201 B1 KR100773201 B1 KR 100773201B1
Authority
KR
South Korea
Prior art keywords
red
area
region
candidate
image
Prior art date
Application number
KR1020060053423A
Other languages
English (en)
Other versions
KR20060130514A (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 KR20060130514A publication Critical patent/KR20060130514A/ko
Application granted granted Critical
Publication of KR100773201B1 publication Critical patent/KR100773201B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • H04N1/624Red-eye correction
    • 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/30196Human being; Person
    • G06T2207/30201Face
    • 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/30216Redeye defect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

화상 처리 장치는 화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하도록 구성된 계산부 및 평가량에 기초하여 불량 색조를 갖는 후보 화소를 추출하도록 구성된 추출부를 포함한다. 평가량은 화상의 적색 및 녹색 성분들로부터 계산된다.
화상 처리, 적목 현상, 색조, 평가량, 특성량, 메모리 용량

Description

화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및 저장 매체{IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, COMPUTER PROGRAM, AND STORAGE MEDIUM}
명세서에 포함되어 그 일부를 구성하는 첨부 도면들은 본 발명의 실시예들을 나타내며, 상세한 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 제1 실시예에 따른 화상 처리를 수행하는 컴퓨터(화상 처리 장치)의 구성의 일례를 나타내는 블록도.
도 2는 본 발명의 제1 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 나타내는 기능 블록도.
도 3은 디지털 카메라와 같은 촬상 장치에 의해 촬상된 적목 화상을 개략적으로 나타내는 도면.
도 4는 적응적 이치화(adaptive binarization)를 나타내는 도면.
도 5a 및 5b는 적응적 이치화의 일례를 나타내는 도면.
도 6a 및 6b는 평균을 계산하는데 사용되는 고속 기술을 나타내는 도면.
도 7은 경계선 추적(border following)을 나타내는 도면.
도 8은 경계선 추적을 나타내는 도면.
도 9는 방향 히스토그램(directional histogram)에서의 방향들을 나타내는 도면.
도 10은 방향 히스토그램의 일례를 나타내는 도면.
도 11은 적색 영역의 외접 직사각형 영역을 나타내는 도면.
도 12는 추적 영역이 적색 원형 영역인지 여부를 판정하는 처리의 일례를 나타내는 흐름도.
도 13a 내지 13c는 적목 후보 영역의 평가량들을 계산하는데 사용되는 주변 영역들의 정의를 나타내는 도면.
도 14a 및 14b는 적목 후보 영역이 화상의 가장자리 근처에 존재하는 경우의 주변 영역을 나타내는 도면.
도 15a 내지 15c는 블럭 내의 화소들의 평균값이 계산되는 영역들을 나타내는 도면.
도 16은 특성량군을 판정하는 처리의 일례를 나타내는 흐름도.
도 17은 주변 영역을 설정하는 방법을 나타내는 도면.
도 18은 후보 영역 목록 내의 적목 영역들 중 하나를 보정하는 처리의 일례를 나타내는 흐름도.
도 19는 보정 범위의 결정을 나타내는 도면.
도 20은 보정 파라미터들의 설정 방법을 나타내는 도면.
도 21a 및 21b는 본 발명의 제2 실시예에서의 과제를 나타내는 도면.
도 22a 및 22b는 본 발명의 제2 실시예에 따른 적응적 이치화를 나타내는 도면.
도 23은 본 발명의 제3 실시예에서의 과제를 나타내는 도면.
도 24는 본 발명의 제3 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 나타내는 기능 블록도.
도 25는 후보 영역 평가부에 의해 수행되는 처리의 일례를 나타내는 흐름도.
도 26은 영역들의 중심들 간의 거리를 나타내는 도면.
도 27은 영역들의 중심들 간의 거리와 임계값 간의 관계의 일례를 나타내는 도면.
도 28a 및 28b는 본 발명의 제4 실시예에서의 과제를 나타내는 도면.
도 29는 본 발명의 제4 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 나타내는 기능 블록도.
도 30은 후보 영역 결합부에 의해 수행되는 처리의 일례를 나타내는 흐름도.
도 31은 후보 영역 목록의 일례를 나타내는 도면.
도 32a 및 32b는 후보 영역들을 하나로 결합시키는 처리를 나타내는 도면.
도 33은 본 발명의 제5 실시예에 따른 밴드 분할(band division)을 나타내는 도면.
도 34는 본 발명의 제5 실시예에 따른, 적목 영역을 추출하는 처리의 일례를 나타내는 흐름도.
도 35는 제N 밴드에서의 적목 영역의 추출을 상세하게 나타내는 흐름도.
도 36은 4개의 적색 원형 영역들이 제N-1, 제N, 제N+1 밴드에 걸친 오버랩 영역들에 존재하는 일례를 나타내는 도면.
도 37은 후보 영역을 선택하는 방법을 나타내는 도면.
도 38은 후보 영역 목록의 일례를 나타내는 도면.
도 39는 본 발명의 제5 실시예에 따른, 보정 처리의 일례를 나타내는 흐름도.
도 40은 보정될 영역과 보정 라인 간의 관계의 일례를 나타내는 도면.
도 41은 후보 영역 목록에 저장된, 적목 영역에 관한 위치 정보를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
202 : 적색 영역 추출부
203 : 적색 원형 영역 추출부
204 : 특성량 판정부
205 : 보정부
본 발명은 화상 처리 장치 및 화상 처리 방법에 관한 것이다. 예를 들어, 본 발명은 눈의 불량 색조(적목)를 갖는 화상 영역을 검출하는 화상 처리에 관한 것이다.
플래시 사진 촬영이 적목 현상으로 널리 알려진, 눈의 불량 색조를 야기할 수 있다는 것은 잘 알려져 있다. 적목 현상은 플래시로부터 방출되고 열린 동공으 로 입사되어, 눈의 내부 뒤쪽에서 망막을 비추는 광에 의해 야기되는 현상이다. 망막의 뒤쪽으로부터 반사된 광은 부족한 조명 조건 하에서 플래시를 사용하여 촬영한 인간 또는 개나 고양이와 같은 동물의 화상에 모세 혈관의 적색을 유발시킨다. 동공, 즉 수정체의 투과율은 색소가 옅을수록 증가되기 때문에, 보다 옅은 색소의 눈을 갖는 사람의 경우가 적목 현상이 발생하기 쉽다.
최근에 인기가 있는 디지털 카메라는 크기가 점차 소형화되고 있고, 그러한 디지털 카메라에서 렌즈의 광축과 플래시의 광원의 위치가 가까워지는 경향이 있다. 일반적으로 플래시의 광원의 위치가 렌즈의 광축에 가까워질수록 적목 현상이 발생하기 쉽다. 이는 중요한 과제이다.
적목 현상을 방지하기 위한 한가지 공지의 방법으로는, 프리플래시(preflash)를 방출하여 피사체의 동공이 닫혀진 후에 촬영을 행하는 방법이 있다. 그러나, 이러한 방법은 일반적인 촬영에 비해, 배터리의 전력 소모를 증가시키고, 프리플래시에 의해 피사체의 안면 표정이 일그러진다는 문제가 있다.
따라서, 최근, 디지털 카메라에 의해 촬영한 디지털 화상 데이터를 퍼스널 컴퓨터 등을 사용하여 보정하고 가공함으로써 적목 현상을 감소시키는 방법이 다수 개발되었다.
디지털 화상 데이터 상에서 적목 현상을 감소시키는 방법들은 크게 수동 보정, 반자동 보정 및 자동 보정으로 나누어진다.
수동 보정에서, 사용자는 마우스, 스타일러스 및 태블릿을 포함하는 포인팅 디바이스, 또는 터치 패널을 사용하여 디스플레이에 표시된 적목 영역을 지정하고 적목을 제거한다.
반자동 보정에서, 사용자는 적목을 포함하는 영역을 지정하여 지정된 정보로부터 적목의 보정 범위를 결정하고 적목을 제거한다. 예를 들어, 사용자는 포인팅 디바이스를 사용하여 양쪽 눈 주위의 영역을 지정하거나 눈 근처의 한점을 지정한다. 사용자는 지정된 영역 또는 지점에 관한 정보로부터 보정 범위를 결정하여 적목을 제거한다.
자동 보정에서, 디지털 카메라는 사용자의 특별한 조작을 필요로 하지 않고 디지털 화상 데이터로부터 적목의 보정 범위를 자동적으로 검출하고 적목의 보정을 수행한다.
수동 및 반자동 보정에서는 사용자가 임의의 조작을 수행하여 보정 지점을 지정할 필요가 있다. 따라서, 사용자는 화상 데이터 내의 보정될 영역 부근을 확대 표시한 후 보정 영역을 지정하는 복잡한 조작을 수행하여야 한다. 그러한 조작은 예를 들어 큰 표시 장치를 구비한 퍼스널 컴퓨터 시스템에서는 비교적 용이하게 수행할 수 있지만, 작은 표시 장치를 구비한 디지털 카메라 또는 프린터와 같은 장치에서는 화상을 확대하고 확대된 화상을 스크롤하여 보정 영역을 지정하는 조작을 수행하는 것이 용이하지 않다.
최근, 사용자의 복잡한 조작을 필요로 하지 않으면서 표시 장치가 크지 않은 장치에 효과적인, 적목 현상의 자동 보정에 대한 다양한 방법들이 제안되었다.
예를 들어, 일본특개평 11-136498은 화상에서 피부색 영역을 검출하고, 검출된 영역에서 적목을 포함하는 것으로 가정되는 화소들을 검색하고, 적목을 포함하 는 화소들을 보정하는 방법을 개시한다. 일본 특개평 11-149559는 피부색 영역을 검출하고, 검출된 영역에서 동공의 휘도에 대응하는 보다 낮은 휘도를 갖는 제1 및 제2 오목 영역(valley area)들을 검출하고, 제1 및 제2 오목 영역들 간의 거리에 기초하여 눈을 판정하는 방법을 개시한다. 일본 특개평 2000-125320은 피부색 영역을 검출하여 검출된 피부색 영역이 인간의 얼굴을 표현하는지 여부를 판정하고, 그 영역에서 적목 결함들의 쌍을 검출하고 적목 결함들 간의 거리와 적목 결함들의 크기를 측정하여 적목 영역을 판정하는 방법을 개시한다. 일본 특개평 11-284874는 화상이 적색 동공을 포함하는지 여부를 자동적으로 검출하고, 적색 동공이 검출되면, 적색 동공의 위치 및 크기를 측정하여 동공의 화상에서의 적색 화소들을 소정의 색으로 자동적으로 변환시키는 방법을 개시한다.
그러나, 이와 같이 적목 현상을 자동적으로 보정하는 제안된 방법들은 다음과 같은 문제점들을 가진다.
인간의 피부색 영역의 검출 결과 또는 예를 들어 신경회로망을 사용한 얼굴의 검출 결과에 기초한 적목 영역의 검출은 신뢰성이 높기는 하지만, 화상 내의 보다 넓은 영역을 참조하여야 하고, 그 결과 큰 메모리와 보다 많은 양의 연산을 필요로 한다. 따라서, 이러한 검출 방법은 수 기가헤르쯔의 클럭 속도로 동작하는 고성능 CPU를 포함하고 수백 메가바이트의 메모리 용량을 갖는 퍼스널 컴퓨터에서 처리하기에는 적합하더라도, 디지털 카메라 또는 프린터에 내장된 시스템에서는 사용하기가 곤란하다.
자동 보정에 관한 상기 예들 이외에 제안된 많은 방법들은, 적목 영역이 주변 영역보다 높은 채도를 갖는다는 특징을 사용하여 적목 영역을 판정한다. 그러나, 채도에 기초한 결정은 보다 짙은 색소의 눈을 갖는 사람에게는 반드시 적합하지는 않다. 널리 알려진 바와 같이, 채도 S는 수학식 1에 따라 계산되며, 수학식 1에서 화소값들은 RGB계(적색, 녹색, 청색)로 제공된다.
S = {max(R,G,B) - min(R,G,B)} / max(R,G,B)
여기서, "max(R,G,B)"는 RGB 성분의 최대값을 나타내고, "min(R,G,B)"는 RGB 성분의 최소값을 나타낸다.
예를 들어, 일본인의 피부색 영역들은 색상(0 내지 359도)으로 말하면 0 내지 30도 부근에 집중된다는 것을 실험을 통해 알 수 있다. HIS(색상, 세기 및 채도)계에서, 0 부근의 색상각(hue angle)은 적색을 나타내고 색상각이 증가함에 따라 색상은 노란색에 근접하게 된다. RGB 값들은 0 내지 30도의 색상각에서 수학식 2에 보여진 관계를 갖는다.
R > G > B
전술한 바와 같이, 보다 짙은 색소의 눈을 가진 사람의 경우에는 보다 옅은 색소의 눈을 가진 사람들에 비해 선명한 적목을 야기시킬 가능성이 적다.
상기 설명에 비추어서, 일본인들은 적목 영역 및 그 눈 주위의 피부색 영역서 다음과 같은 추정된 화소값들을 가진다.
적목 영역 : (R,G,B) = (109, 58, 65)
피부색 영역 : (R,G,B) = (226, 183, 128)
이 경우, 적목 영역의 채도는 "40"이 되고 피부색 영역의 채도는, 적목 영역과 대략 동일한 값인 "43"이 된다. 즉, 채도의 관점에서도 피사체에 따라서는 적목 영역에 대응하는 화소들을 판정하는 것이 불가능할 수도 있다.
따라서, 본 발명은 불량 색조를 갖는 화상 영역을 정확하게 검출하는 것을 목적으로 한다.
본 발명의 일 실시예에 따르면, 화상 처리 장치는 화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하도록 구성된 계산부, 및 평가량에 기초하여 불량 색조를 갖는 후보 화소를 추출하도록 구성된 추출부를 포함한다. 평가량은 화상의 적색 및 녹색 성분들로부터 계산된다.
본 발명의 또 다른 실시예에 따르면, 화상 처리 방법은 화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하는 단계, 및 평가량에 기초하여 불량 색조를 갖는 후보 화소를 추출하는 단계를 포함한다. 평가량은 화상의 적색 및 녹색 성분들로부터 계산된다.
본 발명의 또 다른 실시예에 따르면, 눈의 불량 색조를 갖는 화상 영역을 검출하는 화상 처리 장치는, 입력 화상의 모든 화소에 대해 소정의 색 성분에 기초하여 불량 색조의 평가량을 계산하도록 구성된 계산부; 평가량에 기초하여 불량 색조를 갖는 화상 영역 내의 후보 화소를 추출하도록 구성된 화소 추출부; 후보 화소를 포함하는, 소정의 형상을 갖는 후보 영역을 추출하도록 구성된 영역 추출부; 및 후보 영역으로부터 계산된, 눈의 특성량에 기초하여 후보 영역이 보정 영역으로 사용되는지 여부를 판정하도록 구성된 판정부를 포함한다.
본 발명의 또 다른 실시예에 따르면, 화상 처리 장치는 화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하도록 구성된 계산부 및 평가량에 기초하여 불량 색조를 갖는 후보 화소를 추출하도록 구성된 추출부를 포함한다. 화상의 적색 및 녹색 성분들의 가중치들보다 작은 가중치가 화상의 청색 성분에 적용되며, 평가량은 적색과 녹색 성분들과 화상의 가중치가 적용된 청색 성분으로부터 계산된다.
본 발명의 또 다른 실시예에 따르면, 눈의 불량 색조를 갖는 화상 영역을 검출하는 화상 처리 방법은, 입력 화상의 모든 화소에 대해 소정의 색 성분에 기초하여 불량 색조의 평가량을 계산하는 단계; 평가량에 기초하여 불량 색조를 갖는 화상 영역 내의 후보 화소를 추출하는 단계; 후보 화소를 포함하는, 소정의 형상을 갖는 후보 영역을 추출하는 단계; 및 후보 영역으로부터 계산된, 눈의 특성량에 기초하여 후보 영역이 보정 영역으로 사용되는지 여부를 판정하는 단계를 포함한다.
본 발명이 또 다른 실시예에 따르면, 화상 처리 방법은 화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하는 단계 및 평가량에 기초하여 불량 색조를 갖는 후보 화소를 추출하는 단계를 포함한다. 화상의 적색 및 녹색 성분들의 가중치들보다 작은 가중치가 화상의 청색 성분에 적용되며, 평가량은 적색 및 녹색 성분들과 화상의 가중치가 적용된 청색 성분으로부터 계산된다.
또한, 본 발명의 또 다른 실시예에 따르면, 프로그램은 화상 처리 방법을 실현하도록 화상 처리 장치를 제어한다.
마지막으로, 본 발명의 또 다른 실시예에 따르면, 상기 프로그램이 기록 매체에 기록된다.
본 발명에 따르면, 불량 색조를 갖는 화상 영역을 정확하게 검출할 수 있다. 따라서, 사람이 보다 짙거나 보다 옅은 색소를 갖는지 여부에 상관없이 눈의 불량 색조를 갖는 화상 영역(보정될 영역)을 적절하게 검출할 수 있다.
본 발명의 추가적인 특징들은 첨부된 도면들을 참조한 다음의 예시적인 실시예들의 설명으로부터 명백해질 것이다.
이하, 본 발명의 실시예들에 따른 화상 처리를 첨부 도면들을 참조하여 상세하게 설명할 것이다. 이하 설명하는 화상 처리는 프린터 엔진에 출력될 화상 정보를 생성하고 컴퓨터에서 작동하는 프린터 드라이버와 광 스캐너를 구동시키고 컴퓨터에서 작동하는 스캐너 드라이버에 포함시키는 것이 바람직하다. 또는, 그 화상 처리를 복사기, 팩스, 프린터, 스캐너, 다기능 장치, 디지털 카메라 또는 디지털 비디오 카메라와 같은 하드웨어에 포함시키거나 소프트웨어로서 하드웨어에 제공할 수도 있다.
[제1 실시예]
<구성>
도 1은 본 발명의 제1 실시예에 따른 화상 처리를 수행하는 컴퓨터(화상 처리 장치)의 구성의 일례를 나타내는 블록도이다.
컴퓨터(100)는 CPU(101), ROM(102), RAM(103), 모니터(113)에 접속된 비디오 카드(104)(모니터(113)는 터치 패널을 포함할 수 있음), 하드 디스크 드라이브 또는 메모리 카드와 같은 저장 장치(105), USB(universal serial bus) 또는 IEEE 1394를 따르는 직렬 버스 인터페이스(108), 및 네트워크(114)에 접속된 NIC(network interface card)(107)를 포함할 수 있다. 상기 구성요소들은 시스템 버스(109)를 통해 서로 접속된다. 마우스, 스타일러스 또는 태블릿과 같은 포인팅 디바이스(106), 키보드(115) 등은 인터페이스(108)에 접속된다. 프린터(110), 스캐너(111), 디지털 카메라(112) 등은 인터페이스(108)에 접속될 수 있다.
CPU(101)는 ROM(102) 또는 저장 장치(105)에 저장된 (아래에 설명된 화상 처리를 위한 프로그램들을 포함하는) 프로그램들을, 작업 메모리로서 기능하는 RAM(103)에 로딩시키고 그 프로그램들을 실행시킬 수 있다. CPU(101)는 프로그램에 따라 시스템 버스(109)를 통해 상기 구성요소들을 제어하여 프로그램의 기능을 구현한다.
도 1은 본 발명의 제1 실시예에 따른 화상 처리를 수행하는 하드웨어의 일반적인 구성을 나타낸다. 본 발명은 상기 구성요소들 중 일부를 포함하지 않는 구성이나 다른 구성요소들이 추가된 구성에서도 적용가능하다.
<처리의 개요>
도 2는 본 발명의 제1 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 나타내는 기능 블록도이다. 처리는 CPU(101)에 의해 수행된다. 처리는 예를 들어 디지털 카메라(112) 또는 스캐너(111)로부터 디지털 화상 데이터를 수신한다. 디지털 화상 데이터는, 각각 8비트를 갖는 R, G, B 성분들을 포함하는 화소당 24비트를 가진다.
도 3은 디지털 카메라(112)와 같은 촬상 장치에 의해 촬영된 적목 화상을 개략적으로 나타낸다. 참조번호 302는 눈의 동공 영역을 나타내고, 참조번호 301은 그의 홍채 영역을 나타내고 참조번호 304는 화상의 촬영 시에 사용된 플래시에 기인하는 하이라이트 영역을 나타낸다. 참조번호 303은 눈의 백색 영역을 나타낸다. 통상, 동공 영역(302)은 적목 현상으로 인해 화상에서 적색이 된다.
다시 도 2를 참조하면, 적색 영역 추출부(202)가 입력 단말기(201)를 통해 입력된 화상 데이터로부터 적색 영역을 추출한다. 적색 영역을 추출하는 다양한 방법들이 제안되어 있지만, 적응적 이치화에 의해 적색 영역을 추출하는 방법을 이하 설명할 것이다. 적색 영역 추출부(202)는 적색 영역들이 눈에 포함되어 있는지 여부에 상관없이 적색 영역들을 추출하기 때문에, 추출된 적색 영역들은 적목, 적색 교통 신호등, 의복에서의 적색 패턴, 적색 조명 등에 대응한다.
적색 원형 영역 추출부(203)는 입력 화상 데이터와 추출된 적색 영역에 관한 정보를 수신하여 적색 영역으로부터 비교적 원형에 상대적으로 가까운 형상을 갖는 영역(이후부터 적색 원형 영역으로 부름)을 추출한다. 영역의 형상을 판정하는 다양한 방법들이 제안되어 있지만, 경계선 추적에 의해 적색 원형 영역을 추출하는 방법을 이하 설명할 것이다. 적색 원형 영역 추출부(203)는 추출된 적색 원형 영역에 관한 위치 정보를 후보 영역 목록에 저장한다.
특성량 판정부(204)는 입력 화상 데이터와 후보 영역 목록을 수신하여, 후보 영역 목록에 저장된 적색 원형 영역에서 눈을 판정하는데 사용되는 다양한 특성량 들을 판정한다. 눈을 판정하는데 사용되는 특성량들은 적색 원형 영역의 채도, 적색 원형 영역의 주변 영역의 명도(luminosity), 채도 및 색상, 그리고 적색 원형 영역의 주변 영역에서의 가장자리 분포를 포함한다. 이러한 특성량들 또는 값들을 미리 정해진 임계값들과 비교하여, 모든 조건들을 만족하는 적색 원형 영역을 적목 영역으로 판정한다. 특성량 판정부(204)는 판정된 적목 영역에 관한 위치 정보를 후보 영역 목록에 저장한다.
보정부(205)는, 입력 화상 데이터와 적목 영역에 관한 위치 정보가 저장된 후보 영역 목록을 수신하여 화상 데이터의 적목 영역을 보정하고 출력 단말기(206)를 통해 보정된 화상 데이터를 출력한다. 보정 후의 화상 데이터는 모니터(113)에 표시되거나 RAM(103) 또는 저장 장치(105)에 저장된다. 또는, 화상 데이터는 인터페이스(108)에 접속된 프린터(110)를 사용하여 인쇄되거나 NIC(107)를 통해 (인트라넷 또는 인터넷을 포함하는) 네트워크(114)에 접속된 다른 컴퓨터 또는 서버로 전송될 수 있다.
<적색 영역 추출부(202)>
적색 영역 추출부(202)는 적응적 이치화를 입력 화상 데이터에 적용하여 화상 데이터로부터 적색 영역을 추출한다. 구체적으로, 적색 영역 추출부(202)는 입력 화상 데이터 내의 모든 화소에 대해 적색 레벨을 나타내는 평가량(이후 적색 평가량이라고 함)을 계산하고, 적색 평가량을 임계값과 비교하여, 적색 평가량이 임계값보다 큰 경우에는 대상 화소(target pixel)를 적색으로 판정한다. 이러한 임계값은 대상 화소 주위의 영역에서 적응적으로 결정된다. 본원의 "이치 화(binarization)"에서는, 적색으로 판정된 화소에 "1"이 할당되고 적색이 아닌 것으로 판정된 화소에 "0"이 할당된다.
도 4는 적응적 이치화를 나타낸다.
입력 화상 데이터(401) 내의 대상 화소(402)에 적응적 이치화를 적용한다. 적색 영역 추출부(202)는 수학식 3에 따라 대상 화소(402)의, 적색 레벨을 나타내는 적색 평가량 Er을 계산한다.
Er = (R - G)/R
수학식 3은 대상 화소(402)의 적색 레벨이 일반적인 HIS계의 채도로부터 계산되는 것이 아니라 RGB계에서 B 성분을 제외한 R 및 G 성분들로부터 계산된다는 것을 의미한다. 채도 대신, 수학식 3에 따른 적색 평가량 Er의 계산은 다음과 같은 이점들을 가진다.
예를 들어, 보다 짙은 색소의 눈을 가진 사람은 동공 영역(302)의 수정체의 투과율이 낮기 때문에, 선명한 적목을 가질 가능성이 낮다. 전술한 바와 같이, 일본인들의 적목 영역들은 (R, G, B) = (109, 58, 65)의 추정된 화소값들을 가지고, 일본인들의 피부색 영역들은 색상에 있어서 적색(0도) 내지 황색(30도)에 집중되어 있다는 것을 실험을 통해 알 수 있다. 이러한 영역들에서의 RGB 성분들은 R > G > B 관계를 가지고 눈 주위의 피부색 영역은 (R, G, B) = (226, 183, 128)의 추정된 화소값들을 가진다. B 성분들은 적색 영역의 화소들 및 눈 주위의 피부색 영역의 화소들 모두에서 보다 낮은 값들을 가진다. 이 경우, 적목 영역 내의 화소들은 40 의 채도를 가지고 눈 주위의 피부색 영역 내의 화소들은, 적목 영역 내의 화소들과 대략 동일한 43의 채도를 가진다. 즉, 적목 영역 내의 화소들의 채도는 눈 주위의 피부색 영역 내의 화소들의 채도와 비교할 경우 두드러지지 않는다. 따라서, 적응적 이치화를 위한 임계값으로 채도를 사용하면 적목 영역을 검출하기 어렵다.
한편, 적색 평가량 Er이 수학식 3에 따라 계산되는 경우, 즉 B 성분에 의존하지 않는 평가량에 기초하는 경우, 적목 영역 내의 화소들의 적색 평가량 Er은 51/109 또는 47%이고 눈 주위의 피부색 영역 내의 화소들의 적색 평가량 Er은 43/226 또는 19%이다. 따라서, 적목 영역 내의 화소들의 적색 평가량 Er은 눈 주위의 피부색 영역 내의 화소들의 적색 평가량 Er보다 2배 이상 크다.
결과적으로, 보다 짙은 색소의 눈을 갖는 사람의 적목을 검출하는 경우, 채도가 아니라, R 및 G 성분들만을 포함하고 B 성분을 제외하는 평가량을 수학식 3에서와 같이 정의함으로써, 적목 영역 내의 화소들이 정확하게 추출될 수 있다. 수학식 3에서 R 성분에 대한 (R-G)의 비율이 적색 평가량 Er로 정의되지만, 적색 평가량 Er은 이러한 비율로 한정되지 않는다. 예를 들어, (R-G) 또는 R/G만이 적색 평가량 Er로 정의될 수 있다.
또한, 보다 옅은 색소의 눈을 갖는 사람의 적목을 검출하는 경우, 채도가 아니라, R 및 G 성분들만을 포함하고 B 성분을 제외하는 평가량을 수학식 3에서와 같이 정의함으로써, 적목 영역 내의 화소들이 정확하게 추출될 수 있다.
다시 도 4를 참조하면, 대상 화소(402)를 이치화하기 위해, 대상 화소(402)와 동일한 라인에서 대상 화소(402)의 좌측(1차 주사 방향의 앞쪽)에 "ThWindowSize"로 표현되는 화소들의 수를 갖는 윈도우 영역(403)을 설정하고, 윈도우 영역(403) 내의 화소들의 적색 평가량 Er들의 평균 Er(ave)을 계산한다. 화소들의 수 ThWindowSize는 화상의 짧은 변의 1 내지 2 퍼센트인 값으로 설정되는 것이 바람직하다. 적색 평가량 Er은 다음과 같은 조건들이 만족되는 경우에만 계산되기 때문에, 적색 평가량 Er은 음의 값을 가지지 않는다.
R > 0 및 R > G
평균 Er(ave)을 사용하여 대상 화소(402)의 이치화를 수행하기 위해, 대상 화소(402)는 다음의 조건들을 만족시켜야 한다.
R > Th_Rmin 및 R > G 및 R > B
여기서, "Th_min"은 R 성분의 하한을 나타내는 임계값을 표현한다.
상기 조건들이 만족되면, 이치화는 수학식 6에 따라 수행된다.
Er > Er(ave) + Margin_RGB이면, "1"이 할당되고,
Er ≤ Er(ave) + Margin_RGB이면, "0"이 할당된다.
여기서, "Margin_RGB"는 파라미터를 나타낸다.
수학식 6에 따르면, 대상 화소(402)의 적색 평가량 Er이, 윈도우 영역(403)의 적색 평가량 Er들의 평균 Er(ave)에 Margin_RGB를 가산하여 얻어지는 값보다 크면, 대상 화소(402)의 이치화된 값은 "1"로 설정되며, 이는 대상 화소(402)가 적색 영역으로 추출된다는 것을 의미한다. 적색 영역들이 계속적으로 나타나는 경우 평균 Er(ave)가 너무 커지게 되기 때문에, 평균 Er(ave)의 상한이 설정될 수 있다. 이치화 결과는, RAM(103) 내에서 입력 화상 데이터에 대한 버퍼와는 다른 영역에 저장된다.
상기 처리는, 대상 화소(402)가 좌측에서 우측으로 이동되면서 입력 화상 데이터의 모든 라인의 모든 화소들에 대해 수행된다.
본 발명의 제1 실시예에서, 이치화에 대한 임계값(평균 Er(ave))이, 대상 화소(402)와 동일한 라인에서 대상 화소(402)의 좌측에 설정된 윈도우 내의 화소들의 적색 평가량 Er들로부터 계산되지만, 윈도우는 상기 윈도우에 한정되지 않는다. 예를 들어, 윈도우는, 대상 화소(402)를 포함하는 라인 위(2차 주사 방향의 앞쪽)의 몇몇 라인들에 걸쳐 대상 화소(402)의 좌측(1차 주사 방향의 앞쪽)에 있는 몇몇 화소들을 포함하는 영역으로 설정되거나, 대상 화소(402)를 중심으로 하는 소정의 직사각형 영역으로 설정될 수 있다.
도 5a 및 5b는 적응적 이치화의 일례를 나타낸다. 도 5a는 입력 화상 데이터의 적목 주변의 화상을 보여준다. 도 5b는 적응적 이치화로부터 생긴 이치화된 화상이다. 적목의 동공에 대응하는 화소들만이 도 5b에 추출된다.
1차 주사 방향으로 설정된 윈도우 내의 적색 평가량 Er들의 평균 Er(ave)를 계산하기 위해, 아래에 설명된 고속 기술이 사용될 수 있다.
도 6a 및 6b는 평균 Er(ave)를 계산하는데 사용되는 고속 기술을 나타낸다.
도 6a를 참조하면, 대상 화소(402)의 좌측에 설정된 윈도우 영역(403) 내의 적색 평가량 Er들의 평균 Er(ave)의 계산 시, 윈도우 영역(403) 내의 적색 평가량 Er들의 합이 RAM(103)과 같은 메모리에 저장된다. 이 합을 윈도우 영역(403) 내의 화소들의 수 n으로 나눔으로써 평균 Er(ave)이 간단히 계산된다. 그 후, 대상 화소(402)는 한 화소씩 우측으로 이동하고 윈도우(403)도 한 화소씩 우측으로 이동한다. 도 6b에서 윈도우 영역(403) 내의 적색 평가량 Er들의 합은, 도 6a에서 계산된 합에서 화소(501)의 적색 평가량 Er을 감산한 후, 그 감산 결과에 화소(502)(대상 화소(402)에 인접한 화소)의 적색 평가량 Er을 가산하여 만들어지기 때문에, 처리가 고속으로 수행된다. 즉, 대상 화소(402)와 윈도우 영역(403)이 이동한 후, 윈도우 영역(403) 내의 모든 화소들의 적색 평가량 Er들을 다시 계산할 필요가 없다.
<적색 원형 영역 추출부(203)>
적색 원형 영역 추출부(203)는, 이치화 화상 처리를 위한 한 방법인 경계선 추적을 통해 적색 원형 영역을 추출한다.
도 7은 경계선 추적을 나타낸다.
경계선 추적 시, 적응적 이치화로부터 얻어지는 이치화된 화상을 상한으로부터 1차 주사 방향으로 주사하여 "1" 값을 갖는 대상 화소(xa, ya) 및 "0" 값을 갖는 주위의 4개 화소들을 시작점으로 설정한다. 그 4개 화소들은 대상 화소의 좌측의 (xa-1, ya) 화소, 대상 화소의 상부 좌측의 (xa-1, ya-1) 화소, 대상 화소 위의 (xa, ya-1) 화소 및 대상 화소의 상부 우측의 (xa+1, ya-1) 화소를 포함한다. 도 7에서는 화소(701)가 시작점으로 설정된다. 이치화된 화상의 상부 좌측 코너를 원 점으로 하는 좌표계가 도 7에 설정된다.
시작점 화소(701)로부터 반시계 방향으로 적색 영역을 돌아 다시 시작점 화소(701)로 되돌아 올 때까지 "1" 값을 갖는 화소들을 추적한다. 경계선 추적 과정 동안 대상 화소가 화상 영역을 벗어나거나 대상 화소의 Y 좌표가 시작점으로 설정된 화소(701)의 Y 좌표보다 작은 경우, 경계선 추적은 중단되고 후속 시작점이 탐색된다. 도 8에 도시된 원형 영역의 내측을 따른 부적절한 추적을 방지하기 위해, 경계선 추적 동안 대상 화소의 Y 좌표가 화소(701)의 Y 좌표보다 작은 경우, 경계선 추적이 중단된다. 원형 영역의 내측을 추적하면 화소(802)의 Y 좌표가 시작점 화소(801)의 Y 좌표보다 작기 때문에, 화소(802)에서 경계선 추적이 중단된다.
경계선 추적 과정에서, 경계선 추적되는 영역의 주변 길이, 방향 히스토그램 및 X 및 Y 좌표들의 최대값 및 최소값을 결정하는 것이 가능하다. 주변 길이는 추적한 화소들의 수로 표현된다. 예를 들어, 도 7의 예에서 주변 길이는 시작점 화소(701)를 포함하는 9개 화소들에 대응한다.
한 화소에서 후속 화소로의 방향을 도 9에 도시된 8개의 모든 방향들로 누적함으로써 방향 히스토그램이 생성된다. 도 7의 예에서, 추적 방향은 "667812334"이고, 경계선 추적이 시작점 화소(701)로부터 반시계 방향으로 수행되는 경우 도 10에 도시된 방향 히스토그램이 생성된다.
도 11에 도시된 바와 같이, X 및 Y 좌표의 최대값 및 최소값은 "1" 값을 갖는 화소들을 포함하는 영역을 외접하는 직사각형 영역, 즉 적색 영역을 형성한다.
적색 원형 영역 추출부(203)는 적색 영역에 경계선 추적을 적용하여 상기 값 들을 만들고 추적된 영역이 적색 원형 영역인지 여부를 판정한다.
도 12는 추적된 영역이 적색 원형 영역인지 여부를 판정하는 처리의 일례를 나타내는 흐름도이다.
단계 S1201에서, 적색 영역의 종횡비(aspect ratio)가 미리 결정된 임계값 Th_BF_VHRatio 이상인지 여부를 판정한다. 종횡비 AR이 수학식 7에 따라 계산된다.
AR = (ymax - ymin)/(xmax - xmin)
AR > 1이면, 그 값의 역수가 종횡비로 취해져서, 항상 0과 1 사이의 값을 가진다.
구체적으로, 종횡비 AR은 0.0에서 1.0까지의 값을 가지고, AR=1.0이면, 세로 길이가 가로 길이와 동일하다. 단계 1201에서 종횡비 AR을 임계값 Th_BF_VHRatio와 비교하고, AR < Th_BF_VHRatio인 경우, 적색 영역이 적색 원형 영역이 아니라고 판정하고 후속 적색 영역으로 진행한다.
AR ≥ Th_BF_VHRatio라고 판정하면, 그 후 단계 1202에서, 적색 영역의 크기가 적절한지를 판정한다. 크기가 적절한지 여부의 판정은, (1) 실제 화소수의 상한 및 하한과, (2) 화상의 짧은 변 또는 긴 변에 대한 적색 영역의 짧은 변 또는 긴 변의 비율의 2가지 점에 기초하여 수행된다.
(1)의 경우, 적색 영역의 가로 길이 X = xmax - xmin과 세로 길이 Y = ymax - ymin 중 작은 값을 미리 결정된 임계값과 비교하여 가로 길이 X 또는 세로 길이 Y가 상한 Th_BF_SizeMax와 하한 Th_BF_SizeMin 사이에 있는지 여부를 판정한다. 가로 길이 X와 세로 길이 Y가 상한 Th_BF_SizeMax와 하한 Th_BF_SizeMin 사이에 있지 않다면, 적색 영역이 적색 원형 영역이 아니라고 판정하고 후속 적색 영역으로 진행한다.
(2)의 경우, 그 비율은 수학식 8에 따라 계산된다.
Th_BF_RatioMin < min(X,Y)/min(W,H) < Th_BF_RatioMax
여기서, X = xmax - xmin, Y = ymax - ymin이며, "W"는 입력 화상의 폭을 나타내고, "H"는 입력 화상의 높이를 나타낸다.
대상 적색 영역이 수학식 8을 만족시키지 못하면, 적색 영역이 적색 원형 영역이 아니라고 판정하고 후속 적색 영역으로 진행한다. 짧은 변들 간의 비교의 예가 수학식 8에 나타나 있지만, 긴 변들 간의 비교가 수행될 수 있다.
단계 S1202에서 적색 영역의 크기가 적절하다고 판정하면, 그 후 단계 S1203에서, 적색 영역의 주변 길이와 이상적인 원주를 비교하여 추출된 적색 영역이 원에 근접하는지 여부를 판정한다. 이상적인 원주 Ci는, 적색 영역의 폭 X 및 높이 H를 사용하여 수학식 9에 따라 근사된다.
Ci = (X + Y) × 2 × 2π/8
추출된 적색 영역이 정방형이라는 가정 하에서 정방형의 내접원의 원주가 계산된다. 수학식 9에서, "(X+Y)x2"는 적색 영역을 포함하는 정방형의 4변의 길이를 나타내고, "2π/8"은 정방형의 내접원의 원주에 대한, 정방형의 4변의 길이의 비율을 나타낸다. 수학식 10에 따라 이상적인 원주 Ci와 주변 길이를 비교하고, 수학식 10이 만족되지 못하는 경우, 적색 영역이 적색 원형 영역이 아니라고 판정하고 후속 적색 영역으로 진행한다.
min(Ci, Cx)/max(Ci,Cx) > Th_BF_CircleRatio
여기서, "Cx"는 적색 영역의 주변 길이를 나타낸다.
원주 길이가 수학식 10을 만족시키면, 그 후 단계 S1204에서, 방향 히스토그램이 벗어나는지 여부를 판정한다. 전술한 바와 같이, 도 10에 도시된 방향 히스토그램은 경계선 추적 과정에서 생성된다. 경계선 추적의 대상 영역이 원에 근사되는 경우, 경계선 추적에서 만들어지는 8개 방향의 방향 히스토그램은 균등한 분포를 나타낸다. 그러나, 예를 들어, 대상 영역이 가늘고 긴 형상을 가진다면, 방향 히스토그램은 벗어나게 된다(균등하게 되지 않는다). 예를 들어, 대상 영역이 상부 우측에서 하부 우측으로 연장하는 가늘고 긴 형상을 가진다면, 도 9의 8개 방향들 중 방향 2와 방향 6에 도수가 집중되고, 방향 4와 방향 8의 도수는 낮아진다. 따라서, 수학식 11의 모든 조건들이 만족되면, 대상 적색 영역이 적색 원형 영역이라고 판정한다. 수학식 11 중 임의의 조건이 만족되지 않는다면, 적색 영역이 적색 원형 영역이 아니라고 판정하고 후속 적색 영역으로 진행한다.
sum(f1, f2, f5, f6) < Σf × Th_BF_DirectRatio
sum(f2, f3, f6, f7) < Σf × Th_BF_DirectRatio
sum(f3, f4, f7, f8) < Σf × Th_BF_DirectRatio
sum(f4, f5, f8, f1) < Σf × Th_BF_DirectRatio
여기서, "fn"은 방향 n의 도수를 나타내고, "sum(fa, fb, fc, fd)"는 방향 a, b, c, d의 도수들의 합계를 나타내며, "Σf"는 도수들의 합계를 나타낸다.
어떤 방향에서의 도수들의 합계가 수학식 11의 소정의 값보다 크다면, 즉 방향 히스토그램이 소정의 방향으로 벗어나는 경우, 대상 적색 영역이 적색 원형 영역이 아니라고 판정한다. 수학식 11에 따른 판정 시, 도수들의 합계 Σf가 감소되면 판정의 정확성이 감소될 수 있기 때문에, 도수들의 합계 Σf가 소정의 값보다 작은 경우, 단계 S1204를 생략하고 단계 S1205로 진행할 수 있다.
단계 S1201에서 단계 S1204까지의 모든 판정을 만족시키는 적색 영역(단계 S1204를 생략하는 경우, 단계 S1201에서 단계 S1203까지의 남은 판정들을 만족시키는 적색 영역)을 적색 원형 영역(적목 후보 영역)으로 판정하고, 그 후, 단계 S1205에서, RAM(103)의 후보 영역 목록에 위치 정보를 저장한다. 대상 적색 영역이 화상 데이터의 하부 우측 근처의 영역에 도달할 때까지, 경계선 추적 및 도 12에 도시된 처리를 반복한다.
<특성량 판정부(204)>
특성량 판정부(204)는, 추출된 적색 원형 영역(적목 후보 영역)으로부터 사람의 적목을 판정하는데 사용되는 다양한 특성량들을 계산하고 계산된 특성량들을 미리 결정된 임계값들과 비교하여 적색 원형 영역이 적목 영역인지 여부를 판정한 다.
특성량 판정부(204)는, 이전 처리에서 후보 영역 목록에 기록된 적목 후보 영역에 대해 도 16의 흐름도에 도시된 순서대로 다음의 5개의 특성량군의 판정을 수행한다.
특성량군 0: 적색 원형 영역의 평가량들의 평균 Er(ave)와 적색 원형 영역의 주위 영역(이후, 주변 영역이라 함)의 평가량들의 평균 Er(ave) 간의 비교(단계 S10)
특성량군 1: 적색 원형 영역의 색상, 적색 평가량 Er 및 색성분의 변화에 대한 판정(단계 S11)
특성량군 2: 주변 영역의 휘도에 대한 판정(단계 S12)
특성량군 3: 주변 영역의 채도 및 색상에 대한 판정(단계 S13)
특성량군 4: 주변 영역의 가장자리 강도에 대한 판정(단계 S14).
이상적인 적목 영역의 이상적인 적색 성분은 주변 동공 영역 내에 있다는 특징이 있다. 이러한 특성은 다른 다양한 특성들 중 가장 두드러진다는 것을 실험을 통해 알 수 있다. 따라서, 우선 특성량군 0의 판정(단계 S10)을 수행하여 적목 후보 영역을 좁히는 것이 효율적이다.
특성량군 1의 판정(단계 S11)은 적목 후보 영역 내의 화소들만을 참조하기 때문에, 다른 특성량군의 판정에 비해 계산량이 작다.
특성량군 2와 특성량군 3의 판정들(단계 S12 및 단계 S13)은 주변 영역 내의 화소들의 RGB 성분들을 휘도 및 색차 성분들로 변환시키거나, 그 RGB 성분들을 명 도, 채도 및 색상 성분들로 변환시키는 것을 필요로 하기 때문에, 그 계산량이 특성량군 1의 판정의 계산량보다 많다.
특성량군 4의 판정(단계 S14)은, 가장자리 강도를 구하기 위해, 소벨 필터(Sobel filter)와 같은 공지의 가장자리 검출 필터를 사용한다. 따라서, 이 판정은 나머지 특성량군의 판정 중에서 가장 많은 계산량을 가진다.
따라서, 특성량 판정부(204)는 계산량이 적은 판정에서부터 또는 적목 영역의 특성을 가장 용이하게 얻을 수 있는 판정에서부터 순차적으로 판정을 수행한다. 적목 후보 영역이 적목 영역이 아니라고 특성량 판정부(204)가 판정하면, 도 16에 도시된 바와 같이, 특성량 판정부(204)는 후속 판정들을 생략함으로써 처리량을 억제시킨다.
* 주변 영역의 정의
도 13a 내지 13c는 적목 후보 영역의 특성량들의 계산에 사용되는 주변 영역들의 정의를 나타낸다.
도 13a 내지 13c를 참조하면, 중앙 블럭(1301)은 이전 처리에서 추출된 적목 후보 영역(적색 원형 영역)의 외접 직사각형이다. 주변 영역은, 그 세로 및 가로 크기를 블럭(1301)의 세로 및 가로 크기의 2배, 3배, 또는 5배로 한 블럭(1301) 주위의 영역이다. 블럭(1301)의 크기의 2배, 3배, 5배로 확대한 주변 영역들이 도 13a 내지 13c에 도시되어 있다. 이후부터 "전체 주변 영역"은 주변 영역으로부터 블럭(1301)을 제외시킨 영역을 의미한다. "주변 영역의 블럭"은, 도 13a 내지 13c에서 점선들로 도시된 바와 같이, 블럭(1301)의 변들을 연장하여 주변 영역을 8개 의 블럭들로 분할하여 얻어지는 각 블럭을 의미한다. 특성량군 1을 제외한 특성량군의 경우, 이러한 주변 영역에 대해 판정이 수행된다. 적목 후보 영역의 외접 직사각형의 크기의 5배까지의 크기를 갖는 영역을 주변 영역으로 설정하기 때문에, 판정을 고속으로 수행하는 것이 가능하다.
도 14a 및 14b는, 적목 후보 영역이 화상의 가장자리 근처에 존재하는 경우의 주변 영역을 나타낸다.
도 14a는, 적목 후보 영역의 외접 직사각형(블럭 1301)이 약간의 마진을 둔 상태로 화상의 우측 가장자리 근처에 존재하는 경우를 나타낸다. 이 경우, 주변 영역의 각 블럭 내에 적어도 하나의 화소가 존재한다면, 그 화소가 특성량들을 판정하는데 사용된다.
한편, 도 14b는 블럭(1301)이 마진을 두지 않은 채로 화상의 우측 가장자리와 접촉하는 경우를 나타낸다. 이 경우, 주변 블럭들 중, 상부 우측(TR), 우측(R), 하부 우측(BR) 블럭들을 포함하는 3개의 블럭들에 화소가 존재하지 않기 때문에, 주변 블럭들의 특성량들을 계산하는 것이 불가능하다. 이러한 경우, 본 발명의 제1 실시예에 따르면, 블럭(1301)은 적목 영역이 아니라고 판정되고 블럭(1301)은 후보 영역 목록에서 제외된다.
* 특성량군 0의 판정(단계 S10)
특성량군 0의 판정(단계 S10) 시, 예를 들어, 도 13b에 도시된 바와 같이 블럭(1301)의 크기의 3배인 주변 영역이 블럭(1301)에 대해 설정되면, 블럭(1301)을 포함하는 블럭들 내의 각 화소의 적색 평가량 Er이 수학식 3에 따라 계산되고, 적 색 평가량 Er들의 평균 Er(ave)이 계산된다. 계산된 평균 Er(ave)은 RAM(103) 내의 어레이 AEvR[8]에 저장된다. 어레이 AEvR은 0에서 8까지 9개의 요소들을 보유한다. 요소들은 상부 좌측 블럭에서부터 하부 우측 블럭까지의 블럭들에 순차적으로 할당된다. 구체적으로, 도 13a에서 요소 0는 상부 좌측(TL) 블럭에 할당되고, 요소 1은 상부(T) 블럭에 할당되며, 요소 2는 상부 우측(TR) 블럭에 할당되는 것 등이다.
그 후, 요소 i=0 내지 8(블럭(1301)에 대한 i=4는 제외됨)에서 수학식 12가 만족되는지 여부를 판정한다.
AEvR[i] < AEvR[4] × Th_FJ0_EvR
수학식 12는, 블럭(1301)에서의 평가량들의 평균 AEvR[4]에 임계값 Th_FJ0_EvR을 곱한 값이 남은 8개의 주변 블럭들에서의 평가량들의 평균 AEvR[i]보다 크다면, 적목 후보 영역이 적목 영역이라는 것을 의미한다. 수학식 12를 만족시키지 못하면, 적목 후보 영역은 적목 영역이 아니라고 판정되고, 후속 특성량들의 판정들이 수행되지 않고 후속 적목 후보 영역의 판정으로 진행된다.
적목 영역의 특성이 아래에 설명된 특성량들 중 적색 평가량 Er에서 가장 두드러지기 때문에, 수학식 12에 따른 적색 평가량 Er들의 비교가 수행된다. 수학식 12에 따른 판정이 후보 영역 목록에서 적목 영역 이외의 영역들을 제외하는데 가장 효과적이라는 것이 다양한 실험을 통해 밝혀졌다. 따라서, 가장 용이하게 판정되는 특성량으로부터 특성량들을 순차적으로 판정함으로써, 특성량 판정부(204)의 계 산량을 최소화시킬 수 있다.
각 블럭에서의 평균 Er(ave)의 계산 시, 블럭(1301)에서는 도 15a에 도시된 마름모꼴 계산 영역(1501) 내의 화소들에 대해서만 적색 평가량 Er들이 계산되는 것이 바람직하다. 적목 영역의 형상이 일반적으로 원이나 타원이기 때문에, 보다 낮은 적색 레벨을 갖는 화소들이 블럭(1301)의 4개의 코너들에 존재한다. 따라서, 블럭(1301)에서의 적색 평가량 Er들의 평균 Er(ave)를 감소시키지 않기 위해 블럭(1301)의 4개 코너들에서의 화소들을 제외한 화소들에 대해서 적색 평가량 Er을 계산하여야 한다. 또한, 도 15a의 마름모꼴 영역(1501) 이외에 블럭(1301)의 내접원(도 15b) 또는 내접 타원(도 15c)에서의 적색 평가량 Er들을 계산함으로써 유사하거나 우수한 결과를 얻을 수 있다.
* 특성량군 1의 판정(단계 S11)
특성량군 1의 판정 시, 적목 후보 영역(도 13a 내지 13c의 블럭(1301))만의 화상 데이터를 참조하여 적목 후보 영역이 적목 영역인지 여부를 판정한다. 특성량군 1의 판정은, 예를 들어 다음의 단계들을 포함한다.
먼저, 적목 후보 영역에서 ±30도의 색상을 갖는 화소들의 적색 평가량 Er들의 평균 Er(ave)이 임계값 Th_FJ1_EMin보다 높고 임계값 Th_FJ1_EMax보다 낮은지 여부를 판정한다. 이러한 판정이 만족되지 않는다면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다. 색상은 알려진 방법에 의해 구할 수 있다.
다음으로, 적목 후보 영역에서 ±30도의 색상을 갖는 화소들의 적색 평가량 Er들의 최대값 및 최소값을 구하여 비율 R = 최소값/최대값을 계산한다. 적목 후 보 영역에서는 적색 평가량 Er들이 크게 변화하기 때문에, 비율 R은 작은 값을 가진다. 따라서, 수학식 13에 따라 비율 R을 임계값 Th_FJ1_EMaxMinRatio과 비교하고, 수학식 13이 만족되지 않으면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
R < Th_FJ1_EMaxMinRatio
다음으로, 적목 후보 영역에서 R 성분의 표준 편차를 계산한다. 밝은 적색 영역, 및 적목 영역과 동공 영역 간의 경계 부근의 어두운 영역이 적목 영역에 포함되기 때문에, R 성분의 동적 범위는 상당히 큰 값이다. 따라서, 적목 영역의 R 성분의 표준 편차를 측정하면 큰 값이 된다. 이러한 이유로, 적목 후보 영역에서 R 성분의 표준 편차 δr을 공지 방법에 의해 측정하고, 수학식 14에 따라 표준 편차 δr이 임계값 Th_FJ1_RDiv보다 큰지 여부를 판정한다.
δr > Th_FJ1_RDiv
수학식 14를 만족시키지 않는 대상 적목 후보 영역은 후보 영역 목록에서 제외된다. R 성분의 표준 편차가 전술되었지만, R 성분의 분산을 사용하여 유사한 판정이 수행될 수 있다.
R 성분의 변화를 결정하기 위해, 적목 후보 영역에서 인접 화소들 간의 R 성분의 차이의 합들의 평균 SDr(ave)을 계산하여 수학식 15에 따라 계산된 평균 SDr(ave)이 임계값 TH_FJ1_RDiff보다 큰지 여부를 판정할 수 있다.
SDr(ave) > Th_FJ1_RDiff
인접 화소들 간의 차이들의 합들의 평균을 계산하는 다양한 방법이 존재한다. 예를 들어, 대상 화소와 8개의 인접 화소들 간의 차이들의 합들의 평균을 계산하거나 대상 화소와 좌측 화소 간의 차이를 계산할 수 있다. 또한, 상기 판정은, R 성분 이외에 G 또는 B 성분, 또는 휘도 또는 적색 평가량 Er에 대해 동일한 방식으로 수행될 수 있다.
* 특성량군 2의 판정(단계 S12)
특성량군 2의 판정에서는, 특성량군 1의 판정의 결과로서 후보 영역 목록 내에 남아있는 적목 후보 영역에 대해 주변 영역을 설정하고, 주변 영역 내의 휘도 성분들에 관한 판정을 수행한다. 특성량군 2의 판정은, 예를 들어 다음 단계들을 포함한다.
먼저, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13c에 도시된, 블럭(1301)의 크기의 5배인 영역)을 설정한다. 다음으로, 블럭(1301)을 제외한 8개의 주변 영역들의 평균 휘도 Y(ave)를 계산하고 평균 휘도 Y(ave)가 임계값 TH_FJ2_Ymin보다 크고 임계값 TH_FJ2_YMax보다 작은지 여부를 판정한다. 평균 휘도 Y(ave)가 임계값 TH_FJ2_Ymin과 임계값 TH_FJ2_YMax 사이의 범위에 존재하지 않는 경우, 즉, 블럭(1301)의 주변 영역이 아주 밝거나 어두운 경우, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
상기 휘도의 판정은 8개의 주변 블럭들에 대해 수행될 수 있다. 또는, 주변 영역 내의 모든 블럭에 대해 평균 휘도 Y(ave)를 계산하여 계산된 평균 휘도 Y(ave)를 소정의 임계값과 비교할 수도 있다.
다음으로, 적목 후보 영역에 대해 적목 후보 영역의 크기의 2배인 주변 영역을 설정하고(도 13a), 블럭(1301)을 제외한 8개의 주변 블럭들 각각의 평균 휘도 Y(ave)를 계산하여, 8개 평균 휘도들의 최대값 Ymax와 최소값 Ymin을 구한다. 적목 후보 영역의 크기의 2배인 주변 영역을 설정하는 경우 주변 영역의 밝기가 크게 변화될 수 있기 때문에, 수학식 16에 따라 판정이 수행된다.
(Ymax -Ymin) > Th_FJ2_MaxMinDiff2
수학식 16이 만족되지 않으면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
또한, 적목 후보 영역에 대해 적목 후보 영역의 크기의 5배인 주변 영역을 설정하고(도 13c), 8개의 주변 블럭들 각각의 평균 휘도 Y(ave)를 전술한 바와 같이 계산하여, 8개의 평균 휘도들의 최대값 Ymax와 최소값 Ymin을 구한다. 적목 후보 영역의 크기의 5배인 비교적 큰 주변 영역을 설정하는 경우, 주변 영역의 대부분은 피부색 영역이고, 따라서 그 주변 영역의 휘도가 크게 변화하는 것으로 보기 어렵다. 따라서, 적목 후보 영역의 크기의 2배인 주변 영역을 설정하는 경우와는 달리, 수학식 17에 따라 판정이 수행된다.
(Ymax -Ymin) > Th_FJ2_MaxMinDiff5
수학식 17이 만족하지 않으면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
* 특성량군 3의 판정(단계 S13)
특성량군 3의 판정에서는, 특성량군 1 및 특성량군 2의 판정들의 결과로서 후보 영역 목록 내에 남아있는 적목 후보 영역에 대해 주변 영역을 설정하고, 주변 영역 내의 채도 및 색상에 관한 판정을 수행한다. 특성량군 3의 판정은, 예를 들어 다음 단계들을 포함한다.
먼저, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13c에 도시된, 블럭(1301)의 크기의 5배인 영역)을 설정하고, 블럭(1301)을 제외한 8개의 주변 영역들에서 ±Th_FJ3_HRange의 색상을 갖는 화소들의 수의 비율 Rh를 계산한다. 적목 영역의 주변 영역은 피부색 영역이기 때문에, 대부분의 화소들의 색상은 ±Th_FJ3_HRange의 범위 내에 있어야 한다. 따라서, 계산된 비율 Rh가 임계값 ±Th_FJ3_HRatio 이상인 경우, 대상 영역은 적목 후보 영역로서 판정된다. 계산된 비율 Rh가 임계값 Th_FJ3_HRatio 보다 작은 경우, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다. 비율 Rh는 수학식 18에 따라 계산된다.
Rh = Nh/ΣN
여기서, "Nh"는 Th_FJ3_HRange의 색상을 갖는 화소들의 수를 나타내고, "ΣN"은 8개 블럭들 내의 화소들의 수를 나타낸다.
다음으로, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13c에 도시된, 블럭(1301)의 크기의 5배인 영역)을 설정하고, 주변 영역 내의 8개 블럭들의 평균 채도 S(ave)를 계산한다. 평균 채도 S(ave)가 임계값 Th_FJ3_SMin 보다 크고 임계값 Th_FJ3_SMax보다 작은지 여부가 판정된다. 평균 채도 S(ave)가 임계값 Th_FJ3_SMin과 임계값 Th_FJ3_SMax의 범위 밖에 있다면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
상기 채도의 판정은 모든 블럭에 대해 수행될 수 있다. 구체적으로, 평균 채도 S(ave)는 주변 영역 내의 모든 블럭에 대해 계산되어 계산된 평균 채도 S(ave)와 소정의 임계값을 비교할 수 있다.
적목 영역 주위에는 소위 눈의 백색 영역이 존재할 가능성이 높다. 따라서, 적목 후보 영역에 대해 설정된 주변 영역(예를 들어, 도 13b에 도시된, 블럭(1301)의 크기의 3배인 영역)에서 명도 L에 대한 채도 S의 비율 S/L은 임계값 Th_FJ3_WhitePix보다 낮다. 낮은 채도 S와 높은 명도 L을 갖는 화소가 존재한다면, 그 화소는 적목 후보 영역로서 판정된다. 적목 후보 영역에서 비율 S/L이 임계값 Th_FJ3_WhitePix보다 낮지 않다면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
* 특성량군 4의 판정(단계 S14)
특성량군 4의 판정에서는, 특성량군 1 내지 3의 판정들의 결과로서 후보 영역 목록 내에 남아있는 적목 후보 영역에 대해 주변 영역을 설정하고, 주변 영역 내의 가장자리에 관한 판정을 수행한다. 사람의 눈 근처에는 매우 선명한 가장자리가 존재하기 때문에, 가장자리는 효과적인 특성량이 될 수 있다. 공지의 소벨 필터를 가장자리를 검출하는데 사용하지만, 방법은 이러한 필터에 한정되지 않는다. 또 다른 가장자리 검출 필터를 사용하여도 동일한 판정이 수행될 수 있다. 소벨 필터는 잘 알려져 있기 때문에, 소벨 필터의 상세한 설명은 본원에서는 생략한다. 특성량군 4의 판정은, 예를 들어 다음 단계들을 포함한다.
먼저, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13a에 도시된, 블럭(1301)의 크기의 2배인 영역)을 설정하고, 주변 영역 내의 각 화소에 대해 소벨 필터를 사용한다. 모든 화소에 대해 구한 소벨 출력값들의 평균 So(ave)를 계산한다. 일반적으로 사람의 눈 근처에는 매우 선명한 가장자리가 존재하기 때문에, 평균 So(ave)은 임계값 Th_FJ4_SobelPow와 비교된다. 평균 So(ave)가 임계값 Th_FJ4_SobelPow 이하인 경우, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
다음으로, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13b에 도시된, 블럭(1301)의 크기의 3배인 영역)을 설정하고, 주변 영역 내의 각 화소에 대해 소벨 필터를 사용한다. 모든 화소에 대해 구한 소벨 출력값들의 최대값과 최소값 간의 차이 Ds를 계산한다. 일반적으로 사람의 눈 근처에 매우 선명한 가장자리가 존재하고 피부색의 편평한 부분들도 사람의 눈 근처에 존재하기 때문에, 차이 Ds는 비교적 큰 값을 가진다. 따라서, 차이 Ds가 임계값 Th_FJ4_MaxMinDiff와 비교된다. 차이 Ds가 임계값 Th_FJ4_MaxMinDiff 이하인 경우, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
또한, 적목 후보 영역에 대해 주변 영역(예를 들어, 도 13b에 도시된, 블 럭(1301)의 크기의 3배인 영역)을 설정하고, 주변 영역 내의 각 화소에 대해 소벨 필터를 사용한다. 모든 화소에 대해 구한 소벨 출력값들은 RAM(103) 내의 어레이 sobel[y][x]에 가장자리 화상으로 저장된다. 그 후, 가장자리 화상의 중심 위치 (Xw, Yw)를 계산한다. 가장자리 화상의 중심 위치 (Xw, Yw)는 수학식 19에 따라 계산된다.
(Xw, Yw) = (Σx·Sobel[y][x]/Sobel[y][x], Σy·Sobel[y][x]/Sobel[y][x])
적목 후보 영역이 사람의 눈이라면, 중심 위치 (Xw, Yw)는 가장자리 화상의 중심 근처에 존재한다. 따라서, 중심 위치 (Xw, Yw)가 예를 들어 블럭(1301) 내에 있는지 여부가 판정된다. 중심 위치 (Xw, Yw)가 블럭(1301) 내에 있다면, 그 대상 영역은 적목 후보 영역로서 판정된다. 중심 위치 (Xw, Yw)가 블럭(1301) 내에 있지 않다면, 대상 적목 후보 영역은 후보 영역 목록에서 제외된다.
또한, 적목 후보 영역에 대해 적목 후보 영역의 크기의 5배인 주변 영역을 설정하고(도 13c), 주변 영역 내의 각 화소에 대해 소벨 필터를 사용한다. 모든 화소에 대해 구한 소벨 출력값들은 어레이 Sobel[y][x]에 가장자리 화상으로 저장된다. 어레이 Sobel[y][x]가 적목 후보 영역의 크기의 5배인 주변 영역 내의 화소들의 수에 대응하는 크기를 갖는다. 그 후, 블럭(1301)을 포함하는 주변 영역에 대해 도 17에 도시된 2개의 영역, 즉 중심 영역(1701)과 외부 영역(1702)을 정의한다. 중심 영역(1701)과 외부 영역(1702)에 대해 어레이 Sobel[y][x]에 저장된 소벨 출력값들의 평균들을 계산한다. 도 17에서는 중심 영역(1701)이 블럭(1301)의 크기의 2.5배이지만, 중심 영역(1701)은 이 크기에 한정되지 않는다. 사람의 눈 근처에는 외부 영역(1702)보다도 중심 영역(1701)에 선명한 가장자리가 존재하기 때문에, 수학식 20에 따라 외부 영역(1702)에 대한 소벨 출력값들의 평균 SPowout에 대한, 중심 영역(1701)에 대한 소벨 출력값들의 평균 SPowin의 비율을 임계값 Th_FJ4_InOutRatio와 비교한다.
SPowin/SPowout > Th_FJ4_InOutRatio
수학식 20이 만족하면, 대상 적목 후보 영역은 적목 영역으로 판정된다. 수학식 20이 만족하지 않으면, 대상 적목 후보 영역은 적목 영역으로 판정되지 않고 후보 영역 목록에서 제외된다.
상기 비교의 용례로서, 평균 SPowin와 평균 SPowout을 서로 다른 임계값들과 비교할 수 있다.
특성량 판정부(204)는 최종적으로 특성량군 0 내지 군 4의 판정들을 모두 (또는 그 일부)를 만족시키는 적목 후보 영역을 적목 영역으로 판정하고 판정된 적목 영역을 포함하는 후보 영역 목록을 보정부(205)에 공급한다.
<보정부(205)>
보정부(205)는 RGB 성분들을 포함하는 입력 화상 데이터 및 상기 단계들로부터 구한 적목 영역들을 포함하는 후보 영역 목록을 수신한다.
도 18은 보정부(205)에 의해 수행되는, 후보 영역 목록 내의 적목 영역들 중 하나를 보정하는 처리의 일례를 보여주는 흐름도이다. 보정부(205)는 후보 영역 목록 내의 적목 영역들을 하나씩 도 18에 도시된 처리로 보정한다.
단계 S1801에서, 적목 후보 영역에 대해 보정 범위를 설정한다. 도 19는 보정 범위의 결정을 나타낸다.
도 19를 참조하면, 중앙의 직사각형 영역이 후보 영역 목록에 포함되는 적목 영역(1901)이다. 적목 영역(1901)의 중심을 통과하고 장축 Lw1과 단축 Lh1을 갖는 타원형 보정 영역(1902)이 설정된다. 장축 Lw1과 단축 Lh1은 수학식 21에 따라 계산된다.
Lw1 = Lw0 × CPARAM_AREARATIO
Lh1 = Lh0 × CPARAM_AREARATIO
여기서, "Lw0"는 적목 영역(1901)의 폭의 1/2이고, "Lh0"는 적목 영역의 높이의 1/2이며, "CPARAM_AREARATIO"는 보정 범위를 설정하는데 사용되는 파라미터를 나타낸다.
단계 S1802에서, 보정 영역(1902)에서의 보정에 필요한 파라미터들을 계산한다. 계산될 파라미터들은 타원형 보정 영역(1902)에서의 최대 휘도 Ymax와 수학식 3에 따라 계산된 적색 평가량 Er의 최대값 Ermax이다.
단계 S1803에서, 대상 화소가 보정 영역(1902) 내에 있는지 여부를 판정한다. 대상 화소가 타원형 보정 영역(1902) 내에 있는지 여부는 타원을 계산하기 위 한 수학식 22에 따라 판정된다.
(x/Lw1)2 + (y/Lh1)2 ≤ 1
여기서, "(x, y)"는 대상 화소의 좌표를 나타내고 좌표의 원점은 대상 적목 영역의 중심에 있다.
대상 화소의 좌표 (x,y)가 수학식 22를 만족시킨다면, 대상 화소가 보정 영역(1902) 내에 있다고 판정하고 단계 S1804로 진행한다. 대상 화소가 보정 영역(1902) 내에 있지 않다고 판정하면, 그 후 단계 S1810에서, 대상 화소를 후속 화소로 이동시킨 후, 단계 S1803으로 되돌아간다.
단계 S1804에서, 대상 화소의 RGB값들을 휘도 및 색차 성분들을 표현하는 YCC값들로 변환시킨다. 이 변환은 다양한 방법들 중 임의의 방법에 의해 수행된다.
단계 S1805에서, 대상 화소의 평가량을 계산한다. 평가량들은 단계 S1806에서 보정량들을 결정하는데 필요한 파라미터들이다. 구체적으로, 다음의 3개의 평가량들을 계산한다:
(1) 적목 영역(1901)의 중심과 대상 화소 간의 거리 r과, 적목 영역(1901)의 중심과 타원의 경계 간의 거리 r0 간의 비율 r/r0,
(2) 대상 화소의 적색 평가량 Er과 평가량들의 최대값 Ermax 간의 비율 Er/Ermax,
(3) 대상 화소의 휘도 Y와 최대 휘도 Ymax 간의 비율 Y/Ymax.
단계 S1806에서, 단계 S1805에서 계산된 파라미터들을 사용하여 대상 화소의 휘도 Y의 보정량 Vy와 대상 화소의 색차 성분들 Cr 및 Cb의 보정량 Vc를 수학식 23에 따라 계산한다.
Vy = {1 - RrTy1}·{1 - (1 - Re)Ty2}·{1 - RyTy3}Vc = {1 - RrTc1}·{1 - (1 - Re)Tc2}
여기서, Rr = r/r0, Re = Er/Ermax, 및 Ry = Y/Ymax이다.
보정량 Vy와 보정량 Vc 모두가 0.0에서 1.0까지의 범위 내에 있다. 1.0에 가까울수록 보정량이 크다는 것을 의미한다. 휘도 Y의 보정량 Vy은 3개 파라미터 모두를 사용하여 결정하고, 대상 화소의 위치와 보정 영역(1902)의 중심 간의 거리가 증가할수록 작아지게 된다. 대상 화소의 적색 평가량 Er이 최대값 Ermax보다 작으면, 보정량 Vy는 작아지게 된다. 대상 화소의 휘도 Y가 최대 휘도 Ymax에 가까워지면, 보정량 Vy는 작아지게 된다. 높은 휘도를 갖는 화소의 보정량 Vy를 작게 하면, 눈에 하이라이트 부분(캐치 라이트(catch light))을 유지하는 효과를 가진다. 한편, 보정량 Vc는 휘도에 관한 파라미터들을 제외함으로써 구한다.
수학식 23에서, "Ty1", "Ty2", "Ty3", "Tc1", 및 "Tc2"는 파라미터들을 표현한다. 이러한 파라미터들의 설정 방법에 따라, 도 20에 도시한 바와 같이 1차(실선), 2차(파선), 3차(쇄선) 직선 혹은 곡선에 의해 각각의 평가량(즉, 수학식 23에 서 { }로 둘러싸인 값들의 각각)을 표현할 수 있다.
단계 S1807에서, 보정량 Vy 및 Vc를 사용하여 수학식 24에 따라 YCC값을 보정한다.
Y' = (1.0 - Wy·Vy)·Y
C' = (1.0 - Wc·Vc)·C
여기서, "Y" 및 "C"는 보정 전의 값들이며, "Y'" 및 "C'"은 보정 후의 값들을 나타내며, "Wy" 및 "Wc"는 가중치(0.0 내지 1.0)를 나타낸다.
가중치 Wy 및 Wc를 조정하여 보정 강도를 지정한다. 예를 들어, 보정 강도를 낮음, 중간 및 높음의 3가지 레벨로 한 경우, 가중치 Wy와 Wc 모두를 예를 들어, 0.3, 0.7 또는 1.0으로 설정하면, 동일한 처리에서 서로 다른 레벨의 보정 강도를 갖는 결과들을 얻을 수 있다.
휘도 및 색차 성분들의 새로운 값들이 결정된 후, 단계 S1808에서, YCC값들을 RGB값들로 변환시킨다. 그 후, RGB값들을 보정 후의 화소값들로서 입력 화상들에 대한 메모리 버퍼에 덮어쓰거나, 출력 화상들에 대한 메모리 버퍼의 소정의 어드레스에 저장한다.
단계 S1809에서, 대상 화소가 대상 적목 영역 내의 최종 화소인지 여부를 판정한다. 대상 화소가 대상 적목 영역 내의 최종 화소가 아니라고 판정하면, 그 후 단계 S1810에서, 대상 화소를 후속 화소로 이동시키고 S1803에서 S1808까지의 상기 단계들을 반복한다. 대상 화소가 대상 적목 영역 내의 최종 화소라고 단계 S1809 에서 판정한다면, 후속 적목 영역의 보정으로 진행하고 후보 영역 목록에 기록된 모든 적목 영역들에 대해 보정을 반복한다.
상기 방법에서는, 보정부(205)에 공급된 입력 화상의 RGB 성분들을 휘도 및 색차 성분들로 변환하고, 그 휘도 및 색차를 보정한 후, 그 휘도 및 색차 성분들을 RGB 성분들로 변환하였지만, 본 발명의 제1 실시예는 상기 방법에 한정되지 않는다. 예를 들어, RGB 성분들을 명도 및 채도 성분들로 변환시키고, 그 명도 및 채도를 상기 방법과 같은 방식으로 보정한 후, 그 명도 및 채도 성분들을 RGB 성분들로 변환시킴으로써 유사한 결과들이 얻어질 수 있다.
상기 방법에서는 대상 화소의 적색 평가량 Er과 보정 영역(1902) 내의 평가량들의 최대값 Ermax 간의 비율 Er/Emax이 보정량을 결정하는 파라미터로 사용하였지만, 그 파라미터는 채도로 교체될 수 있다. 즉, 대상 화소의 채도와 보정 영역(1902) 내의 최대 채도 간의 비율을 보정량을 결정하는데 사용할 수 있다.
전술한 바와 같이, 채도 대신에 R 및 G 성분들로부터 계산된 적색 평가량 Er을 사용하여 대상 화소가 적목 영역 내의 화소인지 여부를 판정함으로써, 짙은 색소의 눈을 가진 사람의 적목을 정확하게 추출할 수 있다. 또한, 적목 후보 영역에 대응하는 이치화된 화상에 경계선 추적을 적용함으로써, 극히 적은 계산량으로 이치화된 화상으로부터 적색 원형 영역을 고속으로 추출할 수 있다. 이외에도, 적색 원형 영역으로부터 적목을 나타내는 다양한 특성량들을 계산하고 계산된 특성량들을 평가함으로써, 적목 영역이 정확하게 판정될 수 있다. 또한, 개개의 특성량들의 판정의 효과 및 특성량들의 계산시의 계산량을 고려하여, 특성량들을 적절한 순 서로 판정하여, 적목 후보 영역들을 필터링하여 적목 영역이 아닐 가능성이 높은 후보 영역을 제외시킨다. 따라서, 최소한의 처리량으로 적목 영역의 검출을 실현할 수 있다.
[제2 실시예]
이하 본 발명의 제2 실시예에 따른 화상 처리를 설명할 것이다. 제2 실시예에서는 제1 실시예와 대략 동일한 구성요소들을 식별하기 위해 동일한 참조번호가 사용된다. 그러한 구성요소들의 상세한 설명은 여기에서는 생략된다.
본 발명의 제1 실시예에서 전술된 적응적 이치화에서, 대상 화소의 좌측(1차 주사 방향의 앞쪽)에 소정의 크기를 갖는 윈도우 영역(403)(도 4 참조)을 설정하고, 윈도우 영역(403) 내의 화소들의 평가량들의 평균 Er(ave)을 계산하며, 평균 Er(ave)를 임계값으로 사용하여 대상 화소가 적색 영역 내에 있는지 여부에 따라 이치화를 수행한다. 이러한 방법에서는 임계값을 계산하는데 참조되는 화소들의 수가 적기 때문에, 처리 속도를 증가시킨다. 그러나, 대상 화소의 좌측에만 윈도우 영역(403)을 설정하기 때문에, 이치화의 결과는 처리 방향에 의존한다. 결과적으로, 도 5a에 도시된 화상에 적응적 이치화를 적용하는 경우, 도 21a에 도시된 바와 같이 적목 영역 내의 동공에 대응하는 부분 이외에, 아이라인(eyeline)(2001)이 적색 영역 내의 화소들로 추출되는 경우가 존재한다. 이것은 다음의 원인들에 기초한다.
본 발명의 제1 실시예에 따르면, 대상 화소(2002)를 이치화시키는데 사용되는 임계값은 대상 화소(2002)의 좌측에 설정된 윈도우 내의 화소들의 평가량들의 평균 Er(ave)이고, 대상 화소(2002)의 적색 평가량 Er과 평균 Er(ave) 간의 비교 결과에 기초하여 이치화를 수행한다(수학식 6 참조). 윈도우가 추출될 동공에 대응하는 부분의 좌측에 있기 때문에, 윈도우는 일반적으로 피부색 영역에 설정된다. 옅은 색소를 갖는 사람의 피부색 영역의 화소값은, 예를 들어, (R,G,B) = (151, 135, 110)과 같다. 수학식 3에 따른 적색 평가량 Er의 계산은 11%가 되는데, 이는 비교적 작은값이다. 한편, 아이라인(2001)을 형성하는 대상 화소(2002)는 피부색 영역의 휘도보다 낮은 휘도를 갖고 그 화소값은 예를 들어 (R,G,B) = (77,50,29)와 같다. 수학식 3에 따른 적색 평가량 Er의 계산은 35%가 된다. 상기 숫자들로부터 명백한 바와 같이, 아이라인(2001)을 형성하는 대상 화소의 적색 평가량 Er은 윈도우 내의 피부색 영역의 적색 평가량 Er보다 크다. 따라서, 제1 실시예에 따른 적응적 이치화에서는 그 결과가 파라미터 Margin_RGB에 의존하지만, 대상 화소(2002)는 적색 영역 내의 화소로 추출될 가능성이 있다.
결과적으로, 도 21a에 도시된, 좌표들[(xmin, ymin) 및 (xmax, ymax)]에 의해 둘러싸인 적색 영역을 추출한다. 이 추출 결과가 적색 원형 영역 추출부(203)에 공급되는 경우, 본래의 적색 원형 영역보다 넓은 영역에 대해 적색 원형 영역의 추출이 수행되고, 그 결과 추출 결과의 신뢰성이 저하되고 추출 시간이 증가하게 될 수 있다.
동일한 크기를 갖는 윈도우가 대상 화소(2002)의 우측에도 설정되면, 윈도우는 피부색 영역에 대응하는 화소들 이외에도 아이라인을 형성하는 화소들을 포함하고, 경우에 따라서는 적목의 동공에 대응하는 화소들을 포함한다. 따라서, 대상 화소(2002)의 우측에 설정된 윈도우 내의 평가량들의 평균 Er(ave)이 증가한다. 결과적으로, 대상 화소(2002)는 대상 화소(2002)의 우측에 설정된 윈도우 내의 화소에 비해 두드러진 적색 평가량 Er을 가지지 않기 때문에, 적색 영역 내의 화소로서 판정될 가능성이 적다.
적색 영역 추출부(202)에 의해 수행되는 적응적 이치화에서 윈도우들이 대상 화소의 좌측 및 우측 모두에 설정되는 예가 본 발명의 제2 실시예로서 설명될 것이다.
본 발명의 제2 실시예에 따른 적응적 이치화에서는, 먼저, 윈도우 영역(403)이 도 22a에 도시된 바와 같이 대상 화소(402)의 좌측에 설정되고, 대상 화소(402)는 제1 실시예와 같은 방식으로 이치화된다. 그 후, 도 22a에서 화살표로 도시된 바와 같이, 대상 화소(402)를 좌측에서 우측으로 이동시키면서 그 이치화 결과가 RAM(103) 내의 이치화된 화상에 대한 버퍼에 저장한다.
대상 화소(402)가 라인의 우측 끝부분에 도달하고 대상 화소(402)가 좌측에서 우측으로 이동되는 방향으로의 이치화가 종료된 후, 도 22b에 도시된 바와 같이, 대상 화소(402)는 동일한 라인의 우측에서 좌측으로인 반대 방향으로 이동되는 이치화가 수행된다. 이 경우, 이치화에 대한 임계값을 설정하는데 사용되는 윈도우(404)는 대상 화소(402)의 우측에 설정된다.
상기 양쪽 방향들의 이치화에서, 이치화 결과로서 "1" 값을 갖는 화소가 이치화된 화상에 대한 버퍼 내에 적색 영역의 화소로서 저장된다.
도 21b는 양쪽 방향들에서의 적응적 이치화로부터 발생되는, 적색 영역 내의 화소들의 예를 나타낸다. 아이라인 등에 대응하는 화소들이 도 21b에는 제외되어 있기 때문에, 한 방향에서만의 적응적 이치화의 결과에 비해서(도 21a), 적색 영역이 적절하게 추출된다.
전술한 바와 같이, 적응적 이치화 처리에 의한 적색 영역의 추출에서는, 이치화 임계값이 계산되는 윈도우를 대상 화소에 대해 좌측 및 우측 방향에 설정함으로써 적색 영역 내의 화소를 정확하게 추출할 수 있다.
[제3 실시예]
이하 본 발명의 제3 실시예에 따른 화상 처리를 설명할 것이다. 제3 실시예에서는 제1 및 제2 실시예들과 대략 동일한 구성요소들을 식별하기 위해 동일한 참조번호가 사용된다. 그러한 구성요소들의 상세한 설명은 여기에서는 생략된다.
수학식 3에서 정의된 적색 평가량 Er에 기초한 적응적 이치화에 의해 적색 영역 내의 화소를 추출하는 방법들이 본 발명의 제1 및 제2 실시예들에서 설명되었다. 그러한 방법들을 사용하면, 도 23에 도시된 적목의 동공(2301) 이외에, 눈의 바깥 또는 안쪽 코너(2302)에 대응하는 화소들이 적색 영역 내의 화소들로서 추출될 가능성이 있다. 눈의 바깥 또는 안쪽 코너(2302)를 확대하면, 예를 들어, 화소값 (R,G,B) = (81,41,31)을 갖는 많은 "암적색(dark red)" 화소들이 존재한다는 것을 볼 수 있다. 이러한 화소들의 적색 평가량 Er은 49%이고, 이는 비교적 큰 값이다. 따라서, 본 발명의 제1 및 제2 실시예들에 따른 적응적 이치화에서는, 어느 정도의 크기를 갖는 화소들의 집합이 검출될 수 있다. 또한, 주변 영역 및 가장가지의 명도, 색상, 채도가 눈의 특성을 나타낸다. 결과적으로, 적색 원형 영역 추 출부(203) 및 특성량 판정부(204)에서의 모든 판정을 만족시키고, 적목 영역 내에 있지 않는 화소들이 적목 영역 내에 있는 화소로서 잘못 판정될 가능성이 있다. 이러한 문제를 해결하기 위하여, 본 발명의 제3 실시예에 따른 구성이 설명될 것이다.
도 24는 본 발명의 제3 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 보여주는 기능 블록도이다. 이 처리는 CPU(101)에 의해 수행된다. 본 발명의 제1 실시예에 비해서, 도 2에 도시된 처리에 후보 영역 평가부(207)가 추가된다.
후보 영역 평가부(207)는 상류(upstream) 단계들에서 생성된 후보 영역 목록을 참조하고 각 적목 후보 영역의 상대적 위치 및 면적을 평가하여 적목 후보 영역들을 분류한다. 즉, 그 평가에서 적목 영역으로 적절하지 않은 영역으로 판정된 적목 후보 영역은 후보 영역 목록에서 제외된다.
도 25는 후보 영역 평가부(207)에 의해 수행되는 처리의 일례를 나타내는 흐름도이다. 특성량 판정부(204)는 k개(0에서 k-1)의 영역들을 적목 후보 영역들로서 추출한다(검출된 영역들의 전체 개수 Ne는 "k"와 같다).
도 25를 참조하면, 단계 S2499에서, 계수기 k에 검출된 영역들의 전체 개수 Ne를 설정한다. 단계 S2500에서, 제k 적목 후보 영역(이후부터 영역 k로 지칭함)의 치수 및 중심 위치를 계산한다. 치수는 직사각형 영역으로서 추출된 적목 후보 영역의 짧은 변의 길이를 의미한다. 단계 S2501에서, 계수기 i에 0을 설정한다. 단계 S2502에서, 후보 영역 목록에 저장된 제i 적목 후보 영역(이후부터 영역 i로 지칭함)의 치수 및 중심 위치를 계산한다. 단계 S2503에서, 영역 k의 크기(이후부터 크기 k로 지칭함)를 영역 i의 크기(이후부터 크기 i로 지칭함)와 비교한다. 크기 i가 크기 k보다 작다고 판정하면, 그 후 단계 S2512에서, 계수기 i를 증분(increment)시키고 단계 S2502로 진행한다.
크기 i가 크기 k 이상이라고 판정되면(영역 k의 크기보다 큰 크기를 갖는 적목 후보 영역이 존재함), 그 후, 단계 S2504에서, 도 26에 도시된 양쪽 영역들의 중심들 간의 거리 Size를 계산한다. 단계 S2505에서, 양쪽 영역들의 중심들 간의 거리 Size로부터 크기를 평가하는데 사용되는 임계값 Th_Size를 계산한다.
도 27은 양쪽 영역들의 중심들 간의 거리 Size와 임계값 Th_Size 간의 관계의 일례를 나타낸다. 수평축은 양쪽 영역들의 중심들 간의 거리를 나타내고 수직축은 임계값 Th_Size를 나타낸다. "Sa", "Sb", "La" 및 "Lb"는 파라미터들을 나타내고, 예를 들어 La=3.0, Lb=5.0, Sa=1.0, Sb=2.0이다. 양쪽 영역들의 중심들 간의 거리 Size가, 이러한 파라미터들이 설정된 영역 k의 크기(짧은 변의 길이)의 3배 이하이면, 임계값 Th_Size는 1.0과 같다. 양쪽 영역들의 중심들 간의 거리 Size가 영역 k의 크기의 3배 내지 5배이면, 임계값 Th_Size는 도 27에 도시된 직선 상의 값으로 결정된다. 양쪽 영역들의 중심들 간의 거리 Size가 영역 k의 크기의 5배 이상이면, 판정이 수행되지 않는다.
단계 S2506에서, 크기 i와 크기 k x Th_Size를 비교한다. 크기 i가 크기 k x Th_Size 이상이면, 즉, 영역 k보다 큰 적목 후보 영역이 영역 k 근처에 존재한다면, 영역 k가 적목 영역이 아니라고 판정하고, 그 후 단계 S2507에서, 영역 k를 후 보 영역 목록에서 제외시킨다. 단계 S2508에서, 검출된 영역들의 전체 개수 Ne를 감분(decrement)시키고 단계 S2510으로 진행한다.
단계 S2506에서, 크기 i가 크기 k x Th_Size보다 작다면, 그 다음 단계 S2509에서, 크기 i가 크기 k에서 1을 감산한 값과 같은지 여부를 판정한다. 크기 i가 크기 k에서 1을 감산한 값보다 작다고 판정하면, 그 후, 단계 S2512에서 계수기 i를 증분시키고 단계 2502로 되돌아간다. 크기 i가 크기 k에서 1을 감산한 값과 같다고 판정하면, 그 후 단계 S2510에서, 계수기 k를 감분시킨다. 단계 S2511에서, 계수기 k가 0과 같은지 여부를 판정한다. 계수기 k가 0보다 크다고 판정하면, 단계 S2500으로 되돌아간다. 계수기 k가 0과 같다고 판정하면, 처리를 종료한다.
상기 처리를 통해 불필요한 적목 후보 영역이 후보 영역 목록에 기록된 적목 후보 영역들로부터 제외된다.
전술한 바와 같이, 어떤 적목 후보 영역 근처에 그 적목 후보 영역보다 작은 적목 후보 영역이 존재하면, 작은 적목 후보 영역이 후보 영역 목록에서 제외됨으로써, 전술한 잘못 판정에 대한 문제를 해결한다.
[제4 실시예]
이하 본 발명의 제4 실시예에 따른 화상 처리를 설명할 것이다. 제4 실시예에서는 제1 내지 제3 실시예들과 대략 동일한 구성요소들을 식별하기 위해 동일한 참조번호가 사용된다. 그러한 구성요소들의 상세한 설명은 여기에서는 생략된다.
본 발명의 제1 실시예에 따른 적응적 이치화에서는, 적목 내의 하이라이트로 인해 적목 영역이 분할되는 경우가 존재한다. 도 28a는 적목을 확대시킨 도면이다. 도 28a를 참조하면, 참조번호 2801은 눈의 홍채 영역을 나타내고, 참조번호 2802는 그의 적색 동공 영역을 나타내며, 참조번호 2803은 플래시에 의해 야기되는 하이라이트(백색) 영역을 나타낸다. 널리 알려진 바와 같이, 적목 현상은 플래시에 의해 야기되는 현상이기 때문에, 촬영된 화상 내의 동공 영역(2802)에는 플래시에 의해 야기되는 하이라이트 영역이 높은 확률로 존재한다. 이는 또한 캐치 라이트(catch light)라고도 불린다.
일반적으로 하이라이트 영역은 촬영된 화상 내의 동공 영역에서의 작은점이기 때문에, 적목의 검출에 영향을 주지 않는다. 그러나, 화상 촬영의 조건에 따라, 하이라이트 영역이 확대되어 동공 영역의 큰 부분을 차지하거나 도 28a의 하이라이트 영역(2803)과 같이 가늘고 긴 형상을 가질 수 있다. 이러한 화상 데이터에 제1 실시예에 따른 적응적 이치화를 적용하면, 하이라이트 영역(2803)의 적색 평가량 Er을 작게 하여, 하이라이트 영역(2803)이 적색 영역으로 판정되지 않는다. 또한, 도 28b에 도시된 바와 같이, 이치화된 화상 내에서 동공 영역이 2개의 영역(2804, 2805)으로 분할되는 경우가 존재한다. 이러한 2개의 영역들에 제1 실시예에 따른 하류 단계들을 적용하면, 동공 영역(2802)이 적목 영역으로 판정될 확률을 크게 감소시킨다. 본 발명의 제4 실시예에 따르면, 인접 적색 원형 영역들을 결합시키는 처리가 제공되어 이러한 문제를 해결한다.
도 29는 본 발명의 제4 실시예에 따른, 적목을 자동적으로 보정하는 처리의 개요를 보여주는 기능 블록도이다. 이 처리는 CPU(101)에 의해 수행된다. 본 발 명의 제3 실시예에 비해서, 도 24에 도시된 처리에 후보 영역 결합부(208)가 추가된다.
후보 영역 결합부(208)는, 적색 원형 영역 추출부(203)에 의해 추출된 적색 원형 영역의 상부 좌측 및 하부 우측 좌표들이 저장된 후보 영역 목록을 참조하여 그 적색 원형 영역을 인접하는 적색 원형 영역과 결합할 것인지 여부를 판정한다. 도 31은 후보 영역 목록의 일례를 나타낸다. 4개의 적색 원형 영역들이 도 31의 예에 기록되어 있지만, 실제로는 수십, 경우에 따라서는 수천의 적색 원형 영역들이 후보 영역 목록에 기록된다.
도 30은 후보 영역 결합부(208)에 의해 수행되는 처리의 일례를 나타내는 흐름도이다.
단계 3001에서, 계수기 i를 0으로 초기화시킨다. 단계 S3002에서, 계수기 j를 "i"로 초기화시킨다. 단계 S3003에서 후보 영역 목록 내의 제i 행 및 제j 행에 각각 기록된 적색 원형 영역들(이후부터 "영역 i" 및 "영역 j"로 지칭함)이 하나로 결합될 것이지 여부를 판정한다. 구체적으로는, 도 32a에 도시된 바와 같이, 폭 Wi 와 높이 Hi(화소들의 수)를 갖는 영역 i 및 폭 Wj와 높이 Hj를 갖는 영역 j를 포함하는 직사각형 영역을 설정하고, 직사각형 영역의 폭 Wij 및 높이 Hij를 계산한다. 그 후, 영역 i가 영역 j에 인접해 있고 영역 j의 크기와 비슷한 크기를 갖는지 여부를 수학식 25에 따라 판정한다.
(Wi·Hi + Wj·Hj)/(Wij·Hij) > Th_J
여기서 "Th_J"는 0보다 크고 1.0 이하인 임계값이다(0 < Th_J ≤ 1.0).
수학식 25는, 영역 i 및 j를 포함하는 직사각형 영역의 크기에 대한, 영역 i의 크기와 영역 j의 크기의 합의 비율이 계산된다는 것을 의미한다. 그 비율이 임계값 Th_J보다 크다면, 영역 i는 영역 j에 인접해 있고 영역 j의 크기와 유사한 크기를 갖는다고 판정된다. 영역 i 및 j가 도 32b에 도시된 위치 관계를 갖는다면, 수학식 25에 따라 계산된 비율은 작게 되고 영역 i 및 j가 하나로 결합될 수 없다고 판정한다.
영역 i 및 j가 하나로 결합될 수 없다고 단계 S3003에서 판정하면, 그 후 단계 S3008에서, 계수기 j를 증분시키고 단계 S3003으로 되돌아간다. 영역 i 및 j가 하나로 결합될 수 있다고 단계 S3003에서 판정한다면, 그 후 단계 S3004에서, 결합 전의 영역과 비교하여, 결합된 영역이 정방형에 가까운지 여부를 판정한다. 구체적으로, 수학식 26에 따라 판정한다.
min(Wij, Hij)/max(Wij, Hij) > max{min(Wi, Hi)/max(Wi, Hi), min(Wj, Hj)/max(Wj, Hj)}
수학식 26은 영역 i 및 j를 포함하는 직사각형 영역의 종횡비(1보다 작음)가 영역 i의 종횡비와 영역 j의 종횡비 중 큰 종횡비보다 크다는 것을 의미한다. 즉, 직사각형 영역이 정방형에 가까운지 여부를 판정한다. 수학식 26이 만족된다면, 결합된 직사각형 영역은 정방형에 가까워지고 따라서, 적색 원형 영역은 원에 가까워진다.
수학식 26이 만족되지 않는다면, 그 후 단계 S3008에서, 계수기 j를 증분시키고, 단계 S3003으로 되돌아 간다. 수학식 26이 만족되면, 그 후 단계 3005에서, 후보 영역 목록 내의 제i 위치 정보를, 영역 i 및 j를 포함하는 직사각형 영역의 좌표를 사용하여 갱신하고, 후보 영역 목록로부터 제j 위치 정보를 삭제한다.
단계 S3006에서, 계수기 j의 값이 최대값(후보 영역 목록의 끝부분)에 도달하는지 여부를 판정한다. 계수기 j의 값이 최대값에 도달하지 못한다고 판정하면, 그 후, 단계 S3008에서, 계수기 j를 증분시키고 단계 S3003으로 되돌아간다. 계수기 j의 값이 최대값에 도달한다고 판정하면, 그 후 단계 S3007에서, 계수기 i의 값이 최대값(후보 영역 목록의 끝부분)에 도달하는지 여부를 판정한다. 계수기 i의 값이 최대값에 도달하지 못한다고 판정하면, 그 후 단계 S3009에서 계수기 i를 증분시키고 단계 S3002로 되돌아간다. 계수기 i의 값이 최대값에 도달한다고 판정하면, 처리는 종료된다.
상기 처리에 의해, 후보 영역 목록에 기록되고 하이라이트 영역에 의해 분할되는 적색 원형 영역들이 하나로 결합된다.
전술한 바와 같이, 어떤 적색 원형 영역 근처에 그 적색 원형 영역과 유사한 적색 원형 영역이 존재하는 경우, 이들 적색 원형 영역을 결합시키면 적목 영역의 조건(외접 직사각형이 정방형에 가까운지 여부)을 만족하게 되는지 여부를 판정한다. 이러한 처리를 이용하면, 동공 영역 내의 하이라이트 영역에 의해 분할된, 적목 영역에 대응하는 적색 원형 영역들을 적절하게 결합시키는 것이 가능하다.
[제5 실시예]
이하 본 발명의 제5 실시예에 따른 화상 처리를 설명할 것이다. 제5 실시예에서는 제1 내지 제4 실시예들과 대략 동일한 구성요소들을 식별하기 위해 동일한 참조번호가 사용된다. 그러한 구성요소들의 상세한 설명은 여기에서는 생략된다.
CPU의 성능 및/또는 가용 메모리(예를 들어, RAM)의 용량이 한정되는 조건들 하에서 본 발명의 제1 내지 제4 실시예들 중 어느 한 실시예에 따른 화상 처리를 구현하는 방법을 본 발명의 제5 실시예에서 설명할 것이다. 그 조건은, 복사기, 프린터, 디지털 카메라, 스캐너 또는 디지털 다기능 머신과 같은 화상 입출력 장치 내의 화상 처리부에 대응한다.
상기 조건들 하에서, 가용 작업 메모리는 수백 킬로바이트 내지 수메가바이트까지의 용량을 가진다. 한편, 디지털 카메라의 해상도가 증가되어 천만 화소 이상의 해상도를 갖는 카메라들이 나타나게 되었다. 그러한 고해상도로 촬영한 화상들로부터 한정된 작업 메모리를 사용하여 적목 영역을 검출하기 위해서는, 입력 화상의 해상도를 감소시키는 것이 효과적인 방법이다. 예를 들어, 8백만 화소들을 각각 갖는 입력 화상들을 수평 및 수직 방향으로 하나의 화소 간격으로 서브샘플링하면, 화상의 해상도를 본래 화상도의 1/4, 즉 2백만 화소로 감소시킬 수 있다. 이 경우, 화상들을 저장하는데 필요한 작업 메모리의 용량도 본래 용량의 1/4로 감소된다. 그러나, 24 비트의 RGB 값을 각각 갖는 화소들의 경우, 해상도가 2백만 화소로 감소되더라도 감소된 화상들을 동시에 유지하기 위해서는 약 6메가바이트의 작업 메모리가 요구된다. 이러한 저장 용량은 고용량 RAM을 구비한 워크스테이션 또는 퍼스널 컴퓨터에서는 문제없이 얻어질 수 있지만, 제한된 조건들에서는 작업 메모리에 사용되는 용량을 감소시키기 위한 추가의 개선이 요구된다.
본 발명의 제5 실시예에 따른, 입력 화상의 크기를 축소시키고, 축소 화상을 밴드(band)들로 분할하여, 밴드마다 적목 영역을 추출하는 방법이 설명될 것이다. 밴드들로의 분할에서는, 밴드들 간의 경계선 상의 적목을 검출하기 위해, 도 33에 도시된 바와 같이, 오버랩 영역이 제공된다. 도 33을 참조하면, 참조번호 3301은 입력 화상을 축소하여 얻은 축소 화상을 나타내고, 참조문자 "BandHeight"는 한 밴드 내의 라인들의 수를 나타낸다. 즉, "Width×BandHeight"와 동일한 화소들의 수를 갖는 화상들에 대해 적목 영역의 추출이 수행된다. 제5 실시예에서의 밴드 분할 시, "OverlapArea"로 표현된 라인들의 수를 포함하는 영역에 걸쳐 밴드가 이전 밴드와 중복된다. 따라서, 밴드들 간의 경계선 상의 적목(3302)을 추출하는 것이 가능하다.
도 34는 본 발명의 제5 실시예에 따른, 적목 영역을 추출하는 처리의 일례를 보여주는 흐름도이다. 이 처리는 화상 입출력 장치 내의 CPU에 의해 수행된다.
단계 S3401에서, 계수기 N을 0으로 초기화시킨다. 단계 S3402에서, 제N 밴드의 축소 화상을 생성한다.
간단히 하기 위해, 간단한 데시메이션(decimation)에 의해 축소 화상을 생성하는 방법이 설명될 것이다. 예를 들어, 8백만 화소를 각각 갖는 화상들이 화상 입출력 장치의 (장치 내에 탑재된 하드 디스크나 플래시 메모리, 또는 장치에 외부에서 장착된 메모리 카드와 같은) 메모리 내에 저장된다고 가정하자.
단계 S3402에서, 메모리 내의 화상 데이터에 액세스하고, 화상 데이터가 JPEG(Joint Photographic Experts Group) 포맷으로 저장되어 있다면, 제1 MCU(minimum coding unit) 블럭을 디코딩하여 디코딩된 블럭을 작업 메모리 내의 소정의 영역에 저장한다. 이러한 MCU 블럭은 예를 들어 16 x 8 화소들의 크기를 갖는다. 그 후, 디코딩된 화상 데이터를, 예를 들어, 하나의 화소 간격으로 서브샘플링하여 8 × 4 화소들의 크기를 갖는 화상 데이터를 생성하고, 생성된 화상 데이터를, 작업 메모리 내의 적목 영역의 추출을 위한 화상 저장 영역에 저장한다. 라인들의 수 "BandHeight"에 대응하는, 적목 영역의 추출을 위한 화상 저장 영역이 채워질 때까지 그 처리를 반복한다. 상기 단계는, 화상 내의 8백만 화소가 2백만 화소로 감소되는 경우에 사용되는 밴드 화상을 제공한다.
간단한 데시메이션에 대한 대안으로서, 인접 보간(neighbor interpolation) 및 선형 축소를 포함하는 다양한 방법들 중 임의의 방법에 의해 축소 화상을 생성할 수 있다.
축소 화상의 밴드 화상이 생성된 후, 단계 S3403에서, 제N 밴드의 적목 영역을 추출한다.
도 35는 제N 밴드의 적목 영역의 추출(단계 S3403)을 상세하게 보여주는 흐름도이다.
단계 S3501에서, 전술한 적응적 이치화를 축소 화상에 대해 수행한다. 축소 화상에 대한 저장 영역과는 다른 영역에 이치화 결과(적색 영역의 이치화된 화상)가 저장된다. 축소 화상 내의 OverlapArea 영역은 중복 영역이기 때문에, OverlapArea 영역의 처리는 제N-1 밴드에서 종료된다. 따라서, N > 0이면, OverlapArea 영역의 처리가 생략되어 제N-1 밴드의 결과를 재사용한다. 이는 처리 속도를 증가시키는데 공헌을 한다.
단계 S3502에서, 이치화된 결과(적색 영역)에 대해 전술한 경계선 추적을 수행하여 밴드 화상으로부터 적색 원형 영역을 추출한다.
추출된 적색 원형 영역에 대한 특성량들의 판정을 수행하기 전에, 단계 S3503에서 후보 영역의 선택을 수행하여, 복수의 적색 원형 영역들로부터 특성량들의 판정이 수행될 적색 원형 영역을 선택한다.
도 36은 제N-1, 제N, 제N+1 밴드들에 걸친 OverlapArea에 4개의 적색 원형 영역들이 존재하는 일례를 나타낸다. 예를 들어, 적색 원형 영역(3603)은 제N 및 제N+1 밴드들에 걸쳐 존재한다. OverlapArea 영역 내의 적색 원형 영역(3603)의 처리가 중복되기 때문에, 제N 및 제N+1 밴드 모두에서 특성량의 판정을 수행하는 것은 효율적이지 못하다.
따라서, 제N 밴드와 제N+1 밴드 중에 어떤 밴드에서 적색 원형 영역(3603)의 특성량의 판정을 수행할지를 판정한다. 적색 원형 영역(3603)에 대해 설정된 주변 영역의 상부 부분은 제N+1 밴드에서의 판정 시에는 참조될 수 없는 반면, 제N 밴드에서의 판정 시에는 참조될 수 있다. 따라서, 적색 원형 영역(3603)에 대해 제N 밴드에서의 판정 결과가 보다 높은 신뢰성을 가진다. 일반적으로, OverlapArea 영역 내의 적색 원형 영역의 특성량의 판정은, 적색 원형 영역의 주변 영역을 보다 넓게 참조할 수 있는 밴드에서 행하여져야 한다.
결과적으로, 도 37에 도시된 바와 같이, 제5 실시예의 단계 S3503에서의 후 보 영역의 선택시, OverlapArea 영역 내의 적색 원형 영역의 상부 끝부분과 제N+1 밴드의 상부 끝부분 간의 거리 UPLen을 추정하고(제N+1 밴드가 아직 처리되지 않았기 때문에 제N+1 밴드 내의 적색 원형 영역의 위치를 추정) 적색 원형 영역의 하부 끝부분과 제N 밴드의 하부 끝부분 간의 거리 BTLen을 계산한다. UPLen < BTLen이면, 적색 원형 영역의 특성량들의 판정이 제N 밴드에서 수행된다. UPLen ≥ BTLen이면, 적색 원형 영역의 특성량의 판정이 제N 밴드에서 수행되지 않는다(제N+1 밴드에서 수행). 특성량의 판정이 제N 밴드에서 수행되지 않는 경우, 적색 원형 영역은 후보 영역 목록에서 제외된다.
도 36의 적색 원형 영역(3604)에 대해 거리 UPLen 및 BTLen을 계산하면, 거리 UPLen과 BTLen 간의 관계는 UPLen > BTLen으로 표현되어, 적색 원형 영역(3604)의 특성량의 판정이 제N+1 밴드에서 수행된다. 적색 원형 영역(3601, 3602)에 대해서는, 적색 원형 영역(3601, 3602)의 특성량들의 판정이 각각 제N-1 밴드 및 제N 밴드에서 수행된다.
전술한 바와 같이, 단계 S3503에서의 후보 영역의 선택시, OverlapArea 영역 내의 적색 원형 영역의 상부 끝부분과 제N+1 밴드의 상부 끝부분 사이, 및 그 하부 끝부분과 제N 밴드의 하부 끝부분 사이의 거리(마진)를 계산하고, 거리들 간의 관계에 따라, 특성량의 판정이 어느 밴드에서 수행되는지를 판정한다. 이러한 방법을 통해 OverlapArea 영역 내의 적색 원형 영역의 특성량의 판정이 되풀이되는 것을 방지한다.
도 35를 다시 참조하면, 단계 S3504에서는, 단계 S3503에서 선택된 적색 원 형 영역에 대해 전술한 특성량들의 판정을 수행한다. 단계 S3505에서, 적목 영역으로 판정된 영역의 보정에 필요한 파라미터들을 계산한다. 단계 S3506에서, 도 38에 도시된 바와 같이 후보 영역 목록에 파라미터들과 적목 영역에 관한 정보의 조합을 저장한다. 파라미터들은, 보정량 Vy 및 Vc의 계산(수학식 23)에 필요한, 적색 평가량들의 최대값 Ermax 및 보정 영역의 최대 휘도 Ymax이다.
도 34를 다시 참조하면, 도 35의 제N 밴드의 적목 영역의 추출이 단계 S3403에서 종료된 후, 단계 S3404에서, 최종 밴드의 처리가 완료되었는지 여부를 판정한다. 최종 밴드의 처리가 완료되면, 처리는 종료된다. 최종 밴드의 처리가 완료되지 않으면, 그 후 단계 S3405에서, 계수기 N을 증분시키고 단계 S3402로 되돌아간다.
도 39는 본 발명의 제5 실시예에 따른 보정 처리의 일례를 나타내는 흐름도이다.
단계 S3901에서, 적목 영역의 위치 정보를 변환시킨다. 적목 영역의 추출 및 보정이 제5 실시예의 화상 입출력 장치 내에 포함되는 처리들과 같이 수행되기 때문에, 전술한 바와 같이 적목 영역의 추출은 축소 화상에 대해 수행된다. 그러나, 보정될 화상은 축소 전의 고해상도 화상이고 프린터와 같은 화상 입출력 장치가 사용되면 화상이 인쇄(출력) 해상도까지 확대될 수 있거나 또는 회전될 수 있다. 따라서, 축소 비율, 확대 또는 회전에 따라 축소 화상으로부터 추출된, 적목 영역의 위치 정보를 변환할 필요가 있다.
후보 영역 목록 내에 저장된 위치 정보는 도 41에 도시된 바와 같이 적목 영 역의 상부 좌측 좌표(Xt0, Yt0) 및 하부 우측 좌표(xb0, yb0)로 표현된다. 축소 화상의 수평 및 수직 화소들의 개수가 "W0" 및 "H0"로 표시되고, 보정될 화상의 수평 및 수직 화소의 개수가 "W1" 및 "H1"으로 표시되는 경우, 보정될 화상 내의 적목 영역의 좌표는 수학식 27에 따라 계산된다.
(xt1, yt1) = {int(xt0·k),int(yt0·k)}(xb1, yb1) = {int(xb0·k), int(yb0·k)}
여기서, k=W1/W0, "int()"는 독립 변수의 값을 초과하지 않는 최대 정수를 나타내고, "(xt1, yt1)"는 보정될 화상 내의 적목 영역의 상부 좌측 좌표를 나타내고, "(xb1, yb1)"은 보정될 화상 내의 적목 영역의 하부 우측 좌표를 나타낸다.
보정될 화상 내의 적목 영역의 좌표가 단계 S3901에서 결정된 후, 제1 실시예와 같은 방식으로 타원형 영역이 적목 영역 주위에 설정되고 타원형 영역 내의 화소를 보정될 화소로 사용하여 다음 단계들이 수행된다.
단계 S3902에서, 계수기 R을 0으로 초기화시킨다. 단계 S3903에서, 보정될 화상 내의 제R 라인의 화상 데이터를 취득한다. 제5 실시예에서는 보정될 화상이 라인 단위로 보정되지만, 보정은 이러한 방법으로 한정되지 않는다. 화상은 소정의 개수의 라인들에 걸친 밴드 단위로 보정될 수 있다. 도 1의 저장 장치(105) 또는 메모리 카드에 JPEG 포맷과 같은 압축 포맷으로 저장된 화상을 소정의 수의 라인들에 대응하는 양만큼 압축해제하고 압축해제된 화상 데이터로부터 한 라인(또는 복수 라인) 내의 화상 데이터를 취득함으로써, 보정될 화상 데이터의 추출이 실현 된다.
단계 S3904에서, 제R 라인이 보정될 화소를 포함하는지 여부를 판정한다. 제5 실시예에 따른 보정에서, 적목 영역(직사각형 영역) 주위에 설정된 타원형 영역이 보정될 영역으로 사용된다. 따라서, 후보 영역 목록에 저장된 모든 적목 영역들에 대해, 제R 라인이 보정될 영역의 상부 끝부분과 그의 하부 끝부분 사이에 위치되어 있는지 여부를 판정한다. 제R 라인이 보정될 화소를 포함하고 있지 않다고 판정하면, 그 후 단계 S3907에서, 계수기 R을 증분시키고 단계 S3903으로 되돌아간다.
예를 들어, 도 40에 도시된 일례에서, 제R 라인은 적목 영역(4003) 주위에 설정된 보정될 영역(4002)에 포함된다. 따라서, 제R 라인이 보정될 화소를 포함하고 있다고 단계 S3904에서 판정하면, 그 후 단계 S3905에서 제R 라인 상의 보정될 영역(4002) 내의 화소들에 대해 제1 실시예에 따른 보정을 적용한다. 단계 S3505에서 계산되고 단계 S3506에서 후보 영역 목록에 저장된 파라미터들이, 보정에 필요한 적색 평가량들의 최대값 Ermax와 최대 휘도 Ymax로서 사용된다.
단계 S3906에서, 제R 라인이 최종 라인인지 여부를 판정한다. 제R 라인이 최종 라인에 도달할 때까지 상기 단계들을 반복하여 전체 입력 화상에 대한 보정을 수행한다.
보정된 화상 데이터는, 예를 들어, 저장 장치(105)에 저장될 수 있다. 또는, 보정된 화상 데이터는, 색변환 및 의사 계조 처리된 후, 예를 들어 프린터(110)를 사용하여 종이의 기록면 상에 인쇄될 수 있다.
전술한 바와 같이, 제1 내지 제4 실시예에 설명된 적목 영역의 추출 및 보정은, 입력 화상을 축소시키고 축소 화상을 밴드들로 분할하여 밴드 단위로 적목 영역을 추출함으로써 용량이 매우 적은 메모리 자원을 사용하는 조건에서 실현될 수 있다. 또한, 인접한 밴드들에 걸친 오버랩 영역이 존재하도록 밴드 분할을 수행함으로써, 밴드들 간의 경계선 상의 적목 영역도 추출할 수 있다.
적목 영역 추출부는 촬상 장치와 같은 화상 입력 장치에 탑재될 수 있고, 적목 영역 보정부는 인쇄 장치와 같은 화상 출력 장치에 탑재될 수 있다.
[변형례]
본 발명의 상기 실시예들에서는 모든 화소에 대해 RGB 성분들의 B 성분을 사용하지 않은 적색 평가량 Er를 정의하였지만, 적색 평가량 Er은 이것에 한정되지 않는다. 예를 들어, 적색 평가량 Er을 수학식 28에 따라 정의하고, 계수 k를 0 또는 계수 i 및 j보다 작은 값으로 설정하여도 유사한 효과를 제공한다.
Er = (i·R + j·G + k·B)/R
여기서, 계수 i, j 및 k는 음의 값이 될 수 있는 가중치들을 나타낸다.
또한, 화소값을 Lab 또는 YCbCr과 같은 또 다른 색공간의 값으로 변환한 후, 청색 성분을 제외하거나 청색 성분의 가중치를 작게 하여 적색 평가량 Er을 정의할 수도 있다.
[기타 실시예]
본 발명은 복수의 장치(예를 들어, 호스트 컴퓨터, 인터페이스 장치, 판독기 및 프린터)를 포함하는 시스템 또는 단지 하나의 장치(예를 들어, 복사기 또는 팩시밀리 장치)만을 포함하는 장치에 적용가능하다.
본 발명은 상기 실시예들에 따른 기능들을 실현하는 소프트웨어의 프로그램 코드를 갖는 저장 매체(또는 기록 매체)를 시스템 또는 장치에 공급하고, 그 시스템 또는 장치의 컴퓨터(또는 CPU 또는 MPU(micro processing unit))가 저장 매체에 저장된 프로그램 코드를 판독하여 실행함으로써 구현할 수 있다. 이 경우, 저장 매체로부터 판독된 프로그램 코드 자체가 전술한 실시예들의 기능들을 구현한다. 본 발명은 프로그램 코드를 저장한 저장 매체에 적용가능하다. 판독된 프로그램 코드를 실행하는 컴퓨터는 전술한 실시예들의 기능들을 구현한다. 또한, 컴퓨터 상에서 작동하는 운영 체제(OS) 등이 프로그램 코드 내의 명령들에 기초한 실제 처리의 전부 또는 그 일부를 실행하여 전술한 실시예들의 기능들을 실현할 수 있다.
또는, 저장 매체로부터 판독된 프로그램 코드가, 컴퓨터에 포함된 확장 보드나 컴퓨터에 접속된 확장부에 구비된 메모리에 기록된 후, 확장 보드 또는 확장부 내의 CPU 등이 프로그램 코드 내의 명령들에 기초한 실제 처리의 전부 또는 그 일부를 실행하여 전술한 실시예들의 기능들을 실현할 수 있다.
본 발명이 상기 저장 매체에 적용되는 경우, 전술한 흐름도들에 대응하는 프로그램 코드는 저장 매체에 저장된다.
본 발명이 예시적인 실시예들을 참조하여 설명되었지만, 본 발명이 개시된 예시적인 실시예들에 한정되지 않는다는 것을 이해할 것이다. 다음의 청구범위의 범위는 변형들, 등가 구성들 및 기능들을 모두 포함하도록 가장 넓게 해석되어야 한다.
본 발명에 따르면, 불량 색조를 갖는 화상 영역을 정확하게 검출할 수 있다. 따라서, 사람이 보다 짙거나 보다 옅은 색소를 갖는지 여부에 상관없이 눈의 불량 색조를 갖는 화상 영역(보정될 영역)을 적절하게 검출할 수 있다.

Claims (20)

  1. 화상 처리 장치로서,
    화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하도록 구성된 계산부; 및
    상기 평가량에 기초하여 상기 불량 색조를 갖는 후보 화소를 추출하도록 구성된 추출부
    를 포함하고,
    상기 평가량은 상기 화상의 적색 및 녹색 성분들로부터 계산되는 화상 처리 장치.
  2. 화상 처리 방법으로서,
    화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하는 단계; 및
    상기 평가량에 기초하여 상기 불량 색조를 갖는 후보 화소를 추출하는 단계
    를 포함하고,
    상기 평가량은 상기 화상의 적색 및 녹색 성분들로부터 계산되는 화상 처리 방법.
  3. 눈의 불량 색조를 갖는 화상 영역을 검출하는 화상 처리 장치로서,
    입력 화상의 모든 화소에 대해 소정의 색 성분에 기초하여 상기 불량 색조의 평가량을 계산하도록 구성된 계산부;
    상기 평가량에 기초하여 상기 불량 색조를 갖는 상기 화상 영역 내의 후보 화소를 추출하도록 구성된 화소 추출부;
    상기 후보 화소를 포함하는, 소정의 형상을 갖는 후보 영역을 추출하도록 구성된 영역 추출부; 및
    상기 후보 영역으로부터 계산된, 상기 눈의 특성량에 기초하여 상기 후보 영역이 보정 영역으로 사용되는지 여부를 판정하도록 구성된 판정부
    를 포함하는 화상 처리 장치.
  4. 제3항에 있어서, 상기 평가량은 녹색 성분보다 큰 적색 성분을 갖는 화소의 (R-G)/R에 의해 계산되는 화상 처리 장치.
  5. 제3항에 있어서, 상기 계산부는 상기 입력 화상의 적색 및 녹색 성분들로부터 상기 평가량을 계산하는 화상 처리 장치.
  6. 제3항에 있어서, 상기 계산부는 상기 입력 화상의 적색 및 녹색 성분들의 가중치들보다 작은 가중치를 청색 성분에 적용하여, 상기 적색 및 녹색 성분들과 상기 가중치가 적용된 청색 성분으로부터 상기 평가량을 계산하는 화상 처리 장치.
  7. 제3항 내지 제6항 중 어느 한 항에 있어서, 상기 화소 추출부는 대상 화소 근방에 소정의 윈도우 영역을 설정하고, 상기 윈도우 영역 내의 화소의 상기 평가량으로부터 임계값을 결정하고, 상기 임계값을 사용하여 상기 대상 화소의 상기 평가량을 이치화하여 상기 후보 화소를 추출하는 화상 처리 장치.
  8. 제7항에 있어서, 상기 화소 추출부는 상기 대상 화소의 라인 상에 복수의 화소에 대응하는 상기 윈도우 영역을 설정하는 화상 처리 장치.
  9. 제7항에 있어서, 상기 화소 추출부는 라인 상의 한 방향으로 상기 대상 화소를 주사하여 후보 화소를 추출한 후, 상기 라인 상의 반대 방향으로 상기 대상 화소를 주사하여 후보 화소를 추출하고, 상기 2회의 주사 모두에서 추출된 화소를 상기 후보 화소로 사용하는 화상 처리 장치.
  10. 제3항에 있어서, 상기 영역 추출부는 상기 후보 화소를 포함하는 원 또는 타원에 가까운 형상을 갖는 영역을 상기 후보 영역으로 추출하는 화상 처리 장치.
  11. 제3항에 있어서, 상기 판정부는 상기 후보 영역으로부터 상기 눈에 관한 복수의 특성량을 계산하고, 상기 후보 영역이 상기 모든 특성량들, 또는 상기 특성량들 중 소정의 특성량에 대해 미리 설정된 조건을 만족시키면, 상기 후보 영역을 상기 보정 영역으로 판정하는 화상 처리 장치.
  12. 제3항 내지 제6항, 제10항, 제11항 중 어느 한 항에 있어서, 상기 후보 영역보다 작고 상기 후보 영역에 인접하는 임의의 후보 영역을 제외하도록 구성된 영역 제외부를 더 포함하는 화상 처리 장치.
  13. 제3항 내지 제6항, 제10항, 제11항 중 어느 한 항에 있어서, 상기 후보 영역과, 상기 후보 영역에 인접한 또 다른 후보 영역을 결합시키도록 구성된 영역 결합부를 더 포함하는 화상 처리 장치.
  14. 제13항에 있어서, 상기 영역 결합부는 상기 2개의 후보 영역들에 비해, 상기 2개의 후보 영역들의 결합을 포함하는 영역이 정방형에 가까운 형상을 가지면, 상기 2개의 후보 영역을 하나로 결합시키는 화상 처리 장치.
  15. 제3항 내지 제6항, 제10항, 제11항 중 어느 한 항에 있어서, 상기 보정 영역에서 상기 불량 색조를 보정하도록 구성된 보정부를 더 포함하는 화상 처리 장치.
  16. 제15항에 있어서, 상기 보정부는,
    상기 보정 영역 내의 화소와 상기 보정 영역의 중심 간의 거리에 따라 제1 가중치를 계산하는 제1 계산 수단;
    상기 보정 영역 내의 화소들의 평가량들의 최대값에 대한, 대상 화소의 상기 평가량의 비율에 따라 제2 가중치를 계산하는 제2 계산 수단;
    상기 보정 영역 내의 화소들의 휘도들의 최대값에 대한, 상기 대상 화소의 휘도의 비율에 따라 제3 가중치를 계산하는 제3 계산 수단;
    상기 제1 내지 제3 가중치를 사용하여 휘도 및 색차 성분들의 보정량들을 결정하는 결정 수단; 및
    상기 보정량들을 사용하여 상기 대상 화소의 휘도 및 색차 성분들을 보정하는 보정 수단을 포함하는 화상 처리 장치.
  17. 제16항에 있어서, 상기 결정 수단은 상기 제1 내지 제3 가중치를 사용하여 상기 휘도 성분의 보정량을 결정하고, 상기 제1 및 제2 가중치를 사용하여 상기 색차 성분의 보정량을 결정하는 화상 처리 장치.
  18. 화상 처리 장치로서,
    화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하도록 구성된 계산부; 및
    상기 평가량에 기초하여 상기 불량 색조를 갖는 후보 화소를 추출하도록 구성된 추출부
    를 포함하고,
    상기 화상의 적색 및 녹색 성분들의 가중치들보다 작은 가중치가 상기 화상의 청색 성분에 적용되며, 상기 평가량은 상기 적색 및 녹색 성분들과 상기 화상의 가중치가 적용된 청색 성분으로부터 계산되는 화상 처리 장치.
  19. 눈의 불량 색조를 갖는 화상 영역을 검출하는 화상 처리 방법으로서,
    입력 화상 내의 모든 화소에 대해 소정의 색 성분에 기초하여 상기 불량 색조의 평가량을 계산하는 단계;
    상기 평가량에 기초하여 상기 불량 색조를 갖는 상기 화상 영역 내의 후보 화소를 추출하는 단계;
    상기 후보 화소를 포함하는, 소정의 형상을 갖는 후보 영역을 추출하는 단계; 및
    상기 후보 영역으로부터 계산된, 상기 눈의 특성량에 기초하여 상기 후보 영역이 보정 영역으로 사용되는지 여부를 판정하는 단계
    를 포함하는 화상 처리 방법.
  20. 화상 처리 방법으로서,
    화상 내의 모든 화소에 대해 불량 색조의 평가량을 계산하는 단계; 및
    상기 평가량에 기초하여 상기 불량 색조를 갖는 후보 화소를 추출하는 단계
    를 포함하고,
    상기 화상의 적색 및 녹색 성분들의 가중치들보다 작은 가중치가 상기 화상의 청색 성분에 적용되며, 상기 평가량은 상기 적색 및 녹색 성분들과 상기 화상의 가중치가 적용된 청색 성분으로부터 계산되는 화상 처리 방법.
KR1020060053423A 2005-06-14 2006-06-14 화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및저장 매체 KR100773201B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00174251 2005-06-14
JP2005174251A JP4405942B2 (ja) 2005-06-14 2005-06-14 画像処理装置およびその方法

Publications (2)

Publication Number Publication Date
KR20060130514A KR20060130514A (ko) 2006-12-19
KR100773201B1 true KR100773201B1 (ko) 2007-11-02

Family

ID=36950078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060053423A KR100773201B1 (ko) 2005-06-14 2006-06-14 화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및저장 매체

Country Status (5)

Country Link
US (2) US8045795B2 (ko)
EP (2) EP1734475B1 (ko)
JP (1) JP4405942B2 (ko)
KR (1) KR100773201B1 (ko)
CN (2) CN101706945B (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724400B2 (en) * 2003-04-02 2010-05-25 Lexmark International, Inc. Simple and configurable all-in-one operator panel
JP4420459B2 (ja) * 2005-06-14 2010-02-24 キヤノン株式会社 画像処理装置およびその方法
JP4405942B2 (ja) 2005-06-14 2010-01-27 キヤノン株式会社 画像処理装置およびその方法
FR2914092B1 (fr) * 2007-03-23 2009-06-26 Sagem Comm Procede de detection et de correction automatique des yeux rouges visibles sur une image.
US8117486B2 (en) * 2007-04-10 2012-02-14 Xerox Corporation Method and system for detecting an anomalous networked device
JP5022811B2 (ja) * 2007-08-03 2012-09-12 キヤノン株式会社 画像処理装置及び画像処理方法並びに撮像装置
US8306320B2 (en) * 2008-03-07 2012-11-06 Samsung Electro-Mechanics Co., Ltd. 2D image segmentation apparatus and method, and apparatus and method for removing red-eye in the image
JP2010187756A (ja) * 2009-02-16 2010-09-02 Olympus Corp 画像処理装置、画像処理方法および画像処理プログラム
US8300929B2 (en) * 2009-10-07 2012-10-30 Seiko Epson Corporation Automatic red-eye object classification in digital photographic images
WO2011135158A1 (en) 2010-04-30 2011-11-03 Nokia Corporation Method, apparatus and computer program product for compensating eye color defects
KR101454988B1 (ko) * 2010-06-28 2014-10-27 노키아 코포레이션 아이 컬러 결함을 보상하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
JP4850961B2 (ja) * 2010-07-09 2012-01-11 キヤノン株式会社 画像処理装置およびその方法
US8737727B2 (en) * 2010-12-30 2014-05-27 Pelco, Inc. Color similarity sorting for video forensics search
US8786735B2 (en) * 2011-03-21 2014-07-22 Apple Inc. Red-eye removal using multiple recognition channels
US8837785B2 (en) 2011-03-21 2014-09-16 Apple Inc. Red-eye removal using multiple recognition channels
US8837827B2 (en) 2011-03-21 2014-09-16 Apple Inc. Red-eye removal using multiple recognition channels
US8818091B2 (en) 2011-03-21 2014-08-26 Apple Inc. Red-eye removal using multiple recognition channels
US9721160B2 (en) * 2011-04-18 2017-08-01 Hewlett-Packard Development Company, L.P. Manually-assisted detection of redeye artifacts
US8811683B2 (en) 2011-06-02 2014-08-19 Apple Inc. Automatic red-eye repair using multiple recognition channels
US9041954B2 (en) 2011-06-07 2015-05-26 Hewlett-Packard Development Company, L.P. Implementing consistent behavior across different resolutions of images
WO2013027320A1 (ja) * 2011-08-25 2013-02-28 パナソニック株式会社 画像処理装置、3次元撮像装置、画像処理方法、および画像処理プログラム
US8970902B2 (en) 2011-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Red-eye removal systems and method for variable data printing (VDP) workflows
US10275970B2 (en) 2012-11-14 2019-04-30 Mitsubishi Electric Corporation Signal processing device, signal processing method and information reading apparatus
JP2015056054A (ja) * 2013-09-12 2015-03-23 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP6438218B2 (ja) 2014-06-13 2018-12-12 キヤノン株式会社 装置、方法、及びプログラム
JP6378645B2 (ja) 2014-06-13 2018-08-22 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP6478487B2 (ja) 2014-06-13 2019-03-06 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6008897B2 (ja) 2014-06-13 2016-10-19 キヤノン株式会社 装置、方法、及びプログラム
JP6386803B2 (ja) 2014-06-13 2018-09-05 キヤノン株式会社 装置、方法、及びプログラム
JP6381319B2 (ja) 2014-06-30 2018-08-29 キヤノン株式会社 情報処理装置、処理方法、及びプログラム
JP6138088B2 (ja) 2014-06-30 2017-05-31 キヤノン株式会社 情報処理装置、制御方法、及びソフトウェアプログラム
JP6463914B2 (ja) 2014-06-30 2019-02-06 キヤノン株式会社 情報処理装置、処理方法、及びプログラム
JP6417154B2 (ja) 2014-08-27 2018-10-31 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
KR20160068101A (ko) * 2014-12-04 2016-06-15 삼성디스플레이 주식회사 얼룩 보정 방법, 이 방법을 수행하는 얼룩 보정 장치 및 이 얼룩 보정 장치를 포함하는 표시 장치
JP6458570B2 (ja) * 2015-03-12 2019-01-30 オムロン株式会社 画像処理装置および画像処理方法
CN105590323B (zh) * 2016-02-02 2018-04-03 温州医科大学附属眼视光医院 一种基于眼科裂隙灯照相的滤过泡表面的血管化程度的检测方法
JP6649832B2 (ja) * 2016-03-30 2020-02-19 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
WO2018092715A1 (ja) * 2016-11-17 2018-05-24 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法およびプログラム
JP6930223B2 (ja) * 2017-05-31 2021-09-01 富士通株式会社 瞳孔検出用コンピュータプログラム、瞳孔検出装置及び瞳孔検出方法
CN108053439A (zh) * 2017-11-02 2018-05-18 西安交通大学 一种基于图像处理的河流砾石磨圆度的计算方法
CN108282620B (zh) * 2018-02-24 2020-09-04 北京大恒图像视觉有限公司 一种包含交通信号灯的图像颜色校正方法
CN109785380B (zh) * 2018-12-29 2020-09-18 北京金山安全软件有限公司 一种内切圆确定方法及装置
EP3846440B1 (en) * 2019-12-30 2021-12-15 Axis AB A low-light imaging method, unit and system
CN111231530B (zh) * 2020-01-14 2021-10-01 天津迦自机器人科技有限公司 一种双色打印机质量检测方法
CN112686800B (zh) * 2020-12-29 2023-07-07 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030647A (ja) * 2001-07-11 2003-01-31 Minolta Co Ltd 画像処理装置、画像処理方法、及びプログラム
JP2003109008A (ja) * 2001-09-03 2003-04-11 Agfa Gevaert Ag 写真画像データにおける赤目欠陥の自動識別方法
KR20040085220A (ko) * 2002-02-22 2004-10-07 픽솔로지 소프트웨어 리미티드 디지털 이미지의 적목 특징을 검출 및 보정하는 방법
US20040223063A1 (en) * 1997-10-09 2004-11-11 Deluca Michael J. Detecting red eye filter and apparatus using meta-data
KR20050071389A (ko) * 2002-10-16 2005-07-07 가부시키가이샤 니프코 연결부품 및 접착방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01149559A (ja) 1987-12-04 1989-06-12 Matsushita Electric Ind Co Ltd 電話機
SE9200283D0 (sv) 1992-02-03 1992-02-03 Peter Aahl Dynamisk varierbar radiostation-dvr
JP3358033B2 (ja) 1993-06-25 2002-12-16 オリンパス光学工業株式会社 画像修正装置及び画像修正方法
US5432863A (en) * 1993-07-19 1995-07-11 Eastman Kodak Company Automated detection and correction of eye color defects due to flash illumination
US6215891B1 (en) * 1997-03-26 2001-04-10 Oki Electric Industry Co., Ltd. Eye image recognition method eye image selection method and system therefor
US6252976B1 (en) 1997-08-29 2001-06-26 Eastman Kodak Company Computer program product for redeye detection
US6151403A (en) 1997-08-29 2000-11-21 Eastman Kodak Company Method for automatic detection of human eyes in digital images
US6292574B1 (en) 1997-08-29 2001-09-18 Eastman Kodak Company Computer program product for redeye detection
US6016354A (en) * 1997-10-23 2000-01-18 Hewlett-Packard Company Apparatus and a method for reducing red-eye in a digital image
US6278491B1 (en) 1998-01-29 2001-08-21 Hewlett-Packard Company Apparatus and a method for automatically detecting and reducing red-eye in a digital image
US6631208B1 (en) * 1998-05-29 2003-10-07 Fuji Photo Film Co., Ltd. Image processing method
JP3961734B2 (ja) 1999-12-24 2007-08-22 富士フイルム株式会社 画像処理方法、装置及び記録媒体
CN1262969C (zh) * 2000-09-15 2006-07-05 佳能株式会社 人眼检测方法和人眼检测设备
US7088855B1 (en) * 2001-01-22 2006-08-08 Adolfo Pinheiro Vide Method and system for removal of red eye effects
GB2379819B (en) * 2001-09-14 2005-09-07 Pixology Ltd Image processing to remove red-eye features
US7289664B2 (en) * 2002-01-17 2007-10-30 Fujifilm Corporation Method of detecting and correcting the red eye
US7362354B2 (en) * 2002-02-12 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for assessing the photo quality of a captured image in a digital still camera
CA2477097A1 (en) * 2002-02-22 2003-08-28 Pixology Software Limited Detection and correction of red-eye features in digital images
US7116820B2 (en) 2003-04-28 2006-10-03 Hewlett-Packard Development Company, Lp. Detecting and correcting red-eye in a digital image
US7224850B2 (en) * 2003-05-13 2007-05-29 Microsoft Corporation Modification of red-eye-effect in digital image
CN1567377B (zh) * 2003-07-02 2011-05-04 致伸科技股份有限公司 数字图像的红眼处理方法
US20050031224A1 (en) * 2003-08-05 2005-02-10 Yury Prilutsky Detecting red eye filter and apparatus using meta-data
JP4505362B2 (ja) * 2004-03-30 2010-07-21 富士フイルム株式会社 赤目検出装置および方法並びにプログラム
US7852377B2 (en) * 2004-04-16 2010-12-14 Arcsoft, Inc. Automatic red eye removal
JP4405942B2 (ja) 2005-06-14 2010-01-27 キヤノン株式会社 画像処理装置およびその方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040223063A1 (en) * 1997-10-09 2004-11-11 Deluca Michael J. Detecting red eye filter and apparatus using meta-data
JP2003030647A (ja) * 2001-07-11 2003-01-31 Minolta Co Ltd 画像処理装置、画像処理方法、及びプログラム
JP2003109008A (ja) * 2001-09-03 2003-04-11 Agfa Gevaert Ag 写真画像データにおける赤目欠陥の自動識別方法
KR20040085220A (ko) * 2002-02-22 2004-10-07 픽솔로지 소프트웨어 리미티드 디지털 이미지의 적목 특징을 검출 및 보정하는 방법
KR20050071389A (ko) * 2002-10-16 2005-07-07 가부시키가이샤 니프코 연결부품 및 접착방법

Also Published As

Publication number Publication date
US8045795B2 (en) 2011-10-25
KR20060130514A (ko) 2006-12-19
JP4405942B2 (ja) 2010-01-27
US20100310167A1 (en) 2010-12-09
JP2006350557A (ja) 2006-12-28
EP1734475A2 (en) 2006-12-20
CN101706945A (zh) 2010-05-12
CN100576873C (zh) 2009-12-30
CN101706945B (zh) 2012-09-19
EP1734475B1 (en) 2012-11-14
CN1882035A (zh) 2006-12-20
US20060280362A1 (en) 2006-12-14
US7978909B2 (en) 2011-07-12
EP1734475A3 (en) 2010-07-21
EP2544146A1 (en) 2013-01-09

Similar Documents

Publication Publication Date Title
KR100773201B1 (ko) 화상 처리 장치, 화상 처리 방법, 컴퓨터 프로그램, 및저장 매체
JP4420459B2 (ja) 画像処理装置およびその方法
JP4498224B2 (ja) 画像処理装置およびその方法
US7454040B2 (en) Systems and methods of detecting and correcting redeye in an image suitable for embedded applications
US7577311B2 (en) Color fringe desaturation for electronic imagers
US8086031B2 (en) Region detection
US9129188B2 (en) Image processing apparatus and control method thereof
US8175341B2 (en) Image processing method and apparatus thereof
CN110536068A (zh) 对焦方法和装置、电子设备、计算机可读存储介质
WO2015070723A1 (zh) 眼部图像处理方法和装置
KR20150122176A (ko) 셰도우 검출 및 감쇄를 위한 멀티스펙트럼 이미징 시스템
US8498496B2 (en) Method and apparatus for filtering red and/or golden eye artifacts
JP4850961B2 (ja) 画像処理装置およびその方法
JP4580029B2 (ja) 画像処理装置およびその方法
JP2007004455A (ja) 画像処理装置及び画像処理方法、及びプログラムを記録した記憶媒体
JP7464252B2 (ja) ナンバープレート画像補正方法、ナンバープレート画像補正プログラム、パスポート画像補正方法、およびパスポート画像補正プログラム
Yen et al. Peteye detection and correction

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120924

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140924

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150923

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 12