JP3658942B2 - Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof - Google Patents

Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof Download PDF

Info

Publication number
JP3658942B2
JP3658942B2 JP26169497A JP26169497A JP3658942B2 JP 3658942 B2 JP3658942 B2 JP 3658942B2 JP 26169497 A JP26169497 A JP 26169497A JP 26169497 A JP26169497 A JP 26169497A JP 3658942 B2 JP3658942 B2 JP 3658942B2
Authority
JP
Japan
Prior art keywords
image data
value
transparent color
color
difference
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP26169497A
Other languages
Japanese (ja)
Other versions
JPH10164620A (en
Inventor
明彦 矢島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP26169497A priority Critical patent/JP3658942B2/en
Publication of JPH10164620A publication Critical patent/JPH10164620A/en
Application granted granted Critical
Publication of JP3658942B2 publication Critical patent/JP3658942B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像用データの符号化方法およびその符号化装置ならびに画像用データ復号化方法およびその復号化装置に関する。そして、さらに、詳細に述べれば、特に自然画像を非可逆圧縮で符号化および復号化する際に適用して好適な画像用データの符号化方法や復号化方法等に関する。
【0002】
【従来の技術】
従来からパソコンやゲーム機器等では、マルチカラー画像と呼ばれる画像が使用されている。このマルチカラー画像とは、代表色画像とか限定画像等とも呼ばれているもので、特定の色、すなわち特定のR(赤)、G(緑)、B(青)の値を持つ色に対してインデックスを付与し、そのインデックスのデータを利用して、16色や256色等の限定された代表色で表現するようにした画像のことである。
【0003】
このようなマルチカラー画像のデータは、仮にR、G、Bの各色が8ビット(256種)で表されるとしたら、合計24ビット必要になるのであるが、インデックスそのものも8ビットで表示するようにしているので、相当な圧縮率となっている。そして、マルチカラー画像は、その色の数が限定されていることから、ロスレスでの符号化および復号化、すなわち可逆的な圧縮技術が採用されている。
【0004】
一方、最近のゲーム機等では、その機能の向上とあいまって、描かれるキャラクターや背景に自然画像と呼ばれる画像が使用されることが多くなってきている。この自然画像とは、例えば、R、G、Bを各6ビットで表した場合、その画素を計18ビットで直接表すものである。この18ビットで表すことができる色は計256K色となり、自然画と同等な印象が得られものである。
【0005】
このような自然画像は、マルチカラー画像に比べ、情報容量が膨大になることから、ファイル化する際には必ずと言って良いほど圧縮技術が採用されている。この自然画像、特に動画像の圧縮の際には、その色の数が多いことや伝送時間を考慮し非可逆的な圧縮技術が採用されることが多い。
【0006】
画像用データの圧縮技術としては、画像信号をモデルするモデル化技術と、このモデル化技術により変換された信号系列に実際に符号を割り当てる符号化技術とが存在する。モデル化技術としては、ラン・レングス・モデル、マルコフ・モデル、差分符号化(=Differential Pulse Code Modulationで以下DPCMという)等がある。一方、符号化技術としては、ハフマン符号や算術符号等が知られている。これらの技術の中で、DPCMとは、ある画素値は、それに先行する直前の画素値と近い値を取る確率が高いという画像データの性質を利用したものであり、画像用データの圧縮技術として使用されることが多いものとなっている。また、ゲーム機に使用されるアニメーションでは、複数の画面やキャラクターを重ね合わせて、1つの画面を構成する手法が採用されている。このような重ね合わせの場合、その色の1つとして透明色を使用することが多くなっている。この透明色を使用することによって、その透明色の裏側の色が表示されることになり、画面の面白味を高めている。
【0007】
このような透明色を扱う場合、非可逆で圧縮すると、透明色の情報が失われ、本来なら裏側の色が表示されるものが、色が重なりにじんだ状態となってしまう。このため、従来は透明色を扱う場合、非可逆とせず可逆としたり、透明色用のビットプレーンをもう一枚用意して、透明色のみ可逆とし、その他の部分を非可逆としたりしている。
【0008】
【発明が解決しようとする課題】
このように、従来においては、透明色を扱う場合、全体を可逆とするかもしくは透明色用のビットプレーンを一枚追加する必要が生じている。全体を可逆とする場合、圧縮率を高めるのに限界があり、データ量を大幅に削減したいときや伝送時間またはメモリ量を節約したいときには向かないものとなってしまう。また、透明色用のビットプレーンを一枚追加する場合も同様に、その追加ビットプレーンによってデータ量が増加し、伝送時間やメモリ量が増加してしまうことになる。
【0009】
また、DPCMを使用して透明色を含む画像用データを可逆圧縮する場合、従来は、透明色を各色の表す値の範囲のうちいずれか一端側の値をとるようにしている。このため、透明色が即値(=DPCMの際の最初の値)となると、その透明色の後の値との差分値(=DPCMの際の前の値との差)が大きく振れることとなる。さらに、透明色が差分値で表される部分に生じると、その透明色の差分値および次の色の差分値が大きくプラスマイナスに振れることになる。これらの大きな振れは、差分値が大きな値となることであり、符号化の際の効率上好ましいものではない。特に、非線形DPCMによって非可逆圧縮するときは、差分値が大きくなると、非線形化によって透明色の情報が失われてしまい、従来の方法では、透明色を有する画像データをDPCMでかつ非可逆圧縮とすることは不可能となっている。
【0010】
本発明は、透明色用のビットプレーンを追加することなく、透明色を含む画像用データを非可逆圧縮できる画像用データの符号化方法およびその符号化装置ならびに画像用データの復号化方法およびその復号化装置を提供することを目的とする。また、本発明は、透明色を含む画像用データをDPCMで効率よく圧縮伸長できる画像用データの符号化方法およびその符号化装置ならびに画像用データの復号化方法およびその復号化装置を提供することを目的とする。さらに、また本発明は、透明色を含む画像用データをDPCMで非可逆圧縮する際、その画質の劣化を最小限に抑えることができる画像用データの符号化方法およびその符号化装置ならびに画像用データの復号化方法およびその復号化装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
かかる目的を達成するため、請求項1記載の発明では、各色に対応してそれぞれ割り当てられたデータが複数集まって構成される画像用データを非可逆圧縮して符号化する画像用データの符号化方法において、前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成し、前記複数のマルチカラースプライト面のうち任意の1つを透明色に割り当てると共に、その透明色を可逆としている。このように、複数のマルチカラースプライト面のうち任意の一つを透明色に割り当て、全体としては非可逆としているものの透明色を可逆としているので、メモリ量が増大することなく画質も大きく劣化しない。
【0012】
また、請求項2記載の発明では、請求項1記載の画像用データの符号化方法において、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、前記透明色を可逆とするに際し、前記透明色を表す上記即値と上記差分値とを可逆としている。このため、非可逆圧縮によりデータ量を大幅に削減できる一方、透明色が可逆なので、画質の劣化を抑えることができる。
【0013】
さらに、請求項3記載の発明では、請求項2記載の画像用データの符号化方法において、透明色を表す即値を、各色のデータ値の中間の値とし、透明色を表す差分値を「0」としている。この結果、透明色の影響による画質の劣化を最小限に抑えることができることとなる。
【0014】
また、請求項4記載の発明では、前記自然画スプライト面に対応する画像用データを即値とその即値に続く複数の差分値とで構成し、前記透明色を表す上記即値を、各色のデータ値の中間の値としている。このように、透明色を表す即値を、各色のデータの中間の値としているので、差分値の振れが小さくなり、効率良く圧縮できることとなる。
【0015】
さらに、請求項5記載の発明では、請求項1記載の画像用データの符号化方法において、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、前記透明色を表す上記差分値を「0」としているので、透明色が入っても差分値の振れは無くなり、効率良く圧縮できることとなる。
【0016】
また、請求項6記載の発明では、請求項2、3、4または5記載の画像用データの符号化方法において、差分値を圧縮し、1つの即値と複数かつ所定数の圧縮された差分値からなる固定長ブロックを形成し、その固定長ブロックを単位としてビデオRAMへ書き込むようにしている。この結果、1つの即値と複数の差分値とが一体化してブロックを構成することとなり、書き込みが効率良くできることとなる。しかも、差分値が圧縮されてVRAMへ書き込まれるので、VRAMの容量が削減され、伝送時間を減少させることができる。
【0017】
さらに、請求項7記載の発明では、各色に対応してそれぞれ割り当てられたデータが複数集まって構成される画像用データを非可逆圧縮して符号化する画像用データの符号化装置において、前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成し、前記複数のマルチカラースプライト面のうち任意の1つを透明色に割り当てると共に、その透明色を可逆としている。このように、複数のマルチカラースプライト面のうち任意の一つを透明色に割り当て、全体としては非可逆としているものの透明色を可逆としているので、メモリ量が増大することなく画質も大きく劣化しない。
【0018】
また、請求項8記載の発明では、請求項7記載の符号化装置であって、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を非可逆圧縮して符号化する画像用データの符号化装置において、透明色を表す上記即値と上記差分値とを可逆としている。このため、非可逆圧縮によりデータ量を大幅に削減できる一方、透明色が可逆なので、画質の劣化を抑えることができる。
【0019】
また、請求項9記載の発明では、請求項7記載の画像用データの符号化装置であって、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を符号化する画像用データの符号化装置において、透明色を表す上記即値を、各色のデータ値の中間の値としている。このように、透明色を表す即値を、各色のデータの中間の値としているので、差分値の振れが小さくなり、効率良く圧縮できることとなる。
【0020】
さらに、請求項10記載の発明では、請求項7記載の画像用データの符号化装置であって、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を符号化する画像用データの符号化装置において、透明色を表す上記差分値を「0」としているので、透明色が入っても差分値の振れは無くなり、効率良く圧縮できることとなる。
【0021】
また、請求項11記載の発明では、請求項7記載の画像用データの符号化装置であって、前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を非可逆圧縮して符号化する画像用データの符号化装置において、入力されてくる画素が透明色か否かを検出する透明色検出部と、即値が透明色のとき、その値を中間値となる灰色の値に変換すると共にその他の値を通過させる第2透明色変換部と、即値に続く差分値を形成すると共に非線形量子化する圧縮差分値生成器と、生成された差分値がどのような値であろうとその色が透明色であるとその差分値を「0」とすると共に他の色であるときはその差分値を通過させる第1透明色変換部と、
上記第2透明色変換部からの即値および上記第1透明色変換部からの差分値とを入力し差分値発生用の値を生成し、上記圧縮差分値生成器に入力させると共に入力してきた差分値に加え合わせる局部復号器とを設けている。このため、画像全体としては、DPCMを利用して非可逆圧縮され、伝送時間やメモリ量を節約できる一方、透明色は可逆とできしかもその影響を小さくできるので、画質の劣化を最小限に抑えることができる。
【0022】
さらに、請求項12記載の発明では、請求項8、9、10または11記載の画像用データの符号化装置において、差分値を圧縮し、1つの即値と複数かつ所定数の圧縮された差分値からなる固定長ブロックを形成し、その固定長ブロックを単位としてビデオRAMへ書き込むようにしている。この結果、1つの即値と複数の差分値とが一体化してブロックを構成することとなり、書き込みが効率良くできることとなる。しかも、差分値が圧縮されてVRAMへ書き込まれるので、VRAMの容量が削減され、伝送時間を減少させることができる。
【0023】
また、請求項13記載の発明では、符号化された画像用データを非可逆伸長して復号化する画像用データの復号化方法において、前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成されており、前記複数のマルチカラースプライト面の1つが透明色を示すときは必ず透明色を復号するようにしている。このように、伸長されてくるデータの一つを透明色に割り当てているので、従来のように、メモリ量が増大することがない。しかも、透明色は必ず透明色として復号するので画質も大きく劣化しない。
【0024】
さらに、請求項14記載の発明では、請求項13記載の画像用データの復号化方法であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化方法において、透明色を表す上記即値と上記差分値とを可逆伸長して復号している。このため、非可逆伸長によりデータ量を大幅に削減できる一方、透明色が可逆なので、画質の劣化を抑えることができる。
【0025】
加えて、請求項15記載の発明では、請求項14記載の画像用データの符号化方法において、透明色を表す即値を、各色のデータ値の中間の値とし、透明色を表す差分値を「0」として処理している。この結果、透明色の影響による画質の劣化を最小限に抑えることができることとなる。
【0026】
また、請求項16記載の発明では、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化方法において、透明色を表す上記即値を、各色のデータ値の中間の値に変換し、差分値復元用に利用している。このように、透明色を表す即値を、各色のデータの中間の値としているので、差分値の振れが小さくなり、効率良く圧縮できることとなる。
【0027】
また、請求項17記載の発明では、請求項13記載の画像用データの復号化方法であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化方法において、透明色を表す上記差分値を、「0」に変換し差分値復元用に利用している。このように、透明色を表す差分値を「0」としているので、透明色が入っても差分値の振れは無くなり、効率良く圧縮できることとなる。
【0028】
さらに、請求項18記載の発明では、請求項14、15、16または17記載の画像用データの復号化方法において、符号化された画像用データを、1つの即値と複数かつ所定数の圧縮された差分値とで形成される固定長ブロックとしてVRAMから取り出し、復号している。この結果、1つの即値と複数の差分値とが一体化してブロックを構成することとなり、復号の際のVRAMへのアクセス速度が速くなり、復号効率が良くなる。
【0029】
また、請求項19記載の発明では、符号化された画像用データを非可逆伸長して復号化する画像用データの復号化装置において、前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成されており、前記複数のマルチカラースプライト面のうち任意の1つが透明色として割り当てられ、復号化された信号が透明色を示すときは必ず透明色を復号するようにしている。このように、伸長されてくるデータの一つを透明色に割り当てているので、従来のように、メモリ量が増大することがない。しかも、透明色は必ず透明色として復号するので画質も大きく劣化しない。
【0030】
さらに、請求項20記載の発明では、請求項19記載の画像用データの復号化装置であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化装置において、透明色を表す上記即値と上記差分値とを可逆伸長して復号している。このため、非可逆伸長によりデータ量を大幅に削減できる一方、透明色が可逆なので、画質の劣化を抑えることができる。
【0031】
また、請求項21記載の発明では、請求項19記載の画像用データの復号化装置であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化装置において、透明色を表す上記即値を、各色のデータ値の中間の値に変換し、差分値復元用に利用している。このように、透明色を表す即値を、各色のデータの中間の値としているので、差分値の振れが小さくなり、効率良く圧縮できることとなる。
【0032】
また、請求項22記載の発明では、請求項19記載の画像用データの復号化装置であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化装置において、透明色を表す上記差分値を、「0」に変換し差分値復元用に利用している。このように、透明色を表す差分値を「0」としているので、透明色が入っても差分値の振れは無くなり、効率良く圧縮できることとなる。
【0033】
また、請求項23記載の発明では、請求項19記載の画像用データの復号化装置であって、前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化装置において、入力されてきた即値となる符号が透明色を表すものか否かを検出する復号第2透明色検出部と、入力されてきた差分値となる符号が透明色を表すものか否かを検出する復号第1透明色検出部と、即値が透明色のときその値を灰色の値に変換すると共にその他の値を通過させる復号第2透明色変換部と、差分値が透明色のときその値を「0」とすると共にその他の値を通過させる復号第1透明色変換部と、上記復号第2透明色変換部からの即値および上記復号第1透明色変換部からの差分値とを入力し差分値復号用の値を生成し、入力してきた差分値に加え合わせる復号器と、即値と差分値が透明色であるとそれらをすべて「0」と灰色以外の透明色を表す値に変換する復号第3透明色変換部とを有している。このため、画像全体としてはDPCMを利用して非可逆伸長され、伸長効率を上げることができると共に、透明色は確実に再現でき、しかも伸長時の影響を小さくできるので画像の劣化を最小限に抑えることができる。
【0034】
加えて、請求項24記載の発明では、符号化された画像用データを、1つの即値と複数かつ所定数の圧縮された差分値とで形成される固定長ブロックとしてVRAMから取り出し、復号している。この結果、1つの即値と複数の差分値とが一体化してブロックを構成することとなり、復号の際のVRAMへのアクセス速度が速くなり、復号効率が良くなる。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態の例を図1から図52に基づき説明する。なお、この実施の形態は、アニメーションを再生するシステムで、具体的には、街角に置かれる案内表示機の画像表示部分にアニメーションを表示するものとなっている。そして、このアニメーション再生システムの説明と共に、本発明の実施の形態の画像用データの符号化方法およびその符号化装置ならびに画像用データの復号化方法およびその復号化装置を説明することとする。
【0036】
この実施の形態における画像表示システムは、アニメ作成用パソコン1でアニメーション画像を作成する点において、従来と同一であるが、そのアウトプットとなる画像用データは従来のものとは異なるものとなる。すなわち、図1に示すように、アニメ作成用パソコン1には、基本OS2と、この基本OS2上で動作するアニメーションシナリオ作成用ソフト3とがインストールされている。そして、このアニメーションシナリオ作成用ソフト3を利用してアニメデータ5を作成する。なお、このアニメデータ5の作成には、通常、アニメ作成者が作った各スプライトとなる基絵4が利用される。そして、アニメ作成用パソコン1からアニメデータ5を出力し、そのアニメデータ5をアニメ作成用パソコン1で動作する変換ソフト6中に入れ、画像用データとなる専用アニメデータ7をアウトプットする。その専用アニメデータ7をROM化し、ROM8とした後、小型化された専用プレーヤ9に配付する。なお、ここでの配付は、ROM8で行っているが、専用アニメデータ7を無線や有線を介して専用プレーヤ9に送信するようにしても良い。
【0037】
配付されたROM8は、画像表示装置となる専用プレーヤ9に取り付けられる。専用プレーヤ9は、図2に示すように、MIMのLCD(液晶)からなる表示部10と、CPUメモリ(=中央処理装置)11と、専用グラフィックLSI12と、プログラムROM13と、外部情報源14からの指示を受けCPUメモリ11に伝えるデータ受信回路15と、専用グラフィックLSI12に接続されるVRAM16と、外部のアンプやスピーカ17に音を供給するサウンド回路18と、表示部10を駆動制御する表示部用LSI19とから構成される。なお、プログラムROM13と共に64Kビット程度のSRAMを設けるようにしても良い。
【0038】
なお、外部情報源14は、専用プレーヤ9の外部にあって、専用プレーヤ9の表示内容を大極的に制御するものとなっている。すなわち、外部情報源14は、アニメーションの流れを変えたり(=シナリオを切り替える)、特定のスプライトを特定の位置へ表示するような指示を与えることができるものとなっている。また、プログラムROM13には、CPUメモリ11が専用アニメデータ7から特定のデータを取り込み、フレーム単位の表示の制御をするためのプログラムと、外部情報源14からの指令を受け取り、フレーム単位の表示の流れを切り替えたり、指示された特定のスプライトを指定された特定の位置へ表示する処理を行うためのプログラムとが格納されている。
【0039】
なお、この実施の形態では、ROM8は、2Mバイトで、テレビ画面で言えば、数10秒に相当する容量を有するものとなっている。また、CPUメモリ11は、8ビットCPUで、内部に512バイトのワークメモリを有し、一方、プログラムROM13は256Kビットとなっている。なお、これらの部材としては、ここに示した数値のものに限定されず、他の値を有するものを適宜採用することができる。
【0040】
ここで、専用グラフィックLSI12は、CPUメモリ11によって各画面間のシーケンスの制御を受ける一方、各画面内での一連のスプライトの表示については、ROM8中のデータを見に行ってそのデータに基づいて、そのスプライトの一連の動きを制御するようになっている。なお、表示部10としては、3.3インチ、4インチ、5インチ、5.6インチ等各種の大きさのものとすることができる。また、必要によってはブラウン管タイプ等、液晶以外の表示体を採用することができる。さらに、VRAM16は、2画面分を取り込めるものとなっており、5インチの表示部では2Mビット、4インチや3.3インチでは1Mビットとなっている。2画面としたのは、1画面を表示用として、もう1画面を書き込み用としたためである。この2画面方式により書き込み途中のちらつきをなくし、画質を向上させている。また、サウンド回路18は、8ビット、8KHz、1チャンネルのものとなっているが、他の値のものを適宜採用できる。
【0041】
専用グラフィックLSI12の構造は、図3に示すとおりとなっている。すなわち、プログラマブルなダウンローダの機能を有する小型プロセッサ部12aと、小型プロセッサ部12aから転送される圧縮画像データを復号するデコーダ12bと、デコーダ12bからのデータを拡大、縮小したりマスク等の特殊効果を実行すると共に、小型プロセッサ部12aからの命令を授受しかつデコーダ12bや後述するランダムインターフェイス12dの制御を行うイフェクタ12cと、イフェクタ12cから出力された画像データをVRAM16に書き込むランダムインターフェイス12dと、表示部10の表示動作のための基本タイミング信号を発生すると共にその基本タイミングに合わせてVRAM16から画像データを読み出すシリアルインターフェイス12eと、自然画像の伸長やブレンド処理やパレット変換機能等を有するコンポーザ12fとからなっている。そして、この専用グラフィックLSI12は、CPUメモリ11の実行指示に基づき、ROM8内の当該番地のデータを読む作業を行う。なお、専用グラフィックLSI12内の各部についての詳細な機能、動作については後述する。また、専用グラフィックLSI12内の小型プロセッサ部12aを除く部分がビデオディスプレイプロセッサ部となっている。
【0042】
ROM8のデータ構造は、図5(A)に示すように、CPUメモリ11が解釈実行するシナリオデータが入っている外部プロセッサ制御データ部8aと、専用グラフィックLSI12内の小型プロセッサ部12aが解釈実行するフレーム内スプライト表示プログラム等のプログラムとデータが入っている内部プロセッサ制御プログラム部8bと、専用グラフィックLSI12内のビデオディスプレイプロセッサ部がアクセスしデータをダウンロードする圧縮画像データが入っている画像データ部8cとに主に区分けされている。そして、内部プロセッサ制御プログラム部8bには、小型プロセッサ部12aを動作させるMC(マイクロコントローラ)プログラム8dと、レジスタ部およびパレットRAM部に関するデータとなるレジスタデータ8eとが入っている。また、画像データ部8cには、後述するマルチカラー画像の圧縮データとなるマルチカラー圧縮画像データ8fと、自然画的な画像の圧縮データとなる自然画圧縮画像データ8gとが入っている。
【0043】
なお、外部プロセッサ制御データ部8aには、図5(B)に示すように、各フレーム20の時間軸方向の制御を行うデータが書き込まれている。なお、各フレーム20は、通常1秒で25枚現れる速度で切り替わって行く。一方、内部プロセッサ制御プログラム部8bには、1つのフレーム20内のスプライト(詳細は後述)の表示位置を制御するMCプログラム8d等が書き込まれている。
【0044】
ここで、専用グラフィックLSI12の動作を図4(A)に基づいて簡単に説明する。CPUメモリ11が専用グラフィックLSI12に、ROM8の例えば[XXXXH]番地からの実行を指示すると、小型プロセッサ部12aは、ROM8の[XXXXH]番地からのデータを実行する。ROM8には、[XXXXH]番地から順にMCプログラム8dと、レジスタデータ8eと、画像データ部8c内の圧縮画像データとが書き込まれており、順次実行されていく。
【0045】
具体的には、図4(B)に示すように、例えば、CPUメモリ11が100番地からの実行を指示すると、小型プロセッサ部12aは、ROM8の100番地からのデータを実行する。例えば、スプライトが「A」「B」「C」の文字であるとすると、まず、「A」を表示するための100番地の“A”MCプログラムを実行する。この実行は、「A」を表示するための各種パラメータをイフェクタ12bのレジスタ部にセットした後、VRAM16に「A」の伸長された圧縮画像データをダウンロードすることにより行われる。同様にして文字「B」、文字「C」の画像用データがビデオディスプレイプロセッサ部のレジスタ部やVRAM16へダウンロードされる。
【0046】
以上のような関係を専用アニメデータ7を主体として見ると、図6に示すような関係となる。すなわち、ROM8とされた専用アニメデータ7は、CPUメモリ11およびプログラムROM13からなるCPUファームウェア31と、専用グラフィックLSI12のハードウェア仕様32とを制御する構成となる。この結果、この画像表示システムに使用される専用プレーヤ9は、CPUファームウェア31と、専用グラフィックLSI12のハードウェア仕様32と、専用アニメデータ7との連携により各種の表示機能を実現するものとなっている。
【0047】
次に、この表示機能の仕組みについて説明する。なお、今後使用する「スプライト」なる語句は、アニメーションの1つのフレーム20内の画像の構成要素を指すものとする。例えば、[A」「B」「C」等の文字、リンゴや柿等の絵、三角や四角等の幾何学図形等が相当する。また、「スプライト画面」とは、そのような「スプライト」を表示する画面のことを言う。
【0048】
一般的に、アニメーションにおける各画面となる各フレーム20は、複数のスプライト画面より構成される。すなわち、マルチカラー画像からなるマルチカラースプライトと、自然画的な画像となる自然画像スプライトとで構成される。この2種類のスプライトは、専用グラフィックLSI12内の小型プロセッサ部12aが自主的に動いて描画されたり(後述のアクティブモード)、CPUメモリ11と小型プロセッサ部12aとが協力して描画されたり(後述のパッシブモード)する。なお、マルチカラースプライトの中には、外部情報源14の指示に従って、CPUメモリ11が特定位置に描画する特定画像スプライトも含まれる。この実施の形態のアニメーション画面は、例えば、図7に示すように、複数のマルチカラースプライトと、自然画像スプライトを有する構成とされる。またときには、上述した特定画像スプライトも有する場合がある。そして、これらの各スプライトが重なった場合、最も前面にきたスプライトが優先表示されるようになっている。ただし、自然画像スプライトを除く各スプライトは、後述するパレットにそれぞれ「透明」となるパレット色を有しているので、その「透明」を利用して、後側の画面の色が出せるようになっている。
【0049】
ここで、2つのマルチカラースプライトは、共にアニメ用で主にキャラクタによるアニメーション等に使用している。両マルチカラースプライトは、自然画像スプライトに比べて色数は少ないが、その分画像データが小さいので、多数のキャラクタを表示する画面に向いている。しかも、この両マルチカラースプライトは15色、30色、45色、60色のいずれかの色数を選択して使用できるものとなっているが、この実施の形態では15色を採用している。
【0050】
一方、特定画像スプライトは、CPUメモリ11によって描画され、外部情報源14によって直接制御されるものとなっているが、その性質は、マルチカラースプライトとなっている。なお、この特定画像スプライトの表示位置は、他の各スプライトと異なり、画面の中央や端など一定の場所に設定されているが、他のマルチカラースプライトと同様に移動や重ね合わせ、拡大、縮小等ができるものとしても良い。
【0051】
また、自然画像スプライトは後述するように色数が多く高詳細表示が可能となっている。このため、主に自然色を使った背景などに使用される。
【0052】
ここで、マルチカラースプライトは、それぞれ32K色中15色の色をもてるパレットテーブルを有している。そして、この3つの画面で最高60色を発色できるようになっている。32K色となるのは、色の3原色である赤(R)、緑(G)、青(B)の値を各5ビットで現しているためである。すなわち、合計15ビットとなり、32K色の色となるのである。各画面M1,M2,SCは、この32K色の中の15色を特定したパレットテーブルをそれぞれ有している。これは、この実施の形態で使用しているハードウェアは、4ビットのスプライト画面しか扱えないものとなっているため、最大16通りの色となるが、そのうち1つを透明としているためである。
【0053】
一方、自然画像スプライトは、256K色を同時に発色できるダイレクトカラー方式となっている。これは、R,G,Bを各6ビットで計18ビットで現し、その値を直接表示するものとなっているためである。
【0054】
ここで、マルチカラースプライトを複数用意したのは、例えば、案内表示機内の案内人の画像を、背景となるマルチカラー画像の画面に重ねて出すためである。また、自然画スプライトは、例えば美人女性やおいしそうな食べ物を現すためである。さらに、特定画像スプライトは、例えば案内表示機を使用するときに、時刻表示を行わせたり、スロットマシンの画像を表示させ、スロットマシン的機能を付加させたりするものである。このような特定画像スプライトを使用すると、案内表示機の使用価値が上がり、ゲーム感覚での使用も可能となる。
【0055】
各スプライトを有する画面は、図8および図9に示すように、3つのモードと自然画像スプライトが優先される順位指定との組み合わせの中から選択される。図8(A)は、特定画像スプライトが最後に描画される特定画像トップモード、図8(B)は、特定画像スプライトの描画の後にマルチカラースプライトが描画される特定画像セカンドモード、図8(C)は、特定画像スプライトの描画の後、2つのマルチカラースプライトを描画する特定画像ボトムモードとなっている。一方、図9は、例えば、特定画像トップモードの場合に、自然画像スプライトをどの時点で描画するかを決める自然画像スプライトの描画優先順位を指定する場合を示している。このようにして、3つのモードと4つの異なる描画順序指定が行え、計12通りの描画順序が行えるものとなっている。
【0056】
各スプライト画面には、任意の個数のスプライト、例えば、アニメキャラクタを表示させることができる。すなわち、この実施の形態では、スプライトの個数は、ハード的に制限されるのではなく、スプライトの描画処理に要する時間から制限を受けるものとなっている。例えば、各フレームの描画レート(=フレームレート)を25Hzとした場合、4インチフルサイズの16色画面を約5.7枚描画でき、スプライトが1/4のサイズのものであると、約24枚描画が可能となる。ちなみに、自然画像スプライトであると、約3.8枚描画が可能となる。各スプライトの描画優先順位は、各スプライトに任意の優先順位を指定できるようになっている。すなわち、上書きしていく順番を自由に変更することができる。なお、従来のものは、スプライトの数(画面で2つ)およびその各2つの優先順位が決められているようなものが多い状況である。例えば、1画面の中に、スプライトAとスプライトBがあった場合、ある特定のレジスタにスプライトAを、また他の特定のレジスタにスプライトBを記憶させていた。そして、そのレジスタを切り替えて、スプライトA,Bの表示を切り替えていたが、これに対し、この実施の形態では、各スプライトのレジスタは特定されず、書き込みの順を入れ替えることによりスプライトを表示させている。すなわち、早く書き込まれたスプライトが遅く書き込まれたスプライトによって消されていく方式となっている。このように、この実施の形態では、スプライトの数や表示順位に制限がなく、扱いやすいものとなっていると共に、レジスタを軽い、すなわち小型のものとすることができる。
【0057】
各スプライト、例えば、アニメキャラクタのサイズは、マルチカラースプライトでは、横方向で1〜1,008画素で、縦方向は1〜255画素となっている。一方、自然画像スプライトでは、横方向1〜1008ドット(=セル)で、縦方向は1〜255ドットとなっている。これは、この実施の形態では、最大5.6インチの液晶画面、すなわち、960ドット×240ドットの画面を指定しているためである。ここで、自然画像スプライトをドット単位としているのは、画質向上を図るためであり、RGBの3ドット(3セル)で1画素を構成させている。一方、マルチカラースプライトは、RGBが1つとなった代表色からなるパレットを有しており、その単位は、画素すなわち代表色単位となっている。
【0058】
各スプライトの表示位置の指定は、マルチカラースプライトでは、RGBの特定の値からなる1画素単位で可能であり、自然画像スプライトは、水平方向、垂直方向ともに3ドット単位となっている。この3ドット単位の指定は、図10(A)のように3ドットの各ドットでRGBのそれぞれを現し、次のラインは1つずらし、GBRの順で繰り返し、3ライン目は、BRGで繰り返すようになっている。このような表示の仕方をモザイク配列と言い、解像度が低い場合に採用されるものとなっている。モザイク配列でない場合としては、図10(B)のように、水平方向が3ドット、垂直方向1ドット単位(=ストライプ配列)を採用することが考えられる。
【0059】
各スプライトの拡大、縮小は、縦方向と横方向がそれぞれ独立に拡大、縮小させることができる。なお、拡大、縮小の割合は、横方向、縦方向共に連続的にすることも可能であるが、拡大、縮小を行うワークメモリの負荷を小さくするため、横方向の拡大、縮小は段階的に行うものとなっている。
【0060】
すなわち、横方向の拡大、縮小のサイズは、元の横幅が1〜16ドットのときは、1〜1,008ドットで、17〜32ドットのときは、2×n(n:1〜255ただし1,008ドットを超えない)ドットで、33〜48ドットのときは、3×n(n:1〜255ただし1,008ドットを超えない)ドットとなる。このように、16ドットを単位として拡大、縮小が行われる。例えば、元の画素の横幅が160ドットのときは、10×n(n:1〜255、ただし1,008ドットを超えない)となる。これは小型プロセッサ部12aが、16ドットを1つの単位で処理しているためである。ここで、2×n,3×n,10×n等の「2」「3」「10」が横方向の拡大、縮小の単位個数となり、この値は後述するレジスタXDSBNに書き込まれる。
【0061】
以上の表示部分に関する各機能をまとめると次のとおりとなる。すなわち、液晶ドット数(物理ドット数)は、3.3”、4”のとき442(水平方向=H)×238(垂直方向=V)で、5.6”のとき960(H)×240(V)で、この実施の形態ではこれらのいずれかを使用している。表示モード(論理画素数)は、3.3”、4”のとき160(H)×240(V)で、5.6”のとき320(H)×240(V)となっている。表示色は、最大32K色で、画面構成は、マルチカラースプライト面(以下M面という)と、自然画像スプライト面(以下T面という)で構成される。なお、スクロール機能におけるスクロール方向は、縦、横、斜めスクロール可で、分割スクロールは処理時間の範囲で分割数任意とできる。また、スプライト機能におけるスプライト数は、処理時間の範囲で任意にでき、スプライトサイズはウインド設定により任意とすることができる。マルチカラー画像表示機能は、32K色中60色表示が可能で、自然画像表示機能は、6ビット/ドット(18ビット/画素)相当で、最大256K色表示が可能となっている。また、VRAM16のフォーマットは、基本として2面(=2バンク)を持ち、表示用と描画用をバンク切り換えで使用される。パレットRAMは、15色×4バンク分で、各色15ビット(透明色は4色)とされている。さらに、この専用プレーヤ9の表示の基本タイミングは、次のとおりとなっている。すなわち、基本クロックは、25MHz(40ns/クロック=clk),表示フレーム周波数は、50.05Hz(20ms/フレーム),走査ライン数は、270本=line/フレーム, 基本VRAMリード/ライトサイクルは、12.5MHz(80ns/バイト),基本LCD転送サイクルは、25MHz(40ns/ドット)となっている。図11に、以上の表示部10への転送の基本タイミングをまとめて示すこととする。
【0062】
専用グラフィックLSI12は図12に示すようにいくつかのディスプレイモードを有しており、ディスプレイモードの選択により、M面とT面の表示組み合わせ、サイズ等が決まることとなる。ディスプレイモードの選択は、表示部10に使用するLCDの画素数、外付けVRAM16のサイズにより制限される。各モードの設定は、リセット時または専用グラフィックLSI12動作時に、所定のレジスタに所定の値を書き込むことにより行われる。
【0063】
各ディスプレイモードとその表示状態を図13および図14に示す。なお、図中の数字は、画素数を示し、M面をM、T面をTとして表す。ここで、図13(A)および図14(A)に示すモードLO,SOにおけるT面表示モードにおいては、T面のVRAM16を画面いっぱい確保することができない。したがって、次のいずれかのモードを選択し、T面の表示を行う。すなわち、モードLOa,SOaでは、1ラインで2ライン分を補完し、画面いっぱいの表示を行う。一方、モードLOb,SObでは補完をせずに、そのまま表示を行う。よってモードLOの場合は、320×120の領域が、モードSOの場合は、160×120の領域が表示可能となる。
【0064】
各ディスプレイモードとVRAMフォーマットの関係は、図15,16および図17に示すようになっている。ここで、図15は5.6”LCDで2MビットのVRAM16とした場合を示し、図16は5.6”LCDで、1MビットのVRAM16の場合を示す。また、図17は、3.3”または4”のLCDで、1MビットのVRAM16の場合を示している。また、各図において、「M」「T」の後の数字は、2つのバンクの区分を示している。各ディスプレイモードの選択範囲は、LCDの画素数、VRAM16のサイズにより制約を受ける。また、ディスプレイモードの選択により、M面とT面のVRAM16上でのアロケーションが決定される。
【0065】
M面のVRAM16上でのアロケーションフォーマットは、次のとおりである。図18に示すように、マルチカラーピクセル(以下MPIXという)は、2ビットのマルチカラーパレットナンバー(以下MPNという)と、4ビットのマルチカラーコード(以下MCODEという)により構成されている。ここでMPNは画素の属性で、どのプレーンの画素かを示している。MPNは後述する重ね合わせやパレットテーブルの選択に使用される。一方、MCODEは、画素の持つ値を示している。MCODEは4ビット構成なので、16通りの値をとることができる。なお、MCODEが“0”のとき透明色となるようにしている。上述したMPIXが4画素分集まって、マルチカラーデータユニット(以下MDUという)が形成される。MPIXが4画素分で3バイトとなり、これがVRAM16のリード/ライトの基本単位となる。ディスプレイモードの選択により、M面中のMDUの数は異なるものとなる。すなわち、VRAM16上において、図19に示すように、1ラインで240バイトとれる場合のMDUは、1ラインで80個、1ラインで120バイトとれる場合のMDUは、1ラインで40個となる。一方、T面のVRAM16上でのアロケーションフォーマットは、次のとおりである。図20に示すように、実数値ピクセル(以下IPIXという)は、VRAM16上に即値で格納されている画素であり、即値ドットデータI0,I1,I2の3個のデータでIPIXを1画素構成している。I0,I1,I2に赤色、緑色、青色のどのデータが割り当てられるかは、y座標と、x座標で決定される。図22に示すように、In(nは0〜2)が緑色の場合は、拡張ドットデータ(以下EXという)をLSBに拡張し、Inが赤色、または青色の場合は、“0”をLSBに拡張する。ここでEXは、I0,I1,I2を1ビット拡張するものである。そして緑色のみを拡張するが、その緑色をI0,I1,I2のどれに割り当てるかは、そのときの、y座標と、x座標で決定される。
【0066】
図20に示す差分値ピクセル(以下DPIXという)は、VRAM16上に非線形量子化された差分値で格納されている画素で、IPIXの右側に、4画素並んでいる(DPIX0〜DPIX3)。各DPIXは、差分値ドットデータD0,D1,D2の3個のデータで構成され、その3個のデータで1画素が構成されている。差分値ドットデータDO,D1,D2に赤色、緑色、青色のどのデータが割り当てられるかは、そのときのy座標と、X座標で決定される。自然画像データユニット(以下TDUという)は、即値で格納された1画素(IPIX)と、差分値で格納された4画素(DPIX0〜3)のデータから構成されている。そして、1つのTDUは、5画素分で8バイトとなる。これが、VRAM16上のリード/ライトの基本単位となる。ディスプレイモードの選択により、T面中のTDUの数は異なるものとなる。すなわち、VRAM16上において、図21に示すように、1ラインで512バイトとれる場合は、TDUは、1ラインで64個、1ラインで256バイトとれる場合のTDUは、1ラインで32個、1ラインで128バイトとれる場合のTDUは、1ラインで16個となる。
【0067】
次に、専用グラフィックLSI12内の小型プロセッサ部12aを除く部分、すなわちビデオディスプレイプロセッサ部の詳細な機能について説明する。デコーダ12bは、小型プロセッサ部12aより転送される圧縮データを復号する。さらに、デコーダ12bは、マルチカラー画像復号モードと、自然画像復号モードの2つを持っている。マルチカラー画像復号モードでは、1画素4ビット(1セル分)のマルチカラースプライトを復号する。なお、元のデータの符号化方式は、並列算術圧縮方式となっている。一方、自然画像復号モードでは、1画素18ビット(3セル分)相当の自然画像スプライトを復号する。なお、元のデータの符号化方式は、拡張並列算術圧縮方式となっている。これは、並列算術圧縮方式に、グレイコード変換、非線形DPCMを組み合わせたものとなっている。自然画像復号モードでは、DPCMを行うが、このときの参照セルは、圧縮対象セルが、圧縮単位のどこにあるかで異なってくる。また、実装する液晶モジュールの画素配列によっても異なる。さらに、本デコーダ12b内のレジスタ部は、制御レジスタを保有せず小型プロセッサ部12aとイフェクタ12cからの制御信号により動作する。
【0068】
イフェクタ12cでは、デコーダ12bからのデータを拡大/縮小,マスク等の特殊効果を施した後、ランダムインターフェイス12dに転送する。また、小型プロセッサ部12aからの命令の授受、およびデコーダ12bとランダムインターフェイス12dの制御を行う。イフェクタ12cは、さらにVRAM16上のアドレスを決める書き込み機能も有する。この書き込み機能は、図23に示すような仮想書き込み領域(以下仮想領域という)を有している。図23におけるXsizeは、ディスプレイモードと、M面/T面により変化する。この関係を図24に示す。なお、図23および図24中の数字は、全てドット単位となっている。ここで、図25に、復号されたデータが書き込まれる様子を示す。[XWOFF,YWOFF]から始まるセルサイズ[XWSBS×XDSBN,YWSIZ]の領域に復号データが書き込まれていく。この時、マスクMで指定した領域以外にはデータは書き込まれない。
【0069】
イフェクタ12cのマスク機能は、次のとおりとなっている。マスク機能としては、矩形マスクとブラインドマスクとがある。矩形マスクは、図25に示すマスクM1が相当する。[XMOFF,YMOFF]から始まるセルサイズ[XMSIZ,YMSIZ]の領域が、書き込み可能なマスクM1となっているので、図25の斜線部分に実際にデータが書き込まれることとなる。なお、矩形マスクで指定した領域の内側を書き込み可とするか、外側を書き込み可とするかは、MINV(詳細は後述)で指定することとなり、図26に示すように、MINV=0のとき内側が書き込み可となり、MINV=1のとき外側が書き込み可となる(図26の斜線部分)。一方、ブラインドマスクは、図27に示すように、ブラインドカーテンのような機能を持つマスクM2となっている。ブラインドの横と縦の各単位がXBMPとYBMPで指定され、その中の書き込み可能領域がXBMWとYBMWで指定される(図27の斜線部分)。ここでブラインドマスクの指定時に、XBMPおよびXBMWの意味が、復号モードにより異なる。すなわち、マルチカラー画像復号モードでは1セル単位(1画素単位)であり、自然画像復号モードでは、3セル単位(1画素単位)となっている。つまり、XBMW=1を指定すると、マルチカラー画像復号モードでは、1セルの幅を指定したことになり、自然画像復号モードでは、3セルの幅を指定したことになる。これは、最終的な出力結果を、画素単位で統一するためである。
【0070】
イフェクタ12cの拡大/縮小機能は、基本として、復号されるブロックのサイズと、書き込まれる領域のサイズを別々に指定することによって実現している。しかし、拡大/縮小の指定方法は、図28に示すようにX方向(=横方向),Y方向(=縦方向)により、扱いが異なっている。例えばX方向の拡大/縮小については、
(a)16=XWSBSならば横同サイズでの書き込み
(b)16>XWSBSならば横縮小書き込み
(c)16<XWSBSならば横拡大書き込み
となり、Y方向の拡大/縮小については、
(a)YDXIZ=YWSIZならば縦同サイズでの書き込み
(b)YDXIZ>YWSIZならば縦縮小書き込み
(c)YDXIZ<YWSIZならば縦拡大書き込み
となる。
【0071】
イフェクタ12cは、各種のコマンド等を保持するレジスタをも有している。各レジスタは、8個から64個のレジスタ部を有しているが、使用している個数は少ないもので1個、多いもので64個となっている。各レジスタの名称とその機能を以下に説明する。レジスタEFFSTTは、8個のレジスタ部を有しており、その中の1個を使用してVRAM16のクリア中のステータスを示す。レジスタEFFCMDは、8個のレジスタ部を有しており、この中の1個を使用して復号の開始や、VRAM16のクリア等のイフェクタ12cに関する制御コマンドを与える。なお、このレジスタEFFCMDは、ステータスが準備状態のときにのみ受け付けられる。
【0072】
レジスタDECMODは、8個のレジスタ部を有しており、その中の1個を利用して復号モードをセットすると共に、マルチカラー画像復号モードの場合は、他のレジスタを利用してパレットナンバー(=MPN)をセットする。なお、MPNは、M面が複数のときにはそのM面毎にセットされる。レジスタXDSBNは、8個のレジスタ部を有しており、この実施の形態では、その中の6つの領域を使用して、復号するブロックのサブブロックの個数(=XDSBN)をセットする。なお、サブブロックの幅は16セル固定で、実際のブロックサイズは16セル×XDSBNの倍数になり、しかもこのレジスタXDSBNは、1〜63の範囲で任意に指定できる。セルサイズでいうと、16セルから1,008セルの範囲で、16セルステップで指定できることになる。レジスタYDSIZは、8個のレジスタ部を有し、この実施の形態では、その8つ全部それぞれに復号するブロックのY方向のセルサイズ(ライン数)をセットする。そして、レジスタYDSIZのそれぞれに書き込まれる値は、1〜255の範囲で任意に指定可能となっている。
【0073】
レジスタXWSBSは、8個のレジスタ部を有しており、この実施の形態ではその8つのそれぞれに復号したブロックを書き込む領域の、サブブロックのサイズを指定する。したがって、実際のブロックサイズは、XWSBS×XDSBNの倍数になる。なお、レジスタXWSBSに書き込まれる値は、1〜255の範囲で任意に指定可能となっている。レジスタYWSIZも8個のレジスタ部を有しており、この実施の形態ではその8つのそれぞれに復号したブロックを書き込む領域のY方向のセルサイズ(ライン数)を指定する。そして、レジスタYWSIZのそれぞれに書き込まれる値は、1〜255の範囲で任意に指定可能となっている。
【0074】
レジスタXMSIZL,XMSIZHは、それぞれ8個のレジスタ部を有し、矩形マスク領域の、X方向のセルサイズを指定すると共に矩形マスク領域の正/反転を指定する。そして、レジスタXMSIZLにローアドレス、レジスタXMSIZHにハイアドレスを指定する。各レジスタXMSIZL,XMSIZHに書き込まれる値は、1〜1,023の範囲で指定できる。さらに、レジスタXMSIZHの1つのレジスタ部に、矩形マスク領域の正/反転を指定するMINVが書き込まれる。MINV=“0”は、矩形マスク正を意味し、矩形マスクの内側が書き込み可能となると共に書き込み領域に境界が含まれることとなる。一方、MINV=“1”は、矩形マスク反転を意味し、矩形マスクの外側が書き込み可能となると共に書き込み領域に境界が含まれないことととなる。
【0075】
さらに、レジスタYMSIZは、8個のレジスタ部を有し、矩形マスク領域の、Y方向のセルサイズを指定する。このレジスタYMSIZに書き込まれる値は、それぞれ1〜255の範囲で指定できる。レジスタXYBMPも8個のレジスタ部を有し、ブラインドマスクのX,Yのオン/オフと、X,Y方向のピッチを指定する。なお、8個のレジスタ部のうち、3個のレジスタ部を使用し、XのオフとX方向のブラインドマスクのピッチを画素単位で指定し、残りの5個のうち3個のレジスタ部を使用し、YのオフとY方向のブラインドマスクのピッチを画素単位で指定する。各ピッチは、2,4,8,16,32,64,128の画素ピッチのいずれかをとることができる。
【0076】
また、レジスタXBMWは、8個のレジスタ部を有し、ブラインドマスクをかける場合の、X方向のマスク幅を画素単位で指定する。レジスタXBMWに書き込まれる値は、0〜128の範囲で指定でき、128以上の値を指定した場合は、128にクリップされる。レジスタYBMWに8個のレジスタ部を有し、ブラインドマスクをかける場合の、Y方向のマスク幅をセル単位(ライン単位)で指定する。レジスタYBMWに書き込まれる値も0〜128の範囲で指定でき128以上の値を指定した場合は、128にクリップされる。なお、ピッチの幅を超えてマスクの幅を指定した場合は、ピッチの幅をマスクの幅と見なしている。
【0077】
レジスタXWOFFL,XWOFFHは、それぞれ8個のレジスタ部を有し、復号したブロックを書き込む領域の、X方向のオフセットをセルアドレスで指定する。そして、レジスタXWOFFLにローアドレス、レジスタXWOFFHにハイアドレスを指定する。この実施の形態では、レジスタXWOFFHの1つのレジスタ部に、正負を示す符号ビットを書き込むXWSIGNを割り当てている。このXWSIGNが“1”であると負の数になり、“0”であると正の数になる。このXWSIGNと他のレジスタ部に書き込まれる値とで、−1,024〜1,023の範囲が指定できることとなる。レジスタYWOFFL,YWOFFHは、それぞれ8個のレジスタ部を有し、復号したブロックを書き込む領域の、Y方向のオフセットをセルアドレスで指定する。そして、レジスタYWOFFLにローアドレス、レジスタYWOFFHにハイアドレスを指定する。この実施の形態では、レジスタYWOFFHの1つのレジスタ部に、正負を示す符号ビットを書き込むYWSIGNを割り当てている。このYWSIGNが“1”であると負の数になり、“0”であると正の数になる。このYWSIGNと他のレジスタ部に書き込まれる値とで、−256〜255の範囲が指定できることとなる。
【0078】
また、レジスタXMOFFL,XMOFFHは、それぞれ8個のレジスタ部を有し、矩形マスクをかける領域の、X方向のオフセットをセルアドレスで指定する。そして、レジスタXMOFFLにローアドレス、レジスタXMOFFHにハイアドレスを指定する。この実施の形態では、レジスタXMOFFHの1つのレジスタ部に、正負を示す符号ビットを書き込むXMSIGNを割り当てている。このXMSIGNが“1”であると負の数になり、“0”であると正の数になる。このXMSIGNと他のレジスタ部に書き込まれる値とで、−1,024〜1,023の範囲が指定できることとなる。さらに、レジスタYMOFFL,YMOFFHは、矩形マスクをかける領域の、Y方向のオフセットをセルアドレスで指定する。そして、レジスタYMOFFLにローアドレス、レジスタYMOFFHにハイアドレスを指定する。この実施の形態では、レジスタYMOFFHの1つのレジスタ部に、正負を示す符号ビットを書き込むYMSIGNを割り当てている。このYMSIGNが“1”であると負の数になり、“0”であると正の数になる。このYMSIGNと他のレジスタ部に書き込まれる値とで、−256〜255の範囲が指定できることとなる。
【0079】
最後に、レジスタTRPTnH,TRPTnLは、指定のM面の画像コードを強制的な透明色(MPN=0,MCODE=0)への置き換えを指定する。これにより任意のM面の画像コードを透明色に置き換えることができる。そして、8本のレジスタ(64ビット=64個のレジスタ部)を割り当て、16エントリ×4テーブルの全てのパレットに対応可能となっている。なお、各レジスタ部に書き込まれるのは、“0”または“1”で、“1”のときに透明色への置き換えが行われる。
【0080】
ランダムインターフェイス12dは、イフェクタ12cから出力された画像データを、VRAM16に書き込む。この書き込みのための画像データ処理回路と、アドレス発生回路(各々図示省略)を有している。そして、次のような各機能を有している。
【0081】
第1は、アドレス変換機能である。イフェクタ12cで矩形マスク,ブラインドマスク、拡大/縮小等の演算が、セルアドレスを用いて行われる。これを、VRAM16に書き込む際に、VRAM16のアドレスに変換する必要がある。このため、まず、M面のマルチカラースプライトの場合(後述するように4画素3バイトフォーマット)と、T面の自然画像スプライトの場合(後述するように5画素8バイトフォーマット)を考慮した変換を行う。その後、得られたX,Yアドレスを、さらに、ディスプレイモードや表示バンクの情報を加味して、実アドレスに変換する。
【0082】
第2は、読み出し書き戻し機能であるリードモデファイライト機能である。VRAM16のデータ構造として、上述したようにマルチカラースプライトの場合(4画素3バイトフォーマット)と、自然画像スプライトの場合(5画素8バイトフォーマット)とを持つが、いずれの場合も、セル単位では、バイト単位規制(=バイトバウンダリ)とはなっていない。したがって、VRAM16にセルデータの書き込みをする場合、VRAM16上のデータを破壊しないために、一旦VRAM16内容の読み出しを行い、マスク処理をして書き戻す必要が生ずる。M面の場合、4画素単位で、T面の場合5画素単位(15ドット単位)でそれぞれリードモデファイライトを行う。
【0083】
ランダムインターフェイス12dの第3の機能は、自然画固定長圧縮機能である。すなわち、TDUの5画素分を8バイトに納めるためのデータ圧縮である。ここでは、TDUの1個分の元データは90ビット(6ビット×3×5画素)でこれを64ビット(=8バイト)に固定長圧縮してVRAM16に保存する。この機能を実行する際、先のリードモデファイライト機能と併用するので、このための、書き込み用圧縮回路と、読み出し用伸長回路(共に図示省略)をランダムインターフェイス12dは有している。圧縮方式は、非線形DPCM方式を採用し、R,G,B別々にDPCMを行う。
【0084】
ここでDPCM演算回路での透明色の影響を最小にするため、次の処理を行う。
【0085】
(a)即値は「32」で演算(灰色として扱う)、すなわち6ビットで表される即値の中央の値としている。
【0086】
(b)差分値は「0」で演算、すなわち前の値をホールドする。
【0087】
なお、DPCM処理の量子化テーブルを図29および図30に示す。図29は非線形量子化変換テーブル(以下FNLQという)で、図30は非線形逆量子化変換テーブル(以下INLQという)である。
【0088】
次に、透明色処理について説明する。まず、M面においては、復号値、VRAM16上ともMCODE=0で表される。一方、T面では、復号値は「62」,「63」として、VRAM16上ではIPIX=0,DPIX=0として表される。ここで非線形DPCMは、非可逆圧縮であり、圧縮したデータは元には戻らない。しかし、透明色が失われると画像が大きく変わってしまうため、透明色は次のように処理している。すなわち、T面での透明色は、DPCM符号化/復号化時に完全可逆とする。また、ハンドリングのし易さを考慮し、「0」でVRAM16を初期化した場合、T面では透明色が復号されるようにしている。
【0089】
ランダムインターフェイス12dの第4の機能は、VRAM初期化機能である。これはVRAM初期化要求があったときに、シリアルインターフェイス12eと連携してVRAM16の初期化を行うものである。表示面のバンクのT面エリアもしくはM面エリアに、全て「0」を転送する。なお、この初期化処理は、Vのブランキング期間に行う。第5の機能は、VRAMリフレッシュ機能である。最後の第6の機能は、シリアルインターフェイス12eからの割り込み受け機能である。シリアルインターフェイス12eは、一定間隔で、表示用のデータ読み出しを行っている。このためランダムインターフェイス12dは、シリアルインターフェイス12eからアドレスセットのための割り込みを受ける。この割り込みを受けた場合は、シリアルインターフェイス12eを優先して、イフェクタ12cを停止しアドレスセットを行う。なお、ランダムインターフェイス12d内には制御レジスタがなく、イフェクタ12cと、シリアルインターフェイス12eからの制御信号により内部のレジスタが動作するようになっている。
【0090】
次に、ランダムインターフェイス12dで行っているDPCM符号化およびDPCM復号化について説明する。なお、コンポーザ12fでも、DPCM復号化を行っている。
【0091】
まず、DPCM符号化について図31から図33に基づいて説明する。この符号化装置40は、透明色を検出する透明色検出部41と、圧縮差分値生成器42と、この圧縮差分値生成器42の出力を入力すると共に透明色検出部41の検出信号を受けて透明色(=「63」,「62」)を差分値で0とする第1透明色変換部43と、透明色検出部41の即値出力を入力すると共に透明色検出部41の検出信号を受けて透明色(「63」,「62」)を即値で灰色(=「32」)とする第2透明色変換部44と、第1透明色変換部43および第2透明色変換部44の各出力を入力し圧縮差分値生成器42へ差分値発生用の値を出力する局部復号器45と、圧縮差分値生成器42の出力を入力しその差分値が「0」のとき「−8」へ変換する第1Z変換部46と、透明色検出部41の即値出力を入力しその即値が「0」のとき「63」へ変換する第2Z変換部47と、第1Z変換部46の出力を入力しその差分値がどのような数値であろうとその差分値を表示するものが透明色であればその差分値を全て「0」に変換する第3透明色変換部48と、第2Z変換部47の出力を入力しその即値が透明色(「63」,「62」)であれば「0」に変換する第4透明色変換部49と、第3透明色変換部48と第4透明色変換部49の各出力を入力し各値をVRAM16へ出力すると共に速度変換する2バイト分の容量を有するバッファ50とから構成されている。なお圧縮差分値生成器42と局部復号器45とで符号器が構成されている。また、バッファ50にはRGB情報が入力されている。さらに、図31および図32においては、「透明色」のことを単に「T」と置き換えて表示することとする。
【0092】
ここで、符号器42は、透明色検出部41の出力から局部復号器45の出力を差し引く差分生成部51と、図29に示す非線形量子化変換テーブル(FNLQ)を有するFNLQ部52とを有する。また、局部復号器45は、量子化された差分値を代表的な差分に戻すための図30に示す非線形逆量子化変形テーブル(INLQ)を有するINLQ部53と、INCQ部53の出力とこの局部復号器45の出力とを加え合わせる復号合成部54と、復号合成部54の出力を図33に示す表に基づいて6ビットにクリップするクリップ部55と、第2透明色変換部44から出力される即値とクリップ部55から出力される復号された差分値を入力する出力部56と、この出力部56に入力してきた赤色、緑色、青色の3つのデータを保存するレジスタ部57とを有している。なお、出力部56には即値と差分値を示す情報が与えられている。
【0093】
この符号化装置40にデコーダ12bで伸長復号されたT面の6ビットからなる画像データが入力してくると、まず透明色検出部41でそのデータが透明色(「63」,「62」)か否かが検出される。最初に入ってくるデータは即値であり、その即値は、第2透明色変換部44と第2Z変換部47へ入力される。第2透明色変換部44においては、その即値が透明色であると「32」(=灰色)に変換し、その他であるとそのまま通過させそれぞれ局部復号器45に入力させる。このように中間の値である「32」に変換するのは差分をなるべく小さくした方が後述する量子化との関係で画質が劣化しないため、他の値との差が平均的に最も小さくなる中間の値としたものである。なお「31」や中間より若干偏った他の値としても良い。
【0094】
一方、第2Z変換部47に入力した即値は、その値が「0」であると「63」に変換される。第4透明色変換部49では、その即値が透明色(「63」,「62」)であると「0」に変換する。即値が「0」,「63」,「62」のいずれでもないときは、そのまま通過していく。各即値は、バッファ50で速度変換されると共に1バイト(8ビット)ずつVRAM16へ送られて行く。このようにVRAM16上の即値の透明色を「0」にする(後述するようにVRAM16上の差分値の透明色も「0」にしている)のは、VRAM16を初期化するときに「0」で初期化すれば良く、デバッグが楽になるためである。このような「0」での初期化を行わないときは、第1Z変換部46および第2Z変換部47は、不要となる。
【0095】
即値のためのデータに続いて差分値のためのデータが入力されてくる。そのデータは同様に6ビットであり、まず透明色検出部41によって透明色か否かが検知される。その後、圧縮差分値生成器42の差分生成部51に入力され、先ほどの即値が差し引かれる。その値は、図29の入力値に示すように、「−63」〜「63」(=127種)の値となる。すなわち7ビットの値となる。この値はFNLQ部52に入力され、図29の表に基づいて量子化され、出力される。この出力値は、「−7」〜「7」(=15種)となり4ビットで表されるものとなる。この出力値は、第1透明色変換部43に入力する。そして、その出力値がどのような値であろうと、先に透明色検出部41で透明色であることが検知されていると、第1透明色変換部43で「0」に変換される。
【0096】
このように差分値の透明色を「0」とするのは、画像の場合、隣り合った画素等近傍の画素は同じになり易いという性質を考慮したものである。例えば、3つの画素の赤色の値が「30」「30」「30」と並んでいる場合、その中央に透明色を設定すると、赤色部分の画像データとしては「30」「63」「30」となる。これを通常で圧縮すると「63」と「30」の差が「33」となり、FLNQ部52の出力は「7」となり、INLQ部53の出力は「40」となる。この値は、復号化時や符号化装置40の局部復号器45によって「70」(=30+40)となるがクリップされ「61」となる。次の「30」との差分は「−31」となりFNLQ部52の出力が「−6」となりINLQ部53の出力が「24」となる。この結果、復号化時や符号化時の3つめの値は「37」(=61−24)となり、元の「30」とは画素が異なるものとなり、画質が劣化する。一方、透明の時に差分値を「0」とすると、本来の差分値「7」のものが「0」となり、第3番目の「30」の差分値を形成するための値がやはり「30」となり、第3番目の値の値に対する差分値も「0」となる。このため、第3番目の値を復号するとき「30」が復号され、画質が劣化しなくなる。このように透明色の差分値を「0」とすることによって画質の劣化を防止することができる。
【0097】
第1変換部43を通過したFNLQ部52の出力値は、次の差分値を生成する際の比較値となる値を復号する局部復号器45に入力される。そして、まずINLQ部53によって逆量子化され、図30に示す「−40」〜「40」の7ビットで表される出力値を出力する。その値とレジスタ57内の値(これは先に差分生成部51に入力した値と同じもの)とを復合合成部54で加える。そしてクリップ部55で「0」〜「61」の範囲外の値をクリップし、出力部56に入力させる。その復号された値は、レジスタ部57に保存される。
【0098】
このような作業を赤色、緑色、青色毎に行い、4つの差分値を求める。FNLQ部52で生成され量子化された各差分値は、第1Z変換部46に入力される。そして、その値が「0」ならば「−8」とされる。そして、第1Z変換部46を通過した差分値は、その値がどのようであれ、その差分値が透明であると第3透明色変換部48によって「0」に変換される。この結果、第3透明色変換部48後の値は「−8」〜「7」(=16種)となり、4ビットで表されるものとなる。この4ビットで表される差分値は、バッファ50に入力し、速度変換され、即値と共に1バイト(8ビット)単位でVRAM16へ送出される。
【0099】
1つの即値と4つの差分値で形成される5画素8バイトのTDUがVRAM16へ1バイトずつ送られる。このように1つの即値と4つの差分値からなるTDUを形成しVRAM16へ送ることを繰り返すことによって大容量の画像データを圧縮しつつかつ固定長のブロックでVRAM16へ書き込むことが可能となる。
【0100】
次に、DPCM復号化について図34および図35に基づいて説明する。この復号化装置60は、2バイトの容量を有する復号バッファ61と、VRAM16上の差分値の値が「0」(=透明色)を検出する復号第1透明色検出部62と、VRAM16上の即値が「0」(=透明色)を検出する復号第2透明色検出部63と、差分値の値が「−8」のとき本来の「0」に戻す復号第1Z変換部64と、即値が「63」,「62」のとき本来の「0」に戻す復号第2Z変換部65と、透明色検知に基づき透明色の差分値を「0」とする復号第1透明色変換部66と、透明色検知に基づき透明色の即値を「32」(=灰色)とする復号第2透明色変換部67と、復号される色が透明色ならば全て「62」として表示部10側にはき出す復号第3透明色変換部68と、復号第1透明色変換部66および復号第2透明色変換部67の出力を入力し復号第3透明色変換部68に出力する復号器69とから構成されている。なお、復号バッファ61にはRGB情報が入力されている。また、この実施の形態では入力されてくる差分値の「0」が透明色となっているので、復号第1透明色変換部66は、信頼性確保のための役割をもつ念のために置かれているものとなっている。さらに、図34および図35においては、「透明色」のことを単に「T」と置き換えて表示することとする。
【0101】
復号器69は、復号第1透明色変換部66の出力を入力し、図30に示すINLQを有するINLQ部70と、INLQ部70の出力と既に復号された値とを加える復号合成部71と、図33に示す変換を行うクリップ部72と、クリップ部72および復号第2透明色変換部67の出力を入力し、復号第3透明色変換部68へ出力する出力部73と、出力部73からのデータを保持するレジスタ部74とから構成されている。なお、復号器69は、復号第3透明色変換部68への出力部分を除き符号化装置40内の局部復号器45と全く同一の構成となっている。
【0102】
この復号化装置60にVRAM16から取り出された符号が入力する。この符号は、VRAM16に対しバイトアクセスを行うことにより取り出されるため1バイト(=8ビット)単位となっている。そのデータは、まず復号バッファ61に入力され、速度変換される。
【0103】
入力された符号が6ビットからなる即値であると、その即値は復号第2透明色検出部63で「0」(=透明色)か否かが検出される。その後、復号第2Z変換部65で「63」,「62」を本来の「0」に戻す変換をする。次に、復号第2透明色検出部63で透明色が検出されたことに基づいて復号第2透明色変換部67でその値(=「0」)を「32」(=灰色)に変換する。このように「63」と「62」を「0」とし、「0」を「32」に変換した各値と、何も変換されず通過する値とを出力部73に入力する。そして、レジスタ部74に入力させると共に復号第3透明色変換部68に入力させる。この復号第3透明色変換部68では、復号第2透明色検出部63の透明色検出に基づいて、その即値が透明色であると「62」に変換する。すなわち、「32」(=灰色)には、透明色のものと本来の灰色の2通りがあり、透明色であるものだけを「62」に変換することとなる。即値の赤、緑、青の各色についてそれぞれ以上の作業を行わせる。
【0104】
次に、4ビットからなる差分値が入力されてくると、まず復号第1透明色検出部62によって、「0」(=透明色)か否かが検出される。その後、復号第1Z変換部64で、「−8」を本来の「0」に戻す変換をする。次に、復号第1透明色検出部62で、透明色が検出されたことに基づいて復号第1透明色変換部66で透明色を確実に差分値で「0」とする変換をする。そして、そのように変換された値およびそのまま通過してきた値が復号器69に入力される。
【0105】
復号器69に入力された4ビットからなる差分値は、先に示した復号化装置40の局部復号器45と全く同一な方法により差分値を復号化する。復号された差分値は、復号第3透明色変換部68に入力され、その差分値がどのような値になろうとも、透明色であれば全て「62」に変換される。
【0106】
以上のように、DPCM符号化およびDPCM復号化が行われる。これらにおいて、上述したように5画素で90ビットを5画素8バイトに固定長で圧縮しているので、小さいVRAM16でも多く書き込めると共にVRAM16にアクセスする場合にテーブル(表)が不要となる。しかもランダムアクセスができるのでVRAM16の書き換えが容易となる。しかもこの実施の形態では5画素を単位として圧縮、伸長しているので、アクセス速度と圧縮の効率の面でバランスの良いものとなる。また、VRAM16上で透明色を全て「0」としているのでVRAM16を初期化する際、その「0」で初期化させれば、最初のリードモデファイライトのときにVRAM16から引っ張ってくる値が全て「0」の透明色となる。この結果、表示部10をデバッグする際、透明色によって行うことが容易となる。すなわち、VRAM16全体を単に「0」で初期化させておけば良いからである。さらに、このDPCM符号化およびDPCM復号化では、透明色が可逆となっており、画像の変化がほとんど生じないものとなる。また、DPCM演算の際、即値を全体の中間の値である「32」で演算し、差分値は前の値をホールドすることとなる「0」で演算しているので、DPCM圧縮による画像劣化を最小にすることが可能となっている。
【0107】
次に、シリアルインターフェイス12eについて説明する。シリアルインターフェイス12eは、ディスプレイ動作のための基本タイミング信号(水平同期信号LHSYNCおよび垂直同期信号LVSYNCなど)を発生するものである。これら基本タイミング信号は、リセット動作を除いて、他の機能ブロックの影響を受けることはありえないものとなっている。シリアルインターフェイス12eが発生するタイミング信号が、専用グラフィックLSI12において最強の基準信号となる。また、シリアルインターフェイス12eのもうひとつの役割は、基本タイミング信号およびディスプレイモードにあわせて、VRAM16から画像データを読み出すことにある。各ディスプレイモードにより、いくつかの読み出しパターンを組み合わせて、読み出しを行う。なお、同期信号(LHSYNC,LVSYNC)は内部発生となっており、図36に示すタイミングとなっている。図36において、水平同期信号LHSYNCの1周期(=1H)は、1,850クロックで、垂直同期信号LVSYNCの1周期(=1V)は270ラインとなっている。また、各同期信号のタイミングパルス幅(hs,vs)は、各1クロックとなっている。また、水平ブランク(Hブランク=hb)は、一定せず、垂直ブランク(Vブランク=vb)は30ラインとなっている。
【0108】
シリアルインターフェイス12eによる水平読み出し期間は、VRAM16への読み取りシーケンス(以下VRSという)が複数集まって形成される。そして、ひとつのVRSは、40画素を基本単位としている。このため図37に示すように、横方向に320画素持つディスプレイモードでは、1周期で8回(VRS0〜VRS7)、横方向に160画素持つディスプレイモードでは、1周期で4回(VRS0〜VRS3)となる。なお、VRSの中身は、設定されたディスプレイモードにより異なるものとなる。
【0109】
VRSの中にはマルチカラートランスファーシーケンス(以下MTSという)がある。このMTSは、VRAM16内のマルチカラースプライト画像データを出力用ラインバッファ(図示省略)へ転送するシーケンスとなっている。MTS出力は、マルチカラースプライトと自然画像スプライトを重ね合わせて表示する場合に、マルチカラースプライトを予めラインバッファ(図示省略)へ転送しておくのに用いられる。また、VRSの中には自然画像表示シーケンス(以下TDSという)もある。このTDSは、VRAM16内の自然画像スプライトデータと、出力用ラインバッファ内のマルチカラースプライト画像データを、重ね合わせてLCDへ出力するシーケンスとなっている。各モードにおけるMTSとTDSとの関係は図37に示すようになっている。また、MTSの基本読み出し動作を図38に示し、TDSの基本読み出し動作を図39に示す。なお、VRAM16内に自然画像スプライトの有効データが無い場合でも、TDSにおいて出力用ラインバッファのデータをLCDへ出力している。
【0110】
シリアルインターフェイス12e中にも各種のレジスタが存在する。ディスプレイ選択レジスタ(以下レジスタDSPMODという)は、8個のレジスタ部を有すると共に、ディスプレイモードの選択に使用するもので、外部ピンの設定と本レジスタDSPMODの設定により、ディスプレイモードを決定する。すなわち、外部ピンによってLCDのストライプ配列とモザイク配列とを設定し、DSPMODにディスプレイの各モードを設定し、両者を組み合わせて、各配列およびディスプレイモードを決定している。また、自然画像表示位置レジスタ(以下レジスタTCPOSという)は、8個のレジスタ部を有し、表示モードがモードLO(LOaを除く)もしくはSO(SOaを除く)となったときに、有効になる。そして、表示モードがモードLOb,SObのときには、T面の表示を開始するラインの位置を指定し、表示モードがモードLOa,LOb以外のときおよびモードSOa,SOb以外のときには、T面の表示を開始する画素の位置を指定することとなる。なお、このレジスタTCPOSに書き込まれる値の9ビット目は、先のレジスタDSPMODにも書き込まれる。さらに、この各値の正負を決める符号ビットがレジスタDSPMODの1つに書き込まれている。この符号ビットと各値とで「−512」〜「511」までの値が指定可能となっている。さらに、表示コマンドレジスタ(以下レジスタDSPCMDという)は、8個のレジスタ部を有し、そのうち3つのレジスタ部を利用して次の設定をしている。第1はフラグを書き込むことにより、表示バンクの変更を要求するものである。そして、フラグが書き込まれた後、次のLVSYNC時にバンクの切り換えが行われる。LVSYNC後、書き込まれたフラグは落とされることとなる。そして、符号ビットの「1」で動作状態を表すと共に表示バンクの変更を要求する。第2は、動作状態でVRAM16の表示終了直後の、M面の初期化を要求するものである。第3は、動作状態でVRAM16の表示終了直後のT面の初期化を要求するものである。また、表示状態レジスタ(以下レジスタDSPSTTという)は、8個のレジスタ部を有し、そのうちの5個のレジスタ部を使用しているもので、ディスプレイの状態をモニターするステータスレジスタとなっている。具体的には、VRAM16がクリア中かどうかを示すレジスタ部と、表示バンク切り換え指示後、表示バンクの切り換えが行われたかどうかを示すレジスタ部と、表示に関するブロック(シリアルインターフェイス12eとコンポーザ12f)のレジスタへの書き込みを許可するレジスタ部と、垂直ブランキング期間を示すレジスタ部と、水平ブランキング期間を示すレジスタ部とが存在している。
【0111】
次に、コンポーザ12fについて説明する。コンポーザ12fは自然画固定長DPCM復号機能を有している。すなわち、自然画像スプライトは、VRAM16に5画素8バイト単位で固定長DPCM圧縮され、書き込まれている。コンポーザ12fは、これをDPCM復号する機能を持っている。なお、復号のアルゴリズムは、ランダムインターフェイス12dで述べたものと同様となっている。コンポーザ12fは、またパレット変換機能を保有している。すなわち、マルチカラースプライトについては、6ビットのコード(MPN2ビット+MCODE4ビット)を、パレットRAMを介して、15ビットの色データ(RGB各5ビット)に変換する。さらに、マルチカラースプライトと自然画像スプライトの重ね合わせや、ブレンディング機能を持つ。
【0112】
ここで、ブレンディング演算の出力は、6ビットにクリップしている。また、ディスプレイモードが、モードL1,S1の場合は、M面が存在せず、モードLEの場合は、T面が存在しない。したがって、デフォルトの入力を規制する必要があり、これらの場合は、デフォルト入力として、透明色を選択している。さらに、ドットと画素単位での透明色との重ね合わせ時の透明色の判定は、T面はドット単位、M面は画素単位で行っている。T面を2倍に拡大するモードでも、扱いは同じとしている。そして、透明色との重ね合わせ結果は、図40および図41に示すとおりとなる。ここで、図40は、透明色を含んだT面が手前の場合を示し、図41は、透明色を含んだM面が手前の場合を示している。
【0113】
コンポーザ12fは、さらにライン補完モードの例外処理を行っている。例えば、T面のライン補完をするディスプレイモードの場合、補完するラインは、直前のラインに対して、1ドット左にずらして表示をする。しかし、この場合、エッジのデータが図42に示すようにはみ出したり、不足したりするので、このときの処理を、図42(A)に示すように左端のデータは捨て、図42(B)に示すように右端には黒(「0」)を表示させている。さらに、表示部10のLCDの画素配列への対応を次のように行っている。表示部10がストライプ配列の液晶の場合は、色回しをせず、モザイク配列の液晶が選択された場合に色回しを行っている。また、T面の復号時に、モザイク配列の液晶の場合は、Gドット(=緑色)の位置を、X,Y座標により切り換えを行っている。ストライプ配列の液晶の場合は、Gドットの位置は固定させている。
【0114】
コンポーザ12fのレジスタは、次のとおりとなっている。パレットRAM用レジスタ(以下レジスタPALRAMという)は、M面用のカラーパレットを記憶しておくパレットRAMのためのレジスタで、RGB各5ビットで、32K色の指定が可能となっている。そして128バイト(64ワード)の容量を持っている。すなわち、2バイトで1色分となっている。具体的には、図43に示すように偶数アドレスをもつレジスタ部と奇数アドレスをもつレジスタ部の2つで15ビットのRGB(=1色)を表し、その色に対応する値を4ビットのMCODEとしている。そのMCODEが16個集まって1つのMPNの群が形成される。そして、4つのMPN(MPN0〜MPN3)で計64種の色を表示するようにしている。ただし、各MCODE=0が透明とされているので、実際の色は15×4=60個となっている。なお、書き込み値は5ビットだが、指定値はLSBに「0」を拡張した6ビットとなる。
【0115】
その他のレジスタには、マルチカラースプライトと自然画像スプライトの重なり合った部分の出力選択(各M面,T面,ブレンド画像の選択)を行うものや、マルチカラースプライトと自然画像スプライトに対するブレンディング係数を指定するものや、バックグランド色とのブレンディング係数を指定するものや、バックグランド色を記憶しておくものがある。なお、バックグランドはRGB各5ビットで、32K色の指定が可能となっている。この書き込み値も5ビットだが、指定値はLSBに0を拡張した6ビットとなっている。
【0116】
なお、各ブレンディング係数は、各スプライトが表示される各面毎に指定されるものとなっている。その指定は、この実施の形態では4つの仮想プレーン毎にマルチカラーの係数および自然画像の係数を指定することにより行われる。また、各ブレンディング係数は、すべて共通となっており、0.0625から始まり0.8750までの等間隔の計14種と0.0000および1.000の計16種となっている。
【0117】
以上のように、この専用グラフィックLSI12は、縦方向、横方向、縦横同時の段階的拡大/縮小機能、T面をM面の任意のプレーンに挿入可能な多重画面表示優先順位機能、T面をM面の任意プレーンとブレンドしたりバックグランド色とのブレンドをしたりするブレンディング機能,VRAM16への書き込み時に矩形マスク、縦縞/横縞マスク、ブラインドマスク等をかけるマスク機能等各種の機能を有するものとなっている。
【0118】
そして、このシステムの専用アニメデータ7は、図44に示すような順序で作成される。特定画像スプライトは、市販のシナリオ等を構成できるアニメーション作成用ソフト3を利用して原データ21となる特定画像用データから作成する。なお、この原データ21は、他の画像作成ソフト22によって作成される場合が多い。この原データ21を処理して特定画像データ23を作成する。また、同様にして特定画像を表示するための関連表示データ24が作成される。これらの特定画像データ23と関連表示データ24が変換ソフト6中に入れられる。
【0119】
一方、マルチカラースプライトや自然画像スプライトも同様にして、他の画像作成用ソフト22によって原データ25を作成し、その原データ25となるスプライト画像データをアニメーション作成用ソフト3で処理し、アニメーションデータ26を作成する。これを同様に変換ソフト6に入れ、先のデータ23,24と共に処理し専用アニメデータ7を作成する。なお、この専用アニメデータ7は、キャラクタジェネレータROMデータとも言われる。この専用アニメデータ7をROM化してROM8を得る。
【0120】
変換ソフト6は、特定画像データ23、関連表示データ24およびアニメーションデータ26を取り込む。そして、変換ソフト6は、▲1▼各スプライトが表示されるアニメーションシーケンスの組み合わせを決める(アニメーションフレーミング処理)、▲2▼アニメーションフレーミング処理で決めたアニメーションのパレットを調整して割り当てる、▲3▼特定画像関係の諸特性の指定などのデータの作成を行う。なお、このデータ作成処理は、アニメーション作成用ソフト3内で所定の指示に基づき、データを入れ、この変換ソフト6でそのデータを処理すると、自動的に作成処理ができるようになっている。
【0121】
この変換ソフト6は、また、専用アニメデータ7を生成するために、次のような処理を自動的に行っている。すなわち、▲4▼専用グラフィックLSI12内のビデオディスプレイプロセッサ部が取り込み、処理するための画像データ部8c用の圧縮画像データの生成、▲5▼サウンドデータの符号化、▲6▼CPUメモリ11がプログラムROM13に格納されたプログラムによって取り込み、処理するための外部プロセッサ制御データ部8a用のデータの生成、▲7▼専用グラフィックLSI12内の小型プロセッサ部12aが取り込み、処理するための内部プロセッサ制御プログラム部8b用のプログラム等の生成、▲8▼ROM8内のメモリ配置、の各処理を行っている。なお、この実施の形態では、▲5▼のサウンドデータの符号化は行っていないが、この変換ソフト6はそのデータの生成も可能となっている。このように、この変換ソフト6は、アニメーション作成用ソフト3に入力されたデータを、並び替え、表現替え、置き換えおよび圧縮によって専用アニメデータ7とするものである。ここで表現替えとは、内容は変えずにデータとして表現する形式、値を変えるもので、置き換えとは、特定の機能を表現する際、限られた表現を組み合わせて新たな表現とし、同一機能を達成させるようにしたものである。
【0122】
また、▲6▼の外部プロセッサ制御データ部8a用のデータは、CPUメモリ11やプログラムROM13がこのデータを見て動作するようになっているデータで、一種の制御データとなっている。また、▲7▼の内部プロセッサ制御プログラム部8b用のプログラムとデータは、1画面用の一連のスプライトの動きを制御するデータで、ROM8内のこのデータを専用グラフィックLSI12が見に来て、その結果に基づき、スプライトを動作させるようになるものである。このように、この実施の形態では、CPUメモリ11が専用グラフィックLSI12に「ROM8のある番地を見て、その部分の命令に従い作業をしなさい」との指示を出し、その指示に基づき専用グラフィックLSI12がROM8を見て、そのROM8内のその番地部分に従い処理を実行するようになっている。
【0123】
このアニメーションデータ26は、図45に示すようなスプライトの移動、スプライトの出現と消失、スプライトの拡大、縮小、パレットデータ(=色)の変化および複数のスプライトの前後関係の時間に沿っての記述を有するものとなっている。加えて、アニメーションデータ26は、各画面毎に、最後のコマまで表示した場合、最初に戻るか、または最後のコマを表示し続けるか、または、そのアニメーション画面の表示を止めるかの指示もできるようになっている。
【0124】
具体的に言えば、各スプライトは、ROM8内のデータ、すなわち、アニメーションデータ26内の「シナリオ」と呼ばれる自動実行手順に従って動作する。換言すれば、ROM8の外部プロセッサ制御データ部8a内のシナリオに従って動作する。このシナリオは、この実施の形態では、1/25秒を単位にして進行する。また、重ね合わせのシナリオもアニメーションデータ26内に入っている。
【0125】
すなわち、スプライトのシーケンスは、それぞれシナリオであり、これらのシナリオと、図8および図9に示す各スプライトの描画優先順位に関するシナリオとが合わさって1つのアニメーションが完成する。一方、この関係を、フレーム20から見ると、各シナリオの各瞬間がフレーム20に相当し、各スプライトのシナリオが集まったものが、フレーム20の時間制御に相当することになる。なお、シナリオには、割込シナリオ機能があり、シナリオを変更した後、元のシナリオの中断した箇所に戻ることができる。これは、具体的な表示例で言えば、案内表示機に、正午等の時刻を知らせる鳩等の表示や発車10分前の列車表示を出した後、元の表示に戻るような場合が相当する。
【0126】
また、各アニメーション画面すなわち各フレーム20は、所定の進行速度で表示させることができると共に各アニメーション画面に対し割り込みアニメーションをかけることができる。さらに、各アニメーション画面には、任意のサイズのスプライトを任意の個数、任意の位置に、任意の表示優先順位で表示できる。
【0127】
加えて、先に示したように各マルチカラースプライト(特定画像スプライトを含む)と自然画像スプライトとのブレンド処理表示が可能となっている。ここで、ブレンド処理とは、自然画像スプライトと、他のスプライトが混ざって表示され、半透明の絵柄のように見える処理のことをいう。これは、通常なら上書きされるスプライトによって前に書き込まれたスプライトが消失してしまうのだが、このブレンド処理では、言わば、混ざり合わせの状態となる。なお、このブレンド処理は、その混ざり合わせの割合を変えることができるようになっており、例えばその割合を徐々に変化させることによってボワーと浮き出させたり、スーと消えるような効果を出させることができるようになっている。このブレンド処理は、スプライトごとにオンオフされるので、あるスプライトをオンにすると、そのスプライトが自然画像スプライトに対して半透明、すなわち、混ざり合わせの状態となる。そして、半透明の程度(=ブレンド係数)は、スプライトが表示される面ごとに指定でき、その値は0.0000と1.0000を除いた14段階のブレンド係数によって指定できるものとなっている。この14段階は、4ビット16種のうち2種をスイッチ機能に割り当てているため、14種としたものである。なお、このブレンド係数の段階は、細かさを出しにくい液晶を表示部10として採用しているため、10〜32段階の範囲が好ましいものとなる。
【0128】
なお、各スプライトの画像圧縮は、先に述べたとおりであるが、さらに次のような構成となっている。まず、各スプライトは横16画素で、縦は任意画素の圧縮単位に分割されて圧縮される。これは、ハードウェアのゲート数を小さくするためである。なお、横、縦それぞれ16画素の圧縮単位に分割されて圧縮されるようにしても良い。これらの圧縮単位への分割は、変換ソフト6によって行われる。
【0129】
各マルチカラースプライトの圧縮は、並列算術圧縮方式の2次元的な可逆圧縮となっている。一方、自然画像スプライトは、復号するとほぼ元のデータに戻る非可逆圧縮となっている。これは、自然画像スプライトについては、色数が多いため、若干の色の再現性が落ちてもそれ程の影響はなく、圧縮率を重視したためである。
【0130】
次に、CPUメモリ11と、専用グラフィックLSI12と、プログラムROM13の間の連携動作について説明する。
【0131】
この連携動作には、パッシブモードとアクティブモードの2つのモードが存在する。ここで、パッシブモードは、専用グラフィックLSI12が外部のCPUメモリ11等の指示に従って動作するモードを指し、アクティブモードは、専用グラフィックLSI12がその内部の小型プロセッサ部12aを使って自主的に動作するモードを指している。なお、アクティブモードでは、CPUメモリ11は使われず、ROM8に格納された内部プロセッサ制御プログラム部8bを順次解釈し連続画像を表示すると共に、後述するイベント応答機能(=キーボード入力等)によって簡単な対話性を持たせることができるようになっている。また、パッシブモードでは、時間進行および表示画像(=アニメーション)については、外部のコントローラが管理、すなわちこの実施の形態ではCPUメモリ11が管理している。なお、このパッシブモードでは、フレーム内の一連のスプライトの画像生成には、プロセッサ部12aを使用することもできるようになっている。
【0132】
なお、図2に示す専用プレーヤ9は、専用グラフィックLSI12を制御するCPUメモリ11を有しており、パッシブモードで動作する装置となっている。このような専用プレーヤ9ではなく、すなわち、CPUメモリ11のような専用グラフィックLSIを制御する機能を持たない装置の場合、アクティブモードで動作する装置となる。
【0133】
まず、パッシブモードの動作の概要について説明する。CPUメモリ11は、ROM8のデータまたは外部情報源14から入力されるコマンド列を解釈し、専用グラフィックLSI12を駆動する。コマンド解析用のプログラムは、プログラムROM13に格納されている。専用グラフィックLSI12の小型プロセッサ部12aは、ROM8に格納されたアニメーションデータ26、特定画像データ23および関連表示データ24、すなわち、シナリオデータと画像(音声)データを使ってCPUメモリ11から指示されたフレームの画像を生成する。一方、CPUメモリ11は、外部情報源14からの命令を受け、特定画像スプライト中の特定画像表示のため、専用グラフィックLSI12を駆動させ、その特定画像表示を行わせる。
【0134】
このパッシブモードは、次のプログラムの集合となっている。なお、個々のプログラムの実行制御は、小型プロセッサ部12aの仕事で、また、個々のプログラムは、停止(HALT)命令で終了するものとなっている。
【0135】
(1)タイトル初期化プログラム(HALTで終了)
(2)フレーム描画プログラム
▲1▼フレーム初期化プログラム
▲2▼バックフレーム描画プログラム(HALTで終了)
イ)イメージユニット初期化プログラム
ロ)イメージユニット描画プログラム
a)単一スプライト描画プログラム
▲3▼フロントフレーム描画プログラム(HALTで終了)
イ)イメージユニット初期化プログラム
ロ)イメージユニット描画プログラム
a)単一スプライト描画プログラム
▲4▼表示パラメータセット/表示プログラム(HALTで終了)
このパッシブモードでは、各フレーム20の進行をCPUメモリ11が管理している。CPUメモリ11は、専用グラフィックLSI12の小型プロセッサ部12aに指示し、描画プログラム開始アドレスをセットし、実行開始を指示する。小型プロセッサ部12aは、ROM8にアクセスし、その中のデータを読み、ビデオディスプレイプロセッサ部に実行命令を出し、実行させる。その後、CPUメモリ11は、専用グラフィックLSI12の小型プロセッサ部12aの状態をポーリングすることで、描画プログラムの実行終了を待つ。小型プロセッサ部12aは、一連の描画プログラムを自動的に実行し、最後の停止(HALT)命令を実行した所で停止する。一方、各スプライトのフレーム進行(=シナリオ)は、アニメーションデータ26としてROM8の外部プロセッサ制御データ部8aに格納されており、CPUメモリ11がそのアニメーションデータ26の構造を解析しながら適時そのシナリオを実行する。
【0136】
CPUメモリ11は、小型プロセッサ部12aに指示した後は、他の処理を実行しているかまたは休止しており、小型プロセッサ部12aが処理を終了すると、CPUメモリ11は、再度小型プロセッサ部12aに命令を出す。これを繰り返すことによりアニメーションが実行される。このように、パッシブモードでは、CPUメモリ11がフレーム20の進行やリピートも含めた時間の管理を行う一方、専用グラフィックLSI12の小型プロセッサ部12aは、各スプライトを描画する機能を受けもっている。ここで、CPUメモリ11は、1/25秒間隔で各フレームを動作させる制御も行っている。
【0137】
一方、小型プロセッサ部12aは、ビデオディスプレイプロセッサ部に指示し、例えば、goコマンドで作業開始を伝える。ビデオディスプレイプロセッサ部は、ROM8から圧縮された画像データを取り込む。その間、小型プロセッサ部12aは、ビデオディスプレイプロセッサ部の作業終了を待っている。このように、小型プロセッサ部12aが、ビデオディスプレイプロセッサ部を制御している。
【0138】
このような関係を図46および図47に示す。CPUメモリ11は、ROM8の外部プロセッサ制御データ部8aからシナリオに関するデータを読み込み、専用グラフィックLSI12の小型プロセッサ部12aにフレーム20内表示プログラムの読み込みとその実行を指示する。小型プロセッサ部12aは、ROM8にアクセスし、内部プロセッサ制御プログラム部8bからその表示プログラムを読み込み、そのプログラムに基づき、ビデオディスプレイプロセッサ部に画像データの取り込みを指示する。この指示に基づき、ビデオディスプレイプロセッサ部は、ROM8の画像データ部8cから圧縮画像データを取り込む。なお、ROM8とのやりとりの中では、この圧縮画像データの取り込みが最も時間がかかるものとなっている。また、特定画像に関する表示については、CPUメモリ11が直接ビデオディスプレイプロセッサ部を制御している。
【0139】
パッシブモードにおいて、ROM8が専用プレーヤ9に組み込まれると、まず、タイトル初期化プログラムが動作する。このタイトル初期化プログラムは、異なるROM8毎に、組み込み時の最初に1回のみ行われるもので、ディスプレイモード設定、自然画像スプライトの表示モード指定および表示部10のパネルに合わせた色具合のセットがなされる。なお、アクティブモードの場合も同様なタイトル初期化プログラムが実行される。
【0140】
その後、パッシブモードの具体的な動きは次のとおりとなる。まず、図48に示すフローに基づき、スプライト描画プログラムについて説明する。スタートすると、イフェクタ12cにROM8から読み込んだパラメータをセットし初期化を行う。初期化が終了すると、表示部10へのスプライトの復号を開始する。そして、復号の終了により1つのスプライトの描画が完了する。これを他のスプライトについても同様に行う。なお、ROM8から読み込まれたデータは、VRAM16に2画面分記憶され、そのVRAM16から所定のデータがシリアルインターフェース12eへ読み込まれることとなる。
【0141】
次に、各フレーム20(=1画面)の描画プログラムについて説明する。このフレーム描画プログラムは、バックフレーム描画プログラムとフロントフレーム描画プログラムの2つから構成される。ここで、バックフレームとは、CPUメモリ11が、それ自身で専用グラフィックLSI12のビデオディスプレイプロセッサ部を制御して描画するスプライトの集まりより、さらに奥に存在するスプライトの集まりを言い、フロントフレームとは、CPUメモリ11が、それ自身で専用グラフィックLSI12のビデオディスプレイプロセッサ部を制御して描画するスプライトの集まりより、さらに手前に存在するスプライトの集まりを言う。
【0142】
通常、バックフレーム、例えば、、マルチカラースプライトの1つを描画し、次に特定画像スプライトを描画し、最後にフロントフレーム、例えば、マルチカラースプライトの他の1つを描画する。なお、この描画の際の各スプライトの採用は適宜変更できる。この実施の形態では、特定画像、例えば時刻の表示は一義的に制御されるものとなっているため、CPUメモリ11で直接制御されている。すなわち、通常は、CPUメモリ11でROM8内の開始アドレスが指定されると、フレーム描画プログラムが動き出し、後の処理は小型プロセッサ部12aで管理されることになるが、特定画像スプライトの特定画像表示のみは、CPUメモリ11が直接実行する。
【0143】
バックフレームの描画は、表示面の属性を持つ基本単位のオブジェクトとなるスプライトを、そのフレーム20内に存在する数だけ描画することにより実行される(図49参照)。なお、各スプライトの描画においても、最初にイフェクタ12cのパラメータのセットが行われる。また、CPUメモリ11と、専用グラフィックLSI12とROM8のデータとの関係および具体的な描画動作は図4に示すとおりとなっている。
【0144】
フロントフレームの描画は、図50に示すように、スプライトの描画を終えた後、表示部10の切り替えのタイミングを待つ。すなわち、表示パラメータセットのためのデータを送出しても良い時間帯であるか否かを判断するINH(禁止)判断工程を入れている。もし、送出しても良い時間帯であれば、VRAM16に蓄えられていた画像用データの所定部分をシリアルインターフェース12eに送出すると共に、イフェクタ12cはパラメータをセットし、表示画面を切り替える。そして、VRAM16内に蓄えられていた2枚目の表示画面用の画像データを表示部10に送出する。もし、送出禁止状態であれば、送出しても良い時間帯になるまで待つことになる。なお、1枚の画面のみを描画するときは、バックフレーム描画フローチャートや、後述するバックとフロントの各描画間の描画処理工程が不要となり、図50に示すフローのみとなる。
【0145】
図48から図50に示す描画フローチャートをまとめた一連のフローを図51および図52に示す。まず、スタートすると、VRAM16をクリアするコマンドが出され、VRAM16がクリアされる。その後、複数のスプライトが集合したスプライトを描画するステップに入る。最初に図48の「パラメータセット」と「初期化開始」を一体化した「スプライト初期化パラメータセット」のステップを行う。次に、スプライトを描画するためのパラメータをセットする「スプライト描画パラメータセット」のステップを実行する。この後、描画コマンドが入力され、その入力が確認されると図49に示すバックフレーム描画フローが実行される。そして必要な数のスプライトを描画した後、停止(HALT)命令によって描画を停止する。
【0146】
ここでスプライト描画時の初期化においては、イフェクタ12cにブラインドマスクや単純マスクウインドウの各パラメータがセットされる。スプライト描画パラメータセットでは、イフェクタ12cに、書き込みウインドウの各パラメータや画像の圧縮拡大についてのパラメータや使用するパレット番号等がセットされる。ここで、ブラインドマスクとは、窓に付けるブラインドのようなマスクで、ブラインドマスクと重なる部分だけが描画されることとなり、単純マスクとは、矩形のマスクで、この単純マスク内のみもしくは外のみが描画されることとなる。
【0147】
バックフレーム描画が終了した後、CPUメモリ11が直接に専用グラフィックLSI12のビデオディスプレイプロセッサ部を制御してスプライトを描画する工程が実行される。なお、この実施の形態では、CPUメモリ11が直接に制御処理するのは特定画像スプライトの描画となっている。
【0148】
その後、フロントフレーム描画が、スタートする。すると、まず図51と同様な「スプライト初期化パラメータセット」および「スプライト描画パラメータセット」が行われる。そして、描画コマンドが入力し、確認されると、図50に示すフロントフレーム描画フローが実行される。そして、図50の「INH」の工程となる「アクセス可否」の判断ステップでOKの場合、表示パラメータをシリアルインターフェース12eやコンポーザ12fにセットする。表示パラメータとしては、例えば、自然画像スプライトの表示位置やブレンド処理におけるブレンド係数等がある。表示パラメータセット後、表示バンク、すなわちVRAM16内の2つのバンクを画面のちらつきが出ないタイミングで切り替え、停止する。
【0149】
次に、アクティブモードの動作について説明する。このアクティブモードは、専用グラフィックLSI12を制御するCPUメモリ11等の制御部がない場合に行うモードである。このため、自走型のアプリケーションを使用するものとなっている。そして、次の各プログラムの集合で構成され、それぞれのプログラムは自発的に制御を移行する。すなわち、各プログラムには、停止(HALT)が指定されていないため、永続的にプログラムが実行される。
【0150】
(1)タイトル初期化プログラム(パッシブモードと同一)
(2)フレーム描画プログラム
▲1▼フレーム初期化プログラム(パッシブモードと同一)
▲2▼描画プログラム(パッシブモードと同様)
▲3▼表示パラメータセット/イベント処理プログラム
これらのプログラムによってアクティブモードが実行される。
【0151】
このアクティブモードの中で特殊なのは、イベント処理プログラムで、具体的には描画プログラムの終了後の表示画面の切替のタイミングで、次の処理を行うものである。すなわち、a)時間待ち(コマ落とし)、b)サウンド同期(再生終了待ち)、c)I/Oポート入力による分岐の3つとなっている。そして、これらのイベントを組み合わせることも可能となっている。
【0152】
ここで、時間待ち(コマ落とし)とは、所定時間(この時間は垂直同期時間単位で設定させる)、同じ画像を表示するものである。サウンド同期(再生終了待ち)とは、ある画面に流れていたサウンドが終了するまで、表示の切替を保留するものである。I/Oポート入力とは、専用グラフィックLSI12への動作命令をI/Oポートによって入力可能とするもので、8ビットの入力状態により所定のプログラムへ分岐される。この分岐は、表示が切り替わった後に実行される。このI/Oポート入力の例としては、“0”ビットの入力で他のアニメにとぶようにしたり、いずれかのキー入力があるまで現画面を保持させるようにしたり、メニュー的な表示をさせたりするものである。
【0153】
なお、上述の実施の形態は、本発明の好適な実施の形態の例であるが、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々変形実施可能である。例えば、上述の実施の形態では、案内表示機用の画像表示システムおよび画像表示装置を示したが、本発明は、他の画像表示システムや画像表示装置、例えば、アミューズメント機械、自動販売機、ファーストフード店でのメニュー装置等にも適用することができる。また、表示画面の構成として、性質の異なる複数のスプライトからなる画面とせず、マルチカラースプライトのみや自然画像スプライトのみとする等各種の画面構成を適宜採用することができる。
【0154】
また、上述の実施の形態のようにROM8を配布するのではなく、専用プレーヤ9内に、フラッシュメモリあるいはワンタイムプログラマブルROM(OTP)を設け、書き込みツール、例えばパソコンや書き込みアダプター等を使用してフラッシュOTPにROM8に相当するデータを書き込むようにしても良い。この場合、プログラムROM13に相当する部分は、外部のホスト(図時省略)が受け持ち、インターフェースを介してそのホストとCPUメモリ11とがデータをやり取りするようにしても良い。このような変更を行った装置の他、各種の画像表示装置や画像表示システムに本発明を採用することができる。
【0155】
さらに、専用アニメデータの配布として、ROM8の他に、ページャ回線や通信衛星等を使用した無線方式、またISDNなどのディジタル回線やCATV等に利用される光ファイバーを使用した有線方式等各種の配信方法を適宜採用することができる。
【0156】
また、固定長圧縮するブロックの画素数は5個ではなく、4個以下としたり6個以上としても良い。なお、アクセス速度と圧縮効率を考えると、4個以上で64個以下が好ましい。また、ブロックとしては、画素が1列に並ぶブロックではなく、縦横にそれぞれ複数列となるブロック、例えば、縦横8列ずつの64個の色素からなるブロック等としても良い。また、固定長圧縮される自然画像としては、R,G,B各6ビットからなるものではなく、他の数値のビットからなる自然画像でも良い。しかし、圧縮率の点を考慮するとR,G,B各色が4ビット以上のものに適用するのが好ましい。
【0157】
さらに、DRAM16を2バンク構成ではなく、1バンク構成としたり、3バンク以上のバンク構成としても良い。また、マルチカラー画像のときのブロックの単位を4画素3バイトにするのではなく、他の画素数のブロックとしても良い。さらに、マルチカラー画像の1画素分を4ビット16色ではなく、3ビットや5ビット等の他のビット数のものとしても良い。加えて、M面の構成を1面とする場合は、マルチカラーデータユニット(MDU)中のMPNの部分を無くすようにしても良い。
【0158】
また、VRAM16への非可逆の固定長圧縮を行う際、透明色をデータの1つに割り当てこの透明色を可逆とすることを行っているが、この方法を実行する場合、DPCMではなくラン・レングスやDCT 等他の圧縮方法を採用しても良い。さらに、VRAM16への書き込みや読み取りの場合に、非可逆となる非線形DPCMを採用しているが、透明色を表す即値を中間の値、例えば灰色にしたり、透明色を表す差分値を「0」にしたりすることは、可逆なDPCMに適用しても良い。
【0159】
【発明の効果】
以上説明したように、各請求項記載の発明では、透明色の扱いに工夫を凝らしているので、透明色用のビットプレーンを追加する必要がなくなったり、DPCMで効率良く圧縮伸長できたり、DPCMによる非可逆圧縮しても画質の劣化が生じない等の効果を有するものとなる。
【図面の簡単な説明】
【図1】本発明の画像表示システムおよび画像表示装置を説明するための図である。
【図2】図1の画像表示装置の詳細構成を示す図である。
【図3】図2の画像表示装置に使用される専用グラフィックLSIの構成を示す図である。
【図4】図2の画像表示装置に使用される専用グラフィックLSIの構成および動作を説明するための図で、(A)はその概要を示し、(B)は具体的構造および動作の具体例を説明するための図である。
【図5】図1のROM8内のデータ構造を説明するための図で、(A)はデータ構造を示す図で、(B)はシナリオデータ部の役割を説明するための図である。
【図6】図1の専用アニメデータとファームウェアとの関係を説明するための図である。
【図7】図1の画像表示装置の表示画面の構成を示す図である。
【図8】図7のマルチカラースプライトと特定画像スプライトの関係を示す図で、(A)は特定画像スプライトが最前列に配置される特定画像トップモードを示し、(B)は同スプライトが2番目の位置に配置される特定画像セカンドモードを示し、(C)は同スプライトが最後列に配置される特定画像ボトムモードを示している。
【図9】図7の自然画的な自然画像スプライトが各場所に配置される様子を示す図である。
【図10】図7に示される自然画像スプライトの画像表示状態を説明するための図で、(A)は水平、垂直両方向とも3ドットの単位のモザイク配列を示し、(B)は水平方向が3ドット単位で、垂直方向が1ドット単位で表示するストライプ配列を示す図である。
【図11】図3の専用グラフィックLSIによる基本タイミングを説明するための図である。
【図12】図2の画素表示装置のディスプレイモードの種類と内容を一覧にした図である。
【図13】図2の画像表示装置の各ディスプレイモードとその表示状態を示す図で、(A)はモードLOa、(B)はモードLOb、(C)はモードLI、(D)はモードLEをそれぞれ示す図である。
【図14】図2の画像表示装置の各ディスプレイモードとその表示状態を示す図で、(A)はモードSOaを、(B)はモードSObを、(C)はモードSIをそれぞれ示す図である。
【図15】図2の画像表示装置の各ディスプレイモードとVRAMフォーマットの関係を示す図で、(A)はモードLOaとモードLObを、(B)はモードLIをそれぞれ示す図である。
【図16】図2の画像表示装置の各ディスプレイモードとVRAMフォーマットの関係を示す図で、モードLEの場合を示す図である。
【図17】図2の画像表示装置の各ディスプレイモードとVRAMフォーマットの関係を示す図で、(A)はモードSOaとモードSObを、(B)はモードSIをそれぞれ示す図である。
【図18】図2の画像表示装置のVRANで扱われるマルチカラースプライト用のマルチカラーデータユニット(MDU)の構成を説明するための図である。
【図19】図2の画像表示装置のVRAM上でのMDUの配列を説明するための図である。
【図20】図2の画像表示装置のVRAMで扱われる自然画像スプライト用の自然画データユニット(TDU)の構成を説明するための図である。
【図21】図2の画像表示装置のVRAM上でのTDUの配列を説明するための図である。
【図22】図2の画像表示装置のVRAMで扱われる自然画像スプライト用の自然画データユニット(TDU)の構成中の即値(IPIX)の拡張を説明するための図である。
【図23】図3の専用グラフィックLSI中のイフェクタの仮想書き込み機能を説明するための仮想書き込み領域図である。
【図24】図2の画像表示装置の各ディスプレイモードと有効表示領域のXサイズとの関係を一覧にして示した図である。
【図25】図3の専用グラフィックLSI中のイフェクタの機能の1つであるデータの書き込みと矩形マスクの指定を説明するための図である。
【図26】図3の専用グラフィックLSI中のイフェクタの機能の1つである矩形マスクの書き込み可能領域を説明するための図である。
【図27】図3の専用グラフィックLSI中のイフェクタの機能の1つであるブラインドマスクの指定方法を説明するための図である。
【図28】図3の専用グラフィックLSI中のイフェクタの機能の1つである拡大、縮小の指定方法の例を示す図である。
【図29】図3の専用グラフィックLSI中のイフェクタの機能の1つである固定長圧縮の際に用いられる非線形量子変換テーブル(FNLQ)を示す図である。
【図30】図3の専用グラフィックLSI中のイフェクタの機能の1つである固定長圧縮および伸長の際に用いられる非線形逆量子変換テーブル(INLQ)を示す図である。
【図31】図3の専用グラフィックLSI中のランダムインターフェース内に設けられる符号化装置の構成を示す図である。
【図32】図31の符号化装置の各構成部材の動作内容を一覧にした図である。
【図33】図31の符号化装置および図34の復号化装置中のクリップ部の入出力値を示す図である。
【図34】図3の専用グラフィックLSI中のランダムインターフェース内に設けられる復号化装置の構成を示す図である。
【図35】図34の復号化装置の各構成部材の動作内容を一覧にした図である。
【図36】図3の専用グラフィックLSI中のシリアルインターフェースの同期信号を説明するための図で、(A)は水平同期関係を示す図で、(B)は垂直同期関係を示す図である。
【図37】図3の専用グラフィックLSI中のシリアルインターフェースのVRAM読み出しシーケンスを説明するための図である。
【図38】図3の専用グラフィックLSI中のシリアルインターフェースのマルチカラートランスファーシーケンスを説明するための図である。
【図39】図3の専用グラフィックLSI中のシリアルインターフェースの自然画表示シーケンスを説明するための図である。
【図40】図3の専用グラフィックLSI中のコンポーザの透明色との重ね合わせを示す図で、T面が手前の場合を示す図である。
【図41】図3の専用グラフィックLSI中のコンポーザの透明色との重ね合わせを示す図で、M面が手前の場合を示す図である。
【図42】図3の専用グラフィックLSI中のコンポーザのライン補完モードのエッジ処理を示す図で、(A)は左端のエッジ処理を、(B)は右端のエッジ処理をそれぞれ示す図である。
【図43】図3の専用グラフィックLSI中のパレットRAMの構成を示す図である。
【図44】図1の専用アニメデータの作成手順を示す図である。
【図45】図1に示される専用アニメデータ内のアニメーションデータの機能を説明するための図である。
【図46】図2に示される、ROMと、CPUメモリと、専用グラフィックLSIの小型プロセッサ部およびビデオディスプレイプロセッサ部との連携関係を示す図である。
【図47】図2に示される、CPUメモリと、小型プロセッサ部と、ビデオディスプレイプロセッサ部との動作状況を示す図である。
【図48】図2に示される専用プレーヤが実行するフロー中のスプライト描画フローチャートである。
【図49】図2に示される専用プレーヤが実行するフロー中のバックフレーム描画フローチャートである。
【図50】図2に示される専用プレーヤが実行するフロー中のフロントフレーム描画フローチャートである。
【図51】図2に示される専用プレーヤが実行するフレーム初期化およびバックフレーム描画のフローチャートである。
【図52】図2に示される専用プレーヤが実行するフロントフレーム描画および表示のフローチャートである。
【符号の説明】
1 アニメ作成用パソコン
2 基本OS
3 アニメーションシナリオ作成用ソフト
4 基絵
5 アニメデータ
6 変換ソフト
7 専用アニメデータ
8 ROM
9 専用プレーヤ
10 表示部
11 CPUメモリ
12 専用グラフィックLSI
12a 小型プロセッサ部
12b デコーダ(ビデオディスプレイプロセッサ部の一部)
12c イフェクタ(ビデオディスプレイプロセッサ部の一部)
12d ランダムインターフェイス(ビデオディスプレイプロセッサ部の一部)
12e シリアルインターフェイス(ビデオディスプレイプロセッサ部の一部)
12f コンポーザ(ビデオディスプレイプロセッサ部の一部)
13 プログラムROM
16 VRAM
19 表示部用LSI
41 透明色検出部
42 圧縮差分値生成器
43 第1透明色変換部
44 第2透明色変換部
45 局部復号器
62 復号第1透明色検出部
63 復号第2透明色検出部
66 復号第1透明色変換部
67 復号第2透明色変換部
68 復号第3透明色変換部
69 復号器
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image data encoding method and an encoding device thereof, and an image data decoding method and an encoding device thereof. More specifically, the present invention relates to an image data encoding method, a decoding method, and the like that are particularly suitable for encoding and decoding natural images with lossy compression.
[0002]
[Prior art]
Conventionally, an image called a multi-color image has been used in personal computers and game machines. This multi-color image is also called a representative color image or a limited image. For a specific color, that is, a color having specific R (red), G (green), and B (blue) values. The index is assigned, and the data of the index is used to express the image with limited representative colors such as 16 colors and 256 colors.
[0003]
For such multi-color image data, if each color of R, G, and B is represented by 8 bits (256 types), a total of 24 bits are required, but the index itself is also displayed by 8 bits. As a result, the compression ratio is considerable. Since the number of colors of the multi-color image is limited, lossless encoding and decoding, that is, a reversible compression technique is employed.
[0004]
On the other hand, in recent game machines and the like, coupled with the improvement of functions, images called natural images are often used for drawn characters and backgrounds. For example, when R, G, and B are each represented by 6 bits, the natural image directly represents the pixel by a total of 18 bits. The colors that can be represented by 18 bits are 256K colors in total, and an impression equivalent to a natural image can be obtained.
[0005]
Since such a natural image has an enormous amount of information compared to a multi-color image, a compression technique is adopted to the extent that it can be said that it is necessary to make a file. In compression of this natural image, particularly a moving image, an irreversible compression technique is often employed in consideration of the large number of colors and transmission time.
[0006]
Image data compression techniques include a modeling technique for modeling an image signal and an encoding technique that actually assigns a code to a signal sequence converted by this modeling technique. Modeling techniques include a run length model, a Markov model, differential coding (= differential pulse code modulation, hereinafter referred to as DPCM), and the like. On the other hand, Huffman codes, arithmetic codes, and the like are known as encoding techniques. Among these technologies, DPCM uses the property of image data that a certain pixel value has a high probability of taking a value close to the immediately preceding pixel value, and is used as a compression technique for image data. It is often used. In addition, animation used for game machines employs a technique in which a plurality of screens and characters are superimposed to form one screen. In such superposition, a transparent color is often used as one of the colors. By using this transparent color, the color on the back side of the transparent color is displayed, which enhances the fun of the screen.
[0007]
When handling such a transparent color, if irreversible compression is performed, the information on the transparent color is lost, and what is normally displayed on the back side color is in a state in which the colors are overlapped. For this reason, conventionally, when dealing with transparent colors, it is not irreversible but reversible, or another transparent bit plane is prepared so that only the transparent color is reversible and the other parts are irreversible. .
[0008]
[Problems to be solved by the invention]
As described above, conventionally, when handling a transparent color, it is necessary to make the whole reversible or to add one bit plane for the transparent color. When the whole is reversible, there is a limit to increasing the compression rate, which is not suitable when it is desired to greatly reduce the data amount or to save the transmission time or the memory amount. Similarly, when one transparent color bit plane is added, the data amount increases due to the additional bit plane, and the transmission time and memory amount increase.
[0009]
Further, when image data including a transparent color is reversibly compressed using DPCM, conventionally, the transparent color has a value on one end side in a range of values represented by each color. For this reason, when the transparent color becomes an immediate value (= first value in the case of DPCM), a difference value (= difference from the previous value in the case of DPCM) with the subsequent value of the transparent color greatly fluctuates. . Further, when a transparent color is generated in a portion represented by a difference value, the difference value of the transparent color and the difference value of the next color greatly fluctuate in plus or minus. These large fluctuations mean that the difference value becomes a large value, which is not preferable in terms of efficiency in encoding. In particular, when irreversibly compressing by nonlinear DPCM, if the difference value becomes large, information on transparent color is lost due to nonlinearization. In the conventional method, image data having a transparent color is converted to DPCM and irreversible compression. It is impossible to do.
[0010]
The present invention relates to an image data encoding method, an image encoding apparatus thereof, and an image data decoding method capable of irreversibly compressing image data including a transparent color without adding a transparent color bit-plane. An object of the present invention is to provide a decoding device. The present invention also provides an image data encoding method and image data encoding method and image data decoding method and image decoding device capable of efficiently compressing and decompressing image data including a transparent color by DPCM. With the goal. Furthermore, the present invention provides an image data encoding method, an image encoding apparatus for the same, and an image data that can minimize deterioration in image quality when irreversibly compressing image data including a transparent color by DPCM. An object of the present invention is to provide a data decoding method and a decoding device therefor.
[0011]
[Means for Solving the Problems]
In order to achieve such an object, according to the first aspect of the present invention, encoding of image data is performed by irreversibly compressing and encoding image data composed of a plurality of data respectively assigned to each color. In the method A plurality of multi-color sprite surfaces and a natural image sprite surface are constituted by the image data, and an arbitrary one of the plurality of multi-color sprite surfaces is formed. One is assigned to a transparent color and the transparent color is reversible. in this way, Any multi-color sprite face Although one is assigned to a transparent color and is irreversible as a whole, the transparent color is reversible. Therefore, the amount of memory is not increased and the image quality is not greatly deteriorated.
[0012]
In the invention according to claim 2, The image data encoding method according to claim 1, wherein the natural image sprite surface corresponds to the natural image sprite surface. The image data consists of an immediate value and multiple difference values that follow the immediate value. In making the transparent color reversible, The immediate value representing the transparent color and the difference value are reversible. For this reason, the amount of data can be greatly reduced by irreversible compression, while the transparent color is reversible, so that deterioration in image quality can be suppressed.
[0013]
Furthermore, in the invention according to claim 3, in the image data encoding method according to claim 2, the immediate value representing the transparent color is set to an intermediate value between the data values of the respective colors, and the difference value representing the transparent color is set to “0”. " As a result, it is possible to minimize the deterioration of the image quality due to the influence of the transparent color.
[0014]
In the invention according to claim 4, Corresponds to the natural image sprite surface The image data is composed of an immediate value and a plurality of difference values following the immediate value, and the immediate value representing the transparent color is an intermediate value between the data values of the respective colors. In this way, since the immediate value representing the transparent color is an intermediate value of the data of each color, the fluctuation of the difference value is reduced and the compression can be performed efficiently.
[0015]
Furthermore, in invention of Claim 5, Claim 1 In the image data encoding method, Corresponds to the natural image sprite surface The image data is composed of an immediate value and a plurality of difference values following the immediate value, and the difference value representing the transparent color is set to “0”. It will be able to compress well.
[0016]
According to a sixth aspect of the present invention, in the image data encoding method according to the second, third, fourth, or fifth aspect, the difference value is compressed, and one immediate value and a plurality of predetermined difference values are compressed. A fixed length block is formed and written to the video RAM in units of the fixed length block. As a result, one immediate value and a plurality of difference values are integrated to form a block, and writing can be performed efficiently. In addition, since the difference value is compressed and written to the VRAM, the capacity of the VRAM can be reduced and the transmission time can be reduced.
[0017]
Furthermore, in the invention according to claim 7, in the image data encoding device for encoding the image data configured by irreversibly compressing the image data configured by collecting a plurality of data respectively assigned corresponding to each color, A plurality of multi-color sprite surfaces and a natural image sprite surface are constituted by the image data, and an arbitrary one of the plurality of multi-color sprite surfaces is formed. One is assigned to a transparent color and the transparent color is reversible. in this way, Any multi-color sprite face Although one is assigned to a transparent color and is irreversible as a whole, the transparent color is reversible. Therefore, the amount of memory is not increased and the image quality is not greatly deteriorated.
[0018]
In the invention according to claim 8, Claim 7 An encoding device comprising: Corresponding to the natural image sprite surface In the image data encoding apparatus, in which the image data is composed of an immediate value and a plurality of difference values following the immediate value, and the values are encoded by irreversible compression, the immediate value representing the transparent color and the difference value And reversible. For this reason, the amount of data can be greatly reduced by irreversible compression, while the transparent color is reversible, so that deterioration in image quality can be suppressed.
[0019]
In the invention according to claim 9, Claim 7 An image data encoding device comprising: Corresponding to the natural image sprite surface The image data is composed of an immediate value and a plurality of difference values following the immediate value, and in the image data encoding device that encodes these values, the immediate value representing the transparent color is set in the middle of the data value of each color. Value. In this way, since the immediate value representing the transparent color is an intermediate value of the data of each color, the fluctuation of the difference value is reduced and the compression can be performed efficiently.
[0020]
Furthermore, in the invention according to claim 10, Claim 7 An image data encoding device comprising: Corresponding to the natural image sprite surface The image data is composed of an immediate value and a plurality of difference values following the immediate value, and in the image data encoding apparatus that encodes these values, the difference value representing the transparent color is set to “0”. Even if a transparent color enters, the difference value does not fluctuate and compression can be performed efficiently.
[0021]
In the invention according to claim 11, Claim 7 An image data encoding device comprising: Corresponding to the natural image sprite surface In an image data encoding apparatus, in which image data is composed of an immediate value and a plurality of difference values following the immediate value, and the values are encoded by irreversible compression, whether the input pixel is a transparent color or not A transparent color detection unit that detects whether or not, and when the immediate value is a transparent color, the second transparent color conversion unit that converts the value into a gray value that is an intermediate value and passes other values, and a difference value that follows the immediate value The difference value is set to “0” when the generated difference value is a transparent color, and the difference value is set to “0” in another color. A first transparent color converter that passes the difference value when there is,
The immediate value from the second transparent color conversion unit and the difference value from the first transparent color conversion unit are input to generate a value for generating a difference value, which is input to the compressed difference value generator and the input difference And a local decoder that adds to the value. For this reason, the entire image is irreversibly compressed using DPCM to save transmission time and memory, while transparent colors can be reversible and their effects can be reduced, minimizing image quality degradation. be able to.
[0022]
Furthermore, in the invention described in claim 12, in the image data encoding device according to claim 8, 9, 10 or 11, the difference value is compressed, and one immediate value and a plurality of predetermined difference values are compressed. A fixed length block is formed and written to the video RAM in units of the fixed length block. As a result, one immediate value and a plurality of difference values are integrated to form a block, and writing can be performed efficiently. In addition, since the difference value is compressed and written to the VRAM, the capacity of the VRAM can be reduced and the transmission time can be reduced.
[0023]
According to a thirteenth aspect of the present invention, in the image data decoding method for irreversibly decompressing and decoding the encoded image data, A plurality of multi-color sprite surfaces and a natural image sprite surface are configured by the image data, and the plurality of multi-color sprite surfaces When one shows a transparent color, the transparent color is always decoded. Thus, since one of the decompressed data is assigned to the transparent color, the amount of memory does not increase as in the prior art. Moreover, since the transparent color is always decoded as a transparent color, the image quality is not greatly deteriorated.
[0024]
Furthermore, in the invention according to claim 14, Claim 13 A method for decoding image data of Corresponding to the natural image sprite surface In the image data decoding method, in which the encoded image data is composed of an immediate value and a plurality of difference values following the immediate value, and these values are decoded by irreversible decompression, the immediate value representing a transparent color And the difference value are reversibly decompressed and decoded. For this reason, the amount of data can be greatly reduced by irreversible decompression, while the transparent color is reversible, so that deterioration in image quality can be suppressed.
[0025]
In addition, according to the fifteenth aspect of the present invention, in the image data encoding method according to the fourteenth aspect, the immediate value representing the transparent color is set to an intermediate value between the data values of the respective colors, and the difference value representing the transparent color is expressed as “ “0”. As a result, it is possible to minimize the deterioration of the image quality due to the influence of the transparent color.
[0026]
In the invention according to claim 16, Corresponding to the natural image sprite surface In the image data decoding method, in which the encoded image data is composed of an immediate value and a plurality of difference values following the immediate value, and the values are decoded, the immediate value representing the transparent color is used as the data of each color. It is converted to an intermediate value and used for differential value restoration. In this way, since the immediate value representing the transparent color is an intermediate value of the data of each color, the fluctuation of the difference value is reduced and the compression can be performed efficiently.
[0027]
The invention according to claim 17 is the image data decoding method according to claim 13, Corresponding to the natural image sprite surface In the image data decoding method in which the encoded image data is composed of an immediate value and a plurality of difference values following the immediate value, and the values are decoded, the difference value representing the transparent color is expressed as “0”. Is used for differential value restoration. As described above, since the difference value representing the transparent color is set to “0”, even if a transparent color is entered, the difference value does not fluctuate and compression can be performed efficiently.
[0028]
Furthermore, in the invention described in claim 18, in the image data decoding method according to claim 14, 15, 16, or 17, the encoded image data is compressed with one immediate value and a plurality of predetermined numbers. It is extracted from the VRAM as a fixed length block formed by the difference value and decoded. As a result, one immediate value and a plurality of difference values are integrated to form a block, the access speed to the VRAM during decoding is increased, and the decoding efficiency is improved.
[0029]
According to a nineteenth aspect of the present invention, in the image data decoding apparatus for irreversibly decompressing and decoding the encoded image data, A plurality of multi-color sprite surfaces and a natural image sprite surface are constituted by the image data, and an arbitrary one of the plurality of multi-color sprite surfaces is formed. When one is assigned as a transparent color and the decoded signal indicates a transparent color, the transparent color is always decoded. Thus, since one of the decompressed data is assigned to the transparent color, the amount of memory does not increase as in the prior art. Moreover, since the transparent color is always decoded as a transparent color, the image quality is not greatly deteriorated.
[0030]
Furthermore, in the invention of claim 20, Claim 19 An image data decoding device comprising: Corresponding to the natural image sprite surface In the image data decoding apparatus, in which the encoded image data is composed of an immediate value and a plurality of difference values following the immediate value, and these values are decoded by irreversible decompression, the immediate value representing a transparent color And the difference value are reversibly decompressed and decoded. For this reason, the amount of data can be greatly reduced by irreversible decompression, while the transparent color is reversible, so that deterioration in image quality can be suppressed.
[0031]
In the invention according to claim 21, Claim 19 An image data decoding device comprising: Corresponding to the natural image sprite surface The encoded image data is composed of an immediate value and a plurality of difference values following the immediate value, and in the image data decoding apparatus for decoding these values, the immediate value representing the transparent color is used as the data of each color. It is converted to an intermediate value and used for differential value restoration. In this way, since the immediate value representing the transparent color is an intermediate value of the data of each color, the fluctuation of the difference value is reduced and the compression can be performed efficiently.
[0032]
In the invention according to claim 22, Claim 19 An image data decoding device comprising: Corresponding to the natural image sprite surface The encoded image data is composed of an immediate value and a plurality of difference values following the immediate value. In the image data decoding apparatus that decodes these values, the difference value representing the transparent color is expressed as “0”. Is used for differential value restoration. As described above, since the difference value representing the transparent color is set to “0”, even if the transparent color is entered, the difference value does not fluctuate and can be compressed efficiently.
[0033]
In the invention of claim 23, Claim 19 An image data decoding device comprising: Corresponding to the natural image sprite surface The encoded image data is composed of an immediate value and a plurality of difference values following the immediate value. In the image data decoding apparatus for decoding these values by irreversible decompression, the input immediate value and And a decoded second transparent color detection unit for detecting whether or not the code representing the transparent color represents a transparent color, and a decoded first transparent color detection for detecting whether or not the input code representing the difference value represents the transparent color. And a decoded second transparent color converter that converts the value to a gray value when the immediate value is a transparent color and passes other values, and sets the value to “0” when the difference value is a transparent color A decoding first transparent color conversion unit that passes other values, an immediate value from the decoding second transparent color conversion unit, and a difference value from the decoding first transparent color conversion unit are input, and a value for differential value decoding is input. A decoder that generates and adds to the input difference value, and an immediate value and difference Value and a decoded third transparent color conversion unit that converts the value representing the transparency color other than gray and all of them "0" as a transparent color. For this reason, the entire image is irreversibly decompressed using DPCM, which can increase the decompression efficiency, reliably reproduce the transparent color, and reduce the effects of decompression, minimizing image degradation. Can be suppressed.
[0034]
In addition, in the invention described in claim 24, the encoded image data is extracted from the VRAM as a fixed-length block formed by one immediate value and a plurality of and a predetermined number of compressed difference values, and is decoded. Yes. As a result, one immediate value and a plurality of difference values are integrated to form a block, the access speed to the VRAM during decoding is increased, and the decoding efficiency is improved.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Examples of embodiments of the present invention will be described below with reference to FIGS. This embodiment is a system for reproducing an animation. Specifically, the animation is displayed on an image display portion of a guidance display device placed on a street corner. Along with the description of this animation reproduction system, an image data encoding method and encoding apparatus, and an image data decoding method and decoding apparatus according to an embodiment of the present invention will be described.
[0036]
The image display system in this embodiment is the same as the conventional one in that an animation image is created by the animation creation personal computer 1, but the image data serving as the output is different from the conventional one. That is, as shown in FIG. 1, a basic OS 2 and animation scenario creation software 3 operating on the basic OS 2 are installed in the animation creating personal computer 1. The animation data 5 is created using the animation scenario creation software 3. In order to create the animation data 5, a base picture 4 that is each sprite created by the animation creator is usually used. Then, the animation data 5 is output from the animation creation personal computer 1, and the animation data 5 is put into the conversion software 6 that operates on the animation creation personal computer 1, and the dedicated animation data 7 serving as image data is output. The dedicated animation data 7 is converted into a ROM, converted into a ROM 8, and then distributed to a miniaturized dedicated player 9. The distribution here is performed by the ROM 8, but the dedicated animation data 7 may be transmitted to the dedicated player 9 via wireless or wired connection.
[0037]
The distributed ROM 8 is attached to a dedicated player 9 serving as an image display device. As shown in FIG. 2, the dedicated player 9 includes a display unit 10 composed of an MIM LCD (liquid crystal), a CPU memory (= central processing unit) 11, a dedicated graphic LSI 12, a program ROM 13, and an external information source 14. The data receiving circuit 15 that receives the instruction and transmits it to the CPU memory 11, the VRAM 16 connected to the dedicated graphic LSI 12, the sound circuit 18 that supplies sound to an external amplifier and speaker 17, and the display unit that drives and controls the display unit 10 And the LSI 19 for use. Note that an SRAM of about 64K bits may be provided together with the program ROM 13.
[0038]
The external information source 14 is outside the dedicated player 9 and controls the display contents of the dedicated player 9 to a great extent. In other words, the external information source 14 can give an instruction to change the flow of the animation (= switch the scenario) or display a specific sprite at a specific position. In addition, the program ROM 13 receives specific data from the dedicated animation data 7 by the CPU memory 11 and receives a program for controlling display in units of frames and an instruction from the external information source 14, and displays the display in units of frames. A program for switching the flow or performing a process of displaying a specified specific sprite at a specified specific position is stored.
[0039]
In this embodiment, the ROM 8 is 2 Mbytes and has a capacity corresponding to several tens of seconds on the television screen. The CPU memory 11 is an 8-bit CPU and has a 512-byte work memory inside, while the program ROM 13 is 256K bits. Note that these members are not limited to the numerical values shown here, and members having other values can be appropriately employed.
[0040]
Here, the dedicated graphic LSI 12 is controlled by the CPU memory 11 to control the sequence between the screens. On the other hand, the display of a series of sprites in each screen is performed by looking at the data in the ROM 8 and based on the data. , Is designed to control a series of movements of the sprite. The display unit 10 may have various sizes such as 3.3 inches, 4 inches, 5 inches, and 5.6 inches. Further, if necessary, a display body other than the liquid crystal, such as a cathode ray tube type, can be employed. Further, the VRAM 16 can capture two screens, and is 2 Mbit on a 5-inch display unit, and 1 Mbit on a 4-inch or 3.3-inch display. Two screens are used because one screen is used for display and the other screen is used for writing. This two-screen method eliminates flicker during writing and improves image quality. The sound circuit 18 has 8 bits, 8 kHz, and one channel, but other values can be used as appropriate.
[0041]
The structure of the dedicated graphic LSI 12 is as shown in FIG. That is, a small processor unit 12a having a function of a programmable downloader, a decoder 12b that decodes compressed image data transferred from the small processor unit 12a, and special effects such as enlargement, reduction, and masking of data from the decoder 12b. An effector 12c that executes and receives instructions from the small processor unit 12a and controls a decoder 12b and a random interface 12d described later; a random interface 12d that writes image data output from the effector 12c into the VRAM 16, and a display unit A serial interface 12e that generates a basic timing signal for 10 display operations and reads out image data from the VRAM 16 in accordance with the basic timing, and a natural image expansion, blending process, and palette conversion It is made from a composer 12f having the ability and the like. Then, the dedicated graphic LSI 12 reads the data at the address in the ROM 8 based on the execution instruction of the CPU memory 11. The detailed function and operation of each unit in the dedicated graphic LSI 12 will be described later. Further, a portion of the dedicated graphic LSI 12 excluding the small processor unit 12a is a video display processor unit.
[0042]
As shown in FIG. 5A, the data structure of the ROM 8 is interpreted and executed by the external processor control data unit 8a containing the scenario data to be interpreted and executed by the CPU memory 11 and the small processor unit 12a in the dedicated graphic LSI 12. An internal processor control program unit 8b containing a program such as an in-frame sprite display program and data, and an image data unit 8c containing compressed image data accessed and downloaded by the video display processor unit in the dedicated graphic LSI 12; The main categories are: The internal processor control program unit 8b contains an MC (microcontroller) program 8d for operating the small processor unit 12a and register data 8e serving as data relating to the register unit and the palette RAM unit. The image data portion 8c contains multi-color compressed image data 8f that becomes compressed data of a multi-color image, which will be described later, and natural image compressed image data 8g that becomes compressed data of a natural image.
[0043]
In the external processor control data section 8a, data for controlling the time axis direction of each frame 20 is written as shown in FIG. Each frame 20 is switched at a speed that normally appears 25 frames per second. On the other hand, the MC program 8d for controlling the display position of sprites (details will be described later) in one frame 20 is written in the internal processor control program section 8b.
[0044]
Here, the operation of the dedicated graphic LSI 12 will be briefly described with reference to FIG. When the CPU memory 11 instructs the dedicated graphic LSI 12 to execute execution from, for example, the address [XXXXH] of the ROM 8, the small processor unit 12a executes data from the address [XXXXH] of the ROM 8. In the ROM 8, the MC program 8d, the register data 8e, and the compressed image data in the image data portion 8c are written in order from the address [XXXXH] and are sequentially executed.
[0045]
Specifically, as shown in FIG. 4B, for example, when the CPU memory 11 instructs execution from the address 100, the small processor unit 12a executes data from the address 100 of the ROM 8. For example, if the sprite is the characters “A”, “B”, and “C”, first, the “A” MC program at address 100 for displaying “A” is executed. This execution is performed by setting various parameters for displaying “A” in the register section of the effector 12 b and then downloading the compressed image data obtained by decompressing “A” to the VRAM 16. Similarly, the image data of the characters “B” and “C” is downloaded to the register unit of the video display processor unit and the VRAM 16.
[0046]
When the relationship as described above is viewed mainly with the dedicated animation data 7, the relationship is as shown in FIG. That is, the dedicated animation data 7 in the ROM 8 is configured to control the CPU firmware 31 including the CPU memory 11 and the program ROM 13 and the hardware specification 32 of the dedicated graphic LSI 12. As a result, the dedicated player 9 used in this image display system realizes various display functions in cooperation with the CPU firmware 31, the hardware specification 32 of the dedicated graphic LSI 12, and the dedicated animation data 7. Yes.
[0047]
Next, the mechanism of this display function will be described. It should be noted that the term “sprite” used in the future refers to a component of an image in one frame 20 of the animation. For example, characters such as “A”, “B”, and “C”, pictures such as apples and cocoons, and geometric figures such as triangles and squares are equivalent. A “sprite screen” refers to a screen that displays such a “sprite”.
[0048]
In general, each frame 20 serving as each screen in an animation is composed of a plurality of sprite screens. That is, it is composed of a multi-color sprite composed of a multi-color image and a natural image sprite that is a natural image. The two types of sprites are drawn by the small processor unit 12a in the dedicated graphic LSI 12 autonomously moving (active mode to be described later), or the CPU memory 11 and the small processor unit 12a are drawing in cooperation (described later). Passive mode). The multi-color sprite includes a specific image sprite that the CPU memory 11 draws at a specific position in accordance with an instruction from the external information source 14. The animation screen of this embodiment is configured to have a plurality of multi-color sprites and natural image sprites, for example, as shown in FIG. In some cases, the above-described specific image sprite may also be included. When these sprites overlap each other, the sprite that comes to the forefront is displayed with priority. However, each sprite except the natural image sprite has a palette color that becomes “transparent” in the palette described later, so that the color of the rear screen can be produced using the “transparency”. ing.
[0049]
Here, the two multi-color sprites are both used for animation and mainly used for animation by characters. Both multi-color sprites have fewer colors than natural image sprites, but the image data is correspondingly smaller, so they are suitable for screens displaying a large number of characters. Moreover, both the multi-color sprites can be used by selecting the number of colors of 15 colors, 30 colors, 45 colors, and 60 colors. In this embodiment, 15 colors are adopted. .
[0050]
On the other hand, the specific image sprite is drawn by the CPU memory 11 and directly controlled by the external information source 14, but the property is a multi-color sprite. Unlike the other sprites, the display position of this specific image sprite is set at a fixed location such as the center or edge of the screen. However, as with other multicolor sprites, it is moved, superimposed, enlarged, and reduced. It is good also as what can do.
[0051]
The natural image sprite has a large number of colors and can be displayed in high detail as will be described later. For this reason, it is mainly used for backgrounds using natural colors.
[0052]
Here, each multi-color sprite has a palette table that can have 15 of 32K colors. The three screens can generate up to 60 colors. The reason why the color is 32K is that the values of red (R), green (G), and blue (B), which are the three primary colors, are represented by 5 bits each. That is, the total is 15 bits, and the color is 32K. Each of the screens M1, M2, and SC has a palette table that specifies 15 of these 32K colors. This is because the hardware used in this embodiment can handle only a 4-bit sprite screen, so there are a maximum of 16 colors, one of which is transparent. .
[0053]
On the other hand, the natural image sprite is a direct color system capable of simultaneously developing 256K colors. This is because R, G, and B are represented by 6 bits each for a total of 18 bits, and their values are directly displayed.
[0054]
Here, the reason why a plurality of multi-color sprites are prepared is, for example, to superimpose an image of a guide in the guidance display on the screen of the multi-color image as a background. The natural picture sprite is for example to show a beautiful woman or a delicious food. Further, the specific image sprite, for example, displays a time when using a guidance display machine, displays an image of a slot machine, and adds a slot machine function. When such a specific image sprite is used, the use value of the guidance display device is increased, and it is possible to use it like a game.
[0055]
As shown in FIGS. 8 and 9, the screen having each sprite is selected from a combination of the three modes and the order designation in which the natural image sprite is prioritized. 8A shows a specific image top mode in which a specific image sprite is drawn last, FIG. 8B shows a specific image second mode in which a multicolor sprite is drawn after drawing of the specific image sprite, and FIG. C) is a specific image bottom mode in which two multi-color sprites are drawn after drawing a specific image sprite. On the other hand, FIG. 9 shows a case where, for example, in the specific image top mode, the drawing priority order of the natural image sprite that determines when the natural image sprite is drawn is designated. In this way, three modes and four different drawing orders can be designated, and a total of twelve drawing orders can be performed.
[0056]
An arbitrary number of sprites, for example, animation characters can be displayed on each sprite screen. That is, in this embodiment, the number of sprites is not limited by hardware, but is limited by the time required for sprite drawing processing. For example, if the drawing rate of each frame (= frame rate) is 25 Hz, about 5.7 4 inch full-size 16 color screens can be drawn, and if the sprite has a 1/4 size, about 24 Sheet drawing is possible. Incidentally, if it is a natural image sprite, about 3.8 images can be drawn. As for the drawing priority order of each sprite, an arbitrary priority order can be designated for each sprite. That is, the order of overwriting can be freely changed. Note that in the conventional case, there are many cases in which the number of sprites (two on the screen) and the priority of each two are determined. For example, when there are sprite A and sprite B in one screen, sprite A is stored in a specific register and sprite B is stored in another specific register. Then, the display of sprites A and B is switched by switching the register. On the other hand, in this embodiment, the register of each sprite is not specified, and the sprite is displayed by changing the order of writing. ing. In other words, the sprite written earlier is erased by the sprite written later. As described above, in this embodiment, the number of sprites and the display order are not limited and are easy to handle, and the register can be light, that is, small.
[0057]
The size of each sprite, for example, an animation character, is 1 to 1,008 pixels in the horizontal direction and 1 to 255 pixels in the vertical direction in the multi-color sprite. On the other hand, in the natural image sprite, the horizontal direction is 1 to 1008 dots (= cell), and the vertical direction is 1 to 255 dots. This is because in this embodiment, a maximum 5.6 inch liquid crystal screen, that is, a screen of 960 dots × 240 dots is designated. Here, the natural image sprite is used as a dot unit in order to improve the image quality, and one pixel is composed of three dots (three cells) of RGB. On the other hand, a multi-color sprite has a palette composed of representative colors with one RGB, and the unit is a pixel, that is, a representative color unit.
[0058]
The display position of each sprite can be specified in units of one pixel consisting of specific RGB values in the multi-color sprite, and the natural image sprite is in units of 3 dots in both the horizontal and vertical directions. As shown in FIG. 10A, each of the three dots represents RGB, and the next line is shifted by one and repeated in the order of GBR, and the third line is repeated with BRG. It is like that. Such a display method is called a mosaic arrangement, and is adopted when the resolution is low. As a case where it is not a mosaic arrangement, as shown in FIG. 10B, it is conceivable to adopt a unit of 3 dots in the horizontal direction and 1 dot in the vertical direction (= stripe arrangement).
[0059]
Each sprite can be enlarged or reduced independently in the vertical and horizontal directions. The ratio of enlargement / reduction can be continuous in both the horizontal and vertical directions, but in order to reduce the work memory load for enlargement / reduction, the expansion / reduction in the horizontal direction is stepwise. It is to do.
[0060]
That is, the size of enlargement / reduction in the horizontal direction is 1 to 1,008 dots when the original width is 1 to 16 dots, and 2 × n (n: 1 to 255) when 17 to 32 dots. In the case of 33 to 48 dots with dots not exceeding 1,008 dots, 3 × n (n: 1 to 255, but not exceeding 1,008 dots) dots. In this way, enlargement and reduction are performed in units of 16 dots. For example, when the width of the original pixel is 160 dots, it is 10 × n (n: 1 to 255, but does not exceed 1,008 dots). This is because the small processor unit 12a processes 16 dots in one unit. Here, “2”, “3”, and “10” such as 2 × n, 3 × n, and 10 × n are the number of units of enlargement / reduction in the horizontal direction, and this value is written in a register XDSBN to be described later.
[0061]
The functions related to the above display part are summarized as follows. That is, the number of liquid crystal dots (number of physical dots) is 442 (horizontal direction = H) × 238 (vertical direction = V) when 3.3 ″, 4 ″, and 960 (H) × 240 when 5.6 ″. (V), any one of these is used in this embodiment.The display mode (the number of logical pixels) is 3.3 ", 4", 160 (H) x 240 (V), and 5 .6 ", 320 (H) × 240 (V). The display color is a maximum of 32K colors, and the screen configuration is composed of a multi-color sprite surface (hereinafter referred to as M surface) and a natural image sprite surface (hereinafter referred to as T surface). Note that the scroll direction in the scroll function can be vertical, horizontal, and diagonal scrolling, and the divided scroll can be arbitrarily divided within the processing time range. In addition, the number of sprites in the sprite function can be arbitrarily set within the range of processing time, and the sprite size can be arbitrarily set by window setting. The multi-color image display function can display 60 colors out of 32K colors, and the natural image display function corresponds to 6 bits / dot (18 bits / pixel), and can display a maximum of 256K colors. The format of the VRAM 16 basically has two sides (= 2 banks), and is used for switching between display and drawing. The palette RAM is 15 colors × 4 banks, and each color has 15 bits (transparent colors are 4 colors). Further, the basic display timing of the dedicated player 9 is as follows. That is, the basic clock is 25 MHz (40 ns / clock = clk), the display frame frequency is 50.05 Hz (20 ms / frame), the number of scanning lines is 270 lines / frame, and the basic VRAM read / write cycle is 12 .5 MHz (80 ns / byte), the basic LCD transfer cycle is 25 MHz (40 ns / dot). FIG. 11 collectively shows the basic timing of the transfer to the display unit 10 described above.
[0062]
The dedicated graphic LSI 12 has several display modes as shown in FIG. 12, and the display combination, size, etc. of the M plane and the T plane are determined by selecting the display mode. Selection of the display mode is limited by the number of pixels of the LCD used for the display unit 10 and the size of the external VRAM 16. Each mode is set by writing a predetermined value to a predetermined register at the time of resetting or operating the dedicated graphic LSI 12.
[0063]
Each display mode and its display state are shown in FIG. 13 and FIG. The numbers in the figure indicate the number of pixels, and the M plane is represented by M and the T plane is represented by T. Here, in the T plane display mode in the modes LO and SO shown in FIGS. 13A and 14A, it is not possible to secure the full screen of the VRAM 16 on the T plane. Therefore, one of the following modes is selected and the T plane is displayed. That is, in the modes LOa and SOa, two lines are complemented by one line, and a full screen display is performed. On the other hand, in the modes LOb and SOb, display is performed as it is without complementation. Therefore, a 320 × 120 area can be displayed in the mode LO, and a 160 × 120 area can be displayed in the mode SO.
[0064]
The relationship between each display mode and the VRAM format is as shown in FIGS. Here, FIG. 15 shows a case where a 2M-bit VRAM 16 is used with a 5.6 ″ LCD, and FIG. 16 shows a case where a 1M-bit VRAM 16 is used with a 5.6 ″ LCD. FIG. 17 shows the case of a 1 Mbit VRAM 16 with a 3.3 ″ or 4 ″ LCD. In each figure, the numbers after “M” and “T” indicate the division of two banks. The selection range of each display mode is restricted by the number of LCD pixels and the size of the VRAM 16. Further, the allocation of the M plane and the T plane on the VRAM 16 is determined by the selection of the display mode.
[0065]
The allocation format on the M-plane VRAM 16 is as follows. As shown in FIG. 18, a multi-color pixel (hereinafter referred to as MPIX) is composed of a 2-bit multi-color palette number (hereinafter referred to as MPN) and a 4-bit multi-color code (hereinafter referred to as MCODE). Here, MPN is an attribute of the pixel and indicates which plane the pixel is. The MPN is used for overlaying and selecting a pallet table, which will be described later. On the other hand, MCODE indicates the value of a pixel. Since MCODE has a 4-bit configuration, it can take 16 values. When MCODE is “0”, the color is transparent. The above-described MPIX is collected for four pixels to form a multi-color data unit (hereinafter referred to as MDU). MPIX is 3 bytes for 4 pixels, and this is the basic unit of read / write of the VRAM 16. Depending on the selection of the display mode, the number of MDUs in the M plane differs. That is, on the VRAM 16, as shown in FIG. 19, the number of MDUs when 240 lines can be obtained per line is 80, and when the number of lines is 120 bytes per line, the number of MDUs is 40 per line. On the other hand, the allocation format on the T-plane VRAM 16 is as follows. As shown in FIG. 20, a real-valued pixel (hereinafter referred to as IPIX) is a pixel stored as an immediate value on the VRAM 16, and the IPIX is composed of three pieces of data of immediate dot data I0, I1, and I2. ing. Which data of red, green, and blue is assigned to I0, I1, and I2 is determined by the y coordinate and the x coordinate. As shown in FIG. 22, when In (n is 0 to 2) is green, extended dot data (hereinafter referred to as EX) is extended to LSB, and when In is red or blue, “0” is LSB. Extend to Here, EX is an extension of I0, I1, and I2 by 1 bit. Only the green color is expanded, and to which of the green color I0, I1, and I2 is assigned is determined by the y coordinate and the x coordinate at that time.
[0066]
The difference value pixels (hereinafter referred to as DPIX) shown in FIG. 20 are pixels that are stored in the VRAM 16 with difference values that are nonlinearly quantized, and are arranged in four pixels on the right side of IPIX (DPIX0 to DPIX3). Each DPIX is composed of three data of difference value dot data D0, D1, and D2, and one pixel is composed of the three data. Which of red, green, and blue data is assigned to the difference value dot data DO, D1, and D2 is determined by the y coordinate and the X coordinate at that time. A natural image data unit (hereinafter referred to as TDU) is composed of data of one pixel (IPIX) stored as an immediate value and four pixels (DPIX0 to 3) stored as a difference value. One TDU is 8 bytes for 5 pixels. This is the basic unit of read / write on the VRAM 16. Depending on the selection of the display mode, the number of TDUs in the T plane will be different. That is, on the VRAM 16, as shown in FIG. 21, when 512 bytes can be obtained per line, TDU is 64 pieces per line, and when TDU is 256 bytes per line, TDU is 32 pieces per line, 1 line. In this case, the TDU when there are 128 bytes is 16 per line.
[0067]
Next, a detailed function of a portion of the dedicated graphic LSI 12 excluding the small processor unit 12a, that is, the video display processor unit will be described. The decoder 12b decodes the compressed data transferred from the small processor unit 12a. Further, the decoder 12b has two modes, a multi-color image decoding mode and a natural image decoding mode. In the multi-color image decoding mode, a multi-color sprite of 4 bits per pixel (for one cell) is decoded. The original data encoding method is a parallel arithmetic compression method. On the other hand, in the natural image decoding mode, natural image sprites corresponding to 18 bits per pixel (for 3 cells) are decoded. Note that the original data encoding method is an extended parallel arithmetic compression method. This is a combination of a parallel arithmetic compression method, Gray code conversion, and nonlinear DPCM. In the natural image decoding mode, DPCM is performed. The reference cell at this time differs depending on where the compression target cell is in the compression unit. Moreover, it differs depending on the pixel arrangement of the liquid crystal module to be mounted. Further, the register unit in the decoder 12b does not have a control register and operates according to control signals from the small processor unit 12a and the effector 12c.
[0068]
The effector 12c transfers the data from the decoder 12b to the random interface 12d after performing special effects such as enlargement / reduction and masking. Also, it exchanges instructions from the small processor unit 12a and controls the decoder 12b and the random interface 12d. The effector 12 c further has a write function for determining an address on the VRAM 16. This write function has a virtual write area (hereinafter referred to as a virtual area) as shown in FIG. Xsize in FIG. 23 varies depending on the display mode and the M plane / T plane. This relationship is shown in FIG. The numbers in FIGS. 23 and 24 are all in dot units. Here, FIG. 25 shows how the decrypted data is written. Decoded data is written in the area of the cell size [XWSBS × XDSBN, YWSIZ] starting from [XWOFF, YWOFF]. At this time, data is not written outside the area specified by the mask M.
[0069]
The mask function of the effector 12c is as follows. The mask function includes a rectangular mask and a blind mask. The rectangular mask corresponds to the mask M1 shown in FIG. Since the area of the cell size [XMSIZ, YMSIZ] starting from [XMOFF, YMOFF] is a writable mask M1, data is actually written in the shaded area in FIG. Whether to write inside or outside the area specified by the rectangular mask is specified by MINV (details will be described later). As shown in FIG. 26, when MINV = 0. The inner side is writable, and when MINV = 1, the outer side is writable (shaded area in FIG. 26). On the other hand, as shown in FIG. 27, the blind mask is a mask M2 having a function like a blind curtain. The horizontal and vertical units of the blind are designated by XBMP and YBMP, and the writable area therein is designated by XBMW and YBMW (shaded area in FIG. 27). Here, when a blind mask is designated, the meanings of XBMP and XBMW differ depending on the decoding mode. That is, in the multi-color image decoding mode, the unit is one cell (one pixel unit), and in the natural image decoding mode, the unit is three cells (one pixel unit). That is, when XBMW = 1 is designated, the width of one cell is designated in the multi-color image decoding mode, and the width of three cells is designated in the natural image decoding mode. This is because the final output result is unified in units of pixels.
[0070]
The enlargement / reduction function of the effector 12c is basically realized by separately specifying the size of the block to be decoded and the size of the area to be written. However, the enlargement / reduction designation method is handled differently depending on the X direction (= horizontal direction) and the Y direction (= vertical direction) as shown in FIG. For example, for enlargement / reduction in the X direction:
(A) If 16 = XWSBS, write in the same horizontal size
(B) If 16> XWSBS, horizontal reduced write
(C) If 16 <XWSBS, horizontal expansion writing
For the enlargement / reduction in the Y direction,
(A) If YDXIZ = YWSIZ, write in the same vertical size
(B) If YDXIZ> YWSIZ, write vertically reduced
(C) If YDXIZ <YWSIZ, write vertically enlarged
It becomes.
[0071]
The effector 12c also has a register for holding various commands and the like. Each register has 8 to 64 register units, but the number of used registers is small, one, and many, 64. The name and function of each register will be described below. The register EFFSTT has eight register units, and one of them is used to indicate the status of the VRAM 16 being cleared. The register EFFCMD has eight register units, and one of them is used to give a control command related to the effector 12c such as start of decoding or clearing of the VRAM 16. This register EFFCMD is accepted only when the status is in the ready state.
[0072]
The register DECMOD has eight register units, and one of them is used to set the decoding mode. In the case of the multi-color image decoding mode, the palette number ( = MPN) is set. The MPN is set for each M plane when there are a plurality of M planes. The register XDSBN has eight register units, and in this embodiment, the number of sub-blocks (= XDSBN) of a block to be decoded is set using six areas therein. The width of the sub-block is fixed to 16 cells, the actual block size is a multiple of 16 cells × XDSBN, and this register XDSBN can be arbitrarily specified in the range of 1 to 63. In terms of cell size, the range from 16 cells to 1,008 cells can be designated in 16 cell steps. The register YDSIZ has eight register units, and in this embodiment, the cell size (number of lines) in the Y direction of a block to be decoded is set in each of the eight registers. A value written to each of the registers YDSIZ can be arbitrarily specified within a range of 1 to 255.
[0073]
The register XWSBS has eight register units. In this embodiment, the size of the sub-block in the area where the decoded block is written is designated in each of the eight register units. Therefore, the actual block size is a multiple of XWSBS × XDSBN. Note that the value written to the register XWSBS can be arbitrarily specified in the range of 1 to 255. The register YWSIZ also has eight register units. In this embodiment, the cell size (number of lines) in the Y direction of the area in which the decoded block is written is designated in each of the eight register units. The value written to each of the registers YWSIZ can be arbitrarily specified in the range of 1 to 255.
[0074]
Each of the registers XMSIZL and XMSIZH has eight register units, and specifies the cell size in the X direction of the rectangular mask area and the forward / reverse of the rectangular mask area. Then, a low address is designated in the register XMSIZL and a high address is designated in the register XMSIZH. A value written in each of the registers XMSIZL and XMSIZH can be specified in a range of 1 to 1023. Further, MINV that designates normal / inversion of the rectangular mask area is written in one register portion of the register XMSIZH. MINV = “0” means that the rectangular mask is positive, and the inside of the rectangular mask is writable and a boundary is included in the writing area. On the other hand, MINV = “1” means rectangular mask inversion, and the outside of the rectangular mask can be written and the boundary is not included in the writing area.
[0075]
Further, the register YMSIZ has eight register units, and designates the cell size in the Y direction of the rectangular mask area. Values written in the register YMSIZ can be specified in the range of 1 to 255, respectively. The register XYBMP also has eight register units, and specifies the X / Y on / off of the blind mask and the pitch in the X / Y direction. Of the eight register units, three register units are used, X off and the blind mask pitch in the X direction are designated in pixel units, and three of the remaining five register units are used. Then, Y off and the pitch of the blind mask in the Y direction are designated in pixel units. Each pitch can take any one of 2, 4, 8, 16, 32, 64, and 128 pixel pitches.
[0076]
The register XBMW has eight register units, and specifies the mask width in the X direction in pixel units when performing blind masking. The value written to the register XBMW can be specified in the range of 0 to 128. If a value of 128 or more is specified, it is clipped to 128. The register YBMW has 8 register units, and specifies the mask width in the Y direction in cell units (line units) when blind masking is applied. The value written to the register YBMW can also be specified in the range of 0 to 128. If a value of 128 or more is specified, it is clipped to 128. If the mask width is specified beyond the pitch width, the pitch width is regarded as the mask width.
[0077]
Each of the registers XWOFFL and XWOFFH has eight register units, and designates an offset in the X direction of an area in which the decoded block is written by a cell address. Then, a low address is designated in the register XWOFFL and a high address is designated in the register XWOFFH. In this embodiment, XWSIGN for writing a sign bit indicating positive or negative is assigned to one register portion of the register XWOFFH. When this XWSIGN is “1”, it becomes a negative number, and when it is “0”, it becomes a positive number. A range of -1,024 to 1,023 can be specified by the value written in this register and other register units. The registers YWOFFL and YWOFFH each have eight register units, and specify the offset in the Y direction of the area in which the decoded block is written by the cell address. Then, a low address is designated in the register YWOFFL and a high address is designated in the register YWOFFH. In this embodiment, YWSIGN for writing a sign bit indicating positive / negative is assigned to one register portion of the register YWOFFH. When this YWSIGN is “1”, it becomes a negative number, and when it is “0”, it becomes a positive number. A range of −256 to 255 can be specified by this YWSIGN and a value written in another register unit.
[0078]
Each of the registers XMOFFL and XMOFFH has eight register units, and designates an offset in the X direction of a region to be rectangular masked by a cell address. Then, a low address is designated in the register XMOFFL and a high address is designated in the register XMOFFH. In this embodiment, XMISGN for writing a sign bit indicating positive or negative is assigned to one register portion of the register XMOFFH. When this XMISGN is “1”, it becomes a negative number, and when it is “0”, it becomes a positive number. The range of -1,024 to 1,023 can be specified by the value XMISIGN and a value written in another register unit. Further, the registers YMOFFL and YMOFFH specify the offset in the Y direction of the area to be rectangular masked by the cell address. Then, a low address is designated in the register YMOFFL and a high address is designated in the register YMOFFH. In this embodiment, YMSIGN that writes a sign bit indicating positive or negative is assigned to one register portion of the register YMOFFH. When this YMISGN is “1”, it becomes a negative number, and when it is “0”, it becomes a positive number. A range of −256 to 255 can be designated by this YMISGN and a value written in another register unit.
[0079]
Finally, the registers TRPTnH and TRPTnL designate replacement of the designated M-plane image code with a forced transparent color (MPN = 0, MCODE = 0). As a result, an arbitrary M-plane image code can be replaced with a transparent color. Eight registers (64 bits = 64 register parts) are allocated, and all the palettes of 16 entries × 4 tables can be supported. It should be noted that “0” or “1” is written in each register unit, and when it is “1”, replacement with a transparent color is performed.
[0080]
The random interface 12 d writes the image data output from the effector 12 c into the VRAM 16. An image data processing circuit for writing and an address generation circuit (each not shown) are included. And it has each function as follows.
[0081]
The first is an address conversion function. The effector 12c performs operations such as rectangular mask, blind mask, enlargement / reduction, etc. using the cell address. When this is written into the VRAM 16, it is necessary to convert it to the address of the VRAM 16. For this reason, first, conversion considering the case of M-color multi-color sprite (4-pixel 3-byte format as described later) and T-plane natural image sprite (5-pixel 8-byte format as described later) is performed. Do. Thereafter, the obtained X and Y addresses are further converted into real addresses in consideration of display mode and display bank information.
[0082]
The second is a read modify write function which is a read / write back function. As described above, the data structure of the VRAM 16 includes a multi-color sprite (4 pixels, 3 bytes format) and a natural image sprite (5 pixels, 8 bytes format). It is not a byte unit regulation (= byte boundary). Therefore, when cell data is written to the VRAM 16, it is necessary to read the contents of the VRAM 16 once, perform mask processing, and write it back in order not to destroy the data on the VRAM 16. Read modification write is performed in units of 4 pixels in the case of the M plane, and in units of 5 pixels (15 dot units) in the case of the T plane.
[0083]
The third function of the random interface 12d is a natural image fixed length compression function. In other words, this is data compression for storing 5 pixels of TDU in 8 bytes. Here, the original data for one TDU is 90 bits (6 bits × 3 × 5 pixels), and this is fixedly compressed to 64 bits (= 8 bytes) and stored in the VRAM 16. When this function is executed, the random interface 12d has a write compression circuit and a read decompression circuit (both not shown) for this purpose because it is used together with the previous read modify write function. As the compression method, a non-linear DPCM method is adopted, and DPCM is performed separately for R, G, and B.
[0084]
Here, in order to minimize the influence of the transparent color in the DPCM arithmetic circuit, the following processing is performed.
[0085]
(A) The immediate value is “32” (calculated as gray), that is, the center value of the immediate value represented by 6 bits.
[0086]
(B) The difference value is “0”, that is, the previous value is held.
[0087]
The quantization table for DPCM processing is shown in FIGS. FIG. 29 shows a nonlinear quantization conversion table (hereinafter referred to as FNLQ), and FIG. 30 shows a nonlinear inverse quantization conversion table (hereinafter referred to as INLQ).
[0088]
Next, the transparent color process will be described. First, on the M plane, the decoded value and the VRAM 16 are represented by MCODE = 0. On the other hand, on the T plane, the decrypted values are represented as “62” and “63”, and are represented on the VRAM 16 as IPIX = 0 and DPIX = 0. Here, the nonlinear DPCM is lossy compression, and the compressed data is not restored. However, if the transparent color is lost, the image changes greatly. Therefore, the transparent color is processed as follows. That is, the transparent color on the T plane is completely reversible at the time of DPCM encoding / decoding. In consideration of ease of handling, when the VRAM 16 is initialized with “0”, the transparent color is decoded on the T plane.
[0089]
The fourth function of the random interface 12d is a VRAM initialization function. In this case, when there is a VRAM initialization request, the VRAM 16 is initialized in cooperation with the serial interface 12e. All “0” s are transferred to the T-plane area or M-plane area of the display screen bank. This initialization process is performed during the V blanking period. The fifth function is a VRAM refresh function. The final sixth function is an interrupt receiving function from the serial interface 12e. The serial interface 12e reads data for display at regular intervals. Therefore, the random interface 12d receives an interrupt for address setting from the serial interface 12e. When this interrupt is received, priority is given to the serial interface 12e, the effector 12c is stopped, and the address is set. There is no control register in the random interface 12d, and an internal register is operated by a control signal from the effector 12c and the serial interface 12e.
[0090]
Next, DPCM encoding and DPCM decoding performed by the random interface 12d will be described. The composer 12f also performs DPCM decoding.
[0091]
First, DPCM encoding will be described with reference to FIGS. The encoding device 40 receives a transparent color detection unit 41 that detects a transparent color, a compression difference value generator 42, an output of the compression difference value generator 42, and a detection signal of the transparent color detection unit 41. The transparent color (= “63”, “62”) is input with the first transparent color conversion unit 43 that sets the difference value to 0 and the immediate value output of the transparent color detection unit 41 and the detection signal of the transparent color detection unit 41 In response, the second transparent color conversion unit 44 that converts the transparent color (“63”, “62”) to gray (= “32”) as an immediate value, the first transparent color conversion unit 43, and the second transparent color conversion unit 44 A local decoder 45 that inputs each output and outputs a value for generating a difference value to the compressed difference value generator 42 and an output of the compressed difference value generator 42 are input, and when the difference value is “0”, “−8”. The immediate value output from the first Z conversion unit 46 and the transparent color detection unit 41 is converted to “0”. If the output of the second Z conversion unit 47 for converting to “63” and the output of the first Z conversion unit 46 and displaying the difference value whatever the numerical value is transparent, The third transparent color conversion unit 48 that converts all the difference values to “0” and the output of the second Z conversion unit 47 are input, and if the immediate value is a transparent color (“63”, “62”), it is set to “0”. Each output of the fourth transparent color conversion unit 49 to be converted, the third transparent color conversion unit 48 and the fourth transparent color conversion unit 49 is input, and each value is output to the VRAM 16 and has a capacity of 2 bytes for speed conversion. And a buffer 50. The compression difference value generator 42 and the local decoder 45 constitute an encoder. In addition, RGB information is input to the buffer 50. Further, in FIG. 31 and FIG. 32, “transparent color” is simply replaced with “T” for display.
[0092]
Here, the encoder 42 includes a difference generation unit 51 that subtracts the output of the local decoder 45 from the output of the transparent color detection unit 41, and an FNLQ unit 52 having a nonlinear quantization conversion table (FNLQ) shown in FIG. . Further, the local decoder 45 includes an INLQ unit 53 having a nonlinear inverse quantization modification table (INLQ) shown in FIG. 30 for returning the quantized difference value to a representative difference, an output of the INCQ unit 53, and this Output from the second transparent color conversion unit 44, a decoding unit 54 that adds the output of the local decoder 45, a clip unit 55 that clips the output of the decoding unit 54 to 6 bits based on the table shown in FIG. And an output unit 56 for inputting the decoded immediate value and the decoded difference value output from the clip unit 55, and a register unit 57 for storing the three data of red, green, and blue input to the output unit 56. doing. The output unit 56 is given information indicating an immediate value and a difference value.
[0093]
When image data composed of 6 bits on the T plane, which has been decompressed and decoded by the decoder 12b, is input to the encoding device 40, the transparent color detection unit 41 first converts the data into a transparent color ("63", "62"). Is detected. The first incoming data is an immediate value, and the immediate value is input to the second transparent color conversion unit 44 and the second Z conversion unit 47. In the second transparent color conversion unit 44, if the immediate value is a transparent color, it is converted to “32” (= gray), and if it is the other, it is passed as it is and input to the local decoder 45. In this way, conversion to “32”, which is an intermediate value, results in image quality not degrading in relation to quantization, which will be described later, when the difference is made as small as possible, so the difference from other values is the smallest on average. It is an intermediate value. Note that “31” or another value slightly deviated from the middle may be used.
[0094]
On the other hand, the immediate value input to the second Z conversion unit 47 is converted to “63” when the value is “0”. The fourth transparent color conversion unit 49 converts the immediate value to “0” if the immediate value is a transparent color (“63”, “62”). When the immediate value is not “0”, “63”, or “62”, it passes as it is. Each immediate value is speed-converted by the buffer 50 and sent to the VRAM 16 by 1 byte (8 bits). In this way, the immediate transparent color on the VRAM 16 is set to “0” (the transparent color of the difference value on the VRAM 16 is also set to “0” as will be described later). This is because it is easy to debug. When such initialization with “0” is not performed, the first Z conversion unit 46 and the second Z conversion unit 47 are unnecessary.
[0095]
Subsequent to the immediate data, the difference data is input. The data is similarly 6 bits, and first, the transparent color detection unit 41 detects whether or not the color is transparent. Thereafter, the difference is input to the difference generator 51 of the compressed difference value generator 42 and the immediate value is subtracted. The value is a value between “−63” to “63” (= 127 types) as shown in the input value of FIG. That is, the value is 7 bits. This value is input to the FNLQ unit 52, quantized based on the table of FIG. 29, and output. This output value is “−7” to “7” (= 15 types) and is represented by 4 bits. This output value is input to the first transparent color conversion unit 43. Whatever the output value is, if the transparent color detecting unit 41 detects that the color is transparent, the first transparent color converting unit 43 converts it to “0”.
[0096]
The reason why the transparent color of the difference value is set to “0” in this way is in consideration of the property that neighboring pixels and the like are likely to be the same in the case of an image. For example, if the red values of three pixels are aligned with “30”, “30”, and “30”, if a transparent color is set at the center, the image data for the red portion is “30”, “63”, “30”. It becomes. When this is compressed normally, the difference between “63” and “30” becomes “33”, the output of the FLNQ section 52 becomes “7”, and the output of the INLQ section 53 becomes “40”. This value is “70” (= 30 + 40) at the time of decoding or by the local decoder 45 of the encoding device 40, but is clipped to “61”. The difference from the next “30” is “−31”, the output of the FNLQ unit 52 is “−6”, and the output of the INLQ unit 53 is “24”. As a result, the third value at the time of decoding or encoding is “37” (= 61−24), the pixel is different from the original “30”, and the image quality is deteriorated. On the other hand, if the difference value is “0” when transparent, the original difference value “7” becomes “0”, and the value for forming the third “30” difference value is still “30”. Thus, the difference value with respect to the value of the third value is also “0”. For this reason, when decoding the third value, “30” is decoded, and the image quality does not deteriorate. Thus, by setting the difference value of the transparent color to “0”, it is possible to prevent the image quality from being deteriorated.
[0097]
The output value of the FNLQ unit 52 that has passed through the first conversion unit 43 is input to a local decoder 45 that decodes a value that is a comparison value when the next difference value is generated. First, the INLQ unit 53 performs inverse quantization and outputs an output value represented by 7 bits “−40” to “40” shown in FIG. 30. The value and the value in the register 57 (this is the same as the value previously input to the difference generation unit 51) are added by the combination synthesis unit 54. Then, a value outside the range of “0” to “61” is clipped by the clip unit 55 and input to the output unit 56. The decoded value is stored in the register unit 57.
[0098]
Such an operation is performed for each of red, green, and blue, and four difference values are obtained. Each difference value generated and quantized by the FNLQ unit 52 is input to the first Z conversion unit 46. If the value is “0”, it is set to “−8”. The difference value that has passed through the first Z conversion unit 46 is converted to “0” by the third transparent color conversion unit 48 if the difference value is transparent. As a result, the values after the third transparent color conversion unit 48 are “−8” to “7” (= 16 types) and are represented by 4 bits. The difference value represented by 4 bits is input to the buffer 50, converted in speed, and sent to the VRAM 16 together with the immediate value in units of 1 byte (8 bits).
[0099]
A TDU of 5 pixels and 8 bytes formed by one immediate value and four difference values is sent to the VRAM 16 byte by byte. In this way, by repeatedly forming a TDU composed of one immediate value and four difference values and sending the TDU to the VRAM 16, it is possible to compress large-capacity image data and write it to the VRAM 16 in a fixed-length block.
[0100]
Next, DPCM decoding will be described based on FIG. 34 and FIG. The decoding device 60 includes a decoding buffer 61 having a capacity of 2 bytes, a decoding first transparent color detection unit 62 that detects a difference value on the VRAM 16 of “0” (= transparent color), A decoded second transparent color detection unit 63 that detects the immediate value “0” (= transparent color), a decoded first Z conversion unit 64 that returns the original value to “0” when the difference value is “−8”, and an immediate value A decoding second Z conversion unit 65 that returns the original value to “0” when “63” and “62”, and a decoding first transparent color conversion unit 66 that sets the difference value of the transparent color to “0” based on the transparent color detection; Based on the detection of the transparent color, the decoded second transparent color conversion unit 67 that sets the immediate value of the transparent color to “32” (= gray), and if the decoded color is a transparent color, it is displayed as “62” on the display unit 10 side. Decoding third transparent color conversion unit 68, decoding first transparent color conversion unit 66, and decoding second transparent color conversion And a decoder 69 for outputting a third transparent color conversion unit 68 decodes inputs the output 67. Note that RGB information is input to the decoding buffer 61. Further, in this embodiment, since the input difference value “0” is a transparent color, the decoding first transparent color conversion unit 66 has a role for ensuring reliability. It is what has been. Further, in FIG. 34 and FIG. 35, “transparent color” is simply replaced with “T” for display.
[0101]
The decoder 69 receives the output of the decoded first transparent color conversion unit 66, the INLQ unit 70 having the INLQ shown in FIG. 30, a decoding synthesis unit 71 that adds the output of the INLQ unit 70 and the already decoded value, and 33, the output of the clip unit 72 that performs the conversion shown in FIG. 33, the output of the clip unit 72 and the decoded second transparent color conversion unit 67, and the output to the decoded third transparent color conversion unit 68, and the output unit 73 And a register unit 74 for holding data from the. The decoder 69 has the same configuration as that of the local decoder 45 in the encoding device 40 except for the output portion to the decoded third transparent color conversion unit 68.
[0102]
The code extracted from the VRAM 16 is input to the decoding device 60. Since this code is extracted by performing byte access to the VRAM 16, it is in units of 1 byte (= 8 bits). The data is first input to the decoding buffer 61 and subjected to speed conversion.
[0103]
If the input code is an immediate value consisting of 6 bits, the decoded second transparent color detection unit 63 detects whether or not the immediate value is “0” (= transparent color). Thereafter, the decoding second Z conversion unit 65 converts “63” and “62” back to the original “0”. Next, based on the detection of the transparent color by the decoded second transparent color detecting unit 63, the decoded second transparent color converting unit 67 converts the value (= “0”) to “32” (= grey). . In this way, “63” and “62” are set to “0”, “0” is converted to “32”, and a value that passes without being converted is input to the output unit 73. Then, the data is input to the register unit 74 and input to the decoded third transparent color conversion unit 68. In the decoded third transparent color conversion unit 68, based on the transparent color detection of the decoded second transparent color detection unit 63, the immediate value is converted to “62” if it is a transparent color. That is, “32” (= gray) has a transparent color and an original gray color, and only the transparent color is converted to “62”. Do the above for each of the immediate red, green, and blue colors.
[0104]
Next, when a 4-bit difference value is input, the decoding first transparent color detection unit 62 first detects whether it is “0” (= transparent color). Thereafter, the decoding first Z conversion unit 64 converts “−8” back to the original “0”. Next, based on the detection of the transparent color by the decoding first transparent color detection unit 62, the decoding first transparent color conversion unit 66 performs conversion to reliably set the transparent color to “0” as a difference value. Then, the value thus converted and the value passed as it is are input to the decoder 69.
[0105]
The 4-bit difference value input to the decoder 69 is decoded by the same method as the local decoder 45 of the decoding device 40 described above. The decoded difference value is input to the decoded third transparent color conversion unit 68, and whatever the difference value is, it is converted to “62” if it is a transparent color.
[0106]
As described above, DPCM encoding and DPCM decoding are performed. In these, as described above, 90 bits of 5 pixels are compressed to a fixed length of 5 pixels and 8 bytes, so that even a small VRAM 16 can be written in a large amount and a table is not required when accessing the VRAM 16. In addition, since random access is possible, the VRAM 16 can be easily rewritten. In addition, in this embodiment, since compression and expansion are performed in units of 5 pixels, the access speed and compression efficiency are well balanced. Further, since all the transparent colors are set to “0” on the VRAM 16, when the VRAM 16 is initialized, if it is initialized with “0”, all the values pulled from the VRAM 16 at the first read modify write are “ 0 "becomes a transparent color. As a result, when the display unit 10 is debugged, it is easy to use the transparent color. That is, it is only necessary to initialize the entire VRAM 16 with “0”. Furthermore, in this DPCM encoding and DPCM decoding, the transparent color is reversible, and the image hardly changes. Further, in the DPCM calculation, the immediate value is calculated by “32” which is an intermediate value of the whole, and the difference value is calculated by “0” which holds the previous value. Can be minimized.
[0107]
Next, the serial interface 12e will be described. The serial interface 12e generates basic timing signals (such as a horizontal synchronization signal LHSYNC and a vertical synchronization signal LVSYNC) for display operation. These basic timing signals cannot be influenced by other functional blocks except for the reset operation. The timing signal generated by the serial interface 12e is the strongest reference signal in the dedicated graphic LSI 12. Another role of the serial interface 12e is to read image data from the VRAM 16 in accordance with the basic timing signal and the display mode. According to each display mode, reading is performed by combining several reading patterns. The synchronization signals (LHSYNC, LVSYNC) are generated internally and have the timing shown in FIG. In FIG. 36, one cycle (= 1H) of the horizontal synchronization signal LHSYNC is 1,850 clocks, and one cycle (= 1V) of the vertical synchronization signal LVSYNC is 270 lines. The timing pulse width (hs, vs) of each synchronization signal is 1 clock each. Further, the horizontal blank (H blank = hb) is not constant, and the vertical blank (V blank = vb) is 30 lines.
[0108]
The horizontal reading period by the serial interface 12e is formed by collecting a plurality of reading sequences (hereinafter referred to as VRS) to the VRAM 16. One VRS has 40 pixels as a basic unit. Therefore, as shown in FIG. 37, in the display mode having 320 pixels in the horizontal direction, eight times in one cycle (VRS0 to VRS7), and in the display mode having 160 pixels in the horizontal direction, four times in one cycle (VRS0 to VRS3). It becomes. Note that the content of the VRS differs depending on the set display mode.
[0109]
There is a multi-color transfer sequence (hereinafter referred to as MTS) in VRS. This MTS is a sequence for transferring multi-color sprite image data in the VRAM 16 to an output line buffer (not shown). The MTS output is used to transfer the multi-color sprite in advance to a line buffer (not shown) when displaying the multi-color sprite and the natural image sprite in an overlapping manner. VRS also includes a natural image display sequence (hereinafter referred to as TDS). This TDS is a sequence in which the natural image sprite data in the VRAM 16 and the multi-color sprite image data in the output line buffer are superimposed and output to the LCD. The relationship between MTS and TDS in each mode is as shown in FIG. FIG. 38 shows the basic read operation of MTS, and FIG. 39 shows the basic read operation of TDS. Even when there is no natural image sprite valid data in the VRAM 16, the data in the output line buffer is output to the LCD in TDS.
[0110]
Various registers also exist in the serial interface 12e. The display selection register (hereinafter referred to as a register DSPMOD) has eight register units and is used for selecting a display mode. The display mode is determined by setting an external pin and setting this register DSPMOD. That is, the stripe arrangement and the mosaic arrangement of the LCD are set by the external pins, the display modes are set in the DSPMOD, and the arrangement and the display mode are determined by combining them. The natural image display position register (hereinafter referred to as register TCPOS) has eight register units, and is effective when the display mode is mode LO (excluding LOa) or SO (excluding SOa). . When the display mode is mode LOb or SOb, the position of the line for starting the display of the T plane is specified. When the display mode is other than the modes LOa and LOb and when the display mode is other than the modes SOa and SOb, the T plane display is performed. The starting pixel position is specified. The ninth bit of the value written in this register TCPOS is also written in the previous register DSPMOD. Further, a sign bit for determining the sign of each value is written in one of the registers DSPMOD. A value from “−512” to “511” can be designated by the sign bit and each value. Further, the display command register (hereinafter referred to as register DSPCMD) has eight register units, and the following settings are made using three of these register units. The first is to request a change of the display bank by writing a flag. After the flag is written, the bank is switched at the next LVSYNC. After LVSYNC, the written flag will be dropped. The sign bit “1” represents the operating state and requests a change of the display bank. The second is a request for initialization of the M plane immediately after the display of the VRAM 16 in the operating state. The third is a request for initialization of the T plane immediately after the display of the VRAM 16 is completed in the operating state. The display status register (hereinafter referred to as register DSPSTT) has eight register units, and uses five register units, and is a status register that monitors the display status. Specifically, a register unit indicating whether or not the VRAM 16 is being cleared, a register unit indicating whether or not the display bank has been switched after the display bank switching instruction, and a display-related block (serial interface 12e and composer 12f) There are a register unit that permits writing to the register, a register unit that indicates a vertical blanking period, and a register unit that indicates a horizontal blanking period.
[0111]
Next, the composer 12f will be described. The composer 12f has a natural image fixed length DPCM decoding function. That is, the natural image sprite is written in the VRAM 16 after being compressed by the fixed length DPCM in units of 5 pixels and 8 bytes. The composer 12f has a function of DPCM decoding this. Note that the decoding algorithm is the same as that described for the random interface 12d. The composer 12f also has a pallet conversion function. That is, for multi-color sprites, a 6-bit code (MPN 2 bits + MCODE 4 bits) is converted into 15-bit color data (RGB each 5 bits) via the palette RAM. In addition, it has a superposition and blending function for multi-color sprites and natural image sprites.
[0112]
Here, the output of the blending operation is clipped to 6 bits. Further, when the display mode is mode L1 or S1, there is no M plane, and when the display mode is mode LE, there is no T plane. Therefore, it is necessary to regulate the default input. In these cases, the transparent color is selected as the default input. Further, the determination of the transparent color when the dot and the transparent color in the pixel unit are superimposed is performed in the dot unit for the T plane and in the pixel unit for the M plane. The handling is the same even in the mode in which the T-plane is doubled. The result of overlaying with the transparent color is as shown in FIGS. Here, FIG. 40 shows a case where the T plane including the transparent color is in front, and FIG. 41 shows a case where the M plane including the transparent color is in front.
[0113]
The composer 12f further performs exception processing in the line complement mode. For example, in the display mode that performs line complementation on the T plane, the complementing line is displayed shifted by one dot to the left with respect to the immediately preceding line. However, in this case, since the edge data protrudes or becomes insufficient as shown in FIG. 42, the processing at this time is discarded as shown in FIG. As shown in the figure, black ("0") is displayed at the right end. Furthermore, the correspondence to the pixel array of the LCD of the display unit 10 is performed as follows. When the display unit 10 is a liquid crystal with a stripe arrangement, the color is not rotated, and the color is rotated when a mosaic arrangement is selected. Further, at the time of decoding of the T plane, in the case of a liquid crystal with a mosaic arrangement, the position of the G dot (= green) is switched by the X and Y coordinates. In the case of a liquid crystal with a stripe arrangement, the position of the G dot is fixed.
[0114]
The register of the composer 12f is as follows. The palette RAM register (hereinafter referred to as register PALRAM) is a register for the palette RAM that stores the color palette for the M plane, and 32K colors can be specified with 5 bits for each of RGB. It has a capacity of 128 bytes (64 words). That is, two bytes are for one color. Specifically, as shown in FIG. 43, 15 bits of RGB (= 1 color) are represented by two register portions having even addresses and odd number addresses, and values corresponding to the colors are represented by 4 bits. It is MCODE. Sixteen MCODEs are gathered to form one MPN group. A total of 64 colors are displayed by four MPNs (MPN0 to MPN3). However, since each MCODE = 0 is transparent, the actual color is 15 × 4 = 60. The write value is 5 bits, but the specified value is 6 bits obtained by extending “0” to LSB.
[0115]
Other registers specify the output of overlapping parts of multi-color sprites and natural image sprites (selection of each M-plane, T-plane, blend image), and blending coefficients for multi-color sprites and natural-image sprites There are those that specify the blending coefficient with the background color, and those that store the background color. The background is 5 bits for each of RGB, and 32K colors can be specified. This write value is also 5 bits, but the specified value is 6 bits obtained by extending 0 to LSB.
[0116]
Each blending coefficient is designated for each surface on which each sprite is displayed. In this embodiment, the designation is performed by designating multicolor coefficients and natural image coefficients for each of the four virtual planes. The blending coefficients are all the same, and there are a total of 14 types of equidistant intervals starting from 0.0625 to 0.8750, and a total of 16 types of 0.0000 and 1.000.
[0117]
As described above, this dedicated graphic LSI 12 has a function of stepwise enlargement / reduction at the same time in the vertical direction, the horizontal direction, and the vertical direction, a multi-screen display priority function capable of inserting the T plane into any M plane, and the T plane. It has various functions such as blending function to blend with arbitrary plane of M surface or blend with background color, mask function to apply rectangular mask, vertical stripe / horizontal stripe mask, blind mask etc. when writing to VRAM 16 It has become.
[0118]
Then, the dedicated animation data 7 of this system is created in the order as shown in FIG. The specific image sprite is generated from the specific image data as the original data 21 using the animation generation software 3 that can constitute a commercially available scenario or the like. The original data 21 is often created by other image creation software 22. The original data 21 is processed to create specific image data 23. Similarly, related display data 24 for displaying a specific image is created. The specific image data 23 and the related display data 24 are put in the conversion software 6.
[0119]
On the other hand, in the same manner for multi-color sprites and natural image sprites, original data 25 is created by other image creation software 22, and sprite image data serving as the original data 25 is processed by animation creation software 3. 26 is created. This is similarly put in the conversion software 6 and processed together with the previous data 23 and 24 to create dedicated animation data 7. The dedicated animation data 7 is also referred to as character generator ROM data. The dedicated animation data 7 is converted into a ROM to obtain a ROM 8.
[0120]
The conversion software 6 takes in the specific image data 23, the related display data 24, and the animation data 26. Then, the conversion software 6 (1) determines the combination of animation sequences in which each sprite is displayed (animation framing process), (2) adjusts and assigns the animation palette determined in the animation framing process, (3) specific Creates data such as designation of image-related characteristics. The data creation process can be automatically performed when data is input in the animation creation software 3 based on a predetermined instruction and the data is processed by the conversion software 6.
[0121]
The conversion software 6 automatically performs the following processing to generate the dedicated animation data 7. That is, (4) generation of compressed image data for the image data unit 8c to be captured and processed by the video display processor unit in the dedicated graphic LSI 12, (5) encoding of sound data, (6) CPU memory 11 is programmed Generation of data for the external processor control data unit 8a for capturing and processing by a program stored in the ROM 13, and (7) an internal processor control program unit 8b for capturing and processing by the small processor unit 12a in the dedicated graphic LSI 12 For example, generation of a program for the user, and (8) memory arrangement in the ROM 8 are performed. In this embodiment, the sound data (5) is not encoded, but the conversion software 6 can also generate the data. In this way, the conversion software 6 converts the data input to the animation creation software 3 into the dedicated animation data 7 by rearranging, reordering, replacement, and compression. Here, the expression change is to change the format and value to be expressed as data without changing the contents. The replacement is a new expression that combines a limited expression when expressing a specific function. Is to achieve this.
[0122]
Further, the data for the external processor control data portion 8a of (6) is data that the CPU memory 11 and the program ROM 13 operate by looking at this data, and is a kind of control data. The program and data for the internal processor control program section 8b of (7) are data for controlling the movement of a series of sprites for one screen, and this data in the ROM 8 is viewed by the dedicated graphic LSI 12 Based on the result, the sprite is operated. As described above, in this embodiment, the CPU memory 11 instructs the dedicated graphic LSI 12 to “see the address in the ROM 8 and follow the instruction of that portion”, and based on the instruction, the dedicated graphic LSI 12 Sees the ROM 8 and executes processing in accordance with the address portion in the ROM 8.
[0123]
This animation data 26 is described along the time of sprite movement, sprite appearance and disappearance, sprite enlargement / reduction, palette data (= color) change, and a plurality of sprite contexts as shown in FIG. It has become. In addition, when the animation data 26 is displayed up to the last frame for each screen, it is possible to instruct whether to return to the beginning, continue to display the last frame, or stop displaying the animation screen. It is like that.
[0124]
Specifically, each sprite operates according to an automatic execution procedure called “scenario” in the data in the ROM 8, that is, the animation data 26. In other words, it operates according to the scenario in the external processor control data section 8a of the ROM 8. This scenario proceeds in units of 1/25 seconds in this embodiment. An overlay scenario is also included in the animation data 26.
[0125]
That is, each sprite sequence is a scenario, and these scenarios and the scenarios related to the drawing priority of each sprite shown in FIGS. 8 and 9 are combined to complete one animation. On the other hand, when this relationship is viewed from the frame 20, each moment of each scenario corresponds to the frame 20, and a collection of scenarios of each sprite corresponds to time control of the frame 20. The scenario has an interrupt scenario function, and after changing the scenario, it is possible to return to the place where the original scenario was interrupted. In a specific display example, this is equivalent to returning to the original display after displaying a display such as a pigeon that informs the time of noon or a train display 10 minutes before departure on the guidance display machine. To do.
[0126]
Each animation screen, that is, each frame 20 can be displayed at a predetermined progress speed, and an interruption animation can be applied to each animation screen. Furthermore, on each animation screen, sprites of any size can be displayed at any number and in any position with any display priority.
[0127]
In addition, as described above, blend processing display of each multi-color sprite (including a specific image sprite) and a natural image sprite is possible. Here, the blending process refers to a process in which a natural image sprite and other sprites are mixed and displayed and look like a translucent picture. This is because the sprite written previously by the overwritten sprite usually disappears, but in this blending process, it is in a mixed state. This blending process can change the blending ratio. For example, by gradually changing the blending ratio, it is possible to bring out an effect that makes it rise from the bore or disappears. It can be done. Since this blending process is turned on / off for each sprite, when a certain sprite is turned on, the sprite becomes translucent with respect to the natural image sprite, that is, mixed. The degree of translucency (= blend coefficient) can be specified for each surface on which sprites are displayed, and the value can be specified by 14-stage blend coefficients excluding 0.0000 and 1.0000. . These 14 stages are 14 types because 2 of 16 types of 4 bits are assigned to the switch function. Note that the blend coefficient stage is preferably in the range of 10 to 32 stages because liquid crystal that is difficult to produce is used as the display unit 10.
[0128]
The image compression of each sprite is as described above, and has the following configuration. First, each sprite is 16 pixels wide, and the vertical is divided into compression units of arbitrary pixels and compressed. This is to reduce the number of hardware gates. Note that the image data may be compressed by being divided into 16-pixel compression units in the horizontal and vertical directions. The division into these compression units is performed by the conversion software 6.
[0129]
The compression of each multi-color sprite is a two-dimensional lossless compression using a parallel arithmetic compression method. On the other hand, natural image sprites are irreversible compression that almost returns to the original data when decoded. This is because the natural image sprite has a large number of colors, so even if the color reproducibility is slightly reduced, there is no significant influence, and the compression rate is emphasized.
[0130]
Next, a cooperative operation among the CPU memory 11, the dedicated graphic LSI 12, and the program ROM 13 will be described.
[0131]
This cooperative operation has two modes, a passive mode and an active mode. Here, the passive mode refers to a mode in which the dedicated graphic LSI 12 operates in accordance with an instruction from the external CPU memory 11 or the like, and the active mode refers to a mode in which the dedicated graphic LSI 12 operates independently using the internal small processor unit 12a. Pointing. In the active mode, the CPU memory 11 is not used, the internal processor control program unit 8b stored in the ROM 8 is sequentially interpreted to display continuous images, and a simple dialog is provided by an event response function (= keyboard input or the like) described later. It has become possible to have sex. In the passive mode, the time progress and the display image (= animation) are managed by an external controller, that is, the CPU memory 11 in this embodiment. In this passive mode, the processor unit 12a can also be used to generate a series of sprite images in a frame.
[0132]
The dedicated player 9 shown in FIG. 2 has a CPU memory 11 for controlling the dedicated graphic LSI 12 and is a device that operates in a passive mode. A device that is not such a dedicated player 9, that is, a device that does not have a function of controlling a dedicated graphic LSI such as the CPU memory 11, is a device that operates in the active mode.
[0133]
First, an outline of the passive mode operation will be described. The CPU memory 11 interprets the data in the ROM 8 or the command string input from the external information source 14 and drives the dedicated graphic LSI 12. A command analysis program is stored in the program ROM 13. The small processor unit 12a of the dedicated graphic LSI 12 uses the animation data 26, the specific image data 23 and the related display data 24 stored in the ROM 8, that is, the frame instructed from the CPU memory 11 using the scenario data and the image (sound) data. Generate an image of On the other hand, the CPU memory 11 receives a command from the external information source 14 and drives the dedicated graphic LSI 12 to display the specific image for displaying the specific image in the specific image sprite.
[0134]
This passive mode is a set of the following programs. The execution control of each program is performed by the small processor unit 12a, and each program is terminated by a stop (HALT) instruction.
[0135]
(1) Title initialization program (finished with HALT)
(2) Frame drawing program
(1) Frame initialization program
(2) Back frame drawing program (finished with HALT)
B) Image unit initialization program
B) Image unit drawing program
a) Single sprite drawing program
(3) Front frame drawing program (finished with HALT)
B) Image unit initialization program
B) Image unit drawing program
a) Single sprite drawing program
(4) Display parameter set / display program (end with HALT)
In this passive mode, the CPU memory 11 manages the progress of each frame 20. The CPU memory 11 instructs the small processor unit 12a of the dedicated graphic LSI 12, sets a drawing program start address, and instructs execution start. The small processor unit 12a accesses the ROM 8, reads data therein, and issues an execution instruction to the video display processor unit for execution. Thereafter, the CPU memory 11 waits for the completion of the execution of the drawing program by polling the state of the small processor unit 12a of the dedicated graphic LSI 12. The small processor unit 12a automatically executes a series of drawing programs and stops when the last stop (HALT) instruction is executed. On the other hand, the frame progression (= scenario) of each sprite is stored as animation data 26 in the external processor control data section 8a of the ROM 8, and the CPU memory 11 executes the scenario at appropriate times while analyzing the structure of the animation data 26. To do.
[0136]
After instructing the small processor unit 12a, the CPU memory 11 is executing other processing or is suspended, and when the small processor unit 12a finishes the process, the CPU memory 11 again sends the small processor unit 12a to the small processor unit 12a. Give an order. The animation is executed by repeating this. Thus, in the passive mode, the CPU memory 11 manages the time including the progress and repeat of the frame 20, while the small processor unit 12a of the dedicated graphic LSI 12 has a function of drawing each sprite. Here, the CPU memory 11 also performs control to operate each frame at intervals of 1/25 seconds.
[0137]
On the other hand, the small processor unit 12a instructs the video display processor unit and notifies the start of work by, for example, a go command. The video display processor unit takes in the compressed image data from the ROM 8. Meanwhile, the small processor unit 12a waits for the work of the video display processor unit to end. In this way, the small processor unit 12a controls the video display processor unit.
[0138]
Such a relationship is shown in FIGS. The CPU memory 11 reads data relating to the scenario from the external processor control data unit 8a of the ROM 8, and instructs the small processor unit 12a of the dedicated graphic LSI 12 to read and execute the display program in the frame 20. The small processor unit 12a accesses the ROM 8, reads the display program from the internal processor control program unit 8b, and instructs the video display processor unit to capture image data based on the program. Based on this instruction, the video display processor unit takes in the compressed image data from the image data unit 8 c of the ROM 8. Of the exchanges with the ROM 8, it takes the longest time to capture the compressed image data. For display relating to a specific image, the CPU memory 11 directly controls the video display processor unit.
[0139]
When the ROM 8 is incorporated into the dedicated player 9 in the passive mode, first, the title initialization program operates. This title initialization program is executed only once for each different ROM 8 at the beginning of incorporation, and the display mode setting, the display mode specification of the natural image sprite, and the color condition set according to the panel of the display unit 10 are set. Made. A similar title initialization program is executed in the active mode.
[0140]
After that, the specific movement of the passive mode is as follows. First, the sprite drawing program will be described based on the flow shown in FIG. When starting, the parameters read from the ROM 8 are set in the effector 12c and initialization is performed. When the initialization is completed, the sprite decoding to the display unit 10 is started. Then, drawing of one sprite is completed upon completion of decoding. This is similarly performed for the other sprites. The data read from the ROM 8 is stored in the VRAM 16 for two screens, and predetermined data is read from the VRAM 16 to the serial interface 12e.
[0141]
Next, a drawing program for each frame 20 (= 1 screen) will be described. This frame drawing program is composed of a back frame drawing program and a front frame drawing program. Here, the back frame refers to a group of sprites that exist further in the back than the group of sprites that the CPU memory 11 itself draws by controlling the video display processor unit of the dedicated graphic LSI 12. The CPU memory 11 refers to a collection of sprites that are further in front of the collection of sprites that are drawn by controlling the video display processor unit of the dedicated graphic LSI 12 by itself.
[0142]
Typically, the back frame, eg, one of the multicolor sprites, is drawn, then the specific image sprite is drawn, and finally the front frame, eg, the other one of the multicolor sprites, is drawn. The use of each sprite at the time of drawing can be changed as appropriate. In this embodiment, the display of a specific image, for example, time, is uniquely controlled, and thus is directly controlled by the CPU memory 11. That is, normally, when the start address in the ROM 8 is designated by the CPU memory 11, the frame drawing program starts to operate, and the subsequent processing is managed by the small processor unit 12a, but the specific image display of the specific image sprite is performed. Only the CPU memory 11 directly executes.
[0143]
The drawing of the back frame is executed by drawing as many sprites as basic unit objects having display surface attributes as they exist in the frame 20 (see FIG. 49). In the drawing of each sprite, the parameter of the effector 12c is first set. The relationship between the CPU memory 11, the dedicated graphic LSI 12 and the data in the ROM 8 and the specific drawing operation are as shown in FIG.
[0144]
As shown in FIG. 50, the front frame drawing waits for the switching timing of the display unit 10 after drawing the sprite. In other words, an INH (prohibition) determination step for determining whether or not it is a time zone in which data for display parameter setting may be transmitted is included. If it is a time zone that can be transmitted, the predetermined portion of the image data stored in the VRAM 16 is transmitted to the serial interface 12e, and the effector 12c sets parameters and switches the display screen. Then, the image data for the second display screen stored in the VRAM 16 is sent to the display unit 10. If it is in the transmission prohibition state, it waits until it is a time slot that can be transmitted. When only one screen is drawn, a back frame drawing flowchart and a drawing process step between back and front drawing described later are not necessary, and only the flow shown in FIG.
[0145]
A series of flows that summarize the drawing flowcharts shown in FIGS. 48 to 50 are shown in FIGS. 51 and 52. First, when starting, a command for clearing the VRAM 16 is issued, and the VRAM 16 is cleared. Thereafter, the process enters a step of drawing a sprite in which a plurality of sprites are gathered. First, the “sprite initialization parameter set” step in which “parameter set” and “initialization start” in FIG. 48 are integrated is performed. Next, a “sprite drawing parameter set” step for setting parameters for drawing the sprite is executed. Thereafter, a drawing command is input, and when the input is confirmed, a back frame drawing flow shown in FIG. 49 is executed. Then, after drawing a necessary number of sprites, drawing is stopped by a stop (HALT) command.
[0146]
Here, in initialization at the time of sprite drawing, each parameter of the blind mask and the simple mask window is set in the effector 12c. In the sprite drawing parameter set, parameters of the writing window, parameters for image compression and enlargement, palette numbers to be used, and the like are set in the effector 12c. Here, a blind mask is a mask like a blind attached to a window, and only a portion overlapping with the blind mask is drawn. A simple mask is a rectangular mask that is only inside or outside this simple mask. It will be drawn.
[0147]
After the back frame drawing is completed, the CPU memory 11 directly controls the video display processor unit of the dedicated graphic LSI 12 to draw the sprite. In this embodiment, the CPU memory 11 directly performs control processing for drawing a specific image sprite.
[0148]
Thereafter, front frame drawing starts. Then, first, “sprite initialization parameter set” and “sprite drawing parameter set” similar to FIG. 51 are performed. When a drawing command is input and confirmed, a front frame drawing flow shown in FIG. 50 is executed. If the “accessibility” determination step, which is the “INH” step in FIG. 50, is OK, display parameters are set in the serial interface 12e and the composer 12f. Examples of the display parameter include a natural image sprite display position and a blend coefficient in blend processing. After the display parameters are set, the display banks, that is, two banks in the VRAM 16 are switched at a timing at which the screen does not flicker and stopped.
[0149]
Next, the operation in the active mode will be described. This active mode is a mode performed when there is no control unit such as the CPU memory 11 for controlling the dedicated graphic LSI 12. For this reason, a self-propelled application is used. The program is composed of the following sets of programs, and each program voluntarily transfers control. That is, since no stop (HALT) is designated for each program, the program is executed permanently.
[0150]
(1) Title initialization program (same as passive mode)
(2) Frame drawing program
(1) Frame initialization program (same as passive mode)
(2) Drawing program (similar to passive mode)
(3) Display parameter set / event processing program
The active mode is executed by these programs.
[0151]
What is special in the active mode is an event processing program, which specifically performs the following processing at the timing of switching the display screen after the drawing program ends. That is, there are three types: a) waiting for time (frame dropping), b) sound synchronization (waiting for the end of reproduction), and c) branching by I / O port input. It is also possible to combine these events.
[0152]
Here, waiting for time (frame dropping) is to display the same image for a predetermined time (this time is set in units of vertical synchronization time). Sound synchronization (waiting for the end of playback) is to hold display switching until the sound that has been playing on a certain screen is finished. The I / O port input allows an operation instruction to the dedicated graphic LSI 12 to be input via the I / O port, and branches to a predetermined program depending on an 8-bit input state. This branch is executed after the display is switched. Examples of this I / O port input include a “0” bit input that allows you to jump over other animations, hold the current screen until any key is input, or display a menu-like display. It is something to do.
[0153]
The above-described embodiment is an example of a preferred embodiment of the present invention, but is not limited thereto, and various modifications can be made without departing from the scope of the present invention. For example, in the above-described embodiment, an image display system and an image display device for a guidance display device are shown. However, the present invention is not limited to other image display systems and image display devices such as an amusement machine, a vending machine, a first display device, and the like. It can also be applied to menu devices at food stores. In addition, as a configuration of the display screen, various screen configurations such as only a multi-color sprite or only a natural image sprite can be appropriately adopted instead of a screen composed of a plurality of sprites having different properties.
[0154]
Further, instead of distributing the ROM 8 as in the above-described embodiment, a flash memory or a one-time programmable ROM (OTP) is provided in the dedicated player 9, and a writing tool such as a personal computer or a writing adapter is used. Data corresponding to the ROM 8 may be written in the flash OTP. In this case, the portion corresponding to the program ROM 13 may be handled by an external host (not shown), and the host and the CPU memory 11 may exchange data via the interface. The present invention can be applied to various image display devices and image display systems in addition to the devices that have made such changes.
[0155]
Furthermore, in addition to ROM 8, various distribution methods such as a wireless system using a pager line or a communication satellite, a wired system using an optical fiber used for a digital line such as ISDN or CATV, etc., as well as ROM 8 are distributed. Can be adopted as appropriate.
[0156]
Further, the number of pixels of the block to be fixed-length compressed is not five, but may be four or less, or may be six or more. In consideration of the access speed and compression efficiency, 4 or more and 64 or less are preferable. Further, the block may be a block in which pixels are arranged in a plurality of columns in the vertical and horizontal directions, for example, a block composed of 64 pigments in 8 columns in the vertical and horizontal directions, instead of the blocks in which the pixels are arranged in one column. The natural image to be fixed-length compressed is not composed of 6 bits each of R, G, and B, but may be a natural image composed of other numerical bits. However, in consideration of the compression rate, it is preferable to apply to each of R, G and B colors having 4 bits or more.
[0157]
Furthermore, the DRAM 16 may have a one-bank configuration instead of a two-bank configuration, or a bank configuration of three or more banks. Further, the unit of the block in the case of a multi-color image is not limited to 4 pixels and 3 bytes, but may be a block having a different number of pixels. Furthermore, one pixel of a multi-color image may be other bits such as 3 bits or 5 bits instead of 4 bits and 16 colors. In addition, when the configuration of the M plane is one, the MPN portion in the multi-color data unit (MDU) may be eliminated.
[0158]
In addition, when performing irreversible fixed-length compression to the VRAM 16, a transparent color is assigned to one of the data and this transparent color is made reversible. Other compression methods such as length and DCT may be employed. Further, a non-reversible nonlinear DPCM is employed when writing to or reading from the VRAM 16, but the immediate value representing the transparent color is set to an intermediate value, for example, gray, or the difference value representing the transparent color is set to “0”. It may be applied to reversible DPCM.
[0159]
【The invention's effect】
As described above, in the invention described in each claim, since the handling of the transparent color has been devised, it is not necessary to add a bit plane for the transparent color, and the DPCM can be efficiently compressed and expanded. Even if irreversible compression is performed, the image quality is not deteriorated.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining an image display system and an image display apparatus of the present invention.
FIG. 2 is a diagram illustrating a detailed configuration of the image display apparatus in FIG. 1;
3 is a diagram showing a configuration of a dedicated graphic LSI used in the image display device of FIG. 2. FIG.
4A and 4B are diagrams for explaining the configuration and operation of a dedicated graphic LSI used in the image display apparatus of FIG. 2, in which FIG. 4A is an outline thereof, and FIG. 4B is a specific example of a specific structure and operation; It is a figure for demonstrating.
5A and 5B are diagrams for explaining a data structure in the ROM 8 of FIG. 1, FIG. 5A is a diagram showing a data structure, and FIG. 5B is a diagram for explaining a role of a scenario data section;
6 is a diagram for explaining the relationship between dedicated animation data and firmware in FIG. 1; FIG.
7 is a diagram showing a configuration of a display screen of the image display device of FIG. 1. FIG.
FIGS. 8A and 8B are diagrams illustrating the relationship between the multi-color sprite and the specific image sprite of FIG. 7, in which FIG. 8A illustrates a specific image top mode in which the specific image sprite is arranged in the front row, and FIG. The specific image second mode arranged at the second position is shown, and (C) shows the specific image bottom mode where the same sprite is arranged in the last row.
FIG. 9 is a diagram illustrating a state in which the natural-image natural image sprites of FIG. 7 are arranged at respective locations.
10A and 10B are diagrams for explaining the image display state of the natural image sprite shown in FIG. 7, in which FIG. 10A shows a mosaic arrangement in units of 3 dots in both the horizontal and vertical directions, and FIG. It is a figure which shows the stripe arrangement | sequence which displays a vertical direction per 1 dot unit per 3 dots.
11 is a diagram for explaining basic timing by the dedicated graphic LSI of FIG. 3; FIG.
12 is a list of types and contents of display modes of the pixel display device of FIG. 2; FIG.
13 is a diagram showing each display mode and its display state of the image display device of FIG. 2, wherein (A) is a mode LOa, (B) is a mode LOb, (C) is a mode LI, and (D) is a mode LE. FIG.
14 is a diagram showing each display mode and its display state of the image display device of FIG. 2, in which (A) shows mode SOa, (B) shows mode SOb, and (C) shows mode SI. is there.
15 is a diagram showing the relationship between each display mode and the VRAM format of the image display device of FIG. 2, in which (A) shows a mode LOa and mode LOb, and (B) shows a mode LI.
16 is a diagram showing the relationship between each display mode and the VRAM format of the image display device of FIG. 2, and is a diagram showing the case of mode LE. FIG.
17 is a diagram showing the relationship between each display mode and the VRAM format of the image display device of FIG. 2, in which (A) shows mode SOa and mode SOb, and (B) shows mode SI.
18 is a diagram for explaining a configuration of a multi-color data unit (MDU) for multi-color sprites handled by the VRAN of the image display apparatus of FIG. 2;
19 is a diagram for explaining the arrangement of MDUs on the VRAM of the image display apparatus of FIG. 2;
20 is a diagram for explaining a configuration of a natural image data unit (TDU) for natural image sprites handled by the VRAM of the image display device of FIG. 2;
FIG. 21 is a diagram for explaining the arrangement of TDUs on the VRAM of the image display device of FIG. 2;
22 is a diagram for explaining expansion of an immediate value (IPIX) in the configuration of a natural image data unit (TDU) for natural image sprites handled by the VRAM of the image display device of FIG. 2;
23 is a virtual write area diagram for explaining a virtual write function of an effector in the dedicated graphic LSI of FIG. 3;
24 is a diagram showing a list of relationships between each display mode of the image display apparatus of FIG. 2 and the X size of an effective display area.
25 is a diagram for describing data writing and rectangular mask designation, which are one of the functions of the effector in the dedicated graphic LSI of FIG. 3; FIG.
FIG. 26 is a diagram for explaining a writable area of a rectangular mask that is one of the functions of the effector in the dedicated graphic LSI of FIG. 3;
27 is a diagram for explaining a blind mask designation method which is one of the functions of the effector in the dedicated graphic LSI of FIG. 3; FIG.
FIG. 28 is a diagram illustrating an example of an enlargement / reduction designation method which is one of the functions of the effector in the dedicated graphic LSI of FIG. 3;
29 is a diagram showing a non-linear quantum conversion table (FNLQ) used for fixed-length compression, which is one of the functions of the effector in the dedicated graphic LSI of FIG. 3. FIG.
30 is a diagram showing a nonlinear inverse quantum conversion table (INLQ) used for fixed-length compression and decompression, which is one of the functions of the effector in the dedicated graphic LSI of FIG.
31 is a diagram showing a configuration of an encoding device provided in a random interface in the dedicated graphic LSI of FIG. 3;
32 is a table listing the operation contents of each component of the encoding device in FIG. 31. FIG.
33 is a diagram illustrating input / output values of a clip unit in the encoding device in FIG. 31 and the decoding device in FIG. 34;
34 is a diagram showing a configuration of a decoding device provided in a random interface in the dedicated graphic LSI of FIG. 3. FIG.
35 is a table listing the operation contents of each component of the decoding device in FIG. 34. FIG.
36 is a diagram for explaining a synchronization signal of a serial interface in the dedicated graphic LSI of FIG. 3, in which (A) is a diagram showing a horizontal synchronization relationship, and (B) is a diagram showing a vertical synchronization relationship.
FIG. 37 is a diagram for explaining a VRAM read sequence of the serial interface in the dedicated graphic LSI of FIG. 3;
38 is a diagram for explaining a multi-color transfer sequence of a serial interface in the dedicated graphic LSI of FIG. 3;
39 is a diagram for explaining a natural image display sequence of a serial interface in the dedicated graphic LSI of FIG. 3;
40 is a diagram showing the overlay with the transparent color of the composer in the dedicated graphic LSI of FIG. 3, and is a diagram showing a case where the T plane is in front.
41 is a diagram showing the overlay with the transparent color of the composer in the dedicated graphic LSI of FIG. 3, and is a diagram showing the case where the M-plane is in front.
42 is a diagram showing edge processing in the line complement mode of the composer in the dedicated graphic LSI of FIG. 3, in which (A) shows the left edge processing and (B) shows the right edge processing.
43 is a diagram showing a configuration of a palette RAM in the dedicated graphic LSI of FIG. 3. FIG.
44 is a diagram showing a procedure for creating the dedicated animation data of FIG. 1. FIG.
45 is a diagram for explaining a function of animation data in the dedicated animation data shown in FIG. 1. FIG.
46 is a diagram showing a cooperative relationship among the ROM, the CPU memory, the small processor unit and the video display processor unit of the dedicated graphic LSI shown in FIG.
47 is a diagram showing an operation state of the CPU memory, the small processor unit, and the video display processor unit shown in FIG. 2;
48 is a sprite drawing flowchart in the flow executed by the dedicated player shown in FIG. 2. FIG.
49 is a back frame drawing flowchart in the flow executed by the dedicated player shown in FIG. 2. FIG.
FIG. 50 is a front frame drawing flowchart in the flow executed by the dedicated player shown in FIG. 2;
51 is a flowchart of frame initialization and back frame drawing executed by the dedicated player shown in FIG. 2. FIG.
FIG. 52 is a flowchart of front frame drawing and display executed by the dedicated player shown in FIG. 2;
[Explanation of symbols]
1 PC for creating animation
2 Basic OS
3 Animation scenario creation software
4 Basic picture
5 Anime data
6 conversion software
7 Dedicated animation data
8 ROM
9 Dedicated player
10 Display section
11 CPU memory
12 Dedicated graphic LSI
12a Small processor
12b decoder (part of the video display processor)
12c Effector (part of video display processor)
12d random interface (part of video display processor)
12e Serial interface (part of video display processor)
12f composer (part of video display processor)
13 Program ROM
16 VRAM
19 Display LSI
41 Transparent color detector
42 Compression difference generator
43 First transparent color converter
44 Second transparent color converter
45 Local decoder
62 Decoding first transparent color detector
63 Decoding second transparent color detection unit
66 Decoding first transparent color conversion unit
67 Decoding second transparent color conversion unit
68 Decoding third transparent color conversion unit
69 Decoder

Claims (24)

各色に対応してそれぞれ割り当てられたデータが複数集まって構成される画像用データを非可逆圧縮して符号化する画像用データの符号化方法において、
前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成し、
前記複数のマルチカラースプライト面のうち任意の1つを透明色に割り当てると共に、その透明色を可逆としたことを特徴とする画像用データの符号化方法。
In the method for encoding image data, the image data is configured by irreversibly compressing and encoding image data composed of a plurality of data assigned to each color.
A plurality of multi-color sprite surfaces and natural image sprite surfaces are configured with the image data,
An image data encoding method, wherein any one of the plurality of multi-color sprite surfaces is assigned to a transparent color and the transparent color is reversible.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、
前記透明色を可逆とするに際し、前記透明色を表す上記即値と上記差分値とを可逆としたことを特徴とする請求項1記載の画像用データの符号化方法。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value,
2. The image data encoding method according to claim 1, wherein when the transparent color is made reversible, the immediate value representing the transparent color and the difference value are made reversible.
前記透明色を表す即値を、各色のデータ値の中間の値とし、前記透明色を表す差分値を「0」としたことを特徴とする請求項2記載の画像用データの符号化方法。  3. The image data encoding method according to claim 2, wherein the immediate value representing the transparent color is set to an intermediate value between data values of the respective colors, and the difference value representing the transparent color is set to “0”. 前記自然画スプライト面に対応する画像用データを即値とその即値に続く複数の差分値とで構成し、
前記透明色を表す上記即値を、各色のデータ値の中間の値としたことを特徴とする請求項1記載の画像用データの符号化方法。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value,
2. The image data encoding method according to claim 1 , wherein the immediate value representing the transparent color is an intermediate value between data values of the respective colors.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、
前記透明色を表す上記差分値を「0」としたことを特徴とする請求項1記載の画像用データの符号化方法。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value,
The image data encoding method according to claim 1, wherein the difference value representing the transparent color is set to “0”.
前記差分値を圧縮し、1つの即値と複数かつ所定数の前記圧縮された差分値からなる固定長ブロックを形成し、その固定長ブロックを単位としてビデオRAMへ書き込むようにしたことを特徴とする請求項2、3、4または5記載の画像用データの符号化方法。  The difference value is compressed to form a fixed-length block composed of one immediate value and a plurality of a predetermined number of the compressed difference values, and the fixed-length block is written as a unit to the video RAM. 6. The method for encoding image data according to claim 2, 3, 4, or 5. 各色に対応してそれぞれ割り当てられたデータが複数集まって構成される画像用データを非可逆圧縮して符号化する画像用データの符号化装置において、
前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成し、
前記複数のマルチカラースプライト面のうち任意の1つを透明色に割り当てると共に、その透明色を可逆としたことを特徴とする画像用データの符号化装置。
In an image data encoding apparatus for irreversibly compressing and encoding image data constituted by a collection of a plurality of data respectively assigned corresponding to each color,
A plurality of multi-color sprite surfaces and natural image sprite surfaces are configured with the image data,
An image data encoding apparatus, wherein any one of the plurality of multi-color sprite surfaces is assigned to a transparent color and the transparent color is reversible.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を非可逆圧縮して符号化する画像用データの符号化装置において、
透明色を表す上記即値と上記差分値とを可逆としたことを特徴とする請求項7記載の画像用データの符号化装置。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data encoding device encodes these values by irreversible compression.
8. The image data encoding apparatus according to claim 7, wherein the immediate value representing the transparent color and the difference value are reversible.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を符号化する画像用データの符号化装置において、
透明色を表す上記即値を、各色のデータ値の中間の値としたことを特徴とする請求項7記載の画像用データの符号化装置。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data encoding device encodes these values.
8. The image data encoding apparatus according to claim 7 , wherein the immediate value representing the transparent color is an intermediate value between the data values of the respective colors.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を符号化する画像用データの符号化装置において、
透明色を表す上記差分値を「0」としたことを特徴とする請求項7記載の画像用データの符号化装置。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data encoding device encodes these values.
8. The image data encoding apparatus according to claim 7, wherein the difference value representing a transparent color is set to “0”.
前記自然画スプライト面に対応する前記画像用データを即値とその即値に続く複数の差分値とで構成し、それらの値を非可逆圧縮して符号化する画像用データの符号化装置において、
入力されてくる画素が透明色か否かを検出する透明色検出部と、即値が透明色のとき、その値を中間値となる灰色の値に変換すると共にその他の値を通過させる第2透明色変換部と、即値に続く差分値を形成すると共に非線形量子化する圧縮差分値生成器と、
生成された差分値がどのような値であろうとその色が透明色であるとその差分値を「0」とすると共に他の色であるときはその差分値を通過させる第1透明色変換部と、
上記第2透明色変換部からの即値および上記第1透明色変換部からの差分値とを入力し差分値発生用の値を生成し、上記圧縮差分値生成器に入力させると共に入力してきた差分値に加え合わせる局部復号器とを有することを特徴とする請求項7記載の画像用データの符号化装置。
The image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data encoding device encodes these values by irreversible compression.
A transparent color detection unit that detects whether or not the input pixel is a transparent color, and a second transparency that, when the immediate value is a transparent color, converts the value to a gray value that is an intermediate value and passes other values A color conversion unit, a compression difference value generator that forms a difference value following the immediate value and performs nonlinear quantization,
Whatever the generated difference value is, a first transparent color conversion unit that sets the difference value to “0” if the color is a transparent color and passes the difference value if it is another color When,
The immediate value from the second transparent color conversion unit and the difference value from the first transparent color conversion unit are input to generate a value for generating a difference value, which is input to the compressed difference value generator and the input difference 8. The image data encoding apparatus according to claim 7 , further comprising a local decoder for adding to the value.
前記差分値を圧縮し、1つの即値と複数かつ所定数の前記圧縮された差分値からなる固定長ブロックを形成し、その固定長ブロックを単位としてビデオRAMへ書き込むようにしたことを特徴とする請求項8、9、10または11記載の画像用データの符号化装置。  The difference value is compressed to form a fixed-length block composed of one immediate value and a plurality of a predetermined number of the compressed difference values, and the fixed-length block is written as a unit to the video RAM. 12. The image data encoding device according to claim 8, 9, 10 or 11. 符号化された画像用データを非可逆伸長して復号化する画像用データの復号化方法において、
前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成されており、
前記複数のマルチカラースプライト面の1つが透明色を示すときは必ず透明色を復号するようにしたことを特徴とする画像用データの復号化方法。
In a method for decoding image data, wherein the encoded image data is irreversibly decompressed and decoded.
A plurality of multi-color sprite surfaces and natural image sprite surfaces are constituted by the image data,
A method for decoding image data, wherein a transparent color is always decoded when one of the plurality of multi-color sprite surfaces shows a transparent color.
前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化方法において、
透明色を表す上記即値と上記差分値とを可逆伸長して復号することを特徴とする請求項13記載の画像用データの復号化方法。
The encoded image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data is decoded by irreversible decompression. In the method
The image data decoding method according to claim 13 , wherein the immediate value representing the transparent color and the difference value are decoded reversibly and decoded.
前記透明色を表す即値を、各色のデータ値の中間の値とし、前記透明色を表す差分値を「0」として処理することを特徴とする請求項14記載の画像用データの復号化方法。  15. The image data decoding method according to claim 14, wherein the immediate value representing the transparent color is processed as an intermediate value between data values of the respective colors, and the difference value representing the transparent color is processed as "0". 前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化方法において、透明色を表す上記即値を、各色のデータ値の中間の値に変換し、差分値復元用に利用したことを特徴とする請求項13記載の画像用データの復号化方法。 In the image data decoding method, wherein the encoded image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the values are decoded. The image data decoding method according to claim 13, wherein the immediate value representing the value is converted into an intermediate value between the data values of the respective colors and used for differential value restoration. 前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化方法において、透明色を表す上記差分値を、「0」に変換し差分値復元用に利用したことを特徴とする請求項13記載の画像用データの復号化方法。 In the image data decoding method, wherein the encoded image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the values are decoded. The image data decoding method according to claim 13, wherein the difference value representing the difference value is converted to “0” and used for restoring the difference value. 前記符号化された画像用データを、1つの前記即値と複数かつ所定数の圧縮された前記差分値とで形成される固定長ブロックとしてVRAMから取り出し、復号することを特徴とする請求項14、15、16または17記載の画像用データの復号化方法。  15. The encoded image data is fetched from a VRAM as a fixed-length block formed by one immediate value and a plurality of a predetermined number of compressed difference values, and is decoded. 15. A method for decoding image data according to 15, 16 or 17. 符号化された画像用データを非可逆伸長して復号化する画像用データの復号化装置において、
前記画像用データで複数のマルチカラースプライト面および自然画スプライト面を構成されており、
前記複数のマルチカラースプライト面のうち任意の1つが透明色として割り当てられ、復号化された信号が透明色を示すときは必ず透明色を復号するようにしたことを特徴とする画像用データの復号化装置。
In an image data decoding apparatus for irreversibly decompressing and decoding encoded image data,
A plurality of multi-color sprite surfaces and natural image sprite surfaces are constituted by the image data,
Any one of the plurality of multi-color sprite surfaces is assigned as a transparent color, and when the decoded signal indicates a transparent color, the transparent color is always decoded. Device.
前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化装置において、
透明色を表す上記即値と上記差分値とを可逆伸長して復号することを特徴とする請求項19記載の画像用データの復号化装置。
The encoded image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data is decoded by irreversible decompression. In the device
20. The image data decoding device according to claim 19, wherein the immediate value representing the transparent color and the difference value are reversibly decompressed and decoded.
前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化装置において、
透明色を表す上記即値を、各色のデータ値の中間の値に変換し、差分値復元用に利用したことを特徴とする請求項19記載の画像用データの復号化装置。
In the image data decoding apparatus, in which the encoded image data corresponding to the natural image sprite surface includes an immediate value and a plurality of difference values following the immediate value, and decodes these values.
20. The image data decoding apparatus according to claim 19 , wherein the immediate value representing the transparent color is converted into an intermediate value between data values of the respective colors and used for differential value restoration.
前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を復号化する画像用データの復号化装置において、
透明色を表す上記差分値を、「0」に変換し差分値復元用に利用したことを特徴とする請求項19記載の画像用データの復号化装置。
In the image data decoding apparatus, in which the encoded image data corresponding to the natural image sprite surface includes an immediate value and a plurality of difference values following the immediate value, and decodes these values.
20. The image data decoding device according to claim 19 , wherein the difference value representing the transparent color is converted to "0" and used for restoring the difference value.
前記自然画スプライト面に対応する前記符号化された画像用データが即値とその即値に続く複数の差分値とで構成され、それらの値を非可逆伸長にて復号化する画像用データの復号化装置において、
入力されてきた即値となる符号が透明色を表すものか否かを検出する復号第2透明色検出部と、入力されてきた差分値となる符号が透明色を表すものか否かを検出する復号第1透明色検出部と、即値が透明色のときその値を灰色の値に変換すると共にその他の値を通過させる復号第2透明色変換部と、差分値が透明色のときその値を「0」とすると共にその他の値を通過させる復号第1透明色変換部と、上記復号第2透明色変換部からの即値および上記復号第1透明色変換部からの差分値とを入力し差分値復号用の値を生成し、入力してきた差分値に加え合わせる復号器と、即値と差分値が透明色であるとそれらをすべて「0」と灰色以外の透明色を表す値に変換する復号第3透明色変換部とを有することを特徴とする請求項19記載の画像用データの復号化装置。
The encoded image data corresponding to the natural image sprite surface is composed of an immediate value and a plurality of difference values following the immediate value, and the image data is decoded by irreversible decompression. In the device
A decoding second transparent color detection unit that detects whether or not the input immediate code represents a transparent color, and detects whether or not the input differential code represents a transparent color A decoding first transparent color detection unit; a decoding second transparent color conversion unit that converts the value into a gray value when the immediate value is a transparent color and passes other values; and a value when the difference value is a transparent color. The difference between the decoded first transparent color conversion unit that makes “0” and other values pass through, the immediate value from the decoded second transparent color conversion unit, and the difference value from the decoded first transparent color conversion unit are input. A decoder that generates a value for value decoding and adds it to the input difference value, and a decoding that converts all of the immediate value and the difference value to “0” and a value representing a transparent color other than gray if the difference value is a transparent color image of claim 19, characterized in that it comprises a third transparent color conversion section Decoder data.
前記符号化された画像用データを、1つの前記即値と複数かつ所定数の圧縮された前記差分値とで形成される固定長ブロックとしてVRAMから取り出し、復号することを特徴とする請求項20、21、22または23記載の画像用データの復号化装置。  21. The encoded image data is extracted from the VRAM as a fixed-length block formed by one immediate value and a plurality of a plurality of predetermined difference values, and decoded. The image data decoding device according to 21, 22 or 23.
JP26169497A 1996-10-03 1997-09-26 Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof Expired - Fee Related JP3658942B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26169497A JP3658942B2 (en) 1996-10-03 1997-09-26 Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26338296 1996-10-03
JP8-263382 1996-10-03
JP26169497A JP3658942B2 (en) 1996-10-03 1997-09-26 Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof

Publications (2)

Publication Number Publication Date
JPH10164620A JPH10164620A (en) 1998-06-19
JP3658942B2 true JP3658942B2 (en) 2005-06-15

Family

ID=26545200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26169497A Expired - Fee Related JP3658942B2 (en) 1996-10-03 1997-09-26 Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof

Country Status (1)

Country Link
JP (1) JP3658942B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7119813B1 (en) * 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
JP4530314B2 (en) * 2000-09-20 2010-08-25 株式会社バンダイナムコゲームス GAME SYSTEM, INFORMATION STORAGE MEDIUM, AND COMPRESSED DATA GENERATION METHOD
US7684629B2 (en) 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
US7183950B2 (en) 2005-02-07 2007-02-27 Fuji Photo Film Co., Ltd. Data compression apparatus, and data compression program storage medium
US7826670B2 (en) 2005-06-15 2010-11-02 Fujifilm Corporation Data compression apparatus and data compression program storage medium
JP4633576B2 (en) 2005-08-24 2011-02-16 富士フイルム株式会社 Data compression apparatus and data compression program
JP4577267B2 (en) 2006-05-17 2010-11-10 株式会社日立製作所 Thin client system
JP2008259173A (en) * 2007-03-12 2008-10-23 Seiko Epson Corp Image data decoding device, image processing device and electronic instrument

Also Published As

Publication number Publication date
JPH10164620A (en) 1998-06-19

Similar Documents

Publication Publication Date Title
CA2106441C (en) Image processing system
US6353440B1 (en) Hardware assist for YUV data format conversion to software MPEG decoder
JPH08161525A (en) Image information preparing method, image information processor, and recording medium
CA2163839A1 (en) Method and apparatus for mapping texture
JPS62288984A (en) Video display unit
JPH02230386A (en) Acoustic display generator
JP3658942B2 (en) Image data encoding method and encoding apparatus thereof, image data decoding method and decoding apparatus thereof
EP0590785B1 (en) Processing apparatus for sound and image data
JPH07282290A (en) Image generation method and image generation device
JP3026591B2 (en) Simple double buffer display
JP3348152B2 (en) Game system
US6738058B1 (en) Method and apparatus for three dimensional graphics processing
JPH10161637A (en) Image display device and image display method
JPH10288980A (en) Picture display device and picture display system
JPH0488749A (en) Picture processor
JPH10232951A (en) Animation generating method and scenario generating method for animation
US5784074A (en) Image output system and method
JP2646504B2 (en) Image processing method
JP2798025B2 (en) Video coding method and apparatus
JP4115879B2 (en) Image display device
CA2413059C (en) Image processing system
JPH08161511A (en) Image generating device
JPH10124039A (en) Graphic display device
JPH10232952A (en) Animation preparation method and image display device for animation
JPH08161831A (en) Disk reproducing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050307

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080325

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090325

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090325

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110325

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120325

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120325

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130325

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140325

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees