(57)【要約】【課題】データ転送の効率化に有利な技術を提供する。【解決手段】少なくとも１つのユニットに、入力された入力データをＤＭＡ転送するデータ転送装置であって、前記入力された入力データを保持手段にＤＭＡ転送する第１の転送手段と、前記保持手段に保持された入力データを前記少なくとも１つのユニットにＤＭＡ転送する第２の転送手段と、前記第１の転送手段により入力データがＤＭＡ転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、前記第２の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも１つのユニットに転送する第１モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも１つのユニットに転送する第２モードのいずれか一方によって動作するように制御する転送制御手段と、を有する。【選択図】図５
2015018454.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのユニットに、入力された入力データをＤＭＡ転送するデータ転送装置であって、
前記入力された入力データを保持手段にＤＭＡ転送する第１の転送手段と、
前記保持手段に保持された入力データを前記少なくとも１つのユニットにＤＭＡ転送する第２の転送手段と、
前記第１の転送手段により入力データがＤＭＡ転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、
前記第２の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも１つのユニットに転送する第１モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも１つのユニットに転送する第２モードのいずれか一方によって動作するように制御する転送制御手段と、を有する
ことを特徴とするデータ転送装置。
【請求項２】
処理モジュールをさらに有し、
前記入力された入力データは前記処理モジュールにより処理が為された入力データであり、
前記少なくとも１つのユニットは前記処理モジュールによる処理とは異なる処理を行う他の処理モジュールである
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記第２の転送手段による前記少なくとも１つのユニットへのＤＭＡ転送が完了したことを前記第１の転送手段に通知する第２の通知手段をさらに有し、
前記第１の転送手段は、前記第２の通知手段からの通知に応答して前記保持手段に保持すべき入力データを更新するようにＤＭＡ転送を行う
ことを特徴とする請求項１または２に記載のデータ転送装置。
【請求項４】
前記入力データを保持する保持手段をさらに備える、
ことを特徴とする請求項１乃至３のいずれか１項に記載のデータ転送装置。
【請求項５】
前記入力データは画像データを含む、
ことを特徴とする請求項１乃至４のいずれか１項に記載のデータ転送装置。
【請求項６】
前記ユニットの数は２以上であり、
各ユニットに複数の入力データを含む入力データ群をそれぞれ転送する際に異なるユニットに転送する入力データ群が互いに共通の入力データを有する場合は、前記転送制御手段は当該共通の入力データについてのデータ転送を行うときには前記第１の転送手段が前記第２モードで動作するように制御する、
ことを特徴とする請求項１乃至５のいずれか１項に記載のデータ転送装置。
【請求項７】
請求項６に記載のデータ転送装置と、
第Ｎ（Ｎは１以上の自然数）のユニットに対応して設けられた第Ｎの記録ヘッドと、
第Ｎ＋１のユニットに対応して設けられた第Ｎ＋１の記録ヘッドと、を備え、
前記第Ｎの記録ヘッドは前記Ｎのユニットにおける前記複数の種類のデータに対応する複数の記録素子列を有しており、前記第Ｎ＋１の記録ヘッドは前記第Ｎ＋１のユニットにおける前記複数の種類のデータに対応する複数の記録素子列を有している、
ことを特徴とする記録装置。
【請求項８】
少なくとも１つのユニットに、入力された入力データをＤＭＡ転送するデータ転送方法であって、
前記入力された入力データを保持手段にＤＭＡ転送する第１の転送工程と、
前記保持手段に保持された入力データを前記少なくとも１つのユニットにＤＭＡ転送する第２の転送工程と、
前記第１の転送手段により入力データがＤＭＡ転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知工程と、を含み、
前記第２の転送工程は、前記通知工程からの通知に応答して前記保持手段から入力データを前記少なくとも１つのユニットに転送する第１モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも１つのユニットに転送する第２モードのいずれか一方の動作モードで実行される、
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ転送によるデータ転送を行うデータ転送装置及びデータ転送方法に関する。
【背景技術】
【０００２】
複写機やプリンタ等の画像形成装置ないし記録装置は、複数の画像処理モジュールを有し、これらの画像処理モジュールにより、外部から入力された画像データについて、要求に応じた適切な画像処理を行う。例えば、画像データは各画像処理モジュール間で転送され、各画像処理モジュールにおいては順にデータ解析を行うとともに所定の画像処理が為され、このようにして所望の画像データが生成される。データ転送には、例えば、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送が用いられる。例えば、入力された画像データは、一旦、ＤＲＡＭ等の一時記憶メモリに格納され、その後、ＤＭＡ転送により、転送すべき画像データを、転送先の画像処理モジュールに所定の単位で順次転送される。
【０００３】
特許文献１には、仕様に応じてディスクリプタの情報を変更し、ＤＭＡ転送対象のデータを切り替える方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１４０２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、画像データのうちの一部が複数の画像処理において共通に利用される場合や複数の画像処理モジュールと連携して画像処理を行うような場合にも、適宜、画像処理の内容に応じた適切なデータ転送を行い、ＣＰＵの負担が軽減されることが望ましい。このような場合には、共通の画像データを各モジュールに転送するための情報管理が必要になり、また、各データ転送を順次行うため、ＣＰＵや画像処理モジュール間の動作の連携が必要な場合もある。しかし、このような情報管理ないし連携をディスクリプタのみによって達成することは、ＣＰＵの負荷をもたらし、また、メモリ（ＤＲＡＭ等）へのアクセス頻度が高くなり、結果、他の信号処理を停滞させて全体としての動作を遅延させるおそれもある。
【０００６】
本発明の目的は、データ転送の効率化に有利な技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一つの側面はデータ転送装置にかかり、前記データ転送装置は、少なくとも１つのユニットに、入力された入力データをＤＭＡ転送するデータ転送装置であって、前記入力された入力データを保持手段にＤＭＡ転送する第１の転送手段と、前記保持手段に保持された入力データを前記少なくとも１つのユニットにＤＭＡ転送する第２の転送手段と、前記第１の転送手段により入力データがＤＭＡ転送されたことに応じて前記保持手段に保持された入力データが更新されたことを通知する通知手段と、前記第２の転送手段が、前記通知手段からの通知に応答して前記保持手段から入力データを前記少なくとも１つのユニットに転送する第１モード、および、当該通知に依らずに前記保持手段から入力データを前記少なくとも１つのユニットに転送する第２モードのいずれか一方によって動作するように制御する転送制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データ転送を効率化することができる。
【図面の簡単な説明】
【０００９】
【図１】データ転送を行うシステムの構成の例を説明する図。
【図２】第１実施形態におけるデータ転送のフローチャートを説明する図。
【図３】第１実施形態におけるデータ転送を説明する図。
【図４】第１実施形態におけるデータ転送に用いるディスクリプタの例を説明する図。
【図５】第１実施形態におけるデータ転送の動作を説明する図。
【図６】第２実施形態におけるデータ転送を説明する図。
【図７】第２実施形態におけるデータ転送の動作を説明する図。
【図８】第２実施形態におけるデータ転送のシーケンスを説明する図。
【図９】第３実施形態のデータ転送を行うシステムの構成の例を説明する図。
【図１０】第３実施形態におけるデータ転送を説明する図。
【図１１】記録装置の構成例を説明する図。
【発明を実施するための形態】
【００１０】
（第１実施形態）
図１１を参照しながら、複写機やプリンタ等の画像形成装置ないし記録装置Ｘ（以下、単に「記録装置」という）の構成例を説明する。記録装置Ｘは、図１１（ａ）に例示されるように、プリンタコントローラ１０と、プリンタエンジン２０と、少なくとも１以上の記録ヘッド（ここでは、記録ヘッド３１および記録ヘッド３２）とを含む。プリンタコントローラ１０は、ホストインターフェース１００を介して入力された画像データ（入力データ）を、バス１１を介して、ＤＲＡＭ１０５に格納し、またはコントローラチップ１０１において所定の信号処理を行う。信号処理が為された画像データは、プリンタエンジン２０に出力され、例えば、記録ヘッド３１および記録ヘッド３２の構成にしたがう記録方式で記録されるデータ形式で出力される。これは、例えば、記録ヘッド３１および記録ヘッド３２のそれぞれにそれぞれ対応する記録動作の制御を行うユニットであるエンジンチップ１０２およびエンジンチップ１０３によって為されうる。
【００１１】
記録ヘッド３１ないし３２は、それぞれが複数の記録素子が配列された記録素子列３３を備えており、ここでは、６列の記録素子列３３をそれぞれ例示している。例えば、記録ヘッド３１において、各記録素子列３３は、エンジンチップ１０２の制御により、例えば、各列で異なる色の記録剤（インク）を吐出させる等、カラー印刷をすることが可能である。
【００１２】
エンジンチップ１０２は、図１１（ｂ）に例示されるように、各記録素子列３３に対応した２つのメモリ群（メモリ群Ｍ１およびＭ２）を含みうる。例えば、メモリ群Ｍ１には、対応する各記録素子列３３にそれぞれ用いられる６列分の画像データが格納されうる。また、メモリ群Ｍ２には、対応する各記録素子列３３にそれぞれ用いられる６列分の画像データが格納されうる。例えば、一方（例えば、メモリ群Ｍ１）から記録ヘッド３１に記録すべき画像データを転送している間に、他方（例えば、メモリ群Ｍ２）に次に記録すべき画像データを格納しうる。このことは、図１１（ｂ）に例示されるように、選択信号ｓｅｌ１を用いて行ってもよい。このようにして、一方では記録すべき画像データを出力しつつ、他方ではその次に記録すべき画像データを準備する、いわゆるダブルバッファ構造を達成する。エンジンチップ１０３についても同様である。
【００１３】
この記録装置Ｘは、各記録ヘッドを記録素子列の配列方向と交差する方向に走査させながら、ラスタ形式の画像の記録を行うシリアルプリンタである。
【００１４】
次に、図１を参照しながら、以下、記録装置Ｘにおけるデータ転送を行うシステムの構成を説明する。図１では、記録装置Ｘのうち、コントローラチップ１０１と、エンジンチップ１０２および１０３と、ＤＲＡＭ１０５と、ホストインターフェース１００とを示している。例えば、記録装置Ｘの例では、印刷ジョブおよび画像データが、ホストコンピュータ（パソコンなど）から出力され、ホストインターフェース１００を介して当該システムに入力される。これらは、システムバスにより接続されている。これらはシステムバス１１により接続されている。
【００１５】
画像データは、各色について（例えば、赤（Ｒ）、緑（Ｇ）および青（Ｂ））のデータを含む。印刷ジョブにしたがって、コントローラチップ１０１、エンジンチップ１０２および１０３において画像データについてのデータ処理が為される。ＤＲＡＭ１０５は、ホストコンピュータからの画像データや、処理が為された画像データを一時的に格納するための汎用メモリである。処理が為された画像データは、記録ヘッド３１ないし３２に出力され、記録ヘッドが備える記録素子によってインクを吐出させるための吐出エネルギーを発生させることにより、記録媒体に記録が為され、当該記録媒体の上に画像が形成される。
【００１６】
コントローラチップ１０１は、ＣＰＵ１０４、データ処理部１０６、第１のＤＭＡＣ１０９、第２のＤＭＡＣ１０７、およびＳＲＡＭ１０８を有する。ＣＰＵ１０４は、例えば、ＲＯＭ（不図示）に格納されたプログラムにしたがって情報処理を行う。データ処理部１０６は、例えば、画像処理モジュール（不図示）を含み、印刷ジョブにしたがう印刷条件の下でデータ処理を行う。当該モジュールによって為されるデータ処理は、例えば、ＤＲＡＭ１０５に格納された多値データについて行う色変換処理、色補正処理、二値化処理などを含む。これらの処理が為された画像データは、その後、再びＤＲＡＭ１０５に格納される。エンジンチップ１０２および１０３は、コントローラチップ１０１と同様の構成により、対応する各種データ処理を行う。
【００１７】
本実施形態では、各々が６色分の記録を行う２つの記録ヘッドにおいて、一部の色についてデータが共通している１０色のカラー印刷により記録を行う記録装置Ｘについて考える。エンジンチップ１０２および１０３は、対応する記録のモード（印字モードないし印刷モード）にしたがってデータ処理を行う。画像データは、色データ（シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）等）や属性データ（処理内容を特定するためのデータ）等を含む。
【００１８】
エンジンチップ１０２ないし１０３には、対応する記録ヘッドによる記録（インクの吐出）の制御に必要な情報がコントローラチップ１０１から入力される。前述のダブルバッファ構造により、エンジンチップ１０２ないし１０３には画像データが所定の単位でコントローラチップ１０１から交互に転送され、これらを並列に動作させることによって、データ処理を効率化している。印字モードによっては、エンジンチップ１０２および１０３のそれぞれが、共通の（同一の）画像データを用いる場合がある。ここでは、エンジンチップ１０２および１０３に転送される各画像データのうち、２色分の画像データが共通する場合を例示して述べる。
【００１９】
図２は、本実施形態におけるデータ転送のフローチャートを示している。ＣＰＵ１０４によりデータ転送が起動されると、このフローチャートにしたがい、コントローラチップ１０１からエンジンチップ１０２ないし１０３に、記録ヘッドの記録幅に応じた量の画像データ、例えば、１走査分の画像データが転送される。データ転送は、エンジンチップ１０２ないし１０３が一度に処理を行う単位として、予め定められた単位（例えば、２５６×２５６画素分の画像データ等）で為される。
【００２０】
Ｓ２００では、第１のエンジンチップ１０２に対する所定の単位の画像データの転送を行う。本実施形態では、第１のエンジンチップ１０２に割り当てられた６色分のデータ転送を行う。Ｓ２０１では、第２のエンジンチップ１０３に対する所定の単位の画像データの転送を行う。本実施形態では、第２のエンジンチップ１０３に割り当てられた６色分（６列分）のデータ転送を行う。エンジンチップ１０２および１０３に転送する計１２色分（１２列分）の画像データのうち、２色分の画像データが共通している。共通する画像データは、印刷モードに応じて、エンジンチップ１０２および１０３に転送される。ここでは、予め定められた単位での転送が行われる。
【００２１】
Ｓ２０２では、例えば、記録媒体の幅などにしたがう予め指定された量の画像データについて転送が完了したかどうかが判断される。データ転送が完了していない場合は、Ｓ２００ないしＳ２０１にしたがい、予め定められた単位でのデータ転送が繰り返し為される。
【００２２】
Ｓ２０３では、指定ラインの数量にしたがう量の画像データについて転送が完了したかどうかが判断される。データ転送が完了していない場合は、Ｓ２００ないしＳ２０２にしたがいデータ転送が繰り返し為される。このようにして、記録ヘッドの１走査に対応する分量のデータ転送が為される。なお、以上のデータ転送において、転送の順序を第１のエンジンチップ１０２に転送した後に第２のエンジンチップ１０３に転送する順序で説明したが、この順序に限られない。
【００２３】
図３に例示されるように、コントローラチップ１０１からエンジンチップ１０２ないし１０３へのデータ転送は、第１のＤＭＡＣ１０９、第２のＤＭＡＣ１０７、およびＳＲＡＭ１０８を用いて、ＤＭＡ転送されることによって為される。データ転送は、第２のＤＭＡＣ１０７の制御によって所定の単位で為される。データ転送に際して、転送すべき画像データは、ＤＲＡＭ１０５から読み出され、第１のＤＭＡＣ１０９によりＳＲＡＭ１０８に一時的に保持ないし格納される（第１の転送）。
【００２４】
その後、第２のＤＭＡＣ１０７は、当該格納された画像データを第１のエンジンチップ１０２ないし第２のエンジンチップ１０３に転送する（第２の転送）。第２のＤＭＡＣ１０７は、第２のＤＭＡＣ１０７を制御するための情報であるディスクリプタ１１０にしたがって、ＳＲＡＭ１０８に格納された画像データの転送を行う。ディスクリプタ１１０は、例えば、ＣＰＵ１０４により生成され、ＤＲＡＭ１０５に記憶される。
【００２５】
図４に例示するように、ディスクリプタ１１０は、データ転送に必要な情報（制御情報、転送すべき画像データの転送先アドレス、転送元アドレス、転送サイズ等）を有する。また、この情報は、データ転送を繰り返し行うチェイン動作が設定されている場合は、当該データ転送の次に参照すべきディスクリプタ１１０の先頭アドレス（ネクストディスクリプタアドレス）を有しうる。この情報は、画像データの色の数などに応じて複数の種類の情報等の各種情報を含みうる。
【００２６】
また、第２のＤＭＡＣ１０７は、制御情報の１つ（フラグ）にしたがい、例えば、第１のＤＭＡＣ１０８からのトリガ（通知）に基づいて、その動作を制御することができる。ここでは、第２のＤＭＡＣ１０７は、エンジンチップ１０２ないし１０３に転送されるべき画像データがＳＲＡＭ１０８に格納されたことを第１のＤＭＡＣ１０９からのトリガにより認識ないし判断する。即ち、当該トリガ（転送完了トリガ）により、第２のＤＭＡＣ１０７は、エンジンチップ１０２ないし１０３へのデータ転送の準備が完了したと判断しうる。当該トリガは、第２のＤＭＡＣ１０７がデータ転送を開始する条件の１つとなりうる。
【００２７】
ディスクリプタ１１０には、当該トリガをデータ転送の開始条件とするかを決定ないし判断するフラグを設ける。なお、トリガをデータ転送の開始条件とするか否かの設定は、ヘッドやデータの割当て、印刷モードにより予め決定され、画像データはそれに応じてメモリに格納される。ＣＰＵ１０４はこれに基づいてディスクリプタ１１０を作成し、フラグの設定を行う。トリガをデータ転送の開始条件とする場合、第２のＤＭＡＣ１０７は、当該トリガに応答して、第１のＤＭＡＣ１０９により格納（更新）されたＳＲＡＭ１０８の画像データを、エンジンチップ１０２または１０３に転送する。このトリガをデータ転送の開始条件としない場合は、第２のＤＭＡＣ１０７は、当該トリガを待たずに、ディスクリプタ１１０にしたがってＳＲＡＭ１０８に既に格納されている画像データの転送を繰り返す。このように、第２のＤＭＡＣ１０７は、上述のトリガとディスクリプタ１１０とに基づいて、転送モードを切り替えることができる。
【００２８】
図５を参照しながら、以下、データ転送のシーケンスを説明する。図５（ａ）は、ディスクリプタ１１０に示されるフラグによって、第２のＤＭＡＣ１０７がトリガに応答してデータ転送を開始する場合（フラグ＝１の場合）の転送モードを示している。即ち、ＤＲＡＭ１０５から読み出された画像データ１は、第１のＤＭＡＣ１０９によって、ＳＲＡＭ１０８に格納され、第２のＤＭＡＣ１０７は、ディスクリプタ１１０にしたがい、トリガに応答して、エンジンチップ１０２への画像データ１の転送を開始する。同様にして、ＤＲＡＭ１０５から読み出された画像データ２はＳＲＡＭ１０８に格納され、第２のＤＭＡＣ１０７は、ディスクリプタ１１０にしたがい、トリガに応答して、エンジンチップ１０３への画像データ２の転送を開始する。
【００２９】
一方、図５（ｂ）は、ディスクリプタ１１０に示されるフラグによって、第２のＤＭＡＣ１０７がトリガに応答して転送するモード（フラグ＝１）と、トリガに依らずに転送するモード（フラグ＝０）とを切り替える態様を示している。ここでは、エンジンチップ１０３へのデータ転送において、第１のＤＭＡＣ１０７がトリガに依らずに転送する場合を示す。第２のＤＭＡＣ１０７は、画像データ１の転送が完了したことをトリガにより検知し、ディスクリプタ１１０にしたがい、画像データ１のデータ転送を開始する。ここで、ディスクリプタ１１０のフラグを無効（フラグ＝０）にすると、第２のＤＭＡＣ１０７はトリガに依らずに、ディスクリプタ１１０にしたがって、既にＳＲＡＭ１０８に格納されている画像データのエンジンチップ１０３へのデータ転送を繰り返す。
【００３０】
以上、第２のＤＭＡＣ１０７は、ディスクリプタ１１０にしたがって、転送すべき画像データがＳＲＡＭ１０８において更新されたことを示す通知を待つか否かの動作モードを選択し、第１のＤＭＡＣ１０９と連携してＤＭＡ転送を行う。この連携は、仕組みを簡素化しているため、複雑なシーケンス制御を行うことなく、印刷モードに応じた多様な転送シーケンス（画像データの色の数、共通する画像データの数量、画像データの割り付け方、転送の順序等）に対応することができる。すなわち、転送シーケンスに応じてフラグを切り替える周期をＣＰＵ１０４が決定すればよい。これにより、転送する画像データに応じてＤＭＡＣの構成を変える必要がない。エンジンチップ１０２および１０３その他のユニットは、少なくとも１つ以上であればよく、その数量に依存しないし、仕様に応じて、適宜、構成を変えてもよい。エンジンチップ１０２および１０３で共通に用いる画像データを転送する場合は、転送元のメモリ（ここでは、ＤＲＡＭ１０５）に格納されている画像データは１度だけ読み出されればよく、いわゆる２度読みを行う必要がない。以上のような画像データの転送制御を行うことによって、ＤＲＡＭ１０５へのアクセス頻度が低減され、システム全体のパフォーマンスを向上させることができる。また、エンジンチップ１０２および１０３の要求に応じて、任意のタイミングで転送を行うことができる。
【００３１】
本実施形態では、第２のＤＭＡＣ１０７によるＤＭＡ転送の転送元としてＳＲＡＭ１０８をメモリとして用いた構成を例示したが、当該メモリはＳＲＡＭに限定されない。また、本実施形態では、ＳＲＡＭ１０８に画像データを展開するハードウェアとして第１のＤＭＡＣ１０９を用いた構成を例示したが、第２のＤＭＡＣ１０７と連携して上述の動作を実行するプロセッサを用いてもよい。また、本実施形態では、内部に画像処理モジュールを有するチップと、他のチップとの間でのデータ転送を例示したが、チップ間のデータ転送に限定されない。例えば、本実施形態の転送手順は、同一チップ内におけるモジュール間のデータ転送にも適用できる。その他、各数量は本実施形態に限定されるものではなく、任意の自然数を採りうる。例えば、記録ヘッドが記録する色の数は６色でなくてもよいし、記録装置Ｘが形成する画像は１０色でなくてもよい。
【００３２】
（第２実施形態）
図６を参照しながら、第２実施形態のデータ転送の方法を説明する。本実施形態は、第１のＤＭＡＣ１０９の他に、第３のＤＭＡＣ１１１を用いて第１の転送を行う点で第１実施形態と異なる。第２のＤＭＡＣ１０７は、第１実施形態と同様に、前述のトリガとディスクリプタ１１０とに基づいてデータ転送を開始する条件を変更して、データ転送の転送モードを切り替える。本実施形態では、第３のＤＭＡＣ１１１を追加することにより、２以上のメモリアクセスが同時に為されうるＤＲＡＭ１０５からのデータ転送の性能を確保している。第２のＤＭＡＣ１０７は、エンジンチップ１０２ないし１０３に転送されるべき画像データがＳＲＡＭ１０８に格納されたことを第１のＤＭＡＣ１０９ないし第３のＤＭＡＣ１１１からの２つのトリガにより認識ないし判断する。
【００３３】
トリガをデータ転送の開始条件とする場合、第２のＤＭＡＣ１０７は、更新されたＳＲＡＭ１０８の画像データを、２つのトリガに応答して、エンジンチップ１０２ないし１０３に転送する。トリガをデータ転送の開始条件としない場合は、第２のＤＭＡＣ１０７はいずれのトリガをも待たずに、ディスクリプタ１１０にしたがってＳＲＡＭ１０８に既に格納されている画像データの転送を繰り返す。ＳＲＡＭ１０８はダブルバッファ構成とすればよい。
【００３４】
また、第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１は、第２のＤＭＡＣ１０７と同様にして、外部からのトリガに応答してデータ転送を開始する構成にしてもよい。このような構成により、第１のＤＭＡＣ１０９、第２のＤＭＡＣ１０７および第３のＤＭＡＣ１１１のそれぞれによる各データ転送を、互いに同期させて行うことができる。
【００３５】
図７は、データ転送のシーケンスを説明する図である。図７（ａ）は、ディスクリプタ１１０に示されるフラグによって、第２のＤＭＡＣ１０７が２つのトリガに応答してデータ転送を開始する場合（フラグ＝１の場合）を示している。即ち、ＤＲＡＭ１０５から読み出された画像データ１は、第１のＤＭＡＣ１０９によってＳＲＡＭ１０８に格納され、第２のＤＭＡＣ１０７は、これに対応するトリガを待つ。同様にして、ＤＲＡＭ１０５から読み出された画像データ２は、第３のＤＭＡＣ１１１によってＳＲＡＭ１０８に格納され、第２のＤＭＡＣ１０７は、これに対応するトリガを待つ。
【００３６】
第２のＤＭＡＣ１０７は、ディスクリプタ１１０にしたがって、これら２つのトリガに応答して、エンジンチップ１０２への画像データ１および画像データ２の転送を開始する。第２のＤＭＡＣ１０７は、このデータ転送の開始と同時に、次に転送すべき画像データをＳＲＡＭ１０８に格納して準備すべきことを通知するためのトリガ（転送要求トリガ）を第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１に対して発行する（第２の通知）。
【００３７】
第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１のそれぞれは、当該トリガに応答して、ＳＲＡＭ１０８に、次に転送すべき画像データについての転送を開始する。各ＤＭＡＣはそれぞれ独立して動作が可能であり、よって、画像データ１および画像データ２のエンジンチップ１０２への転送と、画像データ３または画像データ４のＳＲＡＭ１０８への転送とは並列に為される。その後、前述と同様の手順によって、エンジンチップ１０３への画像データ３および画像データ４の転送が開始される。
【００３８】
一方、図７（ｂ）は、ディスクリプタ１１０に示されるフラグによって、第１のＤＭＡＣ１０７が２つのトリガに応答して転送するモード（フラグ＝１）と、トリガに依らずに転送するモード（フラグ＝０）とを切り替える態様を示している。ここでは、エンジンチップ１０３へのデータ転送において、第２のＤＭＡＣ１０７がトリガに依らずに転送する場合を示す。第２のＤＭＡＣ１０７は、画像データ１および画像データ２の転送が完了したことをトリガにより検知し、画像データ１および画像データ２のデータ転送を開始する。ここで、ディスクリプタ１１０のフラグを無効（フラグ＝０）にすることで、第２のＤＭＡＣ１０７は転送要求トリガを発行せず、また、転送完了トリガに依らずに、エンジンチップ１０３へのデータ転送を繰り返す。
【００３９】
図８は、本実施形態におけるＤＭＡＣによるデータ転送のシーケンスを示している。ここでは、複数の種類の色（例えば、ＢＫ、Ｃ、Ｍ、Ｙ、ＰＣ、ＰＭ、Ｒ、Ｇ、Ｂ、ＧＹ等）の画像データ（色データ）を含む入力データ群を転送する場合を例示する。その中でも、エンジンチップ１０２および１０３に対し、それぞれ７色の色データを転送し、そのうちの１色がこれらのチップにおいて共通に使用される場合を示している。すなわち、転送される色データは１４色分であるが、色の種類は１３種類の例である。なお、転送される画像データ（画像データ１、画像データ２等）は、１色分の画像データの半分のデータ量であるものとする。まず、６色分（色１〜色６）の画像データについて、エンジンチップ１０２へのデータ転送を行う。色１〜色６の画像データは、エンジンチップ１０２においてのみ使用されるものとする。
【００４０】
次に、第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１が色７の画像データを準備する。色７の画像データは、２つのエンジンチップ１０２および１０３において共通に使用されるものとする。第２のＤＭＡＣ１０７は、先にエンジンチップ１０２に転送する。ここで、ディスクリプタ１１０に設定されるフラグは、転送要求トリガを発行せず、また、転送完了トリガに応答しないように設定される。よって、第２のＤＭＡＣ１０７により、エンジンチップ１０２への色７についてのデータ転送が完了した後、エンジンチップ１０３への色７についてのデータ転送が開始される。
【００４１】
その後、次の６色分（色８〜色１３）の画像データについて、エンジンチップ１０３へのデータ転送を行う。色８〜色１３の画像データは、エンジンチップ１０３においてのみ使用されるものとする。エンジンチップ１０２および１０３において共通に使用される色７についてのデータ転送は、これらのチップへの各転送の間、即ち、色１〜色６についてのデータ転送と、色８〜色１３についてのデータ転送との間に為されている。以上のように、各エンジンチップへの割当てに従って、色１〜色６の転送ではフラグ＝１、色７ではフラグ＝０、色８〜１３ではフラグ＝１という周期でフラグの状態が切り替えられる。このようにしてデータ転送が為されることにより、画像データを一時的に格納するＳＲＡＭ１０８のメモリサイズが抑制されうる。
【００４２】
以上、第２のＤＭＡＣ１０７は、ディスクリプタ１１０にしたがって、転送すべき画像データが更新されたことを示す通知を待つか否かの動作モードを選択し、第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１と連携してＤＭＡ転送を行う。本実施形態によっても第１実施形態と同様の効果が得られる。以上では、取り扱うデータとして各色の画像データを用いて説明したが、データはインク色に対応するものに限られない。例えば、画像処理に用いるパラメータや属性データ等でもよく、画像データを構成するためのデータであればよい。また、ここでは、２つのＤＭＡＣ（第１のＤＭＡＣ１０９および第３のＤＭＡＣ１１１）がデータ転送を行う構成を例示したが、３つ以上のＤＭＡＣを用いてもよく、同様の効果が得られる。
【００４３】
（第３実施形態）
第１実施形態および第２実施形態では、内部に画像処理モジュールを有するチップと、他のチップとの間でのデータ転送を例示したが、同一チップ内におけるモジュール間のデータ転送にも適用できる。例えば、同一チップ内における同一のメモリデバイスに画像データを戻す構成に適用してもよい。図９を参照しながら、画像処理を行う２つのモジュール（第１の処理部１１２および第２の処理部１１３）の間で為されるデータ転送を説明する。ここでは、データ転送を実現するシステムは、第１の入力ＤＭＡＣ１１４、第１の出力ＤＭＡＣ１１５、第２の入力ＤＭＡＣ１１６、第２の出力ＤＭＡＣ１１７を用いて構成している。以下では、モジュール間のデータ転送を制御する第１の入力ＤＭＡＣ１１４および第２の出力ＤＭＡＣ１１７の動作に着目して説明する。
【００４４】
図１０を参照しながら、以下、コントローラチップ１０１内のモジュール間のデータ転送におけるＤＭＡＣの制御方法、およびデータフローを説明する。ホストコンピュータから入力された画像データは、ＤＲＡＭ１０５に格納された後、第１の処理部１１２および第２の処理部１１３によってデータ処理が為される。ＤＲＡＭ１０５に格納されている画像データは、第２の入力ＤＭＡＣ１１６により第１の処理部１１２に転送され、データ処理が為される。
【００４５】
その後、当該データ処理が為された画像データは、第２の出力ＤＭＡＣ１１７によりＤＲＡＭ１０５に再び格納される。第２の出力ＤＭＡＣ１１７によりＤＲＡＭ１０５に格納された当該画像データは、ディスクリプタ１１０にしたがって、第１の入力ＤＭＡＣ１１４により第２の処理部１１３に転送され、データ処理が為される。その後、当該データ処理が為された画像データは、第１の出力ＤＭＡＣ１１５によりＤＲＡＭ１０５に再び格納される。
【００４６】
第１の入力ＤＭＡＣ１１４は、第１実施形態と同様に、前述のトリガとディスクリプタ１１０とに基づいてデータ転送を開始する条件を変更して、データ転送の転送モードを切り替える。本実施形態では、第１の入力ＤＭＡＣ１１４は、第２の画像処理部１１３に転送すべき画像データがＤＲＡＭ１０５に格納されたことを第２の出力ＤＭＡＣ１１７からのトリガにより認識ないし判断する。
【００４７】
ディスクリプタ１１０には、当該トリガをデータ転送の開始条件とするか、ＤＲＡＭ１０５から第２の処理部１１３への直前の転送が完了したことをデータ転送の開始条件とするかを決定ないし判断するフラグを設ける。トリガをデータ転送の開始条件とする場合、第１の入力ＤＭＡＣ１１４は、トリガに応答して、第２の出力ＤＭＡＣ１１７により格納（更新）されたＤＲＡＭ１０５の画像データを、第２の処理部１１３に転送する。トリガをデータ転送の開始条件としない場合は、第１の入力ＤＭＡＣ１１４は、トリガを待たずに、ＤＲＡＭ１０５に既に格納されている画像データの転送を繰り返す。
【００４８】
このように、第１の入力ＤＭＡＣ１１４は、上述のトリガと、ディスクリプタ１１０とに基づいて、転送モードを切り替えることができる。また、第２の出力ＤＭＡＣ１１７は、第２実施形態と同様に、外部からのトリガに応答してデータ転送を開始する構成にしてもよい。これにより、各ＤＭＡＣによるモジュール間の各データ転送を、互いに同期させて行うことができる。
【００４９】
以上、第１の入力ＤＭＡＣ１１４は、ディスクリプタ１１０にしたがって、転送すべき画像データが更新されたことを示す通知を待つか否かの動作モードを選択し、第２の出力ＤＭＡＣ１１７と連携してＤＭＡ転送を行う。よって、本実施形態に例示されるような同一チップ内におけるモジュール間のデータ転送においても、第１および第２実施形態と同様の効果が得られる。また、本実施形態では、２つのモジュール間におけるデータ転送を例示して説明したが、モジュールの数はこれに限定されず、３つ以上でも同様である。
【００５０】
本発明は以上の実施形態に限られるものではなく、目的、状態、用途、機能又は仕様に応じて、適宜、変更し又は組合せることが可能であり、他の実施形態によっても為されうる。
【図１】
2015018454.tif 000003
【図２】
2015018454.tif 000004
【図３】
2015018454.tif 000005
【図４】
2015018454.tif 000006
【図５】
2015018454.tif 000007
【図６】
2015018454.tif 000008
【図７】
2015018454.tif 000009
【図８】
2015018454.tif 000010
【図９】
2015018454.tif 000011
【図１０】
2015018454.tif 000012
【図１１】
2015018454.tif 000013