KR102242939B1 - 카메라 장치 및 카메라 장치의 이미지 생성 방법 - Google Patents

카메라 장치 및 카메라 장치의 이미지 생성 방법 Download PDF

Info

Publication number
KR102242939B1
KR102242939B1 KR1020190070298A KR20190070298A KR102242939B1 KR 102242939 B1 KR102242939 B1 KR 102242939B1 KR 1020190070298 A KR1020190070298 A KR 1020190070298A KR 20190070298 A KR20190070298 A KR 20190070298A KR 102242939 B1 KR102242939 B1 KR 102242939B1
Authority
KR
South Korea
Prior art keywords
data
resolution
image
processor
bayer
Prior art date
Application number
KR1020190070298A
Other languages
English (en)
Other versions
KR20200142875A (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 KR1020190070298A priority Critical patent/KR102242939B1/ko
Priority to EP20823426.0A priority patent/EP3985961A4/en
Priority to JP2021572932A priority patent/JP2022536327A/ja
Priority to US17/617,832 priority patent/US20220253978A1/en
Priority to CN202080057178.3A priority patent/CN114270799B/zh
Priority to PCT/KR2020/007738 priority patent/WO2020251337A1/ko
Priority to TW109120316A priority patent/TW202105028A/zh
Publication of KR20200142875A publication Critical patent/KR20200142875A/ko
Priority to KR1020210049188A priority patent/KR102371944B1/ko
Application granted granted Critical
Publication of KR102242939B1 publication Critical patent/KR102242939B1/ko

Links

Images

Classifications

    • H04N5/23232
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

일 실시예에 따른 카메라 장치는 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서 및 상기 제1 베이어 데이터를 기초로 딥 러닝을 수행하여 상기 제1 해상도보다 높은 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함할 수 있다.

Description

카메라 장치 및 카메라 장치의 이미지 생성 방법{Camera Device and Image Generation Method Of Camera Device}
본 발명은 카메라 모듈 및 이를 포함하는 이동 단말장치, 이미지 생성 방법에 관한 발명으로서, 보다 구체적으로 심층 학습(Deep Learning) 알고리즘을 이용하여 저해상도의 이미지를 고해상도의 이미지로 생성하는 기술에 관한 발명이다.
기술이 발전함에 따라 카메라 모듈의 소형화가 가능해지자, 소형 카메라 모듈은 스마트폰을 비롯한 휴대폰이나 PDA 등 다양한 IT 기기에 적용되어 사용되고 있다. 이러한 카메라 모듈은 CCD나 CMOS 등의 이미지 센서를 주요 부품으로 제작되고 있으며, 화상의 크기를 조절하기 위하여 초점 조정이 가능하도록 제조되고 있다.
이러한 카메라 모듈은 복수의 렌즈와 액추에이터(Actuator)를 포함하여 구성이 되며, 액추에이터가 각각의 렌즈를 이동시켜 그 상대적인 거리를 변화시킴으로써 광학적인 초점 거리가 조절되는 방식으로 대상체에 대한 물체를 촬영할 수 있다.
구체적으로 카메라 모듈은 외부에선 수신한 광 신호를 전기 신호로 변환하는 이미지 센서와 이미지 센서로 광을 집광시키는 렌즈와 IR(Infrared) 필터, 이들을 내부에 포함하는 하우징 및 이미지 센서의 신호를 처리하는 인쇄회로기판을 등을 포함하고 있으며, 액추에이터는 VCM(Voice Coil Motor) 액추에이터 또는 MEMS(Micro Electromechanical Systems) 액추에이터 등의 액추에이터에 의해 렌즈의 초점 거리가 조절된다.
한편, 기술이 발전에 의해 해상도가 높은 이미지의 구현이 가능해짐에 따라, 멀리 있는 대상체를 촬영한 이미지를 고해상도로 구현할 수 있는 기술에 대한 요구 또한 늘어나고 있다.
일반적으로 카메라는 멀리 있는 대상체를 촬영하기 위해 줌(Zoom) 기능이 탑재되어 있는데, 줌 기능은 크게 카메라 내부의 실제 렌즈가 이동하여 대상체를 확대하는 광학줌과, 대상체를 촬영한 화상 데이터의 일부 화면을 디지털 처리 방식으로 확대 표시하여 줌 효과를 얻는 디지털 줌 방식으로 나뉘어진다.
렌즈의 이동을 이용하여 대상체에 대한 이미지를 얻는 광학 줌의 경우 비교적 높은 해상도를 가지는 이미지를 획득할 수 있으나, 이는 카메라 내부의 구조가 복잡해지고 부품 추가로 인해 비용이 증가하는 문제가 존재한다. 또한, 광학 줌을 이용하여 대상체를 확대할 수 있는 영역은 한계가 있어서, 이러한 부분에 대해서는 소프트웨어로 보정을 하는 기술 등이 개발되고 있다.
이러한 방법 이 외에도, 보이스 코일 모터(VCM, Voice Coil Motor) 또는 MEMS(Micro-Electro Mechanical Systems) 기술로 센서를 흔드는 센서 시프트(Shift) 기술, 렌즈를 VCM 등으로 흔들어서 픽셀 정보를 얻는 OIS(Optical Image Stabilizer) 기술, 센서와 렌즈 사이의 필터(Filter)를 흔드는 기술 등 카메라 내부의 부품을 움직이는 방식으로 픽셀 정보를 더 많이 생성하여 고해상도 이미지를 구현하는 기술들이 존재한다.
그러나 이러한 기술들의 단점은 여러 시차의 데이터를 합성하기 때문에 움직이는 물체를 촬영한 경우, 모션 블러(Motion Blur)나, 아티팩트(Artifact)와 같은 현상들이 발생할 수 있어 이로 인해 이미지의 화질을 저하시키는 문제가 발생할 수 있다.
또한, 이를 구현하기 위한 복잡한 장치가 카메라 내부가 삽입됨에 따라 카메라 모듈의 크기가 커지게 되고, 부품을 흔드는 방법으로 구현을 하기 때문에 카메라가 설치된 차량에서는 사용하기 힘들고, 고정적인 환경에서만 사용이 가능한 문제가 존재한다.
반면, TV에서 일반적으로 사용되고 있는 소프트웨어 알고리즘을 이용한 고해상도 구현 기술은 싱글 프레임 SR (Single-Frame Super Resolution) 또는 멀티 프레임 SR(Multi-frame Super Resolution) 기술 등이 존재한다.
이러한 기술의 경우 아티팩트(Artifact) 문제는 발생하지는 않지만, 모바일, 차량, IoT 등 소형 카메라 모듈이 적용될 수 있는 장치에는 적용하기 어려운 알고리즘이며, 또한 이러한 기술을 구현하기 위해서는 별도의 이미지 프로세서가 장착되지 없으면 구현하기 어려운 문제점이 존재한다.
따라서, 본 발명은 전술한 바와 같이 종래 기술이 가지고 있던 문제점을 해결하기 위해 고안된 발명으로서, 모션 블러(Motion Blur)나, 아티팩트(Artifact)같은 문제점이 발생하지 않으면서, 고해상도 이미지를 생성할 수 있는 카메라 모듈 및 이를 포함한 이동 단말 장치를 제공하기 위함이다.
구체적으로, 딥 러닝 기술에 기반한 고해상도 구현 알고리즘이 적용된 칩(Chip)을 온 더 플라이(On The Fly) 형태로 카메라 모듈 또는 카메라 모듈이 장착되어 있는 이동 단말 장치에 탑재하여 보다 효율적으로 고해상도 이미지를 생성할 수 있는 카메라 모듈 및 이를 포함한 이동 단말 장치를 제공하기 위함이다.
일 실시예에 따른 카메라 장치는 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서 및 상기 제1 베이어 데이터를 기초로 딥 러닝을 수행하여 상기 제1 해상도보다 높은 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 파장대역 별로 배열한 제1 배열 데이터를 생성한 후, 생성된 상기 제1배열 데이터를 기초로 딥 러닝을 수행하여 상기 제2배열 데이터를 생성할 수 있다.
상기 프로세서는, 상기 제2 배열 데이터를 기초로 상기 제2 베이어 데이터를 생성할 수 있다.
상기 프로세서는, 상기 제2 베이어 데이터를 기초로 상기 제2 해상도를 가지는 이미지를 생성할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 파장 대역별로 배열한 제1 배열 데이터를 생성하는 제1 데이터 정렬부, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 출력하는 딥 러닝 프로세서 및 상기 제2 배열 데이터를 베이어 패턴으로 배열한 제2베이어 데이터를 생성하는 제2 데이터 정렬부를 포함할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 라인별로 저장하는 적어도 하나의 제1 라인 버퍼(Line Buffer), 상기 제1 라인 버퍼로부터 출력되는 정보를 수신하여 파장대역 별로 배열한 제1 배열 데이터를 생성하는 제1 데이터 정렬부, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 생성하는 딥 러닝 프로세서, 제2 배열 데이터를 베이어 패턴으로 배열한 제2배열 데이터를 생성하는 제2 데이터 정렬부 및 상기 제2 데이터 정렬부로부터 출력된 데이터를 라인별로 저장하는 적어도 하나의 제2 라인 버퍼를 포함할 수 있다.
다른 실시예에 따른 카메라 장치의 이미지 생성 방법은 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 단계, 상기 제1 베이어 데이터를 파장대역 별로 분류한 제1 배열 데이터를 생성하는 단계, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 생성하는 단계, 상기 제2배열 데이터를 기초로 상기 제1해상도보다 높은 제2 해상도를 가지는 제2 베이어 데이터를 생성할 수 있다.
상기 제2 베이어 데이터를 생성하는 단계는, 상기 제2 배열 데이터를 베이어 패턴으로 배열하여 생성하는 단계를 포함할 수 있다.
상기 카메라 장치의 이미지 생성 방법은 상기 제1 베이어 데이터는 복수의 행 데이터를 포함하고, 상기 제1 배열 데이터를 생성하는 단계는 기 설정된 N+1개의 행 라인으로 통해 출력되는 상기 제1베이어 데이터를 기초로 상기 제1배열 데이터를 생성하는 단계를 포함할 수 있다.
상기 기 설정된 N+1 개의 행 라인을 통해 출력되는 단계는, 수신되는 상기 제1베이어 데이터의 복수의 행 데이터 중 N개의 행 데이터를 순차적으로 저장한 후, 상기 N+1번째 행을 전송할 때 상기 N개의 행 데이터를 함께 출력하는 단계를 포함할 수 있다.
고해상도를 구현하기 위한 딥 러닝 기반의 알고리즘들은 프레임 버퍼(Frame Buffer)를 사용하였기 때문에 일반 PC 및 서버에서는 실시간 구동이 어려웠지만, 일 실시예에 따른 카메라 모듈 및 이를 포함하는 이동 단말 장치와 이미지 생성 방법은 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하고 네트워크 구성은 최적화시키는 방식으로 고해상도 이미지를 생성하므로 비교적 크기가 작은 소형 칩(Chip)으로 구현할 수 있는 장점이 존재한다.
또한, 본 기술이 적용된 칩은 소형의 크기로 제작될 수 있으므로 탑재되는 장치의 사용 목적에 따라 다양한 위치에 다양한 방식으로 탑재될 수 있어, 설계의 자유도가 증가할 수 있다. 또한, 기존의 딥 러닝 방식의 알고리즘을 수행하기 위해 고가의 프로세서가 필요하지 않아 보다 경제적으로 고해상도 이미지를 생성할 수 있다.
또한, 본 발명의 경우 본 기술이 적용된 칩을 카메라 모듈에 탑재하는 방식으로 본 기술의 실시가 가능하므로, 줌 기능이 없는 카메라 모듈 또는 특정 배율에 대한 고정 줌만 지원하는 카메라 모듈에 본 기술을 적용시켜 연속 줌 기능을 사용할 수 있다.
또한, 특정 배율에 대해 광학적으로 연숙 줌만 지원하는 카메라 모듈에서도 본 기술을 적용시켜 더 넓은 배율 구간에서 연속 줌 기능을 활용할 수 있는 효과가 존재한다.
도 1은 일 실시예에 따른 카메라 모듈의 일부 구성 요소를 도시한 블럭도이다.
도 2는 일 실시예에 따른 이미지 생성부의 일부 구성 요소를 도시한 도면이다.
도3은 일 실시예에 따른 딥 러닝 트레이닝의 수행 과정을 도시한 도면이다.
도 4는 다른 실시예에 따른 딥 러닌 트레이닝의 수행 과정을 도시한 도면이다.
도 5는 딥 러닝 알고리즘이 적용된 프로세서에 입력되는 정보와 프로세서를 통해 출력되는 출력 정보를 도시한 도면이다.
도 6과 도 7은 프로세서에 의해 제1해상도 가지는 제1베이어 이미지가 제2해상도를 가지는 제2베이어 이미지로 변환된 모습을 도시한 도면이다.
도8은 일 실시예에 따른 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다.
도9는 일 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도10은 다른 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도11은 또 다른 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도 12는 일 실시예에 따른 이미지 생성 방법의 순서를 도시한 순서도이다.
본 명세서에 기재된 실시 예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원 시점에 있어서 본 명세서의 실시 예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않으며, 본 명세서에서 사용한 "제 1", "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 일 실시예에 따른 카메라 모듈(100)의 일부 구성 요소를 도시한 블록도이며, 도 2는 일 실시예에 따른 이미지 생성부(200)의 일부 구성 요소를 도시한 도면이고 도3은 일 실시예에 따라 프로세서(220)가 수행하는 딥 러닝 과정의 일 예를 도시한 도면이다.
도 1을 참조하면, 일 실시예에 다른 카메라 모듈(100)은 외부 대상체에 대한 이미지를 획득하는 이미지 센서(130)와 이미지 센서(130)가 취득한 이미지를 이미지 생성부(200)로 전송하는 전송부(140)를 포함하고 있으며, 이미지 생성부(200)는 전송부(140)가 송신한 이미지를 수신하고 이를 프로세서(220)로 송신하는 수신부(210), 수신부(210)로부터 수신한 이미지를 딥 러닝 트레이닝을 수행한 결과 도출된 알고리즘을 적용시켜 수신한 이미지의 해상도와 다른 해상도를 가지는 이미지를 생성하는 프로세서(220) 및 프로세서(220)가 생성한 이미지를 수신하고 외부 장치로 송신하는 출력부(230) 등을 포함할 수 있다. 프로세서(220)는 딥 러닝 기반 알고리즘을 이용하여 학습된 프로세서일 수 있다.
구체적으로, 이미지 센서(130)는 카메라 모듈의 렌즈(120)를 통해 들어오는 빛을 전기 신호로 변화하는 CMOS(Complementary Metal Oxide Semiconductor) 또는 CCD(Charge Coupled Device)와 같은 이미지 센서를 포함할 수 있다.
전송부(140)는 이미지 센서(130)가 취득한 이미지를 이미지 생성 장치(200)의 수신부(210)로 전송할 수 있다. 도 1에서는 전송부(140)와 이미지 센서(130)과 구별되는 구성 요소로 도시하였지만, 이에 한정되는 것은 아니고 후술할 전송부(140)의 역할을 이미지 센서(130)가 동시에 수행할 수도 있다.
구체적으로, 전송부(140)는 이미지 센서(130)가 취득한 이미지에서 베이어 패턴(Bayer Pattern)의 정보를 추출한 후, 이에 대한 정보를 수신부(210)로 전송할 수 있다.
이미지 생성부(200)는 전송부(140)가 송신한 이미지를 수신하고 이를 프로세서(220)로 송신하는 송신부(210), 송신부(210)로부터 수신한 이미지를 딥 러닝(Deep Learning) 트레이닝에 의해 생성된 알고리즘을 이용하여 더 높은 해상도를 가지는 이미지를 생성하는 프로세서(220) 및 프로세서(220)가 생성한 이미지를 수신하고 외부로 송신하는 출력부(230) 등을 포함할 수 있다.
구체적으로, 프로세서(220)는 수신부(210)로부터 제1해상도를 가지는 베이어 이미지를 수신한 후, 딥 러닝 트레이닝에 의해 생성된 알고리즘을 이용하여, 제2해상도를 가지는 베이어 이미지를 생성한 후, 생성된 제2베이어 이미지를 출력부(230)로 전송할 수 있다.
여기서, 제2해상도는 제1해상도와는 다른 해상도 값을 가지는 해상도를 의미하며, 구체적으로 제1해상도 보다 더 높은 해상도를 의미할 수 있다. 제2해상도가 가질 수 있는 해상도 값은 사용자의 목적에 따라 사용자가 자유롭게 설정 변경할 수 있다.
따라서, 일 실시예에 따른 카메라 모듈(100)은 도면에는 도시하지 않았으나 제2해상도에 대한 정보를 입력 받는 입력부를 더 포함할 수 있으며, 사용자는 이를 통해 원하는 해상도에 대한 정보를 카메라 모듈(100)로 입력할 수 있다.
예를 들어, 사용자는 해상도가 높은 이미지를 얻고 싶은 경우, 제2해상도를 제1해상도와 차이가 많이 존재하는 해상도로 설정할 수 있으며, 비교적 빠른 시간 내에 새로운 이미지를 취득하고 싶은 경우, 제1해상도와 해상도의 차이가 많이 나지 않은 해상도로 제2해상도 값을 자유롭게 설정할 수 있다.
또한, 프로세서(220)는 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령이 저장된 메모리(Memory, 미도시)를 통해 구현될 수 있다.
구체적으로, 메모리는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리(115)는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다.
통상적인 카메라 장치 혹은 카메라 모듈은 이미지 센서로부터 베이어 패턴을 전달받아 색을 입히는 과정(색 보간 과정, Color Interpolation 혹은 Demosaicing)을 거쳐 이미지 형태의 데이터를 출력하는데, 일 실시예에 따른 전송부(140)는 이미지 센서(130)로부터 수신한 이미지에서 베이어 패턴(Bayer Pattern) 정보를 포함하고 있는 정보를 추출하고 추출된 정보를 외부로 송신할 수 있다.
여기서 베이어 패턴은 카메라 장치 또는 카메라 모듈(100)에 포함된 광 신호를 전기 신호로 변환하는 이미지 센서(130)가 출력하는 가공되지 않은 데이터(Raw Data)를 포함할 수 있다.
이에 대해 구체적으로 설명하면, 카메라 모듈(100)에 포함된 렌즈(120)를 통해 전달되는 광 신호는 R, G, B 색상을 검출할 수 있는 이미지 센서에 배치된 각 화소를 통해 전기 신호로 변환될 수 있다.
만약 카메라 모듈(100)의 사양이 500만 화소라고 한다면, R, G, B 색상을 감지할 수 있는 화소가 500만개 포함된 이미지 센서가 포함되어 있다고 생각할 수 있다. 화소 수가 500만개이지만, 실제로 각각의 색(color)을 감지하는 것이 아니라 흑백의 밝기만을 감지하는 단색(monochrome) 화소가 R, G, B 필터 중 어느 하나와 결합된 형태로 볼 수 있다.
즉, 이미지 센서는 화소수 만큼 배열된 단색 화소 셀들 위에 R, G, B 색상 필터들이 특정한 패턴을 가지고 배치되어 있다. 따라서, R, G, B 색상 패턴이 사용자(즉, 인간)의 시각 특성에 따라 교차하며 배치되는데 이를 베이어 패턴(Bayer Pattern)이라고 부른다.
일반적으로 베이어 패턴은 이미지 형태의 데이터 보다 데이터의 양이 작다. 따라서, 고사양의 프로세서를 가지고 있지 않은 카메라 모듈이 장착된 장치라 하더라도 이미지 형태의 데이터보다 비교적 빠르게 베이어 패턴의 이미지 정보를 전송하고 수신할 수 있으며, 이를 기초로 다양한 해상도를 가지는 이미지로 변환시킬 수 있는 장점이 존재한다.
일 예로, 카메라 모듈이 차량에 탑재되어, 카메라 모듈이100Mbit/s 의 전이중(Full-duplex) 전송 속도를 가지는 저전압 차등 신호 방식(LVDS)이 이용되는 환경 내에서도 이미지 처리를 하는데 많은 프로세서가 필요하지 않아 과부하가 걸리지 않아 차량을 이용하는 운전자 또는 운전자의 안전에 위해가 되지 않을 수 있다.
또한, 차량 내 통신망에 의해 전달되는 데이터의 크기를 줄일 수 있어 자율 주행 차량에 적용하더라도 차량에 배치된 복수의 카메라의 작동에 따른 통신 방식, 통신 속도 등에 의해 발생하는 문제를 제거할 수 있는 효과가 존재한다.
또한, 전송부(140)는 수신부(210)에 베이어 패턴의 이미지 정보를 송신함에 있어, 베이어 패턴 형태의 프레임을 이미지 센서(130)로 부터 수신한 후, 1/n 크기로 다운 샘플링 한 후의 정보를 송신할 수 있다.
구체적으로, 전송부(140)는 다운샘플링 이전에 수신된 베이어 패턴의 데이터에 대해 가우시안 필터(Gaussian Filter) 등을 통한 스무딩(smoothing)을 수행한 뒤 다운 샘플링을 수행할 수 있다. 그 후 다운 샘플링된 영상 데이터를 기반으로 프레임 패킷을 생성한 후, 완성된 프레임 패킷을 수신부(210)로 송신할 수 있다. 다만, 이러한 기능은 전송부(140)가 아닌 프로세서(220)에 한꺼번에 같이 수행될 수도 있다.
또한, 전송부(140)는 저전압 차등 시그널링 방식(LVDS)와 같은 시리얼 통신 방식으로 베이어 패턴 정보를 송신하기 위해 베이어 패턴을 직렬 데이터로 변환하는 시리얼라이져(Serializer, 미도시)를 포함할 수 있다.
시리얼라이저는 통상적으로 데이터를 일시적으로 저장하는 버퍼 및 송신되는 데이터의 주기를 형성하는 위상동기루프(PLL)를 포함하거나 함께 구현될 수 있다.
지금까지 일 실시예에 따른 카메라 모듈(100)의 일반적인 구성 요소에 대해 알아보았다. 이하 프로세서(220)에 적용되는 알고리즘의 생성 방법 및 특징에 대해 알아본다.
일 실시예에 따른 카메라 모듈(100)의 프로세서(220)에 적용되는 알고리즘은, 입력된 이미지의 해상도보다 더 높은 해상도를 가지는 이미지를 생성하는 알고리즘으로서, 딥 러닝 트레이닝을 반복적으로 수행하여 생성된 최적의 알고리즘을 의미할 수 있다.
딥 러닝이란, 심층 학습으로 표현되기도 하는데, 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습(machine learning)에 관한 알고리즘의 집합을 의미한다.
구체적으로, 딥 러닝은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)에 대한 학습 기법으로, DNN(Deep Neural Networks) 및 DBN(Deep Belief Networks)등의 학습 기법을 포함할 수 있다.
일 예로, 딥 러닝은 먼저 주변 환경을 인지하고 현재 환경 상태를 프로세서에 전달할 수 있다. 프로세서는 이에 맞는 행동(Action)을 수행하고 환경은 다시 그 행동에 따른 보상치를 프로세서에게 알려준다. 그리고 프로세서는 보상치를 최대로 하는 행동을 택하게 된다. 이러한 과정에 통해 학습 과정이 반복적으로 진행될 수 있다.
앞서 설명한대로 딥 러닝을 수행 하면서 이용되는 학습 데이터는, 실제 해상도가 낮은 베이어 이미지를 해상도가 높은 베이어 이미지로 변환해 가면서 얻은 결과일 수도 있으며, 시뮬레이션을 통해 얻은 정보일 수도 있다.
만약, 시뮬레이션 과정을 수행하는 경우 시뮬레이션의 환경에 맞추어(이미지의 배경, 색상의 종류 등) 조정함으로써 보다 빠르게 데이터를 획득할 수 있다. 이하 도 3과 도 4를 통해 일 실시예에 따른 프로세서(220)에 적용되는 알고리즘이 생성되는 방법에 대해 구체적으로 알아본다.
도 3은 일 실시예에 따른 딥 러닌 트레이닝의 수행 과정을 도시한 도면이고 도 4는 다른 실시예에 따른 딥 러닌 트레이닝의 수행 과정을 도시한 도면이다.
도 3의 딥 러닝은 심층 신경망(Deep Neural Network, DNN) 알고리즘이 적용된 딥 러닝으로서, DNN 알고리즘이 적용됨에 따라 새로운 해상도를 가지는 이미지를 생성하는 과정을 도시한 도면이다.
심층 신경망(DNN)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)이 존재하는 심층(deep) 신경망, 동물의 시각 피질의 구조와 유사하게 뉴런 사이의 연결 패턴을 형성하는 컨볼루션(convolutional) 신경망, 시간에 따라 매순간마다 신경망을 쌓아 올리는 재귀(recurrent) 신경망으로 구체화될 수 있다.
구체적으로 DNN은 컨볼루션(Convolution)과 서브 샘플링(Sub-Sampling)을 반복하여 데이터의 양을 줄이고, 왜곡시켜 신경망을 분류한다. 즉, DNN은 특징 추출과 분류 행위를 통해 부류 결과를 출력하는데, 주로 이미지를 분석하는데 사용되며, 컨볼루션은 영상 필터링을 의미한다.
도 3을 참조하여 DNN 알고리즘이 적용된 프로세서(220)가 수행하는 과정을 설명하면, 프로세서(220)는 수신부(210)로부터 수신한 제1해상도를 가지는 베이어 이미지(10)를 기초로 배율을 높이고자 하는 영역에 대해 컨볼루션과 서브 샘플링(Sub-Sampling)을 수행한다.
배율을 높인다는 것은, 이미지 센서(130)가 취득한 이미지 중에서 특정 부분만을 확대하는 것을 의미한다. 따라서, 사용자에 의해 선택되지 않은 부분은 사용자가 관심이 없어 하는 부분이므로 해상도를 높이는 과정을 수행할 필요가 없으므로 사용자에 의해 선택된 부분에 대해서만 컨볼루션과 서브 샘플링 과정을 수행할 수 있다.
서브 샘플링은 영상의 크기를 줄이는 과정을 의미한다. 일 예로 서브 샘플링은 맥스-풀(Max Pool) 방법을 사용할 수 있다. 맥스-풀은 해당 영역에서 최대치를 선택하는 기법인데 뉴런이 가장 큰 신호에 반응하는 것과 유사하다. 서브 샘플링은 노이즈를 감소시키고, 학습의 속도를 증가시킬 수 있는 장점이 존재한다.
컨볼루션과 서브 샘플링이 수행되면, 도 3에 도시된 바와 같이 복수 개의 이미지(20)가 출력될 수 있다. 그 후 출력된 이미지들을 기초로 업 스케일(Up Scale) 방식으로 이용하여 서로 다른 특징을 가지는 복수 개의 이미지를 출력시킬 수 있다. 업 스케일 방식은 서로 다른 r^2개의 필터를 이용하여 이미지를 r*r 배로 스케일을 높이는 것을 의미한다.
업 스케일에 따라 복수 개의 이미지가 도3에 도시된 바와 같이 출력되면(30), 프로세서(220)는 이러한 이미지들을 기초로 재조합을 하여 최종적으로 제2해상도를 가지는 제2베이어 이미지(40)를 출력할 수 있다.
도 4의 딥 러닝은 도 3의 딥 러닝과 다른 방식으로 딥 러닝을 수행하는 방법을 도시한 도면으로서, 구체적으로 반복적 학습에 의해 형성되는 알고리즘의 생성 과정에 대해 설명한 도면이다.
도 4에 따른 딥 러닝의 경우, 서로 상이한 해상도를 갖는 제1 샘플 데이터(X)와 제2 샘플 데이터(Z)를 입력 받은 후 이를 기초로 딥 러닝 트레이닝을 수행할 수 있다.
구체적으로, 도 4에 따른 딥 러닝은 제1 샘플 데이터(X)를 입력 데이터로 하여 딥 러닝 트레이닝을 수행한 출력 데이터(Y)와 제2샘플 데이터(Z)를 비교하고 분석하여 생성된 파라미터를 기초로 더 높은 해상도를 가지는 이미지를 생성하는 알고리즘을 생성할 수 있다.
여기서 출력 데이터(Y)는 실제 딥 러닝을 통해 출력된 데이터이고, 제2샘플 데이터(Z)는 사용자가 입력하는 데이터로서, 제1샘플 데이터(X)를 알고리즘에 입력 하였을 때, 가장 이상적으로 출력될 수 있는 데이터를 의미할 수 있다.
따라서, 도 4에 따른 알고리즘은 출력 결과로서 가장 이상적인 제2샘플 데이터(Z)와 실제 출력 데이터인 제1출력 데이터(Y)를 비교하고 분석하여 차이점을 도출해 낸 후, 차이점을 상쇄하는 방향으로 알고리즘에 피드백을 줄 수 있다.
구체적으로, 출력 데이터에 영향을 주는 파라미터를 분석한 후, 파리미터를 변경하거나 삭제 또는 새로운 파라미터를 생성하는 방식으로 피드백을 주어 이상적인 출력 데이터인 제2샘플 데이터(Z)와 실제 출력 데이터인 제1출력 데이터(Y)의 차이가 없도록 할 수 있다.
일 예로 도 4에 도시된 바와 같이 알고리즘에 영향을 주는 레이어가 총 3개이고(L1, L2, L3) 각각의 레이어에 총 8개의 파라미터(P11, P12, P13, P21, P22, P31, P32)가 존재한다고 가정한다.
이러한 경우에 P22 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 실제 출력된 데이터 제1출력 데이터(Y)와 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)의 차이가 증가한다면, 피드백은 P22 파라미터를 감소시키는 방향으로 알고리즘을 변경할 수 있다.
이와 반대로, P33 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 실제 출력된 데이터 제1출력 데이터(Y)와 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)의 차이가 감소하였다면, 피드백은 P33 파라미터를 증가시키는 방향으로 알고리즘을 변경할 수 있다.
즉, 이러한 방법을 통해 딥 러닝이 적용된 알고리즘은 실제 출력되는 제1출력 데이터(Y)가 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)와 유사하게 출력되도록 할 수 있다.
그리고 이 경우, 제2샘플 데이터(Z)의 해상도는 제1출력 데이터(Y)의 해상도와 동일하거나 높을 수 있으며, 제2샘플 데이터(Z)의 해상도는 제1출력 데이터(Y)의 해상도와 동일할 수 있다.
일반적으로, 딥 러닝을 할 수 있는 프로세서를 소형의 칩으로 구현하기 위해서는 딥 러닝의 프로세스와 메모리 게이트(gate) 수가 최소화가 되어야 하는데, 여기서 게이트 수에 가장 크게 영향을 주는 요소는 알고리즘 복잡도와 클럭(Clock) 당 처리되는 데이터 양이며, 프로세서가 처리하는 데이터의 양은 입력 해상도에 따라 달라진다.
따라서, 일 실시예에 따른 프로세서(220)는 게이트의 수를 줄이기 위해 입력 해상도를 줄인 후에 나중에 업 스케일링(Up Scailing) 하는 방식으로 고배율의 이미지를 생성하므로 보다 빠르게 이미지를 생성할 수 있는 장점이 존재한다.
예를 들어, 입력 해상도가 8Mp(Mega Pixel)인 이미지를 2배 줌을 해야 한다면 1/4 영역 (2Mp)을 기초로 가로와 세로를 각각 2배씩 업 스케일링(Up scailing) 하여 2배 줌을 한다. 그리고 1/4영역(2Mp)을 1/4 다운 스케일링(down scaling) 하여 해상도가 0.5Mp인 이미지를 딥 러닝 처리 입력 데이터로 사용한 후에, 생성된 이미지를 기초로 가로와 세로를 각각 4배씩 업 스케일링(Up scailing) 하는 방식으로 4배 줌을 하면 2배줌을 한 것과 동일한 영역의 줌 영상을 생성할 수 있다.
따라서, 일 실시예에 따른 카메라 모듈(100) 및 이미지 생성 방법은 입력 해상도 손실에 따른 성능 저하를 방지하기 위해 딥 러닝이 해상도 손실에 대응되는 배율만큼 학습을 시켜서 이미지를 생성하므로, 성능 저하를 최소화할 수 있는 장점이 존재한다.
또한, 고해상도의 이미지를 구현하기 위한 딥 러닝 기반의 알고리즘들은 일반적으로 프레임 버퍼(Frame Buffer)를 사용하는데, 프레임 버퍼의 경우 일반 PC 및 서버에서는 그 특성상 실시간 구동이 어려울 수 있다.
그러나, 일 실시예에 따른 프로세서(220)는 딥 러닝을 통해 이미 생성되어 있는 알고리즘 적용하므로 저사양 카메라 모듈 및 이를 포함하는 여러 장치 들에서 쉽게 적용이 가능하며, 이러한 알고리즘을 구체적으로 적용함에 있어서 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하므로, 비교적 크기가 작은 소형 칩(Chip)으로 프로세서를 구현할 수 있는 효과 또한 존재한다.
도5는 일 실시예에 따른 프로세서(220)의 일부 구성 요소를 도시한 블럭도이다.
도 5를 참조하면, 일 실시예에 따른 프로세서는 제1베이어 데이터를 수신하는 복수 개의 라인 버퍼(11), 라인 버퍼를 통해 출력된 제1베이어 데이터를 파장대역 별로 배열하는 제1배열 데이터를 생성하는 제1데이터 정렬부(221), 미리 설정되어 있는 알고리즘에 따라 딥 러닝을 수행하는 딥 러닝 프로세서(222), 딥 러닝 프로세서(222)를 통해 출력된 제2배열 데이터를 베이어 패턴으로 배열하여 제2베이어 데이터를 생성하는 제2데이터 정렬부(223) 및 제2데이터 정렬부(223)를 통해 출력된 제2베이어 데이터를 출력하는 복수 개의 라인 버퍼(12)를 포함할 수 있다.
제1베이어 데이터는 앞서 설명한 베이어 패턴을 포함하고 있는 정보로서, 도 5에서 배이어 데이터로 기술하였지만, 베이어 이미지 또는 메이어 패턴으로 정의 될 수도 있다.
또한, 도 5에서는 제1데이터 정렬부(221)와 제2데이터 정렬부(223)를 편의상 별개의 구성요소로 도시하였지만 이에 한정되는 것은 아니고, 딥러닝 프로세서(222)가 후술할 에서는 제1데이터 정렬부(221)와 제2데이터 정렬부(223)가 수행하는 기능을 같이 수행할 수도 있다.
도 5를 참고하면, 이미지 센서(110)에 의해 수신된 제1해상도를 가지는 제1베이어 데이터는 사용자에 의해 선택된 영역에 대한 이미지 정보를 (n+1)개의 라인 버퍼(11a, 11b, ~ 11n. 11n+1)로 전송될 수 있다. 앞서 설명한 바와 같이 사용자에 의해 선택된 영역에 대해서만 제2해상도를 가지는 베이어 이미지를 생성하므로 사용자에 의해 선택되지 않은 영역에 대한 이미지 정보는 라인 버퍼(11)로 송신되지 않는다.
구체적으로, 제1베이어 데이터는 복수개의 행 데이터를 포함하고 있고, 이러한 복수 개의 행 데이터는 복수 개의 라인 버퍼(11)를 통해 제1데이터 정렬부(221)로 송신될 수 있다.
예를 들어, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 3 X 3 영역이라면 총 3개의 라인이 제1데이터 정렬부(221) 또는 프로세서(220)로 동시에 송신이 되어야 딥 러닝을 수행할 수 있다. 따라서, 3개의 라인 중 첫 번째 라인에 대한 정보는 제1라인버퍼(11a)로 송신된 후, 제1라인버퍼(11a) 저장되며, 3개의 라인 중 두 번째 라인에 대한 정보는 제2라인버퍼(11b)로 송신된 후, 제2라인버퍼(11b) 저장될 수 있다.
그 후 세 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 프로세서(220) 또는 제1데이터 정렬부(221)로 송신될 수 있다.
이 때 제1데이터 정렬부(221) 또는 프로세서(220)는 3개의 라인에 대한 정보를 동시에 수신해야 하므로 제1라인 버퍼(11a)와 제2라인 버퍼(11b)에 저장되어 있는 첫 번째 라인에 대한 정보와 두 번째 라인에 대한 정보도 동시에 프로세서(220) 또는 제1이미지 정렬부(219)로 송신될 수 있다.
이와 반대로, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 (N+1) x (N+1) 영역이라면 총 (N+1)개의 라인이 제1데이터 정렬부(221) 또는 프로세서(220)로 동시에 송신이 되어야 딥 러닝을 수행할 수 있다. 따라서, (N+1)개의 라인 중 첫 번째 라인에 대한 정보는 제1라인버퍼(11a)로 송신된 후, 제1라인버퍼(11a) 저장되며, (N+1) 개의 라인 중 두 번째 라인에 대한 정보는 제2라인버퍼(11b)로 송신된 후, 제2라인버퍼(11b) 저장될 수 있으며, (N+1) 개의 라인 중 N 번째 라인에 대한 정보는 제N라인버퍼(11n)로 송신된 후, 제N라인버퍼(11n) 저장될 수 있다.
그 후 (N+1) 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 프로세서(220) 또는 제1데이터 정렬부(221)로 송신될 수 있으며, 앞서 설명한 바와 같이 이 때 제1데이터 정렬부(221) 또는 프로세서(220)는 N+1개의 라인에 대한 정보를 동시에 수신해야 하므로 라인 버퍼(11a~11n)에 저장되어 있는 첫 번째 라인부터 n번째 라인에 대한 정보도 동시에 프로세서(220) 또는 제1이미지 정렬부(219)로 송신될 수 있다.
제1이미지 정렬부(219)는 라인 버퍼(11)로부터 베이어 데이터를 수신한 후 베이어 데이터를 파장대역 별로 배열하여 제1배열 데이터를 생성한 후, 생성된 제1배열 데이터를 딥 러닝 프로세서(222)로 송신할 수 있다.
제 1이미지 정렬부(219)는 수신한 정보를 특정 파장 또는 특정 색상별(Red, Green, Blue)로 분류하여 배열한 제1배열 데이터를 생성할 수 도 있다.
그 후, 딥 러닝 프로세서(222)는 제1이미지 정렬부(219)를 통해 수신한 제1배열 데이터를 기초로 딥 러닝을 수행하여 제2배열 데이터를 생성할 수 있다.
구체적으로, 딥 러닝을 수행한다는 것은 앞서 도 3과 도4를 통해 설명한 바와 같이 최적의 알고리즘을 생성하기 위해 추론 또는 반복적 학습을 통해 알고리즘을 생성하는 과정을 의미할 수 도 있지만, 동시에 이러한 과정에 의해 생성된 알고리즘을 실행하는 것 또한 딥 러닝을 수행한다고 볼 수 있다.
따라서, 딥 러닝 프로세서(222)는 제1이미지 정렬부(219)를 통해 수신한 제1배열 데이터를 기초로 딥 러닝을 수행하여 제1해상보다 높은 해상도를 가지는 제2해상도를 가지는 제 2배열 데이터를 생성할 수 있다.
예를 들어, 앞서 설명한 바와 같이 3 x 3 영역에 대해 제1배열 데이터를 수신하였으면 3 x 3 영역에 대해서 딥 러닝을 수행하고, (n+1) x (n+1) 영역에 대해 제1배열 데이터를 수신하였으면 (n+1) x (n+1) 영역에 대해서 딥 러닝을 수행할 수 있다.ㅏ
그 후, 딥 러닝 프로세서(222)에 의해 생성된 제2배열 데이터는 제2데이터 정렬부(223)로 송신되며, 제2데이터 정렬부(223)는 제2배열 데이터를 베이어 패턴을 가지는 제2베이어 데이터로 변환시킬 수 있다.
그 후 변환된 제2베이어 데이터는 복수 개의 라인 버퍼(12a)를 통해 외부로 출력되며, 출력된 제2베이어 데이터는 또 다른 과정의 의해 제1해상보다 높은 해상도인 제2해상도를 가지고 있는 이미지로 생성될 수 있다.
도 6과 도 7은 프로세서(220)에 의해 제1해상도 이미지를 가지는 제1베이어 이미지가 제2해상도를 가지는 제2베이어 이미지로 변환된 모습을 도시한 도면이다.
제1해상도를 가지는 베이어 이미지(10)에서 사용자가 특정 영역을 선택한 경우, 그 영역에 대해 프로세서(220)는 이미지 변환 과정을 수행할 수 있고, 수행한 결과 도 6과 도 7에 도시된 바와 같이 제2해상도를 가지는 베이어 이미지(40)가 생성될 수 있다.
도8은 일 실시예에 따른 이동 단말 장치(400)의 일부 구성 요소를 도시한 블럭도이다.
도 8을 참조하면, 일 실시예에 따른 이동 단말 장치(400)는, 필터(110), 렌즈(120), 이미지 센서(130), 송신부(140), 드라이버 IC(150), 액츄이에터(160), 수신부(210), 프로세서(220), 출력부(230) 및 ISP(310)를 포함하고 있는 AP(300)를 포함할 수 있다.
이미지 센서(130), 송신부(140), 수신부(210), 프로세서(220) 및 출력부(230)는 도 1과 도 2에서 설명한 구성과 동일한 역할을 하는 구성 요소이므로 이에 대한 설명은 생략한다.
필터(110)는 외부로부터 유입되는 빛을 선택적으로 차단하는 역할을 하며, 일반적으로 렌즈(120)의 상부에 위치할 수 있다.
렌즈(120)는 유리와 같이 투명한 물질의 면을 구면으로 곱게 갈아 물체로부터 오는 빛을 모으거나 발산시켜 광학적 상을 맺게 하는 장치로서, 카메라 모듈(100)에 사용되는 일반적인 렌즈(120)는 복수 개의 서로 다른 특징을 가지는 렌즈를 구비할 수 있다.
드라이버 IC(150, Driver IC)는 화면에 문자나 영상 이미지가 표시되도록 패널에 구동신호 및 데이터를 전기신호로 제공하는 반도체(IC)를 의미하며, 후술하겠지만 드라이버 IC는 이동 단말 장치(400)의 다양한 위치에 배치될 수 있다. 또한 드라이버 IC(150m Driver IC)는 액츄에이터(160)를 구동할 수 있다.
액츄에이터는 렌즈 또는 렌즈를 포함하는 경통의 위치를 조절하여 초점을 조절할 수 있다. 예를들어 액츄에이터(160)는 VCM(Voice Coil Motor) 방식일 수 있다. 렌즈(120)는 가변 초점 렌즈를 포함할 수도 있다. 가변 초점 렌즈를 포함하는 경우 드라이버 IC는 가변 초점 렌즈를 구동할 수 있다. 예를들어 렌즈는 액체를 포함하는 액체 렌즈를 포함할 수 있으며 이 경우 드라이버 IC는 액체 렌즈의 액체를 조절하여 초점을 조절 할 수 있다.
AP(300, Application Processor)는 모바일용 메모리 칩으로 이동 단말 장치(400)에서 각종 어플리케이션 작동과 그래픽 처리를 담당하는 핵심 반도체를 의미한다. AP(300)는 컴퓨터의 중앙처리장치(CPU)의 기능과 메모리, 하드디스크, 그래픽 카드 등 기타 장비의 연결을 제어하는 칩셋의 기능을 모두 포함하고 있는 SoC(System on Chip) 형태로 구현될 수 있다.
영상 신호 처리부(ISP, Image Signal Processing, 300)는 MIPI(Mobile Industry Processor Interface) 통신을 이용하여 프로세서(220)가 생성한 제2베이어 이미지를 수신하고 영상 신호 처리 과정을 수행할 수 있다.
영상 신호 처리부(300)부는 영상 신호를 처리하면서 복수의 서브 과정을 포함할 수 있다. 예를 들어, 수신한 영상에 대해 감마값 보정(gamma correction), 색채 보정(color correction), 자동 노출(auto exposure correction), 자동 화이트값 보정(auto white balance) 과정 중에서 하나 이상을 포함할 수 있다.
도9내지 도 11은 이동 단말 장치(400) 내부에서 드라이버 IC(150)와 프로세서(220)가 배치될 수 있는 다양한 실시 예를 블럭도로 표시한 도면이다.
도 9 내지 도 11에 도시된 각각의 구성 요소들은 앞서 자세히 설명하였는바 더 이상 설명하지 않고 드라이버 IC(150)와 프로세서(220)가 배치될 수 있는 위치에 대해 중심으로 설명한다.
일 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 7에 도시된 바와 같이 카메라 모듈(100) 안에서 각각 별개의 모듈로 독립적으로 구현될 수 있다.
구체적으로, 프로세서(220)는 칩 형태로 구현되어 이미지 생성부(200)에 포함될 수 있으며, 드라이버 IC(150)는 이미지 생성부(200) 및 프로세서(220)와 독립적으로 별개의 칩으로 구현될 수 있다.
도 9에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230)을 역할을 동시에 수행할 수 도 있다.
도 9와 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 이미지 생성부(200)가 구현된 칩을 기존 카메라 모듈에 삽입하는 방식으로 본 기술을 적용시킬 수 있어, 기존 카메라 모듈이 가지고 있는 구조와 상관없이 본 기술을 실시할 수 있는 효과가 존재한다.
다른 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 8에 도시된 바와 같이 카메라 모듈(100)에 포함되어 있는 이미지 생성부(200) 내에서 하나의 모듈로 같이 구현될 수 있다.
구체적으로, 이미지 생성부(200)는 하나의 칩으로 구현될 수 있는데, 이러한 경우 이미지 생성부(200)가 드라이버 IC(150) 및 프로세서(220)가 하는 역할을 동시에 수행할 수 있다.
도 10에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)와 드라이버 IC(150)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230) 및 드라이버 IC(150)의 역할을 동시에 수행할 수 도 있다.
도 10과 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 하나의 칩을 이용해 드라이버 IC(150)가 하는 역할과 프로세서(220)가 하는 역할을 동시에 수행할 수 있으므로 보다 경제적으로 카메라 모듈(100)을 제작할 수 있는 효과가 존재한다.
또 다른 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 9에 도시된 바와 같이 드라이버 IC(150)는 카메라 모듈(100) 내부에 장착되고, 프로세서(220)는 카메라 모듈(100)과 별개로 이동 단말 장치(400) 내부에 배치될 수 있다.
구체적으로, 프로세서(220)는 칩 형태로 구현되어 이미지 생성부(200)에 포함될 수 있으며, 드라이버 IC(150)는 이미지 생성부(200) 및 프로세서(220)와 독립적으로 구현되면서 카메라 모듈(100) 내부에 배치될 수 있다.
도 11에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230)을 역할을 동시에 수행할 수 도 있다.
도 11과 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 이미지 생성부(200)가 구현된 칩을 기존 카메라 모듈에 삽입하는 방식으로 본 기술을 실시할 수 있어, 기존 카메라 모듈이 가지고 있는 구조와 상관없이 본 기술을 실시할 수 있는 장점이 존재한다. 또한, 고이미지 센서에 비해 모듈 자체의 두께를 줄일 수 있는 효과가 존재한다.
도 12는 일 실시예에 따른 이미지 생성 방법의 순서를 도시한 순서도이다.
도 12를 참조하면, 이미지 센서(130)로부터 제1해상도를 가지는 제1베이어 이미지를 수신할 수 있다.(S110)
그 후, 사용자로부터 제2해상도에 대한 정보를 수신할 수 있다. 도면에는 도시하지 않았지만, 사용자로부터 별도의 입력 장치를 통해 제2해상도에 대한 정보를 수신할 수 있다. (S120)
사용자로부터 제2해상도에 대한 정보를 수신하였으면, 그 후 사용자가 설정한 제2해상도를 가지는 베이어 이미지를 생성하도록 딥 러닝을 통해 생성된 알고리즘을 이용하여 제2베이어 이미지를 생성할 수 있다.(S130, S140)
지금까지 도면을 통해 카메라 모듈(100) 및 이를 포함하는 이동 단말 장치(400)와 이미지 생성 방법에 대해 알아보았다.
고해상도를 구현하기 위한 딥 러닝 기반의 알고리즘의 경우 프레임 버퍼(Frame Buffer)를 사용하면 일반 PC 및 서버에서는 실시간 구동이 어려운 문제가 존재한다. 그러나 일 실시예에 따른 카메라 모듈 및 이를 포함하는 이동 단말 장치와 이미지 생성 방법은 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하므로 비교적 크기가 작은 소형 칩(Chip)으로 구현할 수 있는 장점이 존재한다.
또한, 본 기술이 적용된 칩은 소형의 크기로 제작될 수 있어 탑재되는 장치의 사용 목적에 따라 다양한 위치에 다양한 방식으로 탑재될 수 있어, 설계의 자유도가 증가하며, 딥 러닝에 의해 생성된 알고리즘이 착용된 프로세서를 이용하여 고가의 프로세서가 필요하지 않아 보다 경제적으로 고해상도 이미지를 생성할 수 있는 장점이 존재한다.
또한, 간단한 칩을 카메라 모듈에 탑재하는 방식으로 본 기술의 실시가 가능하므로, 줌 기능이 없는 카메라 모듈 또는 특정 배율에 대한 고정 줌만 지원하는 카메라 모듈에 대해 본 기술을 적용시켜 연속 줌 기능을 사용할 수 있다.
또한, 특정 배율에 대해 광학적으로 연숙 줌만 지원하는 카메라 모듈에도 본 기술을 적용시켜 더 넓은 배율 구간에서 연속 줌 기능을 활용할 수 있는 효과가 존재한다.
지금까지 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 실시 예들 및 특허 청구 범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 카메라모듈
110: 이미지 센서
120: 송신부
200: 이미지 생성 장치
210: 수신부
220: 프로세서
230: 출력부
300: AP
310: ISP
400: 이동 단말 장치

Claims (10)

  1. 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서; 및
    상기 제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함하고,
    상기 제2 베이어 데이터를 Image Signal Processor로 출력하고,
    상기 프로세서는 상기 Image Signal Processor와 별도의 프로세서인 카메라 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하도록 학습된 컨볼루션 신경망을 포함하는 카메라 장치.
  3. 제2항에 있어서,
    상기 컨볼루션 신경망의 트레이닝 세트는,
    제1 해상도를 가지는 제1 베이어 데이터 및 제2 해상도를 가지는 제2 베이어 데이터를 포함하는 카메라 장치.
  4. 제1항에 있어서,
    상기 제2 해상도는 상기 제1 해상도보다 높은 카메라 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    라인버퍼를 이용하여 제1 베이어 데이터를 파장대역 별로 배열한 배열 데이터를 생성한 후, 생성된 배열 데이터를 기초로 제2 베이어 데이터를 생성하는 카메라 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 베이어 데이터를 수신하는 수신부; 및
    상기 제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 콘볼루션 신경망을 포함하는 카메라 장치.
  7. 제1 해상도를 가지는 제1 베이어 데이터를 입력받는 단계; 및
    학습된 콘볼루션 신경망을 이용하여 상기 제1 베이어 데이터로부터 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 단계를 포함하고,
    상기 제2 베이어 데이터를 Image Signal Processor로 출력하는 방법.
  8. 제7항에 있어서,
    상기 제1 베이어 데이터는 이미지 센서로부터 출력되는 데이터인 방법.
  9. 제7항에 있어서,
    상기 콘볼루션 신경망의 트레이닝 세트는,
    제1 해상도를 가지는 제1 베이어 데이터 및 제2 해상도를 가지는 제2 베이어 데이터를 포함하는 방법.
  10. 제7항에 있어서,
    상기 제2 베이어 데이터를 출력하는 단계는,
    라인버퍼를 이용하여 제1 베이어 데이터를 파장대역 별로 배열한 배열 데이터를 생성한 후, 생성된 배열 데이터를 기초로 제2 베이어 데이터를 생성하는 방법.
KR1020190070298A 2019-06-13 2019-06-13 카메라 장치 및 카메라 장치의 이미지 생성 방법 KR102242939B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020190070298A KR102242939B1 (ko) 2019-06-13 2019-06-13 카메라 장치 및 카메라 장치의 이미지 생성 방법
EP20823426.0A EP3985961A4 (en) 2019-06-13 2020-06-15 CAMERA DEVICE AND METHOD FOR GENERATING CAMERA DEVICE IMAGES
JP2021572932A JP2022536327A (ja) 2019-06-13 2020-06-15 カメラ装置及びカメラ装置のイメージ生成方法
US17/617,832 US20220253978A1 (en) 2019-06-13 2020-06-15 Camera device and image generation method of camera device
CN202080057178.3A CN114270799B (zh) 2019-06-13 2020-06-15 相机装置以及相机装置的图像生成方法
PCT/KR2020/007738 WO2020251337A1 (ko) 2019-06-13 2020-06-15 카메라 장치 및 카메라 장치의 이미지 생성 방법
TW109120316A TW202105028A (zh) 2019-06-13 2020-06-15 相機裝置及相機裝置之影像產生方法
KR1020210049188A KR102371944B1 (ko) 2019-06-13 2021-04-15 카메라 장치 및 카메라 장치의 이미지 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190070298A KR102242939B1 (ko) 2019-06-13 2019-06-13 카메라 장치 및 카메라 장치의 이미지 생성 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210049188A Division KR102371944B1 (ko) 2019-06-13 2021-04-15 카메라 장치 및 카메라 장치의 이미지 생성 방법

Publications (2)

Publication Number Publication Date
KR20200142875A KR20200142875A (ko) 2020-12-23
KR102242939B1 true KR102242939B1 (ko) 2021-04-21

Family

ID=74089148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190070298A KR102242939B1 (ko) 2019-06-13 2019-06-13 카메라 장치 및 카메라 장치의 이미지 생성 방법

Country Status (1)

Country Link
KR (1) KR102242939B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022255866A1 (en) * 2021-06-01 2022-12-08 Cyclomedia Technology B.V. Method for training a neural network
US11941871B2 (en) 2021-07-30 2024-03-26 Deepx Co., Ltd. Control method of image signal processor and control device for performing the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850729B1 (ko) * 2000-07-06 2008-08-06 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 데이터 해상도를 향상시키는 방법 및 장치
KR102326165B1 (ko) * 2017-08-23 2021-11-16 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022255866A1 (en) * 2021-06-01 2022-12-08 Cyclomedia Technology B.V. Method for training a neural network
NL2028357B1 (en) * 2021-06-01 2022-12-13 Cyclomedia Tech B V Method for training a neural network
US11941871B2 (en) 2021-07-30 2024-03-26 Deepx Co., Ltd. Control method of image signal processor and control device for performing the same

Also Published As

Publication number Publication date
KR20200142875A (ko) 2020-12-23

Similar Documents

Publication Publication Date Title
US20210360179A1 (en) Machine learning based image adjustment
CN103428427B (zh) 影像尺寸重新调整方法以及影像尺寸重新调整装置
CN111353948A (zh) 一种图像降噪方法、装置及设备
KR102242939B1 (ko) 카메라 장치 및 카메라 장치의 이미지 생성 방법
CN115004680A (zh) 图像处理装置和图像处理方法
US20220417428A1 (en) Camera device and image generation method of camera device
EP4013039A1 (en) Image sensor, camera module, and optical device comprising camera module
KR102371944B1 (ko) 카메라 장치 및 카메라 장치의 이미지 생성 방법
KR102494123B1 (ko) 이미지 센서, 카메라 모듈 및 카메라 모듈을 포함하는 광학 기기
US20220253978A1 (en) Camera device and image generation method of camera device
KR20210044648A (ko) 영상 처리 장치 및 이를 포함하는 광학 기기
US20240119561A1 (en) Image processing device and image processing method
KR20210047070A (ko) 이미지 처리 장치 및 이미지 처리 방법
KR20220159852A (ko) 이미지 처리 모듈
US11363209B1 (en) Systems and methods for camera zoom
WO2023283855A1 (en) Super resolution based on saliency
US20230232121A1 (en) Imaging device and imaging method
CN113079313B (zh) 图像处理装置、图像拾取装置、图像处理方法及存储介质
US20240144717A1 (en) Image enhancement for image regions of interest
WO2024091783A1 (en) Image enhancement for image regions of interest

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant