(57)【要約】【課題】  ＣＧ画像や、限定色画像などに見られる様な頻度分布に偏りのある画像データに対しても効率良く符号化する画像符号化手法を提供することを目的とする。【解決手段】  注目画素の隣接画素に関して、左，左上，上，右上の順に、画素値が大きくなる場合、もしくは小さくなる場合、注目画素の周囲はグラデーションである可能性が高く、近傍一致符号化モードに突入する。【選択図】  図１
2008109194.tif 000002
【特許請求の範囲】
【請求項１】
複数成分で構成される画像データを符号化する画像処理装置であって、
着目画素を所定の複数の符号化済みの画素と画素単位に比較し、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定手段と、
着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化手段と、
所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化手段を適用するか否かを判定する第１の符号化モード判定手段と、
着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分の値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化手段とを具備し、
前記第１の符号化モード判定手段により、近傍一致情報符号化手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化手段により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、
前記第１の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力すること
を特徴とする画像処理装置。
【請求項２】
前記第１の符号化モード判定手段は、所定の複数の符号化済みの画素群に含まれる色数を検出し、該色数によって近傍一致情報符号化手段を適用するか否かを判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第１の符号化モード判定手段は、所定の複数の符号化済みの画素群に含まれる画素間の画素値の大小を検出し、検出結果を基に近傍一致情報符号化手段を適用するか否かを判定することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記近傍一致情報符号化手段による近傍一致情報の符号化は前記色数を参照して行うことを特徴とする請求項２記載の画像処理装置。
【請求項５】
更に、同一画素値の連続数をカウントして符号化するランレングス符号化手段と、
符号化済みの画素から該ランレングス符号化手段を適用するか否かを判定する第２の符号化モード判定手段とを具備し、
前記ランレングス符号化手段により符号化されない画素について、前記近傍一致情報符号化手段と、前記予測符号化手段により符号化を行うことを特徴とする請求項１から４記載の画像処理装置。
【請求項６】
前記第２の符号化モード判定手段は、前記色数によって前記ランレングス符号化手段を適用するか否かを判定することを特徴とする請求項５記載の画像処理装置。
【請求項７】
複数成分で構成される画像データを符号化する画像処理方法であって、
着目画素を所定の複数の符号化済みの画素と画素単位に比較して、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定工程と、
着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化工程と、
所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化工程を適用するか否かを判定する第１の符号化モード判定工程と、
着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化工程とを具備し、
前記第１の符号化モード判定工程により、近傍一致情報符号化工程を適用すると判定された画素について、前記画素一致判定工程により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化工程により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化工程により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、
前記第１の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力すること
を特徴とする画像処理方法。
【請求項８】
複数成分で構成される画像データを復号する画像処理装置であって、
着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を復号する近傍一致情報復号手段と、
所定の複数の符号化済みの画素に基づいて、該近傍一致情報復号手段を適用するか否かを判定する第１の復号モード判定手段と、
前記近傍一致情報復号手段により復号された近傍一致情報から、着目画素が所定の複数の符号化済みの画素のいずれかと、複数成分の全てで一致するか否かを判定し、判定結果を出力する画素一致判定手段と、
前記近傍一致情報復号手段により復号された近傍一致情報に従って、複数の符号化済みの画素のいずれか一つの画素値を着目画素の復号値として選択する画素値選択手段と、
着目画素を構成する複数の成分値のそれぞれについて、符号化済みの同一成分値を参照して予測し、成分値予測符号化データから各成分値を復号する予測符号化データ復号手段とを具備し、
前記第１の復号モード判定手段により、近傍一致情報復号手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記画素値選択手段により選択された画素値を着目画素の復号値として出力し、一致する画素が存在しないと判定された場合には、前記予測符号化データ復号手段により得られる各成分からなる画素値を着目画素の復号値として出力し、
前記第１の復号モード判定手段により、近傍一致情報復号手段を適用すると判定された画素について、前記予測符号化データ復号手段により得られる各成分からなる画素値を着目画素の復号値として出力すること
を特徴とする画像処理装置。
【請求項９】
複数の成分値で構成される画像データを復号する画像処理方法であって、
着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を復号する近傍一致情報復号工程と、
所定の複数の符号化済みの画素に基づいて、該近傍一致情報復号工程を適用するか否かを判定する第１の復号モード判定工程と、
前記近傍一致情報復号工程により復号された近傍一致情報から、着目画素が所定の複数の符号化済みの画素のいずれかと、複数成分の全てで一致するか否かを判定し、判定結果を出力する画素一致判定工程と、
前記近傍一致情報復号工程により復号された近傍一致情報に従って、複数の符号化済みの画素のいずれか一つの画素値を着目画素の復号値として選択する画素値選択工程と、
着目画素を構成する複数の成分値のそれぞれについて、符号化済みの同一成分値を参照して予測し、成分値予測符号化データから各成分値を復号する予測符号化データ復号工程とを具備し、
前記第１の復号モード判定工程により、近傍一致情報復号工程を適用すると判定された画素について、前記画素一致判定工程により一致する画素が存在すると判定された場合には、前記画素値選択工程により選択された画素値を着目画素の復号値として出力し、一致する画素が存在しないと判定された場合には、前記予測符号化データ復号工程により得られる各成分からなる画素値を着目画素の復号値として出力し、
前記第１の復号モード判定工程により、近傍一致情報復号工程を適用すると判定された画素について、前記予測符号化データ復号工程により得られる各成分からなる画素値を着目画素の復号値として出力すること
を特徴とする画像処理方法。
【請求項１０】
請求項７または９に記載の各工程をコンピュータに実行させる機能を有することを特徴とするコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化を行う画像符号化装置、及び、符号化データから画像の復号を行う画像復号装置、及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読媒体に関するものである。
【背景技術】
【０００２】
従来、画像の符号化、復号を行う画像処理装置を構成する一手法として予測符号化をベースとするものがある。予測符号化は、画像データを予測変換によって予測誤差へと変換する系列変換部と、系列変換部から出力される予測誤差を、ハフマン符号化等のエントロピー符号化を用いて、より冗長性の少ない符号化データへと変換するエントロピー符号化部とによって構成される。
【０００３】
ISOとITU−Tから国際標準の静止画像符号化方式として勧告されるJPEG（ITU-T  T.81  ｜  ISO/IEC１０９１８−１）ではIndependent  Functionとして予測符号化をベースとした可逆符号化方式が規定されている。以下、これをＪＰＥＧ可逆符号化モードと呼ぶ。ＪＰＥＧ可逆符号化モードでは、近傍画素から着目画素の値を予測する方法として７つの予測式を規定しており、画像に応じて予測方法を選択できるようになっている。
【０００４】
図２に従来の画像処理装置のブロック図を示す。同図は上述のＪＰＥＧ可逆符号化モードにより画像を可逆圧縮する装置の一例である。同図に於いて２０１はバッファ、２０２は成分値予測部、２０３は減算器、２０４はハフマンテーブル用メモリ、２０５は予測誤差符号化部、２０９は符号列形成部、２０６、２０７、２０８は信号線である。
【０００５】
ハフマンテーブル用メモリ２０４には予測誤差符号化部２０５において使用されるハフマンテーブルが格納される。ここでは、図６に示すハフマンテーブルが格納されているものとする。
【０００６】
同図を用いて従来の画像処理装置により、各成分が８ビットで表現されたＲＧＢカラー画像を符号化する処理の流れを説明する。
【０００７】
まず、信号線２０８から成分値予測部２０２において用いる予測方法を選択する予測選択信号ｍが入力される。予測選択信号ｍは０〜７までの整数値であり、それぞれに異なる予測式が対応付けられる。使用される予測式と予測選択信号ｍの対応は図４の通りである。なお、予測選択信号ｍが０の場合には予測式なしとなっているが、これは予測変換を行わず、各成分をそのまま符号化することを意味する。図中、の記号ｐ、ａ、ｂ、ｃについては後述する。
【０００８】
次に、信号線２０６から画像データが順に入力される。画素データの入力順序はラスタースキャン順とし、各画素でＲ、Ｇ、Ｂの順番で成分データが入力されるものとする。Ｒ、Ｇ、Ｂをそれぞれ成分番号０、１、２と定義し、画像の左上隅を座標（０，０）として水平方向画素位置ｘ、垂直方向画素位置ｙにある画素の成分番号Ｃの値をＰ（ｘ，ｙ，Ｃ）と表すこととする。例えば、位置（ｘ、ｙ）＝（３，４）である画素が（Ｒ，Ｇ，Ｂ）＝（２５５，１２８，０）という値を持つ場合、Ｐ（３，４，０）＝２５５、Ｐ（３，４，１）＝１２８、Ｐ（３，４，２）＝０と表現する。
【０００９】
バッファ２０１は信号線２０６から入力される画像データを２ライン分格納する。
【００１０】
成分値予測部２０２はバッファ２０１から着目する画素の成分値ｘ＝Ｐ（ｘ，ｙ，Ｃ）について直前の画素の同一成分の値ａ＝Ｐ（ｘ−１，ｙ，Ｃ）、１ライン前の画素の同一成分の値ｂ＝Ｐ（ｘ，ｙ−１、Ｃ）、および斜め左上の画素の同一成分の値ｃ＝Ｐ（ｘ−１，ｙ−１，Ｃ）を取り出し、予測方式選択信号ｍに従って予測値ｐを生成する。着目する画素の成分値ｘとａ、ｂ、ｃの位置関係を図３に示す。なお、ａ、ｂ、ｃが画像の外側となる場合には０とする。
【００１１】
減算器２０３は符号化対象となる成分値ｘと予測値ｐとの差分値を求め、予測誤差ｅとして出力する。
【００１２】
予測誤差符号化部２０５は、まず、減算器２０３から入力される予測誤差ｅを複数のグループに分類して、グループ番号ＳＳＳＳと、グループごとに定められるビット長の付加ビットを生成する。図５に予測誤差ｅとグループ番号ＳＳＳＳの関係を示す。付加ビットはグループ内で予測誤差を特定するための情報であり、ビット長はグループ番号SSSSで与えられる。
【００１３】
なお、ＳＳＳＳ＝１６である場合には例外的にビット長は０である（但し、各成分の精度が８ビットである場合にはＳＳＳＳ＝１６は発生しない）。予測誤差ｅが正であるならば予測誤差ｅの下位ＳＳＳＳビットが付加ビットとなり、負である場合にはｅ−１の下位ＳＳＳＳビットが付加ビットとなる。付加ビットの最上位ビットは予測誤差ｅが正であれば１、負であれば０でなる。
【００１４】
符号化処理は、まず、メモリ２０４に格納されているハフマンテーブルを参照して、グループ番号SSSSに対応する符号化データを出力し、ＳＳＳＳが０または１６でない場合には続いてグループ番号により定まるビット長で付加ビットを出力するという順序で行われる。
【００１５】
符号列形成部２０９は信号線２０８を介して入力される予測選択信号ｍや、画像の水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、予測誤差符号化部２０５から出力される符号化データから、ＪＰＥＧの規格書に準拠したフォーマットの符号列を形成し、信号線２０７に出力する。
【００１６】
上述の従来方式による画像処理装置で、ＣＧ画像や限定色画像等、各成分の輝度の頻度分布に偏りのある様な画像データを符号化する場合には、上述した系列変換後の予測誤差の発生頻度も、いくつかの特定の予測誤差値に偏ったものとなることがある。
【００１７】
このような場合、エントロピー符号化による符号長として短い符号長が割り当てられているにも関わらず、殆どもしくは全く発生しない予測誤差が存在することがあり、圧縮率が良くならない。
【００１８】
このような問題に対して従来から、予測誤差の発生頻度分布が離散的かどうか判別し、判別の結果に応じて予測誤差に対応する符号化データを変更してエントロピー符号化する手法（例えば特許文献１を参照）や、符号化対象画像が離散的な画素値で構成されているかどうか判別し、判別の結果に応じて予測値を修正する手法（例えば特許文献２を参照）などが開示されている。
【００１９】
また、画素毎の符号化において、近傍の画素との一致情報を符号化する方法（例えば特許文献３を参照）が知られている。
【特許文献１】特開平１０−００４５５１号公報
【特許文献２】特開平１０−００４５５７号公報
【特許文献３】特開平１０−３３６４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
特許文献１或いは特許文献２においては、各画素の成分値の発生状況、あるいは予測誤差の発生状況を把握する必要があり、処理の負荷が増えることや、ハフマン符号のようなブロック符号を用いて各成分を予測符号化した場合、少なくとも１成分当たり１ビットが必要であるため、文字、線画、CG画像などエントロピの低い画像データでは符号化効率の面でもなお改善の余地がある。
【００２１】
本願発明は、上述の問題点に鑑みてなされたものであり、ＣＧ画像や、限定色画像などに見られる様な頻度分布に偏りのある画像データに対しても効率良く符号化する画像符号化手法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００２３】
即ち、複数成分で構成される画像データを符号化する画像処理装置であって、着目画素を所定の複数の符号化済みの画素と画素単位に比較し、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定手段と、着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化手段と、所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化手段を適用するか否かを判定する第１の符号化モード判定手段と、着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分の値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化手段とを具備し、前記第１の符号化モード判定手段により、近傍一致情報符号化手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化手段により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、前記第１の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力することを特徴とする。
【発明の効果】
【００２４】
以上、本発明の構成によれば、自然画像などの符号化性能をできるだけ保持したまま、ＣＧ画像や限定色画像等の、頻度分布に偏りのある画像データを符号化する場合にも高い圧縮性能を得ることができる。
【発明を実施するための最良の形態】
【００２５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２６】
［第１の実施形態］
図１４は本実施形態に係る画像処理装置の基本構成を示す図である。
【００２７】
１４０１はＣＰＵで、ＲＡＭ１４０２やＲＯＭ１４０３に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理、復号処理を実行する。
【００２８】
１４０２はＲＡＭで、外部記憶装置１４０７や記憶媒体ドライブ１４０８、若しくはＩ／Ｆ１４０９を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、ＣＰＵ１４０１が各種の処理を実行する際に使用するワークエリアも備える。
【００２９】
１４０３はＲＯＭで、ブートプログラムや本装置の設定プログラムやデータを格納する。
【００３０】
１４０４、１４０５は夫々キーボード、マウスで、ＣＰＵ１４０１に対して各種の指示を入力することができる。
【００３１】
１４０６は表示装置で、ＣＲＴや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。
【００３２】
１４０７は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにＯＳや後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象画像の符号化データなどが保存されており、ＣＰＵ１４０１による制御によって、これらのプログラムやデータはＲＡＭ１４０２上の所定のエリアにロードされる。
【００３３】
１４０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出してＲＡＭ１４０２や外部記憶装置１４０７に出力するものである。なお、この記憶媒体に後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象の画像の符号化データなどを記録しておいても良く、その場合、記憶媒体ドライブ１４０８は、ＣＰＵ１４０１による制御によって、これらのプログラムやデータをＲＡＭ１４０２上の所定のエリアにロードする。
【００３４】
１４０９はＩ／Ｆで、このＩ／Ｆ１４０９によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えは符号化対象の画像データや、復号対象の画像の符号化データなどを本装置のＲＡＭ１４０２や外部記憶装置１４０７、あるいは記憶媒体ドライブ１４０８に入力することもできる。
【００３５】
１４１０は上述の各部を繋ぐバスである。
【００３６】
図１は本実施形態に係る画像処理装置の機能構成を示すブロック図である。
【００３７】
図１に示すように、本実施形態に係る画像処理装置は、近傍一致判定部１０１、一致画素位置符号化部１０２、符号生成部１０３、符号形成部１０４、バッファ２０１、成分値予測部２０２、減算器２０３、メモリ２０４、予測誤差符号化部２０５、画素一致検出部１０７とを備える。同図において２０６、２０７、１０５、１０６、１０８は信号線を示す。背景技術の部分で述べた図２の従来の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、本実施形態では図１に示す各部を、各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとして説明するが、図１に示す構成をハードウェアにより実現しても良い。
【００３８】
以下、図１を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
【００３９】
本実施形態に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント（色成分）8ビットで０〜２５５の範囲の輝度値を表現した画素データにより構成されるものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR、G、Bの順番でデータを並べて構成されるものとする。また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。
【００４０】
次に、本実施形態の画像処理装置での各部の動作について説明する。
【００４１】
符号化対象画像データは信号線２０６から順に入力される。画素データの入力順序はラスタースキャン順とし、各画素でＲ、Ｇ、Ｂの順番で成分データが入力されるものとする。画素の各成分の輝度値は、従来技術の説明と同じく、Ｒ、Ｇ、Ｂをそれぞれ成分番号０、１、２と定義し、画像の左上隅を座標（０，０）として水平方向画素位置ｘ、垂直方向画素位置ｙにある画素の成分番号Ｃの値をＰ（ｘ，ｙ，Ｃ）と表す。例えば、水平方向画素位置１０、垂直方向画素位置２５の画素のR、G、B各成分の値はそれぞれＰ（１０，２５，０）、Ｐ（１０，２５，１）、Ｐ（１０，２５，２）と表す。また、成分のまとまりとして画素値を表現する場合にはＲ、Ｇ、Ｂの各成分値を要素とするベクトルXとして表現する。例えば、Ｒ、Ｇ、Ｂ各成分の値がｒ、ｇ、ｂである画素についてはX=(r,g,b)と記述する。
【００４２】
本画像処理装置では信号線２０６から順次入力される画像データの１画素ごとに、符号列形成部１０４から対応する符号が出力される。
【００４３】
バッファ２０１は画像データを２ライン分格納する領域を持ち、信号線２０６から入力される画像データを順次格納していく。先に述べたように、画像データは各画素がラスター順に、そして各画素ではＲ、Ｇ、Ｂの順番で成分値が入力されるが、バッファ２０１からは、図３のａ、ｂ、ｃに示す周囲３画素の同一成分値が読み出され、近傍一致判定部１０１、成分値予測部２０２へと出力される。着目する成分値をＰ（ｘ，ｙ，Ｃ）とするときａ＝Ｐ（ｘ−１，ｙ，Ｃ）、ｂ＝Ｐ（ｘ，ｙ−１、Ｃ）、ｃ＝Ｐ（ｘ−１，ｙ−１，Ｃ）である。なお、画像の最初のラインや各ラインの先頭／末尾などで、ａ、ｂ、ｃが画像の外側となる場合には符号化側と復号側で共通の値を仮定する。本実施形態では０とする。
【００４４】
近傍一致判定部１０１は着目する成分値ｘ＝Ｐ（ｘ，ｙ，Ｃ）とバッファ２０１から読み出されるａ、ｂ、ｃを比較して、同一画素値を持つ近傍画素の情報を画素単位に生成し、出力する。ここで同一画素値であるとは、すなわち、２つの画素X１＝（ｒ１、ｇ１、ｂ１）とX２＝（ｒ２、ｇ２、ｂ２）で表される画素の２つがあるとするとｒ１＝ｒ２、ｇ１＝ｇ２、ｂ１＝ｂ２というように全ての成分値が同じである場合をさす。着目する画素値をXとして直前の画素値をXa、１ライン前の画素値をXb、斜め左上の画素値をXcとするとき、X=Xaである場合には“０”、X≠XaかつX=Xbである場合には“１”、X≠Xa、かつ、X≠Xb、かつX=Xcである場合には“２”、それ以外の場合には“３”を近傍画素一致情報として信号線１０６から出力する。なお、着目する画素の位置を（ｘ、ｙ）とし、これを用いてＸ、Ｘａ、Ｘｂ、Ｘｃを表現すると以下の通りである。
【００４５】
Ｘ＝（Ｐ（ｘ，ｙ，０）、Ｐ（ｘ，ｙ，１）、Ｐ（ｘ，ｙ，２））
Ｘａ＝（Ｐ（ｘ−１、ｙ、０）、Ｐ（ｘ−１，ｙ，１）、Ｐ（ｘ−１、ｙ、２））
Ｘｂ＝（Ｐ（ｘ、ｙ−１，０）、Ｐ（ｘ，ｙ−１，１），Ｐ（ｘ，ｙ−１，２））
Ｘｃ＝（Ｐ（ｘ−１，ｙ−１，０）、Ｐ（ｘ−１，ｙ−１，１）、Ｐ（ｘ−１，ｙ−１，２））
一方、信号線１０５からは周囲３画素に一致する画素が存在するか否かを表す情報を出力する。信号線１０６から出力される近傍画素一致情報が“３”である場合、すなわち、着目画素Ｘが周囲３画素Ｘａ、Ｘｂ、Ｘｃのいずれとも一致していない場合には信号線１０５から“１”を出力し、それ以外の場合、すなわち、Ｘａ、Ｘｂ、Ｘｃの少なくとも何れか1つと一致する場合には信号線１０５から“０”を出力する。
【００４６】
一致画素位置符号化部１０２では、信号線１０６から入力される近傍画素一致情報を符号化し、符号語を符号生成部１０３へと出力する。本実施形態では図7に示す符号表を用いて近傍一致情報の符号化を行うものとする。
【００４７】
画素一致検出部１０７はバッファ２０１から読み出されるａ、ｂ、ｃを比較して、着目画素の周囲３画素（Ｘａ、Ｘｂ、Ｘｃ）の間で同一の画素値が存在するか否かを調べ、同一の画素値が検出された場合には“１”を、検出されなかった場合には“０”を出力する。即ち、Ｘａ＝Ｘｂ、または、Ｘａ＝Ｘｃ、または、Ｘｂ＝Ｘｃであった場合には“１”、それ以外に場合には“０”を出力する。周囲３画素内に同一の画素値が存在するということは、即ち、周囲３画素を構成する色数が２色以下であることを意味する。
【００４８】
一方、画素の各成分は先に説明した従来方式と同様にして、成分値予測部２０２、減算器２０３、予測誤差符号化部２０５によって、信号線２０８から入力される予測選択信号ｍに応じた予測方式を用いた予測符号化が行われる。
【００４９】
符号生成部１０３では一致画素位置符号化部１０２から出力される近傍画素一致情報に対する符号語と、予測誤差符号化部２０５から出力される着目画素の各成分の予測符号化データを適宜格納し、信号線１０５から入力される制御信号と、信号線１０８から入力される検出結果に応じて着目画素に対する符号を形成し、出力する。信号線１０８から入力される検出結果が“０”である場合には、予測誤差符号化部２０５から出力される各成分の予測符号化データを出力する。信号線１０８から入力される検出結果が“１”である場合には、信号線１０５から入力される制御信号が“０”ならば一致画素位置符号化部１０２から出力される近傍画素一致情報のみを出力し、制御信号が“１”ならば一致画素位置符号化部１０２から出力される近傍画素一致情報に続けて予測誤差符号化部２０５から出力される各成分の予測符号化データを出力する。図８（ａ）に検出結果が“０”である場合、（ｂ）に検出結果が“１”で制御信号が“０”である場合、（ｃ）に検出結果が“１”で制御信号も“１”である場合の着目画素の符号の構成を図示する。
【００５０】
符号列形成部１０４では信号線２０８を介して入力される予測選択信号ｍや、画像の水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、符号生成部１０３から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線２０７に出力する。図９に符号列形成部１０４から出力される符号列の構成の一例を示す。先頭のＨｅａｄｅｒ部分に付加情報が格納され、続いてラスタースキャン順の各画素の符号化データが並ぶ。同図の画素符号化データは図８（ａ）または（ｂ）または（ｃ）の構造を持つ。
【００５１】
図１０は、本実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。なお同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図１０に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。
【００５２】
まず、装置外部から信号線２０８を介して予測選択信号ｍが入力される（ステップＳ１０００）。続いて符号列形成部１０４において、予測選択信号ｍなど、符号化対象画像の付加情報を含めたヘッダが生成され、出力される（ステップＳ１００１）。着目する画素の垂直方向位置を保持するカウンタｙを0に設定し（ステップＳ１００２）、さらに着目する画素の水平方向位置を保持するカウンタｘを0に設定する（ステップＳ１００３）。同様に着目する成分番号を保持するカウンタＣを0に設定する（ステップ１００４）。信号線２０６から着目画素の成分値Ｐ（ｘ，ｙ，Ｃ）が入力され、バッファ２０１に格納される。成分値Ｐ（ｘ，ｙ，Ｃ）は成分値予測部２０２、減算器２０３、予測誤差符号化部２０５により予測符号化されると同時に、近傍一致判定部１０１において周囲画素の同一成分値との比較が行われる（ステップＳ１００５）。
【００５３】
着目する成分番号Ｃに１を加え（ステップＳ１００６）、ＲＧＢ画像の色成分の数である３と比較してＣ＜３であればステップＳ１００５に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップＳ１０１４へと処理を移す。
【００５４】
ステップＳ１０１４では画素一致検出部１０７により周辺３画素間で同一の画素値が存在するか否かを判定し、存在する場合（ＹＥＳ）にはステップＳ１００８へ、存在しない場合（ＮＯ）にはステップＳ１００９へと処理を移す。
【００５５】
ステップＳ１００８では近傍一致判定部１０１から近傍一致情報が出力され、一致画素位置符号化部１０２でこれを符号化する。ステップＳ１００９では、符号生成部１０３により信号線１０５からの制御信号と信号線１０８からの検出結果に従って着目する画素についての符号を形成し、符号列形成部１０４を介して出力する（ステップＳ１００９）。
【００５６】
着目する画素の水平方向位置を保持するカウンタｘに１を加え（ステップＳ１０１０）、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば処理をステップＳ１００４へと戻し、次の画素の符号化処理を行い、そうでない場合にはステップＳ１０１２へと処理を移す。
【００５７】
ステップＳ１０１２では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば処理をステップＳ１００３へと戻し、次のラインの画素について同様に処理を行い、そうでない場合には対象とする画像データについての符号化処理を終了する。
【００５８】
以上の説明のように、本実施形態に係る画像処理装置では、符号化対象の画素Ｘの周囲にある符号化済みの画素Ｘａ、Ｘｂ、Ｘｃを調べ、Ｘａ、Ｘｂ、Ｘｃに同一の画素値が存在する場合には、画素Ｘと、画素Xa、Xb、Xcとの一致／不一致を示す近傍一致情報を符号化し、一致する画素がなかった場合に着目画素の各成分を予測符号化することで、文字、線画、ＣＧ画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を大幅に改善することができる。
【００５９】
また、Ｘａ、Ｘｂ、Ｘｃに同一の画素値が存在しなかった場合には、一致／不一致情報の符号化を行わずに、着目画素の各成分を予測符号化することで、自然画像など、周囲画素値との一致確率の低い画像データを符号化する場合においても近傍一致情報を符号化することによる符号量の増加を避けることができる。近傍一致情報の符号化を適用するか否かを画素単位に切り替えているので、文字、写真などが混在する画像に対して良好な圧縮性能をえることができる。
【００６０】
［第２の実施形態］
第１の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。本発明の第２の実施形態として、第１の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。
【００６１】
本実施形態の画像処理装置においても基本構成は第１の実施形態で説明した図１４と同じであるとする。
【００６２】
図１１は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。図１１に示すように、本実施形態に係る画像処理装置は、符号バッファ１１０１、ヘッダ解析部１１０２、一致画素位置復号部１１０３、予測誤差復号部１１０４、セレクタ１１０５、スイッチ１１０６、バッファ２０１、成分値予測部２０２、加算器１１１１、画素一致検出部１０７とを備える。同図において１１０７、１１０８、１１０９、１１１０、１１１２は信号線である。従来の画像処理装置、および第１の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、図１１に示す構成はハードウェアにより実現しても良いが、本実施形態では図１１に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図１４の外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとする。
【００６３】
以下、図１１を参照して、本実施形態に係る画像処理装置が行う処理について説明する。
【００６４】
信号線１１０７を介して復号対象となる符号化データが本画像処理装置に入力される。
【００６５】
符号バッファ１１０１は信号線１１０７から入力される符号化データを適宜内部バッファに格納する。
【００６６】
ヘッダ解析部１１０２は符号バッファ１１０１に格納される符号化データのヘッダ部分を解析し、予測選択信号ｍや、画像の水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報を得る。これら付加情報は復号の過程で利用されるとするが、特に、予測選択信号ｍは成分値予測部２０２へと出力される。
【００６７】
画素一致検出部１０７は第１の実施形態と同様にして、着目画素の周囲３画素（Xa、Xb、Xc）内に同一の画素値が存在するか否かを調べ、検出結果を信号線１１１２へと出力する。
【００６８】
一致画素位置復号部１１０３では、信号線１１１２から入力される画素一致検出部１０７での検出結果が“１”である場合に、各画素の符号化データについて、図７に示す符号語と近傍一致情報との対応を参照して、近傍一致情報の復号を行う。復号した近傍一致情報は信号線１１０９を介してセレクタ１１０５へと入力される。
【００６９】
また、復号した近傍一致情報が“３”である場合、信号線１１０８から予測誤差復号部１１０４、スイッチ１１０６を制御する信号として“１”を出力し、それ以外の場合には“０”を出力する。一方、信号線１１１２から入力される検出結果が“０”である場合には、近傍一致情報の符号化は行わず、信号線１１０８から制御信号“１”を出力する。
【００７０】
予測誤差復号部１１０４は、一致画素位置復号部１１０３からの制御信号が“１”である場合に、ハフマンテーブル用メモリ２０４に格納されるハフマンテーブルを参照して、着目する画素の各成分の予測誤差を復号する。
【００７１】
成分値予測部２０２では符号化時と同様にして、予測方式選択信号ｍによって選択された予測式を用いて着目する成分値に対する予測値ｐを生成し、出力する。
【００７２】
加算器１１１１は成分値予測部２０２から出力される予測値ｐに予測誤差復号部１１０４で復号した予測誤差ｅを加え、着目する成分値を復元して出力する。
【００７３】
セレクタ１１０５は一致画素位置復号部１１０３から信号線１１０９を介して入力される近傍一致情報に従って、バッファ２０１から読み出される着目画素Xの周囲画素Xa、Xb、Xcの各成分値の何れかを選択して出力する。近傍一致情報が“０”である場合には、Xaの各成分値を選択し、“１”である場合にはXbの、“２”である場合にはXcの各成分値を選択して出力する。なお、近傍一致情報が“３”である場合にはセレクタ１１０５からの出力は無効である。
【００７４】
スイッチ１１０６は一致画素位置復号部１１０３から信号線１１０８を介して入力される制御信号に応じて信号線１１１０を端子ａか端子ｂに接続する。制御信号が“１”である場合には端子ａに接続し、“０”である場合には端子ｂに接続する。
【００７５】
信号線１１１０から復号された各画素の各成分の値が出力されるが、これらはバッファ２０１にも格納され、以降の画素の復号において周囲の画素値として利用される。
【００７６】
図１２は、本実施形態に係る画像処理装置による復号処理の流れを示すフローチャートである。なお同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図１２に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う復号処理の全体的な流れについて説明する。
【００７７】
信号線１１０７から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部１１０２で符号化データのヘッダを解析して復号に必要な付加情報を取り出す（ステップＳ１２０１）。着目する画素の垂直方向位置を保持するカウンタｙを０に設定し（ステップＳ１２０２）、同水平方向位置を保持するカウンタｘを０に設定する（ステップＳ１２０３）。
【００７８】
さらに、着目する成分番号を保持するカウンタＣを０に設定する（ステップＳ１２０４）。各画素の復号では、まず、画素一致検出部１０７において周辺３画素間で同一の画素値が存在するか否かを判定し、存在する場合（ＹＥＳ）にはステップＳ１２０５へ、存在しない場合（ＮＯ）にはステップＳ１２１６へと処理を移す（ステップS１２１５）。
【００７９】
ステップS１２０５では一致画素位置復号部１１０３により近傍一致情報が復号されて信号線１１０９から出力されるとともに、予測誤差復号部１１０４とスイッチ１１０６を制御する制御信号が信号線１１０８から出力される。近傍一致情報が“３”であるかを判定し（ステップＳ１２０６）、ＹＥＳならばステップＳ１２０７へ、ＮＯならばステップ１２０８へと処理を移す。
【００８０】
ＹＥＳの場合（このとき信号線１１０８の制御信号は“１”）、スイッチ１１０６が端子ａに接続され、成分値予測部２０２、予測誤差復号部１１０４、加算器１１１１により着目する成分値Ｐ（ｘ，ｙ，Ｃ）が復号される（ステップＳ１２０７）。一方、ＮＯである場合（このとき信号線１１０８の制御信号は“０”）、スイッチ１１０６が端子ｂに接続され、一致画素位置復号部１１０３で復号した近傍一致情報に基づいてバッファ２０１から読み出される周辺画素の何れか１つの成分値をセレクタ１１０５で選択し、これを着目する画素の成分値Ｐ（ｘ，ｙ，Ｃ）として出力する（ステップＳ１２０８）。
【００８１】
ステップ１２０７、あるいはステップ１２０８で出力される成分値Ｐ（ｘ，ｙ，Ｃ）は信号線１１１０から装置外部へと出力されるとともに、バッファ２０１に格納される。ステップＳ１２０９では着目する成分番号を保持するカウンタＣに１を加え、ＲＧＢ画像の色成分の数である３と比較してＣ＜３であればステップＳ１２０６に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップＳ１２１１へと処理を移す。
【００８２】
一方、ステップＳ１２１５の分岐によりステップＳ１２１６へと処理が移された場合、画素一致検出部１０７から出力される検出結果は“０”、一致画素位置復号部１１０３から出力される制御信号は“１”となり、スイッチ１１０６が端子ａに接続され、成分値予測部２０２、予測誤差復号部１１０４、加算器１１１１により着目する成分値Ｐ（ｘ，ｙ，０）が復号される（ステップＳ１２１６）。
【００８３】
続いて同様に成分値予測部２０２、予測誤差復号部１１０４、加算器１１１１により成分値Ｐ（ｘ，ｙ，１）が復号され（ステップＳ１２１７）、さらに成分値Ｐ（ｘ，ｙ，２）が復号される（ステップＳ１２１８）。ステップＳ１２１１では着目する画素の水平方向位置を保持するカウンタｘに１を加え、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば処理をステップＳ１２０４へと戻し、次の画素の復号処理を行い、そうでない場合にはステップＳ１２１３へと処理を移す。
【００８４】
ステップＳ１２１３では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば処理をステップＳ１２０３へと戻し、次のラインの各画素について同様に処理を行い、そうでない場合には対象とする符号化データの復号処理を終了する。
【００８５】
以上の動作により、符号化データから完全に元の画像データを復元することができる。
【００８６】
［第３の実施形態］
第１の実施形態の画像処理装置では、単一の符号表を用いて近傍一致情報を符号化する構成とした。この構成は、簡易である反面、冗長性が残る。また、周囲の色数が少ない場合には着目画素値と周囲画素値のいずれかが同一である可能性も高く、反対に色数が多い場合には低くなる傾向が見られる。
【００８７】
そこで、第３の実施形態として、周囲画素の色数に応じて適応的に近傍一致情報を符号化するか否かを切り替え、さらに色数に応じて近傍一致情報の符号化方法を変更することにより、符号の冗長性を除き、さらに圧縮効率を高めることを目指した方法について説明する。
【００８８】
本実施形態の画像処理装置においても基本構成は第１の実施形態で説明した図１４と同じであるとする。
【００８９】
図１３は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。図１３に示すように、本実施形態に係る画像処理装置は、色数判定部１３０１、近傍一致判定部１３０２、一致画素位置符号化部１３０３、予測誤差符号化部１３０４、符号生成部１３０５、バッファ２０１、成分値予測部２０２、減算器２０３とを備える。同図において１０５、１０６、２０６、２０７は信号線である。
【００９０】
従来の画像処理装置、および第１の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、図１３に示す構成はハードウェアにより実現しても良いが、本実施形態では図１３に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図１４の外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとする。
【００９１】
以下、図１３を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。 
本実施形態に係る画像処理装置の符号化対象とする画像データは、第１の実施形態と同じく、RGBカラー画像データであり、各コンポーネント（色成分）8ビットで０〜２５５の範囲の輝度値を表現した画素データにより構成されるものとする。
【００９２】
符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR、G、Bの順番でデータを並べて構成されるものとする。また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。
【００９３】
次に、本実施形態の画像処理装置での各部の動作について説明する。第１の実施形態の画像処理装置では装置外部から成分値予測部２０２で使用する予測方式を選択する予測選択信号ｍが入力され、これによって予測方式が切り替わる構成としたが、本実施形態の画像処理装置では、成分値予測部で用いる予測方式は固定であるとし、成分値予測部２０２には常に予測選択信号ｍ＝４が入力されているものとする。
【００９４】
色数判定部１３０１は着目する画素Xの各成分について、バッファ２０１から図３のａ、ｂ、ｃ、ｄに示す周囲４画素の同一成分値を読み出し、画素Xa、Xb、Xc、Xdを得る。着目する画素の位置を（ｘ、ｙ）とし、これを用いてXdを表現すると以下の通りである。
【００９５】
Ｘｄ＝（Ｐ（ｘ＋１，ｙ−１，０）、Ｐ（ｘ＋１，ｙ−１，１）、Ｐ（ｘ＋１，ｙ−１，２））
このXa、Xb、Xc、Xdが何種類の色で構成されているかを検出して、その色数Ｎｃを出力する。具体的には４画素から２画素を取り出す６通りの組み合わせについて、取り出した２画素が同一である数をカウントし、０であれば４色、１であれば３色、２か３であれば２色、６であれば１色と判断し、その色数Ncを出力する。
【００９６】
近傍一致判定部１３０２は着目画素Xと同一の画素がその周囲４画素（Ｘａ，Ｘｂ，Ｘｃ，Ｘｄ）に存在するか否かを表す情報を生成し、出力する。第１の実施形態で説明した近傍一致判定部１０１ではＸｄを使用していなかったが、本実施形態では周囲４画素との比較を行う。近傍一致判定部１３０２から信号線１０６へと出力される近傍一致情報は、色数判定部１３０１から出力される色数Ｎｃに依存する。
【００９７】
それぞれの色数Ｎｃの場合に分けて近傍一致判定部１３０２の処理を説明する。まず、色数Ｎｃが４である場合、即ち、Ｘａ、Ｘｂ、Ｘｃ、Ｘｄが全て異なる画素値である場合には近傍一致判定部から出力される近傍一致情報はＸａ〜Ｘｄとの一致不一致によらず、“４”となる。
【００９８】
色数Ｎｃが１の場合、すなわちＸａ〜Ｘｄが同一の画素値である場合にはＸとＸａを比較してX=Xaならば“０”、X≠Xaならば“１”を出力する。色数Ｎｃが２の場合、すなわち、Ｘａ〜Ｘｄが２つの画素値で構成されている場合、Ｘａ、Ｘｂ、Ｘｃ、Ｘｄの順番で第１の画素値（色）Ｘ１と第２の画素値Ｘ２を求め、Ｘ＝Ｘ１ならば“０”、Ｘ＝Ｘ２ならば“１”、Ｘ≠Ｘ１かつＸ≠Ｘ２ならば“２”を近傍一致情報として出力する。Ｘａ、Ｘｂ、Ｘｃ、Ｘｄの順番で見た場合、第１の画素Ｘ１はＸａである。
【００９９】
また、第２の画素値はＸａと異なる値を持つＸｂ、Ｘｃ、Ｘｄのいずれかである。色数Ｎｃが３の場合、すなわち、Ｘａ〜Ｘｄが３つの画素値で構成されている場合、Ｘａ、Ｘｂ、Ｘｃ、Ｘｄの順番で第１の画素値Ｘ１、第２の画素値Ｘ２、第３の画素値Ｘ３を求め、Ｘ＝Ｘ１ならば“０”、Ｘ＝Ｘ２ならば“１”、Ｘ＝Ｘ３ならば“２”、Ｘ≠Ｘ１かつＸ≠Ｘ２かつＸ≠Ｘ３ならば“３”を近傍一致情報として出力する。
【０１００】
一方、信号線１０５からは周囲４画素に一致する画素が存在するか否かを表す情報を出力する。信号線１０６から出力される近傍画素一致情報と色数判定部１３０１から得られる色数Ｎｃとを比較し、近傍一致情報が色数Ｎｃと等しい場合には信号線１０５から“１”を出力し、それ以外の場合には“０”を出力する。
【０１０１】
従って、色数Ｎｃが４である場合には常に“１”となる。また、色数Ｎｃが４以外の場合には、着目画素Ｘが周囲４画素Ｘａ、Ｘｂ、Ｘｃ、Ｘｄのいずれとも一致していないならば“１”、少なくとも何れか１つの一致する場合には“０”を出力する。
【０１０２】
一致画素位置符号化部１３０３では、信号線１０６から入力される近傍画素一致情報を符号化し、符号語を符号生成部１３０５へと出力する。本実施形態では色数判定部１３０１から出力される色数Ncによって図１５(a)、(b)、(c)の符号表を切り替えて使用する。色数Ncが4である場合には一致画素位置符号化部からの符号出力は行われない。
【０１０３】
一方、第１の実施形態と同様にして、画素の各成分は成分値予測部２０２、減算器２０３、予測誤差符号化部１３０４によって予測符号化される。本実施形態では予測選択信号ｍを固定値４として、全ての成分値に対してa+b-cの式により予測を行うこととする。第１の実施形態では予測符号化部２０５において図６の符号表を用いたハフマン符号化を行ったが、本実施形態ではGolomb符号を用いる例について示す。
【０１０４】
Golomb符号は非負の整数値を符号化対象とし、パラメータ変数ｋによって異なる複数の確率モデルによる符号化が可能であるという特徴を持ち、また、符号化対象シンボルとパラメータ変数ｋから符号語を導出することができるため、符号表が不要という利点がある。
【０１０５】
Golomb符号の一形態がISOとITU-Tから国際標準勧告されるJPEG-LS（ISO/IEC  １４４９５−１｜ITU-T  Recommendation T.87）において予測誤差の符号化方式として採用されている。ここでは減算器２０３から出力される予測誤差eを次式により非負の整数値（Vとする）に変換した後に、これを選択したkパラメータでGolomb符号化する。
【０１０６】
|   ２×ｅ    (ｅ≧0の場合)
Ｖ  = |
|  −２×ｅ - 1  （ｅ<0の場合）
符号化対象の非負の整数値Vを符号化パラメータkでGolomb符号化する手順は次の通りである。まず、Vをkビット右シフトして整数値mを求める。Vに対する符号はm個の「0」に続く「1」（可変長部）とVの下位kビット（固定長部）の組み合わせにて構成する。図１６にk=0、1、2におけるGolomb符号の例を示しておく。
【０１０７】
ここに述べた符号の構成方法は一例であり、固定長部と可変長部の順序が逆にしても一意復号可能な符号を構成することができ、また、0と１を反対にして符号を構成することもできる。符号化パラメータｋの選択方法としては所定の単位で最適なｋパラメータの選択して符号列に含める方法など様々な手法が考えられるが、本実施形態ではJPEG-LSと同様の手法により符号化の過程で更新していく方法を用いる。
【０１０８】
以下、符号化パラメータｋの選択方法について述べる。予測誤差符号化部１３０４には符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C]（Cは成分番号であり、0〜２）とを備える。符号化の開始時点でカウンタNを１に、とカウンタA［0］〜A[2]を２に設定する。符号化対象の成分値ごとにN×２＾ｋがA［C］を超えない最大のｋを求め、これを用いて先に説明した手順にて予測誤差ｅをGolomb符号化し、符号語を出力する。
【０１０９】
近傍一致判定部１３０２から信号線１０５を介して入力される制御信号が“１”である場合には、各成分の符号化処理後にＡ［Ｃ］に予測誤差の絶対値｜ｅ｜を加算して更新する。またこの場合、全成分の符号化処理後にＮに１を加えて更新する。なお、Ａ［Ｃ］とＮを所定の範囲内に限定するためにはＮが一定値（例えば３２）に達したタイミングでＡ［Ｃ］とＮを１／２にするといった処理を適用すれば良い。
【０１１０】
符号生成部１３０５では信号線１０５から入力される制御信号に従って、一致画素位置符号化部１３０３から出力される符号語と予測誤差符号化部１３０４から出力される各成分の予測符号化データから着目する画素に対する符号化データを生成する。信号線１０５からの制御信号が“０”である場合には図８（ｂ）のように一致画素位置符号化部１３０３から出力される符号語のみを着目画素の符号化データとする。
【０１１１】
一方、制御信号が“１”である場合には同図（ｃ）のように一致画素位置符号化部１３０３から出力される符号語に、予測誤差符号化部１３０４から出力される各成分値の予測符号化データを連結させて着目画素の符号化データとする。
【０１１２】
なお、色数判定部１３０１により検出された色数Ｎｃが４であった場合には一致画素位置符号化部１３０３から出力される符号語は無い（即ち、近傍一致情報の符号語長は0である）という点に注意する。
【０１１３】
符号列形成部１０４では予測選択信号ｍや、画像の水平方向／垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、符号生成部１３０５から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線２０７に出力する。本実施形態においても第１の実施形態と同様に図９に示す構成の符号列を生成することができる。なお、本実施形態の画像処理装置では予測選択信号ｍを固定値としているのでヘッダから除くこともできる。
【０１１４】
本実施形態の画像処理装置においても第１の実施形態おける符号化処理の流れとして示した図１０のフローチャートとほぼ同様の流れにより符号化処理が行われる。特に異なる点としてはステップS1000に示した予測選択信号ｍの入力が不要となり、ステップS1008の近傍一致情報の符号化の前に色数判定部１３０１により色数Nｃを求める処理が必要となる点である。
【０１１５】
なお、同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図１０に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。
【０１１６】
本実施形態では予測選択信号ｍを固定としているので、ステップＳ１０００に示した予測選択信号ｍを入力するステップはスキップされる。まず、符号列形成部１０４において、符号化対象画像の付加情報を含めたヘッダが生成され、出力される（ステップＳ１００１）。着目する画素の垂直方向位置を保持するカウンタｙを0に設定し（ステップＳ１００２）、さらに着目する画素の水平方向位置を保持するカウンタｘを0に設定する（ステップＳ１００３）。
【０１１７】
同様に着目する成分番号を保持するカウンタＣを0に設定する（ステップ１００４）。信号線２０６から着目画素の成分値Ｐ（ｘ，ｙ，Ｃ）が入力され、バッファ２０１に格納される。成分値Ｐ（ｘ，ｙ，Ｃ）は成分値予測部２０２、減算器２０３、予測誤差符号化部１３０４により予測符号化されると同時に、近傍一致判定部１３０２において周囲画素の同一成分値との比較が行われる（ステップＳ１００５）。
【０１１８】
着目する成分番号Ｃに１を加え（ステップＳ１００６）、ＲＧＢ画像の色成分の数である３と比較してＣ＜３であればステップＳ１００５に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップＳ１００８へと処理を移す。
【０１１９】
着目画素について全ての成分が入力されると色数判定部１３０１において色数Ｎｃが求められ、これを用いて近傍一致判定部１３０２から近傍一致情報と制御信号が出力され、一致画素位置符号化部１３０３でこれを符号化する。
【０１２０】
但し、Ｎｃが４である場合には近傍一致情報の符号化は行われない（ステップＳ１００８）。一致画素位置符号化部１３０３から出力される近傍一致情報の符号語と、予測誤差符号化部１３０４から出力される各成分の予測符号化データを受け取ると符号生成部１３０５は信号線１０５からの制御信号に従って着目する画素についての符号を形成し、符号列形成部１０４を介して出力する（ステップＳ１００９）。
【０１２１】
着目する画素の水平方向位置を保持するカウンタｘに１を加え（ステップＳ１０１０）、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば処理をステップＳ１００４へと戻し、次の画素の符号化処理を行い、そうでない場合にはステップＳ１０１２へと処理を移す。
【０１２２】
ステップＳ１０１２では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば処理をステップＳ１００３へと戻し、次のラインの画素について同様に処理を行い、そうでない場合には対象とする画像データについての符号化処理を終了する。
【０１２３】
以上の説明のように、本実施形態に係る画像処理装置では、符号化対象となる画素Ｘの周囲にある符号化済みの画素Xa、Xb、Xc、Xdの色数に応じて近傍一致情報の符号化の有無、および、近傍一致情報の符号化における符号の割り当てを変更している。
【０１２４】
これにより、文字、線画、ＣＧ画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を更に向上させるとともに、自然画像など、着目画素の周囲に同じ色の画素が存在する可能性の低い画像データにおいても余分な付加を発生することなく、効率的な符号化を行うことができる。
【０１２５】
［第４の実施形態］
第３の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。本発明の第４の実施形態として、第３の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。
【０１２６】
本実施形態の画像処理装置においても基本構成は第１の実施形態で説明した図１４と同じであるとする。
【０１２７】
図１７は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。図１７に示すように、本実施形態に係る画像処理装置は、一致画素位置復号部１７０１、予測誤差復号部１７０２、セレクタ１７０３、色数判定部１３０１、符号バッファ１１０１、ヘッダ解析部１１０２、スイッチ１１０６、バッファ２０１、成分値予測部２０２、加算器１１１１とを備える。
【０１２８】
同図において１１０７、１１０８、１１０９、１１１０は信号線である。従来の画像処理装置、および第１から第３の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。
【０１２９】
なお、図１７に示す構成はハードウェアにより実現しても良いが、本実施形態ではこれまでの実施形態と同様に図１７に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図１４の外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとする。
【０１３０】
以下、図１７を参照して、本実施形態に係る画像処理装置が行う処理について、第２の実施形態で説明した画像処理装置との差異を説明する。
【０１３１】
第２の実施形態と同様に、復号対象となる符号化データが信号線１１０７を介して本画像処理装置に入力され、符号バッファ１１０１に適宜格納され、ヘッダ解析部１１０２により付加情報の取得が行われる。
【０１３２】
色数判定部１３０１では第３の実施形態で説明した処理により、色数Ncを求めて出力する。
【０１３３】
一致画素位置復号部１７０１では、色数判定部１３０１から出力される色数Ncが１から３である場合に、各画素の符号化データについて、まず、図１５に示す符号語と近傍一致情報との対応を参照して、近傍一致情報の復号を行う。復号に用いる符号表は色数Ncに応じて図１５（ａ）、（ｂ）、（ｃ）から一つを選択して用いる。
【０１３４】
復号した近傍一致情報は信号線１１０９を介してセレクタ１１０５へと入力される。また、復号した近傍一致情報と色数Ncを比較して、等しい場合には信号線１１０８から予測誤差復号部１７０２とスイッチ１１０６を制御する信号として“１”を出力し、異なる場合には“０”を出力する。
【０１３５】
一方、色数Ncが４である場合には信号線１１０８から制御信号“１”を出力し、近傍一致情報として“４”を信号線１１０９から出力する。
【０１３６】
予測誤差復号部１７０２は、一致画素位置復号部１１０３からの制御信号が“１”である場合に、第３の実施形態で説明した予測誤差符号化部１３０４の符号化処理と対をなす復号手順により着目する画素の各成分の予測誤差を復号する。
予測誤差復号部１７０２においても予測誤差符号化部１３０４と同様に符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C]（Cは成分番号であり、0〜２）とを備え、復号の開始時点でカウンタNを１に、とカウンタA［0］〜A[2]を２に設定する。
【０１３７】
着目画素の着目する成分値の復号においては符号化時と同様の方法により、NとA[0]〜A[2]から符号化時に用いたｋパラメータと同じ値を導出し、これを用いて非負の整数値Vを復号する。
【０１３８】
Golomb符号の復号は符号化と逆の手順で行われ、まず、復号開始点から「0」の連続数を調べ、整数値mに保持する。「0」の連続を終端させた「1」のすぐ後からkビット取り出し、mをkビット左シフトした後、取り出したkビットとのOR演算を行うことにより非負の整数値Vを復号する。この非負の整数値Vから以下の演算により予測誤差ｅを復号する。
【０１３９】
｜  −（V+1）／２    (Vが奇数の場合)
ｅ  = ｜
｜  V ／ ２          （Vが偶数の場合）
第２の実施形態と同様にして成分値予測部２０２で予測値ｐを生成し、加算器１１１１で着目する成分値を復元して出力する。各成分の復号後、カウンタＮ［Ｃ］に復号した予測誤差の絶対値｜ｅ｜を加算して更新し、着目する画素について全成分の復号が終了した時点でカウンタＮに１を加えて更新する。
【０１４０】
なお、Ａ［Ｃ］とＮを所定の範囲内に限定するためにはＮが一定値（例えば３２）に達したタイミングでＡ［Ｃ］とＮを１／２にするといった処理を適用すれば良い。但し、同じｋパラメータを得るためには、この処理は符号化側と復号側で共通に行わなければならない。
【０１４１】
セレクタ１７０３は一致画素位置復号部１７０１から信号線１１０９を介して入力される近傍一致情報に従って、バッファ２０１から読み出される着目画素Xの周囲画素Xa、Xb、Xc、Xｄの各成分値の何れかを選択して出力する。
【０１４２】
近傍一致情報が“０”である場合には、Xaの各成分値を選択し、“１”である場合にはXa、Xb、Xc、Xdの順番に見てＸａとは異なる第２の画素値（色）を持つ画素の各成分値を選択する。
【０１４３】
同様に“２”である場合にはＸａ、Ｘｂ、Ｘｃ、Ｘｄの順番で見て、第１の画素値（Ｘａ）および第２の画素値と異なる第３の画素値の各成分値を選択して出力する。
【０１４４】
なお、近傍一致情報が“３”、または“４”である場合にはセレクタ１７０３からの出力は無効である。この場合にはスイッチ１１０６が端子ａ側に接続されることになるのでセレクタ１７０３からの出力は何であっても良い。
【０１４５】
スイッチ１１０６は一致画素位置復号部１７０１から信号線１１０８を介して入力される制御信号に応じて信号線１１１０を端子ａか端子ｂに接続する。制御信号が“１”である場合には端子ａに接続し、“０”である場合には端子ｂに接続する。
【０１４６】
信号線１１１０から復号された各画素の各成分の値が出力されるが、これらはバッファ２０１にも格納され、以降の画素の復号において周囲の画素値として利用される。
【０１４７】
本実施形態の画像処理装置においても第２の実施形態の復号処理の流れとして説明した図１２のフローチャートとほぼ同様の流れにより復号処理が行われる。特に異なる点としては、ステップＳ１２０５の近傍一致情報の復号の前に色数判定部１３０１により色数Ｎｃを求める処理を追加し、Ｎｃに応じて近傍一致情報を復号すること、ステップＳ１２０６の判定において近傍一致情報とＮｃが等しいかどうかを判定することである。
【０１４８】
なお、同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図１２に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。
【０１４９】
信号線１１０７から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部１１０２で符号化データのヘッダを解析して復号に必要な付加情報を取り出す（ステップＳ１２０１）。
【０１５０】
着目する画素の垂直方向位置を保持するカウンタｙを０に設定し（ステップＳ１２０２）、同水平方向位置を保持するカウンタｘを０に設定する（ステップＳ１２０３）。さらに、着目する成分番号を保持するカウンタＣを０に設定する（ステップＳ１２０４）。
【０１５１】
各画素の復号では、まず、色数判定部１３０１により周囲画素の色数Ｎｃを求め、Ｎｃの値に応じて一致画素位置復号部１７０１により近傍一致情報が復号されて信号線１１０９から出力されるとともに、予測誤差復号部１７０２とスイッチ１１０６を制御する制御信号が信号線１１０８から出力される（ステップＳ１２０５）。
【０１５２】
近傍一致情報がＮｃと等しいか否かを判定し（ステップＳ１２０６）、等しい（ＹＥＳ）ならばステップＳ１２０７へ、等しくない（ＮＯ）ならばステップ１２０８へと処理を移す。
【０１５３】
ＹＥＳの場合（このとき信号線１１０８の制御信号は“１”）、スイッチ１１０６が端子ａに接続され、成分値予測部２０２、予測誤差復号部１７０２、加算器１１１１により着目する成分値Ｐ（ｘ，ｙ，Ｃ）が復号される（ステップＳ１２０７）。
【０１５４】
一方、ＮＯである場合（このとき信号線１１０８の制御信号は“０”）、スイッチ１１０６が端子ｂに接続され、一致画素位置復号部１７０１で復号した近傍一致情報に基づいてバッファ２０１から読み出される周辺画素の何れか１つの成分値をセレクタ１７０３で選択し、これを着目する画素の成分値Ｐ（ｘ，ｙ，Ｃ）として出力する（ステップＳ１２０８）。ステップ１２０７、あるいはステップ１２０８で出力される成分値Ｐ（ｘ，ｙ，Ｃ）は信号線１１１０から装置外部へと出力されるとともに、バッファ２０１に格納される。
【０１５５】
ステップＳ１２０９では着目する成分番号を保持するカウンタＣに１を加え、ＲＧＢ画像の色成分の数である３と比較してＣ＜３であればステップＳ１２０６に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップＳ１２１１へと処理を移す。
【０１５６】
ステップＳ１２１１では着目する画素の水平方向位置を保持するカウンタｘに１を加え、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば処理をステップ１２０４へと戻し、次の画素の復号処理を行い、そうでない場合にはステップＳ１２１３へと処理を移す。
【０１５７】
ステップＳ１２１３では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば処理をステップＳ１２０３へと戻し、次のラインの各画素について同様に処理を行い、そうでない場合には対象とする符号化データの復号処理を終了する。
【０１５８】
以上の動作により、符号化データから完全に元の画像データを復元することができる。
【０１５９】
［第５の実施形態］
第３の実施形態の画像処理装置では、周囲画素の色数に応じて近傍一致情報の符号化を行うか否かの切り替えることにより、自然画像など、着目画素値と同一の画素値（色）を持つ周囲画素が存在する可能性の低い画像に対しても、近傍一致情報を符号化することによる符号量の増加を抑制し、さらに、色数に応じて近傍一致情報の符号化方法を変えることでより高効率に符号化することを目指す構成とした。
【０１６０】
このような構成でも十分に高い圧縮性能が得られるが、文字、線画、ＣＧ画像の符号化に対して更なる圧縮性能を実現するためには、ランレングス符号化と組み合わせることが効果的である。本発明第５の実施形態として、第３の実施形態にランレングス符号化を組み合わせた例について説明する。
【０１６１】
本実施形態の画像処理装置においても基本構成は第１の実施形態で説明した図１４と同じであるとする。
【０１６２】
図１８は本実施形態に係る画像処理装置の機能構成を示すブロック図である。図１８に示すように、本実施形態に係る画像処理装置は、ランレングス符号化部１８０１、スイッチ１８０２、色数判定部１３０１、近傍一致情報符号化部１３０６、成分値予測符号化部１３０７、符号生成部１３０５、バッファ２０１、符号列形成部１０４から構成される。なお、１０５、２０６、２０７は信号線である。
【０１６３】
従来の画像処理装置、および第１の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、本実施形態では図１８に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図１４の外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとするが、図１８に示す構成をハードウェアにより実現しても良い。
【０１６４】
以下、図１８を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
【０１６５】
本実施形態の画像処理装置は、図１３に示した第３の実施形態の画像処理装置に、ランレングス符号化部１８０１、スイッチ１８０２を追加した構成と成っている。近傍一致情報符号化部１３０６は図１３において近傍一致判定部１３０２と一致画素位置符号化部１３０３を内部に含む破線部分を一纏めにしたものであり、また、成分値予測符号化部１３０７は同図の成分値予測部２０２、減算器２０３、予測誤差符号化部１３０４を含む破線部分を一纏めにしたものである。
【０１６６】
本実施形態に係る画像処理装置の符号化対象とする画像データは、ＣＭＹＫカラー画像データであり、各コンポーネント（色成分）8ビットで０〜２５５の範囲の濃度値を表現した画素データにより構成されるものとする。
【０１６７】
符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はＣ、Ｍ、Ｙ、Ｋの順番でデータを並べて構成されるものとする。また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。
【０１６８】
次に、本実施形態の画像処理装置での各部の動作について説明する。本実施形態においても第３の実施形態の画像処理装置と同じく、成分値予測部２０２（成分値予測符号化部１３０７の内部）で用いる予測方式は固定であるとし、常に予測選択信号ｍ＝４が入力されているものとする。
【０１６９】
符号化対象画像データは信号線２０６から順に入力される。画素データの入力順序はラスタースキャン順とし、各画素でＣ、Ｍ、Ｙ、Ｋの順番で成分データが入力されるものとする。画素の各成分の濃度値は、Ｃ、Ｍ、Ｙ、Ｋをそれぞれ成分番号０、１、２、３と定義し、画像の左上隅を座標（０，０）として水平方向画素位置ｘ、垂直方向画素位置ｙにある画素の成分番号Ｃの値をＰ（ｘ，ｙ，Ｃ）と表す。
【０１７０】
例えば、水平方向画素位置１０４、垂直方向画素位置３３５の画素のＣ、Ｍ、Ｙ、Ｋ各成分の値はそれぞれＰ（１０４，３３５，０）、Ｐ（１０４，３３５，１）、Ｐ（１０４，３３５，２）、Ｐ（１０４，３３５，３）と表す。また、成分のまとまりとして画素値を表現する場合にはＣ、Ｍ、Ｙ、Ｋの各成分値を要素とするベクトルXとして表現する。例えば、Ｃ、Ｍ、Ｙ、Ｋ各成分の値がｃ、ｍ、ｙ、ｋである画素についてはX=(ｃ、ｍ、ｙ、ｋ)と記述する。
【０１７１】
本画像処理装置では、基本的には信号線２０６から順次入力される画像データの１画素ごとに、符号列形成部１０４から対応する符号が出力されるが、ランレングス符号化が適用される部分では画素のラン（連続数）に対して符号が出力される。
【０１７２】
バッファ２０１は画像データを２ライン分格納する領域を持ち、信号線２０６から入力される画像データを順次格納していく。先に述べたように、画像データは各画素がラスター順に、そして各画素ではＣ、Ｍ、Ｙ、Ｋの順番で成分値が入力されるが、バッファ２０１からは、図３のａ、ｂ、ｃ、ｄに示す周囲３画素の同一成分値が読み出され、色数判定部１３０１、近傍一致情報符号化部１３０６、成分値予測符号化部１３０７へと供給される。
【０１７３】
着目する成分値をＰ（ｘ，ｙ，Ｃ）とするときａ＝Ｐ（ｘ−１，ｙ，Ｃ）、ｂ＝Ｐ（ｘ，ｙ−１、Ｃ）、ｃ＝Ｐ（ｘ−１，ｙ−１，Ｃ）、ｄ＝Ｐ（ｘ＋１，ｙ＋１，Ｃ）である。なお、画像の最初のラインや各ラインの先頭／末尾などで、ａ、ｂ、ｃ、ｄが画像の外側となる場合には符号化側と復号側で共通の値を仮定する。本実施形態では０とする。
【０１７４】
色数判定部１３０１は着目する画素Xの各成分について、バッファ２０１から図３のａ、ｂ、ｃ、ｄに示す周囲４画素の同一成分値を読み出し、画素Xa、Xb、Xc、Xdを得る。着目する画素の位置を（ｘ、ｙ）とし、これを用いてＸａ、Ｘｂ、Ｘｃ、Xdを表現すると以下の通りである。
【０１７５】
Ｘａ＝（P(x-1,y,0), P(x-1,y,1), P(x-1,y,2), P(x-1,y,3)）
Ｘｂ＝（P(x,y-1,0), P(x,y-1,1), P(x,y-1,2), P(x,y-1,3)）
Ｘｃ＝（P(x-1,y-1,0), P(x-1,y-1,1), P(x-1,y-1,2), P(x-1,y-1,3)）
Ｘｄ＝（P(x+1,y-1,0), P(x+1,y-1,1), P(x+1,y-1,2), P(x+1,y-1,3)）
このXa、Xb、Xc、Xdが何種類の色で構成されているかを検出して、その色数Ｎｃを出力する。具体的には４画素から２画素を取り出す６通りの組み合わせについて、取り出した２画素が同一である数をカウントし、０であれば４色、１であれば３色、２か３であれば２色、６であれば１色と判断し、その色数Ncを出力する。
【０１７６】
近傍一致情報符号化部１３０６は色数判定部１３０１から出力される周囲４画素の色数Ｎｃが１から３の場合に、第３の実施形態と同様にして、着目画素Ｘとその周囲４画素（Ｘａ，Ｘｂ，Ｘｃ，Ｘｄ）との一致／不一致を表す近傍一致情報を生成して符号化し、その符号語を出力する。また、信号線１０５からは周囲４画素に一致する画素が存在するか否かを表す情報を出力する。
【０１７７】
一方、第３の実施形態と同様にして、着目画素のC、M、Y、K各成分が成分値予測符号化部１３０７により符号される。なお、成分値予測符号化部１３０７における各成分の予測符号化には国際標準方式ＪＰＥＧ−ＬＳにおけるregular modeの符号化手法などを適用しても良い。
【０１７８】
符号生成部１３０５では信号線１０５から入力される制御信号に従って、近傍一致情報符号化部１３０６から出力される符号語と成分値予測符号化部１３０７から出力される各成分の予測符号化データから着目する画素に対する符号化データを生成する。符号生成部１３０５の動作は第３の実施形態で説明の通りである。
【０１７９】
ランレングス符号化部１８０１は内部に同じ画素値の連続数を計測するカウンタＲＬを保持し、色数判定部１３０１から出力される色数Ｎｃが１である場合に計測を開始し、着目する画素Ｘが直前の画素値Ｘａと異なる値となるか、１ラインの最後の画素を処理し終えるまでの画素数をカウントする。
【０１８０】
ランが終端した時点で、カウンタＲＬに保持されているランレングスを符号化して出力する。ランレングスの符号化には、例えば、様々な方法を適用することが可能であるが、ここでは国際標準方式ＪＰＥＧ−ＬＳにおけるrun modeによるランレングスの符号化と同じ手法を用いることとし、詳細については省略する。
【０１８１】
スイッチ１８０２は色数判定部１３０１から出力される色数Ｎｃが１である場合に端子ｂ側に接続し、ランレングス符号化部１８０１によりランレングスのカウントが行われている間はｂ側に固定する。ランレングスが終端し、ランレングス符号化部１８０１から符号が出力されると端子ａに切り替える。
【０１８２】
図１９は本実施形態の画像処理装置による符号化処理の流れを示すフローチャートである。なお、同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図１９に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。
【０１８３】
まず、符号列形成部１０４において、符号化対象画像の付加情報を含めたヘッダが生成され、出力される（ステップＳ１９０１）。着目する画素の垂直方向位置を保持するカウンタｙを0に、ランレングス符号化部１８０１の内部に保持されるカウンタRLを0に設定する（ステップＳ１９０２）。さらに着目する画素の水平方向位置を保持するカウンタｘを0に設定する（ステップＳ１９０３）。
【０１８４】
（ｘ、ｙ）座標に位置する着目画素Xについて、色数判定部１３０１により色数Ncを求める（ステップＳ１９０４）。色数Ｎｃが１、もしくはカウンタＲＬが０以外の値である場合（ＹＥＳ）にはステップＳ１９１４へと処理を移し、それ以外の場合（ＮＯ）にはステップＳ１９０６へと処理を移す（ステップＳ１９０５）。このとき、ＹＥＳの場合にはスイッチ１８０２が端子ｂに接続され、ＮＯの場合には端子ａに接続される。
【０１８５】
ステップＳ１９０６では近傍一致情報符号化部１３０６により、周囲４画素との一致／不一致を表す近傍一致情報を生成して符号化し、また、周囲４画素に一致する画素が存在するか否かによって信号線１０５に制御信号を出力する。この制御信号が“１”であるか否かを判断し（ステップＳ１９０７）、“１”である場合（ＹＥＳ）には成分値予測符号化部１３０７における成分値の予測符号化処理をＣ、Ｍ、Ｙ、Ｋの各成分に対して行い、符号を生成する（ステップＳ１９０８）。
【０１８６】
続いて符号生成部１３０５において信号線１０５からの制御信号に応じて着目画素に対する符号が生成され、スイッチ１８０２を介して符号列形成部１０４へと出力され、符号列形成部１０４で所定のフォーマットの符号列が形成される（ステップＳ１９０９）。
【０１８７】
着目する画素の水平方向位置を保持するカウンタｘに１を加え（ステップＳ１９１０）、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば（ＹＥＳ）処理をステップＳ１９０４へと戻し、次の画素の符号化処理を行い、そうでない場合（ＮＯ）にはステップＳ１９１２へと処理を移す（ステップＳ１９１１）。
【０１８８】
一方、ステップＳ１９１４では着目する画素値Ｘと直前の画素値Ｘａを比較し、Ｘ≠Ｘａである場合（ＮＯ）には処理をステップＳ１９２０へと移し、Ｘ＝Ｘａである場合（ＹＥＳ）はランレングス符号化部１８０１の内部に保持するカウンタＲＬに１を加え（ステップＳ１９１５）、続いて着目画素の水平方向位置を保持するカウンタｘに１を加える（ステップＳ１９１６）。
【０１８９】
画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば処理をステップＳ１９０４へと戻し、次の画素の符号化処理を行う。そうでない場合にはランが画像の右端まで至ったためこの時点でランレングスを確定させ、ランレングス符号化部１８０１によりカウンタＲＬに保持されるランレングスを符号化して符号を出力する。
【０１９０】
ランレングス符号化部１８０１から出力される符号はスイッチ１８０２を介して符号列形成部１０４へと送られて所定のフォーマットの符号列が形成される（ステップＳ１９１８）。
【０１９１】
ランレングスの符号化を終了すると、カウンタＲＬが０に戻される（ステップＳ１９１９）。このとき、スイッチ１８０２は端子ａ側に接続変更される。この後、ステップＳ１９１２へと処理を移し次のラインへと符号化処理の対象を移す。
【０１９２】
ステップＳ１９２０は直前の画素値Ｘａと異なる画素値Ｘの出現によりランが終端された場合であり、ランレングス符号化部１８０１によりカウンタＲＬに保持されるランレングスを符号化して符号を出力する。
【０１９３】
ランレングス符号化部１８０１から出力される符号はスイッチ１８０２を介して符号列形成部１０４へと送られて所定のフォーマットの符号列が形成される。ランレングスの符号化を終了すると、カウンタＲＬが０に戻される（ステップＳ１９２１）。
【０１９４】
このとき、スイッチ１８０２は端子ａ側に接続変更される。続いてステップＳ１９０６へと処理を移し、ランを終端させた着目画素Ｘについての符号化処理を継続する。
【０１９５】
ステップＳ１９１２では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば（ＹＥＳ）処理をステップＳ１９０３へと戻し、次のラインの画素について同様に処理を行い、そうでない場合（ＮＯ）には対象とする画像データについての符号化処理を終了する（ステップＳ１９１３）。
【０１９６】
以上の説明のように、本実施形態に係る画像処理装置では、近傍一致情報符号化部１３０６、成分値予測符号化部１３０７、ランレングス符号化部１８０１を備えて、符号化対象となる画素Ｘの周囲にある符号化済みの画素Xa、Xb、Xc、Xdの色数に応じてこれらの符号化方式と選択的に動作させて符号化を行っている。
これらの選択は符号化済みの画素によって行われるため、符号化方式の切り替えのための情報を伝送する必要はない。
【０１９７】
第３の実施形態と同様の効果に加えて、ランレングス符号化を導入することで、文字、線画、ＣＧ画像など可逆圧縮性能を更に向上させることができる。
【０１９８】
［第６の実施形態］
第５の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。本発明の第６の実施形態として、第５の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。
【０１９９】
本実施形態の画像処理装置においても基本構成は第１の実施形態で説明した図１４と同じであるとする。
【０２００】
図２０は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。図２０に示すように、本実施形態に係る画像処理装置は、色数判定部１３０１、符号バッファ１１０１、ヘッダ解析部１１０２、スイッチ１１０６、バッファ２０１、成分値予測符号化データ復号部１７０４、近傍一致情報復号部１７０５、ランレングス復号部２００１、スイッチ２００２とを備える。
【０２０１】
同図において１１０７、１１０８、１１１０は信号線である。従来の画像処理装置、および第１から第５の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。
【０２０２】
なお、本実施形態においても、図２０に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図１４の外部記憶装置１４０７や記憶媒体ドライブ１４０８、もしくはＩ／Ｆ１４０９を介して外部装置からＲＡＭ１４０２にロードされるものとするが、図１８に示す構成をハードウェアにより実現しても良い。
【０２０３】
以下、図２０を参照して、本実施形態に係る画像処理装置が行う画像復号処理について説明する。
【０２０４】
本実施形態の画像処理装置は、図１７に示した第４の実施形態の画像処理装置に、ランレングス復号部２００１、スイッチ２００２を追加した構成と成っている。近傍一致情報復号部１７０５は図１７において一致画素位置復号部１７０１とセレクタ１７０３を内部に含む破線部分を一纏めにしたものであり、また、成分値予測符号化データ復号部１７０４は同図の成分値予測部２０２、予測誤差復号部１７０２、加算器１１１１を含む破線部分を一纏めにしたものである。
【０２０５】
次に、本実施形態の画像処理装置での各部の動作について説明する。
【０２０６】
第４の実施形態と同様に、復号対象となる符号化データが信号線１１０７を介して本画像処理装置に入力され、符号バッファ１１０１に適宜格納され、ヘッダ解析部１１０２により付加情報の取得が行われる。
【０２０７】
色数判定部１３０１では第３の実施形態で説明した処理により、色数Ncを求めて出力する。
【０２０８】
近傍一致情報復号部１７０５は色数判定部１３０１から出力される周囲４が素の色数Ncが１から３の場合に、第４の実施形態と同様にして、着目画素Ｘとその周囲４画素（Ｘａ，Ｘｂ，Ｘｃ，Ｘｄ）との一致／不一致を表す近傍一致情報を復号して、復号した値がNcとは異なる値であれば復号値に応じてXa〜Xdのいずれかを出力する。
【０２０９】
また、信号線１１０８からは周囲４画素に一致する画素が存在するか否か、即ち近傍一致情報の復号値がNcと等しいか否かを表す情報を出力する。
【０２１０】
成分値予測符号化データ復号部１７０４では第４の実施形態と同様にして、符号バッファ１１０１から符号化データを読み込み、画素のC、M、Y、K各成分を復号する。
【０２１１】
ランレングス復号部２００１は色数判定部１３０１から出力される色数Ncが１である場合に、符号バッファ１１０１から符号化データを読み込み、直前の画素Xaと同じ画素値の連続数RLを復号し、復号画素値としてXaをRL個出力する。ランレングス復号部２００１の復号処理は第５の実施形態におけるランレングス符号化部１８０１での符号化処理と対をなす。
【０２１２】
スイッチ２００２は色数判定部１３０１から出力される色数Nｃが１である場合に端子ｂ側に接続し、ランレングス復号部１８０１で復号したRL個のXaの出力が行われている間はｂ側に固定する。RL個のXaを出力し終えると、端子aに接続される。
【０２１３】
図２１は本実施形態の画像処理装置による復号処理の流れを示すフローチャートである。なお、同図に従ったプログラムはＲＡＭ１４０２にロードされており、ＣＰＵ１４０１がこれを実行することで、図２１に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係る画像処理装置が行う復号処理の全体的な流れについて説明する。
【０２１４】
信号線１１０７から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部１１０２で符号化データのヘッダを解析して復号に必要な付加情報を取り出す（ステップＳ２１０１）。着目する画素の垂直方向位置を保持するカウンタｙを0に設定し（ステップＳ２１０２）、さらに着目する画素の水平方向位置を保持するカウンタｘを0に設定する（ステップＳ２１０３）。
【０２１５】
（ｘ、ｙ）座標に位置する画素に着目し、色数判定部１３０１により復号済みの周囲画素Xa〜Xdを参照して色数Ncを求める（ステップＳ２１０４）。色数Ｎｃが１である場合（ＹＥＳ）にはステップＳ２１１４へと処理を移し、それ以外の場合（ＮＯ）にはステップＳ２１０６へと処理を移す（ステップＳ２１０５）。このとき、ＹＥＳの場合にはスイッチ２００２が端子ｂに接続され、ＮＯの場合には端子ａに接続される。
【０２１６】
ステップＳ２１０６では近傍一致情報復号部１７０５により、周囲４画素との一致／不一致を表す近傍一致情報が復号され、復号した値がNcとは異なる値であれば復号値に応じてXa〜Xdのいずれかを選択して出力する。
【０２１７】
また、信号線１１０８からは復号値がNcと等しいか否かを表す情報を出力する。この制御信号が“１”であるか否かを判断し（ステップＳ２１０７）、“１”である場合（ＹＥＳ）には成分値予測符号化データ復号部１７０４により画素のＣ、Ｍ、Ｙ、Ｋ各成分について予測符号化データからの成分値の復号処理を行う（ステップＳ２１０８）。
【０２１８】
信号線１１０８から出力される制御信号が“０”である場合にはスイッチ１１０６を端子aに接続し、“１”である場合には端子ｂに接続して、近傍一致情報復号部１７０５か成分値予測符号化データ復号部１７０４から出力される画素値を、スイッチ１１０６、２００２を介して信号線１１１０から位置（ｘ、ｙ）の復号画素値として出力する（ステップS２１０９）。
【０２１９】
着目する画素の水平方向位置を保持するカウンタｘに１を加え（ステップＳ２１１０）、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば（ＹＥＳ）処理をステップＳ２１０４へと戻し、次の画素の復号処理を行い、そうでない場合（ＮＯ）にはステップＳ２１１２へと処理を移す（ステップＳ２１１１）。
【０２２０】
一方、ステップＳ２１１４ではランレングス復号部２００１の内部にてランレングスRLが復号される。復号したRLを０と比較して（ステップＳ２１１５）、ＲＬ＝０である場合（ＹＥＳ）にはステップＳ２１０６に処理を移す。
【０２２１】
この場合、スイッチ２００２は端子ｂから端子ａへと接続変更される。ＲＬ≠０である場合（ＮＯ）、スイッチ２００２を介して信号線１１１０から、位置（ｘ、ｙ）の復号画素値としてＸａを出力する（ステップＳ２１１６）。カウンタＲＬから１を減じ（ステップＳ２１１７）、着目する画素の水平方向位置を保持するカウンタｘに１を加え（ステップＳ２１１８）、画像の水平方向画素数Ｗと比較してｘ＜Ｗであれば（ＹＥＳ）処理をステップＳ２１１５へと戻し、そうでない場合（ＮＯ）にはステップＳ２１１２へと処理を移す（ステップＳ２１１９）。
【０２２２】
ステップＳ２１１２では着目する画素の垂直方向位置を保持するカウンタｙに１を加え、続いて、画像の垂直方向画素数Ｈと比較してｙ＜Ｈであれば（ＹＥＳ）処理をステップＳ２１０３へと戻し、次のラインの画素について同様に処理を行い、そうでない場合（ＮＯ）には対象とする画像データについての符号化処理を終了する（ステップＳ２１１３）。
【０２２３】
以上の動作により、符号化データから完全に元の画像データを復元することができる。
【０２２４】
［第７の実施形態］
第１の実施形態において、文字、線画、各種CG画像を効率的に符号化できることを示したが、図２２のような、右上から左下へ濃度が変化するグラデーションについては、注目画素と左上に位置する画素が一致するにも関わらず、周囲３画素間で一致する色はないため、近傍位置情報で符号化することはできず、符号化効率を改善する余地がある。本実施の形態においては、図２２のようなグラデーションに対して、近傍一致で符号化できるような方法を示す。
【０２２５】
図２３に本実施の形態における画像処理装置のブロック図を示す。同図に関して、第１の実施の形態における図１の画素一致検出部１０７を画素分布判定部２３０１に置き換えたものである。
【０２２６】
以下の説明では、第１の実施形態からの変更点である画素分布判定部２３０１に注力する。
【０２２７】
画素分布判定部２３０１では、周辺３画素間における同一画素値の有無を判定する。さらに、図２２のようなグラデーションでは、１つ以上のコンポーネントに関して、Ｐ（ｘ、ｙ-1、C）、Ｐ（ｘ−１、ｙ-1、C）、Ｐ（ｘ−１、ｙ、C）（ただしC=0,1,2）の順、もしくは逆順で画素値が大きくなるので、この性質を利用して、大小関係が（Ｐ（ｘ、ｙ-1、C）<Ｐ（ｘ−１、ｙ-1、C）<Ｐ（ｘ−１、ｙ、C））もしくは（Ｐ（ｘ、ｙ-1、C）>Ｐ（ｘ−１、ｙ-1、C）>Ｐ（ｘ−１、ｙ、C））であるか判定する。判定の結果、同一の画素値がある場合、もしくは大小関係が存在する場合、近傍情報で符号化を行える旨（検出結果の“１”）を出力する。
【０２２８】
以上示したとおり、本実施の形態で示した手法により、右上から左下へ濃度が変化するグラデーションを効率的に符号化できるようになる。
【０２２９】
［第８の実施形態］
本実施の形態では、第７の実施の形態で示した画像符号化装置から出力される符号列を復号する画像復号装置を示す。
【０２３０】
図２４に本実施の形態における画像復号装置のブロック図を示す。同図に関して、第２の実施の形態における画素一致検出部１０７を画素分布判定部２４０１に置き換えたものである。
【０２３１】
以下の説明では、第１の実施形態からの変更点である画素分布判定部２４０１に注力する。
【０２３２】
画素分布判定部２４０１では、周辺３画素間における同一画素値の有無を判定する。さらに、図２２のようなグラデーションでは、１つ以上のコンポーネントに関して、Ｐ（ｘ、ｙ-1、C）、Ｐ（ｘ−１、ｙ-1、C）、Ｐ（ｘ−１、ｙ、C）（ただしC=0,1,2）の順、もしくは逆順で画素値が大きくなるので、この性質を利用して、大小関係が（Ｐ（ｘ、ｙ-1、C）<Ｐ（ｘ−１、ｙ-1、C）<Ｐ（ｘ−１、ｙ、C））もしくは（Ｐ（ｘ、ｙ-1、C）>Ｐ（ｘ−１、ｙ-1、C）>Ｐ（ｘ−１、ｙ、C））であるか判定する。
【０２３３】
判定の結果、同一の画素値がある場合、もしくは大小関係が存在する場合、近傍情報で符号化を行える旨（検出結果の“１”）を出力する。
【０２３４】
以上示したとおり、本実施の形態で示した手法により、右上から左下へ濃度が変化するグラデーションを効率的に符号化することで得られる符号列を復号できるようになる。
【０２３５】
［第９の実施形態］
第７の実施の形態において所定のグラデーションを効率的に符号化するために、近傍一致情報で符号化するための条件を拡張した。しかしながら、この方法ではグラデーション以外のものをグラデーションと判定してしまうこともある。本実施の形態においては、グラデーション判定の確度を向上させることを目指す。
【０２３６】
図２５は本実施の形態における画像処理装置のブロック図を示す。同図に関して、第７の実施の形態における図７の画素分布判定部２３０１を画素分布判定部２５０１に置き換えたものである。以下の説明では、第７の実施形態からの変更点である画素分布判定部２５０１に注力する。
【０２３７】
画素分布判定部２３０１では、周辺３画素間における同一画素値の有無を判定し、同一画素値がある場合には、近傍情報で符号化を行える旨（検出結果の“１”）を出力する。
【０２３８】
また、１つ以上のコンポーネントに関して、大小関係が（Ｐ（ｘ、ｙ-1、C）<Ｐ（ｘ−１、ｙ-1、C）<Ｐ（ｘ−１、ｙ、C））もしくは（Ｐ（ｘ、ｙ-1、C）>Ｐ（ｘ−１、ｙ-1、C）>Ｐ（ｘ−１、ｙ、C））であるか判定する。
【０２３９】
判定の結果、上記大小関係が存在する場合、次の画素の処理において、図２６で示した周辺４画素の中で同色の画素が存在するかを判定し、同色の画素が存在すれば、近傍情報で符号化を行える旨（検出結果の“１”）を出力する。
【０２４０】
ここで、注目する画素数を４とした理由は、処理対象領域が問題のグラデーションであればa=eであり、注目する画素数を４つへ拡張することで、前の画素において処理対象領域がグラデーションである確率が高いとした判定に関して、より精度を上げることができるからである。
【０２４１】
以下、図２７のフローチャートを用いて、画素分布判定部２５０１の処理フローを説明する。
【０２４２】
処理がスタートすると、画素分布判定部２５０１の内部にあるスイッチを“0”にセットし（ステップS2701）、画素を入力する（ステップS2702）。ステップS2703ではスイッチが“0”か“1”か判定し、もしスイッチが“1”であれば処理をステップS2704へ進め、“0”であれば処理をステップS2705へ進める。ステップS2704では、周囲４画素間で同一画素が存在するかどうかを判定し、もし存在すれば“1”を符号生成部１０３へ出力し（ステップS2706）、存在しなければ“0”を符号生成部１０３へ出力し（ステップS2707）、処理を画素間大小判定へ進める（ステップS2708）。ステップS2708では、画素間大小関係が大小関係が（Ｐ（ｘ、ｙ-1、C）<Ｐ（ｘ−１、ｙ-1、C）<Ｐ（ｘ−１、ｙ、C））もしくは（Ｐ（ｘ、ｙ-1、C）>Ｐ（ｘ−１、ｙ-1、C）>Ｐ（ｘ−１、ｙ、C））であれば、スイッチを“1”へセットし、そうでなければ“0”へセットする。
【０２４３】
ステップS2705では、周囲３画素間で同一画素が存在するかを判定し、もし存在すれば“1”を符号生成部１０３へ出力し（ステップS2706）、存在しなければ“0”を符号生成部１０３へ出力し（ステップS2707）、処理を画素間大小判定へ進める（ステップS2708）。
【０２４４】
ステップS2708の処理が終了すると、処理対象の画素があるかどうか判定し（ステップS2709）、画素がある場合には処理をステップS2702へ戻し、画素がない場合には画素分布判定部２５０１における処理を終了する。
【０２４５】
以上示したとおり、本実施の形態で示した手法により、グラデーション判定の確度を向上させた上で、効率的にグラデーションの符号化を行えるようになる。
【０２４６】
[第１０の実施形態]
本実施の形態では、第９の実施の形態で示した画像符号化装置から出力される符号列を復号する画像復号装置を示す。
【０２４７】
図２８に本実施の形態における画像復号装置のブロック図を示す。同図に関して、第８の実施の形態における画素分布判定部２４０１を画素分布判定部２８０１に置き換え、バッファ２０１から画素分布判定部２８０１へ信号線を一本、セレクタ１１０５へ一本追加したものである。
【０２４８】
以下の説明では、第１の実施形態からの変更点である画素分布判定部２８０１に注力する。
【０２４９】
図２９は画素分布判定部２８０１におけるフローチャートであり、同図を用いて処理フローを説明する。
【０２５０】
処理がスタートすると、画素分布判定部２８０１の内部にあるスイッチを“0”にセットし（ステップS2901）、不図示の復号画素カウンタを１つインクリメントする（ただし、処理スタート時には復号画素カウンタを０にセットする）（ステップS2902）。ステップS2903ではスイッチが“0”か“1”か判定し、もしスイッチが“1”であれば処理をステップS2904へ進め、“0”であれば処理をステップS2905へ進める。
【０２５１】
ステップS2904では、周囲４画素間で同一画素が存在するかどうかを判定し、もし存在すれば“1”を符号生成部１０３へ出力し（ステップS2906）、存在しなければ“0”を符号生成部１０３へ出力し（ステップS2907）、処理を画素間大小判定へ進める（ステップS2908）。ステップS2908では、画素間大小関係が大小関係が（Ｐ（ｘ、ｙ-1、C）<Ｐ（ｘ−１、ｙ-1、C）<Ｐ（ｘ−１、ｙ、C））もしくは（Ｐ（ｘ、ｙ-1、C）>Ｐ（ｘ−１、ｙ-1、C）>Ｐ（ｘ−１、ｙ、C））であれば、スイッチを“1”へセットし、そうでなければ“0”へセットする。
【０２５２】
ステップS2905では、周囲３画素間で同一画素が存在するかを判定し、もし存在すれば“1”を符号生成部１０３へ出力し（ステップS2906）、存在しなければ“0”を符号生成部１０３へ出力し（ステップS2907）、処理を画素間大小判定へ進める（ステップS2908）。
【０２５３】
ステップS2908の処理が終了すると、処理対象の画素があるかどうか判定し（ステップS2909）、画素がある場合には処理をステップS2902へ戻し、画素がない場合には画素分布判定部２８０１における処理を終了する。
【０２５４】
以上示したとおり、グラデーション判定の確度を向上させた上で、効率的にグラデーションの符号化を行うことで得られた符号列に対して、本実施の形態で示した手法により復号できるようになる。
【０２５５】
[変形例]
本発明は上述した実施の形態に限定されるものではない。
【０２５６】
第３から６の実施形態では周囲画素の色数Ｎｃに応じて、Ｎｃ種類の画素値との一致不一致を符号化した。
【０２５７】
従って近傍一致情報としてはＮｃ＋１値のシンボルの符号化を行った。例えば色数Ｎｃが３であった場合には第１の画素値Ｘ１と一致する場合には０、第２の画素値Ｘ２と一致する場合には１、第３の画素値Ｘ３と一致する場合には２、Ｘ１〜Ｘ３のいずれとも一致しない場合には３というように４値のシンボルを図１５（ｃ）の符号表を用いて符号化した。しかしながら、Ｎｃ種類の画素値の全てを一致／不一致の判定対象とする必要はない。
【０２５８】
例えば、Ｎｃ＝３の場合に、第１の画素値Ｘ１、第２の画素値Ｘ２と一致／不一致を判定し、Ｘ＝Ｘ１の場合には０、Ｘ＝Ｘ２の場合には１、Ｘ≠Ｘ１、Ｘ≠Ｘ２の場合には３というように０、１、３の３値を取るシンボル（近傍一致情報とＮｃを比較する処理を考慮し、あえて“２”を除いた）を符号化するようにしても良い。
【０２５９】
また、第１の画素値Ｘ１、第２の画素値Ｘ２、第３の画素値Ｘ３などの求め方についても上述の実施形態に限らず、例えば、Ｘｂ、Ｘａ、Ｘｃ、Ｘｄの順など、異なる順序で第１、第２、第３の画素値を取得しても良いし、Ｘａ、Ｘｂ、Ｘｃ、Ｘｄ間の一致状況によって変えても良い。例えば、Ｘａ、Ｘｂ、Ｘｃ、Ｘｄの順序で第１、第２、第３の画素値を取得するが、Ｘａ＝Ｘｂである場合には第２の画素値Ｘ２をＸｄとするといったやり方でも構わない。
【０２６０】
また、近傍一致情報の符号化として、あらかじめ確率分布を想定して定めた符号語を用いる方法を示したが、上述の例とは異なる符号語を用いても良いし、算術符号などことなる符号化方式を適用しても構わない。
【０２６１】
また、着目する成分値の予測方法としては、幾つかの予測方法を用意して、適応的に切り換えても構わないし、符号化済みの各成分値に発生した予測誤差の平均値を着目する成分の予測にフィードバックするなど、非線形な予測を用いても構わない。
【０２６２】
また、ここでは成分値の予測誤差のエントロピ符号化としてハフマン符号化やＧｏｌｏｍｂ符号化を用いる例について示したが、これ以外のエントロピ符号化を用いも良い。
【０２６３】
また、着目画素Ｘの周囲画素値としてＸａ、Ｘｂ、Ｘｃ、Ｘｄを参照する例について示したが、もっと多くの画素を参照しても良いし、ＸａとＸｂだけといったように参照画素数を減らしても構わない。
【０２６４】
また、ＲＧＢ画像、ＣＭＹＫ画像の符号化を例に説明したが、Ｌａｂ画像や、ＹＣｒＣｂ画像など、複数成分から成る画像データであれば適用可能である。
【０２６５】
また、上述の実施形態では、符号化装置と復号装置を別の実施例として説明したが、一つの機器にこれら２つの機能を備え、共通部分を統合しても構わないことは言うまでもない。
【０２６６】
［その他の実施形態］
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０２６７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０２６８】
この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２６９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２７０】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０２７１】
【図１】第１の実施形態に係る画像処理装置のブロック図
【図２】従来の画像処理装置のブロック図
【図３】符号化対象画素ｘに対する周辺画素ａ、ｂ、ｃの位置を示す図
【図４】予測選択信号ｍに対応する予測式を示す図
【図５】予測誤差eとグループ番号SSSSとの対応を示す図
【図６】グループ番号SSSSと符号語との対応を示す図
【図７】近傍一致情報と符号語の対応を示す図
【図８】画素符号化データの構成を示す図
【図９】画像処理装置の出力符号列の構成を示す図
【図１０】第１、第３の実施形態の符号化処理の流れを示すフローチャート
【図１１】第２の実施形態に係る画像処理装置のブロック図
【図１２】第２、第４の実施形態の復号処理の流れを示すフローチャート
【図１３】第３の実施形態に係る画像処理装置のブロック図
【図１４】第１〜第６の実施形態に係る画像処理装置の基本構成を示す図
【図１５】第３、第５の実施形態において、近傍一致情報の符号化に用いる符号表を示す図
【図１６】Golomb符号の例を示す図
【図１７】第４の実施形態に係る画像処理装置のブロック図
【図１８】第５の実施形態に係る画像処理装置のブロック図
【図１９】第５の実施形態の符号化処理のフローチャート
【図２０】第６の実施形態に係る画像処理装置のブロック図
【図２１】第６の実施形態の画像処理装置による復号処理のフローチャート
【図２２】グラデーションの説明図
【図２３】第７の実施形態に係る画像処理装置のブロック図
【図２４】第８の実施形態に係る画像復号装置のブロック図
【図２５】第９の実施形態に係る画像処理装置のブロック図
【図２６】周囲４画素の説明図
【図２７】画素分布判定部２５０１のフローチャート
【図２８】第１０の実施形態に係る画像復号装置のブロック図
【図２９】画素分布判定部２８０１のフローチャート
【符号の説明】
【０２７２】
１０１  近傍一致判定部
１０２  一致画素位置符号化部
１０３  符号生成部
１０４  符号形成部
１０７  画素一致検出部
２０１  バッファ
２０２  成分値予測部
２０３  減算器
２０４  メモリ
２０５  予測誤差符号化部
【図１】
2008109194.tif 000003
【図２】
2008109194.tif 000004
【図３】
2008109194.tif 000005
【図４】
2008109194.tif 000006
【図５】
2008109194.tif 000007
【図６】
2008109194.tif 000008
【図７】
2008109194.tif 000009
【図８】
2008109194.tif 000010
【図９】
2008109194.tif 000011
【図１０】
2008109194.tif 000012
【図１１】
2008109194.tif 000013
【図１２】
2008109194.tif 000014
【図１３】
2008109194.tif 000015
【図１４】
2008109194.tif 000016
【図１５】
2008109194.tif 000017
【図１６】
2008109194.tif 000018
【図１７】
2008109194.tif 000019
【図１８】
2008109194.tif 000020
【図１９】
2008109194.tif 000021
【図２０】
2008109194.tif 000022
【図２１】
2008109194.tif 000023
【図２２】
2008109194.tif 000024
【図２３】
2008109194.tif 000025
【図２４】
2008109194.tif 000026
【図２５】
2008109194.tif 000027
【図２６】
2008109194.tif 000028
【図２７】
2008109194.tif 000029
【図２８】
2008109194.tif 000030
【図２９】
2008109194.tif 000031