JP2005345703A - 音声処理装置及び音声符号化方法 - Google Patents

音声処理装置及び音声符号化方法 Download PDF

Info

Publication number
JP2005345703A
JP2005345703A JP2004164488A JP2004164488A JP2005345703A JP 2005345703 A JP2005345703 A JP 2005345703A JP 2004164488 A JP2004164488 A JP 2004164488A JP 2004164488 A JP2004164488 A JP 2004164488A JP 2005345703 A JP2005345703 A JP 2005345703A
Authority
JP
Japan
Prior art keywords
amplitude
frequency
vector quantization
audio signal
unit
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.)
Granted
Application number
JP2004164488A
Other languages
English (en)
Other versions
JP4054919B2 (ja
Inventor
Hiroyasu Ide
博康 井手
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2004164488A priority Critical patent/JP4054919B2/ja
Publication of JP2005345703A publication Critical patent/JP2005345703A/ja
Application granted granted Critical
Publication of JP4054919B2 publication Critical patent/JP4054919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ベクトル量子化された音声信号の振幅を簡易な処理で調整可能にする。
【解決手段】音声処理装置100は、ベクトル量子化により得られた符号に対し、逆ベクトル量子化を施し、周波数逆変換を施す。そして、入力された音声信号に対する周波数逆変換により得られた音声信号の最大振幅の比率の逆数を、周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、その調整された周波数変換係数に対し、ベクトル量子化、逆ベクトル量子化、周波数逆変換を施すことにより得られた音声信号の最大振幅と、前記入力された音声信号の最大振幅を比較する。入力された音声信号の振幅が、周波数逆変換により得られた音声信号の振幅より大きい場合、調整された周波数変換係数に対し、ベクトル量子化を施し、そのベクトル量子化により得られた符号に対し、エントロピー符号化を施す。
【選択図】図1

Description

本発明は、音声処理装置及び音声符号化方法に関する。
従来より、音声信号の圧縮方式として、μ−law、ADPCM(Adaptive Differential Pulse Code Modulation)、音楽で利用されるMP3(MPEG Audio Layer-3)、携帯電話等で利用されるVSELP(Vector Sum Excited Linear Prediction)、G.729等のCELP(Code-Excited Linear Prediction)系の圧縮方式が実用化されている。特許文献1には、音声圧縮技術として、ベクトル量子化を用いた技術が開示されている。
特開平10−63299号公報
ベクトル量子化を伴う符号化により得られた音声信号の振幅は、量子化テーブルに登録されたベクトルに依存する。量子化テーブルには、複数の音声パターンを示す代表ベクトルが登録されている。音声信号のGainを分離することで、量子化テーブルの依存性は緩和されるが、量子化テーブルに登録されているベクトルの次元が相対的に大きい場合や、ベクトルの数が相対的に少ない場合は、入力された音声信号の振幅と一致せず、波形のレンジを振り切ってクリッピングされてしまうことがあった。
本発明の課題は、ベクトル量子化された音声信号の振幅を簡易な処理で調整可能にすることである。
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第1のベクトル量子化部と、前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、前記係数調整部により調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記係数調整部により調整された周波数変換係数に対し、ベクトル量子化を施す第2のベクトル量子化部と、前記第2のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、を備えることを特徴としている。
また、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すのが好ましい。
更に、前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、前記第2のベクトル量子化部は、前記入力された信号の振幅の最大値が、前記周波数逆変換により得られた音声信号の振幅の最大値より大きい場合に、前記調整された周波数変換係数に対してベクトル量子化を施すのが好ましい。
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第1のベクトル量子化部と、前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、前記係数調整部において調整された周波数変換係数に対し、ベクトル量子化を施す第2のベクトル量子化部と、前記第2のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、を備えることを特徴としている。
また、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すのが好ましい。
更に、前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、前記係数調整部は、当該入力された音声信号に対する当該周波数逆変換により得られた音声信号の振幅の最大値の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算するのが好ましい。
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、前記フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、前記調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記調整された周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴としている。
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、前記調整された周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴としている。
本発明によれば、入力された音声信号に対する周波数逆変換により得られた音声信号の振幅の比率の逆数を周波数変換係数に乗算して、周波数変換係数を調整することにより、簡易な処理でベクトル量子化後の音声信号の振幅を調整することが可能となる。
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、本実施形態における構成について説明する。
図1は、本発明の実施形態に係る音声処理装置100の構成を示すブロック図である。音声処理装置100は、図1に示すように、A/D変換部1、DC(Direct Current)除去部2、フレーム化部3、レベル調整部4、周波数変換部5、周波数並べ替え部6、ベクトル量子化部7、エントロピー符号化部8、レートコントローラ9、データ削除部10、逆ベクトル量子化部11、周波数逆変換部12、振幅比較部13、係数調整部14により構成される。
A/D変換部1は、入力された音声アナログ信号をデジタル信号に変換し、DC除去部2に出力する。サンプリング周波数は、16kHz程度が望ましいが、11.025kHz、22.05kHz等でもかまわない。
DC除去部2は、A/D変換部1から入力された音声信号の直流成分を除去し、フレーム化部3に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分の除去は、例えば、高域通過フィルタによって実現することができる。高域通過フィルタには、例えば、式(1)で表されるものがある。
Figure 2005345703
フレーム化部3は、DC除去部2から入力された信号を、圧縮の処理単位であるフレームに分割し、レベル調整部4に出力する。ここで、1つのフレームには、1つ以上、好ましくは4つ以上のブロックが含まれる長さにする。1ブロックは、1回のMDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)を行う単位であり、MDCTの次数分の長さを有する。以下、1フレームを構成する各ブロックをMDCTブロックと呼ぶことにする。図2に、入力信号と各フレームとの関係を示し、図3に、1フレームと各MDCTブロックとの関係を示す。図3に示すように、各MDCTブロックは直前のMDCTブロックと、MDCTブロックの半分の長さの重複部分を有する。また、図2に示すように、各フレームは、直前のフレームと、MDCTブロックの半分の長さの重複部分を有する。
レベル調整部4は、フレーム毎に、入力された音声信号のレベル調整を行い、レベル調整された信号を周波数変換部5に出力する。レベル調整とは、1フレーム中に含まれる信号の振幅の最大値を、指定されたビット(以下、制圧目標ビット)数に収まるようにすることである。レベル調整は、例えば、1フレーム中の信号の最大振幅をnbit、制圧目標ビット数をNとすると、フレーム中の信号を全て、式(2)を満たすshift_bit数分LSB(Least Significant Bit:最下位ビット)側にシフトすることによって実現できる。
Figure 2005345703
音声再生時には、振幅が制圧目標ビット以下に制圧された信号を元に戻す必要があるため、shift_bitを表す信号を、音声圧縮信号の一部として出力する。
周波数変換部5は、レベル調整部4から入力された信号に対し周波数変換を施し、周波数並べ替え部6に出力する。本実施形態では、周波数変換としてMDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)を用いる場合を示す。MDCTブロックの長さをM、入力信号を{xn|n=0,…,M-1}とすると、MDCT係数{Xk|n=0,…,M-1}は式(3)で表される。
Figure 2005345703
ここで、hnは窓関数であり、式(4)で表される。
Figure 2005345703
なお、ブロック長Mは、16kHz程度のサンプリング周波数の音声では、256程度の値が考えられる。
周波数並べ替え部6は、周波数変換部5から入力されたMDCT係数を周波数毎に並べ替え、同一周波数帯域の係数をまとめてベクトル化し、ベクトル量子化部7に出力する。このように、同一周波数帯域の信号をまとめてベクトル化すると、例えば、定常信号を多く含む場合、後のベクトル量子化の精度が向上する。1フレームにMDCTブロックがm個あり、各MDCTでMDCT係数がM/2個算出された場合、i番目のMDCTブロックのj番目のMDCT係数をXijとすると、j番目の周波数帯域をまとめたベクトルFjは、Fj={Xij|i=0,…,m-1},j=0,…,M/2-1となる。
ベクトル量子化部7は、複数の音声パターンを示す代表ベクトルを格納したVQ(Vector Quantization)テーブルを有し、周波数並べ替え部6で作成されたベクトルFjと、VQテーブルに格納された各代表ベクトルを比較し、最も類似した代表ベクトルが示すインデックスを符号(ベクトル量子化符号)として出力する(第1のベクトル量子化)。また、ベクトル量子化部7は、係数調整部14から出力されたMDCT係数のベクトルについても、VQテーブルに格納された各代表ベクトルを比較し、最も類似した代表ベクトルが示すインデックスを符号(ベクトル量子化符号)として出力する(第2のベクトル量子化)。
例えば、ベクトル長Nの符号化対象のベクトルを{sj|j=1,…,N}、VQテーブルに格納されたk個の代表ベクトルを{Vi|i=1,…,k}、Vi={vij|j=1,…,N}とすると、符号化対象のベクトルと、VQテーブルに格納されたi番目の代表ベクトルの各要素vijの誤差eiが最小となるようなi(インデックス)を、出力する符号とする。誤差eiの算出式を式(5)に示す。
Figure 2005345703
代表ベクトルの数kとベクトル長Nは、ベクトル量子化に要する処理時間やVQテーブルの容量等を勘案して決定される。例えば、ベクトル長を2にして代表ベクトル数を256にしたり、ベクトル長を4にして代表ベクトル数を8192(=213)にしたりするなど、自由な組み合わせが考えられる。
音声は、高域周波数部分と低域周波数部分で異なる特性がある場合が多いため、本実施形態では、高域と低域で異なるVQテーブルを用いることにする。高域用の代表ベクトルが格納されたVQテーブルを高域用VQテーブル7a、低域用の代表ベクトルが格納されたVQテーブルを低域用VQテーブル7bとする。周波数並べ替え部6で作成されたベクトルFj={Xij|i=0,…,m-1},j=0,…,M/2-1において、高域と低域の境界は、周波数帯域を示すjを単純に半分に分ければよい。即ち、F0,F1,…,FM/4-1を低域、FM/4,FM/4+1,…,FM/2-1を高域とすればよい。従って、低域のベクトルF0,F1,…,FM/4-1は、低域用VQテーブル7bに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。同様に、高域のベクトルFM/4,FM/4+1,…,FM/2-1は、高域用VQテーブル7aに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。
エントロピー符号化部8は、ベクトル量子化部7から入力されたベクトル量子化符号に対してエントロピー符号化を施し、レートコントローラ9に出力する。エントロピー符号化とは、信号の統計的性質を利用して、符号をより短い符号へと変換する符号化方式であり、ハフマン(Huffman)符号化、算術符号化、レンジコーダ(Range Coder)による符号化等がある。エントロピー符号化の詳細については、後に図4〜図8を参照して説明する。
レートコントローラ9は、エントロピー符号化で得られた符号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定した場合、データ削除部10に対し、j番目の周波数帯域Fjのエネルギーを|Fj2としたとき、|Fj2が所定値以下の帯域の信号の削除を要求する。エントロピー符号化で得られた符号のデータ量が目標データ量以下であると判定した場合は、レートコントローラ9は、エントロピー符号化で得られた符号を音声圧縮信号として出力する。レートコントローラ9から出力された音声圧縮信号は、記録媒体に記録されたり、通信ネットワークを介して外部装置に伝送されたりする。
データ削除部10は、エネルギー|Fj2が所定値以下の帯域の信号を削除する処理を行い、処理後の信号をエントロピー符号化部8に出力し、再度、エントロピー符号化を要求する。エネルギー|Fj2が所定値以下の帯域の信号を削除する処理では、例えば、式(6)に示すように、エネルギー|Fj2が閾値t未満の係数を0になるようにする。
j={0,0,…,0}; |Fj2<t (6)
逆ベクトル量子化部11は、高域用VQテーブル7a及び低域用VQテーブル7bに格納された代表ベクトルの中から、ベクトル量子化部7から出力されたインデックスに該当するベクトル(MDCT係数に相当する情報)を抽出し、周波数逆変換部12に出力する。
周波数逆変換部12は、逆ベクトル量子化部11から出力されたベクトルに対し、逆MDCT(Inverse MDCT)を施し、振幅比較部13に出力する。
振幅比較部13は、DC除去部2から入力された音声信号(以下、「入力波形」という。)の振幅の最大値(最大振幅)を算出するとともに、周波数逆変換部12で得られた音声信号をレベル調整部4で制圧される前の元のレベルに復元し、その調整された信号(以下、「再生波形」という。)の振幅の最大値(最大振幅)を算出し、入力波形に対する再生波形の最大振幅の比率を算出する。また、振幅比較部13は、入力波形の最大振幅と、再生波形の最大振幅を比較し、比較結果を係数調整部14に出力する。
N個の入力波形を{xi|i=0,…,N-1}、逆MDCTが施された再生波形を{yi|i=0,…,N-1}とすると、入力波形の最大振幅max_x、再生波形の最大振幅max_yは、それぞれ、式(7)、式(8)のように表される。
max_x=MAX(xi) ;i=0,…,N-1 (7)
max_y=MAX(yi) ;i=0,…,N-1 (8)
ここで、MAXは最大値をとる関数である。従って、入力波形に対する再生波形の最大振幅の比率は、max_y/max_xとなる。
係数調整部14は、入力波形に対する再生波形の最大振幅の比率の逆数max_x/max_yを全てのMDCT係数に乗算することによってMDCT係数を調整する。調整前のMDCT係数を{Fi|i=0,…,M/2-1}、調整後のMDCT係数を{F'i|i=0,…,M/2-1}とすると、調整後のMDCT係数F'iは式(9)のように表される。
Figure 2005345703
全てのMDCT係数Fiに同一の値max_x/max_yを乗算するのは、再生波形の振幅が入力波形の最大振幅を超えている部分だけを調整すると、逆MDCT(IMDCT)のオーバーラップ処理時に不都合を起こしたり、波形全体の振幅の変化の再現性が失われてしまったりすることによる。
また、係数調整部14は、振幅比較部13における比較結果により、入力波形の最大振幅が再生波形の最大振幅より大きい場合、振幅が調整されたMDCT係数F'jをベクトル量子化部7に出力する。入力波形の最大振幅が再生波形の最大振幅より小さい場合、元のMDCT係数Fjのベクトル量子化により得られたインデックスが、エントロピー符号化部8に出力される。
〈エントロピー符号化〉
以下では、本実施形態で適用されるエントロピー符号化の例として、ハフマン符号化、レンジコーダによる符号化について説明する。
(ハフマン符号化)
ハフマン符号化とは、出現頻度の高い記号には短い符号を割り当て、出現頻度の低い記号には長い符号を割り当てることで、全体のデータ量を圧縮する方式である。例えば、4つの記号{a、b、c、d}からなる100文字のデータがあったとする。全ての記号に同じ長さの2進数の符号(固定長符号)を割り当てる場合、4つの記号を表すには2ビットが必要であるため、100文字のデータ量は、2[bit]×100=200[bit]となる。
ハフマン符号化では、各記号の出現頻度に応じて2進数の符号が割り当てられる。図4に、100文字のデータ中の各記号a、b、c、dの出現頻度が、それぞれ、10、70、1、19である場合に各記号に割り当てられた2進数の符号の例を示す。図4に示すように、記号a、b、c、dに、それぞれ、符号100、0、101、11が割り当てられた場合、100文字のデータ量は、3[bit]×10+1[bit]×70+3[bit]×1+2[bit]×19=141[bit]となり、データ量は、固定長符号のデータ量の70%に圧縮される。
(レンジコーダによる符号化)
符号化前の元信号に含まれる記号の集合をS={si|i=1,…,n}とし、各記号siの出現確率をpiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列{s1、s2、…、sn}において、記号sk(k≧2)より前に並んでいる各記号の出現確率の合計をGkとする。即ち、Gkは、式(10)のように表される。
Figure 2005345703
レンジコーダによる符号化では、記号毎に出現確率piとGiを対応付けて格納したテーブル(以下、生起確率テーブルという。)に基づいて、入力済みの信号が示す記号列に、数値で示す範囲(下限、幅)を設定する処理を行う。入力済みの信号に設定される範囲(下限、幅)は、直前に入力された信号に設定された範囲と生起確率テーブルに基づいて決定される。
符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの1つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式(11)、式(12)のように表される。
range'=range×pk (11)
low'=low+range×Gk (12)
式(11)及び式(12)で算出されたrange'、low'が、次の信号が入力されたときのrange、lowとなる。
式(11)及び式(12)で示す算出処理は、入力信号がなくなるまで行われ、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low+rangeの間の値が符号値として出力される。
図5に、レンジコーダ符号化の例を示す。図5(a)に、元信号に含まれる記号の集合がS={s1=a、s2=b、s3=c、s4=d}であるときの生起確率テーブルの一例を示す。また、図5(b)に、記号列{baca}に対する符号化の一例を示す。図5(b)では、記号列を示す符号を10進数とし、lowの初期値を0、rangeの初期値を106とした場合を示している。図5(b)において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式(12)により算出されるlow'を示し、「range」項目は、式(11)により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。図5(b)において、[x、y)という表記は、符号値Zがx≦Z<yを満たすことを意味する。図5(b)によると、593750≦Z<603125を満たす符号値Zのうちの1つ(例えば、600000)が、記号列{baca}を符号化した結果として出力されることになる。
このように、レンジコーダによる符号化では、予め決められた出現確率を利用して入力される各記号を符号化しているため、元信号に含まれる各記号の出現確率が固定された情報源からの発生であれば非常に有効である。しかしながら、符号化対象となる信号が、出現確率が一定の情報源から発生されていることは極めてまれである。よって、上述のレンジコーダによる符号化では、各記号の出現確率が符号化対象となる信号に適応していない。そこで、本実施形態では、レンジコーダ符号化において、信号が入力される度に出現確率を更新させるようにすることによって、実際の信号に適応可能にした。以下、本実施形態のレンジコーダによる符号化について説明する。
上述と同様に、符号化前の元信号に含まれる記号の集合をS={si|i=1,…,n}とする。元信号に含まれる記号siの出現頻度をgi、出現頻度giの合計をcum、各記号siの出現確率をpiとすると、cum、piは、それぞれ、式(13)、式(14)のように表される。
Figure 2005345703
Figure 2005345703
エントロピー符号化部8は、入力された信号に幅range及び下限lowを設定するためのテーブルとして、図6に示すような生起確率テーブル81を有する。生起確率テーブル81は、図6に示すように、各記号毎に、出現頻度gi、出現確率pi、Giの各項目を対応付けて格納している。Giの定義は、式(10)で示したとおりである。
エントロピー符号化部8に符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの1つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式(15)、式(16)のように表される。
Figure 2005345703
Figure 2005345703
式(15)及び式(16)で算出されたrange'、low'が、次の信号が入力されたときのrange、lowとなる。
信号skの入力によりrange、lowが算出されると、エントロピー符号化部8は、式(17)に示すように、出現確率gkに1を加算し、算出された出現確率gk'を新たなgkとする。
k'=gk+1 (17)
エントロピー符号化部8は、出現確率gkの加算に伴い、cum、出現確率pi、Giを再計算し、生起確率テーブル81を更新する。エントロピー符号化部8は、これらの処理を、入力信号がなくなるまで行い、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low+rangeの間の値を符号値として出力する。
図7及び図8に、本実施形態のレンジコーダ符号化の例を示す。図7(a)に、元信号に含まれる記号の集合がS={s1=a、s2=b、s3=c、s4=d}であるときのデフォルトの生起確率テーブル81の一例を示す。図7(a)に示すデフォルトの生起確率テーブル81のpi及びGiは、図5(a)に示す生起確率テーブルと同一であるものとする。また、図7(b)には、図5(b)に示した記号列と同一の記号列{baca}に対する符号化の一例を示す。図7(b)においても、記号列を示す符号を10進数とし、lowの初期値を0、rangeの初期値を106とする。図7(b)において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式(16)により算出されるlow'を示し、「range」項目は、式(15)により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。また、「生起確率テーブル」項目は、記号の入力毎に更新された生起確率テーブルを示す。図8に、記号の入力毎に更新された生起確率テーブルを示す。図7(b)によると、記号の入力毎に生起確率テーブルを更新することで、記号列{baca}が示す「範囲」は、図5(b)に示した生起確率テーブルが固定された場合と異なり、591992≦Z<599757を満たす符号値Zのうちの1つが、記号列{baca}を符号化した結果として出力されることになる。
次に、本実施形態における動作について説明する。
まず、図9のフローチャートを参照して、音声処理装置100において実行される音声圧縮処理について説明する。
まず、音声アナログ信号が入力されると、A/D変換部1において、入力された音声アナログ信号が音声デジタル信号に変換される(ステップS1)。以下、符号化対象の音声デジタル信号を単に音声信号と呼ぶことにする。次いで、DC除去部2において、音声信号の直流成分が削除され(ステップS2)、フレーム化部3において、直流成分削除後の音声信号がフレームに分割される(ステップS3)。
次いで、レベル調整部4において、フレーム毎に、入力された音声信号のレベルが調整され(ステップS4)、周波数変換部5において、レベル調整後の音声信号に対し、MDCTが施される(ステップS5)。次いで、周波数並べ替え部6において、MDCT係数が周波数毎に並べ替えられ(ステップS6)、同一周波数帯域の係数がまとめてベクトル化される。
次いで、ベクトル量子化部7において、高域のMDCT係数のベクトルと高域用VQテーブル7aに格納された代表ベクトルが比較されるとともに、低域のMDCT係数のベクトルと低域用VQテーブル7bに格納された代表ベクトルが比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される(ステップS7)。次いで、ステップS7におけるベクトル量子化後の音声信号の振幅を調整する振幅調整処理が行われる(ステップS8)。ステップS8の振幅調整処理については、後に図10を参照して詳細に説明する。
次いで、エントロピー符号化部8において、ベクトル量子化後のベクトル量子化符号に対し、フレーム毎にエントロピー符号化が施され(ステップS9)、エントロピー符号化後の信号が音声圧縮信号としてレートコントローラ9に出力される。
次いで、レートコントローラ9において、エントロピー符号化部8から入力された1フレーム分の音声圧縮信号が予め決められた目標データ量以下であるか否かが判定される(ステップS10)。ステップS10において、入力された音声圧縮信号が目標データ量より大きいと判定された場合(ステップS10;NO)、データ削除部10において、エネルギーが小さい帯域、即ち、エネルギー|Fj2が所定値以下の帯域の信号が削除され(ステップS11)、再度、該当するフレームに対するエントロピー符号化処理が行われる(ステップS9)。
ステップS10において、入力された音声圧縮信号が目標データ量以下であると判定された場合(ステップS10;YES)、エントロピー符号化部8に、符号化対象の次のフレームの音声信号が入力されたか否かが判定される(ステップS12)。ステップS12において、エントロピー符号化部8に次のフレームの音声信号が入力されたと判定された場合(ステップS12;YES)、ステップS9に戻り、その入力されたフレームに対するエントロピー符号化処理が行われる(ステップS9)。ステップS12において、エントロピー符号化部8に入力された全てのフレームに対するエントロピー符号化が終了したと判定された場合(ステップS12;NO)、本音声圧縮処理が終了する。
次に、図10のフローチャートを参照して、図9のステップS8に示した振幅調整処理について詳細に説明する。
まず、逆ベクトル量子化部11において、ベクトル量子化部7から出力されたインデックスに対する逆ベクトル量子化が行われ(ステップS20)、周波数逆変換部12において、逆ベクトル量子化で得られたベクトルに対し、逆MDCT(IMDCT)が施される(ステップS21)。
次いで、振幅比較部13において、入力波形に対する再生波形(逆MDCT後の信号)の最大振幅の比率が算出され(ステップS22)、係数調整部14において、式(9)に示すように、MDCT係数Fiに最大振幅比率の逆数を乗算することにより、MDCT係数が調整される(ステップS23)。
次いで、ステップS23において調整されたMDCT係数F'iに対し、ベクトル量子化が施される(ステップS24)。そして、ステップS24におけるベクトル量子化で得られたインデックスに対し、逆ベクトル量子化が施され(ステップS25)、逆ベクトル量子化で得られたベクトルに対し、逆MDCT(IMDCT)が施される(ステップS26)。
次いで、入力波形に対する再生波形(逆MDCT後の信号)の最大振幅の比率が算出され(ステップS27)、入力波形の最大振幅が、再生波形の最大振幅より大きいか否かが判定される(ステップS28)。
ステップS28において、入力波形の最大振幅の方が大きいと判定された場合(ステップS28;YES)、ステップS23において調整されたMDCT係数F'iに対し、ベクトル量子化が施され(ステップS29)、本振幅調整処理が終了する。そして、この調整されたMDCT係数のベクトル量子化で得られたインデックスに対し、図9のステップS9においてエントロピー符号化が施される。一方、ステップS28において、再生波形の最大振幅の方が大きいと判定された場合(ステップS28;NO)、本振幅調整処理が終了し、図9のステップS7のベクトル量子化で得られたインデックスに対し、エントロピー符号化が施される。
(変形例)
図10の振幅調整処理では、MDCT係数の調整後に、入力波形と再生波形の最大振幅の比較を行うようにしたが、以下では、図10の振幅調整処理の変形例として、MDCT係数の調整を、再生波形の最大振幅が入力波形の最大振幅より大きい場合にのみ行う場合の振幅調整処理について図11のフローチャートを参照して説明する。
まず、逆ベクトル量子化部11において、ベクトル量子化部7から出力されたインデックスに対する逆ベクトル量子化が行われ(ステップS40)、周波数逆変換部12において、逆ベクトル量子化で得られたベクトルに対し、逆MDCT(IMDCT)が施される(ステップS41)。
次いで、振幅比較部13において、入力波形に対する再生波形(逆MDCT後の信号)の最大振幅の比率が算出され(ステップS42)、入力波形の最大振幅が、再生波形の最大振幅より大きいか否かが判定される(ステップS43)。
ステップS43において、入力波形の最大振幅の方が大きいと判定された場合(ステップS43;YES)、本振幅調整処理が終了し、図9のステップS7のベクトル量子化で得られたインデックスに対し、エントロピー符号化が施される。
ステップS43において、再生波形の最大振幅の方が大きいと判定された場合(ステップS43;NO)、式(9)に示すように、元のMDCT係数Fiに最大振幅比率の逆数を乗算することにより、MDCT係数が調整される(ステップS44)。そして、調整されたMDCT係数F'iに対し、ベクトル量子化が施され(ステップS45)、本振幅調整処理が終了する。
以上のように、本実施形態の音声処理装置100によれば、入力波形に対する再生波形の最大振幅の比率の逆数を全てのMDCT係数に乗算して、再生波形の振幅が入力波形の振幅を超えないようにMDCT係数を調整することにより、簡易な処理で再生波形を調整することが可能となる。
特に、式(9)のように調整されたMDCT係数F'iに対し、ベクトル量子化、逆ベクトル量子化、逆MDCTを施し、逆MDCTにより得られた再生波形の最大振幅が入力波形の最大振幅より大きい場合は、調整前の元のMDCT係数Fiを用いてエントロピー符号化を行うことで、再生波形の振幅調整処理による悪影響を防ぐことができる。
また、図11に示す振幅調整処理のように、再生波形の最大振幅が入力波形の最大振幅より大きかった場合にのみMDCT係数を調整する処理では、再生波形の生成は一回のみであるため、音声圧縮に係る演算量を大幅に削減することができ、演算処理の高速化を図ることができる。
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
本発明の実施形態に係る音声処理装置の構成を示すブロック図。 入力信号のフレーム分割を示す図。 1フレームと各MDCTブロックの関係を示す図。 ハフマン符号の一例を示す図。 従来のレンジコーダによる符号化の一例を示す図。 本実施形態のレンジコーダ符号化に必要な生起確率テーブル81のデータ構成を示す図。 デフォルトの生起確率テーブル81の一例(同図(a))と、符号化の一例(同図(b))を示す図。 生起確率テーブル81の更新例を示す図。 本実施形態の音声処理装置において実行される音声圧縮処理を示すフローチャート。 図9に示された振幅調整処理の詳細を示すフローチャート。 図10の振幅調整処理の変形例を示すフローチャート。
符号の説明
1 A/D変換部
2 DC除去部
3 フレーム化部
4 レベル調整部
5 周波数変化部
6 周波数並べ替え部
7 ベクトル量子化部(第1のベクトル量子化部、第2のベクトル量子化部)
7a 高域用VQテーブル
7b 低域用VQテーブル
8 エントロピー符号化部
81 生起確率テーブル
9 レートコントローラ
10 データ削除部
11 逆ベクトル量子化部
12 周波数逆変換部
13 振幅比較部
14 係数調整部
100 音声処理装置

Claims (8)

  1. 入力された音声信号をフレームに分割するフレーム化部と、
    前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
    前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
    前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第1のベクトル量子化部と、
    前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、
    前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、
    前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、
    前記係数調整部により調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、
    前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記係数調整部により調整された周波数変換係数に対し、ベクトル量子化を施す第2のベクトル量子化部と、
    前記第2のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、
    を備えることを特徴とする音声処理装置。
  2. 前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする請求項1に記載の音声処理装置。
  3. 前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、
    前記第2のベクトル量子化部は、前記入力された信号の振幅の最大値が、前記周波数逆変換により得られた音声信号の振幅の最大値より大きい場合に、前記調整された周波数変換係数に対してベクトル量子化を施すことを特徴とする請求項1又は2に記載の音声処理装置。
  4. 入力された音声信号をフレームに分割するフレーム化部と、
    前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
    前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
    前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第1のベクトル量子化部と、
    前記第1のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、
    前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、
    前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、
    前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、
    前記係数調整部において調整された周波数変換係数に対し、ベクトル量子化を施す第2のベクトル量子化部と、
    前記第2のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、
    を備えることを特徴とする音声処理装置。
  5. 前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第1のベクトル量子化部により得られた周波数変換係数に対し、エントロピー符号化を施すことを特徴とする請求項4に記載の音声処理装置。
  6. 前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、
    前記係数調整部は、当該入力された音声信号に対する当該周波数逆変換により得られた音声信号の振幅の最大値の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することを特徴とする請求項4又は5に記載の音声処理装置。
  7. 入力された音声信号をフレームに分割し、
    前記フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
    レベルが調整された音声信号に対し、周波数変換を施し、
    前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、
    前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、
    前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、
    前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、
    前記調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、
    前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記調整された周波数変換係数に対し、ベクトル量子化を施し、
    前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする音声符号化方法。
  8. 入力された音声信号をフレームに分割し、
    フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
    レベルが調整された音声信号に対し、周波数変換を施し、
    前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、
    前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、
    前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、
    前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、
    前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、
    前記調整された周波数変換係数に対し、ベクトル量子化を施し、
    前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする音声符号化方法。
JP2004164488A 2004-06-02 2004-06-02 音声処理装置及び音声符号化方法 Active JP4054919B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004164488A JP4054919B2 (ja) 2004-06-02 2004-06-02 音声処理装置及び音声符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004164488A JP4054919B2 (ja) 2004-06-02 2004-06-02 音声処理装置及び音声符号化方法

Publications (2)

Publication Number Publication Date
JP2005345703A true JP2005345703A (ja) 2005-12-15
JP4054919B2 JP4054919B2 (ja) 2008-03-05

Family

ID=35498157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004164488A Active JP4054919B2 (ja) 2004-06-02 2004-06-02 音声処理装置及び音声符号化方法

Country Status (1)

Country Link
JP (1) JP4054919B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015357A (ja) * 2006-07-07 2008-01-24 Toshiba Corp 符号化装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015357A (ja) * 2006-07-07 2008-01-24 Toshiba Corp 符号化装置

Also Published As

Publication number Publication date
JP4054919B2 (ja) 2008-03-05

Similar Documents

Publication Publication Date Title
US7599833B2 (en) Apparatus and method for coding residual signals of audio signals into a frequency domain and apparatus and method for decoding the same
JP4800645B2 (ja) 音声符号化装置、及び音声符号化方法
JP4548348B2 (ja) 音声符号化装置及び音声符号化方法
JP6452759B2 (ja) 先進量子化器
US6593872B2 (en) Signal processing apparatus and method, signal coding apparatus and method, and signal decoding apparatus and method
JPH09127990A (ja) 音声符号化方法及び装置
JP4978539B2 (ja) 符号化装置、符号化方法及びプログラム。
JP2007504503A (ja) 低ビットレートオーディオ符号化
JP3344944B2 (ja) オーディオ信号符号化装置,オーディオ信号復号化装置,オーディオ信号符号化方法,及びオーディオ信号復号化方法
US20090210219A1 (en) Apparatus and method for coding and decoding residual signal
JP4259401B2 (ja) 音声処理装置及び音声符号化方法
JP4009781B2 (ja) 音声処理装置及び音声符号化方法
JP4359949B2 (ja) 信号符号化装置及び方法、並びに信号復号装置及び方法
JP4054919B2 (ja) 音声処理装置及び音声符号化方法
JP3237178B2 (ja) 符号化方法及び復号化方法
JPH05265499A (ja) 高能率符号化方法
JP4626261B2 (ja) 音声符号化装置及び音声符号化方法
JP2002091497A (ja) オーディオ信号符号化方法、復号化方法及びそれらの方法を実行するプログラム記憶媒体
JP2005128401A (ja) 音声処理装置及び音声符号化方法
JP2712925B2 (ja) 音声処理装置
JP4373693B2 (ja) 音響信号の階層符号化方法および階層復号化方法
JP3453116B2 (ja) 音声符号化方法及び装置
JP4024185B2 (ja) デジタルデータ符号化装置
JP2006126592A (ja) 音声符号化装置、音声復号装置、音声符号化方法及び音声復号方法
JP3747357B2 (ja) 楽音信号の符号化装置及び復号化装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071126

R150 Certificate of patent or registration of utility model

Ref document number: 4054919

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6