JP2004093946A - 音声符号化装置および音声符号化プログラム - Google Patents
音声符号化装置および音声符号化プログラム Download PDFInfo
- Publication number
- JP2004093946A JP2004093946A JP2002255476A JP2002255476A JP2004093946A JP 2004093946 A JP2004093946 A JP 2004093946A JP 2002255476 A JP2002255476 A JP 2002255476A JP 2002255476 A JP2002255476 A JP 2002255476A JP 2004093946 A JP2004093946 A JP 2004093946A
- Authority
- JP
- Japan
- Prior art keywords
- impulse response
- synthesis filter
- elements
- voice
- parallel
- 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
Links
Images
Abstract
【解決手段】領域11は聴感重み付け合成フィルタのインパルス応答の自己相関行列の有意な演算結果が設定される領域である。領域12は領域11の対称行列である領域である。領域13は仮想的な演算結果が設定される領域である。聴感重み付け合成フィルタのインパルス応答の自己相関行列演算に対して並列演算手段を高頻度で割り当てて実行させる。そのために聴感重み付け合成フィルタのインパルス応答要素を記憶領域中に連続して格納する。更に、聴感重み付け合成フィルタのインパルス応答要素に連続して仮想の聴感重み付け合成フィルタのインパルス応答要素を格納する。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は音声符号化装置および音声符号化プログラムに係わり、たとえば電話端末や電話交換機で音声の符号化を行う音声符号化装置および音声符号化プログラムに関する。
【0002】
【従来の技術】
近年、携帯電話機の爆発的な普及に伴って伝送路を流れる音声トラフィック量が急激に増大している。この増大しているトラフィックに対応するために通信事業者は伝送設備の増強を行っている。しかしながら伝送設備の増強には多大なコストが必要であるため無尽蔵に増強することはできない。
【0003】
また近年の通信の分野ではアナログ信号を送受するアナログ通信に代わり、ディジタル信号を送受するディジタル通信が主流である。ディジタル通信は、雑音の影響を受けにくい点や複数の信号を多重しやすい点でアナログ通信よりも優れているため急速に普及してきた。電話機を用いた電話システムにおいてもこの傾向は同じであり、アナログ信号である音声信号をディジタル化して送受することが主流となっている。
【0004】
アナログ信号をディジタル信号に変換するためには標本化と量子化および符号化が必要である。標本化とは時間的に連続な信号波形を時間的に離れた時点の値で表現することである。また量子化とは波形の値を有限個の値の中の1つで近似的に表現することである。そして符号化とは具体的にどのように表現するかということで、通常は2進数で表現する。
【0005】
アナログ信号である音声信号をディジタル化する技術としては、従来より波形の振幅をサンプリング定理に基づいて量子化する線形パルス符号化(Pulse CodeModulation:PCM)技術がよく知られている。この線形パルス符号化はアナログ信号を一様なステップで量子化するもので、通常“A/D変換”と呼ばれているものと同じである。
【0006】
電話端末を用いて通話を行うシステムに対して利用者が求める大きなポイントは、“誰とでもいつでもつながること”と“明瞭に会話ができること”である。このうちの“誰とでもいつでもつながること”を必ず実現しようとすると、すべての電話端末同士の接続の組み合わせに対する伝送路を予め確保しておく必要がある。しかしこれは膨大な組み合わせ数となる上に実際に通話をしていない場合であっても伝送路を占有することになり、経済性を大きく損ねることになるため現実的ではない。そこで伝送路を予め確保しておくことは行わずに、接続が必要となってから空いている伝送路を探してこれを確保して使用するようにしている。つまり伝送路は複数の利用者の共有資源という位置付けになる。したがって他の利用者によって伝送路が完全に占有されている場合には新たな接続を確立させることができないが、伝送路に空きが残っていれば新たな接続を確立することができる。つまりそれぞれの接続を確立するために必要な伝送路の占有量を小さくすることができれば、数多くの接続を同時に確立することができる。そこでそれぞれの接続が占有する伝送路の容量を小さくする技術が検討されている。
【0007】
また“明瞭に会話ができること”が実現されるためには互いの音声信号ができるだけ元の信号から変化することなく相手に届けられる必要がある。音声信号を伝送のためにディジタル化するにあたって、その音声信号の変化を小さくするためには標本化と量子化と符号化をできるだけ細やかに行う必要がある。標本化の細やかさは時間的な離れ度合いを小さくすることで実現できる。つまりこれは標本化の周期を短くすることになる。また量子化の細やかさは波形の値を表現する有限個の近似的な値の変化ステップを小さくするとともに値の個数を多くすることで実現できる。つまり量子化のステップを小さくするとともに、近似値の範囲と近似値を表現する符号の取りうる値の範囲を大きくすることが必要である。
【0008】
標本化の周期を短くすることによって単位時間当たりの標本の数は増加する。また量子化のステップを小さくして近似値を表わす符号の範囲を大きくすることによって符号の桁数あるいはビット数も増大する。伝送する情報の量は単位時間当たりの標本の数と符号の桁数あるいはビット数の積に比例するので、“明瞭に会話できること”を実現しようとすると伝送する情報の量が増大することになる。ところがこれは“誰とでもいつでもつながること”を実現するために必要である“それぞれの接続を確立するために必要な伝送路の占有量を小さくすること”とは相反した要求である。
【0009】
そこでこれらの相反した要求を同時に満足するために、増大した音声情報を伝送する際に情報量を小さくする音声符号化の技術が検討されている。
【0010】
なお伝送する音声の情報量を小さくするためには、音声符号化を行う前に不必要な情報を伝送する情報に入れ込まないことも重要である。標本化周期については音声情報をディジタル化するにあたって必要十分な細かさに限定すれば伝送する情報量を小さくすることができる。一般に電話機で通話を行うのに必要な周波数帯域の上限は4キロヘルツと言われている。つまり4キロヘルツの信号まで再現可能な標本化周期で標本化を実施すればよい。この場合の標本化周期はシャノンの定理により2倍の8キロヘルツである。
【0011】
量子化については音声振幅の統計的な性質を用いて振幅を対数変換して圧縮する技術がある。対数変換の公式としてはμ則またはA則と呼ばれる式が広く活用されている。この対数圧縮によって同じ量子化ステップ数で音声波形を細やかに量子化することができる。更に音声振幅の変化の特性に合わせて量子化のステップ幅を時間的に変化させる適応量子化と呼ばれる技術がある。
【0012】
また音声信号には周期性があるため隣接した標本間で相関がある他に、離れた標本間でも相関があるという特性がある。隣接した標本間の差分、あるいはその相関を利用して予測した値と実際の標本値の予測差分を符号化することによって情報を圧縮することができる。単純に差分を伝送する技術として差分量子化(Differentioal Pulse Code Modulation:DPCM)技術がある。この差分量子化技術の中には、差分を“0”あるいは“1”のいずれかしか取り得ないものがある。これはデルタ変調(Delta Modulation:DM)と呼ばれるものであり、量子化した直前のデータと現データとの差分が一定の値を超えている場合には“1”を伝送し、それ以外の場合には“0”を伝送する。これにより伝送に必要な差分情報の情報量を非常に小さく抑えることができる。また予測差分を伝送する技術の例としては適応差分量子化(Adaptive Differntioal Pulse Code Modulation:ADPCM)技術がある。適応差分量子化技術を用いて符号化したデータは元データの半分程度にまで圧縮することができる。
【0013】
また、音声波形や音声の周波数成分情報等をディジタル化する際にそれぞれの標本化値ごとに量子化せずに複数の標本化値の組をまとめて1個の符号で表現する量子化技術がある。これはベクトル量子化と呼ばれるもので、複数の情報をまとめて1個の符号で表現することによって情報を圧縮することができる。
【0014】
これまで説明した差分量子化技術や適応差分量子化技術は、音声信号の波形そのものをできるだけ忠実に表現しようとする技術である。これとは別に音声というものがいかにして生成されるのかをモデル化して、この生成モデルに基づいて音声をパラメータに変換して表現する“分析合成技術”と呼ばれる技術がある。音声の分析合成技術を用いた通信では音声信号波形そのものを伝送する代わりに音声を合成して作り出す際に必要な音源の性質を表わす情報と、その音源の出力信号に周波数フィルタ処理を行う際の周波数フィルタの性質を表わす情報を符号化して伝送する。この符号化された信号を受信した側では符号を復号して元の情報に変換した後、音源の性質を表わす情報と周波数フィルタの性質を表わす情報を基に音声信号を合成して再現する。
【0015】
音声は声帯が振動することによって生じる周期性をもった有声音と、空気の流れによって生じる周期性をもたない無声音で構成されている。つまりこれらの周期性をもった音源情報と周期性を持たない音源情報の両方を伝送する必要がある。また人の声帯で生成された空気の振動は、のどや口の中といった太さの異なる複数の管を通った後に放射される。これは声帯で生成した信号に複数の周波数フィルタをかけて出力信号を得ていることに相当する。そこでこの信号通過経路を複数の周波数フィルタを合成した“合成フィルタ”と考える。この合成フィルタの性質は複数の周波数についての、その周波数フィルタの入出力特性で表わすことができる。
【0016】
人の声が言葉として聞き分けられているということは、音声信号が時間の経過とともに変化しておりその変化を感じ取っていることになる。つまりこの音声信号の音源の性質とフィルタの性質も時間の経過とともに変化しており一様ではない。したがって分析合成技術を用いた音声信号の伝送においても、この時間の経過とともに変化した、それぞれ異なった情報を逐一伝送する必要がある。
【0017】
音声の分析合成技術の例としてマルチパルス符号化と呼ばれる技術がある。マルチパルス符号化技術は入力音声信号を分析して、この入力音声信号を構成する周波数帯ごとの強弱を示すスペクトル包絡情報と音源情報とを抽出して伝送し、受信側でこの情報を元に音声を合成する技術である。スペクトル包絡情報は一般的に線形予測分析を用いて求められる。また、ここでの音源情報は入力音声信号からスペクトル包絡情報を除いた残差信号と呼ばれるもので、振幅と位置に自由度のある複数パルスからなるパルス列によって表わされる。このマルチパルス符号化技術を用いて伝送効率を改善する提案には、たとえば特開平4−84200公報に示されたものがある。また、音声の分析合成技術の他の例として符号励振線形予測(Code Excited Linear Prediction Audio Codes:CELP)と呼ばれる技術がある。
【0018】
図7は、符号励振線形予測技術を用いた装置の例として2台の携帯電話端末の音声入出力部分を表わしたものである。ここでは符号励振線形予測技術の概要を説明する。通常それぞれの携帯電話端末には音声を符号化する音声符号化装置と符号化された信号を音声に復号する音声復号化装置の両方が搭載されている。しかし、ここでは説明を容易にするために音声を送信する側に音声符号化装置101のみを示し、音声を受信する側に音声復号化装置102のみを示している。音声を送信する側では利用者が発した音声を携帯電話端末のマイクロフォン103で検出し、これを電気信号に変換して音声符号化装置101の音声入力手段104に入力する。音声入力手段104は音声を所定の周期で分割した音声信号105を生成する。分割された音声信号105は、線形予測分析器106に入力され線形予測分析が実施されて周波数フィルタ特性107が求められ、合成フィルタ108に入力される。この周波数フィルタ特性107に基づいて合成フィルタ108は、入力された音声信号105のもつフィルタ特性の反映された周波数フィルタとして動作する。また、合成フィルタ108には音源として用いることができる信号のパターンが各種格納されている符号帳109から、聴感重み付け誤差最小化器110からの制御信号に従って、音源に相当する音源信号111が入力される。符号帳109にはこの音源として用いることができる信号のパターンが各種格納されており、コードブックとも呼ばれている。また、符号帳109に格納された各種信号のパターンには、それぞれ符号が付与されている。入力された音源信号111は、周波数フィルタ特性107が反映された合成音声信号112となる。また音声信号105は、加算器113にも入力され合成音声信号112と加算される。この時、合成音声信号112を加算器113の負の入力とすることによって、加算器113からの出力信号は、音声信号105と合成音声信号112との差分信号114となる。この差分信号114が最小となる符号帳の出力を探索するために、聴感重み付け誤差最小化器110は、符号帳109に対して新たな音源信号111の出力を要求する。この要求を繰り返して、差分信号114が最小となった際に符号帳109から出力された音源信号111に付与されていた符号115が、伝送路116に対して出力される。また、これと併せて線形予測分析器106から出力された周波数フィルタ特性107が伝送路116に対して出力される。
【0019】
音声を受信する側の音声復号化装置102は、符号帳117と合成フィルタ118と合成の完了した音声に周波数ごとの強弱を付加するポストフィルタ119で構成されている。伝送路116から受信した符号121は、音声を送信する側が送信した符号115と同一のものである。また、伝送路116から受信した周波数フィルタ特性122は、音声を送信する側が送信した周波数フィルタ特性107と同一のものである。音声復号化装置102は伝送路116から受信した符号121を符号帳117に入力して得た音源信号123を合成フィルタ118に入力する。符号帳117は、音声を送信する側がもつ符号帳109と同一のものであり、同じ符号が符号帳に入力された場合に出力される音源信号は同じものとなる。この音源信号123は、伝送路116から受信した周波数フィルタ特性122に従って周波数入出力特性が調整された合成フィルタ118に入力されて、合成音声124が出力される。この合成音声124はポストフィルタ119に入力されて周波数ごとの強弱を加えられて聴感上聞き取り易い合成音声125に変換された後スピーカ120から出力されるようになっている。
【0020】
このように符号励振線形予測では、あらかじめ種々の音源のパターンを蓄えておきそれぞれに符号を割り当てておく。音声符号化装置に入力された音声信号は一定の時間間隔ごとに区切られて、線形予測分析によって周波数スペクトル包絡を求め、これに基づいた合成フィルタの係数が求められる。符号帳の各音源のパターンに対して、この合成フィルタの係数を入力パラメータとした合成フィルタ処理を行い合成音声を生成する。この合成音声と入力された音声信号を比較して、最も誤差の小さかった音源のパターンに割り当てられている符号を入力された音声信号に対応する符号として用いる。符号帳のもつ音源のパターンを細やかにかつ種類を豊富に作成する程、入力音声信号との類似度の高いパターンを選択できる可能性が高まり、音声の再現性も高まる。しかし膨大な数のパターンを作成して、これを音声符号化装置に記憶させることは装置の記憶媒体の増大と比較処理量の増大に繋がるため限度がある。そこでこのパターンを代数的に生成して、少ない記憶媒体量で多種のパターンを代替する技術が提案されている。この技術を用いた符号励振線形予測は代数符号励振線形予測(Algebraic Code Excited Linear Prediction:ACELP)と呼ばれ、携帯電話システムにおいて利用されている。この代数符号励振線形予測を更に少ない記憶媒体量で実現する提案は、たとえば特表平10−502191に示されている。
【0021】
音声信号を符号化する技術とこれを元に戻す復号化技術は、対になったものが詳細に規定されていなければ正しく元の音声信号を再現することができない。またこの符号化技術を多くの機器に普及させるためには、その詳細な仕様が広く認知される必要がある。そこで符号化技術は標準化組織のもとで詳細が規定されて、勧告として公開されている。このうち代数符号励振線形予測に関しては、国際的な標準化組織である“ITU”(International Telecommunication Union)において“ITU−勧告G723.1低レート方式(5.3kbit/sec)”として勧告化されている。また、別の国際的な標準化組織である“3GPP”(3rd Generation Partnership Project)において、“GSM−AMR”(Global System for Mobile Communications −Adaptive Multi−Rate Speech Transcoding)として勧告化されている。これらは代数符号励振線形予測を原理とする符号化技術であり大幅に符号量を削減しながら高品質な音声を再生できる技術として知られている。
【0022】
これらの音声信号の符号化技術は電話システムにおいて利用者が持つ携帯電話端末で用いられる他に、電話端末間の接続を仲介する電話交換機にも用いられる。電話交換機においては、異なった音声符号化技術を採用している電話端末同士の通話を成立させるために符号化された音声信号の相互変換を行う。そこで、異なった音声符号化技術間で共通に取り扱える信号に変換するために音声の符号化と復号化を行う必要がある。電話交換機は同時に多数の電話端末間の接続を仲介する装置であるため、音声符号化の相互変換を行う回路は同時に多数の電話端末に対応できるものでなければならない。
【0023】
図8は、符号励振線形予測技術を用いた音声符号化装置の要部を表わしたものである。この音声符号化装置を用いて、符号励振線形予測技術の概要を説明する。この音声符号化装置はフィルタ部位131と音源部位132と比較器部位133で構成されている。フレーム分割された音声信号134はまずフィルタ部位131に入力されて線形予測分析および量子化器135によって線形予測分析が行われて周波数フィルタ特性が求められた後、この周波数フィルタ特性が量子化される。量子化された周波数フィルタ特性は合成フィルタ136に入力されて入力音声のもつフィルタ特性をもったフィルタが形成される。
【0024】
音源部位132は、音声のもつ声の高さに相当する周期成分の信号を生成する音源となる適応コードブック137と音声のもつ周期成分以外の信号を生成する音源となる雑音コードブック138をもつ。そしてこれらの音源から出力された信号の振幅を制御するためのゲインコードブック139と、適応コードブック137の生成した信号の振幅を調整する適応コードブック信号増幅器140と、雑音コードブック138の生成した信号の振幅を調整する雑音コードブック信号増幅器141をもつ。振幅の調整されたこれらの音源信号は、音源加算器142によって加算された後、フィルタ部位131の合成フィルタ136に入力されて周波数ごとの強弱を付加された合成音声143として生成される。
【0025】
比較器部位133には音声信号134と合成音声143が入力されて、加算器144で加算される。ここで合成信号143を負の形式で入力することで差分を求める。この差分に対して聴感重み付けフィルタ145によって、聴感上の聞こえにくい周波数成分を強めるとともに、聴感上聞こえやすい周波数成分を弱めるフィルタ処理を行う。この処理によって人の聴感上で冗長な情報を削減し情報量を低減させる。この後誤差最小化器146は、合成音声143と音声信号134の最小二乗誤差を算出することで誤差を求めると共に、音源部位132のそれぞれのコードブックに対して別の信号出力を実行させる。この処理を繰り返し実行し、誤差が最小となった際のコードブックからの出力信号が目標の信号であるとみなし、この信号に付与されている符号を音声符号化装置の出力として得る。この、コードブックから目標の出力信号を見つけ出す処理は“パターン探索”、“パルス探索”あるいは“コードブック探索”等と呼ばれている。
【0026】
図9は、人の聴感上で知覚されにくい情報を省き冗長な情報を削除する周波数ごとの強弱処理を行う聴感重み付けを実施した聴感重み付け音声信号と聴感重み付け合成音声信号とこれら2つの音声信号の誤差信号をベクトルで表わしたものである。ここで聴感重み付け音声信号151をr、聴感重み付け合成音声信号152をGHνξとすると、誤差信号153はr−GHνξとして表わすことができる。ここで音声符号化に関する勧告の一例である“ITU勧告G723.1”の記述を用いて代数符号励振線形予測で行うパターン探索原理を詳しく説明する。パターン探索は入力音声信号と合成音声信号の平均二乗誤差Eξを求めて、この誤差が最小となるパターンを目的のパターンとするものである。この平均二乗誤差を求める演算を次の(1)式に示す。
【数1】
【0027】
ここで、聴感重み付け音声信号rと聴感重み付け合成音声信号GHvξの誤差を最小にすることは、(1)式の平均二乗誤差Eξを最小にすることと同じである。(1)式の右辺を展開して、次の(2)式に表わす。
【0028】
Eξ=(r)×(r−GHνξ)−(GHνξ)×(r−GHνξ)……(2)
【0029】
この時に誤差が最小となる条件を図9で誤差信号153を表わしている“r−GHνξ”で考えると、聴感重み付け合成音声信号152と誤差信号153のなす角度が直角であるとき誤差が最小となることがわかる。これはベクトルが直交する時それらのベクトルの内積が“0”である原理に基づいている。したがって、誤差が最小であるとき(2)式の第2項は“0”となる。ここで、GHνξのGはコードブックの各パターンから生成される音源信号に与える利得に相当するコードブック利得を示す。また、νξはインデクスξにおけるパターンを表わす代数的符号語を示す。また、Hは音声信号線形予測分析して求めたスペクトル包絡情報に聴感重み付けを行った合成フィルタに、広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答を示す合成フィルタのインパルス応答を要素とする行列を示す。これはインパルス応答要素h(n)を、対角がh(0)、低位の対角がh(1)、・・・、h(L−1)の下三角テプリッツ畳み込み行列の形式にしたものである。ここでnは、入力音声信号を一定時間で区切って標本化した際の各標本のインデクス値と等しいものである。また、Lは入力音声を一定時間に区切った1区間内の標本の数である。テプリッツ行列とは、対称でかつ対角線に平行な線上の要素がすべて等しい性質をもっている行列をいう。また、下三角畳み込みとは行列の対角線より下の三角形の領域に要素を設定して、それ以外の領域には“0”が設定されていることをいう。
【0030】
直行したベクトルの内積が“0”であるという原理に基づき、(2)式の第2項を“0”とする。更に平均二乗誤差“Eξ=0”として、式の変形を行う。ここでパラメータを振ることができる唯一の要素であるコードブック利得Gについて(2)式を微分する。さらにこれをコードブック利得Gに関してまとめると、次の(3)式のように表わすことができる。
【数2】
【0031】
これを(1)式に代入すると平均二乗誤差Eξは、次の(4)式のように求められる。
【数3】
【0032】
この平均二乗誤差Eξを最小化するには、(4)式の第2項を最大化すればよい。そこで(4)式の第2項をτξとすると、次の(5)式が求められる。
【数4】
【0033】
ここでは(4)式からこの(5)式を求めるにあたり、次の(6)式を用いた。ここでdは聴感重み付け音声信号と聴感重み付け合成フィルタのインパルス応答の相関を表わすベクトルである。
【0034】
d=HTr ……(6)
【0035】
また、(4)式から(5)式を求めるにあたり、次の(7)式を用いる。Φは聴感重み付け合成フィルタのインパルス応答の共分散行列である。
【0036】
Φ=HTH ……(7)
【0037】
そして、このベクトルdと行列Φをコードブック探索に先だって演算によって求める。このベクトルdのそれぞれの要素は、次の(8)式で表わすことができる。
【数5】
【0038】
ここで“j”は“0”以上でかつ“N−1”以下である。また、“N”は聴感重み付け合成フィルタのインパルス応答の要素数であり、また音声をフレーム分割した際の1フレームあたりの標本数である。そして“n”と“i”と“j”は聴感重み付け合成フィルタのインパルス応答の要素と標本化された音声の要素と聴感重み付け合成フィルタのインパルス応答の共分散行列の要素をインデクスするための値である。
【0039】
また、行列Φ(i,j)は次の(9)式で表わすことができる。
【数6】
【0040】
ここでiは“0”以上でかつ“N−1”以下であり、iはj以下である。
【0041】
この“ITU勧告G723.1”の例では、パターン探索は4本のパルスの位置と極性を探索する。そのために、それぞれのパルス位置に対応した4重のループ処理が実行される。そして、それぞれのループ処理によって新しいパルスの寄与分が加算される。そこで、(5)式の相関Cは以下の(10)式で表わすことができる。
【0042】
C=α0d[m0]+α1d[m1]+α2d[m2]+α3d[m3]……(10)
【0043】
ここで、mkはk番目のパルスの位置を示しており、αkはk番目のパルスの極性を示している。また、ベクトルdは(8)式にて求めた値である。
【0044】
ここで探索しているパルスは、振幅が零でないことを意味する“非零パルス”と呼ばれるものである。この非零パルスの1サブフレームあたりの本数は、それぞれの代数符号励振線形予測技術の種類ごとに定められている。そして、決められたパルス位置の複数の候補の中から演算によって最適な位置を決定する。一例として示した勧告G.723.1で規定されている2種類の伝送速度のうちの低ビットレートの場合、(10)式に4個の項がありそれぞれがパルスの位置を示しているように非零パルスの本数は最大4本である。また、勧告G.723.1ではフレーム長が30ミリ秒、フレームを4分割したサブフレーム長が7.5ミリ秒、サンプリング周波数が8キロヘルツなので、1サブフレーム中のサンプル数は“60”となる。非零パルス位置候補は、演算量削減のために偶数番目のみと考えている。非零パルス部分以外は計算をしないことにより、演算量を大幅に低減している。サンプル数“60”の中の偶数番目は30本あり、この中から4本を選ぶため、それぞれは8カ所の中から選ぶものとする。つまり4本の非零パルスはおのおの8カ所の位置候補のうち最適な場所を演算で選ぶ。しかし“8カ所”の4倍は“32カ所”となり、“30”を“2”超過している。この時の3番目と4番目のパルスはフレーム内に収まらずに、結果としてパルスの本数が減ることもあり得る。この時は、非零パルスの本数は4本よりも少なくなる。別の例として、勧告のGSM−AMRでは8種類の伝送速度(ビットレート)が存在し、非零パルスの本数は、一部重複するものを含めて6種類のパターンがある。
【0045】
(5)式における偶数パルス位置にパルスのあるパターンのベクトルのもつエネルギーを求める。このエネルギーεは、次の(11)式で表わすことができる。
【0046】
ε=Φ(m0,m0)
+Φ(m1,m1)+2α0α1Φ(m0,m1)
+Φ(m2,m2)+2[α0α2Φ(m0,m2)+α1α2Φ(m1,m2)]
+Φ(m3,m3)+2[α0α3Φ(m0,m3)+α1α3Φ(m1,m3)+α2α3Φ(m2,m3)] ……(11)
【0047】
演算量を削減するために、パルスは偶数番目に存在するものと仮定して計算を行い、奇数番目のパルス位置にパルスのあるパターンのベクトルについては、近似を用いて算出する。奇数番目のパルス位置にパルスのあるパターンのベクトルを計算するために、ベクトルd[j]と対称行列Φ(m1,m2)を変形して、新たに式s[j]を定義してベクトルd’[j]を構成する。
【0048】
s[2j]=s[2j+1]=sign(d[2j])
|d[2j]|>|d[2j+1]|の場合
s[2j]=s[2j+1]=sign(d[2j+1])
それ以外の場合 ……(12)
【0049】
d’[j]=d[j]×s[j] ……(13)
Φ’(i,j)=s[i]×s[j]×Φ(i,j) ……(14)
【0050】
ここで、(13)式におけるベクトルd’[j]と(14)式における対称行列Φ’(i,j)は、ベクトルd[j]と対称行列Φ(i,j)に、式s[j]を用いてパルスの極性要素を取り込んだものである。そのため、(10)式と(11)式では、すべてのパルスの極性αは“1”とみなすことができる。したがって、(10)式と(11)式は、以下の(15)式と(16)式のように表わすことができる。
【0051】
C=d’[m0]+d’[m1]+d’[m2]+d’[m3]……(15)
ε=Φ’(m0,m0)
+Φ’(m1,m1)+2Φ’(m0,m1)
+Φ’(m2,m2)+2[Φ’(m0,m2)+Φ’(m1,m2)]
+Φ’(m3,m3)+2[Φ’(m0,m3)+Φ’(m1,m3)+Φ’(m2,m3)]……(16)
【0052】
ここで求められたエネルギーεと(15)式で求めた相関Cを更に式(5)のエネルギーεξと相関Cξに代入し、相関エネルギー比τξが最小となるパルス位置を求めることがパターン探索の原理である。この原理に従ったパターン探索を行うために、代数符号励振線形予測技術では、聴感重み付け合成フィルタのインパルス応答h(n)を用いた下三角テプリッツ畳み込み行列Hと、下三角テプリッツ畳み込み行列Hの転置行列との相関演算で、N行N列の二次元行列Φ(i,j)を算出している。
【0053】
代数符号励振線形予測のうちの勧告GSM−AMRを例として、音声符号化処理を具体的な数値を用いて説明する。勧告GSM−AMRで音声信号を符号化する単位は、5ミリ秒の時間幅をもったサブフレームである。フレームは、サブフレームを4個まとめた20ミリ秒の時間幅をもっている。標本化周期は8キロヘルツなので、1つのサブフレーム中のサンプル数Nは“40”となる。これらの40個のサンプルについて、パターン探索処理を実施することになる。
【0054】
パターン探索を行うにあたり、まず符号器のもつ聴感重み付け合成フィルタのインパルス応答h(n)を用いた下三角テプリッツ畳み込み行列Hと、行列Hの転置行列の相関演算を実施し、N行N列の二次元行列Φ(i,j)を求める。ここでサンプル数Nが40であるので、N行N列の二次元行列Φ(i,j)の要素数は“40×40”の1600個となる。また、40個の要素をインデクスする値となる“n”の値の範囲は0〜39となる。
【0055】
二次元行列Φ(i,j)は、(9)式に“n”の値の範囲を反映させて、次の(17)式で表わすことができる。
【数7】
【0056】
ここでjはi以上であり、iは“0”以上でかつ“39”以下である。
【0057】
これらの演算を、N行N列の二次元行列Φ(i,j)の要素数分行わなければならない。しかしこの行列は下三角テプリッツ畳み込み行列であり、対称行列である性質を用いて各要素の算出をNの二乗個の演算で求めるのではなく、“N(N+1)/2”個の演算で求めている。このように、パターン探索に関しては演算量削減の各種の提案が行われている。
【0058】
たとえば、特開平11−327599公報では符号励振線形予測技術を用いた音声符号化装置でコードブックからパターン探索する際に用いる聴感重み付け合成フィルタのインパルス応答行列の長さを音声の周期成分の2分の1以下の長さに短縮している。つまりインパルス応答行列の長さを短縮することで、インパルス応答行列の相関演算量を削減している。そして、この削減した部分は近似処理を行うことで置き換えている。しかしこの近似処理を用いた置き換えは、近似処理をせずに相関演算を行った場合とは異なった結果となる可能性があり音声品質を劣化させる要因となりかねず、また、各勧告とのビットイグザクトを保証できなくなる恐れがある。
【0059】
また、特開平03−189700公報では符号励振線形予測技術を用いた音声符号化装置でコードブックからパターン探索に用いる聴感重み付け合成フィルタのインパルス応答行列の相関行列の演算を初期要素のみに対して行っている。そして、それ以外の要素については1つ前に求めた要素を基に再帰的に求めている。これにより演算の重複を削減して演算量を削減している。しかしこの再帰的な演算は、再帰的な演算をせずに相関演算を実施した場合とは異なった結果となる可能性があり音声品質を劣化させる要因となりかねず、また、各勧告とのビットイグザクトを保証できなくなる恐れがある。
【0060】
【発明が解決しようとする課題】
以上説明したように、符号励振線形予測技術を用いた音声符号化装置では少ない伝送情報量で高品質な音声を再生することが可能である。しかしながら音声のもつ特徴を抽出しこれを表現するのに適切な情報を符号帳から求めるために大量の演算を短時間で実施しなければならない。特に、数多くの電話端末に対する音声符号化処理を行う電話交換機等の集線装置では、この大量の演算を更に数多くの電話端末数分実施しなければならない。そこで、これを賄うために多数の動作周波数の高いプロセッサを備えるか、あるいは更に動作周波数の高いプロセッサを備えなければならなかった。
【0061】
そこで本発明の目的は動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる音声符号化装置および音声符号化プログラムを提供することにある。
【0062】
【課題を解決するための手段】
請求項1記載の発明では、(イ)通話者が発する音声を入力する音声入力手段と、(ロ)この音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、(ハ)この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、(ニ)この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、(ホ)このインパルス応答取得手段によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、(ヘ)この並列演算手段による並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、(ト)この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素をL個を越える要素数に拡張して並列演算を実施する演算要素拡張手段と、(チ)繰り返し手段と演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、(リ)インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、(ヌ)自己相関値選択手段によって選択した有意な自己相関値と相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析手段と、(ル)この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として通話者の通話相手に向けて出力する出力手段とを音声符号化装置に具備させる。
【0063】
すなわち請求項1記載の発明では、まず分割手段によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の2つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成手段でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はL個(Lは自然数)の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算手段でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がL個の場合、その自己相関値の個数はL×L個である。Lの値はフレーム分割されている音声の標本数と同じで、これは一般的に40〜60である。したがって、自己相関値の個数であるL×Lの値は1600〜3600に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算手段を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張手段で合成フィルタのインパルス応答の要素を仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【0064】
請求項2記載の発明では、(イ)通話者が発する音声を入力する音声入力手段と、(ロ)この音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、(ハ)この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、(ニ)この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、(ホ)このインパルス応答取得手段によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、(ヘ)この並列演算手段による並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、(ト)この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にL−1個の仮想的な合成フィルタのインパルス応答要素を追加拡張して並列演算を実施する演算要素拡張手段と、(チ)繰り返し手段と演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、(リ)インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、(ヌ)自己相関値選択手段によって選択した有意な自己相関値と相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析手段と、(ル)この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として通話者の通話相手に向けて出力する出力手段とを音声符号化装置に具備させる。
【0065】
すなわち請求項2記載の発明では、まず分割手段によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の2つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成手段でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はL個(Lは自然数)の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算手段でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がL個の場合、その自己相関値の個数はL×L個である。Lの値はフレーム分割されている音声の標本数と同じで、これは一般的に40〜60である。したがって、自己相関値の個数であるL×Lの値は1600〜3600に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算手段を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張手段で合成フィルタのインパルス応答の要素を仮想的にL−1個増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【0066】
請求項3記載の発明では、請求項1または請求項2記載の音声符号化装置で、並列演算手段は、1処理周期で並列演算を行うことが可能な最大数の並列演算を実施する最大並列演算手段を具備することを特徴とする。
【0067】
すなわち請求項3記載の発明では、並列演算処理は、最大並列演算手段によって1処理周期で並列演算を行うことが可能な最大数で並列演算を実施するようにしている。このため並列演算処理の能力を十分に引き出して処理に要する時間を短縮するようにしている。
【0068】
請求項4記載の発明では、コンピュータに、(イ)音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、(ロ)この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、(ハ)この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、(ニ)このインパルス応答取得処理によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成してその転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、(ホ)この並列演算処理による並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、(ヘ)この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素をL個を越える要素数に拡張して並列演算を実施する演算要素拡張処理と、(ト)繰り返し処理と演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、(チ)インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、(リ)自己相関値選択処理によって選択した有意な自己相関値と相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析処理とを実行させる。
【0069】
すなわち請求項4記載の発明では、まず、分割処理によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の2つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成処理でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はL個(Lは自然数)の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算処理でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がL個の場合、その自己相関値の個数はL×L個である。Lの値はフレーム分割されている音声の標本数と同じで、これは一般的に40〜60である。したがって、自己相関値の個数であるL×Lの値は1600〜3600に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算処理を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張処理で合成フィルタのインパルス応答の要素を仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【0070】
請求項5記載の発明では、コンピュータに、(イ)音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、(ロ)この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、(ハ)この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、(ニ)このインパルス応答取得処理によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成してその転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、(ホ)この並列演算処理による並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、(ヘ)この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素にL−1個の仮想的な合成フィルタのインパルス応答要素を追加拡張して並列演算を実施する演算要素拡張処理と、(ト)繰り返し処理と演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、(チ)インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、(リ)自己相関値選択処理によって選択した有意な自己相関値と相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析処理とを実行させる。
【0071】
すなわち請求項5記載の発明では、まず、分割処理によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の2つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成処理でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はL個(Lは自然数)の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算処理でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がL個の場合、その自己相関値の個数はL×L個である。Lの値はフレーム分割されている音声の標本数と同じで、これは一般的に40〜60である。したがって、自己相関値の個数であるL×Lの値は1600〜3600に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算処理を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張処理で合成フィルタのインパルス応答の要素を仮想的にL−1個増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【発明の実施の形態】
【0072】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0073】
図1は、本発明の一実施例における音声符号化装置を表わしたものである。この音声符号化装置は、フィルタ部位51と音源部位52と比較器部位53で構成されている。フレーム分割された音声信号54はまずフィルタ部位51に入力されて線形予測分析および量子化器55によって線形予測分析が行われて周波数フィルタ特性が求められた後、この周波数フィルタ特性が量子化される。量子化された周波数フィルタ特性は合成フィルタ56に入力されて入力音声のもつフィルタ特性をもったフィルタが形成される。
【0074】
音源部位52は、音声のもつ声の高さに相当する周期成分の信号を生成する音源となる適応コードブック57と音声のもつ周期成分以外の信号を生成する音源となる雑音コードブック58をもつ。そしてこれらの音源から出力された信号の振幅を制御するためのゲインコードブック59と、適応コードブック57の生成した信号の振幅を調整する適応コードブック信号増幅器60と、雑音コードブック58の生成した信号の振幅を調整する雑音コードブック信号増幅器61をもつ。振幅の調整されたこれらの音源信号は、音源加算器62によって加算された後、フィルタ部位51の合成フィルタ56に入力されて周波数ごとの強弱を付加された合成音声63として生成される。
【0075】
比較器部位53には音声信号54と合成音声63が入力されて、加算器64で加算される。ここで合成信号63を負の形式で入力することで差分を求める。この差分に対して聴感重み付けフィルタ65で、聴感上の聞こえにくい周波数成分を強めるとともに、聴感上聞こえやすい周波数成分を弱めるフィルタ処理を行う。この処理によって人の聴感上で冗長な情報を削減し情報量を低減させる。聴感重み付けフィルタ65で周波数成分の調整された信号は誤差最小化器66に入力される。誤差最小化器66は、合成音声63と音声信号54の最小二乗誤差を算出することで誤差を求めると共に、音源部位52のそれぞれのコードブックに対して別の信号出力を実行させる。この処理を繰り返し実行し、誤差が最小となった際のコードブックからの出力信号が目標の信号であるとみなし、この信号に付与されている符号を音声符号化装置の出力として得る。誤差最小化器66では、図示しないマイクロプロセッサを用いてこの最小二乗誤差を求める演算を行う。そのために合成フィルタ56がもつ周波数フィルタ特性に基づくインパルス応答の自己相関演算を行う。このインパルス応答の自己相関演算は演算量が膨大であり処理に要する時間が比較的長くなる傾向がある。そこで、この処理を効率良く短時間で実施するために以下の手法を用いる。
【0076】
図2は、聴感重み付け合成フィルタのインパルス応答h(n)の自己相関行列Φ(i,j)を示している。領域11は有意な演算結果が設定される領域である。また、領域12は領域11の対称行列である領域である。そして領域13はその後の演算には用いない仮想的な演算結果が設定される領域である。つまり、領域11と領域12をまとめて示した範囲14がその後の演算に必要な中間値であり、範囲15がその後の演算には用いない仮想的な値である。
【0077】
図2に示しているVA〜VFの値を以下に具体的に表わす。
VA=h(0)2 ……(18)
【0078】
VB=h(1)2+h(0)2 ……(19)
【0079】
【数8】
【0080】
VD=h(0)×h(1) ……(21)
【0081】
【数9】
【0082】
VF=h(0)×h(n−1) ……(23)
【0083】
この聴感重み付け合成フィルタのインパルス応答h(n)の自己相関行列Φ(i,j)の求め方を説明する。この行列はN行N列の下三角テプリッツ畳み込み行列であり、自己相関行列Φ(i,j)はN行N列の対称行列となる。対称行列である性質を利用して、Φ(i,j)を算出するにあたり全要素nの二乗個ではなく、“n×(n+1)/2”個を計算する。そして、要素Φ(i,j)と要素Φ(j,i)が等しいものである関係を利用して、実際の計算を行っていない要素部分を補間する。つまりこの行列Φ(i,j)は対称行列であるため、領域11と領域12の要素は、領域11のみを算出することですべてを得られる。各要素の算出は、図2の右下から矢印の方向に向けて累積して、積和を行う。矢印1本ごとにループ処理を繰り返して、掛け合わせるh(n)の値をずらしていく。1周目のループ処理によって、N項の対角線上の要素を算出する。第1項は、次の(24)式で表わすことができる。
h(0)2 ……(24)
【0084】
第2項は、次の(25)式で表わすことができる。
h(0)2+h(1)2 ……(25)
【0085】
以降第n項は、次の(26)式のように表わすことができる。
【数10】
【0086】
2周目のループ処理では、積算するh(i)を1つずらした“39”項を右下から左上の矢印方向に算出する。2周目のループ処理の第1項は次の(27)式で表わすことができる。
h(0)×h(1) ……(27)
【0087】
2周目のループ処理の第2項は、次の(28)式で表わすことができる。
h(0)×h(1)+h(1)×h(2) ……(28)
【0088】
そして2周目のループ処理の第n−1項は、次の(29)式で表わすことができる。
【数11】
【0089】
更にn周目のループ処理での第1項は、次の(30)式で表わすことができる。
h(0)×h(n−1) ……(30)
【0090】
以上の計算により図2の領域11の各要素を求めた後、領域11に含まれる行列の対角線部分に線対称となるように領域11の各要素を領域12に複写する。これによって行列Φ(i,j)の全要素を得ることができる。
【0091】
以上が行列Φ(i,j)を求める際の基本的な処理になる。これを演算時間を短縮するために以下の処理を行う。
【0092】
まず、N行N列の二次元行列で表わされていた自己相関行列Φ(i,j)を1次元配列oda[indk]として表わす。この1次元配列oda[indk]は、次の(31)式で表わすことができる。
【数12】
【0093】
ここで勧告GSM−AMRを具体例として、それぞれの変数の具体的な値とその範囲を示す。勧告GSM−AMRは、音声信号を一定長に区切ったフレーム長が20ミリ秒で、それを更に4分割して5ミリ秒のサブフレームとし、このサブフレームを1単位として符号化を行うものである。音声信号を標本化する周期は、音声信号処理で一般的な8キロヘルツである。1サブフレーム中の標本数は、5ミリ秒と8キロヘルツの積で求められ“40”標本となる。この標本数“40”が、自己相関を求めるN行N列の行列の、行と列のそれぞれの要素となる。つまりN行N列の行列とは、40行40列の行列であり、その行列の要素数は“40”と“40”の積の“1600”となる。この1600個の要素をもつ1次元行列をoda[indk]とするので、行列の1要素をインデクスする値として使用されるindkの値の範囲は0以上1600未満となる。式(31)のpの値は、1次元行列oda[indk]をインデクスするindkの値を、行の要素数“40”で除した際の商である。また式(31)のmの値は1次元行列oda[indk]をインデクスするindkの値を、行の要素数“40”で除した際の余りである。
【0094】
この1次元配列oda[indk]を算出する際に、聴感重み付け合成フィルタのインパルス応答の配列h(n)の範囲を拡張し、後の演算では使用しない値も含めて演算を行う。つまり、配列h(n)の拡張を実施しない場合であれば、h(0)×h(j)〜h(N−1−j)×h(N−1)の“N−j”回の演算を行うところを、h(0)×h(j)〜h(N−1)×h(N−1+j)のN回の演算を行う。具体的には、聴感聴感重み付け合成フィルタのインパルス応答の配列h(N−1)をh(2×N−1)に拡張する。つまり要素数をN個から“2×N−1”個に拡張する。但しこの拡張部分は演算で使用されはするが、演算結果が利用されるものではないため領域を宣言するのみで十分であり、要素の値を指定する必要はない。
【0095】
図3および図4は聴感重み付け合成フィルタのインパルス応答の配列h(n)の自己相関行列を求める処理を示したものである。
【0096】
まず、聴感重み付け合成フィルタのインパルス応答の配列h(n)の各要素の符号を求め、これを格納する。(図3ステップS51)
【0097】
図5は、聴感重み付け合成フィルタのインパルス応答の配列h(n)の符号ビットのみを取り出して格納する領域を表わしたものである。図5に示すように聴感重み付け合成フィルタのインパルス応答の配列h(n)の符号ビットのみを取り出して領域sig_n[0]と領域sig_n[1]に順番に格納する。sig_n[0]は下位8ビットを有意な領域として使用する。sig_n[1]は全32ビットを有意な領域として使用する。
【0098】
聴感重み付け合成フィルタのインパルス応答の配列の各要素を算出する際にh(i)の拡張した部分にはみ出す形で、常にN個の要素を算出する。図2の領域13が、このはみ出した部分である。この領域13は、後続の計算では不要となる。聴感重み付け合成フィルタのインパルス応答の自己相関を求める処理の前半は、各要素間の積算処理である。この積算は、“h(i)×h(j)”を“i”と“j”を漸増させながら実施する。聴感重み付け合成フィルタのインパルス応答の配列の要素数はN個なので、“i”の値の範囲は“0”以上で“N−1”以下である。また、“j”は“i”以上で“N−1”以下であるが、“i”の値にかかわらず“h(i)×h(j)”の演算をN回繰り返すことができるように、聴感重み付け合成フィルタのインパルス応答の配列h(i)に関して“j”の値の範囲を“i”以上で、“i+N−1”以下と拡張する。
【0099】
図3に戻って説明を続ける。聴感重み付け合成フィルタのインパルス応答の配列h(n)をインデクスする値である“i”と“j”を“0”で初期設定する。(ステップS52)
【0100】
聴感重み付け合成フィルタのインパルス応答の配列h(i)は、1データあたり16ビットの要素の配列であるものとする。これを記憶領域に連続して格納しておく。また、前記した図示しないマイクロプロセッサの演算器のもつ演算処理に使用する記憶領域であるレジスタのビット幅は128ビットであるものとする。そして演算器は1処理周期に最大4個の演算を並列して実行できるものとする。つまり演算器のレジスタに、連続した8個の16ビットデータを一括して読み込むことが可能である。したがって演算器への読み込み処理の1度目に聴感重み付け合成フィルタのインパルス応答h(i)〜h(i+7)を読み込み(ステップS53)、演算器への読み込み処理の2度目で聴感重み付け合成フィルタのインパルス応答h(j)〜h(j+7)を読み込む(ステップS54)。そして以下の4個の演算式(32)〜(35)を1処理周期で並列して実行する(ステップS55)。
【0101】
h(i)×h(j) ……(32)
【0102】
h(i+1)×h(j+1) ……(33)
【0103】
h(i+2)×h(j+2) ……(34)
【0104】
h(i+3)×h(j+3) ……(35)
【0105】
それぞれの演算は“16ビットデータ×16ビットデータ”であるから、それぞれの演算結果を格納するには“16ビット+16ビット”の最大32ビットの記憶領域が必要である。そこでこれら4個の演算結果を格納する記憶領域のビット幅は一律に“32ビット×4”とする。この“32ビット×4”の記憶領域を10個分連続して演算器のレジスタへの高速なデータ受け渡しが可能な128ビット幅の10個のレジスタファイルに確保する。4個の演算を実施した後、“i”の値に“4”を加算し、“j”の値に“4”を加算して次の演算処理に備える(ステップS56)。そして再度、4個の演算式(32)〜(35)を1処理周期で並列して実行する(ステップS57)。この処理を10回になるまで繰り返して(ステップS59:N)、それぞれの繰り返し処理のたびに“i”の値に“4”を加算して、“j”の値に“4”を加算する(ステップS58)。5回の繰り返しが完了すると(ステップS59:Y)、積算結果は合計で40個求められる。これを128ビットのレジスタファイル10個にそれぞれ4データずつ計40データを連続で格納する。そしてこの積算結果を用いて加算処理を行う。加算処理を行うにあたり、10個のレジスタファイルをインデクスするインデクス値を“0”で初期設定する(図4のステップS60)。
【0106】
図6は、これまでに実施した4個の並列積算をして求めた結果を用いて行う加算処理の対象となるレジスタと加算処理の流れを示すものである。この加算処理も、4個を並列して実行する。
【0107】
図6のレジスタ211〜213は、物理的には同一のレジスタであるが、処理サイクルの進展に伴う内容の変化を表わすためにそれぞれ別の符号を付している。レジスタ221〜223と、レジスタ231〜233についても同様である。また、各レジスタは128ビット幅で、それぞれ32ビットの4個のレジスタ要素で構成されている。たとえばレジスタ211はレジスタ要素311〜314で構成されており、レジスタ221はレジスタ要素321〜324で構成されている。また、レジスタ231は、レジスタ要素331〜334で構成されている。これらの各レジスタ要素についても、処理サイクルの進展に伴う内容の変化を表わすために、物理的には同一のレジスタ要素であるが処理サイクルごとに別の符号を付している。たとえば、レジスタ要素311とレジスタ要素315とレジスタ要素319は物理的には同一であり、同様にレジスタ要素321とレジスタ要素325とレジスタ要素329は物理的に同一である。他のレジスタ要素についても同様である。
【0108】
図4とともに加算処理の流れを説明する。加算を行う第1の処理サイクルでは、まずレジスタ211〜213の全レジスタ要素に対して、“0”を設定して初期化する(図4ステップS60)。そしてレジスタ211に積算結果の格納されているレジスタファイルをインデクス値でインデクスして求めた4個の積算結果を書き込む(図4ステップS61)。具体例を示すと、レジスタ要素314に“h(i)×h(j)”を書き込み、レジスタ要素313に“h(i+1)×h(j+1)”を書き込む。更に、レジスタ要素312に“h(i+2)×h(j+2)”を書き込み、レジスタ要素311に“h(i+3)×h(j+3)”を書き込む。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“1”を加算する(図4ステップS62)。この、加算結果の書き込みは、積算結果を格納した10個のレジスタファイルに順に上書きするものとする。このようにすることで、他のメモリアクセスをせずに32ビットデータを40個、後続の演算に引き継ぐ。
【0109】
加算を行う第2のサイクルでは、加算を行う第1のサイクルで設定したレジスタの内容を使用して加算を行う。レジスタ211と221のそれぞれの内容を加算してレジスタ222に書き込む。また、レジスタ212には加算を行う第1の処理サイクルでレジスタ211に設定した次の積算結果である32ビットデータを4個、128ビット分まとめて書き込む。レジスタ211のレジスタ要素311とレジスタ211のレジスタ要素312とレジスタ211のレジスタ要素313を加算した結果をレジスタ222のレジスタ要素325に設定する。またこれと並列して、レジスタ211のレジスタ要素312とレジスタ211のレジスタ要素313を加算した結果をレジスタ222のレジスタ要素326に設定する。またこれと並列して、レジスタ211のレジスタ要素313をレジスタ222のレジスタ要素327に設定する。また、これと並列して、レジスタ211のレジスタ要素314とレジスタ221のレジスタ要素321とレジスタ221のレジスタ要素324を加算して、レジスタ222のレジスタ要素328に設定する。更にこれらと平行して、レジスタ212のレジスタ要素315、316、317、318に対して、前のサイクルでレジスタ211に設定した積算結果の次の格納領域の4個を設定する(図4ステップS63)。この4個の積算結果は、レジスタファイルを現在のインデクス値でインデクスして求める。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“1”を加算する(図4ステップS64)。
【0110】
加算を行う第3の処理サイクルでは、加算を行う第2のサイクルで設定したレジスタの内容を使用して加算を行う。レジスタ212と222のそれぞれの内容を加算してレジスタ223に書き込む。また、レジスタ213には加算を行う第2の処理サイクルでレジスタ212に設定した次の積算結果である32ビットデータを4個、128ビット分まとめて書き込む。レジスタ222のレジスタ要素325とレジスタ222のレジスタ要素328を加算して、レジスタ233のレジスタ要素339に設定する。またこれと並列して、レジスタ222のレジスタ要素326とレジスタ222のレジスタ要素328を加算して、レジスタ233のレジスタ要素3310に設定する。またこれと並列して、レジスタ222のレジスタ要素327とレジスタ222のレジスタ要素328を加算して、レジスタ233のレジスタ要素3311に設定する。またこれと並列して、レジスタ222のレジスタ要素328を、レジスタ233のレジスタ要素3312に設定する。またこれと並列して、レジスタ212のレジスタ要素315とレジスタ212のレジスタ要素316とレジスタ212のレジスタ要素317を加算した結果をレジスタ223のレジスタ要素329に設定する。またこれと並列して、レジスタ212のレジスタ要素316とレジスタ212のレジスタ要素317を加算した結果をレジスタ223のレジスタ要素3210に設定する。またこれと並列して、レジスタ212のレジスタ要素317をレジスタ223のレジスタ要素3211に設定する。また、これと並列して、レジスタ212のレジスタ要素318とレジスタ222のレジスタ要素325とレジスタ222のレジスタ要素328を加算して、レジスタ223のレジスタ要素3212に設定する。更にこれらと並列して、レジスタ213の319、3110、3111、3112に、前のサイクルでレジスタ212に設定した積算結果の次の格納領域の4個の積算結果を設定する(図4ステップS65)。この4個の積算結果は、レジスタファイルを現在のインデクス値でインデクスして求める。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“1”を加算する(図4ステップS66)。そしてレジスタ233の値が書き込まれる128ビット幅のレジスタファイルへの書き出し先を1レジスタファイル分進める。
【0111】
この加算を行う第3の処理サイクルを更に9回繰り返して、合計10回行う(図4のステップS67:N)。これによって積算処理で求めた“10個×4データ”のすべてについて加算処理を行う。これによって、合計12サイクルの加算処理が実施されて、128ビットのレジスタファイルの10個に必要な40個の積和結果が格納されることになる(ステップS67:Y)。
【0112】
そして、この40個の積和結果のそれぞれに対して、あらかじめ格納しておいた領域sig_n[0]と領域sig_n[1]の符号を付加する(ステップS68)。
【0113】
以上の“4並列の積算を10回繰り返し、更に4並列の加算を12サイクル実施する、その結果に対して符号データを付加する”処理を、聴感重み付け合成フィルタのインパルス応答h(n)の要素数である“40”回繰り返す(ステップS69:N)。この繰り返しを実施する際に、聴感重み付け合成フィルタのインパルス応答h(n)をインデクスするインデクス値“i”に“0”を設定する。これとともに、繰り返しごとに聴感重み付け合成フィルタのインパルス応答h(n)をインデクスするインデクス値“j”の開始点を“1”ずつ進めるために、“j”に“1”を加算する(ステップS70)。この繰り返しが40回実施されることで、聴感重み付け合成フィルタのインパルス応答の自己相関行列Φ(i,j)の全1600個の要素を1次元配列の形式で求めることができる(ステップS69:Y)。
【0114】
このように、自己相関値演算を演算器のもつ並列演算手段で実施する。更にこの自己相関演算の繰り返しを極力切れ目無く実行する。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を演算で求めなくとも済むように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、格納領域の途中の領域を演算で求める必要が生じる場合もある。そこで、この演算が発生する頻度を低下させる。そのために、合成フィルタのインパルス応答の要素をL−1個仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加分の演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減効果でこれを補い、総合的に処理時間を短縮するようになっている。
【0115】
なお、本明細書でフレームとして表現しているものの中にはフレームのみでなくサブフレームも含まれていることは当然である。
【0116】
【発明の効果】
以上説明したように請求項1または請求項2記載記載の発明によれば、n個の並列演算が可能な並列演算手段に、入力音声から求めた聴感重み付け合成フィルタのインパルス応答の要素の自己相関演算を極力連続して実行させている。これによって並列演算手段の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【0117】
また、請求項3記載の発明によれば、並列演算手段は、1処理周期で並列演算を行うことが可能な最大数で並列演算を実施するようにしている。これによって演算器の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【0118】
更に、請求項4または請求項5記載記載の発明によれば、n個の並列演算が可能な並列演算処理に、入力音声から求めた聴感重み付け合成フィルタのインパルス応答の要素の自己相関演算を極力連続して実行させている。これによって並列演算処理の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【図面の簡単な説明】
【図1】本発明の一実施例における符号励振線形予測技術を用いた音声符号化装置の要部を示したブロック図である。
【図2】本実施例の聴感重み付け合成フィルタのインパルス応答の自己相関行列を示した説明図である。
【図3】本実施例の聴感重み付け合成フィルタのインパルス応答の配列h(n)の自己相関行列を求める積算処理の流れを示した流れ図である。
【図4】本実施例の聴感重み付け合成フィルタのインパルス応答の配列h(n)の自己相関行列を求める加算処理の流れを示した流れ図である。
【図5】本実施例の聴感重み付け合成フィルタのインパルス応答の配列h(n)の符号ビットを格納する領域を示した説明図である。
【図6】本実施例の並列加算処理の対象となるレジスタと加算処理を示すブロック図である。
【図7】符号励振線形予測技術を用いた音声符号化装置および音声復号化装置の要部を示したブロック図である。
【図8】符号励振線形予測技術を用いた音声符号化装置の要部を示したブロック図である。
【図9】音声信号とコードブックから探索する推定信号とこの2つの信号の差分をベクトル信号として表わした説明図である。
【符号の説明】
11 領域(有意な演算結果が設定される領域)
12 領域(領域11の対称行列である領域)
13 領域(仮想的な演算結果が設定される領域)
14 範囲(その後の演算に必要な中間値)
15 範囲(仮想的な値)
Claims (5)
- 通話者が発する音声を入力する音声入力手段と、
この音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、
この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、
このインパルス応答取得手段によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、
この並列演算手段による前記並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、
この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素をL個を越える要素数に拡張して前記並列演算を実施する演算要素拡張手段と、
前記繰り返し手段と前記演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、
前記インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、
前記自己相関値選択手段によって選択した有意な自己相関値と前記相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析手段と、
この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として前記通話者の通話相手に向けて出力する出力手段
とを具備することを特徴とする音声符号化装置。 - 通話者が発する音声を入力する音声入力手段と、
この音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、
この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、
このインパルス応答取得手段によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、
この並列演算手段による前記並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、
この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にL−1個の仮想的な合成フィルタのインパルス応答要素を追加拡張して前記並列演算を実施する演算要素拡張手段と、
前記繰り返し手段と前記演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、
前記インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、
前記自己相関値選択手段によって選択した有意な自己相関値と前記相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析手段と、
この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として前記通話者の通話相手に向けて出力する出力手段
とを具備することを特徴とする音声符号化装置。 - 前記並列演算手段は、1処理周期で並列演算を行うことが可能な最大数の並列演算を実施する最大並列演算手段を具備することを特徴とする請求項1または請求項2記載の音声符号化装置。
- コンピュータに、
音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、
この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、
このインパルス応答取得処理によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、
この並列演算処理による前記並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、
この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素をL個を越える要素数に拡張して前記並列演算を実施する演算要素拡張処理と、
前記繰り返し処理と前記演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、
前記インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、
前記自己相関値選択処理によって選択した有意な自己相関値と前記相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析処理
とを実行させることを特徴とする音声符号化プログラム。 - コンピュータに、
音声入力手段で入力された音声をL個(Lは自然数)の標本を持つサブフレームq個(qは自然数)を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、
この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、
この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるL個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、
このインパルス応答取得処理によって求めたL個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のL個の要素のうちのn個(nは自然数)を取り出して1処理周期あたりn個を並列して実行する並列演算で、n個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、
この並列演算処理による前記並列演算を繰り返してL×L個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、
この繰り返し処理による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にL−1個の仮想的な合成フィルタのインパルス応答要素を追加拡張して前記並列演算を実施する演算要素拡張処理と、
前記繰り返し処理と前記演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、
前記インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、
前記自己相関値選択処理によって選択した有意な自己相関値と前記相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の1つである無声音成分を表わす情報を求める無声音解析処理
とを実行させることを特徴とする音声符号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255476A JP4228630B2 (ja) | 2002-08-30 | 2002-08-30 | 音声符号化装置および音声符号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255476A JP4228630B2 (ja) | 2002-08-30 | 2002-08-30 | 音声符号化装置および音声符号化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004093946A true JP2004093946A (ja) | 2004-03-25 |
JP4228630B2 JP4228630B2 (ja) | 2009-02-25 |
Family
ID=32060991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002255476A Expired - Fee Related JP4228630B2 (ja) | 2002-08-30 | 2002-08-30 | 音声符号化装置および音声符号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4228630B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001866A1 (fr) * | 2006-06-29 | 2008-01-03 | Panasonic Corporation | dispositif de codage vocal et procédé de codage vocal |
-
2002
- 2002-08-30 JP JP2002255476A patent/JP4228630B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001866A1 (fr) * | 2006-06-29 | 2008-01-03 | Panasonic Corporation | dispositif de codage vocal et procédé de codage vocal |
Also Published As
Publication number | Publication date |
---|---|
JP4228630B2 (ja) | 2009-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6055496A (en) | Vector quantization in celp speech coder | |
JPH1091194A (ja) | 音声復号化方法及び装置 | |
JPH06222797A (ja) | 音声符号化方式 | |
JPH09127991A (ja) | 音声符号化方法及び装置、音声復号化方法及び装置 | |
KR20020077389A (ko) | 광대역 신호의 코딩을 위한 대수적 코드북에서의 펄스위치 및 부호의 인덱싱 | |
JPH10124092A (ja) | 音声符号化方法及び装置、並びに可聴信号符号化方法及び装置 | |
US20130218578A1 (en) | System and Method for Mixed Codebook Excitation for Speech Coding | |
JPH10319996A (ja) | 雑音の効率的分解と波形補間における周期信号波形 | |
JP3236592B2 (ja) | デジタル音声符号器において使用するための音声符号化方法 | |
JPH10214100A (ja) | 音声合成方法 | |
JPH11259100A (ja) | 励起ベクトルの符号化方法 | |
JP3064947B2 (ja) | 音声・楽音符号化及び復号化装置 | |
JPH0944195A (ja) | 音声符号化装置 | |
JP2658816B2 (ja) | 音声のピッチ符号化装置 | |
JP4228630B2 (ja) | 音声符号化装置および音声符号化プログラム | |
JP3583945B2 (ja) | 音声符号化方法 | |
JPH05158497A (ja) | 音声伝送方式 | |
JP3299099B2 (ja) | 音声符号化装置 | |
JPH06131000A (ja) | 基本周期符号化装置 | |
JP3153075B2 (ja) | 音声符号化装置 | |
JPH08234795A (ja) | 音声符号化装置 | |
JPH0258100A (ja) | 音声符号化復号化方法及び音声符号化装置並びに音声復号化装置 | |
JP3026461B2 (ja) | 音声のピッチ予測符号化法 | |
JP2002073097A (ja) | Celp型音声符号化装置とcelp型音声復号化装置及び音声符号化方法と音声復号化方法 | |
JP3192051B2 (ja) | 音声符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081006 |
|
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: 20081111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |