[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5098458B2 - 音声符号化装置、音声符号化方法、及び、プログラム - Google Patents

音声符号化装置、音声符号化方法、及び、プログラム Download PDF

Info

Publication number
JP5098458B2
JP5098458B2 JP2007162359A JP2007162359A JP5098458B2 JP 5098458 B2 JP5098458 B2 JP 5098458B2 JP 2007162359 A JP2007162359 A JP 2007162359A JP 2007162359 A JP2007162359 A JP 2007162359A JP 5098458 B2 JP5098458 B2 JP 5098458B2
Authority
JP
Japan
Prior art keywords
index
unit
vector
vector quantization
code length
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.)
Expired - Fee Related
Application number
JP2007162359A
Other languages
English (en)
Other versions
JP2009003078A (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.)
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 JP2007162359A priority Critical patent/JP5098458B2/ja
Publication of JP2009003078A publication Critical patent/JP2009003078A/ja
Application granted granted Critical
Publication of JP5098458B2 publication Critical patent/JP5098458B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、音声信号圧縮を実行する際に必要となる、音声符号化装置音声符号化方法及び、プログラムに関する。
携帯電話機やデジタルオーディオプレイヤー等に利用される音声信号圧縮のための符号化方式として、これまでに、μ−law、ADPCM(Adaptive Differential Pulse Code Modulation)、MP3(MPEG Audio Layer - 3)、VSELP(Vector Sum Excited Linear Prediction)、ITU−T勧告G.729に代表されるCELP(Code-Excited Linear Prediction)系の圧縮方式等が実用化されている。特許文献1には、音声信号圧縮技術として、ベクトル量子化を用いた技術が開示されている。
特開平10−63299号公報
外国語の学習に用いるための音声をデジタル化する場合は、該音声を、16kHz程度のサンプリング周波数でサンプリングすることが妥当であると考えられている。この程度のサンプリング周波数であれば諸言語の特徴を保つことが可能であるためであり、かつ、学習に必要な音質を確保するという観点からは、これ以上サンプリング周波数を高くしてもデータ量を増加させる割には効果が薄いためである。
しかしながら、CELP系の圧縮方式に現れる圧縮ノイズは、同じ母語を話す者同士が会話により意思疎通を図るに際しては差し支えないものの、語学学習には適切ではないという問題があった。また、μ−lawやADPCMは、語学学習に十分な音質での音声再生を可能とするものの、符号化レートが高いために、記憶装置の記憶容量に制約がある携帯機器でこれらの圧縮方式を利用する場合、記憶容量が圧迫されて録音時間が短くなってしまうという問題があった。また、MP3は、音楽鑑賞目的等の、語学学習目的以上に高品質の音声再生が要求される場合における音声信号の圧縮を対象としており、上述の16kHz程度のサンプリング周波数では、効果的に圧縮を行うことができないという問題があった。
本発明は上記実情に鑑みてなされたものであり、語学学習用会話等の録音に適切なサンプリング周波数でデジタル化された音声信号の低ビットレート符号化に適した符号化を可能とする音声符号化装置音声符号化方法及び、プログラムを提供することを目的とする。
上記目的を達成するために、この発明の第1の観点に係る音声符号化装置は、
デジタル音声信号を、所定の時間区間であるフレーム毎のデジタル音声信号であるフレーム化デジタル音声信号に分割するフレーム化部と、
前記フレーム化デジタル音声信号を周波数変換して、前記フレーム毎にデジタルスペクトルを生成する周波数変換部と、
エネルギーの大きさの順に代表ベクトルにインデックスが付され、かつ、エネルギーが等しい代表ベクトルについては、ベクトルの成分を番号で示す場合に、絶対値が最大の成分を示す番号が番号の大きさ順に並ぶようにソートされてインデックスが付されたベクトル量子化テーブルと、
前記ベクトル量子化テーブルを用いて前記デジタルスペクトルをベクトル量子化することにより、該デジタルスペクトルに対応する前記インデックスを求めるベクトル量子化部と、
前記ベクトル量子化部により求められたインデックスを、該インデックスに対応する前記フレームに関連付けて記憶するインデックス記憶部と、
前記ベクトル量子化部により求められたインデックスを前記ベクトル量子化部から取得するとともに、該インデックスに対応する前記フレームよりも時間的に過去の前記フレームに関連付けられて前記インデックス記憶部に記憶されているインデックスを前記インデックス記憶部から取得し、取得した両インデックスの差分を算出するインデックス差分算出部と、
前記インデックス差分算出部により算出された差分をエントロピ符号化することにより符号を生成する符号化部と、
を備える。
音声信号の連続性及び定常性ゆえに、かかる差分の値には偏りが生じるため、エントロピ符号化により効率良く符号化することができる。
前記インデックス差分算出部は、例えば、前記ベクトル量子化部により求められたインデックスを前記ベクトル量子化部から取得するとともに、該インデックスに対応する前記フレームの時間的に直前の前記フレームに関連付けられて前記インデックス記憶部に記憶されているインデックスを前記インデックス記憶部から取得し、取得した両インデックスの差分を算出する。
前記ベクトル量子化テーブルは、複数の帯域別テーブルを備え、前記帯域別テーブルは、それぞれが特定の帯域であるテーブル用帯域に関連付けられるとともに該テーブル用帯域における典型的な音声スペクトルパターンと整合する代表ベクトルから構成される、ことを特徴とし、前記ベクトル量子化部は、前記デジタルスペクトルを前記テーブル用帯域と同じ又はより細分された帯域である量子化用帯域毎にベクトル量子化するとともに、前記量子化用帯域毎にベクトル量子化するに際して該量子化帯域が含まれる前記テーブル用帯域に対応する前記帯域別テーブルを用いてもよい。
音声信号は帯域毎に特性が異なるため、帯域毎に異なるベクトル量子化テーブルを参照するようにすれば、ベクトル量子化を効率的に行うことができる場合がある。
前記符号化部が生成した符号の符号長を求め、該符号長が予め設定された目標符号長以下であるか否かを判別する符号長監視部をさらに備え、前記符号化部は、前記符号長監視部により前記符号長が前記目標符号長より長いと判別された場合には、所定の削除用帯域に区分された前記デジタルスペクトルのうち相対的にエネルギーの低い削除用帯域に対応する部分をエントロピ符号化の対象から除外した後に再びエントロピ符号化する、ことが望ましい。
記憶情報量や伝達情報量に制約がある場合、音声復号に重要と考えられる帯域についてだけでも符号化すれば、再生音声の劣化を最小限に抑えることができる。
記周波数変換部は、例えば、前記フレーム化デジタル音声信号を変形離散コサイン変換して、前記フレーム毎に前記デジタルスペクトルを生成する。
本発明によれば、語学学習用会話等の録音に適切なサンプリング周波数でデジタル化された音声信号の圧縮及び復元に際して扱われる符号を、符号化レートの低いものにすることができる。
以下、図面を参照して、本発明の実施形態について詳細に説明する。
(実施形態1)
まず、時間領域の信号としての音声信号と、周波数領域の信号としての音声信号すなわちスペクトルと、の対応関係について説明する。なお、以下では原則として、単に音声信号というときは実時間領域の信号としての音声信号を指すものとする。
時間の関数である音声信号は、基本的には、各時間帯の周波数特性を表現するスペクトルの時系列と等価である。時間軸をどのような時間帯に区切るか、さらには、ある時間帯を代表するスペクトルを音声信号からどのように求めるか、については、様々な方針があり、本発明はかかる様々な方針に適用することができる。一例として、本実施形態では、時間軸を区切るための概念としてフレーム及びブロックという概念を導入するとともに、スペクトルを音声信号から求めるにあたっては前記ブロック単位でのMDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)と前記フレーム単位でのMDCT係数の集積処理とを組み合わせた手法を採用する。
図1に、フレーム同士の関係、ブロック同士の関係、及び、フレームとブロックとの関係を示す。紙面の横方向が時間軸であるとする。図示するように、時間軸は、まずフレームという所定の時間長を有する単位に区切られ、各フレームがさらに、ブロックというより短い時間長を有する単位に区切られる。ただし、フレーム同士は、ブロックの半分の長さに相当する重複部分を有するとともに、ブロック同士も、ブロックの半分の長さに相当する重複部分を有する。1個のフレームにはブロック0からブロックL-1までのL個のブロックが含まれる。Lは後述のようにベクトル量子化に要する処理時間やVQテーブルの容量等を勘案した上で、例えばL=4と決定される。2個の隣接フレームの開始時刻間又は終了時刻間に相当する時間をΔtとすると、図示するように、各フレームは時刻t-2Δt、時刻t-Δt、時刻t、時刻t+Δtといった時間間隔Δt毎の各時刻に対応する。本実施形態においてはフレーム1個にスペクトル1個を割り当てることにするので、スペクトルは、時刻t-2Δtにおけるスペクトル、時刻t-Δtにおけるスペクトル、時刻tにおけるスペクトル、時刻t+Δtにおけるスペクトル、というように、時間間隔がΔtであるような時系列をなす。
図2に、時刻tに対応するフレームにおけるスペクトルの求め方を模式的に示す。1ブロックは、1回のMDCTを行う単位であり、1ブロックに含まれる音声信号サンプル数をMとすると、MDCTの結果、0次から(M/2-1)次までの合計M/2個のMDCT係数が求まる。なお、16kHz程度のサンプリング周波数でデジタル化した音声信号の場合、Mは例えば256であることが好適である。MDCT係数の次数は周波数に対応する。つまり、高次のMDCT係数は、音声信号の高周波成分に対応する。よって、縦軸をMDCT係数として横軸を次数としたグラフは、図示するように、いわばブロック毎のスペクトルに相当するといえる。
時刻tに対応するフレームに含まれるブロックk(0≦k≦L-1)で行われたMDCTの結果求まったj(0≦j≦M/2-1)次のMDCT係数をXt、j、kと記すことにする。すると、jは周波数に相当する量であることになる。すなわち、jの大小は、周波数の高低に対応する。そこで、以下では、「周波数j」と表記することがある。
また、時刻tに対応するフレームにおいては、ブロック毎のスペクトルが、L個求まる。すなわち、ブロック0について、Xt、0、0、Xt、1、0、・・・、Xt、M/2-1、0により表されるスペクトルが求まり、ブロック1について、Xt、0、1、Xt、1、1、・・・、Xt、M/2-1、1により表されるスペクトルが求まり、・・・、ブロックL-1について、Xt、0、L-1、Xt、1、L-1、・・・、Xt、M/2-1、L-1により表されるスペクトルが求まる。
これらL個の、ブロック毎のスペクトルに対して、図2の点線矢印で示されるような集積処理を施すことにより、最終的に、時刻tに対応する1個のスペクトルを完成させる。すなわち、MDCT係数を、Xt、0、0、Xt、0、1、・・・、Xt、0、L-1、Xt、1、0、Xt、1、1、・・・、Xt、1、L-1、Xt、2、0、・・・、Xt、M/2-2、L-1、Xt、M/2-1、0、Xt、M/2-1、1、・・・、Xt、M/2-1、L-1のように並べることにより、時刻tに対応するスペクトルを完成させる。
時刻tに対応するスペクトルのうちj次のMDCT係数に対応する成分をブロックの時系列順に並べてベクトルとして表現したものをFt、jとする。すなわち、Ft、j ={Xt、j、0、Xt、j、1、・・・、Xt、j、L-1}である。また、時刻tに対応するスペクトルは、図2に示すとおり、ベクトルFt、jをFt、0、Ft、1、・・・、Ft、M/2-1の順に並べたものであるともいえる。
このようにベクトルFt、jは、時刻tに対応するスペクトルの一部である周波数jに対応している。以下では、スペクトルのうち、このように周波数jに対応する部分を、部分スペクトルと呼ぶ。
以上で、音声信号とスペクトルとの対応関係について明らかにした。続いて、本実施形態に係る音声符号化装置及び音声復号装置の構成について説明する。なお、ユーザにとっての利便性を確保する観点から、本実施形態においては、音声符号化装置と音声復号装置とは、音声符号化兼復号装置として、単一の装置に統合されているものとする。
図3に、本実施形態に係る音声符号化兼復号装置3の物理的な構成を示す。音声符号化兼復号装置3は、例えば、携帯電話機である。
音声符号化兼復号装置3は、CPU121と、ROM(Read Only Memory)123と、記憶部125と、音声処理部141と、無線通信部161と、操作キー入力内容処理部171と、を備え、これらは、システムバス181で相互に接続されている。システムバス181は、命令やデータを転送するための伝送経路である。
ROM123には、音声符号化及び復号のための動作プログラム、ベクトル量子化に必要な代表ベクトル、等が格納されている。
記憶部125は、RAM(Random Access Memory)131と、ハードディスク133と、から構成されて、デジタル音声信号、MDCT係数、等を記憶する。特に本実施形態においては、音声符号化兼復号装置111は、音声符号化と音声復号のいずれの場合にも、ある時刻における処理のために直前の時刻の音声信号に基づく情報を必要とするので、記憶部125は、かかる情報を少なくとも一時的に格納しておく遅延処理用バッファメモリとして、重要な役割を果たす。
音声符号化兼復号装置3は、マイクロフォン151と、スピーカ153と、アンテナ163と、操作キー173と、をさらに備える。
マイクロフォン151は、送信側すなわち符号化側のユーザの音声を収集し、音声処理部141に引き渡す。スピーカ153は、音声処理部141から引き渡された復元音声を、受信側すなわち復号側のユーザに対して、発する。アンテナ163は、無線通信部161から引き渡された符号を受信側すなわち復号側の音声符号化兼復号装置3に無線信号として送信したり、送信側すなわち符号化側の装置3から送信された無線信号を受信して無線通信部161に引き渡したりする。操作キー173は、あらかじめ与えられている各種初期設定値をユーザが自らの判断により変更するときや、送信側すなわち符号化側のユーザが、通話の相手方である受信側すなわち復号側の装置3を特定したりするときに、ユーザの意図を装置3に伝達するために用いられる。かかる特定は、例えば携帯電話機であれば、各携帯電話機に割り当てられた電話番号を利用して行われる。
音声処理部141、無線通信部161、操作キー入力内容処理部171は、システムバス181を介してCPU121の制御下にある。
図4は、本実施形態に係る音声符号化兼復号装置3が音声符号化装置として機能する場合の機能構成を示すブロック図である。音声符号化兼復号装置3は、音声符号化装置としては、図示するように、A/D変換部4、DC(Direct Current)除去部23、フレーム化部25 、レベル調整部27、周波数変換部29、スペクトル完成部31、ベクトル量子化関連処理部33、エントロピ符号化部35、符号長監視部37、帯域データ削除部39、低域用ソート済VQテーブル41、及び、高域用ソート済VQテーブル43を備える。
図3のCPU121は、ROM123に書き込まれた動作プログラムに従い音声処理部141及び記憶部125と協同して動作することにより、図4のA/D変換部4として機能する。CPU121はまた、ROM123に書き込まれた動作プログラムに従い記憶部125と協同して動作することにより、DC除去部23、フレーム化部25、レベル調整部27、周波数変換部29、スペクトル完成部31、ベクトル量子化関連処理部33、エントロピ符号化部35、符号長監視部37、及び、帯域データ削除部39として機能する。ROM123は、ベクトル量子化に必要な代表ベクトルをデータベースとして格納しており、低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43として機能する。
図4のA/D変換部4は、入力されたアナログ音声信号をデジタル音声信号に変換し、DC除去部23に出力する。サンプリング周波数は、16kHz程度であることが望ましいが、11.025kHz、22.05kHz等であってもかまわない。
DC除去部23は、A/D変換部4から入力されたデジタル音声信号の直流成分を除去し、フレーム化部25に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分は、例えば、既知の高域通過フィルタにより除去することができる。
フレーム化部25は、DC除去部23から入力された信号を、図1及び図2を参照して説明したフレームに分割し、レベル調整部27に出力する。基本的にはフレーム1個が音声信号圧縮の処理単位である。ただし、本実施形態においては、後述のように、あるフレームにおける処理には、時間的に直前のフレームにおける処理の結果が必要となるので、この意味では、フレーム2個が音声信号圧縮の処理単位となる。
レベル調整部27は、フレーム毎に、入力された音声信号のレベル調整を行い、レベル調整された信号を周波数変換部29に出力する。レベル調整とは、1フレーム中に含まれる信号の振幅の最大値を、指定されたビット( 以下、制圧目標ビット)数に収まるようにすることである。レベル調整は、例えば、1フレーム中の信号の最大振幅をnビット、制圧目標ビットをNビットとすると、フレーム中の信号を全て、次式を満たすshift_bit数分LSB(Least Significant Bit:最下位ビット)側にシフトすることによって実現できる。
shift_bit=0(n≦Nの場合)、shift_bit=n-N(n>Nの場合)
音声再生時には、振幅が制圧目標ビット以下に制圧された信号を元に戻す必要があるため、shift_bitを表す信号を、音声圧縮信号の一部として出力する必要がある。よって、レベル調整部27は、レベル調整済の信号を周波数変換部29に引き渡すとともに、shift_bitを、符号化の対象に含めるためにエントロピ符号化部35に引き渡す。
周波数変換部29は、レベル調整部27から入力された信号に対し周波数変換を施し、スペクトル完成部31に出力する。本実施形態では、上述のように、周波数変換としてMDCTを用いる。周波数変換部29は、上述のブロック毎にMDCTを実行し図2に示したブロック毎のスペクトルを生成して、スペクトル完成部31に引き渡す。
図4のスペクトル完成部31は、まず、周波数変換部29から入力されたMDCT係数を周波数毎に並べ替える。これは、図2の点線矢印で示した、ブロック毎のスペクトルを集積してフレームに対応するスペクトルを完成させる操作である。スペクトル完成部31は続いて、同一周波数帯域の係数をまとめてベクトル化し、ベクトル量子化関連処理部33に出力する。ここで、ベクトル化の結果生成されるベクトルは、既に図2を参照して説明したベクトルFt、j={Xt、j、k|k=0、1、・・・、L-1}である。
このように、同一周波数帯域の信号をまとめてベクトル化すると、例えば、定常信号を多く含む場合、後のベクトル量子化の精度が向上する。
ベクトル量子化関連処理部33は、スペクトル完成部31で作成されたベクトルFt、jを受け取り、低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43を参照して後述の処理によりインデックス差分を算出し、算出したインデックス差分をエントロピ符号化部35に引き渡す。
ベクトル量子化関連処理部33は、図5に示すように、ベクトル量子化部5と、代表ベクトルインデックス記憶部47と、インデックス差分算出部45と、を備える。
ベクトル量子化部5は、複数の音声パターンを示す代表ベクトルを格納したVQ(Vector Quantization)テーブルを参照し、スペクトル完成部31で作成されたベクトルFt、jと、VQテーブルに格納された各代表ベクトルを比較し、最も類似した代表ベクトルを選択し、該代表ベクトルに付されたインデックスiを、インデックス差分算出部45及び代表ベクトルインデックス記憶部47に出力する。
ベクトル符号化の対象であるベクトルと類似した代表ベクトルを選択するにあたっての基準には、様々なものが考えられる。本実施形態においては、次のように代表ベクトルを選択する。すなわち、VQテーブルに格納されたiMAX個の代表ベクトルを{Vi|i=1、・・・、iMAX}、Vi={vi、k|k=0、・・・、L-1}とすると、符号化対象のベクトルFt、jの各要素Xt、j、kと、VQテーブルに格納されたi番目の代表ベクトルViの各要素vi、kと、を比較し、ベクトルFt、jとベクトルViとの差eiが最小となるようなViを、代表ベクトルとして選択する。差eiの算出は次式により行う。
ei=(Xt、j、0- vi、0)^2+(Xt、j、1- vi、1)^2+・・・+(Xt、j、k- vi、k)^2
ただし、記号「^」は、累乗を表す。
代表ベクトルの数imaxと、1フレームあたりのブロック数すなわちベクトル長Lは、ベクトル量子化に要する処理時間やVQテーブルの容量等を勘案して決定される。例えば、ベクトル長Lを2にして代表ベクトル数を256にしたり、ベクトル長Lを4にして代表ベクトル数を8192(=213)にしたりする等、自由な組み合わせが考えられる。
本実施形態においては、VQテーブルに格納されている代表ベクトルには、エネルギーの昇順にインデックスが付されている。つまり、代表ベクトルはエネルギー順にソートされているのであり、代表ベクトルViのエネルギーをE(Vi)とすると、
E(V1)≦E(V2)≦・・・≦E(ViMAX)
である。ここで、エネルギーE(Vi)は、
E(Vi)=|Vi|^2=vi、0 ^2+vi、1 ^2+・・・+vi、L-1 ^2
のように定義する。本実施形態においては、このようにソート済の代表ベクトルを格納したVQテーブルを用いることにする。
また、音声は、高域周波数部分と低域周波数部分とで特性が異なる場合が多いため、本実施形態においては、高域と低域で異なるVQテーブルを用いることにする。
そこで、本実施形態においては、VQテーブルとして、低域のベクトル量子化に用いるための、ソート済の代表ベクトルが格納されたVQテーブルである低域用ソート済VQテーブル41と、高域のベクトル量子化に用いるための、ソート済の代表ベクトルが格納されたVQテーブルである高域用ソート済VQテーブル43と、を用いる。
スペクトル完成部31で作成されたベクトルFt、j={Xt、j、k|k=0、1、・・・、L-1}(j=0、1、・・・、M/2-1)において、高域と低域の境界は、例えば、周波数帯域を示すjを単純に半分に分けたところにすればよい。すなわち、Ft、0、Ft、1、・・・、Ft、M/4-1を低域、Ft、M/4、Ft、M/4+1、・・・、Ft、M/2-1を高域とすればよい。したがって、ベクトル量子化部5において、低域のベクトルFt、0、Ft、1、・・・、Ft、M/4-1は、低域用ソート済VQテーブル41に格納された各代表ベクトルと比較され、最も類似した代表ベクトルに付されたインデックスiが出力される。同様に、高域のベクトルFt、M/4、Ft、M/4+1、・・・、Ft、M/2-1は、高域用ソート済VQテーブル43に格納された各代表ベクトルと比較され、最も類似した代表ベクトルに付されたインデックスiが出力される。
これ以降のベクトル量子化関連処理部33が行う処理は、時間的に直前のフレームにおけるベクトル量子化の結果を利用する等、ある種の遅延処理を含む。そこで、理解を容易にするために、図6を参照してかかる処理を一段階ずつ説明する。
代表ベクトルインデックス記憶部47は、ベクトル量子化部5からインデックスiを受け取り、記憶する。代表ベクトルインデックス記憶部47は、遅延処理を行うためのバッファメモリとして機能する。ベクトル量子化関連処理部33が時刻tにおける処理を開始する時点で、図6(a)に示すように、代表ベクトルインデックス記憶部47は、直前のフレームに対応する時刻t-Δtにおける処理の結果として、時刻t-Δtにおける周波数jに対応したベクトルFt-Δt、jに最も類似した代表ベクトルのインデックスであるi(t-Δt、j)を記憶している。また、時刻tにおける処理は、ベクトル量子化部5に、ベクトルFt、jが入力されることにより開始される。
図6(b)に示すように、ベクトル量子化部5は、入力されたベクトルFt、jに最も類似した代表ベクトルのインデックスであるi(t、j)を求める。
次に、図6(c)に示すように、ベクトル量子化部5は、求めたi(t、j)を、インデックス差分算出部45及び代表ベクトルインデックス記憶部47に引き渡す。代表ベクトルインデックス記憶部47は、ベクトル量子化部5からi(t、j)を受け取って記憶するとともに、それまで記憶していたi(t-Δt、j)をインデックス差分算出部45に引き渡す。
続いて、図6(d)に示すように、ベクトル量子化部5からi(t、j)を受け取るとともに代表ベクトルインデックス記憶部47からi(t-Δt、j)を受け取ったインデックス差分算出部45は、インデックス差分Δi(t、j)を、
Δi(t、j)=i(t、j)-i(t-Δt、j)
により求める。そして、インデックス差分算出部45は、図6(e)に示すように、求めたインデックス差分Δi(t、j)を出力する。出力先は、図4及び図5に示すとおり、エントロピ符号化部35である。
時刻tにおける処理が終わった段階で、図6(e)に示すように、代表ベクトルインデックス記憶部47には、時刻tにおける周波数jに対応するインデックスi(t、j)が格納されている。つまり、時刻を表す変数がt-Δtからtに変化したことを除けば、図6(a)に示す状態に戻っている。したがって、時間的に後の、時刻t+Δt以降に対応する各フレームについては、図6(a)から図6(e)までの処理と同様の処理を繰り返せばよい。
図4及び図5に示すように、エントロピ符号化部35は、レベル調整部27からshift_bitを受け取るとともに、ベクトル量子化関連処理部33の中のインデックス差分算出部45からインデックス差分Δi(t、j)を受け取り、受け取ったこれらの量をエントロピ符号化して符号を生成し、生成した符号を音声圧縮信号として出力する。かかる出力は、図3のCPU121がROM123に格納された動作プログラムに基づいて無線通信部161に送信命令を発し、それに応じて無線通信部161がアンテナ163を介して前記符号を無線通信により受信側すなわち音声復号側の音声符号化兼復号装置3に向けて送信することにより、行われる。また、エントロピ符号化部35は、生成した符号を、符号長監視部37に対しても出力する。これは後述のように、生成された符号の符号長が所定の制限を満たしているか否かが判別される必要があるためである。
エントロピ符号化とは、信号の統計的性質を利用して、符号をより短い符号へと変換する符号化方式であり、ハフマン(Huffman)符号化、算術符号化、レンジコーダ(Range Coder)による符号化等が知られている。エントロピ符号化方法の特徴として、情報圧縮精度が一定であっても、圧縮率が一定ではない点が挙げられる。すなわち、同一長であるが内容の異なる複数のデータに対して、エントロピ符号化を施した場合、一般に、元のデータ中のデータ要素の出現頻度の偏り具合の違いのために、符号化後の符号長はまちまちになる。一般に、符号化する前に圧縮率を予測することは困難であり、高い圧縮率が得られるか否かは、実際にエントロピ符号化を行ってみるまで分からない。一方で、本発明は低いビットレートでの符号化を目的とするものであり、音声符号化兼復号装置3が例えば携帯電話機であれば、符号長には、通信インフラ等に起因する制限がある。エントロピ符号化部35は、原則としては、音声品質の劣化を最小限に抑制するために、レベル調整部27とベクトル量子化関連処理部33から受け取った情報を全てエントロピ符号化するのであるが、エントロピ符号化部35が実際にエントロピ符号化を行ってみたところ、圧縮率が結果的にたまたま符号長に係る上述の制限を満たさない程度に低かった場合には、符号化対象とする情報を適宜間引いて、符号化し直す必要がある。
そこで、本実施形態においては、符号長監視部37及び帯域データ削除部39が設けられている。符号長監視部37は、エントロピ符号化部35が生成した符号を受け取りその符号長を測定するとともに、該符号長が所定の目標符号長以下に収まっているか否かを監視する。符号長監視部37は、かかる監視の結果、目標符号長を超えてしまっていると判別した場合には、その旨を帯域データ削除部39に伝える。帯域データ削除部39は、符号長が長すぎるとの連絡を受け取った場合、符号化対象から除外する周波数帯域、具体的には周波数jのうちからjにおけるMDCT係数を削除しても音質維持の点で比較的影響が少ないと考えられるようなjを決定し、決定結果をエントロピ符号化部35に通知する。かかる通知を受けたエントロピ符号化部35は、帯域データ削除部39が決定した削除すべき帯域を符号化対象から除外してエントロピ符号化をやり直す。再度生成された符号は再び符号長監視部37による監視を受け、なおも符号長が長すぎる場合には、符号化対象から除外されるべきさらに多くの帯域が帯域データ削除部39により決定され、エントロピ符号化部35にフィードバックされる。かかるループ処理は、エントロピ符号化部35が生成した符号の符号長が前記目標符号長以下になるまで繰り返される。
帯域データ削除部39は、上述のように、各周波数jに対応する各帯域のうちから音声品質劣化防止の点で削除しても影響の少ない帯域を選択する。削除しても影響の少ない帯域を決定するための基準には様々なものが考えられるが、本実施形態においては、エネルギーの小さい帯域を削除することにする。このようにすれば、比較的簡易に、削除すべき帯域を決定することができる。すなわち、周波数jにおけるエネルギーとして、エネルギーE(Ft、j)を、
E(Ft、j)=|Ft、j|^2=Xt、j、0 ^2+Xt、j、1 ^2+・・・+Xt、j、L-1 ^2
のように定義し、エネルギーE(Ft、j)が小さい周波数jに対応する帯域を優先して削除することにする。なお、周波数jに対応する帯域の削除は、具体的には、例えば、ベクトルFt、jの全ての成分を0に置換することによって行う。
情報量監視部37及び帯域データ削除部39が行う以上の動作の手順は、図7に示すフローチャートにまとめられている。物理的には、上述のように、CPU121が、ROM123に書き込まれた動作プログラムに従い記憶部125と協同して動作することによって、情報量監視部37及び帯域データ削除部39として機能する。
時刻tに対応するフレームにおけるMDCTが終了し、記憶部125には、既にベクトルFt、j(0≦j≦M/2-1)が格納されているとする。
CPU121は、記憶部125からベクトルFt、j(0≦j≦M/2-1)をCPUの内部レジスタ(図示せず)にロードし、周波数jにおけるエネルギーE(Ft、j)を計算し、計算したE(Ft、j)に基づいてソートを行って、エネルギーの低い帯域が優先的に削除対象となるように、各周波数jに優先順位を割り当てる(ステップS7)。もっとも、最初は、スペクトルの全帯域が符号化の対象になる(ステップS11)。CPU121は続いて、符号化の対象となっているデータをエントロピ符号化することにより、符号を生成してから(ステップS13)、符号長を求める(ステップS15)。CPU121はさらに、求めた符号長が所定の目標符号長以下であるか否かを判別し(ステップS17)、目標符号長以下であると判別された場合(ステップS17;Yes)は処理を終了し、目標符号長を超えていると判別された場合(ステップS17;No)はステップS19に進む。ステップS19では、CPU121は、直前のエントロピ符号化(ステップS13)の際に符号化対象となっていた帯域のうち、削除の優先順位が最上位のものを除いた残りを、新たな符号化対象として設定した上で(ステップS19)、ステップS13に戻ってエントロピ符号化をやり直す。
このようにすれば、やむを得ず一部の帯域を符号化の対象から除外せざるを得ない場合でも、相対的にエネルギーが高いゆえに再生音声品質への影響が大きいと思われる帯域は符号化対象として残ることが期待される。よって、帯域削除による再生音声品質の低下を最小限度に抑制することができる。
時刻tを固定した上で様々な周波数jに渡るE(Ft、j)の値を考慮するにせよ、周波数jを固定した上で十分に長い時間に渡るE(Ft、j)の値を考慮するにせよ、E(Ft、j)自体の値としては、大小様々な値が出現する。しかし、隣接時刻間のエネルギー差分であるE(Ft、j)-E(Ft-Δt、j)の値としては、様々な周波数jに渡って考慮するにせよ、十分に長い時間に渡って考慮するにせよ、比較的小さい値が高い頻度で出現する。これは、音声信号には連続性があることと、さらに、音声信号にはしばしば定常状態が出現することと、による。
図6等に示したように、ベクトル量子化部5により、ベクトルFt、jは代表ベクトルVi(t、j)に、ベクトルFt-Δt、jは代表ベクトルVi(t-Δt、j)に、それぞれ近似される。上述のように、代表ベクトルはエネルギー順にソートされているために、代表ベクトルに付されたインデックスはそれ自体が既に該代表ベクトルのエネルギーの指標としての意味を有していることと、E(Ft、j)-E(Ft-Δt、j)の値としては、比較的小さい値が高い頻度で出現することと、を考え合わせると、時系列上で隣接する2個の代表ベクトルに付されたインデックスの差分つまりインデックス差分算出部45から出力されるインデックス差分Δi(t,j)(=i(t、j)-i(t-Δt、j))の値としては、比較的小さい値が高い頻度で出現すると結論される。
一般に、符号化の対象となる値に偏りが生じると、エントロピ符号化の圧縮効率が向上する。したがって、本実施形態によれば、高い頻度で比較的小さい値となるような量であるインデックス差分Δi(t,j)がエントロピ符号化されるので、符号化の効率が高く、符号長の短い符号で高品質の音声信号を伝達することができる。
よって、本実施形態によれば、語学学習用会話等の録音に適切なサンプリング周波数を採用しつつ、符号化レートを低減させることができる。例えば、本実施形態に係る音声符号化兼復号装置111により、16kHz程度のサンプリング周波数の音声信号を16kbps程度のレートに圧縮することが可能になる。
なお、以上では、時刻tと時刻t-Δtとの間での代表ベクトルに付されたインデックスの差分の値が音声符号化装置から音声復号装置に送られる処理を記述した。かかる処理により音声再生が可能になるためには、当然のことながら、少なくとも、符号化対象となる最初のフレームについては、インデックス自体の値が初期値として前者の装置から後者の装置に送られる必要がある。そこで本実施形態においては、音声符号化装置のユーザが発話を開始した時刻に対応するフレームについては、かかる初期値が音声復号装置に送られることとする。さらに、差分のみを送られ続けると音声復号側において受信時の電気的エラー等に起因する誤差が蓄積して音声が正しく再生されなくなる可能性があることに鑑み、所定のリフレッシュレートでインデックス自体の値が送られることとする。
図8は、本実施形態に係る音声符号化兼復号装置3が音声復号装置として機能する場合の機能構成を示すブロック図である。音声符号化兼復号装置3は、音声復号装置としては、図示するように、エントロピ復号部8、ベクトル逆量子化関連処理部49、時間順並べ替え部51、周波数逆変換部53、レベル再現部55、フレーム合成部57 、及び、D/A変換部59を備え、さらに、音声符号化装置として機能する場合と同じ低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43を備える。
図3のCPU121は、ROM123に書き込まれた動作プログラムに従い記憶部125と協同して動作することにより、図8のエントロピ復号部8、ベクトル逆量子化関連処理部49、時間順並べ替え部51、周波数逆変換部53、レベル再現部55、及び、フレーム合成部57として機能する。CPU121はまた、ROM123に書き込まれた動作プログラムに従い音声処理部141及び記憶部125と協同して動作することにより、図8のD/A変換部59として機能する。
本実施形態に係る音声符号化兼復号装置3は、音声復号装置として動作する場合は、別の音声符号化兼復号装置3が音声符号化装置として動作した結果無線通信等の手段により送信した情報である音声圧縮信号を、アンテナ163により収集する。無線通信部161は、CPU121がROM123に格納された動作プログラムに基づいて発する命令に従い、アンテナ163が収集した情報を、記憶部125に格納する。
エントロピ復号部8は、エントロピ符号化により符号化された信号である音声圧縮信号を復号する。エントロピ復号部8は続いて、復号した結果得られた情報のうち、インデックス差分Δi(t、j)をベクトル逆量子化関連処理部49に出力するとともに、該情報のうち、shift_bitをレベル再現部55に出力する。ベクトル逆量子化関連処理部49は、エントロピ復号部8からインデックス差分Δi(t、j)を受け取り、低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43を参照して後述の処理により適切な代表ベクトルを選択し、選択した代表ベクトルを、スペクトルの近似的な復元に用いる量として時間順並べ替え部51に引き渡す。
ベクトル逆量子化関連処理部49は、図9に示すように、インデックス算出部9と、代表ベクトルインデックス記憶部61と、ベクトル逆量子化部63と、を備える。
インデックス算出部9は、後述のように代表ベクトルインデックス記憶部61との間で情報の授受を行うことにより、音声符号化装置としての音声符号化兼復号装置3が周波数jにおけるベクトル量子化により求めた代表ベクトルに付されたインデックスを算出し、ベクトル逆量子化部63に引き渡す。
ベクトル逆量子化部63は、インデックス算出部から引き渡されたインデックスが付された代表ベクトルを、低域用ソート済VQテーブル41又は高域用ソート済VQテーブル43の中から検索することにより取得する。この処理の対象となっている周波数jが先に定義した低域に対応している場合には低域用ソート済VQテーブル41の中が、また、周波数jが高域に対応している場合には高域用ソート済VQテーブル43の中が、それぞれ検索される。ベクトル逆量子化部63は、検索した代表ベクトルを、フレーム毎のスペクトルのうち周波数jに対応する帯域の部分を近似した結果として、時間順並べ替え部51に出力する。
音声符号化装置としての音声符号化兼復号装置3がある時刻tの周波数jにおけるベクトル量子化により求めた代表ベクトルに付されたインデックスを、インデックス算出部9が代表ベクトルインデックス記憶部61との間で情報の授受を行うことにより算出するに際しては、時間的に直前のフレームにおけるベクトル量子化の結果を利用する等、ある種の遅延処理がなされる。そこで、理解を容易にするために、図10及び図11を参照しつつ、かかる処理を一段階ずつ説明する。
代表ベクトルインデックス記憶部61は、インデックス算出部9からインデックスiを受け取り、記憶する。代表ベクトルインデックス記憶部61は、遅延処理を行うためのバッファメモリとして機能する。ベクトル逆量子化関連処理部49が時刻tにおける処理を開始する時点で、図10(a)に示すように、代表ベクトルインデックス記憶部61は、直前のフレームに対応する時刻t-Δtにおける処理の結果として、時刻t-Δtにおける周波数jに対応したベクトルFt-Δt、jに最も類似した代表ベクトルのインデックスであるi(t-Δt、j)を記憶している。また、時刻tにおける処理は、インデックス算出部9に、インデックス差分Δi(t、j)が入力されることにより開始される。
図10(b)に示すように、代表ベクトルインデックス記憶部61は、記憶していたインデックスi(t-Δt、j)をインデックス算出部9に引き渡す。次に、インデックス算出部9は、図10(c)に示すように、エントロピ復号部8から入力されたインデックス差分Δi(t、j)を、代表ベクトルインデックス記憶部61から引き渡されたインデックスi(t-Δt、j)に加えることにより、時刻tにおけるインデックスi(t、j)を求める。つまり、インデックス算出部9は、i(t、j)=i(t-Δt、j)+Δi(t、j)という演算を行う。インデックス算出部9は続いて、図11(a)に示すように、求めたインデックスi(t、j)を、ベクトル逆量子化部63と代表ベクトルインデックス記憶部61とに引き渡す。この後、図11(b)に示すように、ベクトル逆量子化部63は、受け取ったインデックスi(t、j)が付された代表ベクトルをVQテーブルの中から検索し、一方、代表ベクトルインデックス記憶部61は、受け取ったインデックスi(t、j)自体を記憶する。最終的に、図11(c)に示すように、ベクトル逆量子化部63は、検索した代表ベクトルVi(t、j)を時間順並べ替え部51に向けて出力する。この段階で、代表ベクトルインデックス記憶部61には、時刻tにおける周波数jに対応するインデックスi(t、j)が格納されている。つまり、時刻を表す変数がt-Δtからtに変化したことを除けば、図10(a)に示す状態に戻っている。したがって、時間的に後の、時刻t+Δt以降に対応する各フレームについては、図10(a)から図11(c)までの処理と同様の処理を繰り返せばよい。
図8及び図9の時間順並べ替え部51は、ベクトル逆量子化関連処理部49の中のベクトル逆量子化部63から各周波数jに対応する代表ベクトルを集めることによりスペクトルを近似的に再現し、その成分に対して図2の点線矢印を逆向きにたどるような並べ替えを行うことによりブロック毎のスペクトルを近似的に再現する。続いて、時間順並べ替え部51は、かかるブロック毎のスペクトルを図8の周波数逆変換部53に引き渡す。周波数逆変換部53は、時間順並べ替え部51から入力されたブロック毎のスペクトルに対し、逆MDCTを施し、レベル再現部55に出力する。レベル再現部55は、周波数逆変換部53から入力された信号に対して、エントロピ復号部8から入力されたshift_bitを参照することによりレベル調節を施して元のレベルに戻し、フレーム合成部57に出力する。フレーム合成部57は、符号化及び復号の処理単位であったフレームを合成し、合成後の信号をD/A変換部59に出力する。D/A変換部59は、フレーム合成部57から入力されたデジタル信号をアナログ信号に変換し、音声再生信号として出力する。
(実施形態2)
以下では、本発明の実施形態2に係る音声符号化兼復号装置について述べる。本実施形態は、実施形態1に係る音声符号化兼復号装置3のROM123にデータベースとして格納されている低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43を、符号化の効率がさらに向上するよう改良した他は、実施形態1と同じである。
実施形態1においては、低域用ソート済VQテーブル41及び高域用ソート済VQテーブル43に格納された代表ベクトルに付されたインデックスi(1≦i≦iMAX)について、代表ベクトルViのエネルギーE(Vi)に
E(V1)≦E(V2)≦・・・≦E(ViMAX)
という関係が成立することが課されていた。しかし、複数の代表ベクトルがたまたま同じエネルギーを有している場合に、かかる複数の代表ベクトルにそれぞれどのようにインデックスを付すかについては、特に制限は存在しなかった。
それに対して本実施形態では、符号化の効率がさらに向上するよう、複数の代表ベクトルがたまたま同じエネルギーを有している場合についても、音声信号の連続性を考慮した所定の方針に従って、かかる複数の代表ベクトルにインデックスが付されている。
すなわち、エネルギーの等しいp個の代表ベクトル
Vi1={vi1、0、vi1、1、・・・、vi1、k[i1、MAX]、・・・、vi1、L-1}、
Vi2={vi2、0、vi2、1、・・・、vi2、k[i2、MAX]、・・・、vi2、L-1}、
・・・、
Vip={vip、0、vip、1、・・・、vip、k[ip、MAX]、・・・、vip、L-1}
(ただし、vi、k[i、MAX]は、Viの成分のうちの、絶対値が最大の成分を表す。)
に、i1<i2<・・・<ipとなるようなインデックスを付す場合は、
k[i1、MAX]≦k[i2、MAX]≦・・・≦k[ip、MAX]
が成立するようにする。
以下では理解を容易にするために、前記所定の方針がいかなるものであるかを、例を挙げて説明する。
例えば、前記制約E(V1)≦E(V2)≦・・・≦E(ViMAX)に基づいて、代表ベクトルのうち最小のエネルギーを有するものからエネルギーの昇順に14番目までのものについては、付すべきインデックスが確定したとする。すなわち、
E(V1)<E(V2)<・・・<E(V14)
かつ、E(V14)がV1、V2、・・・、V14以外のどの代表ベクトルのエネルギーよりも小さい、とする。さらに、同じくエネルギーの昇順に19番目の代表ベクトルから最大のエネルギーを有する代表ベクトルまでについても、前記制約に基づき、付すべきインデックスが確定したとする。すなわち、
E(V19)<E(V20)<・・・<E(ViMAX)
かつ、E(V19)がV19、V20、・・・、ViMAX以外のどの代表ベクトルのエネルギーよりも大きい、とする。さらに、全ての代表ベクトルからV1、V2、・・・、V14、V19、V20、・・・、ViMAXを除いた場合に残る4個の代表ベクトルが、等しいエネルギーを有するものとする。すると、該4個の代表ベクトルには、15から18までの4個のインデックスを付すべきことは確定するものの、どの代表ベクトルにインデックスとして15を付し、どの代表ベクトルに16を付し、・・・、どの代表ベクトルに18を付すかについては、実施形態1においては、任意であった。前記制約が不等号による制約であるために、該4個の代表ベクトルにどのようにインデックスを付しても、E(V15)=E(V16)=E(V17)=E(V18)となって前記制約を満たすからである。
これに対して本実施形態においては、このように等しいエネルギーを有する複数の代表ベクトルに対しても、上述の方針にしたがってインデックスが付される。
以下では、例として、1フレームあたりのブロック数LがL=5であるとする。すると、各代表ベクトルはL個すなわち5個の成分を有する。
よって、図12に示すように、|V15|2=|V16|2=|V17|2=|V18|2のように等しいエネルギーを有する4個の代表ベクトルV15、V16、V17、V18は、第0軸から第4軸までの5個の座標軸が設けられた5次元空間内に表現することができる。第0軸はブロック0に、第1軸はブロック1に、第2軸はブロック2に、第3軸はブロック3に、第4軸はブロック4に、それぞれ対応している。Rを上述の4個の代表ベクトルの絶対値に等しい値、すなわち、R=|V15|=|V16|=|V17|=|V18|とすると、該代表ベクトルの先端は、5次元空間において原点を中心とした半径Rの球面上に存在する。
以下では、例として、代表ベクトルV15の成分v15、0、v15、1、v15、2、v15、3、v15、4のうちで絶対値が最大の成分がv15、0であり、代表ベクトルV16の成分v16、0、v16、1、v16、2、v16、3、v16、4のうちで絶対値が最大の成分がv16、1であり、代表ベクトルV17の成分v17、0、v17、1、v17、2、v17、3、v17、4のうちで絶対値が最大の成分がv17、2であり、代表ベクトルV18の成分v18、0、v18、1、v18、2、v18、3、v18、4のうちで絶対値が最大の成分がv18、3であるとする。
各代表ベクトルにこのようにインデックスを付すことは、本実施形態において導入された上述の所定の方針に合致している。また、MDCT係数で表されるスペクトルとの関係という観点からは、座標軸に付された番号の大小が、周波数の高低に対応しているといえる。さらに、図12に即すと、定性的には、V15は第0軸と小さな角度をなし、V16は第1軸と小さな角度をなし、V17は第2軸と小さな角度をなし、V18は第3軸と小さな角度をなす、といえる。
以下では、例として、各代表ベクトルを部分スペクトルとして表示した場合に、それぞれのベクトルが、具体的には、図13に示す形状になるとする。すなわち、図13(a)、(c)、(d)、(e)の実線で描かれた棒グラフが、それぞれ、代表ベクトルV16、V15、V17、V18に対応する部分スペクトルである。上述のとおりV16の成分v16、0、v16、1、v16、2、v16、3、v16、4のうちで絶対値が最大の成分はv16、1であるので、図13(a)に示すように、V16に対応する部分スペクトルにおいては、ブロック1に相当する周波数がピーク周波数となる。
なお、図13(b)〜(e)においては、参考のため、代表ベクトルV16に対応する部分スペクトルが、点線で示されている。
ここで、理解に際しての混乱を防ぐために、用語について整理する。前述のとおり、部分スペクトルとは、スペクトル全体のうちの周波数jに対応する部分のことである。そして、ここでいうピーク周波数とは、周波数jの帯域をさらに細分した周波数のうちの、部分スペクトルにピークをもたらす周波数を指す。
なお、図2を参照すれば明らかなように、本実施形態においては、厳密には、部分スペクトルにおけるMDCT係数の並び方は、ブロック順つまり時間順になっているのであって、周波数順ではない。しかし、図2に点線矢印で示したとおり、時間順を周波数順に見立てて部分スペクトルを構成し、そのような部分スペクトルを周波数jの順に並べることによりフレーム1個に対応するスペクトルを完成させているから、代表ベクトルによる近似を論じる際には、部分スペクトル内のMDCT係数の並び方は周波数順であるとみなすことにする。このようにみなすのは、単に、本実施形態においては、フレームとブロックという複数の時間区分が導入された上で周波数変換としてブロック単位でのMDCTが採用されたからである。例えば、フレーム1個にブロック1個が対応すなわちフレーム全体の音声信号に一括してMDCTを施したり、または、フレームやブロックとは異なる時間区分の概念を導入したり別の周波数変換を採用したりすれば、周波数変換係数の並び方から経時的要素が排除されることもある。ベクトル量子化を行うための単位である部分スペクトル内でのMDCT係数の並び方は、本実施形態の場合のように時間順であってもさしつかえない。本実施形態は音声信号の時間軸上及び周波数軸上の連続性を有効に利用するものであるため、スペクトルの生成過程の一部において時系列が扱われていたとしても、一貫した方針に基づいて生成されたスペクトルを扱う限りは、本発明の効果が生じるからである。
前述のように代表ベクトルV16に対応する部分スペクトルは図13(a)である。他の代表ベクトルについては、V15のピーク周波数はブロック0に相当する周波数がピーク周波数となり、V17のピーク周波数はブロック2に相当する周波数がピーク周波数となり、V18のピーク周波数はブロック3に相当する周波数がピーク周波数となる。このようにインデックスの昇順にピーク周波数が高くなるから、以下では理解を容易にするために、図13(c)、(d)、(e)に示すように、代表ベクトルV15、V17、V18は、たまたま、代表ベクトルV16に対応する部分スペクトルをインデックスの差分のぶんだけ周波数軸方向にずらしたものに対応しているとする。例えば、V17に対応する部分スペクトルは、V16に対応する部分スペクトルを、高周波方向に1ブロックぶんずらしたものであるとする。このとき元々V16の最高周波数すなわちブロック4に対応していたMDCT係数は、V17においては、最低周波数すなわちブロック0に対応させるようにする。このような場合だけを考えても、ピーク周波数とインデックスの差分とは整合するので、本実施形態の特徴を記述するにあたりなんら問題ない。また、本実施形態においては複数の代表ベクトルが等しいエネルギーを有する場合を問題としており、この点に鑑みれば、上述のように各代表ベクトルが相互に周波数軸方向についての平行移動により得られる場合、全ての代表ベクトルのエネルギーが等しいことは自明なので、理解の上で好都合である。
以下では、ある周波数jについて、時刻tと時刻t+Δtとで行われるベクトル量子化について述べる。時刻tにおいて、部分スペクトルを表すベクトルFt、jに最も類似した代表ベクトルとして、代表ベクトルV16が選択されたとする。つまり、Ft、jをV16で近似したとする。次の時刻の部分スペクトルを表すベクトルFt+Δt、jがいかなる代表ベクトルで近似されるかについては、様々な場合が考えられる。例えば、代表ベクトルV15、V16、V17、V18より高いエネルギーを有する代表ベクトルで近似されるかもしれないし、より低いエネルギーを有する代表ベクトルで近似されるかもしれない。このように直前の時刻で近似に用いられた代表ベクトルとはエネルギーの異なる代表ベクトルで近似される場合には、本実施形態に特有の効果は生じず、実施形態1と同じ効果が生じるにとどまる。
一方、次の時刻の部分スペクトルを表すベクトルFt+Δt、jが、代表ベクトルV15、V16、V17、V18のいずれかで近似される場合も考えられる。このような事態は、音声信号の連続性と、定常性、すなわち音声信号にはしばしば定常状態の時間帯があるという性質と、のために、決してまれな事態ではなく、むしろ頻繁に生じる事態である。そして、そのうちでも、直前の時刻である時刻tにおいて選択された代表ベクトルと同じ代表ベクトルであるV16が再び選択される可能性が高い。つまり、Ft+Δt、jがFt、jと同じ又はほとんど同じとなり、近似のための代表ベクトルとして同じものが選択される可能性が高い。これは、上述の連続性及び定常性のためである。かかる場合、インデックスの差分は、16-16により、0となる。
次に可能性が高いのは、Ft+Δt、jが、V15又はV17により近似されることである。上述の連続性及び定常性ゆえに、Ft+Δt、jに対応する部分スペクトルは、Ft、jに対応する部分スペクトルがわずかに変化したものである場合の方が、大きく変化したものである場合よりも多いためである。図13を参照して説明すると、V15又はV17に対応する部分スペクトルは、V16に対応する部分スペクトルと比べてブロック1個に相当する周波数ぶんだけピークが移動したものであるから、V16がわずかに変化したものであるといえる。一方、V18に対応する部分スペクトルは、V16に対応する部分スペクトルと比べてブロック2個に相当する周波数ぶんだけピークが移動したものであるから、相対的には、V16が大きく変化したものであるといえる。したがって、Ft+Δt、jがV15又はV17で近似される可能性は、V18で近似される可能性よりも高い。Ft+Δt、jがV15で近似される場合、インデックスの差分は、15-16により、-1となる。Ft+Δt、jがV17で近似される場合、インデックスの差分は、17-16により、1となる。Ft+Δt、jがV18で近似される場合、インデックスの差分は、18-16により、2となる。
以上から明らかなように、時刻t+Δtにおいて近似に用いられる代表ベクトルのエネルギーが、時刻tにおいて近似に用いられた代表ベクトルのエネルギーと等しい場合、両代表ベクトルのインデックスの差分は、本実施形態において新たに導入された上述の制約に従ってインデックスが代表ベクトルに付されている限り、0になる確率が最も高く、続いて+1になる確率と-1になる確率とが高く、続いて+2になる確率と-2になる確率とが高くなり、以下同様である。つまり、インデックス差分には、絶対値が小さい値ほど出現頻度が高い、という偏りが生じている。かかる偏りの存在ゆえに、エントロピ符号化による符号化の効率が高くなる。
このように、本実施形態によれば、実施形態1の場合と同様の理由から符号化の効率が高くなるのに加えて、複数の連続するフレームにわたってスペクトルのエネルギーがほぼ一定である場合には符号化の効率がいっそう高くなることが期待できる。そして、音声信号の連続性及び定常性ゆえに、そのように複数の連続するフレームにわたってスペクトルのエネルギーがほぼ一定である場合は頻繁に生じるので、本実施形態に特有の効果が生じる場合は多い。
なお、この発明は、上記実施形態に限定されず、種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは例示であって、限定されるものではない。
例えば、図1に示される音声符号化兼復号装置3として携帯電話機を想定して説明したが、PHS(Personal Handyphone System)や、PDA(Personal Digital Assistants)、あるいは一般的なパーソナルコンピュータには、本発明を容易に適用することができる。すなわち、上記実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
また、上述の実施形態では、ベクトル量子化の際、高域周波数と低域周波数で異なるVQテーブルを用いるようにしたが、音声の全ての周波数帯域で同一のV Qテーブルを用いるようにしてもよい。また、周波数帯域を更に細かく分け、周波数帯域毎に異なるVQテーブルを用いるようにしてもよい。
また、しばしばエネルギーの昇順、降順に言及したが、どちらか一方しか言及していない場合であっても、全体として一貫した方針が採用される限りは、昇順であっても降順であってもよい。
入力音声信号のフレーム分割と、1フレームと各ブロックとの関係と、を示す図である。 本発明の実施形態1における、ブロック毎のMDCTとフレーム単位でのスペクトルとの関係を模式的に示す図である。 本発明の実施形態1に係る音声符号化兼復号装置の物理的な構成を示す図である。 本発明の実施形態1に係る音声符号化兼復号装置が音声符号化装置として機能する際の信号処理の流れを示す図である。 本発明の実施形態1に係るベクトル量子化関連処理部の詳細を示す図である。 本発明の実施形態1において符号化側でインデックス差分を求める流れを示す図である。 本発明の実施形態1における、符号長監視の流れを示す図である。 本発明の実施形態1に係る音声符号化兼復号装置が音声復号装置として機能する際の信号処理の流れを示す図である。 本発明の実施形態1に係るベクトル逆量子化関連処理部の詳細を示す図である。 本発明の実施形態1において復号側で代表ベクトルを求める流れの前半を示す図である。 本発明の実施形態1において復号側で代表ベクトルを求める流れの後半を示す図である。 本発明の実施形態2における、等エネルギーの複数の代表ベクトルを、模式的に多次元空間に表した図である。 本発明の実施形態2における、所定の時間間隔の前後でのベクトル量子化の様子を模式的に表した図である。
符号の説明
3・・・音声符号化兼復号装置、4・・・A/D変換部、5・・・ベクトル量子化部、8・・・エントロピ復号部、9・・・インデックス算出部、23・・・DC除去部、25・・・フレーム化部、27・・・レベル調整部、29・・・周波数変換部、31・・・スペクトル完成部、33・・・ベクトル量子化関連処理部、35・・・エントロピ符号化部、37・・・符号長監視部、39・・・帯域データ削除部、41・・・低域用ソート済VQテーブル、43・・・高域用ソート済VQテーブル、45・・・インデックス差分算出部、47・・・ベクトル量子化関連処理部の代表ベクトルインデックス記憶部、49・・・ベクトル逆量子化関連処理部、51・・・時間順並べ替え部、53・・・周波数逆変換部、55・・・レベル再現部、57・・・フレーム合成部、59・・・D/A変換部、61・・・ベクトル逆量子化関連処理部の代表ベクトルインデックス記憶部、63・・・ベクトル逆量子化部、121・・・CPU、123・・・ROM、125・・・記憶部、131・・・RAM、133・・・ハードディスク、141・・・音声処理部、151・・・マイクロフォン、153・・・スピーカ、161・・・無線通信部、163・・・アンテナ、171・・・操作キー入力内容処理部、173・・・操作キー、181・・・システムバス

Claims (11)

  1. デジタル音声信号を、所定の時間区間であるフレーム毎のデジタル音声信号であるフレーム化デジタル音声信号に分割するフレーム化部と、
    前記フレーム化デジタル音声信号を周波数変換して、前記フレーム毎にデジタルスペクトルを生成する周波数変換部と、
    エネルギーの大きさの順に代表ベクトルにインデックスが付され、かつ、エネルギーが等しい代表ベクトルについては、ベクトルの成分を番号で示す場合に、絶対値が最大の成分を示す番号が番号の大きさ順に並ぶようにソートされてインデックスが付されたベクトル量子化テーブルと、
    前記ベクトル量子化テーブルを用いて前記デジタルスペクトルをベクトル量子化することにより、該デジタルスペクトルに対応する前記インデックスを求めるベクトル量子化部と、
    前記ベクトル量子化部により求められたインデックスを、該インデックスに対応する前記フレームに関連付けて記憶するインデックス記憶部と、
    前記ベクトル量子化部により求められたインデックスを前記ベクトル量子化部から取得するとともに、該インデックスに対応する前記フレームよりも時間的に過去の前記フレームに関連付けられて前記インデックス記憶部に記憶されているインデックスを前記インデックス記憶部から取得し、取得した両インデックスの差分を算出するインデックス差分算出部と、
    前記インデックス差分算出部により算出された差分をエントロピ符号化することにより符号を生成する符号化部と、
    を備える音声符号化装置。
  2. 前記インデックス差分算出部は、
    前記ベクトル量子化部により求められたインデックスを前記ベクトル量子化部から取得するとともに、該インデックスに対応する前記フレームの時間的に直前の前記フレームに関連付けられて前記インデックス記憶部に記憶されているインデックスを前記インデックス記憶部から取得し、取得した両インデックスの差分を算出する、
    ことを特徴とする請求項1に記載の音声符号化装置。
  3. 前記ベクトル量子化テーブルは、
    複数の帯域別テーブルを備え、
    前記帯域別テーブルは、
    それぞれが特定の帯域であるテーブル用帯域に関連付けられるとともに該テーブル用帯域における典型的な音声スペクトルパターンと整合する代表ベクトルから構成される、
    ことを特徴とし、
    前記ベクトル量子化部は、
    前記デジタルスペクトルを前記テーブル用帯域と同じ又はより細分された帯域である量子化用帯域毎にベクトル量子化するとともに、前記量子化用帯域毎にベクトル量子化するに際して該量子化帯域が含まれる前記テーブル用帯域に対応する前記帯域別テーブルを用いる、
    ことを特徴とする請求項1又は2に記載の音声符号化装置。
  4. 前記符号化部が生成した符号の符号長を求め、該符号長が予め設定された目標符号長以下であるか否かを判別する符号長監視部をさらに備え、
    前記符号化部は、
    前記符号長監視部により前記符号長が前記目標符号長より長いと判別された場合には、所定の削除用帯域に区分された前記デジタルスペクトルのうち相対的にエネルギーの低い削除用帯域に対応する部分をエントロピ符号化の対象から除外した後に再びエントロピ符号化する、
    ことを特徴とする請求項1乃至の何れか1項に記載の音声符号化装置。
  5. 前記周波数変換部は、
    前記フレーム化デジタル音声信号を変形離散コサイン変換して、前記フレーム毎に前記デジタルスペクトルを生成する、
    ことを特徴とする請求項1乃至の何れか1項に記載の音声符号化装置。
  6. デジタル音声信号を、所定の時間区間であるフレーム毎のデジタル音声信号であるフレーム化デジタル音声信号に分割するフレーム化ステップと、
    前記フレーム化デジタル音声信号を周波数変換して、前記フレーム毎にデジタルスペクトルを生成する周波数変換ステップと、
    エネルギーの大きさの順に代表ベクトルにインデックスが付され、かつ、エネルギーが等しい代表ベクトルについては、ベクトルの成分を番号で示す場合に、絶対値が最大の成分を示す番号が番号の大きさ順に並ぶようにソートされてインデックスが付されたベクトル量子化テーブルを用いて前記デジタルスペクトルをベクトル量子化することにより、該デジタルスペクトルに対応する前記インデックスを求めるベクトル量子化ステップと、
    前記ベクトル量子ステップにより求められたインデックスを、該インデックスに対応する前記フレームに関連付けて記憶するインデックス記憶ステップと、
    前記ベクトル量子化ステップにより求められたインデックスを前記ベクトル量子化ステップから取得するとともに、該インデックスに対応する前記フレームよりも時間的に過去の前記フレームに関連付けられて過去の前記インデックス記憶ステップで記憶したインデックスを取得し、取得した両インデックスの差分を算出するインデックス差分算出ステップと、
    前記インデックス差分算出ステップにより算出された差分をエントロピ符号化することにより符号を生成する符号化ステップと、
    から構成される音声符号化方法。
  7. 前記インデックス差分算出ステップは、
    前記ベクトル量子化ステップにより求められたインデックスを取得するとともに、該インデックスに対応する前記フレームの時間的に直前の前記フレームに関連付けられて前記インデックス記憶ステップで記憶されたインデックスを取得し、取得した両インデックスの差分を算出する、
    ことを特徴とする請求項6に記載の音声符号化方法。
  8. 前記符号化ステップが生成した符号の符号長を求め、該符号長が予め設定された目標符号長以下であるか否かを判別する符号長監視ステップをさらに備え、
    前記符号化ステップは、
    前記符号長監視ステップにより前記符号長が前記目標符号長より長いと判別された場合には、所定の削除用帯域に区分された前記デジタルスペクトルのうち相対的にエネルギーの低い削除用帯域に対応する部分をエントロピ符号化の対象から除外した後に再びエントロピ符号化する、
    ことを特徴とする請求項6又は7に記載の音声符号化方法。
  9. コンピュータに、
    デジタル音声信号を、所定の時間区間であるフレーム毎のデジタル音声信号であるフレーム化デジタル音声信号に分割するフレーム化ステップと、
    前記フレーム化デジタル音声信号を周波数変換して、前記フレーム毎にデジタルスペクトルを生成する周波数変換ステップと、
    エネルギーの大きさの順に代表ベクトルにインデックスが付され、かつ、エネルギーが等しい代表ベクトルについては、ベクトルの成分を番号で示す場合に、絶対値が最大の成分を示す番号が番号の大きさ順に並ぶようにソートされてインデックスが付されたベクトル量子化テーブルを用いて前記デジタルスペクトルをベクトル量子化することにより、該デジタルスペクトルに対応する前記インデックスを求めるベクトル量子化ステップと、
    前記ベクトル量子ステップにより求められたインデックスを、該インデックスに対応する前記フレームに関連付けて記憶するインデックス記憶ステップと、
    前記ベクトル量子化ステップにより求められたインデックスを前記ベクトル量子化ステップから取得するとともに、該インデックスに対応する前記フレームよりも時間的に過去の前記フレームに関連付けられて過去の前記インデックス記憶ステップで記憶したインデックスを取得し、取得した両インデックスの差分を算出するインデックス差分算出ステップと、
    前記インデックス差分算出ステップにより算出された差分をエントロピ符号化することにより符号を生成する符号化ステップと、
    を実行させるプログラム。
  10. 前記インデックス差分算出ステップは、
    前記ベクトル量子化ステップにより求められたインデックスを取得するとともに、該インデックスに対応する前記フレームの時間的に直前の前記フレームに関連付けられて前記インデックス記憶ステップで記憶されたインデックスを取得し、取得した両インデックスの差分を算出する、
    ことを特徴とする請求項9に記載のプログラム。
  11. 前記符号化ステップが生成した符号の符号長を求め、該符号長が予め設定された目標符号長以下であるか否かを判別する符号長監視ステップをさらに備え、
    前記符号化ステップは、
    前記符号長監視ステップにより前記符号長が前記目標符号長より長いと判別された場合には、所定の削除用帯域に区分された前記デジタルスペクトルのうち相対的にエネルギーの低い削除用帯域に対応する部分をエントロピ符号化の対象から除外した後に再びエントロピ符号化する、
    ことを特徴とする請求項9又は10に記載のプログラム。
JP2007162359A 2007-06-20 2007-06-20 音声符号化装置、音声符号化方法、及び、プログラム Expired - Fee Related JP5098458B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007162359A JP5098458B2 (ja) 2007-06-20 2007-06-20 音声符号化装置、音声符号化方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007162359A JP5098458B2 (ja) 2007-06-20 2007-06-20 音声符号化装置、音声符号化方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2009003078A JP2009003078A (ja) 2009-01-08
JP5098458B2 true JP5098458B2 (ja) 2012-12-12

Family

ID=40319556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007162359A Expired - Fee Related JP5098458B2 (ja) 2007-06-20 2007-06-20 音声符号化装置、音声符号化方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5098458B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3159012B2 (ja) * 1995-10-26 2001-04-23 日本ビクター株式会社 音響信号の符号化装置及び復号化装置
JPH10200890A (ja) * 1997-01-09 1998-07-31 Matsushita Electric Ind Co Ltd 画像符号化方法
JP3483513B2 (ja) * 2000-03-02 2004-01-06 沖電気工業株式会社 音声録音再生装置
KR100844810B1 (ko) * 2000-12-22 2008-07-09 소니 가부시끼 가이샤 부호화 장치 및 복호 장치
JP4009781B2 (ja) * 2003-10-27 2007-11-21 カシオ計算機株式会社 音声処理装置及び音声符号化方法
KR100755471B1 (ko) * 2005-07-19 2007-09-05 한국전자통신연구원 가상음원위치정보에 기반한 채널간 크기 차이 양자화 및역양자화 방법
WO2007011157A1 (en) * 2005-07-19 2007-01-25 Electronics And Telecommunications Research Institute Virtual source location information based channel level difference quantization and dequantization method

Also Published As

Publication number Publication date
JP2009003078A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
CN1942928B (zh) 用于处理音频信号的模块和方法
JP4731775B2 (ja) スーパーフレーム構造のlpcハーモニックボコーダ
EP2272062B1 (en) An audio signal classifier
US7599833B2 (en) Apparatus and method for coding residual signals of audio signals into a frequency domain and apparatus and method for decoding the same
US9741352B2 (en) Method and apparatus for processing an audio signal
MXPA05006664A (es) Metodo y dispositivo para la cuantizacion robusta de vector predictivo de parametros de prediccion lineal en la codificacion de conversacion a velocidad variable de bits.
JP6204501B2 (ja) 高周波帯域信号を予測するための方法、符号化デバイス、および復号デバイス
JP4978539B2 (ja) 符号化装置、符号化方法及びプログラム。
KR20070070189A (ko) 음성 부호화 장치 및 음성 부호화 방법
JP4800645B2 (ja) 音声符号化装置、及び音声符号化方法
JPWO2006041055A1 (ja) スケーラブル符号化装置、スケーラブル復号装置及びスケーラブル符号化方法
JP3344944B2 (ja) オーディオ信号符号化装置,オーディオ信号復号化装置,オーディオ信号符号化方法,及びオーディオ信号復号化方法
US20090210219A1 (en) Apparatus and method for coding and decoding residual signal
JP2001507822A (ja) スピーチ信号のエンコード方法
EP1121686B1 (en) Speech parameter compression
KR101804922B1 (ko) 오디오 신호 처리 방법 및 장치
JP3297749B2 (ja) 符号化方法
Raad et al. Scalable to lossless audio compression based on perceptual set partitioning in hierarchical trees (PSPIHT)
JP5098458B2 (ja) 音声符号化装置、音声符号化方法、及び、プログラム
JP4009781B2 (ja) 音声処理装置及び音声符号化方法
JP4091506B2 (ja) 2段音声画像符号化方法、その装置及びプログラム及びこのプログラムを記録した記録媒体
JPH05265487A (ja) 高能率符号化方法
JP2002091497A (ja) オーディオ信号符号化方法、復号化方法及びそれらの方法を実行するプログラム記憶媒体
JP2712925B2 (ja) 音声処理装置
JP3453116B2 (ja) 音声符号化方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

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

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

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

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5098458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees