JP4050157B2 - 画像処理装置、画像処理方法、プログラムおよび記憶媒体 - Google Patents
画像処理装置、画像処理方法、プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP4050157B2 JP4050157B2 JP2003014858A JP2003014858A JP4050157B2 JP 4050157 B2 JP4050157 B2 JP 4050157B2 JP 2003014858 A JP2003014858 A JP 2003014858A JP 2003014858 A JP2003014858 A JP 2003014858A JP 4050157 B2 JP4050157 B2 JP 4050157B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- quantization
- encoding
- code string
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、画像データを圧縮符号化する画像処理装置、画像形成装置、プログラムおよび記憶媒体である。
【0002】
【従来の技術】
従来、符号化された画像データの操作性を高めるために、画像データを複数の領域に分割して各領域を独立に符号化して圧縮符号列とし、この圧縮符号列を復号する際に、復号後の処理内容に応じて復号する領域の順序を変えていく処理が知られている。ここで、「独立して」とは、各領域を復号する際に他の領域の情報を利用することがなく、従って他の領域の画像データが復号されているか否かに関わりなく復号することが可能であることを意味する。
【0003】
画像データを複数の領域に分割して符号化することで操作性が高める例として、復号する領域の順序を変えることで、画像を回転して方向を変える処理が知られている。例えば、特許文献1では、固定長符号化方式を用いて画像の回転処理等を実行する技術が開示されている。また、特許文献2では、ブロック単位に可変長符号化された圧縮符号の各ブロックのアドレスを記憶しておき、復号する順序に応じてアクセスするアドレスを切り替える技術が開示されている。一般に可変長符号化は固定長符号化に比べて圧縮率が高いために、特許文献1に開示される方法は固定長符号化方式と比較して圧縮率が高いという利点がある。
【0004】
また、国際標準となった画像圧縮方式JPEG2000においても、タイルと呼ばれる概念が導入されており、画像データをタイル分割してタイルごとに符号化することにより、タイルに領域分割された画像データを得ることが可能となる。このタイルは独立に符号化される単位であるので、読み出すタイルの順序を制御することで容易に画像の回転処理等を実行できる。
【0005】
さらに、画像データが複数の領域に分割されている場合、復号処理を行なう際に並列処理を実行することも可能となる。特許文献3には、タイル分割された場合の圧縮符号量を制御するために、各タイルに上限情報量を割り当てて、各タイルがその上限値を 超えないように圧縮を行う技術が開示されている。
【0006】
【特許文献1】
特開2001−160904公報(0003の欄を参照)
【特許文献2】
特開2002−125116公報
【特許文献3】
特開2000−134623公報
【特許文献4】
特開2001−217718公報
【0007】
【発明が解決しようとする課題】
しかし、タイル単位に可変長符号化を実施して得られた圧縮符号をメモリに格納する場合、可変長符号化では固定長符号化方式と異なり圧縮率の予測が困難であるため、圧縮符号がメモリに入りきらない場合が生じ得る。かかる場合には、圧縮符号がメモリに格納できるように画像データの情報量を削減する必要があるが、領域分割した画像を量子化すると領域の境界に画質劣化が生じる。このような画質劣化は、独立して符号化される各領域をタイルと呼ぶJPEG2000においてはタイル境界歪などと呼ばれている。
【0008】
このような、タイル境界歪を低減する技術としては、特許文献4に開示の技術が知られている。
【0009】
しかしながら、特許文献4に示されるように、タイル境界の状態に応じて拡張画素の作成方法を適応的に選択する技術では、本質的にタイル境界歪みを防止することができないという不具合がある。
【0010】
本発明の目的は、タイル境界歪みなど、画像を分割する領域の境界で歪みが発生するのを防止し、あるいは、低減することができ、しかも、画像を圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができるようにすることである。
【0011】
【課題を解決するための手段】
本発明の画像処理装置は、画像データを複数の領域に分割することなく圧縮符号化し、第1の符号列を生成する第1の符号化手段と、前記第 1 の符号化手段で生成された前記第1の符号列を、該第1の符号列の符号量が所定の値以下になるように定められる量子化率により量子化処理する量子化手段と、前記量子化手段により量子化された前記第 1 の符号列を復号する復号手段と、前記復号手段で復号された画像データを複数の領域に分割し、領域ごとに圧縮符号化する第2の符号化手段と、を有する画像処理装置である。
【0012】
したがって、分割された領域の境界に歪みが発生するのを防止し、あるいは、低減することができる。
【0013】
本発明の画像処理方法は、画像データを複数の領域に分割することなく圧縮符号化し、第1の符号列を生成する第1の符号化ステップと、前記第 1 の符号化ステップにおいて生成された前記第1の符号列を、該第1の符号列の符号量が所定の値以下になるように定められる量子化率により量子化処理する量子化ステップと、前記量子化ステップにおいて量子化された前記第 1 の符号列を復号する復号ステップと、前記復号ステップにおいて復号された画像データを複数の領域に分割し、領域ごとに圧縮符号化する第 2 の符号化ステップと、を有する画像処理方法である。
【0014】
本発明のプログラムは、本発明の画像処理方法をコンピュータに実行させるプログラムである。
【0015】
本発明の記憶媒体は、本発明のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【0027】
【発明の実施の形態】
[発明の実施の形態1]
本発明の一実施の形態を発明の実施の形態1として説明する。
【0028】
図1は、本実施の形態であるデジタル複写機1の概略構成を示すブロック図である。このデジタル複写機1は、本発明の画像形成装置を実施するもので、周知の電子写真プロセスにより用紙上などに画像形成を行なうプリンタエンジン2と、原稿の画像を読み取るスキャナ3とを備えている。このデジタル複写機1は、マイクロコンピュータを有するコントローラ5を備えている。このコントローラ55は、具体的には、デジタル複写機1の全体を制御するメインコントローラと、メインコントローラ5各部をそれぞれ制御する複数のサブコントローラとからなるが、ここでは、単一のコントローラ5として図示する。このコントローラ5は、ROM(記憶媒体)に記憶されている制御プログラムに基づいて、以下に説明するような各種の処理を実行する。
【0029】
プリンタエンジン2は、それぞれ感光体、現像装置、クリーニング装置、帯電装置を有していて、K,M,C,Y(ブラック、マゼンタ、シアン、イエロー)各色の乾式トナー像を形成するためのプロセスカートリッジ11K,11M,11C,11Yと、転写ベルト12と、定着装置13と、プロセスカートリッジ11K,11M,11C,11Yの各感光体にK,M,C,Y各色の画像の静電潜像を光書込みする光書込装置14K,14M,14C,14Yとを備えている。また、デジタル複写機1は、カラー画像を記録されるための転写材(記録用紙やOHPなど)を収納する給紙トレイ15a〜15cを備えている。各プロセスカートリッジ11K,11M,11C,11Yは、K,M,C,Y各色のトナー像を転写ベルト12に重ね合わせて形成し、この重ね合わされたトナー像は、給紙トレイ15a〜15cから供給される転写材に転写されて、定着装置13により定着される。
【0030】
また、デジタル複写機1は、バンドバッファ22、符号化部23、復号化部24、記憶装置となるページメモリ25からなる、画像処理装置26を備えている。
【0031】
図1において、バンドバッファ22は、1ページ分の画像データを構成する複数のバンドのうち、一つのバンドに含まれる画素のデータを格納するためのバッファである。ここでバンドとは、所定数の画素ラインから構成される画像データの一領域である。
【0032】
デジタル複写機1は、LANなどの所定のネットワーク4から図示しない通信インターフェイスを介して画像データを受け取ることができる。RIP部21は、ネットワーク4を介して入力された画像データがPDL(ページ記述言語)形式のデータであるとき、これをバンド単位に描画処理してビットマップ形式に変換して、画像処理装置26に出力する。
【0033】
本例では、バンドバッファ22に格納された画像データを符号化するための符号化装置である符号化部23a,23bと、圧縮符号を復号するための復号化装置である復号化部24a,24bを備えている。符号化部23a,23bは、静止画圧縮の国際標準であるJPEG2000を使用して実施することができる。したがって、その圧縮符号化方式は、静止画像を1又は複数の矩形領域(タイル)に分割し、この矩形領域ごとに独立して階層的に圧縮符号化するものである。すなわち、JPEG2000方式においては画像をタイル分割して符号化することができ、また、タイル数=1はタイル分割しない場合に該当するので、符号化部24aはタイル数=1としてJPEG2000方式で画像データを符号化し、一方、符号化部24bはタイル数=16としてJPEG2000方式で画像データを符号化する。
【0034】
ページメモリ25は所定ページ分の画像データを圧縮符号として格納(記憶)するためのメモリである。本例のページメモリ25は、A4サイズの画像データ1ページ分の圧縮符号列を格納可能とする。ハードディスク27はページメモリ25に格納された圧縮符号列を取得して格納し、必要に応じてその圧縮符号列をページメモリ25に再格納するために設けられたメモリである。
【0035】
RGB→CMYK変換部28は、後述のようにして復号化部24bで復号された、RGB(レッド、グリーン、ブルー)色の信号で表現された画像データを受け取り、これをCMYK信号に変換する。K,M,C,Y色階調処理部29K、29M,29C,29Yは、それぞれK,M,C,Y色の多値データを少値化して書込データに変換する機能を果たす。本例では、バンドバッファ22では1画素8ビットの600dpi画像データを格納し、これをK,M,C,Y色階調処理部29K,29M,29C,29Yで1画素1ビットの1200dpi画像データへと変換する。
【0036】
K,M,C色の書込みデータは、画像形成開始タイミングを調節するためにラインメモリ16K,16M,16Cに格納され、各色の画像が転写材上で重なり合うようにタイミングを合わせてK、M、C,Y,の色書込装置14K、14M,14C,14Yに送られる。
【0037】
次に、本例における符号化部23aが実施する符号化方式のブロック図を図2(a)に示す。すなわちRGB信号からなる画像データはDCレベルシフト部31でレベルシフトされ、色変換部32で色変換され、各色変換係数はウェーブレット変換部33でウェーブレット変換され、エントロピー符号化部34でウェーブレット係数がエントロピー符号化される。エントロピー符号化された符号は符号フォーマットに従い最終的に必要とされる符号順序に並べ替えて出力される。
【0038】
次に、復号化部24a,24bについて説明する。図2(b)は、復号化部24a,24bが実施する復号方式の機能ブロック図である。復号化部24a,24bが実行するのは、それぞれ符号化部23a,23bの逆変換であり、符号化部23a,23bで使用するDCレベルシフト、色変換、ウェーブレット変換、エントロピー符号化の各処理の逆変換をそれぞれ実行する逆DCレベルシフト部36、逆色変換部37、ウェーブレット逆変換部38、エントロピー復号化部39からなる。圧縮符号がタイル分割されている場合には、かかる処理を各タイルについて実行する。
【0039】
符号化部23bについて説明する。図2(c)は、符号化部23bが実施する復号方式の機能ブロック図である。符号化部23bは、バンドバッファ22に格納された画像データをタイル分割して符号化するための符号化装置である。以下、符号化部23aによって符号化された圧縮符号列を「第一の符号列」、符号化部23bによって符号化された圧縮符号列を「第二の符号列」と記す。
【0040】
本例における符号化部23bが実施する符号化方式のブロック図を図2(c)に示すが、符号化部23bは、符号化部23aと比べてタイル分割部40がDCレベルシフト部31の前段に追加されている点が異なる。すなわち画像データはまず、タイル分割部40で複数のタイルに分割され、タイルごとに独立に、符号化部23aにおけると同様な処理が施される。ここで「独立」とは、符号化時に他のタイル内の画素情報を利用することなく符号化を実施すると言う意味である。なお、符号化部23bは色変換を施してからタイル分割してもよい。
次に、デジタル複写機1の動作について説明する。
【0041】
本例のデジタル複写機1は、A4サイズの出力時に電子ソート機能を実行することができる。電子ソート機能の実行時には、第一部数目の画像の出力時には給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、第二部数目の画像の出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、その後順次、奇数部数目の画像の出力時には給紙トレイ15a(又は給紙トレイ15b)に収納されたA4用紙に画像が記録され、偶数部数目の出力時には給紙トレイ15b(又は給紙トレイ15a)に収納されたA4用紙に画像が記録され、というように交互に画像が記録される。このとき、奇数部数目の出力時には画像は回転されずに出力され、偶数部数目の出力時には画像が90度回転されて出力される。
【0042】
また、本例のデジタル複写機1は、給紙トレイ15a、15bのうち一方に収納された転写材が消費されると、他方に収納された転写材上に画像を形成する給紙トレイ自動切換機能を有するが、このときも、画像を90度回転させることによって切り替え先の給紙トレイに収納された転写材に適合した向きで画像を出力する。
【0043】
この電子ソート機能または給紙トレイ自動切換機能を実現するために、本例の画像処理装置26がコントローラ5に制御されて行なう処理について、図3のフローチャートを参照して説明する。
【0044】
図3において、スキャナ3から読み込まれた、またはネットワーク4から送られてきた画像データを、コントローラ5は、バンド単位にバンドバッファ22に格納される(ステップS1)。本例のバンドバッファ22が格納可能な画像データの容量は、600dpiの1画素あたり8ビットの画像データをA4サイズの4分の1だけ格納できる容量である。
【0045】
バンドバッファ22に格納された1バンド分の画像データは、符号化部23aでタイル分割せずに圧縮符号化されて(第1の符号化手段、第1の符号化処理)、ページメモリ25に格納される(ステップS2)。ここで、符号化部23aは、まず、色変換によってRGB信号を輝度色差信号に変換し、輝度色差をそれぞれウェーブレット変換し、ウェーブレット変換係数をエントロピー符号化する。本例では、6階層のウェーブレット変換を水平垂直方向に実施し、その結果、画像データは図4に示すようにオクターブ分割される。図4において、インデックスの数字はウェーブレット変換の階層数を意味し、数字が小さくなるに従い高周波となっている。LLは低周波係数で第6階層にしか存在せず、HL,LH,HHは高周波成分で各階層に存在する(煩雑さを避けるため、図4においては、HL,LH,HHの表示については第2階層までしか表示しない)。このように分割されたウェーブレット変換係数に対してエントロピー符号化が実施されることになるが、より重要な情報を優先的に符号化するべく、エントロピー符号化の実行時にはウェーブレット変換係数を図5のようにシフトして符号化する。ここで、図5において、左右方向は各係数のビットプレーンの広がりを意味し、一つの係数においては最左側がMSB(最上位ビット)、最右側がLSB(最下位ビット)である。重要な情報を優先的に符号化するとは、具体的には、重要度の高いLL6のみを含むビットプレーン群Aをまず符号化し、次いでビットプレーン群B,C,D,Eの順で順次符号化していくことを意味する。
【0046】
次に、量子化の動作について説明する。符号化部23aによって符号化された第一の符号列は、コントローラ5の指示によって、あらかじめ設定された量子化率に従って量子化される(ステップS2)。ここで量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ25の容量と第一の符号列の符号量との関係に基づき、後述のように必要に応じて設定が変更されていく。
【0047】
この量子化は、図5に示したビットプレーン群A,B,C,D,Eの単位で実行される。具体的には、圧縮符号列から情報を削減する際に、各ビットプレーン群を符号化して得られる符号を単位として情報を削減する。例えば、量子化率の設定がビットプレーン群Eを量子化するように設定されている場合には、エントロピー符号化されたデータのうちからビットプレーン群Eに該当する情報であるHH1係数およびLH1,HL1,HH2,LH2,HL2,HH3の下位ビットプレーンの情報を削除する。このとき、本例の圧縮符号はビットプレーン単位に符号化されているために圧縮符号状態のまま容易に情報の削減が可能である。あるいは、量子化対象であるビットプレーン群については初めからエントロピー符号化しないという方法も取り得る。なお、本例においては簡単の為に輝度色差の量子化方法を全く同じとし、かつ、各ビットプレーン群の重要度も輝度色差で異ならないものとする。すなわち、輝度のビットプレーン群A,B,C,D,Eはそれぞれ色差のビットプレーン群A,B,C,D,Eと同じ重要度として認識され、以下において例えば「ビットプレーン群Eを削減する」と記したときには、輝度と色差のそれぞれからビットプレーン群Eを削減することを意味する。但し本例と異なり、輝度色差の重要度の違いを利用して輝度色差の重要度に相対的に差を設け、あるいは、ビットプレーン群の構成を変えてもよい。
【0048】
次いで、量子化後の第一の符号列の符号量aをコントローラ5内のメモリに記憶する(ステップS2)。このとき量子化を全く行なわないように量子化率が設定されていれば、バンドバッファ22に格納された画像データを圧縮して得られる全符号量がaとなる。
【0049】
また、符号化部23bは、バンドバッファ22に格納された画像データを符号化して第二の符号列を得て(第3の符号化手段)、この第二の符号列はそのまま破棄して、符号量bの情報のみをコントローラ5内のメモリに記憶する(ステップS3)。なお、この符号化部23bによる符号化は、符号化部23aによる符号化と同時に実行すると処理時間を短縮化することができる。また、第1の符号化手段による処理と第3の符号化手段による処理とをバンドバッファに格納された同一データに対して実施することができるため、第3の符号化手段のためのワーキングメモリを設ける必要がない。
なお、本例では、後述する第2の符号化手段と第3の符号化手段とは同一の符号化部23bで処理しているが、これらを別々の符号化部として設けることもできる。
次に、量子化率の再設定ついて説明する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定しなおすことを意味する。量子化率の再設定の必要性を判断するため、まずステップS2,S3で得られた符号量a,bを用いて、“安全係数p=AVE(a/b)”を計算する(増加判定手段、増加判定処理)(ステップS4)。ここで、“AVE(x)”は、各バンドにおけるxを全て加えた数字をバンド数で割った値を意味する。なお、“a/b”とは、aをbで除算するという意味である。
【0050】
次に、ページメモリ25に格納された符号化済みのバンドの総符号量F2を取得し、また圧縮符号を格納しようとするページメモリ25(ダブルメモリであり、その一方)の容量F1、画像データ1ページ分を構成する全バンド数N、および、符号化済みのバンド数nから(F1/N×n×p)を計算する(ステップS4)。
【0051】
ついで、コントローラは“(F1/N×n×p)<F2”の関係が成立するか否かを判断し(ステップS5)、“(F1/N×n×p)<F2”の関係が成立すれば量子化率を再設定する(ステップS6)。
【0052】
この判定式の意味を以下説明すると、(F1/N×n)は、各バンドの情報量が等しいと仮定した場合に、ページメモリ25のダブルメモリの一方に格納されるべき情報量の上限である。例えば、Nが4、nが3のときは、“F1/N×n=F1×0.75”となり、圧縮符号はダブルメモリの75%以下の容量を占めるべきであることを意味する。
【0053】
もしも、p=1であるならば、「(F1/N×n×p)<F2の関係が成立すれば量子化率を再設定する」とは、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が少しでも上回れば、量子化率を再設定することを意味する。一方、p<1.0であれば、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が等しい、あるいは、やや少なくても量子化率を再設定することを意味する。また、p>1.0であれば、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が大きい場合でも量子化率を再設定しない場合があることを意味する。すなわち、pは次のバンドを符号化する前に量子化の実行/不実行を決定するための慎重さを決めるパラメータということができ、pが小さいほど、高い確率で量子化が実行される。
【0054】
上述したように、本例では、このpとしてタイル分割した場合としない場合とで得られる符号量の比を表わすパラメータであるAVE(a/b)を使用する。ここでAVE(a/b)を使用した理由は、タイル分割しないで得られる圧縮符号(「第一の符号列」という)を、後述する処理によりタイル分割して得られる圧縮符号(「第二の符号列」という)に変換した場合の符号量の増加率を評価するためである。すなわち、画像をタイル分割して符号化した場合に得られる圧縮符号の符号量は、同一の画像をタイル分割しないで符号化した場合に得られる圧縮符号の符号量よりも一般に大きな値を取る。そこで、AVE(a/b)をpとすることによって、変換後の第二の符号列がページメモリ25に格納できるように第一の符号列を量子化する。各バンドを第一の符号列の形式でページメモリ25に格納するたびに量子化処理が実行される可能性があるため、本例のpの設定の仕方ではタイル分割化による符号量の増加を正確に測定することはできないが、簡易に概算値を計算できる。
【0055】
なお、pを設定する際に、AVE(a/b)以外にタイル分割化による符号量の増加を表現するパラメータを使用してもよい。例えば、各バンドのa/bの値のうちで最小の値を使用すればタイル分割後の圧縮符号がページメモリ25に格納できる可能性がさらに高くなる。またAVE(a/b)等の係数に所定の数字を乗じてタイル分割後の圧縮符号がページメモリ25に格納できる可能性をコントロールしてもよいし、計算ではなくテーブル変換等によってpを取得してもよい。要は、タイル分割しないで得られる圧縮符号(第一の符号列)をタイル分割して得られる圧縮符号(第二の符号列)に変換した場合の符号量の増加率を評価し、これを利用することによって、タイル分割して得られた圧縮符号の符号量が所定の値以下になるように量子化率を設定することが本質である。
【0056】
“(F1/N×n×p)<F2”の関係が成立して(ステップS5のY)、量子化率を再設定した場合(ステップS6)、再設定後に符号化するバンドの量子化率を、新たに設定された量子化率で量子化する(ステップS2)だけではなく、ページメモリ25に格納済みの圧縮符号についても再量子化を実行する(量子化手段、量子化処理)(ステップS7)。その理由は、1ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。
【0057】
図6を用いてページメモリ25に格納された圧縮符号の量子化について説明する。図6では、ページメモリ25の容量を外枠とし、この容量を各バンドの情報が埋めていく様子を模式的に示している。図6(a)には、第1バンド、第2バンドまでをページメモリ25に格納した状態が示されている。このとき、当初は量子化を全く行わないように量子化率が設定されているため、各バンド内にはビットプレーン群A,B,C,D,Eを表わす情報がすべて格納されている。図6(a)の第一バンドでは、この情報を単にA,B,C,D,Eと記し、図6(a)の第二バンドおよび図6、図7内のその他の図においては,特にA,B,C,D,Eとは記さないが、図6又は図7において、バンド又はタイル内部の情報を点線で区切って示した場合には、上方から順に情報A,B,C,D,Eを意味するものとする。
【0058】
図6(a)の状態において、“(F1/N×n×p)<F2”の関係が成立した場合、コントローラ5は量子化処理を実行し、ページメモリ25内の圧縮符号から情報Eを削減する。削減後の図を図6(b)に示すが、情報Eが削減された結果、各バンドとも符号量が減少している。
【0059】
図3に戻り、ページメモリ25に格納済みの圧縮符号列について量子化を実行(ステップS7)した後、コントローラ5は処理対象であったバンドが1ページを構成するバンドのうち最後のバンドであったか否かを判定し(ステップS8)、最後のバンドでなければ(ステップS8のN)、コントローラ5はバンドバッファ22をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ22内に残して、これを符号化に利用する。このようにすることにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。
【0060】
次いで、コントローラは次のバンドの画像データをバンドバッファ22に読み込ませ(ステップS1に戻る)、符号化部23aは、新たに読み込まれたバンドを構成する画像データの符号化を開始する。
【0061】
最後のバンドであれば(ステップS8のY)、符号化部23aによる符号化処理が終了する。このときには、図6(c)に示すように、1ページを構成する全バンドがページメモリ25に格納されている。
【0062】
続いて、ページメモリ25から1バンド分の圧縮符号列を読み出し、これを復号化部24aで復号して(第1の復号手段、第1の復号処理)、得られた画像データをバンドバッファ22に格納する(ステップS9)。格納された画像データは符号化部23bによって符号化されるが、本例におけるタイル分割は、図8(a)に示すように、各バンドを4つの領域に分割して行う。すなわち、A4サイズの画像データは16のタイルに分割される。符号化部23bは、各タイルを符号化し(第2の符号化手段、第2の符号化処理)、得られた圧縮符号列を設定された量子化率にしたがって量子化して、得られた第二の符号列がページメモリ25に格納される(ステップS10)。上述したように、ページメモリ25はダブルメモリから構成されており、第一の符号列が一方のメモリに格納されたままの状態で、第二の符号列が他方のメモリに格納される。このとき、コントローラ5は各画像について、タイルごとの先頭アドレスをコントローラ5内のメモリに記憶しておく。
【0063】
図3の、S11〜S15の処理は、pの値が異なる以外は、それぞれ、S4〜S8の処理と同じであるので、ここでは説明を省略する。pの値が1.0となっているのは、符号化部23bによる符号化実施の際には、第一の符号列を第二の符号列に変換することによる符号量の増大を見積もる必要がないためである。S15において、最後のバンドの処理が終了すると、符号化部23bによる符号化処理は終了する。
【0064】
第二の符号化処理が終了した時、ページメモリ25には第二の符号列が図6(d)または図6(e)の状態で格納されている。図6(d)の状態は、第一の符号列から第二の符号列への変換時に圧縮符号が劣化しなかった場合であり、図6(e)の状態は、第一の符号列から第二の符号列への変換時に圧縮符号が劣化した場合である。図6(d)の場合は第一の符号列から量子化されずに第二の符号列へと変換されたために、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生していない。一方、図6(e)の場合は、第一の符号列からほとんど量子化されずに第二の符号列へと変換されたために、若干のタイル境界歪は発生しているものの、第一の符号列状態で量子化の大部分が終了しているために境界歪は抑制されている。
【0065】
これに対し、初めからタイル分割して符号化を行い、これを適宜量子化した場合の模式図を図6と同じ要領で図7に示す。図7では、圧縮符号列がページメモリ25に格納できなかった場合に、図7(a)から図7(b)に量子化されることによって圧縮符号が大きく量子化される。これによって最終的に得られた圧縮符号列(図7(c))では、タイル境界歪が目立った画像が生成されることになる。
【0066】
このように、本例では、まずタイルに分割しない状態で符号化した第一の符号列に対して必要な量子化を施し、これをタイルに分割して符号化された第二の符号列に変換することにより、タイル境界歪が発生しない又は抑制された圧縮符号列を得ることができる。この圧縮符号はコントローラ5内のメモリに記憶されたタイルごとの先頭アドレス値を参照することでタイル単位に読み出すことができるので、必要な順序で各タイルを読み出して、電子ソート機能または給紙トレイ自動切換機能を実現することができる。
【0067】
次に、画像の向きの回転動作について詳細に説明すると、A4用紙の長辺が搬送方向となるように搬送する場合には、図8(b)に示すように、コントローラ5内のメモリを参照して、第一〜第四タイル(インデックス1〜4)の圧縮符号列をページメモリ25から読み出し、この圧縮符号列を復号化部24bで復号して(第2の復号手段)、バンドバッファ22に画像データを展開する。そして、この画像データを図8(b)に示す矢印方向に読み出して次工程の処理を行う。一方、A4用紙の短辺が搬送方向となるように搬送する場合には、図8(c)に示すように、コントローラ5内のメモリを参照して第一、第五、第九、第十三タイル(インデックス1,5,9,13)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号して、バンドバッファ22に画像データを展開する。そして、この画像データを図8(c)に示す矢印方向に読み出して次工程の処理を行う。
【0068】
また、本例では最終的に得られる圧縮符号がタイル単位で独立に復号可能であるので、復号化部24bは並列処理によって復号を行なう。具体的には、図9に示すように、復号化部24bは復号器51〜54という4つの復号器から構成され、各復号器51〜54がタイル単位で復号を行う。したがって、並列処理が可能となり、復号処理ひいてはプリンタエンジン2における画像形成処理が高速化する。
【0069】
ここで、本発明を用いると、並列処理のためにタイル分割を行う場合においてもタイル境界歪みの低減と言う効果を得ることができる。したがって、画像の回転処理の機能を有するデジタル複写機1のような画像形成装置において使用する場合のみならず、タイル単位で何らかの並列処理を実施する画像処理装置において本発明を適用しても非常に有用である。
並列処理の実行は同一画像を多くの部数出力する際に有効である一方で、一部数しか画像を出力しない場合には符号化部23bによる符号化処理を実行することによって、かえって処理時間が伸びてしまうので、出力部数が所定の数を 超えた場合にのみ画像データを第二の符号列として保持するようにしてもよい。
【0070】
なお、本例において、図3のステップS2,S10において、圧縮符号列がページメモリ25のダブルメモリの一方に格納できなかった場合には、その時点でページメモリ25に格納しようとしていた圧縮符号列およびページメモリ25内の圧縮符号列を量子化する。この処理に時間がかかってしまい、次のバンドの画像データを読み込むことができなかった場合には、画像データを再びスキャナ3またはネットワーク4から入力する。
【0071】
なお、図3の処理において、次のようにしてもよい。すなわち、符号化部23aによって得られる第一の符号列をページメモリ25に格納する際、コントローラ5は第一の符号列の量子化を、もっぱら第一の符号列がページメモリ25に格納可能であるか否かという観点から行い、pの値を1.0に固定しておく。そして第一の符号列がページメモリ25に格納された後に、そのダブルメモリの一方の容量F1にAVE(a/b)を乗じた“F1×AVE(a/b)”を計算し、第一の符号列の符号量F2に対して“F1×AVE(a/b)>F2”の関係が成立すれば、第一の符号列を量子化する。
【0072】
このような処理を行うことで、符号化部23aによる符号化処理中に、pの値を計算する必要がなくなる。
【0073】
[発明の実施の形態2]
別の実施の形態を発明の実施の形態2として説明する。
【0074】
この実施の形態2が実施の形態1と相違するのは、図3の処理に代えて図10の処理を行う点にあり、実施の形態1と共通の内容については、実施の形態1の場合と同一の符号を用い、詳細な説明は省略する。以下では、図10の処理について説明する。
【0075】
図10において、コントローラ5は、スキャナ3から読み込まれた、または、ネットワーク4から図示しない通信インターフェイスを介して受信した画像データを、バンド単位にバンドバッファ22に格納する(ステップS21)。本例のバンドバッファ22が格納可能な画像データの容量は、600dpiの1画素あたり8ビットのRGBの3色からなる画像データをA4サイズの4分の1だけ格納できる容量である。但し、上述したように、ウェーブレット変換のオーバーラップ時に参照する隣接画素分の画像データはこれとは別に格納可能である。
【0076】
バンドバッファ22に格納された1バンド分の画像データは、符号化部23aでタイル分割せずに符号化されて、ページメモリ25に格納される(第1の符号化手段、第1の符号化処理)(ステップS22)。ここで、符号化部23aは、まず、色変換によってRGB信号を輝度色差信号に変換し、輝度色差をそれぞれウェーブレット変換し、ウェーブレット変換係数をエントロピー符号化する。本例では、6階層のウェーブレット変換を水平垂直方向に実施し、その結果、画像データは、図4に示すようにオクターブ分割される。図4において、インデックスの数字はウェーブレット変換の階層数を意味し、数字が小さくなるに従い高周波となっている。LLは低周波係数で第6階層にしか存在せず、HL,LH,HHは高周波成分で各階層に存在する(煩雑さを避けるため、図4においては第2階層までしか表示しない)。このように分割されたウェーブレット変換係数に対して、上述のエントロピー符号化が実施されることになるが、より重要な情報を優先的に符号化するべく、エントロピー符号化の実行時にはウェーブレット変換係数を図5のようにシフトして符号化する。ここで、図5において、左右方向は各係数のビットプレーンの広がりを意味し、一つの係数においては最左側がMSB(最上位ビット)、最右側がLSB(最下位ビット)である。重要な情報を優先的に符号化するとは、具体的には、重要度の高いLL6のみを含むビットプレーン群Aをまず符号化し、次いで、ビットプレーン群B,C,D,Eの順で順次符号化していくことを意味する。なお、本例においては簡単の為に輝度色差の量子化方法を全く同じとし、かつ、各ビットプレーン群の重要度も輝度色差で異ならないものとする。すなわち輝度のビットプレーン群A,B,C,D,Eはそれぞれ色差のビットプレーン群A,B,C,D,Eと同じ重要度として認識され、以下において、例えば「ビットプレーン群Eを削減する」と記したときには、輝度と色差のそれぞれからビットプレーン群Eを削減することを意味する。但し、本例と異なり、輝度色差の重要度の違いを利用して輝度色差の重要度に相対的に差を設け、あるいは、ビットプレーン群の構成を変えてもよい。
【0077】
次に、量子化の動作について説明する。符号化部23aによって符号化された第一の符号列は、コントローラ5の指示によって、あらかじめ設定された量子化率に従って量子化される(ステップS22)。ここで量子化率は、符号化開始当初は量子化を全く行わないように設定されているが、ページメモリ25の容量と第一の符号列の符号量との関係に基づき、必要に応じて設定が変更されていく。
【0078】
この量子化は、図5に示したビットプレーン群A,B,C,D,Eの単位で実行される。具体的には、圧縮符号列から情報を削減する際に、各ビットプレーン群を符号化して得られる符号を単位として情報を削減する。例えば、量子化率の設定がビットプレーン群Eを量子化するように設定されている場合には、エントロピー符号化されたデータのうちからビットプレーン群Eに該当する情報であるHH1係数およびLH1,HL1,HH2,LH2,HL2,HH3の下位ビットプレーンの情報を削除する。このとき、本例の圧縮符号列はビットプレーン単位に符号化されているために圧縮符号状態のまま容易に情報の削減が可能である。あるいは、量子化対象であるビットプレーン群については初めからエントロピー符号化しないという方法も取り得る。
【0079】
次いで、量子化後の第一の符号列の符号量をコントローラ5内のメモリに記憶する(ステップS22)。本例で、コントローラ5は、第一の符号列の符号量をそのメモリに格納する際、ビットプレーン群A,B,C,D,Eの単位で符号量を格納する。以下、ビットプレーン群A,B,C,D,Eの符号量をそれぞれ量aA,aB,aC,aD,aEと記し、全ての符号量の和をaと記す。すなわち、“a=aA+aB+aC+aD+aE”である。
【0080】
また、符号化部23bは、バンドバッファ22に格納された画像データを符号化して第二の符号列を得て(第3の符号化手段)、その第二の符号列自体はそのまま破棄して、符号量のデータのみをコントローラ5内のメモリに記憶する(ステップS23)。
【0081】
ところで、本例のコントローラ5は、第二の符号列の符号量をコントローラ5のメモリに格納する際、第一の符号列の場合と同様、ビットプレーン群A,B,C,D,Eの単位で符号量を格納する。以下、ビットプレーン群A,B,C,D,Eの符号量をそれぞれ量bA,bB,bC,bD,bEと記し、全ての符号量の和をbと記す。すなわち、“b=bA+bB+bC+bD+bE”である。この符号化部23bによる符号化は、符号化部23aによる符号化と同時に実行すると処理時間を短縮化することができる。
【0082】
次に、量子化率の再設定ついて説明する。量子化率の再設定とは、ページ全体の量子化度合いをより強くするように量子化率を設定しなおすことを意味する。具体的には、ページメモリ25に格納された符号化済みのバンドの総符号量F2を取得し、またページメモリ25の容量F1、画像データ1ページ分を構成する全バンド数N、および符号化済みのバンド数nから(F1/N×n)を計算する(増加判定手段、増加判定処理)(ステップS24)。
【0083】
ついで、コントローラ5は、“(F1/N×n)<F2”の関係が成立するか否かを判断し(ステップS25)、“(F1/N×n)<F2”の関係が成立すれば量子化率を再設定する(ステップS26)。この判定式の意味を以下説明すると、(F1/N×n)は、各バンドの情報量が等しいと仮定した場合にページメモリ25に格納されるべき情報量の上限である。例えば、Nが4、nが3のときは、“F1/N×n=F1×0.75”となり、圧縮符号列はページメモリ25の75%以下の容量を占めるべきであることを意味する。すなわち“(F1/N×n)<F2の関係が成立すれば量子化率を再設定する”とは、各バンドの情報量が等しいと仮定した場合の予想情報量(F1/N×n)に対して、実際に符号化済みのバンドの総符号量F2が少しでも上回れば、量子化率を再設定することを意味する。
【0084】
“(F1/N×n)<F2”の関係が成立して量子化率を再設定した場合、再設定後に符号化するバンドの量子化率を新たに設定された量子化率で量子化する(ステップS22)だけではなく、ページメモリ25に格納済みの圧縮符号についても再量子化を実行する(ステップS27)必要がある(量子化手段、量子化処理)。その理由は、1ページの画像内で量子化率が変動すると画像品質がページ内で変動し、見る者に違和感を感じさせる恐れがあるためである。
【0085】
図11を用いてページメモリ25に格納された圧縮符号の量子化について説明する。図11では、ページメモリ25の容量を外枠とし、この容量を各バンドの情報が埋めていく様子を模式的に示している。図11(a)には第1バンド、第2バンドまでをページメモリ25に格納した状態が示されている。このとき、当初は量子化を全く行わないように量子化率が設定されているため、各バンド内にはビットプレーン群A,B,C,D,Eを表わす情報がすべて格納されている。図11(a)の第一バンドでは、この情報を単にA,B,C,D,Eと記している。図11(a)の第二バンドおよび図11、図7内のその他の図においては、特にA,B,C,D,Eとは記さないが、図11又は図7において、バンド又はタイル内部の情報を点線で区切って示した場合には、上方から順に情報A,B,C,D,Eを意味するものとする。
【0086】
図11(a)の状態において、“(F1/N×n)<F2”の関係が成立した場合、コントローラ5は量子化処理を実行し、ページメモリ25内の符号列から情報Eを削減する。削減後の図を図11(b)に示すが、情報Eが削減された結果、各バンドとも符号量が減少している。
【0087】
図10に戻って、ページメモリ25に格納済みの圧縮符号について量子化を実行した(量子化手段、量子化処理)(ステップS27)後、コントローラ5は処理対象であったバンドが1ページを構成するバンドのうち最後のバンドであったかを判定し(ステップS28)、最後のバンドでなければ(ステップS28のN)、コントローラ5はバンドバッファ22をクリアする。ただし、符号化対象であるバンドのウェーブレット変換に必要な画素値はクリアせずにバンドバッファ22内に残して、これを符号化に利用する。これにより、量子化を実施したときにバンド境界に境界歪が発生することを防止できる。次いで、コントローラ5は次のバンドの画像データをバンドバッファ22に読み込ませ(ステップS21に戻る)、符号化部23aは新たに読み込まれたバンドを構成する画像データの符号化を開始する。
【0088】
最後のバンドであれば(ステップS28のY)、符号化部23aによる符号化処理が終了する。このときには図11(c)に示すように、1ページを構成する全バンドがページメモリ25に格納されている。そして、ステップS29において、コントローラ5は、asum、bsumを計算する。ここで、asumとは符号量aA,aB,aC,aD,aEのうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。また、bsumとは、符号量b A ,b B ,b C ,b D ,b E のうちから第一の符号列を作成する際に量子化されなかったビットプレーン群に関する符号量のみを抽出し、これを全バンドにわたって加算した値である。例えば、第一の符号列がビットプレーン群E,D,Cを量子化された状態でページメモリ25に格納されていればasumは(aA+aB)を全バンドにわたって加算した値であり、bsumは(bA+bB)を全バンドにわたって加算した値である。
【0089】
ステップS30では、ページメモリ25に格納された第一の符号列の符号量F2、またページメモリ25の容量F1を用いて“F1×asum/bsum<F2”が成立するか否かが確認される。この条件が成立することは(ステップS30のY)、第一の符号列を第二の符号列に変換した場合に、第二の符号列がページメモリ25の容量を 超えることを意味するので、“F1×asum/bsum<F2”が成立しなくなるように量子化率の再設定が行なわれる(ステップS31)。具体的には、ページメモリ25内の第一の符号列をさらに量子化した場合に“F1×asum/bsum<F2”が成立するか否かを再計算し、この式が成立しなくなるまで量子化を繰り返す。この再計算においては、asum,bsumとして量子化後の値を使用し、例えばビットプレーン群A、Bによって構成される第一の符号列からビットプレーン群Bをさらに量子化する場合にはasumとしてaAを全バンド分加算した値を、bsumとしてbAを全バンド分加算した値を使用する。これによって、量子化後に第一の符号列から変換される第二の符号列の正確な符号量を得ることができる。なお、ビットプレーン群がAのみとなっても“F1×asum/bsum<F2”が成立する場合には、所定のエラー報知によって、画像の回転処理を必要とする機能が実行できない旨をユーザに知らせるか、解像度を落として画像データを再圧縮する。
【0090】
そして、“F1×asum/bsum<F2”が成立しない量子化率が得られた場合、再設定された量子化率に従ってページメモリ25内の第一の符号列を量子化する(量子化手段、量子化処理)(ステップS32)。以上の処理によって、第一の符号列を第二の符号列に変換しても、第二の符号列の符号量がページメモリ25の容量を 超えないことが確実となったことになる。
【0091】
続いて、ページメモリ25から1バンド分の第一の符号列を読み出し、これを復号化部24aで復号して(第1の復号手段、第1の復号処理)、得られた画像データをバンドバッファ22に格納する(ステップS33)。格納された画像データは符号化部23bによって符号化されるが、上述したように本例におけるタイル分割は、図13(a)に示すように各バンドを4つのタイルに分割して行う。すなわちA4サイズの画像データは16のタイルに分割される。符号化部23bは各タイルを符号化し(第2の符号化手段、第2の符号化処理)、得られた圧縮符号をページメモリ25に格納する(ステップS34)。このとき、ステップS30,S31,S32の処理によって第二の符号列はさらに量子化しなくともページメモリ25に格納可能であることが分かっているので、ステップS34の符号化処理において量子化は実行しない。
【0092】
なお、どのバンドから「第一の符号列」を「第二の符号列」に変換するかという順序は、コントローラ5が各バンドについて第一の符号列の状態での符号量αおよび第二の符号列の状態での符号量βから“γ=α÷β”という値γを計算し、このγが大きなバンドから順に変換するものとする。この理由は以下の通りである。
【0093】
一般に画像データを符号化する際には、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が大きくなる。しかし、タイルの境界部分での拡張仮想画素の取り方や画像データによっては、タイル分割して符号化する方が、タイル分割しないで符号化する方よりも符号量が小さくなることが起こり得る。かかる事態が生じた場合、第二の符号列の符号量が全体としてページメモリ25の容量以下であったとしても、「第一の符号列を第二の符号列に変換することによって符号量が減少するバンド」よりも「第一の符号列を第二の符号列に変換することによって符号量が増加するバンド」を先に処理してしまうと、一時的にページメモリ25に格納できないということ態が起こり得る。例えば、ページメモリ25が圧縮符号を格納可能な容量を100%としたとき、第一バンドが第一の符号列として20%、第二の符号列として24%を占め、第二バンドが第一の符号列として30%、第二の符号列として25%を占め、第三バンドが第一の符号列として25%、第二の符号列として30%を占め、第四バンドが第一の符号列として23%、第二の符号列として20%を占めるとき、第一の符号列は1ページ全体として98%、第二の符号列は1ページ全体として99%となり、どちらもページメモリ25に格納可能な容量である。しかし、はじめに第一バンドについて第一の符号列を第二の符号列に変換すると、その時点で符号量が全体で102%となりメモリ容量をオーバーしてしまう。
【0094】
そこで、本例では、γの値が大きなバンド、すなわち「第二の符号列の符号量に対する第一の符号列の符号量が相対的に大きなバンド」を優先的に処理することで、かかる不具合を回避し、1ページ分のページメモリしか持たない場合においても確実に量子化せずに第一の符号列を第二の符号列に変換可能である。上述の例でいえば、第一バンドではγ=0.83、第二バンドではγ=1.20、第三バンドではγ=0.83、第四バンドではγ=1.15であり、第二、第四、第一、第三バンドの順で処理を行えばよい。あるいは、上記のような不具合が生じるのはγの値が1を超えるバンドのみであるので、γ>1であるバンドについて優先的に処理を行うようにしてもよい。
【0095】
そして、ステップS35においては、全てのバンドについて符号化部23bによる符号化処理が終了したか否かを確認し、処理が終了する。
【0096】
符号化部23bによる符号化処理が終了した時、ページメモリ25には第二の符号列が第一の符号列から量子化せずに変換されて格納されている。従って、この符号は、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生しない。
【0097】
符号化部23bによる符号化処理が終了した時、ページメモリ25には第二の符号列が図11(d)の状態で格納されている。図11(d)では、第一の符号列から量子化せずに第二の符号列へと変換されたために、タイルごとに圧縮された非可逆圧縮符号でありながらタイル境界歪はまったく発生していない。これに対し、初めからタイル分割して符号化を行い、これを適宜量子化した場合の模式図を図7に示す。図7では、圧縮符号がページメモリ25に格納できなかった場合に、(a)から(b)に量子化されることによって圧縮符号が大きく量子化される。これによって最終的に得られた圧縮符号(c)では、タイル境界歪が目立った画像が生成されることになる。
【0098】
このように、本例では、タイルに分割しない状態で符号化した第一の符号列に対して必要な量子化を施し、これを量子化せずにタイルに分割符号化された第二の符号列に変換することにより、タイル境界歪が発生しない圧縮符号を得ることができる。この圧縮符号はコントローラ5内のメモリに記憶されたタイルごとの先頭アドレス値を参照することでタイル単位に読み出すことができるので、必要な順序で各タイルを読み出して電子ソート機能または給紙トレイ自動切換機能を実現することができる。
【0099】
次に、画像を90°回転する動作について詳細に説明する。
【0100】
まず、A4用紙の長辺が搬送方向となるように搬送する場合には、図8(b)に示すように、コントローラ5内のメモリを参照して第一〜第四タイル(インデックス1〜4)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号して(第2の復号手段)、バンドバッファ22に画像データを展開する。そして、この画像データを図8(b)に示す矢印方向に読み出して次工程の処理を行う。一方、A4用紙の短辺が搬送方向となるように搬送する場合には、図8(c)に示すように、コントローラ5内のメモリを参照して第一、第五、第九、第十三タイル(インデックス1、5、9、13)の圧縮符号をページメモリ25から読み出し、この圧縮符号を復号化部24bで復号してバンドバッファ22に画像データを展開する。そしてこの画像データを図8(c)に示す矢印方向に読み出して次工程の処理を行う。
【0101】
また、本例では、最終的に得られる圧縮符号がタイル単位で独立に復号可能であるので、復号化部24bは並列処理によって復号を行なう。具体的には、図9に示すように復号化部24bは、復号器51〜54という4つの復号器から構成され、各復号器51〜54がタイル単位で復号を行う。したがって、並列処理が可能となり、復号処理ひいてはデジタル複写機1の処理が高速化する。
【0102】
なお、高速処理という利点は回転処理とは関係がないので、A3サイズの画像を形成する場合にも画像データを第二の符号列として保持することで復号処理の高速化という利点を得ることができる。
【0103】
ただし、本例の場合、並列処理の実行は同一画像を多くの部数出力する際に有効である一方で、一部数しか画像を出力しない場合には第一の符号化処理を前段で実行することによってかえって処理時間が伸びてしまうので、出力部数が所定の数を 超えた場合にのみ画像データを第二の符号列として保持するようにしてもよい。
【0104】
なお,本例のページメモリ25を、互いに等しい容量を有し、それぞれA4サイズ1ページ分の圧縮符号を格納するために設けられた二つのメモリとし、ページメモリ25全体としてはA4サイズ2ページ分の画像データを圧縮符号として格納することができるようにしてもよい。かかる構成とすることにより、画像の連続出力の際には2つのメモリのいずれか一方に格納された1ページ分の圧縮符号を読み出して画像形成しつつ、他方にはハードディスク27から読み出した次のページの圧縮符号を格納することが可能となる。また、後述するように第一の符号列を復号して得た画像データを符号化部23bで符号化して第二の符号列を得る場合には、2つのメモリのいずれか一方に第一の符号列を格納し、第二の符号化部で符号化された第二の符号列は他方に格納することによって、煩雑なメモリ管理を行うことなく第二の符号列を得ることができる。また、A3サイズの画像を扱う場合には、2つのメモリの両方でA3サイズ1枚分の画像データを格納する。
【0105】
さらに、バンドバッファ22に格納された画像データに対して、まず、符号化部23bが符号化処理を行ない、そして第二の符号列がページメモリ25のダブルメモリの一方に格納されれば画像形成動作を開始する一方、第二の符号列がページメモリ25のダブルメモリの一方に格納できなかった場合には、量子化せずに格納できないことが判明した時点で図10に示した処理を実施してもよい。かかる構成とすれば、初めからタイル分割して第二の符号列とした場合でも符号量が充分小さくなるような画像データに対しては、符号化部23aによる符号化処理および復号化部24aによる復号処理を実施しないですむため、高圧縮が可能な画像に対しては処理時間を短縮化することができる。
【0106】
なお、実施の形態1において、次のように構成してもよい。すなわち、符号量の変化を全く予測あるいは計測することなく、まず、第一の符号列を第二の符号列に変換し、ページメモリ25のダブルメモリの一方に格納してみる。その結果、格納できないことが判明した時点で、第一の符号列を再量子化して符号量を削減し、再量子化後の第一の符号列を再び第二の符号列に変換して、再び、ページメモリ25のダブルメモリの一方に格納してみる。このトライアンドエラーを繰り返し、最終的に第二の符号列を量子化せずに、又は、ほとんど量子化せずに、ページメモリ25に格納することができる。
【0107】
この構成例では、第二の符号列がメモリに格納できなかった場合にやり直さねばならず、処理時間がかかるが、符号量の変化の予測又は計測処理を省略したにも関わらず、量子化せずに確実に第一の符号列から第二の符号列への変換を行える利点がある。
【0108】
また、実施の形態1を次のように構成してもよい。すなわち、バンドバッファ22に格納された画像データに対して、まず符号化部23bが符号化処理を行なう。そして、作成した第二の符号列がページメモリ25のダブルメモリの一方に格納されれば、プリンタエンジン2が画像形成動作を開始する。
【0109】
一方、第二の符号列がページメモリ25のダブルメモリの一方に格納できなかった場合には、量子化せずに、格納できないことが判明した時点で、実施の形態1の処理を実行する。この場合、画像データは再びスキャナ3またはネットワーク4から入力する。
【0110】
本例では、初めからタイル分割して第二の符号列とした場合でも、符号量が充分小さくなるような画像データに対しては、符号化部23a,復号化部24aによる符号化処理および復号処理を実施しないですむため、高圧縮が可能な画像に対しては処理時間を短縮化することができる。
【0111】
なお、この変形例として、例えば、ビットプレーン群Eのみを削除するだけでは第二の符号列がページメモリ25のダブルメモリの一方に格納できない場合に、実施の形態1の処理を実行するようにしてもよい。
【0112】
さらに、実施の形態2において、次のような構成としてもよい。すなわち、1バンド分の画像データを符号化する際、まず、符号化部23aと符号化部23bとを同時並行的に動作させ、ページメモリ25内の各ダブルメモリに第一の符号列と第二の符号列とを同時並行的に格納していく。コントローラ5は、第二の符号列の符号量を計測し、第二の符号列が量子化せずに、または、ほとんど量子化せずにページメモリ25に格納可能であることが予測できれば、第二の符号列を優先的にページメモリ25に格納する。ここで、「優先的に」とは、第一の符号列と第二の符号列とを、互いに重ならないメモリ領域に格納することができず、いずれかを消去しなければならない場合に、第二の符号列をページメモリ25に残すということを意味する。
【0113】
第二の符号列が量子化されずに、または、ほとんど量子化されずにページメモリ25に格納可能であるか否かの予測は、総バンド数N、符号化済みのバンド数n、ページメモリ25に格納済みの第二の符号列の符号量F2、ページメモリ25の容量F1を用いて、“F1×n/N<F2”が成立すれば格納不可能、そうでなければ格納可能である、と線形予測する。なお、このときに、予測結果が出る以前に、第一の符号列と第二の符号列とを、互いに重ならないメモリ領域に格納することができなくなった場合には、第一の符号列を優先的にページメモリ25に格納する。そして、このような予測の結果が外れた場合には、実施の形態2と同様の処理に切り替える。
【0114】
本例では、第一の符号列および第二の符号列をいずれもページメモリ25に格納しつつ、「第二の符号列を量子化せずに、又は、ほとんど量子化せずに、ページメモリ25に格納可能か否か」という予測を行なうので、ある程度多くの画像データを用いて予測を行なった後に、符号化部23aによる符号化処理をはじめに実行させるか、あるいは、符号化部23bによる符号化処理をはじめに実行させるかを選択することができ、予測精度が向上するという利点がある。
本実施の形態において、第2の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化手段で量子化することができる。
本実施の形態において、現実に第2の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第2の符号化手段で圧縮符号化することによる符号量の増加を予測または計測することができる。
本実施の形態において、現実に第2の符号化手段と同様に画像データをあらかじめ圧縮符号化してみることにより、第2の符号化手段で圧縮符号化後の符号列がこの発明の目的の記憶装置に格納可能な符号量を超えると判断したことを条件に量子化手段で量子化を行うので、無駄な量子化処理を防止して、処理を高速化することができる。
本実施の形態において、第2の符号化処理で圧縮符号化する際に、量子化を行わない、あるいは、小さな量子化率で量子化を行うようにすれば、タイル境界歪みなど、領域の境界で歪みが発生するのを防止し、あるは、低減することができるが、あらかじめ量子化処理で量子化するので、第2の符号化処理で圧縮符号化後の符号列を所定の記憶装置に記憶可能なように、その符号量を低減することができる。
本実施の形態において、第2の符号化処理で圧縮符号化することによる符号量の増加を予測または計測することができるので、目的の記憶装置に記憶できる符号量となるように量子化処理で量子化することができる。
【0115】
【発明の効果】
本発明は、分割された領域の境界に歪みが発生するのを防止し、あるいは、低減することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1であるデジタル複写機の概略構成を示す説明図である。
【図2】デジタル複写機の符号化部(a)、復号化部(b)、符号化部(c)の機能ブロック図である。
【図3】本発明の実施の形態1であるデジタル複写機が行う処理のフローチャートである。
【図4】JPEG2000によるオクターブ分割の説明図である。
【図5】エントロピー符号化の実行時に行なうウェーブレット変換係数のシフトについて説明する説明図である。
【図6】圧縮符号の量子化について説明する説明図である。
【図7】圧縮符号の量子化について説明する説明図である。
【図8】タイル分割について説明する説明図である。
【図9】復号化部の構成について説明する説明図である。
【図10】本発明の実施の形態2であるデジタル複写機が行う処理のフローチャートである。
【図11】圧縮符号の量子化について説明する説明図である。
【符号の説明】
1 画像形成装置
2 プリンタエンジン
26 画像処理装置
Claims (7)
- 画像データを複数の領域に分割することなく圧縮符号化し、第1の符号列を生成する第1の符号化手段と、
前記第 1 の符号化手段で生成された前記第1の符号列を、該第1の符号列の符号量が所定の値以下になるように定められる量子化率により量子化処理する量子化手段と、
前記量子化手段により量子化された前記第 1 の符号列を復号する復号手段と、
前記復号手段で復号された画像データを複数の領域に分割し、領域ごとに圧縮符号化する第2の符号化手段と、を有することを特徴とする画像処理装置。 - さらに、
前記量子化手段により量子化された前記第1の符号列を格納する記憶装置を有し、
前記量子化率は、前記第1の符号列の符号量と前記記憶装置の容量とに基づいて定められることを特徴とする請求項1記載の画像処理装置。 - 前記画像データは、該画像データを有する大なる画像データが分割された画像データであり、
前記記憶装置は、前記大なる画像データが有する前記画像データ毎に対応する前記第1の符号列を格納し、
前記量子化手段は、前記量子化率を、前記記憶装置に格納された前記第1の符号列の符号量の和と前記記憶装置の容量とに基づいて定め、前記量子化率が変更された場合に、前記記憶装置に格納されている前記第1の符号列に対し、変更された後の量子化率に対応する量子化を行うことを特徴とする請求項2記載の画像処理装置。 - 前記第1の符号列に対応する画像データが前記第2の符号化手段により圧縮符号化されて生成する前記第2の符号列の符号量の前記第1の符号列の符号量に対する増加量を判定する増加判定手段を有し、
前記量子化手段は、前記量子化率を、さらに前記増加量に基づいて定めることを特徴とする請求項2又は3記載の画像処理装置。 - 画像データを複数の領域に分割することなく圧縮符号化し、第1の符号列を生成する第1の符号化ステップと、
前記第 1 の符号化ステップにおいて生成された前記第1の符号列を、該第1の符号列の符号量が所定の値以下になるように定められる量子化率により量子化処理する量子化ステップと、
前記量子化ステップにおいて量子化された前記第 1 の符号列を復号する復号ステップと、
前記復号ステップにおいて復号された画像データを複数の領域に分割し、領域ごとに圧縮符号化する第 2 の符号化ステップと、を有することを特徴とする画像処理方法。 - 請求項5記載の画像処理方法をコンピュータに実行させるプログラム。
- 請求項6記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003014858A JP4050157B2 (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003014858A JP4050157B2 (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004228963A JP2004228963A (ja) | 2004-08-12 |
JP4050157B2 true JP4050157B2 (ja) | 2008-02-20 |
Family
ID=32902775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003014858A Expired - Fee Related JP4050157B2 (ja) | 2003-01-23 | 2003-01-23 | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4050157B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6564314B2 (ja) * | 2015-11-27 | 2019-08-21 | キヤノン株式会社 | 画像符号化装置及びその制御方法及びプログラム並びに記憶媒体 |
-
2003
- 2003-01-23 JP JP2003014858A patent/JP4050157B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004228963A (ja) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5052569B2 (ja) | 画像圧縮装置、画像圧縮方法、画像伸張装置、画像伸張方法、画像形成装置、コンピュータプログラム及び記録媒体 | |
US8849021B2 (en) | Image processing apparatus, method, and storage medium for high speed compression processing | |
JP4693603B2 (ja) | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7454070B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
CN1756296B (zh) | 图像处理装置和图像处理方法 | |
JP4194614B2 (ja) | 画像処理装置および画像処理方法と情報処理装置 | |
JP2001231042A (ja) | 画像処理装置及びその方法並びに記憶媒体 | |
US20050031215A1 (en) | Image processing apparatus, image reading apparatus, image forming apparatus and recording medium for image processing program | |
JP2004248268A (ja) | 画像処理装置、画像形成装置、画像復号装置、画像処理方法、プログラムおよび記憶媒体 | |
JP2011040970A (ja) | データ処理装置、および、データ処理方法 | |
JP2004248271A (ja) | 画像処理装置、画像形成装置、画像処理方法、プログラムおよび記憶媒体 | |
JP4050157B2 (ja) | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 | |
JP2006014086A (ja) | 動画像符号化装置及び動画像符号化方法 | |
US20060056714A1 (en) | Image process device, image processing program, and recording medium | |
JP4017109B2 (ja) | 画像処理装置、画像処理方法、画像形成装置、プログラムおよび記録媒体 | |
JP4093871B2 (ja) | 画像形成装置、プログラムおよび記憶媒体 | |
JP2004228964A (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP4111863B2 (ja) | 画像処理装置、画像形成装置、画像処理用プログラム及び記憶媒体 | |
JP4046223B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4067416B2 (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP4014087B2 (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
JP2004236220A (ja) | 符号化装置、情報管理装置、復号化装置、画像形成装置、符号化プログラム、情報管理プログラム、復号化プログラムおよび記憶媒体 | |
JP5078199B2 (ja) | 画像符号化装置及びその方法並びにプログラムコード、記憶媒体 | |
JP2004235935A (ja) | 画像処理装置、画像形成装置、プログラムおよび記憶媒体 | |
JP2005130244A (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041008 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051116 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051021 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071128 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101207 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101207 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111207 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111207 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121207 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131207 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |