しかしながら、図21に示されるような従来のシステムにあっては、1度回転前のページメモリ領域と回転後のページメモリ領域とをそれぞれ必要とするため、大きなメモリ容量が必要になっていた。
また、特許文献1、2においては、1ページの画像データを細かなブロック単位に管理するために、ブロックごとのアドレスを記憶する大きなメモリ領域が必要であり、処理が複雑になり、かつ細かくブロックに分割されるために、圧縮率が低下する。また、特許文献3においては、ブロックライン単位にアドレスを記憶する必要があり、かつ回転時にブロックライン符号の内部のアドレスを求める処理が複雑であった。
また、上記の方法は、符号を直接復号できないために、1度、大きなメモリ(最低ブロックのバンド幅×ブロック高さ)に復号する必要があった。
本発明は、上記に鑑みてなされたものであって、ライン単位に符号化し、そのライン単位に符号長を計測し、ライン単位の符号に付加し、画像データの符号長を求め、符号ヘッダとして、符号の先頭に付加することにより、従来に対して少ないメモリ容量で回転処理を実現することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、ライン単位の符号を記憶するライン符号記憶手段と、前記ライン符号記憶手段に記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶手段と、前記ラインタグ記憶手段に記憶されたライン単位のライン符号の符号長を、前記符号の終端から1ライン分読み込むラインタグ読み出し手段と、前記ラインタグ読み出し手段により読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成手段と、前記ライン符号先頭アドレス生成手段で求めたライン符号先頭アドレスにより、前記ライン符号記憶手段に記憶されたライン単位の符号を読み込むライン符号読み出し手段と、前記ライン符号読み出し手段により読み込まれたライン符号を、先頭から順次復号するライン符号復号手段と、前記ライン符号復号手段により復号されたライン単位の画像データを記憶するライン画像データ記憶手段と、前記ライン画像データ記憶手段に記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理手段と、を備えることを特徴とする。
この発明によれば、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う装置が実現可能になる。
また、請求項2にかかる発明は、画像データを記憶する画像データ記憶手段と、前記画像データ記憶手段に記憶された画像データをライン単位に読み込む画像データ読み出し手段と、前記画像データ読み出し手段により読み込まれた画像データをライン単位に符号化するライン符号化手段と、前記ライン符号化手段により符号化されたライン単位の符号長を計測するライン符号長計測手段と、前記ライン符号化手段により符号化された符号データを記憶するライン符号記憶手段と、前記ライン符号長計測手段により計測されたライン単位のライン符号長を記憶するライン符号長記憶手段と、を備えることを特徴とする。
この発明によれば、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することが可能になる。
また、請求項3にかかる発明は、さらに、前記ライン符号化手段により符号化された画像データの符号長を計測する画像符号長計測手段と、前記画像符号長計測手段により求めた画像データ単位の符号長を記憶する画像符号長記憶手段と、を有することを特徴とする。
この発明によれば、請求項2において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことが可能になる。
また、請求項4にかかる発明は、さらに、画像データの符号長を記憶する画像符号長記憶手段と、前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成手段と、前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成手段と、を有することを特徴とする。
この発明によれば、請求項1において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理が可能になる。
また、請求項5にかかる発明は、前記ライン符号記憶手段により記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであることを特徴とする。
この発明によれば、請求項2において、ライン符号記憶手段に可変長方式な符号を記憶し、また、ライン符号長記憶手段に固定長のライン符号長を記憶することで、ライン単位のメモリアクセスが可能になる。
また、請求項6にかかる発明は、前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することを特徴とする。
この発明によれば、請求項2において、ライン符号長記憶手段により記憶されたライン符号長を固定長なデータとし、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることが可能になる。
また、請求項7にかかる発明は、前記画像符号長記憶手段により記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする。
この発明によれば、請求項4において、画像符号長記憶手段により記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることが可能になる。
また、請求項8にかかる発明は、さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加するNOP付加手段を有することを特徴とする。
この発明によれば、請求項2において、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加することにより、ワード単位の調節が可能になる。
また、請求項9にかかる発明は、前記ライン符号読み出し手段は、前記ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする。
この発明によれば、請求項1において、ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことが可能になる。
また、請求項10にかかる発明は、ライン単位の符号を記憶するライン符号記憶工程と、前記ライン符号記憶工程で記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶工程と、前記ラインタグ記憶工程で記憶されたライン単位のライン符号の符号長を、前記符号の終端から1ライン分読み込むラインタグ読み出し工程と、前記ラインタグ読み出し工程で読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成工程と、前記ライン符号先頭アドレス生成工程で求めたライン符号先頭アドレスにより、前記ライン符号記憶工程で記憶されたライン単位の符号を読み込むライン符号読み出し工程と、前記ライン符号読み出し工程で読み込まれたライン符号を、先頭から順次復号するライン符号復号工程と、前記ライン符号復号工程により復号されたライン単位の画像データを記憶するライン画像データ記憶工程と、前記ライン画像データ記憶工程で記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理工程と、を含むことを特徴とする。
この発明によれば、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う画像処理方法が実現可能になる。
また、請求項11にかかる発明は、画像データを記憶する画像データ記憶工程と、前記画像データ記憶工程で記憶された画像データをライン単位に読み込む画像データ読み出し工程と、前記画像データ読み出し工程で読み込まれた画像データをライン単位に符号化するライン符号化工程と、前記ライン符号化工程で符号化されたライン単位の符号長を計測するライン符号長計測工程と、前記ライン符号化工程で符号化された符号データを記憶するライン符号記憶工程と、前記ライン符号長計測工程で計測されたライン単位のライン符号長を記憶するライン符号長記憶工程と、を含むことを特徴とする。
この発明によれば、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することが可能になる。
また、請求項12にかかる発明は、さらに、前記ライン符号化工程で符号化された画像データの符号長を計測する画像符号長計測工程と、前記画像符号長計測工程で求めた画像データ単位の符号長を記憶する画像符号長記憶工程と、を含むことを特徴とする。
この発明によれば、請求項11において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことが可能になる。
また、請求項13にかかる発明は、さらに、画像データの符号長を記憶する画像符号長記憶工程と、前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成工程と、前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成工程と、を含むことを特徴とする。
この発明によれば、請求項10において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理が可能になる。
また、請求項14にかかる発明は、前記ライン符号記憶工程で記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであることを特徴とする。
この発明によれば、請求項11において、可変長方式な符号を記憶し、また、固定長のライン符号長を記憶することで、ライン単位のメモリアクセスが可能になる。
また、請求項15にかかる発明は、前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶工程で記憶されたライン単位の符号の終端に付加することを特徴とする。
この発明によれば、請求項11において、記憶されたライン符号長を固定長なデータとし、記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることが可能になる。
また、請求項16にかかる発明は、前記画像符号長記憶工程で記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする。
この発明によれば、請求項13において、記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることが可能になる。
また、請求項17にかかる発明は、さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加するNOP付加工程を含むことを特徴とする。
この発明によれば、請求項11において、記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加することにより、ワード単位の調節が可能になる。
また、請求項18にかかる発明は、前記ライン符号読み出し工程は、前記ライン符号先頭アドレス生成工程で生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする。
この発明によれば、請求項10において、生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことが可能になる。
また、請求項19にかかる発明は、請求項10から18の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とする。
この発明によれば、請求項10から18の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことにより、請求項10から18の何れか一つに記載の画像処理方法をコンピュータ上で実行することが可能になる。
本発明(請求項1)にかかる画像処理装置は、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う装置が実現するという効果を奏する。
また、本発明(請求項2)にかかる画像処理装置は、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することができるという効果を奏する。
また、本発明(請求項3)にかかる画像処理装置は、請求項2において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことができるという効果を奏する。
また、本発明(請求項4)にかかる画像処理装置は、請求項1において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理ができるという効果を奏する。
また、本発明(請求項5)にかかる画像処理装置は、請求項2において、ライン符号記憶手段に可変長方式な符号を記憶し、また、ライン符号長記憶手段に固定長のライン符号長を記憶することで、ライン単位のメモリアクセスを行うことができるという効果を奏する。
また、本発明(請求項6)にかかる画像処理装置は、請求項2において、ライン符号長記憶手段により記憶されたライン符号長を固定長なデータとし、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることができるという効果を奏する。
また、本発明(請求項7)にかかる画像処理装置は、請求項4において、画像符号長記憶手段により記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることができるという効果を奏する。
また、本発明(請求項8)にかかる画像処理装置は、請求項2において、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加することにより、ワード単位の調節ができるという効果を奏する。
また、本発明(請求項9)にかかる画像処理装置は、請求項1において、ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことができるという効果を奏する。
また、本発明(請求項10)にかかる画像処理方法は、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う画像処理方法が実現するという効果を奏する。
また、本発明(請求項11)にかかる画像処理方法は、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することができるという効果を奏する。
また、本発明(請求項12)にかかる画像処理方法は、請求項11において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことができるという効果を奏する。
また、本発明(請求項13)にかかる画像処理方法は、請求項10において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理ができるという効果を奏する。
また、本発明(請求項14)にかかる画像処理方法は、請求項11において、可変長方式な符号を記憶し、また、固定長のライン符号長を記憶することで、ライン単位のメモリアクセスができるという効果を奏する。
また、本発明(請求項15)にかかる画像処理方法は、請求項11において、記憶されたライン符号長を固定長なデータとし、記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることができるという効果を奏する。
また、本発明(請求項16)にかかる画像処理方法は、請求項13において、記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることができるという効果を奏する。
また、本発明(請求項17)にかかる画像処理方法は、請求項11において、記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にNOPデータを付加することにより、ワード単位の調節ができるという効果を奏する。
また、本発明(請求項18)にかかる画像処理方法は、請求項10において、生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことができるという効果を奏する。
また、本発明(請求項19)にかかるコンピュータ読み取り可能な記録媒体は、請求項10から18の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことにより、請求項10から18の何れか一つに記載の画像処理方法をコンピュータ上で実行することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、コンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。
(実施の形態)
本発明は、たとえば、180度回転の復号処理において、画像データの符号長から、最終ラインの付加された符号長を読み込むことにより最終ライン符号の先頭アドレスを求め、1ワード前の最終ライン−1の符号長を求め、つぎのワードの最終ライン符号を順次復号し、1ラインの画像データとして蓄え、1ライン分の画像データを蓄えた後、ワード単位の反転と、ワード内部の反転を行い、1ラインを出力し、つぎに、最終ライン−1の符号長と最終ライン符号の先頭アドレスから最終ライン−1符号の先頭アドレスを求め、最終ラインと同様に順次処理していくことにより、180度回転の復号処理を簡易に行うことを可能とするものであり、また、処理の高速化と、ゲート規模の縮小とメモリ容量の削減を行うことを可能とするものである。すなわち、本発明は、符号を直接180度回転復号することが可能であり、1度メインメモリへ、復号後の画像を展開することがない、また大きなワークメモリを必要としない。以下、具体的に説明する。
まず、本発明による画像処理装置が搭載される画像形成装置(プリンタ)の構成および動作について説明する。図1は、本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。以下、図1の画像形成装置をカラープリンタと記述する。なお、この実施の形態ではレーザーカラープリンタを例にとるが、インクジェットプリンタなど他のカラープリンタであってもよい。
この図1に示すカラープリンタ100は、レーザー光書込みおよび電子写真プロセスにしたがい、4色(Y(イエロー)、M(マゼンタ)、C(シアン)、K(ブラック))の画像をそれぞれ独立に配置された作像系1Y、1M、1C、1Kで形成し、この4色の画像を記録紙に順次重ね合わせて転写し合成する4ドラムタンデムエンジンタイプの画像形成装置である。
各作像系1Y、1M、1C、1Kは、像担持体としての感光体、たとえば小径のOPC(有機感光体)ドラム2Y、2M、2C、2Kを有し、このOPCドラム2Y、2M、2C、2Kを取り囲むように作像の上流側から帯電手段としての帯電ローラ3Y、3M、3C、3Kと、OPCドラム2Y、2M、2C、2K上の静電潜像をそれぞれ現像剤で現像してY、M、C、K各色のトナー像とする現像装置4Y、4M、4C、4Kと、クリーニング装置5Y、5M、5C、5Kと、除電装置6Y、6M、6C、6Kなどが配置されている。
各現像装置4Y、4M、4C、4Kの脇には、Yトナー、Mトナー、Cトナー、Kトナーをそれぞれ現像装置4Y、4M、4C、4Kへ所定の色のトナーを補給するトナーボトルユニット7Y、7M、7C、7Kが配置されている。また、各作像系1Y、1M、1C、1Kはそれぞれ独立に配置されたレーザーによる光書き込み装置8Y、8M、8C、8Kが配置され、この光書き込み装置8Y、8M、8C、8Kはレーザー光源としてのレーザーダイオード(LD)光源9Y、9M、9C、9Kや、コリメートレインズ10Y、1
0M、10C、10K、fθレンズ11Y、11M、11C、11K、といった光学部品、偏向走査手段としてのポリゴンミラー12Y、12M、12C、12K、折り返しミラー13Y、13M、13C、13K、14Y、14M、14C、14Kなどを有する。
各作像系1Y、1M、1C、1Kは垂直に配列され、その右側には転写ベルトユニット15がOPCドラム2Y、2M、2C、2Kに接する形で配置される。転写ベルトユニット15は、転写ベルト16がローラ17〜20に張架されて駆動源(不図示)により回転駆動される。装置下側には転写材としての記録紙が収納された給紙トレイ21が配置され、装置上部に熱定着ローラと加圧ローラを有する定着装置22、排紙ローラ23および排紙トレイ24が配設されている。
作像時には、各作像系1Y、1M、1C、1Kにおいて、それぞれ、OPCドラム2Y、2M、2C、2Kが駆動源(不図示)により回転駆動され、帯電ローラ3Y、3M、3C、3KによりOPCドラム2Y、2M、2C、2Kが一様に帯電されて光書き込み装置8Y、8M、8C、8Kが各色の画像データに基づきレーザーダイオードを変調し、そのレーザー光を偏向走査してOPCドラム2Y、2M、2C、2Kに光書込みを行なうことによって、OPCドラム2Y、2M、2C、2K上に静電潜像が形成される。
このOPCドラム2Y、2M、2C、2K上の静電潜像はそれぞれ現像装置4Y、4M、4C、4Kにより現像されてY、M、C、K各色のトナー像となり、一方、給紙トレイ21から給紙ローラ25により記録紙が水平方向に給紙されて搬送系により作像系1Y、1M、1C、1K方向へ垂直に搬送される。この記録紙は、転写ベルト16に静電的に吸着保持されて転写ベルト16により搬送され、転写バイアス印加手段(不図示)により転写バイアスが印加されてOPCドラム2Y、2M、2C、2K上のY、M、C、K各色のトナー像を順次に重ねて合わせて記録紙に転写することでフルカラー画像が記録紙上に形成される。このフルカラー画像が形成された記録紙は、定着装置22によりフルカラーのトナー画像が熱および圧力の作用によって定着されて排紙ローラ23により排紙トレイ24へ排出される。なお、上述した各機能要素を駆動制御し、また各種の画像処理などを実行する電装・制御装置26が搭載されている。
つぎに、以上のように構成されたカラープリンタにおける画像処理装置の詳細な構成および動作について説明する。図2は、図1におけるカラープリンタの電装・制御装置26の構成を示すブロック図である。この電装・制御装置26は、カラープリンタ(プリンタエンジン)の全体の制御を行なうCPU101、メモリコントローラ103に接続され、CPU101とメモリコントローラ103間のインターフェイス制御を実行するCPUI/F102、メインメモリ104を制御し、CPU101のローカルバス、復号装置、符号化装置、描画装置、通信コントローラなどとメインメモリ104との転送を制御するメモリコントローラ103、CPU101からの画像やCPU101のプログラムやバンドデータや、ページの圧縮データなどの各種データなどを格納するメインメモリ104、CPU101から描画コマンドを受け取りメインメモリ104のバンドを描画する描画装置105、メインメモリ104のバンドを符号化し、メインメモリ104の符号ページメモリ領域へ符号データを送る符号化装置106、符号化装置106により符号化された符号を受け取り、復号化し、エンジンコントローラへ転送する復号装置107、復号装置107で復号された画像データを受けとり、プリンタエンジンへ転送するエンジンコントローラ109、プリンタエンジン110、ネットワーク50によりPCからのPDLを受け取りメインメモリ104へ転送する通信コントローラ116、ROM、パネルコントローラなどとCPU101、メインメモリ104などとインターフェイス制御を実行するローカルバスI/F111、文字などのフォント情報やCPU101のプログラムなどを格納するROM112、オペレーション用のパネル115を制御するパネルコントローラ114、ユーザーからの操作をプリンタへ知らせるパネル115、PDL(ページ記述言語)を生成し、ネットワーク50を介してカラープリンタへ転送するPC(パーソナルコンピュータ)200を備えている。
なお、ここで用いるネットワークは、たとえば公衆回線や専用回線を経由して外部と接続するWAN(Wide Area Network:広域通信網)と、同一敷地内でネットークを構築するLAN(Local Area Network:構内通信網)に分類される方式、あるいは、そのいずれの方式であってもよい。また、インターネット機能を備える場合、TCP/IP(Transmission Contorol Protocol/Internet Protocol)であってもよい。さらには、無線LANによる接続であってももちろんよい。
図3は、本発明の実施の形態にかかる画像処理の流れを示すブロック図である。この図において、PC200は、マイクロソフト社のWORD(登録商標)などのアプリケーショで処理された印字データ(PDLデータ)を生成する。通信コントローラ116は、PC200からPDLデータを受け取る。メインメモリ104は、通信コントローラ116からのPDLデータをPDLメモリ領域104aに記憶する。CPU101は、メインメモリ104のPDLを解析して描画コマンドを生成し、メインメモリ104へ転送する。メインメモリ104は、CPU101により生成された描画コマンドを描画コマンドメモリ領域104bに記憶する。描画装置105は、メインメモリ104の描画コマンドメモリ領域104bに記憶された描画コマンドを受け取り、メインメモリ104のバンドメモリ領域104cへ描画する。メインメモリ104は、描画装置105により描画されたバンドデータを記憶する。符号化装置106は、メインメモリ104のバンドメモリ領域104cのバンドデータを読み込んで符号化し、メインメモリ104のページ符号メモリ領域104dへ符号を送る。メインメモリ104は、符号化装置106から符号を受け取り記憶する。復号装置107は、メインメモリ104に記憶されたバンドごとの符号からなる1ページ分の符号を読み込んで復号化し、エンジンコントローラへ転送する。エンジンコントローラを介してプリンタエンジンでプリント出力を行なう。
図4は、本発明の実施の形態にかかる画像処理の概念を示すブロック図である。この図において、PC200は、PDL(ページ記述言語)を生成し、ネットワークを介してプリンタへ転送する。プリンタの通信コントローラ116は、PC200からのPDLを受け取りメインメモリ104のPDLメモリ領域104aへ格納する。メインメモリ104は、PDLや中間言語やバンドデータやページ符号やプログラムや各種のワークデータなどを記憶する。CPU101は、PC200からのPDLを解析し、描画コマンドを生成し、メインメモリ104の描画コマンドメモリ領域104bへ中間言語を書き込む。描画装置105は、CPU101からの起動命令により描画処理を開始し、CPU101により設定された描画コマンドを読み込み、解析し、メインメモリ104のバンドメモリ領域104cへバンドを描画する。
また、符号化装置106は、メインメモリ104のバンドメモリ領域104cへバンドを読み込み符号化し、メインメモリ104のページ符号メモリ領域104dへ符号を書き込む。復号装置107は、プリンタエンジン109に同期してメインメモリ104のページ符号メモリ領域104dの符号を復号し、エンジンコントローラ109へ転送する。エンジンコントローラ109は、画像処理後の画像データをプリンタエンジン110へ転送する。プリンタエンジン110はこの画像データにしたがって記録紙に画像を形成する。
図5は、図2におけるメインメモリ104のフォーマット例を示す説明図である。PDLメモリ領域104aには、PC200からのPDL(ページ記述言語)を格納する。描画コマンドメモリ領域104bには、CPU101により生成された描画コマンドを格納する。バンドメモリ領域104cは、バンドデータを格納する。ページ符号メモリ領域104dは、符号化された1ページ分のバンドの符号データを複数ページ分格納する領域である。プログラム領域104pには、CPU101のプログラムを格納する。ワーク領域104wには、CPU101などの処理の中間結果を格納する。
図6は、本発明の実施の形態にかかる描画装置105の構成を示すブロック図である。この図6において、描画装置105は、描画コマンド読み込み装置121、描画処理装置122、出力画像キャッシュ123、入力画像キャッシュ124、メモリコントローラI/F125、描画コマンドアドレス生成装置126、コントローラ127を備えている。
描画コマンド読み込み装置125は、メインメモリ104の描画コマンドメモリ領域104bから描画コマンドを読み込み描画処理装置122へ描画コマンドを転送する。描画処理装置122は、描画コマンド読み込み装置121からの描画コマンドを読み込み、描画コマンドを解析し、描画コマンドのバイト数を求める。また、描画コマンド読み込み装置121は、描画コマンドアドレス生成装置126へ転送し、描画処理装置122へ描画する座標情報を転送する。
入力画像キャッシュ124は、メモリコントローラI/F125からの読み込まれた画像データを一時格納し、描画処理装置122へ転送する。出力画像キャッシュ123は、描画処理装置122からの描画する画像データを受け取り一時格納し、メモリコントローラI/F125へ転送する。メモリコントローラI/F125は、メモリコントローラ103とのインターフェイス制御を実行する。描画コマンドアドレス生成装置126は、メインメモリ104の描画コマンドメモリ領域104aの描画コマンドを読み込むためのアドレスを生成する。コントローラ127は、この描画装置105の全体を制御する。
図7は、本発明の実施の形態にかかる符号化装置106の構成を示すブロック図である。この図7に示すように符号化装置106は、メモリコントローラI/F131、画像ラインメモリ132、JBIG符号化処理装置133、符号ラインメモリ134、ライン符号カウント装置135、ライン符号書き込み装置136、符号カウント装置137、符号ヘッダ書き込み装置138、ラインTAG書き込み装置139、画像データ読み込み装置140、コントローラ141を備えている。
メモリコントローラI/F131は、メモリコントローラ103とのインターフェイスである。画像データ読み込み装置140は、メモリコントローラI/Fを131介してメインメモリ104のバンドメモリ領域104cからライン単位に画像データを読み込み画像ラインメモリ132へ書き込む。画像ラインメモリ132は、1ライン分の画像データを一時記憶する。JBIG符号化処理装置133は、JBIG規格の符号化方式により画像データを符号化し、符号ラインメモリ134へ転送する。符号ラインメモリ134は、符号データを一時記憶する。ライン符号カウンタ装置135は、符号ラインメモリ134へ書き込まれた符号データをカウントする。ライン符号書き込み装置136は、符号ラインメモリ134へ書き込まれた符号データを読み込み、メモリコントローラI/131Fを介してメインメモリ104のページ符号メモリ領域104dの符号のライン符号領域へライン符号を書き込む。図13に符号フォーマットを示す。符号はライン単位に符号化され、ライン符号はライン単位の符号である。
ラインTAG書き込み装置139は、ライン符号カウンタ装置135によりカウントされたライン単位の符号ワード数をラインTAGとして、メモリコントローラI/F131を介してメインメモリ104のページ符号メモリ領域104dの符号のラインTAG領域にラインTAGを書き込む。図13に符号フォーマットを示す。符号はライン単位に符号化され、ラインTAGはライン単位のライン符号の終端に付加される。
符号カウント装置137は、符号単位に符号のワード数をカウントする。符号ヘッダ書き込み装置138は、符号カウント装置137でカウントされた符号のワード数を符号ヘッダとして、メモリコントローラI/F131を介してメインメモリ104のページ符号メモリ領域104dの符号の符号ヘッダ領域に符号ヘッダを書き込む。図13に符号フォーマットを示す。符号はライン単位に符号化され、符号ヘッダは符号の先頭に付加される。コントローラ141は、この符号化装置16全体を制御する。
図9は、本発明の実施の形態にかかる符号化装置106の動作を示すフローチャートである。この処理は、図7に示した符号化装置106の構成により、コントローラ141によって各構成要素が制御するものである。まず、各値の初期化としてIY=0、ライン符号カウンタ=0、符号カウンタ=0とする(ステップS1)。続いて、メインメモリ104のバンドメモリ領域104cからライン単位に画像データを読み込みIYライン目の画像ラインメモリ132へ書き込む(ステップS2)。さらにJBIG符号化処理装置133は画像ラインメモリ132から画像データを読み込み符号化し、符号ラインメモリ134へ書き込む(ステップS3)。続いて、ライン符号カウント装置135は画像ラインメモリ132へ書き込まれた符号データをカウントする(ステップS4)。また、符号カウント装置137は画像ラインメモリ132へ書き込まれた符号データをカウントする(ステップS5)。その後、1ライン分の画像データを符号化したか否かを判断する(ステップS6)。ここで、1ライン分の画像データを符号化したと判断した場合、ライン符号書き込み装置136は画像ラインメモリ132から符号を読み込み、メインメモリ104のページ符号メモリ領域104dへライン符号として書き込む(ステップS7)。続いて、ラインTAG書き込み装置139は、ライン符号の終端にライン符号カウント装置135のカウント地をラインTAG情報として書き込む(ステップS8)。その誤、IYを一つインククリメント(IY=IY+1)し、またライン符号カウンタ=0として(ステップS9)、IY<バンド高さであるかを判断する(ステップS10)。ここで、IY<バンド高さの関係になっていれば、上記ステップS2に戻り、一方、IY<バンド高さの関係になっていなければ、符号ヘッダ書き込み装置138は、符号の先頭に符号カウント装置137のカウント値(符号ワード数)を符号ヘッダ情報として書き込む(ステップS11)。
図8は、本発明の実施の形態にかかる復号装置107の構成を示すブロック図である。この図8に示すように、復号装置107は、符号ヘッダ読み込み装置151、メモリコントローラI/F152、ラインTAG読み込み装置153、ライン符号アドレス生成装置154、符号ラインメモリ155、JBIG復号処理装置156、画像ラインメモリ157、ライン反転読み込み装置158、コントローラ159を備えている。
符号ヘッダ読み込み装置151は、メモリコントローラI/F152を介してメインメモリ104のページ符号メモリ領域104dに符号の符号ヘッダ領域から符号ヘッダを読み込み、符号ワード数から符号終端アドレスを求め、ラインTAG読み込み装置153へ転送する。メモリコントローラI/F152は、メモリコントローラ103とのインターフェイスである。ラインTAG読み込み装置153は、メモリコントローラI/F152を介してメインメモリ104のページメモリ符号領域104dに符号のラインTAG領域からラインTAGを読み込み、ライン単位の符号ワード数からライン符号先頭アドレスを求め、ライン符号アドレス生成装置154へ転送する。ライン符号アドレス生成装置154は、メモリコントローラI/F152を介してメインメモリ104のページ符号メモリ領域104dの符号のライン符号領域からライン符号を読み込み、符号ラインメモリ155へ転送する。符号ラインメモリ155は、1ライン分の符号を一時格納する。JBIG復号処理装置156は、JBIG規格の復号方式により符号データを復号し、画像ラインメモリ157へ転送する。画像ラインメモリ157は、復号された画像を記憶する。ライン反転読み込み装置158は、180度回転復号時に画像ラインメモリ157の画像データを図15に示すようにワード単位に反転させて、図16のようにワード内部も反転させ、エンジンコントローラ109へ転送する。コントローラ159は、この復号装置107全体を制御する。
図10は、本発明の実施の形態にかかる180度回転復号時の動作を示すフローチャートである。この動作は、図8に示した復号装置107によって行われる。まず、IYを初期化し(ステップS21)、符号ヘッダ読み込み装置151は、符号ヘッダを読み込み符号のワード数を把握する(ステップS22)。続いて、符合終端アドレス=符号先頭アドレス+符号のワード数とし(ステップS23)、また、ラインTAGアドレス=符号終端アドレスとする(ステップS24)。続いて、ラインTAG読み込み装置153は、求めたラインTAGアドレスによりラインTAG情報を読み込みIYラインのライン符号ワードを把握する(ステップS25)。続いて、ライン符号先頭アドレス=ラインTAGアドレス−ライン符号のワード数とし(ステップS26)、ライン符号アドレス生成装置154はメインメモリ104のページ符号メモリ領域104dから1ライン分の符号を読み込み符号ラインメモリ155へ格納する(ステップS27)。続いて、JBIG復号処理装置156は符号ラインメモリ135から符号を読み込み復号して画像ラインメモリ157に書き込む(ステップS28)。つぎに1ライン分の画像データを復号したか否かを判断する(ステップS29)。ここで、1ライン分の画像データを復号していなければ上記ステップS28に戻り、一方、1ライン分の画像データを復号したと判断した場合、ライン反転読み込み装置158は画像ラインメモリ137の画像データを終端から読み込み、ワードのbitを左右反転させ、エンジンコントローラ109へ順次転送する(ステップS30)。続いて、IYを一つインクリメント(IY=IY+1)とし(ステップS31)、ラインTAGアドレス=ライン符号先頭アドレス−1とし(ステップS32)、IY<バンド高さであるか否かを判断する(ステップS33)。ここで、IY<バンド高さでなければ、この処理を終了し、IY<バンド高さであれば、上記ステップS25に戻り、以降の処理を実行する。
図11は、本発明の実施の形態にかかる0度回転復号時の動作を示すフローチャートである。この動作は、図8に示した復号装置107によって行われる。まず、IYを初期化し(ステップS41)、ライン符号先頭アドレス=符号先頭アドレス+1とする(ステップS42)。すなわち、符号ヘッダを読み飛ばす。続いて、ライン符号アドレス生成装置134は、メインメモリ104のページ符号メモリ領域104dから1ライン分の符号を読み込み符号ラインメモリ155へ格納する(ステップS43)。続いて、JBIG復号処理装置156は、符号ラインメモリ155から符号を読み込み復号して画像ラインメモリ157へ書き込む(ステップS44)。つぎに、ライン符号先頭アドレス=ライン先頭アドレス+1とし(ステップS45)、1ライン分の画像データを復号したか否を判断する(ステップS46)。ここで、ライン分の画像データを復号していなければ上記ステップS44に戻り、一方、1ライン分の画像データを復号したと判断した場合、ライン反転読み込み装置158は、画像ラインメモリ157の画像データを順次読み込み、エンジンコントローラ109へ順次転送する(ステップS47)。続いて、ライン符号先頭アドレス=ライン符号先頭アドレス+1とする(ステップS48)。すなわち、ラインTAGを読み飛ばす。つぎに、IY=IY+1としてIYを一つインクリメントし(ステップS49)、IY<バンド高さであるか否かを判断する(ステップS50)。ここで、IY<バンド高さでなければ、この処理を終了し、IY<バンド高さであれば、上記ステップS43に戻り、以降の処理を実行する。
図12に圧縮する前の画像データを示す。このようにライン単位に符号化する。図13に符号のフォーマットを示す。ライン単位に符号化され、各ライン符号単位にラインTAGとして、そのライン符号のワード数を記録する。符号ヘッダは符号全体のワード数を記録する。
図14にワード単位の符号フォーマットを示す。符号ヘッダは固定長であり、ワード単位の大きさである。ライン符号は可変長であり、各ライン符号の終端にはワード単位に調節するために何もデータがないNOPが入っている。ラインTAGは固定長であり、ワード単位の大きさである。
図17は、本発明の実施の形態にかかる復号装置107の他の構成例を示すブロック図である。ここでの復号装置107は、符号読み込み装置161、メモリコントローラI/F162、符号ラインメモリ制御装置163、符号ラインメモリ164、JBIG復号処理装置165、画像ラインメモリ166、ライン反転読み込み装置167を備えている。
符号読み込み装置161は、メモリコントローラI/F162を介してメインメモリ104のページ符号メモリ領域104dに符号の符号ヘッダ領域から符号ヘッダを読み込み、符号ワード数から符号終端アドレスを求め、180度回転の場合は、終端から順次符号のアドレスを生成し、メモリコントローラI/F162へ転送する。メモリコントローラI/F162は、メモリコントローラ103とのインターフェイスである。
符号ライン制御装置163は、メモリコントローラI/F162を介してメインメモリ104のページ符号メモリ領域104dに符号を読み込み、ライン符号ワードを1ラインごと符号ラインメモリへ書き込む。このとき、ラインTAGを判断し、1ライン分のライン符号のワード数をJBIG復号処理装置165へ転送する。符号ラインメモリ164は、1ライン分の符号を1時格納する。JBIG復号処理装置165は、JBIG規格の復号方式により符号データを復号し、画像ラインメモリ166へ転送する。このときJBIG復号処理装置165は、符号ライン制御装置163から受け取ったライン符号のワード数を符号ラインメモリ164の先頭アドレスとして逆方向に、読み込み、符号を復号していく。画像ラインメモリ166は、復号された画像を記憶する。ライン反転読み込み装置167は、180度回転復号時に画像ラインメモリ146の画像データを図15に示すようにワード単位に反転させて、図16に示すようにワード内部も反転させ、エンジンコントローラ109へ転送する。コントローラ168は、この復号装置107全体を制御する。
図18は、本発明の実施の形態にかかる180度回転復号時の動作を示すフローチャートである。この動作は、図17に示した復号装置107によって行われる。まず、IYを初期化し(ステップS51)、符号ヘッダ読み込み装置161は、符号ヘッダを読み込み符号のワード数を把握する(ステップS52)。続いて、符合終端アドレス=符号先頭アドレス+符号のワード数とし(ステップS53)、符号ラインメモリ制御装置163は、ライン符号の終端からラインTAGを読み込み、JBIG復号処理装置165へ符号ワード長を転送する(ステップS54)。つぎに、符号ラインメモリ制御装置163は、ライン符号を読み込み、符号ラインメモリ164へ書き込む(ステップS55)。その後、1ライン分のライン符号を書き込んだか否かを判断する(ステップS56)。ここで、1ライン分のライン符号を書き込んでなければ、上記ステップS55に戻り、一方、1ライン分のライン符号を書き込んだと判断した場合、符号読み込みアドレス=符号ワード長とし(ステップS57)、JBIG復号処理装置165は、符号読み込みアドレスから符号を読み込み、復号処理を行い、画像ラインメモリ166へ画像データを書き込む(ステップS58)。続いて、符合読み込みアドレス=符号読み込みアドレス−1とし(ステップS59)、符号読み込みアドレス=0であるか否かを判断する(ステップS60)。ここで、符号読み込みアドレス=0でなければ上記ステップS58に戻り、一方、符号読み込みアドレス=0であれば、ライン反転読み込み装置167は画像ラインメモリ146の画像データを終端から読み込み、ワードのbitを左右反転させ、エンジンコントローラ109へ順次転送する(ステップS61)。続いて、IYを一つインクリメント(IY=IY+1)とし(ステップS62)、ラインTAGアドレス=ライン符号先頭アドレス−1とし(ステップS63)、IY<バンド高さであるか否かを判断する(ステップS64)。ここで、IY<バンド高さでなければ、この処理を終了し、IY<バンド高さであれば、上記ステップS54に戻り、以降の処理を実行する。
このように、上述した実施の形態によれば、ライン単位に符号化し、そのライン単位に符号長を計測し、ライン単位の符号に付加し、画像データの符号長を求め、符号ヘッダとして、符号の先頭に付加することにより、従来に対して少ないメモリ容量での処理が実現する。また、180度回転の復号において、画像データの符号長から、最終ラインの付加された符号長を読み込むことにより最終ライン符号の先頭アドレスを求め、1ワード前の最終ライン−1の符号長を求め、つぎのワードの最終ライン符号を順次復号し、1ラインの画像データとして蓄え、1ライン分の画像データを蓄えた後、ワード単位の反転と、ワード内部の反転を行い、1ラインを出力し、つぎに、最終ライン−1の符号長と最終ライン符号の先頭アドレスから最終ライン−1符号の先頭アドレスを求め、最終ライン同様に順次処理していくことにより、180度回転復号処理を簡易に行うことが可能であり、処理の高速化と、ゲート規模の縮小とメモリ容量の削減を行うことが可能となる。また、本方式は、符号を直接180度回転復号することが可能であり、1度メインメモリへ、復号後の画像を展開することがない、また大きなワークメモリを必要としないという効果がある。
ところで、これまで説明してきた実施の形態における画像処理方法(動作)を、プログラム化し、コンピュータ読み取り可能な記録媒体に記録し、コンピュータ上で実行することもできる。また、画像処理方法の一部をネットワーク上に有し、通信回線を通して実現することもできる。
すなわち、この実施の形態で説明した画像処理方法は、図19に示すように、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータ(CPU30)で実行することにより実現される。このプログラムは、キーボード25の操作などにより、メモリ31、ハードディスク34、フレキシブルディスク37、CD−ROM(Compact−Disc Read Only Memory)36、MO(Magneto Optical)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータ(CPU30)によって記録媒体から読み出し、必要に応じて表示装置33に表示することによって実行される。また、必要に応じてこの画像処理方法のデータを通信装置32から外部装置に送受信することも可能である。
また、このプログラムは、図20に示すように、上記記録媒体を介して、インターネット30などのネットワークによってパーソナルコンピュータなどの装置41〜43に配布することができる。
すなわち、このプログラムは、たとえばコンピュータに内蔵されている記録媒体としてのハードディスクに、あらかじめインストールした状態で提供することができる。プログラムは記録媒体に一時的あるいは永続的に格納し、コンピュータにユニットとして組み込んだり、あるいは着脱式の記録媒体として利用することで、パッケージソフトウェアとして提供することができる。
記録媒体としては、たとえば、フレキシブルディスク、CD−ROM、MOディスク、DVD、磁気ディスク、半導体メモリなどが利用できる。
プログラムは、ダウンロードサイトから、LAN(Local Area Network)やインターネットといったネットワークを介して、有線または無線でコンピュータに転送し、そのコンピュータにおいて、内蔵するハードディスクなどの記憶装置にダウンロードさせるようにすることができる。