KR20240068414A - 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법 - Google Patents

이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법 Download PDF

Info

Publication number
KR20240068414A
KR20240068414A KR1020220149838A KR20220149838A KR20240068414A KR 20240068414 A KR20240068414 A KR 20240068414A KR 1020220149838 A KR1020220149838 A KR 1020220149838A KR 20220149838 A KR20220149838 A KR 20220149838A KR 20240068414 A KR20240068414 A KR 20240068414A
Authority
KR
South Korea
Prior art keywords
bad
pixel
data
pixels
neural network
Prior art date
Application number
KR1020220149838A
Other languages
English (en)
Inventor
노요한
김제연
성열민
송용준
안찬우
이재성
Original Assignee
삼성전자주식회사
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/388,019 priority Critical patent/US20240163578A1/en
Priority to CN202311491349.5A priority patent/CN118018871A/zh
Publication of KR20240068414A publication Critical patent/KR20240068414A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/68Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/75Circuitry for providing, modifying or processing image signals from the pixel array

Abstract

뉴럴 네트워크 기반의 이미지 신호 프로세서, 이미지 센서 및 및 이미지 센서의 동작 방법이 개시된다. 본 개시의 실시예에 따른 이미지 센서는, 수신되는 광 신호를 전기적 신호로 변환하는 복수의 센싱 픽셀을 포함하는 픽셀 어레, 상기 전기적 신호들을 이미지 데이터로 변환하고, 상기 이미지 데이터를 출력하는 리드아웃 회로, 및 상기 이미지 데이터의 제1 픽셀 그룹에 발생한 배드 픽셀들을 뉴럴 네트워크를 기반으로 보정하며, 상기 배드 픽셀들 중 적어도 하나의 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 위치 데이터를 생성하고, 위치 데이터를 상기 뉴럴 네트워크에 포함되는 복수의 레이어 중 제1 중간 레이어에 제공하는 이미지 신호 프로세서를 포함할 수 있다.

Description

이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법 {IMAGE SIGNAL PROCESSOR, IMAGE SENSOR, AND OPERATING METHOD OF IMAGE SENSOR}
본 개시의 기술적 사상은 반도체 장치에 관한 것으로서, 특히 딥 러닝 기반으로 배드 픽셀을 보정하는 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법에 관한 것이다.
최근 고품질 및 고화질의 사진, 동영상 등에 대한 요구가 커짐에 따라 이미지 센서의 해상도 증가를 위하여 픽셀 어레이에 많은 수의 센싱 픽셀들이 집적됨에 따라 센싱 픽셀이 미세화되고 있다. 공정상 이슈로 인해 픽셀 어레이의 고정된 위치에서 배드 픽셀들이 자주 발생하고 있는 바, 배드 픽셀을 보정하는 기술이 요구되고 있다.
딥 러닝(뉴럴 네트워크) 기술은 트레이닝된 뉴럴 네트워크를 이용하여 입력 데이터로부터 유효한 정보를 추출하는 기술이다. 딥 러닝 기술이 배드 픽셀의 보정에 이용될 수 있으나 연산량의 과다로 인하여 실시간 처리에 어려움이 있다.
본 개시의 기술적 사상이 이루고자 하는 기술적 과제는, 실시간으로 딥 러닝 기반으로 배드 픽셀을 보정하는 이미지 센서, 및 이미지 센서의 동작 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 이미지 센서는, 수신되는 광 신호를 전기적 신호로 변환하는 복수의 센싱 픽셀을 포함하는 픽셀 어레, 상기 전기적 신호들을 이미지 데이터로 변환하고, 상기 이미지 데이터를 출력하는 리드아웃 회로, 및 상기 이미지 데이터의 제1 픽셀 그룹에 발생한 배드 픽셀들을 뉴럴 네트워크를 기반으로 보정하며, 상기 배드 픽셀들 중 적어도 하나의 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 위치 데이터를 생성하고, 위치 데이터를 상기 뉴럴 네트워크에 포함되는 복수의 레이어 중 제1 중간 레이어에 제공하는 이미지 신호 프로세서를 포함할 수 있다.
본 개시의 기술적 사상에 따른 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법에 따르면, 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하고, 인코딩된 데이터를 배드 픽셀 보정에 이용되는 뉴럴 네트워크에 제공함으로써, 뉴럴 네트워크의 연산량이 감소될 수 있으며, 뉴럴 네트워크의 성능이 향상될 수 있다. 이에 따라, 배드 픽셀을 포함하는 이미지 데이터에 대하여 실시간으로 딥 러닝 기반의 배드 픽셀 보정이 수행되어 이미지 데이터의 배드 픽셀의 시인성이 감소될 수 있다. 또한, 배드 픽셀을 포함하는 입력 데이터를 패턴 별로 반전하여 이용함에 따라, 뉴럴 네트워크의 트레이닝량 및 트레이닝에 소요되는 시간이 감소될 수 있다.
본 개시의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 예시적 실시예에 따른 이미지 센서를 나타내는 블록도이다.
도 2a 및 도 2b는 본 개시의 예시적 실시예에 따른 이미지 센서에 적용되는 컬러 필터 어레이의 구현 예들을 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 센서에 구비되는 배드 픽셀 보정부의 동작을 나타낸다.
도 4는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크의 구조의 일 예를 나타낸다.
도 5a 내지 도 5f는 본 개시의 예시적 실시예에 따른 위치 데이터를 예시적으로 나타낸다.
도 6은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크의 트레이닝 단계를 나타낸다.
도 7은 배드 픽셀의 패턴이 대칭인 케이스들을 나타낸다.
도 8a 및 도 8b는 본 개시의 예시적 실시예에 따른 배드 픽셀 보정부의 동작을 나타낸다.
도 9는 본 개시의 예시적 실시예에 따른 배드 픽셀 보정부(20)를 개략적으로 나타내는 블록도이다.
도 10은 본 개시의 예시적 실시예에 다른 이미지 처리 프로세서의 일 구현예를 나타낸다.
도 11은 본 개시의 예시적 실시예에 따른 이미지 이미지 센서의 동작을 나타내는 흐름도이다.
도 12는 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 개략적으로 나타내는 블록도이다.
도 13은 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 개략적으로 나타내는 블록도이다.
도 14는 본 개시의 예시적 실시예에 따른 이미지 센서를 포함하는 전자 장치를 나타내는 블록도이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다.
도 1은 본 개시의 예시적 실시예에 따른 이미지 센서를 나타내는 블록도이다.
이미지 센서(100)는 광학 렌즈(LS)를 통하여 입사된 오브젝트의 광학적 신호를 이미지 데이터로 변환할 수 있다. 이미지 센서(100)는 이미지 또는 광 센싱 기능을 갖는 전자 기기에 탑재될 수 있다. 예를 들어, 이미지 센서(100)는 디지털 스틸 카메라, 디지털 비디오 카메라, 스마트폰, 웨어러블 기기, 사물 인터넷(Internet of Things(IoT)) 기기, 태블릿 PC(Personal Computer), PDA(Personal Digital Assistant), PMP(portable Multimedia Player), 네비게이션(navigation) 장치 등과 같은 전자 기기에 탑재될 수 있다. 또한 이미지 센서(100)는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로서 구비되는 전자 기기에 탑재될 수 있다.
도 1을 참조하면, 이미지 센서(100)는 픽셀 어레이(110), 리드아웃 회로(120), 이미지 신호 프로세서(130; ISP)를 포함할 수 있다. 이미지 센서(100)는 외 외의 범용적인 구성, 예컨대 메모리, 인터페이스 회로 등을 더 포함할 수 있다. 이미지 신호 프로세서(130)는 배드 픽셀 검출기(10) 및 뉴럴 네트워크 기반의 배드 픽셀 보정부(20)(또는 배드 픽셀 보정 회로라고 함)를 포함할 수 있다. 실시예에 있어서, 픽셀 어레이(110), 리드아웃 회로(120), 및 이미지 신호 프로세서(130)는 하나의 반도체 칩 또는 반도체 모듈로서 구현될 수 있다. 실시예에 있어서, 픽셀 어레이(110) 및 리드아웃 회로(120)는 하나의 반도체 칩으로 구현되고, 이미지 신호 프로세서(130)는 다른 하나의 반도체 칩으로 구현될 수 있다.
픽셀 어레이(110)는 예를 들면, CCD(Charge Coupled Devices) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 광전 변환 소자로 구현될 수 있으며 이외에도 다양한 종류의 광전 변환 소자로 구현될 수 있다. 픽셀 어레이(110)는 수신되는 광 신호(빛)를 전기적 신호로 변환하는 복수의 센싱 픽셀들(SPX)을 포함하고, 복수의 센싱 픽셀들(SPX)은 행열로 배열될 수 있다. 복수의 센싱 픽셀들(SPX) 각각은 광 감지 소자를 포함한다. 예컨대, 광 감지 소자는 포토(photo) 다이오드, 포토 트랜지스터, 포트 게이트 또는 핀드 포토 다이오드(pinned photodiode) 등을 포함할 수 있다.
픽셀 어레이(110)의 상부에는 컬러 필터 어레이가 배치된다. 컬러 필터 어레이는 복수의 센싱 픽셀들(SPX) 각각의 상부에 컬러 정보를 캡처하기 위해 배치되는 컬러 필터들의 배열이다. 센싱 픽셀(SPX)에 대응하는 컬러 필터의 컬러에 따라 센싱 픽셀이 수신되는 광 신호로부터 감지하는 컬러 대역(예컨대 주파수 대역)이 결정된다. 예를 들어, 수신되는 광 신호로부터 레드 컬러의 주파수 대역의 신호를 감지하는 레드 센싱 픽셀의 상부에는 그런 컬러 필터가 배치될 수 있다. 컬러 필터 어레이는 다양한 컬러 패턴을 가질 수 있다. 이에 대하여 도 2a 및 도 2b를 참조하여 설명하기로 한다.
도 2a 및 도 2b는 본 개시의 예시적 실시예에 따른 이미지 센서에 적용되는 컬러 필터 어레이의 구현 예들을 나타낸다.
도 2a 및 도 2b를 참조하면, 컬러 필터 어레이(CFAa)는 슈퍼 베이어 패턴(super bayer pattern)을 포함할 수 있다. 베이어 패턴은 그린 컬러에 가장 민감한 인간의 시각 특성에 따라서 그린 컬러가 50%, 레드 컬러와 블루 컬러가 각각 25%가 되도록 레드 픽셀(PX_R), 그린 픽셀(PX_G) 및 블루 픽셀(PX_B)이 교차 배치된 패턴을 의미할 수 있다. 수퍼 베이어 패턴은 베이어 패턴의 배열을 모방하는 동일한 컬러 픽셀들을 포함하는 레드 픽셀 그룹(PG_R), 블루 픽셀 그룹(PG_B), 제1 그린 픽셀 그룹(PG_G1), 및 제2 그린 픽셀 그룹(PG_G2)을 포함한다. 여기서, 제1 그린 픽셀 그룹(PG_G1)은 레드 픽셀 그룹(PG_R)과 동일한 열에 배치되는 그린 픽셀 그룹을 의미하며, 제2 그린 픽셀 그룹(PG_G2)은 블루 픽셀 그룹(PG_B)과 동일한 열에 배치되는 그린 픽셀 그룹을 의미한다.
도 2a를 참조하면, 컬러 필터 어레이(CFAa)는 레드 픽셀 그룹(PG_R), 블루 픽셀 그룹(PG_B), 제1 그린 픽셀 그룹(PG_G1), 및 제2 그린 픽셀 그룹(PG_G2) 각각이 및 3행(row) 및 3열(column)의(이하, 3×3 행열이라고 함) 픽셀(PX_CF)들(컬러 필터 픽셀들)을 포함할 수 있다. 3×3 행열로 배치된 9개의 레드 픽셀(PX_R)이 3×3 행열로 배치된 9개의 블루 픽셀(PX_B)과 대각선으로 배치될 수 있다. 또한, 3×3 행열로 배치된 9개의 그린 픽셀(PX_G)이 3×3 행열로 배치된 다른 9개의 그린 픽셀(PX_G)과 대각선으로 배치된다.
도 2b를 참조하면, 컬러 필터 어레이(CFAb)는 레드 픽셀 그룹(PG_R), 블루 픽셀 그룹(PG_B), 제1 그린 픽셀 그룹(PG_G1), 및 제2 그린 픽셀 그룹(PG_G2) 각각이 4×4 행열로 배치된 16개의 픽셀들(PX_CF)을 포함할 수 있다. 4×4 행열로 배치된 16개의 레드 픽셀(PX_R)이 4×4 행열로 배치된 16개의 블루 픽셀(PX_B)과 대각선으로 배치될 수 있다. 또한, 4×4 행열로 배치된 16개의 그린 픽셀(PX_G)이 4×4 행열로 배치된 다른 16개의 그린 픽셀(PX_G)과 대각선으로 배치될 수 있다.
도 2a 및 도 2b를 참조하여 슈퍼 베이어 패턴에 대하여 설명하였다. 도 2a 및 도 2b에서 레드 픽셀 그룹(PG_R), 블루 픽셀 그룹(PG_B), 제1 그린 픽셀 그룹(PG_G1), 및 제2 그린 픽셀 그룹(PG_G2) 각각이 3×3 행열로 배치된 동일한 컬러의 픽셀(PX_CF)을 포함하거나, 픽셀 그룹이 4×4 행열로 배치된 동일한 컬러의 픽셀(PX_CF)을 포함하는 것으로 설명되었다. 그러나, 이에 제한되는 것은 아니며, 다양한 슈퍼 베이어 패턴에서, 픽셀 그룹은 N×N 픽셀들(N은 2 이상의 정수)로 배치된 동일한 컬러의 픽셀들(PX_CF)을 포함할 수 있다. 또한, 실시예에 있어서, 컬러 필터 어레이(CFAa, CFAb)의 레드, 블루 및 그린 컬러 조합이 다른 컬러들의 조합으로 변경될 수 있다. 예를 들어, 레드, 블루 및 그린 컬러는 시안(cyan), 마젠타(magenta) 및 옐로우(yellow) 컬러로 대체될 수 있다.
계속하여 도 1을 참조하면, 리드아웃 회로(120)는 픽셀 어레이(110)로부터 수신되는 전기적 신호들을 이미지 데이터(IDT)로 변환할 수 있다. 리드아웃 회로(120)는 전기적 신호들을 증폭하고, 증폭된 전기적 신호들을 아날로그-디지털 변환할 수 있다. 리드아웃 회로(120)에서 생성되는 이미지 데이터는 픽셀 어레이(110)의 센상 픽셀들(SPX) 각각에 대응하는 픽셀 값들을 포함할 수 있다. 리드아웃 회로(120)는 픽셀 어레이(110)와 함께 센싱 코어로 지칭될 수 있다.
이미지 신호 프로세서(130)는 리드아웃 회로(120)로부터 출력되는 이미지 데이터(IDT)에 대하여 이미지 처리를 수행할 수 있다. 이미지 신호 프로세서(130)는 이미지 데이터(IDT)에 대하여 배드 픽셀 보정을 수행할 수 있다. 이 외에도, 이미지 신호 프로세서(130)는 이미지 데이터(IDT)에 대하여 노이즈 제거, 리모자익(re-mosaic), 비닝(binning) 등의 이미지 처리를 수행할 수 있다.
배드 픽셀 검출기(10)는 이미지 데이터(IDT)로부터 배드 픽셀을 검출하고, 배드 픽셀의 유형을 검출(또는 파악)할 수 있다. 배드 픽셀 검출기(10)는 이미지 센서(100)에 저장된(예컨대 메모리에 저장된) 스태틱 배드 픽셀 정보를 기초로 배드 픽셀이 이미지 데이터(IDT)의 고정된 위치, 다시 말해서 특정한 위치에 발생하는 스태틱 배드 픽셀인지 또는 이미지 데이터(IDT)에 랜덤하게 발생하는 다이나믹 배드 픽셀인지를 검출할 수 있다. 스태틱 배드 픽셀은 인접한 복수의 배드 픽셀들이 클러스터(cluster)를 형성하여 생성되는 클러스터 배드 픽셀을 포함하거나 클러스터 배드 픽셀 및 적어도 하나의 추가 배드 픽셀을 더 포함할 수 있다. 여기서, 클러스터 배드 픽셀 또는 클러스터 배드 픽셀 및 적어도 하나의 추가 배드 픽셀은 동일한 컬러에 대응할 수 있다.
배드 픽셀 보정부(20)는 딥 러닝(또는 뉴럴 네트워크라고 함) 기반으로 이미지 데이터(IDT)의 배드 픽셀을 보정할 수 있다. 배드 픽셀 보정부(20)는 딥 러닝 기반의 배드 픽셀 보정부(DLBPC; Deep learning based bad pixel corrector)로 지칭될 수 있다. 실시예에 있어서, 배드 픽셀 보정부(20)는 하드웨어로 구현될 수 있다. 그러나, 이에 제한되는 것은 아니며 배드 픽셀 보정부(20)는 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 이미지 센서에 구비되는 배드 픽셀 보정부의 동작을 나타낸다.
도 3을 참조하면 배드 픽셀 보정부(도 1의 20)는 뉴럴 네트워크(NN)를 포함한다. 뉴럴 네트워크(NN)는 배드 픽셀(BP)을 보정하도록 트레이닝된 딥 러닝 모델을 포함할 수 있으며, 입력 데이터(DTin)(또는 입력 이미지 데이터라고 함)를 기초로 배드 픽셀(BP)에 대응하는 보정된 픽셀 값(PVc)을 포함하는 보정된 픽셀 데이터(PDTc)를 생성할 수 있다. 보정된 픽셀 값(PVc)이 배드 픽셀(CBP)의 픽셀 값으로서 적용될 수 있으며, 이에 따라 배드 픽셀(BP)이 보정된 출력 데이터(DTo)가 생성될 수 있다.
이미지 데이터(도 1의 IDT)는 슈퍼 베이어 패턴을 포함할 수 있으며, 픽셀 그룹(PG) 각각은 4×4 행렬 배열된 동일한 컬러의 픽셀들, 예컨대 레드 픽셀들(PXr), 블루 픽셀들(PXb) 및 그린 픽셀들(PXg)을 포함할 수 있다. 배드 픽셀 보정부(20)는 배드 픽셀(BP)을 포함하는 입력 데이터(DTin)를 생성하고, 입력 데이터(DTin)를 뉴럴 네트워크(NN)에 입력할 수 있다.
입력 데이터(DTin)는 행렬로 배열된 복수의 픽셀 그룹(PG)을 포함하는 2차원 데이터이다. 적어도 하나의 배드 픽셀(BP)을 포함하는 대상 픽셀 그룹(PG_T)은 입력 데이터(DTin)의 중앙에 위치할 수 있다. 예를 들어, 입력 데이터(DTin)은 도 3에 도시된 바와 같이, 5×5 행렬 배열된 25개의 픽셀 그룹(PG)을 포함할 수 있다. 다시 말해서 입력 데이터(DTin)는 20×20 행열 배열된 픽셀들(PX)을 포함할 수 있다.
대상 픽셀 그룹(PG_T)은 적어도 하나의 배드 픽셀(BP)을 포함할 수 있다. 실시예에 있어서, 대상 픽셀 그룹(PG_T)은 복수의 배드 픽셀(BP)을 포함할 수 있다. 실시예에 있어서, 대상 픽셀 그룹(PG_T)은 복수의 배드 픽셀(BP)이 인접하게 배치된 클러스터 배드 픽셀(CBP)을 포함할 수 있다. 실시에에 있어서, 대상 픽셀 그룹(PG_T)은 클러스터 배드 픽셀(CBP) 및 적어도 하나의 배드 픽셀(BP)을 더 포함할 수 있다.
예를 들어, 도 3에 도시된 바와 같이, 대상 픽셀 그룹(PG_T)은 대상 픽셀 그룹(PG_T) 내에서 제1 방향(예컨대 오른쪽)에 배치되는 적어도 하나의 배드 픽셀(BP1)(이하, 제1 배드 픽셀이라고 지칭함) 및 제1 방향에 대향하는 제2 방향(예컨대 왼쪽)에 배치되는 4×2 행렬의 8개의 배드 픽셀(BP2)(이하, 제2 배드 픽셀이라고 지칭함)을 포함하는 클러스터 배드 픽셀(CBP)을 포함할 수 있다.
뉴럴 네트워크(NN)는 입력 데이터(DTin)에 대하여 배드 픽셀 처리를 수행하여 보정된 픽셀 데이터(PDTc)를 생성할 수 있다. 뉴럴 네트워크(NN)는 배드 픽셀(BP)을 보정하도록 트레이닝된 딥 뉴럴 모델을 포함할 수 있다. 딥 러닝 모델은 복수의 레이어, 예컨대 제1 내지 제n 레이어(L1, L2, Ln)를 포함할 수 있다. 실시예에 있어서, 뉴럴 네트워크(NN)는 대상 픽셀 그룹(PG_T) 내의 클러스터 배드 픽셀(CBP) 및 적어도 하나의 제1 배드 픽셀(BP1)을 포함하는 다양한 케이스의 트레이닝 데이터를 기초로 클러스터 배드 픽셀(CBP) 및 적어도 하나의 제1 배드 픽셀(BP1)을 보정하도록 트레이닝된 딥 뉴럴 모델을 포함할 수 있다.
여기서, 배드 픽셀 보정부(20)는 배드 픽셀(BP)의 위치를 나타내는 위치 정보를 인코딩하여 위치 데이터(PD)를 생성하고, 위치 데이터(PD)를 입력 데이터(DTin)와 함께 뉴럴 네트워크(NN)에 제공할 수 있다. 실시예에 있어서, 배드 픽셀 보정부(20)는 입력 데이터(DTin)를 복수의 레이어 중 입력 레이어에 제공하고, 위치 데이터(PD)를 복수의 레이어 중 중간 레이어에 직접 제공할 수 있다. 예를 들어, 뉴럴 네트워크(NN)는 적어도 하나의 컨볼루션 레이어, 및 적어도 하나의 풀리 커넥티드 레이어를 포함할 수 있으며, 위치 데이터(PD)가 제공되는 중간 레이어는 풀리 커넥티드 레이어일 수 있다.
실시예에 있어서, 배드 픽셀 보정부(20)는 입력 데이터(DTin)의 픽셀들(PX) 중 배드 픽셀(BP)을 나타내는 배드 픽셀 맵(map)을 인코딩하여 인코딩된 데이터, 다시 말해서 위치 데이터(DT)를 생성할 수 있다. 위치 데이터(DT)는 복수의 비트(bit)를 포함할 있다. 실시예에 있어서, 위치 데이터(DT)는 대상 픽셀 그룹(PG_T)의 4×4 행열의 픽셀들(PX) 중 클러스터 배드 픽셀(PX)에 대응하는 왼쪽의 4×2 행열의 픽셀들(PX)을 제외한 오른쪽의 4×2 행열의 픽셀들(PX) 각각에 대응하는 8개의 비트들을 포함할 수 있다. 제1 배드 픽셀(BP1)에 대응하는 비트는 배드 픽셀을 나타내는 플래그 값(예컨대 '1')을 포함하고, 다른 비트들은 배드 픽셀이 아닌 일반 픽셀을 나타내는 플래그 값(예컨대 '0')을 포함할 수 있다. 이에 따라, 위치 데이터(PD)는 "00 10 00 00"의 비트 값들을 포함할 수 있다. 그러나, 이에 제한되는 것은 아니며, 실시예에 있어서, 위치 데이터(DT)는 대상 픽셀 그룹(PG_T)의 4×4 행열의 픽셀들(PX) 각각에 대응하는 16개의 비트들을 포함할 수 있다.
보정된 픽셀 데이터(PDTc)는 적어도 하나의 제1 배드 픽셀(BP1) 및 클러스터 배드 픽셀(CBP)에 포함되는 제2 배드 픽셀들(BP2) 각각에 대응하는 픽셀 값들(PVc)을 포함할 수 있다. 대상 픽셀 그룹(PG_T)의 제2 배드 픽셀들(BP2) 및 적어도 하나의 제1 배드 픽셀(BP1)은 보정된 픽셀 데이터(PDTc)로 교체될 수 있다.
도 3에서, 픽셀 그룹(PG)은 4×4 행열로 배열된 픽셀들(PX)을 포함하고, 입력 데이터(DTin)가 5×5 행열로 배열된 픽셀 그룹(PG)을 포함하는 경우를 예를 들어 설명하였다. 그러나, 본 개시의 기술적 사상은 이에 제한되는 것은 아니며, 픽셀 그룹(PG)은 동일한 컬러의 N×N 픽셀들(N은 2 이상의 정수)을 포함할 수 있으며, 입력 데이터(DTin)는 행렬로 배열된 적어도 9개의 픽셀 그룹(PG)을 포함하거나 또는 25개 이상의 픽셀 그룹(PG)을 포함할 수 있다.
계속하여 도 1을 참조하면, 배드 픽셀 보정부(20)는 복수의 배드 픽셀(BP)이 대상 픽셀 그룹(PG_T) 내에서 제1 패턴으로 배치될 경우, 입력 데이터(도 3의 DTin)를 반전(상하 반전 또는 좌우 반전)하여 반전된 입력 데이터를 생성하고, 반전된 입력 데이터를 뉴럴 네트워크(NN)에 제공할 수 있다. 또는, 배드 픽셀 보정부(20)는 대상 픽셀 그룹(PG_T) 및 주변 픽셀 그룹을 포함하는 일부 이미지 데이터를 생성하고, 일부 이미지 데이터를 반전(상하 반전 또는 좌우 반전)하여 입력 데이터(DTin)을 생성할 수 있다.
여기서, 뉴럴 네트워크(도 3의 NN)는 제1 패턴에 대칭인 제2 패턴으로 복수의 배드 픽셀(BP)이 배치된 트레이닝 데이터를 기초로 트레이닝된 딥 뉴럴 모델을 포함할 수 있다. 뉴럴 네트워크(NN)가 복수의 배드 픽셀(BP)이 제1 패턴으로 배치된 트레이닝 데이터를 기초로 트레이닝되지 않은 바, 제1 패턴의 배드 픽셀들(BP)을 포함하는 입력 데이터(DTin)를 뉴럴 네트워크(NN)에 그대로 입력할 경우 정확한 보정된 픽셀 데이터(PDTc)가 생성되지 않는다. 따라서, 배드 픽셀 보정부(20)는 입력 데이터(DTin)를 반전하고 반전된 입력 데이터를 뉴럴 네트워크(NN)를 기초로 처리할 수 있다. 이때, 위치 데이터(PD)는 반전된 입력 데이터에 기초하여 배드 픽셀들(BP)의 위치를 나타낼 수 있다.
실시예에 있어서, 뉴럴 네트워크(NN)는 이미지 데이터(IDT)에 포함되는 컬러들 각각에 대응하는 복수의 네트워크를 포함할 수 있으며, 배드 픽셀 보정부(20)는 배드 픽셀(BP)이 발생한 채널의 컬러에 따라 대응하는 네트워크를 이용하여 배드 픽셀 보정을 수행할 수 있다. 배드 픽셀 보정부(20)의 구성 및 동작은 이하 다른 도면들을 참조하여 상세하게 후술하기로 한다.
계속하여, 도 1을 참조하면, 이미지 처리된 이미지 데이터(IDTa)는 외부 프로세서(200)(예컨대 이미지 센서(100)가 탑재되는 전자 장치의 메인 프로세서, 또는 그래픽 프로세서 등)에 제공될 수 있다. 외부 프로세서(200)는 이미지 데이터(IDTa)에 대하여 이미지 처리를 수행하여 화질을 개선하거나 또는 이미지 데이터(IDTa)의 해상도를 줄이고, 이미지 처리된 이미지 데이터를 저장하거나, 디스플레이에 표시하거나 또는 이미지 데이터에 기초한 동작을 수행하는 구성에 제공할 수 있다.
전술한 바와 같이, 본 개시의 실시예에 따른 이미지 센서(100)에서 딥 러닝 기반의 이미지 신호 프로세서(130)(구체적으로, 배드 픽셀 보정부(20))가 이미지 데이터(IDT)의 고정된 위치에 발생하는 배드 픽셀(도 3의 BP)을 보정할 수 있다. 이미지 신호 프로세서(130)는 배드 픽셀(BP)의 위치를 나타내는 위치 정보를 인코딩하여 복수의 비트들을 포함하는 위치 데이터(도 3의 PD)를 생성하고, 위치 데이터(PD)를 배드 픽셀 보정에 이용되는 뉴럴 네트워크의 한 레이어에 제공할 수 있다. 이때, 위치 데이터(PD)가 입력되는 레이어는 뉴럴 네트워크의 중간 레이어일 수 있다. 위치 데이터(PD)의 복수의 비트들 각각은 대응하는 픽셀이 배드 픽셀인지 여부를 나타내는 플래그 값들을 포함할 수 있다. 배드 픽셀(BP)의 위치를 반영하는 뉴럴 네트워크에 있어서, 배드 픽셀의 위치를 나타내는 2차원의 배드 픽셀 맵이 뉴럴 네트워크(NN)에 제공되는 경우보다 전술한 바와 같이, 위치 정보가 인코딩된 위치 데이터가 뉴럴 네트워크(NN)에 제공될 경우, 뉴럴 네트워크(NN)의 연산량이 감소될 수 있으며, 뉴럴 네트워크(NN)의 성능이 향상될 수 있다. 또한 뉴럴 네트워크(NN)가 배드 픽셀 맵에서 배드 픽셀(예컨대 1 배드 픽셀)의 위치를 판단하기 위한 부담이 감소될 수 있다.
또한, 이미지 신호 프로세서(130)는 배드 픽셀을 포함하는 입력 데이터를 패턴별로 반전하여 이용함에 따라, 뉴럴 네트워크가 해결해야 하는 문제의 복잡도(complexity)가 감소될 수 있어, 뉴럴 네트워크의 트레이닝량 및 트레이닝에 소요되는 시간이 감소될 수 있다. 이미지 센서(100)는 경량화된 뉴럴 네트워크(NN)를 기초로 이미지 데이터(IDT)의 배드 픽셀을 실시간으로 처리할 수 있으며, 이미지 처리되어 출력되는 이미지 데이터(IDTa), 다시 말해서 외부 프로세서로 제공되는 이미지 데이터(IDTa)에서 배드 픽셀의 시인성이 감소될 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크의 구조의 일 예를 나타낸다.
도 4를 참조하면, 뉴럴 네트워크(NN)는 제1 내지 제3 컨볼루션(Convolution) 레이어(CONV1, CONV2, CONV3), 맥스 풀링(Max pooling) 레이어(MP), 제1 풀리 커넥티드(Fully connected) 레이어(FC1), 및 제2 풀리 커넥티드 레이어(FC2)를 포함할 수 있다. 이와 같이 뉴럴 네트워크(NN)는 복수의 레이어들을 포함할 수 있으며, 이러한 멀티-레이어드 구조의 뉴럴 네트워크(NN)는 딥 뉴럴 네트워크(deep neural network; DNN) 또는 딥 러닝 구조(deep learning architecture)로 지칭될 수 있다.
복수의 레이어들 각각은 입력되는 피처 맵(feature map)(예컨대, 제1 피처 맵(FM1), 제2 피처 맵(FM2), 제3 피처 맵(FM3), 제4 피처 맵(FM4) 및 제5 피처 맵(FM5))을 연산하여 출력 피처 맵 또는 출력을 생성할 수 있다. 각 레이어의 출력 피처 맵은 다음 레이어의 입력 피처 맵으로서 제공될 수 있다. 피처 맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미하며, 피처 맵들 각각은 복수의 피처 값들을 포함하는 2차원 매트릭스 또는 3차원 매트릭스(또는 tensor라고 함) 형태를 가질 수 있다. 피처 맵들은 높이(H)(또는 행), 너비(W)(또는 열) 및 채널 수(C)를 가질 수 있으며, 채널 수(C)는 깊이로 지칭될 수 있다.
입력 데이터, 예컨대 20×20 행열로 배열된 픽셀들(PX)은 배드 픽셀들을 포함할 수 있다. 예를 들어, 입력 데이터는 클러스터 배드 픽셀을 구성하는 4×2 행열(4행 및 2열)의 제2 배드 픽셀들(제2 배드 픽셀들) 및 2개의 제1 배드 픽셀들을 포함할 수 있다. 다시 말해서 입력 데이터는 10개의 배드 픽셀들을 포함할 수 있다.
입력 데이터는 S2D(space to Depth) 변환되어 제1 피처 맵(FM1)으로서 생성될 수 있다. 제1 피처 맵(FM1)의 사이즈를 나타내는 괄호 안의 숫자, 즉 10, 10, 4는 각각 높이(행), 너비(열), 및 채널 수를 나타낸다. 20×20 행렬의 팩셀들(PX)을 포함하는 입력은 각각이 10×10 행렬의 피처들을 포함하는 4개 채널을 포함하는 제1 피처 맵(FM1)으로 변환될 수 있다.
컨볼루션 레이어는 입력 피처 맵과 하나 이상의 가중치 맵을 컨볼루션하여 출력 피처 맵을 생성할 수 있다. 예컨대 제1 컨볼루션 레이어(CONV1)는 제1 피처 맵(FM1)과 제1 가중치 맵(WM1)을 컨블루션하여 제2 피처 맵(FM2)을 생성할 수 있다. 가중치 맵, 예컨대 제1 가중치 맵(WM1)은 복수의 가중치들을 포함할 수 있으며, 2차원 매트릭스 또는 3차원 매트릭스 형태를 가질 수 있다. 가중치 맵은 입력 피처 맵을 필터링할 수 있으며, 필터 또는 커널로 지칭될 수 있다. 가중치 맵, 예컨대 제1 가중치 맵(WM1)의 채널 수는 입력 피처 맵, 예컨대 제1 피처 맵(FM1)의 채널 수와 동일하며 입력 피처 맵과 가중치 맵의 동일한 채널끼리 컨볼루션될 수 있다.
제1 가중치 맵(WM1)은 제1 피처 맵(FM1)을 슬라이딩 윈도로 하여 횡단하는 방식으로 시프트된다. 각 시프트 동안, 제1 가중치 맵(WM1)에 포함되는 가중치들 각각이 제1 피처 맵(FM1)과 중첩된 영역에서의 모든 피처 값과 곱해지고 더해질 수 있다. 제1 피처 맵(FM1)과 제1 가중치 맵(WM)이 컨볼루션 됨에 따라 제2 피처 맵(FM2)의 하나의 채널이 생성될 수 있다. 가중치 맵의 개수는 출력 피처 맵, 예컨대 제2 피처 맵(FM2)의 채널 수와 동일할 수 있다. 예를 들어, 제1 컨볼루션 레이어(CONV1)에서 8개의 제1 가중치 맵(WM1)들이 제1 피처 맵(FM1)과 컨볼루션 됨으로써, 8개의 채널을 포함하는 제2 피처 맵(FM2)이 생성될 수 있다. 제2 피처 맵(FM2)의 사이즈, 예컨대 (높이, 너비 및 채널 수)는 각각 (8, 8, 8)일 수 있다.
제2 컨볼루션 레이어(CONV2)는 제2 피처 맵(FM2)을 가중치 맵, 예컨대 하나 이상의 제2 가중치 맵(WM2)과 컨볼루션하여 제3 피처 맵(FM3)을 생성하고, 제3 컨볼루션 레이어(CONV3)는 제3 피처 맵(FM3)을 가중치 맵, 예컨대 하나 이상의 제3 가중치 맵(WM3)과 컨볼루션하여 제4 피처 맵(FM4)을 생성할 수 있다. 제3 피처 맵(FM3)과 제4 피처 맵(FM4)의 사이즈, 예컨대 (높이, 너비 및 채널 수)는 각각 (6, 6, 8) 및 (4, 4, 16)일 수 있다.
맥스 풀링 레이어(MP)는 풀링 윈도우(PW)가 풀링 윈도우(PW)의 사이즈 단위로 입력 피처 맵, 예컨대 제4 피처 맵(FM4)을 슬라이딩하여 풀링 윈도우(PW)와 중첩되는 영역의 피처값들 중 최대값을 선택할 수 있다. 이에 따라서, 공간적 크기가 감소되는 출력 피처 맵, 예컨대 제5 피처 맵(FM5)을 생성할 수 있다. 제5 피처 맵(FM5)의 사이즈, 예컨대(높이, 너비 및 채널 수)는 각각 (2, 2, 16)일 수 있다.
제5 피처 맵(FM5)은 평평하게(flatten)되어 64개의 값을 갖는 1차원 벡터로서 생성될 수 있으며, 1차원 벡터가 제1 풀리 커넥티드 레이어(FC1)의 입력(I1)으로서 제공될 수 있다. 이때, 1차원 벡터에 배드 픽셀의 위치 정보가 인코딩되어 생성되는 위치 데이터(PD)가 제1 풀리 커넥티드 레이어(FC1)의 입력(I1)으로서 제공될 수 있다. 다시 말해서, 위치 데이터(PD)가 제5 피처 맵(FM5)을 기초로 생성된 1차원 벡터에 부가되어, 1차원 벡터 및 위치 데이터(PD)가 제1 풀리 커넥티드 레이어(FC1)의 입력(I1)으로서 제공될 수 있다.
실시예에 있어서, 위치 데이터(PD)는 배드 픽셀들이 포함되는 대상 픽셀 그룹(PG_T)의 4×4 행렬의 픽셀들 중 클러스터 배드 픽셀을 구성하는 4×2 행렬의 제2 배드 픽셀들을 제외한 4×2 행렬의 나머지 픽셀들에 각각 대응하는 8개의 비트를 포함할 수 있다. 8개의 비트들 중, 제1 배드 픽셀에 대응하는 2개의 비트가 배드 픽셀을 나타내는 플래그 값, 예컨대 '1'을 가지고, 나머지 노멀 픽셀들에 대응하는 6개의 비트가 노멀 픽셀을 나타내는 플래그 값, 예컨대 '0'을 가질 수 있다. 이에 따라, 도 4의 입력 데이터에 포함되는 제2 배드 픽셀의 위치 정보를 나타내는 위치 데이터(PD)는 "10000100"일 수 있다. 그러나, 이에 제한되는 것은 아니며, 실시예에 있어서, 위치 데이터(PD)는 대상 픽셀 그룹(PG_T)의 4×4 행렬의 픽셀들 각각에 대응하는 16개의 비트들을 포함할 수 있다.
제1 풀리 커넥티드 레이어(FC1)는 입력(I1)에 같은 차원(dimension)을 가진 각 클래스의 가중치를 곱하고, 그 결과에 활성화 함수를 적용하여 1차원 출력 값들을 포함하는 출력을 생성할 수 있다. 제1 풀리 커넥티드 레이어(FC1)는 32개의 출력 값, 예컨대 32행 및 1열의 출력 값을 포함하는 제1 출력(O1)을 생성할 수 있다. 제2 풀리 커넥티드 레이어(FC2)는 제1 출력(O1)을 기초로 10개의 출력 값, 예컨대 10행 1열의 출력 값을 포함하는 제2 출력(O2)를 생성할 수 있다.
제2 출력(O2)은 4×2 행열(4행 2열)의 보정된 제2 픽셀 값들 및 2개의 보정된 제1 픽셀 값을 갖는 보정된 픽셀 데이터(PDTc)로서 출력될 수 있다. 이때, 4×2 행열(4행 2열)의 보정된 제2 픽셀 값들은 클러스터 배드 픽셀에 포함되는 제2 배드 픽셀들 각각의 픽셀 값으로서 적용되고, 2개의 보정된 제2 픽셀 값은 2개의 제2 배드 픽셀들 각각의 픽셀 값으로서 적용될 수 있다.
본 개시의 실시예에 따른 비교예에 따르면, 배드 픽셀의 위치를 나타내는 위치 정보가 2차원의 배드 픽셀 맵으로서 뉴럴 네트워크(NN)에 제공될 수 있다. 배드 픽셀 맵은 제1 피처 맵(FM1)의 일부로서 뉴럴 네트워크(NN)의 입력 레이어, 예컨대 제1 컨볼루션 레이어(CONV1)에 제공될 수 있다. 이때, 배드 픽셀 맵은 제1 피처 맵(FM1)의 복수의 채널로서 생성될수 있다. 이에 따라, 제1 피처 맵(FM1)의 채널 수가 증가될 수 있다. 예를 들어, 제1 피처 맵(FM1)의 채널 수는 4개에서 8개로 증가될 수 있다. 이에 따라, 제1 컨볼루션 레이어(CONV1)의 연산량이 크게 증가될 수 있다. 뉴럴 네트워크(NN)가 하드웨어로 구현될 경우, 게이트 수가 크게 증가될 수 있다.
그러나, 전술한 바와 같이, 본 개시의 예시적 실시예에 따른 이미지 신호 프로세서(도 1의 130)는 배드 픽셀의 위치 정보를 인코딩하여 복수의 비트들을 포함하는 위치 데이터(PD)를 생성하고, 위치 데이터(PD)를 뉴럴 네트워크(NN)의 복수의 레이어들중 중간 레이어, 예를 들어 제1 풀리 커넥티드 레이어(FC2)에 제공할 수 있다. 제1 풀리 커넥티드 레이어(FC2)의 입력(I1)이 위치 데이터(PD)에 포함되는 비트들의 개수만큼 증가될 뿐이므로 뉴럴 네트워크(NN)의 연산량의 증가량은 비교예에 따른 증가량 보다 매우 적을 수 있다.
한편, 도 4에서 각 레이어의 출력들, 예컨대 제1 내지 제5 피처 맵(FM1~FM5), 및 제1 및 제2 출력(O1, O2)의 사이즈가 예시적으로 도시되었으나, 각 레이어의 출력들의 사이즈는 가변될 수 있으며, 클러스터 배드 픽셀에 포함되는 배드 픽셀들의 개수 또한 가변될 수 있다. 다만, 보정된 픽셀 데이터(PDTc)에 포함되는 보정된 픽셀 값들의 행 및 열의 개수는 클러스터 배드 픽셀에 포함되는 배드 픽셀들의 행 및 열의 개수와 동일하다.
또한, 도 4에서 뉴럴 네트워크(NN)는 컨볼루선 레이어, 맥스 풀링 레이어 및 풀리 커넥티드 레이어를 포함하는 6개의 레이어를 포함는 것으로 도시되었으나, 이는 예시적인 것일 뿐이며, 뉴럴 네트워크(NN)의 레이어들의 개수 및 레이어들의 종류는 가변될 수 있다. 예를 들어, 뉴럴 네트워크(NN)의 설계 단계에서 뉴럴 네트워크(NN)의 연산량 및 성능을 기초로 레이어들의 개수 및 종류가 결정될 수 있다.
도 5a 내지 도 5f는 본 개시의 예시적 실시예에 따른 위치 데이터를 예시적으로 나타낸다.
도 5a 내지 도 5f는 배드 픽셀의 케이스 별로 픽셀 데이터를 나타내며, 도 5a 내지 도 5d는 픽셀 그룹이 4×4 행렬의 16개의 픽셀들을 포함하는 경우를 나타내고, 도 5e 및 도 5f는 픽셀 그룹이 3×3 행렬의 9개의 픽셀들을 포함하는 경우를 나타낸다.
도 5a를 참조하면, 배드 픽셀은 대상 픽셀 그룹(PG_T) 내에서 고정된 위치에 발생하는 클러스터 배드 픽셀(CBP) 및 랜덤한 위치에 생성되는 하나의 제1 배드 픽셀(BP1)을 포함할 수 있다.
클러스터 배드 픽셀(CBP)은 동일한 위치에 고정적으로 발생하므로, 위치 데이터(PD)는 대상 픽셀 그룹(PG_T)의 4×2 행렬의 픽셀들 중 클러스터 배드 픽셀(CBP)을 제외한 4×2 행렬의 픽셀들 중에서, 제1 배드 픽셀(BP1)의 위치를 나타낼 수 있다. 위치 데이터(PD)는 8개의 비트들을 포함할 수 있으며, 8개의 비트들 각각은 제1 로우 내지 제4 로우(R0~R3) 및 제3 및 제4 컬럼(C2, C3)에 배치되는 4×2 행렬의 픽셀들 각각에 대응할 수 있다. 위치 데이터(PD)의 비트 값들은 제1 로우(R0)의 제3 컬럼(C3)의 픽셀부터 제4 로우(R3) 및 제4 컬럼(C3)에 배치된 픽셀에 대응할 수 있다. 제1 로우(R0) 및 제3 컬럼(C3)의 픽셀이 배드 픽셀인지 여부를 나타내는 플래그 값이 위치 데이터(PD)의 최상위 비트에 대응하고, 제4 로우(R3) 및 제4 컬럼(C3)의 픽셀이 배드 픽셀인지 여부를 나타내는 플래그 값이 위치 데이터(PD)의 최하위 비트에 대응할 수 있다.
케이스 1-1에서, 제1 배드 픽셀(BP1)이 제1 로우(R0) 및 제3 컬럼(C2)(이하, (R0, C2)로 표시함)에 배치될 수 있다. 따라서, 위치 데이터(PD)에서 (R0, C2)의 픽셀에 대응하는 비트가 배드 픽셀을 나타내는 플래그 값인 '1'을 가질 수 있다. 나머지 픽셀들에 대응하는 비트들은 노멀 픽셀을 나타내는 플래그 값인 '0'을 가질 수 있다. 따라서, 위치 데이터(PD)는 "10000000"의 데이터 값을 가질 수 있다.
케이스 1-2에서, 제1 배드 픽셀(BP1)이 (R1, C3)에 배치될 수 있다. 따라서, (R1, C3)의 픽셀에 대응하는 비트가 배드 픽셀을 나타내는 플래그 값인 '1'을 가질 수 있다. 나머지 픽셀들에 대응하는 비트들은 노멀 픽셀을 나타내는 플래그 값인 '0'을 가질 수 있다. 따라서, 위치 데이터(PD)는 "00 01 00 00"의 데이터 값을 가질 수 있다.
도 5b를 참조하면, 배드 픽셀은 대상 픽셀 그룹(PG_T) 내에서 고정된 위치에 발생하는 클러스터 배드 픽셀(CBP) 및 랜덤한 위치에 생성되는 두 개의 제1 배드 픽셀(BP1)을 포함할 수 있다.
케이스 2-1에서, 제1 배드 픽셀(BP1)이 (R1, C2) 및 (R2, C3)에 배치될 수 있다. 따라서, 위치 데이터(PD)에서 (R1, C2) 및 (R2, C3)의 픽셀들에 대응하는 비트들이 배드 픽셀을 나타내는 플래그 값인 '1'을 가질 수 있으므로, 위치 데이터(PD)는 "00100100"의 데이터 값을 가질 수 있다.
케이스 2-2에서, 제1 배드 픽셀(BP1)이 (R1, C3) 및 (R4, C2)에 배치될 수 있다. 따라서, 위치 데이터(PD)에서 (R1, C3) 및 (R4, C2)의 픽셀들에 대응하는 비트들이 배드 픽셀을 나타내는 플래그 값인 '1'을 가질 수 있으므로, 위치 데이터(PD)는 "00010010"의 데이터 값을 가질 수 있다.
도 5c 및 도 5d를 참조하면, 위치 데이터(PD)는 대상 픽셀 그룹(PG_T)의 4×4 행렬의 픽셀들에 대응하는 16개의 비트들을 포함할 수 있다. 위치 데이터(PD)는 4비트 단위로 제1 로우 내지 제4 로우(R0~R3) 각각의 제1 내지 제4 컬럼(C0~C3)의 픽셀들에 대응할 수 있다.
이에 따라, 도 5c의 케이스 1-1에서, 위치 데이터(PD)는 "1110110011001100"의 데이터 값을 갖고, 케이스 1-2에서, 위치 데이터(PD)는 "1100110111001100"의 데이터 값을 가질 수 있다. 또한 도 5d의 케이스 2-1에서, 위치 데이터(PD)는 "1100111011011100"의 데이터 값을 가질 수 있으며, 케이스 2-2에서, 위치 데이터(PD)는 "1100110111001110"의 데이터 값을 가질 수 있다.
도 5e를 참조하면, 대상 픽셀 그룹(PG_T)은 3×3 행렬의 9개의 픽셀들을 포함할 수 있으며, 대상 픽셀 그룹(PG_T) 내에서 랜덤한 위치에 하나의 배드 픽셀(BP)이 발생할 수 있다.
위치 데이터(PD)는 대상 픽셀 그룹(PG_T)의 3×3 행렬의 9개의 픽셀들에 대응하는 9개의 비트들을 포함할 수 있으며, 3비트 단위로 제1 로우 내지 제3 로우(R0~R2) 각각의 제1 내지 제3 컬럼(C0~C2)의 픽셀들에 대응할 수 있다.
이에 따라, 도 5e의 케이스 3-1에서, 위치 데이터(PD)는 "100000000"의 데이터 값을 갖고, 케이스 3-2에서, 위치 데이터(PD)는 "000010000"의 데이터 값을 가질 수 있다.
도 5f를 참조하면, 대상 픽셀 그룹(PG_T)은 3×3 행렬의 9개의 픽셀들을 포함할 수 있으며, 대상 픽셀 그룹(PG_T) 내에서 랜덤한 위치에 두개의 배드 픽셀(BP)이 발생할 수 있다.
케이스 4-1에서, 위치 데이터(PD)는 "100010000"의 데이터 값을 가질 수 있으며, 케이스 4-2에서, 위치 데이터(PD)는 "010010000"의 데이터 값을 가질 수 있다.
도 5a 내지 도 5f를 참조하여, 배드 픽셀이 발생하는 유형에 따른 위치 데이터를 예시적으로 설명하였다. 도 5a 내지 도 5f에서는 랜덤하게 발생하는 배드 픽셀이 1개 또는 2개인 경우를 가정하여 설명하였으나, 도 5a 내지 도 5d를 참조하여 설명한 바와 같이, 대상 픽셀 그룹(PG_T)이 4×4 행렬의 16개의 픽셀들을 포함하고, 4×2 행렬 클러스터 배드 픽셀(CBP)를 포함할 경우, 랜덤하게 발생하는 배드 픽셀의 개수는 1개 내지 8개일 수 있다. 또한, 도 5e 및 도 5f를 참조하여 설명한 바와 같이, 대상 픽셀 그룹(PG_T)이 3×3 행렬의 16개의 픽셀들을 포함하고, 클러스터 배드 픽셀을 포함하지 않을 경우, 랜덤하게 발생하는 배드 픽셀의 개수는 1개 내지 9개일 수 있다. 이와 같이, 대상 픽셀 그룹(PG_T) 내에서 랜덤한 위치에 발생하는 배드 픽셀의 개수는 가변적이며, 배드 픽셀의 개수 및 조합에 따라 배드 픽셀의 케이스가 가변될 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크의 트레이닝 단계를 나타낸다.
도 6을 참조하면, 뉴럴 네트워크(NN)의 트레이닝 단계(또는 학습 단계라고 함)는 제1 트레이닝 단계(S10) 및 제2 트레이닝 단계(S20)를 포함할 수 있다. 제1 트레이닝 단계(S10)는 스크레치 모드로 지칭되고, 제2 트레이닝 단계(S20)는 파인 튜닝 모드로 지칭될 수 있다.
제1 트레이닝 단계(S10)에서는 합성된 이미지를 기초로 초기 뉴럴 네트워크(NNINI)에 대하여 제1 트레이닝이 수행될 수 있다. 초기 뉴럴 네트워크(NNINI)는 트레이닝되지 않은 가중치들, 다시 말해서 트레이닝에 의하여 결정된 가중치들이 아닌 디폴트 값으로서 설정된 가중치들을 포함할 수 있다.
동그라미, 삼각형, 네모 같은 단순한 이미지를 포함하는 합성된 이미지(Synthetic Image)가 준비되고, 합성된 이미지의 일부가 크롭될 수 있다. 크롭된 이미지에 대하여 전처리가 수행될 수 있다. 예를 들어, 제1 트레이닝 단계(S110)에서의 전처리는 PSF(Point Spread Function) 컨볼루션, 노이즈 추가, 배드 픽셀(BP) 주입(implantation)을 포함할 수 있다.
전처리에 의하여 배드 픽셀을 포함하는 입력 데이터(DTin) 및 배드 픽셀을 포함하지 않는 라벨(LB)이 생성될 수 있다. 실시예에 있어서, 입력 데이터(DTin)는 대상 픽셀 그룹 내에서 고정된 위치에 발생하는 클러스터 배드 픽셀 및 랜덤하게 발생하는 하나 이상의 배드 픽셀을 포함할 수 있다. 그러나 이에 제한되는 것은 아니며, 입력 데이터(Dtin)은 대상 픽셀 그룹 내에서 랜덤하게 발생하는 하나 이상의 배드 픽셀을 포함할 수 있다.
제1 트레이닝 데이터(TD1)는 합성된 이미지에 기초하여 생성된 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 제1 트레이닝 데이터(TD1)는 복수의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다.
제1 트레이닝 데이터(TD1)를 기초로 초기 뉴럴 네트워크(NNINI)가 트레이닝될 수 있다. 이에 따라, 제1 뉴럴 네트워크(NN1)가 생성될 수 있다. 제1 뉴럴 네트워크(NN1)는 제1 트레이닝 데이터(TD1)를 기초로 클러스터 배드 픽셀을 보정하도록 트레이닝된 딥 러닝 모델을 포함할 수 있다.
제2 트레이닝 단계(S120)에서는 복잡한 형상을 포함하는 고차원의 실제 이미지를 기초로 제1 뉴럴 네트워크(NN1)에 대하여 제2 트레이닝이 수행될 수 있다. 제1 뉴럴 네트워크(NN1)는 제1 트레이닝 단계(S110)에서 트레이닝된 가중치들을 포함한다. 여기서, 가중치들의 정확도는 높지 않을 수 있다. 다시 말해서, 제1 뉴럴 네트워크(NN1)의 성능이 높지 않을 수 있다.
고차원의 실제 이미지(real image)가 준비되고, 실제 이미지의 일부가 크롭될 수 있다. 크롭된 이미지에 대하여 전처리가 수행될 수 있다. 예를 들어, 제2 트레이닝 단계(S120)에서의 전처리는 노이즈 추가, 배드 픽셀(BP) 주입(implantation)을 포함할 수 있다.
전처리에 의하여 클러스터 배드 픽셀을 포함하는 입력 데이터(DTin) 및 클러스터 배드 픽셀을 포함하지 않는 라벨(LB)이 생성될 수 있다. 제2 트레이닝 데이터(TD2)는 실제 이미지에 기초하여 생성된 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 제2 트레이닝 데이터(TD2)는 복수의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 제2 트레이닝 데이터(TD1)를 기초로 제1 뉴럴 네트워크(NN1)가 트레이닝될 수 있다. 이에 따라, 제2 뉴럴 네트워크(NN2), 예컨대 최종 트레이닝된 뉴럴 네트워크가 생성될 수 있다. 제2 뉴럴 네트워크(NN2)는 클러스터 배드 픽셀을 보정하도록 트레이닝된 딥 러닝 모델을 포함하며, 딥 러닝 모델은 파인 튜닝된 가중치들을 포함한다. 실제 이미지에 기초하여 트레이닝된 바, 가중치들의 정확도가 높을 수 있다. 다시 말해서, 제2 뉴럴 네트워크(NN2)의 성능이 높을 수 있다. 제2 뉴럴 네트워크(NN2)는 이미지 센서(도 1의 100)의 뉴럴 네트워크(NN)로서 적용될 수 있다.
한편, 제1 트레이닝 데이터(TD1) 및 제2 트레이닝 데이터(TD2) 중 적어도 하나(이하 트레이닝 데이터라고 함)는 도 5a 내지 도 5f를 참조하여 설명한 바와 같이, 다양한 배드 픽셀 케이스에 따른 복수개의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 실시예에 있어서, 트레이닝 데이터는 복수의 배드 픽셀 케이스 별로 동일한 개수의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 예컨대, 트레이닝 데이터는 도 5a의 케이스 1-1에 대하여 10개 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함하고, 케이스 1-2에 대하여 10개 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 대상 픽셀 그룹이 랜덤하게 발생하는 하나의 배드 픽셀을 포함하는 경우에 대하여 8개의 배드 픽셀 케이스가 존재할 수 있으며, 트레이닝 데이터는 8개의 배드 픽셀 케이스 별로 10개의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다. 따라서, 대상 픽셀 그룹이 랜덤하게 발생하는 하나의 배드 픽셀을 포함하는 경우에 대하여 트레이닝 데이터는 80개의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있다.
한편, 동일한 개수의 배드 픽셀을 포함하는 배드 픽셀 케이스들 중에서, 두 개의 케이스는 배드 픽셀들의 패턴이 대칭일 수 있다.
도 7은 배드 픽셀의 패턴이 대칭인 케이스들을 나타낸다.
도 7을 참조하면, 대상 픽셀 그룹(PG_T) 내에 4×2 행렬로 배치되는 클러스터 배드 픽셀(CBP)과 랜덤한 하나의 제1 배드 픽셀(BP1)이 발생할 수 있다. 케이스 1-1과 케이스 1-2는 배드 필셀의 패턴이 상하로 대칭일 수 있다. 이러한 경우, 뉴럴 네트워크, 다시 말해서, 도 6의 초기 뉴럴 네트워크(NNINI) 및/또는 제1 뉴럴 네트워크(NN)는 케이스 1-1 및 케이스 1-2 중 하나의 케이스에 대하여 트레이닝될 수 있다. 다시 말해서, 트레이닝 데이터는 하나의 케이스, 예컨대 케이스 1-1에 대하여 복수개의 쌍의 입력 데이터(DTin) 및 라벨(LB)을 포함할 수 있으며, 케이스 1-2에 대한 입력 데이터(DTin) 및 라벨(LB)의 쌍은 포함하지 않을 수 있다. 이에 따라서, 뉴럴 네트워크가 해결해야 하는 문제, 다시 말해서 배드 픽셀 케이스의 복잡도(complexity)가 감소될 수 있어 뉴럴 네트워크의 트레이닝량 및 트레이닝에 소요되는 시간이 감소될 수 있다.
한편, 전술한 뉴럴 네트워크의 트레이닝은 뉴럴 네트워크(NN)가 적용되는 장치, 예컨대 이미지 센서의 제조 단계에서, 컴퓨팅 장치를 통해 수행될 수 있으며, 예컨대 컴퓨팅 장치는 프로세서 및 메모리를 포함할 수 있다. 메모리는 트레이닝 데이터, 예컨대 제1 트레이닝 데이터(TD1) 및 제2 트레이닝 데이터(TD2), 및 가중치들을 저장할 수 있다. 프로세서는 트레이닝 데이터를 기초로 연산 및 검증을 수행함으로써, 초기 뉴럴 네트워크(NNINI), 및 제1 뉴럴 네트워크(NN1)를 트레이닝할 수 있다.
도 8a 및 도 8b는 본 개시의 예시적 실시예에 따른 배드 픽셀 보정부의 동작을 나타낸다. 도 8a는 입력 데이터가 제1 패턴의 배드 픽셀을 포함하는 경우의 배드 픽셀 보정부의 동작을 나타내고, 도 8b는 입력 데이터가 제2 패턴의 배드 픽셀을 포함하는 경우의 배드 픽셀 보정부의 동작을 나타낸다.
도 8a를 참조하면, 제1 입력 데이터(DTin1)는 대상 픽셀 그룹(PG_T) 내에서 왼쪽에 배치되는 클러스터 배드 픽셀(CBP) 및 오른쪽에 랜덤하게 발생하는 하나 이상의 제1 배드 픽셀(BP1)을 포함할 수 있다. 도 8a에 도시된 바와 같이, 대상 픽셀 그룹(PG_T) 내에서 복수의 배드 픽셀(BP)은 제1 패턴으로 배치될 수 있다.
뉴럴 네트워크(NN)는 제1 패턴의 배드 픽셀(BP)을 포함하는 케이스에 대하여 트레이닝된 딥 뉴럴 모델을 포함할 수 있다. 제1 입력 데이터(DTin1)가 뉴럴 네트워크(NN)로 입력되고, 뉴럴 네트워크(NN)는 제1 입력 데이터(DTin1)를 처리하여 보정된 픽셀 데이터(PDTc)를 생성할 수 있다.
보정된 픽셀 데이터(PDTc)는 클러스터 배드 픽셀(CBP)의 배드 픽셀들 및 제1 배드 픽셀(BP1) 각각에 대응하는 보정된 픽셀 값들(PVc)을 포함할 수 있다. 보정된 픽셀 데이터(PDTc)는 클러스터 배드 픽셀(CBP) 및 제1 배드 픽셀(BP1)을 대체할 수 있다.
도 8b를 참조하면, 제2 입력 데이터(DTin1)는 대상 픽셀 그룹(PG_T) 내에서 왼쪽에 배치되는 클러스터 배드 픽셀(CBP) 및 오른쪽에 랜덤하게 발생하는 하나 이상의 제1 배드 픽셀(BP1)을 포함할 수 있다. 도 8b에 도시된 바와 같이, 제2 입력 데이터(DTin2)의 대상 픽셀 그룹(PG_T) 내에서 복수의 배드 픽셀(BP)은 제2 패턴으로 배치될 수 있으며, 제2 패턴은 도 8a의 제1 패턴과 대칭일 수 있다. 예컨대, 대상 픽셀 그룹(PG_T) 내에서, 제2 패턴은 도 8a의 제1 패턴과 상하 대칭일 수 있다.
뉴럴 네트워크(NN)가 제1 패턴의 배드 픽셀을 보정하도록 트레이닝된 딥 러닝 모델을 포함하며, 제2 패턴의 배드 픽셀에 대하여는 학습되지 않았다. 따라서, 제2 입력 데이터(DTin2)가 뉴럴 네트워크(NN)에 입력될 경우, 정확한 보정된 픽셀 데이터(PDTc)가 생성될 수 없다.
배드 픽셀 보정부(20)는 제2 입력 데이터(DTin2)를 상하 반전(flip)하여 제3 입력 데이터(DTin3)를 생성할 수 있다. 도시된 바와 같이, 제3 입력 데이터(DTin3)은 제1 패턴의 복수의 배드 픽셀(BP)을 포함할 수 있다.
제3 입력 데이터(DTin3)가 뉴럴 네트워크(NN)로 입력되고, 뉴럴 네트워크(NN)는 제3 입력 데이터(DTi3n)를 처리하여 보정된 픽셀 데이터(PDTc)를 생성할 수 있다.
배드 픽셀 보정부(20)는 보정된 픽셀 데이터(PDTc)를 상하 반전하여 반전된 픽셀 데이터(PDTf)를 생성할 수 있다. 반전된 픽셀 데이터(PDTf)는 제2 입력 데이터(DTin2)의 클러스터 배드 픽셀(CBP)에 포함되는 배드 픽셀들(BP) 및 제1 배드 픽셀(BP1)에 대응될 수 있다. 반전된 픽셀 데이터(PDTf)에 포함되는 보정된 픽셀 값들이 클러스터 배드 픽셀(CBP)에 포함되는 배드 픽셀들(BP) 및 제1 배드 픽셀(BP1)의 픽셀 값으로서 적용될 수 있다.
도 8a 및 도 8b는 배드 픽셀들의 패턴들이 상하 대칭인 경우를 가정하여 설명하였다. 그러나, 이에 제한되는 것은 아니며, 배드 픽셀들의 제1 패턴 및 제2 패턴이 좌우 대칭인 경우도 입력 데이터 반전 방식으로 하나의 패턴에 대하여 학습된 뉴럴 네트워크가 제1 패턴 및 제2 패턴의 입력 데이터에 대하여 배드 픽셀 보상을 수행할 수 있다. 이에 따라 도 6 및 도 7을 참조하여 설명한 바와 같이, 뉴럴 네트워크의 뉴럴 네트워크의 트레이닝량 및 트레이닝에 소요되는 시간이 감소될 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 배드 픽셀 보정부(20)를 개략적으로 나타내는 블록도이다. 설명의 편의를 위하여 배드 픽셀 검출기(10)를 함께 도시한다.
도 9를 참조하면, 배드 픽셀 보정부(20)는 전-처리기(21), 및 뉴럴 네트워크 프로세서(NNP)를 포함할 수 있다. 뉴럴 네트워크 프로세서(NNP)(22)는 뉴럴 네트워크를 기초로 배드 픽셀 보상을 수행할 수 있다.
전-처리기(21)는 배드 픽셀을 포함하는 이미지 데이터로부터 배드 픽셀을 포함하는 입력 데이터(DTin)를 생성할 수 있다. 전술한 바와 같이, 입력 데이터(DTin)는 배드 픽셀을 포함하는 대상 픽셀 그룹 및 주변 픽셀 그룹을 포함할 수 있다. 실시예에 있어서, 전-처리기(21)는 배드 픽셀이 제2 패턴일 경우, 입력 데이터(DTin)를 반전하여 반전된 입력 데이터를 생성하거나, 배드 픽셀을 포함하는 대상 픽셀 그룹 및 주변 픽셀 그룹을 포함하는 일부 이미지 데이터를 반전(상하 반전 또는 좌우 반전)하여 제1 패턴의 배드 픽셀을 포함하는 입력 데이터(DTin)를 생성할 수 있다.
또한, 전-처리기(21)는 배드 픽셀의 위치를 나타내는 위치 정보(예컨대 배드 픽셀 맵)를 인코딩하여 위치 데이터(PD)를 생성할 수 있다. 전-처리기(21)는 배드 픽셀이 제2 패턴일 경우, 반전된 입력 데이터를 기초로 위치 데이터(PD)를 생성할 수 있다. 전-처리기(21)는 입력 데이터(DTin) 및 위치 데이터(PD)를 NNP(22)에 제공할 수 있다.
NNP(20)는 입력 데이터(DTin) 및 위치 데이터(PD)를 기초로 뉴럴 네트워크(NN)를 이용하여 배드 픽셀 보정을 수행할 수 있다. NNP(20)는 입력 데이터(DTin)를 뉴럴 네트워크(NN)의 복수의 레이어 중 입력 레이어에 입력할 수 있으며, 위치 데이터(PD)를 뉴럴 네트워크(NN)의 복수의 레이어들 중 하나의 레이어, 예컨대 중간 레이어에 입력할 수 있다. 예를 들어 중간 레이어는 풀리 커넥티드 레이어일 수 있다.
실시예에 있어서, 배드 픽셀 검출기(10)는 이미지 데이터(IDT)에서 배드 픽셀 및 배드 픽셀의 유형(또는 패턴을) 검출하고, 배드 픽셀에 대한 정보를 배드 픽셀 보정부(20)에 제공할 수 있다. 전-처리기(21)는 배드 픽셀 검출기(10)로부터 제공되는 배드 픽셀의 위치 정보를 기초로 입력 데이터(Dtin) 및 위치 데이터(PD)를 생성할 수 있다. 실시예에 있어서, 전-처리기(21)는 배드 픽셀 검출기(10)로부터 제공되는 배드 픽셀의 패턴을 기초로 입력 데이터(DTin)를 반전시킬 수 있다. 그러나, 이에 제한되는 것은 아니며, 전-처리기(21)는 배드 픽셀을 포함하는 입력 데이터(DTin)를 생성하고, 입력 데이터(DTin)로부터 배드 픽셀의 패턴을 검출하고, 검출된 패턴을 기초로 입력 데이터(DTin)를 반전시킬 수 있다.
실시예에 있어서, 뉴럴 네트워크는 픽셀의 컬러에 대응하는 복수의 네트워크, 예컨대 제1 네트워크 및 제2 네트워크를 포함할 수 있다. 예를 들어, 제1 네트워크(22)는 그린 채널에 대응하고 제2 네트워크(23)는 넌-그린 채널에 대응할 수 있다. 예를 들어, 제1 네트워크(22)는 제1 그린 채널(또는 제2 그린 채널)에 배드 픽셀이 발생하는 케이스를 기초로 트레이닝된 딥 러닝 모델을 포함하고, 제2 네트워크(23)는 레드 채널(또는 블루 채널)에 배드 픽셀이 발생하는 케이스를 기초로 트레이닝된 딥 러닝 모델을 포함할 수 있다. 그러나, 이에 제한되는 것은 아니며, 뉴럴 네트워크는 제1 그린 채널, 제2 그린 채널, 레드 채널 및 블루 채널 각각에 대응하는 4개의 네트워크를 포함할 수도 있다. NNP(22)(또는 전-처리기(21)는 입력 데이터(DTin) 및 위치 데이터(PD)를 배드 픽셀이 발생한 채널에 대응하는 네트워크에 제공할 수 있다.
도 10은 본 개시의 예시적 실시예에 다른 이미지 처리 프로세서의 일 구현예를 나타낸다.
도 10을 참조하면, 이미지 처리 프로세서(130a)는 배드 픽셀 검출기(10), 보정 모듈(50), 비닝 모듈(60) 및 리모자익(remosaic)) 모듈(70)을 포함할 수 있다. 보정 모듈(50)은 스태틱 배드 픽셀 보정부(20a), 다이나믹 배드 픽셀 보정부(20b), 병합기(25)를 포함할 수 있다.
배드 픽셀 검출기(10)는 수신된 이미지 데이터(IDT)로부터 배드 픽셀을 검출하고, 배드 픽셀의 유형, 예컨대 스태틱 배드 픽셀인지, 다이나믹 배드 픽셀인지, 스태틱 배드 픽셀 중 제1 클러스터 배드 픽셀을 포함하는지 등을 검출할 수 있다. 또한, 배드 픽셀 검출기(20)는 스태틱 배드 픽셀의 위치, 패턴 및/또는 컬러 채널을 검출할 수 있다. 배드 픽셀 검출기(10)는 스태틱 배드 픽셀의 유형, 위치, 패턴 및/또는 컬러 채널을 포함하는 배드 픽셀 정보를 생성할 수 있다.
배드 픽셀 검출기(10)에서 스태틱 배드 픽셀이 검출된 경우, 이미지 데이터(IDT)(또는 이미지 데이터 중 스태틱 배드 픽셀을 포함하는 일부)가 스태틱 배드 픽셀 보정부(20a)(이하 스태틱 BPC 라고 함)로 제공될 수 있다. 실시예에 있어서, 배드 픽셀 검출기(10)에서 생성된 배드 픽셀 정보가 이미지 데이터(IDT)와 함께 배드 픽셀 보정부(20a)로 제공될 수 있다.
도 1 내지 도 9를 참조하여 설명한 배드 픽셀 보정부(20)가 스태틱 BPC(20a)로서 적용될 수 있다. 스태틱 BPC (20a)는 딥 러닝 기반으로 배드 픽셀을 보정할 수 있으며, 이 때, 배드 픽셀의 위치 정보를 인코딩하여 위치 데이터를 생성하고, 위치 데이터를 뉴럴 네트워크의 한 레이어에 제공할 수 있다. 스태틱 BPC (20a)는 배드 픽셀이 제2 패턴이고 뉴럴 네트워크가 제1 패턴에 대하여 트레이닝된 경우, 배드 픽셀을 포함하는 입력 데이터를 반전(상하 또는 좌우 반전)하고 반전된 입력 데이터를 뉴럴 네트워크에 입력할 수 있다.
배드 픽셀 검출기(10)에서 다이나믹 배드 픽셀이 검출된 경우, 이미지 데이터(IDT)(또는 이미지 데이터 중 스태틱 배드 픽셀을 포함하는 일부)가 다이나믹 배드 픽셀 보정부(20b)(이하 다이나믹 BPC 라고 함)로 제공될 수 있다. 다이나믹 BPC(30)는 이미지 데이터(IDT)에 랜덤하게 발생하는 배드 픽셀을 보정할 수 있다. 다시 말해서 랜덤 배드 픽셀에 대응하는 픽셀 데이터를 생성할 수 있다.
병합기(25)는 스태틱 BPC (20a) 및 다이나믹 BPC(20b)로부터 수신되는 부분 이미지 데이터들을 하나의 보정된 이미지 데이터로 병합할 수 있다. 병합기(25)는 이미지 데이터(IDT)의 스태틱 배드 픽셀을 스태틱 배드 픽셀 보정부(20a)로부터 출력되는 보정된 픽셀 데이터로 대체하고, 이미지 데이터(IDT)의 다이나믹 배드 픽셀을 다이나믹 배드 픽셀 보정부(20b)로부터 출력되는 보정된 픽셀 데이터로 대체할 수 있다. 이에 따라서, 배드 픽셀이 보정된 이미지 데이터가 생성될 수 있다.
실시예에 있어서 보정 모듈(50)은 다른 종류의 보정을 수행하는 구성을 더 포함할 수 있다. 예컨대 보정 모듈(50)은 디노이저(denoiser)를 더 포함하고, 이미지 데이터(IDT)에서 노이즈를 제거할 수도 있다.
비닝 모듈(60)은 수신되는 이미지 데이터, 예컨대 보정된 이미지 데이터(IDTc)를 비닝하여 이미지 데이터의 해상도를 줄일 수 있다. 비닝 모듈(60)은 다양한 방식으로 입력되는 이미지 데이터의 해상도를 줄일 수 있다.
리모자익 모듈(70)(또는 베이어 변환기라고 함)은 입력되는 이미지 데이터를 베이어 패턴으로 변환할 수 있다. 전술한 바와 같이 리드아웃 회로(도 1의 120)로부터 출력되는 이미지 데이터(IDT)는 슈퍼 베이어 패턴을 포함할 수 있다. 따라서, 리모자익 모듈(70)에 수신되는 이미지 데이터, 예컨대 보정된 이미지 데이터 또는 보정 후 해상도가 감소된 이미지 데이터 또한 슈퍼 베이어 패턴을 포함할 수 있다. 리모자익 모듈(70)은 슈퍼 베이어 패턴을 포함하는 입력되는 이미지 데이터에 대하여 리모자익 처리를 수행함하여, 베이어 패턴을 포함하는 이미지 데이터로 변경할 수 있다. 이에 따라, 베이어 패턴의 이미지 데이터(bayer IDT)가 생성될 수 있다. 베이어 패턴의 이미지 데이터(bayer IDT)에 추가로 이미지 처리가 수행되거나 또는 압축되어 외부 프로세서로 전송될 수 있다.
실시예에 있어서, 비닝 모듈(60) 및/또는 리모자익 모듈(70)은 외부 프로세서에 구비될 수 있다. 이에 따라서, 보정 모듈(50)로부터 출력되는 보정된 이미지 데이터가 외부 프로세서로 제공될 수도 있다.
도 11은 본 개시의 예시적 실시예에 따른 이미지 센서의 동작을 나타내는 흐름도이다. 도 1 내지 도 10을 참조하여 전술한 내용은 본 실시예에 적용될 수 있다.
도 11을 참조하면, 이미지 센서(도 1의 100)는 수신되는 광 신호를 기초로 이미지 데이터를 생성할 수 있다(S11). 픽셀 어레이(110)는 수신되는 광 신호를 전기적 신호들로 변환하고, 리드아웃 회로(120)는 전기적 신호들을 아날로그-디지털 변환하여 이미지 데이터를 생성할 수 있다.
이미지 센서(100)는 이미지 데이터에 발생하는 배드 픽셀을 검추할 수 있다(S120). 배드 픽셀 검출기(도 1의 10)가 이미지 데이터에 발생하는 배드 픽셀을 검출할 수 있다. 배드 픽셀 검출기(10)는 배드 픽셀이 스태틱 배드 픽셀인지 또는 랜덤 배드 픽셀인지 검출할 수 있으며, 배드 픽셀의 유형, 패턴, 배드 픽셀의 위치를 검출할 수 있다. 픽셀 검출기(10)는 검출된 정보를 배드 픽셀 정보로서 생성할 수 있다.
이미지 센서(100)는 배드 픽셀을 포함하는 입력 데이터를 생성할 수 있다(S130). 배드 픽셀 보정부(도 1의 20)가 이미지 데이터를 기초로 배드 픽셀을 포함하는 대상 픽셀 그룹 및 주변 픽셀 그룹들을 포함하는 입력 데이터를 생성할 수 있다. 대상 픽셀 그룹은 입력 데이터의 중앙에 위치할 수 있다. 실시예에 있어서, 후술될 뉴럴 네트워크가 제1 패턴의 배드 픽셀에 대하여 트레이닝되고, 입력 데이터가 제1 패턴에 대칭인 제2 패턴의 배드 픽셀을 포함할 경우, 배드 픽셀 보정부(20)는 입력 데이터를 반전(좌우 또는 상하 반전)하고 반전된 입력 데이터를 생성할 수 있다. 반전된 입력 데이터는 제1 패턴의 배드 픽셀을 포함할 수 있다.
이미지 센서(100)는 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 인코딩 데이터, 다시 말해서 위치 데이터를 생성할 수 있다(S140). 위치 데이터는 복수의 비트를 포함할 수 있으며, 복수의 비트는 대응하는 픽셀들 각각이 배드 픽셀인지 또는 노멀 픽셀인지를 나타내는 플래그 값을 포함할 수 있다.
이미지 센서(100)는 입력 데이터 및 위치 데이터를 기초로 뉴럴 네트워크를 이용하여 배드 픽셀 보정 처리를 수행할 수 있다(S150). 배드 픽셀 보정부(20)는 입력 데이터를 뉴럴 네트워크의 입력 레이어에 입력하고, 위치 데이터를 뉴럴 네트워크의 한 레이어, 예컨대 중간 레이어에 바로 입력할 수 있다. 뉴럴 네트워크는 입력 데이터 및 위치 데이터를 기초로 보정된 픽셀 값을 포함하는 보정된 픽셀 데이터를 생성함으로써, 배드 픽셀 보정을 수행할 수 있다. 보정된 픽셀 데이터에 포함된 보정된 픽셀 값은 배드 픽셀의 픽셀 값으로서 적용될 수 있다. 이에 따라 뉴럴 네트워크를 기반으로 이미지 데이터의 배드 픽셀이 보정될 수 있다.
도 12는 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 12를 참조하면, 이미지 처리 장치(1000)(또는 촬상 장치)는 이미지 센서(1100), 이미지 신호 프로세서(1200) 및 어플리케이션 프로세서(1300)를 포함할 수 있다. 이미지 센서(1000)는 픽셀 어레이 및 리드아웃 회로를 포함할 수 있으며, 원본 이미지 데이터를 제1 이미지 데이터(IDT1)로서 출력할 수 있다.
도 1 내지 도 10을 참조하여 전술한 배드 픽셀 보정부(도 1의 20) 및 이를 포함하는 이미지 신호 프로세서(도 1의 130)가 이미지 신호 프로세서(1200)에 적용될 수 있다. 이미지 신호 프로세서(1200)는 제1 이미지 데이터(IDT)에 대하여 뉴럴 네트워크 기반의 배드 픽셀 보정을 수행하여 제2 이미지 데이터(IDT2)를 생성할 수 있다.
어플리케이션 프로세서(1300)는 수신된 제2 이미지 데이터(IDT2)를 기초로 추가 동작을 수행할 수 있다. 실시예에 있어서, 어플리케이션 프로세서(1300)는 이미지 신호 프로세서(1200)보다 상위 레벨의 이미지 처리를 수행하는 이미지 처리 회로를 포함할 수 있으며, 이미지 처리 회로는 제2 이미지 데이터(IDT2)에 대하여 이미지 처리를 수행할 수 있다. 예컨대 이미지 처리 회로는 제2 이미지 데이터(IDT2)의 데이터 포맷을 변경하거나, 선명도를 조정하거나 콘트라스트 조정하거나또는 제2 이미지 데이터(IDT2)의 사이즈를 조정할 수 있다. 다른 예로서, 이미지 처리 회로는 휘도가 상이한 복수의 제2 이미지 데이터(IDT2)에 대하여 HDR(high dynamic range) 처리를 수행하여 다이나믹 레인지가 증가된 HDR 이미지를 생성할 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 13을 참조하면, 이미지 처리 장치(2000)는 이미지 센서(2100) 및 어플리케이션 프로세서(2200)를 포함할 수 있다. 어플리케이션 프로세서(2200)는 제1 이미지 신호 프로세서(2210) 및 제2 이미지 신호 프로세서(2220)를 포함할 수 있다.
제1 이미지 신호 프로세서(2210)는 이미지 센서(2100)로부터 제1 이미지 데이터(IDT)를 수신하고, 제1 이미지 데이터(IDT1)에 대하여, 배드 픽셀 보정, 노이즈 제거 등의 이미지 처리를 수행할 수 있다. 도 1 내지 도 10을 참조하여 전술한 배드 픽셀 보정부(도 1의 20) 및 이미지 신호 프로세서(도 1의 130)가 제1 이미지 신호 프로세서(2210)에 적용될 수 있다. 제1 이미지 신호 프로세서(2210)는 이미지 센서(2100)로부터 제1 이미지 데이터(IDT)를 수신하고, 제1 이미지 데이터(IDT)에 대하여 뉴럴 네트워크 기반의 배드 픽셀 보정을 수행할 수 있다.
제2 이미지 신호 프로세서(2220)는 제1 이미지 신호 프로세서(2210)보다 상위 레벨의 이미지 처리를 수행할 수 있다. 예를 들어, 제2 이미지 신호 프로세서(2210)는 제2 이미지 데이터(IDT)에 대하여 색좌표 변경, 밝기 조정, 선명도 조정, 콘트라스트 조정, HDR 처리 등의 이미지 처리를 수행할 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 이미지 센서를 포함하는 전자 장치를 나타내는 블록도이다. 도 14의 전자 장치(3000)는 휴대용 단말기일 수 있다.
도 14를 참조하면, 전자 장치(3000)는 메인 프로세서(3100), 이미지 센서(3200), 디스플레이 장치(3600), 워킹 메모리(3300), 스토리지(3400), 유저 인터페이스(3700) 및 무선 송수신부(3500)를 포함할 수 있다.
메인 프로세서(3100)는 전자 장치(3000)의 전반적인 동작을 제어하며 응용 프로그램, 운영 체제 등을 구동하는 시스템 온 칩(SoC)으로 구현될 수 있다. 메인 프로세서(3100)는 이미지 센서(3200)로부터 제공되는 이미지 데이터를 디스플레이 장치(3600)에 제공하거나 또는 스토리지(3400)에 저장할 수 있다. 실시예에 있어서 메인 프로세서(3100)는 이미지 처리 회로를 구비할 수 있으며, 이미지 센서(3200)로부터 수신되는 이미지 데이터에 대하여, 화질 조정, 데이터 포맷 변경 등의 이미지 처리를 수행할 수 있다.
도 1 내지 도 11을 참조하여 설명한 이미지 센서(100)가 이미지 센서(3200)로서 적용될 수 있다. 이미지 센서(3200)는 딥러닝 기반의 배드 픽셀 보정부(3210)(DLBPC)를 포함할 수 있다. 배드 픽셀 보정부(3210)는 이미지 데이터의 고정된 위치에 발생하는 배드 픽셀에 대하여 딥 러닝 기반의 배드 픽셀 보정을 수행할 수 있다. 배드 픽셀 보정부(3210)는 경령화된 뉴럴 네트워크를 포함하며, 배드 픽셀을 포함하는 입력 데이터를 그대로 또는 반전하여 뉴럴 네트워크에 입력하여, 실시간으로 클러스터 배드 픽셀을 보정할 수 있다.
워킹 메모리(3300)는 DRAM(Dynamic Random Access Memory), SRMA(Static RAM) 등의 휘발성 메모리 또는 FeRAM(Ferroelectric RAM), RRAM(Resistive RAM), PRAM (Phase-change RAM) 등의 비휘발성의 저항성 메모리로 구현될 수 있다. 워킹 메모리(3300)는 메인 프로세서(3100)가 처리 또는 실행하는 프로그램들 및/또는 데이터를 저장할 수 있다.
스토리지(3400)는 NADN 플래시, 저항성 메모리 등의 비휘발성 메모리 장치로 구현될 수 있으며, 예컨대 스토리지(3400)는 MMC(Multi-Media Card), eMMC(embedded MMC), SD(Secure Digital) 카드 micro SD 카드 등과 같은 메모리 카드로서 제공될 수 있다. 스토리지(3400)는 이미지 센서(3200)로부터 제공되는 이미지 데이터를 저장할 수 있다.
유저 인터페이스(3700)는 키보드, 커튼 키 패널, 터치 패널, 지문 센서, 마이크 등 사용자 입력을 수신할 수 있는 다양한 장치들로 구현될 수 있다. 유저 인터페이스(3700)는 사용자 입력을 수신하고, 수신된 사용자 입력에 대응하는 신호를 메인 프로세서(3100)에 제공할 수 있다.
무선 송수신부(3500)는 트랜시버(3510), 모뎀(3520) 및 안테나(3530)를 포함할 수 있다. 무선 송수신부(3500)는 외부 장치와 무선 통신을 통해 데이터를 수신하거나 또는 데이터를 송신할 수 있다.
이상, 도면들을 참조하여, 본 개시의 다양한 실시예를 설명하였다. 한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 개시의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 개시의 특허청구범위와 균등한 것들에 의해 정해질 수 있다.
100: 이미지 센서
110: 픽셀 어레이
120: 리드아웃 회로
130: 이미지 신호 프로세서
10: 배드 픽셀 검출기
20: 배드 픽셀 보정부

Claims (20)

  1. 수신되는 광 신호를 전기적 신호로 변환하는 복수의 센싱 픽셀을 포함하는 픽셀 어레이;
    상기 전기적 신호들을 이미지 데이터로 변환하고, 상기 이미지 데이터를 출력하는 리드아웃 회로; 및
    상기 이미지 데이터의 제1 픽셀 그룹에 발생한 배드 픽셀들을 뉴럴 네트워크를 기반으로 보정하며, 상기 배드 픽셀들 중 적어도 하나의 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 위치 데이터를 생성하고, 위치 데이터를 상기 뉴럴 네트워크에 포함되는 복수의 레이어 중 제1 중간 레이어에 제공하는 이미지 신호 프로세서를 포함하는, 이미지 센서.
  2. 제1 항에 있어서, 상기 이미지 신호 프로세서는,
    상기 제1 중간 레이어 이전의 레이어의 출력 및 상기 위치 데이터를 상기 제1 중간 레이어의 입력으로서 제공하는 것을 특징으로 하는, 이미지 센서.
  3. 제1 항에 있어서,
    상기 제1 중간 레이어는 풀리 커넥티드 레이어를 포함하는 것을 특징으로 하는, 이미지 센서
  4. 제1 항에 있어서,
    이미지 데이터는 각각이 동일한 컬러의 N×N 행렬로 배치된 픽셀들(N은 2 이상의 정수)을 포함하는 복수의 픽셀 그룹을 포함하고,
    상기 배드 픽셀들은 적어도 하나의 제1 배드 픽셀 및 M×K 행렬로 배치된 제2 배드 픽셀들(M은 2 이상이고 N 보다 작거나 같은 정수, K는 1이상이고 N 보다 작은 정수)을 포함하며,
    상기 위치 정보는 상기 적어도 하나의 제1 배드 픽셀의 위치를 나타내는 것을 특징으로 하는, 이미지 센서.
  5. 제4 항에 있어서, 상기 위치 데이터는,
    상기 제1 픽셀 그룹의 N×N 행렬로 배치된 픽셀들 중 상기 M×K 행렬의 제2 배드 픽셀들을 제외한 상기 적어도 하나의 배드 픽셀을 포함하는 N ×(N-K) 행렬로 배치된 픽셀들에 대응하는 N ×(N-K) 개의 비트들을 포함하는 것을 특징으로 하는, 이미지 센서.
  6. 제5 항에 있어서, 상기 N ×(N-K) 개의 비트들 각각은,
    대응하는 픽셀이 배드 픽셀인지 여부를 나타내는 1비트 플래그를 포함하는 것을 특징으로 하는, 이미지 센서.
  7. 제4 항에 있어서, 상기 위치 데이터는,
    상기 N×N 행렬로 배치된 픽셀들 각각에 대응하는 N×N 개의 비트들을 포함하는 것을 특징으로 하는, 이미지 센서.
  8. 제1 항에 있어서, 상기 이미지 신호 프로세서는,
    상기 제1 픽셀 그룹 및 상기 제1 픽셀 그룹의 주변에 위치하는 픽셀 그룹들을 포함하는 입력 데이터를 생성하고, 상기 입력 데이터를 상기 뉴럴 네트워크를 기반으로 처리함으로써, 상기 제1 픽셀 그룹에 발생한 상기 배드 픽셀들을 보정하는 것을 특징으로 하는, 이미지 센서.
  9. 제8 항에 있어서, 상기 이미지 신호 프로세서는,
    상기 적어도 하나의 배드 픽셀이 상기 제1 픽셀 그룹의 N×N 행렬로 배치된 픽셀들 중 제1 방향에 위치할 경우, 상기 입력 데이터를 반전하여 상기 적어도 하나의 배드 픽셀이 상기 제1 방향에 대칭되는 제2 방향에 위치하는 반전 입력 데이터를 생성하고, 상기 반전 입력 데이터를 상기 뉴럴 네트워크를 기반으로 처리 하는 것을 특징으로 하는, 이미지 센서.
  10. 제9 항에 있어서, 상기 이미지 신호 프로세서는,
    상기 반전 입력 데이터를 기초로 상기 적어도 하나의 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 상기 위치 데이터를 생성하는 것을 특징으로 하는, 이미지 센서.
  11. 이미지 데이터의 배드 픽셀을 보정하는 이미지 신호 프로세서 있어서,
    상기 이미지 데이터로부터 복수의 배드 픽셀들을 포함하는 입력 이미지 데이터를 생성하고, 상기 복수의 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여 복수의 비트를 포함하는 인코딩 데이터를 생성하는 전-처리부(post-processor); 및
    상기 입력 이미지 데이터 및 상기 인코딩 데이터를 기초로 뉴럴 네트워크 기반의 배드 픽셀 보정을 수행하는 뉴럴 네트워크 프로세서를 포함하는, 이미지 신호 프로세서.
  12. 제11 항에 있어서, 상기 전-처리부는,
    상기 인코딩 데이터를 상기 뉴럴 네트워크에 포함되는 복수의 레이어 중, 중간 레이어에 직접 입력하는 것을 특징으로 하는, 이미지 신호 프로세서.
  13. 제12 항에 있어서,
    상기 이미지 데이터는 각각이 동일한 컬러의 N×N 행렬의 픽셀들을 포함하는 복수의 픽셀 그룹을 포함하고,
    상기 입력 이미지 데이터는, 상기 복수의 픽셀 그룹 중 상기 복수의 배드 픽셀들을 포함하는 대상 픽셀 그룹 및 상기 대상 픽셀 그룹의 주변 픽셀 그룹들을 포함하는 것을 특징으로 하는, 이미지 신호 프로세서.
  14. 제13 항에 있어서,
    상기 인코딩 데이터는 상기 복수의 픽셀 그룹 중 상기 복수의 배드 픽셀들을 포함하는 대상 픽셀 그룹 내의 상기 N×N 행렬의 픽셀들(N은 2 이상의 정수) 각각에 대응하는 N×N 개의 비트들을 포함하며, N×N 개의 비트들 각각은 대응하는 픽셀이 배드 픽셀인지 여부를 나타내는 것을 특징으로 하는, 이미지 신호 프로세서.
  15. 제13 항에 있어서,
    상기 복수의 배드 픽셀들은, 적어도 하나의 제1 배드 픽셀 및 M×K 행렬로 배치된 제2 배드 픽셀들(M은 2 이상이고 N 보다 작거나 같은 정수, K는 1이상이고 N 보다 작은 정수)을 포함하며,
    상기 전-처리부는, 상기 적어도 하나의 제1 배드 픽셀의 위치 정보를 인코딩하여 상기 인코딩 데이터를 생성하는 것을 특징으로 하는, 이미지 신호 프로세서.
  16. 제15 항에 있어서, 상기 뉴럴 네트워크는,
    적어도 하나의 컨볼루션 레이어, 및 적어도 하나의 풀리 커넥티드 레이어를 포함하며,
    상기 중간 레이어는 풀리 커넥티드 레이어를 포함하는 것을 특징으로 하는, 이미지신호 프로세서.
  17. 제13 항에 있어서, 상기 전-처리부는,
    상기 복수의 배드 픽셀이 상기 대상 픽셀 그룹 내에서 제1 패턴으로 배치될 경우, 상기 입력 데이터를 반전하여 반전 입력 이미지 데이터를 생성하고, 상기 반전 입력 이미지 데이터를 상기 뉴럴 네트워크에 제공하며,
    상기 뉴럴 네트워크는 상기 대상 그룹 내에서 상기 제1 패턴에 대칭되는 제2 패턴으로 상기 복수의 배드 픽셀이 배치되는 트레이닝 데이터를 기초로 상기 배드 픽셀 보정을 수행하도록 트레이닝된 것을 특징으로 하는, 이미지 신호 프로세서.
  18. 뉴럴 네트워크 기반으로 복수의 배드 픽셀을 보정하는 이미지 센서의 동작 방법에 있어서,
    수신되는 광 신호를 기초로 이미지 데이터를 생성하는 단계;
    상기 이미지 데이터에 발생하는 배드 픽셀을 검출하는 단계;
    상기 배드 픽셀을 포함하는 대상 픽셀 그룹 및 상기 대상 픽셀 그룹의 주변에 위치하는 주변 픽셀 그룹들을 포함하는 입력 이미지 데이터를 생성하는 단계;
    상기 입력 이미지 데이터의 상기 대상 픽셀 그룹 내에서, 상기 배드 픽셀의 위치를 나타내는 위치 정보를 인코딩하여, 위치 데이터를 생성하는 단계; 및
    상기 입력 이미지 데이터 및 상기 위치 데이터를 기초로 상기 배드 픽셀을 보정하도록 트레이닝된 뉴럴 네트워크를 이용하여 배드 픽셀 보정 처리를 수행하는 단계를 포함하는, 이미지 센서의 동작 방법.
  19. 제18 항에 있어서,
    상기 대상 픽셀 그룹은 동일한 컬러의 N×N 행렬의 픽셀들을 포함하며,
    상기 위치 데이터는 상기 N×N 행렬의 픽셀들 각각에 대응하는 N×N개의 비트들을 포함하는 것을 특징으로 하는, 이미지 센서의 동작 방법.
  20. 제18 항에 있어서,
    상기 배드 픽셀이 상기 대상 픽셀 그룹 내에서 제1 패턴으로 배치될 경우, 상기 대상 픽셀 그룹 및 상기 주변 픽셀 그룹을 포함하는 부분 이미지 데이터를 생성하고, 상기 부분 이미지 데이터를 반전하여 상기 입력 이미지 데이터를 생성하는 것을 특징으로 하는, 이미지 센서의 동작 방법.
KR1020220149838A 2022-11-10 2022-11-10 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법 KR20240068414A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/388,019 US20240163578A1 (en) 2022-11-10 2023-11-08 Image signal processor, image sensor, and operating method of the image sensor
CN202311491349.5A CN118018871A (zh) 2022-11-10 2023-11-10 图像信号处理器、图像传感器和图像传感器的操作方法

Publications (1)

Publication Number Publication Date
KR20240068414A true KR20240068414A (ko) 2024-05-17

Family

ID=

Similar Documents

Publication Publication Date Title
US11263782B2 (en) Image signal processor for processing images
JP5918915B2 (ja) カラーフィルタを有するセンサを用いて、改善されたカラー画像を作成するための方法およびデバイス
CA3075544A1 (en) Image signal processor for processing images
US9824417B2 (en) Image signal processor for generating depth map from phase detection pixels and device having the same
US20190139189A1 (en) Image remosaicing
US20200228709A1 (en) Method for processing image signal, image signal processor, and image sensor chip
CN112149793A (zh) 人工神经网络模型和包括人工神经网络模型的电子设备
KR20150063010A (ko) 플렌옵틱 카메라로 취득된 장면의 뷰와 연관된 시차를 추정하기 위한 방법 및 디바이스
US11838651B2 (en) Image processing apparatus including neural network processor and method of operating the same
US20080124001A1 (en) Apparatus and method for shift invariant differential (SID) image data interpolation in non-fully populated shift invariant matrix
US20220366588A1 (en) Electronic device for generating depth information of region of interest and operation method thereof
KR20240068414A (ko) 이미지 신호 프로세서, 이미지 센서 및 이미지 센서의 동작 방법
EP4102828B1 (en) Image sensor including image signal processor and operating method of the image sensor
US20240163578A1 (en) Image signal processor, image sensor, and operating method of the image sensor
KR20240061204A (ko) 이미지 센서 및 이미지 센서의 동작 방법
US11627250B2 (en) Image compression method, encoder, and camera module including the encoder
CN111988592B (zh) 影像色彩还原与增强电路
US20220020180A1 (en) Image compression method using saturated pixel, encoder, and electronic device
US11978223B2 (en) Electronic device including processing circuit for generating depth information using luminance data and method of generating depth information
AU2009357162B2 (en) Determining color information using a binary sensor
US20230353884A1 (en) Image processing system and image processing method
US20230071368A1 (en) Image processing apparatus including pre-processor and neural network processor and operating method thereof
WO2015083499A1 (ja) 画像処理装置、該方法および該プログラム
KR20220009849A (ko) 포화 픽셀을 이용하는 이미지 압축 방법, 인코더, 및 전자 장치
KR20230034875A (ko) 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법