以下、図面を参照して、本発明の実施形態について具体的に説明する。本発明を説明するに当たって、関連した公知の機能又は構成についての具体的な説明が本発明の要旨を不明確にする恐れがあると判断される場合には、その詳細な説明を省略する。
本明細書において第1構成要素が第2構成要素に「連結されて」いるか、又は「接続されて」いると記載された場合には、第2構成要素に直接的に連結又は接続されている場合もあるし、第3構成要素を媒介して第2構成要素に連結又は接続されている場合もある。
“第1”、“第2”などの用語は、一つの技術的構成を他の技術的構成から区別するために使用することがある。例えば、本発明の技術的思想の範囲内で第1構成要素と呼ばれる構成要素は、第2構成要素と呼ばれて同じ機能を行うこともできる。
図1は、一般的な音声符号化器に関する構成の一例を概略的に説明する図である。
図1に示すように、音声符号化器100は、帯域幅確認部105、標本化変換部125、前処理部130、帯域分割部110、線形予測分析部115、135、線形予測量子化部120、140、量子化部150、175、変換部145、逆変換部155、180、ピッチ検出部160、適応符号表検索部165、固定符号表検索部170、モード選択部185、帯域予測部190、補償利得予測部195を備えることができる。
帯域幅確認部105は、入力される音声信号の帯域幅情報を判断できる。音声信号は、帯域幅に応じて、約4kHzの帯域幅を有し、公衆交換電話網(PSTN)において主に使用される狭帯域信号、約7kHzの帯域幅を有し狭帯域の音声信号より自然な高音質スピーチ又はAMラジオで主に使用される広帯域信号、及び約14kHzの帯域幅を有し、音楽、デジタル放送のように音質が重要となる分野において主に使用される超広帯域信号に、分類することができる。帯域幅確認部105では、入力された音声信号を周波数領域に変換して、現在音声信号の帯域幅が狭帯域信号なのか、広帯域信号なのか、超広帯域信号なのかを判断できる。帯域幅確認部105は、入力された音声信号を周波数領域に変換して、スペクトルの上位帯域ビン(bin)の有無及び/又は成分を調査し判別することもできる。具現方法によっては、入力される音声信号の帯域幅が固定されている場合は、帯域幅確認部105を別に備えなくてもよい。
帯域幅確認部105は、入力された音声信号の帯域幅に応じて、超広帯域信号は、帯域分割部110に送信し、狭帯域信号又は広帯域信号は、標本化変換部125に送信できる。
帯域分割部110は、入力された信号の標本化速度を変換し、上位帯域と下位帯域とに分割できる。例えば、32kHzの音声信号を25.6kHzの標本化周波数に変換し、上位帯域と下位帯域とに12.8kHzずつ分割できる。帯域分割部110は、分割された帯域のうち、下位帯域信号を前処理部130に送信し、上位帯域信号を線形予測分析部115に送信する。
標本化変換部125は、入力された狭帯域信号又は広帯域信号を受信し、特定の標本化速度を変更できる。例えば、入力された狭帯域音声信号の標本化速度が8kHzである場合、12.8kHzにアップサンプリングして上位帯域信号を生成でき、入力された広帯域音声信号が16kHzの場合、12.8kHzにダウンサンプリングを行って下位帯域信号を作ることができる。標本化変換部125は、標本化変換された下位帯域信号を出力する。内部標本化周波数は、12.8kHzではない他の標本化周波数であってもよい。
前処理部130は、標本化変換部125及び帯域分割部110から出力された下位帯域信号に対して前処理を行う。前処理部130では、音声パラメータが効率的に抽出されうるように、入力信号をろ波する。音声帯域幅に応じて異なる遮断周波数を設定して、相対的に余り重要でない情報が集まっている周波数帯域である極低周波を高域通過ろ波することによって、パラメータ抽出時に必要な重要帯域に集中できる。更に他の例として、プリエンファシスろ波を使用して入力信号の高い周波数帯域を増強することによって、低い周波数領域と高い周波数領域のエネルギを調整(スケーリング)できる。したがって、線形予測分析時に解像度を増加させることができる。
線形予測分析部115、135は、線形予測係数(Linear Prediction Coefficient、LPC)を算出できる。線形予測分析部115、135では、音声信号の周波数スペクトルの全体模様を表すフォルマントをモデル化できる。線形予測分析部115、135では、本来の音声信号と、線形予測分析部135から算出された線形予測係数を利用して生成した予測音声信号との差である誤差値の平均2乗誤差(MSE)が最も小さくなるように、LPC値を算出できる。LPCを算出するためには、自己相関法又は共分散法など多様な方法を使用することができる。
線形予測分析部115は、下位帯域信号に対する線形予測分析部135とは異なり、低い次数のLPCを抽出できる。
線形予測量子化部120、140では抽出されたLPCを変換して、線スペクトル対(Line Spectral Pair、LSP)又は線スペクトル周波数(Line Spectral Frequency、LSF)のような周波数領域の変換係数を生成し、生成された周波数領域の変換係数を量子化できる。LPCは、大きな動的範囲(Dynamic Range)を有するため、このようなLPCをそのまま送信する場合、多くのビットが必要となる。したがって、周波数領域に変換し、変換係数を量子化することによって、少ないビット(圧縮量)でLPC情報を送信できる。
線形予測量子化部120、140では、量子化されたLPCを逆量子化して時間領域に変換されたLPCを利用することによって、線形予測残余信号を生成できる。線形予測残余信号は、音声信号から予測されたフォルマント成分が除かれた信号であって、ピッチ情報とランダム信号とを含むことができる。
線形予測量子化部120では、量子化されたLPCを利用して、本来の上位帯域信号をろ波することによって先行予測残余信号を生成する。生成された線形予測残余信号は、上位帯域予測励起信号との補償利得を求めるために、補償利得予測部195に送信される。
線形予測量子化部140では、量子化されたLPCを利用して、本来の下位帯域信号をろ波することによって線形予測残余信号を生成する。生成された線形予測残余信号は、変換部145及びピッチ検出部160に入力される。
図1において、変換部145、量子化部150、逆変換部155は、変換符号化励起(Transform Coded Excitation、TCX)モードを行うTCXモード部として動作できる。また、ピッチ検出部160、適応符号表検索部165、固定符号表検索部170は、符号励起線形予測(Code Excited Linear Prediction、CELP)モードを行うCELPモード遂行部として動作できる。
変換部145では、離散フーリエ変換(DFT)又は高速フーリエ変換(FFT)のような変換関数に基づいて、入力された線形予測残余信号を周波数領域に変換することができる。変換部145は、変換係数情報を量子化部150に送信できる。
量子化部150では、変換部145から生成された変換係数に対して量子化を行うことができる。量子化部150では、多様な方法で量子化を行うことができる。量子化部150は、選択的に周波数帯域に応じて量子化を行うことができ、また、合成分析(Analysis by Synthesis、AbS)を利用して最適の周波数の組合せを算出することもできる。
逆変換部155は、量子化された情報に基づいて逆変換を行って、時間領域で線形予測残余信号の復元された励起信号を生成できる。
量子化後に逆変換された線形予測残余信号、すなわち、復元された励起信号は、線形予測を介して音声信号として復元される。復元された音声信号は、モード選択部185に送信される。このようにTCXモードに復元された音声信号は、後述するCELPモードに量子化し復元された音声信号と比較することができる。
一方、CELPモードにおいて、ピッチ検出部160は、自己相関方法のような開ループ(open−loop)方式を利用して、線形予測残余信号に対するピッチを算出できる。例えば、ピッチ検出部160は、合成された音声信号と実際の音声信号とを比較して、ピッチ周期及びピック値などを算出でき、このとき、AbSなどの方法を利用できる。
適応符号表検索部165は、ピッチ検出部から算出されたピッチ情報に基づいて、適応符号表インデクスと利得とを抽出する。適応符号表検索部165は、AbSなどを利用して適応符号表インデクスと利得情報とに基づいて、線形予測残余信号からピッチ構造を算出できる。適応符号表検索部165は、適応符号表の寄与分、例えばピッチ構造に関する情報の除かれた線形予測残余信号を固定符号表検索部170に送信する。
固定符号表検索部170は、適応符号表検索部165から受信した線形予測残余信号に基づいて、固定符号表インデクスと利得とを抽出し、符号化できる。このとき、固定符号表検索部170から固定符号表インデクスと利得とを抽出するために利用する線形予測残余信号は、ピッチ構造に関する情報の除かれた線形予測残余信号であってよい。
量子化部175は、ピッチ検出部160から出力されたピッチ情報、適応符号表検索部165から出力された適応符号表インデクス及び利得、固定符号表検索部170から出力された固定符号表インデクス及び利得、などのパラメータを量子化する。
逆変換部180は、量子化部175で量子化された情報を利用して、復元された線形予測残余信号である励起信号を生成できる。励起信号に基づいて線形予測の逆過程を通じて音声信号を復元できる。
逆変換部180は、CELPモードに復元された音声信号をモード選択部185に送信する。
モード選択部185では、TCXモードを介して復元されたTCX励起信号と、CELPモードを介して復元されたCELP励起信号とを比較して、本来の線形予測残余信号により類似した信号を選択できる。モード選択部185は、選択した励起信号がどのモードによって復元されたかについての情報もまた、符号化できる。モード選択部185は、復元された音声信号の選択に関する選択情報と励起信号とを帯域予測部190に送信できる。
帯域予測部190は、モード選択部185から送信された選択情報と復元された励起信号とを利用して、上位帯域の予測励起信号を生成できる。
補償利得予測部195は、帯域予測部190から送信された上位帯域予測励起信号と、線形予測量子化部120から送信された上位帯域予測残余信号とを比較して、スペクトル上の利得を補償できる。
一方、図1の例における各構成部は、各々別途のモジュールとして動作してもよいし、複数の構成部が一つのモジュールを形成して動作してもよい。例えば、量子化部120、140、150、175は、一つのモジュールとして各動作を行ってもよいし、量子化部120、140、150、175それぞれが、別途のモジュールとしてプロセス上の必要な位置に備えられてもよい。
図2は、一般的な音声復号器の一実施形態を概略的に示した図である。
図2に示すように、音声復号器200は、逆量子化部205、210、帯域予測部220、利得補償部225、逆変換部215、線形予測合成部230、235、標本化変換部240、帯域合成部250、後処理ろ波部245、255を備えることができる。
逆量子化部205、210は、量子化されたパラメータ情報を音声符号化器から受信し、これを逆量子化する。
逆変換部215は、TCXモード又はCELPモードで符号化された音声情報を逆変換して、励起信号を復元できる。逆変換部215は、符号化器から受信したパラメータに基づいて復元された励起信号を生成できる。このとき、逆変換部215は、音声符号化器から選択された一部帯域に対してだけ、逆変換を行うことができる。逆変換部215は、復元された励起信号を線形予測合成部235と帯域予測部220とに送信できる。
線形予測合成部235は、逆変換部215から送信された励起信号と、音声符号化器から送信された線形予測係数とを利用して、下位帯域信号を復元できる。線形予測合成部235は、復元された下位帯域信号を標本化変換部240と帯域合成部250とに送信できる。
帯域予測部220は、逆変換部215から受信した復元された励起信号値に基づいて、上位帯域の予測励起信号を生成できる。
利得補償部225は、帯域予測部220から受信した上位帯域予測励起信号と、符号化器から送信された補償利得値とに基づいて、超広帯域音声信号に対するスペクトル上の利得を補償できる。
線形予測合成部230は、補償された上位帯域予測励起信号値を利得補償部225から受信し、補償された上位帯域予測励起信号値と、音声符号化器から受信した線形予測係数値とに基づいて、上位帯域信号を復元できる。
帯域合成部250は、復元された下位帯域の信号を線形予測合成部235から受信し、復元された上位帯域信号を線形予測合成部230から受信して、受信した上位帯域信号と下位帯域信号とに対する帯域合成を行うことができる。
標本化変換部240は、内部標本化周波数値を本来の標本化周波数値に再度変換することができる。
後処理部245、255では、信号復元のために必要な後処理を行うことができる。例えば、後処理部245、255は、前処理部でプリエンファシスフィルタの逆ろ波ができるデエンファシスフィルタを有することができる。後処理部245、255は、ろ波だけでなく、量子化誤差を最小化したり、スペクトルの高調波ピークを生かして谷(valley)を除去したりするなど、色々な後処理動作を行うこともできる。後処理部245は、復元された狭帯域又は広帯域信号を出力し、後処理部255は、復元された超広帯域信号を出力できる。
前述したように、図1及び図2において開示した音声符号化器は、本発明において開示された発明が使用される一つの例示であって、本発明に係る技術的思想の範囲内で多様な応用が可能である。
上述したように、符号化器は、入力された音声信号からパラメータを抽出し、これを量子化してパケットに送信する。復号器は、符号化器から送信されたパケットを受信し、これに基づいて音声信号を復元する復号を行う。このとき、音声信号から抽出/送信され、受信/復号されるパラメータは、励起信号、ピッチ周期及びLPC係数を含む。LPC係数は、量子化が困難であるため、LPC係数に1対1に対応するイミタンススペクトル対(Immittance Spectral Pairs、ISP)係数に変換して送信することができる。
音声信号のうち、フォルマント成分は、線形予測(LP)によってモデル化することができる。その他の残余信号部分は、ピッチ検索によってモデル化することができ、ピッチ検索後の残余部分は、符号表による励起信号を通じて補正できる。
与えられた時点での音声信号は、先行音声信号の線形組合せ、すなわち線形予測によって近似でき、線形予測による信号と原本信号との間の誤差は、励起信号によって補償することができる。
このとき、線形予測において先行音声サンプルに適用される利得又は係数を線形予測(LP)又は線形予測係数(LPC)という。上述したように、量子化のためにLPC係数はISP係数に変換することができる。ISPは、LPCパラメータ(LPC係数)を変換して得られる。例えば、ISP係数は、逆フィルタ伝達関数を、奇対称(odd symmetry)を有する伝達関数と、偶対称(even symmery)を有する伝達関数とに分離して得られる多項式の根であってもよい。
ISP係数の他にも、LPC係数を変換した他の係数を音声信号符号化/復号に使用することができる。例えば、ISP係数の他にもLSP係数、イミタンススペクトル周波数(Immittance Spectral Frequencies、ISF)係数、LSF係数などを使用することができる。
LSP係数は、ISP係数と同様に、LPC係数に基づいた逆フィルタ関数を利用して加法多項式(summation polynomial)及び減法多項式(subtraction polynomial)を構成して作られた奇対称伝達関数及び偶対称伝達関数の根であってよい。
求めようとする根の個数を考慮して、前記構成される多項式の項数に応じて、LSPとISPとを区分することができる。例えば、LSPは、10次のLPC係数を変換するときに使用することができ、ISPは、16次のLPC係数を変換するときに使用することができる。
ISF係数とLSF係数とは、前述のISPとLSPとをコサイン領域に対応付けた値である。
また、先行音声信号は、各ピッチ周期別に選択することができる。ピッチは、例えば、時間軸において周期的に現れるピークの周波数を意味し、音声信号の基本的な周波数と同じ周波数を有する。ピッチ周期は、誤差を最小化するループ検索(AbS)を利用して検索した遅延(lag)に基づいて決定することができる。
励起信号は、原本音声信号と、線形予測による音声信号との間の誤差を補償するための残余信号ということができる。励起信号は、符号表を介して指定することができる。
符号化器は、音声信号のフレーム別にLPC係数に関する情報(例えば、LPC係数を導出するためのISP係数)、ピッチ周期に関する情報(例えば、ピッチ周期を導出するためのピッチ遅延)、励起信号に関する情報(例えば、励起信号を導出するための符号表インデクス及び符号表利得)を量子化及び符号化して送信できる。
復号器は、ISP係数から導出したLPC係数及び前記励起信号とピッチ情報とに基づいて、音声信号を復元できる。復号器は、符号化器から受信した情報のうち、符号表インデクスと利得とに基づいて励起信号を生成し、ピッチ遅延と利得とに基づいてピッチ周期を生成できる。復号器は、符号表からピッチ情報、利得、位置及び符号(sign)情報を取得して励起信号を生成することもできる。
ピッチ周期及び励起信号を導出するための符号表として、代数的符号表を使用してもよいし、適応的/固定的符号表を使用してもよい。適応的符号表は、各サブフレームに適した励起信号情報(励起信号ベクトル)を含み、ピッチ周期に対する遅延値を適応的符号表のインデクスから導出することもできる。固定的符号表は、スピーチ合成フィルタに対する励起ベクトルを含み、含んでいる内容は、固定された値を有することができる。
復号器はまた、ISP係数を変換してLPC係数を生成できる。LPC係数は、上述したISPへの変換過程を逆に適用して導出できる。
復号器は、復元された信号(LPC係数、ピッチ周期、励起信号、等)を合成して、音声信号を復元できる。
以下、本明細書では、音声信号を復号するために必要なパラメータ(LPC係数又はISP係数、ピッチ周期、励起信号、等)を復号パラメータという。
後述するように、音声信号は、復号器から復号された後、ジッタバッファを経て、出力/再生装置に出力することができる。また、音声信号は、ジッタバッファを経て復号器で復号された後、音声出力/再生装置に出力することもできる。また、音声信号は、ジッタバッファ及び復号器において並列に処理することもできる。音声信号が並列に処理される場合に、音声信号は、ジッタバッファで記憶/管理され、復号器で復号されてもよく、一方、ジッタバッファの記憶/管理に必要な情報と、復号器の復号に必要な情報とをジッタバッファと復号器との間で送受信してもよい。
図3は、ジッタバッファに関する構成の一例を概略的に説明する図である。図3に示すように、ジッタバッファ300は、受信部310、バッファ320、出力部330を備えることができる。
受信部310は、音声信号を受信することができる。受信される音声信号は、音声パケットであってもよいし、音声フレームであってもよい。受信部310は、符号化器から音声信号を受信してもよいし、復号器を介して音声信号を受信してもよい。
バッファ320は、音声信号を記憶し管理できる。記憶及び管理される音声信号は、音声パケットであってもよいし、音声フレームであってもよい。
出力部330は、再生(playback)時間に合わせて音声信号を出力できる。出力される音声信号は、音声パケットであってもよいし、音声フレームであってもよい。出力部330は、ジッタバッファにバッファされた音声信号を復号器に音声信号を出力することもできるし、再生装置(出力装置)に音声信号を出力することもできる。
ここでは、説明の便宜のために、ジッタバッファ300が三つの構成を含むと説明したが、本発明はこれに限定されず、ジッタバッファ自体が音声信号の受信、管理/処理、出力を行うこともできる。
ジッタバッファは、ネットワーク上において発生するデータのジッタに関する問題を処理するためのバッファである。
ジッタは、音声情報を符号化してパケット化した音声パケットが目的地(例えば、復号器)に到着するときに発生する可変的なネットワーク遅延を意味し、パケットが送信されるネットワーク上において発生できる。例えば、ジッタは、パケットの優先順位を決定するルータ内の待ち行列(Queue)及び/又はLAN間の衝突など、色々な理由によって発生することがある。そのため、音声パケットは、特定の間隔で到着しないときもあり、これによって発生する問題を解決するためにジッタバッファが使用される。
言い換えれば、ジッタバッファの利用目的の一つは、入力されるデータの不規則性を調整することであると言える。
図4は、一般的なジッタバッファの一例を概略的に説明する図である。図4では、ジッタバッファのバッファが5個の音声パケットを待機させること(queueing)ができるサイズを有する場合を例として説明している。
ジッタバッファは、バッファ(又は待ち行列)内に音声パケットを待機させ、音声パケットの実時間伝送プロトコル(RTP)ヘッダ情報を利用して、音声パケットの生成順序と間隔とを解析し、これに基づいて音声パケットをバッファ内で順次に再配列できる。
図4に示すように、ジッタバッファに受信された音声パケットがバッファ(待ち行列)内にシーケンス100(タイムスタンプ(TS)8000)のパケット、シーケンス101(タイムスタンプ8160)のパケット、シーケンス102(タイムスタンプ8320)のパケット、シーケンス104(タイムスタンプ8640)のパケットの順に配列されている場合、シーケンス103(タイムスタンプ8480)のパケット410が入力されると、ジッタバッファは、パケットの生成順序を考慮してシーケンス103のパケットとシーケンス104のパケットの順序を変えて再整列する。
ジッタバッファ内の音声パケットは、順に最優先のパケット420から出力される。
ジッタバッファは、音声信号を除去又は生成して遅延受信又は損失などによる問題を解決できる。また、ジッタバッファは、待機中である音声信号の長さを考慮してジッタバッファのサイズを減少又は増加させることができる。
ジッタバッファを使用しない場合、音声信号の再生時間を一定に維持することが困難であるという問題がある。
図5は、ジッタバッファを使用しない場合の一例を概略的に示した図である。図5に示すように、音声パケットの送信側では、5個の音声パケットPKT1〜PKT5を順に送信する。
音声パケットが送信端から送信される送信時間は、送信時間軸510上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、Tpktの時間間隔で各送信時間Ts1〜Ts5に送信される。このとき、時間間隔Tpktは、各音声パケットの再生時間であってよい。
音声パケットが受信端で受信される受信時間は、受信時間軸520上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、受信時間Tr1〜Tr5にそれぞれ受信される。図示のように、受信された音声パケットは、送信過程において多様な遅延要素の影響を受けることができ、特定の時間間隔で受信されないときもある。
各音声パケットが再生端で再生される再生時間は、再生時間軸530上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、再生時間Tpkt間隔で再生時間Tp1〜Tp5に出力されなければならない。しかしながら、音声パケットの受信は、特定の時間間隔でなされないときもあり、図示のように音声パケットPKT3と音声パケットPKT4とは、再生時間Tpktより大きな時間間隔をおいて受信することができる。
図5の例を考慮すれば、再生端でPKT4を再生しようとする時間Tp4にPKT4が受信されなかったため、再生端では、PKT4を再生することができず、音質の損失が発生できる。
言い換えれば、ジッタバッファを使用しない場合には、X番目の音声パケットの受信時間TrXが再生時間TpXより遅れることがあり、これによる音質の損失が発生することがある。
受信時間と再生時間との間の逆転又は受信遅延による再生遅延/不可の問題を解決するために、ジッタバッファは、十分な音声パケットを待機させ、再生端での周期的なパケット要求に対応する。図4のパケット420のようにジッタバッファに初めて受信される音声パケットは、再生要求に対応して最も先に出力することができる。
ジッタバッファは、音声パケットのRTPヘッダ情報に基づいて各音声パケットの生成間隔/時間に応じて音声パケットの補償を行うことができる。例えば、同じ生成間隔を有する音声パケットを生成することもあるし、同じ時間帯の音声パケットのうち、少なくとも一つを削除することもある。これによって、ジッタバッファは、再生される音声パケットによる音質の損失を最小化できる。
図6は、ジッタバッファ管理の一例を概略的に説明する図である。図6では、5個の音声パケットが送信/受信/管理/再生される場合を例として説明する。
図6に示すように、音声パケットが送信端から送信される送信時間は、送信時間軸610上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、Tpktの時間間隔で各送信時間Ts1〜Ts5に送信される。このとき、時間間隔Tpktは、各音声パケットの再生時間であってよい。
音声パケットが受信端で受信される受信時間は、受信時間軸620上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、受信時間Tr1〜Tr5にそれぞれ受信される。図示のように、受信された音声パケットは、送信過程において多様な遅延要素の影響を受けることもあるし、特定の時間間隔で受信されないこともある。
音声パケットは、図5の場合とは異なり、ジッタバッファに伝達される。音声パケットがジッタバッファに入力される時間は、ジッタバッファ時間軸630上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、ジッタバッファ入力時間Tj1〜Tj5にジッタバッファに入力される。ジッタバッファは、所定の時間の間に該当音声パケットを記憶した後、音声パケット別再生時間に合わせて再生端に伝達できる。
音声パケットが再生端で再生される再生時間は、再生時間軸640上に表示されたとおりである。例えば、音声パケットPKT1〜PKT5は、再生時間Tpkt間隔で再生時間Tp1〜Tp5に出力される。図5の場合と比較して、X番目の音声パケットは、図5の再生時間TpXよりバッファ時間Tj分だけが経過した後に再生端で再生される。
図6に示すように、図5の場合と同様に、4番目の音声パケットTPK4は、ジッタバッファの入力予定時間であるTj4より遅いTr4に受信されたが、バッファ時間Tj内に受信されて、TPK4に対する再生は、再生時間Tp4に円滑に行うことができる。
ジッタバッファから提供するバッファ時間Tjが大きいほど、送信遅延による音質劣化は減少できるが、ジッタバッファ内で追加遅延が発生できる。したがって、音質劣化と遅延とは、Tj値に比例したトレードオフ関係にある。
音質劣化と遅延との関係を最適化し、再生性能を改善するために、ジッタバッファの制御/管理が必要となる。ジッタバッファ内の音声パケット(又は音声フレーム)は、RTPヘッダに含まれたシーケンス番号フィールドとタイムスタンプフィールドとによって特定することができ、これに基づいて処理することができる。
タイムスタンプフィールドは、音声パケットが再生される時点を示す。シーケンス番号フィールドは、音声パケットごとに増加される番号をジッタバッファ(又はジッタバッファの制御を行う装置)に提供して、音声パケットがジッタバッファ内で順に配列されるようにする。
待機させられた音声パケットは、各々の再生時間に合わせて順次再生される。これと関連して、ジッタバッファの管理が必要な場合の二つの例として、ジッタバッファが音声パケットで一杯になった場合と、ジッタバッファ内の音声パケットの個数が最小サイズのバッファが収容できる音声パケットの個数より少ない場合とがある。
ジッタバッファが音声パケットで一杯になって音声パケットをそれ以上バッファに収容できない場合は、長時間送信遅延が減少して音声パケットが到着するか、又はいくつかの音声パケットが同時に到着するときにも発生することがあり、送信側の録音部で発振誤差(例えば、与えられた標本化速度より速い場合)があるか、又は受信側再生部で発振誤差(例えば、与えられた標本化速度より遅い場合)がある場合にも発生することがある。この場合に、ジッタバッファは、再生手順においてジッタバッファ内の音声パケットを省略(drop)するか、又はオーディオ信号を圧縮することによって問題を解決できる。
ジッタバッファ内の音声パケットの個数が不足して音声パケットが円滑に再生されない場合は、音声パケットの送信遅延が長時間増加したか、及び/又は音声パケットが損失したか、又は送信側録音部で発振誤差(例えば、与えられた標本化速度より遅い場合)があるか、又は受信側再生部で発振誤差(例えば、与えられた標本化速度より速い場合)がある場合に発生することがある。この場合には、音声パケットを生成したり、音声信号の長さを伸張したりして問題を解決できる。
図7は、ジッタバッファの制御が必要な場合の例を概略的に示した図である。図7に示すように、音声パケットが送信端から送信される送信時間は、送信時間軸710上に表示されたとおりであり、音声パケットが受信端で受信される受信時間は、受信時間軸720上に表示されたとおりである。
音声パケットがジッタバッファに入力される時間は、ジッタバッファ時間軸730上に表示されたとおりである。また、音声パケットが再生端で再生される再生時間は、再生時間軸740上に表示されたとおりである。
図7の例では、送信遅延によってPKT3、PKT4、PKT5のジッタバッファ入力時間がTj5に集中している。したがって、PKT3及びPKT4の再生時間Tp3とTp4では、再生する音声パケットがジッタバッファに存在しない。
したがって、ジッタバッファの管理を再生時間に合わせて考慮すると、再生時間Tp3及びTp4では、先に言及したジッタバッファ内の音声パケットが不足するという問題が発生し、再生時間Tp5では、先に言及した音声パケットによって突然、ジッタバッファが一杯になるという問題が発生する。
ジッタバッファ又は再生端では、ジッタバッファ内に記憶された音声パケットを再生するために、ジッタバッファ内の最上位パケットのシーケンス番号とタイムスタンプとを確認する。例えば、予想増加分だけシーケンス番号が増加した場合には、該当音声パケットを再生することができる。これに対し、予想増加分だけ順次に増加したシーケンス番号でない場合(例えば、以前に再生された音声パケットよりシーケンス番号が1だけ大きくない場合)には、パケット損失があると判断し、これを補償するための手順を実行することができる。
音声パケットの損失があると判断した場合、損失が発生したパケット(フレーム)を補完するための代替情報(例えば、代替音声フレーム又は代替音声パケット)を生成し、該生成した代替情報を再生する方法を考慮できる。ジッタバッファ内に記憶された音声パケットがないとき、白色雑音フレームを利用する再生方法と信号の長さを伸張して再生する方法などを利用して、特定の期間に損失パケットを補償する方法も利用できる。
一方、上述したように、ジッタバッファの大きさが余りに小さいときは、ジッタバッファは、音声パケットのジッタを十分に処理することが困難である。また、ジッタバッファが容易に一杯になることによって、新しい音声パケットを入力することが困難になる。
これに対し、ジッタバッファの大きさが余りに大きいときは、ジッタバッファは、過度な再生遅延を引き起こすこともある。
したがって、音声信号の信号品質を低下させずに、遅延無しで音声再生がなされるようにするために、効果的にジッタバッファの大きさを調整するか、又は音声情報を補償できる方法が必要となる。
このとき、再生端で要求した最上位音声パケットだけを考慮せずに、音声パケットの種類を考慮して、例えばジッタバッファ内の音声パケットに対する重要度に基づいて音声情報の補償が行われるようにすることができる。
音声信号は、有音区間と無音区間とから構成することができる。音声パケットが有音に該当するか、無音に該当するかは、符号化された音声パケットのフレーム種別(FT)指示子を介して指示することができる。また、音声パケットが復号された後、別途の分類(classification)ブロック、例えば音声活動検出(Voice Activity Detection、VAD)を介して該当音声パケットが有音に該当しているか、無音に該当しているかを指示することができる。
一般に、無音区間の信号編集は、有音区間の信号編集に比べて音声品質に及ぼす影響が相対的に少ない。したがって、こういう特性を利用してジッタバッファ内の音声パケットの重要度を決定できる。
ジッタバッファは、決定された音声パケットの重要度に基づいてジッタバッファ制御を行うことができ、音声パケットの重要度に基づいてジッタバッファを管理/制御することによって、ジッタバッファ制御による音声の歪みの頻度を減らし、音声品質を改善できる。
具体的には、ジッタバッファ管理/制御の対象になる音声パケットの重要度は、次の順序によって決定することができる。例えば、最も先にジッタバッファ管理の対象になる音声パケットを決定し、その次にジッタバッファ管理の対象になる音声パケットを決定する方式によって、ジッタバッファ管理の対象になる音声パケットの順位を決定できる。
第1順位でジッタバッファ制御の対象になりうる音声パケットは、連続的な無音区間の中間に位置する音声パケットである。例えば、広帯域適応多速度符号化方式(AdaptiveMulti−RateWideBand、AMR−WB)の場合、連続的な無音区間の中間パケットを不連続送信(DTX)パケットとして決定することができる
第2順位でジッタバッファ制御の対象になりうる音声パケットは、単一の無音区間に位置する音声パケットである。例えば、AMR−WBの場合、単一の無音区間パケットは、SIDパケットとして決定することができる。
第3順位でジッタバッファ制御の対象になりうる音声パケットは、ジッタバッファ内の最も前方に位置する音声パケットである。
音声パケットの重要度は、上記の処理対象順位の逆順といえる。したがって、重要度が最も低い音声パケットは、連続的な無音区間の中間に位置する音声パケットであり、次に重要度の低い音声パケットは、単一の無音区間に位置する音声パケットであり、その次に重要度の低い音声パケットは、バッファ内で最も前方に位置する音声パケットである。
ジッタバッファは、バッファ内の音声パケットを制御するときに、連続的な無音区間の中間に位置する音声パケット→単一の無音区間に位置する音声パケット→ジッタバッファ内の最も前方に位置する音声パケット、の優先順位に応じて制御対象音声パケットを選択できる。
図8は、ジッタバッファで音声情報の補償を行う場合に、ジッタバッファ内の音声フレームの重要度を決定する方法の一例を概略的に説明する図である。
図8では、ジッタバッファの現在大きさ810が最大9個の音声パケットをバッファに記憶できるように設定されている場合を例として説明する。図8に示すように、音声パケットP0、P1、P2、P7は、有音信号であり、音声パケットP3、P4、P5、P6、P8は、無音信号である。
上述した音声パケットの重要度決定方法によってジッタバッファ制御の対象を決定すると、図8の例において第1順位の制御対象は、連続的な無音区間であるP3〜P6の中間に位置する音声パケットP4、P5になる。図8の例において第2順位の制御対象は、単一の無音パケット830で、音声パケットP3、P6、P8が対象になる。図8の例において第3順位の制御対象は、バッファ内で最も前方に位置するパケットP0840が対象になる。
本発明では、上述したように音声パケットの重要度に基づいてジッタバッファ管理を行う。ジッタバッファは、バッファ内の音声パケットの重要度を決定し、音声情報の補償が必要な場合に、重要度に基づいて選択された音声パケットから始まる音声パケットを、ジッタバッファ管理の対象として処理してもよい。
図9は、音声フレームの補償を含むジッタバッファの管理方法の一例を概略的に説明するフローチャートである。ジッタバッファ管理は、バッファの大きさ調整とバッファ内の音声情報の補償とを含み、ジッタバッファの調整と表現できる。
図9に示すように、ジッタバッファは、音声パケット(音声フレーム)を受信する(S910)。音声パケットは、復号器から送信されてもよく、符号化器からビットストリームを介して直に送信されてもよい。
ジッタバッファは、受信した音声パケットに基づいてジッタバッファの調整を行うことができる(S920)。
ジッタバッファの調整(ジッタバッファ管理)は、バッファの大きさ調整とバッファ内の音声情報の補償とを含む。
バッファの大きさ調整は、バッファの最大大きさと最小大きさとの間でバッファ大きさを減少又は増加させる方式によって行うことができる。
音声情報の補償は、音声情報の除去と音声情報の生成とを含む。音声情報は、音声パケットであってもよいし、音声フレームであってもよい。音声フレーム又は音声パケットの除去は、音声信号の補償とみなしてもよいし、音声フレームの生成又は音声パケットの生成は、音声信号の伸張とみなしてもよい。
一般に、音声情報の補償を行う場合には、音声パケット単位又は音声フレーム単位で音声情報を除去又は生成する。また、音声情報は、ビットストリームレベル又は復元が完了した音声信号のレベルで除去/圧縮又は生成/伸張される。
これと関連して、音声情報が音声パケット又は音声フレーム単位で補償が行われる場合は、一度に消失又は生成される情報がフレーム長又はそれ以上になるため、連続した音声情報の損失によって音質の劣化を引き起こす。したがって、音声情報の補償を音声フレームのサブフレーム単位で行う方法を考慮してもよい。
また、ビットストリームレベル又は復元が完了した音声信号のレベルで補償が行われる場合は、基本信号の損失又は計算量の増加を引き起こすことがある。したがって、音声情報の補償をビットストリームレベルの情報と復元された音声信号との中間領域といえる復号パラメータレベルで行う方法を考慮してもよい。
本明細書における復号パラメータは、ビットストリームを復号して音声信号に合成/復元する前の情報であって、LPC係数又はLPC係数を導出するためのISP係数、ピッチ周期、励起信号成分又は励起信号成分を導出するための符号表インデクスなどを含む。
図10は、ジッタバッファの調整方法の一例を概略的に説明する図である。
図10に示すように、ジッタバッファは、音声パケットを受信する場合にジッタバッファの調整を行うことができる(S1010)。これを音声情報受信時のジッタバッファの調整又はジッタバッファ管理という。
ジッタバッファは、音声パケットを受信すると、現在バッファの状態に基づいてバッファの大きさを調整できる。例えば、ジッタバッファは、現在バッファが一杯になって新しい音声パケットを収容できない場合には、ジッタバッファの大きさを調整して新しい音声パケットを収容する空間を確保することができる。
また、ジッタバッファは、バッファ内の音声情報の補償を行うこともできる。
ジッタバッファは、再生要求がある場合に、ジッタバッファの調整を行うことができる(S1020)。これを再生要求時のジッタバッファの調整又はジッタバッファ管理という。
ジッタバッファは、再生要求がある場合、現在バッファの状態に基づいてバッファの大きさを調整できる。例えば、ジッタバッファは、現在バッファが空いていて再生する音声フレームがないか、又は現在バッファ内の音声フレームの個数が少なくて再生が遅れる恐れがある場合には、バッファの大きさを調整してバッファ時間を減少させることができる。
また、ジッタバッファは、バッファ内の音声情報に対する補償を行うこともできる。
ネットワーク上の問題又は発振誤差などによってジッタが発生した場合、図10にようにジッタバッファは、音声情報に対する補償を行うか、又はバッファの大きさを調整して、再生がスムーズになされるように管理できる。
上述したように、本発明におけるジッタバッファ管理による音声情報の補償は、サブフレーム単位に復号パラメータレベルで行うことができる。ビットストリームを介して送信される音声パケットは、少なくとも一つの音声フレームを含むことができる。
構文解析によって音声パケットから音声フレームとこれに対するパラメータを抽出することができる。
したがって、音声パケットがパラメータを有する音声フレームに構文解析又は復号される位置と関連して、本発明に係るジッタバッファ構成は、図3を参照すれば、下記の5種類の構成のうちのいずれか一つであってよい。
(i)ビットストリームを受信部310で直接受信し、ジッタバッファ300又はジッタバッファ300のバッファ320が音声パケットを復号して、復号パラメータレベルの情報を有する音声フレームをバッファ320に記憶しながら、復号パラメータに基づいてジッタバッファ管理を行う構成
(ii)復号器から復号パラメータレベルの情報を有する音声フレームを受信部310で受信してバッファ320に記憶し、復号パラメータに基づいてジッタバッファ管理を行う構成
(iii)ビットストリーム(音声パケット)を直接受信部310で受信してバッファ320に記憶し、必要な場合に復号器又は復号器の一部モジュールを呼び出して、復号パラメータレベルの情報を有する音声フレームを取得してジッタバッファ管理を行う構成
(iv)ビットストリーム(音声パケット)を直接受信部310で受信してバッファ320に記憶し、必要な場合、ジッタバッファ300又はジッタバッファ300のバッファ320が復号パラメータレベルの情報を有する音声フレームを音声パケットから取得して、ジッタバッファ管理を行う構成
(v)ジッタバッファ300が復号器の一部構成として復号器に含まれ、音声パケットから取得された音声フレームをバッファ320で記憶及び管理し、復号手順に合わせて出力する構成
したがって、(i)及び(iv)の場合、音声情報は、ジッタバッファ→復号器の順に伝達することができ、(ii)の場合、音声情報は、復号器→ジッタバッファの順に伝達することができる。また、(iii)の場合、ジッタバッファ及び復号器は、並列にデータを処理することができ、音声情報は、必要な場合、ジッタバッファと復号器との間で送受信することができる。
(i)及び(ii)の場合、ジッタバッファは、復号パラメータレベルの情報を有する音声フレームを記憶し、サブフレーム単位でジッタバッファ管理が行うことができる。(iii)及び(iv)の場合、ジッタバッファは、音声パケットを記憶し、必要な場合に復号パラメータレベルの情報を有する音声フレームを取得して、サブフレーム単位で音声情報の補償を行うことができる。
これと関連して、音声フレームに対するジッタバッファ管理が行われる場合には、音声パケットに対する重要度決定方法を音声フレームに対しても適用できる。ジッタバッファが音声フレームを記憶及び管理する場合に、第1順位でジッタバッファ管理の対象になることができる音声フレームは、連続的な無音音声フレームであり、第2順位でジッタバッファ制御の対象になることができる音声フレームは、連続的でない無音音声フレームであり、第3順位でジッタバッファ制御の対象になることができる音声フレームは、ジッタバッファ内の最も前方に位置する音声フレームである。
ジッタバッファで管理された音声情報は、復号器を経て再生装置(出力装置)に送信してもよいし、復号器を経ないで再生装置の出力バッファに送信してもよい。例えば、ジッタバッファが復号パラメータレベルの情報として復号が必要な音声情報をバッファに記憶及び管理する場合には、復号器で復号された後、再生装置に出力してもよい。
以下、ジッタバッファ管理について、パケット受信時のジッタバッファの調整と再生要求時のジッタバッファの調整とに分けて説明する。
パケット受信時のジッタバッファの調整
図11は、パケット受信時のジッタバッファの調整方法に関する一例を概略的に説明するフローチャートである。図11では、前記(iii)又は(iv)の場合であって、ジッタバッファがバッファ内に音声パケットを記憶してジッタバッファ管理を行う場合を例として説明する。したがって、上述したように、サブフレーム単位で復号パラメータレベルの音声情報補償を行うために、ジッタバッファは、必要な情報を復号器から取得するか、又はジッタバッファが音声パケットから抽出できる。
図11に示すように、ジッタバッファは、音声パケットを受信する(S1100)。
ジッタバッファは、現在バッファが音声パケットで一杯になっているかどうかを判断する(S1110)。
バッファが音声パケットで一杯になっている場合、ジッタバッファは、バッファ内の音声パケットに対する重要度を決定できる(S1120)。上述したように、連続的な無音区間の中間に位置する音声パケットの重要度が最も低く、単一の無音区間に位置する音声パケットの重要度が次に低く、バッファ内の最も前方に位置する音声パケットの重要度が最も低い。
ジッタバッファは、現在バッファ内の音声パケットのうち、重要度の最も低い音声パケットを処理する(S1130)。ジッタバッファは、重要度の最も低い音声パケットを除去できる。音声パケットが除去された場合には、これを指示する除去情報(例えば、除去されたことを指示するフラグであるDel_flag)を設定できる。除去情報は、再生要求時に参照されて該当音声情報が存在しないということをジッタバッファ、復号器又は再生装置などに知らせることができる。
重要度の低い音声パケットの処理が該当パケットの削除である場合に、ジッタバッファは、音声フレームに属するサブフレーム単位に復号パラメータレベルで音声情報を削除する補償を行うために、音声フレーム及びサブフレームに対する復号パラメータを取得できる。音声フレーム及びサブフレームに対する復号パラメータは、上述したように、復号器から取得してもよいし、ジッタバッファが自体的に復号を行って取得してもよい。
ジッタバッファは、重要度の低い音声パケットを処理した後に、現在ジッタバッファのバッファ大きさとジッタバッファの最大バッファ大きさとを比較できる(S1140)。
現在バッファの大きさが最大バッファの大きさより小さな場合、ジッタバッファは、現在ジッタバッファのバッファ大きさを増加させることができる(S1150)。バッファが音声パケットで一杯になっているため、バッファ内に空間を確保する必要があり、現在バッファの大きさが最大バッファの大きさより小さく、バッファの大きさを増やす余地がある場合、ジッタバッファは、現在ジッタバッファのバッファ大きさを増加させることができる。
具体的には、ジッタバッファのバッファ大きさは、バッファ内で記憶されうる音声パケットの個数に対応して決定することができる。ジッタバッファの大きさTjitは、最小ジッタバッファの大きさTjminと、最大ジッタバッファの大きさTjmaxとの間の値を有することができる。
ジッタバッファの大きさTjitは、音声パケット当たりの再生時間であるTpkt単位で大きさを調整できる。このとき、Tjmin及びTjmaxは、ネットワーク状況などを考慮してTpkt単位で可変的に設定することができる。
例えば、通話中の端末間の遅延(end−to−end delay)がTd以下になるように設定すると、最大ジッタバッファの大きさTjmaxは、式1の関係を満たす。
(式1)
Tjmax≦Td-Tpkt-Tetc1
式1中、Tetc1は、ネットワーク上において発生するその他の遅延要素による遅延時間を意味する。例えば、その他の遅延要素には、後処理フィルタ、ネットワーク中継器の問題、送信端録音部及び受信端再生部の発振誤差など固定的遅延要素が含まれ、端末間の遅延であるTdは、一般に用いられる端末間の遅延臨界値である150msなどに設定することができる。
式1の関係を満たし新しく設定されるジッタバッファのバッファ大きさTjitは、式2のように表すことができる
(式2)
Tjit=Tjit+Tpkt,Tjit≦Tjmax
ジッタバッファのバッファが一杯になっていない場合に、ジッタバッファは、受信した音声パケットをバッファに追加できる(S1160)。ジッタバッファのバッファが一杯になっていない場合は、ステップS1110にてジッタバッファのバッファが一杯になっていない場合、ステップS1140にてジッタバッファの現在バッファ大きさが最大サイズである場合、又はステップS1150にてジッタバッファのバッファ大きさが増加された場合のうちのいずれか一つであってよい。
ジッタバッファは、バッファ内の音声パケットのシーケンス番号とタイムスタンプ番号とを比較できる(S1170)。タイムスタンプ番号は、音声パケットが再生される時点を表し、シーケンス番号は、音声パケットごとに増加される番号をジッタバッファに提供して、音声パケットがジッタバッファ内で順に配列されるようにする。
ジッタバッファは、バッファ内にある音声パケットを再配置できる(S1180)。例えば、ジッタバッファは、バッファ内にある音声パケットを各パケットのシーケンス番号に従って順に再配置できる。
ジッタバッファは、現在タイムスタンプの値に基づいて音声パケットを省略(drop)できる(S1190)。例えば、ジッタバッファは、ジッタバッファのバッファ内にある音声パケットのタイムスタンプを確認し、現在再生時間以前のタイムスタンプ(現在再生時間に該当するタイムスタンプ値より小さな値のタイムスタンプ)を有する(複数の)音声パケットがある場合、該当音声パケットを省略できる。
図11では、音声パケット受信時に行うことのできるジッタバッファの調整の内容をすべて説明しているが、ジッタバッファは、上述したジッタバッファの調整をすべて行ってもよいし、ジッタバッファの調整に関する動作のうち、必要な動作だけを選択的に行ってもよい。
また、図11では、ジッタバッファが上述した(iii)又は(iv)の構成を有する場合を例として説明したが、本発明は、これに限定されず、ジッタバッファが(i)又は(ii)の構成を有する場合にも同様に適用できる。
ジッタバッファが(i)及び(ii)の構成を有する場合、ジッタバッファは、上記のステップS1100〜1190を、音声パケットではなく音声フレームを対象に実行することができる。このとき、ジッタバッファは、ステップS1100にて音声パケットでなく復号パラメータレベルの情報を有する音声フレームを受信又は取得し、これをバッファに記憶及び管理する。
再生要求時のジッタバッファの調整
図12は、再生要求時におけるジッタバッファの調整を行う方法の一例を概略的に説明するフローチャートである。図12では、説明の便宜のために、ジッタバッファが上述した(iii)又は(iv)の構成を有する場合を例として説明する。したがって、上述したように、サブフレーム単位に復号パラメータレベルで音声情報補償を行うために、ジッタバッファは、必要な情報を復号器から取得するか、又はジッタバッファが音声パケットから抽出できる。
図12を参照すると、再生端(再生装置)から再生要求がある場合に、ジッタバッファは、現在のバッファが空いているかどうかを判断できる(S1200)。例えば、ジッタバッファは、再生要求がある場合に、バッファ内に再生に必要な音声パケットが十分に存在しているかどうかを判断できる。
バッファが空いていると判断した場合に、ジッタバッファは、現在バッファの大きさ(ジッタバッファの大きさ)が最小ジッタバッファの大きさより大きいかどうかを判断できる(S1210)。
ジッタバッファの現在バッファ大きさが最小ジッタバッファの大きさより大きい場合、ジッタバッファは、ジッタバッファのバッファ大きさを減少できる(S1220)。バッファに音声パケットがないか、又は余りに少なくてバッファに留まる時間を減らす必要がある場合、ジッタバッファは、現在ジッタバッファのバッファ大きさを減少させることができる。
具体的には、ジッタバッファの大きさTjitは、最小ジッタバッファの大きさTjminと最大ジッタバッファの大きさTjmaxとの間の値を有することができ、音声パケット当たりの再生時間であるTpkt単位で大きさが調整することができる。このとき、Tjmin及びTjmaxは、ネットワーク状況などを考慮して、Tpkt単位で可変的に設定することができる。
例えば、最大ジッタバッファの大きさTjminは、少なくとも音声パケット当たりの再生時間であるTpktより大きくなるように設定することができるため、式3の関係を満たす。
(式3)
Tjmin≧Tpkt+Tetc2
式3中、Tetc2は、その他の遅延要素による遅延時間を意味する。その他の遅延要素は、再生端で発振素子の誤差によって発生する再生周波数誤差などを含む。
式3の関係を満たし、新しく設定されるジッタバッファのバッファ大きさTjitは、式4のように表すことができる
(式4)
Tjit=Tjit−Tpkt,Tjit≧Tjmin
一方、再生要求時にジッタバッファが空いていない場合(再生に必要な音声パケットが十分な場合)、ジッタバッファは、バッファ内の音声パケットのシーケンス番号が音声パケットが配置された順序に従って順次に増加しているか、又は除去フラグ(Del−flag)が設定されているかを判断できる(S1230)。
ジッタバッファは、バッファ内の音声パケットのシーケンス番号が順次に増加しているか、又は除去フラグが設定されているかを判断して、音声情報の補償が必要であるかどうかを決定できる。
例えば、ジッタバッファは、バッファ内の音声パケットのシーケンス番号が順次に増加しているかどうかを判断することによって、音声情報の補償によって新しい音声パケットを生成する必要があるかどうかを決定できる。このとき、除去情報(del_flag)が設定されているとき、ジッタバッファは、除去情報の設定された音声パケットが除去されたと判断できる。
シーケンス番号が順次に増加していないか、又は除去情報(del_flag)が設定されている場合、又はジッタバッファの現在バッファの大きさが最小ジッタバッファの大きさと同一であるか、又はジッタバッファのバッファ大きさが減少した場合、必要なときに、ジッタバッファは、音声情報の補償を行うことができる(S1240)。
ジッタバッファは、音声パケットの重要度に基づいて音声情報の生成を行うことができる。このとき、ジッタバッファは、音声フレームに属するサブフレーム単位に復号パラメータレベルで音声情報を生成するために、音声フレーム及びサブフレームに対する復号パラメータを取得できる。音声フレーム及びサブフレームに対する復号パラメータは、上述したように、復号器から取得してもよいし、ジッタバッファが自体的に復号を行って取得してもよい。
シーケンス番号が順次に増加しており、除去情報(del_flag)が設定されていない場合には、音声情報の補償無しで音声パケットが復号することができる(S1250)。音声パケットの復号は、復号器で行うことができる。シーケンス番号が順次に増加しており、除去フラグが設定されていない場合に、ジッタバッファは、音声パケットを復号器に送信できる。復号器は、受信された音声パケットを復号して(複数の)音声フレームを生成できる。
音声フレームは、出力装置(再生装置)の出力バッファに追加することができる(S1260)。
出力装置は、音声フレームが順次に再生されるようにするために、再生シーケンス番号を更新できる(S1270)。
音声フレームは、ユーザに順次に伝達することができる(S1280)。音声フレームは、出力装置からユーザに順次に伝達されて再生される。
図12では、音声パケット受信時に行うことのできるジッタバッファの調整の内容をすべて説明しているが、ジッタバッファは、上述したジッタバッファの調整をすべて行ってもよいし、ジッタバッファの調整に関する動作のうち、必要な動作だけを選択的に行ってもよい。
また、図12では、ジッタバッファが先に説明した(iii)又は(iv)の構成を有する場合を例として説明したが、本発明は、これに限定されず、ジッタバッファが(i)又は(ii)の構成を有する場合にも同様に適用できる。
ジッタバッファが(i)及び(ii)の構成を有する場合、ジッタバッファは、前記ステップS1200〜1280を、音声パケットではなく音声フレームを対象として実行することができる。このとき、ジッタバッファは、音声フレームをバッファに記憶及び管理するため、音声フレームに属するサブフレーム及びこれに対する復号パラメータを利用して、ジッタバッファ管理を行うことができる。例えば、復号ステップでは、復号パラメータを利用して音声フレーム単位で音声信号を復元する復号を行うことができる。
以下、音声パケット受信時のジッタバッファの調整及び再生要求時のジッタバッファの調整に適用することができる音声情報の補償方法について具体的に説明する。
上述したように、音声情報の補償は、音声情報の除去と音声情報の生成とを含む。図11及び図12に示すように、音声情報の除去は、音声パケット受信時のジッタバッファの調整に適用され(例えば、ステップS1130)、音声情報の生成は、再生要求時のジッタバッファの調整に適用することができる(例えば、ステップS1240)。
ジッタバッファの管理方法として音声情報の処理は、復号パラメータレベルの他にも、従来の方式によってビットストリームレベルで行ってもよいし、音声信号レベルで行ってもよい。
図13は、ビットストリームレベルでジッタバッファ管理が行われる一例を概略的に示した図である。図13では、音声フレームを除去(decimation)する方法によってジッタバッファ管理が行われる例を説明している。
ジッタバッファは、バッファが一杯になっている場合、ビットストリームから除去するフレームを決定し、選択されたフレームを除去できる。図13を参照すれば、n番目の音声フレームを除去する場合に、ビットストリームレベルでn番目のフレームを除去してジッタバッファ管理が行われる。
図13の場合、ジッタバッファは、音声フレーム単位で情報を処理するため、復号器の出力端に位置して復号器から復号された音声情報を受信し、これを記憶/管理できる。
図14は、音声信号レベルでジッタバッファ管理が行われる一例を概略的に示した図である。図14では、音声信号の長さを減らしてジッタバッファ管理を行う場合を例として説明している。
ジッタバッファは、バッファが一杯になっている場合、ビットストリームを音声信号に復元し、復元された信号を時間調整修正(Time Scaling Modification、TSM)技術を適用して、音声信号の長さを減らすことができる。図14に示すように、ジッタバッファ管理後、n−1番目の音声フレーム、n番目の音声フレーム及びn+1番目の音声フレームの全体長が全体的な音声信号のパターンを維持したまま、一つの音声フレーム長分だけ減る。
図14の場合、ジッタバッファは、音声信号を処理するため、復号器の出力端に位置して復号器から復元された音声情報を受信し、これを記憶/管理できる。
一方、図13の例のように、ビットストリームレベルでフレーム単位に音声情報を除去してジッタバッファ管理を行う場合には、簡単な演算によってジッタバッファの調整が可能であるが、一つの音声フレームに該当する音声情報(音声信号)が一度に除去されるため、音質劣化が大きい。
また、図14の例のように、音声信号レベルでジッタバッファ管理を行う場合には、音声再生速度を高くする効果が発生し、損失になる音声情報がビットストリームレベルでジッタバッファ管理を行う場合に比べて少なくなるが、符号化器/復号器の複雑度が増加する。
したがって、本発明では、上述したように、音声フレームのサブフレーム単位に復号パラメータレベルでジッタバッファ管理を行うと、音質の劣化を避け、かつ処理過程の複雑度を減らすことができる。
本発明のように、音声フレームに属するサブフレーム単位に復号パラメータレベルでジッタバッファを管理する場合に、ジッタバッファは、復号器の出力端に位置する図13及び図14の例とは異なり、上記の(i)〜(v)において説明したように、復号器に情報を出力したり、復号器から情報を受信したりすることができる。
図15は、音声フレームのサブフレーム単位で音声情報の補償を行う一例を概略的に説明する図である。
上述したように、ジッタバッファ管理を行う過程において音声フレーム単位で音声信号が除去されたとき、一度に損失になる音声信号が音声フレームの長さと同一であるため、音質劣化が大きくなる。
図15の例では、連続して損失になる音声信号の成分を減らすために、サブフレーム単位で音声信号を除去する。
図15に示すように、図13及び図14の場合と比較すると、除去される音声信号は、一つのフレームで同一であるが、図15の例では、除去対象音声フレームのサブフレームで隣接フレームのサブフレームを代替する方式で音声信号の除去を行うことができる。
本明細書においてフレーム又はパケットを指示するn−1、n、n+1は、連続する音声フレーム又は連続する音声パケットを指示するためのインデクスであり、n番目のフレームは、除去対象フレームとして全体フレーム列における任意のn番目のフレームであり、n−1番目のフレームとn+1番目のフレームは、除去対象(又は削除された)フレームの前後に位置する隣接フレームである。
図15の例では、n番目のフレームの1番目のサブフレームS1でn−1番目のフレームの3番目のサブフレームS3を代替し、n番目のフレームの2番目のサブフレームS2でn−1番目のフレームの4番目のサブフレームS4を代替し、n番目のフレームの3番目のサブフレームS3でn+1番目のフレームの1番目のサブフレームS1を代替し、n番目のフレームの4番目のサブフレームS4でn+1番目のフレームの2番目のサブフレームS3を代替する。
これによって、n番目の音声フレームが除去され、n−1番目の音声フレームの3番目のサブフレームS3’と4番目のサブフレームS4’、n+1番目の音声フレームの1番目のサブフレームS1’と2番目のサブフレームS2’が新しく生成される。
サブフレーム単位で音声信号を除去する場合には、図示のように、対象音声フレームの隣接音声フレームにおいて一部サブフレームが除去されることによって、一つのフレームに集中していた音声信号の損失の効果を隣接フレームが分担できる。したがって、連続的に損失になる音声信号の成分を減らし、同時にジッタバッファ管理において伴われる追加計算量の発生(複雑度の増加)も防止できる。
図15では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、除去対象フレーム(n番目のフレーム)の先行フレーム(n−1番目のフレーム)の後方L/2個のサブフレームは、除去対象フレーム(n番目のフレーム)の前方L/2個のサブフレームで代替され、除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)の前方L/2個のサブフレームは、除去対象フレーム(n番目のフレーム)の後方L/2個のサブフレームで代替することができる。
一方、ビットストリームレベルで音声情報の補償を行うと、サブフレーム単位で音声情報の除去がなされても該当サブフレームの成分がそのままなくなることによって、一定水準の音質劣化は発生できる。これを防止するために、音声信号レベルで音声情報の補償を行おうとすると、計算量が大きく増加する恐れがある。
したがって、サブフレーム単位で音声情報の補償を行うものの、ビットストリームレベルの情報と復元された音声信号の中間ステップといえる復号パラメータレベルで音声情報の補償がなされるようにすることができる。ここで、復号パラメータは、ビットストリームを復号して音声信号に合成する前の情報を意味する。
復号パラメータには、例えばLPC係数又はLPC係数を導出するためのISP係数、ピッチ周期、励起信号の成分又は励起信号の成分を導出するための符号表インデクスなどがある。
ジッタバッファは、対象フレーム又は対象サブフレームとその復号パラメータとを単純に除去するのではなく、隣接フレーム又は隣接サブフレームの復号パラメータを利用して音声情報の補償を行ってもよい。このとき、除去対象サブフレームの復号パラメータが音声情報の補償に利用してもよい。
音声パケットを受信した場合に、ジッタバッファは、上述したパケットの重要度(フレームの重要度)に応じて除去対象フレームを決定し、音声情報除去に関する次の3つの音声情報補償のうちのいずれか一つを行うことができる。
(1)ジッタバッファは、除去対象フレームを除去するものの、除去対象フレームの前後に位置していたフレームに属するサブフレームの復号パラメータを除去対象フレームの復号パラメータを利用して修正
(2)除去対象フレームを除去するものの、除去対象フレームの前に位置していたフレームに属するサブフレームの復号パラメータを除去対象フレームの復号パラメータを利用して修正
(3)除去対象フレームを除去するものの、除去対象フレームの後に位置していたフレームに属するサブフレームの復号パラメータを除去対象フレームの復号パラメータを利用して修正
図16は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の一例を概略的に説明する図である。
図16では、前記(1)の音声情報補償方法を適用する場合を例として説明する。したがって、除去されるフレーム(n番目のフレーム)の前後フレーム内の一部サブフレームに対する復号パラメータは、互いに隣接する二つのサブフレームの復号パラメータを利用して修正される。
図16に示すように、n番目の音声フレームを除去する場合に、隣接音声フレームであるn−1番目の音声フレーム及びn+1番目の音声フレームのフレーム成分(復号パラメータ)を修正する。
音声情報補償によって、n番目のフレームは除去され、音声情報補償前のn−1番目のフレームのサブフレームS3とサブフレームS4の復号パラメータを利用して、n−1番目のフレームのサブフレームS3’の復号パラメータが修正され、除去前のn番目のフレームのサブフレームS1とサブフレームS2の復号パラメータを利用して、n−1番目のフレームのサブフレームS4’の復号パラメータが修正され、除去前のn番目のフレームのサブフレームS3とサブフレームS4の復号パラメータを利用して、n+1番目のフレームのサブフレームS1’の復号パラメータが修正され、音声情報補償前のn+1番目のフレームのサブフレームS1とサブフレームS2の復号パラメータを利用して、n+1番目のフレームのサブフレームS2’の復号パラメータが修正される。
このとき、復号パラメータは、二つのサブフレームの復号パラメータを補間して生成される値で修正することができる。
式5は、図16の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ISP係数を二つのサブフレームのISP係数を補間して生成される値に修正する方法を表したものである。
(式5)
ISPn-1 m3=0.5×ISPn-1 3+0.5×ISPn-1 4
ISPn-1 m4=0.5×ISPn 1+0.5×ISPn 2
ISPn+1 m1=0.5×ISPn 3+0.5×ISPn 4
ISPn+1 m2=0.5×ISPn+1 1+0.5×ISPn+1 2
本明細書におけるISPN Lは、N番目のフレームに属するL番目のサブフレームのISP係数を意味し、ISPN mLは、N番目のフレームに属するL番目のサブフレームの修正されたISP係数を意味する。
ISP係数は、上述したようにLPC係数から変換によって導出することができ、LPC係数は、ISP係数から変換によって導出することができる。
式6は、図16の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ピッチ周期を二つのサブフレームのピッチ周期を補間して生成される値に修正する方法を表したものである。
(式6)
Pn-1 m3 =0.5×Pn-1 3+0.5×Pn-1 4
Pn-1 m4 =0.5×Pn 1+0.5×Pn 2
Pn+1 m1 =0.5×Pn 3+0.5×Pn 4
Pn+1 m2 =0.5×Pn+1 1+0.5×Pn+1 2
本明細書において、PN Lは、N番目のフレームに属するL番目のサブフレームのピッチ周期を意味し、PN mLは、N番目のフレームに属するL番目のサブフレームの修正されたピッチ周期を意味する。
ピッチ周期は、長期予測(Long Term Prediction、LTP)ろ波、ピッチ遅延(ラグ)、符号表利得などを復号して得ることができる。
式7は、図16の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、励起信号成分FCBを二つのサブフレームの励起信号成分を補間して生成される値に修正する方法を表したものである。
(式7)
FCBn-1 m3(k)=0.5×FCBn-1 3(k)+0.5×FCBn-1 4(k)
FCBn-1 m4(k)=0.5×FCBn 1(k)+0.5×FCBn 2(k)
FCBn+1 m1(k)=0.5×FCBn 3(k)+0.5×FCBn 4(k)
FCBn+1 m2(k)=0.5×FCBn+1 1(k)+0.5×FCBn+1 2(k)
本明細書におけるFCBN L(K)は、N番目のフレームに属するL番目のサブフレームの励起信号におけるk番目の成分を意味し、FCBN mL(K)は、N番目のフレームに属するL番目のサブフレームの励起信号の修正されたk番目の成分を意味する。
励起信号は、固定符号表(fixed codebook)及び符号表利得を復号して得ることができる。
一方、励起信号の場合には、補間によって修正せずに、修正されるサブフレームの励起信号成分のうち、前半部分及び後半成分を修正前のサブフレームの励起信号成分でそれぞれ代替する方法を適用することもできる。
式8は、図16の例による音声情報の補償(音声情報の除去)によって、励起信号成分を二つのサブフレームの励起信号成分を部分的に代替して生成した値で修正する方法を表したものである。
(式8)
FCBn-1 m3(k)=FCBn-1 3(k) (k=0〜サブフレーム/2)
=FCBn-1 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn-1 m4(k)=FCBn 1(k) (k=0〜サブフレーム/2)
=FCBn 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m1(k)=FCBn 3(k) (k=0〜サブフレーム/2)
=FCBn 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m2(k)=FCBn+1 1(k) (k=0〜サブフレーム/2)
=FCBn+1 2(k) (k=サブフレーム/2〜サブフレーム)
式8によれば、音声情報の補償によってn番目のフレームは除去されるが、n−1番目のフレームに属する3番目のサブフレームS3のk番目の励起信号成分で前半が代替され、n−1番目のフレームに属する4番目のサブフレームS4のk番目の励起信号成分で後半が代替され、修正された復号パラメータを有するn−1番目のフレームの3番目のサブフレームS3’が生成される。
同じ方法によって、式8のように、修正された復号パラメータを有するn−1番目のフレームの4番目のサブフレームS4’、修正された復号パラメータを有するn+1番目のフレームの1番目のサブフレームS1’、修正された復号パラメータを有するn+1番目のフレームの2番目のサブフレームS2’を得ることができる。
また、復号パラメータのうち、励起信号成分の場合には、修正されるサブフレームの励起信号成分を、励起信号を生成するトラック単位で代替する方法を適用することもできる。
式9は、図16の例による音声情報の補償(音声情報の削除)によって、励起信号成分を、励起信号成分を生成するトラック単位に代替して生成した値で修正する方法を表したものである。
(式9)
FCBn-1 m3(k)=FCBn-1 3(k)(トラック1&3)+FCBn-1 4(k)(トラック2&4)
FCBn-1 m4(k)=FCBn 1(k)(トラック1&3)+FCBn 2(k)(トラック2&4)
FCBn+1 m1(k)=FCBn 3(k)(トラック1&3)+FCBn 4(k)(トラック2&4)
FCBn+1 m2(k)=FCBn+1 1(k)(トラック1&3)+FCBn+1 2(k)(トラック2&4)
修正されるサブフレームの励起信号成分は、修正(音声情報の補償)前の二つのサブフレームの励起信号成分の部分的な和から構成される。このとき、修正されるサブフレームの励起信号成分は、波数(wave number)kが属するトラック別に該当トラックでの励起信号値を取る。
図16では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明はこれに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、除去対象フレーム(n番目のフレーム)の先行フレーム(n−1番目のフレーム)の後方L/2個のサブフレームと除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)の前方L/2個のサブフレームを除去対象フレーム(n番目のフレーム)のサブフレームと除去対象フレーム(n番目のフレーム)の先行フレーム(n−1番目のフレーム)の後方L/2個のサブフレームと除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)の前方L/2個のサブフレームを利用して、上述したように修正し、対象フレーム(n番目のフレーム)を除去できる。
この場合、式5〜7にて説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
図17は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の他の例を概略的に説明する図である。
図17は、前記(2)の音声情報補償方法が適用される場合を例として説明する。したがって、除去されるフレーム(n番目のフレーム)の後続フレーム内のサブフレームに対する復号パラメータは、除去されるフレーム及び後続フレームに属するサブフレームのうち、互いに隣接する二つのサブフレームの復号パラメータを利用して修正できる。
復号パラメータは、二つのサブフレームの復号パラメータを補間して生成される値に修正できる。
式10は、図17の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ISP係数を補間して修正する方法を表したものである。
(式10)
ISPn+1 m1=0.5×ISPn 1+0.5×ISPn 2
ISPn+1 m2=0.5×ISPn 3+0.5×ISPn 4
ISPn+1 m3=0.5×ISPn+1 1+0.5×ISPn+1 2
ISPn+1 m4=0.5×ISPn+1 3+0.5×ISPn+1 4
式10は、式5と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式5と異なる。
式11は、図17の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ピッチ周期を補間によって修正する方法を表したものである。
(式11)
Pn+1 m1=0.5×Pn 1+0.5×Pn 2
Pn+1 m2=0.5×Pn 3+0.5×Pn 4
Pn+1 m3=0.5×Pn+1 1+0.5×Pn+1 2
Pn+1 m4=0.5×Pn+1 3+0.5×Pn+1 4
式11は、式6と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式6と異なる。
式12は、図17の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、励起信号成分FCBを補間して修正する方法を表したものである。
(式12)
FCBn+1 m1=0.5×FCBn 1+0.5×FCBn 2
FCBn+1 m2=0.5×FCBn 3+0.5×FCBn 4
FCBn+1 m3=0.5×FCBn+1 1+0.5×FCBn+1 2
FCBn+1 m4=0.5×FCBn+1 3+0.5×FCBn+1 4
式12は、式7と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式7と異なる。
図16の例のように、励起信号の場合には、修正されるサブフレームの励起信号成分のうち、前半成分及び後半成分を修正前のサブフレームの励起信号成分でそれぞれ代替する方法を適用することもできる。
式13は、図17の例による音声情報の補償(音声情報の除去)によって、励起信号成分を、二つのサブフレームの励起信号成分を部分的に代替して生成した値で修正する方法を表したものである。
(式13)
FCBn+1 m1(k)=FCBn 1(k) (k=0〜サブフレーム/2)
=FCBn 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m2(k)=FCBn 3(k) (k=0〜サブフレーム/2)
=FCBn 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m3(k)=FCBn+1 1(k) (k=0〜サブフレーム/2)
=FCBn+1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m4(k)=FCBn+1 3(k) (k=0〜サブフレーム/2)
=FCBn+1 4(k) (k=サブフレーム/2〜サブフレーム)
式13は、式8と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式8と異なる。
また、復号パラメータのうち、励起信号成分の場合には、修正されるサブフレームの励起信号成分を、励起信号を生成するトラック単位で代替する方法を適用することもできる。
式14は、図17の例による音声情報の補償(音声情報の削除)によって、励起信号成分を、励起信号成分を生成するトラック単位に代替して生成した値で修正する方法を表したものである。
(式14)
FCBn+1 m1(k)=FCBn 1(k)(トラック1&3)+FCBn 2(k)(トラック2&4)
FCBn+1 m2(k)=FCBn 3(k)(トラック1&3)+FCBn 4(k)(トラック2&4)
FCBn+1 m3(k)=FCBn+1 1(k)(トラック1&3)+FCBn+1 2(k)(トラック2&4)
FCBn+1 m4(k)=FCBn+1 3(k)(トラック1&3)+FCBn+1 4(k)(トラック2&4)
式14は、式9と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式9と異なる。
図17では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)のサブフレームを除去対象フレーム(n番目のフレーム)のサブフレームと除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)のサブフレームを利用して上述したように修正し、対象フレーム(n番目のフレーム)を除去できる。
この場合、式10〜12で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
図18は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の更に他の例を概略的に説明する図である。
図18は、上記(3)のジッタバッファの調整方法が適用される場合を例として説明する。したがって、除去されるフレーム(n番目のフレーム)の先行フレームに属するサブフレームに対する復号パラメータは、除去されるフレーム及び先行フレームに属するサブフレームのうち、互いに隣接する二つのサブフレームの復号パラメータを利用して修正することができる。
復号パラメータは、二つのサブフレームの復号パラメータを補間して生成される値で修正することができる。
式15は、図18の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ISP係数を補間して修正する方法を表したものである。
(式15)
ISPn-1 m1=0.5×ISPn-1 1+0.5×ISPn-1 2
ISPn-1 m2=0.5×ISPn-1 3+0.5×ISPn-1 4
ISPn-1 m3=0.5×ISPn 1+0.5×ISPn 2
ISPn-1 m4=0.5×ISPn 3+0.5×ISPn 4
式15は、式5と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式5と異なる。
式16は、図18の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、ピッチ周期を補間によって修正する方法を表したものである。
(式16)
Pn-1 m1=0.5×Pn-1 1+0.5×Pn-1 2
Pn-1 m2=0.5×Pn-1 3+0.5×Pn-1 4
Pn-1 m3=0.5×Pn 1+0.5×Pn 2
Pn-1 m4=0.5×Pn 3+0.5×Pn 4
式16は、式6と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式6と異なる。
式17は、図17の例による音声情報の補償(音声情報の除去)によって、復号パラメータのうち、励起信号成分FCBを補間して修正する方法を表したものである。
(式17)
FCBn-1 m1=0.5×FCBn-1 1+0.5×FCBn-1 2
FCBn-1 m2=0.5×FCBn-1 3+0.5×FCBn-1 4
FCBn-1 m3=0.5×FCBn 1+0.5×FCBn 2
FCBn-1 m4=0.5×FCBn 3+0.5×FCBn 4
式17は、式7と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式7と異なる。
図16の例のように、励起信号の場合には、修正されるサブフレームの励起信号成分のうち、前半成分及び後半成分を修正前のサブフレームの励起信号成分でそれぞれ代替する方法を適用することもできる。
式18は、図18の例による音声情報の補償(音声情報の除去)によって、励起信号成分を二つのサブフレームの励起信号成分を部分的に代替して生成した値で修正する方法を表したものである。
(式18)
FCBn-1 m1(k)=FCBn-1 1(k) (k=0〜サブフレーム/2)
=FCBn-1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn-1 m2(k) =FCBn-1 3(k) (k=0〜サブフレーム/2)
=FCBn-1 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn-1 m3(k)=FCBn 1(k) (k=0〜サブフレーム/2)
=FCBn 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn-1 m4(k)=FCBn 3(k) (k=0〜サブフレーム/2)
=FCBn 4(k) (k=サブフレーム/2〜サブフレーム)
式18は、式8と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式8と異なる。
また、復号パラメータのうち、励起信号成分の場合には、修正されるサブフレームの励起信号成分を、励起信号を生成するトラック単位で代替する方法を適用することもできる。
式19は、図18の例による音声情報の補償(音声情報の削除)によって、励起信号成分を、励起信号成分を生成するトラック単位に代替して生成した値で修正する方法を表したものである。
(式19)
FCBn-1 m1(k)=FCBn-1 1(k)(トラック1&3)+FCBn-1 2(k)(トラック2&4)
FCBn-1 m2(k)=FCBn-1 3(k)(トラック1&3)+FCBn-1 4(k)(トラック2&4)
FCBn m3(k)=FCBn 1(k)(トラック1&3)+FCBn 2(k)(トラック2&4)
FCBn m4(k)=FCBn 3(k)(トラック1&3)+FCBn 4(k)(トラック2&4)
式19は、式9と同じ方法で適用され、ただし、修正される復号パラメータの属するサブフレームと利用される復号パラメータの属するサブフレームとが式9と異なる。
図18では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、除去対象フレーム(n番目のフレーム)の先行フレーム(n−1番目のフレーム)のサブフレームを除去対象フレーム(n番目のフレーム)のサブフレームと除去対象フレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)のサブフレームを利用して上述したように修正し、対象フレーム(n番目のフレーム)を除去できる。
この場合、式15〜17で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
一方、再生要求を受信した場合に、ジッタバッファは、音声情報生成に関する次の4種類の音声情報補償のうちのいずれか一つを行うことができる。
(A)フレーム単位でサブフレームを生成して音声信号を伸張するものの、隣接した二つのフレームのうち、後フレームに属するサブフレームの復号パラメータと、前フレームに属する一部サブフレームの復号パラメータとを利用して、新しいサブフレームの復号パラメータを生成
(B)フレーム単位でサブフレームを生成して音声信号を伸張するものの、隣接した二つのフレームのうち、前フレームに属するサブフレームの復号パラメータと、後フレームに属する一部サブフレームの復号パラメータとを利用して、新しいサブフレームの復号パラメータを生成
(C)フレーム単位でサブフレームを生成して音声信号を伸張するものの、隣接した二つのフレームのうち、前フレームに属する一部サブフレームの復号パラメータと、後フレームに属する一部サブフレームの復号パラメータとを利用して、新しいサブフレームの復号パラメータを生成
(D)フレーム単位でサブフレームを生成して音声信号を伸張するものの、隣接した二つのフレームのうち、前フレームに属するサブフレームの復号パラメータと、後フレームに属するサブフレームの復号パラメータとを利用して、新しいサブフレームの復号パラメータを生成
上記(A)〜(D)の音声情報補償において、新しいサブフレームは、ジッタバッファの調整前の隣接していた二つのサブフレームの間に生成され、新しいサブフレームの復号パラメータは、前記隣接していた二つのサブフレームの復号パラメータを利用して生成することができる。
図19は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の更に他の例を概略的に説明する図である。
図19では、前記(A)の音声情報補償が適用される場合を例として説明する。したがって、生成されるフレーム(n番目のフレーム)の先行フレーム(n−1番目のフレーム)に属する一部サブフレームの復号パラメータと、後続フレーム(n+1番目のフレーム)に属するサブフレームの復号パラメータとを利用して、生成されるサブフレームの復号パラメータを導出できる。
具体的には、先行フレームの最後のサブフレームS4と後続フレームの1番目のサブフレームS1との間に新しいサブフレームを生成し、後続フレームの1番目のサブフレームS1と後続フレームの2番目のサブフレームS2との間に新しいサブフレームを生成し、後続フレームの2番目のサブフレームS2と後続フレームの3番目のサブフレームS3との間に新しいサブフレームを生成し、後続フレームの3番目のサブフレームS3と後続フレームの最後のサブフレームS4との間に新しいサブフレームを生成する。生成されるサブフレームの復号パラメータは、生成に利用されたサブフレームの復号パラメータから導出される。
ジッタバッファは、生成されたサブフレームをフレーム単位で集約して新しいフレームを構成できる。例えば、既存のサブフレームの間に新しいサブフレームが生成された場合、既存のサブフレームと新しいサブフレームとから構成されたフレームを設定できる。
式20は、図19の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ISP係数を補間して生成する方法を表したものである。
(式20)
ISPn m1=0.5×ISPn-1 4+0.5×ISPn+1 1
ISPn m3=0.5×ISPn+1 1+0.5×ISPn+1 2
ISPn+1 m1=0.5×ISPn+1 2+0.5×ISPn+1 3
ISPn+1 m3=0.5×ISPn+1 3+0.5×ISPn+1 4
ISP係数は、上述したようにLPC係数から変換によって導出してもよいし、LPC係数は、ISP係数から変換によって導出してもよい。
式21は、図19の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ピッチ周期を補間して生成する方法を表したものである。
(式21)
Pn m1=0.5×Pn-1 4+0.5×Pn+1 1
Pn m3=0.5×Pn+1 1+0.5×Pn+1 2
Pn+1 m1=0.5×Pn+1 2+0.5×Pn+1 3
Pn+1 m3=0.5×Pn+1 3+0.5×Pn+1 4
ピッチ周期は、LTPろ波、ピッチ遅延(遅延)、符号表利得などを復号して得ることができる。
式22は、図19の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、励起信号の成分を補間して生成する方法を表したものである。
(式22)
FCBn m1=0.5×FCBn-1 4+0.5×FCBn+1 1
FCBn m3=0.5×FCBn+1 1+0.5×FCBn+1 2
FCBn+1 m1=0.5×FCBn+1 2+0.5×FCBn+1 3
FCBn+1 m3=0.5×FCBn+1 3+0.5×FCBn+1 4
励起信号は、固定符号表、符号表利得を復号して得ることができる。
一方、励起信号の場合には、補間によって生成されずに、生成されるサブフレームに対する励起信号成分の前半部分及び後半成分として生成に利用されるサブフレームの励起信号成分を利用する方法を適用することもできる。
式23は、図19の例による音声情報の補償(音声情報の生成)によって、生成されるサブフレームに対する励起信号成分の前半部分及び後半成分として生成に利用されるサブフレームの励起信号成分を利用する方法を表したものである。
(式23)
FCBn m1(k) =FCBn-1 4(k) (k=0〜サブフレーム/2)
=FCBn+1 1(k) (k=サブフレーム/2〜サブフレーム)
FCBn m3(k) =FCBn+1 1(k) (k=0〜サブフレーム/2)
FCBn+1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m1(k)=FCBn+1 2(k) (k=0〜サブフレーム/2)
=FCBn+1 3(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m3(k)=FCBn+1 3(k) (k=0〜サブフレーム/2)
=FCBn+1 4(k) (k=サブフレーム/2〜サブフレーム)
また、復号パラメータのうち、励起信号成分の場合には、生成に利用されるサブフレームの励起信号成分をトラック単位で利用する方法を適用して、励起信号成分を生成することもできる。
式24は、図19の例による音声情報の補償(音声情報の生成)によって、トラック単位に既存のサブフレームの励起信号成分を利用して、励起信号成分を生成する方法を表したものである。
(式24)
FCBn m1(k)=FCBn-1 4(k)(トラック1&3)+FCBn+1 1(k)(トラック2&4)
FCBn m3(k)=FCBn+1 1(k)(トラック1&3)+FCBn+1 2(k)(トラック2&4)
FCBn+1 m1(k)=FCBn+1 2(k)(トラック1&3)+FCBn+1 3(k)(トラック2&4)
FCBn+1 m3(k)=FCBn+1 3(k)(トラック1&3)+FCBn+1 4(k)(トラック2&4)
生成されるサブフレームの励起信号成分は、既存の二つのサブフレームの励起信号成分の部分的な和から構成される。このとき、生成されるサブフレームの励起信号成分は、波数kが属するトラック別に該当トラックでの励起信号値を取る。
図19では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、先行フレーム(n−1番目のフレーム)において一つのサブフレームを利用し、後続フレーム(n+1番目のフレーム)においてL個のサブフレームを利用して、上述したようにフレーム(n番目のフレーム)を生成できる。
この場合、式20〜22で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
図20は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の更に他の例を概略的に説明する図である。
図20では、前記(B)の音声情報補償が適用される場合を例として説明する。したがって、生成されるフレーム(n番目のフレーム)の後続フレーム(n+1番目のフレーム)に属する一部サブフレームの復号パラメータと、先行フレーム(n−1番目のフレーム)に属するサブフレームの復号パラメータとを利用して、生成されるサブフレームの復号パラメータを導出できる。
図20の例では、図19の例と基本的に同じ方法を利用するものの、図19の例とは異なるサブフレームと復号パラメータとを利用して、サブフレームと復号パラメータとを生成する。
具体的には、先行フレームの1番目のサブフレームS1と先行フレームの2番目のサブフレームS2との間に新しいサブフレームを生成し、先行フレームの2番目のサブフレームS2と先行フレームの3番目のサブフレームS3との間に新しいサブフレームを生成し、先行フレームの3番目のサブフレームS3と先行フレームの最後のサブフレームS4との間に新しいサブフレームを生成し、先行フレームの最後のサブフレームS4と後続フレームの1番目のサブフレームS1との間に新しいサブフレームを生成する。生成されるサブフレームの復号パラメータは、生成に利用されたサブフレームの復号パラメータから導出される。
生成されたサブフレームをフレーム単位で集約して新しいフレームを構成できる。例えば、既存のサブフレームの間に新しいサブフレームが生成された場合、既存のサブフレームと新しいサブフレームとから構成されたフレームを設定できる。
式25は、図20の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ISP係数を補間して生成する方法を表したものである。
(式25)
ISPn-1 m2=0.5×ISPn-1 1+0.5×ISPn-1 2
ISPn-1 m4=0.5×ISPn-1 2+0.5×ISPn-1 3
ISPn m2=0.5×ISPn-1 3+0.5×ISPn-1 4
ISPn m4=0.5×ISPn-1 4+0.5×ISPn+1 1
式25は、式20と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式20と異なる。
式26は、図20の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ピッチ周期を補間して生成する方法を表したものである。
(式26)
Pn-1 m2=0.5×Pn-1 1+0.5×Pn-1 2
Pn-1 m4=0.5×Pn-1 2+0.5×Pn-1 3
Pn m2=0.5×Pn-1 3+0.5×Pn-1 4
Pn m4=0.5×Pn-1 4+0.5×Pn+1 1
式26は、式21と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式21と異なる。
式27は、図20の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、励起信号の成分を補間して生成する方法を表したものである。
(式27)
FCBn-1 m2=0.5×FCBn-1 1+0.5×FCBn-1 2
FCBn-1 m4=0.5×FCBn-1 2+0.5×FCBn-1 3
FCBn m2=0.5×FCBn-1 3+0.5×FCBn-1 4
FCBn m4=0.5×FCBn-1 4+0.5×FCBn+1 1
式27は、式22と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式22と異なる。
式28は、図20の例による音声情報の補償(音声情報の生成)によって、励起信号の場合には、補間によって生成されず、生成されるサブフレームに対する励起信号成分のうち、前半部分及び後半成分として生成に利用されるサブフレームの励起信号成分を利用する方法を表したものである。
(式28)
FCBn-1 m2(k)=FCBn-1 1(k) (k=0〜サブフレーム/2)
=FCBn-1 2(k)(k=サブフレーム/2〜サブフレーム)
FCBn-1 m4(k) =FCBn-1 2(k) (k=0〜サブフレーム/2)
=FCBn-1 3(k)(k=サブフレーム/2〜サブフレーム)
FCBn m2(k) =FCBn-1 3(k) (k=0〜サブフレーム/2)
=FCBn-1 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn m4(k) =FCBn-1 4(k) (k=0〜サブフレーム/2)
=FCBn+1 1(k) (k=サブフレーム/2〜サブフレーム)
式28は、式23と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式23と異なる。
式29は、図20の例による音声情報の補償(音声情報の生成)によって、トラック単位に既存のサブフレームの励起信号成分を利用して励起信号成分を生成する方法を表したものである。
(式29)
FCBn-1 m2(k)=FCBn-1 1(k)(トラック1&3)+FCBn-1 2(k)(トラック2&4)
FCBn-1 m4(k)=FCBn-1 2(k)(トラック1&3)+FCBn-1 3(k)(トラック2&4)
FCBn m2(k)=FCBn-1 3(k)(トラック1&3)+FCBn-1 4(k)(トラック2&4)
FCBn m4(k)=FCBn-1 4(k)(トラック1&3)+FCBn+1 1(k)(トラック2&4)
式29は、式24と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式24と異なる。
図20では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、音声フレームがL個のサブフレームから構成される場合、後続フレーム(n+1番目のフレーム)において一つのサブフレームを利用し、先行フレーム(n−1番目のフレーム)においてL個のサブフレームを利用して、上述したようにフレーム(n番目のフレーム)を生成できる。
この場合、式25〜27で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
図21は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の更に他の例を概略的に説明する図である。
図21では、前記(C)の音声情報補償が適用される場合を例として説明する。したがって、生成されるフレーム(n番目のフレーム)の先行フレーム(n+1番目のフレーム)に属する一部サブフレームと後続フレーム(n−1番目のフレーム)に属する一部サブフレームの復号パラメータを利用して、生成されるサブフレームの復号パラメータを導出できる。
図21の例では、図19〜図20の例と基本的に同じ方法を利用するものの、図19〜図20の例とは異なるサブフレームと復号パラメータとを利用して、サブフレームと復号パラメータとを生成する。
具体的には、先行フレームの2番目のサブフレームS2と先行フレームの3番目のサブフレームS3との間に新しいサブフレームを生成し、先行フレームの3番目のサブフレームS3と先行フレームの4番目のサブフレームS4との間に新しいサブフレームを生成し、後続フレームの1番目のサブフレームS1と後続フレームの2番目のサブフレームS2との間に新しいサブフレームを生成し、後続フレームの2番目のサブフレームS2と後続フレームの3番目のサブフレームS3との間に新しいサブフレームを生成する。生成されるサブフレームの復号パラメータは、生成に利用されたサブフレームの復号パラメータから導出される。
ジッタバッファは、生成されたサブフレームをフレーム単位で集約して新しいフレームを構成できる。例えば、既存のサブフレームの間に新しいサブフレームが生成された場合、既存のサブフレームと新しいサブフレームとから構成されたフレームを設定できる。
式30は、図21の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ISP係数を補間して生成する方法を表したものである。
(式30)
ISPn-1 m3=0.5×ISPn-1 2+0.5×ISPn-1 3
ISPn m1=0.5×ISPn-1 3+0.5×ISPn-1 4
ISPn m4=0.5×ISPn+1 1+0.5×ISPn+1 2
ISPn+1 m2=0.5×ISPn+1 2+0.5×ISPn+1 3
式30は、式20と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式20と異なる。
式31は、図21の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ピッチ周期を補間して生成する方法を表したものである。
(式31)
Pn-1 m3=0.5×Pn-1 2+0.5×Pn-1 3
Pn m1=0.5×Pn-1 3+0.5×Pn-1 4
Pn m4=0.5×Pn+1 1+0.5×Pn+1 2
Pn+1 m2=0.5×Pn+1 2+0.5×Pn+1 3
式31は、式21と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式21と異なる。
式32は、図21の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、励起信号の成分を補間して生成する方法を表したものである。
(式32)
FCBn-1 m3=0.5×FCBn-1 2+0.5×FCBn-1 3
FCBn m1=0.5×FCBn-1 3+0.5×FCBn-1 4
FCBn m4=0.5×FCBn+1 1+0.5×FCBn+1 2
FCBn+1 m2=0.5×FCBn+1 2+0.5×FCBn+1 3
式32は、式22と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式22と異なる。
式33は、図21の例による音声情報の補償(音声情報の生成)によって、励起信号の場合には、補間によって生成されず、生成されるサブフレームに対する励起信号成分のうち、前半部分及び後半成分として生成に利用されるサブフレームの励起信号成分を利用する方法を表したものである。
(式33)
FCBn-1 m3(k)=FCBn-1 2(k) (k=0〜サブフレーム/2)
=FCBn-1 3(k) (k=サブフレーム/2〜サブフレーム)
FCBn m1(k) =FCBn-1 3(k) (k=0〜サブフレーム/2)
=FCBn-1 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn m4(k) =FCBn+1 1(k) (k=0〜サブフレーム/2)
=FCBn+1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m2(k) =FCBn+1 2(k) (k=0〜サブフレーム/2)
=FCBn+1 3(k) (k=サブフレーム/2〜サブフレーム)
式33は、式23と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式23と異なる。
式34は、図21の例による音声情報の補償(音声情報の生成)によって、トラック単位に既存のサブフレームの励起信号成分を利用して励起信号成分を生成する方法を表したものである。
(式34)
FCBn-1 m3(k)=FCBn-1 2(k)(トラック1&3)+FCBn-1 3(k)(トラック2&4)
FCBn m1(k)=FCBn-1 3(k)(トラック1&3)+FCBn-1 4(k)(トラック2&4)
FCBn m4(k)=FCBn+1 1(k)(トラック1&3)+FCBn+1 2(k)(トラック2&4)
FCBn+1 m2(k)=FCBn+1 2(k)(トラック1&3)+FCBn+1 3(k)(トラック2&4)
式34は、式24と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式24と異なる。
図21では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、後続フレーム(n+1番目のフレーム)と先行フレーム(n−1番目のフレーム)のサブフレームを利用して、上述したようにフレーム(n番目のフレーム)を生成できる。
この場合、式30〜32で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
図22は、復号パラメータレベルでサブフレーム単位に音声情報の補償を行う方法の更に他の例を概略的に説明する図である。
図22では、前記(D)の音声情報補償が適用される場合を例として説明する。したがって、生成されるフレーム(n番目のフレーム)の先行フレーム(n+1番目のフレーム)に属するサブフレームと、後続フレーム(n+1番目のフレーム)に属するサブフレームの復号パラメータとを利用して、生成されるサブフレームの復号パラメータを導出できる。
図22の例では、図19〜図21の例と基本的に同じ方法を利用するものの、図19〜図21の例とは異なるサブフレームと復号パラメータとを利用して、サブフレームと復号パラメータとを生成する。
具体的には、先行フレームの1番目のサブフレームS1と先行フレームの2番目のサブフレームS2との間に新しいサブフレームを生成し、先行フレームの3番目のサブフレームS3と先行フレームの4番目のサブフレームS4との間に新しいサブフレームを生成し、後続フレームの1番目のサブフレームS1と後続フレームの2番目のサブフレームS2との間に新しいサブフレームを生成し、後続フレームの3番目のサブフレームS3と後続フレームの最後のサブフレームS4との間に新しいサブフレームを生成する。生成されるサブフレームの復号パラメータは、生成に利用されたサブフレームの復号パラメータから導出される。
ジッタバッファは、生成されたサブフレームをフレーム単位で集約して新しいフレームを構成できる。例えば、既存のサブフレームの間に新しいサブフレームが生成された場合、既存のサブフレームと新しいサブフレームとから構成されたフレームを設定できる。
式35は、図22の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ISP係数を補間して生成する方法を表したものである。
(式35)
ISPn-1 m2=0.5×ISPn-1 1+0.5×ISPn-1 2
ISPn m1=0.5×ISPn-1 3+0.5×ISPn-1 4
ISPn m4=0.5×ISPn+1 1+0.5×ISPn+1 2
ISPn+1 m3=0.5×ISPn+1 3+0.5×ISPn+1 4
式35は、式22と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式22と異なる。
式36は、図22の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、ピッチ周期を補間して生成する方法を表したものである。
(式36)
Pn-1 m2=0.5×Pn-1 1+0.5×Pn-1 2
Pn m1=0.5×Pn-1 3+0.5×Pn-1 4
Pn m4=0.5×Pn+1 1+0.5×Pn+1 2
Pn+1 m3=0.5×Pn+1 3+0.5×Pn+1 4
式36は、式21と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式21と異なる。
式37は、図22の例による音声情報の補償(音声情報の生成)によって、復号パラメータのうち、励起信号の成分を補間して生成する方法を表したものである。
(式37)
FCBn-1 m2=0.5×FCBn-1 1+0.5×FCBn-1 2
FCBn m1=0.5×FCBn-1 3+0.5×FCBn-1 4
FCBn m4=0.5×FCBn+1 1+0.5×FCBn+1 2
FCBn+1 m3=0.5×FCBn+1 3+0.5×FCBn+1 4
式37は、式22と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式22と異なる。
式38は、図22の例による音声情報の補償(音声情報の生成)によって、励起信号の場合には、補間によって生成されず、生成されるサブフレームに対する励起信号成分のうち、前半部分及び後半成分として生成に利用されるサブフレームの励起信号成分を利用する方法を表したものである。
(式38)
FCBn-1 m2(k)=FCBn-1 1(k) (k=0〜サブフレーム/2)
=FCBn-1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn m1(k) =FCBn-1 3(k) (k=0〜サブフレーム/2)
=FCBn-1 4(k) (k=サブフレーム/2〜サブフレーム)
FCBn m4(k) =FCBn+1 1(k) (k=0〜サブフレーム/2)
=FCBn+1 2(k) (k=サブフレーム/2〜サブフレーム)
FCBn+1 m3(k) =FCBn+1 3(k) (k=0〜サブフレーム/2)
=FCBn+1 4(k) (k=サブフレーム/2〜サブフレーム)
式38は、式24と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式24と異なる。
式39は、図22の例による音声情報の補償(音声情報の生成)によって、トラック単位に既存のサブフレームの励起信号成分を利用して励起信号成分を生成する方法を表したものである。
(式39)
FCBn-1 m2(k)=FCBn-1 1(k)(トラック1&3)+FCBn-1 2(k)(トラック2&4)
FCBn m1(k)=FCBn-1 3(k)(トラック1&3)+FCBn-1 4(k)(トラック2&4)
FCBn m4(k)=FCBn+1 1(k)(トラック1&3)+FCBn+1 2(k)(トラック2&4)
FCBn+1 m3(k)=FCBn+1 3(k)(トラック1&3)+FCBn+1 4(k)(トラック2&4)
式39は、式24と同じ方法で適用することができ、ただし、修正される復号パラメータの属するサブフレームと、利用される復号パラメータの属するサブフレームとが式24と異なる。
図22では、音声フレームが4個のサブフレームから構成される場合を例として説明したが、本発明は、これに限定されない。例えば、後続フレーム(n+1番目のフレーム)のサブフレーム及び復号パラメータと先行フレーム(n−1番目のフレーム)のサブフレーム及び復号パラメータとを利用して、上述したようにフレーム(n番目のフレーム)を生成できる。
この場合、式35〜37で説明した補間度p個(2≦p≦L)のサブフレーム(サブフレームの復号パラメータ)を利用して行うことができる。このとき、補間のフィルタ係数(平坦化比率)は、二つのサブフレームが適用される場合の0.5の代わりに、補間に利用されるサブフレーム(サブフレームの復号パラメータ)の個数に応じて定めることができる。例えば、p個のサブフレームが利用される場合、平坦化係数は、1/pと定めることができる。
一方、上述した説明では、LPC係数と関連した復号パラメータとしてISP係数を利用する場合を例として説明したが、本発明は、これに限定されない。例えば、ISP係数に対する補間方法は、先のISP係数と共にLSP係数に対しても同様に適用することができ、周波数領域への変換を考慮してISF係数とLSF係数にも適用することができる。
上述した例示において、方法は、一連のステップ又はブロックでフローチャートに基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、上述したように、他のステップと他の順序で又は同時に発生できる。また、上述した実施形態は、多様な様態の例示を含む。例えば、上述した実施形態を互いに組み合わせて実施することもでき、これもまた本発明に係る実施形態に属する。本発明は、以下の特許請求の範囲内に属する本発明の技術的思想による多様な修正及び変更を含む。