説明

適応量子化方法,適応量子化装置および適応量子化プログラム

【課題】入力信号の分布に依存することなく,与えられた符号量の制約条件下において近似誤差を最小化する適応量子化を実現する。
【解決手段】RDコスト算出部17は,入力信号のヒストグラムに対して,別途,与えられたクラス数で,同ヒストグラムを近似する際に,クラス境界の全候補に対して,近似誤差と符号量の加重和を最小化する量子化値,および,そのときの加重和の最小値をメモリに格納し,次のクラスでのクラス境界を選択する際,上記格納した最小値をメモリから読み出し,その時点でのクラス境界選択における加重和の最小値の計算に用いる。区間上端最適値追跡部20は,RDコスト算出部17が算出した結果からクラス境界の全候補に対して近似誤差と符号量の加重和を最小化するクラス境界を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,高能率画像信号符号化の技術に関し,特に符号化効率を向上させるための適応量子化技術に関する。
【背景技術】
【0002】
非可逆符号化において,量子化は必要不可欠な構成要素である。一般的な符号化方式においては,量子化は符号化データの表現精度を制御し,この制御過程において符号化歪みが発生する。基本的な量子化器の設計は,与えられた歪み量の評価尺度に対して,その評価尺度を最小化するための符号語(量子化インデックス)を求める最小化問題に帰着される。歪み量の評価尺度としては,二乗和,絶対値和が用いられる。
【0003】
また,一般的な量子化器の設計においては,符号量に関する制約条件が課せられる。この場合,量子化器の設計は,符号量に関する一定の制約条件の下,与えられた歪み量の評価尺度に対して,その評価尺度を最小化するための符号語(量子化インデックス)を求める制約条件付きの最小化問題に帰着される。符号化対象信号の確率密度関数がパラメトリックに表現できる場合には,解析的に最適解を求める手法(analitical optimization) が可能な場合もある。例えば,確率密度関数が,一様分布,ガウス分布,ラプラス分布に従う場合がそれに当たる。しかし,一般的に符号化対象データに対して,そうしたパラメトリックな表現は成立しない。
【0004】
そこで,計算機上での離散数値演算に基づく最適化手法(operational optimization)が用いられる。代表的な手法が,Lloyd−Max量子化法(非特許文献1参照)である。これは,量子化代表値の算出と量子化ビン境界の算出を一定の収束条件まで繰り返す処理である。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】S. P. Lloyd,“Least Squares Quantization in PCM ”, IEEE Trans. on Information Theory, Vol. IT-28, No.2, pp.129-136, Mar. 1982
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし,Lloyd−Max量子化法は,最適解を得られることが必ずしも保証されていないという問題が指摘されている。これは,Lloyd−Max量子化法が,最適量子化の必要条件のみを考慮して設計された手法であることに起因する。このため,繰り返し処理において用いる初期データに依存して,局所解に陥る可能性を含んでいる。
【0007】
本発明はかかる事情に鑑みてなされたものであって,符号量に関する一定の制約条件が課せられた場合に量子化により発生する近似誤差を最小化する量子化方法を確立することを目的とする。
【課題を解決するための手段】
【0008】
本発明の適応量子化方法は,上記課題を解決するため,入力信号のヒストグラムに対して,別途,与えられたクラス数で,同ヒストグラムを近似する際に,クラス境界の全候補に対して,近似誤差と符号量の加重和を最小化する量子化値,および,そのときの前記加重和の最小値をメモリに格納し,次のクラスでのクラス境界を選択する際,上記格納した最小値をメモリから呼び出し,その時点でのクラス境界選択における加重和の計算に用いることで,クラス境界の全候補に対して加重和を最小化するクラス境界を選択する。これにより,符号量に関する一定の制約条件の下,量子化により発生する近似誤差を最小化する量子化代表値およびクラス境界(量子化境界)を求めることを特徴とする。
【0009】
以上により,符号量に関する一定の制約条件が課せられた場合において,量子化により発生する近似誤差の最小化を実現することができる。
【0010】
また,本発明の適応量子化方法は,入力信号のヒストグラムに対して,別途,与えられたクラス数で,同ヒストグラムを近似する際に,クラス境界の全候補に対して,視覚感度に基づき重み付けされた近似誤差(視覚的近似誤差)と符号量の加重和を最小化する量子化値,および,そのときの前記加重和の最小値をメモリに格納し,次のクラスでのクラス境界を選択する際,上記格納した最小値をメモリから呼び出し,その時点でのクラス境界選択における加重和の計算に用いることで,クラス境界の全候補に対して加重和を最小化するクラス境界を選択する。これにより,符号量に関する一定の制約条件の下,量子化により発生する視覚的近似誤差を最小化する量子化代表値およびクラス境界(量子化境界)を求めることを特徴とする。
【0011】
以上により,符号量に関する一定の制約条件が課せられた場合において,量子化により発生する視覚的な近似誤差の最小化を実現することができる。
【0012】
また,本発明の適応量子化方法は,別途,クラス数の候補が与えられた状態で,入力信号のヒストグラムに対して,同ヒストグラムを近似する際に,クラス数の各候補値に対して,適切に設定された近似誤差と情報量の加重係数を用いて,前述した方法により量子化代表値・クラス境界を求め,その量子化代表値・クラス境界を用いた場合の近似誤差を算出し,クラス数の各候補値を用いた場合の近似誤差の中から最小値を求め,その最小値を実現する量子化代表値・クラス境界,および,その時のクラス数を同定することを特徴とする。
【0013】
以上により,符号量に関する一定の制約条件が課せられた場合において,最適なクラス数を選択し,量子化により発生する近似誤差の最小化を実現することができる。
【0014】
さらに,クラス数Mの最適化において,クラス数をMとして近似誤差と符号量の加重係数を変化させた場合の発生符号量の上限値と下限値とから最適化の対象となるクラス数Mの上限値と下限値とを算出し,クラス数Mの上限値と下限値との範囲に限定して,クラス数の候補値に対する量子化代表値およびクラス境界を求める処理を行うことにより,演算量の削減が可能になる。
【0015】
また,前記クラス数の各候補値に対する量子化代表値およびクラス境界を求める処理において,クラス数M−1として量子化代表値およびクラス境界を求めた結果を記憶し,クラス数Mの量子化代表値およびクラス境界を求める処理に利用することにより,クラス数M−1とクラス数Mとで重複する演算を省略することにより,演算量を削減することができる。
【発明の効果】
【0016】
本発明により,入力信号の分布に依存することなく,与えられた符号量の制約条件のもとにおいて近似誤差を最小化することが可能となり,量子化を伴う非可逆符号化において,符号化効率を向上させることが可能となる。また,画像信号の階調変換を行う際に発生する変換誤差を最小化することも可能となるため,ビット深度変換を用いた画像符号化器における符号化効率の向上も可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る装置構成例を示す図である。
【図2】本発明の一実施形態に係る適応量子化処理のフローチャートである。
【図3】本発明の一実施形態に係る適応量子化処理のフローチャートである。
【発明を実施するための形態】
【0018】
以下,本発明の実施の形態について,図面を用いて説明する。
【0019】
[適応量子化装置の構成例]
図1は,本発明の一実施形態に係る装置構成例を示す図である。
【0020】
適応量子化装置10は,レベル数(クラス数ともいう)Kの入力信号を入力し,レベル数M(M<K)に適応的に量子化して,量子化結果の値を出力する装置である。適応量子化装置10は,入力信号のレベル数Kを記憶する入力信号レベル数記憶部11,量子化後のレベル数Mを記憶する量子化後レベル数記憶部12,与えられた未定乗数λを記憶する未定乗数記憶部13を備える。
【0021】
ヒストグラム生成部14は,入力信号における画素値kの頻度をh[k](k=0,…,K−1)として格納する。近似誤差算出部15は,入力信号のヒストグラムh[k]に対して,量子化後レベル数記憶部12に格納されているレベル数M(クラス数)で,同ヒストグラムを近似するにあたって,ヒストグラムの全区間[0,K]をM個の区間に分割し,各区間を重心(代表値)で近似した場合の近似誤差を,区間幅を変えた各区間の候補について算出する。また,情報量算出部16は,ヒストグラムの全区間[0,K]をM個の区間に分割し,各区間を重心(代表値)で近似した場合の量子化結果の情報量(符号量)を算出する。
【0022】
RDコスト算出部17は,近似誤差算出部15が算出した近似誤差と,情報量算出部16が算出した符号量と,未定乗数記憶部13に記憶されている未定乗数λとから,近似誤差と符号量との加重和(RDコスト)を算出し,先頭の区間から第i番目の区間までの区間の候補の中で,RDコストが最小値となるものをRDコスト最小値記憶部18に記憶する。このとき,第i番目までの区間のRDコストの最小値の算出では,第i−1番目までの区間のRDコストの最小値を利用する。また,RDコスト算出部17は,区間上端最適値記憶部19にRDコストが最小となる区間の上端(クラス境界)の値を記憶する。
【0023】
区間上端最適値追跡部20は,区間上端最適値記憶部19に記憶された区間の上端の値から,クラス境界の全候補に対してRDコストを最小化するクラス境界を選択する。量子化処理部21は,区間上端最適値追跡部20が選択したクラス境界をもとに,入力信号を量子化レベル数Mで量子化し,量子化結果の量子化値を出力する。
【0024】
[適応量子化処理の流れ(基本処理)]
図2および図3は,本発明の一実施形態に係る適応量子化処理のフローチャートである。
【0025】
まず,適応量子化装置10は,量子化後のクラス数Mを入力し,量子化後レベル数記憶部12に記憶し,また,未定乗数λを未定乗数記憶部13に記憶する。ヒストグラム生成部14は,入力信号レベル数記憶部11に記憶されているクラス数Kに従って,入力信号のヒストグラムh[k](k=0,…,K−1)を算出する(ステップS10)。RDコスト算出部17は,RDコスト最小値記憶部18の近似誤差と符号量の加重和(RDコスト)の最小値を0に初期化する(ステップS11)。
【0026】
その後,量子化後のレベルmについて,m=1からm=M−1まで,mの値を1ずつ増やしながら,近似誤差算出部15,情報量算出部16およびRDコスト算出部17により,ステップS24までの処理を繰り返す(ステップS12)。この処理のループでは,さらに量子化レベルmを表す区間の上端Lm の各候補に対して,Lm =mからLm =K−(M−m)まで,Lm を1ずつ増やしながら,ステップS23までの処理を繰り返す(ステップS13)。なお,L0 は予め0に初期化しておく。
【0027】
また,さらに量子化レベルmを表す区間の区間幅Δm の各候補に対して,Δm =1からΔm =Lm −(m−1)まで,Δm を1ずつ増やしながら,ステップS20までの処理を繰り返す(ステップS14)。
【0028】
近似誤差算出部15は,ヒストグラムの区間[Lm −(Δm −1),Lm ]の代表値を算出し(ステップS15),そのヒストグラムの区間を代表値で近似した場合の近似誤差を算出する(ステップS16)。一方,情報量算出部16は,そのヒストグラムの区間を代表値で近似した場合に発生する符号量を算出する(ステップS17)。
【0029】
RDコスト算出部17は,近似誤差算出部15が算出した近似誤差と,情報量算出部16が算出した符号量と,未定乗数記憶部13に記憶されている未定乗数とから,ヒストグラムの区間[Lm −(Δm −1),Lm ]を代表値で近似した場合の近似誤差と符号量との加重和(RDコスト)を算出する(ステップS18)。続いて,RDコスト算出部17は,一つ前の区間までに算出されたRDコスト最小値記憶部18に記憶されているRDコストの最小値と,ステップS18で算出した現在の区間のRDコストの和を算出して記憶する(ステップS19)。次にステップ14に戻り,区間幅Δm の最終の候補の処理が終えるまで,ステップS14〜S20の処理を繰り返す。
【0030】
区間幅Δm の全候補について処理したならば,区間幅Δm の候補の中で,現在の区間までのRDコストが最小となる値をRDコスト最小値記憶部18に記憶する(ステップS21)。また,区間の上端Lm に対してRDコストを最小化する区間情報(区間幅Δm ,区間の上端Lm など)を区間上端最適値記憶部19に記憶する(ステップS22)。
【0031】
以上の処理を上端Lm のすべての候補に対して行い(ステップS23),また,全レベルm(m=M−1まで)について繰り返す(ステップS24)。以上の処理が終了したならば,区間上端最適値追跡部20は,全体の近似誤差を最小化する区間情報(クラス境界)を区間上端最適値記憶部19から選出し,選出したクラス境界の情報を量子化処理部21に出力する(ステップS25)。
【0032】
量子化処理部21は,区間上端最適値追跡部20が出力したクラス境界に従って,入力信号を量子化することにより,近似誤差(変換誤差)と符号量の加重和が最小となる量子化値を出力することができる。
【0033】
以上の処理において,視覚感度特性を考慮した重み付き歪み量の最小化を図る実施例も好適である。視覚感度特性を考慮した重み付き歪み量の最小化を図る場合,ステップS16における近似誤差の算出では,視覚感度に基づき重み付けされた近似誤差を計算する。例えば,画素値k(k=0,…,K−1)に対して,輝度差に対する視覚特性に基づく重み係数w[k]を設定し,画素値kに対する頻度h[k]に重み係数w[k]を乗算した値を用いて,近似誤差(視覚的近似誤差)を算出する。
【0034】
また,区間幅Δm の範囲を制限した準最適化法を適用する場合には,ステップS14において,各Δm を変化させる場合に,予め設定された最大値Aの範囲内で,すなわち,1≦Δm ≦Aの範囲内で各Δm に対する近似誤差の最小値を計算することにより本発明を実施することもできる。
【0035】
図1の例では,量子化レベル数(クラス数)Mが予め定められているとしたが,このクラス数を可変として,本発明による適応量子化を行うこともできる。この場合,別途与えられたクラス数の各候補値に対して,適切に設定された近似誤差と情報量の加重係数を用いて,図2および図3で説明した処理により,量子化代表値・クラス境界を求め,その量子化代表値およびクラス境界を用いた場合の近似誤差を算出し,クラス数の各候補値を用いた場合の近似誤差の中から最小値を求め,その最小値を実現する量子化代表値・クラス境界,および,その時のクラス数を同定する。
【0036】
さらに詳しく,本発明の実施の形態について説明する。
【0037】
[基本解法]
画素値kの頻度をh[k](k=0,…,K−1)として格納する。例えば,8ビットの輝度信号の場合,kの取り得る範囲は0から255の値となる。このK階調の信号をM階調(M<K)に量子化する場合を考える。
【0038】
ヒストグラムの量子化を表現するパラメータとして,次の2種類(Δm とLm )を導入する。Δm はヒストグラムの第m区間の区間幅を表す。さらに,Lm はヒストグラムにおける第m区間の上端であり,次式で定義されるものとする。
【0039】
【数1】

【0040】
なお,量子化後の各階調が,少なくとも1つ以上,量子化前の階調を含む必要があることから,Lm (0≦m≦M−2)は以下の範囲に制限される。
【0041】
m≦Lm ≦K−(M−m)
以下,ヒストグラムの区間[Lm −(Δm −1),Lm ]を第m量子化ビンと呼ぶ。
【0042】
量子化においては,歪み量と符号量の2種類を考慮する必要がある。まず,歪み量としては,ヒストグラムの区間[Lm −(Δm −1),Lm ]を代表値c(Lm −(Δm −1),Lm )で近似した場合の近似誤差として,次式で表されるe(Lm −(Δm −1),Lm )を用いる。
【0043】
【数2】

【0044】
c(Lm −(Δm −1),Lm )は,ヒストグラムの区間[Lm −(Δm −1),Lm ]における重心位置を表し,次式で定まる。
【0045】
【数3】

【0046】
次に,符号量としては,ヒストグラムの区間[Lm −(Δm −1),Lm ]を代表値c(Lm −(Δm −1),Lm )で近似した場合の代表値を表現するために必要な情報量として,次式で表されるl(Lm −(Δm −1),Lm )を用いる。
【0047】
【数4】

【0048】
ここで,p(Lm , Δm )は,ヒストグラムの区間[Lm −(Δm −1),Lm ]における頻度が全頻度に占める割合であり,次式で定義される。
【0049】
【数5】

【0050】
ここで必要なことは,量子化の符号量が一定の閾値以下という条件下で歪み量を最小化することである。つまり,求めるべきパラメータ(Δ0 ,…,ΔM-1 )は,
【0051】
【数6】

【0052】
上式を満たす条件下において,次式を最小化するものである。
【0053】
【数7】

【0054】
こうした制約条件付き最小化問題は,ラグランジュの未定乗数法により,未定乗数λを導入することで,制約条件のない最小化問題に変形できる。つまり,求めるべきパラメータは,次式を満たすM個のパラメータとなる。
【0055】
【数8】

【0056】
ここで,ψ(Lm −(Δm −1),Lm , λ)は,次式で定義される評価尺度(RDコストと呼ぶ)である。
【0057】
ψ(Lm −(Δm −1),Lm , λ)
=e(Lm −(Δm −1),Lm )+λ・l(Lm −(Δm −1),Lm ) (8)
M個のパラメータ(Δ0 ,…,ΔM-1 )の取り得る組み合わせは,Mとともに指数関数的に増加するため,この中から最適な組み合わせ(Δ0 * ,…,ΔM-1 * )を総当りで探索するのは,計算量的に困難である。
【0058】
そこで,第m量子化ビンのRDコストψ(Lm −(Δm −1),Lm , λ)が同ビンの上端Lm と同ビンの区間幅Δm に依存することに着目し,以下のように最適解を算出する。まず,ヒストグラムの区間[0, Lm ]をm+1分割した際のRDコストの総和
Σi=0 m ψ(Li −(Δi −1),Li ,λ)
の最小値をSm (Lm )として定義する。つまり,最適なΔm ,…, Δ0 を用いた場合のΣi=0 m ψ(Li −(Δi −1),Li ,λ)に対する最小値である。
【0059】
ここで,ψ(Lm −(Δm −1),Lm , λ)が第m量子化ビンの上端Lm と同ビンの区間幅Δm に依存することに着目すると,Sm (Lm )はSm-1 (Lm −Δm )を用いて,次式のように表わされる。
【0060】
【数9】

【0061】
なお,m=0,…,M−1である。また,Lm =m,…,K−(M−m)である。
【0062】
Δm の取り得る範囲について考察する。Lm-1 =Lm −Δm であることから,Lm −Δm の範囲は,m−1≦Lm −Δm ≦K−(M−m+1)となる。このため,Δm の範囲 は,与えられたLm を用いて次式のように表される。
【0063】
m −K+(M−m+1)≦Δm ≦Lm −m+1 (10)
さらに,Δm ≧1であることを考慮すると,次式を得る。
【0064】
1≦Δm ≦Lm −m+1 (11)
次式のように,Δm の最大値をAに制限することで,演算量の削減を図るアプローチも採ることができる。ただし,この場合,解の最適性は保証されない。
【0065】
1≦Δm ≦A (12)
ここで,算出したSm (Lm )を格納しておき,Sm+1 (Lm+1 )の計算で用いるものとする。さらに,式(9) の最小値を与えるLm-1 を^Lm-1 (Lm )とおく(なお,^はLの上に付く記号。他も同様)。この^Lm-1 (Lm )(m≦Lm ≦K−(M−m))も,全て格納しておくものとする。
【0066】
m-1 (Lm-1 )(Lm-1 =m−1,…,K−M+m−1)は,同様の漸化式を用いて算出可能であり,その算出値は,Sm (Lm )の計算に用いられる。漸化式(9) を用いることで,Sm (Lm )の計算は,Δm =1,…,Lm −m+1からの最適なパラメータ選択問題に帰着させられる。式(9) の右辺を最小化するΔm の値を^Δm (Lm )として,各Lm (=m,…,K−M+m)に対して,^Lm-1 (Lm )=Lm −^Δm (Lm )をメモリに格納しておくものとする。
【0067】
式(6) の最小化問題は,次式のように表される。
【0068】
【数10】

【0069】
式(9) および式(1) におけるLM-1 =K−1を用いて,式(6) の最小化問題は,(K−M)×(1+K−M)×(M−1)/2個の候補の中から最適解(Δ0 * ,…,ΔM-1 * )を求める最適化問題に帰着される。このように,本方式による方法は,多項式時間での最適解の求解を可能とする。式(13)の
M-2 (LM-1 −ΔM-1 )+ψ(LM-1 −(ΔM-1 −1),LM-1 ,λ)
の最小値を求めた後,最適解(Δ0 * ,…,ΔM-1 * )は,バックトラック過程を通して,求めることができる。次式に示す通り,式(13)の最小化問題の解をΔM-1 * とおく。
【0070】
【数11】

【0071】
このΔM-1 * を用いて,第M−2ビンの上端の最適値は,
M-2 * =LM-1 −ΔM-1 * =K−1−ΔM-1 *
と求まる。第M−3ビンの上端の最適値は,LM-2 * に対する最適解として,^LM-3 (LM-2 * )として格納されているので,該当する値を参照し,LM-3 * =^LM-3 (LM-2 * )とする。この結果,第M−2ビンの区間幅は,ΔM-2 * =LM-2 * −LM-3 * と求まる。以下,同様の参照処理を
M-4 * =^LM-4 (LM-3 * ),…,L1 * =^L1 (L2 *
として繰り返し,得られた各ビンの上端値を用いて,
ΔM-3 * =LM-3 * −LM-4 * ,…,Δ1 * =L1 * −L0 * ,Δ0 * =L0 * +1
として求める。
【0072】
[適応量子化アルゴリズム(基本形)]
以上の適応量子化の基本的な処理手順は,以下のとおりである。
1.入力信号のヒストグラム(クラス数K)を生成する。
2.量子化後のクラス数Mを読み込む。
3.S0 (i)←0(i=0,…,K−M)とする。
4.for m=0,…,M−1 (処理4〜12のループ)
5. for LM =m,…,K−(M−m) (処理5〜12のループ)
6. ただし,m=M−1の場合には,Lm =K−1に限定
7. for Δm =1,…,Lm −(m−1) (処理7〜10のループ)
8. ただし,m=0の場合には,Δm =Lm +1に限定
9. ヒストグラムの区間[Lm −(Δm −1),Lm ]を代表値で近似した場合のRDコストを求める。RDコストは式(8) により求め,そのRDコストをψ(Lm −(Δm −1),Lm ,λ)に格納する。
10. Sm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)の値を計算する。
11. Sm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)(Δm =1,…,Lm −(m−1))の中での最小値をSm (Lm )に格納する。
12. Sm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)(Δm =1,…,Lm −(m−1))を最小化するΔm を用いて,Lm −Δm を^Lm-1 (Lm )に格納する。
13.LM-1 * ←K−1
14.for m=M−1,…,1 (処理14〜16のループ)
15. ^Lm-1 (Lm * )を読み込み,Lm-1 * ←^Lm-1 (Lm * )とする。
16. Δm * ←Lm * −Lm-1 *
17.Δ0 * ←L0 * +1
以上により,区間幅Δm * (m=0,…,M−1)が定まり,クラス境界(量子化境界)が決定される。
【0073】
[未定乗数の設定法]
未定乗数λの設定法について説明する。2つの未定乗数λl ,λu を準備する。なお,この未定乗数は,以下の条件を満たすように設定されるものとする。量子化ビン数をMとし,未定乗数λu およびλl が与えられた場合,前述した適応量子化アルゴリズムにより生成されるパラメータの情報量和を各々,R(ΔM * (λu ),λu ),R(ΔM * (λl ),λl )とすると,次式を満たす。
【0074】
R(ΔM * (λu ),λu )≦R0 ≦R(ΔM * (λl ),λl
未定乗数として,
λ=(λl +λu )/2 (15)
を設定し,同未定乗数を用いて上記[適応量子化アルゴリズム(基本形)]を実行する。そこで生成されるパラメータの情報量和R(ΔM * (λ),λ)を求める。
【0075】
得られたR(ΔM * (λ),λ)の値に基づき,以下のような処理を行う。
(i)R0 −ε≦R(ΔM * (λ),λ)≦R0 の場合:
λを未定乗数として設定する。εは十分小さな正の数である。R(ΔM * (λ),λ)=R0 を評価したいのであるが,実数値の場合,等式の評価は計算精度の観点から難しいため,ここで用いるような不等式の評価を用いる。
(ii)R(ΔM * (λ),λ)>R0 の場合:
λl ←λとして,式(15)以降の処理を繰り返す。
【0076】
(iii) R(ΔM * (λ),λ)<R0 −εの場合:
λu ←λとして,式(15)以降の処理を繰り返す。
【0077】
[未定乗数の設定アルゴリズム]
以上の未定乗数の設定アルゴリズムをまとめると,以下のようになる。
1.量子化ビン数Mを読み込む。
2.情報量の上限R0 を読み込む。
3.次式を満たす未定乗数λl , λu を準備する。
【0078】
R(ΔM * (λu ),λu )≦R0 ≦R(ΔM * (λl ),λl
4.未定乗数として,λ=(λl +λu )/2を設定する。
5.未定乗数λを用いて,上記[適応量子化アルゴリズム(基本形)]を実行する。
6.前の処理5で生成されるパラメータの情報量和R(ΔM * (λ),λ)を求める。
7.if R0 −ε≦R(ΔM * (λ),λ)≦R0 の場合:
λを未定乗数として設定する。
8.if R(ΔM * (λ),λ)>R0 の場合:
λl ←λとして,処理4へ戻る。
9.if R(ΔM * (λ),λ)<R0 −εの場合:
λu ←λとして,処理4へ戻る。
【0079】
[量子化ビン数の設定法(基本解法)]
上記適応量子化の例では,量子化ビン数Mが外部から与えられるものとして説明したが,次に,量子化ビン数を可変とした場合の量子化ビン数Mの設定法について説明する。量子化ビン数Mが取り得る値をBl ≦M≦Bu とし,量子化ビン数M(Bl ≦M≦Bu )の各々について,前述した[未定乗数の設定アルゴリズム]に基づき,最適な未定乗数を求める。量子化ビン数がMの場合に求まる未定乗数をλM * とおく。
【0080】
M=Bl ,…,Bu に対して,未定乗数λM * を用いた場合の近似誤差和D(ΔBl *(λBl* ),λBl* ),…,D(ΔBu* (λBu* ),λBu* )を求め,近似誤差和が最小となる量子化ビン数を最適な量子化ビン数とする。つまり,次式を満たすM* を求める。
【0081】
D(ΔM* *(λM** ),λM** )<D(ΔM * (λM * ),λM *
for all M≠M*
[量子化ビン数の設定アルゴリズム]
量子化ビン数の設定アルゴリズムは,以下のとおりである。
1.情報量の上限R0 を読み込む。
2.for M=Bl ,…,Bu (処理2−1〜2−2のループ)
2−1.[未定乗数の設定アルゴリズム]を実行し,最適な未定乗数λM * および同未定乗数に対する量子化パラメータΔM * (λM * )を求める。
2−2.前の処理2−1で求めた量子化パラメータΔM * (λM * )を用いた場合の近似誤差和D(ΔM * (λM * ),λM * )を^D[M]に格納する。
3.^D[M](M=Bl ,…,Bu )の中で最小値を返すM* を求め,このM* に対する量子化パラメータΔM** (λM** )を出力する。
【0082】
[量子化ビン数の設定法(低演算量解法)]
量子化ビン数Mが取り得る値をBl ≦M≦Bu とし,量子化ビン数M(Bl ≦M≦Bu )が与えられた場合,最適な未定乗数の算出が不要となる量子化ビン数については,同算出処理を省略するアプローチを採る。
【0083】
ここでは,量子化ビン数をMとして,λを変化させた場合の発生符号量の上限値・下限値を考察する。式(7) をλの関数と見た場合,発生符号量の上限を与えるのは,λ=0とした場合,つまり,コスト関数として歪み量のみを用いた場合である。これは,量子化ビン数をMとして,以下の最小化問題を解いた場合に当たる。
【0084】
【数12】

【0085】
一方,発生符号量の下限を与えるのは,λ=+∞とした場合,つまり,コスト関数として符号量のみを用いた場合である。量子化ビン数をMとして,以下の最小化問題を解いた場合に当たる。
【0086】
【数13】

【0087】
上記の最小化問題を解くことで求まる発生符号量の上限・下限を各々Ru (M),Rl (M)とおく。Ru (M),Rl (M)は,いずれも量子化ビン数Mに対する非減少関数である。これは,量子化ビン数として大きな値を設定すれば,発生符号量も増加するためである。また,上限・下限として設定したことから,Rl (M)≦Ru (M)である。
【0088】
ここで,まず,Rl (M)≦R0 を満たすMの最大値をMupper とする。Rl (M)のMに対する非減少性から,Mupper ≦Mを満たすMの場合,発生符号量がR0 以下となる制約条件を満たすことができない。このため,λの設定を含めた最適化の対象は,M≦Mupper を満たすMに限定しても最適性は保証される。
【0089】
次に,Ru (M)≦R0 を満たすMの最大値をMlower とする。発生符号量のMに対する非減少性から,M<Mlower を満たすMの場合,制約条件は必ず満足する。一方,量子化歪みのMに対する非増加性から,M<Mlower を満たすMの場合,M=Mlower の場合以上に,符号化歪みを低減できない。このため,λの設定を含めた最適化の対象は,Mlower ≦Mを満たすMに限定しても最適性は保証される。そこで,
max(Bl ,Mlower )≦M≦min(Bu ,Mupper
を満たすMに限定して,前述した未定乗数の設定のアルゴリズムに基づき,最適な未定乗数を求める。ここで,max()は2つの引数のうち,大きい方の値を返す関数であり,min()は2つの引数のうち,小さい方の値を返す関数である。
【0090】
量子化ビン数がMの場合に求まる未定乗数をλM * とおく。M=Bl ,…,Bu に対して,未定乗数λM * を用いた場合の近似誤差和D(ΔBl *(λBl* ),λBl* ),…,D(ΔBu* (λBu* ),λBu* )を求め,近似誤差和が最小となる量子化ビン数を最適な量子化ビン数とする。つまり,次式を満たすMを求める。
【0091】
D(ΔM* *(λM** ),λM** )<D(ΔM * (λM * ),λM *
for all M≠M*
<Mupper , Mlower の設定に際しての演算量低減法>
upper の設定においては,コスト関数をe()として,各量子化ビン数に対する最適コスト値を算出する。これは,式(8) のRDコストにおいて,λ=0と設定した場合に相当する。一方,Mlower の設定においては,コスト関数をl()として,各量子化ビン数に対する最適コスト値を算出する。これは,式(8) のRDコストにおいて,λとしては,λ=+∞と設定した場合に相当する。
【0092】
上記はいずれも共通のλを用いた場合に,異なる量子化ビン数に対する最適化を行う問題といえる。この場合,異なる量子化ビン数で重複した計算過程があることに着目することで,演算量を低減可能である。Mlower およびMupper の具体的な処理手順を,以下に示す。
【0093】
[Mlower の算出アルゴリズム]
1.入力信号のヒストグラム(クラス数K)を生成する。
2.Mlower ←Bl
3.λ=0,M=Bl として,[適応量子化アルゴリズム]の処理を行い,^Lm-1 (Lm )の値をルックアップテーブルT[m,Lm ]に格納し,さらに,Sm (Lm )の値を別のルックアップテーブルΦBl[m, m ]に格納する。
4.R(ΔBl* (0),0)≧R0 であれば処理を終了する。そうでなければ,次の処理へ進む。
5.for ^M=Bl +1,…,Bu (処理5〜9のループ)
6. M=^Mとして,ルックアップテーブルT[]およびルックアップテーブルΦ^M-1 []を読み込み,後述する[適応量子化アルゴリズム(M−1ビンの量子化結果利用形)]の処理を実施する。
7. 生成されるパラメータの情報量の和R(ΔM * (0),0)を求める。
8. R(ΔM * (0),0)≧R0 であれば,Mlower ←^M−1として,処理を終了する。そうでなければ,次の処理9へ進む。
9. ルックアップテーブルT[]を更新し,ルックアップテーブルΦ^M []を出力する。
【0094】
[Mupper の算出アルゴリズム]
1.入力信号のヒストグラム(クラス数K)を生成する。
2.Mupper ←Bu
3.λ=λ+max,M=Bl として,[適応量子化アルゴリズム]の処理を行い,^Lm-1 (Lm )の値をルックアップテーブルT[m,Lm ]に格納し,さらに,Sm (Lm )の値を別のルックアップテーブルΦBl[m,Lm ]に格納する。ここで,λ+maxは十分大きな値とする。
4.R(ΔBu* (λ+max),λ+max)≧R0 であれば,処理を終了する。この場合,与えられた制約条件を満たす解がないことになる。そうでなければ,次の処理5へ進む。
5.for ^M=Bl +1,…,Bu (処理5〜9のループ)
6. M=^Mとして,ルックアップテーブルT[]およびルックアップテーブルΦ^M-1 []を読み込み,後述する[適応量子化アルゴリズム(M−1ビンの量子化結果利用形)]の処理を実施する。
7. 生成されるパラメータの情報量の和R(ΔM * (λ+max),λ+max)を求める。
8. R(ΔM * (λ+max),λ+max)≧R0 であれば,Mupper ←^M−1として,処理を終了する。そうでなければ,次の処理9へ進む。
9. ルックアップテーブルT[]を更新し,ルックアップテーブルΦ^M []を出力する。
【0095】
<最適ビン数の算出方法>
upper の設定においては,コスト関数をe()として,各量子化ビン数に対する最適コスト値を算出する。これは,式(8) のRDコストにおいて,λ=0と設定した場合に相当する。一方,Mlower の設定においては,コスト関数をl()として,各量子化ビン数に対する最適コスト値を算出する。これは,式(8) のRDコストにおいて,λとしては,λ=+∞と設定した場合に相当する。
【0096】
[量子化ビン数の設定アルゴリズム(低演算量タイプ)]
低演算量タイプの量子化ビン数の設定アルゴリズムを,以下に示す。
1.情報量の上限R0 を読み込む。
2.前述した[Mlower の算出アルゴリズム]によりMlower を求める。
3.前述した[Mupper の算出アルゴリズム]によりMupper を求める。
4.for M=max(Bl ,Mlower ),…,min(Bu ,Mupper
(処理4−1〜4−2の繰り返し)
4−1.M>max(Bl ,Mlower )の場合には,λM-1 * を未定乗数の初期値として入力して,下記に示す[未定乗数の設定アルゴリズム(継承型)]を実行し,最適な未定乗数λM * および同未定乗数に対する量子化パラメータΔM * (λM * )を求める。
【0097】
M=max(Bl ,Mlower )の場合には,[未定乗数の設定アルゴリズム]を実行し,最適な未定乗数λM * および同未定乗数に対する量子化パラメータΔM * (λM * )を求める。
4−2.前の処理4−1で求めた量子化パラメータΔM * (λM * )を用いた場合の近似誤差和D(ΔM * (λM * ),λM * )を,^D[M]に格納する。
5.^D[M](M=Bl ,…,Bu )の中で最小値を返すMを求め,このMに対する量子化パラメータΔM** (λM** )を出力する。
【0098】
[未定乗数の設定アルゴリズム(継承型)]
上記処理4−1で用いる未定乗数の設定アルゴリズム(継承型)の手順は,以下のとおりである。
1.量子化ビン数Mを読み込む。
2.情報量の上限R0 を読み込む。
3.未定乗数λの初期値,および,その上限値λu を読み込む。
4.未定乗数として,λ=(λl +λu )/2を設定する。
5.未定乗数λを用いて後述する[適応量子化アルゴリズム(M−1ビンの量子化結果利用形)]を実行する。
6.処理5で生成されるパラメータの情報量和R(ΔM * (λ),λ)を求める。
7.if R0 −ε≦R(ΔM * (λ),λ)≦R0 の場合:
λu を未定乗数として設定する。
8.未定乗数λu を用いて,後述する[適応量子化アルゴリズム(M−1ビンの量子化結果利用形)]を実行する。
9.処理8で生成されるパラメータの情報量和R(ΔM * (λu ),λu )を求める。
10. if R0 −ε≦R(ΔM * (λu ),λu )≦R0 の場合:
λu を未定乗数として設定する。
11. if R(ΔM * (λu ),λu )>R0 の場合:
λ←2λu として,処理5へ戻る。
12. if R(ΔM * (λu ),λu )<R0 −εの場合:
λl ←λとして,処理4へ戻る。
13. if R0 −ε≦R(ΔM * (λl ),λl )≦R0 の場合:
λl を未定乗数として設定する。
14. if R(ΔM * (λl ),λl )>R0 の場合:
λu ←λとして,処理4へ戻る。
15. if R(ΔM * (λl ),λl )<R0 −εの場合:
λ←λu /2として,処理5へ戻る。
【0099】
以上が未定乗数の設定アルゴリズム(継承型)である。
【0100】
上記はいずれも共通のλを用いた場合に,異なる量子化ビン数に対する最適化を行う問題といえる。この場合,異なる量子化ビン数で重複した計算過程があることに着目することで,演算量を低減可能である。その具体的な処理手順を以下に示す。
【0101】
[適応量子化アルゴリズム(M−1ビンの量子化結果利用形)]
以下の適応量子化アルゴリズムでは,M−1ビンの量子化の結果を用いて,Mビンの量子化を算出する場合の例である。なお,ここで説明を簡単にするために,3≦Mを対象とする。
1.入力信号のヒストグラム(クラス数K)を読み込む。
2.量子化後のクラス数Mを読み込む。
3.for m=0,…,M−3 (処理3〜6のループ)
4. for Lm =m,…,K−(M−m) (処理4〜6のループ)
5. ΦM [m,Lm ]←ΦM-1 [m,Lm
6. Lm −Δm を^Lm-1 (Lm )に格納する。
7.for m=M−2,M−1 (処理7〜16のループ)
8. for Lm =m,…,K−(M+1−m) (処理8〜16ループ)
9.ただし,m=M−1の場合には,Lm =K−1に限定
10. for Δm =1,…,Lm −(m−1) (処理10〜16のループ)
11. ヒストグラムの区間[Lm −(Δm −1),Lm ]を代表値で近似した場合のRDコストを求める。RDコストは式(8) により求め,そのRDコストをψ(Lm −(Δm −1),Lm , λ)に格納する。
12. Φm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)の値を計算する。
13. Φm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)(Δm =1,…,Lm −(m−1))の中での最小値をSm (Lm )に格納する。
14. ΦM+1 [m,Lm ]←Φm (Lm )(m=M−1の場合には,省略)
15. Φm-1 (Lm −Δm )+ψ(Lm −(Δm −1),Lm , λ)(Δm =1,…,Lm −(m−1))を最小化するΔm を用いて,Lm −Δm を^Lm-1 (Lm )に格納する。
16. T[m,Lm ]←^Lm-1 (Lm
17.LM * ←K−1
18.for m=M−1,…,1 (処理18〜21のループ)
19. ^Lm-1 (Lm * )を読み込み,Lm-1 * ←^Lm-1 (Lm * )とする。
20. Δm * ←Lm * −Lm-1 *
21. Δ0 * ←L0 * +1
[ルックアップテーブルを用いた演算量低減法]
上記の処理では,Lm とΔm の組み合わせによっては,RDコストψ(Lm −(Δm −1),Lm , λ)が異なる量子化ビン(mの値が異なるという意味)において必要となる。その度に,RDコストψ(Lm −(Δm −1),Lm , λ)を算出するのは,計算コストの観点から得策ではない。計算結果を格納し,必要に応じて格納結果を呼び出すことで,演算量を低減できる。そこで,ψ(Lm −(Δm −1),Lm , λ)として取り得る値をルックアップテーブル((K−1)×K要素)に格納する。格納処理は,次のような手順になる。
1.for m=0,…,K−2 (処理1〜3のループ)
2. for k=1,…,K−m−1 (処理2〜3のループ)
3. E[m,m+k]←ψ(m,m+k,λ)
なお,前記[量子化ビン数の設定法(基本解法)],[量子化ビン数の設定法(低演算量解法)]において,本ルックアップテーブルを用いる場合,全ての量子化ビン数([量子化ビン数の設定法(基本解法)]の場合,Bl ≦M≦Bu ,[量子化ビン数の設定法(低演算量解法)]の場合,Mlower ≦M≦Mupper )に対して,全ての量子化ビン数で共有可能である。このため,対象とする量子化ビン数が増加しても,ルックアップテーブルを求める処理は増加することはない。
【0102】
[RDコスト計算の漸化関係を用いた演算量低減法]
上述のルックアップテーブル((K−1)×K要素)E[m,m+k]へ格納するRDコストψ(Lm −Δm ,Lm-1 ,λ)の計算過程にも重複した計算が存在するため,そうした重複部分を省略することで,演算量の低減を図る。
【0103】
まず,以下の値を定義する。
【0104】
【数14】

【0105】
これらを用いて,重心位置c(Lm −(Δm −1),Lm ),量子化誤差e(Lm −(Δm −1),Lm )を再定義すると,次のようになる。
【0106】
【数15】

【0107】
これより,c(Lm −(Δm −1),Lm )およびe(Lm −(Δm −1),Lm )が,以下の漸化関係を持つことが分かる。
【0108】
【数16】

【0109】
【数17】

【0110】
さらに,情報量l(Lm −(Δm −1),Lm )が,以下の漸化関係を持つことが分かる。
【0111】
【数18】

【0112】
ここで,Tは頻度の総和である。
【0113】
T=Σk=0 K-1 h[k]
上記の関係に基づきe(Lm −(Δm −1),Lm ),l(Lm −(Δm −1),Lm )を算出し,両者の加重和であるRDコストをルックアップテーブル((K−1)×K要素)に格納する。格納処理は,以下に説明する[RDコストの算出アルゴリズム(低減法)]のようになる。
【0114】
なお,前記[量子化ビン数の設定法(基本解法)],[量子化ビン数の設定法(低演算量解法)]において,本ルックアップテーブルを用いる場合,全ての量子化ビン数([量子化ビン数の設定法(基本解法)]の場合,Bl ≦M≦Bu ,[量子化ビン数の設定法(低演算量解法)]の場合,Mlower ≦M≦Mupper )に対して,全ての量子化ビン数で共有可能である。このため,対象とする量子化ビン数が増加しても,ルックアップテーブルを求める処理は増加することはない。
【0115】
[RDコストの算出アルゴリズム(低減法)]
1.for k=0,…,K−1 (処理1〜4のループ)
2. q1 [0,k]←0
3. q2 [0,k]←0
4. q3 [0,k]←0
5.T←Σk=0 K-1 h[k]
6.for m=0,…,K−2 (処理6〜14のループ)
7. for k=0,…,K−m−1 (処理7〜14のループ)
8. q1 [m,m+k+1]←q1 (m,m+k)+h[m+k+1]
9. q2 [m,m+k+1]←q2 (m,m+k)+(m+k+1)h[m+k+1]
10. q3 [m,m+k+1]←q3 (m,m+k)+(m+k+1)2 h[m+k+1]
11. c[m,m+k+1]←q2 (m,m+k+1)/q1 (m,m+k+1)
12. e[m,m+k+1]←q3 (m,m+k+1)−2c(m,m+k+1)q2 (m,m+k+1)+c(m,m+k+1)2 1 (m,m+k+1)
13. l(Lm −(Δm −1),Lm )←−{q1 (Lm −Δm −1),Lm )/T}{log2 1 (Lm −(Δm −1),Lm )−log2 T}
14. E[m,m+k+1]←e[m,m+k+1]+λ・l(Lm −(Δm −1),Lm
以上を踏まえ,ルックアップテーブルを参照する方式の場合の低演算量形の適応量子化アルゴリズムは,以下のようになる。
【0116】
[適応量子化アルゴリズム(低演算量形)]
1.入力信号のヒストグラム(クラス数K)を生成する。
2.量子化後のクラス数Mを読み込む。
3.[RDコストの算出アルゴリズム(低減法)]に基づくRDコスト算出,およびルックアップテーブルへの格納。
4.[適応量子化アルゴリズム(基本形)]におけるψ(Lm −(Δm −1),Lm , λ)への格納対象の算出処理をルックアップテーブルE[Lm (Δm −1),Lm , λ]からの読み出し処理に置き換えて,同アルゴリズムの処理3以降の処理を実施。
【0117】
[視覚感度特性を考慮した重み付き歪み量の最小化]
視覚系は,低輝度の画素値の変化に比べて,高輝度の画素値の変化に鈍感である。そこで,こうした視覚特性を考慮して量子化を行う場合には,以下のように行う。まず,画素値k(k=0,…,K−1)に対する重み係数として,w[k]を設定する。この重み係数は,外部から与えられるものとする。例えば,高輝度(大きなk)の重みを低輝度(小さなk)の重みより小さな値に設定すれば,上記の輝度差に対する視覚特性を量子化処理に組み込むことが可能になる。この重み係数を用いて,画素値kに対する頻度h[k]を,〜h[k]=w[k]×h[k](ただし,〜はhの上に付く記号)として補正し,この補正後のヒストグラム〜h[k]に対して,前述の量子化処理を実施する。
【0118】
以上の適応量子化の処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
【符号の説明】
【0119】
10 適応量子化装置
11 入力信号レベル数記憶部
12 量子化後レベル数記憶部
13 未定乗数記憶部
14 ヒストグラム生成部
15 近似誤差算出部
16 情報量算出部
17 RDコスト算出部
18 RDコスト最小値記憶部
19 区間上端最適値記憶部
20 区間上端最適値追跡部
21 量子化処理部

【特許請求の範囲】
【請求項1】
クラス数がKの入力信号を,Kより小さいMのクラス数に量子化する適応量子化方法であって,
入力信号についてクラス数Kのヒストグラムを生成するステップと,
与えられたクラス数Mで前記ヒストグラムを近似する際に,クラス境界の全候補に対して,最初のクラス境界の候補から順番に量子化により発生する近似誤差と符号量とを算出し,近似誤差と符号量の加重和を最小化する量子化値に対応するクラス境界情報およびそのときの前記加重和の最小値を算出し,メモリに格納するとともに,次のクラスでのクラス境界を選択する際,上記格納した最小値をメモリから読み出し,その時点でのクラス境界の選択における前記加重和の最小値の計算に用いて,最初のクラスから当該クラスまでの近似誤差を最小化するクラス境界を求めるステップと,
前記メモリに格納されたクラス境界情報および前記加重和の最小値に基づき,クラス境界の全候補に対して近似誤差と符号量の加重和を最小化するクラス境界を選択するステップと,
最終的に選択したクラス境界を用いて入力信号を量子化するステップとを有する
ことを特徴とする適応量子化方法。
【請求項2】
請求項1記載の適応量子化方法において,
前記近似誤差として,クラス数Mの各クラスの代表値と当該各クラスにおける入力信号の値との誤差の絶対値和または二乗和,あるいは,クラス数Mの各クラスの代表値と当該各クラスにおける入力信号の値に対して視覚感度に基づき重み付けされた値との誤差の絶対値和または二乗和を算出する
ことを特徴とする適応量子化方法。
【請求項3】
請求項1または請求項2記載の適応量子化方法において,
前記近似誤差と符号量との加重和として取り得る値を予め算出してルックアップテーブルに格納し,前記ルックアップテーブルを参照して,前記クラス境界の候補に対する加重和を得る
ことを特徴とする適応量子化方法。
【請求項4】
クラス数がKの入力信号を,別途,与えられたクラス数の候補から選択されたクラス数に量子化する適応量子化方法であって,
設定された近似誤差と符号量の加重係数を用いて,前記与えられたクラス数の各候補値に対して,請求項1,請求項2または請求項3に記載された適応量子化方法により,量子化代表値およびクラス境界を求め,
かつ,前記加重係数を変化させて前記適応量子化方法を繰り返すことにより,前記加重係数を最適化し,
最適化した加重係数の下で前記適応量子化方法により求めた量子化代表値およびクラス境界を用いた場合の近似誤差を算出し,クラス数の各候補値を用いた場合の近似誤差の中から最小値を求め,
その最小値を実現する量子化代表値およびクラス境界,並びに,その時のクラス数を同定する
ことを特徴とする適応量子化方法。
【請求項5】
請求項4記載の適応量子化方法において,
前記クラス数をMとして前記近似誤差と符号量の加重係数を変化させた場合の発生符号量の上限値と下限値とから最適化の対象となるクラス数Mの上限値と下限値とを算出し,前記クラス数Mの上限値と下限値との範囲に限定して,前記クラス数の候補値に対する前記量子化代表値およびクラス境界を求める処理を行う
ことを特徴とする適応量子化方法。
【請求項6】
請求項4または請求項5記載の適応量子化方法において,
前記クラス数の各候補値に対する前記量子化代表値およびクラス境界を求める処理において,クラス数M−1として量子化代表値およびクラス境界を求めた結果を記憶し,クラス数Mの量子化代表値およびクラス境界を求める処理に利用することにより,クラス数M−1とクラス数Mとで重複する演算を省略する
ことを特徴とする適応量子化方法。
【請求項7】
クラス数がKの入力信号を,Kより小さいMのクラス数に量子化する適応量子化装置であって,
入力信号についてクラス数Kのヒストグラムを生成するヒストグラム生成手段と,
与えられたクラス数Mで前記ヒストグラムを近似する際に,クラス境界の各候補に対して,量子化により発生する近似誤差を算出する近似誤差算出手段と,
前記クラス境界の各候補に対して,量子化により発生する符号量を算出する情報量算出手段と,
前記近似誤差と前記符号量との加重和を算出する加重和算出手段と,
前記クラス境界の候補の中で,算出された前記加重和が最小となるクラス境界情報および加重和の最小値を記憶する記憶手段と,
前記記憶手段に記憶されたクラス境界情報および加重和の最小値に基づき,クラス境界の全候補に対して前記加重和を最小化するクラス境界を選択する最適値追跡手段と,
前記最適値追跡手段によって選択されたクラス境界を用いて入力信号を量子化する量子化処理手段とを備え,
前記加重和算出手段は,クラス境界の候補の中で次のクラスでのクラス境界を選択する際,前記記憶手段に記憶された加重和の最小値を読み出し,その時点でのクラス境界の選択における加重和の最小値の計算に用いることで,最初のクラスから当該クラスまでの加重和を最小化するクラス境界を求める
ことを特徴とする適応量子化装置。
【請求項8】
クラス数がKの入力信号を,別途,与えられたクラス数の候補から選択されたクラス数に量子化する適応量子化装置であって,
入力信号についてクラス数Kのヒストグラムを生成するヒストグラム生成手段と,
設定された近似誤差と符号量の加重係数を用いて,前記与えられたクラス数の各候補値Mに対して,前記ヒストグラムを近似する際に,クラス境界の各候補に対して,量子化により発生する近似誤差を算出する近似誤差算出手段と,
前記クラス境界の各候補に対して,量子化により発生する符号量を算出する情報量算出手段と,
前記近似誤差と前記符号量との加重和を算出する加重和算出手段と,
前記クラス境界の候補の中で,算出された前記加重和が最小となるクラス境界情報および加重和の最小値を記憶する記憶手段と,
前記記憶手段に記憶されたクラス境界情報および加重和の最小値に基づき,クラス境界の全候補に対して前記加重和を最小化するクラス境界を選択する最適値追跡手段と,
前記最適値追跡手段によって選択されたクラス境界を用いて入力信号を量子化する量子化処理手段とを備え,
前記加重和算出手段は,クラス境界の候補の中で次のクラスでのクラス境界を選択する際,前記記憶手段に記憶された加重和の最小値を読み出し,その時点でのクラス境界の選択における加重和の最小値の計算に用いることで,最初のクラスから当該クラスまでの加重和を最小化するクラス境界を求め,
前記与えられたクラス数の各候補値Mに対して,前記近似誤差と前記符号量との加重和に用いる加重係数の最適化を行うとともに,最適化した加重係数の下で量子化代表値およびクラス境界を用いた場合の近似誤差を算出し,クラス数の各候補値を用いた場合の近似誤差の中から最小値を求め,その最小値を実現する量子化代表値およびクラス境界,並びに,その時のクラス数を同定する
ことを特徴とする適応量子化装置。
【請求項9】
請求項1から請求項6までのいずれか1項に記載の適応量子化方法を,コンピュータに実行させるための適応量子化プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−60210(P2012−60210A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−198576(P2010−198576)
【出願日】平成22年9月6日(2010.9.6)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】