(57)【要約】【課題】ＣＰＵ（ソフト）制御の負担を軽減し別の制御にリソースを割くことができるようにする。【解決手段】スキャナから読み込まれた画像データを圧縮してメモリ５へ格納する圧縮処理ブロック２と、圧縮された符号データをメモリ５から読み取り、伸長する伸長処理ブロック３とを有する画像処理装置において、入力される画像データに対してバンド毎に分割をする画像バンド分割部１を備え、前記圧縮処理ブロック２では、分割された画像データを符号化し、符号化された符号データの最後を検知し終了符号を付加し、分割されたバンド毎の画像データのスタートアドレスを格納し、前記伸長処理ブロック３では、転送されてきた符号データの終了符号監視し、転送されてきた符号データをＪＰＥＧ伸長部３０１で伸長し、メモリ５に格納するという動作を最終バンドまで繰り返す。【選択図】図１
2009044421.tif 000002
【特許請求の範囲】
【請求項１】
スキャナから読み込まれた画像データを圧縮してメモリへ格納する圧縮処理手段と、
圧縮された符号データをメモリから読み取り、伸長する伸長処理手段と、
を有する画像処理装置において、
入力される画像データに対してバンド毎に分割をする画像バンド分割手段を備え、
前記圧縮処理手段は、
分割された画像データを符号化するＪＰＥＧ符号手段と、
符号化された符号データの最後を検知し終了符号を付加する終了符号付加手段と、
分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレステーブルと、
を含み、
前記伸長処理手段は、
スタートアドレス参照手段と、
転送されてきた符号データの終了符号監視する終了符号監視手段と、
転送されてきた符号データを伸長するＪＰＥＧ伸長手段と、
前記スタートアドレス参照手段と前記終了符号監視手段とによって制御され、前記画像分割手段によって分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレステーブルと、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記スタートアドレス参照手段は前記圧縮処理手段のスタートアドレステーブルを参照してＤＭＡＣに起動をかけることを特徴とする画像処理装置。
【請求項３】
請求項２記載の画像処理装置において、
符号データを読み込むＤＭＡＣの起動タイミングをデータのバンド分割転送単位で任意に設定する起動タイミング設定手段を備えていることを特徴とする画像処理装置。
【請求項４】
請求項２記載の画像処理装置において、
前記スタートアドレスを保持するアドレス保持手段と、
前記スタートアドレスに対応する位置情報を保持するアドレスポインタ保持手段と、
を備え、
前記スタートアドレス参照手段は前記圧縮処理手段のスタートアドレステーブルの内容を読み取った時点の情報を前記アドレス保持手段と前記アドレスポインタ保持手段に保持し、終了符号監視手段からの制御信号によりＤＭＡＣに起動をかけることを特徴とする画像処理装置。
【請求項５】
スキャナから読み込まれた画像データを圧縮してメモリへ格納する圧縮処理工程と、
圧縮された符号データをメモリから読み取り、伸長する伸長処理工程と、
を有する画像処理方法において、
前記圧縮処理工程は、
入力される画像データに対してバンド毎に分割された画像データを符号化するＪＰＥＧ符号化工程と、
符号化された符号データの最後を検知し終了符号を付加する終了符号付加工程と、
分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレス格納工程と、
を含み、
前記伸長処理工程は、
スタートアドレス参照工程と、
転送されてきた符号データの終了符号監視する終了符号監視工程と、
転送されてきた符号データを伸長するＪＰＥＧ伸長手段と、
前記スタートアドレス参照工程と前記終了符号監視工程で処理され、分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレス格納工程と、
を含むことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナから読み込まれた画像データを圧縮してメモリへ格納し、圧縮された符号データをメモリから読み取り、伸長する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
この種の技術として、特許文献１記載の発明が公知である。この発明は、データを分割してＤＭＡ転送する場合に、データの分割部分の転送数のＣＰＵによる監視を不要とし、ＣＰＵの負荷を低減することを目的としたものである。この発明では、システム制御部はディスクリプタ情報を作成するが、このディスクリプタ情報は、画像データを画像メモリに入出力する際に、１枚の画像の画像データを複数に分割して、システム制御部のＣＰＵと独立にＤＭＡ転送で行うために、画像データの分割部分ごとに対応して複数作成される。各ディスクリプタ情報には、当該ディスクリプタ情報に基づくＤＭＡ転送の終了後で次のディスクリプタ情報に基づくＤＭＡ転送の開始前に入出力ＤＭＡコントローラの行う動作を指示する指示ビットが含まれ、入出力ＤＭＡコントローラは、複数のディスクリプタ情報を順次実行して、画像データのひとつの部分をＤＭＡ転送するごとに指示ビットに従った動作を行うようになっている。要するに、ＣＰＵがデータの転送を命令していた部分をＤＭＡ転送に置き換えることによりＣＰＵの負担軽減を図っているが、ＤＭＡへの命令はＣＰＵが行うので、データ転送が複雑化し、ＣＰＵのＤＭＡに対しての監視が必要不可欠となってくる。
【０００３】
図１１は従来例におけるＤＭＡ転送を利用した処理順序を示す図、図１２は従来のＤＭＡ転送とディスクリプタの関係を示す図、図１３は従来のＤＭＡ転送を時系列に並べた処理概要を示す図である。
【０００４】
図１１に示したＤＭＡ転送では、スキャナから読み込まれた画像データを圧縮処理ブロック２で圧縮してメモリ５へ格納し、メモリ５から読み出せる処理単位の符号データが溜まった後、すぐにメモリ５から符号データを読み込むことを前提としている。ＣＰＵ４は画像データＤＭＡ転送を行うためにＤＭＡ転送に必要なディスクリプタ情報５０１，５０２，５０３をあらかじめメモリ５上に用意し、ＤＭＡＣに起動をかける。起動のかかったＤＭＡＣはメモリ５上に格納してあるディスクリプタ５０１，５０２，５０３を参照して画像データの格納するアドレス、サイズを得てメモリ５へ画像データ５１０Ｃ，５１０Ｍ，５１０Ｙ，５１０Ｋを格納するという動作を繰り返す。なお、図１１において後述の実施例と同等な各部には同一の参照符号を付し、重複する説明は省略する。
【特許文献１】特開２００２−１４０２８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、格納する画像データは前段の圧縮処理ブロック２で符号データに変換されるためデータのサイズが変わってしまう。ディスクリプタ５０１のサイズ情報を正すために圧縮処理後のデータサイズをディスクリプタ５０１に書き戻す作業が必要となる。
【０００６】
符号データのＤＭＡ転送が終了したところでメモリ５はＣＰＵ４に対してチェーン割り込みをかける（図１３参照）。ＣＰＵ４は割り込みの要因をチェック、割り込みにあったソフト制御を行い、次にメモリ５上に格納された符号データを読み出す手続きを踏むことになる。メモリ５上の符号データをＤＭＡ転送で読み出すためにＤＭＡＣ３０４に起動をかけるが、上流に合わせてＤＭＡ転送を行うと、確保したメモリ領域に上書きしてしまうおそれがあるときなどには、ＣＰＵ４に対してポーズ割り込みをかけて次のＤＭＡ転送にストップをかけることがある。この場合もＣＰＵ４は割り込みの要因をチェックし、割り込みにあった手続きを踏むことになる。
【０００７】
ポーズ割り込みが合った場合は、ある一定の条件がそろった後、ＣＰＵ４よりコンティニューがかかりＤＭＡ転送の続きが始まる。基本的なデータの転送をＤＭＡＣ２０３，３０４，３０６にまかせてもＤＭＡＣ（ハード）２０３，３０４，３０６とＣＰＵ（ソフト）４の介在は多いためＣＰＵ４が制御しなければならないハードの量が多く、ＡＳＩＣの大規模化が進むことによりＣＰＵ４の高性能化が不可欠となる。
【０００８】
そこで、本発明が解決すべき課題は、ＤＭＡＣ（ハード）とＣＰＵ（ソフト）の介在を減らすことにより、ＣＰＵ（ソフト）制御の負担を軽減し別の制御にリソースを割くことができるようにすることにある。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、第１の手段は、スキャナから読み込まれた画像データを圧縮してメモリへ格納する圧縮処理手段と、圧縮された符号データをメモリから読み取り、伸長する伸長処理手段と、を有する画像処理装置において、入力される画像データに対してバンド毎に分割をする画像バンド分割手段を備え、前記圧縮処理手段は、分割された画像データを符号化するＪＰＥＧ符号手段と、符号化された符号データの最後を検知し終了符号を付加する終了符号付加手段と、分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレステーブルと、を含み、前記伸長処理手段は、スタートアドレス参照手段と、転送されてきた符号データの終了符号監視する終了符号監視手段と、転送されてきた符号データを伸長するＪＰＥＧ伸長手段と、前記スタートアドレス参照手段と前記終了符号監視手段とによって制御され、前記画像分割手段によって分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレステーブルと、を含むことを特徴とする。
【００１０】
第２の手段は、第１の手段において、前記スタートアドレス参照手段が前記圧縮処理手段のスタートアドレステーブルを参照してＤＭＡＣに起動をかけることを特徴とする。
【００１１】
第３の手段は、第２の手段において、符号データを読み込むＤＭＡＣの起動タイミングをデータのバンド分割転送単位で任意に設定する起動タイミング設定手段を備えていることを特徴とする。
【００１２】
第４の手段は、第２の手段において、前記スタートアドレスを保持するアドレス保持手段と、前記スタートアドレスに対応する位置情報を保持するアドレスポインタ保持手段とを備え、前記スタートアドレス参照手段は前記圧縮処理手段のスタートアドレステーブルの内容を読み取った時点の情報を前記アドレス保持手段と前記アドレスポインタ保持手段に保持し、終了符号監視手段からの制御信号によりＤＭＡＣに起動をかけることを特徴とする。
【００１３】
第５の手段は、スキャナから読み込まれた画像データを圧縮してメモリへ格納する圧縮処理工程と、圧縮された符号データをメモリから読み取り、伸長する伸長処理工程と、を有する画像処理方法において、前記圧縮処理工程は、入力される画像データに対してバンド毎に分割された画像データを符号化するＪＰＥＧ符号化工程と、符号化された符号データの最後を検知し終了符号を付加する終了符号付加工程と、分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレス格納工程と、を含み、前記伸長処理工程は、スタートアドレス参照工程と、転送されてきた符号データの終了符号監視する終了符号監視工程と、転送されてきた符号データを伸長するＪＰＥＧ伸長手段と、前記スタートアドレス参照工程と前記終了符号監視工程で処理され、分割されたバンド毎の画像データのスタートアドレスを格納するスタートアドレス格納工程と、を含むことを特徴とする。
【００１４】
なお、後述の実施形態では、圧縮処理手段は圧縮処理ブロック２に、メモリは符号５に、伸長処理手段は伸長処理ブロック３に、画像バンド分割手段は画像バンド分割部１に、ＪＰＥＧ符号化手段はＪＰＥＧ得圧縮部２０１に、終了符号付加手段は終了符号付加部２０２に、スタートアドレステーブルは符号２０４，３０５に、伸長処理手段は伸長処理ブロック３に、スタートアドレス参照手段はスタートアドレス参照部３０３に、終了符号監視手段は終了符号間支部３０２に、ＪＰＥＧ伸長手段はＪＰＥＧ伸長部３０１に、ＤＭＡＣは符号２０３，３０４，３０６に、それぞれ対応する。
【発明の効果】
【００１５】
本発明によれば、ＤＭＡＣ（ハード）とＣＰＵ（ソフト）の介在を減らす事により、ＣＰＵ（ソフト）制御の負担を軽減し別の制御にリソースを割くことができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、本発明の実施形態について説明する。
【実施例１】
【００１７】
図１は本発明の実施例１に係る画像処理装置の構成を示すブロック図、図２は圧縮処理ブロックの処理手順を示すフローチャート、図３は伸長処理ブロックの処理手順を示すフローチャート、図４はスタートアドレステーブルの例を示す図、図５はＤＭＡ転送を利用した処理順序を示す図、図６はＤＭＡ転送とディスクリプタの関係を示す図、図７はＤＭＡ転送を時系列に並べた処理概要を示す図である。
【００１８】
これらの図において、画像処理装置は、画像バンド分割部１、圧縮処理ブロック２、伸長処理ブロック３、ＣＰＵ４及びメモリ５から基本的に構成されている。圧縮処理ブロック２は、ＪＰＥＧ圧縮部２０１、終了符号付加部２０２、ＷｒｉｇｈｔＤＭＡＣ２０３、及びスタートアドレステーブル２０４を含んで構成されている。また、伸長処理ブロック３は、ＪＰＥＧ伸長部３０１、終了符号監視部３０２、スタートアドレス参照部３０３、Ｒｅａｄ  ＤＭＡＣ３０４、スタートアドレステーブル３０５、及びＷｒｉｇｈｔ  ＤＭＡＣ３０６を含んで構成されている。
【００１９】
画像バンド分割部１はスキャナから転送される画像データをバンド毎に分割するもので、画像バンド分割手段に相当する。スキャナから転送される画像データはスキャナで読み込まれた画像データが終わるまで転送が止まらない。スキャナによる画像データの読み込みが始まる前にＣＰＵ４によって圧縮処理ブロック２のスタートアドレステーブル２０４、伸長処理ブロック３のスタートアドレステーブル３０５に、バンド毎にメモリ５に格納するためのスタートアドレスをバンド数分あらかじめ設定し（ステップＳ１０１−図６ＢＤ）、ＷｒｉｔｅＤＭＡＣ２０３に対して起動をかける（ステップＳ１０２、図５−Ｐ１）。
【００２０】
スタートアドレステーブル２０４及び３０５にはバンド毎に分割される画像データ分のテーブル、ｎ個分を有し、メモリ５に格納される符号データのバンドの先頭のアドレスが順番に格納される。格納されるスタートアドレスの数と分割される画像データのバンド数は同じである。スタートアドレステーブル２０４，３０５はスキャナによるスキャン動作に先立ってスタートアドレステーブル設定が行われる。設定されるスタートアドレスは連続して同じスタートアドレスを設定しなければ、スタートアドレステーブル２０４，３０５に同じスタートアドレスを設定してもメモリ５上で上書きがされることがないため問題はない。
【００２１】
スキャナからの画像データはバンド毎に分割され（ステップＳ１０３）、バンド分割された画像データはＪＰＥＧ圧縮部２０１により符号データに変換される（ステップＳ１０４）。変換された符号データはＷｒｉｔｅＤＭＡＣ２０３によって図１のメモリ５へ書き込まれる（図６ＢＤ参照）。次いで、バンド分割された画像データの最後を符号データに変換した後（ステップＳ１０５−Ｙ）、終了符号付加部２０２で符号データの最後に終了符号Ｐendを付加する（ステップＳ１０６）。終了符号付加部２０２と、終了符号Ｐendが付加された符号データをＷｒｉｔｅＤＭＡＣ２０３によってメモリ５へ転送し終わった後に、スタートアドレステーブル２０４の現在転送をしている符号データのバンドのスタートアドレスを示すポインタは、次の符号データを格納するスタートアドレスを示すために更新される（ステップＳ１０７）。このステップＳ１０３からステップＳ１０７間での処理を最後のバンドまで繰り返し（ステップＳ１０８）、最後のバンドの処理が終了した時点で処理を終える。
【００２２】
伸長処理ブロック３のスタートアドレス参照部３０３では、圧縮処理ブロック２のスタートアドレステーブル２０４のポインタがどこにあるかを参照し（ステップＳ２０１、図５−Ｐ３）、伸長処理ブロック３０５のスタートアドレステーブルとポインタの位置を比較する（ステップＳ２０２）。圧縮処理ブロック２のスタートアドレステーブル２０４のポインタは更新され、伸長処理ブロック３のスタートアドレステーブル３０５のポインタは更新されていないため、両者は一致しない。これにより圧縮処理ブロック２でバンドの転送が行われたことが分かる。
【００２３】
伸長処理ブロック３のスタートアドレス参照部３０３はＲｅａｄＤＭＡＣ３０４を起動し（ステップＳ２０３）、メモリ５に格納されている符号データを読み込む（図５−Ｐ４）。このとき伸長された符号データをメモリ５へ転送するためのＷｒｉｔｅＤＭＡＣ３０６も起動しておく（ステップＳ２０４）。ＲｅａｄＤＭＡＣ３０４によりメモリ５から読み込まれた符号データはＪＰＥＧ伸長部３０１で画像データに変換される（ステップＳ２０５）。ＲｅａｄＤＭＡＣ３０４により読み込まれる符号データには圧縮処理ブロック２の終了符号付加部２０２によって終了符号Ｐendが付加されているため、終了符号監視部３０２で符号データを監視し（ステップＳ２０６）、終了符号Ｐendを検出する。終了符号Ｐendは１バンド分の符号データの最後を示す符号であるため、終了符号Ｐendの検出により、メモリ５から１バンド分の符号データを読み込み終えたことがわかる。
【００２４】
前述のように伸長処理ブロック３で処理を行っている間にも圧縮処理ブロック２ではスキャナで読み込まれる画像データを画像バンド分割部１で分割し、メモリ５に格納し続けている（ステップＳ２０７，Ｓ２０８）。伸長処理ブロック２からメモリ５に画像信号を転送し終わった後、スタートアドレス参照部３０３でスタートアドレステーブルを比較し、圧縮処理ブロック２からメモリ５に１バンド分の符号データを転送し終わっていることが検出されたら、ＲｅａｄＤＭＡＣ３０４を起動して処理していく（ステップＳ２０８、図５−Ｐ３，Ｐ４，Ｐ５，Ｐ６・・・）。このように処理することにより、図１３に示すタイムラグＴ１，Ｔ２，Ｔ３がなくなるとともに、スキャナから読み込まれるデータのスピードを超えて処理されることなく、順序よく処理することができる。
【００２５】
このように図５、図６、図７に示したように本実施例では、ＤＭＡ転送時にディスクリプタを利用した転送を行うのではなく、
１）ＤＭＡ転送の時の終了を知るための終了符号Ｐendを分割転送するデータの最後に付加してデータの終わりを検知するための印を付け、
２）さらにＤＭＡＣにスタートアドレステーブル２０４，３０５を搭載してＤＭＡＣ同士がスタートアドレステーブル２０４，３０５を参照してＤＭＡ転送の状況を把握し、
３）各ＤＭＡＣが自己起動を行ってＤＭＡ転送を行う、
ことにより、ＤＭＡＣ（ハード）とＣＰＵ（ソフト）の介在を減らすことができる。その結果、ＣＰＵ（ソフト）制御の負担を軽減し、別の制御にリソースを割くことが可能となる。
【００２６】
また、制御負担が軽減した分、ＣＰＵ性能を下げることが可能となり、コスト削減にもなる。さらに、ＣＰＵ（ソフト）制御の手続きが減った分、ＤＭＡ転送間のＤＭＡＣの待ち時間がなくなるため、ファーストコピーの高速化が可能となる。
【実施例２】
【００２７】
図８は実施例２に係る画像処理装置の構成を示すブロック図である。
【００２８】
本実施例２は、実施例１における画像処理装置に対して伸長処理ブロック３に起動タイミング設定部３０７を付加したもので、その他の構成は、実施例１と同等に構成され、同等に機能し、図２及び図３のフローチャートに示した手順で動作する。なお、実施例１と同等な構成については適宜省略する。
【００２９】
画像バンド分割部１はスキャナから転送される画像データをバンド毎に分割する。スキャナから転送される画像データはスキャナで読み込まれた画像データが終わるまで転送が止まらない。スキャナによる画像データの読み込みが始まる前にＣＰＵ４によって圧縮処理ブロック２のスタートアドレステーブル２０４、伸長処理ブロック３のスタートアドレステーブル３０５に、バンド毎にメモリ５に格納するためのスタートアドレスをバンド数分あらかじめ設定し（ステップＳ１０１，Ｓ２０１）、ＷｒｉｔｅＤＭＡＣ２０３に対して起動をかける（ステップＳ１０２、図５−Ｐ１）。
【００３０】
スタートアドレステーブル２０４及び３０５にはバンド毎に分割される画像データ分のテーブル、ｎ個分を有し、メモリ５に格納される符号データのバンドの先頭のアドレスが順番に格納される。格納されるスタートアドレスの数と分割される画像データのバンド数は同じである。スタートアドレステーブル２０４，３０５はスキャナによるスキャン動作に先立ってスタートアドレステーブルを設定する。設定されるスタートアドレスは連続して同じスタートアドレスを設定しなければスタートアドレステーブル２０４，３０５に同じスタートアドレスを設定してもメモリ５上で上書きがされることがないため問題はない。
【００３１】
スキャナからの画像データはバンド毎に分割され（ステップＳ１０３）、バンド分割された画像データはＪＰＥＧ圧縮部２０１により符号データに変換される（ステップＳ１０４）。変換された符号データはＷｒｉｔｅＤＭＡＣ２０３によって図１の５のメモリ５へ書き込まれる。バンド分割された画像データの最後を符号データに変換した後（ステップＳ１０５−Ｙ）、終了符号付加部２０２で符号データの最後に終了符号Ｐendを付加する（ステップＳ１０６）。終了符号付加部２０２と、終了符号Ｐendが付加された符号データをＷｒｉｔｅＤＭＡＣ２０３によってメモリ５へ転送し終わった後に、スタートアドレステーブル２０４の現在転送をしている符号データのバンドのスタートアドレスを示すポインタは次の符号データを格納するスタートアドレスを示すために更新される（ステップＳ１０７）。このステップＳ１０３からステップＳ１０７間での処理を最後のバンドまで繰り返し（ステップＳ１０８）、最後のバンドの処理が終了した時点で処理を終える。
【００３２】
スタートアドレス参照部３０３は、スタートアドレステーブル２０４のポインタがどこにあるかを参照し、スタートアドレステーブル３０５とポインタの位置を比較する。次いで、起動タイミング設定部３０７に設定された内容に従い、スタートアドレステーブル２０４のポインタとスタートアドレステーブル３０５とポインタを比較し、その結果によってＲｅａｄＤＭＡＣ３０４の起動のタイミングを図る。たとえば「２」と設定した場合、スタートアドレステーブル２０４のポインタとスタートアドレステーブル３０５のポインタの比較結果の差分が２ポインタ分になったときに、スタートアドレス参照部３０３はＲｅａｄＤＭＡＣ３０４を起動し、メモリ５に格納されている符号データを読み込む。このとき伸長された符号データをメモリ５へ転送するためにＷｒｉｔｅＤＭＡＣ３０６も起動しておく。
【００３３】
ＲｅａｄＤＭＡＣ３０４により読み込まれた符号データはＪＰＥＧ伸長手段３０１により画像データへ変換される。ＲｅａｄＤＭＡＣ３０４により読み込まれる符号データには終了符号付加部３０２によって終了符号Ｐendが付加されているため、終了符号監視部３０２で符号データを監視し、終了符号Ｐendを検出する。終了符号Ｐendは１バンド分の符号データの最後を示す符号であるため、メモリ５より、１バンド分の符号データを読み込み終えたことが分かる。
【００３４】
前述のように伸長処理ブロック３で処理を行っている間にも圧縮処理ブロック２ではスキャナによって読み込まれた画像データが画像バンド分割部１によって分割され、メモリ５に格納され続けている。伸長処理ブロック３からメモリ５への画像信号の転送が終わった後、スタートアドレス参照部３０３でスタートアドレステーブル２０４，３０５を比較し、圧縮処理ブロック２からメモリ５に１バンド分の符号データの転送が終わっていることを検出できたら、ＲｅａｄＤＭＡＣ３０４を起動し、処理を行っていく。
【００３５】
これにより、実施例１と同様にスキャナから読み込まれるデータのスピードを超えて処理されることなく、順序よく処理することができる。
【実施例３】
【００３６】
図９は実施例３に係る画像処理装置の構成を示すブロック図、図１０は実施例３における伸長処理ブロック３の処理手順を示すフローチャートである。
【００３７】
本実施例３は、実施例１における画像処理装置に対して伸長処理ブロック３のスタートアドレステーブル３０５を省略し、アドレス保持部３０８及びアドレスポインタ保持部３０９を付加したもので、その他の構成は、実施例１と同等に構成され、同等に機能し、図２及び図１０のフローチャートに示した手順で動作する。
【００３８】
画像バンド分割部１はスキャナから転送される画像データをバンド毎に分割する。スキャナから転送される画像データはスキャナで読み込まれた画像データが終わるまで転送が止まらない。スキャナによる画像データの読み込みが始まる前にＣＰＵ４によって圧縮処理ブロック２のスタートアドレステーブル２０４、伸長処理ブロック３のスタートアドレステーブル３０５に、バンド毎にメモリ５に格納するためのスタートアドレスをバンド数分あらかじめ設定し（ステップＳ１０１，Ｓ２０１）、ＷｒｉｔｅＤＭＡＣ２０３に対して起動をかける（ステップＳ１０２、図５−Ｐ１）。
【００３９】
スタートアドレステーブル２０４及び３０５にはバンド毎に分割される画像データ分のテーブル、ｎ個分を有し、メモリ５に格納される符号データのバンドの先頭のアドレスが順番に格納される。格納されるスタートアドレスの数と分割される画像データのバンド数は同じである。スタートアドレステーブル２０４，３０５はスキャナによるスキャン動作に先立ってスタートアドレステーブルを設定する。設定されるスタートアドレスは連続して同じスタートアドレスを設定しなければスタートアドレステーブル２０４，３０５に同じスタートアドレスを設定してもメモリ５上で上書きがされることがないため問題はない。
【００４０】
スキャナからの画像データはバンド毎に分割され（ステップＳ１０３）、バンド分割された画像データはＪＰＥＧ圧縮部２０１により符号データに変換される（ステップＳ１０４）。変換された符号データはＷｒｉｔｅＤＭＡＣ２０３によって図１の５のメモリへ書き込まれる。バンド分割された画像データの最後を符号データに変換した後（ステップＳ１０５−Ｙ）、終了符号付加部２０２で符号データの最後に終了符号を付加する（ステップＳ１０６）。終了符号付加部２０２と、終了符号が付加された符号データをＷｒｉｔｅＤＭＡＣ２０３によってメモリ５へ転送し終わった後に、スタートアドレステーブル２０４の現在転送をしている符号データのバンドのスタートアドレスを示すポインタは次の符号データを格納するスタートアドレスを示すために更新される（ステップＳ１０７）。このステップＳ１０３からステップＳ１０７間での処理を最後のバンドまで繰り返し（ステップＳ１０８）、最後のバンドの処理が終了した時点で処理を終える。
【００４１】
スタートアドレス参照部３０３では、図１０のフローチャートに示すように、先ず始めにスタートアドレステーブル２０４のポインタがどこにあるかを参照し、ポインタの指し示すテーブルに格納されているスタートアドレスをアドレス保持部３０８に書き写す（ステップＳ３０１）。同時にアドレスポインタ保持部３０９に位置情報を書き写す（ステップＳ３０２）。書き写した後、スタートアドレステーブル２０４とポインタの位置を比較する（ステップＳ３０３，Ｓ３０４）。
【００４２】
先ほどスタートアドレステーブル２０４のポインタは更新されているので、アドレスポインタ保持部３０９に格納されている情報との差異が検出できるため、圧縮処理ブロック２でバンドの転送が行われたことがわかる。スタートアドレス参照部３０３は図９のＲｅａｄＤＭＡＣ３０４を起動し、メモリ５に格納されている符号データを読み込む。このとき伸長された符号データをメモリ５へ転送するためにＷｒｉｔｅＤＭＡＣ３０６も起動しておく。そして、ＲｅａｄＤＭＡＣ３０４により読み込まれた符号データをＪＰＥＧ伸長部３０１により画像データへ変換をする（ステップＳ３０７）。
【００４３】
ＲｅａｄＤＭＡＣ３０６により読み込まれる符号データには終了符号付加部２０２によって終了符号Ｐendが付加されているため、終了符号監視部３０２で符号データを監視して終了符号Ｐendを検出する（ステップＳ３０８）。終了符号Ｐendは１バンド分の符号データの最後を示す符号であるため、メモリ５から１バンド分の符号データを読み込み終えたことがわかる。
【００４４】
１バンド分のＤＭＡ転送が終了したので、終了符号監視部３０２はスタートアドレス参照部３０３に再度新しい情報を取りに行くように命令を出し、スタートアドレス参照部３０３では、スタートアドレステーブル２０４のポインタがどこにあるかを参照し、ポインタの指し示すテーブルに格納されているスタートアドレスをアドレス保持部３０８に書き写す（ステップＳ３０９）。同時にアドレスポインタ保持部３０９に位置情報を書き写す（ステップＳ３１０）。
【００４５】
前述のように、伸長処理ブロック３で処理を行っている間にも圧縮処理ブロック２ではスキャナから読み込まれる画像データを画像バンド分割部１によって分割し、この分割された画像データをメモリ５に格納し続けている。伸長処理ブロック３からメモリ５に画像信号を転送し終わった後、スタートアドレス参照部３０３でスタートアドレステーブル２０４を比較し、圧縮処理ブロック２からメモリ５に１バンド分の符号データが転送し終わっていることを検出したら、ＲｅａｄＤＭＡＣ３０４を起動し、処理を行っていく。そして、ステップＳ３０３からステップＳ３１０間での処理を最後のバンドまで繰り返し（ステップＳ３１１）、スキャナから読み込まれるデータが終了した時点で処理を終える。
【００４６】
これにより、実施例１と同様にスキャナから読み込まれるデータのスピードを超えて処理されることなく、順序よく処理することができる。
【００４７】
以上のように本実施形態によれば、以下のような効果を奏する。
【００４８】
１）入力画像を分割して符号化することにより符号データを素早く蓄積することができる。  
２）前段の状況を監視して即座に転送手続きがとれるので転送の自動化が可能となる。  
３）転送の自動化によりＣＰＵ（ソフト）制御による無駄な準備期間を省くことができる。  
４）メモリへの書き込み側と読み取り側のタイミングを調整することができるので、それぞれの速度の違いを吸収することが可能となる。  
５）読み取り側でＣＰＵの介在をなくすことができるので、ＣＰＵ（ソフト）制御の負荷軽減が可能となる。  
等の効果を奏する。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施例１に係る画像処理装置の構成を示すブロック図である。
【図２】圧縮処理ブロックの処理手順を示すフローチャートである。
【図３】伸長処理ブロックの処理手順を示すフローチャートである。
【図４】スタートアドレステーブルの例を示す図である。
【図５】はＤＭＡ転送を利用した処理順序を示す図である。
【図６】ＤＭＡ転送とディスクリプタの関係を示す図である。
【図７】ＤＭＡ転送を時系列に並べた処理概要を示す図である。
【図８】実施例２に係る画像処理装置の構成を示すブロック図である。
【図９】実施例３に係る画像処理装置の構成を示すブロック図である。
【図１０】実施例３の伸長処理ブロック３の処理手順を示すフローチャートである。
【図１１】従来例におけるＤＭＡ転送を利用した処理順序を示す図である。
【図１２】従来のＤＭＡ転送とディスクリプタの関係を示す図である。
【図１３】従来のＤＭＡ転送を時系列に並べた処理概要を示す図である。
【符号の説明】
【００５０】
１  画像バンド分割部
２  圧縮処理ブロック
２０１  ＪＰＥＧ圧縮部
２０２  終了符号付加部
２０３  ＷｒｉｇｈｔＤＭＡＣ
２０４  スタートアドレステーブル
３  伸張処理ブロック
３０１  ＪＰＥＧ伸長部
３０２  終了符号監視部
３０３  スタートアドレス参照部
３０４  ＲｅａｄＤＭＡＣ
３０５  スタートアドレステーブル
３０６  ＷｒｉｇｈｔＤＭＡＣ
３０７  起動タイミング設定部
３０８  アドレス保持部
３０９  アドレスポインタ保持部
４  ＣＰＵ
５  メモリ
【図１】
2009044421.tif 000003
【図２】
2009044421.tif 000004
【図３】
2009044421.tif 000005
【図４】
2009044421.tif 000006
【図５】
2009044421.tif 000007
【図６】
2009044421.tif 000008
【図７】
2009044421.tif 000009
【図８】
2009044421.tif 000010
【図９】
2009044421.tif 000011
【図１０】
2009044421.tif 000012
【図１１】
2009044421.tif 000013
【図１２】
2009044421.tif 000014
【図１３】
2009044421.tif 000015