KR20230034875A - 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법 - Google Patents

프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20230034875A
KR20230034875A KR1020220073065A KR20220073065A KR20230034875A KR 20230034875 A KR20230034875 A KR 20230034875A KR 1020220073065 A KR1020220073065 A KR 1020220073065A KR 20220073065 A KR20220073065 A KR 20220073065A KR 20230034875 A KR20230034875 A KR 20230034875A
Authority
KR
South Korea
Prior art keywords
image data
processor
input
neural network
image processing
Prior art date
Application number
KR1020220073065A
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 CN202211053491.7A priority Critical patent/CN115760659A/zh
Priority to US17/902,464 priority patent/US20230071368A1/en
Publication of KR20230034875A publication Critical patent/KR20230034875A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4015Demosaicing, e.g. colour filter array [CFA], Bayer pattern
    • 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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4046Scaling the whole image or part thereof using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/007Dynamic range modification
    • G06T5/70
    • G06T5/90
    • 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]

Abstract

본 개시의 기술적 사상에 따른 이미지 처리 장치는, 이미지 센서로부터 이미지 센서의 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신하고, 이미지 센서에 포함된 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 입력 이미지 데이터를 재구성(reconstruction)하여 재구성 이미지 데이터를 생성하는 프리-프로세서, 및 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 뉴럴 네트워크 프로세서를 포함할 수 있다.

Description

프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법{Image processing apparatus including a pre-processor and neural network processor and operating method thereof}
본 개시의 기술적 사상은 프리-프로세서 및 뉴럴 네트워크 프로세서를 이용한 이미지 처리 동작을 수행하는 이미지 처리 장치 및 이의 동작 방법에 관한 발명이다.
최근, 고품질 및 고화질의 사진, 영상 등에 대한 요구가 커짐에 따라 이미지 센서로부터 생성된 이미지 데이터를 뉴럴 네트워크 프로세서(Neural Network Processor)를 이용하여 이미지 처리를 효율적으로 수행할 수 있다. 뉴럴 네트워크에 기초하여 이미지 처리를 위한 딥러닝(deep learning) 또는 기계 학습(machine learning) 등이 구현될 수 있다.
뉴럴 네트워크 프로세서를 이용하여 이미지 데이터를 이미지 처리 시 거짓 색상(false color) 등의 결함이 발생하고, 이미지의 품질이 낮아질 수 있다. 이에 따라, 이미지 데이터를 이미지 처리 시, 결함을 최소화하면서도 고품질의 이미지를 출력하는 기술이 요구되고 있다.
본 발명의 기술적 사상이 해결하려는 과제는 뉴럴 네트워크 프로세서로 입력되는 이미지 데이터를 재구성하고, 뉴럴 네트워크 프로세서를 이용하여 이미지 처리 동작들을 수행함으로써 이미지 처리 장치로부터 출력되는 이미지 데이터의 품질을 향상시키기 위한 이미지 처리 장치 및 이의 동작 방법을 제공한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 이미지 처리 장치에 있어서, 이미지 센서로부터 이미지 센서의 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신하고, 상기 이미지 센서에 포함된 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 상기 입력 이미지 데이터를 재구성(reconstruction)하여 재구성 이미지 데이터를 생성하는 프리-프로세서 및 상기 입력 이미지 데이터 및 상기 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 뉴럴 네트워크 프로세서를 포함하는 이미지 처리 장치를 제공할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제2 측면은, 이미지 처리 장치에 있어서, 복수의 픽셀들 및 상기 복수의 픽셀들이 배열된 필터 어레이를 포함하고, 상기 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 생성하는 이미지 센서, 상기 복수의 픽셀들 각각에 대응하는 위상 정보 및 상기 패턴에 기초하여 상기 입력 이미지 데이터를 재구성(reconstruction)하여 재구성 이미지 데이터를 생성하는 프리-프로세서, 및 상기 입력 이미지 데이터 및 상기 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 뉴럴 네트워크 프로세서를 포함하고, 상기 프리-프로세서는, 상기 패턴에 기초하여 상기 재구성 이미지 데이터의 단위를 결정하고, 상기 입력 이미지 데이터를 상기 결정된 단위를 갖는 상기 재구성 이미지 데이터로 생성하는 것을 특징으로 하는 이미지 처리 장치를 제공할 수 있다
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제3 측면은, 이미지 처리 장치의 동작 방법에 있어서, 복수의 픽셀들이 배열된 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신하는 단계, 상기 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 입력 이미지 데이터를 재구성하여 재구성 이미지 데이터를 생성하는 단계, 및 기설정된 이미지 처리 동작들을 수행하도록 훈련된 뉴럴 네트워크 프로세서를 이용하여 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 단계를 포함하는 이미지 처리 장치의 동작 방법을 제공할 수 있다.
본 개시의 기술적 사상에 따른 이미지 처리 장치는, 이미지 처리 동작들을 수행하도록 훈련된 뉴럴 네트워크 프로세서로 입력되는 이미지 데이터를 재구성함으로써, 뉴럴 네트워크 프로세서의 성능을 향상시킬 수 있다.
또한, 이미지 처리 장치는 뉴럴 네트워크 프로세서의 레벨 별로 입력되는 이미지 데이터에 대해 가중치를 다르게 적용함으로써, 뉴럴 네트워크 프로세서의 성능을 향상시킬 수 있다. 이에 따라, 이미지 처리 동작 시 결함을 최소화하여 고해상도 및 고품질의 이미지를 생성할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 설명으로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 시스템을 나타내는 블록도이다.
도 2는 일 실시예에 따른 뉴럴 네트워크 구조를 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 4 및 도 5는 일 실시예에 따른 프리-프로세서의 동작을 구체적으로 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 뉴럴 네트워크를 설명하기 위한 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 적응 계층 분산 블록을 설명하기 위한 도면이다.
도 8은 본 개시의 예시적 실시 예에 따른 이미지 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 9는 본 개시의 예시적 실시 예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 10은 본 개시의 예시적 실시예에 따른 전자 장치를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 시스템을 나타내는 블록도이다.
뉴럴 네트워크 시스템(100)은 뉴럴 네트워크를 훈련(train)(또는 학습(learn))하거나, 뉴럴 네트워크를 이용하여 입력 데이터를 분석함으로써 입력 데이터에 포함된 정보를 추론(inference)할 수 있다. 뉴럴 네트워크 시스템(100)은 추론된 정보를 기초로 상황 판단을 하거나 또는 뉴럴 네트워크 시스템(100)이 탑재되는 전자 장치의 구성들을 제어할 수 있다. 예컨대, 뉴럴 네트워크 시스템(100)은 뉴럴 네트워크를 이용한 음성 인식, 영상 인식, 영상 분류, 영상 처리 등을 수행하는 스마트 폰, 태블릿 디바이스, 스마트 TV, AR(Augmented Reality) 디바이스, IoT(Internet of Things) 디바이스, 자율주행 자동차, 로보틱스, 의료기기, 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS), 영상 표시 장치, 계측 장치 등에 적용될 수 있으며, 이 외에도 뉴럴 네트워크 시스템(100)은 다양한 종류의 전자 장치 중 하나에 탑재될 수 있다. 실시예에 있어서, 도 1의 뉴럴 네트워크 시스템(100)은 애플리케이션 프로세서일 수 있다. 이하에서는, 뉴럴 네트워크 시스템(100)은 이미지 처리 장치에 적용될 수 있으며, 카메라 모듈(110)의 이미지 데이터에 대한 이미지 처리 동작들을 수행할 수 있도록 구현된 것을 중심으로 서술한다.
도 1을 참조하면, 뉴럴 네트워크 시스템(100)은 카메라 모듈(110), 뉴럴 네트워크 프로세서(또는, 뉴럴 네트워크 장치)(120), 프리-프로세서(Pre-Processor)(130), CPU(Cenral Proccessing Unit)(140), 램(random access memory)(150), 메모리(160) 및 디스플레이(170)를 포함할 수 있다. 뉴럴 네트워크 시스템(100)은 입출력 모듈, 보안 모듈, 전력 제어 장치 등을 더 포함할 수 있으며, 또한 다양한 종류의 프로세서들을 더 포함할 수 있다.
실시예들에 있어서, 뉴럴 네트워크 시스템(100)의 구성들 중 일부 또는 전부는 하나의 반도체 칩에 형성될 수 있다. 예컨대, 뉴럴 네트워크 시스템(100)은 시스템-온 칩(System On Chip; SoC)으로서 구현될 수 있으며, 일부 실시예에 있어서, 이미지 칩 등으로 지칭될 수 있다. 뉴럴 네트워크 시스템(100)의 구성들은 버스(180)를 통해 서로 통신할 수 있다.
CPU(140)는 뉴럴 네트워크 시스템(100)의 전반적인 동작을 제어할 수 있다. CPU(140)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(140)는 메모리(160)와 같은 저장 영역에 저장된 프로그램들 및/또는 데이터를 램(150)을 이용하여 처리 또는 실행할 수 있다.
예를 들어서, CPU(140)는 응용 프로그램(application)을 실행하고, 응용 프로그램의 실행에 따라 요구되는 뉴럴 네트워크 기반의 태스크들을 수행하도록 뉴럴 네트워크 프로세서(120)를 제어할 수 있다. 뉴럴 네트워크는 ANN(Artificial Neural Network), CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network, Plain Residual Network, Dense Network, Hierarchical Pyramid Network, Fully Convolutional Network 중 적어도 하나에 기초한 뉴럴 네트워크 모델일 수 있다. 한편, 뉴럴 네트워크 모델의 종류는 전술한 예에 한하지 않는다.
뉴럴 네트워크 프로세서(120)는 수신되는 입력 데이터를 기초로 뉴럴 네트워크 연산을 수행할 수 있다. 나아가, 뉴럴 네트워크 프로세서(120)는 뉴럴 네트워크 연산의 수행 결과를 기초로 정보 신호를 생성할 수 있다. 뉴럴 네트워크 프로세서(120)는 뉴럴 네트워크 연산 가속기, 코프로세서(coprocessor), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field-programmable gate array), GPU(Graphics processing unit), NPU(Neural processing unit), TPU(Tensor Processing Unit) 및 MPSoC(Multi-Processor System-on-Chip) 등으로 구현될 수 있다.
카메라 모듈(110)은 각각 뉴럴 네트워크 시스템(100) 외부의 피사체(또는 객체)를 촬영하고, 이미지 데이터를 생성할 수 있다. 예를 들어, 카메라 모듈(110)은 이미지 센서(111)를 포함할 수 있다. 이미지 센서(111)는 광학 렌즈(미도시)에 의해 피사체의 광학적 신호를 전기적 신호로 변환할 수 있다. 이를 위해, 이미지 센서(111)는 복수의 픽셀들이 2차원적으로 배열된 픽셀 어레이를 포함할 수 있다. 예를 들어, 복수의 픽셀들 각각에는 복수의 기준색들 중 하나의 색이 할당될 수 있다. 예를 들어, 복수의 기준색들은 RGB(red, green, blue), 또는 RGBW(red, green, blue, white)를 포함할 수 있다.
카메라 모듈(110)은 이미지 센서(111)를 이용하여 이미지 데이터를 생성할 수 있다. 이미지 데이터는 이미지 프레임 및 프레임 데이터와 같이 다양하게 지칭될 수 있다. 이하에서는, 이미지 센서(111)가 생성한 이미지 데이터를 입력 이미지 데이터로 지칭할 수 있다. 입력 이미지 데이터는 뉴럴 네트워크 프로세서(120)나 프리-프로세서(130)에 입력 데이터로서 제공되거나, 메모리(160)에 저장될 수 있다. 메모리(160)에 저장된 입력 이미지 데이터는 프리-프로세서(130)나 뉴럴 네트워크 프로세서(120)로 제공될 수 있다.
본 개시의 예시적 실시예에 따른 프리-프로세서(130)는 카메라 모듈(110) 또는 메모리(160)로부터 입력 이미지 데이터를 수신하고, 이를 재구성(reconstruct)하여 이미지 데이터를 생성할 수 있다. 이하에서는, 프리-프로세서(130)가 생성한 이미지 데이터를 재구성 이미지 데이터로 지칭할 수 있다. 프리-프로세서(130)는 복수의 픽셀들에 대응하는 위상 정보에 기초하여 입력 이미지 데이터를 재구성할 수 있다. 프리-프로세서(130)는 뉴럴 네트워크 프로세서(120)의 성능을 향상시키기 위해 입력 이미지 데이터에 대해 재구성 동작을 수행할 수 있다.
입력 이미지 데이터에 대한 재구성 동작은 입력 이미지 데이터를 위상 정보에 기초하여 분류하고, 입력 이미지 데이터의 단위를 변환하는 동작을 지칭할 수 있다. 예를 들어, 프리-프로세서(130)는 테트라(tetra) 패턴을 갖는 입력 이미지 데이터를 테트라 패턴 단위와 상이한 단위를 갖도록 변환하여 재구성 이미지 데이터를 생성할 수 있다. 프리-프로세서(130)가 수행하는 재구성 동작에 대한 구체적인 설명은 이하 도 3 내지 도 5에서 후술한다.
프리-프로세서(130)는 입력 이미지 데이터에 대해 프리-프로세싱 동작 및 재구성 동작을 수행할 수 있다. 예를 들어, 프리-프로세싱 동작은 배드 픽셀 보정 동작, 렌즈 쉐이딩 보정 동작, 크로스 토크 보정 동작, 화이트 밸런스 보정 동작 중 적어도 하나를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서(120)는 프리-프로세서(130)로부터 재구성 이미지 데이터를 수신하고, 이에 기반하여 뉴럴 네트워크 연산을 수행할 수 있다. 뉴럴 네트워크 프로세서(120)는 카메라 모듈(110) 또는 메모리(160)로부터 입력 이미지 데이터를 수신하고, 이에 기반하여 뉴럴 네트워크 연산을 수행할 수 있다.
뉴럴 네트워크 프로세서(120)는 재구성 이미지 데이터 및 입력 이미지 데이터를 수신하여 뉴럴 네트워크 연산을 수행할 수 있다. 뉴럴 네트워크 프로세서(120)는 재구성 이미지 데이터 및 입력 이미지 데이터 각각으로부터 피처(feature)를 추출할 수 있고, 이에 기반하여 뉴럴 네트워크 연산을 수행할 수 있다. 뉴럴 네트워크 프로세서(120)는 고품질의 이미지를 생성하기 위한 이미지 처리 동작을 수행하도록 훈련될 수 있다.
뉴럴 네트워크 프로세서(120)는 카메라 모듈(110)의 이미지 센서(111)에 대하여 일반적으로 수행되는 이미지 처리 동작들 중 적어도 하나를 수행하도록 훈련될 수 있다. 여기서 이미지 처리 동작들은, 배드 픽셀 보정(Bad Pixel Correction, BPC) 동작, 렌즈 쉐이딩 보정(Lens Shading Correction, LSC) 동작, 크로스 토크 보정(X-talk correction) 동작, 화이트 밸런스(White Balance, WB) 보정 동작, 리모자이크(Remosaic) 동작, 디모자이크(Demosaic) 동작, 디노이즈(Denoise) 동작, 디블러(Deblur) 동작, 감마 보정(Gamma correction) 동작, 하이 다이나믹 레인지(High Dynamic Range, HDR) 동작, 톤 매핑(Tone mapping) 동작 등 다양한 동작들을 포함할 수 있다. 한편, 이미지 처리 동작의 종류는 전술한 예에 한하지 않는다.
뉴럴 네트워크 프로세서(120)는 프리-프로세서(130)로부터 생성된 재구성 이미지 데이터를 수신하고, 재구성 이미지 데이터에 대한 이미지 처리 동작들을 수행하여 출력 이미지 데이터를 생성할 수 있다.
메모리(160)는 휘발성 메모리(volatile memory) 또는 비휘발성 메모리(nonvolatile memory) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FeRAM (Ferroelectric RAM) 등을 포함한다. 휘발성 메모리는 DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous DRAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FeRAM(Ferroelectric RAM) 등을 포함한다. 실시예에 있어서, 메모리(160)는 HDD(Hard Disk Drive), SSD(Solid State Drive), CF(compact flash) 카드, SD(secure digital) 카드, Micro-SD(micro secure digital) 카드, Mini-SD(mini secure digital) 카드, xD(extreme digital) 카드 또는 Memory Stick 중 적어도 하나를 포함할 수 있다.
디스플레이(170)는 뉴럴 네트워크 프로세서(120)로부터 수신한 출력 이미지 데이터를 기초로 사용자에게 각종 컨텐츠(예를 들어, 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)를 표시할 수 있다. 예를 들어, 디스플레이(170)는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(170)는 이미지를 표시하기 위해 복수의 픽셀들이 매트릭스 형태로 배치된 픽셀 어레이를 포함할 수 있다.
도 2는 일 실시예에 따른 뉴럴 네트워크 구조를 나타낸다. 도 2의 뉴럴 네트워크(NN)의 구조는, 도 1의 뉴럴 네트워크 프로세서(120)에 적용될 수 있다.
도 2를 참조하면, 뉴럴 네트워크(NN)는 복수의 레벨(LV1 내지 LV3)을 포함할 수 있다. 다만, 이에 반드시 제한되는 것은 아니며 뉴럴 네트워크(NN)는 하나의 레벨만으로 구성될 수도 있고, 2 이상의 레벨을 포함할 수도 있다. 이하에서는, 제1 레벨(LV1)에 대해 설명하나, 이는 뉴럴 네트워크(NN)에 포함되는 다른 레벨에 대해서도 실질적으로 동일하게 적용될 수 있다. 또한, 뉴럴 네트워크(NN)에는 필요에 따라 제1 레벨(LV1)에서의 레이어들 중 일부가 생략되거나 제1 레벨(LV1)에서 설명한 레이어 이외의 레이어들이 추가될 수 있다.
제1 레벨(LV1)은 복수의 레이어들(L1_1 내지 Ln_1)을 포함할 수 있다. 이와 같은 멀티-레이어드 구조의 뉴럴 네트워크는 딥 뉴럴 네트워크(deep neural network; DNN) 또는 딥 러닝 구조(deep learning architecture)로 지칭될 수 있다. 복수의 레이어들(L1_1 내지 Ln_1) 각각은 선형 레이어 또는 비선형 레이어일 수 있으며, 실시예에 있어서, 적어도 하나의 레이어 및 적어도 하나의 비선형 레이어가 겹합되어 하나의 레이어로 지칭될 수도 있다. 예시적으로, 선형 레이어는 컨볼루션(convolution) 레이어, 풀리 커넥티드(fully connected) 레이어를 포함할 수 있으며, 비선형 레이어는 풀링(pooling) 레이어, 액티베이션 레이어를 포함할 수 있다.
예시적으로, 제1 레이어(L1_1)는 컨볼루션 레이어이고, 제2 레이어(L2_1)는 풀링(pooling) 레이어이고, 제n 레이어(Ln_1)는 출력 레이어로서 풀리 커넥티드(fully connected) 레이어일 수 있다. 뉴럴 네트워크(NN)는 활성(activation) 레이어를 더 포함할 수 있으며, 다른 종류의 연산을 수행하는 레이어를 더 포함할 수 있다.
복수의 레이어들(L1_1 내지 Ln_1) 각각은 입력되는 이미지 데이터 또는 이전 레이어에서 생성된 피처 맵을 입력 피처 맵으로서 수신하고, 입력 피처 맵을 연산하여 출력 피처 맵을 생성할 수 있다. 이때, 피처 맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미한다. 피처 맵들(FM1_1 내지 FMn_1)은 예컨대 복수의 피처 값들을 포함하는 2차원 매트릭스 또는 3차원 매트릭스(또는 텐서(tensor)라고 함) 형태를 가질 수 있다. 피처 맵들((FM1_1 내지 FMn_1)은 너비(W1)(또는 칼럼이라고 함), 높이(H1)(또는 로우라고 함) 및 깊이(D1)를 가지며, 이는 좌표상의 x축, y축 및 z축에 각각 대응할 수 있다. 이때, 깊이(D1)는 채널 수(CH1)로 지칭될 수 있다. 도 2에는 3개의 채널 수(CH1)가 표시되었으나, 이에 반드시 제한되는 것은 아니며, 채널 수(CH1)는 1일 수도 있고, 2 이상의 개수를 가질 수도 있다.
제1 레이어(L1_1)는 제1 피처 맵(FM1_1)을 웨이트 맵(WM1)과 컨볼루션하여 제2 피처 맵(FM2_1)을 생성할 수 있다. 웨이트 맵(WM1)은 복수의 웨이트 값들을 포함하는 2차원 매트릭스 또는 3차원 매트릭스 형태를 가질 수 있다. 웨이트 맵(WM1)은 커널로 지칭될 수 있다. 웨이트 맵(WM1)은 제1 피처 맵(FM1_1)을 필터링할 수 있으며, 필터 또는 커널로 지칭될 수 있다. 웨이트 맵(WM1)의 깊이, 즉 채널 개수는 제1 피처 맵(FM1_1)의 깊이, 즉 채널 개수와 동일하며, 웨이트 맵(WM1)과 제1 피처 맵(FM1_1)의 동일한 채널끼리 컨볼루션될 수 있다. 웨이트 맵(WM1)이 제1 피처 맵(FM1_1)을 슬라이딩 윈도로하여 횡단하는 방식으로 시프트된다. 각 시프트동안, 웨이트 맵(WM1)에 포함되는 웨이트들 각각이 제1 피처 맵(FM1_1)과 중첩된 영역에서의 모든 피처값과 곱해지고 더해질 수 있다. 제1 피처 맵(FM1_1)과 웨이트 맵(WM1)이 컨볼루션 됨에 따라, 제2 피처 맵(FM2_1)의 하나의 채널이 생성될 수 있다. 도 2에는 하나의 웨이트 맵(WM1)이 표시되었으나, 실질적으로는 복수개의 웨이트 맵이 제1 피처 맵(FM1_1)과 컨볼루션됨으로써, 제2 피처 맵(FM2_1)의 복수개의 채널이 생성될 수 있다. 다시 말해, 제2 피처 맵(FM2_1)의 채널의 수는 웨이트 맵의 개수에 대응할 수 있다.
제2 레이어(L2_1)는 풀링을 통해 제2 피처 맵(FM2_1)의 공간적 크기(spatial size)를 변경함으로써, 제3 피처 맵(FM3_1)을 생성할 수 있다. 풀링은 샘플링 또는 다운-샘플링으로 지칭될 수 있다. 2차원의 풀링 윈도우(PW1)가 풀링 윈도우(PW1)의 사이즈 단위로 제2 피처 맵(FM2_1) 상에서 쉬프트되고, 풀링 윈도우(PW1)와 중첩되는 영역의 피처값들 중 최대값(또는 피처값들의 평균값)이 선택될 수 있다. 이에 따라, 제2 피처 맵(FM2_1)으로부터 공간적 사이즈가 변경된 제3 피처 맵(FM3_1)이 생성될 수 있다. 제3 피처 맵(FM3_1)의 채널과 제2 피처 맵(FM2_1)의 채널 개수는 동일할 수 있다.
제n 레이어(Ln_1)는 제n 피처 맵(FMn_1)의 피처들을 조합하여 입력 데이터의 클래스(class)(CL)를 분류할 수 있다. 또한, 클래스에 상응하는 인식 신호(RI)를 생성할 수 있다. 제n 레이어(Ln_1)는 필요에 따라 생략될 수도 있다.
뉴럴 네트워크(NN)는 하나의 레벨을 포함할 수 있으나, 복수의 레벨을 포함할 수도 있다. 복수의 레벨 각각은 각각의 레벨으로 입력되는 이미지 데이터에서 생성된 피처 맵을 입력 피처 맵으로서 수신하고, 입력 피처 맵을 연산하여 출력 피처 맵 또는 인식 신호(REC)를 생성할 수 있다. 예시적으로, 제1 레벨(LV1)은 입력 이미지 데이터에서 생성된 피처 맵을 입력 피처 맵으로서 수신할 수 있다. 제1 레이어(L1_1)는 입력 이미지 데이터에서 생성된 제1 피처 맵(FM1_1)을 수신할 수 있다. 제2 레벨(LV2)은 제1 재구성 이미지 데이터에서 생성된 피처 맵을 입력 피처 맵으로서 수신할 수 있다. 제1 레이어(L1_2)는 제1 재구성 이미지 데이터에서 생성된 제1 피처 맵(FM1_2)을 수신할 수 있다. 제3 레벨(LV3)은 제2 재구성 이미지 데이터에서 생성된 피처 맵을 입력 피처 맵으로서 수신할 수 있다. 제1 레이어(L1_3)는 제2 재구성 이미지 데이터에서 생성된 제1 피처 맵(FM1_3)을 수신할 수 있다. 제1 재구성 이미지 데이터와 제2 재구성 이미지 데이터의 단위는 서로 상이할 수 있다.
제1 피처 맵(FM1_1), 제1 피처 맵(FM1_2), 및 제1 피처 맵(FM1_3) 각각의 너비(W1, W2, W3), 높이(H1, H2, H3), 및 깊이(D1, D2, D3)는 서로 상이할 수 있다. 예를 들어, 제1 피처 맵(FM1_1)의 깊이(D1)는 1이고, 제1 피처 맵(FM1_2)의 깊이(D2)는 4이고, 제1 피처 맵(FM1_3)의 깊이(D3)는 16일 수 있다. 즉, 제1 피처 맵(FM1_1), 제1 피처 맵(FM1_2), 및 제1 피처 맵(FM1_3) 각각의 채널 수가 상이할 수 있다.
복수의 레벨들은 서로 유기적으로 연결될 수 있다. 예시적으로, 복수의 레벨들 각각에 포함된 레이어로부터 출력된 피처 맵들은 상이한 레벨의 피처 맵과 유기적으로 연결될 수 있다. 예를 들어, 뉴럴 네트워크(NN)는 제3 피처 맵(3_1)과 제1 피처 맵(FM1_2)의 특징을 추출하기 위한 연산을 수행할 수 있고, 새 피처 맵이 생성될 수 있다. 일 실시예에서, 제n 레이어(Ln_1)는 하나의 레벨에만 존재할 수 있고, 각 레벨의 피처 맵의 피처들을 조합하여 입력 데이터의 클래스(class)(CL)를 분류할 수 있다.
일부 실시예들에서, 뉴럴 네트워크(NN)는 U-Net에 기초할 수 있다. U-Net은 end-to-end 방식의 완전 합성곱(fully convolution) 네트워크일 수 있다. 일 실시예에서, U-Net은 컨볼루션 레이어들, 바이리니어 업샘플링(bilinear upsampling) 레이어들, 평균 레이어들 및 어텐션 레이어들을 포함할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다. 상세하게는, 도 3은 도 1의 뉴럴 네트워크 시스템(100)이 이미지 처리 장치(300)로 구현된 실시예를 나타내는 도면이다.
이미지 처리 장치(300)는 이미지를 촬영하고, 촬영된 이미지를 디스플레이하거나 또는 촬영된 이미지 기반의 동작을 수행하는 전자 장치로 구현될 수 있다. 이미지 처리 장치(300)는 예를 들어, PC(personal computer), IoT (Internet of Things) 장치, 또는 휴대용 전자 장치로 구현될 수 있다. 휴대용 전자 장치는, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등을 포함할 수 있다. 또한, 이미지 처리 장치(300)는 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 전자 기기 또는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로서 구비되는 전자 기기에 탑재될 수 있다.
도 3을 참조하면, 이미지 처리 장치(300)는 카메라 모듈(310) 및 이미지 처리 시스템(320)을 포함할 수 있다. 이미지 처리 장치(300)는 디스플레이, 유저 인터페이스 등의 다른 구성들을 더 포함할 수 있다. 이미지 처리 시스템(320)은 프리-프로세서(330), 뉴럴 네트워크 프로세서(340)를 포함할 수 있다. 카메라 모듈(310), 프리-프로세서(330), 및 뉴럴 네트워크 프로세서(340)는 도 1의 카메라 모듈(110), 프리-프로세서(130), 및 뉴럴 네트워크 프로세서(120)에 각각 대응될 수 있으므로, 중복되는 설명은 생략한다. 도 3에는, 이미지 처리 장치(300)가 카메라 모듈(310) 및 이미지 처리 시스템(320)을 포함하는 것으로 도시되어 있으나, 필요에 따라 이미지 처리 장치(300)는 카메라 모듈(310)을 포함하지 않을 수 있고, 카메라 모듈(310)과 이미지 처리 시스템(320)은 별개의 반도체 칩으로 구현될 수 있다.
프리-프로세서(330) 및 뉴럴 네트워크 프로세서(340)는 단일 또는 복수의 반도체 칩으로 구현될 수 있다. 더 나아가, 이미지 처리 시스템(320) 또는 이미지 처리 장치(300)는 SoC(System On Chip)로 구현될 수 있다.
카메라 모듈(310)의 이미지 센서(311)는 소정의 패턴을 갖는 컬러 필터 어레이(Color Filter Array: CFA)를 포함하고, 광학 렌즈(LS)를 통하여 입사된 피사체(Object)의 광학적 신호를 컬러 필터 어레이(CFA)를 이용하여 전기적 신호로 변환하고, 전기적 신호들을 기초로 입력 이미지 데이터(IIDT)를 생성하여 출력할 수 있다. 예시적 실시예로, 컬러 필터 어레이(CFA)는 레드 픽셀, 블루 픽셀, 및 2개의 그린 픽셀들을 포함하는 2 Υ 2 크기의 셀(Cell)들이 반복적으로 배치되는 베이어(Bayer) 패턴으로 구현될 수 있다. 또는, 컬러 필터 어레이(CFA)는 4개의 레드 픽셀, 4개의 블루 픽셀, 및 8개의 그린 픽셀들을 포함하는 4 Υ 4 크기의 셀들이 반복적으로 배치되는 테트라(Tetra) 패턴으로 구현될 수 있다. 또는, 컬러 필터 어레이(CFA)는 9개의 레드 픽셀, 9개의 블루 픽셀, 및 18개의 그린 픽셀들을 포함하는 6 Υ 6 크기의 셀들이 반복적으로 배치되는 노나(Nona) 패턴으로 구현될 수 있다. 한편, 컬러 필터 어레이(CFA)의 패턴 종류는 전술한 예에 한하지 않으며, 컬러 필터 어레이(CFA)는 더 큰 크기의 셀들이 반복적으로 배치되는 패턴을 가질 수 있다.
이미지 센서(311)는 예를 들어, 2차원적으로 배열된 복수의 픽셀들을 포함하는 픽셀 어레이 및 리드아웃 회로를 포함할 수 있으며, 픽셀 어레이는 수신되는 광 신호들을 전기적 신호들로 변환할 수 있다. 픽셀 어레이는 예를 들면, CCD(Charge Coupled Devices) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 광전 변환 소자로 구현될 수 있으며 이외에도 다양한 종류의 광전 변환 소자로 구현될 수 있다. 리드아웃 회로는 픽셀 어레이로부터 제공되는 전기적 신호를 기초로 로우 데이터(Raw data)를 생성하고, 노이즈 제거 등이 수행된 로우 데이터를 입력 이미지 데이터(IIDT)로서 출력할 수 있다. 이미지 센서(311)는 픽셀 어레이 및 리드아웃 회로를 포함하는 반도체 칩 또는 패키지로서 구현될 수 있다.
입력 이미지 데이터(IIDT)는 필터 어레이에 대응하는 패턴을 가질 수 있다. 구체적으로, 입력 이미지 데이터(IIDT)는 RGB 패턴, RGBG 패턴, RGBW 패턴, 테트라 패턴, 노나 패턴 등 이미지 센서(311)에 포함되는 컬러 필터 어레이(CFA)의 종류에 대응하는 패턴을 가질 수 있다. RGB 패턴은 레드, 그린 및 블루 픽셀 값이 반복되는 구조를 갖는 패턴을 나타내고, RGBG 패턴은 레드, 그린, 블루 및 그린 픽셀 값이 반복되는 구조를 갖는 패턴을 나타내며, RGBW 패턴은 레드, 그린, 블루 및 화이트 픽셀 값이 반복되는 구조를 갖는 패턴을 나타낼 수 있다. 다만, 입력 이미지 데이터(IIDT)가 갖는 패턴은 나열한 종류에 반드시 제한되는 것은 아니다.
프리-프로세서(330)는 유닛 컨트롤러(331) 및 재구성기(332)를 포함할 수 있다. 프리-프로세서(330)는 입력 이미지 데이터(IIDT)를 수신하고, 입력 이미지 데이터(IIDT)에 대해 재구성 이미지 데이터(RIDT)를 생성할 수 있다. 프리-프로세서(330)는 위상 정보 및 패턴에 기초하여 입력 이미지 데이터(IIDT)를 재구성 이미지 데이터(RIDT)로 생성할 수 있다.
유닛 컨트롤러(331)는 입력 이미지 데이터(IIDT)가 갖는 패턴에 기초하여 재구성 이미지 데이터(RIDT)의 단위를 결정할 수 있다. 입력 이미지 데이터(IIDT)가 갖는 패턴은 컬러 필터 어레이(CFA) 종류에 대응하는 패턴일 수 있고, 패턴으로부터 재구성 이미지 데이터(RIDT)의 단위가 결정될 수 있다.
일 실시예에서, 유닛 컨트롤러(331)는 입력 이미지 데이터(IIDT)가 갖는 패턴보다 작은 단위를 갖도록 재구성 이미지 데이터(RIDT)의 단위를 결정할 수 있다. 예를 들어, 입력 이미지 데이터(IIDT)가 갖는 패턴이 4 Υ 4 셀 크기의 테트라 패턴인 경우, 유닛 컨트롤러(331)는 4 Υ 4 셀 보다 크기가 작은 2 Υ 2 셀 및 1x1 셀 중 적어도 하나를 재구성 이미지 데이터(RIDT)의 단위로 결정할 수 있다.
유닛 컨트롤러(331)는 재구성 이미지 데이터(RIDT)가 여러 단위를 갖도록 결정할 수 있다. 입력 이미지 데이터(IIDT)가 갖는 패턴에 따라 여러 단위의 재구성 이미지 데이터(RIDT)가 생성될 수 있다. 예시적으로, 입력 이미지 데이터(IIDT)가 갖는 패턴이 4개의 레드 픽셀, 4개의 블루 픽셀, 및 8개의 그린 픽셀들을 포함하는 4 Υ 4 셀 크기의 테트라 패턴인 경우, 유닛 컨트롤러(331)는 재구성 이미지 데이터(RIDT)의 단위를 2 Υ 2 셀 및 1x1 셀로 결정할 수 있다. 다른 예로, 입력 이미지 데이터(IIDT)가 갖는 패턴이 2 Υ 2 셀 크기의 패턴인 경우, 유닛 컨트롤러(331)는 재구성 이미지 데이터(RIDT)의 단위를 1x1 셀로 결정할 수 있다.
재구성기(332)는 이미지 센서(311)에 포함된 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 입력 이미지 데이터(IIDT)를 재구성할 수 있다. 복수의 픽셀들 각각으로 수신되는 광 신호들이 전기적 신호들로 변환되어 복수의 픽셀들 각각에 대응되는 이미지 데이터가 생성되고, 이미지 데이터는 주파수 영역에서 위상 요소를 포함할 수 있다. 복수의 픽셀들 각각에 대응하는 위상 정보는 복수의 픽셀들 각각에 대응되는 이미지 데이터의 위상 요소를 의미할 수 있다.
재구성기(332)는 유닛 컨트롤러(331)로부터 결정된 단위 및 위상 정보에 기초하여 입력 이미지 데이터(IIDT)를 재구성하여 재구성 이미지 데이터(RIDT)를 출력할 수 있다. 예시적으로, 유닛 컨트롤러(331)가 4 Υ 4 셀 크기를 갖는 입력 이미지 데이터(IIDT)에 대해 재구성 이미지 데이터(RIDT)의 단위를 2 Υ 2 셀 및 1x1 셀로 결정한 경우, 재구성기(332)는 2 Υ 2 셀 크기의 4 채널의 제1 재구성 이미지 데이터를 생성할 수 있다. 재구성기(332)는 동일하거나 유사한 위상 요소를 포함하는 이미지 데이터끼리 분류하여 2 Υ 2 셀 크기로 재구성할 수 있다. 제1 재구성 이미지 데이터의 서로 다른 채널에 속한 이미지 데이터는 상이한 위상 정보를 포함할 수 있다. 재구성기(332)는 1 Υ 1 셀 크기의 16 채널의 제2 재구성 이미지 데이터를 생성할 수 있다. 재구성기(332)는 동일한 위상 요소를 포함하는 이미지 데이터끼리 분류하여 1 Υ 1 셀 크기로 재구성할 수 있다. 제1 재구성 이미지 데이터 및 제2 재구성 이미지 데이터는 뉴럴 네트워크 프로세서(340)로 입력될 수 있다.
프리-프로세서(330)는 입력 이미지 데이터(IIDT)에 대해 프리-프로세싱 동작을 수행할 수 있다. 예를 들어, 프리-프로세싱 동작은 배드 픽셀 보정 동작, 렌즈 쉐이딩 보정 동작, 크로스 토크 보정 동작, 화이트 밸런스 보정 동작 등 적어도 하나의 프리-프로세싱을 수행할 수 있다. 프리-프로세서(330)는 프리-프로세싱 동작 및 재구성 동작을 수행하여 생성한 재구성 이미지 데이터(RIDT)를 뉴럴 네트워크 프로세서(340)에 전송할 수 있다. 실시예에 따라, 프리-프로세서(330)는 프리-프로세싱 동작을 생략하고, 재구성 동작을 수행할 수 있다.
예시적 실시예에 따른 뉴럴 네트워크 프로세서(340)는 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT)에 대한 적어도 하나의 이미지 처리 동작을 수행하여 출력 이미지 데이터(OIDT)를 생성할 수 있다. 뉴럴 네트워크 프로세서(340)는 리모자이크 동작, 디모자이크 동작, 디노이즈 동작, 디블러 동작, 하이 다이나믹 레인지 동작, 톤 매핑 동작 중 적어도 하나를 수행하도록 훈련될 수 있다. 다만, 이미지 처리 동작은 나열한 예시에 반드시 제한되는 것은 아니다.
일 실시예에서, 뉴럴 네트워크 프로세서(340)는 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT)를 수신하고, 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT)에 대한 리모자이크 동작 및 디모자이크 동작을 수행하여 입력 이미지 데이터(IIDT)와 패턴이 상이한 출력 이미지 데이터(OIDT)를 생성할 수 있다. 출력 이미지 데이터(OIDT)는 RGB 패턴을 가질 수 있다. 구체적으로, 뉴럴 네트워크 프로세서(340)는 입력 이미지 데이터(IIDT)를 레드(red), 블루(blue) 및 그린(green) 채널들로 구성된 RGB 데이터로 변환할 수 있다. 한편, 본 개시는 이에 한하지 않으며, 실시예에 따라 입력 이미지 데이터(IIDT)는 YUV 데이터로 변환될 수도 있다. Y는 밝기(luma) 값, U, V는 색(chroma) 값일 수 있다.
본 개시의 예시적 실시예에 따른 이미지 처리 장치(300)는 입력 이미지 데이터(IIDT)를 위상 정보 및 패턴에 기초하여 재구성 이미지 데이터(RIDT)로 생성할 수 있다. 뉴럴 네트워크 프로세서(340)는 위상 정보에 기초하여 분류된 재구성 이미지 데이터(RIDT)를 입력 데이터로 하여 훈련될 수 있고, 이미지 처리 동작들이 수행될 수 있다. 입력 이미지 데이터(IIDT)의 위상 요소가 분류되어 있으므로 뉴럴 네트워크 프로세서(340)의 성능이 향상될 수 있고, 이미지 처리 장치(300)는 고해상도, 고품질의 이미지를 생성할 수 있다.
도 4 및 도 5는 일 실시예에 따른 프리-프로세서의 동작을 구체적으로 설명하기 위한 도면이다.
도 4를 참조하면, 입력 이미지 데이터(IIDT)는 프리-프로세서(예를 들어, 도 3의 프리-프로세서(330)) 및 뉴럴 네트워크 프로세서(예를 들어, 도 3의 뉴럴 네트워크 프로세서(340))가 수신하는 이미지 데이터 일 수 있다.
입력 이미지 데이터(IIDT)는 이미지 센서(예를 들어, 도 3의 이미지 센서(311))에 포함되는 컬러 필터 어레이(CFA)의 종류에 대응하는 패턴을 가질 수 있다. 도 4의 입력 이미지 데이터(IIDT)는 레드, 그린, 블루 및 화이트 픽셀 값이 반복되는 구조를 갖는 RGBW(Red Green Blue White) 패턴을 가지는 것으로 도시되어 있으나, 입력 이미지 데이터(IIDT)가 갖는 패턴은 이에 반드시 한정되는 것은 아니다. 입력 이미지 데이터(IIDT)는 다양한 패턴을 가질 수 있다. 예컨대, 입력 이미지 데이터(IIDT)는 테트라 패턴을 가질 수 있다. 다른 예로, 입력 이미지 데이터(IIDT)는 베이어 패턴, RGBE(Red Green Blue Emerald) 패, CYYM(Cyan Yellow Yellow Magenta) 패턴, 및 CYCM(Cyan Yellow Cyan Magenta) 패턴 등 다양한 패턴을 가질 수 있다.
입력 이미지 데이터(IIDT)는 복수의 셀(CL)들로 구성될 수 있다. 셀(CL)은 이미지 센서로부터 획득한 데이터 중 하나의 단위일 수 있다. 예컨대, 셀(CL)은 이미지 센서에 포함된, 하나의 컬러 필터를 포함하는 하나의 픽셀 회로로부터 획득된 이미지 데이터일 수 있다. 셀(CL)은 주파수 영역에서 위상 요소를 포함할 수 있다. 픽셀에 대응하는 위상 정보는 픽셀로부터 획득된 이미지 데이터의 위상 요소를 의미할 수 있다. 셀(CL)은 하나의 색상을 표현할 수 있으며, 예컨대, 레드, 그린 및 블루 중 하나일 수 있다. 한편, 색상은 전술한 바와 같이 레드, 그린 및 블루에 제한되지는 않으며, 마젠타, 시안, 옐로우 및 화이트 등 다양한 색상으로 구현될 수 있다. 도 4에 도시된 바와 같이, 입력 이미지 데이터(IIDT)가 갖는 패턴은 4 Υ 4 셀 크기일 수 있다. 즉, 입력 이미지 데이터의 패턴의 단위는 4 Υ 4 셀일 수 있다. 다만, 입력 이미지 데이터의 단위는 이에 반드시 제한되는 것은 아니다.
프리-프로세서는 입력 이미지 데이터(IIDT)를 패턴보다 작은 단위를 갖는 재구성 이미지 데이터로 생성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)가 갖는 패턴의 단위인 4 Υ 4 셀 보다 작은 단위를 갖도록 재구성 이미지 데이터(RIDT)의 단위를 결정할 수 있다. 프리-프로세서는 2 Υ 2 셀 및 1x1 셀 중 적어도 하나를 재구성 이미지 데이터(RIDT)의 단위로 결정할 수 있다.
프리-프로세서는 결정한 단위에 기초하여 입력 이미지 데이터(IIDT)를 재구성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)가 갖는 패턴보다 작은 단위가 여러 개 가능한 경우, 복수의 단위를 결정할 수 있고, 복수의 단위 각각에 따른 재구성 이미지 데이터를 생성할 수 있다. 즉, 프리-프로세서는 4 Υ 4 셀 보다 작은 단위인 2 Υ 2 셀 및 1x1 셀을 재구성 이미지 데이터(RIDT)의 단위로 결정할 수 있고, 4채널의 2 Υ 2 셀 단위의 이미지 데이터를 제1 재구성 이미지 데이터(RIDT1)로 생성하고, 16채널의 1 Υ 1 셀 단위의 이미지 데이터를 제2 재구성 이미지 데이터(RIDT2)로 생성할 수 있다.
프리-프로세서는 위상 정보 및 패턴에 기초하여 재구성 이미지 데이터를 생성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)의 복수의 셀의 위상 요소 중 일부가 동일하거나 유사한 셀들을 분류하여 결정한 단위로 재구성할 수 있다. 예시적으로, 재구성 이미지 데이터의 단위가 2 Υ 2 셀로 결정된 경우, 프리-프로세서는 위상 요소 중 일부가 동일하거나 유사한 W0셀, W2셀, W8셀, 및 W10셀을 분류하여 2 Υ 2 셀 단위의 이미지 데이터로 생성할 수 있다. 프리-프로세서는 위상 요소 중 일부가 동일하거나 유사한 G1셀, R3셀, B9셀, 및 G11셀을 분류하여 2 Υ 2 셀 단위의 이미지 데이터로 생성할 수 있다. 프리-프로세서는 위상 요소 중 일부가 동일하거나 유사한 G4셀, R6셀, B12셀, 및 G14셀을 분류하여 2 Υ 2 셀 단위의 이미지 데이터로 생성할 수 있다. 프리-프로세서는 위상 요소 중 일부가 동일하거나 유사한 W5셀, W7셀, W13셀, 및 W15셀을 분류하여 2 Υ 2 셀 단위의 이미지 데이터로 생성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 4채널의 2 Υ 2 셀 단위의 이미지 데이터인 제1 재구성 이미지 데이터(RIDT1)로 생성할 수 있다.
또한, 재구성 이미지 데이터의 단위가 1 Υ 1 셀로 결정된 경우, 프리-프로세서는 위상 요소가 전부 동일하도록 입력 이미지 데이터(IIDT)를 분류할 수 있다. 위상 요소가 동일하도록 입력 이미지 데이터(IIDT)를 분류하면 하나의 셀씩 분류될 수 있다. 프리-프로세서는 W0셀, W2셀, W8셀, W10셀, G1셀, R3셀, B9셀, G11, G4셀, R6셀, B12셀, G14셀, W5셀, W7셀, W13셀, W15셀 각각을 1 Υ 1 셀 단위의 이미지 데이터로 생성할 수 있다. W0셀, W2셀, W8셀, W10셀, G1셀, R3셀, B9셀, G11, G4셀, R6셀, B12셀, G14셀, W5셀, W7셀, W13셀, W15셀 각각의 위상 요소는 완전히 동일하지 않을 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 16채널의 1 Υ 1 셀 단위의 이미지 데이터인 제2 재구성 이미지 데이터(RIDT2)로 생성할 수 있다.
도 5를 참조하면, 입력 이미지 데이터(IIDT)는 이미지 센서에 포함되는 컬러 필터 어레이의 종류에 대응하는 패턴을 가질 수 있다. 도 5의 입력 이미지 데이터(IIDT)는 16개의 레드 픽셀, 16개의 블루 픽셀, 및 32개의 그린 픽셀들을 포함하는 8 Υ 8 크기의 셀들이 반복적으로 배치되는 테트라-스퀘어(tetra-square) 패턴을 가지는 것으로 도시되어 있으나, 입력 이미지 데이터(IIDT)가 갖는 패턴은 이에 반드시 한정되는 것은 아니다. 입력 이미지 데이터(IIDT)는 다양한 패턴을 가질 수 있다.
입력 이미지 데이터(IIDT)는 복수의 셀(CL)들로 구성될 수 있다. 셀(CL)은 이미지 센서에 포함된, 하나의 컬러 필터를 포함하는 하나의 픽셀 회로로부터 획득된 이미지 데이터일 수 있다. 셀(CL)은 주파수 영역에서 위상 요소를 포함할 수 있다. 입력 이미지 데이터(IIDT)가 갖는 패턴은 8 Υ 8 셀 크기일 수 있다. 즉, 입력 이미지 데이터의 패턴의 단위는 8 Υ 8 셀일 수 있다. 입력 이미지 데이터의 단위는 이에 반드시 제한되는 것은 아니다.
프리-프로세서는 입력 이미지 데이터(IIDT)를 패턴보다 작은 단위를 갖는 재구성 이미지 데이터로 생성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)가 갖는 패턴의 단위인 8 Υ 8 셀 보다 작은 단위를 갖도록 재구성 이미지 데이터(RIDT)의 단위를 결정할 수 있다. 프리-프로세서는 4 Υ 4 셀, 2 Υ 2 셀, 및 1x1 셀 중 적어도 하나를 재구성 이미지 데이터(RIDT)의 단위로 결정할 수 있다.
프리-프로세서는 결정한 단위에 기초하여 입력 이미지 데이터(IIDT)를 재구성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)가 갖는 패턴보다 작은 단위가 여러 개 가능한 경우, 복수의 단위를 결정할 수 있고, 복수의 단위 각각에 따른 재구성 이미지 데이터를 생성할 수 있다. 즉, 프리-프로세서는 8 Υ 8 셀 보다 작은 단위인 4 Υ 4 셀, 2 Υ 2 셀, 및 1x1 셀을 재구성 이미지 데이터(RIDT)의 단위로 결정할 수 있다. 프리-프로세서는 4채널의 4 Υ 4 셀 단위의 이미지 데이터인 제1 재구성 이미지 데이터(RIDT1)를 생성하고, 16채널의 2 Υ 2 셀 단위의 이미지 데이터인 제2 재구성 이미지 데이터(RIDT2)를 생성하고, 64채널의 1 Υ 1 셀 단위의 이미지 데이터인 제3 재구성 이미지 데이터(RIDT3)를 생성할 수 있다.
프리-프로세서는 위상 정보 및 패턴에 기초하여 재구성 이미지 데이터를 생성할 수 있다. 재구성 이미지 데이터의 단위가 4 Υ 4 셀로 결정된 경우, 프리-프로세서는 4 Υ 4 셀 단위의 이미지 데이터(RIDT1_1), 이미지 데이터(RIDT1_2), 이미지 데이터(RIDT1_3), 이미지 데이터(RIDT1_4)를 생성할 수 있다. 이미지 데이터(RIDT1_1)에 포함된 셀들은 서로 위상 요소 중 일부가 동일하거나 유사할 수 있다. 이와 동일하게 이미지 데이터(RIDT1_2), 이미지 데이터(RIDT1_3), 이미지 데이터(RIDT1_4) 각각에 포함된 셀들은 서로 위상 요소 중 일부가 동일하거나 유사할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 4채널의 4 Υ 4 셀 단위의 이미지 데이터인 제1 재구성 이미지 데이터(RIDT1)로 생성할 수 있다.
또한, 재구성 이미지 데이터의 단위가 2 Υ 2 셀로 결정된 경우, 프리-프로세서는 2 Υ 2 셀 단위의 이미지 데이터를 생성할 수 있다. 제1 재구성 이미지 데이터(RIDT1)의 한 단위에 포함되는 셀들 보다 제2 재구성 이미지 데이터(RIDT2)의 한 단위에 포함되는 셀들의 위상 요소의 유사도가 더 높을 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 16채널의 2 Υ 2 셀 단위의 이미지 데이터인 제2 재구성 이미지 데이터(RIDT2)로 생성할 수 있다.
프리-프로세서는 위상 요소가 전부 동일하도록 입력 이미지 데이터(IIDT)를 분류할 수 있다. 위상 요소가 동일하도록 입력 이미지 데이터(IIDT)를 분류하면 하나의 셀씩 분류될 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 분류하여 1 Υ 1 셀 단위의 이미지 데이터로 생성할 수 있다. 프리-프로세서는 입력 이미지 데이터(IIDT)를 64채널의 1 Υ 1 셀 단위의 이미지 데이터인 제3 재구성 이미지 데이터(RIDT3)로 생성할 수 있다.
도 6은 일 실시예에 따른 뉴럴 네트워크를 설명하기 위한 도면이다. 도 6의 뉴럴 네트워크(NN)는 도 3의 뉴럴 네트워크 프로세서(340)에 적용될 수 있다. 도 6의 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT1, RIDT2)는 도 4에서 설명한 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT1, RIDT2)에 각각 대응되므로, 중복되는 설명은 생략한다.
본 개시의 예시적 실시예에 따르면, 뉴럴 네트워크(NN)는 이미지 프로세싱을 수행할 수 있다. 뉴럴 네트워크(NN)는 리모자이크(remosaic) 동작, 디모자이크(demosaic) 동작, 디노이즈(denoise) 동작, 디블러(deblurr) 동작, 감마 보정 동작, 하이 다이나믹 레인지 동작, 톤 매핑 동작 중 적어도 하나를 수행하도록 훈련될 수 있다.
뉴럴 네트워크(NN)는 복수의 레벨(LV1 내지 LV3)을 포함할 수 있다. 복수의 레벨(LV1 내지 LV3) 각각으로 입력되는 이미지 데이터가 상이할 수 있다. 각 레벨의 입력 레이어로 입력되는 이미지 데이터에 기초하여 레벨이 구별될 수 있다. 제1 레벨(LV1)으로 입력 이미지 데이터(IIDT)가 입력되고, 제2 레벨(LV2)으로 제1 재구성 이미지 데이터(RIDT1)가 입력되고, 제3 레벨(LV3)으로 제2 재구성 이미지 데이터(RIDT2)가 입력될 수 있다. 도 6에는 뉴럴 네트워크(NN)의 입력이 3개이므로 3개의 레벨에 대해 설명하고 있으나, 이에 반드시 제한되는 것은 아니며, 뉴럴 네트워크(NN)의 레벨의 수는 다양할 수 있다.
각 레벨의 입력 레이어로 입력되는 이미지 데이터의 단위에 기초하여 레벨이 구별될 수 있다. 일 실시예에서, 제1 레벨(LV1)로 입력되는 이미지 데이터의 단위가 제2 레벨(LV2)로 입력되는 이미지 데이터의 단위보다 클 수 있고, 제2 레벨(LV2)은 제1 레벨(LV1) 보다 하위 레벨에 해당할 수 있다. 예를 들어, 제1 레벨(LV1)로 4 X 4 셀 크기의 입력 이미지 데이터(IIDT)가 입력되고, 제2 레벨(LV2)로 2 X 2 셀 크기의 제1 재구성 이미지 데이터(RIDT1)가 입력되는 경우, 제2 레벨(LV2)은 제1 레벨(LV1)의 하위 레벨에 해당할 수 있다.
재구성 이미지 데이터는 입력 이미지 데이터(IIDT)가 입력되는 레벨보다 하위 레벨로 입력될 수 있다. 예를 들어, 제1 재구성 이미지 데이터(RIDT1)의 단위는 입력 이미지 데이터(IIDT)보다 작으므로, 제1 재구성 이미지 데이터(RIDT1)는 제2 레벨(LV2)로 입력될 수 있다. 제2 레벨(LV2)은 제1 레벨(LV1)보다 하위 레벨에 해당할 수 있다. 상위 레벨보다 하위 레벨로 입력되는 이미지 데이터에 대응하는 피처에 대해 컨벌루션 연산 및 잔차 연산을 수행하는 횟수가 적을 수 있다.
뉴럴 네트워크(NN)로 입력되는 이미지 데이터의 채널 수는 이미지 데이터에 따라 상이할 수 있다. 일 실시예에서, 뉴럴 네트워크(NN)로 입력되는 입력 이미지 데이터(IIDT)의 채널 수는 제1 재구성 이미지 데이터(RIDT1)의 채널 수 및 제2 재구성 이미지 데이터(RIDT2)와 상이할 수 있다. 예를 들어, 입력 이미지 데이터(IIDT)의 채널 수는 1이고, 제1 재구성 이미지 데이터(RIDT1)의 채널 수는 4 이고, 제2 재구성 이미지 데이터(RIDT2)의 채널 수는 16일 수 있으나, 이에 반드시 제한되는 것은 아니다.
재구성 이미지 데이터의 채널 수는 입력 이미지 데이터(IIDT)의 채널 수보다 많을 수 있다. 제1 재구성 이미지 데이터(RIDT1)의 채널 수는 4로 입력 이미지 데이터(IIDT)의 채널 수인 1보다 많을 수 있다. 제2 재구성 이미지 데이터(RIDT2)의 채널 수는 16으로 입력 이미지 데이터(IIDT)의 채널 수인 1보다 많을 수 있다. 이미지 데이터의 채널 수는 이미지 데이터의 단위에 따라 달라질 수 있고, 이미지 데이터의 단위가 작을수록 이미지 데이터의 채널 수가 많아질 수 있다.
하나의 입력 이미지 데이터뿐만 아니라, 입력 이미지 데이터를 위상 정보 및 패턴에 기초하여 분류한 재구성 이미지 데이터가 뉴럴 네트워크(NN)로 입력됨으로써, 뉴럴 네트워크(NN)는 입력되는 이미지 데이터의 특징을 섬세하게 추출할 수 있으므로, 리모자이크동작 및 디모자이크동작 등의 이미지 처리 동작이 보다 용이하게 수행될 수 있다.
복수의 레벨들은 서로 유기적으로 연결될 수 있다. 복수의 레벨들 각각에 포함된 레이어로부터 출력된 피처 맵들은 상이한 레벨의 피처 맵과 유기적으로 연결될 수 있다. 예를 들어, 뉴럴 네트워크(NN)는 적응 계층 분산 연산을 통해 상이한 레벨의 피처 맵들이 유기적으로 연결될 수 있다.
뉴럴 네트워크(NN)는 입력 레이어(IL), 위상 추출기(Phase Extractor), 잔차 블록(Residual Bolck), 적응 계층 분산 블록(Adaptive Layer Distribution block), 컨볼루션 레이어(convolution layer), 디컨볼루션 레이어(deconvolution layer), 및 연쇄(concatenate) 블록을 포함할 수 있다. 뉴럴 네트워크(NN)는 입력 이미지 데이터(IIDTA) 및 재구성 이미지 데이터(RIDT1, RIDT2)를 수신하고, 위상 추출기, 잔차 블록, 적응 계층 분산 블록, 컨볼루션 레이어, 디컨볼루션 레이어, 및 연쇄(concatenate) 블록에 의해 입력 이미지 데이터(IIDTA) 및 재구성 이미지 데이터(RIDT1, RIDT2)의 피처 값을 연산할 수 있다. 예컨대, 뉴럴 네트워크(NN)는 테트라 패턴을 갖는 입력 이미지 데이터 및 이를 재구성한 재구성 이미지 데이터를 수신하고, RGB 이미지로 변환하기 위한 연산을 처리할 수 있다. 블록은 컨볼루션 레이어, 활성 레이어 등을 포함할 수 있다.
본 개시의 예시적 실시예에 따르면, 위상 추출기(PE1)는 입력 레이어(input layer)로, 입력 이미지 데이터(IIDT)에 대한 피처 맵(FM11)을 생성할 수 있다. 입력 이미지 데이터(IIDT)는 제1 레벨(LV1)의 입력 레이어로 입력될 수 있다. 잔차블록(RB1)은 피처 맵(FM11)에 대해 잔차(residual) 연산을 수행하고 피처 맵(FM12)을 생성할 수 있다. 컨볼루션 레이어(conv1)는 피처 맵(FM12)을 수신하고, 컨볼루션 연산을 수행하여 피처 맵(FM13)을 생성할 수 있다.
위상 추출기(PE2)는 제1 재구성 이미지 데이터(RIDT1)에 대한 피처 맵(FM21)을 생성할 수 있다. 제1 재구성 이미지 데이터(RIDT1)는 제2 레벨(LV2)의 입력 레이어로 입력될 수 있다. 피처 맵(FM13) 및 피처 맵(FM21)은 적응 계층 분산 블록(ALD1)으로 입력될 수 있고, 적응 계층 분산 블록(ALD1)은 적응 계층 분산 연산을 수행하여 피처 맵(FM22)을 생성할 수 있다. 적응 계층 분산 블록(ALD1)은 피처 맵(FM13) 및 피처 맵(FM21) 각각에 대응하는 가중치를 추출하고, 추출한 가중치에 기초하여 피처 맵(FM13) 및 피처 맵(FM21)의 가중 합(weighted sum)을 계산하는 적응 계층 분산 연산을 수행할 수 있다. 적응 계층 분산 블록(ALD1)을 통해 제1 레벨에 대응하는 피처 맵(FM13) 및 제2 레벨에 대응하는 피처 맵(FM21) 각각에 가중치가 상이하게 적용될 수 있다. 적응 계층 분산 블록(ALD1)을 통해 각 피처 맵의 특성이 용이하게 추출될 수 있다. 적응 계층 분산 블록은 도 7에서 상세히 후술한다. 잔차블록(RB2)은 피처 맵(FM22)에 대해 잔차(residual) 연산을 수행하고 피처 맵(FM23)을 생성할 수 있다. 컨볼루션 레이어(conv2)는 피처 맵(FM23)을 수신하고, 컨볼루션 연산을 수행하여 피처 맵(FM24)을 생성할 수 있다.
위상 추출기(PE3)는 제2 재구성 이미지 데이터(RIDT2)에 대한 피처 맵(FM31)을 생성할 수 있다. 제2 재구성 이미지 데이터(RIDT2)는 제3 레벨(LV3)의 입력 레이어로 입력될 수 있다. 피처 맵(FM31) 및 피처 맵(FM24)은 적응 계층 분산 블록(ALD2)으로 입력될 수 있고, 적응 계층 분산 연산이 수행되어 피처 맵(FM32)이 생성될 수 있다. 적응 계층 분산 블록(ALD2)은 피처 맵(FM31) 및 피처 맵(FM24) 각각에 대응하는 가중치를 추출하고, 추출한 가중치에 기초하여 피처 맵(FM31) 및 피처 맵(FM24)의 가중 합을 계산할 수 있다. 잔차블록(RB3)은 피처 맵(FM32)에 대해 잔차 연산을 수행하고 피처 맵(FM33)을 생성할 수 있다. 잔차블록(RB4)은 피처 맵(FM33)에 대해 잔차 연산을 수행하고 피처 맵(FM34)을 생성할 수 있다. 컨볼루션 레이어(conv3)는 피처 맵(FM34)을 수신하고, 컨볼루션 연산을 수행하여 피처 맵(FM35)을 생성할 수 있다. 실시예에서, 피처 맵(FM35)은 이미지 신호 프로세서(Image Signal Processor)로 입력될 수 있고, 출력 이미지 데이터(OIDT)의 품질을 개선시키는 데 사용될 수 있다.
디컨볼루션 레이어(deconv1)는 피처 맵(FM34)을 수신하고, 디컨볼루션 연산을 수행하여 피처 맵(FM36)을 생성할 수 있다. 적응 계층 분산 블록(ALD3)은 피처 맵(FM23) 및 피처 맵(FM36) 각각에 대응하는 가중치를 추출하고, 추출한 가중치에 기초하여 피처 맵(FM23) 및 피처 맵(FM36)의 가중 합을 계산할 수 있다. 적응 계층 분산 블록(ALD3)으로부터 피처 맵(FM25)이 생성될 수 있다. 잔차블록(RB5)은 피처 맵(FM25)에 대해 잔차 연산을 수행하고 피처 맵(FM26)을 생성할 수 있다. 컨볼루션 레이어(conv4)는 피처 맵(FM26)을 수신하고, 컨볼루션 연산을 수행하여 피처 맵(FM27)을 생성할 수 있다. 실시예에서, 피처 맵(FM27)은 이미지 신호 프로세서로 입력될 수 있고, 출력 이미지 데이터(OIDT)의 품질을 개선시키는 데 사용될 수 있다.
디컨볼루션 레이어(deconv2)는 피처 맵(FM26)을 수신하고, 디컨볼루션 연산을 수행하여 피처 맵(FM14)을 생성할 수 있다. 적응 계층 분산 블록(ALD4)은 피처 맵(FM14) 및 피처 맵(FM12) 각각에 대응하는 가중치를 추출하고, 추출한 가중치에 기초하여 피처 맵(FM14) 및 피처 맵(FM12)의 가중 합을 계산할 수 있다. 적응 계층 분산 블록(ALD4)으로부터 피처 맵(FM15)이 생성될 수 있다. 잔차블록(RB6)은 피처 맵(FM15)에 대해 잔차 연산을 수행하고 피처 맵(FM16)을 생성할 수 있다. 컨볼루션 레이어(conv5)는 피처 맵(FM16)을 수신하고, 컨볼루션 연산을 수행하여 피처 맵(FM17)을 생성할 수 있다. 적응 계층 분산 블록(ALD5)은 피처 맵(FM17) 및 입력 이미지 데이터(IIDT)에 대해 연쇄(concatenate) 연산을 수행한 피처 맵(FM18) 각각에 대응하는 가중치를 추출하고, 추출한 가중치에 기초하여 피처 맵(FM17) 및 피처 맵(FM18)의 가중 합을 계산할 수 있다. 적응 계층 분산 블록(ALD5)으로부터 출력 이미지 데이터(OIDT)가 생성될 수 있다. 실시예에서, 출력 이미지 데이터(OIDT)는 이미지 신호 프로세서로 입력될 수 있다. 출력 이미지 데이터(OIDT)의 크기는 피처 맵(FM27) 및 피처 맵(FM35)과 상이할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 적응 계층 분산 블록을 설명하기 위한 도면이다. 도 7의 적응 계층 분산 블록(ALD)은 도 6에서 설명한 적응 계층 분산 블록에 대응되므로, 중복되는 내용은 생략한다.
도 7을 참고하면, 적응 계층 분산 블록(ALD)은 복수의 레이어들, 곱셈기(multiplier), 및 합산기(adder)를 포함할 수 있다. 예시적으로, 복수의 레이어들은, 복수의 컨볼루션 레이어들(Convolution Layer) 및 복수의 활성 레이어(Activation Layer)들을 포함할 수 있다.
본 개시의 예시적 실시에에 따르면, 적응 계층 분산 블록(ALD)은 제1 피처 맵(FM1) 및 제2 피처 맵(FM2)을 수신할 수 있다. 제1 피처 맵(FM1) 및 제2 피처 맵(FM2) 각각은 서로 다른 레벨로 입력되거나 이전 레이어로부터 출력된 피처 맵일 수 있다. 제1 피처 맵(FM1) 및 제2 피처 맵(FM2) 각각에 기초하여, 적응 계층 분산 블록(ALD)은 가중치를 추출할 수 있다.
적응 계층 분산 블록(ALD)은 복수의 레벨 각각으로 입력되는 이미지 데이터에 대응하는 피처 맵으로부터 피처맵 각각에 대응하는 가중치를 추출할 수 있다. 이미지 데이터에 대응하는 피처 맵은 이미지 데이터로부터 생성되는 피처 맵을 의미할 수 있다. 예시적으로, 적응 계층 분산 블록(ALD)은 입력 이미지 데이터에 대응하는 제1 피처 맵(FM1)으로부터 제1 피처 맵(FM1)에 대응하는 제1 가중치(w1)를 추출할 수 있다. 적응 계층 분산 블록(ALD)은 제1 재구성 이미지 데이터에 대응하는 제2 피처 맵(FM2)으로부터 제2 피처 맵(FM2)에 대응하는 제2 가중치(w2)를 추출할 수 있다.
적응 계층 분산 블록(ALD)은 적어도 하나의 컨볼루션 레이어 및 적어도 하나의 활성 레이어를 포함할 수 있다. 예시적으로, 적응 계층 분산 블록(ALD)은 4개의 컨볼루션 레이어 및 2개의 활성 레이어를 포함할 수 있으나, 컨볼루션 레이어 및 활성 레이어의 수는 이에 반드시 제한되는 것은 아니다. 컨볼루션 레이어는 컨볼루션 레이어로 입력되는 피처 맵에 대해 컨볼루션 연산을 수행할 수 있다. 활성 레이어는 활성 레이어로 입력되는 피처 맵에 대해 활성 함수 연산을 수행할 수 있다. 예시적으로, 활성 레이어는 ReLU(Rectified Linear Unit) 함수 또는 시그모이드(sigmoid) 함수에 의한 연산을 수행할 수 있다.
적응 계층 분산 블록(ALD)의 입력 각각에 대해 컨볼루션 연산 및 활성 함수 연산이 수행될 수 있다. 적응 계층 분산 블록(ALD)은 적응 계층 분산 블록(ALD)으로 입력되는 피처 맵에 대해 컨볼루션 연산 및 활성 함수 연산을 수행하여 피처맵에 대응하는 가중치를 추출할 수 있다. 제1 컨볼루션 레이어(CL1), 제2 컨볼루션 레이어(CL2), 및 제1 활성 레이어(AL1)에 의해 제1 피처 맵(FM1)이 연산되고, 제1 가중치(w1)가 생성될 수 있다. 제3 컨볼루션 레이어(CL3), 제4 컨볼루션 레이어(CL4), 및 제2 활성 레이어(AL2)에 의해 제2 피처 맵(FM2)이 연산되고, 제2 가중치(w2)가 생성될 수 있다.
적응 계층 분산 블록(ALD)은 가중치에 기초하여 피처 맵들(FM1, FM2)의 가중 합(weighted sum)을 계산할 수 있다. 적응 계층 분산 블록(ALD)은 피처 맵들(FM1, FM2)의 가중 합을 계산하여 피처 맵(FMO)로 출력할 수 있다. 적응 계층 분산 블록(ALD)은 입력 각각에 대해 가중치를 계산하고, 입력 각각에 대해 계산된 가중치를 적용할 수 있다. 예시적으로, 도 7에 도시된 바와 같이, 제1 피처 맵(FM1) 및 제1 가중치(w1)가 승산되고, 제2 피처 맵(FM2) 및 제2 가중치(w2)가 승산되고, 승산된 값들이 합산될 수 있다. 즉, 적응 계층 분산 블록(ALD)의 출력은 아래와 같은 [수학식1]으로 표현될 수 있다.
Figure pat00001
본 개시는 복수의 레벨 각각으로 입력되는 피처 맵으로부터 피처 맵 각각에 대응하는 가중치를 추출하고, 피처 맵에 피처 맵 각각에 대응하는 가중치를 적용할 수 있다. 레벨 각각으로 입력되는 이미지 데이터에 따라 가중치를 조절하여 이미지 처리에 반영함으로써, 이미지 처리의 성능이 개선될 수 있다.
도 8은 본 개시의 예시적 실시 예에 따른 이미지 처리 장치의 동작 방법을 나타내는 흐름도이다. 상세하게는, 도 8은 도 3에서 전술한 이미지 처리 시스템(320)의 동작 방법을 나타내는 흐름도이다.
단계 S810에서, 이미지 처리 장치는 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신할 수 있다. 이미지 처리 장치는 이미지 센서로부터 입력 이미지 데이터를 수신할 수 있다. 이미지 센서는 소정의 패턴을 갖는 컬러 필터 어레이를 포함하고, 광학적 신호를 컬러 필터 어레이를 이용하여 전기적 신호로 변환하고, 전기적 신호들을 기초로 입력 이미지 데이터를 생성하여 출력할 수 있다. 입력 이미지 데이터는 RGB 패턴, RGBG 패턴, RGBW 패턴, 테트라 패턴, 노나 패턴 등 컬러 필터 어레이의 종류에 대응하는 패턴을 가질 수 있다. 다만, 입력 이미지 데이터가 갖는 패턴은 나열한 종류에 반드시 제한되는 것은 아니다.
단계 S820에서, 이미지 처리 장치는 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 입력 이미지 데이터를 재구성하고 재구성 이미지 데이터를 생성할 수 있다. 이미지 센서에 포함된 복수의 픽셀들 각각으로 수신되는 광 신호들이 전기적 신호들로 변환되어 복수의 픽셀들 각각에 대응되는 이미지 데이터가 생성되고, 이미지 데이터는 주파수 영역에서 위상 요소를 포함할 수 있다. 복수의 픽셀들 각각에 대응하는 위상 정보는 복수의 픽셀들 각각에 대응되는 이미지 데이터의 위상 요소를 의미할 수 있다.
구체적으로, 이미지 처리 장치는 입력 이미지 데이터가 갖는 패턴에 기초하여 재구성 이미지 데이터의 단위를 결정하고, 입력 이미지 데이터를 결정된 단위 및 위상 정보에 기초하여 재구성 이미지 데이터를 생성할 수 있다. 일 실시예에서, 이미지 처리 장치는 입력 이미지 데이터가 갖는 패턴보다 작은 단위를 갖도록 재구성 이미지 데이터의 단위를 결정할 수 있다. 예시적으로, 입력 이미지 데이터가 갖는 패턴이 4 Υ 4 셀 크기의 테트라 패턴인 경우, 이미지 처리 장치는 4 Υ 4 셀 보다 크기가 작은 2 Υ 2 셀 및 1x1 셀 중 적어도 하나를 재구성 이미지 데이터의 단위로 결정할 수 있다.
이미지 처리 장치는 결정된 단위 및 위상 정보에 기초하여 입력 이미지 데이터를 재구성하여 재구성 이미지 데이터로 출력할 수 있다. 예시적으로, 이미지 처리 장치가 4 Υ 4 셀 크기를 갖는 입력 이미지 데이터에 대해 재구성 이미지 데이터의 단위를 2 Υ 2 셀로 결정한 경우, 이미지 처리 장치는 2 Υ 2 셀 크기의 4 채널의 재구성 이미지 데이터를 생성할 수 있다. 이미지 처리 장치는 동일하거나 유사한 위상 요소를 포함하는 이미지 데이터끼리 분류하여 2 Υ 2 셀 크기로 재구성할 수 있다.
단계 S830에서, 이미지 처리 장치는 뉴럴 네트워크 프로세서를 이용하여 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 이미지 처리를 수행할 수 있다. 이미지 처리 장치는 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터로 생성할 수 있다.
뉴럴 네트워크 프로세서는 리모자이크 동작, 디모자이크 동작, 디노이즈 동작, 디블러 동작, 하이 다이나믹 레인지 동작, 톤 매핑 동작 중 적어도 하나를 수행하도록 훈련될 수 있다. 다만, 이미지 처리 동작은 나열한 예시에 반드시 제한되는 것은 아니다.
일 실시예에서, 입력 이미지 데이터 및 재구성 이미지 데이터는 뉴럴 네트워크 프로세서로 입력될 수 있고, 뉴럴 네트워크 프로세서는 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 리모자이크 동작 및 디모자이크 동작을 수행하여 입력 이미지 데이터와 패턴이 상이한 출력 이미지 데이터를 생성할 수 있다.
도 9는 본 개시의 예시적 실시 예에 따른 이미지 처리 장치를 나타내는 블록도이다. 상세하게는, 도 9는 도 3의 이미지 처리 장치(300)의 변형 가능한 실시예를 나타내는 도면이다. 도 9의 이미지 처리 장치(900), 카메라 모듈(910), 이미지 처리 시스템(920), 이미지 센서(911), 프리-프로세서(912), 및 뉴럴 네트워크 프로세서(921)은 도 3의 이미지 처리 장치(300), 카메라 모듈(310), 이미지 처리 시스템(320), 이미지 센서(311), 프리-프로세서(330), 및 뉴럴 네트워크 프로세서(340)에 각각 대응되므로, 중복되는 내용은 생략한다.
도 9를 참조하면, 이미지 처리 장치(900)는 카메라 모듈(910) 및 이미지 처리 시스템(920)을 포함할 수 있다. 카메라 모듈(910)은 이미지 센서(911) 및 프리-프로세서(912)를 포함할 수 있다. 이미지 처리 시스템(920)은 뉴럴 네트워크 프로세서(921)를 포함할 수 있다.
도 3의 이미지 처리 장치(300)와 비교하면, 도 9의 이미지 처리 장치(900)는 카메라 모듈(910) 내에 프리-프로세서(912)가 구비될 수 있다. 프리-프로세서(912)는 이미지 센서(911)가 생성한 입력 이미지 데이터(IIDT)에 대해 프리-프로세싱 및 재구성 동작을 수행하여 재구성 이미지 데이터(RIDT)를 생성할 수 있다. 그리고 프리-프로세서(912)는 재구성 이미지 데이터(RIDT)를 뉴럴 네트워크 프로세서(921)에 전송할 수 있다.
예시적 실시예에 따른 뉴럴 네트워크 프로세서(921)는 입력 이미지 데이터(IIDT) 및 재구성 이미지 데이터(RIDT)에 대해 이미지 처리 동작을 수행하여 출력 이미지 데이터(OIDT)를 생성할 수 있다.
한편, 본 개시는 이에 한하지 않으며, 카메라 모듈(910)은 뉴럴 네트워크 프로세서(921)를 포함할 수도 있다. 카메라 모듈(910)이 프리-프로세서(912) 및 뉴럴 네트워크 프로세서(921)를 포함할 수 있고, 뉴럴 네트워크 프로세서(921)는 프리-프로세서로부터 재구성 이미지 데이터(RIDT)를 수신하여 이미지 처리 동작을 수행할 수 있다. 카메라 모듈(910)이 뉴럴 네트워크 프로세서(921)를 포함하고, 이미지 처리 시스템(920)이 프리-프로세서(912)를 포함할 수 있고, 뉴럴 네트워크 프로세서(921)는 프리-프로세서로부터 재구성 이미지 데이터(RIDT)를 수신하여 이미지 처리 동작을 수행할 수 있다.
이와 같이, 본 개시의 기술적 사상에 따른 이미지 처리 장치(900)는 도 3의 프리-프로세서(330) 및 뉴럴 네트워크 프로세서(340) 중 적어도 하나가 카메라 모듈(910) 측에서 기능을 수행하도록 구현될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 전자 장치를 나타내는 블록도이다. 예를 들어, 전자 장치(1000)는 휴대용 단말기일 수 있다.
도 10을 참조하면, 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치(1000)는 어플리케이션 프로세서(1100), 이미지 센서(1200), 디스플레이 장치(1300), 워킹 메모리(1400), 스토리지(1500), 유저 인터페이스(1600) 및 무선 송수신부(1700)를 포함할 수 있으며, 어플리케이션 프로세서(1100)는 이미지 신호 프로세서(1110), 뉴럴 네트워크 프로세서(1120), 및 프리-프로세서(1130)를 포함할 수 있다. 도 1 등에서 서술된 본 개시의 예시적 실시예들에 따른 이미지 프로세싱 방식이 이미지 신호 프로세서(1110), 뉴럴 네트워크 프로세서(1120), 및 프리-프로세서(1130)에 적용될 수 있다. 실시예에 있어서, 이미지 신호 프로세서(1110), 뉴럴 네트워크 프로세서(1120), 및 프리-프로세서(1130)는 어플리케이션 프로세서(1100)와는 별개의 집적 회로로 구현될 수 있다.
어플리케이션 프로세서(1100)는 이미지 프로세싱 장치(1000)의 전반적인 동작을 제어하며 응용 프로그램, 운영 체제 등을 구동하는 시스템 온 칩(SoC)으로 제공될 수 있다.
어플리케이션 프로세서(1100)는 이미지 신호 프로세서(1110)의 동작을 제어할 수 있으며, 이미지 신호 프로세서(1110)에서 생성되는 변환된 이미지 데이터를 디스플레이 장치(1300)에 제공하거나 또는 스토리지(1500)에 저장할 수 있다.
이미지 센서(1200)는 수신되는 광 신호를 기초로 이미지 데이터, 예컨대 원시 이미지 데이터를 생성하고 이지 데이터를 이미지 신호 프로세서(1110)에 제공할 수 있다.
워킹 메모리(1400)는 DRAM, SRMA 등의 휘발성 메모리 또는 FeRAM, RRAM PRAM 등의 비휘발성의 저항성 메모리로 구현될 수 있다. 워킹 메모리(1400)는 어플리케이션 프로세서(1100)가 처리 또는 실행하는 프로그램들 및/또는 데이터를 저장할 수 있다.
스토리지(1500)는 NADN 플래시, 저항성 메모리 등의 비휘발성 메모리 장치로 구현될 수 있으며, 예컨대 스토리지(1500)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 제공될 수 있다. 스토리지(1500)는 이미지 신호 프로세서(1110)의 이미지 처리 동작을 제어하는 실행 알고리즘에 대한 데이터 및/또는 프로그램을 저장할 수 있으며, 이미지 처리 동작이 수행될 때 데이터 및/또는 프로그램이 워킹 메모리(1400)로 로딩될 수 있다. 실시예에 있어서, 스토리지(1500)는 이미지 신호 프로세서(1110)에서 생성되는 이미지 데이터, 예컨대 변환된 이미지 데이터 또는 후처리된 이미지 데이터를 저장할 수 있다.
유저 인터페이스(1600)는 키보드, 커튼 키 패널, 터치 패널, 지문 센서, 마이크 등 사용자 입력을 수신할 수 있는 다양한 장치들로 구현될 수 있다. 유저 인터페이스(1600)는 사용자 입력을 수신하고, 수신된 사용자 입력에 대응하는 신호를 어플리케이션 프로세서(1100)에 제공할 수 있다.
무선 송수신부(1700)는 트랜시버(1720), 모뎀(1710) 및 안테나(1730)를 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 이미지 처리 장치에 있어서,
    이미지 센서로부터 이미지 센서의 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신하고, 상기 이미지 센서에 포함된 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 상기 입력 이미지 데이터를 재구성(reconstruction)하여 재구성 이미지 데이터를 생성하는 프리-프로세서; 및
    상기 입력 이미지 데이터 및 상기 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 뉴럴 네트워크 프로세서; 를 포함하는 이미지 처리 장치.
  2. 제1항에 있어서,
    상기 프리-프로세서는,
    상기 위상 정보 및 상기 패턴에 기초하여 상기 재구성 이미지 데이터를 생성하는 것을 특징으로 하는, 이미지 처리 장치.
  3. 제2 항에 있어서,
    상기 프리-프로세서는,
    상기 입력 이미지 데이터를 상기 패턴보다 작은 단위를 갖는 상기 재구성 이미지 데이터로 생성하는 것을 특징으로 하는, 이미지 처리 장치.
  4. 제1 항에 있어서,
    상기 프리-프로세서는,
    상기 입력 이미지 데이터를 상기 위상 정보가 동일한 것끼리 분류하여 상기 재구성 이미지 데이터로 생성하는 것을 특징으로 하는, 이미지 처리 장치.
  5. 제1 항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    리모자이크(remosaic) 동작, 디모자이크(demosaic) 동작, 디노이즈(denoise) 동작, 디블러(deblurr) 동작, 감마 보정 동작, 하이 다이나믹 레인지 동작, 톤 매핑 동작 중 적어도 하나를 수행하도록 훈련된 것을 특징으로 하는, 이미지 처리 장치.
  6. 제1 항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    복수의 레벨을 포함하고,
    상기 복수의 레벨 각각으로 입력되는 이미지 데이터가 상이한 것을 특징으로 하는, 이미지 처리 장치.
  7. 제6 항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    적응 계층 분산 블록을 포함하고,
    상기 적응 계층 분산 블록은,
    상기 복수의 레벨 각각으로 입력되는 이미지 데이터에 대응하는 피처맵으로부터 상기 피처맵 각각에 대응하는 가중치를 추출하고,
    상기 가중치에 기초하여 상기 피처맵의 가중 합(weighted sum)을 계산하는 것을 특징으로 하는, 이미지 처리 장치.
  8. 제1 항에 있어서,
    상기 뉴럴 네트워크 프로세서로 입력되는 상기 입력 이미지 데이터의 채널 수는,
    상기 뉴럴 네트워크 프로세서로 입력되는 상기 재구성 이미지 데이터의 채널 수와 상이한 것을 특징으로 하는, 이미지 처리 장치.
  9. 이미지 처리 장치에 있어서,
    복수의 픽셀들 및 상기 복수의 픽셀들이 배열된 필터 어레이를 포함하고, 상기 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 생성하는 이미지 센서;
    상기 복수의 픽셀들 각각에 대응하는 위상 정보 및 상기 패턴에 기초하여 상기 입력 이미지 데이터를 재구성(reconstruction)하여 재구성 이미지 데이터를 생성하는 프리-프로세서; 및
    상기 입력 이미지 데이터 및 상기 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 뉴럴 네트워크 프로세서; 를 포함하고,
    상기 프리-프로세서는,
    상기 패턴에 기초하여 상기 재구성 이미지 데이터의 단위를 결정하고, 상기 입력 이미지 데이터를 상기 결정된 단위를 갖는 상기 재구성 이미지 데이터로 생성하는 것을 특징으로 하는, 이미지 처리 장치.
  10. 이미지 처리 장치의 동작 방법에 있어서,
    복수의 픽셀이 배열된 필터 어레이에 대응하는 패턴을 갖는 입력 이미지 데이터를 수신하는 단계;
    상기 복수의 픽셀들 각각에 대응하는 위상 정보에 기초하여 입력 이미지 데이터를 재구성하여 재구성 이미지 데이터를 생성하는 단계; 및
    기설정된 이미지 처리 동작들을 수행하도록 훈련된 뉴럴 네트워크 프로세서를 이용하여 입력 이미지 데이터 및 재구성 이미지 데이터에 대한 이미지 처리를 수행하여 출력 이미지 데이터를 생성하는 단계;를 포함하는 이미지 처리 장치의 동작 방법.

KR1020220073065A 2021-09-03 2022-06-15 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법 KR20230034875A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211053491.7A CN115760659A (zh) 2021-09-03 2022-08-31 图像处理设备及其操作方法
US17/902,464 US20230071368A1 (en) 2021-09-03 2022-09-02 Image processing apparatus including pre-processor and neural network processor and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210117943 2021-09-03
KR1020210117943 2021-09-03

Publications (1)

Publication Number Publication Date
KR20230034875A true KR20230034875A (ko) 2023-03-10

Family

ID=85570348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220073065A KR20230034875A (ko) 2021-09-03 2022-06-15 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR20230034875A (ko)

Similar Documents

Publication Publication Date Title
US11849226B2 (en) Image processing device including neural network processor and operating method thereof
US10643306B2 (en) Image signal processor for processing images
KR102606824B1 (ko) 멀티 카메라를 포함하는 장치 및 이의 이미지 처리방법
US20200118249A1 (en) Device configured to perform neural network operation and method of operating same
WO2020048359A1 (en) Method, system, and computer-readable medium for improving quality of low-light images
US11838651B2 (en) Image processing apparatus including neural network processor and method of operating the same
WO2020098360A1 (en) Method, system, and computer-readable medium for processing images using cross-stage skip connections
US11893710B2 (en) Image reconstruction method, electronic device and computer-readable storage medium
KR20230034875A (ko) 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법
US20220366588A1 (en) Electronic device for generating depth information of region of interest and operation method thereof
US20230071368A1 (en) Image processing apparatus including pre-processor and neural network processor and operating method thereof
CN115242990A (zh) 图像传感器模块和操作图像传感器模块的方法
US20220130012A1 (en) Demosaicing method and demosaicing device
KR20230013989A (ko) 이미지 처리 장치, 이의 동작 방법 및, 이를 포함하는 이미지 처리 시스템
US11748862B2 (en) Image processing apparatus including neural network processor and method of operation
CN115063301A (zh) 一种视频去噪方法、视频处理方法和装置
US11978223B2 (en) Electronic device including processing circuit for generating depth information using luminance data and method of generating depth information
KR20200129957A (ko) 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템
CN113256763B (zh) 电子设备及其图像处理方法、片上系统和介质
US20230262343A1 (en) Image signal processor, method of operating the image signal processor, and application processor including the image signal processor
US20240163578A1 (en) Image signal processor, image sensor, and operating method of the image sensor
KR20240068414A (ko) 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법
KR20220147412A (ko) 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 센서 모듈의 동작 방법
CN104301584A (zh) 图像处理系统
CN113259666A (zh) 电子设备及其图像处理方法、片上系统和介质