(57)【要約】【課題】  画像処理装置において、符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となるようにして、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制する。【解決手段】  画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置において、ＲＡＭ１４は、固定長のバッファ領域を有し、ＪＰＥＧ符号化回路１２は、複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータをバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む。【選択図】  図１
2011010233.tif 000002
【特許請求の範囲】
【請求項１】
画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置において、
固定長のバッファ領域を有するメモリと、
前記複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータを前記バッファ領域の先頭から順番に書き込んでいき、前記符号化後のバンドデータの終端が、前記バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータを前記バッファ領域の先頭から書き込む可変長符号化回路と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記境界領域のサイズは、前記可変長符号化回路によるデータ圧縮率に基づいて設定されることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記境界領域のサイズは、前記可変長符号化回路による前記符号化後のバンドデータの最大サイズ以上であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記可変長符号化回路は、前記符号化のバンドデータのサイズが、その符号化のバンドデータを前記バッファ領域から読み出すときの単位サイズの整数倍になるように、前記符号化のバンドデータにパディングデータを追加して前記バッファ領域に書き込むことを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項５】
前記可変長符号化回路は、ＪＰＥＧ方式でバンドデータを符号化して圧縮することを特徴とする請求項１から請求項４のうちのいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
ある画像処理装置は、画像データに対して可変長圧縮を行い、圧縮された画像データをページメモリに記憶した後、そのページメモリから読み出しハードディスクドライブにおいてスプールする。このページメモリは、例えば、リングバッファにより構成される（例えば特許文献１参照）。リングバッファでは、その記憶領域の先頭から末尾へ向かって順番にデータが記憶されていき、データが末尾まで記憶されると、その次のデータが先頭から記憶されていく。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１０１８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置では、上述のようにして可変長圧縮後のデータをリングバッファに記憶すると、バンドデータの一部をリングバッファに記憶した時点でデータ書き込み位置が記憶領域の末尾に到達してしまい、バンドデータの残りの部分がリングバッファの先頭から書き込まれていくことになる。このため、バンドデータの途中で格納場所のアドレスが不連続となり、アドレス演算に起因して不連続の箇所でデータの書き込みおよび読み出しに遅延が生じてしまう可能性がある。したがって、画像処理に遅延が生じてしまう可能性がある。特に、複数のバンドデータのうちの各バンドデータに対して複数の画像処理回路で順番にパイプライン処理していく場合、メモリへのデータの読み書きで遅延が生じると、パイプライン処理の処理効率が低下する可能性がある。
【０００５】
なお、圧縮後のデータのサイズが固定長であれば、リングバッファの記憶領域のサイズを圧縮後のバンドデータのサイズの整数倍としておけば、圧縮後のバンドデータの途中で格納場所のアドレスが不連続となることはないが、可変長圧縮後のデータのサイズはデータ内容によって変わるため、上述のような問題が生じる。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、符号化後のバンドデータに構成するすべてのデータの格納場所のアドレスが連続となるようにして、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明では以下のようにした。
【０００８】
本発明に係る画像処理装置は、画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置であり、固定長のバッファ領域を有するメモリと、複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータをバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む可変長符号化回路とを備える。
【０００９】
これにより、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となり、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【００１０】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、境界領域のサイズは、可変長符号化回路によるデータ圧縮率に基づいて設定される。
【００１１】
これにより、可変長符号化後のバンドデータのデータ長に拘わらず、可変長符号化後のバンドデータの途中でバッファ領域の終端に到達しないようにすることができ、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となる。
【００１２】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、境界領域のサイズは、可変長符号化回路による符号化後のバンドデータの最大サイズ以上である。
【００１３】
これにより、可変長符号化後のバンドデータのデータ長に拘わらず、可変長符号化後のバンドデータの途中でバッファ領域の終端に到達しないようにすることができ、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となる。
【００１４】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、可変長符号化回路は、符号化のバンドデータのサイズが、その符号化のバンドデータをバッファ領域から読み出すときの単位サイズの整数倍になるように、符号化のバンドデータにパディングデータを追加してバッファ領域に書き込む。
【００１５】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、可変長符号化回路は、ＪＰＥＧ方式でバンドデータを符号化して圧縮する。
【発明の効果】
【００１６】
本発明によれば、画像処理装置において、符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となり、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、図１におけるＲＡＭに設けられるバッファ領域の一例を示す図である。
【図３】図３は、図１におけるＪＰＥＧ符号化回路によるＲＡＭの書込アドレスの計算について説明するフローチャートである。
【図４】図４は、図２に示すバッファ領域において、書込アドレスが境界領域に到達していない状態を示す図である。
【図５】図５は、図２に示すバッファ領域において、書込アドレスが境界領域に到達した状態を示す図である。
【発明を実施するための形態】
【００１８】
以下、図に基づいて本発明の実施の形態を説明する。
【００１９】
図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置は、例えばプリンタ、複写機、複合機などの画像形成装置に設けられ、ホスト装置から供給された画像データあるいはその画像形成装置内で生成された画像データに対して処理を行う。
【００２０】
図１に示す画像処理装置では、画像処理回路１１、ＪＰＥＧ符号化回路１２、ＨＤＤコントローラ１３およびＲＡＭ（Random Access Memory）１４がバス１５に接続されており、ＨＤＤコントローラ１３にはＨＤＤ（ハードディスクドライバ）１６が接続されている。なお、図１では図示していないが、バス１５には、上述の回路の他、外部から画像データなどを取得しＲＡＭ１４に記憶する回路、これらの処理回路１１，１２以外の画像処理回路などが適宜接続されている。
【００２１】
画像処理回路１１は、例えばスキャナなどで得られた画像データおよび属性データのバンドデータをＲＡＭ１４から読み出し、それらのバンドデータに対して所定の画像処理（画像拡大、画像縮小、画像回転、色変換など）を実行し、処理後のバンドデータをＲＡＭ１４に格納する回路である。画像処理回路１１は、ＲＡＭ１４からデータを読み出すための入力ＤＭＡコントローラおよびＲＡＭ１４へデータを書き込むための出力ＤＭＡコントローラを有する。このため、画像処理回路１１は、バンドデータを順番に入力ＤＭＡコントローラで読み出しつつ、画像処理後のデータを出力ＤＭＡコントローラで書き込む。
【００２２】
ＪＰＥＧ符号化回路１２は、ＲＡＭ１４に格納されている画像データのバンドデータを読み出して、そのバンドデータをＪＰＥＧ（Joint Photographic Experts Group）方式で符号化して圧縮する可変長符号化回路である。ＪＰＥＧ符号化回路１２は、ＲＡＭ１４に格納されている複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータを、ＲＡＭ１４におけるバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、そのバッファ領域の終端部分における所定長の境界領域（後述）内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む。ＪＰＥＧ符号化回路１２は、ＲＡＭ１４からデータを読み出すための入力ＤＭＡコントローラおよびＲＡＭ１４へデータを書き込むための出力ＤＭＡコントローラを有する。このため、ＪＰＥＧ符号化回路１２は、バンドデータを順番に入力ＤＭＡコントローラで読み出しつつ符号化を行い、符号化後のデータを出力ＤＭＡコントローラでバッファ領域に書き込む。以下、符号化後のバンドデータを圧縮バンドデータという。
【００２３】
ＨＤＤコントローラ１３は、ＨＤＤ１６に対するデータの読み書きを行う回路である。ＨＤＤコントローラ１３は、例えば、１ページ分の圧縮バンドデータを順番に読み出し、ＨＤＤ１６に格納する。
【００２４】
ＲＡＭ１４は、固定長のバッファ領域を有するメモリである。つまり、ＲＡＭ１４の記憶領域の一部または全部が予めバッファ領域に割り当てられている。
【００２５】
図２は、図１におけるＲＡＭ１４に設けられるバッファ領域の一例を示す図である。図２において、バッファ領域３１は、ＲＡＭ１４内に設けられる固定長の記憶領域である。バッファ領域３１のサイズは、可変符号化方式およびそのデータ圧縮率に基づいて決定される。
【００２６】
そして、バッファ領域３１の終端部分には所定長の境界領域３２が設定される。境界領域３２のサイズは、符号化回路１２の符号化方式（ここではＪＰＥＧ）によるデータ圧縮率に基づいて決定される。また、境界領域３２のサイズは、符号化回路１２による圧縮バンドデータの最大サイズ以上とされる。ここでは、境界領域３２のサイズは、符号化回路１２による圧縮バンドデータの最大サイズとされる。
【００２７】
次に、上記装置の動作について説明する。
【００２８】
ＪＰＥＧ符号化回路１２は、入力ＤＭＡコントローラで、ＲＡＭ１４からバンドデータ内のデータを順番に読み込み符号化を行いつつ、符号化後のデータを、圧縮バンドデータの一部として、出力ＤＭＡコントローラで、バッファ領域３１に書き込む。そして、１ページ分のバンドデータの処理が完了するまで、１つのバンドデータの符号化が終わると、ＪＰＥＧ符号化回路１２は、次のバンドデータの符号化を開始する。
【００２９】
ＪＰＥＧ符号化回路１２は、各圧縮バンドデータをバッファ領域３１に書き込むときに、書込アドレスを計算する。図３は、図１におけるＪＰＥＧ符号化回路１２によるＲＡＭ１４の書込アドレスの計算について説明するフローチャートである。
【００３０】
図３に示すように、まず、ＪＰＥＧ符号化回路１２は、１ページ分の画像データの開始時に、書込アドレスを初期値（バッファ領域３１の先頭アドレス）にセットする（ステップＳ１）。
【００３１】
そして、ＪＰＥＧ符号化回路１２は、バンドデータ内の所定のサイズごとにデータを符号化していき、書込アドレスを書込データ量ずつ進めつつ、符号化したデータをバッファ領域３１において連続するように順番に書き込む（ステップＳ２）。ステップＳ２では、１つのバンドデータが符号化され、そのバンドデータに対応する圧縮バンドデータが記憶される。このとき、圧縮バンドデータのサイズは、バンドデータの内容によって変わる。このため、圧縮バンドデータのサイズが、その圧縮バンドデータをバッファ領域３１から読み出すときの単位サイズ（例えば、１２８バイトまたは３２バイト）の整数倍になるように、ＪＰＥＧ符号化回路１２は、圧縮バンドデータにパディングデータを追加してバッファ領域３１に書き込む。パディングデータは、所定の定数データであり、圧縮バンドデータのデータ長を調節するために付加される。
【００３２】
そして、１つの圧縮バンドデータがバッファ領域３１に書き込まれるたびに、ＪＰＥＧ符号化回路１２は、書込アドレスが境界領域３２内のいずれかの位置を指しているか否かを判定する（ステップＳ３）。つまり、書込アドレスの位置からバッファ領域３１の終端までの領域のサイズが、１つの圧縮バンドデータのデータ量の最大値より少なくなったか否かが判定される。
【００３３】
図４は、図２に示すバッファ領域３１において、書込アドレスが境界領域３２に到達していない状態を示す図である。図５は、図２に示すバッファ領域３１において、書込アドレスが境界領域３２に到達した状態を示す図である。
【００３４】
ＪＰＥＧ符号化回路１２は、書込アドレスが境界領域３２内の位置を指していないと判定した場合、次の圧縮バンドデータを、その書込アドレスから書き込んでいく（ステップＳ２）。
【００３５】
例えば図４に示す状態では、４つの圧縮バンドデータ４１〜４４にパディングデータ４１ｐ〜４４ｐがそれぞれ付加されて、バッファ領域３１に隙間なく順番に書き込まれており、最後の圧縮バンドデータ４４の終端位置（つまり、圧縮バンドデータ４４書き込み直後の書込アドレスの指す位置）は、まだ境界領域３２に到達していない。このため、図４に示す状態では、ＪＰＥＧ符号化回路１２は、書込アドレスが境界領域３２内の位置を指していないと判定する。
【００３６】
一方、ＪＰＥＧ符号化回路１２は、書込アドレスが境界領域３２内のいずれかの位置を指していると判定した場合、書込アドレスを、初期値（バッファ領域３１の先頭アドレス）へリセットする（ステップＳ４）。そして、ＪＰＥＧ符号化回路１２は、次の圧縮バンドデータを、バッファ領域３１の先頭アドレスから書き込んでいく（ステップＳ２）。なお、次の圧縮バンドデータをバッファ領域３１の先頭アドレスから書き込む際には、以前の圧縮バンドデータが上書きされるが、上書きされる前に、後段の処理回路により読み出される。
【００３７】
例えば図５に示す状態では、図４に示す状態からさらに３つの圧縮バンドデータ４５〜４７が書き込まれている。なお、圧縮バンドデータ４６にはパディングデータ４６ｐが付加されている。図５に示す状態では、７つの圧縮バンドデータ４１〜４７がバッファ領域３１に隙間なく順番に書き込まれており、最後の圧縮バンドデータ４７の終端位置（つまり、圧縮バンドデータ４７書き込み直後の書込アドレスの指す位置）は、境界領域３２に到達している。このため、図５に示す状態では、ＪＰＥＧ符号化回路１２は、書込アドレスが境界領域３２内のいずれかの位置を指していると判定する。
【００３８】
なお、後段の処理回路（例えばＨＤＤコントローラ１３や別の画像処理回路）は、バッファ領域３１から圧縮バンドデータを所定のデータサイズごとに順番に読み出していく。その後段の処理回路は、各圧縮バンドデータを、その圧縮バンドデータが後の圧縮バンドデータにより上書きされる前に読み出す。その後段の処理回路は、圧縮バンドデータの読み出し位置を指す読出アドレスを設定し、バッファ領域３１の先頭アドレスから圧縮バンドデータを読み出すたびに読出アドレスを進めていき、読出アドレスが境界領域３２内のいずれかを指す場合には、読出アドレスをバッファ領域３１の先頭アドレスへリセットし、次の圧縮バンドデータをバッファ領域３１の先頭から読み出す。
【００３９】
以上のように、上記実施の形態によれば、ＲＡＭ１４は、固定長のバッファ領域３１を有し、ＪＰＥＧ符号化回路１２は、複数のバンドデータを順番に可変長符号化していき、圧縮バンドデータをバッファ領域３１の先頭から順番に書き込んでいき、圧縮バンドデータの終端が境界領域３２内に位置する場合には、次の圧縮バンドデータをバッファ領域３１の先頭から書き込む。
【００４０】
これにより、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが常に連続となり、同一のアドレス演算（あるいは１回のアドレス演算）で１バンド分のデータを連続して書き込んだり読み出したりすることができ、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【００４１】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００４２】
例えば、上記実施の形態では、可変長符号化方式としてＪＰＥＧ方式が使用されているが、他の方式でもよい。
【００４３】
また、上記実施の形態では、圧縮バンドデータのデータ長を調節するためにパディングデータを付加しているが、その代わりに、圧縮バンドデータのデータ長を調節せずに書き込み、次に書き込む圧縮バンドデータの先頭アドレスを、直前に書き込み完了した圧縮バンドデータのサイズ、および圧縮バンドデータをバッファ領域３１から読み出すときの単位サイズ（例えば３２バイト）から計算により特定するようにしてもよい。例えば、ceiling 関数を使用して次式で、次に書き込む圧縮バンドデータの先頭アドレスを求めることができる。なお、ceiling関数は、第２引数の倍数のうち、第１引数の値以上で最も小さい数を返す関数である。
【００４４】
（次の圧縮バンドデータの先頭アドレス）＝ceiling（開始アドレス＋直前に書き込み完了した圧縮バンドデータのサイズ，上記単位サイズ）
【００４５】
なお、上記実施の形態における、画像処理回路１１、ＪＰＥＧ符号化回路１２、ＨＤＤコントローラ１３、バス１５に接続されたその他の処理回路は、それぞれＡＳＩＣ（Application Specific Integrated Circuit）で構成されている。
【産業上の利用可能性】
【００４６】
本発明は、例えば、プリンタ、複写機、複合機などの画像形成装置に適用可能である。
【符号の説明】
【００４７】
１２  ＪＰＥＧ符号化回路（可変長符号化回路の一例）
１４  ＲＡＭ（メモリの一例）
３１  バッファ領域
３２  境界領域
４１〜４７  圧縮バンドデータ（符号化後のバンドデータの例）
４１ｐ〜４４ｐ，４６ｐ  パディングデータ
【図１】
2011010233.tif 000003
【図２】
2011010233.tif 000004
【図３】
2011010233.tif 000005
【図４】
2011010233.tif 000006
【図５】
2011010233.tif 000007