KR20210074010A - 이미지 처리 장치 및 이미지 처리 방법 - Google Patents

이미지 처리 장치 및 이미지 처리 방법 Download PDF

Info

Publication number
KR20210074010A
KR20210074010A KR1020190164898A KR20190164898A KR20210074010A KR 20210074010 A KR20210074010 A KR 20210074010A KR 1020190164898 A KR1020190164898 A KR 1020190164898A KR 20190164898 A KR20190164898 A KR 20190164898A KR 20210074010 A KR20210074010 A KR 20210074010A
Authority
KR
South Korea
Prior art keywords
data
image
bayer
deep learning
gyro
Prior art date
Application number
KR1020190164898A
Other languages
English (en)
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 KR1020190164898A priority Critical patent/KR20210074010A/ko
Priority to PCT/KR2020/016778 priority patent/WO2021118111A1/ko
Priority to CN202080094504.8A priority patent/CN115004680A/zh
Priority to US17/783,197 priority patent/US20230025022A1/en
Publication of KR20210074010A publication Critical patent/KR20210074010A/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/684Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
    • 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
    • H04N5/2327
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/11Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths for generating image signals from visible and infrared light wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • 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/617Upgrading or updating of programs or applications for camera control
    • 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
    • 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/685Vibration or motion blur correction performed by mechanical compensation
    • H04N5/2253
    • H04N5/2254
    • H04N5/23258
    • H04N5/2328
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)

Abstract

일 실시예에 따른 이미지 처리 장치는 이미지 센서로부터 제1 베이어 데이터를 수신하고, 자이로 센서로부터 자이로 데이터를 수신하고, 수신한 자이로 데이터를 이용하여 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성하는 처리부를 포함한다.

Description

이미지 처리 장치 및 이미지 처리 방법{Image Processing Apparatus and Image Processing Method}
본 발명은 이미지 처리 장치에 관한 것으로, 보다 구체적으로 심층 학습(Deep Learning) 알고리즘을 이용하여 이미지가 안정화되고 블러가 제거된 베이어 데이터를 생성하는 이미지 처리 장치 및 이미지 처리 방법에 관한 발명이다.
카메라에서의 이미지 안정(Image Stabilizer) 기능은 손떨림에 의한 카메라에 움직임이 발생하는 경우, 선명한 이미지를 얻을 수 없기 때문에, 이러한 카메라 움직임을 보정해주는 기능으로, 고품질의 영상을 획득하는 데 있어 매우 중요한 기능이다. 이미지 안전 기능은, 크게 광학식 이미지 안정화 기술(OIS, Optical Image Stabilizer) 와 전자식 이미지 안정화 기술 (EIS, Electronic Image Stabilizer)로 나뉜다. OIS는 카메라 움직임에 따라 이미지 센서 또는 렌즈를 이동시켜 이미지를 안정화하는 기술이고, EIS는 이미지 처리를 통해 안정화 알고리즘을 이용하여 이미지를 보정하는 기술이다.
EIS는 구조적 한계로 인해 OIS에 비해 성능이 열세이나, 가격 및 사이즈 측면서의 이점이 있다. 더욱이 시장의 트렌드가 고배율 줌을 강화하는 추세로 발전하면서 이미지 안정 기술은 더욱 중요도가 커지고 있으며, 기존의 VCM 타입의 OIS로는 제어 정밀도의 한계로 고배율에서의 OIS 정확도가 문제가 되고 있다.
손떨림이나 진동에 의해 화면에 블러(Blur)가 발생하여 촬영한 이미지의 품질이 저하되는 문제를 해결하기 위해 DSLR에 있던 OIS를 소형 카메라에도 도입하여 영상품질을 높이는 노력이 진행되어 왔다.
모바일(Mobile)의 경우, 카메라에 OIS 기능을 처음 도입을 시작한 이후로 OIS 기능은 플래그쉽(Flagship) 모델을 기준으로 대부분의 제조사에서 채용할 만큼 필수적인 기능이 되었다.
시장의 Trend가 고배율을 강화하는 방향으로 발전하면서 OIS기능은 더욱 중요한 요소가 되었으나, 기계적 기술의 한계로 인해 고배율에서의 OIS 성능이 저하된다.
OIS 모듈의 가격적인 단점 혹은 기계적 신뢰성의 문제로 중저가형 모바일 카메라나 차량용 카메라에는 EIS를 채택하는 경우도 있으나, 현재까지 EIS는 OIS에 비해 성능이 열세이며, 화각의 손실이 발생하고, 카메라 노출시간 중에 발생하는 블러를 제거할 수 없어서 야간이나 실내를 촬영하는 환경 (노출시간이 긴 환경)에서는 만족 할만한 성능을 낼 수 없다.
특히 카메라를 ADAS(Advanced Driver Assistance System, 첨단 운전자 보조 시스템)로 사용하는 경우, 진동이나 흔들림에 의해 획득되는 블러한 이미지는 인식률을 매우 떨어뜨릴 가능성이 있다.
기존 VCM의 제어 정밀도를 향상시키기 위해 MEMS 등의 기술을 사용한 OIS가 개발 중이나 고비용 및 신뢰성의 문제가 있다.
본 발명이 해결하고자 하는 기술적 과제는, 이미지가 안정화되고 블러가 제거된 베이어 데이터를 생성하는 이미지 처리 장치, 카메라 모듈, 및 이미지 처리 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 이미지 처리 장치는 이미지 센서로부터 제1 베이어 데이터를 수신하고, 자이로 센서로부터 자이로 데이터를 수신하고, 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성하는 처리부를 포함한다.
또한, 상기 처리부는, 딥 러닝을 수행하여 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있다.
또한, 상기 처리부는, 상기 제1 베이어 데이터에 포함된 블러(Blur)를 제거할 수 있다.
또한, 상기 처리부는, 베이어 데이터 처리에 대한 트레이닝을 통해 도출된 제1 딥 러닝 파라미터를 이용하여 딥 러닝을 수행할 수 있다.
또한, 상기 제1 딥 러닝 파라미터는, 상기 자이로 데이터에 따라 가변되는 가변 파라미터; 및 상기 자이로 데이터에 독립적인 고정 파라미터를 포함할 수 있다.
또한, 상기 베이어 데이터 처리에 대한 트레이닝은, 움직임이 있는 환경에서 연속적인 베이어 데이터 및 자이로 데이터를 수신하고, 상기 연속적인 베이어 데이터 중 하나인 제1 프레임 데이터의 인접 프레임들의 평균 이미지를 획득하고, 상기 제1 프레임 데이터 다음 프레임 데이터를 기준으로 상기 획득된 평균 이미지에 대해 성능 저하(Degradation)을 수행하여 입력 데이터를 생성하고, 상기 생성된 입력 데이터 및 자이로 데이터를 딥 러닝 트레이닝 입력 데이터로 이용하고, 상기 제1 프레임 데이터를 딥 러닝 트레이닝 비교 데이터로 이용하여 상기 트레이닝을 수행할 수 있다.
또한, 상기 제1 베이어 데이터는, 홀 센서로부터 수신하는 위치 데이터를 이용하여 카메라 모듈의 액츄에이터를 동작시킴으로써 광학적으로 움직임이 보정된 데이터일 수 있다.
또한, 상기 처리부는, 이미지 센서 모듈, 카메라 모듈, 또는 AP 모듈 상에 형성될 수 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 카메라 모듈은, 제1 베이어 데이터를 생성하는 이미지 센서; 움직임을 감지하여 자이로 데이터를 생성하는 자이로 센서; 및 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성하는 제1 처리부를 포함한다.
또한, 상기 카메라 모듈의 움직임을 감지하여 위치 데이터를 생성하는 홀 센서; 상기 홀 센서로부터 수신하는 위치 데이터를 이용하여 액추에이터를 동작시키는 제2 처리부; 및 상기 제2 처리부의 제어에 따라 동작하는 액추에이터를 포함할 수 있다.
본 발명의 실시예들에 따르면, 손떨림이나 진동에 의해 발생하는 이미지의 품질 저하를 해결할 수 있다. 또한, 고배율에서도 OIS에서 발생할 수 있는 성능 저하를 해결할 수 있다. 카메라 움직임 보정뿐만 아니라 블러 제거를 로우(Raw) 데이터인 베이어 데이터에서 처리함으로써 정보량이 많아 고화질의 이미지를 얻을 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 처리 장치의 블록도이다.
도 2 내지 도 5는 본 발명의 일 실시예에 따른 이미지 처리 장치의 이미지 처리 과정을 도시한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 이미지 처리 장치의 블록도이다.
도 7은 본 발명의 다른 실시예에 따른 이미지 처리 장치가 베이어 데이터, 자이오 데이터, 또는 IR 데이터를 수신하여 처리하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 카메라 모듈의 블록도이다.
도 9는 본 발명의 다른 실시예에 따른 카메라 모듈의 블록도이다.
도 10은 본 발명의 실시예에 따른 이미지 처리 방법의 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합 또는 치환하여 사용할 수 있다.
또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.
또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.
그리고, 어떤 구성 요소가 다른 구성 요소에 '연결', '결합', 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 '연결', '결합', 또는 '접속'되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합', 또는 '접속'되는 경우도 포함할 수 있다.
또한, 각 구성 요소의 "상(위)" 또는 "하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, "상(위)" 또는 "하(아래)"는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라, 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위)" 또는 "하(아래)"로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 처리 장치(130)의 블록도이다. 본 발명의 일 실시예에 따른 이미지 처리 장치(130)는 처리부(132)로 구성되며, 수신부(131)를 포함할 수 있다. 또한, 하나 이상의 메모리(미도시)를 포함할 수 있다.
처리부(132)는 이미지 센서(110)로부터 제1 베이어 데이터를 수신하고, 자이로 센서(120)로부터 자이로 데이터를 수신하고, 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성한다.
보다 구체적으로, 카메라 움직임으로 인해 이미지 센서(110)에서 생성된 제1 베이어 데이터에 발생하는 본래 의도하지 않은 움직임을 보정하기 위하여, 먼저, 이미지 센서(110)로부터 제1 베이어 데이터를 수신하고, 어느 정도 움직임이 발생했는지를 판단하기 위하여 자이로 데이터를 수신한다. 수신부(131)를 통해 이미지 센서(110)로부터 제1 베이어 데이터를 수신하고, 자이로 센서(120)로부터 자이로 데이터를 수신할 수 있다.
이미지 센서(110)에서 수신한 제1 베이어 데이터에는 본래 촬영하고자 하는 이미지에 대한 데이터가 아닌 손떨림 또는 진동 등에 따른 카메라 움직임에 의해 촬상각도가 달라진 이미지에 대한 데이터가 수신될 수 있다. 제1 베이어 데이터에 영향을 미친 카메라 움직임을 보정하여 카메라 움직임이 없을 때 촬영하고자 한 이미지에 대한 데이터를 생성할 수 있다. 즉, 이미지 안정화된 데이터를 생성할 수 있다.
이미지 안정화(Image Stabilizer)는 Gyro 데이터와 이전 프레임의 이미지 간의 상관 관계로부터 현재 이미지의 중심좌표를 이동해주는 기능이며, 중심이 이동된 이미지를 전송할 수도 있고, 이동시켜야 할 좌표 정보만 ISP에 넘겨줄 수도 있다.
카메라 움직임을 보정하기 위해서 카메라 움직임 정도를 나타내는 자이로 데이터를 이용한다. 자이로 센서(120)는 이미지 센서(110)와 일체화되어 함께 움직이며, 자이로 데이터를 센싱할 수 있다. 따라서, 자이로 센서(120)에서 측정되는 자이로 데이터는 카메라 움직임을 반영하는 데이터인바, 자이로 센서(120)로부터 수신한 자이로 데이터를 이용하여 이미지 센서(110)에서 수신한 제1 베이어 데이터에 대해 카메라 움직임을 보정할 수 있고, 카메라 움직임이 보정된 제2 베이어 데이터를 생성할 수 있다.
자이로 센서(120)의 자이로(gyro)는 '회전하는 것'이라는 뜻으로, 회전하는 물체의 회전각을 감지하는 센서이다. 자이로 센서(120)는 물체의 회전속도인 각속도의 값을 이용하는 센서로 각속도 센서라고도 한다. 각속도는 어떤 물체가 회전 운동을 할 때 생기는 코리올리 힘(Coriolis Force)을 전기적 신호로 변환하여 계산할 수 있다. 여기서, 코리올리 힘은 운동하는 물체의 속도에 비례하며 운동방향에 수직인 힘을 의미한다. 이러한 코리올리 힘을 이용하여 회전하는 물체의 회전각과 기울기를 알 수 있고, 이를 누적함으로써 움직임의 방향과 움직임 정도를 알 수 있다.
카메라 움직임을 보정함에 있어서, 베이어 데이터를 이용한다. 이미지 센서(110)는 카메라 모듈의 렌즈를 통해 들어오는 빛을 전기 신호로 변화하는 CMOS(Complementary Metal Oxide Semiconductor) 또는 CCD(Charge Coupled Device)와 같은 이미지 센서를 포함할 수 있다. 이미지 센서(110)는 획득한 이미지를 컬러 필터를 통해 베이어 패턴(Bayer Pattern)의 정보를 포함하는 베이어 데이터를 생성할 수 있다. 베이어 데이터는 이미지 센서(110)가 생성하여 출력한 로우(Raw) 데이터로, 이미지 처리를 수행하기 전의 데이터인 바, 많은 정보를 포함하고 있다. 많은 정보를 가진 베이어 데이터에서 움직임을 보정함으로써 처리 품질을 높일 수 있다.
처리부(132)는 딥 러닝을 수행하여 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있다. 제1 베이어 데이터로부터 카메라 움직임이 보정된 제2 베이어 데이터를 생성함에 있어서, 처리부(132)는 딥 러닝을 이용할 수 있다. 딥 러닝 이외에도 카메라 움직임을 보정하는 다양한 알고리즘을 이용하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성할 수 있다. 처리부(132)가 딥 러닝을 수행하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 과정은 다음과 같이 수행될 수 있다.
처리부(132)는 도 2와 같이, 카메라 움직임의 영향을 받은 제1 베이어 데이터로(137)부터 카메라 움직임이 보정된 제2 베이어 데이터(138)를 생성하는 딥 러닝 네트워크(Deep Learning Network, 133)를 포함하고, 제1 베이어 데이터로(137)부터 제2 베이어 데이터(138)를 생성하는데 이용되는 딥 러닝 파라미터인 베이어 파라미터(134)를 저장할 수 있다. 딥 러닝 파라미터(134)는 메모리 상에 저장되어 있을 수 있다. 처리부(132)는 칩(chip)의 형태로 구현되어 제1 베이어 데이터로부터 제2 베이어 데이터를 생성할 수 있다.
제1 베이어 데이터(137)로부터 제2 베이어 데이터(138)를 생성함에 있어서 이용되는 베이어 파라미터(134)는 카메라의 움직임 얼마나 이루어졌는지에 따라 달라질 수 있다. 딥 러닝 파라미터인 베이어 파라미터(134)는 상기 자이로 데이터에 따라 가변되는 가변 파라미터(136) 및 상기 자이로 데이터에 독립적인 고정 파라미터(135)를 포함할 수 있다. 딥 러닝 파라미터를 구성하는 다양한 파라미터 중 자이로 데이터에 의해 가변되는 파라미터는 가변 파리미터(136)이고, 자이로 데이터에 독립적으로 제1 베이어 데이터(137)로부터 제2 베이어 데이터(138)를 생성하는데 이용되는 파라미터는 고정 파라미터(135)일 수 있다. 가변 파라미터(136)는 수신된 자이로 데이터에 따라 설정되고, 수신되는 자이로 데이터에 이전 자이로 데이터와 상이한 경우, 현재 자이로 데이터에 따라 가변될 수 있다. 가변 파라미터(136) 및 고정 파라미터(135)는 하나의 파라미터로 저장되거나, 별도의 파라미터로 저장될 수 있다.
처리부(132)는 하나 이상의 프로세서를 포함할 수 있고, 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령은 하나 이상의 메모리에 저장될 수 있다. 메모리는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다.
통상적인 카메라 장치 혹은 카메라 모듈은 이미지 센서로부터 베이어 패턴을 전달받아 색을 입히는 과정(색 보간 과정, Color Interpolation 혹은 Demosaic)을 거쳐 이미지 형태의 데이터를 출력하는데, 이미지에서 베이어 패턴(Bayer Pattern) 정보를 포함하고 있는 정보를 추출하고 추출된 정보를 포함하는 데이터를 외부로 송신할 수 있다. 여기서 베이어 패턴은 카메라 장치 또는 카메라 모듈에 포함된 광 신호를 전기 신호로 변환하는 이미지 센서가 출력하는 가공되지 않은 데이터(Raw Data)를 포함할 수 있다.
이에 대해 구체적으로 설명하면, 카메라 모듈에 포함된 렌즈를 통해 전달되는 광 신호는 R, G, B 색상을 검출할 수 있는 이미지 센서에 배치된 각 화소를 통해 전기 신호로 변환될 수 있다. 만약 카메라 모듈의 사양이 500만 화소라고 한다면, R, G, B 색상을 감지할 수 있는 화소가 500만 개 포함된 이미지 센서가 포함되어 있다고 생각할 수 있다. 화소 수가 500만 개이지만, 실제로 각각의 색(color)을 감지하는 것이 아니라 흑백의 밝기만을 감지하는 단색(monochrome) 화소가 R, G, B 필터 중 어느 하나와 결합된 형태로 볼 수 있다. 즉, 이미지 센서는 화소수 만큼 배열된 단색 화소 셀들 위에 R, G, B 색상 필터들이 특정한 패턴을 가지고 배치되어 있다. 따라서, R, G, B 색상 패턴이 사용자(즉, 인간)의 시각 특성에 따라 교차하며 배치되는데 이를 베이어 패턴(Bayer Pattern)이라고 부른다. 일반적으로 베이어 패턴은 이미지 형태의 데이터보다 데이터의 양이 작다. 따라서, 고사양의 프로세서를 가지고 있지 않은 카메라 모듈이 장착된 장치라 하더라도 이미지 형태의 데이터보다 비교적 빠르게 베이어 패턴의 이미지 정보를 전송하고 수신할 수 있으며, 이를 기초로 다양한 해상도를 가지는 이미지로 변환시킬 수 있는 장점이 존재한다.
일 예로, 카메라 모듈이 차량에 탑재되어, 카메라 모듈이 100 Mbit/s의 전이중(Full-duplex) 전송 속도를 가지는 저전압 차등 신호 방식(LVDS)이 이용되는 환경 내에서도 이미지 처리를 하는데 많은 프로세서가 필요하지 않아 과부하가 걸리지 않아 차량을 이용하는 운전자 또는 운전자의 안전에 위해가 되지 않을 수 있다. 또한, 차량 내 통신망에 의해 전달되는 데이터의 크기를 줄일 수 있어 자율 주행 차량에 적용하더라도 차량에 배치된 복수의 카메라의 작동에 따른 통신 방식, 통신 속도 등에 의해 발생하는 문제를 제거할 수 있는 효과가 존재한다.
또한, 이미지 센서(110)는 처리부(132)에 베이어 패턴의 제1 베이어 데이터를 송신함에 있어, 베이어 패턴 형태의 프레임을 1/n 크기로 다운 샘플링한 후의 데이터를 송신할 수 있다. 다운샘플링 이전에 수신된 베이어 패턴의 데이터에 대해 가우시안 필터(Gaussian Filter) 등을 통한 스무딩(smoothing)을 수행한 뒤, 다운 샘플링을 수행할 수 있다. 이후, 다운 샘플링된 영상 데이터를 기반으로 프레임 패킷을 생성한 후, 완성된 프레임 패킷을 처리부(132)로 송신할 수 있다. 다만, 이러한 기능은 이미지 센서가 아닌 처리부(132)에서 수행될 수도 있다.
또한, 이미지 센서는 저전압 차등 시그널링 방식(LVDS)와 같은 시리얼 통신 방식으로 베이어 데이터를 송신하기 위해 베이어 패턴을 직렬 데이터로 변환하는 시리얼라이져(Serializer, 미도시)를 포함할 수 있다. 시리얼라이저는 통상적으로 데이터를 일시적으로 저장하는 버퍼 및 송신되는 데이터의 주기를 형성하는 위상동기루프(PLL)를 포함하거나 함께 구현될 수 있다.
처리부(132)에 적용되는 딥 러닝 알고리즘(모델)은, 자이로 데이터를 이용하여 입력된 제1 베이어 데이터에 포함된 카메라 움직임을 보정하여 제2 베이어 데이터를 생성하는 알고리즘으로서, 딥 러닝 트레이닝(training)을 통해 학습을 반복적으로 수행하여 생성된 최적의 알고리즘을 의미할 수 있다.
딥 러닝이란, 심층 학습으로 표현되기도 하는데, 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습(machine learning)에 관한 알고리즘의 집합을 의미한다.
구체적으로, 딥 러닝은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위한 모델을 도출하는(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들 지에 대한) 학습 기법으로, DNN(Deep Neural Networks) 및 DBN(Deep Belief Networks)등의 학습 기법을 포함할 수 있다.
처리부(132)에서 수행되는 딥 러닝의 과정은 도 3과 같이 수행될 수 있다. 이미지 센서(110)로부터 연속적인 일련의 데이터를 수신하고, 자이로 센서(120)로부터 자이로 데이터를 수신한다. 자이로 센서(120)로부터 수신하는 자이로 데이터는 이미지 센서(110)로부터 수신하는 베이어 데이터가 생성된 시간동안 카메라의 움직임에 의해 발생한 자이로 데이터일 수 있다.
도 3과 같이, t1 부터 t3까지의 제1 베이어 데이터(310)를 수신함에 있어서 카메라 움직임이 발생하는 경우, 피사체의 위치가 시간마다 흔들렸다는 것을 알 수 있다. 딥 러닝을 수행하는 딥 러닝 엔진 칩인 처리부(132)는 제1 베이어 데이터(310) 및 제1 베이어 데이터(310)가 생성되는 시간에서의 움직임을 나타내는 자이로 데이터를 수신하여, 카메라 움직임이 보정된 각 시간별 제2 베이어 데이터(320)를 출력한다.
처리부(132)가 딥 러닝을 수행하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성함에 있어서, 딥 러닝 파라마티를 이용하는데, 딥 러닝 파라미터에 따라 처리 품질이 달라진다. 처리부(132)가 제1 베이어 데이터로부터 제2 베이어 데이터를 생성함에 있어서 이용하는 제1 딥 러닝 파라미터는 딥 러닝 트레이닝을 통해 도출될 수 있다.
딥 러닝은 트레이닝(Training)과 인퍼런스(inference)로 나눌 수 있다. 트레이닝은 입력 데이터를 통해 딥 러닝 모델을 학습하는 과정을 의미하고, 인퍼런스는 학습된 딥 러닝 모델로 이미지 처리 등을 수행하는 과정을 의미한다. 딥 러닝을 수행한다는 의미는 일반적으로 딥 러닝 인퍼런스를 수행하는 것을 의미한다. 이하, 딥 러닝을 수행하는 것은 딥 러닝 인퍼런스를 수행하는 것으로 딥 러닝 트레이닝과 구분하여 설명하도록 한다.
딥 러닝을 수행하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하기 위해서, 베이어 데이터 처리에 필요한 제1 딥 러닝 파라미터를 트레이닝을 통해 도출해야 한다. 트레이닝을 통해 제1 딥 러닝 파라미터가 도출되면, 해당 베이어 파라미터를 적용한 딥 러닝 모델을 이용하여 딥 러닝을 수행함으로써 제1 베이어 데이터로부터 제2 베이어 데이터를 생성할 수 있다. 따라서, 딥 러닝을 수행하기 위한 파라미터를 도출하기 위한 트레이닝 과정이 이루어져야 한다.
딥 러닝 트레이닝 과정은 도 4와 같이 반복적인 학습을 통해 수행될 수 있다. 서로 상이한 해상도를 갖는 제1 샘플 데이터(X)와 제2 샘플 데이터(Z)를 입력 받은 후 이를 기초로 딥 러닝 트레이닝을 수행할 수 있다.
구체적으로, 제1 샘플 데이터(X)를 입력 데이터로 하여 딥 러닝 트레이닝을 수행한 제1 출력 데이터(Y)와 제2샘플 데이터(Z)를 비교하고 분석하여 생성된 파라미터를 기초로 더 높은 해상도를 가지는 베이어 데이터를 생성하는 알고리즘을 생성할 수 있다.
여기서 제1 출력 데이터(Y)는 실제 딥 러닝을 수행하여 출력된 데이터이고, 제2 샘플 데이터(Z)는 사용자가 입력하는 데이터로서, 제1 샘플 데이터(X)를 알고리즘에 입력하였을 때, 가장 이상적으로 출력될 수 있는 데이터를 의미할 수 있다.
여기서, 제1 샘플 데이터(X)는 제2 샘플 데이터(Z)로부터 생성할 수 있다. 즉, 움직임이 있는 환경에서 연속적인 베이어 데이터 및 자이로 데이터를 수신하여, 해당 베이어 데이터를 제2 샘플 데이터(Z)로 이용할 수 있다. 이때, 움직임은 전역 움직임(Global Motion)을 의미할 수 있다. 이때, 자이로 데이터는 프레임 데이터가 동기화가 필요하다. 연속적인 베이어 데이터 중 하나인 제1 프레임 데이터를 제2 샘플 데이터(Z)로 이용할 수 있다. 제2 샘플 데이터(Z)에 해당하는 제1 프레임 데이터의 인접 프레임들의 평균 이미지를 획득하고, 상기 제1 프레임 데이터 다음 프레임 데이터를 기준으로 상기 획득된 평균 이미지에 대해 성능 저하(Degradation)을 수행하여 입력 데이터인 제1 샘플 데이터(X)를 생성할 수 있다.
상기 생성된 입력 데이터 및 자이로 데이터를 딥 러닝 트레이닝 입력 데이터인 제1 샘플 데이터(X)로 이용하고, 딥 러닝을 수행을 통해 출력되는 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)인 상기 제1 프레임 데이터를 비교하고 분석하여 두 데이터 간 차이를 산출하고, 두 데이터 간 차이를 줄이는 방향으로 딥 러닝 모델의 파라미터에 피드백(F)을 줄 수 있다. 이때, 두 데이터 간 차이는 손실 함수 중 하나인 평균 제곱 오차인 MSE(Mean Squared Error) 방식을 통해 산출될 수 있다. 이외에 CEE(Cross Entropy Error) 등 다양한 손실함수를 이용할 수 있다.
구체적으로, 출력 데이터에 영향을 주는 파라미터를 분석한 후, 파리미터를 변경하거나 삭제 또는 새로운 파라미터를 생성하는 방식으로 피드백(F)을 주어 제2 샘플 데이터(Z)와 실제 출력 데이터인 제1 출력 데이터(Y)의 차이가 없도록 할 수 있다.
도 4에 도시된 바와 같이 알고리즘에 영향을 주는 레이어가 총 3개이고(L1, L2, L3) 각각의 레이어에 총 8개의 파라미터(P11, P12, P13, P21, P22, P31, P32)가 존재한다고 가정할 수 있다. 이러한 경우, P22 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)의 차이가 증가한다면, 피드백(F)은 P22 파라미터를 감소시키는 방향으로 알고리즘을 변경할 수 있다. 이와 반대로, P33 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)의 차이가 감소하였다면, 피드백(F)은 P33 파라미터를 증가시키는 방향으로 알고리즘을 변경할 수 있다.
즉, 이러한 방법을 통해 딥 러닝이 적용된 알고리즘은 제1 출력 데이터(Y)가 제2 샘플 데이터(Z)와 유사하게 출력되도록 파라미터를 도출할 수 있다.
파라미터를 도출함에 있어서, 자이로 데이터에 따라 가변되는 가변 파라미터 및 자이로 데이터에 독립적인 고정 파라미터를 도출할 수 있다.
딥 러닝 트레이닝은 도 2의 처리부(132)에 포함되는 딥 러닝 네트워크와 동일한 딥 러닝 네트워크 또는 그에 대응되는 딥 러닝 네트워크 상에서 수행될 수 있다. 즉, 딥 러닝 네트워크 환경이 동일한 딥 러닝 네트워크 상에서 수행될 수 있다. 딥 러닝 트레이닝에서의 딥 러닝 네트워크는 제1 샘플 데이터(X)를 입력받아, 제1 출력 데이터(Y)를 생성하는 딥 러닝 네트워크로, 딥 러닝 트레이닝 과정에서 딥 러닝 파라미터를 조정하는 네트워크를 더 포함할 수 있다. 여기서, 파라미터를 조정하는 네트워크는 딥 러닝 네트워크일 수 있고, 상기 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)를 비교하고, 비교한 결과에 따라 파라미터를 조정하는 네트워크일 수 있다. 처리부(132)는 딥 러닝 트레이닝을 수행한 딥 러닝 네트워크 또는 그에 대응되는 딥 러닝 네트워크를 이용하여 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있다. 처리부(132)에서 딥 러닝을 수행함에 있어서, 파라미터를 조정하는 네트워크는 포함하지 않을 수 있다. 즉, 파라미터를 조정하는 네트워크는 딥 러닝 트레이닝 과정에서 필요하고, 처리부(132)에서 딥 러닝을 수행하는 과정에서는 설정된 파라미터를 이용하되, 파라이터를 조정하는 네트워크를 이용하지 않을 수 있다. 또는, 처리부(132)에서 파라미터를 조정하는 기능을 포함하는 경우에는 처리부(132)가 파라미터를 조정하는 네트워크를 포함할 수도 있다.
딥 러닝 트레이닝은 도 4와 같이, 출력 결과와 비교 대상이 존재하고, 비교 대상과의 비교를 통해 학습을 수행하는 경우뿐만 아니라, 보상치를 이용하여 트레이닝을 수행할 수도 있다. 이경우, 먼저 주변 환경을 인지하고 현재 환경 상태를 딥 러닝 트레이닝을 수행하는 프로세서에 전달할 수 있다. 프로세서는 이에 맞는 행동(Action)을 수행하고 환경은 다시 그 행동에 따른 보상치를 프로세서에게 알려준다. 그리고 프로세서는 보상치를 최대로 하는 행동을 택하게 된다. 이러한 과정에 통해 학습을 반복적으로 진행함으로써 트레이닝을 수행할 수 있다. 이외에도 다양한 딥 러닝 트레이닝 방법을 이용하여 딥 러닝 트레이닝을 수행할 수 있다.
처리부(132)는 제1 베이어 데이터의 카메라 움직임을 보정할 뿐만 아니라, 제1 베이어 데이터에 포함된 블러(Blur)를 제거할 수 있다. 손떨림 또는 진동 등에 따른 카메라 움직임뿐만 아니라, 촬영시점에서 피사체의 움직임 등에 의해 제1 베이어 데이터에 블러(Blur)가 포함될 수 있다. 여기서 블러는 모션 블러를 포함하며, 연속적인 이미지 속에 비치는 빠르게 움직이는 물체의 뚜렷한 줄무늬를 의미한다. 노출이 길거나, 피사체의 움직임이 빠르거나 하나의 프레임을 촬영하는 동안 영상의 변화가 있을 때 발생한다. 블러가 있는 경우, 선명한 이미지를 얻기 어렵기 때문에, 선명한 이미지를 얻기 위해 블러를 제거하는 과정을 거치게 된다. ISP(Image Signal Processor)에서 블러를 제거하는 경우, RGB 데이터상에서 블러를 제거할 수 있다. 블러를 제거하는 과정은 디블러(De-Blur)라 한다. 처리부(132)는 베이어 데이터 상에서 카메라 움직임을 보정함과 동시에 블러를 제거할 수 있다. 이때, 처리부(132)는 딥 러닝을 수행하여 제1 베이어 데이터로부터 카메라 움직임을 보정하고 블러가 제거된 제2 베이어 데이터를 생성할 수 있다. 디블러 기능은 카메라의 노출시간 동안 발생하는 자이로 데이터를 자이로 센서(120)로부터 입력받아 자이로 데이터와 제1 베이어 데이터를 이용하여 블러가 제거된 선명한 제2 베이어 데이터를 획득할 수 있다.
도 4의 트레이닝 단계부터 카메라 움직임과 블러가 존재하는 제1 샘플 데이터(X)로부터 카메라 움직임과 블러가 존재하지 않는 제2 샘플 데이터(Z)와의 비교를 통해 제1 딥 러닝 파라미터를 생성할 수 있다. 도 3을 참조하면, 제1 베이어 데이터 상 피사체가 흔들려 보이는 블러를 확인할 수 있다. 처리부(132)는 딥 러닝을 수행하여 카메라 움직임을 보정함과 동시에 블러도 제거한 선명한 제2 베이어 데이터를 생성할 수 있음을 확인할 수 있다. 카메라 움직임 보정 및 블러 제거를 동시에 수행할 수 있는 바, 광학적으로 움직임을 보정하는 OIS 또는 전자적으로 움직임을 보정하는 EIS 에 비해, 보다 정확하고 선명한 데이터를 생성할 수 있다.
상기와 같이, 처리부(132)는 트레이닝을 통해 도출된 제1 딥 러닝 파라미터를 이용하여 학습된 딥 러닝 모델로 딥 러닝을 수행할 수 있다. 도 5와 같이, 이미지 처리 장치(130)의 처리부가 카메라 움직임 및 블러가 포함된 제1 베이어 데이터(X) 및 자이로 센서(120)로부터 자이로 데이터를 수신하고, 딥 러닝을 수행하여 카메라 움직임이 보정되고 블러가 제거된 제2 베이어 데이터(Y)를 생성하여 출력할 수 있다.
카메라 움직임을 보정하여 제2 베이어 데이터를 생성하는 입력 데이터인 제1 베이어 데이터는 홀 센서로부터 수신하는 위치 데이터를 이용하여 카메라 모듈의 액츄에이터를 동작시킴으로써 광학적으로 움직임이 보정된 데이터일 수 있다.
이미지 처리 장치(130)에 카메라 움직임을 보정하는 처리부(132)뿐만 아니라 광학식 이미지 안정화를 수행하는 OIS 처리부를 포함할 수 있다. 이미지 처리 장치(130)는 카메라 움직임을 보정하는 프로세서 내지 IC로 처리부(132)만을 포함하거나, OIS 처리부 및 처리부(132)를 모두 포함할 수 있다. OIS 처리부를 포함하는 경우, OIS 처리부에 의해 카메라 움직임이 보정된 데이터를 처리부(132)가 수신하여, 추가 보정을 수행할 수 있다.
광학적으로 움직임을 보정하는 OIS 경우, 홀 센서로부터 감지되는 위치 데이터 및 자이로 센서(120)로부터 감지되는 자이로 데이터에 따라 렌즈를 동작시키는 액추에이터를 제어하여 움직임을 광학적으로 보정하는 방식으로, EIS에 비해 보정된 데이터의 품질이 좋기는 하나, 기계적 기술의 한계로 인해 고배율에서의 성능이 떨어질 수 있다. 또한, OIS 만으로 제1 베이어 데이터에 포함되는 블러를 제거하기 어렵다. 따라서, OIS가 적용되어 광학적으로 움직임을 보정하여 얻어지는 데이터에 대해서 추가적으로 처리부(132)가 카메라 움직임을 보정할 수 있다. 이를 통해, OIS 만으로 카메라 움직임을 보정함에 있어서의 한계를 넘어 카메라 움직임의 보정의 정확성을 높일 수 있다. 또한, 앞서 설명한 바와 같이, 처리부(132)는 딥 러닝을 수행하여 블러를 제거할 수 있고, 이를 적용하여 OIS만으로 블러를 제거하기 어려운 한계도 넘어, 베이어 데이터 상에서 블러도 함께 제거할 수 있다.
처리부(132)가 홀 센서로부터 수신하는 위치 데이터를 이용하여 카메라 모듈의 액츄에이터를 동작시킴으로써 광학적으로 움직임이 보정된 데이터를 제1 베이어 데이터로 수신하는 경우, 카메라 모듈(600)은 도 6과 같은 형태일 수 있다. 카메라 모듈(600)은 홀 센서(610), 드라이버 IC(620), 액추에이터(630), 렌즈(640) 및 필터(650) 등으로 구성될 수 있다.
홀 센서(610)는 렌즈(640)의 위치를 감지하여, 렌즈(640)의 움직임을 센싱하고, 센싱한 데이터를 드라이버 IC(Driver IC, 620)로 전달한다. 또한, 자이로 센서(120)는 카메라 움직임을 감지하여, 자이로 데이터를 생성하여 드라이버 IC(620)로 전달한다. 여기서, 드라이버 IC는 OIS(Optical Image Stabilizer) 또는 AF(Auto Focusing, 자동 초점) 등을 수행할 수 있다. 드라이버 IC는 자이로 센서(120)가 센싱한 자이로 데이터에 따fms 움직임에 따라 홀 센서(610)가 센싱한 현재 렌즈(640)를 이동시키기 위하여 액추에이터(630)를 제어한다. 구체적으로, 드라이버 IC(620)는 렌즈(640)의 위치를 조정하도록 동작하는 액추에이터(Actuator, 630)를 동작시켜 렌즈(640)가 카메라 움직임이 보정되어 피사체를 촬영할 수 있도록 한다. 이러한 OIS 동작을 통해 카메라 움직임이 보정되어 이미지 센서(110)를 통해 수신되는 제1 베이어 데이터에 대해 처리부(132)는 자이로 센서(120)로부터 수신하는 자이로 데이터를 이용하여 딥 러닝을 수행하여 카메라 움직임을 보정하고 블러를 제거한 제2 베이어 데이터를 생성한다.
처리부(132)는 딥 러닝을 수행하는 딥 러닝 네트워크를 포함하는 칩으로 형성될 수 있고, 카메라 움직임을 보정하는 기능 뿐만 아니라 다른 기능을 수행할 수도 있다. 예를 들어, 도 7과 같이, 자이로 센서(120)로부터의 자이로 데이터의 수신 없이 이미지 센서(110)로부터 제1 베이어 데이터(137)를 수신하여 제1 베이어 데이터와 해상도가 상이한 제2 베이어 데이터를 생성할 수 있다. 또는, ToF 센서(700)로부터 제1 IR 데이터(710)를 수신하여, 제1 IR 데이터와 해상도가 상이한 제2 IR 데이터를 생성할 수도 있다. 딥 러닝 네트워크(133)에서 출력되는 출력 데이터(720)는 입력 데이터 및 딥 러닝 파라미터에 따라 제2 베이어 데이터, 제2 IR 데이터, 또는 다른 데이터 등으로 달라질 수 있다.
ToF 센서(700)는 깊이 정보를 획득할 수 있은 장치 중 하나로, ToF 방식에 따르면, 비행 시간, 즉 빛을 쏘아서 반사되어 오는 시간을 측정함으로써 물체와의 거리를 계산한다. ToF 센서(700)와 이미지 센서(110)는 동일한 영역을 촬영할 수 있도록 하나의 장치, 예를 들어 하나의 광학장치 내에 배치될 수 있고 별도의 장치로 구현될 수도 있다. ToF 센서(700)는 출력광 신호를 생성한 후 객체에 조사한다.
ToF 센서(700)는 직접(direct) 방식 또는 간접(indirect) 방식 중 적어도 하나 이상의 방식을 이용할 수 있다. 간접 방식의 경우, 펄스파(pulse wave)의 형태나 지속파(continuous wave)의 형태로 출력광 신호를 생성하여 출력할 수 있다. 지속파는 사인파(sinusoid wave)나 사각파(squared wave)의 형태일 수 있다. 출력광 신호를 펄스파나 지속파 형태로 생성함으로써, ToF 센서(700)는 출력된 출력광 신호와 객체로부터 반사된 후 ToF 센서(700)로 입력된 입력광 신호 사이의 위상 차를 검출할 수 있다.
직접 방식은 물체를 향해 보낸 출력광 신호가 수신부에 되돌아오는 시간을 측정해 거리를 유추하는 방식이고, 간접 방식은 물체를 향해 보낸 사인파가 수신부에 되돌아올 때 위상차를 사용해 거리를 간접 측정하는 방식이다. 주파수가 동일한 두 파형의 마루(최대값) 또는 골(최소값) 사이 차이를 활용한다. 간접 방식은 펄스 폭이 큰 빛이 있어야 측정거리가 늘어나는데, 측정거리를 늘리면 정밀도가 떨어지고, 반대로 정밀도를 높이면 측정거리가 줄어드는 특성이 있다. 직접 방식은 간접 방식보다 먼 거리 측정에 유리하다.
ToF 센서(700)는 입력광 신호로부터 전기 신호를 생성한다. 생성된 전기 신호를 이용하여 출력광과 입력광 사이의 위상차를 계산하고, 위상차를 이용하여 객체와 ToF 센서(700) 사이의 거리를 산출한다. 구체적으로, 전기신호의 전하량 정보를 이용하여 출력광과 입력광 사이의 위상차를 계산할 수 있다. 출력광 신호의 주파수마다 전기신호는 4개가 생성될 수 있다. 따라서, ToF 센서(700)는 아래의 수학식 1을 이용하여 출력광 신호와 입력광 신호 사이의 위상차(td)를 계산할 수 있다.
Figure pat00001
여기서, Q1 내지 Q4는 4개의 전기 신호 각각의 전하 충전량이다. Q1은 출력광 신호와 동일한 위상의 기준신호에 대응하는 전기신호의 전하량이다. Q2는 출력광 신호보다 위상이 180도 느린 기준신호에 대응하는 전기신호의 전하량이다. Q3는 출력광 신호보다 위상이 90도 느린 기준신호에 대응하는 전기신호의 전하량이다. Q4는 출력광 신호보다 위상이 270도 느린 기준신호에 대응하는 전기신호의 전하량이다. 그러면, 출력광 신호와 입력광 신호의 위상차를 이용하여 객체와 ToF 센서(700) 사이의 거리를 계산할 수 있다.
이때, 아래의 수학식 2를 이용하여 객체와 ToF 센서(700) 사이의 거리(d)를 계산할 수 있다.
Figure pat00002
여기서, c는 빛의 속도이고, f는 출력광의 주파수이다.
ToF 센서(700)는 출력광, 입력광을 이용하여 IR 데이터를 생성한다. 이때, ToF 센서(700)는 4개의 위상에 대한 IR 데이터인 로우(raw) 데이터를 생성할 수 있다. 여기서, 4개의 위상은 0°, 90°, 180°, 270°일 수 있으며, 각 위상에 대한 IR 데이터는 위상 별로 디지털화된 픽셀 값으로 이루어진 데이터일 수 있다. IR 데이터는 위상 데이터(영상), 위상 IR 데이터(영상) 등과 혼용될 수 있다.
앞서 설명한 바와 같이, 딥 러닝 네트워크를 이용하여 다양한 기능을 수행함에 있어서, 각 기능을 수행하기 위하여 별도의 처리부를 독립된 형태의 별도의 칩으로 구현할 수도 있고, 도 7과 같이, 각 기능별 딥 러닝 파라미터를 저장하고, 해당 기능을 수행하는 경우, 해당 딥 러닝 파라미터를 독출하여 해당 기능을 수행할 수도 있다. 즉, 동일한 칩을 이용하면서, 각 기능에 맞게 학습된 weight 값들만 스위칭하여 각 기능을 수행할 수 있다. 카메라 움직임 보정을 수행하는 경우, 제1 딥 러닝 파라미터인 제1 베이어 파라미터(134)를 이용하여 딥 러닝 네트워크(133)에서 카메라 움직임 보정을 수행할 수 있다. 제1 베이어 데이터(134)는 자이로 데이터에 따라 가변되는 가변 파라미터(136)와 자이로 데이터에 독립적인 고정 파라미터(135)로 구성될 수 있고, 수신되는 자이로 데이터(139)에 따라 가변 파라미터(136)가 설정될 수 있다. 또한, 베이어 데이터의 해상도를 높이는 슈퍼 레졸루션(SR)을 수행하는 경우에는 제2 베이어 파라미터(740)를 이용하여 딥 러닝 네트워크(133)에서 슈퍼 레졸루션을 수행할 수 있다.
슈퍼 레졸루션(SR, Super Resolution)은 저해상도 이미지에 기초하여 고해상도 이미지를 생성하는 과정으로, 물리적인 광학 줌이 아닌 이미지 처리를 통해 저해상도 이미지로부터 고해상도 이미지를 생성하는 디지털 줌의 기능을 한다. 슈퍼 레졸루션은 압축 또는 다운 샘플링된 이미지의 품질을 개선하는 데 이용되거나, 장치적 한계에 따른 해상도를 가지는 이미지의 품질을 향상시키는데 이용될 수 있다. 이외에도 다양한 분야에서 이미지의 해상도를 높이는 데 이용될 수 있다.
또한, IR 데이터의 해상도를 높이는 경우, IR 데이터 파라미터(730)를 이용하여 딥 러닝 네트워크(133)에서 IR 데이터의 해상도를 높일 수 있다. 하나의 딥 러닝 네트워크(133)를 이용하여 구현되는 경우, 각 기능은 순차적으로 수행될 수 있다. 해상도를 높인 IR 데이터를 이용하여 저조도 환경에서 베이어 데이터만으로 생성되는 RGB 이미지의 화질을 개선할 수 있다. 즉, 베이어 데이터만으로 RGB 이미지를 생성하는데 발생할 수 있는 화질 저하를 개선하기 위하여, IR 과의 연산을 통해 화질이 개선된 RGB 이미지를 생성할 수 있다.
저조도 환경 등에서 생성된 베이어 데이터를 이용하여 생성되는 제1 RGB 이미지의 반사 성분과 IR 이미지를 연산하여 산출되는 결과 값과 제1 RGB 이미지의 색조 성분 및 채도 성분을 이용하여 제2 RGB 이미지를 생성할 수 있다.
이를 위하여, 색상 채널 변환을 통하여 제1 RGB 이미지를 제1 HSV 이미지로 변환하고, 이후, 제1 HSV 이미지의 색조 성분(H), 채도 성분(S), 및 명도 성분(V) 중 명도 성분(V)을 반사 성분과 조명 성분으로 분리하여 반사 성분을 추출할 수 있다. 여기서, 반사 성분은 고주파 성분을 포함할 수 있고, 조명 성분은 저주파 성분을 포함할 수 있으며, 이하 반사 성분을 추출하기 위하여 명도 성분(V)을 저주파 성분과 고주파 성분으로 분리한 후 이로부터 고주파 성분을 분리하는 것을 예로 들어 설명하나, 이로 제한되는 것은 아니다. 반사 성분, 예를 들어 고주파 성분은 이미지의 그래디언트(gradient) 정보 또는 에지(edge) 정보를 포함하고, 조명 성분, 예를 들어 저주파 성분은 이미지의 밝기 정보를 포함할 수 있다.
이를 위하여, 제1 HSV 이미지의 명도 성분(V)에 대하여 저주파 통과 필터링을 수행하여, 저주파 성분(L)을 획득할 수 있다. 제1 HSV 이미지의 명도 성분(V)에 대하여 저주파 통과 필터링을 수행하면, 블러(blur)되어 그래디언트 정보 또는 에지 정보가 손실될 수 있다. 저주파 성분(L)을 제거하는 연산을 통해 제1 HSV 이미지의 명도 성분에 대한 고주파 성분(R)을 획득한다. 이를 위하여, 제1 HSV 이미지의 명도 성분(V)과 저주파 성분(L)이 연산될 수 있다. 예를 들어, 제1 HSV 이미지의 명도 성분(V)에서 저주파 성분(L)을 빼는 연산이 수행될 수 있다.
처리부(132)는 해상도 높아진 IR 데이터로부터 IR 이미지를 생성할 수 있다. 여기서, ToF IR 이미지는 0°, 90°, 180°및 270°의 4개의 위상에 대한 IR 데이터로부터 생성된 앰플리튜드(amplitude) 이미지 또는 인텐시티(Intensity) 이미지일 수 있다. 이때, 제1 RGB 이미지와의 연산을 수행하기 전에 보간 및 밝기 보정 등을 통해 상기 RGB 데이터와의 연산이 가능하도록 상기 IR 이미지를 보정할 수 있다.
상기 제1 HSV 이미지의 명도 성분에 대한 조명 성분을 획득함과 동시에, 제1 HSV 이미지의 명도 성분에 대한 반사 성분, 예를 들어 고주파 성분과 ToF IR 이미지를 이용하여 제2 HSV 이미지의 명도 성분(V')을 획득할 수 있다. 구체적으로, 제1 HSV 이미지의 명도 성분에 대한 반사 성분, 예를 들어 고주파 성분과 ToF IR 이미지를 정합할 수 있다. 여기서, ToF IR 이미지를 이용하여 모델링된 조명 성분과 반사 성분을 병합하여 밝기가 개선된 이미지를 획득하기 위한 연산이 이용될 수 있으며, 이는 제1 HSV 이미지의 명도 성분으로부터 저주파 성분(L)을 제거하기 위하여 사용된 연산과 반대되는 연산일 수 있다. 예를 들어, 제1 HSV 이미지의 명도 성분에 대한 반사 성분, 예를 들어 고주파 성분과 ToF IR 이미지가 더해지는 연산이 수행될 수 있다. 이와 같이, 제1 HSV 이미지의 명도 성분에 대한 조명 성분, 예를 들어 저주파 성분을 제거한 후, 제1 HSV 이미지의 명도 성분에 대한 반사 성분, 예를 들어 고주파 성분과 ToF IR 이미지를 연산하면, 저조도 환경에서 촬영된 RGB 이미지의 밝기가 개선될 수 있다.
이후, 연산을 통해 획득된 명도 성분(V')과 색상 채널 변환을 통해 획득된 색조 성분(H) 및 채도 성분(S)을 이용하여 색상 채널 변환을 통하여 제2 RGB 이미지를 생성할 수 있다. HSV 이미지 중 색조 성분(H)과 채도 성분(S)은 색상 정보를 가질 수 있고, 명도 성분(V)은 밝기 정보를 가질 수 있다. 명도 성분(V)의 반사 성분만을 ToF IR 이미지와 연산한 값(V')과, 색조 성분(H) 및 채도 성분(S)은 기존 획득된 대로 이용하면, 색상의 왜곡 없이 저조도 환경에서의 밝기만 개선할 수 있다. 입력 이미지는 반사 성분과 조명 성분의 곱으로 이루어질 수 있으며, 반사 성분은 고주파 성분으로 이루어져 있고, 조명 성분은 저주파 성분으로 이루어질 수 있으며, 이미지의 밝기는 조명 성분에 의하여 영향을 받을 수 있다. 다만, 저조도 환경에서 촬영된 RGB 이미지로부터 조명 성분, 즉 저주파 성분을 제거할 경우 RGB 이미지의 밝기 값이 지나치게 높아질 수 있다. 이러한 점을 보완하기 위하여 조명 성분, 즉 저주파 성분이 제거된 RGB 이미지의 명도 성분에 ToF IR 이미지를 정합함으로써 결과적으로 저조도 환경에서 화질이 개선된 RGB 이미지를 얻을 수 있다.
이를 통해, 고해상도 RGB 이미지, 고해상도 IR 이미지, 및 고해상도 깊이 이미지를 생성할 수 있다. 또한, IR 이미지는 RGB 이미지보다 해상도가 매우 낮기 때문에 (1Mp이하) IR 데이터를 고해상도로 처리하는 처리부는 칩(chip) 형태로 구현하기 적합하다. 소형화 칩을 만들기 위해서는 알고리즘 로직(logic)과 연산시 필요한 데이터 메모리를 최소화하는 것이 중요한데, 카메라 장치의 해상도가 메모리와 연산량에 직결되기 때문이다.
처리부(132)는 독립된 칩 형태로 구현될 수 있다. 또는 다른 칩의 하나의 구성 또는 기능블록단위로 형성될 수도 있다. 처리부(132)는 이미지 센서 모듈, 카메라 모듈, 또는 AP 모듈 상에 형성될 수 있다. 카메라 움직임을 보정하는 OIS 기능은 이미지 센서 모듈 내부에 형성되어 있을 수 있고, 처리부(132)는 이와 같이, 이미지 센서 모듈 내부에 형성될 수 있다. 이때, 이미지 센서 내부 ROIC에 포함될 수 있다. 또는, 처리부(132)는 이미지 센서(110)과 별도로 카메라 모듈에 형성될 수 있다. 이때, 드라이버 IC와 통합되어 형성될 수 있다. 카메라 모듈에 형성되는 경우에 대한 설명은 도 8 내지 도 9를 참조하여 이후에 자세히 설명하도록 한다.
처리부(132)는 AP 모듈 상에 형성될 수도 있다. 여기서, AP(Application Processor)는 모바일용 메모리 칩으로 이동 단말 장치에서 각종 어플리케이션 작동과 그래픽 처리를 담당하는 핵심 반도체를 의미한다. AP는 컴퓨터의 중앙처리장치(CPU)의 기능과 메모리, 하드디스크, 그래픽 카드 등 기타 장비의 연결을 제어하는 칩셋의 기능을 모두 포함하고 있는 SoC(System on Chip) 형태로 구현될 수 있다. 처리부(132)는 AP 모듈 상에 별도의 칩 형태로 형성되거나, IP 블록 형태로 형성될 수 있다. 이때, 처리부(132)는 ISP와 별도로 형성될 수 있다.
도 8은 본 발명의 일 실시예에 따른 카메라 모듈(800)의 블록도이다. 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 처리부는 도 8과 같이 카메라 모듈(800)의 제1 처리부(830)의 구성으로 형성될 수 있다.
본 발명의 일 실시예에 따른 카메라 모듈(800)은 도 8과 같이, 이미지 센서(810), 자이로 센서(820) 및 제1 처리부(830)로 구성될 수 있고, 도 9와 같이, 홀 센서(840), 제2 처리부(850) 및 액추에이터(860)를 포함할 수 있다. 도 8 및 도 9의 카메라 모듈(800)의 제1 처리부(830)에 대한 상세한 설명은 도 1 내지 도 7의 이미지 처리 장치(130)의 처리부(132)에 대한 상세한 설명에 대응되는 바, 이하, 중복되는 설명은 생략하도록 한다.
이미지 센서(810)는 제1 베이어 데이터를 생성하고, 자이로 센서(820)는 움직임을 감지하여 자이로 데이터를 생성한다. 제1 처리부(830)는 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성한다.
제1 처리부(830)는 딥 러닝을 수행하여 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있고, 베이어 데이터 처리에 대한 트레이닝을 통해 도출된 제1 딥 러닝 파라미터를 이용하여 딥 러닝을 수행할 수 있다. 여기서, 상기 베이어 데이터 처리에 대한 트레이닝은, 움직임이 있는 환경에서 연속적인 베이어 데이터 및 자이로 데이터를 수신하고, 상기 연속적인 베이어 데이터 중 하나인 제1 프레임 데이터의 인접 프레임들의 평균 이미지를 획득하고, 상기 제1 프레임 데이터 다음 프레임 데이터를 기준으로 상기 획득된 평균 이미지에 대해 성능 저하(Degradation)을 수행하여 입력 데이터를 생성하고, 상기 생성된 입력 데이터 및 자이로 데이터를 딥 러닝 트레이닝 입력 데이터로 이용하고, 상기 제1 프레임 데이터를 딥 러닝 트레이닝 비교 데이터로 이용하여 상기 트레이닝을 수행할 수 있다.
제1 처리부(830)는 상기 제1 베이어 데이터에 포함된 블러(Blur)를 제거할 수 있다. 이를 통해, 카메라 움직임을 보정함과 동시에 블러를 제거할 수 있다.
홀 센서(840) 상기 카메라 모듈의 움직임을 감지하여 위치 데이터를 생성할 수 있다.
제2 처리부(850)는 홀 센서(840)로부터 수신하는 위치 데이터를 이용하여 액추에이터(860)를 동작시키며, 액추에이터(860)는 제2 처리부(850)의 제어에 따라 동작할 수 있다. 제2 처리부(850)는 상기와 같이 액추에이터(860)를 동작시킴으로써 OIS 기능을 수행할 수 있다.
본 발명의 일 실시예에 따른 이미지 처리 방법은 이하 설명하는 단계들에 의해 수행된다. 이미지 처리 방법의 각 단계에 대한 상세한 설명은 도 1 내지 도 7의 이미지 처리 장치(130) 내지 도 8 내지 도 9의 카메라 모듈(800)에 대한 상세한 설명에 대응되는바, 중복된 설명은 생략하도록 한다.
본 발명의 일 실시예에 따른 이미지 처리 방법은 하나 이상의 프로세서를 포함하는 이미지 처리 장치에서 이미지를 처리하는 방법에 관한 것이다.
S11 단계에서 이미지 센서로부터 제1 베이어 데이터를 수신하고, 자이로 센서로부터 자이로 데이터를 수신하고, S12 단계에서 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정하여 제2 베이어 데이터를 생성한다. 제2 베이어 데이터를 생성함에 있어서, S21 단계와 같이, 딥 러닝을 수행하여 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있다.
또한, 상기 제2 베이어 데이터를 생성함에 있어서, S31 단계에서 상기 제1 베이어 데이터에 포함된 블러(Blur)를 제거하여 제2 베이어 데이터를 생성할 수 있다.
또한, 딥 러닝을 수행하여 상기 제2 베이어 데이터를 생성함에 있어서, 베이어 데이터 처리에 대한 트레이닝을 통해 도출된 딥 러닝 파라미터를 이용하여 딥 러닝을 수행할 수 있다.
상기 딥 러닝 파라미터는 상기 자이로 데이터에 따라 가변되는 가변 파라미터 및 상기 자이로 데이터에 독립적인 고정 파라미터를 포함하고 상기 자이로 데이터에 따라 상기 가변 파라미터를 설정할 수 있다.
상기 베이어 데이터 처리에 대한 트레이닝은, 도 10과 같이, S41 단계 내지 S44 단계를 통해 수행될 수 있다. S41 단계에서 움직임이 있는 환경에서 연속적인 베이어 데이터 및 자이로 데이터를 수신하고, S42 단계에서 상기 연속적인 베이어 데이터 중 하나인 제1 프레임 데이터의 인접 프레임들의 평균 이미지를 획득하고, 상기 제1 프레임 데이터 다음 프레임 데이터를 기준으로 상기 획득된 평균 이미지에 대해 성능 저하(Degradation)을 수행하여 입력 데이터를 생성하고, S43 단계에서 상기 생성된 입력 데이터 및 자이로 데이터를 딥 러닝 트레이닝 입력 데이터로 이용하여 출력 데이터를 생성하며, S44 단계에서 상기 출력 데이터와 상기 제1 프레임 데이터를 비교 분석하고, 비교 분석한 결과를 이용하여 딥 러닝 파라미터를 조정하며, 비교 분석한 결과가 소정의 기준을 만족할 때까지 S43 단계 및 S44 단계를 반복하여 수행할 수 있다.
또한, 상기 제1 베이어 데이터는, 홀 센서로부터 수신하는 위치 데이터를 이용하여 카메라 모듈의 액츄에이터를 동작시킴으로써 광학적으로 움직임이 보정된 데이터일 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110, 810: 이미지 센서
120, 820: 자이로 센서
130, 830: 이미지 처리 장치
131: 수신부
132: 처리부
210: ISP
610, 840: 홀 센서
620: 드라이버 IC
630, 860: 액추에이터
640: 렌즈
650: 필터

Claims (10)

  1. 이미지 센서로부터 제1 베이어 데이터를 수신하고, 자이로 센서로부터 자이로 데이터를 수신하고, 상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성하는 처리부를 포함하는 이미지 처리 장치.
  2. 제1항에 있어서,
    상기 처리부는,
    딥 러닝을 수행하여 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성하는 것을 특징으로 하는 이미지 처리 장치.
  3. 제1항에 있어서,
    상기 처리부는,
    상기 제1 베이어 데이터에 포함된 블러(Blur)를 제거하는 것을 특징으로 하는 이미지 처리 장치.
  4. 제1항에 있어서,
    상기 처리부는,
    베이어 데이터 처리에 대한 트레이닝을 통해 도출된 제1 딥 러닝 파라미터를 이용하여 딥 러닝을 수행하는 것을 특징으로 하는 이미지 처리 장치.
  5. 제4항에 있어서,
    상기 제1 딥 러닝 파라미터는,
    상기 자이로 데이터에 따라 가변되는 가변 파라미터; 및
    상기 자이로 데이터에 독립적인 고정 파라미터를 포함하는 이미지 처리 장치.
  6. 제4항에 있어서,
    상기 베이어 데이터 처리에 대한 트레이닝은,
    움직임이 있는 환경에서 연속적인 베이어 데이터 및 자이로 데이터를 수신하고,
    상기 연속적인 베이어 데이터 중 하나인 제1 프레임 데이터의 인접 프레임들의 평균 이미지를 획득하고,
    상기 제1 프레임 데이터 다음 프레임 데이터를 기준으로 상기 획득된 평균 이미지에 대해 성능 저하(Degradation)을 수행하여 입력 데이터를 생성하고,
    상기 생성된 입력 데이터 및 자이로 데이터를 딥 러닝 트레이닝 입력 데이터로 이용하고, 상기 제1 프레임 데이터를 딥 러닝 트레이닝 비교 데이터로 이용하여 상기 트레이닝을 수행하는 것을 특징으로 하는 이미지 처리 장치.
  7. 제1항에 있어서,
    상기 제1 베이어 데이터는,
    홀 센서로부터 수신하는 위치 데이터를 이용하여 카메라 모듈의 액츄에이터를 동작시킴으로써 광학적으로 움직임이 보정된 데이터인 것을 특징으로 하는 이미지 처리 장치.
  8. 제1항에 있어서,
    상기 처리부는,
    이미지 센서 모듈, 카메라 모듈, 또는 AP 모듈 상에 형성되는 것을 특징으로 하는 이미지 처리 장치.
  9. 제1 베이어 데이터를 생성하는 이미지 센서;
    움직임을 감지하여 자이로 데이터를 생성하는 자이로 센서; 및
    상기 수신한 자이로 데이터를 이용하여 상기 제1 베이어 데이터로부터 카메라 움직임을 보정한 제2 베이어 데이터를 생성하는 제1 처리부를 포함하는 카메라 모듈.
  10. 제9항에 있어서,
    상기 카메라 모듈의 위치를 감지하여 위치 데이터를 생성하는 홀 센서;
    상기 홀 센서로부터 수신하는 위치 데이터를 이용하여 액추에이터를 동작시키는 제2 처리부; 및
    상기 제2 처리부의 제어에 따라 동작하는 액추에이터를 포함하는 카메라 모듈.



KR1020190164898A 2019-12-11 2019-12-11 이미지 처리 장치 및 이미지 처리 방법 KR20210074010A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190164898A KR20210074010A (ko) 2019-12-11 2019-12-11 이미지 처리 장치 및 이미지 처리 방법
PCT/KR2020/016778 WO2021118111A1 (ko) 2019-12-11 2020-11-25 이미지 처리 장치 및 이미지 처리 방법
CN202080094504.8A CN115004680A (zh) 2019-12-11 2020-11-25 图像处理装置和图像处理方法
US17/783,197 US20230025022A1 (en) 2019-12-11 2020-11-25 Image processing device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190164898A KR20210074010A (ko) 2019-12-11 2019-12-11 이미지 처리 장치 및 이미지 처리 방법

Publications (1)

Publication Number Publication Date
KR20210074010A true KR20210074010A (ko) 2021-06-21

Family

ID=76329109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190164898A KR20210074010A (ko) 2019-12-11 2019-12-11 이미지 처리 장치 및 이미지 처리 방법

Country Status (4)

Country Link
US (1) US20230025022A1 (ko)
KR (1) KR20210074010A (ko)
CN (1) CN115004680A (ko)
WO (1) WO2021118111A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102552683B1 (ko) * 2023-01-05 2023-07-06 국방과학연구소 적외선 영상에 관한 블러 커널 생성 방법 및 장치
WO2024053840A1 (ko) * 2022-09-08 2024-03-14 삼성전자 주식회사 뉴럴 네트워크 모델을 포함하는 이미지 처리 장치 및 이의 동작 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022062835A (ja) * 2020-10-09 2022-04-21 キヤノン株式会社 撮像装置、収差補正方法およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295238A (ja) * 2005-04-05 2006-10-26 Olympus Imaging Corp 撮像装置
JP4766320B2 (ja) * 2006-02-06 2011-09-07 カシオ計算機株式会社 撮像装置及びそのプログラム
JP5045380B2 (ja) * 2007-11-13 2012-10-10 ソニー株式会社 撮像装置および撮像データ補正方法並びにプログラム
TW201027982A (en) * 2009-01-13 2010-07-16 Alpha Imaging Technology Corp A video image process device with function of preventing shake and the method thereof
WO2013046816A1 (ja) * 2011-09-29 2013-04-04 オリンパス株式会社 像振れ補正装置及びそれを備えた撮像装置
JP2013205550A (ja) * 2012-03-28 2013-10-07 Olympus Corp 位置検出装置及び位置制御装置
CN103426182B (zh) * 2013-07-09 2016-01-06 西安电子科技大学 基于视觉注意机制的电子稳像方法
CN103402056B (zh) * 2013-07-31 2016-05-25 北京阳光加信科技有限公司 应用于图像捕获设备的补偿处理方法和***
US9386234B2 (en) * 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
KR102469426B1 (ko) * 2015-10-27 2022-11-22 삼성전자주식회사 이미지 처리 장치 및 이의 동작 방법
CN108171250A (zh) * 2016-12-07 2018-06-15 北京三星通信技术研究有限公司 目标检测方法及装置
CN110290323B (zh) * 2019-06-28 2021-09-07 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053840A1 (ko) * 2022-09-08 2024-03-14 삼성전자 주식회사 뉴럴 네트워크 모델을 포함하는 이미지 처리 장치 및 이의 동작 방법
KR102552683B1 (ko) * 2023-01-05 2023-07-06 국방과학연구소 적외선 영상에 관한 블러 커널 생성 방법 및 장치

Also Published As

Publication number Publication date
US20230025022A1 (en) 2023-01-26
CN115004680A (zh) 2022-09-02
WO2021118111A1 (ko) 2021-06-17

Similar Documents

Publication Publication Date Title
US20230025022A1 (en) Image processing device and image processing method
US8289405B2 (en) Image processing apparatus and method thereof
US9025038B2 (en) Image capturing apparatus, image processing method and program
JP5222472B2 (ja) 画像処理装置、画像復元方法およびプログラム
JP5139516B2 (ja) カメラ運動の検出及び推定
JP4898761B2 (ja) オブジェクト追跡を用いたデジタル画像の手ぶれ補正装置および方法
US8902329B2 (en) Image processing apparatus for correcting image degradation caused by aberrations and method of controlling the same
US8036481B2 (en) Image processing apparatus and image restoration method and program
US7496287B2 (en) Image processor and image processing program
US9467623B2 (en) Image correcting apparatus and method for imaging device
US20100149384A1 (en) Image Processing Apparatus And Image Sensing Apparatus
WO2001031568A1 (en) System and methods for producing high resolution images from a video sequence of lower resolution images
JP5002738B2 (ja) 画像生成装置
US9407827B2 (en) Method and system for capturing sequences of images with compensation for variations in magnification
US20240119561A1 (en) Image processing device and image processing method
JP5539565B2 (ja) 撮像装置及び被写体追跡方法
US9710897B2 (en) Image processing apparatus, image processing method, and recording medium
US20220253978A1 (en) Camera device and image generation method of camera device
CN113079313B (zh) 图像处理装置、图像拾取装置、图像处理方法及存储介质
Battiato et al. Video Stabilization.
Amanatiadis et al. An integrated dynamic image stabilizer applied to zooming systems
JP2007116302A (ja) ブレ検出装置および方法
CN115880559A (zh) 信息处理装置、信息处理方法和存储介质
JP2010026801A (ja) 画像処理装置、画像処理プログラム、および画像処理方法
Scarmana Image enhancement from a stabilised video sequence

Legal Events

Date Code Title Description
A201 Request for examination