KR20110048794A - 이미지 프로세서 및 이를 포함하는 전자 장치 - Google Patents

이미지 프로세서 및 이를 포함하는 전자 장치 Download PDF

Info

Publication number
KR20110048794A
KR20110048794A KR1020090105513A KR20090105513A KR20110048794A KR 20110048794 A KR20110048794 A KR 20110048794A KR 1020090105513 A KR1020090105513 A KR 1020090105513A KR 20090105513 A KR20090105513 A KR 20090105513A KR 20110048794 A KR20110048794 A KR 20110048794A
Authority
KR
South Korea
Prior art keywords
pixel data
image
block
rotation
line buffer
Prior art date
Application number
KR1020090105513A
Other languages
English (en)
Inventor
조성진
노종호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090105513A priority Critical patent/KR20110048794A/ko
Priority to US12/908,465 priority patent/US20110102465A1/en
Priority to JP2010245472A priority patent/JP2011100453A/ja
Priority to CN2010105308307A priority patent/CN102054264A/zh
Publication of KR20110048794A publication Critical patent/KR20110048794A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

이미지 프로세서가 개시된다. 상기 이미지 프로세서는 라인 버퍼 블락을 공유하는 로테이션 블락과 스케일러를 포함하며, 로테이션된 이미지를 생성하기 위하여 로테이션 정보에 기초하여 메모리로부터 재배열된 픽셀데이터를 수신하여 스케일링을 수행할 수 있다.
이미지, 프로세서, 라인 버퍼, 로테이션, 스케일링

Description

이미지 프로세서 및 이를 포함하는 전자 장치{Image processor and electric device including the same}
본 발명은 이미지 프로세싱 기술에 관한 것으로, 보다 상세하게는 메모리에 저장된 소스 이미지를 로테이션하거나 스케일링할 수 있는 이미지 프로세서, 상기 이미지 프로세서를 포함하는 전자 장치에 관한 것이다.
멀티미디어 데이터를 처리하기 위한 이미지 프로세서는 JPEG, MPEG, H.264 등의 다양한 멀티미디어 소스에 대한 이미지 프로세싱을 통하여 LCD나 TV와 같은 디스플레이 장치가 멀티미디어 이미지를 디스플레이할 수 있도록 하는 프로세서이다. 즉, 이미지 프로세서는 몇 가지의 특정 해상도에 상응하는 이미지만을 디스플레이할 수 있는 LCD나 TV 등이 종류 및 크기에 따라서 다양한 해상도를 갖는 멀티미디어 소스들을 디스플레이할 수 있게 멀티미디어 소스를 가공, 처리하는 것이다.
이러한 이미지 프로세서에는 이미지를 로테이션하기 위한 로테이터(rotator)와 이미지를 수평 및 수직 방향으로 스케일링함으로써 이미지를 리사이징(resizing)하기 위한 스케일러(scaler)를 포함한다. 종래의 이미지 프로세싱 방법에 있어서, 로테이터와 스케일러는 별도의 프로세서로 구현되는 것이 일반적이었 다. 로테이터와 스케일러가 분리된 이미지 프로세서는 이미지 프로세싱을 위하여 적어도 3~4회의 메모리 억세스(memory access)를 필요로 하며, 특히, 무빙 이미지(moving image)의 경우 이미지의 사이즈 및 그 포맷에 따라서 버스 대역폭의 소모가 극심한 단점을 가진다.
이러한 이미지 프로세서의 성능을 개선하고자 통합된 각각이 분리된 라인 버퍼를 포함하는 로테이터와 스케일러를 포함하는 이미지 프로세서에 대한 연구가 진행되었다. 그러나 로테이터와 스케일러의 분리된 라인 버퍼(line buffer) 구조는 이미지 프로세싱을 위한 게이트 카운트(gate count)를 증가시키고 로테이터 및 스케일러로 모두에 대하여 입력되는 이미지 사이즈를 고려해야 하는 문제점을 가진다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 로테이터와 스케일러의 라인 버퍼를 공유함으로써 게이팅 카운트를 감소시킬 수 있고, 다양한 해상도의 멀티미디어 소스에 대한 이미지 프로세싱 성능을 향상시킬 수 있는 이미지 프로세서, 이를 포함하는 전자 장치를 제공하는 것이다.
상기 기술적 과제를 해결하기 위한 이미지 프로세서는 로테이션 블락, 라인 버퍼 블락, 및 스케일링 블락을 포함할 수 있다. 상기 로테이션 블락은 로테이션 정보에 기초하여 생성되는 어드레스에 기초하여 재배열된 소스 이미지의 픽셀 데이 터를 메모리로부터 수신하여 출력할 수 있다. 상기 라인 버퍼 블락은 상기 로테이션 블락으로부터 출력되는 재배열된 픽셀 데이터를 임시로 저장할 수 있다. 상기 스케일링 블락은 상기 라인 버퍼 블락으로부터 출력되는 재배열된 픽셀 데이터를 수평 및 수직 방향으로 스케일링할 수 있다.
상기 로테이션 블락은 어드레스 발생기 및 DMA(Direct Memory Access)를 포함할 수 있다. 상기 어드레스 발생기는 상기 로테이션 정보에 기초하여 상기 메모리에 저장된 상기 소스 이미지의 픽셀 데이터를 재배열함으로써 상기 로테이션된 이미지를 생성하기 위한 어드레스를 발생할 수 있다. 상기 DMA는 상기 소스 이미지에서 상기 어드레스에 상응하는 픽셀 데이터를 페치(fetch)하여 출력할 수 있다.
상기 로테이션 정보는 상기 소스 이미지를 리니어(linear)하게 출력하는 정보, 상기 소스 이미지를 특정 각도로 로테이션하는 정보, 상기 소스 이미지를 특정 축을 기준으로 미러링(mirroring)하는 정보 중 적어도 하나를 포함할 수 있다. 상기 라인 버퍼 블락은 다수의 라인 버퍼들을 포함하며, 서큘러 큐(circular queue) 방식으로 상기 다수의 라인 버퍼들에 저장된 상기 재배열된 픽셀 데이터를 순차적으로 출력할 수 있다. 상기 라인 버퍼들 각각은 상기 이미지 프로세서가 지원하는 최대 크기의 이미지의 하나의 라인에 상응하는 크기를 가질 수 있다. 상술한 본 발명의 실시예에 따른 이미지 프로세서는 이미지를 디스플레이하는 다양한 전자 장치에 이용될 수 있다.
상기 기술적 과제를 해결하기 위한 이미지 프로세싱 방법은 로테이션 정보에 기초하여 생성되는 어드레스에 기초하여 재배열된 소스 이미지의 픽셀 데이터를 메 모리로부터 수신하여 출력하는 단계; 상기 재배열된 픽셀 데이터를 임시로 저장하는 단계; 및 상기 임시로 저장된 재배열된 픽셀 데이터를 수평 및 수직 방향으로 스케일링하는 단계를 포함할 수 있다. 상기 재배열된 소스 이미지의 픽셀 데이터를 상기 메모리로부터 수신하여 출력하는 단계는 상기 로테이션 정보에 기초하여 상기 메모리에 저장된 상기 소스 이미지의 픽셀 데이터를 재배열함으로써 상기 로테이션된 이미지를 생성하기 위한 어드레스를 발생하는 단계; 및 상기 소스 이미지에서 상기 어드레스에 상응하는 픽셀 데이터를 페치(fetch)하여 출력하는 단계를 포함할 수 있다.
상기 로테이션 정보는 상기 소스 이미지를 리니어(linear)하게 출력하는 정보, 상기 소스 이미지를 특정 각도로 로테이션하는 정보, 상기 소스 이미지를 특정 축을 기준으로 미러링(mirroring)하는 정보 중 적어도 하나를 포함할 수 있다. 상기 재배열된 픽셀 데이터를 임시로 저장하는 단계는 서큘러 큐(circular queue) 방식으로 다수의 라인 버퍼들에 임시 저장된 상기 재배열된 픽셀 데이터를 순차적으로 출력하는 단계를 포함할 수 있다.
상기 라인 버퍼들 각각은 상기 이미지 프로세서가 지원하는 최대 크기의 이미지의 하나의 라인에 상응하는 크기를 가질 수 있다. 상기 재배열된 소스 이미지의 픽셀 데이터를 상기 메모리로부터 수신하여 출력하는 단계는 상기 재배열된 픽셀 데이터를 서큘러 큐 방식에 따른 순환 방식으로 순차적으로 출력하는 단계를 포함할 수 있다.
상술한 본 발명의 실시예에 따른 이미지 프로세싱 방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장된 상기 이미지 프로세싱 방법을 실행하기 위한 컴퓨터 프로그램을 실행함으로써 구현될 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 이미지 프로세서, 이를 포함하는 전자 장치, 및 이미지 프로세싱 방법은 로테이션, 미러링 등의 처리가 수행된 이미지에 상응하는 데이터를 메모리로부터 직접 수신하므로 메모리로부터 수신되는 이미지 전체를 저장하기 위한 내부 메모리를 필요로 하지 않고, 로테이터와 스케일러가 라인 버퍼를 공유함으로써 종래의 이미지 프로세싱 기술에 비하여 이미지 프로세서의 칩 사이즈를 감소시킬 수 있고 이미지 프로세싱 과정에서의 소모 전력을 감소시킬 수 있으며, 실시간으로 이미지를 디스플레이하기 위한 이미지 프로세싱 성능을 향상시킬 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바림직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터 또는 신호를 상기 다른 구성요소로 전송할 수 있음을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 이미지 프로세서를 포함하는 전자 장치(10)의 블락도이다. 상기 전자 장치(10)는 이미지 디스플레이를 위한 이미지 프로세싱을 수행하는 카메라, TV, LCD, PDP 등일 수 있고, 휴대용 컴퓨터(portable computer), 디지털 카메라(digital camera), PDA(personal digital assistance), 휴대 전화기(cellular telephone), MP3 플레이어, PMP(portable multimedia player), 차량자동항법장치(automotive navigation system) 등의 휴대용 전자 장치일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 도 1을 참조하면, 상기 전자 장치(10)는 메모리(20), 중앙 처리 장치(Central Processing Unti: CPU, 30), 시스템 버스(40) 및 이미지 프로세서(100)를 포함한다.
상기 메모리(20)는 상기 이미지 프로세서(100)가 가공할 멀디미디어 소스를 포함하는 각종 데이터를 저장하며, 상기 중앙 처리 장치(30)는 상기 전자 장치(10)의 동작에 필요한 각종 연산을 수행할 수 있다. 상기 이미지 프로세서(100)는 메모리(20)로부터 수신되는 이미지를 디스플레이 장치가 디스플레이할 수 있는 이미지로 처리하여 시스템 버스(40)를 통하여 메모리(20)로 출력하거나 디스플레이 장치로 출력할 수 있다. 상기 메모리(20), 중앙 처리 장치(30), 및 이미지 프로세서(100)는 시스템 버스(40)를 통하여 서로 연결된다.
상기 이미지 프로세서(100)는 컨트롤 블락(110), 로테이션 블락(120), 라인 버퍼 블락(130), 스케일링 블락(140), 출력 버퍼 블락(150), 출력 DMA(160), 및 디 스플레이 인터페이스(170)를 포함한다. 상기 로테이션 블락(120)은 컨트롤 블락(110)으로부터 수신되는 로테이션 정보에 기초하여 생성되는 어드레스에 기초하여 재배열된 소스 이미지의 픽셀 데이터를 메모리로부터 수신하여 출력할 수 있다.
즉, 상기 로테이션 블락(120)은 메모리(20)에 저장된 소스 이미지를 수신한 다음 내부에서 로테이션 동작을 수행하는 것이 아니라, 로테이션된 이미지에 대응하는 어드레스의 픽셀 데이터를, 즉, 로테이션된 이미지에 상응하여 재배열된 소스 이미지 어드레스에 상응하는 픽셀 데이터를, 메모리(20)로부터 직접 수신하여 라인 버퍼 블락(130)으로 출력할 수 있다. 본 발명의 실시예에 따른 이미지 프로세서(100)에서와 같이 메모리(20)로부터 로테이션된 이미지에 상응하는 픽셀 데이터를 직접 수신하는 동작 방식을 "입력 로테이션(input rotation) 방식"이라 하며, 메모리로부터 소스 이미지를 수신한 다음 내부에서 로테이션 동작을 수행하는 방식을 "출력 로테이션(output rotation) 방식"이라 한다.
상기 로테이션 블락(120)은 어드레스 발생기(122) 및 DMA(Direct Memory Access, 124)를 포함한다. 상기 어드레스 발생기(122)는 상기 로테이션 정보에 기초하여 상기 메모리(120)에 저장된 상기 소스 이미지의 픽셀 데이터를 재배열함으로써 상기 로테이션된 이미지를 생성하기 위한 어드레스를 발생할 수 있으며, 상기 DMA(124)는 상기 소스 이미지에서 상기 어드레스에 상응하는 픽셀 데이터를 페치(fetch)하여 출력할 수 있다.
시스템 버스(40)로부터 수신되는 명령에 기초하여 컨트롤 블락(110)에서 발생되는 로테이션 정보는 메모리(20)에 저장된 소스 데이터를 가공하기 위한 다양한 정보를 포함할 수 있다. 로테이션 정보는 노말(normal) 방식, 미러링(mirroring) 방식, 로테이션(rotation) 방식 각각에 대한 정보와 각 방식의 조합에 의한 정보를 포함할 수 있다. 여기서, 노말 방식이라 함은 메모리(20)를 리니어하게 스캔하여 픽셀 데이터를 출력하는 방식을 의미하고, 미러링 방식이라 함은 특정 축(예컨대, X축, Y축, 및 XY축)을 기준으로 미러링된 이미지에 맞도록 메모리(20)를 수캔하여 픽셀 데이터를 출력하는 방식을 의미하며, 로테이션 방식이라 함은 소정의 각도(예컨대, 0도, 90도, 180도, 270도)만큼 로테이션된 이미지에 맞도록 메모리(20)를 스캔하려 픽셀 데이터를 출력하는 방식을 의미한다.
상기 라인 버퍼 블락(130)은 상기 로테이션 블락(120)으로부터 출력되는 재배열된 픽셀 데이터를 임시로 저장할 수 있다. 상기 라인 버퍼 블락(130)으로 출력되는 재배열된 픽셀 데이터는 입력 로테이션 방식에 의하여 상기 메모리(20)로부터 수신된다. 도 2는 도 1의 메모리(20)에 저장된 소스 이미지와 도 1의 라인 버퍼 블락(130)에 저장된 이미지를 나타낸다. 도 2를 참조하면, 라인 버퍼 블락(130)에는 시계 방향으로 90도 회전된 이미지가 저장된 것을 알 수 있다.
즉, 라인 버퍼 블락(130)의 제1 라인 버퍼(130A)에는 소스 이미지의 제1열의 어드레스(11, 21, 31, 41)에 상응하는 픽셀 데이터가 재배열되어 저장되며, 제2 라인 버퍼(130B)에는 소스 이미지의 제2열의 어드레스(12, 22, 32, 42)에 상응하는 픽셀 데이터가 재배열되어 저장되며, 제3 라인 버퍼(130C)에는 소스 이미지의 제3열의 어드레스(13, 23, 33, 43)에 상응하는 픽셀 데이터가 재배열되어 저장되며, 제4 라인 버퍼(130D)에는 소스 이미지의 제4열의 어드레스(14, 24, 34, 44)에 상응 하는 픽셀 데이터가 재배열되어 저장된다. 참고로, 소스 이미지 및 라인 버퍼(130)의 숫자는 픽셀 데이터의 어드레스를 나타낸다.
상기 라인 버퍼 블락(130)은 상기 재배열된 픽셀 데이터를 저장하기 위한 다수의 라인 버퍼들을 포함할 수 있다. 상기 라인 버퍼들 각각은 상기 이미지 프로세서(100)가 지원하는 최대 크기의 이미지의 하나의 라인에 상응하는 크기를 가질 수 있다. 이는 라인 버퍼들 각각에는 이미지 프로세서(100)에 의하여 출력될 수 있는 최대 크기의 이미지의 하나의 라인에 상응하는 픽셀 데이터가 저장될 수 있음을 의미한다.
상기 라인 버퍼 블락(130)은 서큘러 큐(circular queue) 방식으로 상기 다수의 라인 버퍼들에 저장된 상기 재배열된 픽셀 데이터를 순차적으로 출력할 수 있다. 즉, 상기 로테이션 블락(120)으로부터 출력되는 상기 재배열된 픽셀 데이터는 서큘러 큐 방식에 따른 순환 방식으로 상기 라인 버퍼 블락(130)에 저장될 수 있다. 서큘러 큐 방식으로 픽셀 데이터를 출력하는 라인 버퍼 블락(130)의 동작은 이하에서 도 3을 참조하여 구체적으로 살펴본다. 도 3은 본 발명의 실시예에 따른 이미지 프로세서(100)의 라인 버퍼 블락(130)에서의 픽셀 데이터 입출력 과정을 나타낸다.
도 3을 참조하면, 상기 라인 버퍼 블락(130)에서는 포인터(TOP POINTER)가 이동함에 따라서 라인 버퍼에 저장된 데이터가 순차적으로 출력되며, 픽셀 데이터가 출력된 라인 버퍼에는 다음 픽셀 데이터가 순차적으로 입력되는 것을 알 수 있다. 도 3을 좀더 구체적으로 살펴보면, (a) 단계에서 포인터가 위치하는 제1 버 퍼(130A)의 데이터(DATA1)가 출력된다. (b) 단계에서 픽셀 데이터가 출력된 제1 라인 버퍼(130A)에는 다음 픽셀 데이터(DATA5)가 입력되고 포인터가 제2 라인 버퍼(130B)로 이동함으로써 제2 라인 버퍼(130B)의 데이터(DATA2)가 출력된다. (c) 단계에서 픽셀 데이터가 출력된 제2 라인 버퍼(130B)에는 다음 픽셀 데이터(DATA6)가 입력되고 포인터가 제3 라인 버퍼(130C)로 이동함으로써 제3 라인 버퍼(130C)의 픽셀 데이터(DATA3)가 출력된다. 다음 단계에서의 픽셀 데이터의 입출력 과정은 상술한 바와 유사하게 진행된다.
도 4는 본 발명의 비교예에 따른 이미지 프로세서의 라인 버퍼 블락(130')에서의 픽셀 데이터 입출력 과정을 나타낸다. 도 4에 도시된 라인 버퍼 블락의 픽셀 데이터 입출력 방식은 쉬프팅(shifting) 방식에 의한 방식이다.
도 4를 참조하면, 라인 버퍼 블락(130')에서 탑 포인터(TOP POINTER)와 바텀 포인터(BOTTOM POINTER)는 항상 제1 라인 버퍼(130A) 및 제4 라인 버퍼(130D)에 위치하며, 픽셀 데이터를 출력하는 라인 버퍼는 항상 탑 포인터가 위치하는 제1 라인 버퍼임을 알 수 있다. 도 4를 좀더 구체적으로 살펴보면, (a) 단계에서 탑 포인터가 위치하는 제1 라인 버퍼(130A)의 픽셀 데이터(DATA1)가 출력된다. (b) 단계에서 라인 버퍼 블락(130')에 저장된 픽셀 데이터들은 탑 포인터 방향으로 인접한 라인 버퍼로 쉬프팅되고, 탑 포인터가 위치한 제1 라인 버퍼(130A)의 픽셀 데이터(DATA2)가 출력되며, 바텀 포인터가 위치하는 제4 라인 버퍼(130D)에는 다음 픽셀 데이터(DATA5)가 입력된다. (c) 단계에서 라인 버퍼 블락(130')에 저장된 픽셀 데이터들은 탑 포인터 방향으로 인접한 라인 버퍼로 쉬프팅되고, 탑 포인터가 위치 한 제1 라인 버퍼(130A)의 픽셀 데이터(DATA3)가 출력되며, 바텀 포인터가 위치하는 제4 라인 버퍼(130D)에는 다음 픽셀 데이터(DATA6)가 입력된다. 다음 단계에서의 픽셀 데이터의 입출력 과정은 상술한 바와 유사하게 진행된다.
본 발명의 실시예에 따른 이미지 프로세서(100)의 라인 버퍼 블락(130)에서의 픽셀 데이터 입출력 방식인 서큘러 큐 방식은 각 단계에서 하나의 픽셀 데이터 출력 동작과 하나의 픽셀 데이터 입력 동작이 수행된다. 그러나 쉬프팅 방식에 의하면 각 단계에서는 3개의 픽셀 데이터에 대한 쉬프팅 동작과 하나의 픽셀 데이터 입력 동작이 수행된다. 그러므로 서큘러 큐 방식의 픽셀 데이터 입출력 동작을 수행하는 본 발명의 실시예에 따른 이미지 프로세서(100)는 쉬프팅 방식의 픽셀 데이터 입출력 동작을 수행하는 이미지 프로세서에 비하여 그 동작이 간단하며 전력 소모도 더 적다.
스케일링 블락(140)은 라인 버퍼 블락(130)으로부터 출력되는 재배열된 픽셀 데이터를 수평 및 수직 방향으로 스케일링할 수 있다. 본 발명의 실시예에 따른 이미지 프로세서(100)에서 스케일링 블락(140)은 입력 로테이션 방식으로 라인 버퍼 블락(130)에 저장되어 출력되는 픽셀 데이터에 대하여 직접적인 스케일링 동작을 수행함으로써 로테이션 블락(120)과 라인 버퍼를 공유한다. 그러므로 본 발명의 실시예에 따른 이미지 프로세서(100)는 로테이터와 스케일러 각각이 라인 버퍼를 갖는 종래의 라인 버퍼에 비하여 칩 사이즈가 작고, 전력 소모도 더 적다.
출력 버퍼 블락(150)은 스케일링 블락(140)으로부터 출력되는 픽셀 데이터를 버퍼링한다. 출력 DMA(160)는 출력 버퍼 블락(150)에 의하여 버퍼링된 픽셀 데이 터(즉, 로테인션된 이미지)를 시스템 버스(40)를 통하여 메모리(20)로 출력할 수 있다. 그러면 메모리(20)는 로테이션된 이미지를 저장할 수 있다. 디스플레이 인터페이스(170)는 출력 버퍼 블락(150)으로부터 출력되는 픽셀 데이터(즉, 디스플레이 장치의 해상도에 맞게 가공된 이미지)를 수신하여 디스플레이 장치로 출력할 수 있다.
도 5는 입력 로테이션 방식을 이용하는 본 발명의 실시예에 따른 이미지 프로세서(100)의 이미지 로테이션 과정을 나타낸다. 도 6은 출력 로테이션 방식을 이용하는 본 발명의 비교예에 따른 이미지 프로세서의 이미지 로테이션 과정을 나타낸다. 참고로, 도 5 및 도 6은 라인 버퍼 블락의 용량이 메모리에 저장된 소스 이미지의 이분의 일로 가정한 것이다.
도 5의 이미지 프로세서(100)는 입력 로테이션 방식에 의하여 시계 방향으로 90도 로테이션된 소스 이미지의 좌측 부분에 상응하는 픽셀 데이터를 수신한 다음 시계 방향으로 90도 로테이션된 소스이미지의 우측 부분에 상응하는 픽셀 데이터를 수신한다. 그러나 도 6의 이미지 프로세서는 출력 로테이션 방식을 이용하므로 먼저 메모리에 저장된 소스 이미지 전부를 수신한 다음 소스 이미지의 좌측 부분의 픽셀 데이터를 시계 방향으로 90도 로테이션하고 소스 이미지의 좌측 부분의 픽셀 데이터를 시계 방향으로 90도 로테이션한다.
그러므로 도 6의 이미지 프로세서는 소스 이미지 전부를 저장할 수 있는 저장 공간이 없으면 메모리(20)에 저장된 소스 이미지 실시간으로 로테이션하여 디스플레이 장치로 제공할 수 없다. 다만, 도 6의 이미지 프로세서는 소스 이미지 전부 를 저장할 수 있는 저장 공간이 없더라도 소스 이미지를 로테이션하여 메모리에 저장할 수는 있다. 그러나 본 발명의 실시예에 따른 이미지 프로세서(100)는 소스 이미지를 실시간으로 로테이션하여 출력하는 경우에도 출력 로테이션 방식을 이용하는 이미지 프로세서와는 달리 가공하고자 하는 소스 이미지 전부를 수신하기 위한 저장 공간을 필요로 하지 않는다.
본 발명의 실시예에 따른 이미지 프로세서(100)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명의 실시예에 따른 이미지 프로세서(100)는 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) 등과 같은 패키지들을 이용하여 실장될 수 있다.
도 7은 본 발명의 실시예에 따른 이미지 프로세싱 방법을 나타내는 흐름도이다. 이하, 도 1 및 도 7을 참조하여 그 과정을 순차적으로 살펴본다.
이미지 프로세서(100)의 컨트롤 블락(110)은 시스템 버스(40)로부터 수신되는 명령에 기초하여 메모리(20)에 저장된 소스 이미지를 가공하기 위한 로테이션 정보를 발생하며, 로테이션 블락(120)의 어드레스 발생기(122)는 상기 로테이션 정보에 기초하여 로테이션된 이미지에 상응하여 상기 소스 이미지의 픽셀 데이터를 재배열하기 위한 어드레스를 발생한다(S70).
그러면 DMA(124)는 상기 어드레스에 응답하여 상기 소스 이미지의 픽셀 데이터 중에서 상기 어드레스에 상응하여 재배열된 픽셀 데이터를 페치(fetch)하여 출력한다(S71). 이는 입력 로테이션 방식에 의하여 로테이션된 이미지에 상응하는 픽셀 데이터를 직접 메모리(20)로부터 수신하는 것을 의미한다.
다음으로 라인 버퍼 블락(130)은 상기 DMA(124)로부터 출력되는 재배열된 픽셀 데이터를 임시로 저장하여, 서큘러 큐 방식에 의하여 재배열된 픽셀 데이터를 출력하며(S73), 스케일링 블락(140)은 라인 버퍼 블락(130)로부터 출력되는 재배열된 픽셀 데이터에 대한 수평 및 수직 방향에 대한 스케일링 동작을 수행한다(S73).
본 발명의 실시예에 따른 이미지 프로세싱 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 본 발명의 실시예에 따른 이미지 프로세싱 방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장된 상기 이미지 프로세싱 방법을 실행하기 위한 컴퓨터 프로그램을 실행함으로써 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명의 실시예에 따 른 이미지 프로세싱 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명의 실시예에 따른 이미지 프로세싱 방법을 구현하기 위한 기능적인 (functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시예에 따른 이미지 프로세서를 포함하는 전자 장치의 블락도이다.
도 2는 도 1의 메모리에 저장된 소스 이미지와 도 1의 라인 버퍼 블락에 저장된 이미지를 나타낸다.
도 3은 본 발명의 실시예에 따른 이미지 프로세서의 라인 버퍼 블락에서의 픽셀 데이터 입출력 과정을 나타낸다.
도 4는 본 발명의 비교예에 따른 이미지 프로세서의 라인 버퍼 블락에서의 픽셀 데이터 입출력 과정을 나타낸다.
도 5는 입력 로테이션 방식을 이용하는 본 발명의 실시예에 따른 이미지 프로세서의 이미지 로테이션 과정을 나타낸다.
도 6은 출력 로테이션 방식을 이용하는 본 발명의 비교예에 따른 이미지 프로세서의 이미지 로테이션 과정을 나타낸다.
도 7은 본 발명의 실시예에 따른 이미지 프로세싱 방법을 나타내는 흐름도이다.

Claims (10)

  1. 로테이션 정보에 기초하여 생성되는 어드레스에 기초하여 재배열된 소스 이미지의 픽셀 데이터를 메모리로부터 수신하여 출력하는 로테이션 블락;
    상기 로테이션 블락으로부터 출력되는 재배열된 픽셀 데이터를 임시로 저장하는 라인 버퍼 블락; 및
    상기 라인 버퍼 블락으로부터 출력되는 재배열된 픽셀 데이터를 수평 및 수직 방향으로 스케일링하는 스케일링 블락을 포함하는 이미지 프로세서.
  2. 제1항에 있어서, 상기 로테이션 블락은
    상기 로테이션 정보에 기초하여 상기 메모리에 저장된 상기 소스 이미지의 픽셀 데이터를 재배열함으로써 상기 로테이션된 이미지를 생성하기 위한 어드레스를 발생하는 어드레스 발생기; 및
    상기 소스 이미지에서 상기 어드레스에 상응하는 픽셀 데이터를 페치(fetch)하여 출력하는 DMA(Direct Memory Access)를 포함하는 이미지 프로세서.
  3. 제1항에 있어서, 상기 로테이션 정보는
    상기 소스 이미지를 리니어(linear)하게 출력하는 정보, 상기 소스 이미지를 특정 각도로 로테이션하는 정보, 상기 소스 이미지를 특정 축을 기준으로 미러링(mirroring)하는 정보 중 적어도 하나를 포함하는 이미지 프로세서.
  4. 제1항에 있어서, 상기 라인 버퍼 블락은
    다수의 라인 버퍼들을 포함하며, 서큘러 큐(circular queue) 방식으로 상기 다수의 라인 버퍼들에 저장된 상기 재배열된 픽셀 데이터를 순차적으로 출력하는 이미지 프로세서.
  5. 제4항에 있어서, 상기 라인 버퍼들 각각은
    상기 이미지 프로세서가 지원하는 최대 크기의 이미지의 하나의 라인에 상응하는 크기를 갖는 이미지 프로세서.
  6. 제1항에서, 상기 로테이션 블락으로부터 출력되는
    상기 재배열된 픽셀 데이터는 서큘러 큐 방식에 따른 순환 방식으로 상기 라인 버퍼 블락에 저장되는 이미지 프로세서.
  7. 로테이션 정보에 기초하여 생성되는 어드레스에 기초하여 재배열된 소스 이미지의 픽셀 데이터를 메모리로부터 수신하여 출력하는 로테이션 블락;
    상기 재배열된 픽셀 데이터를 저장하는 다수의 라인 버퍼들을 포함하며, 서큘러 큐(circular queue) 방식으로 상기 다수의 라인 버퍼들에 저장된 상기 재배열된 픽셀 데이터를 순차적으로 출력하는 라인 버퍼 블락; 및
    상기 라인 버퍼 블락으로부터 출력되는 재배열된 픽셀 데이터를 수평 및 수 직 방향으로 스케일링하는 스케일링 블락을 포함하며,
    상기 로테이션 블락은
    상기 로테이션 정보에 기초하여 상기 메모리에 저장된 상기 소스 이미지의 픽셀 데이터를 재배열함으로써 상기 로테이션된 이미지를 생성하기 위한 어드레스를 발생하는 어드레스 발생기; 및
    상기 소스 이미지에서 상기 어드레스에 상응하는 픽셀 데이터를 페치(fetch)하여 출력하는 DMA(Direct Memory Access)를 포함하는 이미지 프로세서.
  8. 제7항에 있어서, 상기 로테이션 정보는
    상기 소스 이미지를 리니어(linear)하게 출력하는 정보, 상기 소스 이미지를 특정 각도로 로테이션하는 정보, 상기 소스 이미지를 특정 축을 기준으로 미러링(mirroring)하는 정보 중 적어도 하나를 포함하는 이미지 프로세서.
  9. 제7항에 있어서, 상기 라인 버퍼들 각각은
    상기 이미지 프로세서가 지원하는 최대 크기의 이미지의 하나의 라인에 상응하는 크기를 갖는 이미지 프로세서.
  10. 제1항 또는 제7항에 기재된 이미지 프로세서를 포함하는 전자 장치.
KR1020090105513A 2009-11-03 2009-11-03 이미지 프로세서 및 이를 포함하는 전자 장치 KR20110048794A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090105513A KR20110048794A (ko) 2009-11-03 2009-11-03 이미지 프로세서 및 이를 포함하는 전자 장치
US12/908,465 US20110102465A1 (en) 2009-11-03 2010-10-20 Image processor, electronic device including the same, and image processing method
JP2010245472A JP2011100453A (ja) 2009-11-03 2010-11-01 イメージプロセッサ及びそれを含む電子装置及びイメージプロセッシング方法
CN2010105308307A CN102054264A (zh) 2009-11-03 2010-11-02 图像处理器和电子装置以及图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090105513A KR20110048794A (ko) 2009-11-03 2009-11-03 이미지 프로세서 및 이를 포함하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20110048794A true KR20110048794A (ko) 2011-05-12

Family

ID=43924950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090105513A KR20110048794A (ko) 2009-11-03 2009-11-03 이미지 프로세서 및 이를 포함하는 전자 장치

Country Status (4)

Country Link
US (1) US20110102465A1 (ko)
JP (1) JP2011100453A (ko)
KR (1) KR20110048794A (ko)
CN (1) CN102054264A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160107013A (ko) * 2015-03-03 2016-09-13 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
KR102107077B1 (ko) * 2018-11-20 2020-05-06 주식회사 아나패스 컨볼루션 신경망 추론에서 컨볼루션 연산을 수행하기 위한 라인 단위 메모리 관리 방법 및 그 추론 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831571B (zh) * 2011-07-08 2014-10-22 图芯芯片技术(上海)有限公司 用流水线方式单步实现图形图像缩放、旋转的5阶滤波器的设计方法
CN103679630A (zh) * 2012-09-03 2014-03-26 三星电子(中国)研发中心 一种视频旋转方法
US9148571B2 (en) * 2012-09-14 2015-09-29 Apple Inc. Image distortion correction in scaling circuit
KR102114233B1 (ko) 2013-12-13 2020-05-25 삼성전자 주식회사 영상 처리 장치
KR102317789B1 (ko) 2015-02-12 2021-10-26 삼성전자주식회사 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
CN108399604B (zh) * 2018-03-07 2021-08-10 杭州朔天科技有限公司 一种在打印机SoC芯片上支持大尺寸图片旋转的方法
CN110191298B (zh) * 2019-04-17 2022-05-17 广州虎牙信息科技有限公司 移动终端及其录屏中的视频旋转方法、计算机存储介质
US20230245265A1 (en) * 2022-01-31 2023-08-03 Texas Instruments Incorporated Methods and apparatus to warp images for video processing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6801674B1 (en) * 2001-08-30 2004-10-05 Xilinx, Inc. Real-time image resizing and rotation with line buffers
CN100356405C (zh) * 2005-03-28 2007-12-19 北京中星微电子有限公司 一种改变数字图像尺寸的方法及装置
JP4201031B2 (ja) * 2006-07-27 2008-12-24 村田機械株式会社 画像処理装置
US20080226164A1 (en) * 2007-03-12 2008-09-18 Seiko Epson Corporation Image data decoding device, image data encoding device, image processing device, and electronic instrument
CN101599260B (zh) * 2008-06-02 2011-12-21 慧国(上海)软件科技有限公司 共享硬件进行影像放大或缩小的方法及装置
US20100046630A1 (en) * 2008-08-22 2010-02-25 Fu-Chung Chi Apparatus and method for video processing
CN101996550A (zh) * 2009-08-06 2011-03-30 株式会社东芝 用于显示图像的半导体集成电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160107013A (ko) * 2015-03-03 2016-09-13 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
KR102107077B1 (ko) * 2018-11-20 2020-05-06 주식회사 아나패스 컨볼루션 신경망 추론에서 컨볼루션 연산을 수행하기 위한 라인 단위 메모리 관리 방법 및 그 추론 장치

Also Published As

Publication number Publication date
JP2011100453A (ja) 2011-05-19
CN102054264A (zh) 2011-05-11
US20110102465A1 (en) 2011-05-05

Similar Documents

Publication Publication Date Title
KR20110048794A (ko) 이미지 프로세서 및 이를 포함하는 전자 장치
CN109388595B (zh) 高带宽存储器***以及逻辑管芯
CN107204023B (zh) 避免绘制在canvas画布中的图形失真的方法和装置
KR101952983B1 (ko) 콘텐트의 타일-기반 렌더링을 위한 방법 및 콘텐트를 렌더링하기 위한 시스템
US9818170B2 (en) Processing unaligned block transfer operations
TWI582751B (zh) 避免發送未改變區域至顯示器之技術
CN116917927A (zh) 用于机器学习工作负载中张量对象支持的方法和装置
KR101558069B1 (ko) 범용 그래픽스 프로세싱 유닛에서의 컴퓨테이션 리소스 파이프라이닝
KR102155479B1 (ko) 반도체 장치
CN111798545A (zh) 骨骼动画的播放方法、装置、电子设备和可读存储介质
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
US20140253598A1 (en) Generating scaled images simultaneously using an original image
CN107301220B (zh) 数据驱动视图的方法、装置、设备及存储介质
US6919908B2 (en) Method and apparatus for graphics processing in a handheld device
US20200364926A1 (en) Methods and apparatus for adaptive object space shading
US9710509B2 (en) Image decoding method and apparatus for browser
US20200311859A1 (en) Methods and apparatus for improving gpu pipeline utilization
US20120206450A1 (en) 3d format conversion systems and methods
US5966142A (en) Optimized FIFO memory
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
CN116909511A (zh) 提升gpu双缓冲显示效率的方法、装置及存储介质
CN111199569A (zh) 数据处理的方法、装置、电子设备及计算机可读介质
EP3474224B1 (en) Graphics processing method and device
US10152766B2 (en) Image processor, method, and chipset for increasing intergration and performance of image processing
CN114969409A (zh) 一种图像显示方法、装置及可读介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application