KR102254676B1 - 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들 - Google Patents

이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들 Download PDF

Info

Publication number
KR102254676B1
KR102254676B1 KR1020140149744A KR20140149744A KR102254676B1 KR 102254676 B1 KR102254676 B1 KR 102254676B1 KR 1020140149744 A KR1020140149744 A KR 1020140149744A KR 20140149744 A KR20140149744 A KR 20140149744A KR 102254676 B1 KR102254676 B1 KR 102254676B1
Authority
KR
South Korea
Prior art keywords
image
pipelines
scaler
divided
memory
Prior art date
Application number
KR1020140149744A
Other languages
English (en)
Other versions
KR20160052002A (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 KR1020140149744A priority Critical patent/KR102254676B1/ko
Priority to US14/814,718 priority patent/US9965825B2/en
Priority to TW104129085A priority patent/TWI712003B/zh
Priority to CN201510727040.0A priority patent/CN105574804B/zh
Publication of KR20160052002A publication Critical patent/KR20160052002A/ko
Application granted granted Critical
Publication of KR102254676B1 publication Critical patent/KR102254676B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/373Details of the operation on graphic patterns for modifying the size of the graphic pattern
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/045Zooming at least part of an image, i.e. enlarging it or shrinking it
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored

Abstract

이미지를 실시간으로 처리할 수 있는 이미지 처리 회로를 포함하는 애플리케이션 프로세서에서, 상기 이미지 처리 회로는 N(N은 2 이상의 자연수)개의 파이프라인들과, 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 수신하고, 상기 제1정보와 상기 제2정보에 따라 상기 N개의 파이프 라인들 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 제어 회로를 포함하고, 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리한다.

Description

이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들{IMAGE PROCESSING CIRCUIT FOR PROCESSING IMAGE ON-THE FLY AND DEVICES HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로에 관한 것으로, 특히 라인 메모리의 폭에 기초하여 상기 이미지를 분할 이미지들로 분할하고 분할된 이미지들을 실시간으로 병렬로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들에 관한 것이다.
모바일 애플리케이션을 사용하는 단말기에서, UHD((ultra-high-definition)와 같은 고해상도 이미지를 디스플레이하는 디스플레이 장치가 지원되고 있다.
고해상도 이미지를 디스플레이 장치에서 디스플레이하기 위해, 상기 고해상도 이미지를 리드(read) 또는 페치(fetch)하는 직접 메모리 접근(Direct Memory Access(DMA)) 컨트롤러의 대역폭(bandwidth)이 2GB(gigabyte)/s까지 증가하고 있다. 고해상도 이미지를 실시간(on-the-fly)으로 회전시키면서 디스플레이 장치에서 디스플레이할 때, 상기 단말기는 상기 고해상도 이미지를 실시간으로 회전시키면서 회전된 고해상도 이미지를 디스플레이 장치에서 디스플레이하기 어렵다.
본 발명이 이루고자 하는 기술적인 과제는 라인 메모리의 폭에 기초하여 상기 이미지를 분할 이미지들로 분할하고 분할된 이미지들을 실시간으로 병렬로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들을 제공하는 것이다.
본 발명의 실시 예에 따른 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로를 포함하는 애플리케이션 프로세서에서, 상기 이미지 처리 회로는 N(N은 2 이상의 자연수)개의 파이프라인들과, 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 수신하고, 상기 제1정보와 상기 제2정보에 따라 상기 N개의 파이프 라인들 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 제어 회로를 포함하고, 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리한다.
상기 이미지의 상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나를 포함한다.
상기 인에이블 제어 회로는, 상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 따라 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시킨다.
실시 예에 따라, 상기 인에이블된 M개의 파이프라인들 각각은 상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 메모리로부터 페치하는 DMA(direct memory access) 컨트롤러와, 상기 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러와, 상기 스케일러로부터 출력된 수직으로 그리고 수평으로 스케일된 분할 이미지를 크롭(crop)하고 크롭된 분할 이미지를 출력하는 크롭 회로를 포함한다.
상기 DMA 컨트롤러는, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라, 회전된 상기 분할 이미지를 출력한다.
상기 이미지 처리 회로는 상기 인에이블된 M개의 파이프라인들 각각에 포함된 상기 크롭 회로로부터 출력된 상기 크롭된 분할 이미지를 병합(merge)하는 병합기(merger)를 더 포함한다.
다른 실시 예에 따라, 상기 인에이블된 M개의 파이프라인들 중에서 어느 하나는 각각이 상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 메모리로부터 페치하는 DMA 컨트롤러들과, 각각이 DMA 컨트롤러들 중에서 대응되는 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 크롭하고 크롭된 분할 이미지를 출력하는 크롭 회로들과, 상기 크롭 회로들 각각으로부터 출력된 상기 크롭된 분할 이미지를 병합하는 병합기와, 상기 병합기로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러를 포함한다.
상기 스케일러 라인 메모리는 상기 스케일러에 포함되고, 상기 스케일러 라인 메모리의 폭은 상기 DMA 컨트롤러들 각각에 포함된 라인 메모리의 폭의 합에 상응한다.
본 발명의 실시 예에 따른 시스템 온 칩은 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와, 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 생성하는 CPU를 포함하고, 상기 이미지 처리 회로는 N(N은 2 이상의 자연수)개의 파이프라인들과, 상기 CPU로부터 출력된 상기 제1정보와 상기 제2정보에 따라, 상기 N개의 파이프 라인들 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 제어 회로를 포함하고, 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리한다.
상기 이미지의 상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나를 포함하고, 상기 인에이블 제어 회로는 상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 따라 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시킨다.
본 발명의 실시 예에 따른 모바일 컴퓨팅 장치는 이미지를 저장하는 메모리와, 상기 메모리에 저장된 상기 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와, 상기 모바일 컴퓨팅 장치의 회전을 감지하고 감지 신호를 출력하는 센서와, 상기 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 감지 신호에 기초하여 제2정보를 생성하는 CPU를 포함하고, 상기 이미지 처리 회로는 N(N은 2 이상의 자연수)개의 파이프라인들과, 상기 CPU로부터 출력된 상기 제1정보와 상기 제2정보에 따라, 상기 N개의 파이프 라인들 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 제어 회로를 포함하고, 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리한다.
상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나를 포함하고, 상기 인에이블 제어 회로는, 상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 따라 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시킨다.
본 발명의 실시 예에 따른 스케일러를 포함하는 이미지 처리 회로는 상기 스케일러에 포함된 스케일러 라인 메모리의 폭에 기초하여 메모리에 저장된 이미지를 분할 이미지들로 분할하고 분할된 이미지들을 실시간으로 병렬로 처리할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 이미지 처리 회로의 일 실시 예를 나타내는 블록도이다.
도 3은 도 2에 도시된 DMA 컨트롤러의 블록도를 나타낸다.
도 4는 도 2에 도시된 스케일러의 블록도를 나타낸다.
도 5는 도 2에 도시된 이미지 처리 회로가 회전되지 않은 이미지를 처리하는 방법을 설명하기 위한 개념도이다.
도 6은 도 2에 도시된 이미지 처리 회로가 회전된 이미지를 처리하는 방법을 설명하기 위한 개념도이다.
도 7은 도 2에 도시된 이미지 처리 회로의 작동을 설명하기 위한 개념도이다.
도 8은 도 1에 도시된 이미지 처리 회로의 다른 실시 예를 나타내는 블록도이다.
도 9는 도 2에 도시된 이미지 처리 회로의 작동을 설명하기 위한 플로우 차트이다.
도 10은 도 8에 도시된 이미지 처리 회로의 작동을 설명하기 위한 플로우 차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 1을 참조하면, 데이터 처리 시스템(100)은 데이터 처리 장치(200), 카메라 (201), 및 디스플레이(203)를 포함할 수 있다.
예컨대, 데이터 처리 시스템(100)은 PC(personal computer) 또는 모바일 컴퓨팅 장치로 구현될 수 있다. 상기 모바일 컴퓨팅 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA (personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 또는 e-북 (e-book)으로 구현될 수 있다.
데이터 처리 장치(200)는 CPU(220), 센서(230), 카메라 인터페이스(240), 모뎀(250), 사용자 인터페이스(260), 메모리(270), 및 디스플레이 컨트롤러(280)를 포함할 수 있다.
실시 예에 따라, 메모리(270)가 SRAM(static random access memory)로 구현될 때, 메모리(270)를 포함하는 데이터 처리 장치(200)는 집적 회로(IC), 마더보드, 애플리케이션 프로세서(application processor), 모바일 AP, 또는 시스템 온 칩(system on chip(SoC))으로 구현될 수 있다.
다른 실시 예에 따라, 메모리(270)가 DRAM(dynamic random access memory)로 구현될 때, AP, 모바일 AP, 또는 SoC는 메모리(270)를 포함하지 않을 수 있다. 이때, 상기 AP, 상기 모바일 AP, 또는 상기 SoC는 제1패키지로 패키징될 수 있고, 메모리(270)는 제2패키지로 패키징될 수 있다. 상기 제2패키지는 상기 제1패키지의 위(over)에 적층(stack)될 수 있다. 상기 제1패키지와 상기 제2패키지는 패키지 온 패키지(package on package(PoP)), 시스템 온 패키지(system on package(SoP)), 또는 시스템 인 패키지(system in package(SiP))로 구현될 수 있으나 이에 한정되는 것은 아니다.
CPU(220)는 버스 구조(210)를 통해 센서(230), 카메라 인터페이스(240), 모뎀(250), 사용자 인터페이스(260), 메모리(270), 및 디스플레이 컨트롤러(280)의 작동들을 제어할 수 있다. 버스 구조(210)는 AMBA(Advanced Microcontroller Bus Architecture), AXI(AMBA Advanced eXtensible Interface), APB(Advanced Peripheral Bus)또는 AHB(AMBA Advanced High-performance Bus)일 수 있으나 이에 한정되는 것은 아니다.
CPU(220)는 메모리(270)에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 생성하고, 상기 제1정보와 상기 제2정보를 버스 구조(210)를 통해 디스플레이 컨트롤러(280)에 구현된 이미지 처리 회로 (290)로 전송할 수 있다. 본 명세서에서 이미지(또는 이미지 데이터)는 정지 이미지(still image), 동영상(moving image), 또는 스테레오스코픽 이미지 (stereoscopic image)를 포함할 수 있다.
센서(230)는 데이터 처리 시스템(100) 또는 데이터 처리 장치(200)의 회전 (rotation) 방향 및/또는 회전 각도를 감지하고, 감지 결과에 상응하는 감지 신호 (DET)를 생성할 수 있다. 예컨대, CPU(220)는 감지 신호(DET)에 응답하여 상기 제2정보를 생성할 수 있다.
카메라 인터페이스(240)는 카메라(201)로부터 전송된 이미지를 처리하고, 처리된 이미지를 출력할 수 있다. 예컨대, 카메라 인터페이스(240)는 MIPI® 카메라 시리얼 인터페이스(camera serial interface(CIS))를 지원할 수 있으나 이에 한정되는 것은 아니다. 실시 예에 따라, 카메라 인터페이스(240)는 이미지 처리 프로세서(image signal processor(ISP))로 구현될 수 있다. 카메라(201)는 CMOS 이미지 센서로 구현될 수 있다.
모뎀(250)은 유선 네트워크 또는 무선 네트워크를 통해 수신된 이미지를 버스 구조(210)를 통해 메모리(270)에 저장할 수 있다. 상기 무선 네트워크는 무선 인터넷 또는 Wi-Fi를 의미할 수 있으나 이에 한정되는 것은 아니다.
사용자 인터페이스(260)는 데이터 처리 시스템(100)의 사용자로부터 입력된 사용자 입력을 처리하고, 처리된 사용자 입력을 버스 구조(260)로 전송할 수 있다. 예컨대, 사용자 인터페이스(260)는 음성 신호를 처리할 수 있는 인터페이스, 또는 사용자의 터치 입력을 처리할 수 있는 인터페이스로 구현될 수 있으나 이에 한정되는 것은 아니다. 예컨대, 사용자 인터페이스(260)가 상기 터치 입력을 처리할 수 있는 인터페이스(예컨대, 터치 스크린 또는 터치 스크린 컨트롤러)일 때, 사용자 인터페이스(260)는 디스플레이(203)를 통해 입력된 터치 입력을 처리할 수 있다.
메모리(270)는 카메라 인터페이스(240)를 통해 전송된 이미지 또는 모뎀 (250)을 통해 전송된 이미지를 저장할 수 있다. 모뎀(250)과 메모리(270)는 이미지 소스들의 기능을 수행할 수 있다.
메모리(270)는 휘발성 메모리 및/또는 불휘발성 메모리로 구현될 수 있다. 상기 휘발성 메모리는 RAM(random access memory), SRAM, 또는 DRAM(dynamic RAM)으로 구현될 수 있다. 상기 불휘발성 메모리는 하드 디스크 드라이브(hard disk drive(HDD), NAND 플래시 메모리, NOR 플래시 메모리, PRAM(phase change RAM), MRAM (magnetoresistive RAM), STT-MRAM(spin-transfer torque magnetic random-access memory), FRAM(ferroelectric RAM) 또는 RRAM(resistive RAM)으로 구현될 수 있다.
도 1에는 하나의 메모리(270)가 도시되어 있으나, 메모리(270)는 복수의 메모리들을 포함하는 집합적 의미로 사용될 수 있다. 이때, 상기 복수의 메모리들은 서로 다른 종류의 메모리들을 포함할 수 있다.
디스플레이 컨트롤러(280)는, CPU(220)의 제어에 따라, 디스플레이(203)에서 디스플레이될 이미지를 처리하고, 처리된 이미지를 디스플레이(203)로 전송할 수 있다. 실시 예에 따라, 디스플레이 컨트롤러(280)는 MIPI® 디스플레이 시리얼 인터페이스(display serial interface(DSI)), 디스플레이포트(DisplayPort) 인터페이스, 또는 임베디드 디스플레이 포트(embedded DisplayPort(eDP)) 인터페이스를 통해 디스플레이(203)와 데이터를 주거나 받을 수 있다.
디스플레이 컨트롤러(280)는 메모리(270)에 저장된 이미지(또는 이미지 데이터)를 복수 개로 분할하고, 분할된 복수 개의 이미지들을 병렬로 또는 동시에 실시간(on-the fly)으로 처리할 수 있는 이미지 처리 회로(290)를 포함할 수 있다.
실시 예에 따라, 디스플레이 컨트롤러(280)는, 데이터 처리 장치(200)의 작동에 따라 발생하는 열(예컨대, 데이터 처리 장치(200)에 구현된 적어도 하나의 온도 센서(미도시)로부터 출력된 감지 신호)에 기초하여, 메모리(270)에 저장된 이미지(또는 이미지 데이터)를 복수 개로 분할하고 분할된 복수 개의 이미지들을 병렬로 실시간으로 처리할 수 있다.
이미지 처리 회로(290)는 N(N은 2 이상의 자연수)개의 파이프라인들과, 메모리(270)에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 수신하고 상기 제1정보와 상기 제2정보에 따라 상기 N개의 파이프 라인들 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 제어 회로를 포함할 수 있다. 인에이블된 M개의 파이프라인들은 메모리(270)에 저장된 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지들을 병렬로 실시간(on-the fly)으로 처리할 수 있다.
도 1에서는 이미지 처리 회로(290)가 디스플레이 컨트롤러(280)의 내부에 구현된 실시 예가 도시되어 있으나, 이미지 처리 회로(290)는 디스플레이 컨트롤러 (280)의 외부에 구현될 수 있다. 즉, 데이터 처리 장치(200)의 어디에라도 구현될 수 있는 이미지 처리 회로(290)는 독립적인 주변 회로 또는 칩(chip)으로 구현될 수 있다.
디스플레이(203)는 평판 디스플레이(flat panel display)로 구현될 수 있다. 상기 평판 디스플레이는 TFT-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 또는 플렉시블(flexible) 디스플레이, 양면 디스플레이(double-sided display), 또는 투명 디스플레이(transparent display)로 구현될 수 있다.
도 2는 도 1에 도시된 이미지 처리 회로의 일 실시 예를 나타내는 블록도이다. 도 2를 참조하면, 이미지 처리 회로(290A)는 N개의 파이프라인들(291-1~291-N; N은 2 이상의 자연수), 인에이블 제어 회로(292), 및 블렌더(299A)를 포함할 수 있다. 예컨대, 블렌더(299A)는 믹서(mixer)로 불릴 수도 있다. 이미지 처리 회로 (290A)는 이미지 처리 회로(290)의 일 실시 예이다.
N개의 파이프라인들(291-1~291-N)이 인에이블될 때, N개의 파이프라인들 (291-1~291-N)은 분할된 이미지들을 병렬로 실시간으로 처리할 수 있다.
인에이블 제어 회로(292)는, 메모리(270)에 저장된 이미지의 크기를 나타내는 제1정보(INT1)와 상기 이미지의 회전 여부를 나타내는 제2정보(INT1)를 수신하고, 제1정보(INT1)와 제2정보(INT2)에 따라 N개의 파이프 라인들(291-1~291-N) 중에서 M(2≤M≤N)개의 파이프라인들을 선택적으로 인에이블시킬 수 있다.
실시 예에 따라, 인에이블 제어 회로(292)는 레지스터, 예컨대, SFR(Special Function Register)로 구현될 수 있으나 이에 한정되는 것은 아니다.
인에이블 제어 회로(292)는, CPU(220)로부터 출력된 제1정보(INT1)와 제2정보(INT2)에 기초하여, 인에이블 신호(EN)를 생성하고, 생성된 인에이블 신호(EN)를 N개의 파이프라인들(291-1~291-N)로 전송할 수 있다.
인에이블 제어 회로(292)는, 인에이블 신호(EN)를 생성할 때, 도 4에 도시된 스케일러 라인 메모리(322)의 폭(또는 크기)에 대한 정보, 제1정보(INT1), 및 제2정보(INT2)에 기초하여, 인에이블 신호(EN)를 생성하고, 생성된 인에이블 신호(EN)를 N개의 파이프라인들(291-1~291-N)로 전송할 수 있다. 실시 예에 따라, 스케일러 라인 메모리(322)의 폭(또는 크기)에 대한 정보는 인에이블 제어 회로(292)에 설정될 수 있다.
예컨대, 인에이블 신호(EN)는 복수의 비트들을 포함할 수 있다. 따라서, N개의 파이프라인들(291-1~291-N) 각각은 상기 복수의 비트들에 응답하여 인에이블 또는 디스에이블될 수 있다. 또한, 인에이블 신호(EN)는 이미지의 회전 여부를 나타내는 제2정보에 상응하는 적어도 하나의 비트를 포함할 수 있다.
메모리(270)에 저장된 이미지의 크기는 상기 이미지의 폭(width)과 상기 이미지의 높이(height) 중에서 적어도 하나에 따라 결정될 수 있다. 예컨대, 상기 이미지가 3480*2160으로 정의되는 4K UHD(ultra-high-definition) 이미지일 때, 상기 4K UHD 이미지의 폭은 3480을 의미하고, 상기 이미지의 높이는 2160을 의미할 수 있다.
예컨대, 4K UHD 이미지는 3480 픽셀 폭(pixels wide)과 2160 픽셀들 높이 (pixel tall)를 갖는 8.3 메가픽셀들(megapixels)일 수 있다. 여기서, 픽셀은 픽셀 데이터를 의미하고, 상기 픽셀 데이터는 복수의 비트들로 표현될 수 있다. 예컨대, 상기 픽셀 데이터는 RGB 데이터 포맷(format), YUV 데이터 포맷, 또는 YCbCr 데이터 포맷으로 표현될 수 있으나 이에 한정되는 것은 아니다.
제1파이프라인(291-1)은 제1직접 메모리 접근(Direct Memory Access(DMA)) 컨트롤러(293-1), 제1스케일러(295-1), 및 제1크롭 회로(297-1)를 포함할 수 있다.
인에이블된 제1DMA 컨트롤러(293-1)는 메모리(270)에 저장된 이미지 중에서 제1분할 이미지를 페치(fetch)하거나 리드하고, 페치된(또는 리드된) 제1분할 이미지를 제1스케일러(295-1)로 출력할 수 있다.
제1DMA 컨트롤러(293-1)는, 이미지의 회전 여부를 나타내는 비트에 응답하여, 메모리(270)에 저장된 이미지를 페치하는 순서를 결정하고, 결정된 순서에 따라 상기 이미지의 일부를 페치할 수 있다.
도 3은 도 2에 도시된 DMA 컨트롤러의 블록도를 나타낸다.
각 DMA 컨트롤러(293-1~293-N)의 구조와 작동은 실질적으로 동일 또는 유사하므로, 제1DMA 컨트롤러(293-1)의 구조와 작동은 도 2와 도 3을 참조하여 설명된다.
제1DMA 컨트롤러(293-1)는 SFR(310), 리드 및 라이트 컨트롤 회로(311), DMA 라인 메모리(312), 및 리드 컨트롤 회로(314)를 포함할 수 있다.
SFR(310)은 인에이블 여부를 나타내는 적어도 하나의 비트와 이미지의 회전 여부를 나타내는 적어도 하나의 비트를 포함하는 인에이블 신호(EN)를 수신하고 저장할 수 있다. 실시 예들에 따라, 인에이블 제어 회로(292)와 SFR(310)은 하나의 레지스터로 구현될 수도 있다.
인에이블된 리드 및 라이트 컨트롤 회로(311)는, SFR(310)에 설정된 적어도 하나의 비트에 따라, 메모리(270)에 저장된 이미지의 일부(예컨대, 제1분할 이미지)를 리드하기 위한 어드레스들을 생성하고, 생성된 어드레스들을 이용하여 상기 제1분할 이미지를 리드하고, 리드된 제1분할 이미지(예컨대, 회전되지 않은 제1분할 이미지 또는 회전된 제1분할 이미지)를 DMA 라인 메모리(312)에 라이트할 수 있다.
이미지가 회전되지 않았을 때 리드 및 라이트 컨트롤 회로(311)에 의해 생성되는 어드레스들의 순서와, 상기 이미지가 회전됐을 때 리드 및 라이트 컨트롤 회로(311)에 의해 생성되는 어드레스들의 순서는 다를 수 있다.
예컨대, DMA 라인 메모리(312)는 일정한 폭(width)을 갖는 SRAM으로 구현될 수 있으나 이에 한정되는 것은 아니다. 여기서, DMA 라인 메모리(312)의 크기가 2048*1024일 때, 상기 폭은 2048 픽셀 폭(pixels wide)을 의미할 수 있다.
리드 컨트롤 회로(314)는, SFR(310)에 설정된 적어도 하나의 비트에 따라, DMA 라인 메모리(312)에 저장된 제1분할 이미지(예컨대, 회전되지 않은 제1분할 이미지 또는 회전된 제1분할 이미지)를 리드하고, 리드된 제1분할 이미지를 제1스케일러(295-1)로 전송할 수 있다.
인에이블된 제1스케일러(295-1)는 제1DMA 컨트롤러(293-1)에 의해 페치된 제1분할 이미지를 수직으로 그리고 수평으로 스케일(예컨대, 스케일-업 또는 스케일-다운)하고, 수직으로 그리고 수평으로 스케일된 제1분할 이미지를 제1크롭 회로 (297-1)로 출력할 수 있다.
도 4는 도 2에 도시된 스케일러의 블록도를 나타낸다.
각 스케일러(295-1~295-N)의 구조와 작동은 실질적으로 동일 또는 유사하므로, 제1스케일러(295-1)의 구조와 작동은 도 2와 도 4를 참조하여 설명된다.
제1스케일러(295-1)는 수직 스케일러(320), 스케일러 라인 메모리(322), 및 수평 스케일러(324)를 포함한다.
수직 스케일러(320)는 제1DMA 컨트롤러(293-1)로부터 출력된 제1분할 이미지 (예컨대, 회전되지 않은 제1분할 이미지 또는 회전된 제1분할 이미지)를 수신하고, 상기 제1분할 이미지를 스케일러 라인 메모리(322)에 저장할 수 있다.
예컨대, 스케일러 라인 메모리(322)는 일정한 폭(width)을 갖는 SRAM으로 구현될 수 있다. 여기서, 스케일러 라인 메모리(322)의 크기가 2048*1024일 때, 상기 폭은 2048 픽셀 폭(pixels wide)을 의미할 수 있다.
수직 스케일러(320)는 스케일러 라인 메모리(322)에 저장된 제1분할 이미지를 복수의 라인들 단위로 리드하고, 리드된 복수의 라인들을 수직 스케일링 비율에 따라 수직으로 스케일(예컨대, 스케일-업 또는 스케일-다운)하고, 수직으로 스케일된 제1분할 이미지를 수평 스케일러 (324)로 출력할 수 있다. 예컨대, 수직 스케일러(320)는 수직 스케일링 비율을 저장하는 레지스터를 포함할 수 있다.
수평 스케일러(324)는 수직으로 스케일된 제1분할 이미지를 수평 스케일링 비율에 따라 수평으로 스케일(예컨대, 스케일-업 또는 스케일-다운)하고, 수평으로 스케일된 제1분할 이미지를 제1크롭 회로(297-1)로 전송할 수 있다. 예컨대, 수평 스케일러(324)는 수평 스케일링 비율을 저장하는 레지스터를 포함할 수 있다.
다른 실시 예에 따라, 제1스케일러(295-1)는 제1DMA 컨트롤러(293-1)로부터 출력된 제1분할 이미지(예컨대, 회전되지 않은 제1분할 이미지 또는 회전된 제1분할 이미지)를 수평 스케일링 비율에 따라 수평으로 스케일하고, 수평으로 스케일된 제1분할 이미지를 수직 스케일러(320)로 출력할 수 있다.
이때, 수직 스케일러(320)는 수평으로 스케일된 제1분할 이미지를 스케일러 라인 메모리(322)에 저장하고, 스케일러 라인 메모리(322)에 저장된 제1분할 이미지를 복수의 라인들 단위로 리드하고, 리드된 복수의 라인들을 수직 스케일링 비율에 따라 수직으로 스케일하고, 수직으로 스케일된 제1분할 이미지를 제1크롭 회로 (297-1)로 전송할 수 있다.
실시 예들에 따라, 제1스케일러(295-1)는 제1분할 이미지 또는 상기 제1분할 이미지에 포함된 픽셀들을 수직으로 먼저 스케일할 수도 있고 수평으로 먼저 스케일할 수도 있다.
스케일러 라인 메모리(322)의 폭은 메모리(270)에 저장된 이미지를 분할하는 팩터(factor)로서 사용될 수 있다.
인에이블된 제1크롭 회로(297-1)는 제1스케일러(295-1)에 의해 스케일된 분할 이미지를 크롭할 수 있다. 여기서, 크롭(crop)은 스케일된 분할 이미지를 잘라서(cut) 짧게 하는 것을 의미할 수 있다.
도 5는 도 2에 도시된 이미지 처리 회로가 회전되지 않은 이미지를 처리하는 방법을 설명하기 위한 개념도이다.
설명의 편의를 위해, 메모리(270)에 저장된 이미지(IM)는 4K UHD 이미지 (3480*2160)이고, 스케일러 라인 메모리(322)의 최대 폭은 2048이고, 이미지(IM)는 회전하지 않는다고 가정한다. 이때, 센서(230)는 데이터 처리 시스템(100)이 회전하지 않음을 나타내는 감지 신호(DET)를 생성할 수 있다.
CPU(220)는 메모리(270)에 저장된 이미지(IM)의 크기(예컨대, 3480*2160)를 나타내는 제1정보(INT1)와, 이미지(IM)가 회전하지 않음을 나타내는 제2정보(INT2)를 생성하고, 제1정보(INT1)와 제2정보(INT2)를 인에이블 제어 회로(292)로 전송할 수 있다.
인에이블 제어 회로(292)는, 제1정보(INT1)와 제2정보(INT2)에 응답하여, N개의 파이프라인들(291-1~291-N, 예컨대, N은 8) 중에서 M개(예컨대, M=2)의 파이프라인들(291-1과 291-2)을 인에이블시키기 위한 인에이블 신호(EN)를 8개의 파이프라인들(291-1~291-N)로 출력할 수 있다.
인에이블 제어 회로(292)는 4K UHD 이미지(3480*2160)의 폭(예컨대, 3840)을 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)으로 나누고, 나눈 결과(예컨대, 2)에 따라 8개의 파이프라인들(291-1~291-8) 중에서 2개의 파이프라인들((291-1과 291-2)을 인에이블시킬 수 있는 인에이블 신호(EN)를 생성할 수 있다. 이때, 인에이블 신호(EN)는 이미지(IM)가 회전하지 않음을 나타내는 적어도 하나의 비트를 포함할 수 있다.
도 5의 (a)에 도시된 바와 같이, 제1DMA 컨트롤러(293-1)는 이미지(IM) 중에서 제1분할 이미지(DIM1)를 페치할 수 있다. 제1DMA 컨트롤러(293-1)의 작동과 병렬로(또는 동시에) 제2DMA 컨트롤러(293-2)는 이미지(IM) 중에서 제2분할 이미지 (DIM2)를 페치할 수 있다.
예컨대, 각 DMA 컨트롤러(293-1과 293-2)에 의해 전체 이미지(IM)에 포함된 특정한 픽셀들이 페치(또는 리드)됨에 따라 분할 이미지가 형성될 수 있다. 따라서, 본 명세서에서 분할 이미지는 처음부터 분할된 이미지를 의미하는 것이 아니고 페치 작동 또는 리드 작동에 따라 이미지(IM) 중에서 특정 영역에 해당하는 이미지를 의미할 수 있다. 상기 분할 이미지는 복수의 픽셀들을 포함한다.
도 5에서 W는 메모리(270)에 저장된 이미지(IM)의 폭(예컨대, 3840)을 의미하고, H는 메모리(270)에 저장된 이미지(IM)의 높이(예컨대, 2160)를 의미하고, LMW는 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)을 의미하고, W1과 W2 각각은 이미지(IM)의 폭(예컨대, 3840)의 절반(예컨대, 1920)을 의미하고, SR1은 제1크롭 회로(297-1)에 의해 크롭될 부분 이미지를 나타내고, SR2은 제2크롭 회로 (297-2)에 의해 크롭될 부분 이미지를 나타낸다. 본 명세서에 기재된 숫자, 예컨대, 3840, 2160, 2048, 및 1920 등은 설명의 편의를 위해 예시된 숫자이다.
SR1의 폭은 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)의 범위 내에서 W1을 고려하여 결정될 수 있고, SR2의 폭은 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)의 범위 내에서 W2을 고려하여 결정될 수 있다. 예컨대, SR1과 SR2 각각의 최대값은 128(=2048-1920)일 수 있다.
위에 기재된 각 숫자(예컨대, 3840, 2160, 1920, 및 128)는 픽셀의 개수를 의미할 수 있다.
예컨대, 제1분할 이미지(DIM1)에 포함된 1920번째 픽셀이 1919번째 픽셀과 1921번째 픽셀을 함께 참조하여 처리되는 픽셀일 때, SR1에 포함된 1921 번째 픽셀을 참조하지 않으면, 1920 번째 픽셀에 대한 이미지 처리(예컨대, 인터폴레이션)는 적절하지 않을 수 있다. 따라서, 본 발명의 실시 예에 따른 제1DMA 컨트롤러(293-1)는 W1과 SR1을 포함하는 제1분할 이미지(DIM1)를 페치할 수 있다.
또한, 제2분할 이미지(DIM2)에 포함된 1921번째 픽셀이 1920번째 픽셀과 1922번째 픽셀을 함께 참조하여 처리되는 픽셀일 때, SR2에 포함된 1920 번째 픽셀을 참조하지 않으면, 1921 번째 픽셀에 대한 이미지 처리(예컨대, 인터폴레이션)는 적절하지 않을 수 있다. 따라서, 본 발명의 실시 예에 따른 제2DMA 컨트롤러(293-2)는 SR2와 W2을 포함하는 제2분할 이미지(DIM2)를 페치할 수 있다.
제1DMA 컨트롤러(293-1)는 W1에 해당하는 픽셀들과 SR1에 해당하는 픽셀들을 포함하는 회전되지 않은 제1분할 이미지(DIM1)를 메모리(270)로부터 페치하고 페치된 제1분할 이미지(DIM1)를 제1스케일러(295-1)로 전송할 수 있다.
제1DMA 컨트롤러(293-1)의 작동과 병렬적으로, 제2DMA 컨트롤러(293-2)는 SR2에 해당하는 픽셀들과 W2에 해당하는 픽셀들을 포함하는 회전되지 않은 제2분할 이미지(DIM2)를 메모리(270)로부터 페치하고 페치된 제2스케일러(295-2)로 전송할 수 있다.
실시 예에 따라, 제1스케일러(295-1)는 회전되지 않은 제1분할 이미지(DIM1)를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 제1크롭 회로(297-1)로 전송할 수 있다. 제1스케일러(295-1)의 작동과 병렬적으로, 제2스케일러(295-2)는 회전되지 않은 제2분할 이미지(DIM2)를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 제2크롭 회로(297-2)로 전송할 수 있다.
다른 실시 예에 따라, 제1스케일러(295-1)는 회전되지 않은 제1분할 이미지 (DIM1)를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 제1크롭 회로(297-1)로 전송할 수 있다. 제1스케일러(295-1)의 작동과 병렬적으로, 제2스케일러(295-2)는 회전되지 않은 제2분할 이미지(DIM2)를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 제2크롭 회로(297-2)로 전송할 수 있다.
도 5의 (b)에 도시된 바와 같이, 제1크롭 회로(297-1)는 제1스케일러(295-1)로부터 출력되고 W1에 해당하는 스케일된 픽셀들과 SR1에 해당하는 스케일된 픽셀들을 포함하는 스케일된 분할 이미지로부터 상기 SR1에 해당하는 상기 스케일된 픽셀들을 잘라내고(또는 크롭하고) 상기 W1에 해당하는 상기 스케일된 픽셀들만을 포함하는 분할 이미지(DIM1')를 블렌더(299A)에 포함된 머저(299-1)로 출력할 수 있다.
도 5의 (b)에 도시된 바와 같이, 제1크롭 회로(297-1)의 작동과 병렬적으로, 제2크롭 회로(297-2)는 제2스케일러(295-2)로부터 출력되고 SR2에 해당하는 스케일된 픽셀들과 W2에 해당하는 스케일된 픽셀들을 포함하는 스케일된 분할 이미지로부터 상기 SR2에 해당하는 상기 스케일된 픽셀들을 잘라내고(또는 크롭하고) 상기 W2에 해당하는 상기 스케일된 픽셀들만을 포함하는 분할 이미지(DIM2')를 블렌더 (299A)에 포함된 머저(299-1)로 출력할 수 있다.
도 5의 (b)에 도시된 바와 같이, 머저(299-1)는 제1크롭 회로(297-1)로부터 출력된 분할 이미지(DIM1')와 제2크롭 회로(297-1)로부터 출력된 분할 이미지 (DIM2')를 병합하고, 병합된 이미지(IM')를 생성할 수 있다.
실시 예에 따라, W1과 W1'는 서로 동일할 수도 있고 서로 다를 수도 있다. 또한, 실시 예에 따라, W2과 W2'는 서로 동일할 수도 있고 서로 다를 수도 있다.
도 6은 도 2에 도시된 이미지 처리 회로가 회전된 이미지를 처리하는 방법을 설명하기 위한 개념도이다.
설명의 편의를 위해, 메모리(270)에 저장된 이미지(IM)는 4K UHD 이미지 (3840*2160)이고, 스케일러 라인 메모리(322)의 최대 폭은 2048이고, 이미지(IM)는 회전한다고 가정한다. 이때, 센서(230)는 데이터 처리 시스템(100)이 시계 방향으로 90도 회전함을 나타내는 감지 신호(DET)를 생성한다.
CPU(220)는 메모리(270)에 저장된 이미지(IM)의 크기(예컨대, 3840*2160)를 나타내는 제1정보(INT1)와 이미지(IM)가 회전함을 나타내는 제2정보(INT2)를 생성하고, 제1정보(INT1)와 제2정보(INT2)를 인에이블 제어 회로(292)로 전송할 수 있다.
인에이블 제어 회로(292)는, 제1정보(INT1)와 제2정보(INT2)에 응답하여, N개의 파이프라인들(291-1~291-N, 예컨대, N은 8) 중에서 M개(예컨대, M=2)의 파이프라인들(291-1과 291-2)을 인에이블시키기 위한 인에이블 신호(EN)를 8개의 파이프라인들(291-1~291-N)로 출력할 수 있다.
인에이블 제어 회로(292)는, 이미지(IM)가 회전함을 나타내는 제2정보(INT2)에 응답하여, 4K UHD 이미지(3840*2160)의 높이(예컨대, 2160)를 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)으로 나누고, 나눈 결과(예컨대, 2)에 따라 8개의 파이프라인들(291-1~291-8) 중에서 2개의 파이프라인들((291-1과 291-2)을 인에이블시킬 수 있는 인에이블 신호(EN)를 생성할 수 있다. 이때, 인에이블 신호(EN)는 이미지(IM)가 회전함을 나타내는 적어도 하나의 비트를 포함할 수 있다.
도 6의 (a)와 (b)에 도시된 바와 같이 IM은 회전하지 않은 이미지를 나타내고, RIM은 회전된 이미지를 나타낸다. 여기서, 회전된 이미지(RIM)는 메모리(270)에 저장된 이미지(IM)가 실제로 물리적으로 회전됨을 의미하는 것이 아니라, 각 DMA 컨트롤러(293-1과 293-2)에 의해 해당 픽셀들이 페치되는 순서에 따라 형성되는 이미지를 의미할 수 있다.
도 6의 (b)에 도시된 바와 같이, 제1DMA 컨트롤러(293-1)는 이미지(RIM) 중에서 제1분할 이미지(DIM3)에 포함된 픽셀들을 페치 순서에 따라 페치할 수 있다. 제1DMA 컨트롤러(293-1)의 작동과 병렬적으로(또는 동시에) 제2DMA 컨트롤러(293-2)는 이미지(RIM) 중에서 제2분할 이미지(DIM3)에 포함된 픽셀들을 페치 순서에 따라 페치할 수 있다.
도 6에서 W는 메모리(270)에 저장된 이미지(IM)의 폭(예컨대, 3840)을 의미하고, H는 메모리(270)에 저장된 이미지(IM)의 높이(예컨대, 2160)를 의미하고, LMW는 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)을 의미하고, H1과 H2 각각은 이미지(IM)의 높이(예컨대, 2160)의 절반(예컨대, 1080)을 의미하고, SR1'은 제1크롭 회로(297-1)에 의해 크롭될 부분 이미지를 나타내고, SR2'은 제2크롭 회로(297-2)에 의해 크롭될 부분 이미지를 나타낸다.
이미지(IM)가 회전하면, H1과 H2의 합은 회전된 이미지(RIM)의 폭을 의미할 수 있다.
SR1'의 폭은 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)의 범위 내에서 H1을 고려하여 결정될 수 있고, SR2'의 폭은 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)의 범위 내에서 H2를 고려하여 결정될 수 있다. 예컨대, SR1'과 SR2' 각각의 최대값은 968(=2048-1080)일 수 있다.
위에 기재된 각 숫자(예컨대, 3840, 2160, 1080, 및 968)는 픽셀의 개수를 의미할 수 있다.
예컨대, 제1분할 이미지(DIM3)에 포함된 1080번째 픽셀이 1079번째 픽셀과 1081번째 픽셀을 함께 참조하여 처리되는 픽셀일 때, SR1'에 포함된 1081번째 픽셀이 참조되지 않으면, 1080번째 픽셀에 대한 이미지 처리(예컨대, 인터폴레이션)는 적절하지 않을 수 있다. 따라서, 본 발명의 실시 예에 따른 제1DMA 컨트롤러(293-1)는 H1과 SR1'을 포함하는 제1분할 이미지(DIM3)를 페치할 수 있다.
또한, 제2분할 이미지(DIM2)에 포함된 1081번째 픽셀이 1080번째 픽셀과 1082번째 픽셀을 함께 참조하여 처리되는 픽셀일 때, SR2'에 포함된 1080번째 픽셀이 참조되지 않으면, 1081번째 픽셀에 대한 이미지 처리(예컨대, 인터폴레이션)는 적절하지 않을 수 있다. 따라서, 본 발명의 실시 예에 따른 제2DMA 컨트롤러(293-2)는 SR2'와 H2을 포함하는 제2분할 이미지(DIM4)를 페치할 수 있다.
제1DMA 컨트롤러(293-1)는 H1에 해당하는 픽셀들과 SR1'에 해당하는 픽셀들을 포함하는 회전된 제1분할 이미지(DIM3)를 메모리(270)로부터 페치하고 페치된 제1분할 이미지(DIM3)를 제1스케일러(295-1)로 전송할 수 있다.
제1DMA 컨트롤러(293-1)의 작동과 병렬적으로, 제2DMA 컨트롤러(293-2)는 SR2'에 해당하는 픽셀들과 H2에 해당하는 픽셀들을 포함하는 회전된 제2분할 이미지(DIM4)를 메모리(270)로부터 페치하고 페치된 제2스케일러(295-2)로 전송할 수 있다.
실시 예에 따라, 제1스케일러(295-1)는 제1분할 이미지(DIM3)를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 제1크롭 회로(297-1)로 전송할 수 있다. 제1스케일러(295-1)의 작동과 병렬적으로, 제2스케일러(295-2)는 제2분할 이미지(DIM4)를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 제2크롭 회로(297-2)로 전송할 수 있다.
다른 실시 예에 따라, 제1스케일러(295-1)는 제1분할 이미지(DIM3)를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 제1크롭 회로(297-1)로 전송할 수 있다. 제1스케일러(295-1)의 작동과 병렬적으로, 제2스케일러(295-2)는 제2분할 이미지(DIM4)를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 제2크롭 회로(297-2)로 전송할 수 있다.
도 6의 (c)에 도시된 바와 같이, 제1크롭 회로(297-1)는 제1스케일러(295-1)로부터 출력되고 H1에 해당하는 스케일된 픽셀들과 SR1'에 해당하는 스케일된 픽셀들을 포함하는 스케일된 분할 이미지로부터 상기 SR1'에 해당하는 상기 스케일된 픽셀들을 잘라내고(또는 크롭하고) 상기 H1'에 해당하는 상기 스케일된 픽셀들만을 포함하는 분할 이미지(DIM3')를 블렌더(299A)에 포함된 머저(299-1)로 출력할 수 있다.
도 6의 (c)에 도시된 바와 같이, 제1크롭 회로(297-1)의 작동과 병렬적으로, 제2크롭 회로(297-2)는 제2스케일러(295-2)로부터 출력되고 SR2'에 해당하는 스케일된 픽셀들과 H2에 해당하는 스케일된 픽셀들을 포함하는 스케일된 분할 이미지로부터 상기 SR2'에 해당하는 상기 스케일된 픽셀들을 잘라내고(또는 크롭하고) 상기 H2'에 해당하는 상기 스케일된 픽셀들만을 포함하는 분할 이미지(DIM4')를 블렌더 (299A)에 포함된 머저(299-1)로 출력할 수 있다.
도 6의 (c)에 도시된 바와 같이, 머저(299-1)는 제1크롭 회로(297-1)로부터 출력된 분할 이미지(DIM3')와 제2크롭 회로(297-1)로부터 출력된 분할 이미지 (DIM4')를 병합하고, 병합된 이미지(RIM')를 생성할 수 있다.
실시 예에 따라, H1과 H1'는 서로 동일할 수도 있고 서로 다를 수도 있다. 또한, 실시 예에 따라, H2과 H2'는 서로 동일할 수도 있고 서로 다를 수도 있다.
도 7은 도 2에 도시된 이미지 처리 회로의 작동을 설명하기 위한 개념도이다.
도 1, 도 2, 및 도 7을 참조하면, 메모리(270)에 저장된 이미지(IM)는 4K UHD 이미지(3840*2160)이고, 스케일러 라인 메모리(322)의 최대 폭은 2048이고 스케일러 라인 메모리(322)의 높이는 360이고, 이미지(IM)는 회전하지 않는다고 가정한다. 이때, 센서(230)는 데이터 처리 시스템(100)이 회전하지 않음을 나타내는 감지 신호(DET)를 생성한다.
CPU(220)는 메모리(270)에 저장된 이미지(IM)의 크기(예컨대, 3840*2160)를 나타내는 제1정보(INT1)와 이미지(IM)가 회전하지 않음을 나타내는 제2정보(INT2)를 생성하고, 제1정보(INT1)와 제2정보(INT2)를 인에이블 제어 회로(292)로 전송한다.
인에이블 제어 회로(292)는, 제1정보(INT1)와 제2정보(INT2)에 응답하여, N개의 파이프라인들(291-1~291-N, 예컨대, N은 8) 중에서 M개(예컨대, M=6)의 파이프라인들(291-1과 291-2)을 인에이블시키기 위한 인에이블 신호(EN)를 8개의 파이프라인들(291-1~291-8)로 출력할 수 있다.
예컨대, 인에이블 제어 회로(292)는 4K UHD 이미지(3840*2160)의 폭(예컨대, 3840)을 스케일러 라인 메모리(322)의 최대 폭(예컨대, 2048)으로 나누고 4K UHD 이미지(3480*2160)의 높이(예컨대, 2160)를 스케일러 라인 메모리(322)의 높이(예컨대, 360)로 나누고, 나누어진 값들(2*3=6)에 따라 8개의 파이프라인들(291-1~291-8) 중에서 6개의 파이프라인들을 인에이블시킬 수 있는 인에이블 신호(EN)를 생성할 수 있다. 이때, 인에이블 신호(EN)는 이미지(IM)가 회전하지 않음을 나타내는 적어도 하나의 비트를 포함할 수 있다.
도 7의 (a)와 (b)에 도시된 바와 같이, 제1DMA 컨트롤러(293-1)는 이미지 (IM) 중에서 제1분할 이미지(IM1)를 페치할 수 있고, 제2DMA 컨트롤러(293-2)는 이미지(IM) 중에서 제2분할 이미지(IM2)를 페치할 수 있고, 제3DMA 컨트롤러(293-3)는 이미지(IM) 중에서 제3분할 이미지(IM3)를 페치할 수 있고, 제4DMA 컨트롤러 (293-4)는 이미지(IM) 중에서 제4분할 이미지(IM4)를 페치할 수 있고, 제5DMA 컨트롤러는 이미지(IM) 중에서 제5분할 이미지(IM5)를 페치할 수 있고, 제6DMA 컨트롤러는 이미지(IM) 중에서 제6분할 이미지(IM6)를 페치할 수 있다.
도 3을 참조하여 설명한 바와 같이, 인에이블된 6개의 DMA 컨트롤러들 각각에 포함된 리드/라이트 컨트롤 회로(311)는 페치될 분할 이미지들(IM1~IM6) 각각의 시작 어드레스를 계산하고, 계산된 시작 어드레스에 상응하는 메모리 영역에 저장된 픽셀을 페치할 수 있다.
따라서, 인에이블된 6개의 DMA 컨트롤러들에 의해, 하나의 이미지(IM)는 6개의 분할 이미지들(IM1~IM6)로 분할되고, 6개의 분할 이미지들(IM1~IM6) 각각은 6개의 파이프라인들 각각을 통해 실시간으로 병렬적으로 처리될 수 있다.
인에이블된 각 파이프라인에 포함된 각 DMA 컨트롤러에 의해 패치된 각 분할 데이터는 각 스케일러에 의해 수직으로 그리고 수평으로 스케일된다.
도 7의 (c)에 도시된 바와 같이, 인에이블된 각 파이프라인에 포함된 각 크롭 회로는 각 스케일러로부터 출력된 스케일된 분할 이미지를 크롭하고, 크롭된 분할 이미지(IM1'~IM6')를 머저(299-1)로 출력할 수 있다.
도 7의 (d)에 도시된 바와 같이, 머저(299-1)는 크롭된 분할 이미지들 (IM1'~IM6')를 병합(merge)하고, 병합된 이미지를 출력할 수 있다.
도 8은 도 1에 도시된 이미지 처리 회로의 다른 실시 예를 나타내는 블록도이다.
도 8을 참조하면, 이미지 처리 회로(290B)는 N개의 파이프라인들(330-1~330-N), 인에이블 제어 회로(292), 및 블렌더(299B)를 포함할 수 있다.
각 DMA 컨트롤러(293-1~293-2N)의 구조와 작동은 실질적으로 동일 또는 유사하고, 각 DMA 컨트롤러(293-1~293-2N)의 구조와 작동은 도 2와 도 3을 참조하여 설명된 DMA 컨트롤러(293-1)의 구조와 작동과 실질적으로 동일 또는 유사하다.
제1파이프라인(330-1)은 2개의 DMA 컨트롤러들(293-1과 293-2), 2개의 크롭 회로들(297-1과 297-2), 하나의 머저(340-1), 및 하나의 스케일러(295-1)를 포함할 수 있다. 2개의 DMA 컨트롤러들(293-1과 293-2) 각각에 포함된 DMA 라인 메모리 (312)의 폭(또는 크기)이 A일 때, 스케일러(295-1)에 포함된 스케일러 라인 메모리 (322)의 폭(또는 크기)은 2×A일 수 있다.
2개의 DMA 컨트롤러들(293-1과 293-2) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 메모리(270)에 저장된 이미지 중에서 일부씩을 분할 이미지로서 페치할 수 있다.
2개의 크롭 회로들(297-1과 297-2) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 2개의 DMA 컨트롤러들(293-1과 293-2) 각각으로부터 출력된 분할 이미지를 크롭하고, 크롭된 분할 이미지를 출력할 수 있다.
머저(340-1)는 2개의 크롭 회로들(297-1과 297-2)로부터 출력된 크롭된 분할 이미지들을 병합하고, 병합된 이미지를 스케일러(295-1)로 출력할 수 있다.
실시 예에 따라, 스케일러(295-1)는 머저(340-1)로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 블렌더 (299B)로 출력할 수 있다. 다른 실시 예에 따라, 스케일러(295-1)는 머저(340-1)로부터 출력된 병합된 이미지를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 블렌더(299B)로 출력할 수 있다.
도 8에서는 설명의 편의를 위해, 2개의 DMA 컨트롤러들(293-1과 293-2), 2개의 크롭 회로들(297-1과 297-2), 하나의 머저(340-1), 및 하나의 스케일러(295-1)를 포함하는 제1파이프라인(330-1)이 도시되어 있으나, 제1파이프라인(330-1)은 B (B는 3 이상의 자연수)개의 DMA 컨트롤러들, B개의 크롭 회로들, 하나의 머저(340-1), 및 하나의 스케일러(295-1)를 포함할 수 있다. 이때, B개의 DMA 컨트롤러들 각각에 포함된 DMA 라인 메모리(312)의 폭(또는 크기)이 A일 때, 스케일러(295-1)에 포함된 스케일러 라인 메모리(322)의 폭(또는 크기)은 A×B일 수 있다.
제2파이프라인(330-2)은 2개의 DMA 컨트롤러들(293-3과 293-4), 2개의 크롭 회로들(297-3과 297-3), 하나의 머저(340-2), 및 하나의 스케일러(295-5)를 포함할 수 있다. 2개의 DMA 컨트롤러들(293-3과 293-4) 각각에 포함된 DMA 라인 메모리 (312)의 폭(또는 크기)이 A일 때, 스케일러(295-2)에 포함된 스케일러 라인 메모리(322)의 폭(또는 크기)은 2×A일 수 있다.
2개의 DMA 컨트롤러들(293-3과 293-4) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 메모리(270)에 저장된 이미지 중에서 일부씩을 분할 이미지로서 페치할 수 있다.
2개의 크롭 회로들(297-3과 297-4) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 2개의 DMA 컨트롤러들(293-3과 293-4) 각각으로부터 출력된 분할 이미지를 크롭하고, 크롭된 분할 이미지를 출력할 수 있다.
머저(340-2)는 2개의 크롭 회로들(297-3과 297-4)로부터 출력된 크롭된 분할 이미지들을 병합하고 병합된 이미지를 스케일러(295-2)로 출력할 수 있다.
실시 예에 따라 스케일러(295-2)는 머저(340-2)로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 블렌더 (299B)로 출력한다. 다른 실시 예에 따라 스케일러(295-2)는 머저 (340-2)로부터 출력된 병합된 이미지를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 블렌더(299B)로 출력한다.
도 8에서는 설명의 편의를 위해, 2개의 DMA 컨트롤러들(293-3과 293-4), 2개의 크롭 회로들(297-3과 297-4), 하나의 머저(340-2), 및 하나의 스케일러(295-2)를 포함하는 제2파이프라인(330-2)이 도시되어 있으나, 제2파이프라인(330-2)은 B (B는 3 이상의 자연수)개의 DMA 컨트롤러들, B개의 크롭 회로들, 하나의 머저(340-2), 및 하나의 스케일러(295-2)를 포함할 수 있다. 이때, B개의 DMA 컨트롤러들 각각에 포함된 DMA 라인 메모리(312)의 폭(또는 크기)이 A일 때, 스케일러(295-1)에 포함된 스케일러 라인 메모리(322)의 폭(또는 크기)은 A×B일 수 있다.
제N파이프라인(330-N)은 2개의 DMA 컨트롤러들(293-(2N-1)과 293-2N), 2개의 크롭 회로들(297-(2N-1)과 297-2N), 하나의 머저(340-N), 및 하나의 스케일러(295-N)를 포함한다. 2개의 DMA 컨트롤러들(293-(2N-1)과 293-2N) 각각에 포함된 DMA 라인 메모리(312)의 폭(또는 크기)이 A일 때, 스케일러(295-N)에 포함된 스케일러 라인 메모리(322)의 폭(또는 크기)은 2×A일 수 있다.
2개의 DMA 컨트롤러들(293-(2N-1)과 293-2N) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 메모리(270)에 저장된 이미지 중에서 일부씩을 분할 이미지로서 페치할 수 있다.
2개의 크롭 회로들(297-(2N-1)과 297-2N) 각각은 도 5부터 도 7을 참조하여 설명한 바와 같이 2개의 DMA 컨트롤러들(293-(2N-1)과 293-2N) 각각으로부터 출력된 분할 이미지를 크롭하고, 크롭된 분할 이미지를 출력할 수 있다.
머저(340-N)는 2개의 크롭 회로들(293-(2N-1)과 293-2N)로부터 출력된 크롭된 분할 이미지들을 병합하고 병합된 이미지를 스케일러(295-N)로 출력할 수 있다.
실시 예에 따라 스케일러(295-N)는 머저(340-N)로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 블렌더 (299B)로 출력할 수 있다. 다른 실시 예에 따라 스케일러(295-N)는 머저(340-N)로부터 출력된 병합된 이미지를 수평으로 그리고 수직으로 스케일하고, 수평으로 그리고 수직으로 스케일된 이미지를 블렌더(299B)로 출력할 수 있다.
도 8에서는 설명의 편의를 위해, 2개의 DMA 컨트롤러들(293-(2N-1)과 293-2N), 2개의 크롭 회로들(297-(2N-1)과 297-2N), 하나의 머저(340-N), 및 하나의 스케일러(295-N)를 포함하는 제2파이프라인(330-N)이 도시되어 있으나, 제N파이프라인(330-N)은 B(B는 3 이상의 자연수)개의 DMA 컨트롤러들, B개의 크롭 회로들, 하나의 머저(340-N), 및 하나의 스케일러(295-N)를 포함할 수 있다. 이때, B개의 DMA 컨트롤러들 각각에 포함된 DMA 라인 메모리(312)의 폭(또는 크기)이 A일 때, 스케일러(295-N)에 포함된 스케일러 라인 메모리(322)의 폭(또는 크기)은 A×B일 수 있다.
도 2에서 2개의 파이프라인들(291-1과 291-2)이 인에이블될 때, 도 8에서 하나의 파이프라인(330-1)이 인에이블될 수 있다. 또한, 도 2에서 6개의 파이프라인들이 인에이블될 때, 도 8에서 3개의 파이프라인들이 인에이블될 수 있다.
도 9는 도 2에 도시된 이미지 처리 회로의 작동을 설명하기 위한 플로우 차트이다. 이미지 처리 회로(290A)의 작동은 도 1부터 도 7, 및 도 9를 참조하여 상세히 설명된다.
센서(230)는 데이터 처리 시스템(100) 또는 데이터 처리 장치(200)의 회전 방향 및/또는 회전 각도를 감지하고, 감지 신호(DET)를 생성할 수 있다.
CPU(200)는 메모리(270)에 저장된 이미지의 크기를 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나에 기초하여 판단하고, 판단의 결과에 따라 제1정보(INT1)를 생성할 수 있다.
또한, CPU(220)는, 감지 신호(DET)에 기초하여, 데이터 처리 시스템(100) 또는 데이터 처리 장치(200)의 회전 방향 및/또는 회전 각도를 판단하고, 판단의 결과에 따라 제2정보(INT)를 생성할 수 있다.
인에이블 제어 회로(292)는 제2정보(INT)에 기초하여 이미지의 회전 여부를 판단할 수 있다(S110).
데이터 처리 시스템(100) 또는 데이터 처리 장치(200)가 회전되지 않았을 때 (S110의 NO), 인에이블 제어 회로(292)는 상기 이미지의 폭(WIDTH)과 스케일러 라인 메모리 (322)의 최대 폭(MS)을 비교한다(S112).
상기 이미지의 폭(WIDTH)이 스케일러 라인 메모리(322)의 최대 폭(MS)과 같거나 작을 때(S112의 NO), 이미지 처리 회로(290A)는 N개의 파이프라인들(191-1~191-N) 중에서 어느 하나(예컨대, 제1파이프라인(291-1))를 이용하여 상기 이미지를 처리할 수 있다(S130).
예컨대, 제1DMA 컨트롤러(293-1)는 메모리(270)로부터 이미지를 페치하여 페치된 이미지를 스케일러(295-1)로 전송하고, 스케일러(295-1)는 상기 이미지를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 크롭 회로(297-1)로 출력하고, 크롭 회로(297-1)는 상기 스케일된 이미지에 대한 크롭 작동을 하지 않고 상기 스케일된 이미지를 블렌더(299)로 출력하고, 블렌더 (299)는 상기 스케일된 이미지를 블렌딩하고, 블렌드된 이미지를 출력한다(S130).
그러나, 상기 이미지의 폭(WIDTH)이 스케일러 라인 메모리(322)의 최대 폭 (MS)보다 클 때(S112의 YES), 인에이블 제어 회로(292)는 상기 이미지의 폭(WIDTH)을 스케일러 라인 메모리(322)의 최대 폭(MS)으로 나누고, 나누어진 값(예컨대, 2 이상의 자연수)에 따라 N개의 파이프라인들(191-1~191-N) 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시킬 수 있는 인에이블 신호(EN)를 N개의 파이프라인들 (191-1~191-N)로 출력한다(S114). 상기 나누어진 값은 폭(WIDTH=3840)을 최대 폭 (MS=2048)으로 나눈 몫(예컨대, 3840/2048=1.875)보다 큰 자연수들 중에서 최소 값 (예컨대, 2)일 수 있다.
M개의 파이프라인들이 인에이블되면, 인에이블된 M개의 파이프라인들에 포함된 M개의 DMA 컨트롤러들이 인에이블되고(S116), M개의 DMA 컨트롤러들 각각은 메모리(270)에 저장된 이미지에 포함된 픽셀들 중에서 해당 픽셀들을 분할 이미지로서 페치할 수 있다(S116). 도 5의 (a)에 도시된 바와 같이, 상기 M개의 DMA 컨트롤러들 각각에 의해 페치된 분할 이미지는 회전되지 않은 분할 이미지일 수 있다.
인에이블된 M개의 파이프라인들에 포함된 M개의 스케일러들 각각은 M개의 DMA 컨트롤러들 각각으로부터 출력된 분할 이미지(또는 분할 이미지에 포함된 픽셀들)를 수직으로 그리고 수평으로 스케일(예컨대, 스케일-업 또는 스케일-다운)할 수 있다(S118).
인에이블된 M개의 파이프라인들에 포함된 M개의 크롭 회로들 각각은 M개의 스케일러들 각각으로부터 출력된 스케일된 분할 이미지에 대한 크롭 작동을 수행한다(S120).
머저(299-1)는 M개의 크롭 회로들 각각으로부터 출력된 크롭된 분할 이미지를 병합하고, 병합된 이미지를 출력한다(S122).
데이터 처리 시스템(100) 또는 데이터 처리 장치(200)가 회전되었을 때 (S110의 YES), 인에이블 제어 회로(292)는 상기 이미지의 높이(HEIGHT)와 스케일러 라인 메모리(322)의 최대 폭(MS)을 비교한다(S132).
상기 이미지의 높이(HEIGHT)가 스케일러 라인 메모리(322)의 최대 폭(MS)과 같거나 작을 때, 이미지 처리 회로(290A)는 N개의 파이프라인들(191-1~191-N) 중에서 어느 하나(예컨대, 제1파이프라인(291-1))를 이용하여 상기 이미지를 처리할 수 있다(S130).
그러나, 상기 이미지의 높이(HEIGHT)가 스케일러 라인 메모리(322)의 최대 폭(MS)보다 클 때(S132), 인에이블 제어 회로(292)는 상기 이미지의 높이(HEIGHT)를 스케일러 라인 메모리(322)의 최대 폭(MS)으로 나누고, 나누어진 값(예컨대, 2 이상의 자연수)에 따라 N개의 파이프라인들(191-1~191-N) 중에서 M(2≤M≤N)개의 파이프라인들을 인에이블시킬 수 있는 인에이블 신호(EN)를 N개의 파이프라인들 (191-1~191-N)로 출력한다(S134).
M개의 파이프라인들이 인에이블되면, 인에이블된 M개의 파이프라인들에 포함된 M개의 DMA 컨트롤러들이 인에이블되고(S116), M개의 DMA 컨트롤러들 각각은 메모리(270)에 저장된 이미지를 분할 이미지로서 페치한다(S116). 도 6의 (b)에 도시된 바와 같이, 상기 M개의 DMA 컨트롤러들 각각에 의해 페치된 분할 이미지는 회전된 분할 이미지이다.
인에이블된 M개의 파이프라인들에 포함된 M개의 스케일러들 각각은 M개의 DMA 컨트롤러들 각각으로부터 출력된 회전된 분할 이미지를 수직으로 그리고 수평으로 스케일할 수 있다(S118).
인에이블된 M개의 파이프라인들에 포함된 M개의 크롭 회로들 각각은 M개의 스케일러들 각각으로부터 출력된 스케일된 분할 이미지에 대한 크롭 작동을 수행할 수 있다(S120).
머저(299-1)는 M개의 크롭 회로들 각각으로부터 출력된 크롭된 분할 이미지를 병합하고, 병합된 이미지를 출력할 수 있다(S122).
도 10은 도 8에 도시된 이미지 처리 회로의 작동을 설명하기 위한 플로우 차트이다. 이미지 처리 회로(290B)의 작동은 도 1, 도 3부터 도 8, 및 도 10을 참조하여 상세히 설명된다.
센서(230)는 데이터 처리 시스템(100) 또는 데이터 처리 장치(200)의 회전 방향 및/또는 회전 각도를 감지하고, 감지 신호(DET)를 생성할 수 있다.
CPU(200)는 메모리(270)에 저장된 이미지의 크기를 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나에 기초하여 판단하고, 판단의 결과에 따라 제1정보(INT1)를 생성할 수 있다.
또한, CPU(220)는, 감지 신호(DET)에 기초하여, 데이터 처리 시스템(100) 또는 데이터 처리 장치(200)의 회전 방향 및/또는 회전 각도를 판단하고, 판단의 결과에 따라 제2정보(INT)를 생성할 수 있다.
인에이블 제어 회로(292)는 제2정보(INT)에 기초하여 이미지의 회전 여부를 판단할 수 있다(S110).
데이터 처리 시스템(100) 또는 데이터 처리 장치(200)가 회전되지 않았을 때 (S110의 NO), 인에이블 제어 회로(292)는 상기 이미지의 폭(WIDTH)과 스케일러 라인 메모리(322)의 최대 폭(MS)을 비교할 수 있다(S112).
상기 이미지의 폭(WIDTH)이 스케일러 라인 메모리(322)의 최대 폭(MS)과 같거나 작을 때(S112의 NO), 이미지 처리 회로(290A)는 N개의 파이프라인들(191-1~191-N) 중에서 어느 하나(예컨대, 제1파이프라인(291-1))를 이용하여 상기 이미지를 처리할 수 있다(S130).
예컨대, 제1DMA 컨트롤러(293-1)는 메모리(270)로부터 이미지를 페치하여 페치된 이미지를 스케일러(295-1)로 전송하고, 스케일러(295-1)는 상기 이미지를 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 이미지를 크롭 회로(297-1)로 출력하고, 크롭 회로(297-1)는 상기 스케일된 이미지에 대한 크롭 작동을 하지 않고 상기 스케일된 이미지를 블렌더(299)로 출력하고, 블렌더 (299)는 상기 스케일된 이미지를 블렌딩하고, 블렌드된 이미지를 출력할 수 있다 (S130).
그러나, 상기 이미지의 폭(WIDTH)이 스케일러 라인 메모리(322)의 최대 폭 (MS)보다 클 때(S112의 YES), 인에이블 제어 회로(292)는 상기 이미지의 폭(WIDTH)을 스케일러 라인 메모리(322)의 최대 폭(MS)으로 나누고, 나누어진 값(예컨대, 2 이상의 자연수)에 따라 N개의 파이프라인들(191-1~191-N) 중에서 M/2(2≤M≤N, 여기서, M과 N은 짝수)개의 파이프라인들을 인에이블시킬 수 있는 인에이블 신호(EN)를 N개의 파이프라인들(191-1~191-N)로 출력할 수 있다(S114).
M/2개의 파이프라인(들)이 인에이블되면, 인에이블된 M/2개의 파이프라인(들)에 포함된 M개의 DMA 컨트롤러들이 인에이블되고(S116), M개의 DMA 컨트롤러들 각각은 메모리(270)에 저장된 이미지를 분할 이미지로서 페치할 수 있다(S116). 도 5의 (a)에 도시된 바와 같이, 상기 M개의 DMA 컨트롤러들 각각에 의해 페치된 분할 이미지는 회전되지 않은 분할 이미지이다.
인에이블된 M/2개의 파이프라인(들)에 포함된 M/2개의 크롭 회로(들)는 M개의 DMA 컨트롤러들 각각으로부터 출력된 분할 이미지에 대한 크롭 작동을 수행할 수 있다(S210).
머저는 M/2개의 크롭 회로(들)로부터 출력된 크롭된 분할 이미지(들)를 병합하고, 병합된 이미지를 출력할 수 있다(S220).
인에이블된 M/2개의 파이프라인(들)에 포함된 M/2개의 스케일러(들)은 상기 머저로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일할 수 있다 (S230).
데이터 처리 시스템(100) 또는 데이터 처리 장치(200)가 회전되었을 때 (S110의 YES), 인에이블 제어 회로(292)는 상기 이미지의 높이(HEIGHT)와 스케일러 라인 메모리(322)의 최대 폭(MS)을 비교할 수 있다(S132).
상기 이미지의 높이(HEIGHT)가 스케일러 라인 메모리(322)의 최대 폭(MS)과 같거나 작을 때(S132의 NO), 이미지 처리 회로(290A)는 N개의 파이프라인들(191-1~191-N) 중에서 어느 하나(예컨대, 제1파이프라인(291-1))를 이용하여 상기 이미지를 처리할 수 있다(S130).
그러나, 상기 이미지의 높이(HEIGHT)가 스케일러 라인 메모리(322)의 최대 폭(MS)보다 클 때(S132의 YES), 인에이블 제어 회로(292)는 상기 이미지의 높이 (HEIGHT)를 스케일러 라인 메모리(322)의 최대 폭(MS)으로 나누고, 나누어진 값(예컨대, 2 이상의 자연수)에 따라 N개의 파이프라인들(191-1~191-N) 중에서 M/2(2≤M≤N)개의 파이프라인들을 인에이블시킬 수 있는 인에이블 신호(EN)를 N개의 파이프라인들(191-1~191-N)로 출력할 수 있다(S134).
M/2개의 파이프라인(들)이 인에이블되면, 인에이블된 M/2개의 파이프라인(들)에 포함된 M개의 DMA 컨트롤러들이 인에이블되고(S116), M개의 DMA 컨트롤러들 각각은 메모리(270)에 저장된 이미지를 분할 이미지로서 페치할 수 있다(S116). 도 5의 (a)에 도시된 바와 같이, 상기 M개의 DMA 컨트롤러들 각각에 의해 페치된 분할 이미지는 회전되지 않은 분할 이미지이다.
인에이블된 M/2개의 파이프라인(들)에 포함된 M/2개의 크롭 회로(들)는 M개의 DMA 컨트롤러들 각각으로부터 출력된 분할 이미지에 대한 크롭 작동을 수행할 수 있다(S210).
머저는 M/2개의 크롭 회로(들)로부터 출력된 크롭된 분할 이미지(들)를 병합하고, 병합된 이미지를 출력할 수 있다(S220).
인에이블된 M/2개의 파이프라인(들)에 포함된 M/2개의 스케일러(들)은 상기 머저로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일할 수 있다 (S230).
여기서, 이미지(들)는 하나 또는 그 이상의 이미지들을 나타내고, M/2개의 파이프라인(들)은 하나 또는 그 이상이 파이프라인들을 나타낸다.
예컨대, 도 8에 도시된 바와 같이, 3개의 DMA 컨트롤러들(293-1~293-3)을 사용하여 메모리(270)에 저장된 이미지를 실시간으로 분할하여 처리할 때, 2개의 파이프라인들(330-1과 330-2) 중에서 3개의 DMA 컨트롤러들(293-1~293-3)이 사용되고 하나의 DMA 컨트롤러(293-4)는 사용되지 않을 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 데이터 처리 시스템
200: 데이터 처리 장치
270: 메모리
290, 290A, 290B: 이미지 처리 회로
292: 인에이블 제어 회로
291-1~291-N, 330-1~330-N: 파이프라인
293-1~293-N; DMA 컨트롤러
295-1~295-N: 스케일러
297-1~297-N: 크롭(crop) 회로
299-1, 340-1~340-N: 머저(merger)
312: DMA 라인 메모리
322: 스케일러 라인 메모리

Claims (20)

  1. 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로를 포함하는 애플리케이션 프로세서에 있어서, 상기 이미지 처리 회로는,
    N (N은 2 이상의 자연수)개의 파이프라인들; 및
    제1 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 수신하고, 상기 제1정보와 상기 제2정보에 따라 상기 N개의 파이프 라인들 중에서 M (2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 신호를 출력하는 인에이블 제어 회로를 포함하고,
    상기 인에이블 신호를 수신하여 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리하는 애플리케이션 프로세서.
  2. 제1항에 있어서,
    상기 이미지의 상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나에 따라 결정되는 애플리케이션 프로세서.
  3. 제2항에 있어서, 상기 인에이블 제어 회로는,
    상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 응답하여, 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고,
    상기 이미지가 회전됨을 나타내는 상기 제2정보에 응답하여 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키는 애플리케이션 프로세서.
  4. 제3항에 있어서, 상기 인에이블된 M개의 파이프라인들 각각은,
    상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 제1 메모리로부터 페치하는(fetch) DMA(direct memory access) 컨트롤러;
    상기 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러; 및
    상기 스케일러로부터 출력된 수직으로 그리고 수평으로 스케일된 분할 이미지를 크롭(crop)하고 크롭된 분할 이미지를 출력하는 크롭 회로를 포함하는 애플리케이션 프로세서.
  5. 제4항에 있어서,
    상기 스케일러 라인 메모리는 상기 스케일러에 포함된 애플리케이션 프로세서.
  6. 제4항에 있어서,
    상기 DMA 컨트롤러는, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라, 회전된 상기 분할 이미지를 출력하는 애플리케이션 프로세서.
  7. 제4항에 있어서,
    상기 인에이블된 M개의 파이프라인들 각각에 포함된 상기 크롭 회로로부터 출력된 상기 크롭된 분할 이미지를 병합(merge)하는 병합기(merger)를 더 포함하는 애플리케이션 프로세서.
  8. 제3항에 있어서, 상기 인에이블된 M개의 파이프라인들 중에서 어느 하나는,
    각각이 상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 제1 메모리로부터 페치하는 DMA 컨트롤러들;
    각각이 DMA 컨트롤러들 중에서 대응되는 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 크롭하고 크롭된 분할 이미지를 출력하는 크롭 회로들;
    상기 크롭 회로들 각각으로부터 출력된 상기 크롭된 분할 이미지를 병합하는 병합기; 및
    상기 병합기로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러를 포함하는 애플리케이션 프로세서.
  9. 제8항에 있어서,
    상기 스케일러 라인 메모리는 상기 스케일러에 포함되고,
    상기 스케일러 라인 메모리의 폭은 상기 DMA 컨트롤러들 각각에 포함된 라인 메모리의 폭의 합에 상응하는 애플리케이션 프로세서.
  10. 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로; 및
    제1 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 이미지의 회전 여부를 나타내는 제2정보를 생성하는 CPU를 포함하고,
    상기 이미지 처리 회로는,
    N (N은 2 이상의 자연수)개의 파이프라인들; 및
    상기 CPU로부터 출력된 상기 제1정보와 상기 제2정보에 따라, 상기 N개의 파이프 라인들 중에서 M (2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 신호를 출력하는 인에이블 제어 회로를 포함하고,
    상기 인에이블 신호를 수신하여 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리하는 시스템 온 칩.
  11. 제10항에 있어서,
    상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나에 따라 결정되고,
    상기 인에이블 제어 회로는,
    상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 따라 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고,
    상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키는 시스템 온 칩.
  12. 제11항에 있어서, 상기 인에이블된 M개의 파이프라인들 각각은,
    상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 제1 메모리로부터 페치하는(fetch) DMA(direct memory access) 컨트롤러;
    상기 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러; 및
    상기 스케일러로부터 출력된 수직으로 그리고 수평으로 스케일된 분할 이미지를 크롭(crop)하고 크롭된 분할 이미지를 출력하는 크롭 회로를 포함하는 시스템 온 칩.
  13. 제12항에 있어서,
    상기 DMA 컨트롤러는, 상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라, 상기 분할 이미지를 회전시키기 위해 상기 분할 이미지를 페치하는 시스템 온 칩.
  14. 제12항에 있어서,
    상기 인에이블된 M개의 파이프라인들 각각에 포함된 상기 크롭 회로로부터 출력된 상기 크롭된 분할 이미지를 병합(merge)하는 병합기를 더 포함하는 시스템 온 칩.
  15. 제11항에 있어서, 상기 인에이블된 M개의 파이프라인들 중에서 어느 하나는,
    각각이 상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 제1 메모리로부터 페치하는 DMA 컨트롤러들;
    각각이 DMA 컨트롤러들 중에서 대응되는 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 크롭하고 크롭된 분할 이미지를 출력하는 크롭 회로들;
    상기 크롭 회로들 각각으로부터 출력된 상기 크롭된 분할 이미지를 병합하는 병합기; 및
    상기 병합기로부터 출력된 병합된 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러를 포함하는 시스템 온 칩.
  16. 제15항에 있어서,
    상기 스케일러 라인 메모리는 상기 스케일러에 포함되고,
    상기 스케일러 라인 메모리의 폭은 상기 DMA 컨트롤러들 각각에 포함된 라인 메모리의 폭의 합에 상응하는 시스템 온 칩.
  17. 모바일 컴퓨팅 장치에 있어서,
    이미지를 저장하는 제1 메모리;
    상기 제1 메모리에 저장된 상기 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로;
    상기 모바일 컴퓨팅 장치의 회전을 감지하고 감지 신호를 출력하는 센서;
    상기 제1 메모리에 저장된 이미지의 크기를 나타내는 제1정보와 상기 감지 신호에 기초하여 제2정보를 생성하는 CPU를 포함하고,
    상기 이미지 처리 회로는,
    N (N은 2 이상의 자연수)개의 파이프라인들; 및
    상기 CPU로부터 출력된 상기 제1정보와 상기 제2정보에 따라, 상기 N개의 파이프 라인들 중에서 M (2≤M≤N)개의 파이프라인들을 인에이블시키는 인에이블 신호를 출력하는 인에이블 제어 회로를 포함하고,
    상기 인에이블 신호를 수신하여 인에이블된 M개의 파이프라인들은 상기 이미지를 M개의 이미지들로 분할하고, M개로 분할된 이미지를 병렬로 처리하는 모바일 컴퓨팅 장치.
  18. 제17항에 있어서,
    상기 크기는 상기 이미지의 폭과 상기 이미지의 높이 중에서 적어도 하나에 따라 결정되고,
    상기 인에이블 제어 회로는,
    상기 이미지가 회전되지 않음을 나타내는 상기 제2정보에 따라 상기 폭과 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키고,
    상기 이미지가 회전됨을 나타내는 상기 제2정보에 따라 상기 높이와 상기 스케일러 라인 메모리의 폭과의 비에 따라 상기 M개의 파이프라인들을 인에이블시키는 모바일 컴퓨팅 장치.
  19. 제18항에 있어서, 상기 인에이블된 M개의 파이프라인들 각각은,
    상기 M개로 분할된 이미지들 중에서 대응되는 분할 이미지를 상기 제1 메모리로부터 페치하는(fetch) DMA(direct memory access) 컨트롤러;
    상기 라인 메모리를 포함하고, 상기 DMA 컨트롤러로부터 출력된 상기 분할 이미지를 수직으로 그리고 수평으로 스케일하는 스케일러; 및
    상기 스케일러로부터 출력된 수직으로 그리고 수평으로 스케일된 분할 이미지를 크롭(crop)하고 크롭된 분할 이미지를 출력하는 크롭 회로를 포함하는 모바일 컴퓨팅 장치.
  20. 제19항에 있어서,
    상기 인에이블된 M개의 파이프라인들 각각에 포함된 상기 크롭 회로로부터 출력된 상기 크롭된 분할 이미지를 병합(merge)하는 병합기를 더 포함하는 모바일 컴퓨팅 장치.
KR1020140149744A 2014-10-31 2014-10-31 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들 KR102254676B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140149744A KR102254676B1 (ko) 2014-10-31 2014-10-31 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
US14/814,718 US9965825B2 (en) 2014-10-31 2015-07-31 Image processing circuit and methods for processing image on-the-fly and devices including the same
TW104129085A TWI712003B (zh) 2014-10-31 2015-09-03 處理即時影像的影像處理電路與方法以及包含上述電路、方法的裝置
CN201510727040.0A CN105574804B (zh) 2014-10-31 2015-10-30 应用处理器、片上系统及移动计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140149744A KR102254676B1 (ko) 2014-10-31 2014-10-31 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들

Publications (2)

Publication Number Publication Date
KR20160052002A KR20160052002A (ko) 2016-05-12
KR102254676B1 true KR102254676B1 (ko) 2021-05-21

Family

ID=55853190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140149744A KR102254676B1 (ko) 2014-10-31 2014-10-31 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들

Country Status (4)

Country Link
US (1) US9965825B2 (ko)
KR (1) KR102254676B1 (ko)
CN (1) CN105574804B (ko)
TW (1) TWI712003B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2544333B (en) * 2015-11-13 2018-02-21 Advanced Risc Mach Ltd Display controller
WO2018006192A1 (en) 2016-07-02 2018-01-11 Intel Corporation A mechanism for providing multiple screen regions on a high resolution display
US10474408B2 (en) * 2017-09-07 2019-11-12 Apple Inc. Image data processing pipeline bypass systems and methods
CN107895389A (zh) * 2017-11-30 2018-04-10 广东欧珀移动通信有限公司 一种图片显示方法、装置、移动终端及存储介质
US20190139184A1 (en) * 2018-08-01 2019-05-09 Intel Corporation Scalable media architecture for video processing or coding
US11941783B2 (en) * 2020-08-28 2024-03-26 Apple Inc. Scaler de-ringing in image processing circuitry
KR20220033768A (ko) 2020-09-10 2022-03-17 부산대학교 산학협력단 7-메톡시-루테올린을 유효성분으로 함유하는 알러지성 피부질환 예방 또는 치료용 조성물

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120162262A1 (en) * 2010-12-27 2012-06-28 Kabushiki Kaisha Toshiba Information processor, information processing method, and computer program product
US20140253598A1 (en) 2013-03-07 2014-09-11 Min Woo Song Generating scaled images simultaneously using an original image

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS518690B1 (ko) 1970-10-08 1976-03-19
JPH09223102A (ja) 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
US6260081B1 (en) 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
DE69923219T2 (de) 1998-11-26 2005-12-29 Matsushita Electric Industrial Co., Ltd., Kadoma Bildverarbeitungsgerät
JP3258300B2 (ja) 1999-09-03 2002-02-18 松下電器産業株式会社 Dma転送装置および画像復号装置
JP3781634B2 (ja) 2001-04-26 2006-05-31 シャープ株式会社 画像処理装置および画像処理方法並びに携帯用映像機器
JP2003256356A (ja) 2002-03-04 2003-09-12 Toshiba Corp Dmaコントローラ
US6999105B2 (en) * 2003-12-04 2006-02-14 International Business Machines Corporation Image scaling employing horizontal partitioning
KR100617658B1 (ko) 2004-01-29 2006-08-28 엘지전자 주식회사 표시 데이터 출력 장치 및 방법
US7512287B2 (en) * 2005-07-25 2009-03-31 Seiko Epson Corporation Method and apparatus for efficient image rotation
JP4499008B2 (ja) 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム
US8736695B2 (en) * 2010-11-12 2014-05-27 Qualcomm Incorporated Parallel image processing using multiple processors
JP5546593B2 (ja) * 2011-09-02 2014-07-09 キヤノン株式会社 画像表示装置及びその制御方法
US8687922B2 (en) * 2012-02-24 2014-04-01 Apple Inc. Parallel scaler processing
US9071765B2 (en) * 2012-12-28 2015-06-30 Nvidia Corporation System, method, and computer program product implementing an image processing pipeline for high-dynamic range images
TWM461845U (zh) * 2013-02-08 2013-09-11 Nat Applied Res Laboratories 條狀影像分時並行壓縮之裝置
KR102091005B1 (ko) * 2013-06-17 2020-03-19 삼성전자주식회사 디스플레이 시스템 및 그 제어방법
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
KR102095272B1 (ko) * 2013-10-10 2020-04-01 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120162262A1 (en) * 2010-12-27 2012-06-28 Kabushiki Kaisha Toshiba Information processor, information processing method, and computer program product
US20140253598A1 (en) 2013-03-07 2014-09-11 Min Woo Song Generating scaled images simultaneously using an original image

Also Published As

Publication number Publication date
US9965825B2 (en) 2018-05-08
TW201616444A (zh) 2016-05-01
TWI712003B (zh) 2020-12-01
CN105574804B (zh) 2020-09-11
US20160125567A1 (en) 2016-05-05
KR20160052002A (ko) 2016-05-12
CN105574804A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
KR102254676B1 (ko) 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
AU2012227210B2 (en) Inline image rotation
US9811873B2 (en) Scaler circuit for generating various resolution images from single image and devices including the same
US9858635B2 (en) Application processor sharing resource based on image resolution and devices including same
US11710213B2 (en) Application processor including reconfigurable scaler and devices including the processor
US8675004B2 (en) Buffer underrun handling
US20140253598A1 (en) Generating scaled images simultaneously using an original image
TW201610908A (zh) 半導體裝置
US9147237B2 (en) Image processing method and device for enhancing image quality using different coefficients according to regions
US9558536B2 (en) Blur downscale
US8749565B2 (en) Error check-only mode

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