説明

画像処理装置

【課題】 画像処理装置において、符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となるようにして、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制する。
【解決手段】 画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置において、RAM14は、固定長のバッファ領域を有し、JPEG符号化回路12は、複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータをバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関するものである。
【背景技術】
【0002】
ある画像処理装置は、画像データに対して可変長圧縮を行い、圧縮された画像データをページメモリに記憶した後、そのページメモリから読み出しハードディスクドライブにおいてスプールする。このページメモリは、例えば、リングバッファにより構成される(例えば特許文献1参照)。リングバッファでは、その記憶領域の先頭から末尾へ向かって順番にデータが記憶されていき、データが末尾まで記憶されると、その次のデータが先頭から記憶されていく。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−101807号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置では、上述のようにして可変長圧縮後のデータをリングバッファに記憶すると、バンドデータの一部をリングバッファに記憶した時点でデータ書き込み位置が記憶領域の末尾に到達してしまい、バンドデータの残りの部分がリングバッファの先頭から書き込まれていくことになる。このため、バンドデータの途中で格納場所のアドレスが不連続となり、アドレス演算に起因して不連続の箇所でデータの書き込みおよび読み出しに遅延が生じてしまう可能性がある。したがって、画像処理に遅延が生じてしまう可能性がある。特に、複数のバンドデータのうちの各バンドデータに対して複数の画像処理回路で順番にパイプライン処理していく場合、メモリへのデータの読み書きで遅延が生じると、パイプライン処理の処理効率が低下する可能性がある。
【0005】
なお、圧縮後のデータのサイズが固定長であれば、リングバッファの記憶領域のサイズを圧縮後のバンドデータのサイズの整数倍としておけば、圧縮後のバンドデータの途中で格納場所のアドレスが不連続となることはないが、可変長圧縮後のデータのサイズはデータ内容によって変わるため、上述のような問題が生じる。
【0006】
本発明は、上記の問題に鑑みてなされたものであり、符号化後のバンドデータに構成するすべてのデータの格納場所のアドレスが連続となるようにして、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明では以下のようにした。
【0008】
本発明に係る画像処理装置は、画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置であり、固定長のバッファ領域を有するメモリと、複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータをバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む可変長符号化回路とを備える。
【0009】
これにより、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となり、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【0010】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、境界領域のサイズは、可変長符号化回路によるデータ圧縮率に基づいて設定される。
【0011】
これにより、可変長符号化後のバンドデータのデータ長に拘わらず、可変長符号化後のバンドデータの途中でバッファ領域の終端に到達しないようにすることができ、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となる。
【0012】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、境界領域のサイズは、可変長符号化回路による符号化後のバンドデータの最大サイズ以上である。
【0013】
これにより、可変長符号化後のバンドデータのデータ長に拘わらず、可変長符号化後のバンドデータの途中でバッファ領域の終端に到達しないようにすることができ、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となる。
【0014】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、可変長符号化回路は、符号化のバンドデータのサイズが、その符号化のバンドデータをバッファ領域から読み出すときの単位サイズの整数倍になるように、符号化のバンドデータにパディングデータを追加してバッファ領域に書き込む。
【0015】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のようにしてもよい。この場合、可変長符号化回路は、JPEG方式でバンドデータを符号化して圧縮する。
【発明の効果】
【0016】
本発明によれば、画像処理装置において、符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが連続となり、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図2】図2は、図1におけるRAMに設けられるバッファ領域の一例を示す図である。
【図3】図3は、図1におけるJPEG符号化回路によるRAMの書込アドレスの計算について説明するフローチャートである。
【図4】図4は、図2に示すバッファ領域において、書込アドレスが境界領域に到達していない状態を示す図である。
【図5】図5は、図2に示すバッファ領域において、書込アドレスが境界領域に到達した状態を示す図である。
【発明を実施するための形態】
【0018】
以下、図に基づいて本発明の実施の形態を説明する。
【0019】
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置は、例えばプリンタ、複写機、複合機などの画像形成装置に設けられ、ホスト装置から供給された画像データあるいはその画像形成装置内で生成された画像データに対して処理を行う。
【0020】
図1に示す画像処理装置では、画像処理回路11、JPEG符号化回路12、HDDコントローラ13およびRAM(Random Access Memory)14がバス15に接続されており、HDDコントローラ13にはHDD(ハードディスクドライバ)16が接続されている。なお、図1では図示していないが、バス15には、上述の回路の他、外部から画像データなどを取得しRAM14に記憶する回路、これらの処理回路11,12以外の画像処理回路などが適宜接続されている。
【0021】
画像処理回路11は、例えばスキャナなどで得られた画像データおよび属性データのバンドデータをRAM14から読み出し、それらのバンドデータに対して所定の画像処理(画像拡大、画像縮小、画像回転、色変換など)を実行し、処理後のバンドデータをRAM14に格納する回路である。画像処理回路11は、RAM14からデータを読み出すための入力DMAコントローラおよびRAM14へデータを書き込むための出力DMAコントローラを有する。このため、画像処理回路11は、バンドデータを順番に入力DMAコントローラで読み出しつつ、画像処理後のデータを出力DMAコントローラで書き込む。
【0022】
JPEG符号化回路12は、RAM14に格納されている画像データのバンドデータを読み出して、そのバンドデータをJPEG(Joint Photographic Experts Group)方式で符号化して圧縮する可変長符号化回路である。JPEG符号化回路12は、RAM14に格納されている複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータを、RAM14におけるバッファ領域の先頭から順番に書き込んでいき、符号化後のバンドデータの終端が、そのバッファ領域の終端部分における所定長の境界領域(後述)内に位置する場合には、次の符号化後のバンドデータをバッファ領域の先頭から書き込む。JPEG符号化回路12は、RAM14からデータを読み出すための入力DMAコントローラおよびRAM14へデータを書き込むための出力DMAコントローラを有する。このため、JPEG符号化回路12は、バンドデータを順番に入力DMAコントローラで読み出しつつ符号化を行い、符号化後のデータを出力DMAコントローラでバッファ領域に書き込む。以下、符号化後のバンドデータを圧縮バンドデータという。
【0023】
HDDコントローラ13は、HDD16に対するデータの読み書きを行う回路である。HDDコントローラ13は、例えば、1ページ分の圧縮バンドデータを順番に読み出し、HDD16に格納する。
【0024】
RAM14は、固定長のバッファ領域を有するメモリである。つまり、RAM14の記憶領域の一部または全部が予めバッファ領域に割り当てられている。
【0025】
図2は、図1におけるRAM14に設けられるバッファ領域の一例を示す図である。図2において、バッファ領域31は、RAM14内に設けられる固定長の記憶領域である。バッファ領域31のサイズは、可変符号化方式およびそのデータ圧縮率に基づいて決定される。
【0026】
そして、バッファ領域31の終端部分には所定長の境界領域32が設定される。境界領域32のサイズは、符号化回路12の符号化方式(ここではJPEG)によるデータ圧縮率に基づいて決定される。また、境界領域32のサイズは、符号化回路12による圧縮バンドデータの最大サイズ以上とされる。ここでは、境界領域32のサイズは、符号化回路12による圧縮バンドデータの最大サイズとされる。
【0027】
次に、上記装置の動作について説明する。
【0028】
JPEG符号化回路12は、入力DMAコントローラで、RAM14からバンドデータ内のデータを順番に読み込み符号化を行いつつ、符号化後のデータを、圧縮バンドデータの一部として、出力DMAコントローラで、バッファ領域31に書き込む。そして、1ページ分のバンドデータの処理が完了するまで、1つのバンドデータの符号化が終わると、JPEG符号化回路12は、次のバンドデータの符号化を開始する。
【0029】
JPEG符号化回路12は、各圧縮バンドデータをバッファ領域31に書き込むときに、書込アドレスを計算する。図3は、図1におけるJPEG符号化回路12によるRAM14の書込アドレスの計算について説明するフローチャートである。
【0030】
図3に示すように、まず、JPEG符号化回路12は、1ページ分の画像データの開始時に、書込アドレスを初期値(バッファ領域31の先頭アドレス)にセットする(ステップS1)。
【0031】
そして、JPEG符号化回路12は、バンドデータ内の所定のサイズごとにデータを符号化していき、書込アドレスを書込データ量ずつ進めつつ、符号化したデータをバッファ領域31において連続するように順番に書き込む(ステップS2)。ステップS2では、1つのバンドデータが符号化され、そのバンドデータに対応する圧縮バンドデータが記憶される。このとき、圧縮バンドデータのサイズは、バンドデータの内容によって変わる。このため、圧縮バンドデータのサイズが、その圧縮バンドデータをバッファ領域31から読み出すときの単位サイズ(例えば、128バイトまたは32バイト)の整数倍になるように、JPEG符号化回路12は、圧縮バンドデータにパディングデータを追加してバッファ領域31に書き込む。パディングデータは、所定の定数データであり、圧縮バンドデータのデータ長を調節するために付加される。
【0032】
そして、1つの圧縮バンドデータがバッファ領域31に書き込まれるたびに、JPEG符号化回路12は、書込アドレスが境界領域32内のいずれかの位置を指しているか否かを判定する(ステップS3)。つまり、書込アドレスの位置からバッファ領域31の終端までの領域のサイズが、1つの圧縮バンドデータのデータ量の最大値より少なくなったか否かが判定される。
【0033】
図4は、図2に示すバッファ領域31において、書込アドレスが境界領域32に到達していない状態を示す図である。図5は、図2に示すバッファ領域31において、書込アドレスが境界領域32に到達した状態を示す図である。
【0034】
JPEG符号化回路12は、書込アドレスが境界領域32内の位置を指していないと判定した場合、次の圧縮バンドデータを、その書込アドレスから書き込んでいく(ステップS2)。
【0035】
例えば図4に示す状態では、4つの圧縮バンドデータ41〜44にパディングデータ41p〜44pがそれぞれ付加されて、バッファ領域31に隙間なく順番に書き込まれており、最後の圧縮バンドデータ44の終端位置(つまり、圧縮バンドデータ44書き込み直後の書込アドレスの指す位置)は、まだ境界領域32に到達していない。このため、図4に示す状態では、JPEG符号化回路12は、書込アドレスが境界領域32内の位置を指していないと判定する。
【0036】
一方、JPEG符号化回路12は、書込アドレスが境界領域32内のいずれかの位置を指していると判定した場合、書込アドレスを、初期値(バッファ領域31の先頭アドレス)へリセットする(ステップS4)。そして、JPEG符号化回路12は、次の圧縮バンドデータを、バッファ領域31の先頭アドレスから書き込んでいく(ステップS2)。なお、次の圧縮バンドデータをバッファ領域31の先頭アドレスから書き込む際には、以前の圧縮バンドデータが上書きされるが、上書きされる前に、後段の処理回路により読み出される。
【0037】
例えば図5に示す状態では、図4に示す状態からさらに3つの圧縮バンドデータ45〜47が書き込まれている。なお、圧縮バンドデータ46にはパディングデータ46pが付加されている。図5に示す状態では、7つの圧縮バンドデータ41〜47がバッファ領域31に隙間なく順番に書き込まれており、最後の圧縮バンドデータ47の終端位置(つまり、圧縮バンドデータ47書き込み直後の書込アドレスの指す位置)は、境界領域32に到達している。このため、図5に示す状態では、JPEG符号化回路12は、書込アドレスが境界領域32内のいずれかの位置を指していると判定する。
【0038】
なお、後段の処理回路(例えばHDDコントローラ13や別の画像処理回路)は、バッファ領域31から圧縮バンドデータを所定のデータサイズごとに順番に読み出していく。その後段の処理回路は、各圧縮バンドデータを、その圧縮バンドデータが後の圧縮バンドデータにより上書きされる前に読み出す。その後段の処理回路は、圧縮バンドデータの読み出し位置を指す読出アドレスを設定し、バッファ領域31の先頭アドレスから圧縮バンドデータを読み出すたびに読出アドレスを進めていき、読出アドレスが境界領域32内のいずれかを指す場合には、読出アドレスをバッファ領域31の先頭アドレスへリセットし、次の圧縮バンドデータをバッファ領域31の先頭から読み出す。
【0039】
以上のように、上記実施の形態によれば、RAM14は、固定長のバッファ領域31を有し、JPEG符号化回路12は、複数のバンドデータを順番に可変長符号化していき、圧縮バンドデータをバッファ領域31の先頭から順番に書き込んでいき、圧縮バンドデータの終端が境界領域32内に位置する場合には、次の圧縮バンドデータをバッファ領域31の先頭から書き込む。
【0040】
これにより、可変長符号化後のバンドデータを構成するすべてのデータの格納場所のアドレスが常に連続となり、同一のアドレス演算(あるいは1回のアドレス演算)で1バンド分のデータを連続して書き込んだり読み出したりすることができ、符号化後のバンドデータの書き込みおよび読み出しにおける遅延の発生を抑制することができる。
【0041】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【0042】
例えば、上記実施の形態では、可変長符号化方式としてJPEG方式が使用されているが、他の方式でもよい。
【0043】
また、上記実施の形態では、圧縮バンドデータのデータ長を調節するためにパディングデータを付加しているが、その代わりに、圧縮バンドデータのデータ長を調節せずに書き込み、次に書き込む圧縮バンドデータの先頭アドレスを、直前に書き込み完了した圧縮バンドデータのサイズ、および圧縮バンドデータをバッファ領域31から読み出すときの単位サイズ(例えば32バイト)から計算により特定するようにしてもよい。例えば、ceiling 関数を使用して次式で、次に書き込む圧縮バンドデータの先頭アドレスを求めることができる。なお、ceiling関数は、第2引数の倍数のうち、第1引数の値以上で最も小さい数を返す関数である。
【0044】
(次の圧縮バンドデータの先頭アドレス)=ceiling(開始アドレス+直前に書き込み完了した圧縮バンドデータのサイズ,上記単位サイズ)
【0045】
なお、上記実施の形態における、画像処理回路11、JPEG符号化回路12、HDDコントローラ13、バス15に接続されたその他の処理回路は、それぞれASIC(Application Specific Integrated Circuit)で構成されている。
【産業上の利用可能性】
【0046】
本発明は、例えば、プリンタ、複写機、複合機などの画像形成装置に適用可能である。
【符号の説明】
【0047】
12 JPEG符号化回路(可変長符号化回路の一例)
14 RAM(メモリの一例)
31 バッファ領域
32 境界領域
41〜47 圧縮バンドデータ(符号化後のバンドデータの例)
41p〜44p,46p パディングデータ

【特許請求の範囲】
【請求項1】
画像データを構成する複数のバンドデータに対して順番に画像処理を行う画像処理装置において、
固定長のバッファ領域を有するメモリと、
前記複数のバンドデータを順番に可変長符号化していき、符号化後のバンドデータを前記バッファ領域の先頭から順番に書き込んでいき、前記符号化後のバンドデータの終端が、前記バッファ領域の終端部分における所定長の境界領域内に位置する場合には、次の符号化後のバンドデータを前記バッファ領域の先頭から書き込む可変長符号化回路と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記境界領域のサイズは、前記可変長符号化回路によるデータ圧縮率に基づいて設定されることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記境界領域のサイズは、前記可変長符号化回路による前記符号化後のバンドデータの最大サイズ以上であることを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記可変長符号化回路は、前記符号化のバンドデータのサイズが、その符号化のバンドデータを前記バッファ領域から読み出すときの単位サイズの整数倍になるように、前記符号化のバンドデータにパディングデータを追加して前記バッファ領域に書き込むことを特徴とする請求項1または請求項2記載の画像処理装置。
【請求項5】
前記可変長符号化回路は、JPEG方式でバンドデータを符号化して圧縮することを特徴とする請求項1から請求項4のうちのいずれか1項記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−10233(P2011−10233A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−154190(P2009−154190)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】