JP2013519920A - サブ帯域コード化復号器における損失パケットの隠蔽 - Google Patents

サブ帯域コード化復号器における損失パケットの隠蔽 Download PDF

Info

Publication number
JP2013519920A
JP2013519920A JP2012553002A JP2012553002A JP2013519920A JP 2013519920 A JP2013519920 A JP 2013519920A JP 2012553002 A JP2012553002 A JP 2012553002A JP 2012553002 A JP2012553002 A JP 2012553002A JP 2013519920 A JP2013519920 A JP 2013519920A
Authority
JP
Japan
Prior art keywords
samples
electronic device
packet
pitch period
lost
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
JP2012553002A
Other languages
English (en)
Other versions
JP5479617B2 (ja
Inventor
シャーマ、アミット
トマン、ジェレミー・ピー.
パーク、ヒュン・ジン
リュ、サン−ウク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013519920A publication Critical patent/JP2013519920A/ja
Application granted granted Critical
Publication of JP5479617B2 publication Critical patent/JP5479617B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

サブ帯域コード化(SBC)復号器において損失パケットを再構築するための電子デバイスが記述される。電子デバイスは、プロセッサと、メモリに記憶された命令とを含む。電子デバイスは、損失パケットを検出し、合成フィルタバンクのゼロ入力応答を取得し、粗いピッチ推定値を取得する。電子デバイスは、さらに、ゼロ入力応答および粗いピッチ推定値に基づいて細かいピッチ推定値を取得する。電子デバイスは、細かいピッチ推定値に基づいて最終ピッチ期間を選択し、損失パケットに対して最終ピッチ期間からのサンプルを使用する。

Description

関連出願
本出願は、2010年2月11日に出願された「An Efficient Packet Loss Concealment (PLC) Scheme in SBC Decoder for Wideband Speech Communications over BlueTooth(登録商標)」と題する米国仮出願61/303,560号、並びに、2010年4月14日に出願された「An Efficient Packet Loss Concealment (PLC) Scheme in a Subband Coding Decoder for Wide-Band Speech Communications」と題する米国仮出願61/324,228号に関連し、その優先権を主張する。
本開示は一般に電子デバイスに関する。さらに詳細には、本開示は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽することに関する。
過去数十年で、電子 デバイスの使用は一般的になってきている。特に、電子テクノロジの進歩は、ますます複雑かつ有益な電子デバイスのコストを削減した。コストの削減と消費者の需要が電子デバイスの使用を激増させ、それは、事実上、現代社会においてユビキタスである。電子デバイスの使用が拡大するにつれ、電子デバイスの新しくかつ改善された特徴に対する需要も拡大した。さらに詳細には、より迅速に、より効率的に、あるいは、より高い品質で機能を実行する電子デバイスが求められることが多い。
多数の電子デバイスが、例えば、ミュージックまたは音声データのようなオーディオまたはサウンド情報と共に使用される。このオーディオまたはサウンド情報により、電子デバイスはサウンドを再生することができる。いくつかの電子デバイスは、他の電子デバイスと通信する。例えば、ある種類の電子デバイスは、セルラ電話のような無線通信デバイスである。いくつかの無線通信デバイスまたは他の電子デバイスは、オーディオまたはサウンド情報を受信することができる。例えば、無線通信デバイスは、別の電子デバイスから音声情報を受信しうる。
例えば、電子デバイスがオーディオまたはサウンド情報を受信している際に、いくつかのオーディオまたはサウンド情報は失われる可能性がある。例えば、無線通信デバイスは、通話中に音声情報またはデータの1または複数のパケットを失う可能性がある。損失オーディオまたはサウンド情報は、ユーザ経験を劣化させる可能性がある。この論述から分かるように、損失オーディオまたはサウンド情報を処理するための改善されたシステムおよび方法が有益でありうる。
サブ帯域コード化(SBC)復号器において損失パケットを再構築するための電子デバイスが開示される。電子デバイスは、プロセッサと、メモリに記憶された命令とを含む。電子デバイスは、損失パケットを検出し、合成フィルタバンクのゼロ入力応答を取得する。電子デバイスは、さらに、粗いピッチ推定値(coarse pitch estimate)を取得し、ゼロ入力応答と粗いピッチ推定とに基づいて細かいピッチ推定値(fine pitch estimate)を取得する。電子デバイスは、さらに、細かいピッチ推定値に基づいて最終ピッチ期間(last pitch period)を選択し、損失パケットに対して最終ピッチ期間からのサンプルを使用する。
サブ帯域サンプル(sub-band sample)の自己相関を計算することによって粗いピッチ推定値が取得されうる。サブ帯域サンプルは、合成されていない可能性がある。電子デバイスは、さらに、最終ピッチ期間からのサンプルのうちの少なくともいくつかをゼロ入力応答と重複加算(overlap-add)しうる。細かいピッチ推定値は、ゼロ入力応答と前に復号されたサンプルとの相関を計算することによって取得される。
電子デバイスは、さらに、追加損失パケットを検出し、この追加損失パケットに対して最終ピッチ期間からのサンプルを使用しうる。電子デバイスは、さらに、最終ピッチ期間からのサンプルをフェード(fade)しうる。電子デバイスは、さらに、複数の追加損失パケットに対して最終ピッチ期間からのサンプルを使用しうる。
電子デバイスは、さらに、正確に復号されたパケットまたはフレームを検出し、望ましくないサンプルの範囲に対して最終ピッチ期間からのサンプルを使用し、最終ピッチ期間からのサンプルを遷移サンプル(transition sample)と重複加算しうる。損失パケットに対して最終ピッチ期間からのサンプルを使用することは、このサンプルを損失パケットへと複写することを含みうる。
SBC復号器は、広帯域スピーチ信号を復号するために使用されうる。電子デバイスは、無線通信デバイスでありうる。無線通信デバイスは、ブルートュースデバイスでありうる。SBC復号器による実行可能パケット(viable packet)の復号と比べると、少しの追加の遅延も損失パケットを再構築するために使用されない。
サブ帯域コード化(SBC)復号器において損失パケットを再構築するための方法も開示される。方法は、損失パケットを検出することと、電子デバイス上で、合成フィルタバンクのゼロ入力応答を取得することとを含む。方法は、さらに、粗いピッチ推定値を取得することと、ゼロ入力応答および粗いピッチ推定値に基づいて細かいピッチ推定値を取得することとを含む。方法は、さらに、細かいピッチ推定値に基づいて最終ピッチ期間を選択することと、損失パケットに対して最終ピッチ期間からのサンプルを使用することとを含む。
サブ帯域コード化(SBC)復号器において損失パケットを再構築するためのコンピュータプログラムプロダクトがさらに開示される。コンピュータプログラムプロダクトは、命令を有する非一時的な有形のコンピュータ可読媒体を含む。命令は、電子デバイスに対して、損失パケットを検出させ、合成フィルタバンクのゼロ入力応答を取得させるためのコードを含む。命令は、さらに、電子デバイスに対して、粗いピッチ推定値を取得させ、ゼロ入力応答および粗いピッチ推定値に基づいて細かいピッチ推定値を取得させるためのコードを含む。命令はさらに、電子デバイスに対して、細かいピッチ推定値に基づいて最終ピッチ期間を選択させ、損失パケットに対して最終ピッチ期間からのサンプルを使用させるためのコードを含む。
サブ帯域コード化(SBC)復号器において損失パケットを再構築するための装置がさらに開示される。装置は、損失パケットを検出するための手段と、合成フィルタバンクのゼロ入力応答を取得するための手段とを含む。装置は、さらに、粗いピッチ推定値を取得するための手段と、ゼロ入力応答および粗いピッチ推定値に基づいて細かいピッチ推定値を取得するための手段とを含む。装置は、さらに、細かいピッチ推定に基づいて最終ピッチ期間を選択するための手段と、損失パケットに対して最終ピッチ期間からのサンプルを使用するための手段とを含む。
図1は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる電子デバイスの1つの構成を例証するブロック図である。 図2は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる無線通信デバイスの1つの構成を例証するブロック図である。 図3は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる無線通信デバイスの別の構成を例証するブロック図である。 図4は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法の1つの構成を例証するフロー図である。 図5は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するためのいくつかのモジュールの1つの構成を例証するブロック図である。 図6は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法のより詳細な構成を例証するフロー図である。 図7Aは、損失または紛失パケット検出を例証する。電子デバイス102は、SBC符号化オーディオ(例えば、音声またはスピーチ)を受信および/または復号しうる。 図7Bは、ゼロ入力応答の生成を例証する。 図7Cは、粗いピッチ推定値または期間の決定を例証する。 図7Dは、細かいピッチ推定値または最終ピッチ期間の決定を例証する。 図7Eは、損失パケットに対して最終ピッチ期間を使用すること、および、ゼロ入力応答を最終ピッチ期間からのサンプルと重複加算することを例証する。 図7Fは、隠蔽または再構築されたパケットまたはフレームを例証する。 図8は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するためのいくつかのモジュールの1つの構成を例証するブロック図である。 図9は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法の別の構成を例証するフロー図である。 図10Aは、追加の損失パケットの検出を例証する図である。 図10Bは、追加の損失パケットまたはフレームを隠蔽または再構築するために、最終ピッチ期間からのサンプルを使用することを例証する図である。 図10Cは、隠蔽されたパケットまたはフレーム内のフェーディングサンプルを例証する図である。 図11は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するために使用されうるいくつかのモジュールの1つの構成を例証するブロック図である。 図12は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法の1つの構成を例証するフロー図である。 図13Aは、正確に復号されたパケットまたはフレームのゼロ状態応答を例証する図である。 図13Bは、正確に復号されたパケットまたはフレームのゼロ状態応答に対して最終ピッチ期間からのサンプルを使用することを例証する図である。 図14は、フレームオーバラップの例を例証する図である。 図15は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するために使用されうるいくつかのモジュールの1つの構成を例証するブロック図である。 図16は、電子デバイスにおいて利用されうる様々なコンポーネントを例証する。 図17は、無線通信デバイス内に含まれうる特定のコンポーネントを例証する。 図18は、基地局内に含まれうる特定のコンポーネントを例証する。
本明細書で使用される場合、「基地局(base station)」という用語は、一般的に、通信ネットワークへのアクセスを提供することができる通信デバイスを表す。通信ネットワークの例は、電話ネットワーク(例えば、公衆交換電話ネットワーク(PSTN)のような「陸線」ネットワークまたはセルラ電話ネットワーク)、インターネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)等を含むがそれらに限定されるわけではない。基地局の例は、例えば、セルラ電話基地局またはノード、アクセスポイント、無線ゲートウェイ、および/または、無線ルータを含む。基地局は、IEEE(Institute of Electrical and Electronics Engineers)802.11a、802.11b、802.11g、802.11n、802.11ac(例えば、Wireless Fidelity、すなわち、「Wi−Fi」)標準のような特定の業界標準に従って動作しうる。基地局が従事しうる標準の他の例は、IEEE 802.16(例えば、Worldwide Interoperability for Microwave Access、すなわち「WiMAX」)、第3世代パートナーシッププロジェクト(3GPP)、3GPPロングタームエボリューション(LTE)、および、他の標準(例えば、基地局がノードB、発展型ノードB(eNB)等と呼ばれうる)を含みうる。本明細書に開示されるシステムおよび方法のうちのいくつかは、1または複数の標準の観点から記述されるが、このシステムおよび方法が多数のシステムおよび/または標準に適用可能でありうるため、これは本開示の範囲を限定するべきではない。
本明細書で使用される場合、「無線通信デバイス(wireless communication device)」という用語は、一般的に、基地局または他の電子デバイスと無線で通信しうる電子デバイス(例えば、アクセス端末、クライアントデバイス、クライアント局等)を表す。無線通信デバイスは、別名、モバイルデバイス、モバイル局、加入者局、ユーザ機器(UE)、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニット等と呼ばれうる。無線通信デバイスの例は、ラップトップまたはデスクトップコンピュータ、セルラ電話、スマートフォン、無線モデム、電子リーダ、タブレットデバイス、ゲーミングシステム等を含む。無線通信デバイスは、基地局に関して上に記述されたような1または複数の業界標準に従って動作しうる。このように、「無線通信デバイス」という一般用語は、業界標準に従った様々な用語(例えば、アクセス端末、ユーザ機器(UE)、リモート端末等)で記述される無線通信デバイスを含みうる。
過去数年にわたり、消費者電気業界では、ブルートゥース(BT)を通した広域(WB)スピーチ通信を可能にする技術に対する強い需要が存在している。この需要に対する応答して、BT標準の組織は、BTのWBスピーチまたは音声アプリケーションのために必須コーデックとしてサブ帯域コード化(SBC)を選択している。SBCは、フレームベースのコーデックであり、ここで、入力信号はフレームにフラグメント化され、このフレーム内の時間サンプルは、分析フィルタによってデシメートされた(decimated)サブ帯域サンプルに変換される。各周波数帯域のサブ帯域サンプルは適応的に量子化され、次に、量子化器インデックスは、量子化器ステップサイズと共にSBC復号器に送信される。SBC復号器において、サブ帯域サンプルは、逆量子化器によって再構築され、合成フィルタによって時間ドメイン信号に変換し戻されうる。
BTを通した狭帯域(NB)スピーチに対するCVSD(Continuously Variable Slope Delta Modulation)コーデックとは異なり、SBC復号器は、それがビット誤りによって破損したパケットに対してうるさいほど悪化した(annoyingly impaired)オーディオを生成する傾向にあるため、送信ビット誤りに対して敏感であることが知られている。そのような劣化を回避するために、破損したパケットは破棄され、パケット損失隠蔽(PLC)または損失パケット再構築を用いて良い推定値と置き換えられうる。
サイレンス挿入(silence insertion)、パケット反復(packet repetition)、ピッチ分析に基づく波形置換、線形予測(LP)ベースのPLCなどの多数のPLC技術がSBC復号器に組み込まれうる。中でも、G.711 NBスピーチコーデックに対して展開されるPLCは、それが適度な遅延と計算複雑性で良いオーディオ品質を生成することができるため、費用効率の高いソリューションとしてBT標準の組織によって推薦されている。
音声またはスピーチ信号(例えば、広帯域音声またはスピーチ情報)が電子デバイス(例えば、ブルートゥース送信機および受信機)間で送信される場合、1または複数のパケットが失われうる。このパケットの損失は、望ましくない信号の歪みおよびアーティファクトを引き起こしうる。音声またはスピーチ信号のパケットが失われた場合、パケット損失隠蔽(PLC)または損失パケット再構築が使用され、別のパケットが成功裏に受信されるまで、受信データに基づいて損失パケットを再構築し、それによって、望ましくない信号の歪みおよびアーティファクトを減らしうる。しかしながら、典型的なPLCスキームは、かなりの処理およびメモリリソースを要求しうる。さらに、PLCスキームが広帯域スピーチ信号(狭帯域とは対照的に)に適用される場合、追加の処理およびメモリリソースが必要とされうる。
PLCが使用されない場合、SBC符号器によって符号化された広帯域スピーチビットストリームがSBC復号器によって受信されうる。ビットストリームパーサは、逆量子化器への入力のためにビットストリームをパースおよびフォーマットしうる。逆量子化器は、合成フィルタバンクへの入力のためにサブ帯域サンプルを再構築する。合成フィルタバンクは、再構築されたサブ帯域サンプルを時間ドメイン(例えば、パルスコード変調(PCM)された)サンプルに変換する。時間ドメインサンプルは、SBC復号器によって復号された広帯域スピーチを備えうる。例えば、パケットがPLCせずに誤って受信されるか、失われると、上述されたように、復号された広帯域スピーチにおける望ましくない歪みが発生する可能性がある。
理解のため、1つの典型的なPLCスキームについてのレビューが以下に示される。G.711は、典型的なPLC電気通信標準化部門(ITU−T)標準である。G.711復号器のためのPLCは、本質的に、最後に利用可能なサンプルに最も類似した、正確に受信された前のサンプルのフラグメントを探索することによって、損失スピーチフレームを推定する。次に、復号器は、前のフレームと次の(正確に受信された)フレームとの間にこのフラグメントを挿入する。
10ミリ秒(msec)のフレームのパケットが正確に受信されると、復号されたフレームは、最大ピッチ長よりも2倍以上長い履歴バッファに記憶される。パケットが失われると、ピッチ分析ブロックにおいて、最終ピッチ期間が決定される。第1に、最大ピッチ長と同じ長さのブロックxが、最大ピッチ長が120に設定されている履歴バッファ内の最後のサンプルから取得される。同じ長さの別のブロックy0も、最短時間ラグで履歴バッファ内から取得される。これら2つのブロック(xおよびy0)に対して正規化相関が計算され、局所変数R(0)に記録される。次に、1つのサンプルぶんインクリメントされた時間ラグで履歴バッファ内のサンプルを取得することによって第2のブロックy1が取得される。正規化相関R(1)は、2つのブロックxおよびy1を用いて計算される。これらの動作は、時間ラグが最大ピッチ長に増やされるまで反復される。最終ピッチ期間は、正規化相関を最大化する時間ラグとして決定される。
概要において、G.711 PLCは、最初に、最終ブロックと履歴バッファ内のサンプルブロックとの相関を計算する。第2に、これは、相関が最大化される最終ピッチ期間を決定する。第3に、これは、最終ピッチ期間を損失フレームに複写する。第4に、これは、受信サンプルと隠蔽サンプルとの間での平滑的な遷移のためにテール重複加算(OLA)を実行する。第5に、これは、隠蔽サンプルと次のフレームとの間のシームレスな遷移のためにヘッドOLAを実行する。
ピッチ分析がかなりの量の算術演算を要求し、それが、10ミリ秒のフレームのG.711復号の計算複雑性を超えうることは理解できる。この計算的負担を減らすために、PLC標準は、粗い推定とその精緻化(refinement)という方法でピッチ分析を実行するアルゴリズムを用いる。最終ピッチ期間の粗い推定値は、デシメートされたサンプルに対する相関を半分のレートで計算することによって取得されうる。この粗い推定値から、精緻化のための3つの候補(粗い推定値およびその2つの隣接)が、候補ごとに、最後の2つのピッチ期間のブロック間の正規化相関を計算することによって、並びに、この相関を最大化する候補を選択することによって比較される。
ピッチ分析において最終ピッチ期間が決定されると、履歴バッファ内の最終ピッチ期間は、損失フレームに複写される。最終ピッチ期間内のサンプルに加えて、フレーム境界における波形不連続性を回避するために、最終ピッチ期間の直前の3.75ミリ秒のサンプルブロックも複写され、履歴バッファの最後のセグメントと重複加算(OLA)される。このテールOLAプロセスから、前のフレーム(出力バッファにすでに出力された)のサンプルの最後の3.75ミリ秒が、現在のフレームの隠蔽において変更されることが理解可能である。このように、復号または隠蔽されたフレームが出力バッファに出力されると、フレーム内のサンプルは3.75ミリ秒ぶん遅らされ、3.75ミリ秒のブロックへの潜在的な変更を可能にする。従って、隠蔽フレーム内の最初の6.25ミリ秒のサンプルよりも先に、前のフレームの最後の3.75ミリ秒がきて、10ミリ秒の隠蔽フレームが最終的に出力バッファに排出される。
パケットの損失の後に良いパケットが受信されると、復号されたフレームが前の隠蔽フレームの直後に挿入される。しかしながら、フレーム境界には波形不連続性が存在する可能性がある。シームレスな遷移を確実にするために、3.75ミリ秒のサンプルブロックが前のピッチ期間から反復され、復号されたフレーム内の最初の3.75ミリ秒のブロックと重複加算される。復号されたフレームのこの変更の後、3.75ミリ秒ぶん遅らされた10ミリ秒のブロックが、出力バッファに出力される。
サブ帯域コード化(SBC)復号器は、一般的に、受信されたサブ帯域サンプルから時間ドメイン信号を再構築する。単一のSBCパケットの損失は、フレームにおけるサブ帯域サンプルの損失を意味する。このように、損失サブ帯域サンプルを推定するSBC復号器のためにPLCスキームを設計することが望まれうる。しかしながら、この場合、履歴バッファ内の信号が、高度にデシメートされたサブ帯域サンプルでありうるため、このタスクは難しい可能性がある。代わりとして、G.711 PLCが、そのメリットにより、SBC復号器に組み込まれうる。しかしながら、このアプローチにおいて、SBC復号器へのPLCの組み込みは、G.711の復号器の場合ほど容易ではない可能性がある。
具体的には、単一のSBCパケットが失われた場合、損失パケット内のサブ帯域サンプルは、失われたと見なされうる。それ故に、パケットまたはフレームの復号は省かれ、このパケットまたはフレームは隠蔽されうる。これらのプロセスの間、合成フィルタメモリは、更新されない恐れがある。これは、次のパケットが正確に受信された場合であっても、次のフレームの再構築に対して深刻な歪みを引き起こしうる。換言すると、単一のパケットの損失は、2つのフレームにわたって波形歪みを引き起こしうる。このように、1より多くのSBCフレームサイズのスピーチサンプルは、出力オーディオにおけるより多くの損傷が避けられない可能性があるため、PLCによって隠蔽されうる。
隠蔽オーディオの品質問題を除き、G.711 PLCを組み込むことは、3.75ミリ秒の遅延を本質的に必要とし、それは、遅延に敏感なブルートゥース(BT)アプリケーションにおいて望ましくない。さらに、アルゴリズムの複雑性が、狭帯域(NB)スピーチのG.711 PLCの複雑性と比較して著しく増やされうるため、PLCによって要求される計算も懸念されうる。具体的には、相関計算に使用されるサンプルブロックの長さは、広帯域(WB)スピーチPLCに対して2倍となりうるため、算術演算の数は4倍に増加するであろう。結果として、PLCを実行するための計算は、単一のフレームのSBC復号に対して要求される計算をはるかに超えるであろう。この計算的負担は、効率的な技術が、粗い推定とその精緻化を介して最適なピッチラグを見つけるために用いられたとしても、容易に取り除かれ(lifted)ないであろう。
G.711 PLCの性能制限に対処するために、本明細書に開示されるシステムおよび方法は、SBC復号ストラクチャ内へのG.711 PLCの効率的な組み込みを可能にしうる。本明細書に開示されるシステムおよび方法は、歪められたサンプルを隠蔽する際、および、ピッチ分析を実行する際に、SBC復号器において全ての利用可能な情報を活用しうる。
G.711 PLCに類似して、正確に受信されたパケットは復号され、履歴バッファに記憶されうる。時間ドメインのサンプルに加えて、多数の復号済み第1のサブ帯域サンプルも、サブ帯域バッファ(例えば、より小さいサイズの)に記憶されうる。
SBCパケットが失われると、失われたフレーム内の失われたサブ帯域サンプルが、ゼロと推定されうる。サブ帯域サンプルがゼロに設定されると、1または複数の合成フィルタは、ゼロ入力応答を出力しうる。合成フィルタ状態が、ゼロ入力応答を合成する間ゼロに再設定されうるため、パケットが正確に受信される次のフレームの再構築は、ゼロ状態応答でありうる。1つの例において、後続フレーム内のゼロ状態応答は、損失フレーム内のゼロ入力応答に続きうる。例えば、第1のパケットが失われると、復号器は、ゼロ入力応答を出力しうる。次に第2のフレームが正確に受信されうる。波形歪みは、1つのパケットしか失われなかった場合であっても、この2つのフレームの両方にわたって観察されうる。
このように、単一パケットの損失が2つのフレームにわたって波形歪みを引き起こす可能性があったとしても、損失フレーム内のゼロ入力応答の最初の数ミリ秒(msec)、および、次のフレームの最後の数ミリ秒は、原信号に近く再構築されうる。このように、2つの部分の中間にあるサンプルは、G.711 PLCを介して推定されうる。推定されたサンプルは、隣接サンプルと共にテールおよびヘッドOLAを介して挿入されうる。SBC復号器において合成フィルタのゼロ入力およびゼロ状態応答を活用することによって、G.711 PLCによって本質的に要求される3.75ミリ秒の遅延は回避されうる。
利用可能な全ての情報を十分に利用するアプローチは、ピッチ分析にも適用されうる。損失フレームおよび次のフレームの歪んだサンプルを隠蔽するために、前のフレームは、G.711 PLCで展開されるような粗い推定とその精緻化を使用することによって同様に探索されうる。しかしながら、記憶されたサブ帯域サンプルの正規化相関(例えば、自己相関)を計算することによって、粗い推定値は別に取得されうる。例えば、8倍デシメートされたサブ帯域サンプルに対して相関が計算されるため、計算の数およびメモリ使用という観点では、かなりの削減が達成されうる。例えば、WBスピーチに対して最大許容ピッチラグが240個のサンプルと定義された場合、相関計算は、240個のサンプルからなる2つのブロックに対して実行され、履歴バッファは、少なくとも2×240個のサンプルを記憶しうる。しかしながら、本明細書に開示されるシステムおよび方法に従ってサブ帯域サンプルを用いて、最大許容ピッチラグは、30個のサンプルへと8倍デシメートされうる。30個のサンプルからなる2つのブロックに対して相関が計算されるため、サブ帯域バッファには2×30個のサンプルだけが記憶される必要がありうる。
次に、履歴バッファ内の時間ドメインサンプルを用いて粗い推定値が精緻化されうる。G.711 PLCにおいて、精緻化候補ごとに最後の2つのピッチ期間のブロック間の正規化相関を計算することによって精緻化が実行される。これについて、最大ピッチラグの2倍の時間ドメインサンプルが履歴バッファに記録される必要がありうる。メモリ利用上のそのような負荷を取り除く(lift)ために、本明細書に開示されるシステムおよび方法は、履歴バッファサイズを半分に(例えば、最大ピッチラグへと)減らすことを可能にするピッチ精緻化に対して効率的なスキームを用いる。例えば、本明細書に開示されるシステムおよび方法は、損失フレームのゼロ入力応答内のサンプル(例えば、パルスコード変調(PCM)されたサンプル)の最初の数ミリ秒を使用し、相関計算において第1のアーギュメントとしてそれを使用しうる。第2のアーギュメントは、ピッチ精緻化候補ごとの履歴バッファ内の1ピッチ遅れたサンプルでありうる。これら2つの短いブロックを使用して、相関が効率的に計算されうる。この相関は、この相関を最大化するピッチラグをピッチ分析の最後の出力として選択するために使用されうる。このアプローチは、損失フレーム内のゼロ入力応答の最初の数ミリ秒が、原信号に近く再構築されうるという観察から正当化され、1つのピッチラグぶん離れた2つのショートブロック間の相関は、正確な精緻化結果を生じさせうる。
複雑性削減への別の寄与は、最初の数サブ帯域サンプル(ゼロに設定された)だけを合成フィルタに与えることによりゼロ入力応答の最初の数ミリ秒を計算することによって行われうる。ピッチ分析によって要求される計算およびメモリ利用の数は、本明細書に開示されたシステムおよび方法を最低限の計算およびメモリ利用に適用することによって、かなり減らされうる。このように、PLCのアルゴリズムの複雑性は、正常なSBC復号のそれに類似して維持されうる。
最終ピッチ期間として識別されたサンプルが反復され、次に、最終ピッチ期間の反復されたピッチ期間またはサンプルが損失フレームに複写されうる。受信フレームと隠蔽フレームとの間での平滑的な遷移のために、OLAが、ゼロ入力応答の最初の数ミリ秒と、履歴バッファ内の1ピッチ遅れたサンプルとの間で実行されうる。隠蔽または再構築されたブロック(例えば、パケットまたはフレーム)は、G.711 PLCでは発生する余分な遅延なく、復号器出力バッファに出力されうる。最終ピッチ期間は、次の良いパケットが復号器で受信されるまで、フェードイン信号減衰で反復されうる。
復号器に再度良いパケットが与えられると、復号済みサブ帯域サンプルが、1または複数の合成フィルタに適用されうる。しかしながら、この場合、フィルタ状態がゼロに再設定されたことにより、ゼロ状態応答を出力しうる。このように、最初の5ミリ秒を越えるゼロ状態応答は、例えば、前のフレームから続く最終ピッチ期間と置き換えられうる。最終ピッチ期間は、ゼロ状態応答における対応フラクションとのヘッドOLAのために、さらに数ミリ秒以上にわたって再度継続されうる。この方法において、隠蔽フレームから復号フレームへのシームレスな遷移が達成されうる。満たされたフレームは、復号フレームと隠蔽フレームとの間でのOLAに対して別途要求される余計な遅延なく復号器出力バッファに向けられうる。
SBC復号器のPLCに対して本明細書に開示されるシステムおよび方法は、隠蔽フレームと復号フレームとの間のシームレスな遷移のためにSBC合成フィルタのゼロ入力およびゼロ状態応答を使用しうる。本明細書に開示されるシステムおよび方法は、さらに、減らされたまたは最低限の計算およびメモリ使用でピッチ分析の効率的な実現化を可能にしうる。一般的に、本明細書に開示されるシステムおよび方法は、G.711 PLCとの使用に限定されないが、任意のPLCをSBC復号器に組み込むタスクに適用されうる。例えば、オーディオ品質が他の設計制約よりも最優先されるいくつかのアプリケーションにおいて、LP分析およびピッチ分析を介して損失フレームを推定する線形予測ベースの(LPベースの)PLCが用いられうる。PLCの組み込みにおいて、隠蔽フレームと復号フレームとの間のシームレスな遷移のためにSBC合成フィルタのゼロ入力およびゼロ状態応答を用いて、この隠蔽フレームは、シームレスに、その隣接フレームに挿入されうる。さらに、LPベースのPLCにおけるピッチ分析は、本明細書に開示されるシステムおよび方法に従って、減らされた計算およびメモリ使用でピッチ分析の効率的な実現を使用することによって効率的に実行されうる。
このパケット損失隠蔽スキーム(PLC)スキームのいくつかの有益な態様は、特に、サブ帯域サンプルバッファにおいて自己相関されたサブ帯域サンプルを利用した粗い推定値の計算と、ゼロ入力応答サンプルの使用を含む。このアプローチは、メモリ利用に加えて、PLCスキームの計算的複雑性を減らしうる。さらに、本明細書に開示されるシステムおよび方法に従って、他のアプローチで生じる遅延がPLCで生じないため、このアプローチは有益でありうる。
このように、パケット損失隠蔽(PLC)または損失パケット再構築についての改善されたシステムおよび方法は、損失パケットの効率的な再構築を可能にしうる。これらの改善されたシステムおよび方法は、サブ帯域コード化された広帯域(および/または狭帯域)スピーチ信号に適用されうる。本明細書で開示されるシステムおよび方法は、計算的複雑性およびメモリ使用を減らしうる。
様々な構成が、図に関して記述されうる。ここで、同様の参照番号は、機能的に類似したエレメントを示しうる。本明細書の図において一般的に記述および例証されるシステムおよび方法は、多種多様な異なる構成で配列および設計されうる。このように、図において表される、いくつかの構成下のより詳細な記述は、請求される範囲を制限することを企図せず、システムおよび方法の単なる代表である。
図1は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる電子デバイス102の1つの構成を例証するブロック図である。電子デバイス102の例は、セルラ電話、スマートフォン、ラップトップコンピュータ、携帯情報端末(PDA)、電子リーダ、ゲーミングシステム、無線モデム等のような無線通信デバイスを含む。電子デバイス102の他の例は、デスクトップコンピュータ、電話、記録デバイス等を含む。電子デバイス102は、サブ帯域コード化(SBC)復号器104、1または複数のスピーカ114、および/または、メモリ116を含みうる。本明細書に開示されるシステムおよび方法に従って、SBC復号器104は、パケット損失検出器106、逆量子化器108、合成フィルタバンク110、および/または、PLC/損失パケット再構築モジュール112を含みうる。
パケット損失検出器106は、オーディオ、音声、またはスピーチ情報がいつ正確に受信および/または復号されなかったかを決定しうる。1つの構成において、電子デバイス102は、別の電子デバイスから音声またはスピーチ情報を受信しうる(例えば、有線または無線リンクを使用して)。別の構成において、電子デバイス102は、メモリ116(例えば、RAM、ハードドライブ等)から音声またはスピーチ情報を検索しうる。パケット損失検出器106は、CRC(巡回冗長検査)などの誤り検出コード化を用いて、パケット(例えば、音声またはスピーチ情報の)が失われたことを決定しうる。パケット損失検出器106は、別の方法でも、パケットが失われたことを決定しうる。例えば、期待される音声またはスピーチ情報が特定の時間期間内に到着しなかった場合、あるいは、電子デバイス102が受信された音声またはスピーチ情報を適切に復号できなかった場合、パケット損失検出器106は、パケットが失われたと決定しうる。逆量子化器108は、音声またはスピーチ信号のサブ帯域サンプルを再構築しうる。合成フィルタバンク110は、1または複数の合成フィルタを備え、再構築されたサブ帯域サンプルを時間ドメイン(オーディオ)サンプルに変換しうる。
パケット損失隠蔽(PLC)または損失パケット再構築モジュール112は、損失パケットを隠蔽または再構築しうる。より具体的には、PLCまたは損失パケット再構築モジュール112は、合成フィルタバンク110のゼロ入力応答と、粗いピッチ推定値(例えば、サブ帯域サンプルを使用して取得される)とを使用して、細かいピッチ推定値を獲得しうる。細かいピッチ推定値は、最終ピッチ期間を選択するために使用されうる。最終ピッチ期間からのサンプルは、損失パケットのフレームに複写または挿入されうる。このように、損失パケットは、「隠蔽」または再構築されうる。1つの構成において、「再構築された」パケットまたはサンプル(例えば、損失パケットが占有するであろうフレーム内のサンプル)は、1または複数のスピーカ114を使用して音響的に出力されうる。別の構成において、「再構築された」パケットまたはサンプルは、メモリ116に保存されうる。さらに別の構成において、「再構築された」パケットまたはサンプルは、別の電子デバイスに送信されうる。
例えば、パケットが失われると、PLC/損失パケット再構築モジュール112は、損失パケットまたはフレームを、最終ピッチ期間からのサンプルと置換するか、それらで満たしうる。最終ピッチ期間は、先行するフレームまたはパケットからの一連のサンプルを備えうる。最終ピッチ期間からのサンプルは、損失または紛失パケットまたはフレームに複写、挿入および/または併合されうる。ゆえに、これは、先行するフレームからのピッチを継続しうる。このように、損失または紛失パケットまたはフレームに配置されたサンプルは、先行フレームと類似して鳴り(音響信号として出力された場合)、これによって、望ましくない歪みを回避しうる。本明細書で使用される場合、「再構築すること(reconstructing)」、「再構築する(reconstruct)」、「隠蔽(concealment)」、「隠蔽する(conceal)」という用語および他の変形が、損失パケットと、損失パケットからのもののではない他のサンプルとの置換(または、損失パケットが占有するであろうフレームにおける配置)を表しうることに注意されたい。このように、損失パケットを再構築することで、電子デバイス102のユーザに対して、パケット損失を分かりにくくする。
図2は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる無線通信デバイス202の1つの構成を例証するブロック図である。無線通信デバイスA 202は、PLCまたは損失パケット再構築モジュール212を含みうる1または複数のアンテナ218、1または複数のスピーカ214、メモリ216、および/または、SBC復号器204を含みうる。無線通信デバイスB 222は、SBC符号器224、および/または、1または複数のアンテナ220を含みうる。無線通信デバイスA 202および無線通信デバイスB 222は、それぞれのアンテナ218、220を使用して互いに通信しうる。
無線通信デバイスB 222は、SBC符号器224を使用して、オーディオ(例えば、音声またはスピーチ)信号を符号化しうる。例えば、無線通信デバイスB 222は、オーディオ信号(例えば、ユーザの音声またはスピーチ)をキャプチャするためのマイクロフォン(示されない)を含みうる。無線通信デバイスB 222は、SBC符号器224を使用して、オーディオ信号を符号化しうる。SBC符号化された信号は、1または複数のアンテナ220を用いて無線通信デバイスA 202に送信されうる。無線通信デバイスA 202は、このSBC符号化された信号を、1または複数のアンテナ218を使用して受信しうる。次に、無線通信デバイスA 202は、SBC復号器204を使用して、SBC符号化された信号を復号しうる。SBC符号化された信号の任意のパケットが損失または紛失している場合、無線通信デバイスA 202は、PLC/損失パケット再構築モジュール212を使用して、損失パケットの代わりに他のサンプル(例えば、「再構築された」パケット)を隠蔽または配置しうる。SBC復号されたオーディオ信号は、1または複数のスピーカ214を使用して音響的に出力され、メモリ216に記憶され、および/または、別の電子デバイスまたは無線通信デバイスに送信されうる。
1つの構成において、例えば、無線通信デバイスB 222は、ブルートゥースヘッドセットであり、無線通信デバイスA 202は、セルラ電話である。ユーザは、無線通信デバイスB 222(例えば、ブルートゥースヘッドセット)を使用して、電話呼出のためのユーザの音声またはスピーチをキャプチャしうる。ユーザの音声またはスピーチは、マイクロフォンによってキャプチャされ、SBC符号器224を使用して符号化されうる。キャプチャ/符号化されたスピーチは、例えば、広帯域スピーチまたは狭帯域スピーチでありうる。SBC符号化されたオーディオ(例えば、音声、スピーチ)信号は、アンテナ220を使用して送信され、それは、次に、アンテナ218を使用して無線通信デバイスA 202(例えば、セルラ電話)によって受信される。無線通信デバイスA 202は、SBC復号器204を使用して、SBC符号化された信号を復号する。パケットが損失または紛失している場合、無線通信デバイスA 202は、PLC/損失パケット再構築モジュール212を使用して、前のフレームからのサンプルを、この損失または紛失パケットのフレームに配置する。結果として得られるSBC復号された信号は、オーディオ信号(例えば、1または複数の「隠蔽された」パケットを有する広帯域または狭帯域オーディオ信号)である。この例において、無線通信デバイスA 202(例えば、セルラ電話)は、オーディオ信号をフォーマット(例えば、誤り検出/訂正コード化の追加、変調など)し、これを別の電子デバイス(例えば、セルラ電話、陸線電話など)に送信する。加えて、または、あるいは、オーディオ信号は、メモリ216に記憶され、および/または、1または複数のスピーカ214を使用して音響的に出力されうる。
図3は、パケット損失隠蔽(PLC)または損失パケット再構築のためのシステムおよび方法が実施されうる無線通信デバイス302の別の構成を例証するブロック図である。無線通信デバイス302は、1または複数のアンテナ318、1または複数のスピーカ314、メモリ316、および/または、SBC復号器304を含み、それは、PLC/損失パケット再構築モジュール312を含みうる。基地局328は、1または複数のアンテナ326を用いて無線通信デバイス302と通信しうる。
上で論述されたように、無線通信デバイス302の1つの例はセルラ電話である。例えば、無線通信デバイス302(例えば、セルラ電話)がSBC符号化されたオーディオ信号をブルートゥースヘッドセット(例えば、図2の無線通信デバイスB 222)から受信したと仮定する。さらに、SBC符号化オーディオ信号の1または複数のパケットが失われた(例えば、正確に受信または復号されなかった)と仮定する。無線通信デバイス302は、SBC復号器304を使用して、受信されたSBC符号化オーディオ信号を復号する。無線通信デバイス302は、さらに、PLC/損失パケット再構築モジュール312を使用して損失パケットを隠蔽または置換しうる。結果として得られる信号は、1または複数の損失パケットが別のフレームまたはパケットからのサンプルと置換された復号済みオーディオ信号またはサンプルである。次に、復号されたオーディオ信号は、送信のためにフォーマット(例えば、誤り訂正/検出コード化が追加、変調など)されうる。次に、このフォーマット済みオーディオ信号は、1または複数のアンテナ318を使用して送信され、1または複数のアンテナ326を使用して基地局328によって受信されうる。次に、基地局328は、オーディオ信号を別の電子デバイスに中継しうる。例えば、基地局328は、公衆交換電話ネットワーク(PSTN)またはインターネットを用いて(例えば、ボイスオーバインターネットプロトコル(VoIP)を通して)、電話、計算デバイス(例えば、デスクトップ/ラップトップコンピュータ)またはセルラ電話にオーディオ信号を送りうる。次に、オーディオ信号は、電子デバイス(例えば、電話、計算デバイス、セルラ電話など)によって出力されうる。無線通信デバイス302は、加えて、または、あるいは、復号されたオーディオ信号をメモリ316に記憶し、および/または、1または複数のスピーカ314を使用してこの復号されたオーディオ信号を出力しうる。
図4は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法400の1つの構成を例証するフロー図である。例えば、図4は、パケット損失隠蔽(PLC)または損失パケット再構築モジュール112が3つのPLCケースの間でどのようにスイッチするかを例証する。一般的に、PLCケースIは、SBC符号化オーディオのパケットまたはフレームが正確に復号され、その後に損失または不正確に復号されたパケットが続くケースを表しうる。PLCケースIIは、損失または不正確に復号されたパケットの後にさらなる損失または不正確に復号されたパケットが続くケースを表しうる。PLCケースIIIは、損失または不正確に復号されたパケットの次に正確に復号されたパケットが続くケースを表しうる。
電子デバイス102(例えば、SBC復号器104およびPLC/損失パケット再構築モジュール112を備える)は、SBC符号化オーディオ信号(例えば、受信された広帯域スピーチビットストリーム)の復号を開始402する。電子デバイス102は、パケットが失われたか否か(例えば、受信されなかった、不正確に復号された、など)を決定404しうる。パケットが失われていないと電子デバイス102が決定404すると電子デバイス102は、損失パケットが検出または決定404されるまで、SBC符号化オーディオ信号(例えば、受信された広帯域スピーチビットストリーム)の復号を継続しうる。パケットが失われたと電子デバイス102が決定404すると、電子デバイス102は、PLCケースIを実行406しうる。PLCケースIを実行406する際、電子デバイス102は、最終ピッチ期間を決定しうる。最終ピッチ期間は、正確に復号されたパケットからの多数のサンプルでありうる。電子デバイス102は、最終ピッチ期間からの1または複数のサンプルを損失パケットまたはフレームに配置または複写しうる。PLCケースIの実行406についてのさらなる詳細が下に示される。
電子デバイス102は、さらなる損失パケットが存在するか否かを決定408しうる(例えば、一度PLCケースIが実行406されると)。さらなる損失パケットが存在しないことを電子デバイス102が決定408すると、電子デバイス102は、PLCケースIIIを実行414しうる。PLCケースIIIを実行414する際、電子デバイス102は、最終ピッチ期間からの1または複数のサンプルを、正確に復号されたパケットまたはフレーム、あるいは、復号されたパケットまたはフレームの一部に配置または複写しうる。これは、例えば、正確に復号されたパケットからの良いまたは望ましいサンプルに遷移するために実行されうる。PLCケースIIIの実行414についてのさらなる詳細が下に示される。電子デバイス102(例えば、SBC復号器104)は、SBC符号化オーディオ信号(例えば、ビットストリーム)に損失パケットが存在するか否かを決定404するために戻りうる。これは、例えば、PLCケースIIIの実行414に続いて実行されうる。
さらなる損失パケットが存在すると電子デバイス102が決定408した場合(例えば、PLCケースIを実行406した後に)、電子デバイス102(例えば、SBC復号器104)は、PLCケースIIを実行410しうる。PLCケースIIの実行410の際、電子デバイス102は、(最初に決定された)最終ピッチ期間からのサンプルをさらなる損失パケットまたはフレームに配置または複写しうる。これは、損失パケットまたはフレームを満たすために必要に応じて反復的に実行されうる。電子デバイス102は、さらに、さらなる損失パケットまたはフレーム内の配置または複写されたサンプルをフェードしうる(例えば、ボリュームまたは大きさを漸進的に減らす)。電子デバイス102は、さらなる損失パケットが存在するか否を決定412しうる。さらなる損失パケットが存在する場合、電子デバイス102は、最終ピッチ期間からのサンプルをさらなる損失パケットまたはフレームに配置または複写することによって、および/または、サンプルのフェードを継続することによって、PLCケースIIを再度実行410しうる。さらなる損失パケットが存在しないと電子デバイス102が決定412した場合(例えば、実行可能パケットが受信された場合)、電子デバイス102は、PLCケースIIIを実行414し、損失パケットが存在するか否かを決定404するために戻りうる(例えば、PLCケースIIIを実行414した後に)。
図5は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するためのいくつかのモジュールの1つの構成を例証するブロック図である。SBC符号器によって符号化されたスピーチビットストリーム(例えば、広帯域スピーチビットストリーム)530は、ビットストリームパーサ532に入力されうる。ビットストリームパーサ532は、ビットストリームをパースし、ビット誤り検出およびデータ再構築に関する情報を次に続く復号器に提供しうる。パースされたビットストリームは、パケット損失検出器506に入力されうる。パケット損失検出器506は、オーディオ、音声、またはスピーチ情報がいつ正確に受信および/または復号されなかったかを決定しうる。パケット損失検出器506は、CRC(巡回冗長検査)のような誤り検出コード化を使用して、パケット(例えば、音声またはスピーチ情報の)が失われたことを決定しうる。パケット損失検出器506は、他の方法でも、パケットが失われたことを決定しうる。例えば、期待される音声またはスピーチ情報が特定の時間期間内に到着しなかった場合、または、電子デバイス102が受信された音声またはスピーチ情報を適切に復号できなかった場合、パケット損失検出器506は、パケットが失われたと決定しうる。
パケット損失検出器506は、SBC復号器104がどのように動作しうるかを決定するために使用されうる。例えば、パケット損失検出器506がどの損失パケットも検出しない場合、SBC復号器104は、逆量子化器508(便宜上、図5では「IQ」と略記される)、および、合成フィルタバンク510(便宜上、図5では「SFB」と略記される)を直接使用し、SBC復号器104によって復号されたスピーチ544(例えば、スピーチサンプル)を生成することによって動作しうる。逆量子化器508は、音声またはスピーチ信号のサブ帯域サンプルを再構築しうる。再構築されたサブ帯域サンプルは、サブ帯域サンプルバッファ534に入力または記憶されうる。合成フィルタバンク510は、再構築されたサブ帯域サンプルを、SBC復号器104によって復号されたスピーチ544の時間ドメインサンプルに変換しうる。これらのスピーチサンプル544は、さらに、履歴バッファ536に記憶されうる。例えば、履歴バッファ536は、パルスコード変調(PCM)スピーチサンプルを含みうる。
パケット損失検出器506が正確に復号されたパケットに続いて損失パケットを検出する場合、電子デバイス102は、PLCケースI 538にスイッチし、および/または、PLCケースI 538を実行しうる。すなわち、PLCケースI 538は、少なくとも1つのパケットが正確に復号され、その後に、損失または紛失パケットが続く場合に実行されうる。PLCケースI 538は、(0、x)と表されうる。ここで、0は正確に復号されたパケットまたはフレームを表し、xは、紛失または損失パケットを表す。PLCケースII 540は、紛失または損失パケットに続いてさらなる紛失または損失パケットをパケット損失検出器506が検出する場合(例えば、(x、x))に実行されうる。PLCケースIII 542は、紛失または損失パケットに続いて正確に復号されたパケットをパケット損失検出器506が検出する場合(例えば、(x、0))に実行されうる。PLCケースI 538、PLCケースII 540またはPLCケースIII 542に従って動作する場合、電子デバイス102は、いくつかのパケット隠蔽または再構築を使用してSBC復号器104によって復号されたスピーチ544(例えば、広帯域スピーチ)サンプルを生成しうる。PLCケースI 538、PLCケースII 540またはPLCケースIII 542についてのさらなる詳細が下に示される。
図6は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法600のより具体的な構造を例証するフロー図である。より具体的には、図6は、例えば、PLCケースIを実行406することについてのさらなる詳細を例証する。電子デバイス102は、合成フィルタバンクのゼロ入力応答を取得602しうる。例えば、正確に復号されたパケットに続いて紛失または損失パケットを電子デバイス102(例えば、パケット損失検出器106)が検出した場合、電子デバイス102は、ゼロ(例えば、ゼロのサンプル)を合成フィルタバンク110に入力しうる。合成フィルタバンク110は、ゼロ入力応答を出力し、それは、前のフレームからのいくつかの残余データを反映しうる。ゼロ入力応答(例えば、有益な数のゼロ入力応答のサンプル)が損失パケットまたはフレームの一部を占有しうる。
電子デバイス102は、前のフレーム(例えば、前のフレームによって占有される時間の範囲)に対応するサブ帯域サンプルの自己相関を計算することによって粗いピッチ推定値を取得604しうる。例えば、電子デバイス102は、サブ帯域サンプルバッファ534からのサブ帯域サンプルの範囲の自己相関を計算しうる。1つの構成において(および、図5に例証されるように)、使用されるサブ帯域サンプルは、逆量子化器508によって出力されている。この構成において、合成前(例えば、合成フィルタバンク510によって合成される前)のサブ帯域サンプルは、自己相関を計算するために直接使用されうる。
電子デバイス102は、ゼロ入力応答と前のフレームからの出力サンプルとの相関(例えば、正規化相関)を計算することによって、少なくとも1つの細かいピッチ推定値を取得606しうる。少なくとも1つの細かいピッチ推定値は、少なくとも1つの粗いピッチ推定値に基づきうる。例えば、電子デバイス102(例えば、SBC復号器104)は、ゼロ入力応答サンプルと、粗いピッチ推定値の周りの範囲内の履歴バッファ536からの(または、粗いピッチ推定値に対応する履歴バッファ536内のサンプルの周りの)スピーチサンプルとの相関を計算しうる。最大相関は、細かいピッチ推定値を示すか、あるいは、それに対応しうる。例えば、最大相関に対応する履歴バッファ536内のサンプルは、細かいピッチ推定値として選択されうる。
電子デバイス102は、細かいピッチ推定値に基づいて最終ピッチ期間を選択608しうる。例えば、最終ピッチ期間は、フレームの最後まで(例えば、履歴バッファ536内の)、細かいピッチ推定値からのサンプルとして選択608されうる。電子デバイス102は、損失パケットに対して最終ピッチ期間からの出力サンプルを使用610しうる。例えば、電子デバイス102は、最終ピッチ期間(例えば、履歴バッファ536内の)からのサンプルを損失パケットまたはフレームに複写または配置しうる。損失パケットまたはフレームを満たすために、反復された最終ピッチ期間が使用されうる。例えば、履歴バッファ536内の最終ピッチ期間からのサンプルは、損失パケットまたはフレームが満たされるまで、損失パケットまたはフレームに反復的に複写または配置されうる。電子デバイス102は、ゼロ入力応答サンプル(例えば、多数のゼロ入力応答サンプルまたは有益なゼロ入力応答サンプル)を、損失パケットまたはフレーム内の最終ピッチ期間サンプルと重複加算612しうる。例えば、損失パケットまたはフレームを占有する多数のゼロ入力応答サンプル(例えば、損失パケットまたはフレームの最初)が、多数の最終ピッチ期間サンプルと重複加算612されうる。
図7A〜7Fは、サブ帯域コード化復号器において損失パケットを隠蔽または再構築することについてのさらなる詳細を例証する図である。より具体的に、図7A〜7Fは、例えば、PLCケースIに従って実行されうる動作を例証する。
図7Aは、損失または紛失パケット検出を例証する。電子デバイス102は、SBC符号化オーディオ(例えば、音声またはスピーチ)を受信および/または復号しうる。例えば、SBC復号器104は、SBC符号化スピーチを復号して、復号スピーチサンプルを生成しうる。これらの復号スピーチサンプルは、例えば、PCMサプルでありうる。復号スピーチサンプルは、履歴バッファ746aに記憶されうる。電子デバイス102は、損失パケット748aを検出750しうる。例えば、パケットが正確に受信および/または復号されない場合、損失パケット748aが検出されうる。
図7Bは、ゼロ入力応答752bの生成を例証する。損失パケット748bが検出750されると、電子デバイス102は、多数のゼロを合成フィルタバンク110に挿入し、多数のゼロ入力応答サンプル752bを取得する。ゼロを合成フィルタバンク110に挿入することで、より早くに復号されたオーディオ(例えば、音声またはスピーチ)サンプルを残余的に(residually)反映するゼロ入力応答サンプル752bが生成され、それは、履歴バッファ746bに記憶されうる。本明細書に記載されるシステムおよび方法に従って、履歴バッファ746は、最大許容ピッチラグの長さを有する(これは、典型的な履歴バッファの長さよりも短くなりうる(例えば、半分))。最大許容ピッチラグの長さは、最大スピーチおよび/または音声波長に対応しうる。
図7Cは、粗いピッチ推定値または期間756cの決定を例証する。特に、図7Cは、履歴バッファ746c、多数のゼロ入力応答サンプル752c、損失パケット748c、サブ帯域バッファ754c、および、粗いピッチ推定値756cを例証する。サブ帯域バッファ754cは、多数のサブ帯域サンプルを記憶しうる。サブ帯域サンプルは、合成されていない(例えば、合成フィルタバンク110によって)サブ帯域サンプルでありうる。電子デバイス102は、サブ帯域バッファ内のサンプルの自己相関を計算し、粗いピッチ推定値t 756cを取得しうる。粗いピッチ推定値t 756cは、計算された自己相関の範囲内の最大自己相関値に対応する時間インスタントまたはサンプルでありうる。計算された自己相関の範囲は、最大許容ピッチラグに対応しうる。図7Cで例証されるように、粗いピッチ推定値t 756cは、特定の時間、または、履歴バッファ746c内のサンプル数に対応する。
図7Dは、細かいピッチ推定値および/または最終ピッチ期間の決定を例証する。図7Dは、特に、履歴バッファ746d〜e、多数のゼロ入力応答サンプル752d〜e、損失パケット748d〜e、粗いピッチ推定値756d、および、最終ピッチ期間t’ 758aを示す細かいピッチ推定値を例証する。ゼロ入力応答サンプル752dと履歴バッファ746d内のサンプルとの相関は、粗いピッチ推定値756dの周りの±m個のサンプルの範囲内で電子デバイス102によって計算されうる。サンプルの範囲は、例えば、粗いピッチ推定値サンプルと、隣接する候補との間でありうる(例えば、t−mおよびt+mで表される)。例えば、mは、サブ帯域サンプルごとの履歴バッファサンプルの数でありうる。この範囲内の最大相関は、履歴バッファ746e内の最終ピッチ期間t’ 758aを示す。例えば、最終ピッチ期間758aは、パケットまたはフレームの最後まで細かいピッチ推定値からのサンプルを含みうる。
図7Eは、損失パケット748f〜gに対して最終ピッチ期間758b〜cを使用すること、並びに、ゼロ入力応答752eを最終ピッチ期間760a〜bからのサンプルと「テール」重複加算することを例証する。特に、図7Eは、履歴バッファ746f〜g、細かいピッチ推定値によって示される最終ピッチ期間758b〜c、最終ピッチ期間760a〜bの多数のサンプルまたは複写、ゼロ入力応答752e、損失パケット748f〜g、および、最終ピッチ期間762aの多数のサンプルまたは複写と重複加算されたゼロ入力応答サンプルを例証する。電子デバイス102は、最終ピッチ期間760aの複写でありうる最終ピッチ期間758bからのサンプルを使用しうる。最終ピッチ期間サンプル760aは、損失パケット748fの代わりに置換または使用されうる。例えば、最終ピッチ期間サンプル760aは、ゼロ入力応答サンプル752eに重複加算されうる。これは、多数の重複加算されたサンプル762aと、重複加算されていない最終ピッチ期間サンプル760bの残りの部分とをもたらす。
図7Fは、隠蔽または再構築されたパケットまたはフレーム766を例証する。特に、図7Fは、履歴バッファ746h、最終ピッチ期間758d、多数の重複加算されたゼロ入力応答および最終ピッチ期間サンプル762b、重複加算されていない最終ピッチ期間サンプル760cの残りの部分、反復最終ピッチ期間764f、および、隠蔽または再構築されたパケット(または、例えば、フレーム)766を例証する。損失パケット748の一部が満たされない場合、電子デバイス102は、損失パケット748が完全に満たされるまで、反復最終ピッチ期間764fを挿入しうる。これらの動作は、隠蔽パケット766(または、例えば、フレーム)に帰着しうる。細かいピッチ推定値または最終ピッチ期間は、時々、本明細書において、損失パケット内に均等に納まっているように例証されるが、これが必ずしも全ての構成またはインスタンスにおけるケースとなりうるわけではないことに注意されたい。例えば、最終ピッチ期間は、損失パケット(または、例えば、フレーム)間で(あるいは、損失パケットと正確に受信されたパケットとの間で)重複しうる。さらに、1つの構成において、細かいピッチ推定値または最終ピッチ期間は、フェードアウト/イン・アプローチを使用し、隣接および/または重複ピッチ期間の間の不連続性を減らしうる。
図8は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するためのいくつかのモジュールのうちの1つの構成を例証するブロック図である。より具体的に、図8は、正確に受信および/または復号されたパケットの次に損失または紛失パケットが続く場合(例えば、PLCケースI)に使用されうるモジュールの1つの構成を例証する。特に、図8は、合成フィルタバンク(便宜上図8では「SFB」と示される)モジュール810、粗い推定モジュール868、第1の反復期間モジュール870、サブ帯域バッファ更新モジュール872、精緻化モジュール874、第2の反復ピッチ期間モジュール878、重複加算モジュール880、および、履歴バッファ更新モジュール882を例証する。図8に例証されるモジュールは、ハードウェア、ソフトウェア、または、両方の組み合わせとして実施されうる。
正確に復号されたパケットの次に、検出された損失または紛失パケットが続く場合(例えば、PLCケースI)、電子デバイス102は、ゼロ入力886を合成フィルタバンクモジュール810に提供しうる。例えば、ゼロ入力886は、多数のゼロサンプルを備えうる。合成フィルタバンク810は、このゼロ入力886を使用して、ゼロ入力応答サンプル888を生成しうる。ゼロ入力応答サンプル888は、損失パケットまたはフレームのうちのいくつかまたは全てを占有する多数のゼロ入力応答サンプル888を備えうる。1つの構成において、合成フィルタバンク810へのゼロ入力の数は、パケットまたはフレーム内のサンプルの数よりも少なくなりうる。例えば、24個のゼロが合成フィルタバンク810に挿入されうる。例えば、ゼロ入力886は、行列X(k、m)を備えうる。ここで、1≦k≦8並びに1≦m≦3について、X(k、m)=0である。このように、合成フィルタバンク810は、24個のゼロ入力応答サンプル888を出力しうる。
電子デバイス102は、多数のサブ帯域サンプル890を使用し、粗い推定868を実行しうる。例えば、サブ帯域サンプル890は、サブ帯域バッファに記憶される合成フィルタバンク810を通過していないサブ帯域(例えば、デシメートされたサブ帯域)サンプルでありうる。サブ帯域サンプルは、加えて、または、あるいは、サブ帯域バッファからの多数の「第1の」サブ帯域サンプルでありうる。すなわち、サブ帯域サンプルは、第1のサブ帯域バッファからのサンプルでありうる。粗い推定モジュール868は、このサブ帯域サンプル890を使用し、粗いピッチ推定値を決定しうる。例えば、粗い推定モジュール868は、サブ帯域バッファからの多数のサブ帯域サンプル890にわたって自己相関を計算しうる。最大自己相関値は、粗いピッチ推定値を示しうる。粗いピッチ推定値は、最大自己相関の時間インスタントまたはサンプルを示しうる。この方法で粗いピッチ推定値を取得することは、例えば、最終ピッチ期間を決定するのに必要な計算の数を減らしうる。
精緻化モジュール874は、ゼロ入力応答サンプル888、粗い推定モジュール868からの粗い推定値、多数の履歴バッファサンプル876を使用して、細かいピッチ推定値および/または最終ピッチ期間(例えば、履歴バッファ内の)を決定しうる。例えば、精緻化モジュール874は、粗いピッチ推定値(例えば、多数の「候補」についての)の周りの範囲においてゼロ入力応答サンプル888と履歴バッファサンプル876との(正規化)相関を計算しうる。これは、「精緻化」とみなされ、履歴バッファにおいて細かいピッチ推定値を提供しうる。細かいピッチ推定値は、計算された範囲におけるゼロ入力応答サンプル888と履歴バッファサンプル876との最大相関に対応しうる。最終ピッチ期間は、細かいピッチ推定値に基づいて選択されうる。最終ピッチ期間は、履歴バッファからの多数のサンプルを備えうる。例えば、最終ピッチ期間は、履歴バッファ内のフレームまたはパケットの終わりまで細かいピッチ推定値からの履歴バッファサンプル876の各々を含みうる。このように、最終ピッチ期間は、細かいピッチ推定値に基づいて選択されうる。
第2の反復ピッチ期間モジュール878は、損失パケットまたはフレームにおいて最終ピッチ期間を反復しうる。例えば、第2の反復ピッチ期間モジュール878は、履歴バッファ内の最終ピッチ期間からのサンプルを損失パケットまたはフレームに複写または配置しうる。例えば、第2の反復ピッチ期間モジュール878は、損失サンプル隠蔽、並びに、履歴バッファ更新のために履歴バッファ内のサンプルを反復しうる。最終ピッチ期間は、損失パケットまたはフレームを満たすために必要に応じて反復されうる。重複加算モジュール880は、多数の最終ピッチ期間サンプルを、損失パケットまたはフレーム内のゼロ入力応答サンプルと重複加算しうる。これは、隠蔽パケットまたはフレーム884を生成しうる。履歴バッファは、次に、履歴バッファ更新モジュール882によって更新されうる。第1の反復ピッチ期間モジュール870は、前のフレームに対応するサブ帯域バッファ内のサブ帯域サンプルを反復しうる。このように、サブ帯域バッファは、サブ帯域バッファ更新モジュール872によって更新されうる。例えば、第1の反復ピッチ期間モジュール870は、第1のサブ帯域のためにのみ、サブ帯域バッファ内のサブ帯域サンプルを反復しうる。
図9は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法900の別の構成を例証するフロー図である。より具体的に、図9は、損失パケットに続いて、さらなる損失パケットが検出される場合(例えば、PLCケースII)を例証する。電子デバイス102は、さらなる損失パケットを検出902しうる。例えば、パケット損失検出器106は、前の損失パケットに続いて後続の損失パケットを検出する。電子デバイス102は、さらなる損失パケットのために最終ピッチ期間からの出力サンプルを使用904しうる。例えば、電子デバイス102は、最終ピッチ期間(例えば、第1の損失パケットに対して決定された)からの出力サンプルをさらなる損失パケットまたはフレームに複写または配置しうる。反復最終ピッチ期間、または、最終ピッチ期間からのサンプルは、損失パケットまたはフレームを満たすために必要に応じて使用されうる。電子デバイス102は、さらなる損失パケットに対して使用される最終ピッチ期間からの出力サンプルをフェード906しうる。例えば、電子デバイス102は、損失パケットまたはフレームに使用された最終ピッチ期間からのサンプルのボリュームまたは大きさを減らしうる。
図10A〜Cは、さらなる損失パケットに対して損失パケット隠蔽または再構築を例証する図である。図10A〜10Cは、例えば、PLCケースIIを例証する。
図10Aは、さらなる損失パケットの検出を例証する図である。例えば、パケット損失検出器106は、さらなる損失パケット1098を検出1050しうる。例えば、電子デバイス102は、前の損失パケットに対して隠蔽または再構築されたパケットまたはフレーム1092aを生成している。隠蔽または再構築されたパケットまたはフレーム1092aに続いて、電子デバイス102は、さらなる損失パケット1098を検出1050しうる。
図10Bは、最終ピッチ期間からのサンプルを使用して、さらなる損失パケットまたはフレーム1098を隠蔽または再構築することを例証する図である。例えば、電子デバイス102は、履歴バッファ内の最終ピッチ期間1058(これは、隠蔽パケットまたはフレーム1092bを生成するために使用された可能性がある)を前に決定している。電子デバイス102は、さらなる損失パケットに対して最終ピッチ期間1058からのサンプルを使用1094しうる。例えば、電子デバイス102は、最終ピッチ期間1058からのサンプルをさらなる損失パケット1098に複写または配置しうる。反復最終ピッチ期間1058、または、最終ピッチ期間1058からの反復サンプルは、さらなる損失パケットまたはフレーム1098を満たすために、必要に応じて、さらなる損失パケットまたはフレーム1098に複写または配置されうる。
図10Cは、隠蔽パケットまたはフレーム1092dにおいてサンプルをフェード1096することを例証する図である。電子デバイスは、隠蔽パケットまたはフレーム1092dのサンプルをフェード1096しうる。本明細書で使用される場合、「フェードする(fade)」という用語は、一連のサンプルのボリュームまたは大きさを漸進的に減らすことを表す。1つの構成において、例えば、電子デバイス102は、前の隠蔽パケットまたはフレーム1092cに続く後続の隠蔽パケットまたはフレーム1092d内のサンプルをフェード1096しうる。他の構成において、フェード1096することは、第1の隠蔽パケットまたはフレーム1092c、または、後の隠蔽パケットまたはフレーム1092(例えば、第3の隠蔽パケットまたはフレームなど)で開始されうる。
図11は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するために使用されうるいくつかのモジュールの1つの構成を例証するブロック図である。例えば、図11は、前の損失パケットの次にさらなる損失パケットが続く場合(例えば、PLCケースII)に使用されうるモジュールを例証する。図11に例証されるモジュールは、ハードウェア、ソフトウェア、または、両方の組み合わせで実施されうる。特に、図11は、反復ピッチ期間モジュール1103、サブ帯域バッファ更新モジュール(便宜上、図11では「Sバッファ更新」と例証される)1105、フェードモジュール1107、および、履歴バッファ更新モジュール1109を例証する。
反復ピッチ期間モジュール1103は、第1の損失パケット1101のために決定される最終ピッチ期間またはピッチ分析を使用しうる。例えば、反復ピッチ期間モジュール1103は、最終ピッチ期間からのサンプルをさらなる損失パケットまたはフレームに反復(例えば、複写または配置)しうる。最終ピッチ期間からの反復ピッチ期間またはサンプルは、さらなる損失パケットまたはフレームを満たすために、必要に応じて、さらなる損失パケットまたはフレームに複写または配置されうる。サブ帯域バッファは、Sバッファ更新モジュール1105によって更新されうる。例えば、前のパケットまたはフレームサンプルに対応するサブ帯域バッファ内のサブ帯域サンプルが反復されうる。これは、上に記述されたように、第1のサブ帯域に対して行われうる。
フェードアウトモジュール1107は、さらなる損失パケットまたはフレーム内の最終ピッチ期間サンプルのボリュームまたは大きさを漸進的に減らすために使用されうる。これは、隠蔽または再構築パケットまたはフレーム1184を生成しうる。履歴バッファは、履歴バッファ更新モジュール1109によって更新されうる(例えば、反復最終ピッチ期間サンプルを用いて)。1つの構成において、このフェードアウトは、例えば、ボリュームまたは大きさが0に到達するまで更にさらなる損失パケットまたはフレームに継続しうる。フェードアウトは、結果として得られるオーディ信号における奇妙な(strange)アーティファクトの生成を回避するために使用されうる。例えば、パケット/フレーム隠蔽の期間が長くなるにつれ、紛失パケットまたはフレームを隠蔽するために使用された合成信号が実信号から分岐しうる。このように、フェードアウトまたは減衰は、奇妙に鳴るアーティファクトの生成を回避するために使用されうる(例えば、独立して自然に鳴る合成信号でさえ、長時間ホールドアウトされると奇妙に鳴りうるため)。1つの構成において、第1の隠蔽パケットまたはフレームは、フェードアウトまたは減衰を使用しない可能性がある。しかしながら、合成信号の線形衰退は、第2の隠蔽パケットまたはフレームの始まりで開始しうる(例えば、フレームに対して20%の減衰レートで)。この例示的な構成において、合成信号は、いくつかの隠蔽パケットまたはフレームの後にゼロに減衰しうる。
図12は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するための方法1200の1つの構成を例証するフロー図である。より詳細には、図12は、正確に受信および/または復号されたパケットが損失パケットまたはフレームの次に続く場合(例えば、PLCケースIII)を例証する。例えば、図12に例証される方法1200は、隠蔽または再構築されたパケットまたはフレームに続いて正確に復号されたパケットまたはフレームに対して使用されうる。
電子デバイス102は、正確に復号されたパケットまたはフレームを検出1202しうる。例えば、電子デバイス102は、損失パケットを示すパケット損失検出器106を用いずにパケットまたはフレームを受信および/または復号しうる。電子デバイス102は、望ましくないサンプル範囲に対して最終ピッチ期間からのサンプルを使用1204しうる。例えば、前にゼロが合成フィルタバンク110に入力されているため、合成フィルタバンク110は、実行可能または「良い」データが入力されるとゼロ状態応答を出しうる。これは、正確に復号されたパケットまたはフレームの最初に、多数の望ましくないサンプルまたは望ましくないサンプルの範囲を引き起こしうる。このように、電子デバイス102は、最終ピッチ期間からのサンプルを望ましくないサンプル範囲に使用(例えば、複写または配置)しうる。例えば、最終ピッチ期間(例えば、第1の損失パケットに対して前に決定されている)からの多数のサンプルは、正確に復号されたパケットまたはフレームにおける望ましくないサンプルの範囲内のサンプルと置換されうる。電子デバイス102は、最終ピッチ期間、または、最終ピッチ期間からのサンプルを多数の遷移サンプルと重複加算1206しうる。例えば、遷移サンプルは、望ましくないサンプルと望ましい復号サンプルとの多数のサンプルでありうる。
図13A〜Bは、正確に復号されたパケットまたはフレームが次に損失パケットまたはフレームが続く場合を例証する図である。例えば、図13A〜Bは、PLCケースIIIを例証する。
図13Aは、正確に復号されたパケットまたはフレーム1311aのゼロ状態応答を例証する図である。例えば、電子デバイス102は、1または複数の損失パケットまたはフレームに対して1または複数の隠蔽または再構築パケットまたはフレーム1392aを生成している。上に記述されたように、電子デバイス102は、ゼロを合成フィルタバンク110に入力し、損失パケットまたはフレームのためのゼロ入力応答を生成しうる。結果として、実行可能または良いパケットまたはフレームが復号されると、合成フィルタバンク110は、正確に復号されたパケットまたはフレーム1311aのゼロ状態応答を出しうる。このように、正確に復号されたパケットまたはフレームは、多数の望ましくないサンプル1313a、多数の遷移サンプル1315a、多数の望ましいまたは良いサンプル1317aを含みうる。ゼロ状態応答の最初は、減らされた(半分の)情報で構築されうる。このように、この波形は歪んで見え、復号器または隠蔽出力に対して使用されない可能性がる。これらのサンプルは、望ましくないサンプル1313aでありうる。合成フィルタバンク110がサブ帯域サンプルをさらに得ると、フィルタメモリは、正確または望ましい出力へと徐々に更新されうる。すなわち、合成フィルタバンク110は、それが正確または望ましいサンプル1317aの出力に近づくにつれ、遷移サンプル1315aを出力する。合成フィルタバンク110は、最終的に、正確な出力または望ましいサンプル1317aを出力する。このように、経験的に、合成フィルタメモリの長さに依存することによって、および、波形再構築を観察することによって、3つの領域が観察および/または決定されうる。
図13Bは、正確に復号されたパケットまたはフレーム1311bのゼロ状態応答に対して最終ピッチ期間1358からのサンプルを使用することを例証する図である。電子デバイス102は、正確に復号されたパケットまたはフレーム1311bのゼロ状態応答に対して最終ピッチ期間1358サンプルを使用1321しうる。電子デバイス102は、例えば、隠蔽パケットまたはフレーム1392bを生成するために、第1の損失パケットに対する最終ピッチ期間1358を前に決定している可能性がある。1つの構成において、最終ピッチ期間1358からの多数のサンプルは、多数の望ましくないサンプル1313aと置換する(または、その代わりに配置される)ために使用1321されうる。望ましくないサンプル1313aは、例えば、正確に復号されたパケットまたはフレーム1311bのゼロ状態応答の最初に存在しうる。電子デバイス102は、重複加算サンプル1319を生成するために、遷移サンプル1315aと多数の最終ピッチ期間1358サンプルを重複加算1323しうる。これらの重複加算サンプル1319は、遷移範囲内でありうる。望ましいまたは良いサンプル1317bは、正確に復号されたパケットまたはフレーム1311bの残りを満たしうる。
図14は、フレーム重複1425の例を例証する図である。図14に例証されるフレーム重複1425の例は、図13に関して示される。しかしながら、フレーム重複1425は、さらに、図10に関しても起こりうる。例えば、反復ピッチ期間は、パケットまたはフレーム境界を重複1425しうる。これが発生した場合、前の(例えば、隠蔽または再構築された)パケットまたはフレーム1492内の反復ピッチ期間1427からの残りのサンプルは、次に続くパケットまたはフレーム(例えば、ゼロ状態応答パケット/フレーム1411またはさらなる損失パケット/フレーム1098)の最初に含まれうる。図14に示される例において、隠蔽パケットまたはフレーム1492からの反復ピッチ期間1427に残っているいくつかのサンプルは、正確に復号されたパケットまたはフレーム1441のゼロ状態応答の「望ましくないサンプル」1413部の中に挿入されうる。これら残りのサンプルに続いて、図13に関して上に記述されたように、さらなる反復ピッチ期間サンプルが挿入され、遷移サンプル1415と重複加算されうる。この例において、望ましいまたは良いサンプル1417は、正確に復号されたパケットまたはフレーム1411のゼロ状態応答の残りを満たしうる。
図15は、サブ帯域コード化(SBC)復号器において損失パケットを隠蔽または再構築するために使用されうるいくつかのモジュールのうちの1つの構成を例証するブロック図である。例えば、図15は、損失パケットまたはフレームに続いて、実行可能または良いパケットが受信または復号される場合(例えば、PLCケースIII)を例証する。損失パケットまたはフレームは、電子デバイス102によって隠蔽または再構築されうる。特に、図15は、逆量子化器1508(便宜上、図15では「IQ」と例証される)、サブ帯域バッファ更新モジュール1531(便宜上、図15では「Sバッファ更新」と例証される)、合成フィルタバンク1510(便宜上、図15では「SBS」と例証される)、重複加算モジュール1535、反復ピッチ期間モジュール1539、および、履歴バッファ更新モジュール1541を例証する。
逆量子化器1508は、パースされたビットストリーム1529を使用してサブ帯域サンプルを生成しうる。サブ帯域サンプルは、サブ帯域バッファ更新モジュール1531により使用され、サブ帯域バッファを更新しうる。サブ帯域サンプルは、さらに、合成フィルタバンク1510に入力されうる。1つの構成において、120個のサブ帯域サンプルが、行列の形態X(k、m)で合成フィルタバンク1510に入力される。ここで、1≦k≦8および1≦m≦15である。上に記述されたように、ゼロは、第1の損失パケットが検出され場合に、合成フィルタバンク1510に入力されうる。結果として、実行可能または「良い」サブ帯域サンプルが合成フィルタバンク1510に入力された場合、合成フィルタバンク1510は、ゼロ状態応答1533を生成しうる。上に記述されたように、ゼロ状態応答1533の多数の初期サンプルは、望ましくないサンプルであり、その次に多数の遷移サンプルが続き、さらに次には多数の望ましいまたは良いサンプルが続く。
反復ピッチ期間モジュール1539は、ゼロ状態応答1533パケットまたはフレームのために第1の損失パケット1501に対して決定される最終ピッチ期間からの前のピッチ分析またはサンプルを使用しうる。例えば、電子デバイス102は、望ましくないサンプルを最終ピッチ期間1501からのサンプルと置換しうる。電子デバイス102は、さらに、重複加算モジュール1535を使用し、多数の最終ピッチ期間サンプル1501を多数の遷移サンプルと重複加算しうる。これは、隠蔽パケットまたはフレーム1537を生成しうる。この場合、隠蔽パケットまたはフレーム1537は、損失パケットまたはフレームではない可能性があるが、実行可能パケットまたはフレームの隠蔽されたゼロ状態応答でありうる。例えば、ゼロ状態応答1533内の望ましくないサンプルおよび/または遷移サンプルは、隠蔽または再構築されうる。結果として得られる隠蔽パケットまたはフレーム1537は、履歴バッファを更新するために、履歴バッファ更新モジュール1541によって使用されうる。
図16は、電子デバイス1602において利用されうる様々なコンポーネントを例証する。例証されるコンポーネントは、同じ物理ストラクチャ内、または、離れたハウジングまたはストラクチャに配置されうる。図1に関して論述された電子デバイス102は、電子デバイス1602に類似して構成されうる。電子デバイス1602は、プロセッサ1649を含む。プロセッサ1649は、汎用のシングルチップまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイ等でありうる。プロセッサ1649は、中央処理装置(CPU)と呼ばれうる。図16の電子デバイス1602には単一のプロセッサ1649だけが示されるが、別の構成では、プロセッサの組み合わせ(例えば、ARMおよびDSP)が使用されうる。
電子デバイス1602は、さらに、プロセッサ1649と電気的に通信状態にあるメモリ1643を含む。すなわち、プロセッサ1649は、メモリ1643から情報を読み取り、および/または、メモリ1643に情報を書き込むことができる。メモリ1643は、電子情報を記憶することができる任意の電子コンポーネントでありうる。メモリ1643は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMのフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなど、および、それらの組み合わせでありうる。
データ1647aおよび命令1645aは、メモリ1643に記憶されうる。命令1645aは、1または複数のプログラム、ルーティン、サブルーティン、機能、手順、コードなどを含みうる。命令1645aは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令1645aは、上に記述された方法400、600、900、1200を実施するために、プロセッサ1649によって実行可能である。命令1645aを実行することは、メモリ1643に記憶されたデータ1647aの使用を含みうる。図16は、プロセッサ1649にロードされているいくつかの命令1645bおよびデータ1647bを示す。
電子デバイス1602は、さらに、他の電子デバイスと通信するために1または複数の通信インターフェース1651を含みうる。通信インターフェース1651は、有線通信テクノロジ、無線通信テクノロジ、あるいは、両方に基づきうる。通信インターフェース1651の異なるタイプの例は、シリアルポート、パラレルポート、USB(Universal Serial Bus)、イーサネット(登録商標)アダプタ、IEEE 1394バスインターフェース、小コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、ブルートゥース無線通信アダプタ、その他を含みうる。
電子デバイス1602は、さらに、1または複数の入力デバイス1653および1または複数の出力デバイス1655を含みうる。異なる種類の入力デバイス1653の例は、キーボード、マウス、マイクロフォン、リモート制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペン、その他を含む。出力デバイス1655の異なる種類の例は、スピーカ、プリンタ、その他を含む。電子デバイス1602に典型的に含まれうる出力デバイスの1つの特定のタイプは、ディスプレイデバイス1657である。本明細書に開示される構成で使用されるディスプレイデバイス1657は、ブラウン管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンスなどの任意の適切な画像プロジェクション技術を利用しうる。ディスプレイコントローラ1659は、さらに、メモリ1643に記憶されたデータを、ディスプレイデバイス1657上に表示されるテキスト、グラフィックス、および/または、動画に(適宜)変換するために提供されうる。
電子デバイス1602の様々なコンポーネントは、電力バス、制御信号バス、状態信号バス、データバスなどを含みうる1または複数のバスによって互いに結合されうる。簡略化のために、様々なバスが、バスシステム1661として図16に例証される。図16は、電子デバイス1602の1つの可能な構成しか例証しないことに注意されたい。様々な他のアーキテクチャおよびコンポーネントが利用されうる。
図17は、無線通信デバイス1702に含まれうる特定のコンポーネントを例証する。前に記述された無線通信デバイス202、222、302は、図17に示される無線通信デバイス1702と類似して構成されうる。無線通信デバイス1702は、プロセッサ1749を含む。プロセッサ1749は、汎用のシングルチップまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ1749は、中央処理装置(CPU)と呼ばれうる。単一のプロセッサ1749しか、図17の無線通信デバイス1702には示されないが、別の構成では、プロセッサの組み合わせ(例えば、ARMとDSP)が使用されうる。
無線通信デバイス1702は、さらに、プロセッサ1749と電気的に通信状態にあるメモリ1743を含みうる(すなわち、プロセッサ1749は、メモリ1743から情報を読み取ること、および/または、メモリ1743に情報を書き込むことが可能である)。メモリ1743は、電子情報を記憶することができる任意の電子コンポーネントでありうる。メモリ1743は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMのフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、その他、および、それらの組み合わせでありうる。
データ1747aおよび命令1745aは、メモリ1743に記憶されうる。命令1745aは、1または複数のプログラム、ルーティン、サブルーティン、機能、手順などを含みうる。命令1745aは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令1745aは、上に記述された方法400、600、900、1200を実施するために、プロセッサ1749によって実行可能でありうる。命令1745aを実行することは、メモリ1743に記憶されるデータ1747aの使用を含みうる。図17は、プロセッサ1749にロードされているいくつかの命令1745bおよびデータ1747bを示す。
無線通信デバイス1702は、さらに、無線通信デバイス1702とリモートロケーション(例えば、基地局または他の無線通信デバイス)との間での信号の送受信を可能にするための送信機1767および受信機1769を含みうる。送信機1767および受信機1769は、集合的に、トランシーバ1765と呼ばれうる。アンテナ1763は、トランシーバ1765に電気的に結合されうる。無線通信デバイス1702は、さらに、複数の送信機、複数の受信機、複数のトランシーバ、および/または、複数のアンテナを含みうる(示されない)。
無線通信デバイス1702の様々なコンポーネントは、電力バス、制御信号バス、状態信号バス、データバスなどを含みうる1または複数のバスによって互いに結合されうる。簡潔さのために、様々なバスが、バスシステム1761として図17に例証される。
図18は、基地局1828に含まれうる特定のコンポーネントを例証する。前に論述された基地局328は、図18に示されうる基地局1828と類似に構成されうる。基地局1828は、プロセッサ1885を含む。プロセッサ1885は、汎用のシングルチップまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどでありうる。プロセッサ1885は、中央処理装置(CPU)と呼ばれうる。単一のプロセッサ1885のみが、図18の基地局1828に示されるが、別の構成では、プロセッサの組み合わせ(例えば、ARMとDSP)が使用されうる。
基地局1828は、さらに、プロセッサ1885と電気的に通信状態にあるメモリ1871を含みうる(すなわち、プロセッサ1885は、メモリ1871から情報を読み取ること、および/または、メモリ1871に情報を書き込むことが可能である)。メモリ1871は、電子情報を記憶することができる任意の電子コンポーネントでありうる。メモリ1871は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMのフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなど、および、それらの組み合わせでありうる。
データ1873aおよび命令1875aは、メモリ1871に記憶されうる。命令1875aは、1または複数のプログラム、ルーティン、サブルーティン、機能、手順などを含みうる。命令1875aは、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含みうる。命令1875aは、プロセッサ1885によって実行可能でありうる。命令1875aを実行することは、メモリ1871に記憶されるデータ1873aの使用を含みうる。図18は、プロセッサ1885にロードされているいくつかの命令1875bおよびデータ1873bを示す。
基地局1828は、さらに、基地局1828とリモートロケーション(例えば、無線通信デバイス)との間での信号の送受信を可能にするための送信機1881および受信機1883を含みうる。送信機1881および受信機1883は、集合的に、トランシーバ1879と呼ばれうる。アンテナ1877は、トランシーバ1879に電気的に結合されうる。基地局1828は、さらに、複数の送信機、複数の受信機、複数のトランシーバ、および/または、複数のアンテナを含みうる(示されない)。
基地局1828の様々なコンポーネントは、電力バス、制御信号バス、状態信号バス、データバスなどを含みうる1または複数のバスによって互いに結合されうる。簡潔さのために、様々なバスが、バスシステム1887として図18に例証される。
上の記述において、参照番号は、時々、様々な用語に関連して使用されている。用語が参照番号に関して使用される場合、これは、複数の図のうちの1または複数に示される特定のエレメントを指すことが企図されうる。用語が参照番号なく使用される場合、これは、特定の図に限定されることなく、一般的にその用語を指すことが企図されうる。
「決定すること(determining)」という用語は、広範囲の動作を包含し、それにより、「決定すること」は、計算すること(calculating)、算出すること(computing)、処理すること(processing)、導き出すこと(deriving)、探索すること(investigating)、ルックアップすること(looking up)(例えば、表、データベースまたは別のデータ構造をルックアップすること)、確認すること(ascertaining)などを含みうる。さらに、「決定すること」は、受信すること(receiving)(例えば、情報を受信すること)、アクセスすること(accessing)(例えば、メモリのデータにアクセスすること)などを含むことができる。さらに、「決定すること」は、解決すること(resolving)、選択すること(selecting)、選ぶこと(choosing)、確立すること(establishing)などを含むことができる。
「〜に基づいて(based on)」という表現は、そうでないと明確に示されない限り、「〜だけに基づいて(based only on)」を意味しない。換言すると、「〜に基づいて」という表現は、「〜だけに基づいて」および「少なくとも〜に基づいて(based at least on)」の両方を表す。
本明細書に記述された機能は、プロセッサ可読またはコンピュータ可読媒体上の1または複数の命令として記憶されうる。「コンピュータ可読媒体(computer-readable medium)」という用語は、コンピュータまたはプロセッサによってアクセス可能な任意の利用可能な媒体を指す。それに制限されない例として、そのような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD−ROMまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、コンピュータによってアクセスされることができ、命令やデータ構造の形で所望のプログラムコードを記憶するために使用される任意の別媒体を備えうる。ディスク(disk)とディスク(disc)は、本明細書で使用される場合、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、ブルーレイ(登録商標)ディスクを含む。ディスク(disk)は通常磁気作用によってデータを再生し、ディスク(disc)はレーザーで光学的にデータを再生する。コンピュータ可読媒体が、有形、かつ、非一時的であることに注意されたい。「コンピュータプログラムプロダクト(computer-program product)」という用語は、計算デバイスまたはプロセッサによって実行、処理、または計算されうるコードまたは命令(例えば、「プログラム」)と結合して計算デバイスまたはプロセッサを指す。本明細書において使用される場合、「コード(code)」という用語は、計算デバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指しうる。
ソフトウェアまたは命令は、さらに、送信媒体を通して送信されうる。例えば、同軸ケーブル、光ファイバーケーブル、撚線対、デジタル加入者回線(DSL)、または赤外線、無線、マイクロ波などの無線テクノロジを使用してウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信されると、この同軸ケーブル、光ファイバーケーブル、撚線対、DSL、または赤外線、無線、マイクロ波などの無線テクノロジは送信媒体の定義に含まれる。
本明細書に開示された方法は、記述された方法を達成するための1または複数のステップあるいは動作を備える。方法のステップおよび/または動作は、特許請求の範囲を逸脱することなく互いに交換可能である。換言すると、ステップまたは動作の特定の順序が、記述されている方法の適切な動作のために要求されていない限り、この特定のステップおよび/または動作の順序および/または用途は、特許請求の範囲を逸脱することなく変更されうる。
特許請求の範囲が、上に例証された通りの構成およびコンポーネントに限定されないことは理解されるべきである。様々な変更、変化、および変形が、特許請求の範囲を逸脱することなく、上に記述されたシステム、方法および装置の配列、動作、および詳細に行われる。

Claims (36)

  1. サブ帯域コード化(SBC)復号器において損失パケットを再構築するための電子デバイスであって、
    プロセッサと、
    前記プロセッサと電気的に通信するメモリと、
    前記メモリに記憶された命令と
    を備え、前記命令は、
    損失パケットを検出し、
    合成フィルタバンクのゼロ入力応答を取得し、
    粗いピッチ推定値を取得し、
    前記ゼロ入力応答および前記粗いピッチ推定値に基づいて細かいピッチ推定値を取得し、
    前記細かいピッチ推定値に基づいて最終ピッチ期間を選択し、
    前記損失パケットに対して前記最終ピッチ期間からのサンプルを使用する
    ように実行可能である、電子デバイス。
  2. 前記粗いピッチ推定値がサブ帯域サンプルの自己相関を計算することによって取得される、請求項1に記載の電子デバイス。
  3. 前記サブ帯域サンプルは、合成されていない、請求項2に記載の電子デバイス。
  4. 前記命令は、さらに、前記最終ピッチ期間からの前記サンプルの少なくともいくつかを前記ゼロ入力応答と重複加算するように実行可能である、請求項1に記載の電子デバイス。
  5. 前記細かいピッチ推定値は、前記ゼロ入力応答と前に復号されたサンプルとの相関を計算することによって取得される、請求項1に記載の電子デバイス。
  6. 前記命令は、さらに、
    さらなる損失パケットを検出し、
    前記さらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用する
    ように実行可能である、請求項1に記載の電子デバイス。
  7. 前記命令は、さらに、前記最終ピッチ期間からの前記サンプルをフェードするように実行可能である、請求項6に記載の電子デバイス。
  8. 前記命令は、さらに、複数のさらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用するように実行可能である、請求項6に記載の電子デバイス。
  9. 前記命令は、さらに、
    正確に復号されたパケットまたはフレームを検出し、
    望ましくないサンプルの範囲に対して前記最終ピッチ期間からのサンプルを使用し、
    前記最終ピッチ期間からのサンプルを遷移サンプルと重複加算する
    ように実行可能である、請求項1に記載の電子デバイス。
  10. 前記損失パケットに対して前記最終ピッチ期間からの前記サンプルを使用することは、前記サンプルを前記損失パケットに複写することを備える、請求項1に記載の電子デバイス。
  11. 前記SBC復号器は、広帯域スピーチ信号を復号するために使用される、請求項1に記載の電子デバイス。
  12. 前記電子デバイスは、無線通信デバイスである、請求項1に記載の電子デバイス。
  13. 前記無線通信デバイスはブルートゥースデバイスである、請求項12に記載の電子デバイス。
  14. 前記SBC復号器によって、実行可能なパケットを復号することに比べて、少しの追加の遅延も前記損失パケットを再構築するのに使用されない、請求項1に記載の電子デバイス。
  15. サブ帯域コード化(SBC)復号器において損失パケットを再構築するための方法であって、
    損失パケットを検出することと、
    電子デバイス上で、合成フィルタバンクのゼロ入力応答を取得することと、
    粗いピッチ推定値を取得することと、
    前記電子デバイス上で、前記ゼロ入力応答および前記粗いピッチ推定値に基づいて細かいピッチ推定値を取得することと、
    前記細かいピッチ推定値に基づいて最終ピッチ期間を選択することと、
    前記損失パケットに対して前記最終ピッチ期間からのサンプルを使用することと
    を備える方法。
  16. 前記粗いピッチ推定値がサブ帯域サンプルの自己相関を計算することによって取得される、請求項15に記載の方法。
  17. 前記サブ帯域サンプルは、合成されていない、請求項16に記載の方法。
  18. 前記最終ピッチ期間からの前記サンプルの少なくともいくつかを前記ゼロ入力応答と重複加算することをさらに備える、請求項15に記載の方法。
  19. 前記細かいピッチ推定値は、前記ゼロ入力応答と前に復号されたサンプルとの相関を計算することによって取得される、請求項15に記載の方法。
  20. さらなる損失パケットを検出することと、
    前記さらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用することと
    をさらに備える、請求項15に記載の方法。
  21. 前記最終ピッチ期間からの前記サンプルをフェードすることをさらに備える、請求項20に記載の方法。
  22. 複数のさらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用することをさらに備える、請求項20に記載の方法。
  23. 正確に復号されたパケットまたはフレームを検出することと、
    望ましくないサンプルの範囲に対して前記最終ピッチ期間からのサンプルを使用することと、
    前記最終ピッチ期間からのサンプルを遷移サンプルと重複加算することと
    をさらに備える、請求項15に記載の方法。
  24. 前記損失パケットに対して前記最終ピッチ期間からの前記サンプルを使用することは、前記サンプルを前記損失パケットに複写することを備える、請求項15に記載の方法。
  25. 前記SBC復号器は、広帯域スピーチ信号を復号するために使用される、請求項15に記載の方法。
  26. 前記電子デバイスは、無線通信デバイスである、請求項15に記載の方法。
  27. 前記無線通信デバイスはブルートゥースデバイスである、請求項26に記載の方法。
  28. 前記SBC復号器によって、実行可能なパケットを復号することに比べて、少しの追加の遅延も、前記損失パケットを再構築するのに使用されない、請求項15に記載の方法。
  29. サブ帯域コード化(SBC)復号器において損失パケットを再構築するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、命令を格納した非一時的で有形なコンピュータ可読媒体を備え、前記命令は、
    電子デバイスに対して、損失パケットを検出させるためのコードと、
    前記電子デバイスに対して、合成フィルタバンクのゼロ入力応答を取得させるためのコードと、
    前記電子デバイスに対して、粗いピッチ推定値を取得させるためのコードと、
    前記電子デバイスに対して、前記ゼロ入力応答および前記粗いピッチ推定値に基づいて細かいピッチ推定値を取得させるためのコードと、
    前記電子デバイスに対して、前記細かいピッチ推定値に基づいて最終ピッチ期間を選択させるためのコードと、
    前記電子デバイスに対して、前記損失パケットに対して前記最終ピッチ期間からのサンプルを使用させるためのコードと
    を備える、コンピュータプログラムプロダクト。
  30. 前記粗いピッチ推定値がサブ帯域サンプルの自己相関を計算することによって取得される、請求項29に記載のコンピュータプログラムプロダクト。
  31. 前記命令は、さらに、
    前記電子デバイスに対して、さらなる損失パケットを検出させるためのコードと、
    前記電子デバイスに対して、前記さらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用させるためのコードと、
    を備える、請求項29に記載のコンピュータプログラムプロダクト。
  32. 前記命令は、さらに、
    前記電子デバイスに対して、正確に復号されたパケットまたはフレームを検出させるためのコードと、
    前記電子デバイスに対して、望ましくないサンプルの範囲に対して前記最終ピッチ期間からのサンプルを使用させるためのコードと、
    前記電子デバイスに対して、前記最終ピッチ期間からのサンプルを遷移サンプルと重複加算させるためのコードと
    を備える、請求項29に記載のコンピュータプログラムプロダクト。
  33. サブ帯域コード化(SBC)復号器において損失パケットを再構築するための装置であって、
    損失パケットを検出するための手段と、
    合成フィルタバンクのゼロ入力応答を取得するための手段と、
    粗いピッチ推定値を取得するための手段と、
    前記ゼロ入力応答および前記粗いピッチ推定値に基づいて細かいピッチ推定値を取得するための手段と、
    前記細かいピッチ推定値に基づいて最終ピッチ期間を選択するための手段と、
    前記損失パケットに対して前記最終ピッチ期間からのサンプルを使用するための手段と
    を備える装置。
  34. 前記粗いピッチ推定値は、サブ帯域サンプルの自己相関を計算することによって取得される、請求項33に記載の装置。
  35. さらなる損失パケットを検出するための手段と、
    前記さらなる損失パケットに対して前記最終ピッチ期間からのサンプルを使用するための手段と、
    をさらに備える、請求項33に記載の装置。
  36. 正確に復号されたパケットまたはフレームを検出するための手段と、
    望ましくないサンプルの範囲に対して前記最終ピッチ期間からのサンプルを使用するための手段と、
    前記最終ピッチ期間からのサンプルを遷移サンプルと重複加算するための手段と
    をさらに備える、請求項33に記載の装置。
JP2012553002A 2010-02-11 2011-02-10 サブ帯域コード化復号器における損失パケットの隠蔽 Expired - Fee Related JP5479617B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US30356010P 2010-02-11 2010-02-11
US61/303,560 2010-02-11
US32422810P 2010-04-14 2010-04-14
US61/324,228 2010-04-14
US13/014,572 2011-01-26
US13/014,572 US20110196673A1 (en) 2010-02-11 2011-01-26 Concealing lost packets in a sub-band coding decoder
PCT/US2011/024383 WO2011100456A1 (en) 2010-02-11 2011-02-10 Concealing lost packets in a sub-band coding decoder

Publications (2)

Publication Number Publication Date
JP2013519920A true JP2013519920A (ja) 2013-05-30
JP5479617B2 JP5479617B2 (ja) 2014-04-23

Family

ID=44354398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012553002A Expired - Fee Related JP5479617B2 (ja) 2010-02-11 2011-02-10 サブ帯域コード化復号器における損失パケットの隠蔽

Country Status (7)

Country Link
US (1) US20110196673A1 (ja)
EP (1) EP2534655B1 (ja)
JP (1) JP5479617B2 (ja)
KR (1) KR101422379B1 (ja)
CN (1) CN102754150B (ja)
TW (1) TW201207839A (ja)
WO (1) WO2011100456A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
SG11201406493RA (en) 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding
RU2720534C2 (ru) 2012-06-29 2020-04-30 ДжиИ Видео Компрешн, ЭлЭлСи Концепция потока видеоданных
CN103714821A (zh) 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
US9325544B2 (en) * 2012-10-31 2016-04-26 Csr Technology Inc. Packet-loss concealment for a degraded frame using replacement data from a non-degraded frame
CN103971691B (zh) * 2013-01-29 2017-09-29 鸿富锦精密工业(深圳)有限公司 语音信号处理系统及方法
FR3001593A1 (fr) * 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
US9196256B2 (en) * 2013-02-07 2015-11-24 Mediatek Inc. Data processing method that selectively performs error correction operation in response to determination based on characteristic of packets corresponding to same set of speech data, and associated data processing apparatus
US9437203B2 (en) * 2013-03-07 2016-09-06 QoSound, Inc. Error concealment for speech decoder
KR101452635B1 (ko) * 2013-06-03 2014-10-22 충북대학교 산학협력단 Lms 예측기를 이용한 패킷 손실 은닉 방법 및 이를 기록한 기록매체
US9437211B1 (en) * 2013-11-18 2016-09-06 QoSound, Inc. Adaptive delay for enhanced speech processing
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483878A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
EP3553777B1 (en) * 2018-04-09 2022-07-20 Dolby Laboratories Licensing Corporation Low-complexity packet loss concealment for transcoded audio signals
CN110400569B (zh) * 2018-04-24 2022-01-11 广州安凯微电子股份有限公司 蓝牙音频修复方法及终端设备
CN113439302A (zh) * 2019-02-21 2021-09-24 瑞典爱立信有限公司 用于频域分组丢失隐藏的方法及相关解码器
CN112133317B (zh) * 2020-09-21 2021-08-10 易兆微电子(杭州)股份有限公司 一种基于sbc的低传输比特率高质量语音编解码方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097295A (ja) * 1996-09-24 1998-04-14 Nippon Telegr & Teleph Corp <Ntt> 音響信号符号化方法及び復号化方法
JP2001215975A (ja) * 2000-02-04 2001-08-10 Sony Corp データ処理システム、データ処理装置及びその方法、プログラム格納媒体並びに音楽データ再生装置
JP2004120619A (ja) * 2002-09-27 2004-04-15 Kddi Corp オーディオ情報復号装置
JP2004239930A (ja) * 2003-02-03 2004-08-26 Iwatsu Electric Co Ltd パケット損失補償におけるピッチ検出方法と装置
JP2005043423A (ja) * 2003-07-22 2005-02-17 Nippon Telegr & Teleph Corp <Ntt> リアルタイムパケット処理装置及びその方法
JP2005107283A (ja) * 2003-09-30 2005-04-21 Tadashi Aoki VoIP音声通信におけるパケット損失隠蔽方法、装置およびプログラム
JP2005202262A (ja) * 2004-01-19 2005-07-28 Matsushita Electric Ind Co Ltd 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
WO2005086138A1 (ja) * 2004-03-05 2005-09-15 Matsushita Electric Industrial Co., Ltd. エラー隠蔽装置およびエラー隠蔽方法
WO2005109402A1 (ja) * 2004-05-11 2005-11-17 Nippon Telegraph And Telephone Corporation 音声パケット送信方法、音声パケット送信装置、および音声パケット送信プログラムとそれを記録した記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003604A (en) * 1988-03-14 1991-03-26 Fujitsu Limited Voice coding apparatus
CA2635914A1 (en) * 1991-06-11 1992-12-23 Qualcomm Incorporated Error masking in a variable rate vocoder
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
JPH10149199A (ja) * 1996-11-19 1998-06-02 Sony Corp 音声符号化方法、音声復号化方法、音声符号化装置、音声復号化装置、電話装置、ピッチ変換方法及び媒体
US7117156B1 (en) * 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7092881B1 (en) * 1999-07-26 2006-08-15 Lucent Technologies Inc. Parametric speech codec for representing synthetic speech in the presence of background noise
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
US7590047B2 (en) * 2005-02-14 2009-09-15 Texas Instruments Incorporated Memory optimization packet loss concealment in a voice over packet network
US8255207B2 (en) * 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
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
EP2054878B1 (en) * 2006-08-15 2012-03-28 Broadcom Corporation Constrained and controlled decoding after packet loss
US8386246B2 (en) * 2007-06-27 2013-02-26 Broadcom Corporation Low-complexity frame erasure concealment
CN101437009B (zh) * 2007-11-15 2011-02-02 华为技术有限公司 丢包隐藏的方法及其系统
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
US8214201B2 (en) * 2008-11-19 2012-07-03 Cambridge Silicon Radio Limited Pitch range refinement
US20100185441A1 (en) * 2009-01-21 2010-07-22 Cambridge Silicon Radio Limited Error Concealment
US8185384B2 (en) * 2009-04-21 2012-05-22 Cambridge Silicon Radio Limited Signal pitch period estimation
US9076439B2 (en) * 2009-10-23 2015-07-07 Broadcom Corporation Bit error management and mitigation for sub-band coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097295A (ja) * 1996-09-24 1998-04-14 Nippon Telegr & Teleph Corp <Ntt> 音響信号符号化方法及び復号化方法
JP2001215975A (ja) * 2000-02-04 2001-08-10 Sony Corp データ処理システム、データ処理装置及びその方法、プログラム格納媒体並びに音楽データ再生装置
JP2004120619A (ja) * 2002-09-27 2004-04-15 Kddi Corp オーディオ情報復号装置
JP2004239930A (ja) * 2003-02-03 2004-08-26 Iwatsu Electric Co Ltd パケット損失補償におけるピッチ検出方法と装置
JP2005043423A (ja) * 2003-07-22 2005-02-17 Nippon Telegr & Teleph Corp <Ntt> リアルタイムパケット処理装置及びその方法
JP2005107283A (ja) * 2003-09-30 2005-04-21 Tadashi Aoki VoIP音声通信におけるパケット損失隠蔽方法、装置およびプログラム
JP2005202262A (ja) * 2004-01-19 2005-07-28 Matsushita Electric Ind Co Ltd 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
WO2005086138A1 (ja) * 2004-03-05 2005-09-15 Matsushita Electric Industrial Co., Ltd. エラー隠蔽装置およびエラー隠蔽方法
WO2005109402A1 (ja) * 2004-05-11 2005-11-17 Nippon Telegraph And Telephone Corporation 音声パケット送信方法、音声パケット送信装置、および音声パケット送信プログラムとそれを記録した記録媒体

Also Published As

Publication number Publication date
CN102754150A (zh) 2012-10-24
JP5479617B2 (ja) 2014-04-23
EP2534655B1 (en) 2014-01-22
CN102754150B (zh) 2014-03-19
WO2011100456A1 (en) 2011-08-18
KR101422379B1 (ko) 2014-07-22
US20110196673A1 (en) 2011-08-11
KR20120128672A (ko) 2012-11-27
TW201207839A (en) 2012-02-16
EP2534655A1 (en) 2012-12-19

Similar Documents

Publication Publication Date Title
JP5479617B2 (ja) サブ帯域コード化復号器における損失パケットの隠蔽
JP6077011B2 (ja) 冗長フレーム符号化および復号のためのデバイス
JP6768886B2 (ja) 冗長フレーム情報を通信するシステムおよび方法
TWI474660B (zh) 用於編碼及偵測浮水印信號之裝置
JP5405659B2 (ja) 消去されたスピーチフレームを再構成するためのシステムおよび方法
JP5797780B2 (ja) ウォーターマーク入り信号を適応的に符号化し復号するためのデバイス
JP6373873B2 (ja) 線形予測コーディングにおける適応型フォルマントシャープニングのためのシステム、方法、装置、及びコンピュータによって読み取り可能な媒体
JP2011515712A (ja) 階層型復号化構造におけるデジタル音声信号の伝送エラーの隠蔽
JP5852140B2 (ja) ウォーターマーク入り信号を符号化し復号するためのデバイス
BR122020015614B1 (pt) Método e dispositivo para interpolar parâmetros de filtro de predição linear em um quadro de processamento de sinal sonoro atual seguindo um quadro de processamento de sinal sonoro anterior
EP3076390B1 (en) Method and device for decoding speech and audio streams
US8862465B2 (en) Determining pitch cycle energy and scaling an excitation signal
UA114233C2 (uk) Системи та способи для визначення набору коефіцієнтів інтерполяції

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140212

R150 Certificate of patent or registration of utility model

Ref document number: 5479617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees