KR102581210B1 - 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩 - Google Patents

이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩 Download PDF

Info

Publication number
KR102581210B1
KR102581210B1 KR1020190003337A KR20190003337A KR102581210B1 KR 102581210 B1 KR102581210 B1 KR 102581210B1 KR 1020190003337 A KR1020190003337 A KR 1020190003337A KR 20190003337 A KR20190003337 A KR 20190003337A KR 102581210 B1 KR102581210 B1 KR 102581210B1
Authority
KR
South Korea
Prior art keywords
correction
information
bayer
pixel
translation
Prior art date
Application number
KR1020190003337A
Other languages
English (en)
Other versions
KR20200086939A (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 에스케이하이닉스 주식회사
Priority to KR1020190003337A priority Critical patent/KR102581210B1/ko
Priority to CN201910992456.3A priority patent/CN111432112B/zh
Priority to US16/671,554 priority patent/US11159722B2/en
Priority to JP2019233848A priority patent/JP2020113975A/ja
Publication of KR20200086939A publication Critical patent/KR20200086939A/ko
Application granted granted Critical
Publication of KR102581210B1 publication Critical patent/KR102581210B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • 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/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/10Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
    • H04N25/11Arrangement of colour filter arrays [CFA]; Filter mosaics
    • H04N25/13Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
    • H04N25/134Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements based on three different wavelength filter elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Color Television Image Signal Generators (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Abstract

본 발명의 일 실시 예에 따른 이미지 신호 처리 방법은, 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 단계, 상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 단계 및 상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 단계를 포함할 수 있다.

Description

이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩{METHOD FOR PROCESSING IMAGE SIGNAL, IMAGE SIGNAL PROCESSOR, AND IMAGE SENSOR CHIP}
본 발명은 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩에 관한 것으로, 보다 상세하게는 흔들림 보정을 수행하기 위한 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩에 관한 것이다.
이미지 센서는 빛에 반응하는 반도체의 성질을 이용하여 이미지를 캡쳐(capture)하는 장치이다. 최근 들어, 컴퓨터 산업과 통신 산업의 발달에 따라 스마트폰, 디지털 카메라, 게임기기, 사물 인터넷(Internet of Things), 로봇, 경비용 카메라, 의료용 마이크로 카메라 등 다양한 분야에서 성능이 향상된 이미지 센서의 수요가 증대되고 있다.
이미지 센서는 크게 CCD(Charge Coupled Device) 이미지 센서와, CMOS(Complementary Metal Oxide Semiconductor) 이미지 센서로 구분될 수 있다. CCD 이미지 센서는 CMOS 이미지 센서에 비해 잡음(noise)이 적고, 화질이 우수하다. 하지만, CMOS 이미지 센서는 구동 방식이 간편하고 다양한 스캐닝(scanning) 방식으로 구현 가능하다. 또한, CMOS 이미지 센서는 신호 처리 회로를 단일 칩에 집적할 수 있어 제품의 소형화가 용이하고 전력 소모가 매우 낮으며, CMOS 공정 기술을 호환하여 사용할 수 있어 제조 단가가 낮다. 최근에는 모바일 기기에 보다 적합한 특성으로 인하여 CMOS 이미지 센싱 장치가 많이 이용되고 있다.
본 발명의 기술적 사상은 자이로 센서를 이용하여 베이어 패턴 이미지에 대한 흔들림 보정을 수행하는 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩을 제공하기 위한 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시 예에 따른 이미지 신호 처리 방법은, 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 단계, 상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 단계 및 상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 단계를 포함할 수 있다.
실시예에 따라, 상기 평행 이동 보정을 수행하는 단계는, 상기 베이어 패턴 이미지의 픽셀 좌표와 상기 평행 이동 정보를 연산하여 제1 보정 픽셀 좌표를 산출하는 단계, 및 상기 제1 보정 픽셀 좌표를 기초로 수평 동기 신호 및 수직 동기 신호를 생성하는 단계를 포함할 수 있다.
실시예에 따라, 상기 제1 보정 픽셀 좌표를 산출하는 단계는, 상기 픽셀 좌표의 X축 좌표에 상기 평행 이동 정보의 X축 이동 정보를 가산하여 상기 제1 보정 픽셀 좌표의 X축 좌표를 산출하는 단계, 및 상기 픽셀 좌표의 Y축 좌표에 상기 평행 이동 정보의 Y축 이동 정보를 감산하여 상기 제1 보정 픽셀 좌표의 Y축 좌표를 산출하는 단계를 포함할 수 있다.
실시예에 따라, 상기 수평 동기 신호 및 상기 수직 동기 신호를 생성하는 단계는, 상기 제1 보정 픽셀 좌표의 정수 좌표가 최종 윈도우에 포함되는 픽셀 좌표에 대응하는 베이어 패턴 이미지가 라인 메모리에 저장되도록 상기 수평 동기 신호 및 상기 수직 동기 신호를 생성하는 단계를 포함할 수 있다.
실시예에 따라, 상기 수평 동기 신호 및 상기 수직 동기 신호에 의해 정해지는 평행 이동 윈도우는 상기 최종 윈도우에 비해 X축 방향으로 제1 길이만큼, Y축 방향으로 제2 길이만큼 더 큰 길이를 가질 수 있다.
실시예에 따라, 상기 제1 길이 및 상기 제2 길이는 상기 자이로 정보에 따라 결정될 수 있다.
실시예에 따라, 상기 평행 이동 보정을 수행하는 단계 이후, 상기 자이로 정보의 세그먼트 이동 정보를 이용하여 전단(shear) 보정을 수행하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 세그먼트 이동 정보는 복수의 세그먼트들 각각에 대한 이동 거리를 포함하고, 상기 전단 보정을 수행하는 단계는, 상기 복수의 세그먼트들 각각에 대한 이동 거리를 이용하여 계산된 각 세그먼트 별 기울기와 제1 보정 픽셀 좌표의 정수 좌표의 상대 위치값을 곱한 값을 상기 제1 보정 픽셀 좌표의 정수 좌표와 연산하여 기울어짐을 보정하는 단계, 및 상기 복수의 세그먼트들 각각에 대한 이동 거리를 이용하여 계산된 세그먼트 오프셋을 이용하여 상기 복수의 세그먼트들 중 어느 하나를 기준으로 정렬시켜 제2 보정 픽셀 좌표를 산출하는 단계를 포함할 수 있다.
실시예에 따라, 상기 전단 보정을 수행하는 단계 이후, 상기 자이로 정보의 회전 정보를 이용하여 회전(rotation) 보정을 수행하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 회전 보정을 수행하는 단계는, 상기 제2 보정 픽셀 좌표에 상기 제1 보정 픽셀 좌표의 소수 좌표를 가산 또는 감산하는 단계를 포함할 수 있다.
실시예에 따라, 상기 베이어 패턴 이미지는 라인 메모리에 저장될 수 있다.
실시예에 따라, 상기 베이어 오더 상태 정보를 생성하는 단계는, 상기 평행 이동 정보의 X축 이동 정보 및 Y축 이동 정보 각각의 정수부가 짝수 또는 홀수인지 여부에 따라 베이어 오더 상태 정보를 생성하는 단계를 포함할 수 있다.
실시예에 따라, 상기 보간을 수행하는 단계는, 상기 평행 이동 보정, 전단 보정 및 회전 보정이 수행된 제3 보정 픽셀 좌표의 정수 좌표와 보정 전의 픽셀 좌표 간의 맵핑 정보에 기초하여, 상기 제3 보정 픽셀 좌표의 정수 좌표에 해당하는 픽셀 데이터를 리드하는 단계, 상기 베이어 오더 상태 정보를 이용하여 상기 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상을 결정하는 단계, 및 색상이 결정된 각 픽셀로 구성된 마스크를 이용한 보간을 통해 RGB 데이터를 생성하는 단계를 포함할 수 있다.
실시예에 따라, 상기 보간을 수행하는 단계는, 상기 RGB 데이터의 마스크를 이용하여 상기 제3 보정 픽셀 좌표의 소수 좌표에 따른 가중치를 적용함에 의해, 상기 제3 보정 픽셀 좌표의 정수 좌표 각각에 대응하는 최종 RGB 데이터를 생성하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 이미지 신호 프로세서는, 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 베이어 오더 계산기, 상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 EIS(Electronic Image Stabilization) 계산기, 및 상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 보간부를 포함할 수 있다.
본 발명의 일 실시예에 따른 이미지 센서 칩은, 각각이 하나의 색상 정보를 나타내는 픽셀 데이터로 구성된 베이어 패턴 이미지를 생성하는 이미지 생성 블록, 및 자이로 정보의 평행 이동 정보에 기초하여 상기 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하고, 상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하고, 상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 이미지 신호 프로세서를 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, RGB 이미지가 아닌 베이어 패턴 이미지에 대해 자이로 정보에 기초한 EIS 보정을 수행하고, EIS 보정 과정에서 변경된 베이어 오더를 이용해 보정된 베이어 패턴 이미지에 대해 RGB 이미지를 생성함으로써, 시스템 자원 소모가 최소화된 EIS 보정 기능을 구현할 수 있다.
특히, 프레임 메모리가 아닌 라인 메모리 만을 이용하여 EIS를 수행함으로써, EIS 보정에 요구되는 시스템 자원을 대폭 절약할 수 있다.
또한, 이미지 센서 칩 내에서 자이로 정보를 이용해 평행 이동 보정, 전단 보정 및 회전 보정의 EIS 보정을 통합적으로 수행할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 처리 시스템을 간략히 나타낸 도면이다.
도 2는 도 1에 도시된 이미지 신호 프로세서를 보다 상세히 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 이미지 신호 처리 방법을 나타낸 흐름도이다.
도 4는 도 3에 도시된 이미지 신호 처리 방법의 S20 단계를 보다 상세히 나타낸 흐름도이다.
도 5는 도 4에 도시된 S110 단계 및 S140 단계를 설명하기 위한 도면이다.
도 6은 도 4에 도시된 S130 단계를 설명하기 위한 도면이다.
도 7은 도 4에 도시된 S160 단계를 설명하기 위한 도면이다.
도 8은 도 4에 도시된 S170 단계를 설명하기 위한 도면이다.
도 9는 도 4에 도시된 S190 단계 및 S200 단계를 설명하기 위한 도면이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 이미지 처리 시스템을 간략히 나타낸 도면이다.
도 1을 참조하면, 이미지 처리 시스템(10)은 전자 장치, 예컨대 디지털 카메라, 이동 전화기, 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 노트북(notebook), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), 모바일 인터넷 장치(mobile internet device(MID)), PC(Personal Computer), 웨어러블 디바이스(wearable device) 또는 다양한 목적의 카메라(자동차의 전방 카메라, 후방 카메라, 블랙 박스 카메라 등)로 구현될 수 있다.
이미지 처리 시스템(10)은 광학 렌즈(70), CMOS 이미지 센서(100) 및 호스트(400)를 포함할 수 있다. 여기서, CMOS 이미지 센서(100)는 칩(chip)으로 구현되어 이미지 센서 칩으로 불릴 수 있다.
CMOS 이미지 센서(100)는 광학 렌즈(50)를 통하여 입력된(또는 캡쳐된(captured)) 피사체(30)에 대한 이미지 데이터를 생성하고, 호스트(400)로 이미지 데이터를 전송할 수 있다. 광학 렌즈(50)는 광학계를 형성하는 적어도 하나의 렌즈를 포함할 수 있다.
CMOS 이미지 센서(100)는 액티브 픽셀 센서(Active Pixel Sensor; APS) 블록(110), 로우 드라이버(row driver, 120), 상관 이중 샘플링(Correlate Double Sampling; CDS) 블록(130), 아날로그-디지털 컨버터(Analog-to-Digital Converter; ADC) 블록(140), 출력 버퍼(output buffer, 150), 타이밍 생성기(timing generator, 160), 제어 레지스터 블록(control register block, 170), 램프 생성기(ramp generator, 180), 출력 인터페이스(output interface; output I/F, 190), 이미지 신호 프로세서(image signal processor, 200) 및 자이로 센서(gyro sensor, 300)를 포함할 수 있다. 여기서, CMOS 이미지 센서(100)의 각 구성은 예시적인 것에 불과하며, 필요에 따라 적어도 일부의 구성이 추가되거나 생략될 수 있으며, 복수의 구성이 하나의 구성으로 통합되거나 하나의 구성이 복수의 구성으로 분리되어 구현될 수도 있다.
또한, 액티브 픽셀 센서 블록(110), 로우 드라이버(120), 상관 이중 샘플링 블록(130), 아날로그-디지털 컨버터 블록(140), 출력 버퍼(150)는 각 픽셀에 대응하는 픽셀 데이터를 생성 및 출력한다는 점에서 이미지 생성 블록(image generating block, 105)으로 불릴 수 있다.
APS 블록(110)은 복수 개의 행과 열로 배열된 복수의 픽셀들을 포함할 수 있다. APS 블록(110)을 구성하는 픽셀들 각각은 입사광에 따라 생성된 광 전하들을 축적하고, 축적된 광 전하들에 상응하는 픽셀 신호를 생성할 수 있다. 상기 픽셀들 각각은 광 신호를 전기적 신호로 변환하는 광전 변환 소자(예컨대, 포토 다이오드(photo diode), 포토트랜지스터(photo transistor), 포토게이트(photogate), 또는 핀드 포토다이오드 (pinned photo diode)) 및 전기적 신호를 처리하기 위한 적어도 하나의 트랜지스터를 포함할 수 있다. 각 픽셀은 로우 드라이버(120)로부터 출력되는 픽셀 제어 신호에 따라 구동되고, 각 픽셀에서 감지된 전기적 신호는 복수의 컬럼 라인들(미도시)을 통하여 CDS 블록(130)으로 전송될 수 있다. 픽셀 제어 신호의 종류는 각 픽셀의 구조(예컨대, 3T, 4T, 5T 등)에 따라 달라질 수 있으며, 예를 들어 4T 픽셀의 경우 픽셀 제어 신호는 리셋 제어 신호(RG), 전송 제어 신호(TG) 및 선택 제어 신호(SEL)를 포함할 수 있다.
APS 블록(110)과 광학 렌즈(50) 사이에는 컬러 필터 어레이(color filter array)가 구비될 수 있고, 컬러 필터 어레이는 각 픽셀로 입사되는 광의 특정 파장(예컨대, 레드, 블루, 그린) 만을 통과시키는 컬러 필터들을 포함할 수 있다. 컬러 필터 어레이로 인해, 각 픽셀의 픽셀 데이터는 특정 파장의 광의 세기에 대응하는 값을 나타낼 수 있으며, 각 픽셀은 컬러 필터의 종류에 따라 레드 픽셀(R), 블루 픽셀(B) 또는 그린 픽셀(G)로 불릴 수 있다. 본 명세서에서는 레드 픽셀(R), 블루 픽셀(B) 및 그린 픽셀(G)이 베이어 패턴(bayer pattern)으로 배치된 것으로 가정하기로 하나, 본 발명의 범위는 이에 한정되지 않는다.
로우 드라이버(120)는 타이밍 생성기(160)로부터 수신한 라인 컨트롤 신호(LCS)에 기초하여 복수의 픽셀들 각각의 동작을 제어하기 위한 복수의 픽셀 제어 신호들을 APS 블록(110)으로 전송할 수 있다. 구체적으로, 로우 드라이버(120)는 APS 블록(110)의 복수의 행들 중 어느 하나의 행을 선택하기 위해서 선택 제어 신호(SEL)를 생성할 수 있다. 그리고 로우 드라이버(120)는 선택된 행에 대응하는 픽셀들로 리셋 제어 신호(RS) 및 전송 제어 신호(TG)를 전송할 수 있다. 그러면, 선택된 행의 픽셀들로부터 생성되는 아날로그 형태의 기준 신호(또는 리셋 신호)와 영상 신호가 CDS 블록(130)으로 전달될 수 있다. 여기서, 픽셀로부터 출력되는 기준 신호와 영상 신호는 픽셀 신호로 통칭될 수 있다.
CDS 블록(130)은 APS 블록(110)으로부터 복수의 컬럼 라인들 각각으로 제공되는 기준 신호와 영상 신호 세트를 순차적으로 샘플링 및 홀딩(Sampling and Holding)할 수 있다. 즉, CDS 블록(130)은 컬럼들 각각에 대응하는 기준 신호와 영상 신호의 레벨을 샘플링하고 유지할 수 있다.
ADC 블록(140)은 CDS 블록(130)으로부터 출력되는 각각의 컬럼에 대한 상관 이중 샘플링 신호를 디지털 신호로 변환한 픽셀 데이터를 출력할 수 있다. 이를 위해 ADC 블록(140)은 각 컬럼에 대응하는 비교기 및 카운터를 포함할 수 있다.
출력 버퍼(150)는 ADC 블록(140)로부터 제공되는 각각의 컬럼 단위의 픽셀 데이터를 래치(latch)하여 출력할 수 있다. 출력 버퍼(150)는 아날로그-디지털 변환 회로(140)에서 출력되는 픽셀 데이터를 임시 저장하고, 타이밍 생성기(160)의 제어에 따라 픽셀 데이터를 순차적으로 출력할 수 있다.
타이밍 생성기(160)는 제어 레지스터 블록(170)의 제어에 따라 CMOS 이미지 센서(100)의 각 구성에 이미지 데이터의 생성 및 출력에 필요한 타이밍 신호, 기준 신호 및 제어 신호를 제공할 수 있다. 구체적으로, 타이밍 생성기(160)는 복수의 로우 라인들 중 선택된 로우 라인에 대응하는 픽셀들로부터 픽셀 신호들이 병렬적으로 출력되도록 로우 드라이버(120)로 라인 컨트롤 신호(LCS)를 출력할 수 있다. 또한, 타이밍 생성기(160)는 복수의 컬럼 라인들 중 선택된 컬럼 라인에 대응하는 픽셀 데이터가 순차적으로 출력되도록 CDS 블록(130), ADC 블록(140) 및 출력 버퍼(150)를 제어할 수 있다. 또한, 타이밍 생성기(160)는 ADC 블록(140)이 아날로그-디지털 변환을 수행하는데 이용되는 램프 신호를 생성하도록 램프 생성기(180)를 제어할 수 있다.
제어 레지스터 블록(170)은 이미지 신호 프로세서(200)의 제어에 따라, 타이밍 생성기(160), 램프 생성기(180) 및 출력 인터페이스(190)의 작동을 제어할 수 있다
램프 생성기(180)는 타이밍 생성기(160)의 제어에 따라 램프 신호를 생성하여 ADC 블록(140)에 제공할 수 있다.
출력 인터페이스(190)는 이미지 신호 프로세서(200)로부터 출력되는 이미지 데이터를 호스트(400)로 전송할 수 있다.
이미지 신호 프로세서(200)는 출력 버퍼(150)로부터 수신되는 픽셀 데이터의 이미지 품질을 개선할 수 있는 처리를 수행하고, 처리된 이미지 데이터를 출력 인터페이스(190)로 전달할 수 있다. 여기서, 처리는 EIS(Electronic Image Stabilization), 보간, 색조 보정, 화질 보정, 크기 조정 등일 수 있다.
이미지 신호 프로세서(200)는 자이로 센서(300)로부터 자이로 정보(GI)를 제공받을 수 있으며, 자이로 정보(GI)를 이용하여 EIS의 처리를 수행할 수 있다.
또한, 이미지 신호 프로세서(200)는 APS 블록(110)에서 선택된 픽셀에 대응하는 픽셀 데이터가 이미지 신호 프로세서(200)로 전송되도록 제어 레지스터 블록(170)을 제어할 수 있다.
도 1에서는 이미지 신호 프로세서(200)가 CMOS 이미지 센서(100)의 일부로 포함되어 하나의 칩으로 구현되는 것으로 도시되었으나, 다른 실시예에 따라 CMOS 이미지 센서(100)와는 독립적인 칩으로 구현될 수 있으며, 이 경우 CMOS 이미지 센서(100)의 칩과 이미지 신호 프로세서(200)의 칩은 하나의 패키지, 예컨대 멀티-칩 패키지(multi-chip package)로 구현될 수 있다.
자이로 센서(300)는 이미지 처리 시스템(10)의 3차원적 움직임에 대한 자이로 정보(GI)를 생성할 수 있다. 이를 위해, 자이로 센서(300)는 가속도 센서 및/또는 각속도 센서를 포함할 수 있다. 또한, 자이로 센서(300)는 가속도 센서 및/또는 각속도 센서가 출력하는 정보에 포함된 노이즈를 제거하는 필터(motion filter; 예컨대, 로우 패스 필터(low pass filter))를 포함하여 자이로 정보(GI)의 노이즈를 제거할 수 있다. 도 1에서는 자이로 센서(300)가 CMOS 이미지 센서(100)의 일부로 포함되는 것으로 도시되었으나, 본 발명의 범위는 이에 한정되지 않고 CMOS 이미지 센서(100)와는 독립적으로 구현될 수도 있다. 자이로 센서(300)가 CMOS 이미지 센서(100)의 일부로 포함될 경우, CMOS 이미지 센서(100) 자체의 움직임에 기초하여 자이로 정보(GI)가 생성될 수 있어 EIS 처리가 보다 정확하게 이루어질 수 있다. 또한, 자이로 센서(300)는 복수 개의 센서로 구현될 수 있으며, 각 센서는 CMOS 이미지 센서(100)의 내부 및/또는 외부에 배치될 수 있다. 자이로 정보(GI)는 실시간 처리를 위해 이미지 생성 블록(105)이 생성하는 베이어 패턴 이미지와 동기화된 정보일 수 있다.
호스트(400)는 호스트(400)의 요청 또는 인터럽트(interrupt)에 따라 CMOS 이미지 센서(100)가 생성한 이미지 데이터를 처리하고, 처리된 이미지 데이터를 저장, 표시 또는 외부로 전송할 수 있다. 예를 들어, 호스트(400)는 CPU(Central Processing Unit), 디스플레이(display) 또는 애플리케이션 프로세서(application processor)일 수 있으나, 본 발명의 범위는 이에 한정되지 않는다.
도 2는 도 1에 도시된 이미지 신호 프로세서를 보다 상세히 나타낸 도면이다.
도 2를 참조하면, 이미지 신호 프로세서(200)는 라인 메모리(line memory, 210), EIS 계산기(EIS calculator, 220), 베이어 오더 계산기(bayer order calculator, 230) 및 보간부(interpolation unit, 240)를 포함할 수 있다. 도 2에 도시된 이미지 신호 프로세서(200)의 구성은 예시적인 것이며, 필요에 따라 적어도 일부의 구성이 추가되거나 생략될 수 있고, 복수의 구성이 하나의 구성으로 통합되거나 하나의 구성이 복수의 구성으로 분리되어 구현될 수도 있다. 또한, 이미지 신호 프로세서(200)의 각 구성은 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다.
라인 메모리(210)는 출력 버퍼(150)로부터 수신되는 픽셀 데이터를 저장할 수 있다. 이때, 각 픽셀의 픽셀 데이터는 상기 각 픽셀의 픽셀 좌표에 맵핑(mapping)되어 저장될 수 있다. 따라서, 보간부(240)는 픽셀 데이터가 어느 픽셀 좌표에 위치한 픽셀의 픽셀 데이터인지 인식할 수 있다. 여기서, 픽셀 좌표는 APS 블록(110)의 XY 평면 상에서의 픽셀의 위치를 의미할 수 있으며, 예컨대 APS 블록(110)이 2304개의 컬럼과 1296개의 로우를 포함한다고 할 때, X축 방향으로 첫번째 및 Y축 방향으로 첫번째에 위치한 픽셀의 픽셀 좌표는 (0, 0)이고, X축 방향으로 2304번째 및 Y축 방향으로 1296번째에 위치한 픽셀의 픽셀 좌표는 (2303, 1295)일 수 있다.
라인 메모리(210)는 하나의 프레임 전체에 해당하는 픽셀 데이터를 동시에 저장하지 않을 수 있다. 예를 들어, 하나의 프레임에 해당하는 픽셀 데이터는 1120개의 로우에 대응하는 픽셀 데이터라 가정하면, 라인 메모리(210)는 최대 18개의 로우에 대응하는 픽셀 데이터를 저장할 수 있는 용량을 가질 수 있으나, 본 발명의 범위는 이에 한정되지 않는다. 라인 메모리(210)는 하나의 프레임 전체에 해당하는 픽셀 데이터를 동시에 저장하지 않고, 이미지 신호 프로세서(200)의 처리에 필요한 적절한 용량을 가질 수 있다.
라인 메모리(210)는 픽셀 데이터를 순차적으로 저장하고, 새로운 픽셀 데이터를 저장할 공간이 부족한 경우, 가장 먼저 저장된 픽셀 데이터부터 순차적으로 삭제하고 새로운 픽셀 데이터를 저장할 수 있다. 라인 메모리(210)에 저장된 픽셀 데이터는 로 데이터(raw data) 또는 베이어 패턴 이미지로 불릴 수 있고, 보간부(240)가 라인 메모리(210)에 저장된 픽셀 데이터를 이용하여 생성하는 보간 처리가 수행된 이미지는 RGB 이미지로 불릴 수 있다. 달리 말하면, 베이어 패턴 이미지의 각 픽셀에 대한 데이터는 하나의 색상 정보를 포함하며, RGB 이미지의 각 픽셀에 대한 데이터는 RGB의 색상 정보를 포함할 수 있다.
EIS 계산기(220)는 픽셀 좌표와 자이로 정보(GI)를 기초로 EIS 보정을 위한 보정 픽셀 좌표를 순차적으로 계산할 수 있다. 여기서, EIS 보정은 평행 이동(translation) 보정, 전단(shear) 보정 및 회전(rotation) 보정 중 적어도 하나를 포함할 수 있다.
EIS 계산기(220)는 평행 이동 보정을 위한 평행 이동 계산기(222), 전단 보정을 위한 전단 계산기(224) 및 회전 보정을 위한 회전 계산기(226)를 포함할 수 있다.
평행 이동 계산기(222)는 자이로 정보(GI)의 평행 이동 정보(X축 이동 정보 및 Y축 이동 정보)와 픽셀 좌표를 연산하여 제1 보정 픽셀 좌표를 산출할 수 있다. 평행 이동 계산기(222)는 제1 보정 픽셀 좌표를 이용하여 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)를 생성하고, 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)를 제어 레지스터 블록(170)으로 전송할 수 있다. 다른 실시예에 따라, 평행 이동 계산기(222)는 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)의 생성에 기초가 되는 정보(예컨대, 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC) 각각의 파형을 결정하는 기준이 되는 픽셀 좌표)를 생성하여 제어 레지스터 블록(170)으로 전송하고, 이에 따라 타이밍 생성기(160) 또는 제어 레지스터 블록(170)이 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)를 생성할 수도 있다.
수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)는 출력 버퍼(150)가 이미지 신호 프로세서(200)로 전송하는 픽셀 데이터에 대응하는 픽셀의 범위를 결정하는 신호일 수 있다. 예를 들어, 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC) 각각이 제1 레벨(예컨대, 하이 레벨)과 제2 레벨(예컨대, 로우 레벨)을 가진다고 가정할 때, 하나의 로우에서 수평 동기 신호(HSYNC)가 제1 레벨인 구간에 대응하는 픽셀만이 컬럼 라인으로 픽셀 신호를 출력할 수 있으며, 복수의 로우들 중에서 수직 동기 신호(VSYNC)가 제1 레벨인 구간에 대응하는 로우에 해당하는 픽셀의 픽셀 데이터만이 이미지 신호 프로세서(200)로 전송될 수 있다.
전단 계산기(224)는 자이로 정보(GI)의 세그먼트 이동 정보와 제1 보정 픽셀 좌표를 연산하여 제2 보정 픽셀 좌표를 산출할 수 있다.
회전 계산기(226)는 자이로 정보(GI)의 회전 정보와 제2 보정 픽셀 좌표를 연산하여 제3 보정 픽셀 좌표를 산출할 수 있다.
EIS 계산기(220)는 제3 보정 픽셀 좌표와 제3 보정 픽셀 좌표에 대응하는 보정 전의 픽셀 좌표를 보간부(240)로 전달할 수 있다. EIS 계산기(220)의 보다 상세한 동작은 도 4의 흐름도를 참조하여 후술하기로 한다.
베이어 오더 계산기(230)는 자이로 정보(GI)의 평행 이동 정보(X축 이동 정보 및 Y축 이동 정보)를 기초로, 평행 이동 계산기(222)의 동작으로 인해 베이어 패턴 이미지의 베이어 오더의 변경이 발생하는지 여부를 나타내는 베이어 오더 상태 정보를 생성할 수 있다.
라인 메모리(210)에 저장된 픽셀 데이터는 대응되는 컬러 필터에 의해서 R, G, B 중 어느 하나에 대한 색상 정보를 가지게 되며, 이러한 픽셀 데이터는 R, G, B의 조합으로 정해진 순서로 라인 메모리(210)로 출력되며 이와 같이 정해진 순서를 베이어 오더라 부른다.
베이어 오더는 베이어 패턴 이미지의 각 픽셀 데이터가 어느 색상의 정보를 나타내는지를 결정하는 정보이므로, 보간부(240)가 수행하는 보간 동작(즉, Bayer-to-RGB Demosaic 과정)에 있어서 가장 중요한 정보가 된다.
그러나, 앞서 설명한 평행 이동 계산기(222)의 동작으로 인해 이러한 베이어 오더의 변경이 발생할 수 있으며, 변경된 베이어 오더에 대한 정보가 베이어 오더 상태 정보에 해당한다. 베이어 오더 계산기(230)의 보다 상세한 동작은 도 6을 참조하여 후술하기로 한다.
보간부(240)는 제3 보정 픽셀 좌표와 베이어 오더 상태 정보를 이용하여 각 픽셀 좌표에 대응하는 RGB 이미지를 생성(즉, 베이어 패턴 이미지에 대한 보간을 수행)할 수 있다. 이를 위해, 보간부(240)는 제1 보간부(242) 및 제2 보간부(244)를 포함할 수 있다.
제1 보간부(242)는 베이어 오더 상태 정보를 이용하여 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상(R, G, B 중 어느 하나)을 결정하고, 각 정수 좌표에 대응하는 RGB 데이터를 생성할 수 있다. 이때, 제1 보간부(242)는 제3 보정 픽셀 좌표의 정수 좌표와 보정 전의 픽셀 좌표 간의 맵핑 정보에 기초하여 제3 보정 픽셀 좌표의 정수 좌표에 해당하는 픽셀 데이터를 라인 메모리(210)로부터 리드(read)하고, 베이어 오더 상태 정보를 이용하여 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상(R, G, B 중 어느 하나)을 결정하고, 어느 한 좌표를 중심으로 하는 3x3 마스크(mask)를 이용한 보간을 통해 해당 좌표에 대한 RGB 데이터를 생성할 수 있다. 즉, 4개의 행과 4개의 열로 이루어진 4x4 마스크 내에서 서로 다른 4개의 3x3 마스크를 이용하여 4회 보간을 진행하면, 중앙의 단위 베이어 패턴에 대한 RGB 데이터가 획득될 수 있다.
제2 보간부(244)는 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 RGB 데이터와, 제3 보정 픽셀 좌표의 소수 좌표를 이용하여 최종 윈도우(final window)의 각 픽셀 좌표에 대응하는 RGB 데이터를 생성할 수 있다. 여기서, 최종 윈도우는 이미지 신호 프로세서(200)가 출력하는 하나의 프레임에 해당하는 픽셀들의 집합을 의미할 수 있다. 이때, 제2 보간부(244)는 획득된 베이어 패턴에 대한 RGB 데이터의 2x2 마스크를 이용하여 제3 보정 픽셀 좌표의 소수 좌표에 따른 가중치(weight)를 적용함에 의해, 제3 보정 픽셀 좌표의 정수 좌표 각각에 대응하는 RGB 데이터를 생성할 수 있다. 제2 보간부(244)는 최종 윈도우에 포함되는 제3 보정 픽셀 좌표의 정수 좌표 각각에 대응하는 RGB 데이터를 출력 인터페이스(190)로 출력할 수 있다.
도 3은 본 발명의 일 실시예에 따른 이미지 신호 처리 방법을 나타낸 흐름도이다.
도 3을 참조하면, CMOS 이미지 센서(100)의 이미지 생성 블록(105)은 타이밍 생성기(160)의 제어에 따라 베이어 패턴으로 배열된 픽셀들 각각의 픽셀 데이터(즉, 베이어 패턴 이미지)를 생성할 수 있다(S10).
이미지 신호 프로세서(200)는 자이로 센서(300)의 자이로 정보(GI)를 이용하여 EIS를 수행하되, 베이어 오더가 변경되는지 여부에 대한 베이어 오더 상태 정보를 베이어 패턴 이미지의 보간에 이용함으로써, EIS 보정 전의 베이어 오더를 유지하면서 RGB 데이터를 생성할 수 있다(S20).
이미지 신호 프로세서(200)는 최종 윈도우에 대한 RGB 데이터를 출력할 수 있다(S30).
도 4는 도 3에 도시된 이미지 신호 처리 방법의 S20 단계를 보다 상세히 나타낸 흐름도이다. 도 5는 도 4에 도시된 S110 단계 및 S140 단계를 설명하기 위한 도면이다. 도 6은 도 4에 도시된 S130 단계를 설명하기 위한 도면이다. 도 7은 도 4에 도시된 S160 단계를 설명하기 위한 도면이다. 도 8은 도 4에 도시된 S170 단계를 설명하기 위한 도면이다. 도 9는 도 4에 도시된 S190 단계 및 S200 단계를 설명하기 위한 도면이다.
도 4를 참조하면, 호스트(400)의 요청 또는 인터럽트에 따라 CMOS 이미지 센서(100)의 이미지 캡쳐가 시작되면, 이미지 생성 블록(105)은 픽셀 데이터를 생성하고, 자이로 센서(300)는 자이로 정보(GI)를 생성할 수 있다(S100).
평행 이동 계산기(222)는 자이로 정보(GI)의 평행 이동 정보와 픽셀 좌표를 연산하여 제1 보정 픽셀 좌표를 산출할 수 있다. 상기 평행 이동 정보는 X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y)를 포함할 수 있다. X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y) 각각은 자이로 센서(300)가 X축 및 Y축 방향으로 픽셀 단위로 얼마나 흔들림(또는 움직임)이 발생하였는지를 나타내는 정보일 수 있다. 여기서, X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y) 각각은 정수뿐 아니라 소수값을 가질 수 있다. 예를 들어, X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y) 각각이 +2.5 및 -3.5인 경우, 자이로 센서(300)가 X축 방향으로 +2.5 픽셀에 해당하는 거리만큼 흔들림(또는 움직임)이 발생하였고, Y축 방향으로 +2.5 픽셀에 해당하는 거리만큼 흔들림(또는 움직임)이 발생하였음을 나타낼 수 있다.
도 5를 참조하면, 평행 이동 계산기(222)는 각 픽셀 좌표(X,Y)를 평행 이동(translation) 보정식에 따라 보정함에 의해 제1 보정 픽셀 좌표(X',Y')를 산출할 수 있다. 평행 이동 보정식은 다음의 수학식 1과 같다.
[수학식 1]
즉, 평행 이동 계산기(222)는 픽셀 좌표의 X축 좌표에 X축 이동 정보(mv_x)를 가산하여 제1 보정 픽셀 좌표의 X축 좌표(X')를 구하고, 픽셀 좌표의 Y축 좌표에 Y축 이동 정보(mv_y)를 감산하여 제1 보정 픽셀 좌표의 Y축 좌표(Y')를 구할 수 있다. 여기서, X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y)의 연산시 부호가 반대인 이유는 자이로 센서(300)의 좌표계와 픽셀 좌표의 좌표계의 부호가 서로 일치하지 않기 때문이다. 즉, 자이로 센서(300)의 좌표계에서는 아래 방향으로 갈수록 좌표값이 감소함에 반하여, 픽셀 좌표의 좌표계에서는 아래 방향으로 갈수록 좌표값이 증가할 수 있다.
다시 도 4를 참조하면, 평행 이동 계산기(222)는 제1 보정 픽셀 좌표(X',Y')의 정수 좌표(int(X'), int(Y'))와 소수 좌표(X_dp', Y_dp')를 분리할 수 있다. 즉, 평행 이동 계산기(222)는 제1 보정 픽셀 좌표(X',Y')의 정수 좌표(int(X'), int(Y'))를 추출하고, 제1 보정 픽셀 좌표(X',Y')로부터 제1 보정 픽셀 좌표(X',Y')의 정수 좌표(int(X'), int(Y'))를 감산함에 의해 제1 보정 픽셀 좌표(X',Y')의 소수 좌표(X_dp', Y_dp')를 계산할 수 있다(S120). 예를 들어, 제1 보정 픽셀 좌표(X',Y')가 (200.4,360.7)인 경우, 제1 보정 픽셀 좌표(X',Y')의 정수 좌표는 (200,360)이고 제1 보정 픽셀 좌표(X',Y')의 소수 좌표는 (0.4,0.7)이다.
이후의 S140, S150, S160 단계에서는 제1 보정 픽셀 좌표(X',Y')의 정수 좌표가 이용되며, 제1 보정 픽셀 좌표(X',Y')의 소수 좌표는 S170 단계에서 적용될 것이다.
한편, 베이어 오더 계산기(230)는 X축 이동 정보 및 Y축 이동 정보를 기초로, 평행 이동 계산기(222)의 동작으로 인해 베이어 오더의 변경이 발생하는지 여부를 나타내는 베이어 오더 상태 정보를 생성할 수 있다(S130).
도 6을 참조하면, 평행 이동 계산기(222)의 동작으로 인해 베이어 오더의 변경이 발생하는 유형이 도시되어 있다. 베이어 패턴은 GB가 먼저 배열되는 유형(이하 'GB_first 유형'이라 함), BG가 먼저 배열되는 유형(이하 'BG_first 유형'이라 함), RG가 먼저 배열되는 유형(이하 'RG_first 유형'이라 함), GR이 먼저 배열되는 유형(이하 'GR_first 유형'이라 함)으로 구분될 수 있다. 흔들림이 발생하는 이미지(shaked image)와 흔들림을 반영한 이미지(stabilized image)를 비교해보면, GB_first 유형의 흔들림이 발생하는 이미지(shaked image)는 흔들림 반영시 (a) 내지 (d)에서 각각 GB_first 유형, BG_first 유형, RG_first 유형, GR_first 유형으로 변경될 수 있다.
여기서, RGB로 구성된 베이어 패턴은 X축 방향과 Y축 방향으로 2 픽셀마다 반복되므로, 평행 이동되는 거리가 짝수인 경우에는 베이어 오더의 변경이 발생하지 않으나 평행 이동되는 거리가 홀수인 경우에는 베이어 오더의 변경이 발생하게 된다.
즉, 베이어 오더 계산기(230)는 X축 방향과 Y축 방향의 흔들림을 나타내는 X축 이동 정보(mv_x)와 Y축 이동 정보(mv_y) 각각의 정수부를 이용하여 베이어 오더 상태 정보를 생성할 수 있다.
예를 들어, X축 이동 정보(mv_x)와 Y축 이동 정보(mv_y)의 정수부가 각각 짝수인 경우, GB_first 유형에서 베이어 오더의 변경이 발생하지 않는다((a) 케이스). X축 이동 정보(mv_x)와 Y축 이동 정보(mv_y)의 정수부가 각각 홀수와 짝수인 경우, GB_first 유형에서 BG_first 유형으로 베이어 오더의 변경이 발생한다((b) 케이스). X축 이동 정보(mv_x)와 Y축 이동 정보(mv_y)의 정수부가 각각 짝수와 홀수인 경우, GB_first 유형에서 RG_first 유형으로 베이어 오더의 변경이 발생한다((c) 케이스). X축 이동 정보(mv_x)와 Y축 이동 정보(mv_y)의 정수부가 각각 홀수인 경우, GB_first 유형에서 GR_first 유형으로 베이어 오더의 변경이 발생한다((d) 케이스).
예컨대, 베이어 오더 상태 정보는 2개의 비트로 구성될 수 있으며, (a) 내지 (d) 케이스 각각에 대응하는 값(예: 00, 01, 10, 11)을 가질 수 있다.
이와 같이, 평행 이동 계산기(222)의 동작으로 인해 베이어 패턴의 변경이 발생할 수 있는데, 라인 메모리(210)에 저장된 베이어 패턴 이미지는 RGB 이미지와는 달리 하나의 픽셀 당 RGB 중 어느 하나의 색상 정보만을 가지기 때문에 베이어 오더의 변경을 보간 동작에서 반영하지 않으면 정상적인 RGB 이미지가 생성될 수 없다. 따라서, 베이어 오더 계산기(230)가 생성한 베이어 오더 상태 정보는 이후 S190 단계에서 보간 동작에 반영될 수 있다.
다시 도 4를 참조하면, 평행 이동 계산기(222)는 평행 이동 보정을 적용하기 위해, 제1 보정 픽셀 좌표의 정수 좌표를 이용하여 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)를 생성하고, 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)를 제어 레지스터 블록(170)으로 전송할 수 있다(S140).
도 5를 참조하면, 만일 수평 동기 신호(HSYNC)와 수직 동기 신호(VSYNC)가 전체 구간에서 제1 레벨을 가진다고 가정하면(EIS_IN_HSYNC, EIS_IN_VSYNC), 이미지 생성 블록(105)은 APS 블록(110)의 전체 픽셀에 대한 픽셀 데이터를 생성하여 라인 메모리(210)로 전송할 수 있다. 이 경우, 전체 픽셀은 전체 윈도우(TTW)를 구성할 수 있다.
만일 흔들림이 발생하지 않았을 경우에 라인 메모리(210)로 전송되는 픽셀 데이터에 해당하는 픽셀들의 집합은 최종 윈도우(FNW)라 가정한다. 전체 윈도우(TTW)와 최종 윈도우(FNW)는 X축 방향으로 좌우로 제1 오프셋(off_x)만큼, Y축 방향으로 상하로 제2 오프셋(off_y)만큼 차이를 가질 수 있다. 예컨대, 제1 오프셋(off_x)과 제2 오프셋(off_y)은 각각 152 픽셀 및 88 픽셀일 수 있으나, 본 발명의 범위는 이에 한정되지 않는다. 또한, 최종 윈도우(FNW)는 최종적으로 이미지 신호 프로세서(200)가 출력하게 되는 픽셀들의 집합을 의미하기도 한다.
만일 흔들림이 발생하여 픽셀 좌표(X,Y)로부터 제1 보정 픽셀 좌표(X',Y')가 계산된 경우, 제1 보정 픽셀 좌표(X',Y')의 정수 좌표가 최종 윈도우(FNW)에 포함되는 픽셀 좌표(X,Y)에 대응하는 픽셀 데이터가 라인 메모리(210)에 저장될 수 있도록, 수평 동기 신호(EIS_Translation_HSYNC)와 수직 동기 신호(EIS_Translation_VSYNC)가 생성될 수 있다. 수평 동기 신호(EIS_Translation_HSYNC)와 수직 동기 신호(EIS_Translation_VSYNC)에 의해 정해지는 평행 이동 윈도우(TRW)에 대응하는 픽셀 데이터가 라인 메모리(210)에 저장됨으로써, 평행 이동이 적용될 수 있다(S140, S150).
또한, S160 내지 S170 단계에서의 전단 보정과 회전 보정을 위해, 평행 이동 윈도우(TRW)는 최종 윈도우(FNW)에 비해 X축 방향으로 제1 길이만큼 더 큰 길이를 가지고, Y축 방향으로 제2 길이만큼 더 큰 길이를 가질 수 있다. 예를 들어, 제1 길이는 전단 보정을 위한 마진(16*2=32 픽셀) 및 회전 보정을 위한 마진(10 픽셀)을 포함할 수 있다. 또한, 제2 길이는 회전 보정을 위한 마진(18 픽셀)을 포함할 수 있다. 여기서, 제1 길이와 제2 길이는 자이로 센서(300)가 생성하는 자이로 정보(GI)의 범위에 따라 결정될 수 있다.
실시예에 따라, 상기 제1 길이 및 상기 제2 길이는 보간을 위한 마진(예컨대, 2픽셀)을 더 포함할 수 있다.
다시 도 4를 참조하면, 전단 계산기(224)는 자이로 정보(GI)의 세그먼트 이동 정보와 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))를 연산하여 제2 보정 픽셀 좌표를 산출할 수 있다(S160).
도 7을 참조하면, 자이로 정보(GI)의 세그먼트 이동 정보는 X축 방향의 급격한 움직임으로 인해 기울어진 정도를 나타내며, Y축 방향을 따라 배치되는 복수의 세그먼트들(segments) 각각의 이동 거리에 대한 정보를 포함할 수 있다. 예컨대, 평행 이동 윈도우(TRW)가 복수의 세그먼트들(SEG1~SEGn; n은 2이상의 정수)로 구분될 수 있고, 각 세그먼트의 경계에 대응되는 이동 거리(X0~Xn)가 세그먼트 이동 정보에 포함될 수 있다. 예컨대, n은 8일 수 있다.
전단 계산기(224)는 각 세그먼트의 경계에 대응되는 이동 거리(X0~Xn)를 이용해 각 세그먼트 별로 기울기(she_in)를 계산할 수 있다. 예를 들어, 제1 세그먼트(SEG1)의 기울기(she_in)는 제1 세그먼트(SEG1)의 상하 경계 간의 이동 거리 차이(X1-X0)를 제1 세그먼트(SEG1)의 Y축 방향의 라인 수(예컨대, 140 라인)로 나눈 값일 수 있다. 또한, 제2 세그먼트(SEG2)의 기울기(she_in)는 제2 세그먼트(SEG2)의 상하 경계 간의 이동 거리 차이(X2-X1)를 제2 세그먼트(SEG2)의 Y축 방향의 라인 수(예컨대, 140 라인)로 나눈 값일 수 있다.
전단 계산기(224)는 각 세그먼트 별 기울기(she_in)와, 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 상대 위치값(she_cnt(y))을 곱한 값을, 제1 보정 픽셀 좌표의 정수 좌표(int(X'))와 연산하여, 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 기울어짐을 보정할 수 있다(도 7의 (a)->(b)). 여기서, 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 상대 위치값(she_cnt(y))은 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))가 해당 세그먼트 내에서의 Y축 방향의 상대 위치를 나타내는 것으로서, 해당 세그먼트가 140 라인으로 구성된다고 가정하면, 세그먼트의 첫번째(맨위) 라인에 속하는 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 상대 위치값(she_cnt(y))은 0이고, 아래로 갈수록 1씩 순차적으로 증가하여 마지막(맨아래) 라인에 속하는 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 상대 위치값(she_cnt(y))은 139이다.
그리고, 전단 계산기(224)는 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 기울어짐이 보정된 결과에, 각 세그먼트 별로 세그먼트 오프셋(she_ofs)을 연산하여 복수의 세그먼트들(SEG1~SEGn) 중 어느 하나(예컨대, 제1 세그먼트(SEG1))를 기준으로 정렬시킬 수 있다(도 7의 (b)->(c)). 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 기울어짐에 대한 보정시, 각 세그먼트의 상부 경계의 이동 거리를 기준으로 보정하기 때문에, 세그먼트 오프셋(she_ofs)은 제1 세그먼트(SEG1)의 상부 경계의 이동 거리(X0)를 기준으로 정렬시키기 위한 값이다. 예를 들어, 제2 세그먼트(SEG2)에 대한 세그먼트 오프셋(she_ofs)은 X1-X0이고, 제3 세그먼트(SEG3)에 대한 세그먼트 오프셋(she_ofs)은 X2-X0일 수 있다.
도 7의 (a) 내지 (c)의 전단 보정 과정을 수식으로 나타내면, 다음 수학식 2의 전단(shear) 보정식과 같을 수 있다.
[수학식 2]
여기서, 기울기(she_in)와 세그먼트 오프셋(she_ofs)은 세그먼트 별로 결정된 값일 수 있고, 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))의 상대 위치값(she_cnt(y))은 해당 픽셀이 속한 라인마다 달라지는 값일 수 있다. 또한, 전단 보정 과정은 X축 방향을 따라 기울어짐을 보정하는 것이므로, 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y')) 중 Y축 좌표는 달라지지 않는다. 제1 보정 픽셀 좌표의 정수 좌표(int(X'), int(Y'))에 대해 전단 보정 과정이 완료되면, 제2 보정 픽셀 좌표(SX, SY)가 생성될 수 있다.
도 7에서는 양의 기울기로 기울어진 이미지에 대한 전단 보정을 예로 들어 설명하였으나, 음의 기울기로 기울어진 이미지에 대한 전단 보정 역시 마찬가지의 방법이 적용될 수 있다.
다시 도 4를 참조하면, 회전 계산기(226)는 자이로 정보(GI)의 회전 정보와 제2 보정 픽셀 좌표(SX, SY)를 연산하여 제3 보정 픽셀 좌표(RX, RY)를 산출할 수 있다(S170). 자이로 정보(GI)의 회전 정보는 X축과 Y축에 수직하는 Z축을 중심으로 한 움직임으로 인해 기울어진 회전 각도를 나타낼 수 있다.
도 8을 참조하면, 전단 보정이 완료되어 생성된 제2 보정 픽셀 좌표(SX, SY)로 이루어진 윈도우는 전단 윈도우(SHW)로 정의될 수 있으며, 전단 윈도우(SHW)의 제2 보정 픽셀 좌표(SX, SY)에 대해 회전 보정이 수행되어 최종 윈도우(FNW)가 생성될 수 있다.
자이로 정보(GI)에 포함된 회전 정보에 따른 회전 각도가 θ라 할 때, 회전(rotation) 보정식은 다음의 수학식 3과 같을 수 있다.
[수학식 3]
여기서, 회전 계산기(226)는 제2 보정 픽셀 좌표(SX, SY)에 대해 제1 보정 픽셀 좌표(X',Y')의 소수 좌표(X_dp', Y_dp')를 연산(가산 또는 감산)하여 반영시킬 수 있다. 이는 자이로 정보(GI)의 X축 이동 정보(mv_x) 및 Y축 이동 정보(mv_y)의 소수값을 제2 보정 픽셀 좌표(SX, SY)에 반영함으로써, 보다 정확한 보정을 수행하기 위함이다.
또한, 회전 보정식의 계산을 단순화하기 위해, 전단 윈도우(SHW)의 좌측 상단의 모서리에 해당하는 좌표를 회전 보정의 원점(R(0,0))으로 가정하고 각 제2 보정 픽셀 좌표(SX, SY)를 변환할 수 있으며, 회전 보정식에 의한 계산이 완료된 뒤 복원될 수 있다.
도 9에서는 양의 각도로 회전된 이미지에 대한 회전 보정을 예로 들어 설명하였으나, 음의 각도로 회전된 이미지에 대한 회전 보정 역시 마찬가지의 방법이 적용될 수 있다.
다시 도 4를 참조하면, 회전 계산기(226)는 산출된 제3 보정 픽셀 좌표(RX, RY)를, 제3 보정 픽셀 좌표(RX, RY)와 보정 전의 픽셀 좌표(X,Y) 간의 맵핑 정보와 함께 보간부(240)로 전달함에 의해, 전단 및 회전에 대한 보정을 적용할 수 있다(S180). 여기서, 제3 보정 픽셀 좌표(RX, RY)와 보정 전의 픽셀 좌표(X,Y) 간의 맵핑 정보는 제3 보정 픽셀 좌표(RX, RY)가 평행 이동, 전단 및 회전의 보정 이전에 어느 픽셀 좌표(X,Y)에 해당하는지에 대한 정보일 수 있다.
보간부(240)의 제1 보간부(242)는 베이어 오더 상태 정보를 이용하여 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표에 대응하는 색상(R, G, B 중 어느 하나)을 결정하고, 각 정수 좌표(즉, 정수 픽셀)에 대응하는 RGB 데이터를 생성할 수 있다(S190).
도 9를 참조하면, 음영으로 표시된 베이어 패턴의 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표가 최종 윈도우(FNW)의 좌측 상단의 모서리에 위치하는 베이어 패턴이라 가정하기로 한다.
제1 보간부(242)는 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표와 보정 전의 픽셀 좌표(X,Y) 간의 맵핑 정보에 기초하여 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표에 해당하는 픽셀 데이터를 라인 메모리(210)로부터 리드할 수 있다.
또한, 제1 보간부(242)는 베이어 오더 상태 정보를 이용하여 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상(R, G, B 중 어느 하나)을 결정할 수 있다. 도 8은 베이어 오더 상태 정보가 GB_first 유형에서 GR_first 유형으로 베이어 패턴의 변경이 발생하였음을 나타내는 경우를 나타내며, 음영으로 표시된 베이어 패턴을 중심으로 한 4x4 마스크 내의 각 픽셀의 색상이 결정될 수 있다.
제1 보간부(242)는 강조 표시된 G 픽셀을 중심으로 하는 색상이 결정된 각 픽셀로 구성된 3x3 마스크를 이용한 보간을 통해 해당 픽셀에 대한 RGB 데이터를 생성할 수 있다. 즉, 4x4 마스크 내에서 서로 다른 픽셀을 중심으로 한 4개의 서로 다른 3x3 마스크를 이용하여 4회 보간을 진행하면, 중앙의 단위 베이어 패턴에 대한 RGB 데이터가 획득될 수 있다.
다시 도 4를 참조하면, 제2 보간부(244)는 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표에 대응하는 RGB 데이터와, 제3 보정 픽셀 좌표(RX, RY)의 소수 좌표를 이용하여 최종 윈도우(final window)의 각 픽셀 좌표(즉, 최종 픽셀)에 대응하는 RGB 데이터를 생성할 수 있다(S200).
도 9를 참조하면, 제2 보간부(244)는 획득된 베이어 패턴에 대한 RGB 데이터의 2x2 마스크를 이용하여 제3 보정 픽셀 좌표(RX, RY)의 소수 좌표에 따른 가중치를 적용함에 의해, 제3 보정 픽셀 좌표(RX, RY)의 정수 좌표 각각에 대응하는 최종 RGB 데이터를 생성할 수 있다.
예를 들어, 제1 보간부(242)가 산출한 P1 내지 P4 픽셀 각각에 대한 RGB 데이터가 R1/G1/B1, R2/G2/B2, R3/G3/B3, R4/G4/B4라 하고, P1 픽셀의 소수 좌표가 (0.3,0.5)라 가정하면, 제2 보간부(244)는 2x2 마스크 내의 R1~R4에 대해 (0.3,0.5)에 상응하는 가중치를 부여하여 P1 픽셀에 대한 최종 R 데이터를 계산할 수 있다. 마찬가지 방식으로, 제2 보간부(244)는 2x2 마스크 내의 (G1~G4)/(B1~B4)에 대해 (0.3,0.5)에 상응하는 가중치를 부여하여 P1 픽셀에 대한 최종 G/B 데이터를 계산할 수 있다.
제2 보간부(244)는 최종 윈도우(FNW)에 포함되는 제3 보정 픽셀 좌표의 정수 좌표 각각에 대응하는 최종 RGB 데이터를 출력 인터페이스(190)로 출력할 수 있다.
앞서 살펴본 바와 같이, 베이어 오더 상태 정보의 계산, 픽셀 좌표로부터 각 보정 좌표의 계산 및 이들에 기초한 보간이 실시간으로 처리됨에 따라, 전체 프레임에 해당하는 이미지가 전부 저장될 필요없이 라인 메모리(210) 만을 이용한 EIS 보정 및 보간 처리가 가능해질 수 있다.
본 발명의 일 실시예에 따른 이미지 신호 처리 방법에 의하면, RGB 이미지가 아닌 베이어 패턴 이미지에 대해 자이로 정보에 기초한 EIS 보정을 수행하고, EIS 보정 과정에서 변경된 베이어 오더를 이용해 보정된 베이어 패턴 이미지에 대해 RGB 이미지를 생성함으로써, 시스템 자원 소모가 최소화된 EIS 보정 기능을 구현할 수 있다.
특히, EIS 보정에 불필요한 픽셀 데이터를 저장하지 않고 프레임 메모리가 아닌 라인 메모리 만을 이용하여 EIS를 수행함으로써, EIS 보정에 요구되는 시스템 자원을 대폭 절약할 수 있다.
또한, 이미지 센서 칩 내에서 자이로 정보를 이용해 평행 이동 보정, 전단 보정 및 회전 보정의 EIS 보정을 통합적으로 수행할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 및/또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(#01)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(#36) 또는 외장 메모리(#38))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(#40))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(#01))의 프로세서(예: 프로세서(#20))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 단계;
    상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 단계; 및
    상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 단계를 포함하고,
    상기 평행 이동 보정을 수행하는 단계는,
    상기 베이어 패턴 이미지의 픽셀 좌표와 상기 평행 이동 정보를 연산하여 제1 보정 픽셀 좌표를 산출하는 단계; 및
    상기 제1 보정 픽셀 좌표를 기초로 수평 동기 신호 및 수직 동기 신호를 생성하는 단계를 포함하고,
    상기 수평 동기 신호 및 상기 수직 동기 신호를 생성하는 단계는,
    상기 제1 보정 픽셀 좌표의 정수 좌표가 최종 윈도우에 포함되는 픽셀 좌표에 대응하는 베이어 패턴 이미지가 라인 메모리에 저장되도록 상기 수평 동기 신호 및 상기 수직 동기 신호를 생성하는 단계를 포함하는 이미지 신호 처리 방법.
  2. 삭제
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 제1 보정 픽셀 좌표를 산출하는 단계는,
    상기 픽셀 좌표의 X축 좌표에 상기 평행 이동 정보의 X축 이동 정보를 가산하여 상기 제1 보정 픽셀 좌표의 X축 좌표를 산출하는 단계; 및
    상기 픽셀 좌표의 Y축 좌표에 상기 평행 이동 정보의 Y축 이동 정보를 감산하여 상기 제1 보정 픽셀 좌표의 Y축 좌표를 산출하는 단계를 포함하는 이미지 신호 처리 방법.
  4. 삭제
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 수평 동기 신호 및 상기 수직 동기 신호에 의해 정해지는 평행 이동 윈도우는 상기 최종 윈도우에 비해 X축 방향으로 제1 길이만큼, Y축 방향으로 제2 길이만큼 더 큰 길이를 가지는 이미지 신호 처리 방법.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 제1 길이 및 상기 제2 길이는 상기 자이로 정보에 따라 결정되는 이미지 신호 처리 방법.
  7. 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 단계;
    상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 단계; 및
    상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 단계를 포함하고,
    상기 평행 이동 보정을 수행하는 단계 이후, 상기 자이로 정보의 세그먼트 이동 정보를 이용하여 전단(shear) 보정을 수행하는 단계를 더 포함하는 이미지 신호 처리 방법.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 세그먼트 이동 정보는 복수의 세그먼트들 각각에 대한 이동 거리를 포함하고,
    상기 전단 보정을 수행하는 단계는,
    상기 복수의 세그먼트들 각각에 대한 이동 거리를 이용하여 계산된 각 세그먼트 별 기울기와 제1 보정 픽셀 좌표의 정수 좌표의 상대 위치값을 곱한 값을 상기 제1 보정 픽셀 좌표의 정수 좌표와 연산하여 기울어짐을 보정하는 단계; 및
    상기 복수의 세그먼트들 각각에 대한 이동 거리를 이용하여 계산된 세그먼트 오프셋을 이용하여 상기 복수의 세그먼트들 중 어느 하나를 기준으로 정렬시켜 제2 보정 픽셀 좌표를 산출하는 단계를 포함하는 이미지 신호 처리 방법.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제8항에 있어서,
    상기 전단 보정을 수행하는 단계 이후, 상기 자이로 정보의 회전 정보를 이용하여 회전(rotation) 보정을 수행하는 단계를 더 포함하는 이미지 신호 처리 방법.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 회전 보정을 수행하는 단계는,
    상기 제2 보정 픽셀 좌표에 상기 제1 보정 픽셀 좌표의 소수 좌표를 가산 또는 감산하는 단계를 포함하는 이미지 신호 처리 방법.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 베이어 패턴 이미지는 라인 메모리에 저장되는 이미지 신호 처리 방법.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 베이어 오더 상태 정보를 생성하는 단계는,
    상기 평행 이동 정보의 X축 이동 정보 및 Y축 이동 정보 각각의 정수부가 짝수 또는 홀수인지 여부에 따라 베이어 오더 상태 정보를 생성하는 단계를 포함하는 이미지 신호 처리 방법.
  13. 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 단계;
    상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 단계; 및
    상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 단계를 포함하고,
    상기 보간을 수행하는 단계는,
    상기 평행 이동 보정, 전단 보정 및 회전 보정이 수행된 제3 보정 픽셀 좌표의 정수 좌표와 보정 전의 픽셀 좌표 간의 맵핑 정보에 기초하여, 상기 제3 보정 픽셀 좌표의 정수 좌표에 해당하는 픽셀 데이터를 리드하는 단계;
    상기 베이어 오더 상태 정보를 이용하여 상기 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상을 결정하는 단계; 및
    색상이 결정된 각 픽셀로 구성된 마스크를 이용한 보간을 통해 RGB 데이터를 생성하는 단계를 포함하는 이미지 신호 처리 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 보간을 수행하는 단계는,
    상기 RGB 데이터의 마스크를 이용하여 상기 제3 보정 픽셀 좌표의 소수 좌표에 따른 가중치를 적용함에 의해, 상기 제3 보정 픽셀 좌표의 정수 좌표 각각에 대응하는 최종 RGB 데이터를 생성하는 단계를 더 포함하는 이미지 신호 처리 방법.
  15. 자이로 정보의 평행 이동 정보에 기초하여 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하는 베이어 오더 계산기;
    상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하는 EIS(Electronic Image Stabilization) 계산기; 및
    상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 보간부를 포함하고,
    상기 EIS 계산기는, 상기 평행 이동 보정을 수행한 이후, 상기 자이로 정보의 세그먼트 이동 정보를 이용하여 전단(shear) 보정을 수행하는 이미지 신호 프로세서.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 베이어 오더 계산기는,
    상기 평행 이동 정보의 X축 이동 정보 및 Y축 이동 정보 각각의 정수부가 짝수 또는 홀수인지 여부에 따라 베이어 오더 상태 정보를 생성하는 이미지 신호 프로세서.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 EIS 계산기는,
    상기 베이어 패턴 이미지의 픽셀 좌표와 상기 평행 이동 정보를 연산하여 제1 보정 픽셀 좌표를 산출하고, 상기 제1 보정 픽셀 좌표를 기초로 수평 동기 신호 및 수직 동기 신호를 생성하는 이미지 신호 프로세서.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 EIS 계산기는,
    상기 자이로 정보의 회전 정보를 이용하여 회전(rotation) 보정을 수행하는 이미지 신호 프로세서.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 보간부는,
    상기 평행 이동 보정, 전단 보정 및 회전 보정이 수행된 제3 보정 픽셀 좌표의 정수 좌표와 보정 전의 픽셀 좌표 간의 맵핑 정보에 기초하여, 상기 제3 보정 픽셀 좌표의 정수 좌표에 해당하는 픽셀 데이터를 라인 메모리로부터 리드하고, 상기 베이어 오더 상태 정보를 이용하여 상기 제3 보정 픽셀 좌표의 정수 좌표에 대응하는 색상을 결정하고, 색상이 결정된 각 픽셀로 구성된 마스크를 이용한 보간을 통해 RGB 데이터를 생성하는 이미지 신호 프로세서.
  20. 각각이 하나의 색상 정보를 나타내는 픽셀 데이터로 구성된 베이어 패턴 이미지를 생성하는 이미지 생성 블록; 및
    자이로 정보의 평행 이동 정보에 기초하여 상기 베이어 패턴 이미지의 베이어 오더(bayer order)가 변경되는지 여부를 나타내는 베이어 오더 상태 정보를 생성하고, 상기 평행 이동 정보를 이용하여 상기 베이어 패턴 이미지에 대한 평행 이동(translation) 보정을 수행하고, 상기 베이어 오더 상태 정보에 기초하여 상기 평행 이동 보정이 수행된 베이어 패턴 이미지에 대한 보간(interpolation)을 수행하는 이미지 신호 프로세서를 포함하고,
    상기 이미지 신호 프로세서는, 상기 평행 이동 보정을 수행한 이후, 상기 자이로 정보의 세그먼트 이동 정보를 이용하여 전단(shear) 보정을 수행하는 이미지 센서 칩.
KR1020190003337A 2019-01-10 2019-01-10 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩 KR102581210B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190003337A KR102581210B1 (ko) 2019-01-10 2019-01-10 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩
CN201910992456.3A CN111432112B (zh) 2019-01-10 2019-10-18 处理图像信号的方法、图像信号处理器和图像传感器芯片
US16/671,554 US11159722B2 (en) 2019-01-10 2019-11-01 Method for processing image signal, image signal processor, and image sensor chip
JP2019233848A JP2020113975A (ja) 2019-01-10 2019-12-25 イメージ信号処理方法、イメージ信号プロセッサ及びイメージセンサチップ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003337A KR102581210B1 (ko) 2019-01-10 2019-01-10 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩

Publications (2)

Publication Number Publication Date
KR20200086939A KR20200086939A (ko) 2020-07-20
KR102581210B1 true KR102581210B1 (ko) 2023-09-22

Family

ID=71516994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003337A KR102581210B1 (ko) 2019-01-10 2019-01-10 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩

Country Status (4)

Country Link
US (1) US11159722B2 (ko)
JP (1) JP2020113975A (ko)
KR (1) KR102581210B1 (ko)
CN (1) CN111432112B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021150737A (ja) * 2020-03-17 2021-09-27 キヤノン株式会社 画像処理装置および画像処理方法、撮像装置
CN112215782B (zh) * 2020-10-29 2022-10-14 中国科学院长春光学精密机械与物理研究所 一种卷帘快门成像装置图像校正方法及装置
KR20220081532A (ko) * 2020-12-09 2022-06-16 에스케이하이닉스 주식회사 이미지 시그널 프로세서 및 이미지 처리 시스템
CN113489880B (zh) * 2021-07-29 2024-05-28 Oppo广东移动通信有限公司 电子设备、信息同步方法和计算机可读存储介质
US11750927B2 (en) * 2021-08-12 2023-09-05 Deepx Co., Ltd. Method for image stabilization based on artificial intelligence and camera module therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011129902A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd イメージセンサーモジュール、その製造方法、及びそれを含むイメージ処理システム
US20170195574A1 (en) * 2015-12-31 2017-07-06 Sony Corporation Motion compensation for image sensor with a block based analog-to-digital converter

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6803953B2 (en) * 2000-02-28 2004-10-12 Canon Kabushiki Kaisha Image sensing apparatus and method having noise reduction function
KR100699834B1 (ko) * 2005-02-07 2007-03-27 삼성전자주식회사 베이어 패턴의 디지털 컬러 영상 신호를 처리하는 방법 및장치
JP5036482B2 (ja) * 2007-10-19 2012-09-26 シリコン ヒフェ ベー.フェー. 画像処理装置及び画像処理方法、画像処理プログラム
JP4504412B2 (ja) 2007-11-28 2010-07-14 アキュートロジック株式会社 画像処理装置及び画像処理方法
JP2009218909A (ja) * 2008-03-11 2009-09-24 Ricoh Co Ltd 画像撮像装置
JP5195818B2 (ja) * 2010-06-01 2013-05-15 セイコーエプソン株式会社 表示制御装置
JP5672776B2 (ja) * 2010-06-02 2015-02-18 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
US8588524B2 (en) * 2010-12-15 2013-11-19 Canon Kabushiki Kaisha Image processing apparatus, image processing method and program
JP2012165168A (ja) * 2011-02-07 2012-08-30 Sony Corp 半導体装置、物理情報取得装置、及び、信号読出し方法
WO2014068779A1 (ja) * 2012-11-05 2014-05-08 株式会社モルフォ 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP6071545B2 (ja) * 2012-12-27 2017-02-01 キヤノン株式会社 撮像装置、画像処理装置及びその制御方法、プログラム、記憶媒体
JP5794705B2 (ja) * 2013-02-01 2015-10-14 キヤノン株式会社 撮像装置、その制御方法及びプログラム
CN105191283B (zh) * 2013-03-29 2019-10-22 索尼公司 摄像装置、固体摄像元件、相机模块、电子设备及摄像方法
JP6104060B2 (ja) * 2013-06-06 2017-03-29 オリンパス株式会社 撮像装置、撮像方法
CN104079904A (zh) * 2014-07-17 2014-10-01 广东欧珀移动通信有限公司 一种彩色图像生成方法及装置
KR102349433B1 (ko) * 2015-11-27 2022-01-10 삼성전자주식회사 자이로스코프 센서를 제어할 수 있는 이미지 센서와 이를 포함하는 장치들
JP2018098524A (ja) * 2016-12-08 2018-06-21 ソニーセミコンダクタソリューションズ株式会社 撮像素子、撮像システムおよび撮像素子の制御方法
KR102629343B1 (ko) * 2018-12-21 2024-01-26 삼성전자주식회사 다중 셀 구조의 카메라 모듈 및 그 카메라 모듈을 포함하는 휴대용 통신 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011129902A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd イメージセンサーモジュール、その製造方法、及びそれを含むイメージ処理システム
US20170195574A1 (en) * 2015-12-31 2017-07-06 Sony Corporation Motion compensation for image sensor with a block based analog-to-digital converter

Also Published As

Publication number Publication date
US20200228709A1 (en) 2020-07-16
CN111432112A (zh) 2020-07-17
KR20200086939A (ko) 2020-07-20
JP2020113975A (ja) 2020-07-27
US11159722B2 (en) 2021-10-26
CN111432112B (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
KR102581210B1 (ko) 이미지 신호 처리 방법, 이미지 신호 프로세서 및 이미지 센서 칩
JP4340915B2 (ja) 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置
US8379976B2 (en) Image processing apparatus and method and a computer-readable recording medium on which an image processing program is stored
US10979612B2 (en) Electronic device comprising plurality of cameras using rolling shutter mode
CN108737734A (zh) 图像补偿方法和装置、计算机可读存储介质和电子设备
US11363199B2 (en) Apparatus and method for estimating optical image stabilization motion
KR101356286B1 (ko) 화상 처리 장치, 화상 처리 방법, 프로그램 및 촬상 장치
US20050225807A1 (en) Methods and systems for anti shading correction in image sensors
CN103546701A (zh) 像素阵列、图像传感器及补偿局部暗电流的方法
US10965871B2 (en) Apparatus and method for compensating for image change caused by optical image stabilization motion
JP7312185B2 (ja) カメラモジュール及びその超解像度映像処理方法
US20220385816A1 (en) Image signal processor, electronic device, and image stabilization method
KR20190072549A (ko) 모바일 디바이스들을 위한 강화된 심도 맵 이미지들
CN115209120B (zh) 图像感测装置及其操作方法及图像处理装置
KR102518373B1 (ko) 이미지 센서 및 이를 포함하는 전자 기기
JP6700732B2 (ja) ピクセルイメージに含まれる不良画素の処理方法とその方法を用いたイメージセンサー及びアプリケーションプロセッサ
CN115695987A (zh) 电子设备及其操作方法
JP7094454B2 (ja) 撮像装置、撮像素子、撮像装置の作動方法、撮像素子の作動方法、及びプログラム
US20230262328A1 (en) Image processing system and operating method thereof
US20230076522A1 (en) Image processing system and method of operating the same
US20230073138A1 (en) Image sensor, image processing system including the same, and image processing method
KR20210114846A (ko) 고정된 기하학적 특성을 이용한 카메라 모듈, 촬상 장치 및 이미지 처리 방법
JP3551670B2 (ja) 電子スチルカメラ
KR20230011198A (ko) 전자 장치 및 그 동작 방법
CN115460330A (zh) 图像处理装置和图像感测装置

Legal Events

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