KR101269344B1 - 이미지 신호 처리를 위한 시간 필터링 기술들 - Google Patents

이미지 신호 처리를 위한 시간 필터링 기술들 Download PDF

Info

Publication number
KR101269344B1
KR101269344B1 KR1020127012992A KR20127012992A KR101269344B1 KR 101269344 B1 KR101269344 B1 KR 101269344B1 KR 1020127012992 A KR1020127012992 A KR 1020127012992A KR 20127012992 A KR20127012992 A KR 20127012992A KR 101269344 B1 KR101269344 B1 KR 101269344B1
Authority
KR
South Korea
Prior art keywords
pixel
value
current pixel
logic
current
Prior art date
Application number
KR1020127012992A
Other languages
English (en)
Other versions
KR20120062941A (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
Priority claimed from US12/582,414 external-priority patent/US8638342B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20120062941A publication Critical patent/KR20120062941A/ko
Application granted granted Critical
Publication of KR101269344B1 publication Critical patent/KR101269344B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

이미지 센서에 의해 취득된 원시 이미지 데이터를 시간 필터링하기 위한 다양한 기술들이 제공된다. 일 실시예에 있어서, 시간 필터는 현재의 픽셀의 공간 위치를 결정하며, 이전의 프레임으로부터 적어도 하나의 병치된 기준 픽셀을 식별한다. 현재의 픽셀 및 그 병치된 기준 픽셀에 적어도 부분적으로 기초하여 모션 델타 값이 결정된다. 다음에, 현재의 픽셀의 공간 위치에 대응하지만 이전의 프레임으로부터의 모션 이력 값 및 모션 델타 값에 기초하여 인덱스가 결정된다. 이 인덱스를 이용하여, 모션 테이블로부터 제1 필터링 계수가 선택될 수 있다. 제1 필터링 계수를 선택한 이후에, 현재의 픽셀의 값에 기초하여 루마 테이블로부터 감쇠 인자가 선택될 수 있고, 후속하여 선택된 감쇠 인자 및 제1 필터링 계수에 기초하여 제2 필터링 계수가 결정될 수 있다. 그런 다음, 제2 필터링 계수, 현재의 픽셀 및 병치된 기준 픽셀에 기초하여, 현재의 픽셀에 대응하는 시간 필터링된 출력 값이 계산될 수 있다.

Description

이미지 신호 처리를 위한 시간 필터링 기술들{TEMPORAL FILTERING TECHNIQUES FOR IMAGE SIGNAL PROCESSING}
관련 출원들에 대한 상호 참조
본원은, 2009년 10월 20일자로 출원된 미국 특허 출원 제12/582,414호의 일부 계속 출원이다.
기술분야
본 발명은 일반적으로는 디지털 이미징 장치들, 구체적으로는 디지털 이미징 장치의 이미지 센서를 이용하여 얻은 이미지 데이터를 처리하기 위한 시스템들 및 방법들에 관한 것이다.
본 섹션은 아래에 설명되고 청구되는 본 기술들의 다양한 양태들과 관련될 수 있는 다양한 기술 양태들을 독자에게 소개하는 것을 의도한다. 본 설명은 본 발명의 다양한 양태들의 더 나은 이해를 돕기 위한 배경 정보를 독자에게 제공하는 데 도움이 될 것으로 생각한다. 따라서, 이러한 진술들은 이를 고려하여 이해되어야 하며, 종래 기술의 인정으로서 이해되지 않아야 한다.
근년에, 디지털 이미징 장치들은 적어도 부분적으로는 평범한 소비자가 그러한 장치들을 점점 더 감당할 수 있게 됨으로 인해 점점 더 대중화되어 왔다. 게다가, 현재 시장에서 입수 가능한 다수의 독립형 디지털 카메라에 더하여, 디지털 이미징 장치들이 데스크탑 또는 노트북 컴퓨터, 셀룰러 폰 또는 휴대용 미디어 플레이어와 같은 다른 전자 장치의 일부로서 통합되는 것이 일반적이다.
이미지 데이터를 획득하기 위하여, 대부분의 디지털 이미징 장치들은 이미지 센서를 포함하며, 이미지 센서는 이미지 센서에 의해 검출된 광을 전기 신호로 변환하도록 구성된 다수의 광 검출 요소(예로서, 포토 검출기)를 제공한다. 이미지 센서는 컬러 정보를 캡처하기 위하여 이미지 센서에 의해 캡처된 광을 필터링하는 컬러 필터 어레이도 제공할 수 있다. 이미지 센서에 의해 캡처된 이미지 데이터는 그 후 이미지 처리 파이프라인에 의해 처리될 수 있으며, 이미지 처리 파이프라인은 다수의 다양한 이미지 처리 연산들을 이미지 데이터에 적용하여, 모니터와 같은 디스플레이 장치 상에서 보이도록 표시될 수 있는 풀 컬러 이미지를 생성할 수 있다.
통상의 이미지 처리 기술들은 일반적으로 관찰자를 객관적으로도, 주관적으로도 즐겁게 하는 관찰 가능한 이미지를 생성하는 것을 목표로 하지만, 그러한 통상의 기술들은 이미징 장치 및/또는 이미지 센서에 의해 유발되는 이미지 데이터 내의 에러들 및/또는 왜곡들을 적절히 해결하지 못할 수 있다. 예컨대, 제조 결함들 또는 작동 실패에 기인할 수 있는 이미지 센서 상의 결함 픽셀들은 광 레벨들을 정확히 감지하지 못할 수 있고, 교정되지 않을 경우에는 결과적인 처리된 이미지 내에 나타나는 아티팩트들로서 보일 수 있다. 게다가, 렌즈의 제조에 있어서의 결함들에 기인할 수 있는 이미지 센서의 에지들에서의 광 강도 저하는 특성 측정들에 악영향을 미칠 수 있으며, 전반적인 광 강도가 불균일한 이미지를 생성할 수 있다. 이미지 처리 파이프라인은 이미지를 선명하게 하기 위한 하나 이상의 프로세스들도 수행할 수 있다. 그러나, 통상의 선명화 기술들은 이미지 신호 내의 현존 잡음을 충분히 제거하지 못할 수 있거나, 에지들로부터의 잡음과 이미지 내의 텍스처 영역들을 구별하지 못할 수 있다. 그러한 예들에서, 통상의 선명화 기술들은 이미지 내의 잡음의 발생을 실제로 증가시킬 수 있으며, 이는 일반적으로 바람직하지 않다.
이미지 센서에 의해 캡처된 이미지 데이터에 적용될 수 있는 또 하나의 이미지 처리 연산은 디모자이킹 연산이다. 컬러 필터 어레이는 일반적으로 센서 픽셀당 한 파장의 컬러 데이터를 제공하므로, 풀 컬러 이미지(예로서, RGB 이미지)를 재생하기 위하여 일반적으로 각각의 컬러 채널에 대해 컬러 데이터의 풀 세트가 보간된다. 일반적으로, 통상의 디모자이킹 기술들은 일반적으로 소정 타입의 고정 임계치에 따라 수평 또는 수직 방향에서 누락된 컬러 데이터에 대한 값들을 보간한다. 그러나, 그러한 통상의 디모자이킹 기술들은 이미지 내의 에지들의 위치들 및 방향을 충분히 설명하지 못할 수 있으며, 이는 특히 이미지 내의 대각 에지들을 따라 풀 컬러 이미지 내에 유입되는 앨리어싱, 체커보드 아티팩트 또는 레인보우 아티팩트와 같은 에지 아티팩트들을 생성할 수 있다.
따라서, 디지털 카메라 또는 다른 이미징 장치를 이용하여 얻은 디지털 이미지를 처리할 때 결과적인 이미지의 외관을 개선하기 위해서는 다양한 사항들이 다루어져야 한다. 특히, 아래의 본 발명의 소정 양태들은 간단히 전술한 단점들 중 하나 이상을 해결할 수 있다.
본 명세서에서 개시되는 소정 실시예들의 요약이 아래에 제공된다. 이러한 양태들은 독자에게 그러한 소정 실시예들의 간단한 요약을 제공하기 위해 설명될 뿐이며, 이러한 양태들은 본 발명의 범위를 한정하는 것을 의도하지 않는다는 것을 이해해야 한다. 사실상, 본 발명은 아래에 설명되지 않을 수도 있는 다양한 양태들을 포함할 수 있다.
본 발명은 디지털 이미지 센서를 이용하여 취득된 이미지 데이터를 처리하기 위한 다양한 기술들을 제공한다. 본 발명의 양태들에 따르면, 하나의 이러한 기술은 예를 들어 모션 아티팩트들로 인한 잡음을 감소시키기 위해서 원시 이미지 데이터의 시간 필터링에 관련될 수 있다. 일 실시예에 있어서, 시간 필터는 이미지 센서를 이용하여 취득된 원시 이미지 데이터를 수신할 수 있다. 각각의 픽셀에 대해, 시간 필터는 현재의 픽셀의 공간 위치를 결정하며, 이전의 프레임으로부터 (예를 들어, 동일한 공간 위치에서의) 적어도 하나의 병치된(collocated) 기준 픽셀을 식별할 수 있다. 모션 델타 값은 현재의 픽셀 및 그 병치된 기준 픽셀에 적어도 부분적으로 기초하여 결정될 수 있다. 다음에, 현재의 픽셀의 공간 위치에 대응하지만 이전의 프레임으로부터의 모션 이력 값 및 모션 델타 값에 기초하여 제1 인덱스의 값이 결정될 수 있다. 제1 인덱스를 이용하여, 모션 테이블로부터 제1 필터링 계수가 선택될 수 있다. 제1 필터링 계수를 선택한 이후에, (예를 들어, 인덱스로서) 현재의 픽셀의 값에 기초하여 루마 테이블로부터 감쇠 인자가 선택될 수 있으며, 후속하여 선택된 감쇠 인자 및 제1 필터링 계수에 기초하여 제2 필터링 계수가 결정될 수 있다. 그런 다음, 제2 필터링 계수, 현재의 픽셀 및 병치된 기준 픽셀에 기초하여, 현재의 픽셀에 대응하는 시간 필터링된 출력 값이 계산될 수 있다.
일 실시예에 있어서, 원시 이미지 데이터가 다수의 컬러 성분들을 포함하는 경우, 각각의 컬러 채널 사이의 신호대 잡음비 변동들을 감소시키기 위해서 컬러-종속 이득들이 이용될 수 있다. 예를 들어, 현재의 픽셀의 컬러에 따라, 모션 테이블에 대한 인덱스 및 루마 테이블에 대한 인덱스를 결정하기 이전에 현재의 픽셀에 적절한 이득이 적용될 수 있다. 추가 실시예에 있어서, 원시 이미지 데이터의 각각의 컬러에 대해 별개의 컬러-종속 모션 및 루마 테이블들이 제공될 수 있고, 현재의 픽셀의 컬러에 기초하여, 제1 필터링 계수 및 감쇠 인자가 현재의 컬러에 대응하는 모션 및 루마 테이블들로부터 선택될 수 있다.
전술한 특징들의 다양한 향상들이 본 발명의 다양한 양태들과 관련하여 존재할 수 있다. 추가적인 특징들도 이러한 다양한 양태들에서 보간될 수도 있다. 이러한 향상들 및 추가적인 특징들은 개별적으로 또는 임의의 조합으로 존재할 수 있다. 예를 들어, 예시되는 실시예들 중 하나 이상과 관련하여 후술하는 다양한 특징들은 본 발명의 전술한 양태들 중 임의의 양태 내에 단독으로 또는 임의의 조합으로 포함될 수 있다. 다시, 전술한 간단한 요약은 청구되는 발명에 대한 한정이 아니라 본 발명의 실시예들의 소정 양태들 및 상황들에 독자가 친숙해지게 하는 것을 의도할 뿐이다.
본 특허 또는 출원 파일은 컬러로 작성된 적어도 하나의 도면을 포함한다. 컬러 도면을 갖는 본 특허 또는 특허 출원 공보의 사본들은 요청 및 필요 요금의 지불 시에 특허청에 의해 제공될 것이다.
본 발명의 다양한 양태들은 도면들을 참조하여 아래의 상세한 설명을 읽을 때 더 잘 이해될 것이다.
도 1은 본 발명에서 제공되는 이미지 처리 기술들 중 하나 이상을 구현하도록 구성된 이미지 장치 및 이미지 처리 회로를 포함하는 전자 장치의 일례의 컴포넌트들을 나타내는 간이 블록도이다.
도 2는 도 1의 이미징 장치 내에 구현될 수 있는 베이어 컬러 필터 어레이의 2x2 픽셀 블록의 그래픽 표현을 나타낸다.
도 3은 본 발명의 양태들에 따른, 랩탑 컴퓨팅 장치 형태의 도 1의 전자 장치의 사시도이다.
도 4는 본 발명의 양태들에 따른, 데스크탑 컴퓨팅 장치 형태의 도 1의 전자 장치의 정면도이다.
도 5는 본 발명의 양태들에 따른, 핸드헬드 휴대용 전자 장치 형태의 도 1의 전자 장치의 정면도이다.
도 6은 도 5에 도시된 전자 장치의 배면도이다.
도 7은 본 발명의 양태들에 따른, 도 1의 이미지 처리 회로 내에 구현될 수 있는 프론트엔드 이미지 신호 처리(ISP) 논리 및 ISP 파이프 처리 논리를 나타내는 블록도이다.
도 8은 본 발명의 양태들에 따른, 도 7의 ISP 프론트엔드 논리의 일 실시예를 나타내는 더 상세한 블록도이다.
도 9는 본 발명의 양태들에 따른, 이미지 센서에 의해 캡처된 소스 이미지 프레임 내에 정의될 수 있는 다양한 이미징 영역들의 그래픽 표현이다.
도 10은 본 발명의 양태들에 따른, 도 8의 ISP 프론트엔드 논리 내에 도시된 바와 같은 ISP 프론트엔드 픽셀 처리 유닛의 일 실시예의 더 상세한 모습을 제공하는 블록도이다.
도 11은 일 실시예에 따른, 도 10에 도시된 ISP 프론트엔드 픽셀 처리 유닛에 의해 수신된 이미지 픽셀 데이터에 어떻게 시간 필터링이 적용될 수 있는지를 나타내는 프로세스 도면이다.
도 12는 도 11에 도시된 시간 필터링 프로세스에 대한 하나 이상의 파라미터들을 결정하는 데 사용될 수 있는 기준 이미지 픽셀들의 세트 및 대응하는 현재 이미지 픽셀들의 세트를 나타낸다.
도 13은 일 실시예에 따라 이미지 데이터의 세트의 현재의 이미지 픽셀에 대해 시간 필터링을 적용하기 위한 프로세스를 도시한 흐름도이다.
도 14는 일 실시예에 따라 도 13의 현재의 이미지 픽셀의 시간 필터링과 함께 이용하기 위한 모션 델타 값을 계산하기 위한 기술을 도시한 흐름도이다.
도 15는 다른 실시예에 따라 이미지 데이터의 각각의 컬러 성분에 대한 상이한 이득들의 이용을 포함하는 이미지 데이터의 세트의 현재의 이미지 픽셀에 대해 시간 필터링을 적용하기 위한 다른 프로세스를 도시한 흐름도이다.
도 16은 추가 실시예에 따라 도 10에 도시된 ISP 프론트엔드 픽셀 처리 유닛에 의해 수신된 이미지 픽셀 데이터의 각각의 컬러 성분에 대해 별개의 모션 및 루마 테이블들을 이용하는 시간 필터링 기술을 도시한 프로세스 도면이다.
도 17은 추가 실시예에 따라 도 16에 도시된 모션 및 루마 테이블들을 이용하여 이미지 데이터의 세트의 현재의 이미지 픽셀에 대해 시간 필터링을 적용하기 위한 프로세스를 도시한 흐름도이다.
도 18은 본 발명의 양태들에 따른, 도 10의 ISP 프론트엔드 픽셀 처리 유닛 내에 구현될 수 있는 비닝(binning) 보상 필터의 일 실시예를 나타내는 더 상세한 도면이다.
도 19는 일 실시예에 따른, 도 18의 비닝 보상 필터를 사용하여 이미지 데이터를 스케일링하기 위한 프로세스를 나타낸다.
도 20은 본 발명의 양태들에 따른, 도 8에 도시된 바와 같은 ISP 프론트엔드 처리 논리 내에 구현될 수 있는 통계 처리 유닛의 일 실시예를 나타내는 더 상세한 블록도이다.
도 21은 본 발명의 양태들에 따른, 도 20의 통계 처리 유닛에 의한 통계 처리 동안에 결함 픽셀들을 검출하고 교정하기 위한 기술들을 적용할 때 고려될 수 있는 다양한 이미지 프레임 경계 예들을 나타낸다.
도 22는 일 실시예에 따른, 통계 처리 동안에 결함 픽셀 검출 및 교정을 수행하기 위한 프로세스를 나타내는 흐름도이다.
도 23은 이미징 장치의 통상적인 렌즈에 대한 픽셀 위치 대 광 강도를 나타내는 삼차원 프로파일을 나타낸다.
도 24는 렌즈 쉐이딩 불규칙의 결과일 수 있는, 이미지를 가로지르는 불균일한 광 강도를 나타내는 컬러 도면이다.
도 25는 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정 영역 및 이득 그리드를 포함하는 원시(raw) 이미징 프레임의 그래픽 예시이다.
도 26은 본 발명의 양태들에 따른, 4개의 경계 그리드 이득 포인트에 의해 둘러싸인 이미지 픽셀에 대한 이득 값의 보간을 나타낸다.
도 27은 본 기술의 일 실시예에 따른, 렌즈 쉐이딩 교정 연산 동안에 이미징 픽셀들에 적용될 수 있는 보간된 이득 값들을 결정하기 위한 프로세스를 나타내는 흐름도이다.
도 28은 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정을 수행할 때 도 23에 도시된 광 강도 특성들을 나타내는 이미지에 적용될 수 있는 보간된 이득 값들을 나타내는 삼차원 프로파일이다.
도 29는 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정 연산이 적용된 후에 광 강도의 향상된 균일성을 보이는 도 24로부터의 컬러 도면을 나타낸다.
도 30은 일 실시예에 따른, 렌즈 쉐이딩 교정을 위한 방사상 이득 성분을 결정하기 위해 현재 픽셀과 이미지의 중심 사이의 방사상 거리가 어떻게 계산되고 사용될 수 있는지를 그래픽으로 나타낸다.
도 31은 본 기술의 일 실시예에 따른, 렌즈 쉐이딩 교정 연산 동안에 이미징 픽셀들에 적용될 수 있는 총 이득을 결정하기 위해 이득 그리드로부터의 방사상 이득들 및 보간된 이득들을 사용하는 프로세스를 나타내는 흐름도이다.
도 32는 본 발명의 양태들에 따른, 도 7의 ISP 파이프 처리 논리의 일 실시예를 나타내는 블록도이다.
도 33은 본 발명의 양태들에 따른, 도 32의 ISP 파이프 처리 논리 내에 구현될 수 있는 원시 픽셀 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 34는 본 발명의 양태들에 따른, 도 33에 도시된 원시 픽셀 처리 블록에 의한 처리 동안에 결함 픽셀들을 검출하고 교정하기 위한 기술들을 적용할 때 고려될 수 있는 다양한 이미지 프레임 경계 예들을 나타낸다.
도 35 내지 도 37은 일 실시예에 따른, 도 33의 원시 픽셀 처리 블록에서 수행될 수 있는 결함 픽셀들을 검출하고 교정하기 위한 다양한 프로세스들을 나타내는 흐름도들이다.
도 38은 본 발명의 양태들에 따른, 도 33의 원시 픽셀 처리 논리에 의한 처리 동안에 녹색 불균일 교정 기술들을 적용할 때 보간될 수 있는 베이어 이미지 센서의 2x2 픽셀 블록 내의 2개의 녹색 픽셀의 위치를 나타낸다.
도 39는 본 발명의 양태들에 따른, 잡음 저감을 위한 수평 필터링 프로세스의 일부로서 사용될 수 있는 중심 픽셀 및 관련 수평 이웃 픽셀들을 포함하는 픽셀들의 세트를 나타낸다.
도 40은 본 발명의 양태들에 따른, 잡음 저감을 위한 수직 필터링 프로세스의 일부로서 사용될 수 있는 중심 픽셀 및 관련 수직 이웃 픽셀들을 포함하는 픽셀들의 세트를 나타낸다.
도 41은 풀 컬러 RGB 이미지를 생성하기 위해 디모자이킹이 어떻게 원시 베이어 이미지 패턴에 적용될 수 있는지를 나타내는 간이 흐름도이다.
도 42는 일 실시예에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 녹색 값들을 보간하기 위해 수평 및 수직 에너지 성분들을 도출할 수 있는 베이어 이미지 패턴의 픽셀들의 세트를 나타낸다.
도 43은 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 녹색 값의 수평 성분을 결정하기 위해 필터링을 적용할 수 있는 수평 픽셀들의 세트를 나타낸다.
도 44는 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 녹색 값의 수직 성분을 결정하기 위해 필터링을 적용할 수 있는 수직 픽셀들의 세트를 나타낸다.
도 45는 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 적색 및 청색 값들을 결정하기 위해 필터링을 적용할 수 있는 다양한 3x3 픽셀 블록들을 나타낸다.
도 46 내지 도 49는 일 실시예에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 녹색, 적색 및 청색 값들을 보간하기 위한 다양한 프로세스들을 나타내는 흐름도들이다.
도 50은 이미지 센서에 의해 캡처되고, 본 명세서에서 개시되는 디모자이킹 기술들의 양태들에 따라 처리될 수 있는 오리지널 이미지 장면의 컬러 도면을 나타낸다.
도 51은 도 50에 도시된 이미지 장면의 베이어 이미지 패턴의 컬러 도면을 나타낸다.
도 52는 도 51의 베이어 이미지 패턴에 기초하여 통상의 디모자이킹 기술을 이용하여 재구성된 RGB 이미지의 컬러 도면을 나타낸다.
도 53은 본 명세서에서 개시되는 디모자이킹 기술들의 양태들에 따라 도 51의 베이어 이미지 패턴으로부터 재구성된 RGB 이미지의 컬러 도면을 나타낸다.
도 54는 본 발명의 양태들에 따른, 도 32의 ISP 파이프 처리 논리 내에 구현될 수 있는 RGB 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 55는 본 발명의 양태들에 따른, 도 32의 ISP 파이프 처리 논리 내에 구현될 수 있는 YCbCr 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 56은 본 발명의 양태들에 따른, 1-평면 포맷을 이용하여 소스 버퍼 내에 정의되는 바와 같은 루마(luma) 및 크로마에 대한 액티브 소스 영역들의 그래픽 표현이다.
도 57은 본 발명의 양태들에 따른, 2-평면 포맷을 이용하여 소스 버퍼 내에 정의되는 바와 같은 루마 및 크로마에 대한 액티브 소스 영역들의 그래픽 표현이다.
도 58은 일 실시예에 따른, 도 55에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 이미지 선명화 논리를 나타내는 블록도이다.
도 59는 일 실시예에 따른, 도 55에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 에지 향상 논리를 나타내는 블록도이다.
도 60은 본 발명의 양태들에 따른, 크로마 감쇠 인자들과 선명화된 루마 값들의 관계를 나타내는 그래프이다.
도 61은 일 실시예에 따른, 도 55에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 이미지 휘도, 콘트라스트 및 컬러(BCC) 조정 논리를 나타내는 블록도이다.
도 62는 도 61에 도시된 BCC 조정 논리에서의 컬러 조정 동안에 적용될 수 있는 다양한 색조 각도들 및 채도 값들을 정의하는 YCbCr 컬러 공간 내의 색조 및 채도 컬러 휠을 나타낸다.
본 발명의 하나 이상의 특정 실시예들이 아래에서 설명된다. 이러한 설명되는 실시예들은 현재 개시되는 기술들의 예들일 뿐이다. 게다가, 이러한 실시예들의 간결한 설명을 제공하기 위하여, 본 명세서에서는 실제 구현의 모든 특징들이 설명되지는 않을 수도 있다. 임의의 그러한 실제 구현의 개발에 있어서는, 임의의 엔지니어링 또는 설계 프로젝트에서와 같이, 구현마다 다를 수 있는 시스템 관련 및 비즈니스 관련 제한들의 준수와 같은 개발자들의 특정 목적들을 달성하기 위해 다양한 구현 고유 결정들이 행해져야 한다는 것을 알아야 한다. 더욱이, 그러한 개발 노력은 복잡하고 시간 소모적일 수 있지만, 본 발명의 이익을 갖는 통상의 기술자들에게는 일상적인 설계, 제조 및 제작 작업일 것이라는 것을 알아야 한다.
본 발명의 다양한 실시예들의 요소들을 소개할 때, 관사들 "하나(a)", "하나(an)" 및 "그(the)"는 하나 이상의 요소들이 존재함을 의미하는 것을 의도한다. 용어들 "포함하는(comprising)", "포함하는(including)" 및 "갖는(having)"은 포괄적인 것을 의도하며, 나열된 요소들이 아닌 다른 추가적인 요소들이 존재할 수 있음을 의미하는 것을 의도한다. 게다가, 본 발명의 "하나의 실시예" 또는 "일 실시예"에 대한 참조들은 기재된 특징들을 또한 포함하는 추가적인 실시예들의 존재를 배제하는 것으로 해석되는 것을 의도하지 않는다는 것을 이해해야 한다.
후술하는 바와 같이, 본 발명은 일반적으로 하나 이상의 이미지 감지 장치들을 통해 얻은 이미지 데이터를 처리하기 위한 기술들에 관한 것이다. 특히, 본 발명의 소정 양태들은 결함 픽셀들을 검출하고 교정하기 위한 기술들, 원시 이미지 패턴을 디모자이킹하기 위한 기술들, 멀티-스케일 비선명 마스크를 이용하여 휘도 이미지를 선명화하기 위한 기술들, 및 렌즈 쉐이딩 불규칙을 교정하기 위해 렌즈 쉐이딩 이득들을 적용하기 위한 기술들과 관련될 수 있다. 게다가, 현재 개시되는 기술들은 정지 이미지들 및 이동 이미지들(예로서, 비디오) 모두에 적용될 수 있으며, 디지털 카메라, 통합된 디지털 카메라를 구비하는 전자 장치, 보안 또는 비디오 감시 시스템, 의료 이미징 시스템 등과 같은 임의의 적절한 타입의 이미징 애플리케이션에서 이용될 수 있다는 것을 이해해야 한다.
위의 요점들을 염두에 두고, 도 1은 위에서 간단히 설명된 이미지 처리 기술들 중 하나 이상을 이용하여 이미지 데이터의 처리를 제공할 수 있는 전자 장치(10)의 일례를 나타내는 블록도이다. 전자 장치(10)는 하나 이상의 이미지 감지 컴포넌트들을 이용하여 얻은 데이터와 같은 이미지 데이터를 수신하고 처리하도록 구성된 랩탑 또는 데스크탑 컴퓨터, 이동 전화, 디지털 미디어 플레이어 등과 같은 임의 타입의 전자 장치일 수 있다. 단지 예로서, 전자 장치(10)는 캘리포니아, 쿠퍼티노의 애플사로부터 입수 가능한 iPod® 또는 iPhone®의 한 모델과 같은 휴대용 전자 장치일 수 있다. 게다가, 전자 장치(10)는 애플사로부터 입수 가능한 MacBook®, MacBook® Pro, MacBook Air®, iMac®, Mac® Mini 또는 Mac Pro®의 한 모델과 같은 데스크탑 또는 랩탑 컴퓨터일 수 있다. 다른 실시예들에서, 전자 장치(10)는 이미지 데이터를 획득하고 처리할 수 있는 다른 제조자로부터의 전자 장치의 한 모델일 수도 있다.
전자 장치(10)는 그의 형태(예로서, 휴대용 또는 비휴대용)에 관계없이, 특히 결함 픽셀 교정 및/또는 검출 기술들, 렌즈 쉐이딩 교정 기술들, 디모자이킹 기술들 또는 이미지 선명화 기술들을 포함할 수 있는 위에서 간단히 설명된 이미지 처리 기술들 중 하나 이상을 이용하여 이미지 데이터의 처리를 제공할 수 있다는 것을 이해해야 한다. 일부 실시예들에서, 전자 장치(10)는 그러한 이미지 처리 기술들을 전자 장치(10)의 메모리에 저장된 이미지 데이터에 적용할 수 있다. 추가 실시예들에서, 전자 장치(10)는 이미지 데이터를 획득하도록 구성된 통합 또는 외부 디지털 카메라와 같은 하나 이상의 이미징 장치들을 포함할 수 있으며, 이어서 이미지 데이터는 전술한 이미지 처리 기술들 중 하나 이상을 이용하여 전자 장치(10)에 의해 처리될 수 있다. 전자 장치(10)의 휴대용 및 비휴대용 실시예들 모두를 나타내는 실시예들이 아래에서 도 3-6에서 더 설명된다.
도 1에 도시된 바와 같이, 전자 장치(10)는 장치(10)의 기능에 기여하는 다양한 내부 및/또는 외부 컴포넌트들을 포함할 수 있다. 이 분야의 통상의 기술자들은 도 1에 도시된 다양한 기능 블록들이 하드웨어 요소들(회로 포함), 소프트웨어 요소들(컴퓨터 판독 가능 매체에 저장된 컴퓨터 코드 포함) 또는 하드웨어 및 소프트웨어 요소들 양자의 결합을 포함할 수 있다는 것을 알 것이다. 예를 들어, 현재 설명되는 실시예에서, 전자 장치(10)는 입출력(I/O) 포트들(12), 입력 구조들(14), 하나 이상의 프로세서들(16), 메모리 장치(18), 비휘발성 저장 장치(20), 확장 카드(들)(22), 네트워킹 장치(24), 전원(26) 및 디스플레이(28)를 포함할 수 있다. 게다가, 전자 장치(10)는 디지털 카메라와 같은 하나 이상의 이미징 장치들(30) 및 이미지 처리 회로(32)를 포함할 수 있다. 아래에 더 설명되는 바와 같이, 이미지 처리 회로(32)는 이미지 데이터를 처리할 때 전술한 이미지 처리 기술들 중 하나 이상을 구현하도록 구성될 수 있다. 알 수 있듯이, 이미지 처리 회로(32)에 의해 처리되는 이미지 데이터는 메모리(18) 및/또는 비휘발성 저장 장치(들)(20)로부터 검색될 수 있거나, 이미징 장치(30)를 이용하여 얻어질 수 있다.
계속하기 전에, 도 1에 도시된 장치(10)의 시스템 블록도는 그러한 장치(10) 내에 포함될 수 있는 다양한 컴포넌트들을 나타내는 하이 레벨 제어도를 의도한다는 것을 이해해야 한다. 즉, 도 1에 도시된 각각의 개별 컴포넌트 사이의 접속 라인들은 장치(10)의 다양한 컴포넌트들 사이에서 데이터가 흐르거나 전송되는 경로들 또는 방향들을 반드시 나타내지는 않을 수도 있다. 사실상, 후술하는 바와 같이, 도시된 프로세서(들)(16)는 일부 실시예들에서 메인 프로세서(예로서, CPU) 및 전용 이미지 및/또는 비디오 프로세서들과 같은 다수의 프로세서를 포함할 수 있다. 그러한 실시예들에서, 이미지 데이터의 처리는 주로 그러한 전용 프로세서들에 의해 수행되며, 따라서 메인 프로세서(CPU)로부터 그러한 작업들을 효과적으로 오프로딩할 수 있다.
도 1에 도시된 컴포넌트들 각각과 관련하여, I/O 포트들(12)은 전원, 오디오 출력 장치(예로서, 헤드셋 또는 헤드폰) 또는 다른 전자 장치들(핸드헬드 장치 및/또는 컴퓨터, 프린터, 프로젝터, 외부 디스플레이, 모뎀, 도킹 스테이션 등)과 같은 다양한 외부 장치들에 접속하도록 구성된 포트들을 포함할 수 있다. 일 실시예에서, I/O 포트들(12)은 이미지 처리 회로(32)를 이용하여 처리될 수 있는 이미지 데이터를 획득하기 위한 디지털 카메라와 같은 외부 이미징 장치에 접속하도록 구성될 수 있다. I/O 포트들(12)은 유니버설 직렬 버스(USB) 포트, 직렬 접속 포트, IEEE-1394(FireWire) 포트, 이더넷 또는 모뎀 포트 및/또는 AC/DC 전력 접속 포트와 같은 임의의 적절한 인터페이스 타입을 지원할 수 있다.
일부 실시예들에서, 소정의 I/O 포트들(12)은 둘 이상의 기능을 제공하도록 구성될 수 있다. 예를 들어, 일 실시예에서, I/O 포트들(12)은 전자 장치(10)와 외부 소스 사이의 데이터의 전송을 용이하게 할 뿐만 아니라, 전기 벽 콘센트로부터 전력을 제공하도록 설계된 전력 어댑터 또는 (하나 이상의 재충전 가능한 배터리들을 포함할 수 있는) 전원(26)을 충전하기 위해 데스크탑 또는 랩탑 컴퓨터와 같은 다른 전기 장치로부터 전력을 인출하도록 구성된 인터페이스 케이블과 같은 전력 충전 인터페이스에 장치(10)를 결합하도록 기능할 수 있는 애플사로부터의 독점 포트를 포함할 수 있다. 따라서, I/O 포트(12)는 예를 들어 I/O 포트(12)를 통해 장치(10)에 결합되는 외부 컴포넌트에 따라서는 데이터 전송 포트 및 AC/DC 전력 접속 포트 양자로서 이중으로 기능하도록 구성될 수 있다.
입력 구조들(14)은 사용자 입력 또는 피드백을 프로세서(들)(16)에 제공할 수 있다. 예를 들어, 입력 구조들(14)은 전자 장치(10) 상에서 실행되는 애플리케이션들과 같은 전자 장치(10)의 하나 이상의 기능들을 제어하도록 구성될 수 있다. 단지 예로서, 입력 구조들(14)은 버튼, 슬라이더, 스위치, 제어 패드, 키, 노브, 스크롤 휠, 키보드, 마우스, 터치패드 등 또는 이들의 소정 조합을 포함할 수 있다. 일 실시예에서, 입력 구조들(14)은 사용자가 장치(10) 상에 표시된 그래픽 사용자 인터페이스(GUI)를 내비게이트하게 할 수 있다. 게다가, 입력 구조들(14)은 디스플레이(28)와 연계하여 제공되는 터치 감지 메커니즘을 포함할 수 있다. 그러한 실시예들에서, 사용자는 표시된 인터페이스 요소들을 터치 감지 메커니즘을 통해 선택하거나 그들과 상호작용할 수 있다.
입력 구조들(14)은 사용자 입력 또는 피드백을 하나 이상의 프로세서들(16)에 제공하는 다양한 장치들, 회로 및 통로들을 포함할 수 있다. 그러한 입력 구조들(14)은 장치(10)의 기능, 장치(10) 상에서 실행되는 애플리케이션들 및/또는 전자 장치(10)에 접속되거나 그에 의해 사용되는 임의의 인터페이스들 또는 장치들을 제어하도록 구성될 수 있다. 예를 들어, 입력 구조들(14)은 사용자가 표시된 사용자 인터페이스 또는 애플리케이션 인터페이스를 내비게이트하게 할 수 있다. 입력 구조들(14)의 예들은 버튼, 슬라이더, 스위치, 제어 패드, 키, 노브, 스크롤 휠, 키보드, 마우스, 터치패드 등을 포함할 수 있다.
소정 실시예들에서, 입력 구조(14) 및 디스플레이 장치(28)는 터치 감지 메커니즘이 디스플레이(28)와 연계하여 제공되는 "터치스크린"의 경우에서와 같이 함께 제공될 수 있다. 그러한 실시예들에서, 사용자는 표시된 인터페이스 요소들을 터치 감지 메커니즘을 통해 선택하거나 그들과 상호작용할 수 있다. 이러한 방식으로, 표시된 인터페이스는 사용자가 디스플레이(28)를 터치함으로써 표시된 인터페이스를 내비게이트할 수 있게 하는 상호작용 기능을 제공할 수 있다. 예를 들어, 디스플레이(26) 상에 표시된 사용자 또는 애플리케이션 인터페이스와의 상호작용 등을 위한 입력 구조들(14)과의 사용자 상호작용은 사용자 입력을 나타내는 전기 신호들을 생성할 수 있다. 이러한 입력 신호들은 추가 처리를 위해 입력 허브 또는 데이터 버스와 같은 적절한 통로들을 통해 하나 이상의 프로세서들(16)로 라우팅될 수 있다.
입력 구조(들)(14)를 통해 수신된 다양한 입력 신호들의 처리에 더하여, 프로세서(들)(16)는 장치(10)의 일반 동작을 제어할 수 있다. 예를 들어, 프로세서(들)(16)는 전자 장치(10)의 운영 체제, 프로그램, 사용자 및 애플리케이션 인터페이스 및 임의의 다른 기능들을 실행하기 위한 처리 능력을 제공할 수 있다. 프로세서(들)(16)는 하나 이상의 "범용" 마이크로프로세서들, 하나 이상의 특수 목적 마이크로프로세서들 및/또는 주문형 마이크로프로세서들(ASIC), 또는 그러한 처리 컴포넌트들의 조합과 같은 하나 이상의 마이크로프로세서들을 포함할 수 있다. 예를 들어, 프로세서(들)(16)는 하나 이상의 명령어 세트(예를 들어, RISC) 프로세서들은 물론, 그래픽 프로세서들(GPU), 비디오 프로세서들, 오디오 프로세서들 및/또는 관련 칩셋들도 포함할 수 있다. 알듯이, 프로세서(들)(16)는 장치(10)의 다양한 컴포넌트들 사이에 데이터 및 명령어들을 전송하기 위한 하나 이상의 데이터 버스들에 결합될 수 있다. 소정 실시예들에서, 프로세서(들)(16)는 애플사로부터 입수 가능한 Photo Booth®, Aperture®, iPhoto® 또는 Preview®와 같은 전자 장치(10) 상의 이미징 애플리케이션들, 또는 애플사에 의해 제공되고 iPhone®의 모델들 상에서 이용 가능한 "Camera" 및/또는 "Photo" 애플리케이션들을 실행하기 위한 처리 능력을 제공할 수 있다.
프로세서(들)(16)에 의해 처리될 명령어들 또는 데이터는 메모리 장치(18)와 같은 컴퓨터 판독 가능 매체에 저장될 수 있다. 메모리 장치(18)는 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리로서 또는 판독 전용 메모리(ROM)와 같은 비휘발성 메모리로서, 또는 하나 이상의 RAM 및 ROM 장치들의 조합으로서 제공될 수 있다. 메모리(18)는 다양한 정보를 저장할 수 있으며, 다양한 목적들을 위해 사용될 수 있다. 예를 들어, 메모리(18)는 기본 입출력 시스템(BIOS)과 같은 전자 장치(10)용 펌웨어, 운영 체제, 다양한 프로그램들, 애플리케이션들, 또는 사용자 인터페이스 기능들, 프로세서 기능들 등을 포함하는, 전자 장치(10) 상에서 실행될 수 있는 임의의 다른 루틴들을 저장할 수 있다. 게다가, 메모리(18)는 전자 장치(10)의 동작 동안에 버퍼링 또는 캐싱을 위해 사용될 수 있다. 예를 들어, 일 실시예에서, 메모리(18)는 비디오 데이터가 디스플레이(28)로 출력되고 있을 때 이를 버퍼링하기 위한 하나 이상의 프레임 버퍼들을 포함한다.
메모리 장치(18)에 더하여, 전자 장치(10)는 데이터 및/또는 명령어들의 영구 저장을 위한 비휘발성 저장 장치(20)를 더 포함할 수 있다. 비휘발성 저장 장치(20)는 플래시 메모리, 하드 드라이브, 또는 임의의 다른 광학, 자기 및/또는 솔리드-스테이트 저장 매체들 또는 이들의 소정 조합을 포함할 수 있다. 따라서, 도 1에는 명료화의 목적으로 단일 장치로서 도시되지만, 비휘발성 저장 장치(들)(20)는 프로세서(들)(16)와 연계하여 동작하는 전술한 저장 장치들 중 하나 이상의 저장 장치들의 조합을 포함할 수 있다는 것을 이해해야 한다. 비휘발성 저장 장치(20)는 펌웨어, 데이터 파일들, 이미지 데이터, 소프트웨어 프로그램들 및 애플리케이션들, 무선 접속 정보, 개인 정보, 사용자 선호들 및 임의의 다른 적절한 데이터를 저장하는 데 사용될 수 있다. 본 발명의 양태들에 따르면, 비휘발성 저장 장치(20) 및/또는 메모리 장치(18)에 저장된 이미지 데이터는 디스플레이 상에 출력되기 전에 이미지 처리 회로(32)에 의해 처리될 수 있다.
도 1에 도시된 실시예는 하나 이상의 카드 또는 확장 슬롯들도 포함할 수 있다. 카드 슬롯들은 추가적인 메모리, I/O 기능 또는 네트워킹 능력과 같은 기능을 전자 장치(10)에 추가하는 데 사용될 수 있는 확장 카드(22)를 수용하도록 구성될 수 있다. 그러한 확장 카드(22)는 임의 타입의 적절한 커넥터를 통해 장치에 접속할 수 있으며, 전자 장치(10)의 하우징에 대해 내부에서 또는 외부에서 액세스될 수 있다. 예를 들어, 일 실시예에서, 확장 카드(22)는 보안 디지털(SecureDigital; SD) 카드, 미니 또는 마이크로 SD, 컴팩트 플래시(CompactFlash) 카드 등과 같은 플래시 메모리 카드일 수 있거나, PCMCIA 장치일 수 있다. 게다가, 확장 카드(24)는 이동 전화 능력을 제공하는 전자 장치(10)의 일 실시예에서 사용하기 위한 가입자 식별 모듈(SIM) 카드일 수 있다.
전자 장치(10)는 무선 802.11 표준, 또는 근거리 네트워크(LAN), EDGE(Enhanced Data Rates for GSM Evolution) 네트워크, 3G 데이터 네트워크 또는 인터넷과 같은 광역 네트워크(WAN) 등의 임의의 다른 적절한 네트워킹 표준을 통해 네트워크 접속을 제공할 수 있는 네트워크 제어기 또는 네트워크 인터페이스 카드(NIC)일 수 있는 네트워크 장치(24)도 포함한다. 소정 실시예들에서, 네트워크 장치(24)는 애플사로부터 이용 가능한 iTunes® 뮤직 서비스와 같은 온라인 디지털 미디어 콘텐츠 제공자에 대한 접속을 제공할 수 있다.
장치(10)의 전원(26)은 비휴대용 및 휴대용 환경들 모두에서 장치(10)에 급전하기 위한 능력을 포함할 수 있다. 예를 들어, 휴대용 환경에서, 장치(10)는 장치(10)에 급전하기 위한 Li 이온 배터리와 같은 하나 이상의 배터리들을 포함할 수 있다. 배터리는 장치(10)를 전기 벽 콘센트와 같은 외부 전원에 접속함으로써 재충전될 수 있다. 비휴대용 환경에서, 전원(26)은 전기 벽 콘센트로부터 전력을 인출하고, 전력을 데스크탑 컴퓨팅 시스템과 같은 비휴대용 전자 장치의 다양한 컴포넌트들에 분배하도록 구성된 전력 공급 유닛(PSU)을 포함할 수 있다.
디스플레이(28)는 아래에 더 설명되는 바와 같이 운영 체제를 위한 GUI와 같이 장치(10)에 의해 생성된 다양한 이미지들, 또는 이미지 처리 회로(32)에 의해 처리된 이미지 데이터(정지 이미지들 및 비디오 데이터를 포함함)를 표시하는 데 사용될 수 있다. 전술한 바와 같이, 이미지 데이터는 이미징 장치(30)를 이용하여 획득된 이미지 데이터 또는 메모리(18) 및/또는 비휘발성 저장 장치(20)로부터 검색된 이미지 데이터를 포함할 수 있다. 디스플레이(28)는 예를 들어 액정 디스플레이(LCD), 플라즈마 디스플레이 또는 유기 발광 다이오드(OLED) 디스플레이와 같은 임의의 적절한 타입의 디스플레이일 수 있다. 게다가, 전술한 바와 같이, 디스플레이(28)는 전자 장치(10)용 제어 인터페이스의 일부로서 기능할 수 있는 전술한 터치 감지 메커니즘(예로서, 터치 스크린)과 연계하여 제공될 수 있다.
도시된 이미징 장치(들)(30)는 정지 이미지들 및 이동 이미지들(예로서, 비디오) 모두를 획득하도록 구성된 디지털 카메라로서 제공될 수 있다. 카메라(30)는 광을 캡처하고 전기 신호들로 변환하도록 구성된 렌즈 및 하나 이상의 이미지 센서들을 포함할 수 있다. 단지 예로서, 이미지 센서는 CMOS 이미지 센서(예로서, CMOS 액티브 픽셀 센서(APS)) 또는 CCD(charge-coupled device) 센서를 포함할 수 있다. 일반적으로, 카메라(30) 내의 이미지 센서는 픽셀들의 어레이를 구비한 집적 회로를 포함하며, 각각의 픽셀은 광을 감지하기 위한 포토 검출기를 포함한다. 이 분야의 기술자들이 알듯이, 이미징 픽셀들 내의 포토 검출기들은 일반적으로 카메라 렌즈들을 통해 캡처된 광의 강도를 검출한다. 그러나, 포토 검출기들은 일반적으로 그들 자체만으로는 캡처된 광의 파장을 검출할 수 없고, 따라서 컬러 정보를 결정할 수 없다.
따라서, 이미지 센서는 컬러 정보를 캡처하기 위하여 이미지 센서의 픽셀 어레이 위에 오버레이되거나 배치될 수 있는 컬러 필터 어레이(CFA)를 더 포함할 수 있다. 컬러 필터 어레이는 작은 컬러 필터들의 어레이를 포함할 수 있으며, 이들 각각은 이미지 센서의 각각의 픽셀과 오버랩될 수 있고, 캡처된 광을 파장에 의해 필터링할 수 있다. 따라서, 연계하여 사용될 때, 컬러 필터 어레이와 포토 검출기들은 카메라를 통해 캡처된 광에 대한 파장 및 강도 정보 둘다를 제공할 수 있으며, 이들은 캡처된 이미지를 표현할 수 있다.
일 실시예에서, 컬러 필터 어레이는 베이어 컬러 필터 어레이를 포함할 수 있으며, 이는 50%의 녹색 요소들, 25%의 적색 요소들 및 25%의 청색 요소들인 필터 패턴을 제공한다. 예를 들어, 도 2는 베이어 CFA의 2x2 픽셀 블록이 2개의 녹색 요소(Gr, Gb), 1개의 적색 요소(R) 및 1개의 청색 요소(B)를 포함한다는 것을 나타낸다. 따라서, 베이어 컬러 필터 어레이를 사용하는 이미지 센서는 녹색, 적색 및 청색 파장들에서 카메라(30)에 의해 수신된 광의 강도에 관한 정보를 제공할 수 있으며, 따라서 각각의 이미지 픽셀은 3개의 컬러(RGB) 중 하나만을 기록한다. 이어서, "원시 이미지 데이터" 또는 "원시 도메인" 내의 데이터로서 지칭될 수 있는 이러한 정보는 일반적으로 각각의 픽셀에 대해 적색, 녹색 및 청색 값들의 세트를 보간함으로써 원시 이미지 데이터를 풀 컬러 이미지로 변환하기 위해 하나 이상의 디모자이킹 기술들을 이용하여 처리될 수 있다. 아래에 더 설명되는 바와 같이, 그러한 디모자이킹 기술들은 이미지 처리 회로(32)에 의해 수행될 수 있다.
전술한 바와 같이, 이미지 처리 회로(32)는 결함 픽셀 검출/교정, 렌즈 쉐이딩 교정, 디모자이킹, 및 이미지 선명화, 잡음 저감, 감마 교정, 이미지 향상, 컬러-공간 변환, 이미지 압축, 크로마 서브-샘플링, 및 이미지 스케일링 연산 등과 같은 다양한 이미지 처리 단계들을 제공할 수 있다. 일부 실시예들에서, 이미지 처리 회로(32)는 다양한 이미지 처리 단계들 각각을 수행하기 위한 이미지 처리 "파이프라인"을 공동으로 형성하는 논리의 다양한 서브컴포넌트들 및/또는 개별 유닛들을 포함할 수 있다. 이러한 서브컴포넌트들은 하드웨어(예로서, 디지털 신호 프로세서 또는 ASIC) 또는 소프트웨어를 이용하여 또는 하드웨어 및 소프트웨어 컴포넌트들의 결합을 통해 구현될 수 있다. 이미지 처리 회로(32)에 의해 제공될 수 있는 다양한 이미지 처리 연산들 및 특히 결함 픽셀 검출/교정, 렌즈 쉐이딩 교정, 디모자이킹 및 이미지 선명화와 관련된 처리 연산들은 아래에 더 상세히 설명될 것이다.
계속하기 전에, 후술하는 다양한 이미지 처리 기술들의 다양한 실시예들이 베이어 CFA를 사용할 수 있지만, 현재 개시되는 기술들은 이와 관련하여 한정되는 것을 의도하지 않는다는 점에 유의해야 한다. 사실상, 이 분야의 기술자들은 본 명세서에서 제공되는 이미지 처리 기술들이 RGBW 필터, CYGM 필터 등을 포함하는 임의의 적절한 타입의 컬러 필터 어레이에 적용될 수 있다는 것을 알 것이다.
전자 장치(10)를 다시 참조하면, 도 3-6은 전자 장치(10)가 취할 수 있는 다양한 형태들을 나타낸다. 전술한 바와 같이, 전자 장치(10)는 (랩탑, 노트북 및 태블릿 컴퓨터들과 같은) 일반적으로 휴대용인 컴퓨터들은 물론, (데스크탑 컴퓨터, 워크스테이션 및/또는 서버와 같은) 일반적으로 비휴대용인 컴퓨터들 또는 핸드헬드 휴대용 전자 장치들(예로서, 디지털 미디어 플레이어 또는 이동 전화)과 같은 다른 타입의 전자 장치를 포함하는 컴퓨터의 형태를 취할 수 있다. 구체적으로, 도 3 및 4는 각각 랩탑 컴퓨터(40) 및 데스크탑 컴퓨터(50) 형태의 전자 장치(10)를 나타낸다. 도 5 및 6은 각각 핸드헬드 휴대용 장치(60) 형태의 전자 장치(10)의 정면도 및 배면도를 나타낸다.
도 3에 도시된 바와 같이, 도시된 랩탑 컴퓨터(40)는 하우징(42), 디스플레이(28), I/O 포트들(12) 및 입력 구조들(14)을 포함한다. 입력 구조들(14)은 하우징(42)과 통합된 키보드 및 터치패드 마우스를 포함할 수 있다. 게다가, 입력 구조(14)는 예를 들어 컴퓨터를 파워 온 또는 시동하기 위해, 컴퓨터(40) 상에서 실행되는 GUI 또는 애플리케이션을 조작하기 위해, 또한 컴퓨터(40)의 동작과 관련된 다양한 다른 양태들(예로서, 사운드 볼륨, 디스플레이 휘도 등)을 조정하기 위해 컴퓨터(40)와 상호작용하는 데 사용될 수 있는 다양한 다른 버튼들 및/또는 스위치들을 포함할 수 있다. 컴퓨터(40)는 FireWire® 또는 USB 포트, 고화질 멀티미디어 인터페이스(HDMI) 포트 또는 외부 장치에 접속하는 데 적합한 임의의 다른 타입의 포트와 같은 전술한 바의 추가 장치들에 대한 접속을 제공하는 다양한 I/O 포트들(12)도 포함할 수 있다. 게다가, 컴퓨터(40)는 도 1과 관련하여 전술한 바와 같이 네트워크 접속(예로서, 네트워크 장치(26)), 메모리(예로서, 메모리(20)) 및 저장 능력들(예로서, 저장 장치(22))을 포함할 수 있다.
게다가, 도시된 실시예에서, 랩탑 컴퓨터(40)는 통합된 이미징 장치(30)(예로서, 카메라)를 포함할 수 있다. 다른 실시예들에서, 랩탑 컴퓨터(40)는 통합 카메라(30) 대신에 또는 그에 더하여 I/O 포트들(12) 중 하나 이상에 접속된 외부 카메라(예로서, 외부 USB 카메라 또는 "웹캠")를 이용할 수 있다. 예를 들어, 외부 카메라는 애플사로부터 입수 가능한 iSight® 카메라일 수 있다. 카메라(30)는 통합 카메라인지 외부 카메라인지에 관계없이 이미지들의 캡처 및 기록을 제공할 수 있다. 이어서, 그러한 이미지들은 이미지 관찰 애플리케이션을 이용하여 사용자에게 보여질 수 있거나, iChat®와 같은 화상 회의 애플리케이션들, 및 Photo Booth®, Aperture®, iPhoto® 또는 Preview®와 같은 이미지 편집/관찰 애플리케이션들을 포함하는 다른 애플리케이션들에 의해 사용될 수 있으며, 이러한 애플리케이션들은 애플사로부터 입수 가능하다. 소정 실시예들에서, 도시된 랩탑 컴퓨터(40)는 애플사로부터 입수 가능한 MacBook®, MacBook® Pro, MacBook Air® 또는 PowerBook®의 일 모델일 수 있다. 부가적으로, 컴퓨터(40)는 일 실시예에 있어서 애플사로부터 또한 입수가능한 iPad® 태블릿 컴퓨터의 모델과 같은 휴대용 태블릿 컴퓨팅 장치일 수 있다.
또한, 도 4는 전자 장치(10)가 데스크탑 컴퓨터(50)로서 제공되는 실시예를 도시한다. 알듯이, 데스크탑 컴퓨터(50)는 도 4에 도시된 랩탑 컴퓨터(40)에 의해 제공되는 것들과 대체로 유사할 수 있는 다수의 특징을 포함할 수 있지만, 일반적으로 더 큰 전체 폼 팩터를 가질 수 있다. 도시된 바와 같이, 데스크탑 컴퓨터(50)는 디스플레이(28)는 물론, 도 1에 도시된 블록도와 관련하여 전술한 다양한 다른 컴포넌트들도 포함하는 인클로저(42) 내에 하우징될 수 있다. 또한, 데스크탑 컴퓨터(50)는 하나 이상의 I/O 포트들(12)(예로서, USB)을 통해 컴퓨터(50)에 결합되거나 컴퓨터(50)와 무선(예로서, RF, 블루투스 등)으로 통신할 수 있는 외부 키보드 및 마우스(입력 구조들(14))를 포함할 수 있다. 또한, 데스크탑 컴퓨터(50)는 전술한 바와 같이 통합 또는 외부 카메라일 수 있는 이미징 장치(30)를 포함한다. 소정 실시예들에서, 도시된 데스크탑 컴퓨터(50)는 애플사로부터 입수 가능한 iMac®, Mac® mini 또는 Mac Pro®의 일 모델일 수 있다.
더 도시된 바와 같이, 디스플레이(28)는 사용자가 볼 수 있는 다양한 이미지들을 생성하도록 구성될 수 있다. 예를 들어, 컴퓨터(50)의 동작 동안, 디스플레이(28)는 사용자가 컴퓨터(50) 상에서 실행되는 운영 체제 및/또는 애플리케이션과 상호작용할 수 있게 하는 그래픽 사용자 인터페이스("GUI")(52)를 표시할 수 있다. GUI(52)는 디스플레이 장치(28)의 전부 또는 일부에 표시될 수 있는 다양한 계층들, 윈도들, 스크린들, 템플릿들 또는 다른 그래픽 요소들을 포함할 수 있다. 예를 들어, 도시된 실시예에서, 운영 체제 GUI(52)는 다양한 그래픽 아이콘들(54)을 포함할 수 있으며, 이들 각각은 (예로서, 키보드/마우스 또는 터치스크린 입력을 통해) 사용자 선택을 검출할 때 열리거나 실행될 수 있는 다양한 애플리케이션들에 대응할 수 있다. 아이콘들(54)은 도크(56) 내에 또는 스크린 상에 표시된 하나 이상의 그래픽 윈도 요소들(58) 내에 표시될 수 있다. 일부 실시예들에서, 아이콘(54)의 선택은 계층적 내비게이션 프로세스를 유발할 수 있으며, 따라서 아이콘(54)의 선택은 스크린으로 안내하거나, 하나 이상의 추가적인 아이콘들 또는 다른 GUI 요소들을 포함하는 다른 그래픽 윈도를 개방한다. 단지 예로서, 도 4에 표시된 운영 체제 GUI(52)는 애플사로부터 입수 가능한 Mac OS® 운영 체제의 일 버전으로부터의 것일 수 있다.
도 5 및 6을 계속하면, 전자 장치(10)는 또한 애플사로부터 입수 가능한 iPod® 또는 iPhone®의 일 모델일 수 있는 휴대용 핸드헬드 전자 장치(60) 형태로 도시된다. 도시된 실시예에서, 핸드헬드 장치(60)는 물리적 손상으로부터 내부 컴포넌트들을 보호하고 전자기 간섭으로부터 이들을 차폐하도록 기능할 수 있는 인클로저(42)를 포함한다. 인클로저(42)는 플라스틱, 금속 또는 합성 재료와 같은 임의의 적절한 재료 또는 재료들의 조합으로부터 형성될 수 있으며, 무선 네트워킹 신호들과 같은 소정 주파수의 전자기 방사선이 도 5에 도시된 바와 같이 인클로저(42) 내에 배치될 수 있는 무선 통신 회로(예로서, 네트워크 장치(24))로 통과하게 할 수 있다.
인클로저(42)는 사용자가 핸드헬드 장치(60)와 인터페이스할 수 있는 다양한 사용자 입력 구조들(14)도 포함한다. 예를 들어, 각각의 입력 구조(14)는 눌리거나 작동될 때 하나 이상의 각각의 장치 기능들을 제어하도록 구성될 수 있다. 예를 들어, 입력 구조들(14) 중 하나 이상은 표시될 "홈" 스크린(42) 또는 메뉴를 호출하고, 슬립, 웨이크 또는 파워 온/오프 모드 사이에서 토글링하고, 셀룰러 폰 애플리케이션을 위해 링어를 침묵시키고, 볼륨 출력을 증가 또는 감소시키고, 기타 등등을 행하도록 구성될 수 있다. 도시된 입력 구조들(14)은 예시적일 뿐이고, 핸드헬드 장치(60)는 버튼, 스위치, 키, 노브, 스크롤 휠 등을 포함하는 다양한 형태들로 존재하는 임의 수의 적절한 사용자 입력 구조들을 포함할 수 있다는 것을 이해해야 한다.
도 5에 도시된 바와 같이, 핸드헬드 장치(60)는 다양한 I/O 포트들(12)을 포함할 수 있다. 예를 들어, 도시된 I/O 포트들(12)은 데이터 파일들을 송수신하거나 전원(26)을 충전하기 위한 독점 접속 포트(12a) 및 장치(60)를 오디오 출력 장치(예로서, 헤드폰 또는 스피커)에 접속하기 위한 오디오 접속 포트(12b)를 포함할 수 있다. 게다가, 핸드헬드 장치(60)가 이동 전화 기능을 제공하는 실시예들에서, 장치(60)는 가입자 식별 모듈(SIM) 카드(예로서, 확장 카드(22))를 수용하기 위한 I/O 포트(12c)를 포함할 수 있다.
LCD, OLED 또는 임의의 적절한 타입의 디스플레이일 수 있는 디스플레이 장치(28)는 핸드헬드 장치(60)에 의해 생성된 다양한 이미지들을 표시할 수 있다. 예를 들어, 디스플레이(28)는 전력 상태, 신호 강도, 외부 장치 접속 등과 같은 핸드헬드 장치(60)의 하나 이상의 상태들에 관한 피드백을 사용자에게 제공하는 다양한 시스템 지시기들(64)을 표시할 수 있다. 디스플레이는 사용자가 도 4와 관련하여 전술한 바와 같이 장치(60)와 상호작용할 수 있게 하는 GUI(52)도 표시할 수 있다. GUI(52)는 각각의 아이콘(54)의 사용자 선택의 검출 시에 열리거나 실행될 수 있는 다양한 애플리케이션들에 대응할 수 있는 아이콘들(54)과 같은 그래픽 요소들을 포함할 수 있다. 예를 들어, 아이콘들(54) 중 하나는 이미지들을 획득하기 위해 (도 5에 가상선으로 도시된) 카메라(30)와 연계하여 사용될 수 있는 카메라 애플리케이션(66)을 나타낼 수 있다. 도 6을 간단히 참조하면, 도 5에 도시된 핸드헬드 전자 장치(60)의 배면도가 도시되어 있으며, 이 도면은 카메라(30)를 하우징(42)과 통합되고 핸드헬드 장치(60)의 배면에 배치되는 것으로 도시한다.
전술한 바와 같이, 카메라(30)를 이용하여 획득된 이미지 데이터는 (예를 들어, 인클로저(42) 내에 배치된) 하드웨어 및/또는 장치(60)의 하나 이상의 저장 장치들(예로서, 메모리(18) 또는 비휘발성 저장 장치(20))에 저장된 소프트웨어를 포함할 수 있는 이미지 처리 회로(32)를 이용하여 처리될 수 있다. 카메라 애플리케이션(66) 및 카메라(30)를 이용하여 획득된 이미지들은 장치(60)에(예로서, 저장 장치(20)에) 저장될 수 있으며, 포토 관찰 애플리케이션(68)을 이용하여 나중에 관찰될 수 있다.
핸드헬드 장치(60)는 다양한 오디오 입력 및 출력 요소들도 포함할 수 있다. 예를 들어, 참조 번호(70)에 의해 일반적으로 도시된 오디오 입/출력 요소들은 하나 이상의 마이크로폰들과 같은 입력 수신기를 포함할 수 있다. 예를 들어, 핸드헬드 장치(60)가 셀 폰 기능을 포함하는 경우, 입력 수신기들은 사용자의 음성과 같은 사용자 오디오 입력을 수신하도록 구성될 수 있다. 게다가, 오디오 입/출력 요소들(70)은 하나 이상의 출력 송신기들을 포함할 수 있다. 그러한 출력 송신기들은 예를 들어 미디어 플레이어 애플리케이션(72)을 이용하는 뮤직 데이터의 재생 동안에 오디오 신호들을 사용자에게 전송하도록 기능할 수 있는 하나 이상의 스피커들을 포함할 수 있다. 게다가, 핸드헬드 장치(60)가 셀 폰 애플리케이션을 포함하는 실시예들에서는, 도 5에 도시된 바와 같이, 추가적인 오디오 출력 송신기(74)가 제공될 수 있다. 오디오 입/출력 요소들(70)의 출력 송신기들과 같이, 출력 송신기(74)는 전화 통화 동안에 수신되는 음성 데이터와 같은 오디오 신호들을 사용자에게 전송하도록 구성되는 하나 이상의 스피커들도 포함할 수 있다. 따라서, 오디오 입/출력 요소들(70, 74)은 전화의 오디오 수신 및 송신 요소들로서 기능하도록 연계하여 동작할 수 있다.
이제, 전자 장치(10)가 취할 수 있는 다양한 형태들과 관련된 소정의 상황을 제공하였으므로, 본 설명은 이제 도 1에 도시된 이미지 처리 회로(32)에 집중할 것이다. 전술한 바와 같이, 이미지 처리 회로(32)는 하드웨어 및/또는 소프트웨어 컴포넌트들을 이용하여 구현될 수 있으며, 이미지 신호 처리(ISP) 파이프라인을 정의하는 다양한 처리 유닛들을 포함할 수 있다. 특히, 아래의 설명은 본 명세서에서 설명되는 이미지 처리 기술들의 양태들, 특히 결함 픽셀 검출/교정 기술들, 렌즈 쉐이딩 교정 기술들, 디모자이킹 기술들 및 이미지 선명화 기술들과 관련된 양태들에 집중할 수 있다.
이제, 도 7을 참조하면, 현재 개시되는 기술들의 일 실시예에 따른, 이미지 처리 회로(32)의 일부로서 구현될 수 있는 여러 기능 컴포넌트를 나타내는 간이 톱-레벨 블록도가 도시되어 있다. 특히, 도 7은 적어도 일 실시예에 따른 이미지 처리 회로(32)를 통해 어떻게 이미지 데이터가 흐를 수 있는지를 도시하는 것을 의도한다. 이미지 처리 회로(32)의 일반 개요를 제공하기 위하여, 이러한 기능 컴포넌트들이 어떻게 동작하여 이미지 데이터를 처리하는지에 대한 일반 설명이 도 7과 관련하여 여기에 제공되며, 도시된 기능 컴포넌트들 각각은 물론, 이들 각각의 서브컴포넌트들에 대한 더 구체적인 설명이 아래에 더 제공될 것이다.
도시된 실시예를 참조하면, 이미지 처리 회로(32)는 이미지 신호 처리(ISP) 프론트엔드 처리 논리(80), ISP 파이프 처리 논리(82) 및 제어 논리(84)를 포함할 수 있다. 이미징 장치(30)에 의해 캡처된 이미지 데이터는 먼저 ISP 프론트엔드 논리(80)에 의해 처리되고, ISP 파이프 논리(82) 및/또는 이미징 장치(30)에 대한 하나 이상의 제어 파라미터들을 결정하는 데 사용될 수 있는 이미지 통계치들을 캡처하도록 분석될 수 있다. ISP 프론트엔드 논리(80)는 이미지 센서 입력 신호로부터 이미지 데이터를 캡처하도록 구성될 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 이미징 장치(30)는 하나 이상의 렌즈들(88) 및 이미지 센서(들)(90)를 구비한 카메라를 포함할 수 있다. 전술한 바와 같이, 이미지 센서(들)(90)는 컬러 필터 어레이(예로서, 베이어 필터)를 포함할 수 있으며, 따라서 이미지 센서들(90)의 각각의 이미징 픽셀에 의해 캡처된 광 강도 및 파장 정보 양자를 제공하여, ISP 프론트엔드 논리(80)에 의해 처리될 수 있는 원시 이미지 데이터의 세트를 제공할 수 있다. 예를 들어, 이미징 장치(30)로부터의 출력(92)은 센서 인터페이스(94)에 의해 수신될 수 있고, 이어서 이 센서 인터페이스는 예를 들어 센서 인터페이스 타입에 기초하여 원시 이미지 데이터(96)를 ISP 프론트엔드 논리(80)에 제공할 수 있다. 예를 들어, 센서 인터페이스(94)는 표준 이동 이미징 아키텍처(SMIA) 인터페이스 또는 이동 산업 프로세서 인터페이스(MIPI) 또는 이들의 소정 조합을 이용할 수 있다. 소정 실시예들에서, ISP 프론트엔드 논리(80)는 그 자신의 클럭 도메인 내에서 동작할 수 있으며, 센서 인터페이스(94)에 비동기 인터페이스를 제공하여, 상이한 크기들 및 타이밍 요구들을 갖는 이미지 센서들을 지원할 수 있다.
원시 이미지 데이터(96)는 ISP 프론트엔드 논리(80)에 제공되고, 다수의 포맷으로 픽셀별로 처리될 수 있다. 예를 들어, 각각의 이미지 픽셀은 8, 10, 12 또는 14 비트의 비트 심도를 가질 수 있다. ISP 프론트엔드 논리(80)는 원시 이미지 데이터(96)에 대해 하나 이상의 이미지 처리 연산들을 수행하는 것은 물론, 이미지 데이터(96)에 대한 통계치들을 수집할 수도 있다. 이미지 처리 연산들은 물론, 통계 데이터의 수집은 동일 또는 상이한 비트 심도 정밀도로 수행될 수 있다. 예를 들어, 일 실시예에서, 원시 이미지 픽셀 데이터(96)의 처리는 14 비트의 정밀도로 수행될 수 있다. 그러한 실시예들에서, 14 비트 미만(예로서, 8 비트, 10 비트, 12 비트)의 비트 심도를 갖는 ISP 프론트엔드 논리(80)에 의해 수신된 원시 픽셀 데이터는 이미지 처리 목적을 위해 14 비트로 업-샘플링될 수 있다. 다른 실시예에서, 통계 처리는 8 비트의 정밀도로 수행될 수 있으며, 따라서 더 높은 비트 심도를 갖는 원시 픽셀 데이터는 통계 목적을 위해 8 비트 포맷으로 다운-샘플링될 수 있다. 알듯이, 8 비트로의 다운 샘플링은 하드웨어 크기(예를 들어, 면적)를 줄일 수 있고, 또한 통계 데이터에 대한 처리/계산 복잡성을 줄일 수 있다. 게다가, 원시 이미지 데이터는 통계 데이터가 잡음에 더 강할 수 있게 하기 위해 공간적으로 평균될 수 있다.
게다가, 도 7에 도시된 바와 같이, ISP 프론트엔드 논리(80)는 또한 메모리(108)로부터 픽셀 데이터를 수신할 수 있다. 예를 들어, 참조 번호 98로 도시된 바와 같이, 원시 픽셀 데이터가 센서 인터페이스(94)로부터 메모리(108)로 전송될 수 있다. 이어서, 메모리(108)에 존재하는 원시 픽셀 데이터는 참조 번호 100으로 지시된 바와 같이 처리를 위해 ISP 프론트엔드 논리(80)에 제공될 수 있다. 메모리(108)는 메모리 장치(18) 또는 저장 장치(20)의 일부일 수 있거나, 전자 장치(10) 내의 개별 전용 메모리일 수 있고, 직접 메모리 액세스(DMA) 특징들을 포함할 수 있다. 게다가, 소정 실시예들에서, ISP 프론트엔드 논리(80)는 그 자신의 클럭 도메인 내에서 동작할 수 있고, 센서 인터페이스(94)에 대한 비동기 인터페이스를 제공하여, 상이한 크기들 및 상이한 타이밍 요구들을 갖는 센서들을 지원할 수 있다.
(센서 인터페이스(94)로부터) 원시 이미지 데이터(96) 또는 (메모리(108)로부터) 원시 이미지 데이터(100)를 수신할 때, ISP 프론트엔드 논리(80)는 시간 필터링 및/또는 비닝(binning) 보상 필터링과 같은 하나 이상의 이미지 처리 연산들을 수행할 수 있다. 이어서, 처리된 이미지 데이터는 (예로서, 디스플레이 장치(28) 상에) 표시되기 전에 추가적인 처리를 위해 ISP 파이프 논리(82)에 제공될 수 있거나(출력 신호(109)), 메모리로 전송될 수 있다(출력 신호(110)). ISP 파이프 논리(82)는 "프론트엔드" 처리된 데이터를 ISP 프론트엔드 논리(80)로부터 직접 또는 메모리(108)로부터 수신하고(입력 신호(112)), 원시 도메인에서는 물론, RGB 및 YCbCr 컬러 공간들에서의 이미지 데이터의 추가적인 처리를 위해 제공할 수 있다. 이어서, ISP 파이프 논리(82)에 의해 처리된 이미지 데이터는 사용자에 의한 관찰을 위해 디스플레이(28)로 출력될 수 있고(신호(114)), 그리고/또는 그래픽 엔진 또는 GPU에 의해 더 처리될 수 있다. 게다가, ISP 파이프 논리(82)로부터의 출력은 메모리(108)로 전송될 수 있고(신호(115)), 디스플레이(28)는 소정 실시예들에서 하나 이상의 프레임 버퍼들을 구현하도록 구성될 수 있는 메모리(108)로부터 이미지 데이터를 판독할 수 있다(신호(116)). 게다가, 일부 구현들에서, ISP 파이프 논리(82)의 출력은 이미지 데이터를 인코딩/디코딩하기 위해 압축/압축해제 엔진(118)에 또한 제공될 수 있다(신호(117)). 인코딩된 이미지 데이터는 저장된 다음, 나중에 디스플레이(28) 장치 상에 디스플레이되기 전에 압축해제될 수 있다(신호(119)). 예를 들어, 압축 엔진 또는 "인코더"(118)는 정지 이미지들을 인코딩하기 위한 JPEG 압축 엔진 또는 비디오 이미지들을 인코딩하기 위한 H.264 압축 엔진 또는 이들의 소정 조합뿐만 아니라, 이미지 데이터를 디코딩하기 위한 대응하는 압축해제 엔진일 수 있다. ISP 파이프 논리(82)에서 제공될 수 있는 이미지 처리 연산들에 관한 추가적인 정보는 도 32 내지 도 62와 관련하여 아래에 더 상세히 설명될 것이다. 또한, ISP 파이프 논리(82)는 또한 입력 신호 112로 도시된 바와 같이 메모리(108)로부터 원시 이미지 데이터를 수신할 수 있다는 점에 유의해야 한다.
ISP 프론트엔드 논리(80)에 의해 결정된 통계 데이터(102)는 제어 논리 유닛(84)에 제공될 수 있다. 통계 데이터(102)는 예를 들어 자동 노광, 자동 백색 균형, 자동 초점, 플리커 검출, 흑색 레벨 보상(BLC), 렌즈 쉐이딩 교정 등에 관한 이미지 센서 통계치들을 포함할 수 있다. 제어 논리(84)는 수신된 통계 데이터(102)에 기초하여 이미징 장치(30)에 대한 제어 파라미터들(104)은 물론, ISP 파이프 처리 논리(82)에 대한 제어 파라미터들(106)도 결정하도록 구성될 수 있는 하나 이상의 루틴들(예로서, 펌웨어)을 실행하도록 구성된 프로세서 및/또는 마이크로컨트롤러를 포함할 수 있다. 단지 예로서, 제어 파라미터들(104)은 센서 제어 파라미터들(예로서, 이득, 노광 제어를 위한 적분 시간), 카메라 플래시 제어 파라미터들, 렌즈 제어 파라미터들(예로서, 초점 맞춤 또는 줌을 위한 초점 길이) 또는 이러한 파라미터들의 조합을 포함할 수 있다. ISP 제어 파라미터들(106)은 (예로서, RGB 처리 동안의) 자동 백색 균형 및 컬러 조정을 위한 이득 레벨들 및 컬러 교정 행렬(CCM) 계수들은 물론, 후술하는 바와 같이 백색 포인트 균형 파라미터들에 기초하여 결정될 수 있는 렌즈 쉐이딩 교정 파라미터들도 포함할 수 있다. 일부 실시예들에서, 제어 논리(84)는 통계 데이터(102)를 분석하는 것에 더하여, 이력 통계치들도 분석할 수 있으며, 이들은 전자 장치(10)에(예로서, 메모리(18) 또는 저장 장치(20)에) 저장될 수 있다.
본 명세서에서 설명되는 이미지 처리 회로(32)의 일반적으로 복잡한 설계로 인해, ISP 프론트엔드 논리(80) 및 ISP 파이프 처리 논리(82)에 대한 설명은 아래에 설명되는 바와 같은 개별 섹션들로 분할하는 것이 유리할 수 있다. 구체적으로, 본원의 도 8 내지 도 31은 ISP 프론트엔드 논리(80)의 다양한 실시예들 및 양태들의 설명과 관련될 수 있고, 본원의 도 32 내지 도 62는 ISP 파이프 처리 논리(82)의 다양한 실시예들 및 양태들의 설명과 관련될 수 있다.
ISP 프론트엔드 처리 논리
도 8은 일 실시예에 따른, ISP 프론트엔드 논리(80)에서 구현될 수 있는 기능 논리 블록들을 나타내는 더 상세한 블록도이다. 도 7에서 전술한 바와 같은 이미징 장치(30) 및/또는 센서 인터페이스(94)의 구성에 따라, 하나 이상의 이미지 센서들(90)에 의해 원시 이미지 데이터가 ISP 프론트엔드 논리(80)에 제공될 수 있다. 도시된 실시예에서는, 제1 이미지 센서(90a)(Sensor0) 및 제2 이미지 센서(90b)(Sensor1)에 의해 원시 이미지 데이터가 ISP 프론트엔드 논리(80)에 제공될 수 있다. 도시된 바와 같이, 이미지 센서들(90a, 90b)은 원시 이미지 데이터를 신호들 Sif0 및 Sif1로서 각각 제공할 수 있다. 이미지 센서들(90a, 90b) 각각은 각각의 통계 처리 유닛들(120, 122)과 관련될 수 있다.
게다가, 원시 이미지 데이터(Sif0, Sif1)는 그들 각각의 처리 유닛들(120, 122)에 직접 제공될 수 있거나, 메모리(108)에 저장 또는 기록된 후에 신호들 SifIn0 및 SifIn1로서 각각 검색될 수 있다. 따라서, ISP 프론트엔드 논리(80)는 Sensor0(90a)에 의해 캡처된 원시 이미지 데이터를 나타내는 Sif0 또는 SifIn0 신호들을 통계 처리 유닛(120)에 제공할 수 있는 선택 논리(124)를 포함할 수 있으며, Sensor1(90b)에 의해 캡처된 원시 이미지 데이터를 나타내는 Sif1 또는 SifIn1 신호들을 통계 처리 유닛(122)에 제공할 수 있는 선택 논리(126)도 포함할 수 있다. 통계 처리 유닛들(120, 122) 각각은 원시 이미지 센서 데이터의 분석을 통해 얻어지는 다양한 통계 데이터를 결정할 수 있으며, 출력 신호들 Stats0 및 Stats1로 지시되는 바와 같이 통계치들의 각각의 세트들을 출력할 수 있다. 전술한 바와 같이, 통계 데이터(Stats0, Stats1)는 이미징 장치(30) 및/또는 ISP 파이프 처리 논리(82)를 작동시키는 데 사용될 수 있는 다양한 제어 파라미터들의 결정을 위해 제어 논리(84)에 제공될 수 있다.
통계 처리 유닛들(120, 122)에 더하여, ISP 프론트엔드 논리(80)는 픽셀 처리 유닛(130)을 더 포함할 수 있다. 픽셀 처리 유닛(130)은 원시 이미지 데이터에 대해 픽셀별로 다양한 이미지 처리 연산들을 수행할 수 있다. 도시된 바와 같이, 픽셀 처리 유닛(130)은 선택 논리(132)를 통해 원시 이미지 신호들 Sif0(Sensor0으로부터) 또는 Sif1(Sensor1로부터)을 수신할 수 있거나, 메모리(108)로부터 원시 이미지 데이터 FEProcIn을 수신할 수 있다. 알 수 있듯이, 도 8에 도시된 선택 논리 블록들(120, 122, 132)은 제어 신호에 응답하여 다수의 입력 신호 중 하나를 선택하는 멀티플렉서와 같은 임의의 적절한 타입의 논리에 의해 제공될 수 있다. 픽셀 처리 유닛(130)은 또한 아래에 더 설명되는 바와 같이 픽셀 처리 연산들을 수행할 때 다양한 신호들(예로서, Rin, Hin, Hout 및 Yout - 이들은 시간 필터링 동안에 사용되는 모션 이력 및 루마 데이터를 나타낼 수 있다)을 수신 및 출력할 수 있다. 이어서, 픽셀 처리 유닛(130)의 출력(109; FEProcOut)이 예를 들어 하나 이상의 선입선출(FIFO) 큐들을 통해 ISP 파이프 논리(82)로 전송될 수 있거나, 메모리(108)로 전송될 수 있다.
도 8의 ISP 프론트엔드 논리(80)에 도시된 통계 처리 및 픽셀 처리 연산들에 대한 더 상세한 설명을 계속하기 전에, 다양한 ISP 프레임 영역들의 정의들에 관한 간단한 소개가 본 발명의 더 나은 이해를 용이하게 하는 데 도움이 될 것으로 생각된다. 이를 염두에 두고, 이미지 소스 프레임 내에 정의될 수 있는 다양한 프레임 영역들이 도 9에 도시되어 있다. 이미지 처리 회로(32)에 제공되는 소스 프레임의 포맷은 8, 10, 12 또는 14 비트 정밀도의 픽셀 포맷들을 사용할 수 있는 바와 같은 전술한 타일형 또는 선형 어드레싱 모드들을 사용할 수 있다. 도 9에 도시된 바와 같은 이미지 소스 프레임(150)은 센서 프레임 영역(152), 원시 프레임 영역(154) 및 액티브 영역(156)을 포함할 수 있다. 센서 프레임(152)은 일반적으로 이미지 센서(90)가 이미지 처리 회로(32)에 제공할 수 있는 최대 프레임 크기이다. 원시 프레임 영역(154)은 ISP 프론트엔드 처리 논리(80)로 전송되는 센서 프레임(152)의 영역으로서 정의될 수 있다. 액티브 영역(156)은 특정 이미지 처리 연산을 위해 처리가 수행되는, 통상적으로 원시 프레임 영역(154) 내의 소스 프레임(150)의 일부로서 정의될 수 있다. 본 기술의 실시예들에 따르면, 그러한 액티브 영역(156)은 상이한 이미지 처리 연산들에 대해 동일하거나 상이할 수 있다.
본 기술의 양태들에 따르면, ISP 프론트엔드 논리(80)는 원시 프레임(154)만을 수신한다. 따라서, 본 설명의 목적을 위해, ISP 프론트엔드 처리 논리(80)에 대한 전역 프레임 크기는 폭(158) 및 높이(160)에 의해 결정되는 바와 같은 원시 프레임 크기로서 가정될 수 있다. 일부 실시예들에서, 센서 프레임(152)의 경계들로부터 원시 프레임(154)까지의 오프셋은 제어 논리(84)에 의해 결정 및/또는 유지될 수 있다. 예를 들어, 제어 논리(84)는 센서 프레임(152)에 대해 지정되는 x 오프셋(162) 및 y 오프셋(164)과 같은 입력 파라미터들에 기초하여 원시 프레임 영역(154)을 결정할 수 있는 펌웨어를 포함할 수 있다. 게다가, 일부 예들에서, ISP 프론트엔드 논리(80) 또는 ISP 파이프 논리(82) 내의 처리 유닛은 정의된 액티브 영역을 가질 수 있으며, 따라서, 원시 프레임 내의 그러나 액티브 영역(156) 밖의 픽셀들은 처리, 즉 변경되지 않을 것이다. 예를 들어, 폭(166) 및 높이(168)를 갖는 특정 처리 유닛에 대한 액티브 영역(156)이 원시 프레임(154)에 대한 x 오프셋(170) 및 y 오프셋(172)에 기초하여 정의될 수 있다. 게다가, 액티브 영역이 구체적으로 정의되지 않는 경우, 이미지 처리 회로(32)의 일 실시예는 액티브 영역(156)이 원시 프레임(154)과 동일한 것으로 가정할 수 있다(예를 들어, x 오프셋(170) 및 y 오프셋(172)은 모두 0과 동일하다). 따라서, 이미지 데이터에 대해 수행되는 이미지 처리 연산들의 목적을 위해, 원시 프레임(154) 또는 액티브 영역(156)의 경계들에 대해 경계 조건들이 정의될 수 있다.
이러한 점들을 유념하고, 도 10을 참조하면, 본 기술의 일 실시예에 따른 (도 8에서 전술한) ISP 프론트엔드 픽셀 처리 논리(130)의 더 상세한 도면이 도시되어 있다. 도시된 바와 같이, ISP 프론트엔드 픽셀 처리 논리(130)는 시간 필터(180) 및 비닝 보상 필터(182)를 포함한다. 시간 필터(180)는 입력 이미지 신호들 Sif0, Sif1 또는 FEProcIn 중 하나를 수신할 수 있으며, 임의의 추가 처리가 수행되기 전에 원시 픽셀 데이터에 대해 작용할 수 있다. 예를 들어, 시간 필터(180)는 처음에 이미지 프레임들을 시간 방향에서 평균함으로써 잡음을 줄이기 위해 이미지 데이터를 처리할 수 있다.
시간 필터(180)는 모션 및 휘도 특성들에 기초하여 픽셀 적응적일 수 있다. 예를 들어, 픽셀 모션이 클 때는, 결과적인 처리된 이미지 내의 "트레일링(trailing)" 또는 "고스팅 아티팩트들(ghosting artifacts)"의 발생을 방지하기 위하여 필터링 강도가 감소될 수 있는 반면, 모션이 거의 또는 전혀 검출되지 않을 때는 필터링 강도가 증가될 수 있다. 게다가, 필터링 강도는 휘도 데이터(예로서, "루마")에 기초해서도 조정될 수 있다. 예를 들어, 이미지 휘도가 증가함에 따라, 사람의 눈에는 필터링 아티팩트들이 더 현저해질 수 있다. 따라서, 픽셀이 높은 레벨의 휘도를 가질 때 필터링 강도는 더 감소될 수 있다.
시간 필터링을 적용할 때, 시간 필터(180)는 이전의 필터링된 또는 오리지널 프레임으로부터 제공될 수 있는 기준 픽셀 데이터(Rin) 및 모션 이력 입력 데이터(Hin)를 수신할 수 있다. 이러한 파라미터들을 사용하여, 시간 필터(180)는 모션 이력 출력 데이터(Hout) 및 필터링된 픽셀 출력(Yout)을 제공할 수 있다. 이어서, 필터링된 픽셀 출력(Yout)은 비닝 보상 필터(182)로 전송되며, 이 필터는 필터링된 픽셀 출력 데이터(Yout)에 대해 하나 이상의 스케일링 연산들을 수행하여 출력 신호(FEProcOut)를 생성하도록 구성될 수 있다. 이어서, 처리된 픽셀 데이터(FEProcOut)는 전술한 바와 같은 ISP 파이프 처리 논리(82)로 전송될 수 있다.
도 11을 참조하면, 제1 실시예에 따른, 도 10에 도시된 시간 필터에 의해 수행될 수 있는 시간 필터링 프로세스(190)를 나타내는 프로세스 도면이 도시되어 있다. 시간 필터(180)는 2-탭 필터를 포함할 수 있으며, 여기서 필터 계수들은 모션 및 휘도 데이터에 적어도 부분적으로 기초하여 픽셀별로 적응적으로 조정된다. 예를 들어, 필터 계수들을 포함할 수 있는 모션 이력 테이블(M)(192) 내에 모션 인덱스 탐색을 생성하기 위해, 시간 값을 나타내는 변수 "t"를 갖는 입력 픽셀들 x(t)는 이전에 필터링된 프레임 또는 이전의 오리지널 프레임 내의 기준 픽셀들 r(t-1)과 비교될 수 있다. 게다가, 모션 이력 입력 데이터 h(t-1)에 기초하여, 현재 입력 픽셀 x(t)에 대응하는 모션 이력 출력 h(t)가 결정될 수 있다.
모션 이력 출력 h(t) 및 필터 계수 K는 모션 델타 d(j,i,t)에 기초하여 결정될 수 있으며, 여기서 (j,i)는 현재 픽셀 x(j,i,t)의 공간 위치의 좌표들을 나타낸다. 모션 델타 d(j,i,t)는 3개의 수평으로 병치된 동일 컬러의 픽셀들에 대한 오리지널 픽셀과 기준 픽셀 사이의 3개의 절대 델타의 최대치를 결정함으로써 계산될 수 있다. 예를 들어, 도 12를 간단히 참조하면, 오리지널 입력 픽셀들(206, 208, 210)에 대응하는 3개의 병치된 기준 픽셀(200, 202, 204)의 공간 위치들이 도시되어 있다. 일 실시예에서, 모션 델타는 이러한 오리지널 및 기준 픽셀들에 기초하여 아래의 공식을 이용하여 계산될 수 있다.
[수학식 1a]
Figure 112012040056417-pct00001
모션 델타 값을 결정하기 위한 이러한 기술을 도시한 흐름도는 도 14에서 추가적으로 후술된다. 또한, 수학식 1a에서 전술한 바와 같이(그리고 도 14에서 후술하는 바와 같이) 모션 델타 값을 계산하기 위한 기술은 단지 모션 델타 값을 결정하기 위한 일 실시예를 제공하도록 의도된다는 것이 이해되어야 한다.
다른 실시예들에 있어서, 모션 델타 값을 결정하기 위해서 동일한 컬러의 픽셀들의 어레이가 평가될 수 있다. 예를 들어, 수학식 1a에서 참조된 3개의 픽셀들에 부가하여, 모션 델타 값들을 결정하기 위한 일 실시예는, 기준 픽셀들(206, 208 및 210) 위의(예를 들어, j-2; 베이어 패턴을 가정함) 2개의 행들로부터의 동일한 컬러의 픽셀들과 그 대응하는 병치된 픽셀들 사이의 그리고 기준 픽셀들(206, 208 및 210) 아래의(예를 들어, j+2; 베이어 패턴을 가정함) 2개의 행들로부터의 동일한 컬러의 픽셀들과 그 대응하는 병치된 픽셀들 사이의 절대 델타들을 평가하는 것을 또한 포함할 수 있다. 예를 들어, 일 실시예에 있어서, 모션 델타 값은 다음과 같이 표현될 수 있다.
[수학식 1b]
Figure 112012040056417-pct00002
따라서, 수학식 1b에 의해 나타낸 실시예에 있어서, 동일한 컬러의 픽셀들의 3x3 어레이 사이의 절대 델타를 비교함으로써 모션 델타 값이 결정될 수 있는데, 여기서 현재의 픽셀(208)은 3x3 어레이(예를 들어, 상이한 컬러들의 픽셀들이 카운트되는 경우에, 베이어 컬러 패턴들에 대해 실제로 5x5 어레이)의 중심에 위치한다. 동일한 컬러의 픽셀들의 임의의 적합한 2차원 어레이(예를 들어, 동일한 행에서의 모든 픽셀들을 갖는 어레이들(예를 들어, 수학식 1a) 또는 동일한 열에서의 모든 픽셀들을 갖는 어레이들을 포함함)(현재의 픽셀(예를 들어, 208)은 이 어레이의 중심에 위치함)는 모션 델타 값을 결정하기 위해서 분석될 수 있다는 것이 인식되어야 한다. 또한, 모션 델타 값이 (예를 들어, 수학식 1a 및 수학식 1b에서 나타낸 바와 같이) 절대 델타들 중 최대로서 결정될 수 있는 한편, 다른 실시예들에 있어서, 모션 델타 값은 또한 절대 델타들의 평균 또는 중앙으로서 선택될 수 있다. 부가적으로, 전술한 기술들은 또한 다른 타입의 컬러 필터 어레이들(예를 들어, RGBW, CYGM 등)에 적용될 수 있으며, 베이어 패턴들에 배타적인 것으로 의도되지는 않는다.
도 11을 다시 참조하면, 모션 델타 값이 결정되면, (예로서, 공간 위치 (j,i)에서의) 현재 픽셀에 대한 모션 델타 d(t)와 모션 이력 입력 h(t-1)을 합산함으로써, 모션 테이블(M)(192)로부터 필터 계수 K를 선택하는 데 사용될 수 있는 모션 인덱스 탐색이 계산될 수 있다. 예를 들어, 필터 계수 K는 다음과 같이 결정될 수 있다.
[수학식 2a]
Figure 112012040056417-pct00003
게다가, 모션 이력 출력 h(t)는 아래의 공식을 이용하여 결정될 수 있다.
[수학식 3a]
Figure 112012040056417-pct00004
이어서, 현재 입력 픽셀 x(t)의 휘도를 이용하여 루마 테이블(L)(194) 내의 루마 인덱스 탐색을 생성할 수 있다. 일 실시예에서, 루마 테이블은 0과 1 사이일 수 있고 루마 인덱스에 기초하여 선택될 수 있는 감쇠 인자들을 포함할 수 있다. 아래의 식에 나타난 바와 같이 제1 필터 계수 K와 루마 감쇠 인자를 곱하여 제2 필터 계수 K'가 계산될 수 있다.
[수학식 4a]
Figure 112012040056417-pct00005
이어서, 결정된 K'에 대한 값이 시간 필터(180)에 대한 필터링 계수로서 사용될 수 있다. 전술한 바와 같이, 시간 필터(180)는 2-탭 필터일 수 있다. 게다가, 시간 필터(180)는 이전의 필터링된 프레임을 이용하는 무한 임펄스 응답(IIR) 필터로서 또는 이전의 오리지널 프레임을 이용하는 유한 임펄스 응답(FIR) 필터로서 구성될 수 있다. 시간 필터(180)는 아래의 식을 이용하여, 현재 입력 픽셀 x(t), 기준 픽셀 r(t-1) 및 필터 계수 K'를 이용하여, 필터링된 출력 픽셀 y(t)(Yout)를 계산할 수 있다.
[수학식 5a]
Figure 112012040056417-pct00006
전술한 바와 같이, 도 11에 도시된 시간 필터링 프로세스(190)는 픽셀별로 수행될 수 있다. 일 실시예에서는, 모든 컬러 성분들(예로서, R, G, B)에 대해 동일한 모션 테이블(M) 및 루마 테이블(L)이 사용될 수 있다. 게다가, 일부 실시예들은 예를 들어 제어 논리(84)로부터의 제어 신호에 응답하여 시간 필터링을 바이패스할 수 있는 바이패스 메커니즘을 제공할 수 있다. 또한, 도 16 및 도 17과 관련하여 후술되는 바와 같이, 시간 필터(180)의 일 실시예는 이미지 데이터의 각각의 컬러 성분에 대해 별개의 모션 및 루마 테이블들을 이용할 수 있다.
도 11 및 도 12를 참조하여 기술된 시간 필터링 기술의 실시예는, 전술한 실시예에 따른 방법(214)을 나타낸 흐름도를 도시하는 도 13을 고려하여 보다 양호하게 이해될 수 있다. 방법(214)은 단계 216에서 시작하는데, 여기서 시간 필터링 시스템(190)에 의해 이미지 데이터의 현재의 프레임의 공간 위치 (j,i)에 위치한 현재의 픽셀 x(t)가 수신된다. 단계 218에서, 이미지 데이터의 이전의 프레임(예를 들어, 현재의 프레임 직전의 이미지 프레임)으로부터의 하나 이상의 병치된 기준 픽셀들(예를 들어, r(t-1))에 적어도 부분적으로 기초하여 현재의 픽셀 x(t)에 대한 모션 델타 값 d(t)가 결정된다. 단계 218에서 모션 델타 값 d(t)를 결정하기 위한 기술은 도 14를 참조하여 추가적으로 후술되며, 전술한 바와 같이 수학식 1a에 따라 수행될 수 있다.
일단 단계 218로부터 모션 델타 값 d(t)가 획득되면, 단계 220에서 나타낸 바와 같이, 이전의 프레임으로부터의 공간 위치 (j,i)에 대응하는 모션 이력 입력 값 h(t-1) 및 모션 델타 값 d(t)를 이용하여, 모션 테이블 탐색 인덱스가 결정될 수 있다. 부가적으로, 도시되지는 않았지만, 일단 예를 들어 전술한 수학식 3a를 이용함으로써 모션 델타 값 d(t)가 공지되면, 단계 220에서 현재의 픽셀 x(t)에 대응하는 모션 이력 값 h(t)가 또한 결정될 수 있다. 그 이후에, 단계 222에서, 단계 220으로부터의 모션 테이블 탐색 인덱스를 이용하여 모션 테이블(192)로부터 제1 필터 계수(K)가 선택될 수 있다. 모션 테이블 탐색 인덱스의 결정 및 모션 테이블로부터의 제1 필터 계수(K)의 선택은 전술한 바와 같이 수학식 2a에 따라 수행될 수 있다.
다음에, 단계 224에서, 루마 테이블(194)로부터 감쇠 인자가 선택될 수 있다. 예를 들어, 루마 테이블(194)은 대략 0과 1 사이의 범위의 감쇠 인자들을 포함할 수 있으며, 감쇠 인자는 탐색 인덱스로서 현재의 픽셀 x(t)의 값을 이용하여 루마 테이블(194)로부터 선택될 수 있다. 일단 감쇠 인자가 선택되면, 전술한 수학식 4a에서 나타낸 바와 같이, 선택된 감쇠 인자 및 (단계 222로부터의) 제1 필터 계수(K)를 이용하여 단계 226에서 제2 필터 계수(K')가 결정될 수 있다. 그런 다음, 단계 228에서, (단계 224로부터의) 제2 필터 계수(K'), 병치된 기준 픽셀 r(t-1)의 값 및 입력 픽셀 x(t)의 값에 기초하여, 현재의 입력 픽셀 x(t)에 대응하는 시간 필터링된 출력 값 y(t)가 결정된다. 예를 들어, 일 실시예에 있어서, 출력 값 y(t)는 전술한 바와 같이 수학식 5a에 따라 결정될 수 있다.
도 14를 참조하면, 방법(214)으로부터 모션 델타 값 d(t)를 결정하는 단계 218은 일 실시예에 따라 보다 상세하게 예시된다. 특히, 모션 델타 값 d(t)의 결정은 일반적으로 수학식 1a에 따른 전술한 연산에 대응할 수 있다. 도시된 바와 같이, 단계 218은 서브단계들 232 내지 238을 포함할 수 있다. 서브단계 232에서 시작하여, 현재의 입력 픽셀 x(t)와 동일한 컬러 값을 갖는 3개의 수평적으로 인접한 픽셀들의 세트가 식별된다. 예로서, 도 12에 도시된 실시예에 따르면, 이미지 데이터는 베이어 이미지 데이터를 포함할 수 있고, 3개의 수평적으로 인접한 픽셀들은 현재의 입력 픽셀 x(t)(208), 현재의 입력 픽셀(208)의 좌측에 있는 동일한 컬러의 제2 픽셀(206), 및 현재의 입력 픽셀(208)의 우측에 있는 동일한 컬러의 제3 픽셀을 포함할 수 있다.
다음에, 서브단계 234에서, 선택된 3개의 수평적으로 인접한 픽셀들(206, 208 및 210)의 세트에 대응하는 이전의 프레임으로부터의 3개의 병치된 기준 픽셀들(200, 202 및 204)이 식별된다. 선택된 픽셀들(206, 208 및 210) 및 3개의 병치된 기준 픽셀들(200, 202 및 204)을 이용하여, 서브단계 236에서, 3개의 선택된 픽셀들(206, 208 및 210) 각각과 그 대응하는 병치된 기준 픽셀들(200, 202 및 204) 사이의 차이들의 절대 값들이 각각 결정된다. 후속하여, 서브단계 238에서, 현재의 입력 픽셀 x(t)에 대한 모션 델타 값 d(t)로서 서브단계 236으로부터의 3개의 차이들 중 최대가 선택된다. 전술한 바와 같이, 수학식 1a에 나타낸 모션 델타 값 계산 기술을 도시하는 도 14는 단지 일 실시예를 제공하도록 의도된다. 실제로, 전술한 바와 같이, 동일한 컬러의 픽셀들의 임의의 적합한 2차원 어레이(현재의 픽셀이 이 어레이의 중심에 있음)가 모션 델타 값을 결정하는데 이용될 수 있다(예를 들어, 수학식 1b).
이미지 데이터에 시간 필터링을 적용하기 위한 기술의 다른 실시예가 도 15에 추가적으로 도시되어 있다. 예를 들어, 이미지 데이터의 상이한 컬러 성분들에 대한 신호대 잡음비들이 상이할 수 있기 때문에, 모션 테이블(192) 및 루마 테이블(194)로부터 모션 및 루마 값들이 선택되기 이전에 현재의 픽셀에 이득이 부여되도록 현재의 픽셀에 이득이 적용될 수 있다. 컬러 종속적인 각각의 이득을 적용함으로써, 신호대 잡음비는 상이한 컬러 성분들 사이에서 보다 일관될 수 있다. 단지 예로서, 원시 베이어 이미지 데이터를 이용하는 일 구현에 있어서, 적색 및 청색 컬러 채널들은 일반적으로 녹색(Gr 및 Gb) 컬러 채널들과 비교하여 보다 민감할 수 있다. 따라서, 각각의 처리된 픽셀에 대해 적절한 컬러-종속 이득을 적용함으로써, 각각의 컬러 성분 사이의 신호대 잡음 변동이 일반적으로 감소되며, 그에 따라 특히 자동 백색 균형 이득들 다음의 상이한 컬러들에 걸친 일관성뿐만 아니라 고스팅 아티팩트들을 감소시킬 수 있다.
이것을 고려하여, 도 15는 이러한 일 실시예에 따라 프론트엔드 처리 유닛(130)에 의해 수신된 이미지 데이터에 대해 시간 필터링을 적용하는 방법(240)을 도시한 흐름도를 제공한다. 단계 242에서 시작하여, 시간 필터링 시스템(190)에 의해 이미지 데이터의 현재의 프레임의 공간 위치 (j,i)에 위치한 현재의 픽셀 x(t)가 수신된다. 단계 244에서, 이미지 데이터의 이전의 프레임(예를 들어, 현재의 프레임 직전의 이미지 프레임)으로부터의 하나 이상의 병치된 기준 픽셀들(예를 들어, r(t-1))에 적어도 부분적으로 기초하여, 현재의 픽셀 x(t)에 대한 모션 델타 값 d(t)가 결정된다. 단계 244는 도 13의 단계 218과 유사할 수 있으며, 전술한 수학식 1에서 나타낸 연산을 이용할 수 있다.
다음에, 단계 246에서, 모션 델타 값 d(t), 이전의 프레임으로부터의 공간 위치 (j,i)에 대응하는(예를 들어, 병치된 기준 픽셀 r(t-1)에 대응하는) 모션 이력 입력 값 h(t-1), 및 현재의 픽셀의 컬러와 연관된 이득을 이용하여, 모션 테이블 탐색 인덱스가 결정될 수 있다. 그 이후에, 단계 248에서, 단계 246에서 결정된 모션 테이블 탐색 인덱스를 이용하여 모션 테이블(192)로부터 제1 필터 계수(K)가 선택될 수 있다. 단지 예로서, 일 실시예에 있어서, 필터 계수(K) 및 모션 테이블 탐색 인덱스는 다음과 같이 결정될 수 있는데:
[수학식 2b]
Figure 112012040056417-pct00007
여기서, M은 모션 테이블을 나타내며, gain[c]는 현재의 픽셀의 컬러와 연관된 이득에 대응한다. 부가적으로, 도 15에 도시되지는 않았지만, 현재의 픽셀에 대한 모션 이력 출력 값 h(t)가 또한 결정될 수 있으며, 후속 이미지 프레임(예를 들어, 다음의 프레임)의 병치된 픽셀에 대해 시간 필터링을 적용하는데 이용될 수 있다는 것이 이해되어야 한다. 본 실시예에 있어서, 현재의 픽셀 x(t)에 대한 모션 이력 출력 h(t)는 다음의 식을 이용하여 결정될 수 있다.
[수학식 3b]
Figure 112012040056417-pct00008
다음에, 단계 250에서, 현재의 픽셀 x(t)의 컬러와 연관된 이득(gain[c])에 기초하여 결정된 루마 테이블 탐색 인덱스를 이용하여 루마 테이블(194)로부터 감쇠 인자가 선택될 수 있다. 전술한 바와 같이, 루마 테이블에 저장된 감쇠 인자들은 대략 0 내지 1의 범위를 가질 수 있다. 그 이후에, 단계 252에서, (단계 250으로부터의) 감쇠 인자 및 (단계 248로부터의) 제1 필터 계수(K)에 기초하여 제2 필터 계수(K')가 계산될 수 있다. 단지 예로서, 일 실시예에 있어서, 제2 필터 계수(K') 및 루마 테이블 탐색 인덱스는 다음과 같이 결정될 수 있다.
[수학식 4b]
Figure 112012040056417-pct00009
다음에, 단계 254에서, (단계 252로부터의) 제2 필터 계수(K'), 병치된 기준 픽셀 r(t-1)의 값 및 입력 픽셀 x(t)의 값에 기초하여, 현재의 입력 픽셀 x(t)에 대응하는 시간 필터링된 출력 값 y(t)가 결정된다. 예를 들어, 일 실시예에 있어서, 출력 값 y(t)는 다음과 같이 결정될 수 있다.
[수학식 5b]
Figure 112012040056417-pct00010
도 16으로 계속하면, 시간 필터링 프로세스(260)의 추가 실시예가 도시되어 있다. 여기서, 시간 필터링 프로세스(260)는, 공유된 모션 및 루마 테이블들을 이용하여 각각의 입력 픽셀에 대해 컬러-종속 이득(예를 들어, gain[c])을 적용하는 대신에, 각각의 컬러 성분들에 대해 별개의 모션 및 루마 테이블들이 제공되는 것을 제외하고는, 도 15에서 설명된 실시예와 유사한 방식으로 달성될 수 있다. 예를 들어, 도 16에 도시된 바와 같이, 모션 테이블들(192)은 제1 컬러에 대응하는 모션 테이블(192a), 제2 컬러에 대응하는 모션 테이블(192b) 및 제n 컬러에 대응하는 모션 테이블(192c)을 포함할 수 있는데, 여기서 n은 원시 이미지 데이터에 존재하는 컬러들의 수에 종속한다. 유사하게, 루마 테이블들(194)은 제1 컬러에 대응하는 루마 테이블(194a), 제2 컬러에 대응하는 루마 테이블(194b) 및 제n 컬러에 대응하는 루마 테이블(194c)을 포함할 수 있다. 따라서, 원시 이미지 데이터가 베이어 이미지 데이터인 일 실시예에 있어서, 적색, 청색 및 녹색 컬러 성분들 각각에 대해 3개의 모션 및 루마 테이블들이 제공될 수 있다. 후술하는 바와 같이, 필터링 계수들(K) 및 감쇠 인자들의 선택은 현재의 컬러(예를 들어, 현재의 입력 픽셀의 컬러)에 대해 선택된 모션 및 루마 테이블에 종속할 수 있다.
컬러-종속 모션 및 루마 테이블들을 이용한 시간 필터링에 대한 추가 실시예를 예시하는 방법(270)이 도 17에 도시되어 있다. 인식되는 바와 같이, 방법(270)에 의해 이용될 수 있는 다양한 계산들 및 식들은 도 13에 도시된 실시예와 유사할 수 있거나(그러나, 각각의 컬러에 대해 특정 모션 및 루마 테이블이 선택됨), 또는 도 15에 도시된 실시예와 유사할 수 있다(그러나, 컬러 종속 gain[c]의 이용은 컬러-종속 모션 및 루마 테이블의 선택으로 대체됨).
단계 272에서 시작하여, 시간 필터링 시스템(260; 도 16)에 의해 이미지 데이터의 현재의 프레임의 공간 위치 (j,i)에 위치한 현재의 픽셀 x(t)가 수신된다. 단계 274에서, 이미지 데이터의 이전의 프레임(예를 들어, 현재의 프레임 직전의 이미지 프레임)으로부터의 하나 이상의 병치된 기준 픽셀들(예를 들어, r(t-1))에 적어도 부분적으로 기초하여, 현재의 픽셀 x(t)에 대한 모션 델타 값 d(t)가 결정된다. 단계 274는 도 13의 단계 218과 유사할 수 있으며, 전술한 수학식 1에서 나타낸 연산을 이용할 수 있다.
다음에, 단계 276에서, 이전의 프레임으로부터의 공간 위치 (j,i)에 대응하는(예를 들어, 병치된 기준 픽셀 r(t-1)에 대응하는) 모션 이력 입력 값 h(t-1) 및 모션 델타 값 d(t)를 이용하여, 모션 테이블 탐색 인덱스가 결정될 수 있다. 그 이후에, 단계 278에서, 현재의 입력 픽셀의 컬러에 기초하여 이용가능한 모션 테이블들(예를 들어, 192a, 192b, 192c) 중 하나로부터 제1 필터 계수(K)가 선택될 수 있다. 예를 들어, 하나의 적절한 모션 테이블이 식별되며, 제1 필터 계수(K)는 단계 276에서 결정된 모션 테이블 탐색 인덱스를 이용하여 선택될 수 있다.
제1 필터 계수(K)를 선택한 이후에, 단계 280에 도시된 바와 같이, 현재의 컬러에 대응하는 루마 테이블이 선택되며, 현재의 픽셀 x(t)의 값에 기초하여, 선택된 루마 테이블로부터 감쇠 인자가 선택된다. 그 이후에, 단계 282에서, (단계 280으로부터의) 감쇠 인자 및 제1 필터 계수(K)(단계 278)에 기초하여 제2 필터 계수(K')가 결정된다. 다음에, 단계 284에서, (단계 282로부터의) 제2 필터 계수(K'), 병치된 기준 픽셀 r(t-1)의 값 및 입력 픽셀 x(t)의 값에 기초하여, 현재의 입력 픽셀 x(t)에 대응하는 시간 필터링된 출력 값 y(t)가 결정된다. 도 17에 도시된 기술은 (예를 들어, 부가적인 모션 및 루마 테이블들을 저장하는데 필요한 메모리로 인해) 구현하기에 보다 고비용이 소요될 수 있지만, 이는 몇몇 경우에 자동 백색 균형 이득들 다음의 상이한 컬러들에 걸친 일관성 및 고스팅 아티팩트들에 대하여 추가의 개선을 제공할 수 있다.
추가 실시예들에 따르면, 시간 필터(180)에 의해 제공된 시간 필터링 프로세스는, 입력 픽셀들에 시간 필터링을 적용하기 위해 컬러-종속 이득들과 컬러-특정 모션 및/또는 루마 테이블들의 조합을 이용할 수 있다. 예를 들어, 이러한 일 실시예에 있어서, 모든 컬러 성분들에 대해 단일 모션 테이블이 제공될 수 있으며, 모션 테이블로부터 제1 필터링 계수(K)를 선택하기 위한 모션 테이블 탐색 인덱스는 (예를 들어 도 15의 단계 246 내지 단계 248에 도시된 바와 같이) 컬러 종속 이득에 기초하여 결정될 수 있는 한편, 루마 테이블 탐색 인덱스는 이것에 적용되는 컬러 종속 이득을 가질 수 없을 수 있지만, (예를 들어, 도 17의 단계 280에 도시된 바와 같이) 현재의 입력 픽셀의 컬러에 따라 다수의 루마 테이블들 중 하나로부터 휘도 감쇠 인자를 선택하는데 이용될 수 있다. 대안적으로, 다른 실시예에 있어서, 다수의 모션 테이블들이 제공될 수 있으며, (컬러 종속 이득이 적용되지 않는) 모션 테이블 탐색 인덱스는 (예를 들어, 도 17의 단계 278에 도시된 바와 같이) 현재의 입력 픽셀의 컬러에 대응하는 모션 테이블로부터 제1 필터링 계수(K)를 선택하는데 이용될 수 있는 한편, 모든 컬러 성분들에 대해 단일 루마 테이블이 제공될 수 있으며, (예를 들어, 도 15의 단계 250 내지 단계 252에 도시된 바와 같이) 컬러 종속 이득에 기초하여, 휘도 감쇠 인자를 선택하기 위한 루마 테이블 탐색 인덱스가 결정될 수 있다. 또한, 베이어 컬러 필터 어레이가 이용되는 일 실시예에 있어서, 적색(R) 및 청색(B) 컬러 성분들 각각에 대해 하나의 모션 테이블 및/또는 루마 테이블이 제공될 수 있는 한편, 녹색 컬러 성분들 모두(Gr 및 Gb)에 대해 공통 모션 테이블 및/또는 루마 테이블이 제공될 수 있다.
이어서, 시간 필터(180)의 출력은 비닝 보상 필터(BCF)(182)로 전송될 수 있으며, 이 필터는 이미지 픽셀들을 처리하여 컬러 샘플들의 비선형 배치를 보상할 수 있으며, 따라서 컬러 샘플들의 선형 배치에 의존하는 ISP 파이프 논리(82)에서의 후속 이미지 처리 연산들(예로서, 디모자이킹 등)이 올바르게 행해질 수 있다. 게다가, BCF(182)는 또한 수직 및/또는 수평 스케일링과 같은 하나 이상의 스케일링 연산들을 적용함으로써 픽셀 데이터를 처리할 수 있다. 도 18은 개시되는 일 실시예에 따른, 스케일링 논리(292) 및 차동 분석기(294)를 포함할 수 있는 비닝 보상 필터(182)의 블록도를 나타내고, 도 19는 스케일링 연산들을 수행하는 데 사용될 수 있는 프로세스(296)를 나타낸다.
도 18에 도시된 바와 같이, 스케일링 논리(292)는 아래에 더 설명되는 바와 같이 출력 FEProcOut(109)를 생성할 수 있으며, 이 출력은 전술한 바와 같이 추가 처리를 위해 ISP 파이프 논리(82)로 전송될 수 있다. 일 실시예에서, BCF(182)에 의해 수행되는 스케일링 연산(들)은 소스 이미지로부터 픽셀들을 선택하고 각각의 픽셀과 가중 인자를 곱한 후에 픽셀 값들을 합산하여 목적 픽셀을 형성할 수 있는 하나 이상의 멀티-탭 다상 필터들을 이용하여 수행될 수 있다. 알듯이, 스케일링 연산들에서 사용되는 픽셀들의 선택은 현재 픽셀 위치 및 필터들에 의해 제공되는 탭들의 수에 적어도 부분적으로 의존할 수 있다. 게다가, 필터링 연산들은 동일한 컬러 픽셀들을 이용하여 컬러 성분마다 수행될 수 있으며, 가중 인자들(또는 계수들)은 탐색 테이블로부터 얻어지고, 현재의 픽셀간 분수 위치에 기초하여 결정될 수 있다.
도시된 실시예에서, 차동 분석기(294)는 디지털 차동 분석기(DDA)일 수 있으며, 스케일링 연산들 동안에 현재 픽셀 위치를 제어하도록 구성될 수 있다. 단지 예로서, DDA(294)는 정수부에서 12 비트 그리고 분수에서 20 비트를 갖는 2의 보수 고정 소수점 수를 포함하는 32비트 데이터 레지스터로서 제공될 수 있다. 12비트 정수부는 현재 픽셀 위치를 결정하는 데 사용될 수 있다. 분수부는 계수 테이블 내의 인덱스로서 사용된다. 일 실시예에서, 수직 및 수평 스케일링 컴포넌트들은 8-심도(deep) 계수 테이블들을 사용할 수 있으며, 따라서 20비트 분수부의 고차 3 비트가 인덱스를 위해 사용된다.
32비트 DDA 레지스터(DDA[31:0])에 기초하는 예를 제공하기 위하여, 현재 중심 소스 픽셀 위치(currPixel)가 12비트 정수부 DDA[31:20]에 의해 정의될 수 있으며, 다음 비트 DDA[19]가 1인 경우에는 (+1) 올림될 수 있다. 이어서, currPixel에 이웃하는 픽셀들의 소스 픽셀 값들이 필터에 의해 제공되는 탭들의 수에 따라 얻어질 수 있다. 예를 들어, 일 실시예에서, 3 탭 다상 필터를 이용하여 수직 스케일링이 수행될 수 있고, 따라서 currPixel의 각 측 상의 동일 컬러의 하나의 픽셀이 선택되며(예로서, -1, 0, +1), 5 탭 다상 필터를 이용하여 수평 스케일링이 수행될 수 있고, currPixel의 각 측 상의 동일 컬러의 2개의 픽셀이 선택된다(예로서, -2, -1, 0, +1, +2). 게다가, 각각의 탭은 그 자신의 각각의 계수 테이블을 가질 수 있다. 따라서, 3개의 8-심도 테이블이 3탭 수직 스케일링 필터에 대해 제공될 수 있고, 5개의 8-심도 테이블이 5탭 수평 스케일링 필터에 대해 제공될 수 있다. 현재 계수 인덱스(currIndex)는 DDA[19:16](분수부 DDA[19:0]의 고차 3 비트)에 의해 정의될 수 있으며, 다음 비트 DDA[15]가 1인 경우에는 (+1) 올림될 수 있다.
따라서, BCF(182)에서 발생하는 필터링 프로세스는 중심 픽셀(currPixel) 주위의 소스 픽셀 값들을 획득하고, 이 값들과, currIndex를 이용하여 액세스된 테이블들로부터의 적절한 계수들을 곱하는 단계를 포함할 수 있다. 주어진 픽셀에 대해 필터링 프로세스가 완료되면, 스텝 값(DDAStep)을 DDA(294)에 추가하여, 다음 픽셀의 위치를 결정할 수 있고, 후속 픽셀에 대해 필터링/스케일링 연산들이 반복될 수 있다. 이것은 도 19에 도시된 프로세스(296)에 의해 더 설명된다. 예를 들어, 단계 298에서 시작하여, DDA(294)가 초기화되고, 현재 픽셀 위치가 식별된다. 전술한 바와 같이, DDA(294)가 2의 보수 고정 소수점 수를 저장하기 위한 32비트 레지스터를 포함하는 경우, 현재 픽셀 위치는 레지스터 데이터의 상위 12 비트(정수부)에 의해 지정될 수 있다.
단계 300에서, 수직 및 수평 스케일링 양자를 위해 멀티 탭 필터링이 수행된다. 예를 들어, 수직 및 수평 스케일링을 위해 3탭 및 5탭 다상 필터들이 각각 사용되는 것으로 가정하고, 이미지 센서(90)가 베이어 컬러 필터 패턴(도 2)을 사용하는 것으로 가정하면, 수직 스케일링 컴포넌트는 각각의 컬러 성분: Gr, R, B 및 Gb에 대해 하나씩, 4개의 개별 3탭 다상 필터를 포함할 수 있다. 3탭 필터들 각각은 DDA를 이용하여 현재 중심 픽셀의 스텝핑 및 계수들에 대한 인덱스를 제어할 수 있다. 유사하게, 수평 스케일링 컴포넌트는 각각의 컬러 성분: Gr, R, B 및 Gb에 대해 하나씩, 4개의 개별 5탭 다상 필터를 포함할 수 있다. 5탭 필터들 각각은 DDA를 이용하여 현재 중심 픽셀의 스텝핑 및 계수들에 대한 인덱스를 제어할 수 있다. 경계 예들의 경우, 수평 및 수직 필터링 프로세스에서 사용되는 픽셀들은 DDA에 의해 정해지는 바와 같은 현재 픽셀의 위치에 의존할 수 있다. 예를 들어, DDA 값들이 현재 픽셀(currPixel)이 프레임 경계에 가까운 것을 지시하고, 따라서 필터에 의해 요구되는 소스 픽셀들 중 하나 이상이 경계 밖에 위치하는 경우, 경계 픽셀들이 반복될 수 있다.
마지막으로, 단계 302에 설명된 바와 같이, 수직 및 수평 스케일링 연산들이 주어진 현재 픽셀(currPixel)에 대해 완료되면, DDA(294)는 다음 픽셀의 위치로 스텝핑될 수 있으며, 프로세스(296)는 단계 300으로 복귀하여 다음 픽셀에 대해 수직 및 수평 스케일링을 수행할 수 있다. 전술한 바와 같이, 출력 FEProcOut(109)일 수 있는 BCF(182)의 출력은 추가 처리를 위해 ISP 파이프 처리 논리(82)로 전송될 수 있다. 그러나, 본 설명의 초점을 ISP 파이프 처리 논리(82)로 전환하기 전에, ISP 프론트엔드 논리(80) 내에 구현될 수 있는 통계 처리 유닛들(예로서, 122, 124)에 의해 제공될 수 있는 다양한 기능들에 대한 더 상세한 설명이 먼저 제공될 것이다.
통계 처리 유닛들(120, 122)의 일반 설명을 다시 참조하면, 이들 유닛은 자동 노광, 자동 백색 균형, 자동 초점, 플리커 검출, 흑색 레벨 보상 및 렌즈 쉐이딩 교정 등에 관한 통계들과 같이 원시 이미지 신호들(Sif0, Sif1)을 캡처 및 제공하는 이미지 센서들에 대한 다양한 통계들을 수집하도록 구성될 수 있다. 이를 행할 때, 통계 처리 유닛들(120, 122)은 그들 각각의 입력 신호들 (Sensor0으로부터의) Sif0 및 (Sensor1로부터의) Sif1에 하나 이상의 이미지 처리 연산들을 먼저 적용할 수 있다.
예를 들어, 도 20을 참조하면, 일 실시예에 따른, Sensor0(90a)과 관련된 통계 처리 유닛(120)의 더 상세한 블록도가 도시되어 있다. 도시된 바와 같이, 통계 처리 유닛(120)은 다음의 기능 블록들: 결함 픽셀 검출 및 교정 논리(304), 흑색 레벨 보상(BLC) 논리(306), 렌즈 쉐이딩 교정 논리(308), 역 BLC 논리(310) 및 통계 수집 논리(312)를 포함할 수 있다. 이러한 기능 블록들 각각이 아래에 설명된다. 게다가, Sensor1(90b)과 관련된 통계 처리 유닛(122)은 유사한 방식으로 구현될 수 있다는 것을 이해해야 한다.
먼저, 선택 논리(124)의 출력(예로서, Sif0 또는 SifIn0)이 프론트엔드 결함 픽셀 교정 논리(304)에 의해 수신된다. 알듯이, "결함 픽셀들"은 광 레벨들을 정확히 감지하지 못하는 이미지 센서(들)(90) 내의 이미징 픽셀들을 지칭하는 것으로 이해될 수 있다. 결함 픽셀들은 다수의 인자에 기인할 수 있으며, "핫(hot)"(또는 누설) 픽셀들, "스턱(stuck)" 픽셀들 및 "데드(dead)" 픽셀들을 포함할 수 있다. "핫" 픽셀은 일반적으로 동일 공간 위치에 동일한 양의 광이 주어질 때 비결함 픽셀보다 밝게 보인다. 핫 픽셀들은 리셋 실패 및/또는 많은 누설로 인해 발생할 수 있다. 예를 들어, 핫 픽셀은 비결함 픽셀들에 대한 정상적인 전하 누설보다 많은 누설을 나타낼 수 있으며, 따라서 비결함 픽셀들보다 밝게 보일 수 있다. 게다가, "데드" 및 "스턱" 픽셀들은 제조 및/또는 조립 프로세스 동안에 이미지 센서를 오염시키는 먼지 또는 다른 추적 물질들과 같은 불순물들의 결과일 수 있으며, 이들은 소정의 결함 픽셀들을 비결함 픽셀보다 더 어둡거나 밝게 하거나, 실제로 노출되는 광의 양에 관계없이 결함 픽셀이 특정 값으로 고정되게 할 수 있다. 게다가, 데드 및 스턱 픽셀들은 이미지 센서의 동작 동안에 발생하는 회로 고장으로부터도 발생할 수 있다. 예를 들어, 스턱 픽셀은 항상 온(예를 들어, 완전 충전)인 것으로 나타날 수 있으며, 따라서 더 밝게 보이는 반면, 데드 픽셀은 항상 오프인 것으로 나타난다.
ISP 프론트엔드 논리(80) 내의 결함 픽셀 검출 및 교정(DPDC) 논리(304)는 결함 픽셀들이 통계 수집(예로서, 312)에서 고려되기 전에 이들을 교정(예로서, 결함 픽셀 값들을 교체)할 수 있다. 일 실시예에서, 결함 픽셀 교정은 각각의 컬러 성분(예로서, 베이어 패턴에 대한 R, B, Gr 및 Gb)에 대해 독립적으로 수행된다. 일반적으로, 프론트엔드 DPDC 논리(304)는 동적 결함 교정을 제공할 수 있으며, 이러한 교정에서는 동일 컬러의 이웃 픽셀들을 이용하여 계산되는 방향 기울기들에 기초하여 결함 픽셀들의 위치들이 자동으로 결정된다. 이해하듯이, 결함들은 주어진 시간에 결함있는 것으로서의 픽셀의 특성화가 이웃 픽셀들의 이미지 데이터에 의존할 수 있다는 점에서 "동적"일 수 있다. 예를 들어, 항상 최대 휘도를 갖는 스턱 픽셀은 스턱 픽셀의 위치가 더 밝거나 백색인 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에 결함 픽셀로서 간주되지 않을 수 있다. 이와 달리, 스턱 픽셀이 흑색 또는 더 어두운 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에, 스턱 픽셀은 DPDC 논리(304)에 의한 처리 동안 결함 픽셀로서 식별되고, 그에 따라 교정될 수 있다.
DPDC 논리(304)는 현재 픽셀의 각 측 상의 동일 컬러의 하나 이상의 수평 이웃 픽셀들을 이용하여, 픽셀 대 픽셀 방향 기울기들을 이용하여 현재 픽셀이 결함이 있는지를 결정할 수 있다. 현재 픽셀이 결함 있는 것으로 식별되는 경우, 결함 픽셀의 값은 수평 이웃 픽셀의 값으로 대체될 수 있다. 예를 들어, 일 실시예에서는, 원시 프레임(154)(도 9) 경계 내에 있는 동일 컬러의 5개의 수평 이웃 픽셀이 사용되며, 5개의 수평 이웃 픽셀은 현재 픽셀 및 양측 상의 2개의 이웃 픽셀을 포함한다. 따라서, 도 21에 도시된 바와 같이, 주어진 컬러 성분(c)에 대해 그리고 현재 픽셀(P)에 대해, 수평 이웃 픽셀들(P0, P1, P2, P3)이 DPDC 논리(304)에 의해 고려될 수 있다. 그러나, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 계산할 때 원시 프레임(154) 밖의 픽셀들은 고려되지 않는다는 것에 유의한다.
예를 들어, 도 21에 도시된 바와 같이, "좌측 에지" 예(314)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1)은 고려되지 않고, 픽셀들(P, P2, P3)(N=3)만이 남는다. "좌측 에지 + 1" 예(316)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지로부터 하나의 단위 픽셀만큼 떨어져 있으며, 따라서 픽셀(P0)은 고려되지 않는다. 이것은 픽셀들(P1, P, P2, P3)(N=4)만을 남긴다. 게다가, "중심 위치" 예(318)에서, 현재 픽셀(P)의 좌측의 픽셀들(P0, P1) 및 현재 픽셀(P)의 우측의 픽셀들(P2, P3)은 원시 프레임(154)의 경계 내에 있으며, 따라서 모든 이웃 픽셀들(P0, P1, P2, P3)(N=5)이 픽셀 대 픽셀 기울기들의 계산에서 고려된다. 게다가, 원시 프레임(154)의 가장 우측 에지에 접근함에 따라 유사한 예들(320 및 322)을 만날 수 있다. 예를 들어, "우측 에지 - 1" 예(320)가 주어질 때, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지로부터 하나의 단위 픽셀만큼 떨어져 있으며, 따라서 픽셀(P3)은 고려되지 않는다(N=4). 유사하게, "우측 에지" 예(322)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지에 있으며, 따라서 이웃 픽셀들(P2, P3) 양자는 고려되지 않는다(N=3).
도시된 실시예에서, 픽처 경계(예로서, 원시 프레임(154)) 내의 각각의 이웃 픽셀(k = 0 내지 3)에 대해, 픽셀 대 픽셀 기울기들은 다음과 같이 계산될 수 있다.
[수학식 6]
Figure 112012040056417-pct00011
, 0≤k≤3에 대해(원시 프레임 내의 k에 대해서만)
픽셀 대 픽셀 기울기들이 결정되면, DPDC 논리(304)에 의해 다음과 같이 결함 픽셀 검출이 수행될 수 있다. 먼저, 픽셀의 기울기들(Gk) 중 소정 수의 기울기들이 변수 dprTh로 표시되는 특정 임계치에 또는 그 아래에 있는 경우, 그 픽셀은 결함이 있는 것으로 가정된다. 따라서, 각각의 픽셀에 대해, 임계치(dprTh)에 또는 그 아래에 있는 픽처 경계들 내의 이웃 픽셀들에 대한 기울기들의 수의 카운트(C)가 누산된다. 예를 들어, 원시 프레임(154) 내의 각각의 이웃 픽셀에 대해, 임계치(dprTh)에 또는 그 아래에 있는 기울기들(Gk)의 누산된 카운트(C)는 다음과 같이 계산될 수 있다.
[수학식 7]
Figure 112012040056417-pct00012
, 0≤k≤3에 대해(원시 프레임 내의 k에 대해서만)
인식하듯이, 컬러 성분들에 따라 임계치(dprTh)가 달라질 수 있다. 이어서, 누산된 카운트(C)가 변수 dprMaxC로 표시되는 최대 카운트 이하인 것으로 결정되는 경우, 픽셀은 결함 있는 것으로 간주될 수 있다. 이러한 논리는 아래와 같이 표현된다.
[수학식 8]
Figure 112012040056417-pct00013
인 경우, 픽셀은 결함이 있다.
결함 픽셀들은 다양한 교체 규약들을 이용하여 교체된다. 예를 들어, 일 실시예에서, 결함 픽셀은 그의 바로 좌측의 픽셀(P1)로 교체될 수 있다. 경계 조건에서(예로서, P1이 원시 프레임(154) 밖에 있는 경우), 결함 픽셀은 그의 바로 우측의 픽셀(P2)로 교체될 수 있다. 게다가, 계속적인 결함 픽셀 검출 연산들을 위해 교체 값들이 유지 또는 전파될 수 있다는 것을 이해해야 한다. 예를 들어, 도 21에 도시된 수평 픽셀들의 세트를 참조하면, P0 또는 P1이 이전에 DPDC 논리(304)에 의해 결함 픽셀들로서 식별된 경우, 이들에 대응하는 교체 값들은 현재 픽셀(P)의 결함 픽셀 검출 및 교체를 위해 사용될 수 있다.
전술한 결함 픽셀 검출 및 교정 기술들을 요약하기 위해, 그러한 프로세스를 나타내는 흐름도가 도 22에 제공되며, 참조 번호 330으로 참조된다. 도시된 바와 같이, 프로세스(330)는 단계 332에서 시작되며, 여기서 현재 픽셀(P)이 수신되고, 이웃 픽셀들의 세트가 식별된다. 전술한 실시예에 따르면, 이웃 픽셀들은 현재 픽셀의 대향 측들로부터의 동일 컬러 성분의 2개의 수평 픽셀(예로서, P0, P1, P2, P3)을 포함할 수 있다. 이어서, 단계 334에서, 위의 식 6에서 설명된 바와 같이, 원시 프레임(154) 내의 각각의 이웃 픽셀에 대해 수평 픽셀 대 픽셀 기울기들이 계산된다. 이어서, 단계 336에서, 특정 임계치(dprTh) 이하인 기울기들의 수의 카운트(C)가 결정된다. 판정 논리 338에 나타난 바와 같이, C가 dprMaxC 이하인 경우, 프로세스(330)는 단계 340으로 계속되어, 현재 픽셀이 결함 있는 것으로 식별된다. 이어서, 단계 342에서, 결함 픽셀이 교체 값을 이용하여 교정된다. 게다가, 판정 논리 338을 다시 참조하면, C가 dprMaxC보다 큰 경우, 프로세스는 단계 344로 계속되어, 현재 픽셀이 결함 없는 것으로 식별되고, 그의 값은 변경되지 않는다.
ISP 프론트엔드 통계 처리 동안 적용되는 결함 픽셀 검출/교정 기술들은 ISP 파이프 논리(82)에서 수행되는 결함 픽셀 검출/교정보다 덜 강건할 수 있다는 점에 유의해야 한다. 예를 들어, 아래에 더 상세히 설명되는 바와 같이, ISP 파이프 논리(82)에서 수행되는 결함 픽셀 검출/교정은 동적 결함 교정에 더하여 고정 결함 교정을 더 제공할 수 있으며, 이러한 고정 결함 교정에서는 결함 픽셀들의 위치들이 선험적으로 알려지고 하나 이상의 결함 테이블들 내에 로딩된다. 게다가, ISP 파이프 논리(82)에서의 동적 결함 교정은 수평 및 수직 방향들 양자에서의 픽셀 기울기들도 고려할 수 있으며, 후술하는 바와 같은 스펙클링(speckling)의 검출/교정도 제공할 수 있다.
도 20을 참조하면, 이어서 DPDC 논리(304)의 출력이 흑색 레벨 보상(BLC) 논리(306)로 전송된다. BLC 논리(306)는 통계 수집에 사용되는 픽셀들 상의 각각의 컬러 성분("c")(예로서, 베이어에 대한 R, B, Gr 및 Gb)에 대해 독립적으로 디지털 이득, 오프셋 및 클립핑을 제공할 수 있다. 예를 들어, 아래의 연산에 의해 표현되는 바와 같이, 현재 픽셀에 대한 입력 값은 먼저 유부호(signed) 값에 의해 오프셋된 후에 이득에 의해 곱해진다.
[수학식 9]
Figure 112012040056417-pct00014
여기서, X는 주어진 컬러 성분(c)(예로서, R, B Gr 또는 Gb)에 대한 입력 픽셀 값을 나타내고, O[c]는 현재 컬러 성분(c)에 대한 유부호 16비트 오프셋을 나타내며, G[c]는 컬러 성분(c)에 대한 이득 값을 나타낸다. 일 실시예에서, 이득 G[c]는 2개의 정수 비트 및 14개의 분수 비트를 갖는 16비트 무부호(unsigned) 수(예로서, 부동 소수점 표현으로 2.14)일 수 있고, 이득 G[c]는 반올림과 함께 적용될 수 있다. 단지 예로서, 이득 G[c]는 0과 4X(예로서, 입력 픽셀 값의 4배) 사이의 범위를 가질 수 있다.
이어서, 아래의 식 10에 나타난 바와 같이, 부호를 가진 계산된 값(Y)이 최소 및 최대 범위로 클립핑될 수 있다.
[수학식 10]
Figure 112012040056417-pct00015
변수들 min[c] 및 max[c]는 각각 최소 및 최대 출력 값들에 대한 유부호 16비트 "클립핑 값들"을 나타낼 수 있다. 일 실시예에서, BLC 논리(306)는 컬러 성분마다 각각 최대 및 최소의 위 및 아래로 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수도 있다.
이어서, BLC 논리(306)의 출력은 렌즈 쉐이딩 교정(LSC) 논리(308)로 전송된다. LSC 논리(308)는 일반적으로 이미징 장치(30)의 렌즈(88)의 광학 중심으로부터 거리에 대략 비례하는 강도의 저하를 보상하기 위해 픽셀별로 적절한 이득을 적용하도록 구성될 수 있다. 인식할 수 있듯이, 그러한 저하는 렌즈의 기하 광학의 결과일 수 있다. 예를 들어, 이상적인 광학 특성을 갖는 렌즈는 cos4 법칙으로 지칭되는 입사각의 코사인의 4 제곱 cos4(θ)로서 모델링될 수 있다. 그러나, 렌즈 제조는 완전하지 않으므로, 렌즈 내의 다양한 불규칙들은 광학 특성들이 가정된 cos4 모델로부터 벗어나게 할 수 있다. 예를 들어, 렌즈의 더 얇은 에지는 일반적으로 최대 불규칙들을 나타낸다. 게다가, 렌즈 쉐이딩 패턴들 내의 불규칙들은 또한 이미지 센서 내의 마이크로렌즈 어레이가 컬러 어레이 필터와 완전하게 정렬되지 않은 결과일 수 있다. 게다가, 일부 렌즈들 내의 적외선(IR) 필터는 저하가 발광체에 의존하게 할 수 있으며, 따라서 렌즈 쉐이딩 이득들은 검출된 광원에 따라 적응될 수 있다.
도 23을 참조하면, 통상의 렌즈에 대한 픽셀 위치 대 광 강도를 나타내는 삼차원 프로파일(346)이 도시되어 있다. 도시된 바와 같이, 렌즈의 중심(348) 근처의 광 강도는 렌즈의 코너들 또는 에지들(350)을 향해 점차 저하된다. 도 23에 도시된 렌즈 쉐이딩 불규칙들은 코너들 및 에지들을 향해 광 강도의 저하를 나타내는 이미지(352)의 컬러 도면을 도시하는 도 24에 의해 더 잘 설명될 수 있다. 특히, 이미지의 대략 중심에서의 광 강도는 이미지의 코너들 및/또는 에지들에서의 광 강도보다 밝게 나타난다는 것에 유의해야 한다.
본 기술들의 실시예들에 따르면, 렌즈 쉐이딩 교정 이득들은 컬러 채널(예로서, 베이어 필터에 대한 Gr, R, B, Gb)마다의 이득들의 이차원 그리드로서 지정될 수 있다. 이득 그리드 포인트들은 원시 프레임(154)(도 9) 내에 일정한 수평 및 수직 간격들로 분포될 수 있다. 도 9에서 전술한 바와 같이, 원시 프레임(154)은 특정 이미지 처리 연산을 위해 처리가 수행되는 영역을 정의하는 액티브 영역(156)을 포함할 수 있다. 렌즈 쉐이딩 교정 연산과 관련하여, LSC 영역으로서 참조될 수 있는 액티브 처리 영역이 원시 프레임 영역(154) 내에 정의된다. 후술하는 바와 같이, LSC 영역은 완전히 이득 그리드 경계들에 또는 그 안에 있어야 하며, 그렇지 않은 경우에는 결과들이 정의되지 않을 수 있다.
예를 들어, 도 25를 참조하면, 원시 프레임(154) 내에 정의될 수 있는 LSC 영역(354) 및 이득 그리드(356)가 도시되어 있다. LSC 영역(354)은 폭(358) 및 높이(360)를 가질 수 있으며, 원시 프레임(154)의 경계에 대한 x 오프셋(362) 및 y 오프셋(364)에 의해 정의될 수 있다. 그리드 이득들(356)의 베이스(370)로부터 LSC 영역(354) 내의 제1 픽셀(372)까지의 그리드 오프셋들(예로서, 그리드 x 오프셋(366) 및 그리드 y 오프셋(368))도 제공된다. 이러한 오프셋들은 주어진 컬러 성분에 대해 제1 그리드 간격 내일 수 있다. 수평(x 방향) 및 수직(y 방향) 그리드 포인트 간격들(374 및 376)은 각각의 컬러 채널에 대해 독립적으로 각각 지정될 수 있다.
전술한 바와 같이, 베이어 컬러 필터 어레이의 사용을 가정하면, 그리드 이득들의 4개 컬러 채널(R, B, Gr, Gb)이 정의될 수 있다. 일 실시예에서는, 총 4K(4096)개의 그리드 포인트가 이용 가능할 수 있으며, 각각의 컬러 채널에 대해, 그리드 이득들의 시작 위치에 대한 베이스 어드레스가 예를 들어 포인터를 이용하여 제공될 수 있다. 게다가, 수평(374) 및 수직(376) 그리드 포인트 간격들은 하나의 컬러 평면의 해상도에서 픽셀들에 관하여 정의될 수 있으며, 소정 실시예들에서는 수평 및 수직 방향에서 8, 16, 32, 64 또는 128과 같은 2의 제곱에 의해 분리된 그리드 포인트 간격들이 제공될 수 있다. 알 수 있듯이, 2의 제곱을 사용함으로써, 시프트(예로서, 제산) 및 가산 연산을 사용하여 이득 보간의 효율적인 구현이 달성될 수 있다. 이러한 파라미터들을 사용하면, 이미지 센서 크로핑(cropping) 영역이 변하는 경우에도 동일한 이득 값들이 사용될 수 있다. 예를 들어, 그리드 포인트들을 크로핑된 영역에 정렬하기 위해, 모든 그리드 이득 값들을 갱신하는 것이 아니라, 소수의 파라미터들만을 갱신(예를 들어, 그리드 오프셋들(374 및 376)을 갱신)하는 것이 필요하다. 단지 예로서, 이것은 디지털 줌잉 연산들 동안에 크로핑이 사용될 때 유용할 수 있다. 게다가, 도 25의 실시예에 도시된 이득 그리드(356)가 대체로 동일하게 이격된 그리드 포인트들을 갖는 것으로 도시되지만, 다른 실시예들에서 그리드 포인트들은 반드시 동일하게 이격되지는 않을 수 있다는 것을 이해해야 한다. 예를 들어, 일부 실시예들에서, 그리드 포인트들은 불균일하게(예로서, 대수적으로) 분포될 수 있으며, 따라서 그리드 포인트들은 LSC 영역(354)의 중심에 덜 집중되고, 통상적으로 렌즈 쉐이딩 왜곡이 더 현저한 LSC 영역(354)의 코너들을 향해 더 집중된다.
현재 개시되는 렌즈 쉐이딩 교정 기술들에 따르면, 현재 픽셀 위치가 LSC 영역(354) 밖에 위치할 때, 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다). 현재 픽셀 위치가 이득 그리드 위치에 있는 경우, 그 특정 그리드 포인트에서의 이득 값이 사용될 수 있다. 그러나, 현재 픽셀 위치가 그리드 포인트들 사이에 있는 경우, 이득은 양선형 보간을 이용하여 보간될 수 있다. 도 26에서 픽셀 위치 "G"에 대해 이득을 보간하는 일례가 아래에 제공된다.
도 26에 도시된 바와 같이, 픽셀(G)은 현재 픽셀 위치(G)에 대해 각각 좌상, 우상, 좌하 및 우하 이득들에 대응할 수 있는 그리드 포인트들(G0, G1, G2, G3) 사이에 있다. 그리드 간격의 수평 및 수직 크기는 각각 X 및 Y로 표시된다. 게다가, ii 및 jj는 좌상 이득의 위치(G0)에 대한 수평 및 수직 픽셀 오프셋들을 각각 나타낸다. 따라서, 이러한 인자들에 기초하여, 위치(G)에 대응하는 이득은 아래와 같이 보간될 수 있다.
[수학식 11a]
Figure 112012040056417-pct00016
이어서, 식 11a의 항들은 결합되어 아래의 식을 얻을 수 있다.
[수학식 11b]
Figure 112012040056417-pct00017
일 실시예에서, 보간 방법은 각각의 픽셀에서 승수를 사용하는 대신에 점증적으로 수행될 수 있으며, 따라서 계산 복잡성을 줄일 수 있다. 예를 들어, 항 (ii)(jj)는 이득 그리드(356)의 위치 (0, 0)에서 0으로 초기화되고 현재 열 번호가 한 픽셀만큼 증가할 때마다 현재 행 번호만큼 증가될 수 있는 가산기를 이용하여 실현될 수 있다. 전술한 바와 같이, X 및 Y의 값들은 2의 제곱들로서 선택될 수 있으므로, 이득 보간은 간단한 시프트 연산들을 이용하여 달성될 수 있다. 따라서, 승수는 (모든 픽셀에서가 아니라) 그리드 포인트(G0)에서만 필요하며, 나머지 픽셀들에 대한 보간된 이득을 결정하기 위해 가산 연산들만이 필요하다.
소정 실시예들에서, 그리드 포인트들 사이의 이득들의 보간은 14비트 정밀도를 사용할 수 있으며, 그리드 이득들은 2개의 정수 비트 및 8개의 분수 비트를 갖는 무부호 10비트 값들(예로서, 2.8의 부동 소수점 표현)일 수 있다. 이러한 규약을 이용하면, 이득은 0과 4X 사이의 범위를 가질 수 있으며, 그리드 포인트들 사이의 이득 해상도는 1/256일 수 있다.
렌즈 쉐이딩 교정 기술들은 도 27에 도시된 프로세스(380)에 의해 더 설명될 수 있다. 도시된 바와 같이, 프로세스(380)는 단계 382에서 시작되며, 여기서 도 25의 LSC 영역(354)의 경계들에 대한 현재 픽셀의 위치가 결정된다. 이어서, 판정 논리(384)는 현재 픽셀 위치가 LSC 영역(354) 내에 있는지를 판정한다. 현재 픽셀 위치가 LSC 영역(354) 밖에 있는 경우, 프로세스(380)는 단계 386으로 계속되어, 현재 픽셀에 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다).
현재 픽셀 위치가 LSC 영역(354) 내에 있는 경우, 프로세스(380)는 판정 논리(388)로 계속되며, 여기서 현재 픽셀 위치가 이득 그리드(354) 내의 그리드 포인트에 대응하는지를 더 결정한다. 현재 픽셀 위치가 그리드 포인트에 대응하는 경우, 단계 390에 나타난 바와 같이, 그 그리드 포인트에서의 이득 값이 선택되어 현재 픽셀에 적용된다. 현재 픽셀 위치가 그리드 포인트에 대응하지 않는 경우, 프로세스(380)는 단계 392로 계속되어, 경계 그리드 포인트들(예로서, 도 26의 G0, G1, G2 및 G3)에 기초하여 이득이 보간된다. 예를 들어, 보간된 이득은 전술한 바와 같은 식 11a 및 11b에 따라 계산될 수 있다. 이어서, 프로세스(380)는 단계 394에서 종료되고, 여기서 단계 392로부터의 보간된 이득이 현재 픽셀에 적용된다.
인식하듯이, 프로세스(380)는 이미지 데이터의 각 픽셀에 대해 반복될 수 있다. 예를 들어, 도 28에 도시된 바와 같이, LSC 영역(예로서, 354) 내의 각 픽셀 위치에 적용될 수 있는 이득들을 나타내는 삼차원 프로파일이 예시된다. 도시된 바와 같이, 이미지의 코너들(396)에 적용되는 이득은 도 23 및 도 24에 도시된 바와 같이 코너들에서의 광 강도의 더 큰 저하로 인해 이미지의 중심(398)에 적용되는 이득보다 일반적으로 더 클 수 있다. 현재 설명되는 렌즈 쉐이딩 교정 기술들을 이용하면, 이미지 내의 광 강도 저하의 발생이 감소하거나 실질적으로 제거될 수 있다. 예를 들어, 도 29는 도 24로부터의 이미지(352)의 컬러 도면이 렌즈 쉐이딩 교정의 적용 후에 어떻게 보일 수 있는지의 일례를 제공한다. 도시된 바와 같이, 도 24로부터의 오리지널 이미지에 비해, 이미지 전반에서 전체 광 강도가 대체로 더 균일하다. 특히, 이미지의 대략 중심에서의 광 강도는 이미지의 코너들 및/또는 에지들에서의 광 강도 값들과 실질적으로 동일할 수 있다. 게다가, 전술한 바와 같이, 보간된 이득의 계산(식 11a 및 11b)은 일부 실시예들에서 순차적인 열 및 행 증대 구조를 이용함으로써 그리드 포인트들 사이의 가산 "델타"로 대체될 수 있다. 인식하듯이, 이것은 계산 복잡성을 줄인다.
추가 실시예들에서, 그리드 이득들의 사용에 더하여, 이미지 중심으로부터의 거리의 함수로서 스케일링되는 컬러 성분마다의 전역 이득이 사용된다. 이미지의 중심은 입력 파라미터로서 제공될 수 있으며, 균일하게 조명된 이미지 내의 각 이미지 픽셀의 광 강도 진폭을 분석함으로써 추정될 수 있다. 이어서, 아래에 나타난 바와 같이, 식별된 중심 픽셀과 현재 픽셀 사이의 방사상 거리를 이용하여, 선형 스케일링된 방사상 이득(Gr)을 얻을 수 있다.
[수학식 12]
Figure 112012040056417-pct00018
여기서, Gp[c]는 각 컬러 성분(c)(예로서, 베이어 패턴에 대한 R, B, Gr 및 Gb)에 대한 전역 이득 파라미터를 나타내고, R은 중심 픽셀과 현재 픽셀 사이의 방사상 거리를 나타낸다.
전술한 LSC 영역(354)을 나타내는 도 30을 참조하면, 거리(R)는 여러 기술을 이용하여 계산 또는 추정될 수 있다. 도시된 바와 같이, 이미지 중심에 대응하는 픽셀(C)은 좌표들 (x0, y0)을 가지며, 현재 픽셀(G)은 좌표들 (xG, yG)를 가질 수 있다. 일 실시예에서, LSC 논리(308)는 아래의 식을 이용하여 거리(R)를 계산할 수 있다.
[수학식 13]
Figure 112012040056417-pct00019
다른 실시예에서는, 아래에 나타난 더 간단한 추정 공식을 이용하여 R에 대한 추정 값을 얻을 수 있다.
[수학식 14]
Figure 112012040056417-pct00020
식 14에서, 추정 계수들(α, β)은 8비트 값들로 스케일링될 수 있다. 단지 예로서, 일 실시예에서, R에 대한 추정 값을 제공하기 위해 α는 약 123/128일 수 있고, β는 약 51/128일 수 있다. 이러한 계수 값들을 사용하면, 최대 에러는 약 4%일 수 있고, 중간 에러는 약 1.3%일 수 있다. 따라서, 추정 기술이 R의 결정에 있어서 계산 기술(식 13)을 이용하는 것보다 다소 덜 정확할 수 있지만, 에러의 마진은 추정 값들 또는 R이 현재의 렌즈 쉐이딩 교정 기술들을 위한 방사상 이득 성분들을 결정하는 데 적합할 만큼 충분히 낮다.
이어서, 방사상 이득(Gr)과, 현재 픽셀에 대한 보간된 그리드 이득 값(G)(식 11a 및 11b)을 곱하여, 현재 픽셀에 적용될 수 있는 총 이득을 결정할 수 있다. 아래에 나타난 바와 같이, 입력 픽셀 값(X)과 총 이득을 곱하여 출력 픽셀(Y)을 얻는다.
[수학식 15]
Figure 112012040056417-pct00021
따라서, 본 기술에 따르면, 렌즈 쉐이딩 교정이 보간된 이득만을 이용하여, 보간된 이득 및 방사상 이득 성분들 양자를 이용하여 수행될 수 있다. 대안으로서, 렌즈 쉐이딩 교정은 또한 방사상 근사화 에러들을 보상하는 방사상 그리드 테이블과 연계하여 방사상 이득만을 이용하여 달성될 수 있다. 예를 들어, 도 25에 도시된 바와 같은 직사각 이득 그리드(356) 대신에, 방사상 및 각진 방향들에서의 이득들을 정의하는 복수의 그리드 포인트를 갖는 방사상 이득 그리드가 제공될 수 있다. 따라서, LSC 영역(354) 내의 방사상 그리드 포인트들 중 하나와 정렬되지 않는 픽셀에 적용할 이득을 결정할 때, 적절한 보간된 렌즈 쉐이딩 이득을 결정하기 위해 픽셀을 둘러싸는 4개의 그리드 포인트를 이용하여 보간이 적용될 수 있다.
도 31을 참조하면, 렌즈 쉐이딩 교정에서의 보간된 이득 성분 및 방사상 이득 성분의 사용이 프로세스(400)에 의해 설명된다. 프로세스(400)는 도 27에서 전술한 프로세스(380)와 유사한 단계들을 포함할 수 있다는 점에 유의해야 한다. 따라서, 그러한 단계들은 동일한 참조 번호들로 넘버링되었다. 단계 382에서 시작하여, 현재 픽셀이 수신되고, LSC 영역(354)에 대한 그의 위치가 결정된다. 이어서, 판정 논리(384)는 현재 픽셀 위치가 LSC 영역(354) 내에 있는지를 판정한다. 현재 픽셀 위치가 LSC 영역(354) 밖에 있는 경우, 프로세스(400)는 단계 386으로 계속되어, 현재 픽셀에 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다). 현재 픽셀 위치가 LSC 영역(354) 내에 있는 경우, 프로세스(400)는 단계 402 및 판정 논리 388로 동시에 계속될 수 있다. 먼저, 단계 402를 참조하면, 이미지의 중심을 식별하는 데이터가 검색된다. 전술한 바와 같이, 이미지 중심의 결정은 균일한 조명 하의 픽셀들에 대한 광 강도 진폭들의 분석을 포함할 수 있다. 이것은 예를 들어 캘리브레이션 동안 이루어질 수 있다. 따라서, 단계 402는 각 픽셀을 처리하기 위해 이미지의 중심을 반복 계산하는 것을 반드시 포함하는 것이 아니라, 이전에 결정된 이미지 중심의 데이터(예로서, 좌표들)를 검색하는 것을 참조할 수 있다는 것을 이해해야 한다. 이미지의 중심이 식별되면, 프로세스(400)는 단계 404로 계속될 수 있고, 여기서 이미지 중심과 현재 픽셀 위치(R) 사이의 거리가 결정된다. 전술한 바와 같이, R의 값이 계산(식 13) 또는 추정(식 14)될 수 있다. 이어서, 단계 406에서, 현재 픽셀의 컬러 성분에 대응하는 거리(R) 및 전역 이득 파라미터를 이용하여 방사상 이득 성분(Gr)이 계산될 수 있다(식 12). 방사상 이득 성분(Gr)은 아래의 단계 410에서 설명되는 바와 같이 총 이득을 결정하는 데 사용될 수 있다.
판정 논리(388)를 다시 참조하면, 현재 픽셀 위치가 이득 그리드(354) 내의 그리드 포인트에 대응하는지를 결정한다. 현재 픽셀 위치가 그리드 포인트에 대응하는 경우, 단계 408에 나타난 바와 같이, 그 그리드 포인트에서의 이득 값이 결정된다. 현재 픽셀 위치가 그리드 포인트에 대응하지 않는 경우, 프로세스(400)는 단계 392로 계속되어, 보간된 이득이 경계 그리드 포인트들(예로서, 도 26의 G0, G1, G2, G3)에 기초하여 계산된다. 예를 들어, 보간된 이득은 전술한 바와 같은 식 11a 및 11b에 따라 계산될 수 있다. 이어서, 단계 410에서, 단계 406에서 결정된 방사상 이득은 물론, 그리드 이득들(단계 408) 중 하나 또는 보간된 이득(392)에 기초하여 총 이득이 결정된다. 알 수 있듯이, 이것은 프로세스(400) 동안에 판정 논리(388)가 어느 분기를 취하는지에 의존할 수 있다. 이어서, 단계 412에 나타난 바와 같이, 총 이득이 현재 픽셀에 적용된다. 다시, 프로세스(380)와 같이, 프로세스(400)도 이미지 데이터의 각 픽셀에 대해 반복될 수 있다는 점에 유의해야 한다.
그리드 이득들과 연계한 방사상 이득의 사용은 다양한 이점들을 제공할 수 있다. 예를 들어, 방사상 이득의 사용은 모든 컬러 성분들에 대한 단일 공통 이득 그리드의 사용을 가능하게 한다. 이것은 각각의 컬러 성분에 대한 개별 이득 그리드들을 저장하는 데 필요한 전체 저장 공간을 크게 줄일 수 있다. 예를 들어, 베이어 이미지 센서에서, R, B, Gr 및 Gb 성분들 각각에 대한 단일 이득 그리드의 사용은 이득 그리드 데이터를 약 75% 줄일 수 있다. 인식하듯이, 이러한 그리드 이득 데이터의 감소는 구현 비용을 줄일 수 있는데, 그 이유는 그리드 이득 데이터 테이블들이 이미지 처리 하드웨어 내의 메모리 또는 칩 면적의 상당 부분을 책임질 수 있기 때문이다. 게다가, 하드웨어 구현에 따라서는, 단일 세트의 이득 그리드 값들의 사용은 (예를 들어, 이득 그리드 값들이 온칩 메모리에 저장될 때와 같은) 전체 칩 면적의 감소 및 (예를 들어, 이득 그리드 값들이 오프칩 외부 메모리에 저장될 때와 같은) 메모리 대역폭 요구의 감소와 같은 추가적인 이점들을 제공할 수 있다.
도 20에 도시된 렌즈 쉐이딩 교정 논리(308)의 기능들을 충분히 설명하였으며, 이어서 LSC 논리(308)의 출력은 역 흑색 레벨 보상(IBLC) 논리(310)로 전송된다. IBLC 논리(310)는 각 컬러 성분(예로서, R, B, Gr, Gb)에 대해 독립적으로 이득, 오프셋 및 클립을 제공하며, 일반적으로 BLC 논리(306)에 대한 반대 기능을 수행한다. 예를 들어, 아래의 연산에 나타난 바와 같이, 입력 픽셀의 값이 먼저 이득과 승산된 후에 유부호 값에 의해 오프셋된다.
[수학식 16]
Figure 112012040056417-pct00022
여기서, X는 주어진 컬러 성분(c)(예로서, R, B, Gr 또는 Gb)에 대한 입력 픽셀 값을 나타내고, O[c]는 현재 컬러 성분(c)에 대한 유부호 16비트 오프셋을 나타내며, G[c]는 컬러 성분(c)에 대한 이득 값을 나타낸다. 일 실시예에서, 이득 G[c]는 약 0과 4X(입력 픽셀 값 X의 4배) 사이의 범위를 가질 수 있다. 이러한 변수들은 식 9에서 전술한 것들과 동일한 변수들일 수 있다는 점에 유의해야 한다. 계산된 값 Y는 예를 들어 식 10을 이용하여 최소 및 최대 범위로 클립핑될 수 있다. 일 실시예에서, IBLC 논리(310)는 컬러 성분마다 최대 및 최소의 위 및 아래로 각각 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수 있다.
이어서, IBLC 논리(310)의 출력이 통계 수집 블록(312)에 의해 수신되며, 이 블록은 자동 노광(AE), 자동 백색 균형(AWB), 자동 초점(AF), 플리커 검출 등과 관련된 것들과 같은 이미지 센서(들)(90)에 대한 다양한 통계 데이터 포인트들의 수집을 제공할 수 있다. AWB, AE 및 AF 통계들의 중요성을 설명하는 간단한 개요가 아래에 제공된다.
백색 균형화와 관련하여, 각 픽셀에서의 이미지 센서 응답은 조명 소스에 의존할 수 있는데, 그 이유는 광원이 이미지 장면 내의 물체들로부터 반사되기 때문이다. 따라서, 이미지 장면 내에 기록된 각각의 픽셀 값은 광원의 컬러 온도와 관련된다. 백색 물체는 낮은 컬러 온도 하에서 조명될 때에 캡처된 이미지 내에서 붉게 보일 수 있다. 이와 달리, 높은 컬러 온도 하에서 조명되는 백색 물체는 캡처된 이미지에서 푸르게 보일 것이다. 따라서, 백색 균형화의 목적은 이미지가 표준 광 아래에서 취해진 것처럼 사람의 눈에 보이도록 RGB 값들을 조정하는 것이다. 따라서, 백색 균형과 관련된 이미징 통계와 관련하여, 백색 물체들에 대한 컬러 정보를 수집하여 광원의 컬러 온도를 결정한다. 일반적으로, 백색 균형 알고리즘들은 2개의 중요한 단계를 포함할 수 있다. 첫째, 광원의 컬러 온도가 추정된다. 둘째, 추정된 컬러 온도를 이용하여, 컬러 이득 값들을 조정하고 그리고/또는 컬러 교정 행렬의 계수들을 결정/조정한다. 그러한 이득들은 아날로그 및 디지털 이미지 센서 이득들은 물론, ISP 디지털 이득들의 조합일 수 있다.
이어서, 일반적으로 자동 노광은 픽셀 적분 시간 및 이득들을 조정하여 캡처된 이미지의 휘도를 제어하는 프로세스를 지칭한다. 예를 들어, 자동 노광은 적분 시간을 설정함으로써 이미지 센서(들)에 의해 캡처되는 장면으로부터의 광의 양을 제어할 수 있다. 게다가, 자동 초점은 이미지의 초점을 실질적으로 최적화하기 위해 렌즈의 최적 초점 길이를 결정하는 것을 지칭할 수 있다. 따라서, 이러한 다양한 타입의 통계들은 특히 통계 수집 블록(312)을 통해 결정 및 수집될 수 있다. 도시된 바와 같이, 통계 수집 블록(312)의 출력 STATS0은 메모리(108)로 전송되고, 제어 논리(84)로 라우팅될 수 있거나, 대안으로서 제어 논리(84)로 직접 전송될 수 있다.
전술한 바와 같이, 제어 논리(84)는 수집된 통계 데이터를 처리하여, 이미징 장치(30) 및/또는 이미지 처리 회로(32)를 제어하기 위한 하나 이상의 제어 파라미터들을 결정할 수 있다. 예를 들어, 그러한 제어 파라미터들은 이미지 센서(90)의 렌즈를 조작하기 위한 파라미터들(예로서, 초점 길이 조정 파라미터들), 이미지 센서 파라미터들(예로서, 아날로그 및/또는 디지털 이득들, 적분 시간)은 물론, ISP 파이프 처리 파라미터들(예로서, 디지털 이득 값들, 컬러 교정 행렬(CCM) 계수들)을 포함할 수 있다. 게다가, 전술한 바와 같이, 소정 실시예들에서, 통계 처리는 8비트의 정밀도로 이루어질 수 있으며, 따라서 더 높은 비트 심도를 갖는 원시 픽셀 데이터는 통계 목적을 위해 8비트 포맷으로 다운샘플링될 수 있다. 전술한 바와 같이, 8비트(또는 임의의 다른 더 낮은 비트 해상도)로의 다운샘플링은 하드웨어 크기(예로서, 면적)를 줄이고, 또한 처리 복잡성을 줄이는 것은 물론, (예를 들어, 이미지 데이터의 공간 평균화를 이용하여) 통계 데이터가 잡음에 더 강해지게 할 수 있다.
ISP 프론트엔드 논리(80)로부터 하류에 있는 ISP 파이프 논리(82)의 상세한 설명을 진행하기 전에, 통계 처리 유닛들(120, 122)(예로서, 논리 블록들 304, 306, 308, 310 및 312) 및 ISP 프론트엔드 픽셀 처리 유닛(130)(예로서, 논리 블록들 180, 182) 내의 다양한 기능 논리 블록들의 배열은 단지 본 기술의 일 실시예를 예시하는 것을 의도한다는 것을 이해해야 한다. 사실상, 다른 실시예들에서, 본 명세서에서 예시되는 논리 블록들은 상이한 순서로 배열될 수 있거나, 본 명세서에서 구체적으로 설명되지 않는 추가적인 이미지 처리 기능들을 수행할 수 있는 추가적인 논리 블록들을 포함할 수 있다. 게다가, 렌즈 쉐이딩 교정, 결함 픽셀 검출/교정 및 흑색 레벨 보상과 같이 통계 처리 유닛들(예로서, 120, 122)에서 수행되는 이미지 처리 연산들은 통계 데이터의 수집을 위해 통계 처리 유닛들 내에서 수행된다는 것을 이해해야 한다. 따라서, 통계 처리 유닛들에 의해 수신된 이미지 데이터에 대해 수행되는 처리 연산들은 ISP 프론트엔드 픽셀 처리 논리(130)로부터 출력되고 ISP 파이프 처리 논리(82)로 전송되는 이미지 신호(109)(FEProcOut) 내에 실제로 반영되지 않는다.
계속하기 전에, 충분한 처리 시간 및 본 명세서에서 설명되는 다양한 연산들의 많은 처리 요구들 사이의 유사성이 주어지는 경우, 파이프라인이 아니라 순차적인 방식으로 이미지 처리를 수행하도록 본 명세서에 설명되는 기능 블록들을 재구성하는 것이 가능하다. 이해하듯이, 이것은 전체 하드웨어 구현 비용을 더 줄일 수 있을 뿐만 아니라, (예를 들어, 중간 결과들/데이터를 캐시/저장하기 위하여) 외부 메모리에 대한 대역폭도 증가시킬 수 있다.
ISP 파이프라인("파이프") 처리 논리
위에서 ISP 프론트엔드 논리(80)를 상세히 설명하였으며, 이제 본 발명은 ISP 파이프 처리 논리(82)로 초점을 이동시킬 것이다. 일반적으로, ISP 파이프 논리(82)의 기능은 ISP 프론트엔드 논리(80)로부터 제공되거나 메모리(108)로부터 검색될 수 있는 원시 이미지 데이터를 수신하고, 이미지 데이터를 디스플레이 장치(28)로 출력하기 전에 추가적인 이미지 처리 연산들을 수행하는 것이다.
ISP 파이프 논리(82)의 일 실시예를 나타내는 블록도가 도 32에 도시되어 있다. 도시된 바와 같이, ISP 파이프 논리(82)는 원시 처리 논리(414), RGB 처리 논리(416) 및 YCbCr 처리 논리(418)를 포함할 수 있다. 원시 처리 논리(414)는 결함 픽셀 검출 및 교정, 렌즈 쉐이딩 교정, 디모자이킹은 물론, 아래에 더 설명되는 바와 같은 자동 백색 균형을 위한 이득들의 적용 및/또는 흑색 레벨의 설정과 같은 다양한 이미지 처리 연산들을 수행할 수 있다. 본 실시예에 도시된 바와 같이, 원시 처리 논리(414)로의 입력 신호(422)는 선택 논리(420)의 현재 구성에 따라 ISP 프론트엔드 논리(80)로부터의 원시 픽셀 출력(109)(신호 FEProcOut) 또는 메모리(108)로부터의 원시 픽셀 데이터(112)일 수 있다.
원시 처리 논리(414) 내에서 수행된 디모자이킹 연산들의 결과로서, 이미지 신호 출력(424)은 RGB 도메인에 있을 수 있으며, 이어서 RGB 처리 논리(416)로 전송될 수 있다. 예를 들어, 도 32에 도시된 바와 같이, RGB 처리 논리(416)는 선택 논리(428)의 현재 구성에 따라 출력 신호(424) 또는 메모리(108)로부터의 RGB 이미지 신호(426)일 수 있는 신호(430)를 수신한다. RGB 처리 논리(416)는 (예를 들어, 컬러 교정 행렬을 이용하는) 컬러 교정, 자동 백색 균형화를 위한 컬러 이득들의 적용은 물론, 아래에 더 설명되는 바와 같은 전역 톤 맵핑을 포함하는 다양한 RGB 컬러 조정 연산들을 제공할 수 있다. RGB 처리 논리(418)는 RGB 이미지 데이터의 YCbCr(루마/크로마) 컬러 공간으로의 컬러 공간 변환도 제공할 수 있다. 따라서, 이미지 신호 출력(432)은 YCbCr 도메인에 있을 수 있으며, 이어서 YCbCr 처리 논리(418)로 전송될 수 있다.
예를 들어, 도 32에 도시된 바와 같이, YCbCr 처리 논리(418)는 선택 논리(436)의 현재 구성에 따라 RGB 처리 논리(416)로부터의 출력 신호(432) 또는 메모리(108)로부터의 YCbCr 신호(434)일 수 있는 신호(438)를 수신한다. 아래에 더 상세히 설명되는 바와 같이, YCbCr 처리 논리(418)는 스케일링, 크로마 억제, 루마 선명화, 휘도, 콘트라스트 및 컬러(BCC) 조정, YCbCr 감마 맵핑, 크로마 데시메이션 등을 포함하는 YCbCr 컬러 공간에서의 이미지 처리 연산들을 제공할 수 있다. YCbCr 처리 논리(418)의 이미지 신호 출력(440)은 메모리(108)로 전송되거나, ISP 파이프 처리 논리(82)로부터 이미지 신호(114)(도 7)로서 출력될 수 있다. 이미지 신호(114)는 사용자에 의한 관찰을 위해 디스플레이 장치(28)로 (직접 또는 메모리(108)를 통해) 전송될 수 있거나, 압축 엔진(예로서, 인코더(118)), CPU/GPU, 그래픽 엔진 등을 이용하여 더 처리될 수 있다.
본 기술들의 실시예들에 따르면, ISP 파이프 논리(82)는 8비트, 10비트, 12비트 또는 14비트 포맷의 원시 픽셀 데이터의 처리를 지원할 수 있다. 예를 들어, 일 실시예에서, 8비트, 10비트 또는 12비트 입력 데이터가 원시 처리 논리(414)의 입력에서 14비트로 변환될 수 있으며, 원시 처리 및 RGB 처리 연산들이 14비트 정밀도로 수행될 수 있다. 후자의 실시예에서, 14비트 이미지 데이터는 RGB 데이터의 YCbCr 컬러 공간으로의 변환 전에 10비트로 다운샘플링될 수 있고, YCbCr 처리(논리 418)는 10비트 정밀도로 수행될 수 있다.
ISP 파이프 처리 논리(82)에 의해 제공되는 다양한 기능들의 포괄적인 설명을 제공하기 위하여, 원시 처리 논리(414), RGB 처리 논리(416) 및 YCbCr 처리 논리(418) 각각은 물론, 논리(414, 416 및 418)의 각각의 유닛 내에 구현될 수 있는 다양한 이미지 처리 연산들을 수행하기 위한 내부 논리도 아래에서 원시 처리 논리(414)로부터 시작하여 차례로 설명될 것이다. 예를 들어, 이제 도 33을 참조하면, 본 기술의 일 실시예에 따른 원시 처리 논리(414)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도시되어 있다. 도시된 바와 같이, 원시 처리 논리(414)는 이득, 오프셋 및 클램핑(GOC) 논리(442), 결함 픽셀 검출/교정(DPDC) 논리(444), 잡음 저감 논리(446), 렌즈 쉐이딩 교정 논리(448), GOC 논리(450) 및 디모자이킹 논리(452)를 포함한다. 게다가, 아래에 설명되는 예들은 이미지 센서(들)(90)를 갖는 베이어 컬러 필터 어레이의 사용을 가정하지만, 본 기술의 다른 실시예들은 다른 타입의 컬러 필터들도 사용할 수 있다는 것을 이해해야 한다.
원시 이미지 신호일 수 있는 입력 신호(422)가 먼저 이득, 오프셋 및 클램핑(GOC) 논리(442)에 의해 수신된다. GOC 논리(442)는 도 20에서 전술한 바와 같은 ISP 프론트엔드 논리(80)의 통계 처리 유닛(120)의 BLC 논리(306)와 유사한 기능들을 제공할 수 있으며, 유사한 방식으로 구현될 수 있다. 예를 들어, GOC 논리(442)는 베이어 이미지 센서의 각각의 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 디지털 이득, 오프셋 및 클램핑(클립핑)을 제공할 수 있다. 특히, GOC 논리(442)는 자동 백색 균형을 수행하거나 원시 이미지 데이터의 흑색 레벨을 설정할 수 있다. 게다가, 일부 실시예들에서, GOC 논리(442)는 Gr 및 Gb 컬러 성분들 사이의 오프셋을 교정 또는 보상하는 데에도 사용될 수 있다.
동작시, 현재 픽셀에 대한 입력 값이 먼저 유부호 값에 의해 오프셋되고, 이득에 의해 승산된다. 이러한 연산은 위의 식 9에 표시된 공식을 이용하여 수행될 수 있으며, X는 주어진 컬러 성분(R, B, Gr 또는 Gb)에 대한 입력 픽셀 값을 나타내고, O[c]는 현재 컬러 성분(c)에 대한 유부호 16비트 오프셋을 나타내고, G[c]는 컬러 성분(c)에 대한 이득 값을 나타낸다. G[c]에 대한 값들은 (예를 들어, ISP 프론트엔드 블록(80)에서) 통계 처리 동안에 미리 결정될 수 있다. 일 실시예에서, 이득 G[c]는 2개의 정수 비트 및 14개의 분수 비트를 갖는 16비트 무부호 수(예로서, 2.14 부동 소수점 표현)일 수 있으며, 이득 G[c]는 반올림과 함께 적용될 수 있다. 단지 예로서, 이득 G[c]는 0과 4X 사이의 범위를 가질 수 있다.
이어서, 식 9로부터 계산된 픽셀 값 Y(이득 G[c] 및 오프셋 O[c]를 포함함)가 식 10에 따라 최소 및 최대 범위로 클립핑된다. 전술한 바와 같이, 변수들 min[c] 및 max[c]는 각각 최소 및 최대 출력 값들에 대한 유부호 16비트 "클립핑 값들"을 나타낼 수 있다. 일 실시예에서, GOC 논리(442)는 각각의 컬러 성분에 대해 각각 최대 및 최소 범위들 위 및 아래로 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수도 있다.
이어서, GOC 논리(442)의 출력은 결함 픽셀 검출 및 교정 논리(444)로 전송된다. 도 20(DPDC 논리(304))과 관련하여 전술한 바와 같이, 결함 픽셀들은 다양한 인자들에 기인할 수 있으며, "핫"(또는 누설) 픽셀들, "스턱" 픽셀들 및 "데드" 픽셀들을 포함할 수 있고, 핫 픽셀들은 비결함 픽셀들에 비해 정상보다 높은 전하 누설을 보이며, 따라서 비결함 픽셀보다 밝게 보일 수 있고, 스턱 픽셀은 항상 온(예를 들어, 완전 충전) 상태인 것으로 보이고, 따라서 더 밝게 보이는 반면, 데드 픽셀은 항상 오프 상태인 것으로 보인다. 따라서, 상이한 타입의 고장 시나리오들을 식별하고 해결할 만큼 충분히 강건한 픽셀 검출 방안을 갖는 것이 바람직할 수 있다. 특히, 동적 결함 검출/교정만을 제공할 수 있는 프론트엔드 DPDC 논리(304)와 비교할 때, 파이프 DPDC 논리(444)는 고정 또는 정적 결함 검출/교정, 동적 결함 검출/교정은 물론, 스펙클 제거도 제공할 수 있다.
현재 개시되는 기술들의 실시예들에 따르면, DPDC 논리(444)에 의해 수행되는 결함 픽셀 교정/검출은 각 컬러 성분(예로서, R, B, Gr, Gb)에 대해 독립적으로 이루어질 수 있으며, 결함 픽셀들을 검출하는 것은 물론, 검출된 결함 픽셀들을 교정하기 위한 다양한 연산들을 포함할 수 있다. 예를 들어, 일 실시예에서, 결함 픽셀 검출 연산들은 정적 결함들, 동적 결함들의 검출은 물론, 이미징 센서 내에 존재할 수 있는 전기적 간섭들 또는 잡음(예로서, 광자 잡음)을 지칭할 수 있는 스펙클의 검출도 제공할 수 있다. 유추에 의해, 스펙클은 텔레비전 디스플레이와 같은 디스플레이 상에 정전기가 나타날 수 있는 방식과 유사하게 외관상 임의의 잡음 아티팩트들로서 이미지 상에 나타날 수 있다. 게다가, 전술한 바와 같이, 동적 결함 교정은 주어진 시간에 결함이 있는 것으로서의 픽셀의 특성화가 이웃 픽셀들 내의 이미지 데이터에 의존할 수 있다는 점에서 동적인 것으로 간주된다. 예를 들어, 항상 최대 휘도를 갖는 스턱 픽셀은, 스턱 픽셀의 위치가 밝은 백색 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에 결함 픽셀로서 간주되지 않을 수 있다. 이와 달리, 스턱 픽셀이 흑색 또는 더 어두운 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에, 스턱 픽셀은 DPDC 논리(444)에 의한 처리 동안 결함 픽셀로서 식별되고, 그에 따라 교정될 수 있다.
정적 결함 검출과 관련하여, 각 픽셀의 위치는 결함 있는 것으로 알려진 픽셀들의 위치에 대응하는 데이터를 저장할 수 있는 정적 결함 테이블과 비교된다. 예를 들어, 일 실시예에서, DPDC 논리(444)는 (예로서, 카운터 메커니즘 또는 레지스터를 이용하여) 결함 픽셀들의 검출을 모니터링할 수 있으며, 특정 픽셀이 반복적으로 고장인 것으로 관측되는 경우, 그 픽셀의 위치는 정적 결함 테이블 내에 저장된다. 따라서, 정적 결함 검출 동안, 현재 픽셀의 위치가 정적 결함 테이블 내에 있는 것으로 결정되는 경우, 현재 픽셀은 결함 픽셀로서 식별되며, 교체 값이 결정되고 임시 저장된다. 일 실시예에서, 교체 값은 동일 컬러 성분의 (스캔 순서에 기초하는) 이전 픽셀의 값일 수 있다. 교체 값은 후술하는 바와 같이 동적/스펙클 결함 검출 및 교정 동안 정적 결함을 교정하는 데 사용될 수 있다. 게다가, 이전 픽셀이 원시 프레임(154)(도 9) 밖에 있는 경우, 그의 값은 사용되지 않으며, 정적 결함은 동적 결함 교정 프로세스 동안 교정될 수 있다. 게다가, 메모리 고려로 인해, 정적 결함 테이블은 유한 수의 위치 엔트리들을 저장할 수 있다. 예컨대, 일 실시예에서, 정적 결함 테이블은 이미지 데이터의 2개 라인마다에 대한 총 16개의 위치를 저장하도록 구성된 FIFO 큐로서 구현될 수 있다. 그럼에도 불구하고, 정적 결함 테이블 내에 정의된 위치들은 (후술하는 동적 결함 검출 프로세스를 통해서가 아니라) 이전 픽셀 교체 값을 이용하여 교정될 것이다. 전술한 바와 같이, 본 기술의 실시예들은 시간이 지남에 따라 간헐적으로 정적 결함 테이블의 갱신도 제공할 수 있다.
실시예들은 온칩 메모리 또는 오프칩 메모리 내에 구현될 정적 결함 테이블을 제공할 수 있다. 인식하듯이, 온칩 구현의 이용은 전체 칩 면적/크기를 증가시킬 수 있는 반면, 오프칩 구현의 이용은 칩 면적/크기를 줄일 수 있지만, 메모리 대역폭 요구들을 증가시킬 수 있다. 따라서, 정적 결함 테이블은 구체적인 구현 요구들, 즉 정적 결함 테이블 내에 저장될 픽셀들의 전체 수에 따라 온칩 또는 오프칩으로 구현될 수 있다.
동적 결함 및 스펙클 검출 프로세스들은 전술한 정적 결함 검출 프로세스에 대해 시간 시프트될 수 있다. 예를 들어, 일 실시예에서, 동적 결함 및 스펙클 검출 프로세스는 정적 결함 검출 프로세스가 픽셀들의 2개의 스캔 라인(예로서, 행)을 분석한 후에 시작될 수 있다. 알 수 있듯이, 이것은 동적/스펙클 검출이 발생하기 전에 정적 결함들의 식별 및 이들 각각의 교체 값들의 결정을 가능하게 한다. 예를 들어, 동적/스펙클 검출 프로세스 동안, 현재 픽셀이 정적 결함인 것으로 이전에 마킹된 경우, 동적/스펙클 검출 연산들을 적용하는 것이 아니라, 이전에 평가된 교체 값을 이용하여 정적 결함이 간단히 교정된다.
동적 결함 및 스펙클 검출과 관련하여, 이러한 프로세스들은 순차적으로 또는 병렬로 발생할 수 있다. DPDC 논리(444)에 의해 수행되는 동적 결함 및 스펙클 검출 및 교정은 픽셀 대 픽셀 방향 기울기들을 이용하는 적응성 에지 검출에 의존할 수 있다. 일 실시예에서, DPDC 논리(444)는 사용되는 원시 프레임(154)(도 9) 내에 있는 동일 컬러 성분을 갖는 현재 픽셀의 8개의 바로 이웃 픽셀을 선택할 수 있다. 즉, 현재의 픽셀 및 그의 8개의 바로 이웃 픽셀(P0, P1, P2, P3, P4, P5, P6, P7)은 아래에 도 34에 도시된 바와 같이 3x3 영역을 형성할 수 있다.
그러나, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 계산할 때 원시 프레임(154) 밖의 픽셀들이 고려되지 않는다는 점에 유의해야 한다. 예를 들어, 도 34에 도시된 "좌상" 예(454)와 관련하여, 현재 픽셀(P)은 원시 프레임(154)의 좌상 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2, P3, P5)은 고려되지 않고, 픽셀들(P4, P6, P7)(N=3)만이 남는다. "상부" 예(458)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 상부 에지에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2)은 고려되지 않고, 픽셀들(P3, P4, P5, P6, P7)(N=5)만이 남는다. 이어서, "우상" 예(458)에서, 현재 픽셀(P)은 원시 프레임(154)의 우상 코너에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2, P4, P7)은 고려되지 않고, 픽셀들(P3, P5, P6)(N=3)만이 남는다. "좌측" 예(460)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P3, P5)은 고려되지 않으며, 픽셀들(P1, P2, P4, P6, P7)(N=5)만이 남는다.
"중심" 예(462)에서, 모든 픽셀들(P0-P7)은 원시 프레임(154) 내에 위치하고, 따라서 픽셀 대 픽셀 기울기들을 결정하는 데 사용된다(N=8). "우측" 예(464)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P2, P4, P7)은 고려되지 않으며, 픽셀들(P0, P1, P3, P5, P6)(N=5)만이 남는다. 게다가, "좌하" 예(466)에서, 현재 픽셀(P)은 원시 프레임(154)의 좌하 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P3, P5, P6, P7)은 고려되지 않으며, 픽셀들(P1, P2, P4)(N=3)만이 남는다. "하부" 예(468)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 하부 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P5, P6, P7)은 고려되지 않으며, 픽셀들(P0, P1, P2, P3, P4)(N=5)만이 남는다. 마지막으로, "우하" 예(470)에서, 현재 픽셀(P)은 원시 프레임(154)의 우하 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P2, P4, P5, P6, P7)은 고려되지 않으며, 픽셀들(P0, P1, P3)(N=3)만이 남는다.
따라서, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 결정하는 데 사용되는 픽셀들의 수는 3, 5 또는 8개일 수 있다. 도시된 실시예에서는, 픽처 경계(예로서, 원시 프레임(154)) 내의 각 이웃 픽셀(k=0 내지 7)에 대해, 아래와 같이 픽셀 대 픽셀 기울기들이 계산될 수 있다.
[수학식 17]
Figure 112012040056417-pct00023
, 0≤k≤7에 대해(원시 프레임 내의 k에 대해서만)
게다가, 평균 기울기(Gav)는 아래의 식들에 나타난 바와 같이 현재 픽셀과 그의 주변 픽셀들의 평균(Pav) 사이의 차이로서 계산될 수 있다.
[수학식 18]
Figure 112012040056417-pct00024
여기서, (픽셀 위치에 따라) N = 3, 5 또는 8이다.
[수학식 19]
Figure 112012040056417-pct00025
픽셀 대 픽셀 기울기 값들(식 17)은 동적 결함 예를 결정하는 데 사용될 수 있으며, 이웃 픽셀들의 평균(식 18 및 19)은 아래에 더 설명되는 바와 같이 스펙클 예들을 식별하는 데 사용될 수 있다.
일 실시예에서, 동적 결함 검출은 DPDC 논리(444)에 의해 아래와 같이 수행될 수 있다. 먼저, 소정 수의 기울기들(Gk)이 변수 dynTh(동적 결함 임계치)로 표시되는 특정 임계치에 또는 그 아래에 있는 경우에 픽셀은 결함 있는 것으로 가정된다. 따라서, 각 픽셀에 대해, 임계치 dynTh에 또는 그 아래에 있는 픽처 경계들 내의 이웃 픽셀들에 대한 기울기들의 수의 카운트(C)가 누산된다. 임계치 dynTh는 주변 픽셀들에 존재하는 "활동"에 의존할 수 있는 고정 임계 성분 및 동적 임계 성분의 결합일 수 있다. 예를 들어, 일 실시예에서, dynTh에 대한 동적 임계 성분은 아래에 설명되는 바와 같이 평균 픽셀 값들(Pav)(식 18)과 각 이웃 픽셀 사이의 절대 차이의 합에 기초하여 고주파 성분 값(Phf)을 계산함으로써 결정될 수 있다.
[수학식 20]
Figure 112012040056417-pct00026
여기서, N=3, 5 또는 8이다.
픽셀이 이미지 코너에(N=3) 또는 이미지 에지에(N=5) 위치하는 예들에서, Phf는 8/3 또는 8/5에 의해 각각 승산될 수 있다. 알 수 있듯이, 이것은 고주파 성분(Phf)이 8개의 이웃 픽셀(N=8)에 기초하여 정규화되는 것을 보증한다.
Phf가 결정되면, 동적 결함 검출 임계치 dynTh는 아래에 나타난 바와 같이 계산될 수 있다.
[수학식 21]
Figure 112012040056417-pct00027
여기서, dynTh1은 고정 임계 성분을 나타내고, dynTh2는 동적 임계 성분을 나타내며, 식 21에서 Phf에 대한 승수이다. 각각의 컬러 성분에 대해 상이한 고정 임계 성분 dynTh1이 제공될 수 있지만, 동일 컬러의 각 픽셀에 대해서는 dynTh1이 동일하다. 단지 예로서, dynTh1은 적어도 이미지 내의 잡음의 분산 위에 있도록 설정될 수 있다.
동적 임계 성분 dynTh2은 이미지의 소정 특성에 기초하여 결정될 수 있다. 예를 들어, 일 실시예에서, dynTh2는 노광 및/또는 센서 적분 시간에 관한 저장된 경험 데이터를 이용하여 결정될 수 있다. 경험 데이터는 이미지 센서(예로서, 90)의 캘리브레이션 동안 결정될 수 있으며, dynTh2에 대해 선택될 수 있는 동적 임계 성분 값들을 다수의 데이터 포인트 각각과 연관시킬 수 있다. 따라서, ISP 프론트엔드 논리(80)에서의 통계 처리 동안에 결정될 수 있는 현재 노광 및/또는 센서 적분 시간 값에 기초하여, 현재 노광 및/또는 센서 적분 시간 값에 대응하는 저장된 경험 데이터로부터의 동적 임계 성분 값을 선택함으로써 dynTh2가 결정될 수 있다. 게다가, 현재 노광 및/또는 센서 적분 시간 값이 경험 데이터 포인트들 중 하나에 직접 대응하지 않는 경우, 현재 노광 및/또는 센서 적분 시간 값이 사이에 놓이는 데이터 포인트들과 관련된 동적 임계 성분 값들을 보간함으로써 dynTh2가 결정될 수 있다. 게다가, 고정 임계 성분 dynTh1과 같이, 동적 임계 성분 dynTh2는 각 컬러 성분에 대해 상이한 값들을 가질 수 있다. 따라서, 합성 임계 값 dynTh는 각 컬러 성분(예로서, R, B, Gr, Gb)에 대해 다를 수 있다.
전술한 바와 같이, 각 픽셀에 대해, 임계치 dynTh에 또는 그 아래에 있는 픽처 경계들 내의 이웃 픽셀들에 대한 기울기들의 수의 카운트(C)가 결정된다. 예를 들어, 원시 프레임(154) 내의 각 이웃 픽셀에 대해, 임계치 dynTh에 또는 그 아래에 있는 기울기들(Gk)의 누산된 카운트(C)는 아래와 같이 계산될 수 있다.
[수학식 22]
Figure 112012040056417-pct00028
, 0≤k≤7에 대해(원시 프레임 내의 k에 대해서만)
이어서, 누산된 카운트(C)가 변수 dynMaxC로 표시되는 최대 카운트 이하인 것으로 결정되는 경우, 픽셀은 동적 결함으로 간주될 수 있다. 일 실시예에서, dynMaxC에 대한 차이 값들이 N=3(코너), N=5(에지) 및 N=8 조건들에 대해 제공될 수 있다. 이러한 논리는 아래와 같이 표현된다.
[수학식 23]
Figure 112012040056417-pct00029
인 경우, 현재 픽셀(P)은 결함이 있다.
전술한 바와 같이, 결함 픽셀들의 위치는 정적 결함 테이블 내에 저장될 수 있다. 일부 실시예들에서, 현재 픽셀에 대한 동적 결함 검출 동안 계산된 최소 기울기 값(min(Gk))이 저장될 수 있고, 결함 픽셀들을 분류하는 데 사용될 수 있고, 따라서 더 큰 최소 기울기 값은 결함의 더 큰 "심각성"을 지시하며, 픽셀 교정 동안 덜 심각한 결함들이 교정되기 전에 교정되어야 한다. 일 실시예에서, 픽셀은 예를 들어 시간이 지남에 따라 결함 픽셀들의 위치들을 필터링함으로써, 정적 결함 테이블 내에 저장되기 전에 다수의 이미징 프레임에 걸쳐 처리되는 것이 필요할 수 있다. 후자의 실시예에서, 결함 픽셀의 위치는 결함이 특정 수의 연속 이미지들 내에 동일 위치에 나타나는 경우에만 정적 결함 테이블 내에 저장될 수 있다. 게다가, 일부 실시예들에서, 정적 결함 테이블은 저장된 결함 픽셀 위치들을 최소 기울기 값들에 기초하여 분류하도록 구성될 수 있다. 예를 들어, 가장 높은 최소 기울기 값은 더 큰 "심각성"의 결함을 지시할 수 있다. 이러한 방식으로 위치들을 배열함으로써, 정적 결함 교정의 우선 순위가 설정될 수 있으며, 따라서 가장 심각하거나 중요한 결함들이 먼저 교정된다. 게다가, 정적 결함 테이블은 시간이 지남에 따라 새로 검출된 정적 결함들을 포함하고, 이들 각각의 최소 기울기 값들에 기초하여 이들을 적절히 배열하도록 갱신될 수 있다.
전술한 동적 결함 검출 프로세스와 병렬로 이루어질 수 있는 스펙클 검출은 값 Gav(수학식 19)가 스펙클 검출 임계치 spkTh 보다 높은지를 결정함으로써 수행될 수 있다. 동적 결함 임계치 dynTh와 같이, 스펙클 임계치 spkTh도 spkTh1 및 spkTh2로 각각 지칭되는 고정 및 동적 성분들을 포함할 수 있다. 일반적으로, 더 심하게 텍스처화될 수 있는 이미지의 영역들 및 텍스트, 잎 무늬, 소정의 섬유 패턴 등과 같은 다른 것들에서 스펙클을 잘못 검출하는 것을 방지하기 위해, 고정 및 동적 성분들 spkTh1 및 spkTh2는 dynTh1 및 dynTh2 값들에 비해 더 "공격적으로" 설정될 수 있다. 따라서, 일 실시예에서, 동적 스펙클 임계 성분 spkTh2는 이미지의 고도의 텍스처 영역들에 대해서는 증가할 수 있고, "더 편평하거나" 더 균일한 영역들에 대해서는 감소할 수 있다. 스펙클 검출 임계치 spkTh는 아래에 나타난 바와 같이 계산될 수 있다.
[수학식 24]
Figure 112012040056417-pct00030
여기서, spkTh1은 고정 임계 성분을 나타내고, spkTh2는 동적 임계 성분을 나타낸다. 이어서, 스펙클의 검출은 아래의 식에 따라 결정될 수 있다.
[수학식 25]
Figure 112012040056417-pct00031
인 경우, 현재 픽셀(P)은 스펙클링된다.
결함 픽셀들이 식별되면, DPDC 논리(444)는 검출된 결함의 타입에 따라 픽셀 교정 연산들을 적용할 수 있다. 예를 들어, 결함 픽셀이 정적 결함으로서 식별된 경우, 픽셀은 전술한 바와 같은 저장된 교체 값(예로서, 동일 컬러 성분의 이전 픽셀의 값)으로 교체된다. 픽셀이 동적 결함 또는 스펙클로서 식별된 경우, 픽셀 교정은 다음과 같이 수행될 수 있다. 먼저, 아래에 나타난 바와 같이, 4개 방향, 즉 수평(h) 방향, 수직(v) 방향, 대각선 양의 방향(dp) 및 대각선 음의 방향(dn)에 대한 중심 픽셀과 제1 및 제2 이웃 픽셀들 간의 절대 차이의 합(예로서, 식 17의 Gk의 계산)으로서 기울기들이 계산된다.
[수학식 26]
Figure 112012040056417-pct00032
[수학식 27]
Figure 112012040056417-pct00033
[수학식 28]
Figure 112012040056417-pct00034
[수학식 29]
Figure 112012040056417-pct00035
이어서, 교정 픽셀 값 Pc는 최소 값을 갖는 방향 기울기 Gh, Gv, Gdp 및 Gdn과 관련된 2개의 이웃 픽셀의 선형 보간을 통해 결정될 수 있다. 예를 들어, 일 실시예에서, 아래의 논리적 문장은 Pc의 계산을 표현할 수 있다.
[수학식 30]
Figure 112012040056417-pct00036
DPDC 논리(444)에 의해 구현되는 픽셀 교정 기술들은 또한 경계 조건들에서 예외들을 제공할 수 있다. 예를 들어, 선택된 보간 방향과 관련된 2개의 이웃 픽셀 중 하나가 원시 프레임 밖에 있는 경우, 원시 프레임 내에 있는 이웃 픽셀의 값이 대신 교체된다. 따라서, 이러한 기술을 사용하면, 교정 픽셀 값은 원시 프레임 내의 이웃 픽셀의 값과 등가일 것이다.
DPDC 논리(444)에 의해 ISP 파이프 처리 동안에 적용되는 결함 픽셀 검출/교정 기술들은 ISP 프론트엔드 논리(80) 내의 DPDC 논리(304)에 비해 더 강건하다는 점에 유의한다. 위의 실시예에서 설명된 바와 같이, DPDC 논리(304)는 수평 방향에서만 이웃 픽셀들을 이용하여 동적 결함 검출 및 교정만을 수행하는 반면, DPDC 논리(444)는 수평 및 수직 방향 양자에서 이웃 픽셀들을 이용하여 정적 결함들, 동적 결함들은 물론, 스펙클의 검출 및 교정을 제공한다.
인식하듯이, 정적 결함 테이블을 이용하는 결함 픽셀들의 위치의 저장은 더 낮은 메모리 요구로 결함 픽셀들의 시간 필터링을 제공할 수 있다. 예를 들어, 전체 이미지들을 저장하고, 시간에 따른 정적 결함들을 식별하도록 시간 필터링을 적용하는 많은 통상의 기술에 비해, 본 기술의 실시예들은 결함 픽셀들의 위치들만을 저장하며, 이는 통상적으로 전체 이미지 프레임을 저장하는 데 필요한 메모리의 일부만을 이용하여 수행될 수 있다. 게다가, 전술한 바와 같이, 최소 기울기 값(min(Gk))의 저장은 결함 픽셀들이 교정되는 위치들의 순서를 (예로서, 가장 잘 보이는 것들로부터 시작하여) 우선 순위화하는 정적 결함 테이블의 효율적인 사용을 가능하게 한다.
게다가, 동적 성분(예로서, dynTh2 및 spkTh2)을 포함하는 임계치들의 사용은 통상의 이미지 처리 시스템들에서 이미지의 고도의 텍스처 영역들(예로서, 텍스트, 잎 무늬, 소정 섬유 패턴 등)을 처리할 때 종종 만나는 문제인 잘못된 결함 검출들을 줄이는 것을 도울 수 있다. 게다가, 픽셀 교정을 위한 방향 기울기들(예로서, h, v, dp, dn)의 사용은 잘못된 결함 검출이 발생하는 경우에 시각적 아티팩트들의 발생을 줄일 수 있다. 예를 들어, 최소 기울기 방향에서의 필터링은 대부분의 경우에, 심지어 잘못된 검출의 경우에도 수용 가능한 결과들을 여전히 산출하는 교정을 제공할 수 있다. 게다가, 기울기 계산에서의 현재 픽셀(P)의 포함은 특히 핫 픽셀들의 경우에 기울기 방향의 정확도를 향상시킬 수 있다.
DPDC 논리(444)에 의해 구현되는 전술한 결함 픽셀 검출 및 교정 기술들은 도 35 내지 도 37에서 제공되는 일련의 흐름도들에 의해 요약될 수 있다. 예를 들어, 도 35를 먼저 참조하면, 정적 결함들을 검출하기 위한 프로세스(472)가 도시되어 있다. 먼저 단계 474에서 시작하여, 제1 시간(T0)에 입력 픽셀(P)이 수신된다. 이어서, 단계 476에서, 픽셀(P)의 위치가 정적 결함 테이블에 저장된 값들과 비교된다. 판정 논리(478)는 픽셀(P)의 위치가 정적 결함 테이블에서 발견되는지를 판정한다. P의 위치가 정적 결함 테이블 내에 있는 경우, 프로세스(472)는 단계 480으로 계속되고, 여기서 픽셀(P)은 정적 결함으로 마킹되고, 교체 값이 결정된다. 전술한 바와 같이, 교체 값은 동일 컬러 성분의 (스캔 순서에서) 이전 픽셀의 값에 기초하여 결정될 수 있다. 이어서, 프로세스(472)는 단계 482로 계속되고, 여기서 프로세스(472)는 도 36에 도시된 동적 및 스펙클 검출 프로세스(484)로 진행한다. 게다가, 판정 논리(478)에서 픽셀(P)의 위치가 정적 결함 테이블 내에 없는 것으로 결정되는 경우, 프로세스(472)는 단계 480을 수행하지 않고 단계 482로 진행한다.
도 36으로 계속되어, 동적 결함 또는 스펙클이 존재하는지를 결정하기 위한 처리를 위해 단계 486에 나타난 바와 같이 시간 T1에서 입력 픽셀(P)이 수신된다. 시간 T1은 도 35의 정적 결함 검출 프로세스(472)에 관한 시간 시프트를 나타낼 수 있다. 전술한 바와 같이, 동적 결함 및 스펙클 검출 프로세스는 정적 결함 검출 프로세스가 픽셀들의 2개의 스캔 라인(예로서, 행)을 분석한 후에 시작될 수 있으며, 따라서 동적/스펙클 검출이 발생하기 전에 정적 결함들의 식별 및 이들 각각의 교체 값들의 결정을 위한 시간을 허락할 수 있다.
판정 논리(488)는 입력 픽셀(P)이 (예로서, 프로세스(472)의 단계 480에 의해) 정적 결함으로서 이전에 마킹되었는지를 판정한다. P가 정적 결함으로 마킹된 경우, 프로세스(484)는 도 37에 도시된 픽셀 교정 프로세스로 계속될 수 있으며, 도 36에 도시된 단계들의 나머지를 바이패스할 수 있다. 판정 논리(488)가 입력 픽셀(P)이 정적 결함이 아닌 것으로 판정하는 경우, 프로세스는 단계 490으로 계속되고, 동적 결함 및 스펙클 프로세스에서 사용될 수 있는 이웃 픽셀들이 식별된다. 예를 들어, 전술한 그리고 도 34에 도시된 실시예에 따르면, 이웃 픽셀들은 픽셀(P)에 바로 이웃하는 8개의 픽셀(예로서, P0-P7)을 포함할 수 있으며, 따라서 3x3 픽셀 영역을 형성할 수 있다. 이어서, 단계 492에서, 위의 식 17에서 설명된 바와 같이, 원시 프레임(154) 내의 각 이웃 픽셀에 대해 픽셀 대 픽셀 기울기들이 계산된다. 게다가, 식 18 및 19에 나타난 바와 같이, 현재 픽셀과 그 주변의 픽셀들의 평균 사이의 차이로서 평균 기울기(Gav)가 계산될 수 있다.
이어서, 프로세스(484)는 동적 결함 검출을 위한 단계 494 및 스펙클 검출을 위한 판정 논리 502로 분기한다. 전술한 바와 같이, 일부 실시예들에서는 동적 결함 검출과 스펙클 검출이 병렬로 이루어질 수 있다. 단계 494에서, 임계치 dynTh 이하인 기울기들의 수의 카운트(C)가 결정된다. 전술한 바와 같이, 임계치 dynTh는 고정 및 동적 컴포넌트들을 포함할 수 있으며, 일 실시예에서는 위의 식 21에 따라 결정될 수 있다. C가 최대 카운트 dynMaxC 이하인 경우, 프로세스(484)는 단계 500으로 계속되어, 현재 픽셀이 동적 결함으로서 마킹된다. 이어서, 프로세스(484)는 도 37에 도시된 픽셀 교정 프로세스로 계속될 수 있으며, 이는 아래에 설명된다.
단계 492 후의 스펙클 검출을 위한 분기로 복귀하면, 판정 논리(502)는 평균 기울기(Gav)가 고정 및 동적 성분을 또한 포함할 수 있는 스펙클 검출 임계치 spkTh보다 큰지를 판정한다. Gav가 임계치 spkTh보다 큰 경우, 픽셀(P)은 단계 504에서 스펙클을 포함하는 것으로 마킹되며, 이어서 프로세스(484)는 스펙클링된 픽셀의 교정을 위해 도 37로 계속된다. 게다가, 판정 논리 블록들(496 및 502) 양자의 출력이 "아니오"인 경우, 이것은 픽셀(P)이 동적 결함, 스펙클 또는 심지어 정적 결함도 포함하지 않는다는 것을 지시한다(판정 논리 488). 따라서, 판정 논리 496 및 502의 출력들이 모두 "아니오"일 때, 프로세스(484)는 단계 498에서 종료될 수 있으며, 따라서 픽셀(P)은 변경되지 않고, 결함(정적, 동적 또는 스펙클)이 검출되지 않는다.
도 37로 계속하면, 전술한 기술들에 따른 픽셀 교정 프로세스(506)가 제공된다. 단계 508에서, 입력 픽셀(P)이 도 36의 프로세스(484)로부터 수신된다. 픽셀(P)은 단계 488(정적 결함)로부터 또는 단계들 500(동적 결함) 및 504(스펙클 결함)로부터 프로세스(506)에 의해 수신될 수 있다. 이어서, 판정 논리(510)는 픽셀(P)이 정적 결함으로 마킹되었는지를 판정한다. 픽셀(P)이 정적 결함인 경우, 프로세스(506)는 계속하여 단계 512에서 종료되며, 따라서 단계 480(도 35)에서 결정된 교체 값을 이용하여 정적 결함이 교정된다.
픽셀(P)이 정적 결함으로 식별되지 않은 경우, 프로세스(506)는 판정 논리 510으로부터 단계 514로 계속되어, 방향 기울기들이 계산된다. 예를 들어, 식 26-29와 관련하여 전술한 바와 같이, 기울기들은 4개의 방향(h, v, dp, dn)에 대한 중심 픽셀과 제1 및 제2 이웃 픽셀들 사이의 절대 차이의 합으로서 계산될 수 있다. 이어서, 단계 516에서, 최소 값을 가진 방향 기울기가 식별되고, 이어서 판정 논리(518)는 최소 기울기와 관련된 2개의 이웃 픽셀 중 하나가 이미지 프레임(예로서, 원시 프레임(154)) 밖에 위치하는지를 평가한다. 양 이웃 픽셀들이 이미지 프레임 내에 있는 경우, 프로세스(506)는 단계 520으로 계속되어, 식 30에 나타난 바와 같이, 2개의 이웃 픽셀의 값들에 선형 보간을 적용함으로써 픽셀 교정 값(Pc)이 결정된다. 이어서, 단계 526에 나타난 바와 같이, 보간된 픽셀 교정 값(Pc)을 이용하여 입력 픽셀(P)이 교정될 수 있다.
판정 논리(518)를 다시 참조하면, 2개의 이웃 픽셀 중 하나가 이미지 프레임(예로서, 원시 프레임(165)) 밖에 위치하는 것으로 결정되는 경우, 외부 픽셀(Pout)의 값을 사용하는 대신에, DPDC 논리(444)는 단계 522에 나타난 바와 같이 Pout의 값을 이미지 프레임 내에 있는 다른 이웃 픽셀(Pin)의 값으로 교체할 수 있다. 이어서, 단계 524에서, Pin의 값들 및 Pout의 교체된 값을 보간함으로써 픽셀 교정 값(Pc)이 결정된다. 즉, 이 경우에 Pc는 Pin의 값과 등가일 수 있다. 단계 526에서 종결하여, 픽셀(P)이 값 Pc를 이용하여 교정된다. 계속하기 전에, DPDC 논리(444)와 관련하여 본 명세서에서 설명된 특정 결함 픽셀 검출 및 교정 프로세스들은 본 기술의 하나의 가능한 실시예만을 반영하는 것을 의도한다는 것을 이해해야 한다. 사실상, 설계 및/또는 비용 제한들에 따라, 다수의 변형예가 가능하며, 결함 검출/교정 논리의 전체 복잡성 및 강건함이 ISP 프론트엔드 블록(80) 내에 구현되는 더 간단한 검출/교정 논리(304)와 DPDC 논리(444)와 관련하여 본 명세서에서 설명되는 결함 검출/교정 논리 사이에 있도록 특징들이 추가되거나 제거될 수 있다.
도 33을 다시 참조하면, 교정된 픽셀 데이터가 DPDC 논리(444)로부터 출력되고, 이어서 추가 처리를 위해 잡음 저감 논리(446)에 의해 수신된다. 일 실시예에서, 잡음 저감 논리(446)는 상세들 및 텍스처들을 유지하면서 이미지 데이터 내의 잡음을 줄이기 위해 이차원 에지 적응 저역 통과 필터링을 구현하도록 구성될 수 있다. 에지 적응 임계치들은 현재 조명 레벨들에 기초하여 (예로서, 제어 논리(84)에 의해) 설정될 수 있으며, 따라서 낮은 광 조건들에서 필터링이 강화될 수 있다. 게다가, dynTh 및 spkTh 값들의 결정과 관련하여 간단히 전술한 바와 같이, 주어진 센서에 대해 잡음 분산이 미리 결정될 수 있으며, 따라서 잡음 저감 임계치들은 잡음 분산 바로 위로 설정될 수 있고, 따라서 잡음 저감 처리 동안, 장면의 텍스처들 및 상세들에 크게 영향을 미치지 않고 잡음이 감소된다(예를 들어, 잘못된 검출들이 방지/감소된다). 베이어 컬러 필터 구현을 가정하면, 잡음 저감 논리(446)는 분리 가능한 7탭 수평 필터 및 5탭 수직 필터를 이용하여 각 컬러 성분(Gr, R, B, Gb)을 개별적으로 처리할 수 있다. 일 실시예에서는, 녹색 성분들(Gb, Gr)의 불균일을 교정한 후에 수평 필터링 및 수직 필터링을 수행함으로써 잡음 저감 프로세스가 수행될 수 있다.
녹색 불균일(GNU)은 균일하게 조명된 편평한 표면이 주어질 때 Gr 및 Gb 픽셀들 사이의 근소한 휘도 차이에 의해 일반적으로 특성화된다. 이러한 불균일의 교정 또는 보상이 없는 경우, 디모자이킹 후에 풀 컬러 이미지 내에 "메이즈(maze)" 아티팩트와 같은 소정의 아티팩트들이 나타날 수 있다. 녹색 불균일 동안, 프로세스는 원시 베이어 이미지 데이터 내의 각 녹색 픽셀에 대해 현재 녹색 픽셀(G1)과 현재 픽셀 우측 및 아래의 녹색 픽셀(G2) 사이의 절대 차이가 GNU 교정 임계치(gnuTh)보다 작은지를 결정하는 단계를 포함할 수 있다. 도 38은 베이어 패턴의 2x2 영역 내의 G1 및 G2 픽셀들의 위치를 나타낸다. 도시된 바와 같이, G1과 접하는 픽셀들의 컬러는 현재 녹색 픽셀이 Gb 또는 Gr 픽셀인지에 의존할 수 있다. 예를 들어, G1이 Gr인 경우, G2는 Gb이고, G1 우측의 픽셀은 R(적색)이며, G1 아래의 픽셀은 B(청색)이다. 대안으로서, G1이 Gb인 경우, G2는 Gr이고, G1의 우측 픽셀은 B인 반면, G1 아래의 픽셀은 R이다. G1과 G2 간의 절대 차이가 GNU 교정 임계치보다 낮은 경우, 현재 녹색 픽셀(G1)은 아래의 논리에 나타난 바와 같이 G1과 G2의 평균으로 교체된다.
[수학식 31]
Figure 112012040056417-pct00037
알 수 있듯이, 이러한 방식의 녹색 불균일 교정의 적용은 G1과 G2 픽셀들이 에지들에 걸쳐 평균되는 것을 방지하여 선명성을 향상 및/또는 유지하는 것을 도울 수 있다.
녹색 불균일 교정에 이어서 수평 필터링이 적용되며, 일 실시예에서는 7탭 수평 필터를 제공할 수 있다. 각 필터 탭의 에지에 걸치는 기울기들이 계산되며, 그것이 수평 에지 임계치(horzTh) 이상인 경우, 후술하는 바와 같이 필터 탭은 중심 픽셀로 폴딩된다. 수평 필터는 각 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 이미지 데이터를 처리할 수 있으며, 필터링되지 않은 값들을 입력 값들로서 사용할 수 있다.
예를 들어, 도 39는 P3에 중심 탭이 위치하는 수평 픽셀들(P0 내지 P6)의 세트의 그래픽 표현을 나타낸다. 도 39에 도시된 픽셀들에 기초하여, 각 필터 탭에 대한 에지 기울기들이 아래와 같이 계산될 수 있다.
[수학식 32]
Figure 112012040056417-pct00038
[수학식 33]
Figure 112012040056417-pct00039
[수학식 34]
Figure 112012040056417-pct00040
[수학식 35]
Figure 112012040056417-pct00041
[수학식 36]
Figure 112012040056417-pct00042
[수학식 37]
Figure 112012040056417-pct00043
이어서, 수평 필터 컴포넌트는 에지 기울기들(Eh0-Eh5)을 사용하여, 아래의 식 38에 나타난 공식을 이용하여 수평 필터링 출력(Phorz)을 결정할 수 있다.
[수학식 38]
Figure 112012040056417-pct00044
여기서, horzTh[c]는 각 컬러 성분(c)(예로서, R, B, Gr, Gb)에 대한 수평 에지 임계치이고, C0-C6은 픽셀들(P0-P6)에 각각 대응하는 필터 탭 계수들이다. 수평 필터 출력(Phorz)은 중심 픽셀(P3) 위치에 적용될 수 있다. 일 실시예에서, 필터 탭 계수들(C0-C6)은 3개의 정수 비트와 13개의 분수 비트를 가진 16비트 2의 보수 값들(부동 소수점으로 3.13)일 수 있다. 게다가, 필터 탭 계수들(C0-C6)은 중심 픽셀(P3)에 대해 반드시 대칭일 필요는 없다는 점에 유의해야 한다.
녹색 불균일 교정 및 수평 필터링 프로세스들에 이어서 잡음 저감 논리(446)에 의해 수직 필터링도 적용된다. 일 실시예에서, 수직 필터 연산은 도 40에 도시된 바와 같은, 수직 필터의 중심 탭이 P2에 위치할 5탭 필터를 제공할 수 있다. 수직 필터링 프로세스는 전술한 수평 필터링 프로세스와 유사한 방식으로 이루어질 수 있다. 예를 들어, 각 필터 탭의 에지에 걸치는 기울기들이 계산되며, 그것이 수직 에지 임계치(vertTh)를 초과하는 경우, 필터 탭은 중심 픽셀(P2)로 폴딩된다. 수직 필터는 각 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 이미지 데이터를 처리할 수 있으며, 필터링되지 않은 값들을 입력 값들로 사용할 수 있다.
도 40에 도시된 픽셀들에 기초하여, 각 필터 탭에 대한 수직 에지 기울기들이 아래와 같이 계산될 수 있다.
[수학식 39]
Figure 112012040056417-pct00045
[수학식 40]
Figure 112012040056417-pct00046
[수학식 41]
Figure 112012040056417-pct00047
[수학식 42]
Figure 112012040056417-pct00048
이어서, 수직 필터는 에지 기울기들(Ev0-Ev5)을 이용하여, 아래의 식 43에 나타난 공식을 이용하여 수직 필터링 출력(Pvert)을 결정할 수 있다.
[수학식 43]
Figure 112012040056417-pct00049
여기서, vertTh[c]는 각 컬러 성분(c)(예로서, R, B, Gr, Gb)에 대한 수직 에지 임계치이고, C0-C4는 도 40의 픽셀들(P0-P4) 각각에 대응하는 필터 탭 계수들이다. 수직 필터 출력(Pvert)은 중심 픽셀(P2) 위치에 적용될 수 있다. 일 실시예에서, 필터 탭 계수들(C0-C4)은 3개의 정수 비트와 13개의 분수 비트를 갖는 16비트 2의 보수 값들(부동 소수점으로 3.13)일 수 있다. 게다가, 필터 탭 계수들(C0-C4)은 중심 픽셀(P2)에 대해 반드시 대칭일 필요는 없다는 점에 유의해야 한다.
게다가, 경계 조건들과 관련하여, 이웃 픽셀들이 원시 프레임(154)(도 9) 밖에 있을 때, 경계밖 픽셀들의 값들은 원시 프레임의 에지에서의 동일 컬러 픽셀의 값으로 복사된다. 이러한 규약은 수평 및 수직 필터링 연산들 양자에 대해 구현될 수 있다. 예를 들어, 도 39를 다시 참조하면, 수평 필터링의 경우, 픽셀(P2)이 원시 프레임의 가장 좌측 에지의 에지 픽셀이고, 픽셀들(P0, P1)이 원시 프레임 밖에 있는 경우, 픽셀들(P0, P1)의 값들은 수평 필터링을 위해 픽셀(P2)의 값으로 교체된다.
도 33에 도시된 원시 처리 논리(414)의 블록도를 다시 참조하면, 이어서 잡음 저감 논리(446)의 출력은 처리를 위해 렌즈 쉐이딩 교정(LSC) 논리(448)로 전송된다. 전술한 바와 같이, 렌즈 쉐이딩 교정 기술들은 렌즈의 기하 광학, 제조 결함, 마이크로렌즈 어레이와 컬러 어레이 필터의 오정렬 등의 결과일 수 있는 광 강도의 저하를 보상하기 위해 픽셀별로 적절한 이득을 적용하는 단계를 포함할 수 있다. 게다가, 일부 렌즈들 내의 적외선(IR) 필터는 저하가 발광체에 의존하게 할 수 있으며, 따라서 렌즈 쉐이딩 이득들은 검출되는 광원에 따라 적응될 수 있다.
도시된 실시예에서, ISP 파이프(82)의 LSC 논리(448)는 도 23 내지 도 31과 관련하여 전술한 바와 같은 ISP 프론트엔드 블록(80)의 LSC 논리(308)와 유사한 방식으로 구현될 수 있으며, 따라서 대체로 동일한 기능들을 제공할 수 있다. 따라서, 중복을 피하기 위하여, 현재 설명되는 실시예의 LSC 논리(448)는 LSC 논리(304)와 대체로 동일한 방식으로 동작하도록 구성되며, 따라서 위에서 제공된 렌즈 쉐이딩 교정 기술들의 설명은 여기서 반복되지 않는다는 것을 이해해야 한다. 그러나, 일반적으로 요약하면, LSC 논리(448)는 현재 픽셀에 적용할 이득을 결정하기 위해 원시 픽셀 데이터 스트림의 각 컬러 성분을 개별적으로 처리할 수 있다는 것을 이해해야 한다. 전술한 실시예들에 따르면, 렌즈 쉐이딩 교정 이득은 이미징 프레임에 걸쳐 분포된 이득 그리드 포인트들의 정의된 세트에 기초하여 결정될 수 있으며, 각각의 그리드 포인트 사이의 간격은 픽셀들의 수(예로서, 8개 픽셀, 16개 픽셀 등)에 의해 정의된다. 현재 픽셀의 위치가 그리드 포인트에 대응하는 경우, 그 그리드 포인트와 관련된 이득 값이 현재 픽셀에 적용된다. 그러나, 현재 픽셀의 위치가 그리드 포인트들(예로서, 도 26의 G0, G1, G2, G3) 사이에 있는 경우, LSC 이득 값은 현재 픽셀이 사이에 위치하는 그리드 포인트들의 보간에 의해 계산될 수 있다(식 11a 및 11b). 이 프로세스는 도 27의 프로세스(380)에 의해 설명된다. 게다가, 도 25와 관련하여 전술한 같이, 일부 실시예들에서, 그리드 포인트들은 불균일하게(로그 방식으로) 분포될 수 있으며, 따라서 그리드 포인트들은 LSC 영역(354)의 중심에 덜 집중되지만, 통상적으로 렌즈 쉐이딩 왜곡이 더 현저한 LSC 영역(354)의 코너들을 향해 더 집중된다.
게다가, 도 30 및 도 31과 관련하여 전술한 바와 같이, LSC 논리(448)는 또한 그리드 이득 값을 갖는 방사상 이득 성분을 적용할 수 있다. 방사상 이득 성분은 이미지의 중심으로부터의 현재 픽셀의 거리에 기초하여 결정될 수 있다(식 12-14). 전술한 바와 같이, 방사상 이득의 이용은 모든 컬러 성분들에 대한 단일 공통 이득 그리드의 이용을 가능하게 하며, 이는 각 컬러 성분에 대한 개별 이득 그리드들을 저장하는 데 필요한 전체 저장 공간을 크게 줄일 수 있다. 이러한 그리드 이득 데이터의 감소는 구현 비용을 줄일 수 있는데, 그 이유는 그리드 이득 데이터 테이블들이 이미지 처리 하드웨어 내의 메모리 또는 칩 면적의 상당 부분을 책임질 수 있기 때문이다.
이어서, 도 33의 원시 처리 논리 블록도(414)를 다시 참조하면, LSC 논리(448)의 출력이 제2 이득, 오프셋 및 클램핑(GOC) 블록(450)으로 전송된다. GOC 논리(450)는 (논리 블록 452에 의해) 디모자이킹 전에 적용될 수 있으며, LSC 논리(448)의 출력에 대해 자동 백색 균형을 수행하는 데 사용될 수 있다. 도시된 실시예에서, GOC 논리(450)는 GOC 논리(442)(및 BLC 논리 306)와 동일한 방식으로 구현될 수 있다. 따라서, 위의 식 9에 따르면, GOC 논리(450)에 의해 수신된 입력은 먼저 유부호 값에 의해 오프셋된 후에 이득에 의해 승산된다. 이어서, 결과 값이 식 10에 따라 최소 및 최대 범위로 클립핑된다.
이어서, GOC 논리(450)의 출력은 원시 베이어 입력 데이터에 기초하여 풀 컬러(RGB) 이미지를 생성하기 위한 처리를 위해 디모자이킹 논리(452)로 전송된다. 인식하듯이, 베이어 필터와 같은 컬러 필터 어레이를 이용하는 이미지 센서의 원시 출력은 각 픽셀이 단일 컬러 성분만을 획득하도록 필터링된다는 점에서 "불완전"하다. 따라서, 개별 픽셀에 대해서만 수집된 데이터는 컬러를 결정하기에는 불충분하다. 따라서, 각각의 픽셀에 대해 누락된 컬러 데이터를 보간함으로써 원시 베이어 데이터로부터 풀 컬러 이미지를 생성하기 위해 디모자이킹 기술들이 이용될 수 있다.
이제, 도 41을 참조하면, 풀 컬러 RGB를 생성하기 위해 원시 베이어 이미지 패턴(532)에 디모자이킹이 어떻게 적용될 수 있는지에 대한 일반 개요를 제공하는 그래픽 처리 흐름(530)이 도시되어 있다. 도시된 바와 같이, 원시 베이어 이미지(532)의 4x4 부분(534)은 녹색 채널(536), 적색 채널(538) 및 청색 채널(540)을 포함하는 각 컬러 성분에 대한 개별 채널들을 포함할 수 있다. 베이어 센서 내의 각 이미징 픽셀은 하나의 컬러에 대한 데이터만을 획득하므로, 각 컬러 채널(536, 538 및 540)에 대한 컬러 데이터는 "?" 심벌들로 지시되는 바와 같이 불완전할 수 있다. 디모자이킹 기술(542)을 적용함으로써, 각 채널로부터의 누락된 컬러 샘플들이 보간될 수 있다. 예를 들어, 참조 번호 544로 지시되는 바와 같이, 보간된 데이터(G')는 녹색 채널 상의 누락 샘플들을 채우는 데 사용될 수 있다. 유사하게, 보간된 데이터(R')는 (보간된 데이터(G')(544)와 함께) 적색 컬러 채널(546) 상의 누락 샘플들을 채우는 데 사용될 수 있고, 보간된 데이터(B')는 (보간된 데이터(G')(544)와 함께) 청색 컬러 채널(548) 상의 누락 샘플들을 채우는 데 사용될 수 있다. 따라서, 디모자이킹 프로세스의 결과로서, 각 컬러 채널(R, G, B)은 컬러 데이터의 풀 세트를 가질 것이며, 이어서 이들은 풀 컬러 RGB 이미지(550)를 재구성하는 데 사용될 수 있다.
이제, 일 실시예에 따른, 디모자이킹 논리(452)에 의해 구현될 수 있는 디모자이킹 기술이 설명된다. 녹색 채널 상에서, 공지된 녹색 샘플들에 대해 저역 통과 방향 필터를 그리고 인접 컬러 채널들(예로서, 적색 및 청색)에 대해 고역 통과(또는 기울기) 필터를 이용하여 누락 컬러 샘플들이 보간될 수 있다. 적색 및 청색 채널들의 경우, 누락 컬러 샘플들은 유사한 방식으로, 그러나 공지된 적색 또는 청색 값들에 대해 저역 통과 필터링을 그리고 같이 위치하는(co-located) 보간된 녹색 값에 대해 고역 통과 필터링을 이용하여 보간될 수 있다. 게다가, 일 실시예에서, 녹색 채널 상의 디모자이킹은 오리지널 베이어 컬러 데이터에 기초하는 5x5 픽셀 블록 에지 적응 필터를 사용할 수 있다. 아래에 더 설명되는 바와 같이, 에지 적응 필터의 사용은 수평 및 수직 필터링된 값들의 기울기들에 기초하는 연속 가중을 제공할 수 있으며, 이는 통상의 디모자이킹 기술들에서 일반적으로 나타나는 앨리어싱, "체커보드" 또는 "레인보우" 아티팩트들과 같은 소정의 아티팩트들의 발생을 줄인다.
녹색 채널 상의 디모자이킹 동안, 베이어 이미지 패턴의 녹색 픽셀들(Gr, Gb 픽셀들)에 대한 오리지널 값들이 사용된다. 그러나, 녹색 채널에 대한 데이터의 풀 세트를 얻기 위해, 녹색 픽셀 값들이 베이어 이미지 패턴의 적색 및 청색 픽셀들에 보간될 수 있다. 본 기술에 따르면, Eh 및 Ev로 각각 참조되는 수평 및 수직 에너지 성분들이 먼저 전술한 5x5 픽셀 블록에 기초하여 적색 및 청색 픽셀들에서 계산된다. Eh 및 Ev의 값들은 후술하는 바와 같이 수평 및 수직 필터링 단계들로부터 에지 가중된 필터링된 값을 얻는 데 사용될 수 있다.
예를 들어, 도 42는 위치 (j,i)에서 5x5 픽셀 블록의 중심에 위치하는 적색 픽셀에 대한 Eh 및 Ev 값들의 계산을 나타내며, 여기서 j는 행에 대응하고, i는 열에 대응한다. 도시된 바와 같이, Eh의 계산은 5x5 픽셀 블록의 중간의 3개 행(j-1, j, j+1)을 고려하며, Ev의 계산은 5x5 픽셀 블록의 중간의 3개 열(i-1, i, i+1)을 고려한다. Eh를 계산하기 위하여, 적색 열들(i-2, i, i+2) 내의 픽셀들 각각과 대응하는 계수(예로서, 열 i-2 및 i+2에 대해 -1 및 열 i에 대해 2)를 곱한 값들의 합의 절대 값이 청색 열들(i-1, i+1) 내의 픽셀들 각각과 대응하는 계수(예로서, 열 i-1에 대해 1 및 열 i+1에 대해 -1)를 곱한 값들의 합의 절대 값과 합산된다. Ev를 계산하기 위하여, 적색 행들(j-2, j, j+2) 내의 픽셀들 각각과 대응하는 계수(예로서, 행 j-2 및 j+2에 대해 -1 및 행 j에 대해 2)를 곱한 값들의 합의 절대 값이 청색 행들(j-1, j+1) 내의 픽셀들 각각과 대응하는 계수(예로서, 행 j-1에 대해 1 및 행 j+1에 대해 -1)를 곱한 값들의 합의 절대 값과 합산된다. 이러한 계산들은 아래의 식 44 및 45로 표시된다.
[수학식 44]
Figure 112012040056417-pct00050
[수학식 45]
Figure 112012040056417-pct00051
따라서, 총 에너지 합은 Eh + Ev로서 표현될 수 있다. 게다가, 도 42에 도시된 예는 (j,i)에 있는 적색 중심 픽셀에 대한 Eh 및 Ev의 계산을 설명하지만, Eh 및 Ev 값들은 청색 중심 픽셀에 대해 유사한 방식으로 결정될 수 있다는 것을 이해해야 한다.
이어서, 베이어 패턴에 수평 및 수직 필터링을 적용하여, 수평 및 수직 방향의 보간된 녹색 값들을 각각 나타낼 수 있는 수직 및 수평 필터링된 값들(Gh, Gv)을 얻을 수 있다. 필터링된 값들(Gh, Gv)은 누락된 녹색 샘플들의 위치들에서 고주파 신호를 얻기 위해 인접 컬러(R 또는 B)의 방향 기울기들을 이용하는 것에 더하여 공지된 이웃 녹색 샘플들에 대해 저역 통과 필터를 이용하여 결정될 수 있다. 예를 들어, 도 43을 참조하여, 이제 Gh를 결정하기 위한 수평 보간의 일례가 설명된다.
도 43에 도시된 바와 같이, 베이어 이미지의 적색 라인(552)의 5개의 수평 픽셀(R0, G1, R2, G3, R4)(R2가 (j,i)에 있는 중심 픽셀인 것으로 가정함)이 Gh의 결정에 고려될 수 있다. 이러한 5개의 픽셀 각각과 관련된 필터링 계수들은 참조 번호 554로 지시된다. 따라서, 중심 픽셀(R2)에 대한 G2'로서 참조되는 녹색 값의 보간은 아래와 같이 결정될 수 있다.
[수학식 46]
Figure 112012040056417-pct00052
이어서, 다양한 수학 연산들을 이용하여, 아래의 식 47 및 48에 나타난 G2'에 대한 식을 생성할 수 있다.
[수학식 47]
Figure 112012040056417-pct00053
[수학식 48]
Figure 112012040056417-pct00054
따라서, 도 43 및 위의 식 46-48을 참조하면, (j,i)에서의 녹색 값에 대한 수평 보간에 대한 일반 식이 다음과 같이 도출될 수 있다.
[수학식 49]
Figure 112012040056417-pct00055
수직 필터링 성분(Gv)은 Gh와 유사한 방식으로 결정될 수 있다. 예를 들어, 도 44를 참조하면, 베이어 이미지의 적색 열(556)의 5개의 수직 픽셀(R0, G1, R2, G3, R4) 및 이들 각각의 필터링 계수들(558)(R2는 (j,i)에 있는 중심 픽셀로 가정됨)이 Gv의 결정에 고려될 수 있다. 공지된 녹색 샘플들에 대해 저역 통과 필터링을 그리고 수직 방향의 적색 채널에 대해 고역 통과 필터링을 이용하면, Gv에 대해 아래의 식이 도출될 수 있다.
[수학식 50]
Figure 112012040056417-pct00056
본 명세서에서 설명되는 예들은 적색 픽셀에 대한 녹색 값들의 보간을 설명하지만, 식 49 및 50에 나타난 식들은 청색 픽셀들에 대한 녹색 값들의 수평 및 수직 보간에도 사용될 수 있다는 것을 이해해야 한다.
중심 픽셀 (j,i)에 대한 최종 보간된 녹색 값(G')은 아래의 식을 산출하기 위해 전술한 에너지 성분들(Eh, Ev)에 의해 수평 및 수직 필터 출력들(Gh, Gv)을 가중함으로써 결정될 수 있다.
[수학식 51]
Figure 112012040056417-pct00057
전술한 바와 같이, 에너지 성분들(Eh, Ev)은 수평 및 수직 필터 출력들(Gh, Gv)의 에지 적응 가중화를 제공할 수 있으며, 이는 재구성되는 RGB 이미지 내의 레인보우, 앨리어싱 또는 체커보드 아티팩트들과 같은 이미지 아티팩트들을 줄이는 것을 도울 수 있다. 게다가, 디모자이킹 논리(452)는 Gh 및 Gv가 동일하게 가중되도록 Eh 및 Ev 값들을 각각 1로 설정함으로써 에지 적응 가중 특징을 바이패스하는 옵션을 제공할 수 있다.
일 실시예에서, 위의 식 51에 나타난 수평 및 수직 가중 계수들은 가중 계수들의 정밀도를 "대략적인" 값들의 세트로 줄이기 위해 양자화될 수 있다. 예를 들어, 일 실시예에서, 가중 계수들은 8개의 가능한 가중 비율: 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8 및 8/8로 양자화될 수 있다. 다른 실시예들은 가중 계수들을 16개의 값(예로서, 1/16 내지 16/16), 32개의 값(1/32 내지 32/32) 등으로 양자화할 수 있다. 알 수 있듯이, 충분한 정밀도 값들(예로서, 32비트 부동 소수점 값들)의 사용과 비교할 때, 가중 계수들의 양자화는 가중 계수들을 결정하여 수평 및 수직 필터 출력들에 적용할 때의 구현 복잡성을 줄일 수 있다.
추가 실시예들에서, 현재 개시되는 기술들은 수평 및 수직 에너지 성분들을 결정하고 이들을 이용하여 가중 계수들을 수평(Gh) 및 수직(Gv) 필터링된 값들에 적용하는 것에 더하여, 대각선 양의 그리고 대각선 음의 방향들에서의 에너지 성분들을 결정하고 이용할 수도 있다. 예를 들어, 그러한 실시예들에서, 필터링은 대각선 양의 그리고 대각선 음의 방향들로도 적용될 수 있다. 필터 출력들의 가중화는 2개의 최고 에너지 성분을 선택하고, 선택된 에너지 성분들을 이용하여, 그들 각각의 필터 출력들을 가중하는 것을 포함할 수 있다. 예를 들어, 2개의 최고 에너지 성분이 수직 및 대각선 양의 방향들에 대응하는 것으로 가정하면, 수직 및 대각선 양의 에너지 성분들은 (예로서, 베이어 패턴 내의 적색 또는 청색 픽셀 위치에서의) 보간된 녹색 값을 결정하기 위해 수직 및 대각선 양의 필터 출력들을 가중하는 데 사용된다.
이어서, 베이어 이미지 패턴의 녹색 픽셀들에서 적색 및 청색 값들을 보간하고, 베이어 이미지 패턴의 청색 픽셀들에서 적색 값들을 보간하고, 베이어 이미지 패턴의 적색 픽셀들에서 청색 값들을 보간함으로써, 적색 및 청색 채널들에 대한 디모자이킹이 수행될 수 있다. 현재 설명된 기술들에 따르면, 누락된 적색 및 청색 픽셀 값들은 공지된 이웃 적색 및 청색 픽셀들에 기초하는 저역 통과 필터링 및 현재 픽셀의 위치에 따라 (전술한 녹색 채널 디모자이킹 프로세스로부터의) 오리지널 또는 보간된 값들일 수 있는 같이 위치하는 녹색 픽셀 값들에 기초하는 고역 통과 필터링을 이용하여 보간될 수 있다. 따라서, 그러한 실시예들과 관련하여, 누락된 녹색 값들의 보간이 먼저 수행될 수 있으며, 따라서 누락된 적색 및 청색 샘플들을 보간할 때 녹색 값들(오리지널 및 보간된 값들 둘다)의 완전한 세트가 이용가능하다는 것을 이해해야 한다.
적색 및 청색 픽셀 값들의 보간은 도 45를 참조하여 설명될 수 있으며, 이 도면은 적색 및 청색 디모자이킹이 적용될 수 있는 베이어 이미지 패턴의 다양한 3x3 블록들은 물론, 녹색 채널에 대한 디모자이킹 동안에 얻어졌을 수 있는 (G'로 표시된) 보간된 녹색 값들을 도시한다. 블록 560을 먼저 참조하면, Gr 픽셀(G11)에 대한 보간된 적색 값(R'11)이 아래와 같이 결정될 수 있다.
[수학식 52]
Figure 112012040056417-pct00058
여기서, G'10 및 G'12는 참조 번호 568로 표시된 바와 같은 보간된 녹색 값들을 나타낸다. 유사하게, Gr 픽셀(G11)에 대한 보간된 청색 값(B'11)이 아래와 같이 결정될 수 있다.
[수학식 53]
Figure 112012040056417-pct00059
여기서, G'01 및 G'21은 보간된 녹색 값들(568)을 나타낸다.
이어서, 중심 픽셀이 Gb 픽셀(G11)인 픽셀 블록(562)을 참조하면, 보간된 적색 값(R'11) 및 청색 값(B'11)은 아래의 식 54 및 55에 나타난 바와 같이 결정될 수 있다.
[수학식 54]
Figure 112012040056417-pct00060
[수학식 55]
Figure 112012040056417-pct00061
게다가, 픽셀 블록(564)을 참조하면, 청색 픽셀(B11)에 대한 적색 값의 보간은 다음과 같이 결정될 수 있다.
[수학식 56]
Figure 112012040056417-pct00062
여기서, G'00, G'02, G'11, G'20 및 G'22는 참조 번호 570으로 지시되는 바와 같은 보간된 녹색 값들을 나타낸다. 마지막으로, 픽셀 블록 566으로 지시되는 바와 같은 적색 픽셀에 대한 청색 값의 보간은 다음과 같이 계산될 수 있다.
[수학식 57]
Figure 112012040056417-pct00063
전술한 실시예는 적색 및 청색 보간된 값들을 결정하기 위해 컬러 차이들(예로서, 기울기들)에 의존하지만, 다른 실시예는 컬러 비율들을 이용하여 보간된 적색 및 청색 값들을 제공할 수 있다. 예를 들어, 보간된 녹색 값들(블록 568 및 570)을 이용하여, 베이어 이미지 패턴의 적색 및 청색 픽셀 위치들에서의 컬러 비율을 얻을 수 있고, 비율들의 선형 보간을 이용하여, 누락 컬러 샘플에 대한 보간된 컬러 비율을 결정할 수 있다. 보간된 또는 오리지널 값일 수 있는 녹색 값과 보간된 컬러 비율을 곱하여, 최종 보간된 컬러 값을 얻을 수 있다. 예를 들어, 컬러 비율들을 이용한 적색 및 청색 픽셀 값들의 보간은 아래의 식들에 따라 수행될 수 있으며, 식 58 및 59는 Gr 픽셀에 대한 적색 및 청색 값들의 보간을 나타내고, 식 60 및 61은 Gb 픽셀에 대한 적색 및 청색 값들의 보간을 나타내고, 식 62는 청색 픽셀에 대한 적색 값의 보간을 나타내고, 식 63은 적색 픽셀에 대한 청색 값의 보간을 나타낸다.
[수학식 58]
Figure 112012040056417-pct00064
(G11이 Gr 픽셀일 때 R'11이 보간된다)
[수학식 59]
Figure 112012040056417-pct00065
(G11이 Gr 픽셀일 때 B'11이 보간된다)
[수학식 60]
Figure 112012040056417-pct00066
(G11이 Gb 픽셀일 때 R'11이 보간된다)
[수학식 61]
Figure 112012040056417-pct00067
(G11이 Gb 픽셀일 때 B'11이 보간된다)
[수학식 62]
Figure 112012040056417-pct00068
(청색 픽셀 B11에 대해 R'11이 보간된다)
[수학식 63]
Figure 112012040056417-pct00069
(적색 픽셀 R11에 대해 B'11이 보간된다)
베이어 이미지 패턴으로부터의 각각의 이미지 픽셀에 대해 누락 컬러 샘플들이 보간되면, 적색, 청색 및 녹색 채널들(예로서, 도 41의 544, 546 및 548) 각각에 대한 컬러 값들의 완전한 샘플을 결합하여 풀 컬러 RGB 이미지를 생성할 수 있다. 예를 들어, 도 32 및 도 33을 다시 참조하면, 원시 픽셀 처리 논리(414)의 출력(424)은 8, 10, 12 또는 14비트 포맷의 RGB 이미지 신호일 수 있다.
이제, 도 46 내지 도 49를 참조하면, 개시되는 실시예들에 따른, 원시 베이어 이미지 패턴을 디모자이킹하기 위한 프로세스들을 나타내는 다양한 흐름도들이 도시되어 있다. 특히, 도 46의 프로세스(572)는 주어진 입력 픽셀(P)에 대해 어떤 컬러 성분들이 보간되어야 하는지의 결정을 설명한다. 프로세스(572)에 의한 결정에 기초하여, 녹색 값을 보간하기 위한 프로세스(584)(도 47), 적색 값을 보간하기 위한 프로세스(596)(도 48) 또는 청색 값을 보간하기 위한 프로세스(608)(도 49) 중 하나 이상이 (예로서, 디모자이킹 논리(452)에 의해) 수행될 수 있다.
도 46으로부터 시작하면, 프로세스(572)는 입력 픽셀(P)이 수신되는 단계 574에서 시작된다. 판정 논리(576)는 입력 픽셀의 컬러를 판정한다. 예를 들어, 이것은 베이어 이미지 패턴 내의 픽셀의 위치에 의존할 수 있다. 따라서, P가 녹색 픽셀(예로서, Gr 또는 Gb)로서 식별되는 경우, 프로세스(572)는 단계 578로 진행하여, P에 대한 보간된 적색 및 청색 값들을 획득한다. 이것은 예를 들어 도 48 및 도 49의 프로세스들(596 및 608) 각각으로 계속하는 것을 포함할 수 있다. P가 적색 픽셀로서 식별되는 경우, 프로세스(572)는 단계 580으로 진행하여, P에 대한 보간된 녹색 및 청색 값들을 획득한다. 이것은 도 47 및 도 49의 프로세스들(584 및 608) 각각을 더 수행하는 것을 포함할 수 있다. 게다가, P가 청색 픽셀로서 식별되는 경우, 프로세스(572)는 단계 582로 진행하여, P에 대한 보간된 녹색 및 적색 값들을 획득한다. 이것은 도 47 및 도 48의 프로세스들(584 및 596) 각각을 더 수행하는 것을 포함할 수 있다. 프로세스들(584, 596 및 608) 각각은 아래에 더 설명된다.
입력 픽셀(P)에 대한 보간된 녹색 값을 결정하기 위한 프로세스(584)가 도 47에 도시되어 있으며, 단계 586-594를 포함한다. 단계 586에서, (예로서, 프로세스(572)로부터) 입력 픽셀(P)이 수신된다. 이어서, 단계 588에서, 5x5 픽셀 블록을 형성하는 이웃 픽셀들의 세트가 식별되며, P는 5x5 블록의 중심이다. 이어서, 단계 590에서, 픽셀 블록을 분석하여, 수평 및 수직 에너지 성분들을 결정한다. 예를 들어, 수평 및 수직 에너지 성분들은 Eh 및 Ev를 각각 계산하기 위한 식 44 및 45에 따라 결정될 수 있다. 설명된 바와 같이, 에너지 성분들(Eh, Ev)은 에지 적응 필터링을 제공하기 위한 가중 계수들로서 사용될 수 있으며, 따라서 최종 이미지 내의 소정의 디모자이킹 아티팩트들의 발생을 줄일 수 있다. 단계 592에서, 저역 통과 필터링 및 고역 통과 필터링을 수평 및 수직 방향으로 적용하여 수평 및 수직 필터링 출력들을 결정한다. 예를 들어, 수평 및 수직 필터링 출력들(Gh, Gv)은 식 49 및 50에 따라 계산될 수 있다. 이어서, 프로세스(572)는 단계 594로 진행하여, 식 51에 나타난 바와 같이, 에너지 성분들(Eh, Ev)로 가중된 Gh 및 Gv의 값들에 기초하여 보간된 녹색 값(G')이 보간된다.
이어서, 도 48의 프로세스(596)와 관련하여, 적색 값들의 보간은 단계 598에서 시작할 수 있으며, 여기서 (예로서, 프로세스(572)로부터) 입력 픽셀(P)이 수신된다. 단계 600에서, 3x3 픽셀 블록을 형성하는 이웃 픽셀들의 세트가 식별되고, P는 3x3 블록의 중심이다. 이어서, 단계 602에서, 3x3 블록 내의 이웃 적색 픽셀들에 대해 저역 통과 필터링이 적용되고, 베이어 이미지 센서에 의해 캡처된 오리지널 녹색 값들 또는 (예로서, 도 47의 프로세스(584)를 통해 결정된) 보간된 값들일 수 있는 같이 위치하는 녹색 이웃 값들에 대해 고역 통과 필터링이 적용된다(단계 604). P에 대한 보간된 적색 값(R')은 단계 606에 나타난 바와 같이 저역 통과 및 고역 통과 필터링 출력들에 기초하여 결정될 수 있다. P의 컬러에 따라, R'은 식 52, 54 또는 56 중 하나에 따라 결정될 수 있다.
청색 값들의 보간과 관련하여, 도 49의 프로세스(608)가 적용될 수 있다. 단계 610 및 612는 프로세스(596)(도 48)의 단계 598 및 600과 대체로 동일하다. 단계 614에서, 3x3 내의 이웃 청색 픽셀들에 저역 통과 필터링이 적용되며, 단계 616에서, 베이어 이미지 센서에 의해 캡처된 오리지널 녹색 값들 또는 (예로서, 도 47의 프로세스(584)를 통해 결정된) 보간된 값들일 수 있는 같이 위치하는 녹색 이웃 값들에 고역 통과 필터링이 적용된다. P에 대한 보간된 청색 값(B')은 단계 618에 나타난 바와 같이 저역 통과 및 고역 통과 필터링 출력들에 기초하여 결정될 수 있다. P의 컬러에 따라, B'는 식 53, 55 또는 57 중 하나에 따라 결정될 수 있다. 게다가, 전술한 바와 같이, 적색 및 청색 값들의 보간은 컬러 차이들(식 52-57) 또는 컬러 비율들(식 58-63)을 이용하여 결정될 수 있다. 다시, 누락 녹색 값들의 보간이 먼저 수행될 수 있으며, 따라서 누락 적색 및 청색 샘플들을 보간할 때 녹색 값들(오리지널 및 보간된 값들 둘다)의 완전한 세트가 이용될 수 있다는 것을 이해해야 한다. 예를 들어, 도 47의 프로세스(584)는 도 48 및 도 49의 프로세스들(596 및 608) 각각을 수행하기 전에 모든 누락 녹색 샘플들을 보간하기 위해 적용될 수 있다.
도 50 내지 도 53을 참조하면, ISP 파이프(82) 내의 원시 픽셀 처리 논리(414)에 의해 처리되는 이미지들의 컬러 도면들의 예들이 제공된다. 도 50은 이미징 장치(30)의 이미지 센서(90)에 의해 캡처될 수 있는 오리지널 이미지 장면(620)을 나타낸다. 도 51은 이미지 센서(90)에 의해 캡처된 원시 픽셀 데이터를 나타낼 수 있는 원시 베이어 이미지(622)를 나타낸다. 전술한 바와 같이, 통상의 디모자이킹 기술들은 이미지 데이터 내의 에지들(예로서, 2개 이상의 컬러의 영역들 사이의 경계들)의 검출에 기초하는 적응 필터링을 제공하지 못할 수 있으며, 이는 바람직하지 않게도 결과적인 재구성된 풀 컬러 RGB 이미지 내에 아티팩트들을 생성할 수 있다. 예를 들어, 도 52는 통상의 디모자이킹 기술들을 이용하여 재구성된 RGB 이미지(624)를 나타내며, 에지(628)에 "체커보드" 아티팩트들(626)과 같은 아티팩트들을 포함할 수 있다. 그러나, 이미지(624)를 전술한 디모자이킹 기술들을 이용하여 재구성된 이미지의 일례일 수 있는 도 53의 RGB 이미지(630)와 비교하면, 도 52에 존재하는 체커보드 아티팩트들(626)이 존재하지 않거나, 적어도 에지(628)에서 그들의 발생이 실질적으로 감소한다. 따라서, 도 50 내지 도 53에 도시된 이미지들은 본 명세서에 개시되는 디모자이킹 기술들이 통상의 방법들보다 뛰어난 적어도 하나의 이점을 예시하기 위한 것이다.
도 32를 다시 참조하면, 이제 RGB 이미지 신호(424)를 출력할 수 있는 원시 픽셀 처리 논리(414)의 동작을 충분히 설명하였으므로, 이제 본 설명은 RGB 처리 논리(416)에 의한 RGB 이미지 신호(424)의 처리에 대한 설명에 집중할 것이다. 도시된 바와 같이, RGB 이미지 신호(424)는 선택 논리(428)로 그리고/또는 메모리(108)로 전송될 수 있다. RGB 처리 논리(416)는 선택 논리(428)의 구성에 따라, 신호(426)로 표시되는, 신호(424)로부터 또는 메모리(108)로부터의 RGB 이미지 데이터일 수 있는 입력 신호(430)를 수신할 수 있다. RGB 이미지 데이터(430)는 (예로서, 컬러 교정 행렬을 이용하는) 컬러 교정, 자동 백색 균형화를 위한 컬러 이득들의 적용은 물론, 전역 톤 맵핑 등을 포함하는 컬러 조정 연산들을 수행하기 위해 RGB 처리 논리(416)에 의해 처리될 수 있다.
RGB 처리 논리(416)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도 54에 도시되어 있다. 도시된 바와 같이, RGB 처리 논리(416)는 이득, 오프셋 및 클램핑(GOC) 논리(640), RGB 컬러 교정 논리(642), GOC 논리(644), RGB 감마 조정 논리 및 컬러 공간 변환 논리(648)를 포함한다. 입력 신호(430)가 먼저 이득, 오프셋 및 클램핑(GOC) 논리(640)에 의해 수신된다. 도시된 실시예에서, GOC 논리(640)는 컬러 교정 논리(642)에 의한 처리 전에 R, G 또는 B 컬러 채널들 중 하나 이상에 대한 자동 백색 균형화를 수행하기 위해 이득들을 적용할 수 있다.
GOC 논리(640)는 베이어 이미지 데이터의 R, B, Gr 및 Gb 성분들이 아니라 RGB 도메인의 컬러 성분들이 처리된다는 점 외에는 원시 픽셀 처리 논리(414)의 GOC 논리(442)와 유사할 수 있다. 동작시, 위의 식 9에 나타난 바와 같이, 현재 픽셀에 대한 입력 값이 먼저 유부호 값 O[c]에 의해 오프셋되고, 이득 G[c]에 의해 승산되며, 여기서 c는 R, G 및 B를 나타낸다. 전술한 바와 같이, 이득 G[c]는 2개의 정수 비트와 14개의 분수 비트를 갖는 16비트 무부호 수(예로서, 2.14 부동 소수점 표현)일 수 있으며, 이득 G[c]에 대한 값은 (예로서, ISP 프론트엔드 블록(80)에서) 통계 처리 동안에 미리 결정될 수 있다. 이어서, 계산된 픽셀 값(Y)(식 9에 기초함)은 식 10에 따라 최소 및 최대 범위로 클립핑된다. 전술한 바와 같이, 변수들 min[c] 및 max[c]는 최소 및 최대 출력 값들 각각에 대한 유부호 16비트 "클립핑 값들"을 나타낼 수 있다. 일 실시예에서, GOC 논리(640)는 각각의 컬러 성분(R, G, B)에 대해 각각 최대 및 최소 위 및 아래로 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수도 있다.
이어서, GOC 논리(640)의 출력은 컬러 교정 논리(642)로 전송된다. 현재 개시되는 기술들에 따르면, 컬러 교정 논리(642)는 컬러 교정 행렬(CCM)을 이용하여 RGB 이미지 데이터에 컬러 교정을 적용하도록 구성될 수 있다. 일 실시예에서, CCM은 3x3 RGB 변환 행렬일 수 있지만, 다른 실시예들에서는 다른 차원들의 행렬들(예로서, 4x3 등)도 사용될 수 있다. 따라서, R, G 및 B 성분들을 갖는 입력 픽셀에 대해 컬러 교정을 수행하는 프로세스는 아래와 같이 표현될 수 있다.
[수학식 64]
Figure 112012040056417-pct00070
여기서, R, G 및 B는 입력 픽셀에 대한 현재의 적색, 녹색 및 청색 값들을 나타내고, CCM00-CCM22는 컬러 교정 행렬의 계수들을 나타내고, R', G' 및 B'는 입력 픽셀에 대한 교정된 적색, 녹색 및 청색 값들을 나타낸다. 따라서, 교정된 컬러 값들은 아래의 식 65-67에 따라 계산될 수 있다.
[수학식 65]
Figure 112012040056417-pct00071
[수학식 66]
Figure 112012040056417-pct00072
[수학식 67]
Figure 112012040056417-pct00073
CCM의 계수들(CCM00-CCM22)은 전술한 바와 같이 ISP 프론트엔드 블록(80)에서의 통계 처리 동안에 결정될 수 있다. 일 실시예에서, 주어진 컬러 채널에 대한 계수들은 이러한 계수들(예로서, 적색 교정에 대한 CCM00, CCM01 및 CCM02)의 합이 1과 동일하도록 선택될 수 있으며, 이는 휘도 및 컬러 균형을 유지하는 데 도움이 될 수 있다. 게다가, 계수들은 통상적으로 양의 이득이 교정되는 컬러에 적용되도록 선택된다. 예를 들어, 적색 교정의 경우, 계수 CCM00은 1보다 클 수 있는 반면, 계수들 CCM01 및 CCM02 중 하나 또는 양자는 1보다 작을 수 있다. 이러한 방식의 계수들의 설정은 결과적인 교정된 R' 값 내의 적색(R) 성분을 강화할 수 있는 반면, 청색(B) 및 녹색(G) 성분의 일부를 줄일 수 있다. 인식하듯이, 이것은 오리지널 베이어 이미지의 획득 동안에 발생할 수 있는 컬러 오버랩의 문제를 해결할 수 있는데, 그 이유는 특정 컬러 픽셀에 대한 필터링된 광의 일부가 상이한 컬러의 이웃 픽셀 내로 "번질" 수 있기 때문이다. 일 실시예에서, CCM의 계수들은 4개의 정수 비트와 12개의 분수 비트를 갖는 16비트 2의 보수 수들(부동 소수점에서 4.12로 표현됨)로서 제공될 수 있다. 게다가, 컬러 교정 논리(642)는 계산된 교정 컬러 값들이 최대 값을 초과하거나 최소 값 아래인 경우에 이 값들의 클립핑을 제공할 수 있다.
이어서, RGB 컬러 교정 논리(642)의 출력이 다른 GOC 논리 블록(644)으로 전송된다. GOC 논리(644)는 GOC 논리(640)와 동일한 방식으로 구현될 수 있으며, 따라서 제공되는 이득, 오프셋 및 클램핑 기능들의 상세한 설명은 여기에서 반복되지 않는다. 일 실시예에서, 컬러 교정에 이어지는 GOC 논리(644)의 적용은 교정된 컬러 값들에 기초하는 이미지 데이터의 자동 백색 균형을 제공할 수 있으며, 또한 적색 대 녹색 및 청색 대 녹색 비율들의 센서 편차들을 조정할 수 있다.
이어서, GOC 논리(644)의 출력은 추가 처리를 위해 RGB 감마 조정 논리(646)로 전송된다. 예를 들어, RGB 감마 조정 논리(646)는 감마 교정, 톤 맵핑, 히스토그램 매칭 등을 제공할 수 있다. 개시되는 실시예들에 따르면, 감마 조정 논리(646)는 입력 RGB 값들의 대응하는 출력 RGB 값들로의 맵핑을 제공할 수 있다. 예를 들어, 감마 조정 논리는 R, G 및 B 성분들 각각에 대해 한 테이블씩, 3개의 탐색 테이블의 세트를 제공할 수 있다. 예를 들어, 각각의 탐색 테이블은 10비트 값들의 256개의 엔트리를 저장하도록 구성될 수 있으며, 각각의 값은 출력 레벨을 나타낸다. 테이블 엔트리들은 입력 픽셀 값들의 범위 내에 균일하게 분포될 수 있으며, 따라서 입력 값이 2개의 엔트리 사이에 있을 때 출력 값이 선형 보간될 수 있다. 일 실시예에서, R, G 및 B에 대한 3개의 탐색 테이블 각각은 복사될 수 있으며, 따라서 탐색 테이블들은 메모리 내에 "더블 버퍼링"되어, 하나의 테이블이 처리 동안에 사용되는 동안, 그의 사본이 갱신되는 것이 가능해진다. 전술한 10비트 출력 값들에 기초하여, 본 실시예에서의 감마 교정 프로세스의 결과로서 14비트 RGB 이미지 신호가 10비트로 효과적으로 다운샘플링된다는 점에 유의해야 한다.
감마 조정 논리(646)의 출력은 메모리(108)로 그리고/또는 컬러 공간 변환 논리(648)로 전송될 수 있다. 컬러 공간 변환(CSC) 논리(648)는 감마 조정 논리(646)로부터의 RGB 출력을 YCbCr 포맷으로 변환하도록 구성될 수 있으며, 여기서 Y는 루마 성분을 나타내고, Cb는 청색 차이 크로마 성분을 나타내고, Cr은 적색 차이 크로마 성분을 나타내며, 이들 각각은 감마 조정 연산 동안 14비트에서 10비트로의 RGB 데이터의 비트 심도 변환의 결과로서 10비트 포맷을 가질 수 있다. 전술한 바와 같이, 일 실시예에서, 감마 조정 논리(646)의 RGB 출력은 10비트로 다운샘플링될 수 있으며, 따라서 CSC 논리(648)에 의해 10비트 YCbCr 값들로 변환될 수 있고, 이어서 이 값들은 아래에 더 설명되는 바와 같은 YCbCr 처리 논리(418)로 전송될 수 있다.
RGB 도메인으로부터 YCbCr 컬러 공간으로의 변환은 컬러 공간 변환 행렬(CSCM)을 이용하여 수행될 수 있다. 예를 들어, 일 실시예에서, CSCM은 3x3 변환 행렬일 수 있다. CSCM의 계수들은 BT.601 및 BT.709 표준들과 같은 공지된 변환 방정식에 따라 설정될 수 있다. 게다가, CSCM 계수들은 입력 및 출력들의 원하는 범위에 기초하여 유연할 수 있다. 따라서, 일부 실시예들에서, CSCM 계수들은 ISP 프론트엔드 블록(80)에서의 통계 처리 동안에 수집된 데이터에 기초하여 결정되고 프로그래밍될 수 있다.
RGB 입력 픽셀에 대해 YCbCr 컬러 공간 변환을 수행하는 프로세스는 다음과 같이 표현될 수 있다.
[수학식 68]
Figure 112012040056417-pct00074
여기서, R, G, B는 (예로서, 감마 조정 논리(646)에 의해 처리된 바와 같은) 10비트 형태의 입력 픽셀에 대한 현재의 적색, 녹색 및 청색 값들을 나타내고, CSCM00-CSCM22는 컬러 공간 변환 행렬의 계수들을 나타내고, Y, Cb, Cr은 입력 픽셀에 대한 결과적인 루마 및 크로마 성분들을 나타낸다. 따라서, Y, Cb, Cr에 대한 값들은 아래의 식 69-71에 따라 계산될 수 있다.
[수학식 69]
Figure 112012040056417-pct00075
[수학식 70]
Figure 112012040056417-pct00076
[수학식 71]
Figure 112012040056417-pct00077
컬러 공간 변환 연산에 이어서, 결과적인 YCbCr 값들은 CSC 논리(648)로부터 신호(432)로서 출력될 수 있으며, 이 신호는 후술하는 바와 같이 YCbCr 처리 논리(418)에 의해 처리될 수 있다.
일 실시예에서, CSCM의 계수들은 4개의 정수 비트 및 12개의 분수 비트를 갖는 16비트 2의 보수 수들(4.12)일 수 있다. 다른 실시예에서, CSC 논리(648)는 Y, Cb, Cr 값들 각각에 오프셋을 적용하고, 결과적인 값들을 최소 및 최대 값으로 클립핑하도록 더 구성될 수 있다. 단지 예로서, YCbCr 값들이 10비트 형태인 것으로 가정하면, 오프셋은 -512 내지 512의 범위 내에 있을 수 있고, 최소 및 최대 값들은 각각 0과 1023일 수 있다.
도 32의 ISP 파이프 논리(82)의 블록도를 다시 참조하면, YCbCr 신호(432)는 선택 논리(436)로 그리고/또는 메모리(108)로 전송될 수 있다. YCbCr 처리 논리(418)는 선택 논리(436)의 구성에 따라, 신호(434)로 지시되는 바와 같은, 신호(432)로부터 또는 메모리(108)로부터의 YCbCr 이미지 데이터일 수 있는 입력 신호(438)를 수신할 수 있다. 이어서, YCbCr 이미지 데이터(438)는 루마 선명화, 크로마 억제, 크로마 잡음 감소는 물론, 휘도, 콘트라스트 및 컬러 조정 등을 위해 YCbCr 처리 논리(418)에 의해 처리될 수 있다. 게다가, YCbCr 처리 논리(418)는 수평 및 수직 방향 모두에서 처리된 이미지 데이터의 감마 맵핑 및 스케일링을 제공할 수 있다.
YCbCr 처리 논리(418)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도 55에 도시되어 있다. 도시된 바와 같이, YCbCr 처리 논리(418)는 이미지 선명화 논리(660), 휘도, 콘트라스트 및/또는 컬러를 조정하기 위한 논리(662), YCbCr 감마 조정 논리(664), 크로마 데시메이션 논리(668) 및 스케일링 논리(670)를 포함한다. YCbCr 처리 논리(418)는 1면, 2면 또는 3면 메모리 구성을 이용하여 4:4: 4, 4:2:2 또는 4:2:0 포맷의 픽셀 데이터를 처리하도록 구성될 수 있다. 게다가, 일 실시예에서, YCbCr 입력 신호(438)는 루마 및 크로마 정보를 10비트 값으로 제공할 수 있다.
인식하듯이, 1면, 2면 또는 3면에 대한 참조는 픽처 메모리에서 사용되는 이미징 평면들의 수를 지칭한다. 예를 들어, 3면 포맷에서, Y, Cb 및 Cr 성분들 각각은 별개의 각각의 메모리 평면들을 사용할 수 있다. 2면 포맷에서, 제1 평면은 루마 성분(Y)을 위해 제공될 수 있고, Cb 및 Cr 샘플들을 인터리빙하는 제2 평면은 크로마 성분들(Cb, Cr)을 위해 제공될 수 있다. 1면 포맷에서는, 메모리 내의 단일 평면이 루마 및 크로마 샘플들로 인터리빙된다. 게다가, 4:4:4, 4:2:2 및 4:2:0 포맷들과 관련하여, 4:4:4 포맷은 3개의 YCbCr 성분 각각이 동일 레이트로 샘플링되는 샘플링 포맷을 지칭한다. 4:2:2 포맷에서, 크로마 성분들(Cb, Cr)은 루마 성분(Y)의 샘플링 레이트의 절반 레이트로 서브샘플링되며, 따라서 크로마 성분들(Cb, Cr)의 해상도는 수평 방향에서 절반으로 감소한다. 유사하게, 4:2:0 포맷은 크로마 성분들(Cb, Cr)을 수직 및 수평 방향들 모두에서 서브샘플링한다.
YCbCr 정보의 처리는 소스 버퍼 내에 정의된 액티브 소스 영역 내에서 이루어질 수 있으며, 액티브 소스 영역은 "유효" 픽셀 데이터를 포함한다. 예를 들어, 도 56을 참조하면, 그 안에 액티브 소스 영역(678)을 정의한 소스 버퍼(676)가 도시되어 있다. 도시된 예에서, 소스 버퍼는 10비트 값들의 소스 픽셀들을 제공하는 4:4:4 1면 포맷을 나타낼 수 있다. 액티브 소스 영역(678)은 루마(Y) 샘플들 및 크로마 샘플들(Cb, Cr)에 대해 개별적으로 지정될 수 있다. 따라서, 액티브 소스 영역(678)은 실제로 루마 및 크로마 샘플들에 대한 다수의 액티브 소스 영역을 포함할 수 있다는 것을 이해해야 한다. 루마 및 크로마에 대한 액티브 소스 영역들(678)의 시작은 소스 버퍼의 베이스 어드레스 (0,0)(680)으로부터의 오프셋에 기초하여 결정될 수 있다. 예를 들어, 루마 액티브 소스 영역에 대한 시작 위치(Lm_X, Lm_Y)(682)는 베이스 어드레스(680)에 대한 x 오프셋(686) 및 y 오프셋(690)에 의해 정의될 수 있다. 유사하게, 크로마 액티브 소스 영역에 대한 시작 위치(Ch_X, Ch_Y)(684)는 베이스 어드레스(680)에 대한 x 오프셋(688) 및 y 오프셋(692)에 의해 정의될 수 있다. 본 예에서, 루마 및 크로마에 대한 y 오프셋들(688, 692)은 각각 동일할 수 있다는 점에 유의해야 한다. 시작 위치(682)에 기초하여, 루마 액티브 서비스 영역은 폭(694) 및 높이(696)에 의해 정의될 수 있으며, 이들 각각은 x 및 y 방향에서의 루마 샘플들의 수를 각각 나타낼 수 있다. 게다가, 시작 위치(684)에 기초하여, 크로마 액티브 소스 영역은 폭(698) 및 높이(700)에 의해 정의될 수 있으며, 이들 각각은 x 및 y 방향에서의 크로마 샘플들의 수를 각각 나타낼 수 있다.
도 57은 루마 및 크로마 샘플들에 대한 액티브 소스 영역들이 2면 포맷에서 어떻게 결정될 수 있는지를 나타내는 예를 더 제공한다. 예를 들어, 도시된 바와 같이, 루마 액티브 소스 영역(678)은 시작 위치(682)에 대한 폭(694) 및 높이(696)에 의해 지정되는 영역에 의해 (베이스 어드레스(680)을 갖는) 제1 소스 버퍼(676) 내에 정의될 수 있다. 크로마 액티브 소스 영역(704)은 시작 위치(684)에 대한 폭(698) 및 높이(700)에 의해 지정되는 영역으로서 (베이스 어드레스(706)을 갖는) 제2 소스 버퍼(702) 내에 정의될 수 있다.
위의 요점들을 염두에 두고, 도 55를 다시 참조하면, YCbCr 신호(438)가 먼저 이미지 선명화 논리(660)에 의해 수신된다. 이미지 선명화 논리(660)는 이미지 내의 텍스처 및 에지 상세들을 향상시키기 위해 픽처 선명화 및 에지 향상 처리를 수행하도록 구성될 수 있다. 인식하듯이, 이미지 선명화는 인식되는 이미지 해상도를 향상시킬 수 있다. 그러나, 이미지 내의 기존 잡음이 텍스처 및/또는 에지들로서 검출되지 않고, 따라서 선명화 프로세스 동안에 증폭되지 않는 것이 일반적으로 바람직하다.
본 기술에 따르면, 이미지 선명화 논리(660)는 YCbCr 신호의 루마(Y) 성분에 대한 멀티 스케일 비선명 마스크 필터를 이용하여 픽처 선명화를 수행할 수 있다. 일 실시예에서는, 상이한 스케일 크기의 둘 이상의 저역 통과 가우스 필터가 제공될 수 있다. 예를 들어, 2개의 가우스 필터를 제공하는 실시예에서는, 비선명 마스크를 생성하기 위해, 제1 반경(x)을 갖는 제1 가우스 필터의 출력(예로서, 가우스 블러링)이 제2 반경(y)을 갖는 제2 가우스 필터의 출력으로부터 감산되며, 여기서 x는 y보다 크다. Y 입력으로부터 가우스 필터들의 출력들을 감산함으로써 추가적인 비선명 마스크들도 얻어질 수 있다. 소정 실시예들에서, 본 기술은 비선명 마스크들을 이용하여 수행될 수 있는 적응성 코어링 임계 비교 연산들도 제공할 수 있으며, 따라서 비교(들)의 결과들에 기초하여, 오리지널 Y 입력 이미지 또는 가우스 필터들 중 하나의 필터의 출력으로서 선택될 수 있는 베이스 이미지에 이득 양들을 추가하여 최종 출력을 생성할 수 있다.
도 58을 참조하면, 현재 개시되는 기술들의 실시예들에 따른, 이미지 선명화를 수행하기 위한 예시적인 논리(710)를 나타내는 블록도가 도시되어 있다. 논리(710)는 입력 루마 이미지(Yin)에 적용될 수 있는 멀티 스케일 비선명 필터링 마스크를 나타낸다. 예를 들어, 도시된 바와 같이, Yin은 2개의 저역 통과 가우스 필터 712(G1) 및 714(G2)에 의해 수신되고 처리된다. 본 예에서, 필터(712)는 3x3 필터일 수 있고, 필터(714)는 5x5 필터일 수 있다. 그러나, 추가 실시예들에서는 상이한 스케일의 필터들을 포함하는 셋 이상의 가우스 필터(예로서, 7x7, 9x9 등)가 사용될 수도 있다는 것을 알아야 한다. 인식하듯이, 저역 통과 필터링 프로세스로 인해, 일반적으로 잡음에 대응하는 고주파 성분들을 G1 및 G2의 출력들로부터 제거하여, "비선명" 이미지들(G1out, G2out)을 생성할 수 있다. 후술하는 바와 같이, 비선명 입력 이미지를 베이스 이미지로 사용하는 것은 선명화 필터의 일부로서의 잡음 저감을 가능하게 한다.
3x3 가우스 필터(712) 및 5x5 가우스 필터(714)는 아래에 나타난 바와 같이 정의될 수 있다.
Figure 112012040056417-pct00078
단지 예로서, 일 실시예에서 가우스 필터들(G1, G2)의 값들은 아래와 같이 선택될 수 있다.
Figure 112012040056417-pct00079
Yin, G1out 및 G2out에 기초하여, 3개의 비선명 마스크(Sharp1, Sharp2, Sharp3)가 생성될 수 있다. Sharp1은 가우스 필터(712)의 비선명 이미지(G1out)로부터 감산된 가우스 필터(714)의 비선명 이미지(G2out)로서 결정될 수 있다. Sharp1은 본질적으로 2개의 저역 통과 필터 사이의 차이이므로, "중간 대역" 마스크로서 지칭될 수 있는데, 그 이유는 G1out 및 G2out 비선명 이미지들 내에서 더 높은 주파수의 잡음 성분들이 이미 필터링되었기 때문이다. 게다가, Sharp2는 입력 루마 이미지(Yin)로부터 G2out를 감산함으로써 계산될 수 있고, Sharp3은 입력 루마 이미지(Yin)로부터 G1out를 감산함으로써 계산될 수 있다. 후술하는 바와 같이, 비선명 마스크들(Sharp1, Sharp2, Sharp3)을 이용하여 적응성 임계 코어링 방안이 적용될 수 있다.
선택 논리(716)를 참조하면, 제어 신호 UnsharpSel에 기초하여 베이스 이미지가 선택될 수 있다. 도시된 실시예에서, 베이스 이미지는 입력 이미지(Yin) 또는 필터링된 출력들(G1out, G2out)일 수 있다. 인식하듯이, 오리지널 이미지들이 (예로서, 거의 신호 분산만큼 높은) 높은 잡음 분산을 가질 때, 선명화에서 오리지널 이미지(Yin)를 베이스 이미지로 사용하는 것은 선명화 동안 잡음 성분들의 제거를 충분히 제공하지 못할 수 있다. 따라서, 특정 임계치의 잡음량이 입력 이미지 내에서 검출될 때, 선택 논리(716)는 잡음을 포함할 수 있는 고주파의 양이 감소된 저역 통과 필터링된 출력들(G1out, G2out) 중 하나를 선택하도록 적응될 수 있다. 일 실시예에서는, ISP 프론트엔드 블록(80)에서의 통계 처리 동안 획득된 통계 데이터를 분석하여 이미지의 잡음량을 결정함으로써, 제어 신호 UnsharpSel의 값을 결정할 수 있다. 예를 들어, 입력 이미지(Yin)가 낮은 잡음량을 가져서, 선명화 프로세스의 결과로서 잡음 발생이 증가할 가능성이 없을 경우, 입력 이미지(Yin)는 베이스 이미지로서 선택될 수 있다(예로서, UnsharpSel = 0). 입력 이미지(Yin)가 현저한 레벨의 잡음을 포함하는 것으로 결정되어, 선명화 프로세스가 잡음을 증폭시킬 수 있는 경우, 필터링된 이미지들(G1out, G2out) 중 하나가 선택될 수 있다(예로서, 각각 UnsharpSel = 1 또는 2). 따라서, 베이스 이미지를 선택하기 위한 적응 기술을 적용함으로써, 논리(710)는 본질적으로 잡음 저감 기능을 제공한다.
이어서, 후술하는 바와 같은 적응성 코어링 임계 방안에 따라 Sharp1, Sharp2 및 Sharp3 마스크들 중 하나 이상에 이득들이 적용될 수 있다. 이어서, 비선명 값들(Sharp1, Sharp2, Sharp3)은 비교기 블록들(718, 720, 722)을 통해 (반드시 각각은 아니지만) 다양한 임계치들(SharpThd1, SharpThd2, SharpThd3)과 비교될 수 있다. 예를 들어, Sharp1 값은 비교기 블록(718)에서 SharpThd1과 항상 비교된다. 비교기 블록(720)과 관련하여, 임계치 SharpThd2는 선택 논리(726)에 따라 Sharp1 또는 Sharp2와 비교될 수 있다. 예를 들어, 선택 논리(726)는 제어 신호 SharpCmp2의 상태에 따라 Sharp1 또는 Sharp2를 선택할 수 있다(예로서, SharpCmp2 = 1은 Sharp1을 선택하고, SharpCmp2 = 0은 Sharp2를 선택한다). 예를 들어, 일 실시예에서, SharpCmp2의 상태는 입력 이미지(Yin)의 잡음 분산/양에 따라 결정될 수 있다.
도시된 실시예에서는, 이미지 데이터가 비교적 낮은 양의 잡음을 갖는 것으로 검출되지 않는 한, SharpCmp2 및 SharpCmp3 값들을 Sharp1을 선택하도록 설정하는 것이 일반적으로 바람직하다. 이것은 가우스 저역 통과 필터들(G1, G2)의 출력들 간의 차이인 Sharp1이 일반적으로 잡음에 덜 민감하고, 따라서 "잡음이 많은" 이미지 데이터 내의 잡음 레벨 분산으로 인해 SharpAmt1, SharpAmt2 및 SharpAmt3 값들이 변하는 양을 줄이는 것을 도울 수 있다. 예를 들어, 오리지널 이미지가 높은 잡음 분산을 갖는 경우, 고주파 성분들 중 일부는 고정 임계치들을 사용할 때 잡히지 않을 수 있으며, 따라서 선명화 프로세스 동안 증폭될 수 있다. 따라서, 입력 이미지의 잡음량이 높은 경우, 잡음량의 일부는 Sharp2에 존재할 수 있다. 그러한 예들에서, SharpCmp2는, 전술한 바와 같이 2개의 저역 통과 필터 출력의 차이임으로 인해 고주파수 양을 줄였고, 따라서 잡음에 덜 민감한 중간 대역 마스크 Sharp1을 선택하기 위해 1로 설정될 수 있다.
인식하듯이, SharpCmp3의 제어 하에 선택 논리(724)에 의한 Sharp1 또는 Sharp3의 선택에 대해 유사한 프로세스가 적용될 수 있다. 일 실시예에서, SharpCmp2 및 SharpCmp3은 디폴트로 1로 설정될 수 있으며(예로서, Sharp1을 사용함), 대체로 낮은 잡음 분산을 갖는 것으로 식별되는 입력 이미지들에 대해서만 0으로 설정될 수 있다. 이것은 비교 값(Sharp1, Sharp2 또는 Sharp3)의 선택이 입력 이미지의 잡음 분산에 기초하여 적응되는 적응성 코어링 임계 방안을 본질적으로 제공한다.
비교기 블록들(718, 720, 722)의 출력들에 기초하여, 선명화된 출력 이미지(Ysharp)는 이득이 부여된 비선명 마스크들을 (예를 들어, 논리(716)를 통해 선택된) 기본 이미지에 적용함으로써 결정될 수 있다. 예를 들어, 먼저 비교기 블록(722)을 참조하면, SharpThd3은 본 명세서에서 "SharpAbs"로서 참조되고, SharpCmp3의 상태에 따라 Sharp1 또는 Sharp3과 동일할 수 있는, 선택 논리(724)에 의해 제공되는 B 입력과 비교된다. SharpAbs가 임계치 SharpThd3보다 큰 경우, 이득 SharpAmt3이 Sharp3에 적용되며, 결과 값이 베이스 이미지에 추가된다. SharpAbs가 임계치 SharpThd3보다 작은 경우, 감쇠된 이득 Att3이 적용될 수 있다. 일 실시예에서, 감쇠된 이득 Att3은 아래와 같이 결정될 수 있다.
[수학식 72]
Figure 112012040056417-pct00080
여기서, SharpAbs는 선택 논리(724)에 의해 결정되는 바와 같은 Sharp1 또는 Sharp3이다. 전체 이득(SharpAmt3) 또는 감쇠된 이득(Att3)과 합산된 베이스 이미지의 선택은 비교기 블록(722)의 출력에 기초하여 선택 논리(728)에 의해 수행된다. 인식하듯이, 감쇠된 이득의 사용은 SharpAbs가 임계치(예로서, SharpThd3)보다 크지 않지만, 이미지의 잡음 분산이 주어진 임계치에 가까운 상황들을 해결할 수 있다. 이것은 선명 및 비선명 픽셀 사이의 현저한 전이들을 줄이는 데 도움이 될 수 있다. 예를 들어, 이미지 데이터가 그러한 상황들에서 이득 감쇠 없이 전송되는 경우, 결과적인 픽셀은 결함 픽셀(예로서, 스턱 픽셀)로서 나타날 수 있다.
이어서, 비교기 블록(720)에 대해 유사한 프로세스가 적용될 수 있다. 예를 들어, SharpCmp2의 상태에 따라, 선택 논리(726)는 Sharp1 또는 Sharp2를 임계치 SharpThd2와 비교되는 비교기 블록(720)에 대한 입력으로서 제공할 수 있다. 비교기 블록(720)의 출력에 따라, 이득 SharpAmt2 또는 SharpAmt2에 기초하는 감쇠된 이득 Att2가 Sharp2에 적용되어, 전술한 선택 논리(728)의 출력에 더해진다. 인식하듯이, 이득 SharpAmt2 및 임계치 SharpThd2가 Sharp1 또는 Sharp2로서 선택될 수 있는 SharpAbs에 대해 적용된다는 점 외에는, 감쇠된 이득 Att2는 위의 식 72와 유사한 방식으로 계산될 수 있다.
이어서, 이득 SharpAmt1 또는 감쇠된 이득 Att1이 Sharp1에 적용되며, 결과 값이 선택 논리(730)의 출력과 합산되어, 선명화된 픽셀 출력(Ysharp)을 생성한다. 이득 SharpAmt1 또는 감쇠된 이득 Att1의 적용의 선택은 Sharp1과 임계치 SharpThd1을 비교하는 비교기 블록(718)의 출력에 기초하여 결정될 수 있다. 다시, 감쇠된 이득 Att1은 이득 SharpAmt1 및 임계치 SharpThd1이 Sharp1에 대해 적용된다는 점 외에는 위의 식 72와 유사한 방식으로 결정될 수 있다. 3개의 마스크 각각을 이용하여 스케일링된 결과적인 선명화된 픽셀 값들은 입력 픽셀(Yin)에 더해져서, 선명화된 출력(Ysharp)을 생성하며, 이 출력은 일 실시예에서 (YCbCr 처리가 10비트 정밀도로 발생하는 것으로 가정하면) 10비트로 클립핑될 수 있다.
인식하듯이, 통상의 비선명 마스킹 기술들과 비교할 때, 본 명세서에서 설명되는 이미지 선명화 기술들은 출력 이미지 내의 잡음을 줄이면서도 텍스처들 및 에지들의 향상을 제공할 수 있다. 특히, 본 기술들은 예를 들어 CMOS 이미지 센서들을 이용하여 캡처된 이미지들이 휴대용 장치들(예로서, 이동 전화들)에 통합된 저해상도 카메라들을 이용하여 낮은 조명 조건들에서 취득된 이미지들과 같이 열악한 신호 대 잡음비를 나타내는 응용들에 적합할 수 있다. 예를 들어, 잡음 분산과 신호 분산이 비슷할 때, 선명화를 위해 고정 임계치를 사용하는 것이 어려운데, 그 이유는 잡음 성분들의 일부가 텍스처 및 에지들과 함께 선명화되기 때문이다. 따라서, 본 명세서에서 제공되는 기술들은 전술한 바와 같이 감소된 잡음량을 또한 나타내는 선명화된 이미지를 제공하기 위하여 비선명 이미지들(예로서, G1out, G2out)로부터 특징들을 추출하기 위한 멀티 스케일 가우스 필터들을 이용하여 입력 이미지로부터 잡음을 필터링할 수 있다.
계속하기 전에, 도시된 논리(710)는 본 기술의 하나의 실시예만을 제공하는 것을 의도한다는 것을 이해해야 한다. 다른 실시예들에서는, 이미지 선명화 논리(660)에 의해 추가적인 또는 더 적은 특징들이 제공될 수 있다. 예를 들어, 일부 실시예들에서는, 감쇠된 이득을 적용하는 것이 아니라, 논리(710)는 베이스 값만을 전송할 수 있다. 게다가, 일부 실시예들은 선택 논리 블록들(724, 726 또는 716)을 포함하지 않을 수 있다. 예를 들어, 비교기 블록들(720, 722)은 선택 논리 블록들(724, 726) 각각으로부터의 선택 출력이 아니라 Sharp2 및 Sharp3 값들만을 각각 수신할 수 있다. 그러한 실시예들은 도 58에 도시된 구현만큼 강건한 선명화 및/또는 잡음 저감 특징들을 제공하지 못할 수 있지만, 그러한 설계 선택들은 비용 및/또는 비즈니스 관련 제한들의 결과일 수 있다는 것을 알아야 한다.
본 실시예에서, 이미지 선명화 논리(660)는 선명화된 이미지 출력(Ysharp)이 얻어지면 에지 향상 및 크로마 억제 특징들도 제공할 수 있다. 이제, 이러한 추가적인 특징들 각각이 아래에 설명된다. 먼저 도 59를 참조하면, 도 58의 선명화 논리(710)로부터 아래쪽에 구현될 수 있는 에지 향상을 수행하기 위한 일 실시예에 따른 예시적인 논리(738)가 도시되어 있다. 도시된 바와 같이, 오리지널 입력 값(Yin)은 에지 검출을 위해 소벨(Sobel) 필터(740)에 의해 처리된다. 소벨 필터(740)는 오리지널 이미지의 (아래에서 "A"로 참조되는) 3x3 픽셀 블록에 기초하여 기울기 값(YEdge)을 결정할 수 있으며, Yin은 3x3 블록의 중심 픽셀이다. 일 실시예에서, 소벨 필터(740)는 오리지널 이미지 데이터를 컨볼빙하여 수평 및 수직 방향의 변화들을 검출함으로써 YEdge를 계산할 수 있다. 이 프로세스는 아래에 식 73-75에 나타나 있다.
Figure 112012040056417-pct00081
[수학식 73]
Figure 112012040056417-pct00082
[수학식 74]
Figure 112012040056417-pct00083
[수학식 75]
Figure 112012040056417-pct00084
여기서, Sx 및 Sy는 각각 수평 및 수직 방향에서의 기울기 에지 강도 검출을 위한 행렬 연산자들을 나타내며, Gx 및 Gy는 각각 수평 및 수직 변화 도함수들을 포함하는 기울기 이미지들을 나타낸다. 따라서, 출력(YEdge)은 Gx와 Gy의 곱으로서 결정된다.
이어서, YEdge가 도 58에서 전술한 바와 같은 중간 대역 Sharp1 마스크와 함께 선택 논리(744)에 의해 수신된다. 제어 신호 EdgeCmp에 기초하여, 비교기 블록(742)에서 Sharp1 또는 YEdge가 임계치 EdgeThd와 비교된다. EdgeCmp의 상태는 예를 들어 이미지의 잡음량에 기초하여 결정될 수 있으며, 따라서 에지 검출 및 향상을 위한 적응성 코어링 임계 방안을 제공할 수 있다. 이어서, 비교기 블록(742)의 출력이 선택 논리(746)에 제공될 수 있으며, 전체 이득 또는 감쇠된 이득이 적용될 수 있다. 예를 들어, 비교기 블록(742)에 대한 선택된 B 입력(Sharp1 또는 YEdge)이 EdgeThd를 초과할 때, YEdge과 에지 이득 EdgeAmt를 승산하여, 적용될 에지 향상의 양을 결정할 수 있다. 비교기 블록(742)에서의 B 입력이 EdgeThd보다 작은 경우, 감쇠된 에지 이득 AttEdge를 적용하여, 에지 향상된 픽셀과 오리지널 픽셀 사이의 현저한 전이들을 방지할 수 있다. 인식하듯이, AttEdge는 위의 식 72에 나타난 것과 유사한 방식으로 계산될 수 있지만, EdgeAmt 및 EdgeThd는 선택 논리(744)의 출력에 따라 Sharp1 또는 YEdge일 수 있는 "SharpAbs"에 적용된다. 따라서, 이득(EdgeAmt) 또는 감쇠된 이득(AttEdge)을 이용하여 향상된 에지 픽셀을 YSharp(도 58의 논리(710)의 출력)에 추가하여, 에지 향상된 출력(Yout)을 얻을 수 있으며, 이 출력은 일 실시예에서 (YCbCr 처리가 10비트 정밀도로 발생하는 것으로 가정하면) 10비트로 클립핑될 수 있다.
이미지 선명화 논리(660)에 의해 제공되는 크로마 억제 특징들과 관련하여, 그러한 특징들은 루마 에지들에서 크로마를 감쇠시킬 수 있다. 일반적으로, 전술한 루마 선명화 및/또는 에지 향상 단계들로부터 얻어지는 값(YSharp, Yout)에 따라 1보다 작은 크로마 이득(감쇠 인자)을 적용함으로써 크로마 억제가 수행될 수 있다. 예를 들어, 도 60은 대응하는 선명화된 루마 값들(YSharp)에 대해 선택될 수 있는 크로마 이득들을 나타내는 곡선(752)을 포함하는 그래프(750)를 도시한다. 그래프(750)에 의해 표시되는 데이터는 YSharp 값들 및 0과 1 사이의 대응하는 크로마 이득들(감쇠 인자)의 탐색 테이블로서 구현될 수 있다. 탐색 테이블들은 곡선(752)을 근사화하는 데 사용된다. 탐색 테이블 내의 2개의 감쇠 인자 사이에 같이 위치하는 YSharp 값들에 대해, 현재의 YSharp 값 위 및 아래의 YSharp 값들에 대응하는 2개의 감쇠 인자에 선형 보간이 적용될 수 있다. 게다가, 다른 실시예들에서, 입력 루마 값은 도 58에서 전술한 바와 같은 논리(710)에 의해 결정된 Sharp1, Sharp2 또는 Sharp3 값들 중 하나 또는 도 59에서 설명된 바와 같은 논리(738)에 의해 결정된 YEdge 값으로서 선택될 수도 있다.
이어서, 이미지 선명화 논리(660)(도 55)의 출력이 휘도, 콘트라스트 및 컬러(BCC) 조정 논리(662)에 의해 처리된다. BCC 조정 논리(662)의 일 실시예를 나타내는 기능 블록도가 도 61에 도시되어 있다. 도시된 바와 같이, 논리(662)는 휘도 및 콘트라스트 처리 블록(760), 전역 색조 제어 블록(762) 및 채도 제어 블록(764)을 포함한다. 현재 설명되는 실시예는 10비트 정밀도의 YCbCr 데이터의 처리를 제공하지만, 다른 실시예들은 상이한 비트 심도들을 사용할 수 있다. 블록들(760, 762, 764) 각각의 기능들이 아래에 설명된다.
먼저 휘도 및 콘트라스트 처리 블록(760)을 참조하면, 먼저 루마(Y) 데이터로부터 오프셋(YOffset)을 감산하여 흑색 레벨을 0으로 설정한다. 이것은 콘트라스트 조정이 흑색 레벨을 변경하지 않는 것을 보증하기 위하여 수행된다. 이어서, 루마 값과 콘트라스트 이득 값을 승산하여 콘트라스트 제어를 적용한다. 예를 들어, 콘트라스트 이득 값은 2개의 정수 비트와 10개의 분수 비트를 갖는 12비트 무부호 수일 수 있으며, 따라서 픽셀 값의 4배까지의 콘트라스트 이득 범위를 제공할 수 있다. 이어서, 루마 데이터로부터의 휘도 오프셋 값을 가산(또는 감산)함으로써 휘도 조정이 구현될 수 있다. 예를 들어, 본 실시예에서의 휘도 오프셋은 -512와 +512 사이의 범위를 가진 10비트 2의 보수 값일 수 있다. 게다가, 콘트라스트를 변경할 때 DC 오프셋의 변화를 방지하기 위하여 휘도 조정은 콘트라스트 조정 후에 수행된다. 이어서, 최초의 YOffset을 조정된 루마 데이터에 다시 더하여 흑색 레벨을 재배치한다.
블록들(762, 764)은 Cb 및 Cr 데이터의 색조 특성들에 기초하여 컬러 조정을 제공한다. 도시된 바와 같이, 먼저 Cb 및 Cr 데이터로부터 (10비트 처리를 가정하면) 512의 오프셋을 감산하여 범위를 대략 0으로 배치한다. 이어서, 아래의 식들에 따라 색조가 조정된다.
[수학식 76]
Figure 112012040056417-pct00085
[수학식 77]
Figure 112012040056417-pct00086
여기서, Cbadj 및 Cradj는 조정된 Cb 및 Cr 값들을 나타내고, θ는 아래와 같이 계산될 수 있는 색조 각도를 나타낸다.
[수학식 78]
Figure 112012040056417-pct00087
위의 연산들은 전역 색조 제어 블록(762) 내의 논리에 의해 묘사되며, 아래의 행렬 연산에 의해 표현될 수 있다.
[수학식 79]
Figure 112012040056417-pct00088
여기서 Ka = cos(θ), Kb = sin(θ)이고, θ는 위의 식 78에서 정의된다.
이어서, 채도 제어 블록(764)에 의해 표시된 바와 같이, Cbadj 및 Cradj에 채도 제어가 적용될 수 있다. 도시된 실시예에서는, Cb 및 Cr 값들 각각에 대해 전역 채도 승수 및 색조 기반 채도 승수를 적용함으로써 채도 제어가 수행된다. 색조 기반 채도 제어는 컬러들의 재생을 개선할 수 있다. 컬러의 색조는 도 62의 컬러 휠 그래프(770)로 표시되는 바와 같은 YCbCr 컬러 공간 내에 표현될 수 있다. 인식하듯이, YCbCr 색조 및 채도 컬러 휠(770)은 HSV 컬러 공간(색조, 채도 및 강도)에서 동일한 컬러 휠을 약 109도 이동시킴으로써 도출될 수 있다. 도시된 바와 같이, 그래프(770)는 0 내지 1의 범위 내의 채도 승수(S)를 나타내는 원주 값들은 물론, 0 내지 360도의 범위 내의 전술한 바와 같은 θ를 나타내는 각도 값들을 포함한다. 각각의 θ는 상이한 컬러를 나타낼 수 있다(예로서, 49도 = 마젠타, 109도 = 적색, 229도 = 녹색 등). 특정 색조 각도 θ에서의 컬러의 색조는 적절한 채도 승수(S)를 선택함으로써 조정될 수 있다.
도 61을 다시 참조하면, (전역 색조 제어 블록(762)에서 계산된) 색조 각도 θ는 Cb 채도 탐색 테이블(766) 및 Cr 채도 탐색 테이블(768)에 대한 인덱스로서 사용될 수 있다. 일 실시예에서, 채도 탐색 테이블들(766, 768)은 0-360도의 색조 범위 내에 균일하게 분포된 256개의 채도 값을 포함할 수 있고(예로서, 제1 탐색 테이블 엔트리는 0도에 있고, 최종 엔트리는 360도에 있다), 주어진 픽셀에서의 채도 값(S)은 현재의 색조 각도 θ의 바로 아래 및 위의 탐색 테이블 내의 채도 값들의 선형 보간을 통해 결정될 수 있다. 전역 채도 값(Cb 및 Cr 각각에 대한 전역 상수일 수 있음)과 결정된 색조 기반 채도 값을 승산함으로써 Cb 및 Cr 성분들 각각에 대한 최종 채도 값이 얻어진다. 따라서, 색조 기반 채도 제어 블록(764)에 나타난 바와 같이, Cbadj 및 Cradj와 이들 각각의 최종 채도 값들을 승산함으로써 최종 교정된 Cb' 및 Cr' 값들이 결정될 수 있다.
이어서, 도 55에 도시된 바와 같이, BCC 논리(662)의 출력이 YCbCr 감마 조정 논리(664)로 전송된다. 일 실시예에서, 감마 조정 논리(664)는 Y, Cb 및 Cr 채널들에 대한 비선형 맵핑 기능들을 제공할 수 있다. 예를 들어, 입력 Y, Cb 및 Cr 값들은 대응하는 출력 값들로 맵핑된다. 다시, YCbCr 데이터가 10비트로 처리되는 것으로 가정하면, 보간된 10비트 256 엔트리 탐색 테이블이 사용될 수 있다. 3개의 그러한 탐색 테이블이 Y, Cb 및 Cr 채널들 각각에 대해 하나씩 제공될 수 있다. 256개의 입력 엔트리 각각은 균일하게 분포될 수 있으며, 현재 입력 인덱스 바로 위 및 아래의 인덱스들로 맵핑된 출력 값들의 선형 보간에 의해 출력이 결정될 수 있다. 일부 실시예들에서는, (10비트 데이터에 대해) 1024개의 엔트리를 갖는 보간되지 않은 탐색 테이블도 사용될 수 있지만, 훨씬 더 높은 메모리 요구들을 가질 수 있다. 인식하듯이, 탐색 테이블들의 출력 값들을 조정함으로써, YCbCr 감마 조정 기능을 또한 사용하여, 흑색 및 백색, 갈색 톤, 네거티브 이미지, 반전 등과 같은 소정의 이미지 필터 효과들을 수행할 수 있다.
이어서, 크로마 데시메이션 논리(668)에 의해 감마 조정 논리(664)의 출력에 크로마 데시메이션이 적용될 수 있다. 일 실시예에서, 크로마 데시메이션 논리(668)는 4:4:4 포맷으로부터 4:2:2 포맷으로 YCbCr 데이터를 변환하기 위해 수평 데시메이션을 수행하도록 구성될 수 있으며, 이러한 변환에서는 크로마(Cr 및 Cb) 정보가 루마 데이터의 절반 레이트로 서브샘플링된다. 단지 예로서, 아래에 나타낸 바와 같이, 절반 대역 랭크조스(Lanczos) 필터와 같은 7탭 저역 통과 필터를 7개 수평 픽셀의 세트에 적용함으로써 데시메이션이 수행될 수 있다.
[수학식 80]
Figure 112012040056417-pct00089
여기서, in(i)는 입력 픽셀(Cb 또는 Cr)을 나타내고, C0-C6은 7탭 필터의 필터링 계수들을 나타낸다. 각각의 입력 픽셀은 크로마 필터링된 샘플들에 대한 유연한 위상 오프셋을 허용하기 위해 독립적인 필터 계수(C0-C6)를 갖는다.
게다가, 일부 예들에서, 크로마 데시메이션은 필터링 없이 수행될 수도 있다. 이것은 소스 이미지가 처음에 4:2:2 포맷으로 수신되었지만, YCbCr 처리를 위해 4:4:4 포맷으로 업샘플링된 때 유용할 수 있다. 이 경우, 결과적인 데시메이션된 4:2:2 이미지는 오리지널 이미지와 동일하다.
이어서, 크로마 데시메이션 논리(668)로부터의 YCbCr 데이터 출력은 YCbCr 처리 블록(418)으로부터 출력되기 전에 스케일링 논리(670)를 이용하여 스케일링될 수 있다. 스케일링 논리(670)의 기능은 도 18과 관련하여 전술한 바와 같은 프론트엔드 픽셀 처리 유닛(130)의 비닝 보상 필터(182) 내의 스케일링 논리(292)의 기능과 유사할 수 있다. 예를 들어, 스케일링 논리(670)는 수평 및 수직 스케일링을 두 단계로서 수행할 수 있다. 일 실시예에서는, 수직 스케일링을 위해 5탭 다상 필터가 사용될 수 있고, 수평 스케일링을 위해 9탭 다상 필터가 사용될 수 있다. 멀티 탭 다상 필터들은 소스 이미지로부터 선택된 픽셀들과 가중 인자(예로서, 필터 계수)를 곱한 후에 출력들을 합산하여 목적 픽셀을 형성할 수 있다. 선택되는 픽셀들은 현재 픽셀 위치 및 필터 탭들의 수에 따라 선택될 수 있다. 예를 들어, 수직 5탭 필터의 경우, 현재 픽셀의 각각의 수직 측의 2개의 이웃 픽셀이 선택될 수 있으며, 수평 9탭 필터의 경우, 현재 픽셀의 각각의 수평 측의 4개의 이웃 픽셀이 선택될 수 있다. 필터링 계수들은 탐색 테이블로부터 제공될 수 있으며, 현재의 픽셀간 분수 위치에 의해 결정될 수 있다. 이어서, 스케일링 논리(670)의 출력(440)이 YCbCr 처리 블록(418)으로부터 출력된다.
도 32를 다시 참조하면, 처리된 출력 신호(440)는 메모리(108)로 전송될 수 있거나, ISP 파이프 처리 논리(82)로부터 사용자에 의한 관찰을 위해 디스플레이 하드웨어(예로서, 디스플레이(28))에 또는 압축 엔진(예로서, 인코더(118))에 이미지 신호(114)로서 출력될 수 있다. 일부 실시예들에서, 이미지 신호(114)는 압축해제되어 디스플레이로 제공되기 전에 그래픽 처리 유닛 및/또는 압축 엔진에 의해 더 처리되어 저장될 수 있다. 게다가, 특히 비디오 이미지 데이터와 관련하여, 디스플레이로 출력되는 이미지 데이터의 버퍼링을 제어하기 위해 하나 이상의 프레임 버퍼가 제공될 수도 있다.
이해하듯이, 특히 결함 픽셀 검출 및 교정, 렌즈 쉐이딩 교정, 디모자이킹 및 이미지 선명화와 관련된 전술한 다양한 이미지 처리 기술들은 본 명세서에서 단지 예로서 제공된다. 따라서, 본 발명은 전술한 예들만으로 한정되는 것으로 해석되지 않아야 한다는 것을 이해해야 한다. 사실상, 본 명세서에서 설명된 예시적인 논리는 다른 실시예들에서 다양한 변경들 및/또는 추가적인 특징들을 가질 수 있다. 게다가, 전술한 기술들은 임의의 적절한 방식으로 구현될 수 있다는 것을 알아야 한다. 예를 들어, 이미지 처리 회로(32)의 컴포넌트들, 특히 ISP 프론트엔드 블록(80) 및 ISP 파이프 블록(82)은 하드웨어(예로서, 적절히 구성된 회로), 소프트웨어를 이용하여(예로서, 하나 이상의 유형의 컴퓨터 판독 가능 매체에 저장된 실행 가능 코드를 포함하는 컴퓨터 프로그램을 통해), 또는 하드웨어 및 소프트웨어 요소들 양자의 결합의 이용을 통해 구현될 수 있다.
전술한 특정 실시예들은 예시적으로 설명되었으며, 이러한 실시예들은 다양한 변경들 및 대안 형태들이 가능할 수 있다는 것을 이해해야 한다. 청구항들은 개시된 특정 형태들로 한정되는 것이 아니라, 본 발명의 사상 및 범위 내에 속하는 모든 변경들, 균등물들 및 대안들을 포함하는 것을 의도한다는 것을 더 이해해야 한다.

Claims (30)

  1. 이미지 데이터를 처리하기 위한 방법으로서,
    이미지 신호 프로세서를 사용하는 단계;
    상기 이미지 데이터의 현재 프레임 내에 공간 위치를 갖는 현재 픽셀을 수신하는 단계 - 상기 이미지 데이터는 이미지 센서를 사용하여 획득됨 -;
    상기 이미지 데이터의 이전 프레임으로부터의 병치된(collocated) 기준 픽셀에 적어도 부분적으로 기초하여 상기 현재 픽셀에 대한 모션 델타 값을 결정하는 단계;
    상기 모션 델타 값 및 상기 현재 픽셀의 상기 공간 위치에 대응하지만 상기 이전 프레임으로부터의 모션 이력 값에 기초하여 모션 테이블 탐색 인덱스를 결정하는 단계;
    상기 모션 테이블 탐색 인덱스를 이용하여 모션 테이블로부터 제1 필터링 계수를 선택하는 단계;
    상기 현재 픽셀에 대응하는 휘도 값을 이용하여 루마(luma) 테이블로부터 감쇠 인자를 선택하는 단계;
    상기 선택된 감쇠 인자 및 상기 제1 필터링 계수에 기초하여 제2 필터링 계수를 결정하는 단계; 및
    상기 이미지 신호 프로세서의 시간 필터를 이용하여, 상기 병치된 기준 픽셀, 상기 현재 픽셀 및 상기 제2 필터링 계수에 기초하여 상기 현재 픽셀에 대응하는 시간 필터링된 출력 값을 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 이미지 신호 프로세서를 사용하여,
    1과 상기 제1 필터링 계수 사이의 차이와 동일한 제1 값을 결정하고;
    상기 제1 값과 상기 이전 프레임으로부터의 상기 모션 이력 값의 곱과 동일한 제2 값을 결정하고;
    상기 모션 델타 값과 상기 제2 값을 합산함으로써
    상기 현재 픽셀의 상기 공간 위치에 대응하는 모션 이력 값을 결정하는 단계
    를 포함하는 방법.
  3. 제1항에 있어서, 상기 모션 델타 값을 결정하는 단계는,
    상기 현재 픽셀과 동일한 컬러를 갖고 픽셀들의 이차원 어레이를 형성하는 픽셀들의 세트를 상기 현재 프레임으로부터 식별하는 단계 - 상기 현재 픽셀은 상기 이차원 어레이의 중심에 위치함 -;
    상기 이전 프레임으로부터 기준 픽셀들의 세트를 식별하는 단계 - 상기 기준 픽셀들의 세트의 각각의 기준 픽셀은 상기 현재 프레임으로부터의 상기 픽셀들의 세트의 각각의 픽셀과 병치됨 -;
    상기 현재 프레임으로부터의 상기 픽셀들의 세트의 각각의 픽셀에 대해, 상기 현재 프레임으로부터의 픽셀의 값과 그에 대응하는 병치된 기준 픽셀 사이의 차이의 절대값과 동일한 절대 델타를 결정하는 단계;
    상기 절대 델타들에 기초하여 상기 모션 델타 값을 결정하는 단계
    를 포함하는 방법.
  4. 제3항에 있어서, 상기 모션 델타 값을 결정하는 단계는,
    동일 컬러 값을 갖고, 상기 현재 픽셀, 상기 현재 픽셀의 제1 측에 인접하는 제2 픽셀 및 상기 현재 픽셀의 제2 측에 인접하는 제3 픽셀을 포함하는 3개의 수평 인접 픽셀의 세트를 식별하는 단계;
    상기 현재 픽셀의 값과 상기 이전 프레임으로부터의 상기 병치된 기준 픽셀의 값 사이의 차이의 절대값과 동일한 제1 값을 결정하는 단계;
    상기 제2 픽셀의 값과 상기 이전 프레임으로부터의 제2의 병치된 기준 픽셀 사이의 차이의 절대값과 동일한 제2 값을 결정하는 단계; 및
    상기 제3 픽셀의 값과 상기 이전 프레임으로부터의 제3의 병치된 기준 픽셀 사이의 차이의 절대값과 동일한 제3 값을 결정하는 단계
    를 포함하고,
    상기 모션 델타 값은 상기 제1, 제2 및 제3 값들 중 최대치로서 선택되는 방법.
  5. 제3항에 있어서, 상기 이미지 데이터는 베이어 원시 이미지 데이터(Bayer raw image data)를 포함하고, 상기 이차원 어레이 내의 각각의 픽셀은 수평, 수직 및 대각선 방향으로 상기 현재 픽셀로부터 2개의 픽셀 위치 떨어져서 공간적으로 배치되는 방법.
  6. 제1항에 있어서, 상기 모션 테이블 탐색 인덱스는 상기 모션 델타 값과 상기 이전 프레임으로부터의 상기 모션 이력 값의 합으로서 계산되는 방법.
  7. 제1항에 있어서, 상기 현재 픽셀에 대한 상기 시간 필터링된 출력 값을 결정하는 단계는,
    상기 현재 픽셀의 값과 상기 병치된 기준 픽셀의 값 사이의 차이를 결정하는 단계;
    상기 차이와 상기 제2 필터링 계수를 곱하여 제1 값을 획득하는 단계; 및
    상기 병치된 기준 픽셀의 값을 상기 제1 값에 더하여 상기 현재 픽셀에 대한 상기 시간 필터링된 출력 값을 결정하는 단계
    를 포함하는 방법.
  8. 이미지 데이터를 시간 필터링하기 위한 방법으로서,
    이미지 신호 프로세서를 사용하는 단계;
    상기 이미지 데이터의 현재 프레임 내에 공간 위치를 갖는 현재 픽셀을 수신하는 단계 - 상기 이미지 데이터는 이미지 센서를 사용하여 획득되고, 둘 이상의 컬러 성분을 포함하며, 각각의 컬러 성분은 각각의 이득과 관련됨 -;
    상기 이미지 데이터의 이전 프레임으로부터의 병치된 기준 픽셀에 적어도 부분적으로 기초하여 상기 현재 픽셀에 대한 모션 델타 값을 결정하는 단계;
    상기 현재 픽셀의 컬러에 대응하는 선택된 이득, 상기 모션 델타 값 및 상기 이전 프레임으로부터의 상기 병치된 기준 픽셀에 대응하는 모션 이력 값에 기초하여 모션 테이블 탐색 인덱스를 결정하는 단계;
    상기 모션 테이블 탐색 인덱스를 이용하여 모션 테이블로부터 제1 필터링 계수를 선택하는 단계;
    상기 현재 픽셀의 값에 상기 선택된 이득을 적용하고 상기 현재 픽셀의 상기 이득이 적용된 값을 루마 테이블 탐색 인덱스로서 이용하여 루마 테이블로부터 감쇠 인자를 선택함으로써, 상기 루마 테이블로부터 상기 감쇠 인자를 선택하는 단계;
    상기 제1 필터링 계수와 상기 선택된 감쇠 인자를 곱하여 제2 필터링 계수를 결정하는 단계; 및
    상기 이미지 신호 프로세서의 시간 필터를 이용하여, 상기 기준 픽셀, 상기 현재 픽셀 및 상기 제2 필터링 계수의 값들에 기초하여 상기 현재 픽셀에 대응하는 시간 필터링된 출력 값을 결정하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 모션 델타 값을 결정하는 단계는,
    상기 현재 픽셀과 동일한 컬러를 갖고 픽셀들의 이차원 어레이를 형성하는 픽셀들의 세트를 상기 현재 프레임으로부터 식별하는 단계 - 상기 현재 픽셀은 상기 이차원 어레이의 중심에 위치함 -;
    상기 이전 프레임으로부터 기준 픽셀들의 세트를 식별하는 단계 - 상기 기준 픽셀들의 세트의 각각의 기준 픽셀은 상기 현재 프레임으로부터의 상기 픽셀들의 세트의 각각의 픽셀과 병치됨 -;
    상기 현재 프레임으로부터의 상기 픽셀들의 세트의 각각의 픽셀에 대해, 상기 현재 프레임으로부터의 픽셀의 값과 그에 대응하는 병치된 기준 픽셀 사이의 차이의 절대값과 동일한 절대 델타를 결정하는 단계;
    상기 모션 델타 값을 상기 절대 델타들의 평균, 상기 절대 델타들의 최대치 또는 상기 절대 델타들의 중앙값 중 적어도 하나로서 결정하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서, 상기 이차원 어레이는 상기 현재 픽셀과 동일한 컬러 값을 갖는 3개의 수평 인접 픽셀의 세트를 포함하고, 상기 현재 픽셀은 상기 3개의 수평 인접 픽셀의 세트의 중심에 공간적으로 배치되고, 상기 모션 델타 값을 결정하는 단계는 상기 모션 델타 값을 상기 현재 픽셀의 값과 상기 이전 프레임으로부터의 상기 병치된 기준 픽셀의 값 사이의 차이의 절대값과 동일한 제1 값, 상기 현재 픽셀에 수평 인접하는 상기 현재 프레임의 제2 픽셀의 값과 상기 이전 프레임으로부터의 대응하는 제2의 병치된 기준 픽셀의 값 사이의 차이의 절대값과 동일한 제2 값, 및 상기 현재 픽셀에 수평 인접하는 상기 현재 프레임의 제3 픽셀과 상기 이전 프레임으로부터의 대응하는 제3의 병치된 기준 픽셀의 값 사이의 차이의 절대값과 동일한 제3 값 중 최대치로서 결정하는 단계를 포함하는 방법.
  11. 제8항에 있어서, 상기 이전 프레임으로부터의 상기 모션 이력 값과 상기 모션 델타 값 사이의 차이를 결정하고, 상기 차이와 상기 제1 필터링 계수를 곱하여 곱을 획득하고, 상기 모션 델타 값과 상기 곱을 합산함으로써 상기 현재 픽셀의 상기 공간 위치에 대응하는 모션 이력 값을 결정하는 단계를 포함하고, 상기 현재 픽셀에 대응하는 상기 모션 이력 값은 상기 이미지 데이터의 후속 프레임 내의 병치된 픽셀에 시간 필터링을 적용하는 데 이용될 수 있는 방법.
  12. 제8항에 있어서, 상기 모션 테이블 탐색 인덱스는 상기 선택된 이득에 상기 모션 델타 값과 상기 이전 프레임으로부터의 상기 모션 이력 값의 합을 곱함으로써 결정되는 방법.
  13. 제8항에 있어서, 상기 현재 픽셀에 대한 상기 시간 필터링된 출력 값을 결정하는 단계는,
    상기 병치된 기준 픽셀의 값과 상기 현재 픽셀의 값 사이의 차이를 결정하는 단계;
    상기 차이와 상기 제2 필터링 계수를 곱하여 곱을 획득하는 단계; 및
    상기 현재 픽셀의 값을 상기 곱에 더하여 상기 현재 픽셀에 대한 상기 시간 필터링된 출력 값을 결정하는 단계
    를 포함하는 방법.
  14. 이미지 신호 처리 시스템으로서,
    이미지 센서를 사용하여 획득된 멀티컬러 원시 이미지 데이터를 시간 필터링하기 위한 시간 필터
    를 포함하고,
    상기 시간 필터는,
    상기 원시 이미지 데이터의 현재 프레임으로부터 현재 픽셀을 수신하고 - 상기 현재 픽셀은 특정 컬러 및 상기 현재 프레임 내의 공간 위치를 가짐 -;
    병치된 기준 픽셀에 기초하여 상기 현재 픽셀에 대한 모션 델타 값을 결정하고;
    상기 모션 델타 값, 상기 병치된 기준 픽셀에 대응하는 상기 원시 이미지 데이터의 이전 프레임으로부터의 모션 이력 값, 및 상기 현재 픽셀의 컬러와 관련된 이득에 기초하여 결정된 모션 테이블 탐색 인덱스를 이용하여 모션 테이블로부터 제1 필터링 계수를 선택하고;
    상기 현재 픽셀의 컬러와 관련된 상기 이득을 상기 현재 픽셀의 값에 적용하고, 그 결과를 루마 테이블 탐색 인덱스로서 이용하여 루마 테이블로부터 상기 현재 픽셀에 대한 감쇠 인자를 선택함으로써 상기 감쇠 인자를 선택하고;
    제2 필터링 계수를 상기 감쇠 인자와 상기 제1 필터링 계수의 곱으로서 결정하고;
    상기 병치된 기준 픽셀, 상기 현재 픽셀 및 상기 제2 필터링 계수의 값들에 기초하여 상기 현재 픽셀에 대응하는 시간 필터링된 출력 값을 제공하도록
    구성되는 이미지 신호 처리 시스템.
  15. 제14항에 있어서, 상기 시간 필터는 상기 병치된 기준 픽셀의 값과 상기 현재 픽셀의 값 사이의 차이를 결정하고, 상기 차이와 상기 제2 필터링 계수를 곱하여 곱을 결정하고, 상기 곱과 상기 현재 픽셀의 값을 합산함으로써 상기 시간 필터링된 출력 값을 제공하도록 구성되는 이미지 신호 처리 시스템.
  16. 전자 장치로서,
    적어도 하나의 디지털 이미지 센서;
    상기 적어도 하나의 디지털 이미지 센서와 통신하도록 구성된 인터페이스;
    메모리 장치;
    상기 적어도 하나의 디지털 이미지 센서에 의해 획득된 원시 이미지 데이터에 대응하는 하나 이상의 이미지 장면들의 시각적 표현을 표시하도록 구성된 디스플레이 장치; 및
    이미지 신호 처리 시스템
    을 포함하고,
    상기 이미지 신호 처리 시스템은,
    필터링 계수들의 세트를 저장하도록 구성된 모션 테이블;
    휘도 감쇠 인자들의 세트를 저장하도록 구성된 루마 테이블; 및
    특정 컬러 및 상기 원시 이미지 데이터의 현재 프레임 내의 공간 위치를 갖는 현재 픽셀에 대해, 상기 원시 이미지 데이터의 이전 프레임으로부터의 병치된 기준 픽셀에 기초하여 상기 현재 픽셀에 대한 모션 델타 값을 결정하고, 상기 모션 델타 값, 상기 병치된 기준 픽셀에 대응하는 상기 원시 이미지 데이터의 상기 이전 프레임으로부터의 모션 이력 값, 및 상기 현재 픽셀의 컬러와 관련된 이득에 기초하여 결정된 제1 탐색 인덱스를 이용하여 상기 모션 테이블에 저장된 상기 필터링 계수들의 세트로부터 제1 필터링 계수를 선택하고, 상기 현재 픽셀의 컬러와 관련된 상기 이득을 상기 현재 픽셀의 값에 적용함으로써 결정된 제2 탐색 인덱스를 이용하여 상기 루마 테이블에 저장된 상기 휘도 감쇠 인자들의 세트로부터 휘도 감쇠 인자를 선택하고, 제2 필터링 계수를 상기 감쇠 인자와 상기 제1 필터링 계수의 곱으로서 결정하고, 상기 병치된 기준 픽셀, 상기 현재 픽셀 및 상기 제2 필터링 계수의 값들에 기초하여 상기 현재 픽셀에 대응하는 시간 필터링된 출력 값을 제공함으로써 시간 필터링을 적용하기 위해 상기 원시 이미지 데이터를 처리하도록 구성된 시간 필터
    를 포함하는 전자 장치.
  17. 제16항에 있어서, 상기 시간 필터는 시간 필터링된 원시 이미지 데이터를 상기 이미지 신호 처리 시스템의 이미지 처리 파이프라인으로 출력하도록 구성되는 전자 장치.
  18. 제16항에 있어서, 상기 적어도 하나의 디지털 이미지 센서는 상기 전자 장치와 통합된 디지털 카메라 및 상기 인터페이스를 통해 상기 전자 장치에 결합된 외부 디지털 카메라 중 적어도 하나를 포함하는 전자 장치.
  19. 제16항에 있어서, 상기 인터페이스는 이동 산업 프로세서 인터페이스(MIPI) 및 표준 이동 이미징 아키텍처(SMIA) 인터페이스 중 적어도 하나를 포함하는 전자 장치.
  20. 제16항에 있어서, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 이동 셀룰러 전화, 및 휴대용 미디어 플레이어 중 적어도 하나를 포함하는 전자 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020127012992A 2009-10-20 2010-10-12 이미지 신호 처리를 위한 시간 필터링 기술들 KR101269344B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/582,414 US8638342B2 (en) 2009-10-20 2009-10-20 System and method for demosaicing image data using weighted gradients
US12/582,414 2009-10-20
US12/789,821 2010-05-28
US12/789,821 US8593483B2 (en) 2009-10-20 2010-05-28 Temporal filtering techniques for image signal processing
PCT/US2010/052272 WO2011049779A1 (en) 2009-10-20 2010-10-12 Temporal filtering techniques for image signal processing

Publications (2)

Publication Number Publication Date
KR20120062941A KR20120062941A (ko) 2012-06-14
KR101269344B1 true KR101269344B1 (ko) 2013-05-31

Family

ID=43357194

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127012992A KR101269344B1 (ko) 2009-10-20 2010-10-12 이미지 신호 처리를 위한 시간 필터링 기술들

Country Status (8)

Country Link
US (1) US8593483B2 (ko)
EP (1) EP2491528B1 (ko)
JP (1) JP5643320B2 (ko)
KR (1) KR101269344B1 (ko)
CN (1) CN102640184B (ko)
AU (1) AU2010308351B2 (ko)
TW (1) TWI430654B (ko)
WO (1) WO2011049779A1 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274583B2 (en) * 2009-06-05 2012-09-25 Apple Inc. Radially-based chroma noise reduction for cameras
US8284271B2 (en) * 2009-06-05 2012-10-09 Apple Inc. Chroma noise reduction for cameras
US20120128244A1 (en) * 2010-11-19 2012-05-24 Raka Singh Divide-and-conquer filter for low-light noise reduction
US8755625B2 (en) 2010-11-19 2014-06-17 Analog Devices, Inc. Component filtering for low-light noise reduction
US8699813B2 (en) 2010-11-19 2014-04-15 Analog Devices, Inc Adaptive filter for low-light noise reduction
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
JP4970606B1 (ja) * 2011-03-31 2012-07-11 株式会社東芝 テレビジョン装置及び電子機器
WO2012169174A1 (ja) * 2011-06-08 2012-12-13 パナソニック株式会社 画像処理装置および画像処理方法
US8217945B1 (en) 2011-09-02 2012-07-10 Metric Insights, Inc. Social annotation of a single evolving visual representation of a changing dataset
US9076252B2 (en) * 2012-01-05 2015-07-07 Qualcomm Incorporated Image perceptual attribute adjustment
US9143704B2 (en) 2012-01-20 2015-09-22 Htc Corporation Image capturing device and method thereof
US8687922B2 (en) * 2012-02-24 2014-04-01 Apple Inc. Parallel scaler processing
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
JP5806706B2 (ja) * 2012-10-15 2015-11-10 株式会社沖データ 画像読み取り装置及び画像形成装置
CN103974058A (zh) * 2013-01-24 2014-08-06 鸿富锦精密工业(深圳)有限公司 影像噪声分析系统及方法
CN104103037B (zh) * 2013-04-02 2017-02-15 杭州海康威视数字技术股份有限公司 一种图像增强处理方法和装置
US9165352B2 (en) * 2013-06-10 2015-10-20 Xerox Corporation Precipitation removal for vision-based parking management systems
CN104349080B (zh) * 2013-08-07 2018-12-14 联想(北京)有限公司 一种图像处理方法及电子设备
CN104572388B (zh) * 2013-10-15 2017-01-25 鸿富锦精密工业(深圳)有限公司 数据滤波系统、数据滤波装置及方法
CN105100550A (zh) * 2014-04-21 2015-11-25 展讯通信(上海)有限公司 阴影校正方法及装置、成像系统
US9413951B2 (en) 2014-07-31 2016-08-09 Apple Inc. Dynamic motion estimation and compensation for temporal filtering
US9479695B2 (en) * 2014-07-31 2016-10-25 Apple Inc. Generating a high dynamic range image using a temporal filter
US9514525B2 (en) 2014-07-31 2016-12-06 Apple Inc. Temporal filtering for image data using spatial filtering and noise history
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
US9462189B2 (en) 2014-07-31 2016-10-04 Apple Inc. Piecewise perspective transform engine
US9374526B2 (en) 2014-07-31 2016-06-21 Apple Inc. Providing frame delay using a temporal filter
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
KR102224851B1 (ko) 2014-12-11 2021-03-08 삼성전자주식회사 서브 픽셀 보간을 수행하는 이미지 처리 장치 및 이미지 처리 시스템
WO2016103481A1 (ja) * 2014-12-26 2016-06-30 キヤノン株式会社 撮像装置の駆動方法、信号処理方法
US10021396B1 (en) * 2014-12-30 2018-07-10 Ambarella, Inc. Motion detection based on observing several pictures
CN104796583B (zh) * 2015-05-14 2017-11-21 上海兆芯集成电路有限公司 相机噪声模型产生及使用方法以及使用该方法的装置
US9927862B2 (en) 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
US9787922B2 (en) 2015-08-31 2017-10-10 Apple Inc. Pixel defect preprocessing in an image signal processor
US10467496B2 (en) * 2015-08-31 2019-11-05 Apple Inc. Temporal filtering of independent color channels in image data
US9754182B2 (en) * 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
US10440299B2 (en) 2015-09-04 2019-10-08 Apple Inc. Correcting pixel defects based on defect history in an image processing pipeline
CN105306941B (zh) * 2015-11-12 2019-05-24 成都图影视讯科技有限公司 一种视频编码方法
CN105676291B (zh) * 2016-01-11 2017-04-19 中国海洋大学 一种基于同相轴优化追踪的多次波匹配衰减方法
US10277844B2 (en) * 2016-04-20 2019-04-30 Intel Corporation Processing images based on generated motion data
US9992467B2 (en) * 2016-06-30 2018-06-05 Apple Inc. Parallel computer vision and image scaling architecture
US9979942B2 (en) 2016-06-30 2018-05-22 Apple Inc. Per pixel color correction filtering
DE102016217792A1 (de) * 2016-09-16 2018-03-22 Xion Gmbh Justiersystem
CN106651787B (zh) * 2016-11-08 2019-08-23 深圳市安健科技股份有限公司 基于x射线的hdr图像合成方法及系统
WO2018128896A1 (en) * 2017-01-03 2018-07-12 Flir Systems, Inc. Image noise reduction using spectral transforms
CN108810552B (zh) 2017-04-28 2021-11-09 华为技术有限公司 图像预测方法和相关产品
GB2568039B (en) * 2017-10-30 2020-10-28 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2568038B (en) 2017-10-30 2020-12-02 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2567881B (en) 2017-10-30 2021-02-10 Imagination Tech Ltd Systems and methods for processing a stream of data values
JP6995629B2 (ja) * 2018-01-05 2022-01-14 日本電信電話株式会社 演算回路
TWI712989B (zh) * 2018-01-16 2020-12-11 瑞昱半導體股份有限公司 影像處理方法及影像處理裝置
GB2572571B (en) * 2018-04-03 2021-09-01 Apical Ltd Image processing
US10951875B2 (en) * 2018-07-03 2021-03-16 Raxium, Inc. Display processing circuitry
CN110830680B (zh) * 2018-08-08 2021-03-16 瑞昱半导体股份有限公司 确定滤波器系数的方法
EP3654064B1 (en) * 2018-11-16 2021-01-13 Bayerische Motoren Werke Aktiengesellschaft Apparatus and method for characterizing an object based on measurement samples from one or more location sensors
KR102185668B1 (ko) 2019-01-30 2020-12-02 스노우 주식회사 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템
KR102152346B1 (ko) * 2019-01-30 2020-09-04 스노우 주식회사 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템
JP2020155907A (ja) * 2019-03-20 2020-09-24 株式会社朋栄 自動色補正処理方法及び自動色補正処理装置
CN112312046B (zh) * 2019-07-26 2023-05-23 瑞昱半导体股份有限公司 应用于图像感测电路的像素通道不平衡补偿方法与系统
CN111311503A (zh) * 2019-11-13 2020-06-19 深圳大学 一种夜晚低亮度图像增强系统
CN110852976B (zh) * 2019-11-22 2023-04-18 昆明物理研究所 一种红外图像明暗不均匀校正方法及计算机程序产品
WO2021102947A1 (zh) * 2019-11-29 2021-06-03 深圳市大疆创新科技有限公司 图像信号处理装置、方法、相机以及可移动平台
US11508037B2 (en) 2020-03-10 2022-11-22 Samsung Electronics Co., Ltd. Systems and methods for image denoising using deep convolutional networks
CN111487257A (zh) * 2020-04-01 2020-08-04 武汉精立电子技术有限公司 一种显示面板异常像素实时检测修复方法及装置
US11488285B2 (en) * 2020-04-13 2022-11-01 Apple Inc. Content based image processing
CN112837323A (zh) * 2021-01-12 2021-05-25 全时云商务服务股份有限公司 一种基于人像分割的视频处理方法、系统和存储介质
US11798135B2 (en) * 2021-02-24 2023-10-24 Gn Audio A/S Method and system for three-dimensional noise reduction and contrast enhancement of images
US11509836B1 (en) 2021-12-29 2022-11-22 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11704891B1 (en) 2021-12-29 2023-07-18 Insight Direct Usa, Inc. Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data
CN114511469B (zh) * 2022-04-06 2022-06-21 江苏游隼微电子有限公司 一种图像智能降噪先验检测方法
US11778167B1 (en) 2022-07-26 2023-10-03 Insight Direct Usa, Inc. Method and system for preprocessing optimization of streaming video data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070071343A1 (en) 2005-09-29 2007-03-29 Jay Zipnick Video acquisition with integrated GPU processing
JP2008530863A (ja) 2005-02-04 2008-08-07 クゥアルコム・インコーポレイテッド 適応型色彩補間

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US38896A (en) * 1863-06-16 Improvement in sheep-racks
US39213A (en) * 1863-07-14 Improvement in the manufacture of alkaline carbonates
US38911A (en) * 1863-06-16 Van eensselaee powell
US4589089A (en) 1978-05-30 1986-05-13 Bally Manufacturing Corporation Computer-peripheral interface for a game apparatus
US4475172A (en) 1978-05-30 1984-10-02 Bally Manufacturing Corporation Audio/visual home computer and game apparatus
US4799677A (en) 1983-09-02 1989-01-24 Bally Manufacturing Corporation Video game having video disk read only memory
US4979738A (en) 1983-12-06 1990-12-25 Midway Manufacturing Corporation Constant spatial data mass RAM video display system
US4605961A (en) 1983-12-22 1986-08-12 Frederiksen Jeffrey E Video transmission system using time-warp scrambling
US4694489A (en) 1983-12-22 1987-09-15 Frederiksen Jeffrey E Video transmission system
US4682360A (en) 1983-12-22 1987-07-21 Frederiksen Jeffrey E Video transmission system
US4742543A (en) 1983-12-22 1988-05-03 Frederiksen Jeffrey E Video transmission system
US4743959A (en) 1986-09-17 1988-05-10 Frederiksen Jeffrey E High resolution color video image acquisition and compression system
US5227863A (en) 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
US5272529A (en) 1992-03-20 1993-12-21 Northwest Starscan Limited Partnership Adaptive hierarchical subband vector quantization encoder
US5247355A (en) 1992-06-11 1993-09-21 Northwest Starscan Limited Partnership Gridlocked method and system for video motion compensation
JPH08502865A (ja) 1992-09-01 1996-03-26 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化
JP2931520B2 (ja) 1993-08-31 1999-08-09 三洋電機株式会社 単板式カラービデオカメラの色分離回路
US6122411A (en) 1994-02-16 2000-09-19 Apple Computer, Inc. Method and apparatus for storing high and low resolution images in an imaging device
US5694227A (en) 1994-07-15 1997-12-02 Apple Computer, Inc. Method and apparatus for calibrating and adjusting a color imaging system
US5764291A (en) 1994-09-30 1998-06-09 Apple Computer, Inc. Apparatus and method for orientation-dependent camera exposure and focus setting optimization
US5496106A (en) 1994-12-13 1996-03-05 Apple Computer, Inc. System and method for generating a contrast overlay as a focus assist for an imaging device
JPH08181910A (ja) * 1994-12-26 1996-07-12 Hitachi Ltd 画像処理装置
US5629734A (en) 1995-03-17 1997-05-13 Eastman Kodak Company Adaptive color plan interpolation in single sensor color electronic camera
US5640613A (en) 1995-04-14 1997-06-17 Apple Computer, Inc. Corrective lens assembly
US6011585A (en) 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
JPH09261463A (ja) 1996-03-26 1997-10-03 Casio Electron Mfg Co Ltd 画像データ補正装置
US5867214A (en) 1996-04-11 1999-02-02 Apple Computer, Inc. Apparatus and method for increasing a digital camera image capture rate by delaying image processing
US5809178A (en) 1996-06-11 1998-09-15 Apple Computer, Inc. Elimination of visible quantizing artifacts in a digital image utilizing a critical noise/quantizing factor
US6031964A (en) 1996-06-20 2000-02-29 Apple Computer, Inc. System and method for using a unified memory architecture to implement a digital camera device
US6157394A (en) 1996-08-29 2000-12-05 Apple Computer, Inc. Flexible digital image processing via an image processing chain with modular image processors
US6028611A (en) 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
US5991465A (en) 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US5790705A (en) 1996-09-13 1998-08-04 Apple Computer, Inc. Compression techniques for substantially lossless digital image data storage
US6141044A (en) 1996-09-26 2000-10-31 Apple Computer, Inc. Method and system for coherent image group maintenance in memory
US5979738A (en) * 1998-02-05 1999-11-09 E.P. Paton Electric Welding Machine for flash-butt welding of rails
US6198514B1 (en) 1998-02-27 2001-03-06 Apple Computer, Inc. Color misconvergence measurement using a common monochrome image
JP3730419B2 (ja) * 1998-09-30 2006-01-05 シャープ株式会社 映像信号処理装置
US6954193B1 (en) 2000-09-08 2005-10-11 Apple Computer, Inc. Method and apparatus for correcting pixel level intensity variation
US6745012B1 (en) 2000-11-17 2004-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive data compression in a wireless telecommunications system
US7110455B2 (en) * 2001-08-14 2006-09-19 General Instrument Corporation Noise reduction pre-processor for digital video using previously generated motion vectors and adaptive spatial filtering
US7170938B1 (en) 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
US6959044B1 (en) 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US6933971B2 (en) 2002-05-14 2005-08-23 Kwe International, Inc. Reconstruction of color components in digital image processing
US7277595B1 (en) 2003-01-06 2007-10-02 Apple Inc. Method and apparatus for digital image manipulation to remove image blemishes
WO2004088992A1 (ja) 2003-03-28 2004-10-14 Olympus Corporation 画像処理装置及び画像処理プログラム
US7310371B2 (en) 2003-05-30 2007-12-18 Lsi Corporation Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction
US7327786B2 (en) 2003-06-02 2008-02-05 Lsi Logic Corporation Method for improving rate-distortion performance of a video compression system through parallel coefficient cancellation in the transform
US7324595B2 (en) 2003-09-22 2008-01-29 Lsi Logic Corporation Method and/or apparatus for reducing the complexity of non-reference frame encoding using selective reconstruction
US7602849B2 (en) 2003-11-17 2009-10-13 Lsi Corporation Adaptive reference picture selection based on inter-picture motion measurement
US7362804B2 (en) 2003-11-24 2008-04-22 Lsi Logic Corporation Graphical symbols for H.264 bitstream syntax elements
JP2005159957A (ja) 2003-11-28 2005-06-16 Mega Chips Corp 色補間方法
US7362376B2 (en) 2003-12-23 2008-04-22 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7345708B2 (en) 2003-12-23 2008-03-18 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7515765B1 (en) 2004-01-30 2009-04-07 Apple Inc. Image sharpness management
US7502505B2 (en) 2004-03-15 2009-03-10 Microsoft Corporation High-quality gradient-corrected linear interpolation for demosaicing of color images
US7231587B2 (en) 2004-03-29 2007-06-12 Lsi Corporation Embedded picture PSNR/CRC data in compressed video bitstream
US7620103B2 (en) 2004-12-10 2009-11-17 Lsi Corporation Programmable quantization dead zone and threshold for standard-based H.264 and/or VC1 video encoding
US7612804B1 (en) 2005-02-15 2009-11-03 Apple Inc. Methods and apparatuses for image processing
US7949044B2 (en) 2005-04-12 2011-05-24 Lsi Corporation Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus
US8031766B2 (en) 2005-08-02 2011-10-04 Lsi Corporation Performance adaptive video encoding with concurrent decoding
US8208540B2 (en) 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US7903739B2 (en) 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US7881384B2 (en) 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8155194B2 (en) 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
US8045618B2 (en) 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
JP2007060153A (ja) * 2005-08-23 2007-03-08 Nikon Corp 履歴付加装置、電子カメラ、および画像処理プログラム
JP2007086559A (ja) * 2005-09-26 2007-04-05 Pentax Corp カメラ
US7711200B2 (en) 2005-09-29 2010-05-04 Apple Inc. Video acquisition with integrated GPU processing
US7596280B2 (en) 2005-09-29 2009-09-29 Apple Inc. Video acquisition with integrated GPU processing
US7551214B2 (en) 2005-12-01 2009-06-23 Megachips Lsi Solutions Inc. Pixel interpolation method
US7830426B2 (en) 2005-12-29 2010-11-09 Micron Technology, Inc. Method and apparatus providing color interpolation in color filter arrays using edge detection and correction terms
JP5183880B2 (ja) 2006-03-14 2013-04-17 ソニー株式会社 カラーフィルタおよび撮像素子
JP5053373B2 (ja) 2006-06-29 2012-10-17 トムソン ライセンシング 適応ピクセルベースのフィルタリング
US7893975B2 (en) 2006-10-13 2011-02-22 Apple Inc. System and method for processing images using predetermined tone reproduction curves
US7773127B2 (en) 2006-10-13 2010-08-10 Apple Inc. System and method for RAW image processing
JP4284628B2 (ja) 2006-12-15 2009-06-24 ソニー株式会社 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
JP2008252767A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd ノイズ低減装置、ノイズ低減方法、及び電子機器
US20080253652A1 (en) 2007-04-10 2008-10-16 Aricent Inc. Method of demosaicing a digital mosaiced image
JP2010147508A (ja) * 2007-04-13 2010-07-01 Panasonic Corp 撮影装置及び再生装置
US8724895B2 (en) 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
JP5095434B2 (ja) * 2008-02-08 2012-12-12 株式会社リコー 撮像装置および画像処理装置
US8405727B2 (en) 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
CN101448077B (zh) * 2008-12-26 2010-06-23 四川虹微技术有限公司 一种自适应视频图像3d降噪方法
CN101551901B (zh) * 2009-05-25 2010-12-29 中国人民解放军国防科学技术大学 动态遮挡图像的实时补偿和增强方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530863A (ja) 2005-02-04 2008-08-07 クゥアルコム・インコーポレイテッド 適応型色彩補間
US20070071343A1 (en) 2005-09-29 2007-03-29 Jay Zipnick Video acquisition with integrated GPU processing

Also Published As

Publication number Publication date
CN102640184A (zh) 2012-08-15
WO2011049779A1 (en) 2011-04-28
JP5643320B2 (ja) 2014-12-17
TW201143378A (en) 2011-12-01
AU2010308351B2 (en) 2014-07-10
JP2013508853A (ja) 2013-03-07
TWI430654B (zh) 2014-03-11
KR20120062941A (ko) 2012-06-14
EP2491528A1 (en) 2012-08-29
CN102640184B (zh) 2015-04-08
US20110090351A1 (en) 2011-04-21
US8593483B2 (en) 2013-11-26
AU2010308351A1 (en) 2012-05-17
EP2491528B1 (en) 2016-08-31

Similar Documents

Publication Publication Date Title
KR101269344B1 (ko) 이미지 신호 처리를 위한 시간 필터링 기술들
KR101303415B1 (ko) 가중된 기울기들을 이용하여 이미지 데이터를 디모자이킹하기 위한 시스템 및 방법
KR101258039B1 (ko) 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법
US8525895B2 (en) Binning compensation filtering techniques for image signal processing
US8294781B2 (en) System and method for sharpening image data
US8472712B2 (en) System and method for applying lens shading correction during image processing
KR101283248B1 (ko) 듀얼 이미지 센서 이미지 처리 시스템 및 방법

Legal Events

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

Payment date: 20160419

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 7