(57)【要約】      （修正有）【課題】複合装置、プリンタ装置等の画像処理装置において、ＤＭＡコントローラを有効利用する。【解決手段】複写装置１は、ＤＭＡＣによって、メモリ５上のディスクリプタ情報に基づいて画像処理パラメータ及び画像データを読み出して該画像処理パラメータに応じた画像処理を該画像データに施す画像処理モジュール１１〜１４に、該ＤＭＡＣとして、メモリ５から該画像処理パラメータを読み出すパラメータＤＭＡＣとしての機能とメモリ５から該画像データを読み出すリードＤＭＡＣとしての機能を兼ね備えるパラメータ／リードＤＭＡＣを設けている。したがって、画像処理モジュールに搭載するＤＭＡＣの個数を削減して、コストを削減することができるとともに、起動制御等のアクセスや割り込み処理の回数を削減して、パフォーマンスを向上させることができる。【選択図】図１
2009027274.tif 000002
【特許請求の範囲】
【請求項１】
画像処理パラメータと画像データ及びディスクリプタ情報を保管する記憶手段と、ＤＭＡコントローラを内蔵して該ＤＭＡコントローラによって該記憶手段上の該ディスクリプタ情報に基づいて該画像処理パラメータ及び該画像データを読み出して該画像処理パラメータに応じた画像処理を該画像データに施す画像処理モジュールと、該記憶手段への該ディスクリプタ情報の設定等を行って該ＤＭＡコントローラによる該記憶手段への動作及び該画像処理モジュールの動作を制御する制御手段とを備えた画像処理装置において、前記ＤＭＡコントローラとして、前記記憶手段から前記画像処理パラメータを読み出すパラメータＤＭＡコントローラとしての機能と該記憶手段から前記画像データを読み出すリードＤＭＡコントローラとしての機能を兼ね備える共用ＤＭＡコントローラを備えていることを特徴とする画像処理装置。
【請求項２】
前記共用ＤＭＡコントローラは、前記ディスクリプタ情報に基づいて前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を選択して動作することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際に、前記制御手段に対して割り込みを発生することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際の前記制御手段に対する割り込みの発生を、複数の画像データを連続的に処理する場合にのみ実行することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際に、該ＤＭＡコントローラとしての動作を一旦停止することを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際にＤＭＡコントローラとしての動作を一旦停止するか否かを、転送データ量に基づいて決定することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記共用ＤＭＡコントローラは、前記記憶手段へのアクセス領域に基づいて前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を選択して動作することを特徴とする請求項１から請求項６のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、詳細には、ＤＭＡコントローラを有効利用する複合装置、プリンタ装置等の画像処理装置に関する。
【背景技術】
【０００２】
近年、複写装置等の画像処理装置においては、デジタル化が進むとともに画像メモリを応用した画像の加工、編集が行われるようになってきており、また、画像メモリに対して画像データの入出力を実行するのに、一般的に、ＤＭＡ（Direct Memory Access）データ転送方式を用いたＤＭＡコントローラ（以下、ＤＭＡＣという。）が使用されることが多い。
【０００３】
ＤＭＡＣは、ディスクリプタと呼ばれるデータ転送方式を指示したメモリ上の情報を元にメモリの特定の領域に対してデータの転送を行う（特許文献１参照）。
【０００４】
そして、従来のＤＭＡＣによるデータ転送においては、例えば、図１０に示すように、画像処理モジュール１００とメモリ１１０との間でデータ転送を行う場合、画像処理モジュール１００は、画像処理パラメータをメモリ１１０からダウンロードするための専用のパラメータＤＭＡＣ１０１、画像処理前の画像データをメモリ１１０からリードするための専用のリードＤＭＡＣ１０２、画像処理後の画像データをメモリ１１０にライトするための専用のライトＤＭＡＣ１０３及びＣＰＵ１２０（図１３参照）やパラメータＤＭＡＣ１０１で制御される画像処理パラメータへのアクセスを制御するレジスタ制御回路１０４等を備え、図１１及び図１２に示すような手順でデータ転送を行う。すなわち、まず、画像処理パラメータの画像処理モジュール１００に設定を行うために、図１１に示すように、パラメータＤＭＡＣ１０１の起動命令（図１０の（ａ））が発行されると、ＣＰＵ１２０がパラメータＤＭＡＣ１０１に起動トリガＥＸＥＣをかけ（図１０の（ｂ）、ステップＳ１００１）、 パラメータＤＭＡＣ１０１が、メモリ１１０のディスクリプタ情報を読み込む（図１０の（ｃ）、ステップＳ１００２）。パラメータＤＭＡＣ１０１は、ディスクリプタ情報に基づいてメモリ１１０からパラメータ値を読み込み（ステップＳ１００３）、全てのパラメータ値を読み込むと、続けてパラメータ値を読み込む必要があるか、すなわち、チェーンを確認する（ステップＳ１００４）。
【０００５】
ステップＳ１００４で、チェーンするときには、パラメータＤＭＡＣ１０１は、ステップＳ１００２に戻って、ディスクリプタ情報の読み込みから上記同様に処理を行い（ステップＳ１００２〜Ｓ１００４）、ステップＳ１００４で、チェーンしないときには、ポーズするかどうか確認する（ステップＳ１００５）。ステップＳ１００５で、ポーズするときには、パラメータＤＭＡＣ１０１は、次の起動となる「コンティニュー」を待って（ステップＳ１００６）、ステップＳ１００２のディスクリプタ情報の読み込みから上記同様に処理する（ステップＳ１００２〜Ｓ１００５）。ステップＳ１００５で、ポーズでないときには、パラメータＤＭＡＣ１０１の動作が完了する（図１０の（ｍ））。
【０００６】
そして、画像データの読み取り（リード）を行うために、リードＤＭＡＣの起動命令が発行されると、図１２に示すように、ＣＰＵ１２０が、リードＤＭＡＣ１０２に対して起動トリガをかけ（図１０（ｅ）、ステップＳ１１０１）、リードＤＭＡＣ１０２がメモリ１１０のディスクリプタ情報を読み込む（図１０（ｆ）、ステップＳ１１０２）。リードＤＭＡＣ１０２は、ディスクリプタ情報に従ってメモリ１１０から画像データを読み込んで、全ての画像データの転送が完了すると、続けて画像データを転送する必要があるか、すなわち、チェーンを確認する（ステップＳ１１０４）。
【０００７】
ステップＳ１１０４で、チェーンするときには、リードＤＭＡＣ１０２は、ステップＳ１１０２に戻って、ディスクリプタ情報の読み込みから上記同様に処理を行い（ステップＳ１１０２〜Ｓ１１０４）、ステップＳ１１０４で、チェーンしないときには、ポーズするかどうか確認する（ステップＳ１１０５）。ステップＳ１１０５で、ポーズするときには、リードＤＭＡＣ１０２は、次の起動となる「コンティニュー」を待って（ステップＳ１１０６）、ステップＳ１１０２のディスクリプタ情報の読み込みから上記同様に処理する（ステップＳ１１０２〜Ｓ１１０５）。ステップＳ１１０５で、ポーズでないときには、リードＤＭＡＣ１０２の動作が完了する（図１０の（ｈ））。
【０００８】
また、画像データのメモリ１１０への書き込み（ライト）の場合も、画像データのリードの場合と同様に処理する。
【０００９】
上記処理を、図１３に示すＣＰＵ１２０、画像処理モジュール１００及びメモリ１１０との間の制御フローに基づいて説明すると、まず、ＣＰＵ１２０が、パラメータＤＭＡＣ１０１がダウンロードする画像処理パラメータをメモリ１１０上に展開する画像処理パラメータ・ライトを行い（図１３（ａ））、続けて、パラメータＤＭＡＣ１０１、リードＤＭＡＣ１０２、ライトＤＭＡＣ１０３の動作に必要なディスクリプタ情報をメモリ１１０上に展開するディスクリプタ・ライトを行う（図１３（ｂ））。次に、ＣＰＵ１２０が、パラメータＤＭＡＣ１０１、リードＤＭＡＣ１０２、ライトＤＭＡＣ１０３を起動するために必要な設定を画像処理モジュール１００のレジスタ制御回路１０４に行うレジスタ設定を行い（図１３（ｃ））、レジスタ設定を完了すると、画像処理モジュール１００に起動（ＥＸＥＣ）をかける（図１３（ｄ））。パラメータＤＭＡＣ１０１、リードＤＭＡＣ１０２、ライトＤＭＡＣ１０３は、上記図１３（ａ）で設定されたディスクリプタ情報を読み込み（図１３（ｅ））、パラメータＤＭＡＣ１０１が、メモリ１１０上に展開されたパラメータを読み込んでレジスタ制御回路１０４に反映させる。リードＤＭＡＣ１０２が、画像処理前の画像データをメモリ１１０上から読み込み、画像処理モジュール１００で画像処理後の画像データをライトＤＭＡＣ１０３がメモリ１１０上に書き込む画像データ転送処理を行う（図１３（ｆ））。画像モジュール１００は、画像データ転送処理が完了すると、完了割り込みをＣＰＵ１２０に行って、動作完了をＣＰＵ１２０に通知し（図１３（ｇ））、ＣＰＵ１２０が割り込み処理後の所定の処理を行って完了する（図１３（ｈ））。そして、必要に応じて、画像処理パラメータの一部あるいは全てをパラメータＤＭＡＣ１０１とは別の手段、例えば、レジスタ・ライトにより変更するパラメータ変更を行い、図１３（ｂ）〜（ｈ）の処理を繰り返し行う。必要な繰り返し処理を完了すると、ＣＰＵ１２０が、画像処理モジュール１００のパラメータＤＭＡＣ１０１の動作に必要なディスクリプタ情報をメモリ１１０上に展開するディスクリプタ情報書き込み処理を行い（図１３（ｉ））、パラメータＤＭＡＣ１０１を起動するために必要な設定を画像処理モジュール１００のレジスタ制御回路１０４に行う（図１３（ｊ））。ＣＰＵ１２０は、設定が完了すると、パラメータＤＭＡＣ１０１に起動（ＥＸＥＣ）をかけ、画像処理モジュール１００が、図１３（ａ）で設定されたディスクリプタ情報を読み込んで、パラメータＤＭＡＣ１０１がレジスタ設定値をメモリ１１０上に展開する（図１３（ｌ）（ｍ））、パラメータＤＭＡＣ１０１の動作が完了すると、動作完了をＣＰＵ１２０に通知し（図１３（ｎ））、ＣＰＵ１２０が所定の後処理を実施して、全ての処理を完了する（図１３（ｏ））。
【００１０】
すなわち、従来技術は、パラメータＤＭＡＣ１０１、リードＤＭＡＣ１０２、ライトＤＭＡＣ１０３というように、機能毎に個別のＤＭＡＣ１０１〜１０３が用意されており、画像処理モジュール１００を制御する制御ソフトは、まず、パラメータＤＭＡＣ１０１を起動して、その終了を待ち、パラメータＤＭＡＣ１０１の終了を確認した後、続けてリードＤＭＡＣ１０２を起動して、その終了を待つという処理を繰り返し行って、データ転送を行う。そして、各ＤＭＡＣ１０１〜１０３の起動及び終了のソフト制御には、割り込みが用いられている。
【００１１】
【特許文献１】特開平６−１０３２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来技術にあっては、画像処理装置には、パラメータＤＭＡＣ、リードＤＭＡＣ、ライトＤＭＡＣのように機能毎に個別のＤＭＡＣが用意されていたため、画像データの転送を頻繁に行う今日の画像処理装置においては、多数のＤＭＡＣを搭載する必要があり、モジュールが大型化するととともに、コストが高くつくという問題があった。また、従来技術にあっては、画像処理モジュールを制御する制御ソフトは、まず、パラメータＤＭＡＣを起動して、その終了を待ち、パラメータＤＭＡＣの終了を確認した後、続けてリードＤＭＡＣを起動して、その終了を待つという処理を繰り返し行って、データ転送を行う。そして、各ＤＭＡＣ１０１〜１０３の起動及び終了のソフト制御には、割り込みが用いられていた。したがって、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓを介したＡＳＩＣの制御の場合、その割り込み処理や起動制御等のオーバーヘッドが大きく、パフォーマンスが低下するという問題があった。
【００１３】
そこで、本発明は、ＤＭＡＣの個数を削減しつつ、起動制御等のアクセスや割り込み処理の回数を削減して、パフォーマンスを向上させることのできる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１４】
請求項１記載の発明の画像処理装置は、画像処理パラメータと画像データ及びディスクリプタ情報を保管する記憶手段と、ＤＭＡコントローラを内蔵して該ＤＭＡコントローラによって該記憶手段上の該ディスクリプタ情報に基づいて該画像処理パラメータ及び該画像データを読み出して該画像処理パラメータに応じた画像処理を該画像データに施す画像処理モジュールと、該記憶手段への該ディスクリプタ情報の設定等を行って該ＤＭＡコントローラによる該記憶手段への動作及び該画像処理モジュールの動作を制御する制御手段とを備えた画像処理装置において、前記ＤＭＡコントローラとして、前記記憶手段から前記画像処理パラメータを読み出すパラメータＤＭＡコントローラとしての機能と該記憶手段から前記画像データを読み出すリードＤＭＡコントローラとしての機能を兼ね備える共用ＤＭＡコントローラを備えていることにより、上記目的を達成している。
【００１５】
この場合、例えば、請求項２に記載するように、前記共用ＤＭＡコントローラは、前記ディスクリプタ情報に基づいて前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を選択して動作してもよい。
【００１６】
また、請求項１または請求項２の場合、例えば、請求項３に記載するように、前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際に、前記制御手段に対して割り込みを発生してもよい。
【００１７】
さらに、請求項３記載の場合、例えば、請求項４に記載するように、前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際の前記制御手段に対する割り込みの発生を、複数の画像データを連続的に処理する場合にのみ実行してもよい。
【００１８】
また、請求項１から請求項４の場合、例えば、請求項５に記載するように、前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際に、該ＤＭＡコントローラとしての動作を一旦停止してもよい。
【００１９】
さらに、請求項５の場合、例えば、請求項６に記載するように、前記共用ＤＭＡコントローラは、前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を切り替える際にＤＭＡコントローラとしての動作を一旦停止するか否かを、転送データ量に基づいて決定してもよい。
【００２０】
また、請求項１から請求項６の場合、例えば、請求項７に記載するように、前記共用ＤＭＡコントローラは、前記記憶手段へのアクセス領域に基づいて前記パラメータＤＭＡコントローラとしての機能と前記リードＤＭＡコントローラとしての機能を選択して動作してもよい。
【発明の効果】
【００２１】
本発明によれば、ＤＭＡコントローラによって、記憶手段上のディスクリプタ情報に基づいて画像処理パラメータ及び画像データを読み出して該画像処理パラメータに応じた画像処理を該画像データに施す画像処理モジュールに、該ＤＭＡコントローラとして、該記憶手段から該画像処理パラメータを読み出すパラメータＤＭＡコントローラとしての機能と該記憶手段から該画像データを読み出すリードＤＭＡコントローラとしての機能を兼ね備える共用ＤＭＡコントローラを設けているので、画像処理モジュールに搭載するＤＭＡコントローラの個数を削減して、コストを削減することができるとともに、起動制御等のアクセスや割り込み処理の回数を削減して、パフォーマンスを向上させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２３】
図１〜図９は、本発明の画像処理装置の一実施例を示す図であり、図１は、本発明の画像処理装置の一実施例を適用した複写装置１のブロック構成図である。
【００２４】
図１において、複写装置１は、スキャナ２、Ｃ−ＣＨＩＰ３、ＣＰＵ（Central Processing Unit ）４、メモリ５、Ｐ−ＣＨＩＰ６及びプロッタ７等を備えており、Ｃ−ＣＨＩＰ３は、ＶＩＮ１１、ＣＩＰＵ１２、ＣＲＯＴ１３、ＤＩＳＴ１４及びＡＲＢ１５等を備えている。
【００２５】
スキャナ２は、例えば、ＣＣＤ（Charge Coupled Device ）を利用したイメージスキャナ等が利用されており、一般に、ＡＤＦ（自動原稿送り装置）を備えている。ＡＤＦには、複数枚の原稿がセットされ、ＡＤＦは、セットされた原稿を１枚ずつスキャナ２の原稿読取位置に送給する。スキャナ２は、ＡＤＦから搬送されてきた原稿を走査し、原稿の画像を所定の解像度で読み取って、２値化してＣ−ＣＨＩＰ３に出力する。
【００２６】
ＣＰＵ４は、複写装置１の各部を制御して、複写装置１としての基本処理を実行するとともに、メモリ５、Ｃ−ＣＨＩＰ３及びＰ−ＣＨＩＰ６を制御して、ＤＭＡＣ転送制御処理を行う。
【００２７】
メモリ５は、画像データ及び画像処理パラメータをバッファするメモリであり、ＲＡＭ（Random Access Memory）等で構成されている。
【００２８】
プロッタ７としては、例えば、電子写真式記録装置等が用いられており、プロッタ７は、記録紙に、スキャナ２で読み取られた原稿の画像や図示しない受信部でコンピュータ等から受信した受信画像等を記録出力するとともに、必要なレポートを記録紙に記録出力する。
【００２９】
Ｃ−ＣＨＩＰ３は、 画像処理モジュールを内蔵したメモリ・コントローラＡＳＩＣ（Application Specific Integrated Circuit）であり、Ｐ−ＣＨＩＰ６は、 解像度変換やプロッタ７のインターフェースを有したメモリ・コントローラＡＳＩＣである。
【００３０】
Ｃ−ＣＨＩＰ３のＶＩＮ１１は、スキャナ２で読み取られた原稿画像データをメモリ５に格納するビデオ入力モジュールであり、ＣＩＰＵ１２は、メモリ５に蓄積された画像データに画像処理を施す画像処理モジュールである。ＣＲＯＴ１３は、メモリに蓄積された画像データに回転処理を施す回転処理モジュールであり、ＤＩＳＴ１４は、メモリ５に蓄積された画像データのフォーマットを変換するフォーマット変換モジュールである。ＡＲＢ１５は、各画像処理モジュール１１〜１４がメモリ・アクセスする際に該メモリアクセスを調停する調停モジュールである。
【００３１】
上記各画像処理モジュール１１〜１４は、図２に示すように、レジスタ制御回路２１、パラメータ／リードＤＭＡＣ２２及びライトＤＭＡＣ２３を備えている。
【００３２】
ライトＤＭＡＣ２３は、画像処理後の画像データをメモリ５にライトするための専用ＤＭＡＣであり、レジスタ制御回路２１は、ＣＰＵ４またはパラメータ／リードＤＭＡＣ２２で制御される画像処理パラメータへのアクセスを制御する。
【００３３】
パラメータ／リードＤＭＡＣ２２は、画像処理パラメータをメモリ５からロードし、また、画像処理前の画像データをメモリ５からリードするＤＭＡＣであり、従来のパラメータＤＭＡＣとしての機能とリードＤＭＡＣとしての機能を選択的に実行する共用ＤＭＡＣとして機能する。そして、このパラメータ／リードＤＭＡＣ２２は、メモリ５に書き込まれるディスクリプタ情報に基づいて、パラメータＤＭＡＣとして機能し、また、リードＤＭＡＣ（データＤＭＡＣ）として機能する。例えば、図３に示すような３２ｂｉｔで構成されるディスクリプタ情報として各ビットに、次のような機能を割り当てる。
【００３４】
「Ｂｉｔ００」に、今回のデータ転送終了時に次のデータ転送の開始を示すチェーン割込を発生し、続けて次のデータ転送を実施するか否かを選択するビットを割り当て、「Ｂｉｔ０１」に、今回のデータ転送終了時に動作を一旦停止し、次のデータ転送開始指示（コンティニュー）を待つか否かを選択するビットを割り当てる。そして、「Ｂｉｔ０２」に、パラメータＤＭＡＣとして動作するか、データＤＭＡＣとして動作するかを選択するビットを割り当て、「Ｂｉｔ０３−３１」に、その他（上記以外の機能）のビットを割り当てる。
【００３５】
したがって、「Ｂｉｔ０２」に「１」を設定することで、パラメータ／リードＤＭＡＣ２２をパラメータＤＭＡＣとして動作させ、「０」を設定することで、データＤＭＡＣとして動作させることができる。
【００３６】
次に、本実施例の作用を説明する。本実施例の複写装置１は、その画像処理モジュール１１〜１４にパラメータＤＭＡＣとリードＤＭＡＣの機能を兼ね備えるパラメータ／リードＤＭＡＣ２２を設け、ディスクリプタ情報の設定によってパラメータＤＭＡＣとリードＤＭＡＣの機能を使い分けている。
【００３７】
すなわち、複写装置１は、スキャナ２で読み取られた原稿の画像データをＣ−ＣＨＩＰ３のＶＩＮ１１によってＤＭＡＣによるＤＭＡ転送によって一旦メモリ５に格納した後、Ｃ−ＣＨＩＰ３のＣＩＰＵ１２、ＣＲＯＴ１３、ＤＩＳＴ１４の画像処理モジュールによってメモリ５から画像データを読み出して必要な画像処理を施した後、再度メモリ５に書き込む処理を行うことで、種々の画像処理を行い、各種画像処理を行った画像データをＰ−ＣＨＩＰ６がメモリ５から読み出して、プロッタ７に送ってプロッタ７で画像を記録紙に印刷出力する。
【００３８】
そして、上記Ｃ−ＣＨＩＰ３の画像処理モジュール１１〜１４は、図２に示したように、パラメータＤＭＡＣとリードＤＭＡＣの機能を兼ね備えるパラメータ／リードＤＭＡＣ２２を備えており、ディスクリプタ情報の設定に応じてパラメータＤＭＡＣとリードＤＭＡＣの機能を切り替えて、データ処理を以下のように実行する。
【００３９】
すなわち、複写装置１は、パラメータ／リードＤＭＡＣ２２の起動命令が発行されると、図４に示すように、ＣＰＵ４が、パラメータ／リードＤＭＡＣ２２に対して起動トリガＥＸＥＣをかける（ステップＳ１０１）。パラメータ／リードＤＭＡＣ２２は、メモリ５上のディスクリプタ情報を読み込み（ステップＳ１０２）、そのディスクリプタ情報のパラメータ／リードＤＭＡＣ２２の機能を指定する「Ｂｉｔ０２」の設定が「１」であるか「０」であるかに従って、パラメータＤＭＡＣとして機能してパラメータのダウンロードを行うのか、リードＤＭＡＣとして機能して画像データの転送を行うのかを選択する（ステップＳ１０３）。
【００４０】
ステップＳ１０３で、「Ｂｉｔ０２」の設定が「１」であって、その機能としてパラメータＤＭＡＣが指定されていると、パラメータ／リードＤＭＡＣ２２は、メモリ５から画像処理パラメータ値の読み込みを行い（ステップＳ１０４）、全てのパラメータ値を読み込むと、続けてパラメータ値を読み込む必要があるか、すなわち、チェーンを確認する（ステップＳ１０６）。
【００４１】
ステップＳ１０６で、チェーンするときには、割り込みを発生させて、ステップＳ１０２に戻って、パラメータ／リードＤＭＡＣ２２が、ディスクリプタ情報の読み込みから上記同様に処理を行い（ステップＳ１０２〜Ｓ１０６）、ステップＳ１０６で、チェーンしないときには、ポーズするかどうか確認する（ステップＳ１０７）。ステップＳ１０７で、ポーズするときには、パラメータ／リードＤＭＡＣ２２は、次の起動となる「コンティニュー」を待って（ステップＳ１０８）、ステップＳ１０２のディスクリプタ情報の読み込みから上記同様に処理する（ステップＳ１０２〜Ｓ１０８）。ステップＳ１０８で、ポーズでないときには、パラメータ／リードＤＭＡＣ２２の動作が完了して、全ての処理を終了する。
【００４２】
また、ステップＳ１０３で、「Ｂｉｔ０２」の設定が「０」であって、その機能としてリードＤＭＡＣが指定されていると、パラメータ／リードＤＭＡＣ２２は、メモリ５から画像データの読み込みを行い（ステップＳ１０５）、全ての画像データを読み込むと、上記同様に、続けてパラメータ値を読み込む必要があるか、すなわち、チェーンを確認する（ステップＳ１０６）。
【００４３】
ステップＳ１０６で、チェーンするときには、割り込みを発生させて、ステップＳ１０２に戻って、パラメータ／リードＤＭＡＣ２２が、ディスクリプタ情報の読み込みから上記同様に処理を行い（ステップＳ１０２〜Ｓ１０６）、ステップＳ１０６で、チェーンしないときには、ポーズするかどうか確認する（ステップＳ１０７）。ステップＳ１０７で、ポーズするときには、パラメータ／リードＤＭＡＣ２２は、次の起動となる「コンティニュー」を待って（ステップＳ１０８）、ステップＳ１０２のディスクリプタ情報の読み込みから上記同様に処理する（ステップＳ１０２〜Ｓ１０８）。ステップＳ１０８で、ポーズでないときには、パラメータ／リードＤＭＡＣ２２の動作が完了して、全ての処理を終了する。
【００４４】
上記処理を、図５に示すＣＰＵ４、画像処理モジュール１１〜１４及びメモリ５との間の制御フローに基づいて説明すると、まず、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとして機能してダウンロードする画像処理パラメータをメモリ５上に展開し（図５（ａ））、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとして動作するために必要なディスクリプタ情報をメモリ５上に展開（ライト）する（図５（ｂ））。
【００４５】
次に、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２をパラメータＤＭＡＣとして起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定し（図５（ｃ））、パラメータ／リードＤＭＡＣ２２をリードＤＭＡＣとして動作させるのに必要なディスクリプタ情報及びライトＤＭＡＣ２３の動作に必要なディスクリプタ情報をメモリ５上に展開する（図５（ｄ））。また、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２をリードＤＭＡＣとして起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定し、さらに、ライトＤＭＡＣ２３を起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定する（図５（ｅ））。
【００４６】
そして、ＣＰＵ４は、画像処理モジュール１１〜１４に起動（ＥＸＥＣ）をかけ（図５（ｆ）、画像処理モジュール１１〜１４のパラメータ／リードＤＭＡＣ２２、ライトＤＭＡＣ２３は、図５（ａ）で設定されたディスクリプタ情報を読み込み（図５（ｇ））、パラメータ／リードＤＭＡＣ２２は、パラメータＤＭＡＣとしてメモリ５上に展開された画像処理パラメータの読み込みを行って、レジスタ制御回路２１に反映させる（図５（ｈ））。次に、パラメータ／リードＤＭＡＣ２２は、再び、図５（ａ）で設定されたディスクリプタ情報を読み込み（図５（ｉ））、リードＤＭＡＣとして、画像処理前の画像データをメモリ５上から読み込みんで、画像処理モジュール１１〜１４で画像処理した後、ライトＤＭＡＣ２３が、該画像処理後の画像データを、メモリ５上に書き込む（図５（ｊ））。
【００４７】
そして、画像処理モジュール１１〜１４は、完了割り込みをＣＰＵ４に発行して、画像処理モジュール１１〜１４の動作完了をＣＰＵ４に通知し（図５（ｋ））、ＣＰＵ４が、所定の割り込み後処理を実施して、処理を完了する（図５（ｌ））。
【００４８】
このように、本実施例の複写装置１は、ＤＭＡＣによって、メモリ５上のディスクリプタ情報に基づいて画像処理パラメータ及び画像データを読み出して該画像処理パラメータに応じた画像処理を該画像データに施す画像処理モジュール１１〜１４に、該ＤＭＡＣとして、メモリ５から該画像処理パラメータを読み出すパラメータＤＭＡＣとしての機能とメモリ５から該画像データを読み出すリードＤＭＡＣとしての機能を兼ね備えるパラメータ／リードＤＭＡＣ２２を設けている。
【００４９】
したがって、画像処理モジュール１１〜１４に搭載するＤＭＡＣの個数を削減して、コストを削減することができるとともに、起動制御等のアクセスや割り込み処理の回数を削減して、パフォーマンスを向上させることができる。すなわち、パラメータ／リードＤＭＡＣ２２のパラメータＤＭＡＣ及びリードＤＭＡＣとしての各動作に必要な準備を予め完了させてから起動させることによって、従来、２回だった起動回数を１回に削減することができる。
【００５０】
また、パラメータ／リードＤＭＡＣ２２は、メモリ５上に設定されたディスクリプタ情報に基づいて、パラメータＤＭＡＣとリードＤＭＡＣを切り替えて動作している。
【００５１】
したがって、ＣＰＵ４がディスクリプタ情報を適宜設定するだけで、１つのパラメータ／リードＤＭＡＣ２２をパラメータＤＭＡＣとリードＤＭＡＣに切り替えて動作させることができ、利用性を向上させることができる。
【００５２】
次に、図６に基づいて、パラメータ／リードＤＭＡＣ２２の機能の切替時に割り込みを発生させる場合の処理を、図６に基づいて説明する。
【００５３】
この場合、ＣＰＵ４が、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとしてダウンロードする画像処理パラメータをメモリ５上に展開（図６（ａ）、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとして動作するために必要なディスクリプタ情報をメモリ５上に展開（ライト）する（図６（ｂ））。
【００５４】
次に、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２をパラメータＤＭＡＣとして起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定し（図６（ｃ））、パラメータ／リードＤＭＡＣ２２をリードＤＭＡＣとして動作させるのに必要なディスクリプタ情報及びライトＤＭＡＣ２３の動作に必要なディスクリプタ情報をメモリ５上に展開する（図６（ｄ））。また、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２をリードＤＭＡＣとして起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定し、さらに、ライトＤＭＡＣ２３を起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定する（図６（ｅ））。
【００５５】
次に、ＣＰＵ４は、画像処理モジュール１１〜１４に起動（ＥＸＥＣ）をかけ（図６（ｆ）、画像処理モジュール１１〜１４のパラメータ／リードＤＭＡＣ２２、ライトＤＭＡＣ２３は、図５（ａ）で設定されたディスクリプタ情報を読み込み（図６（ｇ））、パラメータ／リードＤＭＡＣ２２は、パラメータＤＭＡＣとしてメモリ５上に展開された画像処理パラメータの読み込みを行って、レジスタ制御回路２１に反映させる（図６（ｈ））。パラメータ／リードＤＭＡＣ２２は、チェーン割り込みをＣＰＵ４に発行して、パラメータＤＭＡＣとしての動作が完了したことをＣＰＵ４に通知し（図６（ｉ））、ＣＰＵ４が所定の割り込み処理を実施する（図６（ｉ）’）。
【００５６】
パラメータ／リードＤＭＡＣ２２は、再び、図６（ａ）で設定されたディスクリプタ情報を読み込み（図６（ｊ））、リードＤＭＡＣとして、画像処理前の画像データをメモリ５上から読み込む。そして、ライトＤＭＡＣ２３が、画像処理モジュール１１〜１４で画像処理された後の画像データをメモリ５上に書き込む（図６（ｋ））。
【００５７】
そして、画像処理モジュール１１〜１４は、完了割り込みをＣＰＵ４に発行して、画像処理モジュール１１〜１４の動作完了をＣＰＵ４に通知し（図６（ｌ））、ＣＰＵ４が、所定の割り込み後処理を実施して、処理を完了する（図６（ｍ））。
【００５８】
このように、本実施例の複写装置１は、パラメータ／リードＤＭＡＣ２２が、パラメータＤＭＡＣとしての機能とリードＤＭＡＣとしての機能を切り替える際に、ＣＰＵ４に対して割り込みを発生している。
【００５９】
したがって、回路の動作／機能が切り替わったことによる後処理と次の回路の動作を並行に実行することができ、パフォーマンスをより一層向上させることができる。
【００６０】
例えば、読み込むパラメータのサイズが十分に大きければ、パラメータ／リードＤＭＡＣ２２のパラメータＤＭＡＣとしての動作に必要な準備ができた時点で起動させ、動作中に次のリードＤＭＡＣとしての動作に必要な準備を並行して行うことによって、画像処理モジュール１１〜１４の停止期間を短縮しつつ、パフォーマンスをより一層向上させることができる。
【００６１】
また、チェーン動作と組み合わせることによって、パラメータのリード完了と並行して画像データの転送を行うことができ、画像処理モジュール１１〜１４の停止期間が短縮され、パフォーマンスを向上させることができる。
【００６２】
すなわち、チェーン割り込みは、ＣＰＵ４に通知され、これが１つ目の処理の完了、すなわち、パラメータＤＭＡＣの完了を意味していることから、制御ソフトは、パラメータＤＭＡＣ終了に付随する処理も画像モジュール１１〜１４が動作している間に並行して実行することができる。特に、異なる画像処理パラメータで複数の画像データを連続的に画像処理する場合、制御ソフトは、パラメータＤＭＡＣが終了すると同時に、次のパラメータＤＭＡＣの設定を画像処理を行っているのと並行して実施することができ、効率を向上させることができる。
【００６３】
さらに、ポーズを用いた動作を併用することで、処理速度の適切化を図ることができ、この場合、複写装置１は、例えば、図７に示すように処理を行う。
【００６４】
この場合、ＣＰＵ４が、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとしてダウンロードする画像処理パラメータをメモリ５上に展開（図７（ａ））、パラメータ／リードＤＭＡＣ２２がパラメータＤＭＡＣとして動作するために必要なディスクリプタ情報をメモリ５上に展開（ライト）し、また、ライトＤＭＡＣ２３の動作に必要なディスクリプタ情報をメモリ５上に展開する（図７（ｂ））。
【００６５】
ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２及びライトＤＭＡＣ２３を起動するために必要な設定を画像処理モジュール１１〜１４のレジスタ制御回路２１に設定し（図７（ｃ））、画像処理モジュール１１〜１４に起動（ＥＸＥＣ）をかける（図７（ｄ））。また、ＣＰＵ４は、パラメータ／リードＤＭＡＣ２２がリードＤＭＡＣとして動作するために必要なディスクリプタ情報をメモリ５上に展開し（図７（ｄ）'）、また、パラメータ／リードＤＭＡＣ２２をリードＤＭＡＣとして起動するために必要な設定を画像処理モジュールのレジスタ制御回路２１に設定する（図７（ｅ）’）。
【００６６】
パラメータ／リードＤＭＡＣ２２及びライトＤＭＡＣ２３は、図７（ａ）で設定されたディスクリプタ情報を読み込む（図７（ｅ））。
【００６７】
パラメータ／リードＤＭＡＣ２２は、パラメータＤＭＡＣとしてメモリ５上に展開された画像処理パラメータを読み込み、レジスタ制御回路２１に反映させる（図７（ｆ））。チェーン割り込みをＣＰＵ４に発行して、パラメータＤＭＡＣとしての動作が完了したことをＣＰＵ４に通知し（図７（ｈ））、ＣＰＵ４が所定の割り込み処理を実施する（図７（ｈ）’）。
【００６８】
そして、パラメータ／リードＤＭＡＣ２２は、再び、図７（ａ）で設定されたディスクリプタ情報を読み込み（図７（ｇ））、リードＤＭＡＣとして画像処理前の画像データをメモリ５上から読み込む。そして、ライトＤＭＡＣ２３が、画像処理モジュール１１〜１４で画像処理した後の画像データをメモリ５上に書き込む（図７（ｉ））。
【００６９】
そして、画像処理モジュール１１〜１４は、完了割り込みをＣＰＵ４に発行して、画像処理モジュール１１〜１４の動作完了をＣＰＵ４に通知し（図７（ｊ））、ＣＰＵ４が、所定の割り込み後処理を実施して、処理を完了する（図６（ｋ））。
【００７０】
このように、本実施例の複写装置１は、パラメータ／リードＤＭＡＣ２２が、パラメータＤＭＡＣとしての機能とリードＤＭＡＣとしての機能を切り替える際に、ＤＭＡＣとしての動作を一旦停止している。
【００７１】
したがって、読み込むパラメータのサイズが小さい場合には、パラメータ／リードＤＭＡＣ２２が、次のリードＤＭＡＣとして動作するのに必要な準備が完了する前に、リードＤＭＡＣとしての動作を開始してしまう可能性があるが、このようなときに、ポーズを使用することによって、パラメータ／リードＤＭＡＣ２２が、パラメータＤＭＡＣとしての動作の完了及びリードＤＭＡＣとしての動作の準備完了を待ってからパラメータ／リードＤＭＡＣ２２を動作させることで、パラメータ／リードＤＭＡＣ２２の制御を確実に可能とすることができ、適切に動作させることができる。
【００７２】
また、パラメータ／リードＤＭＡＣ２２は、パラメータＤＭＡＣとしての機能とリードＤＭＡＣとしての機能を切り替える際にＤＭＡＣとしての動作を一旦停止するか否かを、転送データ量に基づいて決定している。
【００７３】
したがって、データ量が少なく、設定中に次のＤＭＡＣの動作が始まる可能性があるときだけ、一旦停止することで、機能の切換によって発生するパフォーマンスの低下を最小限に抑制することができる。
【００７４】
なお、上記説明においては、パラメータ／リードＤＭＡＣ２２を、パラメータＤＭＡＣとして動作させるか、リードＤＭＡＣとして動作させるかの選択を、メモリ５のディスクリプタ情報の「Ｂｉｔ０２」の設定によって行っているが、パラメータ／リードＤＭＡＣ２２を、パラメータＤＭＡＣとして動作させるか、リードＤＭＡＣとして動作させるかの選択は、上記方法に限るものではなく、例えば、図８に示すように、レジスタ制御回路２１に、パラメータ領域スタート・アドレス指定レジスタＤＰ＿ＳＴＡＲＴとパラメータ領域エンド・アドレス指定レジスタＤＰ＿ＥＮＤを設定し、メモリ５を、図９に示すように、パラメータ領域と画像データ領域とに分割する。すなわち、パラメータ領域スタート・アドレス指定レジスタＤＰ＿ＳＴＡＲＴ及びパラメータ領域エンド・アドレス指定レジスタＤＰ＿ＥＮＤによって定義される領域をパラメータ領域、それ以外の領域を画像データ領域とする。そして、パラメータ／リードＤＭＡＣ２２は、ディスクリプタによって指定されたメモリ・アクセス指定アドレスがパラメータ領域であると、パラメータＤＭＡＣとして動作し、メモリ・アクセス指定アドレスが画像データ領域であると、リードＤＭＡＣとして動作する。
【００７５】
このようにすると、パラメータ／リードＤＭＡＣ２２がアクセスしたアドレスを確認するだけで、パラメータ／リードＤＭＡＣ２２の動作すべき機能を判断することができ、問題が発生した場合のデバッグ性を向上させることができる。
【００７６】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７７】
本発明は、ＤＭＡＣを用いて画像データを転送して画像処理する複写装置、複合装置等の画像処理装置に利用することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施例を適用した複写装置のブロック構成図。
【図２】図１の画像処理モジュールの詳細なブロック構成図。
【図３】図２のパラメータ／リードＤＭＡＣの機能割り当てを行うディスクリプタ情報の一例を示す図。
【図４】図１の複合装置によるパラメータ／リードＤＭＡＣの機能切り替えを伴う画像データ転送処理を示すフローチャート。
【図５】図４の画像データ処理のＣＰＵ、画像処理モジュール及びメモリ間の基本制御手順の説明図。
【図６】図４のチェーン割り込みを伴う場合の画像データ転送処理のＣＰＵ、画像処理モジュール及びメモリ間の基本制御手順の説明図。
【図７】図４のポーズ動作を伴う場合の画像データ転送処理のＣＰＵ、画像処理モジュール及びメモリ間の基本制御手順の説明図。
【図８】図２のパラメータ／リードＤＭＡＣの機能切り替えをメモリの領域区分で行う場合のパラメータ領域のメモリアドレス指定レジスタの一例を示す図。
【図９】図８のメモリアドレス指定レジスタによってパラメータ領域と画像データ領域とに領域区分されるメモリの一例を示す図。
【図１０】従来の画像処理モジュールのブロック構成の一例を示す図。
【図１１】図１０の従来の画像処理モジュールへのパラメータ設定処理を示すフローチャート。
【図１２】図１０の従来の画像処理モジュールでの画像データ転送処理を示すフローチャート。
【図１３】図１０の画像処理モジュール、ＣＰＵ及びメモリ間の制御手順の説明図。
【符号の説明】
【００７９】
１  複写装置
２  スキャナ
３  Ｃ−ＣＨＩＰ
４  ＣＰＵ
５  メモリ
６  Ｐ−ＣＨＩＰ
７  プロッタ
１１  ＶＩＮ
１２  ＣＩＰＵ
１３  ＣＲＯＴ
１４  ＤＩＳＴ
１５  ＡＲＢ
２１  レジスタ制御回路
２２  パラメータ／リードＤＭＡＣ
２３  ライトＤＭＡＣ
【図１】
2009027274.tif 000003
【図２】
2009027274.tif 000004
【図３】
2009027274.tif 000005
【図４】
2009027274.tif 000006
【図５】
2009027274.tif 000007
【図６】
2009027274.tif 000008
【図７】
2009027274.tif 000009
【図８】
2009027274.tif 000010
【図９】
2009027274.tif 000011
【図１０】
2009027274.tif 000012
【図１１】
2009027274.tif 000013
【図１２】
2009027274.tif 000014
【図１３】
2009027274.tif 000015