JP6538572B2 - 量子化方法、量子化装置及び量子化プログラム - Google Patents

量子化方法、量子化装置及び量子化プログラム Download PDF

Info

Publication number
JP6538572B2
JP6538572B2 JP2016002850A JP2016002850A JP6538572B2 JP 6538572 B2 JP6538572 B2 JP 6538572B2 JP 2016002850 A JP2016002850 A JP 2016002850A JP 2016002850 A JP2016002850 A JP 2016002850A JP 6538572 B2 JP6538572 B2 JP 6538572B2
Authority
JP
Japan
Prior art keywords
class
value
significant
elements
histogram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016002850A
Other languages
English (en)
Other versions
JP2017123614A (ja
Inventor
幸浩 坂東
幸浩 坂東
誠之 高村
誠之 高村
清水 淳
淳 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016002850A priority Critical patent/JP6538572B2/ja
Publication of JP2017123614A publication Critical patent/JP2017123614A/ja
Application granted granted Critical
Publication of JP6538572B2 publication Critical patent/JP6538572B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

本発明は、量子化方法、量子化装置及び量子化プログラムに関する。
近年、画像の高品質化に伴い、広ダイナミックレンジ映像への期待が高まっている。広ダイナミックレンジを有する画像信号に対する高いビット深度を用いた表現が検討されている。従来の8ビットから10ビット以上に拡張した高ビット深度信号を取得可能なデバイスが登場している。
画像の符号量は、画像信号の高ビット深度化に応じて増大する。このため、効率的な符号化方法が求められている。図18は、従来の高ビット深度信号の第1の符号化方法を示す図である。従来の高ビット深度信号の第1の符号化方法では、符号化装置は、高ビット深度信号の画像信号にビット深度変換処理を施すことで、画像信号を低ビット深度信号に変換して符号化及び復号処理を行う。さらに、符号化装置は、復号画像に対して逆ビット深度変換処理を行い、高ビット深度画像を生成する。最後に、符号化装置は、高ビット深度画像と入力信号との差分信号を符号化する。符号化装置の出力は、差分信号の符号化ストリームと、低ビット深度信号の符号化ストリームとである。このように、従来の高ビット深度信号の第1の符号化方法は、ビット深度のスケーラブル符号化に対応した方法である。
図19は、従来の高ビット深度信号の第2の符号化方法を示す図である。図19では、符号化装置は、差分信号の符号化ストリームを出力しない。符号化装置は、取得した画像信号にビット深度変換処理を施すことで、画像信号を復号信号に変換して符号化及び復号処理を行う。その後、符号化装置は、低ビット深度画像の復号信号に逆ビット深度変換処理を施し、高ビット深度画像の復号信号を出力する。
図18に示す従来の高ビット深度信号の第1の符号化方法における符号化効率は、ビット深度変換処理に大きく依存する。従来の高ビット深度信号の第1の符号化方法においては、入力信号と逆ビット深度変換処理後の復号信号との差分値の二乗和(以下、「ビット深度変換誤差」という。)を抑えることで、符号化器の出力信号の符号量を抑えることができる。ビット深度変換処理において、いくつかのトーンマッピング(Tone Mapping)を用いた方法が非特許文献1に開示されている。符号化効率を向上させるためには、ビット深度変換誤差を最小化するようにビット深度変換が設計される必要がある。
E. Reinhard, M. Stark, P. Shirley, and J. Ferwerda, "Photographic Tone Reproduction for Digital Images", In SIGGRAPH 2002 Conference Proceeding, ACM SIGGRAPH, Addison Wesley, pp. 267-277, August 2002.
画素値の振幅方向の疎性に着目すると、画像によっては、与えられたビット深度によって表現可能な値を全て含まない場合がある。例えば、10ビット信号の場合、0から1023までの1024種類の値を表現できる。振幅方向の疎性とは、画素値として画像内に含まれる値の種類が1024通り未満となる性質を指す。つまり、そうした画像では、画素値の頻度をヒストグラムとして表現した場合、頻度が零値になる画素値が存在する。なお、前述のビット深度変化処理は、ヒストグラムに対する一種の量子化処理とみなせる。
頻度が零値になる画素値は、ビット深度変換誤差に影響を与えない。しかしながら、従来の量子化方法は、信号の階調変換を行う際に発生する変換誤差を最小化する場合、量子化に要する演算量を低減することができないという問題がある。
上記事情に鑑み、本発明は、信号の階調変換を行う際に発生する変換誤差を最小化する場合でも、量子化に要する演算量を低減することが可能となる量子化方法、量子化装置及び量子化プログラムを提供することを目的としている。
本発明の一態様は、第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納するステップと、前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択するステップと、を含む量子化方法である。
本発明の一態様は、第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の下限に対して、前記選択可能範囲の下限を上端とする各区間内における非有意要素の連続数の最大値を加算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の限に最も近い前記有意要素の位置とを比較し、相対的に大きな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納するステップと、前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択するステップと、を含む量子化方法である。
本発明の一態様は、第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置であって、前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納する近似誤差最小値決定部と、前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択する上端追跡部と、を備える量子化装置である。
本発明の一態様は、第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置のコンピュータに、前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納する手順と、前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択する手順と、を実行させるための量子化プログラムである。
本発明により、信号の階調変換を行う際に発生する変換誤差を最小化する場合でも、量子化に要する演算量を低減することが可能となる。
実施形態における、参照テーブルρ[m]を生成する処理の例を示す図である。 実施形態における、参照テーブルρ[m]を生成する処理の例を示す図である。 実施形態における、ルックアップテーブルに格納する処理の例を示す図である。 実施形態における、適応量子化処理の例を示すフローチャートである。 実施形態における、要素インデックスと有意要素インデックスとの対応関係を格納した参照テーブルを生成する処理の例を示す図である。 実施形態における、非有意要素の個数を格納した参照テーブルを生成する処理の例を示す図である。 実施形態における、演算量低減型適応量子化処理の例を示すフローチャートである。 実施形態における、近似誤差参照テーブルを生成する処理(ステップS205)の例を示すフローチャートである。 実施形態における、ステップS104−2及びステップS204−2での上界用の参照テーブルを生成する処理の例を示すフローチャートである。 実施形態における、ステップS104−2及びステップS204−2での下界用の参照テーブルを生成する処理の例を示すフローチャートである。 実施形態における、ステップS401での参照テーブルを生成する処理の例を示すフローチャートである。 実施形態における、ステップS501での参照テーブルを生成する処理の例を示すフローチャートである。 実施形態における、量子化装置の構成の第1例を示す図である。 実施形態における、量子化装置の構成の第2例を示す図である。 実施形態における、適応量子化処理の基本処理の例を示す図である。 実施形態における、適応量子化処理の演算量低減処理の例を示す図である。 実施形態における、近似誤差参照テーブルを生成する処理の例を示す図である。 従来の高ビット深度信号の第1の符号化方法を示す図である。 従来の高ビット深度信号の第2の符号化方法を示す図である。
本発明の実施形態について、図面を参照して詳細に説明する。
以下、図又は式において変数等の上に付された記号(^:ハット、〜:チルダ)は、変数の前に記載する。例えば、「^」が上に付されたcは、「^c」と表記する。以下、図又は式において変数又は記号の下付きの記号等と上付きの記号等とでは、下付きの記号等を先に記載する。例えば、下付き「1」と上付き「*」とが付された変数Δは、「Δ 」と表記する。例えば、下付き「i=0」と上付き「m」とが付された記号Σは、「Σi=0 」と表記する。
以下、Kは、入力信号のレベル数(以下、「入力レベル数」という。)を示す。M(M<K)は、量子化された入力信号に基づく出力信号のレベル数(以下、「量子化レベル数」という。)を示す。画素値kのヒストグラム(頻度)をh[k](k=0,…,K−1)と表記する。
[量子化器の設計]
画像信号(輝度信号)が8ビットである場合、画素値kの取り得る範囲は、0から「入力レベル数−1」までの整数、すなわち、0から255の値となる。入力レベル数Kの画像信号を量子化レベル数の画像信号に量子化する場合を考える。求めるべきパラメータは、式(1)を満たすM個のパラメータである。
Figure 0006538572
ここで、Lは、ヒストグラムにおける第m区間の上端であり、式(2)によって表される。
Figure 0006538572
ここで、Δは、ヒストグラムの第m区間の区間幅を表す。また、量子化後の各階調が、少なくとも1個以上、量子化前の階調を含む必要があることから、L(0≦m≦M−2)は、m≦L≦K−(M−m)の範囲に制限される。LM−1はLM−1=K−1に固定されているので、Lについては、m=M−1を省略し、m≦M−2を考えれば良い。
e(L−(Δ−1),L)は次式で求まる値であり、ヒストグラムの区間[L−(Δ−1),L]を代表値c(L−(Δ−1),L)で近似した場合の近似誤差である。
Figure 0006538572
さらに、^c(L−(Δ−1),L)は、式(4)で求まる実数値c(L−(Δ−1),L)を四捨五入して整数化した値である。
Figure 0006538572
c(L−(Δ−1),L)は、ヒストグラムの区間[L−(Δ−1),L]における重心位置を表す。以下、ヒストグラムの区間[L−(Δ−1),L]を第m量子化クラスと呼ぶ。M個のパラメータ(Δ,…,Δ)の取り得る組み合わせは、Mとともに指数関数的に増加するため、この中から最適な組み合わせ(Δ,…,Δm)を総当りで探索するのは、計算量的に困難である。
そこで、第m量子化クラスの量子化誤差e(L−(Δ−1),L)が同クラスの上端Lと同クラスの区間幅Δmに依存することに着目し、以下のように最適解を算出する。さらに、その際、ヒストグラムの非有意要素に基づく演算量削減を行う。
[基本解法]
まず、ヒストグラムの区間[0,L]をm+1分割した際の近似誤差和Σi=0 e(L−(Δ−1),L)の最小値をS(L)として定義する。つまり、最適なΔ,…,Δを用いた場合のΣi=0 e(L−(Δ−1),L)に対する最小値である。ここで、e(L−(Δ−1),L)が第m量子化クラスの上端Lmと同クラスの区間幅Δに依存することに着目すると、S(L)はSm−1(L−Δ)を用いて、式(5)のように表わされる。
Figure 0006538572
なお、m=1,…,M−1である。また、L=m,…,K−(M−m)である。
Δの範囲は、次のようになる。Lm−1=L−Δであることから、L−Δの範囲は、m−1≦L−Δ≦K−(M−m+1)となる。このため、Δの範囲は、与えられたLを用いて式(6)のように表わされる。
Figure 0006538572
さらに、Δ≧1であることを考慮すると、式(7)を得る。
Figure 0006538572
ここで、算出したS(L)を格納しておき、Sm+1(Lm+1)の計算で用いるものとする。さらに、式(5)の右辺を最小化するΔの値をΔ (Lm)として、各Lm(=m,…,K−M+m)に対して^Lm−1[L]=L−Δ (Lm)を格納する。式(1)の最小化問題は、式(8)のように表される。
Figure 0006538572
式(8)を最小化するΔM−1をΔM−1 と表記する。ΔM−1 は、式(9)によって表される。
Figure 0006538572
ΔM−1 を用いて、第M−2クラスの上端の最適値はLM−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 と求まる。以下、同様の参照処理をLM−4 =^LM−4[LM−3 ],…,L =^L[L ]として繰り返し、得られた各クラスの上端値を用いて、ΔM−3 =LM−3 −LM−4 ,…,Δ =L −L−1 として求める。なお、L−1 =−1である。
[ヒストグラムの非有意要素に基づく演算量削減]
ヒストグラムの非有意要素(頻度値が零値となる要素)に着目し、演算量を削減する方法を導入する。以下、ヒストグラムh[k](k=0,…,K−1)について、要素を指定するインデックスkを「要素インデックス」という。以下、ヒストグラムh[k]について、有意要素(〜K個)を指定するインデックス〜k(〜k=0,…,〜K−1)を「有意要素インデックス」という。
画素値L+1における頻度値h[L+1]が零値である場合、即ち、h[L+1]=0の場合、ヒストグラムの区間[L−(Δ−1),L+1]に対する近似誤差は、ヒストグラムの区間[L−(Δ−1),L]に対する近似誤差と等しい。h[L+1]=0であることから、量子化の対象となる区間にh[L+1]を加えたとしても、量子化による近似には影響を与えないためである。従って、h[L+1]=0の場合、式(5)に基づくS(L+1)の算出は省略することが可能となる。
ヒストグラムの非有意要素に着目した適応処理の準備として、以下の参照テーブルを用意する。Z[k](k=0,…,K−1)は、ヒストグラムの区間[0,k]に含まれる非有意要素の個数を格納する。F[〜K]は、第〜K番目の有意要素(非有意要素ではなく有意要素)に対応する要素インデックスを格納する。一方、F−1[k]は、第k番目の要素に対応する有意要素インデックスを格納する。なお、第k要素が非有意要素の場合、F−1[K]には“don’t care”を表す値を代入する。
Ψ[m](m=0,…,M−1)は第mビンの上端となりうる有意要素インデックスの最大値を格納する。Ψ[m](m=0,…,M−1)は第mビンの上端となりうる有意要素インデックスの最小値を格納する。ここで、Ψ[m],Ψ[m](m=0,…,M−1)は各々、次のように設定される。以下は参照テーブルZ[]を用いた場合のΨ[m],Ψ[m](m=0,…,M−1)の計算方法である。
Figure 0006538572
Figure 0006538572
以下は参照テーブルF−1[]を用いた場合のΨ[m],Ψ[m](m=0,…,M−1)の計算方法である。
Figure 0006538572
Figure 0006538572
ここで、〜K−1は有意要素インデックスの最大値を表している。K−1−Z[K−1]は〜K−1と表される。ψ[m−M+K]は、ヒストグラムの区間[m,m−M+K]における有意要素の要素インデックスの最大値であり、ψ[m]は、ヒストグラムの区間[m,m−M+K]における有意要素の要素インデックスの最小値である。つまり、ψ[m−M+K]は、第mビンの上端として取りうる有意要素の中で、選択可能範囲の上限に最も近い有意要素であり、ψ[m]は、第mビンの上端として取りうる有意要素の中で、選択可能範囲の下限に最も近い有意要素である。
図1は、参照テーブルρ[m]を生成する処理の例を示す図である。図2は、参照テーブルρ[m]を生成する処理の例を示す図である。式(10)から式(13)までは、一定の条件を満たす場合、ψ[m−M+K]およびψ[m]の指す有意要素が最適解の候補とはなりえず、最適解の探索候補から除外可能であることを示している。その条件とは、ψ[m−M+K]の場合は、ρ[m]で定まるインデックス値m−M+K−ρ[m]が、ψ[m−M+K]が表す要素インデックスよりも小さな値をとることであり、ψ[m]の場合は、ρ[m]で定まるインデックス値m+ρ[m]が、ψ[m]が表す要素インデックスよりも大きな値をとることである。ここで、ρ[m]は、ヒストグラムの区間[m−M+K,K−1]における非有意要素のみからなる部分区間の区間幅の最大値を表し、ρ[m]はヒストグラムの区間[0,m]における非有意要素のみからなる部分区間の区間幅の最大値を表す。つまり、ρ[m]およびρ[m]は、指定された各区間内における非有意要素の連続数の最大値を表している。各々、図1及び図2に示すように定まる。
[最適解の求解]
非有意要素に対する不要な演算を省略し、演算量を低減するために、有意要素インデックスを用いた最適解の求解アルゴリズムを以下に示す。
〜L番目の有意要素を上端とするヒストグラムの区間[0,F[〜L]]をm+1分割した場合を考える。同区間の分割により得られる部分区間[F[〜L−(〜Δ−1)],F[〜L]](ここで、i=0,…,m)を第iビンとする。第iビンに対して、重心で近似した場合の量子化誤差e(F[〜L−(〜Δ−1)],F[〜L])を算出する。ここで、〜Lは第iビンの上端にあたる有意要素インデックスであり、〜Δは第iビン内の有意要素数である。さらに、量子化誤差和Σi=0 e[〜L−(〜Δ−1),〜L]の最小値を格納する参照テーブルを〜S[〜L]として定義する。つまり、最適な〜Δ,…,〜Δを用いた場合のσi=0 e[〜L−(〜Δ−1),〜L]に対する最小値である。なお、〜S[〜L]はS[F[〜L]]と等しい。
ここで、〜e(〜L−(〜Δ−1),〜L)が第m量子化クラスの上端の有意要素インデックス〜Lと同クラスの区間幅内の有意要素数〜Δに依存することに着目すると、〜S(〜L)は〜S−1(〜L−〜Δ)を用いて、式(14)のように表される。
Figure 0006538572
なお、m=0,…,M−1である。また、〜L=Ψ[m],…,Ψ[m]である。〜Δの範囲は、次のようになる。〜Lm−1=〜L−〜Δであることから、〜L−〜Δの範囲は、Ψ[m−1]≦〜L−〜Δ≦Ψ[m−1]となる。このため、〜Δの範囲は、与えられた〜Lを用いて式(15)のよう表される。
Figure 0006538572
さらに、〜Δ≧1であることを考慮すると、式(16)を得る。
Figure 0006538572
ここで、算出した〜S(〜L)を格納しておき、〜Sm+1(〜Lm+1)の計算で用いるものとする。さらに、式(14)の右辺を最小値化する〜Δを〜Δ (〜Lm)とし、第mビンの上端を〜Lとした場合の最適な第m−1ビンの上端として、^Lm−1[〜L]=〜L−〜Δ (〜Lm)を各〜L(=Ψ[m],…,Ψ[m])に対して格納しておくものとする。式(1)の最小化問題は、式(17)のように表される。
Figure 0006538572
ここで、〜K=K−Z[K−1]である。式(17)を最小化する〜ΔM−1を〜ΔM−1 とおく。ΔM−1 は、式(18)によって表される。
Figure 0006538572
〜LM−1の取り得る値はK−Z[K−1]−1のみであることから、〜LM−1=K−Z[K−1]−1となる。〜LM−1及び〜ΔM−1 を用いて、第M−2クラスの上端の有意要素インデックスの最適値は〜LM−2 =〜LM−1−〜ΔM−1 =K−Z[K−1]−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と求まる。以下、同様の参照処理を〜LM−4 =^LM−4[〜LM−3 ],…,〜L =^L[〜L ]として繰り返し、得られた各クラスの上端の有意要素インデックスを用いて、〜ΔM−3 =〜LM−3 −〜LM−4 ,…,〜Δ =〜L −〜L−1 として求める。なお、〜L−1 =−1である。
各クラスの上端の有意要素インデックス〜LM−1,〜LM−2 ,…,〜L から、F[〜LM−1],F[〜LM−2 ],…,F[〜L ]により、各クラスの上端が求まる。
[量子化誤差のルックアップテーブルへの格納]
とΔの組み合わせによっては、異なる量子化クラス(mの値が異なるという意味)において、量子化誤差e(L−(Δ−1),L)が必要となる。その度に、量子化誤差e(L−(Δ−1),L)を算出するのは、計算コストの観点から得策ではない。計算結果を格納し、必要に応じて格納結果を呼び出すことで、演算量を低減できる。そこで、e(L−(Δ−1),L)として取りうる値をルックアップテーブル(M×K要素)に格納する。
図3は、ルックアップテーブルに格納する処理(格納処理)の例を示す図である。上述のルックアップテーブル((K−Z[K−1]−1)×(K−Z[K−1])要素)E[〜i,〜i]へ格納する量子化誤差e(F[〜i],F[〜i])の計算過程にも重複した計算が存在するため、そうした重複部分を省略することで、演算量の低減を図る。まず、以下の値を定義する。
Figure 0006538572
Figure 0006538572
Figure 0006538572
Figure 0006538572
Figure 0006538572
これより、c(〜i,〜i)およびe(〜i,〜i)が以下の漸化関係を持つことが分かる。
Figure 0006538572
Figure 0006538572
漸化関係に基づきe(〜i,〜i)を算出し、算出結果をルックアップテーブル((K−Z[K−1]−1)×(K−Z[K−1])要素)に格納する。
[フローチャート:適応量子化処理]
適応量子化処理の実施形態について図面を参照して説明する。
図4は、適応量子化処理の例を示すフローチャートである。入力信号を読み込み、入力信号値のヒストグラムを生成する(ステップS101)。ヒストグラムの要素インデックスをk、ヒストグラムの有意要素インデックスを〜kとし、このkと〜kの対応関係を格納した参照テーブルとして、F[〜k]を生成する(ステップS102)。
図5は、要素インデックスと有意要素インデックスとの対応関係を格納した参照テーブルを生成する処理の例を示す図である。F[〜k]の具体的な生成方法は、図5に示す通りである。ヒストグラムの区間[0,k]に含まれる非有意要素の個数を格納した参照テーブルとして、Z[k]を生成する(ステップS103)。
図6は、非有意要素の個数を格納した参照テーブルを生成する処理の例を示す図である。Z[k]の具体的な生成方法は、図6に示す通りである。
図4に示すように、ヒストグラムを入力として読み込み、m=0,…,M−1に対して、ヒストグラムの区間[m,m−M+K]における有意要素の要素インデックスの最大値および最小値を各々、参照テーブルΨ[m−M+K]および参照テーブルΨ[m]に格納する(ステップS104−1)。非有意係数をスキップすることに伴うLmの最大値を格納した参照テーブルとして、Ψ[m](m=0,…,M−1)を生成する。具体的には、式(26)及び式(27)により設定する(ステップS104−2)。
Figure 0006538572
Figure 0006538572
ステップS107までの処理をj=1,…,K−M−1−Z[K−M−1]として繰り返す(ステップS105)。
ヒストグラムの区間[0,F[j]]を代表値(式(4)により求まる重心)で近似した場合の近似誤差〜e[0,j]を求め、同近似誤差をS(j)に格納する(ステップS106)。
ステップS118までの処理をm=1,…,M−1として繰り返す(ステップS108)。
ステップS117までの処理を〜L=Ψ[m],…,Ψ[m]として繰り返す(ステップS109)。
ステップS114までの以下の処理を〜Δ=1,…,〜L−Ψ(m−1)として繰り返す(ステップS110)。
ヒトグラムの区間[F[〜L−(〜Δ−1)],F[〜L]]の代表値を式(4)により求める(ステップS111)。
ヒストグラムの区間[F[〜L−(〜Δ−1)],F[〜L]]を代表値(ステップS111で求めた値)で近似した場合の近似誤差を式(3)より求める。同近似誤差を〜e(〜L−(〜Δ−1),〜L)とする(ステップS112)。
〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)の値を計算する(ステップS113)。
〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))の中での最小値を〜S(〜L)に格納する(ステップS115)。
〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))を最小化する〜Δmを用いて、〜L−〜Δを^Lm−1(〜L)に格納する。以下、^Lm−1(〜L)を「最適パス追跡用参照テーブル」という(ステップS116)。
M−1 にK−1を代入する。〜LM−1 にK−Z[k−1]−1を代入する(ステップS119)。
ステップS122までの処理をm=M−1,…,1として繰り返す(ステップS120)。
^Lm−1(〜L )を読み込み、〜Lm−1 に代入する。F[〜Lm−1 ]を読み込み、Lm−1 に代入する(ステップS121)。
[フローチャート:演算量低減型適応量子化処理]
近似誤差を参照テーブルに格納し、適宜、同参照テーブルから近似誤差を読み込む形に拡張した適応量子化処理の実施形態について図面を参照して説明する。
図7は、演算量低減型適応量子化処理の例を示すフローチャートである。
ステップS201〜ステップS204−2は、ステップS101〜ステップS104と同じである。
ヒストグラムの各区間を代表値で近似した際の近似誤差を格納した参照テーブルを生成する(ステップS205)。
ステップS206〜ステップS212は、ステップS105〜ステップS111と同じである。
ヒストグラムの区間[F[〜L−(〜Δ−1)],F[〜L]]を代表値で近似した場合の近似誤差を参照テーブルE(〜L−(〜Δ−1),〜L)から読み込む(ステップS213)。
〜Sm−1(〜L−〜Δ)+E(〜L−(〜Δm−1),〜L)の値を計算する(ステップS214)。
〜Sm−1(〜L−〜Δ)+E(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))の中での最小値を〜Sm(〜Lm)に格納する(ステップS216)。
〜S−1(〜L−〜Δ)+E(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))を最小化する〜Δを用いて、〜L−〜Δを^L−1(〜L)に格納する(ステップS217)。
ステップS220〜ステップS223は、ステップS119〜ステップS122と同じである。
図8は、近似誤差参照テーブルを生成する処理(ステップS205)の例を示すフローチャートである。入力信号のヒストグラムを読み込む(ステップS301)。
参照テーブルZ[k](k=0,…,k−1),F[〜k](〜k=0,…,K−Z[K−1]−1)を読み込む(ステップS302)。
ステップS305までの処理を〜k=1,…,K−Z[K−1]−1として繰り返す(ステップS303)。
[0,〜k],q[0,〜k],q[0,〜k]に0を格納する(ステップS304)。
ステップS316までの処理を〜i=0,…,K−Z[K−1]−2として繰り返す(ステップS306)。
〜i+K−Z[K−1]−M−1とK−Z[K−1]−1を比較して、小さい方の値を変数Uに格納する(ステップS307)。
ステップS315までの処理を〜i=〜i+1,…,Uとして繰り返す(ステップS308)。
参照テーブルF[〜i]を読み込み、iにF[〜i]を代入する。参照テーブルF[〜i]を読み込み、isにF[〜i]を代入する(ステップS309)。
[i,i−1]、h[i]を読み込み、q[i,i−1]+h[i]を算出し、算出結果をq[i,i]に格納する(ステップS310)。
[i,i−1]、h[i]、iを読み込み、q[i,i−1]+ieh[ie]を算出し、算出結果をq[i,i]に格納する(ステップS311)。
[i,i−1]、h[i]、iを読み込み、q[i,i−1]+i h[i]を算出し、算出結果をq[i,i]に格納する(ステップS312)。
[i,i−1]、q[i,i−1]を読み込み、q[i,i]q[i,i]を算出し、算出結果をc[i,i]に格納する(ステップS313)。
[i,i−1]、q[i,i−1]、q[i,i−1]、c[i,i]を読み込み、q[i,i]−2c[i,i]q[i,i]+c[i,i[i,i]を算出し、算出結果をE[〜i,〜i]に格納する(ステップS314)。
[参照テーブル生成処理の流れ]
図9は、ステップS104−2及びステップS204−2での上界用の参照テーブルを生成する処理の例を示すフローチャートである。
ヒストグラムを入力として読み込み、ヒストグラムの区間[m−M+K,K−1]における非有意要素のみからなる部分区間の区間幅の最大値を求め、参照テーブルρ[m]、ρ[m](m=0,…,M−1に格納する(ステップS401)。具体的な処理の流れは、図11に示される。
m=0,…,M−1に対して、ステップS403〜ステップS408の処理を繰り返す(ステップS402)。
ヒストグラムを入力として読み込み、ヒストグラムの区間[m,m−M+K]における有意要素の要素インデックスの最大値を参照テーブルΨ[m−M+K]から読み込む。同参照テーブルは、図2のステップS104−1及び図7のステップS204−1で出力されたものである(ステップS403)。
ヒストグラムの区間[m−M+K,K−1]における非有意要素のみからなる部分区間の区間幅の最大値として、ステップS401で出力した参照テーブルψ[m]の値を読み出す(ステップS404)。
選択可能範囲の上限にあたる要素インデックスm−M+Kから、ステップS404で読み込んだ区間幅ρ[m]を減算した値として、m−M+K−ρ[m]の値を求める(ステップS405)。
ステップS403及びステップS405で求めた値を入力として読み込み、小さい方の値をmin(ψ[m−M+K],m−M+K−ρ[m])として求め、この値を選択可能範囲の新たな上限にあたる要素インデックスとする(ステップS406)。
ステップS406で求めた要素インデックスを入力として読み込み、同要素インデックスに対する有意要素インデックスを求める(ステップS407)。参照テーブルに格納する上記有意要素インデックスの算出に際しては、式(10)又は式(12)に従う。
有意要素インデックスを格納したテーブルΨ[m](m=0,…,M−1)を出力する(ステップS409)。
図10は、ステップS104−2及びステップS204−2での下界用の参照テーブルを生成する処理の例を示すフローチャートである。ヒストグラムを読み込み、ヒストグラムの区間[0,m]における非有意要素のみからなる部分区間の区間幅の最大値を求め、参照テーブルρ[m]、ρ[m](m=0,…,M−1に格納する(ステップS501)。具体的な処理の流れは、図12に示される。m=0,…,M−2に対して、ステップS503〜ステップS508の処理を繰り返す(ステップS502)。
ヒストグラムを読み込み、ヒストグラムの区間[m,m−M+K]における有意要素の要素インデックスの最小値を参照テーブルΨ [m]から読み込む(ステップS503)。同参照テーブルは、図4のステップS104−1及び図7のステップS204−1で出力されたものである。
ヒストグラムの区間[0,m]における非有意要素のみからなる部分区間の区間幅の最大値として、ステップS501で出力した参照テーブルρ[m]の値を読み出す(ステップS504)。選択可能範囲の下限にあたる要素インデックスmから、ステップS504で読み込んだ区間幅ρ[m]を加算した値として、m+ρ[m]の値を求める(ステップS505)。
ステップS03及びステップS505で求めた値を読み込み、大きい方の値をmax(ψ[m],m+ρ[m])として求め、この値を選択可能範囲の新たな下限にあたる要素インデックスとする(ステップS506)。ステップS506で求めた要素インデックスを読み込み、同要素インデックスに対する有意要素インデックスを求める(ステップS507)。参照テーブルに格納する上記有意要素インデックスの算出に際しては、式(10)又は式(12)に従う。
有意要素インデックスの最大値〜K−1をΨ[M−1]の値として、参照テーブルΨ[M−1]に格納する(ステップS509)。有意要素インデックスを格納したテーブルΨ[m](m=0,…,M−1)を出力する(ステップS510)。
図11は、ステップS401での参照テーブルを生成する処理の例を示すフローチャートである。ヒストグラムの要素h[K−1]を読み込み(ステップS601)、同要素値が零値でなければ、ステップS602に進み、それ以外の場合は、ステップS604に進む。変数cを0に設定する(ステップS602)。参照テーブルの要素ρ[M−1]を0に設定する(ステップS603)。変数cを1に設定する(ステップS604)。参照テーブルの要素ρ[M−1]を1に設定する(ステップS605)。
m=M−2,…,0として、ステップS607からステップS613の処理を繰り返す(ステップS606)。ヒストグラムの要素h[m−M+K]を読み込み(ステップS607)、同要素値が零値でなければ、ステップS608に進み、それ以外の場合は、ステップS609に進む。変数cを0に設定する(ステップS608)。変数cの値をインクリメントする(ステップS609)。
変数cの値が参照テーブルの第m+1要素ρ[m+1]よりも大きいか否かを判定する(ステップS610)。変数cの値が参照テーブルの第m+1要素ρ[m+1]よりも大きい場合、ステップS611に進み、それ以外の場合は、ステップS612に進む。参照テーブルの第m要素ρ[m]に変数cの値を設定する(ステップS611)。参照テーブルの第m要素ρ[m]に参照テーブルの第m+1要素ρ[m+1]の値を設定する(ステップS612)。参照テーブルρ[m](m=0,…,M−1)を出力する(ステップS613)。
図12は、ステップS501での参照テーブルを生成する処理の例を示すフローチャートである。ヒストグラムの要素h[0]を読み込み、同要素値が零値でなければ、ステップS702に進み、それ以外の場合は、ステップS704に進む(ステップS701)。変数cを0に設定する(ステップS702)。参照テーブルの要素ρ[0]を0に設定する(ステップS703)。変数cを1に設定する(ステップS704)。参照テーブルの要素ρ[0]を1に設定する(ステップS705)。m=1,…,M−1として、ステップS707〜ステップS713の処理を繰り返す(ステップS706)。
ヒストグラムの要素h[m]を読み込み(ステップS707)、同要素値が零値でなければ、ステップS708に進み、それ以外の場合は、ステップS709に進む。変数cを0に設定する(ステップS708)。変数cの値をインクリメントする(ステップS709)。変数cの値が参照テーブルの第m−1要素ρ[m−1]よりも大きいか否かを判定する(ステップS710)。
変数cの値が参照テーブルの第m−1要素ρ[m−1]よりも大きい場合、ステップS711に進み、それ以外の場合は、ステップS712に進む。参照テーブルの第m要素ρ[m]に変数cの値を設定する(ステップS711)。参照テーブルの第m要素ρ[m]に参照テーブルの第m−1要素ρ[m−1]の値を設定する(ステップS712)。参照テーブルρ[m](m=0,…,M−1)を出力する(ステップS713)。
[適応量子化装置]
図13は、量子化装置1a(適応量子化装置)の構成の例を示す図である。量子化装置1aは、パーソナルコンピュータ、タブレット端末、スマートフォン端末、サーバ装置等の情報処理装置である。量子化装置1aは、第1のレベル数(階調数)で範囲を表現する値を表す入力信号のヒストグラムを、第2のレベル数で範囲を表現する値を表す出力信号のヒストグラムで近似する量子化処理(適応量子化)を実行する。
量子化装置1aは、ヒストグラム生成部10と、第1要素数記憶部11と、クラス数記憶部12と、インデックス参照テーブル生成部13と、インデックス記憶部14と、要素数参照テーブル生成部15と、第2要素数記憶部16と、上界値参照テーブル生成部17と、上界値記憶部18と、下界値参照テーブル生成部19と、下界値記憶部20と、近似誤差最小値決定部21と、近似誤差最小値記憶部22と、上端記憶部23と、上端追跡部24とを備える。
ヒストグラム生成部10と、インデックス参照テーブル生成部13と、要素数参照テーブル生成部15と、上界値参照テーブル生成部17と、下界値参照テーブル生成部19と、近似誤差最小値決定部21と、上端追跡部24との一部または全部は、例えば、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
第1要素数記憶部11と、クラス数記憶部12と、インデックス記憶部14と、第2要素数記憶部16と、上界値記憶部18と、下界値記憶部20と、近似誤差最小値記憶部22と、上端記憶部23との一部または全部は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記憶媒体(非一時的な記録媒体)を有する記憶装置を用いて構成される。各記憶部は、例えば、RAM(Random Access Memory)やレジスタなどの揮発性の記憶媒体を有していてもよい。
ヒストグラム生成部10は、入力信号を読み込む。ヒストグラム生成部10は、入力信号のヒストグラムを生成する。ヒストグラム生成部10は、入力信号のヒストグラムと入力信号のレベル数Kとを、第1要素数記憶部11に記憶させる。
第1要素数記憶部11(ヒストグラム・入力信号要素数記憶部)は、入力信号のヒストグラムと入力信号のレベル数Kとを記憶(格納)する。
クラス数記憶部12は、量子化クラス数Mを記憶する。
インデックス参照テーブル生成部13は、ヒストグラムの要素インデックスをk、ヒストグラムの有意要素インデックスを〜kとし、ヒストグラムの要素インデックスkとヒストグラムの有意要素インデックス〜kとの対応関係を格納した参照テーブルとして、F[〜k]を生成する。インデックス参照テーブル生成部13は、kと〜kの対応関係を格納した参照テーブルを、インデックス記憶部14に格納する。参照テーブルF[〜k]の具体的な生成方法は、図4のステップS102に示す通りである。
インデックス記憶部14は、ヒストグラムの要素インデックスkとヒストグラムの有意要素インデックス〜kとの対応関係を格納した参照テーブルを記憶する。
要素数参照テーブル生成部15は、ヒストグラムの区間[0,K]に含まれる非有意要素の個数を格納した参照テーブルとして、Z[k]を生成する。参照テーブルを第2要素数記憶部16に格納する。参照テーブルZ[k]の具体的な生成方法は、図4のステップS103に示す通りである。
第2要素数記憶部16(非有意要素数記憶部)は、参照テーブルZ[k]を記憶する。
上界値参照テーブル生成部17は、第mクラスの有意要素インデックスの最大値を格納した参照テーブルとして、Ψ[m](m=0,…,M−1)を生成する。上界値参照テーブル生成部17は、参照テーブルΨ[m]を上界値記憶部18に格納する。参照テーブルΨ[m]の具体的な生成方法は、図4のステップS104に示す通りである。
上界値記憶部18は、参照テーブルΨ[m]を記憶する。
下界値参照テーブル生成部19は、第mクラスの有意要素インデックスの最小値を格納した参照テーブルとして、Ψ[m](m=0,…,M−1)を生成する。下界値参照テーブル生成部19は、参照テーブルΨ[m]を下界値記憶部20に格納する。参照テーブルΨ[m]の具体的な生成方法は、図4のステップS104に示す通りである。
下界値記憶部20は、参照テーブルΨ[m]を記憶する。
近似誤差最小値決定部21は、入力信号のヒストグラムと、入力信号のレベル数と、量子化クラス数と、要素インデックスの参照テーブルと、非有意要素数の参照テーブルと、量子化クラスの上界値の参照テーブルと、量子化クラスの下界値の参照テーブルとを取得する。
近似誤差最小値決定部21は、ヒストグラムを量子化クラス数で指定されたクラス数に分割した場合の近似誤差の最小値を算出する。近似誤差最小値決定部21は、ヒストグラムを量子化クラス数で指定されたクラス数に分割した場合の近似誤差の最小値を、近似誤差最小値記憶部22に格納する。近似誤差最小値決定部21は、各量子化クラスにおいて近似誤差の累積値を最小化するクラスの上端を表す有意要素インデックスを、最適パス追跡用参照テーブルとして、上端記憶部23に格納する。具体的な処理は、図4に示すステップS105からステップS118までに示す通りである。近似誤差最小値記憶部22は、ヒストグラムを量子化クラス数で指定されたクラス数に分割した場合の近似誤差の最小値を記憶する。上端記憶部23は、最適パス追跡用参照テーブルを記憶する。
上端追跡部24は、入力信号のレベル数と、量子化クラス数と、要素インデックス参照テーブルと、有意要素数参照テーブルと、最適パス追跡用参照テーブルとを取得する。上端追跡部24は、近似誤差の最小値を実現する際のクラスの上端を表す要素インデックスを算出する。具体的な処理は、図4に示すステップS119からステップ122までに示す通りである。
[演算量低減型適応量子化装置]
近似誤差を参照テーブルに格納し、近似誤差を格納した参照テーブルから近似誤差を適宜に読み込む形に拡張した演算量低減型適応量子化装置の構成を説明する。
図14は、量子化装置1b(演算量低減型適応量子化装置)の構成の例を示す図である。量子化装置1bは、パーソナルコンピュータ、タブレット端末、スマートフォン端末、サーバ装置等の情報処理装置である。量子化装置1bは、第1のレベル数(階調数)で範囲を表現する値を表す入力信号のヒストグラムを、第2のレベル数で範囲を表現する値を表す出力信号のヒストグラムで近似する量子化処理(適応量子化)を実行する。
量子化装置1bは、ヒストグラム生成部10と、第1要素数記憶部11と、クラス数記憶部12と、インデックス参照テーブル生成部13と、インデックス記憶部14と、要素数参照テーブル生成部15と、第2要素数記憶部16と、上界値参照テーブル生成部17と、上界値記憶部18と、下界値参照テーブル生成部19と、下界値記憶部20と、近似誤差最小値決定部21と、近似誤差最小値記憶部22と、上端記憶部23と、上端追跡部24と、近似誤差決定部25と、近似誤差記憶部26とを備える。
ヒストグラム生成部10と、インデックス参照テーブル生成部13と、要素数参照テーブル生成部15と、上界値参照テーブル生成部17と、下界値参照テーブル生成部19と、近似誤差最小値決定部21と、上端追跡部24と、近似誤差決定部25との一部または全部は、例えば、CPU等のプロセッサが、記憶部に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSIやASIC等のハードウェア機能部であってもよい。
第1要素数記憶部11と、クラス数記憶部12と、インデックス記憶部14と、第2要素数記憶部16と、上界値記憶部18と、下界値記憶部20と、近似誤差最小値記憶部22と、上端記憶部23と、近似誤差記憶部26との一部または全部は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記憶媒体(非一時的な記録媒体)を有する記憶装置を用いて構成される。各記憶部は、例えば、RAMやレジスタなどの揮発性の記憶媒体を有していてもよい。
近似誤差最小値決定部21は、入力信号のヒストグラムと、入力信号のレベル数と、量子化クラス数と、要素インデックスの参照テーブルと、非有意要素数の参照テーブルと、量子化クラスの上界値の参照テーブルと、量子化クラスの下界値の参照テーブル近似誤差の参照テーブルとを取得する。
近似誤差最小値決定部21は、入力信号のヒストグラムと、入力信号のレベル数と、量子化クラス数と、要素インデックスの参照テーブルと、非有意要素数の参照テーブルと、量子化クラスの上界値の参照テーブルと、量子化クラスの下界値の参照テーブル近似誤差の参照テーブルとに基づいて、量子化クラス数で指定されたクラス数にヒストグラムを分割した場合の近似誤差の最小値を算出する。近似誤差最小値決定部21は、近似誤差の最小値を近似誤差最小値記憶部22に格納する。近似誤差最小値決定部21は、各量子化クラスにおいて近似誤差の累積値を最小化するクラスの上端を表す有意要素インデックスを、最適パス追跡用参照テーブルとして、上端記憶部23に格納する。具体的な処理は、図7のステップS206からステップS219までに示す通りである。
近似誤差最小値記憶部22は、近似誤差の最小値を記憶する。
上端記憶部23は、最適パス追跡用参照テーブルを記憶する。
上端追跡部24は、入力信号のレベル数と、量子化クラス数と、要素インデックス参照テーブルと、有意要素数参照テーブルと、最適パス追跡用参照テーブルとを取得する。上端追跡部24は、入力信号のレベル数と、量子化クラス数と、要素インデックス参照テーブルと、有意要素数参照テーブルと、最適パス追跡用参照テーブルとに基づいて、近似誤差の最小値を実現する際のクラスの上端を表す要素インデックスを算出する。具体的な処理は、図7のステップS220からステップS223までに示す通りである。
近似誤差決定部25は、入力信号のヒストグラムと、入力信号のレベル数と、量子化クラス数と、要素インデックスの参照テーブルと、非有意要素数の参照テーブルとを取得する。近似誤差決定部25は、入力信号のヒストグラムと、入力信号のレベル数と、量子化クラス数と、要素インデックスの参照テーブルと、非有意要素数の参照テーブルとに基づいて、近似誤差を算出する。近似誤差決定部25は、算出した近似誤差を、近似誤差の参照テーブルとして近似誤差記憶部26に格納する。具体的な処理は、図8に示す通りである。
近似誤差記憶部26は、近似誤差の参照テーブルを記憶する。
図15は、適応量子化処理の基本処理の例を示す図である。非有意係数に対する不要な処理を削除した適応量子化処理の基本処理の流れを説明する。なお、処理の繰り返し(for文)の条件は、図15に示す通りである。
ヒストグラム生成部10は、入力信号のヒストグラム(クラス数K) を生成する。クラス数記憶部12は、量子化後のクラス数Mを読み込む。参照テーブルZ[k](k=0,…,K−1),Ψ[m],Ψ[m](m=0,…,M−1),F[〜k](〜k=0,…,K−Z[K−1]−1)を生成する。
ヒストグラムの区間[0,F[j]]を代表値(式(4)により求まる重心)で近似した場合の近似誤差を求め、近似した場合の近似誤差をS(j)に格納する。以下、近似した場合の近似誤差をS(j)に格納する処理を「第1格納処理」という。
ヒストグラムの区間[F[〜L−(〜Δ−1)],F[〜L]]を代表値で近似した場合の近似誤差を求める。代表値は式(4)により求め、同近似誤差は式(3)より求める。同近似誤差を〜e(〜L−(〜Δ−1),〜L)とする。〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)の値を計算する。〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))の中での最小値を〜S(〜L)に格納する。〜Sm−1(〜L−〜Δ)+〜e(〜L−(〜Δ−1),〜L)(〜Δ=1,…,〜L−(m−1))を最小化する〜Δを用いて、〜L−〜Δを^L−1(〜L)に格納する。
K−1をLM−1 に格納する。K−Z[K−1]−1を〜LM−1 に格納する。^Lm−1(〜L )を読み込む。^Lm−1(〜L )を〜Lm−1 に格納する。F[〜Lm−1 ]をLm−1 に格納する。
図16は、適応量子化処理の演算量低減処理の例を示す図である。前述のルックアップテーブルを参照する方式の場合における、演算量低減処理を実行する適応量子化処理の例を説明する。なお、処理の繰り返し(for文)の条件は、図16に示す通りである。
ヒストグラム生成部10は、入力信号のヒストグラム(クラス数K) を生成する。クラス数記憶部12は、量子化後のクラス数Mを読み込む。参照テーブルZ[k](k=0,…,K−1),Ψ[m],Ψ[m](m=0,…,M−1),F[〜k](〜k=0,…,K−Z[K−1]−1)を生成する。
図17に示す処理(近似誤差参照テーブル生成処理の流れ)に基づき、近似誤差を格納した参照テーブルE[〜i,〜i]を生成する。E[0,j]をS(j)に格納する。図15に示す処理(適応量子化処理の基本処理の流れ)における、第1格納処理よりも後の処理を実行する。
図17は、近似誤差参照テーブルを生成する処理の例を示す図である。なお、処理の繰り返し(for文)の条件は、図17に示す通りである。
[0,〜k]に0を格納する。q[0,〜k]に0を格納する。q[0,〜k]に0を格納する。iにF[〜i]を代入する。iにF[〜i]を代入する。
[i,i]にq[i,i−1]+h[i]を格納する。q[i,i]にq[i,i−1]+ih[i]を格納する。q[i,i]にq[i,i−1]+i h[i]を格納する。c[i,i]にq[i,i]/q[i,i]を格納する。E[〜i,〜i]にq[i,i]−2c[i,i]q[i,i]+c[i,i[i,i]を格納する。
以上のように、量子化方法は、第1のレベル数(入力信号レベル数)で表現される範囲を取り得る値を表す入力信号のヒストグラムを、第1のレベル数よりも少ない第2のレベル数(量子化レベル数)で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、格納するステップと、選択するステップとを含む。近似誤差最小値決定部21は、入力信号のヒストグラムの要素の集合であるクラスを定め、クラスの境界であるクラス境界の候補を有意要素に制限し、クラス境界となり得る有意要素に上限及び下限を定め、上限から下限までの範囲に含まれる有意要素をクラス境界の候補と定め、クラス境界の選択可能範囲の上限に対して、選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する有意要素の位置と、クラスの上限として取りうる有意要素のうち選択可能範囲の上限に最も近い有意要素の位置とを比較し、相対的に大きな値を示す有意要素をクラス境界の選択可能範囲の新たな上限と定め、クラス境界までの近似誤差の累積値を最小化する量子化値と近似誤差の累積値の最小値とをメモリに格納する。上端追跡部24は、クラス境界を選択する際、非有意要素を近似誤差の累積値の計算から除外し、格納した最小値をメモリから取得し、クラス境界の選択における近似誤差の計算に最小値を用いることで、クラス境界の全ての要素に対して近似誤差の総和を最小化するクラス境界を選択する。
これによって、量子化方法は、信号の階調変換を行う際に発生する変換誤差を最小化する場合でも、量子化に要する演算量を低減することが可能となる。すなわち、量子化方法は、画素値の疎性を考慮することで、ビット深度変換誤差の最適性を保持しつつ、演算量を低減することが可能となる。
量子化方法は、第1のレベル数(入力信号レベル数)で表現される範囲を取り得る値を表す入力信号のヒストグラムを、第1のレベル数よりも少ない第2のレベル数(量子化レベル数)で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、格納するステップと、選択するステップとを含む。近似誤差最小値決定部21は、入力信号のヒストグラムの要素の集合であるクラスを定め、クラスの境界であるクラス境界の候補を有意要素に制限し、クラス境界となり得る有意要素に上限及び下限を定め、上限から下限までの範囲に含まれる有意要素をクラス境界の候補と定め、クラス境界の選択可能範囲の下限に対して、選択可能範囲の下限を上端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する有意要素の位置と、クラスの上限として取りうる有意要素のうち選択可能範囲の上限に最も近い有意要素の位置とを比較し、相対的に小さな値を示す有意要素をクラス境界の選択可能範囲の新たな下限と定め、クラス境界までの近似誤差の累積値を最小化する量子化値と近似誤差の累積値の最小値とをメモリに格納する。上端追跡部24は、クラス境界を選択する際、非有意要素を近似誤差の累積値の計算から除外し、格納した最小値をメモリから取得し、クラス境界の選択における近似誤差の計算に最小値を用いることで、クラス境界の全ての要素に対して近似誤差の総和を最小化するクラス境界を選択する。
これによって、量子化方法は、信号の階調変換を行う際に発生する変換誤差を最小化する場合でも、量子化に要する演算量を低減することが可能となる。すなわち、量子化方法は、画素値の疎性を考慮することで、ビット深度変換誤差の最適性を保持しつつ、演算量を低減することが可能となる。
上述した実施形態における量子化装置の少なくとも一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1a…量子化装置、1b…量子化装置、10…ヒストグラム生成部、11…第1要素数記憶部、12…クラス数記憶部、13…インデックス参照テーブル生成部、14…インデックス記憶部、15…要素数参照テーブル生成部、16…第2要素数記憶部、17…上界値参照テーブル生成部、18…上界値記憶部、19…下界値参照テーブル生成部、20…下界値記憶部、21…近似誤差最小値決定部、22…近似誤差最小値記憶部、23…上端記憶部、24…上端追跡部、25…近似誤差決定部、26…近似誤差記憶部

Claims (4)

  1. 第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、
    前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納するステップと、
    前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択するステップと、
    を含む量子化方法。
  2. 第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置における量子化方法であって、
    前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の下限に対して、前記選択可能範囲の下限を上端とする各区間内における非有意要素の連続数の最大値を加算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の限に最も近い前記有意要素の位置とを比較し、相対的に大きな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納するステップと、
    前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択するステップと、
    を含む量子化方法。
  3. 第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置であって、
    前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納する近似誤差最小値決定部と、
    前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択する上端追跡部と、
    を備える量子化装置。
  4. 第1のレベル数で表現される範囲を取り得る値を表す入力信号のヒストグラムを、前記第1のレベル数よりも少ない第2のレベル数で表現される範囲を取り得る値を表す出力信号のヒストグラムで近似する量子化装置のコンピュータに、
    前記入力信号のヒストグラムの要素の集合であるクラスを定め、前記クラスの境界であるクラス境界の候補を有意要素に制限し、前記クラス境界となり得る前記有意要素に上限及び下限を定め、前記上限から前記下限までの範囲に含まれる前記有意要素を前記クラス境界の候補と定め、前記クラス境界の選択可能範囲の上限に対して、前記選択可能範囲の上限を下端とする各区間内における非有意要素の連続数の最大値を減算した値に対応する前記有意要素の位置と、前記クラスの上限として取りうる前記有意要素のうち前記選択可能範囲の上限に最も近い前記有意要素の位置とを比較し、相対的に小さな値を示す前記有意要素を前記クラス境界の選択可能範囲の新たな限と定め、前記クラス境界までの近似誤差の累積値を最小化する量子化値と前記近似誤差の累積値の最小値とをメモリに格納する手順と、
    前記クラス境界を選択する際、前記非有意要素を前記近似誤差の累積値の計算から除外し、格納した前記最小値を前記メモリから取得し、前記クラス境界の選択における前記近似誤差の計算に前記最小値を用いることで、前記クラス境界の全ての要素に対して前記近似誤差の総和を最小化する前記クラス境界を選択する手順と、
    を実行させるための量子化プログラム。
JP2016002850A 2016-01-08 2016-01-08 量子化方法、量子化装置及び量子化プログラム Active JP6538572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016002850A JP6538572B2 (ja) 2016-01-08 2016-01-08 量子化方法、量子化装置及び量子化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016002850A JP6538572B2 (ja) 2016-01-08 2016-01-08 量子化方法、量子化装置及び量子化プログラム

Publications (2)

Publication Number Publication Date
JP2017123614A JP2017123614A (ja) 2017-07-13
JP6538572B2 true JP6538572B2 (ja) 2019-07-03

Family

ID=59305880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016002850A Active JP6538572B2 (ja) 2016-01-08 2016-01-08 量子化方法、量子化装置及び量子化プログラム

Country Status (1)

Country Link
JP (1) JP6538572B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116108896B (zh) * 2023-04-11 2023-07-07 上海登临科技有限公司 模型量化方法、装置、介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065007A (en) * 1998-04-28 2000-05-16 Lucent Technologies Inc. Computer method, apparatus and programmed medium for approximating large databases and improving search efficiency
DE602004014901D1 (de) * 2004-04-29 2008-08-21 Mitsubishi Electric Corp Adaptive Quantisierung einer Tiefenkarte
US7945868B2 (en) * 2007-10-01 2011-05-17 Carnegie Mellon University Tunable integrated circuit design for nano-scale technologies
JP5345977B2 (ja) * 2010-06-14 2013-11-20 日本電信電話株式会社 適応量子化方法,適応量子化装置および適応量子化プログラム

Also Published As

Publication number Publication date
JP2017123614A (ja) 2017-07-13

Similar Documents

Publication Publication Date Title
CN111095929B (zh) 一种压缩针对点云的属性信息的系统、方法及计算机可读介质
JP5550005B2 (ja) ランダムアクセス機能による画像圧縮方法
KR100552710B1 (ko) 위치 인터폴레이터 부호화/복호화 방법 및 장치
CN109429071A (zh) 图像编码装置、图像解码装置及图像处理方法
Rodrigues et al. On dictionary adaptation for recurrent pattern image coding
CN115087988A (zh) 用于编码神经网络参数的构思
JP5345977B2 (ja) 適応量子化方法,適応量子化装置および適応量子化プログラム
JP2011176407A (ja) 画像符号化装置,画像復号装置,画像符号化方法,画像復号方法およびそれらのプログラム
JP6538572B2 (ja) 量子化方法、量子化装置及び量子化プログラム
JP2007259306A (ja) 予測器及び画像符号化器
JP6368287B2 (ja) 適応量子化方法、適応量子化装置及び適応量子化プログラム
WO2021211140A1 (en) Generating quantization tables for image compression
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
JP4214595B2 (ja) 画像変換装置および方法、並びに記録媒体
JP4415651B2 (ja) 画像符号化装置、及び画像復号化装置
JP2007019687A (ja) Csrbfを用いる画像処理方法
WO2019150435A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP6441833B2 (ja) 量子化方法、量子化装置及び量子化プログラム
Shanmathi et al. Comparative study of predictors used in lossless image compression
WO2022239114A1 (ja) 符号化復号装置、符号化復号方法及びプログラム
JP7284429B2 (ja) 量子化装置、量子化方法及びプログラム
JP4051696B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
WO2023277128A1 (ja) 点群復号装置、点群復号方法及びプログラム
EP4322527A1 (en) Coding and decoding methods, related devices and storage medium
Bandoh et al. Complexity reduction algorithm for optimum quantizer design based on amplitude sparseness

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R150 Certificate of patent or registration of utility model

Ref document number: 6538572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150