(57)【要約】【課題】タイル境界歪みが発生するのを防止し、あるいは、低減することができ、しかも、画像を圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができるようにする。【解決手段】画像データを複数のタイルに分割することなく圧縮符号化して、符号列を得る（ステップＳ２）。この符号列を量子化する（ステップＳ７）。この量子化後の符号列を復号する（ステップＳ９）。この復号後の画像データは、量子化することなく、複数のタイルに分割して、タイルごとに独立して圧縮符号化する（ステップＳ１０）。【選択図】    図３
2004228963.tif 000002
【特許請求の範囲】
【請求項１】
画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第１の符号化手段と、
この符号列を量子化する量子化手段と、
この量子化後の符号列を復号する第１の復号手段と、
この復号後の画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第２の符号化手段と、
を備えている画像処理装置。
【請求項２】
前記第２の符号化手段による符号化を行う前に、前記第１の符号化手段で得られる前記符号列に対する当該符号列に基づいて前記第２の符号化手段で得られる符号列の符号量の増加を予測または計測する増加判定手段を備え、
前記量子化手段は、この予測または計測に基づいて前記量子化を行う、
請求項１に記載の画像処理装置。
【請求項３】
前記第２の符号化手段による符号化を行う前に、前記画像データを前記第２の符号化手段と同様に画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第３の符号化手段を備え、
前記増加判定手段は、前記第１の符号化手段で符号化後の符号列に対する前記前記第３の符号化手段で符号化後の符号列の増加により前記予測または計測を行うものである、
請求項２に記載の画像処理装置。
【請求項４】
前記第２の符号化手段で圧縮符号化後の符号列を記憶する記憶装置を備え、
前記量子化手段は、前記予測または計測から前記前記第２の符号化手段による符号化後の符号列の符号量が前記記憶装置に格納可能な符号量を超えると判断したことを条件に前記量子化を行う、請求項２または３に記載の画像処理装置。
【請求項５】
前記記憶装置に記憶されている符号列を復号する第２の復号手段を有している請求項４に記載の画像処理装置と、
この復号後の画像データに基づいて画像形成を行うプリンタエンジンと、
を備えている画像形成装置。
【請求項６】
画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第１の符号化処理と、
この符号列を量子化する量子化処理と、
この量子化後の符号列を復号する復号処理と、
この復号後の画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第２の符号化処理と、
をコンピュータに実行させるコンピュータに読み取り可能なプログラム。
【請求項７】
前記第２の符号化処理による符号化を行う前に、前記第１の符号化処理で得られる前記符号列に対する当該符号列に基づいて前記第２の符号化処理で得られる符号列の符号量の増加を予測または計測する増加判定処理をコンピュータに実行させ、
前記量子化処理は、この予測または計測に基づいて前記量子化を行う、
請求項６に記載のプログラム。
【請求項８】
請求項６または７に記載のプログラムを記憶している記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを圧縮符号化する画像処理装置、画像形成装置、プログラムおよび記憶媒体である。
【０００２】
【従来の技術】
従来、符号化された画像データの操作性を高めるために、画像データを複数の領域に分割して各領域を独立に符号化して圧縮符号列とし、この圧縮符号列を復号する際に、復号後の処理内容に応じて復号する領域の順序を変えていく処理が知られている。ここで、「独立して」とは、各領域を復号する際に他の領域の情報を利用することがなく、従って他の領域の画像データが復号されているか否かに関わりなく復号することが可能であることを意味する。
【０００３】
画像データを複数の領域に分割して符号化することで操作性が高める例として、復号する領域の順序を変えることで、画像を回転して方向を変える処理が知られている。例えば、特許文献１では、固定長符号化方式を用いて画像の回転処理等を実行する技術が開示されている。また、特許文献２では、ブロック単位に可変長符号化された圧縮符号の各ブロックのアドレスを記憶しておき、復号する順序に応じてアクセスするアドレスを切り替える技術が開示されている。一般に可変長符号化は固定長符号化に比べて圧縮率が高いために、特許文献１に開示される方法は固定長符号化方式と比較して圧縮率が高いという利点がある。
【０００４】
また、国際標準となった画像圧縮方式ＪＰＥＧ２０００においても、タイルと呼ばれる概念が導入されており、画像データをタイル分割してタイルごとに符号化することにより、タイルに領域分割された画像データを得ることが可能となる。このタイルは独立に符号化される単位であるので、読み出すタイルの順序を制御することで容易に画像の回転処理等を実行できる。
【０００５】
さらに、画像データが複数の領域に分割されている場合、復号処理を行なう際に並列処理を実行することも可能となる。特許文献３には、タイル分割された場合の圧縮符号量を制御するために、各タイルに上限情報量を割り当てて、各タイルがその上限値を  超えないように圧縮を行う技術が開示されている。
【０００６】
【特許文献１】
特開２００１−１６０９０４公報（０００３の欄を参照）
【特許文献２】
特開２００２−１２５１１６公報
【特許文献３】
特開２０００−１３４６２３公報
【特許文献４】
特開２００１−２１７７１８公報
【０００７】
【発明が解決しようとする課題】
しかし、タイル単位に可変長符号化を実施して得られた圧縮符号をメモリに格納する場合、可変長符号化では固定長符号化方式と異なり圧縮率の予測が困難であるため、圧縮符号がメモリに入りきらない場合が生じ得る。かかる場合には、圧縮符号がメモリに格納できるように画像データの情報量を削減する必要があるが、領域分割した画像を量子化すると領域の境界に画質劣化が生じる。このような画質劣化は、独立して符号化される各領域をタイルと呼ぶＪＰＥＧ２０００においてはタイル境界歪などと呼ばれている。
【０００８】
このような、タイル境界歪を低減する技術としては、特許文献４に開示の技術が知られている。
【０００９】
しかしながら、特許文献４に示されるように、タイル境界の状態に応じて拡張画素の作成方法を適応的に選択する技術では、本質的にタイル境界歪みを防止することができないという不具合がある。
【００１０】
本発明の目的は、タイル境界歪みなど、画像を分割する領域の境界で歪みが発生するのを防止し、あるいは、低減することができ、しかも、画像を圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができるようにすることである。
【００１１】
【課題を解決するための手段】
請求項１に記載の発明は、画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第１の符号化手段と、この符号列を量子化する量子化手段と、この量子化後の符号列を復号する第１の復号手段と、この復号後の画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第２の符号化手段と、を備えている画像処理装置である。
【００１２】
したがって、分割された領域の境界に歪みが発生するのを防止し、あるいは、低減することができる。
【００１３】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、前記第２の符号化手段による符号化を行う前に、前記第１の符号化手段で得られる前記符号列に対する当該符号列に基づいて前記第２の符号化手段で得られる符号列の符号量の増加を予測または計測する増加判定手段を備え、前記量子化手段は、この予測または計測に基づいて前記量子化を行う。
【００１４】
したがって、第２の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化手段で量子化することができる。
【００１５】
請求項３に記載の発明は、請求項２に記載の画像処理装置において、前記第２の符号化手段による符号化を行う前に、前記画像データを前記第２の符号化手段と同様に画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第３の符号化手段を備え、前記増加判定手段は、前記第１の符号化手段で符号化後の符号列に対する前記前記第３の符号化手段で符号化後の符号列の増加により前記予測または計測を行うものである。
【００１６】
したがって、現実に第２の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第２の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができる。
【００１７】
請求項４に記載の発明は、請求項２または３に記載の画像処理装置において、前記第２の符号化手段で圧縮符号化後の符号列を記憶する記憶装置を備え、前記量子化手段は、前記予測または計測から前記前記第２の符号化手段による符号化後の符号列の符号量が前記記憶装置に格納可能な符号量を超えると判断したことを条件に前記量子化を行う。
【００１８】
したがって、現実に第２の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第２の符号化手段で圧縮符号化後の符号列がこの発明の目的の記憶装置に格納可能な符号量を超えると判断したことを条件に量子化手段で量子化を行うので、無駄な量子化処理を防止して、処理を高速化することができる。
【００１９】
請求項５に記載の発明は、前記記憶装置に記憶されている符号列を復号する第２の復号手段を有している請求項４に記載の画像処理装置と、この復号後の画像データに基づいて画像形成を行うプリンタエンジンと、を備えている画像形成装置である。
【００２０】
したがって、請求項４に記載の発明と同様の作用、効果を奏する。
【００２１】
請求項６に記載の発明は、画像データを複数の領域に分割することなく圧縮符号化して符号列を得る第１の符号化処理と、この符号列を量子化する量子化処理と、この量子化後の符号列を復号する復号処理と、この復号後の画像データを複数の領域に分割して領域ごとに独立して圧縮符号化する第２の符号化処理と、をコンピュータに実行させるコンピュータに読み取り可能なプログラムである。
【００２２】
したがって、第２の符号化処理で圧縮符号化する際に、量子化を行わない、あるいは、小さな量子化率で量子化を行うようにすれば、タイル境界歪みなど、領域の境界で歪みが発生するのを防止し、あるは、低減することができるが、あらかじめ量子化処理で量子化するので、第２の符号化処理で圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができる。
【００２３】
請求項７に記載の発明は、請求項６に記載のプログラムにおいて、前記第２の符号化処理による符号化を行う前に、前記第１の符号化処理で得られる前記符号列に対する当該符号列に基づいて前記第２の符号化処理で得られる符号列の符号量の増加を予測または計測する増加判定処理をコンピュータに実行させ、前記量子化処理は、この予測または計測に基づいて前記量子化を行う。
【００２４】
したがって、第２の符号化処理で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化処理で量子化することができる。
【００２５】
請求項８に記載の発明は、請求項６または７に記載のプログラムを記憶している記憶媒体である。
【００２６】
したがって、請求項６または７に記載の発明と同様の作用、効果を奏する。
【００２７】
【発明の実施の形態】
［発明の実施の形態１］
本発明の一実施の形態を発明の実施の形態１として説明する。
【００２８】
図１は、本実施の形態であるデジタル複写機１の概略構成を示すブロック図である。このデジタル複写機１は、本発明の画像形成装置を実施するもので、周知の電子写真プロセスにより用紙上などに画像形成を行なうプリンタエンジン２と、原稿の画像を読み取るスキャナ３とを備えている。このデジタル複写機１は、マイクロコンピュータを有するコントローラ５を備えている。このコントローラ５５は、具体的には、デジタル複写機１の全体を制御するメインコントローラと、メインコントローラ５各部をそれぞれ制御する複数のサブコントローラとからなるが、ここでは、単一のコントローラ５として図示する。このコントローラ５は、ＲＯＭ（記憶媒体）に記憶されている制御プログラムに基づいて、以下に説明するような各種の処理を実行する。
【００２９】
プリンタエンジン２は、それぞれ感光体、現像装置、クリーニング装置、帯電装置を有していて、Ｋ，Ｍ，Ｃ，Ｙ（ブラック、マゼンタ、シアン、イエロー）各色の乾式トナー像を形成するためのプロセスカートリッジ１１Ｋ，１１Ｍ，１１Ｃ，１１Ｙと、転写ベルト１２と、定着装置１３と、プロセスカートリッジ１１Ｋ，１１Ｍ，１１Ｃ，１１Ｙの各感光体にＫ，Ｍ，Ｃ，Ｙ各色の画像の静電潜像を光書込みする光書込装置１４Ｋ，１４Ｍ，１４Ｃ，１４Ｙとを備えている。また、デジタル複写機１は、カラー画像を記録されるための転写材（記録用紙やＯＨＰなど）を収納する給紙トレイ１５ａ〜１５ｃを備えている。各プロセスカートリッジ１１Ｋ，１１Ｍ，１１Ｃ，１１Ｙは、Ｋ，Ｍ，Ｃ，Ｙ各色のトナー像を転写ベルト１２に重ね合わせて形成し、この重ね合わされたトナー像は、給紙トレイ１５ａ〜１５ｃから供給される転写材に転写されて、定着装置１３により定着される。
【００３０】
また、デジタル複写機１は、バンドバッファ２２、符号化部２３、復号化部２４、記憶装置となるページメモリ２５からなる、画像処理装置２６を備えている。
【００３１】
図１において、バンドバッファ２２は、１ページ分の画像データを構成する複数のバンドのうち、一つのバンドに含まれる画素のデータを格納するためのバッファである。ここでバンドとは、所定数の画素ラインから構成される画像データの一領域である。
【００３２】
デジタル複写機１は、ＬＡＮなどの所定のネットワーク４から図示しない通信インターフェイスを介して画像データを受け取ることができる。ＲＩＰ部２１は、ネットワーク４を介して入力された画像データがＰＤＬ（ページ記述言語）形式のデータであるとき、これをバンド単位に描画処理してビットマップ形式に変換して、画像処理装置２６に出力する。
【００３３】
本例では、バンドバッファ２２に格納された画像データを符号化するための符号化装置である符号化部２３ａ，２３ｂと、圧縮符号を復号するための復号化装置である復号化部２４ａ，２４ｂを備えている。符号化部２３ａ，２３ｂは、静止画圧縮の国際標準であるＪＰＥＧ２０００を使用して実施することができる。したがって、その圧縮符号化方式は、静止画像を１又は複数の矩形領域（タイル）に分割し、この矩形領域ごとに独立して階層的に圧縮符号化するものである。すなわち、ＪＰＥＧ２０００方式においては画像をタイル分割して符号化することができ、また、タイル数＝１はタイル分割しない場合に該当するので、符号化部２４ａはタイル数＝１としてＪＰＥＧ２０００方式で画像データを符号化し、一方、符号化部２４ｂはタイル数＝１６としてＪＰＥＧ２０００方式で画像データを符号化する。
【００３４】
ページメモリ２５は所定ページ分の画像データを圧縮符号として格納（記憶）するためのメモリである。本例のページメモリ２５は、Ａ４サイズの画像データ１ページ分の圧縮符号列を格納可能とする。ハードディスク２７はページメモリ２５に格納された圧縮符号列を取得して格納し、必要に応じてその圧縮符号列をページメモリ２５に再格納するために設けられたメモリである。
【００３５】
ＲＧＢ→ＣＭＹＫ変換部２８は、後述のようにして復号化部２４ｂで復号された、ＲＧＢ（レッド、グリーン、ブルー）色の信号で表現された画像データを受け取り、これをＣＭＹＫ信号に変換する。Ｋ，Ｍ，Ｃ，Ｙ色階調処理部２９Ｋ、２９Ｍ，２９Ｃ，２９Ｙは、それぞれＫ，Ｍ，Ｃ，Ｙ色の多値データを少値化して書込データに変換する機能を果たす。本例では、バンドバッファ２２では１画素８ビットの６００ｄｐｉ画像データを格納し、これをＫ，Ｍ，Ｃ，Ｙ色階調処理部２９Ｋ，２９Ｍ，２９Ｃ，２９Ｙで１画素１ビットの１２００ｄｐｉ画像データへと変換する。
【００３６】
Ｋ，Ｍ，Ｃ色の書込みデータは、画像形成開始タイミングを調節するためにラインメモリ１６Ｋ，１６Ｍ，１６Ｃに格納され、各色の画像が転写材上で重なり合うようにタイミングを合わせてＫ、Ｍ、Ｃ，Ｙ，の色書込装置１４Ｋ、１４Ｍ，１４Ｃ，１４Ｙに送られる。
【００３７】
次に、本例における符号化部２３ａが実施する符号化方式のブロック図を図２（ａ）に示す。すなわちＲＧＢ信号からなる画像データはＤＣレベルシフト部３１でレベルシフトされ、色変換部３２で色変換され、各色変換係数はウェーブレット変換部３３でウェーブレット変換され、エントロピー符号化部３４でウェーブレット係数がエントロピー符号化される。エントロピー符号化された符号は符号フォーマットに従い最終的に必要とされる符号順序に並べ替えて出力される。
【００３８】
次に、復号化部２４ａ，２４ｂについて説明する。図２（ｂ）は、復号化部２４ａ，２４ｂが実施する復号方式の機能ブロック図である。復号化部２４ａ，２４ｂが実行するのは、それぞれ符号化部２３ａ，２３ｂの逆変換であり、符号化部２３ａ，２３ｂで使用するＤＣレベルシフト、色変換、ウェーブレット変換、エントロピー符号化の各処理の逆変換をそれぞれ実行する逆ＤＣレベルシフト部３６、逆色変換部３７、ウェーブレット逆変換部３８、エントロピー復号化部３９からなる。圧縮符号がタイル分割されている場合には、かかる処理を各タイルについて実行する。
【００３９】
符号化部２３ｂについて説明する。図２（ｃ）は、符号化部２３ｂが実施する復号方式の機能ブロック図である。符号化部２３ｂは、バンドバッファ２２に格納された画像データをタイル分割して符号化するための符号化装置である。以下、符号化部２３ａによって符号化された圧縮符号列を「第一の符号列」、符号化部２３ｂによって符号化された圧縮符号列を「第二の符号列」と記す。
【００４０】
本例における符号化部２３ｂが実施する符号化方式のブロック図を図２（ｃ）に示すが、符号化部２３ｂは、符号化部２３ａと比べてタイル分割部４０がＤＣレベルシフト部３１の前段に追加されている点が異なる。すなわち画像データはまず、タイル分割部４０で複数のタイルに分割され、タイルごとに独立に、符号化部２３ａにおけると同様な処理が施される。ここで「独立」とは、符号化時に他のタイル内の画素情報を利用することなく符号化を実施すると言う意味である。なお、符号化部２３ｂは色変換を施してからタイル分割してもよい。
次に、デジタル複写機１の動作について説明する。
【００４１】
本例のデジタル複写機１は、Ａ４サイズの出力時に電子ソート機能を実行することができる。電子ソート機能の実行時には、第一部数目の画像の出力時には給紙トレイ１５ａ（又は給紙トレイ１５ｂ）に収納されたＡ４用紙に画像が記録され、第二部数目の画像の出力時には給紙トレイ１５ｂ（又は給紙トレイ１５ａ）に収納されたＡ４用紙に画像が記録され、その後順次、奇数部数目の画像の出力時には給紙トレイ１５ａ（又は給紙トレイ１５ｂ）に収納されたＡ４用紙に画像が記録され、偶数部数目の出力時には給紙トレイ１５ｂ（又は給紙トレイ１５ａ）に収納されたＡ４用紙に画像が記録され、というように交互に画像が記録される。このとき、奇数部数目の出力時には画像は回転されずに出力され、偶数部数目の出力時には画像が９０度回転されて出力される。
【００４２】
また、本例のデジタル複写機１は、給紙トレイ１５ａ、１５ｂのうち一方に収納された転写材が消費されると、他方に収納された転写材上に画像を形成する給紙トレイ自動切換機能を有するが、このときも、画像を９０度回転させることによって切り替え先の給紙トレイに収納された転写材に適合した向きで画像を出力する。
【００４３】
この電子ソート機能または給紙トレイ自動切換機能を実現するために、本例の画像処理装置２６がコントローラ５に制御されて行なう処理について、図３のフローチャートを参照して説明する。
【００４４】
図３において、スキャナ３から読み込まれた、またはネットワーク４から送られてきた画像データを、コントローラ５は、バンド単位にバンドバッファ２２に格納される（ステップＳ１）。本例のバンドバッファ２２が格納可能な画像データの容量は、６００ｄｐｉの１画素あたり８ビットの画像データをＡ４サイズの４分の１だけ格納できる容量である。
【００４５】
バンドバッファ２２に格納された１バンド分の画像データは、符号化部２３ａでタイル分割せずに圧縮符号化されて（第１の符号化手段、第１の符号化処理）、ページメモリ２５に格納される（ステップＳ２）。ここで、符号化部２３ａは、まず、色変換によってＲＧＢ信号を輝度色差信号に変換し、輝度色差をそれぞれウェーブレット変換し、ウェーブレット変換係数をエントロピー符号化する。本例では、６階層のウェーブレット変換を水平垂直方向に実施し、その結果、画像データは図４に示すようにオクターブ分割される。図４において、インデックスの数字はウェーブレット変換の階層数を意味し、数字が小さくなるに従い高周波となっている。ＬＬは低周波係数で第６階層にしか存在せず、ＨＬ，ＬＨ，ＨＨは高周波成分で各階層に存在する（煩雑さを避けるため、図４においては、ＨＬ，ＬＨ，ＨＨの表示については第２階層までしか表示しない）。このように分割されたウェーブレット変換係数に対してエントロピー符号化が実施されることになるが、より重要な情報を優先的に符号化するべく、エントロピー符号化の実行時にはウェーブレット変換係数を図５のようにシフトして符号化する。ここで、図５において、左右方向は各係数のビットプレーンの広がりを意味し、一つの係数においては最左側がＭＳＢ（最上位ビット）、最右側がＬＳＢ（最下位ビット）である。重要な情報を優先的に符号化するとは、具体的には、重要度の高いＬＬ６のみを含むビットプレーン群Ａをまず符号化し、次いでビットプレーン群Ｂ，Ｃ，Ｄ，Ｅの順で順次符号化していくことを意味する。
【００４６】
次に、量子化の動作について説明する。符号化部２３ａによって符号化された第一の符号列は、コントローラ５の指示によって、あらかじめ設定された量子化率に従って量子化される（ステップＳ２）。ここで量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ２５の容量と第一の符号列の符号量との関係に基づき、後述のように必要に応じて設定が変更されていく。
【００４７】
この量子化は、図５に示したビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの単位で実行される。具体的には、圧縮符号列から情報を削減する際に、各ビットプレーン群を符号化して得られる符号を単位として情報を削減する。例えば、量子化率の設定がビットプレーン群Ｅを量子化するように設定されている場合には、エントロピー符号化されたデータのうちからビットプレーン群Ｅに該当する情報であるＨＨ１係数およびＬＨ１，ＨＬ１，ＨＨ２，ＬＨ２，ＨＬ２，ＨＨ３の下位ビットプレーンの情報を削除する。このとき、本例の圧縮符号はビットプレーン単位に符号化されているために圧縮符号状態のまま容易に情報の削減が可能である。あるいは、量子化対象であるビットプレーン群については初めからエントロピー符号化しないという方法も取り得る。なお、本例においては簡単の為に輝度色差の量子化方法を全く同じとし、かつ、各ビットプレーン群の重要度も輝度色差で異ならないものとする。すなわち、輝度のビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅはそれぞれ色差のビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅと同じ重要度として認識され、以下において例えば「ビットプレーン群Ｅを削減する」と記したときには、輝度と色差のそれぞれからビットプレーン群Ｅを削減することを意味する。但し本例と異なり、輝度色差の重要度の違いを利用して輝度色差の重要度に相対的に差を設け、あるいは、ビットプレーン群の構成を変えてもよい。
【００４８】
次いで、量子化後の第一の符号列の符号量ａをコントローラ５内のメモリに記憶する（ステップＳ２）。このとき量子化を全く行なわないように量子化率が設定されていれば、バンドバッファ２２に格納された画像データを圧縮して得られる全符号量がａとなる。
【００４９】
また、符号化部２３ｂは、バンドバッファ２２に格納された画像データを符号化して第二の符号列を得て（第３の符号化手段）、この第二の符号列はそのまま破棄して、符号量ｂの情報のみをコントローラ５内のメモリに記憶する（ステップＳ３）。なお、この符号化部２３ｂによる符号化は、符号化部２３ａによる符号化と同時に実行すると処理時間を短縮化することができる。また、第１の符号化手段による処理と第３の符号化手段による処理とをバンドバッファに格納された同一データに対して実施することができるため、第３の符号化手段のためのワーキングメモリを設ける必要がない。
なお、本例では、後述する第２の符号化手段と第３の符号化手段とは同一の符号化部２３ｂで処理しているが、これらを別々の符号化部として設けることもできる。
次に、量子化率の再設定ついて説明する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定しなおすことを意味する。量子化率の再設定の必要性を判断するため、まずステップＳ２，Ｓ３で得られた符号量ａ，ｂを用いて、“安全係数ｐ＝ＡＶＥ（ａ／ｂ）”を計算する（増加判定手段、増加判定処理）（ステップＳ４）。ここで、“ＡＶＥ（ｘ）”は、各バンドにおけるｘを全て加えた数字をバンド数で割った値を意味する。なお、“ａ／ｂ”とは、ａをｂで除算するという意味である。
【００５０】
次に、ページメモリ２５に格納された符号化済みのバンドの総符号量Ｆ２を取得し、また圧縮符号を格納しようとするページメモリ２５（ダブルメモリであり、その一方）の容量Ｆ１、画像データ１ページ分を構成する全バンド数Ｎ、および、符号化済みのバンド数ｎから（Ｆ１／Ｎ×ｎ×ｐ）を計算する（ステップＳ４）。
【００５１】
ついで、コントローラは“（Ｆ１／Ｎ×ｎ×ｐ）＜Ｆ２”の関係が成立するか否かを判断し（ステップＳ５）、“（Ｆ１／Ｎ×ｎ×ｐ）＜Ｆ２”の関係が成立すれば量子化率を再設定する（ステップＳ６）。
【００５２】
この判定式の意味を以下説明すると、（Ｆ１／Ｎ×ｎ）は、各バンドの情報量が等しいと仮定した場合に、ページメモリ２５のダブルメモリの一方に格納されるべき情報量の上限である。例えば、Ｎが４、ｎが３のときは、“Ｆ１／Ｎ×ｎ＝Ｆ１×０．７５”となり、圧縮符号はダブルメモリの７５％以下の容量を占めるべきであることを意味する。
【００５３】
もしも、ｐ＝１であるならば、「（Ｆ１／Ｎ×ｎ×ｐ）＜Ｆ２の関係が成立すれば量子化率を再設定する」とは、各バンドの情報量が等しいと仮定した場合の予想情報量（Ｆ１／Ｎ×ｎ）に対して、実際に符号化済みのバンドの総符号量Ｆ２が少しでも上回れば、量子化率を再設定することを意味する。一方、ｐ＜１．０であれば、各バンドの情報量が等しいと仮定した場合の予想情報量（Ｆ１／Ｎ×ｎ）に対して、実際に符号化済みのバンドの総符号量Ｆ２が等しい、あるいは、やや少なくても量子化率を再設定することを意味する。また、ｐ＞１．０であれば、各バンドの情報量が等しいと仮定した場合の予想情報量（Ｆ１／Ｎ×ｎ）に対して、実際に符号化済みのバンドの総符号量Ｆ２が大きい場合でも量子化率を再設定しない場合があることを意味する。すなわち、ｐは次のバンドを符号化する前に量子化の実行／不実行を決定するための慎重さを決めるパラメータということができ、ｐが小さいほど、高い確率で量子化が実行される。
【００５４】
上述したように、本例では、このｐとしてタイル分割した場合としない場合とで得られる符号量の比を表わすパラメータであるＡＶＥ（ａ／ｂ）を使用する。ここでＡＶＥ（ａ／ｂ）を使用した理由は、タイル分割しないで得られる圧縮符号（「第一の符号列」という）を、後述する処理によりタイル分割して得られる圧縮符号（「第二の符号列」という）に変換した場合の符号量の増加率を評価するためである。すなわち、画像をタイル分割して符号化した場合に得られる圧縮符号の符号量は、同一の画像をタイル分割しないで符号化した場合に得られる圧縮符号の符号量よりも一般に大きな値を取る。そこで、ＡＶＥ（ａ／ｂ）をｐとすることによって、変換後の第二の符号列がページメモリ２５に格納できるように第一の符号列を量子化する。各バンドを第一の符号列の形式でページメモリ２５に格納するたびに量子化処理が実行される可能性があるため、本例のｐの設定の仕方ではタイル分割化による符号量の増加を正確に測定することはできないが、簡易に概算値を計算できる。
【００５５】
なお、ｐを設定する際に、ＡＶＥ（ａ／ｂ）以外にタイル分割化による符号量の増加を表現するパラメータを使用してもよい。例えば、各バンドのａ／ｂの値のうちで最小の値を使用すればタイル分割後の圧縮符号がページメモリ２５に格納できる可能性がさらに高くなる。またＡＶＥ（ａ／ｂ）等の係数に所定の数字を乗じてタイル分割後の圧縮符号がページメモリ２５に格納できる可能性をコントロールしてもよいし、計算ではなくテーブル変換等によってｐを取得してもよい。要は、タイル分割しないで得られる圧縮符号（第一の符号列）をタイル分割して得られる圧縮符号（第二の符号列）に変換した場合の符号量の増加率を評価し、これを利用することによって、タイル分割して得られた圧縮符号の符号量が所定の値以下になるように量子化率を設定することが本質である。
【００５６】
“（Ｆ１／Ｎ×ｎ×ｐ）＜Ｆ２”の関係が成立して（ステップＳ５のＹ）、量子化率を再設定した場合（ステップＳ６）、再設定後に符号化するバンドの量子化率を、新たに設定された量子化率で量子化する（ステップＳ２）だけではなく、ページメモリ２５に格納済みの圧縮符号についても再量子化を実行する（量子化手段、量子化処理）（ステップＳ７）。その理由は、１ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。
【００５７】
図６を用いてページメモリ２５に格納された圧縮符号の量子化について説明する。図６では、ページメモリ２５の容量を外枠とし、この容量を各バンドの情報が埋めていく様子を模式的に示している。図６（ａ）には、第１バンド、第２バンドまでをページメモリ２５に格納した状態が示されている。このとき、当初は量子化を全く行わないように量子化率が設定されているため、各バンド内にはビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅを表わす情報がすべて格納されている。図６（ａ）の第一バンドでは、この情報を単にＡ，Ｂ，Ｃ，Ｄ，Ｅと記し、図６（ａ）の第二バンドおよび図６、図７内のその他の図においては，特にＡ，Ｂ，Ｃ，Ｄ，Ｅとは記さないが、図６又は図７において、バンド又はタイル内部の情報を点線で区切って示した場合には、上方から順に情報Ａ，Ｂ，Ｃ，Ｄ，Ｅを意味するものとする。
【００５８】
図６（ａ）の状態において、“（Ｆ１／Ｎ×ｎ×ｐ）＜Ｆ２”の関係が成立した場合、コントローラ５は量子化処理を実行し、ページメモリ２５内の圧縮符号から情報Ｅを削減する。削減後の図を図６（ｂ）に示すが、情報Ｅが削減された結果、各バンドとも符号量が減少している。
【００５９】
図３に戻り、ページメモリ２５に格納済みの圧縮符号列について量子化を実行（ステップＳ７）した後、コントローラ５は処理対象であったバンドが１ページを構成するバンドのうち最後のバンドであったか否かを判定し（ステップＳ８）、最後のバンドでなければ（ステップＳ８のＮ）、コントローラ５はバンドバッファ２２をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ２２内に残して、これを符号化に利用する。このようにすることにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。
【００６０】
次いで、コントローラは次のバンドの画像データをバンドバッファ２２に読み込ませ（ステップＳ１に戻る）、符号化部２３ａは、新たに読み込まれたバンドを構成する画像データの符号化を開始する。
【００６１】
最後のバンドであれば（ステップＳ８のＹ）、符号化部２３ａによる符号化処理が終了する。このときには、図６（ｃ）に示すように、１ページを構成する全バンドがページメモリ２５に格納されている。
【００６２】
続いて、ページメモリ２５から１バンド分の圧縮符号列を読み出し、これを復号化部２４ａで復号して（第１の復号手段、第１の復号処理）、得られた画像データをバンドバッファ２２に格納する（ステップＳ９）。格納された画像データは符号化部２３ｂによって符号化されるが、本例におけるタイル分割は、図８（ａ）に示すように、各バンドを４つの領域に分割して行う。すなわち、Ａ４サイズの画像データは１６のタイルに分割される。符号化部２３ｂは、各タイルを符号化し（第２の符号化手段、第２の符号化処理）、得られた圧縮符号列を設定された量子化率にしたがって量子化して、得られた第二の符号列がページメモリ２５に格納される（ステップＳ１０）。上述したように、ページメモリ２５はダブルメモリから構成されており、第一の符号列が一方のメモリに格納されたままの状態で、第二の符号列が他方のメモリに格納される。このとき、コントローラ５は各画像について、タイルごとの先頭アドレスをコントローラ５内のメモリに記憶しておく。
【００６３】
図３の、Ｓ１１〜Ｓ１５の処理は、ｐの値が異なる以外は、それぞれ、Ｓ４〜Ｓ８の処理と同じであるので、ここでは説明を省略する。ｐの値が１．０となっているのは、符号化部２３ｂによる符号化実施の際には、第一の符号列を第二の符号列に変換することによる符号量の増大を見積もる必要がないためである。Ｓ１５において、最後のバンドの処理が終了すると、符号化部２３ｂによる符号化処理は終了する。
【００６４】
第二の符号化処理が終了した時、ページメモリ２５には第二の符号列が図６（ｄ）または図６（ｅ）の状態で格納されている。図６（ｄ）の状態は、第一の符号列から第二の符号列への変換時に圧縮符号が劣化しなかった場合であり、図６（ｅ）の状態は、第一の符号列から第二の符号列への変換時に圧縮符号が劣化した場合である。図６（ｄ）の場合は第一の符号列から量子化されずに第二の符号列へと変換されたために、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生していない。一方、図６（ｅ）の場合は、第一の符号列からほとんど量子化されずに第二の符号列へと変換されたために、若干のタイル境界歪は発生しているものの、第一の符号列状態で量子化の大部分が終了しているために境界歪は抑制されている。
【００６５】
これに対し、初めからタイル分割して符号化を行い、これを適宜量子化した場合の模式図を図６と同じ要領で図７に示す。図７では、圧縮符号列がページメモリ２５に格納できなかった場合に、図７（ａ）から図７（ｂ）に量子化されることによって圧縮符号が大きく量子化される。これによって最終的に得られた圧縮符号列（図７（ｃ））では、タイル境界歪が目立った画像が生成されることになる。
【００６６】
このように、本例では、まずタイルに分割しない状態で符号化した第一の符号列に対して必要な量子化を施し、これをタイルに分割して符号化された第二の符号列に変換することにより、タイル境界歪が発生しない又は抑制された圧縮符号列を得ることができる。この圧縮符号はコントローラ５内のメモリに記憶されたタイルごとの先頭アドレス値を参照することでタイル単位に読み出すことができるので、必要な順序で各タイルを読み出して、電子ソート機能または給紙トレイ自動切換機能を実現することができる。
【００６７】
次に、画像の向きの回転動作について詳細に説明すると、Ａ４用紙の長辺が搬送方向となるように搬送する場合には、図８（ｂ）に示すように、コントローラ５内のメモリを参照して、第一〜第四タイル（インデックス１〜４）の圧縮符号列をページメモリ２５から読み出し、この圧縮符号列を復号化部２４ｂで復号して（第２の復号手段）、バンドバッファ２２に画像データを展開する。そして、この画像データを図８（ｂ）に示す矢印方向に読み出して次工程の処理を行う。一方、Ａ４用紙の短辺が搬送方向となるように搬送する場合には、図８（ｃ）に示すように、コントローラ５内のメモリを参照して第一、第五、第九、第十三タイル（インデックス１，５，９，１３）の圧縮符号をページメモリ２５から読み出し、この圧縮符号を復号化部２４ｂで復号して、バンドバッファ２２に画像データを展開する。そして、この画像データを図８（ｃ）に示す矢印方向に読み出して次工程の処理を行う。
【００６８】
また、本例では最終的に得られる圧縮符号がタイル単位で独立に復号可能であるので、復号化部２４ｂは並列処理によって復号を行なう。具体的には、図９に示すように、復号化部２４ｂは復号器５１〜５４という４つの復号器から構成され、各復号器５１〜５４がタイル単位で復号を行う。したがって、並列処理が可能となり、復号処理ひいてはプリンタエンジン２における画像形成処理が高速化する。
【００６９】
ここで、本発明を用いると、並列処理のためにタイル分割を行う場合においてもタイル境界歪みの低減と言う効果を得ることができる。したがって、画像の回転処理の機能を有するデジタル複写機１のような画像形成装置において使用する場合のみならず、タイル単位で何らかの並列処理を実施する画像処理装置において本発明を適用しても非常に有用である。
並列処理の実行は同一画像を多くの部数出力する際に有効である一方で、一部数しか画像を出力しない場合には符号化部２３ｂによる符号化処理を実行することによって、かえって処理時間が伸びてしまうので、出力部数が所定の数を  超えた場合にのみ画像データを第二の符号列として保持するようにしてもよい。
【００７０】
なお、本例において、図３のステップＳ２，Ｓ１０において、圧縮符号列がページメモリ２５のダブルメモリの一方に格納できなかった場合には、その時点でページメモリ２５に格納しようとしていた圧縮符号列およびページメモリ２５内の圧縮符号列を量子化する。この処理に時間がかかってしまい、次のバンドの画像データを読み込むことができなかった場合には、画像データを再びスキャナ３またはネットワーク４から入力する。
【００７１】
なお、図３の処理において、次のようにしてもよい。すなわち、符号化部２３ａによって得られる第一の符号列をページメモリ２５に格納する際、コントローラ５は第一の符号列の量子化を、もっぱら第一の符号列がページメモリ２５に格納可能であるか否かという観点から行い、ｐの値を１．０に固定しておく。そして第一の符号列がページメモリ２５に格納された後に、そのダブルメモリの一方の容量Ｆ１にＡＶＥ（ａ／ｂ）を乗じた“Ｆ１×ＡＶＥ（ａ／ｂ）”を計算し、第一の符号列の符号量Ｆ２に対して“Ｆ１×ＡＶＥ（ａ／ｂ）＞Ｆ２”の関係が成立すれば、第一の符号列を量子化する。
【００７２】
このような処理を行うことで、符号化部２３ａによる符号化処理中に、ｐの値を計算する必要がなくなる。
【００７３】
［発明の実施の形態２］
別の実施の形態を発明の実施の形態２として説明する。
【００７４】
この実施の形態２が実施の形態１と相違するのは、図３の処理に代えて図１０の処理を行う点にあり、実施の形態１と共通の内容については、実施の形態１の場合と同一の符号を用い、詳細な説明は省略する。以下では、図１０の処理について説明する。
【００７５】
図１０において、コントローラ５は、スキャナ３から読み込まれた、または、ネットワーク４から図示しない通信インターフェイスを介して受信した画像データを、バンド単位にバンドバッファ２２に格納する（ステップＳ２１）。本例のバンドバッファ２２が格納可能な画像データの容量は、６００ｄｐｉの１画素あたり８ビットのＲＧＢの３色からなる画像データをＡ４サイズの４分の１だけ格納できる容量である。但し、上述したように、ウェーブレット変換のオーバーラップ時に参照する隣接画素分の画像データはこれとは別に格納可能である。
【００７６】
バンドバッファ２２に格納された１バンド分の画像データは、符号化部２３ａでタイル分割せずに符号化されて、ページメモリ２５に格納される（第１の符号化手段、第１の符号化処理）（ステップＳ２２）。ここで、符号化部２３ａは、まず、色変換によってＲＧＢ信号を輝度色差信号に変換し、輝度色差をそれぞれウェーブレット変換し、ウェーブレット変換係数をエントロピー符号化する。本例では、６階層のウェーブレット変換を水平垂直方向に実施し、その結果、画像データは、図４に示すようにオクターブ分割される。図４において、インデックスの数字はウェーブレット変換の階層数を意味し、数字が小さくなるに従い高周波となっている。ＬＬは低周波係数で第６階層にしか存在せず、ＨＬ，ＬＨ，ＨＨは高周波成分で各階層に存在する（煩雑さを避けるため、図４においては第２階層までしか表示しない）。このように分割されたウェーブレット変換係数に対して、上述のエントロピー符号化が実施されることになるが、より重要な情報を優先的に符号化するべく、エントロピー符号化の実行時にはウェーブレット変換係数を図５のようにシフトして符号化する。ここで、図５において、左右方向は各係数のビットプレーンの広がりを意味し、一つの係数においては最左側がＭＳＢ（最上位ビット）、最右側がＬＳＢ（最下位ビット）である。重要な情報を優先的に符号化するとは、具体的には、重要度の高いＬＬ６のみを含むビットプレーン群Ａをまず符号化し、次いで、ビットプレーン群Ｂ，Ｃ，Ｄ，Ｅの順で順次符号化していくことを意味する。なお、本例においては簡単の為に輝度色差の量子化方法を全く同じとし、かつ、各ビットプレーン群の重要度も輝度色差で異ならないものとする。すなわち輝度のビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅはそれぞれ色差のビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅと同じ重要度として認識され、以下において、例えば「ビットプレーン群Ｅを削減する」と記したときには、輝度と色差のそれぞれからビットプレーン群Ｅを削減することを意味する。但し、本例と異なり、輝度色差の重要度の違いを利用して輝度色差の重要度に相対的に差を設け、あるいは、ビットプレーン群の構成を変えてもよい。
【００７７】
次に、量子化の動作について説明する。符号化部２３ａによって符号化された第一の符号列は、コントローラ５の指示によって、あらかじめ設定された量子化率に従って量子化される（ステップＳ２２）。ここで量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ２５の容量と第一の符号列の符号量との関係に基づき、必要に応じて設定が変更されていく。
【００７８】
この量子化は、図５に示したビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの単位で実行される。具体的には、圧縮符号列から情報を削減する際に、各ビットプレーン群を符号化して得られる符号を単位として情報を削減する。例えば、量子化率の設定がビットプレーン群Ｅを量子化するように設定されている場合には、エントロピー符号化されたデータのうちからビットプレーン群Ｅに該当する情報であるＨＨ１係数およびＬＨ１，ＨＬ１，ＨＨ２，ＬＨ２，ＨＬ２，ＨＨ３の下位ビットプレーンの情報を削除する。このとき、本例の圧縮符号列はビットプレーン単位に符号化されているために圧縮符号状態のまま容易に情報の削減が可能である。あるいは、量子化対象であるビットプレーン群については初めからエントロピー符号化しないという方法も取り得る。
【００７９】
次いで、量子化後の第一の符号列の符号量をコントローラ５内のメモリに記憶する（ステップＳ２２）。本例で、コントローラ５は、第一の符号列の符号量をそのメモリに格納する際、ビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの単位で符号量を格納する。以下、ビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの符号量をそれぞれ量ａＡ，ａＢ，ａＣ，ａＤ，ａＥと記し、全ての符号量の和をａと記す。すなわち、“ａ＝ａＡ＋ａＢ＋ａＣ＋ａＤ＋ａＥ”である。
【００８０】
また、符号化部２３ｂは、バンドバッファ２２に格納された画像データを符号化して第二の符号列を得て（第３の符号化手段）、その第二の符号列自体はそのまま破棄して、符号量のデータのみをコントローラ５内のメモリに記憶する（ステップＳ２３）。
【００８１】
ところで、本例のコントローラ５は、第二の符号列の符号量をコントローラ５のメモリに格納する際、第一の符号列の場合と同様、ビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの単位で符号量を格納する。以下、ビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅの符号量をそれぞれ量ｂＡ，ｂＢ，ｂＣ，ｂＤ，ｂＥと記し、全ての符号量の和をｂと記す。すなわち、“ｂ＝ｂＡ＋ｂＢ＋ｂＣ＋ｂＤ＋ｂＥ”である。この符号化部２３ｂによる符号化は、符号化部２３ａによる符号化と同時に実行すると処理時間を短縮化することができる。
【００８２】
次に、量子化率の再設定ついて説明する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定しなおすことを意味する。具体的には、ページメモリ２５に格納された符号化済みのバンドの総符号量Ｆ２を取得し、またページメモリ２５の容量Ｆ１、画像データ１ページ分を構成する全バンド数Ｎ、および符号化済みのバンド数ｎから（Ｆ１／Ｎ×ｎ）を計算する（増加判定手段、増加判定処理）（ステップＳ２４）。
【００８３】
ついで、コントローラ５は、“（Ｆ１／Ｎ×ｎ）＜Ｆ２”の関係が成立するか否かを判断し（ステップＳ２５）、“（Ｆ１／Ｎ×ｎ）＜Ｆ２”の関係が成立すれば量子化率を再設定する（ステップＳ２６）。この判定式の意味を以下説明すると、（Ｆ１／Ｎ×ｎ）は、各バンドの情報量が等しいと仮定した場合にページメモリ２５に格納されるべき情報量の上限である。例えば、Ｎが４、ｎが３のときは、“Ｆ１／Ｎ×ｎ＝Ｆ１×０．７５”となり、圧縮符号列はページメモリ２５の７５％以下の容量を占めるべきであることを意味する。すなわち“（Ｆ１／Ｎ×ｎ）＜Ｆ２の関係が成立すれば量子化率を再設定する”とは、各バンドの情報量が等しいと仮定した場合の予想情報量（Ｆ１／Ｎ×ｎ）に対して、実際に符号化済みのバンドの総符号量Ｆ２が少しでも上回れば、量子化率を再設定することを意味する。
【００８４】
“（Ｆ１／Ｎ×ｎ）＜Ｆ２”の関係が成立して量子化率を再設定した場合、再設定後に符号化するバンドの量子化率を新たに設定された量子化率で量子化する（ステップＳ２２）だけではなく、ページメモリ２５に格納済みの圧縮符号についても再量子化を実行する（ステップＳ２７）必要がある（量子化手段、量子化処理）。その理由は、１ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。
【００８５】
図１１を用いてページメモリ２５に格納された圧縮符号の量子化について説明する。図１１では、ページメモリ２５の容量を外枠とし、この容量を各バンドの情報が埋めていく様子を模式的に示している。図１１（ａ）には第１バンド、第２バンドまでをページメモリ２５に格納した状態が示されている。このとき、当初は量子化を全く行わないように量子化率が設定されているため、各バンド内にはビットプレーン群Ａ，Ｂ，Ｃ，Ｄ，Ｅを表わす情報がすべて格納されている。図１１（ａ）の第一バンドでは、この情報を単にＡ，Ｂ，Ｃ，Ｄ，Ｅと記している。図１１（ａ）の第二バンドおよび図１１、図７内のその他の図においては、特にＡ，Ｂ，Ｃ，Ｄ，Ｅとは記さないが、図１１又は図７において、バンド又はタイル内部の情報を点線で区切って示した場合には、上方から順に情報Ａ，Ｂ，Ｃ，Ｄ，Ｅを意味するものとする。
【００８６】
図１１（ａ）の状態において、“（Ｆ１／Ｎ×ｎ）＜Ｆ２”の関係が成立した場合、コントローラ５は量子化処理を実行し、ページメモリ２５内の符号列から情報Ｅを削減する。削減後の図を図１１（ｂ）に示すが、情報Ｅが削減された結果、各バンドとも符号量が減少している。
【００８７】
図１０に戻って、ページメモリ２５に格納済みの圧縮符号について量子化を実行した（量子化手段、量子化処理）（ステップＳ２７）後、コントローラ５は処理対象であったバンドが１ページを構成するバンドのうち最後のバンドであったかを判定し（ステップＳ２８）、最後のバンドでなければ（ステップＳ２８のＮ）、コントローラ５はバンドバッファ２２をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ２２内に残して、これを符号化に利用する。これにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。次いで、コントローラ５は次のバンドの画像データをバンドバッファ２２に読み込ませ（ステップＳ２１に戻る）、符号化部２３ａは新たに読み込まれたバンドを構成する画像データの符号化を開始する。
【００８８】
最後のバンドであれば（ステップＳ２８のＹ）、符号化部２３ａによる符号化処理が終了する。このときには図１１（ｃ）に示すように、１ページを構成する全バンドがページメモリ２５に格納されている。そして、ステップＳ２９において、コントローラ５は、ａｓｕｍ、ｂｓｕｍを計算する。ここで、ａｓｕｍとは符号量ａＡ，ａＢ，ａＣ，ａＤ，ａＥのうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。また、ｂｓｕｍとは、符号量ａＡ，ａＢ，ａＣ，ａＤ，ａＥのうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。例えば、第一の符号列がビットプレーン群Ｅ，Ｄ，Ｃを量子化された状態でページメモリ２５に格納されていればａｓｕｍは（ａＡ＋ａＢ）を全バンドにわたって加算した値であり、ｂｓｕｍは（ｂＡ＋ｂＢ）を全バンドにわたって加算した値である。
【００８９】
ステップＳ３０では、ページメモリ２５に格納された第一の符号列の符号量Ｆ２、またページメモリ２５の容量Ｆ１を用いて“Ｆ１×ａｓｕｍ／ｂｓｕｍ＜Ｆ２”が成立するか否かが確認される。この条件が成立することは（ステップＳ３０のＹ）、第一の符号列を第二の符号列に変換した場合に、第二の符号列がページメモリ２５の容量を  超えることを意味するので、“Ｆ１×ａｓｕｍ／ｂｓｕｍ＜Ｆ２”が成立しなくなるように量子化率の再設定が行なわれる（ステップＳ３１）。具体的には、ページメモリ２５内の第一の符号列をさらに量子化した場合に“Ｆ１×ａｓｕｍ／ｂｓｕｍ＜Ｆ２”が成立するか否かを再計算し、この式が成立しなくなるまで量子化を繰り返す。この再計算においては、ａｓｕｍ，ｂｓｕｍとして量子化後の値を使用し、例えばビットプレーン群Ａ、Ｂによって構成される第一の符号列からビットプレーン群Ｂをさらに量子化する場合にはａｓｕｍとしてａＡを全バンド分加算した値を、ｂｓｕｍとしてｂＡを全バンド分加算した値を使用する。これによって、量子化後に第一の符号列から変換される第二の符号列の正確な符号量を得ることができる。なお、ビットプレーン群がＡのみとなっても“Ｆ１×ａｓｕｍ／ｂｓｕｍ＜Ｆ２”が成立する場合には、所定のエラー報知によって、画像の回転処理を必要とする機能が実行できない旨をユーザに知らせるか、解像度を落として画像データを再圧縮する。
【００９０】
そして、“Ｆ１×ａｓｕｍ／ｂｓｕｍ＜Ｆ２”が成立しない量子化率が得られた場合、再設定された量子化率に従ってページメモリ２５内の第一の符号列を量子化する（量子化手段、量子化処理）（ステップＳ３２）。以上の処理によって、第一の符号列を第二の符号列に変換しても、第二の符号列の符号量がページメモリ２５の容量を  超えないことが確実となったことになる。
【００９１】
続いて、ページメモリ２５から１バンド分の第一の符号列を読み出し、これを復号化部２４ａで復号して（第１の復号手段、第１の復号処理）、得られた画像データをバンドバッファ２２に格納する（ステップＳ３３）。格納された画像データは符号化部２３ｂによって符号化されるが、上述したように本例におけるタイル分割は、図１３（ａ）に示すように各バンドを４つのタイルに分割して行う。すなわちＡ４サイズの画像データは１６のタイルに分割される。符号化部２３ｂは各タイルを符号化し（第２の符号化手段、第２の符号化処理）、得られた圧縮符号をページメモリ２５に格納する（ステップＳ３４）。このとき、ステップＳ３０，Ｓ３１，Ｓ３２の処理によって第二の符号列はさらに量子化しなくともページメモリ２５に格納可能であることが分かっているので、ステップＳ３４の符号化処理において量子化は実行しない。
【００９２】
なお、どのバンドから「第一の符号列」を「第二の符号列」に変換するかという順序は、コントローラ５が各バンドについて第一の符号列の状態での符号量αおよび第二の符号列の状態での符号量βから“γ＝α÷β”という値γを計算し、このγが大きなバンドから順に変換するものとする。この理由は以下の通りである。
【００９３】
一般に画像データを符号化する際には、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が大きくなる。しかし、タイルの境界部分での拡張仮想画素の取り方や画像データによっては、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が小さくなることが起こり得る。かかる事態が生じた場合、第二の符号列の符号量が全体としてページメモリ２５の容量以下であったとしても、「第一の符号列を第二の符号列に変換することによって符号量が減少するバンド」よりも「第一の符号列を第二の符号列に変換することによって符号量が増加するバンド」を先に処理してしまうと、一時的にページメモリ２５に格納できないということ態が起こり得る。例えば、ページメモリ２５が圧縮符号を格納可能な容量を１００％としたとき、第一バンドが第一の符号列として２０％、第二の符号列として２４％を占め、第二バンドが第一の符号列として３０％、第二の符号列として２５％を占め、第三バンドが第一の符号列として２５％、第二の符号列として３０％を占め、第四バンドが第一の符号列として２３％、第二の符号列として２０％を占めるとき、第一の符号列は１ページ全体として９８％、第二の符号列は１ページ全体として９９％となり、どちらもページメモリ２５に格納可能な容量である。しかし、はじめに第一バンドについて第一の符号列を第二の符号列に変換すると、その時点で符号量が全体で１０２％となりメモリ容量をオーバーしてしまう。
【００９４】
そこで、本例では、γの値が大きなバンド、すなわち「第二の符号列の符号量に対する第一の符号列の符号量が相対的に大きなバンド」を優先的に処理することで、かかる不具合を回避し、１ページ分のページメモリしか持たない場合においても確実に量子化せずに第一の符号列を第二の符号列に変換可能である。上述の例でいえば、第一バンドではγ＝０．８３、第二バンドではγ＝１．２０、第三バンドではγ＝０．８３、第四バンドではγ＝１．１５であり、第二、第四、第一、第三バンドの順で処理を行えばよい。あるいは、上記のような不具合が生じるのはγの値が１を超えるバンドのみであるので、γ＞１であるバンドについて優先的に処理を行うようにしてもよい。
【００９５】
そして、ステップＳ３５においては、全てのバンドについて符号化部２３ｂによる符号化処理が終了したか否かを確認し、処理が終了する。
【００９６】
符号化部２３ｂによる符号化処理が終了した時、ページメモリ２５には第二の符号列が第一の符号列から量子化せずに変換されて格納されている。従って、この符号は、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生しない。
【００９７】
符号化部２３ｂによる符号化処理が終了した時、ページメモリ２５には第二の符号列が図１１（ｄ）の状態で格納されている。図１１（ｄ）では、第一の符号列から量子化せずに第二の符号列へと変換されたために、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生していない。これに対し、初めからタイル分割して符号化を行い、これを適宜量子化した場合の模式図を図７に示す。図７では、圧縮符号がページメモリ２５に格納できなかった場合に、（ａ）から（ｂ）に量子化されることによって圧縮符号が大きく量子化される。これによって最終的に得られた圧縮符号（ｃ）では、タイル境界歪が目立った画像が生成されることになる。
【００９８】
このように、本例では、タイルに分割しない状態で符号化した第一の符号列に対して必要な量子化を施し、これを量子化せずにタイルに分割符号化された第二の符号列に変換することにより、タイル境界歪が発生しない圧縮符号を得ることができる。この圧縮符号はコントローラ５内のメモリに記憶されたタイルごとの先頭アドレス値を参照することでタイル単位に読み出すことができるので、必要な順序で各タイルを読み出して電子ソート機能または給紙トレイ自動切換機能を実現することができる。
【００９９】
次に、画像を９０°回転する動作について詳細に説明する。
【０１００】
まず、Ａ４用紙の長辺が搬送方向となるように搬送する場合には、図８（ｂ）に示すように、コントローラ５内のメモリを参照して第一〜第四タイル（インデックス１〜４）の圧縮符号をページメモリ２５から読み出し、この圧縮符号を復号化部２４ｂで復号して（第２の復号手段）、バンドバッファ２２に画像データを展開する。そして、この画像データを図８（ｂ）に示す矢印方向に読み出して次工程の処理を行う。一方、Ａ４用紙の短辺が搬送方向となるように搬送する場合には、図８（ｃ）に示すように、コントローラ５内のメモリを参照して第一、第五、第九、第十三タイル（インデックス１、５、９、１３）の圧縮符号をページメモリ２５から読み出し、この圧縮符号を復号化部２４ｂで復号してバンドバッファ２２に画像データを展開する。そしてこの画像データを図８（ｃ）に示す矢印方向に読み出して次工程の処理を行う。
【０１０１】
また、本例では、最終的に得られる圧縮符号がタイル単位で独立に復号可能であるので、復号化部２４ｂは並列処理によって復号を行なう。具体的には、図９に示すように復号化部２４ｂは、復号器５１〜５４という４つの復号器から構成され、各復号器５１〜５４がタイル単位で復号を行う。したがって、並列処理が可能となり、復号処理ひいてはデジタル複写機１の処理が高速化する。
【０１０２】
なお、高速処理という利点は回転処理とは関係がないので、Ａ３サイズの画像を形成する場合にも画像データを第二の符号列として保持することで復号処理の高速化という利点を得ることができる。
【０１０３】
ただし、本例の場合、並列処理の実行は同一画像を多くの部数出力する際に有効である一方で、一部数しか画像を出力しない場合には第一の符号化処理を前段で実行することによってかえって処理時間が伸びてしまうので、出力部数が所定の数を  超えた場合にのみ画像データを第二の符号列として保持するようにしてもよい。
【０１０４】
なお，本例のページメモリ２５を、互いに等しい容量を有し、それぞれＡ４サイズ１ページ分の圧縮符号を格納するために設けられた二つのメモリとし、ページメモリ２５全体としてはＡ４サイズ２ページ分の画像データを圧縮符号として格納することができるようにしてもよい。かかる構成とすることにより、画像の連続出力の際には２つのメモリのいずれか一方に格納された１ページ分の圧縮符号を読み出して画像形成しつつ、他方にはハードディスク２７から読み出した次のページの圧縮符号を格納することが可能となる。また、後述するように第一の符号列を復号して得た画像データを符号化部２３ｂで符号化して第二の符号列を得る場合には、２つのメモリのいずれか一方に第一の符号列を格納し、第二の符号化部で符号化された第二の符号列は他方に格納することによって、煩雑なメモリ管理を行うことなく第二の符号列を得ることができる。また、Ａ３サイズの画像を扱う場合には、２つのメモリの両方でＡ３サイズ１枚分の画像データを格納する。
【０１０５】
さらに、バンドバッファ２２に格納された画像データに対して、まず、符号化部２３ｂが符号化処理を行ない、そして第二の符号列がページメモリ２５のダブルメモリの一方に格納されれば画像形成動作を開始する一方、第二の符号列がページメモリ２５のダブルメモリの一方に格納できなかった場合には、量子化せずに格納できないことが判明した時点で図１０に示した処理を実施してもよい。かかる構成とすれば、初めからタイル分割して第二の符号列とした場合でも符号量が充分小さくなるような画像データに対しては、符号化部２３ａによる符号化処理および復号化部２４ａによる復号処理を実施しないですむため、高圧縮が可能な画像に対しては処理時間を短縮化することができる。
【０１０６】
なお、実施の形態１において、次のように構成してもよい。すなわち、符号量の変化を全く予測あるいは計測することなく、まず、第一の符号列を第二の符号列に変換し、ページメモリ２５のダブルメモリの一方に格納してみる。その結果、格納できないことが判明した時点で、第一の符号列を再量子化して符号量を削減し、再量子化後の第一の符号列を再び第二の符号列に変換して、再び、ページメモリ２５のダブルメモリの一方に格納してみる。このトライアンドエラーを繰り返し、最終的に第二の符号列を量子化せずに、又は、ほとんど量子化せずに、ページメモリ２５に格納することができる。
【０１０７】
この構成例では、第二の符号列がメモリに格納できなかった場合にやり直さねばならず、処理時間がかかるが、符号量の変化の予測又は計測処理を省略したにも関わらず、量子化せずに確実に第一の符号列から第二の符号列への変換を行える利点がある。
【０１０８】
また、実施の形態１を次のように構成してもよい。すなわち、バンドバッファ２２に格納された画像データに対して、まず符号化部２３ｂが符号化処理を行なう。そして、作成した第二の符号列がページメモリ２５のダブルメモリの一方に格納されれば、プリンタエンジン２が画像形成動作を開始する。
【０１０９】
一方、第二の符号列がページメモリ２５のダブルメモリの一方に格納できなかった場合には、量子化せずに、格納できないことが判明した時点で、実施の形態１の処理を実行する。この場合、画像データは再びスキャナ３またはネットワーク４から入力する。
【０１１０】
本例では、初めからタイル分割して第二の符号列とした場合でも、符号量が充分小さくなるような画像データに対しては、符号化部２３ａ，復号化部２４ａによる符号化処理および復号処理を実施しないですむため、高圧縮が可能な画像に対しては処理時間を短縮化することができる。
【０１１１】
なお、この変形例として、例えば、ビットプレーン群Ｅのみを削除するだけでは第二の符号列がページメモリ２５のダブルメモリの一方に格納できない場合に、実施の形態１の処理を実行するようにしてもよい。
【０１１２】
さらに、実施の形態２において、次のような構成としてもよい。すなわち、１バンド分の画像データを符号化する際、まず、符号化部２３ａと符号化部２３ｂとを同時並行的に動作させ、ページメモリ２５内の各ダブルメモリに第一の符号列と第二の符号列とを同時並行的に格納していく。コントローラ５は、第二の符号列の符号量を計測し、第二の符号列が量子化せずに、または、ほとんど量子化せずにページメモリ２５に格納可能であることが予測できれば、第二の符号列を優先的にページメモリ２５に格納する。ここで、「優先的に」とは、第一の符号列と第二の符号列とを、互いに重ならないメモリ領域に格納することができず、いずれかを消去しなければならない場合に、第二の符号列をページメモリ２５に残すということを意味する。
【０１１３】
第二の符号列が量子化されずに、または、ほとんど量子化されずにページメモリ２５に格納可能であるか否かの予測は、総バンド数Ｎ、符号化済みのバンド数ｎ、ページメモリ２５に格納済みの第二の符号列の符号量Ｆ２、ページメモリ２５の容量Ｆ１を用いて、“Ｆ１×ｎ／Ｎ＜Ｆ２”が成立すれば格納不可能、そうでなければ格納可能である、と線形予測する。なお、このときに、予測結果が出る以前に、第一の符号列と第二の符号列とを、互いに重ならないメモリ領域に格納することができなくなった場合には、第一の符号列を優先的にページメモリ２５に格納する。そして、このような予測の結果が外れた場合には、実施の形態２と同様の処理に切り替える。
【０１１４】
本例では、第一の符号列および第二の符号列をいずれもページメモリ２５に格納しつつ、「第二の符号列を量子化せずに、又は、ほとんど量子化せずに、ページメモリ２５に格納可能か否か」という予測を行なうので、ある程度多くの画像データを用いて予測を行なった後に、符号化部２３ａによる符号化処理をはじめに実行させるか、あるいは、符号化部２３ｂによる符号化処理をはじめに実行させるかを選択することができ、予測精度が向上するという利点がある。
【０１１５】
【発明の効果】
請求項１に記載の発明は、分割された領域の境界に歪みが発生するのを防止し、あるいは、低減することができる。
【０１１６】
請求項２に記載の発明は、請求項１に記載の発明において、第２の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化手段で量子化することができる。
【０１１７】
請求項３に記載の発明は、請求項２に記載の発明において、現実に第２の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第２の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができる。
【０１１８】
請求項４に記載の発明は、請求項２または３に記載の発明において、現実に第２の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第２の符号化手段で圧縮符号化後の符号列がこの発明の目的の記憶装置に格納可能な符号量を超えると判断したことを条件に量子化手段で量子化を行うので、無駄な量子化処理を防止して、処理を高速化することができる。
【０１１９】
請求項５に記載の発明は、請求項４に記載の発明と同様の作用、効果を奏する。
【０１２０】
請求項６に記載の発明は、第２の符号化処理で圧縮符号化する際に、量子化を行わない、あるいは、小さな量子化率で量子化を行うようにすれば、タイル境界歪みなど、領域の境界で歪みが発生するのを防止し、あるは、低減することができるが、あらかじめ量子化処理で量子化するので、第２の符号化処理で圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができる。
【０１２１】
請求項７に記載の発明は、請求項６に記載の発明において、第２の符号化処理で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化処理で量子化することができる。
【０１２２】
請求項８に記載の発明は、請求項６または７に記載の発明と同様の作用、効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態１であるデジタル複写機の概略構成を示す説明図である。
【図２】デジタル複写機の符号化部（ａ）、復号化部（ｂ）、符号化部（ｃ）の機能ブロック図である。
【図３】本発明の実施の形態１であるデジタル複写機が行う処理のフローチャートである。
【図４】ＪＰＥＧ２０００によるオクターブ分割の説明図である。
【図５】エントロピー符号化の実行時に行なうウェーブレット変換係数のシフトについて説明する説明図である。
【図６】圧縮符号の量子化について説明する説明図である。
【図７】圧縮符号の量子化について説明する説明図である。
【図８】タイル分割について説明する説明図である。
【図９】復号化部の構成について説明する説明図である。
【図１０】本発明の実施の形態２であるデジタル複写機が行う処理のフローチャートである。
【図１１】圧縮符号の量子化について説明する説明図である。
【符号の説明】
１  画像形成装置
２  プリンタエンジン
２６  画像処理装置
【図１】
2004228963.tif 000003
【図２】
2004228963.tif 000004
【図３】
2004228963.tif 000005
【図４】
2004228963.tif 000006
【図５】
2004228963.tif 000007
【図６】
2004228963.tif 000008
【図７】
2004228963.tif 000009
【図８】
2004228963.tif 000010
【図９】
2004228963.tif 000011
【図１０】
2004228963.tif 000012
【図１１】
2004228963.tif 000013