KR20120062940A - 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법 - Google Patents

이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20120062940A
KR20120062940A KR1020127012945A KR20127012945A KR20120062940A KR 20120062940 A KR20120062940 A KR 20120062940A KR 1020127012945 A KR1020127012945 A KR 1020127012945A KR 20127012945 A KR20127012945 A KR 20127012945A KR 20120062940 A KR20120062940 A KR 20120062940A
Authority
KR
South Korea
Prior art keywords
pixel
input pixel
image
value
defect
Prior art date
Application number
KR1020127012945A
Other languages
English (en)
Other versions
KR101258039B1 (ko
Inventor
가이 코테
제프리 이. 프레데릭센
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20120062940A publication Critical patent/KR20120062940A/ko
Application granted granted Critical
Publication of KR101258039B1 publication Critical patent/KR101258039B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/68Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects
    • H04N25/683Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects by defect estimation performed on the scene signal, e.g. real time or on the fly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/62Detection or reduction of noise due to excess charges produced by the exposure, e.g. smear, blooming, ghost image, crosstalk or leakage between pixels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/63Noise processing, e.g. detecting, correcting, reducing or removing noise applied to dark current

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Abstract

이미지 센서(90) 내의 결함 픽셀들의 검출 및 교정을 위해 다양한 기법들이 제공된다. 일 실시예에 따르면, 알려진 정적 결함들의 위치들을 저장하는 정적 결함 테이블이 제공되며, 현재 픽셀의 위치가 정적 결함 테이블과 비교된다. 현재 픽셀의 위치가 정적 결함 테이블에서 발견되는 경우, 현재 픽셀은 정적 결함으로서 식별되고, 동일한 색의 이전 픽셀값을 이용하여 교정된다. 현재 픽셀이 정적 결함으로서 식별되지 않는 경우, 동적 결함 검출 프로세스(444)는 현재 픽셀과 이웃 픽셀 세트 간의 픽셀 대 픽셀 기울기를 동적 결함 임계치와 비교하는 단계를 포함한다. 동적 결함이 검출되는 경우, 최소 기울기를 나타내는 방향으로 현재 픽셀의 대향 측들에 2개의 이웃 픽셀의 값을 보간함으로써 동적 결함을 교정하기 위한 교체 값이 결정될 수 있다.

Description

이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING AND CORRECTING DEFECTIVE PIXELS IN AN IMAGE SENSOR}
본 발명은 일반적으로는 디지털 이미징 장치들, 구체적으로는 디지털 이미징 장치의 이미지 센서를 이용하여 얻은 이미지 데이터를 처리하기 위한 시스템들 및 방법들에 관한 것이다.
본 섹션은 아래에 설명되고 청구되는 본 기술들의 다양한 양태들과 관련될 수 있는 다양한 기술 양태들을 독자에게 소개하는 것을 의도한다. 본 설명은 본 발명의 다양한 양태들의 더 나은 이해를 돕기 위한 배경 정보를 독자에게 제공하는 데 도움이 될 것으로 생각한다. 따라서, 이러한 진술들은 이를 고려하여 이해되어야 하며, 종래 기술의 인정으로서 이해되지 않아야 한다.
근년에, 디지털 이미징 장치들은 적어도 부분적으로는 평범한 소비자가 그러한 장치들을 점점 더 감당할 수 있게 됨으로 인해 점점 더 대중화되어 왔다. 게다가, 현재 시장에서 입수 가능한 다수의 독립형 디지털 카메라에 더하여, 디지털 이미징 장치들이 데스크탑 또는 노트북 컴퓨터, 셀룰러 폰 또는 휴대용 미디어 플레이어와 같은 다른 전자 장치의 일부로서 통합되는 것이 일반적이다.
이미지 데이터를 획득하기 위하여, 대부분의 디지털 이미징 장치들은 이미지 센서를 포함하며, 이미지 센서는 이미지 센서에 의해 검출된 광을 전기 신호로 변환하도록 구성된 다수의 광 검출 요소(예로서, 포토 검출기)를 제공한다. 이미지 센서는 컬러 정보를 캡처하기 위하여 이미지 센서에 의해 캡처된 광을 필터링하는 컬러 필터 어레이도 제공할 수 있다. 이미지 센서에 의해 캡처된 이미지 데이터는 그 후 이미지 처리 파이프라인에 의해 처리될 수 있으며, 이미지 처리 파이프라인은 다수의 다양한 이미지 처리 연산들을 이미지 데이터에 적용하여, 모니터와 같은 디스플레이 장치 상에서 보이도록 표시될 수 있는 풀 컬러 이미지를 생성할 수 있다.
통상의 이미지 처리 기술들은 일반적으로 관찰자를 객관적으로도, 주관적으로도 즐겁게 하는 관찰 가능한 이미지를 생성하는 것을 목표로 하지만, 그러한 통상의 기술들은 이미징 장치 및/또는 이미지 센서에 의해 유발되는 이미지 데이터 내의 에러들 및/또는 왜곡들을 적절히 해결하지 못할 수 있다. 예컨대, 제조 결함들 또는 작동 실패에 기인할 수 있는 이미지 센서 상의 결함 픽셀들은 광 레벨들을 정확히 감지하지 못할 수 있고, 교정되지 않을 경우에는 결과적인 처리된 이미지 내에 나타나는 아티팩트들로서 보일 수 있다. 게다가, 렌즈의 제조에 있어서의 결함들에 기인할 수 있는 이미지 센서의 에지들에서의 광 강도 저하는 특성 측정들에 악영향을 미칠 수 있으며, 전반적인 광 강도가 불균일한 이미지를 생성할 수 있다. 이미지 처리 파이프라인은 이미지를 선명하게 하기 위한 하나 이상의 프로세스들도 수행할 수 있다. 그러나, 통상의 선명화 기술들은 이미지 신호 내의 현존 잡음을 충분히 제거하지 못할 수 있거나, 에지들로부터의 잡음과 이미지 내의 텍스처 영역들을 구별하지 못할 수 있다. 그러한 예들에서, 통상의 선명화 기술들은 이미지 내의 잡음의 발생을 실제로 증가시킬 수 있으며, 이는 일반적으로 바람직하지 않다.
이미지 센서에 의해 캡처된 이미지 데이터에 적용될 수 있는 또 하나의 이미지 처리 연산은 디모자이킹 연산이다. 컬러 필터 어레이는 일반적으로 센서 픽셀당 한 파장의 컬러 데이터를 제공하므로, 풀 컬러 이미지(예로서, RGB 이미지)를 재생하기 위하여 일반적으로 각각의 컬러 채널에 대해 컬러 데이터의 풀 세트가 보간된다. 일반적으로, 통상의 디모자이킹 기술들은 일반적으로 소정 타입의 고정 임계치에 따라 수평 또는 수직 방향에서 누락된 컬러 데이터에 대한 값들을 보간한다. 그러나, 그러한 통상의 디모자이킹 기술들은 이미지 내의 에지들의 위치들 및 방향을 충분히 설명하지 못할 수 있으며, 이는 특히 이미지 내의 대각 에지들을 따라 풀 컬러 이미지 내에 유입되는 앨리어싱, 체커보드 아티팩트 또는 레인보우 아티팩트와 같은 에지 아티팩트들을 생성할 수 있다.
따라서, 디지털 카메라 또는 다른 이미징 장치를 이용하여 얻은 디지털 이미지를 처리할 때 결과적인 이미지의 외관을 개선하기 위해서는 다양한 사항들이 다루어져야 한다. 특히, 아래의 본 발명의 소정 양태들은 간단히 전술한 단점들 중 하나 이상을 해결할 수 있다.
본 명세서에서 개시되는 소정 실시예들의 요약이 아래에 제공된다. 이러한 양태들은 독자에게 그러한 소정 실시예들의 간단한 요약을 제공하기 위해 설명될 뿐이며, 이러한 양태들은 본 발명의 범위를 한정하는 것을 의도하지 않는다는 것을 이해해야 한다. 사실상, 본 발명은 아래에 설명되지 않을 수도 있는 다양한 양태들을 포함할 수 있다.
본 발명은 디지털 이미지 센서를 이용하여 얻은 이미지 데이터를 처리하기 위한 다양한 기술들을 제공한다. 본 발명의 양태들에 따르면, 그러한 하나의 기술은 이미지 센서의 결함 픽셀들의 검출 및 교정과 관련될 수 있다. 일 실시예에 따르면, 알려진 정적 결함들의 위치들을 저장하는 정적 결함 테이블이 제공된다. 그러한 실시예들에서, 결함 픽셀 교정 및 검출은 2개의 스테이지에서 발생할 수 있다. 제1 스테이지에서, 이미지 처리 프레임 내의 현재 픽셀의 위치가 정적 결함 테이블에 저장된 정보와 비교된다. 현재 픽셀의 위치가 정적 결함 테이블에서 발견되는 경우, 현재 픽셀은 정적 결함으로 식별되고, 동일 컬러의 이전 픽셀의 값으로서 선택될 수 있는 교체 값을 이용하여 교정된다. 현재 픽셀이 정적 결함으로 식별되지 않은 경우, 제2 스테이지는 현재 픽셀과 한 세트의 이웃 픽셀들 간의 픽셀 대 픽셀 기울기들을 동적 결함 임계치와 비교함으로써 현재 픽셀이 동적 결함인지를 결정할 수 있다. 최소 기울기를 갖는 방향으로 현재 픽셀의 대향 측들에 2개의 이웃 픽셀의 값을 보간함으로써 동적 결함을 교정하기 위한 교체 값이 결정될 수 있다.
본 발명의 양태들에 따르면, 또 하나의 이미지 처리 기술은 이미지 선명화를 제공하기 위한 멀티-스케일 비선명 마스크의 적용과 관련될 수 있다. 일 실시예에 따르면, 디지털 이미지 센서에 의해 얻어진 이미지 데이터에 대해 휘도 이미지가 먼저 얻어진다. 상이한 반경의 적어도 2개의 가우스 필터를 포함할 수 있는 멀티-스케일 비선명 마스크를 휘도 데이터에 적용하여, 복수의 비선명 값을 결정할 수 있다. 비선명 값들 각각은 대응하는 임계치와 비교될 수 있고, 그들 각각의 임계치들을 초과하는 비선명 값들에 대해 대응하는 이득이 적용되며, 이득이 적용된 비선명 값이 휘도 이미지 또는 가우스 필터들 중 하나의 가우스 필터의 출력으로서 선택될 수 있는 기본 이미지에 추가된다. 각각의 이득이 적용된 비선명 값과 기본 이미지를 합산하여 최종적인 선명화된 출력을 생성할 수 있다. 다른 실시예에서는, 그들 각각의 임계치들을 초과하지 않는 비선명 값들에 감소된 이득이 적용될 수 있다. 추가 실시예들은 에지 향상 및 크로마(chroma) 억제를 위해 선명화된 이미지의 추가 처리도 제공할 수 있다.
본 발명의 추가 양태에 따르면, 또 하나의 이미지 처리 기술은 디지털 이미지 센서에 의해 얻어진 이미지 데이터를 디모자이킹하여 풀 컬러 이미지를 생성하는 것과 관련될 수 있다. 일 실시예에서, 이미지 센서는 베이어 컬러 필터 어레이를 포함할 수 있으며, 결과적인 베이어 이미지 패턴에 디모자이킹이 적용될 수 있다. 그러한 실시예들에서는, 적응성 에지 검출 필터를 사용하여 수직 및 수평 에너지들을 결정함으로써, 누락된 녹색 값들이 각각의 비녹색 픽셀에 대해 보간된다. 개시되는 실시예들에 따르면, 수직 및 수평 에너지들을 결정할 때 녹색, 적색 및 청색 성분들이 에지 검출에 기여할 수 있다. 현재 비녹색 픽셀에 대한 보간된 녹색 값의 수직 및 수평 성분들은 수직 및 수평 에너지들을 이용하여 가중되며, 보간된 녹색 값을 결정하기 위해 가중된 값들이 합산된다. 그러한 실시예들에 따르면, 보간된 녹색 값들은 누락된 적색 및 청색 샘플들을 보간하는 데 사용될 수 있다.
본 발명의 또 다른 양태에 따르면, 렌즈 쉐이딩(lens shading) 불규칙을 교정하기 위한 기술이 제공된다. 일 실시예에서, 수평 및 수직 방향들로 분포된 복수의 그리드 포인트를 갖는 이득 그리드에 대한 현재 픽셀의 위치가 결정된다. 현재 픽셀의 위치가 그리드 포인트에 대응하는 경우, 그 그리드 포인트와 관련된 렌즈 쉐이딩 이득이 현재 픽셀에 적용된다. 현재 픽셀의 위치가 4개의 그리드 포인트 사이에 있는 경우, 양선형 보간(bi-linear interpolation)을 4개의 그리드 포인트에 적용하여, 보간된 렌즈 쉐이딩 이득을 결정한다. 추가 실시예에서, 이미지의 중심으로부터 현재 픽셀까지의 방사상 거리를 결정하고, 현재 픽셀의 컬러에 기초하는 전역 이득 파라미터를 방사상 거리에 곱함으로써 방사상 렌즈 쉐이딩 이득이 결정된다. 이어서, 방사상 렌즈 쉐이딩 이득이 결정된 렌즈 쉐이딩 그리드 이득 또는 렌즈 쉐이딩 보간 이득과 함께 현재 픽셀에 적용된다.
전술한 특징들의 다양한 향상들이 본 발명의 다양한 양태들과 관련하여 존재할 수 있다. 추가적인 특징들도 이러한 다양한 양태들에서 보간될 수도 있다. 이러한 향상들 및 추가적인 특징들은 개별적으로 또는 임의의 조합으로 존재할 수 있다. 예를 들어, 예시되는 실시예들 중 하나 이상과 관련하여 후술하는 다양한 특징들은 본 발명의 전술한 양태들 중 임의의 양태 내에 단독으로 또는 임의의 조합으로 포함될 수 있다. 다시, 전술한 간단한 요약은 청구되는 발명에 대한 한정이 아니라 본 발명의 실시예들의 소정 양태들 및 상황들에 독자가 친숙해지게 하는 것을 의도할 뿐이다.
본 발명의 다양한 양태들은 도면들을 참조하여 아래의 상세한 설명을 읽을 때 더 잘 이해될 것이다.
도 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은 본 발명의 양태들에 따른, 도 10의 ISP 프론트엔드 픽셀 처리 유닛 내에 구현될 수 있는 비닝(binning) 보상 필터의 일 실시예를 나타내는 더 상세한 도면이다.
도 14는 일 실시예에 따른, 도 13의 비닝 보상 필터를 사용하여 이미지 데이터를 스케일링하기 위한 프로세스를 나타낸다.
도 15는 본 발명의 양태들에 따른, 도 8에 도시된 바와 같은 ISP 프론트엔드 처리 논리 내에 구현될 수 있는 통계 처리 유닛의 일 실시예를 나타내는 더 상세한 블록도이다.
도 16은 본 발명의 양태들에 따른, 도 15의 통계 처리 유닛에 의한 통계 처리 동안에 결함 픽셀들을 검출하고 교정하기 위한 기술들을 적용할 때 고려될 수 있는 다양한 이미지 프레임 경계 예들을 나타낸다.
도 17은 일 실시예에 따른, 통계 처리 동안에 결함 픽셀 검출 및 교정을 수행하기 위한 프로세스를 나타내는 흐름도이다.
도 18은 이미징 장치의 통상적인 렌즈에 대한 픽셀 위치 대 광 강도를 나타내는 삼차원 프로파일을 나타낸다.
도 19는 렌즈 쉐이딩 불규칙의 결과일 수 있는, 이미지를 가로지르는 불균일한 광 강도를 나타내는 사진이다.
도 20은 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정 영역 및 이득 그리드를 포함하는 원시(raw) 이미징 프레임의 그래픽 예시이다.
도 21은 본 발명의 양태들에 따른, 4개의 경계 그리드 이득 포인트에 의해 둘러싸인 이미지 픽셀에 대한 이득 값의 보간을 나타낸다.
도 22는 본 기술의 일 실시예에 따른, 렌즈 쉐이딩 교정 연산 동안에 이미징 픽셀들에 적용될 수 있는 보간된 이득 값들을 결정하기 위한 프로세스를 나타내는 흐름도이다.
도 23은 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정을 수행할 때 도 18에 도시된 광 강도 특성들을 나타내는 이미지에 적용될 수 있는 보간된 이득 값들을 나타내는 삼차원 프로파일이다.
도 24는 본 발명의 양태들에 따른, 렌즈 쉐이딩 교정 연산이 적용된 후에 광 강도의 향상된 균일성을 보이는 도 19로부터의 사진을 나타낸다.
도 25는 일 실시예에 따른, 렌즈 쉐이딩 교정을 위한 방사상 이득 성분을 결정하기 위해 현재 픽셀과 이미지의 중심 사이의 방사상 거리가 어떻게 계산되고 사용될 수 있는지를 그래픽으로 나타낸다.
도 26은 본 기술의 일 실시예에 따른, 렌즈 쉐이딩 교정 연산 동안에 이미징 픽셀들에 적용될 수 있는 총 이득을 결정하기 위해 이득 그리드로부터의 방사상 이득들 및 보간된 이득들을 사용하는 프로세스를 나타내는 흐름도이다.
도 27은 본 발명의 양태들에 따른, 도 7의 ISP 파이프 처리 논리의 일 실시예를 나타내는 블록도이다.
도 28은 본 발명의 양태들에 따른, 도 27의 ISP 파이프 처리 논리 내에 구현될 수 있는 원시 픽셀 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 29는 본 발명의 양태들에 따른, 도 28에 도시된 원시 픽셀 처리 블록에 의한 처리 동안에 결함 픽셀들을 검출하고 교정하기 위한 기술들을 적용할 때 고려될 수 있는 다양한 이미지 프레임 경계 예들을 나타낸다.
도 30-32는 일 실시예에 따른, 도 28의 원시 픽셀 처리 블록에서 수행될 수 있는 결함 픽셀들을 검출하고 교정하기 위한 다양한 프로세스들을 나타내는 흐름도들이다.
도 33은 본 발명의 양태들에 따른, 도 28의 원시 픽셀 처리 논리에 의한 처리 동안에 녹색 불균일 교정 기술들을 적용할 때 보간될 수 있는 베이어 이미지 센서의 2x2 픽셀 블록 내의 2개의 녹색 픽셀의 위치를 나타낸다.
도 34는 본 발명의 양태들에 따른, 잡음 저감을 위한 수평 필터링 프로세스의 일부로서 사용될 수 있는 중심 픽셀 및 관련 수평 이웃 픽셀들을 포함하는 픽셀들의 세트를 나타낸다.
도 35는 본 발명의 양태들에 따른, 잡음 저감을 위한 수직 필터링 프로세스의 일부로서 사용될 수 있는 중심 픽셀 및 관련 수직 이웃 픽셀들을 포함하는 픽셀들의 세트를 나타낸다.
도 36은 풀 컬러 RGB 이미지를 생성하기 위해 디모자이킹이 어떻게 원시 베이어 이미지 패턴에 적용될 수 있는지를 나타내는 간이 흐름도이다.
도 37은 일 실시예에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 녹색 값들을 보간하기 위해 수평 및 수직 에너지 성분들을 도출할 수 있는 베이어 이미지 패턴의 픽셀들의 세트를 나타낸다.
도 38은 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 녹색 값의 수평 성분을 결정하기 위해 필터링을 적용할 수 있는 수평 픽셀들의 세트를 나타낸다.
도 39는 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 녹색 값의 수직 성분을 결정하기 위해 필터링을 적용할 수 있는 수직 픽셀들의 세트를 나타낸다.
도 40은 본 기술의 양태들에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 보간된 적색 및 청색 값들을 결정하기 위해 필터링을 적용할 수 있는 다양한 3x3 픽셀 블록들을 나타낸다.
도 41-44는 일 실시예에 따른, 베이어 이미지 패턴의 디모자이킹 동안에 녹색, 적색 및 청색 값들을 보간하기 위한 다양한 프로세스들을 나타내는 흐름도들이다.
도 45는 이미지 센서에 의해 캡처되고, 본 명세서에서 개시되는 디모자이킹 기술들의 양태들에 따라 처리될 수 있는 오리지널 이미지 장면을 나타낸다.
도 46은 도 45에 도시된 이미지 장면의 베이어 이미지 패턴을 나타낸다.
도 47은 도 46의 베이어 이미지 패턴에 기초하여 통상의 디모자이킹 기술을 이용하여 재구성된 RGB 이미지를 나타낸다.
도 48은 본 명세서에서 개시되는 디모자이킹 기술들의 양태들에 따라 도 46의 베이어 이미지 패턴으로부터 재구성된 RGB 이미지를 나타낸다.
도 49는 본 발명의 양태들에 따른, 도 27의 ISP 파이프 처리 논리 내에 구현될 수 있는 RGB 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 50은 본 발명의 양태들에 따른, 도 27의 ISP 파이프 처리 논리 내에 구현될 수 있는 YCbCr 처리 블록의 일 실시예를 나타내는 더 상세한 도면이다.
도 51은 본 발명의 양태들에 따른, 1-평면 포맷을 이용하여 소스 버퍼 내에 정의되는 바와 같은 루마(luma) 및 크로마에 대한 액티브 소스 영역들의 그래픽 표현이다.
도 52는 본 발명의 양태들에 따른, 2-평면 포맷을 이용하여 소스 버퍼 내에 정의되는 바와 같은 루마 및 크로마에 대한 액티브 소스 영역들의 그래픽 표현이다.
도 53은 일 실시예에 따른, 도 50에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 이미지 선명화 논리를 나타내는 블록도이다.
도 54는 일 실시예에 따른, 도 50에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 에지 향상 논리를 나타내는 블록도이다.
도 55는 본 발명의 양태들에 따른, 크로마 감쇠 인자들과 선명화된 루마 값들의 관계를 나타내는 그래프이다.
도 56은 일 실시예에 따른, 도 50에 도시된 바와 같은 YCbCr 처리 블록 내에 구현될 수 있는 이미지 휘도, 콘트라스트 및 컬러(BCC) 조정 논리를 나타내는 블록도이다.
도 57은 도 56에 도시된 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)의 하우징에 대해 내부에서 또는 외부에서 액세스될 수 있다. 예를 들어, 일 실시예에서, 확장 카드(24)는 보안 디지털(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®의 일 모델일 수 있다.
또한, 도 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)의 출력은 또한 디스플레이(28)에 의해 판독되기 전에(신호(119)) 이미지 데이터를 인코딩하기 위해 압축 엔진(118)에 제공될 수 있다(신호(117)). 예를 들어, 압축 엔진 또는 "인코더"(118)는 정지 이미지들을 인코딩하기 위한 JPEG 압축 엔진 또는 비디오 이미지들을 인코딩하기 위한 H.264 압축 엔진 또는 이들의 소정 조합일 수 있다. ISP 파이프 논리(82)에서 제공될 수 있는 이미지 처리 연산들에 관한 추가적인 정보는 도 27-57과 관련하여 아래에 더 상세히 설명될 것이다. 또한, 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 내지 26은 ISP 프론트엔드 논리(80)의 다양한 실시예들 및 양태들의 설명과 관련될 수 있고, 본원의 도 27 내지 57은 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), 원시 프레임 영역(152) 및 액티브 영역(154)을 포함할 수 있다. 센서 프레임(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을 참조하면, 일 실시예에 따른, 도 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)의 공간 위치들이 도시되어 있다. 일 실시예에서, 모션 델타는 이러한 오리지널 및 기준 픽셀들에 기초하여 아래의 공식을 이용하여 계산될 수 있다.
Figure pct00001
도 11을 다시 참조하면, 모션 델타 값이 결정되면, (예로서, 공간 위치 (j,i)에서의) 현재 픽셀에 대한 모션 델타 d(t)와 모션 이력 입력 h(t-1)을 합산함으로써, 모션 테이블(M)(192)로부터 필터 계수 K를 선택하는 데 사용될 수 있는 모션 인덱스 탐색이 계산될 수 있다. 예를 들어, 필터 계수 K는 다음과 같이 결정될 수 있다.
Figure pct00002
게다가, 모션 이력 출력 h(t)는 아래의 공식을 이용하여 결정될 수 있다.
Figure pct00003
이어서, 현재 입력 픽셀 x(t)의 휘도를 이용하여 루마 테이블(L)(194) 내의 루마 인덱스 탐색을 생성할 수 있다. 일 실시예에서, 루마 테이블은 0과 1 사이일 수 있고 루마 인덱스에 기초하여 선택될 수 있는 감쇠 인자들을 포함할 수 있다. 아래의 식에 나타난 바와 같이 제1 필터 계수 K와 루마 감쇠 인자를 곱하여 제2 필터 계수 K'가 계산될 수 있다.
Figure pct00004
이어서, 결정된 K'에 대한 값이 시간 필터(180)에 대한 필터링 계수로서 사용될 수 있다. 전술한 바와 같이, 시간 필터(180)는 2-탭 필터일 수 있다. 게다가, 시간 필터(180)는 이전의 필터링된 프레임을 이용하는 무한 임펄스 응답(IIR) 필터로서 또는 이전의 오리지널 프레임을 이용하는 유한 임펄스 응답(FIR) 필터로서 구성될 수 있다. 시간 필터(180)는 아래의 식을 이용하여, 현재 입력 픽셀 x(t), 기준 픽셀 r(t-1) 및 필터 계수 K'를 이용하여, 필터링된 출력 픽셀 y(t)(Yout)를 계산할 수 있다.
Figure pct00005
전술한 바와 같이, 도 11에 도시된 시간 필터링 프로세스(190)는 픽셀별로 수행될 수 있다. 일 실시예에서는, 모든 컬러 성분들(예로서, R, G, B)에 대해 동일한 모션 테이블(M) 및 루마 테이블(L)이 사용될 수 있다. 게다가, 일부 실시예들은 예를 들어 제어 논리(84)로부터의 제어 신호에 응답하여 시간 필터링을 바이패스할 수 있는 바이패스 메커니즘을 제공할 수 있다.
이어서, 시간 필터(180)의 출력은 비닝 보상 필터(BCF)(182)로 전송될 수 있으며, 이 필터는 이미지 픽셀들을 처리하여 컬러 샘플들의 비선형 배치를 보상할 수 있으며, 따라서 컬러 샘플들의 선형 배치에 의존하는 ISP 파이프 논리(82)에서의 후속 이미지 처리 연산들(예로서, 디모자이킹 등)이 올바르게 행해질 수 있다. 게다가, BCF(182)는 또한 수직 및/또는 수평 스케일링과 같은 하나 이상의 스케일링 연산들을 적용함으로써 픽셀 데이터를 처리할 수 있다. 도 13은 개시되는 일 실시예에 따른, 스케일링 논리(214) 및 차동 분석기(216)를 포함할 수 있는 비닝 보상 필터(182)의 블록도를 나타내고, 도 14는 스케일링 연산들을 수행하는 데 사용될 수 있는 프로세스(220)를 나타낸다.
도 13에 도시된 바와 같이, 스케일링 논리(214)는 아래에 더 설명되는 바와 같이 출력 FEProcOut(109)를 생성할 수 있으며, 이 출력은 전술한 바와 같이 추가 처리를 위해 ISP 파이프 논리(82)로 전송될 수 있다. 일 실시예에서, BCF(182)에 의해 수행되는 스케일링 연산(들)은 소스 이미지로부터 픽셀들을 선택하고 각각의 픽셀과 가중 인자를 곱한 후에 픽셀 값들을 합산하여 목적 픽셀을 형성할 수 있는 하나 이상의 멀티-탭 다상 필터들을 이용하여 수행될 수 있다. 알듯이, 스케일링 연산들에서 사용되는 픽셀들의 선택은 현재 픽셀 위치 및 필터들에 의해 제공되는 탭들의 수에 적어도 부분적으로 의존할 수 있다. 게다가, 필터링 연산들은 동일한 컬러 픽셀들을 이용하여 컬러 성분마다 수행될 수 있으며, 가중 인자들(또는 계수들)은 탐색 테이블로부터 얻어지고, 현재의 픽셀간 분수 위치에 기초하여 결정될 수 있다.
도시된 실시예에서, 차동 분석기(216)는 디지털 차동 분석기(DDA)일 수 있으며, 스케일링 연산들 동안에 현재 픽셀 위치를 제어하도록 구성될 수 있다. 단지 예로서, DDA(216)는 정수부에서 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(216)에 추가하여, 다음 픽셀의 위치를 결정할 수 있고, 후속 픽셀에 대해 필터링/스케일링 연산들이 반복될 수 있다. 이것은 도 14에 도시된 프로세스(220)에 의해 더 설명된다. 예를 들어, 단계 222에서 시작하여, DDA(216)가 초기화되고, 현재 픽셀 위치가 식별된다. 전술한 바와 같이, DDA(216)가 2의 보수 고정 소수점 수를 저장하기 위한 32비트 레지스터를 포함하는 경우, 현재 픽셀 위치는 레지스터 데이터의 상위 12 비트(정수부)에 의해 지정될 수 있다.
단계 224에서, 수직 및 수평 스케일링 양자를 위해 멀티 탭 필터링이 수행된다. 예를 들어, 수직 및 수평 스케일링을 위해 3탭 및 5탭 다상 필터들이 각각 사용되는 것으로 가정하고, 이미지 센서(90)가 베이어 컬러 필터 패턴(도 2)을 사용하는 것으로 가정하면, 수직 스케일링 컴포넌트는 각각의 컬러 성분: Gr, R, B 및 Gb에 대해 하나씩, 4개의 개별 3탭 다상 필터를 포함할 수 있다. 3탭 필터들 각각은 DDA를 이용하여 현재 중심 픽셀의 스텝핑 및 계수들에 대한 인덱스를 제어할 수 있다. 유사하게, 수평 스케일링 컴포넌트는 각각의 컬러 성분: Gr, R, B 및 Gb에 대해 하나씩, 4개의 개별 5탭 다상 필터를 포함할 수 있다. 5탭 필터들 각각은 DDA를 이용하여 현재 중심 픽셀의 스텝핑 및 계수들에 대한 인덱스를 제어할 수 있다. 경계 예들의 경우, 수평 및 수직 필터링 프로세스에서 사용되는 픽셀들은 DDA에 의해 정해지는 바와 같은 현재 픽셀의 위치에 의존할 수 있다. 예를 들어, DDA 값들이 현재 픽셀(currPixel)이 프레임 경계에 가까운 것을 지시하고, 따라서 필터에 의해 요구되는 소스 픽셀들 중 하나 이상이 경계 밖에 위치하는 경우, 경계 픽셀들이 반복될 수 있다.
마지막으로, 단계 226에 설명된 바와 같이, 수직 및 수평 스케일링 연산들이 주어진 현재 픽셀(currPixel)에 대해 완료되면, DDA(216)는 다음 픽셀의 위치로 스텝핑될 수 있으며, 프로세스(220)는 단계 224로 복귀하여 다음 픽셀에 대해 수직 및 수평 스케일링을 수행할 수 있다. 전술한 바와 같이, 출력 FEProcOut(109)일 수 있는 BCF(182)의 출력은 추가 처리를 위해 ISP 파이프 처리 논리(82)로 전송될 수 있다. 그러나, 본 설명의 초점을 ISP 파이프 처리 논리(82)로 전환하기 전에, ISP 프론트엔드 논리(80) 내에 구현될 수 있는 통계 처리 유닛들(예로서, 122, 124)에 의해 제공될 수 있는 다양한 기능들에 대한 더 상세한 설명이 먼저 제공될 것이다.
통계 처리 유닛들(120, 122)의 일반 설명을 다시 참조하면, 이들 유닛은 자동 노광, 자동 백색 균형, 자동 초점, 플리커 검출, 흑색 레벨 보상 및 렌즈 쉐이딩 교정 등에 관한 통계들과 같이 원시 이미지 신호들(Sif0, Sif1)을 캡처 및 제공하는 이미지 센서들에 대한 다양한 통계들을 수집하도록 구성될 수 있다. 이를 행할 때, 통계 처리 유닛들(120, 122)은 그들 각각의 입력 신호들 (Sensor0으로부터의) Sif0 및 (Sensor1로부터의) Sif1에 하나 이상의 이미지 처리 연산들을 먼저 적용할 수 있다.
예를 들어, 도 15를 참조하면, 일 실시예에 따른, Sensor0(90a)과 관련된 통계 처리 유닛(120)의 더 상세한 블록도가 도시되어 있다. 도시된 바와 같이, 통계 처리 유닛(120)은 다음의 기능 블록들: 결함 픽셀 검출 및 교정 논리(230), 흑색 레벨 보상(BLC) 논리(232), 렌즈 쉐이딩 교정 논리(234), 역 BLC 논리(236) 및 통계 수집 논리(238)를 포함할 수 있다. 이러한 기능 블록들 각각이 아래에 설명된다. 게다가, Sensor1(90b)과 관련된 통계 처리 유닛(122)은 유사한 방식으로 구현될 수 있다는 것을 이해해야 한다.
먼저, 선택 논리(124)의 출력(예로서, Sif0 또는 SifIn0)이 프론트엔드 결함 픽셀 교정 논리(230)에 의해 수신된다. 알듯이, "결함 픽셀들"은 광 레벨들을 정확히 감지하지 못하는 이미지 센서(들)(90) 내의 이미징 픽셀들을 지칭하는 것으로 이해될 수 있다. 결함 픽셀들은 다수의 인자에 기인할 수 있으며, "핫(hot)"(또는 누설) 픽셀들, "스턱(stuck)" 픽셀들 및 "데드(dead)" 픽셀들을 포함할 수 있다. "핫" 픽셀은 일반적으로 동일 공간 위치에 동일한 양의 광이 주어질 때 비결함 픽셀보다 밝게 보인다. 핫 픽셀들은 리셋 실패 및/또는 많은 누설로 인해 발생할 수 있다. 예를 들어, 핫 픽셀은 비결함 픽셀들에 대한 정상적인 전하 누설보다 많은 누설을 나타낼 수 있으며, 따라서 비결함 픽셀들보다 밝게 보일 수 있다. 게다가, "데드" 및 "스턱" 픽셀들은 제조 및/또는 조립 프로세스 동안에 이미지 센서를 오염시키는 먼지 또는 다른 추적 물질들과 같은 불순물들의 결과일 수 있으며, 이들은 소정의 결함 픽셀들을 비결함 픽셀보다 더 어둡거나 밝게 하거나, 실제로 노출되는 광의 양에 관계없이 결함 픽셀이 특정 값으로 고정되게 할 수 있다. 게다가, 데드 및 스턱 픽셀들은 이미지 센서의 동작 동안에 발생하는 회로 고장으로부터도 발생할 수 있다. 예를 들어, 스턱 픽셀은 항상 온(예를 들어, 완전 충전)인 것으로 나타날 수 있으며, 따라서 더 밝게 보이는 반면, 데드 픽셀은 항상 오프인 것으로 나타난다.
ISP 프론트엔드 논리(80) 내의 결함 픽셀 검출 및 교정(DPDC) 논리(230)는 결함 픽셀들이 통계 수집(예로서, 238)에서 고려되기 전에 이들을 교정(예로서, 결함 픽셀 값들을 교체)할 수 있다. 일 실시예에서, 결함 픽셀 교정은 각각의 컬러 성분(예로서, 베이어 패턴에 대한 R, B, Gr 및 Gb)에 대해 독립적으로 수행된다. 일반적으로, 프론트엔드 DPDC 논리(230)는 동적 결함 교정을 제공할 수 있으며, 이러한 교정에서는 동일 컬러의 이웃 픽셀들을 이용하여 계산되는 방향 기울기들에 기초하여 결함 픽셀들의 위치들이 자동으로 결정된다. 이해하듯이, 결함들은 주어진 시간에 결함있는 것으로서의 픽셀의 특성화가 이웃 픽셀들의 이미지 데이터에 의존할 수 있다는 점에서 "동적"일 수 있다. 예를 들어, 항상 최대 휘도를 갖는 스턱 픽셀은 스턱 픽셀의 위치가 더 밝거나 백색인 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에 결함 픽셀로서 간주되지 않을 수 있다. 이와 달리, 스턱 픽셀이 흑색 또는 더 어두운 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에, 스턱 픽셀은 DPDC 논리(230)에 의한 처리 동안 결함 픽셀로서 식별되고, 그에 따라 교정될 수 있다.
DPDC 논리(230)는 현재 픽셀의 각 측 상의 동일 컬러의 하나 이상의 수평 이웃 픽셀들을 이용하여, 픽셀 대 픽셀 방향 기울기들을 이용하여 현재 픽셀이 결함이 있는지를 결정할 수 있다. 현재 픽셀이 결함 있는 것으로 식별되는 경우, 결함 픽셀의 값은 수평 이웃 픽셀의 값으로 대체될 수 있다. 예를 들어, 일 실시예에서는, 원시 프레임(154)(도 9) 경계 내에 있는 동일 컬러의 5개의 수평 이웃 픽셀이 사용되며, 5개의 수평 이웃 픽셀은 현재 픽셀 및 양측 상의 2개의 이웃 픽셀을 포함한다. 따라서, 도 16에 도시된 바와 같이, 주어진 컬러 성분(c)에 대해 그리고 현재 픽셀(P)에 대해, 수평 이웃 픽셀들(P0, P1, P2, P3)이 DPDC 논리(230)에 의해 고려될 수 있다. 그러나, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 계산할 때 원시 프레임(154) 밖의 픽셀들은 고려되지 않는다는 것에 유의한다.
예를 들어, 도 16에 도시된 바와 같이, "좌측 에지" 예(240)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1)은 고려되지 않고, 픽셀들(P, P2, P3)(N=3)만이 남는다. "좌측 에지 + 1" 예(242)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지로부터 하나의 단위 픽셀만큼 떨어져 있으며, 따라서 픽셀(P0)은 고려되지 않는다. 이것은 픽셀들(P1, P, P2, P3)(N=4)만을 남긴다. 게다가, "중심 위치" 예(244)에서, 현재 픽셀(P)의 좌측의 픽셀들(P0, P1) 및 현재 픽셀(P)의 우측의 픽셀들(P2, P3)은 원시 프레임(154)의 경계 내에 있으며, 따라서 모든 이웃 픽셀들(P0, P1, P2, P3)(N=5)이 픽셀 대 픽셀 기울기들의 계산에서 고려된다. 게다가, 원시 프레임(154)의 가장 우측 에지에 접근함에 따라 유사한 예들(246, 248)을 만날 수 있다. 예를 들어, "우측 에지 - 1" 예(246)가 주어질 때, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지로부터 하나의 단위 픽셀만큼 떨어져 있으며, 따라서 픽셀(P3)은 고려되지 않는다(N=4). 유사하게, "우측 에지" 예(248)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지에 있으며, 따라서 이웃 픽셀들(P2, P3) 양자는 고려되지 않는다(N=3).
도시된 실시예에서, 픽처 경계(예로서, 원시 프레임(154)) 내의 각각의 이웃 픽셀(k = 0 내지 3)에 대해, 픽셀 대 픽셀 기울기들은 다음과 같이 계산될 수 있다.
Figure pct00006
0≤k≤3에 대해(원시 프레임 내의 k에 대해서만)
픽셀 대 픽셀 기울기들이 결정되면, DPDC 논리(230)에 의해 다음과 같이 결함 픽셀 검출이 수행될 수 있다. 먼저, 픽셀의 기울기들(Gk) 중 소정 수의 기울기들이 변수 dprTh로 표시되는 특정 임계치에 또는 그 아래에 있는 경우, 그 픽셀은 결함이 있는 것으로 가정된다. 따라서, 각각의 픽셀에 대해, 임계치(dprTh)에 또는 그 아래에 있는 픽처 경계들 내의 이웃 픽셀들에 대한 기울기들의 수의 카운트(C)가 누산된다. 예를 들어, 원시 프레임(154) 내의 각각의 이웃 픽셀에 대해, 임계치(dprTh)에 또는 그 아래에 있는 기울기들(Gk)의 누산된 카운트(C)는 다음과 같이 계산될 수 있다.
Figure pct00007
0≤k≤3에 대해(원시 프레임 내의 k에 대해서만)
인식하듯이, 컬러 성분들에 따라 임계치(dprTh)가 달라질 수 있다. 이어서, 누산된 카운트(C)가 변수 dprMaxC로 표시되는 최대 카운트 이하인 것으로 결정되는 경우, 픽셀은 결함 있는 것으로 간주될 수 있다. 이러한 논리는 아래와 같이 표현된다.
Figure pct00008
인 경우, 픽셀은 결함이 있다.
결함 픽셀들은 다양한 교체 규약들을 이용하여 교체된다. 예를 들어, 일 실시예에서, 결함 픽셀은 그의 바로 좌측의 픽셀(P1)로 교체될 수 있다. 경계 조건에서(예로서, P1이 원시 프레임(154) 밖에 있는 경우), 결함 픽셀은 그의 바로 우측의 픽셀(P2)로 교체될 수 있다. 게다가, 계속적인 결함 픽셀 검출 연산들을 위해 교체 값들이 유지 또는 전파될 수 있다는 것을 이해해야 한다. 예를 들어, 도 16에 도시된 수평 픽셀들의 세트를 참조하면, P0 또는 P1이 이전에 DPDC 논리(230)에 의해 결함 픽셀들로서 식별된 경우, 이들에 대응하는 교체 값들은 현재 픽셀(P)의 결함 픽셀 검출 및 교체를 위해 사용될 수 있다.
전술한 결함 픽셀 검출 및 교정 기술들을 요약하기 위해, 그러한 프로세스를 나타내는 흐름도가 도 17에 제공되며, 참조 번호 250으로 참조된다. 도시된 바와 같이, 프로세스(250)는 단계 252에서 시작되며, 여기서 현재 픽셀(P)이 수신되고, 이웃 픽셀들의 세트가 식별된다. 전술한 실시예에 따르면, 이웃 픽셀들은 현재 픽셀의 대향 측들로부터의 동일 컬러 성분의 2개의 수평 픽셀(예로서, P0, P1, P2, P3)을 포함할 수 있다. 이어서, 단계 254에서, 위의 식 6에서 설명된 바와 같이, 원시 프레임(154) 내의 각각의 이웃 픽셀에 대해 수평 픽셀 대 픽셀 기울기들이 계산된다. 이어서, 단계 256에서, 특정 임계치(dprTh) 이하인 기울기들의 수의 카운트(C)가 결정된다. 판정 논리 258에 나타난 바와 같이, C가 dprMaxC 이하인 경우, 프로세스(250)는 단계 260으로 계속되어, 현재 픽셀이 결함 있는 것으로 식별된다. 이어서, 단계 262에서, 결함 픽셀이 교체 값을 이용하여 교정된다. 게다가, 판정 논리 258을 다시 참조하면, C가 dprMaxC보다 큰 경우, 프로세스는 단계 264로 계속되어, 현재 픽셀이 결함 없는 것으로 식별되고, 그의 값은 변경되지 않는다.
ISP 프론트엔드 통계 처리 동안 적용되는 결함 픽셀 검출/교정 기술들은 ISP 파이프 논리(82)에서 수행되는 결함 픽셀 검출/교정보다 덜 강건할 수 있다는 점에 유의해야 한다. 예를 들어, 아래에 더 상세히 설명되는 바와 같이, ISP 파이프 논리(82)에서 수행되는 결함 픽셀 검출/교정은 동적 결함 교정에 더하여 고정 결함 교정을 더 제공할 수 있으며, 이러한 고정 결함 교정에서는 결함 픽셀들의 위치들이 선험적으로 알려지고 하나 이상의 결함 테이블들 내에 로딩된다. 게다가, ISP 파이프 논리(82)에서의 동적 결함 교정은 수평 및 수직 방향들 양자에서의 픽셀 기울기들도 고려할 수 있으며, 후술하는 바와 같은 스펙클링(speckling)의 검출/교정도 제공할 수 있다.
도 15를 참조하면, 이어서 DPDC 논리(230)의 출력이 흑색 레벨 보상(BLC) 논리(232)로 전송된다. BLC 논리(232)는 통계 수집에 사용되는 픽셀들 상의 각각의 컬러 성분("c")(예로서, 베이어에 대한 R, B, Gr 및 Gb)에 대해 독립적으로 디지털 이득, 오프셋 및 클립핑을 제공할 수 있다. 예를 들어, 아래의 연산에 의해 표현되는 바와 같이, 현재 픽셀에 대한 입력 값은 먼저 유부호(signed) 값에 의해 오프셋된 후에 이득에 의해 곱해진다.
Figure pct00009
여기서, 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)이 최소 및 최대 범위로 클립핑될 수 있다.
Figure pct00010
변수들 min[c] 및 max[c]는 각각 최소 및 최대 출력 값들에 대한 유부호 16비트 "클립핑 값들"을 나타낼 수 있다. 일 실시예에서, BLC 논리(232)는 컬러 성분마다 각각 최대 및 최소의 위 및 아래로 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수도 있다.
이어서, BLC 논리(232)의 출력은 렌즈 쉐이딩 교정(LSC) 논리(234)로 전송된다. LSC 논리(234)는 일반적으로 이미징 장치(30)의 렌즈(88)의 광학 중심으로부터 거리에 대략 비례하는 강도의 저하를 보상하기 위해 픽셀별로 적절한 이득을 적용하도록 구성될 수 있다. 인식할 수 있듯이, 그러한 저하는 렌즈의 기하 광학의 결과일 수 있다. 예를 들어, 이상적인 광학 특성을 갖는 렌즈는 cos4 법칙으로 지칭되는 입사각의 코사인의 4 제곱 cos4(θ)로서 모델링될 수 있다. 그러나, 렌즈 제조는 완전하지 않으므로, 렌즈 내의 다양한 불규칙들은 광학 특성들이 가정된 cos4 모델로부터 벗어나게 할 수 있다. 예를 들어, 렌즈의 더 얇은 에지는 일반적으로 최대 불규칙들을 나타낸다. 게다가, 렌즈 쉐이딩 패턴들 내의 불규칙들은 또한 이미지 센서 내의 마이크로렌즈 어레이가 컬러 어레이 필터와 완전하게 정렬되지 않은 결과일 수 있다. 게다가, 일부 렌즈들 내의 적외선(IR) 필터는 저하가 발광체에 의존하게 할 수 있으며, 따라서 렌즈 쉐이딩 이득들은 검출된 광원에 따라 적응될 수 있다.
도 18을 참조하면, 통상의 렌즈에 대한 픽셀 위치 대 광 강도를 나타내는 삼차원 프로파일이 도시되어 있다. 도시된 바와 같이, 렌즈의 중심(272) 근처의 광 강도는 렌즈의 코너들 또는 에지들(274)을 향해 점차 저하된다. 도 18에 도시된 렌즈 쉐이딩 불규칙들은 코너들 및 에지들을 향해 광 강도의 저하를 나타내는 사진(276)을 도시하는 도 19에 의해 더 잘 설명될 수 있다. 특히, 이미지의 대략 중심에서의 광 강도는 이미지의 코너들 및/또는 에지들에서의 광 강도보다 밝게 나타난다는 것에 유의해야 한다.
본 기술들의 실시예들에 따르면, 렌즈 쉐이딩 교정 이득들은 컬러 채널(예로서, 베이어 필터에 대한 Gr, R, B, Gb)마다의 이득들의 이차원 그리드로서 지정될 수 있다. 이득 그리드 포인트들은 원시 프레임(154)(도 9) 내에 일정한 수평 및 수직 간격들로 분포될 수 있다. 도 9에서 전술한 바와 같이, 원시 프레임(154)은 특정 이미지 처리 연산을 위해 처리가 수행되는 영역을 정의하는 액티브 영역(156)을 포함할 수 있다. 렌즈 쉐이딩 교정 연산과 관련하여, LSC 영역으로서 참조될 수 있는 액티브 처리 영역이 원시 프레임 영역(154) 내에 정의된다. 후술하는 바와 같이, LSC 영역은 완전히 이득 그리드 경계들에 또는 그 안에 있어야 하며, 그렇지 않은 경우에는 결과들이 정의되지 않을 수 있다.
예를 들어, 도 20을 참조하면, 원시 프레임(154) 내에 정의될 수 있는 LSC 영역(280) 및 이득 그리드(282)가 도시되어 있다. LSC 영역(280)은 폭(284) 및 높이(286)를 가질 수 있으며, 원시 프레임(154)의 경계에 대한 x 오프셋(288) 및 y 오프셋(290)에 의해 정의될 수 있다. 그리드 이득들(282)의 베이스(296)로부터 LSC 영역(280) 내의 제1 픽셀(298)까지의 그리드 오프셋들(예로서, 그리드 x 오프셋(292) 및 그리드 y 오프셋(294))도 제공된다. 이러한 오프셋들은 주어진 컬러 성분에 대해 제1 그리드 간격 내일 수 있다. 수평(x 방향) 및 수직(y 방향) 그리드 포인트 간격들(300, 302)은 각각의 컬러 채널에 대해 독립적으로 각각 지정될 수 있다.
전술한 바와 같이, 베이어 컬러 필터 어레이의 사용을 가정하면, 그리드 이득들의 4개 컬러 채널(R, B, Gr, Gb)이 정의될 수 있다. 일 실시예에서는, 총 4K(4096)개의 그리드 포인트가 이용 가능할 수 있으며, 각각의 컬러 채널에 대해, 그리드 이득들의 시작 위치에 대한 베이스 어드레스가 예를 들어 포인터를 이용하여 제공될 수 있다. 게다가, 수평(300) 및 수직(302) 그리드 포인트 간격들은 하나의 컬러 평면의 해상도에서 픽셀들에 관하여 정의될 수 있으며, 소정 실시예들에서는 수평 및 수직 방향에서 8, 16, 32, 64 또는 128과 같은 2의 제곱에 의해 분리된 그리드 포인트 간격들이 제공될 수 있다. 알 수 있듯이, 2의 제곱을 사용함으로써, 시프트(예로서, 제산) 및 가산 연산을 사용하여 이득 보간의 효율적인 구현이 달성될 수 있다. 이러한 파라미터들을 사용하면, 이미지 센서 크로핑(cropping) 영역이 변하는 경우에도 동일한 이득 값들이 사용될 수 있다. 예를 들어, 그리드 포인트들을 크로핑된 영역에 정렬하기 위해, 모든 그리드 이득 값들을 갱신하는 것이 아니라, 소수의 파라미터들만을 갱신(예를 들어, 그리드 오프셋들(300, 302)을 갱신)하는 것이 필요하다. 단지 예로서, 이것은 디지털 줌잉 연산들 동안에 크로핑이 사용될 때 유용할 수 있다. 게다가, 도 20의 실시예에 도시된 이득 그리드(282)가 대체로 동일하게 이격된 그리드 포인트들을 갖는 것으로 도시되지만, 다른 실시예들에서 그리드 포인트들은 반드시 동일하게 이격되지는 않을 수 있다는 것을 이해해야 한다. 예를 들어, 일부 실시예들에서, 그리드 포인트들은 불균일하게(예로서, 대수적으로) 분포될 수 있으며, 따라서 그리드 포인트들은 LSC 영역(280)의 중심에 덜 집중되고, 통상적으로 렌즈 쉐이딩 왜곡이 더 현저한 LSC 영역(280)의 코너들을 향해 더 집중된다.
현재 개시되는 렌즈 쉐이딩 교정 기술들에 따르면, 현재 픽셀 위치가 LSC 영역(280) 밖에 위치할 때, 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다). 현재 픽셀 위치가 이득 그리드 위치에 있는 경우, 그 특정 그리드 포인트에서의 이득 값이 사용될 수 있다. 그러나, 현재 픽셀 위치가 그리드 포인트들 사이에 있는 경우, 이득은 양선형 보간을 이용하여 보간될 수 있다. 도 21에서 픽셀 위치 "G"에 대해 이득을 보간하는 일례가 아래에 제공된다.
도 21에 도시된 바와 같이, 픽셀(G)은 현재 픽셀 위치(G)에 대해 각각 좌상, 우상, 좌하 및 우하 이득들에 대응할 수 있는 그리드 포인트들(G0, G1, G2, G3) 사이에 있다. 그리드 간격의 수평 및 수직 크기는 각각 X 및 Y로 표시된다. 게다가, ii 및 jj는 좌상 이득의 위치(G0)에 대한 수평 및 수직 픽셀 오프셋들을 각각 나타낸다. 따라서, 이러한 인자들에 기초하여, 위치(G)에 대응하는 이득은 아래와 같이 보간될 수 있다.
[수학식 11a]
Figure pct00011
이어서, 식 11a의 항들은 결합되어 아래의 식을 얻을 수 있다.
[수학식 11b]
Figure pct00012
일 실시예에서, 보간 방법은 각각의 픽셀에서 승수를 사용하는 대신에 점증적으로 수행될 수 있으며, 따라서 계산 복잡성을 줄일 수 있다. 예를 들어, 항 (ii)(jj)는 이득 그리드(282)의 위치 (0, 0)에서 0으로 초기화되고 현재 열 번호가 한 픽셀만큼 증가할 때마다 현재 행 번호만큼 증가될 수 있는 가산기를 이용하여 실현될 수 있다. 전술한 바와 같이, X 및 Y의 값들은 2의 제곱들로서 선택될 수 있으므로, 이득 보간은 간단한 시프트 연산들을 이용하여 달성될 수 있다. 따라서, 승수는 (모든 픽셀에서가 아니라) 그리드 포인트(G0)에서만 필요하며, 나머지 픽셀들에 대한 보간된 이득을 결정하기 위해 가산 연산들만이 필요하다.
소정 실시예들에서, 그리드 포인트들 사이의 이득들의 보간은 14비트 정밀도를 사용할 수 있으며, 그리드 이득들은 2개의 정수 비트 및 8개의 분수 비트를 갖는 무부호 10비트 값들(예로서, 2.8의 부동 소수점 표현)일 수 있다. 이러한 규약을 이용하면, 이득은 0과 4X 사이의 범위를 가질 수 있으며, 그리드 포인트들 사이의 이득 해상도는 1/256일 수 있다.
렌즈 쉐이딩 교정 기술들은 도 22에 도시된 프로세스(310)에 의해 더 설명될 수 있다. 도시된 바와 같이, 프로세스(310)는 단계 312에서 시작되며, 여기서 도 20의 LSC 영역(280)의 경계들에 대한 현재 픽셀의 위치가 결정된다. 이어서, 판정 논리(314)는 현재 픽셀 위치가 LSC 영역(280) 내에 있는지를 판정한다. 현재 픽셀 위치가 LSC 영역(280) 밖에 있는 경우, 프로세스(310)는 단계 316으로 계속되어, 현재 픽셀에 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다).
현재 픽셀 위치가 LSC 영역(280) 내에 있는 경우, 프로세스(310)는 판정 논리(318)로 계속되며, 여기서 현재 픽셀 위치가 이득 그리드(280) 내의 그리드 포인트에 대응하는지를 더 결정한다. 현재 픽셀 위치가 그리드 포인트에 대응하는 경우, 단계 320에 나타난 바와 같이, 그 그리드 포인트에서의 이득 값이 선택되어 현재 픽셀에 적용된다. 현재 픽셀 위치가 그리드 포인트에 대응하지 않는 경우, 프로세스(310)는 단계 322로 계속되어, 경계 그리드 포인트들(예로서, 도 21의 G0, G1, G2 및 G3)에 기초하여 이득이 보간된다. 예를 들어, 보간된 이득은 전술한 바와 같은 식 11a 및 11b에 따라 계산될 수 있다. 이어서, 프로세스(310)는 단계 324에서 종료되고, 여기서 단계 322로부터의 보간된 이득이 현재 픽셀에 적용된다.
인식하듯이, 프로세스(310)는 이미지 데이터의 각 픽셀에 대해 반복될 수 있다. 예를 들어, 도 23에 도시된 바와 같이, LSC 영역(예로서, 280) 내의 각 픽셀 위치에 적용될 수 있는 이득들을 나타내는 삼차원 프로파일이 예시된다. 도시된 바와 같이, 이미지의 코너들(328)에 적용되는 이득은 도 18 및 19에 도시된 바와 같이 코너들에서의 광 강도의 더 큰 저하로 인해 이미지의 중심에 적용되는 이득보다 일반적으로 더 클 수 있다. 현재 설명되는 렌즈 쉐이딩 교정 기술들을 이용하면, 이미지 내의 광 강도 저하의 발생이 감소하거나 실질적으로 제거될 수 있다. 예를 들어, 도 24는 도 19의 사진(276)이 렌즈 쉐이딩 교정의 적용 후에 어떻게 보일 수 있는지의 일례를 제공한다. 도시된 바와 같이, 도 19의 오리지널 이미지에 비해, 이미지 전반에서 전체 광 강도가 대체로 더 균일하다. 특히, 이미지의 대략 중심에서의 광 강도는 이미지의 코너들 및/또는 에지들에서의 광 강도 값들과 실질적으로 동일할 수 있다. 게다가, 전술한 바와 같이, 보간된 이득의 계산(식 11a 및 11b)은 일부 실시예들에서 순차적인 열 및 행 증대 구조를 이용함으로써 그리드 포인트들 사이의 가산 "델타"로 대체될 수 있다. 인식하듯이, 이것은 계산 복잡성을 줄인다.
추가 실시예들에서, 그리드 이득들의 사용에 더하여, 이미지 중심으로부터의 거리의 함수로서 스케일링되는 컬러 성분마다의 전역 이득이 사용된다. 이미지의 중심은 입력 파라미터로서 제공될 수 있으며, 균일하게 조명된 이미지 내의 각 이미지 픽셀의 광 강도 진폭을 분석함으로써 추정될 수 있다. 이어서, 아래에 나타난 바와 같이, 식별된 중심 픽셀과 현재 픽셀 사이의 방사상 거리를 이용하여, 선형 스케일링된 방사상 이득(Gr)을 얻을 수 있다.
Figure pct00013
여기서, Gp[c]는 각 컬러 성분(c)(예로서, 베이어 패턴에 대한 R, B, Gr 및 Gb)에 대한 전역 이득 파라미터를 나타내고, R은 중심 픽셀과 현재 픽셀 사이의 방사상 거리를 나타낸다.
전술한 LSC 영역(280)을 나타내는 도 25를 참조하면, 거리(R)는 여러 기술을 이용하여 계산 또는 추정될 수 있다. 도시된 바와 같이, 이미지 중심에 대응하는 픽셀(C)은 좌표들 (x0, y0)을 가지며, 현재 픽셀(G)은 좌표들 (xG, yG)를 가질 수 있다. 일 실시예에서, LSC 논리(234)는 아래의 식을 이용하여 거리(R)를 계산할 수 수 있다.
Figure pct00014
다른 실시예에서는, 아래에 나타난 더 간단한 추정 공식을 이용하여 R에 대한 추정 값을 얻을 수 있다.
Figure pct00015
식 14에서, 추정 계수들(α, β)은 8비트 값들로 스케일링될 수 있다. 단지 예로서, 일 실시예에서, R에 대한 추정 값을 제공하기 위해 α는 약 123/128일 수 있고, β는 약 51/128일 수 있다. 이러한 계수 값들을 사용하면, 최대 에러는 약 4%일 수 있고, 중간 에러는 약 1.3%일 수 있다. 따라서, 추정 기술이 R의 결정에 있어서 계산 기술(식 13)을 이용하는 것보다 다소 덜 정확할 수 있지만, 에러의 마진은 추정 값들 또는 R이 현재의 렌즈 쉐이딩 교정 기술들을 위한 방사상 이득 성분들을 결정하는 데 적합할 만큼 충분히 낮다.
이어서, 방사상 이득(Gr)과, 현재 픽셀에 대한 보간된 그리드 이득 값(G)(식 11a 및 11b)을 곱하여, 현재 픽셀에 적용될 수 있는 총 이득을 결정할 수 있다. 아래에 나타난 바와 같이, 입력 픽셀 값(X)과 총 이득을 곱하여 출력 픽셀(Y)을 얻는다.
Figure pct00016
따라서, 본 기술에 따르면, 렌즈 쉐이딩 교정이 보간된 이득만을 이용하여, 보간된 이득 및 방사상 이득 성분들 양자를 이용하여 수행될 수 있다. 대안으로서, 렌즈 쉐이딩 교정은 또한 방사상 근사화 에러들을 보상하는 방사상 그리드 테이블과 연계하여 방사상 이득만을 이용하여 달성될 수 있다. 예를 들어, 도 20에 도시된 바와 같은 직사각 이득 그리드(282) 대신에, 방사상 및 각진 방향들에서의 이득들을 정의하는 복수의 그리드 포인트를 갖는 방사상 이득 그리드가 제공될 수 있다. 따라서, LSC 영역(280) 내의 방사상 그리드 포인트들 중 하나와 정렬되지 않는 픽셀에 적용할 이득을 결정할 때, 적절한 보간된 렌즈 쉐이딩 이득을 결정하기 위해 픽셀을 둘러싸는 4개의 그리드 포인트를 이용하여 보간이 적용될 수 있다.
도 26을 참조하면, 렌즈 쉐이딩 교정에서의 보간된 이득 성분 및 방사상 이득 성분의 사용이 프로세스(340)에 의해 설명된다. 프로세스(340)는 도 22에서 전술한 프로세스(310)와 유사한 단계들을 포함할 수 있다는 점에 유의해야 한다. 따라서, 그러한 단계들은 동일한 참조 번호들로 넘버링되었다. 단계 312에서 시작하여, 현재 픽셀이 수신되고, LSC 영역(280)에 대한 그의 위치가 결정된다. 이어서, 판정 논리(314)는 현재 픽셀 위치가 LSC 영역(280) 내에 있는지를 판정한다. 현재 픽셀 위치가 LSC 영역(280) 밖에 있는 경우, 프로세스(340)는 단계 316으로 계속되어, 현재 픽셀에 이득이 적용되지 않는다(예를 들어, 픽셀이 변경되지 않는다). 현재 픽셀 위치가 LSC 영역(280) 내에 있는 경우, 프로세스(340)는 단계 342 및 판정 논리 318로 동시에 계속될 수 있다. 먼저, 단계 342를 참조하면, 이미지의 중심을 식별하는 데이터가 검색된다. 전술한 바와 같이, 이미지 중심의 결정은 균일한 조명 하의 픽셀들에 대한 광 강도 진폭들의 분석을 포함할 수 있다. 이것은 예를 들어 캘리브레이션 동안 이루어질 수 있다. 따라서, 단계 342는 각 픽셀을 처리하기 위해 이미지의 중심을 반복 계산하는 것을 반드시 포함하는 것이 아니라, 이전에 결정된 이미지 중심의 데이터(예로서, 좌표들)를 검색하는 것을 참조할 수 있다는 것을 이해해야 한다. 이미지의 중심이 식별되면, 프로세스(340)는 단계 344로 계속될 수 있고, 여기서 이미지 중심과 현재 픽셀 위치(R) 사이의 거리가 결정된다. 전술한 바와 같이, R의 값이 계산(식 13) 또는 추정(식 14)될 수 있다. 이어서, 단계 346에서, 현재 픽셀의 컬러 성분에 대응하는 거리(R) 및 전역 이득 파라미터를 이용하여 방사상 이득 성분(Gr)이 계산될 수 있다(식 12). 방사상 이득 성분(Gr)은 아래의 단계 350에서 설명되는 바와 같이 총 이득을 결정하는 데 사용될 수 있다.
판정 논리(318)를 다시 참조하면, 현재 픽셀 위치가 이득 그리드(280) 내의 그리드 포인트에 대응하는지를 결정한다. 현재 픽셀 위치가 그리드 포인트에 대응하는 경우, 단계 348에 나타난 바와 같이, 그 그리드 포인트에서의 이득 값이 결정된다. 현재 픽셀 위치가 그리드 포인트에 대응하지 않는 경우, 프로세스(340)는 단계 322로 계속되어, 보간된 이득이 경계 그리드 포인트들(예로서, 도 21의 G0, G1, G2, G3)에 기초하여 계산된다. 예를 들어, 보간된 이득은 전술한 바와 같은 식 11a 및 11b에 따라 계산될 수 있다. 이어서, 단계 350에서, 단계 346에서 결정된 방사상 이득은 물론, 그리드 이득들(단계 348) 중 하나 또는 보간된 이득(322)에 기초하여 총 이득이 결정된다. 알 수 있듯이, 이것은 프로세스(340) 동안에 판정 논리(318)가 어느 분기를 취하는지에 의존할 수 있다. 이어서, 단계 352에 나타난 바와 같이, 총 이득이 현재 픽셀에 적용된다. 다시, 프로세스(310)와 같이, 프로세스(340)도 이미지 데이터의 각 픽셀에 대해 반복될 수 있다는 점에 유의해야 한다.
그리드 이득들과 연계한 방사상 이득의 사용은 다양한 이점들을 제공할 수 있다. 예를 들어, 방사상 이득의 사용은 모든 컬러 성분들에 대한 단일 공통 이득 그리드의 사용을 가능하게 한다. 이것은 각각의 컬러 성분에 대한 개별 이득 그리드들을 저장하는 데 필요한 전체 저장 공간을 크게 줄일 수 있다. 예를 들어, 베이어 이미지 센서에서, R, B, Gr 및 Gb 성분들 각각에 대한 단일 이득 그리드의 사용은 이득 그리드 데이터를 약 75% 줄일 수 있다. 인식하듯이, 이러한 그리드 이득 데이터의 감소는 구현 비용을 줄일 수 있는데, 그 이유는 그리드 이득 데이터 테이블들이 이미지 처리 하드웨어 내의 메모리 또는 칩 면적의 상당 부분을 책임질 수 있기 때문이다. 게다가, 하드웨어 구현에 따라서는, 단일 세트의 이득 그리드 값들의 사용은 (예를 들어, 이득 그리드 값들이 온칩 메모리에 저장될 때와 같은) 전체 칩 면적의 감소 및 (예를 들어, 이득 그리드 값들이 오프칩 외부 메모리에 저장될 때와 같은) 메모리 대역폭 요구의 감소와 같은 추가적인 이점들을 제공할 수 있다.
도 15에 도시된 렌즈 쉐이딩 교정 논리(234)의 기능들을 충분히 설명하였으며, 이어서 LSC 논리(234)의 출력은 역 흑색 레벨 보상(IBLC) 논리(236)로 전송된다. IBLC 논리(236)는 각 컬러 성분(예로서, R, B, Gr, Gb)에 대해 독립적으로 이득, 오프셋 및 클립을 제공하며, 일반적으로 BLC 논리(232)에 대한 반대 기능을 수행한다. 예를 들어, 아래의 연산에 나타난 바와 같이, 입력 픽셀의 값이 먼저 이득과 승산된 후에 유부호 값에 의해 오프셋된다.
Figure pct00017
여기서, X는 주어진 컬러 성분(c)(예로서, R, B, Gr 또는 Gb)에 대한 입력 픽셀 값을 나타내고, O[c]는 현재 컬러 성분(c)에 대한 유부호 16비트 오프셋을 나타내며, G[c]는 컬러 성분(c)에 대한 이득 값을 나타낸다. 일 실시예에서, 이득 G[c]는 약 0과 4X(입력 픽셀 값 X의 4배) 사이의 범위를 가질 수 있다. 이러한 변수들은 식 9에서 전술한 것들과 동일한 변수들일 수 있다는 점에 유의해야 한다. 계산된 값 Y는 예를 들어 식 10을 이용하여 최소 및 최대 범위로 클립핑될 수 있다. 일 실시예에서, IBLC 논리(236)는 컬러 성분마다 최대 및 최소의 위 및 아래로 각각 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수 있다.
이어서, IBLC 논리(236)의 출력이 통계 수집 블록(238)에 의해 수신되며, 이 블록은 자동 노광(AE), 자동 백색 균형(AWB), 자동 초점(AF), 플리커 검출 등과 관련된 것들과 같은 이미지 센서(들)(90)에 대한 다양한 통계 데이터 포인트들의 수집을 제공할 수 있다. AWB, AE 및 AF 통계들의 중요성을 설명하는 간단한 개요가 아래에 제공된다.
백색 균형화와 관련하여, 각 픽셀에서의 이미지 센서 응답은 조명 소스에 의존할 수 있는데, 그 이유는 광원이 이미지 장면 내의 물체들로부터 반사되기 때문이다. 따라서, 이미지 장면 내에 기록된 각각의 픽셀 값은 광원의 컬러 온도와 관련된다. 백색 물체는 낮은 컬러 온도 하에서 조명될 때에 캡처된 이미지 내에서 붉게 보일 수 있다. 이와 달리, 높은 컬러 온도 하에서 조명되는 백색 물체는 캡처된 이미지에서 푸르게 보일 것이다. 따라서, 백색 균형화의 목적은 이미지가 표준 광 아래에서 취해진 것처럼 사람의 눈에 보이도록 RGB 값들을 조정하는 것이다. 따라서, 백색 균형과 관련된 이미징 통계와 관련하여, 백색 물체들에 대한 컬러 정보를 수집하여 광원의 컬러 온도를 결정한다. 일반적으로, 백색 균형 알고리즘들은 2개의 중요한 단계를 포함할 수 있다. 첫째, 광원의 컬러 온도가 추정된다. 둘째, 추정된 컬러 온도를 이용하여, 컬러 이득 값들을 조정하고 그리고/또는 컬러 교정 행렬의 계수들을 결정/조정한다. 그러한 이득들은 아날로그 및 디지털 이미지 센서 이득들은 물론, ISP 디지털 이득들의 조합일 수 있다.
이어서, 일반적으로 자동 노광은 픽셀 적분 시간 및 이득들을 조정하여 캡처된 이미지의 휘도를 제어하는 프로세스를 지칭한다. 예를 들어, 자동 노광은 적분 시간을 설정함으로써 이미지 센서(들)에 의해 캡처되는 장면으로부터의 광의 양을 제어할 수 있다. 게다가, 자동 초점은 이미지의 초점을 실질적으로 최적화하기 위해 렌즈의 최적 초점 길이를 결정하는 것을 지칭할 수 있다. 따라서, 이러한 다양한 타입의 통계들은 특히 통계 수집 블록(238)을 통해 결정 및 수집될 수 있다. 도시된 바와 같이, 통계 수집 블록(238)의 출력 STATS0은 메모리(108)로 전송되고, 제어 논리(84)로 라우팅될 수 있거나, 대안으로서 제어 논리(84)로 직접 전송될 수 있다.
전술한 바와 같이, 제어 논리(84)는 수집된 통계 데이터를 처리하여, 이미징 장치(30) 및/또는 이미지 처리 회로(32)를 제어하기 위한 하나 이상의 제어 파라미터들을 결정할 수 있다. 예를 들어, 그러한 제어 파라미터들은 이미지 센서(90)의 렌즈를 조작하기 위한 파라미터들(예로서, 초점 길이 조정 파라미터들), 이미지 센서 파라미터들(예로서, 아날로그 및/또는 디지털 이득들, 적분 시간)은 물론, ISP 파이프 처리 파라미터들(예로서, 디지털 이득 값들, 컬러 교정 행렬(CCM) 계수들)을 포함할 수 있다. 게다가, 전술한 바와 같이, 소정 실시예들에서, 통계 처리는 8비트의 정밀도로 이루어질 수 있으며, 따라서 더 높은 비트 심도를 갖는 원시 픽셀 데이터는 통계 목적을 위해 8비트 포맷으로 다운샘플링될 수 있다. 전술한 바와 같이, 8비트(또는 임의의 다른 더 낮은 비트 해상도)로의 다운샘플링은 하드웨어 크기(예로서, 면적)를 줄이고, 또한 처리 복잡성을 줄이는 것은 물론, (예를 들어, 이미지 데이터의 공간 평균화를 이용하여) 통계 데이터가 잡음에 더 강해지게 할 수 있다.
ISP 프론트엔드 논리(80)로부터 하류에 있는 ISP 파이프 논리(82)의 상세한 설명을 진행하기 전에, 통계 처리 유닛들(120, 122)(예로서, 논리 블록들 230, 232, 234, 236, 238) 및 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)의 일 실시예를 나타내는 블록도가 도 27에 도시되어 있다. 도시된 바와 같이, ISP 파이프 논리(82)는 원시 처리 논리(360), RGB 처리 논리(362) 및 YCbCr 처리 논리(364)를 포함할 수 있다. 원시 처리 논리(360)는 결함 픽셀 검출 및 교정, 렌즈 쉐이딩 교정, 디모자이킹은 물론, 아래에 더 설명되는 바와 같은 자동 백색 균형을 위한 이득들의 적용 및/또는 흑색 레벨의 설정과 같은 다양한 이미지 처리 연산들을 수행할 수 있다. 본 실시예에 도시된 바와 같이, 원시 처리 논리(360)로의 입력 신호(370)는 선택 논리(368)의 현재 구성에 따라 ISP 프론트엔드 논리(80)로부터의 원시 픽셀 출력(190)(신호 FEProcOut) 또는 메모리(108)로부터의 원시 픽셀 데이터(112)일 수 있다.
원시 처리 논리(360) 내에서 수행된 디모자이킹 연산들의 결과로서, 이미지 신호 출력(372)은 RGB 도메인에 있을 수 있으며, 이어서 RGB 처리 논리(362)로 전송될 수 있다. 예를 들어, 도 27에 도시된 바와 같이, RGB 처리 논리(362)는 선택 논리(376)의 현재 구성에 따라 출력 신호(372) 또는 메모리(108)로부터의 RGB 이미지 신호(374)일 수 있는 신호(378)를 수신한다. RGB 처리 논리(362)는 (예를 들어, 컬러 교정 행렬을 이용하는) 컬러 교정, 자동 백색 균형화를 위한 컬러 이득들의 적용은 물론, 아래에 더 설명되는 바와 같은 전역 톤 맵핑을 포함하는 다양한 RGB 컬러 조정 연산들을 제공할 수 있다. RGB 처리 논리(364)는 RGB 이미지 데이터의 YCbCr(루마/크로마) 컬러 공간으로의 컬러 공간 변환도 제공할 수 있다. 따라서, 이미지 신호 출력(380)은 YCbCr 도메인에 있을 수 있으며, 이어서 YCbCr 처리 논리(364)로 전송될 수 있다.
예를 들어, 도 27에 도시된 바와 같이, YCbCr 처리 논리(364)는 선택 논리(384)의 현재 구성에 따라 RGB 처리 논리(362)로부터의 출력 신호(380) 또는 메모리(108)로부터의 YCbCr 신호(382)일 수 있는 신호(386)를 수신한다. 아래에 더 상세히 설명되는 바와 같이, YCbCr 처리 논리(364)는 스케일링, 크로마 억제, 루마 선명화, 휘도, 콘트라스트 및 컬러(BCC) 조정, YCbCr 감마 맵핑, 크로마 데시메이션 등을 포함하는 YCbCr 컬러 공간에서의 이미지 처리 연산들을 제공할 수 있다. YCbCr 처리 논리(364)의 이미지 신호 출력(390)은 메모리(108)로 전송되거나, ISP 파이프 처리 논리(82)로부터 이미지 신호(114)(도 7)로서 출력될 수 있다. 이미지 신호(114)는 사용자에 의한 관찰을 위해 디스플레이 장치(28)로 (직접 또는 메모리(108)를 통해) 전송될 수 있거나, 압축 엔진(예로서, 인코더(118)), CPU/GPU, 그래픽 엔진 등을 이용하여 더 처리될 수 있다.
본 기술들의 실시예들에 따르면, ISP 파이프 논리(82)는 8비트, 10비트, 12비트 또는 14비트 포맷의 원시 픽셀 데이터의 처리를 지원할 수 있다. 예를 들어, 일 실시예에서, 8비트, 10비트 또는 12비트 입력 데이터가 원시 처리 논리(360)의 입력에서 14비트로 변환될 수 있으며, 원시 처리 및 RGB 처리 연산들이 14비트 정밀도로 수행될 수 있다. 후자의 실시예에서, 14비트 이미지 데이터는 RGB 데이터의 YCbCr 컬러 공간으로의 변환 전에 10비트로 다운샘플링될 수 있고, YCbCr 처리(논리 364)는 10비트 정밀도로 수행될 수 있다.
ISP 파이프 처리 논리(82)에 의해 제공되는 다양한 기능들의 포괄적인 설명을 제공하기 위하여, 원시 처리 논리(360), RGB 처리 논리(362) 및 YCbCr 처리 논리(364) 각각은 물론, 논리(360, 362, 364)의 각각의 유닛 내에 구현될 수 있는 다양한 이미지 처리 연산들을 수행하기 위한 내부 논리도 아래에서 원시 처리 논리(360)로부터 시작하여 차례로 설명될 것이다. 예를 들어, 이제 도 28을 참조하면, 본 기술의 일 실시예에 따른 원시 처리 논리(360)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도시되어 있다. 도시된 바와 같이, 원시 처리 논리(360)는 이득, 오프셋 및 클램핑(GOC) 논리(394), 결함 픽셀 검출/교정(DPDC) 논리(396), 잡음 저감 논리(398), 렌즈 쉐이딩 교정 논리(400), GOC 논리(402) 및 디모자이킹 논리(404)를 포함한다. 게다가, 아래에 설명되는 예들은 이미지 센서(들)(90)를 갖는 베이어 컬러 필터 어레이의 사용을 가정하지만, 본 기술의 다른 실시예들은 다른 타입의 컬러 필터들도 사용할 수 있다는 것을 이해해야 한다.
원시 이미지 신호일 수 있는 입력 신호(370)가 먼저 이득, 오프셋 및 클램핑(GOC) 논리(394)에 의해 수신된다. GOC 논리(394)는 도 15에서 전술한 바와 같은 ISP 프론트엔드 논리(80)의 통계 처리 유닛(120)의 BLC 논리(232)와 유사한 기능들을 제공할 수 있으며, 유사한 방식으로 구현될 수 있다. 예를 들어, GOC 논리(394)는 베이어 이미지 센서의 각각의 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 디지털 이득, 오프셋 및 클램핑(클립핑)을 제공할 수 있다. 특히, GOC 논리(394)는 자동 백색 균형을 수행하거나 원시 이미지 데이터의 흑색 레벨을 설정할 수 있다. 게다가, 일부 실시예들에서, GOC 논리(394)는 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 논리(394)는 각각의 컬러 성분에 대해 각각 최대 및 최소 범위들 위 및 아래로 클립핑된 픽셀들의 수의 카운트를 유지하도록 구성될 수도 있다.
이어서, GOC 논리(394)의 출력은 결함 픽셀 검출 및 교정 논리(396)로 전송된다. 도 15(DPDC 논리(230))와 관련하여 전술한 바와 같이, 결함 픽셀들은 다양한 인자들에 기인할 수 있으며, "핫"(또는 누설) 픽셀들, "스턱" 픽셀들 및 "데드" 픽셀들을 포함할 수 있고, 핫 픽셀들은 비결함 픽셀들에 비해 정상보다 높은 전하 누설을 보이며, 따라서 비결함 픽셀보다 밝게 보일 수 있고, 스턱 픽셀은 항상 온(예를 들어, 완전 충전) 상태인 것으로 보이고, 따라서 더 밝게 보이는 반면, 데드 픽셀은 항상 오프 상태인 것으로 보인다. 따라서, 상이한 타입의 고장 시나리오들을 식별하고 해결할 만큼 충분히 강건한 픽셀 검출 방안을 갖는 것이 바람직할 수 있다. 특히, 동적 결함 검출/교정만을 제공할 수 있는 프론트엔드 DPDC 논리(230)와 비교할 때, 파이프 DPDC 논리(396)는 고정 또는 정적 결함 검출/교정, 동적 결함 검출/교정은 물론, 스펙클 제거도 제공할 수 있다.
현재 개시되는 기술들의 실시예들에 따르면, DPDC 논리(396)에 의해 수행되는 결함 픽셀 교정/검출은 각 컬러 성분(예로서, R, B, Gr, Gb)에 대해 독립적으로 이루어질 수 있으며, 결함 픽셀들을 검출하는 것은 물론, 검출된 결함 픽셀들을 교정하기 위한 다양한 연산들을 포함할 수 있다. 예를 들어, 일 실시예에서, 결함 픽셀 검출 연산들은 정적 결함들, 동적 결함들의 검출은 물론, 이미징 센서 내에 존재할 수 있는 전기적 간섭들 또는 잡음(예로서, 광자 잡음)을 지칭할 수 있는 스펙클의 검출도 제공할 수 있다. 유추에 의해, 스펙클은 텔레비전 디스플레이와 같은 디스플레이 상에 정전기가 나타날 수 있는 방식과 유사하게 외관상 임의의 잡음 아티팩트들로서 이미지 상에 나타날 수 있다. 게다가, 전술한 바와 같이, 동적 결함 교정은 주어진 시간에 결함이 있는 것으로서의 픽셀의 특성화가 이웃 픽셀들 내의 이미지 데이터에 의존할 수 있다는 점에서 동적인 것으로 간주된다. 예를 들어, 항상 최대 휘도를 갖는 스턱 픽셀은, 스턱 픽셀의 위치가 밝은 백색 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에 결함 픽셀로서 간주되지 않을 수 있다. 이와 달리, 스턱 픽셀이 흑색 또는 더 어두운 컬러들에 의해 지배되는 현재 이미지의 영역에 있는 경우에, 스턱 픽셀은 DPDC 논리(396)에 의한 처리 동안 결함 픽셀로서 식별되고, 그에 따라 교정될 수 있다.
정적 결함 검출과 관련하여, 각 픽셀의 위치는 결함 있는 것으로 알려진 픽셀들의 위치에 대응하는 데이터를 저장할 수 있는 정적 결함 테이블과 비교된다. 예를 들어, 일 실시예에서, DPDC 논리(396)는 (예로서, 카운터 메커니즘 또는 레지스터를 이용하여) 결함 픽셀들의 검출을 모니터링할 수 있으며, 특정 픽셀이 반복적으로 고장인 것으로 관측되는 경우, 그 픽셀의 위치는 정적 결함 테이블 내에 저장된다. 따라서, 정적 결함 검출 동안, 현재 픽셀의 위치가 정적 결함 테이블 내에 있는 것으로 결정되는 경우, 현재 픽셀은 결함 픽셀로서 식별되며, 교체 값이 결정되고 임시 저장된다. 일 실시예에서, 교체 값은 동일 컬러 성분의 (스캔 순서에 기초하는) 이전 픽셀의 값일 수 있다. 교체 값은 후술하는 바와 같이 동적/스펙클 결함 검출 및 교정 동안 정적 결함을 교정하는 데 사용될 수 있다. 게다가, 이전 픽셀이 원시 프레임(154)(도 9) 밖에 있는 경우, 그의 값은 사용되지 않으며, 정적 결함은 동적 결함 교정 프로세스 동안 교정될 수 있다. 게다가, 메모리 고려로 인해, 정적 결함 테이블은 유한 수의 위치 엔트리들을 저장할 수 있다. 예컨대, 일 실시예에서, 정적 결함 테이블은 이미지 데이터의 2개 라인마다에 대한 총 16개의 위치를 저장하도록 구성된 FIFO 큐로서 구현될 수 있다. 그럼에도 불구하고, 정적 결함 테이블 내에 정의된 위치들은 (후술하는 동적 결함 검출 프로세스를 통해서가 아니라) 이전 픽셀 교체 값을 이용하여 교정될 것이다. 전술한 바와 같이, 본 기술의 실시예들은 시간이 지남에 따라 간헐적으로 정적 결함 테이블의 갱신도 제공할 수 있다.
실시예들은 온칩 메모리 또는 오프칩 메모리 내에 구현될 정적 결함 테이블을 제공할 수 있다. 인식하듯이, 온칩 구현의 이용은 전체 칩 면적/크기를 증가시킬 수 있는 반면, 오프칩 구현의 이용은 칩 면적/크기를 줄일 수 있지만, 메모리 대역폭 요구들을 증가시킬 수 있다. 따라서, 정적 결함 테이블은 구체적인 구현 요구들, 즉 정적 결함 테이블 내에 저장될 픽셀들의 전체 수에 따라 온칩 또는 오프칩으로 구현될 수 있다.
동적 결함 및 스펙클 검출 프로세스들은 전술한 정적 결함 검출 프로세스에 대해 시간 시프트될 수 있다. 예를 들어, 일 실시예에서, 동적 결함 및 스펙클 검출 프로세스는 정적 결함 검출 프로세스가 픽셀들의 2개의 스캔 라인(예로서, 행)을 분석한 후에 시작될 수 있다. 알 수 있듯이, 이것은 동적/스펙클 검출이 발생하기 전에 정적 결함들의 식별 및 이들 각각의 교체 값들의 결정을 가능하게 한다. 예를 들어, 동적/스펙클 검출 프로세스 동안, 현재 픽셀이 정적 결함인 것으로 이전에 마킹된 경우, 동적/스펙클 검출 연산들을 적용하는 것이 아니라, 이전에 평가된 교체 값을 이용하여 정적 결함이 간단히 교정된다.
동적 결함 및 스펙클 검출과 관련하여, 이러한 프로세스들은 순차적으로 또는 병렬로 발생할 수 있다. DPDC 논리(396)에 의해 수행되는 동적 결함 및 스펙클 검출 및 교정은 픽셀 대 픽셀 방향 기울기들을 이용하는 적응성 에지 검출에 의존할 수 있다. 일 실시예에서, DPDC 논리(396)는 사용되는 원시 프레임(154)(도 9) 내에 있는 동일 컬러 성분을 갖는 현재 픽셀의 8개의 바로 이웃 픽셀을 선택할 수 있다. 즉, 현재의 픽셀 및 그의 8개의 바로 이웃 픽셀(P0, P1, P2, P3, P4, P5, P6, P7)은 아래에 도 29에 도시된 바와 같이 3x3 영역을 형성할 수 있다.
그러나, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 계산할 때 원시 프레임(154) 밖의 픽셀들이 고려되지 않는다는 점에 유의해야 한다. 예를 들어, 도 29에 도시된 "좌상" 예(410)와 관련하여, 현재 픽셀(P)은 원시 프레임(154)의 좌상 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2, P3, P5)은 고려되지 않고, 픽셀들(P4, P6, P7)(N=3)만이 남는다. "상부" 예(412)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 상부 에지에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2)은 고려되지 않고, 픽셀들(P3, P4, P5, P6, P7)(N=5)만이 남는다. 이어서, "우상" 예(414)에서, 현재 픽셀(P)은 원시 프레임(154)의 우상 코너에 있으며, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P1, P2, P4, P7)은 고려되지 않고, 픽셀들(P3, P5, P6)(N=3)만이 남는다. "좌측" 예(416)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 좌측 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P3, P5)은 고려되지 않으며, 픽셀들(P1, P2, P4, P6, P7)(N=5)만이 남는다.
"중심" 예(418)에서, 모든 픽셀들(P0-P7)은 원시 프레임(154) 내에 위치하고, 따라서 픽셀 대 픽셀 기울기들을 결정하는 데 사용된다(N=8). "우측" 예(420)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 우측 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P2, P4, P7)은 고려되지 않으며, 픽셀들(P0, P1, P3, P5, P6)(N=5)만이 남는다. 게다가, "좌하" 예(422)에서, 현재 픽셀(P)은 원시 프레임(154)의 좌하 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P0, P3, P5, P6, P7)은 고려되지 않으며, 픽셀들(P1, P2, P4)(N=3)만이 남는다. "하부" 예(424)에서, 현재 픽셀(P)은 원시 프레임(154)의 가장 하부 에지에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P5, P6, P7)은 고려되지 않으며, 픽셀들(P0, P1, P2, P3, P4)(N=5)만이 남는다. 마지막으로, "우하" 예(426)에서, 현재 픽셀(P)은 원시 프레임(154)의 우하 코너에 있고, 따라서 원시 프레임(154) 밖의 이웃 픽셀들(P2, P4, P5, P6, P7)은 고려되지 않으며, 픽셀들(P0, P1, P3)(N=3)만이 남는다.
따라서, 현재 픽셀(P)의 위치에 따라서는, 픽셀 대 픽셀 기울기들을 결정하는 데 사용되는 픽셀들의 수는 3, 5 또는 8개일 수 있다. 도시된 실시예에서는, 픽처 경계(예로서, 원시 프레임(154)) 내의 각 이웃 픽셀(k=0 내지 7)에 대해, 아래와 같이 픽셀 대 픽셀 기울기들이 계산될 수 있다.
Figure pct00018
0≤k≤7에 대해(원시 프레임 내의 k에 대해서만)
게다가, 평균 기울기(Gav)는 아래의 식들에 나타난 바와 같이 현재 픽셀과 그의 주변 픽셀들의 평균(Pav) 사이의 차이로서 계산될 수 있다.
Figure pct00019
여기서, (픽셀 위치에 따라) N = 3, 5 또는 8이다.
Figure pct00020
픽셀 대 픽셀 기울기 값들(식 17)은 동적 결함 예를 결정하는 데 사용될 수 있으며, 이웃 픽셀들의 평균(식 18 및 19)은 아래에 더 설명되는 바와 같이 스펙클 예들을 식별하는 데 사용될 수 있다.
일 실시예에서, 동적 결함 검출은 DPDC 논리(396)에 의해 아래와 같이 수행될 수 있다. 먼저, 소정 수의 기울기들(Gk)이 변수 dynTh(동적 결함 임계치)로 표시되는 특정 임계치에 또는 그 아래에 있는 경우에 픽셀은 결함 있는 것으로 가정된다. 따라서, 각 픽셀에 대해, 임계치 dynTh에 또는 그 아래에 있는 픽처 경계들 내의 이웃 픽셀들에 대한 기울기들의 수의 카운트(C)가 누산된다. 임계치 dynTh는 주변 픽셀들에 존재하는 "활동"에 의존할 수 있는 고정 임계 성분 및 동적 임계 성분의 결합일 수 있다. 예를 들어, 일 실시예에서, dynTh에 대한 동적 임계 성분은 아래에 설명되는 바와 같이 평균 픽셀 값들(Pav)(식 18)과 각 이웃 픽셀 사이의 절대 차이의 합에 기초하여 고주파 성분 값(Phf)을 계산함으로써 결정될 수 있다.
Figure pct00021
여기서, N=3, 5 또는 8이다.
픽셀이 이미지 코너에(N=3) 또는 이미지 에지에(N=5) 위치하는 예들에서, Phf는 8/3 또는 8/5에 의해 각각 승산될 수 있다. 알 수 있듯이, 이것은 고주파 성분(Phf)이 8개의 이웃 픽셀(N=8)에 기초하여 정규화되는 것을 보증한다.
Phf가 결정되면, 동적 결함 검출 임계치 dynTh는 아래에 나타난 바와 같이 계산될 수 있다.
Figure pct00022
여기서, 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)는 아래와 같이 계산될 수 있다.
Figure pct00023
0≤k≤7에 대해(원시 프레임 내의 k에 대해서만)
이어서, 누산된 카운트(C)가 변수 dynMaxC로 표시되는 최대 카운트 이하인 것으로 결정되는 경우, 픽셀은 동적 결함으로 간주될 수 있다. 일 실시예에서, dynMaxC에 대한 차이 값들이 N=3(코너), N=5(에지) 및 N=8 조건들에 대해 제공될 수 있다. 이러한 논리는 아래와 같이 표현된다.
Figure pct00024
인 경우, 현재 픽셀(P)은 결함이 있다.
전술한 바와 같이, 결함 픽셀들의 위치는 정적 결함 테이블 내에 저장될 수 있다. 일부 실시예들에서, 현재 픽셀에 대한 동적 결함 검출 동안 계산된 최소 기울기 값(min(Gk))이 저장될 수 있고, 결함 픽셀들을 분류하는 데 사용될 수 있고, 따라서 더 큰 최소 기울기 값은 결함의 더 큰 "심각성"을 지시하며, 픽셀 교정 동안 덜 심각한 결함들이 교정되기 전에 교정되어야 한다. 일 실시예에서, 픽셀은 예를 들어 시간이 지남에 따라 결함 픽셀들의 위치들을 필터링함으로써, 정적 결함 테이블 내에 저장되기 전에 다수의 이미징 프레임에 걸쳐 처리되는 것이 필요할 수 있다. 후자의 실시예에서, 결함 픽셀의 위치는 결함이 특정 수의 연속 이미지들 내에 동일 위치에 나타나는 경우에만 정적 결함 테이블 내에 저장될 수 있다. 게다가, 일부 실시예들에서, 정적 결함 테이블은 저장된 결함 픽셀 위치들을 최소 기울기 값들에 기초하여 분류하도록 구성될 수 있다. 예를 들어, 가장 높은 최소 기울기 값은 더 큰 "심각성"의 결함을 지시할 수 있다. 이러한 방식으로 위치들을 배열함으로써, 정적 결함 교정의 우선 순위가 설정될 수 있으며, 따라서 가장 심각하거나 중요한 결함들이 먼저 교정된다. 게다가, 정적 결함 테이블은 시간이 지남에 따라 새로 검출된 정적 결함들을 포함하고, 이들 각각의 최소 기울기 값들에 기초하여 이들을 적절히 배열하도록 갱신될 수 있다.
전술한 동적 결함 검출 프로세스와 병렬로 이루어질 수 있는 스펙클 검출은 값 Gav(수학식 19)가 스펙클 검출 임계치 spkTh 보다 높은지를 결정함으로써 수행될 수 있다. 동적 결함 임계치 dynTh와 같이, 스펙클 임계치 spkTh도 spkTh1 및 spkTh2로 각각 지칭되는 고정 및 동적 성분들을 포함할 수 있다. 일반적으로, 더 심하게 텍스처화될 수 있는 이미지의 영역들 및 텍스트, 잎 무늬, 소정의 섬유 패턴 등과 같은 다른 것들에서 스펙클을 잘못 검출하는 것을 방지하기 위해, 고정 및 동적 성분들 spkTh1 및 spkTh2는 dynTh1 및 dynTh2 값들에 비해 더 "공격적으로" 설정될 수 있다. 따라서, 일 실시예에서, 동적 스펙클 임계 성분 spkTh2는 이미지의 고도의 텍스처 영역들에 대해서는 증가할 수 있고, "더 편평하거나" 더 균일한 영역들에 대해서는 감소할 수 있다. 스펙클 검출 임계치 spkTh는 아래에 나타난 바와 같이 계산될 수 있다.
Figure pct00025
여기서, spkTh1은 고정 임계 성분을 나타내고, spkTh2는 동적 임계 성분을 나타낸다. 이어서, 스펙클의 검출은 아래의 식에 따라 결정될 수 있다.
Figure pct00026
인 경우, 현재 픽셀(P)은 스펙클링된다.
결함 픽셀들이 식별되면, DPDC 논리(396)는 검출된 결함의 타입에 따라 픽셀 교정 연산들을 적용할 수 있다. 예를 들어, 결함 픽셀이 정적 결함으로서 식별된 경우, 픽셀은 전술한 바와 같은 저장된 교체 값(예로서, 동일 컬러 성분의 이전 픽셀의 값)으로 교체된다. 픽셀이 동적 결함 또는 스펙클로서 식별된 경우, 픽셀 교정은 다음과 같이 수행될 수 있다. 먼저, 아래에 나타난 바와 같이, 4개 방향, 즉 수평(h) 방향, 수직(v) 방향, 대각선 양의 방향(dp) 및 대각선 음의 방향(dn)에 대한 중심 픽셀과 제1 및 제2 이웃 픽셀들 간의 절대 차이의 합(예로서, 식 17의 Gk의 계산)으로서 기울기들이 계산된다.
Figure pct00027
Figure pct00028
Figure pct00029
Figure pct00030
이어서, 교정 픽셀 값 Pc는 최소 값을 갖는 방향 기울기 Gh, Gv, Gdp 및 Gdn과 관련된 2개의 이웃 픽셀의 선형 보간을 통해 결정될 수 있다. 예를 들어, 일 실시예에서, 아래의 논리적 문장은 Pc의 계산을 표현할 수 있다.
Figure pct00031
DPDC 논리(396)에 의해 구현되는 픽셀 교정 기술들은 또한 경계 조건들에서 예외들을 제공할 수 있다. 예를 들어, 선택된 보간 방향과 관련된 2개의 이웃 픽셀 중 하나가 원시 프레임 밖에 있는 경우, 원시 프레임 내에 있는 이웃 픽셀의 값이 대신 교체된다. 따라서, 이러한 기술을 사용하면, 교정 픽셀 값은 원시 프레임 내의 이웃 픽셀의 값과 등가일 것이다.
DPDC 논리(396)에 의해 ISP 파이프 처리 동안에 적용되는 결함 픽셀 검출/교정 기술들은 ISP 프론트엔드 논리(80) 내의 DPDC 논리(230)에 비해 더 강건하다는 점에 유의한다. 위의 실시예에서 설명된 바와 같이, DPDC 논리(230)는 수평 방향에서만 이웃 픽셀들을 이용하여 동적 결함 검출 및 교정만을 수행하는 반면, DPDC 논리(396)는 수평 및 수직 방향 양자에서 이웃 픽셀들을 이용하여 정적 결함들, 동적 결함들은 물론, 스펙클의 검출 및 교정을 제공한다.
인식하듯이, 정적 결함 테이블을 이용하는 결함 픽셀들의 위치의 저장은 더 낮은 메모리 요구로 결함 픽셀들의 시간 필터링을 제공할 수 있다. 예를 들어, 전체 이미지들을 저장하고, 시간에 따른 정적 결함들을 식별하도록 시간 필터링을 적용하는 많은 통상의 기술에 비해, 본 기술의 실시예들은 결함 픽셀들의 위치들만을 저장하며, 이는 통상적으로 전체 이미지 프레임을 저장하는 데 필요한 메모리의 일부만을 이용하여 수행될 수 있다. 게다가, 전술한 바와 같이, 최소 기울기 값(min(Gk))의 저장은 결함 픽셀들이 교정되는 위치들의 순서를 (예로서, 가장 잘 보이는 것들로부터 시작하여) 우선 순위화하는 정적 결함 테이블의 효율적인 사용을 가능하게 한다.
게다가, 동적 성분(예로서, dynTh2 및 spkTh2)을 포함하는 임계치들의 사용은 통상의 이미지 처리 시스템들에서 이미지의 고도의 텍스처 영역들(예로서, 텍스트, 잎 무늬, 소정 섬유 패턴 등)을 처리할 때 종종 만나는 문제인 잘못된 결함 검출들을 줄이는 것을 도울 수 있다. 게다가, 픽셀 교정을 위한 방향 기울기들(예로서, h, v, dp, dn)의 사용은 잘못된 결함 검출이 발생하는 경우에 시각적 아티팩트들의 발생을 줄일 수 있다. 예를 들어, 최소 기울기 방향에서의 필터링은 대부분의 경우에, 심지어 잘못된 검출의 경우에도 수용 가능한 결과들을 여전히 산출하는 교정을 제공할 수 있다. 게다가, 기울기 계산에서의 현재 픽셀(P)의 포함은 특히 핫 픽셀들의 경우에 기울기 방향의 정확도를 향상시킬 수 있다.
DPDC 논리(396)에 의해 구현되는 전술한 결함 픽셀 검출 및 교정 기술들은 도 30-32에서 제공되는 일련의 흐름도들에 의해 요약될 수 있다. 예를 들어, 도 30을 먼저 참조하면, 정적 결함들을 검출하기 위한 프로세스(430)가 도시되어 있다. 먼저 단계 432에서 시작하여, 제1 시간(T0)에 입력 픽셀(P)이 수신된다. 이어서, 단계 434에서, 픽셀(P)의 위치가 정적 결함 테이블에 저장된 값들과 비교된다. 판정 논리(436)는 픽셀(P)의 위치가 정적 결함 테이블에서 발견되는지를 판정한다. P의 위치가 정적 결함 테이블 내에 있는 경우, 프로세스(430)는 단계 438로 계속되고, 여기서 픽셀(P)은 정적 결함으로 마킹되고, 교체 값이 결정된다. 전술한 바와 같이, 교체 값은 동일 컬러 성분의 (스캔 순서에서) 이전 픽셀의 값에 기초하여 결정될 수 있다. 이어서, 프로세스(430)는 단계 440으로 계속되고, 여기서 프로세스(430)는 도 31에 도시된 동적 및 스펙클 검출 프로세스(444)로 진행한다. 게다가, 판정 논리(436)에서 픽셀(P)의 위치가 정적 결함 테이블 내에 없는 것으로 결정되는 경우, 프로세스(430)는 단계 438을 수행하지 않고 단계 440으로 진행한다.
도 31로 계속되어, 동적 결함 또는 스펙클이 존재하는지를 결정하기 위한 처리를 위해 단계 446에 나타난 바와 같이 시간 T1에서 입력 픽셀(P)이 수신된다. 시간 T1은 도 30의 정적 결함 검출 프로세스(430)에 관한 시간 시프트를 나타낼 수 있다. 전술한 바와 같이, 동적 결함 및 스펙클 검출 프로세스는 정적 결함 검출 프로세스가 픽셀들의 2개의 스캔 라인(예로서, 행)을 분석한 후에 시작될 수 있으며, 따라서 동적/스펙클 검출이 발생하기 전에 정적 결함들의 식별 및 이들 각각의 교체 값들의 결정을 위한 시간을 허락할 수 있다.
판정 논리(448)는 입력 픽셀(P)이 (예로서, 프로세스(430)의 단계 438에 의해) 정적 결함으로서 이전에 마킹되었는지를 판정한다. P가 정적 결함으로 마킹된 경우, 프로세스(444)는 도 32에 도시된 픽셀 교정 프로세스로 계속될 수 있으며, 도 31에 도시된 단계들의 나머지를 바이패스할 수 있다. 판정 논리(448)가 입력 픽셀(P)이 정적 결함이 아닌 것으로 판정하는 경우, 프로세스는 단계 450으로 계속되고, 동적 결함 및 스펙클 프로세스에서 사용될 수 있는 이웃 픽셀들이 식별된다. 예를 들어, 전술한 그리고 도 29에 도시된 실시예에 따르면, 이웃 픽셀들은 픽셀(P)에 바로 이웃하는 8개의 픽셀(예로서, P0-P7)을 포함할 수 있으며, 따라서 3x3 픽셀 영역을 형성할 수 있다. 이어서, 단계 452에서, 위의 식 17에서 설명된 바와 같이, 원시 프레임(154) 내의 각 이웃 픽셀에 대해 픽셀 대 픽셀 기울기들이 계산된다. 게다가, 식 18 및 19에 나타난 바와 같이, 현재 픽셀과 그 주변의 픽셀들의 평균 사이의 차이로서 평균 기울기(Gav)가 계산될 수 있다.
이어서, 프로세스(444)는 동적 결함 검출을 위한 단계 454 및 스펙클 검출을 위한 판정 논리 464로 분기한다. 전술한 바와 같이, 일부 실시예들에서는 동적 결함 검출과 스펙클 검출이 병렬로 이루어질 수 있다. 단계 454에서, 임계치 dynTh 이하인 기울기들의 수의 카운트(C)가 결정된다. 전술한 바와 같이, 임계치 dynTh는 고정 및 동적 컴포넌트들을 포함할 수 있으며, 일 실시예에서는 위의 식 21에 따라 결정될 수 있다. C가 최대 카운트 dynMaxC 이하인 경우, 프로세스(444)는 단계 460으로 계속되어, 현재 픽셀이 동적 결함으로서 마킹된다. 이어서, 프로세스(444)는 도 32에 도시된 픽셀 교정 프로세스로 계속될 수 있으며, 이는 아래에 설명된다.
단계 452 후의 스펙클 검출을 위한 분기로 복귀하면, 판정 논리(464)는 평균 기울기(Gav)가 고정 및 동적 성분을 또한 포함할 수 있는 스펙클 검출 임계치 spkTh보다 큰지를 판정한다. Gav가 임계치 spkTh보다 큰 경우, 픽셀(P)은 단계 466에서 스펙클을 포함하는 것으로 마킹되며, 이어서 프로세스(444)는 스펙클링된 픽셀의 교정을 위해 도 32로 계속된다. 게다가, 판정 논리 블록들(456, 464) 양자의 출력이 "아니오"인 경우, 이것은 픽셀(P)이 동적 결함, 스펙클 또는 심지어 정적 결함도 포함하지 않는다는 것을 지시한다(판정 논리 448). 따라서, 판정 논리 456 및 464의 출력들이 모두 "아니오"일 때, 프로세스(444)는 단계 458에서 종료될 수 있으며, 따라서 픽셀(P)은 변경되지 않고, 결함(정적, 동적 또는 스펙클)이 검출되지 않는다.
도 32로 계속하면, 전술한 기술들에 따른 픽셀 교정 프로세스(470)가 제공된다. 단계 472에서, 입력 픽셀(P)이 도 31의 프로세스(444)로부터 수신된다. 픽셀(P)은 단계 448(정적 결함)로부터 또는 단계들 460(동적 결함) 및 466(스펙클 결함)으로부터 프로세스(470)에 의해 수신될 수 있다. 이어서, 판정 논리(474)는 픽셀(P)이 정적 결함으로 마킹되었는지를 판정한다. 픽셀(P)이 정적 결함인 경우, 프로세스(470)는 계속하여 단계 476에서 종료되며, 따라서 단계 438(도 30)에서 결정된 교체 값을 이용하여 정적 결함이 교정된다.
픽셀(P)이 정적 결함으로 식별되지 않은 경우, 프로세스(470)는 판정 논리 474로부터 단계 478로 계속되어, 방향 기울기들이 계산된다. 예를 들어, 식 26-29와 관련하여 전술한 바와 같이, 기울기들은 4개의 방향(h, v, dp, dn)에 대한 중심 픽셀과 제1 및 제2 이웃 픽셀들 사이의 절대 차이의 합으로서 계산될 수 있다. 이어서, 단계 480에서, 최소 값을 가진 방향 기울기가 식별되고, 이어서 판정 논리(482)는 최소 기울기와 관련된 2개의 이웃 픽셀 중 하나가 이미지 프레임(예로서, 원시 프레임(154)) 밖에 위치하는지를 평가한다. 양 이웃 픽셀들이 이미지 프레임 내에 있는 경우, 프로세스(470)는 단계 484로 계속되어, 식 30에 나타난 바와 같이, 2개의 이웃 픽셀의 값들에 선형 보간을 적용함으로써 픽셀 교정 값(Pc)이 결정된다. 이어서, 단계 492에 나타난 바와 같이, 보간된 픽셀 교정 값(Pc)을 이용하여 입력 픽셀(P)이 교정될 수 있다.
판정 논리(482)를 다시 참조하면, 2개의 이웃 픽셀 중 하나가 이미지 프레임(예로서, 원시 프레임(165)) 밖에 위치하는 것으로 결정되는 경우, 외부 픽셀(Pout)의 값을 사용하는 대신에, DPDC 논리(396)는 단계 488에 나타난 바와 같이 Pout의 값을 이미지 프레임 내에 있는 다른 이웃 픽셀(Pin)의 값으로 교체할 수 있다. 이어서, 단계 490에서, Pin의 값들 및 Pout의 교체된 값을 보간함으로써 픽셀 교정 값(Pc)이 결정된다. 즉, 이 경우에 Pc는 Pin의 값과 등가일 수 있다. 단계 492에서 종결하여, 픽셀(P)이 값 Pc를 이용하여 교정된다. 계속하기 전에, DPDC 논리(396)와 관련하여 본 명세서에서 설명된 특정 결함 픽셀 검출 및 교정 프로세스들은 본 기술의 하나의 가능한 실시예만을 반영하는 것을 의도한다는 것을 이해해야 한다. 사실상, 설계 및/또는 비용 제한들에 따라, 다수의 변형예가 가능하며, 결함 검출/교정 논리의 전체 복잡성 및 강건함이 ISP 프론트엔드 블록(80) 내에 구현되는 더 간단한 검출/교정 논리(230)와 DPDC 논리(396)와 관련하여 본 명세서에서 설명되는 결함 검출/교정 논리 사이에 있도록 특징들이 추가되거나 제거될 수 있다.
도 28을 다시 참조하면, 교정된 픽셀 데이터가 DPDC 논리(396)로부터 출력되고, 이어서 추가 처리를 위해 잡음 저감 논리(398)에 의해 수신된다. 일 실시예에서, 잡음 저감 논리(398)는 상세들 및 텍스처들을 유지하면서 이미지 데이터 내의 잡음을 줄이기 위해 이차원 에지 적응 저역 통과 필터링을 구현하도록 구성될 수 있다. 에지 적응 임계치들은 현재 조명 레벨들에 기초하여 (예로서, 제어 논리(84)에 의해) 설정될 수 있으며, 따라서 낮은 광 조건들에서 필터링이 강화될 수 있다. 게다가, dynTh 및 spkTh 값들의 결정과 관련하여 간단히 전술한 바와 같이, 주어진 센서에 대해 잡음 분산이 미리 결정될 수 있으며, 따라서 잡음 저감 임계치들은 잡음 분산 바로 위로 설정될 수 있고, 따라서 잡음 저감 처리 동안, 장면의 텍스처들 및 상세들에 크게 영향을 미치지 않고 잡음이 감소된다(예를 들어, 잘못된 검출들이 방지/감소된다). 베이어 컬러 필터 구현을 가정하면, 잡음 저감 논리(398)는 분리 가능한 7탭 수평 필터 및 5탭 수직 필터를 이용하여 각 컬러 성분(Gr, R, B, Gb)을 개별적으로 처리할 수 있다. 일 실시예에서는, 녹색 성분들(Gb, Gr)의 불균일을 교정한 후에 수평 필터링 및 수직 필터링을 수행함으로써 잡음 저감 프로세스가 수행될 수 있다.
녹색 불균일(GNU)은 균일하게 조명된 편평한 표면이 주어질 때 Gr 및 Gb 픽셀들 사이의 근소한 휘도 차이에 의해 일반적으로 특성화된다. 이러한 불균일의 교정 또는 보상이 없는 경우, 디모자이킹 후에 풀 컬러 이미지 내에 "메이즈(maze)" 아티팩트와 같은 소정의 아티팩트들이 나타날 수 있다. 녹색 불균일 동안, 프로세스는 원시 베이어 이미지 데이터 내의 각 녹색 픽셀에 대해 현재 녹색 픽셀(G1)과 현재 픽셀 우측 및 아래의 녹색 픽셀(G2) 사이의 절대 차이가 GNU 교정 임계치(gnuTh)보다 작은지를 결정하는 단계를 포함할 수 있다. 도 33은 베이어 패턴의 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의 평균으로 교체된다.
Figure pct00032
알 수 있듯이, 이러한 방식의 녹색 불균일 교정의 적용은 G1과 G2 픽셀들이 에지들에 걸쳐 평균되는 것을 방지하여 선명성을 향상 및/또는 유지하는 것을 도울 수 있다.
녹색 불균일 교정에 이어서 수평 필터링이 적용되며, 일 실시예에서는 7탭 수평 필터를 제공할 수 있다. 각 필터 탭의 에지에 걸치는 기울기들이 계산되며, 그것이 수평 에지 임계치(horzTh) 이상인 경우, 후술하는 바와 같이 필터 탭은 중심 픽셀로 폴딩된다. 수평 필터는 각 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 이미지 데이터를 처리할 수 있으며, 필터링되지 않은 값들을 입력 값들로서 사용할 수 있다.
예를 들어, 도 34는 P3에 중심 탭이 위치하는 수평 픽셀들(P0 내지 P6)의 세트의 그래픽 표현을 나타낸다. 도 34에 도시된 픽셀들에 기초하여, 각 필터 탭에 대한 에지 기울기들이 아래와 같이 계산될 수 있다.
Figure pct00033
Figure pct00034
Figure pct00035
Figure pct00036
Figure pct00037
Figure pct00038
이어서, 수평 필터 컴포넌트는 에지 기울기들(Eh0-Eh5)을 사용하여, 아래의 식 38에 나타난 공식을 이용하여 수평 필터링 출력(Phorz)을 결정할 수 있다.
Figure pct00039
여기서, horzTh[c]는 각 컬러 성분(c)(예로서, R, B, Gr, Gb)에 대한 수평 에지 임계치이고, C0-C6은 픽셀들(P0-P6)에 각각 대응하는 필터 탭 계수들이다. 수평 필터 출력(Phorz)은 중심 픽셀(P3) 위치에 적용될 수 있다. 일 실시예에서, 필터 탭 계수들(C0-C6)은 3개의 정수 비트와 13개의 분수 비트를 가진 16비트 2의 보수 값들(부동 소수점으로 3.13)일 수 있다. 게다가, 필터 탭 계수들(C0-C6)은 중심 픽셀(P3)에 대해 반드시 대칭일 필요는 없다는 점에 유의해야 한다.
녹색 불균일 교정 및 수평 필터링 프로세스들에 이어서 잡음 저감 논리(398)에 의해 수직 필터링도 적용된다. 일 실시예에서, 수직 필터 연산은 도 35에 도시된 바와 같은, 수직 필터의 중심 탭이 P2에 위치할 5탭 필터를 제공할 수 있다. 수직 필터링 프로세스는 전술한 수평 필터링 프로세스와 유사한 방식으로 이루어질 수 있다. 예를 들어, 각 필터 탭의 에지에 걸치는 기울기들이 계산되며, 그것이 수직 에지 임계치(vertTh)를 초과하는 경우, 필터 탭은 중심 픽셀(P2)로 폴딩된다. 수직 필터는 각 컬러 성분(R, B, Gr, Gb)에 대해 독립적으로 이미지 데이터를 처리할 수 있으며, 필터링되지 않은 값들을 입력 값들로 사용할 수 있다.
도 35에 도시된 픽셀들에 기초하여, 각 필터 탭에 대한 수직 에지 기울기들이 아래와 같이 계산될 수 있다.
Figure pct00040
Figure pct00041
Figure pct00042
Figure pct00043
이어서, 수직 필터는 에지 기울기들(Ev0-Ev5)을 이용하여, 아래의 식 43에 나타난 공식을 이용하여 수직 필터링 출력(Pvert)을 결정할 수 있다.
Figure pct00044
여기서, vertTh[c]는 각 컬러 성분(c)(예로서, R, B, Gr, Gb)에 대한 수직 에지 임계치이고, C0-C4는 도 35의 픽셀들(P0-P4) 각각에 대응하는 필터 탭 계수들이다. 수직 필터 출력(Pvert)은 중심 픽셀(P2) 위치에 적용될 수 있다. 일 실시예에서, 필터 탭 계수들(C0-C4)은 3개의 정수 비트와 13개의 분수 비트를 갖는 16비트 2의 보수 값들(부동 소수점으로 3.13)일 수 있다. 게다가, 필터 탭 계수들(C0-C4)은 중심 픽셀(P2)에 대해 반드시 대칭일 필요는 없다는 점에 유의해야 한다.
게다가, 경계 조건들과 관련하여, 이웃 픽셀들이 원시 프레임(154)(도 9) 밖에 있을 때, 경계밖 픽셀들의 값들은 원시 프레임의 에지에서의 동일 컬러 픽셀의 값으로 복사된다. 이러한 규약은 수평 및 수직 필터링 연산들 양자에 대해 구현될 수 있다. 예를 들어, 도 34를 다시 참조하면, 수평 필터링의 경우, 픽셀(P2)이 원시 프레임의 가장 좌측 에지의 에지 픽셀이고, 픽셀들(P0, P1)이 원시 프레임 밖에 있는 경우, 픽셀들(P0, P1)의 값들은 수평 필터링을 위해 픽셀(P2)의 값으로 교체된다.
도 28에 도시된 원시 처리 논리(360)의 블록도를 다시 참조하면, 이어서 잡음 저감 논리(398)의 출력은 처리를 위해 렌즈 쉐이딩 교정(LSC) 논리(400)로 전송된다. 전술한 바와 같이, 렌즈 쉐이딩 교정 기술들은 렌즈의 기하 광학, 제조 결함, 마이크로렌즈 어레이와 컬러 어레이 필터의 오정렬 등의 결과일 수 있는 광 강도의 저하를 보상하기 위해 픽셀별로 적절한 이득을 적용하는 단계를 포함할 수 있다. 게다가, 일부 렌즈들 내의 적외선(IR) 필터는 저하가 발광체에 의존하게 할 수 있으며, 따라서 렌즈 쉐이딩 이득들은 검출되는 광원에 따라 적응될 수 있다.
도시된 실시예에서, ISP 파이프(82)의 LSC 논리(400)는 도 18-26과 관련하여 전술한 바와 같은 ISP 프론트엔드 블록(80)의 LSC 논리(234)와 유사한 방식으로 구현될 수 있으며, 따라서 대체로 동일한 기능들을 제공할 수 있다. 따라서, 중복을 피하기 위하여, 현재 설명되는 실시예의 LSC 논리(400)는 LSC 논리(230)와 대체로 동일한 방식으로 동작하도록 구성되며, 따라서 위에서 제공된 렌즈 쉐이딩 교정 기술들의 설명은 여기서 반복되지 않는다는 것을 이해해야 한다. 그러나, 일반적으로 요약하면, LSC 논리(400)는 현재 픽셀에 적용할 이득을 결정하기 위해 원시 픽셀 데이터 스트림의 각 컬러 성분을 개별적으로 처리할 수 있다는 것을 이해해야 한다. 전술한 실시예들에 따르면, 렌즈 쉐이딩 교정 이득은 이미징 프레임에 걸쳐 분포된 이득 그리드 포인트들의 정의된 세트에 기초하여 결정될 수 있으며, 각각의 그리드 포인트 사이의 간격은 픽셀들의 수(예로서, 8개 픽셀, 16개 픽셀 등)에 의해 정의된다. 현재 픽셀의 위치가 그리드 포인트에 대응하는 경우, 그 그리드 포인트와 관련된 이득 값이 현재 픽셀에 적용된다. 그러나, 현재 픽셀의 위치가 그리드 포인트들(예로서, 도 21의 G0, G1, G2, G3) 사이에 있는 경우, LSC 이득 값은 현재 픽셀이 사이에 위치하는 그리드 포인트들의 보간에 의해 계산될 수 있다(식 11a 및 11b). 이 프로세스는 도 22의 프로세스(310)에 의해 설명된다. 게다가, 도 20과 관련하여 전술한 같이, 일부 실시예들에서, 그리드 포인트들은 불균일하게(로그 방식으로) 분포될 수 있으며, 따라서 그리드 포인트들은 LSC 영역(280)의 중심에 덜 집중되지만, 통상적으로 렌즈 쉐이딩 왜곡이 더 현저한 LSC 영역(280)의 코너들을 향해 더 집중된다.
게다가, 도 25 및 26과 관련하여 전술한 바와 같이, LSC 논리(400)는 또한 그리드 이득 값을 갖는 방사상 이득 성분을 적용할 수 있다. 방사상 이득 성분은 이미지의 중심으로부터의 현재 픽셀의 거리에 기초하여 결정될 수 있다(식 12-14). 전술한 바와 같이, 방사상 이득의 이용은 모든 컬러 성분들에 대한 단일 공통 이득 그리드의 이용을 가능하게 하며, 이는 각 컬러 성분에 대한 개별 이득 그리드들을 저장하는 데 필요한 전체 저장 공간을 크게 줄일 수 있다. 이러한 그리드 이득 데이터의 감소는 구현 비용을 줄일 수 있는데, 그 이유는 그리드 이득 데이터 테이블들이 이미지 처리 하드웨어 내의 메모리 또는 칩 면적의 상당 부분을 책임질 수 있기 때문이다.
이어서, 도 28의 원시 처리 논리 블록도(360)를 다시 참조하면, LSC 논리(400)의 출력이 제2 이득, 오프셋 및 클램핑(GOC) 블록(402)으로 전송된다. GOC 논리(402)는 (논리 블록 404에 의해) 디모자이킹 전에 적용될 수 있으며, LSC 논리(400)의 출력에 대해 자동 백색 균형을 수행하는 데 사용될 수 있다. 도시된 실시예에서, GOC 논리(402)는 GOC 논리(394)(및 BLC 논리 232)와 동일한 방식으로 구현될 수 있다. 따라서, 위의 식 9에 따르면, GOC 논리(402)에 의해 수신된 입력은 먼저 유부호 값에 의해 오프셋된 후에 이득에 의해 승산된다. 이어서, 결과 값이 식 10에 따라 최소 및 최대 범위로 클립핑된다.
이어서, GOC 논리(402)의 출력은 원시 베이어 입력 데이터에 기초하여 풀 컬러(RGB) 이미지를 생성하기 위한 처리를 위해 디모자이킹 논리(404)로 전송된다. 인식하듯이, 베이어 필터와 같은 컬러 필터 어레이를 이용하는 이미지 센서의 원시 출력은 각 픽셀이 단일 컬러 성분만을 획득하도록 필터링된다는 점에서 "불완전"하다. 따라서, 개별 픽셀에 대해서만 수집된 데이터는 컬러를 결정하기에는 불충분하다. 따라서, 각각의 픽셀에 대해 누락된 컬러 데이터를 보간함으로써 원시 베이어 데이터로부터 풀 컬러 이미지를 생성하기 위해 디모자이킹 기술들이 이용될 수 있다.
이제, 도 36을 참조하면, 풀 컬러 RGB를 생성하기 위해 원시 베이어 이미지 패턴(502)에 디모자이킹이 어떻게 적용될 수 있는지에 대한 일반 개요를 제공하는 그래픽 처리 흐름(500)이 도시되어 있다. 도시된 바와 같이, 원시 베이어 이미지(502)의 4x4 부분(504)은 녹색 채널(506), 적색 채널(508) 및 청색 채널(510)을 포함하는 각 컬러 성분에 대한 개별 채널들을 포함할 수 있다. 베이어 센서 내의 각 이미징 픽셀은 하나의 컬러에 대한 데이터만을 획득하므로, 각 컬러 채널(506, 508, 510)에 대한 컬러 데이터는 "?" 심벌들로 지시되는 바와 같이 불완전할 수 있다. 디모자이킹 기술(512)을 적용함으로써, 각 채널로부터의 누락된 컬러 샘플들이 보간될 수 있다. 예를 들어, 참조 번호 514로 지시되는 바와 같이, 보간된 데이터(G')는 녹색 채널 상의 누락 샘플들을 채우는 데 사용될 수 있다. 유사하게, 보간된 데이터(R')는 (보간된 데이터(G')(514)와 함께) 적색 채널(516) 상의 누락 샘플들을 채우는 데 사용될 수 있고, 보간된 데이터(B')는 (보간된 데이터(G')(514)와 함께) 청색 채널(518) 상의 누락 샘플들을 채우는 데 사용될 수 있다. 따라서, 디모자이킹 프로세스의 결과로서, 각 컬러 채널(R, G, B)은 컬러 데이터의 풀 세트를 가질 것이며, 이어서 이들은 풀 컬러 RGB 이미지(520)를 재구성하는 데 사용될 수 있다.
이제, 일 실시예에 따른, 디모자이킹 논리(404)에 의해 구현될 수 있는 디모자이킹 기술이 설명된다. 녹색 채널 상에서, 공지된 녹색 샘플들에 대해 저역 통과 방향 필터를 그리고 인접 컬러 채널들(예로서, 적색 및 청색)에 대해 고역 통과(또는 기울기) 필터를 이용하여 누락 컬러 샘플들이 보간될 수 있다. 적색 및 청색 채널들의 경우, 누락 컬러 샘플들은 유사한 방식으로, 그러나 공지된 적색 또는 청색 값들에 대해 저역 통과 필터링을 그리고 같이 위치하는 보간된 녹색 값에 대해 고역 통과 필터링을 이용하여 보간될 수 있다. 게다가, 일 실시예에서, 녹색 채널 상의 디모자이킹은 오리지널 베이어 컬러 데이터에 기초하는 5x5 픽셀 블록 에지 적응 필터를 사용할 수 있다. 아래에 더 설명되는 바와 같이, 에지 적응 필터의 사용은 수평 및 수직 필터링된 값들의 기울기들에 기초하는 연속 가중을 제공할 수 있으며, 이는 통상의 디모자이킹 기술들에서 일반적으로 나타나는 앨리어싱, "체커보드" 또는 "레인보우" 아티팩트들과 같은 소정의 아티팩트들의 발생을 줄인다.
녹색 채널 상의 디모자이킹 동안, 베이어 이미지 패턴의 녹색 픽셀들(Gr, Gb 픽셀들)에 대한 오리지널 값들이 사용된다. 그러나, 녹색 채널에 대한 데이터의 풀 세트를 얻기 위해, 녹색 픽셀 값들이 베이어 이미지 패턴의 적색 및 청색 픽셀들에 보간될 수 있다. 본 기술에 따르면, Eh 및 Ev로 각각 참조되는 수평 및 수직 에너지 성분들이 먼저 전술한 5x5 픽셀 블록에 기초하여 적색 및 청색 픽셀들에서 계산된다. Eh 및 Ev의 값들은 후술하는 바와 같이 수평 및 수직 필터링 단계들로부터 에지 가중된 필터링된 값을 얻는 데 사용될 수 있다.
예를 들어, 도 37은 위치 (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로 표시된다.
Figure pct00045
Figure pct00046
따라서, 총 에너지 합은 Eh + Ev로서 표현될 수 있다. 게다가, 도 37에 도시된 예는 (j,i)에 있는 적색 중심 픽셀에 대한 Eh 및 Ev의 계산을 설명하지만, Eh 및 Ev 값들은 청색 중심 픽셀에 대해 유사한 방식으로 결정될 수 있다는 것을 이해해야 한다.
이어서, 베이어 패턴에 수평 및 수직 필터링을 적용하여, 수평 및 수직 방향의 보간된 녹색 값들을 각각 나타낼 수 있는 수직 및 수평 필터링된 값들(Gh, Gv)을 얻을 수 있다. 필터링된 값들(Gh, Gv)은 누락된 녹색 샘플들의 위치들에서 고주파 신호를 얻기 위해 인접 컬러(R 또는 B)의 방향 기울기들을 이용하는 것에 더하여 공지된 이웃 녹색 샘플들에 대해 저역 통과 필터를 이용하여 결정될 수 있다. 예를 들어, 도 38을 참조하여, 이제 Gh를 결정하기 위한 수평 보간의 일례가 설명된다.
도 38에 도시된 바와 같이, 베이어 이미지의 적색 라인(530)의 5개의 수평 픽셀(R0, G1, R2, G3, R4)(R2가 (j,i)에 있는 중심 픽셀인 것으로 가정함)이 Gh의 결정에 고려될 수 있다. 이러한 5개의 픽셀 각각과 관련된 필터링 계수들은 참조 번호 532로 지시된다. 따라서, 중심 픽셀(R2)에 대한 G2'로서 참조되는 녹색 값의 보간은 아래와 같이 결정될 수 있다.
Figure pct00047
이어서, 다양한 수학 연산들을 이용하여, 아래의 식 47 및 48에 나타난 G2'에 대한 식을 생성할 수 있다.
Figure pct00048
Figure pct00049
따라서, 도 38 및 위의 식 46-48을 참조하면, (j,i)에서의 녹색 값에 대한 수평 보간에 대한 일반 식이 다음과 같이 도출될 수 있다.
Figure pct00050
수직 필터링 성분(Gv)은 Gh와 유사한 방식으로 결정될 수 있다. 예를 들어, 도 39를 참조하면, 베이어 이미지의 적색 열(534)의 5개의 수직 픽셀(R0, G1, R2, G3, R4) 및 이들 각각의 필터링 계수들(536)(R2는 (j,i)에 있는 중심 픽셀로 가정됨)이 Gv의 결정에 고려될 수 있다. 공지된 녹색 샘플들에 대해 저역 통과 필터링을 그리고 수직 방향의 적색 채널에 대해 고역 통과 필터링을 이용하면, Gv에 대해 아래의 식이 도출될 수 있다.
Figure pct00051
본 명세서에서 설명되는 예들은 적색 픽셀에 대한 녹색 값들의 보간을 설명하지만, 식 49 및 50에 나타난 식들은 청색 픽셀들에 대한 녹색 값들의 수평 및 수직 보간에도 사용될 수 있다는 것을 이해해야 한다.
중심 픽셀 (j,i)에 대한 최종 보간된 녹색 값(G')은 아래의 식을 산출하기 위해 전술한 에너지 성분들(Eh, Ev)에 의해 수평 및 수직 필터 출력들(Gh, Gv)을 가중함으로써 결정될 수 있다.
Figure pct00052
전술한 바와 같이, 에너지 성분들(Eh, Ev)은 수평 및 수직 필터 출력들(Gh, Gv)의 에지 적응 가중화를 제공할 수 있으며, 이는 재구성되는 RGB 이미지 내의 레인보우, 앨리어싱 또는 체커보드 아티팩트들과 같은 이미지 아티팩트들을 줄이는 것을 도울 수 있다. 게다가, 디모자이킹 논리(404)는 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개의 최고 에너지 성분이 수직 및 대각선 양의 방향들에 대응하는 것으로 가정하면, 수직 및 대각선 양의 에너지 성분들은 (예로서, 베이어 패턴 내의 적색 또는 청색 픽셀 위치에서의) 보간된 녹색 값을 결정하기 위해 수직 및 대각선 양의 필터 출력들을 가중하는 데 사용된다.
이어서, 베이어 이미지 패턴의 녹색 픽셀들에서 적색 및 청색 값들을 보간하고, 베이어 이미지 패턴의 청색 픽셀들에서 적색 값들을 보간하고, 베이어 이미지 패턴의 적색 픽셀들에서 청색 값들을 보간함으로써, 적색 및 청색 채널들에 대한 디모자이킹이 수행될 수 있다. 현재 설명된 기술들에 따르면, 누락된 적색 및 청색 픽셀 값들은 공지된 이웃 적색 및 청색 픽셀들에 기초하는 저역 통과 필터링 및 현재 픽셀의 위치에 따라 (전술한 녹색 채널 디모자이킹 프로세스로부터의) 오리지널 또는 보간된 값들일 수 있는 같이 위치하는 녹색 픽셀 값들에 기초하는 고역 통과 필터링을 이용하여 보간될 수 있다. 따라서, 그러한 실시예들과 관련하여, 누락된 녹색 값들의 보간이 먼저 수행될 수 있으며, 따라서 누락된 적색 및 청색 샘플들을 보간할 때 녹색 값들(오리지널 및 보간된 값들 둘다)의 완전한 세트가 이용가능하다는 것을 이해해야 한다.
적색 및 청색 픽셀 값들의 보간은 도 40을 참조하여 설명될 수 있으며, 이 도면은 적색 및 청색 디모자이킹이 적용될 수 있는 베이어 이미지 패턴의 다양한 3x3 블록들은 물론, 녹색 채널에 대한 디모자이킹 동안에 얻어졌을 수 있는 (G'로 표시된) 보간된 녹색 값들을 도시한다. 블록 540을 먼저 참조하면, Gr 픽셀(G11)에 대한 보간된 적색 값(R'11)이 아래와 같이 결정될 수 있다.
Figure pct00053
여기서, G'10 및 G'12는 참조 번호 548로 표시된 바와 같은 보간된 녹색 값들을 나타낸다. 유사하게, Gr 픽셀(G11)에 대한 보간된 청색 값(B'11)이 아래와 같이 결정될 수 있다.
Figure pct00054
여기서, G'01 및 G'21은 보간된 녹색 값들(548)을 나타낸다.
이어서, 중심 픽셀이 Gb 픽셀(G11)인 픽셀 블록(542)을 참조하면, 보간된 적색 값(R'11) 및 청색 값(B'11)은 아래의 식 54 및 55에 나타난 바와 같이 결정될 수 있다.
Figure pct00055
Figure pct00056
게다가, 픽셀 블록(544)을 참조하면, 청색 픽셀(B11)에 대한 적색 값의 보간은 다음과 같이 결정될 수 있다.
Figure pct00057
여기서, G'00, G'02, G'11, G'20 및 G'22는 참조 번호 550으로 지시되는 바와 같은 보간된 녹색 값들을 나타낸다. 마지막으로, 픽셀 블록 546으로 지시되는 바와 같은 적색 픽셀에 대한 청색 값의 보간은 다음과 같이 계산될 수 있다.
Figure pct00058
전술한 실시예는 적색 및 청색 보간된 값들을 결정하기 위해 컬러 차이들(예로서, 기울기들)에 의존하지만, 다른 실시예는 컬러 비율들을 이용하여 보간된 적색 및 청색 값들을 제공할 수 있다. 예를 들어, 보간된 녹색 값들(블록 548 및 550)을 이용하여, 베이어 이미지 패턴의 적색 및 청색 픽셀 위치들에서의 컬러 비율을 얻을 수 있고, 비율들의 선형 보간을 이용하여, 누락 컬러 샘플에 대한 보간된 컬러 비율을 결정할 수 있다. 보간된 또는 오리지널 값일 수 있는 녹색 값과 보간된 컬러 비율을 곱하여, 최종 보간된 컬러 값을 얻을 수 있다. 예를 들어, 컬러 비율들을 이용한 적색 및 청색 픽셀 값들의 보간은 아래의 식들에 따라 수행될 수 있으며, 식 58 및 59는 Gr 픽셀에 대한 적색 및 청색 값들의 보간을 나타내고, 식 60 및 61은 Gb 픽셀에 대한 적색 및 청색 값들의 보간을 나타내고, 식 62는 청색 픽셀에 대한 적색 값의 보간을 나타내고, 식 63은 적색 픽셀에 대한 청색 값의 보간을 나타낸다.
Figure pct00059
(G11이 Gr 픽셀일 때 R'11이 보간된다)
Figure pct00060
(G11이 Gr 픽셀일 때 B'11이 보간된다)
Figure pct00061
(G11이 Gb 픽셀일 때 R'11이 보간된다)
Figure pct00062
(G11이 Gb 픽셀일 때 B'11이 보간된다)
Figure pct00063
(청색 픽셀 B11에 대해 R'11이 보간된다)
Figure pct00064
(적색 픽셀 R11에 대해 B'11이 보간된다)
베이어 이미지 패턴으로부터의 각각의 이미지 픽셀에 대해 누락 컬러 샘플들이 보간되면, 적색, 청색 및 녹색 채널들(예로서, 도 36의 514, 516 및 518) 각각에 대한 컬러 값들의 완전한 샘플을 결합하여 풀 컬러 RGB 이미지를 생성할 수 있다. 예를 들어, 도 27 및 28을 다시 참조하면, 원시 픽셀 처리 논리(360)의 출력(372)은 8, 10, 12 또는 14비트 포맷의 RGB 이미지 신호일 수 있다.
이제, 도 41-44를 참조하면, 개시되는 실시예들에 따른, 원시 베이어 이미지 패턴을 디모자이킹하기 위한 프로세스들을 나타내는 다양한 흐름도들이 도시되어 있다. 특히, 도 41의 프로세스(560)는 주어진 입력 픽셀(P)에 대해 어떤 컬러 성분들이 보간되어야 하는지의 결정을 설명한다. 프로세스(560)에 의한 결정에 기초하여, 녹색 값을 보간하기 위한 프로세스(572)(도 42), 적색 값을 보간하기 위한 프로세스(584)(도 43) 또는 청색 값을 보간하기 위한 프로세스(598)(도 44) 중 하나 이상이 (예로서, 디모자이킹 논리(404)에 의해) 수행될 수 있다.
도 41로부터 시작하면, 프로세스(560)는 입력 픽셀(P)이 수신되는 단계 562에서 시작된다. 판정 논리(564)는 입력 픽셀의 컬러를 판정한다. 예를 들어, 이것은 베이어 이미지 패턴 내의 픽셀의 위치에 의존할 수 있다. 따라서, P가 녹색 픽셀(예로서, Gr 또는 Gb)로서 식별되는 경우, 프로세스(560)는 단계 566으로 진행하여, P에 대한 보간된 적색 및 청색 값들을 획득한다. 이것은 예를 들어 도 43 및 44의 프로세스들(584, 598) 각각으로 계속하는 것을 포함할 수 있다. P가 적색 픽셀로서 식별되는 경우, 프로세스(560)는 단계 568로 진행하여, P에 대한 보간된 녹색 및 청색 값들을 획득한다. 이것은 도 42 및 44의 프로세스들(572, 598) 각각을 더 수행하는 것을 포함할 수 있다. 게다가, P가 청색 픽셀로서 식별되는 경우, 프로세스(560)는 단계 570로 진행하여, P에 대한 보간된 녹색 및 적색 값들을 획득한다. 이것은 도 42 및 43의 프로세스들(572, 584) 각각을 더 수행하는 것을 포함할 수 있다. 프로세스들(572, 584, 598) 각각은 아래에 더 설명된다.
입력 픽셀(P)에 대한 보간된 녹색 값을 결정하기 위한 프로세스(572)가 도 42에 도시되어 있으며, 단계 574-582를 포함한다. 단계 574에서, (예로서, 프로세스(560)로부터) 입력 픽셀(P)이 수신된다. 이어서, 단계 576에서, 5x5 픽셀 블록을 형성하는 이웃 픽셀들의 세트가 식별되며, P는 5x5 블록의 중심이다. 이어서, 단계 578에서, 픽셀 블록을 분석하여, 수평 및 수직 에너지 성분들을 결정한다. 예를 들어, 수평 및 수직 에너지 성분들은 Eh 및 Ev를 각각 계산하기 위한 식 44 및 45에 따라 결정될 수 있다. 설명된 바와 같이, 에너지 성분들(Eh, Ev)은 에지 적응 필터링을 제공하기 위한 가중 계수들로서 사용될 수 있으며, 따라서 최종 이미지 내의 소정의 디모자이킹 아티팩트들의 발생을 줄일 수 있다. 단계 580에서, 저역 통과 필터링 및 고역 통과 필터링을 수평 및 수직 방향으로 적용하여 수평 및 수직 필터링 출력들을 결정한다. 예를 들어, 수평 및 수직 필터링 출력들(Gh, Gv)은 식 49 및 50에 따라 계산될 수 있다. 이어서, 프로세스(560)는 단계 582로 진행하여, 식 51에 나타난 바와 같이, 에너지 성분들(Eh, Ev)로 가중된 Gh 및 Gv의 값들에 기초하여 보간된 녹색 값(G')이 보간된다.
이어서, 도 43의 프로세스(584)와 관련하여, 적색 값들의 보간은 단계 586에서 시작할 수 있으며, 여기서 (예로서, 프로세스(560)로부터) 입력 픽셀(P)이 수신된다. 단계 588에서, 3x3 픽셀 블록을 형성하는 이웃 픽셀들의 세트가 식별되고, P는 3x3 블록의 중심이다. 이어서, 단계 590에서, 3x3 블록 내의 이웃 적색 픽셀들에 대해 저역 통과 필터링이 적용되고, 베이어 이미지 센서에 의해 캡처된 오리지널 녹색 값들 또는 (예로서, 도 42의 프로세스(572)를 통해 결정된) 보간된 값들일 수 있는 같이 위치하는 녹색 이웃 값들에 대해 고역 통과 필터링이 적용된다. P에 대한 보간된 적색 값(R')은 단계 594에 나타난 바와 같이 저역 통과 및 고역 통과 필터링 출력들에 기초하여 결정될 수 있다. P의 컬러에 따라, R'은 식 52, 54 또는 56 중 하나에 따라 결정될 수 있다.
청색 값들의 보간과 관련하여, 도 44의 프로세스(598)가 적용될 수 있다. 단계 600 및 602는 프로세스(584)(도 43)의 단계 586 및 588과 대체로 동일하다. 단계 604에서, 3x3 내의 이웃 청색 픽셀들에 저역 통과 필터링이 적용되며, 단계 606에서, 베이어 이미지 센서에 의해 캡처된 오리지널 녹색 값들 또는 (예로서, 도 42의 프로세스(572)를 통해 결정된) 보간된 값들일 수 있는 같이 위치하는 녹색 이웃 값들에 고역 통과 필터링이 적용된다. P에 대한 보간된 청색 값(B')은 단계 608에 나타난 바와 같이 저역 통과 및 고역 통과 필터링 출력들에 기초하여 결정될 수 있다. P의 컬러에 따라, B'는 식 53, 55 또는 57 중 하나에 따라 결정될 수 있다. 게다가, 전술한 바와 같이, 적색 및 청색 값들의 보간은 컬러 차이들(식 52-57) 또는 컬러 비율들(식 58-63)을 이용하여 결정될 수 있다. 다시, 누락 녹색 값들의 보간이 먼저 수행될 수 있으며, 따라서 누락 적색 및 청색 샘플들을 보간할 때 녹색 값들(오리지널 및 보간된 값들 둘다)의 완전한 세트가 이용될 수 있다는 것을 이해해야 한다. 예를 들어, 도 42의 프로세스(572)는 도 43 및 44의 프로세스들(584, 598) 각각을 수행하기 전에 모든 누락 녹색 샘플들을 보간하기 위해 적용될 수 있다.
도 45-48을 참조하면, ISP 파이프(82) 내의 원시 픽셀 처리 논리(360)에 의해 처리되는 사진 이미지들의 예들이 제공된다. 도 45는 이미징 장치(30)의 이미지 센서(90)에 의해 캡처될 수 있는 오리지널 이미지 장면(620)을 나타낸다. 도 46은 이미지 센서(90)에 의해 캡처된 원시 픽셀 데이터를 나타낼 수 있는 원시 베이어 이미지(622)를 나타낸다. 전술한 바와 같이, 통상의 디모자이킹 기술들은 이미지 데이터 내의 에지들(예로서, 2개 이상의 컬러의 영역들 사이의 경계들)의 검출에 기초하는 적응 필터링을 제공하지 못할 수 있으며, 이는 바람직하지 않게도 결과적인 재구성된 풀 컬러 RGB 이미지 내에 아티팩트들을 생성할 수 있다. 예를 들어, 도 47은 통상의 디모자이킹 기술들을 이용하여 재구성된 RGB 이미지(624)를 나타내며, 에지(628)에 "체커보드" 아티팩트들(626)과 같은 아티팩트들을 포함할 수 있다. 그러나, 이미지(624)를 전술한 디모자이킹 기술들을 이용하여 재구성된 이미지의 일례일 수 있는 도 48의 RGB 이미지(630)와 비교하면, 도 47에 존재하는 체커보드 아티팩트들(626)이 존재하지 않거나, 적어도 에지(628)에서 그들의 발생이 실질적으로 감소한다. 따라서, 도 45-48에 도시된 이미지들은 본 명세서에 개시되는 디모자이킹 기술들이 통상의 방법들보다 뛰어난 적어도 하나의 이점을 예시하기 위한 것이다.
도 27을 다시 참조하면, 이제 RGB 이미지 신호(372)를 출력할 수 있는 원시 픽셀 처리 논리(360)의 동작을 충분히 설명하였으므로, 이제 본 설명은 RGB 처리 논리(362)에 의한 RGB 이미지 신호(372)의 처리에 대한 설명에 집중할 것이다. 도시된 바와 같이, RGB 이미지 신호(372)는 선택 논리(376)로 그리고/또는 메모리(108)로 전송될 수 있다. RGB 처리 논리(362)는 선택 논리(376)의 구성에 따라, 신호(374)로 표시되는, 신호(372)로부터 또는 메모리(108)로부터의 RGB 이미지 데이터일 수 있는 입력 신호(378)를 수신할 수 있다. RGB 이미지 데이터(378)는 (예로서, 컬러 교정 행렬을 이용하는) 컬러 교정, 자동 백색 균형화를 위한 컬러 이득들의 적용은 물론, 전역 톤 맵핑 등을 포함하는 컬러 조정 연산들을 수행하기 위해 RGB 처리 논리(362)에 의해 처리될 수 있다.
RGB 처리 논리(362)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도 49에 도시되어 있다. 도시된 바와 같이, RGB 처리 논리(362)는 이득, 오프셋 및 클램핑(GOC) 논리(640), RGB 컬러 교정 논리(642), GOC 논리(644), RGB 감마 조정 논리 및 컬러 공간 변환 논리(648)를 포함한다. 입력 신호(378)가 먼저 이득, 오프셋 및 클램핑(GOC) 논리(640)에 의해 수신된다. 도시된 실시예에서, GOC 논리(640)는 컬러 교정 논리(642)에 의한 처리 전에 R, G 또는 B 컬러 채널들 중 하나 이상에 대한 자동 백색 균형화를 수행하기 위해 이득들을 적용할 수 있다.
GOC 논리(640)는 베이어 이미지 데이터의 R, B, Gr 및 Gb 성분들이 아니라 RGB 도메인의 컬러 성분들이 처리된다는 점 외에는 원시 픽셀 처리 논리(360)의 GOC 논리(394)와 유사할 수 있다. 동작시, 위의 식 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 성분들을 갖는 입력 픽셀에 대해 컬러 교정을 수행하는 프로세스는 아래와 같이 표현될 수 있다.
Figure pct00065
여기서, R, G 및 B는 입력 픽셀에 대한 현재의 적색, 녹색 및 청색 값들을 나타내고, CCM00-CCM22는 컬러 교정 행렬의 계수들을 나타내고, R', G' 및 B'는 입력 픽셀에 대한 교정된 적색, 녹색 및 청색 값들을 나타낸다. 따라서, 교정된 컬러 값들은 아래의 식 65-67에 따라 계산될 수 있다.
Figure pct00066
Figure pct00067
Figure pct00068
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 처리 논리(364)로 전송될 수 있다.
RGB 도메인으로부터 YCbCr 컬러 공간으로의 변환은 컬러 공간 변환 행렬(CSCM)을 이용하여 수행될 수 있다. 예를 들어, 일 실시예에서, CSCM은 3x3 변환 행렬일 수 있다. CSCM의 계수들은 BT.601 및 BT.709 표준들과 같은 공지된 변환 방정식에 따라 설정될 수 있다. 게다가, CSCM 계수들은 입력 및 출력들의 원하는 범위에 기초하여 유연할 수 있다. 따라서, 일부 실시예들에서, CSCM 계수들은 ISP 프론트엔드 블록(80)에서의 통계 처리 동안에 수집된 데이터에 기초하여 결정되고 프로그래밍될 수 있다.
RGB 입력 픽셀에 대해 YCbCr 컬러 공간 변환을 수행하는 프로세스는 다음과 같이 표현될 수 있다.
Figure pct00069
여기서, R, G, B는 (예로서, 감마 조정 논리(646)에 의해 처리된 바와 같은) 10비트 형태의 입력 픽셀에 대한 현재의 적색, 녹색 및 청색 값들을 나타내고, CSCM00-CSCM22는 컬러 공간 변환 행렬의 계수들을 나타내고, Y, Cb, Cr은 입력 픽셀에 대한 결과적인 루마 및 크로마 성분들을 나타낸다. 따라서, Y, Cb, Cr에 대한 값들은 아래의 식 69-71에 따라 계산될 수 있다.
Figure pct00070
Figure pct00071
Figure pct00072
컬러 공간 변환 연산에 이어서, 결과적인 YCbCr 값들은 CSC 논리(648)로부터 신호(380)로서 출력될 수 있으며, 이 신호는 후술하는 바와 같이 YCbCr 처리 논리(364)에 의해 처리될 수 있다.
일 실시예에서, CSCM의 계수들은 4개의 정수 비트 및 12개의 분수 비트를 갖는 16비트 2의 보수 수들(4.12)일 수 있다. 다른 실시예에서, CSC 논리(648)는 Y, Cb, Cr 값들 각각에 오프셋을 적용하고, 결과적인 값들을 최소 및 최대 값으로 클립핑하도록 더 구성될 수 있다. 단지 예로서, YCbCr 값들이 10비트 형태인 것으로 가정하면, 오프셋은 -512 내지 512의 범위 내에 있을 수 있고, 최소 및 최대 값들은 각각 0과 1023일 수 있다.
도 27의 ISP 파이프 논리(82)의 블록도를 다시 참조하면, YCbCr 신호(380)는 선택 논리(384)로 그리고/또는 메모리(108)로 전송될 수 있다. YCbCr 처리 논리(364)는 선택 논리(384)의 구성에 따라, 신호(382)로 지시되는 바와 같은, 신호(380)로부터 또는 메모리(108)로부터의 YCbCr 이미지 데이터일 수 있는 입력 신호(386)를 수신할 수 있다. 이어서, YCbCr 이미지 데이터(386)는 루마 선명화, 크로마 억제, 크로마 잡음 감소는 물론, 휘도, 콘트라스트 및 컬러 조정 등을 위해 YCbCr 처리 논리(364)에 의해 처리될 수 있다. 게다가, YCbCr 처리 논리(364)는 수평 및 수직 방향 모두에서 처리된 이미지 데이터의 감마 맵핑 및 스케일링을 제공할 수 있다.
YCbCr 처리 논리(364)의 일 실시예의 더 상세한 도면을 나타내는 블록도가 도 50에 도시되어 있다. 도시된 바와 같이, YCbCr 처리 논리(364)는 이미지 선명화 논리(660), 휘도, 콘트라스트 및/또는 컬러를 조정하기 위한 논리(662), YCbCr 감마 조정 논리(664), 크로마 데시메이션 논리(668) 및 스케일링 논리(670)를 포함한다. YCbCr 처리 논리(364)는 1면, 2면 또는 3면 메모리 구성을 이용하여 4:4: 4, 4:2:2 또는 4:2:0 포맷의 픽셀 데이터를 처리하도록 구성될 수 있다. 게다가, 일 실시예에서, YCbCr 입력 신호(386)는 루마 및 크로마 정보를 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 정보의 처리는 소스 버퍼 내에 정의된 액티브 소스 영역 내에서 이루어질 수 있으며, 액티브 소스 영역은 "유효" 픽셀 데이터를 포함한다. 예를 들어, 도 51을 참조하면, 그 안에 액티브 소스 영역(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 방향에서의 크로마 샘플들의 수를 각각 나타낼 수 있다.
도 52는 루마 및 크로마 샘플들에 대한 액티브 소스 영역들이 2면 포맷에서 어떻게 결정될 수 있는지를 나타내는 예를 더 제공한다. 예를 들어, 도시된 바와 같이, 루마 액티브 소스 영역(678)은 시작 위치(682)에 대한 폭(694) 및 높이(696)에 의해 지정되는 영역에 의해 (베이스 어드레스(680)을 갖는) 제1 소스 버퍼(676) 내에 정의될 수 있다. 크로마 액티브 소스 영역(704)은 시작 위치(684)에 대한 폭(698) 및 높이(700)에 의해 지정되는 영역으로서 (베이스 어드레스(706)을 갖는) 제2 소스 버퍼(702) 내에 정의될 수 있다.
위의 요점들을 염두에 두고, 도 50을 다시 참조하면, YCbCr 신호(386)가 먼저 이미지 선명화 논리(660)에 의해 수신된다. 이미지 선명화 논리(660)는 이미지 내의 텍스처 및 에지 상세들을 향상시키기 위해 픽처 선명화 및 에지 향상 처리를 수행하도록 구성될 수 있다. 인식하듯이, 이미지 선명화는 인식되는 이미지 해상도를 향상시킬 수 있다. 그러나, 이미지 내의 기존 잡음이 텍스처 및/또는 에지들로서 검출되지 않고, 따라서 선명화 프로세스 동안에 증폭되지 않는 것이 일반적으로 바람직하다.
본 기술에 따르면, 이미지 선명화 논리(660)는 YCbCr 신호의 루마(Y) 성분에 대한 멀티 스케일 비선명 마스크 필터를 이용하여 픽처 선명화를 수행할 수 있다. 일 실시예에서는, 상이한 스케일 크기의 둘 이상의 저역 통과 가우스 필터가 제공될 수 있다. 예를 들어, 2개의 가우스 필터를 제공하는 실시예에서는, 비선명 마스크를 생성하기 위해, 제1 반경(x)을 갖는 제1 가우스 필터의 출력(예로서, 가우스 블러링)이 제2 반경(y)을 갖는 제2 가우스 필터의 출력으로부터 감산되며, 여기서 x는 y보다 크다. Y 입력으로부터 가우스 필터들의 출력들을 감산함으로써 추가적인 비선명 마스크들도 얻어질 수 있다. 소정 실시예들에서, 본 기술은 비선명 마스크들을 이용하여 수행될 수 있는 적응성 코어링 임계 비교 연산들도 제공할 수 있으며, 따라서 비교(들)의 결과들에 기초하여, 오리지널 Y 입력 이미지 또는 가우스 필터들 중 하나의 필터의 출력으로서 선택될 수 있는 베이스 이미지에 이득 양들을 추가하여 최종 출력을 생성할 수 있다.
도 53을 참조하면, 현재 개시되는 기술들의 실시예들에 따른, 이미지 선명화를 수행하기 위한 예시적인 논리(710)를 나타내는 블록도가 도시되어 있다. 논리(710)는 입력 루마 이미지(Yin)에 적용될 수 있는 멀티 스케일 비선명 필터링 마스크를 나타낸다. 예를 들어, 도시된 바와 같이, Yin은 2개의 저역 통과 가우스 필터 712(G1) 및 714(G2)에 의해 수신되고 처리된다. 본 예에서, 필터(712)는 3x3 필터일 수 있고, 필터(714)는 5x5 필터일 수 있다. 그러나, 추가 실시예들에서는 상이한 스케일의 필터들을 포함하는 셋 이상의 가우스 필터(예로서, 7x7, 9x9 등)가 사용될 수도 있다는 것을 알아야 한다. 인식하듯이, 저역 통과 필터링 프로세스로 인해, 일반적으로 잡음에 대응하는 고주파 성분들을 G1 및 G2의 출력들로부터 제거하여, "비선명" 이미지들(G1out, G2out)을 생성할 수 있다. 후술하는 바와 같이, 비선명 입력 이미지를 베이스 이미지로 사용하는 것은 선명화 필터의 일부로서의 잡음 저감을 가능하게 한다.
3x3 가우스 필터(712) 및 5x5 가우스 필터(714)는 아래에 나타난 바와 같이 정의될 수 있다.
Figure pct00073
단지 예로서, 일 실시예에서 가우스 필터들(G1, G2)의 값들은 아래와 같이 선택될 수 있다.
Figure pct00074
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은 아래와 같이 결정될 수 있다.
Figure pct00075
여기서, 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 값들만을 각각 수신할 수 있다. 그러한 실시예들은 도 53에 도시된 구현만큼 강건한 선명화 및/또는 잡음 저감 특징들을 제공하지 못할 수 있지만, 그러한 설계 선택들은 비용 및/또는 비즈니스 관련 제한들의 결과일 수 있다는 것을 알아야 한다.
본 실시예에서, 이미지 선명화 논리(660)는 선명화된 이미지 출력(Ysharp)이 얻어지면 에지 향상 및 크로마 억제 특징들도 제공할 수 있다. 이제, 이러한 추가적인 특징들 각각이 아래에 설명된다. 먼저 도 54를 참조하면, 도 53의 선명화 논리(710)로부터 아래쪽에 구현될 수 있는 에지 향상을 수행하기 위한 일 실시예에 따른 예시적인 논리(738)가 도시되어 있다. 도시된 바와 같이, 오리지널 입력 값(Yin)은 에지 검출을 위해 소벨(Sobel) 필터(740)에 의해 처리된다. 소벨 필터(740)는 오리지널 이미지의 (아래에서 "A"로 참조되는) 3x3 픽셀 블록에 기초하여 기울기 값(YEdge)을 결정할 수 있으며, Yin은 3x3 블록의 중심 픽셀이다. 일 실시예에서, 소벨 필터(740)는 오리지널 이미지 데이터를 컨볼빙하여 수평 및 수직 방향의 변화들을 검출함으로써 YEdge를 계산할 수 있다. 이 프로세스는 아래에 식 73-75에 나타나 있다.
Figure pct00076
Figure pct00077
Figure pct00078
Figure pct00079
여기서, Sx 및 Sy는 각각 수평 및 수직 방향에서의 기울기 에지 강도 검출을 위한 행렬 연산자들을 나타내며, Gx 및 Gy는 각각 수평 및 수직 변화 도함수들을 포함하는 기울기 이미지들을 나타낸다. 따라서, 출력(YEdge)은 Gx와 Gy의 곱으로서 결정된다.
이어서, YEdge가 도 53에서 전술한 바와 같은 중간 대역 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(도 53의 논리(710)의 출력)에 추가하여, 에지 향상된 출력(Yout)을 얻을 수 있으며, 이 출력은 일 실시예에서 (YCbCr 처리가 10비트 정밀도로 발생하는 것으로 가정하면) 10비트로 클립핑될 수 있다.
이미지 선명화 논리(660)에 의해 제공되는 크로마 억제 특징들과 관련하여, 그러한 특징들은 루마 에지들에서 크로마를 감쇠시킬 수 있다. 일반적으로, 전술한 루마 선명화 및/또는 에지 향상 단계들로부터 얻어지는 값(YSharp, Yout)에 따라 1보다 작은 크로마 이득(감쇠 인자)을 적용함으로써 크로마 억제가 수행될 수 있다. 예를 들어, 도 55는 대응하는 선명화된 루마 값들(YSharp)에 대해 선택될 수 있는 크로마 이득들을 나타내는 곡선(752)을 포함하는 그래프(750)를 도시한다. 그래프(750)에 의해 표시되는 데이터는 YSharp 값들 및 0과 1 사이의 대응하는 크로마 이득들(감쇠 인자)의 탐색 테이블로서 구현될 수 있다. 탐색 테이블들은 곡선(752)을 근사화하는 데 사용된다. 탐색 테이블 내의 2개의 감쇠 인자 사이에 같이 위치하는 YSharp 값들에 대해, 현재의 YSharp 값 위 및 아래의 YSharp 값들에 대응하는 2개의 감쇠 인자에 선형 보간이 적용될 수 있다. 게다가, 다른 실시예들에서, 입력 루마 값은 도 53에서 전술한 바와 같은 논리(710)에 의해 결정된 Sharp1, Sharp2 또는 Sharp3 값들 중 하나 또는 도 54에서 설명된 바와 같은 논리(738)에 의해 결정된 YEdge 값으로서 선택될 수도 있다.
이어서, 이미지 선명화 논리(660)(도 50)의 출력이 휘도, 콘트라스트 및 컬러(BCC) 조정 논리(662)에 의해 처리된다. BCC 조정 논리(662)의 일 실시예를 나타내는 기능 블록도가 도 56에 도시되어 있다. 도시된 바와 같이, 논리(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으로 배치한다. 이어서, 아래의 식들에 따라 색조가 조정된다.
Figure pct00080
Figure pct00081
여기서, Cbadj 및 Cradj는 조정된 Cb 및 Cr 값들을 나타내고, θ는 아래와 같이 계산될 수 있는 색조 각도를 나타낸다.
Figure pct00082
위의 연산들은 전역 색조 제어 블록(762) 내의 논리에 의해 묘사되며, 아래의 행렬 연산에 의해 표현될 수 있다.
Figure pct00083
여기서 Ka = cos(θ), Kb = sin(θ)이고, θ는 위의 식 78에서 정의된다.
이어서, 채도 제어 블록(764)에 의해 표시된 바와 같이, Cbadj 및 Cradj에 채도 제어가 적용될 수 있다. 도시된 실시예에서는, Cb 및 Cr 값들 각각에 대해 전역 채도 승수 및 색조 기반 채도 승수를 적용함으로써 채도 제어가 수행된다. 색조 기반 채도 제어는 컬러들의 재생을 개선할 수 있다. 컬러의 색조는 도 57의 컬러 휠 그래프(770)로 표시되는 바와 같은 YCbCr 컬러 공간 내에 표현될 수 있다. 인식하듯이, YCbCr 색조 및 채도 컬러 휠(770)은 HSV 컬러 공간(색조, 채도 및 강도)에서 동일한 컬러 휠을 약 109도 이동시킴으로써 도출될 수 있다. 도시된 바와 같이, 그래프(770)는 0 내지 1의 범위 내의 채도 승수(S)를 나타내는 원주 값들은 물론, 0 내지 360도의 범위 내의 전술한 바와 같은 θ를 나타내는 각도 값들을 포함한다. 각각의 θ는 상이한 컬러를 나타낼 수 있다(예로서, 49도 = 마젠타, 109도 = 적색, 229도 = 녹색 등). 특정 색조 각도 θ에서의 컬러의 색조는 적절한 채도 승수(S)를 선택함으로써 조정될 수 있다.
도 56을 다시 참조하면, (전역 색조 제어 블록(762)에서 계산된) 색조 각도 θ는 Cb 채도 탐색 테이블(766) 및 Cr 채도 탐색 테이블(768)에 대한 인덱스로서 사용될 수 있다. 일 실시예에서, 채도 탐색 테이블들(766, 768)은 0-360도의 색조 범위 내에 균일하게 분포된 256개의 채도 값을 포함할 수 있고(예로서, 제1 탐색 테이블 엔트리는 0도에 있고, 최종 엔트리는 360도에 있다), 주어진 픽셀에서의 채도 값(S)은 현재의 색조 각도 θ의 바로 아래 및 위의 탐색 테이블 내의 채도 값들의 선형 보간을 통해 결정될 수 있다. 전역 채도 값(Cb 및 Cr 각각에 대한 전역 상수일 수 있음)과 결정된 색조 기반 채도 값을 승산함으로써 Cb 및 Cr 성분들 각각에 대한 최종 채도 값이 얻어진다. 따라서, 색조 기반 채도 제어 블록(764)에 나타난 바와 같이, Cbadj 및 Cradj와 이들 각각의 최종 채도 값들을 승산함으로써 최종 교정된 Cb' 및 Cr' 값들이 결정될 수 있다.
이어서, 도 50에 도시된 바와 같이, 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개 수평 픽셀의 세트에 적용함으로써 데시메이션이 수행될 수 있다.
Figure pct00084
여기서, in(i)는 입력 픽셀(Cb 또는 Cr)을 나타내고, C0-C6은 7탭 필터의 필터링 계수들을 나타낸다. 각각의 입력 픽셀은 크로마 필터링된 샘플들에 대한 유연한 위상 오프셋을 허용하기 위해 독립적인 필터 계수(C0-C6)를 갖는다.
게다가, 일부 예들에서, 크로마 데시메이션은 필터링 없이 수행될 수도 있다. 이것은 소스 이미지가 처음에 4:2:2 포맷으로 수신되었지만, YCbCr 처리를 위해 4:4:4 포맷으로 업샘플링된 때 유용할 수 있다. 이 경우, 결과적인 데시메이션된 4:2:2 이미지는 오리지널 이미지와 동일하다.
이어서, 크로마 데시메이션 논리(668)로부터의 YCbCr 데이터 출력은 YCbCr 처리 블록(364)으로부터 출력되기 전에 스케일링 논리(670)를 이용하여 스케일링될 수 있다. 스케일링 논리(670)의 기능은 도 13과 관련하여 전술한 바와 같은 프론트엔드 픽셀 처리 유닛(130)의 비닝 보상 필터(182) 내의 스케일링 논리(214)의 기능과 유사할 수 있다. 예를 들어, 스케일링 논리(670)는 수평 및 수직 스케일링을 두 단계로서 수행할 수 있다. 일 실시예에서는, 수직 스케일링을 위해 5탭 다상 필터가 사용될 수 있고, 수평 스케일링을 위해 9탭 다상 필터가 사용될 수 있다. 멀티 탭 다상 필터들은 소스 이미지로부터 선택된 픽셀들과 가중 인자(예로서, 필터 계수)를 곱한 후에 출력들을 합산하여 목적 픽셀을 형성할 수 있다. 선택되는 픽셀들은 현재 픽셀 위치 및 필터 탭들의 수에 따라 선택될 수 있다. 예를 들어, 수직 5탭 필터의 경우, 현재 픽셀의 각각의 수직 측의 2개의 이웃 픽셀이 선택될 수 있으며, 수평 9탭 필터의 경우, 현재 픽셀의 각각의 수평 측의 4개의 이웃 픽셀이 선택될 수 있다. 필터링 계수들은 탐색 테이블로부터 제공될 수 있으며, 현재의 픽셀간 분수 위치에 의해 결정될 수 있다. 이어서, 스케일링 논리(670)의 출력(390)이 YCbCr 처리 블록(364)으로부터 출력된다.
도 27을 다시 참조하면, 처리된 출력 신호(390)는 메모리(108)로 전송될 수 있거나, ISP 파이프 처리 논리(82)로부터 사용자에 의한 관찰을 위해 디스플레이 하드웨어(예로서, 디스플레이(28))에 또는 압축 엔진(예로서, 인코더(118))에 이미지 신호(114)로서 출력될 수 있다. 일부 실시예들에서, 이미지 신호(114)는 디스플레이로 라우팅되기 전에 그래픽 처리 유닛 및/또는 압축 엔진에 의해 더 처리될 수 있다. 게다가, 특히 비디오 이미지 데이터와 관련하여, 디스플레이로 출력되는 이미지 데이터의 버퍼링을 제어하기 위해 하나 이상의 프레임 버퍼가 제공될 수도 있다.
이해하듯이, 특히 결함 픽셀 검출 및 교정, 렌즈 쉐이딩 교정, 디모자이킹 및 이미지 선명화와 관련된 전술한 다양한 이미지 처리 기술들은 본 명세서에서 단지 예로서 제공된다. 따라서, 본 발명은 전술한 예들만으로 한정되는 것으로 해석되지 않아야 한다는 것을 이해해야 한다. 사실상, 본 명세서에서 설명된 예시적인 논리는 다른 실시예들에서 다양한 변경들 및/또는 추가적인 특징들을 가질 수 있다. 게다가, 전술한 기술들은 임의의 적절한 방식으로 구현될 수 있다는 것을 알아야 한다. 예를 들어, 이미지 처리 회로(32)의 컴포넌트들, 특히 ISP 프론트엔드 블록(80) 및 ISP 파이프 블록(82)은 하드웨어(예로서, 적절히 구성된 회로), 소프트웨어를 이용하여(예로서, 하나 이상의 유형의 컴퓨터 판독 가능 매체에 저장된 실행 가능 코드를 포함하는 컴퓨터 프로그램을 통해), 또는 하드웨어 및 소프트웨어 요소들 양자의 결합의 이용을 통해 구현될 수 있다.
전술한 특정 실시예들은 예시적으로 설명되었으며, 이러한 실시예들은 다양한 변경들 및 대안 형태들이 가능할 수 있다는 것을 이해해야 한다. 청구항들은 개시된 특정 형태들로 한정되는 것이 아니라, 본 발명의 사상 및 범위 내에 속하는 모든 변경들, 균등물들 및 대안들을 포함하는 것을 의도한다는 것을 더 이해해야 한다.

Claims (29)

  1. 이미지 처리 동안에 결함 이미지 픽셀들을 검출하고 교정하기 위한 방법으로서,
    이미지 프로세서를 사용하는 단계;
    이미지 센서를 사용하여 획득된 이미지 데이터의 입력 픽셀을 수신하는 단계;
    상기 이미지 센서의 이미징 프레임의 처리 영역 내의 상기 입력 픽셀의 위치와 정적 결함 테이블에 저장된 위치 엔트리들의 세트를 비교하는 단계;
    상기 입력 픽셀의 위치가 상기 위치 엔트리들의 세트 중 하나의 위치 엔트리에 대응하는 경우, 상기 입력 픽셀을 정적 결함으로 마킹하고, 상기 입력 픽셀에 대한 제1 교체 값을 결정하는 단계;
    상기 입력 픽셀의 위치가 상기 위치 엔트리들의 세트 중 하나의 위치 엔트리에 대응하지 않는 경우, 상기 입력 픽셀과 동일한 컬러 성분을 갖는 이웃 픽셀들의 세트를 식별하고, 상기 입력 픽셀이 동적 결함인지 또는 상기 이웃 픽셀들의 세트에 대해 스펙클링(speckling)되었는지를 결정하고, 상기 입력 픽셀이 동적 결함이거나 스펙클링된 것으로 결정되는 경우에 상기 입력 픽셀에 대한 제2 교체 값을 결정하는 단계; 및
    상기 입력 픽셀을 교정하는 단계
    를 포함하고,
    상기 입력 픽셀을 교정하는 단계는,
    상기 입력 픽셀이 정적 결함으로 마킹되는 경우에 상기 입력 픽셀의 현재 값을 상기 제1 교체 값으로 교체하는 단계; 및
    상기 입력 픽셀이 동적 결함이거나 스펙클링된 것으로 결정되는 경우에 상기 입력 픽셀의 현재 값을 상기 제2 교체 값으로 교체하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 입력 픽셀이 정적 결함으로 마킹되지 않고, 동적 결함이거나 스펙클링된 것으로 결정되지 않는 경우에 상기 입력 픽셀을 교정하지 않는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 제1 교체 값은 스캔 순서에서 동일 컬러의 이전 픽셀의 값으로서 결정되는 방법.
  4. 제1항에 있어서, 이웃 픽셀들의 세트를 식별하는 단계는 상기 입력 픽셀의 컬러를 결정하고, 상기 이미징 프레임 내의 동일 컬러의 8개의 가장 가까운 이웃 픽셀을 식별하는 단계를 포함하고, 상기 8개의 이웃 픽셀은 3x3 픽셀 블록을 형성하며,
    상기 입력 픽셀이 동적 결함인지 또는 상기 이웃 픽셀들의 세트에 대해 스펙클링되었는지의 결정은 상기 처리 영역 내에 위치하는 상기 이웃 픽셀들 각각에 대해 상기 입력 픽셀과 관련하여 계산된 방향 픽셀 대 픽셀 기울기들의 세트에 기초하는 방법.
  5. 제4항에 있어서, 상기 입력 픽셀이 동적 결함인지를 결정하는 단계는,
    상기 기울기들 각각을 적응성 동적 결함 임계치와 비교하는 단계;
    상기 비교에 기초하여, 상기 적응성 동적 결함 임계치 이하인 상기 기울기들의 수를 카운트하는 단계;
    상기 카운트를 최대값과 비교하는 단계 - 상기 최대 값은 상기 처리 영역 내에 위치하는 이웃 픽셀들의 수에 적어도 부분적으로 기초하여 선택됨 -; 및
    상기 카운트가 상기 최대값 이하인 경우에 상기 입력 픽셀을 동적 결함으로서 식별하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 상기 적응성 동적 결함 임계치는,
    상기 이미지 센서의 각각의 컬러 성분에 대한 고정 성분;
    상기 입력 픽셀이 캡처되는 시간에 상기 이미지 센서의 노광 설정 또는 적분 시간 설정 중 하나에 적어도 부분적으로 기초하여 결정되는 동적 성분; 및
    상기 처리 영역 내의 상기 이웃 픽셀들의 값들의 평균과 상기 처리 영역 내의 각각의 이웃 픽셀의 값 사이의 절대 차이들의 합에 기초하여 계산되는 고주파 성분
    을 포함하고,
    상기 적응성 동적 결함 임계치는 상기 입력 픽셀의 컬러에 대응하는 상기 고정 성분을 상기 동적 성분과 상기 고주파 성분의 곱과 합산하여 계산되는 방법.
  7. 제4항에 있어서, 상기 입력 픽셀이 스펙클링되었는지를 결정하는 단계는,
    상기 입력 픽셀의 값과 상기 처리 영역 내의 상기 이웃 픽셀들의 값들의 평균 사이의 차이를 계산하여 평균 기울기 값을 결정하는 단계;
    상기 평균 기울기 값과 적응성 스펙클 임계치를 비교하는 단계; 및
    상기 평균 기울기 값이 상기 적응성 스펙클 임계치보다 큰 경우에 상기 입력 픽셀을 스펙클링된 것으로 식별하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서, 상기 적응성 스펙클 임계치는,
    상기 이미지 센서의 각각의 컬러 성분에 대한 고정 성분;
    상기 입력 픽셀 및 상기 이웃 픽셀들 내의 텍스처의 정도에 적어도 부분적으로 기초하여 결정되는 동적 성분; 및
    상기 처리 영역 내의 상기 이웃 픽셀들의 값들의 평균과 상기 처리 영역 내의 각각의 이웃 픽셀의 값 사이의 절대 차이들의 합에 기초하여 계산되는 고주파 성분
    을 포함하고,
    상기 적응성 스펙클 임계치는 상기 입력 픽셀의 컬러에 대응하는 상기 고정 성분을 상기 동적 성분과 상기 고주파 성분의 곱과 합산하여 계산되는 방법.
  9. 제4항에 있어서, 상기 입력 픽셀에 대한 상기 제2 교체 값을 결정하는 단계는,
    상기 입력 픽셀과, 상기 이웃 픽셀들의 세트로부터의 제1 및 제2 수평 이웃 픽셀들 각각 사이의 절대 차이의 합으로서 수평 방향의 제1 방향 기울기를 결정하는 단계;
    상기 입력 픽셀과, 상기 이웃 픽셀들의 세트로부터의 제1 및 제2 수직 이웃 픽셀들 각각 사이의 절대 차이의 합으로서 수직 방향의 제2 방향 기울기를 결정하는 단계;
    상기 입력 픽셀과, 상기 이웃 픽셀들의 세트로부터의 제1 및 제2 대각선 양의 이웃 픽셀들 각각 사이의 절대 차이의 합으로서 대각선 양의 방향의 제3 방향 기울기를 결정하는 단계;
    상기 입력 픽셀과, 상기 이웃 픽셀들의 세트로부터의 제1 및 제2 대각선 음의 이웃 픽셀들 각각 사이의 절대 차이의 합으로서 대각선 음의 방향의 제4 방향 기울기를 결정하는 단계;
    상기 제1, 제2, 제3 및 제4 방향 기울기들 중 최소 기울기를 결정하는 단계; 및
    상기 최소 기울기의 방향에서의 상기 제1 및 제2 이웃 픽셀들의 값들의 선형보간(linear interpolation)에 의해 상기 제2 교체 값을 결정하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서, 상기 최소 기울기의 방향에서의 상기 제1 또는 제2 이웃 픽셀들 중 하나가 처리 프레임 밖에 위치하는 경우에, 상기 처리 프레임 밖에 위치하는 상기 픽셀의 값은 선형 보간 동안에 상기 처리 프레임 내에 위치하는 다른 픽셀의 값으로 교체되는 방법.
  11. 이미지 신호 처리 회로로서,
    이미징 장치의 이미지 센서를 사용하여 획득된 이미지 데이터를 수신하도록 구성되는 인터페이스; 및
    상기 이미지 데이터에 대하여 처리 연산들의 세트를 수행하도록 구성되는 이미지 처리 파이프라인
    을 포함하고,
    상기 처리 연산들의 세트 중 하나의 처리 연산은 상기 이미지 데이터 내의 결함 픽셀들을 검출하고 교정하며, 상기 이미지 처리 파이프라인은,
    상기 이미지 데이터의 입력 픽셀을 수신하고;
    상기 입력 픽셀의 위치가 정적 결함 테이블 내의 위치 엔트리에 대응하는지를 결정하고, 상기 입력 픽셀의 위치가 상기 정적 결함 테이블에서 발견되는 경우에 상기 입력 픽셀을 정적 결함으로서 식별하고, 상기 입력 픽셀을 교정하기 위한 제1 교체 값을 결정하고;
    상기 입력 픽셀이 정적 결함으로 식별되지 않은 경우에, 상기 입력 픽셀이 동적 결함인지 또는 스펙클링되었는지를 결정하고, 상기 입력 픽셀이 동적 결함이거나 스펙클링된 것으로 결정되는 경우에 상기 입력 픽셀에 대한 제2 교체 값을 결정하고;
    상기 입력 픽셀이 정적 결함으로, 동적 결함으로 또는 스펙클링된 것으로 결정되는지에 기초하여 상기 제1 또는 제2 교체 값을 이용하여 상기 입력 픽셀을 교정하도록
    구성되는 결함 픽셀 검출 및 교정 논리를 포함하는 이미지 신호 처리 회로.
  12. 제11항에 있어서, 상기 결함 픽셀 검출 및 교정 논리는 상기 입력 픽셀과 동일한 컬러의 8개의 이웃 픽셀을 식별하고, 상기 이미지 센서의 이미징 프레임 내에 정의된 처리 영역 내에 위치하는 상기 8개의 이웃 픽셀 각각에 대해 상기 입력 픽셀과 관련된 픽셀 대 픽셀 기울기들을 계산하고, 동적 결함 임계치보다 작은 상기 기울기들의 수의 카운트를 결정하고, 상기 결정된 카운트가 최대 카운트 값보다 작은 경우에 상기 입력 픽셀을 동적 결함으로 식별함으로써 상기 입력 픽셀이 동적 결함인지를 결정하도록 구성되고,
    상기 결함 픽셀 검출 및 교정 논리는 상기 입력 픽셀의 값과 상기 처리 영역 내의 상기 이웃 픽셀들의 값들의 평균 사이의 차이로서 평균 기울기 값을 계산하고, 상기 평균 기울기 값이 스펙클 임계치보다 큰 경우에 상기 입력 픽셀을 스펙클링된 것으로 식별함으로써 상기 입력 픽셀이 스펙클링되는지를 결정하도록 구성되는 이미지 신호 처리 회로.
  13. 제12항에 있어서, 상기 동적 결함 임계치 및 상기 스펙클 임계치는 상기 처리 영역 내에 위치하는 상기 이웃 픽셀들의 고주파 성분에 기초하여 조정될 수 있는 이미지 신호 처리 회로.
  14. 제13항에 있어서, 향상된 텍스처 특성들을 갖는 상기 이미지 데이터의 영역들에서 스펙클링의 잘못된 검출을 줄이기 위해 상기 스펙클 임계치는 상기 동적 결함 임계치에 비해 더 공격적으로 설정되는 이미지 신호 처리 회로.
  15. 제12항에 있어서, 상기 제2 교체 값은 수평 방향, 수직 방향, 대각선 양의 방향 및 대각선 음의 방향 각각에서의 상기 입력 픽셀과 상기 8개의 이웃 픽셀 중 2개의 이웃 픽셀 사이의 차이의 합으로서 방향 기울기들을 계산하고, 최소 기울기에 대응하는 방향을 결정하고, 최소 기울기 방향과 관련된 상기 2개의 이웃 픽셀의 값들을 보간함으로써 결정되는 이미지 신호 처리 회로.
  16. 제11항에 있어서, 상기 제1 교체 값은 스캔 순서에서 상기 입력 픽셀의 바로 앞에 있는 동일 컬러의 이전 픽셀의 값에 기초하여 결정되는 이미지 신호 처리 회로.
  17. 제11항에 있어서, 상기 이미지 데이터에 대해 연산들의 초기 세트를 수행하도록 구성되는 프론트엔드 처리 논리를 포함하고, 상기 프론트엔드 처리 논리는 상기 이미지 데이터의 상기 입력 픽셀을 수신하고, 상기 입력 픽셀의 제1 측에 위치하는 2개의 수평 이웃 픽셀 및 상기 입력 픽셀의 제2 측에 위치하는 2개의 수평 이웃 픽셀을 포함하는 상기 입력 픽셀과 동일한 컬러의 4개의 수평 이웃 픽셀을 식별하고, 상기 이미지 센서의 이미징 프레임 내에 정의된 처리 영역 내에 위치하는 상기 4개의 수평 이웃 픽셀 각각에 대해 상기 입력 픽셀과 관련된 픽셀 대 픽셀 기울기 값들을 결정하고, 프론트엔드 결함 픽셀 임계치 이하인 기울기 값들의 수의 카운트를 결정하고, 상기 입력 픽셀을 프론트엔드 결함으로 식별하고, 상기 프론트엔드 결함을 교정하고, 상기 프론트엔드 결함이 교정된 후에 상기 이미지 데이터에 대한 이미징 통계를 수집하도록 구성되고;
    상기 연산들의 초기 세트는 상기 이미지 처리 파이프라인에 의해 수행되는 연산들의 세트 전에 상기 프론트엔드 처리 논리에 의해 수행되는 이미지 신호 처리 회로.
  18. 제17항에 있어서, 상기 프론트엔드 결함을 교정하는 것은,
    상기 입력 픽셀과 동일한 컬러를 갖고, 상기 이미징 프레임 내의 상기 입력 픽셀의 바로 우측에 위치하는 제1 이웃 픽셀의 값을 결정하고;
    상기 제1 이웃 픽셀이 상기 처리 영역 내에 있는지를 결정하고;
    상기 제1 이웃 픽셀이 상기 처리 영역 내에 있는 경우에 상기 입력 픽셀의 값을 상기 제1 이웃 픽셀의 값으로 교체하고;
    상기 제1 이웃 픽셀이 상기 처리 영역 내에 있지 않은 경우, 상기 입력 픽셀과 동일한 컬러를 갖고, 상기 이미징 프레임 내의 상기 입력 픽셀의 바로 좌측에 위치하는 제2 이웃 픽셀의 값을 결정하고;
    상기 입력 픽셀의 값을 상기 제2 이웃 픽셀의 값으로 교체하는 것
    을 포함하는 이미지 신호 처리 회로.
  19. 시스템으로서,
    이미지 센서를 포함하는 이미징 장치; 및
    상기 이미지 센서를 사용하여 획득된 이미지 데이터를 처리하도록 구성되는 이미지 처리 회로
    를 포함하고,
    상기 이미지 처리 회로는,
    상기 이미지 데이터의 현재 이미지 프레임에 대해, 입력 픽셀의 위치가 정적 결함 테이블 내의 위치 엔트리에 대응하는지를 결정하고, 상기 입력 픽셀의 위치가 상기 정적 결함 테이블에서 발견되는 경우에 상기 입력 픽셀을 정적 결함으로 식별하고, 정적 결함 교체 값을 이용하여 상기 입력 픽셀을 교정하며;
    상기 입력 픽셀이 정적 결함으로 식별되지 않은 경우, 상기 입력 픽셀이 동적 결함인지 또는 스펙클링되었는지를 결정하고, 상기 입력 픽셀이 동적 결함이거나 스펙클링된 것으로 결정되는 경우에 비정적 결함 교체 값을 이용하여 상기 입력 픽셀을 교정하도록
    구성되는 결함 픽셀 검출 및 교정 논리를 포함하는 시스템.
  20. 제19항에 있어서, 상기 정적 결함 테이블 및 상기 정적 결함 교체 값을 저장하도록 구성되는 메모리 장치를 포함하고, 상기 정적 결함 테이블은 이미지 처리 동안에 새로 검출되는 정적 결함들에 대응하는 위치들을 저장하기 위해 간헐적으로 갱신되도록 구성되는 시스템.
  21. 제20항에 있어서, 상기 이미지 데이터의 입력 픽셀의 위치는 특정 수의 연속하는 이미지 프레임들에 걸쳐 상기 입력 픽셀이 동적 결함으로서 반복 식별되는 경우에 상기 정적 결함 테이블 내에 새로 검출된 정적 결함으로서 저장되는 시스템.
  22. 제20항에 있어서, 상기 정적 결함 테이블은 하나 이상의 선입선출(FIFO) 큐들로서 구현되는 시스템.
  23. 제20항에 있어서, 상기 정적 결함 테이블은 복수의 정적 결함 픽셀을 저장하도록 구성되고, 상기 정적 결함 테이블은 상기 저장된 복수의 정적 결함 픽셀과 관련된 최소 기울기 값들에 적어도 부분적으로 기초하여 분류되도록 구성되는 시스템.
  24. 제19항에 있어서, 전자 장치를 포함하고, 상기 이미징 장치는 상기 전자 장치와 통합된 카메라, 상기 전자 장치의 입출력 포트에 결합하도록 구성되는 외부 카메라 또는 이들의 소정 조합을 포함하는 시스템.
  25. 제19항에 있어서, 상기 이미지 센서는 베이어 컬러 필터 어레이(Bayer color filter array), RGBW 컬러 필터 어레이 또는 CYGM 컬러 필터 어레이를 포함하는 시스템.
  26. 제19항에 있어서, 정적 결함, 동적 결함 또는 스펙클은 상기 입력 픽셀이 상기 이미지 센서 상의 데드(dead) 픽셀, 스턱(stuck) 픽셀 또는 누설(leaky) 픽셀에 대응하는 결과인 시스템.
  27. 프로세서에 의해 실행하기 위한 명령어들을 인코딩한 하나 이상의 유형의(tangible) 컴퓨터 판독 가능 저장 매체로서,
    상기 명령어들은,
    이미지 센서에 의해 획득된 이미지 데이터의 현재 프레임 내의 입력 픽셀이 정적 결함 테이블 내의 위치 엔트리에 대응하는지를 결정하고, 상기 입력 픽셀의 위치가 상기 정적 결함 테이블에서 발견되는 경우에 상기 입력 픽셀을 정적 결함으로서 식별하기 위한 코드 - 상기 정적 결함 테이블 내의 각각의 위치 엔트리는 최소 기울기 값과 관련됨 -;
    스캐닝 순서에서 동일 컬러의 이전 픽셀의 값으로서 결정되는 정적 결함 교체 값을 이용하여 상기 입력 픽셀을 교정하기 위한 코드;
    상기 입력 픽셀이 정적 결함으로서 식별되지 않은 경우에, 상기 입력 픽셀과 동일한 컬러의 8개의 이웃 픽셀을 식별하고, 상기 이미지 센서의 이미징 프레임 내에 정의된 처리 영역 내에 위치하는 상기 8개의 이웃 픽셀 각각에 대해 상기 입력 픽셀과 관련된 픽셀 대 픽셀 기울기들을 계산하고, 동적 결함 임계치보다 낮은 상기 기울기들의 수의 카운트를 결정하고, 상기 결정된 카운트가 최대 카운트 값보다 낮은 경우에 상기 입력 픽셀을 동적 결함으로서 식별함으로써 상기 입력 픽셀이 동적 결함인지를 결정하기 위한 코드;
    수평 방향, 수직 방향, 대각선 양의 방향 및 대각선 음의 방향 각각에서의 상기 입력 픽셀과 상기 8개의 이웃 픽셀 중 2개의 이웃 픽셀 사이의 차이의 합으로서 방향 기울기들을 계산하고, 최소 기울기에 대응하는 방향을 결정하고, 최소 기울기 방향과 관련된 상기 2개의 이웃 픽셀의 값들을 보간함으로써 동적 결함 교체 값을 계산하기 위한 코드;
    상기 동적 결함 교체 값을 이용하여 상기 입력 픽셀을 교정하기 위한 코드;
    상기 입력 픽셀이 상기 현재 프레임에 선행하는 특정 수의 연속 프레임들에 대해 동적 결함으로 식별되었는지를 결정하고, 상기 입력 픽셀이 상기 특정 수의 연속 프레임들에 대해 동적 결함으로서 식별된 경우에, 상기 처리 영역 내에 위치하는 상기 8개의 이웃 픽셀 각각에 대해 상기 픽셀 대 픽셀 기울기들의 최소 값을 결정하고, 상기 입력 픽셀의 위치 및 상기 최소 기울기 값을 상기 정적 결함 테이블에 저장하기 위한 코드
    를 포함하는 하나 이상의 유형의 컴퓨터 판독 가능 저장 매체.
  28. 제27항에 있어서, 정적 결함들이 교정되는 순서를 상기 정적 결함들과 관련된 최소 기울기 값들에 적어도 부분적으로 기초하여 우선 순위화하기 위한 코드를 포함하는 하나 이상의 유형의 컴퓨터 판독 가능 저장 매체.
  29. 제27항에 있어서, 상기 입력 픽셀이 상기 정적 결함 테이블 내의 위치 엔트리에 대응하는지를 결정하기 위한 코드가 실행되는 제1 시간과 상기 입력 픽셀이 동적 결함인지를 결정하기 위한 코드가 실행되는 제2 시간은 상기 현재 프레임에 대한 상기 이미지 데이터의 적어도 하나의 스캔 라인의 처리에 대응하는 시간의 양만큼 시간 시프트되는 하나 이상의 유형의 컴퓨터 판독 가능 저장 매체.
KR1020127012945A 2009-10-20 2010-10-12 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법 KR101258039B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/582,400 US8259198B2 (en) 2009-10-20 2009-10-20 System and method for detecting and correcting defective pixels in an image sensor
US12/582,400 2009-10-20
PCT/US2010/052264 WO2011049777A1 (en) 2009-10-20 2010-10-12 System and method for detecting and correcting defective pixels in an image sensor

Publications (2)

Publication Number Publication Date
KR20120062940A true KR20120062940A (ko) 2012-06-14
KR101258039B1 KR101258039B1 (ko) 2013-05-02

Family

ID=43244256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127012945A KR101258039B1 (ko) 2009-10-20 2010-10-12 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US8259198B2 (ko)
EP (1) EP2491710B1 (ko)
JP (1) JP5597717B2 (ko)
KR (1) KR101258039B1 (ko)
CN (1) CN102640489B (ko)
AU (1) AU2010308437B2 (ko)
TW (1) TWI425831B (ko)
WO (1) WO2011049777A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019017562A1 (ko) * 2017-07-20 2019-01-24 삼성전자 주식회사 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
KR20190095007A (ko) * 2018-02-06 2019-08-14 한국전자통신연구원 표본 조사 데이터를 전수 조사 데이터로 확장하는 방법 및 장치
RU2721188C2 (ru) * 2017-12-14 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Улучшение контраста и снижение шума на изображениях, полученных с камер

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298834B2 (en) 2006-12-01 2019-05-21 Google Llc Video refocusing
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
US9205135B2 (en) * 2009-09-22 2015-12-08 University Of Miami Podocyte pH modulation and uses thereof
US8436856B1 (en) * 2009-11-06 2013-05-07 Pixar Systems and methods for mixing the execution order of shading language code
CA2781534A1 (en) * 2009-11-20 2011-05-26 Mritunjay Singh Method and system for compressive color image sampling and reconstruction
CN102193194B (zh) * 2010-03-19 2013-07-03 瑞昱半导体股份有限公司 间距计算装置与应用其的透镜修正系统及方法
JP2011223562A (ja) * 2010-03-23 2011-11-04 Fujifilm Corp 撮像装置
US8660335B2 (en) * 2010-03-24 2014-02-25 Varian Medical Systems, Inc. Transient pixel defect detection and correction
JP5615043B2 (ja) * 2010-05-28 2014-10-29 キヤノン株式会社 画像処理装置及び画像処理方法
US8325248B2 (en) * 2010-06-04 2012-12-04 Apple Inc. Dual processing of raw image data
US8488055B2 (en) 2010-09-30 2013-07-16 Apple Inc. Flash synchronization using image sensor interface timing signal
US8508612B2 (en) * 2010-09-30 2013-08-13 Apple Inc. Image signal processor line buffer configuration for processing ram image data
JP5664255B2 (ja) * 2011-01-14 2015-02-04 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
EP2724316B1 (en) * 2011-06-24 2019-06-19 InterDigital Madison Patent Holdings Method and device for processing of an image
US8891866B2 (en) * 2011-08-31 2014-11-18 Sony Corporation Image processing apparatus, image processing method, and program
JP2013066157A (ja) * 2011-08-31 2013-04-11 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
TWI456991B (zh) * 2011-12-02 2014-10-11 Ind Tech Res Inst 壞點偵測方法與電腦程式產品
CA2861934C (en) * 2012-01-20 2019-07-30 Sick Ivp Ab Impact time from image sensing
US8948545B2 (en) * 2012-02-28 2015-02-03 Lytro, Inc. Compensating for sensor saturation and microlens modulation during light-field image processing
US8976161B2 (en) * 2012-03-01 2015-03-10 Apple Inc. Systems and methods for image processing
US9344727B2 (en) * 2012-05-14 2016-05-17 Ati Technologies Ulc Method of using a reduced number of macroblock coding modes in a first view based on total coding mode complexity values of macroblocks in second view
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US20130321675A1 (en) * 2012-05-31 2013-12-05 Apple Inc. Raw scaler with chromatic aberration correction
CN103458173B (zh) * 2012-06-01 2017-04-26 华为技术有限公司 一种图像相关数据处理的装置、方法和终端
US9858649B2 (en) 2015-09-30 2018-01-02 Lytro, Inc. Depth-based image blurring
CN103686098B (zh) * 2012-09-04 2015-07-22 恒景科技股份有限公司 数字摄像装置及其影像处理方法
US9148571B2 (en) * 2012-09-14 2015-09-29 Apple Inc. Image distortion correction in scaling circuit
US9854138B2 (en) * 2012-09-20 2017-12-26 Gyrus Acmi, Inc. Fixed pattern noise reduction
TW201419853A (zh) * 2012-11-09 2014-05-16 Ind Tech Res Inst 影像處理器及其影像壞點偵測方法
US8782558B1 (en) * 2012-11-28 2014-07-15 Advanced Testing Technologies, Inc. Method, program and arrangement for highlighting failing elements of a visual image
WO2014103852A1 (ja) * 2012-12-28 2014-07-03 富士フイルム株式会社 画素補正方法及び撮像装置
KR20200067917A (ko) 2013-02-18 2020-06-12 카티바, 인크. Oled 스택 필름의 품질 평가를 위한 시스템, 장치, 및 방법
TWI636557B (zh) * 2013-03-15 2018-09-21 新力股份有限公司 Solid-state imaging device, manufacturing method thereof, and electronic device
JP5816316B2 (ja) * 2013-03-29 2015-11-18 富士フイルム株式会社 放射線画像検出装置およびその作動方法、並びに放射線撮影装置
US10334151B2 (en) 2013-04-22 2019-06-25 Google Llc Phase detection autofocus using subaperture images
US9088740B2 (en) * 2013-06-21 2015-07-21 Himax Imaging Limited System and method of reducing noise
US9774839B2 (en) * 2013-08-30 2017-09-26 Glasses.Com Inc. Systems and methods for color correction of images captured using a mobile computing device
JP6238657B2 (ja) * 2013-09-12 2017-11-29 キヤノン株式会社 画像処理装置及びその制御方法
GB2521408B (en) * 2013-12-18 2015-12-16 Imagination Tech Ltd Defective pixel fixing
JP6381206B2 (ja) * 2013-12-24 2018-08-29 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
US10021324B2 (en) 2014-03-12 2018-07-10 SZ DJI Technology Co., Ltd. Method and system of correcting defective pixels
CN105100550A (zh) * 2014-04-21 2015-11-25 展讯通信(上海)有限公司 阴影校正方法及装置、成像系统
KR20150135696A (ko) * 2014-05-23 2015-12-03 삼성전자주식회사 결함 픽셀 관리 회로 및 그것을 포함하는 이미지 센서 모듈, 및 결함 픽셀 관리 방법
US9161029B1 (en) * 2014-07-03 2015-10-13 Interra Systems, Inc. Systems and methods for detecting defective pixels in a video sequence
US9462189B2 (en) 2014-07-31 2016-10-04 Apple Inc. Piecewise perspective transform engine
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
LU92516B1 (en) * 2014-08-11 2016-02-12 Iee Sarl Infrared imager non-uniformity correction with bad pixel detection and correction
KR20160056614A (ko) * 2014-11-12 2016-05-20 삼성전자주식회사 영상 처리 장치, 영상 처리 장치 제어 방법 및 초음파 영상 장치
KR102247564B1 (ko) 2014-11-13 2021-05-03 삼성전자 주식회사 화소 처리 장치, 이를 포함하는 이미지 신호 처리 장치, 및 이를 포함하는 이미지 처리 시스템
CN104330167B (zh) * 2014-11-24 2017-07-18 浙江大立科技股份有限公司 红外焦平面阵列动态盲元处理方法及装置
CN104363391B (zh) * 2014-11-28 2018-11-27 广东欧珀移动通信有限公司 图像坏点补偿方法、系统及拍照设备
US9710878B2 (en) 2014-12-17 2017-07-18 Microsoft Technoloy Licensing, LLC Low power DMA labeling
US10181175B2 (en) 2014-12-17 2019-01-15 Microsoft Technology Licensing, Llc Low power DMA snoop and skip
CN105987807A (zh) * 2015-02-15 2016-10-05 宁波舜宇光电信息有限公司 一种垂直腔面发射激光器阵列的坏点检测系统及方法
KR102346961B1 (ko) 2015-03-18 2022-01-04 삼성전자주식회사 이미지 처리 장치 및 이를 포함하는 노이즈 제거 시스템
US10444931B2 (en) 2017-05-09 2019-10-15 Google Llc Vantage generation and interactive playback
US10341632B2 (en) 2015-04-15 2019-07-02 Google Llc. Spatial random access enabled video system with a three-dimensional viewing volume
US10565734B2 (en) 2015-04-15 2020-02-18 Google Llc Video capture, processing, calibration, computational fiber artifact removal, and light-field pipeline
US10540818B2 (en) 2015-04-15 2020-01-21 Google Llc Stereo image generation and interactive playback
US10440407B2 (en) 2017-05-09 2019-10-08 Google Llc Adaptive control for immersive experience delivery
US10419737B2 (en) 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10469873B2 (en) 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
US10546424B2 (en) 2015-04-15 2020-01-28 Google Llc Layered content delivery for virtual and augmented reality experiences
US10412373B2 (en) 2015-04-15 2019-09-10 Google Llc Image capture for virtual reality displays
US11328446B2 (en) 2015-04-15 2022-05-10 Google Llc Combining light-field data with active depth data for depth map generation
US10567464B2 (en) 2015-04-15 2020-02-18 Google Llc Video compression with adaptive view-dependent lighting removal
US10275898B1 (en) 2015-04-15 2019-04-30 Google Llc Wedge-based light-field video capture
CN104935837B (zh) * 2015-06-10 2018-02-06 无锡英斯特微电子有限公司 用于光学图像定点设备及光学视频设备的图像处理方法
FR3038194B1 (fr) 2015-06-26 2017-08-11 Ulis Correction de pixels parasites dans un capteur d'image infrarouge
FR3038195B1 (fr) * 2015-06-26 2018-08-31 Ulis Detection de pixels parasites dans un capteur d'image infrarouge
CN106358005B (zh) * 2015-07-17 2020-01-31 联想(北京)有限公司 图像处理方法和电子设备
US9979909B2 (en) 2015-07-24 2018-05-22 Lytro, Inc. Automatic lens flare detection and correction for light-field images
JP2017055309A (ja) 2015-09-10 2017-03-16 キヤノン株式会社 撮像装置及びその制御方法
JP2017055308A (ja) * 2015-09-10 2017-03-16 キヤノン株式会社 撮像装置及びその制御方法
TWI558211B (zh) * 2015-11-19 2016-11-11 晶相光電股份有限公司 影像處理方法與裝置
KR20170062949A (ko) * 2015-11-30 2017-06-08 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
CN105516694B (zh) * 2015-12-08 2018-01-02 上海集成电路研发中心有限公司 避免产生镜头暗角的方法及系统
CN105430385B (zh) * 2015-12-14 2017-06-30 上海富瀚微电子股份有限公司 一种图像传感器坏点检测和校正的方法及装置
JP2017158018A (ja) * 2016-03-01 2017-09-07 キヤノン株式会社 画像処理装置およびその制御方法、撮像装置
US10275892B2 (en) 2016-06-09 2019-04-30 Google Llc Multi-view scene segmentation and propagation
US9992467B2 (en) * 2016-06-30 2018-06-05 Apple Inc. Parallel computer vision and image scaling architecture
US10360687B2 (en) * 2016-07-01 2019-07-23 Intel Corporation Detection and location of active display regions in videos with static borders
WO2018068250A1 (zh) * 2016-10-13 2018-04-19 深圳市大疆创新科技有限公司 处理数据的方法、装置、芯片和摄像头
US10679361B2 (en) 2016-12-05 2020-06-09 Google Llc Multi-view rotoscope contour propagation
US10049463B1 (en) * 2017-02-14 2018-08-14 Pinnacle Imaging Corporation Method for accurately aligning and correcting images in high dynamic range video and image processing
CN108513043A (zh) * 2017-02-27 2018-09-07 中兴通讯股份有限公司 一种图像降噪方法及终端
US10594945B2 (en) 2017-04-03 2020-03-17 Google Llc Generating dolly zoom effect using light field image data
US10474227B2 (en) 2017-05-09 2019-11-12 Google Llc Generation of virtual reality with 6 degrees of freedom from limited viewer data
CN107071333A (zh) * 2017-05-19 2017-08-18 深圳天珑无线科技有限公司 视频图像处理方法和视频图像处理装置
US10354399B2 (en) 2017-05-25 2019-07-16 Google Llc Multi-view back-projection to a light-field
CN107197146B (zh) 2017-05-31 2020-06-30 Oppo广东移动通信有限公司 图像处理方法和装置、移动终端、计算机可读存储介质
CN107277351A (zh) * 2017-06-30 2017-10-20 维沃移动通信有限公司 一种图像数据的处理方法和移动终端
US10545215B2 (en) 2017-09-13 2020-01-28 Google Llc 4D camera tracking and optical stabilization
GB2567881B (en) 2017-10-30 2021-02-10 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
GB2568039B (en) * 2017-10-30 2020-10-28 Imagination Tech Ltd Systems and methods for processing a stream of data values
US10965862B2 (en) 2018-01-18 2021-03-30 Google Llc Multi-camera navigation interface
CN110390645B (zh) * 2018-04-23 2024-04-16 康耐视公司 用于立体瞬时图像序列的改善3d数据重构的系统和方法
WO2019208339A1 (ja) * 2018-04-27 2019-10-31 オリンパス株式会社 画像処理装置、画像処理方法および画像処理プログラム
CN110807731B (zh) * 2018-07-20 2023-06-30 宁波舜宇光电信息有限公司 用于补偿图像坏点的方法、装置、系统及存储介质
US10554914B1 (en) 2018-08-10 2020-02-04 Apple Inc. Adjusting confidence values for correcting pixel defects
CN110830778B (zh) * 2018-08-14 2021-05-14 杭州海康威视数字技术股份有限公司 成像设备色彩校正方法、装置、电子设备及存储介质
WO2020051779A1 (zh) * 2018-09-11 2020-03-19 合刃科技(深圳)有限公司 曲面物体的缺陷检测方法及检测系统
CN109348146B (zh) * 2018-10-31 2021-03-02 上海集成电路研发中心有限公司 一种图像传感器的静态坏点校正装置及其校正方法
JP2020086419A (ja) * 2018-11-28 2020-06-04 雄二 橋本 複数の制御対象のユニフォーミティを得るための調整方法、調整システムおよびコンベア装置、並びに調整された機器。
CN109671081B (zh) * 2018-12-25 2021-04-20 凌云光技术股份有限公司 一种基于fpga查找表的坏簇统计方法及装置
GB2610355B (en) * 2019-03-05 2023-08-23 Advanced Risc Mach Ltd Pixel correction
GB2581977B (en) * 2019-03-05 2023-03-29 Advanced Risc Mach Ltd Pixel Correction
CN112135117B (zh) * 2019-06-25 2023-11-07 北京小米移动软件有限公司 摄像模组的测试箱体、系统、方法、装置和存储介质
US11170690B2 (en) 2019-09-26 2021-11-09 Apple Inc. Pixel leakage and internal resistance compensation systems and methods
CN111126433A (zh) * 2019-11-19 2020-05-08 佛山市南海区广工大数控装备协同创新研究院 一种工厂pcb板缺陷检测中正负样本数据平衡方法
CN111311526B (zh) * 2020-02-25 2023-07-25 深圳市朗驰欣创科技股份有限公司 视频增强方法、视频增强装置及终端设备
CN111487257A (zh) * 2020-04-01 2020-08-04 武汉精立电子技术有限公司 一种显示面板异常像素实时检测修复方法及装置
CN111553900A (zh) * 2020-04-28 2020-08-18 秦皇岛市盛通无损检测有限责任公司 一种缺陷磁痕自动识别系统、方法和可读存储介质
CN112666178B (zh) * 2020-12-14 2024-06-18 杭州当虹科技股份有限公司 一种户外led大屏坏点在线监控方法
US20220303495A1 (en) * 2021-03-16 2022-09-22 Samsung Electronics Co., Ltd. Pixel blending for synthesizing video frames with occlusion and watermark handling
WO2022204256A1 (en) * 2021-03-25 2022-09-29 Sri International On-the-fly defective pixel correction
JP2022183102A (ja) * 2021-05-28 2022-12-08 三星電子株式会社 イメージ信号プロセッサを含むイメージセンサ及びその動作方法
CN114359736B (zh) * 2022-03-02 2022-07-12 深圳市智源空间创新科技有限公司 复杂光环境下的管道缺陷检测方法及装置
CN114612320B (zh) * 2022-03-04 2023-09-29 业成科技(成都)有限公司 图像亮度优化方法、装置、计算机设备和存储介质
CN116863175B (zh) * 2023-08-31 2023-12-26 中江立江电子有限公司 一种直角连接器缺陷识别方法、装置、设备及介质
CN117456519B (zh) * 2023-12-22 2024-03-12 江西科益高新技术有限公司 一种用于工控安全的仿真光电靶标装置及其仿真方法
CN117590397B (zh) * 2024-01-18 2024-06-14 北京香田智能科技有限公司 基于sar影像的海岸带变化检测方法和电子设备

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4742543A (en) * 1983-12-22 1988-05-03 Frederiksen Jeffrey E Video transmission system
US4682360A (en) * 1983-12-22 1987-07-21 Frederiksen Jeffrey E Video transmission system
US4694489A (en) * 1983-12-22 1987-09-15 Frederiksen Jeffrey E Video transmission system
US4605961A (en) * 1983-12-22 1986-08-12 Frederiksen Jeffrey E Video transmission system using time-warp scrambling
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
DE69333288T2 (de) * 1992-09-01 2004-08-26 Apple Computer, Inc., Cupertino Verbesserte vektorquantisierung
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
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
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
US5991465A (en) * 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US6028611A (en) * 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
US6157394A (en) * 1996-08-29 2000-12-05 Apple Computer, Inc. Flexible digital image processing via an image processing chain with modular image processors
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
US6198514B1 (en) * 1998-02-27 2001-03-06 Apple Computer, Inc. Color misconvergence measurement using a common monochrome image
US6995794B2 (en) * 1999-06-30 2006-02-07 Logitech Europe S.A. Video camera with major functions implemented in host software
JP3947328B2 (ja) * 1999-07-14 2007-07-18 富士フイルム株式会社 固体撮像素子の欠陥画素データ補正装置
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
US7365783B2 (en) * 2001-03-16 2008-04-29 Olympus Corporation Image pickup apparatus which stores initial defect data concerning image pickup device and data on later developed defects
JP4499945B2 (ja) * 2001-03-16 2010-07-14 オリンパス株式会社 撮像装置
US7209168B2 (en) * 2001-04-11 2007-04-24 Micron Technology, Inc. Defective pixel correction method and system
US6959044B1 (en) * 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US7170938B1 (en) * 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
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
JP2004241978A (ja) * 2003-02-05 2004-08-26 Minolta Co Ltd 撮像装置
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
JP3984936B2 (ja) * 2003-08-08 2007-10-03 キヤノン株式会社 撮像装置および撮像方法
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
US7657116B2 (en) * 2003-10-08 2010-02-02 Canon Kabushiki Kaisha Correction method of defective pixel in image pickup device and image processing apparatus using the correction method
JP2005142997A (ja) * 2003-11-10 2005-06-02 Olympus Corp 欠陥画素補正装置
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 色補間方法
US7345708B2 (en) * 2003-12-23 2008-03-18 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7362376B2 (en) * 2003-12-23 2008-04-22 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
US7231587B2 (en) * 2004-03-29 2007-06-12 Lsi Corporation Embedded picture PSNR/CRC data in compressed video bitstream
US7796169B2 (en) * 2004-04-20 2010-09-14 Canon Kabushiki Kaisha Image processing apparatus for correcting captured image
JP4289206B2 (ja) * 2004-04-26 2009-07-01 ソニー株式会社 カウンタ回路
JP4591046B2 (ja) 2004-11-11 2010-12-01 ソニー株式会社 欠陥検出補正回路及び欠陥検出補正方法
JP2006148748A (ja) * 2004-11-24 2006-06-08 Matsushita Electric Ind Co Ltd 画素欠陥補正装置および画素欠陥補正方法
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
US7576783B2 (en) 2005-02-04 2009-08-18 Hau Hwang Confidence based weighting for color interpolation
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
US8155194B2 (en) * 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
US7881384B2 (en) * 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8208540B2 (en) * 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US8045618B2 (en) * 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
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
JP2007201530A (ja) 2006-01-23 2007-08-09 Pentax Corp 画素欠陥補正装置
US7860334B2 (en) * 2006-02-09 2010-12-28 Qualcomm Incorporated Adaptive image filter for filtering image information
JP5183880B2 (ja) * 2006-03-14 2013-04-17 ソニー株式会社 カラーフィルタおよび撮像素子
US7676084B2 (en) * 2006-06-19 2010-03-09 Mtekvision Co., Ltd. Apparatus for processing dead pixel
US7684634B2 (en) 2006-08-29 2010-03-23 Raytheon Company System and method for adaptive non-uniformity compensation for a focal plane array
JP4895107B2 (ja) * 2006-09-08 2012-03-14 ソニー株式会社 電子機器、情報処理方法、およびプログラム
US7649555B2 (en) * 2006-10-02 2010-01-19 Mtekvision Co., Ltd. Apparatus for processing dead pixel
US7773127B2 (en) * 2006-10-13 2010-08-10 Apple Inc. System and method for RAW image processing
US7893975B2 (en) * 2006-10-13 2011-02-22 Apple Inc. System and method for processing images using predetermined tone reproduction curves
US20080253652A1 (en) * 2007-04-10 2008-10-16 Aricent Inc. Method of demosaicing a digital mosaiced image
EP2015562A1 (en) 2007-07-10 2009-01-14 Thomson Licensing S.A. Processing device for correcting defect pixel values of an image sensor unit, image sensor unit with the processing device and method
JP2009105872A (ja) * 2007-10-01 2009-05-14 Sony Corp 欠陥画素補正回路及び固体撮像装置
US8405727B2 (en) * 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
JP5300356B2 (ja) * 2008-07-18 2013-09-25 キヤノン株式会社 撮像装置、及び撮像装置の制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019017562A1 (ko) * 2017-07-20 2019-01-24 삼성전자 주식회사 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
KR20190009911A (ko) * 2017-07-20 2019-01-30 삼성전자주식회사 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
US11451699B2 (en) 2017-07-20 2022-09-20 Samsung Electronics Co., Ltd. Device for correcting and compressing image error data, and method related thereto
RU2721188C2 (ru) * 2017-12-14 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Улучшение контраста и снижение шума на изображениях, полученных с камер
KR20190095007A (ko) * 2018-02-06 2019-08-14 한국전자통신연구원 표본 조사 데이터를 전수 조사 데이터로 확장하는 방법 및 장치

Also Published As

Publication number Publication date
US20110090371A1 (en) 2011-04-21
AU2010308437B2 (en) 2014-01-23
AU2010308437A1 (en) 2012-05-17
JP2013509092A (ja) 2013-03-07
CN102640489B (zh) 2014-12-31
EP2491710B1 (en) 2018-07-04
KR101258039B1 (ko) 2013-05-02
EP2491710A1 (en) 2012-08-29
WO2011049777A1 (en) 2011-04-28
CN102640489A (zh) 2012-08-15
JP5597717B2 (ja) 2014-10-01
TW201143413A (en) 2011-12-01
TWI425831B (zh) 2014-02-01
US8259198B2 (en) 2012-09-04

Similar Documents

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 5