KR102114233B1 - 영상 처리 장치 - Google Patents
영상 처리 장치 Download PDFInfo
- Publication number
- KR102114233B1 KR102114233B1 KR1020130155256A KR20130155256A KR102114233B1 KR 102114233 B1 KR102114233 B1 KR 102114233B1 KR 1020130155256 A KR1020130155256 A KR 1020130155256A KR 20130155256 A KR20130155256 A KR 20130155256A KR 102114233 B1 KR102114233 B1 KR 102114233B1
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- scaling
- scale image
- logic
- lines
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 70
- 238000000034 method Methods 0.000 claims description 30
- 238000012935 Averaging Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 238000003672 processing method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
고성능(high-performance)을 요구하는 애플리케이션과 저전력(low-power)을 요구하는 애플리케이션을 모두 지원할 수 있는 영상 처리 장치가 제공된다. 상기 영상 처리 장치는 제1 개수의 라인의 영상 데이터를 수신하고, 상기 제1 개수의 라인의 영상 데이터에 대하여, 제1 방향 스케일링-다운(scaling-down)을 수행하여 제1 스케일 영상 데이터를 생성하는 제1 스케일링 로직, 상기 제2 개수의 라인의 저장 공간을 갖고, 상기 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장하는 로테이션 버퍼, 및 상기 제1 스케일 영상에 대하여, 상기 제1 방향과 다른 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하고, 상기 제2 스케일 영상 데이터를 출력하는 제2 스케일링 로직을 포함하되, 상기 제1 개수는 상기 제2 개수보다 더 크다.
Description
본 발명은 영상 처리 장치 및 이를 포함하는 컴퓨팅 시스템에 관한 것이다.
영상 처리 장치는 영상 데이터를 처리하고, 디스플레이 장치가 처리된 영상을 디스플레이할 수 있도록 할 수 있다. 이러한 영상 처리 장치는 영상 데이터의 로테이션(rotation)/스케일링-다운(scaling-down)을 수행할 수 있다. 이를 위해, 영상 처리 장치는 영상 데이터를 로테이션하기 위한 로테이터(rotator)와 영상 데이터를 수평/수직 방향으로 스케일링-다운하여 영상 데이터를 리사이징(resizing)하는 스케일링 로직(scaling logic)를 포함할 수 있다.
영상 처리 장치는 시스템의 전력 소모를 줄이기 위해서 온-더-플라이(On-The-Fly) 방식의 로테이션/스케일링-다운을 수행할 수 있다. 온-더-플라이 방식이란 시스템 메모리로부터 소스 영상 데이터를 독출하고, 소스 영상 데이터에 대하여 로테이션/스케일링-다운을 수행하고, 그 수행 결과를 디스플레이 컨트롤러에 직접 출력하는 방식을 나타낸다. 이러한 온-더-플라이 방식은 시스템의 전력 소모를 줄일 수 있다.
그러나, 시스템 메모리와 시스템 버스의 대역폭의 증가 속도가 디스플레이 해상도의 증가 속도에 미치지 못하는 점, 라인 메모리를 사용하는 온-더-플라이 방식의 특성 상 버스트 길이(burst length)가 짧은 점 등이 온-더-플라이 방식의 지원을 어렵게 하고 있다. 짧은 버스트 길이로 온-더-플라이 방식의 로테이션/스케일링-다운을 계속 지원하기 위해서는, 영상 처리 장치가 많은 수의 라인 메모리를 포함하여야 하고, 스케일 비율이 제한될 수 있다.
또는, 시스템의 전력 소모 증가를 감수하면서, 영상 처리 장치는 온-더-플라이 방식이 아닌 지연(Deferred) 방식의 로테이션/스케일링-다운을 수행할 수 있다. 지연 방식이란 소스 영상 데이터에 대한 로케이션/스케일링-다운 수행 결과를 시스템 메모리에 출력하고, 그 수행 결과가 시스템 메모리로부터 디스플레이 컨트롤러에 전달되는 방식을 나타낸다. 이러한 지연 방식은 고성능을 요구하는 애플리케이션(application)을 지원할 수 있지만, 시스템의 전력 소모를 증가시킬 수 있다.
본 발명이 해결하려는 과제는, 고성능(high-performance)을 요구하는 애플리케이션과 저전력(low-power)을 요구하는 애플리케이션을 모두 지원할 수 있는 영상 처리 장치를 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 고성능을 요구하는 애플리케이션과 저전력을 요구하는 애플리케이션을 모두 지원할 수 있는 컴퓨팅 시스템을 제공하는 것이다.
본 발명이 해결하려는 또 다른 과제는, 고성능을 요구하는 애플리케이션과 저전력을 요구하는 애플리케이션을 모두 지원할 수 있는 영상 처리 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 영상 처리 장치의 일 면(aspect)은 제1 개수의 라인의 영상 데이터를 수신하고, 상기 제1 개수의 라인의 영상 데이터에 대하여, 제1 방향 스케일링-다운(scaling-down)을 수행하여 제1 스케일 영상 데이터를 생성하는 제1 스케일링 로직, 제2 개수의 라인의 저장 공간을 갖고, 상기 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장하는 로테이션 버퍼, 및 상기 제1 스케일 영상 데이터에 대하여, 상기 제1 방향과 다른 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하고, 상기 제2 스케일 영상 데이터를 출력하는 제2 스케일링 로직을 포함하되, 상기 제1 개수는 상기 제2 개수보다 더 크다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 개수는 상기 제2 개수의 N배(단, N은 1보다 큰 자연수)이고, 상기 제1 스케일링 로직은, 상기 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성할 수있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일링 로직은, 상기 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 방향은 수평(horizontal) 방향이고, 상기 제2 방향은 수직(vertical) 방향일 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 로테이션 버퍼는 상기 제2 개수의 라인의 저장 공간을 갖는 라인 메모리를 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터에 대하여, 추가적인 스케일링을 수행하는 제3 스케일링 로직을 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 방향 스케일링-다운의 비율 또는 상기 제2 방향 스케일링-다운의 비율을 저장하는 레지스터를 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터를 시스템 메모리에 출력하는 기입 DMA 블록을 포함을 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터를 디스플레이 컨트롤러에 출력하는 출력 버퍼를 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일 영상 데이터는 시스템 메모리를 경유하지 않고 디스플레이 컨트롤러에 직접 전달될 수 있다.
상기 과제를 해결하기 위한 본 발명의 컴퓨팅 시스템의 일 면은 소스 영상을 저장하는 시스템 메모리, 상기 소스 영상에 대하여 로테이션(rotation)/스케일링-다운(scaling-down)을 수행하는 영상 처리 장치, 및 상기 시스템 메모리와 상기 영상 처리 장치를 연결하는 시스템 버스를 포함하고, 상기 영상 처리 장치는, 상기 시스템 메모리로부터 상기 소스 영상의 열 방향의 제1 개수의 라인의 영상 데이터를 수신하고, 상기 제1 개수의 라인의 영상 데이터에 대하여, 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성하는 제1 스케일링 로직과, 상기 제2 개수의 라인의 저장 공간을 갖고, 상기 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장하는 로테이션 버퍼와, 상기 제1 스케일 영상 데이터에 대하여, 상기 제1 방향과 다른 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하고, 상기 제2 스케일 영상 데이터를 출력하는 제2 스케일링 로직을 포함하되, 상기 제1 개수는 상기 제2 개수보다 더 크다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 개수는 상기 제2 개수의 N배(단, N은 1보다 큰 자연수)이고, 상기 제1 스케일링 로직은, 상기 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일링 로직은, 상기 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 방향 스케일링-다운의 비율은 상기 시스템 메모리의 버스트 길이(burst length)에 따라 가변될 수 있다.
본 발명의 몇몇 실시예에 있어서, 디스플레이 장치를 제어하는 디스플레이 컨트롤러를 더 포함하고, 상기 제2 스케일 영상 데이터는 상기 시스템 메모리를 경유하지 않고 상기 디스플레이 컨트롤러에 직접 전달될 수 있다.
상기 과제를 해결하기 위한 본 발명의 영상 처리 방법의 일 면은 제1 개수의 라인의 영상 데이터를 수신하고, 상기 제1 개수의 라인의 영상 데이터에 대하여, 제1 방향 스케일링-다운(scaling-down)을 수행하여 제1 스케일 영상 데이터를 생성하고, 상기 제2 개수의 라인의 저장 공간을 갖는 로테이션 버퍼에 상기 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장하고, 상기 제1 스케일 영상 데이터에 대하여, 상기 제1 방향과 다른 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하고, 상기 제2 스케일 영상 데이터를 출력하는 것을 포함하되, 상기 제1 개수는 상기 제2 개수보다 더 크다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 개수는 상기 제2 개수의 N배(단, N은 1보다 큰 자연수)이고, 상기 제1 스케일 영상 데이터를 생성하는 것은, 상기 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행하여 상기 제1 스케일 영상 데이터를 생성할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일 영상 데이터를 생성하는 것은, 상기 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행하여 상기 제2 스케일 영상 데이터를 생성할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제1 방향은 수평(horizontal) 방향이고, 상기 제2 방향은 수직(vertical) 방향일 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 로테이션 버퍼는 상기 제2 개수의 라인의 저장 공간을 갖는 라인 메모리를 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일 영상 데이터에 대하여, 추가적인 스케일링을 수행하는 것을 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일 영상 데이터를 시스템 메모리에 출력하는 것을 더 포함할 수 있다.
본 발명의 몇몇 실시예에 있어서, 상기 제2 스케일 영상 데이터를 디스플레이 컨트롤러에 출력하는 것을 더 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 독출 DMA 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 독출 DMA 장치의 로테이션/스케일링-다운 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 독출 DMA 장치의 응용예를 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 독출 DMA 장치의 성능 곡선을 도시하는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 8은 본 발명의 몇몇 실시예에 따른 영상 처리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다.
도 2는 도 1의 독출 DMA 장치의 로테이션/스케일링-다운 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 독출 DMA 장치의 응용예를 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 독출 DMA 장치의 성능 곡선을 도시하는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 8은 본 발명의 몇몇 실시예에 따른 영상 처리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
소자(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 소자 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다. 반면, 소자가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 소자 또는 층을 개재하지 않은 것을 나타낸다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 "아래(below)" 또는 "아래(beneath)"로 기술된 소자는 다른 소자의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 독출 DMA 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 독출 DMA 장치(100)는 제1 스케일링 로직(scaling logic; 110), 로테이션 버퍼(rotation buffer; 120), 제2 스케일링 로직(scaling logic; 130)을 포함한다.
독출 DMA 장치(100)는 시스템 버스를 통해서 시스템 메모리에 억세스하고, 시스템 메모리로부터 소스 영상에 관한 데이터를 독출할 수 있다.
제1 스케일링 로직(110)은 시스템 메모리로부터 제1 개수의 라인의 영상 데이터를 수신할 수 있다. 제1 스케일링 로직(110)은 제1 개수의 라인의 영상 데이터에 대하여, 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성할 수 있다. 예를 들어, 제1 방향은 수평(horizontal) 방향일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
제1 방향 스케일링-다운의 수행 결과, 제1 스케일 영상 데이터는 제2 개수의 라인으로 구성될 수 있다. 제1 개수는 제2 개수의 N배(단, N은 1보다 큰 자연수)일 수 있다. 제1 스케일링 로직(100)은 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행할 수 있다.
로테이션 버퍼(120)는 제1 스케일링 로직(110)으로부터 제1 스케일 영상 데이터를 수신할 수 있다. 로테이션 버퍼(120)는 제1 개수보다 작은 개수의 라인의 저장 공간을 갖고, 제1 스케일 영상 데이터를 임시 저장할 수 있다. 예를 들어, 로테이션 버퍼(120)는 제2 개수의 라인의 저장 공간을 갖는 라인 메모리를 포함할 수 있다.
로테이션 버퍼(120)는 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장할 수 있다. 로테이션 버퍼(120)는 본 발명이 속하는 기술 분야에서 잘 알려진 노말(normal) 방식, 미러링(mirroring) 방식, 로테이션(rotation) 방식 등과 같은 다양한 방식을 사용할 수 있다. 노말 방식이란 시스템 메모리를 리니어(linear)하게 스캔하여 영상 데이터를 출력하는 방식을 나타내고, 미러링 방식이란 소정의 축(예를 들어, X축, Y축 또는 XY축)을 기준으로 미러링된 영상에 대응하도록 시스템 메모리를 스캔하여 영상 데이터를 출력하는 방식을 나타내고, 로테이션 방식이란 소정의 각도(예를 들어, 0도, 90도, 180도 또는 270도)로 로테이션된 영상에 대응하도록 시스템 메모리를 스캔하여 영상 데이터를 출력하는 방식을 나타낼 수 있다.
제2 스케일링 로직(120)은 로테이션 버퍼(120)로부터 제1 스케일 영상 데이터를 수신할 수 있다. 제2 스케일링 로직(120)은 제1 스케일 영상에 대하여, 제2 방향 스케일링-다운일 수행하여 제2 스케일 영상 데이터를 생성할 수 있다. 예를 들어, 제2 방향은 수직(vertical) 방향일 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 제2 스케일링 로직(120)은 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행할 수 있다. 제2 스케일링 로직(120)은 제2 스케일 영상 데이터를 외부(예를 들어, 출력 버퍼(output buffer))에 출력할 수 있다.
도 2는 도 1의 독출 DMA 장치의 로테이션/스케일링-다운 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 시스템 메모리에 저장된 소스 영상(source image), 독출 DMA 장치(100)의 제1 스케일링 로직(110)에 의해 생성되는 제1 스케일 영상(first scalingd image), 독출 DMA 장치(100)의 제2 스케일링 로직(130)에 의해 생성되는 제2 스케일 영상(second scalingd image)이 도시된다.
소스 영상의 데이터는 행렬 형태로 배치될 수 있으며, 소스 영상의 데이터의 각각의 열에 배치되는 데이터들이 각각의 라인으로 분할될 수 있다. 설명의 편의를 위하여, 각각의 라인은 네 개의 영상 데이터를 포함하는 것으로 가정하여 설명하기로 한다.
독출 DMA 장치(100)는 시스템 메모리에 소스 영상의 제1 라인(L1) 및 제2 라인(L2)의 영상 데이터를 요청할 수 있다. 독출 DMA 장치(100)는 소스 영상의 데이터를 열 방향으로 스캔하여 제1 라인(L1) 및 제2 라인(L2)의 영상 데이터를 독출할 수 있다. 즉, 독출 DMA 장치(100)는 소스 영상이 로테이션된 상태를 고려하여 소스 영상의 데이터를 스캔할 수 있다.
이어서, 독출 DMA 장치(100)의 제1 스케일링 로직(110)이 제1 라인(L1) 및 제2 라인(L2)의 영상 데이터를 1/2의 비율로 수평 방향 스케일링-다운할 수 있다. 이로써, 제1 스케일 영상 데이터는 하나의 라인을 구성하게 되고, 독출 DMA 장치(100)의 로테이션 버퍼(120)에 행 방향으로 재배치되어 저장될 수 있다.
이어서, 독출 DMA 장치(100)의 제2 스케일링 로직(120)이 제1 스케일 영상 데이터를 1/2의 비율로 수직 방향 스케일링-다운할 수 있다. 이로써, 제2 스케일 영상 데이터는 두 개의 영상 데이터를 포함하는 하나의 라인을 구성하게 된다.
소스 영상의 모든 라인의 영상 데이터에 대하여 상술한 로테이션/스케일링-다운 동작을 수행하는 경우, 독출 DMA 장치(100)는 소스 영상을 로테이션하고, 수평/수직 방향으로 1/2의 비율로 스케일링-다운한 영상을 생성할 수 있다.
도 1의 독출 DMA 장치(100)에 따르면, 라인 메모리의 저장 공간보다 큰 개수의 라인의 영상 데이터에 대하여 로테이션/스케일링-다운을 수행할 수 있다. 즉, 도 1의 독출 DMA 장치(100)는 온-더-플라이 방식의 로테이션/스케일링-다운을 지원하기 위하여, 라인 메모리의 크기를 증가시키지 않더라도, 버스트 길이를 증가킬 수 있다. 또한, 도 1의 독출 DMA 장치(100)는 버스트 길이를 증가시키기 위해서, 라인 메모리의 크기를 증가시키지 않으므로, 비용-효율적인(cost-effective) 로테이션/스케일링-다운을 지원할 수 있다.
도 2에서는 독출 DMA 장치(100)의 스케일링의 비율로 1/2을 예로 들어 설명하였으나, 본 발명이 이에 한정되는 것은 아니고, 독출 DMA 장치(100)의 스케일링의 비율은 시스템 메모리가 지원하는 버스트 길이에 따라 가변적으로 증가할 수 있다. 버스트 길이란 시스템 메모리에 억세스할 때 한 번에 독출할 수 있는 데이터의 크기를 나타낼 수 있다.
또한, 도 2에서는 독출 DMA 장치(100)가 평균값을 이용하여 스케일링-다운을 수행하는 것으로 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 독출 DMA 장치(100)는 본 발명이 속하는 기술 분야에서 잘 알려진 소정의 스케일링 방식을 이용할 수 있다.
도 3은 본 발명의 실시예에 따른 독출 DMA 장치의 응용예를 설명하기 위한 블록도이다. 설명의 편의를 위하여, 도 4의 독출 DMA 장치(100)와 차이점을 중점으로 하여 설명하기로 한다.
도 4를 참조하면, 본 발명의 실시예에 따른 독출 DMA 장치(200)는 제1 스케일링 로직(scaling logic; 110), 로테이션 버퍼(rotation buffer; 120), 제2 스케일링 로직(scaling logic; 130), 컨트롤 로직(control logic; 140)을 포함한다.
상술한 바와 같이, 독출 DMA 장치(200)는 시스템 버스를 통해서 시스템 메모리에 억세스하고, 시스템 메모리로부터 소스 영상에 관한 데이터를 독출할 수 있다.
상술한 바와 같이, 제1 스케일링 로직(110)은 시스템 메모리로부터 제1 개수의 라인의 영상 데이터를 수신하고, 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성할 수 있다.
상술한 바와 같이, 로테이션 버퍼(120)는 제1 개수보다 작은 개수의 라인의 저장 공간을 갖고, 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 임시 저장할 수 있다.
상술한 바와 같이, 제2 스케일링 로직(120)은 제1 스케일 영상에 대하여, 제2 방향 스케일링-다운일 수행하여 제2 스케일 영상 데이터를 생성하고, 제2 스케일 영상 데이터를 외부에 출력할 수 있다.
컨트롤 로직(140)은 독출 DMA 장치(200)의 제반 동작을 제어할 수 있다. 컨트롤 로직(140)은 제1 스케일링 로직(110)의 스케일링의 비율 또는 제2 스케일링 로직(130)의 스케일링의 비율을 저장할 수 있다. 컨트롤 로직(140)은 상기 스케일링의 비율을 포함하는 제어 명령을 제1 스케일링 로직(110)과 제2 스케일링 로직(140)에 각각 전송할 수 있다. 제어 명령에 따라, 제1 스케일링 로직(110)과 제2 스케일링 로직(140)은 상기 비율의 스케일링-다운을 각각 수행할 수 있다. 컨트롤 로직(140)은 상기 스케일링의 비율을 저장하는 특수 기능 레지스터(SFR; Special Function Register)을 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 독출 DMA 장치의 성능 곡선을 도시하는 그래프이다. 도 4의 가로축은 지연 시간(latency)을 나타내고, 세로축은 대역폭(bandwidth)을 나타낼 수 있다.
도 4를 참조하면, 본 발명의 실시예에 따른 독출 DMA 장치(100, 200)의 성능은 성능 곡선(performance curve)과 버스 파라미터 선의 교점(P)에 의하여 정해질 수 있다.
예를 들어, 독출 DMA 장치(100, 200)의 성능에 영향을 미치는 버스 파라미터는 버스트 길이, 버스 폭(bus width)의 크기, 멀티플 아웃스탠딩(multiple outstanding)의 개수 등이 있을 수 있다. 이 중 버스트 길이는 온-더-플라이 방식의 로테이션/스테일링-다운의 특성 상 라인 메모리의 크기에 의존적이다.
상술한 바와 같이, 본 발명의 실시예에 따른 독출 DMA 장치(100, 200)는 라인 메모리의 크기를 증가시키지 않더라도, 버스트 길이를 증가시킬 수 있으므로, 고성능을 요구하는 애플리케이션을 지원할 수 있다.
도 5는 본 발명의 일 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 영상 처리 장치(1100)는 독출 DMA 블록(read DMA; 200), 출력 버퍼(output buffer; 300)를 포함한다.
독출 DMA 블록(200)은 시스템 버스와 연결될 수 있다. 독출 DMA 블록(200)은 시스템 버스를 통해서 시스템 메모리에 억세스하고, 시스템 메모리로부터 소스 영상에 관한 데이터를 독출할 수 있다.
독출 DMA 블록(200)은 도 3을 참조하여 설명한 독출 DMA 장치(200)와 동일하게 구성될 수 있다. 독출 DMA 블록(200)은 도 3을 참조하여 설명한 제1 스케일링 로직(110), 로테이션 버퍼(120), 제2 스케일링 로직(130), 컨트롤 로직(140)을 포함하여, 소스 영상에 대한 로테이션(rotation)/스케일링-다운(scaling-down)을 수행할 수 있다.
출력 버퍼(300)는 독출 DMA 블록(200)과 연결될 수 있다. 출력 버퍼(300)는 독출 DMA 블록(200)으로부터 제2 스케일 영상 데이터를 수신할 수 있다. 출력 버퍼(300)는 플립플롭(flipflop), 래치(latch), SRAM(Static Random Access Memory) 등과 같은 구성 요소를 포함하여, 제2 스케일 영상 데이터를 임시 저장할 수 있다. 출력 버퍼(300)는 제2 스케일 영상 데이터를 외부(예를 들어, 디스플레이 컨트롤러(display controller)에 출력할 수 있다.
제2 스케일 영상 데이터는 시스템 메모리를 경유하지 않고 디스플레이 컨트롤러에 직접 전달될 수 있다. 즉, 본 발명의 일 실시예에 따른 영상 처리 장치(1100)는 온-더-플라이 방식으로 동작할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다. 설명의 편의를 위하여, 도 5의 영상 처리 장치(1100)와 차이점을 중점으로 하여 설명하기로 한다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 영상 처리 장치(1200)는 독출 DMA 블록(read DMA; 100), 제3 스케일링 로직(scaling logic; 400), 컨트롤 로직(control logic; 500), 출력 버퍼(output buffer; 300)를 포함한다.
독출 DMA 블록(100)은 시스템 버스와 연결될 수 있다. 독출 DMA 블록(100)은 시스템 버스를 통해서 시스템 메모리에 억세스하고, 시스템 메모리로부터 소스 영상에 관한 데이터를 독출할 수 있다.
독출 DMA 블록(100)은 도 1을 참조하여 설명한 독출 DMA 장치(100)와 동일하게 구성될 수 있다. 독출 DMA 블록(100)은 도 1을 참조하여 설명한 제1 스케일링 로직(110), 로테이션 버퍼(120), 제2 스케일링 로직(130)을 포함하여, 소스 영상에 대한 로테이션(rotation)/스케일링-다운(scaling-down)을 수행할 수 있다.
제3 스케일링 로직(400)은 독출 DMA 블록(100)과 연결될 수 있다. 제3 스케일링 로직(400)은 독출 DMA 블록(100)으로부터 제2 스케일 영상 데이터를 수신할 수 있다. 제3 스케일링 로직(400)은 제2 스케일 영상에 대하여, 추가적인 스케일링을 수행할 수 있다. 제3 스케일링 로직(400)은 수평/수직 방향으로 스케일링을 수행할 수 있다. 제3 스케일링 로직(400)은 제2 스케일 영상 데이터에 대하여, 1/M(단, M은 1보다 큰 자연수)의 비율로 스케일링을 수행할 수 있다. 이로써, 영상 처리 장치(1200)는 분수비의 스케일링-다운을 수행할 수 있다.
컨트롤 로직(500)은 영상 처리 장치(1200)의 제반 동작을 제어할 수 있다. 컨트롤 로직(500)은 독출 DMA 블록(100)의 스케일링의 비율(제1 스케일링 로직(110)의 스케일링의 비율 또는 제2 스케일링 로직(130)의 스케일링의 비율) 또는 제3 스케일링 로직(400)의 스케일링의 비율을 저장할 수 있다. 컨트롤 로직(500)은 상기 스케일링의 비율을 포함하는 제어 명령을 독출 DMA 블록(100)과 제3 스케일링 로직(400)에 각각 전송할 수 있다. 제어 명령에 따라, 독출 DMA 블록(100)과 제3 스케일링 로직(400)은 상기 스케일링의 비율의 스케일링을 각각 수행할 수 있다. 컨트롤 로직(500)은 상기 스케일링의 비율을 저장하는 특수 기능 레지스터(SFR; Special Function Register)을 포함할 수 있다.
출력 버퍼(300)는 제3 스케일링 로직(400)과 연결될 수 있다. 출력 버퍼(300)는 제3 스케일링 로직(400)으로부터 제3 스케일 영상 데이터를 수신할 수 있다. 출력 버퍼(300)는 제3 스케일 영상 데이터를 임시 저장하고, 제3 스케일 영상 데이터를 외부에 출력할 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 영상 처리 장치를 설명하기 위한 블록도이다. 설명의 편의를 위하여, 도 6의 영상 처리 장치(1200)와 차이점을 중점으로 하여 설명하기로 한다.
도 7을 참조하면, 본 발명의 또 다른 실시예에 따른 영상 처리 장치(1300)는 독출 DMA 블록(read DMA; 100), 제3 스케일링 로직(scaling logic; 400), 컨트롤 로직(control logic; 500), 출력 버퍼(output buffer; 300), 기입 DMA 블록(600)를 포함한다.
상술한 바와 같이, 독출 DMA 블록(100)은 시스템 버스와 연결될 수 있다. 독출 DMA 블록(100)은 시스템 버스를 통해서 시스템 메모리에 억세스하고, 시스템 메모리로부터 소스 영상에 관한 데이터를 독출할 수 있다.
독출 DMA 블록(100)은 도 1을 참조하여 설명한 독출 DMA 장치(100)와 동일하게 구성될 수 있다. 독출 DMA 블록(100)은 도 1을 참조하여 설명한 제1 스케일링 로직(110), 로테이션 버퍼(120), 제2 스케일링 로직(130)을 포함하여, 소스 영상에 대한 로테이션(rotation)/스케일링-다운(scaling-down)을 수행할 수 있다.
상술한 바와 같이, 제3 스케일링 로직(400)은 독출 DMA 블록(100)으로부터 제2 스케일 영상 데이터를 수신하고, 제2 스케일 영상에 대하여, 1/M의 비율로 추가적인 스케일링-다운을 수행할 수 있다.
상술한 바와 같이, 컨트롤 로직(500)은 영상 처리 장치(1300)의 제반 동작을 제어할 수 있다. 컨트롤 로직(500)은 독출 DMA 블록(100)의 스케일링의 비율 또는 제3 스케일링 로직(400)의 스케일링의 비율을 저장하고, 상기 스케일링의 비율을 포함하는 제어 명령을 독출 DMA 블록(100)과 제3 스케일링 로직(400)에 각각 전송할 수 있다.
상술한 바와 같이, 출력 버퍼(300)는 제3 스케일링 로직(400)으로부터 제3 스케일 영상 데이터를 수신하고, 제3 스케일 영상 데이터를 임시 저장하고, 제3 스케일 영상 데이터를 외부에 출력할 수 있다.
기입 DMA 블록(600)도 제3 스케일링 로직(400)과 연결될 수 있다. 기입 DMA 블록(600)은 제3 스케일링 로직(400)으로부터 제3 스케일 영상 데이터를 수신할 수 있다. 기업 DMA 블록(600)은 제3 스케일 영상 데이터를 외부(예를 들어, 시스템 메모리)에 출력할 수 있다.
실시예에 따라, 도 6을 참조하여 설명한 영상 처리 장치(1100)도 기입 DMA 블록(600)을 더 포함하도록 변형될 수 있다. 기입 DMA 블록(600)은 독출 DMA 블록(200)과 연결되어, 독출 DMA 블록(200)으로부터 제2 스케일 영상 데이터를 수신하고, 제2 스케일 영상 데이터를 외부에 출력할 수 있다.
본 발명의 몇몇 실시예에 따른 영상 처리 장치(1100, 1300)는 온-더-플라이 방식 또는 지연 방식을 선택적으로 사용할 수 있다.
도 8은 본 발명의 몇몇 실시예에 따른 영상 처리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
도 8을 참조하면, 컴퓨팅 시스템(1000)은 코어 프로세서(CORE; 1200), 시스템 메모리(MEMORY; 1300), 디스플레이 컨트롤러(DISPLAY CONTROLLER; 1400), 영상 처리 장치(IMAGE PROCESSOR; 1100), 인터페이스 장치(INTERFACE; 1500), 주변 장치(PERIPHERAL; 1600)을 포함한다.
코어 프로세서(1200), 시스템 메모리(1300), 디스플레이 컨트롤러(1400), 영상 처리 장치(1100), 인터페이스 장치(1500), 주변 장치(1600)는 시스템 버스(1700)을 통하여 서로 연결될 수 있다. 시스템 버스(1700)는 데이터들이 이동되는 통로(path)일 수 있다.
코어 프로세서(1100)는 하나의 프로세서를 포함하거나(single-core), 복수의 프로세서들을 포함하여(multi-core) 데이터를 처리할 수 있다. 예를 들어, 코어 프로세서(1100)는 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등과 같은 멀티 코어(multi-core) 프로세서로 구성될 수 있다. 도 9에는 명확하게 도시하지 않았으나, 코어 프로세서(1100)는 내부 또는 외부에 배치되는 캐시 메모리를 더 포함할 수 있다.
시스템 메모리(1300)는 명령어 및/또는 데이터를 저장하도록 구성될 수 있다. 시스템 메모리(1300)는 컴퓨팅 시스템(1000)의 메인 메모리로 기능할 수 있다. 예를 들어, 시스템 메모리(1300)는 LPDDR(Low Power Double Data Rate) DRAM과 같은 휘발성 메모리 장치로 구성될 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 시스템 메모리(1300)는 로테이션(rotation)/스케일링-다운(scaling-down)을 수행하기 위한 소스 영상을 저장할 수 있다.
디스플레이 컨트롤러(1400)는 디스플레이 장치를 제어하여, 디스플레이 장치가 영상을 디스플레이하도록 할 수 있다.
영상 처리 장치(1100)는 소스 영상에 대한 로테이션/스케일링-다운을 수행할 수 있다. 도 8에는 컴퓨팅 시스템(1000)이 도 5를 참조하여 설명한 영상 처리 장치(1100)을 포함하는 것으로 도시하였으나, 실시예에 따라, 컴퓨팅 시스템(1000)은 도 6 또는 도 7을 참조하여 설명한 영상 처리 장치(1200, 1300)를 포함하도록 변형될 수 있다. 영상 처리 장치(1100, 1200, 1300)는 소스 영상에 대한 로테이션/스케일링-다운의 수행 결과를 시스템 메모리(1300)에 출력하거나, 디스플레이 컨트롤러(1400)에 직접 출력할 수 있다.
인터페이스 장치(1500)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스 장치(1500)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다.
주변 장치(1600)는 직렬 통신 장치, 메모리 관리 장치, 오디오 처리 장치 등의 장치를 포함할 수 있다.
도 8에는 명확하게 도시하지 않았으나, 컴퓨팅 시스템(1000)은 OTPROM(One Time Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(flash memory) 등과 같은 비휘발성 메모리 장치를 더 포함할 수도 있다.
실시예에 따라, 컴퓨팅 시스템(1000)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 태블릿(Tablet) 등과 같은 임의의 모바일 시스템의 구성 요소(예를 들어, SOC(System On Chip)로 제공될 수 있다.
도 9는 본 발명의 일 실시예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 영상 처리 방법은, 먼저 시스템 메모리로부터 소스 영상의 제1 개수의 라인의 영상 데이터를 수신한다(S710).
이어서, 제1 개수의 라인의 영상 데이터에 대하여, 1/N(단, N은 1보다 큰 자연수)의 비율로 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성한다(S720). 상술한 바와 같이, 제1 방향은 수평(horizontal) 방향일 수 있다. 제1 스케일 영상 데이터는 제2 개수의 라인으로 구성되고, 제1 개수는 제2 개수의 N배일 수 있다.
이어서, 제2 개수의 라인의 저장 공간을 갖는 로테이션 버퍼(120)에 제1 스케일 영상 데이터를 임시 저장한다(S730). 제1 스케일 영상 데이터는 로테이션된 상태로 저장될 수 있다. 로테이션 버퍼(120)는 제2 개수의 라인의 저장 공간을 갖는 라인 메모리를 포함할 수 있다.
이어서, 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성한다(S740). 상술한 바와 같이, 제2 방향은 수직(vertical) 방향일 수 있다.
이어서, 제2 스케일 영상에 대하여, 1/M(단, M은 1보다 큰 자연수)의 비율로 추가적인 스케일링을 수행할 수 있다(S750).
이어서, 소스 영상의 로테이션/스케일링-다운 결과를 시스템 메모리(1300) 또는 디스플레이 컨트롤러(1400)에 출력한다(S760).
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명의 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 그 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
110: 제1 스케일링 로직
120: 로테이션 버퍼
130: 제2 스케일링 로직
120: 로테이션 버퍼
130: 제2 스케일링 로직
Claims (10)
- 시스템 메모리로부터, 제1 개수의 제2 방향 라인의 영상 데이터를 수신하되 상기 제1 개수의 제2 방향 라인의 영상 데이터 각각은 복수의 영상 데이터를 포함하고, 상기 제1 개수의 제2 방향 라인의 영상 데이터에 대하여, 상기 제2 방향과 다른 제1 방향 스케일링-다운(scaling-down)을 수행하여 제2 개수의 상기 제2 방향 라인을 갖는 제1 스케일 영상 데이터를 생성하는 제1 스케일링 로직으로서, 상기 제1 스케일 영상 데이터는 상기 제1 개수의 제2 방향 라인의 영상 데이터를 상기 제2 방향이 아닌 상기 제1 방향으로 평균하여 스케일링-다운한 영상 데이터를 포함하는 제1 스케일링 로직;
상기 제2 개수의 라인의 저장 공간을 갖고, 상기 제1 스케일 영상 데이터를 로테이션(rotation)된 상태로 저장하는 로테이션 버퍼; 및
상기 제1 스케일 영상 데이터에 대하여, 상기 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하고, 상기 제2 스케일 영상 데이터를 출력하는 제2 스케일링 로직을 포함하되,
상기 제1 개수는 상기 제2 개수보다 더 크고,
상기 제1 방향 스케일링 다운의 비율은, 상기 시스템 메모리가 지원하는 버스트 길이(burst length)에 따라 가변하되, 상기 버스트 길이는 상기 시스템 메모리에 억세스할 때 한 번에 독출할 수 있는 데이터의 크기인 영상 처리 장치. - 제1항에 있어서,
상기 제1 개수는 상기 제2 개수의 N배(단, N은 1보다 큰 자연수)이고,
상기 제1 스케일링 로직은, 상기 제1 개수의 라인의 영상 데이터에 대하여, 1/N의 비율로 제1 방향 스케일링-다운을 수행하여 제1 스케일 영상 데이터를 생성하는, 영상 처리 장치. - 제2항에 있어서,
상기 제2 스케일링 로직은, 상기 제1 스케일 영상 데이터에 대하여, 1/N의 비율로 제2 방향 스케일링-다운을 수행하여 제2 스케일 영상 데이터를 생성하는, 영상 처리 장치. - 제1항에 있어서,
상기 제1 방향은 수평(horizontal) 방향이고, 상기 제2 방향은 수직(vertical) 방향인, 영상 처리 장치. - 제1항에 있어서,
상기 로테이션 버퍼는 상기 제2 개수의 라인의 저장 공간을 갖는 라인 메모리를 포함하는, 영상 처리 장치. - 제1항에 있어서,
상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터에 대하여, 추가적인 스케일링을 수행하는 제3 스케일링 로직을 더 포함하는, 영상 처리 장치. - 제1항에 있어서,
상기 제1 방향 스케일링-다운의 비율 또는 상기 제2 방향 스케일링-다운의 비율을 저장하는 레지스터를 더 포함하는, 영상 처리 장치. - 제1항에 있어서,
상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터를 상기 시스템 메모리에 출력하는 기입 DMA 블록을 포함을 더 포함하는, 영상 처리 장치. - 제1항에 있어서,
상기 제2 스케일링 로직으로부터 상기 제2 스케일 영상 데이터를 수신하고, 상기 제2 스케일 영상 데이터를 디스플레이 컨트롤러에 출력하는 출력 버퍼를 더 포함하는, 영상 처리 장치. - 제9항에 있어서,
상기 제2 스케일 영상 데이터는 상기 시스템 메모리를 경유하지 않고 디스플레이 컨트롤러에 직접 전달되는, 영상 처리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130155256A KR102114233B1 (ko) | 2013-12-13 | 2013-12-13 | 영상 처리 장치 |
US14/488,621 US10600145B2 (en) | 2013-12-13 | 2014-09-17 | Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130155256A KR102114233B1 (ko) | 2013-12-13 | 2013-12-13 | 영상 처리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150069164A KR20150069164A (ko) | 2015-06-23 |
KR102114233B1 true KR102114233B1 (ko) | 2020-05-25 |
Family
ID=53369080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130155256A KR102114233B1 (ko) | 2013-12-13 | 2013-12-13 | 영상 처리 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10600145B2 (ko) |
KR (1) | KR102114233B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558536B2 (en) * | 2015-04-01 | 2017-01-31 | Apple Inc. | Blur downscale |
US20180350026A1 (en) * | 2017-05-30 | 2018-12-06 | Qualcomm Incorporated | Memory footprint and power efficient multi-pass image processing architecture |
CN112862673B (zh) * | 2019-11-12 | 2024-06-14 | 上海途擎微电子有限公司 | 自适应图像缩放方法及自适应图像缩放装置、存储装置 |
CN112822545A (zh) * | 2019-11-15 | 2021-05-18 | 西安诺瓦星云科技股份有限公司 | 图像显示方法、装置和***以及视频控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060181550A1 (en) | 2005-02-17 | 2006-08-17 | Canon Kabushiki Kaisha | Image processing apparatus and method |
US20090015717A1 (en) | 2007-07-09 | 2009-01-15 | Arnao Michael A | Image resizer and resizing method |
US20130222413A1 (en) | 2012-02-24 | 2013-08-29 | Brijesh Tripathi | Buffer-free chroma downsampling |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5020115A (en) | 1989-07-10 | 1991-05-28 | Imnet Corporation | Methods and apparatus for dynamically scaling images |
US5867608A (en) | 1995-11-07 | 1999-02-02 | Sun Microsystems, Inc. | Method and apparatus for scaling images |
US5854641A (en) * | 1996-09-27 | 1998-12-29 | Apple Computer, Inc. | Method and apparatus for display image rotation |
US6580435B1 (en) * | 2000-06-28 | 2003-06-17 | Intel Corporation | Overlay early scan line watermark access mechanism |
JP3781634B2 (ja) * | 2001-04-26 | 2006-05-31 | シャープ株式会社 | 画像処理装置および画像処理方法並びに携帯用映像機器 |
US6801674B1 (en) * | 2001-08-30 | 2004-10-05 | Xilinx, Inc. | Real-time image resizing and rotation with line buffers |
TWI247245B (en) * | 2003-09-16 | 2006-01-11 | Realtek Semiconductor Corp | A scaling device and method capable of controlling data input and/or output capacity |
JP4250543B2 (ja) * | 2004-02-06 | 2009-04-08 | キヤノン株式会社 | 撮像装置及び情報処理装置及びそれらの制御方法 |
KR100579044B1 (ko) * | 2004-06-29 | 2006-05-12 | 삼성전자주식회사 | 회전된 영상을 압축하기 위한 장치, 시스템 및 방법 |
US20060284876A1 (en) * | 2005-06-15 | 2006-12-21 | Low Yun S | Method and apparatus for programming an input/output device over a serial bus |
JP2007067917A (ja) | 2005-08-31 | 2007-03-15 | Matsushita Electric Ind Co Ltd | 画像データ処理装置 |
US7839424B1 (en) | 2006-07-13 | 2010-11-23 | Marvell International Ltd. | Horizontal strip column-first two-dimensional scaling |
KR20080072217A (ko) | 2007-02-01 | 2008-08-06 | 삼성전자주식회사 | 화상처리장치 |
TWI332796B (en) * | 2007-03-15 | 2010-11-01 | Via Tech Inc | Method for buffering output pixel data of a jpeg image |
KR20080095672A (ko) | 2007-04-25 | 2008-10-29 | 삼성전자주식회사 | 화상회전기능을 가지는 화상처리장치 및 화상회전방법 |
JP2009198639A (ja) | 2008-02-20 | 2009-09-03 | Seiko Epson Corp | 画像表示装置及び画像表示装置のスクロール制御方法及びスクロール制御プログラム、画像表示装置を備えた電子機器 |
KR101127962B1 (ko) * | 2008-12-22 | 2012-03-26 | 한국전자통신연구원 | 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법 |
JP5233767B2 (ja) | 2009-03-17 | 2013-07-10 | 株式会社リコー | 画像処理装置および画像処理方法 |
KR20110048794A (ko) | 2009-11-03 | 2011-05-12 | 삼성전자주식회사 | 이미지 프로세서 및 이를 포함하는 전자 장치 |
US20110148888A1 (en) * | 2009-12-23 | 2011-06-23 | Jacobs Robert A | Method and apparatus for controlling multiple display panels from a single graphics output |
US8514331B2 (en) * | 2010-06-08 | 2013-08-20 | Stmicroelectronics, Inc. | De-rotation adaptor and method for enabling interface of handheld multi-media device with external display |
US8687922B2 (en) * | 2012-02-24 | 2014-04-01 | Apple Inc. | Parallel scaler processing |
US9001160B2 (en) * | 2012-09-04 | 2015-04-07 | Apple Inc. | Frame timing synchronization for an inline scaler using multiple buffer thresholds |
-
2013
- 2013-12-13 KR KR1020130155256A patent/KR102114233B1/ko active IP Right Grant
-
2014
- 2014-09-17 US US14/488,621 patent/US10600145B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060181550A1 (en) | 2005-02-17 | 2006-08-17 | Canon Kabushiki Kaisha | Image processing apparatus and method |
JP2006227297A (ja) | 2005-02-17 | 2006-08-31 | Canon Inc | 画像処理装置及び方法 |
US20090015717A1 (en) | 2007-07-09 | 2009-01-15 | Arnao Michael A | Image resizer and resizing method |
US20130222413A1 (en) | 2012-02-24 | 2013-08-29 | Brijesh Tripathi | Buffer-free chroma downsampling |
Also Published As
Publication number | Publication date |
---|---|
US10600145B2 (en) | 2020-03-24 |
US20150170330A1 (en) | 2015-06-18 |
KR20150069164A (ko) | 2015-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US9805802B2 (en) | Memory device, memory module, and memory system | |
KR102089665B1 (ko) | 메모리 모듈 및 메모리 시스템 | |
US8862963B2 (en) | Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program | |
US10943183B2 (en) | Electronics device performing software training on memory channel and memory channel training method thereof | |
KR102114233B1 (ko) | 영상 처리 장치 | |
US11036412B2 (en) | Dynamically changing between latency-focused read operation and bandwidth-focused read operation | |
JP2016509280A (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
US11294814B2 (en) | Memory system having a memory controller and a memory device having a page buffer | |
US20170194045A1 (en) | Semiconductor memory devices and memory systems including the same | |
US9627015B2 (en) | Memory device having page state informing function | |
CN108091355A (zh) | 数据反相电路 | |
US11710213B2 (en) | Application processor including reconfigurable scaler and devices including the processor | |
JP2021111333A (ja) | 不揮発性メモリの自動インクリメント書き込みカウント | |
US10241707B2 (en) | Techniques for organizing three-dimensional array data | |
US8402199B2 (en) | Memory management system and method thereof | |
US9454378B2 (en) | Global configuration broadcast | |
US10915447B1 (en) | Systems, devices, and methods for reduced critical path latency and increased work parallelization in memory writes | |
US9646570B2 (en) | Mechanism for facilitating improved copying of graphics data on computing devices | |
KR20070032573A (ko) | 하드 디스크 드라이브의 플래쉬 메모리를 메인 &비디오메모리로 사용 할 수 있는 컴퓨터 | |
US20160154603A1 (en) | Data transfer control device, apparatus including the same, and data transfer control method | |
US20140140632A1 (en) | Image processing method and device for enhancing image quality using different coefficients according to regions | |
KR102333446B1 (ko) | 반도체 장치 및 반도체 시스템 | |
US20240168896A1 (en) | Memory controller, electric system including the same and method of controlling memory access | |
JP2011258027A (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 |