(57)【要約】【課題】  可逆、非可逆符号化データの混在の許容しつつも、特定画像の性質を持つ画像領域においては異なる符号化データが混在することが抑制され、且つ、非可逆符号化データについては解像度変換した後に画像に対して行なうことで、高い圧縮率を得る。【解決手段】  入力部１０１は画像ブロック単位に画像データを入力する。解像度変換部１０２は２×２画素から１画素を生成することで、解像度を１／２に変換する。そして、。第１の符号化部１０３は解像度変換後の画像データを非可逆符号化する。また、第２の符号化部１０４は、入力した画像ブロック単位に可逆符号化する。特定画像判定部１０６が着目画像ブロックの画像データが特定画像の性質を持たないと判定した場合、符号化データ選択部１０７は、符号量の少ない符号化データを選択し出力する。また、特定画像判定部１０６が着目画像が特定画像の性質を持つと判定した場合、符号化データ選択部１０７は、制御部１５０により予め設定された種類の符号化データを選択し、出力する。【選択図】  図１
2008042687.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像処理装置であって、
符号化対象の画像データを画像ブロック単位に入力する入力手段と、
該入力手段により入力された画像ブロックの画像データを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記入力手段より入力された画像ブロックの画像データを、当該画像ブロックの持つ解像度よりも低い解像度の画像データに変換する解像度変換手段と、
該解像度変換手段で解像度変換後の画像データを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記入力手段で入力した注目画像ブロックの画像データに基づき、当該注目画像ブロックの画像が特定画像に属する特性を持つか否かを判定する判定手段と、
該判定手段が前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、符号量の少ない方を選択し、出力する第１の選択手段と、
前記判定手段が、前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、予め設定された種類の符号化データを選択し、出力する第２の選択手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記画像ブロックを前記解像度変換手段によって変換した際に発生する解像度変換誤差を算出する解像度変換誤差算出手段を備え、当該解像度変換誤差算出手段で算出された解像度誤差が第１の閾値以上の場合、前記画像ブロックが前記特定画像の性質を持つと判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、更に、
前記注目画像ブロックのスキャンし、当該スキャン中に、着目画素の周囲に存在する複数の周囲画素が持つ色数が２となる回数をカウントする２色カウント手段と、
前記スキャン中に注目画素と同じ色を持つ画素のランをカウントするランカウント手段とを備え、
前記２色カウント手段で得られた２色数が第２の閾値以上であり、前記ランカウント手段で得られた連続数が第３の閾値以下である場合ことを更なる条件として、注目画像ブロックが前記特定画像の性質を持つと判断することを特徴とする請求項３に記載の画像処理装置。
【請求項４】
出力される各画像ブロックに対応する符号化データの先頭に、当該符号化データが可逆符号化データであるか非可逆符号化データであるのかを識別するビットを付加する手段を有することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
更に、前記第１、第２の選択手段で選択出力される符号化データの総データ量を監視すると共に、１ページの符号化中に総データ量が予め設定された上限符号量を超えたか否かを判定する監視手段と、
該監視手段が前記データ量が前記上限符号量を超えたと判定した場合、（ａ）前記非可逆符号化手段に対して、従前よりも圧縮率を高くするパラメータを設定し、（ｂ）前記第２の選択手段が非可逆符号化データを選択するように設定し、（ｃ）前記入力手段に対して符号化対象の画像データの先頭から再入力するように設定する設定手段と
を備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記監視手段が前記データ量が前記上限符号量を超えたと判定した場合、前記設定手段は、更に、前記判定手段の判定条件を変更することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像データを符号化する画像処理装置の制御方法であって、
符号化対象の画像データを画像ブロック単位に入力する入力工程と、
該入力工程により入力された画像ブロックの画像データを可逆符号化し、可逆符号化データを生成する可逆符号化工程と、
前記入力工程より入力された画像ブロックの画像データを、当該画像ブロックの持つ解像度よりも低い解像度の画像データに変換する解像度変換工程と、
該解像度変換工程で解像度変換後の画像データを非可逆符号化し、非可逆符号化データを生成する非可逆符号化工程と、
前記入力工程で入力した注目画像ブロックの画像データに基づき、当該注目画像ブロックの画像が特定画像に属する特性を持つか否かを判定する判定工程と、
該判定工程により、前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化工程、前記非可逆符号化工程で生成されたそれぞれ符号化データのうち、符号量の少ない方を選択し、出力する第１の選択工程と、
前記判定工程により、前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化工程、前記非可逆符号化工程で生成されたそれぞれ符号化データのうち、予め設定された種類の符号化データを選択し、出力する第２の選択工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項８】
コンピュータが読み込み実行することで、画像データを符号化する画像処理装置として機能するコンピュータプログラムであって、
符号化対象の画像データを画像ブロック単位に入力する入力手段と、
該入力手段により入力された画像ブロックの画像データを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記入力手段より入力された画像ブロックの画像データを、当該画像ブロックの持つ解像度よりも低い解像度の画像データに変換する解像度変換手段と、
該解像度変換手段で解像度変換後の画像データを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記入力手段で入力した注目画像ブロックの画像データに基づき、当該注目画像ブロックの画像が特定画像に属する特性を持つか否かを判定する判定手段と、
該判定手段が前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、符号量の少ない方を選択し、出力する第１の選択手段と、
前記判定手段が、前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、予め設定された種類の符号化データを選択し、出力する第２の選択手段
として機能することを特徴とするコンピュータプログラム。
【請求項９】
請求項９に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、サブサンプリングなどにより画質劣化の目立つ特定画像領域を検出し、検出された領域への最適な符号化方式を選択して符号化するような画像処理装置及び方法に関するものである。
【背景技術】
【０００２】
画像のデータ量圧縮を目的として用いられる符号化技術は、圧縮・伸張による情報の損失のない可逆符号化と、圧縮・伸張により画質の劣化を伴う非可逆符号化の２種類に大きく分類される。一般に非可逆符号化は可逆符号化に比べて高い圧縮率を得ることができ、また、画質劣化の程度を変化させることによって発生する符号量を調整することが可能である。
【０００３】
従来より、ある目標とする符号量に圧縮する符号化方式として、可逆符号化と非可逆符号化を備え、可逆符号化で目標達成ができる場合には可逆で、目標符号量を超える場合には非可逆符号化を適用する方法がある。例えば、所定の符号化単位ごとに、可逆符号化による圧縮率を見て、目標符号量をオーバーする場合には解像度を半分に落とすなど、符号化対象のデータ量自体を少なくした後、可逆、または非可逆の符号化を適用する方法が知られている（特許文献１）。
【特許文献１】特開平１０−２０７６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像を複数のブロックに分割し、各ブロックを単位として従来技術を適用した場合、発生符号量の制御を細かい単位で実施できる反面、可逆で符号化されたブロックと、非可逆で符号化されたブロックが隣接する場合にその境界が目に付きやすいといいう問題が発生する。
【０００５】
本発明者は、特に数画素毎に同じ色の画素値が繰り返されるなど、周期性を持つパターン画像の場合に、符号化の種類が切り換わる際の境界ノイズが発生することを見出した。
【０００６】
そこで、本発明は、可逆、非可逆符号化データの混在の許容しつつも、上記の如き特定画像の性質を持つ画像領域中では、異なる符号化データが混在することを抑制し、且つ、非可逆符号化データについては解像度変換した後に画像に対して行なうことで、高い圧縮率を得ることが可能な技術を提供する。
【課題を解決するための手段】
【０００７】
この課題を解決するため例えば本発明の画像処理装置は以下の構成を備える。すなわち、
画像データを符号化する画像処理装置であって、
符号化対象の画像データを画像ブロック単位に入力する入力手段と、
該入力手段により入力された画像ブロックの画像データを可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
前記入力手段より入力された画像ブロックの画像データを、当該画像ブロックの持つ解像度よりも低い解像度の画像データに変換する解像度変換手段と、
該解像度変換手段で解像度変換後の画像データを非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
前記入力手段で入力した注目画像ブロックの画像データに基づき、当該注目画像ブロックの画像が特定画像に属する特性を持つか否かを判定する判定手段と、
該判定手段が前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、符号量の少ない方を選択し、出力する第１の選択手段と、
前記判定手段が、前記注目画像ブロックの画像が特定画像に属する特性を持たないと判定した場合、前記可逆符号化手段、前記非可逆符号化手段で生成されたそれぞれ符号化データのうち、予め設定された種類の符号化データを選択し、出力する第２の選択手段とを備える。
【発明の効果】
【０００８】
本発明によれば、可逆、非可逆符号化データの混在の許容しつつも、特定画像の性質を持つ画像領域においては異なる符号化データが混在することが抑制され、且つ、非可逆符号化データについては解像度変換した後に画像に対して行なうことで、高い圧縮率を得ることが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
＜第１の実施形態＞
図１は、本実施形態における画像処理装置のブロック構成図である。以下、同図の各部を簡単に説明する。
【００１１】
実施形態における画像処理装置は、ページ記述言語をレンダリングするレンダラで生成した画像データを、ラスタスキャン順に入力し、所定のブロック単位に出力する入力部１０１を備えている。なお、入力部１０１が入力する画像は、レンダリング画像に限らず、イメージスキャナ等の画像入力デバイスからの入力でも良いし、記憶媒体に格納された画像ファイルを読み込むことで実現してもよく、場合によっては、ネットワークより受信するようにしても良い。つまり、画像発生源は問わない。また、実施形態では、ブロックのサイズは、１６×１６画素とする（以下、このブロックを画像ブロックという）。このため、入力部１０１は、内部に１６ライン分のバッファメモリを備えるものとする。
【００１２】
制御部１５０は、不図示の操作パネルより、ユーザから可逆／非可逆のいずれを優先するのかを指示情報を入力し、その結果を符号化データ選択部１０７に設定する（詳細後述）。
【００１３】
解像度変換部１０２は、入力しした画像ブロックを水平、垂直とも１／２の解像度に変換する。実施形態では、画像ブロックのサイズが１６×１６画素としているわけであるから、この画像ブロックから８×８画素の画像データを生成することになる。解像度変換部１０２は、解像度変換後の画像データ（８×８画素のデータ）を第１の符号化部１０３に供給する。なお、実施形態における解像度変換は、例えば、水平２画素、垂直２画素の４画素の平均値を出力画素の値として決定するものとする。ただし、水平２画素、垂直２画素の４画素から１画素を抜き出すニアレストネイバー法でも良いし、それ以外の既知の解像度変換法を使ってもかまわない。
【００１４】
第１の符号化部１０３は、与えられた画像データを非可逆符号化する。実施形態では非可逆符号化として公知の多値画像符号化技術の１つであるＪＰＥＧ符号化方式を用いた。すなわち、８×８画素単位に相当する画像データを直交変換、量子化ステップを用いた量子化、ハフマン符号化処理を行うものである。また、第１の符号化部１０３は、１つの画像ブロックに対する符号化データを符号化データ選択部１０７に出力する際、その符号化データのヘッダに非可逆符号化データであることを示す１ビットの識別情報を付加する。
【００１５】
一方、第２の符号化部１０４は、入力された画像ブロックに対して可逆符号化を行い、可逆符号化データを生成する。そして、第２の符号化部１０４は、生成した可逆符号化データを符号化データ選択部１０７に出力する。本実施形態では、この第２の符号化部１０４に、公知の多値画像に対する可逆符号化方式であるＪＰＥＧ−ＬＳを採用した。ただし、これに限らず、可逆符号化であれば、ＰＮＧ、ＪＰＥＧ２０００を用いて符号化処理を行うものでも構わない。また、第２の符号化部１０４は、符号化データを生成する際、そのヘッダに可逆符号化データであることを示す１ビットの識別情報を付加する。
【００１６】
差分算出部１０５は、入力した画像ブロックの画像データ（１６×１６画素データ）と、解像度変換部１０２で変換した画像データ（８×８画素データ）との差分を演算する。要するに、この差分算出部１０５は、解像度変換後の画像が、変換前の画像からどれだけ変化したかを算出する。この差分算出部１０５の演算内容の詳細についても後述する。
【００１７】
特定画像判定部１０６は、差分算出部１０５からの差分情報と、第２の符号化部からの情報を入力し、着目画像ブロックが特定の画像の性質を持つか否かを判定する（詳細後述）。そして、その判定結果の信号を符号化データ選択部１０７に出力する。
【００１８】
符号化データ選択部１０７は、第１の符号化部１０３、第２の符号化部１０４からの符号化データのいずれか一方を、特定画像判定部１０６、及び、制御部１５０からの制御信号に基づいて選択し、メモリ１０８に出力することになる。具体的には、次の通りである。
１．注目画像ブロックが特定画像の性質を有さないことを示す信号を特定画像判定部１０６から入力した場合、第１の符号化部１０３からの符号化データと第２の符号化部１０４からの符号化データのデータ量（符号長）を比較し、少ない方をメモリ１０８に出力する。
２．注目画像ブロックが特定画像の性質を有することを示す信号を特定画像判定部１０６から入力した場合、制御部１５０により指定された種類の符号化データを選択し、メモリ１０８に出力する。つまり、第１の符号化部１０３と第２の符号化部１０４それぞれかの符号がデータ量の比較はしない。
【００１９】
上記のようにして、符号化データ選択部１０７は、選択した符号化データをメモリ１０８に出力されていく。なお、メモリ１０８ではなく、記憶装置にファイルとして記憶するようにしても良いし、ネットワーク上に出力するようにしても構わない。
【００２０】
図２は、メモリ１０８に格納する画像データのフォーマットの例を示している。
【００２１】
ヘッダには、符号化対象の画像データの水平、垂直の画素数、各色成分の数と、色成分のビット数等、その画像データを復号する際に必要な情報が格納される。このヘッダに後続して、各画像ブロックの符号化データが連続する。
【００２２】
各画像ブロックの符号化データは、図示のように、先頭に可逆／非可逆符号化の識別ビットが付加される。なお、各画像ブロック毎に識別情報を付加するのではなく、ヘッダに、各画像ブロック毎の識別情報を格納するようにしても構わない。要は、復号する際に、矛盾なく復号できる情報が有ればよい。
【００２３】
次に実施形態における復号処理について説明する。図３は実施形態における復号装置のブロック構成図である。
【００２４】
符号化データ入力部３０１は、先に説明した符号化処理で得られた画像ブロックの符号化データを単位に入力し、出力する。判定部３０２は、符号化データの先頭の識別情報を判定し、その判定結果を出力する。具体的には、判定部３０２は、符号化データの先頭ビットが可逆／非可逆のいずれを示すか判定する。
【００２５】
スイッチ３０３は、判定部３０２からの判定結果の信号が「非可逆」であることを示す場合には、符号化データを第１の復号部３０４に出力する。また、判定部３０２からの判定結果の信号が「可逆」であることを示す場合には、符号化データを第２の復号部３０５に出力する。第１の復号部３０４は、非可逆符号化データを復号するものであり、実施形態ではＪＰＥＧ復号方式を採用することになる。また、第２の復号部３０５は、可逆復号方式（例えば、ＪＰＥＧ−ＬＳ、ＰＮＧ、ＪＰＥＧ２０００を用いた復号方式）を採用することになる。
【００２６】
解像度変換部３０６は、第１の復号部３０４から出力された８×８画素の画像データを１６×１６画素のサイズに変換する。この解像度変換３０６は例えば線形補間技術を用いればよいであろう。
【００２７】
スイッチ３０７は、判定部３０２からの判定結果の信号が「可逆」を示している場合、第２の復号部３０５から出力された復号結果を選択し、出力部３０８に出力する。また、スイッチ３０７は、判定部３０２からの判定結果の信号が「非可逆」を示す場合、解像度変換部３０６からの画像データを選択し、出力部３０８に出力する。
【００２８】
出力部３０８は、スイッチ３０７から１６×１６画素単位の画像データを入力することになる。それ故、この出力部３０８は、１６ライン分のバッファメモリを内蔵する。そして、１６ライン分の１ストライプ分の復号した画像データが揃った段階で、出力メモリ３０９に出力する。なお、ここでは、出力対象がメモリ３０９としているが、ハードディスク等の記憶装置の場合には、ファイルとして格納しても良い。
【００２９】
以上実施形態における画像の符号化、及び、復号について説明した。次に、実施形態における符号化する装置側の特定画像判定部１０６について説明する。
【００３０】
画像特定判定部１０６は、差分算出部１０５、及び、第２符号化部１０４からの情報に基づき、注目画像ブロックが特定画像の性質を持つか否かを判定し、その判定結果を符号化画像データ選択部１０７に出力する。
【００３１】
そこで、まず、差分算出部１０５からの情報を説明する。先に説明したように、解像度変換部１０２は１６×１６画素データを８×８画素画素データに変換する。このとき、図４に示すように、解像度変換部１０２は、入力した１６×１６画素の画像ブロック中の２×２画素の平均値を算出して、解像度変換後の１画素の値を求めるとする。従って、変換前の１６×１６画素の各画素値をＶ（）、変換後の８×８画素の各画素値をＶave（）と表わすと、変換後のＶave（）は次式（１）のように表わすことができる。
Ｖave(x,y)=｛Ｖ(2x,2y)+Ｖ(2x+1,2y)+Ｖ(2x,2y+1)+Ｖ(2x+1,2y+1)｝／４  …（１）
ここでｘは水平座標、ｙは垂直座標を示し、共にｉ，ｊ＝０、２、…７の値を持つ。
【００３２】
従って、変換後の画像と変換前の画像の差分（解像度変換後さ）Ｄは次式（２）で求めることができる。
Ｄ＝Σ|Ｖave(x,y)-Ｖ(2x,2y)|＋|Ｖave(x,y)-Ｖ(2x+1,2y)|＋|Ｖave(x,y)-Ｖ(2x,2y+1)|＋|Ｖave(x,y)-Ｖ(2x+1,2y+1)|    …（２）
ここでΣはx,y=0,1,…7の合算関数である。なお、画像データの各色成分について求めることになるので、実際には、式（２）を各色成分毎に求め、その色成分毎の差分の合計値Ｄｔを求める。カラー画像がＲＧＢの場合、各色成分の誤差をＤｒ、Ｄｂ、Ｄｇと表現するなら、色成分を加味した変換前と変換後の誤差Ｄｔは、Ｄｔ＝Ｄｒ＋Ｄｂ＋Ｄｇとなる。差分算出部１０５は、この誤差Ｄｔを特定画像判定部１０６に出力することになる。
【００３３】
ここで、合計値Ｄｔの意味について考察する。風景等の自然画の場合、隣接する各画素の色（すなわち、隣接する各画素の各色成分の値）は同じか、近似する可能性が高いので式（１）の値Ｄは小さな値になる。必然、式（２）で算出される値Ｄｔも小さな値になる。一方、文字線画等、高周波成分を多く含む画像の場合には、値Ｄは大きくなるので、Ｄｔも大きな値になる。つまり、値Ｄｔは、解像度変換後の画像が、オリジナルである画像ブロックに対してどれだけ差があるかを示す指標を示すことになる。それ故、これ以降、値Ｄｔを解像度変換誤差と呼ぶことにする。
【００３４】
次に、特定画像判定部１０６が第２の符号化部１０４から受信する情報について説明する。
【００３５】
実施形態における第２の符号化部１０４は可逆符号化であるＪＰＥＧ−ＬＳを例にしている。ＪＰＥＧ−ＬＳでは、図５に示すウインドウを用いて、着目画素ｘの周囲４画素（既に符号化済みの画素位置）のａ，ｂ，ｃ，ｄを参照し、周囲４画素ａ，ｂ，ｃ，ｄが全て同じ色の場合にはランレングス符号化を開始し、それ以外の場合には予測符号化を行なう。周囲４画素が同色となって、ランレングス符号化を行なっている最中での、ランレングス符号化の終了の判定は、直前の画素（図６では画素ａ）と注目画素ｘの色が異なるか、着目画素が１ラインの終端に達した場合のいずれかとなる。
【００３６】
上記の如く、第２の符号化部１０４は、注目画像ブロックの符号化中、注目画素ｘの位置を順次更新しながら、その周囲４画素ａ，ｂ，ｃ，ｄの画素の値を参照することで、ランレングス符号化、予測符号化を行なう。
【００３７】
そこで、本実施形態の特定画像判定部１０６は、第２の符号化部１０４が符号化処理中に参照する注目画素ｘの周囲４画素の値と、ランレングス符号化中であるか、予測符号化処理中であるかを示す情報を受信し、ラン率Ｒｒ、２色率Ｃｒを求める。
【００３８】
ラン率Ｒｒは、注目画像ブロックの全画素数（実施形態での画像ブロックは１６×１６画素であるので、２５６画素）に対する、ランレングス符号化の対象となった画素数の比である。ランレングス符号化対象となった画素数が５０個である場合、ラン率Ｒｒ＝｛５０／２５６｝×１００＝１９．５３≒２０％となる。
【００３９】
２色率Ｃｒは、次のようにして算出する。
【００４０】
図５に示すウインドウにおいて、着目画素ｘの周辺画素ａ，ｂ，ｃ，ｄを参照し、周辺画素間の差分値Ｄａｂ，Ｄａｃ，Ｄａｄ，Ｄｂｃ，Ｄｃｄを次式（３）で求める。
Ｄａｂ＝ａ−ｂ
Ｄａｃ＝ａ−ｃ
Ｄａｄ＝ａ−ｄ
Ｄｂｃ＝ｂ−ｃ
Ｄｂｄ＝ｂ−ｄ
Ｄｃｄ＝ｃ−ｄ      …（３）
【００４１】
そして、差分値Ｄａｂ，Ｄａｃ，Ｄａｄ，Ｄｂｃ，Ｄｂｄ，Ｄｃｄのうち、０（２つの画素が同じ色）となる数Ｆをカウントする。従って、差分値は６つあるので、値Ｆは０乃至６の値を取り得る。ここで、Ｆ＝０の場合、周辺画素ａ，ｂ，ｃ，ｄが全て違う色を意味するのは明らかで、色数は４であることを示す。また、Ｆ＝１の場合、周辺４画素中２画素が同じ色となるので、周辺画素ａ，ｂ，ｃ，ｄに含まれる色数は３となる。同様に、Ｆ＝２又はＦ＝３の場合には色数が２であることを示す。そして、Ｆ＝４以上（実際は、４、５となることはなく、Ｆ＝６となる）の場合には周辺画素ａ、ｂ、ｃ、ｄがすべて同じ色（１色）であること示す。
【００４２】
着目画素ｘは図４に示すように、入力した１６×１６画素の左上位置からラスタースキャンするので、全部で１６×１６＝２５６回、式（３）を演算する。そして、その２５６回の演算によってＦ＝２（周辺画素に含まれる色数が２）となった数をカウントする。このカウントした値をＣとするとき、２色率Ｃｒは次の通りである。
Ｃｒ＝｛Ｃ／２５６｝×１００
【００４３】
なお、着目画素ｘが１６×１６の画像ブロックの境界に位置するとき、周辺画素の幾つかがその境界外となる。境界外の画素の各色成分は“０”と見なして、カウントする。
【００４４】
ここで、２色率Ｃｒが大きな値を示すのは、着目画像ブロックが２つの色で表わされる画像である可能性が高いことを意味する。典型的には、通常の文章を記述した文書のように、白地（背景）に黒文字が存在するような画像である。
【００４５】
さて、特定画像判定部１０６は、上記のようにして算出された解像度変換誤差Ｄｔ、ラン率Ｒｒ、２色率Ｃｒに基づき、次のような条件を満たすか否かを判定する。
判定条件：Ｄｔ≧Ｔｈ１、且つ、Ｒｒ≦Ｔｈ２、且つ、Ｃｒ≧Ｔｈ３
【００４６】
上記判定条件を満たす場合、特定画像判定部１０６は、着目画像ブロックの画像が特定画像に属すると判定し、その判定結果を符号化データ選択部１０７に出力する。また、条件を満たさない場合には、特定画像に属しない旨の信号を符号化データ選択部１０７に出力する。
【００４７】
ここで上記の条件を満たす画像について考察する。上記条件が満たされるのは、着目画像ブロックの解像度変換前と後ではその差（解像度変換誤差）が大きく、且つ、ほぼ２色でありながらも、連続して同じ色が発生しない画像を意味する。
【００４８】
図６は、上記判定条件を満たす典型的な特定画像の例を示している。例えば、図６に示す画像は、差分算出部１０３で算出される差分値Ｄｔが大きな値を持つ。なぜなら、黒い画素はＲ＝Ｇ＝Ｂ＝０、白い画素はＲ＝Ｇ＝Ｂ＝２５５の値を持つと考えると、２×２画素から求めた解像度変換後の画素の値は「１２８」という値を持ち、先に示した（２）式の誤差Ｄは「５００」を超えるからである。また、図６の画像では、隣り合った画素の色は異なるので、ラン率Ｒｒは“０”であり、２色率Ｃｒは大きな値を持つ。
【００４９】
以上説明したように本実施形態によれば、画像ブロック（実施形態では１６×１６画素）を可逆符号化すると共に、画像ブロックを解像度変換した後に非可逆符号化し、符号量を少ない方を選択して出力することにより、高い圧縮率が期待できる。また、特定画像（網点画像等）に属する画像領域では、可逆／非可逆の符号化データの混在しないので、画像ブロックの境界におけるノイズ発生を抑制することができる。
【００５０】
なお、実施形態では、特定画像判定部１０６は、
判定条件：Ｄｔ≧Ｔｈ１、且つ、Ｒｒ≦Ｔｈ２、且つ、Ｃｒ≧Ｔｈ３
を満たすか否かで、着目画像ブロックが特定画像であるか否かを判断する例を説明した。しかしながら、この３つの判定要件中、１つでも満足する場合に特定画像であると判定するようにしても良い。特に、判定要件「Ｄｔ≧Ｔｈ１」は解像度変換誤差そのものを指標する値であるので、この要件のみで判定することでも上記作用効果に近い効果が期待できる。また、閾値Ｔｈ１、Ｔｈ２、Ｔｈ３は不図示の操作部で適宜ユーザが設定するようにしても構わない。
【００５１】
＜第１の実施形態の変形例＞
上記第１の実施形態は、図１、図３の構成に基づいて説明したが、これと等価の処理をソフトウェアでもって実現することが可能である。以下にその例を説明する。
【００５２】
図７はパーソナルコンピュータ等の情報処理装置のブロック構成図である。図中、１は装置全体の制御を司るＣＰＵ、２はＢＩＯＳやブートプログラムを記憶しているＲＯＭ、３はＣＰＵ１のワークエリアとして使用するＲＡＭである。４はハードディスク装置（ＨＤＤ）であり、ＯＳ（オペレーティングシステム）、及び、画像符号化・復号処理に係るアプリケーションが格納されている。５はキーボード、６はマウス等のポインティングデバイスである。７は表示制御部であって、内部には、表示する画像を描画するためのビデオメモリ、及び、ＣＰＵ１の制御下でビデオメモリへの描画したり、ビデオメモリから画像を読出しビデオ信号として表示装置８に出力するビデオコントローラを備えている。表示装置８はＣＲＴや液晶表示装置である。９はイメージスキャナ１１を接続するためのスキャナインタフェースであり、代表的なものとしてはＳＣＳＩインタフェース、ＵＳＢインタフェースである。１０はネットワークインタフェースである。
【００５３】
上記構成において、本装置の電源がＯＮになると、ＣＰＵ１はＲＯＭ２のブートプログラムに従って、ＨＤＤ４よりＯＳをＲＡＭ３にロードする。この結果、本装置は、ユーザからキーボード５やマウス６からの入力、及び、表示制御部７に対するＧＵＩを描画する処理を行ない、インタラクティブは装置として機能する。また、ユーザがアプリケーションの起動を指示すると、ＨＤＤ４からアプリケーションプログラムはＲＡＭ３にロードされ、ＣＰＵ１により実行されることで、本装置が画像符号化装置（或いは、画像復号装置）として機能することになる。
【００５４】
画像の符号化と復号の処理は、互いに表裏の関係にある。ここではアプリケーションが実行され、そのアプリケーション上でユーザが画像の符号化の指示を入力した場合のＣＰＵ１の処理手順を図８、図９のフローチャートに従って説明することとする。復号処理は、第１の実施形態の記載内容、並びに、以下の説明から容易に理解できるであろうから、その説明は省略する。
【００５５】
なお、以下の説明に先立ち、ＲＡＭ３には、イメージスキャナ１１より読取った画像データを一時的に記憶するバッファメモリが確保されているものとする。
【００５６】
まず、ステップＳ１では、可逆／非可逆符号化のいずれを優先するかを選択するメニューを表示し、ユーザにいずれかを選択させる。また、このとき、原稿のサイズ、読込む際の読取り解像度についても設定する。原稿サイズ、及び、読み取り解像度を設定することで、画像ブロックの個数が一義的に決定される。
【００５７】
次いで、ステップＳ２では、ＲＡＭ３のバッファメモリより、イメージスキャナで読取った画像中の１画像ブロック分の画像データ（実施形態では、１６×１６画素の画像データ）を入力する。次いで、ステップＳ３では、解像度変換を行なう。つまり、１６×１６画像のデータから８×８画素の画像データに変換する。ステップＳ４では、解像度変換後の画像データを非可逆符号化（実施形態では、ＪＰＥＧ符号化）し、非可逆符号化データを生成する。
【００５８】
また、ステップＳ５では、解像度変換後の画像データ（８×８画素）と、解像度変換前の画像ブロックの画像データ（１６×１６画素）に基づき、解像度変換誤差Ｄｔを算出する。なお、このステップＳ４、Ｓ５は逆でも構わない。
【００５９】
ステップＳ６では、入力した画像ブロックについて可逆符号化処理（実施形態ではＪＰＥＧ−ＬＳ）を行なう。ステップＳ７では、可逆符号化処理中に参照している、注目画素の周辺画素のデータ、予測符号化中であるか／ランレングス符号化中であるかを示す情報を抽出し、先に説明した２色率Ｃｒ、及び、ラン率Ｒｒを求めるための予備処理を行なう。
【００６０】
ステップＳ８では、１画像ブロックの可逆符号化が終了したか否か（可逆符号化対象の画素が、１ブロックの右下隅位置になったか否か）を判断し、否の場合にはステップＳ６以降の処理を繰り返す。
【００６１】
さて、１ブロック分の可逆符号化が終了すると、処理はステップＳ９に進み、ラン率Ｒｒ，２色率Ｃｒを算出し、ステップＳ１０に進む。
【００６２】
ステップＳ１０では、上記のようにして求めた解像度変換誤差Ｄｔ、ラン率Ｒｒ、２色率Ｃｒが、先に示した判定条件を満足するか否かを判定する。すなわち、注目画像ブロックが特定画像の性質を持つか否かを判定する。
【００６３】
このステップＳ１０で、注目画像ブロックが特定画像の性質を持つと判定された場合、処理はステップＳ１１に進み、優先指定された種類の符号化データを出力し、ステップＳ１５に進む。
【００６４】
また、ステップＳ１０で注目画像ブロックが特定画像の性質を持たない判定された場合、処理はステップＳ１２に進み、可逆符号化データと非可逆符号化データそれぞれの符号量（符号長）を比較する。そして、ステップＳ１３、或いは、Ｓ１４のいずれかに進み、少ない方の符号化データを出力し、ステップＳ１５に進む。
【００６５】
ステップＳ１５では、全画像ブロックについて符号化処理が完了したか否かを判断する。否の場合には、ステップＳ２以降の処理を繰り返すことになる。また、全画像ブロックの符号化が完了した場合には、上記の一連の符号化処理を終了する。
【００６６】
以上説明したように、コンピュータプログラムによっても第１の実施形態と等価の処理を行なうことが可能となる。
【００６７】
なお、図８、図９のフローチャートは、イメージスキャナから符号化対象の画像データを入力するものとしたが、符号化対象画像データはファイルでも良い。
【００６８】
また、通常、コンピュータプログラムはＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されていて、それをコンピュータが有するリーダ（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。したがって、本発明はかかるコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
【００６９】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限定されるものではない。例えば、実施形態では、符号化単位の画像ブロックのサイズを１６×１６画素サイズとした。これは、実施形態における非可逆符号化を行なう第１の符号化部がＪＰＥＧ（通常、ＪＰＥＧでは８×８画素サイズ毎にＤＣＴ変換する）を採用したことに起因するものであるが、８ｎ×８ｍのサイズに拡張できる（ｎ，ｍは１以上の整数）。
【００７０】
また、非可逆符号化、可逆符号化の種類も、上記実施形態に限らず、如何なる方式を採用しても構わない。また、解像度の高低を判定するための閾値も、ユーザが適宜設定するようにしても構わない。
【００７１】
＜第２の実施形態＞
図１０は第２の実施形態における画像処理装置のブロック構成図である。同図において、図１と同じ機能を有する要素については同一符号を付している。メモリ１０８’は１ページ分の符号化データを格納するための十分な容量を有するものとする。また、入力部１０１’は、制御部１５０’からの指示に信号があった場合、現在、１ページの途中の符号化処理中であっても、１ページの先頭から再入力を行なう。
【００７２】
なお、本第２の実施形態での入力部１０１’は、印刷データや文書ファイルの記述に従って出力画像を生成するレンダラから画像データを入力するものとして説明する。
【００７３】
また、符号化データ選択部１０７’は、メモリ１０８’に画像ブロックに対する符号化データを出力する際、その符号量を示す情報を制御部１５０’に通知する。
【００７４】
第１の符号化部１０３’は制御部１５０’により与えられた符号化パラメータに従って非可逆符号化を行なう。この第１の符号化部１０３’は、第１の実施形態と同様、ＪＰＥＧ符号化である。ただし、本第２の実施形態における第１の符号化部１０３’は、制御部１５０から指示された量子化ステップ値に従って、ＤＣＴ変換係数を量子化し、エントロピー符号化する。当業者には周知の通り、量子化ステップ値を大きな値に設定すると、量子化後のデータが小さくなり、圧縮率が高くなる。従って、制御部１５０’が設定する量子化ステップ値は、非可逆符号化データの圧縮率を決める符号化パラメータであるとも言える。
【００７５】
更に、特定画像判定部１０６’は、制御部１５０’からの要求に従って、特定画像であるか否かを判定条件を変更する。
【００７６】
上記の構成において、本第２の実施形態では、最終的にメモリ１０８’に出力される１ページ分の符号化データ量を予め設定した閾値Ｍmax以下となるようにする。この閾値Ｍmaxは、ユーザが操作部（不図示）から適宜設定するものとする。
【００７７】
本第２の実施形態における画像処理装置の制御部１５０’は以下のように動作する。
【００７８】
制御部１５０’は、符号化を開始する際、第１の符号化部１０３’に初期値の量子化ステップ値Ｑ０を設定する。そして、入力部１０１’に対して、画像データの入力を指示し、本装置の符号化処理を開始する。量子化ステップ値には、Ｑ０、Ｑ１、Ｑ２…が予め容易されており、量子化ステップ値の大小関係は、Ｑ０＜Ｑ１＜Ｑ２…の関係にある。
【００７９】
制御部１５０’は、符号化処理中のメモリ１０８に格納された符号量を記憶するためのレジスタＭｃを有する。制御部１５０’は、１ページの符号化を開始する際に、このレジスタＭｃゼロクリアする。そして、制御部１５０は、符号化データ選択部１０７から１つの画像ブロックに対する符号量を示す値を入力する度に、レジスタＭｃにその符号量を加算する。これによって、制御部１５０’は、メモリ１０８に格納された符号量を監視する。１ページの符号化が完了しても、Ｍｃ≦Ｍmaxであった場合には、メモリ１０８に格納された符号化データを外部（例えば、ハードディスク）に出力する。つまり、この場合には、第１の実施形態と同様となる。
【００８０】
一方、制御部１５０’は、１ページの符号化処理中に「Ｍｃ＞Ｍmax」となったことを検出する毎に、次の処理を行なう。
１．メモリ１０８’に格納された符号化データを破棄する（符号化データを格納するアドレスを初期位置に戻しても良い）。また、制御部１５０が保持する符号量Ｍｃをゼロクリアする。
２．符号化データ選択部１０７’に対して、優先する符号化データとして「非可逆符号化データ」を強制的に設定する。
３．第１の符号化部１０３’に現在設定されている量子化ステップ値Ｑｉが設定されている場合、量子化ステップＱi+1に更新する。つまり、第１の符号化部１０３’に対して圧縮率を上げる設定を行なう。
４．特定画像判定部１０６の特定画像の判定条件を変更、或いは、各閾値を調整する。
５．入力部１０１’に対して、符号化対象の画像データの先頭の画像ブロックから入力するよう指示する。
【００８１】
以上の結果、２回め以降の符号化では、注目画像ブロックが特定画像の性質を持つと判定された場合、非可逆符号化データが強制的に選択されることになる。また、注目画像ブロックが特定画像の性質を持たないと判定された場合、非可逆符号化データと可逆符号化データのうち、符号量の少ない方が選択される。いずれの場合であっても、非可逆符号化データは、前回の符号化時に使用した量子化ステップ値より大きな量子化ステップ値を用いて符号化されていることになるので、最終的には、１ページの符号量が閾値Ｍmax以下とすることが可能になる。
【００８２】
図１１は、本第２の実施形態における制御部１５０’の処理手順を示すフローチャートである。以下、同図に従って説明する。
【００８３】
まず、ステップＳ５０１で、符号化パラメータの初期設定を行なう。ここでは、ユーザが可逆／非可逆符号のいずれを優先するを符号化データ選択１０７’への設定、第１の符号化部１０３’への初期量子化ステップ値Ｑ０の設定、特定画像判定部１０６’への特定画像の判定条件の初期閾値の設定を行なう。また、符号量の上限値Ｍmaxも設定する。レジスタＭｃもゼロクリアする。
【００８４】
ステップＳ５０２では、可逆、非可逆それぞれの符号化を行なう。そして、ステップＳ５０３において、特定画像であるか否かに応じて、いずれか一方の符号化データを選択し、メモリ１０８’に出力する。
【００８５】
ステップＳ５０４では、符号化データ選択部１０７’からの符号量をレジスタＭｃに足し込み、Ｍｃ≦Ｍmaxであるか否かを判定する。Ｍｃ≦Ｍmaxであると判定した場合には、ステップＳ５０８に進んで、最後の画像ブロックについて符号化処理が完了したか否かを判断し、否の場合にはステップＳ５０２以降の処理を繰り返す。
【００８６】
１ページの符号化処理中に、ステップＳ５０４にて、Ｍｃ＞Ｍmaxとなったと判定した場合、制御部１５０’はステップＳ５０５に進み、メモリ１０８’のデータを破棄する。そして、ステップＳ５０６にて、第１の符号化部１０３’に設定していた量子化ステップ値より１段階大きな量子化ステップ値を設定する。そして、ステップＳ５０７にて、優先する符号化データを強制的に非可逆符号化データにすると共に、特定画像判定部１０６’に対して特定画像の判定条件を変更する。なお、このとき、レジスタＭｃもゼロクリアする。
【００８７】
そして、ステップＳ５０２に戻る。なお、このとき、入力部１０１’に対して、１ページの先頭の画像ブロックから再度入力を開始するように設定する。
【００８８】
なお、ステップＳ５０７における特定画像判定部１０６’における特定画像の判定条件の変更方法について説明する。
【００８９】
一部のアプリケーション（例えば、米国マイクロソフト社のアプリケーションＰｏｗｅｒＰｉｎｔ（登録商標））で作成される文書ファイルには、背景と前景となる画像について透明率を記述している。このような画像を、指定された通りにレンダリングすると、サブサンプリングや解像度変換を行っても色の変化は小さい。また、可逆符号化データと非可逆符号化データが混在していても、それらのブロックの境界では、比較的劣化は発生しにくい。色の変化が小さいということは、差分算出部１０５で算出される差分値が非常に小さい値であると言える。従って、２色率Ｃｒやラン率Ｒｒに関わらず、差分値Ｄｔが、上記実施形態で示した閾値Ｔｈ１よりも十分に小さい閾値Ｔｈ４以下であれば特定画像領域であると判定しないようにする。例えば、通常であれば特定画像領域であると判定される２色率Ｃｒが１００％、ラン率Ｒｒが０％である図６に示すような１画素ごとに画素値を持つ画像においても、２色率、ラン率は参照せず、差分値ＤがＴｈ４以下であれば、色の変化が目立たないため特定画像ではないと判定しても構わない。ステップＳ５０７での判定条件の変更は、このように特定画像ではないと判定する確率を高め、符号量の比較によって選択される確率を高めることにある。
【００９０】
＜第３の実施形態＞
本第３の実施形態では、第２の実施形態と同様に、圧縮後の画像データ量の上限値が決められているとする。そして符号量が上限値を上回ってしまった場合に、特定画像領域判定の条件を変更して符号量制御を行うことを特徴とした画像処理装置について説明する。
【００９１】
例えば、在る種のアプリケーション（代表的には、米国マイクロソフト社のＯｆｆｃｅ２００３のＰｏｗｅｒＰｏｉｎｔ（登録商標）では、半透明処理を施す場合に透過率を選択できる。透過率が高いということは、ある画像の上に網点パターンをオーバーレイしても、背景となる画像がはっきりと分かる状態である。一方、透過率が低い場合は、網点パターンをオーバーレイすることで背景画像部分があまり強調されないため、ＪＰＥＧ符号化の前にサブサンプリングや解像度変換を行っても大きな画像の変化がなく、網点パターン部分で符号化方式が混在しても画質劣化が目立ちにくい。透過率の低い場合にはラン率が非常に小さく、限りなく０％に近い値となる。また、透過率が高くなるとラン率が大きくなるという特徴がある。そのため、２色率Ｃｒや差分値Ｄｔが特定画像であると判定するような値であっても、ラン率Ｒｒの閾値を制御することにより、透過率の低い画像を特定画像として検出せず、ＪＰＥＧ−ＬＳ符号化方式が適用される領域を少なくすることで符号量を制御することが可能である。
【００９２】
具体的に図１２を用いて説明する。図１２（ａ）は、オリジナル画像であり、図１２（ｂ）は図１２（ａ）の画像に透過率５０％の網点パターンをオーバーレイした画像であり、図１２（ｃ）は図１２（ａ）の画像に透過率２０％の網点パターンをオーバーレイした画像である。このとき、図１２（ｂ）の画像はラン率０％であるが、図１２（ｃ）のラン率は２０％である。仮に透過率２０％以下のときに画質劣化が目立ちにくいと判断し、特定画像判定を行うとすると、ラン率の閾値を２０％とし、２０％以上の場合には特定画像領域であると判定しない。
【００９３】
以上の操作により、通常の特定画像の判定条件の１つ以上のパラメータの閾値を変更するだけの簡単な方法で、画質の劣化を抑制しつつも符号量制御が可能となる。
【図面の簡単な説明】
【００９４】
【図１】第１の実施形態における画像処理装置のブロック構成図である。
【図２】第１の実施形態における符号化データのフォーマットの一例の図である。
【図３】第１の実施形態における復号処理装置のブロック構成図である。
【図４】実施形態における解像度変換部１０２の動作を説明するための図である。
【図５】第２の符号化部１０４の符号化処理における着目画素ｘとその周辺画素ａ，ｂ，ｃ，ｄの位置を示す図である。
【図６】特定画像の一例を示す図である。
【図７】第１の実施形態の変形例であるコンピュータのブロック構成図である。
【図８】コンピュータの処理手順を示すフローチャートである。
【図９】コンピュータの処理手順を示すフローチャートである。
【図１０】第２の実施形態における画像処理装置のブロック構成図である。
【図１１】第２の実施形態における処理手順を示すフローチャートである。
【図１２】第３の実施形態での符号化処理の効果を説明するための画像例を示す図である。
【図１】
2008042687.tif 000003
【図２】
2008042687.tif 000004
【図３】
2008042687.tif 000005
【図４】
2008042687.tif 000006
【図５】
2008042687.tif 000007
【図６】
2008042687.tif 000008
【図７】
2008042687.tif 000009
【図８】
2008042687.tif 000010
【図９】
2008042687.tif 000011
【図１０】
2008042687.tif 000012
【図１１】
2008042687.tif 000013
【図１２】
2008042687.tif 000014