JP3846142B2 - Image data transfer apparatus and image display processing system - Google Patents
Image data transfer apparatus and image display processing system Download PDFInfo
- Publication number
- JP3846142B2 JP3846142B2 JP2000017522A JP2000017522A JP3846142B2 JP 3846142 B2 JP3846142 B2 JP 3846142B2 JP 2000017522 A JP2000017522 A JP 2000017522A JP 2000017522 A JP2000017522 A JP 2000017522A JP 3846142 B2 JP3846142 B2 JP 3846142B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- image data
- address
- block
- area
- 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
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、CRT(Cathode Ray Tube)等のラスタースキャン型表示装置において、平面上に表現された画像を構成するデータの画像表示処理システムに関し、特に特定領域の画像データを転送する画像データ転送装置及び画像表示処理システムに関する。
【0002】
【従来の技術】
従来より、CRT等のラスタースキャン型表示装置を使用した2次元画像データ処理装置としては、例えば特開昭60−214392号公報に開示されているものなどが知られている。
【0003】
この種の画像表示処理システムは、中央演算処理装置(CPU)の負担を軽減するため、画像表示処理のためのディスプレイコントローラが備えられる。
【0004】
このような装置の構成は、例えば図30に示すようなものになる。同図に示すディスプレイコントローラ(以下、DCと略称する。)101内部の画像データ処理回路110は、CRT表示装置105の画面の走査速度に対応してビデオRAM(以下、VRAMと呼ぶ。)104内に記憶されている静止画像データ及び動画像データ等をインターフェイス111を介して読み出すと共に、CRT表示装置105へ画像の走査に必要な同期信号SYNCを出力する。
【0005】
この場合の静止画及び動画像データは、表示画面上のドットの色を指定する2,4又は8ビットのカラーコードからなり、画像データ処理回路110は、読み出したカラーコードをカラーパレット112に出力する。カラーパレット112は、読み出したカラーコードをRGB(赤,緑,青)信号に変換してCRT表示装置に供給する。
【0006】
また、画像データ処理回路110は、CPU102からインターフェイス113を介して供給される画像データを、画面の非表示期間(垂直帰線期間等)にVRAM104に書き込む。更に、VRAM104をアクセスしているとき(書き込み及び読み出し時)は、信号S1をコマンド処理回路115に供給してアクセス中であることを知らせる。
【0007】
コマンド処理回路115は、CPU2からインターフェイス113を介して供給される各種のコマンドに対応する処理を行う回路である。
【0008】
上記の構成の画像表示処理システムにおいては、静止画像を含む矩形領域の移動を短時間でCPUを介さずに行うことや、上述したカラーコードの転送に際して、転送すべきドットのカラーコードの各ビットと転送先のドットのカラーコードの各ビットとの間の論理演算を行い、この結果を転送先のドットに対応するVRAM104の記憶エリアへ書き込む論理演算処理及び転送元領域の各ドットのカラーコードのうち透明のカラーコードについてはカラーコードの転送を行わず、それ以外のカラーコードについてのみ転送を行う透明処理(トランスペアレント処理)等を行うことができる。
【0009】
また、このシステムでは、カラーコードをドット単位で転送するドット単位転送モードと、カラーコードをバイト単位で転送するバイト単位転送モードとを備えている。
【0010】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像表示処理システムでは、高速転送を実現しつつ所定の論理演算処理や透明処理を実行することができなかった。特に現在では画像処理技術の著しい向上やそれに伴う画像データ転送量の急激な増大等によって、上述したような装置ではもはや高速転送と細かな画像処理の要請に答えることが困難になってきた。
【0011】
この発明は、このような問題点に鑑みてなされたもので、更に効率的に画像処理及び転送データ制御等を行うことができる画像データ転送装置及び画像表示処理システムを提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明に係る画像データ転送装置は、指定された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置において、前記画像データは、1ピクセルが1又は複数のバイトで構成された画像データであり、前記1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行し、前記1ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグが設定されるものであることを特徴とする。
【0013】
また、本発明に係る画像表示処理システムは、画像データを記憶する画像データ記憶装置と、この画像データ記憶装置内に記憶された画像データの転送元領域及び転送先領域に関するパラメータを出力する中央処理装置と、この中央処理装置から出力された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置と、前記画像データ記憶装置に記憶された画像データを表示する画像データ表示装置と、を備えた画像表示処理システムにおいて、前記画像データは、1ピクセルが1又は複数のバイトで構成された画像データであり、前記中央処理装置は、前記1ピクセルを構成するバイト数を前記画像データ転送装置に出力し、前記画像データ転送装置は、前記1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行したのち、前記画像データ記憶装置に格納するものであり、前記1ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記画像データ転送装置は、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグを設定するものであることを特徴とする。
【0014】
画像データ転送装置は、好ましくは前記指定された転送元領域及び転送先領域に関するパラメータ及び1ピクセル当たりのバイト数に基づいて、前記転送元領域及び転送先領域を含む各走査ライン毎に転送開始ブロックアドレス及び転送終了ブロックアドレスを算出し、前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである。
【0015】
また、画像データ転送装置においては、好ましくは前記各ブロック内の転送画像開始バイトアドレス及び転送画像終了バイトアドレスに基づいて前記転送元領域及び転送先領域以外の領域をマスクするマスクパターンを生成すると共に、このマスクパターンを使用して前記転送元領域と転送先領域とでブロック内における位置合わせを行う。
【0017】
この発明によれば、指定された転送元及び転送先領域(以下、この段落のみ「転送領域」とする。)に関するパラメータに基づき、画像データ記憶装置に記憶された転送領域の画像データを演算処理し転送する際に、画像データを1ピクセルが1又は複数のバイトで構成された画像データであるとして、この1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、転送領域でブロック内における位置合わせを行い演算処理を実行し、画像データ1ピクセル分のバイト毎にカラータグが設定され、ブロック内の転送画像開始バイトアドレスに基づき各バイトのカラータグが設定される画像データ転送装置を採用することで、画像データの高速転送をすることができると共に、画像表示処理効率を向上させることができる。また、この画像データ転送装置は、各走査ライン毎に転送開始及び転送終了ブロックアドレスを算出し、転送開始ブロックから転送終了ブロックまで連続的に画像データを転送するので、画像データを高速に転送することができる。更に、この画像データ転送装置では、各ブロック内の転送画像開始及び終了バイトアドレスに基づき転送領域以外をマスクするマスクパターンを生成し、転送領域でブロック内における位置合わせを行うので、高速に画像データを転送することができる。従って、画像表示処理システムにこの画像データ転送装置を組み込むことで、画像表示処理の高速化及び高効率化を図ることが可能となる。
【0018】
【発明の実施の形態】
以下、図面を参照して、この発明に係る画像表示処理システムの実施例を説明する。
【0019】
図1は、この発明の一実施例に係る画像表示処理システムの基本構成を説明するためのブロック図である。
【0020】
この画像表示処理システムは、表示すべき画像データが記憶されるDRAM(Dynamic Random Access Memory)等からなるローカルメモリ4と、このローカルメモリ4に記憶された画像データの任意の矩形領域を転送するための種々のパラメータを出力するCPU1と、このCPU1から与えられるパラメータに基づいて前記ローカルメモリ4上の矩形領域の画像データを転送処理する画像データ転送装置2と、この画像データ転送装置2とローカルメモリ4との間のインターフェイスであって画像データのアクセスを制御するメモリコントローラ3と、ローカルメモリ4のスクリーンエリアの画像データを表示するCRTディスプレイ、液晶ディスプレイ等の表示装置5とを備えて構成されている。
【0021】
このうち画像データ転送装置2は、図2にその機能を概略的に示すように、CPU1から与えられる転送元データ(以下、ソースデータと呼ぶ。)Sの矩形領域及び転送先データ(以下、デスティネーションデータと呼ぶ。)Dの矩形領域をそれぞれ定義するパラメータ、並びにソースデータSに付加される任意のパターンデータPの矩形領域を定義するパラメータを受け取り、ローカルメモリ4からソース、デスティネーション及びパターンの各データを取り込み、これらのデータ間で所定のラスタ演算処理を施してデスティネーションエリアに書き込む処理を実行する。
【0022】
以下、この画像データ転送装置2について詳細に説明する。
図3は、この画像データ転送装置2の詳細な構成を示すブロック図である。
【0023】
CPU1から送られてくるデスティネーションエリア、ソースエリア及びパターンエリアに特定するパラメータは、インターフェイス11を介してデスティネーションアドレス計算回路12、ソースアドレス計算回路13及びパターンアドレス計算回路14にそれぞれ供給される。これらのアドレス計算回路12,13,14では、1スキャンライン毎にデスティネーションエリア、ソースエリア及びパターンエリアのローカルメモリ4上での転送開始を示すスタートアドレスと転送終了を示すエンドアドレスとを次のように計算する。
【0024】
即ち、図4(a)は、転送矩形領域を含む画像データの矩形(表示)領域を更に詳細に示す図である。この矩形領域は、ソースデータS及びデスティネーションデータDについてはスクリーン領域、パターンデータPについてはオフスクリーン領域に対応する。この例では、1ピクセルが1〜4バイトから構成される。この1ピクセルを構成するバイト数を、ここではBPP(バイト・パー・ピクセル)と呼ぶ。ここに表示された各パラメータは、前述したようにCPU1から画像データ転送装置2に与えられるものであって、次の通りである。
【0025】
BASE:転送矩形領域を含む矩形領域の基準位置(通常は領域の最も左上の画素の位置)に対応するローカルメモリ4上の座標値をバイトで表したデータ。スクリーンエリアの基点を示す場合もあれば、オフスクリーンエリアの基点を示す場合もある。
PTCH:転送矩形領域を含む矩形領域の1ラインの幅をバイト数で表したデータ。
XS:転送矩形領域の転送開始X座標値をピクセルで表したデータ。
YS:転送矩形領域の転送開始Y座標値をスキャンラインで表したデータ。
XEXT:転送矩形領域のX方向の幅をピクセル数で表したデータ。
YEXT:転送矩形領域のY方向の幅をスキャンライン数で表したデータ。
XDIR:転送がXの正・負のいずれの方向から行われるかを示したデータで、0のとき正(右向き)で、1のとき負(左向き)。即ち、図5に示すように、XDIRが0の場合、XSは転送矩形領域の左端となり、XはXSから正の方向に更新される。また、XDIRが1の場合、XSは転送矩形領域の右端となり、XはXSから負の方向に更新される。
YDIR:転送がYの正・負のいずれの方向から行われるかを示したデータで、0のとき正(下向き)で、1のとき負(上向き)。即ち、図5に示すように、YDIRが0の場合、YSは転送矩形領域の上端となり、YはYSから正の方向に更新される。また、YDIRが1の場合、YSは転送矩形領域の下端となり、YはYSから負の方向に更新される。
【0026】
なお、XDIR/YDIRは、図5にも示すように、ソースエリアSとデスティネーションエリアDとが重なる場合に、転送すべきピクセルが転送前に書き替えられないように転送順序を指定するために必要になる。
【0027】
ここで、スキャンラインY=nで与えられたときの第nライン内のスタートアドレス(FBSPn)及びエンドアドレス(FBEPn)は、XDIR=0のとき、次式で与えられる。
【0028】
【数1】
FBSPn=BASE+n×PTCH+XS×BPP
FBEPn=BASE+n×PTCH+(XS+XEXT)×BPP−1
【0029】
また、XDIR=1のときは、次式で与えられる。
【0030】
【数2】
FBSPn=BASE+n×PTCH+(XS+1)×BPP−1
FBEPn=BASE+n×PTCH+(XS−XEXT+1)×BPP
【0031】
図4(b)は、BASE=0としたときのY=Ynにおけるスタートアドレス(FBSPn)及びエンドアドレス(FBEPn)をローカルメモリ4上の連続したデータとして示した図である。
【0032】
このように、デスティネーションアドレス計算回路12、ソースアドレス計算回路13及びパターンアドレス計算回路14でそれぞれ計算されたスタートアドレスとエンドアドレスとは、デスティネーションアドレスカウンタ15、ソースアドレスカウンタ16及びパターンアドレスカウンタ17に1スキャンライン毎にセットされる。
【0033】
一方、この画像データ転送装置2には、ローカルメモリ4から転送された画像データを一時格納するための3つのSRAM(Static Random Access Memory)、即ち、デスティネーションSRAM18、ソースSRAM19及びパターンSRAM20が備えられている。各アドレスカウンタ15,16,17は、ローカルメモリ4を階層化し、画像データ転送装置2とローカルメモリ4とのインターフェイスを、メモリコントローラ3を経由して一連の連続したデータ単位毎に行うことで、効率的にデータを転送する。このため、アドレスを次のように分解する。
【0034】
即ち、各アドレスカウンタ15,16,17は、受け取ったスタートアドレス(FBSPn)とエンドアドレス(FBEPn)とを、図6(a)に示すように、上位側からセクタアドレスUビット、ブロックアドレスVビット及びバイトアドレスWビットに分解することで、ローカルメモリ4を階層化する。全体のビット数は、同図(b)に示すように、U+V+Wビットとなり、ローカルメモリ4の容量は、最大2U+V+Wバイトとなる。換言すると、ローカルメモリ4は、2U個のセクタで構成され、1セクタは2V個のブロックで構成される。1ブロックは、2Wバイトから構成される。図6(a)の例は、V=3,W=3の例である。
【0035】
1ブロックのバイト数2Wバイトは、ローカルメモリ4のデータバス幅と等しい。即ち、ローカルメモリ4への1アドレスのアクセスで2Wバイト(1ブロック)分のデータを転送することができる。ローカルメモリ4へのアクセスは、2Wバイト(1ブロック)を単位として連続的に行われる。2Wバイト(1ブロック)分のデータ転送が最小で1回、最大で2V回連続し、最大の場合には、1セクタ分のデータが連続して転送されることになる。各SRAMのデータバス幅は、ローカルメモリ4のバス幅と等しい2Wバイトであり、アドレスはVビットとなる。これは1セクタ分のデータのサイズと等しい。
【0036】
図6(b)に示すように、ローカルメモリ4のアドレスの上位をローアドレス、下位をカラムアドレスとし、ローアドレスを固定、カラムアドレスのみを連続的に変化させるページモード伝送によって更に高速のデータ転送が実現される。
【0037】
また、転送開始と転送終了の際の1ブロックの転送データには、転送すべきピクセルデータ以外のデータが含まれることがあるので、各アドレスカウンタ15,16,17は、これらのデータをマスクするためのマスクデータを生成し、マスク演算回路23に供給する。マスク演算回路23は、入力されたマスクデータに基づいて、各SRAM18,19,20からデータを読み出して、ラスタ演算回路21にデータを送るための計算を実行する。ラスタ演算回路21は、各SRAM18,19,20からセクタデータを1ブロック単位で読み出し、マスク演算回路23からの演算結果も読み出してラスタ演算を行い、その演算結果を出力FIFO22に格納する。コントローラ24は、CPU1からの制御命令に従い、各回路をコントロールする。
【0038】
図7は、画像データ転送装置2の処理の流れを示すフローチャートである。
まず、各アドレス計算回路12,13,14の内部に設定される転送スキャンラインYの初期値としてY=YSがロードされる(S1)。次に、そのスキャンラインのスタートアドレス(FBSPn)とエンドアドレス(FBEPn)とが、それぞれアドレス計算回路12,13,14で計算され(S2)、その値がそれぞれアドレスカウンタ15,16,17に渡される。各アドレスカウンタ15,16,17で生成されるアドレスに従ってローカルメモリ4から各SRAM18,19,20に1セクタ分のデスティネーションデータD、ソースデータS及びパターンデータPがそれぞれ転送される(S3,S4)。SRAM18,19,20への転送後は、1ブロック単位で、各SRAM18,19,20からデータを読み出す。読み出されたデータは、マスク演算回路23による演算結果に従い、ラスタ演算回路21にてラスタ演算され、出力FIFO22にストアされる(S5)。
【0039】
もし、ソースSRAM19にストアされているセクタデータの処理が終了した場合には(S7)、次のセクタデータを転送する(S4)。また、デスティネーションSRAM18にストアされているセクタデータの処理が終了した場合には、ラスタ演算終了後、出力FIFO22にストアされたデータをローカルメモリ4に書き込み(S8)、新たなセクタデータをデスティネーションSRAM18に転送する(S2)。また、パターンSRAM20にストアされているセクタデータの処理が終了した場合には(S7)、次のセクタデータを転送する(S4)。
【0040】
以上の処理を繰り返し、1ライン分のデータの処理が終了したら(S9)、Yを更新し(S10)、次のラインの処理に移る。そして、最後のラインの処理を終了したら、矩形領域の処理は終了する(S11)。
【0041】
図8は、アドレスカウンタ15〜17内の基本構成を示す図である。なお、パターンアドレスカウンタ17においてのみ、カラータグ計算用カウンタ40はないものとする。
【0042】
スタートアドレス(FBSP)は、スタートアドレスレジスタ30にロードされる。同時にFBSPは、アドレス更新回路31を経由して、上位Uビット(FBSP[U+V+W−1:V+W])がセクタアドレスレジスタ32に、中央のVビット(FBSP[V+W−1:W])がブロックアドレスレジスタ33に、下位Wビット(FBSP[W−1:0])がバイトアドレスレジスタ34にそれぞれロードされる。エンドアドレス(FBEP)は、エンドアドレスレジスタ35にロードされる。
【0043】
最初に、デスティネーションSRAM18,ソースSRAM19,パターンSRAM20にローカルメモリ4内のデータを転送するために、レジスタ32に格納されたローカルメモリ4のセクタのアドレスを示すセクタアドレス(SEC)がメモリコントローラ3に出力されると共に、そのセクタにおいて転送すべきブロック数(BLKCNT)及びセクタ内の転送すべき最初のブロックのアドレス(セクタ内のブロックがスタートするアドレス)を示すブロックスタートアドレス(BLKSTR)がセクタ内ブロック演算回路45等で計算され、メモリコントローラ3に送られる。また、セクタ内ブロック演算回路45は、上述したブロック数(BLKCNT)及びブロックスタートアドレス(BLKSTR)の他、セクタ内のブロックが終了するアドレスを示すブロックエンドアドレス(BLKEND)も計算する。
【0044】
このセクタ内ブロック演算回路45での計算には、セクタスタートコンパレータ37の出力であるセクタスタートフラグ(SECSTRF)、セクタエンドコンパレータ36の出力であるセクタエンドフラグ(SECENDF)、スタートアドレスレジスタ30に格納されたブロックスタートアドレス(FBSP[V+W−1:W])、エンドアドレスレジスタ35に格納されたブロックエンドアドレス(FBEP[V+W−1:W])及び転送のXの方向を表すXDIR等が入力され用いられる。
【0045】
セクタスタートコンパレータ37はスタートアドレスレジスタ30からのスタートアドレスのセクタアドレス(FBSP[U+V+W−1:V+W])とセクタアドレスレジスタ32からのセクタアドレス(SEC)とを比較し、等しいときはその出力データ(SECSTRF)を1とし、等しくないときは0とする。また、セクタエンドコンパレータ36はエンドアドレスレジスタ35からのエンドアドレスのセクタアドレス(FBEP[U+V+W−1:V+W])とセクタアドレスレジスタ32からのセクタアドレス(SEC)とを比較し、等しいときはその出力データ(SECENDF)を1とし、等しくないときは0とする。
【0046】
図9は、セクタアドレスレジスタ32に格納されているセクタデータを説明するための図である。
【0047】
例えば、XDIR=0と定義され、SECSTRF,SECENDFが0のとき、セクタアドレスレジスタ32に格納されているセクタアドレスは、図9(a)に示すように、矩形領域を構成するラインの最初のセクタではなく、最後のセクタでもないことがわかる。この場合、セクタ内にあるブロックの数(BLKCNT)は2V個で、ブロックのスタートアドレス(BLKSTR)は0、エンドアドレス(BLKEND)は2V−1となる。
【0048】
SECSTRFが1でSECENDFが0のとき、セクタアドレスレジスタ32に格納されているセクタは、矩形領域を構成するラインの最初のセクタであることが同図(b)から分かる。この場合、セクタ内にあるブロックの数は、2V−FBSP[V+W−1:W]個となり、ブロックのスタートアドレスはFBSP[V+W−1:W]、エンドアドレスは2V−1となる。
【0049】
また、SECSTRFが0でSECENDFが1のとき、セクタアドレスレジスタ32に格納されているセクタは、矩形領域を構成するラインの最後のセクタであることが同図(c)から分かる。この場合、セクタ内にあるブロックの数はFBEP[V+W−1:W]+1個となり、ブロックのスタートアドレスは0でエンドアドレスはFBEP[V+W−1:W]となる。
【0050】
更に、SECSTRF,SECENDFともに1のとき、セクタアドレスレジスタ32に格納されているセクタは、矩形領域を構成するラインの最初のセクタであり、最後のセクタでもあることが同図(d)から分かる。この場合、ブロックの数は、FBEP[V+W−1:W]−FBSP[V+W−1:W]+1個となり、ブロックのスタートアドレスはFBSP[V+W−1:W]、エンドアドレスはFBEP[V+W−1:W]となるのである。上記の結果と、新たにXDIR=1のときのそれぞれの場合を追加した形で表にまとめると、図10に示すようなものになる。
【0051】
ブロックスタートコンパレータ39は、スタートアドレスレジスタ30のブロックアドレス(FBSP[V+W−1:W])部分とブロックアドレスレジスタ33に格納されたブロックアドレス(BLK)とを比較し、等しいときはその出力データ(BLKSTRF)を1、等しくないときは0として出力するものである。また、ブロックエンドコンパレータ38は、エンドアドレスレジスタ35のブロックアドレス(FBEP[V+W−1:W])部分とブロックアドレスレジスタ33に格納されたブロックアドレス(BLK)とを比較し、等しいときはその出力データ(BLKENDF)を1、等しくないときは0として出力するものである。
【0052】
上述の各コンパレータ36〜39の出力SECENDF,SECSTRF,BLKENDF,BLKSTRFに基づき、スタートマスク演算回路46でスタートマスク(STRMSK)、エンドマスク演算回路47でエンドマスク(ENDMSK)がそれぞれ計算される。図11に示すように、スタート及びエンドマスクは共に0又は1のデータからなる連続した2Wビットのパターンであり、各マスクの1ビットが各SRAM18,19,20から読み出された1バイト分のデータに対応し、2Wビットのパターンは1ブロック分のデータに対応するものである。
【0053】
マスク論理積演算回路48は、スタート及びエンドマスク演算回路46,47からの出力データであるスタート及びエンドマスクを入力し、これらの論理積データ(AMSK)を計算することで、スタートアドレス(FBSP)とエンドアドレス(FBEP)との間に存在するバイトには1を、それ以外には0をフラグとして与える役割を担っている。
【0054】
例えば、図12(a)に示すように、スタートマスク演算回路46でのスタートマスクの計算は、XDIR=0のときは、Wビット内のすべて1である2進数パターン(2W−1)をバイトアドレスレジスタ34内のバイトアドレス(BYT)だけ右にシフトして左から0を詰めることで行われる。同様に、同図(b)に示すように、XDIR=1のときのスタートマスクの計算は、Wビット内のすべて1である2進数パターン(2W−1)を2W−1−BYT(バイトアドレス)だけ左にシフトし、右から0を詰めることで行われる。この場合、スタートアドレス(FBSP)がブロック内にあるときはSECSTRF及びBLKSTRFが共に1となる。また、ブロック内スタートアドレス演算回路49は、このときのマスクがスタートするブロック内のアドレス(BYTSTR)を計算する。
【0055】
一方、同図(c)に示すように、エンドマスク演算回路47でのエンドマスクの計算は、XDIR=0のとき、エンドアドレス(FBEP)のバイトアドレスがFBEP[W−1:0]とすると、Wビット内のすべて1である2進数パターン(2W−1)を2W−1−FBEP[W−1:0]だけ左にシフトし、右から0を詰めることで行われる。同様に、同図(d)に示すように、XDIR=1のときのエンドマスクの計算は、Wビット内のすべて1である2進数パターン(2W−1)をFBEP[W−1:0]だけ右にシフトし、左から0を詰めることで行われる。この場合もスタートアドレスがブロック内にあるときはSECSTRF及びBLKSTRFが共に1であるときといえる。このようにして計算された各マスクは、ブロック毎にマスク演算回路23に送られるのである。
【0056】
スタートフラグ回路50は、セクタスタートコンパレータ37の出力SECSTRF及びブロックスタートコンパレータ39の出力BLKSTRFを入力してスタートフラグXSTRFを出力する。エンドフラグ回路51は、セクタエンドコンパレータ36の出力SECENDF及びブロックエンドコンパレータ38の出力BLKENDFを入力してエンドフラグXENDFを出力する。
【0057】
次に、カラータグ計算用カウンタ40とアドレス更新回路31について説明する。カラータグ計算用カウンタ40は、トランスペアレント処理(透明処理)の計算のために後段で用いられるものであり、スタートアドレス(FBSP)及びエンドアドレス(FBEP)が入力されるときに初期化するように設定されている。このカラータグ計算用カウンタ40は、ブロックアドレスレジスタ33からの出力BLKが更新されるのに同期して、その出力タグブロックアドレス(TGBLK)を更新する。
【0058】
その更新パターンは、BPPとXDIRとによって決まるもので、初期値と更新パターンとは、図13に示すようなものになる。例えば、1ピクセル当たり2バイト(BPPが2)でXDIRが0のときは、TGBLKは0,1,0,1…を繰り返すように更新される。なお、デスティネーションアドレスカウンタ15及びソースアドレスカウンタ16内のカラータグ計算用カウンタ40の出力TGBLKは、後述するように、それぞれデスティネーションSRAM18,ソースSRAM19へ送られ、各SRAM内にあるタグ選択回路93の出力を選択するのに利用される。
【0059】
アドレス更新回路31は、セクタアドレスレジスタ32からの出力セクタアドレス(SEC)とブロックアドレスレジスタ33からの出力ブロックアドレス(BLK)とを一連の値として捉え、コントローラ24からの指示によりエンドアドレスレジスタ35内の値と一致するまでBLK単位でアドレスをインクリメントし、上記セクタアドレス(SEC)とブロックアドレス(BLK)を更新する。この場合、エンドアドレスレジスタ35内の値と一致するかどうかは、エンドフラグ回路51にてSECENDF及びBLKENDFが共に1であることにより検出される。
【0060】
次に、この画像データ転送装置2内のマスク演算回路23について説明する。
【0061】
マスク演算回路23は、主に各アドレスカウンタ15,16,17から送られてきたデスティネーション,ソース,パターンの各マスクデータAMSK(以下、これをそれぞれDSTMSK,SRCMSK,PATMSKと呼ぶ。)及び各ブロック内スタートアドレスBYTSTR(以下、これをそれぞれDBYTSTR,SBYTSTR,PBYTSTRと呼ぶ。)等に基づき、画像表示装置5のデータ転送を制御するための計算を行うものである。なお、各スタートアドレスは、そのときのマスクがスタートするアドレスを表しているものである。
【0062】
図14に示すように、デスティネーション,ソース,パターンの各スタートアドレス(FBSP)は、ローカルメモリ4内の任意のアドレスを指している。マスク演算回路23は、これらのアドレスに基づいて、データ転送時にデスティネーション,ソース,パターンの各バイトが転送のスタートバイトからそれぞれ1対1で転送されるように対応させ、転送を制御している。
【0063】
図15は、このマスク演算回路23の内部構成を示すブロック図である。
マスク演算回路23は、ローカルメモリ4からSRAM18〜20にそれぞれ転送されたデスティネーション,ソース,パターンのいずれかのセクタデータがなくなるまで、各SRAM18,19,20からそのデータを読み出してラスタ演算回路21に出力するための計算を行う。
【0064】
はじめに、図16(a)に示すように、デスティネーションアドレスカウンタ15からのDSTMSKと、ソースアドレスカウンタ16からのSRCMSKと、パターンアドレスカウンタ17からのPATMSKとがマスク演算回路23に入力され、各マスクセレクタ53,54,55を通過し、それぞれのレジスタ56,57,58に格納される。一方、上記各アドレスカウンタ15,16,17からの各ブロック内スタートアドレスDBYTSTR,SBYTSTR,PBYTSTRは、各アドレスセレクタ60,61,62を通って後段の減算器63,64,65,66に入力される。
【0065】
減算器63は、DSTMSKとSRCMSKのマスクがスタートする1ブロック内のアドレス差(SRCSFT)を計算しレジスタ67に出力する。同様に減算器65は、DSATMSKとPATMSKのマスクがスタートする1ブロック内のアドレス差(PATSFT)を計算しレジスタ69に出力する。減算器63,65から出力されレジスタ67,69に格納されたアドレス差SRCSFT,PATSFTとXDIRとをシフタ71,72は入力し、シフタ71がソースマスクデータSRCMSKを、シフタ72がパターンマスクデータPATMSKをそれぞれそのマスクのスタートがDSTMSKに一致するまでシフトする。このときのシフトは、DSTMSKに対して正・負の両方向に可能なものである。そして、その結果は、マスクデータ(SRCADJ,PATADJ)としてそれぞれシフタ71,72から論理演算回路73に出力される。論理演算回路73は、これらのマスクデータの他、DSTMSKを入力し論理積を計算することでDSTMSK内で処理すべきバイトを決定する役割を担っている。
【0066】
同時に、減算器64,66は、シフタ71,72がアドレス差SRCSFT,PATSFTに基づきシフトした方向と反対の方向へのシフトにあたるシフト数(SRCREV,PATREV)を計算してレジスタ68,70に出力する。シフタ74,75は、レジスタ68,70から格納されたシフト数SRCREV,PATREVを入力し、論理演算回路73からの出力マスクデータ(PRCMSK)をそれぞれ上記シフト数だけシフトしてマスク(SRCRMV,PATRMV)を算出しソースマスク論理演算回路77,パターンマスク論理演算回路79にそれぞれ出力している。このマスクSRCRMV,PATRMVは、ソースマスクSRCMSKとパターンマスクPATMSKのうち、デスティネーションマスクDSTMSKとの計算に寄与した部分を示している。
【0067】
図16(c)及び(d)に示すように、ソースマスク論理演算回路77及びパターンマスク論理演算回路79は、ソースマスクSRCMSK,パターンマスクPATMSKから、それぞれマスクSRCREV及びPATREVに対応する部分のマスクを取り除く演算をする。その結果、取り除かれ出力されたマスク(SRCUDT,PATUDT)が次に計算すべきSRCMSK,PATMSKとして更新されると共に、これらはそれぞれソースマスクセレクタ54及びパターンマスクセレクタ55を通り、レジスタ57,58に格納される。また、両論理演算回路77,79は、マスクが存在しないことが分かった時点でマスクがゼロとなったことを表す信号(SRCZR,PATZR)をそれぞれコントローラ24に対して出力する。この信号SRCZR及びPATZRを受けたコントローラ24は、新たな1ブロック分のマスクデータをソース及びパターンマスクセレクタ54,55を通してレジスタ57,58に格納するように制御を行う。
【0068】
また、このときコントローラ24は、ソース及びパターンアドレスカウンタ16,17にブロックを更新するように指示を出し、各アドレスカウンタ16,17から出力された新たな1ブロック分のマスクデータがレジスタ57,58に格納される。このマスクデータがレジスタ57,58に格納されるのと同時に、新たなスタートアドレスSBYTSTR,PBYTSTRが各アドレスカウンタ16,17からソース及びパターンアドレスセレクタ61,62に入力され、その後マスクスタートアドレス(SSTAD,PSTAD)として前述のように減算器63〜66に出力される。
【0069】
このように更新されたソース及びパターンマスク(SRCMSK,PATMSK)は、それぞれソースプライオリティエンコーダ(SPRIENC)81,パターンプライオリティエンコーダ(PPRIENC)80に入力され、マスクがスタートするアドレスSXUDT,PXUDTが計算される。また、更新されたマスクがゼロでない場合、ソース及びパターンアドレスセレクタ61,62は、先に計算されたアドレスSXUDT,PXUDTをマスクスタートアドレスSSTAD,PSTADとして、SSTADは減算器63,64へ、PSTADは減算器65,66へとそれぞれ出力する。
【0070】
一方、図16(b)に示すように、デスティネーションマスク論理演算回路76は、入力したデスティネーションマスクデータDSTMSKの論理演算回路73からのPRCMSKと一致する部分を取り除く処理をする。その出力である取り除かれたマスクDSTUDTは、次に計算すべきDSTMSKとして更新され、デスティネーションマスクセレクタ53を通ってレジスタ56に格納されるものである。この論理演算回路76もまた、マスクが存在しないとわかった場合、マスクがゼロとなったことを表す信号DSTZRをコントローラ24に出力する。この信号DSTZRを受けたコントローラ24は、デスティネーションアドレスカウンタ15にブロックを更新させ、新たな1ブロック分のマスクデータを出力させる。このマスクデータは、デスティネーションマスクセレクタ53に入力され、レジスタ56に格納される。
【0071】
この更新されたデスティネーションマスクDSTMSKは、デスティネーションプライオリティエンコーダ(DPRIENC)82に入力され、そこでマスクがスタートするアドレスDXUDTが計算される。更新されたマスクがゼロでない場合、デスティネーションアドレスセレクタ60は、先に計算されたアドレスDXUDTをマスクスタートアドレスDSTADとして、減算器63〜66へとそれぞれ出力する。
【0072】
上述のようなマスク演算処理過程において、例えばソースのマスクがゼロとなり、且つソースSRAM19にローカルメモリ4から転送された1セクタ内の全ブロックの更新が終了した場合、コントローラ24は、次のセクタデータをソースSRAM19に転送するように制御を行う。また、デスティネーションのマスクがゼロとなり、且つデスティネーションSRAM18にローカルメモリ4から転送された1セクタ内の全ブロックの更新が終了した場合、コントローラ24は、ラスタ演算回路21によるラスタ演算の終了を待って出力FIFO22に格納された更新後のデスティネーションデータをローカルメモリ4に書き込み、次のセクタデータをデスティネーションSRAM18に転送する制御を行う。更に、パターンのマスクがゼロとなり、且つパターンSRAM20にローカルメモリ4から転送された1セクタ内の全ブロックの更新が終了した場合、コントローラ24は、次のセクタデータをパターンSRAM20に転送するように制御を行う。
【0073】
また、このとき論理演算回路78は、ソースデータのバイトパターンの中で、PRCMSKに寄与のある部分を示すマスク(SRCPRC)を計算する。このマスクSRCPRCは、以下のような計算によって得ることができる。即ち、SRCPRCがゼロのバイトはPRCMSKに対して寄与しないが、SRCPRCが1のバイトはPRCMSKに対して寄与することが前提としてある場合は、SRCPRC=SRCMSK&SRCRMVとして求めることができる。これは、後段のラスタ演算回路21にて、イネーブルフラグの計算に用いられるものである。
【0074】
次に、この画像データ転送装置2内の各SRAM18〜20で行われるカラータグ演算処理について、各SRAM18〜20の内部構成を示す図である図17を参照しながら説明する。但し、パターンSRAM20内には、スタートバイトレジスタ90,タグブロックレジスタ91,タグ計算回路92,タグ選択回路93及びトランスペアレントフラグ計算回路(TRP)95はないものとする。
【0075】
デスティネーション,ソース及びパターンSRAM18〜20内のラインアドレスカウンタ(CNTR)85は、それぞれ対応するデスティネーション,ソース及びパターンアドレスカウンタ15,16,17からブロックスタート信号(BLKSTR)及びブロックカウンタ信号(BLKCNT)を受け取る。これらの信号は、同時にメモリコントローラ3へも出力される。
【0076】
メモリコントローラ3は、ローカルメモリ4からセクタアドレスSECと、BLKSTRにより指定されるアドレスからBLKCNTで指定されるだけのデータを読み出し、画像表示装置5内にあるSRAM等のメモリ(図示せず)にこのデータを転送する。このBLKSTRは、SRAM88のライトアドレスのスタートとなり、そのアドレスからBLKCNTで与えられるアドレス分だけローカルメモリ4からデータが転送され、その転送されたデータがSRAM88に書き込まれる。データがSRAM88に転送された後に、今度はデータの読み出しが行われる。このデータは、各アドレスカウンタ15,16,17から送られるそれぞれの対応するブロックアドレス(BLK)により読み出される。
【0077】
このとき、SRAM88のアドレスは、コントローラ24からの指示により、セレクタ86で各アドレスカウンタ15〜17のそれぞれが出力するBLK側に切り換えられ、このBLKによりSRAM88から読み出された1ブロック分のデータは、後段のラスタ演算回路21に転送される。
【0078】
またこのとき、カラータグを用いて、各SRAM18〜20でトランスペアレント処理(透明処理)のための計算も同時に行われる。以下にこれを説明する。
【0079】
スタートバイトレジスタ90は、矩形領域を構成する1ラインの最初のFBSPのバイトアドレスを1ラインの処理が継続する間中保持し続ける。タグブロックレジスタ91は、各ブロックごとのタグブロックを保持するレジスタであり、ブロックの処理ごとに更新されるものである。このスタートバイトレジスタ90の出力データBYTSTRは、続くタグ計算回路(TAGTBL)92をアクセスし、タグブロックレジスタ91の出力データTGBLKは、タグ選択回路(MUX)93をアクセスする。このタグ選択回路93は、タグ計算回路92からの複数の出力データTAGTBLのうちの1つを選択する役割を担っている。
【0080】
ここで、図18に示すように、1ピクセルは最大4バイトのデータで構成され、この最大4バイトのピクセルデータに対して、各バイトに0から3までのカラータグ(CT)を定義すると、1ピクセルが1バイトのときカラータグは0となることが分かる。同図より、1ピクセルが2バイトのときは上位側のバイトが1で下位側が0、3バイトのときは上位側から2,1,0、4バイトのときは上位側から3,2,1,0となることが分かる。
【0081】
このカラータグは、図19に示すように、スタートアドレスFBSPで指定される最初のバイトから順番に割り付けられ、BPPの単位でエンドアドレスFBEPまで繰り返される。ここで、BPPの最大が4バイトであることから、タグ計算回路92は、最大で2W×4バイト分のカラータグを出力することが分かる。2Wバイトのデータを同時に処理することから、2Wバイト分ごとのカラータグをタグブロックTGBLKとすると、その構成は図20に示すように定義される。
【0082】
このようにして定義されたカラータグ,タグブロック,BPPの関係をタグ計算回路92の出力TAGTBLとして考えると、図21〜23に示すようになる。なお、この場合の下位ビットWは、W=3とする。
【0083】
図21(a)に示すように、BPPが1バイトのときのカラータグの値は常にゼロとなる。BPPが2バイトのときのカラータグの値は、XDIR及びスタートアドレスのバイト部分BYTSTRのLSB(Least Significant Bit/Byte)により決まる。
XDIR=0でBYTSTR[0]=0のとき、又は
XDIR=1でBYTSTR[0]=1のときは同図(b)に示すように、
XDIR=0でBYTSTR[0]=1のとき、又は
XDIR=1でBYTSTR[0]=0のときは同図(c)に示すようになる。
【0084】
また、BPPが3バイトのときのカラータグの値は、図22に示すようにXDIR及びスタートアドレスのバイト部分BYTSTRのLSB側3ビットにより決まる。
XDIR=0でBYTSTR[2:0]=0,3,6のとき、又は
XDIR=1でBYTSTR[2:0]=1,4,7のときは同図(a)に示すように、
XDIR=0でBYTSTR[2:0]=2,5のとき、又は
XDIR=1でBYTSTR[2:0]=0,3,6のときは同図(b)に示すように、
XDIR=0でBYTSTR[2:0]=1,4,7のとき、又は
XDIR=1でBYTSTR[2:0]=2,5のときは同図(c)に示すようにそれぞれ定義される。
【0085】
更に、BPPが4バイトのときのカラータグの値は、図23に示すようにXDIR及びBYTSTRのLSB側2ビットにより決まる。
XDIR=0でBYTSTR[1:0]=0のとき、又は
XDIR=1でBYTSTR[1:0]=3のときは同図(a)に示すように、
XDIR=0でBYTSTR[1:0]=3のとき、又は
XDIR=1でBYTSTR[1:0]=2のときは同図(b)に示すように、
XDIR=0でBYTSTR[1:0]=2のとき、又は
XDIR=1でBYTSTR[1:0]=1のときは同図(c)に示すように、
XDIR=0でBYTSTR[1:0]=1のとき、又は
XDIR=1でBYTSTR[1:0]=0のときは同図(d)に示すようにそれぞれ定義されるのである。
【0086】
タグ計算回路92の出力であるTAGTBLは、タグ選択回路93に入力され、そこでデスティネーション及びソースアドレスカウンタ15,16内のカラータグ計算用カウンタ40で計算されたTGBLKで指定された部分が選択され、カラータグ(CT)となる。カラータグは、2ビットから構成される2W個のデータであり、1ブロック内の各バイトデータのカラータグを示す。このカラータグは、トランスペアレント計算のためにトランスペアレント計算回路(TRP)95に出力される。
【0087】
ここで、トランスペアレント計算回路(TRP)95について説明する。
図24は、このトランスペアレント計算回路95の内部構成を示す図である。
【0088】
トランスペアレント計算回路95は、主にFG/BGセレクタ120,2W個のセレクタ121〜126,2W個の比較器127〜132,2W個のレジスタ133〜138,2W個の演算器139〜144,レジスタ145及びR/Lセレクタ146から構成される。なお、2W個からなるセレクタ,比較器,レジスタ,演算器は、それぞれ1ブロック内にある各バイトデータに対応して設けられているものである。
【0089】
FG/BGセレクタ120は、図示しないインターフェイスから送られてくる転送先領域の背景色(FG:フォアグラウンドカラー)と転送元領域の背景色(BG:バックグラウンドカラー)とを、同じく送られてくる前トランスペアレントカラーデータ(FGTR)を利用して選択し、どちらをトランスペアレントカラーとするかを決定する。その結果、このFG/BGセレクタ120の出力TRCOLが、新たなトランスペアレントカラーとなる。このトランスペアレント計算回路95は、デスティネーション領域又はソース領域に格納されているピクセルデータとトランスペアレントカラーとをピクセル単位で比較し、その結果等しい場合は、そのピクセルデータはトランスペアレントであるとし、図17に示すように新しいデータに書き換えないようにするためのフラグ(TRPF)を後段に出力する。
【0090】
FG/BGセレクタ120から出力されたTRCOLは、BPPの定義より、最大で4バイトとなる。各セレクタ121〜126は、カラータグ(CT0〜CT2W−1)により、TRCOLを構成するバイト成分をカラータグの値で選択し、各比較器127〜132に出力する。これを受けて各比較器127〜132は、図示しないメモリからの出力データ(RDT)と選択されたトランスペアレントカラー成分とをバイト単位で比較し、等しいときには1、等しくないときには0と定義して、比較結果NEQを出力する。各レジスタ133〜138は、各比較器127〜132で比較された結果NEQとそれに対応するカラータグ(CT)とを一時的に保持し、保持されたNEQとCTとをカレントデータのCEQ,CCTとして出力する。レジスタ145は、このカレントの比較結果CEQを保持し、それらをPEQとしてR/Lセレクタ146に出力する。
【0091】
ここで、図25に示すように、1ブロック内でバイトアドレスのゼロバイトに近づく方向を左、2W−1バイトに近づく方向を右とすると、BPPの最大が4バイトであることから、現在のカラータグを含めて最大で左右に3バイト分の各比較器127〜132での比較結果を参照すれば、そのピクセルがトランスペアレントとして与えられたカラーと等しいかどうかを判断することができる。
【0092】
また、このとき、1ピクセル内のバイトデータがブロック間をまたぐ場合があり、この場合、図26に示すように、現在処理中のブロックの一つ前又は一つ後のブロックデータの各比較器127〜132での比較結果を参照する。
【0093】
更に、PEQは、現在の処理に対して一つ前に処理されたブロックの各比較器127〜132での比較結果となり、NEQは、現在の処理に対して一つ後に処理されるブロックの各比較器127〜132での比較結果となる。現在の処理の各比較器127〜132での比較結果CEQのゼロバイトから2W−1バイトまでの各バイトに対する左右に隣接するそれぞれ3バイトは、図27で示すように表すことができる。
【0094】
この図27の表(a),(b)から、
CEQ0に対するleft3,left2,left1と、
CEQ1に対するleft3,left2と、
CEQ2に対するleft3と、
CEQ2W−3に対するright3と、
CEQ2W−2に対するright3,right2と、
CEQ2W−1に対するright3,right2,right1とが、XDIRにより異なっているということが導き出せる。
【0095】
R/Lセレクタ146は、上述のNEQ,PEQ及びXDIRを入力して選択し、適切なものをCEQ2W−1,CEQ2W−2,CEQ2W−3,CEQ2,CEQ1,CEQ0の各演算器139〜144に出力する。各演算器139〜144は、入力したCCTとBPPにより、左右のどの各比較器127〜132での比較結果を参照すればよいかを知ることができる。例えば、BPPが1のとき、ゼロバイトから2W−1バイトまでの各比較器127〜132での比較結果が、そのままトランスペアレントかどうかを示しているということができる。このとき、0ならトランスペアレントではなく、1ならトランスペアレントであるといえる。
【0096】
例えば、図28(a)に示すように、BPPが2のときは、現在の処理に対して左右に1バイトずつの各比較器127〜132での比較結果を参照すれば、左右どちらかの比較結果を参照すべきかは、現在処理中のカラータグの値により決まる。現在の処理のカラータグがゼロの場合、右の1バイトが同一ピクセルであり、現在の処理のカラータグが1の場合、左の1バイトが同一ピクセルであることが分かる。もし、各比較器127〜132での比較結果が共に1であるならば、このピクセルはトランスペアレントであるということができる。図28では、白地以外の部分が同一ピクセルであることを示している。
【0097】
また、BPPが3のときは、現在の処理に対して最大2バイトずつの各比較器127〜132での比較結果を参照することができる。もし、同一ピクセル部分の各比較器127〜132での比較結果がすべてならば、このピクセルはトランスペアレントであるということができる。
【0098】
更に、BPPが4のときは、現在の処理に対して左右に最大3バイトずつの各比較器127〜132での比較結果を参照することができる。従って、上記と同様に同一ピクセル部分の各比較器127〜132での比較結果がすべて1であるならば、このピクセルはトランスペアレントであるということができる。以上のように各比較器127〜132で計算された結果が、TRPFとしてラスタ演算回路21に出力される。
【0099】
最後に、この画像データ転送装置2内のラスタ演算回路21について簡単に説明する。図29は、ラスタ演算回路21の内部構成を示す図であり、このラスタ演算回路21は、デスティネーション,ソース,パターンの各SRAM18,19,20から読み出したデータに対してラスタ演算するものである。
【0100】
ラスタ演算回路21は、主にソースSRAM19からの1ブロック分のデータを、バイトデータを単位としてシフトするSBシフタ150,パターンSRAM20からの1ブロック分のデータを、同じくバイトデータを単位としてシフトするPBシフタ151,8ビットのラスタ演算を実行する2W個の8ビットラスタ演算回路1521〜152n,書き込みイネーブルのデータを計算するイネーブルデータ計算回路153,このイネーブルデータ計算回路153内で、ソーストランスペアレントフラグをシフトするシフタ(図示せず),ラスタ演算の結果を格納する2W個のレジスタ1541〜154n等から構成されている。
【0101】
まず、デスティネーションSRAM18から読み出された2Wバイトのデスティネーションデータは、それぞれ対応する8ビットラスタ演算回路1521〜152nに入力される。ソースSRAM19から読み出された2Wバイトのソースデータは、マスク演算回路23で計算されたシフト分データである1ブロック内のアドレス差SRCSFTと等しい分だけSBシフタ150にてバイト単位でシフトされ、デスティネーションデータと対応させられる。同様に、パターンSRAM20から読み出された2Wバイトのパターンデータも、マスク演算回路23で計算されたPATSFTと等しい分だけPBシフタ151にてバイト単位でシフトされ、デスティネーションデータと対応させられる。8ビットラスタ演算回路1521〜152nは、指定されたコードにより、これらのデスティネーション,ソース,パターンデータでラスタ演算を行い、この結果をレジスタ1541〜154nに格納する。このとき、マスク演算回路23で計算されたPRCMSKを各レジスタ1541〜154nは入力し、PRCMSKが1になるデータのみを格納している。
【0102】
イネーブルデータ計算回路153は、デスティネーションSRAM18からのトランスペアレントフラグ(DTRPF),ソースSRAM19からのトランスペアレントフラグ(STRPF),マスク演算回路23からのSRCPRC,SRCSFT,PRCMSK等を入力する。これらの入力情報に基づき、イネーブルデータ計算回路153は、各バイトデータ毎のローカルメモリ4への書き込みが行われるかどうかを決定するイネーブルフラグENを計算する。トランスペアレントの場合は、ローカルメモリ4への書き込みが行われず、以前の値がそのままローカルメモリ4内で維持されるように、イネーブルフラグENを変更する。
【0103】
このラスタ演算回路21の後段にある出力FIFO22は、1ブロック内のすべてのバイトデータのラスタ演算が終了したところで、レジスタ1541〜154nに格納されている結果を自身のメモリ(図示せず)に書き込む。デスティネーションの1セクタ分のデータがすべて出力FIFO22内にあるメモリに書き込まれたところで、メモリコントローラ3に1セクタ分のデータを連続的に出力し、そのデータをローカルメモリ4に書き込むことで、データの転送を行っている。
【0104】
【発明の効果】
以上述べたように、この発明によれば、(1)画像データを演算処理し転送する際に、画像データを1ピクセルが1又は複数のバイトで構成された画像データとして、この1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し位置合わせを行い演算処理を実行する、(2)各走査ライン毎に転送開始及び転送終了ブロックアドレスを算出し転送開始ブロックから転送終了ブロックまで連続的に画像データを転送する、(3)各ブロック内の転送画像開始及び終了バイトアドレスに基づき転送領域以外をマスクするマスクパターンを生成し転送領域でブロック内における位置合わせを行う、(4)画像データ1ピクセル分のバイト毎にカラータグが設定されブロック内の転送画像開始バイトアドレスに基づき各バイトのカラータグが設定される、という画像データ転送装置を採用し画像表示処理システムにこの画像データ転送装置を組み込むことで、画像表示処理の高速化及び高効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る画像表示処理システムの基本構成を説明するためのブロック図である。
【図2】 同システムにおける画像データ転送装置の機能を概略的に示す図である。
【図3】 同装置の詳細な構成を示すブロック図である。
【図4】 同装置における転送矩形領域を含む画像データの矩形(表示)領域を更に詳細に示す図である。
【図5】 同装置における転送矩形領域のXDIR,YDIRを概略的に示す図である。
【図6】 同装置におけるローカルメモリ内に構築されている画像データの構成を示す図である。
【図7】 同装置の処理の流れを示すフローチャートである。
【図8】 同装置内のアドレスカウンタ内部の基本構成を示す図である。
【図9】 同カウンタ内部のセクタアドレスレジスタに格納されているセクタデータを説明するための図である。
【図10】 同カウンタ内部のセクタアドレスレジスタに格納されているセクタデータを示す図である。
【図11】 同カウンタ内部におけるマスク演算処理時の各データの構成を説明するための図である。
【図12】 同カウンタ内部におけるマスク演算処理の結果を説明するための図である。
【図13】 同カウンタ内部におけるカラータグ計算用カウンタの初期値と更新パターンとを示す図である。
【図14】 同装置におけるデスティネーション,ソース,パターンの各スタートアドレスのローカルメモリ内の構成を示す図である。
【図15】 同装置におけるマスク演算回路の内部構成を示すブロック図である。
【図16】 同装置におけるマスク演算回路での各データの処理を説明するための図である。
【図17】 同装置における各SRAMの内部構成を示す図である。
【図18】 同装置における各SRAMでのカラータグ演算処理のデータ構成を説明するための図である。
【図19】 同処理のデータ構成を説明するための図である。
【図20】 同処理のデータ構成を説明するための図である。
【図21】 同処理におけるカラータグ,タグブロック,BPPの関係を示す図である。
【図22】 同処理におけるカラータグ,タグブロック,BPPの関係を示す図である。
【図23】 同カラータグ演算処理におけるカラータグ,タグブロック,BPPの関係示す図である。
【図24】 同装置における各SRAMにあるトランスペアレント計算回路の内部構成を示す図である。
【図25】 同回路におけるトランスペアレント計算処理のデータの構成を説明するための図である。
【図26】 同処理におけるデータの比較方法を説明するための図である。
【図27】 同処理におけるデータの比較結果の構成を表した図である。
【図28】 同処理におけるデータの比較結果を表した図である。
【図29】 同装置におけるラスタ演算回路の内部構成を示す図である。
【図30】 従来の画像表示処理システムの構成を示すブロック図である。
【符号の説明】
1…CPU、2…画像データ転送装置、3…メモリコントローラ、4…ローカルメモリ、5…表示装置、11…インターフェイス、12…デスティネーションアドレス計算回路、13…ソースアドレス計算回路、14…パターンアドレス計算回路、15…デスティネーションアドレスカウンタ、16…ソースアドレスカウンタ、17…パターンアドレスカウンタ、18…デスティネーションSRAM、19…ソースSRAM、20…パターンSRAM、21…ラスタ演算回路、22…出力FIFO、23…マスク演算回路、24…コントローラ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image display processing system for data constituting an image expressed on a plane in a raster scan type display device such as a CRT (Cathode Ray Tube), and more particularly to image data conversion for transferring image data of a specific area. Sending Place as well as The present invention relates to an image display processing system.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, as a two-dimensional image data processing apparatus using a raster scan type display device such as a CRT, for example, one disclosed in Japanese Patent Application Laid-Open No. 60-214392 is known.
[0003]
This type of image display processing system includes a display controller for image display processing in order to reduce the burden on the central processing unit (CPU).
[0004]
The configuration of such an apparatus is as shown in FIG. 30, for example. The image
[0005]
The still image and moving image data in this case is composed of a 2, 4 or 8-bit color code that specifies the color of the dot on the display screen, and the image
[0006]
Further, the image
[0007]
The
[0008]
In the image display processing system having the above-described configuration, each bit of the color code of the dot to be transferred can be performed without moving the rectangular area including the still image in a short time without using the CPU, or when the color code is transferred. And a logical operation between each bit of the color code of the transfer destination dot and write the result to the storage area of the
[0009]
In addition, this system includes a dot unit transfer mode in which a color code is transferred in units of dots and a byte unit transfer mode in which a color code is transferred in units of bytes.
[0010]
[Problems to be solved by the invention]
However, the above-described conventional image display processing system cannot execute predetermined logical operation processing and transparency processing while realizing high-speed transfer. In particular, nowadays, due to the remarkable improvement in image processing technology and the accompanying rapid increase in the amount of image data transfer, it has become difficult for the apparatus as described above to meet the demands for high-speed transfer and fine image processing.
[0011]
The present invention has been made in view of such problems, and image data transfer capable of performing image processing and transfer data control more efficiently. Sending Place as well as An object is to provide an image display processing system.
[0012]
[Means for Solving the Problems]
Image data transfer according to the present invention Sending The image processing unit calculates the transfer destination area image data and the transfer destination area image data stored in the image data storage device on the basis of the designated transfer source area and transfer destination area parameters, and then transfers the transfer destination area. In the image data transfer device for transferring to an area, the image data is image data in which one pixel is composed of one or a plurality of bytes, and the image data is a block unit composed of a plurality of bytes larger than the image data of one pixel. , And the above processing is executed by aligning the blocks in the transfer source area and transfer destination area. In the image data for one pixel, a color tag is set for each byte, and a color tag for each byte is set based on the transfer image start byte address in the block. It is characterized by that.
[0013]
The image display processing system according to the present invention includes an image data storage device that stores image data, and a central processing that outputs parameters relating to a transfer source region and a transfer destination region of the image data stored in the image data storage device. And processing the image data of the transfer source area and the image data of the transfer destination area stored in the image data storage device based on the parameters relating to the transfer source area and the transfer destination area output from the central processing unit In the image display processing system comprising: an image data transfer device that transfers the image data to the transfer destination area; and an image data display device that displays the image data stored in the image data storage device. The pixel is image data composed of one or a plurality of bytes, and the central processing unit configures the one pixel. The number of bytes is output to the image data transfer device, and the image data transfer device transfers the image data in units of blocks composed of a plurality of bytes larger than the image data of one pixel, and includes a transfer source area, a transfer destination area, In the block, alignment is performed in the block and the arithmetic processing is executed, and then stored in the image data storage device. The image data for one pixel has a color tag set for each byte, and the image data transfer device sets the color tag for each byte based on the transfer image start byte address in the block. To do It is characterized by that.
[0014]
The image data transfer apparatus preferably includes a transfer start block for each scan line including the transfer source area and the transfer destination area, based on the parameters related to the designated transfer source area and the transfer destination area and the number of bytes per pixel. An address and a transfer end block address are calculated, and the image data is continuously transferred from a transfer start block including the transfer start block address to a transfer end block including the transfer end block address.
[0015]
Also, image data transfer Sending Preferably, a mask pattern for masking areas other than the transfer source area and the transfer destination area is generated based on the transfer image start byte address and the transfer image end byte address in each block, and the mask pattern is In use, the transfer source area and the transfer destination area are aligned in the block.
[0017]
According to the present invention, the image data in the transfer area stored in the image data storage device is processed based on the parameters relating to the designated transfer source and transfer destination areas (hereinafter referred to as “transfer area” only in this paragraph). When transferring, assuming that the image data is image data in which one pixel is composed of one or a plurality of bytes, the image data is transferred in units of blocks consisting of a plurality of bytes larger than the image data of one pixel and transferred. Performs arithmetic processing by aligning the blocks within the area. A color tag is set for each byte of image data, and a color tag for each byte is set based on the transfer image start byte address in the block. Image data transfer Sending Image data can be transferred at high speed. In addition, the image display processing efficiency can be improved. . Further, this image data transfer apparatus calculates transfer start and transfer end block addresses for each scanning line and continuously transfers the image data from the transfer start block to the transfer end block, so that the image data is transferred at high speed. be able to. In addition, this image data transfer Sending Since the mask pattern for masking the areas other than the transfer area is generated based on the start and end byte addresses of the transfer image in each block and the alignment in the block is performed in the transfer area, the image data can be transferred at high speed. . Obedience Thus, by incorporating this image data transfer device into the image display processing system, it is possible to increase the speed and efficiency of the image display processing.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of an image display processing system according to the present invention will be described below with reference to the drawings.
[0019]
FIG. 1 is a block diagram for explaining the basic configuration of an image display processing system according to an embodiment of the present invention.
[0020]
This image display processing system transfers a
[0021]
Among these, the image
[0022]
Hereinafter, the image
FIG. 3 is a block diagram showing a detailed configuration of the image
[0023]
The parameters specifying the destination area, source area, and pattern area sent from the
[0024]
That is, FIG. 4A is a diagram showing the rectangular (display) area of the image data including the transfer rectangular area in more detail. This rectangular area corresponds to the screen area for the source data S and the destination data D, and corresponds to the off-screen area for the pattern data P. In this example, one pixel is composed of 1 to 4 bytes. This number of bytes constituting one pixel is referred to herein as BPP (byte per pixel). Each parameter displayed here is given from the
[0025]
BASE: Data representing the coordinate value on the
PTCH: Data representing the width of one line of a rectangular area including a transfer rectangular area in bytes.
XS: Data representing the transfer start X coordinate value of the transfer rectangular area in pixels.
YS: Data representing the transfer start Y coordinate value of the transfer rectangular area as a scan line.
XEXT: Data representing the width in the X direction of the transfer rectangular area in the number of pixels.
YEXT: Data representing the width of the transfer rectangular area in the Y direction by the number of scan lines.
XDIR: Data indicating whether the transfer is performed from the positive or negative direction of X. 0 is positive (rightward) and 1 is negative (leftward). That is, as shown in FIG. 5, when XDIR is 0, XS is the left end of the transfer rectangular area, and X is updated in the positive direction from XS. When XDIR is 1, XS is the right end of the transfer rectangular area, and X is updated in the negative direction from XS.
YDIR: Data indicating whether the transfer is performed from the positive or negative direction of Y. Positive (downward) when 0 and negative (upward) when 1. That is, as shown in FIG. 5, when YDIR is 0, YS is the upper end of the transfer rectangular area, and Y is updated from YS in the positive direction. When YDIR is 1, YS becomes the lower end of the transfer rectangular area, and Y is updated in a negative direction from YS.
[0026]
As shown in FIG. 5, XDIR / YDIR is used to specify the transfer order so that pixels to be transferred are not rewritten before transfer when the source area S and the destination area D overlap. I need it.
[0027]
Here, the start address (FBSPn) and end address (FBEPn) in the n-th line when given by the scan line Y = n are given by the following equations when XDIR = 0.
[0028]
[Expression 1]
FBSPn = BASE + n × PTCH + XS × BPP
FBEPn = BASE + n × PTCH + (XS + XEXT) × BPP-1
[0029]
When XDIR = 1, it is given by the following equation.
[0030]
[Expression 2]
FBSPn = BASE + n × PTCH + (XS + 1) × BPP-1
FBEPn = BASE + n × PTCH + (XS−XEXT + 1) × BPP
[0031]
FIG. 4B is a diagram showing the start address (FBSPn) and end address (FBEPn) at Y = Yn when BASE = 0, as continuous data on the
[0032]
As described above, the start address and the end address calculated by the destination
[0033]
On the other hand, the image
[0034]
That is, each of the address counters 15, 16, and 17 converts the received start address (FBSPn) and end address (FBEPn) from the upper side to the sector address U bit and block address V bit as shown in FIG. And the
[0035]
Number of bytes in one
[0036]
As shown in FIG. 6B, higher-speed data transfer is performed by page mode transmission in which the upper address of the
[0037]
In addition, since one block of transfer data at the start and end of transfer may contain data other than the pixel data to be transferred, each
[0038]
FIG. 7 is a flowchart showing a process flow of the image
First, Y = YS is loaded as an initial value of the transfer scan line Y set in each
[0039]
If it is stored in the
[0040]
The above processing is repeated, and when processing of data for one line is completed (S9), Y is updated (S10), and the processing for the next line is started. Then, when the processing of the last line is finished, the processing of the rectangular area is finished (S11).
[0041]
FIG. 8 is a diagram showing a basic configuration in the address counters 15 to 17. Note that only the pattern address counter 17 does not have the color
[0042]
The start address (FBSP) is loaded into the
[0043]
First, in order to transfer the data in the
[0044]
In the calculation by the intra-sector block
[0045]
The sector start
[0046]
FIG. 9 is a diagram for explaining sector data stored in the
[0047]
For example, when XDIR = 0 is defined and SECSTRF and SECENDF are 0, the sector address stored in the
[0048]
When SECSTRF is 1 and SECENDF is 0, it can be seen from FIG. 4B that the sector stored in the
[0049]
Also, when SECSTRF is 0 and SECENDF is 1, it can be seen from FIG. 5C that the sector stored in the
[0050]
Further, when both SECSTRF and SECENDF are 1, it can be seen from FIG. 4D that the sector stored in the
[0051]
The block start
[0052]
Based on the outputs SECENDF, SECSTRF, BLKENDF, and BLKSTRF of each of the above-described
[0053]
The mask logical
[0054]
For example, as shown in FIG. 12A, the calculation of the start mask in the start
[0055]
On the other hand, as shown in FIG. 6C, the end mask calculation in the end
[0056]
The
[0057]
Next, the color
[0058]
The update pattern is B P It is determined by P and XDIR, and the initial value and the update pattern are as shown in FIG. For example, 2 bytes per pixel (B P When P is 2) and XDIR is 0, TGBLK is updated to repeat 0, 1, 0, 1. The output TGBLK of the color
[0059]
The
[0060]
Next, the
[0061]
The
[0062]
As shown in FIG. 14, the destination, source, and pattern start addresses (FBSP) point to arbitrary addresses in the
[0063]
FIG. 15 is a block diagram showing the internal configuration of the
The
[0064]
First, as shown in FIG. 16 (a), DSTMSK from the
[0065]
The
[0066]
At the same time, the
[0067]
As shown in FIGS. 16C and 16D, the source mask
[0068]
At this time, the
[0069]
The updated source and pattern masks (SRCMSK, PATMSK) are input to the source priority encoder (SPRIENC) 81 and pattern priority encoder (PPRIENC) 80, respectively, and addresses SXUDT and PXUDT at which the mask starts are calculated. If the updated mask is not zero, the source and
[0070]
On the other hand, as shown in FIG. 16B, the destination mask
[0071]
This updated destination mask DSTMSK is input to a destination priority encoder (DPRIENC) 82, where an address DXUDT at which the mask starts is calculated. If the updated mask is not zero, the
[0072]
In the above mask calculation processing process, for example, when the source mask becomes zero and the update of all blocks in one sector transferred from the
[0073]
At this time, the
[0074]
Next, color tag calculation processing performed in each of the
[0075]
The line address counter (CNTR) 85 in the destination, source and
[0076]
The
[0077]
At this time, the address of the
[0078]
At this time, calculation for transparent processing (transparency processing) is simultaneously performed in each of the
[0079]
The
[0080]
Here, as shown in FIG. 18, one pixel is composed of data of up to 4 bytes, and when a color tag (CT) from 0 to 3 is defined for each byte for the pixel data of up to 4 bytes, It can be seen that the color tag is 0 when 1 pixel is 1 byte. From the figure, when one pixel is 2 bytes, the upper byte is 1, and the lower side is 0, 3 bytes are 2, 1, 0 from the upper side, and 4 bytes are 3, 2, 1 from the upper side. , 0.
[0081]
As shown in FIG. 19, the color tags are allocated in order from the first byte specified by the start address FBSP, and are repeated up to the end address FBEP in units of BPP. Here, since the maximum BPP is 4 bytes, the
[0082]
When the relationship between the color tag, tag block, and BPP defined in this way is considered as an output TAGTBL of the
[0083]
As shown in FIG. 21A, the value of the color tag when the BPP is 1 byte is always zero. The value of the color tag when BPP is 2 bytes is determined by the XSB and the LSB (Least Significant Bit / Byte) of the byte part BYTSTR of the start address.
When XDIR = 0 and BYTSTR [0] = 0, or
When XDIR = 1 and BYTSTR [0] = 1, as shown in FIG.
When XDIR = 0 and BYTSTR [0] = 1, or
When XDIR = 1 and BYTSTR [0] = 0, the result is as shown in FIG.
[0084]
Further, as shown in FIG. 22, the value of the color tag when the BPP is 3 bytes is determined by 3 bits on the LSB side of the byte part BYTSTR of the XDIR and the start address.
When XDIR = 0 and BYTSTR [2: 0] = 0, 3, 6 or
When XDIR = 1 and BYTSTR [2: 0] = 1, 4, 7 as shown in FIG.
When XDIR = 0 and BYTSTR [2: 0] = 2, 5, or
When XDIR = 1 and BYTSTR [2: 0] = 0, 3, 6 as shown in FIG.
When XDIR = 0 and BYTSTR [2: 0] = 1, 4, 7 or
When XDIR = 1 and BYTSTR [2: 0] = 2,5, c ) Are defined respectively.
[0085]
Further, when the BPP is 4 bytes, the value of the color tag is determined by 2 bits on the LSB side of XDIR and BYTSTR as shown in FIG.
When XDIR = 0 and BYTSTR [1: 0] = 0, or
When XDIR = 1 and BYTSTR [1: 0] = 3, as shown in FIG.
When XDIR = 0 and BYTSTR [1: 0] = 3, or
When XDIR = 1 and BYTSTR [1: 0] = 2, as shown in FIG.
When XDIR = 0 and BYTSTR [1: 0] = 2, or
When XDIR = 1 and BYTSTR [1: 0] = 1, as shown in FIG.
When XDIR = 0 and BYTSTR [1: 0] = 1, or
XDIR = 1 and BYTSTR [1: 0] = 0 Are defined as shown in FIG.
[0086]
TAGTBL, which is the output of the
[0087]
Here, the transparent calculation circuit (TRP) 95 will be described.
FIG. 24 is a diagram showing an internal configuration of the
[0088]
The
[0089]
The FG /
[0090]
TRCOL output from the FG /
[0091]
Here, as shown in FIG. 25, the direction in which one byte approaches the zero byte of the byte address is left, 2 W If the direction approaching -1 byte is on the right, the maximum BPP is 4 bytes, so refer to the comparison results of each comparator 127-132 for 3 bytes at the maximum including the current color tag. For example, it can be determined whether the pixel is equal to the color given as transparent.
[0092]
At this time, there is a case where byte data in one pixel straddles between blocks. In this case, as shown in FIG. 26, each comparator of block data before or after the block currently being processed is compared. Reference is made to the comparison results at 127-132.
[0093]
Further, the PEQ is a comparison result of each of the
[0094]
From the tables (a) and (b) of FIG.
Left3, left2, left1 for CEQ0,
Left3, left2 for CEQ1,
Left3 for CEQ2,
CEQ2 W -3 for right-3,
CEQ2 W -Right3, -right2 for -2,
CEQ2 W It can be derived that right3, right2, and right1 for -1 are different depending on XDIR.
[0095]
The R /
[0096]
For example, as shown in FIG. 28A, when the BPP is 2, referring to the comparison result of each of the
[0097]
B P When P is 3, it is possible to refer to the comparison results in the
[0098]
Further, when the BPP is 4, the comparison result of each of the
[0099]
Finally, the
[0100]
The
[0101]
First, 2 read from the
[0102]
The enable
[0103]
The
[0104]
【The invention's effect】
As described above, according to the present invention, (1) When image data is processed and transferred, the image data is converted into image data in which one pixel is composed of one or more bytes, and the image data is transferred in units of blocks that are larger than the one-pixel image data. Align and execute arithmetic processing (2) Calculate the transfer start and transfer end block addresses for each scan line and transfer the image data continuously from the transfer start block to the transfer end block (3) A mask pattern for masking other than the transfer area is generated based on the transfer image start and end byte addresses in each block, and alignment within the block is performed in the transfer area. (Four) A color tag is set for each byte of image data, and a color tag for each byte is set based on the transfer image start byte address in the block. Sending By incorporating the image data transfer device into the image display processing system, it is possible to increase the speed and efficiency of the image display processing.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining a basic configuration of an image display processing system according to an embodiment of the present invention.
FIG. 2 is a diagram schematically illustrating a function of an image data transfer apparatus in the system.
FIG. 3 is a block diagram showing a detailed configuration of the apparatus.
FIG. 4 is a diagram showing in more detail a rectangular (display) area of image data including a transfer rectangular area in the apparatus.
FIG. 5 is a diagram schematically showing XDIR and YDIR of a transfer rectangular area in the apparatus.
FIG. 6 is a diagram showing a configuration of image data built in a local memory in the apparatus.
FIG. 7 is a flowchart showing a processing flow of the apparatus.
FIG. 8 is a diagram showing a basic configuration inside an address counter in the apparatus.
FIG. 9 is a diagram for explaining sector data stored in a sector address register in the counter.
FIG. 10 is a diagram showing sector data stored in a sector address register in the counter.
FIG. 11 is a diagram for explaining a configuration of each data at the time of mask calculation processing in the counter.
FIG. 12 is a diagram for explaining a result of mask calculation processing in the counter.
FIG. 13 is a diagram showing an initial value and an update pattern of a color tag calculation counter inside the counter.
FIG. 14 is a diagram showing a configuration in a local memory of each start address of destination, source, and pattern in the same device.
FIG. 15 is a block diagram showing an internal configuration of a mask arithmetic circuit in the same device.
FIG. 16 is a diagram for explaining processing of each data in a mask arithmetic circuit in the same device.
FIG. 17 is a diagram showing an internal configuration of each SRAM in the same device.
FIG. 18 is a diagram for explaining a data configuration of color tag calculation processing in each SRAM in the same device;
FIG. 19 is a diagram for explaining a data configuration of the same process.
FIG. 20 is a diagram for explaining a data configuration of the same process.
FIG. 21 is a diagram showing the relationship among color tags, tag blocks, and BPPs in the same processing.
FIG. 22 is a diagram showing the relationship among color tags, tag blocks, and BPPs in the same processing.
FIG. 23 is a diagram showing a relationship among color tags, tag blocks, and BPPs in the color tag calculation process.
FIG. 24 is a diagram showing an internal configuration of a transparent calculation circuit in each SRAM in the same device.
FIG. 25 is a diagram for explaining a data configuration of transparent calculation processing in the circuit;
FIG. 26 is a diagram for explaining a data comparison method in the processing;
FIG. 27 is a diagram showing a configuration of a data comparison result in the same processing.
FIG. 28 is a diagram showing a comparison result of data in the same processing.
FIG. 29 is a diagram showing an internal configuration of a raster operation circuit in the same device.
FIG. 30 is a block diagram illustrating a configuration of a conventional image display processing system.
[Explanation of symbols]
DESCRIPTION OF
Claims (6)
前記画像データは、1ピクセルが1又は複数のバイトで構成された画像データであり、前記1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行し、
前記1ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグが設定されるものである
ことを特徴とする画像データ転送装置。The image data in the transfer source area and the image data in the transfer destination area stored in the image data storage device are calculated based on the parameters relating to the designated transfer source area and transfer destination area, and then transferred to the transfer destination area. In the image data transfer device to
The image data is image data in which one pixel is composed of one or a plurality of bytes, and the image data is transferred in block units each having a plurality of bytes larger than the image data of one pixel, and is transferred to a transfer source area. Perform the above-mentioned arithmetic processing by performing alignment within the block with the destination area ,
The image data for one pixel has a color tag set for each byte, and a color tag for each byte is set based on a transfer image start byte address in the block. An image data transfer device.
前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである
ことを特徴とする請求項1記載の画像データ転送装置。Based on the parameters related to the designated transfer source area and transfer destination area and the number of bytes per pixel, a transfer start block address and a transfer end block address are calculated for each scanning line including the transfer source area and the transfer destination area. And
The image data transfer device according to claim 1, wherein the image data is continuously transferred from a transfer start block including the transfer start block address to a transfer end block including the transfer end block address.
ことを特徴とする請求項1又は2記載の画像データ転送装置。Based on the transfer image start byte address and the transfer image end byte address in each block, a mask pattern for masking an area other than the transfer source area and the transfer destination area is generated, and the transfer source is used using the mask pattern. The image data transfer apparatus according to claim 1 or 2, wherein the area and the transfer destination area are aligned in a block.
この画像データ記憶装置内に記憶された画像データの転送元領域及び転送先領域に関するパラメータを出力する中央処理装置と、
この中央処理装置から出力された転送元領域及び転送先領域に関するパラメータに基づいて画像データ記憶装置に記憶された前記転送元領域の画像データと前記転送先領域の画像データとを演算処理した後に前記転送先領域に転送する画像データ転送装置と、
前記画像データ記憶装置に記憶された画像データを表示する画像データ表示装置と、
を備えた画像表示処理システムにおいて、
前記画像データは、1ピクセルが1又は複数のバイトで構成された画像データであり、
前記中央処理装置は、前記1ピクセルを構成するバイト数を前記画像データ転送装置に出力し、
前記画像データ転送装置は、前記1ピクセルの画像データよりも大きい複数バイトからなるブロック単位で画像データを転送し、且つ転送元領域と転送先領域とでブロック内における位置合わせを行って前記演算処理を実行したのち、前記画像データ記憶装置に格納するものであり、
前記1ピクセル分の画像データは、バイト毎にカラータグが設定されたものであり、
前記画像データ転送装置は、前記ブロック内の転送画像開始バイトアドレスに基づいて各バイトのカラータグを設定するものである
ことを特徴とする画像表示処理システム。An image data storage device for storing image data;
A central processing unit for outputting parameters relating to a transfer source area and a transfer destination area of image data stored in the image data storage device;
After the arithmetic processing of the image data of the transfer source area and the image data of the transfer destination area stored in the image data storage device based on the parameters relating to the transfer source area and the transfer destination area output from the central processing unit, An image data transfer device for transferring to the transfer destination area;
An image data display device for displaying the image data stored in the image data storage device;
In an image display processing system comprising:
The image data is image data in which one pixel is composed of one or a plurality of bytes,
The central processing unit outputs the number of bytes constituting the one pixel to the image data transfer device,
The image data transfer device transfers the image data in units of blocks each having a plurality of bytes larger than the image data of one pixel, and performs alignment in the block between a transfer source area and a transfer destination area, and the arithmetic processing After the execution state, and are not to be stored in the image data storage device,
The image data for one pixel is a color tag set for each byte,
The image display processing system, wherein the image data transfer device sets a color tag for each byte based on a transfer image start byte address in the block .
前記指定された転送元領域及び転送先領域に関するパラメータ及び1ピクセル当たりのバイト数に基づいて、前記転送元領域及び転送先領域を含む各走査ライン毎に転送開始ブロックアドレス及び転送終了ブロックアドレスを算出し、
前記転送開始ブロックアドレスを含む転送開始ブロックから前記転送終了ブロックアドレスを含む転送終了ブロックまで連続的に前記画像データを転送するものである
ことを特徴とする請求項4記載の画像表示処理システム。The image data transfer device includes:
Based on the parameters related to the designated transfer source area and transfer destination area and the number of bytes per pixel, a transfer start block address and a transfer end block address are calculated for each scanning line including the transfer source area and the transfer destination area. And
The image display processing system according to claim 4 , wherein the image data is continuously transferred from a transfer start block including the transfer start block address to a transfer end block including the transfer end block address.
前記各ブロック内の転送画像開始バイトアドレス及び転送画像終了バイトアドレスに基づいて前記転送元領域及び転送先領域以外の領域をマスクするマスクパターンを生成すると共に、このマスクパターンを使用して前記転送元領域と転送先領域とでブロック内における位置合わせを行うものである
ことを特徴とする請求項4又は5記載の画像表示処理システム。The image data transfer device includes:
Based on the transfer image start byte address and the transfer image end byte address in each block, a mask pattern for masking an area other than the transfer source area and the transfer destination area is generated, and the transfer source is used using the mask pattern. The image display processing system according to claim 4 or 5, wherein alignment in the block is performed between the area and the transfer destination area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000017522A JP3846142B2 (en) | 2000-01-26 | 2000-01-26 | Image data transfer apparatus and image display processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000017522A JP3846142B2 (en) | 2000-01-26 | 2000-01-26 | Image data transfer apparatus and image display processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001209370A JP2001209370A (en) | 2001-08-03 |
JP3846142B2 true JP3846142B2 (en) | 2006-11-15 |
Family
ID=18544511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000017522A Expired - Fee Related JP3846142B2 (en) | 2000-01-26 | 2000-01-26 | Image data transfer apparatus and image display processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3846142B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4919805B2 (en) * | 2004-10-13 | 2012-04-18 | パナソニック株式会社 | Rectangular image drawing apparatus, rectangular image drawing method, and integrated circuit |
-
2000
- 2000-01-26 JP JP2000017522A patent/JP3846142B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001209370A (en) | 2001-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3656857B2 (en) | Full-motion video NTSC display device and method | |
KR950012931B1 (en) | Graphic display device | |
JPH0695273B2 (en) | Display control device | |
JPH09245179A (en) | Computer graphic device | |
JPH0154752B2 (en) | ||
JP3662607B2 (en) | Frame buffer device equipped with high-speed copy means and method for executing double buffered video using this device | |
JPS6360395B2 (en) | ||
JP2001195230A (en) | Plotting system and semiconductor integrated circuit for performing plotting arithmetic operation | |
KR100281949B1 (en) | Video drawing device | |
JP3846142B2 (en) | Image data transfer apparatus and image display processing system | |
JPH0562348B2 (en) | ||
JPH05249953A (en) | Image display device | |
JP4048731B2 (en) | Image data transfer apparatus and image display processing system | |
US7050064B2 (en) | Method and apparatus for displaying higher color resolution on a hand-held LCD device | |
JP3969017B2 (en) | Image data transfer apparatus and image display processing system | |
JPH08138067A (en) | Line segment anti-aliasing device | |
JP2898482B2 (en) | Computer game equipment | |
JP2554876B2 (en) | Address translation device | |
JP3337385B2 (en) | Display control circuit | |
JP2506825B2 (en) | Color mixing processing control method | |
JPH03164872A (en) | Graphic processing system | |
JPS62211784A (en) | Display controller | |
JPS6117189A (en) | Graphic processor | |
KR100252648B1 (en) | Graphics system and method of graphics drawing | |
JP2002149141A (en) | Method and device for transferring image data, and image display processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060623 |
|
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: 20060801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060814 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |