JP5336943B2 - 符号化方法、復号方法、符号化器、復号器、プログラム - Google Patents

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

Info

Publication number
JP5336943B2
JP5336943B2 JP2009148956A JP2009148956A JP5336943B2 JP 5336943 B2 JP5336943 B2 JP 5336943B2 JP 2009148956 A JP2009148956 A JP 2009148956A JP 2009148956 A JP2009148956 A JP 2009148956A JP 5336943 B2 JP5336943 B2 JP 5336943B2
Authority
JP
Japan
Prior art keywords
signal
value
decoded
normalized
quantized
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
JP2009148956A
Other languages
English (en)
Other versions
JP2011009861A (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 JP2009148956A priority Critical patent/JP5336943B2/ja
Publication of JP2011009861A publication Critical patent/JP2011009861A/ja
Application granted granted Critical
Publication of JP5336943B2 publication Critical patent/JP5336943B2/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)など、予め設定された量子化ビット数の範囲内で、周波数成分をパルスとして立てていくベクトル量子化手法が広く利用されている。
図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)を入力とし、L個の入力信号x(n)ごと(フレームごと)にL点の周波数成分を示す信号である周波数領域信号X(k)に変換する(S101)。ただし、nは時間領域での信号の番号(離散時間番号)を、kは周波数領域での信号の番号(離散周波数番号)を示している。所定の数Lとは、例えば64や80である。また、周波数領域変換方法としては、例えばMDCT(Modified Discrete Cosine Transform)がある。
正規化値計算部102は、周波数領域信号X(k)を入力として、L点または各サブバンド(L点をさらに分割した周波数帯域で、例えば8点で1つのサブバンドを形成する)に応じた点数の周波数領域信号X(k)のパワーの平均値の平方根を、周波数領域信号X(k)の正規化値X として出力する。L点の正規化値をX として、例えばX を次式のように計算する(S102)。
Figure 0005336943
以下の説明では、サブバンドでの正規化ではなく、L点の正規化値X を用いた場合について説明する。
正規化値量子化部103は、正規化値計算部102で求めた正規化値X を入力とし、正規化値X を量子化して、正規化値量子化インデックスCと、正規化値量子化インデックスCに対応する量子化正規化値Xを出力する(S103)。
第1ベクトル量子化部104は、周波数領域信号X(k)と量子化正規化値Xを入力として、周波数領域信号X(k)を、量子化正規化値Xで割り算する、もしくは逆数を乗ずることで正規化し、正規化周波数領域信号を求める。そして、正規化周波数領域信号を複数サンプル纏めてベクトル量子化して、量子化代表ベクトルのインデックスである第1ベクトル量子化インデックスCと、第1ベクトル量子化インデックス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) (2)
のように計算し、誤差信号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として出力する(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)を入力とし、例えばフレーム点数L分の逆MDCTを用いて時間領域変換を行い、フレーム点数L分の出力信号z(n)を出力する(S111)。
特許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量子化信号と符号化対象の信号との誤差を示す信号を後段のベクトル量子化の対象としている。つまり、従来技術には、ミュージカルノイズ(ある周波数成分の有無が時間的に変化したときに生じることが多い人間が敏感に感じるノイズ)のような人間が敏感に感じるノイズを無くすための特別な工夫はない。したがって、元の信号と復号された信号との誤差のパワーが数値の上では小さくなったとしても、人間の感覚が敏感な誤差に着目した符号化ではないので、ミュージカルノイズが残りやすいという課題がある。
本発明は、このような課題に鑑みてなされたものであり、符号化対象信号を多段量子化するために必要なビット数が足りず、復号後に信号の欠損が生じてしまう場合であっても、2段目以降のベクトル量子化でミュージカルノイズを軽減できる多段ベクトル量子化方法を提供することを目的とする。
本発明の符号化方法は、少なくとも正規化値計算ステップ、正規化値量子化ステップ、第1ベクトル量子化ステップ、誤差計算ステップ、第2ベクトル量子化ステップを有する。正規化値計算ステップは、所定サンプル数ごとの符号化対象の信号サンプル(以下、「第1符号化対象信号」という)の正規化値を求める。「第1符号化対象信号」としては、周波数領域に変換された音響信号、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号、フレーム単位に分割された時間領域の音響信号などがありえるが、これらに限定する必要はない。所定サンプル数とは、1フレームを構成する信号のサンプル数の場合には80、64などの数がある。また、1フレームを構成する信号をさらに分割した、サブフレーム、サブバンド、サブベクトルと呼ばれる単位の場合には、8などの数がある。正規化値量子化ステップは、正規化値を量子化し、正規化値量子化インデックスと量子化正規化値を求める。第1ベクトル量子化ステップは、量子化正規化値を用いて第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化して、第1ベクトル量子化インデックスと第1量子化信号を求める。誤差計算ステップは、第1量子化信号の値が0の場合は、第1符号化対象信号の絶対値と量子化正規化値から誤差信号を求め、第1量子化信号の値が0以外の場合は、第1符号化対象信号の絶対値と第1量子化信号の絶対値から誤差信号を求める。第2ベクトル量子化ステップは、誤差信号または誤差信号に対応した信号を複数サンプル纏めてベクトル量子化し、第2ベクトル量子化インデックスを求める。
本発明の復号方法は、正規化値復号ステップ、第1ベクトル復号ステップ、第2ベクトル復号ステップ、誤差修正ステップを有する。復号方法では、第1ベクトル量子化インデックスと第2ベクトル量子化インデックスと正規化値量子化インデックスを含む符号から、復号信号を求める。正規化値復号ステップは、正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する。第1ベクトル復号ステップは、第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、正規化第1復号量子化信号と復号量子化正規化値を用いて第1復号量子化信号を求める。第2ベクトル復号ステップは、第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める。
誤差修正ステップは、第1復号量子化信号の値が0の場合は、復号量子化正規化値と第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。あるいは、第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0以外の場合は、現在のフレームの復号量子化正規化値と第2復号量子化信号と1フレーム過去の復号量子化正規化値との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号としてもよい。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和を用いた計算結果を復号信号とする。例えば、第1復号量子化信号の値が負の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和に−1を乗算し、乗算結果を復号信号とする。第1復号量子化信号の値が正の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和を復号信号とする。
本発明の符号化方法と復号方法によれば、二段以降のベクトル量子化部において、第1符号化対象信号と第1量子化信号との間の誤差でなく、第1符号化対象信号を絶対値領域に置き換え、第1符号化対象信号の絶対値と第1量子化信号の絶対値の間の差分を量子化する。したがって、第1符号化対象信号と第1量子化信号の間の誤差と比べ、二段以降で量子化すべき誤差のダイナミックレンジを2分の1以下にできる。
また、前段までのベクトル量子化部においてパルスが立たなかった第1量子化信号の値は0であるため、第1符号化対象信号の絶対値との間の誤差が大きい。本発明では、前段までの量子化出力の値が0である第1符号化対象信号については、第1符号化対象信号の絶対値と量子化正規化値の間の差分を量子化するので、ベクトル量子化する誤差を小さくできる。
このように、本発明の符号化方法と復号方法は、量子化する誤差の大きさを大幅に減らすことができるため、ベクトル量子化の効率を上げることができる。
従来の多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図。 従来の符号化器と復号器の処理フローを示す図。 従来の多段ベクトル量子化のイメージを示す図。 本発明の多段ベクトル量子化のイメージを示す図。 初段のベクトル量子化後に、第1符号化対象信号と第1量子化信号とを絶対値で表した図。 図5で示した信号と一緒にサブベクトルごとに求めた量子化正規化値を示した図。 第1符号化対象信号の例と本発明の誤差信号を生成するための基準となる信号とを比較するための図。 実施例1、実施例2、実施例3の符号化器と復号器の構成例を示す図。 実施例1、実施例2、実施例3の符号化器と復号器の処理フロー例を示す図。 誤差計算部205の具体的な処理フロー例を示す図。 誤差修正部210の具体的な処理フロー例を示す図。 誤差修正部275の具体的な処理フローの例を示す図。 実施例4〜6で追加される原理を説明するための図。 実施例4、実施例4変形例1、実施例4変形例2の符号化器と復号器の構成例を示す図。 実施例4、実施例4変形例1、実施例4変形例2の符号化器と復号器の処理フロー例を示す図。 誤差信号E(m)と数Mを求めるための処理フローの例を示す図。 値が0である第1復号量子化信号X^(k)の数Mを求める処理フローの例を示す図。 誤差修正部310、375の具体的な処理フローの例を示す図。 ステップS3751の処理フローの例を示す図。 実施例5、実施例5変形例1、実施例5変形例2の符号化器と復号器の構成例を示す図。 実施例5、実施例5変形例1、実施例5変形例2の符号化器と復号器の処理フロー例を示す図。 実施例5の再計算正規化値Eを求める処理フローの例を示す図。 実施例5の再計算正規化値Eを求める別の処理フローの例を示す図。 実施例6、実施例6変形例1、実施例6変形例2の符号化器と復号器の構成例を示す図。 実施例6、実施例6変形例1、実施例6変形例2の符号化器と復号器の処理フロー例を示す図。 実施例6の再計算正規化値Eを求める処理フローの例を示す図。 実施例6の再計算正規化値Eを求める別の処理フローの例を示す図。 楽器のみのオーケストラを対象としたときの実験結果を示す図。 歌を含んでいるオーケストラを対象としたときの実験結果を示す図。 楽器のみのストリングを対象としたときの実験結果を示す図。 歌を含んでいるポップスを対象としたときの実験結果を示す図。 管楽器(歌なし)を対象としたときの実験結果を示す図。 歌のみを対象としたときの実験結果を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
原理
図3は、従来の多段ベクトル量子化のイメージを示す図である。横軸は周波数成分の番号、縦軸は各周波数成分の値を示している。この図では、初段のベクトル量子化の対象となる信号(第1符号化対象信号)は、周波数領域信号(MDCT係数)であり、細い線で示されている。初段のベクトル量子化後の信号(第1量子化信号)は、太い線で示されている。少ないビット(例えば37ビット)でベクトル量子化した場合、値が0の第1量子化信号(周波数成分において値が0の箇所)が多数発生する。また、従来の後段のベクトル量子化では、図の第1符号化対象信号と第1量子化信号との差分を複数サンプル纏めてベクトル量子化している。
図4は、本発明の多段ベクトル量子化のイメージを示す図である。この図も横軸は周波数成分の番号、縦軸は各周波数成分の値を示している。また、細い線は第1符号化対象信号の絶対値を、太い線は第1量子化信号の絶対値を示している。本発明では、第1量子化信号の値が0のときには、第1符号化対象信号の絶対値と量子化正規化値との差分を後段でベクトル量子化とする。なお、図4の量子化正規化値は、8サンプルごとに求めた例である。
次に、図5〜7を用いて手順について説明する。図5のように、初段のベクトル量子化後に、第1符号化対象信号と第1量子化信号とを絶対値で表す。そして、図6に示すように、サブベクトルごとに量子化正規化値を求める。この図からも、値が0の第1量子化信号と第1符号化対象信号との誤差よりも、量子化正規化値と第1符号化対象信号との差分の方が小さいことが分かる。したがって、第1量子化信号の値が0のときには、第1符号化対象信号の絶対値と量子化正規化値との差分を後段でベクトル量子化する方が効率的である。また、量子化正規化値は、従来の復号器でも知る情報なので、量子化正規化値を符号化に利用しても復号器に新たな情報を伝える必要はない。図6では8サンプルごとに量子化正規化値を求めているが、64サンプルで1つの量子化正規化値を求めてもよいし、他の数ごとに量子化正規化値を求めてもよい。ただし、適当なサンプル数ごとに量子化正規化値を求めれば、量子化正規化値と第1符号化対象信号との差分を小さくできる。図7は、第1符号化対象信号の例と本発明の誤差信号を生成するための基準となる信号とを比較するための図である。細い線は第1符号化対象信号の絶対値の例である。太い線は、第1量子化信号の値が0以外のときには第1量子化信号の絶対値とし、第1量子化信号の値が0のときには量子化正規化値としたときの線である。この図から、差分を求めるときに正規化値を基準とすれば、差分を小さくできることがわかる。
具体例
図8に実施例1の符号化器と復号器の構成例を示す。図9に実施例1の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。符号化器200は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部205、第2ベクトル量子化部106を備える。復号器200’は、正規化値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部210、時間領域変換部111を備える。符号化器200は、符号化器100と誤差計算部205が異なる。また、復号器200’は、復号器100’と誤差修正部210が異なる。その他の構成部は、符号化器100、復号器100’と同じである。なお、この実施例での第1符号化対象信号は周波数領域信号である。
誤差計算部205は、第1量子化信号X^(k)の値が0の場合は、周波数領域信号X(k)の絶対値と量子化正規化値Xから誤差信号を求め、第1量子化信号X^(k)の値が0以外の場合は、周波数領域信号X(k)の絶対値と第1量子化信号X^(k)の絶対値から誤差信号E(k)を求める(S205)。図10に誤差計算部205の具体的な処理フロー例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2051)。ステップS2051がYesの場合、X^(k)が0かを確認する(S2052)。ステップS2052がYesの場合(第1量子化信号X^(k)の値が0の場合)、周波数領域信号X(k)の絶対値と量子化正規化値Xの差分
|X(k)|−A・X
を誤差信号E(k)とする(S2053)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。ステップS2052がNoの場合(第1量子化信号X^(k)の値が0以外の場合)、周波数領域信号X(k)の絶対値と第1量子化信号X^(k)の絶対値の差分である
|X(k)|−|X^(k)|
を誤差信号E(k)とする(S2054)。kを1増加させ(S2055)、ステップS2051に戻る。ステップS2051がNoの場合、処理を終了する。
復号器200’の誤差修正部210は、第1復号量子化信号X^(k)の値が0の場合は、復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とし、第1復号量子化信号X^(k)の値が0以外の場合は、第1復号量子化信号X^(k)と第2復号量子化信号E^(k)の和を用いた計算結果を復号信号Z(k)とする(S210)。図11に誤差修正部210の具体的な処理フロー例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2101)。ステップS2101がYesの場合、X^(k)が0かを確認する(S2102)。ステップS2102がYesの場合(第1復号量子化信号X^(k)の値が0の場合)、復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算A・X+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2103)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS2102がNoの場合は、X^(k)が負かを確認する(S2104)。ステップS2104がYesの場合(第1復号量子化信号の値が負の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和に−1を乗算し、乗算結果を復号信号Z(k)とする(S2105)。ステップS2104がNoの場合(第1復号量子化信号の値が正の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を復号信号Z(k)とする(S2106)。kを1増加させ(S2107)、ステップS2101に戻る。ステップS2101がNoの場合、処理を終了する。
実施例1の符号化方法と復号方法では、絶対値を利用するので符号の情報(±の情報)が失われる場合がある。しかし、二段以降のベクトル量子化部において、第1符号化対象信号(本実施例では周波数領域信号)と第1量子化信号との間の誤差でなく、第1符号化対象信号を絶対値領域に置き換え、第1符号化対象信号の絶対値と第1量子化信号の絶対値の間の差分を量子化する。したがって、第1符号化対象信号と第1量子化信号の間の誤差と比べ、二段以降で量子化すべき誤差のダイナミックレンジを2分の1以下にできる。また、前段までのベクトル量子化部においてパルスが立たなかった第1量子化信号の値は0であるため、第1符号化対象信号の絶対値との間の誤差が大きい。本発明では、前段までの量子化出力の値が0である第1符号化対象信号については、第1符号化対象信号の絶対値と量子化正規化値の間の差分を量子化するので、ベクトル量子化する誤差を小さくできる。
このように、本実施例の符号化方法と復号方法は、量子化する誤差の大きさを大幅に減らすことができるため、符号の情報が失われたとしても、総合的にはベクトル量子化の効率を上げることができる。
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
実施例2では、復号器側の量子化正規化値を決めるときに、1つ過去のフレームの量子化正規化値も考慮する点が実施例1と異なる。構成と処理フローを示す図は実施例1と同じであり、図8が実施例2の符号化器と復号器の構成例を、図9が実施例2の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。実施例2の符号化器200は実施例1と同じである。実施例2の復号器250’は、正規化値復号部157、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部210、時間領域変換部111を備える。復号器250’は、復号器200’と正規化値復号部157が異なる。その他の構成部は実施例1と同じである。
正規化値復号部157は、正規化値量子化インデックスに対応する復号正規化値X を求める。復号正規化値X は処理対象となっている現在のフレームの復号正規化値である。そして、1フレーム前(1フレーム過去)の復号正規化値X が0の場合は、現在のフレームの復号正規化値X を、復号量子化正規化値Xとして出力する。1フレーム前の復号正規化値X が0でない場合は、現在のフレームの復号正規化値X と1フレーム前の復号正規化値X との加重加算
=αX +βX
を、復号量子化正規化値Xとして出力する(S157)。αとβは調整係数を表し、例えばそれぞれ0.5とすればよい。
実施例2の符号化方法と復号方法はこのような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。本実施例では、周波数成分全ての復号正規化値に基づき復号量子化正規化値を計算する方法を示したが、例えば、8点ずつのサブベクトルごとに纏めてベクトル量子化する量子化方法を用いる場合、8点ずつの復号正規化値から求められた復号量子化正規化値に基づき、各サブベクトルの復号量子化正規化値を計算してもよい。
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
実施例3では、誤差修正部での復号信号の生成方法が実施例1と異なる。構成と処理フローを示す図は実施例1と同じであり、図8が実施例3の符号化器と復号器の構成例を、図9が実施例3の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。実施例3の符号化器200は実施例1と同じである。実施例3の復号器270’は、正規化値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部275、時間領域変換部111を備える。復号器270’は、復号器200’と誤差修正部275が異なる。その他の構成部は実施例1と同じである。
誤差修正部275は、第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X’が0の場合は、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする。第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X’が0以外の場合は、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X’との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を用いた計算結果を復号信号とする(S275)。
図12に誤差修正部275の具体的な処理フローの例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2801)。ステップS2801がYesの場合、X^(k)が0かを確認する(S2802)。ステップS2802がYesの場合(第1復号量子化信号X^(k)の値が0の場合)、1フレーム過去の復号量子化正規化値X’が0かを確認する(S2803)。ステップS2803がYesの場合、復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算A・X+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2804)。ステップS2803がNoの場合、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X’との加重加算
[α(A・X+E^(k))+β・A・X’]
にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2805)。図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS2802がNoの場合は、X^(k)が負かを確認する(S2806)。ステップS2806がYesの場合(第1復号量子化信号の値が負の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和に−1を乗算し、乗算結果を復号信号Z(k)とする(S2807)。ステップS2806がNoの場合(第1復号量子化信号の値が正の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を復号信号Z(k)とする(S2808)。kを1増加させ(S2809)、ステップS2801に戻る。ステップS2801がNoの場合、処理を終了する。
実施例3の符号化方法と復号方法はこのような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。本実施例では、周波数成分全ての復号正規化値に基づき復号量子化正規化値を計算する方法を示したが、例えば、8点ずつのサブベクトルごとに纏めてベクトル量子化する量子化方法を用いる場合、8点ずつの復号正規化値から求められた復号量子化正規化値に基づき、各サブベクトルの復号量子化正規化値を計算してもよい。
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
原理
図13は、実施例4〜6で追加される原理を説明するための図である。横軸は周波数を示す64点のサンプル、縦軸は各周波数での信号の値を示している。細い線は、1つのフレーム(64個の時間領域の信号)を周波数領域に変換して得られた64点の周波数成分を示す信号(周波数領域信号)を示している。また、太い線は、細い線で示された周波数領域信号を第1ベクトル量子化部104でベクトル量子化したときに得られる第1量子化信号の例を示している。
従来の符号化器100、および実施例1から実施例3の符号化器200では、周波数領域信号と第1量子化信号との誤差信号を求めていた。つまり、値が0以外の第1量子化信号と周波数領域信号との誤差が大きい場合は、この誤差を修正するために第2ベクトル量子化インデックスのビットを使用することになる。したがって、値が0の第1量子化信号の誤差を修正するため使われる第2ベクトル量子化インデックスのビットが少なくなり、X(k)と|X(k)|の間の誤差が修正されない場合がある。よって、周波数領域信号を量子化するために必要なビット数が足りないと、入力信号に存在するはずの周波数成分が復号信号には存在しないこと(周波数成分の欠損)が生じてしまい、ミュージカルノイズの原因の1つとなっていた。また、入力信号に存在しないはずの周波数成分が復号信号に存在することが生じてしまい、量子化ノイズ発生の原因となっていた。
そこで、実施例4〜6では、値が0の第1量子化信号に対応する周波数領域信号だけで次のベクトル量子化の対象となる信号(誤差信号)を生成する。そして、後段のベクトル量子化では、その誤差信号を複数サンプル纏めてベクトル量子化する。つまり、値が0の第1量子化信号に対応する周波数領域信号だけをベクトル量子化するので、復号信号では、X(k)と|X(k)|の間の誤差が修正されやすくなる。したがって、周波数成分の欠損や量子化ノイズが生じにくくなり、ミュージカルノイズを低減できる。
具体例
図14に実施例4の符号化器と復号器の構成例を示す。図15に実施例4の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。符号化器300は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、第2ベクトル量子化部306を備える。復号器300’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部310、時間領域変換部111を備える。符号化器300は、符号化器200と誤差計算部312、第2ベクトル量子化部306が異なる。また、復号器300’は、復号器200’とM値計算部313、第2ベクトル復号部309、誤差修正部310が異なる。その他の構成部は実施例1と同じである。なお、本実施例での第1符号化対象信号は周波数領域信号である。
誤差計算部312は、周波数領域信号X(k)と第1量子化信号X^(k)を入力とし、第1ベクトル量子化部104においてパルスが立てられなかった周波数領域信号X(k)(値が0の第1量子化信号に対応する周波数領域信号)だけを抜き出した誤差信号E(m)と、第1ベクトル量子化部においてパルスが立てられなかった周波数領域信号の数M(値が0の第1量子化信号の数)を求め、誤差信号E(m)と数Mを出力する(S312)。ここで、mは配列番号を表す整数値である。
図16に、誤差信号E(m)と数Mを求めるための処理フローの例を示す。まず、k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3121)。ステップS3121がYesの場合、X^(k)が0かを確認する(S3122)。ステップS3122がYesの場合、周波数領域信号X(k)の絶対値と量子化正規化値Xの誤差信号である
|X(k)|−A・X
をE(m)とし、mの値を1つ増加させる(S3123)。ステップS3122がNoの場合、ステップS3124に進む。ステップS3124では、kの値を1つ増加させ、ステップS3121に戻る。S3121がNoの場合、mの値をMとし(S3125)、処理を終了する。
第2ベクトル量子化部306は、誤差信号E(m)と量子化正規化値Xと値が0の第1量子化信号の数Mを入力とする。第2ベクトル量子化部306は、誤差信号E(m)を量子化正規化値Xで割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号を、M点または量子化ベクトルの次数の倍数Thの範囲でベクトル量子化し、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスCとして出力する(S306)。量子化ベクトルの次数とは、例えば8がある。この場合、倍数Thは、8,16,…,64などがあり、Mに最も近い数、M以下で最も近い数、あるいはM以上で最も近い数をThとして選べばよい。例えば、M以下で最も近い数をThとして選んだ場合、M個の正規化誤差信号の中からTh個分だけベクトル量子化してもよい。
次に復号器300’について説明する。M値計算部313は、第1ベクトル復号部108において求められた第1復号量子化信号X^(k)を入力とし、第1復号量子化信号X^(k)の値が0である第1復号量子化信号X^(k)の数Mを求める。図17は、値が0である第1復号量子化信号X^(k)の数Mを求める処理フローの例である。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3131)。ステップS3131がYesの場合、X^(k)が0かを確認する(S3132)。ステップS3132がYesの場合、mの値を1つ増加させる(S3133)。ステップS3132がNoの場合、ステップS3134に進む。ステップS3134では、kの値を1つ増加させ、ステップS3131に戻る。S3131がNoの場合、mの値をMとし(S3135)、処理を終了する。符号化器側の正規化で復号量子化正規化値Xを用いていることと、復号器側がM値計算部313を備えていることで、数Mを示す情報を符号化器から復号器に送る必要がない(数Mを伝えるためにビットを使う必要がない)。
第2ベクトル復号部309は、第2ベクトル量子化インデックスCと復号量子化正規化値Xと値が0である第1復号量子化信号X^(k)の数Mとを入力とする。第2ベクトル復号部209は、M点または量子化ベクトルの次数の倍数Thで第2ベクトル量子化インデックスCを復号し、正規化された信号を正規化第2復号量子化信号として求め、正規化第2復号量子化信号に復号量子化正規化値Xを乗算することで逆正規化し、第2復号量子化信号E^(m)として出力する(S309)。
誤差修正部310は、第1復号量子化信号X^(k)、第2復号量子化信号E^(m)、第2ベクトル復号部309が復号するときに用いた量子化ベクトルの次数の倍数Th、値が0である第1復号量子化信号X^(k)の数Mを入力とする。誤差修正部310は、第1復号量子化信号X^(k)の値が0以外の場合は第1復号量子化信号X^(k)を復号信号Z(k)とし、第1復号量子化信号X^(k)の値が0の場合は第2復号量子化信号E^(m)を順次復号信号Z(k)とすることで、復号信号Z(k)を求め、出力する(S314)。言い換えると、本実施例の場合、第1復号量子化信号の値が0以外のときには第2復号量子化信号はないので、単に第1復号量子化信号を復号信号とする。これは、図11のステップS2105、S2106、図12のステップS2807、S2808のE^(m)に0を代入した場合の同じである。
図18は誤差修正部310の具体的な処理フローの例を示す図である。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3101)。ステップS3101がYesの場合、mがMより小さいことを確認する(S3102)。ステップS3102がYesの場合、mがThより小さいことを確認する(S3103)。ステップS3103がYesの場合、X^(k)が0かを確認する(S3104)。ステップS3104がYesの場合、復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算A・X+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とし、mの値を1つ増加させる(S3105)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS3102、S3103、S3104がNoの場合、X^(k)をZ(k)とする(S3106)。そして、kの値を1つ増加させ(S3107)、ステップS3101に戻る。S3101がNoの場合、処理を終了する。
このような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、実施例4の符号化方法と復号方法では、誤差信号には、値が0以外の第1量子化信号に対応する第1符号化対象信号は含まれておらず、値が0の第1量子化信号に対応する第1符号化対象信号だけが含まれている。つまり、第2ベクトル量子化ステップは、第1ベクトル量子化では値が0になってしまった第1符号化対象信号に0以外の値を付ける処理である。したがって、ミュージカルノイズの原因のひとつであるフレームごとに周波数成分の有無が変化することを避けながら、第1符号化対象信号と第1量子化信号との誤差を小さくするための符号である第2ベクトル量子化インデックスを求めることができる。したがって、限られたビット数での効率的なベクトル量子化を実現できる。
また、実施例1の符号化方法と復号方法によれば、例えば、1フレーム中の周波数成分の数を80点(80個の周波数領域信号)とし、第1ベクトル量子化部においてパルスが立てられた周波数成分の数が40点(値が0以外の第1量子化信号が40個)とすると、第1ベクトル量子化部104でベクトル量子化する点数が80点であることに対し、第2ベクトル量子化部206でベクトル量子化する点数は40点と半減できるので、ベクトル量子化の効率を向上させることも期待できる。
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
[変形例1]
実施例4変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例4と異なる。構成と処理フローを示す図は実施例4と同じであり、図14が実施例4変形例1の符号化器と復号器の構成例を、図15が実施例4変形例1の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。実施例4変形例1の符号化器300は実施例4と同じである。実施例4変形例1の復号器350’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部310、時間領域変換部111を備える。復号器350’は、復号器300’と正規化値復号部157が異なる。その他の構成部は実施例4と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
実施例4変形例1の符号化方法と復号方法はこのような処理なので、実施例4の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
[変形例2]
実施例4変形例2は、誤差修正部での復号信号の生成方法が実施例4と異なる。構成と処理フローを示す図は実施例4と同じであり、図14が実施例4変形例2の符号化器と復号器の構成例を、図15が実施例4変形例2の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。実施例4変形例2の符号化器300は実施例4と同じである。実施例4変形例2の復号器370’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部375、時間領域変換部111を備える。復号器370’は、復号器300’と誤差修正部375が異なる。その他の構成部は実施例4と同じである。
誤差修正部375は、第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X’が0の場合は、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする。第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X’が0以外の場合は、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X’との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号X^(k)を復号信号とする(S375)。
図18に誤差修正部375の具体的な処理フローの例を示す。また、図19にステップS3751の処理フローの例を示す。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3101)。ステップS3101がYesの場合、mがMより小さいことを確認する(S3102)。ステップS3102がYesの場合、mがThより小さいことを確認する(S3103)。ステップS3103がYesの場合、X^(k)が0かを確認する(S3104)。ステップS3104がYesの場合、復号信号Z(k)を計算し、mの値を1つ増加させる(S3751)。ステップS3751では、次のような処理が行われる(図19参照)。1フレーム過去の復号量子化正規化値X’が0かを確認する(S3752)。ステップS3752がYesの場合、復号量子化正規化値Xと第2復号量子化信号E^(k)の加重加算A・X+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S3753)。ステップS3752がNoの場合、現在のフレームの復号量子化正規化値Xと第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X’との加重加算
[α(A・X+E^(k))+β・A・X’]
にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S3754)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS3102、S3103、S3104がNoの場合、X^(k)をZ(k)とする(S3106)。そして、kの値を1つ増加させ(S3107)、ステップS3101に戻る。S3101がNoの場合、処理を終了する。
実施例4変形例2の符号化方法と復号方法はこのような処理なので、実施例4の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
実施例4では、第2ベクトル量子化部306において、量子化正規化値Xを用いて正規化する。また、第2ベクトル復号部309においても、復号量子化正規化値Xを用いて逆正規化する。しかしながら、第2ベクトル量子化部では、値が0であった第1量子化信号X^(k)に対応する周波数領域信号のみで構成された誤差信号E(m)をベクトル量子化する。したがって、誤差信号E(m)用の正規化値を用いた方が、正規化の精度が向上し、効率的にベクトル量子化できる。そこで、本実施例では、誤差信号E(m)から求められた正規化値(以下、「再計算正規化値E」という。)で正規化する。
図20に実施例5の符号化器と復号器の構成例を示す。図21に実施例5の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。符号化器400は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、正規化値再計算部415、第2ベクトル量子化部406を備える。復号器400’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。符号化器400は、符号化器300と正規化値再計算部415、第2ベクトル量子化部406が異なる。また、復号器400’は、復号器300’と正規化値再計算部416、第2ベクトル復号部409が異なる。その他の構成部は実施例4と同じである。
正規化値再計算部415は、第1量子化信号X^(k)と、量子化正規化値Xと、値が0の第1量子化信号の数Mと、第2ベクトル量子化部406で用いられる数Mに近い量子化ベクトルの次数の倍数Thが入力される。正規化値再計算部415は、誤差信号E(m)に対する正規化値を再計算し、再計算正規化値Eとして出力する(S415)。図22は再計算正規化値Eを求める処理フローの例である。k=0、tmp=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S4151)。ステップS4151がYesの場合、tmpに|X^(k)|を加算する(S4156)。kの値を1つ増加させ(S4157)、ステップS4151に戻る。S4151がNoの場合、再計算正規化値E
Figure 0005336943
のように求め(S4158)、処理を終了する。
また、図23は再計算正規化値Eを求める別の処理フローの例である。このフローでは値が0の第1量子化信号の数を再度計算している。k=0、m=0、tmp=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S4151)。ステップS4151がYesの場合、mがMより小さいことを確認する(S4152)。ステップS4152がYesの場合、mがThより小さいことを確認する(S4153)。ステップS4153がYesの場合、X^(k)が0かを確認する(S4154)。ステップS4154がYesの場合、mの値を1つ増加させる(S4155)。ステップS4152、S4153、S4154がNoの場合、tmpに|X^(k)|を加算する(S4156)。そして、kの値を1つ増加させ(S4157)、ステップS4151に戻る。S4151がNoの場合、再計算正規化値E
Figure 0005336943
のように求め(S4158’)、処理を終了する。図22の処理フローでも、図23の処理フローでも、再計算正規化値Eは、量子化正規化値Xの二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)のパワー|X^(k)|の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果の平方根を再計算正規化値Eとしている。
第2ベクトル量子化部406は、正規化に再計算正規化値Eを用いることが実施例4の第2ベクトル量子化部306と異なるが、その他は同じである。すなわち、第2ベクトル量子化部406は、誤差信号E(m)と再計算正規化値Eと値が0の第1量子化信号の数Mを入力とする。第2ベクトル量子化部406は、誤差信号E(m)を再計算正規化値Eで割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号を、M点または量子化ベクトルの次数の倍数Thでベクトル量子化し、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスCとして出力する(S406)。
次に復号器400’の相違点について説明する。正規化値再計算部416は、正規化値再計算部415と同じ処理によって復号器400’用の再計算正規化値Eを求める。再計算正規化値Eを図22や図23の処理フローにしたがって求めるのであれば、再計算正規化値Eの情報を符号化器から復号器に伝える必要はなく、ビットの使用を避けることができる。
第2ベクトル復号部409は、正規化に再計算正規化値Eを用いることが実施例4の第2ベクトル復号部309と異なるが、その他は同じである。すなわち、第2ベクトル復号部409は、第2ベクトル量子化インデックスCと再計算正規化値Eと値が0である第1復号量子化信号X^(k)の数Mを入力とする。第2ベクトル復号部409は、M点または量子化ベクトルの次数の倍数Thで第2ベクトル量子化インデックスCを復号し、正規化された信号である正規化第2復号量子化信号を求め、正規化第2復号量子化信号に再計算正規化値Eを乗算することで逆正規化し、第2復号量子化信号E^(m)として出力する(S409)。
このような処理なので、実施例5の符号化方法と復号方法によれば、実施例4の符号化方法と復号方法と同じ効果が得られる。そして、誤差信号E(m)用の正規化値を用いているので、正規化の精度が向上し、さらに効率的にベクトル量子化できる。
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
[変形例1]
実施例5変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例5と異なる。構成と処理フローを示す図は実施例5と同じであり、図20が実施例5変形例1の符号化器と復号器の構成例を、図21が実施例5変形例1の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。実施例5変形例1の符号化器400は実施例5と同じである。実施例5変形例1の復号器450’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。復号器450’は、復号器400’と正規化値復号部157が異なる。その他の構成部は実施例5と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
実施例5変形例1の符号化方法と復号方法はこのような処理なので、実施例5の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
[変形例2]
実施例5変形例2は、誤差修正部での復号信号の生成方法が実施例5と異なる。構成と処理フローを示す図は実施例5と同じであり、図20が実施例5変形例2の符号化器と復号器の構成例を、図21が実施例5変形例2の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。実施例5変形例2の符号化器400は実施例5と同じである。実施例5変形例2の復号器470’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部375、時間領域変換部111を備える。復号器470’は、復号器400’と誤差修正部375が異なる。その他の構成部は実施例5と同じである。誤差修正部375は、実施例4変形例2で説明した内容と同じ処理を行う(図18、図19参照)。
実施例5変形例2の符号化方法と復号方法はこのような処理なので、実施例5の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
量子化正規化値X及び第1量子化信号X^(k)と目標値(周波数領域信号の正規化値X 及び周波数領域信号X(k))との誤差が大きい場合、実施例5の再計算正規化値Eの計算方法では、再計算正規化値Eを精度良く計算できないときがある。この場合、例えば再計算正規化値Eを小さく見積もりすぎれば周波数成分の欠損の原因となり、再計算正規化値Eを大きく見積もりすぎれば量子化ノイズ発生の原因となる。そこで、本実施例では、正規化値再計算部515、516において、以下の方法で再計算正規化値Eを計算する。
図24に実施例6の符号化器と復号器の構成例を示す。図25に実施例6の符号化器と復号器の処理フロー例を示す。図26(A)は符号化器の処理フローを示しており、図26(B)は復号器の処理フローを示している。符号化器500は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、正規化値再計算部515、第2ベクトル量子化部406を備える。復号器500’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。符号化器500は、符号化器400と正規化値再計算部515が異なる。また、復号器500’は、復号器400’と正規化値再計算部516が異なる。その他の構成部は実施例5と同じである。
正規化値再計算部515、516では、以下のように再計算正規化値Eを求める。図26は再計算正規化値Eを求める処理フローの例である。k=0、tmp=0、tmp2=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S5151)。ステップS5151がYesの場合、tmpに|X^(k)|を加算し、tmp2に|X^(k)|を加算する(S5156)。kの値を1つ増加させ(S5157)、ステップS5151に戻る。S5151がNoの場合、第1再計算値E と第2再計算値E
Figure 0005336943
のように求める(S5158)。E がE のA倍より大きいかを確認する(S5159)。Aは、どちらの候補を選ぶかの基準となる調整用の定数であり、例えばA=0.5である。ステップS5159がYesの場合、第1再計算値E を再計算正規化値Eとし(S5160)、ステップS5159がNoの場合、第2再計算値E を再計算正規化値Eとする(S5161)。EがXのA倍より小さいかを確認する(S5162)。Aは、Eが矛盾する値となっていないかを確認するための定数であり、例えばA=1である。ステップS5162がYesの場合処理を終了し、ステップS5162がNoの場合、再計算正規化値Eを量子化正規化値Xに置き換え(S5163)、処理を終了する。
図27は再計算正規化値Eを求める別の処理フローの例である。このフローでは値が0の第1量子化信号の数を再度計算している。k=0、m=0、tmp=0、tmp2=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S5151)。ステップS5151がYesの場合、mがMより小さいことを確認する(S5152)。ステップS5152がYesの場合、mがThより小さいことを確認する(S5153)。ステップS5153がYesの場合、X^(k)が0かを確認する(S5154)。ステップS5154がYesの場合、mの値を1つ増加させる(S5155)。ステップS5152、S5153、S5154がNoの場合、tmpに|X^(k)|を加算し、tmp2に|X^(k)|を加算する(S5156)。kの値を1つ増加させ(S5157)、ステップS5151に戻る。S5151がNoの場合、第1再計算値E と第2再計算値E
Figure 0005336943
のように求める(S5158’)。ステップS5159からS5163までの処理は図26と同じである。図26の処理フローでも、図27の処理フローでも、第1再計算値E は、量子化正規化値Xの二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)のパワー|X^(k)|の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果の平方根を第1再計算値E としている。また、第2再計算値E は、量子化正規化値Xに周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)の絶対値|X^(k)|の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果を第2再計算値E としている。
このような処理なので、実施例6の符号化方法と復号方法によれば、実施例5の符号化方法と復号方法と同じ効果が得られる。そして、再計算正規化値Eをより精度良く計算できるので、正規化の精度が向上し、さらに効率的にベクトル量子化できる。
[変形例1]
実施例6変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例6と異なる。構成と処理フローを示す図は実施例6と同じであり、図24が実施例6変形例1の符号化器と復号器の構成例を、図25が実施例6変形例1の符号化器と復号器の処理フロー例を示す。図25(A)は符号化器の処理フローを示しており、図25(B)は復号器の処理フローを示している。実施例6変形例1の符号化器400は実施例6と同じである。実施例6変形例1の復号器550’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。復号器550’は、復号器500’と正規化値復号部157が異なる。その他の構成部は実施例6と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
実施例6変形例1の符号化方法と復号方法はこのような処理なので、実施例6の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
[変形例2]
実施例6変形例2は、誤差修正部での復号信号の生成方法が実施例6と異なる。構成と処理フローを示す図は実施例6と同じであり、図24が実施例6変形例2の符号化器と復号器の構成例を、図25が実施例6変形例2の符号化器と復号器の処理フロー例を示す。図26(A)は符号化器の処理フローを示しており、図25(B)は復号器の処理フローを示している。実施例6変形例2の符号化器500は実施例6と同じである。実施例6変形例2の復号器570’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部375、時間領域変換部111を備える。復号器570’は、復号器500’と誤差修正部375が異なる。その他の構成部は実施例6と同じである。誤差修正部375は、実施例4変形例2で説明した内容と同じ処理を行う(図18、図19参照)。
実施例6変形例2の符号化方法と復号方法はこのような処理なので、実施例6の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値Xの時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
実験結果
実施例6変形例2の方法での効果を確認するため、実験を行った。図28は楽器のみのオーケストラを対象としたときの実験結果を示す図、図29は歌を含んでいるオーケストラを対象としたときの実験結果を示す図、図30は楽器のみのストリングを対象としたときの実験結果を示す図、図31は歌を含んでいるポップスを対象としたときの実験結果を示す図、図32は管楽器(歌なし)を対象としたときの実験結果を示す図、図33は歌のみを対象としたときの実験結果を示す図である。各図とも、横軸は時間、縦軸は次式に示すSN比を示しており、大きい値ほど品質がよい。
Figure 0005336943
また、点線は従来の方法で符号化、復号した場合、実線は実施例6変形例2の方法で符号化、復号した場合を示している。なお、第1符号化対象信号は、MDCT(Modified Discrete Cosine Transform)で周波数領域に変換された周波数領域信号である。どの実験結果でも、本発明の品質の方がよいことが分かる。このことからも、本発明が限られたビット数での効率的なベクトル量子化を実現できることが分かる。
プログラムなど
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
100、200、300、400、500 符号化器
100’、200’、250’、270’、300’、350’、370’ 復号器
400’、450’、470’、500’、550’、570’ 復号器
101 周波数領域変換部
102 正規化値計算部
103 正規化値量子化部
104 第1ベクトル量子化部
105、205、312 誤差計算部
106、206、306、406 第2ベクトル量子化部
107、157 正規化値復号部
108 第1ベクトル復号部
109、209、309、409 第2ベクトル復号部
110、210、275、310、375 誤差修正部
111 時間領域変換部
313 M値計算部
415、416、515、516 正規化値再計算部

Claims (14)

  1. 所定サンプル数ごとの符号化対象の信号サンプル(以下、「第1符号化対象信号」という)に対する正規化値を求める正規化値計算ステップと、
    前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化ステップと、
    前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化ステップと、
    前記第1量子化信号の値が0の場合は、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号を求め、第1量子化信号の値が0以外の場合は、前記第1符号化対象信号の絶対値と前記第1量子化信号の絶対値の誤差信号を求める誤差計算ステップと、
    前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化ステップと、
    を有する符号化方法。
  2. 所定サンプル数ごとの符号化対象の信号サンプル(以下、「第1符号化対象信号」という)に対する正規化値を求める正規化値計算ステップと、
    前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化ステップと、
    前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化ステップと、
    前記第1量子化信号の値が0の場合の、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号だけを求める誤差計算ステップと、
    前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化ステップと、
    を有する符号化方法。
  3. 請求項2記載の符号化方法であって、
    前記量子化正規化値をX、前記所定サンプル数をL、前記第1量子化信号のパワーの合計tmp、値が0の前記第1量子化信号の数をM、再計算正規化値Eとするときに、
    Figure 0005336943

    の関係となる再計算正規化値Eを求める正規化値再計算ステップ
    も有し、
    第2ベクトル量子化ステップは、前記再計算正規化値を用いて前記誤差信号を正規化して正規化誤差信号を求め、前記正規化誤差信号を複数サンプル纏めてベクトル量子化して前記第2ベクトル量子化インデックスを求める
    ことを特徴とする符号化方法。
  4. 請求項2記載の符号化方法であって、
    前記量子化正規化値をX、前記所定サンプル数をL、前記第1量子化信号のパワーの合計tmp、前記第1量子化信号の絶対値の合計をtmp2、値が0の前記第1量子化信号の数をM、第1再計算値をE 、第2再計算値をE とするときに、
    Figure 0005336943

    の関係となる第1再計算値をE と第2再計算値をE を求め、
    前記第1再計算値と前記第2再計算値と前記量子化正規化値のいずれかを再計算正規化値とする正規化値再計算ステップ
    も有し、
    前記第2ベクトル量子化ステップは、前記再計算正規化値を用いて前記誤差信号を正規化して正規化誤差信号を求め、前記正規化誤差信号を複数サンプル纏めてベクトル量子化して、前記第2ベクトル量子化インデックスを求める
    ことを特徴とする符号化方法。
  5. 第1ベクトル量子化インデックスと第2ベクトル量子化インデックスと正規化値量子化インデックスを含む符号から、復号信号を求める復号方法であって、
    前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号ステップと、
    前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号ステップと、
    前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号ステップと、
    第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号と前記第2復号量子化信号の和を用いた計算結果を復号信号とする誤差修正ステップと
    を有する復号方法。
  6. 請求項5記載の復号方法であって、
    前記誤差修正ステップが、
    第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算にランダムに生成した1または−1を乗算した結果を復号信号とし、第1復号量子化信号の値が負の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和に−1を乗算した結果を復号信号とし、第1復号量子化信号の値が正の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和を復号信号とする
    ことを特徴とする復号方法。
  7. 請求項6記載の復号方法であって、
    前記正規化値復号ステップが、
    1フレーム前の復号正規化値が0の場合は、現在のフレームの復号正規化値を、復号量子化正規化値として出力し、
    1フレーム前の復号正規化値が0でない場合は、現在のフレームの復号正規化値と1フレーム前の復号正規化値との加重加算の結果を、復号量子化正規化値として出力する
    ことを特徴とする復号方法。
  8. 請求項5記載の復号方法であって、
    誤差修正ステップが、
    第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号の加重加算の結果にランダムに生成した1または−1を乗算した結果を復号信号とし、
    第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0以外の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号と1フレーム過去の復号量子化正規化値との加重加算の結果にランダムに生成した1または−1を乗算した結果を復号信号とし、
    第1復号量子化信号の値が負の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和に−1を乗算した結果を復号信号とし、第1復号量子化信号の値が正の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和を復号信号とする
    を有する復号方法。
  9. 第1ベクトル量子化インデックスと第2ベクトル量子化インデックスと正規化値量子化インデックスを含む符号から、復号信号を求める復号方法であって、
    前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号ステップと、
    前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号ステップと、
    前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号ステップと、
    第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号を復号信号とする誤差修正ステップと
    を有する復号方法。
  10. 請求項9記載の復号方法であって、
    値が0の前記第1復号量子化信号の数Mを求めるM値計算ステップと、
    前記復号量子化正規化値をX、前記第1復号量子化信号の数をL、前記第1復号量子化信号のパワーの合計tmp、値が0の前記第1復号量子化信号の数をM、再計算正規化値Eとするときに、
    Figure 0005336943

    の関係となる再計算正規化値Eを求める正規化値再計算ステップ
    も有し、
    前記第2ベクトル復号ステップは、前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記再計算正規化値を用いて前記第2復号量子化信号を求める
    ことを特徴とする復号方法。
  11. 請求項9記載の復号方法であって、
    値が0の前記第1復号量子化信号の数Mを求めるM値計算ステップと、
    前記復号量子化正規化値をX、前記第1復号量子化信号の数をL、前記第1復号量子化信号のパワーの合計tmp、前記第1量子化信号の絶対値の合計をtmp2、値が0の前記第1復号量子化信号の数をM、第1再計算値をE 、第2再計算値をE とするときに、
    Figure 0005336943

    の関係となる第1再計算値をE と第2再計算値をE を求め、
    前記第1再計算値と前記第2再計算値と前記復号量子化正規化値のいずれかを再計算正規化値とする正規化値再計算ステップ
    も有し、
    前記第2ベクトル復号ステップは、前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記再計算正規化値を用いて前記第2復号量子化信号を求める
    ことを特徴とする復号方法。
  12. 所定サンプル数ごとの符号化対象の信号サンプル(以下、「第1符号化対象信号」という)に対する正規化値を求める正規化値計算部と、
    前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化部と、
    前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化部と、
    第1量子化信号の値が0の場合は、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号を求め、第1量子化信号の値が0以外の場合は、前記第1符号化対象信号の絶対値と前記第1量子化信号の絶対値の誤差信号を求める誤差計算部と、
    前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化部と、
    を備える符号化器。
  13. 第1ベクトル量子化インデックスと第2ベクトル量子化インデックスと正規化値量子化インデックスを含む符号から、復号信号を求める復号器であって、
    前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号部と、
    前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号部と、
    前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号部と、
    第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号と前記第2復号量子化信号の和を用いた計算結果を復号信号とする誤差修正部と
    を備える復号器。
  14. 請求項1から11のいずれかに記載の方法の各ステップをコンピュータにより実行させるプログラム。
JP2009148956A 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器、プログラム Active JP5336943B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009148956A JP5336943B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009148956A JP5336943B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器、プログラム

Publications (2)

Publication Number Publication Date
JP2011009861A JP2011009861A (ja) 2011-01-13
JP5336943B2 true JP5336943B2 (ja) 2013-11-06

Family

ID=43566047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009148956A Active JP5336943B2 (ja) 2009-06-23 2009-06-23 符号化方法、復号方法、符号化器、復号器、プログラム

Country Status (1)

Country Link
JP (1) JP5336943B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2792545A1 (en) 2010-03-09 2011-09-15 Nippon Telegraph And Telephone Corporation Coding method, decoding method, apparatus, program and recording medium
JP5331249B2 (ja) * 2010-07-05 2013-10-30 日本電信電話株式会社 符号化方法、復号方法、装置、プログラムおよび記録媒体
CA2803269A1 (en) * 2010-07-05 2012-01-12 Nippon Telegraph And Telephone Corporation Encoding method, decoding method, device, program, and recording medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3045197B2 (ja) * 1991-07-29 2000-05-29 日本電信電話株式会社 ベクトル量子化器の符号帳設計方法
JP3405788B2 (ja) * 1993-03-04 2003-05-12 株式会社東芝 動画像符号化装置と動画像復号化装置
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 可変長符号化装置及びその方法
WO2008047795A1 (fr) * 2006-10-17 2008-04-24 Panasonic Corporation Dispositif de quantification vectorielle, dispositif de quantification vectorielle inverse et procédé associé
US8438020B2 (en) * 2007-10-12 2013-05-07 Panasonic Corporation Vector quantization apparatus, vector dequantization apparatus, and the methods

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5603484B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体
TWI380602B (en) Apparatus and method for encoding an information signal
JP5975243B2 (ja) 符号化装置および方法、並びにプログラム
EP2650878B1 (en) Encoding method, encoder, periodic feature amount determination method, periodic feature amount determination apparatus, program and recording medium
KR100848324B1 (ko) 음성 부호화 장치 및 그 방법
JP5331249B2 (ja) 符号化方法、復号方法、装置、プログラムおよび記録媒体
CN104321813B (zh) 编码方法、编码装置
CN110491398B (zh) 编码方法、编码装置以及记录介质
EP3226243A1 (en) Encoding device, decoding device, and method and program for same
JP5256375B2 (ja) 符号化方法、復号方法、装置、プログラム及び記録媒体
JP5331248B2 (ja) 符号化方法、復号方法、装置、プログラム及び記録媒体
JP5336943B2 (ja) 符号化方法、復号方法、符号化器、復号器、プログラム
JP3357829B2 (ja) 音声符号化/復号化方法
JP5336942B2 (ja) 符号化方法、復号方法、符号化器、復号器、プログラム
EP3252758B1 (en) Encoding apparatus, decoding apparatus, and methods, programs and recording media for encoding apparatus and decoding apparatus
JP5325340B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体
CN107430869B (zh) 参数决定装置、方法及记录介质
JP5361565B2 (ja) 符号化方法、復号方法、符号化器、復号器およびプログラム
JP5355244B2 (ja) 符号化方法、復号方法、符号化器、復号器およびプログラム
JP6780108B2 (ja) 符号化装置、復号装置、平滑化装置、逆平滑化装置、それらの方法、およびプログラム
JP5579932B2 (ja) 符号化方法、装置、プログラム及び記録媒体

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 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Ref document number: 5336943

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