(57)【特許請求の範囲】
【請求項１】
同一メモリ内の画像データのＢＩＴＢＬＴ処理を行う画像転送装置において、
処理対象となる画像データ毎に設けられ、参照する画像データの前記メモリ内のアドレスを計算し、当該画像データを読み出す複数の画像リード部と、
前記複数の画像リード部で読み出された画像データに演算処理を施して前記メモリへ書き戻すための演算部と、
前記複数の画像リード部および前記演算部からの読み出し要求または書き込み要求を制御する制御部とを備え、
前記複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作すると共に、当該バッファが空であるか否かを示すＥＭＰＴＹ信号を出力し、
前記制御部は、現在の処理と前記複数の画像リード部から出力されるＥＭＰＴＹ信号とに基づき、次の処理として、前記複数の画像リード部におけるいずれかの画像リード部のデータ読み出しまたは前記演算部からのデータ書き込みを決定し、前記複数の画像リード部のデータ読み出しまたは前記演算部からのデータ書き込みが前記メモリに対して連続して行われるように制御することを特徴とする画像転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、二次元画像データのＢＩＴＢＬＴ処理を行う画像転送装置に関するものである。
【背景技術】
【０００２】
二次元グラフィクスの描画処理において、メモリ上の画像の矩形領域を別の領域へと転送するＢＩＴＢＬＴ（Ｂｉｔ  Ｂｌｏｃｋ  Ｔｒａｎｓｆｅｒ：ビットブリット）は頻繁に使用される機能である。また、転送時に転送元のデータと転送先のデータとの間でブレンド処理や論理演算等の処理を行ったり、別領域にある画像を参照して画像の合成を行ったりする場合もある。
ＢＩＴＢＬＴ処理を行う際には、メモリから参照する画像データの読み出し、演算処理、メモリへの書き込みを行う必要がある。従来では、ＣＰＵによるソフトウェア処理により実施されていたが、高速に処理を行うためにハードウェアで実施する方法が提案されている（例えば、特許文献１または特許文献２参照）。
また、１画素当たりのビット数が異なる複数の画像をメモリから読み出して合成する際に、それぞれの画像を一時保存する一時保存メモリを用意し、メモリからバースト転送によって読み出して一時保存メモリへ保持し、合成する方法も提案されている（例えば、特許文献３参照）。
【０００３】
【特許文献１】特開平６−００４６５９号公報
【特許文献２】特開２００５−１９０００２号公報
【特許文献３】特開２０００−１７２２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
組み込み用システムなどにおいて使用されるユニファイドメモリアーキテクチャでは、ＣＰＵが使用するメインメモリと描画を行うビデオメモリが同じメモリであるため、ＢＩＴＢＬＴ処理時の転送元の領域や転送先の領域が同じメモリ内に存在することになる。メモリとしてはＳＤＲＡＭやＤＤＲ−ＳＤＲＡＭが使用されることが多い。
この場合、例えば特許文献１に示されるような従来の装置によるＢＩＴＢＬＴ処理では、画素毎にメモリに対する読み出しと書き込みが繰り返されることになる。そのため、転送元と転送先のメモリ内のアドレスが離れている場合には、読み出しまたは書き込みのアクセス毎に、メモリに対するプリチャージ等のオーバーヘッドが生じる場合があり効率が悪いという問題があった。また、例えば、特許文献２に示されているようなＢＩＴＢＬＴ処理では、参照する画像を格納するメモリと書き込みを行うメモリが分かれており、同じメモリ内でのＢＩＴＢＬＴ処理については考慮されておらず、同一メモリ内におけるＢＩＴＢＬＴ処理には適用できないという問題があった。
【０００５】
更に、例えば、特許文献３に示されたような従来の装置による処理は、表示装置への画面の出力を想定したものであり、画像のメモリへの書き戻しや、画像の一部の領域を転送することが考慮されていない。また、１画素当たりのビット数が少ない画像の場合には一度に読み出すデータの量を減らすため、一時保存メモリの容量が有効に利用されていないという課題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、メモリへのアクセスが効率良く行え、ＢＩＴＢＬＴ処理を高速に行うことのできる画像転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像転送装置は、処理対象となる画像データ毎に設けられ、参照する画像データのメモリ内のアドレスを計算し、当該画像データを読み出す複数の画像リード部と、複数の画像リード部で読み出された画像データに演算処理を施してメモリへ書き戻すための演算部と、複数の画像リード部および演算部からの読み出し要求または書き込み要求を制御する制御部とを備え、複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作すると共に、バッファが空であるか否かを示すＥＭＰＴＹ信号を出力し、制御部は、現在の処理と複数の画像リード部から出力されるＥＭＰＴＹ信号とに基づき、次の処理として、複数の画像リード部におけるいずれかの画像リード部のデータ読み出しまたは演算部からのデータ書き込みを決定し、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるように制御するものである。
【発明の効果】
【０００８】
この発明の画像転送装置は、処理対象となる画像データ毎に当該画像データを読み出す複数の画像リード部を設け、これらの画像リード部で読み出した画像データを一時保存するバッファを設け、このバッファが満杯になるまでリードを行い、その後空になるまで出力すると共に、現在の処理と複数の画像リード部からのＥＭＰＴＹ信号とに基づいて、いずれかの画像リード部のデータ読み出しまたは演算部からのデータ書込みを決定し、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるようにしたので、バッファ容量を有効に利用することができ、バッファの小容量化に寄与し、メモリへのアクセスが効率良く行え、ＢＩＴＢＬＴ処理を高速に行うことができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による画像転送装置を示す構成図であるが、この説明に先立ち、実施の形態１の画像転送装置におけるＢＩＴＢＬＴ処理について説明する。
図２は、実施の形態１による画像転送装置の処理内容の説明図である。
図示のフレームバッファ１００Ａ，フレームバッファ１００Ｂ，フレームバッファ１００Ｃは同一メモリ内に割り当てられているとする。また、一例として、フレームバッファ１００Ａとフレームバッファ１００Ｃは１画素当たりのビット数が３２ビットであり、フレームバッファ１００Ｂは１画素あたりのビット数が１６ビットであると仮定する。このような条件で画像転送装置がフレームバッファ１００Ａ内の画像Ａとフレームバッファ１００Ｂ内の画像Ｂを合成し、フレームバッファ１００Ｃの画像Ｃの領域へブレンド処理を行いながら転送する場合を実施の形態として説明する。
【００１０】
以下、図１を用いて、実施の形態１による画像転送装置の構成を説明する。
図示のように、画像転送装置１０は、第１の画像リード部１１、第２の画像リード部１２、第３の画像リード部１３、演算部１４、制御部１５、バスＩＦ部１６を備えている。また、画像転送装置１０は、バス２０を介してＣＰＵ３０およびメモリＩＦ４０と相互に接続され、メモリＩＦ４０にはメモリ５０が接続されている。尚、図中、破線矢印は制御信号、実線矢印はデータ信号の流れを示している。
【００１１】
第１の画像リード部１１は、図２で説明した画像Ａのデータを読み出すリード部である。同様に、第２の画像リード部１２は、画像Ｂのデータを読み出す画像リード部であり、第３の画像リード部１３は、画像Ｃのデータを読み出す画像リード部である。これらの画像リード部１１〜１３は、それぞれバッファ１１ａ、１２ａ、１３ａを備えており、これらバッファ１１ａ、１２ａ、１３ａに、画像Ａ、画像Ｂ、画像Ｃを一時保持するよう構成されている。
【００１２】
演算部１４は、第１の画像リード部１１，第２の画像リード部１２，第３の画像リード部１３からそれぞれ出力されるデータに対して合成等の演算処理を施し、この演算処理結果をバスＩＦ部１６に出力する機能部である。制御部１５は、画像転送装置１０における全ての制御を司る制御部であり、ＣＰＵ３０から設定されたパラメータに基づいて、第１の画像リード部１１〜第３の画像リード部１３からの読み出し要求および演算部１４からの書き込み要求のうち、どの処理を実行するかを判断する。バスＩＦ部１６は、制御部１５からの指示に従い、第１の画像リード部１１〜第３の画像リード部１３からの読み出し要求および演算部１４からの書き込み要求のうち、いずれかの要求を選択してバス２０に出力するためのバスインタフェースである。
【００１３】
バス２０は、画像転送装置１０とメモリ５０間のデータ転送や、ＣＰＵ３０と画像転送装置１０間の制御データの転送を行うためのバスである。ＣＰＵ３０は、画像転送装置１０に対して、ＢＩＴＢＬＴ処理における種々の設定や指示を行うプロセッサである。また、メモリＩＦ４０は、実際にメモリ５０へのアクセスを行うメモリインタフェースである。メモリ５０は、画像データを保持する外部メモリであり、図２で示したフレームバッファ１００Ａ，１００Ｂ，１００Ｃが設けられたメモリである。
また、本実施の形態の前提として、メモリＩＦ４０は、メモリ５０に対して連続した読み出しあるいは書き込みの処理を行う際に、ロウアドレスが同一であればプリチャージ等のオーバーヘッドなしで処理することができるよう構成されているものとする。
【００１４】
次に、実施の形態１の動作について説明する。
先ず、ＢＩＴＢＬＴ処理時には、ＣＰＵ３０が画像転送装置１０に対して画像のサイズや演算処理内容などの必要なパラメータを設定する。そして、ＣＰＵ３０が画像転送装置１０に起動を指示することにより、画像転送装置１０が動作を開始する。
【００１５】
以下、図３を参照して画像転送装置１０の動作を説明する。
図３は、画像転送装置１０の動作を説明するタイミング図である。
第１の画像リード部１１から制御部１５に対しては、第１の画像リード部１１が動作中であるか否かを示すビジー信号ＢＵＳＹ１、バッファ１１ａが満杯になった、または参照する画像Ａのデータを全て読み込んだことを伝えるためのパルス信号ＦＵＬＬ１、バッファ１１ａが空であるか否かを示す信号ＥＭＰＴＹ１が出力される。
同様に、第２の画像リード部１２から制御部１５に対しては、第２の画像リード部１２が動作中であるか否かを示すビジー信号ＢＵＳＹ２、バッファ１２ａが満杯になった、または参照する画像Ｂのデータを全て読み込んだことを伝えるためのパルス信号ＦＵＬＬ２、バッファ１２ａが空であるか否かを示す信号ＥＭＰＴＹ２が出力される。
同様に、第３の画像リード部１３から制御部１５に対しては、第３の画像リード部１３が動作中であるか否かを示すビジー信号ＢＵＳＹ３、バッファ１３ａが満杯になった、または参照する画像Ｃのデータを全て読み込んだことを伝えるためのパルス信号ＦＵＬＬ３、バッファ１３ａが空であるか否かを示す信号ＥＭＰＴＹ３が出力される。
【００１６】
また、演算部１４から制御部１５に対しては、演算部１４が動作中であるか否かを示すビジー信号ＢＵＳＹ４が出力される。
初期状態では、ビジー信号ＢＵＳＹ１，ＢＵＳＹ２、ＢＵＳＹ３，ＢＵＳＹ４は共に“０”で、動作中ではないことを示している。また、ＥＭＰＴＹ１，ＥＭＰＴＹ２，ＥＭＰＴＹ３は共に“１”で、バッファ１１ａ、バッファ１２ａ，バッファ１３ａが空であることを示している（図３、Ｔ１）。
【００１７】
画像転送装置１がＣＰＵ３０から起動の指示を受けると、第１の画像リード部１１が動作を開始し、ビジー信号ＢＵＳＹ１を“１”とする。そして、設定されたパラメータ（フレームバッファ１００Ａのベースアドレス、フレームバッファ１００Ａのサイズ、フレームバッファ１００Ａの１画素あたりのビット数、画像Ａの座標、転送サイズなど）から、参照する画像Ａのメモリ５０における最初のアドレスを計算し、バスＩＦ部１６に対して画像Ａのデータの読み出しを要求する。
また、同時に第２の画像リード部１２も動作を開始し、ビジー信号ＢＵＳＹ２を“１”とする。そして、設定されたパラメータ（フレームバッファＢのベースアドレス、フレームバッファ１００Ｂのサイズ、フレームバッファ１００Ｂの１画素あたりのビット数、画像Ｂの座標、転送サイズなど）から、参照する画像Ｂのメモリ５０における最初のアドレスを計算し、バスＩＦ部１６に対して画像Ｂのデータの読み出しを要求する。
同様に、第３の画像リード部１３も動作を開始し、ビジー信号ＢＵＳＹ３を“１”とする。そして、設定されたパラメータ（フレームバッファ１００Ｃのベースアドレス、フレームバッファ１００Ｃのサイズ、フレームバッファ１００Ｃの１画素あたりのビット数、画像Ｃの座標、転送サイズなど）から、参照する画像Ｃのメモリ５０における最初のアドレスを計算し、バスＩＦ部１６に対して画像Ｃのデータの読み出しを要求する。
【００１８】
画像転送装置１がＣＰＵ３０から起動の指示を受けると、制御部１５は先ずバスＩＦ部１６に対して画像Ａの読み出しを行うように指示する。バスＩＦ部１６は、制御部１５からの指示に従い、第１の画像リード部１１からの読み出し要求を選択し、バス２０へ出力する。そしてメモリＩＦ４０を介してメモリ５０から読み出されたデータを受け取ると、データを第１の画像リード部１１へ返す。第１の画像リード部１１はバスＩＦ部１６から受け取ったデータをバッファ１１ａへ格納し、バッファ１１ａが空であるか否かを示す信号ＥＭＰＴＹ１を“０”とする。
第１の画像リード部１１は、読み出し要求がバスＩＦ部１６に受け付けられると、連続して次のデータの読み出しを要求する。バスＩＦ部１６は、制御部１５から画像Ａの読み出しを指示されているため、続けて第１の画像リード部１１からの読み出し要求を選択してバス２０へ出力する。このように連続して画像Ａのデータの読み出しを行い、画像Ａのデータをバッファ１１ａへ順次格納していく（図３、Ｔ２）。
この期間中、第２の画像リード部１２および第３の画像リード部１３は、画像Ｂおよび画像Ｃの読み出し要求がバスＩＦ部１６に受け付けられないため、読み出し要求を出したまま一時停止状態となる。
【００１９】
やがて第１の画像リード部１１のバッファ１１ａが満杯になると、第１の画像リード部１１は、制御部１５に対してパルス信号ＦＵＬＬ１を出力し、データの読み出しを中止する。そして、バッファ１１ａに蓄えられた画像Ａのデータを演算部１４に対して出力する。
演算部１４は、第１の画像リード部１１から画像Ａのデータが出力されても、この時点では第２の画像リード部１２および第３の画像リード部１３から画像Ｂおよび画像Ｃのデータが出力されていないため、第１の画像リード部１１からの画像Ａのデータを受け取らない。第１の画像リード部１１は演算部１４に対して画像Ａのデータを出力したまま一時停止状態となる。
【００２０】
制御部１５は、第１の画像リード部１１からパルス信号ＦＵＬＬ１が入力されると、画像Ａの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。図４は、制御部１５における判断方法を示したものである。この場合、現在の処理が画像Ａの読み出しであり、ＥＭＰＴＹ２が“１”であるため、次にバスＩＦ部１６に対して画像Ｂの読み出しを行うように指示する。
【００２１】
バスＩＦ部１６は、制御部１５からの指示に従い、第２の画像リード部１２から出力されている読み出し要求を選択し、バス２０へ出力する。そしてメモリＩＦ４０を介してメモリ５０から読み出されたデータを受け取ると、データを第２の画像リード部１２へ返す。第２の画像リード部１２はバスＩＦ部１６から受け取ったデータをバッファ１２ａへ格納し、バッファ１２ａが空であるか否かを示す信号ＥＭＰＴＹ２を“０”とする。
第２の画像リード部１２は、読み出し要求がバスＩＦ部１６に受け付けられると、連続して次のデータの読み出しを要求する。バスＩＦ部１６は制御部１５から画像Ｂの読み出しを指示されているため、続けて第２の画像リード部１２からの読み出し要求を選択してバス２０へ出力する。このように連続して画像Ｂのデータの読み出しを行い、画像Ｂのデータをバッファ１２ａへ順次格納していく（図３、Ｔ３）。
【００２２】
やがてバッファ１２ａが満杯になると、第２の画像リード部１２は制御部１５に対してパルス信号ＦＵＬＬ２を出力し、データの読み出しを中止する。そして、バッファ１２ａに蓄えられた画像Ｂのデータを演算部１４に対して出力する。
演算部１４では、第２の画像リード部１２から画像Ｂのデータが出力されていても、この時点では第３の画像リード部１３から画像Ｃのデータが出力されていないため、第２の画像リード部１２からの画像Ｂのデータを受け取らない。第２の画像リード部１２は演算部１４に対して画像Ｂのデータを出力したまま一時停止状態となる。
【００２３】
制御部１５は、第２の画像リード部１２からパルス信号ＦＵＬＬ２が入力されると、画像Ｂの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Ｂの読み出しであり、ＥＭＰＴＹ１が“０”かつＥＭＰＴＹ３が“１”であるため、次にバスＩＦ部１６に対して画像Ｃの読み出しを行うように指示する。
【００２４】
バスＩＦ部１６は、制御部１５からの指示に従い、第３の画像リード部１３から出力されている読み出し要求を選択し、バス２０へ出力する。そしてメモリＩＦ４０を介してメモリ５０から読み出されたデータを受け取ると、データを第３の画像リード部１３へ返す。第３の画像リード部１３はバスＩＦ部１６から受け取ったデータをバッファ１３ａへ格納し、バッファ１３ａが空であるか否かを示す信号ＥＭＰＴＹ３を“０”とする。
第３の画像リード部１３は、読み出し要求がバスＩＦ部１６に受け付けられると、連続して次のデータの読み出しを要求する。バスＩＦ部１６は制御部１５から画像Ｃの読み出しを指示されているため、続けて第３の画像リード部１３からの読み出し要求を選択してバス２０へ出力する。このように連続して画像Ｃのデータの読み出しを行い、画像Ｃのデータをバッファ１３ａへ順次格納していく（図３、Ｔ４）。
やがて第３の画像リード部１３のバッファ１３ａが満杯になると、第３の画像リード部１３は、制御部１５に対してパルス信号ＦＵＬＬ３を出力し、データの読み出しを中止する。そして、バッファ１３ａに蓄えられた画像Ｃのデータを演算部１４に対して出力する。
【００２５】
制御部１５は、第３の画像リード部１３からパルス信号ＦＵＬＬ３が入力されると、画像Ｃの一連の読み出し処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Ｃの読み出しであり、ＥＭＰＴＹ１が“０”かつＥＭＰＴＹ２が“０”であるため、次にバスＩＦ部１６に対して画像Ｃの書き込みを行うように指示する。
【００２６】
演算部１４は、第１の画像リード部１１、第２の画像リード部１２および第３の画像リード部１３の全てからデータが入力されると、データを受け取って動作を開始し、ビジー信号ＢＵＳＹ４を“１”とする。
演算部１４は、設定されたパラメータに従い画像データに対して合成やブレンド等の演算処理を行い、結果を画像Ｃのアドレスへ書き戻すためにバスＩＦ部１６へ書き込み要求を出力する。
バスＩＦ部１６は、制御部１５からの指示に従い、演算部１４から出力されている書き込み要求を選択し、バス２０へ出力する。そしてメモリＩＦ４０を介してメモリ５０へデータを書き込む。
【００２７】
第１の画像リード部１１、第２の画像リード部１２および第３の画像リード部１３は、演算部１４にデータが受け取られると、バッファ１１ａ，バッファ１２ａ，およびバッファ１３ａに格納されている画像データを順次演算部１４へ出力する。
演算部１４は、データを受け取って演算処理を行い、バスＩＦ部１６へ出力する処理をパイプライン処理で行い、連続してバスＩＦ部１６へ書き込み要求を出力する。バスＩＦ部１６は、制御部１５から画像Ｃの書き込みを指示されているため、続けて演算部１４からの書き込み要求を選択してバス２０へ出力する。このように連続して画像Ｃ領域へのデータの書き込み行う（図３、Ｔ５）。
【００２８】
やがてバッファ１１ａ、バッファ１２ａ，バッファ１３ａのいずれかが空になると、演算部１４に対する入力データが揃わなくなるため、演算部１４はデータの受け取りを停止する。そして、それまでに受け取ったデータを全てバスＩＦ部１６へ出力し終わった時点でビジー信号ＢＵＳＹ４を“０”にする。
この例では、画像Ａと画像Ｃが、画像Ｂよりも１画素あたりのビット数が２倍であると仮定しているため、バッファ１１ａとバッファ１３ａが空になり、バッファ１２ａには半分のデータが残っている状態となる。
【００２９】
第１の画像リード部１１は、バッファ１１ａが空になった時点で、バッファ１１ａが空であるか否かを示す信号ＥＭＰＴＹ１を“１”にし、画像Ａの続きのアドレスを計算してバスＩＦ部１６に対して読み出し要求を出力する。
同様に、第３の画像リード部１３は、バッファ１３ａが空になった時点で、バッファ１３ａが空であるか否かを示す信号ＥＭＰＴＹ３を“１”にし、画像Ｃの続きのアドレスを計算してバスＩＦ部１６に対して読み出し要求を出力する。
【００３０】
制御部１５は、演算部１４からのビジー信号ＢＵＳＹ４が“１”から“０”へ変化すると、画像Ｃの一連の書き込み処理が終了したと判断し、次にどの処理を実行するかを判断する。この場合、現在の処理が画像Ｃの書き込みであり、ＥＭＰＴＹ１が“１”であるため、次にバスＩＦ部１６に対して画像Ａの読み出しを行うように指示する。それにより、バッファ１１ａが満杯になるまで画像Ａの読み出し処理が連続して行われる。（図３、Ｔ６）
【００３１】
以上説明したように、画像を読み出す際にはバッファが満杯になるまで連続してリードを行い、データが揃ったらいずれかのバッファが空になるまで連続して演算処理をしながら書き戻す処理を繰り返す。
【００３２】
やがて、第１の画像リード部１１は、参照する画像Ａの最終データを読み込むと、バッファ１１ａが満杯になっていなくても制御部１５に対してパルス信号ＦＵＬＬ１を出力し、演算部１４に対してデータを出力する。そして、演算部１４に対して全てのデータを出力し終わった時点でビジー信号ＢＵＳＹ１を“０”にする。
同様に、第２の画像リード部１２は、参照する画像Ｂの最終データを読み込むと、バッファ１２ａが満杯になっていなくても制御部１５に対してパルス信号ＦＵＬＬ２を出力し、演算部１４に対してデータを出力する。そして、演算部１４に対して全てのデータを出力し終わった時点でビジー信号ＢＵＳＹ２を“０”にする。
同様に、第３の画像リード部１３は、参照する画像Ｃの最終データを読み込むと、バッファ１３ａが満杯になっていなくても制御部１５に対してパルス信号ＦＵＬＬ３を出力し、演算部１４に対してデータを出力する。そして、演算部１４に対して全てのデータを出力し終わった時点でビジー信号ＢＵＳＹ３を“０”にする。
【００３３】
演算部１４が受け取ったデータを全てバスＩＦ部１６へ出力し、ビジー信号４が“１”から“０”へ変化した時点で、ＢＵＳＹ１、ＢＵＳＹ２およびＢＵＳＹ３が全て“０”であれば画像転送装置１０の動作が終了する（図３、Ｔ７）。
【００３４】
以上のように、画像を読み出す際にはバッファが満杯になるまで連続してリードを行い、データが揃ったらいずれかのバッファが空になるまで連続して演算処理をしながら書き戻す構成としたため、メモリ５０に対して連続して読み出しあるいは書き込みが行われるようになり、メモリアクセスの際のオーバーヘッドを低減することができ、高速に処理を行うことができる。
【００３５】
尚、上記実施の形態では、画像リード部を３個としたが、これらの数は３個に限定されるものではない。例えば、更に別の画像Ｄを参照して合成を行う機能を実現する場合には、画像リード部の数を４個とし、同様の制御を行えばよい。
【００３６】
以上のように、実施の形態１の画像転送装置によれば、同一メモリ内の画像データのＢＩＴＢＬＴ処理を行う画像転送装置において、処理対象となる画像データ毎に設けられ、参照する画像データのメモリ内のアドレスを計算し、画像データを読み出す複数の画像リード部と、複数の画像リード部で読み出された画像データに演算処理を施してメモリへ書き戻すための演算部と、複数の画像リード部および演算部からの読み出し要求または書き込み要求を制御する制御部とを備えたので、メモリへのアクセスが効率良く行え、ＢＩＴＢＬＴ処理を高速に行うことができる。
【００３７】
また、実施の形態１の画像転送装置によれば、複数の画像リード部は、読み出した画像データを一時保存するバッファをそれぞれ備え、参照する画像データをバッファが満杯になるまでリードを行い、その後バッファが空になるまで出力するように動作するようにしたので、バッファ容量を有効に利用することができ、バッファの小容量化に寄与することができる。
【００３８】
また、実施の形態１の画像転送装置によれば、制御部は、複数の画像リード部のデータ読み出しまたは演算部からのデータ書き込みがメモリに対して連続して行われるように制御するようにしたので、同一メモリ内での画像データのＢＩＴＢＬＴ処理が効率良く行え、ＢＩＴＢＬＴ処理を高速に行うことができる。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態１による画像転送装置を示す構成図である。
【図２】この発明の実施の形態１による画像転送装置のＢＩＴＢＬＴ処理の説明図である。
【図３】この発明の実施の形態１による画像転送装置の動作を示すタイミング図である。
【図４】この発明の実施の形態１による画像転送装置の制御部における判断方法を示す説明図である。
【符号の説明】
【００４０】
１０  画像転送装置、１１  第１の画像リード部、１１ａ，１２ａ，１３ａ  バッファ、１２  第２の画像リード部、１３  第３の画像リード部、１４  演算部、１５  制御部、１６  バスＩＦ部、２０  バス、３０  ＣＰＵ、４０  メモリＩＦ、５０  メモリ、１００Ａ，１００Ｂ，１００Ｃ  フレームバッファ。
【図１】
0005213394.tif 000002
【図２】
0005213394.tif 000003
【図３】
0005213394.tif 000004
【図４】
0005213394.tif 000005