KR20020060069A - 휴대용 lcd 장치에 고 칼러 분해능을 표시하는 방법 및장치 - Google Patents

휴대용 lcd 장치에 고 칼러 분해능을 표시하는 방법 및장치 Download PDF

Info

Publication number
KR20020060069A
KR20020060069A KR1020017013949A KR20017013949A KR20020060069A KR 20020060069 A KR20020060069 A KR 20020060069A KR 1020017013949 A KR1020017013949 A KR 1020017013949A KR 20017013949 A KR20017013949 A KR 20017013949A KR 20020060069 A KR20020060069 A KR 20020060069A
Authority
KR
South Korea
Prior art keywords
color
display
image
map
data
Prior art date
Application number
KR1020017013949A
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
Priority claimed from US09/454,607 external-priority patent/US6373462B1/en
Application filed by 야마우치 히로시, 닌텐도가부시키가이샤 filed Critical 야마우치 히로시
Publication of KR20020060069A publication Critical patent/KR20020060069A/ko

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/13Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  based on liquid crystals, e.g. single liquid crystal display cells
    • G02F1/133Constructional arrangements; Operation of liquid crystal cells; Circuit arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
    • 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
    • G09G3/34Control 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 by control of light from an independent source
    • G09G3/36Control 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 by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Mathematical Physics (AREA)
  • Optics & Photonics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Liquid Crystal (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

휴대용 액정 디스플레이(LCD:16) 포켓 비디오 게임 시스템(10)과 같은 제한된 메모리 칼러 맵 디스플레이 시스템의 효과적인 칼러 분해능은 액티브 디스플레이 시간(예를 들면, 디스플레이(16)상의 성공적인 라인의 래스터화사이의 수평 귀선 소거 구간(도 3))동안 칼러 맵핑 정보를 바꿈으로써 증가될 수 있다. 칼러 맵핑 정보의 서브셋(tl1,tl2)은 각 수평 귀선 소거 주기동안 재기록될 수 있다. 풀 칼러 비트맵 소스 이미지는 칼러 맵 업데이트의 사용을 최적화하여 칼러 맵 이미지(도 7a-7c)로 변환될 수 있다. 사진 및 사진과 같은 이미지는 일반적으로 인접하는 픽셀사이에서 급격한 변화를 나타내지 않기 때문에, 그러한 기술은 보다 적은 수의 상이한 칼러만의 동시 표시(예를 들면, 동시에 56가지의 상이한 칼러만)를 허용하는 하드웨어의 (예를 들면, 2048가지의 상이한 칼러를 갖는) 고 칼러 분해능으로 칼러 이미지를 표시할 수 있다.

Description

휴대용 LCD 장치에 고 칼러 분해능을 표시하는 방법 및 장치{METHOD AND APPARATUS FOR DISPLAYING HIGHER COLOR RESOLUTION ON A HAND-HELD LCD DEVICE}
소형 액정 디스플레이를 쉽게 이용할 수 있어서, 그러한 디스플레이를 사용하는 다양한 장치가 널리 보급되어 왔다. 세계적으로 아주 인기있는 일 예의 시스템은 닌텐도사의 GAME BOY COLOR®휴대용 비디오 게임 시스템을 들 수 있다. GAME BOY COLOR®의 LCD 스크린은 총 32,768가지의 칼러를 표시할 수 있다. 그러나, GAME BOY COLOR®액정 디스플레이를 구동하는 내부 하드웨어는 액정 디스플레이 스크린상에 동시에 표시될 수 있는 상이한 칼러의 수에 있어 매우 제한된 칼러 분해능을 갖는다.
특히, GAME BOY COLOR®시스템은 비트 맵(bit-mapped)이기 보다는 캐릭터 맵 (character-mapped)이며, 백그라운드 및 이동 물체 비디오 게임 캐릭터의 상이한칼러를 표시하기 위해 칼러 팔레트를 기반으로 한 칼러 맵핑 배열(color palette-based color-mapping arrangement)을 사용한다. 내부 액정 디스플레이 드라이버 하드웨어는 어느 한 순간에 활성일 수 있는 칼러 팔레트의 수에 따라 제한된다. 이것은 LCD 스크린상에 동시에 표시될 수 있는 칼러의 수를 제한하는 효과를 갖는다. 예를 들면, 칼러 LCD 디스플레이가 32,000가지 이상의 상이한 칼러를 표시할 수 있더라도, 내부 하드웨어는 상이한 칼러들의 수를 어느 특정 순간에 최대 56가지의 상이한 칼러로 제한한다.
GAME BOY COLOR®의 위와 같은 칼러 맵핑 기능은 독립적으로 지정되어야 할 각각의 개별적인 디스플레이 픽셀의 칼러를 허용하도록 풀 칼러 프레임 버퍼를 사용하는 시스템과 비교하여 낮은 메모리 요구(즉, 저렴한 가격)에 있어 이점을 제공한다. 이 트레이드-오프는 칼러의 풍부함이 칼러의 레퍼터리만큼 중요하지 않은 고속 액션 비디오 게임에 적극 수용될 수 있다. 그러나, 사진 품질의 정지 화상의 표시에 대해서, 풀 칼러 프레임 버퍼로 달성될 수 있는 것에 보다 접근한 칼러 다양성을 얻는 것이 매우 바람직하다.
본 발명은 칼러 디스플레이 장치에 관한 것이며, 상세하게는 제한된 칼러 분해능을 갖는 휴대용 디스플레이의 효과적인 칼러 분해능을 증가시키는 것에 관한 것이며, 보다 상세하게는 저가의 휴대용 비디오 게임 시스템에서 발견될 수 있는 것과 같은 휴대용 칼러 맵 액정 칼러 디스플레이 시스템의 효과적인 칼러 분해능을 증가시키는 기술에 관한 것이다.
이 특허의 파일은 칼러로 실행된 적어도 하나의 도면을 포함한다.
칼러 도면(들)으로 된 이 특허의 카피는 요청 및 필요한 요금의 지불로 특허청에 의해 제공될 것이다.
본 발명에 의해 제공되는 상술한 및 그 밖의 특징 및 장점은 도면과 관련된 바람직한 실시예의 아래 상세한 설명을 참조하여 보다 완전히 이해될 것이다.
도 1은 본 발명이 특히 유용한 휴대용 포켓 칼러 비디오 게임 시스템을 나타낸 도면.
도 2는 도 1 시스템의 블럭도.
도 2a는 도 2 시스템의 디스플레이 RAM의 메모리 맵.
도 2b는 도 2 시스템의 백그라운드 캐릭터 맵.
도 2c는 도 2 내부 RAM의 메모리 맵.
도 2c-1은 백그라운드 팔레트 기록 지정 및 기록 데이터 레지스터를 나타낸 도면.
도 2d는 도 2 시스템의 칼러 팔레트 영역의 메모리 맵.
도 2e는 도 2 시스템의 디스플레이 타이밍도.
도 3은 본 발명에 의해 제공되는 수평 귀선 소거 구간 인터럽트 핸들러의 흐름도.
도 3a는 칼러 팔레트 데이터를 효과적으로 업데이트하는 본 발명의 바람직한 실시예에 의해 제공되는 어셈블리어 코딩의 흐름도.
도 4는 도 1 시스템의 LCD 디스플레이 영역의 최적의 서브셋을 사용하는 본 발명의 바람직한 실시예에 의해 제공되는 기술을 나타낸 도면.
도 5는 본 발명의 바람직한 실시예가 어떻게 속성 소스 이미지의 칼러 값을 도 1 시스템에 의해 표시될 수 있는 칼러 리듀스드 캐릭터 맵 포맷으로 변환하는지를 나타낸 도면.
도 6은 도 5에 나타낸 동작을 수행하는 프로그램 제어 단계를 나타낸 흐름도.
도 6a는 4가지 칼러 값의 칼러 팔레트로부터 특정 소스 이미지 픽셀에 대한 최적의 칼러를 선택하는 본 발명의 바람직한 실시예에 의해 제공되는 프로그램 제어 단계의 흐름도.
도 7a-7c는 본 발명의 바람직한 실시예에 의해 제공되는 결과를 나타낸 도면.
LCD 스크린상에 보다 많은 칼러를 표시하기 위해, 우리는 디스플레이 시스템의 한계에 관해 학습하고 가능한한 많은 칼러를 동시에 표시해야 한다. 우리는 GA ME BOY COLOR®시스템에서 발생될 수 있는 이 문제점을 해결하기 위해 발명했지만, 동시에 표시 가능한 칼러의 수를 디스플레이 장치가 가능한 칼러의 총 수 보다 적게 제한하는 하드웨어를 갖는 어떠한 저가의 LCD 디스플레이 장치에도 적용될 수있다.
본 발명의 하나의 측면에 따르면, 우리는 액티브 디스플레이 시간동안 칼러 팔레트를 라인마다 바꿈으로써 보다 많은 칼러를 표시한다. 그러한 칼러 팔레트 업데이트는 디스플레이상의 성공적인 라인 래스터화(rasterization)사이의 수평 귀선 소거 구간(horizontal blanking interval)의 이점을 취함으로써 이루어질 수 있다. 각 수평 귀선 소거 주기동안, 우리는 액티브 메모리 영역에 로딩되는 칼러 팔레트의 절반을 재기록할 수 있다. 이것은 디스플레이 라인의 각 쌍에 대해서, LCD 디스플레이에 동시에 표시될 수 있는 보다 많은 칼러의 총 수를 제공하는 칼러 팔레트 모두를 재기록할 수 있다.
본 발명의 다른 측면에 따르면, 우리는 상술한 칼러 맵핑 업데이트의 최대한의 이점을 살려 풀 칼러 비트맵 소스 이미지의 칼러 맵 이미지로의 변환을 최적화할 수 있다. 예를 들면, 우리는 칼러 맵핑 데이터와 표시되어야 할 이미지 부분사이의 연관에 해당하는 최적의 청크(chunks)로 소스 이미지를 분할하는 이미지 재분할 프로세스를 사용할 수 있다. 우리는 그러한 대응을 최적화하기 위해 LCD 디스플레이에 의해 제공되는 디스플레이 영역의 특별한 서브셋도 사용할 수 있다. 3D 칼러 공간의 유클리드 거리를 기초로 한 최접근 칼러 리덕션 방법(closest-color col or-reduction method)을 사용하는 픽셀 평균화 데이터 리덕션 기술(pixel aver aging data-reduction technique)은 칼러 맵에 대한 칼러를 양자화하는데 사용될 수 있다.
보다 상세하게, 우리는 상술한 칼러 팔레트 업데이트를 위해 최적화되는 기술을 사용하여 LCD 디스플레이 시스템의 표시에 적합한 칼러 맵 이미지로 풀 칼러 소스 이미지를 변환할 수 있다. 예를 들면, 우리는 칼러 팔레트와 이미지 부분사이의 연관과 관련있는 최적의 청크로 소스 이미지를 분할하는 이미지 재분할 프로세스를 기초로 한 대상 이미지로 소스 이미지를 변환한다. 우리는 특정 이미지 부분과 칼러 팔레트사이의 대응을 최적화하기 위해 LCD 디스플레이에 의해 제공되는 디스플레이 영역의 사각형 서브셋에 우리의 이미지를 표시한다. 그 결과, 우리는 보다 적은 수의 상이한 칼러(예를 들면, 56가지의 칼러만)를 동시 표시하려 하는 하드웨어의 (예를 들면, 2048가지의 상이한 칼러를 갖는) 고칼러 분해능으로 칼러 이미지를 표시할 수 있다.
본 발명의 다른 측면에 따르면, 우리는 제한된 리소스 휴대용 LCD 디스플레이 시스템에 표시하기 적합한 칼러 맵 이미지로 풀 칼러 비트맵 소스 이미지를 변환하기 위해 픽셀 평균화 데이터 리덕션 기술을 사용한다. 우리는 하나의 평균화된 칼러를 제공하기 위해 4개의 인접 픽셀 칼러 값을 평균내어 최적의 칼러 서브셋을 얻기 위해 3D 칼러 공간의 유클리드 거리를 기초로 한 최접근 칼러 리덕션 방법을 사용한다. 우리는 4개의 선택된 팔레트 칼러 중 특정 소스 이미지 픽셀에 지정되어야 할 것을 판단하기 위해 칼러 거리도 사용할 수 있다. 특히, 바람직한 실시예는 각각이 2 ×2 픽셀인 미니 타일로부터 4가지 칼러를 얻으며, 한 가지 칼러를 얻기위해 2 ×2 픽셀의 미니타일로 표현되는 4 RGB 값을 평균낸다. 이것은 16 ×2 픽셀 타일에서 8가지 칼러를 유도한다. 바람직한 실시예는 16 ×2 픽셀 타일로 표현되는 8가지 칼러 중 팔레트로서의 4가지 칼러를 얻도록 3D 칼러 거리 계산을 사용한다.일단 4 칼러 팔레트가 얻어지면, 바람직한 실시예는 정해진 타일에 4가지 칼러중 하나를 사용하여 픽셀을 복사하기 위해 3D 거리 계산을 사용한다.
종래 기술의 칼러 비디오 게임 칼러 시스템의 일반적인 설명
도 1은 칼러 액정 디스플레이(LCD:16)상에 게임 캐릭터를 표시하는 닌텐도사의 GAME BOY COLOR®로서 알려진 종래 기술의 휴대용 칼러 디스플레이 게임 시스템 (10)을 나타낸다. 간략하게, 시스템(10)은 캐릭터 맵이며, 이동 물체 캐릭터 및 백그라운드 캐릭터를 표시할 수 있다. 시스템(10)은 칼러 팔레트를 기초로 한 칼러맵핑 배열을 사용하여 LCD 디스플레이(16)상에 표시하기 위해 칼러 정보를 발생한다. 백그라운드 캐릭터에 대해, 각 칼러 팔레트는 LCD 디스플레이(16)가 표시할 수 있는 총 32,768 칼러 중에서 선택된 4가지 칼러를 포함한다. 백그라운드(BG) 그래픽은 8 개의 팔레트, 즉 총 32가지의 상이한 칼러를 사용할 수 있다. 이동 물체(스프라이트 또는 OBJ)는 또 다른 8개의 팔레트를 사용할 수 있지만, 이 이동 물체 팔레트는 총 24가지의 상이한 칼러에 대한, 팔레트당 3가지 칼러만을 제공할 수 있다. 따라서, GAME BOY COLOR®디스플레이 스크린은 총 32,768가지의 가능한 칼러의 레퍼터리에서 동시에 56가지 칼러를 표시할 것이다.
보다 상세하게, 시스템(10)은 시스템(10)에 의해 실행되어야 할 특정 비디오 게임 또는 그 밖의 프로그램을 제공하는 메모리 기반 카트리지 장치(12)를 수용한다. 다른 게임 또는 그 밖의 애플리케이션은 다른 카트리지(12)를 삽입함으로써 플레이 될 수 있다. 시스템(10)은 다양한 오퍼레이팅 키(48a-48e)를 포함한다. 오퍼레이팅 키(48a)는 4 방향, 즉 위, 아래, 좌, 우로 칼러 LCD(16)에 표시되는 게임 캐릭터의 움직임을 지시한다. 오퍼레이팅 키(48b)는, 예를 들면, 게임 모드 선택 등에 사용되는 선택키이다. 오퍼레이팅 키(48c)는 게임 플레이를 시작하거나 게임의 진행을 일시적으로 멈추는 소위 시작키이다. 오퍼레이팅 키(48d,48e)는 푸쉬 버튼 스위치이다. 오퍼레이팅 키(48d,48e)를 동작시킴으로써, 칼러 LCD(16)상에 표시되는 게임 캐릭터의 다양한 움직임, 예를 들면, 무기 사용, 점프등을 (플레이되는 특정 게임에 따라) 표시할 수 있다. 오퍼레이팅 키(48a-48e)는 도 1에 나타낸 것과 같이 칼러 디스플레이 게임기(10)의 상부 표면에 배치되며, 시스템(10)은 디스플레이(16)상에 해당 캐릭터 및 백그라운드 움직임을 만들도록 실시간으로 이들 키(48)의 동작에 응답한다.
종래 기술의 시스템(10)의 블럭도인 도 2는 도트 매트릭스 디스플레이로서 제공되는 칼러 LCD(16)를 포함하는 칼러 디스플레이 게임 시스템(10)을 나타낸다. 칼러 LCD(16)는 칼러 이미지를 표시하기 위해 LCD 드라이버(22,24)에 의해 구동된다. LCD 드라이버(22)는 선택적으로, 예를 들면, LCD(16) 도트 매트릭스의 행을 구동하며, LCD 드라이버(24)는 선택적으로, 예를 들면, LCD 도트 매트릭스의 열을 구동한다. CPU(26)에 포함되는 칼러 디스플레이 처리 회로(28)에서 LCD 드라이버(22 ,24)로 칼러 이미지 신호가 공급된다.
CPU(26)는 CPU 코어(30)와 칼러 디스플레이 처리 회로(28)를 더 포함한다. CPU 코어(30)는 내부 ROM(32)과 내부 RAM(34)에 접속된다. CPU(26)는 프로그램 가능한 주파수 분할기(38)에 발진 신호를 공급하는 기본 수정 발진기(36)를 더 포함한다. 프로그램 가능한 주파수 분할기(38)는 CPU 코어(30)의 주파수 분할 데이터에 따라 기본 발진기(36)의 발진 신호를 분할하고, 분할된 신호를 공칭 속도 2.10MHz의 CPU 코어(30) 클럭으로서 공급한다.
커넥터(40)는 적절한 버스에 의해 CPU(26)에 접속된다. 카트리지(12)는 커넥터(40)에 선택적으로 부착된다. 카트리지(12)는 외부 ROM(42)과 SRAM(46)을 포함한다. ROM(42)은 비디오 게임 프로그램 명령 및 데이터를 저장한다. 각 카트리지의 SRAM(46)은 게임의 백업 데이터를 저장한다.
카트리지(12)로부터 공급되는 게임 프로그램 및 캐릭터 데이터와, 오퍼레이팅 키(48a-48e)로부터 공급되는 제어기 데이터에 따라, CPU(26)는 데이터 처리를 실행하고 필요시 확장 RAM(50)을 사용하여, 디스플레이 RAM(52)에 디스플레이 데이터를 기록한다. 전체적으로 디스플레이 RAM(52)은 칼러 LCD(16)의 스크린에서 상, 하 및 /또는 좌, 우로 디스플레이를 스크롤할 수 있는, 칼러 LCD(16)의 디스플레이 영역보다 큰 저장 영역을 갖는다.
종래 기술인 도 2a는 디스플레이 RAM(52)의 메모리 맵이다. 디스플레이 RAM (52)은 각각이 2개의 디스플레이 메모리를 포함하는 2개의 뱅크로 분할될 수 있다. 여기서, 디스플레이 RAM(52)은 캐릭터 맵핑 기능, 즉 디스플레이 RAM(52)에 저장된 캐릭터 코드에 따라 디스플레이(16)에 맵핑되는 캐릭터 "스탭프" 또는 "타일"을 저장한다. 여기서, 타일 각각은 칼러 LCD 디스플레이(16)의 8 ×8 픽셀로서 형성되는 64 도트 영역으로서 정의된다. LCD 디스플레이의 디스플레이 범위의 맵인 종래 기술의 도 2b에 나타낸 것과 같이, LCD 디스플레이(16)는 너비 160 픽셀 및 높이 144 픽셀이기 때문에, 동시에 20 ×18 = 360개의 8 ×8 픽셀 백그라운드 타일을 표시할 수 있다.
여기서, 백그라운드 캐릭터에 대한 타일 데이터는 디스플레이 RAM(52)에 기록되며, 이 타일 데이터를 LCD(16) 디스플레이 공간에 캐릭터 맵하는 캐릭터 코드/속성 데이터 정보도 디스플레이 RAM(52)에 기록된다. 도 2b에 나탄내 것과 같이, 디스플레이 메모리(52)는 32 ×32 타일 캐릭터 맵중 어느 곳에서도 LCD 디스플레 이(16)를 포함하는 20 ×18 타일 "윈도우"를 부드럽게 스크롤하도록 칼러 LCD(16)에 의해 동시에 표시 가능한 타일의 수(360)보다 훨씬 큰 타일의 수(1024)에 해당하는 저장 용량을 가질 수 있다.
이 시스템에서, 디스플레이(16)에 표시되는 특정 픽셀의 칼러는 칼러 맵핑 프로세스에 의해 지정된다. 백그라운드 캐릭터를 예로 들면, 디스플레이 RAM(52)에 저장된 백그라운드 캐릭터 데이터는 캐릭터 ×캐릭터 토대에 지정되는 속성 데이터를 포함한다. 이 속성 데이터는 백그라운드 캐릭터에 대해 내부 RAM(34)에 저장된 8개의 칼러 팔레트중 하나를 선택하는 칼러 팔레트 지정 데이터를 포함한다. 백그라운드 데이터에 대한 이 8개의 칼러 팔레트 각각은 어느 한 순간에 활성되는 총 32가지의 백그라운드 캐릭터 칼러에 대한, 4가지 상이한 칼러를 지정한다. 타일 데이터는 4가지 칼러중 디스플레이(16)의 특정 픽셀에 표시되어야 할 칼러를 선택한다. 유사하게, 내부 RAM(34)의 이동 물체 데이터 영역에 저장된 이동 물체 캐릭터 데이터는 별개의 물체 캐릭터 OBJ0-OBJn에 대한 단계 데이터(4 단계), 좌표 데이터, 캐릭터 코드 및 속성 데이터를 포함한다. 속성 데이터는 내부 RAM(34)이 물체 캐릭터를 저장하는데 사용되어야 할 8개의 칼러 팔레트중 하나를 지정하는 이동 물체 칼러 팔레트 지정 데이터를 포함한다. 물체 캐릭터에 대한 이 8개의 칼러 팔레트 각각은 어느 한 순간에 총 24가지의 액티브 이동 물체 칼러를 위해 3가지의 상이한 칼러를 지정한다.
종래 기술인 도 2c는 내부 RAM(34)의 메모리 맵을 나타낸다. 내부 RAM(34)은 별개의 물체 캐릭터 OBJ0-OBJn에 대한 이동 물체 타일, 단계 데이터(4 단계), 좌표 데이터, 캐릭터 코드 및 속성 데이터를 저장하는 물체 데이터 영역(34a); 칼러 팔레트 영역(34b); 및 오퍼레이팅 레지스터의 수를 포함하는 레지스터 영역(34c)을포함한다. 이 레지스터는 백그라운드 칼러 팔레트 기록 지정 레지스터 R10와 이동 물체 칼러 팔레트 기록 지정 레지스터 R11를 포함한다. 시스템(10)은 LCD 디스플레이(16)상에 표시하기 위해 칼러 정보를 칼러 팔레트 영역(34b)으로부터 얻는다. 기록 지정 레지스터와 기록 데이터 레지스터를 사용하여 칼러 팔레트에 데이터를 기록한다. 시스템(10)에 있어서, 프로세스(24)에서 실행하는 프로그램은 칼러 메모리 공간을 직접 액세스 할 수 없으며, 단지 지정 레지스터에 어드레스를 기록하고 칼러 팔레트를 하나씩 바꾸기 위해 데이터 레지스터에 데이터를 기록할 수 있다.
보다 상세하게, 기록 어드레스는 기록 지정 레지스터의 최하위 6비트에 지정된다(도 2c-1 참조). 데이터가 기록 데이터 레지스터에 기록될 때, 데이터는 기록 지정 레지스터에 지정된 어드레스에 기록된다. 이 때, 기록 지정 레지스터의 최상위 비트가 "1"로 설정되면, 기록 어드레스가 자동적으로 증가되고, 다음 어드레스를 지정한다(다음 어드레스는 기록 지정 레지스터의 최하위 6비트에서 판독된다).
종래 기술인 도 2d는 칼러 팔레트 영역(34b)에 대한 메모리 맵을 나타낸다. 칼러 팔레트 영역(34b)은 백그라운드(BG) 캐릭터 칼러 팔레트 영역(34b-1)과 이동 물체(OBJ) 캐릭터 칼러 팔레트 영역(34b-2)을 포함한다. BG 칼러 팔레트 영역(34b-1)은 팔레트 데이터 0-3에 의해 알 수 있듯이 각각이 4가지 칼러를 지정하는 8개의 칼러 팔레트, 즉 BG 칼러 팔레트 0-7를 저장한다. OBJ 칼러 팔레트 영역(34 b-2)은 팔레트 데이터 0-2에 의해 알 수 있듯이 각각이 3가지 칼러를 지정하는 8개의 칼러 팔레트, 즉 OBJ 칼러 팔레트 0-7를 저장한다. 각 팔레트 데이터 필드는 2 바이트( 16 비트)이며, LCD 디스플레이(16)가 표시할 수 있는 대략 32000가지의 칼러에서한 가지 칼러를 가리킨다.
시스템(10)의 동작에서, 칼러 디스플레이 처리 회로(28)의 하드웨어 회로는 디스플레이 RAM(52)에 저장된 속성 데이터에 포함되는 칼러 팔레트 지정 데이터에 의해 지정된 BG 칼러 팔레트를 사용함으로써 칼러 LCD(16)상에 각각의 백그라운드 (BG) 캐릭터를 표시하며; 내부 RAM(34)에 저장된 OBJ 데이터에 포함되는 칼러 팔레트 지정 데이터에 의해 지정된 OBJ 칼러 팔레트를 사용함으로써 칼러 LCD(16)상에 각각의 물체(OBJ) 캐릭터를 표시한다.
종래 기술인 도 2e는 시스템(10)에 대한 래스터 디스플레이 타이밍을 나타낸다. 디스플레이 드라이버(22,24)는 16.75㎳ 마다 한 번 LCD 디스플레이(16)를 재생한다. 프레임 사이의 수직 귀선 소거(재추적) 주기의 지속 시간은 액티브 디스플레이 시간에 대한 15.66㎳를 뺀 1.09㎳이다. 이 15.66㎳ 동안, 시스템(10)은 디스플레이하는데 각각 108.75㎲가 걸리는 라인, 144 라인을 표시한다. 라인사이의 수평 귀선 소거 주기의 지속 시간은 최대 48.64㎲이다. 2.10㎒로 CPU(26)가 동작중이면, 이것은 CPU가 각 수평 귀선 소거 주기동안 약 110 사이클을 마칠 수 있다는 것을 의미한다. 시스템(10)은 수평 귀선 소거 구간 및 수직 귀선 소거 구간마다 인터럽트를 발생하도록 설정될 수 있다. 일반적으로, 새로운 칼러 팔레트 정보는 수직 귀선 소거 구간동안 내부 RAM(34)에 기록되며, 주어진 프레임의 라인 스캐닝 프로세스동안 내내 변하지 않은 채로 있는다. 시스템(10)의 구성 및 동작에 관한 보다 상세한 설명은, 예를 들면, 5/27/98에 출원된 일본국 특허 출원 제 10-145620에서 찾을 수 있다.
디스플레이(16)에 의해 동시에 표시되는 상이한 칼러 수를 증가
도 3은 본 발명의 바람직한 실시예에 의해 제공되는 인터럽트 핸들러를 나타낸다. 인터럽트 핸들러(300)는 칼러 맵핑을 사용하는 저가의 휴대용 칼러 디스플레이 시스템에도 사용되지만, 도 1 및 2a-2e에 나타내며 상기에 기술된 종래 기술의 휴대용 비디오 게임 시스템(10)에 사용하는데 특히 적합하다. 디스플레이(16)상에 보다 많은 칼러를 표시하기 위해, 인터럽트 핸들러(300)는 액티브 디스플레이 시간의 수평 귀선 소거 부분동안 액티브 칼러 팔레트 데이터를 라인마다 바꾼다. 상술한 바와 같이, CPU(26)는 모든 주어진 48.64㎲의 수평 귀선 소거 주기동안 약 110 동작 사이클을 마칠 수 있다. 하나의 디스플레이 라인에 해당하는 이 짧은 수평 귀선 소거 시간 주기동안, 우리는 CPU가 RAM(34)의 4개의 백그라운드 칼러 팔레트를 새로운 데이터로 업데이트(재기록)하기 위해 충분한 시간을 갖는다. 이것은 우리가 2개의 수평 귀선 소거 주기마다 8개의 백그라운드 칼러 팔레트 모두를 업데이트 할 수 있다는 것을 의미한다.
2개의 성공적인 수평 귀선 소거 주기동안 8개의 새로운 팔레트를 바꾸기 위해, 바람직한 실시예는 제 1의 수평 귀선 소거에서 제 1의 4개 팔레트를 기록하고 제 2의 수평 귀선 소거 주기동안 다음 4개 팔레트를 기록한다. 수평 귀선 소거마다 4개의 팔레트만을 바꿀 수 있기 때문에, 제 1의 수평 귀선 소거후, 제 1의 4개 팔레트는 바뀔 수 있지만 팔레트 5,6,7,8은 여전히 이전의 팔레트로 있는다. 제 2의 수평 귀선 소거 후, 8개의 새로운 팔레트로 모두 바뀐다.
도 3은 업데이팅 프로세스를 나타낸다. 수평 귀선 소거 구간이 시작된 것을가리키는 인터럽트에 응답하여(도 3,블럭(302)), 인터럽트 핸들러(304)는 현재 라인이 홀수 라인인지 짝수 라인인지를 (라인 카운터의 최하위 비트에서 찾거나 토글링 라인 지시자 플래그를 체킹함으로써) 판단한다(블럭(304)). 인터럽트 핸들러(3 04)는 적절한 어드레스 및 데이터 레지스터에 기록함으로써 다른 라인(예를 들면, 홀수 라인)에 대한 수평 귀선 소거 주기동안마다 8개의 백그라운드 칼러 팔레트중 4개의 제 1 세트를 업데이트하며(블럭(306)), (예를 들면, 짝수 라인에 해당하는) 또 다른 수평 귀선 소거 주기동안마다 다른 4개의 백그라운드 칼러 팔레트를 유사하게 업데이트한다(블럭(308)). 인터럽트 핸들러 리턴("RTI" 블럭(310))은 액티브 라인 스캐닝동안 칼러 팔레트 데이터를 재기록하기 위한 시도가 없다는 것을 확신시키기 위해 수평 귀선 소거 구간의 끝에 접근한다. 칼러 팔레트 정보의 이러한 동적인 업데이트를 통해, 우리는 다른 라인마다의 비율로 백그라운드 칼러 팔레트 정보를 완전히 바꿀 수 있다.
블럭(306,308)의 코딩은 효율을 최적화하기 위해 세심하게 이루어져야 한다. 우리는 최대 효율을 위해(즉, 요구되는 CPU 사이클의 수를 최소로 줄이기 위해) 바람직하게 어셈블리어 프로그래밍을 사용하여 이 "복사" 블럭을 코딩한다. 칼러 데이터를 판독하고 팔레트 레지스터를 기록하기 위해 어셈블리 코드를 사용하여 약간의 CPU 시간이 걸릴 것이다. 복사 블럭(306,308)을 코딩하는 일반적인 방법은 다음과 같다.
LD B,COUNTER
LD C,PALETTE_REGISTER
LD HL,COLOR_DATA_ADDRESS
_LOOP
;
LD A,(HLI) ; 2 사이클
LD (C),A ; 2 사이클
LD A,(HLI) ; 2 사이클
LD (C),A ; 2 사이클
;
DEC B
JR NZ,_LOOP
이 루틴을 사용하여, CPU(24)는 팔레트의 각 칼러를 업데이크하기 위해 8 사이클이 필요할 것이다. 우리가 16 칼러(각각 4가지 칼러의 4개 팔레트)를 바꾸어야하면, CPU(24)는 적어도 128 사이클이 필요할 것이다. 불행하게도, 상술한 바와 같이, 수평 귀선 소거 구간은 단지 110사이클만 지속한다. 따라서, 시간이 불충분하다.
가능한 많은 칼러를 업데이트하기 위해, 우리는 처리 속도를 올리도록 우리의 코드를 최적화할 필요가 있다. 최적화하기 위한 하나의 방법은 칼러 데이터의 어드레스에 스택 포인터를 설정하며, 내부 RAM(34)에 직접적으로 기록될 수 있는 칼러 데이터를 "팝"하기 위해 스택 "Pop" 명령어를 사용하는 것이다. 어셈블리어 복사 루틴(304,308)의 흐름도가 도 3a에 나타나 있다. 간략하게, 블럭(312)은 메모리(34)의 칼러 팔레트 영역(34b)의 적절한 부분의 어드레스에 포인터 HL를 설정하며, 칼러 팔레트 영역에 복사되어야 할 칼러 데이터의 메모리 어드레스에 스택 포인터 SP를 설정한다. 위와 같은 준비는 수평 귀선 소거 인터럽트의 수용에 앞서 수행될 수 있다. 인터럽트의 수용으로. 루틴(304,306)은 4가지 칼러에 대한 칼러 데이터를 메모리의 칼러 데이터의 "스택"에서 CPU 레지스터 B,C,D,E로 팝하기 위해 POP 명령어를 사용하고(블럭(314)), 이 4개의 레지스터의 컨텐츠를 HL에 의해 인덱스된 칼러 팔레트 영역 위치에 로딩하기 위해 간접 LD 명령을 사용할 수 있다(블럭 (316)). 다음은 도 3a 루틴에 대한 어셈블리어 코딩이다.
LD HL,PALETTE_REGISTER
LD SP,COLOR_DATA_ADDRESS
;
POP DE ; 3사이클
POP BC ; 3사이클
LD (HL),E ; 2사이클
LD (HL),D ; 2사이클
LD (HL),C ; 2사이클
LD (HL),B ; 2사이클
;
...
이 경우에, CPU는 4개의 팔레트가 포함하는 16가지 칼러를 업데이트하기 위해 112 사이클만 걸린다. 이것은 수평 귀선 소거 주기의 약 110 사이클동안, 우리가 모두 4개의 팔레트를 업데이트 할 수 있다는 것을 의미한다.
비트맵에서 캐릭터 포맷으로의 최적의 변환
도 3 인터럽트 루틴을 사용하더라도, 시스템(10)의 하드웨어 한계는 주어진 모든 라인에 표시될 수 있는 백그라운드 칼러의 수를 최대 32가지의 상이한 칼러로 제약한다. 더욱이, 상술한 타이밍 한계때문에, 다른 라인마다 한 번만 백그라운드 칼러 팔레트 정보가 완전히 바뀌어질 수 있다. 그러나, 본 발명의 바람직한 실시예는 다른 라인마다 한 번 백그라운드 칼러 팔레트가 완전히 업데이트되기 때문에, 디스플레이(16)상의 주어진 모든 2 라인 그룹에 표시되는 32가지의 백그라운드 칼러는 앞선 2 라인에 표시되는 백그라운드 칼러와 (상술한 타이밍 한계에서) 다를 수 있다.
시스템(10)을 사용하여 소스 사진 이미지를 캐릭터 맵 포맷으로 세심하게 변환함으로써, 이러한 고유의 한계에도 불구하고 LCD 디스플레이(16)상에 매우 풍부하고 시각적으로 만족시키는 사진 품질의 이미지를 표시할 수 있다는 것을 우리는 발견했다.
도 4는 우리가 사용하는 변환 프로세스의 하나의 측면을 나타낸다. 시스템( 10)의 LCD 디스플레이(16)가 160 ×144 픽셀의 사각형 사이즈를 갖더라도, 우리는 128 ×128 픽셀인 이 디스플레이 영역의 사각형 서브셋(S)만 사용한다. 바람직한 실시예에서, LCD(16) 디스플레이 영역의 사용되지 않는 부분(U)은 필요시 블랙 보더로서 표시될 수 있다.
시스템(10)은 (각각 64개의 픽셀을 포함하는 총 64개 타일에 대한) 8 ×8 타일 여덟개의 너비대 8 ×8 타일 여덟개의 높이를 포함하는 사각형 백그라운드 캐릭터 맵으로서 서브셋(S)을 다룬다. 도 4 참조. 그러나, 우리의 변환 기술은 동일한 사각형 16,384개의 픽셀 공간을 각각이 16 ×2 픽셀인 512개의 타일로 재분할함으로써 이 캐릭터 맵을 다르게 재분할한다(도 5참조). 이것은 수평 라인쌍 각각이 여덟개의 16 ×2 픽셀 타일을 포함하는 것을 의미한다. 상이한 4칼러 팔레트를 각각의 16 ×2 픽셀 타일과 연관지음으로써, 8개의 상이한 팔레트는 이미지의 수평 라인 쌍마다 연관된다. 16 ×2 픽셀 타일 각각은 4가지의 독특한 칼러를 갖기 때문에, 이것은 우리에게 LCD 디스플레이(16)상에 동시에 표시될 수 있는 2048가지의 칼러를 제공한다.
일반적으로, 사진 및 사진 같은 이미지는 인접하는 픽셀사이에서 갑작스런 변화를 포함하지 않는다. 그러한 이미지에서, 인접하는 픽셀은 일반적으로 서로가 매우 비슷한 칼러를 나타낸다. 우리는 뚜렷한 칼러 분해능 단계 없이 2개의 인접한 라인 그룹을 표시할 32가지 칼러 세트(즉, 4개의 칼러 팔레트의 데이터)를 얻을 수 있다는 것을 세심한 선택으로 발견했다. 더욱이, 제 1 라인의 일부가 이전 라인의 칼러 팔레트를 사용중이더라도, 전반적인 그래픽 디스플레이는 사람의 눈에 만족되어야 할 충분한 칼러 분해능을 나타낼 것이다. 보다 상세하게, 상술한 바람직한 실시예 루틴은 2 라인의 다음 세트를 표시하기에 앞서, 8개의 백그라운드 칼러 팔레트의 절반만 업데이트 할 수 있기 때문에, 다음 라인의 절반은 이전의 2라인 세트의 칼러 팔레트를 사용하여 렌더링될 것이다. 이로 인해 칼러 에러가 발생되지만,사진 이미지를 지나는 칼러 변화가 일반적으로 급격하기보다 점진적이기 때문에 우리는 그러한 에러가 일반적으로 주목할 만한 것이 아니라는 것을 발견했다. 이것은 이미지의 성공적인 라인의 칼러가 일반적으로 값에 있어 서로가 비교적 유사하며, 바로 앞선 라인의 칼러 팔레트를 기초로 한 라인의 절반을 렌더링하는 것이 명백히 해로운 칼러 에러를 발생하지 않을 것이라는 것을 의미한다. 우리는 LCD 디스플레이(16)상에 표시하기 위해 고 품질 칼러 이미지를 만들도록 이 요소의 이점을 취하는 최적의 이미지 변환 기술을 개발했다.
도 5 및 6에 나타낸 것과 같이, 우리의 칼러 변환기의 바람직한 실시예는 소스 이미지를 16 ×2의 픽셀 타일(TL)로 분할하고(도 6,블럭(404)), 타일(TL) 각각을 여덟개의 2 ×2 픽셀 미니타일(MT)로 재분할한다(도 6, 블럭(406)). 그리고, 우리는 각 미니타일(MT)의 4가지 칼러를 각 미니 타일에 대한 하나의 칼러로 평균을 낸다(도 6, 블럭(408)). 따라서, 각각의 16 ×2픽셀 타일(TL)은 우리에게 8가지의 상이한 칼러 값을 제공한다(도 5참조). 시스템(10)의 각 백그라운드 칼러 팔레트는 4개의 상이한 칼러 값만을 제공하기 때문에, 우리는 이 8개의 칼러 값을 최접근 칼러 리덕션 방법을 사용하여 4개의 칼러 값으로 줄이고(도 6,블럭(410)), 그 4가지 칼러를 사용하여 16 ×2 픽셀 타일을 렌더링한다(도 6,블럭(412)). 우리는 전체 소스 이미지가 변환될 때까지 이 프로세스를 수행한다(블럭(402,414)).
도 6 블럭(410)의 칼러 리덕션 프로세스를 실행하기 위해, 우리는 바람직하게 3차원 칼러 좌표계에서 유클리드 거리를 기초로 한 최접근 칼러 리덕션 프로세스를 사용한다. 보다 상세하게, 우리가 팔레트의 몇 가지 칼러를 가지고 어느 팔레트 칼러가 우리가 렌더링하려고 하는 픽셀에 가장 접근하는지를 알려고 할 때, 우리는 각 칼러를 3D 칼러 공간의 위치로서 시각화한다(예를 들면, 레드 값은 3D 직교 좌표계의 X 축을 따라 한정되며, 그린 값은 Y 축을 따라 한정되며, 블루 값은 Z 축을 따라 한정된다). 서로가 가장 유사한 칼러는 3D 공간에서 서로가 최소의 기하학적(유클리드) 거리를 가질 것이다. 하나의 칼러가 다른 칼러에 어떻게 접근하는지를 알아내기 위해, 우리는 3D 거리 공식을 사용할 수 있다.
D2=(R2-R1)2+(G2-G1)2+(B2-B1)2
우리는 칼러 팔레트 데이터로서 할당되어야 하는 2 ×2픽셀 미니타일(MT)을 평균내어 얻어지는 8개의 잠재적인 칼러 팔레트 데이터 값중 어느 4개를 최선으로 판단하기 위해 이 칼러 거리 계산을 사용한다. 그리고, 우리는 유사한 칼러 거리 계산을 사용하여 칼러 팔레트를 위해 선택된 4개의 칼러 값중 어느 것이 해당 16 ×2픽셀 타일(TL)의 32 픽셀 각각에 할당되어야 하는 지를 판단한다.
도 6a는 칼러 팔레트의 4개의 칼러 값중 어느 것이 특정 픽셀에 할당되어야 하는지를 선택함으로써 특정 픽셀을 렌더링하는 최접근 칼러 리덕션 방법을 수행하는 프로그램 제어 단계의 흐름도이다. 도 6a 루틴은 소스 이미지의 각 픽셀에 대해 수행된다(블럭(416,442)). 주어진 소스 픽셀에 대해, 도 6a 루틴은 16 ×2 픽셀 타일(MT)에 해당하는 칼러 팔레트의 4개 칼러값 각각과, 소스 픽셀 칼러 값 사이의 칼러 거리(즉, 3D 칼러 공간의 유클리드 거리)를 계산한다(블럭(418,420,422,424). 그리고, 적당한 if/then 또는 "case" 로직은 3D 칼러 공간의 유클리드 거리를 기초로 한 4개의 계산된 거리중 어느 것이 가장 작은지(즉, 4개의 팔레트 값 중 어느 것이 실제 소스 픽셀 칼러 값에 "가장 접근"하는지)를 판단한다(블럭(426-438)). 캐릭터 맵 출력 이미지의 픽셀 값은 가장 접근하는 4개의 칼러 팔레트 값중 하나에 할당된다(블럭(440)).
도 7a-7c는 본 발명의 바람직한 실시예에 의해 제공되는 결과의 실제적인 예를 나타낸다. 이 도면에서, 좌측열은 원래의 소스 이미지를 나타내며; 중간열은 게임 보이 칼러 포맷으로 변환하기 위해 종래의 방법을 사용하여 얻어질 수 있는 결과를 나타내며; 우측 열은 본 발명에 의해 얻어지는 결과를 나타낸다.
본 발명은 가장 실용적이며 바람직한 실시예가 되어야 할 것으로 고려되는 것과 관련하여 기술되었지만, 본 발명은 개시된 실시예에 제한되지 말아야 하며, 반대로, 첨부된 청구 범위의 정신과 범위에 포함되는 다양한 수정 및 동등한 장치를 커버하려는 것으로 이해되어야 한다.

Claims (38)

  1. 액티브 라인 스캐닝동안 칼러 디스플레이상에 칼러 이미지를 발생하도록 칼러 맵핑 데이터를 사용하는 디스플레이 시스템에 표시하기 위해 풀 칼러 비트맵 소스 이미지를 칼러 맵 대상 이미지로 변환하는 방법으로서, 상기 방법은:
    상기 액티브 라인 스캐닝동안 상기 디스플레이 시스템에 의해 사용되는 칼러 맵핑 데이터가 재기록 될 수 있도록 빈도에 따라 분류되는 이미지 재분할로 상기 소스 이미지를 재분할하는 단계; 및
    상기 해당 이미지 재분할을 렌더링하는 상기 디스플레이 시스템에 로딩될 수 있는 칼러 맵핑 데이터의 해당 세트를 만들기 위해 상기 이미지 재분할 각각을 칼러 양자화하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 칼러 양자화 단계는 소스 이미지 픽셀 칼러와 상기 세트의 칼러 맵핑 데이터사이의 3 차원 칼러 공간의 유클리드 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 디스플레이 시스템은 캐릭터 맵핑 이미지 재분할 사이즈를 기초로 한 캐릭터 맵이며, 상기 재분할 단계는 상기 캐릭터 맵핑 이미지 재분할 사이즈와 다른 이미지 재분할 사이즈를 사용하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서, 상기 디스플레이는 미리 결정된 디스플레이 영역을 가지며, 상기 재분할 단계는 상기 디스플레이 영역 전체보다 작은 영역을 점유하는 대상 이미지를 제공하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 상기 디스플레이 시스템은 단일 디스플레이 프레임에 N 칼러를 표시하기 위해 디자인되며, 상기 대상 이미지는 단일 디스플레이 프레임에 30 ×N 칼러 이상 표시하기 위해 상기 디스플레이 시스템을 허용하는 것을 특징으로 하는 방법.
  6. 액티브 라인 스캐닝동안 칼러 디스플레이상에 칼러 이미지를 발생하도록 칼러 맵핑 데이터를 사용하는 디스플레이 시스템에 표시하기 위해 풀 칼러 비트맵 소스 이미지를 칼러 맵 대상 이미지로 변환하는 장치로서, 상기 장치는:
    상기 액티브 라인 스캐닝동안 상기 디스플레이 시스템에 의해 사용되는 칼러 맵핑 데이터가 재기록되도록 빈도에 따라 분류되는 이미지 재분할로 상기 소스 이미지를 재분할하는 재분할기; 및
    상기 해당 이미지 재분할을 렌더링하는 상기 디스플레이 시스템에 로딩될 수 있는 칼러 맵핑 데이터의 해당 세트를 만들기 위해 상기 이미지 재분할 각각의 칼러를 양자화하는 칼러 양자화기를 포함하는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서, 상기 칼러 양자화기는 소스 이미지 픽셀 칼러와, 상기 세트의 칼러 맵핑 데이터 사이의 3 차원 칼러 공간의 유클리드 거리를 계산하는 계산기를 포함하는 것을 특징으로 하는 장치.
  8. 제 6항에 있어서, 상기 디스플레이 시스템은 캐릭터 맵핑 이미지 재분할 사이즈를 기초로 한 캐릭터 맵이며, 상기 재분할기는 상기 캐릭터 맵핑 이미지 재분할 사이즈와 다른 이미지 재분할 사이즈를 사용하는 것을 특징으로 하는 장치.
  9. 제 6항에 있어서, 상기 디스플레이는 미리 결정된 디스플레이 영역을 가지며, 상기 재분할기는 상기 디스플레이 영역 전체보다 작은 영역을 점유하는 대상 이미지를 제공하는 것을 특징으로 하는 장치.
  10. 제 6항에 있어서, 상기 디스플레이 시스템은 단일 디스플레이 프레임에 N 칼러를 표시하기 위해 디자인되며, 상기 대상 이미지는 단일 디스플레이 프레임에 30×N 칼러 이상 표시하기 위해 상기 디스플레이 시스템을 허용하는 것을 특징으로 하는 장치.
  11. 액티브 라인 스캐닝동안 칼러 디스플레이상에 칼러 이미지를 발생시키기 위해 칼러 맵핑 데이터를 사용하는 칼러 맵 디스플레이 시스템으로서, 상기 칼러 맵디스플레이 시스템은:
    칼러 디스플레이;
    칼러 맵에 저장된 칼러 맵핑 데이터를 적어도 부분적으로 기초로 한 액티브 라인 스캐닝동안 상기 디스플레이상에 이미지를 발생하는 이미지 발생 회로; 및
    상기 시스템의 효과적인 칼러 분해능을 증가시키기 위해 상기 액티브 라인 스캐닝동안 상기 저장된 칼러 맵핑 데이터를 업데이트하는 상기 칼러 맵에 결합되는 데이터 업데이터를 포함하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  12. 제 11항에 있어서, 상기 이미지 발생 회로는 수평 귀선 소거 구간을 주기적으로 발생하며, 상기 데이터 업데이터는 상기 수평 귀선 소거 구간동안 상기 저장된 칼러 맵핑 데이터를 업데이트하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  13. 제 12항에 있어서, 상기 데이터 업데이터는 각 수평 귀선 소거 구간동안 상기 칼러 맵핑 데이터의 일 부분만을 업데이트하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  14. 제 12항에 있어서, 상기 데이터 업데이터는 각 수평 귀선 소거 구간동안 상기 칼러 맵핑 데이터의 절반을 업데이트하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  15. 제 11항에 있어서, 상기 데이터 업데이터는 각각 4가지 칼러를 제공하는 4개의 새로운 칼러 팔레트를 108.7㎲ 마다 상기 칼러 맵에 복사하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  16. 제 11항에 있어서, 상기 데이터 업데이터는 상기 칼러 맵에 복사하는 칼러 맵핑 데이터를 검색하기 위해 POP 명령을 사용하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  17. 제 11항에 있어서, 상기 이미지 발생기는 캐릭터 맵핑을 수행하며, 상기 데이터 업데이터는 상기 캐릭터 맵핑과 동시에 상기 칼러 맵핑 데이터를 업데이트하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  18. 제 11항에 있어서, 상기 칼러 디스플레이는 미리 결정된 디스플레이 영역을 가지며, 상기 데이터 업데이터는 상기 미리 결정된 디스플레이 영역의 서브셋에 대해서만 칼러 맵핑 데이터를 업데이트하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  19. 제 11항에 있어서, 상기 이미지 발생기는 캐릭터 맵이며, 상기 데이터 업데이터는 상기 디스플레이상에 사진에 가까운 품질의 이미지를 표시하기 위해 상기 캐릭터 맵 이미지 발생기를 허용하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  20. 제 11항에 있어서, 상기 디스플레이 시스템은 상기 디스플레이상의 단일 디스플레이 프레임에 N 칼러를 표시하도록 디자인되며, 상기 대상 이미지는 상기 디스플레이상의 단일 디스플레이 프레임에 30 ×N 칼러 이상 표시하도록 상기 디스플레이 시스템을 허용하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  21. 제 11항에 있어서, 상기 시스템은 소프트웨어를 저장하는 외부 메모리 카트리지를 수용하는 커넥터를 더 포함하며, 상기 데이터 업데이터는 상기 소프트웨어에 적어도 부분적으로 응답하여 동작하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  22. 액티브 라인 스캐닝동안 칼러 디스플레이상에 칼러 이미지를 발생하도록 칼러 맵핑 데이터를 사용하는 칼러 맵 디스플레이 시스템에 대한 메모리 카트리지로서, 상기 디스플레이 시스템은 칼러 디스플레이와, 칼러 맵에 저장된 칼러 맵핑 데이터를 적어도 부분적으로 기초로 한 액티브 라인 스캐닝동안 상기 디스플레이상에 이미지를 발생하는 이미지 발생 회로를 포함하며, 상기 메모리 카트리지는 상기 시스템의 효과적인 칼러 분해능을 증가시키기 위해 상기 액티브 라인 스캐닝동안 상기 저장된 칼러 맵핑 데이터를 업데이트하는 데이터 업데이팅 루틴을 저장하는 비휘발성 메모리를 포함하는 것을 특징으로 하는 메모리 카트리지.
  23. 제 22항에 있어서, 상기 이미지 발생 회로는 수평 귀선 소거 구간을 주기적으로 발생하며, 상기 데이터 업데이팅 루틴은 상기 수평 귀선 소거 구간동안 상기 저장된 칼러 맵핑 데이터를 업데이트하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  24. 제 22항에 있어서, 상기 데이터 업데이팅 루틴은 각 수평 귀선 소거 구간동안 상기 칼러 맵핑 데이터의 일부분만 업데이트하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  25. 제 22항에 있어서, 상기 데이터 업데이팅 루틴은 각 수평 귀선 소거 구간동안 상기 칼러 맵핑 데이터의 절반을 업데이트하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  26. 제 22항에 있어서, 상기 데이터 업데이팅 루틴은 각각 4가지 칼러를 제공하는 4개의 새로운 칼러 팔레트를 108.7㎲마다 상기 칼러 맵에 복사하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  27. 제 22항에 있어서, 상기 데이터 업데이팅 루틴은 상기 칼러 맵에 복사하는 칼러 맵핑 데이터를 검색하는 POP 명령을 포함하는 것을 특징으로 하는 메모리 카트리지.
  28. 제 22항에 있어서, 상기 이미지 발생기는 캐릭터 맵핑을 수행하며, 상기 데이터 업데이팅 루틴은 상기 캐릭터 맵핑과 동시에 상기 칼러 맵핑 데이터를 업데이트하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  29. 제 22항에 있어서, 상기 칼러 디스플레이는 미리 결정된 디스플레이 영역을 가지며, 상기 데이터 업데이팅 루틴은 상기 미리 결정된 디스플레이 영역의 서브셋에 대해서만 칼러 맵핑 데이터를 업데이트하도록 상기 시스템을 제어하는 것을 특징으로 하는 메모리 카트리지.
  30. 제 22항에 있어서, 상기 이미지 발생기는 캐릭터 맵이며, 상기 데이터 업데이팅 루틴은 상기 디스플레이상에 사진에 가까운 품질의 이미지를 표시하도록 상기 캐릭터 맵 이미지 발생기를 제어하는 것을 특징으로 하는 메모리 카트리지.
  31. 제 22항에 있어서, 상기 디스플레이 시스템은 상기 디스플레이상의 단일 디스플레이 프레임에 N 칼러를 표시하기 위해 디자인되며, 상기 데이터 업데이팅 루틴은 상기 디스플레이상의 단일 디스플레이 프레임에 30 ×N 칼러 이상 표시하도록 상기 디스플레이 시스템을 허용하는 것을 특징으로 하는 메모리 카트리지.
  32. 액티브 라인 스캐닝동안 칼러 디스플레이상에 칼러 이미지를 발생하기 위해칼러 맵핑 데이터를 사용하는 칼러 맵 디스플레이 시스템에 있어서, 상기 시스템은:
    칼러 디스플레이;
    칼러 맵에 저장된 칼러 맵핑 데이터를 적어도 부분적으로 기초로 한 액티브 라인 스캐닝동안 상기 디스플레이상에 이미지를 발생하는 이미지 발생 수단; 및
    상기 시스템의 효과적인 칼러 분해능을 증가시키기 위해 상기 액티브 라인 스캐닝동안 상기 저장된 칼러 맵핑 데이터를 업데이트하는 상기 칼러 맵에 결합되는 데이터 업데이팅 수단을 포함하는 것을 특징으로 하는 칼러 맵 디스플레이 시스템.
  33. 프레임 시간에 픽셀의 라인을 표시하는 래스터-스캔 칼러 액정 디스플레이를 포함하는 휴대용 포켓 게임 시스템에서, 수평 귀선 소거 구간은 상기 픽셀의 라인중 성공적인 하나의 표시사이에서 발생하며, 상기 시스템은 다수의 칼러 팔레트를 포함하는 저장된 칼러 맵을 기초로 한 디스플레이에 대한 그래픽 정보를 칼러 맵핑하는 칼러 맵핑 디스플레이 회로를 더 포함하며, 상기 프레임 시간에 실시간으로 수행되는 칼러 맵 업데이팅 및 표시 방법으로서, 상기 방법은:
    (a) 수평 귀선 소거 구간동안 상기 칼러 맵에 적어도 하나의 칼러 팔레트를 기록하는 단계;
    (b) 상기 단계(a)에 의해 기록된 상기 적어도 하나의 칼러 팔레트와, 상기 칼러 맵에 이전에 저장된 적어도 하나의 칼러 팔레트를 기초로 한 적어도 하나의픽셀 라인을 표시하는 단계;
    (c) 적어도 하나 더 수평 귀선 소거 구간동안 상기 칼러 맵에 적어도 하나 더 칼러 팔레트를 기록하는 단계; 및
    (d) 상기 단계(a) 및 (c)에 의해 기록된 상기 칼러 팔레트의 결합을 기초로 한 적어도 하나 더 픽셀 라인을 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  34. 제 33항에 있어서, 단계(a)는 단계(b)에 의해 표시되는 상기 라인을 바로 앞서는 수평 귀선 소거 구간동안 수행되며, 단계(c)는 단계(b)에 의해 표시되는 상기 라인에 바로 뒤이으며 단계(d)에 의해 표시되는 상기 라인에 바로 앞서는 수평 귀선 소거 구간동안 수행되는 것을 특징으로 하는 방법.
  35. 제 33항에 있어서, 단계(a)는 8개의 칼러 팔레트 세트의 절반을 기록하며, 단계(c)는 상기 8개의 칼러 팔레트 세트의 나머지 절반을 기록하는 것을 특징으로 하는 방법.
  36. 제 33항에 있어서, 단계(b)는 단계(a)에 의해 기록된 상기 칼러 팔레트를 기초로 한 상기 라인의 최대 절반을 표시하며, 단계(d)는 단계(a) 및 (c)에 의해 기록된 칼러 팔레트를 기초로 한 상기 나머지 라인 모두를 표시하는 것을 특징으로 하는 방법.
  37. 제 33항에 있어서, 2개의 성공적인 수평 귀선 소거 구간을 지나 상기 칼러 맵에 모든 백그라운드 칼러 팔레트를 단계(a) 및 (c)에서 함께 재기록하는 것을 특징으로 하는 방법.
  38. 제 33항에 있어서, 2개의 성공적인 수평 귀선 소거 구간을 지나 상기 칼러 맵에 8개의 백그라운드 칼러 팔레트를 단계(a) 및 (c)에서 함께 재기록하는 것을 특징으로 하는 방법.
KR1020017013949A 1999-11-24 2000-03-10 휴대용 lcd 장치에 고 칼러 분해능을 표시하는 방법 및장치 KR20020060069A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16722699P 1999-11-24 1999-11-24
US60/167,226 1999-11-24
US09/454,607 1999-12-07
US09/454,607 US6373462B1 (en) 1999-12-07 1999-12-07 Method and apparatus for displaying higher color resolution on a hand-held LCD device
PCT/US2000/006113 WO2001039168A1 (en) 1999-11-24 2000-03-10 Method and apparatus for displaying higher color resolution on a hand-held lcd device

Publications (1)

Publication Number Publication Date
KR20020060069A true KR20020060069A (ko) 2002-07-16

Family

ID=26862967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017013949A KR20020060069A (ko) 1999-11-24 2000-03-10 휴대용 lcd 장치에 고 칼러 분해능을 표시하는 방법 및장치

Country Status (7)

Country Link
US (1) US6369827B1 (ko)
EP (1) EP1234301A1 (ko)
JP (1) JP2003515766A (ko)
KR (1) KR20020060069A (ko)
AU (1) AU3519200A (ko)
CA (1) CA2370318A1 (ko)
WO (1) WO2001039168A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050064B2 (en) * 1999-11-24 2006-05-23 Nintendo Co., Ltd. Method and apparatus for displaying higher color resolution on a hand-held LCD device
JP4631133B2 (ja) * 2000-06-09 2011-02-16 コニカミノルタビジネステクノロジーズ株式会社 文字認識処理のための装置、方法及び記録媒体
US7292728B1 (en) * 2000-06-20 2007-11-06 Ricoh Co., Ltd. Block quantization method for color halftoning
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US7445549B1 (en) 2001-05-10 2008-11-04 Best Robert M Networked portable and console game systems
US7350081B1 (en) 2002-04-29 2008-03-25 Best Robert M Secure execution of downloaded software
US8073304B2 (en) * 2002-11-16 2011-12-06 Gregory Karel Rohlicek Portable recorded television viewer
US8225224B1 (en) 2003-02-25 2012-07-17 Microsoft Corporation Computer desktop use via scaling of displayed objects with shifts to the periphery
US8230359B2 (en) * 2003-02-25 2012-07-24 Microsoft Corporation System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
US7536650B1 (en) 2003-02-25 2009-05-19 Robertson George G System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
DE10320206A1 (de) * 2003-05-07 2004-12-02 Körber, Christoph Schmuckgegenstand
US20070087830A1 (en) * 2005-10-14 2007-04-19 Microsoft Corporation Multi-component gaming system
US9205329B2 (en) * 2006-07-25 2015-12-08 Mga Entertainment, Inc. Virtual world electronic game
US8375455B2 (en) 2006-08-10 2013-02-12 Wayne Odom System, method, and device for storing and delivering data
US20080045289A1 (en) * 2006-08-10 2008-02-21 Wayne Odom System and device for conducting a game of chance
JP2011254405A (ja) * 2010-06-03 2011-12-15 Canon Inc 画像処理装置及びその処理方法
US8844054B2 (en) 2012-04-06 2014-09-23 Wayne Odom System, method, and device for communicating and storing and delivering data
US8572720B1 (en) 2013-05-20 2013-10-29 Wayne Odom System, method, and device for communicating and storing and delivering data
US8677510B2 (en) 2012-04-06 2014-03-18 Wayne Odom System, method, and device for communicating and storing and delivering data
US8448236B1 (en) 2012-12-07 2013-05-21 Wayne Odom System, method, and device for storing and delivering data
US9378339B2 (en) 2012-04-06 2016-06-28 Wayne Odom System, method, and device for delivering communications and storing and delivering data
US9043934B2 (en) 2012-04-06 2015-05-26 Wayne Odom System, method, and device for delivering communications and storing and delivering data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089811A (en) * 1984-04-16 1992-02-18 Texas Instruments Incorporated Advanced video processor having a color palette
US5300944A (en) * 1988-07-21 1994-04-05 Proxima Corporation Video display system and method of using same
DE69421832D1 (de) * 1993-01-11 2000-01-05 Canon Kk Farbanzeigevorrichtung
US5559954A (en) * 1993-02-24 1996-09-24 Intel Corporation Method & apparatus for displaying pixels from a multi-format frame buffer
JP3366413B2 (ja) * 1993-07-27 2003-01-14 任天堂株式会社 表示情報変換装置および情報処理システム
JP3368967B2 (ja) * 1994-01-25 2003-01-20 任天堂株式会社 ゲーム機用変換装置

Also Published As

Publication number Publication date
JP2003515766A (ja) 2003-05-07
CA2370318A1 (en) 2001-05-31
WO2001039168A1 (en) 2001-05-31
US6369827B1 (en) 2002-04-09
EP1234301A1 (en) 2002-08-28
AU3519200A (en) 2001-06-04

Similar Documents

Publication Publication Date Title
US6373462B1 (en) Method and apparatus for displaying higher color resolution on a hand-held LCD device
KR20020060069A (ko) 휴대용 lcd 장치에 고 칼러 분해능을 표시하는 방법 및장치
US5892521A (en) System and method for composing a display frame of multiple layered graphic sprites
US5125671A (en) T.V. game system having reduced memory needs
US6208333B1 (en) Image processing system including image data compression
US6172669B1 (en) Method and apparatus for translation and storage of multiple data formats in a display system
EP0715276A2 (en) Method and apparatus for mapping texture
US5696947A (en) Two dimensional frame buffer memory interface system and method of operation thereof
EP0201210B1 (en) Video display system
US4529978A (en) Method and apparatus for generating graphic and textual images on a raster scan display
JPH09245179A (ja) コンピュータグラフィックス装置
US5371519A (en) Split sort image processing apparatus and method
EP0043703B1 (en) Raster display generating system
US20050174314A1 (en) Controller driver and display panel driving method
EP0590785B1 (en) Processing apparatus for sound and image data
US6172686B1 (en) Graphic processor and method for displaying a plurality of figures in motion with three dimensional overlay
US5270973A (en) Video random access memory having a split register and a multiplexer
US7760571B2 (en) Image memory architecture for achieving high speed access
US7050064B2 (en) Method and apparatus for displaying higher color resolution on a hand-held LCD device
EP0660298A1 (en) Image processing device and method therefor, and game machine having image processing part
EP0474366B1 (en) Graphics display system including a video random access memory with a split serial register and a run counter
JPH0361199B2 (ko)
JP2000354200A (ja) 画像処理装置および画像処理方法ならびに画像処理プログラムを記録したコンピュータ読み取り可能な情報記録媒体
JPS62249188A (ja) キヤラクタデ−タのデイスプレイ方法および装置
JPH04340633A (ja) 画像メモリ消去方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid