(57)【要約】【課題】本発明は、メモリ内の画像データを可変長圧縮して出力用としてメモリに格納する画像形成装置に関する。【解決手段】複写装置１は、スキャナ部２で読み取られてメモリ４に格納されている画像をディスクリプタに基づいて読み取るリードＤＭＡ２３及び符号のメモリ４への書き込みを行うライトＤＭＡ２４と画像を可変長圧縮して符号を生成する圧縮伸長器２１との間に、リードＤＭＡ２３から所定量の画像を事前読み込みしてバッファ２５に保管し圧縮伸長器２１の処理に応じて該画像を圧縮伸長器２１に渡す圧縮器制御部２２を設けている。したがって、圧縮伸長器２１に連続して画像を転送して、画像間のソフトウェア処理を省いて、圧縮伸長器２１で画像を連続して符号化することができる。【選択図】          図１
2008227730.tif 000002
【特許請求の範囲】
【請求項１】
リードＤＭＡがディスクリプタに基づいてメモリ上の画像を読み取り、該読み取られた画像を圧縮手段が所定の可変長圧縮処理を行い、ライトＤＭＡが該圧縮された符号を出力用の符号としてディスクリプタに基づいて前記メモリ上に格納する画像形成装置において、前記リードＤＭＡ及び前記ライトＤＭＡと前記圧縮手段との間に介在して、前記リードＤＭＡから所定量の前記画像を事前読み込みして該圧縮手段の処理に応じて該事前読み込みした画像を該圧縮手段に渡す圧縮制御手段を備えていることを特徴とする画像形成装置。
【請求項２】
前記圧縮制御手段は、画像保管手段を備え、前記事前読み込みした所定量の画像を該画像保管手段に格納した後、前記圧縮手段に渡すことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記画像形成装置は、前記リードＤＭＡのディスクリプタに、画像の終了を示す情報を追加して設定し、前記圧縮制御手段が、該画像終了情報に基づいて前記画像の事前読み込みを行うことを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項４】
前記画像形成装置は、前記リードＤＭＡのディスクリプタに、画像の１度の転送動作の間に前記画像終了情報を複数回設定することを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記圧縮制御手段は、前記圧縮手段の圧縮した符号の符号量をカウントする符号量カウント手段を備えていることを特徴とする請求項１から請求項４のいずれかに記載の画像形成装置。
【請求項６】
前記符号量カウント手段は、前記圧縮手段からの符号の終端毎に符号量をカウントして、該カウントした符号量情報を前記ライトＤＭＡに転送することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記ライトＤＭＡは、前記符号量情報を受け取ると、該符号量情報をディスクリプタ情報に書き込むことを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記ライトＤＭＡは、前記符号量情報をディスクリプタ情報へ書き込む時点で、ディスクリプタに設定されているデータ量分の符号の転送が未完了であっても、次のディスクリプタ設定の転送を開始することを特徴とする請求項７記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、詳細には、メモリ内の画像データを可変長圧縮して出力用としてメモリに格納する画像形成装置に関する。
【背景技術】
【０００２】
複写装置、プリンタ装置、ファクシミリ装置、複合装置等の画像形成装置においては、入力された画像を可変長圧縮して、メモリに出力用として保存し、該メモリ上の符号を伸長して、印刷出力したり、ハードディスク等に保管することが行われている。そして、画像形成装置は、近年、複合化及びデジタル化に伴って、ＲＡＭ（Random Access Memory）等の半導体メモリを利用した画像制御が種々行われるようになってきている。例えば、複数枚の画像を読み込んでメモリに蓄積した後、指示された順番に並べ換えて出力するいわゆる電子ソート処理等が行われるようになってきている。
【０００３】
このような画像制御処理を画像形成装置で行う場合、大容量のメモリを搭載すると、種々の画像制御処理を高速に処理することはできるが、コストが高くなるという問題がある。
【０００４】
各種画像制御処理を安価にかつ高速に行うには、例えば、ハードディスク等の安価で大容量の２次蓄積メモリを設ける方法、データを圧縮してメモリ容量を有効利用する方法及び画像を複数に分割してメモリ領域も画像１面分ではなく分割したサイズの数倍程度のみを確保しメモリをリングバッファで使用したりトグルバッファで使用する方法等が従来から用いられている。
【０００５】
そして、画像を圧縮する圧縮方式についても様々な方式が提案されているが、大きく分けて固定長圧縮方式と可変長圧縮方式があり、一般的に、可変長圧縮方式の方が圧縮率が高いため、省メモリには有効であるが、生成される符号量が生成されるまで不明であるため、画像制御がやや複雑になる。
【０００６】
また、メモリにあるデータを高速に転送する技術としては、ＤＭＡ（Direct Memory Access）コントローラ（以下、単に、ＤＭＡという。）があり、ＤＭＡでは、一般的に、メモリアドレスと転送量を指定することで、データ転送を行う。
【０００７】
そして、上記画像を分割する方式を用いる場合やメモリ上に点在するデータに対して転送を行う場合には、ディスクリプタ方式を用いる。ディスクリプタ方式では、ＤＭＡはディスクリプタと呼ばれるメモリ上の識別子を読み込み、ディスクリプタに示されているスタートアドレスや転送量に基づいてデータ転送を行い、また、点在したデータを連続してアクセスできるように、ディスクリプタの中に次のディスクリプタが存在するポインタを格納して、一連の動作が終ると、次のディスクリプタへのポインタへアクセスを行い、そのポインタのディスクリプタからディスクリプタ情報を取得して、再び転送を行うという動作を繰り返す。
【０００８】
ところが、ディスクリプタ方式で、可変長符号のＤＭＡ転送を行おうとすると、処理が複雑になる。すなわち、可変長符号をメモリへライトするライトＤＭＡのディスクリプタの中のデータ量に厳密にデータ量を設定することができないため、データ量を最大のデータ量等で設定することとなる。そして、符号が完成する前、すなわち、所望のサイズ分の画像を読み出す前に、ライトＤＭＡのディスクリプタに設定されたデータ量を転送してしまった場合、ライトＤＭＡは、新しいディスクリプタを読み、そのデータ量情報に基づいたメモリ領域に、前の符号の続きをライトする。その後、所望のサイズ分の画像を読み出し、それに対応した符号が完成すると、ライトＤＭＡのディスクリプタに設定したデータ量を転送していなくても、転送を中断するのがのぞましいため、ハードウェアにそのような仕組みが必要である。また、ソフトウェアは、符号量を読み出す必要があるため、符号量を監視保持するハードウェアが必要になってくる。
【０００９】
上記説明は、画像から１つの完結した符号を生成するときの動作であり、連続して複数の完結した符号を生成する場合の具体的な処理方法は従来なかった。
【００１０】
そして、データを圧縮する場合、データ圧縮の速度が、複写装置等の画像形成装置の生産性に影響し、また、データの転送が完了してから次の転送を開始するまでの間に、ソフトウェアが、各種設定を行ったり、メモリ確保を行うが、このソフトウェアによる処理時間も生産性に影響する。
【００１１】
上記画像を複数に分割してメモリ領域も画像１面分ではなく分割したサイズの数倍程度のみを確保しメモリをリングバッファで使用したりトグルバッファで使用する方法と可変長圧縮を組み合わせた場合、分割したサイズ毎の処理を終了するたびに生成された符号の符号量を読み出し、次の圧縮動作の設定を行っていると、圧縮器の性能が高くても、結局は生産性を向上させることができない。
【００１２】
そして、従来の画像形成装置においては、図１７に示す動作タイミングで画像入力処理及び画像圧縮処理動作を行う。すなわち、従来、複写装置等の画像形成装置では、一般的に、スキャナ部からの画像入力が終了すると、リードＤＭＡによって画像を画像処理部に取り込んで画像処理を行い、Ｃ画像、Ｍ画像、Ｙ画像、Ｋ画像の画像が同時に画像処理されて生成される。画像が生成されると、画像圧縮処理部で、１色ずつ圧縮処理を行い、圧縮が完了すると、出力を順次行う。画像形成装置は、画像処理や圧縮処理を行っている最中に次のページの画像が入力されてくるので、同様に、画像処理及び圧縮処理を順次行う。なお、図１７では、２つの画像圧縮処理部を利用して、パフォーマンスを落とすことなく、処理を行っている状態が示されている。
【００１３】
図１７から分かるように、各画像のハードウェアによる圧縮処理の間には、ソフトウェア（ソフト）による処理時間が存在する。例えば、画像処理が完了してから圧縮処理を開始するまでのソフト処理時間Ａ、圧縮処理と圧縮処理の間のソフト処理時間Ｂ等である。このソフト処理時間が多くまた長く発生すると、画像形成装置におけるファーストコピータイムが長くなる。
【００１４】
そして、画像圧縮処理部は、リードＤＭＡ、ライトＤＭＡ及び圧縮器等で構成されていて、各場所にレイテンシが存在する。したがって、画像圧縮処理部においては、図１８に示すように、Ｃ画像をリードしてから圧縮処理が開始されるまでの間に、ｔａで示すレイテンシが存在し、該Ｃ画像の圧縮処理が開始されてから圧縮データであるＣ符号がでてくるまでに、ｔｂで示すレイテンシがある。また、Ｃ符号のライトが完了してから、次のＭ画像のリードの開始までの間に、ソフトの処理時間ｔｃがあり、画像圧縮処理部としては、ｔａ、ｔｂ、ｔｃの総和からｔｄの遊び時間が生じている。
【００１５】
そして、従来、１枚の画像を複数のブロックに分割した各ブロック毎に異なる形式に画像データを変換しても、１枚の画像の画像データを１度のコマンドでＤＭＡ転送する技術が提案されている（特許文献１参照）。
【００１６】
また、従来、１次記憶部と該１次記憶部の画像データを保持する２次記憶部を有し、データ変換形式にかかわらず、固定容量の記憶領域を用いて、１次記憶部に記憶された画像データの形式を変換し、変換後の画像データを２次記憶部に転送する技術が提案されている（特許文献２参照）。
【００１７】
【特許文献１】特開２００２−１０８８０１号公報
【特許文献２】特開２００３−１８３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上記従来技術にあっては、いずれも圧縮処理を行った後の符号を転送する場合の技術であり、圧縮処理を行った後であれば、符号サイズや符号の属性（符号、画像、全白全黒）が分かっているため、一度のコマンドで一括して処理をすることはできるが、可変長圧縮方式において符号を生成して転送する技術に関するものではなく、連続して可変長圧縮方式で効率よく符号を生成してメモリ転送する技術が要望されている。
【００１９】
そこで、本発明は、画像データを連続して可変長圧縮方式で効率的に符号化して処理速度を向上させることのできる画像形成装置を提供することを目的としている。
【課題を解決するための手段】
【００２０】
請求項１記載の発明の画像形成装置は、リードＤＭＡがディスクリプタに基づいてメモリ上の画像を読み取り、該読み取られた画像を圧縮手段が所定の可変長圧縮処理を行い、ライトＤＭＡが該圧縮された符号を出力用の符号としてディスクリプタに基づいて前記メモリ上に格納する画像形成装置において、前記リードＤＭＡ及び前記ライトＤＭＡと前記圧縮手段との間に介在して、前記リードＤＭＡから所定量の前記画像を事前読み込みして該圧縮手段の処理に応じて該事前読み込みした画像を該圧縮手段に渡す圧縮制御手段を備えていることにより、上記目的を達成している。
【００２１】
この場合、例えば、請求項２に記載するように、前記圧縮制御手段は、画像保管手段を備え、前記事前読み込みした所定量の画像を該画像保管手段に格納した後、前記圧縮手段に渡してもよい。
【００２２】
また、例えば、請求項３に記載するように、前記画像形成装置は、前記リードＤＭＡのディスクリプタに、画像の終了を示す情報を追加して設定し、前記圧縮制御手段が、該画像終了情報に基づいて前記画像の事前読み込みを行ってもよい。
【００２３】
さらに、例えば、請求項４に記載するように、前記画像形成装置は、前記リードＤＭＡのディスクリプタに、画像の１度の転送動作の間に前記画像終了情報を複数回設定してもよい。
【００２４】
また、例えば、請求項５に記載するように、前記圧縮制御手段は、前記圧縮手段の圧縮した符号の符号量をカウントする符号量カウント手段を備えていてもよい。
【００２５】
さらに、例えば、請求項６に記載するように、前記符号量カウント手段は、前記圧縮手段からの符号の終端毎に符号量をカウントして、該カウントした符号量情報を前記ライトＤＭＡに転送してもよい。
【００２６】
また、例えば、請求項７に記載するように、前記ライトＤＭＡは、前記符号量情報を受け取ると、該符号量情報をディスクリプタ情報に書き込んでもよい。
【００２７】
さらに、例えば、請求項８に記載するように、前記ライトＤＭＡは、前記符号量情報をディスクリプタ情報へ書き込む時点で、ディスクリプタに設定されているデータ量分の符号の転送が未完了であっても、次のディスクリプタ設定の転送を開始してもよい。
【発明の効果】
【００２８】
本発明の画像形成装置によれば、ディスクリプタに基づいてメモリ上の画像を読み取るリードＤＭＡ及び符号をメモリに書き込むライトＤＭＡとリードデータの読み取った画像を可変長圧縮処理して符号を生成する圧縮手段との間に、該リードＤＭＡから所定量の画像を事前読み込みして該圧縮手段の処理に応じて該事前読み込みした画像を該圧縮手段に渡す圧縮制御手段を設けているので、圧縮手段に連続して画像を転送して、画像間のソフトウェア処理を省き、圧縮手段で画像を連続して可変長圧縮方式で効率的に符号化することができ、処理速度を向上させて生産性を向上させることができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００３０】
図１〜図１６は、本発明の画像形成装置の一実施例を示す図であり、図１は、本発明の画像形成装置の一実施例を適用した複写装置１のブロック構成図である。
【００３１】
図１において、複写装置（画像形成装置）１は、大きく分けて、スキャナ部２、画像処理本体部３、メモリ４及びプリンタ部５を備え、画像処理本体部３は、画像入力制御部１１、ライトＤＭＡ（Direct Memory Access）１２、リードＤＭＡ１３、ライトＤＭＡ１４、画像処理部１５、圧縮伸長処理部１６、メモリコントローラ１７、複数（図１では、４つ）のリードＤＭＡ１８ａ〜１８ｄ、該リードＤＭＡ１８ａ〜１８ｄに対応する数（図１では、４つ）の画像出力制御部１９ａ〜１９ｄ等を備えていて、主要各部は、バス２０により接続されている。
【００３２】
圧縮伸長処理部１６は、圧縮伸長器（圧縮手段）２１、圧縮器制御部（圧縮制御手段）２２、リードＤＭＡ２３及びライトＤＭＡ２４を備え、圧縮器制御部２２は、バッファ（画像保管手段）２５と符号量カウント部２６を備えている。
【００３３】
スキャナ部２は、原稿を主走査及び副走査して該原稿の画像を読み取って画像処理本体部３の画像入力制御部１１にデジタルの画像データとして渡し、画像入力制御部１１は、スキャナ部２からの画像データをライトＤＭＡ１２へ渡す。
【００３４】
画像処理部１５は、メモリ４に格納された画像をリードＤＭＡ１３で読み出して、出力用の画像処理を行って、ライトＤＭＡ１４によって、メモリ４に転送して格納する。
【００３５】
圧縮伸長処理部１６は、そのリードＤＭＡ２３が、出力用に処理された圧縮用の画像データをメモリ４から読み出し、圧縮器制御部２２は、リードＤＭＡ２３の読み取った画像を圧縮伸長器２１に渡す。圧縮伸長器２１は、圧縮器制御部２２から受け取った画像を順次可変長圧縮して圧縮器制御部２２に渡す。圧縮器制御部２２は、圧縮伸長器２１の圧縮した符号をライトＤＭＡ２４に渡し、ライトＤＭＡ２４は圧縮器制御部２２から受け取った符号をメモリ４に転送する。すなわち、圧縮器制御部２２は、リードＤＭＡ２３及びライトＤＭＡ２４と圧縮伸長器２１との間に設けられて、バッファ２５と符号量カウント部２６を備えおり、バッファ２５を使用してリードＤＭＡ２３から受け取った画像をタイミング調整して圧縮伸長器２１に渡し、また、圧縮伸長器２１の生成した符号の符号量を符号量カウント部２６でカウントする。また、圧縮伸長処理部１６は、メモリ４上の符号をリードＤＭＡ２３で読み出して、圧縮伸長器２１で伸長し、該伸長した画像データをライトＤＭＡ２４でメモリ４に転送して格納する。
【００３６】
リードＤＭＡ１８ａ〜１８ｄは、圧縮伸長部１６で伸長された画像をメモリ４から読み出して画像出力制御部１９ａ〜１９ｄに渡し、画像出力制御部１９ａ〜１９ｄは、リードＤＭＡ１８ａ〜１８ｄから受け取った画像をプリンタ部５に転送する。プリンタ部５は、所定の画像形成方式、例えば、電子写真方式、インク噴射方式等により画像を用紙に記録出力する。
【００３７】
メモリコントローラ１７は、メモリ４へのクセスを制御して、メモリ４へのアクセスの調停を行う。
【００３８】
次に、本実施例の作用を説明する。本実施例の複写装置１は、スキャナ部２で読み取られ画像処理部１５で出力用の画像処理が行われてメモリ４に格納された画像を圧縮伸長処理部１６のリードＤＭＡ２３で読み取って、圧縮伸長処理部１６の圧縮伸長器２１で圧縮してライトＤＭＡ２４でメモリ４に格納する際に、圧縮伸長処理部１６がその圧縮伸長器２１で圧縮する画像を圧縮器制御部２５のバッファ２５に事前読み込みすることで、ソフトウェア処理を省いて、圧縮伸長器２１で圧縮処理を連続して行って、処理速度を向上している。また、圧縮伸長処理部１６は、その圧縮伸長器２１が可変長圧縮を行うため、圧縮器制御部２５の符号量カウント部２６で符号量をカウントして、符号量を管理する。
【００３９】
すなわち、複写装置１は、スキャナ部２が、原稿の画像データを読み取ると、画像入力制御部１１にデジタルの画像データとして渡し、ライトＤＭＡ１２及びメモリコントローラ１７を介してメモリ４に書き込む。スキャナ部２からの画像入力が終了すると、複写装置１は、リードＤＭＡ１３によって画像を画像処理部１５に取り込んで画像処理を行い、画像処理部１５で、Ｃ画像、Ｍ画像、Ｙ画像、Ｋ画像の画像を同時に画像処理して生成する。画像が生成されると、画像圧縮処理部１５で、１色ずつ圧縮処理を行い、圧縮が完了すると、出力を順次行う。複写装置１は、画像処理や圧縮処理を行っている最中に次のページの画像が入力されてくるので、同様に、画像処理及び圧縮処理を順次行う。
【００４０】
そして、圧縮伸長処理部１６は、画像処理部１５での画像処理が完了してメモリ４に格納された画像を、リードＤＭＡ２３及び圧縮器制御部２２を介して圧縮伸長器２１に送り、圧縮伸長器２１で所定の可変長圧縮方法で該画像を圧縮して符号を生成し、該符号を圧縮制御部２２及びライトＤＭＡ２４を介してメモリ４に書き込む。
【００４１】
このときのメモリ４上のディスクリプタとリードＤＭＡ２３及び画像データとの関係は、図２のように示され、ディスクリプタは、転送スタートアドレス（Start Address）とネクストディスクリプタポインタ（Next Pointer）と転送サイズ（Size）及びその他の情報（Etc）から構成されている。まず、リードＤＭＡ２３は、始めに、「Ａ１」で示すように、ディスクリプタポインタ設定（Descripter Pointer）に示されるメモリ４上のディスクリプタの存在するアドレスへアクセスし、「Ａ２」に示すように、該ディスクリプタからディスクリプタ情報を取得する。次に、リードＤＭＡ２３は、「Ａ３」で示すように、取得したディスクリプタに記載されているスタートアドレスへアクセスして該スタートアドレスからデータ転送（画像転送）を行う。リードＤＭＡ２３は、一連のデータ転送が終了し、ネクストディスクリプタポインタが設定されていれば、「Ａ４」や「Ａ５」に示すように、新たなディスクリプタを取得して、［Ａ６」に示すように、新たなデータ転送を行うという処理を繰り返し行う。
【００４２】
そして、上記動作をタイミングチャートとして示すと、図３のように示され、ソフトウェアが、ディスクリプタポインタへの設定やディスクリプタのメモリ４上へ用意を行い、また、ＤＭＡ転送に必要なレジスタ設定を行うと、図３に矢印で示すように、ＤＭＡに起動をかけて、ハードウェアによる処理が開始される。ハードウェア、すなわち、リードＤＭＡ２３は、まず、メモリ４のディスクリプタ情報を読み、その後、メモリ４から圧縮器制御部２５へのデータ転送を行い、以降ディスクリプタの読み込みとデータ転送を繰り返す。一連の転送動作が終了すると、リードＤＭＡ２３からソフトウェアに終了通知を行い、ソフトウェアが終了処理を行う。この時点で、次の転送を行う必要がある場合は、再び上記設定を行うことになる。
【００４３】
ところが、従来技術で説明したように、ハードウェア処理の間にソフトウェア処理が入ることで、複写装置１におけるファーストコピータイムが長くなる。
【００４４】
すなわち、例えば、図４に示すように、１つの画像が２つのブロック（例えば、Ｋ−ｉｍａｇ−１、Ｋ−ｉｍｇ−２）で構成されていて、この２つのブロックで構成されている１つ画像を圧縮した結果、３つの小さなメモリ領域に分割して配置される１つの符号（例えば、Ｋ−ｃｏｄｅ−１、Ｋ−ｃｏｄｅ−２、Ｋ−ｃｏｄｅ−３）になる場合、圧縮伸長処理部１６のリード側の画像処理は、従来の処理方法では、図５に示すように、ハードウェア処理Ｈａとハードウェア処理Ｈｂとの間にソフトウェア処理が入る。なお、このような現象は、画像側と符号側で１つのバンドで確保するサイズが異なる場合に発生することがある。
【００４５】
すなわち、図５において、圧縮伸長処理部１６は、始めに、ソフトウェアによるディスクリプタ設定（ステップＳ１０１ａ）、レジスタ設定（ステップＳ１０２ａ）を行うと、ハードウェアによる処理に移行して、リードＤＭＡ２３が、ディスクリプタを読み込んで（ステップＳ１０３ａ）、画像のバンド転送を行って、圧縮伸長器２１で圧縮処理を行い（ステップＳ１０４ａ）、１バンドの転送が終了すると、ディスクリプタのポイントが無くなったか（ＮＤＰが「０」であるか）をチェックする（ステップＳ１０５ａ）。
【００４６】
ステップＳ１０５ａで、ＮＤＰが「０」でないときには、ステップＳ１０３ａに戻って、再びディスクリプタの読み込みと画像データのバンド転送及び画像圧縮を同様に行って、ＮＤＰが「０」であるかチェックする（ステップＳ１０３ａ〜Ｓ１０５ａ）。
【００４７】
ステップＳ１０５ａで、ＮＤＰが「０」になると、いま、画像は、２つのバンドで構成されているものとしているので、ソフトウェア側に割込み等を用いて終了を通知する終了割り込み処理を行い（ステップＳ１０６）、ソフトウェアは、終了割り込みがあると、次のジョブがあるかチェックする（ステップＳ１０７）。ステップＳ１０７で、次のジョブがあると、ソフトウェアは、上記同様に、ディスクリプタの設定（ステップＳ１０１ｂ）及びレジスタの設定（ステップＳ１０２ｂ）を行って、処理をハードウェアに渡す。
【００４８】
ハードウェアが上記同様に画像データ転送処理及び画像圧縮処理をブロック分行い（ステップＳ１０３ｂ〜Ｓ１０５ｂ）、画像データの転送及び画像圧縮処理が終了すると、いま、画像は、２つのバンドで構成されているので、最初の画像についての処理を完了することになる。
【００４９】
このように、図５から分かるように、添え字ａの付与された１回目のハードウェア処理Ｈａと添え字ｂの付与された２回目のハードウェア処理Ｈｂとの間に、ソフトウェア処理が介在し、このソフトウェア処理時間だけ、圧縮伸長処理部１６における処理時間が長くかかることになる。
【００５０】
そこで、本実施例の複写装置１は、ディスクリプタのフォーマットを、図６に示すように、ディスクリプタのその他の様々な情報（Etc）を格納するエリアに、画像の終了を示す画像終了情報である画像終了信号（ＦＥＮＤ）を設け、例えば、画像終了信号（ＦＥＮＤ）が「１」のとき、画像の終了を示し、画像終了信号（ＦＥＮＤ）が「０」のとき、画像終了ではないことを示すものとの約束事を予め決めておくことで、圧縮器制御部２２がリードＤＭＡ２３から画像を事前読み込みを行ってバッファ２５に蓄え、圧縮伸長器２１の処理に合わせてバッファ２５内の画像を圧縮伸長器２１に転送するパイプライン動作を行って、ハードウェアである圧縮伸長器２１の処理を連続して行い、処理速度を向上させている。
【００５１】
すなわち、データ転送においては、ディスクリプタのネクストディスクリプタポインタ（Next Pointer）に設定値があれば、次の転送があることを示し、設定値がなければ、そのディスクリプタの転送分だけ転送を行った後転送を終了する。そこで、このディスクリプタのその他の様々な情報（Etc）を格納するエリアに、画像の終了を示す画像終了信号（ＦＥＮＤ）を設け、例えば、画像終了信号（ＦＥＮＤ）が「１」のとき、画像を終了を示し、画像終了信号（ＦＥＮＤ）が「０」のとき、画像終了ではないことを示すものとの約束事を予め決めておくことで、圧縮器制御部２２がリードＤＭＡ２３を介して画像データをバッファ２５に事前読み込みして、圧縮伸長器２１に渡し、圧縮伸長器２１での画像圧縮処理を、ソフトウェア処理を挟むことなく、連続して行う。
【００５２】
すなわち、圧縮伸長処理部１６の信号関係は、図７に示すようになっており、圧縮器制御部２２が、リードＤＭＡ２３及びライトＤＭＡ２６と圧縮伸長器２１との中間に位置して、符号を完結させる処理を行ったり、ライトＤＭＡ２４へ前の符号のライト処理を行いながら、リードＤＭＡ２３から画像のリードを行う等の制御を行う。
【００５３】
図７において、圧縮器制御部２２は、リードＤＭＡ２３との画像の終了情報は、リードＤＭＡ２３からのrfend_u信号でやりとりを行い、符合を完結させるか否かは、圧縮伸長器２１への画像に最後であることを示すフラグreod_cdを付加して通知することにより行う。すなわち、圧縮器制御部２２は、リードＤＭＡ２３からの信号rfend_uがアサートされたときか、転送動作を表す信号rkick_uがリセットされた場合に、画像の最後を示すフラグreod_cdを圧縮伸長器２１に出力する。
【００５４】
また、圧縮伸長処理部１６は、圧縮伸長器２１で、可変長符号を行うので、符号の最後は、圧縮伸長器２１だけが分かっており、圧縮伸長器２１は、符号の最後にフラグを付けて送信することによって符号の最後を通知する。すなわち、圧縮伸長器２１は、符号データwdat_cdの最後に、最終フラグweoc_cdを付けて圧縮器制御部２２に送信する。圧縮器制御部２２は、内部の符号量カウント部２６で、最終フラグweoc_cdとデータ（符号）を受け取ったことを示す信号wack_cdを用いて符号量カウント部２６で符号量を計測し、計測した符号量を、ライトＤＭＡ２４に信号wsize_uで渡す。ライトＤＭＡ２４は、この符号量情報をメモリ４のディスクリプタ領域へライトする（書き込む）。
【００５５】
いま、図８に示すように、１つの画像が２つのブロックで構成されていて、各画像を２枚連続（図８中のＹ−ｉｍａｇｅとＭ−ｉｍａｇｅ）で処理を行う場合を例として、上記パイプライン動作処理を伴う画像圧縮処理について説明する。なお、各画像から生成される符号は、画像側のバンドとは無関係であり、いま、図８に示すように、最初のＹ−ｉｍａｇｅからは、３つのバンドから構成される符号が生成され、次のＭ−ｉｍａｇｅからは、１つのバンドから構成される符号が生成されるものとする。
【００５６】
上記条件において、圧縮伸長処理部１６は、上記その圧縮器制御部２２がリードＤＭＡ２３から画像の事前読み込みを行ってバッファ２５に蓄え、圧縮伸長器２１の処理に合わせてバッファ２５内の画像を圧縮伸長器２１に転送するパイプライン動作処理を伴う画像圧縮処理を、図９に示すように行う。
【００５７】
すなわち、図９において、圧縮伸長処理部１６は、いま、Ｙ画像とＭ画像の２枚を連続して行うので、まず、最初に、ソフトウェアによるディスクリプタ設定を該２枚の画像に対してそれぞれ行い（ステップＳ３０１）、（ステップＳ３０２）、次に、必要なレジスタ設定を行う（ステップＳ３０３）。
【００５８】
圧縮伸長処理部１６は、ソフトウェアによるレジスタ設定を行うと、Ｙ画像に対するハードウェアによる処理Ｈｙに移行して、リードＤＭＡ２３がディスクリプタを読み込んで（ステップＳ３０４）、画像のバンド転送と該画像の圧縮器制御部２２のバッファ２５を利用した圧縮伸長器２１への転送及び圧縮伸長器２１での該画像の圧縮処理を開始し（ステップＳ３０５）、１バンドの転送が終了すると、Ｙ画像の転送が終了したか（ＦＥＮＤが「１」であるか）チェックする（ステップＳ３０６）。ステップＳ３０６で、Ｙ画像の転送が終了していない（ＦＥＮＤ＝０）ときには、圧縮伸長処理部１６は、ステップＳ３０４に戻って、そのリードＤＭＡ２３による再びディスクリプタの読み込みと画像のバンド転送及び画像圧縮を同様に行って、画像転送の終了かチェックする（ステップＳ３０４〜Ｓ３０６）。
【００５９】
いま、Ｙ画像は、２つのバンドで構成されているので、圧縮伸長処理部１６は、２回このハードウェア処理Ｈｙを繰り返し行い、ステップＳ３０６で、画像転送の終了であると判断すると、符号終了か（ＮＤＰが「０」であるか）チェックする（ステップＳ３０７）。
【００６０】
ステップＳ３０７で、ＮＤＰ＝０であると、処理を終了するが、まだ、Ｙ画像を処理し終わったところであり、Ｍ画像の処理が残っているので、ＮＤＰは「０」ではなく、圧縮伸長処理部１６は、次のＭ画像の処理に移行するが、既に、ディスクリプタの設定を行っているので、ソフトウェア処理を行うことなく、Ｍ画像に対するハードウェア処理Ｈｍに移行する。圧縮伸長処理部１６は、ハードウェア処理で、上記Ｙ画像の場合と同様に、ディスクリプタを読み込んで（ステップＳ３０８）、データのバンド転送及び画像圧縮処理を行い（ステップＳ３０９）、１バンドの画像転送が終了すると、Ｍ画像の転送が終了したか（ＦＥＮＤが「１」であるか）チェックする（ステップＳ３１０）。ステップＳ３１０で、Ｍ画像の転送が終了していない（ＦＥＮＤ＝０）ときには、圧縮伸長処理部１６は、ステップＳ３０８に戻って、再びディスクリプタの読み込みと画像データのバンド転送及び画像圧縮を同様に行って、画像転送の終了かチェックする（ステップＳ３０８〜Ｓ３１０）。
【００６１】
いま、Ｍ画像は、２つのバンドで構成されているので、圧縮伸長処理部１６は、２回このハードウェア処理Ｈｍを繰り返し行い、ステップＳ３１０で、画像転送の終了であると判断すると、符号終了か（ＮＤＰが「０」であるか）チェックする（ステップＳ３１１）。
【００６２】
ステップＳ３１１で、ＮＤＰ＝０であると、圧縮伸長処理部１６は、処理を終了するが、まだ、Ｍ画像を処理し終わったところであり、Ｋ画像以下の処理が残っているので、ステップＳ３１１でＮＤＰは「０」ではなく、次のＫ画像の処理に移行して、上記同様に処理する。
【００６３】
そして、圧縮器制御部２２は、上記画像転送処理において、図１０に示すように、バッファ２５を利用して、画像の事前読み込みを行う。すなわち、圧縮器制御部２２は、前のバンドの画像の圧縮伸長器２１への転送処理が終了すると（ステップＳ４０１）、該バンドが最終バンドであるかチェックし（ステップＳ４０２）、最終バンドのときには、処理を終了する。
【００６４】
ステップＳ４０２で、最終バンドでないときには、圧縮器制御部２２は、前のバンドの処理の符号を終了させて新しい画像を読み込むのか、符号は終結させずに続きの画像を読み込むのか、すなわち、画像終了（ＦＥＮＤ＝１）であるかをチェックし（ステップＳ４０３）、符号を終結させて新しい画像を読み込む場合には、前のバンドの符号が全て出力されるのを待って（ステップＳ４０４）、圧縮伸長器２１の初期化を行う（ステップＳ４０５）。
【００６５】
圧縮伸長器２１の初期化が完了すると、圧縮器制御部２２は、バッファ２５に空きがあるか確認して（ステップＳ４０６）、空きがないときには、空きができるまで待ち、バッファ２５に空きがあると、リードＤＭＡ２３から画像を受け取ってバッファ２５に格納する処理をバッファ２５に空きがなくなるまで行う（ステップＳ４０７、Ｓ４０８）。
【００６６】
圧縮器制御部２２は、ステップＳ４０８で、バッファ２５の空きがなくなると、空きができるのを待って、上記同様に処理する。
【００６７】
また、圧縮器制御部２２は、ステップＳ４０３で、符号は終結させずに続きの画像を読み込む場合には、前のバンドの符号が出力されることの確認や圧縮伸長器２１の初期化は必要ないので、すぐに次のバンド転送に移り、まず、バッファ２５に空きがあるか確認して（ステップＳ４０９）、空きがないときには、空きができるまで待ち、バッファ２５に空きがあると、リードＤＭＡ２３から画像を受け取ってバッファ２５に格納する処理をバッファ２５に空きがなくなるまで行う（ステップＳ４１０、Ｓ４１１）。
【００６８】
圧縮器制御部２２は、ステップＳ４１１で、バッファ２５の空きがなくなると、空きができるのを待って、上記同様に処理する。
【００６９】
このように、符号の終了を示す画像終了信号（ＦＥＮＤ）をディスクリプタに設定することで、リードＤＭＡ２３から画像データの事前読み込みを行って、バッファ２５に保管し、圧縮伸長器２１の処理に合わせて該画像データを圧縮伸長器２１に渡しているので、図１１に示すように、Ｙ画像（Ｙ−ｉｍｇ−２）に続いて、Ｙ画像とＭ画像の圧縮処理を、ソフトウェア処理を間に挟むことなく、連続してＭ画像の事前読み込みを行って、ソフトウェアの動作処理の分だけ処理時間を短縮することができる。
【００７０】
そして、本実施例の圧縮伸長器２１は、可変長符号を行うが、可変長符号の場合、生成される符号量が画像によって異なるため、伸長時に符号量情報が必要であり、画像（符号）と一緒に保存しておく必要がある。また、可変長符号においては、連続して画像を圧縮した場合、符号量をどこかに保存しておく必要がある。
【００７１】
そこで、本実施例の圧縮伸長処理部１６においては、圧縮器制御部２２の符号量カウント部２６でカウントして、ディスクリプタ情報に符号量を書き込んでいる。このようにすると、ハードウェアのレジスタ等に符号量を保存させる場合等のように、符号量の数に関わらず、符号量を適切に保存することができる。
【００７２】
すなわち、圧縮器制御部２２の符号量カウント部２６は、図１２に示すように、圧縮伸長器２１からデータ入力があると（ステップＳ５０１）、符号の終端子か否かチェックし（ステップＳ５０２）、符号の終端子でないときには、符号量をカウントアップして（ステップＳ５０３）、ステップＳ５０１に戻って、再びデータ入力待ちを行う。
【００７３】
ステップＳ５０２で、符号の終端子であると、符号量カウント部２６は、符号量をカウントアップし（ステップＳ５０４）、ライトＤＭＡ２４へデータ（符号量データ）を渡す処理へ移行して、ライトＤＭＡ２４が符号量データを引き取ったかチェックする（ステップＳ５０５）。
【００７４】
符号量カウント部２６は、ステップＳ５０５で、ライトＤＭＡ２４が符号量データを引き取ると、符号量カウントをクリアして、処理を終了する（ステップＳ５０６）。
【００７５】
そして、ライトＤＭＡ２４は、上述のように、圧縮伸長器２１の圧縮した符号を圧縮器制御部２５を介して受け取ると、メモリ４のディスクリプタに基づいて符号をメモリコントローラ１７を介してメモリ４に格納して、必要なディスクリプタ情報、特に、上記符号量をディスクリプタに書き込む。
【００７６】
ところが、複写装置１は、その圧縮伸長器２１で可変長圧縮方法によって画像を圧縮するため、生成される符号量は、符号が生成されるまで分からず、図１３に示すように、圧縮伸長器２１で圧縮された符号の符号量が、当初ライトＤＭＡ２４のディスクリプタで設定されていた転送量（符号量）になる前に、符号の終了を示す終端子がくる場合がある。この符号の終端子がくると、ディスクリプタに設定されているデータ量分の符号の転送が未完了であっても、次のディスクリプタ設定の転送を開始する。
【００７７】
すなわち、図１４に示すように、ソフトウェアによって、ディスクリプタの設定（ステップＳ６０１）とレジスタの設定（Ｓ６０２）が行われると、ハードウェア処理に移行して、ライトＤＭＡ２４が、ディスクリプタの読み込みを行い（ステップＳ６０３）、圧縮器制御部２２から受け取った符号のバンド転送を行って（ステップＳ６０４）、次のディスクリプタが無くなって終了であるか（ＮＤＰ＝０）、または、符号終端子を受け取ったかチェックする（ステップＳ６０５）。
【００７８】
ステップＳ６０５で、終了でも符号終端でもないときには、ライトＤＭＡ２４は、ステップＳ６０３に戻って同様に処理する（ステップＳ６０３〜Ｓ６０５）。
【００７９】
ステップＳ６０５で、終了または符号終端であると、終了割り込みをソフトウェアに発行して（ステップＳ６０６）、ソフトウェア処理によって次のジョブがあるかチェックし（ステップＳ６０７）、次のジョブがあるときには、ステップＳ６０１に戻って、同様に処理する（ステップＳ６０１〜Ｓ６０７）。ステップＳ６０７で、次の処理がないときには処理を終了する。
【００８０】
したがって、ライトＤＭＡ２４は、ステップＳ６０５で、ディスクリプタに予め設定されている転送量（符号量）まで符号の転送を終了する前に、符号終了を示す符号終端子を受け取ると、次のディスクリプタ設定の転送を開始する。
【００８１】
このように、本実施例の複写装置１は、ディスクリプタに基づいてメモリ４上の画像を読み取るリードＤＭＡ２３及び符号のメモリ４への書き込みを行うライトＤＭＡ２４と該読み取られた画像を可変長圧縮処理して符号を生成する圧縮伸長器２１との間に、リードＤＭＡ２３から所定量の画像を事前読み込みして圧縮伸長器２１の処理に応じて該事前読み込みした画像を圧縮伸長器２１に渡す圧縮器制御部２２を設けている。
【００８２】
したがって、圧縮伸長器２１に連続して画像を転送して、画像間のソフトウェア処理を省いて、圧縮伸長器２１で画像を連続して可変長圧縮方式で効率的に符号化することができ、処理速度を向上させて生産性を向上させることができる。
【００８３】
すなわち、圧縮伸長処理部１６は、圧縮器制御部２２がリードＤＭＡ２３を介して画像の事前読み込みを行って、圧縮器制御部２２のバッファ２５に格納し、圧縮伸長器２１とのタイミング調整を行って、圧縮伸長器２１にバッファ２５内の画像データを圧縮伸長器２１に渡し、圧縮伸長処理部１６で、Ｃ画像、Ｍ画像、Ｙ画像、Ｋ画像の異なる画像を連続して符号に圧縮処理しているので、図１５に示すように、ソフト処理時間Ｂを無くし、ファーストコピータイムを短縮している。すなわち、図１６に示すように、Ｃ符号のライトを行っている最中に、Ｍ画像のリードを開始することにより、すなわち、Ｃ符号のライト中にＭ画像の事前読み込みを行うことにより、圧縮伸長器２１の遊び時間を無くすことができ、圧縮伸長処理部１６としては、最初の起動時には、図１８に示したｔａ、ｔｂのレイテンシは発生するが、ｔｃのソフト処理時間がなくなり、全体として圧縮伸長処理部１６での処理時間を短縮させることができる。
【００８４】
また、本実施例の複写装置１は、圧縮器制御部２２が、バッファ２５を備え、事前読み込みした所定量の画像をバッファ２５に格納した後、圧縮伸長器２１に渡している。
【００８５】
したがって、バッファ２５を利用してリードＤＭＡ１３から必要な画像を適切に圧縮伸長器２１に渡すことができ、圧縮伸長器２１で画像をより適切に連続して符号化することができる。
【００８６】
さらに、本実施例の複写装置１は、リードＤＭＡ２３のディスクリプタに、画像の終了を示す情報（ＦＥＮＤ）を追加して設定し、該画像終了情報に基づいて画像の事前読み込みを行っている。
【００８７】
したがって、ディスクリプタに基づいて適切なタイミングに画像の事前読み込みを行って、転送と画像を個別に管理することができ、自由なタイミングで符号を完結させることができる。
【００８８】
また、本実施例の複写装置１は、リードＤＭＡ２３のディスクリプタに、画像の１度の転送動作の間に画像終了情報を複数回設定している。したがって、１度の画像転送で、複数個の符号を生成することができる。
【００８９】
さらに、本実施例の複写装置１は、圧縮器制御部２２が、圧縮伸長器２１の圧縮した符号の符号量をカウントする符号量カウント部２６を備えている。したがって、圧縮伸長器２１で可変長圧縮された符号の符号量を適切にカウントして、管理することができる。
【００９０】
また、本実施例の複写装置１は、符号量カウント部２６が、圧縮伸長器２１からの符号の終端毎に符号量をカウントして、該カウントした符号量情報をライトＤＭＡ２４に転送している。
【００９１】
したがって、符号量をメモリ４へ転送して保存することができ、ハードウェアによる符号量保持機能の実装の必要を無くして、コストを削減することができる。
【００９２】
さらに、本実施例の複写装置１は、ライトＤＭＡ２４は、符号量情報を受け取ると、該符号量情報をディスクリプタ情報に書き込んでいる。したがって、符号量の管理を容易に行うことができる。
【００９３】
また、本実施例の複写装置１は、ライトＤＭＡ２４が、符号量情報をディスクリプタ情報へ書き込む時点で、ディスクリプタに設定されているデータ量分の符号の転送が未完了であっても、次のディスクリプタ設定の転送を開始している。
【００９４】
したがって、１つのディスクリプタ内に異なる符合が混在することを防止することができ、符号の管理を容易に行うことができる。
【００９５】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９６】
本発明は、メモリ内の画像データを可変長圧縮してメモリに出力用として格納するプリンタ装置、複写装置、複合装置等の画像形成装置に適用することができる。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施例を適用した複写装置のブロック構成図。
【図２】メモリ上のディスクリプタとＤＭＡ及びデータの関係を示す図。
【図３】図１のＤＭＡ、メモリ及びソフトウェアの動作タイミングを示す図。
【図４】図１の圧縮伸長処理部で２つのブロックで構成されている画像を圧縮した１つの符号が３つのメモリ領域に分割配置される例の説明図。
【図５】事前読込動作を行わないときの画像圧縮処理を示すフローチャート。
【図６】図１の複写装置で用いる画像終了信号を追加したディスクリプタのフォーマットの一例を示す図。
【図７】図１の圧縮伸長処理部の信号関係を示す図。
【図８】図１の圧縮伸長処理部で２つのブロックで構成されている２枚の連続する画像を圧縮した各符号が３つと１つのメモリ領域に配置される例の説明図。
【図９】図１の圧縮伸長処理部による画像事前読込を伴う画像圧縮処理を示すフローチャート。
【図１０】図１の圧縮器制御部による画像事前読込動作処理を示すフローチャート。
【図１１】図１の圧縮伸長処理部による事前読込動作を行うときの各信号のタイミングチャート。
【図１２】図１の圧縮器制御部の符号量カウント部による符号量カウント処理を示すフローチャート。
【図１３】図１のライトＤＭＡのディスクリプタに設定のデータ量分の符号転送が未完了の状態で符号の終了が発生する場合を示す圧縮伸長処理部の各信号のタイミングチャート。
【図１４】図１の圧縮伸長処理部のライトＤＭＡによる符号転送処理を示すフローチャート。
【図１５】図１の複写装置による画像事前読込動作を行うときの画像入力、画像処理及び画像圧縮処理の動作タイミングを示す図。
【図１６】図１の複写装置による事前読込動作を行うときの画像リードと符号ライト及び圧縮処理の動作タイミングの説明図。
【図１７】従来の画像入力、画像処理及び画像圧縮処理の動作タイミングを示す図。
【図１８】従来の画像リードと符号ライト及び圧縮処理の動作タイミングの説明図。
【符号の説明】
【００９８】
１  複写装置
２  スキャナ部
３  画像処理本体部
４  メモリ
５  プリンタ部
１１  画像入力制御部
１２  ライトＤＭＡ
１３  リードＤＭＡ
１４  ライトＤＭＡ
１５  画像処理部
１６  圧縮伸長処理部
１７  メモリコントローラ
１８ａ〜１８ｄ  リードＤＭＡ
１９ａ〜１９ｄ  画像出力制御部
２０  バス
２１  圧縮伸長器
２２  圧縮器制御部
２３  リードＤＭＡ
２４  ライトＤＭＡ
２５  バッファ
２６  符号量カウント部
【図１】
2008227730.tif 000003
【図２】
2008227730.tif 000004
【図３】
2008227730.tif 000005
【図４】
2008227730.tif 000006
【図５】
2008227730.tif 000007
【図６】
2008227730.tif 000008
【図７】
2008227730.tif 000009
【図８】
2008227730.tif 000010
【図９】
2008227730.tif 000011
【図１０】
2008227730.tif 000012
【図１１】
2008227730.tif 000013
【図１２】
2008227730.tif 000014
【図１３】
2008227730.tif 000015
【図１４】
2008227730.tif 000016
【図１５】
2008227730.tif 000017
【図１６】
2008227730.tif 000018
【図１７】
2008227730.tif 000019
【図１８】
2008227730.tif 000020