(57)【要約】【課題】  階調画像と文字／線画とが混在した画像をブロック単位に符号する場合に、文字／線画の画素が存在した画素を置き換える置換値を、周波数変換後の直流成分の発生をほぼゼロする値にするので、復号時の画像のブロック歪を最小化する。【解決手段】  ブロック化部９０１は、画像データを８×８画素のブロックに入力する。抽出部９０２は、文字／線画の画素データを抽出色情報として抽出すると共に、文字線画画素位置を特定する位置情報を抽出する。置換部９０３は、入力したブロックの画像データ中の、文字／線画として抽出した画素データを、階調属性を持つ画素データに基づいて決定される置換値で置換する。このとき、置換部９０３は、入力したブロックが階調属性の画素のみを持つと仮定した場合の周波数変換の直流成分値に近似する値を、置換値とする。【選択図】  図９
2008104120.tif 000002
【特許請求の範囲】
【請求項１】
文字／線画画像データと階調画像データが混在した画像データを符号化する画像符号化装置であって、
符号化対象の画像データを、複数の画素で構成されるブロック単位に入力する入力手段と、
入力したブロックの画像データから、文字／線画の画素データと、文字線画の画素データか階調属性の画素データかを識別するための識別情報を抽出する抽出手段と、
該抽出手段で抽出した前記文字／線画画素データを符号化する第１の符号化手段と、
前記抽出手段で抽出した前記識別情報を符号化する第２の符号化手段と、
前記入力したブロックの画像データ中の、文字／線画として抽出した画素データを、階調属性を持つ画素データに基づいて決定される置換値で置換する置換手段と、
該置換手段で置換された後のブロック単位の画像データを周波数変換し、符号化する第３の符号化手段と、
前記第１乃至第３の符号化手段で生成された符号化データを合成し、ブロック単位の符号化データを生成する符号列生成手段とを備え、
前記置換手段は、階調属性の画素のみを持つと仮定した場合の前記周波数変換の直流成分値に近似する値を、前記置換値とすることを特徴とする画像符号化装置。
【請求項２】
第１、第２の符号化手段は可逆符号化手段であり、前記第３の符号化手段は非可逆のＪＰＥＧ符号化手段であって、
１ブロック内の文字線画の属性を持つ画素の個数をＮ、階調属性を持つ画素データの総和、及び、その平均値をＤ，Ｄａｖｅとしたとき、
前記置換手段は、ＤＣＴ変換時に算出される直流成分ＤＣを、次式によって求め、
ＤＣ＝（Ｄ＋Ｄａｖｅ×Ｎ−１２８×６４）／８
前記第３の符号化手段における直流成分を量子化する際に用いる量子化ステップＱの整数倍で、且つ、前記算出した直流成分ＤＣに近似する値Ｄｐと定義したとき、次式に従って前記置換値Ｚを求める
Ｚ＝（８×Ｄｐ−Ｄ＋１２８×６４）／Ｎ
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
更に、前記置換手段は、前記置換値Ｚを求める際に発生した剰余値Ｒを次式に従って求め、
Ｒ＝（８×Ｄｐ−Ｄ＋１２８×６４）  ％  Ｎ
（Ａ％Ｂは整数Ａを整数Ｂで除算した際の余りを返す関数）
前記文字線画として判定された「Ｎ−Ｒ」個の画素のデータを置換値Ｚで置換し、
前記文字線画として判定されたＲ個の画素のデータを「Ｚ＋１」で置換する
ことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記「Ｚ＋１」を置換する画素位置は、値の大きい階調属性を持つ画素に近い画素位置とすることを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
文字／線画画像データと階調画像データが混在した画像データを符号化する画像符号化装置の制御方法であって、
符号化対象の画像データを、複数の画素で構成されるブロック単位に入力する入力工程と、
入力したブロックの画像データから、文字／線画の画素データと、文字線画の画素データか階調属性の画素データかを識別するための識別情報を抽出する抽出工程と、
該抽出工程で抽出した前記文字／線画画素データを符号化する第１の符号化工程と、
前記抽出工程で抽出した前記識別情報を符号化する第２の符号化工程と、
前記入力したブロックの画像データ中の、文字／線画として抽出した画素データを、階調属性を持つ画素データに基づいて決定される置換値で置換する置換工程と、
該置換工程で置換された後のブロック単位の画像データを周波数変換し、符号化する第３の符号化工程と、
前記第１乃至第３の符号化工程で生成された符号化データを合成し、ブロック単位の符号化データを生成する符号列生成工程とを備え、
前記置換工程は、階調属性の画素のみを持つと仮定した場合の前記周波数変換の直流成分値に近似する値を、前記置換値とすることを特徴とする画像符号化装置の制御方法。
【請求項６】
コンピュータが読込み実行することで、コンピュータに請求項１乃至４のいずれか１項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項７】
請求項６に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮符号化する技術に関するものである。
【背景技術】
【０００２】
従来、画像を符号化する方法として知られているものとしてＪＰＥＧが挙げられる。このＪＰＥＧ符号化は、画像データ中の８×８画素のブロックを単位に符号化するものである。以下に説明する処理は全てこのブロックを単位として実行するものである。
【０００３】
先ず、入力したブロックに対し、直交変換（ＤＣＴ；Discrete Cosine Transform）を行い、８×８個の直交変換係数を得る。次に、この直交変換係数に対して、量子化テーブルを用いて量子化を行う。ここで、量子化テーブルの要素の値を量子化ステップ幅と呼ぶ。量子化ステップ幅は、高周波成分の直交変換係数ほど大きい。量子化は、各直交変換係数をそれぞれに対応する量子化ステップ幅で除算し、小数点以下を四捨五入して丸めを行うものである。それ故、量子化後の値は高周波成分ほど小さな値になり、０の発生頻度が高くなる。次に、量子化後の値に対してＤＣ成分（１つ）とＡＣ成分（６３個）で別々の符号化を行う。
【０００４】
ＤＣ成分に関しては、ブロック間の相関が強いため差分予測符号化を行った後、ハフマン符号化される。差分予測符号化は直前の値との差を符号化する方式である。ハフマン符号化は、発生頻度の高い値には短い符号を、発生頻度の低い値には長い符号を与えることで結果的に全体の符号長を短くする符号化方法である。
【０００５】
ＡＣ成分に対しては、ランレングス符号化を行った後、ハフマン符号化を行う。ランレングス符号化は、同一の値が長く続くほど符号化率が向上する符号化方法である。量子化後の値に対してジグザグスキャンを行うことにより、高周波成分の０の値を連続させることで符号化効率を向上させている。
【０００６】
ＪＰＥＧ符号化は、デジタルカメラ等のデバイスに搭載されていることもからもわかるように、自然画像に対しては良好な圧縮方法である。他方、文字や線画などの含まれる画像に対しては、画像の高周波成分が失われることを原因とするモスキートノイズや、直流成分の量子化誤差や高周波成分が失われることを原因とするブロック歪が起こりやすいという問題がある。そのため文字や線画などの解像度が保持したまま圧縮する方法として、画像を直交変換の単位となるブロックに分割する。そして、ブロック単位で予め指定された色若しくは濃度値の文字や線画などの解像情報を抽出し、その抽出した領域に対して適当な値で置換処理を行った階調情報を直交変換等で符号化する。一方、ブロック単位の色情報に対しては予測符号化等で符号化するといった方法が提案されている。
【０００７】
これは、画像を高周波成分の比較的少ない自然画像と、局所的に同一の濃度値を有する２値的な情報である文字や線画を合成したものとして仮定するものである。そして、その画像に対して直交変換符号化を用いて圧縮・伸長する際に発生する信号歪から文字や線画の情報を保護するために、文字・線画の２値情報を予め抽出しておき、２値情報に対しては劣化の生じない可逆符号化を行う。
【０００８】
例えば特許文献１においては、抽出領域への置換処理にて、ブロック内の抽出領域以外の領域を参照して置換処理を行う。具体的には、平均値演算部において抽出領域以外の領域の平均値を算出し、得られた平均値で抽出領域に対して置換処理を行う。あるいは、入力された画素を１サイクル遅延させ、抽出領域の画素に対して、その遅延させた画素で置換を行うという方法が示されている。このような方法で直交変換後のスペクトルを低周波領域に集中させ、圧縮・伸張後の画質劣化を抑える効果を得られる。
【特許文献１】特開平４−３２６６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の画像処理方法では、直交変換後の量子化の際に用いる量子化ステップ幅が粗いと、量子化誤差が発生する可能性が高く、その量子化誤差が画像のブロック歪を引き起こす原因の一つになっているという問題が残る。
【００１０】
本発明はかかる問題点に鑑みなされたものであり、ブロック歪みの発生を抑制し、階調画像と文字／線画とが混在した画像を効率良く符号化する技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
文字／線画画像データと階調画像データが混在した画像データを符号化する画像処理装置であって、
符号化対象の画像データを、複数の画素で構成されるブロック単位に入力する入力手段と、
入力したブロックの画像データから、文字／線画の画素データと、文字線画の画素データか階調属性の画素データかを識別するための識別情報を抽出する抽出手段と、
該抽出手段で抽出した前記文字／線画画素データを符号化する第１の符号化手段と、
前記抽出手段で抽出した前記識別情報を符号化する第２の符号化手段と、
前記入力したブロックの画像データ中の、文字／線画として抽出した画素データを、階調属性を持つ画素データに基づいて決定される置換値で置換する置換手段と、
該置換手段で置換された後のブロック単位の画像データを周波数変換し、符号化する第３の符号化手段と、
前記第１乃至第３の符号化手段で生成された符号化データを合成し、ブロック単位の符号化データを生成する符号列生成手段とを備え、
前記置換手段は、階調属性の画素のみを持つと仮定した場合の前記周波数変換の直流成分値に近似する値を、前記置換値とすることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、階調画像と文字／線画とが混在した画像をブロック単位に符号する場合に、文字／線画の画素が存在した画素を置き換える置換値を、周波数変換後の直流成分の発生をほぼゼロする値にするので、ブロック歪を最小化することができる。
【発明を実施するための最良の形態】
【００１３】
以下添付図面に従って本発明に係る実施形態を説明する。
【００１４】
＜第１の実施形態＞
図９は実施形態における画像圧縮装置のブロック構成図である。図示において、ブロック化部９０１は、符号化対象の画像データから８×８画素で構成されるブロックを単位に出力する。抽出部９０２は、ブロック化された画像から、予め定められた方法により抽出色を決定し、出力する。また、抽出部９０２はブロック内に存在する抽出色の位置を示した情報を、位置情報として出力する。この位置情報は、ブロック内の各画素が、抽出色領域内の画素であるか、非抽出色領域内の画素であるかを示す識別情報とも言える。
【００１５】
置換部９０３は、入力された位置情報より抽出色領域の画素に対して置換処理を行い、階調情報として出力する。第１の符号化部９０４は、入力された抽出色情報を可逆圧縮して出力する。第２の符号化部９０５は、入力された位置情報を可逆圧縮して出力する。第３の符号化部９０６は、入力された階調情報を非可逆圧縮（実施形態ではＪＰＥＧ符号化）して出力する。そして、符号列９０７は、各符号化部で生成された符号化データを結合し、ブロック単位の符号化データ列を生成し、出力する。
【００１６】
説明を簡単なものとするため、本実施形態での符号化対象の画像データは１画素１成分であり、１画素が８ビット（２５６階調）の画像（グレースケール画像）とする。また、値２５５は黒、値０は白として説明する。つまり、画素値は濃度を示すとして説明する。ただし、これは一例であって、これに限るものではない。
【００１７】
実施形態における抽出部９０２について先ず、説明する。
【００１８】
自然画もしくはＣＧグラデーション画像中に、黒もしくは黒に近い文字線画が存在するとき、そのブロックの濃度のヒストグラムは図１０（ａ）、（ｂ）のようになる。図１０（ａ）は文字線画の濃度が、背景（自然画、ＣＧグラデーション画像）の濃度に対して、十分に異なる値を持っている場合を示している。この状況はちょうど、文字線画が背景画像とはっきりと区別して視認できる状況である。同図（ｂ）は、同図（ａ）ほどではないが、文字線画と背景とは一応区別できる状況を示している。いずれの場合でも、頻度のピークは２つ現れるので、２つのピーク間の極小値の位置（図１０（ａ）の場合には、２つのピーク間の無頻度の位置でも良い）を閾値として決定する。
【００１９】
抽出部９０２は、上記のようにして閾値を決定し、閾値を越える値を持つ画素を抽出色を持つ画素として決定する。そして、抽出色を持つ画素位置を特定するため、入力した８×８画素を、決定した閾値で２値化し、これを位置情報として符号化部９０５、置換部９０３に出力する。なお、２値化は、閾値を越える画素値は“１”、閾値以下の画素値は“０”とする。図１１（ａ）は、この位置情報を示している。
【００２０】
抽出部９０２は、８×８画素をラスタースキャンし、位置情報が“１”である入力画素値を順番に抽出して、図１１（ｂ）のように一次元に並べ、その画素値を抽出色情報として符号化部９０４に出力する。
【００２１】
符号化対象の画像データは、イメージスキャナ等で光学的に読取った画像データである場合、読取り精度等に起因して、文字線画の各画素は単一色となるとは限らない。従って、図１１（ｂ）に示すように、ある程度ばらついた値となるが、その分散は小さくい。従って、本実施形態では、符号化部９０４は、例えば予測符号化を利用した可逆符号化を採用する。
【００２２】
なお、イメージスキャナを介在せず、コンピュータからダイレクトに出力された画像データ、或いは、コンピュータからの印刷データに従ってレンダリングした画像を符号化する場合、誤差は発生しないので、文字線画は単一の色となる。従って、このような場合には、閾値を越える画素は全て同じ値を持つので、抽出色情報は１個のデータとなる。この場合、符号化部９０４はその１個のデータを符号化すればよい。
【００２３】
また、位置情報は、図１１（ａ）に示すように８×８個の２値データであるので、符号化部９０５は、２値データに特化した可逆符号化（予測符号化、ランレングス符号化等）を行なえばよい。
【００２４】
また、抽出部９０２は、ブロック内の濃度に対する頻度のピークが１つしか存在しなかった場合、言い替えれば、ブロック内に抽出色の領域が存在しない場合、位置情報の全ビットを“０”として出力する。このとき、抽出部９０２は、注目ブロック内に抽出色情報無しを示す信号を符号列生成部９０７に出力する。また、ブロック内に抽出色領域が存在する場合には、抽出色情報有りを示す信号を符号列生成部９０７に出力する。
【００２５】
一方、実施形態における符号化部９０６は、ＪＰＥＧ（非可逆）符号化を行なう。ＪＰＥＧ符号化は、デジタルカメラ等に搭載された符号化技術であり、自然画に対して高い圧縮率を有することで知られている。このＪＰＥＧは、人間の視覚が高周波成分に対して鈍感であることを利用し、その高周波成分をある程度除去して情報量を少なくしてから、符号化するものである。しかしながら、文字線画等は、そのエッジが鮮明であることが望ましい。言い方を変えれば、文字線画は高周波成分が維持されることが望ましいと言える。
【００２６】
かかる点、本実施形態では、文字線画部分は、符号化部９０５、９０４にて可逆符号化されることになり、理論上、完全に元の値に復元できる。
【００２７】
ＪＰＥＧ符号化は、８×８画素ブロックのＤＣＴ変換（直交変換）、量子化、エントロピー符号化の処理を経て、符号化データを生成する。文字線画を含むブロックをＤＣＴ変換すると、その文字線画の存在によって得られる変換係数に影響が現れる。また、量子化処理では、高周波成分の変換係数ほど大きな量子化ステップで量子化するが、それでも完全に高周波成分をカットするわけにはいかない。もし、高周波成分を完全にカットするほど大きな量子化ステップを用いてしまうと、自然画と言えども画質が劣化したものとなってしまうからである。
【００２８】
そこで、本実施形態では、文字線画が存在するブロックをＪＰＥＧ符号化する際、そのブロックには文字線画が存在していないのと等価のブロックを生成し、符号化部９０６でＪＰＥＧ符号化を行なうようにする。これを実現するのが、図９の置換部９０３である。
【００２９】
以下、実施形態における置換部９０３について説明する。
【００３０】
図１は、実施形態における置換部９０３の詳細ブロック図である。置換部９０３は、目標値算出部１０１、係数値算出部１０２、代表値生成部１０３、置換候補値算出部１０４、及び、置換値生成部１０５で構成される。
【００３１】
目標値算出部１０１は、１ブロックの画素データと位置情報とをもとに、抽出色を持つ画素を除く画素の値の合計値Ｄ、抽出色を持つ画素を除く画素の値の平均値Ｄave、及び、抽出色として判定された画素の個数Ｎを算出する。
【００３２】
ここで予め説明しておくが、抽出色と判定された画素の個数Ｎが０の場合、以下に説明する処理は行なわず、置換生成部１０５は、入力した画素値をそのまま符号化部９０６に出力するものである。以下では、Ｎが０以外である場合の説明である点に注意されたい。また、抽出色と判定された画素数ではなく、非抽出色と判定された画素数でも構わない。「抽出色と判定された画素数＝６４−非抽出色と判定された画素数」の関係を有し、一方を算出することは、他方を算出することと等価であるからである。
【００３３】
８×８画素内の座標（ｉ，ｊ）の画素の値をＸi,jと表わし、８×８個の位置情報をＴi,jとする。ここで、Ｔi,jは、“０”、“１”のいずれかの値である。Ｔi,j＝１の場合、画素Ｘi,jは抽出色を持つ画素、すなわち、文字線画として判定された画素を意味する。Ｔi,j＝０の場合、画素Ｘi,jは非抽出色を持つ画素、すなわち、自然画（or背景画像）として判定された画素を意味する。従って、合計値Ｄ、平均値Ｄave、個数Ｎは次のように算出される。また、ｉ，ｊは０以上７以下の整数である。
Ｎ＝ΣΣＴi,j
Ｄ＝ΣΣＸi,j×（１−Ｔi,j）
Ｄave＝Ｄ／（６４−Ｎ）
ここでΣΣはi,j=0,1,2,…7の合算を示す。
【００３４】
図２は、目標値算出部１０１の具体的な処理手順を示すフローチャートである。以下、同図にしたがってその処理手順を説明する。
【００３５】
先ず、ステップＳ２０１では、合計値を求める変数Ｄと個数を求める変数Ｎをそれぞれ０に初期化する。
【００３６】
次いで、ステップＳ２０２において、注目画素が抽出色領域内の画素か否か、すなわち、注目画素が抽出色を持つ画素であるか否かを、位置情報に基づき判定する。注目画素が抽出色領域内の画素であると判定した場合、処理はステップＳ２０４にすすみ、変数Ｎを“１”だけ増加する。一方、注目画素が非抽出色領域の画素であると判定した場合、処理はステップＳ２０３に進み、変数Ｄに注目画素データの値を加算する。
【００３７】
ステップＳ２０３またはＳ２０４のいずれかの処理を行なうと、処理はステップＳ２０５に進み、ブロック内の全画素（６４画素）分の処理を行なったか否かを判断する。否の場合には、次の画素の処理を行なうため、ステップＳ２０２以降の処理を繰り返す。
【００３８】
また、ステップＳ２０５にて、ブロック内の全画素分の処理が行なったと判断した場合、処理はステップＳ２０６に進み、上記のようにして求めたＤ、Ｎに基づき、非抽出色領域内の画素の平均値Ｄａｖｅを求める。
【００３９】
次に、係数値算出部１０２について説明する。この係数値算出部１０２は、目標値算出部１０１より出力された合計値Ｄ、平均値Ｄave、個数Ｎに基づき、ＤＣＴ変換で得られる直流成分であるＤＣ係数を算出する。
【００４０】
一般に、ＤＣＴ変換は、画素値をＸi,j、変換して得られる係数をＹu,vとするとき、次の演算を行なう。
Ｙu,v＝(1/4)α(u)α(v)ΣΣ(Xi,j-128)cos((2i+1)uπ/16)cos((2j+1)vπ/16)
【００４１】
ここで、直流成分ＤＣを求める場合に限ると、ｕ、ｖは共に“０”となり、α（０）は１／√２である。従って、ＤＣＴ変換後の直流成分ＤＣは次式（１）となる。
ＤＣ＝Ｙ0,0＝（１／８）ΣΣ（ｘi,j-128）  …（１）
【００４２】
本実施形態の置換部９０３は、ブロック内の抽出色を持つと判定された画素の値を、非抽出色と判定された画素の平均値Ｄaveを持つように置換する。このため、係数値算出部１０２は、上記式（１）を、目標値算出部１０１で算出されたＤ、Ｄａｖｅ、Ｎを用いて次式（２）のように変形し、仮のＤＣ成分を算出し、代表値生成部１０３に出力する。
ＤＣ＝｛非抽出色領域の画素の合計値＋（非抽出色領域の画素の平均値＊抽出色領域内の画素数）−１２８×６４｝／８
＝（Ｄ＋Ｄave×Ｎ−１２８×６４）／８    …（２）
【００４３】
また、ＪＰＥＧでは、先に説明したように、ＤＣＴ変換して得られた各係数を量子化する。ここで、実施形態における符号化部９０６で行なうＤＣ成分の量子化ステップ値は「１６」であるとして説明する。通常、量子化した際、小数点以下の値が発生するので、小数点以下を四捨五入することが行われる。
【００４４】
そこで、本実施形態の代表値生成部１０３は、係数値算出部１０２で算出されたＤＣ成分値に「８」（量子化ステップの半分の値）を加算した後、下位４ビットを０にする。この結果、係数値算出部１０２で算出されたＤＣ成分値を、量子化ステップの整数倍にでき、符号化部９０６で行われる量子化処理で発生する誤差を実質的に０にする。つまり、代表値生成部１０３は、係数算出部１０２で算出されたＤＣ成分値を、量子化ステップの整数倍で、そのＤＣ成分値に近似する値に変換し、その結果を量子化代表値として置換候補地算出部１０４に出力する。
【００４５】
次に置換候補値算出部１０４について説明する。
【００４６】
代表値生成部１０３が生成する量子化代表値をＤｐと表わす。抽出色領域内の画素の値Ｚをすると、ＤｐとＺは、式（２）を参照すると、次式（３）を満たす必要がある。
Ｄｐ＝（Ｄ＋Ｚ×Ｎ−１２８×６４）／８    …（３）
【００４７】
この式（３）を逆算すると、抽出色領域の内の画素値Ｚは次式（４）で求められる。
Ｚ＝｛８×Ｄｐ−Ｄ−１２８×６４｝／Ｎ    …（４）
＝｛８×量子化代表値−非抽出色領域の画素の合計値−１２８×６４｝／抽出色領域と判定された画素数
【００４８】
つまり、抽出色を持つと判定された各画素の値を、式（４）で求めた値にすれば、後段の符号化部９０６で量子化した際のＤＣ成分に誤差は発生しないことになる。ただし、画素値は整数でなければならない。つまり、このままでは、式（４）による剰余値（余り）が無視されてしまう。
【００４９】
そこで、この剰余値Ｒを次式（５）で求める（「Ａ  ％  Ｂ」は整数Ａを整数Ｂで除算した際の余りを返す関数とする）。
Ｒ＝｛８×Ｄｐ−Ｄ−１２３×８４｝  ％  Ｎ    …（５）
【００５０】
置換候補値算出部１０４は、剰余値Ｒと、値Ｚ（候補値）を置換値生成部１０５に出力する。
【００５１】
置換値生成部１０５は、位置情報、剰余値Ｒ、候補値Ｚに基づき、入力した１ブロック分の画素データを生成し、符号化部９０６に出力する。具体的には、置換値生成部１０５は、位置情報により注目画素が非抽出色領域内にあると判定した場合には、その画素の値をそのまま符号化部９０６に出力する。また、置換値生成部１０５は、位置情報により注目画素が抽出色の領域内にあると判定した場合には、候補値Ｚまたは候補値Ｚ＋１の値をその画素の値として符号化部９０６に出力する。
【００５２】
この置換値生成部１０５の処理内容の一例を図３のフローチャートに従って説明する。なお、以下の説明における画素位置の更新方向は、ラスタースキャン方向として説明する。
【００５３】
先ず、ステップＳ３０１に、カウンタＣに初期値として剰余値Ｒをセットする。
【００５４】
次いで、ステップＳ３０２において、注目画素は抽出色領域内にあるか否かを判断する。注目画素が非抽出領域内にあると判定した場合には、ステップＳ３０６に進み、入力した画素データをそのまま出力する。
【００５５】
また、ステップＳ３０２にて、注目画素は抽出色領域内にあると判断した場合、処理はステップＳ３０３に進み、カウンタＣが“０”となったか否かを判断する。否の場合には、ステップＳ３０４に進む。このステップＳ３０５では、入力した注目画素値の代わりに、「Ｚ＋１」を出力する。そして、カウンタＣを“１”だけ減じる。
【００５６】
ステップＳ３０７では、６４個の画素データの出力を終えたか否かを判断する。否の場合には、ステップＳ３０２に戻る。
【００５７】
上記の処理の結果、抽出色領域内にあると判断し、尚且つ、カウンタＣが“０”以外である場合には、ステップＳ３０４の処理が行われるが、カウンタＣが“０”となった場合、処理はステップＳ３０５に進む。このステップＳ３０５では、入力した注目画素値の代わりに、候補値Ｚを出力する。
【００５８】
置換値生成部１０５による処理内容を、図４を参照して説明する。
【００５９】
図４（ａ）は、入力したブロックを示している。また、斜線部分は、抽出色領域を示している。同図（ｂ）は、この非抽出領域の画素値から導き出した各値を示している。図示の場合、非抽出領域の画素の平均値Ｄａｖｅは“３９．７４”、ＤＣ成分値は“−７０８．４”、量子化代表値Ｄｐは“−７０４”、置換候補値Ｚは“４０”、剰余値Ｒは“１０”であることを示している。
【００６０】
従って、図４（ａ）における、ラスタスキャンしていって、斜線部の領域内の最初の１０個の画素が“４１”となり、残りが“４０”とすることで、同図（ｃ）の結果を得ることができる。
【００６１】
符号化部９０６は、この図４（ｃ）のブロックについて非可逆符号化であるＪＰＥＧ符号化を行なうことになる。
【００６２】
符号列生成部９０７は、抽出部９０２から、抽出色情報有りを示す信号を受信した場合、抽出色領域有りを示す識別ビット（例えば“１”）を有するヘッダを生成する。そして符号列生成部９０７は、そのヘッダと、符号化部９０４乃至９０６から出力された抽出色情報符号化データ、位置情報符号化データ、及び、階調符号化データとを結合し、出力する。図１２（ａ）はこの場合の符号化データの構造を示している。
【００６３】
また、符号列生成部９０７は、抽出部９０２から、抽出色情報無しを示す信号を受信した場合、抽出色領域無しを示す識別ビット（例えば“０”）を有するヘッダを生成する。そして符号列生成部９０７は、そのヘッダと、符号化部９０６から出力された階調符号化データとを結合し、出力する。つまり、位置情報、抽出色情報の符号化データは無視する。図１２（ｂ）はこの場合の符号化データの構造を示している。
【００６４】
以上説明したように本第１の実施形態によれば、抽出色領域内の画素が、非抽出色領域の平均値に近い値で置換され、且つ符号化部９０６内での量子化後のＤＣ係数が量子化代表値と一致する。その結果、ＤＣ成分の量子化誤差が０になるため、ＤＣ成分の量子化誤差によるブロック歪を最小化することができる。また、ＤＣＴ変換後の高周波成分の係数値も必然的に小さなものとなる。従って、高い周波数の量子化後の係数は“０”となる確率が高くなり、圧縮率を高めることも可能になる。
【００６５】
なお、上記実施形態では、剰余値Ｒを振り分ける対象の画素位置を、ラスタースキャン順にする例を説明したが、これに限らない。例えば、図３のフローチャートにおいて、カウンタＣに、「抽出色領域の個数Ｎ−剰余値Ｒ」をセットする。そして、ラスタースキャンに従った最初の「抽出色領域の個数Ｎ−剰余値Ｒ」個の画素データを候補値Ｚを出力し、残りのＲ個の画素データとして「Ｚ＋１」を出力しても構わない。
【００６６】
なお、上記の符号化データを復号する装置のブロック構成図を図１３に示し、その復号処理の流れを一応説明する。図示に示すように、装置は、符号化用データバッファ５０１、解析・分離部５０２、抽出色情報復号部５０３、位置情報復号部５０４、階調画像復号部５０５、及び、画像ブロック生成部５０６で構成される。
【００６７】
１ブロック分の符号化データが符号化データバッファ５０１に格納されると、解析・分離部５０２はの符号化データのヘッダを解析し、その中の識別ビットを判定する。識別ビットが“１”である場合、符号化データは図１２（ａ）の構造であることを意味するので、解析・分離部５０２は、符号化データ用バッファ５０１に格納された各符号化データを復号部５０４乃至５０６それぞれに分配する。また、このとき、解析・分離部５０２は識別ビットの情報を画像ブロック生成部５０６に出力する。この結果、復号部５０３乃至０５は、自身に分配された符号化データの復号処理を行ない、その結果を画像ブロック生成部５０７に出力する。
【００６８】
また、識別ビット“０”である場合、符号化データは図１２（ｂ）の構造であることを意味する。従って、解析・分離部５０２は、符号化データ用バッファ５０１に格納された符号化データを階調画像復号部５０６のみに分配する。また、このとき、解析・分離部５０２は識別ビットの情報を画像ブロック生成部５０６に出力することも行なう。
【００６９】
画像ブロック生成部５０７は、解析・分離部５０２からの識別ビットが“０”である場合、階調画像復号部５０５から出力された８×８画素の画像データを、そのまま出力する。また、画像ブロック生成部５０７は、解析・分離部５０２からの識別ビットが“１”である場合、位置情報が“０”となっている画素については、階調画像復号部５０５から出力された画素データを出力する。また、位置情報が“１”である画素については、抽出色情報生成部５０３で復号された画素データを順番に出力する。
【００７０】
＜第２の実施形態＞
図５は、第２の実施形態に係わる置換処理の構成を説明するブロック図である。図中、図１と同じ動作を行う部分は同じ番号を付してある。５０６は振り分け位置判定部、５０７は置換値生成部である。以下、第１の実施形態と異なる部分のみ説明する。
【００７１】
本第２の実施形態は、剰余値の振り分位置を、抽出色領域の近傍の非抽出色の画素値に基づき決定するものである。
【００７２】
図５の振り分け位置判定部５０６は、剰余値Ｒ、位置情報、画素データを入力し、内部設けられたメモリ内に、後述する「座標、画素データ、連続数」を１レコードとするデータを格納する。
【００７３】
以下、振り分け位置判定部５０６の処理内容を、図６に示すフローチャートを用いて具体的に説明する。
【００７４】
なお、以下の説明において、注目画素の位置はラスタースキャン順に更新していくものとする。最初の画素（０番目の画素）の直前の画素は存在しないが、その直前の画素は、非抽出色領域の画素として扱うものとする。
【００７５】
先ず、ステップＳ６０１では、入力画素が抽出色領域であるか否かを判断する。注目画素が、抽出色領域内にあると判断した場合、処理はステップＳ６０２に進み。ステップＳ６０２では、直前画素、つまり１サイクル遅延された入力画素が抽出色領域内の画素であるか否かを判断する。
【００７６】
直前画素が非抽出色領域内の画素である場合、注目画素は抽出色領域の境界の画素であることを意味する。それ故、ステップＳ６０４にて、注目画素位置、直前の画素の値、及び、連続数“１”で構成される１レコード分のデータをメモリに格納する。
【００７７】
また、ステップＳ６０２にて、直前の画素が抽出色領域にあると判断した場合、抽出色領域内の画素が連続していることを示している。それ故、ステップＳ６０５にて、メモリに格納された現在のレコードの連続数を“１”だけ増加させる。
【００７８】
ステップＳ６０４、Ｓ６０５のいずれかの処理を行なうと、次に、ステップＳ６０６にて、注目画素がブロック中の最後の画素となったか否かを判断し、否の場合にはステップＳ６０１以降の処理を繰り返す。
【００７９】
ここで、注目ブロックが図８（ａ）に示すデータであるとする。図示において、斜線部が抽出色領域（位置情報が“１”）である。
【００８０】
ここで、ステップＳ６０６にて最後の画素についてのチェックが完了した場合、振り分け位置判定部５０６内のメモリには、同図（ｂ）に示すように、７レコードのデータが格納される。最初のレコード「１５、３０、１」は、ブロックをラスタースキャンした際に１５番目の画素が抽出色領域であり、その直前の非抽出色領域の画素値は“３０”であり、抽出色領域と判定された連続画素数は“１”であることを示している。また、２番目のレコード「２２、４０、２」は、ブロックをラスタースキャンした際に２２番目の画素が抽出色領域であり、その直前の非抽出色領域の画素値は“４０”であり、抽出色領域と判定された連続画素数は“２”であることを示している。それ以外については説明するまでもないであろう。
【００８１】
ステップＳ６０７では、この７つのレコードの第２フィールド、すなわち、抽出色領域となる画素の直前の画素データをキーにして昇順にソートする。この結果、図８（ｂ）のデータは、同図（ｃ）の様に並べ替えられる。
【００８２】
ステップＳ６０８では、振り分け位置判定部５０６は、自身のメモリ内の１レコード分のデータを入力する。そして、ステップＳ６０９にて、置換候補値算出部１０４からの剰余値Ｒと、入力した連続数とを比較する。「Ｒ≧連続数」であると判断した場合には、ステップＳ６１０にて、入力した１レコードの画素位置から連続数で示される画素群を、「＋１」の値を振り分る対象として決定する。そして、ステップＳ６１１にて、剰余値Ｒから連続数を減じることで剰余値Ｒを更新し、ステップＳ６０８に戻る。
【００８３】
ステップＳ６０９にて、「剰余値Ｒ＜連続数」であると判定した場合、処理はステップＳ６１２に進む。このステップＳ６１２では、入力した１レコード中の画素位置から、その時点での剰余値Ｒで示される個数の画素群を、「＋１」の値を振り分る対象として決定する。
【００８４】
以上の結果、置換候補値算出部１０４からの剰余値Ｒが“１０”であるとき、図８（ｄ）に示すように、「＋１」を加算する対象となる１０個の画素位置が決定されることになる。従って、図５における置換値生成部５０７は、位置情報が“０”の画素については、入力した階調画素データをそのまま出力する。また、置換値生成部５０７は、位置情報が“１”であり、振り分け位置判定部５０６からの振り分け値が「＋１」の画素については、「候補値＋１」を出力する。そして、また、置換値生成部５０７は、位置情報が“１”であり、振り分け位置判定部５０６からの振り分け値が「＋１」以外の画素については、「候補値」を出力する。
【００８５】
図７は、本第２の実施形態における置換値生成部５０７の処理内容を示してる。
【００８６】
先ず、ステップＳ７０１にて、注目画素が抽出色領域内にあるか否かを判断する。否の場合には、ステップＳ７０５にて、入力した階調画素の値をそのまま符号化部９０６に出力する。
【００８７】
また、注目画素が抽出色領域内にあると判定した場合、処理はステップＳ７０２に進み、注目画素位置は振り分け対象画素か否かを判断する。否の場合には、ステップＳ７０４にて、置換候補値算出部１０４からの候補値を注目画素の階調画素データとして符号化部９０６に出力する。
【００８８】
また、ステップＳ７０２にて、注目画素位置は振り分け対象画素であると判断した場合には、ステップＳ７０３にて、置換候補値算出部１０４からの「候補値＋１」を注目画素の階調画素データとして符号化部９０６に出力する。
【００８９】
以上の結果、剰余値を振り分ける対象画素は、その近傍の階調値の大きい画素の近傍にの集中することになる。これによって抽出色領域と非抽出色領域の領域の境界が滑らかになり、ＤＣＴ変換後のブロックの高周波成分の係数の発生を更に下げることが可能となる。すなわち、量子化後の係数が“０”か、それに近い値となる確率を高め、圧縮符号化率を高めることが可能になる。
【００９０】
また、上記手法に限らず、例えば、先ず、抽出色領域を非抽出色領域の平均値で埋めた後、抽出色領域を差分値でソーティングし、差分が小さくなる抽出色画素の内、最も差分が大きい画素に上記剰余が振り分ける。この操作を上記剰余が０になるまで繰り返す手法でも良い。
【００９１】
以上、本発明に係る実施形態を説明したが、ＣＰＵやＭＰＵ等のプロセッサがコンピュータプログラムを実行することで、図９に係る構成の機能を実現しても構わない。すなわち、本発明は、コンピュータプログラムをもその範疇とする。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されている。そして、そのコンピュータ可読記憶媒体を、読取り装置（ＣＤ−ＲＯＭドライブ）にセットし、システムにコピーもしくはインストールすることで実行可能となる。従って、このようなコンピュータ可読記憶媒体も本発明の範疇にあることも明らかである。
【図面の簡単な説明】
【００９２】
【図１】第１実施形態に係る置換部のブロック構成図である。
【図２】第１実施形態の目標値算出部の処理内容を説明するためのフローチャートである。
【図３】第１実施形態の置換値生成部の処理内容を説明するためのフローチャートである。
【図４】置換値生成部の処理内容の例を示す図である。
【図５】第２実施形態に係る置換部のブロック構成図である。
【図６】第２実施形態の振り分け位置判定部における処理内容を説明するためのフローチャートである。
【図７】第２実施形態の置換値生成部における置換値生成部の処理内容を説明するためのフローチャートである。
【図８】第２の実施形態における振り分け位置決定部５０６の処理内容の一例を示す図である。
【図９】本実施形態の画像符号化装置のブロック構成図である。
【図１０】図９の抽出部の処理内容を説明するための図である。
【図１１】図９の抽出部が生成する位置情報、及び、抽出色情報の一例を示す図である。
【図１２】図９の符号列生成部が生成する１ブロック分の符号化データの構造を示す図である。
【図１３】実施形態における画像復号装置のブロック構成図である。
【図１】
2008104120.tif 000003
【図２】
2008104120.tif 000004
【図３】
2008104120.tif 000005
【図４】
2008104120.tif 000006
【図５】
2008104120.tif 000007
【図６】
2008104120.tif 000008
【図７】
2008104120.tif 000009
【図８】
2008104120.tif 000010
【図９】
2008104120.tif 000011
【図１０】
2008104120.tif 000012
【図１１】
2008104120.tif 000013
【図１２】
2008104120.tif 000014
【図１３】
2008104120.tif 000015