(57)【要約】【課題】連続して処理する必要のあるデータが、メモリに分割して格納される場合にも、正常に処理することができるようにＤＭＡ転送の制御を行う。【解決手段】  データ処理装置102は、データ処理部106とDMAC105とを備える。DMAC105は、ディスクリプタチェーンを用いてメモリ104とデータ処理部106との間でデータをDMA転送する。継続データ判定部108は、前記ディスクリプタに埋め込まれた次の転送データとの関連性の有無を示す情報によって次の転送データとの関連性の有無を判定し、その判定結果に応じて、前記データ処理部106への動作制御を変更する。これにより、データ処理部106は、分割されて転送されたデータを一塊のデータとして処理する。【選択図】図２
2008071054.tif 000002
【特許請求の範囲】
【請求項１】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、
前記データ処理部で連続した処理を行う必要のあるデータを、その処理に影響を与えることなく分割して前記データ記憶部とデータ処理部との間で転送することを特徴とするデータ転送制御方法。
【請求項２】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、
ディスクリプタチェーンを用い、前記データ処理部で処理を行うデータを、その処理に影響を与えることなく関連性のあるデータとして分割して前記データ記憶部とデータ処理部との間でＤＭＡ転送することを特徴とするデータ転送制御方法。
【請求項３】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、
ディスクリプタチェーンを用いて前記データ記憶部とデータ処理部との間でデータをＤＭＡ転送し、その際、次の転送データとの関連性の有無を判定し、その判定結果に応じて、前記データ処理部への制御を変更することにより、前記データ処理部が、分割されて転送されたデータを一塊として処理可能にデータの転送を行うことを特徴とするデータ転送制御方法。
【請求項４】
次の転送データとの関連性の有無を示す情報を、前記ディスクリプタに埋め込むことによって、次の転送データとの関連性の有無を判定することを特徴とする請求項２または３記載のデータ転送制御方法。
【請求項５】
次の転送データとの関連性の有無を、転送するデータを解析することによって判定することを特徴とする請求項２または３記載のデータ転送制御方法。
【請求項６】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、
前記データ転送部は、前記データ処理部で連続した処理を行う必要のあるデータを、その処理に影響を与えることなく分割して前記データ記憶部とデータ処理部との間で転送することを特徴とするデータ処理装置。
【請求項７】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、
前記データ転送部は、ディスクリプタチェーンを用い、前記データ処理部で処理を行うデータを、その処理に影響を与えることなく関連性のあるデータとして分割して前記データ記憶部とデータ処理部との間でＤＭＡ転送するＤＭＡＣであることを特徴とするデータ処理装置。
【請求項８】
データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、
前記データ転送部は、ディスクリプタチェーンを用いて前記データ記憶部とデータ処理部との間でデータをＤＭＡ転送する手段と、次の転送データとの関連性の有無を判定する手段と、その判定結果に応じて、前記データ処理部への制御を変更する手段とを有し、前記データ処理部が、分割されて転送されたデータを一塊として処理可能にデータの転送を行うことを特徴とするデータ処理装置。
【請求項９】
前記次の転送データとの関連性の有無を判定する手段は、前記ディスクリプタに埋め込まれた次の転送データとの関連性の有無を示す情報によって、次の転送データとの関連性の有無を判定することを特徴とする請求項７または８記載のデータ処理装置。
【請求項１０】
前記次の転送データとの関連性の有無を判定する手段は、次の転送データとの関連性の有無を、転送するデータを解析することによって判定することを特徴とする請求項７または８記載のデータ処理装置。
【請求項１１】
前記データ処理部は、データの圧縮器あるいは伸長器であることを特徴とする請求項６ないし１０のうちいずれか１記載のデータ処理装置。
【請求項１２】
前記データ処理部は、データの暗号器あるいは復号器であることを特徴とする請求項６ないし１０のうちいずれか１記載のデータ処理装置。
【請求項１３】
請求項６ないし１２のうちいずれか１記載のデータ処理装置を備えて構成されたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御方法、データ処理装置及び画像処理装置に係り、特に、ＤＭＡ転送の制御を行うデータ転送制御方法、データ処理装置及び画像処理装置に関する。
【背景技術】
【０００２】
一般に、ＤＭＡ転送は、データ転送を行う前に、ディスクリプタ・リードを行って、そのディスクリプタの転送を行う。ディスクリプタとは、転送アドレスや転送データ量、次のディスクリプタのアドレス、その他の転送のための設定を含んだデータであり、メモリ上の転送するデータとは別の領域に配置されているのが一般的である。
【０００３】
ＤＭＡ転送の制御を行うＤＭＡＣは、リードしたディスクリプタの設定に従ってデータ転送を行う。そして、ＤＭＡＣは、複数のデータを非連続なメモリ領域（格納領域が分けられている）から読み出して転送する場合、１つ目のデータ転送後に、次のディスクリプタをリードして次のデータの転送を行う。次のディスクリプタをリードして連続したデータ転送を行うことを、ディスクリプタチェーン転送という。このような、ディスクリプタチェーン転送を行う場合に、メモリ上の小領域にアクセスするディスクリプタをチェーンに織り込むことによって、メモリを効率よく利用することが可能となる。
【０００４】
図１４は従来技術によるＤＭＡ転送の概念を説明する図、図１５は従来技術により複数のデータをＤＭＡ転送する場合のタイミング図、図１６はＤＭＡ転送を利用するデータ処理の例を説明する図である。
【０００５】
図１４に示す例は、画像処理装置の中で画像データ等のデータをＤＭＡ転送する場合の例であり、画像処理装置全体の制御を行うＣＰＵ１０１の制御の下でデータ処理装置１０２内のＤＭＡＣ１０５が、メモリ１０２からデータを読み出し、そのデータに対してデータ処理装置１０２内のデータ処理部１０６が所定の処理を施して、画像出力部１０３に転送している例である。
【０００６】
前述において、データ処理装置１０２が複数のデータ、データａ、データｂを非連続なメモリ領域から読み出してディスクリプタチェーン転送する場合、ＤＭＡＣ１０５は、ディスクリプタの内容に従って、まず、メモリ１０４からデータａを読み出し、図１５に示すように、データ処理部１０６に対する動作制御信号をオンとして、動作制御信号をオンとしている間にデータａをデータ処理部１０６に渡して、動作制御信号をオフとする。その後、ＤＭＡＣ１０５は、次のディスクリプタの内容に従って、メモリ１０４からデータｂを読み出し、データ処理部１０６に対する動作制御信号をオンとして、動作制御信号をオンとしている間にデータｂをデータ処理部１０６に渡して、動作制御信号をオフとする。なお、動作制御信号がオフの期間におけるデータは無効とされる。このような処理を続けることにより、ＤＭＡＣ１０５は、非連続なメモリ領域から複数のデータを順に読み出してデータ処理部１０６に渡すことができる。
【０００７】
前述したような、ＤＭＡ転送を利用するデータ処理の例として、図１６に示すようなメモリ１０４内に記憶されている圧縮あるいは暗号データをデータ処理装置１０２で読み取って、データ処理部１０６で伸張あるいは復号データとして出力するような場合がある。
【０００８】
なお、ＤＭＡ転送を利用する画像処理に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。
【特許文献１】特開２００３−２８１０７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述した従来技術は、ディスクリプタチェーンを使用することにより、メモリを効率よく使用することができるものである。しかし、前述した従来技術は、データ処理が図１６に示すような圧縮あるいは暗号データを伸張あるいは復号データとするものであるような場合に、非連続にメモリ領域を使用することができなくなり、メモリを効率よく使用することができなくなるという問題点を生じてしまう。
【００１０】
図１７は従来技術の問題点を説明するＤＭＡ転送の概念を説明する図、図１８は従来技術の問題点を説明する複数のデータをＤＭＡ転送する場合のタイミング図、図１９は従来技術の問題点を説明するＤＭＡ転送を利用するデータ処理の例を説明する図であり、次に、これらの図を参照して従来技術の問題点を説明する。
【００１１】
例えば、前述した従来技術によるＤＭＡ転送を利用して、圧縮符号や暗号データを読み出して、データ処理部で伸長あるいは復号する場合で、伸長あるいは復号すべき一塊であるべき圧縮符号や暗号データが非連続にメモリ領域に格納されている場合を考える。
【００１２】
そして、図１７に示すように、伸長あるいは復号すべき一塊であるべき圧縮符号や暗号データがメモリ１０４の非連続なメモリ領域に、データａ（前半）、データａ（後半）として格納されており、さらに、データｂが非連続なメモリ領域に格納されているものとする。
【００１３】
このような場合、ＤＭＡＣ１０５は、図１４、図１５により説明したように、また、図１７、図１８に示すように、データａ（前半）、データａ（後半）、データｂを順番にディスクリプタチェーンを使用して読み出すことになる。ＤＭＡＣ１０５は、データａ（前半）、データａ（後半）、データｂをデータ処理部１０６に渡す場合、これらのデータ毎に、動作制御信号をオンとして、データの間では、動作制御信号をオフとしており、このため、データ間は無効データとなる。
【００１４】
このため、図１９に示すように、データ処理部１０６は、伸長あるいは復号すべき一塊であるべき圧縮符号や暗号データを、データａ（前半）、データａ（後半）の２つのデータとして受け取ることになり、これらのデータが一塊のものであるということを認識することができず、２つのデータに分割されて受け取った圧縮符号や暗号データを伸張したり復号することができなくなってしまう。
【００１５】
一般に、圧縮符号や暗号データ等は、その全てが揃った上で初めて意味を持つものであり、途中までとか途中からのデータでは、そのデータ処理に不都合が生じてしまう。このため、このような圧縮符号や暗号データをメモリに格納する場合、これらのデータは、一塊のデータとして連続したメモリ領域に格納せざるを得ないものとなり、メモリを効率よく使用することができないことになる。
【００１６】
本発明の目的は、前述したような従来技術の問題点を解決し、圧縮符号や暗号のような連続して処理する必要のあるデータが、メモリに分割して格納される場合にも、正常に伸長あるいは復号処理することができるようにしたＤＭＡ転送の制御を行うデータ転送制御方法、データ処理装置及び画像処理装置を提供することにある。
【課題を解決するための手段】
【００１７】
前記目的を達成するための本発明の第１の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、前記データ処理部で連続した処理を行う必要のあるデータを、その処理に影響を与えることなく分割して前記データ記憶部とデータ処理部との間で転送することを特徴とする。
【００１８】
また、本発明の第２の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、ディスクリプタチェーンを用い、前記データ処理部で処理を行うデータを、その処理に影響を与えることなく関連性のあるデータとして分割して前記データ記憶部とデータ処理部との間でＤＭＡ転送することを特徴とする。
【００１９】
また、本発明の第３の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置における前記データ記憶部とデータ処理部との間のデータ転送制御方法において、ディスクリプタチェーンを用いて前記データ記憶部とデータ処理部との間でデータをＤＭＡ転送し、その際、次の転送データとの関連性の有無を判定し、その判定結果に応じて、前記データ処理部への制御を変更することにより、前記データ処理部が、分割されて転送されたデータを一塊として処理可能にデータの転送を行うことを特徴とする。
【００２０】
また、本発明の第４の手段は、第２または第３の手段において、次の転送データとの関連性の有無を示す情報を、前記ディスクリプタに埋め込むことによって、次の転送データとの関連性の有無を判定することを特徴とする。
【００２１】
また、本発明の第５の手段は、第２または第３の手段において、次の転送データとの関連性の有無を、転送するデータを解析することによって判定することを特徴とする。
【００２２】
また、本発明の第６の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、前記データ転送部は、前記データ処理部で連続した処理を行う必要のあるデータを、その処理に影響を与えることなく分割して前記データ記憶部とデータ処理部との間で転送することを特徴とする。
【００２３】
また、本発明の第７の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、前記データ転送部は、ディスクリプタチェーンを用い、前記データ処理部で処理を行うデータを、その処理に影響を与えることなく関連性のあるデータとして分割して前記データ記憶部とデータ処理部との間でＤＭＡ転送するＤＭＡＣであることを特徴とする。
【００２４】
また、本発明の第８の手段は、データ処理部とデータ転送部とを備え、データ記憶部が接続されるデータ処理装置において、前記データ転送部は、ディスクリプタチェーンを用いて前記データ記憶部とデータ処理部との間でデータをＤＭＡ転送する手段と、次の転送データとの関連性の有無を判定する手段と、その判定結果に応じて、前記データ処理部への制御を変更する手段とを有し、前記データ処理部が、分割されて転送されたデータを一塊として処理可能にデータの転送を行うことを特徴とする理装置。
【００２５】
また、本発明の第９の手段は、第７または第８の手段において、前記次の転送データとの関連性の有無を判定する手段は、前記ディスクリプタに埋め込まれた次の転送データとの関連性の有無を示す情報によって、次の転送データとの関連性の有無を判定することを特徴とする。
【００２６】
また、本発明の第１０の手段は、第７または第８の手段において、前記次の転送データとの関連性の有無を判定する手段は、次の転送データとの関連性の有無を、転送するデータを解析することによって判定することを特徴とする。
【００２７】
また、本発明の第１１の手段は、第６ないし第１０の手段のうちいずれか１の手段において、前記データ処理部は、データの圧縮器あるいは伸長器であることを特徴とする。
【００２８】
また、本発明の第１２の手段は、第６ないし第１０の手段のうちいずれか１の手段において、前記データ処理部は、データの暗号器あるいは復号器であることを特徴とする。
【００２９】
また、本発明の第１３の手段は、画像処理装置において、第６ないし第１０の手段のうちいずれか１の手段のデータ処理装置を備えて構成されたことを特徴とする。
【発明の効果】
【００３０】
本発明によれば、データ処理のために連続する必要のあるデータをデータ記憶部に格納する際に、そのデータを分割してデータ記憶部に格納することが可能となる。このため、大きなデータであっても小さなデータに分割して格納することができ、データ記憶部領域上の隙間を有効に利用することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明によるデータ転送制御方法、データ処理装置及び画像処理装置の実施形態を図面により詳細に説明する。
【００３２】
図１は本発明の各実施形態に共通な画像処理装置の構成例を示すブロック図である。
【００３３】
図１に示すように、画像処理装置は、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、ＮＶ−ＲＡＭ４、パネル制御部５、操作パネル６、エンジン制御部７、スキャン／プリントエンジン８、ディスクドライバ９、記憶装置１０、モデム１１、外部Ｉ／Ｆ１２及び通信制御部１３を含み、これらの各部がデータバス１４を介して接続されて構成されている。なお、ＣＰＵ１の制御下にＲＯＭ２ないし通信制御部１３の各部が位置する。
【００３４】
前述において、ＲＯＭ２は、プログラムコード、フォント及びその他の静的なデータを格納している。ＲＡＭ３は、ＣＰＵ１のワークメモリとして機能すると共に、一時的な記憶場所として使用される。ＮＶ−ＲＡＭ４には、不揮発性を必要とするデータが格納される。パネル制御部５と操作パネル６とは、ユーザとのインタフェースを司る。制御部７とスキャン／プリントエンジン８とは、イメージデータの入出力ユニットとして紙原稿の読み取りと転写紙への印刷とを実行する。ディスクドライバ９とハードディスク等の記憶装置１０とは、大量のイメージデータ等を蓄積したり、データベースを記憶する。通信制御部１３は、イーサネット（登録商標）等のネットワークと接続され、外部機器との通信を可能とするものである。モデム１１は、公衆回線と接続され、外部機器との通信のために使用される。外部Ｉ／Ｆ１２は、セントロニクスやＲＳ２３２等のインタフェースを用いて通信を行うために使用され、データバス１４は、前述した各種デバイス相互間及びＣＰＵ１と各デバイス間の通信に使用される。
【００３５】
図２は本発明の第１の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図、図３は本発明の第１の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図、図４は本発明の第１の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図、図５は本発明の第１の実施形態で使用するディスクリプタの構成例を示す図、図６は本発明の第１の実施形態でのＤＭＡＣでのデータ転送制御の処理動作を説明するフローチャートである。
【００３６】
図２に示す本発明の一実施形態による画像処理装置のＣＰＵ１０１、データ処理装置１０２は、図１における制御部７内に含まれるものであり、ここに示されるＣＰＵ１０１は、図１におけるＣＰＵ１とは異なるものである。また、メモリ１０４は、図１におけるＲＡＭ３に相当し、データ記憶部としての機能をも有する。画像出力部１０３は、図１におけるスキャン／プリントエンジン８に相当する。図２に示す画像処理装置は、図１４、図１７に示した場合と同様に、ＤＭＡＣ１０５及びデータ処理部１０６を含んだデータ処理装置１０６と、データを保持するためのメモリ１０４と、画像を出力するための画像出力部（エンジン）１０３と、画像処理装置全体を制御するＣＰＵ１０１とから構成されている。そして、ＤＭＡＣ１０５は、動作制御信号の出力を説明する動作制御部１０７と、前後のデータが一塊のものか否かを判定する継続データ判定部１０８とを含んで構成されている。
【００３７】
前述したような本発明の実施形態による画像処理装置において、メモリ１０４内には、図１７に示して説明した場合と同様に、伸長あるいは復号すべき一塊であるべき圧縮符号や暗号データが非連続なメモリ領域に、データａ（前半）、データａ（後半）として格納されており、さらに、別のデータｂが非連続なメモリ領域に格納されているものとする。ＤＭＡＣ１０５は、メモリ１０４との間でデータ転送を行い、データ処理部１０３に転送すると共に、動作制御部１０７からの動作制御信号により、データ処理部１０６の動作制御を行う。データ処理部１０６は、転送されるデータに対して伸長や復号等の処理を行い処理後のデータを出力する。このとき、データ処理部１０６は、動作制御信号がオンになると処理を開始し、オフになると処理を終了し内部を初期化する。
【００３８】
ＤＭＡＣ１０５は、ディスクリプタチェーン転送によりメモリ１０４からデータを読み出してデータ処理部１０６にデータを転送するＤＭＡ転送を行う場合、図１７に示した場合と同様に処理を進める。本発明の実施形態の場合、ＤＭＡＣ１０５は、データａ（前半）、データａ（後半）として分割されている２つのデータが一塊のものであるか否かを、継続データ判定部１０８がディスクリプタの内容から判定するので、分割されている２つのデータが一塊のものであった場合、図３に示しているように、データａ（前半）、データａ（後半）として分割されている２つのデータの間では動作制御信号をオフとすることなくオンのままとして、データａ（前半）、データａ（後半）の各データをデータ処理部１０６に転送する。これにより、データ処理部１０６は、図４に示しているように、データａ（前半）、データａ（後半）の２つのデータを一塊のデータとして、一括して処理を行うことが可能になり、データａ（前半）、データａ（後半）の２つのデータが一塊の圧縮データあるいは暗号データ等である場合、この一塊のデータを正常に伸張しあるいは復号することができる。
【００３９】
前述したような動作制御のため、本発明の実施形態でのディスクリプタは、図５に示すように構成される。すなわち、ディスクリプタは、次のディスクリプタのアドレス、転送データのアドレス、転送データ量、その他の情報を含んで構成されるが、その他の情報の中に、本発明のために、次の転送データとの関連性の有無を表すフラグが埋め込まれている。前述のフラグは、メモリ１０４にデータを書き込みディスクリプタを作成するときに、ＣＰＵ１０１あるいは図１におけるＣＰＵにより生成されて、その他の情報の中に埋め込まれる。ＤＭＡＣ１０５内の継続データ判定部１０８は、前述のその他の情報の中に埋め込まれているフラグを判定することにより、前後のデータが一塊のものか否かを判定することができる。ＤＭＡＣ１０５は、この判定結果により、動作制御信号の制御を行う。
【００４０】
次に、図６に示すフローを参照して、ＤＭＡＣでのデータ転送制御の処理動作を説明する。
【００４１】
（１）ＤＭＡＣ１０５は、動作を開始するとディスクリプタをリードし、ディスクリプタに含まれる転送データのアドレスに従ってメモリ１０４からデータを読み出し、データ処理部に対する動作制御信号をオンとしてデータの転送を開始する（ステップ６０１〜６０３）。
【００４２】
（２）所定のデータ量の転送が終了したか否かを判定し、次に転送するデータがなかった場合、すなわち、転送が終了したデータが最後の転送データであった場合、ＤＭＡＣ１０５は、データ処理部１０６にデータ転送の完了を通知してその動作を終了する（ステップ６０４、６０５）。
【００４３】
（３）ステップ６０４の判定で、データ転送の終了ではなく、次に転送するデータあった場合、次の転送データが前の転送データと関連する継続すべきデータであるか否かを、ディスクリプタ内の前述したフラグから判定する（ステップ６０６）。
【００４４】
（４）ステップ６０６の判定で、次の転送データが継続すべきデータであった場合、データ処理部１０６に対する動作制御をオンにしたまま、ステップ６０２からの処理に戻ってディスクリプタリードからの処理を続け、関連性のないデータデータであった場合、動作制御をオフにして、ステップ６０２からの処理に戻ってディスクリプタリードからの処理を続ける（ステップ６０７）。
【００４５】
前述したようなＤＭＡ転送によりデータを受け取るデータ処理部１０６は、ＤＭＡＣ１０５より入力される動作制御信号で動作しているため、ＤＭＡＣ１０５で転送データが分割されていても、動作制御信号がオフにならない限り内部の初期化はされず、連続したデータとして処理を行うことができる。
【００４６】
前述した本発明の実施形態での処理は、プログラムにより構成し、本発明の設計装置が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【００４７】
前述した本発明の第１の実施形態は、ディスクリプタ内のフラグにより前後のデータの関連性（連続性）を判定するとして説明したが、本発明は、ディスクリプタの代わりに転送データの中身をＤＭＡＣが解析することによって、例えば、転送したデータにそのデータの終端情報を含んでいたかを解析することによって次の転送データとの関連性の有無を解析することによって前後のデータの関連性（連続性）を判定するようにすることもできる。
【００４８】
図７は従来技術と本発明の第１の実施形態とを比較したときに、本発明の実施形態の場合にメモリを削減して効率的に使用することができることを説明する図である。
【００４９】
図７において、データａ、データｂのそれぞれは、一塊のデータとして扱うべきデータであるとする。従来技術の場合、これらのデータは、一塊のデータとして扱うことができるようにするため、メモリ内には、図７（ａ）に示すように、データａ、データｂのそれぞれを、一連のメモリ領域に格納する必要がある。このため、データａ、データｂは、メモリ内のこれらのデータのそれぞれを一括して格納することができる連続した領域に格納されることになる。このため、図７（ａ）に示す例では、データａより小さいサイズのデータｂを、データｂが格納可能な領域に格納し、より大きいサイズのデータａを、データｂを格納した領域の後方に格納しようとすると、データｂを格納した領域の後方にサイズの小さな空き領域があった場合にも、その空き領域を使用することができず、さらに後方のデータａを格納可能な領域にデータａが格納されることになる。この結果、使用されない空き領域を間に置いてデータｂ、データａが格納されることになり、メモリの使用効率が低下してしまう。
【００５０】
これに対して、本発明の実施形態の場合、一塊のデータとして扱うべきデータａ、データｂのそれぞれを、データａ（前半）、データａ（後半）、データｂ（前半）、データｂ（後半）というように分割して、図７（ｂ）に示すように、メモリ内の小さな空き領域に順に格納していくことができるので、メモリの使用効率を向上させることができる。
【００５１】
前述までに説明した本発明の実施形態は、データ処理装置１０２内のＤＭＡＣ１０５がメモリ１０４からＤＭＡ制御によりデータを読み出し、それをデータ処理部１０６で処理しと画像出力部１０３に出力するというものであったが、本発明は、スキャナ等の画像入力部からのデータをメモリに格納する場合にも適用することができる。以下、この場合の本発明の実施形態について説明する。
【００５２】
図８は本発明の第２の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図、図９は本発明の第２の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図、図１０は本発明の第２の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図である。ここで説明する本発明の第２の実施形態は、スキャナ等の画像入力部からのデータをメモリに格納する場合の例である。
【００５３】
図８に示す本発明の第２の実施形態による画像処理装置は、図２により説明した例における画像出力部１０３に代わってスキャナ等による画像入力部１０９を設けて構成される。そして、この例においては、データ処理装置１０２が、画像入力部１０９からのデータをデータ処理部１０６で受け取ってデータ処理を行い、処理結果のデータをＤＭＡＣ１０５を介してメモリ１０４に格納している。ＤＭＡＣ１０５は、メモリ１０４へのデータ処理部１０６からの処理データを書き込む際、一塊として処理すべきデータを分割してメモリ１０４に書き込む必要があるか否かを継続データ判定部１０８が判定（データ継続が必要か否かを判定）して、データ処理部１０６に対する動作制御信号を制御する。データ処理部１０６は、動作制御部１０７からの動作制御信号による制御に従って継続処理とするか、初期化後の処理とするかを選択してデータをＤＭＡＣ１０５に転送する。そして、ＤＭＡＣ１０５は、メモリ１０４へのデータの書き込みの際、ＣＰＵ１０１にその旨を通知して、ＣＰＵ１０１は、ディスクリプタのその他の情報の中に、次の転送データとの関連性の有を表すフラグを埋め込んでメモリ１０４の所定の領域に書き込む。
【００５４】
前述したような本発明の第２の実施形態でのデータ転送のタイミングは、図９に示すようなものとなるが、これは、データの転送方向が逆になるものの図３により説明したものと全く同一である。また、本発明の第２の実施形態でのデータ処理の例を説明する図１０に示すように、ここでのデータ処理は、スキャナ等により読み取られたデータがデータ処理部１０２に入力され、一塊として処理すべきデータを分割した場合にも、連続したものとして扱うことができるように出力している。
【００５５】
図１１は本発明の第３の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図、図１２は本発明の第３の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図、図１３は本発明の第３の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図である。ここで説明する本発明の第３の実施形態は、メモリから読み出したデータをデータ処理部で処理した後、処理後のデータを再度メモリに格納する場合の例である。
【００５６】
図１１に示す本発明の第３の実施形態による画像処理装置は、図２または図３に示した画像処理装置から画像出力部、画像入力部を除き、データ出力装置１０２内にもう１つのＤＭＡＣを設けて構成されている。そして、この例においては、データ処理装置１０２がＤＭＡＣ１０５を介してメモリ１０４からデータを読み出し、そのデータをデータ処理部１０５に渡して処理を行わせ、処理の結果のデータをＤＭＡＣ１０５’を介してメモリ１０４に格納している。
【００５７】
ＤＭＡＣ１０５を介するメモリ１０４からデータ処理部１０６へのデータの転送は、本発明の第１の実施形態で説明した場合と同様に行われる。このため、データ転送のタイミングは、図１１の入力動作制御、入力データと記述して示すようなものとなり、図３により説明したと同一になる。また、ＤＭＡＣ１０５’を介するデータ処理部１０６からの処理結果のデータのメモリ１０４への転送は、本発明の第２の実施形態で説明した場合と同様に行われる。このため、データ転送のタイミングは、図１１の出力動作制御、出力データと記述して示すようなものとなり、図９により説明したと同一になる。本発明の第３の実施形態でのデータ処理の例を説明する図１３に示すように、ここでのデータ処理は、スメモリから読み取られたデータがデータ処理部１０２で処理されて再度メモリに格納される処理となるが、この処理の中で、一塊として処理すべきデータを分割した場合にも、連続したものとして扱うことができるようにしている。
【００５８】
前述した本発明の各実施形態によれば、データ処理のために連続する必要のあるデータをメモリに格納する際に、そのデータを分割してメモリに格納することが可能となる。このため、大きなデータであっても小さなデータに分割して格納することができ、メモリ領域上の隙間を有効に利用することができる。
【００５９】
また、出力画像に生産性（リアルタイム性）を求められる画像処理装置は、一般に、データ転送にＣＰＵの介在が多発すると生産性が著しく低下してしまうが、本発明の実施形態によれば、メモリに分割されたデータを転送する場合であっても、ＣＰＵは、ＤＭＡＣに初期設定と転送開始命令とを与えるのみでよいため、生産性を維持することができ、結果として、生産性を保ちつつ、メモリを有効に利用することが可能となる。
【００６０】
また、本発明の実施形態によれば、リードしたディスクリプタに、次の転送データとの関係性の有無を表すフラグが埋め込まれているため、ＤＭＡＣがそれを元にデータの関係性を判定することが可能となる。
【００６１】
また、本発明の実施形態によれば、ＤＭＡＣが、転送したデータの内容を解析して、例えば、転送データにそのデータの終端情報を含んでいたかを解析して、次の転送データとの関係性を判定することが可能となる。
【００６２】
また、本発明の実施形態によれば、データ処理部を圧縮伸長器とした場合、符号データをメモリ上に分割して格納しても正常に伸長することができるため、生産性を保ちつつメモリを有効に利用することが可能となる。
【００６３】
さらに、本発明の実施形態によれば、データ処理部を暗号器とした場合、暗号データをメモリ上に分割して格納しても正常に復号することができるため、生産性を保ちつつメモリを有効に利用することが可能となる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態による画像処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図である。
【図３】本発明の第１の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図である。
【図４】本発明の第１の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図である。
【図５】本発明の第１の実施形態で使用するディスクリプタの構成例を示す図である。
【図６】本発明の第１の実施形態でのＤＭＡＣでのデータ転送制御の処理動作を説明するフローチャートである。
【図７】従来技術と本発明の実施形態とを比較したときに、本発明の実施形態の場合にメモリを削減して効率的に使用することができることを説明する図である。
【図８】本発明の第２の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図である。
【図９】本発明の第２の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図である。
【図１０】本発明の第２の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図である。
【図１１】本発明の第３の実施形態による画像処理装置における本発明に関係するデータ処理装置の部分の構成を示すブロック図である。
【図１２】本発明の第３の実施形態により複数のデータをＤＭＡ転送する場合のタイミング図である。
【図１３】本発明の第３の実施形態でのＤＭＡ転送を利用するデータ処理の例を説明する図である。
【図１４】従来技術によるＤＭＡ転送の概念を説明する図である。
【図１５】従来技術により複数のデータをＤＭＡ転送する場合のタイミング図である。
【図１６】ＤＭＡ転送を利用するデータ処理の例を説明する図である。
【図１７】従来技術の問題点を説明するＤＭＡ転送の概念を説明する図である。
【図１８】従来技術の問題点を説明する複数のデータをＤＭＡ転送する場合のタイミング図である。
【図１９】従来技術の問題点を説明するＤＭＡ転送を利用するデータ処理の例を説明する図である。
【符号の説明】
【００６５】
１、１０１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  ＮＶ−ＲＡＭ
５  パネル制御部
６  操作パネル
７  エンジン制御部
８  スキャン／プリントエンジン
９  ディスクドライバ
１０  記憶装置
１１  モデム
１２  外部Ｉ／Ｆ
１３  通信制御部
１４  データバス
１０２  データ処理装置
１０３  画像出力部
１０４  メモリ
１０５  ＤＭＡＣ
１０６  データ出力部
１０７  動作制御部
１０８  継続データ判定部
１０９  画像入力部
【図１】
2008071054.tif 000003
【図２】
2008071054.tif 000004
【図３】
2008071054.tif 000005
【図４】
2008071054.tif 000006
【図５】
2008071054.tif 000007
【図６】
2008071054.tif 000008
【図７】
2008071054.tif 000009
【図８】
2008071054.tif 000010
【図９】
2008071054.tif 000011
【図１０】
2008071054.tif 000012
【図１１】
2008071054.tif 000013
【図１２】
2008071054.tif 000014
【図１３】
2008071054.tif 000015
【図１４】
2008071054.tif 000016
【図１５】
2008071054.tif 000017
【図１６】
2008071054.tif 000018
【図１７】
2008071054.tif 000019
【図１８】
2008071054.tif 000020
【図１９】
2008071054.tif 000021