(57)【特許請求の範囲】
【請求項１】
指定された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置において、
前記画像データは、１ピクセルが１又は複数のバイトで構成された画像データであり、前記１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行し、
前記１ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグが設定されるものである
ことを特徴とする画像データ転送装置。
【請求項２】
前記指定された転送元領域及び転送先領域に関するパラメータ及び１ピクセル当たりのバイト数に基づいて、前記転送元領域及び転送先領域を含む各走査ライン毎に転送開始ブロックアドレス及び転送終了ブロックアドレスを算出し、
前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである
ことを特徴とする請求項１記載の画像データ転送装置。
【請求項３】
前記各ブロック内の転送画像開始バイトアドレス及び転送画像終了バイトアドレスに基づいて前記転送元領域及び転送先領域以外の領域をマスクするマスクパターンを生成すると共に、このマスクパターンを使用して前記転送元領域と転送先領域とでブロック内における位置合わせを行う
ことを特徴とする請求項１又は２記載の画像データ転送装置。
【請求項４】
画像データを記憶する画像データ記憶装置と、
この画像データ記憶装置内に記憶された画像データの転送元領域及び転送先領域に関するパラメータを出力する中央処理装置と、
この中央処理装置から出力された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置と、
前記画像データ記憶装置に記憶された画像データを表示する画像データ表示装置と、
を備えた画像表示処理システムにおいて、
前記画像データは、１ピクセルが１又は複数のバイトで構成された画像データであり、
前記中央処理装置は、前記１ピクセルを構成するバイト数を前記画像データ転送装置に出力し、
前記画像データ転送装置は、前記１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行したのち、前記画像データ記憶装置に格納するものであり、
前記１ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、
前記画像データ転送装置は、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグを設定するものである
ことを特徴とする画像表示処理システム。
【請求項５】
前記画像データ転送装置は、
前記指定された転送元領域及び転送先領域に関するパラメータ及び１ピクセル当たりのバイト数に基づいて、前記転送元領域及び転送先領域を含む各走査ライン毎に転送開始ブロックアドレス及び転送終了ブロックアドレスを算出し、
前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである
ことを特徴とする請求項４記載の画像表示処理システム。
【請求項６】
前記画像データ転送装置は、
前記各ブロック内の転送画像開始バイトアドレス及び転送画像終了バイトアドレスに基づいて前記転送元領域及び転送先領域以外の領域をマスクするマスクパターンを生成すると共に、このマスクパターンを使用して前記転送元領域と転送先領域とでブロック内における位置合わせを行うものである
ことを特徴とする請求項４又は５記載の画像表示処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＲＴ（Cathode Ray Tube）等のラスタースキャン型表示装置において、平面上に表現された画像を構成するデータの画像表示処理システムに関し、特に特定領域の画像データを転送する画像データ転送装置及び画像表示処理システムに関する。
【０００２】
【従来の技術】
従来より、ＣＲＴ等のラスタースキャン型表示装置を使用した２次元画像データ処理装置としては、例えば特開昭６０−２１４３９２号公報に開示されているものなどが知られている。
【０００３】
この種の画像表示処理システムは、中央演算処理装置（ＣＰＵ）の負担を軽減するため、画像表示処理のためのディスプレイコントローラが備えられる。
【０００４】
このような装置の構成は、例えば図３０に示すようなものになる。同図に示すディスプレイコントローラ（以下、ＤＣと略称する。）１０１内部の画像データ処理回路１１０は、ＣＲＴ表示装置１０５の画面の走査速度に対応してビデオＲＡＭ（以下、ＶＲＡＭと呼ぶ。）１０４内に記憶されている静止画像データ及び動画像データ等をインターフェイス１１１を介して読み出すと共に、ＣＲＴ表示装置１０５へ画像の走査に必要な同期信号ＳＹＮＣを出力する。
【０００５】
この場合の静止画及び動画像データは、表示画面上のドットの色を指定する２，４又は８ビットのカラーコードからなり、画像データ処理回路１１０は、読み出したカラーコードをカラーパレット１１２に出力する。カラーパレット１１２は、読み出したカラーコードをＲＧＢ（赤，緑，青）信号に変換してＣＲＴ表示装置に供給する。
【０００６】
また、画像データ処理回路１１０は、ＣＰＵ１０２からインターフェイス１１３を介して供給される画像データを、画面の非表示期間（垂直帰線期間等）にＶＲＡＭ１０４に書き込む。更に、ＶＲＡＭ１０４をアクセスしているとき（書き込み及び読み出し時）は、信号Ｓ１をコマンド処理回路１１５に供給してアクセス中であることを知らせる。
【０００７】
コマンド処理回路１１５は、ＣＰＵ２からインターフェイス１１３を介して供給される各種のコマンドに対応する処理を行う回路である。
【０００８】
上記の構成の画像表示処理システムにおいては、静止画像を含む矩形領域の移動を短時間でＣＰＵを介さずに行うことや、上述したカラーコードの転送に際して、転送すべきドットのカラーコードの各ビットと転送先のドットのカラーコードの各ビットとの間の論理演算を行い、この結果を転送先のドットに対応するＶＲＡＭ１０４の記憶エリアへ書き込む論理演算処理及び転送元領域の各ドットのカラーコードのうち透明のカラーコードについてはカラーコードの転送を行わず、それ以外のカラーコードについてのみ転送を行う透明処理（トランスペアレント処理）等を行うことができる。
【０００９】
また、このシステムでは、カラーコードをドット単位で転送するドット単位転送モードと、カラーコードをバイト単位で転送するバイト単位転送モードとを備えている。
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像表示処理システムでは、高速転送を実現しつつ所定の論理演算処理や透明処理を実行することができなかった。特に現在では画像処理技術の著しい向上やそれに伴う画像データ転送量の急激な増大等によって、上述したような装置ではもはや高速転送と細かな画像処理の要請に答えることが困難になってきた。
【００１１】
この発明は、このような問題点に鑑みてなされたもので、更に効率的に画像処理及び転送データ制御等を行うことができる画像データ転送装置及び画像表示処理システムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明に係る画像データ転送装置は、指定された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置において、前記画像データは、１ピクセルが１又は複数のバイトで構成された画像データであり、前記１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行し、前記１ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグが設定されるものであることを特徴とする。
【００１３】
また、本発明に係る画像表示処理システムは、画像データを記憶する画像データ記憶装置と、この画像データ記憶装置内に記憶された画像データの転送元領域及び転送先領域に関するパラメータを出力する中央処理装置と、この中央処理装置から出力された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置と、前記画像データ記憶装置に記憶された画像データを表示する画像データ表示装置と、を備えた画像表示処理システムにおいて、前記画像データは、１ピクセルが１又は複数のバイトで構成された画像データであり、前記中央処理装置は、前記１ピクセルを構成するバイト数を前記画像データ転送装置に出力し、前記画像データ転送装置は、前記１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行したのち、前記画像データ記憶装置に格納するものであり、前記１ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記画像データ転送装置は、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグを設定するものであることを特徴とする。
【００１４】
画像データ転送装置は、好ましくは前記指定された転送元領域及び転送先領域に関するパラメータ及び１ピクセル当たりのバイト数に基づいて、前記転送元領域及び転送先領域を含む各走査ライン毎に転送開始ブロックアドレス及び転送終了ブロックアドレスを算出し、前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである。
【００１５】
また、画像データ転送装置においては、好ましくは前記各ブロック内の転送画像開始バイトアドレス及び転送画像終了バイトアドレスに基づいて前記転送元領域及び転送先領域以外の領域をマスクするマスクパターンを生成すると共に、このマスクパターンを使用して前記転送元領域と転送先領域とでブロック内における位置合わせを行う。
【００１７】
この発明によれば、指定された転送元及び転送先領域（以下、この段落のみ「転送領域」とする。）に関するパラメータに基づき、画像データ記憶装置に記憶された転送領域の画像データを演算処理し転送する際に、画像データを１ピクセルが１又は複数のバイトで構成された画像データであるとして、この１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、転送領域でブロック内における位置合わせを行い演算処理を実行し、画像データ１ピクセル分のバイト毎にカラータグが設定され、ブロック内の転送画像開始バイトアドレスに基づき各バイトのカラータグが設定される画像データ転送装置を採用することで、画像データの高速転送をすることができると共に、画像表示処理効率を向上させることができる。また、この画像データ転送装置は、各走査ライン毎に転送開始及び転送終了ブロックアドレスを算出し、転送開始ブロックから転送終了ブロックまで連続的に画像データを転送するので、画像データを高速に転送することができる。更に、この画像データ転送装置では、各ブロック内の転送画像開始及び終了バイトアドレスに基づき転送領域以外をマスクするマスクパターンを生成し、転送領域でブロック内における位置合わせを行うので、高速に画像データを転送することができる。従って、画像表示処理システムにこの画像データ転送装置を組み込むことで、画像表示処理の高速化及び高効率化を図ることが可能となる。
【００１８】
【発明の実施の形態】
以下、図面を参照して、この発明に係る画像表示処理システムの実施例を説明する。
【００１９】
図１は、この発明の一実施例に係る画像表示処理システムの基本構成を説明するためのブロック図である。
【００２０】
この画像表示処理システムは、表示すべき画像データが記憶されるＤＲＡＭ（Dynamic Random Access Memory）等からなるローカルメモリ４と、このローカルメモリ４に記憶された画像データの任意の矩形領域を転送するための種々のパラメータを出力するＣＰＵ１と、このＣＰＵ１から与えられるパラメータに基づいて前記ローカルメモリ４上の矩形領域の画像データを転送処理する画像データ転送装置２と、この画像データ転送装置２とローカルメモリ４との間のインターフェイスであって画像データのアクセスを制御するメモリコントローラ３と、ローカルメモリ４のスクリーンエリアの画像データを表示するＣＲＴディスプレイ、液晶ディスプレイ等の表示装置５とを備えて構成されている。
【００２１】
このうち画像データ転送装置２は、図２にその機能を概略的に示すように、ＣＰＵ１から与えられる転送元データ（以下、ソースデータと呼ぶ。）Ｓの矩形領域及び転送先データ（以下、デスティネーションデータと呼ぶ。）Ｄの矩形領域をそれぞれ定義するパラメータ、並びにソースデータＳに付加される任意のパターンデータＰの矩形領域を定義するパラメータを受け取り、ローカルメモリ４からソース、デスティネーション及びパターンの各データを取り込み、これらのデータ間で所定のラスタ演算処理を施してデスティネーションエリアに書き込む処理を実行する。
【００２２】
以下、この画像データ転送装置２について詳細に説明する。
図３は、この画像データ転送装置２の詳細な構成を示すブロック図である。
【００２３】
ＣＰＵ１から送られてくるデスティネーションエリア、ソースエリア及びパターンエリアに特定するパラメータは、インターフェイス１１を介してデスティネーションアドレス計算回路１２、ソースアドレス計算回路１３及びパターンアドレス計算回路１４にそれぞれ供給される。これらのアドレス計算回路１２，１３，１４では、１スキャンライン毎にデスティネーションエリア、ソースエリア及びパターンエリアのローカルメモリ４上での転送開始を示すスタートアドレスと転送終了を示すエンドアドレスとを次のように計算する。
【００２４】
即ち、図４（ａ）は、転送矩形領域を含む画像データの矩形（表示）領域を更に詳細に示す図である。この矩形領域は、ソースデータＳ及びデスティネーションデータＤについてはスクリーン領域、パターンデータＰについてはオフスクリーン領域に対応する。この例では、１ピクセルが１〜４バイトから構成される。この１ピクセルを構成するバイト数を、ここではＢＰＰ（バイト・パー・ピクセル）と呼ぶ。ここに表示された各パラメータは、前述したようにＣＰＵ１から画像データ転送装置２に与えられるものであって、次の通りである。
【００２５】
ＢＡＳＥ：転送矩形領域を含む矩形領域の基準位置（通常は領域の最も左上の画素の位置）に対応するローカルメモリ４上の座標値をバイトで表したデータ。スクリーンエリアの基点を示す場合もあれば、オフスクリーンエリアの基点を示す場合もある。
ＰＴＣＨ：転送矩形領域を含む矩形領域の１ラインの幅をバイト数で表したデータ。
ＸＳ：転送矩形領域の転送開始Ｘ座標値をピクセルで表したデータ。
ＹＳ：転送矩形領域の転送開始Ｙ座標値をスキャンラインで表したデータ。
ＸＥＸＴ：転送矩形領域のＸ方向の幅をピクセル数で表したデータ。
ＹＥＸＴ：転送矩形領域のＹ方向の幅をスキャンライン数で表したデータ。
ＸＤＩＲ：転送がＸの正・負のいずれの方向から行われるかを示したデータで、０のとき正（右向き）で、１のとき負（左向き）。即ち、図５に示すように、ＸＤＩＲが０の場合、ＸＳは転送矩形領域の左端となり、ＸはＸＳから正の方向に更新される。また、ＸＤＩＲが１の場合、ＸＳは転送矩形領域の右端となり、ＸはＸＳから負の方向に更新される。
ＹＤＩＲ：転送がＹの正・負のいずれの方向から行われるかを示したデータで、０のとき正（下向き）で、１のとき負（上向き）。即ち、図５に示すように、ＹＤＩＲが０の場合、ＹＳは転送矩形領域の上端となり、ＹはＹＳから正の方向に更新される。また、ＹＤＩＲが１の場合、ＹＳは転送矩形領域の下端となり、ＹはＹＳから負の方向に更新される。
【００２６】
なお、ＸＤＩＲ／ＹＤＩＲは、図５にも示すように、ソースエリアＳとデスティネーションエリアＤとが重なる場合に、転送すべきピクセルが転送前に書き替えられないように転送順序を指定するために必要になる。
【００２７】
ここで、スキャンラインＹ＝ｎで与えられたときの第ｎライン内のスタートアドレス（ＦＢＳＰｎ）及びエンドアドレス（ＦＢＥＰｎ）は、ＸＤＩＲ＝０のとき、次式で与えられる。
【００２８】
【数１】
ＦＢＳＰｎ＝ＢＡＳＥ＋ｎ×ＰＴＣＨ＋ＸＳ×ＢＰＰ
ＦＢＥＰｎ＝ＢＡＳＥ＋ｎ×ＰＴＣＨ＋（ＸＳ＋ＸＥＸＴ）×ＢＰＰ−１
【００２９】
また、ＸＤＩＲ＝１のときは、次式で与えられる。
【００３０】
【数２】
ＦＢＳＰｎ＝ＢＡＳＥ＋ｎ×ＰＴＣＨ＋（ＸＳ＋１）×ＢＰＰ−１
ＦＢＥＰｎ＝ＢＡＳＥ＋ｎ×ＰＴＣＨ＋（ＸＳ−ＸＥＸＴ＋１）×ＢＰＰ
【００３１】
図４（ｂ）は、ＢＡＳＥ＝０としたときのＹ＝Ｙｎにおけるスタートアドレス（ＦＢＳＰｎ）及びエンドアドレス（ＦＢＥＰｎ）をローカルメモリ４上の連続したデータとして示した図である。
【００３２】
このように、デスティネーションアドレス計算回路１２、ソースアドレス計算回路１３及びパターンアドレス計算回路１４でそれぞれ計算されたスタートアドレスとエンドアドレスとは、デスティネーションアドレスカウンタ１５、ソースアドレスカウンタ１６及びパターンアドレスカウンタ１７に１スキャンライン毎にセットされる。
【００３３】
一方、この画像データ転送装置２には、ローカルメモリ４から転送された画像データを一時格納するための３つのＳＲＡＭ（Static Random Access Memory）、即ち、デスティネーションＳＲＡＭ１８、ソースＳＲＡＭ１９及びパターンＳＲＡＭ２０が備えられている。各アドレスカウンタ１５，１６，１７は、ローカルメモリ４を階層化し、画像データ転送装置２とローカルメモリ４とのインターフェイスを、メモリコントローラ３を経由して一連の連続したデータ単位毎に行うことで、効率的にデータを転送する。このため、アドレスを次のように分解する。
【００３４】
即ち、各アドレスカウンタ１５，１６，１７は、受け取ったスタートアドレス（ＦＢＳＰｎ）とエンドアドレス（ＦＢＥＰｎ）とを、図６（ａ）に示すように、上位側からセクタアドレスＵビット、ブロックアドレスＶビット及びバイトアドレスＷビットに分解することで、ローカルメモリ４を階層化する。全体のビット数は、同図（ｂ）に示すように、Ｕ＋Ｖ＋Ｗビットとなり、ローカルメモリ４の容量は、最大２U+V+Wバイトとなる。換言すると、ローカルメモリ４は、２U個のセクタで構成され、１セクタは２V個のブロックで構成される。１ブロックは、２Wバイトから構成される。図６（ａ）の例は、Ｖ＝３，Ｗ＝３の例である。
【００３５】
１ブロックのバイト数２Wバイトは、ローカルメモリ４のデータバス幅と等しい。即ち、ローカルメモリ４への１アドレスのアクセスで２Wバイト（１ブロック）分のデータを転送することができる。ローカルメモリ４へのアクセスは、２Wバイト（１ブロック）を単位として連続的に行われる。２Wバイト（１ブロック）分のデータ転送が最小で１回、最大で２V回連続し、最大の場合には、１セクタ分のデータが連続して転送されることになる。各ＳＲＡＭのデータバス幅は、ローカルメモリ４のバス幅と等しい２Wバイトであり、アドレスはＶビットとなる。これは１セクタ分のデータのサイズと等しい。
【００３６】
図６（ｂ）に示すように、ローカルメモリ４のアドレスの上位をローアドレス、下位をカラムアドレスとし、ローアドレスを固定、カラムアドレスのみを連続的に変化させるページモード伝送によって更に高速のデータ転送が実現される。
【００３７】
また、転送開始と転送終了の際の１ブロックの転送データには、転送すべきピクセルデータ以外のデータが含まれることがあるので、各アドレスカウンタ１５，１６，１７は、これらのデータをマスクするためのマスクデータを生成し、マスク演算回路２３に供給する。マスク演算回路２３は、入力されたマスクデータに基づいて、各ＳＲＡＭ１８，１９，２０からデータを読み出して、ラスタ演算回路２１にデータを送るための計算を実行する。ラスタ演算回路２１は、各ＳＲＡＭ１８，１９，２０からセクタデータを１ブロック単位で読み出し、マスク演算回路２３からの演算結果も読み出してラスタ演算を行い、その演算結果を出力ＦＩＦＯ２２に格納する。コントローラ２４は、ＣＰＵ１からの制御命令に従い、各回路をコントロールする。
【００３８】
図７は、画像データ転送装置２の処理の流れを示すフローチャートである。
まず、各アドレス計算回路１２，１３，１４の内部に設定される転送スキャンラインＹの初期値としてＹ＝ＹＳがロードされる（Ｓ１）。次に、そのスキャンラインのスタートアドレス（ＦＢＳＰｎ）とエンドアドレス（ＦＢＥＰｎ）とが、それぞれアドレス計算回路１２，１３，１４で計算され（Ｓ２）、その値がそれぞれアドレスカウンタ１５，１６，１７に渡される。各アドレスカウンタ１５，１６，１７で生成されるアドレスに従ってローカルメモリ４から各ＳＲＡＭ１８，１９，２０に１セクタ分のデスティネーションデータＤ、ソースデータＳ及びパターンデータＰがそれぞれ転送される（Ｓ３，Ｓ４）。ＳＲＡＭ１８，１９，２０への転送後は、１ブロック単位で、各ＳＲＡＭ１８，１９，２０からデータを読み出す。読み出されたデータは、マスク演算回路２３による演算結果に従い、ラスタ演算回路２１にてラスタ演算され、出力ＦＩＦＯ２２にストアされる（Ｓ５）。
【００３９】
もし、ソースＳＲＡＭ１９にストアされているセクタデータの処理が終了した場合には（Ｓ７）、次のセクタデータを転送する（Ｓ４）。また、デスティネーションＳＲＡＭ１８にストアされているセクタデータの処理が終了した場合には、ラスタ演算終了後、出力ＦＩＦＯ２２にストアされたデータをローカルメモリ４に書き込み（Ｓ８）、新たなセクタデータをデスティネーションＳＲＡＭ１８に転送する（Ｓ２）。また、パターンＳＲＡＭ２０にストアされているセクタデータの処理が終了した場合には（Ｓ７）、次のセクタデータを転送する（Ｓ４）。
【００４０】
以上の処理を繰り返し、１ライン分のデータの処理が終了したら（Ｓ９）、Ｙを更新し（Ｓ１０）、次のラインの処理に移る。そして、最後のラインの処理を終了したら、矩形領域の処理は終了する（Ｓ１１）。
【００４１】
図８は、アドレスカウンタ１５〜１７内の基本構成を示す図である。なお、パターンアドレスカウンタ１７においてのみ、カラータグ計算用カウンタ４０はないものとする。
【００４２】
スタートアドレス（ＦＢＳＰ）は、スタートアドレスレジスタ３０にロードされる。同時にＦＢＳＰは、アドレス更新回路３１を経由して、上位Ｕビット（ＦＢＳＰ［Ｕ＋Ｖ＋Ｗ−１：Ｖ＋Ｗ］）がセクタアドレスレジスタ３２に、中央のＶビット（ＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］）がブロックアドレスレジスタ３３に、下位Ｗビット（ＦＢＳＰ［Ｗ−１：０］）がバイトアドレスレジスタ３４にそれぞれロードされる。エンドアドレス（ＦＢＥＰ）は、エンドアドレスレジスタ３５にロードされる。
【００４３】
最初に、デスティネーションＳＲＡＭ１８，ソースＳＲＡＭ１９，パターンＳＲＡＭ２０にローカルメモリ４内のデータを転送するために、レジスタ３２に格納されたローカルメモリ４のセクタのアドレスを示すセクタアドレス（ＳＥＣ）がメモリコントローラ３に出力されると共に、そのセクタにおいて転送すべきブロック数（ＢＬＫＣＮＴ）及びセクタ内の転送すべき最初のブロックのアドレス（セクタ内のブロックがスタートするアドレス）を示すブロックスタートアドレス（ＢＬＫＳＴＲ）がセクタ内ブロック演算回路４５等で計算され、メモリコントローラ３に送られる。また、セクタ内ブロック演算回路４５は、上述したブロック数（ＢＬＫＣＮＴ）及びブロックスタートアドレス（ＢＬＫＳＴＲ）の他、セクタ内のブロックが終了するアドレスを示すブロックエンドアドレス（ＢＬＫＥＮＤ）も計算する。
【００４４】
このセクタ内ブロック演算回路４５での計算には、セクタスタートコンパレータ３７の出力であるセクタスタートフラグ（ＳＥＣＳＴＲＦ）、セクタエンドコンパレータ３６の出力であるセクタエンドフラグ（ＳＥＣＥＮＤＦ）、スタートアドレスレジスタ３０に格納されたブロックスタートアドレス（ＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］）、エンドアドレスレジスタ３５に格納されたブロックエンドアドレス（ＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］）及び転送のＸの方向を表すＸＤＩＲ等が入力され用いられる。
【００４５】
セクタスタートコンパレータ３７はスタートアドレスレジスタ３０からのスタートアドレスのセクタアドレス（ＦＢＳＰ［Ｕ＋Ｖ＋Ｗ−１：Ｖ＋Ｗ］）とセクタアドレスレジスタ３２からのセクタアドレス（ＳＥＣ）とを比較し、等しいときはその出力データ（ＳＥＣＳＴＲＦ）を１とし、等しくないときは０とする。また、セクタエンドコンパレータ３６はエンドアドレスレジスタ３５からのエンドアドレスのセクタアドレス（ＦＢＥＰ［Ｕ＋Ｖ＋Ｗ−１：Ｖ＋Ｗ］）とセクタアドレスレジスタ３２からのセクタアドレス（ＳＥＣ）とを比較し、等しいときはその出力データ（ＳＥＣＥＮＤＦ）を１とし、等しくないときは０とする。
【００４６】
図９は、セクタアドレスレジスタ３２に格納されているセクタデータを説明するための図である。
【００４７】
例えば、ＸＤＩＲ＝０と定義され、ＳＥＣＳＴＲＦ，ＳＥＣＥＮＤＦが０のとき、セクタアドレスレジスタ３２に格納されているセクタアドレスは、図９（ａ）に示すように、矩形領域を構成するラインの最初のセクタではなく、最後のセクタでもないことがわかる。この場合、セクタ内にあるブロックの数（ＢＬＫＣＮＴ）は２V個で、ブロックのスタートアドレス（ＢＬＫＳＴＲ）は０、エンドアドレス（ＢＬＫＥＮＤ）は２V−１となる。
【００４８】
ＳＥＣＳＴＲＦが１でＳＥＣＥＮＤＦが０のとき、セクタアドレスレジスタ３２に格納されているセクタは、矩形領域を構成するラインの最初のセクタであることが同図（ｂ）から分かる。この場合、セクタ内にあるブロックの数は、２V−ＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］個となり、ブロックのスタートアドレスはＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］、エンドアドレスは２V−１となる。
【００４９】
また、ＳＥＣＳＴＲＦが０でＳＥＣＥＮＤＦが１のとき、セクタアドレスレジスタ３２に格納されているセクタは、矩形領域を構成するラインの最後のセクタであることが同図（ｃ）から分かる。この場合、セクタ内にあるブロックの数はＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］＋１個となり、ブロックのスタートアドレスは０でエンドアドレスはＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］となる。
【００５０】
更に、ＳＥＣＳＴＲＦ，ＳＥＣＥＮＤＦともに１のとき、セクタアドレスレジスタ３２に格納されているセクタは、矩形領域を構成するラインの最初のセクタであり、最後のセクタでもあることが同図（ｄ）から分かる。この場合、ブロックの数は、ＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］−ＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］＋１個となり、ブロックのスタートアドレスはＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］、エンドアドレスはＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］となるのである。上記の結果と、新たにＸＤＩＲ＝１のときのそれぞれの場合を追加した形で表にまとめると、図１０に示すようなものになる。
【００５１】
ブロックスタートコンパレータ３９は、スタートアドレスレジスタ３０のブロックアドレス（ＦＢＳＰ［Ｖ＋Ｗ−１：Ｗ］）部分とブロックアドレスレジスタ３３に格納されたブロックアドレス（ＢＬＫ）とを比較し、等しいときはその出力データ（ＢＬＫＳＴＲＦ）を１、等しくないときは０として出力するものである。また、ブロックエンドコンパレータ３８は、エンドアドレスレジスタ３５のブロックアドレス（ＦＢＥＰ［Ｖ＋Ｗ−１：Ｗ］）部分とブロックアドレスレジスタ３３に格納されたブロックアドレス（ＢＬＫ）とを比較し、等しいときはその出力データ（ＢＬＫＥＮＤＦ）を１、等しくないときは０として出力するものである。
【００５２】
上述の各コンパレータ３６〜３９の出力ＳＥＣＥＮＤＦ，ＳＥＣＳＴＲＦ，ＢＬＫＥＮＤＦ，ＢＬＫＳＴＲＦに基づき、スタートマスク演算回路４６でスタートマスク（ＳＴＲＭＳＫ）、エンドマスク演算回路４７でエンドマスク（ＥＮＤＭＳＫ）がそれぞれ計算される。図１１に示すように、スタート及びエンドマスクは共に０又は１のデータからなる連続した２Wビットのパターンであり、各マスクの１ビットが各ＳＲＡＭ１８，１９，２０から読み出された１バイト分のデータに対応し、２Wビットのパターンは１ブロック分のデータに対応するものである。
【００５３】
マスク論理積演算回路４８は、スタート及びエンドマスク演算回路４６，４７からの出力データであるスタート及びエンドマスクを入力し、これらの論理積データ（ＡＭＳＫ）を計算することで、スタートアドレス（ＦＢＳＰ）とエンドアドレス（ＦＢＥＰ）との間に存在するバイトには１を、それ以外には０をフラグとして与える役割を担っている。
【００５４】
例えば、図１２（ａ）に示すように、スタートマスク演算回路４６でのスタートマスクの計算は、ＸＤＩＲ＝０のときは、Ｗビット内のすべて１である２進数パターン（２W−１）をバイトアドレスレジスタ３４内のバイトアドレス（ＢＹＴ）だけ右にシフトして左から０を詰めることで行われる。同様に、同図（ｂ）に示すように、ＸＤＩＲ＝１のときのスタートマスクの計算は、Ｗビット内のすべて１である２進数パターン（２W−１）を２W−１−ＢＹＴ（バイトアドレス）だけ左にシフトし、右から０を詰めることで行われる。この場合、スタートアドレス（ＦＢＳＰ）がブロック内にあるときはＳＥＣＳＴＲＦ及びＢＬＫＳＴＲＦが共に１となる。また、ブロック内スタートアドレス演算回路４９は、このときのマスクがスタートするブロック内のアドレス（ＢＹＴＳＴＲ）を計算する。
【００５５】
一方、同図（ｃ）に示すように、エンドマスク演算回路４７でのエンドマスクの計算は、ＸＤＩＲ＝０のとき、エンドアドレス（ＦＢＥＰ）のバイトアドレスがＦＢＥＰ［Ｗ−１：０］とすると、Ｗビット内のすべて１である２進数パターン（２W−１）を２W−１−ＦＢＥＰ［Ｗ−１：０］だけ左にシフトし、右から０を詰めることで行われる。同様に、同図（ｄ）に示すように、ＸＤＩＲ＝１のときのエンドマスクの計算は、Ｗビット内のすべて１である２進数パターン（２W−１）をＦＢＥＰ［Ｗ−１：０］だけ右にシフトし、左から０を詰めることで行われる。この場合もスタートアドレスがブロック内にあるときはＳＥＣＳＴＲＦ及びＢＬＫＳＴＲＦが共に１であるときといえる。このようにして計算された各マスクは、ブロック毎にマスク演算回路２３に送られるのである。
【００５６】
スタートフラグ回路５０は、セクタスタートコンパレータ３７の出力ＳＥＣＳＴＲＦ及びブロックスタートコンパレータ３９の出力ＢＬＫＳＴＲＦを入力してスタートフラグＸＳＴＲＦを出力する。エンドフラグ回路５１は、セクタエンドコンパレータ３６の出力ＳＥＣＥＮＤＦ及びブロックエンドコンパレータ３８の出力ＢＬＫＥＮＤＦを入力してエンドフラグＸＥＮＤＦを出力する。
【００５７】
次に、カラータグ計算用カウンタ４０とアドレス更新回路３１について説明する。カラータグ計算用カウンタ４０は、トランスペアレント処理（透明処理）の計算のために後段で用いられるものであり、スタートアドレス（ＦＢＳＰ）及びエンドアドレス（ＦＢＥＰ）が入力されるときに初期化するように設定されている。このカラータグ計算用カウンタ４０は、ブロックアドレスレジスタ３３からの出力ＢＬＫが更新されるのに同期して、その出力タグブロックアドレス（ＴＧＢＬＫ）を更新する。
【００５８】
その更新パターンは、ＢＰＰとＸＤＩＲとによって決まるもので、初期値と更新パターンとは、図１３に示すようなものになる。例えば、１ピクセル当たり２バイト（ＢＰＰが２）でＸＤＩＲが０のときは、ＴＧＢＬＫは０，１，０，１…を繰り返すように更新される。なお、デスティネーションアドレスカウンタ１５及びソースアドレスカウンタ１６内のカラータグ計算用カウンタ４０の出力ＴＧＢＬＫは、後述するように、それぞれデスティネーションＳＲＡＭ１８，ソースＳＲＡＭ１９へ送られ、各ＳＲＡＭ内にあるタグ選択回路９３の出力を選択するのに利用される。
【００５９】
アドレス更新回路３１は、セクタアドレスレジスタ３２からの出力セクタアドレス（ＳＥＣ）とブロックアドレスレジスタ３３からの出力ブロックアドレス（ＢＬＫ）とを一連の値として捉え、コントローラ２４からの指示によりエンドアドレスレジスタ３５内の値と一致するまでＢＬＫ単位でアドレスをインクリメントし、上記セクタアドレス（ＳＥＣ）とブロックアドレス（ＢＬＫ）を更新する。この場合、エンドアドレスレジスタ３５内の値と一致するかどうかは、エンドフラグ回路５１にてＳＥＣＥＮＤＦ及びＢＬＫＥＮＤＦが共に１であることにより検出される。
【００６０】
次に、この画像データ転送装置２内のマスク演算回路２３について説明する。
【００６１】
マスク演算回路２３は、主に各アドレスカウンタ１５，１６，１７から送られてきたデスティネーション，ソース，パターンの各マスクデータＡＭＳＫ（以下、これをそれぞれＤＳＴＭＳＫ，ＳＲＣＭＳＫ，ＰＡＴＭＳＫと呼ぶ。）及び各ブロック内スタートアドレスＢＹＴＳＴＲ（以下、これをそれぞれＤＢＹＴＳＴＲ，ＳＢＹＴＳＴＲ，ＰＢＹＴＳＴＲと呼ぶ。）等に基づき、画像表示装置５のデータ転送を制御するための計算を行うものである。なお、各スタートアドレスは、そのときのマスクがスタートするアドレスを表しているものである。
【００６２】
図１４に示すように、デスティネーション，ソース，パターンの各スタートアドレス（ＦＢＳＰ）は、ローカルメモリ４内の任意のアドレスを指している。マスク演算回路２３は、これらのアドレスに基づいて、データ転送時にデスティネーション，ソース，パターンの各バイトが転送のスタートバイトからそれぞれ１対１で転送されるように対応させ、転送を制御している。
【００６３】
図１５は、このマスク演算回路２３の内部構成を示すブロック図である。
マスク演算回路２３は、ローカルメモリ４からＳＲＡＭ１８〜２０にそれぞれ転送されたデスティネーション，ソース，パターンのいずれかのセクタデータがなくなるまで、各ＳＲＡＭ１８，１９，２０からそのデータを読み出してラスタ演算回路２１に出力するための計算を行う。
【００６４】
はじめに、図１６（ａ）に示すように、デスティネーションアドレスカウンタ１５からのＤＳＴＭＳＫと、ソースアドレスカウンタ１６からのＳＲＣＭＳＫと、パターンアドレスカウンタ１７からのＰＡＴＭＳＫとがマスク演算回路２３に入力され、各マスクセレクタ５３，５４，５５を通過し、それぞれのレジスタ５６，５７，５８に格納される。一方、上記各アドレスカウンタ１５，１６，１７からの各ブロック内スタートアドレスＤＢＹＴＳＴＲ，ＳＢＹＴＳＴＲ，ＰＢＹＴＳＴＲは、各アドレスセレクタ６０，６１，６２を通って後段の減算器６３，６４，６５，６６に入力される。
【００６５】
減算器６３は、ＤＳＴＭＳＫとＳＲＣＭＳＫのマスクがスタートする１ブロック内のアドレス差（ＳＲＣＳＦＴ）を計算しレジスタ６７に出力する。同様に減算器６５は、ＤＳＡＴＭＳＫとＰＡＴＭＳＫのマスクがスタートする１ブロック内のアドレス差（ＰＡＴＳＦＴ）を計算しレジスタ６９に出力する。減算器６３，６５から出力されレジスタ６７，６９に格納されたアドレス差ＳＲＣＳＦＴ，ＰＡＴＳＦＴとＸＤＩＲとをシフタ７１，７２は入力し、シフタ７１がソースマスクデータＳＲＣＭＳＫを、シフタ７２がパターンマスクデータＰＡＴＭＳＫをそれぞれそのマスクのスタートがＤＳＴＭＳＫに一致するまでシフトする。このときのシフトは、ＤＳＴＭＳＫに対して正・負の両方向に可能なものである。そして、その結果は、マスクデータ（ＳＲＣＡＤＪ，ＰＡＴＡＤＪ）としてそれぞれシフタ７１，７２から論理演算回路７３に出力される。論理演算回路７３は、これらのマスクデータの他、ＤＳＴＭＳＫを入力し論理積を計算することでＤＳＴＭＳＫ内で処理すべきバイトを決定する役割を担っている。
【００６６】
同時に、減算器６４，６６は、シフタ７１，７２がアドレス差ＳＲＣＳＦＴ，ＰＡＴＳＦＴに基づきシフトした方向と反対の方向へのシフトにあたるシフト数（ＳＲＣＲＥＶ，ＰＡＴＲＥＶ）を計算してレジスタ６８，７０に出力する。シフタ７４，７５は、レジスタ６８，７０から格納されたシフト数ＳＲＣＲＥＶ，ＰＡＴＲＥＶを入力し、論理演算回路７３からの出力マスクデータ（ＰＲＣＭＳＫ）をそれぞれ上記シフト数だけシフトしてマスク（ＳＲＣＲＭＶ，ＰＡＴＲＭＶ）を算出しソースマスク論理演算回路７７，パターンマスク論理演算回路７９にそれぞれ出力している。このマスクＳＲＣＲＭＶ，ＰＡＴＲＭＶは、ソースマスクＳＲＣＭＳＫとパターンマスクＰＡＴＭＳＫのうち、デスティネーションマスクＤＳＴＭＳＫとの計算に寄与した部分を示している。
【００６７】
図１６（ｃ）及び（ｄ）に示すように、ソースマスク論理演算回路７７及びパターンマスク論理演算回路７９は、ソースマスクＳＲＣＭＳＫ，パターンマスクＰＡＴＭＳＫから、それぞれマスクＳＲＣＲＥＶ及びＰＡＴＲＥＶに対応する部分のマスクを取り除く演算をする。その結果、取り除かれ出力されたマスク（ＳＲＣＵＤＴ，ＰＡＴＵＤＴ）が次に計算すべきＳＲＣＭＳＫ，ＰＡＴＭＳＫとして更新されると共に、これらはそれぞれソースマスクセレクタ５４及びパターンマスクセレクタ５５を通り、レジスタ５７，５８に格納される。また、両論理演算回路７７，７９は、マスクが存在しないことが分かった時点でマスクがゼロとなったことを表す信号（ＳＲＣＺＲ，ＰＡＴＺＲ）をそれぞれコントローラ２４に対して出力する。この信号ＳＲＣＺＲ及びＰＡＴＺＲを受けたコントローラ２４は、新たな１ブロック分のマスクデータをソース及びパターンマスクセレクタ５４，５５を通してレジスタ５７，５８に格納するように制御を行う。
【００６８】
また、このときコントローラ２４は、ソース及びパターンアドレスカウンタ１６，１７にブロックを更新するように指示を出し、各アドレスカウンタ１６，１７から出力された新たな１ブロック分のマスクデータがレジスタ５７，５８に格納される。このマスクデータがレジスタ５７，５８に格納されるのと同時に、新たなスタートアドレスＳＢＹＴＳＴＲ，ＰＢＹＴＳＴＲが各アドレスカウンタ１６，１７からソース及びパターンアドレスセレクタ６１，６２に入力され、その後マスクスタートアドレス（ＳＳＴＡＤ，ＰＳＴＡＤ）として前述のように減算器６３〜６６に出力される。
【００６９】
このように更新されたソース及びパターンマスク（ＳＲＣＭＳＫ，ＰＡＴＭＳＫ）は、それぞれソースプライオリティエンコーダ（ＳＰＲＩＥＮＣ）８１，パターンプライオリティエンコーダ（ＰＰＲＩＥＮＣ）８０に入力され、マスクがスタートするアドレスＳＸＵＤＴ，ＰＸＵＤＴが計算される。また、更新されたマスクがゼロでない場合、ソース及びパターンアドレスセレクタ６１，６２は、先に計算されたアドレスＳＸＵＤＴ，ＰＸＵＤＴをマスクスタートアドレスＳＳＴＡＤ，ＰＳＴＡＤとして、ＳＳＴＡＤは減算器６３，６４へ、ＰＳＴＡＤは減算器６５，６６へとそれぞれ出力する。
【００７０】
一方、図１６（ｂ）に示すように、デスティネーションマスク論理演算回路７６は、入力したデスティネーションマスクデータＤＳＴＭＳＫの論理演算回路７３からのＰＲＣＭＳＫと一致する部分を取り除く処理をする。その出力である取り除かれたマスクＤＳＴＵＤＴは、次に計算すべきＤＳＴＭＳＫとして更新され、デスティネーションマスクセレクタ５３を通ってレジスタ５６に格納されるものである。この論理演算回路７６もまた、マスクが存在しないとわかった場合、マスクがゼロとなったことを表す信号ＤＳＴＺＲをコントローラ２４に出力する。この信号ＤＳＴＺＲを受けたコントローラ２４は、デスティネーションアドレスカウンタ１５にブロックを更新させ、新たな１ブロック分のマスクデータを出力させる。このマスクデータは、デスティネーションマスクセレクタ５３に入力され、レジスタ５６に格納される。
【００７１】
この更新されたデスティネーションマスクＤＳＴＭＳＫは、デスティネーションプライオリティエンコーダ（ＤＰＲＩＥＮＣ）８２に入力され、そこでマスクがスタートするアドレスＤＸＵＤＴが計算される。更新されたマスクがゼロでない場合、デスティネーションアドレスセレクタ６０は、先に計算されたアドレスＤＸＵＤＴをマスクスタートアドレスＤＳＴＡＤとして、減算器６３〜６６へとそれぞれ出力する。
【００７２】
上述のようなマスク演算処理過程において、例えばソースのマスクがゼロとなり、且つソースＳＲＡＭ１９にローカルメモリ４から転送された１セクタ内の全ブロックの更新が終了した場合、コントローラ２４は、次のセクタデータをソースＳＲＡＭ１９に転送するように制御を行う。また、デスティネーションのマスクがゼロとなり、且つデスティネーションＳＲＡＭ１８にローカルメモリ４から転送された１セクタ内の全ブロックの更新が終了した場合、コントローラ２４は、ラスタ演算回路２１によるラスタ演算の終了を待って出力ＦＩＦＯ２２に格納された更新後のデスティネーションデータをローカルメモリ４に書き込み、次のセクタデータをデスティネーションＳＲＡＭ１８に転送する制御を行う。更に、パターンのマスクがゼロとなり、且つパターンＳＲＡＭ２０にローカルメモリ４から転送された１セクタ内の全ブロックの更新が終了した場合、コントローラ２４は、次のセクタデータをパターンＳＲＡＭ２０に転送するように制御を行う。
【００７３】
また、このとき論理演算回路７８は、ソースデータのバイトパターンの中で、ＰＲＣＭＳＫに寄与のある部分を示すマスク（ＳＲＣＰＲＣ）を計算する。このマスクＳＲＣＰＲＣは、以下のような計算によって得ることができる。即ち、ＳＲＣＰＲＣがゼロのバイトはＰＲＣＭＳＫに対して寄与しないが、ＳＲＣＰＲＣが１のバイトはＰＲＣＭＳＫに対して寄与することが前提としてある場合は、ＳＲＣＰＲＣ＝ＳＲＣＭＳＫ＆ＳＲＣＲＭＶとして求めることができる。これは、後段のラスタ演算回路２１にて、イネーブルフラグの計算に用いられるものである。
【００７４】
次に、この画像データ転送装置２内の各ＳＲＡＭ１８〜２０で行われるカラータグ演算処理について、各ＳＲＡＭ１８〜２０の内部構成を示す図である図１７を参照しながら説明する。但し、パターンＳＲＡＭ２０内には、スタートバイトレジスタ９０，タグブロックレジスタ９１，タグ計算回路９２，タグ選択回路９３及びトランスペアレントフラグ計算回路（ＴＲＰ）９５はないものとする。
【００７５】
デスティネーション，ソース及びパターンＳＲＡＭ１８〜２０内のラインアドレスカウンタ（ＣＮＴＲ）８５は、それぞれ対応するデスティネーション，ソース及びパターンアドレスカウンタ１５，１６，１７からブロックスタート信号（ＢＬＫＳＴＲ）及びブロックカウンタ信号（ＢＬＫＣＮＴ）を受け取る。これらの信号は、同時にメモリコントローラ３へも出力される。
【００７６】
メモリコントローラ３は、ローカルメモリ４からセクタアドレスＳＥＣと、ＢＬＫＳＴＲにより指定されるアドレスからＢＬＫＣＮＴで指定されるだけのデータを読み出し、画像表示装置５内にあるＳＲＡＭ等のメモリ（図示せず）にこのデータを転送する。このＢＬＫＳＴＲは、ＳＲＡＭ８８のライトアドレスのスタートとなり、そのアドレスからＢＬＫＣＮＴで与えられるアドレス分だけローカルメモリ４からデータが転送され、その転送されたデータがＳＲＡＭ８８に書き込まれる。データがＳＲＡＭ８８に転送された後に、今度はデータの読み出しが行われる。このデータは、各アドレスカウンタ１５，１６，１７から送られるそれぞれの対応するブロックアドレス（ＢＬＫ）により読み出される。
【００７７】
このとき、ＳＲＡＭ８８のアドレスは、コントローラ２４からの指示により、セレクタ８６で各アドレスカウンタ１５〜１７のそれぞれが出力するＢＬＫ側に切り換えられ、このＢＬＫによりＳＲＡＭ８８から読み出された１ブロック分のデータは、後段のラスタ演算回路２１に転送される。
【００７８】
またこのとき、カラータグを用いて、各ＳＲＡＭ１８〜２０でトランスペアレント処理（透明処理）のための計算も同時に行われる。以下にこれを説明する。
【００７９】
スタートバイトレジスタ９０は、矩形領域を構成する１ラインの最初のＦＢＳＰのバイトアドレスを１ラインの処理が継続する間中保持し続ける。タグブロックレジスタ９１は、各ブロックごとのタグブロックを保持するレジスタであり、ブロックの処理ごとに更新されるものである。このスタートバイトレジスタ９０の出力データＢＹＴＳＴＲは、続くタグ計算回路（ＴＡＧＴＢＬ）９２をアクセスし、タグブロックレジスタ９１の出力データＴＧＢＬＫは、タグ選択回路（ＭＵＸ）９３をアクセスする。このタグ選択回路９３は、タグ計算回路９２からの複数の出力データＴＡＧＴＢＬのうちの１つを選択する役割を担っている。
【００８０】
ここで、図１８に示すように、１ピクセルは最大４バイトのデータで構成され、この最大４バイトのピクセルデータに対して、各バイトに０から３までのカラータグ（ＣＴ）を定義すると、１ピクセルが１バイトのときカラータグは０となることが分かる。同図より、１ピクセルが２バイトのときは上位側のバイトが１で下位側が０、３バイトのときは上位側から２，１，０、４バイトのときは上位側から３，２，１，０となることが分かる。
【００８１】
このカラータグは、図１９に示すように、スタートアドレスＦＢＳＰで指定される最初のバイトから順番に割り付けられ、ＢＰＰの単位でエンドアドレスＦＢＥＰまで繰り返される。ここで、ＢＰＰの最大が４バイトであることから、タグ計算回路９２は、最大で２W×４バイト分のカラータグを出力することが分かる。２Wバイトのデータを同時に処理することから、２Wバイト分ごとのカラータグをタグブロックＴＧＢＬＫとすると、その構成は図２０に示すように定義される。
【００８２】
このようにして定義されたカラータグ，タグブロック，ＢＰＰの関係をタグ計算回路９２の出力ＴＡＧＴＢＬとして考えると、図２１〜２３に示すようになる。なお、この場合の下位ビットＷは、Ｗ＝３とする。
【００８３】
図２１（ａ）に示すように、ＢＰＰが１バイトのときのカラータグの値は常にゼロとなる。ＢＰＰが２バイトのときのカラータグの値は、ＸＤＩＲ及びスタートアドレスのバイト部分ＢＹＴＳＴＲのＬＳＢ（Least Significant Bit/Byte）により決まる。
ＸＤＩＲ＝０でＢＹＴＳＴＲ［０］＝０のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［０］＝１のときは同図（ｂ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［０］＝１のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［０］＝０のときは同図（ｃ）に示すようになる。
【００８４】
また、ＢＰＰが３バイトのときのカラータグの値は、図２２に示すようにＸＤＩＲ及びスタートアドレスのバイト部分ＢＹＴＳＴＲのＬＳＢ側３ビットにより決まる。
ＸＤＩＲ＝０でＢＹＴＳＴＲ［２：０］＝０，３，６のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［２：０］＝１，４，７のときは同図（ａ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［２：０］＝２，５のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［２：０］＝０，３，６のときは同図（ｂ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［２：０］＝１，４，７のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［２：０］＝２，５のときは同図（ｃ）に示すようにそれぞれ定義される。
【００８５】
更に、ＢＰＰが４バイトのときのカラータグの値は、図２３に示すようにＸＤＩＲ及びＢＹＴＳＴＲのＬＳＢ側２ビットにより決まる。
ＸＤＩＲ＝０でＢＹＴＳＴＲ［１：０］＝０のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［１：０］＝３のときは同図（ａ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［１：０］＝３のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［１：０］＝２のときは同図（ｂ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［１：０］＝２のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［１：０］＝１のときは同図（ｃ）に示すように、
ＸＤＩＲ＝０でＢＹＴＳＴＲ［１：０］＝１のとき、又は
ＸＤＩＲ＝１でＢＹＴＳＴＲ［１：０］＝０のときは同図（ｄ）に示すようにそれぞれ定義されるのである。
【００８６】
タグ計算回路９２の出力であるＴＡＧＴＢＬは、タグ選択回路９３に入力され、そこでデスティネーション及びソースアドレスカウンタ１５，１６内のカラータグ計算用カウンタ４０で計算されたＴＧＢＬＫで指定された部分が選択され、カラータグ（ＣＴ）となる。カラータグは、２ビットから構成される２W個のデータであり、１ブロック内の各バイトデータのカラータグを示す。このカラータグは、トランスペアレント計算のためにトランスペアレント計算回路（ＴＲＰ）９５に出力される。
【００８７】
ここで、トランスペアレント計算回路（ＴＲＰ）９５について説明する。
図２４は、このトランスペアレント計算回路９５の内部構成を示す図である。
【００８８】
トランスペアレント計算回路９５は、主にＦＧ／ＢＧセレクタ１２０，２W個のセレクタ１２１〜１２６，２W個の比較器１２７〜１３２，２W個のレジスタ１３３〜１３８，２W個の演算器１３９〜１４４，レジスタ１４５及びＲ／Ｌセレクタ１４６から構成される。なお、２W個からなるセレクタ，比較器，レジスタ，演算器は、それぞれ１ブロック内にある各バイトデータに対応して設けられているものである。
【００８９】
ＦＧ／ＢＧセレクタ１２０は、図示しないインターフェイスから送られてくる転送先領域の背景色（ＦＧ：フォアグラウンドカラー）と転送元領域の背景色（ＢＧ：バックグラウンドカラー）とを、同じく送られてくる前トランスペアレントカラーデータ（ＦＧＴＲ）を利用して選択し、どちらをトランスペアレントカラーとするかを決定する。その結果、このＦＧ／ＢＧセレクタ１２０の出力ＴＲＣＯＬが、新たなトランスペアレントカラーとなる。このトランスペアレント計算回路９５は、デスティネーション領域又はソース領域に格納されているピクセルデータとトランスペアレントカラーとをピクセル単位で比較し、その結果等しい場合は、そのピクセルデータはトランスペアレントであるとし、図１７に示すように新しいデータに書き換えないようにするためのフラグ（ＴＲＰＦ）を後段に出力する。
【００９０】
ＦＧ／ＢＧセレクタ１２０から出力されたＴＲＣＯＬは、ＢＰＰの定義より、最大で４バイトとなる。各セレクタ１２１〜１２６は、カラータグ（ＣＴ０〜ＣＴ２W−１）により、ＴＲＣＯＬを構成するバイト成分をカラータグの値で選択し、各比較器１２７〜１３２に出力する。これを受けて各比較器１２７〜１３２は、図示しないメモリからの出力データ（ＲＤＴ）と選択されたトランスペアレントカラー成分とをバイト単位で比較し、等しいときには１、等しくないときには０と定義して、比較結果ＮＥＱを出力する。各レジスタ１３３〜１３８は、各比較器１２７〜１３２で比較された結果ＮＥＱとそれに対応するカラータグ（ＣＴ）とを一時的に保持し、保持されたＮＥＱとＣＴとをカレントデータのＣＥＱ，ＣＣＴとして出力する。レジスタ１４５は、このカレントの比較結果ＣＥＱを保持し、それらをＰＥＱとしてＲ／Ｌセレクタ１４６に出力する。
【００９１】
ここで、図２５に示すように、１ブロック内でバイトアドレスのゼロバイトに近づく方向を左、２W−１バイトに近づく方向を右とすると、ＢＰＰの最大が４バイトであることから、現在のカラータグを含めて最大で左右に３バイト分の各比較器１２７〜１３２での比較結果を参照すれば、そのピクセルがトランスペアレントとして与えられたカラーと等しいかどうかを判断することができる。
【００９２】
また、このとき、１ピクセル内のバイトデータがブロック間をまたぐ場合があり、この場合、図２６に示すように、現在処理中のブロックの一つ前又は一つ後のブロックデータの各比較器１２７〜１３２での比較結果を参照する。
【００９３】
更に、ＰＥＱは、現在の処理に対して一つ前に処理されたブロックの各比較器１２７〜１３２での比較結果となり、ＮＥＱは、現在の処理に対して一つ後に処理されるブロックの各比較器１２７〜１３２での比較結果となる。現在の処理の各比較器１２７〜１３２での比較結果ＣＥＱのゼロバイトから２W−１バイトまでの各バイトに対する左右に隣接するそれぞれ３バイトは、図２７で示すように表すことができる。
【００９４】
この図２７の表（ａ），（ｂ）から、
ＣＥＱ０に対するｌｅｆｔ３，ｌｅｆｔ２，ｌｅｆｔ１と、
ＣＥＱ１に対するｌｅｆｔ３，ｌｅｆｔ２と、
ＣＥＱ２に対するｌｅｆｔ３と、
ＣＥＱ２W−３に対するｒｉｇｈｔ３と、
ＣＥＱ２W−２に対するｒｉｇｈｔ３，ｒｉｇｈｔ２と、
ＣＥＱ２W−１に対するｒｉｇｈｔ３，ｒｉｇｈｔ２，ｒｉｇｈｔ１とが、ＸＤＩＲにより異なっているということが導き出せる。
【００９５】
Ｒ／Ｌセレクタ１４６は、上述のＮＥＱ，ＰＥＱ及びＸＤＩＲを入力して選択し、適切なものをＣＥＱ２W−１，ＣＥＱ２W−２，ＣＥＱ２W−３，ＣＥＱ２，ＣＥＱ１，ＣＥＱ０の各演算器１３９〜１４４に出力する。各演算器１３９〜１４４は、入力したＣＣＴとＢＰＰにより、左右のどの各比較器１２７〜１３２での比較結果を参照すればよいかを知ることができる。例えば、ＢＰＰが１のとき、ゼロバイトから２W−１バイトまでの各比較器１２７〜１３２での比較結果が、そのままトランスペアレントかどうかを示しているということができる。このとき、０ならトランスペアレントではなく、１ならトランスペアレントであるといえる。
【００９６】
例えば、図２８（ａ）に示すように、ＢＰＰが２のときは、現在の処理に対して左右に１バイトずつの各比較器１２７〜１３２での比較結果を参照すれば、左右どちらかの比較結果を参照すべきかは、現在処理中のカラータグの値により決まる。現在の処理のカラータグがゼロの場合、右の１バイトが同一ピクセルであり、現在の処理のカラータグが１の場合、左の１バイトが同一ピクセルであることが分かる。もし、各比較器１２７〜１３２での比較結果が共に１であるならば、このピクセルはトランスペアレントであるということができる。図２８では、白地以外の部分が同一ピクセルであることを示している。
【００９７】
また、ＢＰＰが３のときは、現在の処理に対して最大２バイトずつの各比較器１２７〜１３２での比較結果を参照することができる。もし、同一ピクセル部分の各比較器１２７〜１３２での比較結果がすべてならば、このピクセルはトランスペアレントであるということができる。
【００９８】
更に、ＢＰＰが４のときは、現在の処理に対して左右に最大３バイトずつの各比較器１２７〜１３２での比較結果を参照することができる。従って、上記と同様に同一ピクセル部分の各比較器１２７〜１３２での比較結果がすべて１であるならば、このピクセルはトランスペアレントであるということができる。以上のように各比較器１２７〜１３２で計算された結果が、ＴＲＰＦとしてラスタ演算回路２１に出力される。
【００９９】
最後に、この画像データ転送装置２内のラスタ演算回路２１について簡単に説明する。図２９は、ラスタ演算回路２１の内部構成を示す図であり、このラスタ演算回路２１は、デスティネーション，ソース，パターンの各ＳＲＡＭ１８，１９，２０から読み出したデータに対してラスタ演算するものである。
【０１００】
ラスタ演算回路２１は、主にソースＳＲＡＭ１９からの１ブロック分のデータを、バイトデータを単位としてシフトするＳＢシフタ１５０，パターンＳＲＡＭ２０からの１ブロック分のデータを、同じくバイトデータを単位としてシフトするＰＢシフタ１５１，８ビットのラスタ演算を実行する２W個の８ビットラスタ演算回路１５２1〜１５２n，書き込みイネーブルのデータを計算するイネーブルデータ計算回路１５３，このイネーブルデータ計算回路１５３内で、ソーストランスペアレントフラグをシフトするシフタ（図示せず），ラスタ演算の結果を格納する２W個のレジスタ１５４1〜１５４n等から構成されている。
【０１０１】
まず、デスティネーションＳＲＡＭ１８から読み出された２Wバイトのデスティネーションデータは、それぞれ対応する８ビットラスタ演算回路１５２1〜１５２nに入力される。ソースＳＲＡＭ１９から読み出された２Wバイトのソースデータは、マスク演算回路２３で計算されたシフト分データである１ブロック内のアドレス差ＳＲＣＳＦＴと等しい分だけＳＢシフタ１５０にてバイト単位でシフトされ、デスティネーションデータと対応させられる。同様に、パターンＳＲＡＭ２０から読み出された２Wバイトのパターンデータも、マスク演算回路２３で計算されたＰＡＴＳＦＴと等しい分だけＰＢシフタ１５１にてバイト単位でシフトされ、デスティネーションデータと対応させられる。８ビットラスタ演算回路１５２1〜１５２nは、指定されたコードにより、これらのデスティネーション，ソース，パターンデータでラスタ演算を行い、この結果をレジスタ１５４1〜１５４nに格納する。このとき、マスク演算回路２３で計算されたＰＲＣＭＳＫを各レジスタ１５４1〜１５４nは入力し、ＰＲＣＭＳＫが１になるデータのみを格納している。
【０１０２】
イネーブルデータ計算回路１５３は、デスティネーションＳＲＡＭ１８からのトランスペアレントフラグ（ＤＴＲＰＦ），ソースＳＲＡＭ１９からのトランスペアレントフラグ（ＳＴＲＰＦ），マスク演算回路２３からのＳＲＣＰＲＣ，ＳＲＣＳＦＴ，ＰＲＣＭＳＫ等を入力する。これらの入力情報に基づき、イネーブルデータ計算回路１５３は、各バイトデータ毎のローカルメモリ４への書き込みが行われるかどうかを決定するイネーブルフラグＥＮを計算する。トランスペアレントの場合は、ローカルメモリ４への書き込みが行われず、以前の値がそのままローカルメモリ４内で維持されるように、イネーブルフラグＥＮを変更する。
【０１０３】
このラスタ演算回路２１の後段にある出力ＦＩＦＯ２２は、１ブロック内のすべてのバイトデータのラスタ演算が終了したところで、レジスタ１５４1〜１５４nに格納されている結果を自身のメモリ（図示せず）に書き込む。デスティネーションの１セクタ分のデータがすべて出力ＦＩＦＯ２２内にあるメモリに書き込まれたところで、メモリコントローラ３に１セクタ分のデータを連続的に出力し、そのデータをローカルメモリ４に書き込むことで、データの転送を行っている。
【０１０４】
【発明の効果】
以上述べたように、この発明によれば、(1)画像データを演算処理し転送する際に、画像データを１ピクセルが１又は複数のバイトで構成された画像データとして、この１ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し位置合わせを行い演算処理を実行する、(2)各走査ライン毎に転送開始及び転送終了ブロックアドレスを算出し転送開始ブロックから転送終了ブロックまで連続的に画像データを転送する、(3)各ブロック内の転送画像開始及び終了バイトアドレスに基づき転送領域以外をマスクするマスクパターンを生成し転送領域でブロック内における位置合わせを行う、(4)画像データ１ピクセル分のバイト毎にカラータグが設定されブロック内の転送画像開始バイトアドレスに基づき各バイトのカラータグが設定される、という画像データ転送装置を採用し画像表示処理システムにこの画像データ転送装置を組み込むことで、画像表示処理の高速化及び高効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例に係る画像表示処理システムの基本構成を説明するためのブロック図である。
【図２】  同システムにおける画像データ転送装置の機能を概略的に示す図である。
【図３】  同装置の詳細な構成を示すブロック図である。
【図４】  同装置における転送矩形領域を含む画像データの矩形（表示）領域を更に詳細に示す図である。
【図５】  同装置における転送矩形領域のＸＤＩＲ，ＹＤＩＲを概略的に示す図である。
【図６】  同装置におけるローカルメモリ内に構築されている画像データの構成を示す図である。
【図７】  同装置の処理の流れを示すフローチャートである。
【図８】  同装置内のアドレスカウンタ内部の基本構成を示す図である。
【図９】  同カウンタ内部のセクタアドレスレジスタに格納されているセクタデータを説明するための図である。
【図１０】  同カウンタ内部のセクタアドレスレジスタに格納されているセクタデータを示す図である。
【図１１】  同カウンタ内部におけるマスク演算処理時の各データの構成を説明するための図である。
【図１２】  同カウンタ内部におけるマスク演算処理の結果を説明するための図である。
【図１３】  同カウンタ内部におけるカラータグ計算用カウンタの初期値と更新パターンとを示す図である。
【図１４】  同装置におけるデスティネーション，ソース，パターンの各スタートアドレスのローカルメモリ内の構成を示す図である。
【図１５】  同装置におけるマスク演算回路の内部構成を示すブロック図である。
【図１６】  同装置におけるマスク演算回路での各データの処理を説明するための図である。
【図１７】  同装置における各ＳＲＡＭの内部構成を示す図である。
【図１８】  同装置における各ＳＲＡＭでのカラータグ演算処理のデータ構成を説明するための図である。
【図１９】  同処理のデータ構成を説明するための図である。
【図２０】  同処理のデータ構成を説明するための図である。
【図２１】  同処理におけるカラータグ，タグブロック，ＢＰＰの関係を示す図である。
【図２２】  同処理におけるカラータグ，タグブロック，ＢＰＰの関係を示す図である。
【図２３】  同カラータグ演算処理におけるカラータグ，タグブロック，ＢＰＰの関係示す図である。
【図２４】  同装置における各ＳＲＡＭにあるトランスペアレント計算回路の内部構成を示す図である。
【図２５】  同回路におけるトランスペアレント計算処理のデータの構成を説明するための図である。
【図２６】  同処理におけるデータの比較方法を説明するための図である。
【図２７】  同処理におけるデータの比較結果の構成を表した図である。
【図２８】  同処理におけるデータの比較結果を表した図である。
【図２９】  同装置におけるラスタ演算回路の内部構成を示す図である。
【図３０】  従来の画像表示処理システムの構成を示すブロック図である。
【符号の説明】
１…ＣＰＵ、２…画像データ転送装置、３…メモリコントローラ、４…ローカルメモリ、５…表示装置、１１…インターフェイス、１２…デスティネーションアドレス計算回路、１３…ソースアドレス計算回路、１４…パターンアドレス計算回路、１５…デスティネーションアドレスカウンタ、１６…ソースアドレスカウンタ、１７…パターンアドレスカウンタ、１８…デスティネーションＳＲＡＭ、１９…ソースＳＲＡＭ、２０…パターンＳＲＡＭ、２１…ラスタ演算回路、２２…出力ＦＩＦＯ、２３…マスク演算回路、２４…コントローラ。
【図１】
0003846142.tif 000002
【図２】
0003846142.tif 000003
【図３】
0003846142.tif 000004
【図４】
0003846142.tif 000005
【図５】
0003846142.tif 000006
【図６】
0003846142.tif 000007
【図７】
0003846142.tif 000008
【図８】
0003846142.tif 000009
【図９】
0003846142.tif 000010
【図１０】
0003846142.tif 000011
【図１１】
0003846142.tif 000012
【図１２】
0003846142.tif 000013
【図１３】
0003846142.tif 000014
【図１４】
0003846142.tif 000015
【図１５】
0003846142.tif 000016
【図１６】
0003846142.tif 000017
【図１７】
0003846142.tif 000018
【図１８】
0003846142.tif 000019
【図１９】
0003846142.tif 000020
【図２０】
0003846142.tif 000021
【図２１】
0003846142.tif 000022
【図２２】
0003846142.tif 000023
【図２３】
0003846142.tif 000024
【図２４】
0003846142.tif 000025
【図２５】
0003846142.tif 000026
【図２６】
0003846142.tif 000027
【図２７】
0003846142.tif 000028
【図２８】
0003846142.tif 000029
【図２９】
0003846142.tif 000030
【図３０】
0003846142.tif 000031