JP2012141649A - マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック - Google Patents

マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック Download PDF

Info

Publication number
JP2012141649A
JP2012141649A JP2012105376A JP2012105376A JP2012141649A JP 2012141649 A JP2012141649 A JP 2012141649A JP 2012105376 A JP2012105376 A JP 2012105376A JP 2012105376 A JP2012105376 A JP 2012105376A JP 2012141649 A JP2012141649 A JP 2012141649A
Authority
JP
Japan
Prior art keywords
codebook
unit
information
signal
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012105376A
Other languages
English (en)
Other versions
JP5186054B2 (ja
Inventor
Tian Wang
ワン ティエン
Kazuhito Koishida
コイシダ カズヒト
A Khalil Hosam
エー.カリル ホサム
Xiaoqin Sun
スン シャオチン
Wei-Ge Chen
チェン ウェイ−ゲ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012141649A publication Critical patent/JP2012141649A/ja
Application granted granted Critical
Publication of JP5186054B2 publication Critical patent/JP5186054B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

Abstract

【課題】リアルタイムコーデックなどのコーデックから導き出されるスピーチの品質を改善する。
【解決手段】オーディオ情報のコーディングおよび復号化に関連した技法およびツールが説明される。例えば、符号化されたユニットを復号化するための冗長符号化情報は、以前の符号化されたユニットが使用可能でない場合だけに現行の符号化されたユニットを復号化する際に使用されるべきコードブックステージについてのパラメータを含んでいる。さらに別の例としては、符号化されたオーディオユニットは、おのおの符号化されたユニットが、オーディオ信号のセグメントを表すメインの符号化された情報を含んでいるかどうか、また符号化されたユニットが、メインの符号化された情報を復号化する際に使用するための冗長な符号化された情報を含んでいるかどうかを示すフィールドを含んでいる。
【選択図】図2

Description

説明されるツールおよび技法は、オーディオコーデックに関し、詳細にはサブバンドコーディング、コードブック、および/または冗長コーディング(redundant coding)に関する。
デジタル無線電話ネットワーク、インターネット上におけるストリーミングオーディオ(streaming audio)、およびインターネット電話技術の出現と共に、スピーチのデジタル処理および配信が、一般的になってきている。エンジニアは、品質を依然として保持しながら効率的にスピーチを処理するために様々な技法を使用する。これらの技法を理解するためには、どのようにしてオーディオ情報がコンピュータ中において表され処理されるかを理解することが役に立つ。
I.コンピュータ中におけるオーディオ情報の表現
コンピュータは、オーディオを表現する一連の数としてオーディオ情報を処理する。1つの数は、オーディオサンプルを表現することができ、このオーディオサンプルは、特定の時刻における振幅値である。いくつかのファクタは、サンプル深度(sample depth)およびサンプリングレートを含めて、オーディオの品質に影響を及ぼす。
サンプル深度(または精度)は、サンプルを表現するために使用される数の範囲を示す。各サンプルについてのより多くの可能な値は、振幅のより微妙な変化が表現され得るので、一般的により高い品質出力を与える。8ビットサンプルは、256個の可能な値を有するが、16ビットサンプルは、65,536個の可能な値を有する。
(通常毎秒当たりのサンプルの数として測定される)サンプリングレートは、また品質にも影響を及ぼす。サンプリングレートが高くなればなるほど、サウンドのより多くの周波数を表現することができるので、品質はより高くなる。一般的な一部のサンプリングレートは、8,000サンプル/秒(Hz)、11,025サンプル/秒(Hz)、22,050サンプル/秒(Hz)、32,000サンプル/秒(Hz)、44,100サンプル/秒(Hz)、48,000サンプル/秒(Hz)、および96,000サンプル/秒(Hz)である。表1は、異なる品質レベルを有するオーディオのいくつかのフォーマットを対応する生ビットレートコスト(raw bit rate cost)と一緒に示している。
Figure 2012141649
表1が示すように、高品質オーディオのコストは、高いビットレートである。高品質のオーディオ情報は、大容量のコンピュータストレージと伝送容量を消費する。多数のコンピュータおよびコンピュータネットワークでは、生のデジタルオーディオを処理するリソースが欠如している。(符号化またはコーディングとも呼ばれる)圧縮(compression)は、情報をより低いビットレート形式へと変換することによってオーディオ情報を記憶し伝送するコストを低減させる。圧縮は、(品質が悪化しない)無損失(lossless)にすることもでき、あるいは(品質が悪化するが、後続の無損失圧縮からのビットレート低下がより劇的である)損失がある(lossy)ようにすることもできる。(復号化とも呼ばれる)伸張(decompression)は、圧縮された形式から元の情報の再構築されたバージョンを抽出する。コーデックとは、エンコーダ/デコーダシステム(encoder/decoder system)のことである。
II.スピーチのエンコーダおよびデコーダ
オーディオ圧縮の1つの目標は、オーディオ信号をデジタルで表現して、与えられた量のビットについての最大の信号品質を実現することである。別の言い方をすれば、この目標は、与えられた品質レベルについて最小のビットを用いてオーディオ信号を表現することである。伝送エラーに対する回復力や符号化/伝送/復号化に起因した全体的な遅延を制限することなど、他の目標は、一部のシナリオにおいて当てはまる。
異なる種類のオーディオ信号は、異なる特徴を有する。音楽は、より大きな範囲の周波数および振幅によって特徴づけられ、多くの場合に2つ以上のチャネルを含んでいる。他方では、スピーチは、より小さな範囲の周波数および振幅によって特徴づけられ、一般に1つのチャネル中において表現される。ある種のコーデックおよび処理技法は、音楽および一般的なオーディオ用に適応させられ、他のコーデックおよび処理技法は、スピーチ用に適応させられる。
1つのタイプの従来のスピーチコーデックは、線形予測を使用して圧縮を達成する。そのスピーチ符号化は、いくつかのステージを含んでいる。エンコーダは、線形予測フィルタについての係数を見出し量子化し、この線形予測フィルタを使用して、処理サンプル値の線形結合(linear combination)としてサンプル値を予測する。(「励起(excitation)」信号として表現される)残留信号は、フィルタリングによって正確に予測されない元の信号の一部分を示す。異なる種類のスピーチは異なる特徴を有するので、一部のステージにおいて、スピーチコーデックは、(声帯の振動によって特徴づけられた)有声セグメント(voiced segment)、無声セグメント(unvoiced segment)、および無音セグメント(silent segment)についての異なる圧縮技法を使用する。有声セグメントは、一般的に残留ドメイン中においてさえ非常に反復の多い有声パターン(voicing pattern)を示す。有声セグメントでは、エンコーダは、現行の残留信号を以前の残留サイクルと比較し、現行の残留信号を以前のサイクルに対する遅延または遅れの情報の観点から符号化することによりさらなる圧縮を達成する。エンコーダは、元の信号と特別に設計されたコードブックを使用した予測され符号化された表現との間の他の不一致を処理する。
多数のスピーチコーデックは、何らかの方法で信号中における時間的冗長性を活用する。前述のように、1つの一般的な方法は、ピッチパラメータの長期予測を使用して、以前の励起サイクルに対する遅延または遅れの観点から現行の励起信号を予測する。時間的冗長性を活用することは、ビットレートの品質の観点から圧縮効率を非常に改善することができるが、コーデックにメモリ依存性を導入することを犠牲にしており−デコーダは、信号の以前に復号化された一部分を用いて、信号の別の部分を正しく復号化する。多数の効率のよいスピーチコーデックは、かなりのメモリ依存性を有する。
前述されるようなスピーチコーデックは、多数の用途について全体的なよい性能を有するが、それらにはいくつかの欠点がある。とりわけ、それらのスピーチコーデックがダイナミックネットワークリソースに関連して使用される場合に、いくつかの欠点が表面化する。そのようなシナリオにおいては、符号化されたスピーチは、一時的な帯域幅不足または他の問題のために失われる可能性がある。
A.狭帯域コーデックおよび広帯域コーデック
多数の標準的なスピーチコーデックが、8kHzサンプリングレートを有する狭帯域信号用に設計された。8kHzサンプリングレートは、多数の状況において十分であるが、より高いサンプリングレートが、より高い周波数を表現するためなど他の状況においては望ましいこともある。
少なくとも16kHzのサンプリングレートを有するスピーチ信号は、一般的に広帯域スピーチと呼ばれる。これらの広帯域コーデックは、高い周波数スピーチパターンを表現するために望ましいこともあるが、それらは一般的に狭帯域コーデックよりも高いビットレートを必要とする。そのようなより高いビットレートは、一部のタイプのネットワーク中において、または一部のネットワーク状態の下では実現可能でないこともある。
B.ダイナミックネットワーク状態中における非効率なメモリ依存性
伝送中にまたはどこかで、失われ、遅延させられ、破損させられ、別の方法で使用できないようにされるなどにより、符号化されたスピーチが失われている場合には、スピーチコーデックの性能は、失われる情報に対するメモリ依存性に起因して悪化する可能性がある。励起信号についての情報の損失は、その失われた信号に依存する後になってからの再構築を妨害する。以前のサイクルが失われる場合に、遅延情報は、それが、デコーダがもたない情報を指すので、役に立たないこともある。メモリ依存性の別の例は、(とりわけ有声信号では、異なる合成フィルタ(synthesis filter)の間における遷移を滑らかにするために使用される)フィルタ係数補間(filter coefficient interpolation)である。フレームについてのフィルタ係数が失われる場合には、後続のフレームについてのフィルタ係数は、正しくない値を有することもある。
デコーダは、様々な技法を使用して、パケット損失および他の情報損失に起因したエラーを隠すが、これらの秘匿技法(concealment technique)は、めったに十分にはエラーを隠さない。例えば、デコーダは、正しく復号化された情報に基づいて以前のパラメータを反復し、あるいはパラメータを推定する。遅延情報は、しかしながら非常に影響を受けやすい可能性があり、先行する技法は、秘匿のために特に有効ではない。
ほとんどの場合において、デコーダは、最終的に失われた情報に起因したエラーから回復する。パケットが受信され復号化されるときに、パラメータは、それらの正しい値に向かって徐々に調整される。しかしながら、品質は、デコーダが、正しい内部状態を回復することができるまで悪化される可能性が高い。ほとんどの効率的なスピーチコーデックのうちの多くでは、再生品質は、拡張された期間(例えば、1秒まで)にわたって悪化させられ、高いひずみを引き起こし、多くの場合にスピーチを理解できないようにレンダリングする(render)こともある。回復時間は、これが、多数のパラメータについての自然のリセットポイントを提供するので、無音フレームなど、かなりの変化が生じる場合に、より速くなる。一部のコーデックは、それらがフレーム間依存性を取り除くので、パケット損失に対してより堅牢である。しかし、そのようなコーデックは、フレーム間依存性を有する伝統的なCELPコーデックと同じ音声品質を達成するためにかなり高いビットレートを必要とする。
コンピュータシステム中におけるスピーチ信号を表現することに対する圧縮および伸張の重要性を考えると、スピーチの圧縮および伸張は研究アクティビティおよび規格化アクティビティを引き寄せてきていることは驚くべきことではない。しかしながら、先行する技法およびツールの利点が何であったとしても、それらは、本明細書中に説明される技法およびツールの利点を有してはいない。
要約すれば、本詳細な説明は、オーディオコーデックについての様々な技法およびツールを対象としており、特にサブバンドコーディング、オーディオコーデックコードブック、および/または冗長コーディングに関連したツールおよび技法を対象としている。説明される実施形態は、それだけには限定されないが以降を含めて1つまたは複数の説明される技法およびツールを実施している。
一態様においては、オーディオ信号についてのビットストリームは、現行のフレームを復号化する際に使用されるべき以前のフレームのセグメントを参照する現行のフレームについてのメインの符号化された情報と、現行のフレームを復号化するための冗長符号化された情報とを含んでいる。冗長符号化された情報は、以前のフレームの参照されるセグメントに関連する信号履歴情報(signal history information)を含んでいる。
別の態様においては、オーディオ信号についてのビットストリームは、現行の符号化されたユニットを復号化する際に使用されるべき以前の符号化されたユニットのセグメントを参照する現行の符号化されたユニットについてのメインの符号化された情報と、現行の符号化されたユニットを復号化するための冗長符号化された情報とを含んでいる。その冗長符号化された情報は、以前の符号化されたユニットが使用可能でない場合だけに、現行の符号化された符号化されたユニットを復号化する際に使用されるべき1つまたは複数の余分なコードブックステージについての1つまたは複数のパラメータを含んでいる。
別の態様においては、ビットストリームは、複数の符号化されたオーディオユニットを含んでおり、符号化された各ユニットは、フィールドを含んでいる。そのフィールドは、符号化されたユニットが、オーディオ信号のセグメントを表現するメインの符号化された情報を含んでいるかどうかと、符号化されたユニットが、メインの符号化された情報を復号化する際に使用するための冗長符号化された情報を含んでいるかどうかを示す。
別の態様においては、オーディオ信号は、複数の周波数サブバンドへと分解される。各サブバンドは、コード励起された線形予測モデルに従って符号化される。ビットストリームは、おのおのがオーディオ信号のセグメントを表現する複数の符号化されたユニットを含むことができ、ここで複数の符号化されたユニットは、周波数サブバンドの第1の数を表す第1の符号化されたユニットと、周波数サブバンドの第2の数を表す第2の符号化されたユニットとを含み、サブバンドの第2の数は、第1の符号化されたユニットまたは第2の符号化されたユニットについてのサブバンド情報の脱落に起因してサブバンドの第1の数とは異なっている。第1のサブバンドは、第1の符号化モードに従って符号化することができ、第2のサブバンドは、異なる第2の符号化モードに従って符号化することができる。第1の符号化モードと第2の符号化モードは、異なる数のコードブックステージを使用することができる。各サブバンドは、別々に符号化することができる。さらに、リアルタイムスピーチエンコーダは、オーディオ信号を複数の周波数サブバンドへと分解すること、および複数の周波数サブバンドを符号化することを含めて、ビットストリームを処理することができる。ビットストリームを処理することは、複数の周波数サブバンドを復号化すること、および複数の周波数サブバンドを合成することを含むことができる。
別の態様においては、オーディオ信号についてのビットストリームは、オーディオ信号の第1のセグメントを表現するための、第1の組の複数の固定されたコードブックステージを含む第1のグループのコードブックステージについてのパラメータを含んでいる。第1の組の複数の固定されたコードブックステージは、複数のランダムな固定されたコードブックステージを含むことができる。固定されたコードブックステージは、パルスコードブックステージとランダムコードブックステージを含むことができる。第1のグループのコードブックステージは、適応コードブックステージをさらに含むことができる。ビットストリームは、オーディオ信号の第2のセグメントを表現する、第1のグループとは異なる数のコードブックステージを有する第2のグループのコードブックステージについてのパラメータをさらに含むことができる。第1のグループのコードブックステージ中におけるコードブックステージの数は、オーディオ信号の第1のセグメントの1つまたは複数の特性を含めて1つまたは複数のファクタに基づいて選択することができる。第1のグループのコードブックステージ中におけるコードブックステージの数は、エンコーダとデコーダとの間のネットワーク伝送状態を含めて1つまたは複数のファクタに基づいて選択することができる。ビットストリームは、複数の固定されたコードブックステージのおのおのについて別個のコードブックインデックスおよび別個の利得を含むことができる。別々の利得を使用することは、信号マッチングを実行することができ、別々のコードブックインデックスを使用することは、コードブック検索を簡単にすることができる。
別の態様においては、ビットストリームは、適応コードブックを使用してパラメタライズ化可能な複数のユニットのおのおのについて、適応コードブックパラメータがそのユニットについて使用されるか否かを示すフィールドを含んでいる。それらのユニットは、オーディオ信号の複数のフレームのサブフレームとすることができる。リアルタイムスピーチエンコーダなどのオーディオ処理ツールは、各ユニット中において適応コードブックパラメータを使用すべきかどうかを決定することを含めてビットストリームを処理することができる。適応コードブックパラメータを使用すべきかどうかを決定することは、適応コードブック利得がしきい値より上にあるかどうかを決定することを含むことができる。また、適応コードブックパラメータを使用すべきかどうかを決定することは、フレームの1つまたは複数の特性を評価することを含むこともできる。さらに、適応コードブックパラメータを使用すべきかどうかを決定することは、エンコーダとデコーダとの間の1つまたは複数のネットワーク伝送特性を評価することを含むことができる。フィールドは、有声ユニット当たりの1ビットフラグとすることができる。フィールドは、オーディオ信号の音声フレームのサブフレーム当たりの1ビットフラグとすることができ、フィールドは、他のタイプのフレームでは含められなくてもよい。
様々な技法およびツールは、組み合わせて、または独立に使用することができる。
追加の特徴および利点は、添付図面を参照して進められる異なる実施形態の以降の詳細な説明から明らかにされるであろう。
1つまたは複数の説明される実施形態を実施することができる適切なコンピューティング環境のブロック図である。 それに関連して1つまたは複数の説明される実施形態を実施することができるネットワーク環境のブロック図である。 サブバンド符号化のために使用することができるサブバンド構成についての1組の周波数応答を示すグラフである。 それに関連して1つまたは複数の説明される実施形態を実施することができるリアルタイムスピーチ帯域エンコーダのブロック図である。 一実施形態中におけるコードブックパラメータの決定を示す流れ図である。 それに関連して1つまたは複数の説明される実施形態を実施することができるリアルタイムスピーチ帯域デコーダのブロック図である。 現行のフレーム、および先行フレームの再符号化された一部分を含む励起信号履歴の図である。 一実施形態中における余分なランダムコードブックステージについてのコードブックパラメータの決定を示す流れ図である。 余分なランダムコードブックステージを使用したリアルタイムスピーチ帯域デコーダのブロック図である。 余分なランダムコードブックステージを使用したリアルタイムスピーチ帯域デコーダのブロック図である。 一部の実施形態と共に使用することができる異なる冗長コーディング技法についての情報を含むフレームについてのビットストリームフォーマットの図である。 一部の実施形態と共に使用することができる冗長コーディング情報を有するフレームを含むパケットについてのビットストリームフォーマットの図である。
説明される実施形態は、符号化および復号化に際してのオーディオ情報を処理するための技法およびツールを対象としている。これらの技法を用いて、リアルタイムスピーチコーデックなどのスピーチコーデックから導き出されるスピーチの品質が改善される。そのような改善は、別々にまたは組み合わされて様々な技法およびツールの使用からもたらされ得る。
そのような技法およびツールは、CELPなどの線形予測技法を使用したサブバンドの符号化および/または復号化を含むことができる。
それらの技法はまた、パルスおよび/またはランダムの固定されたコードブックを含めて、固定されたコードブックの複数のステージを有することを含むこともできる。コードブックステージの数は、与えられたビットレートについての品質を最大にするために変化させることができる。さらに、適応コードブックは、望ましいビットレートや現行のフレームまたはサブフレームの特徴などのファクタに応じてオンまたはオフに切り換えることができる。
さらにフレームは、現行のフレームが依存している以前のフレームの一部分またはすべてについての冗長符号化された情報を含むこともできる。この情報をデコーダによって使用して、以前のフレームが失われている場合に、何度も送信されるべき全体の以前のフレームを必要とせずに、現行のフレームを復号化することができる。そのような情報は、現行または以前のフレームと同じビットレートで、あるいはもっと低いビットレートで符号化することができる。さらに、そのような情報は、励起信号の望ましい部分の全体的な再符号化をすることではなくて、励起信号の望ましい部分を近似するランダムコードブック情報を含むことができる。
様々な技法についてのオペレーションは、提示のために特定の逐次的な順序で説明されるが、説明のこの方法は、特定の順序付けが必要とされない限り、オペレーションの順序の小さな再構成を包含することを理解すべきである。例えば、逐次的に説明されるオペレーションは、一部の場合には再構成することもでき、あるいは同時に実行することもできる。さらに、簡単のためにフローチャートは、個々の技法を他の技法に関連して使用することができる様々な方法を示していないこともある。
I.コンピューティング環境
図1は、1つまたは複数の説明される実施形態を実施することができる適切なコンピューティング環境(100)の一般化された一例を示している。本発明は、様々な汎用コンピューティング環境または専用コンピューティング環境中において実施することができるので、コンピューティング環境(100)は、本発明の使用または機能の範囲に関するどのような限定も示唆するようには意図されない。
図1を参照すると、コンピューティング環境(100)は、少なくとも1つの処理装置(110)およびメモリ(120)を含んでいる。図1において、この最も基本的なコンフィギュレーション(130)は、破線内に含まれる。処理装置(110)は、コンピュータ実行可能命令を実行し、実プロセッサまたは仮想プロセッサとすることができる。マルチ処理システムにおいては、複数の処理装置は、コンピュータ実行可能命令を実行して、処理能力を増大させる。メモリ(120)は、揮発性メモリ(例えば、レジスタ、キャッシュ、RAMなど)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)、またはそれら2つの何らかの組合せとすることができる。メモリ(120)は、スピーチエンコーダまたはスピーチデコーダについてのサブバンドコーディング、マルチステージコードブック、および/または冗長コーディング技法を実施するソフトウェア(180)を記憶する。
コンピューティング環境(100)は、追加の機能を有することができる。図1において、コンピューティング環境(100)は、ストレージ(140)、1つまたは複数の入力デバイス(150)、1つまたは複数の出力デバイス(160)、および1つまたは複数の通信接続(170)を含んでいる。バス、コントローラ、ネットワークなどの相互接続メカニズム(図示されず)は、コンピューティング環境(100)のコンポーネントを相互接続する。一般的に、オペレーティングシステムソフトウェア(図示されず)は、コンピューティング環境(100)中において実行される他のソフトウェアについての動作環境を提供し、コンピューティング環境(100)のコンポーネントのアクティビティを調整する。
ストレージ(140)は、着脱可能または着脱不能とすることができ、情報を記憶するために使用することができ、コンピューティング環境(100)内でアクセスすることができる、磁気ディスク、磁気テープまたは磁気カセット、CD−ROM、CD−RW、DVD、あるいは他の任意の媒体を含むことができる。ストレージ(140)は、ソフトウェア(180)のための命令を記憶する。
1つ(または複数)の入力デバイス(150)は、コンピューティング環境(100)に対する入力を供給する、キーボード、マウス、ペン、トラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、ネットワークアダプタ、または別のデバイスとすることができる。オーディオでは、1つ(または複数)の入力デバイス(150)は、オーディオ入力をアナログ形式またはデジタル形式で受け入れるサウンドカード、マイクロフォン、または他のデバイス、あるいはコンピューティング環境(100)に対してオーディオサンプルを供給するCD/DVDリーダとすることができる。1つ(または複数)の出力デバイス(160)は、コンピューティング環境(100)からの出力を供給するディスプレイ、プリンタ、スピーカ、CD/DVD−ライタ、ネットワークアダプタ、または別のデバイスとすることができる。
1つ(または複数)の通信接続(170)は、別のコンピューティングエンティティに対する通信媒体上での通信を可能にする。その通信媒体は、被変調データ信号中におけるコンピュータ実行可能命令、圧縮されたスピーチ情報、他のデータなどの情報を搬送する。被変調データ信号は、信号中における符号化情報について、その特性のうちの1つまたは複数が、そのような方法で設定されまたは変更されている信号である。例として限定ではないが、通信媒体は、電気キャリア(搬送)、光キャリア、RFキャリア、赤外線キャリア、音響キャリア、または他のキャリアを用いて実施される有線技法または無線技法を含んでいる。
本発明は、コンピュータ読取り可能媒体の一般的な場合について説明することができる。コンピュータ読取り可能媒体は、コンピューティング環境内でアクセスすることができる使用可能な任意の媒体である。例として限定ではないが、コンピューティング環境(100)では、コンピュータ読取り可能媒体は、メモリ(120)、ストレージ(140)、通信媒体、および以上の任意の物の組合せを含んでいる。
本発明は、ターゲットの実プロセッサまたは仮想プロセッサ上のコンピューティング環境中において実行されている、プログラムモジュール中に含まれる命令などコンピュータ実行可能命令の一般的な場合において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実施するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含んでいる。プログラムモジュールの機能は、様々な実施形態中において必要に応じてプログラムモジュール間で組合せ、または分離することができる。プログラムモジュールについてのコンピュータ実行可能命令は、ローカルコンピューティング環境内または分散コンピューティング環境内で実行することができる。
提示のために、詳細な説明は、「決定する(determine)」、「生成する(generate)」、「調整する(adjust)」および「適用する(apply)」のような用語を使用して、コンピューティング環境中におけるコンピュータオペレーションを説明している。これらの用語は、コンピュータによって実行されるオペレーションの高レベルの抽象化であるが、人間によって実行される動作と混同すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実施形態に応じて変化する。
II.一般化されたネットワーク環境とリアルタイムスピーチコーデック
図2は、それに関連して1つまたは複数の説明される実施形態を実施することができる一般化されたネットワーク環境(200)のブロック図である。ネットワーク(250)は、様々なエンコーダ側コンポーネントを様々なデコーダ側コンポーネントから分離する。
エンコーダ側コンポーネントとデコーダ側コンポーネントの主要なファンクションは、それぞれスピーチ符号化とスピーチ復号化である。エンコーダ側においては、入力バッファ(210)は、スピーチ入力(202)を受け入れ、記憶する。スピーチデコーダ(230)は、入力バッファ(210)からスピーチ入力(202)を取り込み、それを符号化する。
特に、フレームスプリッタ(frame splitter)(212)は、スピーチ入力(202)のサンプルをフレームへと分離する。一実施形態においては、フレームは、一様な20msの長さ−8kHz入力では160個のサンプルであり、16kHz入力では320個のサンプルである。他の実施形態においては、フレームは、異なる存続期間を有し、非一様もしくはオーバーラップしており、または入力(202)のサンプリングレートが異なっており、あるいはその両方である。フレームは、符号化および復号化の異なるステージでは、スーパーフレーム/フレーム、フレーム/サブフレーム、または他のコンフィギュレーションの形で構成することができる。
フレーム分類器(frame classifier)(214)は、サブフレームまたは全体フレームについての信号のエネルギー、ゼロ交差レート、長期予測利得、利得差(gain differential)および/または他の判断基準など1つまたは複数の判断基準に従ってフレームを分類する。その判断基準に基づいて、フレーム分類器(214)は、異なるフレームを無音、無声、有声、遷移(例えば、無声から有声)などのクラスへと分類する。さらに、フレームは、もしあればそのフレームについて使用される冗長コーディングのタイプに従って分類することができる。フレームクラスは、フレームを符号化するために計算されることになるパラメータに影響を及ぼす。さらに、フレームクラスは、パラメータを符号化する分解能および損失回復力に影響を及ぼして、より重要なフレームクラスおよびパラメータに対してより高い分解能および損失回復力を与える。例えば、無音フレームは、一般的に非常に低いレートで符号化され、失われる場合に秘匿によって回復することが非常に簡単であり、損失に対する保護を必要としないこともある。無声フレームは、一般的にやや高いレートで符号化され、失われる場合に秘匿によって回復することが妥当に簡単であり、損失に対してあまり保護されない。有声フレームおよび遷移フレームは、通常はフレームの複雑さならびに遷移の存在に応じて、より多数のビットを用いて符号化される。有声フレームおよび遷移フレームはまた、失われる場合に回復することが困難でもあり、それ故に損失に対してもっと顕著に保護される。代わりに、フレーム分類器(214)は、他および/または追加のフレームクラスを使用することもある。
入力スピーチ信号は、CELP符号化モデルなどの符号化モデルをフレームについてのサブバンド情報に対して適用する前にサブバンド信号へと分割することができる。これは、一連の1つまたは複数の(QMF解析フィルタなど)解析フィルタバンク(216)を使用して行うことができる。例えば、3帯域構成が使用されるべき場合には、次いで低周波数帯域は、ローパスフィルタ(low−pass filter)を介して信号を通過させることにより分離して取り出すことができる。同様に、高帯域は、ハイパスフィルタ(high pass filter)を介して信号を通過させることにより分離して取り出すことができる。中間帯域は、帯域通過フィルタ(band pass filter)を介して信号を通過させることにより、分離して取り出すことができ、この帯域通過フィルタは、直列のローパスフィルタとハイパスフィルタを含むことができる。代わりにサブバンド分解および/または(例えば、フレーム分離の前の)フィルタリングのタイミングについての他のタイプのフィルタ構成を使用することもできる。1つの帯域だけが、その信号の一部分について復号化されるべき場合には、その部分は解析フィルタバンク(216)をバイパスすることができる。CELP符号化は、一般的にスピーチ信号についてADPCMおよびMLTよりも高いコーディング効率を有する。
帯域の数nは、サンプリングレートによって決定することができる。例えば、一実施形態においては、単一帯域構成は、8kHzサンプリングレートについて使用される。16kHzおよび22.05kHzのサンプリングレートでは、図3に示されるように3帯域構成を使用することができる。図3の3帯域構成においては、低周波数帯域(310)は、全帯域幅Fの2分の1(0から0.5Fまで)広がる。帯域幅の他方の2分の1は、中間帯域(320)と高帯域(330)の間に等しく分割される。帯域の交差する点の近くでは、帯域についての周波数応答は、通過レベルから停止レベルまで徐々に減少することもあり、この停止レベルは、この交差する点が近づくときに両方の側上の信号の減衰によって特徴づけられる。周波数帯域幅の他の分割を使用することもできる。例えば、32kHzサンプリングレートでは、等しい間隔をおいて配置された4帯域構成を使用することができる。
信号エネルギーは、一般的により高い周波数範囲に向かって減衰していくので、低周波数帯域は、一般的にスピーチ信号では最も重要な帯域である。したがって、低周波数帯域は、多くの場合に他の帯域よりもより多くのビットを使用して符号化される。単一帯域コーディング構成と比較すると、サブバンド構成は、より柔軟性があり、周波数帯域にまたがったビット分布/量子化ノイズのより良い制御を可能にする。したがって、知覚による音声品質は、サブバンド構成を使用することによりかなり改善されると考えられる。
図2においては、符号化コンポーネント(232、234)によって示されるように、各サブバンドは、別々に符号化される。帯域符号化コンポーネント(232、234)は別々に示されているが、すべての帯域の符号化は、単一エンコーダによって行うことができ、あるいはそれらは、別々のエンコーダによって符号化することができる。そのような帯域符号化は、図4を参照して以下により詳細に説明される。代わりに、コーデックは、単一帯域コーデックとして動作することもできる。
結果として生じる符号化されたスピーチは、マルチプレクサ(「MUX」)(236)を介して1つまたは複数のネットワーキング層(240)についてのソフトウェアに対して供給される。ネットワーキング層(240)は、ネットワーク(250)上の伝送についての符号化されたスピーチを処理する。例えば、ネットワーク層ソフトウェアは、符号化されたスピーチ情報のフレームをRTPプロトコルに続くパケット中へとパッケージ化し、これらのパケットは、インターネット上でUDP、IP、および様々な物理層プロトコルを使用して中継される。代わりに、ソフトウェアまたはネットワーキングプロトコルの他および/または追加の層も使用される。ネットワーク(250)は、インターネットなどの広域パケット交換網(wide area,packet−switched network)である。代わりに、ネットワーク(250)は、ローカルエリアネットワーク(local area network)または他の種類のネットワークのこともある。
デコーダ側では、1つまたは複数のネットワーキング層(260)についてのソフトウェアは、伝送されたデータを受信し処理する。デコーダ側の1つ(または複数)のネットワーキング層(260)中におけるネットワーク層プロトコル、トランスポート層プロトコル、およびより高位の層のプロトコルは、通常、エンコーダ側の1つ(または複数)のネットワーキング層(240)中におけるプロトコルに対応する。1つ(または複数)のネットワーキング層は、デマルチプレクサ(demultiplexer)(「DEMUX」)(276)を介して符号化されたスピーチ情報をスピーチデコーダ(270)に対して供給する。デコーダ(270)は、復号化モジュール(272、274)中に示されるように各サブバンドを別々に復号化する。すべてのサブバンドは、単一デコーダによって復号化することもでき、あるいはそれらは別々の帯域デコーダによって復号化することもできる。
次いで復号化されたサブバンドは、一連の1つまたは複数の(QMF合成フィルタなどの)合成フィルタバンク(280)中において合成され、この合成フィルタバンクは、復号化されたスピーチ(292)を出力する。代わりに、サブバンド合成についての他のタイプのフィルタ構成も使用される。1つの帯域だけが存在する場合には、復号化された帯域は、フィルタバンク(280)をバイパスすることができる。
復号化されたスピーチ出力(292)は、1つまたは複数の後置フィルタ(284)を介して通過させて、結果として生じるフィルタがかけられたスピーチ出力(294)の品質を改善することができる。また各帯域は、フィルタバンク(280)に入力する前に1つまたは複数の後置フィルタを介して別々に通過させることもできる。
1つの一般化されたリアルタイムスピーチ帯域デコーダは、図6を参照して以下で説明されるが、他のスピーチデコーダを代わりに使用することもできる。さらに、説明されるツールおよび技法の一部または全部は、音楽のエンコーダやデコーダなどの他のタイプのオーディオのエンコーダおよびデコーダ、あるいは汎用のオーディオのエンコーダおよびデコーダと共に使用することもできる。
これらの主要な符号化ファンクションおよび復号化ファンクションを別として、コンポーネントはまた、(図2中における破線で示される)情報を共有して、符号化されたスピーチのレート、品質、および/または損失回復力を制御することもできる。レートコントローラ(rate controller)(220)は、入力バッファ(210)中における現行の入力の複雑度、エンコーダ(230)中または他のどこかにおける出力バッファのバッファ満杯度(buffer fullness)、望ましい出力レート、現行のネットワーク帯域幅、ネットワーク輻輳/ノイズ状態、および/またはデコーダ損失レートなど、様々なファクタを考慮する。デコーダ(270)は、デコーダ損失レート情報をレートコントローラ(220)へとフィードバックする。1つ(または複数)のネットワーキング層(240、260)は、現行のネットワーク帯域幅および輻輳/ノイズ状態についての情報を収集し、または推定し、この情報は、レートコントローラ(220)へとフィードバックされる。代わりに、レートコントローラ(220)は、他および/または追加のファクタを考慮することもある。
レートコントローラ(220)は、スピーチが復号化されるレート、品質、および/または損失回復力を変更するようにスピーチエンコーダ(230)に指示する。エンコーダ(230)は、パラメータについての量子化ファクタを調整し、あるいはそれらのパラメータを表現するエントロピーコード(entropy code)の分解能を変更することにより、レートおよび品質を変更することができる。さらに、エンコーダは、冗長コーディングのレートまたはタイプを調整することにより、損失回復力を変更することもできる。したがって、エンコーダ(230)は、ネットワーク状態に応じて主要な符号化ファンクションと損失回復力ファンクションの間のビットの割付けを変更することができる。
レートコントローラ(220)は、いくつかのファクタに基づいて各フレームの各サブバンドについての符号化モードを決定することができる。これらのファクタは、各サブバンドの信号特性と、ビットストリームバッファ履歴と、ターゲットビットレートを含むことができる。例えば、前述のように、一般的により少ないビットが、無声フレームや無音フレームなど、より簡単なフレームでは必要とされ、より多くのビットが、遷移フレームなど、より複雑なフレームでは必要とされる。さらに、より少ないビットが、高周波数帯域など、一部の帯域では必要とされることもある。さらに、ビットストリーム履歴バッファ中における平均ビットレートが、ターゲット平均ビットレートよりも少ない場合には、より高いビットレートを現行のフレームについて使用することができる。平均ビットレートがターゲット平均ビットレートよりも少ない場合には、より低いビットレートを現行のフレームについて選択して、平均ビットレートを低下させることができる。さらに、1つまたは複数の帯域は、1つまたは複数のフレームから削除することができる。例えば、中間周波数フレームおよび高周波数フレームは、無声フレームでは削除することができ、あるいはそれらは、期間にわたってのすべてのフレームから削除して、その時間中のビットレートを低下させることができる。
図4は、それに関連して1つまたは複数の説明される実施形態を実施することができる一般化されたスピーチ帯域エンコーダ(400)のブロック図である。帯域エンコーダ(400)は、一般に図2中における帯域符号化コンポーネント(232、234)のうちの任意の1つに対応する。
信号(例えば、現行のフレーム)が、複数の帯域中へと分離される場合、帯域エンコーダ(400)は、フィルタバンク(または他のフィルタ)から帯域入力(402)を受け入れる。現行のフレームが複数の帯域中へと分離されない場合には、帯域入力(402)は、全体の帯域幅を表現するサンプルを含んでいる。帯域エンコーダは、符号化された帯域出力(492)を生成する。
信号が複数の帯域に分離される場合には、ダウンサンプリングコンポーネント(downsampling component)(420)は、各帯域上でダウンサンプリングを実行することができる。一例として、サンプリングレートが16kHzに設定され、各フレームが、存続期間が20msである場合には、各フレームは、320個のサンプルを含んでいる。ダウンサンプリングが実行されず、フレームが図3に示される3帯域構成に分離された場合には、多数のサンプルの3回分(すなわち、帯域当たりに320サンプル、すなわち960個の全サンプル)が、そのフレームについて符号化され復号化されることになる。しかしながら、各帯域は、ダウンサンプリングすることができる。例えば、低周波数帯域(310)は、320サンプルから160サンプルへとダウンサンプリングすることができ、中間帯域(320)と高帯域(330)のおのおのは、320サンプルから80サンプルへとダウンサンプリングすることができ、ここで帯域(310、320、330)は、それぞれ周波数範囲の2分の1、4分の1、および4分の1よりも広がる。(この実施形態におけるダウンサンプリング(420)の程度は、帯域(310、320、330)の周波数範囲に対して変化する。しかし、他の実施形態も可能である。後のステージにおいて、信号エネルギーが、一般的に周波数範囲が高くなれば減少するので、より少ないビットが、一般的により高い帯域では使用される。)したがって、これは、そのフレームについて符号化され復号化されるべき全部で320個のサンプルを提供する。
各帯域のこのダウンサンプリングを伴ってさえ、サブバンドコーデックは、それがより柔軟性があるので単一帯域コーデックよりも高い音声品質出力を生成することができることが考えられる。例えば、サブバンドコーデックは、全周波数スペクトルについて同じアプローチを使用するのでなくて、帯域ごとに量子化ノイズを制御する点でより柔軟性がある可能性がある。複数の帯域のおのおのは、(以下で説明されるようにコードブックステージの異なる数および/またはタイプなど)異なるプロパティを用いて符号化することができる。そのようなプロパティは、各サブバンドの信号特性と、ビットストリームバッファ履歴と、ターゲットビットレートを含めて、いくつかのファクタに基づいて前述のレート制御によって決定することができる。前述のように、一般的により少ないビットが、無声フレームや無音フレームなど、「簡単な」フレームについて必要とされ、より多いビットが、遷移フレームなど、「複雑な」フレームについて必要とされる。ビットストリーム履歴バッファ中における平均ビットレートが、ターゲットビットレートよりも低い場合、より高いビットレートを現行のフレームについて使用することができる。そうでなければ、より低いビットレートが、平均ビットレートを低下させるために選択される。サブバンドコーデックにおいては、各帯域は、同じ方法で全体の周波数スペクトルを特性づけるのでなく、この方法で特性づけ、それに応じて符号化することができる。さらに、レート制御は、1つまたは複数のフレームについての1つまたは複数のより高い周波数帯域を削除することにより、ビットレートを低減させることができる。
LP解析コンポーネント(LP analysis component)(430)は、線形予測係数(432)を計算する。一実施形態においては、LPフィルタは、8kHz入力では10個の係数を、16kHz入力では16個の係数を使用し、LP解析コンポーネント(430)は、各帯域についてフレーム当たりに1組の線形予測係数を計算する。代わりに、LP解析コンポーネント(430)は、各帯域についてフレーム当たりに、異なるロケーションに中心をおく2つのウィンドウのおのおのについて1組の、2組の係数を計算し、あるいは帯域当たりおよび/またはフレーム当たりに異なる数の係数を計算することもある。
LPC処理コンポーネント(LPC processing component)(435)は、線形予測係数(432)を受け取り、処理する。一般的に、LPC処理コンポーネント(435)は、より効率的な量子化および符号化のためにLPC値を異なる表現へと変換する。例えば、LPC処理コンポーネント(435)は、LPC値を線形スペクトル対(linear spectral pair)[「LSP」]表現へと変換し、それらのLSP値は、(ベクトル量子化などにより)量子化され、符号化される。LSP値は、内部で符号化し、あるいは他のLSP値から予測することができる。様々な表現、量子化技法、および符号化技法がLPC値について可能である。LPC値は、パケット化および伝送のために(再構成のために必要とされる任意の量子化パラメータと他の情報と一緒に)符号化された帯域出力(492)の一部分として何らかの形式で提供される。エンコーダ(400)中において後で使用するために、LPC処理コンポーネント(435)は、(LSP表現または別の表現と等価的になど)LPC値についての補間を実行して、異なる組のLPC係数の間における、あるいはフレームの異なるサブフレームについて使用されるLPC係数の間における遷移を滑らかにすることができる。
合成(または「短期予測」)フィルタ(440)は、再構成されたLPC値(438)を受け入れ、それらをフィルタに組み込む。合成フィルタ(440)は、励起信号を受け取り、元の信号の近似値を生成する。与えられたフレームでは、合成フィルタ(440)は、予測の開始のために、以前のフレームからの再構成されたサンプルの数(例えば、10タップフィルタでは10)をバッファすることができる。
恒久的重み付けコンポーネント(perceptual weighting component)(450、455)は、合成フィルタ(440)の元の信号とモデル化された出力に恒久的重み付けを適用して、スピーチ信号のフォルマント構造を選択的に逆強調して(deemphasize)、この聴覚システム(auditory system)を量子化エラーの影響をあまり受けないようにする。恒久的重み付けコンポーネント(450、455)は、マスキングなどの心理音響的現象(psychoacoustic phenomena)を活用する。一実施形態においては、恒久的重み付けコンポーネント(450、455)は、LP解析コンポーネント(430)から受け取られた元のLPC値(432)に基づいて重みを適用する。代わりに、恒久的重み付けコンポーネント(450、455)は、他および/または追加の重みを適用することもある。
恒久的重み付けコンポーネント(450、455)に従って、エンコーダ(400)は、合成フィルタ(440)の恒久的に重み付けされた元の信号と恒久的に重み付けされた出力との間の差を計算して、差信号(434)を生成する。代わりに、エンコーダ(400)は、異なる技法を使用してスピーチパラメータを計算することもある。
励起パラメータ化コンポーネント(excitation parameterization component)(460)は、(重み付けされた平均2乗誤差(mean square error)または他の判断基準の観点から)恒久的に重み付けされた元の信号と合成された信号との間の差を最小にする観点から適応コードブックインデックス、固定されたコードブックインデックス、および利得コードブックインデックスの最良の組合せを見出そうとする。多数のパラメータが、サブフレームごとに計算されるが、より一般的にはパラメータは、スーパーフレームごと、フレームごと、またはサブフレームごとのこともある。前述のように、フレームまたはサブフレームの異なる帯域についてのパラメータは、異なることもある。表2は、一実施形態における異なるフレームクラスについての使用可能なタイプのパラメータを示している。
Figure 2012141649
図4において、励起パラメータ化コンポーネント(460)は、フレームをサブフレームへと分割し、必要に応じてサブフレームごとにコードブックのインデックスおよび利得を算出する。例えば、使用されるべきコードブックステージの数およびタイプと、コードブックインデックスの分解能は、符号化モードによって最初に決定することができ、ここでそのモードは、前述のようにレート制御コンポーネントによって指示することができる。特定のモードはまた、コードブックステージの数およびタイプ以外の符号化パラメータおよび復号化パラメータ、例えばコードブックインデックスの分解能を指示することもできる。各コードブックステージのパラメータは、パラメータを最適化して、ターゲット信号と、合成された信号に対するそのコードブックステージの寄与との間のエラーを最小にすることにより、決定される。(本明細書中において使用されるように、用語「最適化する」は、パラメータ空間上で完全な検索を実行することとは逆に、ひずみ低減化、パラメータ検索時間、パラメータ検索複雑度、パラメータのビットレートなどの適用可能な制約条件の下において適切なソリューションを見出すことを意味する。同様に、用語「最小にする」は、適用可能な制約条件の下で適切なソリューションを見出す観点から理解されるべきである。)例えば、最適化は、修正された平均2乗誤差技法を使用して行うことができる。ステージごとのターゲット信号は、残留信号と、以前のコードブックステージの、もしあれば合成された信号に対する寄与の合計との間の差である。代わりに、他の最適化技法を使用することもできる。
図5は、一実施形態による、コードブックパラメータを決定するための技法を示している。励起パラメータ化コンポーネント(460)は、もしかするとレートコントローラなど、他のコンポーネントに関連してその技法を実行する。代わりに、エンコーダ中における別のコンポーネントが、その技法を実行することもある。
図5を参照すると、有声フレームまたは遷移フレーム中におけるサブフレームごとに、励起パラメータ化コンポーネント(460)は、適応コードブックを現行のサブフレームについて使用することができるかどうかを決定する(510)。(例えば、レート制御は、適応コードブックが特定のフレームについて使用されるべきでないことを指示することができる。)適応コードブックが使用されるべきでない場合、次いで適応コードブックスイッチは、適応コードブックが使用されるべきでないことを示すことになる(535)。例えば、これは、フレームレベルにおいて特定のコーディングモデルを指定することにより、適応コードブックがそのフレーム中において使用されないことを示すフレームレベルで1ビットフラグを設定することにより、あるいは適応コードブックがそのサブフレーム中において使用されないことを示すサブフレームごとに1ビットフラグを設定することによって行うことができる。
例えば、レート制御コンポーネントは、フレームについての適応コードブックを除外し、それによってフレーム間の最も顕著なメモリ依存性を除去することができる。とりわけ有声フレームでは、典型的な励起信号は周期的パターンによって特徴づけられる。適応コードブックは、履歴バッファ中における励起のセグメントの位置を示す遅れを表すインデックスを含んでいる。以前の励起のセグメントは、励起信号に対する適応コードブックの寄与となるようにスケーリングされる。デコーダにおいては、適応コードブック情報は、一般的に励起信号を再構成する際に非常に重要である。以前のフレームが失われ、適応コードブックインデックスが以前のフレームのセグメントを戻って指す場合には、適応コードブックインデックスは、それが存在していない履歴情報を指すので、一般的に有用ではない。たとえ秘匿技法が、この失われた情報を回復するために実行されるとしても、さらなる再構築は、やはりその不完全に回復された信号に基づくことになる。これは、遅れ情報が一般的に影響を受けやすいので、そのフレーム中において継続するエラーを引き起こすことになる。
したがって、以降の適応コードブックによって用いられるパケットの損失は、多数のパケットが復号化された後だけに、あるいは適応コードブックのないフレームに遭遇される場合に次第に消えていく拡張された悪化をもたらす可能性がある。この問題は、フレーム間のメモリ依存性をもたないパケットストリーム中に、いわゆる「内部フレーム(intra−frame)」を定期的に挿入することにより減少させることができる。このようにして、エラーは、次の内部フレームまで伝搬するだけになる。したがって、適応コードブックのコーディング効率は通常、固定されたコードブックのコーディング効率よりも高いので、良好な音声品質と良好なパケット損失性能との間にトレードオフが存在する。レート制御コンポーネントは、特定のフレームについて適応コードブックを禁止することがいつ有利であるかを決定することができる。適応コードブックスイッチを使用して、特定のフレームについての適応コードブックの使用を防止し、それによって一般的に以前のフレームに対する最も重要な依存性となる物をなくすることができる(LPC補間および合成フィルタメモリは、ある程度まで以前のフレームに依存することもある)。したがって、適応コードブックスイッチをレート制御コンポーネントが使用して、パケット損失レートなどのファクタに基づいて準内部フレームを動的に作成することができる(すなわち、パケット損失レートが高い場合には、より多くの内部フレームを挿入して、より高速なメモリリセットを可能にすることができる)。
依然として図5を参照すると、適応コードブックを使用することができる場合には、コンポーネント(460)は、適応コードブックパラメータを決定する。これらのパラメータは、励起信号履歴の望ましいセグメントを示すインデックスまたはピッチの値、ならびに望ましいセグメントに対して適用される利得を含んでいる。図4および5においては、コンポーネント(460)は、閉ループピッチ検索(closed loop pitch search)(520)を実行する。この検索は、図4中におけるオプションの開ループピッチ検索コンポーネント(425)によって決定されるピッチを用いて開始される。開ループピッチ検索コンポーネント(425)は、重み付けコンポーネント(450)によって生成される重み付けされた信号を解析して、そのピッチを推定する。この推定されるピッチと共に開始されて、閉ループピッチ検索(520)は、ピッチ値を最適化して、ターゲット信号と励起信号履歴の示されたセグメントから生成される重み付けされた合成信号との間のエラーを減少させる。適応コードブック利得値もまた最適化される(525)。適応コードブック利得値は、それらの値のスケールを調整するためにピッチ予測された値(励起信号履歴の示されたセグメントからの値)に対して適用される乗数(multiplier)を示す。ピッチ予測された値によって乗ぜられた利得は、現行のフレームまたはサブフレームについての励起信号に対する適応コードブックの寄与である。利得最適化(525)は、ターゲット信号と、適応コードブック寄与からの重み付けされた合成信号との間のエラーを最小にする利得値およびインデックス値を生成する。
ピッチ値および利得値が決定された後に、次いで適応コードブック寄与が、適応コードブックパラメータによって使用されるビット数を価値あるようにするのに十分意味があるかどうかが決定される(530)。適応コードブック利得がしきい値より小さい場合、適応コードブックは、オフにされて、以下で説明される固定されたコードブックについてのビットを節約する。一実施形態においては、0.3のしきい値が使用されるが、他の値が代わりにしきい値として使用されてもよい。一例として、現行の符号化モードが適応コードブックに加えて5つのパルスを有するパルスコードブックを使用する場合には、次いで適応コードブックがオフにされる場合に7パルスコードブックが、使用されてもよく、ビットの総数は、依然として同じまたはそれより少ないことになる。前述のように、サブフレームごとの1ビットフラグを使用して、サブフレームについての適応コードブックスイッチを示すことができる。したがって、適応コードブックが使用されない場合、スイッチは、適応コードブックがサブフレーム中において使用されないことを示すように設定される(535)。同様に、適応コードブックが使用される場合には、スイッチは、適応コードブックがサブフレーム中において使用され、適応コードブックパラメータがビットストリーム中において信号で伝えられること(540)を示すように設定される。図5は、その決定の後に信号で伝えることを示しているが、代わりに、信号は、この技法が、フレームまたはスーパーフレームについて終了するまでバッチ処理(batch)されることもある。
励起パラメータ化コンポーネント(460)は、パルスコードブックが使用されるかどうかも決定する(550)。一実施形態においては、パルスコードブックの使用または非使用は、現行のフレームについての全体的なコーディングモードの一部分として示され、あるいは、それは、他の方法で示し、または決定することもできる。パルスコードブックは、励起信号に対して寄与すべき1つまたは複数のパルスを指定する、1タイプの固定されたコードブックである。パルスコードブックパラメータは、インデックスおよび符号の対を含んでいる(利得は正または負の可能性がある)。各対は、励起信号に含められるべきパルスを示し、インデックスは、パルスの位置を示し、符号は、パルスの極性を示す。パルスコードブック中に含められ、励起信号に寄与するように使用されるパルスの数は、コーディングモードに応じて変化する可能性がある。さらに、パルス数は、適応コードブックが使用されているか否かに依存することもある。
パルスコードブックが使用される場合には、次いでパルスコードブックパラメータは、示されるパルスの寄与と、ターゲット信号との間のエラーを最小にするように最適化される(555)。適応コードブックが使用されない場合には、次いでターゲット信号は、重み付けされた元の信号である。適応コードブックが使用される場合には、次いでターゲット信号は、重み付けされた元の信号と、適応コードブックの重み付けされた合成信号に対する寄与との間の差である。あるポイント(図示されず)において、パルスコードブックパラメータは、次いでビットストリーム中において信号で伝えられる。
励起パラメータ化コンポーネント(460)はまた、任意のランダムな固定されたコードブックステージが使用されるべきかどうかも決定する(565)。(もしあれば)ランダムコードブックステージの数は、現行のフレームについての全体的コーディングモードの一部分として示されるが、それは、別の方法で示し、決定することもできる。ランダムコードブックは、それが符号化する値についてのあらかじめ定義された信号モデルを使用する1タイプの固定されたコードブックである。コードブックパラメータは、信号モデルの示されるセグメントについての開始ポイントと、正または負となり得る符号とを含むことができる。示されるセグメントの長さまたは範囲は、一般的に固定され、それ故に一般的には信号で伝えられないが、代わりにその示されるセグメントの長さまたは範囲が、信号で伝えられることもある。利得は、示されたセグメント中の値によって乗ぜられて、励起信号に対する、ランダムコードブックの寄与を生成する。
少なくとも1つのランダムコードブックステージが使用される場合、次いでそのコードブックステージについてのコードブックステージパラメータは、ランダムコードブックステージの寄与とターゲット信号との間のエラーを最小にするように最適化される(570)。ターゲット信号は、重み付けされた元の信号と、適応コードブックステージ(もしあれば)、パルスコードブックステージ(もしあれば)、および以前に決定されたランダムコードブックステージ(もしあれば)の重み付けされた合成信号に対する寄与の合計との間の差である。次いであるポイント(図示されず)において、ランダムコードブックパラメータは、ビットストリーム中において信号で伝えられる。
次いで、コンポーネント(460)は、より多くの任意のランダムコードブックステージが使用されるべきかどうかを決定する(580)。使用されるべき場合、次いで次のランダムコードブックステージのパラメータが最適化され(570)、前述のように信号で伝えられる。これは、ランダムコードブックステージについてのすべてのパラメータが決定されるまで、継続される。すべてのランダムコードブックステージは、同じ信号モデルを使用することができるが、それらは、モデルとは異なるセグメントを示し、異なる利得値を有することになる可能性が高い。代わりに、異なる信号モデルを異なるランダムコードブックステージについて使用することもできる。
レートコントローラおよび/または他のコンポーネントによって決定されるように、各励起利得は、独立に量子化することもでき、あるいは2つ以上の利得は、一緒に量子化することもできる。
特定の順序が、様々なコードブックパラメータを最適化するために本明細書中で述べられてきているが、他の順序および最適化技法を使用することもできる。したがって、図5は、異なるコードブックパラメータの逐次的な計算を示すが、代わりに2つ以上の異なるコードブックパラメータが、(例えば、それらのパラメータを一緒に変化させ、何らかの非線形最適化技法に従って結果を評価することにより)一緒に最適化されることもある。さらに、コードブックの他のコンフィギュレーション、または他の励起信号パラメータを使用することもできる。
本実施形態中における励起信号は、適応コードブックステージと、パルスコードブックステージと、1つ(または複数)のランダムコードブックステージのうちの任意の寄与の合計である。代わりに、コンポーネント(460)は、励起信号についての他および/または追加のパラメータを計算することもできる。
図4を参照すると、励起信号についてのコードブックパラメータは、(図4中における破線で囲まれた)ローカルデコーダ(465)、ならびに帯域出力(492)に対して信号で伝えられ、あるいは別のやり方で供給される。したがって、帯域ごとに、エンコーダ出力(492)は、前述のLPC処理コンポーネント(435)からの出力、ならびに励起パラメータ化コンポーネント(460)からの出力を含んでいる。
出力(492)のビットレートは、コードブックによって使用されるパラメータに部分的に依存し、エンコーダ(400)は、異なる組のコードブックインデックスの間で切り換え、埋め込まれたコーデックを使用し、または他の技法を使用することにより、ビットレートおよび/または品質を制御することができる。コードブックのタイプとステージとの異なる組合せは、異なるフレーム、帯域、および/またはサブフレームについての異なる符号化モードをもたらすことができる。例えば、無声フレームは、1つのランダムコードブックステージだけを使用することができる。適応コードブックとパルスコードブックは、低レートの有声フレームについて使用することができる。高レートフレームは、適応コードブックステージ、パルスコードブックステージ、および1つまたは複数のランダムコードブックステージを使用して符号化することができる。1つのフレーム中においては、すべてのサブバンドについてのすべての符号化モードの組合せを一緒にモードセットと呼ぶことができる。サンプリングレートごとに、異なるモードが異なるコーディングビットレートに対応した、いくつかのあらかじめ定義されたモードセットが存在することができる。レート制御モジュールは、フレームごとにモードセットを決定し、あるいはそのモードセットに影響を及ぼすことができる。
可能なビットレートの範囲は、説明される実施形態について非常に大きくすることができ、結果として生じる品質にかなりの改善をもたらすことができる。標準的なエンコーダにおいては、パルスコードブックのために使用されるビットの数は、変化させることもできるが、あまりにも多数のビットは、単に過度に高密度のパルスをもたらす可能性がある。同様に、ただ1つのコードブックが使用される場合には、より多くのビットを追加することにより、より大きな信号モデルを使用することができるようになる。しかし、これは、そのモデルの最適なセグメントについての検索の複雑さをかなり増大させる可能性がある。対照的に、追加のタイプのコードブックおよび追加のランダムコードブックステージは、(単一の組み合わされたコードブックを検索することと比べて)個々のコードブック検索の複雑さをあまり増大させずに、追加することができる。さらに、複数のランダムコードブックステージと複数のタイプの固定されたコードブックは、複数の利得ファクタを可能にし、これらの利得ファクタは、波形マッチングについてのより多くの柔軟性をもたらす。
依然として図4を参照すると、励起パラメータ化コンポーネント(460)の出力は、そのパラメータ化コンポーネント(460)によって使用されるコードブックに従ってコードブック再構成コンポーネント(codebook reconstruction component)(470、472、474、476)と利得適用コンポーネント(gain application component)(480、482、484、486)によって受け取られる。コードブックステージ(470、472、474、476)と対応する利得適用コンポーネント(480、482、484、486)は、コードブックの寄与を再構成する。これらの寄与は、励起信号(490)を生成することが仮定され、この励起信号は、合成フィルタ(440)によって受け取られ、ここでその励起信号は、後続の線形予測が行われる「予測された」サンプルと一緒に使用される。励起信号の遅延部分はまた、後続の適応コードブックパラメータ(例えば、ピッチの寄与)を再構成するために、適応コードブック再構成コンポーネント(470)によって、また後続の適応コードブックパラメータ(例えば、ピッチインデックス値およびピッチ利得値)を計算する際に、パラメータ化コンポーネント(460)によって励起履歴信号として使用される。
図2に戻って参照すると、帯域ごとの帯域出力は、他のパラメータと一緒にMUX(236)によって受け入れられる。そのような他のパラメータは、他の情報のうちでもとりわけ、フレーム分類器(214)からのフレームクラス情報(222)とフレーム符号化モードを含んでいる。MUX(236)は、他のソフトウェアに渡すためのアプリケーション層パケットを構成し、MUX(236)は、RTPなどのプロトコルに従うパケットのペイロードにデータを入れる。MUXは、後のパケット中における順方向エラー訂正についてのパラメータの選択的反復を可能にするためにパラメータをバッファすることができる。一実施形態においては、MUX(236)は、1つまたは複数の以前のフレームのすべてまたは一部分についての順方向エラー訂正情報と一緒に1つのフレームについてのメインの符号化されたスピーチ情報を単一パケットへと詰め込む。
MUX(236)は、レート制御目的のための現行のバッファ満杯度などのフィードバックを提供する。より一般的には、(フレーム分類器(214)およびMUX(236)を含めて)エンコーダ(230)の様々なコンポーネントは、図2に示されるレートコントローラなどのレートコントローラ(220)に対して情報を供給することができる。
図2のビットストリームDEMUX(276)は、符号化されたスピーチ情報を入力として受け入れ、その情報を解析して、パラメータを識別し処理する。パラメータは、フレームクラス、LPC値の何らかの表現、およびコードブックパラメータを含むことができる。フレームクラスは、他のどのパラメータが与えられたフレームについて存在するかを示すことができる。より一般的には、DEMUX(276)は、エンコーダ(230)によって使用されるプロトコルを使用し、エンコーダ(230)がパケットに詰め込むパラメータを抽出する。動的パケット交換網上で受信されるパケットでは、DEMUX(276)は、与えられた期間上のパケットレートの短期揺らぎを平滑化するジッタバッファ(jitter buffer)を含んでいる。一部の場合には、デコーダ(270)は、バッファ遅延を調整し、遅延、品質制御、失われたフレームの秘匿などを復号化に統合するためにパケットが、いつバッファから読み出されるかを管理する。他の場合には、アプリケーション層コンポーネントは、ジッタバッファを管理し、ジッタバッファは、可変なレートで満たされ、一定または比較的一定のレートでデコーダ(270)によって使い尽くされる。
DEMUX(276)は、一次的な符号化されたバージョンと、1つまたは複数の二次的なエラー訂正バージョンを含めて、与えられたセグメントについての複数のバージョンのパラメータを受信することができる。エラー訂正が失敗する場合に、デコーダ(270)は、正しく受け取られた情報に基づいてパラメータの反復や推定などの秘匿技法を使用する。
図6は、それに関連して1つまたは複数の説明される実施形態を実施することができる一般化されたリアルタイムスピーチ帯域デコーダ(600)のブロック図である。帯域デコーダ(600)は、一般に図2の帯域復号化コンポーネント(272、274)のうちの任意の1つに対応する。
帯域デコーダ(600)は、(完全な帯域、または複数のサブバンドのうちの1つとすることができる)帯域についての符号化されたスピーチ情報(692)を入力として受け入れ、復号化後に再生成された出力(602)を生成する。デコーダ(600)のコンポーネントは、エンコーダ(400)中における対応するコンポーネントを有するが、全体的なデコーダ(600)は、それには、恒久的な重み付け、励起処理ループおよびレート制御についてのコンポーネントが欠如しているので、より簡単である。
LPC処理成分(635)は、帯域エンコーダ(400)によって提供される形態におけるLPC値を表現する情報(ならびに任意の量子化パラメータおよび再構成のために必要とされる他の情報)を受け取る。LPC処理コンポーネント(635)は、LPC値に以前に適用された変換、量子化、符号化などの逆変換(inverse)を使用して、LPC値(638)を再構成する。LPC処理コンポーネント(635)はまた、(LPC表現、またはLSPなど別の表現の)LPC値についての補間を実行して、異なる組のLPC係数の間の遷移を滑らかにすることができる。
コードブックステージ(670、672、674、676)および利得適用コンポーネント(680、682、684、686)は、励起信号について使用される対応するコードブックステージのうちのどれかのパラメータを復号化し、使用される各コードブックステージの寄与を計算する。より一般的には、コードブックステージ(670、672、674、676)および利得コンポーネント(680、682、684、686)のコンフィギュレーションおよびオペレーションは、エンコーダ(400)中におけるコードブックステージ(470、472、474、476)および利得コンポーネント(480、482、484、486)のコンフィギュレーションおよびオペレーションに対応する。使用されるコードブックステージの寄与は、合計され、結果として生ずる励起信号(690)は、合成フィルタ(640)へと供給される。励起信号(690)の遅延された値は、励起信号の後続の部分についての適応コードブックの寄与を計算する際に適応コードブック(670)によって励起履歴として使用されもする。
合成フィルタ(640)は、再構成されたLPC値(638)を受け入れ、それらをフィルタ中に組み込む。合成フィルタ(640)は、処理するために以前に再構成されたサンプルを記憶する。励起信号(690)は、元のスピーチ信号の近似を形成するために合成フィルタ中を通過させられる。図2に戻って参照すると、前述のように、複数のサブバンドが存在する場合、各サブバンドについてのサブバンド出力は、フィルタバンク(280)中において合成されて、スピーチ出力(292)を形成する。
図2〜6に示される関係は、情報の全般的な流れを示しているが、他の関係は、簡単にするために示されてはいない。望ましい圧縮の実施形態およびタイプに応じて、コンポーネントは、他のコンポーネントと組み合わされ、または同様なコンポーネントと置換され、あるいはその両方が行われる複数のコンポーネント中へと追加し、削除し、分離することができる。例えば図2に示される環境(200)において、レートコントローラ(220)は、スピーチエンコーダ(230)と組み合わせることができる。追加される可能性のあるコンポーネントは、スピーチエンコーダ(またはデコーダ)ならびに他のエンコーダ(またはデコーダ)を管理し、ネットワークおよびデコーダの状態情報を収集し、また適応エラー収集ファンクションを実行するマルチメディア符号化(または再生)アプリケーションを含んでいる。代替実施形態においては、コンポーネントの異なる組合せおよびコンフィギュレーションは、本明細書中に説明される技法を使用してスピーチ情報を処理する。
III.冗長コーディング技法
スピーチコーデックの可能性のある1つの用途は、IPネットワークまたは他のパケット交換網上の音声用である。そのようなネットワークは、既存の回路スイッチングインフラストラクチャ(circuit switching infrastructure)に対して優る一部の利点を有する。しかしながら、ボイスオーバーIPネットワーク(voice over IP network)においては、パケットは、多くの場合にネットワーク輻輳に起因して遅延させられ、あるいは脱落させられることもある。
多数の標準的なスピーチコーデックは、高いフレーム間の依存性を有する。したがって、これらのコーデックでは、1つの失われたフレームは、多数の以降のフレームを介して厳しい音声品質悪化を引き起こす可能性がある。
他のコーデックにおいては、各フレームは、独立に復号化することができる。そのようなコーデックは、パケット損失に対して堅牢である。しかし、品質およびビットレートの観点からのコーディング効率は、フレーム間の依存性を可能にしない結果としてかなり低下する。したがって、そのようなコーデックは、一般的に伝統的なCELPコーダと同様な音声品質を達成するために、より高いビットレートを必要とする。
一部の実施形態においては、以下で説明される冗長コーディング技法は、ビットレートをあまり増大させることなく、良好なパケット損失回復性能を達成する助けを行うことができる。それらの技法は、単一のコーデック内で一緒に使用することもでき、あるいはそれらは、別々に使用することもできる。
図2および4を参照して以上で説明されるエンコーダ実施形態においては、適応コードブック情報は、一般的に他のフレームに対する依存性の主要な原因である。前述のように、適応コードブックインデックスは、履歴バッファ中における励起信号のセグメントの位置を示す。以前の励起信号のセグメントは、現行のフレーム(またはサブフレーム)励起信号の適応コードブック寄与となるように、(利得値に従って)スケーリングされる。符号化された以前の励起信号を再構成するために使用される情報を含む以前のパケットが失われる場合には、この現行のフレーム(またはサブフレーム)の遅れ情報は、それがまだ存在していない履歴情報を指すので、有用ではない。遅れ情報は、影響を受けやすいので、これは通常、多数のパケットが復号化された後だけに、次第に消えていく結果として生じるスピーチ出力の拡大された悪化をもたらす。
以降の技法は、それらのフレームが遅延させられ、あるいは失われているので使用可能ではない以前のフレームからの再構成された情報に対する現行の励起信号の依存性を少なくともある程度まで取り除くように設計される。
図2を参照して前述されるエンコーダ(230)などのエンコーダは、フレームごとに、または他の何かに基づいて、以降の符号化技法の間で切り換えることができる。図2を参照して前述されるデコーダ(270)など、対応するデコーダは、フレームごとに、または他の何かに基づいて、対応する解析/復号化技法を切り換える。代わりに、別のエンコーダ、デコーダ、またはオーディオ処理ツールは、以降の技法のうちの1つまたは複数を実行することもある。
A.一次的適応コードブック履歴再符号化/復号化
一次的適応コードブック履歴再符号化/復号化においては、励起履歴バッファは、たとえその励起履歴バッファがデコーダにおいて使用可能である(以前のフレームのパケットが受信される、以前のフレームが復号化されるなど)としても、現行のフレームの励起信号を復号化するために使用されない。その代わりに、エンコーダにおいては、ピッチ情報が現行のフレームについて解析されて、どれだけ多くの励起履歴が必要とされるかを決定する。励起履歴の必要な部分は、再符号化され、現行のフレームについての符号化された情報(例えば、フィルタパラメータ、コードブックのインデックスおよび利得)と一緒に送信される。現行のフレームの適応コードブック寄与は、現行のフレームと共に送信される再符号化された励起信号を参照する。したがって、関連した励起履歴は、フレームごとにデコーダにとって使用可能であるように保証される。現行のフレームが、無声フレームなど、適応コードブックを使用しない場合には、この冗長コーディングは、必要ではない。
励起履歴の参照される部分の再符号化は、現行のフレームの符号化と一緒に行うことができ、その再符号化は、前述される、現行のフレームについての励起信号の符号化と同じようにして行うことができる。
一部の実施形態においては、励起信号の符号化は、サブフレームに基づいて行われ、再符号化された励起信号のセグメントは、現行のサブフレームを含む現行のフレームの始めから現行のフレームについての最も遠い適応コードブック依存性を超えたサブフレーム境界まで広がる。再符号化された励起信号は、それによってフレーム中の複数のサブフレームについてのピッチ情報を参照して使用可能である。代わりに、励起信号の符号化は、例えばフレームごとに他の何かに基づいて行われることもある。
一例が、図7に示され、この図は、励起履歴(710)を示している。フレーム境界(720)と、サブフレーム境界(730)は、それぞれより大きな破線と、より小さな破線によって示される。現行のフレーム(740)のサブフレームは、適応コードブックを使用して符号化される。現行のフレームのサブフレームの任意の適応コードブック遅れについての依存性の最も遠いポイントは、線(750)によって示される。したがって、再符号化された履歴(760)は、現行のフレームの最初から最も遠いポイント(750)を超える次のサブフレーム境界の後ろまで広がる。依存性の最も遠いポイントは、前述のオープンループピッチ検索(425)の結果を使用することにより推定することができる。しかしながら、その検索は正確ではないので、後のピッチ検索が強制されない限り、適応コードブックが、推定される最も遠いポイントを超える励起信号のある部分に依存することになることが可能である。したがって、再符号化された履歴は、マッチングするピッチ情報を見出すための追加の余裕を与える推定された最も遠い依存ポイントを超えた追加のサンプルを含むことができる。一実施形態においては、推定される最も遠い依存ポイントを超える少なくとも10個の追加サンプルが、その再符号化された履歴に含められる。もちろん、再符号化された履歴が、現行のサブフレーム中におけるこれらにマッチングするピッチサイクルを十分に遠くまで含むように広がる可能性を高めるために10個よりも多いサンプルを含めることもできる。
代わりに、現行のフレームの1つ(または複数)のサブフレーム中において実際に参照される先行する励起信号の1つ(または複数)のセグメントだけが、再符号化されることもある。例えば、適切な存続期間を有する先行する励起信号のセグメントは、その存続期間の単一の現行のセグメントを復号化する際に使用するために再符号化される。
一次的適応コードブック履歴再符号化/復号化は、先行フレームの励起履歴に対する依存性をなくする。同時に、それにより、適応コードブックを使用することができるようになり、それは、全体の以前の1つ(または複数)のフレームの再符号化を(あるいは、以前の1つ(または複数)のフレームの全体的な励起履歴さえも)必要とはしない。しかし、適応コードブックメモリを再符号化するために必要とされるビットレートは、とりわけ再符号化された履歴がフレーム間依存性を有する符号化/復号化と同じ品質レベルにおける一次的符号化/復号化のために使用される場合に、以下で説明される技法と比べて非常に高くなる。
一次的適応コードブック履歴再符号化/復号化の副産物(by−product)として、再符号化された励起信号を使用して、以前の失われたフレームについての励起信号の少なくとも一部分を回復することができる。例えば、再符号化された励起信号は、現行のフレームのサブフレームの復号化中に再構成され、再符号化された励起信号は、実際の、または推定されたフィルタ係数を使用して構成されるLPC合成フィルタに入力される。
結果として生ずる再構成される出力信号は、以前のフレーム出力の一部分として使用することができる。この技法は、現行のフレームについての合成フィルタメモリの初期状態を推定する助けをすることもできる。再符号化された励起履歴と推定された合成フィルタメモリを使用して、現行のフレームの出力は、通常の符号化と同じようにして生成される。
B.二次的適応コードブック履歴再符号化/復号化
二次的適用コードブック履歴再符号化/復号化においては、現行のフレームの一次的適応コードブックは、変更されない。同様に、現行のフレームの一次的復号化も変更されない。すなわち、以前のフレームが受信される場合に、二次的適用コードブック履歴再符号化/復号化は、以前のフレーム励起履歴を使用する。
先行励起履歴が再構成されない場合に使用するために、励起履歴バッファは、前述の一次的適応コードブック履歴再符号化/復号化技法と実質的に同じ方法で再符号化される。しかしながら、パケットが失われない場合に音声品質は、再符号化された信号によって影響を受けないので、一次的再符号化/復号化と比べて、より少ないビットが再符号化のために使用される。励起履歴を再符号化するために使用されるビットの数は、より少ない固定されたコードブックを使用してや、パルスコードブック中におけるより少ないパルスを使用してなど、様々なパラメータを変更することによって低減させることができる。
以前のフレームが失われる場合に、再符号化される励起履歴をデコーダ中において使用して、現行のフレームについての適応コードブック励起信号を生成する。再符号化された励起履歴を使用して、一次的適応コードブック履歴再符号化/復号化技法におけると同様に、以前に失われたフレームについての励起信号の少なくとも一部分を回復することもできる。
また、結果として生ずる再構成された出力信号は、以前のフレーム出力の一部分として使用することもできる。この技法は、現行のフレームについての合成フィルタメモリの初期状態を推定する助けをすることもできる。再符号化された励起履歴と推定された合成フィルタメモリを使用して、現行のフレームの出力は、通常の符号化と同じようにして生成される。
C.余分のコードブックステージ
二次的適用コードブック履歴再符号化/復号化技法におけるように、余分なコードブックステージ技法においては、主要な励起信号符号化は、図2〜5を参照して前述される通常の符号化と同じである。しかしながら、余分なコードブックステージについてのパラメータもまた、決定される。
図8中に示されるこの符号化技法においては、以前の励起履歴バッファは、現行のフレームの開始時にすべてゼロであり、したがって以前の励起履歴バッファからの寄与は存在しないことが仮定される(810)。現行のフレームについてのメインの符号化された情報に加えて、1つまたは複数の余分なコードブックステージが、サブフレームごとに、あるいは適応コードブックを使用する他のセグメントについて使用される。例えば、余分なコードブックステージは、図4を参照して説明されるコードブックなど、ランダムな固定されたコードブックを使用する。
この技法においては、現行のフレームは通常、以前のフレームが使用可能な場合に、デコーダによって使用されるべき(主要なコードブックステージについての主要なコードブックパラメータを含み得る)メインの符号化された情報を生成するように符号化される。エンコーダ側においては、1つまたは複数の余分なコードブックステージについての冗長パラメータは、以前のフレームからの励起情報を仮定しないで、閉ループ中において決定される。第1の実施形態においては、その決定は、主要なコードブックパラメータのどれも使用しないで行われる。代わりに、第2の実施形態においては、その決定は、現行のフレームについての少なくとも一部の主要なコードブックパラメータを使用することもある。以下で説明されるように以前のフレームが失われている場合に、これらの主要なコードブックパラメータは、1つ(または複数)の余分なコードブックステージパラメータと一緒に使用して、現行のフレームを復号化することができる。一般に、この第2の実施形態は、1つ(または複数)の余分なコードブックステージのために使用されているより少ないビットを用いて第1の実施形態と同様な品質を達成することができる。
図8に従って、余分のコードブックステージの利得と最後に存在するパルスまたはランダムなコードブックの利得は、コーディングエラーを最小にするようにエンコーダ閉ループ検索において一緒に最適化される。通常の符号化中に生成されるほとんどのパラメータは、この最適化において保存され、使用される。最適化においては、任意のランダムコードブックステージまたはパルスコードブックステージが、通常の符号化において使用されるかどうかが決定される(820)。使用される場合には、次いで(図4中におけるランダムコードブックステージnなど)最後に存在するランダムコードブックステージまたはパルスコードブックステージの改訂された利得が、そのコードブックステージの寄与とターゲット信号の間のエラーを最小にするように最適化される(830)。この最適化のためのターゲット信号は、残留信号と、先行するランダムコードブックステージの寄与の合計との間の差である(すなわち、以前のフレームのセグメントからの適応コードブック寄与を除くすべての先行するコードブックステージは、ゼロに設定される)。
余分なランダムコードブックステージのインデックスおよび利得のパラメータは、そのコードブックの寄与とターゲット信号の間のエラーを最小にするように同様に最適化される(840)。余分なランダムコードブックステージについてのターゲット信号は、残留信号と、適応コードブック、(最後に存在する通常のランダムコードブックまたはパルスコードブックが、改訂された利得を有する)(もしあれば)パルスコードブック、および任意の通常のランダムコードブックの寄与の合計との間の差である。最後に存在する通常のランダムコードブックまたはパルスコードブックの改訂された利得と、余分なランダムコードブックステージの利得は、別々にまたは一緒に最適化することができる。
デコーダが通常の復号化モードにある場合、デコーダは、余分なランダムコードブックステージを使用せず、(例えば、図6におけるような)以上の説明に従って信号を復号化する。
図9Aは、適応コードブックインデックスが、失われている以前のフレームのセグメントを指す場合に余分なコードブックステージを使用することができるサブバンドデコーダを示している。フレームワークは、一般に前述され、図6に示される復号化フレームワークと同じであり、図9のサブバンドデコーダ(900)中におけるコンポーネントおよび信号のうちの多くのファンクションは、図6の対応するコンポーネントおよび信号と同じである。例えば、符号化されたサブバンド情報(992)は受け取られ、LPC処理コンポーネント(935)は、その情報を使用して線形予測係数(938)を再構成し、それらの係数を合成フィルタ(940)に対して供給する。しかしながら、以前のフレームが失われている場合には、リセットコンポーネント(996)は、ゼロ履歴コンポーネント(994)に信号を伝えて、失われたフレームについて励起履歴をゼロに設定し、その履歴を適応コードブック(970)に対して供給する。利得(980)は、適応コードブックの寄与に適用される。したがって、適応コードブック(970)は、そのインデックスが失われているフレームについての履歴バッファを指す場合に、ゼロの寄与を有するが、そのインデックスが現行のフレームの内側のセグメントを指す場合には、何らかの非ゼロの寄与を有することができる。固定されたコードブックステージ(972、974、976)は、サブバンド情報(992)と共に受信されるそれらの通常のインデックスを適用する。同様に、最後の通常コードブック利得コンポーネント(986)を除いて、固定されたコードブック利得コンポーネント(982、984)は、それらの通常の利得を適用して、励起信号(990)に対するそれらのそれぞれの寄与を生成する。
余分なランダムコードブックステージ(988)が使用可能であり、以前のフレームが失われている場合には、次いでリセットコンポーネント(996)は、合計されるべき通常の利得(986)を用いて最後の通常のコードブックステージ(976)の寄与を渡すのではなくて、他のコードブック寄与と合計されるべき改訂された利得(987)を用いて最後の通常のコードブックステージ(976)の寄与を渡すようにスイッチに信号を伝える。改訂された利得は、励起履歴が以前のフレームについてゼロに設定される状況について最適化される。さらに、余分なコードブックステージ(978)は、そのインデックスを適用して、対応するコードブック中において、ランダムコードブックモデル信号のセグメントを示し、ランダムコードブック利得コンポーネント(988)は、余分なランダムコードブックステージについての利得をそのセグメントに対して適用する。スイッチ(998)は、以前のコードブックステージ(970、972、974、976)の寄与と合計されるべき結果として生ずる余分なコードブックステージ寄与を渡して、励起信号(990)を生成する。それに応じて、(余分なステージインデックスや利得など)余分なランダムコードブックステージについての冗長な情報と、(最後の主要なランダムコードブックステージについての通常の利得の代わりに使用される)最後の主要なランダムコードブックステージの改訂された利得とを使用して、現行のフレームを知られているステータスに速くリセットする。代わりに、通常の利得を最後の主要なランダムコードブックステージについて使用して、または一部の他のパラメータを使用して、あるいはその両方を行って、余分なステージランダムコードブックを信号で伝えることもある。
余分なコードブックステージ技法は、非常にわずかのビットしか必要としないので、その使用についてのビットレートペナルティは、一般的に取るに足りない。他方、フレーム間の依存性が存在する場合には、その技法は、フレーム損失に起因した品質悪化をかなり低減させることができる。
図9Bは、図9Aに示されるサブバンドデコーダと類似したサブバンドデコーダを示しているが、通常のランダムコードブックステージをもたない。それによって、本実施形態においては、改訂された利得(987)は、以前の失われているフレームについての残留履歴がゼロに設定される場合に、パルスコードブック(972)について最適化される。したがって、フレームが失われている場合には、(以前の失われているフレームについての残留履歴がゼロに設定された)適応コードブック(970)と、(改訂された利得を有する)パルスコードブック(972)と、余分なランダムコードブックステージ(978)の寄与は、励起信号(990)を生成するために合計される。
失われているフレームについての残留履歴がゼロに設定される状況について最適化される余分なステージコードブックは、コードブックの多数の異なる実施形態および組合せ、および/または残留信号の他の表現と共に使用することができる。
D.冗長コーディング技法の間におけるトレードオフ
前述の3つの冗長コーディング技法のおのおのは、他に比べて利点および短所を有することもある。表3は、これら3つの冗長コーディング技法の間における一部のトレードオフであると考えられる物についての一部の一般化された結論を示している。ビットレートペナルティは、本技法を使用するために必要とされるビットの量を意味する。例えば、通常の符号化/復号化と同じビットレートが使用されると仮定すると、より多くのビットが冗長コーディングでは使用され、したがって通常の符号化された情報では、より少ないビットが使用され得るので、より高いビットレートペナルティは、一般に通常の復号化中における、より低い品質に対応する。メモリ依存性を低減させる効率は、1つまたは複数の以前のフレームが失われる場合に、結果として生ずるスピーチ出力の品質を改善するに際しての技法の効率を意味する。以前の1つ(または複数)のフレームを回復するための有用性は、以前の1つ(または複数)のフレームが失われる場合に、冗長に符号化された情報を使用して、1つまたは複数の以前のフレームを回復する能力を意味する。その表中における結論は、一般化され、個々の実施形態においては当てはまらないこともある。
Figure 2012141649
エンコーダは、符号化中の実行中に任意のフレームについての冗長コーディングスキームのどれかを選択することができる。冗長コーディングは、(例えば、有声フレームについて使用され、無音フレームまたは無声フレームでは使用されない)フレームの一部のクラスでは全く使用されないこともあり、冗長コーディングが使用される場合には、冗長コーディングは、各フレーム上で、10フレームごとなど、定期的なベースに基づいて、あるいは他の何かに基づいて使用することができる。これは、以上のトレードオフ、使用可能なチャネル帯域幅、パケット損失ステータスについてのデコーダフィードバックなどのファクタを考慮して、レート制御コンポーネントなどのコンポーネントによって制御することができる。
E.冗長コーディングビットストリームフォーマット
冗長コーディング情報は、ビットストリーム中において様々な異なるフォーマットで送信することができる。以降は、前述の冗長コーディング符号化された情報を送信し、その存在をデコーダに信号で伝えるためのフォーマットの実施形態である。この実施形態においては、ビットストリーム中における各フレームは、フレームタイプと呼ばれる2ビットのフィールドで開始される。そのフレームタイプを使用して、以降に続くビットについての冗長コーディングモードを識別し、またそのフレームタイプは、同様に符号化し復号化する際における他の目的のために使用することもできる。表4は、フレームタイプフィールドの冗長コーディングモードの意味を与えている。
Figure 2012141649
図10は、通常のフレームの存在および/またはそれぞれの冗長コーディングタイプを信号で伝えるビットストリームフレームフォーマット中におけるこれらのコードの4つの異なる組合せを示している。任意の冗長コーディングビットのないフレームについてのメインの符号化された情報を含む通常フレーム(1010)では、フレームの始めにおけるバイト境界(1015)には、フレームタイプコード00が続いている。そのフレームタイプコードには、通常フレームについてのメインの符号化された情報が続いている。
一次的適応コードブック履歴冗長符号化情報を有するフレーム(1020)では、フレームの始めにおけるバイト境界(1025)には、フレームタイプコード10が続き、このフレームタイプコードは、そのフレームについての一次的適応コードブック履歴情報の存在を信号で伝える。フレームタイプコードには、メインの符号化された情報および適応コードブック履歴情報を有するフレームについての符号化されたユニットが続いている。
二次的履歴冗長符号化情報がフレーム(1030)について含められる場合には、フレームの始めにおけるバイト境界(1035)には、通常のフレームについてのメインの符号化された情報が続いているフレームタイプコード00(通常のフレームについてのコード)を含む符号化されたユニットが続いている。しかし、メインの符号化された情報の終わりにおけるバイト境界(1045)に続いて、別の符号化されたユニットは、(フレームについてのメインの符号化された情報でなくて)オプションの二次的履歴情報(1040)が続いていることを示すフレームタイプコード11を含んでいる。二次的履歴情報(1040)は、以前のフレームが失われる場合だけに使用されるので、パケット化器(packetizer)または他のコンポーネントには、情報を削除するオプションを与えることができる。これは、全体的なビットレートが低減させられる必要がある場合、パケット損失レートが低い場合、または以前のフレームが現行のフレームを伴うパケット中に含められる場合など様々な理由で行うことができる。あるいは、通常のフレーム(1030)が正常に受信される場合には、デマルチプレクサまたは他のコンポーネントには、二次的履歴情報をスキップするオプションを与えることもできる。
同様に、余分なコードブックステージ冗長符号化情報が、フレーム(1050)について含められる場合には、符号化されたユニットの始めにおけるバイト境界(1055)には、通常のフレームについてのメインの符号化された情報が続いているフレームタイプコード00(通常のフレームについてのコード)が続いている。しかし、主要な符号化された情報の終わりにおけるバイト境界(1065)に続いて、別の符号化されたユニットは、オプションの余分なコードブックステージ情報(1060)が続いていることを示すフレームタイプコード01を含んでいる。二次的履歴情報と同様に、余分なコードブックステージ情報(1060)は、以前のフレームが失われる場合だけに使用される。したがって、二次的履歴情報と同様に、パケット化器または他のコンポーネントには、余分なコードブックステージ情報を削除するオプションを与えることができ、あるいはデマルチプレクサまたは他のコンポーネントには、余分なコードブックステージ情報をスキップするオプションを与えることができる。
アプリケーション(例えば、トランスポート層パケット化を取り扱うアプリケーション)は、複数のフレームを一緒に組み合わせて、より大きなパケットを形成して、パケットヘッダについて必要とされる余分なビットを低減させることを決定することができる。パケット内において、アプリケーションは、ビットストリームをスキャンすることによりフレーム境界を決定することができる。
図11は、4つのフレーム(1110、1120、1130、1140)を有する単一パケット(1100)の可能なビットストリームを示している。単一パケット中におけるすべてのフレームが、それらのうちのどれかが受信される(すなわち、部分的なデータ破損がない)場合に受信されることになること、および適応コードブックの遅れまたはピッチが、一般的にフレーム長よりも小さいことを仮定することができる。この例においては、現行のフレームが存在していた場合に以前のフレームは、常に存在することになるので、フレーム2(1120)、フレーム3(1130)、およびフレーム4(1140)についてのオプションの任意の冗長コーディング情報は、一般的に使用されないことになる。したがって、パケット(1100)中における第1のフレーム以外のすべてについてのオプションの冗長コーディング情報は、取り除くことができる。これは、凝縮されたパケット(1150)をもたらし、ここでフレーム1(1160)は、オプションの余分なコードブックステージ情報を含むが、すべてのオプションの冗長コーディング情報は、残りのフレーム(1170、1180、1190)から取り除かれている。
デコーダが、一次的履歴冗長コーディング技法を使用している場合には、一次的履歴冗長コーディング情報は、以前のフレームが失われていてもいなくても使用されるので、フレームを一緒に単一パケットに詰め込む場合にアプリケーションは、そのような任意のビットを脱落させないことになる。しかし、アプリケーションが、フレームがマルチフレームパケット中にあり、そのフレームは、そのようなパケット中における最初のフレームではないことを知っている場合には、アプリケーションは、エンコーダにそのようなフレームを通常のフレームとして符号化するように強いることができる。
図10および11とそれに付随する説明は、フレームと情報のタイプとの間のバイト位置に合わせられた境界を示しているが、代わりにそれらの境界は、バイト位置に合わせられないこともある。さらに、図10および11とそれに付随する説明は、フレームタイプコードとフレームタイプの組合せの例を示している。代わりに、エンコーダおよびデコーダは、他および/または追加のフレームタイプ、あるいはフレームタイプの組合せを使用することもある。
説明される実施形態に関して本発明者等の発明の原理を説明し示してきているが、説明される実施形態は、そのような原理を逸脱することなく、構成および詳細において修正することができることが認識されるであろう。本明細書中に説明されるプログラム、プロセス、または方法は、他の方法で示されていない限り、特定の任意のタイプのコンピューティング環境だけに関連づけられ、あるいは限定されることはないことを理解すべきである。様々なタイプの汎用または専用のコンピューティング環境は、本明細書中に説明される教示によるオペレーションを用いて、使用することができ、あるいは本明細書中に説明される教示によるオペレーションを実行することができる。ソフトウェアの形で示される説明される実施形態の要素は、ハードウェアの形で実施することもでき、逆もまた同様である。

Claims (13)

  1. オーディオエンコーダにおいてオーディオ信号を符号化する方法であって、
    以前に符号化されたユニットのセグメントにおける情報を参照して、現在符号化の対象となっているユニットに対するメインの情報を符号化するステップであって、前記以前に符号化されたユニットのセグメントにおける情報は、現在符号化の対象となっているユニットを復号化することをサポートする、ステップと、
    前記現在符号化の対象となっているユニットに対する冗長な情報を符号化するステップであって、前記冗長な情報は1又はそれより多くの余分なコードブックステージの1又はそれより多くのパラメータを含み、前記冗長な情報は、前記以前に符号化されたユニットが利用できない場合、前記現在符号化の対照となっているユニットを復号化することをサポートする、ステップと、
    前記符号化されたメインの情報及び前記符号化された冗長な情報の両方からなる前記オーディオ信号の符号化されたユニットを出力するステップと
    を含むことを特徴とする方法。
  2. 前記現在符号化の対象となっているユニットに対するメインの情報は、前記現在符号化の対象となっているユニットに対する再構成と、前記現在符号化の対象となっているユニットに対する予測との1又はそれより多くの相違点を表す残余信号パラメータを含むことを特徴とする請求項1に記載の方法。
  3. 前記冗長な情報を符号化するステップは、閉ループエンコーダ検索において、前記以前に符号化されたユニットに対する励起信号の情報がないと仮定する、前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータを判定することにより、前記冗長な情報を生成するステップであることを特徴とする請求項1に記載の方法。
  4. 前記オーディオエンコーダはリアルタイム音声エンコーダであり、前記オーディオ信号は符号化された音声であることを特徴とする請求項1に記載の方法。
  5. 前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータは、適応コードブックステージに続く固定コードブックステージにおける固定コードブックに対するパラメータであり、前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータは、コードブックインデックス及びコードブック利得を含んでいることを特徴とする請求項1に記載の方法。
  6. 前記適応コードブックステージにおける適応コードブックに対する前記1又はそれより多くのパラメータは、前記以前に符号化されたユニットの励起信号の履歴を参照して、現在符号化の対象となっているユニットに対する励起信号を表すが、前記固定コードブックは、前記励起信号の履歴を参照することなく、前記励起信号を表すことを特徴とする請求項5に記載の方法。
  7. オーディオデコーダにおいてオーディオ信号のユニットを復号化する方法であって、
    現在復号化の対象となっているオーディオ信号ユニットにおけるメインの情報を復号化するステップであって、前記メインの情報は、前記オーディオ信号の以前のユニットのセグメントにおける情報を参照し、前記オーディオ信号の前記以前のユニットの前記セグメントの前記参照された情報は、前記現在復号化の対象となっているユニットを復号化することをサポートする、ステップと、
    前記現在復号化の対象となっている前記オーディオ信号における冗長な情報を復号化するステップであって、前記冗長な情報は、1またはそれより多くの余分なコードブックステージに対する1またはそれより多くのパラメータを含み、前記冗長な情報は、前記オーディオ信号の前記以前のユニットが利用できない場合、前記現在復号化の対象となっている前記ユニットを復号化することをサポートする、ステップと、
    前記オーディオ信号の復号化されたユニットを出力するステップと
    を含むことを特徴とする方法。
  8. 前記オーディオ信号の前記以前の信号が利用できない場合、前記現在符号化の対象となっているユニットを復号化するステップにおいて、前記メインの情報の少なくともいくつか及び前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータを使用し、
    前記オーディオ信号の前記以前の信号が利用できる場合、前記現在符号化の対象となっているユニットを復号化するステップにおいて、前記メインの情報を使用するが、前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータを使用しない
    ことを特徴とする請求項7に記載の方法。
  9. 前記現在符号化の対象となっているユニットに対する前記メインの情報は、前記現在復号化の対象となっているユニットに対する再構成と、前記現在復号化の対象となっているユニットに対する予測との1またはそれより多くの相違点を表す残余信号パラメータを含むことを特徴とする請求項7に記載の方法。
  10. 前記オーディオデコーダは音声デコーダであり、前記オーディオ信号は音声であることを特徴とする請求項7に記載の方法。
  11. 前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータは、適応コードブックステージに続く固定コードブックステージにおける固定コードブックに対するパラメータであり、前記1又はそれより多くの余分なコードブックステージに対する前記1又はそれより多くのパラメータは、コードブックインデックス及びコードブック利得を含むことを特徴とする請求項7に記載の方法。
  12. 前記適応コードブックステージにおける適応コードブックに対する前記1又はそれより多くのパラメータは、前記オーディオ信号の前記以前のユニットに対する励起信号の履歴を参照して、前記復号化の対象となっているユニットに対する励起信号を表すが、前記固定コードブックに対する前記1又はそれより多くのパラメータは、前記励起信号の履歴を参照することなく、前記励起信号を表すことを特徴とする請求項11に記載の方法。
  13. オーディオデコーダであって、
    現在復号化の対象となっているオーディオ信号のユニットにおけるメインの情報を復号化し、前記メインの情報は、前記オーディオ信号の前記以前のユニットのセグメントにおける情報を参照し、前記オーディオ信号の前記以前の情報の前記セグメントにおける前記参照された情報は、前記現在復号化の対象となっているユニットを復号化することをサポートし、
    前記現在復号化の対象となっているオーディオ信号のユニットにおける冗長な情報を復号化し、前記冗長な情報は、1またはそれより多くの余分なコードブックステージに対する1またはそれより多くのパラメータを含み、前記冗長な情報は、前記オーディオ信号の前記以前のユニットが利用できない場合、現在復号化の対象となっている前記ユニットを復号化することをサポートし、
    前記オーディオ信号の復号化されたユニットを出力する
    ように構成されたことを特徴とするオーディオデコーダ。
JP2012105376A 2005-05-31 2012-05-02 マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック Active JP5186054B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/142,605 2005-05-31
US11/142,605 US7177804B2 (en) 2005-05-31 2005-05-31 Sub-band voice codec with multi-stage codebooks and redundant coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008514628A Division JP5123173B2 (ja) 2005-05-31 2006-04-05 マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック

Publications (2)

Publication Number Publication Date
JP2012141649A true JP2012141649A (ja) 2012-07-26
JP5186054B2 JP5186054B2 (ja) 2013-04-17

Family

ID=37464576

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008514628A Active JP5123173B2 (ja) 2005-05-31 2006-04-05 マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック
JP2012105376A Active JP5186054B2 (ja) 2005-05-31 2012-05-02 マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008514628A Active JP5123173B2 (ja) 2005-05-31 2006-04-05 マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック

Country Status (19)

Country Link
US (4) US7177804B2 (ja)
EP (2) EP1886306B1 (ja)
JP (2) JP5123173B2 (ja)
KR (1) KR101238583B1 (ja)
CN (2) CN101996636B (ja)
AT (1) ATE492014T1 (ja)
AU (1) AU2006252965B2 (ja)
BR (1) BRPI0610909A2 (ja)
CA (1) CA2611829C (ja)
DE (1) DE602006018908D1 (ja)
ES (1) ES2358213T3 (ja)
HK (1) HK1123621A1 (ja)
IL (1) IL187196A (ja)
NO (1) NO339287B1 (ja)
NZ (1) NZ563462A (ja)
PL (1) PL1886306T3 (ja)
RU (1) RU2418324C2 (ja)
TW (1) TWI413107B (ja)
WO (1) WO2006130229A1 (ja)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US7698132B2 (en) * 2002-12-17 2010-04-13 Qualcomm Incorporated Sub-sampled excitation waveform codebooks
US20050004793A1 (en) * 2003-07-03 2005-01-06 Pasi Ojala Signal adaptation for higher band coding in a codec utilizing band split coding
FR2867648A1 (fr) * 2003-12-10 2005-09-16 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
CN1989548B (zh) * 2004-07-20 2010-12-08 松下电器产业株式会社 语音解码装置及补偿帧生成方法
EP1775718A4 (en) * 2004-07-22 2008-05-07 Fujitsu Ltd AUDIOCODING DEVICE AND AUDIOCODING METHOD
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
KR101171098B1 (ko) * 2005-07-22 2012-08-20 삼성전자주식회사 혼합 구조의 스케일러블 음성 부호화 방법 및 장치
US20070058530A1 (en) * 2005-09-14 2007-03-15 Sbc Knowledge Ventures, L.P. Apparatus, computer readable medium and method for redundant data stream control
US7664091B2 (en) * 2005-10-03 2010-02-16 Motorola, Inc. Method and apparatus for control channel transmission and reception
KR100647336B1 (ko) * 2005-11-08 2006-11-23 삼성전자주식회사 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법
US8611300B2 (en) * 2006-01-18 2013-12-17 Motorola Mobility Llc Method and apparatus for conveying control channel information in OFDMA system
KR101366124B1 (ko) * 2006-02-14 2014-02-21 오렌지 오디오 인코딩/디코딩에서의 인지 가중 장치
US8306827B2 (en) * 2006-03-10 2012-11-06 Panasonic Corporation Coding device and coding method with high layer coding based on lower layer coding results
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
US8712766B2 (en) * 2006-05-16 2014-04-29 Motorola Mobility Llc Method and system for coding an information signal using closed loop adaptive bit allocation
US9515843B2 (en) * 2006-06-22 2016-12-06 Broadcom Corporation Method and system for link adaptive Ethernet communications
WO2008002098A1 (en) * 2006-06-29 2008-01-03 Lg Electronics, Inc. Method and apparatus for an audio signal processing
US8135047B2 (en) * 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
US8280728B2 (en) * 2006-08-11 2012-10-02 Broadcom Corporation Packet loss concealment for a sub-band predictive coder based on extrapolation of excitation waveform
US8005678B2 (en) 2006-08-15 2011-08-23 Broadcom Corporation Re-phasing of decoder states after packet loss
US20080084853A1 (en) 2006-10-04 2008-04-10 Motorola, Inc. Radio resource assignment in control channel in wireless communication systems
US7778307B2 (en) * 2006-10-04 2010-08-17 Motorola, Inc. Allocation of control channel for radio resource assignment in wireless communication systems
WO2008064697A1 (en) * 2006-11-29 2008-06-05 Loquendo S.P.A. Multicodebook source -dependent coding and decoding
US8688437B2 (en) 2006-12-26 2014-04-01 Huawei Technologies Co., Ltd. Packet loss concealment for speech coding
US8000961B2 (en) * 2006-12-26 2011-08-16 Yang Gao Gain quantization system for speech coding to improve packet loss concealment
FR2911228A1 (fr) * 2007-01-05 2008-07-11 France Telecom Codage par transformee, utilisant des fenetres de ponderation et a faible retard.
CN101622663B (zh) * 2007-03-02 2012-06-20 松下电器产业株式会社 编码装置以及编码方法
US20080249783A1 (en) * 2007-04-05 2008-10-09 Texas Instruments Incorporated Layered Code-Excited Linear Prediction Speech Encoder and Decoder Having Plural Codebook Contributions in Enhancement Layers Thereof and Methods of Layered CELP Encoding and Decoding
EP2381580A1 (en) * 2007-04-13 2011-10-26 Global IP Solutions (GIPS) AB Adaptive, scalable packet loss recovery
US20090006081A1 (en) * 2007-06-27 2009-01-01 Samsung Electronics Co., Ltd. Method, medium and apparatus for encoding and/or decoding signal
KR101403340B1 (ko) * 2007-08-02 2014-06-09 삼성전자주식회사 변환 부호화 방법 및 장치
CN101170554B (zh) * 2007-09-04 2012-07-04 萨摩亚商·繁星科技有限公司 资讯安全传递系统
US8422480B2 (en) * 2007-10-01 2013-04-16 Qualcomm Incorporated Acknowledge mode polling with immediate status report timing
CN101874266B (zh) * 2007-10-15 2012-11-28 Lg电子株式会社 用于处理信号的方法和装置
EP2224432B1 (en) * 2007-12-21 2017-03-15 Panasonic Intellectual Property Corporation of America Encoder, decoder, and encoding method
US8190440B2 (en) * 2008-02-29 2012-05-29 Broadcom Corporation Sub-band codec with native voice activity detection
EP2269188B1 (en) * 2008-03-14 2014-06-11 Dolby Laboratories Licensing Corporation Multimode coding of speech-like and non-speech-like signals
JP4506870B2 (ja) * 2008-04-30 2010-07-21 ソニー株式会社 受信装置および受信方法、並びにプログラム
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US20090319261A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US8768690B2 (en) * 2008-06-20 2014-07-01 Qualcomm Incorporated Coding scheme selection for low-bit-rate applications
US20100027524A1 (en) * 2008-07-31 2010-02-04 Nokia Corporation Radio layer emulation of real time protocol sequence number and timestamp
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
US8156530B2 (en) 2008-12-17 2012-04-10 At&T Intellectual Property I, L.P. Method and apparatus for managing access plans
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
BR112012007138B1 (pt) 2009-09-29 2021-11-30 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Decodificador de sinal de áudio, codificador de sinal de áudio, método para prover uma representação de mescla ascendente de sinal, método para prover uma representação de mescla descendente de sinal e fluxo de bits usando um valor de parâmetro comum de correlação intra- objetos
KR20140032013A (ko) * 2009-10-07 2014-03-13 니폰덴신뎅와 가부시키가이샤 무선 통신 시스템, 무선 중계국 장치, 무선 단말국 장치 및 무선 통신 방법
CN102714034B (zh) * 2009-10-15 2014-06-04 华为技术有限公司 信号处理的方法、装置和系统
TWI484473B (zh) * 2009-10-30 2015-05-11 Dolby Int Ab 用於從編碼位元串流擷取音訊訊號之節奏資訊、及估算音訊訊號之知覺顯著節奏的方法及系統
PT2559028E (pt) * 2010-04-14 2015-11-18 Voiceage Corp Livro de códigos de inovação combinados flexível e evolutivo a utilizar num codificador e descodificador celp
US8660195B2 (en) * 2010-08-10 2014-02-25 Qualcomm Incorporated Using quantized prediction memory during fast recovery coding
MY156027A (en) 2010-08-12 2015-12-31 Fraunhofer Ges Forschung Resampling output signals of qmf based audio codecs
JP5749462B2 (ja) * 2010-08-13 2015-07-15 株式会社Nttドコモ オーディオ復号装置、オーディオ復号方法、オーディオ復号プログラム、オーディオ符号化装置、オーディオ符号化方法、及び、オーディオ符号化プログラム
ES2600313T3 (es) 2010-10-07 2017-02-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para la estimación de nivel de tramas de audio codificadas en un dominio de flujo de bits
US9767822B2 (en) * 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and decoding a watermarked signal
US9767823B2 (en) 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and detecting a watermarked signal
US8976675B2 (en) * 2011-02-28 2015-03-10 Avaya Inc. Automatic modification of VOIP packet retransmission level based on the psycho-acoustic value of the packet
US9171549B2 (en) 2011-04-08 2015-10-27 Dolby Laboratories Licensing Corporation Automatic configuration of metadata for use in mixing audio programs from two encoded bitstreams
NO2669468T3 (ja) * 2011-05-11 2018-06-02
WO2012161675A1 (en) * 2011-05-20 2012-11-29 Google Inc. Redundant coding unit for audio codec
US8909539B2 (en) * 2011-12-07 2014-12-09 Gwangju Institute Of Science And Technology Method and device for extending bandwidth of speech signal
US9275644B2 (en) * 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding
US9373335B2 (en) * 2012-08-31 2016-06-21 Dolby Laboratories Licensing Corporation Processing audio objects in principal and supplementary encoded audio signals
JP6173484B2 (ja) 2013-01-08 2017-08-02 ドルビー・インターナショナル・アーベー 臨界サンプリングされたフィルタバンクにおけるモデル・ベースの予測
RU2602332C1 (ru) * 2013-01-21 2016-11-20 Долби Лабораторис Лайсэнзин Корпорейшн Перекодировка метаданных
CN107257234B (zh) * 2013-01-21 2020-09-15 杜比实验室特许公司 解码具有保留数据空间中的元数据容器的编码音频比特流
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
PL3011555T3 (pl) 2013-06-21 2018-09-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Rekonstrukcja ramki sygnału mowy
SG11201510463WA (en) * 2013-06-21 2016-01-28 Fraunhofer Ges Forschung Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pitch lag estimation
CN109785851B (zh) 2013-09-12 2023-12-01 杜比实验室特许公司 用于各种回放环境的动态范围控制
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
CN104751849B (zh) 2013-12-31 2017-04-19 华为技术有限公司 语音频码流的解码方法及装置
EP2922055A1 (en) * 2014-03-19 2015-09-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement LPC representations for individual codebook information
CN107369454B (zh) * 2014-03-21 2020-10-27 华为技术有限公司 语音频码流的解码方法及装置
LT3511935T (lt) * 2014-04-17 2021-01-11 Voiceage Evs Llc Būdas, įrenginys ir kompiuteriu nuskaitoma neperkeliama atmintis garso signalų tiesinės prognozės kodavimui ir dekodavimui po perėjimo tarp kadrų su skirtingais mėginių ėmimo greičiais
EP2963648A1 (en) 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio processor and method for processing an audio signal using vertical phase correction
US9893835B2 (en) * 2015-01-16 2018-02-13 Real-Time Innovations, Inc. Auto-tuning reliability protocol in pub-sub RTPS systems
WO2017050398A1 (en) * 2015-09-25 2017-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding
AR106308A1 (es) 2015-10-08 2018-01-03 Dolby Int Ab Codificación en capas para representaciones de sonido o campo de sonido comprimidas
ES2903247T3 (es) 2015-10-08 2022-03-31 Dolby Int Ab Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior
US10049681B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
US10049682B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
CN107025125B (zh) * 2016-01-29 2019-10-22 上海大唐移动通信设备有限公司 一种原始码流解码方法和系统
CN107564535B (zh) * 2017-08-29 2020-09-01 中国人民解放军理工大学 一种分布式低速语音通话方法
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
US10580424B2 (en) * 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
WO2020164753A1 (en) * 2019-02-13 2020-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder and decoding method selecting an error concealment mode, and encoder and encoding method
US10984808B2 (en) * 2019-07-09 2021-04-20 Blackberry Limited Method for multi-stage compression in sub-band processing
CN110910906A (zh) * 2019-11-12 2020-03-24 国网山东省电力公司临沂供电公司 基于电力内网的音频端点检测及降噪方法
CN113724716B (zh) * 2021-09-30 2024-02-23 北京达佳互联信息技术有限公司 语音处理方法和语音处理装置
US20230154474A1 (en) * 2021-11-17 2023-05-18 Agora Lab, Inc. System and method for providing high quality audio communication over low bit rate connection
CN117558283B (zh) * 2024-01-12 2024-03-22 杭州国芯科技股份有限公司 一种多路多标准的音频解码系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511110A (ja) * 1993-12-01 1996-11-19 ディーエスピー・グループ・インコーポレイテッド オーディオ信号の圧縮/解凍装置及び圧縮/解凍方法
JPH1078799A (ja) * 1996-09-04 1998-03-24 Fujitsu Ltd コードブック
JPH10513277A (ja) * 1995-02-08 1998-12-15 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) ディジタル情報コーディング方法ならびに装置
JP2003512654A (ja) * 1999-10-19 2003-04-02 アトメル・コーポレイション 音声の可変レートコーディングのための方法およびその装置
JP2003513296A (ja) * 1999-09-22 2003-04-08 コネクサント システムズ, インコーポレイテッド マルチモードの音声符号器
JP2005503574A (ja) * 2001-02-13 2005-02-03 クゥアルコム・インコーポレイテッド 望ましくないパケット生成を減少する方法および装置
WO2005064591A1 (en) * 2003-12-19 2005-07-14 Motorola, Inc. Method and apparatus for speech coding

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969192A (en) 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US4802171A (en) * 1987-06-04 1989-01-31 Motorola, Inc. Method for error correction in digitally encoded speech
US4815134A (en) 1987-09-08 1989-03-21 Texas Instruments Incorporated Very low rate speech encoder and decoder
CN1062963C (zh) 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
US5664051A (en) 1990-09-24 1997-09-02 Digital Voice Systems, Inc. Method and apparatus for phase synthesis for speech processing
KR960013206B1 (ko) 1990-12-31 1996-10-02 박헌철 조립식 원적외선 사우나 욕실
US5255339A (en) 1991-07-19 1993-10-19 Motorola, Inc. Low bit rate vocoder means and method
US5657418A (en) * 1991-09-05 1997-08-12 Motorola, Inc. Provision of speech coder gain information using multiple coding modes
US5734789A (en) 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
JP2746039B2 (ja) * 1993-01-22 1998-04-28 日本電気株式会社 音声符号化方式
US20030075869A1 (en) * 1993-02-25 2003-04-24 Shuffle Master, Inc. Bet withdrawal casino game with wild symbol
US5706352A (en) * 1993-04-07 1998-01-06 K/S Himpp Adaptive gain and filtering circuit for a sound reproduction system
US5615298A (en) 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5717823A (en) 1994-04-14 1998-02-10 Lucent Technologies Inc. Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders
JP3277705B2 (ja) * 1994-07-27 2002-04-22 ソニー株式会社 情報符号化装置及び方法、並びに情報復号化装置及び方法
TW271524B (ja) 1994-08-05 1996-03-01 Qualcomm Inc
US5699477A (en) 1994-11-09 1997-12-16 Texas Instruments Incorporated Mixed excitation linear prediction with fractional pitch
US5751903A (en) 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
FR2734389B1 (fr) 1995-05-17 1997-07-18 Proust Stephane Procede d'adaptation du niveau de masquage du bruit dans un codeur de parole a analyse par synthese utilisant un filtre de ponderation perceptuelle a court terme
US5668925A (en) 1995-06-01 1997-09-16 Martin Marietta Corporation Low data rate speech encoder with mixed excitation
US5664055A (en) 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
US5699485A (en) 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
US5774837A (en) 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
EP0763818B1 (en) 1995-09-14 2003-05-14 Kabushiki Kaisha Toshiba Formant emphasis method and formant emphasis filter device
US5835495A (en) 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
TW321810B (ja) * 1995-10-26 1997-12-01 Sony Co Ltd
IT1281001B1 (it) 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US5819213A (en) * 1996-01-31 1998-10-06 Kabushiki Kaisha Toshiba Speech encoding and decoding with pitch filter range unrestricted by codebook range and preselecting, then increasing, search candidates from linear overlap codebooks
US5778335A (en) 1996-02-26 1998-07-07 The Regents Of The University Of California Method and apparatus for efficient multiband celp wideband speech and music coding and decoding
US6041345A (en) 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
SE506341C2 (sv) 1996-04-10 1997-12-08 Ericsson Telefon Ab L M Metod och anordning för rekonstruktion av en mottagen talsignal
JP3335841B2 (ja) 1996-05-27 2002-10-21 日本電気株式会社 信号符号化装置
US5819298A (en) * 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US6570991B1 (en) 1996-12-18 2003-05-27 Interval Research Corporation Multi-feature speech/music discrimination system
US6317714B1 (en) 1997-02-04 2001-11-13 Microsoft Corporation Controller and associated mechanical characters operable for continuously performing received control data while engaging in bidirectional communications over a single communications channel
US6134518A (en) 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
US6131084A (en) 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
US6292834B1 (en) 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
IL120788A (en) * 1997-05-06 2000-07-16 Audiocodes Ltd Systems and methods for encoding and decoding speech for lossy transmission networks
EP0934638B1 (en) 1997-05-12 2008-10-08 Texas Instruments Incorporated Method and apparatus for superframe bit allocation in a discrete multitone (dmt) system
US6009122A (en) 1997-05-12 1999-12-28 Amati Communciations Corporation Method and apparatus for superframe bit allocation
US6058359A (en) * 1998-03-04 2000-05-02 Telefonaktiebolaget L M Ericsson Speech coding including soft adaptability feature
FI973873A (fi) 1997-10-02 1999-04-03 Nokia Mobile Phones Ltd Puhekoodaus
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
EP1734512B1 (en) * 1997-10-22 2015-09-09 Godo Kaisha IP Bridge 1 CELP encoder and a method of CELP encoding
US6199037B1 (en) 1997-12-04 2001-03-06 Digital Voice Systems, Inc. Joint quantization of speech subframe voicing metrics and fundamental frequencies
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6351730B2 (en) 1998-03-30 2002-02-26 Lucent Technologies Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6480822B2 (en) 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6493665B1 (en) 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US6823303B1 (en) 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6385573B1 (en) 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
FR2784218B1 (fr) 1998-10-06 2000-12-08 Thomson Csf Procede de codage de la parole a bas debit
US6289297B1 (en) 1998-10-09 2001-09-11 Microsoft Corporation Method for reconstructing a video frame received from a video source over a communication channel
US6438136B1 (en) 1998-10-09 2002-08-20 Microsoft Corporation Method for scheduling time slots in a communications network channel to support on-going video transmissions
JP4359949B2 (ja) 1998-10-22 2009-11-11 ソニー株式会社 信号符号化装置及び方法、並びに信号復号装置及び方法
US6310915B1 (en) 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
US6226606B1 (en) 1998-11-24 2001-05-01 Microsoft Corporation Method and apparatus for pitch tracking
US6456964B2 (en) * 1998-12-21 2002-09-24 Qualcomm, Incorporated Encoding of periodic speech using prototype waveforms
US6311154B1 (en) 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6377915B1 (en) * 1999-03-17 2002-04-23 Yrp Advanced Mobile Communication Systems Research Laboratories Co., Ltd. Speech decoding using mix ratio table
US6460153B1 (en) 1999-03-26 2002-10-01 Microsoft Corp. Apparatus and method for unequal error protection in multiple-description coding using overcomplete expansions
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US6952668B1 (en) 1999-04-19 2005-10-04 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
DE19921122C1 (de) 1999-05-07 2001-01-25 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verschleiern eines Fehlers in einem codierten Audiosignal und Verfahren und Vorrichtung zum Decodieren eines codierten Audiosignals
DE59908889D1 (de) * 1999-06-18 2004-04-22 Alcatel Sa Gemeinsame Quellen- und Kanalcodierung
US6633841B1 (en) * 1999-07-29 2003-10-14 Mindspeed Technologies, Inc. Voice activity detection speech coding to accommodate music signals
US6434247B1 (en) 1999-07-30 2002-08-13 Gn Resound A/S Feedback cancellation apparatus and methods utilizing adaptive reference filter mechanisms
US6721337B1 (en) * 1999-08-24 2004-04-13 Ibiquity Digital Corporation Method and apparatus for transmission and reception of compressed audio frames with prioritized messages for digital audio broadcasting
US6775649B1 (en) 1999-09-01 2004-08-10 Texas Instruments Incorporated Concealment of frame erasures for speech transmission and storage system and method
US6505152B1 (en) 1999-09-03 2003-01-07 Microsoft Corporation Method and apparatus for using formant models in speech systems
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6772126B1 (en) * 1999-09-30 2004-08-03 Motorola, Inc. Method and apparatus for transferring low bit rate digital voice messages using incremental messages
US6313714B1 (en) * 1999-10-15 2001-11-06 Trw Inc. Waveguide coupler
US6826527B1 (en) * 1999-11-23 2004-11-30 Texas Instruments Incorporated Concealment of frame erasures and method
US6621935B1 (en) 1999-12-03 2003-09-16 Microsoft Corporation System and method for robust image representation over error-prone channels
AU2547201A (en) * 2000-01-11 2001-07-24 Matsushita Electric Industrial Co., Ltd. Multi-mode voice encoding device and decoding device
GB2358558B (en) 2000-01-18 2003-10-15 Mitel Corp Packet loss compensation method using injection of spectrally shaped noise
US6732070B1 (en) 2000-02-16 2004-05-04 Nokia Mobile Phones, Ltd. Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching
US6693964B1 (en) 2000-03-24 2004-02-17 Microsoft Corporation Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image
US6757654B1 (en) * 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
JP2002118517A (ja) 2000-07-31 2002-04-19 Sony Corp 直交変換装置及び方法、逆直交変換装置及び方法、変換符号化装置及び方法、並びに復号装置及び方法
US6934678B1 (en) 2000-09-25 2005-08-23 Koninklijke Philips Electronics N.V. Device and method for coding speech to be recognized (STBR) at a near end
EP1199709A1 (en) 2000-10-20 2002-04-24 Telefonaktiebolaget Lm Ericsson Error Concealment in relation to decoding of encoded acoustic signals
US6968309B1 (en) * 2000-10-31 2005-11-22 Nokia Mobile Phones Ltd. Method and system for speech frame error concealment in speech decoding
US7065338B2 (en) * 2000-11-27 2006-06-20 Nippon Telegraph And Telephone Corporation Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
EP1356454B1 (en) * 2001-01-19 2006-03-01 Koninklijke Philips Electronics N.V. Wideband signal transmission system
US6614370B2 (en) 2001-01-26 2003-09-02 Oded Gottesman Redundant compression techniques for transmitting data over degraded communication links and/or storing data on media subject to degradation
EP1235203B1 (en) * 2001-02-27 2009-08-12 Texas Instruments Incorporated Method for concealing erased speech frames and decoder therefor
US7151749B2 (en) 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
US6658383B2 (en) 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
US6941263B2 (en) 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US7277554B2 (en) * 2001-08-08 2007-10-02 Gn Resound North America Corporation Dynamic range compression using digital frequency warping
US7512535B2 (en) * 2001-10-03 2009-03-31 Broadcom Corporation Adaptive postfiltering methods and systems for decoding speech
US6801510B2 (en) * 2001-10-11 2004-10-05 Interdigital Technology Corporation System and method for using unused arbitrary bits in the data field of a special burst
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US6934677B2 (en) 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7027982B2 (en) 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6647366B2 (en) 2001-12-28 2003-11-11 Microsoft Corporation Rate control strategies for speech and music coding
US6789123B2 (en) 2001-12-28 2004-09-07 Microsoft Corporation System and method for delivery of dynamically scalable audio/video content over a network
CA2388352A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for frequency-selective pitch enhancement of synthesized speed
CA2388439A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
DE602004004950T2 (de) * 2003-07-09 2007-10-31 Samsung Electronics Co., Ltd., Suwon Vorrichtung und Verfahren zum bitraten-skalierbaren Sprachkodieren und -dekodieren
US7356748B2 (en) * 2003-12-19 2008-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Partial spectral loss concealment in transform codecs
ATE396537T1 (de) * 2004-01-19 2008-06-15 Nxp Bv System für die audiosignalverarbeitung
US7668712B2 (en) 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US7362819B2 (en) 2004-06-16 2008-04-22 Lucent Technologies Inc. Device and method for reducing peaks of a composite signal
US7246037B2 (en) 2004-07-19 2007-07-17 Eberle Design, Inc. Methods and apparatus for an improved signal monitor
MX2007012187A (es) 2005-04-01 2007-12-11 Qualcomm Inc Sistemas, metodos y aparatos para deformacion en tiempo de banda alta.
US7707034B2 (en) 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511110A (ja) * 1993-12-01 1996-11-19 ディーエスピー・グループ・インコーポレイテッド オーディオ信号の圧縮/解凍装置及び圧縮/解凍方法
JPH10513277A (ja) * 1995-02-08 1998-12-15 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) ディジタル情報コーディング方法ならびに装置
JPH1078799A (ja) * 1996-09-04 1998-03-24 Fujitsu Ltd コードブック
JP2003513296A (ja) * 1999-09-22 2003-04-08 コネクサント システムズ, インコーポレイテッド マルチモードの音声符号器
JP2003512654A (ja) * 1999-10-19 2003-04-02 アトメル・コーポレイション 音声の可変レートコーディングのための方法およびその装置
JP2005503574A (ja) * 2001-02-13 2005-02-03 クゥアルコム・インコーポレイテッド 望ましくないパケット生成を減少する方法および装置
WO2005064591A1 (en) * 2003-12-19 2005-07-14 Motorola, Inc. Method and apparatus for speech coding

Also Published As

Publication number Publication date
US20060271355A1 (en) 2006-11-30
US7280960B2 (en) 2007-10-09
CA2611829C (en) 2014-08-19
JP2008546021A (ja) 2008-12-18
CN101996636B (zh) 2012-06-13
KR20080009205A (ko) 2008-01-25
ATE492014T1 (de) 2011-01-15
HK1123621A1 (en) 2009-06-19
NZ563462A (en) 2011-07-29
TW200641796A (en) 2006-12-01
NO339287B1 (no) 2016-11-21
IL187196A0 (en) 2008-02-09
IL187196A (en) 2014-02-27
DE602006018908D1 (de) 2011-01-27
EP1886306B1 (en) 2010-12-15
CN101996636A (zh) 2011-03-30
US20080040121A1 (en) 2008-02-14
TWI413107B (zh) 2013-10-21
KR101238583B1 (ko) 2013-02-28
AU2006252965B2 (en) 2011-03-03
US7904293B2 (en) 2011-03-08
US7177804B2 (en) 2007-02-13
PL1886306T3 (pl) 2011-11-30
AU2006252965A1 (en) 2006-12-07
CN101189662B (zh) 2012-09-05
ES2358213T3 (es) 2011-05-06
US20080040105A1 (en) 2008-02-14
NO20075782L (no) 2007-12-19
WO2006130229A1 (en) 2006-12-07
EP2282309A2 (en) 2011-02-09
US7734465B2 (en) 2010-06-08
BRPI0610909A2 (pt) 2008-12-02
EP1886306A4 (en) 2008-09-10
JP5186054B2 (ja) 2013-04-17
RU2007144493A (ru) 2009-06-10
JP5123173B2 (ja) 2013-01-16
RU2418324C2 (ru) 2011-05-10
EP2282309A3 (en) 2012-10-24
EP1886306A1 (en) 2008-02-13
CN101189662A (zh) 2008-05-28
CA2611829A1 (en) 2006-12-07
US20060271357A1 (en) 2006-11-30

Similar Documents

Publication Publication Date Title
JP5186054B2 (ja) マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック
KR101246991B1 (ko) 오디오 신호 처리 방법
JP5072835B2 (ja) 堅牢なデコーダ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130118

R150 Certificate of patent or registration of utility model

Ref document number: 5186054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250