KR100804898B1 - 이미지 회전을 위한 방법 및 장치 - Google Patents

이미지 회전을 위한 방법 및 장치

Info

Publication number
KR100804898B1
KR100804898B1 KR1020060060304A KR20060060304A KR100804898B1 KR 100804898 B1 KR100804898 B1 KR 100804898B1 KR 1020060060304 A KR1020060060304 A KR 1020060060304A KR 20060060304 A KR20060060304 A KR 20060060304A KR 100804898 B1 KR100804898 B1 KR 100804898B1
Authority
KR
South Korea
Prior art keywords
image
memory
data
matrix
row
Prior art date
Application number
KR1020060060304A
Other languages
English (en)
Other versions
KR20070013205A (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 세이코 엡슨 가부시키가이샤
Publication of KR20070013205A publication Critical patent/KR20070013205A/ko
Application granted granted Critical
Publication of KR100804898B1 publication Critical patent/KR100804898B1/ko

Links

Classifications

    • 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/38Control 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 with means for controlling the display position
    • 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/363Graphics controllers
    • 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
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 이미지의 효율적 회전을 위한 방법 및 장치에 관한 것이다. 이미지는 바람직하게는 상기 이미지의 각각의 데이터가 이미지 매트릭스의 특정 이미지 행 및 특정 이미지 열에 대응하는 이미지 매트릭스에 의해 지정된다. 양호한 방법은 각각의 데이터가 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스로 매핑되는 단계를 포함한다. 매핑 단계는 바람직하게는 (a) 양쪽이 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및 (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 단계를 포함한다. 또한, 바람직하게는 제1 이미지 벡터 부분의 적어도 2개의 데이터 및 제2 이미지 벡터 부분의 적어도 2개의 다른 데이터 각각은 동일 이미지 행에 대응한다.

Description

이미지 회전을 위한 방법 및 장치{METHOD AND APPARATUS FOR EFFICIENT IMAGE ROTATION}
본 발명은 그래픽스 디스플레이 시스템의 효율적 회전을 위한 방법 및 장치에 관한 것이다. 특히, 데이터가 이미지의 회전 및 비회전 양쪽에 대해 효율적으로 페치(fetch)될 수 있도록 메모리내에 이미지 데이터를 조직화(organize)하기 위한 방법 및 장치에 관한 것이다.
그래픽스 디스플레이 시스템, 특히, 휴대폰 또는 셀룰러 폰과 같은 염가의 휴대용 배터리 동력 디지털 기기("휴대형 정보 단말기")는 하나 이상의 이미지 데이터의 프로바이더와 LCD 패널 또는 패널들과 같은 그래픽스 디스플레이 장치 사이의 인터페이스로서 그래픽스 제어기를 채용한다. 이미지 데이터의 프로바이더는 일반적으로는 CPU와 같은 호스트 및 카메라이다. 호스트 및 카메라는 디스플레이 장치상의 궁극적 디스플레이를 위해 그래픽스 제어기에 이미지 데이터를 전송한다. 디스플레이 장치는 디스플레이 영역상에 디지털 이미지 데이터의 픽셀("픽셀 데이터")을 디스플레이한다. 호스트는 또한 그래픽스 제어기 및 카메라 모두에 제어 데이터를 전송하여 이들 장치의 동작을 제어한다. 일반적으로, 그래픽스 제어기는 별개의 집적 회로("IC")이며, 그래픽스 제어기, 호스트 및 카메라는 모두 서로간에 이격되어 있다.
그래픽스 제어기는 호스트 및 카메라로부터 수신된 이미지 데이터를 처리하기 위한 다양한 처리 조건을 제공한다. 예를 들면, 그래픽스 제어기는 입력 또는 출력 이미지 데이터를 압축 또는 압축해제, 예를 들면 JPEG 인코드 또는 디코드하고, 이미지 데이터를 크롭하고(crop), 이미지 데이터를 리사이즈하고(resize), 이미지 데이터를 스케일링하고(scale), 다양한 컬러 변환 방식 중 하나에 따라 이미지 데이터의 컬러 변환을 한다.
그래픽스 제어기는 종종 이미지 데이터 소스로부터 수신된 이미지를 저장하기 위하여 내장 메모리를 포함한다. 또한, 이미지 데이터 소스로부터 수신된 이미지 데이터를 저장하기 위한 메모리는 그래픽스 제어기 IC와는 별개의 IC에 위치될 수 있다. 이미지 데이터는 메모리의 프레임 버퍼부내에 저장되어, 순차적으로 페칭 및 디스플레이 장치로 전송한다. 또한, 메모리내에 저장되기 이전에 데이터에 대해 이미지 프로세싱 동작이 수행되거나, 또는 이미지 프로세싱 동작을 위해 메모리로부터 데이터가 페치되고 다음으로 디스플레이 장치로 전송되거나 메모리내에 재저장될 수 있다. 메모리는 행 및 열을 갖는 2차원 매트릭스로 구성될 수 있다. 메모리내의 주어진 행 및 열에 저장된 픽셀 데이터는 디스플레이 장치의 대응하는 행 및 열로 매핑된다. 일반적으로, 메모리는 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM) 또는 SRAM(Static RAM)이다. SRAM은 DRAM 및 SDRAM 보다 빠르나, 더 고가이다. 따라서, DRAM 및 SDRAM이 이미지 데이터 저장용으로 주로 채용된다.
DRAM 및 SDRAM은 리키지로 인하여 주기적으로 재충전 또는 리플레시되어야 하는 커패시터 상에 데이터를 저장한다. DRAM 및 SDRAM에 있어서, 메모리 위치가 억세스되기 이전에 RAS(row address select) 및 "프리차지" 사이클이 필요하다. RAS 및 프리차지 사이클이 완료된 이후에, 데이터는 주어진 시작점으로부터의 행내의 열을 순차적으로 통과하는 "버스트 모드"로 행에 기록 및 판독을 할 수 있다. DRAM 내의 전체 행은 다르게는 "페이지"로 칭한다.
통상, 호스트 및 카메라는 이미지 데이터를 래스터 스캔 순서 즉, 위에서 아래로의 라인에서 일측에서 타측으로 제공되는 순서로, 그래픽스 제어기에 제공한다. 래스터 순서화된 픽셀 데이터는 또한 일반적으로 순차적으로 메모리 위치내에 저장되며, 이 순서는 메모리의 후속 행에서의 일측에서 타측으로 저장된다. 또한, 픽셀 데이터는 일반적으로 디스플레이 장치로의 프로세싱 또는 전송을 위해 래스터 순서로 페치된다. 래스터 순서로 저장하기 위해 제공되며 메모리의 순차 행에서 일측에서 타측으로 저장되는 이미지 데이터를 래스터 순서로 페칭하는 것은 효과적이다. 그 이유는 데이터는 한 번에 일 행씩 버스트 모드로 페치될 수 있기 때문이다.
그러나, 그래픽스 디스플레이 시스템은 통상 이미지 회전을 고려한다. 이미지가 래스터 순서로 메모리내에 저장된다면, 이미지가 회전된 경우에는, 이미지 데이터는 저장된 것과는 다른 순서로 페치되어야 한다. 회전된 이미지의 단일 라인을 디스플레이에 기록하기 위해서는, 픽셀 데이터는 메모리의 다수의 상이한 행들로부터 페치되어야 한다. 일반적으로, DRAM 또는 SDRAM에서 각각의 페이지 변화가 RAS 및 프라차지 사이클을 필요로 하므로, 이미지 회전은 DRAM 메모리를 이용하는 경우에 데이터 페치의 효율을 현저하게 감소시킨다.
그러므로, 그래픽스 디스플레이 시스템에 있어서 이미지의 효율적인 회전을 위한 방법 및 장치가 필요하다.
본 발명은 일반적으로 이미지의 효율적 회전을 위한 방법 및 장치에 관한 것이다. 이미지는 바람직하게는 상기 이미지의 각각의 데이터가 이미지 매트릭스의 특정 이미지 행 및 특정 이미지 열에 대응하는, 이미지 매트릭스에 의해 지정된다. 양호한 방법은 각각의 데이터가 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스로 매핑되는 단계를 포함한다. 매핑 단계는 바람직하게는 (a) 양쪽이 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및 (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 단계를 포함한다. 또한, 바람직하게는 제1 이미지 벡터 부분의 적어도 2개의 데이터 및 제2 이미지 벡터 부분의 적어도 2개의 다른 데이터 각각은 동일 이미지 행에 대응한다.
이미지의 효율적 회전을 위해 제공되는 바람직한 그래픽스 제어기는 복수개의 메모리 행 및 복수개의 메모리 열로 구성된 메모리와 메모리 저장 방식 제어기를 포함한다. 메모리 저장 방식 제어기는 특별 매핑 방식에 따라 각각의 데이터를 메모리 매트릭스에 매핑하게 된다. 메모리 매트릭스는 바람직하게는 복수개의 메모리 행 및 복수개의 메모리 열로 구성되며, 매핑 방식은 (a) 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및 (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 것을 포함한다. 또한, 바람직하게는 제1 이미지 벡터 부분의 적어도 2개의 데이터 및 제2 이미지 벡터 부분의 적어도 2개의 다른 데이터 각각은 동일 이미지 행에 대응한다.
이미지의 효율적 회전을 위해 제공되는 그래픽스 디스플레이 시스템은 데이터를 제공하기 위한 이미지 프로바이더; 데이터를 랜더링하기 위한 그래픽스 디스플레이 장치; 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리; 및 그래픽스 제어기를 포함한다. 바람직하게는, 그래픽스 제어기는 데이터 각각을 특정 매핑 방식에 따라 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스에 매핑하는 메모리 저장 방식 제어기를 포함한다. 메모리 매트릭스는 바람직하게는 복수개의 메모리 행 및 복수개의 메모리 열로 구성되며, 상기 매핑 방식은 (a) 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및 (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 것을 포함한다. 바람직한 실시예에서, 이미지 프로바이더 및 디스플레이 장치는 그래픽스 제어기로부터 떨어져있다. 또한, 바람직하게는 제1 이미지 벡터 부분의 적어도 2개의 데이터 및 제2 이미지 벡터 부분의 적어도 2개의 다른 데이터 각각은 동일 이미지 행에 대응한다.
바람직한 실시예에서, 본 발명은 기계에 의해 실행되는 명령 프로그램을 구현하는 기계가 판독 가능한 매체에 관한 것으로서, 이 명령 프로그램은 이미지의 효율적 회전을 위해 제공되는 방법을 채용한다. 바람직하게는, 매체로 구현된 방법은 복수개의 메모리 행 및 복수개의 메모리 열로 구성된 메모리 매트픽스에 데이터 각각을 매핑하는 것을 포함한다. 매핑은 바람직하게는 (a) 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및 (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑하는 것을 포함한다. 또한, 바람직하게는 제1 이미지 벡터 부분의 적어도 2개의 데이터 및 제2 이미지 벡터 부분의 적어도 2개의 다른 데이터 각각은 동일 이미지 행에 대응한다.
이 요약은 이하의 도면 및 상세한 설명에 대한 것을 일반적으로 결정하기 위해 제공되며, 본 발명의 범위를 제한하려는 의도는 아니다. 본 발명이 목적, 특징 및 이점은 첨부된 도면과 결부되어 설명되는 이하의 상세한 설명을 고려하여 이해되어야 할 것이다.
양호한 실시예는 그래픽스 디스플레이 시스템에서의 이미지의 효율적 회전을 위한 방법 및 장치에 관한 것이다. 또한, 본 발명에 따른 방법 및 장치는 양호하게는 그래픽스 제어기로서 구현된다. 이하 본 발명의 특정한 양호한 실시예를 상세히 설명하며, 그 예들은 첨부된 도면에 도시된다. 가능하다면, 동일 또는 유사 부분을 참조하도록 동일 참조 번호가 도면 및 상세한 설명에서 이용된다.
양호한 실시예에 따른 그래픽스 제어기는 양호하게는 호스트 또는 카메라와 같은 적어도 하나의 이미지 데이터 프로바이더 및 그래픽스 디스플레이 장치를 포함한다. 양호하게는, 그래픽스 제어기는 시스템의 나머지 구성 요소와는 별개의 IC이다. 나머지 구성 요소는 그래픽스 제어기로부터 "원격"이라 칭한다.
양호한 그래픽스 디스플레이 제어기는 이동 전화, 휴대형 디지털 뮤직 플레이어, 및 PDA와 같은 휴대형 디지털 응용 장치에 이용할 때 유리하다. 그러나, RAS 및 프리차지 사이클이 필요하기 때문에 또는 다른 고려 사항 등으로 인하여, 일 행내의 복수개의 저장 위치에 억세스하는 것이 상이한 행들내의 동일 수의 저장 위치에 억세스하는 것에 비해 보다 효율적이라는 본 발명의 원리는 DRAM, SDRAM 또는 다른 메모리를 채용하는 어떠한 시스템에도 채용될 수 있다. 또한, 본 발명의 특정 양호한 실시예가 본 명세서에 일부 상세히 설명되었지만, 별도의 언급이 없다면 본 발명이 이 문맥들 자체로 제한되어야 함을 의도하는 것은 아니다.
도 1은 본 발명의 하나의 양호한 실시예에 따른 그래픽스 제어기(10)를 포함하는 그래픽스 디스플레이 시스템(8)을 도시한다. 시스템(8)은 임의의 디지털 시스템 또는 응용 장치이다. 시스템(8)이 휴대용 디지털 응용 장치인 경우, 일반적으로 배터리(도시 없음)가 동력원이다. 시스템(8)은 일반적으로 호스트(12) 및 그래픽스 디스플레이 장치(14) 및 하나 이상의 카메라 모듈("카메라")(15)을 포함한다. 그래픽스 제어기(10)는 호스트 및 카메라와 디스플레이 장치를 인터페이스한다. 그래픽스 제어기(10)는 일반적으로 바람직하게는 호스트 및 카메라와 디스플레이 장치로부터 떨어져 있다.
호스트(12)는 일반적으로는 마이크로프로세서이나, 디지털 회로를 제어할 수 있는 디지털 신호 처리기, 컴퓨터 또는 다른 유형의 제어 장치일 수 있다. 호스트(12)는 그래픽스 제어기(10)내의 호스트 인터페이스(12a)로 향하는 버스(16)를 통해 그래픽스 제어기(10)와 통신한다.
디스플레이 장치(14)는 대응하는 디스플레이 영역(18)을 갖는 하나 이상의 디스플레이 패널(14a)을 갖는다. 그래픽스 제어기는 디스플레이 장치 버스(22)를 통해 그래픽스 제어기와 디스플레이 장치 사이를 인터페이스 하기 위한 디스플레이 장치 인터페이스(20)를 포함한다. LCD가 이동 전화기의 일반적 디스플레이 장치로 이용되나, 픽셀 데이터를 가시적으로 인지 가능한 형태로 랜더링할 수 있는 장치라면 어떤 것도 가능하다. 하나 이상의 디스플레이 패널(14a)이 그 디스플레이 영역에 픽셀 데이터를 디스플레이하기 위해 채용된다.
픽셀 데이터는 이미지 "프레임"에 대응한다. 예를 들면, 단일 이미지 프레임은 64개의 픽셀 라인을 가지며, 각각의 라인은 128 픽셀을 포함한다. 프레임은 일반적으로 디스플레이 장치(14)에서 보여지는 단일 이미지에 대응한다. 픽셀 데이터는 일반적으로 래스터 순서로 카메라(15)로부터 스트림된다. 특정 행의 픽셀 데이터는 서로 그룹화되어, 순차 행에 대응하는 임의의 픽셀 데이터가 스트림 되기 이전에 특정 행에 대응하는 전체 픽셀 데이터가 스트림된다. 따라서, 행 및 프레임은 순차적으로 그래픽스 제어기(10)에 의해 수신된다.
그래픽스 제어기는 카메라(15)로부터 버스(19)의 DATA 라인을 통해 수직 및 수평 동기화 신호("VSYNC" 및 "HSYNC")를 따른 픽셀 데이터 출력을 수신하기 위한 병렬 "데이터" 인터페이스(17)를 갖는다. 카메라 클럭 신호(CAMCLK)는 카메라로부터 픽셀 데이터를 클럭하기 위하여 그래픽스 제어기에 의해 카메라에 제공된다. 픽셀 데이터의 프레임은 VSYNC 신호에 의해 분리된다.
다수의 이미지 프로세싱 동작이 카메라(15)에 의해 제공된 데이터에 대해 수행된다. 그러한 이미지 프로세싱 동작은 일반적으로 도 1의 19로서 표시된 이미지 프로세싱 유닛에 의해 수행된다. 이미지 프로세싱 모듈(19)은 특별한 예로서, 이미지 데이터를 압축 및 압축해제하기 위한 CODEC 및 데이터를 스케일링하고 크롭하기 위한 리사이저(resizer)를 포함할 수 있다.
또한, 이미지 프로세싱 모듈(19)은 컬러 포맷 변환기("CFC")(27)를 포함할 수 있다. 양호한 실시예에서, 픽셀 데이터는 3개의 8-비트 컬러 성분의 24비트 세트이나, 다른 임의의 범위일 수 있으며, 하나 또는 그 이상의 성분에 국한되지 않는다. 다른 양호한 실시예에서, 픽셀 데이터는 16비트이다. 픽셀 데이터는 컬러 또는 그레이 스케일일 수 있다. 컬러 픽셀 데이터는 YUV 컬러 포맷으로 카메라(15)로부터 출력될 수 있으며, 여기서 "Y"는 데이터의 루미넌스 값에 관련된 파라미터이고, "U" 및 "V"는 픽셀 데이터의 크로미넌스 값에 관련된 파라미터이다. YUV 데이터는 양호하게는 그래픽스 제어기에서 컬러 포맷 변환기에 의해 적-녹-청("RGB") 컬러 포맷으로 변환된다. 다른 실시예에서, RGB 데이터는 CFC(27)에 의해 YUV로 변환된다.
크롭(crop), 스케일링, 압축 인코딩 및 컬러 변환과 같은 이미지 프로세싱 동작은 카메라로부터 데이터가 수신될 때 즉시(on the fly) 수행될 수 있으며, 또는 메모리내에 저장되어 있는 데이터에 대해 수행될 수 있다.
양호한 실시예에서, 그래픽스 제어기는 이미지 데이터의 프레임을 저장하기 위한 내부 메모리(24)를 포함한다. 그러나 다른 실시예에서, 메모리(24)는 그래픽스 제어기로부터 떨어져있다. 데이터는 메모리 제어기(28)의 제어하에 내부 메모리(24)내에 저장되며 내부 메모리(24)로부터 페치된다. 메모리(24)는 양호하게는 단일 행 내의 복수개의 저장 위치에 억세스하는 것이 다른 행들내의 동일 수의 위치에 억세스하는 것보다 더 효율적이라는 동작 특성을 갖는 DRAM, SDRAM 또는 다른 메모리이다.
일반적으로, 메모리(24)내에 저장된 이미지 데이터는 양호하게는 FIFO 버퍼인 복수개의 병렬 "디스플레이 파이프"(26)를 통해 페치되고 전송된다. 디스플레이 파이프(26)의 출력은 파이프(26) 중 하나로부터 데이터를 선택하기 위한 선택 유닛(25)을 통해 통과된다. 이미지 데이터는 선택 유닛(25)으로부터 디스플레이 장치 인터페이스(20) 및 출력 버스(22)를 통해 그래픽스 디스플레이 장치(14)에 전송된다.
도 2는 예시된 메모리(24)의 구성을 도시한다. 메모리(24)는 행"R" 및 열"C"의 정방형 구조를 포함하며, 도 2에서, 예시된 프레임(F)은 메모리의 일부를 점유한다. 특히, 프레임(F)은 메모리(24)의 11행 및 9열의 매트릭스를 점유한다. 매트릭스는 픽셀 데이터 Pm , n의 형태로 점유되고, m 및 n은 프레임(F)에서의 픽셀의 행 및 열을 각각 식별하는 숫자이다. 프레임(F)은 양호하게는 래스터 순서로 정렬된다. 메모리(24)의 행 및 열은 양호하게는 디스플레이 장치의 특정 행 및 열에 매핑하여, 프레임(F)이 래스터 순서로 페치되고 기록되는 경우, 프레임(F)은 디스플레이 상의 이미지로서 나타난다.
픽셀 데이터(Pm ,n)는 양호하게는 그래픽스 제어기에 의해 수신되고 래스터 순서로 메모리(24)에 기록되나, 이는 필수적이지는 않다. 그러나, 데이터가 일단 메모리내에 행 및 열로 저장된 경우에는, 행 변화가 RAS 및 프리차지 사이클을 필요로 하므로, 다른 행으로부터 데이터를 판독하기 이전에 동일한 행으로부터 가능한 많은 데이터를 판독하는 것이 바람직함에 주목해야 한다.
메모리(24)내에 저장하기 위하여 그래픽스 제어기에 나타나는 픽셀 데이터(Pm,n)는 본 발명의 양호한 문맥상 카메라(15)에 의해 생성될 수 있다. 이러한 및 다른 유사한 문맥에서, 카메라(15)의 해상도는 일반적으로 디스플레이 장치(14)의 것보다 더 크므로, 디스플레이 장치의 패널(14a) 상에 디스플레이될 수 있는 것보다 더 많은 픽셀이 메모리(24)내에 저장될 수 있다. 즉, 특정 프레임(F)은 디스플레이 패널에 비해 더 넓거나, 더 길거나 또는 두 방향면에서 큰 값일 수 있다. 일 예로써, 디스플레이 패널은 640 픽셀 열 X 480 픽셀 행 또는 307,200 픽셀의 해상도를 가지고, 카메라는 1백만 픽셀 이상인 프레임을 생성할 수 있다. 제2 예로써, 도 2에 도시된 것처럼 프레임(F)은 9 X 11이고, 도 3에 도시된 것처럼 디스플레이 패널은 4 X 7이다.
다시 도 3에서, 이미지로서 프레임(F)의 일 부분을 디스플레이하는 디스플레이 장치(14)가 도시된다. 양호하게는, 픽셀 데이터는 메모리(24)로부터 페치되고, 래스터 순서로 디스플레이 장치(14)에 제공된다. 디스플레이 장치(14)는 이러한 순서로 픽셀 데이터를 받아들이고, 패널(14a) 상에 래스터 순서로 픽셀을 디스플레이한다.
도 3은 그래픽스 제어기가 카메라 프레임(F)으로부터 픽셀 데이터를 떼어냄으로써 카메라 프레임(F)을 리사이즈하거나 스케일링하는 것을 도시한다. 리사이즈 동작은 프레임(F)이 메모리에 저장되기 이전 또는 이후에 수행되나, 리사이즈는 디스플레이 패널에 프레임을 전송하기 이전에 수행되어야 한다. 프레임이 저장된 이후에 크롭(cropping)이 수행되는 경우, 사용자는 디스플레이 패널상의 이미지를 "스크롤" 또는 "패닝(pan)"할 수 있게 된다. 프레임이 패닝되는 경우, 리사이즈 동작은 이전 디스플레이된 픽셀 중 일부가 페치되지 않도록 하며, 이전 디스플레이되지 않은 다른 픽셀 데이터가 페치되도록 한다.
그래픽스 제어기(10)는 이미지를 회전하기 위해 제공된다. 도 1에서, 프레임 회전을 수행하기 위한 양호한 유닛은 이미지 회전 모듈(29, 29b)로 표시된다. 임의의 공지된 사용자 인터페이스가 채용될 수 있다. 예를 들면, 사용자 인터페이스는 키패드, 마우스, 트랙볼을 이용하여 메뉴로부터 프레임 회전을 선택할 수 있다. 다르게는, 사용자 인터페이스는 터치-반응형 스크린 상의 하나 이상의 스위치 아이콘을 누름에 의해 프레임 회전을 선택할 수 있다. 다른 유형의 사용자 인터페이스가 당해 분야의 숙련자에게 공지될 것이다. 예시적 메뉴형 사용자 인터페이스(32)가 도 4에 도시된다. 임의의 경우에, 사용자가 이미지를 회전시키는 명령을 선택한 경우, 명령은 바람직하게는 호스트(12)에 의해 검출되고, 적절한 명령을 호스트 인터페이스(12a)를 통해 그래픽스 제어기내의 이미지 회전 유닛(29, 29b)에 전송한다.
휴대용 디지털 응용 장치에서, 사용자는 일반적으로 특정 회전각 또는 원하는 회전 중심을 입력할 수 없다. 대신에, 사용자는 디스플레이의 중심(또는 다른 선정된 회전 중심) 주위로 선정된 각도만큼 이미지를 회전할 것인지 여부에 대한 선택이 제공된다. 그러나, 당해 분야의 숙련자라면 사용자가 회전 각도를 지정하고 원하는 회전 중심을 지정하도록 허용하는 고급 사용자 인터페이스가 제공될 수 있음을 알 것이다.
본 발명에 따른 메모리 저장 방식을 구현하기 위하여, 그래픽스 제어기(10)는 양호하게는 메모리 저장 방식 제어기(29a)를 포함한다. 메모리 저장 방식 제어기(29a)는 이미지 회전 모듈(29, 29b) 중 하나 또는 둘 다의 일부이거나 일부가 아닐 수 있다. 일 양호한 실시예에서, 제어기(29a)는 단지 하나의 메모리 저장 방식만을 제공하도록 된다. 다른 실시예에서, 제어기(29a)는 복수개의 메모리 저장 방식을 제공하게 된다. 이들 실시예에서, 메모리 저장 방식은 양호하게는 선택 가능하다. 예를 들면, 메모리 저장 방식 제어기(29a)는 호스트(12)에 의해 프로그램 가능하다. 예를 들면, 호스트는 파라미터를 제어기(29a)에 기록함에 의해 특정 저장 방식을 지정할 수 있다. 또한, 호스트는 양호하게는 제어기(29a)가 채용될 때를 지정할 수 있다. 또한, 제어기(29a)가 이용될 것인지, 이용되는 경우 어떤 저장 방식이 채용될 것인지가 예를 들면 사용자 인터페이스(32)를 통한 사용자 입력에 따라 혹은 입력 없이 지정될 수 있다. 양호하게는, 회전된 이미지의 비율 추정(estimating a percentage of rotated images)을 기초로 하는 평균 효율(average efficiency)을 높이는 것이 목표이므로, 저장될 이미지가 실제로 회전될 것인지 여부를 알기 이전에 특정 메모리 저장 방식이 선택된다.
메모리 저장 방식 제어기(29a)는 이미지 회전 모듈(29, 29b)에 메모리 어드레스를 연산하여 제공한다. 양호한 실시예에서, 저장 방식 제어기(29a)는 픽셀-바이-픽셀 기준으로 이미지 회전 모듈(29, 29b)에 대한 메모리 어드레스를 지정한다. 메모리(24)내의 저장을 위해 제공된 이미지 데이터에 대해, 이미지 데이터는 호스트(12), 카메라(15) 또는 다른 이미지 데이터 소스에 의해 제공될 수 있으며, 양호하게는 래스터 순서로 제공된다. 저장 방식 제어기(29a)는 제공 순서 예를 들면 래스터 순서로 데이터의 위치를 기초로 특정 픽셀 데이터에 대한 메모리 어드레스를 지정한다. 따라서, 소스 이미지 매트릭스에 대한 높이, 폭 및 순서 방식이 어드레스 연산에 이용되도록 저장 방식 제어기(29a)에 제공된다. 더욱이, 제어기(29a)는 양호하게는 메모리에 대한 픽셀 데이터의 제공과 동기화되어 이미지 회전 모듈(29)에 대한 메모리 어드레스를 지정한다. 또한, 제어기(29a)는 다른 실시예에서는 픽셀-대-픽셀 외의 기준으로 지정된다. 예를 들면, 컬러 픽셀이 구성 요소 데이터로 구성되므로, 제어기(29a)는 구성 요소 각각에 대한 개별 어드레스를 지정할 수 있다. 통상의 지식을 갖는 자라면 저장 방식 제어기(29a)의 기능은 다양한 상이한 방법으로 구현될 수 있음을 알 수 있을 것이다. 예를 들면, 제어기(29a)는 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 하나 이상의 조합을 포함한다.
별도의 양호한 실시예에서, 메모리 저장 방식 제어기(29a) 및 이미지 회전 모듈(29b)은 메모리내에 저장된 이미지 데이터의 이용을 위해 채용된다. 양호하게는, 이미지 데이터는 래스터 순서로 메모리내에 저장된다. 메모리 저장 방식 제어기(29a)는 디스플레이 장치(14), CODEC, 또는 다른 이미지 데이터 목적지에 제공하기 위하여 픽셀이 메모리로부터 페치되는 순서를 지정하도록 이미지 회전 모듈(29b)에 대해 메모리 어드레스를 지정하기 위하여 이용된다.
도 1에 도시된 실시예가 이미지 회전 모듈(29 및 29b) 모두를 포함하지만, 다른 실시예들은 이미지 회전 모듈(29 및 29b) 중 하나만을 포함한다.
도 5는 도 2에 도시된 예시적 메모리(24)의 다른 표시를 도시한다. 도 5에서, 예시적 프레임(FR)은 메모리의 일부를 점유한다. 특히, 프레임(FR)은 메모리(24)내의 11열 및 9행의 매트릭스를 점유한다. 프레임(FR)은 도 2에 도시된 프레임(F)의 회전된 형태이다. 회전 각도는 -90도 로서, 반시계 방향으로 90도 회전을 지정한다. 도 2 및 5를 비교하면, 프레임(FR)은 프레임(F) 보다 폭이 더 크지만, 높이는 더 낮다.
도 6을 참조하면, 디스플레이 장치(14)는 도 5의 프레임(FR)의 일부를 디스플레이 하는 것으로 도시된다. 도 6에서 디스플레이된 이미지는 도 3에 도시된 F'를 회전 중심("CEN. ROT."), 이 예에서는 픽셀 데이터 P6 ,6, 주위로 회전하라는 명령의 결과이다.
이미지를 회전할 때 문제가 도출될 수 있는데, 2개의 예를 고려하여 평가될 수 있다. 먼저, 도 3을 다시 참조하고, 상단행(P3,4, P3,5, P3,6, P3,7)을 고려한다. 이들 픽셀 전부는 이미지의 한 라인 상에 디스플레이된다. 도 2를 참조하면, 이들 픽셀 전부에 대한 행 인덱스(m)는 3 즉, 이들 픽셀 전부는 메모리의 하나의 라인내에 저장된다. 그러므로, 도 3에서의 픽셀은 메모리(24)로부터 행 단위로 페치될 수 있으며, 메모리(24)에 대해 필요한 RAS 및 프리차지 사이클의 수를 감소시킨다. 따라서, 디스플레이를 위해 페치될 것과 동일한 순서로 이미지가 저장되는 경우, 메모리 억세스는 고효율인 것이다.
비교예로서, 도 6의 이미지를 참조하고, 상단행(P4,9, P5,9, P6,9, P7,9)을 고려한다. 이들 픽셀 전부가 이미지의 한 라인 상에 디스플레이되고, 도 2를 참조하면, 이미지 매트릭스 내의 이들 픽셀 각각에 대한 행 인덱스(m)는 상이하다 즉, 각각의 픽셀은 메모리의 상이한 라인내에 저장된다. 도 2에 도시된 메모리(24)로부터 픽셀을 페치하기 위해서, 각각의 픽셀은 메모리의 상이한 행으로부터 페치되어야 한다. 예를 들면, 도 2 및 6을 참조하면, P4 ,9는 메모리의 행 4로부터 페치되어야 하고, P5 ,9는 행 5로부터 페치되어야 하며, P6 ,9는 행 6으로부터 페치되어야 하며, P7 ,9는 행 7로부터 페치되어야 한다. 그러므로, 도 2에 도시된 것과 같이 메모리(24)로부터 도 6에 도시된 이미지를 래스터 순서로 페치하기 위하여, 각각의 픽셀 페치에 대해 RAS 및 프리차지 사이클이 필요하다. 따라서, 메모리(24)로부터 도 6에 도시된 이미지를 90도 회전하기 위하여 페치하면 그 비효율이 최대가 된다.
메모리내에 프레임을 저장하기 이전에 프레임이 디스플레이를 위하여 회전될 것을 안다면, 픽셀 데이터는 도 5에 도시된 것과 같은 회전된 순서로 저장될 수 있어서, 데이터를 디스플레이될 이미지에 따라 정렬되도록 한다. 그러나, 종종 회전이 있을지 여부가 미리 알려지지 않는다. 또한, 동일한 이미지가 2번, 한번은 회전된 이미지로서 한번은 회전되지 않은 이미지로, 보여질 수도 있다.
본 발명의 양호한 실시예는 프레임이 디스플레이를 위해 회전될 것인지 여부가 저장 이전에 알려지지 않는 경우에 관한 것이다. 또한, 양호한 실시예는 1회 초과의 디스플레이를 위해 메모리로부터 동일한 프레임을 페치할 필요가 있는 경우에 관한 것으로, 여기서 적어도 일회의 프레임 페치는 비회전 디스플레이를 위한 것이고, 적어도 일회의 프레임 페치는 회전된 디스플레이를 위한 것이다.
양호한 실시예에 따르면, 도 1의 인터페이스(12a) 또는 인터페이스(17)을 통해 그래픽스 제어기(10)에 의해 수신되는 픽셀 데이터는 특정 정렬로 메모리(24)내에 저장된다. 신규한 정렬은, 비회전 이미지 또는 회전 이미지를 디스플레이하기 위해 데이터가 페치되어야 하는지 여부와 무관하게, 적어도 2개의 픽셀 데이터가 메모리의 각각의 행으로부터 디스플레이를 위해 페치됨을 보장한다. 이러한 방식으로, 적어도 2개의 픽셀이 RAS 및 프리차지 사이클 각각에 대해 항상 페치될 것이다.
본 발명에 따른 메모리내의 픽셀의 양호한 정렬을 설명하기 이전에, 양호한 정렬의 설명에서 참조되는 다른 예시적 메모리(24)외에도 예시적인 비회전 및 회전 이미지 매트릭스가 먼저 도 7, 8 및 9를 참조로 설명된다.
도 7은 예시적인 "이미지 매트릭스" IMAGENON -ROT로서, 카메라(15)로부터 수신된 순서와 같이 래스터 순서로 정렬된 픽셀 Pm ,n에 대응하며, 따라서 회전되지 않은 이미지를 정의한다. 매트릭스 IMAGENON -ROT은 640 픽셀 폭 × 480 픽셀로서, 따라서 480 행 ROWNON -ROT 와 640 열 COLNON -ROT을 갖는다.
도 8은 도 7과는 대조적으로 도 7에 도시된 것과 동일한 픽셀을 가지나 이미지가 +90도(90도 시계방향) 회전되어 보이도록 정렬된 이미지 매트릭스 IMAGEROT를 도시한다. 매트릭스 IMAGEROT은 480 픽셀 폭 × 640 픽셀로서, 따라서 640 행 ROWROT 및 480열 COLROT이다. 90도 시계 방향 회전에 대해, 도 8의 640 행(ROWROT)은 픽셀 PM,N이 반대 순서로 어레이된 것을 제외하고는 도 7의 640열(COLNON-ROT)과 동일하다. 또한, 도 8의 480 열(COLROT)은 도 7의 480행(ROWNON-ROT)과 완전 동일하다.
도 9는 본 발명의 양호한 실시예에 따른 메모리(24)의 일부(24a)를 도시하며, 메모리(24)는 16개의 16비트 픽셀을 저장하기 위하여 256 비트 폭이다. 도시된 실시예에서, 메모리(24)의 일부(24a)는 [480·640]/16=19,200 픽셀을 16열내에 저장하기 위해 채용된 것으로, 16열(COLMEM) 및 19,200행(ROWMEM)을 포함한다. 메모리 부분(24a)의 폭은 메모리(24)의 제시된 실시예에서의 "페이지"에 대응한다. 일 페이지내의 픽셀은 단일 쌍의 RAS 및 프리차지 사이클을 이용하여, 양호하게는 버스트 모드로, 판독될 수 있다. 도 9에 도시된 메모리(24)가 설명을 목적으로 아래에 참조되지만, 본 발명은 이 예시적 메모리에 국한되지 않는다. 예를 들면, 양호한 실시예에서, 메모리(24)는 128 비트 폭이다. 또한, 128 비트 폭 메모리는 양호하게는 24 bpp 이미지 데이터를 저장하기 위해 채용되어, 각각의 라인은 5.33 픽셀을 포함한다.
도 10은 본 발명의 양호한 실시예에 따른 예시적 메모리 저장 방식(40)을 도시한다. 메모리 부분(24a)은 방식(40)에 따라 그 내부에 저장되는 픽셀(Pm ,n)로 도시된다. 도 11은 방식(40)에 따라 비회전 이미지 매트릭스로부터 픽셀이 메모리(24a)로 매핑되는 방법을 도시한다. 도 10에서, 픽셀(Pm ,n)은 60 블록(BK)을 포함한다. 블록(B1-B60)은 행 인덱스 m이 각각 1-8, 9-16, ..., 473-480 범위이고, 열 인덱스 n이 각 블록에서 1-640 범위인 픽셀(Pm ,n) 블록을 나타낸다. 각각의 블록은 메모리 부분(24a)의 320 행을 포함한다. 그룹 G1은 픽셀(P1 ,1, P2,1, P3 ,1, P4 ,1, P5 ,1, P6 ,1, P7 ,1 및 P8 ,1)을 포함하는 8-픽셀 부분을 지정한다. G2는 픽셀(P1 ,2, P2 ,2, P3 ,2, P4 ,2, P5 ,2, P6 ,2, P7 ,2 및 P8 ,2)를 포함하는 8-픽셀 부분을 지정한다.
도 11은 하이라이트된 방식(40)에 따른 픽셀 그룹 G1 및 G2을 갖는 도 7의 비회전 이미지 매트릭스를 도시한다. 도 10 및 11을 비교하면, 예시적 방식(40)에 따르면, 이미지 매트릭스 IMAGENON -ROT의 이미지 열 CNON -ROT("이미지 열")의 8 픽셀 부분(B=8)의 2 그룹(A=2)이 메모리 부분(24a)의 동일 메모리 행 RM("메모리 행")내에 저장된다. 예를 들면, 그룹 G1 및 G2은 이미지 매트릭스 IMAGENON -ROT의 8 행("이미지 행")RNR1-RNR8으로 정의되는, 이미지 열 CNR1 및 CNR2의 대응하는 8-픽셀 부분을 표시한다. 그룹 G1 및 G2 모두는 제1 메모리 행(RM1) 내에 저장되고, 이를 점유하되, 예를 들면 그룹 G1은 메모리 부분(24a)의 최초의 8열 CM1-CM8("메모리 열")을 점유한다. 나머지 이미지 열 및 이미지 행은 유사하게 처리된다.
이미지가 회전 없이 디스플레이되려면, 메모리 저장 방식(40)를 이용한 결과로서, 비회전 이미지 매트릭스 IMAGENON -ROT의 동일한 이미지 행 ROWNON -ROT(도 11)내에 있는 2 픽셀(A=2)은 동일 메모리 행 RM내에 있을 것이다. 그러므로, 이러한 2 픽셀은 메모리 부분(24a)내의 페이지 변화를 요구하지 않고 판독될 수 있다. 예를 들면, 제1 이미지 행(RNR1)에서 2 픽셀 P1 ,1 및 P1 ,2 모두는 동일한 메모리 행(RM1)내에 위치되고, 페이지 변화없이 함께 판독될 수 있다.
반면에, 이미지가 디스플레이를 위해 회전될 경우, 회전된 이미지 매트릭스 IMAGEROT(도 8)의 동일한 행(RR)내에 있는 8 픽셀(B=8)은 동일한 메모리 행(RM)내에 있으며, 페이지 변화 없이 판독될 수 있다. 예를 들면, 제1 메모리 행(RM1)은 픽셀 P1 ,1; P2 ,1; P3 ,1; ...; P8 ,1을 포함하며, 이들 모두는 회전된 이미지 매트릭스 IMAGEROT의 제1 이미지 행 RR1내에 위치된다.
메모리 구성 방식(40)과 래스터 순서 메모리 구성 즉, 도 7의 비회전 이미지 매트릭스 IMAGENON -ROT에 도시된 순서를 비교한다. 이미지가 회전 없이 디스플레이되는 경우, 래스터 메모리 저장 방식의 이용 결과로서, 페이지가 교차되지 않을 것이며, 따라서 메모리 부분(24a)의 주어진 행에서의 전체 CM=16 픽셀은 단지 한 셋의 RAS 및 프리차지 사이클만으로 또는 페이지 변화만으로 함께 판독될 수 있다. 그러나, 이미지가 디스플레이를 위해 회전될 경우, 이미지의 일 행내의 모든 개별 픽셀들은 메모리 부분(24a)의 상이한 행으로부터 취득될 필요가 있어서, 15개의 추가 페이지 변화가 필요하다.
도 12는 본 발명의 다른 양호한 실시예에 따른 예시적 메모리 저장 방식(50)을 도시한다. 메모리 부분(24a)은 방식(50)에 따라 그 내부에 저장된 픽셀(Pm,n)로 도시된다. 도 13은 방식(50)에 따른 비회전 이미지 매트릭스로부터 메모리(24a)로 픽셀이 매핑되는 방법을 도시한다. 도 12에서, 픽셀(Pm ,n)은 240 블록 BK를 포함한다. 블록B1-B240은 픽셀 Pm ,n의 블록을 표시하며, 행 인덱스 m은 1-2, 3-4, ...479-480 범위이고, 열 인덱스 n은 각 블록에서 1-640 범위이다. 각각의 블록은 메모리 부분(24a)의 80행을 포함한다. 그룹 G1은 픽셀 P1 ,1, P2 ,1을 포함하는 2-픽셀 부분을 지정한다. 그룹 G2는 픽셀 P1 ,2, P2 ,2를 포함하는 2-픽셀 부분을 지정한다. 그룹 G3은 픽셀 P1 ,3, P2 ,3을 포함하는 2-픽셀 부분을 지정한다. 그룹 G4는 픽셀 P1 ,4, P2 ,4를 포함하는 2-픽셀 부분을 지정한다. 그룹 G5는 픽셀 P1 ,5, P2,5을 포함하는 2-픽셀 부분을 지정한다. 그룹 G8은 픽셀 P1 ,8, P2 ,8을 포함하는 2-픽셀 부분을 지정한다.
도 13은 방식(50)에 따라 그룹화된 픽셀을 갖는 도 7의 비회전 이미지 매트릭스를 도시한다. 도 12와 도 13을 비교하면, 예시적 방식(50)에 따르면 이미지 열(CNR)의 2 픽셀 부분(B=2)의 8 그룹(A=8)이 동일한 메모리 행(RM)내에 저장됨을 알 수 있다. 예를 들면, 그룹 G1-G8은 2개의 이미지 행(RNR1 및 RNR2)에 의해 지정된 이미지 열(CNR1-CNR8)의 대응하는 2-픽셀 부분을 표시한다. 8개의 그룹 G1-G8은 제1 메모리 행(RM1) 내에 저장되고 이를 점유하되, 예를 들면 그룹 G1은 최초의 2개 메모리 열(CM1 및 CM2)을 점유한다. 나머지 이미지 열 및 이미지 행은 유사하게 처리된다.
이미지가 회전 없이 디스플레이되는 경우, 메모리 저장 방식(50)을 이용한 결과로서, 비회전 이미지 매트릭스(IMAGENON -ROT)(도 13)의 동일한 행(ROWNON-ROT)내에 있는 8 픽셀(A=8) 또한 동일한 메모리 행(RM)내에 존재할 것이다. 그러므로, 이러한 8 픽셀은 메모리 부분(24a)내의 페이지 변화를 필요로 하지 않고 판독될 수 있다. 예를 들면, 제1 이미지 행(RNR1)에서, 8개의 픽셀(P1 ,1; P1 ,2; P1 ,3; P1,4; P1 ,5; P1 ,6; P1 ,7; 및 P1 ,8) 전체는 동일한 메모리 행(RM1)내에 위치되고, 페이지 변화없이 함께 판독된다.
반면에, 이미지가 디스플레이를 위해 회전되는 경우, 회전 이미지 매트릭스IMAGEROT(도 8)의 동일한 행(RR)내에 있는 2 픽셀(B=2) 또한 동일한 메모리 행내에 있을 것이며, 페이지 변화를 요하지 않고 판독될 수 있다. 예를 들면, 제1 메모리 행(RM1)은 픽셀(P1 ,1 및 P2 ,1)을 포함하며, 둘다 회전 이미지 매트릭스(IMAGEROT)의 제1 이미지 행(RR1)내에 위치된다. 그러므로, 메모리 조직 방식(50)을 이용한 디스플레이를 위한 픽셀의 행을 취득하기 위하여, 회전 이미지는 단지 7 페이지 변화만을 필요로 하고, 비회전 이미지는 단지 하나의 페이지 변화만을 필요로 한다.
도 14는 본 발명의 또 다른 양호한 실시예에 따른 예시적 메모리 저장 방식(60)을 도시한다. 메모리 부분(24a)은 방식(60)에 따라 그 내부에 저장된 픽셀(PM,N)로 도시된다. 도 15는 방식(60)에 따라 비회전 이미지 매트릭스로부터 메모리(24a)로 매핑되는 방법을 도시한다. 도 14에서, 픽셀(Pm ,n)은 120 블록(BK)을 포함한다. 블록(B1-B120)은 픽셀(Pm ,n)의 블록을 표시하며, 행 인덱스 m은 1-4, 5-8, ...477-480 범위이고, 열 인덱스 n은 각 블록에서 1-640 범위이다. 각각의 블록은 메모리 부분(24a)의 160행을 포함한다. 그룹 G1은 픽셀 P1,1, P2 ,1, P3 ,1, P4 ,1을 포함하는 4-픽셀 부분을 가리킨다. 그룹 G2은 픽셀 P1 ,2, P2,2, P3 ,2, P4 , 2을 포함하는 4-픽셀 부분을 가리킨다. 그룹 G3은 픽셀 P1 ,3, P2 ,3, P3,3, P4 ,3을 포함하는 4-픽셀 부분을 가리킨다. 그룹 G4은 픽셀 P1 ,4, P2 ,4, P3 ,4, P4,4을 포함하는 4-픽셀 부분을 가리킨다.
도 15는 방식(60)에 따라 그룹화된 픽셀을 갖는 도 7의 비회전 이미지 매트릭스를 도시한다. 도 14 및 15를 비교하면, 예의 방식(60)에 따르면, 이미지 열(CNR)의 4 픽셀 부분(B=4)의 4 그룹(A=4)이 동일한 메모리 행(RM)내에 저장됨을 알 수 있다. 예를 들면, 그룹 G1-G4은 이미지 열(CNR1-CNR4)의 대응하는 4-픽셀 부분을 표시하며, 4개의 이미지 행(RNR1-RNR4)에 의해 지정된다. 4개의 그룹 G1-G4은 제1 메모리 행(RM1)내에 저장되고 이를 점유하되, 예를 들면 그룹 G1은 최초의 4개 메모리 열(CM1-CM4)을 점유한다. 나머지 이미지 열 및 이미지 행은 유사하게 처리된다.
이미지가 회전 없이 디스플레이될 경우, 메모리 저장 방식(60)을 이용한 결과로서, 비회전 이미지 매트릭스(IMAGENON -ROT)(도 15)의 동일한 행(ROWNON-ROT)내에 있는 4 픽셀(A=4) 또한 동일한 메모리 행(RM)내에 있을 것이다. 그러므로, 이들 4 픽셀은 메모리 부분(24a)에서의 페이지 변화를 요하지 않고 판독될 수 있다. 예를 들면, 제1 이미지 행(RNR1)에서, 4 픽셀 P1 ,1; P1 ,2; P1 ,3; 및 P1 ,4 모두는 동일한 메모리 행(RM1)내에 위치되고, 페이지 변화 없이 함께 판독될 수 있다.
반면에, 이미지가 디스플레이를 위해 회전되는 경우, 회전 이미지 매트릭스(IMAGEROT)(도 8)의 동일한 행(RR)내에 있는 4 픽셀(B=4) 또한 동일한 메모리 행(RM)내에 있을 것이며, 페이지 변화를 요하지 않고 판독될 수 있다. 예를 들면, 제1 메모리 행(RM1)은 전부가 회전 이미지 매트릭스(IMAGEROT)의 제1 메모리 행(RM1)에 위치한 픽셀 P1 ,1; P2 ,1; P3 ,1; 및 P4 ;1을 포함한다. 그러므로, 메모리 조직 방식(60)을 이용하여, 회전 및 비회전 이미지 모두는 디스플레이를 위한 픽셀 행을 취득하기 위하여 단지 3개의 페이지 변화만을 필요로 한다.
적어도 일부 시간에서 이미지가 회전된다면, 효율의 개선을 고려하면, 방식(40)은 높은 회전 효율을 제공하고, 방식(50)은 높은 비회전 효율을 제공하며, 방식(60)은 양자를 절충하는 것으로 평가된다. 이 예에서, A 및 B는 A·B=CM의 관계를 만족하는 정수값으로서, 메모리 부분(24a)의 일 행을 균일하게 분할하는 이미지 열 부분(CNR)의 그룹을 제공한다. 즉, 방식(40)에서, A=2그룹의 B=이미지 열(CNR)의 8 픽셀 부분이 메모리 부분(24a)의 하나의 행 또는 페이지에 적합하다. 방식(50)에서, A=8그룹의 B=이미지 열의 2픽셀 부분이 하나의 메모리 행에 적합하며, 방식(60)에서, A=4그룹의 B=이미지 열의 4 픽셀 부분이 하나의 메모리 행에 적합하다. 그러나, 이는 필수적이지는 않다.
양호하게는, 수직 및 수평 그룹에서 포함되는 픽셀의 수는 2의 제곱이다. 그 수를 2의 제곱으로 유지하는 것은 픽셀 어드레스 연산 로직을 단순하게 한다. 그러나, 수를 2의 제곱으로 유지하는 것은 바람직한 것이지, 필수적인 것은 아니다.
도 16은 본 발명의 다른 양호한 실시예에 따른 예시적 메모리 저장 방식(70)을 도시한다. 메모리 부분(24a)은 방식(70)에 따라 그 내부에 저장된 픽셀(Pm,n)로 도시된다. 도 17은 방식(70)에 따라 어떻게 비회전된 이미지 매트릭스로부터 픽셀이 메모리(24a)로 매핑되는지를 나타낸다. 도 16에서, 이미지 열(CNR)의 3 픽셀 부분(B=3)의 5와 1/3 그룹(A=5와 1/3)이 도시된다. 예를 들면, 그룹G1은 이미지 열(CNR1)로부터의 3 픽셀 부분(P1 ,1, P2 ,1, P3 ,1)을 가리킨다. 그룹 G2는 이미지 열(CNR2)로부터의 3 픽셀 부분(P1 ,2, P2 ,2, P3 ,2)을 가리킨다. 그룹 G3는 이미지 열(CNR3)로부터의 3 픽셀 부분(P1 ,3, P2 ,3, P3 ,3)을 가리킨다. 또한, 그룹 G6+는 이미지 열(CNR6)로부터의 1 픽셀 부분(P1 ,6)을 가리킨다.
5와 1/3 그룹은 그룹의 비-정수를 받아들이기 위해서 16 픽셀 메모리 행(RM) 중 3개 예를 들면, RM1, RM2 및 RM3을 필요로 한다(3·5와 1/3 = 16). 그럼에도 불구하고, 제1 메모리 행(RM1)내의 픽셀 P1 ,1; P1 ,2; P1 ,3; P1 ,4; P1 ,5; 및 P1 ,6(도 16)은 비회전 이미지의 단일 이미지 행(RNR1)내에 존재하며(도 17), 3개의 픽셀(P1,1, P2 ,1 및 P3 ,1)은 회전된 이미지 IMAGEROT(도 8)의 단일 이미지 행(RR1)내에 존재한다. 그러므로, 그룹은 1 행에 대해 정수 관계를 갖는 것이 필수적이지 않으며, 이제 명백한 것처럼, 그룹은 임의 갯수의 행들과 정수 관계를 갖는 것이 필수적이지 않으며, 블록(BK)은 예시적 메모리 저장 방식(40, 50 및 60)에서와 같이 정방형 또는 장방형인 것이 필수적이지 않다.
단일 메모리 행으로 매핑되는 이미지 열(CNR)의 부분은 상술한 예에 도시된 것처럼 동일 B 이미지 행(RNR)에 정확하게 일치하는 것이 필수는 아니지만, 일부는 겹쳐질 수 있다. 이는 도 18 및 19의 비교에 의해 명백해질 수 있다.
도 18은 양호한 실시예에 따른 또 다른 예시적 메모리 저장 방식(80)을 도시한다. 메모리 부분(24a)은 방식(80)에 따라 그 내부에 저장된 픽셀(Pm ,n)로 도시된다. 도 19는 방식(80)에 따라 어떻게 픽셀이 비회전 이미지 매트릭스로부터 메모리(24a)로 매핑되는지를 나타낸다. 도 19는 도 7의 비회전 이미지 매트릭스에서 픽셀이 도 18에 도시된 메모리 저장 방식에 해당하는 상이한 그룹으로 정렬된 것을 도시한다. 이 예는 이미지 열(CNR)의 4-픽셀 부분(B=4)의 4 그룹(A=4)이 있다는 점이 방식(60)과 유사하다. 도 19는 제1 메모리 행(RM1)내에 저장된 4개의 그룹 즉, G1-G4을 갖는 메모리 부분(24a)을 도시한다. 예를 들면, 그룹 G1은 이미지 열(CNR1)로부터의 4-픽셀 부분(P1 ,1, P2 ,1, P3 ,1, P4 ,1)을 가리킨다. 그룹 G2는 이미지 열(CNR2)로부터의 4-픽셀 부분(P2 ,2, P3 ,2, P4 ,2, P5,2)을 가리킨다.
이미지가 회전없이 디스플레이되는 경우, 메모리 저장 방식(80)을 이용한 결과로서, 제1 이미지 행(RNR1)용으로 필요한 2개의 픽셀(P1 ,1 및 P1 ,3)이 메모리 행(RM1)내에 저장된다.
반면에, 이미지가 디스플레이를 위해 회전되는 경우(도 8), 메모리 행(RM1)은 제1 이미지 행(RR1)용으로 필요한 4개의 픽셀 즉, P1 ,1; P2 ,1; P3 ,1; 및 P4 ,1을 제공한다. 다시 말하면, 그룹 G1은 회전 이미지 매트릭스 IMAGEROT의 제1 이미지 행(RR1)용으로 필요한 4개의 픽셀을 제공한다.
예시적 메모리 저장 방식(80)에 대해, 이미지 매트릭스의 상단 및 하단 에지의 특정 픽셀은 래핑 타일에 대한 타일링 패턴에 따라 대향 에지 상의 다른 픽셀과 그룹화될 수 있음에 주목한다. 예를 들면, 도 19에서 픽셀 P1 , 2은 픽셀 P479,2 및 P480 ,2와 그룹화될 수 있다.
이미지 매트릭스의 행-열 대칭 구조로 인해, 상술한 내용은 "이미지 행"을 "이미지 열"로 대체해도 동일하게 적용됨을 이해해야 한다. 따라서, 그룹 G는 이미지 열의 일부분으로서 도시되나, 동일하게 이미지 행의 부분일 수 있다. 이는 도 20 및 21의 비교에 의해 이해될 수 있다.
도 20은 양호한 실시예에 따른 다른 예시적 메모리 저장 방식(38)을 도시한다. 메모리 부분(24a)은 방식(38)에 따라 그 내부에 저장된 픽셀(Pm ,n)을 갖는 것으로 도시된다. 도 21은 어떻게 픽셀이 방식(38)에 따른 비회전 이미지 매트릭스로부터 메모리(24a)로 매핑되는지를 나타낸다. 도 21은 이미지 행(ROWNON -ROT)에 따라 그룹화되는 픽셀을 갖는 도 7의 비회전 이미지 매트릭스를 도시한다. 2 그룹(A=2)의 8 픽셀 부분(B=8)이 존재한다. 픽셀 부분은 이미지 행(ROWNON -ROT)의 부분이다. 이미지 행(RNR1)으로부터의 그룹 G1=P1 ,1-P1 ,8 및 이미지 행(RNR5)으로부터의 G2=P5 ,1-P5 ,8은 도 21에 도시된 비회전 이미지에서 특별히 표시된다.
이미지가 회전없이 디스플레이되려는 경우, 제1 이미지 행(RNR1)의 8개의 픽셀 P1 ,1-P1 ,8(즉, 그룹 G1)은 메모리 행(RM1)내에 저장된다.
반면에, 이미지가 디스플레이를 위해 회전되는 경우, 회전 이미지 매트릭스(IMAGEROT)(도 8)의 이미지 행(RR1)용으로 필요한 2개의 픽셀 P1 ,1 및 P5 , 1는 메모리 행(RM1)내에 저장된다.
도 20 및 21의 예는 또한 단일 메모리 행내의 그룹(G)은 이미지 매트릭스 내에서 서로 인접할 필요가 없음을 나타내고, 여기서 그룹 G1 및 G2는 3개의 이미지 행 ROWNON-ROT 만큼 떨어져 있음을 나타낸다.
본 명세서에서 설명된 방법은 픽셀 그룹화가 이미지 행으로 또는 이미지 열로 특정화된지 여부에 따라 상이하므로, 여기서 이용된 "벡터"라는 용어는 90도 이미지 회전의 관점에서 일반적으로 이미지 행 또는 이미지 열을 칭한다.
이미지 회전은 90도씩 증가하는 것으로 되어 있지만, 양호한 실시예의 원칙은 다른 각도 증가를 갖는 회전에 적용될 수 있다. 예를 들면, 이미지 저장 구조의 양호한 실시예는 180도 및 270도의 이미지 회전에 대한 것이다.
모듈(29a)은 양호하게는 그래픽스 제어기(10)에서 하드웨어로 구현된다. 그러나, 본 명세서에서 설명된 특징 및 기능은 그래픽스 제어기가 적합하게 되어 있다면 하드웨어와 소프트웨어의 결합으로 또는 소프트웨어로 그래픽스 제어기에서 구현될 수 있다. 예를 들면, 기계 판독 가능 매체내에 저장된 명령들의 프로그램이 그래픽스 제어기내에 포함된 프로세싱 장치에서 실행되도록 제공될 수 있다. 또한, 그래픽스 제어기(10)에 의해 제공되는 것으로 설명되는 특징 및 기능들은 본 발명의 원리로부터 벗어나지 않고도 그래픽스 제어기(10) 외부에 제공될 수 있음이 이해되어야 할 것이다.
효율적 이미지 회전을 제공하기 위한 특정 그래픽스 제어기 및 그 방법이 설명되었지만, 본 발명의 원리로부터 벗어나지 않고도 설명된 것 외에 다른 구성 및 방법도 이용될 수 있다.
상술한 설명에서 채용된 용어 및 표현은 설명을 위해 이용되었으며, 그러한 용어 및 표현을 이용한다는 것이 도시되고 설명된 특징의 등가물 또는 그 일부를 제외하려는 의도는 아닌 것이며, 본 발명의 범위는 첨부된 청구 범위에 의해서만 지정되고 한정되는 것으로 인식되어야 할 것이다.
본 발명에 의하면, 이미지의 효율적인 회전이 가능한 방법 및 장치가 제공된다.
도 1은 본 발명의 양호한 실시예에 따른 효율적 이미지 조작을 위해 제공되는 DRAM을 기준으로 한 그래픽스 제어기를 갖는 그래픽스 디스플레이 시스템의 블록도.
도 2는 내부에 이미지 데이터가 저장된 메모리의 개략도.
도 3은 이미지를 디스플레이하는 도 1의 시스템의 디스플레이 장치의 개략도.
도 4는 사용자 인터페이스의 예시도.
도 5는 도 2의 이미지 데이터를 반시계 방향으로 90도 회전한 메모리의 개략도.
도 6은 도 3의 이미지 데이터를 반시계 방향으로 90도 회전한 이미지를 갖는 도 3의 디스플레이 장치의 개략도.
도 7은 통상의 래스터 순서로 디스플레이된 픽셀에 대응하는 이미지 매트릭스의 개념도.
도 8은 시계방향으로 90도 회전한 것을 제외하고는 도 7에 대응하는 이미지 매트릭스의 개념도.
도 9는 일 실시예에 따른 도 1의 그래픽스 제어기의 메모리의 일부분의 개략도.
도 10은 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제1 예에 따라 구성된 도 9의 메모리의 개략도.
도 11은 도 10의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.
도 12는 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제2 예에 따라 구성된 도 9의 메모리의 개략도.
도 13은 도 12의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.
도 14는 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제3 예에 따라 구성된 도 9의 메모리의 개략도.
도 15는 도 14의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.
도 16은 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제4 예에 따라 구성된 도 9의 메모리의 개략도.
도 17은 도 16의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.
도 18은 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제5 예에 따라 구성된 도 9의 메모리의 개략도.
도 19는 도 18의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.
도 20은 본 발명의 양호한 실시예에 따른 메모리 저장 방식의 제6 예에 따라 구성된 도 9의 메모리의 개략도.
도 21은 도 20의 메모리 저장 방식에 따라 그룹화된 픽셀을 갖는 도 5의 이미지 매트릭스를 도시하는 개략도.

Claims (18)

  1. 이미지 매트릭스에 의해 규정되는 이미지의 효율적 회전 방법으로서, 상기 이미지의 각각의 데이터는 상기 이미지 매트릭스의 특정 이미지 행 및 특정 이미지 열에 대응하는, 이미지 회전 방법으로서,
    각각의 데이터를 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스에 매핑시키는 단계를 포함하며,
    상기 매핑 단계는
    (a) 양쪽이 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및
    (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 단계를 포함하는 방법.
  2. 청구항 1에 있어서, 상기 제1 이미지 벡터 부분의 적어도 제1 데이터와 상기 제2 이미지 벡터 부분의 적어도 제1 데이터는 제1 이미지 행에 대응하고, 상기 제1 이미지 벡터 부분의 적어도 제2 데이터와 상기 제2 이미지 벡터 부분의 적어도 제2 데이터는 제2 이미지 행에 대응하는, 방법.
  3. 청구항 2에 있어서, 각각의 이미지 벡터 부분은 B 데이터를 포함하고, 메모리 매트릭스는 C 메모리 열을 가지며, 상기 메모리 열 C은 각각의 이미지 벡터 부분의 데이터의 수와 하나의 메모리 행의 이미지 벡터 부분의 수 A의 곱(C=B·A)과 동일한, 방법.
  4. 청구항 2에 있어서, 상기 데이터는 래스터 순서로 이미지 매트릭스내에 정렬되는, 방법.
  5. 청구항 2에 있어서, 이미지 프로바이더로부터 이미지 매트릭스를 수신하는 단계 및 메모리에 상기 이미지 매트릭스를 저장하는 단계를 더 포함하며, 상기 메모리는 메모리 매트릭스와 동일 갯수의 메모리 행 및 메모리 열로 구성되는, 방법.
  6. 청구항 5에 있어서, 메모리로부터 이미지 매트릭스를 페칭(fetching)하여 상기 메모리로부터 판독된 데이터를 그래픽스 디스플레이 장치로 전송하는 단계를 더 포함하며, 상기 디스플레이 장치의 디스플레이 영역은 메모리 매트릭스와 동일 갯수의 메모리 행 및 메모리 열로 구성되는, 방법.
  7. 이미지 매트릭스에 의해 규정되는 이미지의 효율적 회전을 위해 제공되는 그래픽스 제어기로서, 상기 이미지의 각각의 데이터는 상기 이미지 매트릭스의 특정 이미지 행 및 특정 이미지 열에 대응하는, 그래픽스 제어기로서,
    복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리; 및
    복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스에 데이터 각각을 특정 매핑 방식에 따라 매핑하는 메모리 저장 방식 제어기를 포함하되,
    상기 매핑 방식은
    (a) 양쪽이 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및
    (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 것을 포함하는, 그래픽스 제어기.
  8. 청구항 7에 있어서, 상기 제1 이미지 벡터 부분의 적어도 제1 데이터와 상기 제2 이미지 벡터 부분의 적어도 제1 데이터는 제1 이미지 행에 대응하고, 상기 제1 이미지 벡터 부분의 적어도 제2 데이터와 상기 제2 이미지 벡터 부분의 적어도 제2 데이터는 제2 이미지 행에 대응하는, 그래픽스 제어기.
  9. 청구항 8에 있어서, 각각의 이미지 벡터 부분은 B 데이터를 포함하고, 메모리 매트릭스는 C 메모리 열을 가지며, 상기 메모리 열 C은 각각의 이미지 벡터 부분의 데이터의 수와 하나의 메모리 행의 이미지 벡터 부분의 수 A의 곱(C=B·A)과 동일한, 그래픽스 제어기.
  10. 청구항 8에 있어서, 상기 데이터는 픽셀 데이터인, 그래픽스 제어기.
  11. 청구항 8에 있어서, 상기 데이터는 래스터 순서로 이미지 매트릭스내에 정렬되는, 그래픽스 제어기.
  12. 청구항 11에 있어서, 이미지 프로바이더로부터 이미지 매트릭스를 수신하여 메모리에 상기 이미지 매트릭스를 저장하는 것을 더 포함하며, 상기 메모리는 상기 메모리 매트릭스와 동일 갯수의 메모리 행 및 메모리 열로 구성되는, 그래픽스 제어기.
  13. 청구항 8에 있어서, 메모리로부터 이미지 매트릭스를 페칭(fetching)하여 상기 메모리로부터 판독된 데이터를 그래픽스 디스플레이 장치에 전송하는 것을 더 포함하며, 상기 디스플레이 장치의 디스플레이 영역은 메모리 매트릭스와 동일 갯수의 메모리 행 및 메모리 열로 구성되는, 그래픽스 제어기.
  14. 이미지 매트릭스에 의해 규정되는 이미지의 효율적 회전을 위해 제공되는 그래픽스 디스플레이 시스템으로서, 상기 이미지의 각각의 데이터는 상기 이미지 매트릭스의 특정 이미지 행 및 특정 이미지 열에 대응하는, 그래픽스 디스플레이 시스템으로서,
    데이터를 제공하는 이미지 프로바이더;
    데이터를 랜더링하는 그래픽스 디스플레이 장치;
    복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리; 및
    그래픽스 제어기를 포함하되, 상기 그래픽스 제어기는:
    특정 매핑 방식에 따라 데이터 각각을 복수개의 메모리 행 및 복수개의 메모리 열로 구성되는 메모리 매트릭스에 매핑하는 메모리 저장 방식 제어기를 포함하되, 상기 매핑 방식은
    (a) 양쪽이 이미지 행 중 하나에 대응하는 적어도 2개의 데이터; 및
    (b) 적어도 2개의 이미지 벡터 부분 - 제1 이미지 벡터 부분은 각각이 이미지 열 중 하나에 대응하는 적어도 2개의 데이터를 포함하며, 제2 이미지 벡터 부분은 각각이 이미지 열 중 다른 하나에 대응하는 적어도 2개의 다른 데이터를 포함함 - 을 상기 메모리 행 중 하나에 매핑시키는 것을 포함하는, 그래픽스 디스플레이 시스템.
  15. 청구항 14에 있어서, 상기 이미지 프로바이더 및 디스플레이 장치는 상기 그래픽스 제어기로부터 떨어져 있는, 그래픽스 디스플레이 시스템.
  16. 청구항 14에 있어서, 상기 제1 이미지 벡터 부분의 적어도 제1 데이터와 상기 제2 이미지 벡터 부분의 적어도 제1 데이터는 제1 이미지 행에 대응하고, 상기 제1 이미지 벡터 부분의 적어도 제2 데이터와 상기 제2 이미지 벡터 부분의 적어도 제2 데이터는 제2 이미지 행에 대응하는, 그래픽스 디스플레이 시스템.
  17. 청구항 16에 있어서, 각각의 이미지 벡터 부분은 B 데이터를 포함하고, 메모리 매트릭스는 C 메모리 열을 가지며, 상기 메모리 열 C은 각각의 이미지 벡터 부분의 데이터의 수와 하나의 메모리 행의 이미지 벡터 부분의 수 A의 곱(C=B·A)과 동일한, 그래픽스 디스플레이 시스템.
  18. 청구항 16에 있어서, 상기 데이터는 래스터 순서로 이미지 매트릭스내에 정렬되는, 그래픽스 디스플레이 시스템.
KR1020060060304A 2005-07-25 2006-06-30 이미지 회전을 위한 방법 및 장치 KR100804898B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/188,531 2005-07-25
US11/188,531 US7512287B2 (en) 2005-07-25 2005-07-25 Method and apparatus for efficient image rotation

Publications (2)

Publication Number Publication Date
KR20070013205A KR20070013205A (ko) 2007-01-30
KR100804898B1 true KR100804898B1 (ko) 2008-02-20

Family

ID=37650481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060060304A KR100804898B1 (ko) 2005-07-25 2006-06-30 이미지 회전을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US7512287B2 (ko)
JP (1) JP2007034304A (ko)
KR (1) KR100804898B1 (ko)
CN (1) CN1905000A (ko)
DE (1) DE102006022062A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170020250A (ko) * 2015-08-14 2017-02-22 주식회사 에스디에이 디지털 마이크로미러 디바이스 제어기 및 그의 노광 이미지 출력 처리 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4849392B2 (ja) * 2005-08-26 2012-01-11 株式会社メガチップス 画像処理装置
US8111259B1 (en) * 2006-07-06 2012-02-07 Marvell International Ltd. Image processing apparatus having context memory controller
TWI328390B (en) * 2006-12-22 2010-08-01 Sunplus Technology Co Ltd Method for accessing image data and method for accessing yuv420 image data thereof
US8363982B2 (en) * 2007-10-09 2013-01-29 Nec Corporation Method for rotating image, program for rotation, recording medium, and rotation device
JP5128242B2 (ja) * 2007-11-01 2013-01-23 シャープ株式会社 画像表示システム、情報機器、表示制御装置、表示制御方法、表示制御プログラム及びコンピュータ読み取り可能な記録媒体
US8477146B2 (en) 2008-07-29 2013-07-02 Marvell World Trade Ltd. Processing rasterized data
US8098959B2 (en) * 2008-10-29 2012-01-17 Aptina Imaging Corporation Method and system for frame rotation within a JPEG compressed pipeline
US8976200B1 (en) * 2009-03-18 2015-03-10 Marvell International Ltd. Display controller for rotation of image data
US20110234636A1 (en) * 2010-03-24 2011-09-29 Dsp Group Ltd. Method and integrated circuit for image manipulation
US8670521B2 (en) 2011-06-02 2014-03-11 Carestream Health, Inc. Method for generating an intraoral volume image
US8797359B2 (en) * 2011-11-29 2014-08-05 Apple Inc. Inline image rotation
KR101999163B1 (ko) * 2012-06-15 2019-10-01 (주)한국티이에스 영상 신호 변환 장치
US8922803B2 (en) * 2013-02-27 2014-12-30 Ricoh Company, Ltd. Bitmap rotation mechanism
US11113062B2 (en) * 2013-07-15 2021-09-07 Texas Instruments Incorporated Inserting predefined pad values into a stream of vectors
KR102254676B1 (ko) * 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
CN104331861B (zh) * 2014-11-14 2017-10-10 广东威创视讯科技股份有限公司 图像旋转方法和系统
KR102555347B1 (ko) * 2016-10-04 2023-07-14 삼성디스플레이 주식회사 디스플레이 시스템 및 이의 구동 방법
CN113281983B (zh) * 2021-04-21 2022-06-17 广东瑞芯智能科技有限公司 智能手表画面显示的控制方法、系统、智能手表及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920701938A (ko) * 1989-08-01 1992-08-12 원본미기재 화상처리장치
JPH06162182A (ja) * 1992-11-18 1994-06-10 Okayama Nippon Denki Software Kk イメージデータ回転処理方式
JP2002215129A (ja) * 2001-01-19 2002-07-31 Keyence Corp 画面データ作成装置、画面データ作成方法、画面データ作成プログラムおよびそれを記録した記録媒体
JP2005022387A (ja) * 2003-07-04 2005-01-27 Hitachi Information Technology Co Ltd 画像データ回転処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111192A (en) 1989-12-20 1992-05-05 Xerox Corporation Method to rotate a bitmap image 90 degrees
US5910794A (en) * 1994-07-13 1999-06-08 Oce Printing Systems Gmbh Method and apparatus for storing and rotating bit patterns
JPH10501901A (ja) 1995-04-07 1998-02-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 画像の回転のための方法および装置
US6011585A (en) * 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
CA2252751C (en) 1998-01-29 2006-10-03 Nec Corporation Method and apparatus for rotating image data
US6442302B2 (en) * 1998-09-17 2002-08-27 Xerox Corporation Rotated read-out of JPEG compressed images
JP3981658B2 (ja) 2003-09-30 2007-09-26 松下電器産業株式会社 画像処理方法および画像処理装置
US20050249435A1 (en) * 2004-05-06 2005-11-10 Rai Barinder S Apparatuses and methods for rotating an image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920701938A (ko) * 1989-08-01 1992-08-12 원본미기재 화상처리장치
JPH06162182A (ja) * 1992-11-18 1994-06-10 Okayama Nippon Denki Software Kk イメージデータ回転処理方式
JP2002215129A (ja) * 2001-01-19 2002-07-31 Keyence Corp 画面データ作成装置、画面データ作成方法、画面データ作成プログラムおよびそれを記録した記録媒体
JP2005022387A (ja) * 2003-07-04 2005-01-27 Hitachi Information Technology Co Ltd 画像データ回転処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170020250A (ko) * 2015-08-14 2017-02-22 주식회사 에스디에이 디지털 마이크로미러 디바이스 제어기 및 그의 노광 이미지 출력 처리 방법

Also Published As

Publication number Publication date
US7512287B2 (en) 2009-03-31
CN1905000A (zh) 2007-01-31
JP2007034304A (ja) 2007-02-08
US20070019005A1 (en) 2007-01-25
DE102006022062A1 (de) 2007-02-01
KR20070013205A (ko) 2007-01-30

Similar Documents

Publication Publication Date Title
KR100804898B1 (ko) 이미지 회전을 위한 방법 및 장치
JP5091220B2 (ja) テクスチャ情報をコード化するための方法および装置
KR20110077894A (ko) 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
KR100817057B1 (ko) 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템
KR20180054797A (ko) 프리-페칭에 의한 효율적 디스플레이 프로세싱
WO2017222633A1 (en) Image rotation method and apparatus
CN106846255B (zh) 图像旋转实现方法及装置
KR20180002635A (ko) 그래픽 프로세싱을 위한 표면 포맷에 기초한 적응적 메모리 어드레스 스캐닝
US7742636B2 (en) Method and apparatus for scaling down a bayer domain image
US20110032262A1 (en) Semiconductor integrated circuit for displaying image
US10733694B2 (en) Semiconductor device for processing image data in layers for display by a display device
US7545416B2 (en) Image processing device and camera including CPU which determines whether processing performed using external memory
KR100283413B1 (ko) 텍스처 매핑시스템
US20120042149A1 (en) Multimode accessible storage facility
TWI240221B (en) Memory access device, semiconductor device, memory access method and recording medium
US8947445B2 (en) Display controller and display device including the same
CN105427235A (zh) 一种图像浏览方法及系统
CN107273072B (zh) 图片显示方法、装置及电子设备
US20060098031A1 (en) System and method for effectively performing image rotation procedures in a compressed domain
KR100297716B1 (ko) 높은멀티비트자유도의반도체메모리장치
JP2005228073A (ja) 画像処理装置、マイクロコンピュータ及び電子機器
US20110234636A1 (en) Method and integrated circuit for image manipulation
EP1351189A1 (en) Image processing
CN111988554B (zh) 一种显示设备多分区数据的采样方法及终端
KR101719273B1 (ko) 디스플레이 컨트롤러 및 이를 포함하는 디스플레이 장치

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
FPAY Annual fee payment

Payment date: 20130118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee