KR20220009854A - 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법 - Google Patents

이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법 Download PDF

Info

Publication number
KR20220009854A
KR20220009854A KR1020210029046A KR20210029046A KR20220009854A KR 20220009854 A KR20220009854 A KR 20220009854A KR 1020210029046 A KR1020210029046 A KR 1020210029046A KR 20210029046 A KR20210029046 A KR 20210029046A KR 20220009854 A KR20220009854 A KR 20220009854A
Authority
KR
South Korea
Prior art keywords
image
pixel
values
value
data
Prior art date
Application number
KR1020210029046A
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 DE102021117397.3A priority Critical patent/DE102021117397A1/de
Priority to US17/374,168 priority patent/US11818369B2/en
Priority to TW110125860A priority patent/TW202209888A/zh
Priority to JP2021116283A priority patent/JP2022019644A/ja
Priority to CN202110802290.1A priority patent/CN113949875A/zh
Publication of KR20220009854A publication Critical patent/KR20220009854A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

이미지 센서 모듈, 이미지 처리 장치 및 이미지 압축 방법이 개시된다. 본 개시의 기술적 사상에 따른 이미지 압축 방법은, 이미지 데이터 중 압축이 수행될 대상 픽셀 그룹의 픽셀 값들 및, 상기 대상 픽셀 그룹의 압축에 이용되는 참조 픽셀들의 참조 값들을 수신하는 단계, 상기 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하는 단계, 상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹의 상기 픽셀 값들을 압축하는 단계, 및 상기 가상 참조 맵에 기초한 압축 결과 및 압축 정보를 기초로 비트스트림을 생성하는 단계를 포함할 수 있다.

Description

이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법 {IMAGE SENSOR MODULE, IMAGE PROCESSING SYSTEM AND IMAGE COMPRESSION METHOD}
본 개시의 기술적 사상은 이미지 센서에 관한 것으로서, 보다 상세하게는 고립 영역의 픽셀 데이터를 압축하는 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법에 관한 것이다.
최근 고품질 및 고화질의 사진, 영상 등에 대한 요구가 커짐에 따라 이미지 센서의 픽셀 어레이의 센싱 픽셀들의 개수가 증가되고, 이에 따라 이미지 센서에서 생성되는 이미지 데이터의 사이즈가 증가되고 있다. 이미지 데이터는 이미지 처리 장치로 전송될 수 있으며, 전송 효율을 높이기 위하여 이미지 데이터가 압축되고, 압축된 이미지 데이터가 이미지 처리 장치로 전송될 수 있다. 이미지 데이터는 2차원 혹은 다차원의 다양한 이미지 패턴을 포함할 수 있다. 이미지 패턴의 특정 영역에 포함되는 픽셀 데이터를 압축함에 있어서, 압축 효율을 높이고 압축 손실이 감소될 수 있는 압축 방법이 요구된다.
본 개시의 기술적 사상은 고립 영역의 픽셀 데이터를 효율적으로 압축하는 이미지 센서 모듈, 이미지 처리 장치 및 이미지 압축 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 예시적 실시예에 따른 이미지 압축 방법은, 이미지 데이터 중 압축이 수행될 대상 픽셀 그룹의 픽셀 값들 및, 상기 대상 픽셀 그룹의 압축에 이용되는 참조 픽셀들의 참조 값들을 수신하는 단계, 상기 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하는 단계, 상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹의 상기 픽셀 값들을 압축하는 단계, 및 상기 가상 참조 맵에 기초한 압축 결과 및 압축 정보를 기초로 비트스트림을 생성하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 이미지 센서 모듈은, 복수의 픽셀들을 포함하는 이미지 데이터를 생성하는 이미지 센서, 상기 이미지 센서에서 생성된 이미지 데이터를 픽셀 그룹 단위로 순차적으로 압축하여 복수의 비트스트림을 포함하는 압축 데이터를 생성하고, 압축이 수행될 대상 픽셀 그룹을 복수의 인코딩 방식 중 적어도 하나의 인코딩 방식에 따라 압축하는 인코더 및 상기 압축 데이터를 외부의 이미지 처리 장치로 출력하는 인터페이스를 포함하고, 상기 인코더는 상기 복수의 인코딩 방식 중 제1 인코딩 방식에 따라, 대상 픽셀 그룹에 인접하게 배치된 참조 픽셀들의 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하고, 상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹을 압축할 수 있다.
본 개시의 예시적 실시예에 따른 이미지 처리 시스템은, 수신되는 광 신호를 센싱하여 이미지 데이터를 생성하는 이미지 센서, 상기 이미지 데이터의 복수의 픽셀 그룹들을 순차적으로 압축하여 복수의 비트스트림을 생성하는 인코더, 및 상기 복수의 비트스트림을 압축 해제하여 상기 이미지 데이터를 복원하는 디코더를 포함하고, 상기 인코더는 압축이 수행될 대상 픽셀 그룹에 인접하게 배치된 참조 픽셀들의 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하고, 상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹을 압축할 수 있다.
본 개시의 실시예에 따른 이미지 압축 방법, 이미지 센서 모듈 및 이미지 처리 시스템에 의하면, 이미지 데이터의 복수의 픽셀 그룹 중 압축이 수행될 픽셀 그룹의 픽셀 값들과 압축에 이용되는 참조 값들 간의 차이가 클 경우, 참조 값에 오프셋 값을 적용하여 가상 참조 맵을 생성하고, 가상 참조 맵을 기초로 대상 픽셀 그룹을 압축 하거나 또는 대상 픽셀 그룹에 대응하는 압축 데이터를 압축 해제함으로써 압축 효율을 높이면서 압축 손실을 감소시킬 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 이미지 센서 모듈에 적용되는 픽셀 어레이 및 이미지 데이터를 예시적으로 나타낸다.
도 3a 및 도 3b는 본 개시의 예시적 실시예들에 따른 인코더를 나타내는 블록도이다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 참조 맵 및 가상 참조 맵을 예시적으로 나타낸다.
도 5는 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다.
도 6a 및 도 6b는 본 개시의 예시적 실시예에 따른 비트스트림을 나타내는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다.
도 8은 본 개시의 예시적 실시예에 따른 이미지 데이터 및 가상 참조 맵을 예시적으로 나타낸다.
도 9는 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다.
도 10은 본 개시의 예시적 실시예에 따른 이미지 데이터의 압축 방법을 나타내는 흐름도이다.
도 11a 및 도 11b는 본 개시의 예시적 실시예에 따른 이미지 센서 모듈을 나타낸다.
도 12는 본 개시의 예시적인 실시예에 따른 디코더를 개략적으로 나타내는 블록도이다.
도 13은 본 개시의 예시적 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다.
도 14는 본 개시의 예시적 실시예에 따른 압축 정보를 나타내는 표이다.
도 15a는 멀티 카메라 모듈을 포함하는 전자 장치의 블록도이고, 도 15b는 도 15a의 카메라 모듈의 상세 블록도이다.
도 16은 본 개시의 예시적 실시예에 따른 전자 장치를 개략적으로 나타내는블록도이다.
이하, 첨부되는 도면들을 참조하여 본 개시의 예시적 실시예들이 상세하게설명된다.
도 1은 본 개시의 예시적 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이고, 도 2는 본 개시의 예시적 실시예에 따른 이미지 센서 모듈에 적용되는 픽셀 어레이 및 이미지 데이터를 예시적으로 나타낸다.
이미지 처리 시스템(10)은 피사체에 대한 이미지를 센싱할수 있고, 센싱된 이미지를 처리하거나 메모리에 저장할 수 있으며, 처리된 이미지를 메모리에 저장할 수 있다. 예시적인 실시예에 따르면 전자 장치(10)는 디지털 카메라, 디지털 캠코더, 모바일 폰, 또는 태블릿 컴퓨터, 또는 휴대용 전자 장치로 구현될 수 있다. 휴대용 전자 장치는, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등을 포함할 수 있다. 또한, 전자 장치(10)는 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 전자 기기 또는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로 탑재될 수 있다.
도 1을 참조하면, 이미지 처리 시스템(10)은 이미지 센서 모듈(100) 및 이미지 처리 장치(200)를 포함할 수 있다. 실시예에 있어서, 이미지 센서 모듈(100)은 이미지 센서(110), 인코더(120), 및 인터페이스(130)를 포함할 수 있다. 실시예에 있어서, 이미지 센서 모듈(100)은 복수의 반도체 칩으로 구현될 수 있다. 예를 들어, 이미지 센서(110)의 픽셀 어레이(도 2의 PXA)가 하나의 반도체 칩에 집적되고, 이미지 센서(110)의 로직 회로, 인코더(120) 및 인터페이스(130)가 다른 반도체 칩에 집적될 수 있으며, 복수의 반도체 칩이 연결 부재를 통해 전기적으로 연결되거나 또는 복수의 반도체 칩이 적층되어 관통 비아를 통해 서로 전기적으로 연결될 수 있다. 그러나, 이에 제한되는 것은 아니며, 이미지 센서 모듈(100)은 하나의 반도체 칩으로 구현될 수도 있다.
실시예에 있어서, 이미지 처리 장치(200)는 인터페이스(210), 메모리(220), 디코더(230) 및 이미지 신호 프로세서(image signal processor)(240)를 포함할 수 있다.
이미지 센서 모듈(100)은 외부의 피사체(또는 객체)를 촬영하고, 이미지 데이터(IDT)를 생성할 수 있다. 이미지 센서 모듈(100)은 렌즈(LS)를 통해 입사된 피사체의 광학적 신호를 전기적 신호로 변환할 수 있는 이미지 센서(110)를 포함할 수 있다.
이미지 센서(110)는 복수의 센싱 픽셀(도 2의 SPX)들이 2차원적으로 배열되는 픽셀 어레이(도 2의 PXA)를 포함할 수 있으며, 픽셀 어레이(PXA)의 복수의 센싱 픽셀(SPX)들 각각에 대응하는 복수의 픽셀 값을 포함하는 이미지 데이터(IDT)를 출력할 수 있다.
픽셀 어레이(PXA)는 복수의 행(row) 라인, 복수의 열(column) 라인 및 각각이 행 라인과 열 라인에 접속되며 매트릭스 형태로 배치된 복수의 센싱 픽셀(SPX)을 포함할 수 있다.
픽셀 어레이(PXA)의 복수의 센싱 픽셀(SPX)들 각각은 복수의 기준 컬러 중 적어도 하나의 컬러의 광 신호를 감지할 수 있다. 예를 들어, 복수의 기준 컬러들은 레드(red), 그린(green) , 및 블루(blue) 또는 레드, 그린, 블루 및 화이트(white) 를 포함할 수 있으며, 이 외의 다른 컬러를 포함할 수도 있다. 예를 들어, 복수의 기준 컬러들은 시안(cyan), 옐로우(yellow), 그린(green), 마젠타(magenta)를 포함할 수 있다. 픽셀 어레이(PXA)는 복수의 센싱 픽셀(SPX)들 각각의 기준 컬러에 대한 정보를 포함하는 픽셀 신호들을 생성할 수 있다.
예를 들어, 도 2에 도시된 바와 같이 픽셀 어레이(PXA)는 레드 센싱 픽셀(SPX_R), 블루 센싱 픽셀(SPX_B) 및 2 개의 그린 센싱 픽셀(SPX_Gr, SPX_Gb)을 포함할 수 있다. 레드 센싱 픽셀(SPX_R)과 동일한 행에 배치되는 그린 센싱 픽셀이 제1 그린 센싱 픽셀(PX_Gr)로 지칭되고, 블루 센싱 픽셀(PX_B)과 동일한 행에 배치되는 그린 센싱 픽셀이 제2 그린 센싱 픽셀(PX_Gb)로 지칭될 수 있다.
레드 센싱 픽셀(SPX_R)들, 블루 센싱 픽셀(SPX_B)들, 제1 그린 센싱 픽셀(SPX_Gr)들 및 제2 그린 센싱 픽셀(SPX_Gb)들이 행열로 배치될 수 있으며, 이는 픽셀 패턴(PT)으로 지칭될 수 있다. 픽셀 어레이(PXA) 내에서 복수의 픽셀 패턴(PT)이 반복적으로 배치될 수 있다.
예를 들어, 도2에 도시된 바와 같이 픽셀 패턴(PT)은 2×2 행열로 배치된 레드 센싱 픽셀(SPX_R)들, 2×2 행열로 배치된 블루 센싱 픽셀(SPX_B)들, 2×2 행열로 배치된 제1 그린 센싱 픽셀(SPX_Gr)들 및 2×2 행열로 배치된 제2 그린 센싱 픽셀(SPX_Gb)들을 포함할 수 있다. 이러한 픽셀 패턴(PT)은 테트라 패턴으로 지칭될 수 있다. 그러나, 본 개시의 기술적 사상은 이에 제한되는 것은 아니며, 픽셀 패턴(PT)은 2×2 행열로 배치된 레드 센싱 픽셀(SPX_R), 블루 센싱 픽셀(SPX_B), 제1 그린 센싱 픽셀(SPX_Gr) 및 제2 그린 센싱 픽셀(SPX_Gb)을 포함할 수 있으며, 이러한 픽셀 패턴(PT)은 베이어 패턴으로 지칭될 수 있다. 또는, 픽셀 패턴(PT)은 n×n 행열(n은 3 이상의 정수)로 배치된 레드 센싱 픽셀(SPX_R)들, n×n 행열(n은 3 이상의 정수)로 배치된 블루 센싱 픽셀(SPX_B)들, n×n 행열로 배치된 제1 그린 센싱 픽셀(SPX_Gr)들, 및 n×n 행열로 배치된 제2 그린 센싱 픽셀(SPX_Gb)들을 포함할 수 있다.
픽셀 어레이(PXA)로부터 출력되는 픽셀 신호들을 기초로 이미지 데이터(IDT)가 생성될 수 있다. 이미지 데이터(IDT)는 픽셀 어레이(PXA)의 픽셀 패턴(PT)에 대응하는 컬러 패턴을 가질 수 있다. 일 예로서, 픽셀 어레이(PXA)가 베이어 패턴을 가질 경우, 이미지 데이터(IDT) 또한 베이어 패턴을 가질 수 있다. 다른 예로서, 픽셀 어레이(PXA)가 테트라 패턴을 가질 경우, 이미지 데이터(IDT)는 테트라 패턴 또는 베이어 패턴을 가질 수 있다.
예를 들어, 픽셀 어레이(PXA)가 테트라 패턴을 가질 경우, 픽셀 패턴(SPX)에 포함된 동일한 컬러의 4개의 센싱 픽셀(SPX)로부터 하나의 픽셀 신호가 출력되거나 또는 4개의 센싱 픽셀(SPX) 각각으로부터 픽셀 신호가 출력됨에 따라 4개의 픽셀 신호가 출력될 수 있다. 하나의 픽셀 신호가 출력될 경우, 이미지 데이터(IDT)는 베이어 패턴을 가지고, 4개의 픽셀 신호가 출력될 경우, 도 2에 도시된 바와 같이 이미지 데이터(IDT)는 테트라 패턴을 가질 수 있다.
이미지 데이터(IDT)는 반복적으로 배치되는 레드 픽셀(PX_R), 블루 픽셀(PX_B), 제1 그린 픽셀(PX_Gr) 및 제2 그린 픽셀(PX_Gb)을 포함할 수 있다. 이미지 데이터(IDT)의 픽셀(PX)은 픽셀 어레이(PXA)의 센싱 픽셀(SPX)에 대응하는 데이터, 다시 말해서 픽셀 데이터를 의미할 수 있다. 레드 픽셀(PX_R), 블루 픽셀(PX_B), 제1 그린 픽셀(PX_Gr) 및 제2 그린 픽셀(PX_Gb)은 픽셀 어레이(PXA)의 레드 센싱 픽셀(SPX_R), 블루 센싱 픽셀(SPX_B), 제1 그린 센싱 픽셀(SPX_Gr) 및 제2 그린 센싱 픽셀(SPX_Gb)에 각각 대응할 수 있다.
이미지 데이터(IDT)는 복수의 픽셀 그룹(PG)을 포함할 수 있으며, 여기서 픽셀 그룹(PG)은 이미지 데이터(IDT)의 컬러 패턴에 따라, 순차적으로 행열로 배치되거나 또는 한 방향으로 배치된 기설정된 개수의 픽셀(PX)들을 포함하도록 설정되거나, 동일한 기준 컬러에 대응하며 서로 인접한 픽셀(PX)들을 포함하도록 설정될 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 이미지 데이터(IDT)가 테트라 패턴을 가지는 경우, 픽셀 그룹(PG)은 동일한 기준색(예컨대, 레드, 블루, 그린 등)에 대응하며 서로 인접한 4개의 픽셀(PX)들을 포함하도록 설정될 수 있다. 다른 예로서, 이미지 데이터(IDT)가 베이어 패턴을 가지는 경우, 픽셀 그룹(PG)은 행열로 배열된 기설정된 개수(예컨대, 4개)의 픽셀(PX)들을 포함하도록 설정될 수 있다.
계속하여 도 1을 참조하면, 복수의 센싱 픽셀(SPX)들 각각은 적어도 하나의 광 감지 소자(또는 광전 변환 소자)를 포함할 수 있다. 광 감지 소자는 빛을 감지하고, 감지된 빛을 전기 신호로 변환할 수 있다. 예를 들어, 광 감지 소자는 포토 다이오드(photo diode), 포토 트랜지스터(photo transistor), 포토 게이트(photo gate), 핀드 포토 다이오드(pinned photo diode, PPD), 또는 이들의 조합일 수 있다.
복수의 센싱 픽셀(SPX)들 각각은 적어도 하나의 광 감지 소자 및 광 감지 소자에서 생성된 전기 신호에 대응하는 픽셀 신호를 출력하기 위한 픽셀 회로를 포함할 수 있다. 예를 들어, 픽셀 회로는, 전송 트랜지스터, 리셋 트랜지스터, 증폭 트랜지스터 및 선택 트랜지스터를 포함하는 4-트랜지스터 구조를 가질 수 있다. 그러나, 이에 제한되는 것은 아니며, 픽셀 회로는, 1-트랜지스터 구조, 3-트랜지스터 구조, 4-트랜지스터 또는 5-트랜지스터 구조이거나, 복수의 픽셀들이 일부 트랜지스터를 공유하는 구조를 가질 수 있다. 실시예에 있어서, 픽셀 회로 각각이 메모리 또는 아날로그-디지털 변환기를 구비할 수도 있다.
실시예에 있어서, 특정 파장 대역의 광 신호(다시 말해서, 특정 색상의 광 신호)를 투과시키는 복수의 컬러 필터가 픽셀 어레이(PXA)의 복수의 픽셀들 각각과 상응하도록 복수의 픽셀 상에 배치될 수 있고, 픽셀에 구비되는 적어도 하나의 광 감지 소자가 대응하는 컬러 필터를 투과한 광 신호를 전기적 신호로 변환할 수 있다. 이에 따라, 픽셀 어레이(PXA)의 복수의 센싱 픽셀(SPX) 각각이, 할당된 적어도 하나의 기준 컬러에 대한 적어도 하나의 픽셀 신호를 출력할 수 있다. 그러나 이에 제한되는 것은 아니며, 센싱 픽셀(SPX)에 구비되는 적어도 하나의 광 감지 소자가 입사되는 광 중 선택적으로 특정 파장 대역의 광 신호를 전기적 신호로 변환할 수도 있다.
실시예에 있어서, 이미지 데이터(IDT)는 픽셀 어레이(PXA)로부터 출력되는 복수의 픽셀 신호들이 디지털-아날로그 변환된 복수의 픽셀 값들을 포함하는 원본 이미지 데이터(row image data) 또는 원본 이미지 데이터에 대하여 전처리(pre-processing)가 수행된 이미지 데이터를 포함할 수 있다.
이미지 센서 모듈(100)은 데이터 전송 속도, 데이터 전송에 따른 소비 전력 감소 및 데이터 저장 공간의 효율화를 위해, 인코더(120)를 이용하여 이미지 데이터(IDT)를 압축하고, 압축 데이터(CDT)를 이미지 처리 장치(200)로 전송할 수 있다.
인코더(120)는 이미지 센서(110)로부터 이미지 데이터(IDT)를 수신하고, 이미지 데이터(IDT)를 압축하여 압축 데이터(CDT)를 생성할 수 있다. 압축 데이터(CDT)는 부호화된 비트스트림(encoded bitstream) 형태로 구현될 수 있다. 이하에서는, 상기 부호화된 비트스트림을 간단히 비트스트림이라 지칭한다. 비트스트림은 압축 결과 및 압축 정보(예컨대 압축 방식을 나타내는 모드 정보)을 포함할 수 있다.
인코더(120)는 이미지 데이터(IDT)를 픽셀 그룹(PG) 단위로 인코딩하여 압축 데이터(CDT)를 생성할 수 있다. 인코더(120)는 하나의 픽셀 그룹(PG)을 인코딩하여 하나의 비트스트림을 생성할 수 있으며, 이미지 데이터(IDT) 내 모든 픽셀 그룹(PG)들의 비트스트림들을 기초로 압축 데이터(CDT)를 생성할 수 있다. 픽셀 그룹(PG)을 인코딩함에 따라, 픽셀 그룹(PG)이 압축되는 바, 이하 본 개시에서, 인코딩은 압축과 동일한 의미로 사용될 수 있다.
인코더(120)는 압축이 수행될 픽셀 그룹(PG), 다시 말해서 대상 픽셀 그룹 보다 먼저 압축된 픽셀들에 대응하는 픽셀 값들을 기초로 생성된 참조 맵을 이용하여 압축을 수행할 수 있다. 구체적으로, 인코더(120)는 참조 맵에서 대상 픽셀 그룹 내의 적어도 하나의 대상 픽셀에 인접한 적어도 하나의 참조 픽셀의 참조 값을 기초로 대상 픽셀의 픽셀 값을 압축할 수 있다. 참조 값은 참조 픽셀의 픽셀 값을 기초로 생성되며, 예컨대, 참조 값은 참조 픽셀의 픽셀 값이 압축되었다가 압축해제 됨에 따라 생성되는 값일 수 있다.
대상 픽셀의 픽셀 값과 상기 인접한 참조 픽셀의 픽셀 값은 서로 유사한 값을 가질 가능성이 높다. 또한, 대상 픽셀 그룹 내의 대상 픽셀들의 픽셀 값들은 서로 유사한 값을 가질 가능성이 높다. 따라서, 인코더(120)는 대상 픽셀 그룹의 대상 픽셀들을 주변 픽셀과의 차이, 예컨대 대상 픽셀의 픽셀 값과 인접한 참조 픽셀의 참조 값과의 차이 값 또는 대상 픽셀의 픽셀 값과 대상 픽셀 그룹 내의 다른 대상 픽셀의 픽셀 값과의 차이 값을 기초로 인코딩(encoding)하는 DPCM(Differential Pulse Code Modulation) 방식으로 대상 픽셀 그룹을 압축할 수 있다. 이에 따라, 압축 효율(또는 압축률)이 높아지고, 압축에 따른 데이터 손실이 감소할 수 있다.
그러나, 이미지 데이터(IDT) 내의 고립 영역에 포함되는 대상 픽셀 그룹의 픽셀들의 픽셀 값은 참조 픽셀들의 픽셀 값들과 차이가 클 수 있다. 다시 말해서, 대상 픽셀들의 픽셀 값들과 참조 픽셀들의 참조 값들 간에 상관도(correlation)가 낮을 수 있다.
여기서 고립 영역이란, 이미지 데이터(IDT) 내에 발생하는 2차원 혹은 다차원 이미지 패턴의 가장자리 영역 중 적어도 두 방향(예컨대 서로 직교하는 두 방향)에서 가장자리 영역에 해당하는 영역을 의미한다.
본 개시의 실시예에 따른 인코더(120)는 대상 픽셀들의 픽셀 값들과 참조 픽셀들의 참조 값들 간에 차이가 클 경우, 참조 맵에 포함되는 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵(VRM)을 생성하고, 가상 참조 맵(VRM)을 기초로 대상 픽셀 그룹을 DPCM 방식 또는 다른 인코딩 방식으로 압축할 수 있다 . 가상 참조 맵(VRM)은 오프셋 값에 의하여 대상 픽셀의 픽셀 값과 참조 픽셀들의 참조 값들 간의 차이가 감소된 보상된 참조 값들을 포함할 수 있다. 이와 같이, 본 개시의 실시예에 따른 가상 참조 맵에 기초한 인코딩 방식은 오프셋 인코딩 방식으로 지칭될 수 있다. 오프셋 인코딩 방식은 도 4a 내지 도 10을 참조하여 상세하게 설명하기로 한다.
인코더(130)가 고립 영역의 픽셀 그룹을 전술한 DPCM 방식으로 압축하거나또는 고립 영역의 픽셀 그룹을 대상 픽셀들 각각의 픽셀 값을 나타내는 복수의 데이터 비트들 중 MSB(Most Significant Bit)를 포함하는 일부 상위 데이터 비트들을 기초로 인코딩하는 방식에 따라 압축할 경우, 많은 양의 데이터 손실이 발생할 수 있다. 이에 따라서, 압축 데이터(CDT)가 압축 해제되어 생성되는 복원된 이미지 데이터에서 화질 열화가 발생할 수 있으며, 이미지 데이터에 아티펙트(artifact)가 발생할 수 있다. 그러나, 전술한 바와 같이 인코더(120)가 본 개시의 실시예에 따른 오프셋 인코딩 방식으로 고립 영역의 픽셀 그룹을 압축할 경우, 압축 효율이 증가되고 데이터 손실이 감소될 수 있다.
인코더(120)는 압축 데이터(CDT)를 인터페이스(130)를 통해 이미지 처리 장치(200)로 제공할 수 있다. 예를 들어, 인터페이스(130)는 MIPI(Mobile Industry Processor Interface)에 기반한 카메라 직렬 인터페이스(CSI; Camera Serial Interface)로 구현될 수 있다. 한편, 인터페이스(130)의 종류는 이에 제한되지 않으며, 다양한 프로토콜 규격에 따라 구현될 수 있다.
이미지 처리 장치(200)는 이미지 센서 모듈(100)로부터 수신된 압축 데이터(CDT)를 변환하여 디스플레이(미도시)에 표시할 이미지를 생성할 수 있다. 구체적으로, 이미지 처리 장치(200)는 이미지 센서 모듈(100)로부터 압축 데이터(CDT)를 수신하고, 압축 데이터(CDT)를 압축 해제하여 압축 해제 데이터(DDT), 예컨대 복원된 이미지 데이터를 생성하고, 압축 해제 데이터(DDT)를 이미지 처리할 수 있다.
실시예에 있어서, 이미지 처리 장치(200)는 인터페이스(210)를 통해 이미지 센서 모듈(100)로부터 압축 데이터(CDT)를 수신할 수 있다. 인터페이스(210)는 이미지 센서 모듈(100)에 구비되는 인터페이스(130)와 같이 MIPI로 구현될 수 있으나, 이에 한정되지 않는다. 이미지 처리 장치(200)는 수신한 압축 데이터(CDT)를 메모리(220)에 저장할 수 있다.
메모리(220)는 데이터를 저장하기 위한 저장 장소이다. 메모리(220)에 압축데이터(CDT)가 저장될 수 있다. 이외에 메모리(220)는 다른 데이터, 예를 들어, OS(Operating System), 각종 프로그램들 및 각종 데이터(예를 들어, 압축 데이터(CDT))를 저장할 수 있다. 메모리(220)는 DRAM(Dynamic Random Access Memory), SRAM(Static RAM)과 같은 휘발성 메모리 또는 PRAM(Phase Change RAM), ReRAM(Resistive RAM), MRMA(Magnetic Ram)플래시 메모리와 같은 비휘발성 메모리를 포함할 수 있다. 한편, 도 1에서 메모리(220)는 이미지 처리 장치(200)내에 구비되는 것으로 도시되었으나 이에 제한되는 것은 아니며, 메모리(220)는 이미지 처리 장치(200) 외부에 별도로 구비될 수 있다.
디코더(230)는 메모리(220)로부터 압축 데이터(CDT)를 독출하고, 압축 데이터(CDT)를 압축 해제하여 압축 해제 데이터(DDT)를 생성할 수 있다. 디코더(230)는 압축 해제 데이터(DDT)를 이미지 신호 프로세서(240)에 제공할 수 있다.
디코더(230)는 이미지 센서 모듈(100)의 인코더(120)에 의해 수행된 압축 방식(또는 인코딩 방식)에 따른 압축 해제 방식(또는 디코딩 방식)에 따라 압축 데이터(CDT)를 픽셀 그룹(PG) 단위로 압축 해제할 수 있다. 이때, 디코더(230)는 압축 데이터(CDT)의 비트스트림에 포함된 압축 정보를 기초로 픽셀 그룹(PG)에 적용된 압축 방식을 판단할 수 있다. 디코더(230)는 압축 해제될 대상 픽셀 그룹 보다 먼저 압축 해제된 픽셀들, 다시 말해서 참조 픽셀들에 대응하는 참조 값들을 포함하는 참조 맵을 기초로 대상 픽셀 그룹의 대상 픽셀들을 압축 해제할 수 있다.
실시예에 있어서, 디코더(230)는 참조 픽셀들의 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵(VRM)을 생성하고, 가상 참조 맵(VRM)을 기초로 대상 픽셀 그룹을 압축 해제할 수 있다. 이때, 오프셋 값은 인코더(120)에서 이용된 오프셋 값과 동일할 수 있다.
이미지 신호 프로세서(240)는 수신한 압축 해제 데이터(DDT)에 대하여 다양한 이미지 처리들을 수행할 수 있다. 비제한적인 예로서, 이미지 신호 프로세서(240)는 압축 해제 데이터(DDT)에 대하여, 배드 픽셀 보정, 오프셋 보정, 렌즈 왜곡 보정, 컬러 게인(color gain) 보정, 쉐이딩(shading) 보정, 감마(gamma) 보정, 디노이징(Denoising), 샤프닝(sharpening) 중 적어도 하나의 이미지 처리들을 수행할 수 있다. 실시예에 있어서, 이미지 센서 모듈(100)의 성능에 따라, 전술한 이미지 처리들 중 일부가 생략될 수 있다. 예를 들어, 이미지 센서 모듈(100)이 고품질의 이미지 센서(110)를 포함하는 경우, 이미지 처리들 중 배드 픽셀 보정(특히, 스태틱 배드 픽셀 보정) 또는 오프셋 보정 등이 생략될 수 있다.
한편, 인코더(120) 및 디코더(230) 각각은 소프트웨어, 또는 하드웨어로 구현되거나, 또는 펌웨어와 같은 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다. 인코더(120) 및 디코더(230)가 소프트웨어로 구현될 경우, 전술한 각각의 기능들이 프로그램된 소스 코드로 구현되어 이미지 센서 모듈(100) 및 이미지 처리 장치(200) 각각에 구비되는 저장 매체에 각각 로딩될 수 있으며, 이미지 센서 모듈(100) 및 이미지 처리 장치(200) 각각에 구비되는 프로세서(예컨대, 이미지 처리 프로세서)가 소프트웨어를 실행함으로써, 인코더(120) 및 디코더(230)의 기능들이 구현될 수 있다. 인코더(120) 및 디코더(230)가 하드웨어로 구현될 경우, 인코더(120) 및 디코더(230)는 로직 회로 및 레지스터를 포함할 수 있으며, 레지스터 세팅에 기초하여 전술한 각각의 기능들을 수행할 수 있다.
한편, 도 1에서는 이미지 처리 시스템(10)이 이미지 센서 모듈(100) 및 이미지 처리 장치(200)를 포함하는 것으로 도시하였지만, 본 개시는 이에 한하지 않는다. 예를 들어, 이미지 처리 시스템(10)은 이미지 센서 모듈(100) 및 이미지 처리 장치(200) 중 일부만을 포함하거나, 복수의 이미지 센서 모듈(100)을 포함하도록 구현될 수 있다. 또한, 도 1에서는 디코더(230) 및 이미지 신호 프로세서(240)가 별도의 구성인 것으로 도시하였지만, 본 개시는 이에 한하지 않는다. 예를 들어, 이미지 신호 프로세서(240)는 디코더(230)를 포함하도록 구현될 수 있다.
도 3a 및 도 3b는 본 개시의 예시적 실시예들에 따른 인코더를 나타내는 블록도이다. 도 3a 및 도 3b는 도 1의 인코더(120)를 나타낸다.
도 1 및 도 3a를 참조하면, 인코더(120)는 참조 픽셀 검출기(121), 압축 회로(122), 모드 선택기(123), 복원 이미지 생성기(124), 참조 버퍼(125)를 포함할 수 있다.
참조 픽셀 검출기(121)는 이미지 센서(도 1의 110)로부터 이미지 데이터(IDT)를 수신하고, 참조 버퍼(125)로부터 대상 픽셀 그룹의 압축에 이용되는 참조 픽셀들의 참조 값들을 포함하는 참조 맵을 수신할 수 있다. 참조 픽셀 검출기(121)는 참조 버퍼(125)에 저장된 복원된 이미지 데이터에서 대상 픽셀 그룹과 위치적으로 근접한 참조 픽셀들의 참조 값들, 다시 말해서 참조 픽셀들의 복원된 픽셀 값들을 검출하고, 참조 버퍼(125)로부터 참조 값들을 참조 맵으로서 수신할 수 있다. 참조 픽셀 검출기(121)는 이미지 데이터(IDT)의 대상 픽셀 그룹 및 참조 맵을 압축 회로(122)에 제공할 수 있다.
압축 회로(122)는 참조 맵을 기초로 대상 픽셀 그룹을 압축할 수 있다. 압축 회로(122)는 오프셋 모드 압축기(OMC) 및 노멀 모드 압축기(NMC)를 포함할 수 있으며, 오프셋 모드 압축기(OMC) 및 노멀 모드 압축기(NMC)는 서로 상이한 압축 방식(인코딩 방식)을 이용하여 대상 픽셀 그룹을 압축할 수 있다.
오프셋 모드 압축기(OMC)는 도 1을 참조하여 전술한 바와 같이 가상 참조 맵(VRM)을 기초로 오프셋 인코딩 방식으로 대상 픽셀 그룹을 인코딩할 수 있다. 예를 들어, 오프셋 모드 압축기(OMC)는 참조 맵의 참조 값들에 오프셋 값을 적용하여 가상 참조 맵(VRM)을 생성하고, 가상 참조 맵(VRM)을 기초로 DPCM 방식으로 대상 픽셀 그룹을 인코딩할 수 있다. 대상 픽셀 그룹이 압축된 후, 가상 참조 맵(VRM)은 제거될 수 있다.
노멀 모드 압축기(NMC)는 참조 맵을 기초로 DPCM 방식으로 대상 픽셀 그룹을 인코딩할 수 있다. 노멀 모드 압축기(NMC)는 제1 인코딩 데이터(EDT1)를 출력하고, 오프셋 모드 압축기(OMC)는 제2 인코딩 데이터(EDT2)를 출력할 수 있다.
도 3a에서 압축 회로(122)는 오프셋 모드 압축기(OMC) 및 노멀 모드 압축기(NMC)를 구비하는 것으로 도시되었으나 이에 제한되는 것은 아니며, 압축 회로(122)는 오프셋 모드 압축기(OMC) 및 노멀 모드 압축기(NMC)와 상이한 인코딩 방식으로 대상 픽셀 그룹을 인코딩하는 압축기를 더 포함할 수 있다.
모드 선택기(123)는 압축 회로(122)로부터 수신되는 압축된 데이터, 예컨대 제1 인코딩 데이터(EDT1) 및 제2 인코딩 데이터(EDT2) 중 하나를 선택하고, 선택된 인코딩 데이터를 압축 데이터(CDT)로서 출력할 수 있다.
모드 선택기(123)는 제1 인코딩 데이터(EDT1) 및 제2 인코딩 데이터(EDT2)를 각각이 인코딩된 방식에 따른 디코딩 방식으로 디코딩하고, 디코딩에 따른 에러율을 기초로 제1 인코딩 데이터(EDT1) 및 제2 인코딩 데이터(EDT2) 중 하나를 선택할 수 있다. 에러율은 디코딩된 데이터, 다시 말해서 디코딩된 픽셀 값들과 디코딩 이전의 픽셀 값들과의 차이를 의미하며, 차이가 작을수록 에러율이 낮을 수 있다. 에러율이 낮을수록 이미지 처리 장치(200)에서 생성되는 압축 해제 데이터(DDT), 다시 말해서 복원된 이미지 데이터의 화질 열화가 적을 수 있다. 따라서, 모드 선택기(123)는 제1 인코딩 데이터(EDT1) 및 제2 인코딩 데이터(EDT2) 중 에러율이 낮은 인코딩 데이터를 압축 데이터(CDT)로서 선택하고, 압축 데이터(CDT)를 출력할 수 있다.
실시예에 있어서, 노말 모드 압축기(NMC)(또는 다른 별도의 압축기)가 대상픽셀 그룹을 인코딩하여 인코딩된 데이터, 예컨대 제1 인코딩 데이터(EDT1)를 생성하고, 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율을 초과할 때, 오프셋 모드 압축기(OMC)가 동작할 수 있다. 오프셋 모드 압축기(OMC)가 대상 픽셀 그룹을 인코딩하여 제2 인코딩 데이터(EDT2)를 생성할 수 있다. 모드 선택기(123)는 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율 이하일 때, 제1 인코딩 데이터(EDT1)를 압축 데이터(CDT)로서 출력할 수 있다. 모드 선택기(123)는 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율을 초과할 때, 오프셋 모드 압축기(OMC)로부터 수신되는 제2 인코딩 데이터(EDT2)를 압축 데이터(CDT)로서 출력할 수 있다.
복원 이미지 생성기(124)는 압축 데이터(CDT)를 디코딩하여 복원된 이미지를 데이터를 생성할 수 있다. 복원 이미지 생성기(124)는 압축 데이터(CDT)에 포함되는 복수의 비트스트림 각각을 인코딩된 방식에 대응하는 디코딩 방식으로 디코딩하여 대상 픽셀 그룹의 픽셀 값들을 복원할 수 있다. 복원된 픽셀 값들에 대응하는 픽셀들은 압축이 수행될 다른 대상 픽셀 그룹의 참조 픽셀로서 이용될 수 있다.
참조 버퍼(125)는 복원된 이미지 데이터를 저장할 수 있으며, 대상 픽셀 그룹의 압축에 이용되는 참조 픽셀들의 참조 값을 참조 픽셀 검출기(121)에 제공할 수 있다. 예시적인 실시예에 있어서, 참조 버퍼(125)는 라인 메모리로 구성될 수 있으며, 대상 픽셀 그룹의 대상 픽셀들의 주변에 위치한 참조 픽셀들을 저장할 수 있다. 예시적인 실시예에서, 참조 버퍼(125)는 DRAM 또는 SRAM과 같은 휘발성 메모리로 구현될 수 있다. 그러나, 이에 제한되는 것은 아니며, 참조 버퍼(125)는 ReRAM, PRAM과 같은 비휘발성 메모리로 구현될 수 있다.
도 3b를 참조하면, 인코더(120a)는 참조 픽셀 검출기(121), 사전 검출기(126), 압축 회로(122), 모드 선택기(123), 복원 이미지 생성기(124), 및 참조 버퍼(125)를 포함할 수 있다. 도 3b의 인코더(120)와 비교하면, 인코더(120a)는 사전 검출기(126)를 더 포함할 수 있다. 참조 픽셀 검출기(121), 압축 회로(122), 모드 선택기(123), 복원 이미지 생성기(124), 및 참조 버퍼(125)의 동작은 도 3a를 참조하여 설명한 바 중복되는 설명은 생략하기로 한다.
사전 검출기(126)는 오프셋 모드 압축기(OMC)를 활성화 또는 비활성화 시킬 수 있다. 실시예에 있어서, 사전 검출기(126)는 참조 픽셀들의 참조 값을 기초로 오프셋 모드 압축기(OMC)를 활성화 또는 비활성화 시킬 수 있다. 예를 들어, 참조 값들과 대상 픽셀의 픽셀 값이 차이가 임계 값(또는 특정 코드 값) 이상이면, 오프셋 모드 압축기(OMC)를 활성화시키고 임계 값 미만이면, 오프셋 모드 압축기(OMC)를 비활성화시킬 수 있다. 실시예에 있어서, 사전 검출기(126)는 레지스터(register)를 포함할 수 있으며, 레지스터에 저장된 제어 신호를 기초로 오프셋 모드 압축기(OMC)를 활성화 또는 비활성화 시킬 수 있다. 예컨대 제어 신호는 이미지 처리 장치(200)로부터 수신될 수 있다.
오프셋 모드 압축기(OMC)가 비활성화되면, 압축 회로(122)에 구비되는 다른 압축기, 예컨대 노멀 모드 압축기(NMC)가 대상 픽셀 그룹을 인코딩하고, 인코딩된 데이터, 예컨대 제1 인코딩 데이터(EDT1)가 압축 데이터(CDT)로서 출력될 수 있다.
오프셋 모드 압축기(OMC)가 활성화되면, 압축 회로(122)에 구비되는 적어도 일부의 압축기와 오프셋 모드 압축기(OMC)가 대상 픽셀 그룹을 각각 인코딩하고, 모드 선택기(123)가 인코딩된 데이터 중 에러율이 가장 낮은 인코딩 데이터를 압축 데이터(CDT)로서 출력할 수 있다.
실시예에 있어서, 오프셋 모드 압축기(OMC)가 활성화 되더라도, 압축 회로(122)에 구비되는 압축기들 중 오프셋 모드 압축기(OMC)의 우선 순위가 낮을 수 있다. 예컨대, 노멀 모드 압축기(NMC)가 먼저 대상 픽셀 그룹을 인코딩하여 제1 인코딩 데이터(EDT1)을 생성하고, 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율을 초과할 때, 오프셋 모드 압축기(OMC)가 동작할 수 있다. 오프셋 모드 압축기(OMC)는 대상 픽셀 그룹을 인코딩하여 제2 인코딩 데이터(EDT2)를 생성할 수 있다. 모드 선택기(123)는 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율 이하일 때, 제1 인코딩 데이터(EDT1)를 압축 데이터(CDT)로서 출력할 수 있다. 모드 선택기(123)는 제1 인코딩 데이터(EDT1)의 에러율이 기준 에러율을 초과할 때, 오프셋 모드 압축기(OMC)로부터 수신되는 제2 인코딩 데이터(EDT2)를 압축 데이터(CDT)로서 출력할 수 있다.
실시예에 있어서, 오프셋 모드 압축기(OMC)가 활성화되면, 압축 회로(122)에 구비되는 다른 압축기, 예컨대 노멀 모드 압축기(NMC)는 비활성화되고, 오프셋 모드 압축기(OMC)에서 생성된 제2 인코딩 데이터(EDT2)가 압축 데이터(CDT)로서 출력될 수 있다. 이에 따라, 인코더(120)의 소비 전력이 감소될 수 있다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 참조 맵 및 가상 참조 맵을 예시적으로 나타낸다. 도 4a 및 도 4b에서 괄호 안의 숫자는 픽셀의 값, 다시 말해서 픽셀 값, 참조 값 또는 보상된 참조 값을 나타낸다.
도 4a를 참조하면, 이미지 데이터(IDT)는 복수의 픽셀 그룹(PG)을 포함할 수 있으며, 복수의 픽셀 그룹(PG)이 설정된 방향에 따라 순차적으로 압축될 수 있다. 실시예 있어서 이미지 데이터(IDT)는 좌측에서 우측 방향 및 위에서 아래 방향으로 순차적으로 픽셀 그룹(PG) 단위로 압축될 수 있다. 그러나 이에 제한되는 것은 아니며, 이미지 데이터(IDT)는 우측에서 좌측 방향으로 또는 아래에서 위 방향으로 순차적으로 압축될 수 있다.
대상 픽셀 그룹(TG)에 대하여, 구체적으로 대상 픽셀 그룹(TG)의 대상 픽셀들(T0, T1, T2, 및 T3)에 대하여 압축이 수행될 수 있다. 대상 픽셀 그룹(TG)은 압축이 수행된 주변의 픽셀 그룹들(PG) 중 동일한 컬러에 대응하는 픽셀 그룹들(PG)에 포함되는 픽셀들을 기초로 압축될 수 있다. 대상 픽셀 그룹(TG)의 압축에 이용되는 주변 픽셀은 참조 픽셀로 지칭될 수 있다.
참조 버퍼(125)에 저장된 복원된 이미지 데이터(RIDT) 중 대상 픽셀 그룹(TG)에 인접한 참조 픽셀들의 참조 값들이 참조 맵(RM)으로서 생성될 수 있다. 여기서 참조 값은 픽셀 값이 압축된 후, 압축 해제됨에 따라 생성된 값을 의미한다. 예를 들어, 참조 맵(RM)은 참조 픽셀들(예컨대 R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)의 참조 값들을 포함할 수 있다.
대상 픽셀 그룹(TG)은 참조 맵(RM)을 기초로 압축될 수 있다. 예를 들어, 대상 픽셀 그룹(TG) 또는 대상 픽셀 그룹(TG)의 대상 픽셀(T0)은 인접한 참조 픽셀들 R13, R14, R23, R24, R32 및 R34의 참조 값 중 가장 연관성이 높은 참조 값 또는 기설정된 방향으로 인접한 참조 픽셀의 참조 값을 기초로 인코딩될 수 있다.
한편, 대상 픽셀 그룹(TG)의 대상 픽셀들(T0, T1, T2, T3)의 픽셀 값들과 참조 픽셀들의 참조 값들의 차이가 클 수 있다. 예를 들어, 대상 픽셀 T0의 픽셀 값은 283이고, 인접한 참조 픽셀들 R14, R23 및 R32의 참조 값은 각각 137, 148 및 127이며, 임계 값이 125로 설정된 경우, 픽셀 값과 참조 값들 간의 차이 값이 125 이상이므로, 대상 픽셀 그룹(TG)은 고립 영역에 해당할 수 있다. 대상 픽셀 그룹(TG)은 가상 참조 맵(도 4b의 VRM)을 기초로 압축될 수 있다. 예컨대, 도 3의 오프셋 모드 압축기(OMC)가 참조 맵(RM)을 기초로 가상 참조 맵(VRM)을 생성하고, 가상 참조 맵(VRM)을 기초로 대상 픽셀 그룹(TG)을 압축할 수 있다.
도 4b를 참조하면, 참조 픽셀들(예컨대 R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)의 참조 값들 각각에 오프셋 값이 적용되어, 가상 참조 맵(VRM)이 생성될 수 있다. 오프셋 값은 128로 가정하기로 한다. 오프셋 값은 양의 값 또는 음의 값일 수 있다.
참조 픽셀들(예컨대 R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)의 참조 값들 각각에 오프셋 값이 더해져 보상 참조 값들이 생성될 수 있으며, 가상 참조 맵(VRM)은 보상 참조 값들을 포함할 수 있다. 대상 픽셀의 픽셀 값과 보상 참조 값들이 유사해질 수 있으며, 픽셀 값과 보상 참조 값의 상관도가 높아질 수 있다.
이와 같이, 대상 픽셀 그룹(TG)이 고립 영역에 해당하여, 참조 맵(RM)과 상관도가 낮은 경우, 오프셋 모드 압축기(OMC)가 참조 맵(RM)에 오프셋 값을 적용하여 상관도가 높은 가상 참조 맵(VRM)을 생성하고, 가상 참조 맵(VRM)을 기초로 대상 픽셀 그룹(TG)을 압축할 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다. 본 개시에서 설명되는 압축 방법은 도 3a 및 3b의 오프셋 모드 압축기(OMC)에서 수행될 수 있으며, DPCM 방식에 기초할 수 있다.
도 5를 참조하면, 오프셋 모드 압축기(OMC)는 가상 참조 맵(VRM)에 포함된 적어도 하나의 참조 픽셀의 보상 참조 값을 기초로, 대상 픽셀 그룹(TG)의 대상 픽셀들(T0, T1, T2, T3)을 압축할 수 있다. 예를 들어, 가상 참조 맵(VRM)의 참조 픽셀 R32가 대상 픽셀 그룹(TG)의 압축에 이용될 수 있다.
오프셋 모드 압축기(OMC)는 참조 픽셀 R32의 보상 참조 값과 대상 픽셀 T0의 픽셀 값의 차이 값(d0)을 산출할 수 있다. 예를 들어, 픽셀 값인 283에서 보상 참조 값인 255가 차감되며 차이 값(d0)은 28일 수 있다. 이때, 픽셀 값이 보상 참조 값보다 작을 경우, 차이 값(d0)은 음의 값을 가질 수 있다. 또는, 보상 참조 값에서 픽셀 값이 차감되어 차이 값(d0)가 생성될 수도 있다.
오프셋 모드 압축기(OMC)는 대상 픽셀들(T0, T1, T2, T3) 간의 차이 값들(d1, d2, d3)을 산출할 수 있다. 오프셋 모드 압축기(OMC)는 참조 픽셀 R32의 보상 참조 값과 대상 픽셀 T0의 픽셀 값의 차이 값(d0) 및 대상 픽셀들(T0, T1, T2, T3) 간의 차이 값들(d1, d2, d3)을 기초로 대상 픽셀 그룹(TG)에 대한 비트스트림(BS)을 생성할 수 있다.
비트스트림(BS)은 헤더(HD) 및 데이터 블록(DB)을 포함할 수 있다. 헤더(HD)는 압축 정보, 예컨대 압축에 이용된 인코딩 방식(예컨대 DPCM 방식, 오프셋 모드 방식 등)을 포함하는 모드 정보, 압축률, 손실 정보 등을 포함하고, 데이터 블록(DB)은 대상 픽셀들(T0, T1, T2, T3)의 픽셀 값들에 따른 정보, 예컨대 복수의 차이 값들(d0, d1, d2, d3)을 포함할 수 있다.
비트스트림(BS)이 압축 데이터(CDT)로서 이미지 처리 장치(도 1의 200)에 전송되면, 디코더(도 1의 230)는 헤더(HD)에 포함된 모드 정보를 기초로, 비트스트림(BS)의 압축 방법(다시 말해서, 인코딩 방식)을 판단하고, 압축 방법에 대응하는 압축 해제 방법(다시 말해서, 디코딩 방식) 및 데이터 블록(DB)에 포함된 정보를 기초로 비트 스트림(BS)을 디코딩 함으로써, 압축 데이터(CDT)를 압축 해제할 수 있다.
도 6a 및 도 6b는 본 개시의 예시적 실시예에 따른 비트스트림을 나타내는 도면이다. 도 6a 및 도 6b는 도 5의 비트스트림(BS)의 구현예들을 나타낸다. 이미지 데이터(IDT), 다시 말해서 압축이 수행되기 전의 대상 픽셀(예컨대 T0, T1, T2, T3)의 픽셀 값은 10개의 비트를 포함하는 데이터로 표현되고, 50%의 압축률로 대상 픽셀 그룹(TG)이 압축됨에 따라서 비트스트림(BS)이 20개의 비트를 포함하는 데이터인 것을 가정하기로 한다.
도 6a 및 도 6b를 참조하면, 비트스트림(BSa, BSb)의 데이터 블록(DB)은 제1 비트 내지 제16 비트(B0~B15)에 할당되고, 헤더(HD)는 제17 비트 내지 제20 비트(B16~B19)에 할당될 수 있다.
전술한 바와 같이, 헤더(HD)는 모드 정보를 포함할 수 있다. 예를 들어 헤더(HD)에 4 비트가 할당됨에 따라 헤더(HD)는 2^4(=16) 개의 모드 정보 중 하나를 포함할 수 있다.
데이터 블록(DB)은 복수의 잔여 영역, 예컨대 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)을 포함할 수 있다. 예컨대, 도 5에서 산출된 차이 값들(d0, d1, d2, d3)이 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)에 각각 포함될 수 있다. 본 개시에서, 비트스트림(BSa)에 포함되는 값들(예를 들어 차이 값)은 최상위 부호 비트 표시법을 통해 음수 및 양수로 표현될 수 있다. 예를 들어, 차이 값이 4비트의 데이터로 표현될 경우, 최상위 비트는 부호를 나타내고 나머지 3 비트가 절대 값을 나타낼 수 있다. 차이 값은 -8부터 7까지의 정수를 나타내는 4비트의 이진 코드로 표현될 수 있다. 그러나, 이에 제한되지 않고, 1의 보수법, 절대치 법 등이 사용될 수 있다.
실시예에 있어서, 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)은 동일한 개수의 비트에 할당될 수 있다. 예컨대 제1 비트 내지 제4 비트(B0~B3)에 제4 잔여 영역(RD3)이 할당되고, 제5 비트 내지 제8 비트(B4~B7)에 제3 잔여 영역(RD2)이 할당되고, 제9 비트 내지 제12 비트(B8~B11)에 제2 잔여 영역(RD1)이 할당되며, 제13 비트 내지 제16 비트(B12~B15)에 제1 잔여 영역(RD0)이 할당될 수 있다.
도 6b를 참조하면, 데이터 블록(DB)은 복수의 잔여 영역, 예컨대 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3) 및 추가 영역(SUB)을 포함할 수 있다. 실시예에 있어서, 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)은 서로 다른 개수의 비트에 할당될 수 있다. 예를 들어, 제1 비트 내지 제3 비트(B0~B2)에 제4 잔여 영역(RD3)이 할당되고, 제4 비트 내지 제6 비트(B3~B5)에 제3 잔여 영역(RD2)이 할당되고, 제7 비트 내지 제10 비트(B6~B9)에 제2 잔여 영역(RD1)이 할당되며, 제11 비트 내지 제15비트(B10~B14)에 제1 잔여 영역(RD0)이 할당될 수 있다. 도 5에서, 참조 픽셀 R32의 보상 참조 값과 대상 픽셀 T0의 픽셀 값의 차이 값(d0)이 상대적으로 더 인접한 대상 픽셀들(T0, T1, T2, T3) 간의 차이 값들(d1, d2, d3)보다 클 수 있다. 따라서, 제1 잔여 영역(RD0)에 가장 많은 개수의 비트가 할당될 수 있다.
제16 비트(B15)에 추가 영역(SUB)이 할당될 수 있다. 추가 영역(SUB)에는 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)에 포함된 차이 값들(d0, d1, d2, d3)이 디코딩 시에 쉬프트 요구되는 양(예컨대 라이트(right) 또는 레프트(left) 쉬프트 량)을 나타내는 코드가 포함될 수 있다. 예를 들어, 추가 영역(SUB)의 코드가 '0'일 경우, 쉬프트가 없음을 나타내고, '1'일 경우, 차이 값들(d0, d1, d2, d3)이 2회 레프트 쉬프트 되도록 설정되었다고 가정하면, 추가 영역(SUB)의 코드(예컨대 이진 코드)가 '1'이고 차이 값(d0)이 '110100'일 경우, 제2 잔여 영역(RD1)에 포함되는 코드값은'1101'일 수 있다. 이때, 최상위 비트는 부호를 나타내므로 쉬프트되지 않는다.
이미지 처리 장치(도 1의 200)의 디코더(도 1의 230)는 압축 데이터(CDT)의 복원 시, 추가 영역(SUB)의 코드를 고려하여 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)으로부터 독출되는 값에 레프트 쉬프트 연산을 2회 수행한 값을 차이 값(d0,d1, d2, d3)으로서 산출할 수 있다. 예를 들어, 디코더(230)는 제2 잔여 영역(RD1)에 포함되는 코드값은'1101'중 최상위 비트를 제외한 '101'을 2회 레프트 쉬프트 연산하여 코드값 '110100'을 생성할 수 있다. 디코더(230)는 코드값 '110100'이 나타내는 -20을 차이 값(d)으로 판단할 수 있다.
도 6a 및 도 6b를 참조하여, 도 5의 비트스트림(BS)을 예시적으로 설명하였다. 그러나, 이에 제한되는 것이며, 압축 방식, 압축률 등에 따라 비트스트림(BS)의 비트 수 및 구조는 변경될 수 있다. 또한, 비트스트림(BS)의 각각의 영역, 예컨대, 헤더(HD) 및 데이터 블록(DB)에 할당되는 비트수, 또는 데이터 블록(BD)의 각 영역, 예컨대, 잔여 영역(RD0, RD1, RD2, RD3) 및 추가 영역(SUB)에 할당되는 비트 수 또한 변경될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다. 도 7의 압축 방법은 도 3의 오프셋 모드 압축기(OMC)에서 수행될 수 있다.
도 7을 참조하면, 오프셋 모드 압축기(OMC)는 가상 참조 맵(VRM)에 포함된 적어도 하나의 참조 픽셀의 보상 참조 값을 기초로, 대상 픽셀 그룹(TG)의 대상 픽셀들(T0, T1, T2, T3)을 압축할 수 있다. 예를 들어, 가상 참조 맵(VRM)의 참조 픽셀 R32가 대상 픽셀 그룹(TG)의 압축에 이용될 수 있다.
오프셋 모드 압축기(OMC)는 대상 픽셀들(T0, T1, T2, T3)의 픽셀 값들의 평균값을 산출할 수 있다. 이후, 오프셋 모드 압축기(OMC)는 참조 픽셀 R32의 보상 참조 값과 평균값의 차이 값(d0)을 산출할 수 있다. 예를 들어, 대상 픽셀들(T0, T1, T2, T3)의 평균값이 342로 산출되고, 342에서 보상 참조 값인 255가 차감되어 차이 값(d0)은 87일 수 있다. 픽셀 값이 보상 참조 값보다 작을 경우, 차이 값(d0)은 음의 값을 가질 수 있다. 오프셋 모드 압축기(OMC)는 평균값과 대상 픽셀들(T0, T1, T2, T3)의 픽셀 값들 간의 차이 값들(d1, d2, d3, d4)을 산출할 수 있다. 오프셋 모드 압축기(OMC)는 차이 값(d0) 및 차이 값들(d1, d2, d3, d4)을 기초로 대상 픽셀 그룹(TG)에 대한 비트스트림(BSc)을 생성할 수 있다.
데이터 블록(DB)은 복수의 잔여 영역, 예컨대 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3) 및 평균 영역(AVE)을 포함할 수 있다. 평균 영역(AVE)에 차이 값(d0)이 포함되고, 제1 내지 제4 잔여 영역(RD0, RD1, RD2, RD3)에 차이 값들(d1, d2, d3, d4)이 각각 포함될 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 이미지 데이터 및 가상 참조 맵을 예시적으로 나타낸다.
도 8에서, 이미지 데이터(IDTa)는 베이어 패턴을 포함할 수 있다. 실시예에있어서, 연속 배치된 4개의 픽셀 단위로 픽셀 그룹(PG)이 설정될 수 있다. 실시예에 있어서, 픽셀 그룹(PG)은 2개의 레드 픽셀 및 2개의 그린 픽셀을 포함하거나, 또는 2개의 블루 픽셀 및 2개의 그린 픽셀을 포함할 수 있다.
픽셀 그룹(PG) 단위로 압축이 수행될 수 있으며, 대상 픽셀 그룹(TG)은 먼저 압축되고 인접한 픽셀 그룹(PG) 중 동일한 색상에 대응하는 픽셀 그룹(PG)의 참조 픽셀들(예컨대 R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)을 기초로 압축될 수 있다. 대상 픽셀 그룹(TG)과 참조 픽셀들(R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)의 픽셀 값들이 상당한 차이를 가질 수 있으며 대상 픽셀 그룹(TG)이 고립 영역에 해당한다고 판단될 수 있다. 이에 따라, 대상 픽셀 그룹(TG)은 오프셋 인코딩 방식으로 압축될 수 있다.
오프셋 값이 128이고, 참조 픽셀들의 픽셀 값들이 압축된 후 압축 해제되었을 때, 압축이 수행되기 이전의 픽셀 값들과 압축 해제된 후의 픽셀 값들, 다시 말해서 참조 값들이 동일하다고 가정하기로 한다. 오프셋 모드 압축기(도 3a의 OMC)는 참조 맵의 참조 값들 각각에 오프셋 값 128을 더하여 가상 참조 맵(VRG)을 생성할 수 있다. 참조 픽셀들(R11, R12, R13, R14, R21, R22, R23, R24, R31, R32, R33, R34)의 참조 값들과 대상 픽셀들(T0, T1, T2, T3)의 픽셀 값들이 유사해질 수 있다. 오프셋 모드 압축기(도 3a의 OMC)는 가상 참조 맵(VRM)을 기초로 대상 픽셀 그룹(TG)을 압축할 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 압축 방법을 설명하기 위한 개념도이다. 도 9의 압축 방법은, 도 8의 이미지 데이터(IDTa)에 대하여 가상 참조 맵(VRM)을 이용하여 수행될 수 있다.
도 9를 참조하면, 오프셋 모드 압축기(도 3a의 OMC)는 가상 참조 맵(VRM)에 포함된 적어도 하나의 참조 픽셀의 보상 참조 값을 기초로, 대상 픽셀 그룹(TG)의 대상 픽셀들(T0, T1, T2, T3)을 압축할 수 있다. 예를 들어, 가상 참조 맵(VRM)의 참조 픽셀 R33 및 R34가 대상 픽셀 그룹(TG)의 압축에 이용될 수 있다. 압축 수행 시, 대상 픽셀과 동일한 색상의 참조 픽셀이 이용될 수 있다.
오프셋 모드 압축기(OMC)는 참조 픽셀 R33의 보상 참조 값과 대상 픽셀 T0의 차이 값(d0)를 산출하고, 또한, 대상 픽셀 T0 및 T2의 픽셀 값들 간의 차이 값(d1)을 산출할 수 있다. 또한, 오프셋 모드 압축기(OMC)는 참조 픽셀 R34의 보상 참조 값과 대상 픽셀 T1의 차이 값(d2)를 산출하고, 대상 픽셀 T2 및 T3의 픽셀 값들 간의 차이 값(d3)을 산출할 수 있다. 오프셋 모드 압축기(OMC)는 차이 값들(d0, d1, d2, d3)을 기초로 비트스트림(BS)을 생성할 수 있다. 차이 값들(d0, d1, d2, d3)은 비트스트림(BS)의 데이터 블록(DB)에 포함될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 이미지 데이터의 압축 방법을 나타내는 흐름도이다. 도 10의 압축 방법은 전술한 오프셋 인코딩 방식을 포함하며, 도 3a 및 도 3b의 오프셋 모드 압축기(OMC)에서 수행될 수 있다. 전술한 오프셋 인코딩 방식에 기초한 압축 방법은 본 실시예에 적용될 수 있다.
도 3a 및 도10을 참조하면, 오프셋 모드 압축기(OMC)는 대상 픽셀 그룹의 픽셀 값들 및 참조 픽셀들의 참조 픽셀 값들을 수신할 수 있다(S110). 다시 말해서, 오프셋 모드 압축기(OMC)는 대상 픽셀 그룹을 포함하는 이미지 데이터(IDT) 및 참조 픽셀들의 참조 값들을 포함하는 참조 맵을 수신할 수 있다. 대상 픽셀 그룹은 압축이 수행될 픽셀 그룹으로서 압축이 수행될 대상 픽셀들을 포함하며, 대상 픽셀들에 대응하는 픽셀 값들이 수신될 수 있다. 참조 픽셀들은 대상 픽셀 그룹의 압축에 이용될 대상 픽셀들의 주변 픽셀들일 수 있다. 주변 픽셀들의 픽셀 값들이 압축된 후 복원되어 참조 값들로서 생성될 수 있다.
오프셋 모드 압축기(OMC)는 참조 픽셀들의 참조 값들 각각에 오프셋 값을 적용하여, 가상 참조 맵을 생성할 수 있다(S120). 참조 값들 각각에 양의 오프셋 값 또는 음의 오프셋 값이 더해져 보상 참조 값들이 생성될 수 있다. 보상 참조 값들과 대상 픽셀들의 픽셀 값들 간의 차이는 참조 값들과 대상 픽셀들의 픽셀 값들 간의 차이보다 적을 수 있다. 가상 참조 맵은 복수의 보상된 참조 값들을 포함할 수 있다.
실시예에 있어서, 오프셋 값은 기설정될 수 있으며, 오프셋 모드 압축기(OMC)는 기설정된 오프셋 값을 참조 값들 각각에 적용할 수 있다. 비제한적인 예로서, 픽셀 값 또는 참조 값이 256개의 값(예컨대 0 코드 내지 255 코드)를 나타낼 수 있는 8개의 비트를 포함하는 데이터(예컨대 2진 코드 데이터)로 표시될 경우, 오프셋 값은 최대 픽셀 값, 예컨대 255의 절반에 해당하는 값, 예컨대 127로 설정될 수 있다. 오프셋 값은 부호를 나타내는 1비트의 데이터(예컨대 MSB) 및 127을 나타내는 7 개의 비트의 데이터를 포함할 수 있다. 그러나, 이에 제한되는 것은 아니며 오프셋 값은 다양한 값 및 방식으로 미리 설정될 수 있다.
실시예에 있어서, 오프셋 모드 압축기(OMC)는 오프셋 값을 결정하는 결정 로직을 포함할 수 있으며, 결정 로직이 참조 값들을 기초로 오프셋 값을 결정할 수 있다. 예를 들어, 참조 값들이 포함되는 계조 영역에 따라서 오프셋 값이 결정될 수 있다. 참조 값들이 포함되는 계조 영역이 저계조 영역에 해당하면, 양의 후보 오프셋 값들 중 상기 계조 영역에 대응하는 양의 후보 오프셋 값이 오프셋 값으로 결정되고, 참조 값들이 포함되는 계조 영역이 고계조 영역에 해당하면, 음의 후보 오프셋 값들 중 상기 계조 영역에 대응하는 음의 후보 오프셋 값이 오프셋 값으로 결정될 수 있다. 다른 예로서, 참조 값과 대상 픽셀들의 픽셀 값 간의 차이 값에 기초하여 설정된 복수의 후보 오프셋 값들 중 실제 차이 값(다시 말해서, 현재 대상 픽셀의 픽셀 값과 현재 참조 픽셀의 참조 값 간의 차이 값)에 해당하는 후보 오프셋 값이 오프셋 값으로 결정될 수 있다. 이 외에도 다양한 방식에 따라 오프셋 값이 결정될 수 있다.
오프셋 모드 압축기(OMC)는 가상 참조 맵을 기초로 대상 픽셀 그룹, 다시 말해서 대상 픽셀들의 픽셀 값들을 압축할 수 있다. 예를 들어, 오프셋 모드 압축기(OMC)는 도 5, 도 7 및 도 9를 참조하여 설명한 압축 방법, 구체적으로 인코딩 방식에 따라 대상 픽셀 그룹을 압축할 수 있다. 그러나 이에 제한되는 것은 아니며 다양한 인코딩 방식이 적용될 수 있다.
오프셋 모드 압축기(OMC)는 압축 결과 및 압축 정보를 포함하는 비트스트림을 생성할 수 있다(S140). 전술한 바와 같이, 비트스트림은 헤더 및 데이터 블록을 포함할 수 있으며, 헤더에 압축 정보가 포함되고, 데이터 블록에 압축 결과, 예컨대 참조 픽셀의 참조 값과 대상 픽셀의 픽셀 값 간의 차이 값, 또는 대상 픽셀들의 픽셀 값들 간의 차이 값 등이 포함될 수 있다.
한편, 도 3a를 참조하여 설명한 바와 같이, 압축 방법은 비트스트림이 생성된 후, 상기 비트스트림을 압축 해제하여 복원된 픽셀 값들을 생성하는 단계, 및 복원된 픽셀 값들을 기초로 대상 픽셀 그룹 이후에 압축이 수행될 다음 대상 픽셀 그룹의 압축에 이용될 참조 픽셀들을 포함하는 복원된 이미지 데이터를 생성하는 단계를 더 포함할 수 있다.
도 11a 및 도 11b는 본 개시의 예시적 실시예에 따른 이미지 센서 모듈을 나타낸다.
도 11a를 참조하면, 이미지 센서 모듈(100)은 이미지 센서(110), 처리 로직(150), 인코더(120) 및 인터페이스(130)를 포함할 수 있다.
이미지 센서(110)은 픽셀 어레이(PXA) 및 구동 및 독출 회로(DRC)를 포함할수 있다. 전술한 바와 같이 픽셀 어레이(PXA)는 행열로 배치된 복수의 픽셀(PX)을 포함할 수 있다. 구동 및 독출 회로(DRC)는 픽셀 어레이(PXA)를 제어하고, 픽셀 어레이(PXA)로부터 수신된 픽셀 신호들을 픽셀 값들로 변환할 수 있다. 구동 및 독출 회로(DRC)는 수신된 픽셀 신호들 각각에 대응하는 픽셀 값들을 포함하는 원본 이미지 데이터(RDT)를 생성할 수 있다.
처리 로직(150)은 원본 이미지 데이터(RDT)에 대하여 전처리를 수행할 수 있다. 예를 들어, 전처리는 배드 픽셀 보정(bad pixel correction), 크로스토크 보정, 노이즈 제거, 비닝, 사이즈 변경, 색 공간 변환 등의 이미지 처리를 포함할 수 있다.
인코더(120)는 처리 로직(150)으로부터 수신된 이미지 데이터(IDT)(또는 원본 이미지 데이터(RDT)를 압축하여 압축 데이터(CDT)를 생성할 수 있다. 인코더(120)는 이미지 데이터(IDT)를 픽셀 그룹 단위로 압축할 수 있으며, 압축이 수행된 주변 픽셀 그룹을 이용하여 압축이 수행될 대상 픽셀 그룹을 압축할 수 있다. 전술한 바와 같이, 대상 픽셀 그룹이 고립 영역에 해당할 경우, 인코더(120)는 가상 참조 맵을 생성하고, 이를 기초로 대상 픽셀 그룹을 압축할 수 있다.
압축 데이터(CDT)는 인터페이스(130)로 제공되며, 인터페이스(130)는 압축 데이터(CDT)를 이미지 처리 장치(도 1의 200)으로 전송할 수 있다.
도 11b를 참조하면, 이미지 센서 모듈(100a)은 메모리(160)를 더 포함할 수 있다. 메모리(160)는 DRAM, SRAM 등과 같은 휘발성 메모리 또는 PRAM, ReRAM, MRAM, 플래시 메모리와 같은 비휘발성 메모리를 포함할 수 있다. 인코더(120)에서 생성된 압축 데이터(CDT)는 메모리(160)에 저장될 수 있다. 압축 데이터(CDT)는 메모리(160)로부터 독출되어 인터페이스(130)을 통해 출력될 수 있다.
도 12는 본 개시의 예시적인 실시예에 따른 디코더를 개략적으로 나타내는 블록도이다.
디코더(230)는 인코더(도 1의 120)가 이미지 데이터(IDT)를 인코딩하기 위해 거치는 일련의 과정을 역순으로 수행함으로써, 압축 데이터(CDT)를 압축 해제하여 압축 해제 데이터(DDT), 예컨대 복원된 이미지 데이터를 생성할 수 있다.
디코더(230)는 인코더(120)에서 사용된 인코딩 방법에 상응하는 디코딩 방법을 이용하여 압축 데이터(CDT)를 압축 해제할 수 있다. 디코더(230)는 비트스트림 단위로 압축 데이터(CDT)를 디코딩할 수 있다.
디코더(230)는 참조 픽셀 검출기(231), 모드 결정기(232), 압축 해제기(233), 참조 버퍼(234)를 포함할 수 있다.
참조 픽셀 검출기(231)는 압축 데이터(CDT)를 수신하고, 참조 버퍼(234)로부터 이미지 데이터(CDT)에 포함된 비트스트림들 중 압축 해제가 수행될 대상 비트스트림의 압축 해제에 이용될 참조 맵을 수신할 수 있다. 참조 맵은 참조 대상 비트스트림과 관련된 픽셀 그룹의 주변 픽셀들, 다시 말해서 참조 픽셀들의 참조 값들을 포함한다.
참조 픽셀 검출기(231)는 참조 버퍼(235)에 저장된 복원된 이미지 데이터에서 대상 픽셀 그룹과 위치적으로 근접한 참조 픽셀들의 참조 값들, 다시 말해서 참조 픽셀들의 복원된 픽셀 값들을 검출하고, 참조 버퍼(235)로부터 참조 값들을 참조 맵으로서 수신할 수 있다. 참조 픽셀 검출기(231)는 압축 데이터(CDT)의 대상 비트 스트림 및 참조 맵을 모드 결정기(232) 또는 압축 해제기(233)에 제공할 수 있다.
모드 결정기(232)는 비트스트림의 헤더를 해독하고, 해독 결과로서 모드 정보, 압축률, 손실 정보 등을 결정할 수 있다. 본 개시의 예시적인 실시예에 따르면, 모드 결정기(232)는 헤더를 해독한 결과로서, 오프셋 인코딩 방식 또는 다른 인코딩 방식(예컨대 DPCM 방식)으로 압축이 수행되었음을 확인할 수 있다.
압축 해제기(233)는 결정된 압축 모드, 압축률, 손실 정보 등에 기초하여 비트스트림으로부터 대상 픽셀들을 복원할 수 있다. 본 개시의 예시적인 실시예에 따르면, 압축 해제기(233)는 참조 맵에 오프셋을 적용하여 가상 참조 맵을 생성하고, 가상 참조 맵을 기초로 비트스트림을 디코딩할 수 있다. 압축 해제기(233)는 참조 맵에 포함된 참조 값들 각각에 대하여 인코더(120)에서 이용된 오프셋 값을 적용하여 보상 참조 값들을 산출할 수 있다. 가상 참조 맵은 보상 참조 값들을 포함할 수 있다. 압축 해제기(233)는 가상 참조 맵의 적어도 하나의 보상 참조 값 또는 픽셀 그룹 단위의 보상 참조 값들을 이용하여 비트스트림을 디코딩할 수 있다. 비트스트림의 디코딩에 의하여 생성된 픽셀 그룹들이 압축 해제 데이터(DDT)로서 출력될 수 있다.
참조 버퍼(234)는 압축 해제 데이터(DDT), 다시 말해서 복원된 이미지 데이터를 저장할 수 있다. 실시예에 있어서, 참조 버퍼(234)는 복원된 이미지 데이터 중 다음으로 압축 해제될 비트스트림에 대응하는 픽셀 그룹들을 저장할 수 있다. 실시예에 있어서 이미지 처리 장치(도 1의 200)에 구비되는 메모리 또는 버퍼(예컨대 메모리(220))가 참조 버퍼(234)로 이용될 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 이미지 처리 시스템을 나타내는 블록도이다. 도 13은 도 1의 이미지 처리 시스템(10)의 변형 가능한 실시예를 나타낸다.
도 13을 참조하면, 이미지 처리 시스템(10b)은 이미지 센서 모듈(100b) 및 이미지 처리 장치(200b)를 포함할 수 있다. 이미지 센서 모듈(100b)은 이미지 센서(110) 및 인터페이스(130)를 포함할 수 있다. 이미지 센서 모듈(100b)은 메모리를 더 포함할 수 있다. 이미지 처리 장치(200b)는 인터페이스(210), 인코더(250), 디코더(230), 이미지 신호 처리기(240) 및 메모리(220)를 포함할 수 있다. 도 13의 인코더(250)은 도 1의 인코더(120)에 대응할 수 있다.
도 13의 이미지 처리 시스템(10b) 및 도 1의 이미지 처리 시스템(10)을 비교하면, 이미지 센서 모듈(100b)이 아닌 이미지 처리 장치(200b)가 인코더(250)를 포함할 수 있으며, 이미지 처리 장치(200b)가 이미지 데이터(IDT)를 압축할 수 있다. 나머지 구성들은 실질적으로 동일할 수 있다. 이미지 처리 시스템(10b)의 구성들 중 도 1의 이미지 처리 시스템(10)의 구성들과 중복되는 구성에 대한 설명은 생략하기로 한다.
도 13을 참조하면, 이미지 센서(110b)는 이미지 데이터(IDT)(원본 이미지 데이터 또는 전처리된 이미지 데이터)를 생성할 수 있다. 이미지 데이터(IDT)는 인터페이스(130)를 통해 이미지 처리 장치(200b)로 전송될 수 있다. 이미지 처리 장치(200b)는 이미지 센서 모듈(100b)로부터 이미지 데이터(IDT)를 수신하고, 이미지 데이터(IDT)를 압축하여 압축 데이터(CDT)를 메모리(220)에 저장할 수 있다. 이후, 디코더(230)가 메모리(220)에 저장된 압축 데이터(CDT)를 독출하고, 압축 데이터(CDT)를 압축 해제할 수 있다. 디코더(230)는 압축 해제 데이터(CDT), 예컨대 복원된 이미지 데이터를 이미지 신호 프로세서(240)에 제공할 수 있다.
전술한 바와 같이, 픽셀 그룹 단위로 압축 및 압축 해제가 수행될 수 있으며, 이미지 데이터(CDT)의 고립 영역에 해당하는 픽셀 그룹은 가상 참조 맵을 기초로 압축 또는 압축 해제될 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 압축 정보를 나타내는 표이다. 도 14는 IPI(Mobile Industry Processor Interface) 연합이 제시하는 표준에 따른 압축 모드(압축 방법)를 예시적으로 설명한다.
도 14를 참조하면, 테트라 패턴의 이미지 데이터(도 2의 IDT)가 다양한 압축 모드에 따라 압축될 수 있다. 한편, 본 개시는 이에 한하지 않으며, n×n 행열로 배치된 픽셀들을 포함하는 레드 픽셀 그룹, 블루 픽셀 그룹, 제1 그린 픽셀 그룹 및 제2 픽셀 그룹이 반복적으로 배치되는 이미지 데이터에 대해서도 다양한 압축 모드에 따라 압축될 수 있다.
압축 모드로서, AD(Average-based Directional Differential) 모드, eMPD(extended Multi-Pixel-based Differential) 모드, eHVD(extended Horizontal or Vertial Direction-based Differential) 모드, eHVA(extended Horizontal or Vertical Average-based Differential) 모드, OD(Oblique Direction-based Differential) 모드, eOUT(extended OUTlier compensation) 모드, OUT 모드 및 FNR(Fixed quantization and No-Refeence) 모드가 이용된다. 한편, 전술한 압축 모드들의 명칭은 하나의 예에 불과하며, 본 개시는 전술한 예에 한정되지 않는다.
AD 모드에서, 대상 픽셀 그룹에 대해 DPCM 방식으로 인코딩이 수행될 수 있다. 예를 들어, 대상 픽셀 그룹의 픽셀 값들의 평균 값과 참조 픽셀의 참조 값과의 차이값, 및 픽셀 값 각각과 평균 값의 차이값을 기초로 비트스트림(예컨대 도 7의 BSc)이 생성될 수 있다.
AD 모드는 세부적인 구현 알고리즘에 따라, MODE0, MODE1, MODE2, MODE3으로 구분될 수 있다. 압축 방법을 나타내는 헤더에 4 비트가 할당될 수 있으므로, 16개의 압축 모드들은 각기 상이한 비트로서 헤더 정보를 표현할 수 있다. 예를 들어, MODE0은 비트 0000으로, MODE1은 비트 0001로, MODE2는 비트 0010으로, MODE3은 비트 0011로 각각 표현될 수 있다.
OD 모드는 대각선 구조(diagonal)의 이미지 데이터(IDT)에 대해 압축할 수 있다. OD 모드는 세부적인 구현 알고리즘에 따라, MODE4(비트 0100), MODE5(비트 0101)로 구분될 수 있다.
이와 유사하게, eMPD 모드는 MODE8(비트 1000), MODE9(비트 1001), MODE10(비트 1010) 및 MODE11(비트 1011)를 포함할 수 있고, eHVD 모드는 MODE12(비트 1100) 및 MODE 13(비트 1101)를 포함할 수 있으며, eHVA 모드는 MODE14(비트 1110)를 포함할 수 있고, eOUT 모드는 MODE15(1111)를 포함하고, OUT 모드는 MODE7(0111)을 포함할 수 있다. FNR 모드는 MODE6(비트 01110)을 포함할 수 있다. 실시예에 있어서, 레지스터에 저장된 값에 따라서 MODE7(0111)은 eOUT 모드에 포함될 수 있다.
본 개시의 예시적인 실시예에 따른, 오프셋 인코딩 방식이 eOUT 모드에 해당할 수 있으며, 오프셋 모드 압축기(도 3a의 OMC)가 eOUT 모드를 나타내는 헤더를 포함하는 비트스트림을 생성할 수 있다.
예시적인 실시예에서, 모드 선택기(도 3a 및 도 3b의 123)는 AD 모드, eMPD 모드, eHVD 모드, eHVA 모드, OD 모드, eOUT 모드, 및 FNR 모드를 순차적으로 평가할 수 있고, 압축률, 손실 정보 등 압축 평가 지표에 따라 최적의 모드를 선택할 수 있다. 그러나, 본 개시의 기술적 사상은 제시된 모드 평가 순서에 제한되지는 않는다.
도 15a는 멀티 카메라 모듈을 포함하는 전자 장치의 블록도이고, 도 15b는 도 15a의 카메라 모듈의 상세 블록도이다.
도 15a를 참조하면, 전자 장치(1000)는 카메라 모듈 그룹(1100), 애플리케이션 프로세서(1200), PMIC(1300) 및 외부 메모리(1400)를 포함할 수 있다.
카메라 모듈 그룹(1100)은 복수의 카메라 모듈(1100a, 1100b, 1100c)을 포함할 수 있다. 비록 도면에는 3개의 카메라 모듈(1100a, 1100b, 1100c)이 배치된 실시예가 도시되어 있으나, 실시예들이 이에 제한되는 것은 아니다. 몇몇 실시예에서, 카메라 모듈 그룹(1100)은 2개의 카메라 모듈만을 포함하거나, k개(k는 4 이상의 자연수)의 카메라 모듈을 포함하도록 변형되어 실시될 수 있다.
이하, 도 15b를 참조하여, 카메라 모듈(1100b)의 상세 구성에 대해 보다 구체적으로 설명할 것이나, 이하의 설명은 실시예에 따라 다른 카메라 모듈들(1100a, 1100b)에 대해서도 동일하게 적용될 수 있다.
도 15b를 참조하면, 카메라 모듈(1100b)은 프리즘(1105), 광학 경로 폴딩 요소(Optical Path Folding Element, 이하, "OPFE")(1110), 액츄에이터(1130), 이미지 센싱 장치(1140) 및 저장부(1150)를 포함할 수 있다.
프리즘(1105)은 광 반사 물질의 반사면(1107)을 포함하여 외부로부터 입사되는 광(L)의 경로를 변형시킬 수 있다.
몇몇 실시예에서, 프리즘(1105)은 제1 방향(X)으로 입사되는 광(L)의 경로를 제1 방향(X)에 수직인 제2 방향(Y)으로 변경시킬 수 있다. 또한, 프리즘(1105)은 광 반사 물질의 반사면(1107)을 중심축(1106)을 중심으로 A방향으로 회전시키거나, 중심축(1106)을 B방향으로 회전시켜 제1 방향(X)으로 입사되는 광(L)의 경로를 수직인 제2 방향(Y)으로 변경시킬 수 있다. 이때, OPFE(1110)도 제1 방향(X)및 제2 방향(Y)과 수직인 제3 방향(Z)로 이동할 수 있다.
몇몇 실시예에서, 도시된 것과 같이, 프리즘(1105)의 A방향 최대 회전 각도는 플러스(+) A방향으로는 15도(degree)이하이고, 마이너스(-) A방향으로는 15도보다 클 수 있으나, 실시예들이 이에 제한되는 것은 아니다.
몇몇 실시예에서, 프리즘(1105)은 플러스(+) 또는 마이너스(-) B방향으로 20도 내외, 또는 10도에서 20도, 또는 15도에서 20도 사이로 움직일 수 있고, 여기서, 움직이는 각도는 플러스(+) 또는 마이너스(-) B방향으로 동일한 각도로 움직이거나, 1도 내외의 범위로 거의 유사한 각도까지 움직일 수 있다.
몇몇 실시예에서, 프리즘(1105)은 광 반사 물질의 반사면(1106)을 중심축(1106)의 연장 방향과 평행한 제3 방향(예를 들어, Z방향)으로 이동할 수 있다.
몇몇 실시예에서, 카메라 모듈(1100b)은 2개 이상의 프리즘으로 구성될 수 있으며, 이를 통해 제1 방향(X)으로 입사되는 광(L)의 경로를 제1 방향(X)에 수직인 제2 방향(Y)으로, 다시 제1 방향(X) 혹은 제3 방향(Z) 그리고 다시 제2 방향(Y)등으로 다양하게 변화시킬 수 있다.
OPFE(1110)는 예를 들어 m(여기서, m은 자연수)개의 그룹으로 이루어진 광학 렌즈를 포함할 수 있다. m개의 렌즈는 제2 방향(Y)으로 이동하여 카메라 모듈(1100b)의 광학 줌 배율(optical zoom ratio)을 변경할 수 있다. 예를 들어, 카메라 모듈(1100b)의 기본 광학 줌 배율을 Z라고할 때, OPFE(1110)에 포함된 m개의 광학 렌즈를 이동시킬 경우, 카메라 모듈(1100b)의 광학 줌 배율은 3Z 또는 5Z 또는 5Z 이상의 광학 줌 배율로 변경될 수 있다.
액츄에이터(1130)는 OPFE(1110) 또는 광학 렌즈(이하, 광학 렌즈로 지칭)를 특정 위치로 이동시킬 수 있다. 예를 들어 액츄에이터(1130)는 정확한 센싱을 위해 이미지 센서(1142)가 광학 렌즈의 초점 거리(focal length)에 위치하도록 광학 렌즈의 위치를 조정할 수 있다.
이미지 센싱 장치(1140)는 이미지 센서(1142), 제어 로직(1144) 및 메모리(1146)를 포함할 수 있다. 도 1의 이미지 센서 모듈(100) 또는 도 13의 이미지 센서 모듈(100b)이 이미지 센싱 장치(1140)로서 적용될 수 있다.
이미지 센서(1142)는 광학 렌즈를 통해 제공되는 광(L)을 이용하여 센싱 대상의 이미지를 센싱할 수 있다. 제어 로직(1144)은 카메라 모듈(1100b)의 전반적인 동작의 제어 및 센싱된 이미지를 처리(Processing) 할 수 있다. 예를 들어, 제어 로직(1144)은 제어 신호 라인(CSLb)을 통해 제공된 제어 신호에 따라 카메라 모듈(1100b)의 동작을 제어할 수 있으며, 센싱된 이미지에서 특정 이미지에 해당되는 이미지 데이터(예를 들면, 이미지 내의 사람의 얼굴, 팔, 다리 등)를 추출하거나 또는 노이즈 제거 등의 이미지 처리를 수행할 수 있다.
실시예에 있어서, 제어 로직(1144)은 인코더(도 1의 120)를 포함할 수 있으며, 센싱된 이미지 또는 이미지 처리된 이미지를 압축(Encoding)할 수 있다. 전술한 바와 같이, 인코더(120)는 이미지를 픽셀 그룹 단위로 압축할 수 있으며, 고립 영역의 픽셀 그룹에 대하여 오프셋 인코딩 방식에 따라 압축할 수 있다.
메모리(1146)는 캘리브레이션 데이터(1147)와 같은 카메라 모듈(1100b)의 동작에 필요한 정보를 저장할 수 있다. 캘리브레이션 데이터(1147)는 카메라 모듈(1100b)이 외부로부터 제공된 광(L)을 이용하여 이미지 데이터를 생성하는데 필요한 정보로, 예를 들어, 회전도(degree of rotation)에 관한 정보, 초점 거리(focal length)에 관한 정보, 광학 축(optical axis)에 관한 정보 등을 포함할 수 있다. 카메라 모듈(1100b)이 광학 렌즈의 위치에 따라 초점 거리가 변하는 멀티 스테이트(multi state) 카메라 형태로 구현될 경우, 캘리브레이션 데이터(1147)는 광학 렌즈의 각 위치별(또는 스테이트별) 초점 거리 값과 오토 포커싱(auto focusing)과 관련된 정보를 포함할 수 있다.
몇몇 실시예에 있어서, 압축된 데이터가 메모리(1146)에 저장될 수 있다. 또한, 메모리(1146)는 인코더(120)의 참조 버퍼(125)로 이용될 수 있다.
저장부(1150)는 이미지 센서(1142)를 통해 센싱된 이미지 데이터를 저장할 수 있다. 저장부(1150)는 이미지 센싱 장치(1140)의 외부에 배치될 수 있으며, 이미지 센싱 장치(1140)를 구성하는 센서 칩과 스택된(stacked) 형태로 구현될 수 있다. 몇몇 실시예에서, 이미지 센서(1142)는 첫번째 칩으로 구성되고, 제어 로직(1144)과 저장부(1150)와 메모리(1146)는 두번째 칩으로 구성되어 두 개의 칩이 스택된 형태로 구현될 수 있다.
몇몇 실시예에서, 저장부(1150)는 EEPROM(Electrically Erasable Programmable Read-Only Memory)으로 구현될 수 있으나 실시예들이 이에 제한되는 것은 아니다. 몇몇 실시예에서, 이미지 센서(1142)는 픽셀 어레이로 구성이 되어있고, 제어 로직(1144)은 아날로그 디지털 컨버터(Analog to digital converter) 및 센싱된 이미지 처리를 위한 이미지 신호 처리부를 포함할 수 있다.
도 15a와 도 15b를 함께 참조하면, 몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각은 액츄에이터(1130)를 포함할 수 있다. 이에 따라, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각은 그 내부에 포함된 액츄에이터(1130)의 동작에 따른 서로 동일하거나 서로 다른 캘리브레이션 데이터(1147)를 포함할 수 있다.
몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 중 하나의 카메라 모듈(예를 들어, 1100b)은 앞서 설명한 프리즘(1105)과 OPFE(1110)를 포함하는 폴디드 렌즈(folded lens) 형태의 카메라 모듈이고, 나머지 카메라 모듈들(예를 들어, 1100a, 1100c)은 프리즘(1105)과 OPFE(1110)가 포함되지 않은 버티칼(vertical) 형태의 카메라 모듈일 수 있으나, 이에 제한되는 것은 아니다.
몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 중 하나의 카메라 모듈(예를 들어, 1100c)은 예를 들어, IR(Infrared Ray)을 이용하여 깊이(depth) 정보를 추출하는 버티컬 형태의 깊이 카메라(depth camera)일 수 있다. 이 경우, 애플리케이션 프로세서(1200)는 이러한 깊이 카메라로부터 제공받은 이미지 데이터와 다른 카메라 모듈(예를 들어, 1100a 또는 1100b)로부터 제공받은 이미지 데이터를 병합(merge)하여 3차원 깊이 이미지(3D depth image)를 생성할 수 있다.
몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 중 적어도 두 개의 카메라 모듈(예를 들어, 1100a, 1100b)은 서로 다른 관측 시야(Field of View, 시야각)를 가질 수 있다. 이 경우, 예를 들어, 복수의 카메라 모듈(1100a, 1100b, 1100c) 중 적어도 두 개의 카메라 모듈(예를 들어, 1100a, 1100b)의 광학 렌즈가 서로 다를 수 있으나, 이에 제한되는 것은 아니다.
또한, 몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각의 시야각은 서로 다를 수 있다. 예를 들어, 카메라 모듈(1100a)은 울트라 와이드(ultrawide) 카메라이고, 카메라 모듈(1100b)은 와이드(wide) 카메라이고, 카메라 모듈(1100c)은 텔레(tele) 카메라일 수 있으나, 이에 제한되는 것은 아니다. 이 경우, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각에 포함된 광학 렌즈 역시 서로 다를 수 있으나, 이에 제한되는 것은 아니다.
몇몇 실시예에서, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각은 서로 물리적으로 분리되어 배치될 수 있다. 즉, 하나의 이미지 센서(1142)의 센싱 영역을 복수의 카메라 모듈(1100a, 1100b, 1100c)이 분할하여 사용하는 것이 아니라, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각의 내부에 독립적인 이미지 센서(1142)가 배치될 수 있다.
다시 도 15a를 참조하면, 애플리케이션 프로세서(1200)는 이미지 처리 장치(1210), 메모리 컨트롤러(1220), 내부 메모리(1230)를 포함할 수 있다. 애플리케이션 프로세서(1200)는 복수의 카메라 모듈(1100a, 1100b, 1100c)과 예를 들어 별도의 반도체 칩으로 서로 분리되어 구현될 수 있다.
이미지 처리 장치(1210)는 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c), 이미지 생성기(1214) 및 카메라 모듈 컨트롤러(1216)를 포함할 수 있다.
이미지 처리 장치(1210)는 복수의 카메라 모듈(1100a, 1100b, 1100c)의 개수에 대응하는 개수의 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c)를 포함할 수 있다.
카메라 모듈(1100a)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLa)을 통해 서브 이미지 프로세서(1212a)에 제공되고, 카메라 모듈(1100b)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLb)을 통해 서브 이미지 프로세서(1212b)에 제공되고, 카메라 모듈(1100c)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLc)을 통해 서브 이미지 프로세서(1212c)에 제공될 수 있다. 이러한 이미지 데이터 전송은 예를 들어, MIPI(Mobile Industry Processor Interface)에 기반한 카메라 직렬 인터페이스(CSI; Camera Serial Interface)를 이용하여 수행될 수 있으나, 이에 제한되는 것은 아니다.
실시예에 있어서, 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c) 중 적어도 하나는 디코더(도 1의 230)를 포함할 수 있다. 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c)는 대응하는 카메라 모듈(1100a, 1100b, 1100c)이 인코더(도 1의 120)을 포함할 경우, 압축된 이미지 데이터를 압축 해제하기 위하여 디코더(230)를 포함할 수 있다.
몇몇 실시예에 있어서, 도 13의 이미지 처리 장치(200b)가 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c) 중 적어도 하나로 구현될 수 있으며, 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c) 중 적어도 하나의 서브 이미지 프로세서는 인코더(도 13의 250) 및 디코더(도 13의 230)을 포함할 수 있다.
한편, 몇몇 실시예에서, 하나의 서브 이미지 프로세서가 복수의 카메라 모듈에 대응되도록 배치될 수도 있다. 예를 들어, 서브 이미지 프로세서(1212a)와 서브 이미지 프로세서(1212c)가 도시된 것처럼 서로 분리되어 구현되는 것이 아니라 하나의 서브 이미지 프로세서로 통합되어 구현되고, 카메라 모듈(1100a)과 카메라 모듈(1100c)로부터 제공된 이미지 데이터는 선택 소자(예를 들어, 멀티플렉서) 등을 통해 선택된 후, 통합된 서브 이미지 프로세서에 제공될 수 있다. 이 때, 서브 이미지 프로세서(1212b)는 통합되지 않고, 카메라 모듈(1100b)로부터 이미지 데이터를 제공받을 수 있다.
또한, 몇몇 실시예에서, 카메라 모듈(1100a)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLa)을 통해 서브 이미지 프로세서(1212a)에 제공되고, 카메라 모듈(1100b)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLb)을 통해 서브 이미지 프로세서(1212b)에 제공되고, 카메라 모듈(1100c)로부터 생성된 이미지 데이터는 이미지 신호 라인(ISLc)을 통해 서브 이미지 프로세서(1212c)에 제공될 수 있다. 그리고, 서브 이미지 프로세서(1212b)에서 처리된 이미지 데이터는 이미지 생성기(1214)에 바로 제공되나, 서브 이미지 프로세서(1212a)에서 처리된 이미지 데이터와 서브 이미지 프로세서 (1212c)에서 처리된 이미지 데이터는 선택소자(예를 들어, 멀티플렉서) 등을 통해 어느 하나가 선택된 후, 이미지 생성기(1214)에 제공될 수 있다.
각각의 서브 이미지 프로세서(1212a, 1212b, 1212c)는 카메라 모듈(1100a, 1100b, 1100c)로부터 제공된 이미지 데이터에 대해, 불량 픽셀 보정(bad pixel correction), 3A 조정(Auto-focus correction, Auto-white balance, Auto-exposure), 노이즈 제거(noise reduction), 샤프닝(sharpening), 감마 조정(gamma control), 리모자익(remosaic) 등의 이미지 처리를 수행할 수 있다.
몇몇 실시예에서, 리모자익(remosaic) 신호 처리는 각각의 카메라 모듈(1100a, 1100b, 1100c)에서 수행된 후, 서브 이미지 프로세서(1212a, 1212b, 1212c)에 제공될 수도 있다.
각각의 서브 이미지 프로세서(1212a, 1212b, 1212c)에서 처리된 이미지 데이터는 이미지 생성기(1214)에 제공될 수 있다. 이미지 생성기(1214)는 이미지 생성 정보(Generating Information) 또는 모드 신호(Mode Signal)에 따라 각각의 서브 이미지 프로세서(1212a, 1212b, 1212c)로부터 제공받은 이미지 데이터를 이용하여 출력 이미지를 생성할 수 있다.
구체적으로, 이미지 생성기(1214)는 이미지 생성 정보 또는 모드 신호에 따라, 이미지 프로세서(1212a, 1212b, 1212c)로부터 생성된 이미지 데이터 중 적어도 일부를 병합(merge)하여 출력 이미지를 생성할 수 있다. 또한, 이미지 생성기(1214)는 이미지 생성 정보 또는 모드 신호에 따라, 이미지 프로세서(1212a, 1212b, 1212c)로부터 생성된 이미지 데이터 중 어느 하나를 선택하여 출력 이미지를 생성할 수 있다.
몇몇 실시예에서, 이미지 생성 정보는 줌 신호(zoom signal or zoom factor)를 포함할 수 있다. 또한, 몇몇 실시예에서, 모드 신호는 예를 들어, 유저(user)로부터 선택된 모드에 기초한 신호일 수 있다.
이미지 생성 정보가 줌 신호(줌 팩터)이고, 각각의 카메라 모듈(1100a, 1100b, 1100c)이 서로 다른 관측 시야(시야각)를 갖는 경우, 이미지 생성기(1214)는 줌 신호의 종류에 따라 서로 다른 동작을 수행할 수 있다. 예를 들어, 줌 신호가 제1 신호일 경우, 서브 이미지 프로세서(1212a)로부터 출력된 이미지 데이터와 서브 이미지 프로세서(1212c)로부터 출력된 이미지 데이터 중, 서브 이미지 프로세서(1212a)로부터 출력된 이미지 데이터와, 서브 이미지 프로세서(1212b)로부터 출력된 이미지 데이터를 이용하여, 출력 이미지를 생성할 수 있다. 만약, 줌 신호가 제1 신호와 다른 제2 신호일 경우, 이미지 생성기(1214)는 서브 이미지 프로세서(1212a)로부터 출력된 이미지 데이터와 서브 이미지 프로세서(1212c)로부터 출력된 이미지 데이터 중, 서브 이미지 프로세서(1212c)로부터 출력된 이미지 데이터와, 서브 이미지 프로세서(1212b)로부터 출력된 이미지 데이터를 이용하여, 출력 이미지를 생성할 수 있다. 만약, 줌 신호가 제1 및 제2 신호와 다른 제3 신호일 경우, 이미지 생성기(1214)는 이러한 이미지 데이터 병합을 수행하지 않고, 각각의 서브 이미지 프로세서(1212a, 1212b, 1212c)로부터 출력된 이미지 데이터 중 어느 하나를 선택하여 출력 이미지를 생성할 수 있다. 하지만 실시예들이 이에 제한되는 것은 아니며, 필요에 따라 이미지 데이터를 처리하는 방법은 얼마든지 변형되어 실시될 수 있다.
몇몇 실시예에서, 이미지 처리 장치(1210)는 서브 이미지 프로세서들(1212a, 1212b, 1212c)의 출력을 선택하여 이미지 생성기(1214)에 전달하는 선택부(미도시)를 더 포함할 수 있다.
이 경우, 선택부는 줌 신호 또는 줌 팩터에 따라 서로 다른 동작을 수행할 수 있다. 예를 들어, 선택부는 줌 신호가 제4 신호(예를 들어, 줌 배율이 제1 배율)일 경우, 서브 이미지 프로세서들(1212a, 1212b, 1212c)의 출력 중 어느 하나를 선택하여 이미지 생성기(1214)에 전달할 수 있다.
또한, 선택부는 줌 신호가 제4 신호와 다른 제5 신호(예를 들어, 줌 배율이 제2 배율)일 경우, 서브 이미지 프로세서들(1212a, 1212b, 1212c)의 출력 중 p개(p는 2이상의 자연수)의 출력을 순차적으로 이미지 생성기(1214)에 전달할 수 있다. 예를 들어, 선택부는 서브 이미지 프로세서(1212b)와 서브 이미지 프로세서(1212c)의 출력을 순차적으로 이미지 생성기(1214)에 전달할 수 있다. 또한, 선택부는 서브 이미지 프로세서(1212a)와 서브 이미지 프로세서(1212b)의 출력을 순차적으로 이미지 생성기(1214)에 전달할 수 있다. 이미지 생성기(1214)는 순차적으로 제공받은 p개의 출력을 병합하여 하나의 출력 이미지를 생성할 수 있다.
여기서, 디모자익(demosaic), 비디오/프리뷰(video/preview) 해상도 사이즈로 다운 스케일링(down scaling), 감마 보정, HDR(High Dynamic Range) 처리 등의 이미지 처리는 서브 이미지 프로세서들(1212a, 1212b, 1212c)에서 미리 수행된 후, 처리된 이미지 데이터가 이미지 생성기(1214)에 전달된다. 따라서, 처리된 이미지 데이터가 선택부를 통해 하나의 신호 라인으로 이미지 생성기(1214)에 제공되어도 이미지 생성기(1214)의 이미지 병합 동작이 고속으로 수행될 수 있다.
몇몇 실시예에서, 이미지 생성기(1214)는 복수의 서브 이미지 프로세서(1212a, 1212b, 1212c) 중 적어도 하나로부터 노출 시간이 상이한 복수의 이미지 데이터를 수신하고, 복수의 이미지 데이터에 대하여 HDR(high dynamic range) 처리를 수행함으로써, 다이나믹 레인지가 증가된 병합된 이미지 데이터를 생성할 수 있다.
카메라 모듈 컨트롤러(1216)는 각각의 카메라 모듈(1100a, 1100b, 1100c)에 제어 신호를 제공할 수 있다. 카메라 모듈 컨트롤러(1216)로부터 생성된 제어 신호는 서로 분리된 제어 신호 라인(CSLa, CSLb, CSLc)를 통해 대응되는 카메라 모듈(1100a, 1100b, 1100c)에 제공될 수 있다.
복수의 카메라 모듈(1100a, 1100b, 1100c) 중 어느 하나는 줌 신호를 포함하는 이미지 생성 정보 또는 모드 신호에 따라 마스터(master) 카메라(예를 들어, 1100b)로 지정되고, 나머지 카메라 모듈들(예를 들어, 1100a, 1100c)은 슬레이브(slave) 카메라로 지정될 수 있다. 이러한 정보는 제어 신호에 포함되어, 서로 분리된 제어 신호 라인(CSLa, CSLb, CSLc)를 통해 대응되는 카메라 모듈(1100a, 1100b, 1100c)에 제공될 수 있다.
줌 팩터 또는 동작 모드 신호에 따라 마스터 및 슬레이브로서 동작하는 카메라 모듈이 변경될 수 있다. 예를 들어, 카메라 모듈(1100a)의 시야각이 카메라 모듈(1100b)의 시야각보다 넓고, 줌 팩터가 낮은 줌 배율을 나타낼 경우, 카메라 모듈(1100a)이 마스터로서 동작하고, 카메라 모듈(1100b)이 슬레이브로서 동작할 수 있다. 반대로, 줌 팩터가 높은 줌 배율을 나타낼 경우, 카메라 모듈(1100b)이 마스터로서 동작하고, 카메라 모듈(1100a)이 슬레이브로서 동작할 수 있다.
몇몇 실시예에서, 카메라 모듈 컨트롤러(1216)로부터 각각의 카메라 모듈(1100a, 1100b, 1100c)에 제공되는 제어 신호는 싱크 인에이블 신호(sync enable) 신호를 포함할 수 있다. 예를 들어, 카메라 모듈(1100b)이 마스터 카메라이고, 카메라 모듈들(1100a, 1100c)이 슬레이브 카메라인 경우, 카메라 모듈 컨트롤러(1216)는 카메라 모듈(1100b)에 싱크 인에이블 신호를 전송할 수 있다. 이러한 싱크 인에이블 신호를 제공받은 카메라 모듈(1100b)은 제공받은 싱크 인에이블 신호를 기초로 싱크 신호(sync signal)를 생성하고, 생성된 싱크 신호를 싱크 신호 라인(SSL)을 통해 카메라 모듈들(1100a, 1100c)에 제공할 수 있다. 카메라 모듈(1100b)과 카메라 모듈들(1100a, 1100c)은 이러한 싱크 신호에 동기화되어 이미지 데이터를 애플리케이션 프로세서(1200)에 전송할 수 있다.
몇몇 실시예에서, 카메라 모듈 컨트롤러(1216)로부터 복수의 카메라 모듈(1100a, 1100b, 1100c)에 제공되는 제어 신호는 모드 신호에 따른 모드 정보를 포함할 수 있다. 이러한 모드 정보에 기초하여 복수의 카메라 모듈(1100a, 1100b, 1100c)은 센싱 속도와 관련하여 제1 동작 모드 및 제2 동작 모드로 동작할 수 있다.
복수의 카메라 모듈(1100a, 1100b, 1100c)은 제1 동작 모드에서, 제1 속도로 이미지 신호를 생성(예를 들어, 제1 프레임 레이트의 이미지 신호를 생성)하여 이를 제1 속도보다 높은 제2 속도로 인코딩(예를 들어, 제1 프레임 레이트보다 높은 제2 프레임 레이트의 이미지 신호를 인코딩)하고, 인코딩된 이미지 신호를 애플리케이션 프로세서(1200)에 전송할 수 있다. 이때, 제2 속도는 제1 속도의 30배 이하일 수 있다.
애플리케이션 프로세서(1200)는 수신된 이미지 신호, 다시 말해서 인코딩된 이미지 신호를 내부에 구비되는 메모리(1230) 또는 애플리케이션 프로세서(1200) 외부의 스토리지(1400)에 저장하고, 이후, 메모리(1230) 또는 스토리지(1400)로부터 인코딩된 이미지 신호를 독출하여 디코딩하고, 디코딩된 이미지 신호에 기초하여 생성되는 이미지 데이터를 디스플레이할 수 있다. 예를 들어, 이미지 처리 장치(1210)의 복수의 서브 이미지 프로세서들(1212a, 1212b, 1212c) 중 대응하는 서브 이미지 프로세서가 디코딩을 수행할 수 있으며, 또한 디코딩된 이미지 신호에 대하여 이미지 처리를 수행할 수 있다.
복수의 카메라 모듈(1100a, 1100b, 1100c)은 제2 동작 모드에서, 제1 속도보다 낮은 제3 속도로 이미지 신호를 생성(예를 들어, 제1 프레임 레이트보다 낮은 제3 프레임 레이트의 이미지 신호를 생성)하고, 이미지 신호를 애플리케이션 프로세서(1200)에 전송할 수 있다. 애플리케이션 프로세서(1200)에 제공되는 이미지 신호는 인코딩되지 않은 신호일 수 있다. 애플리케이션 프로세서(1200)는 수신되는 이미지 신호에 대하여 이미지 처리를 수행하거나 또는 이미지 신호를 메모리(1230) 또는 스토리지(1400)에 저장할 수 있다.
PMIC(1300)는 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각에 전력, 예컨대 전원 전압을 공급할 수 있다. 예를 들어, PMIC(1300)는 애플리케이션 프로세서(1200)의 제어 하에, 파워 신호 라인(PSLa)을 통해 카메라 모듈(1100a)에 제1 전력을 공급하고, 파워 신호 라인(PSLb)을 통해 카메라 모듈(1100b)에 제2 전력을 공급하고, 파워 신호 라인(PSLc)을 통해 카메라 모듈(1100c)에 제3 전력을 공급할 수 있다.
PMIC(1300)는 애플리케이션 프로세서(1200)로부터의 전력 제어 신호(PCON)에 응답하여, 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각에 대응하는 전력을 생성하고, 또한 전력의 레벨을 조정할 수 있다. 전력 제어 신호(PCON)는 복수의 카메라 모듈(1100a, 1100b, 1100c)의 동작 모드 별 전력 조정 신호를 포함할 수 있다. 예를 들어, 동작 모드는 저전력 모드(low power mode)를 포함할 수 있으며, 이때, 전력 제어 신호(PCON)는 저전력 모드로 동작하는 카메라 모듈 및 설정되는 전력 레벨에 대한 정보를 포함할 수 있다. 복수의 카메라 모듈(1100a, 1100b, 1100c) 각각에 제공되는 전력들의 레벨은 서로 동일하거나 또는 서로 상이할 수 있다. 또한, 전력의 레벨은 동적으로 변경될 수 있다.
도 16은 본 개시의 예시적 실시예에 따른 전자 장치를 개략적으로 나타내는블록도이다. 도 16의 전자 장치(2000)는 휴대용 단말기일 수 있다.
도 16을 참조하면, 전자 장치(2000)는 어플리케이션 프로세서(2100), 카메라 모듈(2200), 워킹 메모리(2300), 스토리지(2400), 디스플레이 장치(2600), 유저 인터페이스(2700) 및 무선 송수신부(2500)를 포함할 수 있다.
어플리케이션 프로세서(2100)는 이미지 처리 시스템(2000)의 전반적인 동작을 제어하며 응용 프로그램, 운영 체제 등을 구동하는 시스템 온 칩(SoC)으로 구현될 수 있다. 어플리케이션 프로세서(2100)는 카메라 모듈(2200)로부터 제공되는 이미지 데이터를 디스플레이 장치(2600)에 제공하거나 또는 스토리지(2400)에 저장할 수 있다.
도 1 내지 도 11b를 참조하여 설명한 이미지 센서 모듈(100)이 카메라 모듈(2200)에 적용될 수 있다. 이미지 센서(2200)는 인코더(2210)를 포함할 수 있으며, 인코더(2210)는 이미지 데이터를 압축하여 압축 데이터를 생성하고 압축 데이터를 어플리케이션 프로세서(2100)에 전송할 수 있다. 전술한 바와 같이, 인코더(2210)는 이미지 데이터의 적어도 일부, 예컨대 적어도 하나의 픽셀 그룹이 고립 영역에 해당될 경우, 상기 픽셀 그룹을 오프셋 인코딩 방식을 이용하여 압축할 수 있다.
어플리케이션 프로세서(2100)는 인코더(2210)의 압축 방법, 예컨대 인코딩 방식에 대응하는 디코딩 방식으로 압축 데이터를 압축 해제하는 디코더(2110)를 포함할 수 있다. 디코더(2110)가 카메라 모듈(2200)로부터 수신된 압축 데이터를 압축 해제하여 복원된 이미지 데이터를 생성하고, 어플리케이션 프로세서(2100)는 복원된 이미지 데이터를 이미지 처리할 수 있다. 어플리케이션 프로세서(2100)는 복원된 이미지 데이터 또는 이미지 처리된 이미지 데이터를 디스플레이 장치(2600)에 표시하거나 또는 스토리지(2400)에 저장할 수 있다.
워킹 메모리(2300)는 DRAM, SRMA 등의 휘발성 메모리 또는 FeRAM, RRAM PRAM 등의 비휘발성의 저항성 메모리로 구현될 수 있다. 워킹 메모리(200)는 어플리케이션 프로세서(2100)가 처리 또는 실행하는 프로그램들 및/또는 데이터를 저장할 수 있다.
스토리지(2400)는 NADN 플래시, 저항성 메모리 등의 비휘발성 메모리 장치로 구현될 수 있으며, 예컨대 스토리지(2400)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 제공될 수 있다. 스토리지(2400)는 카메라 모듈(2200)로부터 수신되는 이미지 데이터 또는 어플리케이션(2100)에서 처리 또는 생성되는 데이터를 저장할 수 있다.
유저 인터페이스(2700)는 키보드, 커튼 키 패널, 터치 패널, 지문 센서, 마이크 등 사용자 입력을 수신할 수 있는 다양한 장치들로 구현될 수 있다. 유저 인터페이스(2700)는 사용자 입력을 수신하고, 수신된 사용자 입력에 대응하는 신호를 어플리케이션 프로세서(2100)에 제공할 수 있다.
무선 송수신부(2500)는 트랜시버(2510), 모뎀(2520) 및 안테나(2530)를 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 10b: 이미지 처리 시스템 100, 100a, 100b: 이미지 센서 모듈
200, 200b: 이미지 처리 장치 110: 이미지 센서
120, 120a: 인코더 230: 디코더

Claims (10)

  1. 이미지 센서에 의해 생성된 이미지 데이터를 압축하는 이미지 압축 방법에 있어서,
    상기 이미지 데이터 중 압축이 수행될 대상 픽셀 그룹의 픽셀 값들 및, 상기 대상 픽셀 그룹의 압축에 이용되는 참조 픽셀들의 참조 값들을 수신하는 단계;
    상기 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하는 단계;
    상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹의 상기 픽셀 값들을 압축하는 단계; 및
    상기 가상 참조 맵에 기초한 압축 결과 및 압축 정보를 기초로 비트스트림을 생성하는 단계를 포함하는 이미지 압축 방법.
  2. 제1 항에 있어서, 상기 참조 값들은 상기 대상 픽셀 그룹보다 먼저 압축된 상기 참조 픽셀들의 복원된 픽셀 값들에 대응하며, 상기 대상 픽셀 그룹에 포함된 픽셀의 픽셀 값과 상기 참조 값들 간의 차이가 임계 값 이상인 것을 특징으로 하는 이미지 압축 방법.
  3. 제1 항에 있어서, 상기 가상 참조 맵을 생성하는 단계는,
    상기 참조 값들을 기초로 상기 오프셋 값을 결정하는 단계를 포함하는 이미지 압축 방법.
  4. 제1 항에 있어서, 상기 픽셀 값들을 압축하는 단계는,
    상기 가상 참조 맵에 포함된 보상된 참조 값과 상기 대상 픽셀 그룹에 포함된 복수의 픽셀 중 제1 픽셀의 픽셀 값과의 제1 차이 값 및 상기 픽셀 값들 간의 제2 차이 값들을 산출하는 것을 특징으로 하는 이미지 압축 방법.
  5. 제4 항에 있어서, 상기 비트스트림은,
    상기 제1 차이 값 및 상기 제2 차이 값들을 나타내는 데이터 및 압축 방식을 나타내는 모드 정보를 포함하는 것을 특징으로 하는 이미지 압축 방법.
  6. 제5 항에 있어서, 상기 제1 차이 값이 포함되는 영역에 할당된 비트 수는 상기 제2 차이 값들 각각이 포함되는 영역에 할당된 비트 수보다 많은 것을 특징으로 하는 이미지 압축 방법.
  7. 제5 항에 있어서, 상기 비트스트림은,
    상기 데이터의 비트 쉬프트 량 또는 상기 오프셋 값을 나타내는 추가 정보를 더 포함하는 것을 특징으로 하는 이미지 압축 방법.
  8. 제1 항에 있어서, 상기 픽셀 값들을 압축하는 단계는,
    상기 픽셀 값들의 평균 값과 상기 가상 참조 맵에 포함된 적어도 하나의 보상된 참조 값과의 제1 차이 값 및 상기 평균 값과 상기 픽셀 값들 각각과의 제2 차이 값들을 산출하는 것을 특징으로 하는 이미지 압축 방법.
  9. 제1 항에 있어서,
    상기 비트스트림을 생성한 후, 상기 비트스트림을 압축해제하여 복원된 픽셀 값들을 생성하는 단계; 및
    상기 복원된 픽셀 값들을 기초로, 상기 대상 픽셀 그룹 이후에 압축이 수행될 다음 대상 픽셀 그룹의 압축에 이용될 참조 픽셀들을 포함하는 복원된 이미지를 생성하는 단계를 더 포함하는 이미지 압축 방법.
  10. 복수의 픽셀들을 포함하는 이미지 데이터를 생성하는 이미지 센서;
    상기 이미지 센서에서 생성된 이미지 데이터를 픽셀 그룹 단위로 순차적으로 압축하여 복수의 비트스트림을 포함하는 압축 데이터를 생성하고, 압축이 수행될 대상 픽셀 그룹을 복수의 인코딩 방식 중 적어도 하나의 인코딩 방식에 따라 압축하는 인코더; 및
    상기 압축 데이터를 외부의 이미지 처리 장치로 출력하는 인터페이스를 포함하고,
    상기 인코더는,
    상기 복수의 인코딩 방식 중 제1 인코딩 방식에 따라, 대상 픽셀 그룹에 인접하게 배치된 참조 픽셀들의 참조 값들 각각에 오프셋 값을 적용하여 가상 참조 맵을 생성하고, 상기 가상 참조 맵을 기초로 상기 대상 픽셀 그룹을 압축하는 것을 특징으로 하는 이미지 센서 모듈.
KR1020210029046A 2020-07-16 2021-03-04 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법 KR20220009854A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102021117397.3A DE102021117397A1 (de) 2020-07-16 2021-07-06 Bildsensormodul, bildverarbeitungssystem und bildkomprimierverfahren
US17/374,168 US11818369B2 (en) 2020-07-16 2021-07-13 Image sensor module, image processing system, and image compression method
TW110125860A TW202209888A (zh) 2020-07-16 2021-07-14 影像壓縮方法
JP2021116283A JP2022019644A (ja) 2020-07-16 2021-07-14 イメージセンサモジュール及びイメージ圧縮方法
CN202110802290.1A CN113949875A (zh) 2020-07-16 2021-07-15 图像传感器模块、图像处理系统和图像压缩方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200088451 2020-07-16
KR1020200088451 2020-07-16

Publications (1)

Publication Number Publication Date
KR20220009854A true KR20220009854A (ko) 2022-01-25

Family

ID=80049338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210029046A KR20220009854A (ko) 2020-07-16 2021-03-04 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법

Country Status (1)

Country Link
KR (1) KR20220009854A (ko)

Similar Documents

Publication Publication Date Title
US11818369B2 (en) Image sensor module, image processing system, and image compression method
CN113949876A (zh) 图像传感器模块、图像处理系统和图像压缩方法
US10848696B2 (en) Apparatus for encoding image, apparatus for decoding image and image sensor
CN113573064A (zh) 图像编码器、图像感测装置和图像编码器的操作方法
US20220385841A1 (en) Image sensor including image signal processor and operating method of the image sensor
KR20210052095A (ko) 이미지 부호화기, 이미지 복호화기, 및 이미지 처리 방법
KR20220009854A (ko) 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법
US11627250B2 (en) Image compression method, encoder, and camera module including the encoder
KR20220009853A (ko) 이미지 센서 모듈, 이미지 처리 시스템 및 이미지 압축 방법
US11570479B2 (en) Camera module, image processing device and image compression method
US11823417B2 (en) Camera module, image processing system and image compression method
US20240098387A1 (en) Image sensor, mobile device, and image sensor operation method for reducing data transmission latency
US20220020180A1 (en) Image compression method using saturated pixel, encoder, and electronic device
KR20220009849A (ko) 포화 픽셀을 이용하는 이미지 압축 방법, 인코더, 및 전자 장치
KR20220009843A (ko) 카메라 모듈, 이미지 처리 시스템 및 이미지 압축 방법
US20230011755A1 (en) Image signal processor, operation method of image signal processor, and image sensor device including image signal processor
US11758288B2 (en) Device for improving image resolution in camera system having lens that permits distortion and operation method thereof
KR20220161124A (ko) 이미지 신호 프로세서를 포함하는 이미지 센서 및 이의 동작 방법
KR20210131860A (ko) 카메라 모듈, 이미지 처리 장치 및 이미지 압축 방법
KR20230034877A (ko) 이미징 장치 및 이미지 처리 방법
CN114666522A (zh) 图像传感器、包括图像传感器的图像感测设备及操作方法