JP5361565B2 - 符号化方法、復号方法、符号化器、復号器およびプログラム - Google Patents

符号化方法、復号方法、符号化器、復号器およびプログラム Download PDF

Info

Publication number
JP5361565B2
JP5361565B2 JP2009149007A JP2009149007A JP5361565B2 JP 5361565 B2 JP5361565 B2 JP 5361565B2 JP 2009149007 A JP2009149007 A JP 2009149007A JP 2009149007 A JP2009149007 A JP 2009149007A JP 5361565 B2 JP5361565 B2 JP 5361565B2
Authority
JP
Japan
Prior art keywords
signal
value
quantized
reference value
positive
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
JP2009149007A
Other languages
English (en)
Other versions
JP2011009868A (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 JP2009149007A priority Critical patent/JP5361565B2/ja
Publication of JP2011009868A publication Critical patent/JP2011009868A/ja
Application granted granted Critical
Publication of JP5361565B2 publication Critical patent/JP5361565B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、信号の符号化技術及び復号技術に関する。
信号系列をサンプルあたり1ビット以下で量子化するための手法の一つにベクトル量子化がある。この手法は、入力されたベクトルとの歪が最も小さいベクトルを符号帳から選択し、その番号(以下、「インデックス」という。)を伝送するものであり、量子化対象に即した符号帳を作成しておくことで、量子化歪の小さい量子化を可能とするものである。しかしながら、符号帳のメモリ量や歪を計算するための演算量は、量子化ビット数の指数関数で増大するため、量子化ビット数の多いときの量子化は実現が困難である。これを解決する1つの手法が多段ベクトル量子化(特許文献1)である。また、近年、量子化ノイズの少ない高能率なベクトル量子化手法として、例えばSpherical Vector Quantization(SVQ)法(非特許文献1)など、予め設定された量子化ビット数の範囲内で、周波数成分の一部をパルスとして立てていく(周波数成分の一部を振幅が0以外の量子化信号に量子化し、残りを振幅が0の量子化信号に量子化する)ベクトル量子化手法が広く利用されている。
図1は、多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図である。図2は符号化器と復号器の処理フローを示す図である。図2(A)は符号化器の処理フローを示しており、図2(B)は復号器の処理フローを示している。多段ベクトル量子化では、量子化部が多段に接続され、初段の第1量子化部は入力信号について動作し,次段以降は入力信号と前段までの量子化出力の誤差について動作する。このようにすると、メモリ量や演算量を現実的な範囲に抑えたままで、ベクトル量子化が可能となる。図中の多段ベクトル量子化の段数は、分かり易くするため2としてあるが、段数は2以上を用いた構成でも良い。量子化手法には、周波数領域に変換した成分を量子化する手法(非特許文献1)を例として用いた。
符号化器100は、周波数領域変換部101、正規化基準値計算部102、正規化基準値量子化部103、第1ベクトル量子化部104、誤差計算部105、第2ベクトル量子化部106を備える。復号器100’は、正規化基準値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部110、時間領域変換部111を備える。
周波数領域変換部101は、時系列信号である時間領域の入力信号x(n)(音響信号等)を入力とし、所定の離散時間区間内のN個の入力信号x(0)(n=0,...,N−1)ごと(フレームごと)に、L点の周波数成分を示す信号である周波数領域信号X(k)(k=0,...,L−1)を生成し、これらを出力する(S101)。ただし、nは時間領域での信号の番号(離散時間番号)を、kは周波数領域での信号の番号(離散周波数番号)を示している。高い周波数に対応する離散周波数番号kほど値が大きい。N,Lは、2以上の整数であり、例えば64や80である。N,Lは、符号化器100および復号器100’で共有される値である。また、周波数領域変換方法としては、例えばMDCT(Modified Discrete Cosine Transform)がある。
正規化基準値計算部102は、符号化対象信号である周波数領域信号X(k)(k=0,...,L−1)を入力として、周波数領域信号X(k)(k=0,...,L−1)の正規化基準値X を生成して出力する(S102)。なお、正規化基準値X は、S個(L≧S≧2)の周波数領域信号X(k)の振幅値からなる集合に依存する信号であり、その例は、L点または各サブバンド(L点をさらに分割した周波数帯域で、例えば8点で1つのサブバンドを形成する)内の周波数領域信号X(k)のパワーの平均値の平方根である。Sの例は、Lや1つのサブバンドのサンプル点数などである。また、例えば、L点の正規化基準値X は、次式のように計算される。
Figure 0005361565
また、L点または各サブバンド内の周波数領域信号X(k)の平均振幅値を正規化基準値X としてもよい。例えば、L点の正規化基準値X
Figure 0005361565
としてもよい。
以下の説明では、サブバンドでの正規化ではなく、L点の正規化基準値X を用いた場合について説明する。なお、記述の制約上、X と表現する場合があるが、X
Figure 0005361565
とは同じものをさす。同様に、以下で用いる、X,X^(k),E^(k)は、それぞれ、
Figure 0005361565
と同じものをさす。
正規化基準値量子化部103は、正規化基準値計算部102で求めた正規化基準値X を入力とし、正規化基準値X を量子化して、正規化基準値量子化インデックスCと、正規化基準値量子化インデックスCに対応する量子化正規化基準値Xを出力する(S103)。
第1ベクトル量子化部104は、各周波数領域信号X(k)と量子化正規化基準値Xを入力として、各周波数領域信号X(k)を、量子化正規化基準値Xで割り算する、もしくは逆数を乗ずることで正規化し、正規化周波数領域信号を求める。そして、正規化周波数領域信号をベクトル量子化して、量子化代表ベクトルのインデックスである第1ベクトル量子化インデックスCと、第1ベクトル量子化インデックスCに対応する量子化信号の逆正規化値(量子化インデックスCに対応する量子化信号と量子化正規化基準値Xとの積)である第1量子化信号X^(k)を求め、第1ベクトル量子化インデックスCと第1量子化信号X^(k)出力する(S104)。
誤差計算部105は、周波数領域信号X(k)と第1量子化信号X^(k)を入力として、周波数領域信号X(k)と第1量子化信号X^(k)の間の誤差を、例えば、
E(k)=X(k)−X^(k)
のように計算し、誤差信号E(k)を出力する(S105)。
第2ベクトル量子化部106は、誤差信号E(k)と量子化正規化基準値Xを入力とし、誤差信号E(k)を、量子化正規化基準値Xで割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号をベクトル量子化して、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスCとして出力する(S106)。
符号化器100は、第1ベクトル量子化インデックスCと第2ベクトル量子化インデックスCと正規化基準値量子化インデックスCが含まれる符号を、復号器100’に送る。そして、復号器100’では、以下のような処理が行われる。
正規化基準値復号部107は、正規化基準値量子化インデックスCを入力とし、正規化基準値量子化インデックスCに対応する復号量子化正規化基準値Xを求め、この復号量子化正規化基準値Xを出力する(S107)。
第1ベクトル復号部108は、第1ベクトル量子化インデックスCと復号量子化正規化基準値Xを入力とし、第1ベクトル量子化インデックスCを復号し、フレーム単位の正規化された信号を正規化第1量子化信号として求め、正規化第1量子化信号に復号量子化正規化基準値Xを乗算することで逆正規化し、これを復号第1量子化信号X^(k)(量子化信号)として出力する(S108)。
第2ベクトル復号部109は、第2ベクトル量子化インデックスCと復号量子化正規化基準値Xを入力とし、第2ベクトル量子化インデックスCを復号し、正規化された信号を正規化誤差信号として求め、正規化誤差信号に復号量子化正規化基準値Xを乗算することで逆正規化し、これを復号量子化誤差信号E^(k)として出力する(S109)。
誤差修正部110は、復号第1量子化信号X^(k)と復号量子化誤差信号E^(k)を入力とし、復号信号Z(k)を、例えば、
Z(k)=X^(k)+E^(k) (3)
のように求め、復号信号Z(k)を出力する(S110)。
時間領域変換部111は、復号信号Z(k)(k=0,...,L−1)を入力とし、例えばフレーム点数L分の逆MDCTを用いて時間領域変換を行い、フレーム点数L分の出力信号z(n)(n=0,...,N−1)を出力する(S111)。
なお、上記では、周波数領域信号X(k)を符号化対象信号とし、周波数領域信号X(k)を第1ベクトル量子化部104、正規化基準値計算部102および誤差計算部105に入力する構成を示した。しかし、時間領域の入力信号x(n)を符号化対象信号とし、周波数領域信号X(k)の代わりに入力信号x(n)を第1ベクトル量子化部104、正規化基準値計算部102および誤差計算部105に入力する構成であってもよい。この場合、周波数領域変換部101および時間領域変換部111は不要となり、上述の周波数領域信号X(k)を入力信号x(n)に置換した処理が実行される。
特許2776474号公報
ITU-T Recommendation G.729.1, SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS, Digital terminal equipments - Coding of analogue signals by methods other than PCM, G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729, 05/2006.
上述の符号化器100と復号器100’では、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足すると、入力信号に存在するはずの周波数成分が出力信号には存在しない(出力信号から周波数成分が欠損する)という頻度が高くなる。このように出力信号から周波数成分が欠損した場合、出力信号の或る周波数成分の有無が時間的に不連続に変化する頻度が高くなる。人間は、このような周波数成分の有無の時間的に不連続な変化に敏感であり、このような変化はミュージカルノイズと呼ばれるノイズとして知覚される場合がある。
しかしながら、従来の符号化器100と復号器100’は、第1量子化信号の値(前段のベクトル量子化で得られた量子化された信号の値)が0か0以外かに関係なく、第1量子化信号と符号化対象信号との誤差を示す信号を後段のベクトル量子化の対象としている。つまり、従来技術には、ミュージカルノイズのような人間が敏感に感じるノイズを軽減すための特別な工夫はない。したがって、元の信号と復号化された信号との誤差のパワーが数値の上では小さくなったとしても、人間の感覚が敏感な誤差に着目した符号化ではないので、ミュージカルノイズが残りやすいという課題がある。
また、このようなミュージカルノイズの問題は、周波数領域信号X(k)を符号化対象信号とした場合に特に顕著となるが、時間領域の入力信号x(n)を符号化対象信号とする場合にも存在するものである。
本発明は、このような課題に鑑みてなされたものであり、十分な符号ビット長を確保できない場合であっても、ミュージカルノイズを軽減することが可能な技術を提供することを目的とする。
本発明の符号化処理では、所定数(所定サンプル数)の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号または当該量子化信号を特定するために用いられる量子化インデックスとを生成する。さらに、振幅値が0の上記量子化信号に対応する符号化対象信号のみについて、符号化対象信号が正であるか負であるかを示す正負符号情報を生成する。
また、本発明の復号処理では、少なくとも量子化インデックスを復号して所定数の量子化信号を得る。さらに、信号が正であるか負であるかを示す正負符号情報を用い、正負符号情報が示す正または負の符号を持つ信号を生成する。そして、得られた量子化信号のうち振幅値が0でない量子化信号に対して、当該振幅値が0でない量子化信号を復号信号として出力し、得られた量子化信号のうち振幅値が0である量子化信号に対して、正負符号情報が示す正または負の符号を持つ信号を含む集合に属する信号またはそれと同値の信号を復号信号として出力する。
このように生成された復号信号は、振幅値が時間的に不連続に0になる頻度が小さく。その結果、ミュージカルノイズを軽減できる。
以上のように、本発明では、十分な符号ビット長を確保できない場合であっても、ミュージカルノイズを軽減することができる。
多段ベクトル量子化手法を用いた従来の符号化器と復号器の機能構成例を示す図。 符号化器と復号器の処理フローを示す図。図2(A)は符号化器の処理フローを示しており、図2(B)は復号器の処理フローを示している。 本形態の符号化処理の原理を説明するための図。 本形態の復号処理の原理を説明するための図。 第1実施形態の符号化器と復号器の構成例を説明するための図。 第1実施形態の符号化器と復号器の処理を説明するためのフローチャート。図6(A)は符号化器の処理を説明するためのフローチャートであり、図6(B)は復号器の処理を説明するためのフローチャートである。 図6(A)のステップS212の詳細を例示するためのフローチャート。 図6(A)のステップS213の詳細を例示するためのフローチャート。 図6(B)のステップS214の詳細を例示するためのフローチャート。 図6(B)のステップS215の詳細を例示するためのフローチャート。 図6(B)のステップS216の詳細を例示するためのフローチャート。 第2実施形態の符号化器と復号器の構成例を説明するための図。 第2実施形態の復号器の処理を説明するためのフローチャート。 図13のステップS416の詳細を例示するためのフローチャート。 図13のステップS416の別の処理を例示するためのフローチャート。 図13のステップS516の処理を例示するためのフローチャート。 図13のステップS516の別の処理を例示するためのフローチャート。 クラシック音楽のみを対象とするときの実験結果を示す図。 背景にクラシック音楽が流れているときの音声に対する実験結果を示す図。 背景にポップス音楽が流れているときの音声に対する実験結果を示す図。
以下、本発明の実施形態を詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
〔原理〕
まず、本形態の原理を説明する。
図3は、本形態の符号化処理の原理を説明するための図である。図3は、L=64の場合の周波数領域信号X(k)(k=0,...,L−1)を各符号化対象信号とした場合の例である。図3の横軸は離散周波数番号kを示し、縦軸は周波数成分の値(例えば、MDCT係数)を示す。図3の破線は、符号化対象信号である周波数領域信号X(k)を例示し、太い実線は、符号化対象信号に対応する量子化信号である第1量子化信号X^(k)を例示する。
図3に例示するように、本形態の一段目のベクトル量子化処理では、一部の離散周波数番号kに対応する周波数領域信号X(k)が0以外の振幅の第1量子化信号X^(k)に量子化され、それ以外の離散周波数番号kに対応する周波数領域信号X(k)が振幅0の第1量子化信号X^(k)に量子化される。本形態では、振幅が0となる第1量子化信号X^(k)に対し、当該第1量子化信号X^(k)に対応する周波数領域信号X(k)が正であるか負であるかを示す正負符号情報(例えば、MDCT係数の正負の符号情報)を生成し、これを前述の第1ベクトル量子化インデックスC等とともに符号の一部とする。
図4は、本形態の復号処理の原理を説明するための図である。図4の横軸は離散周波数番号kを示し、縦軸は周波数成分の値(例えば、MDCT係数)を示す。図4の太字の破線は、符号化対象信号に対応する量子化信号である第1量子化信号X^(k)を例示し、細字の破線は、量子化正規化基準値Xとその負値-Xを例示し、太字の実線は復号信号を例示している。なお、図4の例では、8点の離散周波数点からなるサブバンドごとに量子化正規化基準値Xが生成されている。
図4に例示するように、本形態の復号処理では、第1ベクトル量子化インデックスCを用いてL個の量子化信号を特定し、それらをL個の周波数領域信号X(k)(k=0,...,L−1)にそれぞれ対応する第1量子化信号X^(k)(k=0,...,L−1)とする。そして、上述の正負符号情報を用い、第1量子化信号X^(k)(k=0,...,L−1)のうち、振幅値が0の第1量子化信号X^(k)の少なくとも一部を、正負符号情報が示す正または負の符号を持つ信号に置換し、復号信号を生成する。この例では、振幅値が0の第1量子化信号X^(k)を、量子化正規化基準値Xと正負符号情報が示す正負符号との積からなる信号に置換することで、復号信号を生成している。これにより、復号信号の有無が時間的に不連続に変化する頻度を低くし、ミュージカルノイズを軽減できる。
〔第1実施形態〕
図5は、第1実施形態の符号化器と復号器の構成例を説明するための図である。図6は、第1実施形態の符号化器と復号器の処理を説明するためのフローチャートである。図6(A)は符号化器の処理を説明するためのフローチャートであり、図6(B)は復号器の処理を説明するためのフローチャートである。
<構成>
符号化器200は、周波数領域変換部101、正規化基準値計算部102、正規化基準値量子化部103、第1ベクトル量子化部104、抽出部212、正負符号情報計算部213を備える。復号器200’は、正規化基準値復号部107、第1ベクトル復号化部108、M値計算部214、周波数成分計算部215、再構成部216、時間領域変換部111を備える。符号化器200は、抽出部212と正負符号情報計算部213とが従来の符号化器100と相違する。また、復号器200’は、M値計算部214と周波数成分計算部215と再構成部216とが従来の復号器100’と相違する。符号化器200、復号器200’のその他の構成部は、符号化器100、復号器100’と同じである。
<符号化処理>
符号化器200は、以下の符号化処理を実行する。
まず、符号化器200は、前述したステップS101〜S104の処理を実行し、L個の周波数領域信号X(k)(k=0,...,L−1)(符号化対象信号)に対応するL個の正規化周波数領域信号(前述)を要素とするベクトルをベクトル量子化し、周波数領域信号X(k)にそれぞれ対応する第1量子化信号X^(k)(量子化信号)と、当該第1量子化信号X^(k)を特定するために用いられる第1ベクトル量子化インデックスC(量子化インデックス)とを生成して出力する。
次に、符号化器200は、振幅値が0の第1量子化信号X^(k)のみに対し、当該第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)が正であるか負であるかを示す正負符号情報を生成して出力する(S212、S213)。
まず、抽出部212が、周波数領域信号X(k)(k=0,...,L−1)と第1量子化信号X^(k)(k=0,...,L−1)を入力とし、周波数領域信号X(k)(k=0,...,L−1)から第1ベクトル量子化部104においてパルスが立てられなかったもの(振幅値が0の量子化信号に対応する周波数領域信号)だけを抜き出した第2符号化対象信号E(m)と、第1ベクトル量子化部においてパルスが立てられなかった周波数領域信号の数M(振幅値が0の量子化信号の数)を求め、第2符号化対象信号E(m)(m=0,...,M−1)と数Mを出力する(S212)。ここで、mは配列番号を表す整数値である。
[ステップS212の処理の例示]
図7は、図6(A)のステップS212の詳細を例示するためのフローチャートである。抽出部212は、まず、k=0、m=0として処理を始める。抽出部212は、kがLよりも小さいかを確認する(S2121)。ステップS2121での結果がYesの場合、次に抽出部212は、X^(k)が0かを確認する(S2122)。ステップS2122での結果がYesの場合、抽出部212は、E(m)をX(k)とし、mの値を1つ増やし(S2123)、ステップS2124の処理に進む。一方、ステップS2122での結果がNoの場合、ステップS2123の処理を実行することなく、ステップS2124に進む。ステップS2124では、抽出部212が、kの値を1つ増やし、ステップS2121に戻る。S2121での結果がNoの場合、抽出部212は、mの値をMとし(S2125)、処理を終了する([ステップS212の処理の例示]終わり)。
次に、正負符号情報計算部213が、第2符号化対象信号E(m)(m=0,...,M−1)と数Mとを入力として、振幅値が0の第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)である第2符号化対象信号E(m)(m=0,...,M−1)が正であるか負であるかを示す2進数の正負符号情報b(m)(m=0,...,M−1)を生成して出力する(S213)。
[ステップS213の処理の例示]
図8は、図6(A)のステップS213の詳細を例示するためのフローチャートである。
正負符号情報計算部213は、まず、m=0として処理を始める。正負符号情報計算部213は、mがMよりも小さいかを確認する(S2131)。ステップS2131での結果がYesの場合、正負符号情報計算部213は、第2符号化対象信号E(m)が0未満(負)であるかを確認する(S2133)。ステップS2133での結果がYesの場合(負の場合)、正負符号情報計算部213は、b(m)を0とし(S2134)、ステップS2136に進む。一方、ステップS2133での結果がNoの場合(正の場合)、正負符号情報計算部213は、b(m)を1とし(S2135)、ステップS2136に進む。ステップS2136では、正負符号情報計算部213が、mの値を1つ増やし(S2136)、ステップS2131に戻る。ステップS2131での結果がNoの場合、処理を終了する([ステップS213の処理の例示]終わり)。
符号化器200は、第1ベクトル量子化インデックスCと正負符号情報b(m)(m=0,...,M−1)と正規化基準値量子化インデックスCが含まれる符号を、復号器100’に送る。
<復号処理>
復号器200’は、以下の復号処理を実行する。
まず、復号器200’は、前述したステップS107およびS108の処理を実行し、正規化基準値量子化インデックスCを用いて量子化値を特定し、それを復号量子化正規化基準値Xとするとともに、第1ベクトル量子化インデックスCと復号量子化正規化基準値Xを用いてL個の量子化信号を特定し、それらをL個の周波数領域信号X(k)(k=0,...,L−1)(符号化対象信号)にそれぞれ対応するL個の復号第1量子化信号X^(k)(k=0,...,L−1)とする。
次に、復号器200’は、正負符号情報b(m)(m=0,...,M−1)を用い、L個の復号第1量子化信号X^(k)(k=0,...,L−1)のうち、振幅値が0の第1量子化信号X^(k)を、正負符号情報b(m)が示す正または負の符号を持つ信号E^(k)に置換する(S214〜S216)。
まず、M値計算部214が、復号第1量子化信号X^(k)(k=0,...,L−1)を入力とし、それらのうち振幅値が0の復号第1量子化信号X^(k)の数Mを求め、数Mを出力する(S214)。
[ステップS214の処理の例示]
図9は、図6(B)のステップS214の詳細を例示するためのフローチャートである。M値計算部214は、まず、k=0、m=0として処理を始める。M値計算部214は、kがLよりも小さいかを確認する(S2141)。ステップS2141での結果がYesの場合、次にM値計算部214は、X^(k)が0かを確認する(S2142)。ステップS2142での結果がYesの場合、M値計算部214は、mの値を1つ増やし(S2143)、ステップS2144の処理に進む。一方、ステップS2142での結果がNoの場合、M値計算部222は、ステップS2143の処理を実行することなく、ステップS2144に進む。ステップS2144では、M値計算部214が、kの値を1つ増やし、ステップS2141に戻る。ステップS2141での結果がNoの場合、M値計算部214は、mの値をMとし(S2145)、処理を終了する([ステップS214の処理の例示]終わり)。
次に、周波数成分計算部215が、復号量子化正規化基準値Xと正負符号情報b(m)(m=0,...,M−1)と値Mとを入力とし、正負符号情報b(m)が示す正または負の符号を持つ信号E^(m)を生成し、信号E^(m)を出力する(S215)。
[ステップS215の処理の例示]
図10は、図6(B)のステップS215の詳細を例示するためのフローチャートである。周波数成分計算部215は、まず、m=0として処理を始める。周波数成分計算部215は、mがLよりも小さいかを確認する(S2151)。ステップS2151での結果がYesの場合、周波数成分計算部215は、b(m)が0であるかを確認する(S2153)。S2153での結果がYesの場合、周波数成分計算部215は、
E^(m)=−1・C(m)・X (4)
を計算し(S2154)、ステップS2157の処理に進む。一方、S2153での結果がNoの場合、周波数成分計算部215は、
E^(m)=C(m)・X (5)
を計算し(S2155)、ステップS2157の処理に進む。ここで、C(m)は、復号量子化正規化基準値Xを周波数領域信号X(k)に近づけるための正の調整定数である。C(m)の例は1未満の数や1よりも大きな数であるが、C(m)=1.0としてもよい。また、C(m)は、すべてのm=0,...,M−1に対して同一の値であってもよいし、各mまたは一部のmの集合ごとに定められてもよい。すなわち、信号E^(m)の絶対値は、復号量子化正規化基準値Xまたはその重み付け値あるいは定数倍値である。ステップS2157では、周波数成分計算部215が、mの値を1つ増やし(S2157)、ステップS2151の処理に進む。S2151での結果がNoの場合、周波数成分計算部215は、処理を終了する([ステップS215の処理の例示]の説明終わり)。
次に、再構成部216が、復号第1量子化信号X^(k)(k=0,...,L−1)と信号E^(m)(m=0,...,M−1)とを入力とし、復号第1量子化信号X^(k)(k=0,...,L−1)のうち、振幅値が0の第1量子化信号X^(k)を信号E^(m)に置換した復号信号Z(k)(k=0,...,L−1)を生成し、復号信号Z(k)(k=0,...,L−1)を出力する(S216)。
[ステップS216の処理の例示]
図11は、図6(B)のステップS216の詳細を例示するためのフローチャートである。再構成部216は、まず、k=0、m=0として処理を始める。再構成部216は、kがLよりも小さいかを確認する(S2161)。ステップS2161での結果がYesの場合、再構成部216は、復号第1量子化信号X^(k)が0であるかを確認する(S2162)。ステップS2162での結果がYesの場合、再構成部216は、信号E^(m)を復号信号Z(k)とし(ステップS2163)、ステップS2165の処理に進む。一方、ステップS2162での結果がNoの場合、再構成部216は、復号第1量子化信号X^(k)を復号信号Z(k)とし、ステップS2165の処理に進む。ステップS2165では、周波数成分計算部215が、kの値を1つ増やし(S2165)、ステップS2161の処理に戻る。ステップS2161の結果がNoの場合、再構成部216は、処理を終了する([ステップS216の処理の例示]の説明終わり)。
その後、時間領域変換部111が、復号信号Z(k)(k=0,...,L−1)を入力とし、それらの時間領域変換を行い、フレーム点数L分の出力信号z(n)(n=0,...,N−1)を出力する(S111)。
<第1実施形態の特徴>
本形態では、符号化器200が、L個の周波数領域信号X(k)(k=0,...,L−1)(符号化対象信号)に対応するL個の正規化周波数領域信号を要素とするベクトルをベクトル量子化し、周波数領域信号X(k)にそれぞれ対応する第1量子化信号X^(k)(量子化信号)と、当該第1量子化信号X^(k)を特定するために用いられる第1ベクトル量子化インデックスC(量子化インデックス)とを生成し、振幅値が0の第1量子化信号X^(k)に対し、当該第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)のみについて、周波数領域信号X(k)(符号化対象信号)が正であるか負であるかを示す正負符号情報を生成することとした。また、復号器200’が、正規化基準値量子化インデックスCを用いて量子化値を特定し(復号し)、それを復号量子化正規化基準値Xとするとともに、第1ベクトル量子化インデックスCと復号量子化正規化基準値Xを用いてL個の量子化信号を特定し、それらをL個の周波数領域信号X(k)(k=0,...,L−1)(符号化対象信号)にそれぞれ対応するL個の復号第1量子化信号X^(k)(k=0,...,L−1)し、正負符号情報b(m)(m=0,...,M−1)を用い、L個の復号第1量子化信号X^(k)(k=0,...,L−1)のうち、振幅値が0の第1量子化信号X^(k)を、正負符号情報b(m)が示す正または負の符号を持つ信号E^(k)に置換し、復号信号を生成することにした。このように生成された復号信号の場合、量子化誤差に起因して振幅値が0となり、信号の有無が時間的に不連続に変化する頻度が小さくなる。その結果、ミュージカルノイズが軽減される。
なお、本形態では、入力信号x(n)を周波数領域に変換して得られた周波数領域信号X(k)を符号化対象信号とした。しかし、入力信号x(n)を周波数領域に変換して得られた周波数領域信号の特定の周波数帯(例えば、8kHz〜14kHzなど)の信号を符号化対象信号としてもよい。また、所定の離散時間区間であるフレーム単位またはフレームを複数に符号化対象信号分割した離散時間区間であるサブフレーム単位で抽出された時間領域の信号を符号化対象信号としてもよい。また、これらの信号を量子化した信号を符号化対象信号としてもよい。
また、本形態では、復号時に、L個の復号第1量子化信号X^(k)(k=0,...,L−1)のうち、振幅値が0の第1量子化信号X^(k)を、正負符号情報b(m)が示す正または負の符号を持つ信号E^(k)に置換し、復号信号を生成することにした。しかし、置換をするのではなく、復号信号が、振幅値が0の第1量子化信号X^(k)と信号E^(k)との線形和を含んでいてもよい。すなわち、第1量子化信号X^(k)のうち振幅値が0でない第1量子化信号X^(k)に対して、当該振幅値が0でない第1量子化信号X^(k)を復号信号として出力し、第1量子化信号X^(k)のうち振幅値が0である第1量子化信号X^(k)に対して、信号E^(k)またはそれと同値の信号を復号信号として出力すればよい。
また、本形態では、所定数の符号化対象信号の平均パワーの平方根、または、所定数の符号化対象信号の平均振幅値を正規化基準値X としたが、所定数の符号化対象信号の合計パワーや、所定数の符号化対象信号の振幅値の合計値など、その他の所定数の符号化対象信号の振幅の集合に依存する値を正規化基準値X としてもよい。
また、本形態では、符号化処理時にL点の周波数領域信号X(k)(k=0,...,L−1)に対応する正規化基準値X を用い、復号処理時にL点の周波数領域信号X(k)(k=0,...,L−1)に対応する復号量子化正規化基準値Xを用いて信号E^(m)を生成した。しかし、符号化処理時に、サブバンドごとに周波数領域信号X(k)に対応する正規化基準値X を生成する場合には、復号処理時にサブバンドごとに周波数領域信号X(k)に対応する復号量子化正規化基準値Xを用いて信号E^(m)を生成してもよい。
また、本形態では、第1ベクトル量子化部104が、正規化後の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第1ベクトル量子化インデックスCを生成したが、正規化前の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第1ベクトル量子化インデックスCを生成してもよい。
また、本形態では、信号E^(m)の絶対値が、復号量子化正規化基準値Xまたはその重み付け値あるいは定数倍値であることとした。しかし、復号量子化正規化基準値Xを使用できない場合に、少なくとも一部の信号E^(m)の絶対値を乱数等のランダム値としてもよい。
また、本形態では、符号化時に、一段目のベクトル量子化を行って得られた信号を抽出部212に入力したが、二段以上のベクトル量子化を行って得られた信号を抽出部212に入力する構成でもよい。この場合、復号時にも符号化時と同じ段数のベクトル復号が実行される。
〔第1実施形態の変形例〕
第1実施形態では、符号化処理時に、すべてのm=0,...,M−1について2進数の正負符号情報b(m)を生成して、これらを符号に含め、復号処理時に、各正負符号情報b(m)が示す正または負の符号を持つ信号E^(m)を生成し、振幅値が0の復号第1量子化信号X^(k)を信号E^(m)で置換した。しかし、L点の周波数領域信号X(k)(k=0,...,L−1)(符号化対象信号)に対応する符号中の正負符号情報b(m)に対して許容される合計ビット数BIT(BIT≧1)がM未満の場合には、すべてのm=0,...,M−1に対する正負符号情報b(m)を符号に含めることができない。第1実施形態の変形例では、符号化処理時に、BIT個以下の2進数の正負符号情報b(m)を生成し、復号処理時に、BIT個以下の正負符号情報b(m)を用いて信号E^(m)を生成し、振幅値が0の復号第1量子化信号X^(k)を信号E^(m)で置換する。
<構成>
図5を用いて本変形例の機能構成を説明する。第1実施形態の変形例の符号化器300、復号器300’が第1実施形態の符号化器200、復号器200’と異なる点は、正負符号情報計算部313、周波数成分計算部315だけであり、その他は第1実施形態と同じである。
<符号化処理・復号処理>
図6を用いて本変形例の符号化処理および復号処理を説明する。
第1実施形態の変形例の符号化処理および復号処理が第1実施形態の符号化処理および復号処理と異なる点は、符号化器300と復号器300’とでBITの値を共有している点、および、ステップS313、ステップS315だけであり、その他は第1実施形態と同じである。
ステップS313の処理では、正負符号情報計算部313が、第2符号化対象信号E(m)(m=0,...,M−1)と数Mとを入力として、振幅値が0の第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)である第2符号化対象信号E(m)(m=0,...,M−1)から選択された、BIT個以下の第2符号化対象信号E(m)に対してのみ、正負符号情報b(m)を生成し、正負符号情報b(m)を出力する。第2符号化対象信号E(m)(m=0,...,M−1)からBIT個数以下の第2符号化対象信号E(m)を選択する方法に制限はないが、人間が敏感に聞き分けることができる周波数帯に対応する第2符号化対象信号E(m)がより多く選択されることが望ましい。例えば、人間の聴覚は、高い周波数の音になるほど周波数分解能が悪くなる。そのため、より低い周波数に対応するBIT個数以下の第2符号化対象信号E(m)を選択することが望ましい。これを定量的に表現すると、選択されたBIT個数以下の第2符号化対象信号E(m)に対応する周波数の平均が、選択されなかった第2符号化対象信号E(m)に対応する周波数の平均よりも低くなることが望ましい。
[ステップS313の処理の例示]
図8を用いてステップS313の詳細を例示する。この例では、ステップS2141での結果がYesの場合、正負符号情報計算部313が、mがBITよりも小さいかを確認する(ステップS3132)。ステップS3132での結果がYesの場合、ステップS2133以降の処理が実行される。一方、ステップS3132での結果がNoの場合、ステップS313の処理が終了する。その他は、前述した第1実施形態の[ステップS213の処理の例示]と同様である。ただし、この変形例では、ステップS2131、S2133〜S2136の処理も正負符号情報計算部313が実行する。
ここで、mの値が小さいほど低い周波数に対応するため、この処理の例では、低い周波数に対応するものから順番に、BIT個数以下の第2符号化対象信号E(m)を選択し、選択した第2符号化対象信号E(m)に対応する正負符号情報b(m)が生成されることになる([ステップS313の処理の例示]終わり)。
ステップS315では、周波数成分計算部315が、復号量子化正規化基準値XとBIT個数以下の正負符号情報b(m)と値Mとを入力とし、正負符号情報b(m)が示す正または負の符号を持つ信号E^(m)を生成し、信号E^(m)を出力する。
[ステップS315の処理の例示]
図10を用いてステップS315の詳細を例示する。この例では、ステップS2151での結果がYesの場合、周波数成分計算部315が、mがBITよりも小さいかを確認する(ステップS3152)。ステップS3152での結果がYesの場合、ステップS2153以降の処理が実行される。一方、ステップS3152での結果がNoの場合、周波数成分計算部215は、
E^(m)=C(m)・X・rand(m) (6)
(正負符号情報とは無関係に生成した信号)を計算し(S3156)、ステップS2157の処理に進む。なお、rand(m)はmに対して1または-1を出力する関数であり、その一例は乱数などを用いてランダムに1または-1を出力する関数である。また、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからである。その他は、前述した第1実施形態の[ステップS215の処理の例示]と同様である。ただし、この変形例では、ステップS2151、S2153〜S2157の処理も周波数成分計算部315が実行する([ステップS315の処理の例示]終わり)。
<第1実施形態の変形例の特徴>
この変形例でも第1実施形態と同様にミュージカルノイズが軽減される。
また、この変形例では、符号化器300が、振幅値が0の第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)から選択された、BIT個以下の第2符号化対象信号E(m)に対してのみ、正負符号情報b(m)を生成し、復号器300’が、振幅値が0の復号第1量子化信号X^(k)の一部を、正負符号情報b(m)が示す正または負の符号を持つ信号に置換することとした。これにより、符号化対象信号に対応する符号中の正負符号情報b(m)に対して許容される合計ビット数が制限されている場合でも、本発明を実装できる。
また、上記の選択されたBIT個数以下の第2符号化対象信号E(m)に対応する周波数の平均が、選択されなかった第2符号化対象信号E(m)に対応する周波数の平均よりも低くなるようにすることで、人間が敏感に聞き分けることができる周波数帯への影響を抑えつつ、正負符号情報b(m)の合計ビット数を削減できる。
なお、本形態では、周波数が最も低いものから順番に選択されたBIT個数以下の第2符号化対象信号E(m)を対象として正負符号情報b(m)を生成した。しかし、その他の順序で選択されたBIT個数以下の第2符号化対象信号E(m)を対象として正負符号情報b(m)を生成してもよい。また、周波数が最も高いものから順番に選択されたBIT個数以下の第2符号化対象信号E(m)を対象として正負符号情報b(m)を生成してもよい。
また、第1実施形態の変形例と、第1実施形態の最後に説明したその他の変形とを組み合わせてもよい。例えば、本形態では、復号時に、振幅値が0の復号第1量子化信号X^(k)の一部を、正負符号情報b(m)が示す正または負の符号を持つ信号に置換することとした。しかし、置換をするのではなく、復号信号が、振幅値が0の第1量子化信号X^(k)と信号E^(k)との線形和を含んでいてもよい。すなわち、振幅値が0でない第1量子化信号X^(k)を復号信号として出力し、振幅値が0である第1量子化信号X^(k)のうち所定個数以下を対象として、正負符号情報b(m)が示す正または負の符号を持つ信号E^(m)またはそれと同値の信号を復号信号として出力し、振幅値が0である第1量子化信号X^(k)のうち上記の対象外のものを対象として、正負符号情報b(m)とは無関係に生成した信号E^(m)を復号信号として出力すればよい。
〔第2実施形態〕
第1実施形態やその変形例では、量子化正規化基準値Xに依存する値を信号E^(m)の振幅値とした(式(4)〜(6))。ここで、量子化正規化基準値Xは、すべてのk=0,...,L−1に対応する周波数領域信号X(k)の振幅値の集合に依存する値である。一方、信号E^(m)は、振幅値が0の第1量子化信号X^(k)のみに置換される信号なのだから、信号E^(m)の振幅値が、振幅値が0の第1量子化信号X^(k)に対応する周波数領域信号X(k)の振幅値からなる集合のみに依存するほうが、復号信号の精度が向上する。本形態は、符号に新たな付加情報を加えることなく、復号器が、振幅値が0の第1量子化信号X^(k)に対応する周波数領域信号X(k)の振幅値からなる集合のみに依存すると推定される第2正規化基準値Eを生成し、この第2正規化基準値Eに依存する値を信号E^(m)の振幅値とする。
<構成>
図12は、第2実施形態の符号化器と復号器の構成例を説明するための図である。第2実施形態の符号化器は、第1実施形態またはその変形例の符号化器200または300と同じである。第2実施形態の復号器400’が第1実施形態またはその変形例の復号器200’または300’と異なる点は、正負符号情報計算部413、周波数成分計算部215だけであり、その他は第1実施形態またはその変形例と同じである。
<符号化処理・復号処理>
図13は、第2実施形態の復号器の処理を説明するためのフローチャートである。第2実施形態の符号化処理は、第1実施形態またはその変形例と同じである。第2実施形態の復号処理では、まず、復号器400’が、第1実施形態のステップS107、S108、S214の処理を実行する。次に、正規化基準値再計算部416が、復号第1量子化信号X^(k)と復号量子化正規化基準値Xと値Mとを入力とし、振幅値が0の復号第1量子化信号X^(k)に対応する周波数領域信号X(k)(符号化対象信号)の振幅値からなる集合のみに依存すると推定される第2正規化基準値Eを生成し、第2正規化基準値Eを出力する(S416)。
[ステップS416の処理の例示]
図14は、ステップS416の詳細を例示するためのフローチャートである。
正規化基準値再計算部416は、まず、k=0、tmp=0として処理を始める。正規化基準値再計算部416は、kがL(周波数領域信号X(k)の数)よりも小さいか確認する(S4161)。ステップS4161での結果がYesの場合、正規化基準値再計算部416は、tmpに|X^(k)|を加算する(S4166)。次に、正規化基準値再計算部416は、kの値を1つ増やし(S4167)、ステップS4161の処理に戻る。一方、S4161での結果がNoの場合、正規化基準値再計算部416は、第2正規化基準値E
Figure 0005361565
のように求め(S4168)、処理を終了する。
また、図15は、ステップS416の別の処理を例示するためのフローチャートである。このフローでは値が0の第1量子化信号の数を再度計算している。正規化基準値再計算部416は、まず、k=0、m=0、tmp=0として処理を始める。正規化基準値再計算部416は、kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S4161)。ステップS4161での結果がYesの場合、正規化基準値再計算部416は、mがMより小さいことを確認する(S4162)。ステップS4162での結果がYesの場合、正規化基準値再計算部416は、X^(k)が0かを確認する(S4164)。ステップS4164での結果がYesの場合、正規化基準値再計算部416は、mの値を1つ増やし(S3155)、ステップS4167の処理に進む。一方、ステップS4162、S4164での結果がNoの場合、正規化基準値再計算部416は、tmpに|X^(k)|を加算し、その加算結果を新たなtmpとし(S4166)、ステップS4167の処理に進む。ステップS4167では、正規化基準値再計算部416が、kの値を1つ増やし(S4167)、ステップS4161の処理に戻る。一方、S4161での結果がNoの場合、正規化基準値再計算部416は、第2正規化基準値E
Figure 0005361565
のように求め(S4168’)、処理を終了する。
ここで、振幅値が0の第1量子化信号X^(k)のパワーは0であることから、図14の処理フローでも、図15の処理フローでも、復号量子化正規化基準値Xの二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から、復号第1量子化信号X^(k)のパワー|X^(k)|の合計値を減算し、減算結果を振幅値が0の復号第1量子化信号の数Mで除算し、除算結果の平方根を第2正規化基準値Eとしていることになる。一般化して表現すると、第2正規化基準値Eは、復号量子化正規化基準値Xの二乗値とS(L≧S≧2)との乗算値と、S個の周波数領域信号X(k)(符号化対象信号)にそれぞれ対応する復号第1量子化信号X^(k)のパワー|X^(k)|の合計値と、の差分を、S個の周波数領域信号X(k)のいずれかに対応する振幅値が0の復号第1量子化信号X^(k)の個数Mで除算した値の平方根である。
<第2実施形態の特徴>
この変形例でも第1実施形態と同様にミュージカルノイズが軽減される。また、第1実施形態の変形例と組み合わせた場合には、第1実施形態の変形例と同様な効果を得ることができる。さらに、第2実施形態では、復号器400’が、正規化基準値量子化インデックスCを用いて量子化値を特定し、それをS個(L≧S≧2)の周波数領域信号X(k)(符号化対象信号)の振幅値からなる集合に依存する正規化基準値の量子化値である、復号量子化正規化基準値Xとし、復号量子化正規化基準値Xと、振幅値が0以外の第1量子化信号X^(k)とを少なくとも用い、振幅値が0の復号第1量子化信号X^(k)に対応する周波数領域信号X(k)の振幅値からなる集合のみに依存すると推定される第2正規化基準値Eを生成し、正負符号情報b(m)が示す正または負の符号を持つ信号E^(m)の絶対値が、第2正規化基準値Eまたはその重み付け値あるいは定数倍値となるようにした。これにより、信号E^(m)の精度が向上し、その結果、復号信号の精度が向上する。
なお、第1実施形態の最後に説明したその他の変形を第2の実施形態に適用してもよく、第2の実施形態と第1実施形態の変形例とを組み合わせてもよい。
〔第2実施形態の変形例〕
量子化正規化基準値X及び第1量子化信号X^(k)と目標値(周波数領域信号の正規化値X 及び周波数領域信号X(k))との誤差が大きい場合、第2実施形態の第2正規化基準値Eの計算方法では、第2正規化基準値Eを精度良く計算できないときがある。本変形例では、復号量子化正規化基準値Xの二乗値とS(L≧S≧2)との乗算値と、S個の周波数領域信号X(k)(符号化対象信号)にそれぞれ対応する復号第1量子化信号X^(k)のパワー|X^(k)|の合計値と、の差分を、S個の周波数領域信号X(k)のいずれかに対応する振幅値が0の復号第1量子化信号X^(k)の個数Mで除算した値の平方根である第1再計算値E と、復号量子化正規化基準値XとSとの乗算値と、S個の周波数領域信号X(k)にそれぞれ対応する復号第1量子化信号X^(k)の振幅値|X^(k)|の合計値と、の差分を、S個の周波数領域信号X(k)のいずれかに対応する振幅値が0の復号第1量子化信号X^(k)の個数Mで除算した値である第2再計算値E 2を生成する。そして、第1再計算値E と第2再計算値E 2との比較、または、いずれか一方が重み付けられた第1再計算値E と第2再計算値E 2との比較により、第1再計算値E と第2再計算値E 2の何れか一方を第2正規化基準値E、または、その候補として選択する。さらに、第1再計算値E と第2再計算値E 2の何れか一方を第2正規化基準値Eの候補と選択する場合には、この第2正規化基準値Eの候補と復号量子化正規化基準値Xとの比較、または、いずれか一方が重み付けられた第2正規化基準値Eの候補と復号量子化正規化基準値Xとの比較により、第2正規化基準値Eの候補と復号量子化正規化基準値Xの何れか一方を第2正規化基準値Eとして選択する。
以下では、S=Lとし、第1再計算値E と第2再計算値E 2の何れか一方を第2正規化基準値Eの候補と選択する場合の処理を具体的に説明するが、これは本発明を限定するものではない。
<構成>
図12を用いて本変形例の機能構成を説明する。第2実施形態の変形例の符号化器は第2実施形態のものと同じである。第2実施形態の変形例の復号器500’が第2実施形態の復号器400’と異なる点は、正規化基準値再計算部516だけであり、その他は第2実施形態と同じである。
<復号処理>
図13、図16、図17を用いて本変形例の復号処理を説明する。
第2実施形態の変形例の符号化処理は第2実施形態と同じである。第2実施形態の変形例の復号処理が第2実施形態の復号処理と異なる点は、正規化基準値再計算部515のステップS516の処理のみであり、その他は第2実施形態と同じである。
[ステップS516の処理の例示]
図16は、図13のステップS516の処理を例示するためのフローチャートである。
正規化基準値再計算部515は、k=0、tmp=0、tmp2=0として処理を始める。正規化基準値再計算部515は、kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S5161)。ステップS5161での結果がYesの場合、正規化基準値再計算部515は、tmpに|X^(k)|を加算した結果を新たなtmpとし、tmp2に|X^(k)|を加算した結果を新たなtmp2とする(S5166)。正規化基準値再計算部515は、kの値を1つ増やし(S5167)、ステップS5161の処理に戻る。ステップS5161での結果がNoの場合、正規化基準値再計算部515は、第1再計算値E と第2再計算値E
Figure 0005361565
のように求める(S5168)。正規化基準値再計算部515は、E がE のA倍より大きいかを確認する(「いずれか一方が重み付けられた第1再計算値E と第2再計算値E 2との比較」に対応)(S5169)。Aは、どちらの候補を選ぶかの基準となる調整用の定数であり、例えばA=0.5である。ステップS5168での結果がYesの場合、第1再計算値E を第2正規化基準値Eとし(S5170)、ステップS5168での結果がNoの場合、第2再計算値E を第2正規化基準値Eとする(S5171)。この段階の第2正規化基準値Eは、最終的な第2正規化基準値Eの候補である。次に、正規化基準値再計算部515は、EがXのA倍より小さいかを確認する(「いずれか一方が重み付けられた第2正規化基準値Eの候補と量子化正規化基準値Xとの比較」に対応)(S5172)。Aは、Eが矛盾する値となっていないかを確認するための定数であり、例えばA=1である。正規化基準値再計算部515は、ステップS5172での結果がYesの場合には、この時点の第2正規化基準値Eを最終的な第2正規化基準値Eとして処理を終了し、ステップS5172がNoの場合、第2正規化基準値Eを復号量子化正規化基準値Xに置き換え(S5173)、処理を終了する。
図17は、図13のステップS516の別の処理を例示するためのフローチャートである。このフローでは値が0の第1量子化信号の数を再度計算している。正規化基準値再計算部515は、k=0、m=0、tmp=0、tmp2=0として処理を始める。正規化基準値再計算部515は、kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(5161)。ステップS5161での結果がYesの場合、正規化基準値再計算部515は、mがMより小さいことを確認する(S5162)。ステップS5162での結果がYesの場合、正規化基準値再計算部515は、X^(k)が0かを確認する(S5164)。ステップS5164での結果がYesの場合、正規化基準値再計算部515は、mの値を1つ増やす(S5165)。ステップS5162、S5164での結果がNoの場合、正規化基準値再計算部515は、tmpに|X^(k)|を加算した結果を新たなtmpとし、tmp2に|X^(k)|を加算した結果を新たなtmp2とする(S5166)。正規化基準値再計算部515は、kの値を1つ増やし(S5167)、ステップS5161の処理に戻る。S5161での結果がNoの場合、正規化基準値再計算部515は、第1再計算値E と第2再計算値E
Figure 0005361565
のように求める(S5168’)。ステップS5169からS5173までの処理は図16と同じである。
ここで、振幅値が0の第1量子化信号X^(k)のパワーは0であることから、図16の処理フローでも、図17の処理フローでも、復号量子化正規化基準値Xの二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から、復号第1量子化信号X^(k)のパワー|X^(k)|の合計を減算し、減算結果を値が0の復号第1量子化信号の数Mで除算し、除算結果の平方根を第1再計算値E としていることになる。同様に、図16の処理フローでも、図17の処理フローでも、復号量子化正規化基準値Xに周波数領域信号X(k)の数Lを乗算し、乗算結果から、復号第1量子化信号X^(k)の絶対値|X^(k)|の合計を減算し、減算結果を値が0の復号第1量子化信号の数Mで除算し、除算結果を第2再計算値E としていることになる。なお、第1再計算値E や第2再計算値E 2を一般化した表現は前述の通りである。
<第2実施形態の変形例の特徴>
この変形例でも第1、2実施形態と同様な効果を得るこができる。また、第1実施形態の変形例と組み合わせた場合には、第1実施形態の変形例と同様な効果を得ることができる。さらに、上述のように、第2実施形態の変形例では、第2正規化基準値Eをより精度良く計算できるので、信号E^(m)の精度が向上し、その結果、復号信号の精度が向上する。
なお、第1実施形態の最後に説明したその他の変形を当該第2の実施形態の変形例に適用してもよく、第2の実施形態の変形例と第1実施形態の変形例とを組み合わせてもよい。
〔第3実施形態〕
第3実施形態は、復号器側の復号量子化正規化基準値を決めるときに、1つ過去のフレーム、サブフレームまたはサブバンド(離散時間区間)の量子化正規化基準値も考慮する点が第1、2実施形態およびそれらの変形例と異なる。本形態は、第1、2実施形態およびそれらの変形例のいずれにも適用可能である。図5に示す復号器600’は、第1実施形態またはその変形例に第3実施形態を適用した構成を示し、図12に示す復号器700’は、第2実施形態またはその変形例に第3実施形態を適用した構成を示す。いずれも、正規化基準値復号部607が第1、2実施形態およびそれらの変形例と異なる。
前述の正規化基準値量子化インデックスCは、それぞれ、何れかのフレーム、サブフレームまたはサブバンド(以下「フレーム等」という)に対応する。すなわち、正規化基準値量子化インデックスCは、それぞれ、何れかの離散時間区間に対応する。正規化基準値復号部607は、フレーム等ごとに、それに対応する正規化基準値量子化インデックスCで特定される復号正規化基準値を抽出する。正規化基準値復号部607は、処理対象のフレーム等よりも1つ前のフレーム等(離散時間区間)に対して抽出された復号量子化正規化基準値X (復号正規化基準値)が0の場合は、当該処理対象のフレーム等に対して抽出された復号量子化正規化基準値X (復号正規化基準値)を、当該処理対象のフレーム等に対する復号量子化正規化基準値Xとして出力し、当該1つ前のフレーム等に対して抽出された復号量子化正規化基準値X (復号正規化基準値)が0でない場合は、当該処理対象のフレーム等に対して抽出された復号量子化正規化基準値X (復号正規化基準値)と当該1つ前の離散時間区間に対して抽出された復号量子化正規化基準値X (復号正規化基準値)との加重加算結果
=αX +βX (11)
を、当該処理対象のフレーム等に対する復号量子化正規化基準値Xとして出力する。αとβは調整係数を表し、例えばそれぞれ0.5とすればよい。その他は、第1、2実施形態およびそれらの変形例と同じである。
<第3実施形態の特徴>
本形態でも、その組み合わせに応じ、第1、2実施形態およびそれらの変形例と同様な効果を得るこができる。また、本形態では、復号側において、1つ過去のフレームまたはサブバンドの復号量子化正規化基準値X が0以外のときに、その量子化正規化基準値X と現在の処理対象のフレームまたはサブバンドの復号量子化正規化基準値X と加重加算結果を、当該処理対象のフレームまたはサブバンドに対する復号量子化正規化基準値Xとするため、復号量子化正規化基準値Xのフレーム等ごとの変化量が小さくなり、ミュージカルノイズをより軽減することができる。
なお、第1実施形態の最後に説明したその他の変形を第3の実施形態に適用してもよく、第3の実施形態と第1、2実施形態やそれらの変形例とを組み合わせてもよい。
〔実験結果〕
第1実施形態の方法での効果を確認するため、実験を行った。図18は、クラシック音楽のみを対象とするときの実験結果を示す図であり、図19は、歌付きのクラシック音楽が流れているときの実験結果を示す図であり、図20は、歌付きのポップス音楽が流れているときの実験結果を示す図である。各図とも、横軸は時間(秒)、縦軸は
Figure 0005361565
を示しており、上の方ほど品質がよい。また、点線は従来の方法で符号化、復号した場合、実線は第1実施形態の方法で符号化、復号した場合を示している。なお、符号化対象信号は、MDCT(Modified Discrete Cosine Transform)で周波数領域に変換された周波数領域信号である。どの実験結果でも、第1実施形態の方法で符号化、復号した方が品質がよいことが分かる。このことからも、本発明が限られたビット数での効率的なベクトル量子化を実現できることが分かる。
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、1つの機能ブロックが実行する処理を複数の機能ブロックで実行してもよく、複数の機能ブロックが実行する処理を一つの機能ブロックで実行してもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
100〜300 符号化器
100’〜600’ 復号器

Claims (18)

  1. (A) 所定数の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号を特定するために用いられる量子化インデックスと、を生成するステップと、
    (B) 振幅値が0の前記量子化信号に対応する前記符号化対象信号のみについて、前記符号化対象信号が正であるか負であるかを示す正負符号情報を生成するステップと、
    を有する符号化方法。
  2. 請求項1の符号化方法であって、
    前記ステップ(B)は、前記振幅値が0の前記量子化信号に対応する前記符号化対象信号から選択された、所定個数以下の符号化対象信号に対してのみ、前記正負符号情報を生成するステップである、
    ことを特徴とする符号化方法。
  3. 請求項2の符号化方法であって、
    前記符号化対象信号は、周波数領域の信号であり、
    選択された前記所定個数以下の符号化対象信号に対応する周波数の平均は、選択されなかった前記振幅値が0の前記量子化信号に対応する符号化対象信号に対応する周波数の平均よりも低い、
    ことを特徴とする符号化方法。
  4. 請求項2の符号化方法であって、
    前記符号化対象信号は、周波数領域の信号であり、
    選択された前記所定個数以下の符号化対象信号は、周波数が最も低いものまたは周波数が最も高いものから順に選択されたものである、
    ことを特徴とする符号化方法。
  5. (a) 少なくとも量子化インデックスを復号して所定数の量子化信号を得るステップと、
    (b) 信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成するステップと、
    (c) 前記ステップ(a)で得られた量子化信号のうち振幅値が0でない量子化信号に対して、当該振幅値が0でない量子化信号を復号信号として出力し、前記ステップ(a)で得られた量子化信号のうち振幅値が0である量子化信号に対して、前記ステップ(b)で生成された信号を復号信号として出力するステップと、
    を有する復号方法。
  6. (a) 少なくとも量子化インデックスを復号して所定数の量子化信号を得るステップと、
    (b) 信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成するステップと、
    (c-1) 前記ステップ(a)で得られた量子化信号のうち振幅値が0でない量子化信号に対して、当該振幅値が0でない量子化信号を復号信号として出力するステップと、
    (c-2) 前記ステップ(a)で得られた振幅値が0である量子化信号のうち所定個数以下を対象として、前記ステップ(b)で生成した信号を復号信号として出力するステップと、
    (c-3) 前記ステップ(a)で得られた振幅値が0である量子化信号のうち、前記ステップ(c-2)の対象外のものを対象として、前記正負符号情報とは無関係に生成した信号を復号信号として出力するステップと、を含む、
    ことを特徴とする復号方法。
  7. 請求項6の復号方法であって、
    前記量子化信号は、周波数領域の信号であり、
    前記ステップ(c-2)の対象となる前記量子化信号に対応する周波数の平均は、前記ステップ(c-3)の対象となる前記量子化信号に対応する周波数の平均よりも低い、
    ことを特徴とする復号方法。
  8. 請求項6の復号方法であって、
    前記量子化信号は、周波数領域の信号であり、
    前記ステップ(a)で得られた振幅値が0である量子化信号のうち、周波数が最も低いものまたは周波数が最も高いものから順に所定個数以下選択されたものを前記ステップ(c-2)の対象とする、
    ことを特徴とする復号方法。
  9. 請求項5から8の何れかの復号方法であって、
    (d) 正規化基準値量子化インデックスを復号して復号量子化正規化基準値を得るステップをさらに有し、
    前記正負符号情報が示す正または負の符号を持つ信号の絶対値は、前記復号量子化正規化基準値またはその重み付け値あるいは定数倍値である、
    ことを特徴とする復号方法。
  10. 請求項5から8の何れかの復号方法であって、
    (d) 正規化基準値量子化インデックスを復号して復号量子化正規化基準値として出力するステップと、
    (e)前記復号量子化正規化基準値の二乗値と前記所定数との乗算値から、振幅値が0以外の前記量子化信号の二乗和を減算した値を、振幅値が0の前記量子化信号の個数で除算した値の平方根である第2正規化基準値を生成するステップと、をさらに有し、
    前記正負符号情報が示す正または負の符号を持つ信号の絶対値は、前記第2正規化基準値またはその重み付け値あるいは定数倍値である、
    ことを特徴とする復号方法。
  11. 請求項5から8の何れかの復号方法であって、
    (d) 正規化基準値量子化インデックスを復号して復号量子化正規化基準値として出力するステップと、
    (e-1) 前記復号量子化正規化基準値の二乗値と前記所定数との乗算値から、振幅値が0以外の前記量子化信号の二乗和を減算した値を、振幅値が0の前記量子化信号の個数で除算した値の平方根である第1再計算値を生成するステップと、
    (e-2) 前記復号量子化正規化基準値と前記所定数との乗算値から、振幅値が0以外の前記量子化信号の振幅値の合計値を減算した値を、振幅値が0の前記量子化信号の個数で除算した第2再計算値を生成するステップと、
    (e-3) 前記第1再計算値と前記第2再計算値との比較、または、いずれか一方が重み付けられた前記第1再計算値と前記第2再計算値との比較により、前記第1再計算値と前記第2再計算値の何れか一方を前記第2正規化基準値、または、その候補として選択するステップと、をさらに有し、
    前記正負符号情報が示す正または負の符号を持つ信号の絶対値は、前記第2正規化基準値またはその重み付け値あるいは定数倍値である、
    ことを特徴とする復号方法。
  12. 請求項11の復号方法であって、
    前記ステップ(e-3)は、前記第1再計算値と前記第2再計算値の何れか一方を前記第2正規化基準値の候補として選択するステップであり、
    当該復号方法は、
    (e-4) 前記第2正規化基準値の候補と前記復号量子化正規化基準値との比較、または、いずれか一方が重み付けられた前記第2正規化基準値の候補と前記復号量子化正規化基準値との比較により、前記第2正規化基準値の候補と前記復号量子化正規化基準値の何れか一方を前記第2正規化基準値として選択するステップをさらに含む、
    ことを特徴とする復号方法。
  13. 請求項9から12の何れかの復号方法であって、
    前記正規化基準値量子化インデックスは、それぞれ、何れかの離散時間区間に対応し、
    前記ステップ(d)は、
    (d-1) 離散時間区間ごとに、それに対応する前記正規化基準値量子化インデックスで特定される復号正規化基準値を抽出するステップと、
    (d-2) 処理対象の離散時間区間よりも1つ前の離散時間区間に対して抽出された復号正規化基準値が0の場合は、当該処理対象の離散時間区間に対して抽出された復号正規化基準値を、当該処理対象の離散時間区間に対する前記復号量子化正規化基準値として出力し、当該1つ前の離散時間区間に対して抽出された復号正規化基準値が0でない場合は、当該処理対象の離散時間区間に対して抽出された復号正規化基準値と当該1つ前の離散時間区間に対して抽出された復号正規化基準値との加重加算結果を、当該処理対象の離散時間区間に対する前記復号量子化正規化基準値として出力するステップと、を含む、
    ことを特徴とする復号方法。
  14. 所定数の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号を特定するために用いられる量子化インデックスと、を生成し、振幅値が0の前記量子化信号に対応する前記符号化対象信号のみについて、前記符号化対象信号が正であるか負であるかを示す正負符号情報を生成することを特徴とする符号化器。
  15. 少なくとも量子化インデックスを復号して所定数の量子化信号を得、
    信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成し、
    得られた量子化信号のうち振幅値が0でない量子化信号に対して、当該得られた振幅値が0でない量子化信号を復号信号として出力し、得られた量子化信号のうち振幅値が0である量子化信号に対して、前記正負符号情報が示す正または負の符号を持つ信号を復号信号として出力する
    ことを特徴とする復号器。
  16. 少なくとも量子化インデックスを復号して所定数の量子化信号を得、
    信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成し、
    得られた量子化信号のうち振幅値が0でない量子化信号に対して、当該得られた振幅値が0でない量子化信号を復号信号として出力し、
    得られた量子化信号のうち振幅値が0である量子化信号に対して、
    当該振幅値が0である量子化信号のうち所定個数以下を対象として、前記正負符号情報が示す正または負の符号を持つ信号を復号信号として出力し、
    当該振幅値が0である量子化信号のうち、前記正または負の符号を持つ信号を復号信号として出力するもの以外のものを対象として、前記正負符号情報とは無関係に生成した信号を復号信号として出力する復号器。
  17. 請求項1から4の何れかの符号化方法の各ステップをコンピュータに実行させるためのプログラム。
  18. 請求項5から13の何れかの復号方法の各ステップをコンピュータに実行させるためのプログラム。
JP2009149007A 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器およびプログラム Active JP5361565B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009149007A JP5361565B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009149007A JP5361565B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器およびプログラム

Publications (2)

Publication Number Publication Date
JP2011009868A JP2011009868A (ja) 2011-01-13
JP5361565B2 true JP5361565B2 (ja) 2013-12-04

Family

ID=43566049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009149007A Active JP5361565B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器およびプログラム

Country Status (1)

Country Link
JP (1) JP5361565B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111453A1 (ja) * 2010-03-09 2011-09-15 日本電信電話株式会社 符号化方法、復号方法、装置、プログラム及び記録媒体
US20130101028A1 (en) * 2010-07-05 2013-04-25 Nippon Telegraph And Telephone Corporation Encoding method, decoding method, device, program, and recording medium
EP2573942B1 (en) * 2010-07-05 2015-12-16 Nippon Telegraph And Telephone Corporation Encoding method, decoding method, device, program, and recording medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3186007B2 (ja) * 1994-03-17 2001-07-11 日本電信電話株式会社 変換符号化方法、復号化方法
JPH09261065A (ja) * 1996-03-25 1997-10-03 Mitsubishi Electric Corp 量子化装置及び逆量子化装置及び量子化逆量子化システム
JP3698418B2 (ja) * 2001-05-25 2005-09-21 松下電器産業株式会社 オーディオ信号圧縮方法,およびオーディオ信号圧縮装置
JP2006157881A (ja) * 2004-11-08 2006-06-15 Toshiba Corp 可変長符号化装置及びその方法

Also Published As

Publication number Publication date
JP2011009868A (ja) 2011-01-13

Similar Documents

Publication Publication Date Title
TWI380602B (en) Apparatus and method for encoding an information signal
WO2012137617A1 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体
US10734009B2 (en) Periodic-combined-envelope-sequence generation device, periodic-combined-envelope-sequence generation method, periodic-combined-envelope-sequence generation program and recording medium
WO2012005210A1 (ja) 符号化方法、復号方法、装置、プログラムおよび記録媒体
JP6979048B2 (ja) 低複雑度の調性適応音声信号量子化
JP6595687B2 (ja) 符号化方法、符号化装置、プログラム、および記録媒体
KR101661917B1 (ko) 부호화 방법, 부호화 장치, 프로그램 및 기록 매체
US10607616B2 (en) Encoder, decoder, coding method, decoding method, coding program, decoding program and recording medium
EP3226243B1 (en) Encoding apparatus, decoding apparatus, and method and program for the same
JP5361565B2 (ja) 符号化方法、復号方法、符号化器、復号器およびプログラム
JP5336942B2 (ja) 符号化方法、復号方法、符号化器、復号器、プログラム
EP3751565B1 (en) Parameter determination device, method, program and recording medium
US9319645B2 (en) Encoding method, decoding method, encoding device, decoding device, and recording medium for a plurality of samples
JP5336943B2 (ja) 符号化方法、復号方法、符号化器、復号器、プログラム
JP5355244B2 (ja) 符号化方法、復号方法、符号化器、復号器およびプログラム
EP3252758B1 (en) Encoding apparatus, decoding apparatus, and methods, programs and recording media for encoding apparatus and decoding apparatus
CN112088404B (zh) 基音强调装置、其方法、以及记录介质
CN110709927B (zh) 编码装置、解码装置、平滑化装置、逆平滑化装置、其方法及记录介质

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130807

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130903

R150 Certificate of patent or registration of utility model

Ref document number: 5361565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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