(57)【要約】【課題】描画データの重ね合わせ処理転送において、メモリアクセスを低減し、高速処理が可能な画像データ処理装置を提供する。【解決手段】ベース画像の画素データと前記ベース画像に重ね合わせる画素データとをビット演算するビット演算器３０７と、グラフィクスメモリから読み出した画像データを格納すると共に、ビット演算器３０７により得られた書き出しデータを格納する演算後データ格納部３１２と、画素データからレイヤ情報を抽出するレイヤ情報抽出部３０６と、画素データから抽出されたレイヤ情報に基づき、レイヤの上下関係を判断するレイヤ順序比較部３０４とを備え、ベース画像の画素データのレイヤが、これに重ね合わせる画像の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみビット演算を行う。【選択図】　図３
2004102363.tif 000002
【特許請求の範囲】
【請求項１】
グラフィクスメモリ上の互いに異なる領域に格納された第１の画像および第２の画像のうち、第１の画像をベース画像とし、当該ベース画像に前記第２の画像を重ね合わせて合成画像を作成する画像データ処理装置において、
前記グラフィクスメモリに対してメモリアクセスを行うバス制御手段と、
前記グラフィクスメモリからそれぞれ読み出された第１の画像の画素データと第２の画像の画素データとをビット演算するビット演算手段と、
前記メモリアクセスにより前記グラフィクスメモリから読み出した画像データを格納すると共に、前記ビット演算手段のビット演算により得られた画像データであってメモリアクセスにより前記グラフィクスメモリへ書き込むべきデータを格納するデータ格納手段と、
画素データからレイヤ情報を抽出するレイヤ情報抽出手段と、
２つの画素データからそれぞれ抽出されたレイヤ情報に基づき、当該２画素データのレイヤの上下関係を判断するレイヤ順序比較手段と、
前記レイヤ順序比較手段により、第１の画像の画素データのレイヤが第２の画像の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみ、前記ビット演算手段を用いて演算を行うように制御する演算制御手段とを備えたことを特徴とする画像データ処理装置。
【請求項２】
前記ビット演算手段による演算後の画素データ中のレイヤ情報を任意に設定するレイヤ情報設定手段と、
前記レイヤ順序比較手段により、第１の画像の画素データのレイヤが、前記レイヤ情報設定手段により設定された演算後の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみ、前記バス制御手段により前記グラフィクスメモリから前記第２の画像の画素データを読み出させるアクセス制御手段とをさらに備えた、請求項１に記載の画像データ処理装置。
【請求項３】
前記バス制御手段による一回のメモリアクセスによって読み込まれた描画データから複数の画素データを分離する画素データ分離手段をさらに備え、
前記ビット演算手段および前記レイヤ情報比較手段が、分離された画素データ単位で処理を行う、請求項１または２に記載の画像データ処理装置。
【請求項４】
前記ビット演算手段と、前記データ格納手段と、前記レイヤ順序比較手段と、前記演算制御手段とをそれぞれ含む複数の画像データ処理ブロックを備えると共に、
前記複数の画像データ処理ブロックからのメモリアクセス要求を調停するバス制御調停手段をさらに備えた、請求項１に記載の画像データ処理装置。
【請求項５】
前記複数の画像データ処理ブロックのそれぞれに、
前記ビット演算手段による演算後の画素データ中のレイヤ情報を任意に設定するレイヤ情報設定手段と、
前記レイヤ順序比較手段により、第１の画像の画素データのレイヤが、前記レイヤ情報設定手段により設定された演算後の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみ、前記バス制御手段により前記グラフィクスメモリから前記第２の画像の画素データを読み出させるアクセス制御手段とをさらに備えた、請求項４に記載の画像データ処理装置。
【請求項６】
前記複数の画像データ処理ブロックのそれぞれに、
前記バス制御手段による一回のメモリアクセスによって読み込まれた描画データから複数の画素データを分離する画素データ分離手段をさらに備え、
各画像データ処理ブロックにおける前記ビット演算手段および前記レイヤ情報比較手段が、分離された画素データ単位で処理を行う、請求項４または５に記載の画像データ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、図形及び画面の重ね合わせや合成を行ってグラフィクスメモリ上にビットマップイメージを展開する画像処理装置に関する。
【０００２】
【従来の技術】
グラフィクスメモリを搭載した画像表示システムにおいて、最近では、別々のアプリケーションによる描画イメージが一画面の中に合成されたり、一画面中に別々の画像処理プロセッサによる描画イメージが重ねあわされたりする場合が増加している。例えば携帯電話のディスプレイの場合、バッテリーを描画するアプリケーションとアンテナを描画するアプリケーションは独立であり、別々のメモリ空間に、バッテリー残量を示す図形と電波強度を示す図形とをそれぞれ描画し、それらの図形を一画面上に合成するようになっている。
【０００３】
従来、このような重ね合わせは、ＣＰＵ（中央演算装置）または画像処理プロセッサといったプロセッサコアを用いるか、専用のビット演算回路を用いる方法がとられる。すなわち、グラフィクスメモリ内のあるメモリ領域（第１の領域）において描画される図形（第１の図形）に、別のメモリ領域（第２の領域）において描画された図形（第２の図形）を重ね合わせる場合、プロセッサコアが第１の領域と第２の領域から、それぞれの図形を単位画素ごとに読み出し、重ね合わせたときにどちらの図形が上になるかを判断し、上になる方の図形の描画データを書き出し先の領域に書き出す方法をとる。
【０００４】
この方法では、少なくとも、面積の小さい方の領域に対応する描画データを、２つの領域からそれぞれすべて読み出し、重ねあわせ後の描画データを書き出す必要があり１画素の描画データに対して２回の読み出しと１回の書き出しが発生する。
【０００５】
また、プロセッサコアを使用せずに２つの領域からの描画データを読み出し、描画データ間でのビット演算を高速に行う方法が、特開平５−２０４１０号公報（特許文献１）に示されている。この方法は、二つの転送元領域の一方から読み出した描画データの一時格納領域としてＦＩＦＯを用いて、前記二つの転送元領域の他方をマスク領域として定義し、ＦＩＦＯの描画データとマスク領域で示された部分とのビット演算を行い、転送先領域に書き出す方法である。
【０００６】
この技術では、ＦＩＦＯを用いることによりバースト転送が行えるので、処理を高速化することができるが、１画素の描画データに対して２回の読み出しと１回の書き出しが発生する点では、前述のプロセッサコアを用いる従来の技術と同様である。
【０００７】
【特許文献１】
特開平５−２０４１０号公報
【０００８】
【発明が解決しようとする課題】
上記のように、従来の重ね合わせ技術では、１画素の描画データに対して２回の読み出しと１回の書き出しが発生し、１画素を処理する度に３メモリアクセスが発生する。複数のプロセッサコアが情報を共有するグラフィックシステムにおいてメモリアクセスが増加すると、メモリアクセス競合が発生し、性能が低下するという問題を有していた。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、画像データのビット処理および転送を行う際のメモリアクセスの回数を抑制することにより、高速処理が可能な画像データ処理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
前記の目的を達成するために、本発明にかかる画像データ処理装置は、グラフィクスメモリ上の互いに異なる領域に格納された第１の画像および第２の画像のうち、第１の画像をベース画像とし、当該ベース画像に前記第２の画像を重ね合わせて合成画像を作成する画像データ処理装置において、前記グラフィクスメモリに対してメモリアクセスを行うバス制御手段と、前記グラフィクスメモリからそれぞれ読み出された第１の画像の画素データと第２の画像の画素データとをビット演算するビット演算手段と、前記メモリアクセスにより前記グラフィクスメモリから読み出した画像データを格納すると共に、前記ビット演算手段のビット演算により得られた画像データであってメモリアクセスにより前記グラフィクスメモリへ書き込むべきデータを格納するデータ格納手段と、画素データからレイヤ情報を抽出するレイヤ情報抽出手段と、２つの画素データからそれぞれ抽出されたレイヤ情報に基づき、当該２画素データのレイヤの上下関係を判断するレイヤ順序比較手段と、前記レイヤ順序比較手段により、第１の画像の画素データのレイヤが第２の画像の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみ、前記ビット演算手段を用いて演算を行うように制御する演算制御手段とを備えたことを特徴とする。
【００１１】
【発明の実施の形態】
本発明にかかる画像データ処理装置は、バス制御手段により、グラフィクスメモリ上でベース画像（第１の画像）が展開されているアドレスに対して、画素データサイズに会わせたメモリアクセスを行い、画素データの読み出しを行う。読み出された画素データはデータ格納手段に格納される。レイヤ情報抽出手段は、画素データに含まれているレイヤ情報を抽出する。なお、レイヤ情報抽出手段が、画素データに含まれている情報を必要に応じて変換することにより、レイヤ情報を取得するようにしてもよい。また、グラフィクスメモリ上で第２の画像が展開されているアドレスに対して、画素データサイズに会わせたメモリアクセスを行い、画素データを読み出し、前述のレイヤ情報抽出手段によりそのレイヤ情報を取得する。
【００１２】
そして、レイヤ順序比較手段が、第１の画像の画素データのレイヤ順序と第２の画像の画素データのレイヤ順序とを比較し、第１の画像（ベース画像）のレイヤ順序の方が上位であれば、ビット演算および演算結果の書き込みを行わず、同じか下位であれば、ビット演算手段によって第１の画像の画素データと第２の画像の画素データとの間でビット演算を行い、演算結果をデータ格納手段に格納する。格納された画素データを、メモリアクセスにより、グラフィクスメモリの別のメモリ領域に書き込むか、ベース画像が展開されていたアドレスに書き戻すことにより、重ね合わせ処理が完了する。
【００１３】
このように、レイヤ順序としてベース画像（第１の画像）のレイヤが、第２の画像のレイヤよりも上位である場合に、ビット演算と書き込みのメモリアクセスを回避することができるため、全体としてメモリアクセス頻度を減らすことが可能になる。この結果、高速処理が可能な画像データ処理装置を提供することができる。
【００１４】
また、本発明の画像データ処理装置は、前記ビット演算手段による演算後の画素データ中のレイヤ情報を任意に設定するレイヤ情報設定手段と、前記レイヤ順序比較手段により、第１の画像の画素データのレイヤが、前記レイヤ情報設定手段により設定された演算後の画素データのレイヤと同じか下位のレイヤであると判断された場合にのみ、前記バス制御手段により前記グラフィクスメモリから前記第２の画像の画素データを読み出させるアクセス制御手段とをさらに備えた構成であることが好ましい。
【００１５】
この構成によれば、第２の画像の画素データのレイヤ情報によらずに、重ね合わせ後のレイヤを設定することができる。このため、ベース画像（第１の画像）のレイヤが、設定された重ね合わせ後のレイヤより上位であれば、第２の画像をグラフィクスメモリから読み出すためのメモリアクセスそのものを回避することができる。従って、メモリアクセスをより一層少なくすることが可能になる。
メモリアクセス制限を受けずに画像データのビット処理と転送を行う画像データ処理装置を提供できる。
【００１６】
また、メモリアクセスにおいてＦＩＦＯを用いた従来の構成では、バイト単位でのメモリアクセスを基準として、それ以上のサイズ、例えばワード単位やハーフワード単位でのアクセスする場合には、そのアドレスが４の倍数、または２の倍数である必要があった。つまり、ワード単位でアクセスを可能とするために３２ビットのＦＩＦＯを搭載した場合、１画素が１バイトすなわち８ビットであると、ＦＩＦＯの１段には４画素分のデータが一度に取り込まれることになるため、４画素以下の分解能で転送を制御できないという問題を有していた。この画素を構成するデータサイズとメモリアクセス制限の問題は、プロセッサを用いて画像の重ね合わせ処理を行う場合も発生し、例えば、１画素が１バイトで構成された図形の場合、バイト単位でアクセスを行わなくてはならず、メモリアクセスの負荷を重たくする一因であった。
【００１７】
このようなさらなる問題を解決するための、本発明にかかる画像データ処理装置の好ましい形態は、前記バス制御手段による一回のメモリアクセスによって読み込まれた描画データから複数の画素データを分離する画素データ分離手段をさらに備え、前記ビット演算手段および前記レイヤ情報比較手段が、分離された画素データ単位で処理を行う構成である。
【００１８】
この構成によれば、一回のメモリアクセスで得た画像データが複数の画素データを含む場合に、これら複数の画素データを分離し、その後の処理を並行して進めた後、最後に、メモリアクセスで得られたときのサイズに戻すことで、メモリアクセス制限を受けない画像データのビット処理と転送とを行うことが可能になる。
【００１９】
また、画像の重ね合わせ処理そのものに必要な時間の合計は、メモリアクセスに必要な時間より小さくはなりえないことは明らかであるが、読み出した画像データを処理してから書き出す従来の技術では、読み出しと書き出しとの間に処理を行う時間が必要であり、画像重ね合わせ処理の理論的な最小時間が実現されているわけではないという問題がある。
【００２０】
このようなさらなる問題を解決するために、本発明にかかる画像データ処理装置の好ましい形態は、前記ビット演算手段と、前記データ格納手段と、前記レイヤ順序比較手段と、前記演算制御手段とをそれぞれ含む複数の画像データ処理ブロックを備えると共に、前記複数の画像データ処理ブロックからのメモリアクセス要求を調停するバス制御調停手段をさらに備えた構成である。
【００２１】
この構成によれば、バス制御手段が最大の効率でメモリアクセスを行うことを可能とし、画像データ重ね合わせの一連の処理にかかる時間を、メモリアクセスに必要な時間とほぼ一致させることができるため、画像データ重ね合わせを最小限の時間で処理することが可能となる。
【００２２】
例えば、画像データ処理ブロックを２系統有する構成とした場合、最初に読み出しを行った描画データを処理する系統を第１系統とし、次にメモリアクセスを行った描画データを処理する系統を第２系統と仮に呼ぶと、
（１）第１系統において、第２の画像を読み出すためのメモリアクセスは、第２系統のメモリアクセスの後に行われ、第１系統が第２の画像を読み出すためのメモリアクセスを行っている間に、第２系統においてはレイヤ情報の抽出と必要に応じてレイヤ順序情報への変換が行われる。
（２）次に、第１系統における第２の画像の読み出しの後、第２の画像からのレイヤ情報の抽出とレイヤ順序情報への変換とビット演算が行われている間に、第２系統において、第２の画像を読み出すためのメモリアクセスが行われる。
（３）その後、第２系統において、第２の画像のレイヤ情報の読み出し等とビット演算が行われている間に、第１系統のビット演算後の画素データの書き込みメモリアクセスが行われ、第１系統の画像データ重ね合わせ処理が完了し、次のサイクルで第２系統のデータ処理転送が完了する。このため、バス制御手段がアクセス効率を最大限に活用することが可能になる。
【００２３】
以下、本発明の実施形態のさらに具体的な例について図を用いて説明する。
【００２４】
図１に、本発明の一実施形態にかかる画像処理システムの構成例を示す。図１において、１０４は、本発明の画像データ処理装置の一形態としての描画データ処理転送装置である。１０５は、描画データが転送されるバスであり、１１１は、バス１０５に接続された画像表示装置である。１０６は、バス１０５に接続されたグラフィクスメモリである。グラフィクスメモリ１０６の画像１１０を画像表示装置１１１に送ることにより、画像表示が行われる。
【００２５】
１０１は、バス１０５に接続されたプロセッサである。プロセッサ１０１は、ソフトウェアにより、グラフィクスメモリ１０６上の任意の場所に画像を描画することができる。１０２，１０３は、バス１０５に接続された描画エンジンである。それぞれグラフィクスメモリ１０６上の画像を処理してグラフィクスメモリ１０６上に書きもどすことができる。
【００２６】
描画データ処理転送装置１０４は、描画エンジン１０２，１０３によってグラフィクスメモリ１０６にそれぞれ描画された画像を互いに重ね合わせる処理を行うことにより、画像表示装置１１１に表示する重ね合わせ画像を作成する。
【００２７】
図１の例では、１０７，１０８，１０９は、グラフィクスメモリ１０６上に展開された画像であり、１１０は、画像１０７，１０８，１０９を重ね合わせて合成された画面である。
【００２８】
図２（ａ）に、グラフィクスメモリ１０６上での画像データの配置の一例を示す。図２（ａ）における１升が、１画素分のデータ記憶領域に対応する。本実施形態では、１画素は２バイトで表されるものとし、図２（ａ）では、各データ記憶領域の先頭アドレスを升の中に示した。図２（ａ）の例では、領域２０２は、横が６画素、縦が６画素の計３６画素を含む。
【００２９】
この領域２０２の中には、横が５画素、縦が２画素の領域２０４（［０ｘ３０］〜［０ｘ３８］、［０ｘ３ｃ］〜［０ｘ４４］）と、縦が３画素、横が３画素の領域２０１（［０ｘ１ａ］〜［０ｘ１ｅ］、［０ｘ２６］〜［０ｘ２ａ］、［０ｘ３２］〜［０ｘ３６］）が含まれる。領域２０１、領域２０２、および領域２０４は、互いに重なり合っており、領域２０４は２０２の上位に、領域２０１は、領域２０２と領域２０４の双方よりも上位に位置する。
【００３０】
図３に、図１に示す描画データ処理転送装置１０４の内部構成を示す。図３に示すように、描画データ処理転送装置１０４は、バス制御部３０２と、制御レジスタ部３０３と、回路ブロック３０８・３１３と、バス調停回路３０９とを有する。回路ブロック３０８・３１３は、同じ構成を持ち、バス制御部３０２およびバス調停回路３０９に並列に接続されている。バス調停回路３０９は、回路ブロック３０８・３１３のそれぞれからのメモリアクセス要求を調停する。
【００３１】
バス制御部３０２は、バス１０５に接続されたアドレス空間に対してメモリアクセスを行う。制御レジスタ部３０３には、（１）ベース図形に重ね合わされる図形が展開してある転送元アドレス、（２）ベース図形を展開してある転送先アドレス、（３）領域を定義する諸パラメータ、（４）レイヤ情報とレイヤ順序情報との対応関係、（５）書き出し図形のレイヤ情報、（６）ビット演算の種類、等を設定することができる。
【００３２】
回路ブロック３０８・３１３は、転送先データ格納部３１０、転送元データ格納部３１１、演算後データ格納部３１２をそれぞれ有する。転送先データ格納部３１０は、ベース図形として転送先のアドレスから読み出した描画データが格納されるレジスタである。転送元データ格納部３１１は、ベース図形に重ね合わせる図形として転送元のアドレスから読み出した描画データが格納されるレジスタである。演算後データ格納部３１２は、ビット演算がなされた後の描画データを格納する。演算後データ格納部３１２に格納された描画データは、バス制御部３０２によって転送先アドレスに書き出される。
【００３３】
回路ブロック３０８・３１３は、さらに、画素データ分離部３０５、レイヤ情報抽出部３０６、および、レイヤ順序比較部３０４をそれぞれ有する。画素データ分離部３０５は、バス制御部３０２の一回のメモリアクセスで読み出された描画データに含まれる複数の画素データを分離し、独立した画素データとして、レイヤ情報抽出部３０６に渡す。レイヤ情報抽出部３０６は、制御レジスタ部３０３に格納されたレイヤ情報変換テーブル（後述）を参照し、レイヤ情報をレイヤ順序情報に変換し、レイヤ順序比較部３０４に渡す。
【００３４】
レイヤ順序比較部３０４は、書き出し図形のレイヤ順序情報が制御レジスタ部３０３において有効である場合（すなわち、重ね合わせ後の図形のレイヤ順序情報が制御レジスタ部３０３に設定されている場合）、制御レジスタ部３０３に設定されたレイヤ順序情報と、レイヤ情報抽出部３０６から出力されたレイヤ順序情報とを比較する。一方、書き出し図形のレイヤ順序情報が制御レジスタ部３０３において有効でない場合（すなわち、重ね合わせ後の図形のレイヤ順序情報が制御レジスタ部３０３に設定されていない場合）、レイヤ順序比較部３０４は、転送先アドレスから読み出した画素データのレイヤ順序情報と、転送元アドレスから読み出した画素データから示されたレイヤ順序情報とを比較する。そして、この比較の結果に従い、転送先アドレスから読み出した画素データのレイヤ順序情報が、転送元アドレスから読み出した画素データのレイヤ順序情報と同じか下位であれば、ビット演算器３０７にこれらの画素データのビット演算開始指示を示し、そうでなければ、バス調停回路３０９に次のメモリアクセスを要求する。
【００３５】
なお、本実施形態では、回路ブロック３０８による処理を第１系統と呼び、３１３を第２系統と呼ぶこととする。また本実施形態では、バス調停回路３０９の優先順位の論理が、優先順位の高いものから、第１系統の書き込み要求、第２系統の書き込み要求、第１系統の読み込み要求、第２系統の読み込み要求の順とされている場合について説明する。
【００３６】
図４に、本実施形態にかかる画像処理システムで処理される画素データの一例を示す。図４に示すように、本画像処理システムの画素データは、色表現に必要な色情報として、色Ｒに関する情報を表すビット４０２、色Ｇに関する情報を表すビット４０３、色Ｂに関する情報を表すビット４０４の他に、レイヤ情報を表すビット４０５を有する。
【００３７】
図５に、回路ブロック３０８・３１３によりそれぞれ実行される第１・第２系統の処理の流れを示す。なお、第１系統および第２系統の処理の内容は、図５に示すとおり、同じである。
【００３８】
まず、回路内の各部の初期化を行う（ステップ５０１）。ここでは、制御レジスタ部３０３に、以下の変数について初期値を設定する。
（１）ベース図形に重ね合わされる図形が展開してある転送元アドレス
（２）ベース図形を展開してある転送先アドレス
（３）領域を定義する諸パラメータ
（４）レイヤ情報とレイヤ順序情報との対応関係
（５）書き出し図形のレイヤ
（６）ビット演算の種類
また、転送先アドレスを、バス制御部３０２の読み出しアドレスとして設定する。
【００３９】
次に、設定されたアドレスに対する読み出しメモリアクセスを実行し、読み出されたデータを、有効なデータ格納部に格納する（ステップ５０２）。
【００４０】
続いて、画素データ分離処理、レイヤ情報抽出処理、レイヤ順序比較処理を行う（ステップ５０３）。
【００４１】
さらに、演算後の書き出し図形のレイヤ設定が有効か無効かを判断する処理を行う（ステップ５０４）。
【００４２】
ステップ５０４の判断の結果、演算後の書き出し図形のレイヤ設定が無効であったとき（ｙｅｓ）、転送元から読み出した描画データが無効になっているかどうかを判断する（ステップ５０５）。転送元から読み出した描画データが無効であれば（ステップ５０５の結果がｙｅｓ）、転送元アドレスを更新し、転送元アドレスの描画データから得た情報を有効にする処理を行い、ステップ５０２へ戻る（ステップ５１２）。なお、転送元から読み出した描画データが有効であれば、ステップ５０６へ進む。
【００４３】
また、前述のステップ５０４の判断の結果、演算後の書き出し図形のレイヤ設定が有効であったときは（ｎｏ）、ステップ５０６へすすみ、転送先レイヤと現在比較対象になっている順序情報とを比べて、転送先レイヤの順序情報が上位であるかどうかを判断する（ステップ５０６）。
【００４４】
ステップ５０６の判断の結果、転送先レイヤの順序情報が上位ではなかったとき（ｎｏ）、転送元から読み出した描画データが無効になっているかどうかを判断する（ステップ５０７）。ステップ５０７の判断結果がｙｅｓ（無効）であれば、ステップ５１２へ進む。ステップ５０７の判断結果がｎｏ（有効）であれば、ステップ５０８へ進む。
【００４５】
ステップ５０８では、制御レジスタ部３０３で定義されたビット演算を、転送元アドレスから読み出した描画データと、転送先アドレスから読み出した描画データとの間で行う（ステップ５０８）。次に、転送先アドレスへの書き出しメモリアクセスを行う（ステップ５０９）。さらに、すべての転送を終了したかどうかの判断を行う（ステップ５１０）。
【００４６】
ステップ５１０の判断結果がｙｅｓであれば、処理を終了する。一方、判断結果がｎｏであれば、転送先アドレスの値を更新し、転送元アドレスの描画データから得た情報を無効にする処理を行い（ステップ５１１）、ステップ５０２へ戻る。
【００４７】
図６は、図５のフローチャートを簡略化し、第１系統と第２系統がパイプライン処理を行う様子を模式的に示している。図６に示す一つ一つの四角は、一つの処理サイクルで行われる処理を示す。
【００４８】
６０１は、第１系統の転送元アドレスからの読み出しメモリアクセス処理である。６０２は、第２系統の転送元アドレスからの読み出しメモリアクセス処理である。６０３は、第１系統でのレイヤ情報抽出処理およびレイヤ順序比較処理であって、処理６０２と並行して実行される。６０４は、第２系統でのレイヤ情報抽出処理およびレイヤ順序比較処理である。６０５は、第１系統での転送先アドレスからの描画データの読み出しメモリアクセス処理であって、処理６０４と並行して実行される。６０６は、第２系統での転送先アドレスからの描画データの読み出しメモリアクセス処理である。６０７は、第１系統でのレイヤ情報抽出処理と、レイヤ順序比較処理と、ビット演算処理である。処理６０６と処理６０７は、並行して実行される。６０８は、第２系統でのレイヤ情報抽出処理と、レイヤ順序比較処理と、ビット演算処理である。６０９は、第１系統での演算結果描画データを、転送先アドレスへ書き出す処理である。処理６０８と処理６０９は、並行して実行される。６１０は、第２系統での演算結果描画データを、転送先アドレスへの書き出す処理である。６１１は、処理６０１と同じく、第１系統の転送元アドレスからの読み出しメモリアクセスを要求する処理であるが、バス調停部３０９によって、第２系統での処理６１０が優先され、この処理６１０が終わるまで待たされる。
【００４９】
図７に、第１・第２系統における処理が進行する様子の他の例を示す。この例では、処理７０３の後、転送先アドレスのレイヤ順序情報が、書き出しレイヤ設定の順序情報と比べて上位であったことにより（図５のステップ５０６の結果がｙｅｓ）、図５のステップ５０７〜５０９がスキップされた結果、処理７０５において、次の第１系統の転送元アドレスからの読み出しメモリアクセス処理が始められている。
【００５０】
また、図８に、第１・第２系統における処理が進行する様子のさらに他の例を示す。この例では、処理８０６で、第１系統において転送先のアドレスから読み出した画素データから得たレイヤ順序情報が、転送元のアドレスから読み出した画素データから得たレイヤ順序情報より上位にある場合に書き出しを中止し、８１２において第１系統の転送元アドレスからの読み出しメモリアクセスが開始している場合の処理を示す。
【００５１】
図９（ａ）に、図３の制御レジスタ部３０３に設定される、レイヤ情報とレイヤ順序情報との関連を表すテーブルの例を概念的に示す。９０１は、図４に示すレイヤ情報のビット（レイヤビット）である。９０２は、レイヤ情報の名前である。９０３はレイヤ順序情報であり、ここでは、０層から４層までの５層のレイヤが定義されている。９０４は、レイヤ順序情報をビットで表したものであり、このビットが、レイヤ順序比較部３０４にて比較される。図９（ｂ）に、実際のレジスタで、図９（ａ）のレイヤ順序ビット９０４ａ〜９０４ｅを、１５ビットのレジスタとして定義した様子を示す。
【００５２】
以下、本実施形態の画像処理システムの動作のより詳細な具体例について、図２（ａ）および（ｂ）を参照して説明する。
【００５３】
ここでは、グラフィクスメモリ１０６上で、図２（ｂ）に示すイメージ領域２０２のうち、アドレス０ｘ３０〜０ｘ３８、およびアドレス０ｘ３ｃ〜０ｘ４４の、横５画素×縦２画素の部分に、図２（ｃ）に示すイメージ領域２０７を重ね合わせ合成し、図２（ａ）に示すように３つの図形が重ね合わせ合成された状態にするものとする。
【００５４】
なお、本例では、図４に示したように、１画素が２バイトで表されるものとする。図１および図３に示されたバス１０５は４バイトを持ち、メモリアクセスの最大効率を発揮する転送サイズが４バイトであるとする。また、イメージ領域２０２の画素のレイヤ情報は、図９（ａ）に示すＬ１であり、イメージ領域２０１のレイヤ情報がＬ０であるものとする。本例では、レイヤ順序は上位から４層、３層、２層、１層、０層の順序とする。さらに、イメージ領域２０７のレイヤ情報はＬ３であるとし、重ね合わせ処理後、Ｌ２に変更されるとする。
【００５５】
図５で示したフローチャートに従い、ステップ５０１において、０ｘ３０を初期アドレスとする、横方向に６画素（３バイト）、縦方向に２画素を、転送先アドレスとして設定する。また、０ｘ６０を初期アドレスとする、横方向に５画素、縦方向に２画素を、転送元アドレスとして設定する。また、重ね合わせ処理後の書き込み画素データのレイヤ情報を、Ｌ２に設定する。また、バス制御部３０２からの最初の読み出しアドレスとして、転送先アドレスの初期値である０ｘ３０が設定される。
【００５６】
ステップ５０２において、０ｘ３０から４バイトアクセスでの読み出しが行われ、一回のメモリアクセスにより、［０ｘ３０］、［０ｘ３２］の画素データが、描画データとして読み出され、転送先データ格納部３１０に格納される。なお、この処理は、回路ブロック３０８（第１系統）により実行される。
【００５７】
ステップ５０３において、転送先データ格納部３１０に格納されている描画データが、画素データ分離部３０５により、［０ｘ３０］に置かれていた画素データと、［０ｘ３２］に置かれていた画素データとに分離され、その後の処理は並列に行われる。
【００５８】
この間に、回路ブロック３１３（第２系統）において、第２のメモリアクセスが開始される。転送先アドレスの初期値として０ｘ３４が設定されて読み出しメモリアクセスが行われ、［０ｘ３４］、［０ｘ３６］に置かれていた画素データについて、上記と同様に図５のステップ５０３の処理が行われる。
【００５９】
一方、第１系統では、レイヤ情報抽出部３０６が、図９（ａ）に示したテーブルに従ってレイヤ情報抽出を行う。例えば、［０ｘ３０］から読み出した画素データは、図４に示すビット４０５（レイヤ情報）が“００１”であり、この画素のレイヤがＬ１であることを示す。また、図９（ａ）に示したテーブルを参照することにより、この画素のレイヤ順序情報が１層であり、レイヤ順序ビットが“００１”であることが分かる。同様に、［０ｘ３２］の画素データは、上述したようにレイヤ名がＬ０であり、図９（ａ）に示したテーブルを参照することにより、レイヤ順序情報が４層で、レイヤ順序ビットが“１００”である。この順序情報が、レイヤ順序比較部３０４に送られる。
【００６０】
本例では、重ね合わせ処理後の書き込み画素データのレイヤ情報がＬ２に設定されているので、ステップ５０４の判断結果はｎｏとなる。従って、ステップ５０６へ進む。
【００６１】
ステップ５０６において、書き込み画素データのレイヤがＬ２（レイヤ順序は３層）であり、レイヤ順序ビットは“０１１”であるので、転送先アドレス［０ｘ３０］［０ｘ３２］のレイヤ順序ビット“００１”，“１００”とそれぞれ比較すると、［０ｘ３０］については重ね合わせ合成が必要、［０ｘ３２］については不要となる。しかし、アクセスは４バイトの描画データ単位で行われるため、描画データ単位でみると、この場合に転送先アドレスが上位レイヤであるとは言えないので、ステップ５０７へ分岐する。
【００６２】
引き続き第１系統の処理を追えば、ステップ５０７では、まだ転送元アドレスから描画データは読み出されてないので無効であり（判断結果がｙｅｓ）、ステップ５１２へ分岐する。ステップ５１２では、転送元アドレス０ｘ６０が、バス制御部３０２のアクセスアドレスとして設定され、この転送元アドレスから読み出した描画データが有効にされる。その後、第１系統では再びステップ５０２、５０３、５０４が行われる。
【００６３】
この第１系統での読み出しの間に、第２系統では、ステップ５０３、５０４、５０５の処理が行われ、［０ｘ３４］、［０ｘ３６］のいずれの画素データもレイヤがＬ０（４層）であり、ステップ５０６において、転送先レイヤの方が上位であると判断される。従って、ステップ５１０に分岐し、全転送が終了していないのでステップ５０８に分岐する。そして、ステップ５０８において、転送先アドレスとして０ｘ３８が設定され、転送元アドレスからの描画データが無効化され、新しいサイクルに入る。
【００６４】
このとき、領域２０７からの［０ｘ６４］、［０ｘ６６］に置かれた画素データの読み出しは行われず、また、ビット演算、書き出しメモリアクセスも行われない。
【００６５】
説明を再び、第１系統に戻せば、転送元データについてステップ５０２、５０３、５０４が行われ、ステップ５０７では［０ｘ３０］の画素データについてのみ、ビット演算器３０７においてビット演算が行われる。［０ｘ３２］の画素データはそのまま変換されない。
【００６６】
このように、本実施形態によれば、メモリアクセスを、バスのメモリアクセス効率を最大にできる４バイトアクセスとしながら、２バイト単位での処理を行うことが可能である。
【００６７】
なお、本実施形態では、図形を単純に重ね合わせる場合のビット演算について説明しているので、例えば［０ｘ３０］の画素データは、領域２０７の［０ｘ６０］から読み出したビットに置き換えられるに過ぎないが、半透明処理などのビット演算を行うことができることは明らかである。
【００６８】
さて、ステップ５０９において、バス制御部３０２のアクセスアドレスが転送先アドレスに更新され、０ｘ３０からの４バイトが書き込まれる。ステップ５１０において全転送はまだ終わっていないのでステップ５１１に分岐し、ステップ５１１において、新たな転送先アドレスとして０ｘ３ｃが設定され、転送元アドレスからの描画データが無効化される。
【００６９】
このように、第１系統と第２系統のメモリアクセスがバス調停される関係を、図８に部分的に示す。
【００７０】
以下、全転送が終了するまで、第１系統と第２系統において処理が繰り返される。
【００７１】
結果として、図２（ａ）に示すように、領域２０１で示された図形のレイヤと、領域２０２で示された図形のレイヤの間に、領域２０４で示された図形が挟み込まれたように見える様に、重ねあわせがなされることになる。
【００７２】
以上の様に、本実施形態によれば、ソフトウェアを用いない画像の重ね合わせ処理転送技術において、従来、最低２回の読み出しと１回の書き出しメモリアクセスが必要であったことに対して、メモリアクセスを最小限に抑えながら、画像データのビット処理と転送を行うことができる。
【００７３】
特に、上述のように、転送先アドレスに書き出す図形のレイヤを設定することができる構成とした場合は、転送元アドレスから読み出した画素データのレイヤ情報によらずに、転送先アドレスから読み出した画素データのレイヤ順序情報が、設定したレイヤ順序情報より上位であれば、転送元アドレスからの読み出しメモリアクセスそのものを回避することができ、より一層、メモリアクセスを少なくすることが可能になる。
【００７４】
また、一回のメモリアクセスで得た描画データが複数の画素データを含む場合に、画素データに分離し、並行してその後の処理を進め、再び、元のメモリアクセスで得た描画データのサイズに戻すこととすれば、メモリアクセス制限を受けない画像データのビット処理と転送を行うことが可能になる。
【００７５】
さらに、複数系統の回路ブロックを備え、これらの回路ブロックのそれぞれからのメモリアクセス要求を一定の優先順位に従ってバス調停する構成とすれば、バス制御部が最大の効率でメモリアクセスを行うことを可能とし、一連の描画データ処理転送にかかる時間がほぼメモリアクセスに必要な時間と一致するため、画像データの重ね合わせおよび転送の処理を、最小限の時間で実行することが可能になる。
【００７６】
なお、本実施例ではビット演算として単純なビットの置き換えのみを示したが、それ以外でも半透明処理などを定義しても同様の効果が得られることは言うまでもない。
【００７７】
【発明の効果】
以上に説明したように、本発明によれば、メモリアクセスの回数を抑制しつつ画像データのビット処理と転送を行うことが可能な画像データ処理装置を提供できる。
【図面の簡単な説明】
【図１】本発明の実施形態における描画データ処理処理転送装置のシステム上の接続の一例を示すブロック図である。
【図２】（ａ）〜（ｃ）は、本発明の実施形態における描画データのグラフィクスメモリ上の配置例を示す模式図である。
【図３】本発明の実施形態における描画データ処理処理転送装置の構成の一例を示すブロック図である。
【図４】本発明の実施形態における画素データのレイヤ情報の持ちかたの一例を示す説明図である。
【図５】本発明の実施形態における描画データ処理転送の処理手順の一例を示すフローチャートである。
【図６】本発明の実施形態における描画データの処理の一例を示す説明図である。
【図７】本発明の実施形態における描画データの処理の一例を示す説明図である。
【図８】本発明の実施形態における描画データの処理の一例を示す説明図である。
【図９】（ａ）および（ｂ）は、本発明の実施形態におけるレイヤ情報とレイヤ順序情報の設定の一例を示す説明図である。
【符号の説明】
１０１　　プロセッサ
１０２　　描画エンジン
１０３　　描画エンジン
１０４　　描画データ処理転送装置
１０５　　表示装置
１０６　　グラフィクスメモリ
３０２　　バス制御部
３０４　　レイヤ順序比較部
３０５　　画素データ分離部
３０６　　レイヤ情報抽出部
３０７　　ビット演算部
３０８　　回路ブロック
３１３　　回路ブロック
３１０　　転送先データ格納部
３１１　　転送元データ格納部
３１２　　演算後データ格納部
【図１】
2004102363.tif 000003
【図２】
2004102363.tif 000004
【図３】
2004102363.tif 000005
【図４】
2004102363.tif 000006
【図５】
2004102363.tif 000007
【図６】
2004102363.tif 000008
【図７】
2004102363.tif 000009
【図８】
2004102363.tif 000010
【図９】
2004102363.tif 000011