KR19980703654A - 종방향 배향의 디스플레이를 위하여 화상을 회전시키는 하드 웨어 - Google Patents
종방향 배향의 디스플레이를 위하여 화상을 회전시키는 하드 웨어 Download PDFInfo
- Publication number
- KR19980703654A KR19980703654A KR1019970707053A KR19970707053A KR19980703654A KR 19980703654 A KR19980703654 A KR 19980703654A KR 1019970707053 A KR1019970707053 A KR 1019970707053A KR 19970707053 A KR19970707053 A KR 19970707053A KR 19980703654 A KR19980703654 A KR 19980703654A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- orientation
- software
- image
- signal
- Prior art date
Links
- 238000013519 translation Methods 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 239000004973 liquid crystal related substance Substances 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 2
- 239000011159 matrix material Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 4
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- 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
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Digital Computer Display Output (AREA)
Abstract
본 발명에 의하면, 종방향 배향의 소프트웨어 주소를 종방향 배향이지만 횡방향 구성의 디스플레이 주소로 변환하기 위한 시스템이 제공된다. 시스템은 중앙처리장치(CPU), 디스플레이 장치, 및 주소 변환 시스템을 포함한다. CPU는 소프트웨어 주소를 생성한다. 디스플레이 장치의 배향에 근거하여, 주소 변환 시스템은 현재상태소프트웨어 주소를 전송하거나 종방향 배향의 디스플레이 주소를 나타내기 위해 주소를 변환한다. 주소 변환 시스템은 함수 L=1n(HD)/1n2 및 M=1n(WD)/1n2에 따라서 변환된다. 여기서 HD는 횡방향 배향의 디스플레이 장치의 화소 길이이고 WD는 횡방향 배향의 디스플레이 장치의 화소 너비이다. L은 최상위 물리적 주소 비트로서 변환하기 위한 최하위비트 소프트웨어 주소 비트수를 나타내고, M은 최하위 물리적 주소 비트로서 인버트시키고 변환하기 위한 최상위 소프트웨어 주소 비트 수를 나타낸다. 결과적인 주소는 종방향 배향을 위하여 90도 반시계방향으로 회전되었던 디스플레이 장치에서 화소 위치를 나타낸다.
Description
컴퓨터 시스템은 비트맵 포맷에 화상들을 저장한다. 비트맵들은 디스플레이 제어기가 화소(pixel)에 상응하는 비트들의 시퀀스를 판독하고 화소를 제공(rendition) 하기 위해 시퀀스를 디스플레이로 전송할 수 있도록 조직화된다. 디스플레이 제어기는 전체 화상이 디스플레이될 때까지 연속적인 화소에 대한 처리를 반복한다.
비트맵의 조직은 화상 크기(dimension) 및 화상 배향(orientation)(즉, 종방향 도는 횡방향)을 정의한다. 화상의 길이가 화상의 너비보다 더 크다면 화상이 종방향 배향(portrait-oriented)이고, 화상의 너비가 화상의 길이보다 더 크다면 횡방향 배향(landscape-oriented)이다. 도 1(a)는 횡방향 배향의 화상 비트랩을 도시한다. 이 화상의 너비(W1)는 화상의 길이(H1)보다 크다. 도 2(a)는 종방향 배향의 화상 비트맵을 도시한다. H1는 W1보다 크다. 도 1(a) 및 도 2(a)에서 화살표는 통상적으로 화소들의 비트맵 기억장치에 저장되는 소프트웨어 주소지정 패턴들을 도시한다.
디스플레이의 듀티 싸이클(duty cycle)을 최대화하기 위해, 바꾸어 말해서 주어진 스캔(scan) 라인의 연속적인 재생 싸이클들사이의 시간 주기를 최소화하기 위해서, 음극선관들(CRTs) 또는 액정 디스플레이들(LCDs) 같은 디스플레이 장치들은 통상적으로 횡방향 구성으로 되어있다. 즉, 디스플레이 장치들은 화소가 횡방향 배향의 패턴에서 재생될 수 있도록 물리적 주소 방식을 포함하고 있다. 도 1(b)에서 화살표로 도시된 바와 같이 전형적인 횡방향 배향의 디스플레이는 상단 왼쪽 모서리에서 시작하여, 첫 번째 행(row)에서 오른쪽으로 진행하고, 행들을 통해 아래쪽으로 진행하면서 재생된다.
컴퓨터 시스템 또는 애플리케이션의 경우, 종방향 배향의 디스플레이를 포함하는 것이 바람직하다. 이런 시스템에서, CRT 및 LCD는 물리적으로 90도 회전된다. 도 2(b)에서 화살표들은 물리적으로 회전된 디스플레이의 경우, 재생 주소 방식은 (하단 왼쪽 모서리로 90도 반시계방향 회전된) 최초 화소 위치에서 시작하고 동일한 순서로 계속하는 횡방향 배향인 것을 나타낸다.
도 1(a)에서 도시된 소프트웨어 주소지정 패턴은 도 1(b)에서 도시된 물리적 주소 패턴과 동일한 것이므로, 횡방향 소프트웨어 주소가 횡방향 물리적 주소로 변환될 필요가 없다. 그러나, 도 2(a)에 도시된 소프트웨어 주소지정 패턴은 도 2(b)에 도시된 물리적 주소 패턴과 동일하지 않다. 그래서, 종방향 화상 주소들은 종방향으로 배향되는 횡방향 구성의 디스플레이를 위해 물리적 주소로 변환될 필요가 있다.
종래기술은 프로그램 또는 특별한 드라이버(driver)를 이용하여 화상을 90도 회전시켜 소프트웨어 주소들을 물리적 주소들로 변환한다. 전형적인 회전 프로그램이 비트맵 시퀀스를 드로잉(draw)하도록 지시될 때, 먼저 프로그램은 90도 회전될 때 새로운 화소 좌표들을 결정하기 위해 소프트 변환 동작을 실행하고나서 변환된 좌표를 이용하여 드로잉(drawing) 동작을 실행한다. 특별한 드로잉(drawing) 동작들에서, 추가 소프트웨어는 회전된 드로잉(drawing)을 특별한 경우로 취급할 필요가 있다. 예를 들어, 회전된 그래픽 디스플레이에서 텍스트 문자들을 드로잉(draw) 하기 위해 폰트(font) 데이터가 저장되는 정상적인 바이트 방식의 비회전 배향보다 오히려 회전 배향에서 폰트 기억장치로부터 비트맵 폰트 화소들을 검색하는 것이 필요할 것이다. 이것은 주어진 문자와 단지 단일 라인에 대해 회전된 비트맵 폰트 데이터를 검색하기 위해 수개의 추가 메모리 싸이클들을 필요로 한다. 일반적으로, 화상을 회전시키기 위해 드로잉(drawing) 동작에 대한 많은 추가 판독 및 변환 동작들은 상당한 컴퓨터 처리 자원 및 시간을 소모시킨다. 이들 문제점들은 더 크거나 또는 더 복잡한 화상들을 회전시킬 때 복합되어 있다. 그러므로, 비효율적인 소프트웨어 프로그래밍을 사용하지 않거나 또는 재생 동작들을 방해하지 않고 종방향 배향의 디스플레이를 위하여 화상을 회전시키는 시스템이 필요하다.
본 발명은 일반적으로 화상(image) 처리에 관한 것으로서, 특히 종방향 배향의 디스플레이를 위하여 화상을 회전시키기 위한 하드웨어 시스템 및 방법에 관한 것이다.
도 1(a)는 횡방향 배향의 소프트웨어 주소지정 패턴을 도시하는 블록도.
도 1(b)는 횡방향 배향이면서 횡방향 구성의 디스플레이 주소 방식을 도시하는 블록도.
도 2(a)는 종방향 배향의 소프트웨어 주소지정 패턴을 도시하는 블록도.
도 2(b)는 종방향 배향이지만 횡방향 구성의 디스플레이 주소 방식을 도시하는 블록도.
도 3은 본 발명에 따라 종방향 배향의 디스플레이를 위하여 화상을 회전시키는 컴퓨터 시스템의 블록도.
도 4는 도 3의 그래픽 시스템의 블록도.
도 5는 도 4의 변환 시스템의 블록도.
도 6은 도 4의 그래픽 제어기의 블록도.
도 7(a)는 횡방향 배향의 4×8 소프트웨어 주소 매트릭스를 도시하는 표.
도 7(b)는 디스플레이 장치가 90도 반시계방향으로 회전될 때 물리적 주소 매트릭스를 도시하는 표.
도 7(c)는 도 7(b)표를 2진수로 표현한 표.
도 7(d)는 종방향 배향의 소프트웨어 주소지정 매트릭스를 도시하는 표.
도 7(e)는 도 7(c)의 물리적 2진수 주소들과 도 (7d)의 종방향 배향의 소프트웨어 주소 매트릭스를 비교하기 위한 표.
도 8은 도 5의 일반적인 경우 주소 변환 회로의 회로도.
도 9는 소프트웨어 주소를 물리적 디스플레이 장치 주소로 매핑하기 위한 바람직한 방법을 도시하는 흐름도.
도 10은 디스플레이 장치에서 화소를 재생하기 위한 바람직한 방법을 도시하는 흐름도.
본 발명은 종방향으로 배향되는 횡방향 구성의 디스플레이 장치를 위해 종방향 배향의 소프트웨어 주소를 물리적 주소로 변환하기 위한 시스템 및 방법을 제공함으로써 종래 시스템의 한계 및 비효율성을 극복할 수 있다. 이 시스템은 프로그램 명령 및 메모리 관리 루틴을 실행하기 위하여 프로세서 버스에 결합된 중앙 처리 장치(CPU)를 포함하고 있다. 또한, 이 시스템은 메모리, 주변장치, 운용 시스템, 프로세서 버스에 결합된 그래픽 시스템, 및 그래픽 시스템에 결합된 디스플레이 장치를 포함하고 있다.
디스플레이 장치는 횡방향 구성이므로 디스플레이의 물리저 배향에 관계없이 횡방향 패턴에서 재생된다. 그래픽 시스템은 디스플레이 재생 및 화상 렌더링(rendering)을 제어하고, 화상 버퍼 메모리, 주소 변환 시스템, 및 그래픽 제어기를 포함하고 있다. 주소 변환 시스템은 소프트웨어 주소 및 CPU로부터 해당 화소정보를 수신하고 디스플레이 장치의 배향에 근거하여 현재 상태의 주소 또는 물리적 주소 종방향 위치를 지정하기 위해 변환되는 주소에 의해 지정된 화상 버퍼 메모리 위치로 화소 정보를 통과시킨다. 또한, CPU는 판독 동작을 실행할 수 있어 데이터를 전혀 통과시키지 않는다. 화상 버퍼 메모리는 디스플레이 화상을 정의하는 변환된 비트맵 매트릭스(matrix)를 저장한다. 이때, 그래픽 제어기는 화상 버퍼 메모리에 저장된 변환된 비트맵에 의해 정의된 화소 정보를 디스플레이 장치로 전송시킨다.
주소 변환 시스템은 다중화기, 주소 변환 회로 및 구성 레지스터를 포함하고 있다. 구성 레지스터는 디스플레이 장치의 물리적 배향을 회방향 또는 종방향으로 지시하는 신호를 저장한다. 주소 변환 회로는 함수들에 따라 설계된다.
L=1n(HD)/1n2 이고 M=1n(WD)/1n2이며, 여기서 HD는 디스플레이 장치의 화소에서 길이이고, WD는 디스플레이 장치의 화소에 너비이다. L은 최상위 물리적 주소 비트로서 변환하기 위한 최하위 소프트웨어 주소 비트 수를 나타내고, M은 인버트된 최하위 물리적 주소 비트로서 변환하기 위한 최상위 소프트웨어 주소비트 수를 나타낸다. 결과적인 주소는 디스플레이 장치에서 90도 반시계방향으로 회전된 화상에 대한 물리적 주소를 나타낸다. 다중화기는 제1입력에서 CPU에 의해 생성된 소프트웨어 주소 및 제2입력에서 주소 변환 회로에 의해 변환된 화상 주소를 수신한다. 구성 레지스터에서 저장된 배향 신호에 근거하여, 다중화기는 소프트웨어 주소 또는 변환된 주소를 화상 버퍼 메모리로 전송한다.
그래픽 제어기는 제2다중화기, 재생 논리 및 메모리 주소 조정기를 포함하고 있다. 제2다중화기는 재생 논리로부터 재생 주소 및 주소 변환 시스템으로부터 논리적 주소를 수신한다. 메모리 주소 조정기로부터 수신된 조정 신호에 근거하여, 제2다중화기는 재생 또는 논리적 주소를 화소 생성을 위한 디스플레이 장치로 전송한다. 본 발명은 종방향 배향의 물리적 주소 변환에 대해 종방향 배향의 소프트 웨어가 필요 없는 소프트웨어 프로그램을 제공하기 때문에, 시스템 성능은 개선된다. 또한, 종방향 배향의 디스플레이를 위하여 화상을 회전시키기 위한 시스템은 회전된 경우에 대해 공간적이거나 또는 추가적인 소프트웨어에 대한 개발의 필요성을 제거한다. 이러한 시스템의 경우, 종래의 소프트웨어 또는 드라이버가 두개의 종방향 및 횡방향 배향에서의 드로잉(drawing)에 이용될 수 있다.
또한, 본 발명은 화상 회전을 실행하기 위한 방법들을 제공한다. 이 방법은 구성 정보를 검색하는 단계, 기록 동작을 실행하기 위한 소프트트웨어 주소 및 해당 화소 데이터를 생성하는 단계, 및 데이터를 화상 버퍼 메모리로 전송하고 주소를 변환 시스템으로 전송하는 단계를 포함하고 있다. 변환 시스템은 주소가 변환이 필요한지를 결정하고 필요하다면 주소를 변환한다. 변환은 전술한 바와 같이 함수들을 이용하여 실행된다. 이때, 주소가 지정된 주소에서 화소 데이터를 저장하는 화상 버퍼 메모리로 전송된다.
또 다른 방법은 재생 주소를 생성하는 단계, 재생 주소를 화상 버퍼 메모리로 전송하는 단계, 및 화상 버퍼 메모리가 재생 주소에 의해 지정된 위치에서 저장된 화소 데이터를 전송하는 단계, 및 화소 재생을 위한 디스플레이로 재생 주소 및 화소 데이터를 전송하는 단계를 포함하고 있다.
도 3은 본 발명에 따른 종방향 배향의 디스플레이 매트릭스를 생성하기 위해 종방향배향의 소프트웨어 매트릭스를 회전시키기 위한 컴퓨터 시스템(300)의 블록도이다. 시스템(300)은 주소 생성같은 프로그램 명령 및 메모리 관리 루틴을 실행하기 위한 프로세서 버스(320)에 결합된 중앙처리장치(CPU)(310)를 포함하고 있다. 또한 시스템(300)은 메모리(330), 주변장치(340), 운용 시스템(350), 프로세서 버스(320)에 결합된 그래픽 시스템(370), 및 그래픽 시스템(370)에 결합된 디스플레이 장치(360)를 포함하고 있다.
메모리(330)는 임의 접근 메모리(램)(RAM), 판독 전용 메모리(롬)(ROM) 또는 2차 디스크 메모리를 포함하고, 기타 데이터, CPU(310)로 실행하기 위한 프로그램, 및 프로그램을 실행하는 중간 결과를 전형적으로 저장한다. 주변 장치(340)는 프린터, 플로피 디스크 드라이브, 키보드 등을 포함한다. 운용 시스템(350)은 CPU(310)에 의해 실행된 처리를 제어하고 제공하는 메모리에 저장된 프로그램이다. 디스플레이 장치(360), 예를 들어 CRT 또는 LCD는 전형적으로 횡방향 구성이고 사용자에게 컴퓨터 생성 정보를 디스플레이한다. 횡방향 구성의 디스플레이 장치는 도 1(b) 및 2(b)에서 처럼 횡방향 패턴에서 재생된다.
그래픽 시스템(370)은 디스플레이 장치(360)를 위한 스크린 재생 및 화상 렌더링 루틴을 제어한다. 지시되면, 그래픽 시스템(370)은 종방향으로 배향되지만 횡방향 구성의 디스플레이 장치(360)를 위해 종방향 배향의 소프트웨어 주소를 물리적 주소로 변환한다.
소프트웨어 주소는 디스플레이 장치(360)에서 디스플레이를 위해 의도된 화상에서 위치를 지정하고, 마이크로소프트(Microsoft)사의 마이크로소프트 워드(Microsoft Word) 또는 앨더스(Aldus)사의 슈퍼페인트(Superpaint) 같은 소프트웨어 응용 프로그램에 의해 생성될 수 있다. 소프트웨어 주소 방식은 디스플레이 장치(360)의 배향에 따른 것이다. 즉, 디스플레이 장치(360)가 횡방향 배향에서 사용하기 위해 의도된 것이면, 소프트웨어 주소 방식은 도 7(a) 에서 도시된 패턴을 따른다. 디스플레이 장치(360)가 횡방향 배향에서 사용하기 위해 의도된 것이면, 소프트웨어 주소 방식은 도 7(d) 에서 도시된 패턴을 따른다. 물리적 주소는 디스플레이장치(360)에서 화소 위치를 지정한다. 물리적주소 방식은 도 7(a) 및 도 7(b)에 도시된 바와 같이 디스플레이 장치(360)의 배향에 관계없이 일정하다. 도 7(b)에 도시된 바와 같이, 회전된 경우에 대한 물리적 주소 방식은 도 7(d)에 도시된 바와 같이 소프트웨어 주소 방식과 동일한 것이 아니기 때문에, 회전된 경우에 대한 소프트웨어 및 물리저 주소사이의 주소 매핑이 필요하다. 도 7(a), 도 7(b) 및 도 7(d)의 관계는 하기에서 더 상세하게 설명되어 있다.
도 4는 화상 버퍼 메모리(410), 주소 변환 시스템(420), 및 그래픽 제어기(430)를 포함하는 그래픽 시스템(370)의 블록도이다.
화상 버퍼 메모리(410)는 디스플레이 장치(360)에 나타나는 화상을 정의하는 비트맵 매트릭스를 저장한다. 비트캡 매트릭스는 화소 위치, 색상, 해상도, 대조등을 포하하여 화소 정보를 정의하는 비트의 시퀀스를 포함하고 있다. 비트맵 매트릭스의 조직에 근거하여, 화상은 횡방향 배향 또는 종방향 배향의 디스플레이에 대해 정렬될 수 있다.
화상 버퍼 메모리(410)는 CPU(310)로부터 버스(320)의 데이터 라인(440)에서 화소 정보 데이터를 수신하고, 그래픽 제어기(430)로부터 주소 라인(470)에서 메모리 주소를 수신한다. 수신된 메모리 주소는 라인(440)에서 데이터가 기록되거나 또는 라인(440)에서 데이터가 판독되는 화상 버퍼 메모리(410)에서의 위치를 지정한다. 화상 버퍼 메모리(410)는 바람직하게도 정적 램(SRAM) 디바이스이며, SRAM이 통합된 주소에 의해 접근되어서 패스트-페이지(fast-page)(FP) 동적 RAM(DRAM)을 이용할 때 발견되는 가능한 페이지-브레이크(page-break)의 비효율성을 피할 수 있기 때문이다. 그러나, DRAM 페이지 브레이크(page breaks)가 관리되기만 한다면, 또한 FP형 또는 다른 유사한 형태의 DRAM이 이용될 수 있다.
주소 변환 시스템(420)은 판독 또는 기록 동작을 실행시키기 위한 CPU(310)로부터 버스(320)의 주소 라인(450)에서 (소프트웨어 응용 프로그램에 의해 생성된) 주소를 수신한다. 기록 동작을 실행할 때, 디스플레이 장치(360)의 배향에 근거한 주소 변환 시스템(420)은 횡방향 디스플레이 장치(360)에 상응하여 현재 상태의 주신된 주소를 통과시키거나 또는 종방향 배향의 디스플레이 장치(360)에서 화소 위치에 상응하여 변환된 주소를 통과시킨다. 주소는 라인(460)에서 그래픽 제어기(430)로 전송된다. 이 주소는 논리적 주소로 언급되고 데이터 라인(440)에서 전송될 화소 데이터를 저장하기 위한 화상 버퍼 메모리(410) 위치를 지정한다.
그래픽 제어기(430)는 화상 버퍼 메모리(410) 및 디스플레이 장치(360)를 제어한다. 특히, 그래픽 제어기(430)는 주소 변환 시스템(420)으로부터 라인(460)에서 논리적 주소를 수신하고, 라인(470)에서 논리적 주소를 화상 버퍼 메모리(410)로 전송한다. 기록 동작에 대한 주소를 수신하자마자, 화상 버퍼 메모리(410)는 CPU(310)로부터 라인(440)에 전송될 데이터를 수신된 논리적 주소에 의해 지정된 위치로 저장된다. 판독 동작에 대한 주소를 수신하자마자, 화상 버퍼 메모리(410)는 라인(440)에서 데어터를 CPU(310)로 전송한다.
주소 변환은 화상 정보 또는 데이터가 화상 버퍼 메모리(410)에 저장되기 이전에 실행되기 때문에, 화상 버퍼 메모리(410) 비트맵 매트릭스는 디스플레이 장치(360)에 디스플레이될 화상의 배향을 정의한다. 데이터가 변환없이 화상 버퍼 메모리(410)에 저장되었다면, 횡방향 배향의 디스플레이 장치(360)는 횡방향 배향의 화상을 디스플레이할 것이다. 그러나, 데이터가 변환된 주소를 이용하여 화상 버퍼 메모리(410)에 저장되었다면, 종방향 배향이지만 횡방향 구성의 디스플레이 장치(360)는 종방향 배향의 화상을 디스플레이할 것이다.
또한, 그래픽 제어기(430)는 통상적으로 구현될 수 있는 디스플레이 장치(360) 재생 주소 생성을 실행한다. 그래픽 제어기(430)는 라인(480)에서 해당 화소 정보를 검색하기 위하여 라인(470)에서 재생 주소를 화상 버퍼 메모리(410)로 전송하고 신호 버스(490)에서 재생 주소 및 화소 정보를 디스플레이 장치(360)로 전송한다. 따라서, 디스플레이 장치(360)는 화소를 재생한다.
도 5는 다중화기(510), 주소 변환 회로(520), 및 구성 레지스터(530)를 포함하는 주소 변환 시스템의 블록도이다.
구성 레지스터(530)는 스크린 크기 및 디스플레이 배향같은 디스플레이 장치(360) 구성 정보를 저장한다. 스크린 크기는 디스플레이 너비(WD) 및 디스플레이 길이(HD)를 화소에서 지정한다. 디스플레이 배향은 디스플레이 장치(360)가 도 1(b)에 의해 도시된 바와 같이 횡방향 배향으로 위치하고 있는지 또는 도 2(b)에 의해 도시된 바와 같이 종방향 배향으로 위치하고 있는지를 지정한다. CPU(310)는 주문자 상표에 의한 생산자(Original Equipment Manufacturers:OEMs)에 의해 설정된 듀얼 인-라인 팩키지(Dual In-line Package:DIP) 스위치, 토글 스위치 또는 다른 수단으로부터 디스플레이 배향을 포함하고 있는 구성 정보를 검색하고, 구성 레지스터(530)에서 정보를 저장한다. 또한, CPU(310)는 행당 240 화소×열당 320 화소를 저장하기 위해 크기의 차수를 바꿀 수 있다. 디스플레이 장치(360)는 횡방향 구성이지만 디스플레이 배향 신호는 저장된 것으로 크기의 차수로부터 결정될 수 있다.
예를 들어, 디스플레이 장치(360)는 행당 320 화소×열당 240 화소를 나타내기 위해 구성될 수 있고, 종방향 배향으로 위치되도록 의도될 수 있다. 이 정보는 디스플레이 장치(360)에서 종래의 DIP 스위치에 저장될 수 있다. 이렇게, CPU(310)은 DIP 스위치로부터 정보를 검색하고 구성 레지스터(530)에서 행당 320 화소×열당 240 화소를 지시하는 크기, 및 종방향 배향을 지시하는 신호를 저장한다.
주소 변환 회로(520)는 종방향 배향이지만 횡방향 구성의 디스플레이 장치(360)를 위해 종방향 배향의 소프트웨어 주소를 물리적 주소로 변환한다. 즉, 주소 변환 회로(520)는 CPU(310)로부터 라인(450)에서 소프트웨어 주소를 수신하고 90도 반시계방향 회전할 때 종방향 배향의 디스플레이 장치(360)에서 화소 위치에 대한 새로운 화소 주소를 지정하기 위해 주소 비트들을 재정렬한다. 비록 디스플레이 장치(360)는 90도 시계방향으로 회전될 수 있지만, 반시계방향 회전은 용이한 일반적인 경우의 변환 함수를 제공한다.
종방향 배향의소프트웨어 주소 공간에서 종방향 배향이지만 횡방향 구성인 디스플레이 장치(360) 주소 공간으로의 변환은 함수에 근거한 것이다;
2L=HD또는 L=1n(HD)/1n2
여기서, HD는 도 1(b)에서 도시된 바와 같이 횡방향 배향의 디스플레이 장치(360)의 화소에서 길이이다. L은 최상위 물리적 주소 비트로서 재정렬하기 위한 최하위 소프트웨어 주소 비트 수를 나타낸다.
변환은 함수에 근거한 것이다;
2M=WD또는 M=1n(WD)/1n2
여기서, WD는 횡방향 배향 디스플레이 장치(360)의 화소에서 너비이다, M은 최하위 물리적 주소 비트로서 재정렬시키고 인버트(상보)시키기 위한 최상위 소프트웨어 주소 비트 수를 나타낸다. M+L은 소프트웨어 및 물리적 주소를 모두 지정하는 주소 비트 총수이다.
주소 변환 회로(520)는 라인(540)에서 새로운 변환된 주소를 다중화기(510)의 하나의 입력으로 통과시키고 CPU(310)로부터 라인(450)에서 소프트웨어 주소는 다중화기(510)의 제2입력에서 수신된다. 구성 레지스터(530)로부터 디스플레이 장치(360)의 배향을 지정하는 라인(550)에서 수신된 제어신호에 근거하여, 다중화기(510)는 2개의 입력 주소중 하나를 선택하고 주소 라인(460)에서 논리적 주소로서 선택된 것을 그래픽 제어기(430)(도 4)로 전송한다.
도 6은 다중화기(610), 재생 논리(620), 및 메모리 주소 조정기(630)를 포함하는 그래픽 제어기(430)의 블록도이다. 다중화기(610)는 재생 논리(620)로부터 라인(640)에서 재생 주소 신호를 수신하고, 주소 변환 시스템(420)으로부터 라인(460)에서 논리적 주소를 수신한다. 재생 논리(620)는 통상적인 재생 주소 생성 기술을 이용하여 디스플레이 장치(360)에서 화소 위치에 상응하는 재생 주소들을 생성할 수 있다.
메모리 주소 조정기(630)로부터 수신된 제어신호에 근거하여, 다중화기(610)는 라인(640)에서 재생신호 또는 라인(460)에서의 논리적 주소를 선택하고, 선택된 것을 라인(470)에서 화상 버퍼 메모리(410)로 전송한다. 메모리 주소 조정기(630)는 전송될 제어 신호를 결정하기 위해 우선순위 및 시간 관리 방식을 이용한다. 예를 들어, 메모리 주소 조정기(630)는 주소를 재생하고 다중 화소 재생에 대한 파이프라인(pipeline)의 재생 주소를 가능하게 하기 위해 우선순위를 부여한다. 논리적 주소가 선택되어 라인(470)에서 메모리 주소로서 화상 버퍼 메모리(410)(도 4) 위치로 전송될 때, CPU(310)로부터 라인(440)에서 데이터는 논리적 주소에 의해 지정된 화상 버퍼 메모리(410) 위치로 기록된다. 재생 주소가 선택되고 라인(470)에서 메모리 주소로서 화상 버퍼 메모리(410)로 전송될 때, 화상 버퍼 메모리(410)는 라인(480)에서 재생 주소 및 화소 정보를 디스플레이 장치(360)로 진행시키는 라인(480)에서 해당 화소 정보 또는 데이터를 그래픽 제어기(430)로 전송한다.
이렇게, CPU(310)는 디스플레이 장치(360)의 배향에 관계없이 동일한 방식으로 화상 버퍼 메모리(410)에 화소 정보 또는 데이터를 기록하고 화상 버퍼 메모리(410)에서 정보를 판독한다. 소프트웨어 변환 프로그램이 필요치 않는다.
도 7(a) 내지 도 7(e)는 종방향 배향의 물리적 주소 변환 함수에 대한 종방향 배향의 소프트웨어 주소를 도시한다. 특히, 도 7(a)는 횡방향 배향의 화상에 대한 소프트웨어 주소를 나타내고 횡방향 배향의 디스플레이 장치(360)에 대한 물리적 주소를 나타내는 횡방향 배향의 4×8 주소 매트릭스를 도시하는 표이다. 횡방향 배향의 소프트웨어 및 물리적 주소 방식이 바람직하게 상단 왼쪽 모서리 주소 0에서 시작하여 8개의 주소들의 첫 번째 행에서 진행하여 4개의 행들을 통해 아래로 연속적인 행들을 스캔한다. 소프트웨어 주소들이 물리적 주소들과 동일하기 때문에, 소프트웨어 주소에서 물리적 주소 변환이 필요없다.
그러나, 디스플레이 장치(360)는 90도 반시계방향 회전되고 적합한 구성 정보가 구성 레지스터(530)(도 5)에 저장된다면, 이때 디스플레이 장치에 대한 물리적 주소 매트릭스는 도 7(b)에서 도시된 바와 같이 나타난다. 특히 도 7(b)에서 회전된 디스플레이 장치(360)에 대한 물리적 주소 매트릭스는 하단 왼쪽 모서리 주소 0에서부터 시작하고 8개의 주소들의 첫 번째 열을 통해 계속 위로 4개의 열을 통해 오른쪽으로 연속적인 열을 스캔한다. 도 7(c)는 도 7(b)의 표에서 숫자들과 동일한 2진수를 도시하는 표이다. 도 7(a)에서 32개의 주소들이 있기 때문에, 각 주소는 도 7(c)에서 5개의 2진수 비트들로 정의된다.
물리적 디스플레이 장치(360)는 90도 반시계방향으로 회전되었고, CPU(310)는 도 7(d)에서 도시된 바와 같이 종방향 배향의 주소 방식을 지정하는 새로운 소프트웨어 주소 매트릭스를 이용한다. 이렇게, 새로운 소프트웨어 주소 방식은 상단 왼쪽 모서리 주소 0에서 시작하고 4개의 열 주소들의 첫 번째 행에서 계속하여 8개의 행을 통해 아래로 연속적인 행들을 스캔한다. 그러나, 도 7(d)에서 도시된 바와 같이 새로운 소프트웨어 주소 매트릭스는 도 7(b)에서 도시된 바와 같이 물리적 주소매트릭스와 동일하지 않아서 변환이 필요하다.
도 7(e)는 도 7(d)의 종방향 배향의 소프트웨어 주소 매트릭스와 도 7(c)의 물리적 2진수 주소를 비교하기 위한 표이다. 전술된 도 5 주소 변환 함수를 도 7(a) 내지 도 7(e)의 예(example)에 적용하면 L=1n4/1n2=2이고 M=1n8/1n2=3이다. 이렇게, 본 발명은 소프트웨어 주소에서 2개의 최하위비트 A1 및 A0를 물리적 주소에서 2개의 최상위비트로 변환한다. 또한, 본 발명은 3개의 최상위소프트웨어 주소 비트 A4, A3 및 A2를 인버트시키고, 이때 3개의 최하위 물리적 주소 비트로 변환한다. 변환 함수는 논리적 주소 및 물리적 주소를 생성하기 위해로서 소프트웨어 주소를 재정렬한다.
디스플레이 장치(360)의 크기가 2N화소들의 차수에 있지 않을 때 디스플레이 장치(360)는 M+L 주소 라인에 의해 주소 지정될 수 있는 모든 메모리 공간에 대한 해당 위치를 포함하지 않기 때문에, 시스템(300)은 오프셋을 구현한다. 생성된 모드 논리적 주소들이 디스플레이 장치(360)에서 위치로 매핑(map)될 수 있도록 보증하기 위하여, 오프셋은 통상적인 방식으로 소프트웨어 또는 드라이버에 의해 처리될 수 있다. 이들 오프셋은 OEM 또는 다른 생산자에 의해 설정된 DIP 스위치들에서 구성 레지스터(530)(도 5)에서 저장될 수 있다.
예를 들어, 전형적인 횡방향 배향의 디스플레 장치가 해당 320 화소×열당 240화소를 제공하기 위해 구성된다. 320 및 240은 모두 2의 정수배가 아니다. 그러므로 오프셋이 필요하다. 우선, 주소 변환 회로(520)는 2의 정수배의 차수에서 크기, 주로 512×256을 이용하여 가장 인접한 더 큰 주소 공간에 근거하여 설계된다. 오프셋들은 다음에 더 큰 주소 공간에 근거하여 결정된다. 즉, 이용할 수 있는 메모리 공간의 192개의 가장 오른쪽 횡방향 배향 열과 16개의 가장 하단의 횡방향 배향 행이 디스플레이 장치(360) 위치에 매핑될 수 없다. 이들 오프셋이 저장되어 논리적 주소를 이들 영역에 대해 매핑하는 것을 억제하는데 이용된다. 디스플레이 장치(360)가 종방향 형태로 90도 반시계방향 회전되면, 특히 이용되는 메모리 공간의 가장 상단 192개의 행 및 가장 오른쪽 16개의 열들이 매핑되지 않는다.
오프셋 계산을 피하기 위해, 디스플레이 장치(360)는 2의 정수배와 동일한 화소 크기를 가지도록 설계된다.
도 8은 일반적인 주소 매트릭스에 대해 설계된 주소 변환 회로(520)를 도시한다. 도 5를 참조하여 설명된 변환 함수에 따라서, L은 최상위 물리적 주소 비트로서 재정렬하기 위한 최하위 소프트웨어 주소 비트 수이고, M은 최하위 물리적 주소 비트로서 인버트시키고 재정렬하기 위한 최상위 소프트웨어 주소 비트 수이며, M+L은 소프트웨어 또는 물리적 주소를 지정하는 주소 비트 총수이다. 그러므로, 최상위 소프트웨어 주소 A(M+L-1)내지 A(L)가 구현되고 메모리 주소 위치 MA(M-1)내지 MA0로 매핑된다. 최하위 소프트웨어 주소 A(L-1)내지 A0는 메모리주소 위치 MA(M+L-1)내지 MA(M)로 매핑된다. 또한, 도 8은 소프트웨어 주소에 근거하여 물리적 주소에 대한 함수, 주소 A(L-1)…A0에 이은를 도시한다.
소프트웨어 주소를 물리적 디스플레이 장치(390) 주소로 매핑하기 이한 바람직한 방법(900)을 도시하는 흐름도이다. 방법(900)은 디스플레이 장치(360) 크기 및 형태를 포함하는 디스플레이 장치(360)에서 구성 정보를 검색하는 CPU(310)에 의해 단계 (910)에서 시작한다. 단계(920)에서, 소프트웨어 응용 프로그램은 화소 데이터 및 검색된 구성 정보에 근거하여 소프트웨어 주소를 생성한다. 구성 정보가 횡방향 배향의 디스플레이 장치(360)를 지정하면, 소프트웨어 응용 프로그램은 도 7(a)에서 도시된 바와 같이 횡방향 배향의 소프트웨어 주소 방식을 이용한다. 구성 정보가 종방향 배향의 디스플레이 장치(360)를 지정하면, 소프트웨어 응용 프로그램은 도 7(d)에서 도시된 바와 같이 종방향 배향의 소프트웨어 주소 방식을 이용한다.
단계(930)에서, CPU(310)는 화소 데이터를 데이터 버스(440)에 위치시키고, 소프트웨어 주소를 주소 버스에 위치시킨다. 소프트웨어 주소는 단계(940)에서 주소 변환이 필요한지를 결정하는 주소 변환 시스템(420)에 의해 수신된다. 디스플레이 장치(360)가 횡방향 배향이라고 구성 정보가 지적하면, 주소 변환이 필요하지 않는다. 그렇지 않으면, 주소 변환이 필요하면, 이 경우에 주소는 도 5에 참조하여 전술한 바와 같은 함수에 따라서 변환된다. 주소 변환 시스템(420) 현재 상태의 소프트웨어 주소 또는 디스플레이가 90도 반시계방향 회전되었다면 화소 위치를 지정하기 위해 변환된 주소인 논리적 논리를 생성한다.
단계(940)에서, 논리적 주소가 라인(460)상에서 그래픽 제어기(430)로 전송되고, 단계(950)에서 이것은 라인(470)에서 메모리 주소로서 논리적 주소를 화상 버퍼 메모리(410)로 통과시킨다. 메모리 주소를 수신하자마자, 단계(960)에서 버퍼 메모리(410)는 지정된 메모리 위치에서 데이터 라인(440)에 있는 화소 데이터를 저장한다. 그리고나서 방법(900)은 종결된다.
도 10은 디스플레이 장치(360)에서 화소를 재생하기 위한 바람직한 방법(1000)을 도시하는 흐름도이다. 방법(1000)은 통상적으로 재생 주소를 생성시키는 그래픽 제어기(430)와 단계(1010)에서 시작된다. 단계(1020)에서 다중화기(610)는 재생 주소를 선택하고, 선택된 것을 라인(470)에서 메모리 주소로서 화상 버퍼 메모리(410)로 통과시킨다. 단계(1030)에서 메모리 주소를 수신하자마자, 화상 버퍼 메모리(410)는 화상 버퍼 메모리(410)에서 지정된 위치에서 그래픽 제어기(430)로 화소 데이터를 라인(480)상에서 전송한다. 단계(1040)에서, 그래픽 제어기(430)는 위치를 재생시키는 디스플레이 장치(360)로 버스(490)를 통해 재생 주소와 검색된 화소 데이터를 전송한다. 그리고나서 방법(1000)은 종료된다.
시스템(300)은 유익하게 종방향 배향이지만 횡방향 구성의 디스플레이 장치(360)를 위해 종방향 배향의 소프트웨어 주소를 물리적 주소로 변환한다. 첫번째로, 변환이 하드웨어에서 실행되기 때문에, 비효율적인 소프트에어 변환 응용이 필요없다. 두 번째로, 변환이 화소 데이터가 화상 버퍼 메모리(410)에 저장되기전에 실행되기 때문에, 재생에 대한 연속적인 변환들을 필요없다. 세번째로, 변환이 하드웨어에서 실행되기때문에 CPU(310)는 디스플레이 장치(360)에 관계없이 동일한 방식으로 메모리에 접근한다.
본 발명의 바람직한 실시예의 상기 설명은 단지 예시의 방법에 의한 것이고, 시스템(300)의 변형들이 본 발명에 의해 제공된다. 예를 들어, 디스플레이 장치(360)는 횡방향 구성으로 설명되지만, 또한 디스플레이 장치(360)는 종방향 구성이 될 수 있고변환 함수가 바뀔수도 있다. 두 번째로, 비록 디스플레이 장치(360)는 반시계방향으로 회전되지만 디스플레이 장치(360)는 시계방향으로 회전될 수 있고 상보 주소 변환 함수가 구현될 수 있다. 세 번째로, 시스템(300)은 다중프로세서 또는 다중스레드(multithread) 환경에서 구체활 될 수 있다. 네 번째로, 비록 화상 버퍼 메모리(410)는 메모리(330)에서 분리 메모리 블록으로서 도시되지만, 시스템(300)은 통합된 메모리 아키텍처를 이용해 구현될 수 있다. 다섯 번째로, 본 발명은 레이저 프린터같은 디스플레이 장치외에 스캐닝 출력 디바이스와 이용될 수 있다.
전술된 실시예들은 예시의 목적으로 제안된 것이지 그것이 본 발명을 총망라하거나 또는 제한하도록 의도된 것은 아니며 여러 변형 및 수정이 전술한 바에 비추어서 가능하다.
전술한 바와 같이 본 발명에서, 디스플레이 장치(360)는 횡방향 구성으로 설명되지만, 또한 디스플레이 장치(360)는 종방향 구성이 될 수 있고 변환 함수가 바뀔수도 있고, 비록 디스플레이 장치(360)는 반시계방향으로 회전되지만 디스플레이 장치(360)는 시계방향으로 회전될 수 있어 상보 주소 변환 함수가 구현될 수 있으며, 시스템(300)은 다중프로세서 또는 다중스레드(multitheread) 환경에서 구체화 될 수 있고, 비록 화상 버퍼 메모리(410)는 메모리(330)에서 분리 메모리 블록으로서 도시되지만 시스템(300)은 통합된 메모리 아키텍처를 이용해 구현될 수 있으며, 레이저 프린터같은 디스플레이 장치외에 스캐닝 출력 디바이스와 이용될 수 있다.
Claims (25)
- 행을 가로지르는 열, 및 스크린을 가로지르는 행에서 연속적으로 화소를 나타내는 화상 화소 데이터 신호를 수신하기 위한 제1입력단자;해당 화소 데이터 신호의 상기 행 및 상기 열을 연속적으로 식별하는 화상 화소 주소 신호를 수신하기 위한 제2입력단자;상기 화상 화소 주소 신호를 수신하여 상기 화상 화소 주소 신호를 열을 가로지르는 행, 및 스크린을 가로지르는 열에서 연소적으로 화소를 나타내는 해당 화소 데이터 신호들의 상기 열 및 상기 행을 연속적으로 식별하는 논리적 주소 신호로 변환하기 위한 주소 변환 시스템;상기 화상 화소 데이터 신호를 수신하여 해당 논리적 주소 신호에 의해 식별된 열 및 행에서 상기 화상 화소 데이터 신호를 저장하기 위한 화상 버퍼 메모리; 및상기 화상 버퍼 메모리로부터 상기 화상 화소 데이터 신호를 수신하여 해당 논리적 주소 신호들에 의해 식별된 열 및 행에서 상기 화상 화소 데이터를 디스플레이하기 위한 디스플레이를 포함하여 이루어진 그래픽 시스템.
- 제1항에 있어서,상기 화상 버퍼 메모리의 주소 지정을 제어하기 위한 상기 화상 버퍼 메모리와 상기 주소 변환 시스템사이에 결합된 그래픽 제어기를 더 포함하는 그래픽 시스템.
- 제2항에 있어서,상기 그래픽 제어기는,스크린 재생 주소 신호를 생성하기 위한 재생 논리 수단을 더 포함하는 그래픽 시스템.
- 제3항에 있어서,상기 그래픽 제어기는,상기 논리적 주소 신호 및 상기 재생 주소 신호를 수신하고, 상기 주소 신호들중 하나를 선택하는 선택 신호에 응답하여 메모리 주소 신호로서 버퍼 메모리로 전송하는 다중화기와 상기 선택 신호를 생성하기 위한 메모리 주소 조정기를 포함하고, 상기 버퍼 메모리는 해당 메모리 주소 신호에 의해 식별된 열 및 행에서 상기 화상 화소 데이터 신호를 저장하는 그래픽 시스템.
- 제1항에 있어서,상기 주소 변환 시스템은,상기 화상 화소 주소 신호를 수신하여 이 화상 화소 주소 신호를 변환된 주소 신호로 변환하기 위한 주소 변환 회로; 및상기 화상 화소 주소 신호 및 상기 변환된 주소 신호를 수신하기 위한 다중화기를 구비하는 논리 주소 선택기를 더 포함하는 그래픽 시스템.
- 제5항에 있어서,상기 논리적 주소 선택기는 선택 신호를 더 수신하고, 상기 주소 신호들중 하나를 선택하여 상기 선택 신호에 응답하여 상기 화상 버퍼 메모리로 통과시키는 그래픽 시스템.
- 화소 라인에서 횡방향 배향 길이(HD) 및 너비(WD)와 횡방향 구성의 디스플레이를 가지며 화상을 회전시키기 위한 그래픽 시스템에 있어서,소프트웨어 주소 및 해당 화소 데이터를 수신하기 위한 입력단자;(i) 상기 디스플레이의 배향을 나타내는 플래그를 저장하기 위한 구성 레지스터와, (ii) 플래그가 횡방향 배향을 지시할 때, 논리적 주소로서 소프트웨어 주소를 전송하기 위한 신호 라인과, (iii) 플래그가 종방향 배향을 지시할 때, L이 변환된 논리적주소에서 최상위비트로서 복사하기 위한 소프트웨어 주소에서의 최하위비트 수를 지정하고, M이 상기 변환된 논리적 주소에서 최하위비트로서 인버트 시키고 복사하기 위한 소프트웨어 주소에서의 최상위비트 수를 지정하는 함수 L=1n(HD)/1n2 및 M=1n(WD)/1n2에 따라서 논리적 주소로서 소프트웨어 주소를 변환하기 위한 변환 회로를 이루어진 주소 변환 시스템;재생 주소를 생성하기 위한 재생 주소 생성 회로소자;선택된 주소로서 상기 재생 주소 및 상기 논리적 주소중 하나를 선택하기 위한 조정 회로소자; 및상기 해당 선택 주소에서 상기 화소 데이터를 저장하기 위한 화상 메모리를 포함하여 이루어진 그래픽 시스템.
- 디스플레이를 위한 화상의 방향을 재설정하기 위해 주소들을 변환시키기 위한 시스템에 있어서,소프트웨어 행 주소부와 소프트웨어 열 주소부를 포함하여 각각의 소프트웨어 주소를 절대적으로 가지는 화소 데이터 신호를 생성하기 위한 중앙처리장치;상기 소프트웨어 열 주소부에 상응하는 변환된 행 주소부 및 상기 소프트웨어 행 주소부에 상응하는 변환된 열 주소부를 가지는 변환된 주소를 생성하기 위한 주소 변환 회로; 및상기 변환된 주소에서 화상 화소를 디스플레이하기 위한 출력 디바이스를 포함하여 이루어진 주소 변환 시스템.
- 제8항에 있어서,상기 소프트웨어 주소가 종방향 구성에서 상기 데이터 신호를 정렬하고, 상기 변환된 주소가 상기 화상을 형성하기 위해 횡방향 구성에서 상기 데이터 신호를 정렬하는 주소 변환 시스템.
- 제8항에 있어서,상기 출력 디바이스는 화소에서 제1배향 길이(HD) 및 너비(WD)를 가지며, 상기 주소 변환 회로는 L이 변환된 주소에서 최상위비트로서 복사하기 위한 소프트웨어 주소에서의 최하위비트 수를 지정하고, M이 상기 변환된 주소에서 최하위비트로서 인버트시키고 복사하기 위한 소프트웨어 주소에서의 최상위비트 수를 지정하는 함수 L=1n(HD)/1n2 및 M=1n(WD)/1n2에 따라서 소프트웨어 주소를 변환하는 주소 변환 시스템.
- 제8항에 있어서,상기 출력 디바이스는,LCD 디스플레이를 포함하는 주소 변환 시스템.
- 제8항에 있어서,상기 출력 디바이스는,프린터를 포함하는 주소 변환 시스템.
- 화소에서 제1배향 길이(HD) 및 너비(WD)와 제1배향 구성의 디스플레이를 가지며, 제2배향에서 상기 제1배향으로 화상을 회전시키기 위한 시스템에 있어서,각각의 소프트웨어 주소를 절대적으로 가지며, 디스플레이에 디스플레이되도록 연속적인 화소 데이터 신호를 생성하기 위한 중앙처리장치;L=1n(HD)/1n2에서 상기 소프트웨어 주소의 상기 L 최하위비트를 변환된 논리적 주소의 L 최상위비트에 복사하고, M=1n(WD)/1n2에서 상기 소프트웨어 주소의 상기 M 최상위비트를 인버트시키고나서 상기 논리적 주소의 L 최하위비트에 복사하기 위한 주소 변환 회로; 및상기 디스플레이 이용하기 위해 각각의 논리적 주소에 상기 화소 데이터 신호를 저장하기 위한 메모리를 포함하여 이루어진 화상 회전 시스템.
- 제13항에 있어서,상기 디스플레이는,액정 디스플레이인 화상 회전 시스템.
- 제13항에 있어서,상기 주소 변환 시스템은,상기 논리적 주소로서 변환되지 않은 제1배향 소프트웨어 주소를 상기 메모리로 전송하기 위한 바이패스 라인을 더 포함하는 화상 회전 시스템.
- 제15항에 있어서,상기 디스플레이의 상기 배향을 나타내는 값들을 저장하기 위한 구성 레지스터; 및상기 소프트웨어 주소 및 상기 변환된 논리적 주소를 수신하여, 상기 디스플레이의 형태가 제1배향일 경우 상기 논리적 주소로서 상기 소프트웨어 주소를 상기 메모리로 통과시키고 상기 디스플레이의 형태가 제2배향일 경우 상기 논리적 주소로서 상기 변환된 주소를 상기 메모리로 통과시키기 위한 다중화기를 구비하는 상기 바이패스 라인을 더 포함하는 화상 회전 시스템.
- 제13항에 있어서,상기 디스플레이를 재생하기 위한 상기 메모리에 결합된 그래픽 제어기를 더 포함하는 화상 회전 시스템.
- 제17항에 있어서,상기 그래픽 제어기는 재생 주소를 생성하고, 상기 재생 주소에 의해 지정된 상기 메모리 위치에서 상기 화소 정보를 검색하여 상기 디스플레이로 상기 화소 정보 및 상기 재생 주소를 통과시키는 화상 회전 시스템.
- 화소에서 제1배향 길이(HD) 및 너비(WD)와 제1배향 구성의 디스플레이를 가지며, 상기 디스플레이의 제2배향에서 상기 제1배향으로 화상을 회전시키기 위한 시스템에 있어서,소프트웨어 주소 신호 및 해당 화소 데이터 신호를 생성하기 위한 중앙처리장치;제1배향 또는 제2배향으로서 디스플레이 배향을 지시하는 값을 저장하기 위한 레지스터;상기 배향 신호가 제1배향을 지시할 때 논리적 주소 신호로서 상기 소프트 웨어 주소 신호를 통과시키기 위한 라인과, 상기 배향 신호가 제2배향을 지시할 때, L이 변환된 논리적 주소에서 최상위비트로서 변환시키기 위해 소프트웨어 주소에서 최하위비트 수를 지정하고, M이 상기 변환된 논리적 주소에서 최하위비트로서 인버트시키고 변환시키기 위해 소프트웨어 주소에서 최상위비트 수를 지정하는 함수 L=1n(HD)/1n2 및 M=1n(WD)/1n2에 따라서 논리적 주소로서 상기 소프트웨어 주소를 변환하기 위한 변환 회로로 이루어진 주소 변환 시스템; 및상기 논리적 주소에 의해 지정된 위치에서 상기 화소 데이터를 저장하기 위한 메모리를 포함하여 이루어진 화상 회전 시스템.
- 화소 데이터 신호에 의해 나타난 화상의 상기 배향을 제어하기 위한 방법에 있어서,제1배향을 가지는 화상을 구성하는 화소 데이터 신호의 입력 스트림을 수신하는 단계;상기 화상의 상기 배향이 회전될 것인지를 지시하는 배향 선택 데이터를 수신하는 단계;상기 화상이 회전되지 않음을 상기 배향 선택 데이터가 지시한다면, 이때 상기 메모리에서 연속적인 순서로 주소 위치에 상기 화소 데이터 신호를 기록하는 단계;상기 화상이 회전됨을 상기 배향 선택 데이터가 지시한다면, 이때 상기 메모리에서 회전된 순서로 주소 위치에 상기 화소 데이터 신호를 기록하는 단계; 및상기 메모리에서 스캐닝 출력 디바이스로 연속적인 순서로 주소 위치에서 상기 화소 데이터 신호를 복사하는 단계를 포함하여 이루어진 화상 회전 제어 방법.
- 제20항에 있어서,상기 버퍼 메모리에서의 상기 위치는 열과 행에서 조직화되고, 연속적인 순서로된 상기 주소들은 상기 메모리에서의 열의 위치 주소들이며, 상기 회전된 순서로된 상기 주소들은 상기 메모리의 행에서 위치 주소들인 화상 회전 제어 방법.
- 화소 길이(HD) 및 화소 너비(WD)와 제1배향을 가지는 그래픽 디스플레이를 제2배향으로 회전시키는 방법에 있어서,디스플레이 배향를 지시하는 구성 정보를 검색하는 단계;상기 디스플레이에서 화상 위치를 나타내는 소프트웨어 주소를 생성하고 해당 화소 데이터를 생성하는 단계;상기 디스플레이 배향이 상기 제1 배향을 지시할 때, 논리적 주소로서 상기 소프트웨어 주소를 통과시키는 단계;상기 디스플레이 배향이 상기 제2배향을 지시할 때, L이 최상위 논리적 주소 비트로서 복사하기 위한 최하위 소프트웨어 주소 비트 수를 나타내고, M이 상기 최하위 논리적 주소 비트로서 인버트시키고 복사하기 위한 최상위 소프트웨어 주소비트 수를 지정하는 함수 L=1n(HD)/1n2 및 M=1n(WD)/1n2에 근거하여 소프트웨어 주소를 변환하여 논리적 주소로서 상기 변환된 주소를 통과시키는 단계;상기 논리적 주소에 의해 지정된 메모리 위치에서 상기 화소 데이터를 저장하는 단계; 및상기 저장된 데이터를 디스플레이하는 단계를 포함하여 이루어진 그래픽 디스플레이를 회전하기 위한 방법.
- 제22항에 있어서,상기 제1배향은 횡방향 배향이고, 상기 제2배항은 종방향 배향인 그래픽 디스플레이를 회전하기 위한 방법.
- 화소 데이터 신호에 의해 나타난 화상의 상기 배향을 제어하기 위한 시스템에 있어서,제1배향을 가지는 화상을 구성하는 화소 데이터 신호의 입력 스트림을 수신하기 위한 수단;상기 화상의 상기 배향이 회전될 것인지를 지시하는 배향 선택 데이터를 수신하기 위한 수단;상기 화상이 회전되지 않음을 상기 선택 데이터가 지시한다면, 버퍼 메모리에서 연속적인 순서로 주소 위치에 상기 화소 데이터 신호를 기록하기 위한 수단;상기 화상이 회전됨을 상기 선택 데이터가 지시한다면, 상기 메모리에서 회전된 순서로 주소 위치에 상기 화소 데이터 신호를 기록하기 위한 수단; 및연속적인 순서로 주소 위치에서 상기 화소 데이터 신호를 상기 메모리에서 스캐닝 출력 디바이스에 복사하기 위한 수단을 포함하여 이루어진 화상 배향 제어 방법.
- 제24항에 있어서,상기 버퍼 메모리에서의 상기 위치는 행과 열에서 조직화되고, 연속적인 순서로된 상기 주소들은 상기 메모리의 열 위치 주소들이며, 상기 회전된 순서로된 상기 주소들은 상기 메모리의 행 위치 주소들인 화상 배향 제어 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/596,953 | 1996-02-05 | ||
US08/596,953 US5734875A (en) | 1996-02-05 | 1996-02-05 | Hardware that rotates an image for portrait-oriented display |
US08/596,953 | 1996-02-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980703654A true KR19980703654A (ko) | 1998-12-05 |
KR100417123B1 KR100417123B1 (ko) | 2004-05-06 |
Family
ID=24389424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970707053A KR100417123B1 (ko) | 1996-02-05 | 1997-01-17 | 종방향-지향의디스플레이를위해화상을회전시키는하드웨어 |
Country Status (7)
Country | Link |
---|---|
US (2) | US5734875A (ko) |
EP (1) | EP0840914B1 (ko) |
JP (1) | JP3951308B2 (ko) |
KR (1) | KR100417123B1 (ko) |
CN (1) | CN1120447C (ko) |
DE (1) | DE69721184T2 (ko) |
WO (1) | WO1997028516A1 (ko) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6011585A (en) | 1996-01-19 | 2000-01-04 | Apple Computer, Inc. | Apparatus and method for rotating the display orientation of a captured image |
US6226016B1 (en) * | 1996-02-05 | 2001-05-01 | Seiko Epson Corporation | Display apparatus and method capable of rotating an image by 180 degrees |
US5734875A (en) * | 1996-02-05 | 1998-03-31 | Seiko Epson Corporation | Hardware that rotates an image for portrait-oriented display |
USRE38471E1 (en) * | 1996-09-27 | 2004-03-23 | Apple Computer, Inc. | Method and apparatus for display image rotation |
US6559825B2 (en) | 1996-10-31 | 2003-05-06 | Kopin Corporation | Display system for wireless pager |
US6486862B1 (en) * | 1996-10-31 | 2002-11-26 | Kopin Corporation | Card reader display system |
US6677936B2 (en) | 1996-10-31 | 2004-01-13 | Kopin Corporation | Color display system for a camera |
US6545654B2 (en) | 1996-10-31 | 2003-04-08 | Kopin Corporation | Microdisplay for portable communication systems |
US5973734A (en) | 1997-07-09 | 1999-10-26 | Flashpoint Technology, Inc. | Method and apparatus for correcting aspect ratio in a camera graphical user interface |
GB9722766D0 (en) | 1997-10-28 | 1997-12-24 | British Telecomm | Portable computers |
US6909419B2 (en) * | 1997-10-31 | 2005-06-21 | Kopin Corporation | Portable microdisplay system |
US6552704B2 (en) | 1997-10-31 | 2003-04-22 | Kopin Corporation | Color display with thin gap liquid crystal |
US6011542A (en) * | 1998-02-13 | 2000-01-04 | Sony Corporation | Graphical text entry wheel |
US6275622B1 (en) * | 1998-06-30 | 2001-08-14 | Canon Kabushiki Kaisha | Image rotation system |
US7865832B2 (en) * | 1999-07-26 | 2011-01-04 | Sony Corporation | Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit |
US6615293B1 (en) * | 1998-07-01 | 2003-09-02 | Sony Corporation | Method and system for providing an exact image transfer and a root panel list within the panel subunit graphical user interface mechanism |
US6208767B1 (en) * | 1998-09-01 | 2001-03-27 | Xerox Corporation | Hardware rotation of images with line sorting in L*A*B* color space |
US6262751B1 (en) * | 1998-10-26 | 2001-07-17 | Seiko Epson Corporation | Hardware rotation of an image on a computer display |
US6317141B1 (en) | 1998-12-31 | 2001-11-13 | Flashpoint Technology, Inc. | Method and apparatus for editing heterogeneous media objects in a digital imaging device |
US6400851B1 (en) * | 1999-01-28 | 2002-06-04 | Microsoft Corporation | Rotating image data |
JP2000276127A (ja) * | 1999-03-23 | 2000-10-06 | Hitachi Ltd | 情報処理装置及び表示制御装置 |
US6639603B1 (en) | 1999-04-21 | 2003-10-28 | Linkup Systems Corporation | Hardware portrait mode support |
KR100534672B1 (ko) * | 1999-05-26 | 2005-12-08 | 삼성전자주식회사 | 온 스크린 디스플레이를 피벗시키기 위한 기능을 갖는 영상표시장치 |
US6621940B2 (en) * | 1999-06-10 | 2003-09-16 | Xerox Corporation | Image rotation in opponent color space |
US6980183B1 (en) * | 1999-07-30 | 2005-12-27 | Intel Corporation | Liquid crystal over semiconductor display with on-chip storage |
US6809737B1 (en) * | 1999-09-03 | 2004-10-26 | Ati International, Srl | Method and apparatus for supporting multiple monitor orientations |
US6982728B1 (en) * | 2000-05-18 | 2006-01-03 | Palm, Inc. | Portable electronic system having multiple display modes for reorienting the display of data on a display screen |
US20020015009A1 (en) * | 2000-06-19 | 2002-02-07 | Davis Patrick Harold | Transit sign |
US6795304B1 (en) * | 2001-04-27 | 2004-09-21 | Palmone, Inc. | Keyboard sled with rotating screen |
US7142195B2 (en) | 2001-06-04 | 2006-11-28 | Palm, Inc. | Interface for interaction with display visible from both sides |
JP2003066938A (ja) * | 2001-08-24 | 2003-03-05 | Sharp Corp | 表示コントローラ、表示制御方法、および画像表示システム |
US7159194B2 (en) * | 2001-11-30 | 2007-01-02 | Palm, Inc. | Orientation dependent functionality of an electronic device |
US6888532B2 (en) * | 2001-11-30 | 2005-05-03 | Palmone, Inc. | Automatic orientation-based user interface for an ambiguous handheld device |
US6847385B1 (en) | 2002-06-01 | 2005-01-25 | Silicon Motion, Inc. | Method and apparatus for hardware rotation |
JP4597496B2 (ja) * | 2003-09-04 | 2010-12-15 | 三菱電機株式会社 | 表示装置 |
US6992679B2 (en) * | 2003-12-22 | 2006-01-31 | Texas Instruments Incorporated | Hardware display rotation |
US20050249435A1 (en) * | 2004-05-06 | 2005-11-10 | Rai Barinder S | Apparatuses and methods for rotating an image |
US20050275665A1 (en) * | 2004-06-14 | 2005-12-15 | Keith Kejser | System and method for efficiently supporting image rotation modes by utilizing a display controller |
KR100620372B1 (ko) * | 2004-08-18 | 2006-09-08 | 삼성전자주식회사 | 영상을 회전시키는 방법, 컴퓨터 및 저장매체 |
KR100602411B1 (ko) * | 2004-08-31 | 2006-07-20 | 주식회사 렛스비전 | 단일 버퍼 구조의 메모리 어드레스 제어방법 |
US7876977B2 (en) * | 2006-02-15 | 2011-01-25 | Conexant Systems, Inc. | Image processor and method of image rotation |
US9224145B1 (en) | 2006-08-30 | 2015-12-29 | Qurio Holdings, Inc. | Venue based digital rights using capture device with digital watermarking capability |
US20080161686A1 (en) * | 2006-10-31 | 2008-07-03 | Nahi Halmann | Methods and apparatus for controlling handheld medical devices |
US8610830B2 (en) * | 2008-09-11 | 2013-12-17 | Apple Inc. | Video rotation method and device |
CN101388947B (zh) * | 2008-10-08 | 2011-04-06 | 北京创毅视讯科技有限公司 | 图像旋转***、图像旋转方法、解码芯片 |
US8723890B2 (en) * | 2010-12-23 | 2014-05-13 | Blackberry Limited | Handheld electronic device having sliding display and position configurable camera |
US9898126B2 (en) * | 2015-03-31 | 2018-02-20 | Toshiba Global Commerce Solutions Holdings Corporation | User defined active zones for touch screen displays on hand held device |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60231235A (ja) * | 1984-04-27 | 1985-11-16 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | イメ−ジ処理システム |
JPS6329791A (ja) * | 1986-07-23 | 1988-02-08 | ミノルタ株式会社 | 文字画像発生装置のフオント変換方式 |
JPH0773920B2 (ja) * | 1986-11-17 | 1995-08-09 | 日本電気株式会社 | n×nビットドットマトリックス90゜回転回路 |
JPS63178287A (ja) * | 1987-01-20 | 1988-07-22 | 株式会社東芝 | 表示装置 |
US5063526A (en) * | 1987-06-03 | 1991-11-05 | Advanced Micro Devices, Inc. | Bit map rotation processor |
US5133076A (en) * | 1989-06-12 | 1992-07-21 | Grid Systems Corporation | Hand held computer |
AU5943890A (en) * | 1989-06-12 | 1991-01-17 | Grid Systems Corporation | Display output rotation |
CN1053310A (zh) * | 1990-01-02 | 1991-07-24 | 栅格体系有限公司 | 屏幕显示输出的转动 |
US5199101A (en) * | 1990-10-03 | 1993-03-30 | Bell & Howell Publication Systems Company | On the fly image rotation system for high-speed printers |
EP0582824A2 (en) * | 1992-07-31 | 1994-02-16 | E.I. Du Pont De Nemours And Company | Orthogonal image rotation using matrix transposition |
US5432720A (en) * | 1992-11-13 | 1995-07-11 | International Business Machines Corporation | Rotatable pen-based computer |
US5450542A (en) * | 1993-11-30 | 1995-09-12 | Vlsi Technology, Inc. | Bus interface with graphics and system paths for an integrated memory system |
US5606348A (en) * | 1995-01-13 | 1997-02-25 | The United States Of America As Represented By The Secretary Of The Army | Programmable display interface device and method |
US5734875A (en) * | 1996-02-05 | 1998-03-31 | Seiko Epson Corporation | Hardware that rotates an image for portrait-oriented display |
-
1996
- 1996-02-05 US US08/596,953 patent/US5734875A/en not_active Expired - Lifetime
-
1997
- 1997-01-17 WO PCT/US1997/000796 patent/WO1997028516A1/en active IP Right Grant
- 1997-01-17 EP EP97901462A patent/EP0840914B1/en not_active Expired - Lifetime
- 1997-01-17 KR KR1019970707053A patent/KR100417123B1/ko not_active IP Right Cessation
- 1997-01-17 JP JP52768397A patent/JP3951308B2/ja not_active Expired - Fee Related
- 1997-01-17 CN CN97190056A patent/CN1120447C/zh not_active Expired - Fee Related
- 1997-01-17 DE DE69721184T patent/DE69721184T2/de not_active Expired - Lifetime
-
1998
- 1998-03-06 US US09/036,482 patent/US5956049A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0840914A1 (en) | 1998-05-13 |
US5956049A (en) | 1999-09-21 |
EP0840914B1 (en) | 2003-04-23 |
DE69721184T2 (de) | 2003-10-23 |
KR100417123B1 (ko) | 2004-05-06 |
CN1120447C (zh) | 2003-09-03 |
WO1997028516A1 (en) | 1997-08-07 |
US5734875A (en) | 1998-03-31 |
CN1178591A (zh) | 1998-04-08 |
JPH11504138A (ja) | 1999-04-06 |
JP3951308B2 (ja) | 2007-08-01 |
DE69721184D1 (de) | 2003-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19980703654A (ko) | 종방향 배향의 디스플레이를 위하여 화상을 회전시키는 하드 웨어 | |
KR100509517B1 (ko) | 영상을 180도 회전시킬 수 있는 디스플레이 장치 및 방법 | |
US7262776B1 (en) | Incremental updating of animated displays using copy-on-write semantics | |
EP0393722B1 (en) | Memory access control circuit for graphic controller | |
JP2796329B2 (ja) | 表示メモリとそれを備えた画像処理装置 | |
US5251298A (en) | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses | |
GB2149157A (en) | High-speed frame buffer refresh apparatus and method | |
US5670993A (en) | Display refresh system having reduced memory bandwidth | |
JPH0355832B2 (ko) | ||
JP2548765B2 (ja) | 表示装置 | |
US4924432A (en) | Display information processing apparatus | |
US5742298A (en) | 64 bit wide video front cache | |
US6809737B1 (en) | Method and apparatus for supporting multiple monitor orientations | |
US5416499A (en) | Bit map display controlling apparatus | |
JPH0352066B2 (ko) | ||
JP2587415B2 (ja) | メモリバンクの選択が可変なデ−タ処理システム | |
JPH0553548A (ja) | デイスプレイ制御装置 | |
JP2005321807A (ja) | イメージ供給方法及び図形メモリ制御装置 | |
JP2002117397A (ja) | カラーデータの画像メモリへのアクセス方法 | |
EP0519853A2 (en) | Hardware-assisted mapping for APA displays | |
JPH05346774A (ja) | 文字発生器の読み出し方法 | |
JPH09146510A (ja) | 自然画表示メモリのアクセス装置 | |
JPS61179490A (ja) | 英数字キヤラクタ、記号等を表すデ−タを転送する方法および装置 | |
JPH0126071B2 (ko) | ||
JPS6073572A (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 | ||
FPAY | Annual fee payment |
Payment date: 20130111 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20140107 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20150105 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |