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

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

Info

Publication number
KR20220004436A
KR20220004436A KR1020200082268A KR20200082268A KR20220004436A KR 20220004436 A KR20220004436 A KR 20220004436A KR 1020200082268 A KR1020200082268 A KR 1020200082268A KR 20200082268 A KR20200082268 A KR 20200082268A KR 20220004436 A KR20220004436 A KR 20220004436A
Authority
KR
South Korea
Prior art keywords
image data
pixels
pixel
bad
neural network
Prior art date
Application number
KR1020200082268A
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 KR1020200082268A priority Critical patent/KR20220004436A/ko
Priority to US17/147,067 priority patent/US11748862B2/en
Priority to CN202110689955.2A priority patent/CN113891051A/zh
Priority to TW110124327A priority patent/TW202211686A/zh
Publication of KR20220004436A publication Critical patent/KR20220004436A/ko
Priority to US18/365,013 priority patent/US20230377111A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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 transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • 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/20084Artificial neural networks [ANN]
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

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

Abstract

본 개시의 기술적 사상에 따른 이미지 장치는, 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 제1 패턴의 컬러 필터 어레이를 포함하고, 상기 복수의 픽셀들을 통해 제1 이미지 데이터를 생성하도록 구성된 이미지 센서, 상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들(clusters)에 관한 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하여 제2 이미지 데이터를 생성하도록 구성된 뉴럴 네트워크 프로세서 및 상기 제2 이미지 데이터로부터 제3 이미지 데이터를 생성하기 위한 포스트프로세싱 동작을 수행하도록 구성된 메인 프로세서를 포함한다.

Description

뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법{An image processing apparatus including a neural network processor and operating method thereof}
본 개시의 기술적 사상은 뉴럴 네트워크 프로세서를 이용한 이미지 프로세싱 동작을 수행하는 이미지 장치 및 이의 동작 방법에 관한 발명이다.
최근 고품질 및 고화질의 사진, 영상 등에 대한 요구가 커짐에 따라 이미지 센서의 픽셀들은 사이즈가 작아지고, 더 많은 개수가 집적되었다. 이에 따라, 공정상 이슈로 인해 이미지 장치의 픽셀들은 임의의 위치에서, 임의의 형태를 구성하는 배드 픽셀들을 포함할 수 있다. 임의의 형태의 많은 개수의 배드 픽셀들은 사진, 영상 등을 생성하는 데에 사용되지 않기 때문에 이미지 장치의 성능을 저하시키는 문제가 있었다. 이에 따라, 배드 픽셀들로부터 출력되는 픽셀 데이터들을 보정하는 기술이 요구되고 있는 실정이다. 다만, 배드 픽셀들은 공정 상의 이슈로 인해 예측할 수 없는 다양한 형태의 클러스터를 구성하며 발생될 수 있기 때문에, 이에 적합한 배드 픽셀 보정 기술이 필요하다.
본 개시의 기술적 사상이 해결하려는 과제는 뉴럴 네트워크 프로세서를 이용하여 임의의 형태의 클러스터에 포함된 배드 픽셀들로부터 출력되는 픽셀 데이터들을 적절하게 보정함으로써 이미지 장치의 성능을 향상시키기 위한 이미지 장치 및 이의 동작 방법을 제공하는 데에 있다.
상기와 같은 목적을 달성하기 위하여 본 개시의 기술적 사상에 따른 이미지 장치는, 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 제1 패턴의 컬러 필터 어레이를 포함하고, 상기 복수의 픽셀들을 통해 제1 이미지 데이터를 생성하도록 구성된 이미지 센서, 상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들(clusters)에 관한 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하여 제2 이미지 데이터를 생성하도록 구성된 뉴럴 네트워크 프로세서 및 상기 제2 이미지 데이터로부터 제3 이미지 데이터를 생성하기 위한 포스트프로세싱 동작을 수행하도록 구성된 메인 프로세서를 포함한다.
본 개시의 기술적 사상에 따른 이미지 장치는, 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 소정의 패턴의 컬러 필터 어레이를 포함하고, 상기 복수의 픽셀들을 통해 제1 이미지 데이터를 생성하도록 구성된 이미지 센서, 상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들에 관한 제1 좌표 정보를 저장하도록 구성된 비휘발성 메모리 및 상기 비휘발성 메모리로부터 리드된 상기 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하도록 구성된 뉴럴 네트워크 프로세서를 포함한다.
본 개시의 기술적 사상에 따른 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 소정의 패턴의 컬러 필터 어레이가 구비된 이미지 센서, 뉴럴 네트워크 프로세서 및 메인 프로세서를 포함하는 이미지 장치의 동작 방법은, 상기 이미지 센서에서, 상기 복수의 픽셀들을 이용하여 제1 이미지 데이터를 생성하는 단계, 상기 뉴럴 네트워크 프로세서에서, 상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들에 관한 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하는 단계 및 상기 메인 프로세서에서, 상기 뉴럴 네트워크 프로세서로부터 출력된 제2 이미지 데이터에 대한 포스트 프로세싱 동작을 수행하는 단계를 포함한다.
본 개시의 예시적 실시 예들에 따른 이미지 프로세싱 장치는 뉴럴 네트워크 프로세서를 통해 다양한 형태의 클러스터를 구성하는 복수의 배드 픽셀들에 대한 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 또한, 이미지 프로세싱 장치는 뉴럴 네트워크 프로세서를 통해 클러스터 단위의 배드 픽셀 보정에 적합한 프리 프로세싱 또는 포스트 프로세싱 동작을 수행할 수 있다. 이를 통해, 이미지 프로세싱 장치는 고해상도, 고품질의 이미지를 생성할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 시스템을 나타내는 블록도이다.
도 2는 뉴럴 네트워크 구조의 일 예를 나타낸다. 이는, 도 1의 뉴럴 네트워크 프로세서에 적용될 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치를 나타내는 블록도이다.
도 4a 내지 도 4c는 도 3의 컬러 필터 어레이에 대응하는 픽셀 어레이의 구현예들을 나타내는 도면이다.
도 5a 및 도 5b는 픽셀 어레이 내에 존재하는 배드 픽셀을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서의 동작을 구체적으로 설명하기 위한 블록도이다.
도 7a 및 도 7b는 본 개시의 예시적 실시예에 따른 클러스터 단위의 배드 픽셀 보정 동작을 설명하기 위한 도면이다.
도 8a 및 도 8b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서의 동작을 구체적으로 설명하기 위한 도면이다.
도 9 및 도 10은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서의 동작을 구체적으로 설명하기 위한 블록도이다.
도 11은 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 시스템(1)을 나타내는 블록도이다.
뉴럴 네트워크 시스템(1)은 뉴럴 네트워크를 훈련(train)(또는 학습(learn))하거나, 뉴럴 네트워크를 이용하여 입력 데이터를 분석함으로써 입력 데이터에 포함된 정보를 추론(inference)할 수 있다. 뉴럴 네트워크 시스템(1)은 추론된 정보를 기초로 상황 판단을 하거나 또는 뉴럴 네트워크 시스템(1)이 탑재되는 전자 장치의 구성들을 제어할 수 있다. 예컨대, 뉴럴 네트워크 시스템(1)은 뉴럴 네트워크를 이용한 음성 인식, 영상 인식, 영상 분류, 영상 처리 등을 수행하는 스마트 폰, 태블릿 디바이스, 스마트 TV, AR(Augmented Reality) 디바이스, IoT(Internet of Things) 디바이스, 자율주행 자동차, 로보틱스, 의료기기, 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS), 영상 표시 장치, 계측 장치 등에 적용될 수 있으며, 이 외에도 뉴럴 네트워크 시스템(1)은 다양한 종류의 전자 장치 중 하나에 탑재될 수 있다. 실시예에 있어서, 도 1의 뉴럴 네트워크 시스템(1)은 애플리케이션 프로세서일 수 있다. 이하에서는, 뉴럴 네트워크 시스템(1)은 이미지 장치에 적용될 수 있으며, 센서 모듈(10)의 배드 픽셀들로 구성된 적어도 하나의 클러스터에 대한 배드 픽셀 보정을 수행할 수 있도록 구현된 것을 중심으로 서술한다.
도 1을 참조하면, 뉴럴 네트워크 시스템(1)은 센서 모듈(10), 뉴럴 네트워크 프로세서(또는, 뉴럴 네트워크 장치)(20), CPU(Cenral Proccessing Unit)(30), 램(40) 및 메모리(50)를 포함할 수 있다. 뉴럴 네트워크 시스템(1)은 입출력 모듈, 보안 모듈, 전력 제어 장치 등을 더 포함할 수 있으며, 또한 다양한 종류의 프로세서들을 더 포함할 수 있다.
실시예들에 있어서, 뉴럴 네트워크 시스템(1)의 구성들 중 일부 또는 전부는 하나의 반도체 칩에 형성될 수 있다. 예컨대, 뉴럴 네트워크 시스템(1)은 시스템-온 칩(System On Chip; SoC)으로서 구현될 수 있으며, 일부 실시예에 있어서, 이미지 칩 등으로 지칭될 수 있다. 뉴럴 네트워크 시스템(1)의 구성들은 버스(60)를 통해 서로 통신할 수 있다.
CPU(30)는 뉴럴 네트워크 시스템(1)의 전반적인 동작을 제어한다. CPU(110)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(30)는 메모리(50)와 같은 저장 영역에 저장된 프로그램들 및/또는 데이터를 램(40)을 이용하여 처리 또는 실행할 수 있다.
예를 들어서, CPU(30)는 응용 프로그램(application)을 실행하고, 응용 프로그램의 실행에 따라 요구되는 뉴럴 네트워크 기반의 태스크들을 수행하도록 뉴럴 네트워크 프로세서(20)를 제어할 수 있다. 뉴럴 네트워크는 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 등 다양한 종류의 뉴럴 네트워크 모델들 중 적어도 하나를 포함할 수 있다.
뉴럴 네트워크 프로세서(20)는 수신되는 입력 데이터를 기초로 뉴럴 네트워크 연산을 수행할 수 있다. 나아가, 뉴럴 네트워크 장치(20)는 뉴럴 네트워크 연산의 수행 결과를 기초로 정보 신호를 생성할 수 있다. 뉴럴 네트워크 장치(20)는 뉴럴 네트워크 연산 가속기, 코프로세서(coprocessor), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit) 등으로 구현될 수 있다.
한편, 센서 모듈(10)은 뉴럴 네트워크 시스템(1)이 탑재되는 전자 장치 주변의 정보를 수집할 수 있다. 센서 모듈(10)은 전자 장치의 외부로부터 신호(예컨대 영상 신호, 음성 신호, 자기 신호, 생체 신호, 터치 신호 등)를 센싱 또는 수신하고, 센싱 또는 수신된 신호를 센싱 데이터로 변환할 수 있다. 이를 위해, 센서 모듈(10)은 센싱 장치, 예컨대 마이크, 촬상 장치, 이미지 센서, 라이더(LIDAR; light detection and ranging) 센서, 초음파 센서, 적외선 센서, 바이오 센서, 및 터치 센서 등 다양한 종류의 센싱 장치 중 적어도 하나를 포함할 수 있다.
센싱 데이터는 뉴럴 네트워크 프로세서(10)에 입력 데이터로서 제공되거나, 또는 메모리(50)에 저장될 수 있다. 메모리(50)에 저장된 센싱 데이터는 뉴럴 네트워크 프로세서(20)로 제공될 수 있다. 일부 실시예에 있어서, 뉴럴 네트워크 프로세서(20)는 영상 데이터를 처리하는 GPU(Graphic Processing Unit)를 더 포함하고, 센싱 데이터는 GPU에서 가공 처리된 후, 메모리(50) 또는 뉴럴 네트워크 프로세서(20)에 제공될 수 있다.
예시적 실시예로, 센서 모듈(10)은 이미지 센서를 포함할 수 있으며, 전자 장치의 외부 환경을 촬영하여 이미지 데이터를 생성할 수 있다. 센서 모듈(10)에서 출력되는 이미지 데이터는 뉴럴 네트워크 프로세서(20)에 직접 제공되거나 또는 메모리(50)에 저장된 후, 뉴럴 네트워크 프로세서(20)에 제공될 수 있다.
본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서(20)는 센서 모듈(10) 또는 메모리(50)로부터 이미지 데이터를 수신하고, 이에 기반하여 뉴럴 네트워크 연산을 수행할 수 있다. 뉴럴 네트워크 프로세서(20)는 소정의 뉴럴 네트워크 모델 기반 뉴럴 네트워크 연산을 통하여 정의된 배드 픽셀 네트워크 모듈 (22)을 포함할 수 있다. 이하에서 서술되는 모듈의 구성은 소정의 프로세서에 의해서 실행되는 소프트웨어 블록이거나, 전용의 하드웨어 블록 및 프로세싱 유닛의 조합으로 구현될 수 있다.
예시적 실시예에 따른 배드 픽셀 네트워크 모듈(22)은 센서 모듈(10)의 이미지 센서에 포함된 복수의 픽셀들 중에서 다양한 형태의 클러스터 단위의 배드 픽셀들을 검출하고, 검출된 배드 픽셀들로부터 출력된 픽셀 데이터들을 보정할 수 있다. 이하에서는, 배드 픽셀로부터 출력된 픽셀 데이터 또는 배드 픽셀이 포함된 픽셀들로부터 출력된 이미지 데이터를 보정하는 동작은 배드 픽셀 보정으로 지칭될 수 있다. 배드 픽셀들로 구성된 다양한 형태의 클러스터 단위의 배드 픽셀들은 도 6b에서 구체적으로 서술한다.
배드 픽셀 네트워크 모듈(22)은 센서 모듈(10)의 이미지 센서로부터 생성된 제1 이미지 데이터를 수신할 수 있다. 예시적 실시예로, 배드 픽셀 네트워크 모듈(22)은 이미지 센서의 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들에 관한 제1 좌표 정보를 기반으로 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하여 제2 이미지 데이터를 생성할 수 있다. 구체적으로, 배드 픽셀 네트워크 모듈(22)은 제1 좌표 정보를 기반으로 제1 이미지 데이터들에 포함된 복수의 ROI(Region Of Interest) 데이터들을 선택하고, 복수의 ROI 데이터들로부터 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 예시적 실시예로, 제1 좌표 정보는, 복수의 ROI 데이터들 각각을 대표하는 픽셀 데이터들의 좌표들을 포함할 수 있다.
한편, 제1 좌표 정보는, 이미지 센서의 생산 과정에서 복수의 픽셀들 중 배드 픽셀들의 좌표(또는, 위치)를 나타내는 마스킹(masking) 정보를 기반으로 생성될 수 있다. 즉, 뉴럴 네트워크 프로세서(20)은 마스킹 정보를 분석하여 클러스터 단위의 배드 픽셀 보정을 최적으로 수행할 수 있는 제1 좌표 정보를 생성할 수 있으며, 제1 좌표 정보는 메모리(50)에 저장할 수 있다. 배드 픽셀 네트워크 모듈(22)은 클러스터 단위의 배드 픽셀 보정을 위해 메모리(50)에 접근(access)하여 제1 좌표 정보를 리드할 수 있다. 또한, 제1 좌표 정보는 이미지 센서의 사용 기간, 배드 픽셀의 특성, 외부 요인 등을 기반으로 주기적 또는 비주기적으로 업데이트될 수 있다.
예시적 실시예로, 배드 픽셀 네트워크 모듈(22)은 이미지 센서의 복수의 픽셀들 중 클러스터를 구성하지 않고, 상호 떨어진(isolated) 복수의 제2 배드 픽셀들에 관한 제2 좌표 정보를 기반으로 센서 모듈(10)로부터 수신된 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정을 수행할 수 있다. 즉, 배드 픽셀 네트워크 모듈(22)은 제1 이미지 데이터에 대하여 픽셀 단위의 배드 픽셀 보정 및 클러스터 단위 배드 픽셀 보정 중 적어도 하나를 수행할 수 있다. 제2 좌표 정보는, 상기 마스킹 정보로부터 획득될 수 있으며, 메모리(50)에 저장될 수 있다. 일부 실시예에 있어서, 배드 픽셀 네트워크 모듈(22)은 제1 이미지 데이터에 대하여 픽셀 단위의 배드 픽셀 보정을 우선적으로 수행한 후에, 클러스터 단위의 배드 픽셀 보정을 수행함으로써 제2 이미지 데이터를 생성할 수 있다. 또한, 다른 실시예로, 픽셀 단위의 배드 픽셀 보정은 다른 프로세서(예를 들면, CPU(30))에서 수행될 수 있으며, 배드 픽셀 네트워크 모듈(22)은 다른 프로세서에서 수행되는 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정과 병렬적으로 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 이후, 픽셀 단위의 배드 픽셀 보정 완료된 제1 이미지 데이터와 클러스터 단위의 배드 픽셀 보정 완료된 제1 이미지 데이터는 상호 머지(merge)될 수 있다.
예시적 실시예로, 뉴럴 네트워크 프로세서(20)는 배드 픽셀 보정이 완료된 이미지 데이터에 대한 재구성(reconstruct)을 수행할 수 있다. 이미지 데이터에 대한 재구성 동작은 이미지 데이터의 형식을 변환하는 동작을 지칭할 수 있다. 예컨대, 이하 서술될 테트라(tetra) 형식의 이미지 데이터를 베이어(bayer) 형식 또는 RGB 형식(또는, YUV 형식 등)의 이미지 데이터로 변환하는 동작일 수 있다. 예시적 실시예로, 뉴럴 네트워크 프로세서(20)는 CPU(30)에 의해 수행되는 이미지 데이터에 대한 재구성 동작과 상보적인 재구성 동작을 수행하거나, 독점적으로 재구성 동작을 수행할 수 있다.
예시적 실시예로, 뉴럴 네트워크 프로세서(20)는 이미지 데이터에 대한 재구성 외에 이미지 데이터에 대한 프리 프로세싱 동작 또는 포스트 프로세싱 동작을 수행할 수 있다. 뉴럴 네트워크 프로세서(20)는 CPU(30)에 의해 수행되는 이미지 데이터에 대한 프리 프로세싱 동작 또는 포스트 프로세싱 동작과 상보적인 프리 프로세싱 동작 또는 포스트 프로세싱 동작을 수행하거나, 독점적으로 프리 프로세싱 동작 또는 포스트 프로세싱 동작을 수행할 수 있다. 뉴럴 네트워크 프로세서(20)는 램(40) 또는 메모리(50)를 이용하여 전술한 동작을 수행할 수 있다.
메모리(50)는 휘발성 메모리(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), FRAM (Ferroelectric RAM) 등을 포함한다. 휘발성 메모리는 DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous DRAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FeRAM(Ferroelectric RAM) 등을 포함한다. 실시예에 있어서, 메모리(50)는 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 중 적어도 하나를 포함할 수 있다.
도 2는 뉴럴 네트워크 구조의 일 예를 나타낸다. 이는, 도 1의 뉴럴 네트워크 프로세서(20)에 적용될 수 있다.
도 2를 참조하면, 뉴럴 네트워크(NN)는 복수의 레이어들(L1 내지 Ln)을 포함할 수 있다. 이와 같은 멀티-레이어드 구조의 뉴럴 네트워크는 딥 뉴럴 네트워크(deep neural network; DNN) 또는 딥 러닝 구조(deep learning architecture)로 지칭될 수 있다. 복수의 레이어들(L1 내지 Ln) 각각은 선형 레이어 또는 비선형 레이어일 수 있으며, 실시예에 있어서, 적어도 하나의 레이어 및 적어도 하나의 비선형 레이어가 겹합되어 하나의 레이어로 지칭될 수도 있다. 예시적으로, 선형 레이어는 컨볼루션 레이어(convolution), 풀리 커넥티드(fully connected) 레이어를 포함할 수 있으며, 비선형 레이어는 풀링(pooling) 레이어, 액티베이션 레이어를 포함할 수 있다.
예시적으로, 제1 레이어(L1)는 컨볼루션 레이어이고, 제2 레이어(L2)는 풀링(pooling) 레이어이고, 제n 레이어(Ln)는 출력 레이어로서 풀리 커넥티드(fully connected) 레이어일 수 있다. 뉴럴 네트워크(NN)는 활성(activation) 레이어를 더 포함할 수 있으며, 다른 종류의 연산을 수행하는 레이어를 더 포함할 수 있다.
복수의 레이어들(L1 내지 Ln) 각각은 입력되는 이미지 프레임 또는 이전 레이어에서 생성된 피처 맵을 입력 피처 맵으로서 수신하고, 입력 피처 맵을 연산하여 출력 피처 맵 또는 인식 신호(REC)를 생성할 수 있다. 이때, 피처 맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미한다. 피처 맵들(FM1, FM2, FM3, FMn)은 예컨대 복수의 피처 값들을 포함하는 2차원 매트릭스 또는 3차원 매트릭스(또는 텐서(tensor)라고 함) 형태를 가질 수 있다. 피처 맵들(FM1, FM2, FM3, FMn)은 너비(W)(또는 칼럼이라고 함), 높이(H)(또는 로우라고 함) 및 깊이(D)를 가지며, 이는 좌표상의 x축, y축 및 z축에 각각 대응할 수 있다. 이때, 깊이(D)는 채널 수로 지칭될 수 있다.
제1 레이어(L1)는 제1 피처 맵(FM1)을 웨이트 맵(WM)과 컨볼루션하여 제2 피처 맵(FM2)을 생성할 수 있다. 웨이트 맵(WM)은 복수의 웨이트 값들을 포함하는 2차원 매트릭스 또는 3차원 매트릭스 형태를 가질 수 있다. 웨이트 맵(WM)은 커널로 지칭될 수 있다. 웨이트 맵(WM)은 제1 피처 맵(FM1)을 필터링할 수 있으며, 필터 또는 커널로 지칭될 수 있다. 웨이트 맵(WM)의 깊이, 즉 채널 개수는 제1 피처 맵(FM1)의 깊이, 즉 채널 개수와 동일하며, 웨이트 맵(WM)과 제1 피처 맵(FM1)의 동일한 채널끼리 컨볼루션될 수 있다. 웨이트 맵(WM)이 제1 입력 피처 맵(FM1)을 슬라이딩 윈도로하여 횡단하는 방식으로 시프트된다. 각 시프트동안, 웨이트 맵(WM)에 포함되는 웨이트들 각각이 제1 피처 맵(FM1)과 중첩된 영역에서의 모든 피처값과 곱해지고 더해질 수 있다. 제1 피처 맵(FM1)과 웨이트 맵(WM)이 컨볼루션 됨에 따라, 제2 피처 맵(FM2)의 하나의 채널이 생성될 수 있다. 도 2에는 하나의 웨이트 맵(WM)이 표시되었으나, 실질적으로는 복수개의 웨이트 맵이 제1 피처 맵(FM1)과 컨볼루션됨으로써, 제2 피처 맵(FM2)의 복수개의 채널이 생성될 수 있다. 다시 말해, 제2 피처 맵(FM2)의 채널의 수는 웨이트 맵의 개수에 대응할 수 있다.
제2 레이어(12)는 풀링을 통해 제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)를 분류할 수 있다. 또한, 클래스에 상응하는 인식 신호(REC)를 생성할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치(1000)를 나타내는 블록도이다.
이미지 프로세싱 장치(1000)는 이미지를 촬영하고, 촬영된 이미지를 디스플레이하거나 또는 촬영된 이미지 기반의 동작을 수행하는 전자 장치로 구현될 수 있다. 이미지 프로세싱 장치(1000)는 예를 들어, 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), 웨어러블 기기 등을 포함할 수 있다. 또한, 이미지 프로세싱 장치(1000)는 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 전자 기기 또는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로서 구비되는 전자 기기에 탑재될 수 있다.
도 3을 참조하면, 이미지 프로세싱 장치(1000)는 이미지 센서(1100) 및 이미지 프로세싱 시스템(1200)을 포함할 수 있다. 이미지 프로세싱 장치(1000)는 디스플레이, 유저 인터페이스 등의 다른 구성들을 더 포함할 수 있다. 이미지 프로세싱 시스템(1200)은 프리 프로세서(100), 뉴럴 네트워크 프로세서(200), 메인 프로세서(300) 및 메모리(400)를 포함할 수 있다. 프리 프로세서(100), 뉴럴 네트워크 프로세서(200) 및 메인 프로세서(300)는 단일 또는 복수의 반도체 칩으로 구현될 수 있다. 더 나아가, 이미지 프로세싱 시스템(1200) 또는 이미지 프로세싱 장치(1000)는 SoC(System On Chip)로 구현될 수 있다. 또한, 도 3에서는 프리 프로세서(100)와 메인 프로세서(300)가 별도의 구성으로 개시되어 있으나, 이는 예시적 실시 예에 불과한 바, 하나의 구성으로 구현될 수 있다.
이미지 센서(1100)는 소정의 패턴을 갖는 컬러 필터 어레이(1110)를 포함하고, 광학 렌즈(LS)를 통하여 입사된 피사체(Object)의 광학적 신호를 컬러 필터 어레이(1110)를 이용하여 전기적 신호로 변환하고, 전기적 신호들을 기초로 제1 이미지 데이터(IDATA)를 생성하여 출력할 수 있다. 예시적 실시예로, 컬러 필터 어레이(1110)는 베이어 패턴이 아닌 테트라 패턴 등의 차세대 픽셀 기술을 지원하도록 구현된 것일 수 있다. 일 예로, 컬러 필터 어레이(1110)는 테트라 셀들(tetra cells)에 부합하는 패턴을 가지거나, 노나 셀들(nonacells)에 부합하는 패턴을 가질 수 있다. 이하에서는, 서술의 편의를 위해 컬러 필터 어레이(1110)는 테트라 패턴에 대응하는 것을 가정하여 서술하나, 본 개시의 사상은 여기에 제한 해석되지 않음은 충분히 이해될 것이다.
이미지 센서(1100)는 예를 들어, 2차원적으로 배열된 복수의 픽셀들을 포함하는 픽셀 어레이 및 리드아웃 회로를 포함할 수 있으며, 픽셀 어레이는 수신되는 광 신호들을 전기적 신호들로 변환할 수 있다. 픽셀 어레이는 예를 들면, CCD(Charge Coupled Devices) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 광전 변환 소자로 구현될 수 있으며 이외에도 다양한 종류의 광전 변환 소자로 구현될 수 있다. 리드아웃 회로는 픽셀 어레이로부터 제공되는 전기적 신호를 기초로 로우 데이터(Raw data)를 생성하고, 노이즈 제거 등이 수행된 로우 데이터를 제1 이미지 데이터(IDATA)로서 출력할 수 있다. 이미지 센서(1100)는 픽셀 어레이 및 리드아웃 회로를 포함하는 반도체 칩 또는 패키지로서 구현될 수 있다.
예시적 실시예에 따른 프리 프로세서(100)는 제1 이미지 데이터(IDATA)에 대한 크로스 토크 보정(X-talk correction) 동작, 픽셀 단위의 배드 픽셀 보정 동작 등 중 적어도 하나의 프리-프로세싱을 수행할 수 있다.
예시적 실시예에 따른 뉴럴 네트워크 프로세서(200)는 배드 픽셀 네트워크 모듈(220)을 포함할 수 있다. 배드 픽셀 네트워크 모듈(220)은 제1 이미지 데이터(IDATA)에 대한 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 일 예로, 배드 픽셀 네트워크 모듈(220)은 메모리(300)로부터 제1 좌표 정보를 리드하고, 제1 좌표 정보를 기반으로 제1 이미지 데이터(IDATA)에 포함된 복수의 ROI 데이터들을 선택하고, 복수의 ROI 데이터들로부터 배드 픽셀들로 각각 구성된 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다.
예시적 실시예로, 배드 픽셀 네트워크 모듈(220)은 프리 프로세서(100)에서 수행되는 픽셀 단위의 배드 픽셀 보정 동작과 병렬적으로 클러스터 단위의 배드 픽셀 보정 동작을 수행할 수 있다. 이 때, 메인 프로세서(300)는 프리-프로세서(100)로부터의 픽셀 단위의 배드 픽셀 보정 동작이 완료된 제1 이미지 데이터(IDATA)와 뉴럴 네트워크 프로세서(200)로부터의 클러스터 단위의 배드 픽셀 보정 동작이 완료된 제1 이미지 데이터(IDATA)를 머지한 후에, 포스트 프로세싱 동작을 수행할 수 있다.
일부 실시예에서, 뉴럴 네트워크 프로세서(200)는 프리 프로세서(100)를 대신하여 프리-프로세서(100)에서 수행되는 프리-프로세싱 동작을 전부 또는 일부를 수행할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서(200)는 제1 이미지 데이터(IDATA)에 대한 크로스 토크 보정 및 픽셀 단위의 배드 픽셀 보정 중 적어도 하나를 수행할 수 있다. 이미지 센서(1100)의 복수의 픽셀들은 적어도 하나의 스태틱(static) 배드 픽셀 및 적어도 하나의 다이나믹(dynamic) 배드 픽셀을 포함할 수 있다. 스태틱 배드 픽셀은, 픽셀 데이터가 생성되는 환경, 노이즈 등의 다양한 요인에 관계없이 지속적으로 배드 픽셀 데이터를 출력하는 것이고, 다이나믹 배드 픽셀은, 픽셀 데이터가 생성되는 환경, 노이즈 등의 다양한 요인에 따라 배드 픽셀 데이터를 출력하거나, 노말 픽셀 데이터를 출력하는 것일 수 있다.
예를 들어, 배드 픽셀 네트워크 모듈(220)은 마스킹 정보를 기반으로 제1 이미지 데이터(IDATA)에서 적어도 하나의 스태틱 배드 픽셀에 대응하는 픽셀 데이터를 검출하고, 이를 보정할 수 있다. 이에 후속하여, 배드 픽셀 네트워크 모듈(220)은 마스킹 정보 및 제1 이미지 데이터(IDATA)의 각 픽셀 데이터 값들의 패턴을 기반으로 제1 이미지 데이터(IDATA)에서 적어도 하나의 다이나믹 배드 픽셀에 대응하는 픽셀 데이터를 검출하고, 이를 보정할 수 있다. 배드 픽셀 네트워크 모듈(220)은 픽셀 단위의 배드 픽셀 보정이 완료된 제1 이미지 데이터(IDATA)에 대하여 클러스터 단위의 배드 픽셀 보정 동작을 후속할 수 있다.
메인 프로세서(300)는 뉴럴 네트워크 프로세서(200)로부터 수신된 제2 이미지 데이터에 대한 리모자이크 동작 및 디모자이크 동작 등을 포함하는 포스트 프로세싱 동작을 수행함으로써 이미지 데이터의 형식을 변환할 수 있다. 예를 들어, 메인 프로세서(300)는 테트라 형식의 제2 이미지 데이터를 베이어 형식, RGB 형식으로 변환하여 풀 컬러 이미지 데이터인 제3 이미지 데이터를 생성할 수 있다.
일부 실시예에서, 뉴럴 네트워크 프로세서(200)는 메인 프로세서(300)를 대신하여 메인 프로세서(300)에서 수행되는 프리 프로세싱 동작을 전부 또는 일부를 수행할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서(200)는 테트라 형식의 제2 이미지 데이터를 리모자이크하여 베이어 형식의 제2 이미지 데이터로 변환하거나, 이에 디모자이크를 추가적으로 수행하여 RGB 형식의 제2 이미지 데이터로 변환할 수 있다.
예시적 실시예들에 따른 뉴럴 네트워크 프로세서(200)의 구체적인 동작은 도 6a 내지 도 10 등에서 구체적으로 서술한다.
본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치(1000)는 뉴럴 네트워크 프로세서(200)를 통해 다양한 형태의 클러스터를 구성하는 복수의 배드 픽셀들에 대한 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 또한, 이미지 프로세싱 장치(1000)는 뉴럴 네트워크 프로세서(200)를 통해 클러스터 단위의 배드 픽셀 보정에 적합한 프리 프로세싱 또는 포스트 프로세싱 동작을 수행할 수 있다. 이를 통해, 이미지 프로세싱 장치(1000)는 고해상도, 고품질의 이미지를 생성할 수 있다.
도 4a 내지 도 4c는 도 3의 컬러 필터 어레이(1110)에 대응하는 픽셀 어레이의 구현예들을 나타내는 도면이다.
도 4a를 참조하면, 픽셀 어레이(PX_Array)는 다수의 로우들 및 컬럼들에 따라 배치되는 다수의 픽셀들을 포함하며, 예컨대 2 개의 로우들 및 2 개의 컬럼들에 배치되는 픽셀들을 포함하는 단위로 정의되는 공유 픽셀(Shared Pixel)은 각각 4개의 서브 픽셀들(Sub Pixel)을 포함할 수 있다. 다시 말해, 공유 픽셀은 4개의 서브 픽셀들에 각각 대응되는 4개의 포토 다이오드들을 포함할 수 있다. 픽셀 어레이(PX_Array)는 제1 내지 제 16 공유 픽셀들(SP0~SP15)을 포함할 수 있다. 픽셀 어레이(PX_Array)는 공유 픽셀들(SP0~SP15)이 다양한 컬러를 센싱할 수 있도록 컬러 필터를 포함할 수 있다. 일 예로서, 컬러 필터는 레드(R), 그린(G) 및 블루(B)를 센싱하는 필터들을 포함하며, 하나의 공유 픽셀(SP0~SP15)은 동일한 컬러 필터가 배치된 서브 픽셀들을 포함할 수 있다. 예컨대, 제1 공유 픽셀(SP0), 제3 공유 픽셀(SP2), 제9 공유 픽셀(SP8) 및 제11 공유 픽셀(SP10)은 블루(B) 컬러 필터를 구비하는 서브 픽셀들을 포함할 수 있고, 제2 공유 픽셀(SP1), 제4 공유 픽셀(SP3), 제5 공유 픽셀(SP4), 제7 공유 픽셀(SP6), 제10 공유 픽셀(SP9), 제12 공유 픽셀(SP11), 제13 공유 픽셀(SP12) 및 제15 공유 픽셀(SP14)은 그린(G) 컬러 필터를 구비하는 서브 픽셀들을 포함할 수 있으며, 제6 공유 픽셀(SP5), 제8 공유 픽셀(SP7), 제14 공유 픽셀(SP13) 및 제16 공유 픽셀(SP15)은 레드(R) 컬러 필터를 구비하는 서브 픽셀들을 포함할 수 있다. 또한, 제1 공유 픽셀(SP0), 제2 공유 픽셀(SP1), 제5 공유 픽셀(SP4) 및 제6 공유 픽셀(SP5)을 포함하는 그룹, 제3 공유 픽셀(SP2), 제4 공유 픽셀(SP3), 제7 공유 픽셀(SP6) 및 제8 공유 픽셀(SP7)을 포함하는 그룹, 제9 공유 픽셀(SP8), 제10 공유 픽셀(SP9), 제13 공유 픽셀(SP12) 및 제14 공유 픽셀(SP13)을 포함하는 그룹, 제11 공유 픽셀(SP10), 제12 공유 픽셀(SP11), 제15 공유 픽셀(SP14) 및 제16 공유 픽셀(SP15)을 포함하는 그룹은 각각 베이어 패턴(Bayer pattern)에 대응되도록 픽셀 어레이(PX_Array)에 배치될 수 있다.
다만, 이는 일 실시예에 불과한 것으로서, 본 개시의 예시적 실시예에 따른 픽셀 어레이(PX_Array)는 다양한 종류의 컬러 필터들을 포함할 수 있다. 예컨대, 컬러 필터는 옐로우(yellow), 사이언(Cyan), 마젠타(Magenta) 및 그린(Green) 컬러를 센싱하기 위한 필터들을 포함할 수 있다. 또는, 컬러 필터는 레드, 그린, 블루 및 화이트 컬러를 센싱하는 필터들을 포함하여도 무방하다. 또한, 픽셀 어레이(PX_Array)는 더 많은 공유 픽셀들을 포함할 수 있으며, 각 공유 픽셀들(SP0~SP15)의 배치는 다양하게 구현될 수 있다.
도 4b를 참조하면, 하나의 공유 픽셀(SP0, SP1, SP4, SP5)은 각각 9개의 서브 픽셀들을 포함할 수 있다. 제1 공유 픽셀(SP0)은 블루(B) 컬러 필터를 구비하는 9개의 서브 픽셀들을 포함할 수 있고, 제2 공유 픽셀(SP1) 및 제5 공유 픽셀(SP4)은 각각 그린(G) 컬러 필터를 구비하는 9개의 서브 픽셀들을 포함할 수 있다. 제6 공유 픽셀(SP5)은 레드(R) 컬러 필터를 구비하는 9개의 서브 픽셀들을 포함할 수 있다. 일부 실시예에서, 공유 픽셀(SP0, SP1, SP4, SP5)은 테트라 셀(tetra cell)로 지칭될 수 있다.
도 4c를 참조하면, 하나의 공유 픽셀(SP0, SP1, SP4, SP5)은 각각 16개의 서브 픽셀들을 포함할 수 있다. 제1 공유 픽셀(SP0)은 블루(B) 컬러 필터를 구비하는 16개의 서브 픽셀들을 포함할 수 있고, 제2 공유 픽셀(SP1) 및 제5 공유 픽셀(SP4)은 각각 그린(G) 컬러 필터를 구비하는 16개의 서브 픽셀들을 포함할 수 있다. 제6 공유 픽셀(SP5)은 레드(R) 컬러 필터를 구비하는 16개의 서브 픽셀들을 포함할 수 있다. 일부 실시에에서, 공유 픽셀(SP0, SP1, SP4, SP5)은 노나 셀(nonacell)로 지칭될 수 있다.
도 5a 및 도 5b는 픽셀 어레이 내에 존재하는 배드 픽셀을 설명하기 위한 도면이다.
도 5a를 참조하면, 그림(a)에서는 하나의 배드 픽셀(BP)이 픽셀 어레이에 포함되는 예를 도시하고 있고, 그림(b)에서는 상호 떨어진(isolated) 두 개의 배드 픽셀들(BP)이 픽셀 어레이에 포함되는 예를 도시하고 있다. 그림(c)에서는 상호 떨어진(isolated) 4개의 배드 픽셀들(BP)이 픽셀 어레이에 포함되는 예를 도시하고 있다. 즉, 도 5a의 그림(a) 내지 그림(c)와 같이 배드 픽셀들(BP)은 복수 개가 연속되지 않도록 발생될 수 있으며, 이러한 배드 픽셀들(BP)에 대해서는 픽셀 단위 배드 픽셀 보정이 적합할 수 있다. 한편, 도 5a에 도시된 배드 픽셀들(BP)은 스태틱 배드 픽셀일 수 있으며, 도시되지는 않았으나, 픽셀 어레이는 적어도 하나의 다이나믹 배드 픽셀을 포함할 수 있다.
도 5b를 참조하면, 그림(a) 내지 그림(e)에서는 복수의 배드 픽셀들(BP)이상호 연속되어 임의의 형태를 이루는 클러스터의 예를 도시하고 있다. 그림(a)와 같이 하나의 공유 픽셀(SP)은 클러스터를 구성하는 4개의 배드 픽셀들을 포함할 수 있다. 그림(b)와 같이, 인접한 공유 픽셀들(SP)에서 연속되어 클러스터를 구성하는 16개의 배드 픽셀들(BP)이 존재할 수 있다. 그림(c)와 같이, 서로 다른 공유 픽셀들(SP)에서 연속되어 복수의 클러스터들을 구성하는 25개의 배드 픽셀들(BP)이 존재할 수 있다. 그림(d)와 같이, 픽셀 어레이에서 라인 형태의 클러스터를 구성하도록 임의의 축 방향으로 나란하게 배치된 배드 픽셀들(BP)이 존재할 수 있다. 그림(e)와 같이, 픽셀 어레이에서 스크래치(scratch) 형태의 클러스터를 구성하도록 배치된 배드 픽셀들(BP)이 존재할 수 있다. 즉, 도 5b의 그림(a) 내지 그림(e)와 같이 배드 픽셀들(BP)은 복수 개가 연속되어 다양한 형태의 클러스터들을 구성할 수 있으며, 이러한 배드 픽셀들(BP)에 대해서는 클러스터 단위 배드 픽셀 보정이 적합할 수 있다. 일부 실시예에 있어서, 이미지 픽셀들은 다양한 형태의 복수의 클러스터들을 포함할 수 있다.
도 6a 및 도 6b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서(200a, 200b)의 동작을 구체적으로 설명하기 위한 블록도이다. 이하, 도 6a 및 도 6b에 도시된 모듈들의 구성은 예시적인 실시예에 불과한 바, 이에 국한되지 않고, 더 많은 프리 프로세싱 동작들 또는 포스트 프로세싱 동작들을 위한 모듈들의 구성이 이미지 프로세싱 시스템(1200a, 1200b)에 더 추가될 수 있다.
도 6a를 참조하면, 이미지 프로세싱 시스템(1200a)은 프리 프로세서(100a), 뉴럴 네트워크 프로세서(200a) 및 메인 프로세서(300a)를 포함할 수 있다. 프리 프로세서(100a)는 크로스 토크 보정 모듈(120a) 및 배드 픽셀 보정 모듈(130a)을 포함할 수 있다. 뉴럴 네트워크 프로세서(200a)는 배드 픽셀 네트워크 모듈(220a)을 포함할 수 있다. 메인 프로세서(30a)는 리모자이크 모듈(310a), 디모자이크 모듈(320a), 디노이징 모듈(330a) 및 샤프닝 모듈(340a)을 포함할 수 있다.
프리 프로세서(100a)는 테트라 형식의 제1 이미지 데이터(IDATAa)(이하, 제1 테트라 데이터로 기술)를 수신하고, 제1 테트라 데이터(IDATAa)에 대한 크로스 토크 보정 및 픽셀 단위의 배드 픽셀 보정 동작을 포함하는 프리 프로세싱을 수행할 수 있다. 구체적으로, 배드 픽셀 보정 모듈(130a)은 마스킹 정보(BP_MI)를 기반으로 픽셀 단위의 배드 픽셀 보정 동작을 수행할 수 있다. 마스킹 정보(BP_MI)는 도 6a에 도시된 상호 떨어진 배드 픽셀들에 대한 위치 정보를 포함할 수 있다. 더 나아가, 마스킹 정보(BP_MI)는 도 6b에 도시된 클러스터를 구성하는 배드 픽셀들에 대한 위치 정보를 포함할 수 있다.
예시적 실시예에 따른 배드 픽셀 네트워크 모듈(200a)은 프리 프로세서(100a)로부터 제1 테트라 데이터(IDATAa)를 수신하여, 좌표 정보(BP_CI)를 기반으로 테트라 데이터(IDATAa)에 대한 클러스터 단위의 배드 픽셀 보정 동작을 수행하여 제2 테트라 데이터(IDATAb)를 생성할 수 있다. 구체적으로, 배드 픽셀 네트워크 모듈(220a)은 테트라 데이터(IDATAa)에 포함된 복수의 ROI 데이터들을 선택하고, 복수의 ROI 데이터들로부터 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 클러스터 단위의 배드 픽셀 보정을 수행할 수 있다. 좌표 정보(BP_CI)는, 복수의 ROI 데이터들 각각을 대표하는 픽셀 데이터들의 좌표들을 포함할 수 있다. 좌표 정보(BP_CI)는 마스킹 정보(BP_MI)를 기반으로 생성된 것일 수 있다. 일 예로, 뉴럴 네트워크 프로세서(200a)는 마스킹 정보(BP_MI)에 포함된 배드 픽셀들의 좌표들로부터 배드 픽셀들의 위치 특성을 추출하여, 클러스터 단위의 배드 픽셀 보정을 하기 위한 최적의 ROI들을 결정하여 좌표 정보(BP_CI)를 생성할 수 있다. 뉴럴 네트워크 프로세서(200a)는 이미지 프로세싱 장치(1200a)의 생산 단계에서 마스킹 정보(BP_MI)를 획득하여 좌표 정보(BP_CI)를 생성하고, 좌표 정보(BP_CI)를 이미지 프로세싱 장치(1200a) 내의 비휘발성 메모리에 저장할 수 있다. 일부 실시예에 있어서, 배드 픽셀 네트워크 모듈(220a)은 클러스터 단위의 배드 픽셀 보정을 수행하기 전에 테트라 데이터(IDATAa)에 대한 화이트 밸런스 동작을 먼저 수행할 수 있다.
메인 프로세서(300a)는 뉴럴 네트워크 프로세서(200a)로부터 제2 테트라 데이터(IDATAb)를 수신할 수 있다. 리모자이크 모듈(310a)은 제2 테트라 데이터(IDATAb)를 베이어 데이터로 변환하고, 디모자이크 모듈(320a)은 베이어 데이터를 RGB 데이터(또는, 풀 컬러 이미지 데이터)로 변환할 수 있다. 이후, 디노이징 모듈(330a)은 RGB 데이터에 대한 노이즈를 제거하는 동작을 수행하고, 샤프닝 모듈(340a)은 RGB 데이터에 대한 샤프닝 동작을 수행할 수 있다. 메인 프로세서(300a)는 제2 테트라 데이터(IDATAb)에 대한 위와 같은 포스트 프로세싱 동작을 수행하여 RGB 데이터(IDATAc)를 생성할 수 있다.
도 6b를 더 참조하면, 이미지 프로세싱 시스템(1200b)은 프리 프로세서(100b), 뉴럴 네트워크 프로세서(200b), 이미지 머지부(240b) 및 메인 프로세서(300b)를 포함할 수 있다. 이하에서는, 도 6a와의 구성의 차이를 중심으로 서술한다.
뉴럴 네트워크 프로세서(200b)는 크로스 토크 보정 모듈(120b)로부터 출력된 제1 테트라 데이터(IDATAa)를 직접 수신할 수 있으며, 배드 픽셀 네트워크 모듈(220b)은 배드 픽셀 보정 모듈(130b)과 병렬적으로 동작할 수 있다. 구체적으로, 배드 픽셀 네트워크 모듈(220b)은 제1 테트라 데이터(IDATAa)에 대한 클러스터 단위의 배드 픽셀 보정을 수행하고, 이와 병렬적으로, 배드 픽셀 보정 모듈(130b)은 제1 테트라 데이터(IDATAa)에 대한 픽셀 단위의 배드 픽셀 보정을 수행할 수 있다. 이미지 머지부(240b)는 배드 픽셀 보정 모듈(130b)로부터 출력된 데이터와 배드 픽셀 네트워크 모듈(220b)로부터 출력된 데이터를 머지하여 제2 테트라 데이터(IDATAb)를 생성할 수 있다.
도 7a 및 도 7b는 본 개시의 예시적 실시예에 따른 클러스터 단위의 배드 픽셀 보정 동작을 설명하기 위한 도면이다.
도 7a를 참조하면, 단계 S100에서 뉴럴 네트워크 프로세서는, 이미지 데이터 및 복수의 배드 픽셀들로 각각 구성된 클러스터들에 관한 좌표 정보를 수신할 수 있다. 단계 S110에서 뉴럴 네트워크 프로세서는, 좌표 정보를 기반으로 이미지 데이터에 포함된 복수의 ROI 데이터들을 선택하고, 복수의 ROI 데이터들로부터 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 검출된 픽셀 데이터들에 대한 배드 픽셀 보정을 수행할 수 있다. 단계 S120에서 뉴럴 네트워크 프로세서는, 보정된 이미지 데이터를 출력할 수 있다.
도 7b를 더 참조하면, 이미지 데이터(IDATA)는 복수의 ROI(Region Of Interest) 데이터들(ROI_1~ROI_4)을 포함할 수 있으며, 복수의 ROI 데이터들(ROI_1~ROI_4)은 순차적으로 대상 ROI 데이터(T_ROI)로서 선택되어 배드 픽셀들로 구성된 클러스터들에 대응하는 픽셀 데이터들을 검출할 수 있다. 좌표 정보는, ROI 데이터들(ROI_1~ROI_4) 각각을 대표하는 픽셀 데이터들의 좌표들((X1, Y1)~(X4, X4))을 포함할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서는 제1 좌표(X1, Y1)를 이용하여 제1 ROI 데이터(ROI_1)를 검출할 수 있다. ROI의 크기는 다양할 수 있으며, 일부 실시예에서는 동일할 수 있다. ROI의 크기가 다른 경우에는 좌표 정보는 ROI의 크기 정보를 더 포함할 수 있다.
본 개시의 예시적 실시예에서 뉴럴 네트워크 프로세서는, 좌표 정보를 기반으로 ROI 데이터들을 선택적으로 이용하여 클러스터 단위의 배드 픽셀 보정을 수행함으로써 신속한 이미지 프로세싱이 가능하다.
도 8a 및 도 8b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서(200c)의 동작을 구체적으로 설명하기 위한 도면이다.
도 8a를 참조하면, 이미지 프로세싱 시스템(1200c)은 프리 프로세서(100c), 뉴럴 네트워크 프로세서(200c) 및 메인 프로세서(300c)를 포함할 수 있다. 이하에서는, 도 6a와의 구성의 차이를 중심으로 서술한다.
예시적 실시예로, 뉴럴 네트워크 프로세서(200c)는 배드 픽셀 보정 모듈(210c) 및 배드 픽셀 네트워크 모듈(220c)을 포함할 수 있다. 배드 픽셀 보정 모듈(210c)은 프리 프로세서(100c)의 크로스 토크 보정 모듈(120c)로부터 출력된 제1 테트라 데이터(IDATAa)를 수신하여, 마스킹 정보(BP_MI)를 기반으로 픽셀 단위의 배드 픽셀 보정 동작을 수행할 수 있다. 이에 후속하여, 배드 픽셀 네트워크 모듈(220c)은 배드 픽셀 보정 모듈(210c)로부터 수신된 제1 테트라 데이터(IDATAa)에 대한 클러스터 단위의 배드 픽셀 보정 동작을 수행하여 제2 테트라 데이터(IDATAb)를 생성할 수 있다.
도 8b를 더 참조하면, 단계 S200에서 배드 픽셀 보정 모듈(210c)은 마스킹 정보(BP_MI)를 기반으로 적어도 하나의 스태틱 배드 픽셀을 검출하고, 이에 대응하는 픽셀 데이터를 보정할 수 있다. 단계 S210에서 배드 픽셀 보정 모듈(210c)은 마스킹 정보(BP_MI) 및 스태틱 배드 픽셀에 대한 보정 결과를 기반으로 적어도 하나의 다이나믹 배드 픽셀을 검출할 수 있으며, 이에 대응하는 픽셀 데이터를 보정할 수 있다. 단계 S220에서 배드 픽셀 네트워크 모듈(220c)은 스태틱 배드 픽셀 및 다이나믹 배드 픽셀에 대한 보정 동작을 완료한 후에, 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정 동작을 수행할 수 있다. 다만, 이는 예시적인 실시예에 불과한 바, 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정 동작이 우선적으로 수행되고, 픽셀 단위의 배드 픽셀 보정 동작이 후속될 수 있다.
도 9 및 도 10은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 프로세서(200d, 200e)의 동작을 구체적으로 설명하기 위한 블록도이다.
도 9를 참조하면, 이미지 프로세싱 시스템(1200d)은 프리 프로세서(100d), 뉴럴 네트워크 프로세서(200d) 및 메인 프로세서(300d)를 포함할 수 있다. 이하에서는, 도 6a와의 구성의 차이를 중심으로 서술한다.
뉴럴 네트워크 프로세서(200d)는 배드 픽셀 네트워크 모듈(220c) 및 리모자이크 모듈(230c)을 포함할 수 있다. 리모자이크 모듈(230c)은 배드 픽셀 네트워크 모듈(220c)로부터 출력된 테트라 데이터를 리모자이크하여 베이어 형식으로 변환함으로써 베이어 데이터(IDATAb)를 생성하고, 메인 프로세서(300d)로 출력할 수 있다. 메인 프로세서(300d)는 디모자이크 모듈(320d), 디노이징 모듈(330d) 및 샤프닝 모듈(340d)을 포함할 수 있으며, 이를 통해, 베이어 데이터(IDATAb)를 포스트 프로세싱함으로써 RGB 데이터(IDATAc)를 생성할 수 있다.
도 10을 참조하면, 이미지 프로세싱 시스템(1200e)은 뉴럴 네트워크 프로세서(200e)를 포함할 수 있다. 도 6a과 비교하여, 뉴럴 네트워크 프로세서(200e)는 테트라 데이터(IDATAa)에 대한 프리 프로세싱 동작, 픽셀 단위의 배드 픽셀 보정 동작, 클러스터 단위의 배드 픽셀 보정 동작 및 포스트 프로세싱 동작을 수행하여 RGB 데이터(IDATAc)를 생성할 수 있다. 즉, 뉴럴 네트워크 프로세서(200e)는 도 6a의 프리 프로세서(100a) 및 포스트 프로세서(300a)의 동작을 모두 대체할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치(2000)를 나타내는 블록도이다. 일 예로, 이미지 프로세싱 장치(2000)는 휴대용 단말기일 수 있다.
도 11을 참조하면, 본 개시의 예시적 실시예에 따른 이미지 프로세싱 장치(2000)는 어플리케이션 프로세서(2100), 이미지 센서(2200), 디스플레이 장치(2400), 워킹 메모리(2500), 스토리지(2600), 유저 인터페이스(2700) 및 무선 송수신부(2800)를 포함할 수 있으며, 어플리케이션 프로세서(2100)는 이미지 신호 프로세서(2300) 및 뉴럴 네트워크 프로세서(2400)를 포함할 수 있다. 도 1 등에서 서술된 본 개시의 예시적 실시예들에 따른 이미지 프로세싱 방식이 이미지 신호 프로세서(2300) 및 뉴럴 네트워크 프로세서(2400)에 적용될 수 있다. 실시예에 있어서, 이미지 신호 프로세서(2300) 및 뉴럴 네트워크 프로세서(2400)는 어플리케이션 프로세서(2100)와는 별개의 집적 회로로 구현될 수 있다.
어플리케이션 프로세서(2100)는 이미지 프로세싱 장치(2000)의 전반적인 동작을 제어하며 응용 프로그램, 운영 체제 등을 구동하는 시스템 온 칩(SoC)으로 제공될 수 있다.
어플리케이션 프로세서(2100)는 이미지 신호 프로세서(2300)의 동작을 제어할 수 있으며, 이미지 신호 프로세서(2300)에서 생성되는 변환된 이미지 데이터를 디스플레이 장치(2400)에 제공하거나 또는 스토리지(2600)에 저장할 수 있다.
이미지 센서는 수신되는 광 신호를 기초로 이미지 데이터, 예컨대 원시 이미지 데이터를 생성하고 이지 데이터를 이미지 신호 프로세서(2300)에 제공할 수 있다.
워킹 메모리(2500)는 DRAM, SRMA 등의 휘발성 메모리 또는 FeRAM, RRAM PRAM 등의 비휘발성의 저항성 메모리로 구현될 수 있다. 워킹 메모리(2500)는 어플리케이션 프로세서(2100)가 처리 또는 실행하는 프로그램들 및/또는 데이터를 저장할 수 있다.
스토리지(2600)는 NADN 플래시, 저항성 메모리 등의 비휘발성 메모리 장치로 구현될 수 있으며, 예컨대 스토리지(2600)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 제공될 수 있다. 스토리지(2600)는 이미지 신호 프로세서(2300)의 이미지 처리 동작을 제어하는 실행 알고리즘에 대한 데이터 및/또는 프로그램을 저장할 수 있으며, 이미지 처리 동작이 수행될 때 데이터 및/또는 프로그램이 워킹 메모리(2500)로 로딩될 수 있다. 실시예에 있어서, 스토리지(2600)는 이미지 신호 프로세서(2300)에서 생성되는 이미지 데이터, 예컨대 변환된 이미지 데이터 또는 후처리된 이미지 데이터를 저장할 수 있다.
유저 인터페이스(2700)는 키보드, 커튼 키 패널, 터치 패널, 지문 센서, 마이크 등 사용자 입력을 수신할 수 있는 다양한 장치들로 구현될 수 있다. 유저 인터페이스(2700)는 사용자 입력을 수신하고, 수신된 사용자 입력에 대응하는 신호를 어플리케이션 프로세서(2100)에 제공할 수 있다.
무선 송수신부(2800)는 트랜시버(2810), 모뎀(2820) 및 안테나(2830)를 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 제1 패턴의 컬러 필터 어레이를 포함하고, 상기 복수의 픽셀들을 통해 제1 이미지 데이터를 생성하도록 구성된 이미지 센서;
    상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들(clusters)에 관한 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하여 제2 이미지 데이터를 생성하도록 구성된 뉴럴 네트워크 프로세서; 및
    상기 제2 이미지 데이터로부터 제3 이미지 데이터를 생성하기 위한 포스트프로세싱 동작을 수행하도록 구성된 메인 프로세서를 포함하는 이미지 장치.
  2. 제1항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 포함된 복수의 ROI(Region Of Interest) 데이터들을 선택하고, 상기 복수의 ROI 데이터들로부터 상기 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 상기 클러스터 단위의 배드 픽셀 보정을 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  3. 제2항에 있어서,
    상기 제1 좌표 정보는,
    상기 복수의 ROI 데이터들 각각을 대표하는 픽셀 데이터들의 좌표들을 포함하는 것을 특징으로 하는 이미지 장치.
  4. 제1항에 있어서,
    상기 이미지 장치는,
    상기 제1 좌표 정보를 저장하도록 구성된 비휘발성 메모리를 더 포함하는 것을 특징으로 하는 이미지 장치.
  5. 제1항에 있어서,
    상기 이미지 장치는,
    상기 복수의 픽셀들 중 상호 떨어진(isolated) 복수의 제2 배드 픽셀들에 관한 제2 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정을 수행하도록 구성된 프리 프로세서를 더 포함하는 것을 특징으로 하는 이미지 장치.
  6. 제5항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 프리 프로세서로부터 상기 픽셀 단위의 배드 픽셀 보정이 완료된 상기 제1 이미지 데이터에 대하여 상기 클러스터 단위의 배드 픽셀 보정을 수행함으로써 상기 제2 이미지 데이터를 생성하도록 구성된 것을 특징으로 하는 이미지 장치.
  7. 제5항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 프리 프로세서의 상기 픽셀 단위의 배드 픽셀 보정과 병렬적으로 상기 클로스터 단위의 배드 픽셀 보정을 수행하도록 구성되고,
    상기 메인 프로세서는,
    상기 픽셀 단위의 배드 픽셀 보정이 완료된 상기 제1 이미지 데이터와 상기 제2 이미지 데이터를 머지(merge)하고, 상기 머지된 이미지 데이터를 포스트 프로세싱하여 상기 제3 이미지 데이터를 생성하도록 구성된 것을 특징으로 하는 이미지 장치.
  8. 제1항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 복수의 픽셀들 중 상호 떨어진 복수의 제2 배드 픽셀들에 관한 제2 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정을 수행하고, 후속하여 상기 제1 이미지 데이터에 대한 상기 클러스터 단위의 배드 픽셀 보정을 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  9. 제8항에 있어서,
    상기 복수의 픽셀들은, 적어도 하나의 스태틱(static) 배드 픽셀 및 적어도 하나의 다이나믹(dynamic) 배드 픽셀을 포함하고,
    상기 뉴럴 네트워크 프로세서는,
    상기 제2 좌표 정보를 참조하여, 상기 제1 이미지 데이터에서 상기 스태틱 배드 픽셀 및 상기 다이나믹 배드 픽셀에 대응하는 픽셀 데이터들을 검출하고, 검출된 상기 픽셀 데이터들을 보정함으로써 상기 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정을 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  10. 제1항에 있어서,
    상기 복수의 픽셀들은, 테트라 셀(tetra cell) 또는 노나 셀(nonacell)인 것을 특징으로 하는 이미지 장치.
  11. 제1항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 클러스터 단위의 배드 픽셀 보정을 수행하기 전에, 상기 제1 이미지 데이터에 대한 화이트 밸런스(white balance) 동작을 먼저 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  12. 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 소정의 패턴의 컬러 필터 어레이를 포함하고, 상기 복수의 픽셀들을 통해 제1 이미지 데이터를 생성하도록 구성된 이미지 센서;
    상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들에 관한 제1 좌표 정보를 저장하도록 구성된 비휘발성 메모리; 및
    상기 비휘발성 메모리로부터 리드된 상기 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하도록 구성된 뉴럴 네트워크 프로세서를 포함하는 이미지 장치.
  13. 제12항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 제1 좌표 정보를 기반으로 상기 제1 이미지 데이터들에 포함된 복수의 ROI 데이터들을 선택하고, 상기 복수의 ROI 데이터들로부터 상기 복수의 클러스터들에 대응하는 픽셀 데이터들을 검출하여 상기 클러스터 단위의 배드 픽셀 보정을 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  14. 제13항에 있어서,
    상기 제1 좌표 정보는,
    상기 복수의 ROI 데이터들 각각을 대표하는 픽셀 데이터들의 좌표들을 포함하는 것을 특징으로 하는 이미지 장치.
  15. 제12항에 있어서,
    상기 비휘발성 메모리는,
    상기 복수의 픽셀들 중 상호 떨어진 복수의 제2 배드 픽셀들에 관한 제2 좌표 정보를 더 저장하고,
    상기 뉴럴 네트워크 프로세서는,
    상기 제2 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 픽셀 단위의 배드 픽셀 보정을 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  16. 제15항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    상기 제1 이미지 데이터에 대한 상기 픽셀 단위의 배드 픽셀 보정과 상기 클러스터 단위의 배드 픽셀 보정을 순차적으로 수행하거나, 상호 병렬적으로 수행하도록 구성된 것을 특징으로 하는 이미지 장치.
  17. 제12항에 있어서,
    상기 제1 이미지 데이터 및, 상기 뉴럴 네트워크 프로세서로부터 출력되는, 보정된 상기 제1 이미지 데이터는, 테트라 데이터에 대응하는 것을 특징으로 하는 이미지 장치.
  18. 제12항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    보정된 상기 제1 이미지 데이터에 대한 리모자이크 동작을 수행하여 제2 이미지 데이터로서 출력하고,
    상기 제1 이미지 데이터는, 테트라 데이터에 대응하고,
    상기 제2 이미지 데이터는, 베이어 데이터에 대응하는 것을 특징으로 하는 이미지 장치.
  19. 제12항에 있어서,
    상기 뉴럴 네트워크 프로세서는,
    보정된 상기 제1 이미지 데이터에 대하여 리모자이크 동작, 디모자이크 동작, 디노이징 동작 및 샤프닝 동작을 순차적으로 수행하여 제2 이미지 데이터로서 출력하고,
    상기 제1 이미지 데이터는, 테트라 데이터에 대응하고,
    상기 제2 이미지 데이터는, RGB 데이터에 대응하는 것을 특징으로 하는 이미지 장치.
  20. 복수의 픽셀들 및 상기 복수의 픽셀들 상에 적층된 소정의 패턴의 컬러 필터 어레이가 구비된 이미지 센서, 뉴럴 네트워크 프로세서 및 메인 프로세서를 포함하는 이미지 장치의 동작 방법에 있어서,
    상기 이미지 센서에서, 상기 복수의 픽셀들을 이용하여 제1 이미지 데이터를 생성하는 단계;
    상기 뉴럴 네트워크 프로세서에서, 상기 복수의 픽셀들 중 복수의 제1 배드 픽셀들로 각각 구성된 복수의 클러스터들에 관한 좌표 정보를 기반으로 상기 제1 이미지 데이터에 대한 클러스터 단위의 배드 픽셀 보정을 수행하는 단계; 및
    상기 메인 프로세서에서, 상기 뉴럴 네트워크 프로세서로부터 출력된 제2 이미지 데이터에 대한 포스트 프로세싱 동작을 수행하는 단계를 포함하는 이미지 장치의 동작 방법.
KR1020200082268A 2020-07-03 2020-07-03 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법 KR20220004436A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200082268A KR20220004436A (ko) 2020-07-03 2020-07-03 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법
US17/147,067 US11748862B2 (en) 2020-07-03 2021-01-12 Image processing apparatus including neural network processor and method of operation
CN202110689955.2A CN113891051A (zh) 2020-07-03 2021-06-22 包括神经网络处理器的图像处理设备和操作的方法
TW110124327A TW202211686A (zh) 2020-07-03 2021-07-02 影像處理設備及系統以及操作影像處理設備的方法
US18/365,013 US20230377111A1 (en) 2020-07-03 2023-08-03 Image processing apparatus including neural network processor and method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200082268A KR20220004436A (ko) 2020-07-03 2020-07-03 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220004436A true KR20220004436A (ko) 2022-01-11

Family

ID=79010347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200082268A KR20220004436A (ko) 2020-07-03 2020-07-03 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법

Country Status (4)

Country Link
US (2) US11748862B2 (ko)
KR (1) KR20220004436A (ko)
CN (1) CN113891051A (ko)
TW (1) TW202211686A (ko)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH089264A (ja) 1994-06-22 1996-01-12 Matsushita Electric Ind Co Ltd 固体撮像装置
JPH11205687A (ja) 1998-01-12 1999-07-30 Sharp Corp 欠陥画素補正装置
US7034874B1 (en) 2003-03-17 2006-04-25 Biomorphic Vlsi, Inc Automatic bad pixel correction in image sensors
KR100709323B1 (ko) 2005-02-04 2007-04-20 삼성전자주식회사 확률 신경회로망 이론을 적용한 영상보상장치 및 방법
US8063957B2 (en) 2006-03-24 2011-11-22 Qualcomm Incorporated Method and apparatus for processing bad pixels
CN104067611B (zh) 2012-01-24 2016-08-24 索尼公司 图像处理设备、图像处理方法及图像处理装置
JP2016048815A (ja) 2014-08-27 2016-04-07 ソニー株式会社 画像処理装置、画像処理方法、及び、画像処理システム
KR102247564B1 (ko) * 2014-11-13 2021-05-03 삼성전자 주식회사 화소 처리 장치, 이를 포함하는 이미지 신호 처리 장치, 및 이를 포함하는 이미지 처리 시스템
CN105744184B (zh) 2015-08-31 2018-11-20 上海兆芯集成电路有限公司 坏像素校正方法以及使用该方法的装置
US20200162719A1 (en) * 2017-02-07 2020-05-21 Mindmaze Holding Sa Systems, methods and apparatuses for stereo vision
US10303965B2 (en) * 2017-03-06 2019-05-28 Siemens Healthcare Gmbh Defective pixel identification using machine learning
KR20190100833A (ko) 2018-02-21 2019-08-29 한국전자통신연구원 Hdr 이미지 생성 장치
WO2020010638A1 (zh) * 2018-07-13 2020-01-16 华为技术有限公司 一种图像坏点检测方法及装置
KR102530752B1 (ko) 2018-08-29 2023-05-10 삼성전자주식회사 이미지 센서 및 이미지 센서를 포함하는 전자 기기와, 이미지 줌 프로세싱 방법
KR20210058404A (ko) * 2019-11-14 2021-05-24 엘지전자 주식회사 이미지 처리방법 및 처리장치
US11151914B1 (en) * 2020-04-09 2021-10-19 Nvidia Corporation Defective pixel identification and mitigation in multi-layer liquid crystal displays

Also Published As

Publication number Publication date
US11748862B2 (en) 2023-09-05
TW202211686A (zh) 2022-03-16
US20220005168A1 (en) 2022-01-06
CN113891051A (zh) 2022-01-04
US20230377111A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
US11849226B2 (en) Image processing device including neural network processor and operating method thereof
US11562046B2 (en) Neural network processor using dyadic weight matrix and operation method thereof
US11544813B2 (en) Artificial neural network model and electronic device including the same
US11838651B2 (en) Image processing apparatus including neural network processor and method of operating the same
KR20200129957A (ko) 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템
US20220366588A1 (en) Electronic device for generating depth information of region of interest and operation method thereof
KR20220004436A (ko) 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법
US20220345624A1 (en) Image sensor module and method of operating the same
US20230071368A1 (en) Image processing apparatus including pre-processor and neural network processor and operating method thereof
KR20220084845A (ko) 채널 수에 기초하여 컨볼루션 연산을 수행하는 npu 장치 및 이의 동작 방법
CN113487483A (zh) 影像分割网络的训练方法和装置
US11943557B2 (en) Image sensor module, image processing system, and operating method of image sensor module
US20240147090A1 (en) Image sensor and operating method
US20240163578A1 (en) Image signal processor, image sensor, and operating method of the image sensor
US20220343523A1 (en) Electronic device including processing circuit for generating depth information using luminance data and method of generating depth information
KR20230034875A (ko) 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법
US20230334820A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP2019200675A (ja) 演算デバイス及びデータの処理方法
KR20240068414A (ko) 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법
CN114037606A (zh) 图像处理方法、处理器、处理装置、程序产品及存储介质
CN114862933A (zh) 深度图像的预测方法、装置、设备和存储介质
CN116363442A (zh) 目标检测方法及装置、非瞬时性存储介质

Legal Events

Date Code Title Description
A201 Request for examination