KR20220146900A - 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법 - Google Patents

휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법 Download PDF

Info

Publication number
KR20220146900A
KR20220146900A KR1020210053756A KR20210053756A KR20220146900A KR 20220146900 A KR20220146900 A KR 20220146900A KR 1020210053756 A KR1020210053756 A KR 1020210053756A KR 20210053756 A KR20210053756 A KR 20210053756A KR 20220146900 A KR20220146900 A KR 20220146900A
Authority
KR
South Korea
Prior art keywords
data
depth
processing circuit
image
neural network
Prior art date
Application number
KR1020210053756A
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 KR1020210053756A priority Critical patent/KR20220146900A/ko
Priority to US17/556,472 priority patent/US11978223B2/en
Priority to CN202210366193.7A priority patent/CN115249256A/zh
Publication of KR20220146900A publication Critical patent/KR20220146900A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/529Depth or shape recovery from texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/045Combinations of networks
    • G06N3/0454
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

심도(Depth) 정보를 생성하도록 구성된 전자 장치가 개시된다. 본 개시의 예시적 실시 예에 따른 전자 장치는, 하나 이상의 인스트럭션, 및 이미지 데이터을 저장하는 메모리, 및 상기 하나 이상의 인스트럭션을 실행함으로써 상기 이미지 데이터에 대한 상기 심도 정보를 생성하도록 구성된 적어도 하나의 처리 회로를 포함하고, 상기 적어도 하나의 처리 회로는, 상기 이미지 데이터의 휘도(Luminance) 데이터를 획득하고, 디스패리티(Disparity) 특징을 추출하도록 구성된 제1 인공 신경망을 이용하여 상기 휘도 데이터에 대한 절대 심도 데이터를 생성하고, 상기 절대 심도 데이터에 기초해 상기 심도 정보를 생성하도록 더 구성된 것을 특징으로 할 수 있다.

Description

휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법{ELECTRONIC DEVICE INCLUDING PROCESSING CIRCUIT FOR GENERATING DEPTH INFORMATION USING LUMINANCE DATA, AND DEPTH INFORMATION GENERATION METHOD}
본 개시의 기술적 사상은 심도 정보를 생성하는 처리 회로에 관한 것으로서, 상세하게는 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법에 관한 것이다.
CMOS(complementary metal-oxide semiconductor) 이미지 센서가 휴대용 전자 기기에 널리 탑재되면서, 다양한 촬상 환경에서도 선명한 이미지가 요구된다. 저조도 환경에서 선명한 이미지가 촬상되기 위해서는 피사체의 심도(Depth) 정보가 보다 정확히 요구된다.
심도 정보를 획득하기 위해 일반적으로 TOF(Time Of Flight) 센서가 이용되나 공간을 많이 차지하며 비용과 소비 전력이 증가하는 단점이 있고, 일반적인 RGB 기반의 CMOS 이미지 센서는 저조도에 취약하다.
본 개시의 기술적 사상이 해결하려는 과제는, 저조도에서도 정확한 심도 정보를 획득할 수 있는 처리 회로, 이를 포함하는 전자 장치, 및 심도 정보 생성 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 예시적 실시 예에 따른 심도(Depth) 정보를 생성하도록 구성된 전자 장치는 하나 이상의 인스트럭션, 및 이미지 데이터을 저장하는 메모리, 및 상기 하나 이상의 인스트럭션을 실행함으로써 상기 이미지 데이터에 대한 상기 심도 정보를 생성하도록 구성된 적어도 하나의 처리 회로를 포함하고, 상기 적어도 하나의 처리 회로는, 상기 이미지 데이터의 휘도(Luminance) 데이터를 획득하고, 디스패리티(Disparity) 특징을 추출하도록 구성된 제1 인공 신경망을 이용하여 상기 휘도 데이터에 대한 절대 심도 데이터를 생성하고, 상기 절대 심도 데이터에 기초해 상기 심도 정보를 생성하도록 더 구성된 것을 특징으로 할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 장치는, 복수의 광전 변환 소자들을 이용하여 객체를 센싱하고, 상기 복수의 광전 변환 소자들 중 적어도 두 개는 하나의 마이크로 렌즈를 공유함으로써 디스패리티(disparity)를 가지는 이미지 데이터를 생성하도록 구성된 이미지 센서, 하나 이상의 인스트럭션, 및 상기 이미지 데이터를 저장하는 메모리, 및 상기 하나 이상의 인스트럭션을 실행함으로써 상기 이미지 데이터에 대한 심도(Depth) 정보를 생성하도록 구성된 적어도 하나의 처리 회로를 포함하고, 상기 적어도 하나의 처리 회로는, 상기 이미지 데이터의 절대 심도를 추정하도록 구성된 제1 인공 신경망을 이용함으로써 상기 이미지 데이터에 대한 절대 심도 데이터를 생성하고, 상기 이미지 데이터에 상응하는 장면(Scene)의 모양에 기반하여 상대 심도를 추정하도록 구성된 제2 인공 신경망을 이용함으로써 상기 절대 심도 데이터에 대한 상대 심도 데이터를 생성하며, 제3 인공 신경망을 이용해 상기 절대 심도 데이터 및 상기 상대 심도 데이터를 결합시킴으로써 심도 정보를 생성하도록 더 구성된 것을 특징으로 할 수 있다.
본 개시의 예시적 실시 예에 따른 처리 회로의 이미지 데이터에 대한 심도(Depth) 정보 생성 방법은, 상기 이미지 데이터로부터 YUV 형식을 따르는 휘도(Luminance) 데이터를 메모리로부터 획득하는 단계, 상기 휘도 데이터에 대해 제1 인공 신경망을 이용해 디스패리티(Disparity) 특징 학습을 적용함으로써 절대 심도 데이터를 생성하는 단계, 제2 인공 신경망을 이용해 장면 학습을 적용함으로써 상대 심도 데이터를 생성하는 단계, 및 제3 인공 신경망을 이용해 상기 절대 심도 데이터 및 상기 상대 심도 데이터를 결합함으로써 심도 정보를 생성하는 단계를 포함할 수 있다.
본 개시의 예시적 실시 예에 따른 처리 회로는 YUV 데이터 중 휘도 데이터만을 인공 신경망에 학습시킴으로써 메모리 사용량 및 전력 소비량을 감축시킬 수 있다.
또한, 본 개시의 예시적 실시 예에 따른 처리 회로는 이미 YUV 형식으로 변환된 데이터를 RGB 형식으로 재변환할 필요가 없으므로 데이터 처리 속도를 향상시킬 수 있다.
또한, 본 개시의 예시적 실시 예에 따른 처리 회로는 휘도 데이터를 이용함으로써 저조도 환경에서도 심도 추정 정확도를 향상시킬 수 있다.
또한, 본 개시의 예시적 실시 예에 따른 처리 회로는 디스패리티가 작은 이미지 데이터에 대하여도 상대 심도를 고려해 심도를 추정할 수 있으므로 심도 추정의 정확도를 향상시킬 수 있다.
도 1은 본 개시의 예시적인 실시 예에 따른 처리 회로를 포함하는 전자 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적인 실시 예에 따른 심도 정보 생성 방법을 설명하는 흐름도이다.
도 3은 이미지 신호 처리기를 상세히 나타내는 블록도이다.
도 4a는 및 도 4b는 이미지 데이터의 RGB 형식과 YUV 형식의 변환 관계를 나타내는 도면이다.
도 5a 내지 도 5d는 YUV 형식을 따르는 이미지 데이터의 데이터 구조를 나타내는 도면이다.
도 6a 내지 도 6c는 본 개시의 예시적인 실시 예에 따른 처리 회로를 나타내는 블록도이다.
도 7a 내지 도 7c는 인공 신경망의 구조 및 동작을 설명하는 도면이다.
도 8은 본 개시의 예시적인 실시 예에 따른 디스패리티 특징 추출기의 구조를 나타내는 블록도이다.
도 9는 본 개시의 예시적인 실시 예에 따른 장면 네트워크 모듈의 구조를 나타내는 블록도이다.
도 10은 본 개시의 예시적인 실시 예에 따른 디스패리티 네트워크 모듈의 구조를 나타내는 블록도이다.
도 11은 본 개시의 예시적인 실시 예에 따른 후 처리 레이어의 구조를 나타내는 블록도이다.
도 12a 내지 도 12c는 본 개시의 예시적인 실시 예에 따른 이미지 데이터의 심도 추정 결과를 도시하는 도면이다.
도 13a 내지 도 13d는 본 개시의 예시적인 실시 예에 따른 픽셀의 구조를 나타내는 도면이다.
도 14는 본 개시의 예시적인 실시 예에 따른 전자 시스템을 나타내는 블록도이다.
도 15는 도 14의 시스템-온-칩의 예시적 실시 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적인 실시 예에 따른 처리 회로를 포함하는 전자 장치를 나타내는 블록도이다.
도 1을 참조하면, 전자 장치(10)는 하드웨어와 소프트웨어의 상호 작용을 통해 데이터를 처리하고 처리 결과를 사용자에게 제공할 수 있다. 전자 장치(10)는 소프트웨어가 실행될 수 있는 물리적 기반을 제공하고, 하드웨어의 자원을 이용해 사용자가 의도하는 결과를 도출할 수 있다. 예시적인 실시 예에서, 전자 장치(10)는 운영체제(Operating System; OS)를 통해 응용 소프트웨어를 실행할 수 있고, 실행에 따른 연산 결과를 메모리(400)에 저장할 수 있으며, 이 경우 전자 장치(10)는 컴퓨팅 시스템으로 지칭될 수 있다.
전자 장치(10)는 이미지 센서(100), 이미지 신호 처리기(Image Signal Processor; 이하, ISP)(200), 처리 회로(300), 및 메모리(400)를 포함할 수 있고, 제1 버스(BUS1)를 통해 각 구성과 통신할 수 있다.
이미지 센서(100)는 이미지 또는 광 센싱 기능을 갖는 전자 기기에 탑재될 수 있다. 예를 들어, 이미지 센서(100)는 카메라, 스마트폰, 웨어러블 기기, 사물 인터넷(Internet of Things(IoT)), 태블릿 PC(Personal Computer), PDA(Personal Digital Assistant), PMP(portable Multimedia Player), 네비게이션(navigation) 장치 등과 같은 전자 기기에 탑재될 수 있다. 또한 이미지 센서(100)는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로서 구비되는 전자 기기에 탑재될 수 있다.
이미지 센서(100)는 광학 렌즈를 통하여 입사된 피사체(Object)의 광학적 신호를 전기적 신호로 변환하고, 전기적 신호들을 기초로 이미지 데이터를 생성하고 외부에 출력할 수 있다. 이미지 센서(100)는 예를 들어, 2차원적으로 배열된 복수의 픽셀들을 포함하는 픽셀 어레이 및 리드아웃 회로를 포함할 수 있으며, 픽셀 어레이는 수신되는 광 신호들을 전기적 신호들로 변환할 수 있다.
픽셀 어레이는 예를 들면, CCD(Charge Coupled Devices) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 광전 변환 소자들로 구현될 수 있으며 이외에도 다양한 종류의 광전 변환 소자로 구현될 수 있다. 광전 변환 소자는 입사되는 광의 세기에 따라 가변되는 광전하를 생성할 수 있다. 예를 들어, 광전 변환 소자는 포토(photo) 다이오드, 포토 트랜지스터, 포트 게이트 또는 핀드 포토 다이오드(pinned photodiode) 등을 포함할 수 있다. 예를 들어, 포토 다이오드(PD)는 P-N 접합 다이오드로서, 입사된 광량에 비례하여 전하, 즉, 음의 전하인 전자와 양의 전하인 정공을 생성할 수 있다.
복수의 픽셀들 각각의 상부에는 마이크로 렌즈 및 컬러 필터가 적층될 수 있다. 예시적인 실시 예에서, 복수의 픽셀들 각각은 적어도 두 개의 광전 변환 소자를 이용하여 객체를 센싱할 수 있다. 예를 들어, 복수의 픽셀들 각각은 마이크로 렌즈의 광축을 중심으로 왼쪽 방향(또는 위쪽 방향)에 배치된 적어도 하나의 제1 광전 변환 소자 및 렌즈의 광축을 중심으로 오른쪽 방향(또는 아래쪽 방향)에 배치된 적어도 하나의 제2 광전 변환 소자를 포함할 수 있다. 복수의 픽셀들 각각은 제1 광전 변환 소자로부터 생성되는 제1 이미지 신호 또는 제2 광전 변환 소자로부터 생성되는 제2 이미지 신호를 출력할 수 있다. 이와 같이 한 쌍의 광전 변환 소자가 센싱한 동일한 피사체에 대한 제1 및 제2 이미지 신호의 위상 차이인 디스패리티(Disparity)가 이미지 데이터에 포함될 수 있다. 본 개시에서, 하나의 마이크로 렌즈를 공유하는 두 개의 광전 변환 소자를 포함하는 픽셀은 듀얼 픽셀(dual pixel)이라고 지칭될 것이다. 듀얼 픽셀의 구조에 대하여는 도 13a 내지 도 13d를 참조하여 보다 상세히 설명될 것이다.
리드아웃 회로는 픽셀 어레이로부터 제공되는 전기적 신호를 기초로 배드 픽셀 제거 등의 전처리가 수행된 데이터를 이미지 데이터로서 출력할 수 있다. 이미지 센서(100)는 픽셀 어레이 및 리드아웃 회로를 포함하는 반도체 칩 또는 패키지로서 구현될 수 있다.
이미지 신호 처리기(200)는 이미지 센서(100)으로부터 제공되는 이미지 데이터에 대하여 이미지 처리(image processing)를 수행할 수 있다. 예를 들어, 이미지 신호 처리기(200)는 이미지 데이터에 대하여 데이터 형식을 변경하는 이미지 처리(예컨대 베이어 패턴의 이미지 데이터를 YUV 또는 RGB 형식으로 변경), 노이즈 제거, 밝기 조정, 선명도(sharpness) 조정 등의 화질 향상을 위한 이미지 처리 등을 포함할 수 있다. 이미지 신호 처리기(200)의 구조에 관하여는 도 3을 참조하여 보다 상세히 설명될 것이다.
예시적 실시 예에 따르면, 이미지 신호 처리기(200)는 베이어 형식으로 센싱된 이미지 데이터를 RGB 형식(즉, 포맷), 또는 YUV 형식으로 변환할 수 있다. 본 개시의 예시적 실시 예에 따르면, 이미지 신호 처리기(200)는 이미지 데이터에 대한 처리 결과로서, 휘도 데이터(YDAT), 및 색차 데이터들(UDAT, VDAT)을 생성할 수 있다. 휘도 데이터(YDAT), 및 색차 데이터들(UDAT, VDAT)는 메모리(400)에 저장될 수 있다.
처리 회로(300)는 전자 장치(10)의 전반적인 동작, 보다 구체적으로는 전자 장치(10)를 이루는 다른 구성 요소들(예를 들어, 이미지 센서(100), 이미지 신호 처리기(200), 메모리(400))의 요청을 처리하고, 다른 구성 요소들을 제어할 수 있다. 예시적인 실시 예에서, 처리 회로(300)는 특정한 태스크(task), 인스트럭션(instruction) 또는 오퍼레이션(operation) 등을 수행할 수 있다. 예시적인 실시 예에서, 인스트럭션은 메모리(400)로부터 로드된 것일 수 있다.
예시적인 실시 예에서, 처리 회로(300)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(Application Processor; AP) 등으로 구현될 수 있다. 예시적인 실시 예에서, 처리 회로(300)는 전용 논리 회로(예컨대, FPGA(Field Programmable Gate Array), ASICs(Application Specific Integrated Circuits) 등)를 포함하는 연산 프로세서(예를 들어, CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit), AP(Application Processor) 등)로 구현될 수 있으나 이에 제한되지 않는다.
처리 회로(300)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기를 더 포함할 수 있고, 가속기는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DSP(Digital Signal Processor) 등을 포함할 수 있다. 예시적인 실시 예에 따르면, 가속기는 처리 회로(300)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다. 예시적 실시 예에 따르면, 처리 회로(300)는 하나 이상의 인공 신경망(Neural Network)을 이용해 데이터를 처리할 수 있다. 또한, 처리 회로(300)는 하나 이상의 인공 신경망(Neural Network)을 통해 데이터를 학습시킴으로써 인공 신경망을 강화시킬 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 적어도 하나의 처리 회로(300)와 메모리(400)를 통해 동작될 수 있다. 처리 회로(300)는 CPU, AP, DSP 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 처리 회로(300)는 메모리(400)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 처리 회로(300)가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특징(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공 신경망(Neural Network)은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
인공 신경망은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망에 대하여는 도 7a 내지 도 7c를 참조하여 보다 상세히 설명될 것이다.
본 개시의 예시적인 실시 예에 따르면, 처리 회로(300)는 디스패리티 특징 추출기(Disparity Feature Extractor; DFE)(310), 장면 네트워크(Scene Network; S.NET) 모듈(330), 디스패리티 네트워크(Disparity Network; D.NET) 모듈(350)을 포함할 수 있다.
디스패리티 특징 추출기(310)에는 한 쌍의 이미지 데이터가 입력될 수 있고, 그 결과로써 특징을 포함하는 하나의 출력 데이터가 생성될 수 있다. 예시적인 실시 예에서, 디스패리티 특징 추출기(310)는 인공 신경망을 이용하여 입력 이미지로부터 테두리, 선, 색, 엣지(edge, 객체의 경계), 밀도(빽빽함(dense), 성김(Sparse)을 포함한다), 심도(depth) 등과 같은 특징들(features)을 추출할 수 있다. 본 개시에서, 밀도가 빽빽한 이미지는 텍스쳐드(textured) 이미지로, 밀도가 성긴 이미지는 언텍스쳐드(untextured) 이미지로 지칭될 것이다. 텍스쳐드 이미지는 고-주파수에, 언텍스쳐드 이미지는 저-주파수에 각각 상응할 수 있다.
디스패리티 특징 추출기(310)는 인공 신경망을 이용하여 이미지의 밀도에 대해 미리 학습할 수 있다. 예를 들어, 디스패리티 특징 추출기(310)는 고밀도 이미지(즉, 텍스쳐드 이미지)를 인공 신경망을 이용하여 미리 학습할 수 있고, 학습 결과에 따라 입력 데이터에 대한 엣지 검출 등의 성능이 향상될 수 있다.
예시적인 실시 예에 따르면, 디스패리티 특징 추출기(310)는 디스패리티를 가지는 입력 데이터 쌍에 대하여 절대 심도(absolute depth)를 추정할 수 있다. 예를 들어, 디스패리티 특징 추출기(310)는 입력 데이터 쌍의 특징을 추출한 결과로서, 절대 심도 데이터를 생성할 수 있다.
본 개시의 예시적인 실시 예에 따르면, 디스패리티 특징 추출기(310)에 휘도 데이터(YDAT)가 입력됨으로써, 휘도 데이터(YDAT)에 대한 절대 심도가 추정될 수 있다.
장면 네트워크 모듈(330)에는 하나의 데이터가 입력될 수 있고, 그 결과로써 특징을 포함하는 하나의 출력 데이터가 생성될 수 있다. 장면 네트워크 모듈(330)은 장면(Scene)의 전체적인 특징을 학습하도록 구성된 인공 신경망을 이용해 입력 이미지를 가공할 수 있다. 장면의 전체적인 특징을 학습하는 인공 신경망인 장면 네트워크(S.NET)는 피라미드(pyramid) 구조로 구현될 수 있다. 예시적인 실시 예에 따르면, 장면 네트워크 모듈(330)은 이미지 데이터에 상응하는 장면에 대해 순차적으로 해상도를 낮추어가면서 인코딩을 수행하고, 다시 원래의 해상도로 돌아올 때까지 순차적으로 해상도를 높여가면서 디코딩을 수행할 수 있다. 예를 들어, 장면 네트워크(S.NET)는 5개 내지는 6개의 인코딩 및 디코딩 스테이지를 가질 수 있다. 순차적으로 해상도를 낮추면서 인코딩을 수행한 결과, 장면 네트워크(S.NET)는 장면을 표현하는 모든 해상도에 대해 특징을 학습할 수 있다. 예를 들어, 장면 네트워크 모듈(330)이 이용하는 인공 신경망 모델은 PyDNet일 수 있으나, 본 개시의 기술적 사상은 특정한 모델, 또는 특정한 구현 예에 국한되지 않는다.
본 개시의 예시적인 실시 예에 따르면, 장면 네트워크 모듈(330)은 장면 네트워크(S.NET)를 이용하여 입력 이미지의 상대 심도를 추정할 수 있다. 예를 들어, 장면 네트워크 모듈(330)은 디스패리티 특징 추출기(310)에서 출력된 절대 심도 데이터를 제공받을 수 있고, 절대 심도 데이터에 대한 장면 네트워크(S.NET)의 처리 결과로서 상대 심도 데이터를 생성할 수 있다. 장면 네트워크 모듈(330)은 저밀도 이미지(즉, 언텍스쳐드 이미지)에 대한 상대 심도를 추정함으로써, 상대적으로 작은 디스패리티를 이미지 데이터에 대하여도 비교적 정확한 심도를 획득할 수 있다.
디스패리티 네트워크 모듈(350)에는 하나의 데이터가 입력될 수 있고, 그 결과로써 특징을 포함하는 하나의 출력 데이터가 생성될 수 있다. 디스패리티 네트워크 모듈(350)은 인공 신경망을 이용해 상대 심도 데이터 및 절대 심도 데이터를 결합시킬 수 있다. 상대 심도 데이터 및 절대 심도 데이터를 결합함으로써 최종 심도 데이터를 생성하는 인공 신경망인 디스패리티 네트워크(D.NET)는 적어도 하나의 ReLU(Rectified Linear Unit) 함수를 포함하는 활성 레이어 및 복수의 컨볼루션(Convolution) 레이어를 포함할 수 있다. 예를 들어, 디스패리티 네트워크(D.NET)는 각 스테이지마다 하나의 컨볼루션 레이어 및 하나의 액티베이션 레이어를 가지는 5개의 스테이지로 구성될 수 있다.
본 개시의 예시적인 실시 예에 따르면, 디스패리티 네트워크 모듈(350)은 디스패리티 네트워크(D.NET)를 이용하여 상대 심도 데이터 및 절대 심도 데이터를 결합(fusing)할 수 있다. 예를 들어, 디스패리티 네트워크 모듈(350)은 디스패리티 특징 추출기(310)에서 출력된 절대 심도 데이터, 및 장면 네트워크 모듈(330)에서 출력된 상대 심도 데이터를 각각 제공받을 수 있고, 디스패리티 네트워크(D.NET)의 처리 결과로서 최종 심도 데이터를 생성할 수 있다. 최종 심도 데이터는 후 처리 레이어(미도시)의 가공을 통해 심도 정보로 변환될 수 있다.
본 개시에서, 디스패리티 특징 추출기(310), 장면 네트워크 모듈(330), 및 디스패리티 네트워크 모듈(350)은 하드웨어, 펌웨어, 및/또는 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 디스패리티 특징 추출기(310), 장면 네트워크 모듈(330), 및 디스패리티 네트워크 모듈(350)은 로직 회로를 포함하는 하드웨어와 같은 처리 회로로서 각각 구현될 수도 있고, 인공 신경망의 처리 동작을 수행하는 소프트웨어를 실행하는 프로세서와 같이 하드웨어와 소프트웨어의 조합으로 구현 될 수도 있다.
본 개시의 예시적인 실시 예에 따르면, 휘도 데이터(YDAT)는 RGB 형식의 이미지 데이터에 비해 인공 신경망의 처리를 거친 후에도 저조도 환경에 강건할 수 있다. 본 개시의 예시적인 실시 예에 따라, 처리 회로(300)는 입력으로서 휘도 데이터(YDAT)를 이용할 수 있고, 처리 회로(300)에서 이용되는 적어도 하나의 인공 신경망의 처리 결과인 심도 추정 결과는 RGB 형식의 이미지 데이터를 이용할 때 보다 향상될 수 있다.
메모리(400)는 이미지 센서(100), 이미지 신호 처리기(200), 및/또는 처리 회로(300)에서 생성되거나 처리된 데이터를 저장할 수 있고, 저장된 데이터를 이미지 신호 처리기(200) 및/또는 처리 회로(300)에게 제공할 수 있다. 메모리(400)는 전자 장치의 운영 체제(OS), 애플리케이션, 처리 동작을 위한 인스트럭션을 저장할 수 있다.
예시적인 실시 예에 따르면, 메모리(400)는 처리 회로(300)와 실시간으로 데이터를 통신하는 워킹 메모리일 수 있다. 예를 들어, 메모리(400)는 휘발성 메모리로서, DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 모바일 DRAM, DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power DDR) SDRAM, GDDR(Graphic DDR) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등을 포함할 수 있다. 그러나, 이는 예시적인 실시 예일 뿐, 본 개시의 기술적 사상은 메모리(400)가 비휘발성 메모리를 포함하는 것을 배제하지 않는다.
예를 들어 메모리(400)는 이미지 센서(100), 이미지 신호 처리기(200), 및/또는 처리 회로(300)에서 생성되거나 처리된 데이터를 비휘발적으로 저장하는 스토리지 장치일 수 있다. 예시적인 실시 예에서, 메모리(400)는 비휘발성 메모리로서, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등을 포함할 수 있다.
본 개시의 예시적인 실시 예에 따르면, 메모리(400)는 휘도 데이터(YDAT)를 저장할 수 있다. 휘도 데이터(YDAT)는 YUV 형식을 따르는 이미지 데이터의 일부로서 이미지 신호 처리기(200)에 의해 생성된 것이다. 휘도 데이터(YDAT), 및 색차 데이터들(UDAT, VDAT)는 메모리(400)에 논리적, 또는 물리적으로 분리된 공간에 별도로 저장될 수 있다. 예시적인 실시 예에 따라, 처리 회로(300)는 YUV 형식의 이미지 데이터 중, 휘도 데이터(YDAT)만을 이용할 수 있다.
제1 버스(BUS1)는 이미지 센서(100), 이미지 신호 처리기(200), 처리 회로(300), 및 메모리(400) 와의 데이터 통신을 중계할 수 있다. 예시적인 실시 예에서, 제1 버스(BUS1)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스 타입을 이용하여 처리 회로(300), 메모리(400), 및 메모리(400)와의 제어 신호, 데이터, 및 어드레스의 송수신을 중계할 수 있다.
도 1에 도시된 이미지 센서(100), 이미지 신호 처리기(200), 처리 회로(300), 메모리(400), 및 제1 버스(BUS1)를 포함하는 전자 장치(10) 시스템-온-칩(System On Chip, SoC)으로 구현될 수 있다. 시스템-온-칩은 하나의 칩으로 전자 장치(10)를 구동시키는 데에 필요한 하드웨어 모듈을 포함하는 반도체 칩이다. 예시적인 실시 예에서, 시스템-온-칩은 복수의 하드웨어 모듈 각각의 기능이 수행되는 데에 필요한 애플리케이션(Application)과 내장 소프트웨어를 결합하여 탑재할 수 있다. 애플리케이션(또는 프로그램)은 특정 목적을 수행하는 응용 소프트웨어일 수 있다. 예시적인 실시 예에 따르면, 애플리케이션은 적어도 하나의 함수(function)를 이용하여 실행될 수 있다. 애플리케이션은 소스 코드(source code)를 실행함으로써 빌드(build)될 수 있다. 시스템-온-칩을 이용함으로써, 기판에 각 소자들을 탑재하는 공간이 줄어들어 제품 소형화가 가능하고, 여러 기능 소자들을 별도로 생산하는 것에 비해 제조 비용이 절감될 수 있다.
도 2는 본 개시의 예시적인 실시 예에 따른 심도 정보 생성 방법을 설명하는 흐름도이다. 심도 정보 생성 방법은 도 1의 처리 회로(300), 또는 처리 회로(300)를 포함하는 전자 장치(도 1, 10)에 의해 수행될 수 있다. 도 1은 도 2와 함께 참조된다.
단계 S110에서, YUV 형식을 따르는 휘도 데이터(도 1, YDAT)가 획득될 수 있다. 예를 들어, 처리 회로(300)는 메모리(도 1, 400)에 저장된 휘도 데이터(YDAT)를 획득할 수 있다. 휘도 데이터(YDAT)는 YUV 형식으로 표현된 이미지 데이터 중 휘도(Luminance) 채널에 포함된 데이터로 이해될 수 있다.
단계 S120에서, 휘도 데이터(YDAT)에 대해 제1 인공 신경망을 이용해 듀얼 픽셀 특징 학습을 적용함으로써 절대 심도 데이터가 생성될 수 있다. 예를 들어, 처리 회로(300)는 획득된 휘도 데이터(YDAT)를 디스패리티 특징 추출기(310)에 입력시킴으로써, 듀얼 픽셀로부터 센싱된 이미지 데이터를 처리한 결과로서 절대 심도를 추정할 수 있고, 결과로서 절대 심도 데이터를 생성할 수 있다. 듀얼 픽셀로부터 센싱된 이미지 데이터는 디스패리티를 가질 수 있다. 듀얼 픽셀은 하나의 마이크로 렌즈를 공유하는 두 개의 광전 변환 소자를 지칭하고, 서로 다른 카메라 모듈인 듀얼 카메라에 비해 작은 디스패리티를 가진다. 따라서, 듀얼 픽셀로 기인한 특징은 듀얼 카메라에 기인한 특징과 상이할 수 있다.
단계 S130에서, 절대 심도 데이터에 대해 제2 인공 신경망을 이용해 장면 학습을 적용함으로써 상대 심도 데이터가 생성될 수 있다. 예를 들어, 디스패리티 특징 추출기(310)에서 출력된 절대 심도 데이터는 장면 네트워크 모듈(330)에 제공될 수 있고, 장면 네트워크 모듈(330)은 제2 인공 신경망에 상응하는 장면 네트워크(S.NET)의 처리에 따라 상대 심도를 추정할 수 있고, 결과로서 상대 심도 데이터를 생성할 수 있다.
단계 S140에서, 제3 인공 신경망을 이용해 절대 심도 데이터 및 상대 심도 데이터에 대한 최종 심도 데이터가 생성될 수 있다. 예를 들어, 장면 네트워크 모듈(330)에서 출력된 상대 심도 데이터는 디스패리티 네트워크 모듈(350)에 제공될 수 있고, 디스패리티 네트워크 모듈(350)은 제3 인공 신경망에 상응하는 디스패리티 네트워크(D.NET)의 처리에 따라 최종 심도 데이터를 생성할 수 있다.
단계 S150에서, 심도 정보가 생성될 수 있다. 심도 정보는, 컨볼루션 레이어, 배치 정규화(Batch normalization) 레이어, 및 활성 레이어를 포함하는 후 처리 레이어에 의해 최종 심도 데이터가 처리된 결과로 생성될 수 있다.
도 3은 이미지 신호 처리기(200)를 상세히 나타내는 블록도이다.
도 3을 참조하면, 이미지 신호 처리기(200)는 DPHY(210), ISP 인터페이스(ISP I/F)(230), 이미지 프론트-엔드 엔진(IFE)(250), 및 이미지 처리 엔진(270)을 포함할 수 있다.
DPHY(210)는 이미지 센서(100)와 디스플레이 간 인터페이스를 위한 물리 계층으로서, MIPI(Mobile Industry Processor Interface) 연합에 의해 수립된 표준화된 인터페이스이다. DPHY(210)는 이미지 데이터(IDAT)를 이미지 신호 처리기(200) 내로 전달할 수 있다. 이미지 데이터(IDAT)는 이미지 센서(100)로부터 이미지 신호 처리기(200)로 제공될 수 있다. 이 경우, 이미지 신호 처리기(200)는 카메라 서브 시스템으로 지칭될 수 있으며, 특히 MIPI 연합에 의해 정의된 카메라 직렬 인터페이스-2(Camenra Serial Interface-2; MIPI-CSI-2)를 따를 수 있다.
ISP 인터페이스(230)는 복수의 카메라 직렬 인터페이스(Camera Serial Interface; CSI) 디코더로부터의 데이터 스트림을 라우팅할 수 있다. ISP 인터페이스(230)는 DPHY(210)를 통해 제공된 로우 데이터(RDAT)를 이미지 프론트-엔드 엔진(250)으로 라우팅할 수 있다.
이미지 프론트-엔드 엔진(250)은 로우 데이터(RDAT)를 수신하고, 프리-YUV 데이터(pYUV)를 출력할 수 있다. 예시적 실시 예에 따르면, 이미지 프론트-엔드 엔진(250)은 자동 노출(Auto Exposure(AE)) 노이즈, 자동 초점(Auto Focus(AF)) 노이즈, 자동 화이트 밸런스(Auto White Balance(AWB)) 노이즈의 통계 수집 등의 이미지 처리 동작을 수행할 수 있다. 이외에도, 이미지 프론트-엔드 엔진(250)은 결함 픽셀 보정, 오프셋 보정, 렌즈 왜곡 보정, 컬러 게인(color gain) 보정, 녹색 불균형 보정 등 다양한 이미지 처리 동작들을 수행할 수 있다.
이미지 처리 엔진(270)은 중앙 처리 장치(CPU), 마이크로프로세서(Microprocessor), 또는 MCU(Micro Controller Unit)를 포함할 수 있다. 이미지 처리 엔진(270)은 입력 데이터에 대한 이미지 후처리(image post-processing)를 수행할 수 있다. 후처리는 센싱된 이미지 데이터에 기초하여 에러와 왜곡을 줄이기 위한 일련의 후속적인 처리 작업을 의미할 수 있다. 이미지 처리 엔진(270)이 수행하는 후처리는, 이미지 아티팩트들(artifacts)에 대한 이미지 향상 알고리즘(Image Enhancement Algorithm)의 적용을 의미할 수 있다.
예시적인 실시 예에서, 이미지 처리 엔진(270)에서 처리된 데이터는 메모리(400)에 저장될 수 있다. 예를 들어, 프리-YUV 데이터(pYUV)에 대하여 데이터 형식이 변경된 휘도 데이터(YDAT), 및 색차 데이터들(UDAT, VDAT)은 메모리(400)에 저장될 수 있다. 이 외에도, 이미지 처리된 프레임(이하, 변환된 이미지 데이터) 및/또는 이미지 처리에 따라 생성되는 결과 데이터(통계 데이터, 히스토그램 등)는 메모리(400)에 더 저장될 수 있다.
도 4a는 및 도 4b는 이미지 데이터의 RGB 형식과 YUV 형식의 변환 관계를 나타내는 도면이다. 도 1이 함께 참조된다.
도 4a를 참조하면, 컬러 픽셀(CP)은 은 RED, GREEN, BLUE 채널들(RGB 3ch)을 포함할 수 있다. 이미지 신호 처리기(200)는 R, G, B 채널들(RGB 3ch)은 색 공간(color space) 변환을 통해, Y, U, V 채널들(YUV 3ch)로 변환할 수 있다. 이때, 휘도 데이터(YDAT)는 휘도(Luminance) 신호를 나타내는 채널에 상응하는 데이터이다. U 채널은 휘도 신호와 청색 성분의 차를 나타내는 채널이며 청색 색차(Cb) 채널로도 지칭된다. V 채널은 휘도 신호와 적색 성분의 차를 나타내는 채널이며 적색 색차(Cr) 채널로도 지칭된다. 전자 장치(10)는 변환된 Y, U, V 채널들(YUV 3ch) 중 Y 채널에 대한 데이터인 휘도 데이터(YDAT)를 인공 신경망에 입력시킬 수 있다.
도 4b를 참조하면, RPG 색 공간과 YUV 색 공간의 변환 관계가 설명된다.
RGB 색 공간으로서, 적색(레드, R), 청색(블루, B), 및 녹색(그린, G)이 차원을 구성하고, 그 원점은 흑색(Bk)이다. 데이터가 8비트로 표현되는 경우, 적색은 (255, 0, 0)을, 청색은 (0, 0, 255)를, 녹색은 (0, 255, 0)을 각각 나타낼 수 있다. 이 경우, 옐로우는 (255, 255, 0)으로, 마젠타는 (255, 0, 255)로, 싸이언은 (0, 255, 255)로, 및 백색은 (255, 255, 255)로 표현될 수 있다.
RGB 색 공간은 다음과 같은 식을 통해 YUV 색 공간으로 변환될 수 있다.
Figure pat00001
Figure pat00002
Figure pat00003
상기 [수학식 1] 내지 [수학식 3]을 통해 RGB 색 공간이 YUV 색 공간으로 변환된 경우, RGB 색 공간에서의 적색, 청색, 녹색, 옐로우, 마젠타, 싸이언, 백색의 위치 관계는 변화한다.
YUV 색 공간으로서, 휘도(Y), 청색 색차(Cb)(즉, U채널), 및 적색 색차(Cr)(즉, V 채널)이 차원을 구성한다. 데이터가 8비트로 표현되는 경우, RGV 색 공간의 적색, 청색, 녹색, 옐로우, 마젠타, 싸이언, 백색, 및 흑색은 팔면체의 모서리로서 표현될 수 있으나, 특정한 위치로 정형화할 수는 없다. 예를 들어, 백색은 휘도(Y)가 255이며, 청색 색차(Cb) 및 적색 색차(Cr)는 모두 128인 색상이다.
도 5a 내지 도 5d는 YUV 형식을 따르는 이미지 데이터(IDAT)의 데이터 구조를 나타내는 도면이다. YUV 형식의 이미지 데이터는 컬러 영상을 표시하기 위해 각 픽셀마다 휘도 성분(LUMA)과 색차 성분(CHROMA)을 구분하여 저장할 수 있다. YUV 형식은 YCbCr 형식으로도 지칭된다. 도 5a 내지 도 5d 에서는 설명의 편의를 위해 YCbCr 형식을 예시하여 데이터 구조를 설명한다.
도 5a을 참조하면, YCbCr의 샘플링 비율이 4:4:4인 데이터 구조가 도시된다. YCbCr 4:4:4는 Y에 대한 Cr 또는 Cb의 비율이 동일하게 4:4:4인 것을 의미할 수 있다. 데이터 구조를 수직한 방향으로 휘도 성분(LUMA)부터 읽으면, 휘도 성분(LUMA)에 대해 한 행에 4개의 데이터 공간이 마련될 때, 색차 성분(CHROMA)은 청색 색차(Cb)에 대해 4개의 데이터 공간이, 적색 색차(Cr)에 대해 4개의 데이터 공간이 마련된다.
도 5b를 참조하면, YCbCr의 샘플링 비율이 4:2:2인 데이터 구조가 도시된다. 데이터 구조를 수직한 방향으로 휘도 성분(LUMA)부터 읽으면, 휘도 성분(LUMA)에 대해 한 행에 4개의 데이터 공간이 마련될 때, 색차 성분(CHROMA)은 청색 색차(Cb)에 대해 2개의 데이터 공간이, 적색 색차(Cr)에 대해 2개의 데이터 공간이 마련된다. 즉, YCbCr 4:2:2는 Y에 대한 Cr 또는 Cb의 비율이 4:2:2인 것을 의미할 수 있다.
도 5c를 참조하면, YCbCr의 샘플링 비율이 4:1:1인 데이터 구조가 도시된다. 데이터 구조를 수직한 방향으로 휘도 성분(LUMA)부터 읽으면, 휘도 성분(LUMA)에 대해 한 행에 4개의 데이터 공간이 마련될 때, 색차 성분(CHROMA)은 청색 색차(Cb)에 대해 1개의 데이터 공간이, 적색 색차(Cr)에 대해 1개의 데이터 공간이 마련된다. 즉, YCbCr 4:1:1는 Y에 대한 Cr 또는 Cb의 비율이 4:1:1인 것을 의미할 수 있다.
도 5d를 참조하면, YCbCr의 샘플링 비율이 4:2:0인 데이터 구조가 도시된다. 데이터 구조를 수직한 방향으로 휘도 성분(LUMA)부터 읽으면, 휘도 성분(LUMA)에 대해 한 행에 4개의 데이터 공간이 마련될 때, 색차 성분(CHROMA)은 청색 색차(Cb)(또는 적색 색차(Cr))에 대해 1개의 데이터 공간만이 마련된다. 즉, YCbCr 4:2:0은 Y에 대한 Cr(또는 Cb), Cb(또는 Cr)의 비율이 4:2:0인 것을 의미할 수 있다.
본 개시의 예시적 실시 예에 따르면, 이미지 신호 처리기(도 3, 300)은 이미지 데이터(IDAT)에 대해 YCbCr 4:2:0 의 형식에 따른 YUV 데이터를 생성할 수 있다. YCbCr 4:2:0은 휴대용 전자 장치의 데이터 처리, 저장, 및/또는 표시에 효율적일 수 있다. 그러나, 이미지 데이터(IDAT)는 이에 제한되지 않고, 전술된 바와 같이 다양한 YCbCr 데이터 구조를 가질 수 있다.
도 6a 내지 도 6c는 본 개시의 예시적인 실시 예에 따른 처리 회로(300a, 300b, 301c, 301d)를 나타내는 블록도이다.
도 6a를 참조하면, 처리 회로(300a)는 휘도 데이터(YDATa)를 처리함으로써 심도 정보(iDEPTHa)를 생성할 수 있다. 예시적인 실시 예에 따르면, 처리 회로(300a)는 디스패리티 특징 추출기(310a), 디스패리티 네트워크 모듈(350a), 및 후 처리 레이어(370a)를 포함할 수 있다.
디스패리티 특징 추출기(310a)에 휘도 데이터(YDATa)가 입력됨으로써 휘도 데이터(YDATa)에 대한 절대 심도가 추정된 결과, 절대 심도 데이터(ADa)가 생성될 수 있다. 디스패리티 네트워크 모듈(350a)이 지원하는 디스패리티 네트워크(D.NET)는 적어도 하나의 ReLU(Rectified Linear Unit) 함수를 포함하는 활성 레이어 및 복수의 컨볼루션(Convolution) 레이어를 포함할 수 있으며, 절대 심도 데이터(ADa)를 처리함으로써 최종 심도 데이터(FDa)를 생성할 수 있다. 후 처리 레이어(370a)는 최종 심도 데이터(FDa)를 심도 정보(iDEPTHa)로 가공할 수 있다.
본 개시의 예시적 실시 예에 따르면, 처리 회로(300a)는 휘도 데이터(YDATa)만을 이용함으로써 RGB 형식을 따르는 이미지 데이터에 비해 저조도 환경에 보다 강건한 심도 정보를 생성할 수 있다.
또한, 본 개시의 예시적 실시 예에 따르면, 처리 회로(300a)는 YUV 데이터(예를 들어, 휘도 데이터(YDAT), 및 색차 데이터(도 3, UDAT, VDAT) 중 휘도 데이터(YDATa)만을 인공 신경망에 학습시킴으로써 메모리 사용량 및 전력 소비량을 감축시킬 수 있다.
또한, 본 개시의 예시적 실시 예에 따른 처리 회로(300a)는 이미 YUV 형식으로 변환된 데이터를 RGB 형식으로 재변환할 필요가 없으므로 데이터 처리 속도를 향상시킬 수 있다.
도 6b을 참조하면, 처리 회로(300b)는 휘도 데이터(YDATb)를 처리함으로써 심도 정보(iDEPTHb)를 생성할 수 있다. 예시적인 실시 예에 따르면, 처리 회로(300b)는 디스패리티 특징 추출기(310b), 장면 네트워크 모듈(330b), 디스패리티 네트워크 모듈(350b), 및 후 처리 레이어(370b)를 포함할 수 있다.
디스패리티 특징 추출기(310b)에 휘도 데이터(YDATb)가 입력됨으로써 휘도 데이터(YDATb)에 대한 절대 심도가 추정된 결과, 절대 심도 데이터(ADb)가 생성될 수 있다. 장면 네트워크 모듈(330b)은 장면 네트워크(S.NET)를 이용하여 절대 심도 데이터(ADb)의 상대 심도를 추정할 수 있다. 절대 심도 데이터(ADb)에 대한 상대 심도 추정 결과는 상대 심도 데이터(CDb)로 출력될 수 있다. 디스패리티 네트워크 모듈(350b)이 지원하는 디스패리티 네트워크(D.NET)는 절대 심도 데이터(ADb) 및 상대 심도 데이터(CDb)를 결합함으로써 최종 심도 데이터(FDb)를 생성할 수 있다. 후 처리 레이어(370b)는 최종 심도 데이터(FDb)를 심도 정보(iDEPTHb)로 가공할 수 있다.
본 개시의 예시적 실시 예에 따른 처리 회로(300b)는 디스패리티가 작은 데이터(예를 들어, 휘도 데이터(YDATb)에 대하여도 상대 심도를 고려해 심도를 추정할 수 있으므로 심도 추정의 정확도를 향상시킬 수 있다.
도 6c을 참조하면, 제1 처리 회로(301c)는 휘도 데이터(YDATc)를 처리함으로써 심도 정보(iDEPTHc)를 생성할 수 있다. 예시적인 실시 예에 따르면, 제1 처리 회로(301c)는 디스패리티 특징 추출기(310c), 디스패리티 네트워크 모듈(350c), 및 후 처리 레이어(370c)를 포함할 수 있으며, 제2 처리 회로(302c)는 장면 네트워크 모듈(330c)을 포함할 수 있다.
디스패리티 특징 추출기(310c)에 휘도 데이터(YDATc)가 입력됨으로써 휘도 데이터(YDATc)에 대한 절대 심도가 추정된 결과, 절대 심도 데이터(ADc)가 생성될 수 있다. 절대 심도 데이터(ADc)는 장면 네트워크 모듈(330c), 및 디스패리티 네트워크 모듈(350c)에 제공될 수 있다.
제2 처리 회로(302c)의 장면 네트워크 모듈(330c)은 장면 네트워크(S.NET)를 이용하여 절대 심도 데이터(ADc)의 상대 심도를 추정할 수 있다. 절대 심도 데이터(ADc)에 대한 상대 심도 추정 결과는 상대 심도 데이터(CDc)로서서 제1 처리 회로(301c)에 출력될 수 있다. 디스패리티 네트워크 모듈(350c)이 지원하는 디스패리티 네트워크(D.NET)는 절대 심도 데이터(ADc) 및 제2 처리 회로(302c)로부터 수신한 상대 심도 데이터(CDc)를 결합함으로써 최종 심도 데이터(FDc)를 생성할 수 있다. 후 처리 레이어(370c)는 최종 심도 데이터(FDc)를 심도 정보(iDEPTHc)로 가공할 수 있다.
본 개시의 예시적 실시 예에 따른 제1 처리 회로(301c)는 인공 신경망 중 어느 일부를 다른 처리 회로(예를 들어, 제2 처리 회로(302c))에서 처리시킴으로써 데이터 분산 처리를 도모하고, 데이터 크기가 크거나 데이터 처리 시간이 오래 소요되는 작업에 대한 분산 및/또는 병렬 처리를 성취할 수 있다.
도 7a 내지 도 7c는 인공 신경망(NN1, NN2, NN3)의 구조 및 동작을 설명하는 도면이다.
도 7a을 참조하면, 인공 신경망(NN1)은 컨볼루션 뉴럴 네트워크(Convolution Neural Network: CNN)일 수 있으나, 이에 제한되지는 않는다. 도 7a에서, 설명의 편의를 위해 인공 신경망(NN1)이 2개의 히든 레이어들(hidden layers)을 포함하는 것으로 도시되어 있으나 인공 신경망(NN1)은 그에 한정되지 않고 다양한 개수의 히든 레이어들을 포함할 수 있다. 또한, 도 7a에서, 인공 신경망(NN1)은 입력 데이터를 수신하기 위한 별도의 입력 레이어(input layer)를 포함하는 것으로 도시되고 있으나, 실시 예에 따라 입력 데이터는 히든 레이어에 직접 입력될 수도 있다.
인공 신경망(NN1)에서 출력 레이어(output layer)를 제외한 레이어들의 노드들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 노드들과 연결될 수 있다. 이들 링크를 통해 하나의 노드에는 이전 레이어에 포함된 노드들의 노드 값과 각 링크에 할당된 웨이트가 곱해진 값들이 입력될 수 있다. 이전 레이어의 노드 값들은 액손 값들에 해당하고, 웨이트는 시냅틱 웨이트에 해당할 수 있다. 웨이트는 인공 신경망(NN1)의 파라미터로 지칭될 수 있다.
활성 함수는 특징 맵들의 값들을, 특징의 존재 여부에 대한 비선형적 정보로 변환하기 위해 적용될 수 있다. 예를 들어, 활성 함수는 시그모이드(Sigmoid) 함수, 하이퍼볼릭 탄젠트(tanh: Hyperbolic Tangent) 함수, 렐루(ReLU) 함수 등을 포함할 수 있고, 활성 함수에 의해 인공 신경망(NN1)에 비선형성이 구현될 수 있다.
인공 신경망(NN1)에 포함된 임의의 한 노드의 출력은 이하의 [수학식 4]와 같이 나타낼 수 있다.
Figure pat00004
[수학식 4]는 임의의 레이어에서 m개의 입력 값에 대한 i번째 노드의 출력 값 yi를 나타낼 수 있다. xj는 이전 레이어의 j번째 노드의 출력 값을 나타낼 수 있고, wj,i는 이전 레이어의 j번째 노드와 현재 레이어의 i번째 노드의 연결부에 적용되는 웨이트를 나타낼 수 있다. f()는 활성 함수를 나타낼 수 있다. 식(1)에 나타난 바와 같이, 활성 함수에는, 입력 값 xj과 웨이트 wj,i의 곱셈의 누적 결과가 사용될 수 있다. 다시 말해, 각 노드에서 입력 값 xj과 웨이트 wj,i를 곱하고 그 결과들을 합하는 연산, 즉 MAC(Multiply Accumulate) 연산(operation)이 수행될 수 있다. 이러한 용도 외에도, MAC 연산을 필요로 하는 다양한 응용 분야가 있을 수 있고, 이를 위해 아날로그 회로 영역에서 MAC 연산을 처리할 수 있는 프로세싱 장치가 사용될 수 있다.
도 7b를 참조하면, 뉴럴 네트워크(NN2)는 복수의 레이어들(L1 내지 Ln)을 포함할 수 있다. 복수의 레이어들(L1 내지 Ln) 각각은 선형 레이어 또는 비선형 레이어일 수 있으며, 일 실시 예에 있어서, 적어도 하나의 선형 레이어 및 적어도 하나의 비선형 레이어가 결합되어 하나의 레이어로 지칭될 수도 있다. 예시적으로, 선형 레이어는 컨볼루션 레이어(convolution layer) 및 풀리 커넥티드 레이어(fully connected layer)를 포함할 수 있으며, 비선형 레이어는 풀링(pooling layer) 및 활성 레이어(activation layer)를 포함할 수 있다.
예시적으로, 제1 레이어(L1)는 컨볼루션 레이어이고, 제2 레이어(L2)는 풀링 레이어이고, 제n 레이어(Ln)는 출력 레이어로서 풀리 커넥티드 레이어일 수 있다. 뉴럴 네트워크(NN)는 활성 레이어를 더 포함할 수 있으며, 다른 종류의 연산을 수행하는 레이어를 더 포함할 수 있다.
복수의 레이어들(L1 내지 Ln) 각각은 입력되는 데이터(예컨대, 이미지 프레임) 또는 이전 레이어에서 생성된 피처맵을 입력 피처맵으로서 수신하고, 입력 피처맵을 연산함으로써 출력 피처맵 또는 인식 신호(REC)를 생성할 수 있다. 이 때, 피처맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미한다. 피처맵들(FM1, FM2, FMn)은 예컨대 2차원 매트릭스 또는 3차원 매트릭스(또는 텐서(tensor)) 형태를 가질 수 있다. 피처맵들(FM1, FM2, FMn)은 너비(W)(또는 칼럼), 높이(H)(또는 로우) 및 깊이(D)를 가지며, 이는 좌표상의 x축, y축 및 z축에 각각 대응될 수 있다. 이 때, 깊이(D)는 채널 수로 지칭될 수 있다.
제1 레이어(L1)는 제1 피처맵(FM1)을 웨이트 맵(WM)과 컨볼루션함으로써 제2 피처맵(FM2)을 생성할 수 있다. 웨이트 맵(WM)은 제1 피처맵(FM1)을 필터링할 수 있으며, 필터 또는 커널로도 지칭될 수 있다. 웨이트 맵(WM)의 깊이, 즉 채널 개수는 제1 피처맵(FM1)의 깊이, 즉 채널 개수와 동일하며, 웨이트 맵(WM)과 제1 피처맵(FM1)의 동일한 채널끼리 컨볼루션 될 수 있다. 웨이트 맵(WM)이 제1 피처맵(FM1)을 슬라이딩 윈도우로 하여 횡단하는 방식으로 시프트 될 수 있다. 시프트되는 양은 "스트라이드(stride) 길이" 또는 "스트라이드"로 지칭될 수 있다. 각 시프트 동안, 웨이트 맵(WM)에 포함되는 웨이트 값들 각각이 제1 피처맵(FM1)과 중첩되는 영역에서의 모든 셀 데이터들과 곱해지고 더해질 수 있다. 웨이트 맵(WM)에 포함되는 웨이트 값들 각각이 제1 피처맵(FM1)과 중첩되는 영역에서의 제1 피처맵(FM1)의 데이터들을 추출 데이터라 칭할 수 있다. 제1 피처맵(FM1)과 웨이트 맵(WM)이 컨볼루션 됨에 따라, 제2 피처맵(FM2)의 하나의 채널이 생성될 수 있다. 도 3에는 하나의 웨이트 맵(WM)이 표시되었으나, 실질적으로는 복수의 웨이트 맵들이 제1 피처맵(FM1)과 컨볼루션 되어, 제2 피처맵(FM2)의 복수의 채널들이 생성될 수 있다. 다시 말해, 제2 피처맵(FM2)의 채널의 수는 웨이트 맵의 개수에 대응될 수 있다.
제2 레이어(L2)는 풀링을 통해 제2 피처맵(FM2)의 공간적 크기(spatial size)를 변경함으로써, 제3 피처맵(FM3)을 생성할 수 있다. 풀링은 샘플링 또는 다운-샘플링으로 지칭될 수 있다. 2차원의 풀링 윈도우(PW)가 풀링 윈도우(PW)의 사이즈 단위로 제2 피처맵(FM2) 상에서 시프트 되고, 풀링 윈도우(PW)와 중첩되는 영역의 셀 데이터들 중 최대값(또는 셀 데이터들의 평균값)이 선택될 수 있다. 이에 따라, 제2 피처맵(FM2)으로부터 공간적 사이즈가 변경된 제3 피처맵(FM3)이 생성될 수 있다. 제3 피처맵(FM3)의 채널과 제2 피처맵(FM2)의 채널 개수는 동일하다.
제n 레이어(Ln)는 제n 피처맵(FMn)의 피처들을 조합함으로써 입력 데이터의 클래스(class)(CL)를 분류할 수 있다. 또한, 제n 레이어(Ln)는 클래스에 대응되는 인식 신호(REC)를 생성할 수 있다. 실시 예에 있어서, 입력 데이터는 비디오 스트림(video stream)에 포함되는 프레임 데이터에 대응될 수 있으며, 제n 레이어(Ln)는 이전 레이어로부터 제공되는 제n 피처맵(FMn)을 기초로 프레임 데이터가 나타내는 이미지에 포함되는 사물에 해당하는 클래스를 추출함으로써, 사물을 인식하고, 인식된 사물에 상응하는 인식 신호(REC)를 생성할 수 있다.
도 7c를 참조하면, 입력 피처맵들은 D개의 채널들을 포함하고, 각 채널의 입력 피처맵은 H행 W열의 크기를 가질 수 있다(D, H, W는 자연수). 커널들 각각은 R행 S열의 크기를 갖고, 커널들은 입력 피처맵들(201)의 채널 수(또는 깊이)(D) 에 대응되는 개수의 채널들을 포함할 수 있다(R, S는 자연수). 출력 피처맵들은 입력 피처맵들과 커널들 간의 3차원 컨볼루션 연산을 통해 생성될 수 있고, 컨볼루션 연산에 따라 Y개의 채널들을 포함할 수 있다.
도 8은 본 개시의 예시적인 실시 예에 따른 디스패리티 특징 추출기(310)의 구조를 나타내는 블록도이다.
도 8을 참조하면, 디스패리티 특징 추출기(310)는 복수의 스테이지를 포함하며, 하나의 스테이지는 한 쌍의 컨볼루션 레이어(CONV) 및 활성 레이어(ACTV)로 구성될 수 있다. 활성 레이어(ACTV)는 특징(feature)의 존재 여부를 비선형적 정보로 변환하기 위해 시그모이드(Sigmoid) 함수, 하이퍼볼릭 탄젠트(tanh) 함수, 렐루(ReLU) 함수가 적용되는 비선형적 층위이다.
본 개시의 예시적 실시 예에 따르면, 디스패리티 특징 추출기(310)는 메모리(400)로부터 휘도 데이터(YDAT)를 수신하고, 휘도 데이터(YDAT)를 제1 스테이지의 컨볼루션 레이어(CONV)에 입력시킴으로써 데이터를 가공 및 처리할 수 있다. 디스패리티 특징 추출기(310)는 결과로서 절대 심도 데이터(AD)를 생성할 수 있다. 절대 심도 데이터(AD)는 장면 네트워크 모듈(330), 또는 디스패리티 네트워크 모듈(350)로 제공될 수 있다.
도 9는 본 개시의 예시적인 실시 예에 따른 장면 네트워크 모듈(300)의 구조를 나타내는 블록도이다.
도 9를 참조하면, 장면 네트워크 모듈(300)에 이용되는 장면 네트워크(S.NET)는 입력 레이어(IL), 출력 레이어(OL), 인코딩 레이어 유닛(LUa) 및 디코딩 레이어 유닛(LUb)을 포함할 수 있다. 장면 네트워크(S.NET)는 절대 심도 데이터(AD)를 수신하고, 입력 레이어(IL), 인코딩 레이어 유닛(LUa), 디코딩 레이어 유닛(LUb) 및 출력 레이어(OL)에 의해 절대 심도 데이터(AD)의 특징 값을 연산할 수 있다.
장면 네트워크(S.NET)는 복수의 인코더(인코딩 레이어 유닛)들 및 복수의 디코더(디코딩 레이어 유닛)들을 포함할 수 있고, 상기 복수의 인코더들 및 상기 복수의 디코더들은 서로 대칭적인 피라미드 구조로 구현될 수 있다. 예를 들어, 복수의 인코더들은 점진적으로 인코딩 데이터의 해상도를 낮추도록 직렬 연결될 수 있고, 복수의 디코더들은 점진적으로 디코딩 데이터의 해상도를 높이도록 직렬 연결될 수 있다.
인코딩 레이어 유닛(LUa)은 이전의 인코딩 레이어 유닛에서 출력된 특징맵을 수신하고, 각각의 인코딩 레이어 유닛(예컨대, LUa1)에 할당된 연산을 수행할 수 있다. 예를 들어, 제1 인코딩 레이어 유닛(LUa1)은 특징맵(FMa0)을 수신하고, 제1 인코딩 레이어 유닛(LUa1)에 포함된 다양한 레이어들에 의한 연산을 수행할 수 있다. 예를 들어, 인코딩 레이어 유닛(LUa)은 컨볼루션 레이어, 샘플링 레이어 및 활성 레이어를 포함할 수 있다. 컨볼루션 레이어는 컨볼루션 연산을 수행할 수 있다. 샘플링 레이어는 다운-샘플링, 업-샘플링, 평균 풀링 또는 최대 풀링 연산을 수행할 수 있다. 활성 레이어는 ReLU(Rectified Linear Unit) 함수 또는 시그모이드(sigmoid) 함수에 의한 연산을 수행할 수 있다. 제1 인코딩 레이어 유닛(LUa1)은 연산 결과에 기초하여 특징맵(FMa1)을 출력할 수 있다.
제1 인코딩 레이어 유닛(LUa1)에서 출력된 특징맵(FMa1)은, 입력된 특징맵(FMa0) 보다 너비 및 높이가 작을 수 있으며, 깊이가 클 수 있다. 즉, 제1 인코딩 레이어(LUa1)는 특징맵(FMa1)의 너비, 높이 및 깊이를 제어할 수 있으며, 예컨대, 깊이가 과도하게 커지지 않도록 제어할 수 있다. 제1 인코딩 레이어(LUa1)는 특징맵(FMa1)의 깊이를 설정하는 파라미터를 가질 수 있다. 한편, 제1 인코딩 레이어 유닛(LUa1)은 다운 샘플링 레이어(DS)를 포함할 수 있다. 다운 샘플링 레이어(DS)는 입력된 특징맵(FMa0)에 포함된 특징 값들 중 소정의 특징 값들을 선택하고, 특징맵(FMa1)의 특징 값으로 출력할 수 있다. 다시 말해, 다운 샘플링 레이어(DS)는 특징맵(FMa1)의 너비 및 높이를 제어할 수 있다. 제2 인코딩 레이어 유닛(LUa2) 및 제3 인코딩 레이어 유닛(LUa3)도 제1 인코딩 레이어 유닛(LUa1)과 유사하게 연산을 처리할 수 있다. 즉, 이전의 인코딩 레이어 유닛으로부터 특징맵을 수신하고, 현재의 레이어 유닛에 포함된 복수의 레이어들에 의해 연산을 처리하며, 다음의 인코딩 레이어 유닛으로 연산 결과를 포함하는 특징맵을 출력할 수 있다.
인코딩 레이어 유닛(LUa)은 다음의 인코딩 레이어 유닛(LUa) 또는 동일한 레벨의 디코딩 레이어 유닛(LUb)에 출력할 수 있다. 각각의 인코딩 레이어 유닛(LUa1)은 다음의 인코딩 레이어 유닛(LUa)과 고정적으로 연결되어 있을 수 있으며, 동일한 레벨의 디코딩 레이어 유닛(LUb)과 스킵 커넥션들(SK0~SK3)에 의해 연결되어 있을 수 있다. 동일한 레벨은, 예컨대 입력 레이어(IL)로부터의 순서와 출력 레이어(OL)로부터의 순서가 각각 동일한 경우를 의미할 수 있으며, 동일한 레벨의 레이어 유닛들은, 예컨대 제1 인코딩 레이어 유닛(LUa1) 및 제1 디코딩 레이어 유닛(LUb1)일 수 있다.
예시적 실시 예에 따르면, 처리 회로(300) 또는 전자 장치(10)에 의해 복수의 스킵 커넥션들(SK0~SK3) 중 적어도 일부가 선택될 수 있다. 예컨대, 처리 회로(300)는 스킵 레벨에 관한 정보를 수신할 수 있다. 인공 신경망 모델의 스킵 레벨이 설정된 경우, 기설정된 스킵 레벨에 해당하는 스킵 커넥션들(SK0~SK3)은 활성화될 수 있다. 예컨대, 인공 신경망 모델의 스킵 레벨이 2 인 경우, 제1 스킵 커넥션(SK0) 및 제2 스킵 커넥션(SK1)이 활성될 수 있다. 활성된 스킵 커넥션에 의해 인코딩 레이어 유닛(LUa)은 디코딩 레이어 유닛(LUb)으로 특징맵을 출력할 수 있다. 비활성된 스킵 커넥션(예컨대, SK2, SK3)은 특징맵을 전파할 수 없다.
본 개시의 예시적 실시 예에 따르면, 동일한 레벨의 레이어 유닛(예컨대, LUa1, LUb1)은 실질적으로 동일한 사이즈의 특징맵을 처리할 수 있다. 예컨대, 제1 인코딩 레이어 유닛(LUa1)이 수신하는 특징맵(FMa0)과 제1 디코딩 레이어 유닛(LUb1)이 출력하는 특징맵(FMb0)의 사이즈는 실질적으로 동일할 수 있다. 예컨대, 특징맵의 사이즈는, 너비, 높이 및 깊이 중 적어도 하나를 포함할 수 있다. 또한, 제1 인코딩 레이어 유닛(LUa1)이 출력하는 특징맵(FMa1)과 제1 디코딩 레이어 유닛(LUb1)이 수신하는 특징맵(FMb1)의 사이즈는 실질적으로 동일할 수 있다.
본 개시의 예시적 실시 예에 따르면, 동일한 레벨의 인코딩 레이어 유닛(LUa)과 디코딩 레이어 유닛(LUb)은, 실질적으로 동일한 샘플링 사이즈를 가질 수 있다. 예컨대, 제1 인코딩 레이어 유닛(LUa)이 다운 샘플링 사이즈는 제1 디코딩 레이어 유닛(LUb)이 업 샘플링 사이즈와 실질적으로 동일할 수 있다.
디코딩 레이어 유닛(LUb)은 이전의 디코딩 레이어 유닛(LUb)으로부터 특징맵을 수신하거나, 동일한 레벨의 인코딩 레이어 유닛(LUa)으로부터 특징맵을 수신할 수 있다. 디코딩 레이어 유닛(LUb)은 수신한 특징맵을 이용하여 연산을 처리할 수 있다. 예를 들어, 디코딩 레이어 유닛(LUb)은 컨볼루션 레이어, 샘플링 레이어 및 활성 레이어를 포함할 수 있다.
제1 인코딩 레이어 유닛(LUa1)에서 출력된 특징맵(FMa1)은, 입력된 특징맵(FMa0) 보다 너비 및 높이가 작을 수 있으며, 깊이가 클 수 있다. 즉, 제1 인코딩 레이어(LUa1)는 특징맵(FMa1)의 너비, 높이 및 깊이를 제어할 수 있으며, 예컨대, 깊이가 과도하게 커지지 않도록 제어할 수 있다. 제1 인코딩 레이어(LUa1)는 특징맵(FMa1)의 깊이를 설정하는 파라미터를 가질 수 있다.
업 샘플링 레이어(US)는 입력된 특징맵의 사이즈를 조절할 수 있다. 예컨대, 업 샘플링 레이어(US)는 특징맵의 너비와 높이를 조절할 수 있다. 업 샘플링 레이어(US)는 입력된 특징맵의 각 특징값들과, 상기 각 특징값들에 인접한 특징값들을 이용하여 업 샘플링 동작을 수행할 수 있다. 일 예로, 업 샘플링 레이어(US)는 니어리스트 네이버(Nearest Neighbor) 방식을 이용하여 동일한 특징 값들을 출력 특징맵에 기입하는 레이어 일 수 있다. 다른 예로, 업 샘플링 레이어(US)는 트랜스포즈(transpose) 컨볼루션 레이어일 수 있으며, 소정의 웨이트맵을 이용하여 이미지를 업샘플링할 수 있다.
업샘플링됨으로써 종전의 해상도로 돌아온 데이터는 컨볼루션 레이어(CONV), 배치 정규화 레이어(BN), 및 활성 레이어(ACTV)를 통해 상대 심도 데이터(CD)로 변환될 수 있다.
도 10은 본 개시의 예시적인 실시 예에 따른 디스패리티 네트워크 모듈(350)의 구조를 나타내는 블록도이다.
도 10을 참조하면, 디스패리티 네트워크 모듈(350)은 복수의 스테이지를 포함하며, 하나의 스테이지는 한 쌍의 컨볼루션 레이어(CONV) 및 활성 레이어(ACTV)로 구성될 수 있다.
본 개시의 예시적 실시 예에 따르면, 디스패리티 네트워크 모듈(350)은 디스패리티 특징 추출기(310)로부터 절대 심도 데이터(AD)를 수신하거나, 및/또는, 장면 네트워크 모듈(330)로부터 상대 심도 데이터(CD)를 수신할 수 있다.
절대 심도 데이터(AD), 또는 절대 심도 데이터(AD)와 결합된 상대 심도 데이터(CD)는 제1 스테이지의 컨볼루션 레이어(CONV)에 입력될 수 있다. 디스패리티 네트워크 모듈(350)은 결과로서 최종 심도 데이터(FD)를 생성할 수 있다. 최종 심도 데이터(FD)는 후 처리 레이어(370)로 전송될 수 있다.
도 11은 본 개시의 예시적인 실시 예에 따른 후 처리 레이어(370)의 구조를 나타내는 블록도이다.
예시적인 실시 예에 따르면, 후 처리 레이어(370)는 컨볼루션 레이어(CONV), 배치 정규화 레이어(BN), 및 활성 레이어(ACTV)를 포함할 수 있다. 후 처리 레이어(370)는 최종 심도 데이터(FD)를 심도 정보(iDEPTH)로 변환할 수 있다.
도 12a 내지 도 12c는 본 개시의 예시적인 실시 예에 따른 이미지 데이터의 심도 추정 결과를 도시하는 도면이다.
도 12a를 참조하면, 제1 이미지(IMG1)는 객체(토끼)와 배경을 포함할 수 있다. 제1 이미지(IMG1)는 이미지 데이터(IDAT)에 상응할 수 있다. 제1 이미지(IMG1)의 배경으로서 언덕은 이미지의 밀도가 성기며 경계가 급격하게 변화하거나 엣지의 발생이 적은, 언텍스쳐드 영역이라고 이해될 수 있다.
도 12b를 참조하면, 제2 이미지(IMG2)는 객체(토끼)와 배경을 포함하며 심도 정보(iDEPTHa)에 상응하는 뎁스 맵(depth map)을 나타낸다. 뎁스 맵은 이미지 센서로부터 또는 관찰 지점으로부터 물체 표면과의 거리 및 거리와 관련된 정보가 담긴 영상 또는 영상의 한 채널이며, 사용자의 시각(또는, 이미지 센서)으로부터 화면에 담긴 물체들의 표면까지의 거리가 심도(depth) 정보로 정의될 수 있다.
제2 이미지(IMG2)는 심도 정보를 명암으로 표시하는데, 밝을수록 (또는, 백색에 가까울수록) 깊이가 적은 값을 갖는 부분으로, 어두울수록 (또는, 흑색에 가까울수록) 깊이가 큰 값을 갖는 부분인 것으로 각각 정의될 수 있다.
심도 정보(iDEPTHa)는 도 6a의 디스패리티 특징 추출기(310a), 디스패리티 네트워크 모듈(350a), 및 후 처리 레이어(370a)로부터 생성된다. 본 개시의 예시적 실시예에 따르면, 처리 회로(300)는 저조도에 강건한 휘도 데이터(YDAT)만을 절대 심도를 추정하는 인공 신경망에 적용함으로써, 객체(토끼)와 배경의 구분을 달성할 수 있다.
도 12c를 참조하면, 제3 이미지(IMG3)는 객체(토끼)와 배경을 포함하며 심도 정보(iDEPTHb)에 상응하는 뎁스 맵(depth map)을 나타낸다.
심도 정보(iDEPTHb)는 도 6b의 디스패리티 특징 추출기(310b), 장면 네트워크 모듈(330b), 디스패리티 네트워크 모듈(350b), 및 후 처리 레이어(370b)로부터 생성된다. 본 개시의 예시적 실시예에 따르면, 처리 회로(300)는 장면 네트워크 모듈(330b)을 이용해 상대 심도 데이터를 추가적으로 결합함으로써, 상대적으로 작은 디스패리티를 가지는 데이터에 대하여도 객체(토끼)와 배경의 구분을 보다 명확히 달성할 수 있다. 예를 들어, 제3 이미지(IMG3)의 언텍스쳐드 영역은 제2 이미지(IMG2)에서는 관측될 수 없었던 영역으로써, 뎁스 맵이 개선됨을 증명할 수 있다.
도 13a 내지 도 13d는 본 개시의 예시적인 실시 예에 따른 픽셀의 구조를 나타내는 도면이다. 도 13a 내지 도 13d 중 서로 중복되는 설명은 생략될 것이다.
도 13a를 참조하면, 픽셀(PHDa)은 마이크로 렌즈, 광전 변환 소자 및 컬러 필터를 포함할 수 있다. 예를 들어, 복수의 픽셀들(PX1, PX2) 각각은 광전 변환 소자 중 일 구현예로서 포토다이오드(PD1, PD2), 컬러 필터(CF1, CF2)를 포함하고, 컬러 필터(CF1, CF2) 상부에는 마이크로 렌즈(ML1, ML2)가 구비될 수 있다. 예시적인 실시 예에 따라 마이크로 렌즈(ML)의 수직 단면 형상은 원의 곡률을 가지는 호이거나, 타원의 일부일 수 있다.
도 13a에 예시된 실시 예에 따르면, 하나의 포토다이오드(PD1 또는 PD2) 상에 하나의 컬러 필터(CF1 또는 CF2) 및 하나의 마이크로 렌즈(ML1 또는 ML2)가 각각 구비될 수 있다. 예를 들어, 마이크로 렌즈(ML1)의 중심으로 입사한 빛은 컬러 필터(CF1)를 통과함으로써 특정 파장 대역의 빛(예를 들어, 그린 컬러에 상응하는 500~600nm(nano-meter))만 투과되고, 투과된 특정 파장 대역의 빛은 포토다이오드(PD1)에 결상(imagery)될 수 있다. 유사하게, 마이크로 렌즈(ML2)의 중심으로 입사한 빛은 컬러 필터(CF2)를 통과함으로써 특정 파장의 빛만 투과되고, 투과된 특정 파장의 빛은 포토다이오드(PD2)에 결상될 수 있다. 도 13a에 예시된 바와 같이, 하나의 마이크로 렌즈(ML1 또는 ML2)에 입사된 빛이 하나의 포토다이오드(PD1 또는 PD2)에 결상되는 경우는 싱글-포토다이오드(Single-PD)라고 지칭될 수 있다. 이미지 센서(도 1, 100)는 픽셀(PHDa)을 이용해 포토다이오드들(PD1 및 PHD2) 간의 위상 차에 따른 디스패리티를 산출함으로써 객체와의 거리를 판단할 수 있다.
도 13b를 참조하면, 듀얼 픽셀(PHDb)은 마이크로 렌즈, 광전 변환 소자 및 컬러 필터를 포함할 수 있다. 예를 들어 픽셀(PXx)은 두 개의 컬러 필터들(CFa 및 CFb) 및, 컬러 필터들 (CFa 및 CFb) 각각에 대응되는 포토다이오드(PDa 및 PDb)를 포함할 수 있으며, 유사하게 픽셀(PXy)은 두 개의 컬러 필터들 (CFc 및 CFd) 및, 컬러 필터들(CFc 및 CFd) 각각에 대응되는 포토다이오드들 (PDc 및 PDd)를 포함할 수 있다.
도 13b에 예시된 실시 예에 따르면, 하나의 마이크로 렌즈(MLx) 하에 두 개의 컬러 필터들(CF1 및 CF2) 및 두 개의 포토다이오드들(PDa, PDb)이 각각 구비될 수 있다. 예를 들어, 마이크로 렌즈(MLx)의 중심으로 입사한 빛 중 일부인 제1 광속(LFx)은 컬러 필터(CFa)를 통과하여 포토다이오드(PDa)에 결상될 수 있고, 마이크로 렌즈(MLx)의 중심으로 입사한 빛 중 나머지 일부인 제2 광속(LXy)은 컬러 필터(CFb)를 통과하여 포토다이오드(PDb)에 결상될 수 있다. 픽셀(PXy)에도 픽셀(PXx)과 유사한 현상이 발생할 수 있다. 도 13b에 예시된 바와 같이, 하나의 마이크로 렌즈(MLx 또는 MLy)에 입사된 빛이 두 개의 포토다이오드(PDa 및 PDb)(또는, PDc 및 PDd)에 결상되는 경우는 듀얼-포토다이오드(Dual-PD), 또는 듀얼 픽셀이라고 지칭될 수 있다.
도 13c는 도 13b의 듀얼 픽셀의 평면도이다. 도 13c를 참조하면, 픽셀(PXx)은 마이크로 렌즈(MLx) 및 두 개의 서브 픽셀, 예컨대 제1 서브 픽셀(SPXa) 및 제2 서브 픽셀(SPXb)을 포함할 수 있다. 제1 서브 픽셀(SPXa) 및 제2 서브 픽셀(SPXb)은 컬럼 방향, 예컨대 Y 축 방향(제2 방향)으로 나란하게 배치될 수 있다. 예를 들어, 제1 서브 픽셀(SPXa)은 픽셀(PXx) 내에서 왼쪽에 배치되고 제2 서브 픽셀(SPXb)은 픽셀(PXx) 내에서 오른쪽에 배치될 수 있다. 제1 서브 픽셀(SPXa) 및 제2 서브 픽셀(SPXb)은 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)를 각각 포함할 수 있다.
예시적인 실시 예에 따르면, 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)에서 센싱 신호가 생성될 수 있다. 예를 들어, 제1 서브 픽셀(SPXa)에서는 제1 이미지 신호들이, 제2 서브 픽셀(SPXb)에서는 제2 이미지 신호들이 각각 출력되고, 제1 및 제2 이미지 신호들에 기초하여 위상차 연산에 따른 디스패리티가 산출될 수 있다.
도 13d는 도 13 c의 선 A-A'에 따른 수직 단면도를 나타낸다.
도 13d를 참조하면, 픽셀(PXa)은 Z 축 방향(예컨대 제3 방향)으로 적층된 제1 층(L1) 및 제2 층(L2)을 포함할 수 있다. 제1 층(L1)은 광전 변환 층으로 지칭될 수 있으며, 기판(SUB) 상에 형성되는 컬러 필터(CF), 및 마이크로 렌즈(ML), 및 기판(SUB)에 형성되는 두 개의 광전 변환 소자, 예컨대 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)를 포함할 수 있다. 제2 층(L2)은 배선층으로 지칭될 수 있으며, 제2 층(L2)에 복수의 배선들(WS)이 형성될 수 있다.
기판(SUB)은 실리콘 웨이퍼이거나 SOI(Silicon on insulator) 기판 또는 반도체 에피택시얼(epitaxial) 층일 수 있다. 기판(SUB)은 서로 대향하는 제1 면(Sf)과 제2 면(Sb)을 포함할 수 있다. 예를 들어, 제1 면(Sf)은 기판(SUB)의 전면이고, 제2 면(Sb)은 기판(SUB)의 후면일 수 있다. 제2 면(Sb)으로는 빛이 입사될 수 있다.
기판(SUB)에는 기판(SUB)의 제2 면(Sb)으로부터 제1 면(Sf)을 향해 연장되는 복수의 화소 분리막(SEP1, SEP2)(예컨대, 깊은 트렌치 고립(DTI: Deep Trench Isolation) 또는 P-형 이온 주입 영역)이 형성되며 복수의 화소 분리막(SEP1, SEP2) 중 상대적으로 긴 복수의 제1 화소 분리막(SEP1)에 의하여 픽셀(PXa)이 형성되는 픽셀 영역(APX)이 구분되고, 상대적으로 짧은 제1 화소 분리막(SEP1)에 의하여 픽셀 영역(APX)이 제1 서브 픽셀(SPX1) 및 제2 서브 픽셀(SPX2)이 형성되는 제1 영역(A1) 및 제2 영역(A2)으로 구분된다. 예시적인 실시 예에서, 제1 영역(A1) 및 제2 영역(A2) 각각은 제1 도전형(예를 들어, P형)의 불순물로 도핑될 수 있다. 제1 영역(A1) 및 제2 영역(A2) 각각에 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)가 형성될 수 있다. 예를 들어, 제2 도전형(예를 들어, N형)의 불순물로 도핑된 웰 영역들이 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)로서 형성될 수 있다.
도시된 바와 같이, 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)는 마이크로 렌즈(MLx)의 광축(MLX)을 중심으로 제1 방향(예컨대 X 방향) 또는 제2 방향(예컨대 Y 방향)으로 나란하게 배치될 수 있다.
제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb) 사이에 플로팅 디퓨전 노드(FD)가 형성될 수 있다. 실시 예에 있어서, 제1 포토다이오드(PDa) 및 제2 포토다이오드(PDb)와 제1 면(Sf) 사이에 트랜지스터들이 형성될 수 있고, 배선층(L2)의 복수의 배선(WS)을 통해 트랜지스터들에 신호들이 송수신될 수 있다.
도 14는 본 개시의 예시적인 실시 예에 따른 전자 시스템(1)을 나타내는 블록도이다.
도 14를 참조하면, 도 14의 시스템-온-칩(SOC)(1000)은 도 1의 전자 장치(10)가 적용된 것일 수 있다. 즉, 도 14의 시스템-온-칩(1000)은 도 1의 전자 장치(10)를 지원하도록 설계될 수 있다. 도 14에 도시된 시스템-온-칩(1000)은 도 3에 도시된 전자 장치(10)와 대응될 수 있다. 시스템-온-칩(1000)은 구성 요소들 중 적어도 하나의 동작을 제어할 수 있다.
전자 시스템(1)은 PC(personal computer), 데이터 서버, 또는 휴대용 전자 장치로 구현될 수 있다. 상기 휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰 (smart phone), 태블릿 (tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.
전자 시스템(1)은 시스템-온-칩(1000), 카메라 모듈(1100), 디스플레이(1200), 파워 소스(1300), 입출력 포트(1400), 메모리(1500), 스토리지(1600), 외부 메모리(1700), 및 네트워크 장치(8800)를 포함할 수 있다.
카메라 모듈(1100)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈로부터 출력된 전기적인 이미지는 스토리지(1600), 메모리(1500), 또는 외부 메모리(1700)에 저장될 수 있다. 또한, 카메라 모듈(1100)로부터 출력된 전기적인 이미지는 디스플레이(1200)를 통하여 표시될 수 있다. 카메라 모듈(1100)은 도 1의 이미지 센서(100), 또는 이미지 센서(100) 및 이미지 신호 처리기(200)를 포함할 수 있다.
디스플레이(1200)는 스토리지(1600), 메모리(1500), 입출력 포트(1400), 외부 메모리(1700), 또는 네트워크 장치(1800)로부터 출력된 데이터를 디스플레이(1200)할 수 있다. 파워 소스(1300)는 구성 요소들 중 적어도 하나로 동작 전압을 공급할 수 있다. 입출력 포트(1400)는 전자 시스템(1)으로 데이터를 전송하거나 또는 전자 시스템(1)로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들을 의미한다. 예컨대, 입출력 포트(1400)는 컴퓨터 마우스와 같은 포인팅 장치(pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB 드라이브를 접속하기 위한 포트일 수 있다.
메모리(1500)는 휘발성 또는 불휘발성 메모리로 구현될 수 있다. 실시 예에 따라, 메모리(2500)에 대한 데이터 액세스 동작, 예컨대, 리드 동작, 라이트 동작(또는 프로그램 동작), 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러는 시스템-온-칩(1000)에 집적 또는 내장될 수 있다. 다른 실시 예에 따라, 상기 메모리 컨트롤러는 시스템-온-칩(1000)과 메모리(1500) 사이에 구현될 수 있다.
스토리지(1600)는 하드디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
외부 메모리(1700)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 외부 메모리(1700)는 SIM(subscriber identification module) 카드 또는 USIM(universal subscriber identity module) 카드일 수 있다.
네트워크 장치(1800)는 전자 시스템(1)을 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
도 15는 도 14의 시스템-온-칩(1000)의 예시적 실시 예를 나타내는 블록도이다.
도 15를 참조하면, 시스템-온-칩(1000)은 메인 프로세서(1010), ROM(Read Only Memory)/RAM(1020), 모뎀(1030)이미지 신호 처리기(1040), NPU(1051), GPU(1053), DSP(1055)를 포함하는 가속기 모듈(1050), 비휘발성 메모리 인터페이스(1060), 카메라 인터페이스(1070), 메모리 인터페이스(1080) 및 디스플레이 인터페이스(1090)를 포함할 수 있다. 시스템-온-칩(1000)의 구성들, 즉 메인 프로세서(1010), ROM/RAM(1020), 모뎀(1030), 이미지 신호 처리기(1040), 비휘발성 메모리 인터페이스(1060), 카메라 인터페이스(1070), 메모리 인터페이스(1080) 및 디스플레이 인터페이스(1090)는 제2 버스(BUS2)를 통해 데이터를 송수신할 수 있다.
메인 프로세서(1010)는 시스템-온-칩(1000)의 전반적인 동작을 제어할 수 있다. 메인 프로세서(1010)는 예컨대 CPU, 마이크로 프로세서, ARM 프로세서, X86 프로세서, MIPS 프로세서 등으로 구현될 수 있으며, 실시 예에 따라서는 2개 이상의 독립적인 프로세서들(또는 코어들)을 갖는 하나의 컴퓨팅 컴포넌트(computing component), 즉 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 메인 프로세서(1010)는 ROM/RAM(1020)에 저장된 명령어 코드(예를 들어, 인스트럭션) 및/또는 데이터를 처리 또는 실행시킬 수 있다.
RAM/ROM(1020)은 프로그램들, 데이터, 및/또는 명령들(instructions)을 일시적으로 저장할 수 있다. 실시 예에 따라, RAM(1020)은 DRAM 또는 SRAM으로 구현될 수 있다. RAM(1020)은 인터페이스들(1060, 1070, 1080, 1090)을 통해 입출력되거나, 이미지 신호 처리기(200)에서 이미지 처리된 데이터를 일시적으로 저장할 수 있다.
비휘발성 메모리 인터페이스(1060)는 비휘발성 메모리 장치(1160)로부터 입력되는 데이터 또는 비휘발성 메모리로 출력되는 데이터를 인터페이싱할 수 있다. 비휘발성 메모리 장치(1610)는 예컨대, 메모리 카드(MMC, eMMC, SD, micro SD 등)로 구현될 수 있다.
카메라 인터페이스(1070)는 시스템-온-칩(1000)의 외부에 위치한 카메라(1170)로부터 입력되는 이미지 데이터(예컨대, 원시 이미지 데이터)를 인터페이싱할 수 있다. 카메라(1170)는 복수의 광전 변환 소자들을 이용해 촬영한 이미지에 대한 데이터를 생성할 수 있다. 카메라 인터페이스(1070)를 통해 수신되는 이미지 데이터 이미지 신호 처리기(200)에 제공되거나 또는 메모리 인터페이스(1080)를 통해 메모리(1180)에 저장될 수 있다.
메모리 인터페이스(1080)는 메모리(1180)로부터 입력되는 데이터 또는 메모리(1180)로 출력되는 데이터를 인터페이싱할 수 있다. 실시 예에 따라, 메모리(1180)는 DRAM이나 SRAM 등의 휘발성 메모리 또는 ReRAM, PRAM 또는 NAND flash 등의 비휘발성 메모리로 구현될 수 있다.
디스플레이 인터페이스(1090)는 디스플레이 장치(1190)로 출력되는 데이터(예컨대, 이미지 데이터)를 인터페이싱할 수 있다. 디스플레이 장치(1190)는 이미지 데이터에 따른 영상 신호를 LCD(Liquid-crystal display), AMOLED(active matrix organic light emitting diodes) 등의 디스플레이를 통해 출력할 수 있다.
이미지 신호 처리기(1040)는 카메라(1170)로부터 제공되는 이미지 데이터에대하여 이미지 처리를 수행함으로써, 변환된 이미지 데이터를 생성하고, 변환된 이미지 데이터를 메모리(1180)에 저장하거나, 변환된 이미지 데이터를 스케일링하여 스케일링된 이미지를 디스플레이 장치(1190)에 제공할 수 있다. 이 외에도, 시스템-온-칩(1000)은 보안 방법, 프로토콜, 암호화 및 복호화 키를 포함하는 보안기(1100)를 더 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 심도(Depth) 정보를 생성하도록 구성된 전자 장치에 있어서,
    하나 이상의 인스트럭션, 및 이미지 데이터을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션을 실행함으로써 상기 이미지 데이터에 대한 상기 심도 정보를 생성하도록 구성된 적어도 하나의 처리 회로를 포함하고,
    상기 적어도 하나의 처리 회로는,
    상기 이미지 데이터의 휘도(Luminance) 데이터를 획득하고, 디스패리티(Disparity) 특징을 추출하도록 구성된 제1 인공 신경망을 이용하여 상기 휘도 데이터에 대한 절대 심도 데이터를 생성하고, 상기 절대 심도 데이터에 기초해 상기 심도 정보를 생성하도록 더 구성된 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 처리 회로는,
    상기 이미지 데이터에 상응하는 장면(Scene)의 특징에 기반하여 상대 심도를 추정하도록 구성된 제2 인공 신경망을 이용함으로써 상기 절대 심도 데이터에 대한 상대 심도 데이터를 생성하도록 더 구성된 것을 특징으로 하는 전자 장치.
  3. 제2항에 있어서,
    상기 적어도 하나의 처리 회로는 제1 처리 회로 및 제2 처리 회로를 포함하고,
    상기 제1 처리 회로는 상기 제1 인공 신경망을 이용하도록 구성되고,
    상기 제2 처리 회로는 상기 제2 인공 신경망을 이용하도록 구성된 것을 특징으로 하는 전자 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 처리 회로는,
    적어도 하나의 ReLU(Rectified Linear Unit) 함수를 포함하는 활성 레이어 및 복수의 컨볼루션(Convolution) 레이어를 포함하는 제3 인공 신경망을 이용함으로써 상기 절대 심도 데이터 및 상기 상대 심도 데이터를 결합하도록 더 구성된 것을 특징으로 하는 전자 장치.
  5. 제1항에 있어서,
    상기 이미지 데이터는,
    복수의 광전 변환 소자들 중 적어도 두 개가 하나의 마이크로 렌즈를 공유하도록 구성된 듀얼 픽셀에 의해 생성된 것을 특징으로 하는 전자 장치.
  6. 전자 장치에 있어서,
    복수의 광전 변환 소자들을 이용하여 객체를 센싱하고, 상기 복수의 광전 변환 소자들 중 적어도 두 개는 하나의 마이크로 렌즈를 공유함으로써 디스패리티(disparity)를 가지는 이미지 데이터를 생성하도록 구성된 이미지 센서;
    하나 이상의 인스트럭션, 및 상기 이미지 데이터를 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션을 실행함으로써 상기 이미지 데이터에 대한 심도(Depth) 정보를 생성하도록 구성된 적어도 하나의 처리 회로를 포함하고,
    상기 적어도 하나의 처리 회로는,
    상기 이미지 데이터의 절대 심도를 추정하도록 구성된 제1 인공 신경망을 이용함으로써 상기 이미지 데이터에 대한 절대 심도 데이터를 생성하고, 상기 이미지 데이터에 상응하는 장면(Scene)의 모양에 기반하여 상대 심도를 추정하도록 구성된 제2 인공 신경망을 이용함으로써 상기 절대 심도 데이터에 대한 상대 심도 데이터를 생성하며, 제3 인공 신경망을 이용해 상기 절대 심도 데이터 및 상기 상대 심도 데이터를 결합시킴으로써 심도 정보를 생성하도록 더 구성된 것을 특징으로 하는 전자 장치.
  7. 제6항에 있어서,
    상기 이미지 데이터는,
    YUV 형식을 따르는 휘도(Luminance) 데이터인 것을 특징으로 하는 전자 장치.
  8. 제6항에 있어서,
    상기 제1 인공 신경망은,
    상기 디스패리티를 가지는 2개의 이미지 데이터 쌍을 입력받아, 1개의 상기 절대 심도 데이터를 출력으로 생성하도록 구현된 것을 특징으로 하는 전자 장치.
  9. 제6항에 있어서,
    상기 제2 인공 신경망은,
    이미지의 특징이 성긴(sparse), 언텍스쳐드(untextured) 이미지의 특징을 추출하도록 구성된 것을 특징으로 하는 전자 장치.
  10. 처리 회로의 이미지 데이터에 대한 심도(Depth) 정보 생성 방법에 있어서,
    상기 이미지 데이터로부터 YUV 형식을 따르는 휘도(Luminance) 데이터를 메모리로부터 획득하는 단계;
    상기 휘도 데이터에 대해 제1 인공 신경망을 이용해 디스패리티(Disparity) 특징 학습을 적용함으로써 절대 심도 데이터를 생성하는 단계;
    제2 인공 신경망을 이용해 장면 학습을 적용함으로써 상대 심도 데이터를 생성하는 단계; 및
    제3 인공 신경망을 이용해 상기 절대 심도 데이터 및 상기 상대 심도 데이터를 결합함으로써 심도 정보를 생성하는 단계를 포함하는 심도 정보 생성 방법.
KR1020210053756A 2021-04-26 2021-04-26 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법 KR20220146900A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210053756A KR20220146900A (ko) 2021-04-26 2021-04-26 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법
US17/556,472 US11978223B2 (en) 2021-04-26 2021-12-20 Electronic device including processing circuit for generating depth information using luminance data and method of generating depth information
CN202210366193.7A CN115249256A (zh) 2021-04-26 2022-04-08 用于生成深度信息的电子装置和生成深度信息的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210053756A KR20220146900A (ko) 2021-04-26 2021-04-26 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법

Publications (1)

Publication Number Publication Date
KR20220146900A true KR20220146900A (ko) 2022-11-02

Family

ID=83694399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210053756A KR20220146900A (ko) 2021-04-26 2021-04-26 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법

Country Status (3)

Country Link
US (1) US11978223B2 (ko)
KR (1) KR20220146900A (ko)
CN (1) CN115249256A (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172381A (ja) 2004-12-20 2006-06-29 Dkk Toa Corp 画像観測方法およびこの方法を実施する装置
KR101119941B1 (ko) 2010-12-17 2012-03-16 강원대학교 산학협력단 입체영상의 화질 개선 장치 및 방법
KR101207862B1 (ko) 2010-12-24 2012-12-04 유기령 2차원 영상을 스테레오 영상으로 변환하는 방법
US9445018B2 (en) 2014-05-01 2016-09-13 Semiconductor Components Industries, Llc Imaging systems with phase detection pixels
JP6566749B2 (ja) * 2015-07-01 2019-08-28 株式会社ソニー・インタラクティブエンタテインメント 撮像素子、イメージセンサ、および情報処理装置
US10148864B2 (en) 2015-07-02 2018-12-04 Pixart Imaging Inc. Imaging device having phase detection pixels and regular pixels, and operating method thereof
CN110476185B (zh) * 2017-06-02 2023-04-04 上海科技大学 景深信息估算方法和装置
US10362296B2 (en) 2017-08-17 2019-07-23 Microsoft Technology Licensing, Llc Localized depth map generation
US10846888B2 (en) * 2018-09-26 2020-11-24 Facebook Technologies, Llc Systems and methods for generating and transmitting image sequences based on sampled color information
KR20200056709A (ko) 2018-11-15 2020-05-25 주식회사 인트로메딕 3차원 영상을 렌더링하는 방법, 상기 방법을 사용하는 영상처리장치, 상기 영상처리장치와 연동하는 촬영장치, 상기 촬영장치의 촬영방법, 및 3차원 영상을 렌더링하는 시스템
US11494937B2 (en) 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
WO2022216333A1 (en) * 2021-04-08 2022-10-13 Google Llc Neural blending for novel view synthesis

Also Published As

Publication number Publication date
US20220343523A1 (en) 2022-10-27
US11978223B2 (en) 2024-05-07
CN115249256A (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
US9343492B2 (en) CMOS image sensor based on thin-film on asic and operating method thereof
CN105991946B (zh) 图像信号处理器和包括该图像信号处理器的装置
US11849226B2 (en) Image processing device including neural network processor and operating method thereof
US11323638B2 (en) Method of correcting dynamic vision sensor (DVS) events and image sensor performing the same
US20220182537A1 (en) Image processing apparatus including neural network processor and method of operating the same
US20220366588A1 (en) Electronic device for generating depth information of region of interest and operation method thereof
CN108810428A (zh) 成像装置、像素及方法
US11978223B2 (en) Electronic device including processing circuit for generating depth information using luminance data and method of generating depth information
US11895401B2 (en) Camera module for high resolution auto focusing and electronic device including same
US20230239553A1 (en) Multi-sensor imaging color correction
US11627250B2 (en) Image compression method, encoder, and camera module including the encoder
KR20240068414A (ko) 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법
US20240163578A1 (en) Image signal processor, image sensor, and operating method of the image sensor
US11748862B2 (en) Image processing apparatus including neural network processor and method of operation
US20240147090A1 (en) Image sensor and operating method
US20240054659A1 (en) Object detection in dynamic lighting conditions
KR20230034875A (ko) 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법
CN115760659A (zh) 图像处理设备及其操作方法
WO2022151330A1 (zh) 一种图像处理的方法及相关装置
KR102667267B1 (ko) 영상 획득 장치 및 이를 포함하는 전자 장치
US20220020180A1 (en) Image compression method using saturated pixel, encoder, and electronic device
US11696041B2 (en) Image sensor, control method, camera component and mobile terminal with raised event adaptability and phase detection auto focus
CN112752009B (zh) 图像处理方法、模块、可读存储介质和图像传感器
US20240029308A1 (en) Apparatus and method for performing color transformation on raw sensor images
US20240171871A1 (en) Image processing device and image processing method using super resolution network

Legal Events

Date Code Title Description
A201 Request for examination