(57)【特許請求の範囲】
【請求項１】
ライン単位の符号を記憶するライン符号記憶手段と、
前記ライン符号記憶手段に記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶手段と、
前記ラインタグ記憶手段に記憶されたライン単位のライン符号の符号長を、前記符号の終端から１ライン分読み込むラインタグ読み出し手段と、
前記ラインタグ読み出し手段により読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成手段と、
前記ライン符号先頭アドレス生成手段で求めたライン符号先頭アドレスにより、前記ライン符号記憶手段に記憶されたライン単位の符号を読み込むライン符号読み出し手段と、
前記ライン符号読み出し手段により読み込まれたライン符号を、先頭から順次復号するライン符号復号手段と、
前記ライン符号復号手段により復号されたライン単位の画像データを記憶するライン画像データ記憶手段と、
前記ライン画像データ記憶手段に記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
画像データを記憶する画像データ記憶手段と、
前記画像データ記憶手段に記憶された画像データをライン単位に読み込む画像データ読み出し手段と、
前記画像データ読み出し手段により読み込まれた画像データをライン単位に符号化するライン符号化手段と、
前記ライン符号化手段により符号化されたライン単位の符号長を計測するライン符号長計測手段と、
前記ライン符号化手段により符号化された符号データを記憶するライン符号記憶手段と、
前記ライン符号長計測手段により計測されたライン単位のライン符号長を記憶するライン符号長記憶手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
さらに、
前記ライン符号化手段により符号化された画像データの符号長を計測する画像符号長計測手段と、
前記画像符号長計測手段により求めた画像データ単位の符号長を記憶する画像符号長記憶手段と、
を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
さらに、
画像データの符号長を記憶する画像符号長記憶手段と、
前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成手段と、
前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記ライン符号記憶手段により記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記画像符号長記憶手段により記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加するＮＯＰ付加手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記ライン符号読み出し手段は、前記ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
ライン単位の符号を記憶するライン符号記憶工程と、
前記ライン符号記憶工程で記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶工程と、
前記ラインタグ記憶工程で記憶されたライン単位のライン符号の符号長を、前記符号の終端から１ライン分読み込むラインタグ読み出し工程と、
前記ラインタグ読み出し工程で読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成工程と、
前記ライン符号先頭アドレス生成工程で求めたライン符号先頭アドレスにより、前記ライン符号記憶工程で記憶されたライン単位の符号を読み込むライン符号読み出し工程と、
前記ライン符号読み出し工程で読み込まれたライン符号を、先頭から順次復号するライン符号復号工程と、
前記ライン符号復号工程により復号されたライン単位の画像データを記憶するライン画像データ記憶工程と、
前記ライン画像データ記憶工程で記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理工程と、
を含むことを特徴とする画像処理方法。
【請求項１１】
画像データを記憶する画像データ記憶工程と、
前記画像データ記憶工程で記憶された画像データをライン単位に読み込む画像データ読み出し工程と、
前記画像データ読み出し工程で読み込まれた画像データをライン単位に符号化するライン符号化工程と、
前記ライン符号化工程で符号化されたライン単位の符号長を計測するライン符号長計測工程と、
前記ライン符号化工程で符号化された符号データを記憶するライン符号記憶工程と、
前記ライン符号長計測工程で計測されたライン単位のライン符号長を記憶するライン符号長記憶工程と、
を含むことを特徴とする画像処理方法。
【請求項１２】
さらに、
前記ライン符号化工程で符号化された画像データの符号長を計測する画像符号長計測工程と、
前記画像符号長計測工程で求めた画像データ単位の符号長を記憶する画像符号長記憶工程と、
を含むことを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
さらに、
画像データの符号長を記憶する画像符号長記憶工程と、
前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成工程と、
前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成工程と、
を含むことを特徴とする請求項１０に記載の画像処理方法。
【請求項１４】
前記ライン符号記憶工程で記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであることを特徴とする請求項１１に記載の画像処理方法。
【請求項１５】
前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶工程で記憶されたライン単位の符号の終端に付加することを特徴とする請求項１１に記載の画像処理方法。
【請求項１６】
前記画像符号長記憶工程で記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする請求項１３に記載の画像処理方法。
【請求項１７】
さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加するＮＯＰ付加工程を含むことを特徴とする請求項１１に記載の画像処理方法。
【請求項１８】
前記ライン符号読み出し工程は、前記ライン符号先頭アドレス生成工程で生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする請求項１０に記載の画像処理方法。
【請求項１９】
請求項１０から１８の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラープリンタなどの画像形成装置に利用される画像処理装置、画像処理方法、コンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来、プリンタ装置などの画像形成装置においては画像データを一時的にメモリに記憶することが行われている。この場合、画像データをそのままメモリに格納しようとすると、大容量のメモリが必要になり価格が上昇してしまうことになる。これに対処するため、画像データを圧縮してメモリに格納するようにしている。そして、そのプリンタの処理フローはネットワークから受け取ったＰＤＬを解析し、描画装置が実行可能な中間言語を生成し、描画装置により、中間言語を解析し、バンドメモリへ階調処理後の画像を描画し、２値画像の圧縮アルゴリズム（ＪＢＩＧなど）により、符号化し、その符号をメモリに格納し、その後、プリントアウト時に、版ごとに遅延させて、メモリから符号データを読み込み、前記の圧縮アルゴリズムにより、復号化し、その後、Ｃ、Ｍ、Ｙ、Ｋの各版に対応するデータのプリンタエンジンに転送し、印字していた。
【０００３】
なお、上記における圧縮方式としては、算術符号化方式を採用した２値画像符号化方式の国際標準であるＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）が知られている。
【０００４】
しかしながら、プリンタ装置の両面印刷のように、データを逆の順番で出力する必要がある場合には、画像データを圧縮した圧縮コードを一旦メモリ上に展開し、展開データに対して逆順での読み出しを行なう必要があった。このため、圧縮コードを展開するためのメモリ空間が必要であるとともに展開データを記憶するために圧縮データより大きいサイズのメモリ空間が必要であった。また、展開データのメモリへのライト動作とメモリからの読み出し動作が必要となり、処理速度を低下させる原因となっていた。
【０００５】
図２１に従来におけるブロック図を示す。この図２１に示すように、１度回転前のページメモリ領域と回転後のページメモリ領域を必要とし、大きなメモリ容量が必要になる。
【０００６】
そこで、これを改善するため、たとえば特許文献１に示された画像データ圧縮・伸長装置は、１ページ分の画像データを複数個の矩形ブロックに分割し、この分割したブロック単位で圧縮してデータ管理をするようにしている。
【０００７】
また、Ｎ×Ｎブロック単位に符号化し、その符号長をブロック毎に管理し、可変長な符号を管理可能にし、ブロック符号ごとにメモリアクセスを可能とすることで、９０度単位の回転を可能としていた（たとえば、特許文献２参照）。
【０００８】
また、Ｎ×Ｎのブロック単位に圧縮された符号を、ブロックラインごと符号長を求め、ブロックライン単位に符号を管理することにより、可変長な符号を管理可能にし、ブロック符号ごとにメモリアクセスを可能とすることで、９０度単位の回転を可能としていた（たとえば、特許文献３参照）。
【０００９】
【特許文献１】特開平８−３１７２２５号公報
【特許文献２】特許第３４３７３４６号公報
【特許文献３】特開２００１−１９７４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、図２１に示されるような従来のシステムにあっては、１度回転前のページメモリ領域と回転後のページメモリ領域とをそれぞれ必要とするため、大きなメモリ容量が必要になっていた。
【００１１】
また、特許文献１、２においては、１ページの画像データを細かなブロック単位に管理するために、ブロックごとのアドレスを記憶する大きなメモリ領域が必要であり、処理が複雑になり、かつ細かくブロックに分割されるために、圧縮率が低下する。また、特許文献３においては、ブロックライン単位にアドレスを記憶する必要があり、かつ回転時にブロックライン符号の内部のアドレスを求める処理が複雑であった。
【００１２】
また、上記の方法は、符号を直接復号できないために、１度、大きなメモリ（最低ブロックのバンド幅×ブロック高さ）に復号する必要があった。
【００１３】
本発明は、上記に鑑みてなされたものであって、ライン単位に符号化し、そのライン単位に符号長を計測し、ライン単位の符号に付加し、画像データの符号長を求め、符号ヘッダとして、符号の先頭に付加することにより、従来に対して少ないメモリ容量で回転処理を実現することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、ライン単位の符号を記憶するライン符号記憶手段と、前記ライン符号記憶手段に記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶手段と、前記ラインタグ記憶手段に記憶されたライン単位のライン符号の符号長を、前記符号の終端から１ライン分読み込むラインタグ読み出し手段と、前記ラインタグ読み出し手段により読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成手段と、前記ライン符号先頭アドレス生成手段で求めたライン符号先頭アドレスにより、前記ライン符号記憶手段に記憶されたライン単位の符号を読み込むライン符号読み出し手段と、前記ライン符号読み出し手段により読み込まれたライン符号を、先頭から順次復号するライン符号復号手段と、前記ライン符号復号手段により復号されたライン単位の画像データを記憶するライン画像データ記憶手段と、前記ライン画像データ記憶手段に記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理手段と、を備えることを特徴とする。
【００１５】
この発明によれば、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う装置が実現可能になる。
【００１６】
また、請求項２にかかる発明は、画像データを記憶する画像データ記憶手段と、前記画像データ記憶手段に記憶された画像データをライン単位に読み込む画像データ読み出し手段と、前記画像データ読み出し手段により読み込まれた画像データをライン単位に符号化するライン符号化手段と、前記ライン符号化手段により符号化されたライン単位の符号長を計測するライン符号長計測手段と、前記ライン符号化手段により符号化された符号データを記憶するライン符号記憶手段と、前記ライン符号長計測手段により計測されたライン単位のライン符号長を記憶するライン符号長記憶手段と、を備えることを特徴とする。
【００１７】
この発明によれば、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することが可能になる。
【００１８】
また、請求項３にかかる発明は、さらに、前記ライン符号化手段により符号化された画像データの符号長を計測する画像符号長計測手段と、前記画像符号長計測手段により求めた画像データ単位の符号長を記憶する画像符号長記憶手段と、を有することを特徴とする。
【００１９】
この発明によれば、請求項２において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことが可能になる。
【００２０】
また、請求項４にかかる発明は、さらに、画像データの符号長を記憶する画像符号長記憶手段と、前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成手段と、前記画像符号長記憶手段により、求めた画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成手段と、を有することを特徴とする。
【００２１】
この発明によれば、請求項１において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理が可能になる。
【００２２】
また、請求項５にかかる発明は、前記ライン符号記憶手段により記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであることを特徴とする。
【００２３】
この発明によれば、請求項２において、ライン符号記憶手段に可変長方式な符号を記憶し、また、ライン符号長記憶手段に固定長のライン符号長を記憶することで、ライン単位のメモリアクセスが可能になる。
【００２４】
また、請求項６にかかる発明は、前記ライン符号長記憶手段により記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することを特徴とする。
【００２５】
この発明によれば、請求項２において、ライン符号長記憶手段により記憶されたライン符号長を固定長なデータとし、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることが可能になる。
【００２６】
また、請求項７にかかる発明は、前記画像符号長記憶手段により記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする。
【００２７】
この発明によれば、請求項４において、画像符号長記憶手段により記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることが可能になる。
【００２８】
また、請求項８にかかる発明は、さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加するＮＯＰ付加手段を有することを特徴とする。
【００２９】
この発明によれば、請求項２において、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加することにより、ワード単位の調節が可能になる。
【００３０】
また、請求項９にかかる発明は、前記ライン符号読み出し手段は、前記ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする。
【００３１】
この発明によれば、請求項１において、ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことが可能になる。
【００３２】
また、請求項１０にかかる発明は、ライン単位の符号を記憶するライン符号記憶工程と、前記ライン符号記憶工程で記憶されたライン単位の符号の終端にラインタグを付加して、ライン符号の符号長を記憶するラインタグ記憶工程と、前記ラインタグ記憶工程で記憶されたライン単位のライン符号の符号長を、前記符号の終端から１ライン分読み込むラインタグ読み出し工程と、前記ラインタグ読み出し工程で読み出されライン符号の符号長から、そのライン符号の先頭アドレスを求めるライン符号先頭アドレス生成工程と、前記ライン符号先頭アドレス生成工程で求めたライン符号先頭アドレスにより、前記ライン符号記憶工程で記憶されたライン単位の符号を読み込むライン符号読み出し工程と、前記ライン符号読み出し工程で読み込まれたライン符号を、先頭から順次復号するライン符号復号工程と、前記ライン符号復号工程により復号されたライン単位の画像データを記憶するライン画像データ記憶工程と、前記ライン画像データ記憶工程で記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うライン反転処理工程と、を含むことを特徴とする。
【００３３】
この発明によれば、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う画像処理方法が実現可能になる。
【００３４】
また、請求項１１にかかる発明は、画像データを記憶する画像データ記憶工程と、前記画像データ記憶工程で記憶された画像データをライン単位に読み込む画像データ読み出し工程と、前記画像データ読み出し工程で読み込まれた画像データをライン単位に符号化するライン符号化工程と、前記ライン符号化工程で符号化されたライン単位の符号長を計測するライン符号長計測工程と、前記ライン符号化工程で符号化された符号データを記憶するライン符号記憶工程と、前記ライン符号長計測工程で計測されたライン単位のライン符号長を記憶するライン符号長記憶工程と、を含むことを特徴とする。
【００３５】
この発明によれば、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することが可能になる。
【００３６】
また、請求項１２にかかる発明は、さらに、前記ライン符号化工程で符号化された画像データの符号長を計測する画像符号長計測工程と、前記画像符号長計測工程で求めた画像データ単位の符号長を記憶する画像符号長記憶工程と、を含むことを特徴とする。
【００３７】
この発明によれば、請求項１１において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことが可能になる。
【００３８】
また、請求項１３にかかる発明は、さらに、画像データの符号長を記憶する画像符号長記憶工程と、前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン符号長アドレス生成工程と、前記画像符号長記憶工程で求めた画像データ符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求める最終ライン先頭アドレス生成工程と、を含むことを特徴とする。
【００３９】
この発明によれば、請求項１０において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理が可能になる。
【００４０】
また、請求項１４にかかる発明は、前記ライン符号記憶工程で記憶された符号は、可変長方式な符号であり、前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであることを特徴とする。
【００４１】
この発明によれば、請求項１１において、可変長方式な符号を記憶し、また、固定長のライン符号長を記憶することで、ライン単位のメモリアクセスが可能になる。
【００４２】
また、請求項１５にかかる発明は、前記ライン符号長記憶工程で記憶されたライン符号長は固定長なデータであり、前記ライン符号記憶工程で記憶されたライン単位の符号の終端に付加することを特徴とする。
【００４３】
この発明によれば、請求項１１において、記憶されたライン符号長を固定長なデータとし、記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることが可能になる。
【００４４】
また、請求項１６にかかる発明は、前記画像符号長記憶工程で記憶された画像符号長は、固定長なデータであり、符号の最先端に付加することを特徴とする。
【００４５】
この発明によれば、請求項１３において、記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることが可能になる。
【００４６】
また、請求項１７にかかる発明は、さらに、前記ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加するＮＯＰ付加工程を含むことを特徴とする。
【００４７】
この発明によれば、請求項１１において、記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加することにより、ワード単位の調節が可能になる。
【００４８】
また、請求項１８にかかる発明は、前記ライン符号読み出し工程は、前記ライン符号先頭アドレス生成工程で生成されたアドレスから順次逆方向に符号を読み込むことを特徴とする。
【００４９】
この発明によれば、請求項１０において、生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことが可能になる。
【００５０】
また、請求項１９にかかる発明は、請求項１０から１８の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とする。
【００５１】
この発明によれば、請求項１０から１８の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことにより、請求項１０から１８の何れか一つに記載の画像処理方法をコンピュータ上で実行することが可能になる。
【発明の効果】
【００５２】
本発明（請求項１）にかかる画像処理装置は、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う装置が実現するという効果を奏する。
【００５３】
また、本発明（請求項２）にかかる画像処理装置は、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することができるという効果を奏する。
【００５４】
また、本発明（請求項３）にかかる画像処理装置は、請求項２において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことができるという効果を奏する。
【００５５】
また、本発明（請求項４）にかかる画像処理装置は、請求項１において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理ができるという効果を奏する。
【００５６】
また、本発明（請求項５）にかかる画像処理装置は、請求項２において、ライン符号記憶手段に可変長方式な符号を記憶し、また、ライン符号長記憶手段に固定長のライン符号長を記憶することで、ライン単位のメモリアクセスを行うことができるという効果を奏する。
【００５７】
また、本発明（請求項６）にかかる画像処理装置は、請求項２において、ライン符号長記憶手段により記憶されたライン符号長を固定長なデータとし、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることができるという効果を奏する。
【００５８】
また、本発明（請求項７）にかかる画像処理装置は、請求項４において、画像符号長記憶手段により記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることができるという効果を奏する。
【００５９】
また、本発明（請求項８）にかかる画像処理装置は、請求項２において、ライン符号記憶手段により記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加することにより、ワード単位の調節ができるという効果を奏する。
【００６０】
また、本発明（請求項９）にかかる画像処理装置は、請求項１において、ライン符号先頭アドレス生成手段により生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことができるという効果を奏する。
【００６１】
また、本発明（請求項１０）にかかる画像処理方法は、ライン単位に符号化された符号を記憶し、このライン単位の符号に付加するライン符号の符号長の終端にラインタグを記憶し、このライン単位のライン符号の符号長を終端から読み出し、そのライン符号の先頭アドレスを求め、このライン符号先頭アドレスにより、ライン単位の符号を読み込み、ライン符号を先頭から順次復号し、その画像データを記憶した後、この記憶されたライン単位の画像データを終端から読み込み、ワード単位にワード位置を左右反転し、ワード内部での反転を行うことで、従来のようにブロック単位の反転による大きなメモリ領域を必要とせずに、少ないメモリ容量で画像データの反転を行う画像処理方法が実現するという効果を奏する。
【００６２】
また、本発明（請求項１１）にかかる画像処理方法は、画像データを記憶し、当該画像データをライン単位に読み込んで符号化し、この符号長を計測して記憶することにより、符号ヘッダとして符号の先頭に付加することができるという効果を奏する。
【００６３】
また、本発明（請求項１２）にかかる画像処理方法は、請求項１１において、符号化された画像データの符号長を計測し、この画像データ単位の符号長を記憶することにより、計測された符号のワード数を符号ヘッダとして符号ヘッダ領域に書き込むことができるという効果を奏する。
【００６４】
また、本発明（請求項１３）にかかる画像処理方法は、請求項１０において、画像データの符号長を記憶し、この画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求め、さらに画像データの符号長により最終ラインのライン符号の終端に付加するライン符号長データのアドレスを求めることにより、ワード単位の復号処理ができるという効果を奏する。
【００６５】
また、本発明（請求項１４）にかかる画像処理方法は、請求項１１において、可変長方式な符号を記憶し、また、固定長のライン符号長を記憶することで、ライン単位のメモリアクセスができるという効果を奏する。
【００６６】
また、本発明（請求項１５）にかかる画像処理方法は、請求項１１において、記憶されたライン符号長を固定長なデータとし、記憶されたライン単位の符号の終端に付加することで、最終ライン符号のアドレスを求めることができるという効果を奏する。
【００６７】
また、本発明（請求項１６）にかかる画像処理方法は、請求項１３において、記憶された画像符号長を固定長なデータとし、符号の最先端に付加することで、ラインの先頭アドレスを求めることができるという効果を奏する。
【００６８】
また、本発明（請求項１７）にかかる画像処理方法は、請求項１１において、記憶されたライン単位の符号の終端に付加するときに、ワード単位に付加させるために、ワードの中の符号のあまりの部分にＮＯＰデータを付加することにより、ワード単位の調節ができるという効果を奏する。
【００６９】
また、本発明（請求項１８）にかかる画像処理方法は、請求項１０において、生成されたアドレスから順次逆方向に符号を読み込むことにより、回転復号処理を簡単に行うことができるという効果を奏する。
【００７０】
また、本発明（請求項１９）にかかるコンピュータ読み取り可能な記録媒体は、請求項１０から１８の何れか一つに記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことにより、請求項１０から１８の何れか一つに記載の画像処理方法をコンピュータ上で実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００７１】
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、コンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。
【００７２】
（実施の形態）
本発明は、たとえば、１８０度回転の復号処理において、画像データの符号長から、最終ラインの付加された符号長を読み込むことにより最終ライン符号の先頭アドレスを求め、１ワード前の最終ライン−１の符号長を求め、つぎのワードの最終ライン符号を順次復号し、１ラインの画像データとして蓄え、１ライン分の画像データを蓄えた後、ワード単位の反転と、ワード内部の反転を行い、１ラインを出力し、つぎに、最終ライン−１の符号長と最終ライン符号の先頭アドレスから最終ライン−１符号の先頭アドレスを求め、最終ラインと同様に順次処理していくことにより、１８０度回転の復号処理を簡易に行うことを可能とするものであり、また、処理の高速化と、ゲート規模の縮小とメモリ容量の削減を行うことを可能とするものである。すなわち、本発明は、符号を直接１８０度回転復号することが可能であり、１度メインメモリへ、復号後の画像を展開することがない、また大きなワークメモリを必要としない。以下、具体的に説明する。
【００７３】
まず、本発明による画像処理装置が搭載される画像形成装置（プリンタ）の構成および動作について説明する。図１は、本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。以下、図１の画像形成装置をカラープリンタと記述する。なお、この実施の形態ではレーザーカラープリンタを例にとるが、インクジェットプリンタなど他のカラープリンタであってもよい。
【００７４】
この図１に示すカラープリンタ１００は、レーザー光書込みおよび電子写真プロセスにしたがい、４色（Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック））の画像をそれぞれ独立に配置された作像系１Ｙ、１Ｍ、１Ｃ、１Ｋで形成し、この４色の画像を記録紙に順次重ね合わせて転写し合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００７５】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは、像担持体としての感光体、たとえば小径のＯＰＣ（有機感光体）ドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを有し、このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを取り囲むように作像の上流側から帯電手段としての帯電ローラ３Ｙ、３Ｍ、３Ｃ、３Ｋと、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ、Ｍ、Ｃ、Ｋ各色のトナー像とする現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋと、クリーニング装置５Ｙ、５Ｍ、５Ｃ、５Ｋと、除電装置６Ｙ、６Ｍ、６Ｃ、６Ｋなどが配置されている。
【００７６】
各現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋの脇には、Ｙトナー、Ｍトナー、Ｃトナー、Ｋトナーをそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋへ所定の色のトナーを補給するトナーボトルユニット７Ｙ、７Ｍ、７Ｃ、７Ｋが配置されている。また、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋはそれぞれ独立に配置されたレーザーによる光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが配置され、この光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋはレーザー光源としてのレーザーダイオード（ＬＤ）光源９Ｙ、９Ｍ、９Ｃ、９Ｋや、コリメートレインズ１０Ｙ、１
０Ｍ、１０Ｃ、１０Ｋ、ｆθレンズ１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ、といった光学部品、偏向走査手段としてのポリゴンミラー１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ、折り返しミラー１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋなどを有する。
【００７７】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは垂直に配列され、その右側には転写ベルトユニット１５がＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに接する形で配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７〜２０に張架されて駆動源（不図示）により回転駆動される。装置下側には転写材としての記録紙が収納された給紙トレイ２１が配置され、装置上部に熱定着ローラと加圧ローラを有する定着装置２２、排紙ローラ２３および排紙トレイ２４が配設されている。
【００７８】
作像時には、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋにおいて、それぞれ、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが駆動源(不図示)により回転駆動され、帯電ローラ３Ｙ、３Ｍ、３Ｃ、３ＫによりＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが一様に帯電されて光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが各色の画像データに基づきレーザーダイオードを変調し、そのレーザー光を偏向走査してＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに光書込みを行なうことによって、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上に静電潜像が形成される。
【００７９】
このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像はそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋにより現像されてＹ、Ｍ、Ｃ、Ｋ各色のトナー像となり、一方、給紙トレイ２１から給紙ローラ２５により記録紙が水平方向に給紙されて搬送系により作像系１Ｙ、１Ｍ、１Ｃ、１Ｋ方向へ垂直に搬送される。この記録紙は、転写ベルト１６に静電的に吸着保持されて転写ベルト１６により搬送され、転写バイアス印加手段（不図示）により転写バイアスが印加されてＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上のＹ、Ｍ、Ｃ、Ｋ各色のトナー像を順次に重ねて合わせて記録紙に転写することでフルカラー画像が記録紙上に形成される。このフルカラー画像が形成された記録紙は、定着装置２２によりフルカラーのトナー画像が熱および圧力の作用によって定着されて排紙ローラ２３により排紙トレイ２４へ排出される。なお、上述した各機能要素を駆動制御し、また各種の画像処理などを実行する電装・制御装置２６が搭載されている。
【００８０】
つぎに、以上のように構成されたカラープリンタにおける画像処理装置の詳細な構成および動作について説明する。図２は、図１におけるカラープリンタの電装・制御装置２６の構成を示すブロック図である。この電装・制御装置２６は、カラープリンタ（プリンタエンジン）の全体の制御を行なうＣＰＵ１０１、メモリコントローラ１０３に接続され、ＣＰＵ１０１とメモリコントローラ１０３間のインターフェイス制御を実行するＣＰＵＩ／Ｆ１０２、メインメモリ１０４を制御し、ＣＰＵ１０１のローカルバス、復号装置、符号化装置、描画装置、通信コントローラなどとメインメモリ１０４との転送を制御するメモリコントローラ１０３、ＣＰＵ１０１からの画像やＣＰＵ１０１のプログラムやバンドデータや、ページの圧縮データなどの各種データなどを格納するメインメモリ１０４、ＣＰＵ１０１から描画コマンドを受け取りメインメモリ１０４のバンドを描画する描画装置１０５、メインメモリ１０４のバンドを符号化し、メインメモリ１０４の符号ページメモリ領域へ符号データを送る符号化装置１０６、符号化装置１０６により符号化された符号を受け取り、復号化し、エンジンコントローラへ転送する復号装置１０７、復号装置１０７で復号された画像データを受けとり、プリンタエンジンへ転送するエンジンコントローラ１０９、プリンタエンジン１１０、ネットワーク５０によりＰＣからのＰＤＬを受け取りメインメモリ１０４へ転送する通信コントローラ１１６、ＲＯＭ、パネルコントローラなどとＣＰＵ１０１、メインメモリ１０４などとインターフェイス制御を実行するローカルバスＩ／Ｆ１１１、文字などのフォント情報やＣＰＵ１０１のプログラムなどを格納するＲＯＭ１１２、オペレーション用のパネル１１５を制御するパネルコントローラ１１４、ユーザーからの操作をプリンタへ知らせるパネル１１５、ＰＤＬ（ページ記述言語）を生成し、ネットワーク５０を介してカラープリンタへ転送するＰＣ（パーソナルコンピュータ）２００を備えている。
【００８１】
なお、ここで用いるネットワークは、たとえば公衆回線や専用回線を経由して外部と接続するＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域通信網）と、同一敷地内でネットークを構築するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：構内通信網）に分類される方式、あるいは、そのいずれの方式であってもよい。また、インターネット機能を備える場合、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｏｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）であってもよい。さらには、無線ＬＡＮによる接続であってももちろんよい。
【００８２】
図３は、本発明の実施の形態にかかる画像処理の流れを示すブロック図である。この図において、ＰＣ２００は、マイクロソフト社のＷＯＲＤ（登録商標）などのアプリケーショで処理された印字データ（ＰＤＬデータ）を生成する。通信コントローラ１１６は、ＰＣ２００からＰＤＬデータを受け取る。メインメモリ１０４は、通信コントローラ１１６からのＰＤＬデータをＰＤＬメモリ領域１０４ａに記憶する。ＣＰＵ１０１は、メインメモリ１０４のＰＤＬを解析して描画コマンドを生成し、メインメモリ１０４へ転送する。メインメモリ１０４は、ＣＰＵ１０１により生成された描画コマンドを描画コマンドメモリ領域１０４ｂに記憶する。描画装置１０５は、メインメモリ１０４の描画コマンドメモリ領域１０４ｂに記憶された描画コマンドを受け取り、メインメモリ１０４のバンドメモリ領域１０４ｃへ描画する。メインメモリ１０４は、描画装置１０５により描画されたバンドデータを記憶する。符号化装置１０６は、メインメモリ１０４のバンドメモリ領域１０４ｃのバンドデータを読み込んで符号化し、メインメモリ１０４のページ符号メモリ領域１０４ｄへ符号を送る。メインメモリ１０４は、符号化装置１０６から符号を受け取り記憶する。復号装置１０７は、メインメモリ１０４に記憶されたバンドごとの符号からなる１ページ分の符号を読み込んで復号化し、エンジンコントローラへ転送する。エンジンコントローラを介してプリンタエンジンでプリント出力を行なう。
【００８３】
図４は、本発明の実施の形態にかかる画像処理の概念を示すブロック図である。この図において、ＰＣ２００は、ＰＤＬ（ページ記述言語）を生成し、ネットワークを介してプリンタへ転送する。プリンタの通信コントローラ１１６は、ＰＣ２００からのＰＤＬを受け取りメインメモリ１０４のＰＤＬメモリ領域１０４ａへ格納する。メインメモリ１０４は、ＰＤＬや中間言語やバンドデータやページ符号やプログラムや各種のワークデータなどを記憶する。ＣＰＵ１０１は、ＰＣ２００からのＰＤＬを解析し、描画コマンドを生成し、メインメモリ１０４の描画コマンドメモリ領域１０４ｂへ中間言語を書き込む。描画装置１０５は、ＣＰＵ１０１からの起動命令により描画処理を開始し、ＣＰＵ１０１により設定された描画コマンドを読み込み、解析し、メインメモリ１０４のバンドメモリ領域１０４ｃへバンドを描画する。
【００８４】
また、符号化装置１０６は、メインメモリ１０４のバンドメモリ領域１０４ｃへバンドを読み込み符号化し、メインメモリ１０４のページ符号メモリ領域１０４ｄへ符号を書き込む。復号装置１０７は、プリンタエンジン１０９に同期してメインメモリ１０４のページ符号メモリ領域１０４ｄの符号を復号し、エンジンコントローラ１０９へ転送する。エンジンコントローラ１０９は、画像処理後の画像データをプリンタエンジン１１０へ転送する。プリンタエンジン１１０はこの画像データにしたがって記録紙に画像を形成する。
【００８５】
図５は、図２におけるメインメモリ１０４のフォーマット例を示す説明図である。ＰＤＬメモリ領域１０４ａには、ＰＣ２００からのＰＤＬ（ページ記述言語）を格納する。描画コマンドメモリ領域１０４ｂには、ＣＰＵ１０１により生成された描画コマンドを格納する。バンドメモリ領域１０４ｃは、バンドデータを格納する。ページ符号メモリ領域１０４ｄは、符号化された１ページ分のバンドの符号データを複数ページ分格納する領域である。プログラム領域１０４ｐには、ＣＰＵ１０１のプログラムを格納する。ワーク領域１０４ｗには、ＣＰＵ１０１などの処理の中間結果を格納する。
【００８６】
図６は、本発明の実施の形態にかかる描画装置１０５の構成を示すブロック図である。この図６において、描画装置１０５は、描画コマンド読み込み装置１２１、描画処理装置１２２、出力画像キャッシュ１２３、入力画像キャッシュ１２４、メモリコントローラＩ／Ｆ１２５、描画コマンドアドレス生成装置１２６、コントローラ１２７を備えている。
【００８７】
描画コマンド読み込み装置１２５は、メインメモリ１０４の描画コマンドメモリ領域１０４ｂから描画コマンドを読み込み描画処理装置１２２へ描画コマンドを転送する。描画処理装置１２２は、描画コマンド読み込み装置１２１からの描画コマンドを読み込み、描画コマンドを解析し、描画コマンドのバイト数を求める。また、描画コマンド読み込み装置１２１は、描画コマンドアドレス生成装置１２６へ転送し、描画処理装置１２２へ描画する座標情報を転送する。
【００８８】
入力画像キャッシュ１２４は、メモリコントローラＩ／Ｆ１２５からの読み込まれた画像データを一時格納し、描画処理装置１２２へ転送する。出力画像キャッシュ１２３は、描画処理装置１２２からの描画する画像データを受け取り一時格納し、メモリコントローラＩ／Ｆ１２５へ転送する。メモリコントローラＩ／Ｆ１２５は、メモリコントローラ１０３とのインターフェイス制御を実行する。描画コマンドアドレス生成装置１２６は、メインメモリ１０４の描画コマンドメモリ領域１０４ａの描画コマンドを読み込むためのアドレスを生成する。コントローラ１２７は、この描画装置１０５の全体を制御する。
【００８９】
図７は、本発明の実施の形態にかかる符号化装置１０６の構成を示すブロック図である。この図７に示すように符号化装置１０６は、メモリコントローラＩ／Ｆ１３１、画像ラインメモリ１３２、ＪＢＩＧ符号化処理装置１３３、符号ラインメモリ１３４、ライン符号カウント装置１３５、ライン符号書き込み装置１３６、符号カウント装置１３７、符号ヘッダ書き込み装置１３８、ラインＴＡＧ書き込み装置１３９、画像データ読み込み装置１４０、コントローラ１４１を備えている。
【００９０】
メモリコントローラＩ／Ｆ１３１は、メモリコントローラ１０３とのインターフェイスである。画像データ読み込み装置１４０は、メモリコントローラＩ／Ｆを１３１介してメインメモリ１０４のバンドメモリ領域１０４ｃからライン単位に画像データを読み込み画像ラインメモリ１３２へ書き込む。画像ラインメモリ１３２は、１ライン分の画像データを一時記憶する。ＪＢＩＧ符号化処理装置１３３は、ＪＢＩＧ規格の符号化方式により画像データを符号化し、符号ラインメモリ１３４へ転送する。符号ラインメモリ１３４は、符号データを一時記憶する。ライン符号カウンタ装置１３５は、符号ラインメモリ１３４へ書き込まれた符号データをカウントする。ライン符号書き込み装置１３６は、符号ラインメモリ１３４へ書き込まれた符号データを読み込み、メモリコントローラＩ／１３１Ｆを介してメインメモリ１０４のページ符号メモリ領域１０４ｄの符号のライン符号領域へライン符号を書き込む。図１３に符号フォーマットを示す。符号はライン単位に符号化され、ライン符号はライン単位の符号である。
【００９１】
ラインＴＡＧ書き込み装置１３９は、ライン符号カウンタ装置１３５によりカウントされたライン単位の符号ワード数をラインＴＡＧとして、メモリコントローラＩ／Ｆ１３１を介してメインメモリ１０４のページ符号メモリ領域１０４ｄの符号のラインＴＡＧ領域にラインＴＡＧを書き込む。図１３に符号フォーマットを示す。符号はライン単位に符号化され、ラインＴＡＧはライン単位のライン符号の終端に付加される。
【００９２】
符号カウント装置１３７は、符号単位に符号のワード数をカウントする。符号ヘッダ書き込み装置１３８は、符号カウント装置１３７でカウントされた符号のワード数を符号ヘッダとして、メモリコントローラＩ／Ｆ１３１を介してメインメモリ１０４のページ符号メモリ領域１０４ｄの符号の符号ヘッダ領域に符号ヘッダを書き込む。図１３に符号フォーマットを示す。符号はライン単位に符号化され、符号ヘッダは符号の先頭に付加される。コントローラ１４１は、この符号化装置１６全体を制御する。
【００９３】
図９は、本発明の実施の形態にかかる符号化装置１０６の動作を示すフローチャートである。この処理は、図７に示した符号化装置１０６の構成により、コントローラ１４１によって各構成要素が制御するものである。まず、各値の初期化としてＩＹ＝０、ライン符号カウンタ＝０、符号カウンタ＝０とする（ステップＳ１）。続いて、メインメモリ１０４のバンドメモリ領域１０４ｃからライン単位に画像データを読み込みＩＹライン目の画像ラインメモリ１３２へ書き込む（ステップＳ２）。さらにＪＢＩＧ符号化処理装置１３３は画像ラインメモリ１３２から画像データを読み込み符号化し、符号ラインメモリ１３４へ書き込む（ステップＳ３）。続いて、ライン符号カウント装置１３５は画像ラインメモリ１３２へ書き込まれた符号データをカウントする（ステップＳ４）。また、符号カウント装置１３７は画像ラインメモリ１３２へ書き込まれた符号データをカウントする（ステップＳ５）。その後、１ライン分の画像データを符号化したか否かを判断する（ステップＳ６）。ここで、１ライン分の画像データを符号化したと判断した場合、ライン符号書き込み装置１３６は画像ラインメモリ１３２から符号を読み込み、メインメモリ１０４のページ符号メモリ領域１０４ｄへライン符号として書き込む（ステップＳ７）。続いて、ラインＴＡＧ書き込み装置１３９は、ライン符号の終端にライン符号カウント装置１３５のカウント地をラインＴＡＧ情報として書き込む（ステップＳ８）。その誤、ＩＹを一つインククリメント（ＩＹ＝ＩＹ＋１）し、またライン符号カウンタ＝０として（ステップＳ９）、ＩＹ＜バンド高さであるかを判断する（ステップＳ１０）。ここで、ＩＹ＜バンド高さの関係になっていれば、上記ステップＳ２に戻り、一方、ＩＹ＜バンド高さの関係になっていなければ、符号ヘッダ書き込み装置１３８は、符号の先頭に符号カウント装置１３７のカウント値（符号ワード数）を符号ヘッダ情報として書き込む（ステップＳ１１）。
【００９４】
図８は、本発明の実施の形態にかかる復号装置１０７の構成を示すブロック図である。この図８に示すように、復号装置１０７は、符号ヘッダ読み込み装置１５１、メモリコントローラＩ／Ｆ１５２、ラインＴＡＧ読み込み装置１５３、ライン符号アドレス生成装置１５４、符号ラインメモリ１５５、ＪＢＩＧ復号処理装置１５６、画像ラインメモリ１５７、ライン反転読み込み装置１５８、コントローラ１５９を備えている。
【００９５】
符号ヘッダ読み込み装置１５１は、メモリコントローラＩ／Ｆ１５２を介してメインメモリ１０４のページ符号メモリ領域１０４ｄに符号の符号ヘッダ領域から符号ヘッダを読み込み、符号ワード数から符号終端アドレスを求め、ラインＴＡＧ読み込み装置１５３へ転送する。メモリコントローラＩ／Ｆ１５２は、メモリコントローラ１０３とのインターフェイスである。ラインＴＡＧ読み込み装置１５３は、メモリコントローラＩ／Ｆ１５２を介してメインメモリ１０４のページメモリ符号領域１０４ｄに符号のラインＴＡＧ領域からラインＴＡＧを読み込み、ライン単位の符号ワード数からライン符号先頭アドレスを求め、ライン符号アドレス生成装置１５４へ転送する。ライン符号アドレス生成装置１５４は、メモリコントローラＩ／Ｆ１５２を介してメインメモリ１０４のページ符号メモリ領域１０４ｄの符号のライン符号領域からライン符号を読み込み、符号ラインメモリ１５５へ転送する。符号ラインメモリ１５５は、１ライン分の符号を一時格納する。ＪＢＩＧ復号処理装置１５６は、ＪＢＩＧ規格の復号方式により符号データを復号し、画像ラインメモリ１５７へ転送する。画像ラインメモリ１５７は、復号された画像を記憶する。ライン反転読み込み装置１５８は、１８０度回転復号時に画像ラインメモリ１５７の画像データを図１５に示すようにワード単位に反転させて、図１６のようにワード内部も反転させ、エンジンコントローラ１０９へ転送する。コントローラ１５９は、この復号装置１０７全体を制御する。
【００９６】
図１０は、本発明の実施の形態にかかる１８０度回転復号時の動作を示すフローチャートである。この動作は、図８に示した復号装置１０７によって行われる。まず、ＩＹを初期化し（ステップＳ２１）、符号ヘッダ読み込み装置１５１は、符号ヘッダを読み込み符号のワード数を把握する（ステップＳ２２）。続いて、符合終端アドレス＝符号先頭アドレス＋符号のワード数とし（ステップＳ２３）、また、ラインＴＡＧアドレス＝符号終端アドレスとする（ステップＳ２４）。続いて、ラインＴＡＧ読み込み装置１５３は、求めたラインＴＡＧアドレスによりラインＴＡＧ情報を読み込みＩＹラインのライン符号ワードを把握する（ステップＳ２５）。続いて、ライン符号先頭アドレス＝ラインＴＡＧアドレス−ライン符号のワード数とし（ステップＳ２６）、ライン符号アドレス生成装置１５４はメインメモリ１０４のページ符号メモリ領域１０４ｄから１ライン分の符号を読み込み符号ラインメモリ１５５へ格納する（ステップＳ２７）。続いて、ＪＢＩＧ復号処理装置１５６は符号ラインメモリ１３５から符号を読み込み復号して画像ラインメモリ１５７に書き込む（ステップＳ２８）。つぎに１ライン分の画像データを復号したか否かを判断する（ステップＳ２９）。ここで、１ライン分の画像データを復号していなければ上記ステップＳ２８に戻り、一方、１ライン分の画像データを復号したと判断した場合、ライン反転読み込み装置１５８は画像ラインメモリ１３７の画像データを終端から読み込み、ワードのｂｉｔを左右反転させ、エンジンコントローラ１０９へ順次転送する（ステップＳ３０）。続いて、ＩＹを一つインクリメント（ＩＹ＝ＩＹ＋１）とし（ステップＳ３１）、ラインＴＡＧアドレス＝ライン符号先頭アドレス−１とし（ステップＳ３２）、ＩＹ＜バンド高さであるか否かを判断する（ステップＳ３３）。ここで、ＩＹ＜バンド高さでなければ、この処理を終了し、ＩＹ＜バンド高さであれば、上記ステップＳ２５に戻り、以降の処理を実行する。
【００９７】
図１１は、本発明の実施の形態にかかる０度回転復号時の動作を示すフローチャートである。この動作は、図８に示した復号装置１０７によって行われる。まず、ＩＹを初期化し（ステップＳ４１）、ライン符号先頭アドレス＝符号先頭アドレス＋１とする（ステップＳ４２）。すなわち、符号ヘッダを読み飛ばす。続いて、ライン符号アドレス生成装置１３４は、メインメモリ１０４のページ符号メモリ領域１０４ｄから１ライン分の符号を読み込み符号ラインメモリ１５５へ格納する（ステップＳ４３）。続いて、ＪＢＩＧ復号処理装置１５６は、符号ラインメモリ１５５から符号を読み込み復号して画像ラインメモリ１５７へ書き込む（ステップＳ４４）。つぎに、ライン符号先頭アドレス＝ライン先頭アドレス＋１とし（ステップＳ４５）、１ライン分の画像データを復号したか否を判断する（ステップＳ４６）。ここで、ライン分の画像データを復号していなければ上記ステップＳ４４に戻り、一方、１ライン分の画像データを復号したと判断した場合、ライン反転読み込み装置１５８は、画像ラインメモリ１５７の画像データを順次読み込み、エンジンコントローラ１０９へ順次転送する（ステップＳ４７）。続いて、ライン符号先頭アドレス＝ライン符号先頭アドレス＋１とする（ステップＳ４８）。すなわち、ラインＴＡＧを読み飛ばす。つぎに、ＩＹ＝ＩＹ＋１としてＩＹを一つインクリメントし（ステップＳ４９）、ＩＹ＜バンド高さであるか否かを判断する（ステップＳ５０）。ここで、ＩＹ＜バンド高さでなければ、この処理を終了し、ＩＹ＜バンド高さであれば、上記ステップＳ４３に戻り、以降の処理を実行する。
【００９８】
図１２に圧縮する前の画像データを示す。このようにライン単位に符号化する。図１３に符号のフォーマットを示す。ライン単位に符号化され、各ライン符号単位にラインＴＡＧとして、そのライン符号のワード数を記録する。符号ヘッダは符号全体のワード数を記録する。
【００９９】
図１４にワード単位の符号フォーマットを示す。符号ヘッダは固定長であり、ワード単位の大きさである。ライン符号は可変長であり、各ライン符号の終端にはワード単位に調節するために何もデータがないＮＯＰが入っている。ラインＴＡＧは固定長であり、ワード単位の大きさである。
【０１００】
図１７は、本発明の実施の形態にかかる復号装置１０７の他の構成例を示すブロック図である。ここでの復号装置１０７は、符号読み込み装置１６１、メモリコントローラＩ／Ｆ１６２、符号ラインメモリ制御装置１６３、符号ラインメモリ１６４、ＪＢＩＧ復号処理装置１６５、画像ラインメモリ１６６、ライン反転読み込み装置１６７を備えている。
【０１０１】
符号読み込み装置１６１は、メモリコントローラＩ／Ｆ１６２を介してメインメモリ１０４のページ符号メモリ領域１０４ｄに符号の符号ヘッダ領域から符号ヘッダを読み込み、符号ワード数から符号終端アドレスを求め、１８０度回転の場合は、終端から順次符号のアドレスを生成し、メモリコントローラＩ／Ｆ１６２へ転送する。メモリコントローラＩ／Ｆ１６２は、メモリコントローラ１０３とのインターフェイスである。
【０１０２】
符号ライン制御装置１６３は、メモリコントローラＩ／Ｆ１６２を介してメインメモリ１０４のページ符号メモリ領域１０４ｄに符号を読み込み、ライン符号ワードを１ラインごと符号ラインメモリへ書き込む。このとき、ラインＴＡＧを判断し、１ライン分のライン符号のワード数をＪＢＩＧ復号処理装置１６５へ転送する。符号ラインメモリ１６４は、１ライン分の符号を1時格納する。ＪＢＩＧ復号処理装置１６５は、ＪＢＩＧ規格の復号方式により符号データを復号し、画像ラインメモリ１６６へ転送する。このときＪＢＩＧ復号処理装置１６５は、符号ライン制御装置１６３から受け取ったライン符号のワード数を符号ラインメモリ１６４の先頭アドレスとして逆方向に、読み込み、符号を復号していく。画像ラインメモリ１６６は、復号された画像を記憶する。ライン反転読み込み装置１６７は、１８０度回転復号時に画像ラインメモリ１４６の画像データを図１５に示すようにワード単位に反転させて、図１６に示すようにワード内部も反転させ、エンジンコントローラ１０９へ転送する。コントローラ１６８は、この復号装置１０７全体を制御する。
【０１０３】
図１８は、本発明の実施の形態にかかる１８０度回転復号時の動作を示すフローチャートである。この動作は、図１７に示した復号装置１０７によって行われる。まず、ＩＹを初期化し（ステップＳ５１）、符号ヘッダ読み込み装置１６１は、符号ヘッダを読み込み符号のワード数を把握する（ステップＳ５２）。続いて、符合終端アドレス＝符号先頭アドレス＋符号のワード数とし（ステップＳ５３）、符号ラインメモリ制御装置１６３は、ライン符号の終端からラインＴＡＧを読み込み、ＪＢＩＧ復号処理装置１６５へ符号ワード長を転送する（ステップＳ５４）。つぎに、符号ラインメモリ制御装置１６３は、ライン符号を読み込み、符号ラインメモリ１６４へ書き込む（ステップＳ５５）。その後、１ライン分のライン符号を書き込んだか否かを判断する（ステップＳ５６）。ここで、１ライン分のライン符号を書き込んでなければ、上記ステップＳ５５に戻り、一方、１ライン分のライン符号を書き込んだと判断した場合、符号読み込みアドレス＝符号ワード長とし（ステップＳ５７）、ＪＢＩＧ復号処理装置１６５は、符号読み込みアドレスから符号を読み込み、復号処理を行い、画像ラインメモリ１６６へ画像データを書き込む（ステップＳ５８）。続いて、符合読み込みアドレス＝符号読み込みアドレス−１とし（ステップＳ５９）、符号読み込みアドレス＝０であるか否かを判断する（ステップＳ６０）。ここで、符号読み込みアドレス＝０でなければ上記ステップＳ５８に戻り、一方、符号読み込みアドレス＝０であれば、ライン反転読み込み装置１６７は画像ラインメモリ１４６の画像データを終端から読み込み、ワードのｂｉｔを左右反転させ、エンジンコントローラ１０９へ順次転送する（ステップＳ６１）。続いて、ＩＹを一つインクリメント（ＩＹ＝ＩＹ＋１）とし（ステップＳ６２）、ラインＴＡＧアドレス＝ライン符号先頭アドレス−１とし（ステップＳ６３）、ＩＹ＜バンド高さであるか否かを判断する（ステップＳ６４）。ここで、ＩＹ＜バンド高さでなければ、この処理を終了し、ＩＹ＜バンド高さであれば、上記ステップＳ５４に戻り、以降の処理を実行する。
【０１０４】
このように、上述した実施の形態によれば、ライン単位に符号化し、そのライン単位に符号長を計測し、ライン単位の符号に付加し、画像データの符号長を求め、符号ヘッダとして、符号の先頭に付加することにより、従来に対して少ないメモリ容量での処理が実現する。また、１８０度回転の復号において、画像データの符号長から、最終ラインの付加された符号長を読み込むことにより最終ライン符号の先頭アドレスを求め、１ワード前の最終ライン−１の符号長を求め、つぎのワードの最終ライン符号を順次復号し、１ラインの画像データとして蓄え、１ライン分の画像データを蓄えた後、ワード単位の反転と、ワード内部の反転を行い、１ラインを出力し、つぎに、最終ライン−１の符号長と最終ライン符号の先頭アドレスから最終ライン−１符号の先頭アドレスを求め、最終ライン同様に順次処理していくことにより、１８０度回転復号処理を簡易に行うことが可能であり、処理の高速化と、ゲート規模の縮小とメモリ容量の削減を行うことが可能となる。また、本方式は、符号を直接１８０度回転復号することが可能であり、１度メインメモリへ、復号後の画像を展開することがない、また大きなワークメモリを必要としないという効果がある。
【０１０５】
ところで、これまで説明してきた実施の形態における画像処理方法（動作）を、プログラム化し、コンピュータ読み取り可能な記録媒体に記録し、コンピュータ上で実行することもできる。また、画像処理方法の一部をネットワーク上に有し、通信回線を通して実現することもできる。
【０１０６】
すなわち、この実施の形態で説明した画像処理方法は、図１９に示すように、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータ（ＣＰＵ３０）で実行することにより実現される。このプログラムは、キーボード２５の操作などにより、メモリ３１、ハードディスク３４、フレキシブルディスク３７、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３６、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータ（ＣＰＵ３０）によって記録媒体から読み出し、必要に応じて表示装置３３に表示することによって実行される。また、必要に応じてこの画像処理方法のデータを通信装置３２から外部装置に送受信することも可能である。
【０１０７】
また、このプログラムは、図２０に示すように、上記記録媒体を介して、インターネット３０などのネットワークによってパーソナルコンピュータなどの装置４１〜４３に配布することができる。
【０１０８】
すなわち、このプログラムは、たとえばコンピュータに内蔵されている記録媒体としてのハードディスクに、あらかじめインストールした状態で提供することができる。プログラムは記録媒体に一時的あるいは永続的に格納し、コンピュータにユニットとして組み込んだり、あるいは着脱式の記録媒体として利用することで、パッケージソフトウェアとして提供することができる。
【０１０９】
記録媒体としては、たとえば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤ、磁気ディスク、半導体メモリなどが利用できる。
【０１１０】
プログラムは、ダウンロードサイトから、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットといったネットワークを介して、有線または無線でコンピュータに転送し、そのコンピュータにおいて、内蔵するハードディスクなどの記憶装置にダウンロードさせるようにすることができる。
【産業上の利用可能性】
【０１１１】
以上のように、本発明にかかる画像処理装置、画像処理方法、コンピュータ読み取り可能な記録媒体は、複写機やプリンタなどの画像形成装置、デジタルカメラなどに有用であり、特に、少ないメモリ容量で回転復号処理を行う装置や方法に適している。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。
【図２】図１におけるカラープリンタの電装・制御装置の構成を示すブロック図である。
【図３】本発明の実施の形態にかかる画像処理の流れを示すブロック図である。
【図４】本発明の実施の形態にかかる画像処理の概念を示すブロック図である。
【図５】図２におけるメインメモリのフォーマット例を示す説明図である。
【図６】本発明の実施の形態にかかる描画装置の構成を示すブロック図である。
【図７】本発明の実施の形態にかかる符号化装置の構成を示すブロック図である。
【図８】本発明の実施の形態にかかる復号装置の構成を示すブロック図である。
【図９】本発明の実施の形態にかかる符号化処理を示すフローチャートである。
【図１０】本発明の実施の形態にかかる１８０度回転復号時の動作を示すフローチャートである。
【図１１】本発明の実施の形態にかかる０度回転復号時の動作を示すフローチャートである。
【図１２】本発明の実施の形態にかかるバンド画像データのフォーマット例を示す説明図である。
【図１３】本発明の実施の形態にかかるバンド符号フォーマット例を示す説明図である。
【図１４】本発明の実施の形態にかかるワード単位の符号フォーマット例を示す説明図である。
【図１５】本発明の実施の形態にかかるラインのワード位置の反転例を示す説明図である。
【図１６】本発明の実施の形態にかかるワード内部のＢＩＴ位置の反転例を示す説明図である。
【図１７】本発明の実施の形態にかかる復号装置の他の構成例を示すブロック図である。
【図１８】本発明の実施の形態にかかる１８０度回転復号時の動作を示すフローチャートである。
【図１９】本発明の実施の形態にかかる画像処理方法をコンピュータに実行させる例を示すブロック図である。
【図２０】本発明の実施の形態にかかる画像処理方法をネットワーク上からダウンロードして実行させる例を示すブロック図である。
【図２１】従来における画像処理の概念を示すブロック図である。
【符号の説明】
【０１１３】
１０１  ＣＰＵ
１０４  メインメモリ
１０４ｂ  描画コマンドメモリ領域
１０４ｃ  バンドメモリ領域
１０４ｄ  ページ符号メモリ領域
１０６  符号化装置
１０７  復号装置
１２１  描画コマンド読み込み装置
１２２  描画処理装置
１２６  描画コマンドアドレス生成装置
１３２  画像ラインメモリ
１３３  ＪＢＩＧ符号化処理装置
１３４  符号ラインメモリ
１３５  ライン符号カウント装置
１３６  ライン符号書き込み装置
１３７  符号カウント装置
１３８  符号ヘッダ書き込み装置
１３９  ラインＴＡＧ書き込み装置
１４０  画像データ読み込み装置
１５１  符号ヘッダ読み込み装置
１５３  ラインＴＡＧ読み込み装置
１５４  ライン符号アドレス生成装置
１５５，１６４  符号ラインメモリ
１５６，１６５  ＪＢＩＧ復号処理装置
１５７，１６６  画像ラインメモリ
１５８，１６７  ライン反転読み込み装置
１６１  符号読み込み装置
１６３  符号ラインメモリ制御装置
１６４  符号ラインメモリ
【図１】
0004773223.tif 000002
【図２】
0004773223.tif 000003
【図３】
0004773223.tif 000004
【図４】
0004773223.tif 000005
【図５】
0004773223.tif 000006
【図６】
0004773223.tif 000007
【図７】
0004773223.tif 000008
【図８】
0004773223.tif 000009
【図９】
0004773223.tif 000010
【図１０】
0004773223.tif 000011
【図１１】
0004773223.tif 000012
【図１２】
0004773223.tif 000013
【図１３】
0004773223.tif 000014
【図１４】
0004773223.tif 000015
【図１５】
0004773223.tif 000016
【図１６】
0004773223.tif 000017
【図１７】
0004773223.tif 000018
【図１８】
0004773223.tif 000019
【図１９】
0004773223.tif 000020
【図２０】
0004773223.tif 000021
【図２１】
0004773223.tif 000022