(57)【特許請求の範囲】
【請求項１】
着目画素の周囲の符号化済みの画素群において、予め設定された位置関係にあり、所定数の画素ペアの差分値を算出し、算出した差分値を量子化し、量子化した各値に基づき前記着目画素の周囲の状態を分類し、当該分類された状態に応じたパラメータに従って、前記着目画素の予測誤差を符号化する画像符号化装置であって、
符号化対象画像データを入力する入力手段と、
入力した前記符号化対象画像データにおける着目画素の周囲の前記所定数の画素ペアの差分値に基づき、前記着目画素の位置における画像状態の指標値を算出する第１の算出手段と、
符号化対象の画像データの前記着目画素の予測誤差を算出し、当該予測誤差に対応する符号化シンボル値を求める第２の算出手段と、
前記指標値ごとに、前記符号化シンボル値の平均値を算出する第３の算出手段と、
該第３の算出手段で算出した指標値ごとの符号化シンボル値の平均値に基づき、前記量子化を行う際の量子化閾値を決定する閾値決定手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記閾値決定手段は、前記指標値を初期値から昇順に辿った際の前記符号化シンボル値の符号長が最短となる前記パラメータの変化位置を求めることで、前記量子化閾値を決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記閾値決定手段は、前記符号化シンボル値の平均値の最大値と最小値との差分に基づいて前記量子化閾値を決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記閾値決定手段は、前記指標値を初期値から昇順に辿っていった際の、前記初期値における前記符号化シンボル値と、昇順に辿った後の指標値における前記符号化シンボル値との差が予め設定された閾値を超えるたびに、前記量子化閾値を決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記予測誤差の符号化は、ゴロム・ライス符号化を用いることを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
着目画素の周囲の符号化済みの画素群において、予め設定された位置関係にあり、所定数の画素ペアの差分値を算出し、算出した差分値を量子化し、量子化した各値に基づき前記着目画素の周囲の状態を分類し、当該分類された状態に応じたパラメータに従って、前記着目画素の予測誤差を符号化する画像符号化装置の制御方法であって、
入力手段が、符号化対象画像データを入力する入力工程と、
第１の算出手段が、入力した前記符号化対象画像データにおける着目画素の周囲の前記所定数の画素ペアの差分値に基づき、前記着目画素の位置における画像状態の指標値を算出する第１の算出工程と、
第２の算出手段が、符号化対象の画像データの前記着目画素の予測誤差を算出し、当該予測誤差に対応する符号化シンボル値を求める第２の算出工程と、
第３の算出手段が、前記指標値ごとに、前記符号化シンボル値の平均値を算出する第３の算出工程と、
閾値決定手段が、前記第３の算出工程で算出した指標値ごとの符号化シンボル値の平均値に基づき、前記量子化を行う際の量子化閾値を決定する閾値決定工程と
を有することを特徴とする画像符号化装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータを、請求項１乃至５のいずれか１項に記載の画像符号化装置の各手段として機能させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とするコンピュータが読み込み可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの符号化技術に関するものである。
【背景技術】
【０００２】
画像符号化技術の１つに、画像をラスタースキャン順に走査していく過程で、着目画素の予測値をその周囲画素を用いて求め、その予測値と着目画素の実際の値の差分値を符号化する予測符号化方式がある。従来、このような予測符号化方式においては、符号化済みの画素に基づいて着目画素の状態を分類し、それぞれの状態における予測誤差の確率分布に応じて符号化することで圧縮性能を高めることが一般的に行われている。例えば、連続階調静止画像の可逆と準可逆圧縮の国際標準方式としてＩＳＯとＩＴＵ−Ｔから勧告されているＪＰＥＧ−ＬＳ  Ｐａｒｔ１（非特許文献１）では、着目画素の周囲４画素を参照して、画素間差分を求める。そして、これら差分に基づいて３６５個の状態に分離して予測誤差の符号化を行っている。
【０００３】
以下、ＪＰＥＧ−ＬＳにおける状態生成の方法について説明する。以下の説明では、例えば準可逆符号化のための誤差の許容範囲を表すパラメータＮＥＡＲを０と仮定するなど、本発明に直接関係しない事柄については省略するので、標準方式の詳細については規格書を参照されたい。
【０００４】
図７（ａ）はＪＰＥＧ−ＬＳで参照される周囲画素（ａ，ｂ，ｃ，ｄ）と着目画素ｘとの相対位置関係を示している。ラスタースキャン順に画素を符号化するため、図示の画素ａ，ｂ，ｃ，ｄは全て符号化済みとなる。なお、ｘ，ａ，ｂ，ｃ，ｄは画素を特定する符号であるとともに、それぞれの画素値を表しているとする。まず、以下の式によりａとｃ、ｃとｂ、ｂとｄの差分を求め、それぞれをＤ１、Ｄ２、Ｄ３とする。
Ｄ１＝ｄ−ｂ      …  （１）
Ｄ２＝ｂ−ｃ      …  （２）
Ｄ３＝ｃ−ａ      …  （３）
この差分値Ｄ１、Ｄ２、Ｄ３を９通り(−４から４まで)に量子化して、それぞれの差分の量子化値Ｑ１、Ｑ２、Ｑ３を求める。このとき量子化値Ｑ１、Ｑ２、Ｑ３を求めるための予め定められた非負の整数値を閾値Ｔ１、Ｔ２、Ｔ３とする。例として差分値Ｄ１の量子化値Ｑ１と閾値との関係を図７（ｂ）に示す。Ｄ２とＱ２、Ｄ３とＱ３の関係についても同様である。例えば、０〜２５５の値を取る８ビットの画像に対しては、Ｔ１＝３、Ｔ２＝７、Ｔ３＝２１といった値が設定される。このようにして得られたＱ１，Ｑ２，Ｑ３の組み合わせ｛Ｑ１，Ｑ２，Ｑ３｝は、Ｑ１、Ｑ２、Ｑ３がそれぞれ−４から４までの９通りの値を持つので、９×９×９＝７２９通りとなる。状態｛Ｑ１，Ｑ２，Ｑ３｝で予測誤差ｅが発生する確率と、状態｛−Ｑ１，−Ｑ２，−Ｑ３｝で予測誤差−ｅが発生する確率は同じとして考えて良いので、これらの状態を統合して３６５通りに縮退する。この３６５通りの状態でそれぞれ想定される確率分布に応じて着目画素ｘの予測誤差を符号化する。ＪＰＥＧ−ＬＳではそれぞれの状態ごとに予測誤差の絶対値の総和とその状態の発生回数を保持し、これらの値からゴロム・ライス符号化のＫパラメータを設定することで各状態の確率分布に適応した符号化を行う。符号化の開始時点ではこれらの値に初期値を設定しておき、符号化処理の過程で随時値を更新していくことにより、動的に各状態の確率分布に追従する。
【０００５】
また、上述の差分値Ｄ１、Ｄ２、Ｄ３を量子化するための閾値Ｔ１、Ｔ２、Ｔ３を２パス構成で決定する方法が知られている（特許文献１）。この方法は、１パス目に差分値のヒストグラムを生成する。このヒストグラムを参照し、状態の発生回数が均等になるように閾値Ｔ１、Ｔ２、Ｔ３を決定した上で、２パス目に符号化を行う。
【０００６】
また、ＪＰＥＧ−ＬＳにおける状態の分離処理を排除する事により、省メモリ化を図る手法が知られている（非特許文献２）。この方法は着目画素に使用するＫパラメータを、着目画素以前に使用したＫパラメータと、それに対応する符号化シンボルに基づいて決定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−９２３２８号公報
【非特許文献】
【０００８】
【非特許文献１】ITU-T T.87 (1998) |  ISO/IEC 14495-1 : 1999,  Information Technology - Lossless and near-lossless compression of continuous-tone still images : Baseline
【非特許文献２】Z. Wang, M. Klaiber, Y. Gera, S. Simon  「FAST LOSSLESS IMAGE COMPRESSION WITH 2D GOLOMB PARAMETER ADAPTATION BASED ON JPEG-LS  」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述の非特許文献１による画像処理装置では、処理対象となる画像のビット数に応じて状態を分離するための閾値を決定している。このため画像中の画素値に偏りがある場合、各状態の発生回数にも偏りが生じてしまい、適切に分離する事ができず符号化効率が落ちる事がある。
【００１０】
また、特許文献１のように状態の発生回数を均等とするよう閾値を決定する事で、上述のような状態の偏りは回避する事ができる。しかし当該手法は各状態の符号化シンボルがどのような出現傾向となるかを鑑みていないため、符号化シンボルの出現傾向によっては符号化効率が落ちる事がある。
【００１１】
また、非特許文献２のように状態の分離を行わないと、急激な変化を伴う画素パターンや、予測の困難な画素パターンが発生する画像の場合に符号化効率が落ちる事がある。
【００１２】
本発明は上記の問題に鑑みなされたものである。そして本発明は、予測符号化をベースとする可逆符号化を行う符号化方式において、符号化シンボルの出現傾向に基づいて、量子化の閾値を決定することで、これまでより符号量を低減させることが可能な技術を提供するものである。
【課題を解決するための手段】
【００１３】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、着目画素の周囲の符号化済みの画素群において、予め設定された位置関係にあり、所定数の画素ペアの差分値を算出し、算出した差分値を量子化し、量子化した各値に基づき前記着目画素の周囲の状態を分類し、当該分類された状態に応じたパラメータに従って、前記着目画素の予測誤差を符号化する画像符号化装置であって、符号化対象画像データを入力する入力手段と、入力した前記符号化対象画像データにおける着目画素の周囲の前記所定数の画素ペアの差分値に基づき、前記着目画素の位置における画像状態の指標値を算出する第１の算出手段と、符号化対象の画像データの前記着目画素の予測誤差を算出し、当該予測誤差に対応する符号化シンボル値を求める第２の算出手段と、前記指標値ごとに、前記符号化シンボル値の平均値を算出する第３の算出手段と、該第３の算出手段で算出した指標値ごとの符号化シンボル値の平均値に基づき、前記量子化を行う際の量子化閾値を決定する閾値決定手段とを有する。
【発明の効果】
【００１４】
本発明の構成によれば、予測符号化をベースとする可逆符号化を行う符号化方式において、符号化シンボルの出現傾向に基づいて、量子化の閾値を決定することで、これまでより符号量を低減させることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る画像処理装置の機能構成を示すブロック図。
【図２】画像処理装置の構成の一例を示す図。
【図３】ゴロム・ライス符号化を説明する図。
【図４】本画像処理装置の出力符号列の構成を示す図。
【図５】第１の実施形態に係る状態分離閾値決定部の処理フローを示す図。
【図６】第１の実施形態に係る符号化シンボル平均を算出する処理フローを示す図。
【図７】着目画素と周辺画素の位置関係、及び差分値と量子化値の関係を説明する図。
【図８】勾配値、符号化シンボル平均、最適Ｋパラメータの関係を説明するための図。
【図９】第２の実施形態に係る状態分離閾値決定部の処理フローを示す図。
【図１０】符号化シンボル平均の変動幅と、閾値の関係を説明するための図。
【発明を実施するための形態】
【００１６】
以下添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下で説明する各実施形態は、本発明を具体的に実施した例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の１つである。
【００１７】
［第１の実施形態］
図２は本実施形態に係る情報処理装置の基本構成を示す図である。情報処理装置は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、キーボード２０４、ポインティングデバイスとしてのマウス２０５を有する。また、画像処理装置は、表示装置２０６、ＨＤＤなどの外部記憶装置２０７、ＣＤやＤＶＤなどの記憶媒体ドライブ２０８、外部装置と通信インターフェースであるＩ／Ｆ２０９、並びに、これらを接続するバス２１０を有する。
【００１８】
ＣＰＵ２０１は、ＲＡＭ２０２やＲＯＭ２０３に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理を実行する。このうち、ＲＯＭ２０３はブートプログラムやＢＩＯＳ等を記憶している不揮発性メモリである。ＲＡＭ２０２は揮発性メモリであって、ＯＳ（オペレーティングシステム）や画像符号化装置として機能するためのアプリケーションプログラムを記憶したり、ＣＰＵ２０１のワークエリアとしても利用される。ＯＳやアプリケーションは、外部記憶装置２０７や記憶媒体ドライブ２０８に格納されている。また、外部記憶装置２０７や記憶媒体ドライブ２０８には、符号化対象の画像データが格納されている。符号化対象の画像データは、Ｉ／Ｆ２０９を介して他の装置から転送されてくるものとする。
【００１９】
上記構成にて、本装置の電源がＯＮになると、ＣＰＵ２０１はＲＯＭ２０３に格納されたブートプログラムを実行して外部記憶装置２０７からＯＳをＲＡＭ２０２に読み込み、ＯＳを起動する。この結果、本装置が情報処理装置として機能し、ユーザは、示装置２０６、キーボード２０４、マウス２０５をユーザインターフェースとして利用可能となる。そして、ＣＰＵ２０１は外部記憶装置２０７から画像符号化用のアプリケーションプログラムをＲＡＭ２０２に読み込み実行することで、本装置が画像処理装置として機能することになる。
【００２０】
図１は、第１の実施形態に係る装置が画像処理装置として機能した場合の機能ブロック構成図である。図１に示すように、本実施形態に係る画像処理装置は、画像入力部１０１、状態分離閾値決定部１０２、予測符号化部１０３、符号出力部１０４を有する。なお、これらの機能部は、ＣＰＵ２０１が画像符号化アプリケーションを実行することで機能するものであるが、これらのいくつかもしくは全てがハードウェアでもって実現しても構わない。
【００２１】
以下、図１を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。  
本実施形態の画像処理装置における符号化対象の画像の種類は特に問わない。モノクロ画像であっても良いし、複数の色のコンポーネントで構成されるカラー画像であっても良い。ただし、具体的に示した方が理解が容易になるので、実施形態における符号化対象画像は、Ｒ、Ｇ，Ｂの３つのコンポーネント（色成分）のカラー画像データであり、各コンポーネントは８ビット（０〜２５５の範囲の輝度値）であるものとする。また、画像データの並びは点順次、即ち、ラスタースキャン順に各画素のコンポーネントが順に並べて構成されるものとする。画像は水平方向Ｗ画素、垂直方向Ｈ画素により構成されるものとする。
【００２２】
次に、本実施形態の画像処理装置での各部の動作について説明する。まず、符号化対象画像データが画像入力部１０１から入力される。画像入力部１０１による符号化対象画像データは、外部記憶装置２０７から入力するものとするが、Ｉ／Ｆ２０９を介して入力しても構わない。次に状態分離閾値決定部１０２では符号化対象画像データの状態を分離するための閾値を決定する。この閾値決定に係る処理の詳細は後述する。予測符号化部１０３は、状態分離閾値決定部１０２で決定した閾値を用い、画像状態を分離しながら可逆の予測符号化を行う。本実施形態では予測方式として、国際標準で規格化されているＪＰＥＧ−ＬＳ符号化方式（ＩＳＯ／ＩＥＣ  １４４９５−１）で用いられているＭＥＤ予測を適用する。ただし、これに限らず、着目画素の周囲の所定数の画素群から予測値を生成し、予測誤差を導出するような方式であれば、ロスレスＪＰＥＧの予測方式など他の予測方式を適用しても構わない。ＭＥＤ予測において、図７（ａ）に示すように、着目画素ｘの周囲の既に符号化された４画素ａ，ｂ，ｃ，ｄから、次式（４）により予測値ｐを算出する。
ｐ＝ｍｉｎ（ａ，ｂ）    （ｍａｘ（ａ，ｂ）≦ｃ  の場合） or
ｐ＝ｍａｘ（ａ，ｂ）    （ｍｉｎ（ａ，ｂ）≧ｃ  の場合） or
ｐ＝ａ＋ｂ−ｃ          （上記以外）                          …（４）
ここで、ｍｉｎ（ｘ，ｙ）はｘ、ｙの小さい方を返す関数、ｍａｘ（ｘ，ｙ）は大きい方の値を返す関数である。
【００２３】
そして上式（４）で得られた予測値ｐと着目画素ｘの差分値である予測誤差ｅ（＝ｘ−ｐ）を求め、予測誤差ｅを次式（５）により非負の整数値にマッピングした値を符号化シンボルＳとする。
Ｓ＝  ２×ｅ      （ｅ≧０の場合）
Ｓ＝−２×ｅ−１  （ｅ＜０の場合）          …（５）
上記の結果、符号化シンボルＳは非負の整数となり、それが偶数か奇数かでもって予測誤差ｅの正負の符号が識別できることになる。
【００２４】
得られた符号化シンボルＳを、Ｋパラメータと呼ばれる符号化パラメータを用い、ゴロム・ライス符号化と呼ばれる方式に従って符号化をする。ゴロム・ライス符号化の手順は以下の通りである。
（１）Ｓを２進数表現して、ＳをＫビット右シフトした値の０を並べ、その後に１を付加する。
（２）（１）の後ろに、Ｓの下位Ｋビットを取りだして付け加える。
【００２５】
図３にゴロム・ライス符号化のＫパラメータとシンボルＳと符号語の関係を示す。ゴロム・ライス符号化の構成はこれに限定されるものではなく、例えば、０と１を反対にして符号を構成しても構わないし、上記手順で述べた（１）と（２）の順番を入れ替えて符号を構成しても良い。
【００２６】
図３を見るとわかるとおり、シンボルＳを固定して見るとＫパラメータによって生成される符号長が異なる。例えばＳ＝０の場合、Ｋパラメータ＝０とすると符号長は１ビットとなるが、Ｋパラメータ＝１とすると符号長は２ビットとなる。これは、Ｋパラメータの値によってシンボルＳの圧縮率が異なる事を意味し、高い圧縮率を実現するためには、このＫパラメータを適切に決定する必要があることを示している。ＪＰＥＧ−ＬＳでは、このＫパラメータを状態の統計情報に基づいて決定する機構を持っており、これにより各状態の符号化シンボルの出現傾向に応じたＫパラメータの決定を実現している。
【００２７】
図１に戻り、符号出力部１０４では、予測符号化部１０３から出力される符号化データに、必要な付加情報を加えて本画像処理装置の出力となる符号列を形成して出力する。図４は本画像処理装置の出力符号列の構成を示す図である。出力符号列の先頭には、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数、色空間を表す属性情報、コンポーネント数、各コンポーネントのビット数や状態分離のための閾値などの付加情報がヘッダとして付けられる。また、本実施形態では画像全体を一つのブロックとして処理したが、画像を分割し、個々のブロックを順番に符号化するように構成してもよい。その際は各ブロックの符号化が他のブロックに依存しないよう構成する事で、複数のブロックを並列に符号化処理することもできる。
【００２８】
以上の処理により、画像全体の符号化が行われる。以上の通りであるから、如何に状態分離閾値決定部１０２で適切な閾値を決め、符号化シンボルの出現傾向が近いものを一つの状態とするよう分離するかが圧縮性能上肝要となる。そこで、この状態分離閾値決定部１０２の処理の詳細を、図５を用いて説明することとする。
【００２９】
最初にステップＳ５０１にて、状態分離閾値決定部１０２は、着目画素位置における画像状態の指標値を算出する。この指標値は、着目画素の周囲の既に符号化した画素群における３つの画素ペアの差分から求められる。画素値の差分は輝度や濃度などの勾配を示すので、以降、この指標値を勾配値ｇという。状態分離閾値決定部１０２は、さらに、勾配値ｇに対応する符号化シンボル値の平均値Ｓave(ｇ）をそれぞれ算出する。図７（a）で示すと、着目画素ｘの位置における勾配値ｇは、着目画素ｘの周囲画素ｄとｂの差分であるＤ１の絶対値、画素ｂとｃの差分であるＤ２の絶対値、ｃとａの差分であるＤ３の絶対値の和である。即ち下式の通りである。
ｇ＝｜Ｄ１｜＋｜Ｄ２｜＋｜Ｄ３｜＝｜ｄ−ｂ｜＋｜ｂ−ｃ｜＋｜ｃ−ａ｜  …（６）
【００３０】
状態分離閾値決定部１０２は、本処理では入力画像をラスタスキャン順に全面走査し、上式で得られる勾配値毎に、符号化シンボル値Ｓを積算し、それぞれの平均値を求める。以下、この処理の詳細を図６の処理フローを用いて説明する。
【００３１】
なお、状態分離閾値決定部１０２は、ステップＳ６０１にて、画像中の着目画素ｘを示すインデックス値である変数ｎ、勾配値ｇの出現回数を格納する配列変数ｃｎｔ（）、符号化シンボル積算値Ｓを格納する配列変数ＳＳ（）をそれぞれ０で初期化する。実施形態の場合、符号化対象の画像の水平方向画素数はＷ，垂直方向画素数はＨとしているので、ｎ＝０，１，２、…、Ｍ×Ｈ−１とである。また、ｇの取り得る範囲は０乃至５１０であるので、配列変ｃｎｔ(０)からｃｎｔ（５１０）、ＳＳ（０）からＳＳ（５１０）が全て０で初期化される。
【００３２】
状態分離閾値決定部１０２は、ステップＳ６０２にて、変数ｎで示される着目画素ｘにおける勾配値ｇを、式（６）に従って求める。そして、状態分離閾値決定部１０２は、ステップＳ６０３にて、着目画素ｘにおける予測値ｐを求める。この予測値ｐは、予測符号化部１０３で実際に行う方法を用いるのが望ましい。本実施形態ではＪＰＥＧ−ＬＳ符号化方式を適用する事を想定しているため、予測値ｐは式（４）に従って求める。なお、着目画素ｘが符号化対象の画像の上端や左端などに位置する場合、周囲画素ａ，ｂ，ｃ，ｄのいくつか、または全てが実在しない画素となることがある。このような非実在画素は、予め設定された値とみなす。この値は、符号化側、復号側で共通になっていればよく、その値は特に問わないが、ここでは“０”であるものとして説明する。
【００３３】
ステップＳ６０４では、予測値ｐと着目画素ｘを用いて符号化シンボルＳを生成する。本処理も予測符号化部１０３と同様に行えばよい。即ち前述の（５）式に符号化シンボルＳを求める。そして、状態分離閾値決定部１０２は、ステップＳ６０５にて、勾配ｇで示される配列変数ＳＳ（ｇ）に、算出したシンボルＳを加算する。そして、ステップＳ６０６にて、状態分離閾値決定部１０２は、勾配ｇが１回発生したので、その出現回数を増加させるため配列変数ｃｎｔ（ｇ）を“１”だけ増加させる。このステップＳ６０５，Ｓ６０６を式で示せば次の通りである。
ＳＳ（ｇ）←ＳＳ（ｇ）＋Ｓ
ｃｎｔ（ｇ）←ｃｎｔ（ｇ）＋１
【００３４】
図８（ａ）は、状態分離閾値決定部１０２が有するメモリに格納される配列変数ｃｎｔ()、ＳＳ（）の状況を示している。図８（ａ）の符号８０１は勾配値、符号８０２は出現回数ｃｎｔ（）、符号８０３は符号化シンボル積算値ＳＳ（）である。符号８０４は符号化シンボル平均値ＳＳave（）、符号８０５は符号化シンボル平均ＳＳave（）に対する符号長を最短とするためのゴロム・ライス符号化のＫパラメータであるＫ（ＳＳave（））である。なお、符号８０４，８０５が示す符号化シンボル平均値ＳＳave（）やパラメータＫ（ＳＳave（））は、全画素についてスキャンが完了した後に算出されるものである。
【００３５】
なお、例えば、ステップＳ６０２で求めた勾配値ｇが“３”であり、ステップＳ６０４で算出した符号化シンボルＳが“５０”であったとする。この場合、図８のｇ＝３の行に位置するｃｎｔ（３）が“１”増加し、符号化シンボル積算値ＳＳ（３）が“５０”増加することになる。
【００３６】
処理はステップＳ６０７に進み、状態分離閾値決定部１０２は、着目画素を次の画素へ移すためインデックス値である変数ｎに１を加算する。そして、状態分離閾値決定部１０２は、ステップＳ６０８にて、状態分離閾値決定部１０２は、変数ｎと、全画素数を示す変数ＰｉｘＮｕｍ（＝Ｗ×Ｈ）とを比較し、全画素の対する処理を終えたか否かを判断する。否の場合には、処理をＳ６０２に戻す。また、全画素に対する処理を終えたと判断した場合には処理をステップＳ６０９に進める。ステップＳ６０９に処理を進んだ場合、状態分離閾値決定部１０２は、勾配毎のシンボル平均値ＳＳave（）（図の符号８０４）を求める。
ＳＳave（ｇ）←ＳＳ（ｇ）／ｃｎｔ（ｇ）
基本的に勾配値ｇが小さい場合、符号化シンボル平均値ＳＳave（）を縦軸に、勾配値ｇを横軸に取って図示すると図８（ｂ）の例に示したような結果となる。以上ステップＳ６０１〜Ｓ６０９の処理により、勾配値ｇ毎の符号化シンボル平均値ＳＳave（ｇ） を得る事ができる。
【００３７】
図５の説明に戻る。状態分離閾値決定部１０２は、ステップＳ５０２にて、符号化シンボル平均値ＳＳave（）に対応する、最適なＫパラメータＫ（ＳＳave（）） を算出する。本実施形態では先述の通り、予測符号化部１０３はＪＰＥＧ−ＬＳ符号化方式を適用する事を想定しているため、エントロピー符号化はゴロム・ライス符号化が用いられる。
【００３８】
シンボルＳとそれに最適なＫパラメータの値の求め方は次式（７）により求めることができる（非特許文献２）。
【００３９】
【数１】
0006572093.tif 000002
【００４０】
本実施形態では上記式（７）を次式（８）のように適用する。
【００４１】
【数２】
0006572093.tif 000003
【００４２】
式（８）で求めたのが、図８の符号８０５で示される値Ｋ（ＳＳave（））である。また、このＫ（ＳＳave（））を縦軸に、勾配値ｇを横軸に取って図示すると図８（ｃ）の例に示したような結果となる。
【００４３】
状態分離閾値決定部１０２は、ステップＳ５０３にて、前ステップで算出したＫ（ＳＳave（））の推移に基づき、状態分離のための閾値Ｔ１、Ｔ２、Ｔ３を決定する。この処理は勾配値ｇを昇順に辿り（小さい方から大きい方に辿り）、Ｋ（ＳＳave（））の変化位置を閾値として適用すればよい。図８（ａ）の例で言うと、ｇ＝３とｇ＝４の間でＫ（ＳＳave（））の値が２から３へ切り替わっている。よって、ｇ＝４を一つ目の閾値Ｔ１とする。同様の方法で、Ｔ２、Ｔ３も決めればよい。このように勾配値に対応した符号化シンボルの平均を参照しながら閾値を決定する事で、符号化シンボルの出現傾向が近いものを一つの状態として分離する事ができる。 
状態分離閾値決定部１０２は、このようにして閾値Ｔ１，Ｔ２，Ｔ３を決定すると、閾値Ｔ１，Ｔ２，Ｔ３を、予測符号化部１０３に設定する。予測符号化部１０３は、予測符号化する際に算出した差分値Ｄ１、Ｄ２、Ｄ３を、閾値Ｔ１，Ｔ２，Ｔ３を用いて量子化を行ってＱ１，Ｑ２，Ｑ３を求め、ＪＰＥＧ−ＬＳに従って符号化すればよいので、その説明は省略する。
【００４４】
以上の説明のように本実施形態では、予測符号化をベースとする可逆符号化方式において、画像の勾配値と符号化シンボルとの対応関係に応じて状態分離のための量子化閾値を決定することにより、状態を適切に分離し符号量を低減することができる。
【００４５】
［第２の実施形態］
上記第１の実施形態では状態分離のための閾値を、ゴロム・ライス符号化における最適Ｋパラメータが切り替わる点に基づき決定した。この方法は最適Ｋパラメータが切り替わるほどの符号化シンボル平均の変動がない場合には適用出来ない。そこで本第２の実施形態では、符号化シンボル平均に対する最適Ｋパラメータの代わりに、符号化シンボル平均の最大値、最小値に基づく状態分離閾値決定方法を説明する。
【００４６】
装置構成は第１の実施形態と変わらない。異なる点は状態分離閾値決定部１０２の処理内容である。図９のフローチャートに従って説明する。状態分離閾値決定部１０２、まず、ステップＳ９０１にて、勾配値ｇに対応する符号化シンボルの平均値ＳＳave（ｇ）をそれぞれ算出する。この処理は、既に説明した第１の実施形態と同様である。次にステップＳ９０２にて、状態分離閾値決定部１０２は、ステップＳ９０１で得た勾配値ｇに対応する符号化シンボル平均値ＳＳave（）の最大値Ｍａｘ（ＳＳave（））と最小値Ｍｉｎ（ＳＳave（））を求め、その差を変動幅Ｒとして得る。
【００４７】
例えば、ＳＳave()の中で、ｇ＝１０における符号化シンボル値ＳＳave（１０）が最小値、ｇ＝１００における符号化シンボル値ＳＳave（１００）が最大値であった場合、変動幅Ｒは次のようにして決める。
Ｒ＝ＳＳave（１００）−ＳＳave（１０）
この際、図１０に示すように勾配値が比較的大きい領域では、該当するパターンが発生せず、符号化シンボル平均値ＳＳave（）が０となってしまう場合がある。この場合の符号化シンボル平均値は最大値ｍａｘ（ＳＳave（）） と最小値Ｍｉｎ（ＳＳave（）を決定する際のサンプルに含めないことが望ましい。
【００４８】
最後にステップＳ９０３にて、状態分離閾値決定部１０２は、符号化シンボル平均値ＳＳave（）の変動幅Ｒを用いて状態分離閾値を決定する。本第２の実施形態では、図１０に示すように、勾配値を０から昇順に辿り、初めて変動幅Ｒの１／８となる値を取る勾配値をＴ１、初めて１／４となる値を取る勾配値をＴ２、初めて１／２となる勾配値をＴ３とする。このように設定する事で最適Ｋパラメータが切り替わるほどの符号化シンボル平均の変動がない場合でも、閾値を適切に決定する事ができる。
【００４９】
［第３の実施形態］
第１の実施形態では予測符号化時に用いるゴロム・ライス符号化の特性を鑑み、最適Ｋパラメータが切り替わる点を状態分離の閾値とした。予測符号化の方式をゴロム・ライス符号化に限らず、より汎用的な符号化方式に対応する決定方法とするために、符号化シンボル平均値の変化量に対し予め定められた閾値に基づいて、状態分離の閾値を決定するよう構成してもよい。状態分離の閾値がＴ１，Ｔ２，Ｔ３の３つである場合、それに対応し、符号化シンボル平均値の変化量に対する閾値はＵ１、Ｕ２、Ｕ３となる。
【００５０】
勾配値ｇ＝０の時の符号化シンボル平均値を初期値ＳＩとし、ＳＩとの差分が初めてＵ１以上となる符号化シンボル平均値の勾配をＴ１とする。そしてＴ１となる勾配値に対応する符号化シンボル平均値を再度ＳＩとして初期化し、同様にＳＩとの差分が初めてＵ２以上となる符号化シンボル平均値の勾配値をＴ２とする。Ｔ３も同様である。Ｕ１，Ｕ２，Ｕ３の具体的な値は例えばＵ１＝２、Ｕ２＝２、Ｕ３＝４等である。Ｕ１＝２とすると、図８（ａ）の例ではｇ＝４の時に、
ＳＳave(４)−ＳＳave（０）＝８．０３−４．４６＝３．５７＞Ｕ１＝２
となり初めて初期値ＳＩ（ｇ＝０）との差分がＵ１以上となるため、Ｔ１＝４となる。他の閾値Ｔ２、Ｔ３も同様である。
【００５１】
＜変形例＞
本発明は上述した実施の形態に限定されるものではない。例えば、上述の実施形態では一つの入力画像に対し一回、状態分離閾値決定処理を実施したが、入力画像の特性に応じて状態分離閾値が決定されていれば良く、代表画像のみ当該処理にて閾値を決定し、その他の画像は該閾値を流用するよう構成しても良い。例えば動画や医用のＣＴ画像など、類似した画像群をまとめて符号化する場合に有効である。
【００５２】
また、上述の実施形態ではＪＰＥＧ−ＬＳの適用を例に、状態を分離するための閾値の数が３つである場合について述べたが、状態を適切に分離出来ればよく、異なる閾値の数であってもよい。また閾値の数を固定せずに符号化シンボル平均値が取る値に応じて増減させるよう構成してもよい。
【００５３】
また、上述の実施形態では勾配値を式（６）で示したような値としたが、式（１）〜（３）で述べた状態分離時に用いる周辺画素の差分値に基づく値であれば良い。よって、式（１）〜（３）のそれぞれの値を独立して勾配値とし、本発明を適用してもよい。この場合は、Ｄ１、Ｄ２、Ｄ３に対してそれぞれ異なる閾値を決定する事になる。
【００５４】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５５】
１０１…画像入力部、１０２…状態分離閾値決定部、１０３…予測符号化部、１０４…符号出力部、
【図１】
0006572093.tif 000004
【図２】
0006572093.tif 000005
【図３】
0006572093.tif 000006
【図４】
0006572093.tif 000007
【図５】
0006572093.tif 000008
【図６】
0006572093.tif 000009
【図７】
0006572093.tif 000010
【図８】
0006572093.tif 000011
【図９】
0006572093.tif 000012
【図１０】
0006572093.tif 000013