KR20170049191A - 이미지 처리 장치 및 이미지 처리 방법 - Google Patents

이미지 처리 장치 및 이미지 처리 방법 Download PDF

Info

Publication number
KR20170049191A
KR20170049191A KR1020150150269A KR20150150269A KR20170049191A KR 20170049191 A KR20170049191 A KR 20170049191A KR 1020150150269 A KR1020150150269 A KR 1020150150269A KR 20150150269 A KR20150150269 A KR 20150150269A KR 20170049191 A KR20170049191 A KR 20170049191A
Authority
KR
South Korea
Prior art keywords
image processing
data
mode
processing unit
input
Prior art date
Application number
KR1020150150269A
Other languages
English (en)
Other versions
KR102400104B1 (ko
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 KR1020150150269A priority Critical patent/KR102400104B1/ko
Priority to CN201610887147.6A priority patent/CN106657763B/zh
Priority to US15/295,592 priority patent/US10445851B2/en
Publication of KR20170049191A publication Critical patent/KR20170049191A/ko
Application granted granted Critical
Publication of KR102400104B1 publication Critical patent/KR102400104B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/30Transforming light or analogous information into electric information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/684Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
    • H04N5/335
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N9/045

Abstract

본 개시에 따른 이미지 처리 장치는, 메모리, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써 제1 데이터를 생성하는 제1 이미지 프로세싱 유닛, 및 제1 데이터에 대해 제2 이미지 처리를 수행함으로써 제2 데이터를 생성하는 제2 이미지 프로세싱 유닛을 포함하고, 제1 데이터는, 제1 동작 모드에서 제1 이미지 프로세싱 유닛에서 제2 이미지 프로세싱 유닛으로 직접 전달되고, 제1 동작 모드에서 제2 동작 모드로 변경되는 경우 제1 이미지 프로세싱 유닛에서 메모리를 거쳐 제2 이미지 프로세싱 유닛으로 전달된다.

Description

이미지 처리 장치 및 이미지 처리 방법{Image processing apparatus and Image processing method}
본 개시의 기술적 사상은 이미지 처리 장치에 관한 것으로, 더욱 상세하게는, 동작 모드에 따라 데이터의 입출력 모드를 동적으로 결정하는 이미지 처리 장치, 및 상기 이미지 처리 장치에서의 이미지 처리 방법에 관한 것이다.
이미지 센서는 광학 영상을 전기 신호로 변환시키는 소자이며, 이미지 처리 장치는 이미지 센서에서 획득된 이미지 데이터를 처리하는 장치이다. 스마트폰 또는 디지털 카메라 등과 같은 이미지 센서 및 이미지 처리 장치가 구현된 휴대용 전자 기기의 보급에 따라, 이미지 처리 장치의 동작 속도 향상 및 소비 전력 감소에 대한 요구가 높아지고 있다.
본 개시의 기술적 사상이 해결하려는 과제는 동작 속도를 향상시키고, 소비 전력 및 메모리 사용량을 감소시킬 수 있는 이미지 처리 장치, 어플리케이션 프로세서, 및 이미지 처리 방법을 제공하는 데에 있다.
본 개시의 기술적 사상에 따른 이미지 처리 장치는, 메모리, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써, 제1 데이터를 생성하는 제1 이미지 프로세싱 유닛, 및 상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써, 제2 데이터를 생성하는 제2 이미지 프로세싱 유닛을 포함하고, 상기 제1 데이터는, 제1 동작 모드에서 상기 제1 이미지 프로세싱 유닛에서 상기 제2 이미지 프로세싱 유닛으로 직접 전달되고, 상기 제1 동작 모드에서 제2 동작 모드로 변경되는 경우 상기 제1 이미지 프로세싱 유닛에서 상기 메모리를 거쳐 상기 제2 이미지 프로세싱 유닛으로 전달된다.
또한, 본 개시의 다른 기술적 사상에 따른 어플리케이션 프로세서는, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써, 제1 데이터를 생성하는 제1 이미지 프로세싱 유닛, 및 상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써, 제2 데이터를 생성하는 제2 이미지 프로세싱 유닛을 포함하고, 상기 제1 데이터는, 제1 동작 모드에서 상기 제1 이미지 프로세싱 유닛에서 상기 제2 이미지 프로세싱 유닛으로 직접 전달되고, 상기 제1 동작 모드에서 제2 동작 모드로 변경되는 경우 상기 제1 이미지 프로세싱 유닛에서 상기 메모리를 거쳐 상기 제2 이미지 프로세싱 유닛으로 전달된다.
또한, 본 개시의 다른 기술적 사상에 따른 이미지 처리 장치에서의 이미지 처리 방법은, 제1 이미지 프로세싱 유닛에서, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써 제1 데이터를 생성하는 단계, 상기 제1 이미지 프로세싱 유닛에서, 상기 제1 데이터의 입출력 모드에 따라, 상기 제1 데이터를 제2 이미지 프로세싱 유닛 또는 메모리에 출력하는 단계, 상기 제2 이미지 프로세싱 유닛에서, 상기 제1 데이터의 상기 입출력 모드에 따라, 상기 제1 데이터를 상기 제1 이미지 프로세싱 유닛 또는 상기 메모리로부터 수신하는 단계, 및 상기 제2 이미지 프로세싱 유닛에서, 상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써 제2 데이터를 생성하는 단계를 포함한다.
본 개시의 기술적 사상에 따른 이미지 처리 장치는 동작 모드에 따라 내부 블록들 사이에서의 데이터 입출력 모드를 동적으로 결정할 수 있으며, 구체적으로, 노말 모드에서는 디폴트 모드인 다이렉트 모드로 데이터를 전달하고, 줌 모드에서는 DMA 모드로 데이터를 전달할 수 있다. 이에 따라, 고품질의 영상을 저 전력, 저 레이턴시, 저 메모리 사용량으로 획득할 수 있다.
도 1은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 2a는 이미치 처리 장치의 동작 모드가 노말 모드인 경우 제1 및 제2 이미지 프로세싱 유닛들에서 처리하는 이미지들을 나타내고, 도 2b는 이미치 처리 장치의 동작 모드가 줌 모드인 경우 제1 및 제2 이미지 프로세싱 유닛들에서 처리하는 이미지들을 나타낸다.
도 3은 본 개시의 일 실시예에 따른 이미지 처리 장치의 동작 모드 별 데이터 입출력 모드를 나타낸다.
도 4a는 본 개시의 일 실시예에 따른 제1 입출력 모드를 나타내는 블록도이고, 도 4b는 본 개시의 일 실시예에 따른 제1 입출력 모드에서의 제1 및 제2 이미지 프로세싱 유닛들의 동작을 나타내는 타이밍도이다.
도 5a는 본 개시의 일 실시예에 따른 제2 입출력 모드를 나타내는 블록도이고, 도 5b는 본 개시의 일 실시예에 따른 제2 입출력 모드에서의 제1 및 제2 이미지 프로세싱 유닛들의 동작을 나타내는 타이밍도이다.
도 6은 이미지 처리 장치의 동작 모드가 줌 모드일 때에 제1 입출력 모드로 데이터를 전송하는 경우 제1 및 제2 이미지 프로세싱 유닛들의 동작의 일 예를 나타내는 타이밍도이다.
도 7은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 8은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 9는 도 8의 이미지 처리 장치에 입력되는 이미지 데이터를 나타낸다.
도 10은 본 개시의 일 실시예에 따른 이미지 처리 장치에서 제1 및 제2 이미지 처리 장치들의 동작의 예를 나타내는 타이밍도이다.
도 11은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 12는 도 11의 제1 및 제2 메모리 컨트롤러들을 더욱 상세하게 나타내는 블록도이다.
도 13은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 14는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 15는 본 개시의 일 실시예에 따른 이미지 처리 장치에서의 모드 변경 제어 로직의 일 예를 나타낸다.
도 16은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 17은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 18는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 19은 본 개시의 일 실시예에 따른 이미지 처리 장치에서의 모드 변경 제어 로직의 일 예를 나타낸다.
도 20은 본 개시의 일 실시예에 따른 이미지 처리 장치를 나타내는 블록도이다.
도 21은 본 개시의 일 실시예에 따른 도 20의 클럭 모듈의 제어에 따른 제1 및 제2 이미지 프로세싱 유닛들의 동작들을 나타내는 타이밍도이다.
도 22는 본 개시의 실시예들에 따른 이미지 처리 장치에서 제1 및 제2 이미지 프로세싱 유닛들의 동작을 나타내는 타이밍도이다.
도 23은 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 24는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 25는 본 개시의 일 실시예에 따른 어플리케이션 프로세서를 나타내는 블록도이다.
도 26은 본 개시의 일 실시에에 따른 전자 장치를 나타내는 블록도이다.
도 27은 본 개시의 일 실시예에 따른 전자 시스템 및 인터페이스를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 개시의 일 실시예에 따른 이미지 처리 장치(10)를 나타내는 블록도이다.
도 1을 참조하면, 이미지 처리 장치(10)는 이미지 신호 처리부(100) 및 메모리(MEM)를 포함할 수 있고, 이미지 신호 처리부(100)는 제1 이미지 프로세싱 유닛(110), 제2 이미지 프로세싱 유닛(120) 및 데이터 입출력 제어부(130)를 포함할 수 있다. 본 실시예에 따른 이미지 처리 장치(10)는 디지털 카메라 또는 디지털 카메라가 부착된 전자 장치, 예를 들어, 이동 전화기, 스마트폰(smartphone) 또는 태블릿 PC(personal computer) 등일 수 있다. 일 실시예예서, 이미지 신호 처리부(100)는 전자 장치의 어플리케이션 프로세서 내에 배치될 수 있다.
일부 실시예들에서, 메모리(MEM)는 휘발성 메모리(volatile memory)를 포함할 수 있다. 휘발성 메모리의 예를 들어, DRAM(Dynamic Random Access Memory)일 수 있으나, 본 발명이 이에 제한되는 것은 아니다. 일부 실시예들에서, 메모리(MEM)는 비휘발성 메모리 장치(non-volatile memory device)를 포함할 수도 있다. 비휘발성 메모리 장치는 예를 들어, NAND 플래시, NOR 플래시, MRAM, PRAM, ReRAM 등일 수 있으나, 역시 본 발명이 이에 제한되는 것은 아니다. 일부 실시예들에서, 메모리(MEM)는 하드 디스크 드라이브, 자기 기억 장치 등일 수도 있다.
일부 실시예들에서, 제1 및 제2 이미지 프로세싱 유닛들(110, 120) 및 데이터 입출력 제어부(130)는 시스템 온 칩(System-On-a-Chip, 이하 "SoC"로 지칭함)으로 구현될 수 있다. 여기서, SoC는 여러 기능을 갖는 시스템이 하나의 반도체 칩에 집적되어 구현된 것이며, 다수의 IP(Intellectual Property)들이 SoC에 집적될 수 있다. 다수의 IP들 각각은 SoC 내에 구현되어 각각의 특정 기능을 수행하며, 여기서, IP는 SoC에 집적될 수 있는 회로, 로직, 또는 이들의 조합을 의미한다. 본 실시예에서, 제1 이미지 프로세싱 유닛(110)은 제1 IP(IP1)로 지칭되고, 제2 이미지 프로세싱 유닛(120)은 제2 IP(IP2)로 지칭될 수 있다. 또한, 일부 실시예들에서, 제1 및 제2 이미지 프로세싱 유닛들(110, 120), 데이터 입출력 제어부(130) 및 메모리(MEM)가 SoC로 구현될 수도 있다.
제1 이미지 프로세싱 유닛(110)은 이미지 데이터(ID)를 수신하고, 수신한 이미지 데이터(ID)에 대해 제1 이미지 처리를 수행함으로써 제1 데이터(D1)를 생성할 수 있다. 제1 이미지 프로세싱 유닛(110)은 프리(pre) 프로세싱 유닛, 프리 IP 또는 프리 체인(pre-chain)으로 지칭될 수 있다. 일 실시예에서, 이미지 데이터(ID)는 예를 들어, CMOS 이미지 센서와 같은 이미지 센서로부터 수신될 수 있다. 일 실시예에서, 이미지 데이터(ID)는 이미지 신호 처리부(100) 내의 다른 이미지 프로세싱 유닛 또는 IP로부터 수신될 수도 있다.
제2 이미지 프로세싱 유닛(120)은 제1 데이터(D1)를 수신하고, 수신한 제1 데이터(D1)에 대해 제2 이미지 처리를 수행함으로써 제2 데이터(D2)를 생성할 수 있다. 제2 이미지 프로세싱 유닛(120)은 포스트(post) 프로세싱 유닛, 포스트 IP 또는 포스트 체인으로 지칭될 수 있다. 일 실시예에서, 제1 데이터(D1)는 제1 이미지 프로세싱 유닛(110)으로부터 수신될 수 있다. 일 실시예에서, 제1 데이터(D1)는 메모리(MEM)로부터 수신될 수도 있다.
예를 들어, 제1 및 제2 이미지 프로세싱 유닛들(110, 120)은 이미지 데이터에 대해 색 보간(color interpolation), 색 보정(color correction), 자동 백색 보정(auto white balance), 감마 보정(gamma correction), 색 포화 보정(color saturation correction), 포맷 보정(format correction), 불량 픽셀 보정(bad pixel correction), 색조 보정(hue correction), 자동 노출(auto expose), 자동 포커스(auto focus), PDAF(phase defector auto focus), 로테이션(rotation), 스케일링(scaling), 디모자이싱(demosaicing) 등의 신호 처리 동작을 수행하는 복수의 로직 블록들에 대응할 수 있다. 제1 이미지 프로세싱 유닛(110)은 예를 들어, 자동 노출, 자동 포커스, 자동 백색 보정, 또는 로테이션 등을 수행하는 IP일 수 있으나, 본 발명은 이에 한정되지 않는다. 제2 이미지 프로세싱 유닛(130)은 예를 들어, 스케일링, 디모자이싱 등을 수행하는 IP일 수 있으나, 본 발명은 이에 한정되지 않는다.
데이터 입출력 제어부(130)는 이미지 처리 장치(10)의 동작 모드에 따라 데이터 입출력 모드를 제1 입출력 모드(MD1) 또는 제2 입출력 모드(MD2)로 동적으로 결정할 수 있다. 본 실시예에 따르면, 데이터 입출력 제어부(130)는 이미지 처리 장치(10)의 동작 모드가 변경되면, 데이터 입출력 모드를 제1 입출력 모드(MD1)에서 제2 입출력 모드(MD2)로, 또는 제2 입출력 모드(MD2)에서 제1 입출력 모드(MD1)로 변경할 수 있다.
또한, 데이터 입출력 제어부(130)는 결정된 입출력 모드를 모드 신호(MD)로써 제1 및 제2 이미지 프로세싱 유닛들(110, 120)에 제공할 수 있다. 여기서, 이미지 처리 장치(10)의 동작 모드는 노말(normal) 모드 또는 줌(zoom) 모드일 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 이미지 처리 장치(10)의 동작 모드는 실시예에 따라 다양하게 변경될 수 있으며, 데이터 입출력 제어부(130)는 이미지 처리 장치(10)의 다양한 동작 모드들에 따라 데이터 입출력 모드를 제1 입출력 모드(MD1) 또는 제2 입출력 모드(MD2)로 동적으로 결정할 수 있다.
이미지 처리 장치(10)는 예를 들어, 터치, 버튼, 마우스, 리모트 컨트롤 등과 같은 사용자 입력을 통해 동작 모드를 줌 모드로 판단할 수 있다. 일부 실시예들에서, 데이터 입출력 제어부(130)는 동작 모드를 나타내는 동작 모드 신호를 외부로부터 수신할 수 있다. 예를 들어, 동작 모드 신호는 노말 모드를 나타내는 경우 제1 논리 레벨을 갖고, 줌 모드를 나타내는 경우 제2 논리 레벨을 갖는 신호일 수 있다. 일부 실시예들에서, 데이터 입출력 제어부(130)는 줌 시작 명령이 수신되면 이미지 처리 장치(10)의 동작 모드가 줌 모드인 것으로 판단하고, 줌 종료 명령이 수신되면 이미지 처리 장치(10)의 동작 모드가 노말 모드인 것으로 판단할 수도 있다.
본 실시예에서, 데이터 입출력 제어부(130)는 제1 및 제2 이미지 프로세싱 유닛들(110, 120)의 외부에 배치될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 데이터 입출력 제어부(130)는 제1 및 제2 이미지 프로세싱 유닛들(110, 120) 중 적어도 하나의 내부에 배치될 수도 있다.
도 2a는 이미치 처리 장치(10)의 동작 모드가 노말 모드인 경우 제1 및 제2 이미지 프로세싱 유닛들(110, 120)에서 처리하는 이미지들(IMG1a, IMG2a)을 나타낸다.
도 1 및 도 2a를 참조하면, 이미지 처리 장치(10)는 동작 모드 변경을 지시하는 특별한 사용자 입력을 수신하지 않는 경우 노말 모드로 동작할 수 있으며, 이에 따라, 노말 모드를 디폴트(default) 모드라고 지칭할 수 있다. 여기서, 노말 모드는 이미지 센서에서 획득한 전체 이미지에 대해 이미지 처리를 수행하여, 전체 이미지에 대한 이미지 처리 결과를 출력하는 동작 모드이며, 노말 모드는 1:1 모드라고 지칭할 수도 있다.
제1 이미지 프로세싱 유닛(110)은 제1 이미지(IMG1a)에 대응하는 이미지 데이터(ID)를 수신하여 제1 이미지(IMG1a)에 대응하는 제1 이미지 데이터(D1)를 출력할 수 있다. 여기서, 제1 이미지(IMG1a)는 제1 너비(W) 및 제1 높이(H)의 사이즈를 가질 수 있다.
제2 이미지 프로세싱 유닛(120)은 제1 이미지(IMG1a)에 대응하는 제1 이미지 데이터(D1)를 수신하여 제2 이미지(IMG2a)에 대응하는 제2 데이터(D2)를 출력할 수 있다. 여기서, 제2 이미지(IMG2a)는 제1 너비(W) 및 제1 높이(H)의 사이즈를 가질 수 있다. 이와 같이, 이미지 처리 장치(10)가 노말 모드로 동작하는 경우, 제1 및 제2 이미지 프로세싱 유닛들(110, 120) 각각에서 입출력되는 이미지들의 사이즈는 1:1로 동일할 수 있다.
도 2b는 이미치 처리 장치(10)의 동작 모드가 줌 모드인 경우 제1 및 제2 이미지 프로세싱 유닛들(110, 120)에서 처리하는 이미지들(IMG1b, IMG2b)을 나타낸다.
도 1 및 도 2b를 참조하면, 이미지 처리 장치(10)는 줌 동작을 지시하는 사용자 입력을 수신하는 경우 줌 모드로 동작할 수 있다. 여기서, 줌 모드는 이미지 센서에서 획득한 전체 이미지 중 일부를 확대하여, 일부 이미지에 대한 이미지 처리 결과를 출력하는 동작 모드이다. 예를 들어, 이미지 처리 장치(10)는 4배 줌 동작을 지시하는 사용자 입력을 수신할 수 있다. 이하에서는 이미지 처리 장치(10)가 4배 줌 동작을 수행하는 경우에 대해 설명하기로 한다.
제1 이미지 프로세싱 유닛(110)은 예를 들어, 크롭 동작을 수행할 수 있고, 구체적으로, 제1 이미지(IMG1b)에 대응하는 이미지 데이터(ID)를 수신하여 줌 영역(IMGz)에 대응하는 제1 이미지 데이터(D1)를 출력할 수 있다. 여기서, 제1 이미지(IMG1b)는 제1 너비(W) 및 제1 높이(H)의 사이즈를 가질 수 있고, 줌 영역(IMGz)은 제2 너비(W/4) 및 제2 높이(H/4)의 사이즈를 가질 수 있다.
제2 이미지 프로세싱 유닛(120)은 예를 들어, 확대 동작을 수행할 수 있고, 구체적으로, 줌 영역(IMGz)에 대응하는 제1 이미지 데이터(D1)를 수신하여 제2 이미지(IMG2b)에 대응하는 제2 데이터(D2)를 출력할 수 있다. 여기서, 줌 영역(IMGz)은 제2 너비(W/4) 및 제2 높이(H/4)의 사이즈를 가질 수 있고, 제2 이미지(IMG2b)는 제1 너비(W) 및 제1 높이(H)의 사이즈를 가질 수 있다. 이와 같이, 이미지 처리 장치(10)가 줌 모드로 동작하는 경우, 제1 및 제2 이미지 프로세싱 유닛들(110, 120) 각각에서 입출력되는 이미지들의 사이즈는 서로 다를 수 있다.
도 3은 본 개시의 일 실시예에 따른 이미지 처리 장치(10)의 동작 모드 별 데이터 입출력 모드를 나타낸다.
도 1 및 도 3을 참조하면, 데이터 입출력 제어부(130)는 제1 동작 모드에서 데이터 입출력 모드를 제1 입출력 모드(MD1)로 결정하고, 제2 동작 모드에서 데이터 입출력 모드를 제2 입출력 모드(MD2)로 결정할 수 있다. 일 실시예에서, 제1 입출력 모드(MD1)는 다이렉트(direct) 모드일 수 있고, 제2 입출력 모드(MD2)는 DMA(Direct Memory Access) 모드일 수 있다. 본 실시예에서는, 다이렉트 모드가 디폴트 모드일 수 있고, DMA 모드가 줌 동작에만 수행되는 제한된 모드일 수 있다. 이하에서는, 제1 입출력 모드(MD1)는 다이렉트 모드이고, 제2 입출력 모드(MD2)는 DMA 모드인 경우에 대해 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 않는다.
도 4a는 본 개시의 일 실시예에 따른 제1 입출력 모드(MD1)를 나타내는 블록도이다. 도 4b는 본 개시의 일 실시예에 따른 제1 입출력 모드(MD1)에서의 제1 및 제2 이미지 프로세싱 유닛들(110, 120)의 동작을 나타내는 타이밍도이다. 이하에서는 도 1, 도 4a 및 도 4b를 참조하여, 본 개시의 일 실시예에 따른 제1 입출력 모드(MD1)에 대해 상술하기로 한다.
도 4a 및 도 4b를 참조하면, 제1 입출력 모드(MD1)에서, 제1 프로세싱 유닛(110)에서 생성된 제1 데이터(D1)는 제2 프로세싱 유닛(120)으로 직접 전달될 수 있다. 다시 말해, 제1 입출력 모드(MD1)에서, 제1 프로세싱 유닛(110)은 제1 데이터(D1)를 제2 프로세싱 유닛(120)에 출력하고, 제2 프로세싱 유닛(120)은 제1 데이터(D1)를 제1 프로세싱 유닛(110)으로부터 수신할 수 있다.
제1 입출력 모드(MD1)에 따르면, 제1 데이터(D1)는 제1 프로세싱 유닛(110)에서 제2 프로세싱 유닛(120)으로 바로 전달되므로, 제1 프로세싱 유닛(110)과 제2 프로세싱 유닛(120)의 동작에서 레이턴시(latency)가 거의 발생하지 않을 수 있다. 또한, 제1 입출력 모드(MD1)에 따르면, 메모리(MEM)에 접근할 필요가 없으므로 전력 소모를 줄일 수 있다.
도 5a는 본 개시의 일 실시예에 따른 제2 입출력 모드(MD2)를 나타내는 블록도이다. 도 5b는 본 개시의 일 실시예에 따른 제2 입출력 모드(MD2)에서의 제1 및 제2 이미지 프로세싱 유닛들(110, 120)의 동작을 나타내는 타이밍도이다. 이하에서는 도 1, 도 5a 및 도 5b를 참조하여, 본 개시의 일 실시예에 따른 제2 입출력 모드(MD2)에 대해 상술하기로 한다.
도 5a 및 도 5b를 참조하면, 제2 입출력 모드(MD2)에서, 제1 프로세싱 유닛(110)에서 생성된 제1 데이터(D1)는 메모리(MEM)를 거쳐 제2 프로세싱 유닛(120)으로 전달될 수 있다. 다시 말해, 제1 입출력 모드(MD1)에서, 제1 프로세싱 유닛(110)은 제1 데이터(D1)를 메모리(MEM)에 출력하고, 제2 프로세싱 유닛(120)은 제1 데이터(D1)를 메모리(MEM)으로부터 수신할 수 있다.
제2 입출력 모드(MD2)에 따르면, 제1 데이터(D1)는 제1 프로세싱 유닛(110)에서 메모리(MEM)를 거쳐 제2 프로세싱 유닛(120)으로 전달되므로, 제1 프로세싱 유닛(110)과 제2 프로세싱 유닛(120)의 동작에서 레이턴시가 발생할 수 있다. 예를 들어, 제1 프로세싱 유닛(110)에서 제2 프레임에 대한 제1 이미지 처리를 수행하는 동안 제2 프로세싱 유닛(120)에서 제1 프레임에 대한 제2 이미지 처리를 수행할 수 있다.
도 6은 이미지 처리 장치(10)의 동작 모드가 줌 모드일 때에 제1 입출력 모드(MD1)로 데이터를 전송하는 경우 제1 및 제2 이미지 프로세싱 유닛들(110, 120)의 동작의 일 예를 나타내는 타이밍도이다.
도 1 및 도 6을 참조하면, 이미지 처리 장치(10)는 제1 이미지 프로세싱 유닛(110)에서 제4 프레임에 대한 제1 이미지 처리를 수행하는 동안, 줌 시작 명령(zoom start command)(ZS)을 수신할 수 있다. 이에 따라, 이미지 처리 장치(10)의 동작 모드는 노말 모드에서 줌 모드로 변경된다. 줌 모드에서 제1 입출력 모드(MD1), 즉, 다이렉트 모드를 이용할 경우, 제1 이미지 프로세싱 유닛(110)는 줌 영역(예를 들어, 도 2b의 IMGz)에 해당하는 크롭 구간(CR)에서 제1 데이터(D1)를 제2 이미지 프로세싱 유닛(120)으로 출력할 수 있고, 제2 이미지 프로세싱 유닛(120)은 크롭 구간(CR) 동안 제1 데이터(D1)를 수신하여 제2 이미지(예를 들어, 도 2b의 IMG2b)에 대응하는 제2 데이터(D2)를 생성해야 한다.
이와 같이, 제2 이미지 프로세싱 유닛(120)에서 제2 이미지 처리를 수행할 수 있는 시간은 크롭 구간(CR)으로 한정된다. 이에 따라, 제2 이미지 프로세싱 유닛(120)은 전체 처리 가능 시간의 상당 부분을 유휴(idle) 상태로 유지하고, 전체 처리 가능 시간 중 크롭 구간(CR) 동안 한 프레임에 해당하는 제2 이미지 처리를 수행해야 한다. 제한된 시간 내에 제2 이미지 프로세싱 유닛(120)에서 제2 이미지 처리를 수행하기 위해서는 제2 이미지 프로세싱 유닛(120)에 대한 성능 개선이 요구된다.
예를 들어, 제2 이미지 프로세싱 유닛(120)의 클럭 주파수를 매우 높혀주거나 제2 이미지 프로세싱 유닛(120)의 내부 버퍼의 용량을 크게 늘려주어야 한다. 이 경우, 이미지 처리 장치(10)의 면적 및 전력 소모가 증가할 수 있다. 이미지 처리 장치(10)는 대부분의 시간 동안 노말 모드로 동작하고, 특정 시간 동안 줌 모드로 동작할 수 있다. 따라서, 줌 모드에서 제2 이미지 프로세싱 유닛(120)의 제2 이미지 처리를 지원하기 위하여 제2 이미지 프로세싱 유닛(120)에 대한 하드웨어 성능을 크게 개선하는 것은 효율성이 떨어질 수 있다.
그러나, 도 1 내지 도 5b를 참조하여 상술한 바와 같이, 본 실시예에 따른 이미지 처리 장치(10)는 데이터의 입출력 모드를 노말 모드에서 제1 입출력 모드(MD1), 즉, 다이렉트 모드로 결정하고, 줌 모드에서 제2 입출력 모드(MD2), 즉, DMA 모드로 결정할 수 있다. 이에 따라, 줌 모드에서 제1 데이터(D1)를 제1 프로세싱 유닛(110)에서 메모리(MEM)를 거쳐 제2 프로세싱 유닛(120)으로 전달할 수 있다. 이로써, 줌 모드에서 제2 이미지 프로세싱 유닛(120)의 제2 이미지 처리를 지원하기 위하여 제2 이미지 프로세싱 유닛(120)에 대한 하드웨어 성능을 크게 개선하지 않아도 되며, 이미지 처리 장치(10)의 면적 및 전력 소모의 증가 없이 이미지 처리 장치(10)를 효율적으로 동작시킬 수 있다.
도 7은 본 개시의 일 실시예에 따른 이미지 처리 장치(20)를 나타내는 블록도이다.
도 7을 참조하면, 이미지 처리 장치(20)는 이미지 신호 처리부(200) 및 메모리(MEM)를 포함할 수 있고, 이미지 신호 처리부(200)는 제1 이미지 프로세싱 유닛(210) 및 제2 이미지 프로세싱 유닛(220)을 포함할 수 있다. 본 실시예에서, 제1 이미지 프로세싱 유닛(210)은 데이터 출력 제어부(211)를 포함할 수 있고, 제2 이미지 프로세싱 유닛(220)은 데이터 입력 제어부(221)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 이하에서는, 도 1과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
제1 이미지 프로세싱 유닛(210)은 이미지 데이터(ID)를 수신하고, 수신한 이미지 데이터(ID)에 대해 제1 이미지 처리를 수행함으로써 제1 데이터(D1)를 생성할 수 있다. 제2 이미지 프로세싱 유닛(220)은 제1 데이터(D1)를 수신하고, 수신한 제1 데이터(D1)에 대해 제2 이미지 처리를 수행함으로써 제2 데이터(D2)를 생성할 수 있다.
데이터 출력 제어부(211)는 제1 출력 모드에서 제1 데이터(D1)를 제2 이미지 프로세싱 유닛(120)에 제공하며, 제2 출력 모드에서 제1 데이터(D1)를 메모리(MEM)에 제공하도록 제1 데이터(D1)의 출력을 제어할 수 있다. 여기서, 제1 출력 모드는 제1 데이터(D1)를 제1 이미지 프로세싱 유닛(210)에서 제2 이미지 프로세싱 유닛(220)으로 출력하는 다이렉트 모드일 수 있고, 상술한 제1 입출력 모드에 대응할 수 있다. 또한, 제2 출력 모드는 제1 데이터(D1)를 제1 이미지 프로세싱 유닛(210)에서 메모리(MEM)를 출력하는 DMA 모드일 수 있고, 상술한 제2 입출력 모드에 대응할 수 있다.
일 실시예에서, 데이터 출력 제어부(211)는 이미지 처리 장치(20)의 동작 모드에 따라 제1 데이터(D1)의 출력 모드를 제1 출력 모드 또는 제2 출력 모드로 결정할 수 있고, 결정된 출력 모드에 따라 제1 데이터(D1)의 출력을 제어할 수 있다. 일 실시예에서, 데이터 출력 제어부(211)는 제1 데이터(D1)의 출력 모드를 나타내는 모드 신호를 외부로부터 수신하고, 수신된 모드 신호에 따라 제1 데이터(D1)의 출력을 제어할 수 있다.
데이터 입력 제어부(221)는 제1 입력 모드에서 제1 데이터(D1)를 제1 이미지 프로세싱 유닛(210)으로부터 수신하고, 제2 입력 모드에서 제1 데이터(D1)를 메모리(MEM)로부터 수신하도록 제1 데이터의 입력을 제어할 수 있다. 여기서, 제1 입력 모드는 제1 데이터(D1)를 제1 이미지 프로세싱 유닛(210)으로부터 수신하는 다이렉트 모드일 수 있고, 상술한 제1 입출력 모드에 대응할 수 있다. 또한, 제2 입력 모드는 제1 데이터(D1)를 메모리(MEM)로부터 수신하는 DMA 모드일 수 있고, 상술한 제2 입출력 모드에 대응할 수 있다.
일 실시예에서, 데이터 입력 제어부(221)는 이미지 처리 장치(20)의 동작 모드에 따라 제1 데이터(D1)의 입력 모드를 제1 입력 모드 또는 제2 입력 모드로 결정할 수 있고, 결정된 입력 모드에 따라 제1 데이터(D1)의 출력을 제어할 수 있다. 일 실시예에서, 데이터 입력 제어부(221)는 제1 데이터(D1)의 입력 모드를 나타내는 모드 신호를 외부로부터 수신하고, 수신된 모드 신호에 따라 제1 데이터(D1)의 입력을 제어할 수 있다.
도 8은 본 개시의 일 실시예에 따른 이미지 처리 장치(30)를 나타내는 블록도이다.
도 8을 참조하면, 이미지 처리 장치(30)는 이미지 신호 처리부(300) 및 메모리(MEM)를 포함할 수 있고, 이미지 신호 처리부(300)는 제1 이미지 프로세싱 유닛(310), 제2 이미지 프로세싱 유닛(320), 데이터 입출력 제어부(330) 및 메모리 컨트롤러(340)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 이하에서는, 도 1과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
일 실시예에서, 제1 이미지 프로세싱 유닛(310), 제2 이미지 프로세싱 유닛(320), 데이터 입출력 제어부(330) 및 메모리 컨트롤러(340)는 SoC로 구현될 수 있다. 일 실시예에서, 제1 이미지 프로세싱 유닛(310), 제2 이미지 프로세싱 유닛(320), 데이터 입출력 제어부(330) 및 메모리 컨트롤러(340)는 어플리케이션 프로세서 내에 배치될 수 있다.
일 실시예에서, 제1 이미지 프로세싱 유닛(310), 제2 이미지 프로세싱 유닛(320) 및 데이터 입출력 제어부(330)는 SoC로 구현될 수 있다. 일 실시예에서, 제1 이미지 프로세싱 유닛(310), 제2 이미지 프로세싱 유닛(320) 및 데이터 입출력 제어부(330)는 어플리케이션 프로세서 내에 배치될 수 있다.
제1 이미지 프로세싱 유닛(310)은 이미지 데이터(ID)를 수신하고, 수신한 이미지 데이터(ID)에 대해 제1 이미지 처리를 수행함으로써 제1 데이터(D1)를 생성할 수 있다. 본 실시예에서, 이미지 데이터(ID)는 제1 및 제2 서브 이미지 데이터(SID1, SID2)를 포함할 수 있다. 일 실시예에서, 제1 서브 이미지 데이터(SID1)는 이미지 데이터(ID)의 제1 픽셀 그룹 데이터를 포함하고, 제2 서브 이미지 데이터(SID2)는 이미지 데이터(ID)의 제2 픽셀 그룹 데이터를 포함할 수 있다.
도 9는 도 8의 이미지 처리 장치(30)에 입력되는 이미지 데이터(ID)를 나타낸다.
도 9를 참조하면, 이미지 데이터(ID)는 복수의 픽셀 그룹 데이터(PG1 내지 PG10)를 포함할 수 있다. 도 9에서는 설명의 편의를 위해, 한 프레임에 해당하는 이미지 데이터(ID)가 10×10 픽셀인 것으로 예시하였으나, 이는 이미지 데이터(ID)의 일 예에 불과하며, 본 발명은 이에 한정되지 않는다. 이하에서는 도 8 및 도 9를 참조하여 이미지 데이터(ID)에 대해 더욱 자세하게 설명하기로 한다.
일부 실시예들에서, 제1 서브 이미지 데이터(SID1)는 이미지 데이터(ID)의 제1 열(row)에 배치된 픽셀 그룹 데이터(PG1)를 포함하고, 제2 서브 데이터(SID2)는 제1 열의 하부에 배치된 제2 열에 배치된 픽셀 그룹 데이터(PG2)를 포함할 수 있다. 일부 실시예들에서, 제1 서브 이미지 데이터(SID1)는 이미지 데이터(ID)의 제1 및 제2 열에 배치된 픽셀 그룹 데이터(PG1, PG2)를 포함하고, 제2 서브 이미지 데이터(SID2)는 제1 및 제2 열의 하부에 배치된 제3 및 제4 열에 배치된 픽셀 그룹 데이터(PG3, PG4)를 포함할 수 있다.
또한, 일부 실시예들에서, 제1 서브 이미지 데이터(SID1)는 이미지 데이터(ID)의 제1 내지 제5 열에 배치된 픽셀 그룹 데이터(PG1 내지 PG5)를 포함하고, 제2 서브 이미지 데이터(SD2)는 제1 내지 제5 열의 하부에 배치된 제6 내지 제10 열에 배치된 픽셀 그룹 데이터(PG6 내지 PG10)를 포함할 수도 있다. 이와 같이, 본 실시예에서, 제1 및 제2 서브 이미지 데이터(SID1, SID2)는 이미지 데이터(ID)를 구성하는 서브 이미지 데이터이고, 이미지 데이터(ID)로부터 제1 및 제2 서브 이미지 데이터(SID1, SID2)를 구분하는 방법은 실시예에 따라 다양하게 변형될 수 있다.
다시 도 8을 참조하면, 데이터 입출력 제어부(330)는 제1 동작 모드에서 데이터 입출력 모드를 제1 입출력 모드로 결정하고, 제2 동작 모드에서 데이터 입출력 모드를 제2 입출력 모드로 결정할 수 있다. 또한, 데이터 입출력 제어부(330)는 결정된 입출력 모드를 모드 신호(MD)로써 제1 및 제2 이미지 프로세싱 유닛들(310, 320)에 제공할 수 있다. 일 실시예에서, 제1 동작 모드는 노말 모드일 수 있고, 제2 동작 모드는 줌 모드일 수 있다. 일 실시예에서, 제1 입출력 모드는 다이렉트 모드일 수 있고, 제2 입출력 모드는 DMA 모드일 수 있다. 도 2a 내지 도 5b를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있으며, 중복된 설명은 생략하기로 한다.
제1 이미지 프로세싱 유닛(310)은 제1 및 제2 서브 이미지 데이터(SID1, SID2)를 포함하는 이미지 데이터(ID)에 대해 제1 이미지 처리를 수행함으로써, 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)를 생성할 수 있다. 일 실시예에서, 제1 이미지 프로세싱 유닛(310)은, 먼저 제1 서브 이미지 데이터(SID1)에 대해 제1 이미지 처리를 수행하고, 이어서, 제2 서브 이미지 데이터(SID2)에 대해 제1 이미지 처리를 수행할 수 있다. 제1 이미지 프로세싱 유닛(310)은 제1 입출력 모드에서, 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)를 제2 이미지 프로세싱 유닛(320)에 출력하고, 제2 입출력 모드에서 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)를 메모리(MEM)에 출력할 수 있다.
제2 이미지 프로세싱 유닛(320)은 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)에 대해 제2 이미지 처리를 수행함으로써 제2 데이터(D2)를 생성할 수 있다. 일 실시예에서, 제2 이미지 프로세싱 유닛(320)은 먼저 제1 서브 데이터(SD1)에 대해 제2 이미지 처리를 수행하고, 이어서, 제2 서브 데이터(SD2)에 대해 제2 이미지 처리를 수행할 수 있다. 제2 이미지 프로세싱 유닛(320)은 제1 입출력 모드에서, 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)를 제1 이미지 프로세싱 유닛(310)으로부터 수신하고, 제2 입출력 모드에서 제1 및 제2 서브 데이터(SD1, SD2)를 포함하는 제1 데이터(D1)를 메모리(MEM)로부터 수신할 수 있다.
메모리 컨트롤러(340)는 제1 데이터(D1)의 입출력 모드가 제2 입출력 모드인 경우 활성화될 수 있고, 제1 데이터의 입출력 모드가 제1 입출력 모드인 경우 비활성화될 수 있다. 따라서, 이하에서는, 제1 데이터(D1)의 입출력 모드가 제2 입출력 모드인 경우 메모리 컨트롤러(340)의 동작에 대해 상술하기로 한다.
메모리 컨트롤러(340)는 제1 서브 데이터(SD1)가 메모리(MEM)에 기입된 후 제2 서브 데이터(SD2)가 메모리(MEM)에 기입되기 전에, 제2 이미지 프로세싱 유닛(320)이 메모리(MEM)로부터 제1 서브 데이터(SD1)를 독출하도록 메모리(MEM)를 제어할 수 있다. 일 실시예에서, 메모리 컨트롤러(340)는 메모리 버스를 통해 메모리(MEM)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(340)는 제1 데이터(D1)를 메모리(MEM)에 기입하기 위해, 메모리 버스에 기입 명령(WCMD)을 제공할 수 있고, 메모리(MEM)에 저장된 제1 데이터(D1)를 제2 이미지 프로세싱 유닛(320)에 제공하기 위해 메모리 버스에 독출 명령(RCMD)을 제공할 수 있다.
이미지 처리 장치(30)가 줌 모드이고, 제1 데이터(D1)의 입출력 모드가 제2 입출력 모드인 경우 메모리 컨트롤러(340)의 동작을 설명하면 다음과 같다. 먼저, 제1 이미지 프로세싱 유닛(310)이 제1 서브 이미지 데이터(SID1)에 대해 제1 이미지 처리를 완료하면, 메모리 컨트롤러(340)는 제1 이미지 처리된 제1 서브 이미지 데이터, 즉, 제1 서브 데이터(SD1)를 메모리(MEM)에 기입하기 위한 기입 명령(WCMD)을 메모리 버스에 제공한다. 다음, 메모리(MEM)로부터 제1 서브 데이터(SD1)가 기입되었다는 응답을 받으면, 메모리 컨트롤러(340)는 제1 서브 데이터(SD1)를 제2 이미지 프로세싱 유닛(320)에 제공하기 위해, 독출 명령(RCMD)을 메모리 버스에 제공한다. 다음, 메모리(MEM)로부터 제1 서브 데이터(SD1)가 수신되면, 메모리 컨트롤러(340)는 제1 서브 데이터(SD1)를 제2 이미지 프로세싱 유닛(320)에 제공한다. 이에 따라, 제2 이미지 프로세싱 유닛(320)은 제1 서브 데이터(SD1)에 대해 제2 이미지 처리를 수행할 수 있다.
다음, 제1 이미지 프로세싱 유닛(310)이 제2 서브 이미지 데이터(SD2)에 대해 제1 이미지 처리를 완료하면, 메모리 컨트롤러(340)는 제1 이미지 처리된 제2 서브 데이터, 즉, 제2 서브 데이터(SD2)를 메모리(MEM)에 기입하기 위한 기입 명령(WCMD)을 메모리 버스에 제공한다. 다음, 메모리(MEM)로부터 제2 서브 데이터(SD2)가 기입되었다는 응답을 받으면, 메모리 컨트롤러(340)는 제2 서브 데이터(SD2)를 제2 이미지 프로세싱 유닛(320)에 제공하기 위해, 독출 명령(RCMD)을 메모리 버스에 제공한다. 다음, 메모리(MEM)로부터 제2 서브 데이터(SD2)가 수신되면, 메모리 컨트롤러(340)는 제2 서브 데이터(SD2)를 제2 이미지 프로세싱 유닛(320)에 제공한다. 이에 따라, 제2 이미지 프로세싱 유닛(320)은 제2 서브 데이터(SD2)에 대해서도 제2 이미지 처리를 수행할 수 있다.
이와 같이, 본 실시예에 따르면, 메모리 컨트롤러(340)는 메모리 버스에, 제2 서브 데이터(SD2)에 대한 기입 명령(WCMD)을 제공하기 전에, 제1 서브 데이터(SD1)를 메모리(MEM)로부터 독출하는 독출 명령(RCMD)을 제공할 수 있다. 이에 따라, 제1 이미지 프로세싱 유닛(310)이 제2 서브 이미지 데이터(SID2)에 대해 제1 이미지 처리를 수행하는 동안, 제2 이미지 프로세싱 유닛(320)은 제1 서브 데이터(SD1)에 대해 제2 이미지 처리를 수행할 수 있다. 따라서, 제1 데이터(D1)가 제2 입출력 모드로 전달되더라도 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 사이의 레이턴시를 감소시킬 수 있고, 제1 데이터(D1)는 제1 입출력 모드로 전달되는 것과 유사한 속도로 제2 이미지 프로세싱 유닛(320)에 전달될 수 있다.
일 실시예에서, 메모리 컨트롤러(340)는 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 및 데이터 입출력 제어부(330)와 하나의 칩에 배치될 수 있다. 일 실시예에서, 메모리 컨트롤러(340)는 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 및 데이터 입출력 제어부(330)와 다른 칩에 배치될 수 있다. 일 실시예에서, 메모리 컨트롤러(320)는 메모리(MEM) 내에 배치될 수도 있다.
도 10은 본 개시의 일 실시예에 따른 이미지 처리 장치(30)에서 제1 및 제2 이미지 처리 장치들(310, 320)의 동작의 예를 나타내는 타이밍도이다.
도 10을 참조하면, 이미지 처리 장치(30)는 제1 이미지 프로세싱 유닛(310)에서 제2 프레임을 처리하는 동안 줌 시작 명령(ZS)을 수신할 수 있다. 이에 따라, 이미지 처리 장치(30)의 동작 모드는 노말 모드에서 줌 모드로 변경된다. 본 실시예에 따르면, 데이터 입출력 제어부(330)는 줌 모드에서 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드, 즉, DMA 모드로 결정할 수 있다. 따라서, 제1 이미지 프로세싱 유닛(310)은 제1 데이터(D1)를 메모리(MEM)에 출력할 수 있고, 제2 이미지 프로세싱 유닛(320)은 제1 데이터(D1)를 메모리(MEM)로부터 수신할 수 있다.
IP2a는 본 실시예에 대한 비교 예로서, 이미지 처리 장치(30)가 메모리 컨트롤러(340)를 포함하지 않을 경우 제2 이미지 프로세싱 유닛(320)의 동작을 나타낸다. 이 경우, 제1 이미지 프로세싱 유닛(310)에서 이미지 데이터(ID)에 대한 제1 이미지 처리 동작을 완료한 후에, 제2 이미지 프로세싱 유닛(320)에서 제1 데이터(D1)에 대한 제2 이미지 처리 동작을 수행하게 된다. 예를 들어, 제1 이미지 프로세싱 유닛(310)이 제4 프레임에 대한 제1 이미지 처리 동작을 수행하는 동안 제2 이미지 프로세싱 유닛(320)이 제3 프레임에 대한 제2 이미지 처리 동작을 수행할 수 있다. 따라서, 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 사이에서 프레임 지연(delay) 현상이 발생할 수 있다.
IP2는 본 실시예로서, 이미지 처리장치(30)가 메모리 컨트롤러(340)를 포함하는 경우 제2 이미지 프로세싱 유닛(320)의 동작을 나타낸다. 이 경우, 메모리 컨트롤러(340)는 제1 서브 데이터(SD1)가 메모리(MEM)에 기입된 후에 제2 서브 데이터(SD2)가 메모리(MEM)에 기입되기 전에, 제2 이미지 프로세싱 유닛(320)이 메모리(MEM)로부터 제1 서브 데이터(SD1)를 독출하도록 메모리(MEM)를 제어할 수 있다. 따라서, 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 사이에서 레이턴시가 거의 발생하지 않을 수 있다. 이와 같이, 본 실시예에 따르면, 줌 모드에서 제2 입출력 모드(MD2), 즉, DMA 모드를 이용하더라도 제1 입출력 모드(MD1), 즉, 다이렉트 모드와 유사하게 제1 및 제2 이미지 프로세싱 유닛들(310, 320) 사이에서 레이턴시가 거의 발생하지 않을 수 있다.
도 11은 본 개시의 일 실시예에 따른 이미지 처리 장치(40)를 나타내는 블록도이다.
도 11을 참조하면, 이미지 처리 장치(40)는 이미지 신호 처리부(400) 및 메모리(MEM)를 포함할 수 있고, 이미지 신호 처리부(400)는 제1 이미지 프로세싱 유닛(410), 제2 이미지 프로세싱 유닛(420) 및 데이터 입출력 제어부(430)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 본 실시예에 따른 이미지 처리 장치(40)는 도 8의 이미지 처리 장치(30)의 변형 실시예이다. 이하에서는, 도 8과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
본 실시예에서, 제1 이미지 프로세싱 유닛(410)은 제1 메모리 컨트롤러(411)를 포함할 수 있고, 제2 이미지 프로세싱 유닛(420)은 제2 메모리 컨트롤러(421)를 포함할 수 있다. 제1 및 제2 메모리 컨트롤러들(411, 421)은 제1 데이터(D1)의 제2 입출력 모드, 즉, DMA 모드에서 활성화되고, 제1 데이터(D1)의 제1 입출력 모드, 즉, 다이렉트 모드에서 비활성화될 수 있다. 따라서, 이하에서는, 제1 데이터(D1)의 입출력 모드가 제2 입출력 모드인 경우 제1 및 제2 메모리 컨트롤러들(411, 421)의 동작에 대해 상술하기로 한다.
제1 이미지 프로세싱 유닛(410)은 제1 및 제2 서브 이미지 데이터(SID1, SID2)에 대해 순차적으로 제1 이미지 처리를 수행하여 제1 및 제2 서브 데이터(SD1, SD2)를 생성할 수 있다. 제1 메모리 컨트롤러(411)는 제1 서브 데이터(SD1)가 생성되면 메모리(MEM)에 기입 명령 및 제1 서브 데이터(SD1)를 제공하여, 제1 서브 데이터(SD1)에 대한 기입 동작을 제어한다. 이어서, 제1 메모리 컨트롤러(411)는 제2 서브 데이터(SD1)가 생성되면 메모리(MEM)에 기입 명령 및 제2 서브 데이터(SD2)를 제공하여, 제2 서브 데이터(SD2)에 대한 기입 동작을 제어한다.
제2 이미지 프로세싱 유닛(420)은 제1 및 제2 서브 데이터(SD1, SD2)에 대해 순차적으로 제2 이미지 처리를 수행하여 제2 데이터(D2)를 생성할 수 있다. 제2 메모리 컨트롤러(421)는 제1 서브 데이터(SD1)가 메모리(MEM)에 기입되면 메모리(MEM)에 독출 명령을 제공하여 제1 서브 데이터(SD1)를 독출한다. 이어서, 제2 메모리 컨트롤러(421)는 제2 서브 데이터(SD2)가 메모리(MEM)에 기입되면 메모리(MEM)에 독출 명령을 제공하여 제2 서브 데이터(SD2)를 독출한다.
본 실시예에 따르면, 제1 및 제2 메모리 컨트롤러들(411, 421)은 제1 서브 데이터(SD1)가 메모리(MEM)에 기입된 후, 제2 서브 데이터(SD2)가 메모리(MEM)에 기입되기 전에, 제2 이미지 프로세싱 유닛(420)이 메모리(MEM)로부터 제1 서브 데이터(SD1)를 독출하여 제2 이미지 처리를 수행할 수 있도록 메모리(MEM)를 제어할 수 있다. 이에 따라, 본 실시예에 따르면, 제2 이미지 프로세싱 유닛(420)의 동작은 도 10의 IP2b에 예시된 바와 유사하게 구현될 수 있다.
도 12는 도 11의 제1 및 제2 메모리 컨트롤러들(411, 421)을 더욱 상세하게 나타내는 블록도이다.
도 12를 참조하면, 제1 메모리 컨트롤러(411)는 제1 컨트롤러(4111) 및 제1 카운터(4113)를 포함할 수 있고, 제2 메모리 컨트롤러(421)는 제2 컨트롤러(4211), 제2 카운터(4213) 및 비교기(4215)를 포함할 수 있다. 이하에서는 도 11 및 도 12를 참조하여 제1 및 제2 메모리 컨트롤러들(411, 421)의 동작에 대해 설명하기로 한다.
제1 컨트롤러(4111)는 제1 서브 데이터(SD1)가 생성되면, 메모리(MEM)에 기입 명령(WCMD)을 제공할 수 있다. 또한, 제1 컨트롤러(4111)는 메모리(MEM)에 기입 명령(WCMD)을 인가한 후, 제1 카운터(4113)의 카운트 값을 증가시킬 수 있다. 제2 카운터(4213)는 제1 카운터(4113)와 접속되어 있을 수 있다. 따라서, 제2 카운터(4213)의 카운트 값은 제1 카운터(4113)의 카운트 값이 증가할 때, 동일하게 증가할 수 있다. 비교기(4215)는 제2 카운터(4213)의 카운트 값을 미리 정한 값과 비교하고, 그 값이 일치할 경우 미리 정한 출력 신호를 제2 컨트롤러(4211)에 제공할 수 있다. 제2 컨트롤러(4211)는 비교기(4215)로부터 출력 신호를 제공받아 메모리(MEM)에 독출 명령(RCMD)을 제공할 수 있다.
본 실시예에서, 제1 카운터(4113)는 제1 서브 데이터(SD1)가 메모리(MEM)에 기입된 시점을 기록하는 기록 유닛의 역할을 할 수 있고, 제2 카운터(4213)와, 비교기(4215)는 제1 서브 데이터(SD1)가 메모리(MEM)에 기입된 시점을 감지하는 감지 유닛의 역할을 할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 기록 유닛과 감지 유닛의 구성은 실시예에 따라 다양하게 변형될 수 있다.
본 실시예에서, 제1 및 제2 메모리 컨트롤러들(411, 421)은 제1 및 제2 이미지 프로세싱 유닛들(410, 420)에 각각 포함될 수 있으나, 본 발명은 이에 한정되지 않는다. 일부 실시예들에서, 제1 및 제2 메모리 컨트롤러들(411, 421)은 제1 및 제2 이미지 프로세싱 유닛들(410, 420)의 외부에 배치될 수 있다. 일부 실시예들에서, 제1 및 제2 메모리 컨트롤러들(411, 421)은 하나로 구현될 수 있고, 제1 또는 제2 이미지 프로세싱 유닛(410, 420) 내에 배치될 수 있다.
도 13은 본 개시의 일 실시예에 따른 이미지 처리 장치(50)를 나타내는 블록도이다.
도 13을 참조하면, 이미지 처리 장치(50)는 이미지 신호 처리부(500) 및 메모리(MEM)를 포함하고, 이미지 신호 처리부(500)는 제1 및 제2 이미지 프로세싱 유닛들(510, 520), 데이터 입출력 제어부(530) 및 메모리 컨트롤러(540)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 본 실시예에 따른 이미지 처리 장치(50)는 도 8의 이미지 처리 장치(30)의 변형 실시예이다. 이하에서는, 도 8과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
데이터 입출력 제어부(530)는 줌 종료 명령이 인가될 경우 이미지 처리 장치(50)의 동작 모드를 노말 모드로 판단하고, 제1 데이터(D1)의 입출력 모드를 제1 입출력 모드(예를 들어, 도 3의 MD1)로 결정할 수 있다. 또한, 데이터 입출력 제어부(530)는 제1 입출력 모드를 모드 신호(MD)로서 출력할 수 있다. 그러나, 줌 종료 명령이 인가되기 전인 줌 모드에서, 제1 데이터(D1)가 제2 입출력 모드(예를 들어, 도 3의 MD2)에 따라 메모리(MEM)를 거쳐 제2 이미지 프로세싱 유닛(320)으로 입력되므로, 제1 및 제2 이미지 프로세싱 유닛들(510, 520) 사이의 레이턴시가 발생할 수 있다. 따라서, 제2 이미지 프로세싱 유닛(520)의 동작은 제1 이미지 프로세싱 유닛(510)의 동작보다 느릴 수 있는데, 그럼에도 불구하고, 모드 신호(MD)에 따라 제1 데이터(D1)의 입출력 모드를 바로 제1 입출력 모드로 변경할 경우, 제2 이미지 프로세싱 유닛(520)에서 미쳐 처리되지 못한 프레임에 대한 드롭 현상이 발생할 수 있다.
이에 따라, 본 실시예예서, 데이터 입출력 제어부(530)는 모드 변경 제어부(531)를 포함할 수 있다. 모드 변경 제어부(531)는 줌 종료 명령이 인가되면 제2 이미지 프로세싱 유닛(520)의 처리 상황을 확인하고, 확인 결과에 따라 제1 데이터(D1)의 입출력 모드를 변경할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 모드 변경 제어부(531)는 데이터 입출력 제어부(530)의 외부에 배치될 수 있다. 일 실시예에서, 모드 변경 제어부(531)는 제1 및 제2 이미지 프로세싱 유닛들(510, 520) 중 적어도 하나의 내부에 배치될 수 있다.
모드 변경 제어부(531)는 메모리 컨트롤러(540)로부터 기입 포인터(WP) 및 독출 포인터(RP)를 수신할 수 있다. 여기서, 기입 포인터(WP)는 메모리(MEM)에 대해 제1 이미지 프로세싱 유닛(510)이 기입 동작을 완료한 위치를 나타낼 수 있으며, 구체적으로, 기입 포인터(WP)는 메모리(MEM)에서 기입 동작이 완료된 영역의 주소를 나타낼 수 있다. 또한, 독출 포인터(RP)는 메모리(MEM)에 대해 제2 이미지 프로세싱 유닛(520)이 독출 동작을 완료한 위치를 나타낼 수 있으며, 구체적으로, 독출 포인터(RP)는 메모리(MEM)에서 독출 동작이 완료된 영역의 주소를 나타낼 수 있다.
모드 변경 제어부(531)는 줌 종료 명령이 인가되면, 기입 포인터(WP)와 독출 포인터(RP)를 비교하고, 기입 포인터(WP)와 독출 포인터(RP)가 일치하는 경우 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드에서 제1 입출력 모드로 변경할 수 있다. 본 실시예에서, 모드 변경 제어부(531)는 블랭크(blank) 구간, 예를 들어, 도 6의 Vblank 구간에서 기입 포인터(WP)와 독출 포인터(RP)의 비교 동작 및 입출력 모드 변경 동작을 수행할 수 있다.
도 14는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 14를 참조하면, 본 실시예에 따른 이미지 처리 방법은 이미지 처리 장치에서 시계열적으로 수행되는 방법으로서, 예를 들어, 도 13의 이미지 처리 장치(50)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 구체적으로, 본 실시예에 따른 이미지 처리 방법은 도 13의 모드 변경 제어부(531)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 이하에서는 도 13 및 도 14를 참조하여 모드 변경 제어부(531)의 동작에 대응하는 이미지 처리 방법에 대해 상술하기로 한다.
단계 S110에서, 모드 변경 제어부(531)는 제1 입출력 모드를 나타내는 모드 신호를 수신한다. 여기서, 제1 입출력 모드는 다이렉트 모드일 수 있다. 예를 들어, 데이터 입출력 제어부(530)는 모드 신호(MS)를 생성하고, 생성된 모드 신호(MS)를 모드 변경 제어부(531)에 제공할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 모드 변경 제어부(531)는 줌 종료 명령을 수신함으로써 이하에서 설명되는 동작들을 개시할 수 있다.
단계 S130에서, 모드 변경 제어부(531)는 기입 포인터(WP)와 독출 포인터(RP)를 비교한다. 모드 변경 제어부(531)는 블랭크 구간에서 기입 포인터(WP)와 독출 포인터(RP)를 비교할 수 있다. 단계 S150에서, 모드 변경 제어부(531)는 기입 포인터(WP)와 독출 포인터(RP)가 일치하는지 판단한다. 판단 결과, 기입 포인터(WP)와 독출 포인터(RP)가 일치하면 단계 S170을 수행하고, 그렇지 않으면 단계 S190을 수행한다.
단계 S170에서, 모드 변경 제어부(531)는 데이터 입출력 모드를 제1 입출력 모드로 변경한다. 모드 변경 제어부(531)는 기입 포인터(WP)와 독출 포인터(RP)가 일치하는 경우, 제1 이미지 프로세싱 유닛(510)이 메모리(MEM)에 기입한 해당 프레임에 대한 제1 데이터(D1)를, 제2 이미지 프로세싱 유닛(520)이 모두 독출한 것으로 판단할 수 있다. 다시 말해, 모드 변경 제어부(531)는 제1 데이터(D1)에 대한 제2 이미지 프로세싱 유닛(520)의 독출 동작이 완료된 것으로 판단할 수 있다. 따라서, 모드 변경 제어부(531)는 제1 및 제2 이미지 프로세싱 유닛들(510, 520) 사이에서 제1 데이터(D1)가 제1 입출력 모드에 따라 전달되도록 제어할 수 있다.
단계 S190에서, 모드 변경 제어부(531)는 제2 입출력 모드를 유지한다. 모드 변경 제어부(531)는 기입 포인터(WP)와 독출 포인터(RP)가 일치하지 않는 경우, 제1 이미지 프로세싱 유닛(510)이 메모리(MEM)에 기입한 해당 프레임에 대한 제1 데이터(D1)를, 제2 이미지 프로세싱 유닛(520)이 아직 모두 독출하지 못한 것으로 판단할 수 있다. 다시 말해, 모드 변경 제어부(531)는 제1 데이터(D1)에 대한 제2 이미지 프로세싱 유닛(520)의 독출 동작이 완료되지 않은 것으로 판단할 수 있다. 따라서, 모드 변경 제어부(531)는 프레임 드롭을 방지하기 위해, 제1 및 제2 이미지 프로세싱 유닛들(510, 520) 사이에서 제1 데이터(D1)가 제2 입출력 모드에 따라 전달되도록 제어할 수 있다.
도 15는 본 개시의 일 실시예에 따른 이미지 처리 장치(50)에서의 모드 변경 제어 로직의 일 예(CL1)를 나타낸다.
도 15를 참조하면, 이미지 처리 장치(50)는 도 15에 예시된 모드 변경 제어 로직(CL1)이 구현된 임의의 하드웨어 블록을 포함할 수 있다. 예를 들어, 도 13의 모드 변경 제어부(531)는 모드 변경 제어 로직(CL1)이 구현된 하드웨어 블록일 수 있다. 본 실시예에 따른 모드 변경 제어 로직(CL1)은, 수직 블랭크 구간이고 다이렉트 모드로 설정된 경우, 기입 포인터와 독출 포인터가 동일하면 다이렉트 모드로 결정하고, 그렇지 않으면 DMA 모드로 결정할 수 있다.
도 16은 본 개시의 일 실시예에 따른 이미지 처리 장치(60)를 나타내는 블록도이다.
도 16을 참조하면, 이미지 처리 장치(60)는 이미지 신호 처리부(600) 및 메모리(MEM)를 포함하고, 이미지 신호 처리부(600)는 제1 및 제2 이미지 프로세싱 유닛들(610, 620) 및 데이터 입출력 제어부(630)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 본 실시예에 따른 이미지 처리 장치(60)는 도 11의 이미지 처리 장치(40)의 변형 실시예이다. 이하에서는, 도 11과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
본 실시예에서, 제1 이미지 프로세싱 유닛(610)은 제1 메모리 컨트롤러(611) 및 제1 모드 변경 제어부(613)를 포함할 수 있고, 제2 이미지 프로세싱 유닛(620)은 제2 메모리 컨트롤러(621) 및 제2 모드 변경 제어부(623)를 포함할 수 있다. 제1 및 제2 메모리 컨트롤러들(611, 621)은 각각 도 11의 제1 및 제2 메모리 컨트롤러들(411, 421)과 실질적으로 유사하게 구현될 수 있다.
제1 모드 변경 제어부(613)는 제1 메모리 컨트롤러(611)로부터 기입 포인터(WP)를 수신할 수 있다. 또한, 제1 모드 변경 제어부(613)는 제2 메모리 컨트롤러(621) 또는 제2 모드 변경 제어부(623)로부터 독출 포인터(RP)를 수신할 수 있다. 제1 모드 변경 제어부(613)는 줌 종료 명령이 인가되면, 수신한 기입 포인터(WP)와 독출 포인터(RP)를 비교하고, 기입 포인터(WP)와 독출 포인터(RP)가 일치하는 경우 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드(예를 들어, 도 3의 MD2)에서 제1 입출력 모드(예를 들어, 도 3의 MD1)로 변경할 수 있다. 본 실시예에서, 제1 모드 변경 제어부(613)는 블랭크 구간, 예를 들어, 도 6의 Vblank 구간에서 기입 포인터(WP)와 독출 포인터(RP)의 비교 동작 및 입출력 모드 변경 동작을 수행할 수 있다.
제2 모드 변경 제어부(623)는 제2 메모리 컨트롤러(621)로부터 독출 포인터(RP)를 수신할 수 있다. 또한, 제2 모드 변경 제어부(623)는 제1 메모리 컨트롤러(611) 또는 제1 모드 변경 제어부(613)로부터 기입 포인터(WP)를 수신할 수 있다. 제2 모드 변경 제어부(623)는 줌 종료 명령이 인가되면, 수신한 기입 포인터(WP)와 독출 포인터(RP)를 비교하고, 기입 포인터(WP)와 독출 포인터(RP)가 일치하는 경우 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드에서 제1 입출력 모드로 변경할 수 있다. 본 실시예에서, 제2 모드 변경 제어부(623)는 블랭크 구간, 예를 들어, 도 6의 Vblank 구간에서 기입 포인터(WP)와 독출 포인터(RP)의 비교 동작 및 입출력 모드 변경 동작을 수행할 수 있다.
이와 같이, 본 실시예에 따르면, 예를 들어, 도 15에 예시된 모드 변경 제어 로직(CL1)은 제1 및 제2 모드 변경 제어부들(613, 623)에 구현될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 다른 실시예에서, 도 15에 예시된 모드 변경 제어 로직(CL1)은 제1 모드 변경 제어부(613) 또는 제2 모드 변경 제어부(623)에 구현될 수 있다.
도 17은 본 개시의 일 실시예에 따른 이미지 처리 장치(70)를 나타내는 블록도이다.
도 17을 참조하면, 이미지 처리 장치(70)는 이미지 신호 처리부(700) 및 메모리(MEM)를 포함하고, 이미지 신호 처리부(700)는 제1 및 제2 이미지 프로세싱 유닛들(710, 720) 및 데이터 입출력 제어부(730)를 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 본 실시예에 따른 이미지 처리 장치(70)는 도 11의 이미지 처리 장치(40)의 변형 실시예이다. 이하에서는, 도 11과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
본 실시예에서, 제1 이미지 프로세싱 유닛(710)은 제1 메모리 컨트롤러(711)를 포함할 수 있고, 제2 이미지 프로세싱 유닛(720)은 제2 메모리 컨트롤러(721), 모드 변경 제어부(723) 및 내부 버퍼(725)를 포함할 수 있다. 내부 버퍼(725)는 메모리(MEM)로부터 독출한 제1 데이터(D1)를 임시 저장할 수 있다. 제1 및 제2 메모리 컨트롤러들(711, 721)은 각각 도 11의 제1 및 제2 메모리 컨트롤러들(411, 421)과 실질적으로 유사하게 구현될 수 있다.
모드 변경 제어부(723)는 제2 메모리 컨트롤러(721)로부터 독출 포인터(RP)를 수신할 수 있다. 여기서, 독출 포인터(RP)는 메모리(MEM)에 대해 제2 이미지 프로세싱 유닛(720)이 독출 동작을 완료한 위치를 나타낼 수 있으며, 구체적으로, 독출 포인터(RP)는 메모리(MEM)에서 독출 동작이 완료된 영역의 주소를 나타낼 수 있다. 이로써, 모드 변경 제어부(723)는 메모리(MEM)에 저장된 제1 데이터(D1)에 대한 제2 이미지 프로세싱 유닛(720)의 독출 동작의 수행 범위를 확인할 수 있다. 구체적으로, 모드 변경 제어부(723)를 독출 포인터(RP)를 확인함으로써, 제2 이미지 프로세싱 유닛(720)이 설정된 이미지의 사이즈, 예를 들어, 줌 영역에 대응하는 제1 데이터(D1)를 모두 독출하였는지 판단할 수 있다.
또한, 모드 변경 제어부(723)는 내부 버퍼(725)로부터 버퍼 포인터(BP)를 수신할 수 있다. 여기서, 버퍼 포인터(BP)는 내부 버퍼(725)에 저장된 제1 데이터(D1)에 대해 제2 이미지 프로세싱 유닛(720)이 제2 이미지 처리를 완료한 위치를 나타낼 수 있으며, 구체적으로, 내부 버퍼(725)에서 제2 이미지 처리가 완료된 영역의 주소를 나타낼 수 있다. 이로써, 모드 변경 제어부(723)는 내부 버퍼(725)가 비었는지 판단할 수 있으며, 이에 따라, 메모리(MEM)로부터 독출한 제1 데이터(D1)에 대해 제2 이미지 처리를 완료했는지 판단할 수 있다.
모드 변경 제어부(723)는 줌 종료 명령이 인가되면, 독출 포인터(RP) 및 버퍼 포인터(BP)를 기초로 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드에서 제1 입출력 모드로 변경할 수 있다. 구체적으로, 모드 변경 제어부(723)는 독출 포인터(RP)를 기초로 제1 데이터(D1)에 대한 독출 동작이 완료되었는지 판단하고, 버퍼 포인터(BP)를 기초로 독출한 제1 데이터(D1)에 대한 제2 이미지 처리가 완료되었는지 판단하고, 제1 데이터(D1)에 대한 독출 동작 및 제2 이미지 처리가 완료된 경우 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드에서 제1 입출력 모드로 변경할 수 있다.
도 18는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 18을 참조하면, 본 실시예에 따른 이미지 처리 방법은 이미지 처리 장치에서 시계열적으로 수행되는 방법으로서, 예를 들어, 도 17의 이미지 처리 장치(70)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 구체적으로, 본 실시예에 따른 이미지 처리 방법은 도 17의 모드 변경 제어부(723)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 이하에서는 도 17 및 도 18을 참조하여 모드 변경 제어부(723)의 동작에 대응하는 이미지 처리 방법에 대해 상술하기로 한다.
단계 S210에서, 모드 변경 제어부(723)는 제1 입출력 모드를 나타내는 모드 신호를 수신한다. 여기서, 제1 입출력 모드는 다이렉트 모드일 수 있다. 예를 들어, 데이터 입출력 제어부(730)는 모드 신호(MS)를 생성하고, 생성된 모드 신호(MS)를 모드 변경 제어부(723)에 제공할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 모드 변경 제어부(723)는 줌 종료 명령을 수신함으로써 이하에서 설명되는 동작들을 개시할 수 있다.
단계 S220에서, 모드 변경 제어부(723)는 내부 버퍼(725)의 버퍼 포인터(BP)를 확인한다. 단계 S230에서, 모드 변경 제어부(723)는 내부 버퍼(725)가 비었는지 판단한다. 판단 결과, 내부 버퍼(725)가 비어있는 경우 단계 S260을 수행하고, 그렇지 않으면 단계 S270을 수행한다.
단계 S240에서, 모드 변경 제어부(723)는 독출 포인터(RP)를 확인한다. 단계 S250에서, 모드 변경 제어부(723)는 제1 데이터(D1)에 대한 독출이 완료되었는지 판단한다. 판단 결과, 제1 데이터(D1)에 대한 독출이 완료되면 경우 단계 S260을 수행하고, 그렇지 않으면 단계 S270을 수행한다.
단계 S260에서, 모드 변경 제어부(723)는 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드에서 제1 입출력 모드로 변경한다. 모드 변경 제어부(723)는 내부 버퍼(725)가 비어있고, 제1 데이터(D1)에 대한 독출이 완료된 경우, 제1 이미지 프로세싱 유닛(710)이 메모리(MEM)에 기입한 해당 프레임에 대한 제1 데이터(D1)를, 제2 이미지 프로세싱 유닛(720)이 모두 독출한 것으로 판단할 수 있고, 제2 이미지 프로세싱 유닛(720)이 제1 데이터(D1)에 대한 제2 이미지 처리 동작을 완료한 것으로 판단할 수 있다. 따라서, 모드 변경 제어부(723)는 제1 및 제2 이미지 프로세싱 유닛들(710, 720) 사이에서 제1 데이터(D1)가 제1 입출력 모드에 따라 전달되도록 제어할 수 있다.
단계 S270에서, 모드 변경 제어부(723)는 제1 데이터(D1)의 입출력 모드를 제2 입출력 모드로 유지한다. 모드 변경 제어부(723)는 내부 버퍼(725)가 비어있지 않은 경우, 제2 이미지 프로세싱 유닛(720)이 제1 데이터(D1)에 대한 제2 이미지 처리 동작을 완료하지 않은 것으로 판단할 수 있다. 따라서, 모드 변경 제어부(723)는 프레임 드롭을 방지하기 위해, 제1 및 제2 이미지 프로세싱 유닛들(710, 720) 사이에서 제1 데이터(D1)가 제2 입출력 모드에 따라 전달되도록 제어할 수 있다.
도 19은 본 개시의 일 실시예에 따른 이미지 처리 장치(70)에서의 모드 변경 제어 로직의 일 예(CL2)를 나타낸다.
도 19를 참조하면, 이미지 처리 장치(70)는 도 19에 예시된 모드 변경 제어 로직(CL2)이 구현된 임의의 하드웨어 블록을 포함할 수 있다. 예를 들어, 도 18의 모드 변경 제어부(723)는 모드 변경 제어 로직(CL2)이 구현된 하드웨어 블록일 수 있다. 본 실시예에 따른 모드 변경 제어 로직(CL2)은, 수직 블랭크 구간이고 다이렉트 모드로 설정된 경우, 제2 이미지 프로세싱 유닛(720)의 내부 버퍼(725)가 비어있고, 제2 이미지 프로세싱 유닛(720)이 설정된 이미지 영역에 해당하는 제1 데이터(D1)를 모두 독출한 경우 다이렉트 모드로 결정하고, 그렇지 않으면 DMA 모드로 결정할 수 있다.
도 20은 본 개시의 일 실시예에 따른 이미지 처리 장치(80)를 나타내는 블록도이다.
도 20을 참조하면, 이미지 처리 장치(80)는 이미지 신호 처리부(800) 및 메모리(MEM)를 포함하고, 이미지 신호 처리부(800)는 제1 및 제2 이미지 프로세싱 유닛들(810, 820), 데이터 입출력 제어부(830) 및 클럭 모듈(840)을 포함할 수 있다. 메모리(MEM)는 도 1에 상술된 바와 같이 구현될 수 있다. 본 실시예에 따른 이미지 처리 장치(80)는 도 1의 이미지 처리 장치(10)의 변형 실시예이다. 이하에서는, 도 1과 본 실시예의 차이점을 중심으로 설명하고, 중복된 설명은 생략하기로 한다.
일 실시예예서, 제1 및 제2 이미지 프로세싱 유닛들(810, 820), 데이터 입출력 제어부(830) 및 클럭 모듈(840)은 SoC로 구현될 수 있다. 일 실시예에서, 제1 및 제2 이미지 프로세싱 유닛들(810, 820), 데이터 입출력 제어부(830) 및 클럭 모듈(840)은 어플리케이션 프로세서 내에 배치될 수 있다. 일 실시예에서, 클럭 모듈(840)은 이미지 신호 처리부(800)의 외부에 배치될 수도 있다.
클럭 모듈(840)은 이미지 신호 처리부(800)에 포함된 각 IP들에 클럭 신호를 제공할 수 있다. 일 실시예에서, 클럭 모듈(840)은 제2 이미지 프로세싱 유닛(820)에 제공되는 클럭 신호의 주파수를 증가시킬 수 있다. 일 실시예에서, 클럭 모듈(840)은 줌 종료 명령이 인가되면 제2 이미지 프로세싱 유닛(820)에 제공되는 클럭 신호의 주파수를 증가시킬 수 있다.
도 21은 본 개시의 일 실시예에 따른 도 20의 클럭 모듈(840)의 제어에 따른 제1 및 제2 이미지 프로세싱 유닛들(810, 820)의 동작들을 나타내는 타이밍도이다.
도 20 및 도 21을 참조하면, 이미지 처리 장치(80)는 제1 이미지 프로세싱 유닛(810)에서 제4 프레임에 대한 제1 이미지 처리를 수행하는 동안 줌 종료 명령(ZE)을 수신할 수 있다. 만약, 줌 모드에 대응하는 제2 입출력 모드, 즉, DMA 모드에서 제2 이미지 프로세싱 유닛(820)의 동작이 완료되지 않은 채로 제5 프레임부터 제1 데이터(D1)의 입출력 모드를 제1 입출력 모드, 즉, 다이렉트 모드로 변경할 경우, 제1 이미지 프로세싱 유닛(810)에서 제1 이미지 처리한 제4 및 제5 프레임들에 대응하는 제1 데이터(D1)에 대해서 제2 이미지 프로세싱 유닛(820)에서 제2 이미지 처리를 수행할 수 없다. 이에 따라, 제4 및 제5 프레임들에 대해 프레임 드롭이 발생할 수 있다.
IP2c는 줌 종료 명령(ZE)이 인가되면 클럭 모듈(840)이 제2 이미지 프로세싱 유닛(820)에 제1 클럭 주파수를 갖는 클럭 신호를 제공하는 경우 제2 이미지 프로세싱 유닛(820)의 동작을 나타낸다. 이때, 제4 내지 제6 프레임들 사이의 블랭크 구간이 짧아질 수 있고, 제2 프로세싱 유닛(820)의 동작 속도가 증가할 수 있다. 본 예에 따르면, 제6 프레임과 제7 프레임 사이의 블랭크 구간에서 제2 프로세싱 유닛(820)이 제6 프레임에 대한 제2 이미지 처리 동작을 완료하였음을 확인할 수 있다. 따라서, 제7 프레임부터는 제1 및 제2 이미지 프로세싱 유닛들(810, 820) 사이에서 제1 데이터(D1)는 제1 입출력 모드, 즉, 다이렉트 모드로 전달될 수 있다.
IP2d는 줌 종료 명령(ZE)이 인가되면 클럭 모듈(840)이 제2 이미지 프로세싱 유닛(820)에 제1 클럭 주파수보다 높은 제2 클럭 주파수를 갖는 클럭 신호를 제공하는 경우 제2 이미지 프로세싱 유닛(820)의 동작을 나타낸다. 이때, 제4 프레임과 제5 프레임 사이의 블랭크 구간이 짧아질 수 있고, 제2 프로세싱 유닛(820)의 동작 속도가 더욱 증가할 수 있다. 본 예에 따르면, 제5 프레임과 제6 프레임 사이의 블랭크 구간에서 제2 프로세싱 유닛(820)이 제5 프레임에 대한 제2 이미지 처리 동작을 완료하였음을 확인할 수 있다. 따라서, 제6 프레임부터는 제1 및 제2 이미지 프로세싱 유닛들(810, 820) 사이에서 제1 데이터(D1)는 제1 입출력 모드, 즉, 다이렉트 모드로 전달될 수 있다.
상술한 실시예에 따르면, 클럭 모듈(840)이 제2 이미지 프로세싱 유닛(820)에 제공하는 클럭 주파수를 증가시킬수록, 줌 종료 명령(ZE)의 인가 후에 제1 데이터(D1)의 입출력 모드가 제1 입출력 모드로 변경되는 시점이 더욱 빨라질 수 있다. 따라서, 클럭 모듈(840)은 이미지 처리 장치(80)의 동작 상황을 종합적으로 판단하여 제2 이미지 프로세싱 유닛(820)에 제공하는 클럭 주파수를 결정하고, 결정된 클럭 주파수를 갖는 클럭 신호를 제2 이미지 프로세싱 유닛(820)에 제공할 수 있다.
도 22는 본 개시의 실시예들에 따른 이미지 처리 장치에서 제1 및 제2 이미지 프로세싱 유닛들의 동작을 나타내는 타이밍도이다.
도 22를 참조하면, 본 개시의 실시예들에 따른 이미지 처리 장치(예를 들어, 10 내지 80)는 제1 및 제2 이미지 프로세싱 유닛들(IP1, IP2)을 포함할 수 있고, 제1 이미지 프로세싱 유닛(IP1)에서 생성된 제1 데이터는 이미지 처리 장치의 동작 모드에 따라 다이렉트 모드 DMA 모드에 따라 제2 이미지 프로세싱 유닛(IP2)으로 전달될 수 있다.
노말 모드에서, 제1 이미지 프로세싱 유닛(IP1)은 다이렉트 모드에 따라 제1 데이터를 제2 이미지 프로세싱 유닛(IP2)에 직접 전달할 수 있다. 이에 따라, 제1 및 제2 이미지 프로세싱 유닛들(IP1, IP2) 사이에서 레이턴시를 감소시키고, 전력 소모를 줄일 수 있다.
줌 모드에서, 제1 이미지 프로세싱 유닛(IP1)은 DMA 모드에 따라 제1 데이터를 메모리를 거쳐 제2 이미지 프로세싱 유닛(IP2)에 전달할 수 있다. 제1 이미지 프로세싱 유닛(IP1)는 제1 및 제2 서브 데이터를 순차적으로 생성할 수 있다. 이미지 처리 장치는 제1 서브 데이터가 메모리에 기입되고 제2 서브 데이터가 메모리에 기입되기 전에, 제2 이미지 프로세싱 유닛(IP2)이 메모리에 저장된 제1 서브 데이터를 독출하도록 메모리를 제어할 수 있다. 이에 따라, DMA 모드에서 제1 데이터는 다이렉트 모드와 유사하게, 레이턴시를 감소시킬 수 있고, 이로써, 노말 모드에서 줌 모드로 변경될 때에 프레임 지연 문제를 해결할 수 있다.
줌 모드에서 노말 모드로 변경되는 경우, 이미지 처리 장치는 예를 들어, 도 15 또는 도 19에 예시된 모드 변경 제어 로직들이 구현된 하드웨어를 포함함으로써 프레임 드롭 문제를 해결할 수 있다. 또한, 이미지 처리 장치는 제2 이미지 프로세싱 유닛(IP2)에 제공되는 클럭 신호의 주파수를 증가시킴으로써, 줌 종료 명령이 인가된 후에 제1 데이터의 입출력 모드가 DMA 모드에서 다이렉트 모드로 변경되는 시점을 앞당길 수 있다.
이와 같이, 본 실시예들에 따르면, 이미지 처리 장치의 동작 모드에 따라 이미지 처리 장치에 포함된 IP들 사이의 데이터 입출력 모드를 동적으로 결정함에 따라, 전력 소비를 감소하고, 메모리 사용량을 감소시키며, 레이턴시를 줄일 수 있다. 나아가, 입출력 모드가 다이렉트 모드에서 DMA 모드로 변경될 때 발생할 수 있는 프레임 지연 문제 또는 입출력 모드가 DMA 모드에서 다이렉트 모드로 변경될 때 발생할 수 있는 프레임 드롭 문제를 해결할 수 있다.
도 23은 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 23을 참조하면, 본 개시에 따른 이미지 처리 방법은 상술된 실시예들 중 하나에 따른 이미지 처리 장치에서 시계열적으로 수행될 수 있다. 따라서, 도 1 내지 도 22를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S310에서, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써 제1 데이터를 생성한다. 단계 S330에서, 제1 데이터의 입출력 모드에 따라, 제1 데이터를 제2 이미지 프로세싱 유닛 또는 메모리로 출력한다. 단계 S350에서, 제1 데이터의 입출력 모드에 따라, 제1 데이터를 제1 이미지 프로세싱 유닛 또는 메모리로부터 수신한다. 단계 S370에서, 제1 데이터에 대해 제2 이미지 처리를 수행함으로써 제2 데이터를 생성한다.
도 24는 본 개시의 일 실시예에 따른 이미지 처리 방법을 나타내는 흐름도이다.
도 24를 참조하면, 본 개시에 따른 이미지 처리 방법은 상술된 실시예들 중 하나에 따른 이미지 처리 장치에서 시계열적으로 수행될 수 있다. 따라서, 도 1 내지 도 22를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S410에서, 동작 모드에 따라 제1 데이터의 입출력 모드를 결정한다. 단계 S430에서, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써 제1 데이터를 생성하고, 제1 데이터를 입출력 모드에 따라 출력한다. 단계 S450에서, 입출력 모드에 따라 제1 데이터를 수신하고, 제1 데이터에 대해 제2 이미지 처리를 수행함으로써 제2 데이터를 생성한다.
도 25는 본 개시의 일 실시예에 따른 어플리케이션 프로세서(900)를 나타내는 블록도이다.
도 25를 참조하면, 어플리케이션 프로세서(900)는 인터커넥트 버스(910)와, 이에 연결되는 중앙 처리장치(CPU, 920), 멀티미디어 유닛(930), 메모리 장치(940) 및 주변 회로(950)를 포함할 수 있다. 어플리케이션 프로세서(900)는 다양한 형태로 구현될 수 있으며, 예컨대 어플리케이션 프로세서(900)는 SoC로 구현될 수 있다.
인터커넥트 버스(910)는 소정의 표준 버스 규격을 갖는 프로토콜이 적용된 버스로 구현될 수 있다. 예컨대, 표준 버스 규격으로서, ARM(Advanced RISC Machine) 사의 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜이 적용될 수 있다. AMBA 프로토콜의 버스 타입에는 AHB(Advanced High-Performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface), AXI4, ACE(AXI Coherency Extensions) 등이 포함될 수 있다. 전술한 버스 타입들 중 AXI는 IP들 사이의 인터페이스 프로토콜로서, 다중 아웃스탠딩 어드레스(multiple outstanding address) 기능과 데이터 인터리빙(data interleaving) 기능 등을 제공한다. 이외에도, 소닉사(SONICs Inc.)의 uNetwork 이나 IBM의 CoreConnect, OCP-IP의 오픈 코어 프로토콜(Open Core Protocol) 등 다른 타입의 프로토콜이 인터커넥트 버스(910)에 적용되어도 무방하다.
한편, 도 25에 도시된 각종 IP들 각각은 고유한 동작을 수행하는 기능 블록으로 구현될 수 있다. 예컨대, 중앙 처리 장치(920)는 마스터 IP에 해당할 수 있으며, 어플리케이션 프로세서(900)의 전반적인 동작을 제어할 수 있다. 또한, 멀티미디어 유닛(930)은 전술한 실시예들 중 어느 하나에 따른 이미지 신호 처리부(예를 들어, 100, 200, 300, 400, 500, 600, 700, 800)를 포함할 수 있다. 또한, 멀티미디어 유닛(930)은 전술한 실시예들 중 어느 하나에 따른 이미지 처리 방법을 수행할 수 있다. 메모리 장치(940)는 어플리케이션 프로세서(900)의 동작에 관련된 각종 정보들을 일시 저장하기 위한 메모리로서, 예컨대 DRAM을 포함할 수 있다. 또한, 주변 회로(950)는 외부와 인터페이스하기 위한 각종 인터페이스 수단을 포함할 수 있으며, 기타 어플리케이션 프로세서(900)의 기능을 구현하기 위한 각종 주변 장치들을 포함할 수 있다. 예컨대, DRAM 이외에도 다른 메모리를 포함할 수 있거나, 또는 외부의 저장 장치를 억세스하기 위한 수단 등을 포함할 수 있다.
도 26은 본 개시의 일 실시에에 따른 전자 장치(1000)를 나타내는 블록도이다.
도 26을 참조하면, 전자 장치(1000)는 이미지 센서(1100), 어플리케이션 프로세서(1200), 메모리(1300) 및 디스플레이(1400)를 포함할 수 있다. 이미지 센서(1100)는 독립된 반도체 칩으로 구현될 수도 있고, 어플리케이션 프로세서(1200)와 결합하여 하나의 반도체 칩으로 구현될 수도 있다. 이미지 센서(1100)는 광학 영상을 전기적 신호로 변환시키는 반도체 장치로서, 예를 들어, CMOS 이미지 센서일 수 있다.
어플리케이션 프로세서(1200)는 CPU(1210), ISP(Image Signal Processor)(1220) 및 디스플레이 컨트롤러(1230)를 포함할 수 있다. 상술된 본 실시예들에 따른 이미지 신호 처리부(예를 들어, 100, 200, 300, 400, 500, 600, 700, 800)는 ISP(1220)에 포함될 수 있다.
디스플레이(1400)는 디스플레이 컨트롤러(1230)의 제어에 따라 이미지를 디스플레이한다. 디스플레이(1400)는 LCD(liquid crystal display), TFF-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, 또는 AMOLED(active-matrix OLED) 디스플레이로 구현될 수 있다.
도 27은 본 개시의 일 실시예에 따른 전자 시스템(2000) 및 인터페이스를 나타내는 블록도이다.
도 27을 참조하면, 전자시스템(2000)은 mipi 인터페이스를 사용 또는 지원할 수 있는 데이터 처리 장치, 예컨대 이동 전화기, PDA, PMP 또는 스마트 폰으로 구현될 수 있다. 전자 시스템(2000)은 어플리케이션 프로세서(2010), 이미지 센서(2040) 및 디스플레이(2050)를 포함할 수 있다. 어플리케이션 프로세서(2010)는 도 1 내지 도 26을 참조하여 상술된 실시예들에 따라 구현될 수 있다.
어플리케이션 프로세서(2010)에 구현된 CSI 호스트(2012)는 카메라 시리얼 인터페이스(camera serial interface; CSI)를 통하여 이미지 센서(2040)의 CSI 장치(2041)와 시리얼 통신할 수 있다. 이때, CSI 호스트(2012)에는 광 디시리얼라이저가 구현될 수 있고, CSI 장치(2041)에는 광 시리얼라이저가 구현될 수 있다.
어플리케이션 프로세서(2010)에 구현된 DSI 호스트(2011)는 디스플레이 시리얼 인터페이스(display serial interface; DSI)를 통하여 디스플레이(2050)의 DSI 장치(2051)와 시리얼 통신할 수 있다. 이때, 예컨대, DSI 호스트(2011)에는 광 시리얼라이저가 구현될 수 있고, DSI 장치(2051)에는 광 디시리얼라이저가 구현될 수 있다.
전자 시스템(2000)은 어플리케이션 프로세서(2010)와 통신할 수 있는 RF 칩(2060)을 더 포함할 수 있다. 전자 시스템(2000)의 PHY(2013)와 RF 칩(2060)의 PHY(2061)는 MIPI DigRF에 따라 데이터를 주고받을 수 있다. 전자 시스템(2000)은 GPS(2020), 스토리지(2070), 마이크(2080), DRAM(2085) 및 스피커(2090)를 더 포함할 수 있으며, 전자 시스템(2000)은 Wimax(2030), WLAN(2100) 및 UWB(2110) 등을 이용하여 통신할 수 있다.
상술한 본 발명의 실시예들에 따른 어플리케이션 프로세서 또는 이미지 처리 장치는 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 어플리케이션 프로세서 또는 이미지 처리 장치의 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
10, 20, 30, 40, 50, 60, 70, 80: 이미지 처리 장치
100, 200, 300, 400, 500, 600, 700, 800: 이미지 신호 처리부
900: 어플리케이션 프로세서

Claims (20)

  1. 메모리;
    이미지 데이터에 대해 제1 이미지 처리를 수행함으로써, 제1 데이터를 생성하는 제1 이미지 프로세싱 유닛; 및
    상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써, 제2 데이터를 생성하는 제2 이미지 프로세싱 유닛을 포함하고,
    상기 제1 데이터는, 제1 동작 모드에서 상기 제1 이미지 프로세싱 유닛에서 상기 제2 이미지 프로세싱 유닛으로 직접 전달되고, 상기 제1 동작 모드에서 제2 동작 모드로 변경되는 경우 상기 제1 이미지 프로세싱 유닛에서 상기 메모리를 거쳐 상기 제2 이미지 프로세싱 유닛으로 전달되는 것을 특징으로 하는 이미지 처리 장치.
  2. 제1항에 있어서,
    상기 제1 동작 모드는 노말(normal) 모드이고, 상기 제2 동작 모드는 줌(zoom) 모드인 것을 특징으로 하는 이미지 처리 장치.
  3. 제1항에 있어서,
    상기 이미지 처리 장치의 동작 모드에 따라 상기 제1 데이터의 입출력 모드를, 상기 제1 이미지 프로세싱 유닛에서 상기 제2 이미지 프로세싱 유닛으로 직접 전달하는 제1 입출력 모드, 또는 상기 제1 이미지 프로세싱 유닛에서 상기 메모리를 거쳐 상기 제2 이미지 프로세싱 유닛으로 전달하는 제2 입출력 모드로 결정하는 데이터 입출력 제어부를 더 포함하는 이미지 처리 장치.
  4. 제3항에 있어서,
    상기 데이터 입출력 제어부는, 상기 동작 모드를 나타내는 동작 모드 신호를 수신하고, 수신한 상기 동작 모드 신호에 따라 상기 제1 데이터의 상기 입출력 방식을 상기 제1 입출력 모드 또는 상기 제2 입출력 모드로 결정하는 것을 특징으로 하는 이미지 처리 장치.
  5. 제3항에 있어서,
    상기 데이터 입출력 제어부는, 상기 제1 및 제2 이미지 프로세싱 유닛들의 외부에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  6. 제3항에 있어서,
    상기 데이터 입출력 제어부는, 상기 제1 이미지 프로세싱 유닛과 상기 제2 이미지 프로세싱 유닛 중 적어도 하나의 내부에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  7. 제6항에 있어서,
    상기 데이터 입출력 제어부는,
    상기 제1 이미지 프로세싱 유닛 내에 배치되고, 상기 제1 입출력 모드에서 상기 제1 데이터를 상기 제2 이미지 프로세싱 유닛에 출력하며, 상기 제2 입출력 모드에서 상기 제1 데이터를 상기 메모리에 출력하도록 상기 제1 데이터의 출력을 제어하는 데이터 출력 제어부; 및
    상기 제2 이미지 프로세싱 유닛 내에 배치되고, 상기 제1 입출력 모드에서 상기 제1 데이터를 상기 제1 이미지 프로세싱 유닛으로부터 수신하고, 상기 제2 입출력 모드에서 상기 제1 데이터를 상기 메모리로부터 수신하도록 상기 제1 데이터의 입력을 제어하는 데이터 입력 제어부를 포함하는 것을 특징으로 하는 이미지 처리 장치.
  8. 제3항에 있어서,
    상기 제1 및 제2 이미지 프로세싱 유닛들 및 상기 데이터 입출력 제어부는 어플리케이션 프로세서 내에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  9. 제3항에 있어서,
    상기 제1 및 제2 이미지 프로세싱 유닛들 및 상기 데이터 입출력 제어부는 시스템 온 칩(System-On-a-Chip, SoC)으로 구현되는 것을 특징으로 하는 이미지 처리 장치.
  10. 제3항에 있어서,
    상기 이미지 데이터는 제1 서브 이미지 데이터 및 제2 서브 이미지 데이터를 포함하고,
    상기 제1 이미지 프로세싱 유닛은 상기 제1 서브 이미지 데이터 및 상기 제2 서브 이미지 데이터에 대해 제1 이미지 처리를 순차적으로 수행함으로써, 제1 서브 데이터 및 제2 서브 데이터를 순차적으로 생성하고,
    상기 이미지 처리 장치는, 상기 제1 서브 데이터가 상기 메모리에 기입된 후, 상기 제2 서브 데이터가 상기 메모리에 기입되기 전에, 상기 제2 이미지 프로세싱 유닛이 상기 메모리로부터 상기 제1 서브 데이터를 독출하도록 상기 메모리를 제어하는 메모리 컨트롤러를 더 포함하는 것을 특징으로 하는 이미지 처리 장치.
  11. 제10항에 있어서,
    상기 메모리 컨트롤러는, 상기 제1 및 제2 이미지 프로세싱 유닛들의 외부에 배치되고, 상기 제2 서브 데이터를 상기 메모리에 기입하는 기입 명령을 제공하기 전에, 상기 제2 서브 데이터를 상기 메모리로부터 독출하는 독출 명령을 제공하는 것을 특징으로 하는 이미지 처리 장치.
  12. 제10항에 있어서,
    상기 메모리 컨트롤러는, 상기 제1 이미지 프로세싱 유닛과 상기 제2 이미지 프로세싱 유닛 중 적어도 하나의 내부에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  13. 제9항에 있어서,
    줌 종료 명령이 인가되면, 상기 메모리 컨트롤러로부터 수신한 기입 포인터와 독출 포인터를 비교하고, 상기 기입 포인터와 상기 독출 포인터가 일치하는 경우 상기 제1 데이터의 상기 입출력 모드를 상기 제2 입출력 모드에서 상기 제1 입출력 모드로 변경하는 모드 변경 제어부를 더 포함하는 것을 특징으로 하는 이미지 처리 장치.
  14. 제13항에 있어서,
    상기 모드 변경 제어부는, 상기 데이터 입출력 제어부의 내부에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  15. 제13항에 있어서,
    상기 모드 변경 제어부는, 상기 제1 및 제2 이미지 프로세싱 유닛들 중 적어도 하나의 내부에 배치되는 것을 특징으로 하는 이미지 처리 장치.
  16. 제15항에 있어서,
    상기 모드 변경 제어부는,
    상기 제1 이미지 프로세싱 유닛 내부에 배치되고, 상기 기입 포인터를 수신하는 제1 모드 변경 제어부; 및
    상기 제2 이미지 프로세싱 유닛 내부에 배치되고, 상기 독출 포인터를 수신하는 제2 모드 변경 제어부를 포함하는 것을 특징으로 하는 이미지 처리 장치.
  17. 제9항에 있어서,
    상기 제2 이미지 프로세싱 유닛은,
    내부 버퍼; 및
    줌 종료 명령이 인가되면, 상기 메모리 컨트롤러로부터 수신한 독출 포인터 및 상기 내부 버퍼의 버퍼 포인터를 기초로 상기 제1 데이터의 상기 입출력 모드를 상기 제2 입출력 모드에서 상기 제1 입출력 모드로 변경하는 모드 변경 제어부를 포함하는 것을 특징으로 하는 이미지 처리 장치.
  18. 제9항에 있어서,
    줌 종료 명령이 인가되면, 상기 제2 이미지 프로세싱 유닛에 제공되는 클럭 신호의 주파수를 증가시키는 클럭 모듈을 더 포함하는 것을 특징으로 하는 이미지 처리 장치.
  19. 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써, 제1 데이터를 생성하는 제1 이미지 프로세싱 유닛; 및
    상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써, 제2 데이터를 생성하는 제2 이미지 프로세싱 유닛을 포함하고,
    상기 제1 데이터는, 제1 동작 모드에서 상기 제1 이미지 프로세싱 유닛에서 상기 제2 이미지 프로세싱 유닛으로 직접 전달되고, 상기 제1 동작 모드에서 제2 동작 모드로 변경되는 경우 상기 제1 이미지 프로세싱 유닛에서 상기 메모리를 거쳐 상기 제2 이미지 프로세싱 유닛으로 전달되는 것을 특징으로 하는 어플리케이션 프로세서.
  20. 이미지 처리 장치에서의 이미지 처리 방법으로서,
    제1 이미지 프로세싱 유닛에서, 이미지 데이터에 대해 제1 이미지 처리를 수행함으로써 제1 데이터를 생성하는 단계;
    상기 제1 이미지 프로세싱 유닛에서, 상기 제1 데이터의 입출력 모드에 따라, 상기 제1 데이터를 제2 이미지 프로세싱 유닛 또는 메모리에 출력하는 단계;
    상기 제2 이미지 프로세싱 유닛에서, 상기 제1 데이터의 상기 입출력 모드에 따라, 상기 제1 데이터를 상기 제1 이미지 프로세싱 유닛 또는 상기 메모리로부터 수신하는 단계; 및
    상기 제2 이미지 프로세싱 유닛에서, 상기 제1 데이터에 대해 제2 이미지 처리를 수행함으로써 제2 데이터를 생성하는 단계를 포함하는 이미지 처리 방법.
KR1020150150269A 2015-10-28 2015-10-28 이미지 처리 장치 및 이미지 처리 방법 KR102400104B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150150269A KR102400104B1 (ko) 2015-10-28 2015-10-28 이미지 처리 장치 및 이미지 처리 방법
CN201610887147.6A CN106657763B (zh) 2015-10-28 2016-10-11 图像处理设备和方法
US15/295,592 US10445851B2 (en) 2015-10-28 2016-10-17 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150150269A KR102400104B1 (ko) 2015-10-28 2015-10-28 이미지 처리 장치 및 이미지 처리 방법

Publications (2)

Publication Number Publication Date
KR20170049191A true KR20170049191A (ko) 2017-05-10
KR102400104B1 KR102400104B1 (ko) 2022-05-19

Family

ID=58635755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150150269A KR102400104B1 (ko) 2015-10-28 2015-10-28 이미지 처리 장치 및 이미지 처리 방법

Country Status (3)

Country Link
US (1) US10445851B2 (ko)
KR (1) KR102400104B1 (ko)
CN (1) CN106657763B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361213A (zh) * 2017-12-04 2023-06-30 谷歌有限责任公司 使用片上系统的数据的同步处理
US10798022B2 (en) 2017-12-05 2020-10-06 Google Llc Switch proxy controller for switch virtualization
TWI788686B (zh) * 2020-07-22 2023-01-01 瑞昱半導體股份有限公司 影像處理裝置
CN114071206B (zh) * 2020-07-29 2024-04-12 瑞昱半导体股份有限公司 影像处理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112111A (ja) * 2000-09-29 2002-04-12 Fujitsu General Ltd 映像信号処理回路
JP2011515957A (ja) * 2008-03-18 2011-05-19 クゥアルコム・インコーポレイテッド 不揮発性メモリからのメディアデータの効果的な低電力検索技術
KR101428635B1 (ko) * 2011-07-20 2014-08-08 브로드콤 코포레이션 듀얼 이미지 캡쳐 프로세싱
KR20140112371A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
JP2015109037A (ja) * 2013-12-05 2015-06-11 キヤノン株式会社 画像処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209512A (ja) 1999-01-20 2000-07-28 Victor Co Of Japan Ltd 電子ズ―ム回路
JP3781634B2 (ja) 2001-04-26 2006-05-31 シャープ株式会社 画像処理装置および画像処理方法並びに携帯用映像機器
JP3810685B2 (ja) 2001-12-27 2006-08-16 株式会社メガチップス 解像度変換装置およびデジタル・カメラ
JP3810699B2 (ja) 2002-03-26 2006-08-16 株式会社メガチップス 解像度変換装置および撮像装置
JP2004312072A (ja) * 2003-04-02 2004-11-04 Matsushita Electric Ind Co Ltd 画像処理装置及びカメラ、並びに画像処理方法
CN100359930C (zh) * 2005-12-30 2008-01-02 长城信息产业股份有限公司 在显示器上实现多画中画显示的方法及其装置
JP2008035307A (ja) 2006-07-31 2008-02-14 Fujifilm Corp 情報処理装置
KR20080072217A (ko) 2007-02-01 2008-08-06 삼성전자주식회사 화상처리장치
US8154625B2 (en) 2007-04-02 2012-04-10 Research In Motion Limited Camera with multiple viewfinders
JP2010282429A (ja) 2009-06-04 2010-12-16 Canon Inc 画像処理装置及びその制御方法
JP2012129906A (ja) * 2010-12-17 2012-07-05 Samsung Electronics Co Ltd 画像処理装置、画像処理方法、及びプログラム
US9049364B2 (en) * 2012-02-13 2015-06-02 Htc Corporation Focus adjusting method and image capture device thereof
KR102254684B1 (ko) 2014-07-15 2021-05-21 삼성전자주식회사 이미지 장치 및 그 구동 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002112111A (ja) * 2000-09-29 2002-04-12 Fujitsu General Ltd 映像信号処理回路
JP2011515957A (ja) * 2008-03-18 2011-05-19 クゥアルコム・インコーポレイテッド 不揮発性メモリからのメディアデータの効果的な低電力検索技術
KR101428635B1 (ko) * 2011-07-20 2014-08-08 브로드콤 코포레이션 듀얼 이미지 캡쳐 프로세싱
KR20140112371A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
JP2015109037A (ja) * 2013-12-05 2015-06-11 キヤノン株式会社 画像処理装置

Also Published As

Publication number Publication date
CN106657763A (zh) 2017-05-10
CN106657763B (zh) 2021-03-09
US10445851B2 (en) 2019-10-15
KR102400104B1 (ko) 2022-05-19
US20170124678A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
US10282805B2 (en) Image signal processor and devices including the same
JP6078173B2 (ja) アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器
US9460482B2 (en) System on chip including configurable image processing pipeline and system including the same
KR102400104B1 (ko) 이미지 처리 장치 및 이미지 처리 방법
US10225425B2 (en) Information processing apparatus and method for controlling the same
US20160086565A1 (en) Display driving circuit, method of operating display driving circuit, and system on chip
US11710213B2 (en) Application processor including reconfigurable scaler and devices including the processor
US11189001B2 (en) Image signal processor for generating a converted image, method of operating the image signal processor, and application processor including the image signal processor
US9323700B2 (en) Semiconductor integrated circuit and DMA control method of the same
US11758284B2 (en) Image processors and image processing methods
US20160098812A1 (en) Application processor sharing resource based on image resolution and devices including same
KR20160099393A (ko) 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
TW201423403A (zh) 共用資源的存取請求之有效率處理
KR20160094175A (ko) 디스플레이 잡음을 개선하는 디스플레이 컨트롤러, 및 상기 디스플레이 컨트롤러를 포함하는 시스템
JP2010097311A (ja) 半導体装置及び半導体集積回路
US10771681B2 (en) Imaging pickup apparatus of which display start timing and display quality are selectable, method of controlling the same
US20230070191A1 (en) System on chip and mobile device including the same
US10152766B2 (en) Image processor, method, and chipset for increasing intergration and performance of image processing
US20110156875A1 (en) Apparatus for and Method of Processing Data
US20140125821A1 (en) Signal processing circuit, imaging apparatus and program
JP2007006125A (ja) 画像処理支援装置、電子カメラ、画像処理装置、現像処理システム、並びにこれらの画像処理支援装置および画像処理装置を実現するプログラム
JP5392060B2 (ja) 画像データ処理装置
JP2007334600A (ja) 半導体集積回路装置
JP5946674B2 (ja) 信号処理装置
JP2004362176A (ja) 集積回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant