JP4759064B2 - 符号表選択方法、符号化装置、プログラム及び記録媒体 - Google Patents
符号表選択方法、符号化装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4759064B2 JP4759064B2 JP2009020051A JP2009020051A JP4759064B2 JP 4759064 B2 JP4759064 B2 JP 4759064B2 JP 2009020051 A JP2009020051 A JP 2009020051A JP 2009020051 A JP2009020051 A JP 2009020051A JP 4759064 B2 JP4759064 B2 JP 4759064B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- code table
- data
- frequency
- sum
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、複数種類の符号表から時系列データを符号化するための符号表を選択するための処理量を削減することが可能な技術を提供することを目的とする。
〔原理〕
まず、本形態の原理を説明する。
本形態では、(A) 予め定められた離散時間区間〔0,...,N-1(N≧2)〕における時系列データDATA(n)(n=0,...,N-1)のデータ値xの頻度h(x)を求めるステップと、(B) 各データ値xと各データ値xにそれぞれ対応する各符号c(x,j)〔j=1,...,jmax(jmax≧2)〕とが少なくとも対応付けられた複数種類の符号表T(j)と、ステップ(A)で求められた各頻度h(x)とを用い、少なくとも一部のデータ値xの頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)を、各符号表T(j)についてそれぞれ算出するステップと、(C) ステップ(B)で算出された積和SP(j)を用い、複数種類の符号表T(j)から、離散時間区間(n=0,...,N-1)における時系列データDATA(n)を符号化するための符号表T(h)を選択するステップとを実行する。これらの処理をベクトル表現すると以下のようになる。まず、ステップ(A)では、予め定められた離散時間区間〔0,...,N-1(N≧2)〕における時系列データDATA(n)(n=0,...,N-1)のデータ値xの頻度h(x)を求める。次のステップ(B)では、各データ値x=x0,x1,...,xL-1〔L(L≧2)は予め設定されたデータ値xの全種類数〕と各データ値xにそれぞれ対応する各符号c(x,j)〔j=1,...,jmax(jmax≧2)〕とが少なくとも対応付けられた複数種類の符号表T(j)と、ステップ(A)で求められた各頻度h(x)とを用い、少なくとも一部のデータ値x=x0,x1,...,xW-1(WはW≦Lを満たす整数)の頻度h(x)を要素とするヒストグラムH=(h(x0), h(x1),..., h(xW-1))と、当該データ値xに対応する符号c(x,j)のビット数b(x,j)を要素とするヒストグラムB=(b(x0,j),b(x1,j),...,b(xW-1,j))との内積H・BT(BTはBの転置を示す)を各符号表T(j)についてそれぞれ算出し、各積和SP(j)=H・BTを求める。そして、ステップ(C)では、ステップ(B)で算出された積和SP(j)=H・BTを用い、複数種類の符号表T(j)から、離散時間区間(n=0,...,N-1)における時系列データDATA(n)を符号化するための符号表T(h)を選択する。なお、時系列データDATA(n)が0以上の値しかとらないのであれば、時系列データDATA(n)がとり得る振幅値を各データ値xとすればよい。また、時系列データDATA(n)が正負の値をとり得るのであれば、DATA(n)がとり得る値を各データ値xとすればよい。また、時系列データDATA(n)に対応するインデックスを各データ値xとしてもよい。
次に、本発明の第1実施形態を説明する。
図2(A)は、第1実施形態の符号化装置10の機能構成を例示した図である。また、図2(B)は、符号表の一例を説明するための図であり、図2(C)は、データ値の頻度を例示した図である。また、図3は、第1実施形態の復号装置20の機能構成を例示した図である。なお、図2(A)において図1(A)と共通する部分については、図1(A)と同じ符号を用いた。また、図4(A)は、第1実施形態の符号化方法を説明するためのフローチャートであり、図4(B)は、第1実施形態の復号方法を説明するためのフローチャートである。図5は、図4(A)のステップS20の一例を説明するためのフローチャートである。
図2(A)に示すように、本形態の符号化装置10は、制御部1011、一時メモリ1012、記憶部1013、パラメータ符号化部1016、符号化部1017、頻度算出部12、積和算出部13、及び、符号表選択部14を有する。また、符号化装置10は、例えば、CPU(central processing unit),RAM(random-access memory),ROM(read-only memory)等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。すなわち、一時メモリ1012や記憶部1013は、例えば、RAM、磁気記録装置、光磁気記録媒体やそれらの少なくとも一部の結合によって構成される記憶領域である。また、制御部1011、パラメータ符号化部1016、符号化部1017、頻度算出部12、積和算出部13、及び、符号表選択部14は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、符号化装置10は、制御部1011の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ1012に格納され、その他の演算処理の際に読み出されて利用される。
事前設定として、予め定められた範囲のL種類のデータ値x=x0,x1,...,xL-1と、各データ値xにそれぞれ対応する各符号c(x,j)と、各符号c(x,j)のビット数b(x,j)とが少なくとも対応付けられた複数種類の符号表T(j)(j=1,...,jmax)が記憶部1013に格納される。なお、図2(B)の例のデータ値xは、0以上L-1以下の整数x=0,1,...,N-1である。また、各符号表T(j)の一例はハフマン符号表である。また、記憶部1013に格納されたのと同様な符号表T(j)が復号装置20の記憶部23にも格納される。
まず、予め定められた離散時間区間(n=0,...,N-1)における時系列データDATA(n)(n=0,...,N-1)が符号化装置10(図2(A))に入力される。なお、離散時間区間の例は、データ処理単位であるフレームやフレームをさらに複数に区分したサブフレームである。
時系列データDATA(n)の各データ値x=x0,x1,...,xL-1の頻度h(x)をそれぞれ求める(ステップS10)。図2(C)の例では、各データ値x=0,1,2,3,4,...,L-1の各頻度h(0)=50,h(1)=25,h(2)=13,h(3)=6,h(4)=4,...,h(L-1)=1が求められる。
以下に、ステップS20の具体例を示す。
≪具体例1-1≫
積和演算部13は、入力された各頻度h(x)に対応する各データ値x=x0,x1,...,xL-1に対応する各符号c(x,j)のビット数b(x,j)を記憶部1013に格納された符号表T(j)から抽出する。次に、積和演算部13は、データ値x=x0,x1,...,xL-1の各頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和
SP(j)=h(x0)・b(x0,j)+h(x1)・b(x1,j)+…+h(xL-1)・b(xL-1,j)
を、各符号表T(j)についてそれぞれ算出する。
まず、積和演算部13は、入力された各頻度h(x)を互いに比較し、頻度h(x)が大きい順にU(U<L)個のデータ値x=x0,x1,...,xU-1が選択される。次に、積和演算部13は、選択した各データ値x=x0,x1,...,xU-1に対応する各符号c(x,j)のビット数b(x,j)を記憶部1013に格納された符号表T(j)から抽出する。次に、積和演算部13は、選択されたデータ値x=x0,x1,...,xU-1の各頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和
SP(j)=h(x0)・b(x0,j)+h(x1)・b(x1,j)+…+h(xU-1)・b(xU-1,j)
を、各符号表T(j)についてそれぞれ算出する。
まず、積和演算部13は、記憶部1013に格納された各符号表T(j)から、それぞれビット数b(x,j)が小さい順にU(U<L)個の符号c(x0,j),c(x1,j),...,c(xU-1,j)を選択する。次に、積和演算部13は、入力された各頻度h(x)から、選択したU個の符号c(x,j)に対応するデータ値x=x0,x1,...,xU-1に対応する各頻度h(x0),h(x1),...,h(xU-1)を選択する。そして、積和演算部13は、選択した各符号c(x0,j), c(x1,j),...,c(xU-1,j)のビット数b(x0,j),b(x1,j),...,b(xU-1,j)と各頻度h(x0),h(x1),...,h(xU-1)との積和
SP(j)=h(x0)・b(x0,j)+h(x1)・b(x1,j)+…+h(xU-1)・b(xU-1,j)
を、各符号表T(j)についてそれぞれ算出する。
m2,m1がL≧m2>m1を満たす1以上の整数であり、積和SP(j)がm2種類のデータ値xの頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)であるとする。なお、以下で添え字として使用する「m1」や「m2」は、それぞれ「m2」や「m1」を意味する。
SPpre(j)=h(x0)・b(x0,j)+h(x1)・b(x1,j)+…+h(xU-1)・b(xm1-1,j)
を、各符号表T(j)についてそれぞれ算出する(ステップS21)。なお、ステップS21は、頻度h(x)が大きい順に選択されたm1種類のデータ値xの頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和を、各符号表T(j)についてそれぞれ算出するステップであってもよいし、各符号表T(j)からそれぞれビット数b(x,j)が小さい順に選択されたm1種類の符号c(x,j)のビット数b(x,j)と当該符号c(x,j)に対応するデータ値xの頻度h(x)との積和SPpreを、各符号表T(j)についてそれぞれ算出するステップであってもよいし、その他の基準で選択されたm1種類のデータ値xの頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和を、各符号表T(j)についてそれぞれ算出するステップであってもよい。
SP(j)=h(x0)・b(x0,j)+h(x1)・b(x1,j)+…+h(xU-1)・b(xm2-1,j)
をそれぞれ算出する(ステップS23)。
算出された積和SP(j)は、符号表選択部14に入力される。符号表選択部14は、積和SP(j)を用い、複数種類の符号表T(j)から、離散時間区間(n=0,...,N-1)における
時系列データDATA(n)を符号化するための符号表T(h)を選択する(ステップS30)。
以下に、ステップS30の具体例を示す。
≪具体例2-1≫
各積和SP(j)を相互に比較し、最小の積和SP(j)に対応する符号表T(j)を、離散時間区間(n=0,...,N-1)における時系列データDATA(n)を符号化するための符号表T(h)として選択する。
各符号表T(j)を相互に順次比較していき、大きさが小さいほうから所定番目以内であると最初に判定された積和SP(j)に対応する符号表T(j)を、離散時間区間(n=0,...,N-1)における時系列データDATA(n)を符号化するための符号表T(h)として選択する。
データ値x=x0,x1,...,xL-1から選択されたデータ値X(例えば、X=xL-1)の頻度h(X)を予め定められた閾値と比較し、頻度h(X)が当該閾値以下の場合には具体例2-1や2-2などの原則的な方法で各符号表T(j)から符号表T(h)を選択し、頻度h(X)が当該閾値を越える場合には、例外的な方法として特定の符号表T(EX)を符号表T(h)として選択する。なお、データ値Xは、時系列データDATA(n)の特定に依存して選択される。例えば、データ値xの頻度分布h(x)がラプラス分布に近似する傾向がある場合、データ値xの絶対値が大きくなるにつれてビット数b(x,j)が大きくなるα符号に近似する符号表を各符号表T(j)とし、その傾向から外れた符号表を符号表T(EX)とする。そして、例えば、最大のデータ値xL-1の頻度h(xL-1)と予め定められた閾値とを比較し、頻度h(xL-1)が当該閾値以下の場合には、上記の何れかの方法によって各符号表T(j)から符号表T(h)を選択し、頻度h(xL-1)が当該閾値を超えた場合には例外処理として符号表T(EX)を符号表T(h)とする。
データ値x=x0,x1,...,xL-1から選択されたデータ値Xの大きさに応じ、探索する符号表を変える。例えば、データ値x=x0,x1,...,xL-1から選択されたデータ値X(例えば、X=xL-1)の頻度h(X)を予め定められた閾値と比較し、頻度h(X)が当該閾値以下の場合には具体例2-1や2-2などの方法で各符号表T(j)から符号表T(h)を選択し、頻度h(X)が当該閾値を越える場合には、具体例2-1や2-2などの方法で特定の複数種類の符号表T(ex)から符号表T(h)として選択する([ステップS30の具体例]の説明終わり)。
離散時間区間(n=0,...,N-1)における各符号Cd(n)とパラメータ符号Ccは復号装置20に入力される。パラメータ符号Ccはパラメータ復号部24に入力され、パラメータ復号部24はパラメータ符号Ccを復号してパラメータhを生成する(ステップS110)。生成されたパラメータhは復号部25に入力される。復号部25は、記憶部23に格納された各符号表T(j)から符号表T(h)を特定する(ステップS120)。復号部25には、各符号Cd(n)も入力され、復号部25は特定した符号表T(h)を用いて各符号Cd(n)を復号し、時系列データDATA(n)を生成して出力する(ステップS130)。
次に、本発明の第2実施形態を説明する。
第1実施形態では、データ値xの頻度h(x)と当該データ値xに対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)を、各符号表T(j)についてそれぞれ算出し、算出された積和SP(j)を用い、複数種類の符号表T(j)から、離散時間区間(0,…,N-1)における時系列データDATA(n)を符号化するための符号表T(h)を選択することとした。しかし、第2実施形態では、データ値xの頻度h(x)と、符号表T(j)で当該データ値xに対応付けられた符号c(x,j)のビット数b(x,j)と基準符号表T(J)で当該データ値xに対応付けられた符号c(x,J)のビット数b(x,J)との差Δb(x,j)と、の積和SP(j)=Σxh(x)・Δb(x,j)を、各符号表T(j)についてそれぞれ算出し、算出された積和SP(j)を用い、複数種類の符号表T(j)から、離散時間区間(0,…,N-1)における時系列データDATA(n)を符号化するための符号表T(h)を選択する。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
図6(A)に示すように、本形態の符号化装置110は、制御部1011、一時メモリ1012、記憶部1013、パラメータ符号化部1016、符号化部1017、頻度算出部12、積和算出部113、及び、符号表選択部14を有する。また、符号化装置110は、例えば、CPU,RAM,ROM等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。例えば、積和算出部113は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、符号化装置110は、制御部1011の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ1012に格納され、その他の演算処理の際に読み出されて利用される。
復号装置の構成は第1実施形態と同じである。ここでは説明を省略する。
事前設定として、予め定められた範囲のL種類のデータ値x=x0,x1,...,xL-1と、各データ値xにそれぞれ対応する各符号c(x,J)とが少なくとも対応付けられた基準符号表T(J)と、各データ値x=x0,x1,...,xL-1と、各データ値xにそれぞれ対応する各符号c(x,j)と、各符号c(x,j)のビット数b(x,j)と基準符号表T(J)で当該データ値xに対応付けられた符号c(x,J)のビット数b(x,J)との差Δb(x,j)が少なくとも対応付けられた複数種類の符号表T(j) (j=1,...,jmax)が記憶部1013に格納される。なお、図6(B)(C)の例のデータ値xは、0以上L-1以下の整数x=0,1,...,N-1である。また、基準符号表T(J)や各符号表T(j)やの一例はハフマン符号表である。
まず、第1実施形態で説明したステップS10が実行される。ステップS10で算出された各頻度h(x)は、それぞれに対応するデータ値xを特定可能な状態で積和演算部113に入力される。積和演算部113は、入力された各頻度h(x)と、記憶部1013に格納された各符号表T(j)とを用い、少なくとも一部のデータ値xの頻度h(x)と、符号表T(j)で当該データ値xに対応付けられた符号c(x,j)のビット数b(x,j)と基準符号表T(J)で当該データ値xに対応付けられた符号c(x,J)のビット数b(x,J)との差Δb(x,j)と、の積和SP(j)=Σxh(x)・Δb(x,j)を、各符号表T(j)についてそれぞれ算出する(ステップS320)。なお、ステップS320の具体例は、第1実施形態で説明したステップS20の具体例のビット数b(x,j)を差Δb(x,j)に置換したものとなる。また、T(j)=T(J)の場合には、計算をしなくても積和SP(J)=0とすればよい。そして、j=1からjmaxまでのjmax個の積和SP(j)の中で積和SP(j)を最小とするようなjを選択する。もし、積和SP(J)を除くすべての積和SP(j)が正であればJを選択する。ここで、Jがj=1からjmaxに含まれないのであれば、jmax回の積和SP(j)の計算で(jmax+1)個の中から最も望ましい符号表を選択することになる。すなわち、この場合には選択すべき符号表の個数より1回少ない関和の回数で符号表を選択できる。
その後、第1実施形態で説明したステップS30からS60の処理が実行される。
第1実施形態と同じである。
〔第3実施形態〕
次に、本発明の第3実施形態を説明する。
本形態は第1実施形態の応用例である。本形態では、dを1以上の整数とし、パラメータs(0)をd以上の整数とし、パラメータs(d)=s(0)-dとし、yを整数とした場合における、0以上の整数からなる時系列データe(n)(「第2時系列データ」に相当)を2s(0)+yで割った商、及び、当該第2時系列データを2s(d)+yで割った商を時系列データのデータ値xとし、パラメータs(d)及びs(0)に対してそれぞれ第1実施形態を適用する。そして、パラメータs(d)及びs(0)についてそれぞれ選択された符号表を用いて符号化した場合の符号量を比較し、パラメータs(d)及びs(0)の一方を選択する。以下では、第1実施形態との相違点を中心に説明する。
図8に示すように、本形態の符号化装置210は、制御部1011、一時メモリ1012、記憶部1013、符号化部1017、頻度算出部12、積和算出部13、符号表選択部14、パラメータ算出部211,212、選択部213,217、分離演算部214、頻度併合部215、パラメータ符号化部216、比較部218、及び合成部219を有する。また、符号化装置210は、例えば、CPU,RAM,ROM等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。例えば、パラメータ算出部211,212、選択部213,217、分離演算部214、頻度併合部215、パラメータ符号化部216、比較部218、及び合成部219は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、符号化装置210は、制御部1011の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ1012に格納され、その他の演算処理の際に読み出されて利用される。
事前設定として、第1実施形態で説明したように、複数種類の符号表T(j)(j=1,...,jmax)が、符号化装置210の記憶部1013と復号装置220の記憶部23とに格納される。
まず、離散時間区間(n=0,...,N-1)における時系列データe(n)が符号化装置210に入力される。なお、時系列データe(n)の例は、音響信号を線形予測分析や長期予測分析して得られた予測残差である。入力された時系列データe(n)はパラメータ算出部211に入力され、パラメータ算出部211は、離散時間区間(n=0,...,N-1)の時系列データe(n)を用い、当該離散時間区間(n=0,...,N-1)に対応するパラメータs(0)を算出する(ステップS401)。例えば、パラメータ算出部211は、d以上(d≧1)のライスパラメータをパラメータs(0)とする。具体的には、
log2{ln2・(2・D/N)}
をd以上(d≧1)の整数に整数化したものをパラメータs(0)とする。なお、D=|e(0)|+|e(1)|+…+|e(N-1)|であり、整数化の例は四捨五入、切り上げ、切捨てなどである。また、式(1)を整数化したしたものがd未満であった場合にはs(0)=dとしてもよい。また、dの一例は定数であり、その値の例は1である。
s(d)=s(0)-d
の演算によってパラメータs(d)を算出する(ステップS402)。
離散時間区間(n=0,...,N-1)の各商q(d,n)は頻度算出部12に入力される。頻度算出部12は、商q(d,n)であるデータ値x=z・2d,z・2d +1,…,z・2d+2d-1の各頻度h(x)を、1種類以上の各整数z(z≧0)についてそれぞれ求める(ステップS411)。
以下に、ステップS441の具体例を示す。
《具体例3-1》
比較部218には、それぞれ、符号表選択部14で選択された符号表T(h(d))を特定するためのパラメータh(d)とそれに対応する積和SP(d,h(d))と、符号表T(h(0))を特定するためのパラメータh(0)とそれに対応する積和SP(0,h(0))とが入力される。比較部218は、積和SP(d,h(d))を総符号量E(d)の推定値とし、積和SP(0,h(0))を総符号量E(0)の推定値とし、これらを比較する。
比較部218には、それぞれ、符号表選択部14で選択された符号表T(h(d))を特定するためのパラメータh(d)とそれに対応する積和SP(d,h(d))と、符号表T(h(0))を特定するためのパラメータh(0)とそれに対応する積和SP(0,h(0))とが入力される。さらに、選択部213の制御のもと、分離演算部214にパラメータs(0)とパラメータs(d)とが入力される。また、分離演算部214には離散時間区間(n=0,...,N-1)における時系列データe(n)が入力される。分離演算部214は、時系列データe(n)を2s(0)+yで割った場合の剰余を特定する情報sub(0,n)と、時系列データe(n)を2s(d)+yで割った場合の剰余を特定するための情報sub(d,n)とを求め、それら又はそれらのビット数を比較部218に送る。なお、時系列データe(n)を2s(0)+yや2s(d)+yで割った場合の剰余を特定する情報sub(0,n)やsub(d,n)の算出は、例えば、参考文献1「ISO/IEC 14496-3 AMENDMENT 2: Audio Lossless Cording (ALS), new audio profiles and BSAC extensions.」のP59に記載された方法によって行う。比較部218は、「積和SP(d,h(d))+sub(d,n)のビット数」を総符号量E(d)又はその推定値とし、「積和SP(0,h(0))+sub(0,n)のビット数」を総符号量E(0)又はその推定値とし、それらを比較する。
具体例3-1又は具体例3-2に加え、パラメータのビット数も比較する。すなわち、選択部213の制御のもと、パラメータ符号化部216にはパラメータs(d),s(0)が入力される。また、パラメータ符号化部216にはさらにパラメータh(d),h(0)が入力される。パラメータ符号化部216は、パラメータs(d),h(d)に対応する符号又は当該符号のビット数と、パラメータs(0),h(0)に対応する符号又は当該符号のビット数とを比較部218に送る。比較部218は、「積和SP(d,h(d))+パラメータs(d),h(d)に対応する符号のビット数」を総符号量E(d)又はその推定値とし、「積和SP(0,h(0))+パラメータs(0),h(0)に対応する符号のビット数」を総符号量E(0)又はその推定値とし、それらを比較する。又は、比較部218は、「積和SP(d,h(d))+sub(d,n)のビット数+パラメータs(d),h(d)に対応する符号のビット数」を総符号量E(d)又はその推定値とし、「積和SP(0,h(0))+sub(0,n)のビット数+パラメータs(0),h(0)に対応する符号のビット数」を総符号量E(0)又はその推定値とし、それらを比較する。
その他、上記の具体例具体例3-1、3-2、3-3において、積和SP(d,h(d))の代わりに、時系列データe(n)を2s(d)+yで割った場合の商q(d,n)を実際に符号表T(h(d))を用いて符号化した場合のビット数を用い、積和SP(0,h(0))の代わりに、時系列データe(n)を2s(0)+yで割った場合の商q(0,n)を実際に符号表T(h(0))を用いて符号化した場合のビット数を用いてもよい([ステップS441の具体例]の説明終わり)。
パラメータ符号化部216は、分離パラメータsとパラメータhとを符号化したパラメータ符号Ccを離散時間区間(n=0,...,N-1)ごとに生成する(ステップS460)。また、分離演算部214、合成部219及び符号化部1017は、分離パラメータs及びパラメータhで特定される符号表T(h)を用いて時系列データe(n)を符号化した符号Ce(n)を生成する(ステップS470)。ステップS470の符号化は、時系列データe(n)を選択された分離パラメータsに対する2s+yで割った商q(n)を、符号表符号表T(h)を用いて符号化した情報prefix(n)と、時系列データe(n)を分離パラメータsに対する2s+yで割った剰余を特定する情報sub(n)とを含む符号を生成する処理である。なお、「時系列データを分離パラメータsに対する2s+yで割った剰余を特定する情報sub(n)」はnull情報をも含む概念である。
以下に、ステップS470の具体例を示す。
図12に示すように、まず、分離演算部214は、入力された分離パラメータsが0であるか否かを判定する(ステップS471)。ここで、s=0でなかった場合、分離演算部214は、入力された時系列データe(n)が0以上であるか否かを判定し(ステップS472a)、e(n)≧0であると判定された場合、
q(n)=floor(e(n)/2s−1) (for e(n)≧0)
に従って整数の商q(n)を生成し(ステップS473a)、
sub(n)=e(n)−2s−1・q(n)+2s−1 (for e(n)≧0)
に従って剰余を特定するための情報sub(n)を生成して出力する(ステップS474a)。
sub(n)=floor{(−e(n)−1)/2s−1} (for e(n)<0)
に従って整数の商q(n)を生成し(ステップS473b)、
sub(n)=(−e(n)−1)−2s−1・q(n) (for e(n)<0)
に従って剰余を特定するための情報sub(n)を生成して出力する(ステップS474b)。
q(n)=2・e(n) (for e(n)≧0)
に従って剰余を特定するための情報sub(n)を生成し(ステップS473c)、sub(n)をnullとして出力する(ステップS474c)。
q(n)=−2・e(n)−1 (for e(n)<0)
に従って整数の商q(n)を生成し(ステップS473d)、sub(n)をnullとして出力する(ステップS474c)。
離散時間区間(n=0,...,N-1)における各符号Ce(n)とパラメータ符号Ccは復号装置220に入力される。パラメータ符号Ccはパラメータ復号部224に入力される。パラメータ復号部224は、パラメータ符号Ccを復号して分離パラメータsとパラメータhとを生成する(ステップS510)。生成された分離パラメータsは合成演算部222に入力され、パラメータhは復号部25に入力される。
まず、符号Ceが分離部221に入力される。分離部221は、入力された符号Ceを分離し、情報prefix(n)と、情報sub(n)とを生成する(ステップS531)。
分離部221から出力された情報prefix(n)は、復号部25に入力される。復号部25は、符号表T(h)を用いて情報prefix(n)を復号し、商q(n)を生成する(ステップS532)。
e(n)=sub(n)+2s−1・q(n)−2s−1
によって時系列データe(n)を算出する(ステップS535a)。
e(n)=−sub(n)−1−2s−1・q(n)
によって時系列データe(n)を算出する(ステップS535b)。
一方、ステップS533でs=0と判定された場合、次に合成演算部222は、情報q(n)が偶数であるか否かを判定する(ステップS534b)。この判定は時系列データe(n)が0以上であるか否かを判定することに相当
する。ステップS534bでq(n)が偶数であると判定された場合、合成演算部222は、
e(n)=q(n)/2
によって時系列データe(n)を算出する(ステップS535c)。
e(n)=−(q(n)+1)/2
によって時系列データe(n)を算出する(ステップS535d)。
以上のように生成された時系列データe(n)は、合成演算部222から出力される([ステップS530の詳細の例示]の説明終わり)。
次に、本発明の第3実施形態の変形例を説明する。
第3実施形態のステップS432では、符号表選択部14が、積和SP(0,j)を用い、複数種類の符号表T(j)から、時系列データe(n)を2s(0)+yで割った商q(d,0)を符号化するための符号表T(h(0))を選択することとした。しかし、ステップS432において、符号表選択部14が、ステップS431で選択された符号表T(h(d))との距離が予め定められた閾値以下の符号表T(j)から、時系列データe(n)を2s(0)で割った商を符号化するための符号表T(h(0))を選択することにしてもよい。最適な符号表T(h(d))と符号表T(h(0))とは近いものであることが多く、このように符号表T(j)を探索することで、精度をさほど落とすことなく、符号表T(j)の探索数を削減できる。また、符号表T(h(d))と符号表T(j)との距離を事前計算しておけば、符号表T(j)の探索時に符号表T(h(d))と符号表T(j)との距離を計算する必要もない。なお、符号表T(h(d))と符号表T(j)との距離は、例えば、符号表T(h(d))においてデータ値kに対応付けられる符号のビット数をbu(k)とし、符号表T(j) においてデータ値kに対応付けられる符号のビット数をbx(k)とし、fu(k)=0.5bu(k)とし、fx(k)=0.5bx(k)とした場合における、(bu(k)−bx(k))(fu(k)−fx(k))の各kについての総和に対して単調増加する値として定義できる。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記の各実施形態では、各符号のビット数を各符号表に格納しておくこととした。しかし、積和の演算のたびに各符号のビット数を計算してもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
20,220 復号装置
Claims (5)
- 時系列データを符号化するための符号表を選択する符号表選択方法であって、
(A) 予め定められた離散時間区間における時系列データのデータ値xの頻度h(x)を求めるステップと、
(B) 各データ値xと各データ値xにそれぞれ対応する各符号c(x,j)とが少なくとも対応付けられた複数種類の符号表T(j)と、前記ステップ(A)で求められた各頻度h(x)とを用い、当該頻度h(x)の大きい順に選択された一部のデータ値xの頻度h(x)と当該一部のデータ値xに対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)を、前記の各符号表T(j)についてそれぞれ算出するステップと、
(C) 前記ステップ(B)で算出された前記積和SP(j)を用い、前記複数種類の符号表T(j)から、前記離散時間区間における時系列データを符号化するための符号表を選択するステップと、
を有する符号表選択方法。 - 時系列データを符号化するための符号表を選択する符号表選択方法であって、
前記時系列データのデータ値xがL種類存在し、m 2 ,m 1 はL≧m 2 >m 1 を満たす1以上の整数であり、
(A) 予め定められた離散時間区間における時系列データのデータ値xの頻度h(x)を求めるステップと、
(B-1) 各データ値xと各データ値xにそれぞれ対応する各符号c(x,j)とが少なくとも対応付けられた複数種類の符号表T(j)と、前記ステップ(A)で求められた各頻度h(x)とを用い、当該頻度h(x)が大きい順に選択されたm1種類のデータ値xの頻度h(x)と当該m 1 種類のデータ値xにそれぞれ対応する符号c(x,j)のビット数b(x,j)との積和SPpre(j)=Σxh(x)・b(x,j)を、前記の各符号表T(j)についてそれぞれ算出するステップと、
(B-2) 前記複数種類の符号表T(j)の一つである基準符号表T(J)について算出された積和SPpre(J)と前記の各符号表T(j)についてそれぞれ算出された積和SPpre(j)とを比較し、前記積和SPpre(J)よりも小さいか、又は、前記積和SPpre(J)との差が予め定められた閾値以下である積和SPpre(j)を選択するステップと、
(B-3) 前記ステップ(B-2)で選択された積和SPpre(j)に対応する符号表T(j)のみについて、m 2 種類のデータ値xの頻度h(x)と当該m 2 種類のデータ値xにそれぞれ対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)をそれぞれ算出するステップと、
(C) 前記ステップ(B-3)で算出された前記積和SP(j)を用い、前記複数種類の符号表T(j)から、前記離散時間区間における時系列データを符号化するための符号表を選択するステップと、を有する
ことを特徴とする符号表選択方法。 - 時系列データを符号化するための符号表を選択して時系列データの符号化を行う符号化装置であって、
予め定められた離散時間区間における時系列データのデータ値xの頻度h(x)を求める頻度算出部と、
各データ値xと各データ値xにそれぞれ対応する各符号c(x,j)とが少なくとも対応付けられた複数種類の符号表T(j)と、前記頻度算出部で求められた各頻度h(x)とを用い、当該頻度h(x)の大きい順に選択された一部のデータ値xの頻度h(x)と当該一部のデータ値xに対応する符号c(x,j)のビット数b(x,j)との積和SP(j)=Σxh(x)・b(x,j)を、前記の各符号表T(j)についてそれぞれ算出する積和算出部と、
前記積和算出部で算出された前記積和SP(j)を用い、前記複数種類の符号表T(j)から、前記離散時間区間における時系列データを符号化するための符号表を選択する符号表選択部と、
を有する符号化装置。 - 請求項1または2の符号表選択方法の各ステップをコンピュータに実行させるためのプログラム。
- 請求項4のプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009020051A JP4759064B2 (ja) | 2009-01-30 | 2009-01-30 | 符号表選択方法、符号化装置、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009020051A JP4759064B2 (ja) | 2009-01-30 | 2009-01-30 | 符号表選択方法、符号化装置、プログラム及び記録媒体 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011096336A Division JP4852177B2 (ja) | 2011-04-22 | 2011-04-22 | 符号表選択方法、符号化装置、及びプログラム |
JP2011096337A Division JP2011199877A (ja) | 2011-04-22 | 2011-04-22 | 符号表選択方法、符号化装置、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010178163A JP2010178163A (ja) | 2010-08-12 |
JP4759064B2 true JP4759064B2 (ja) | 2011-08-31 |
Family
ID=42708648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009020051A Active JP4759064B2 (ja) | 2009-01-30 | 2009-01-30 | 符号表選択方法、符号化装置、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4759064B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63117564A (ja) * | 1986-11-05 | 1988-05-21 | Mitsubishi Electric Corp | ハフマン符号化装置 |
JPH08205169A (ja) * | 1995-01-20 | 1996-08-09 | Matsushita Electric Ind Co Ltd | 動画像符号化装置及び復号装置 |
JPH09219650A (ja) * | 1996-02-13 | 1997-08-19 | Fujitsu Ltd | データ符号化装置およびデータ復号装置およびその方法 |
JPH11340838A (ja) * | 1998-05-27 | 1999-12-10 | Fuji Xerox Co Ltd | 符号化装置および復号装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006011197A1 (ja) * | 2004-07-27 | 2008-05-01 | 三菱電機株式会社 | 符号化データ再符号化装置及びその復号装置並びにプログラム |
-
2009
- 2009-01-30 JP JP2009020051A patent/JP4759064B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63117564A (ja) * | 1986-11-05 | 1988-05-21 | Mitsubishi Electric Corp | ハフマン符号化装置 |
JPH08205169A (ja) * | 1995-01-20 | 1996-08-09 | Matsushita Electric Ind Co Ltd | 動画像符号化装置及び復号装置 |
JPH09219650A (ja) * | 1996-02-13 | 1997-08-19 | Fujitsu Ltd | データ符号化装置およびデータ復号装置およびその方法 |
JPH11340838A (ja) * | 1998-05-27 | 1999-12-10 | Fuji Xerox Co Ltd | 符号化装置および復号装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2010178163A (ja) | 2010-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5337235B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体 | |
JP6146492B2 (ja) | 映像量子化パラメータ符号化方法及び映像量子化パラメータ復号方法 | |
KR101456495B1 (ko) | 무손실 부호화/복호화 장치 및 방법 | |
CN102158692A (zh) | 编码方法、解码方法、编码器和解码器 | |
JP5087166B2 (ja) | 符号表選択方法、符号化装置、及びプログラム | |
JP5303074B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JP4759064B2 (ja) | 符号表選択方法、符号化装置、プログラム及び記録媒体 | |
JP4852177B2 (ja) | 符号表選択方法、符号化装置、及びプログラム | |
US10811021B2 (en) | Coding device, decoding device, and method and program thereof | |
JP2011199877A (ja) | 符号表選択方法、符号化装置、及びプログラム | |
JP4834179B2 (ja) | 符号化方法、その装置、プログラム及び記録媒体 | |
JP4918103B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JPWO2010067800A1 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
WO2019198383A1 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 | |
JP5786044B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
WO2013129528A1 (ja) | 符号化装置、この方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110422 |
|
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: 20110517 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4759064 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |