(57)【特許請求の範囲】
【請求項１】
記憶手段上に格納されているディスクリプタ情報に基づいて設定情報やデータをＤＭＡ転送するＤＭＡコントローラを搭載し該データに対して所定のデータ処理を行う複数のモジュールと、該記憶手段への該ディスクリプタ情報の設定等を行って該ＤＭＡコントローラによる該記憶手段への動作及び該モジュールの動作を制御するとともに、該モジュールに設定する設定値と該設定値を設定する該モジュールのモジュールアドレスを該ディスクリプタ情報として該記憶手段に格納する制御手段と、該ディスクリプタ情報を該記憶手段から読み込んで該各モジュールに渡す設定情報読み込み手段と、を備えたデータ処理装置であって、前記各モジュールは、前記設定情報読み込み手段から渡された該ディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かを前記モジュールアドレスに基づいてチェックし、自己のモジュールに設定すべきディスクリプタ情報であると、該ディスクリプタ情報を自己のモジュールに設定するチェック手段を備え、
前記制御手段は、前記ディスクリプタ情報に、該ディスクリプタの全データサイズを示す全ディスクリプタサイズ情報を追加して前記記憶手段に格納し、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のデータサイズが該全ディスクリプタサイズ情報の示しているデータサイズであるかを検知するデータサイズ検知手段を備え、該データサイズ検知手段の検知結果に基づいて、該全ディスクリプタサイズ情報の示しているデータサイズのディスクリプタ情報を該記憶手段から読み込むことを特徴とするデータ処理装置。
【請求項２】
前記設定情報読み込み手段は、前記全てのモジュールに起動信号を出力する起動通知手段を備え、前記データサイズ検知手段が前記全ディスクリプタサイズ情報の示しているデータサイズの前記ディスクリプタ情報の読み込みを検知すると、該起動通知手段が該全てのモジュールに該起動信号を出力することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記制御手段は、前記設定値を設定する前記モジュールアドレスが連続する場合に、その連続するモジュールアドレス毎に、該モジュールアドレス連続サイズと該連続する設定値を前記ディスクリプタ情報として前記記憶手段に格納し、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のアドレスを計算するアドレス計算手段を備え、該アドレス計算手段が、該連続する各設定値のモジュールアドレスを該設定値の先頭のモジュールアドレスから順次計算して、該計算結果のモジュールアドレスを前記各モジュールに渡すことを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記制御手段は、前記ディスクリプタ情報を所定のブロック毎に分割して異なる前記記憶手段上の異なるディスクリプタアドレスに格納するとともに、該ブロック毎の該ディスクリプタ情報に、次の該ブロックのディスクリプタ情報の該ディスクリプタアドレスを追加して格納し、前記設定情報読み込み手段は、該ブロック毎のディスクリプタ情報を該次の該ディスクリプタアドレスに基づいて順次読み込むことを特徴とする請求項１から請求項３のいずれかに記載のデータ処理装置。
【請求項５】
前記設定情報読み込み手段は、前記各モジュールに個別に起動信号を出力する個別起動通知手段を備え、前記制御手段は、前記ディスクリプタ情報として、該ディスクリプタ情報の設定先のモジュールを特定するモジュール情報を追加して格納し、前記設定情報読み込み手段は、前記ディスクリプタ情報の読み込みを完了すると、該個別起動通知手段が該モジュール情報に基づいて該設定先のモジュールに該起動信号を出力することを特徴とする請求項１から請求項４のいずれかに記載のデータ処理装置。
【請求項６】
前記各モジュールは、前記データ処理が完了すると、前記設定情報読み込み手段にデータ処理終了信号を出力するデータ処理終了通知手段を備え、前記設定情報読み込み手段は、起動させた全てのモジュールの該データ処理終了通知手段から該データ処理終了信号を受信すると、該全てのモジュールの起動が終了したと判断する起動モジュール終了判定手段を備えていることを特徴とする請求項１から請求項５のいずれかに記載のデータ処理装置。
【請求項７】
ＤＭＡコントローラを搭載しデータに対して所定のデータ処理を行う複数のモジュールに設定する設定値と該設定値を設定する該モジュールのモジュールアドレスをディスクリプタ情報として記憶手段に格納するディスクリプタ設定処理ステップと、該ディスクリプタ情報を該記憶手段から読み込んで該各モジュールに渡すディスクリプタ取得処理ステップと、各モジュールが該渡されたディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かを該モジュールアドレスに基づいてチェックし、自己に設定すべきディスクリプタ情報であると、該ディスクリプタ情報を取り込んで設定するディスクリプタ情報判別処理ステップとを有し、
前記ディスクリプタ設定処理ステップにおいて、前記ディスクリプタ情報に、該ディスクリプタの全データサイズを示す全ディスクリプタサイズ情報を追加して前記記憶手段に格納し、前記ディスクリプタ取得処理ステップにおいて、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のデータサイズが該全ディスクリプタサイズ情報の示しているデータサイズであるかを検知し、該検知結果に基づいて、該全ディスクリプタサイズ情報の示しているデータサイズのディスクリプタ情報を該記憶手段から読み込むことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理方法に関し、詳細には、ディスクリプタを用いたＤＭＡ転送を効率的に行うデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
複写装置、プリンタ装置、ファクシミリ装置、複合装置等の画像処理装置においては、近年、複合化及びデジタル化に伴って、ＲＡＭ（Random Access Memory）等の半導体メモリを利用した画像処理が種々行われるようになってきている。このようなメモリ上にあるデータを高速に転送する技術としては、ＤＭＡ（Direct Memory Access）があり、ＤＭＡでは、一般的に、メモリアドレスと転送量を指定することで、ＣＰＵ（Central Processing Unit ）が介在することなく、データ転送を行うが、メモリ上にデータが点在する場合には、ディスクリプタ方式を用いて、メモリ上に点在するデータを接続して連続的に転送を行う。
【０００３】
ディスクリプタ方式では、ＤＭＡコントローラ（以下、ＤＭＡＣという。）が、ディスクリプタと呼ばれるメモリ上の識別子を読み込み、ディスクリプタに示されているスタートアドレスや転送量に基づいてデータ転送を行い、また、点在したデータを連続してアクセスできるように、ディスクリプタの中に次のディスクリプタが存在するポインタを格納して、一連の動作が終ると、次のディスクリプタのポインタへアクセスを行い、そのポインタのディスクリプタからディスクリプタ情報を取得して、再び転送を行うという動作を繰り返す。
【０００４】
そして、画像処理装置等のようにモジュールでデータに各種画像処理を施す場合には、モジュールにＤＭＡＣを搭載して、ＣＰＵによってメモリ上に格納されている該データ処理のパラメータ（設定値）等のディスクリプタをメモリから読み込んで、モジュールのレジスタに設定し、その後、ＤＭＡＣがメモリ上のデータを読み込むと、モジュールが、先に設定されているパラメータに基づいて該画像データに画像処理を施した後、ＤＭＡＣがメモリに該画像処理後の画像データを転送する。
【０００５】
このように、ディスクリプタ方式によるＤＭＡにおいては、ＣＰＵが１ブロックの転送毎にＤＭＡＣにコマンドを発行するため、全体のデータ量が多く、１ブロックのサイズが小さいと、ＤＭＡにＣＰＵが関与する回数も増え、ＣＰＵへの負荷が大きくなる。
【０００６】
そして、従来、データ転送用のＤＭＡＣとコマンド発行用のＤＭＡＣを設けることで、ＣＰＵがデータ転送のためのコマンド発行を無くして、ＣＰＵのコマンド発行にかかる負荷を削減する技術が提案されている（特許文献１参照）。
【０００７】
【特許文献１】特開２００１−２８２７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術にあっては、データ転送用のＤＭＡＣとコマンド発行用のＤＭＡＣを設けることで、ＣＰＵのコマンド発行にかかる負荷の軽減を図っているため、ディスクリプタ情報が固定されており、ディスクリプタフォーマットが変わる度にハードウェアの修正が必要となる。その結果、データ転送を効率的に行う上で、改良の必要があった。
【０００９】
そこで、本発明は、ＣＰＵへの負荷を低減させつつ、データ転送を効率的に行うことのできるデータ処理装置及びデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
請求項１記載の発明のデータ処理装置は、記憶手段上に格納されているディスクリプタ情報に基づいて設定情報やデータをＤＭＡ転送するＤＭＡコントローラを搭載し該データに対して所定のデータ処理を行う複数のモジュールと、該記憶手段への該ディスクリプタ情報の設定等を行って該ＤＭＡコントローラによる該記憶手段への動作及び該モジュールの動作を制御するとともに、該モジュールに設定する設定値と該設定値を設定する該モジュールのモジュールアドレスを該ディスクリプタ情報として該記憶手段に格納する制御手段と、該ディスクリプタ情報を該記憶手段から読み込んで該各モジュールに渡す設定情報読み込み手段と、を備えたデータ処理装置であって、前記各モジュールは、前記設定情報読み込み手段から渡された該ディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かを前記モジュールアドレスに基づいてチェックし、自己のモジュールに設定すべきディスクリプタ情報であると、該ディスクリプタ情報を自己のモジュールに設定するチェック手段を備え、前記制御手段は、前記ディスクリプタ情報に、該ディスクリプタの全データサイズを示す全ディスクリプタサイズ情報を追加して前記記憶手段に格納し、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のデータサイズが該全ディスクリプタサイズ情報の示しているデータサイズであるかを検知するデータサイズ検知手段を備え、該データサイズ検知手段の検知結果に基づいて、該全ディスクリプタサイズ情報の示しているデータサイズのディスクリプタ情報を該記憶手段から読み込むことにより、上記目的を達成している。
【００１２】
また、請求項１の場合、例えば、請求項２に記載するように、前記設定情報読み込み手段は、前記全てのモジュールに起動信号を出力する起動通知手段を備え、前記データサイズ検知手段が前記全ディスクリプタサイズ情報の示しているデータサイズの前記ディスクリプタ情報の読み込みを検知すると、該起動通知手段が該全てのモジュールに該起動信号を出力してもよい。
【００１３】
さらに、請求項１または２の場合、例えば、請求項３に記載するように、前記制御手段は、前記設定値を設定する前記モジュールアドレスが連続する場合に、その連続するモジュールアドレス毎に、該モジュールアドレス連続サイズと該連続する設定値を前記ディスクリプタ情報として前記記憶手段に格納し、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のアドレスを計算するアドレス計算手段を備え、該アドレス計算手段が、該連続する各設定値のモジュールアドレスを該設定値の先頭のモジュールアドレスから順次計算して、該計算結果のモジュールアドレスを前記各モジュールに渡してもよい。
【００１４】
また、請求項１から請求項３の場合、例えば、請求項４に記載するように、前記制御手段は、前記ディスクリプタ情報を所定のブロック毎に分割して異なる前記記憶手段上の異なるディスクリプタアドレスに格納するとともに、該ブロック毎の該ディスクリプタ情報に、次の該ブロックのディスクリプタ情報の該ディスクリプタアドレスを追加して格納し、前記設定情報読み込み手段は、該ブロック毎のディスクリプタ情報を該次の該ディスクリプタアドレスに基づいて順次読み込んでもよい。
【００１５】
さらに、請求項１から請求項４の場合、例えば、請求項５に記載するように、前記設定情報読み込み手段は、前記各モジュールに個別に起動信号を出力する個別起動通知手段を備え、前記制御手段は、前記ディスクリプタ情報として、該ディスクリプタ情報の設定先のモジュールを特定するモジュール情報を追加して格納し、前記設定情報読み込み手段は、前記ディスクリプタ情報の読み込みを完了すると、該個別起動通知手段が該モジュール情報に基づいて該設定先のモジュールに該起動信号を出力してもよい。
【００１６】
また、請求項１から請求項５の場合、例えば、請求項６に記載するように、前記各モジュールは、前記データ処理が完了すると、前記設定情報読み込み手段にデータ処理終了信号を出力するデータ処理終了通知手段を備え、前記設定情報読み込み手段は、起動させた全てのモジュールの該データ処理終了通知手段から該データ処理終了信号を受信すると、該全てのモジュールの起動が終了したと判断する起動モジュール終了判定手段を備えていてもよい。
【００１７】
請求項７記載のデータ処理方法は、ＤＭＡコントローラを搭載しデータに対して所定のデータ処理を行う複数のモジュールに設定する設定値と該設定値を設定する該モジュールのモジュールアドレスをディスクリプタ情報として記憶手段に格納するディスクリプタ設定処理ステップと、該ディスクリプタ情報を該記憶手段から読み込んで該各モジュールに渡すディスクリプタ取得処理ステップと、各モジュールが該渡されたディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かを該モジュールアドレスに基づいてチェックし、自己に設定すべきディスクリプタ情報であると、該ディスクリプタ情報を取り込んで設定するディスクリプタ情報判別処理ステップとを有し、前記ディスクリプタ設定処理ステップにおいて、前記ディスクリプタ情報に、該ディスクリプタの全データサイズを示す全ディスクリプタサイズ情報を追加して前記記憶手段に格納し、前記ディスクリプタ取得処理ステップにおいて、前記設定情報読み込み手段は、該記憶手段から読み込んだ前記ディスクリプタ情報のデータサイズが該全ディスクリプタサイズ情報の示しているデータサイズであるかを検知し、該検知結果に基づいて、該全ディスクリプタサイズ情報の示しているデータサイズのディスクリプタ情報を該記憶手段から読み込むことにより、上記目的を達成している。
【発明の効果】
【００１８】
本発明によれば、ＤＭＡコントローラを搭載しデータに対して所定のデータ処理を行う複数のモジュールに設定する設定値と該設定値を設定するモジュールのモジュールアドレスを、制御手段がディスクリプタ情報として記憶手段に格納し、設定情報読み込み手段が、該ディスクリプタ情報を該記憶手段から読み込んで各モジュールに渡して、各モジュールのチェック手段が、該渡されたディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かをモジュールアドレスに基づいてチェックし、自己のモジュールに設定すべきディスクリプタ情報であると、該ディスクリプタ情報を自己のモジュールに設定しているので、ディスクリプタフォーマットを自由に配置することができ、従来、制御手段が設定値の各モジュールへの設定と該設定値に基づくデータの転送のための設定の双方でＤＭＡデータ転送に介在していたのを、記憶手段へ設定値をディスクリプタ情報として格納するだけで、設定値を各モジュールへ設定して、該設定値に基づくデータの転送を行わせることができ、制御手段への負荷を低減させることができるとともに、データ転送を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２０】
図１〜図６は、本発明のデータ処理装置及びデータ処理方法の第１実施例を示す図であり、図１は、本発明のデータ処理装置及びデータ処理方法の第１実施例を適用した複写装置、複合装置、プリンタ装置等の画像処理装置１の要部ブロック構成図である。
【００２１】
図１において、データ処理装置としての画像処理装置１は、ＣＰＵ２、データ処理部３及びメモリ４等を備えており、データ処理部３は、画像処理モジュールとしての回転器１１、変倍器１２、設定情報読み込み部１３、ＣＰＵ  Ｉ／Ｆ１４及びメモリ  Ｉ／Ｆ１５等を備えている。
【００２２】
画像処理装置１は、ＣＰＵ２の指示情報に応じてデータ処理部３がメモリ４上の画像データの読み込みを行って、該読み込んだ画像データに画像処理を施して、メモリ４に書き戻す処理を行う。
【００２３】
ＣＰＵ  Ｉ／Ｆ１４は、ＣＰＵ２とのインターフェイスであり、メモリ  Ｉ／Ｆ１５は、メモリ４とのインターフェイスである。
【００２４】
メモリ４は、ＲＡＭ（Random Access Memory）やハードディスク等が用いられ、画像データ及びディスクリプタ等が書き込まれ、また、読み出される記憶手段である。
【００２５】
ＣＰＵ２は、データ処理部３に設定するレジスタ情報（設定情報）やデータ処理部３に入力するデータをメモリ４に書き込み、また、データ処理部３の設定情報読み込み部１３に対して、メモリ４の読み込み開始アドレスを設定したり、起動開始の指示を行う。すなわち、ＣＰＵ２は、複数のモジュールである回転器１１、変倍器１２に設定する設定値（レジスタ設定値）と該設定値を設定する回転器１１、変倍器１２のレジスタアドレス（モジュールアドレス）をディスクリプタ情報としてメモリ４に格納するディスクリプタ設定処理を行う制御手段として機能する。
【００２６】
設定情報読み込み部１３は、ＣＰＵ２によって設定されたメモリ４の読み込み開始アドレスからレジスタアドレス（モジュールアドレス）とレジスタ設定値からなるディスクリプタ情報を読み込み、レジスタアドレスは、レジスタ設定値を設定するデータ処理部３内のモジュールである回転器１１、変倍器１２のレジスタアドレスである。設定情報読み込み部１３は、該読み込んだレジスタアドレスとレジスタ設定値のレジスタ情報（ディスクリプタ情報）をデータ処理部３内の全ての画像処理モジュール、すなわち、回転器１１、変倍器１２に対して流すディスクリプタ取得処理を実行する。
【００２７】
回転器１１は、メモリ４から読み込んだ画像データに対して画像回転処理を施す画像処理モジュールであり、データＤＭＡＣ（ＤＡＴＡ  ＤＭＡＣ）１１ａ及びアドレスチェッカー１１ｂ等を備えている。変倍器１２は、メモリ４から読み込んだ画像データに対して画像変倍処理を行う画像処理モジュールであり、データＤＭＡＣ１２ａ及びアドレスチェッカー１２ｂ等を備えている。
【００２８】
データＤＭＡＣ１１ａ、１２ａは、ＣＰＵ２を介さずにデータの受け渡しを制御するものであり、メモリ  Ｉ／Ｆ１５を介してメモリ４との間で、メモリ４上のディスクリプタ情報に基づいてデータ転送を行う。
【００２９】
アドレスチェッカー１１ｂ、１２ｂは、設定情報読み込み部１３から受け取ったレジスタ情報のレジスタアドレスが、該レジスタ情報を自己に設定するアドレスであるか否かチェックし、受け取ったレジスタ情報のレジスタアドレスが自己の回転器１１、変倍器１２に設定すべきアドレスであると判断すると、内部のレジスタに該受信したレジスタ設定値を保持し、また、アドレスチェッカー１１ｂ、１２ｂは、受け取ったレジスタ情報のレジスタアドレスが自己に設定すべきアドレスではないと判断すると、該レジスタ情報を破棄するディスクリプタ情報判別処理を行う。
【００３０】
回転器１１、変倍器１２は、設定情報読み込み部１３から受け取ったレジスタ設定値を内部レジスタに保持すると、データＤＭＡＣ１１ａ、１２ａが、該レジスタ設定値に基づいてメモリ４から画像処理パラメータや画像データを読み込み、画像処理パラメータに基づいて画像データに画像回転処理や画像変倍処理を施して、ディスクリプタ情報で指定されているメモリ４上のアドレスに書き込む。
【００３１】
次に、本実施例の作用を説明する。本実施例の画像処理装置１は、ディスクリプタのフォーマットを自由に配置して、ＤＭＡによるデータ転送のためのＣＰＵ２の関与を削減する。
【００３２】
すなわち、図２に示すように、画像処理装置１は、ＣＰＵ２が、データ処理部２に設定するレジスタ情報（図２では、設定情報と表記している。）をメモリ４上に書き込む（ステップＳ１０１）。このレジスタ情報は、データ処理部２に入力する画像データや画像データに施す処理のパラメータや画像データ等のデータの格納されているメモリ４上のメモリアドレスと転送量を示すディスクリプタ情報である。
【００３３】
ＣＰＵ２は、次に、設定情報読み込み部１３に対して、レジスタ情報のメモリ４上での読み込み開始アドレスを設定して、起動開始を指示する（ステップＳ１０２）。
【００３４】
設定情報読み込み部１３は、メモリ４上のＣＰＵ２によって設定された読み込み開始アドレスからデータ処理部３に取り込む上記レジスタ情報を読み込み（ステップＳ１０３）、該メモリ４から読み込んだレジスタアドレスとレジスタ設定値を内部の画像処理モジュールの全てである回転器１１と変倍器１２に対して流す（ステップＳ１０４）。
【００３５】
回転器１１と変倍器１２のアドレスチェッカー１１ｂ、１２ｂは、レジスタアドレスとレジスタ設定値であるレジスタ情報（ディスクリプタ情報）を設定情報読み込み部１３から受け取ると、該受け取ったレジスタ情報のレジスタアドレスが自己に設定すべきアドレスであるか否か判断し（ステップＳ１０５）、受け取ったレジスタ情報のレジスタアドレスが自己に設定すべきアドレスであると判断すると、回転器１１または変倍器１２の内部のレジスタに該受信したレジスタ情報のレジスタ設定値を保持する（ステップＳ１０６）。また、アドレスチェッカー１１ｂ、１２ｂは、受け取ったレジスタ情報のレジスタアドレスが自己に設定すべきアドレスではないと判断すると、該レジスタ情報を破棄する（ステップＳ１０７）。
【００３６】
そして、上記レジスタ情報を内部レジスタに設定した回転器１１または変倍器１２は、データＤＭＡＣ１１ａ、１２ａが、該設定情報であるレジスタ設定値に基づいてメモリ４にアクセスして、メモリ４からデータを読み出し、回転器１１または変倍器１２は、該データが画像処理の処理パラメータであると、内部レジスタに該処理パラメータの設定を行い、該データが画像データであると、画像データに既に設定されている処理パラメータに基づいて画像回転処理や画像変倍処理を行って、データＤＭＡＣ１１ａ、１２ａが該処理後の画像データをメモリ４上に書き戻す。
【００３７】
このように、本実施例の画像処理装置１は、複数の画像処理モジュールである回転器１１、変倍器１２に設定するレジスタ設定値と該レジスタ設定値を設定する該回転器１１、変倍器１２のモジュールアドレスを、ＣＰＵ２がディスクリプタ情報としてメモリ４に格納し、設定情報読み込み部１３が、該ディスクリプタ情報をメモリ４から読み込んで回転器１１及び変倍器１２に渡して、回転器１１及び変倍器１２のアドレスチェッカー１１ｂ、１２ｂが、該渡されたディスクリプタ情報が自己に設定するディスクリプタ情報であるか否かをモジュールアドレスに基づいてチェックし、自己に設定すべきディスクリプタ情報であると、該ディスクリプタ情報を自己のレジスタに設定している。
【００３８】
したがって、ディスクリプタフォーマットを自由に配置することができ、従来、レジスタ設定値の各画像処理モジュールである回転器１１、変倍器１２への設定と該レジスタ設定値に基づくデータの転送のための設定の双方でＣＰＵがＤＭＡデータ転送に介在していたのを、メモリ４へレジスタ設定値をディスクリプタ情報として格納するだけで、レジスタ設定値を回転器１１、変倍器１２へ設定させて、該レジスタ設定値に基づくデータの転送を行わせることができ、ＣＰＵ２への負荷を低減することができるとともに、データ転送を効率的に行うことができる。
【００３９】
すなわち、本実施例の画像処理装置１は、ディスクリプタフォーマットを、モジュールアドレスであるレジスタアドレスとレジスタ設定値で構成し、回転器１１、変倍器１２のアドレスチェッカー１１ｂ、１２ｂがレジスタアドレスに基づいて、レジスタデータが自己宛であるかチェックして、レジスタ設定値の取り込みの制御を行っているので、ディスクリプタフォーマットを自由に配置することができる。
【００４０】
なお、通常、ディスクリプタは、メモリアドレスと転送量からなる上記レジスタ設定値（レジスタ値）のみからなるフォーマット構成となっているが、本実施例の画像処理装置１では、ＣＰＵ２がメモリ４上に書き込むディスクリプタフォーマットは、データ処理部３の画像処理モジュールである回転器１１と変倍器１２のレジスタのアドレスであるレジスタアドレスとレジスタ設定値（メモリアドレスと転送量）からなっている。
【００４１】
そして、回転器１１のアドレスチェッカー１１ｂと変倍器１２のアドレスチェッカー１２ｂは、該レジスタアドレスに基づいて設定情報読み込み部１３から受け取ったレジスタ設定値が自己宛であるか判断している。
【００４２】
本実施例で用いるディスクリプタは、上記フォーマット構成に限るものではなく、例えば、図３に示すように、ディスクリプタの先頭に、全ディスクリプタサイズ（全データサイズ）を組み込み、その後に、レジスタアドレスとレジスタ値（レジスタ設定値）の順で格納されていてもよい。すなわち、「全ディスクリプタサイズ、レジスタアドレス、レジスタ値・・・・レジスタアドレス、レジスタ値」の順に格納されたディスクリプタ構成であってもよい。
【００４３】
このようにディスクリプタに、全ディスクリプタサイズを組み込む場合、設定情報読み込み部１３に、データサイズ検知部２１（図４参照）を設け、設定情報読み込み部１３が、まず、メモリ４の全ディスクリプタサイズ（全データサイズ）を取り込んで、データサイズ検知部２１が、該全ディスクリプタサイズを計算しながら、全ディスクリプタサイズ以降のディスクリプタ情報であるレジスタアドレスとレジスタ値（レジスタ設定値）を読み込んで、全画像処理モジュール（回転器１１、変倍器１２）に対して該レジスタアドレスとデータ値を流す。設定情報読み込み部１３は、以下、データサイズ検知部２１が読み込んだデータサイズを計算して全ディスクリプタサイズ（全データサイズ）になるまで、メモリ４からレジスタアドレスとレジスタ値を読み込んで、全画像処理モジュールに流す処理を行う。
【００４４】
このようにすると、ディスクリプタ情報として設定可能なレジスタ設定数を自由に変更することができ、自由度をより一層向上させることができる。
【００４５】
この場合、図４に示すように、設定情報読み込み部１３に、上記データサイズ検知部２１と起動通知部２２を設け、データサイズ検知部２１が、全ディスクリプタサイズを計算すると、すなわち、全ディスクリプタサイズのディスクリプタ情報の読み込みを検出すると、データサイズ検知部２１が終了信号を起動通知部２２に出力し、起動通知部２２が、全画像処理モジュールに対して、すなわち、回転器１１及び変倍器１２に対して、起動信号（スタート信号）を出力して、各画像処理モジュール、すなわち、回転器１１及び変倍器１２が上記処理を実行するようにしてもよい。
【００４６】
このようにすると、回転器１１及び変倍器１２を自動的に起動させることができ、ＣＰＵ２がわざわざ各画像処理モジュールである回転器１１や変倍器１２の起動をかける必要がなくなり、ＣＰＵ２の負荷をより一層削減することができる。
【００４７】
また、本実施例で用いるディスクリプタは、上記フォーマット構成に限るものではなく、例えば、レジスタアドレスが連続領域に配置されている場合には、図５に示すように、ディスクリプタ情報にレジスタアドレス連続サイズを設定してもよい。
【００４８】
この場合、設定情報読み込み部１３に、上記データサイズ検知部２１とアドレス計算部を設け、設定情報読み込み部１３が、まず、メモリ４の全ディスクリプタサイズ（全データサイズ）を取り込んで、データサイズ検知部２１が、該全ディスクリプタサイズを計算しながら、次に、レジスタアドレス連続サイズを読み込み、さらに、全ディスクリプタサイズ以降のディスクリプタ情報であるレジスタアドレスとレジスタ値（レジスタ設定値）を読み込んで、アドレス計算部が、最初に読み込んだレジスタアドレスから計算して、全画像処理モジュール（回転器１１、変倍器１２）に対して該レジスタアドレスとデータ値を流す。設定情報読み込み部１３は、以下、アドレス計算部が計算したレジスタアドレス連続サイズ分読み込んで、次のレジスタアドレス連続サイズ及び以下のレジスタアドレスとレジスタ値の読み込みを、データサイズ検知部２１が該読み込んだデータのデータサイズを計算して全ディスクリプタサイズ（全データサイズ）になるまで、行って、順次、全画像処理モジュールに流す処理を行う。
【００４９】
このようにすると、レジスタアドレスを連続空間で設定する場合に、最初のレジスタアドレスの設定のみで、後のアドレスを自動計算することができ、確保するメモリ空間を削減することができる。
【００５０】
さらに、本実施例で用いるディスクリプタは、上記フォーマット構成に限るものではなく、例えば、図６に示すように、ディスクリプタ情報を複数個に分けてメモリ４上に配置してもよい。  
【００５１】
この場合、上記同様に、設定情報読み込み部１３は、起動されると、最初に、最初にディスクリプタ情報の格納されているアドレスに対してディスクリプタ情報（設定情報）の読み込みを行い、まず、全データサイズの取得を行う。データサイズ検知部２１で該全データサイズになるまでメモリ４上からディスクリプタ情報であるレジスタアドレスとレジスタ値の読み込みを行うと、最後に設定されているディスクリプタ情報である次のディスクリプタアドレスを判定する。
【００５２】
設定情報読み込み部１３は、次のディスクリプタアドレスが「０」でなければ、そのデータ値を次の設定情報（ディスクリプタ情報）の格納されているアドレスと判断して、上述のように、最初に全データサイズを取得して、上記同様にディスクリプタ情報を読み込む動作を繰り返し行う。
【００５３】
そして、設定情報読み込み部１３は、次のディスクリプタアドレスが「０」であると、その設定情報が最後の設定情報であると判断して、読み込み動作を完了する。
【００５４】
このようにすると、設定情報が膨大な場合等のようにメモリ連続空間を確保することが難しい場合、ディスクリプタ情報を複数個に分けることができ、レジスタ設定値を複数のディスクリプタ情報に分割することで、より一層自由度を向上させることができる。
【実施例２】
【００５５】
図７及び図８は、本発明のデータ処理装置及びデータ処理方法の第２実施例を示す図であり、図７は、本発明のデータ処理装置及びデータ処理方法の第２実施例を適用した画像処理装置のデータ処理部の要部ブロック構成図である。
【００５６】
なお、本実施例は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、本実施例の説明においては、上記第１実施例の画像処理装置１と同様の構成部分には、同一の符号を付してその詳細な説明を省略するとともに、図示しない部分についても、必要に応じて、第１実施例で用いた符号をそのまま用いて説明する。
【００５７】
図７において、画像処理装置１のデータ処理部３は、画像処理モジュールとしての回転器１１及び変倍器１２及び設定情報読み込み部１３等を備えており、設定情報読み込み部１３は、モジュール起動判定部３１及び各画像処理モジュール毎の起動通知部である回転器起動通知部３２と変倍器起動通知部３３を備えている。
【００５８】
そして、ＣＰＵ２によってメモリ４に設定されるディスクリプタ情報は、そのディスクリプタフォーマットが図８に示すように構成されており、全データサイズ（全ディスクリプタサイズ）、レジスタアドレス、レジスタ値（レジスタ設定値）・・・レジスタアドレス、レジスタ値が設定されて、最後に、モジュール番号データサイズ及びモジュール番号としての回転器番号と変倍器番号が設定されている。
【００５９】
本実施例の画像処理装置１は、ＣＰＵ２がメモリ４に上記構成のディスクリプタ情報を書き込んで、読み込み開始アドレスを設定情報読み込み部１３に通知すると、設定情報読み込み部１３が、メモリ４の該読み込み開始アドレスからディスクリプタ情報のレジスタアドレスとレジスタ設定値（レジスタ値）を全て読み込み、次に、ディスクリプタに設定されているモジュール番号データサイズを読み込んで、該モジュール番号データサイズ分のモジュール番号、すなわち、回転器番号と変倍器番号を読み込む。
【００６０】
モジュール情報読み込み部１３は、モジュール番号（回転器番号と変倍器番号）を読み込むと、モジュール起動判定部３１が、必要なモジュール起動通知部である回転器起動通知部３２と変倍器起動通知部３３に対して、通知要求を出し、通知要求を受け取った回転器起動通知部３２及び変倍器起動通知部３３は、対応する画像処理モジュールである回転器１１及び変倍器１２に対して起動信号を流す。
【００６１】
回転器１１及び変倍器１２は、回転器起動通知部３２及び変倍器起動通知部３３から起動信号を受け取ると、設定情報読み込み部１３から受け取ってレジスタアドレスとレジスタ設定値に基づいて上記レジスタ設定処理を行って、必要な画像データやパラメータの読み込みをメモリ４から行う。
【００６２】
このように、本実施例の画像処理装置１は、起動させるモジュールを指定して、様々なモジュールの組み合わせをディスクリプタ設定情報で制御することができ、より一層自由度を向上させることができる。
【実施例３】
【００６３】
図９は、本発明のデータ処理装置及びデータ処理方法の第３実施例を適用した画像処理装置のデータ処理部の要部ブロック構成図である。
【００６４】
なお、本実施例は、上記第１実施例の画像処理装置１と同様の画像処理装置に適用したものであり、本実施例の説明においては、上記第１実施例の画像処理装置１と同様の構成部分には、同一の符号を付してその詳細な説明を省略するとともに、図示しない部分についても、必要に応じて、第１実施例で用いた符号をそのまま用いて説明する。
【００６５】
図９において、画像処理装置１のデータ処理部３は、画像処理モジュールとしての回転器１１及び変倍器１２及び設定情報読み込み部１３等を備えている。
【００６６】
回転器１１及び変倍器１２は、それぞれ設定情報読み込み部１３に終了信号を出力してデータ処理の終了を通知するデータ処理終了通知部１１ｃ、１２ｃを備えており、設定情報読み込み部１３は、各画像処理モジュールである回転器１１、変倍器１２のデータ処理終了通知部１１ｃ、１２ｃからの終了信号に基づいて、各画像処理モジュールでのデータ処理の終了を判定する。
【００６７】
本実施例の画像処理装置１は、各画像処理モジュールである回転器１１及び変倍器１２でのディスクリプタ情報に基づくメモリ４からのデータ転送やメモリ４から読み込んだデータに対する画像処理等のデータ処理が終了すると、そのデータ処理終了通知部１１ｃ、１２ｃが、設定情報読み込み部１３に、終了信号を出力して、データ処理が終了したことを通知する。
【００６８】
設定情報読み込み部１３は、回転器１１及び変倍器１２からの終了信号を起動モジュール終了判定部４１が受け取り、起動モジュール終了判定部４１は、起動させたた全ての画像処理モジュールである回転器１１、変倍器１２から終了信号を受け取った時点でデータ処理部３の処理が終了したと判定する。
【００６９】
このようにすると、設定情報読み込み部１３一箇所でデータ処理部３の全ての動作完了を集中管理して、ＣＰＵ２は、データ処理部３の終了を各画像処理モジュールである回転器１１、変倍器１２から通知されるのではなく、設定情報読み込み部１３からの通知のみで制御することができ、制御を簡単にして、ＣＰＵ２の負荷をより一層軽減することができる。
【００７０】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７１】
本発明は、プリンタ装置、複合装置等のＤＭＡによってデータ転送するデータ処理装置及びデータ処理方法に適用することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１実施例を適用した画像処理装置の要部ブロック構成図。
【図２】図１の画像処理装置によるデータ転送制御処理を示すフローチャート。
【図３】図１の画像処理装置で用いる全データサイズ、レジスタアドレス及びレジスタ値の設定されているディスクリプタの一例を示す図。
【図４】図１のデータサイズ検知部と起動通知部を有する場合の設定情報読み込み部のブロック構成図。
【図５】図１の画像処理装置で用いる全データサイズ、レジスタアドレス連続サイズ、レジスタアドレス及びレジスタ値の設定されているディスクリプタの一例を示す図。
【図６】図１の画像処理装置で用いる全データサイズ、レジスタアドレス、レジスタ値及び次のディスクリプタアドレスの設定されているディスクリプタの一例を示す図。
【図７】本発明の第２実施例を適用した画像処理装置のデータ処理部の要部ブロック構成図。
【図８】図７の画像処理装置で用いる全データサイズ、レジスタアドレス、レジスタ値、モジュール番号データサイズ、回転器番号及び変倍器番号の設定されているディスクリプタの一例を示す図。
【図９】本発明の第３実施例を適用した画像処理装置のデータ処理部の要部ブロック構成図。
【符号の説明】
【００７３】
１  画像処理装置
２  ＣＰＵ
３  データ処理部
４  メモリ
１１  回転器
１１ａ  データＤＭＡＣ
１１ｂ  アドレスチェッカー
１２  変倍器
１２ａ  データＤＭＡＣ
１２ｂ  アドレスチェッカー
１３  設定情報読み込み部
１４  ＣＰＵ  Ｉ／Ｆ
１５  メモリ  Ｉ／Ｆ
２１  データサイズ検知部
２２  起動通知部
３１  モジュール起動判定部
３２  回転器起動通知部
３３  変倍器起動通知部
４１  起動モジュール終了判定部
１１ｃ、１２ｃ  データ処理終了通知部
【図１】
0004847407.tif 000002
【図２】
0004847407.tif 000003
【図３】
0004847407.tif 000004
【図４】
0004847407.tif 000005
【図５】
0004847407.tif 000006
【図６】
0004847407.tif 000007
【図７】
0004847407.tif 000008
【図８】
0004847407.tif 000009
【図９】
0004847407.tif 000010