本明細書で開示するシステムおよび方法は、様々な電子デバイスに適用され得る。電子デバイスの例には、ボイスレコーダ、ビデオカメラ、オーディオプレーヤ(たとえば、Moving Picture Experts Group−1(MPEG−1)またはMPEG−2 Audio Layer 3(MP3)プレーヤ)、ビデオプレーヤ、オーディオレコーダ、デスクトップコンピュータ/ラップトップコンピュータ、携帯情報端末(PDA)、ゲームシステムなどがある。電子デバイスの一種は、別のデバイスと通信し得る通信デバイスである。通信デバイスの例には、電話、ラップトップコンピュータ、デスクトップコンピュータ、セルラーフォン、スマートフォン、ワイヤレスまたはワイヤードモデム、電子リーダー、タブレットデバイス、ゲームシステム、セルラー電話基地局またはノード、アクセスポイント、ワイヤレスゲートウェイおよびワイヤレスルータがある。
電子デバイスまたは通信デバイスは、国際電気通信連合(ITU)標準および/または米国電気電子技術者協会(IEEE)標準(たとえば、802.11a、802.11b、802.11g、802.11nおよび/または802.11acなどのワイヤレスフィデリティーまたは「Wi−Fi」標準)など、いくつかの業界標準に従って動作し得る。通信デバイスが準拠し得る標準の他の例には、IEEE802.16(たとえば、Worldwide Interoperability for Microwave Accessまたは「WiMAX」)、Third Generation Partnership Project(3GPP)、3GPP Long Term Evolution(LTE)、Global System for Mobile Telecommunications(GSM)(登録商標)などがある(通信デバイスは、たとえば、ユーザ機器(UE)、ノードB、発展型ノードB(eNB)、モバイルデバイス、移動局、加入者局、遠隔局、アクセス端末、モバイル端末、端末、端末ユーザ端末、加入者ユニットなどと呼ばれることがある)。本明細書で開示するシステムおよび方法のいくつかは1つまたは複数の標準に関して説明され得るが、これは、それらのシステムおよび方法が多くのシステムおよび/または標準に適用可能であり得るので、本開示の範囲を限定すべきではない。
いくつかの通信デバイスは、ワイヤレス通信し得、および/またはワイヤード接続もしくはリンクを使用して通信し得ることに留意されたい。たとえば、いくつかの通信デバイスは、イーサネット(登録商標)プロトコルを使用して他のデバイスと通信し得る。本明細書で開示するシステムおよび方法は、ワイヤレス通信し、および/またはワイヤード接続もしくはリンクを使用して通信する通信デバイスに適用され得る。一構成では、本明細書で開示するシステムおよび方法は、衛星を使用して別のデバイスと通信する通信デバイスに適用され得る。
本明細書で開示するシステムおよび方法は、以下のように説明する通信システムの一例に適用され得る。この例では、本明細書で開示するシステムおよび方法は、ジオモバイル衛星エアインターフェース(GMSA:geo-mobile satellite air interface)衛星通信のための低ビットレート(たとえば、2キロビット毎秒(Kbps))音声符号化を行い得る。より詳細には、本明細書で開示するシステムおよび方法は、統合された衛星およびモバイル通信ネットワークにおいて使用され得る。そのようなネットワークは、シームレスで、透過的で、相互運用可能で、ユビキタスなワイヤレスカバレージを提供し得る。衛星ベースのサービスは、地上カバレージが利用不可能である遠隔ロケーションにおける通信のために使用され得る。たとえば、そのようなサービスは、人工もしくは自然災害、ブロードキャストおよび/またはフリート管理およびアセット追跡に有用であり得る。Lおよび/またはSバンド(ワイヤレス)スペクトルが使用され得る。
一構成では、順方向リンクは、オーバージエア衛星リンクのための基礎技術として1x Evolution Data Optimized (EV−DO) Rev Aエアインターフェースを使用し得る。逆方向リンクは周波数分割多重(FDM)を使用し得る。たとえば、逆方向リンクスペクトルの1.25メガヘルツ(MHz)ブロックは192個の狭帯域周波数チャネルに分割され、各々は6.4キロヘルツ(kHz)の帯域幅をもち得る。逆方向リンクデータレートは制限され得る。これは、低ビットレート符号化の必要性を提示し得る。場合によっては、たとえば、1つのチャネルが2.4Kbpsしかサポートできないことがある。ただし、より良いチャネル状態では、2つのFDMチャネルが利用可能になり、場合によっては4.8Kbps送信を提供し得る。
逆方向リンク上では、たとえば、低ビットレート音声エンコーダが使用され得る。これにより、逆方向リンク上でシングルFDMチャネル割当てのためのアクティブ音声のために2Kbpsの固定レートが可能になり得る。一構成では、逆方向リンクは、基本チャネルコーディングのために1/4畳み込みコーダを使用する。
いくつかの構成では、本明細書で開示するシステムおよび方法は、1つまたは複数のコーディングモードで使用され得る。たとえば、本明細書で開示するシステムおよび方法は、プロトタイプピッチ周期波形補間を使用した1/4レート有声(voiced)コーディングと併せてまたは代替として使用され得る。プロトタイプピッチ周期波形補間(PPPWI:prototype pitch-period waveform interpolation)では、実際の波形の代わりに使用され得る補間波形を生成するためにプロトタイプ波形が使用されて、再構成された信号が、低減された数のサンプルによって生成されることが可能になり得る。PPPWIは、たとえば、フルレートまたは1/4レートにおいて利用可能であり得、および/または時間同期出力を生成し得る。さらに、PPPWIでは周波数領域において量子化が実行され得る。有声符号化モードでは、(たとえば、FQQ(有効ハーフレート)の代わりに)QQQが使用され得る。QQQは、40ビット毎フレームで1/4レートプロトタイプピッチ周期波形補間(QPPP−WI:quarter rate prototype pitch period waveform interpolation)を使用して3つの連続する有声フレームを符号化するコーディングパターンである(事実上2キロビット毎秒(kbps))。FQQは、3つの連続する有声フレームが、それぞれフルレートプロトタイプピッチ周期(PPP)、1/4レートプロトタイプピッチ周期(QPPP)およびQPPPを使用して符号化されるコーディングパターンである。これは4kbpsの平均レートを達成し得る。後者は、2kbpsボコーダにおいて使用され得ない。1/4レートプロトタイプピッチ周期(QPPP)は、周波数領域におけるプロトタイプ表現の振幅のデルタ符号化なしに、13ビット線スペクトル周波数(LSF:line spectral frequency)量子化を用いて、修正された様式で使用され得ることに留意されたい。一構成では、QPPPは、LSFのための13ビットと、プロトタイプ波形振幅のための12ビットと、プロトタイプ波形電力のための6ビットと、ピッチラグのための7ビットと、モードのための2ビットとを使用し、合計40ビットになり得る。
いくつかの構成では、本明細書で開示するシステムおよび方法は、(QPPPのために必要なシードを与え得る)過渡(transient)符号化モードのために使用され得る。(たとえば、2Kbpsボコーダにおける)この過渡符号化モードは、アップ過渡と、ダウン過渡と、有声過渡とをコーディングするための統合モデルを使用し得る。過渡コーディングモードは、たとえば、1つの音声クラスと別の音声クラスとの間の境界上に位置し得る過渡フレームに適用され得る。たとえば、音声信号は、無声(unvoiced)音(たとえば、f、s、sh、thなど)から有声音(たとえば、a、e、i、o、uなど)に遷移し得る。いくつかの過渡タイプは、(たとえば、音声信号の無声部分から有声部分に遷移するときの)アップ過渡、破裂音、有声過渡(たとえば、線形予測コーディング(LPC:linear predictive coding)変更およびピッチラグ変動)、ならびに(たとえば、単語の末尾など、音声信号の有声部分から無声または無音(無音)部分に遷移するときの)ダウン過渡を含む。
本明細書で開示するシステムおよび方法は、1つまたは複数のオーディオまたは音声フレームをコーディングすることについて説明する。一構成では、本明細書で開示するシステムおよび方法は、残差中のピークの分析と、合成励起の線形予測コーディング(LPC)フィルタ処理とを使用し得る。
本明細書で開示するシステムおよび方法は、音声信号のエネルギー輪郭(energy contour)に一致するように励起信号を同時にスケーリングし、LPCフィルタ処理することについて説明する。言い換えれば、本明細書で開示するシステムおよび方法は、LPCフィルタ処理された励起のピッチ同期スケーリングによって音声の合成を可能にし得る。
LPCベースの音声コーダは、合成励起信号から、復号された音声を生成するために、デコーダにおける合成フィルタを採用する。この合成された信号のエネルギーは、コーディングされる音声信号のエネルギーに一致するようにスケーリングされ得る。本明細書で開示するシステムおよび方法は、合成励起信号をピッチ同期的にスケーリングし、フィルタ処理することについて説明する。合成励起のこのスケーリングおよびフィルタ処理は、セグメンテーションアルゴリズムによって判断された合成励起のあらゆるピッチエポックについて、あるいはピッチラグの関数であり得る固定間隔に基づいて、行われ得る。これにより、ピッチ同期ベースでスケーリングし、合成することが可能になり、それにより、復号された音声品質が改善される。
本明細書で使用する「同時」、「一致」および「同期」などの用語は、正確さを暗示することも暗示しないこともある。たとえば、「同時」は、2つのイベントがまったく同じ時間に起こっていることを意味することも意味しないこともある。たとえば、それは、2つのイベントの発生が時間的に重複することを意味することがある。「一致」は、厳密な一致を意味することも意味しないこともある。「同期」は、イベントが正確に同期した方式で起こっていることを意味することも意味しないこともある。同じ解釈が、上述の用語の他の変形態に適用され得る。
次に、図を参照しながら様々な構成について説明する。同様の参照番号は機能的に同様の要素を示し得る。本明細書で概して説明し、図に示すシステムおよび方法は、多種多様な異なる構成で構成および設計され得る。したがって、図に表されるいくつかの構成についての以下のより詳細な説明は、請求する範囲を限定するものではなく、システムおよび方法を代表するものにすぎない。
図1は、ピッチサイクルエネルギーを判断し、および/または励起信号をスケーリングするためのシステムおよび方法が実装され得る、電子デバイス102の一構成を示すブロック図である。電子デバイスA102はエンコーダ104を含み得る。エンコーダ104の一例は線形予測コーディング(LPC)エンコーダである。エンコーダ104は、電子デバイスA102によって音声(またはオーディオ)信号106を符号化するために使用され得る。たとえば、エンコーダ104は、音声信号106を合成または復号するために使用され得るパラメータのセットを推定または生成することによって音声信号106のフレーム110を「圧縮された」フォーマットに符号化する。一構成では、そのようなパラメータは、音声信号106を合成するために使用され得るピッチ(たとえば、周波数)、振幅およびホルマント(たとえば、共振)の推定値を表し得る。
電子デバイスA102は音声信号106を取得し得る。一構成では、電子デバイスA102は、マイクロフォンを使用して音響信号をキャプチャおよび/またはサンプリングすることによって音声信号106を取得する。別の構成では、電子デバイスA102は、別のデバイス(たとえば、Bluetooth(登録商標)ヘッドセット、ユニバーサルシリアルバス(USB)ドライブ、セキュアデジタル(SD)カード、ネットワークインターフェース、ワイヤレスマイクロフォンなど)から音声信号106を受信する。音声信号106はフレーミングブロック/モジュール108に与えられ得る。本明細書で使用する「ブロック/モジュール」という用語は、特定の要素がハードウェア、ソフトウェアまたは両方の組合せにおいて実装され得ることを示すために使用され得る。
電子デバイスA102は、フレーミングブロック/モジュール108を使用して音声信号106を1つまたは複数のフレーム110(たとえば、フレーム110のシーケンス)にフォーマット(たとえば、分割、セグメント化など)し得る。たとえば、フレーム110は、特定の数の音声信号106サンプルを含み、および/または音声信号106のある時間量(たとえば、10〜20ミリ秒)を含み得る。フレーム110中の音声信号106は、エネルギーに関して変動し得る。本明細書で開示するシステムおよび方法は、「ターゲット」ピッチサイクルエネルギーパラメータを推定し、および/またはピッチサイクルエネルギーパラメータを使用して音声信号106からのエネルギーに一致するように励起をスケーリングするために使用され得る。
いくつかの構成では、フレーム110は、それらが含んでいる信号に従って分類され得る。たとえば、フレーム110は、有声フレーム、無声フレーム、無音フレームまたは過渡フレームとして分類され得る。本明細書で開示するシステムおよび方法は、これらの種類のフレームのうちの1つまたは複数に適用され得る。
エンコーダ104は、フレーム110に対して線形予測分析(たとえば、LPC分析)を実行するための線形予測コーディング(LPC)分析ブロック/モジュール118を使用し得る。LPC分析ブロック/モジュール118は、追加または代替として、前フレーム110からの1つまたは複数のサンプルを使用し得ることに留意されたい。
LPC分析ブロック/モジュール118は、1つまたは複数のLPCまたはフィルタ係数116を生成し得る。LPCまたはフィルタ係数116の例には、線スペクトル周波数(LSF)および線スペクトル対(LSP:line spectral pair)がある。フィルタ係数116は、残差信号114を判断するために使用され得る、残差判断ブロック/モジュール112に与えられ得る。たとえば、残差信号114は、音声信号106から除去されたホルマントまたはホルマントの影響(たとえば、係数)を有していた音声信号106のフレーム110を含み得る。残差信号114はピーク探索ブロック/モジュール120および/またはセグメント化ブロック/モジュール128に与えられ得る。
ピーク探索ブロック/モジュール120は残差信号114中のピークを探索し得る。言い換えれば、エンコーダ104は、残差信号114中のピーク(たとえば、高いエネルギーの領域)を探索し得る。これらのピークは識別されて、1つまたは複数のピークロケーションを含むピーク122のリストまたはセットが取得され得る。ピーク122のリストまたはセット中のピークロケーションは、たとえば、サンプル数および/または時間に関して指定され得る。ピーク122のリストまたはセットを取得することに関するさらなる詳細を以下に与える。
ピーク122のセットは、ピッチラグ判断ブロック/モジュール124、セグメント化ブロック/モジュール128、ピークマッピングブロック/モジュール146および/またはエネルギー推定ブロック/モジュールB150に与えられ得る。ピッチラグ判断ブロック/モジュール124は、ピーク122のセットを使用してピッチラグ126を判断し得る。「ピッチラグ」は、フレーム110中の2つの連続するピッチスパイク間の「距離」であり得る。ピッチラグ126は、たとえば、サンプルの数および/または時間量において指定され得る。いくつかの構成では、ピッチラグ判断ブロック/モジュール124は、ピーク122のセットまたは(ピーク122間の距離であり得る)ピッチラグ候補のセットを使用してピッチラグ126を判断し得る。たとえば、ピッチラグ判断ブロック/モジュール124は、候補のセットからピッチラグ126を判断するために平均化または平滑化アルゴリズムを使用し得る。他の手法も使用され得る。ピッチラグ判断ブロック/モジュール124によって判断されたピッチラグ126は、励起合成ブロック/モジュール140、プロトタイプ波形生成ブロック/モジュール136、エネルギー推定ブロック/モジュールB150に与えら得、および/またはエンコーダ104から出力され得る。
励起合成ブロック/モジュール140は、ピッチラグ126とプロトタイプ波形生成ブロック/モジュール136によって与えられたプロトタイプ波形138とに基づいて励起144を生成または合成し得る。プロトタイプ波形生成ブロック/モジュール136は、スペクトル形状および/またはピッチラグ126に基づいてプロトタイプ波形138を生成し得る。
励起合成ブロック/モジュール140は、1つまたは複数の合成励起ピークロケーション142のセットをピークマッピングブロック/モジュール146に与え得る。また、(残差信号114からのピーク122のセットであり、合成励起ピークロケーション142と混同されるべきでない)ピーク122のセットはピークマッピングブロック/モジュール146に与えられ得る。ピークマッピングブロック/モジュール146は、ピーク122のセットと合成励起ピークロケーション142とに基づいてマッピング148を生成し得る。より詳細には、残差信号114中のピーク122間の領域は、合成励起信号中のピーク142間の領域にマッピングされ得る。ピークマッピングは、当技術分野で知られている動的プログラミング技法を使用して達成され得る。マッピング148はエネルギー推定ブロック/モジュールB150に与えられ得る。
マッピング行列mapped_pks[i]は、次いで、以下によって判断される。
セグメント化ブロック/モジュール128は、セグメント化残差信号130を生成するために残差信号114をセグメント化し得る。たとえば、セグメント化ブロック/モジュール128は、各セグメントがただ1つのピークを含むように残差信号114をセグメント化するためにピークロケーション122のセットを使用し得る。言い換えれば、セグメント化残差信号130中の各セグメントはただ1つのピークを含み得る。セグメント化残差信号130はエネルギー推定ブロック/モジュールA132に与えられ得る。
エネルギー推定ブロック/モジュールA132は、ピッチサイクルエネルギーパラメータの第1のセット134を判断または推定し得る。たとえば、エネルギー推定ブロック/モジュールA132は、2つの連続するピークロケーション間のフレーム110の1つまたは複数の領域に基づいてピッチサイクルエネルギーパラメータの第1のセット134を推定し得る。たとえば、エネルギー推定ブロック/モジュールA132は、ピッチサイクルエネルギーパラメータの第1のセット134を推定するためにセグメント化残差信号130を使用し得る。たとえば、セグメント化が、第1のピッチサイクルがサンプルS1〜S2の間であることを示した場合、そのピッチサイクルのエネルギーは、S1とS2との間のすべてのサンプルの平方和(sum of squares)によって計算され得る。これは、セグメント化アルゴリズムによって判断される各ピッチサイクルについて行われ得る。ピッチサイクルエネルギーパラメータの第1のセット134はエネルギー推定ブロック/モジュールB150に与えられ得る。
励起144、マッピング148、ピッチラグ126、ピーク122のセット、ピッチサイクルエネルギーパラメータの第1のセット134および/またはフィルタ係数116は、エネルギー推定ブロック/モジュールB150に与えられ得る。エネルギー推定ブロック/モジュールB150は、励起144、マッピング148、ピッチラグ126、ピーク122のセット、ピッチサイクルエネルギーパラメータの第1のセット134および/またはフィルタ係数116に基づいて、ピッチサイクルエネルギーパラメータ(たとえば、利得、スケーリングファクタなど)の第2のセット152を判断(たとえば、推定、計算など)し得る。いくつかの構成では、ピッチサイクルエネルギーパラメータの第2のセット152はTX/RXブロック/モジュール160および/またはデコーダ162に与えられ得る。
エンコーダ104は、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152を送るか、出力するか、または与え得る。一構成では、復号音声信号を生成するために、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152を使用して、符号化フレームが復号され得る。ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152は、別のデバイスに送信されるか、記憶されるか、および/または復号され得る。
一構成では、電子デバイスA102はTX/RXブロック/モジュール160を含む。この構成では、いくつかのパラメータはTX/RXブロック/モジュール160に与えられ得る。たとえば、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152は、TX/RXブロック/モジュール160に与えられ得る。TX/RXブロック/モジュール160は、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152を送信に適したフォーマットにフォーマットし得る。たとえば、TX/RXブロック/モジュール160は、1つまたは複数のメッセージ166として、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152を符号化し(エンコーダ104によって行われるフレーム符号化と混同されるべきでない)、変調し、スケーリング(たとえば、増幅)し、および/または他の方法でフォーマットし得る。TX/RXブロック/モジュール160は、1つまたは複数のメッセージ166を、電子デバイスB168など、別のデバイスに送信し得る。1つまたは複数のメッセージ166は、ワイヤレスおよび/またはワイヤード接続またはリンクを使用して送信され得る。いくつかの構成では、1つまたは複数のメッセージ166は、衛星、基地局、ルータ、スイッチおよび/または他のデバイスもしくは媒体によって電子デバイスB168に中継され得る。
電子デバイスB168は、TX/RXブロック/モジュール170を使用して、電子デバイスA102によって送信された1つまたは複数のメッセージ166を受信し得る。TX/RXブロック/モジュール170は、1つまたは複数の受信されたメッセージ166を復号し(音声信号復号と混同されるべきでない)、復調し、および/または他の方法でデフォーマットして音声信号情報172を生成し得る。音声信号情報172は、たとえば、ピッチラグ、フィルタ係数および/またはピッチサイクルエネルギーパラメータを備え得る。音声信号情報172はデコーダ174(たとえば、LPCデコーダ)に与えられ得、デコーダ174は復号または合成音声信号176を生成(たとえば、復号)し得る。デコーダ174はスケーリングおよびLPC合成ブロック/モジュール178を含み得る。スケーリングおよびLPC合成ブロック/モジュール178は、(受信した)音声信号情報(たとえば、フィルタ係数、ピッチサイクルエネルギーパラメータ、および/またはピッチラグに基づいて合成された合成励起)を使用して、合成音声信号176を生成し得る。合成音声信号176は、トランスデューサ(たとえば、スピーカー)を使用して音響信号(たとえば、出力)に変換され、メモリに記憶され、および/または別のデバイス(たとえば、Bluetoothヘッドセット)に送信され得る。
別の構成では、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152は、(電子デバイスA102上の)デコーダ162に与えられ得る。デコーダ162は、ピッチラグ126、フィルタ係数116および/またはピッチサイクルエネルギーパラメータ152を使用して、復号または合成音声信号164を生成し得る。より詳細には、デコーダ162はスケーリングおよびLPC合成ブロック/モジュール154を含み得る。スケーリングおよびLPC合成ブロック/モジュール154は、フィルタ係数116、ピッチサイクルエネルギーパラメータ152および/または(ピッチラグ126に基づいて合成された)合成励起を使用して、合成音声信号164を生成し得る。合成音声信号164は、たとえば、スピーカーを使用して出力され、メモリに記憶され、および/または別のデバイスに送信され得る。たとえば、電子デバイスA102は、音声信号106を符号化し、それをメモリに記憶するデジタルボイスレコーダであり得、音声信号106は、次いで、合成音声信号164を生成するために復号され得る。合成音声信号164は、次いで、トランスデューサ(たとえば、スピーカー)を使用して音響信号(たとえば、出力)に変換され得る。電子デバイスA102上のデコーダ162と、電子デバイスB168上のデコーダ174とは同様の機能を実行し得る。
いくつかの点に留意されたい。電子デバイスA102中に含まれるものとして示すデコーダ162は、構成に応じて、含まれるおよび/または使用されることがあってもなくてもよい。さらに、電子デバイスB168は、電子デバイスA102と併せて使用されても、使用されなくてもよい。さらに、情報126、116、152のいくつかのパラメータまたは種類がTX/RXブロック/モジュール160および/またはデコーダ162に与えられるものとして示されているが、情報126、116、152のこれらのパラメータまたは種類は、TX/RXブロック/モジュール160および/またはデコーダ162に送られる前にメモリに記憶されても、記憶されなくてもよい。
図2は、ピッチサイクルエネルギーを判断するための方法200の一構成を示す流れ図である。たとえば、電子デバイス102が、ピッチサイクルエネルギーパラメータのセットを推定するために、図2に示す方法200を実行し得る。電子デバイス102は、202において、フレーム110を取得する。一構成では、電子デバイス102は、マイクロフォンを使用して音響音声信号をキャプチャすることによって電子音声信号106を取得し得る。追加または代替として、電子デバイス102は、別のデバイスから音声信号106を受信し得る。電子デバイス102は、次いで、音声信号106を1つまたは複数のフレーム110にフォーマット(たとえば、分割、セグメント化など)し得る。フレーム110の一例は、音声信号106の一定数のサンプルまたは所与の時間量(たとえば、10〜20ミリ秒)を含み得る。
電子デバイス102は、204において、フィルタ(たとえば、LPC)係数116のセットを取得する。たとえば、電子デバイス102は、204においてフィルタ係数116のセットを取得するために、フレーム110に対してLPC分析を実行し得る。フィルタ係数116のセットは、たとえば、線スペクトル周波数(LSF)または線スペクトル対(LSP)であり得る。一構成では、電子デバイス102は、ルックアヘッドバッファと、現在フレーム110より前の音声信号106の少なくとも1つのサンプルを含んでいるバッファとを使用して、LPCまたはフィルタ係数116を取得し得る。
電子デバイス102は、206において、フレーム110とフィルタ係数116とに基づいて残差信号114を取得する。たとえば、電子デバイス102は、206において残差信号114を取得するために、現在フレーム110からLPCまたはフィルタ係数116(たとえば、ホルマント)の影響を除去し得る。
電子デバイス102は、208において、残差信号114に基づいてピークロケーション122のセットを判断する。たとえば、電子デバイス102は、208においてピークロケーション122のセットを判断するためにLPC残差信号114を探索し得る。ピークロケーションは、たとえば、時間および/またはサンプル数に関して記述され得る。
電子デバイス102は、210において、各セグメントが1つのピークを含んでいるように残差信号114をセグメント化する。たとえば、電子デバイス102は、残差信号114からサンプルの1つまたは複数のグループを形成するためにピークロケーション122のセットを使用し得、サンプルの各グループはピークロケーションを含む。一構成では、たとえば、セグメントが、第1のピークの直前から第2のピークの直前のサンプルまで開始し得る。これにより、ただ1つのピークが選択されることが保証され得る。このようにして、セグメントの開始ポイントおよび/または終了ポイントは、ピークの前方のサンプルの固定数、またはピークのすぐ前方の振幅の極小値において生じ得る。このようにして、電子デバイス102は、210において、セグメント化残差信号130を生成するために残差信号114をセグメント化する。
電子デバイス102は、212において、ピッチサイクルエネルギーパラメータの第1のセット134を判断(たとえば、推定)する。ピッチサイクルエネルギーパラメータの第1のセット134は、2つの連続する(たとえば、隣接)ピークロケーション間のフレーム領域に基づいて判断され得る。たとえば、電子デバイス102は、ピッチサイクルエネルギーパラメータの第1のセット134を推定するために、セグメント化残差信号130を使用し得る。
電子デバイス102は、214において、残差信号中のピーク122間の領域を合成励起信号中のピーク142間の領域にマッピングする。たとえば、214において残差信号ピーク122間の領域を合成励起信号ピーク142間の領域にマッピングすることは、マッピング148を生成し得る。合成励起信号は、プロトタイプ波形138および/またはピッチラグ126に基づいて電子デバイス102によって取得(たとえば、合成)され得る。
電子デバイス102は、ピッチサイクルエネルギーパラメータの第2のセット152を記憶し、送り(たとえば、送信し、与え)、および/または使用し得る。たとえば、電子デバイス102は、ピッチサイクルエネルギーパラメータの第2のセット152をメモリに記憶し得る。追加または代替として、電子デバイス102は、ピッチサイクルエネルギーパラメータの第2のセット152を別の電子デバイスに送信し得る。追加または代替として、電子デバイス102は、たとえば、音声信号を復号または合成するために、ピッチサイクルエネルギーパラメータの第2のセット152を使用し得る。
図3は、ピッチサイクルエネルギーを判断するためのシステムおよび方法が実装され得る、エンコーダ304の一構成を示すブロック図である。エンコーダ304の一例は線形予測コーディング(LPC)エンコーダである。エンコーダ304は、電子デバイス102によって音声(またはオーディオ)信号106を符号化するために使用され得る。たとえば、エンコーダ304は、音声信号106を合成または復号するために使用され得るパラメータのセットを推定または生成することによって音声信号106のフレーム310を「圧縮された」フォーマットに符号化する。一構成では、そのようなパラメータは、音声信号106を合成するために使用され得るピッチ(たとえば、周波数)、振幅およびホルマント(たとえば、共振)の推定値を表し得る。
音声信号106は、1つまたは複数のフレーム310(たとえば、一連のフレーム310)にフォーマット(たとえば、分割、セグメント化など)され得る。たとえば、フレーム310は、特定の数の音声信号106サンプルを含み、および/または音声信号106のある時間量(たとえば、10〜20ミリ秒)を含み得る。フレーム310中の音声信号106は、エネルギーに関して変動し得る。本明細書で開示するシステムおよび方法は、「ターゲット」ピッチサイクルエネルギーパラメータを推定するために使用され得、「ターゲット」ピッチサイクルエネルギーパラメータは、音声信号106からのエネルギーに一致するように励起信号をスケーリングするために使用され得る。
エンコーダ304は、現在フレーム310aに対して線形予測分析(たとえば、LPC分析)を実行するための線形予測コーディング(LPC)分析ブロック/モジュール318を使用し得る。LPC分析ブロック/モジュール318は、(音声信号106の)前フレーム310bからの1つまたは複数のサンプルをも使用し得る。
LPC分析ブロック/モジュール318は、1つまたは複数のLPCまたはフィルタ係数316を生成し得る。LPCまたはフィルタ係数316の例には、線スペクトル周波数(LSF)および線スペクトル対がある。フィルタ係数316は、係数量子化ブロック/モジュール380とLPC合成ブロック/モジュール384とに与えられ得る。
係数量子化ブロック/モジュール380は、量子化フィルタ係数382を生成するために、フィルタ係数316を量子化し得る。量子化フィルタ係数382は、残差判断ブロック/モジュール312とエネルギー推定ブロック/モジュールB350とに与えられ得、および/あるいはエンコーダ304から与えられるか、または送られ得る。
量子化フィルタ係数382と、現在フレーム310aからの1つまたは複数のサンプルとは、残差信号314を判断するために、残差判断ブロック/モジュール312によって使用され得る。たとえば、残差信号314は、音声信号106から除去されたホルマントまたはホルマントの影響(たとえば、係数)を有していた音声信号106の現在フレーム310aを含み得る。残差信号314は正規化ブロック/モジュール388に与えられ得る。
正規化ブロック/モジュール388は残差信号314を正規化し、その結果、修正(たとえば、正規化)残差信号390が生じ得る。正規化の一例は、「Enhanced Variable Rate Codec, Speech Service Options 3, 68, 70, and 73 for Wideband Spread Spectrum Digital Systems」と題する3GPP2文書C.S0014Dのセクション4.11.6に詳細に記載されている。基本的に、正規化は、現在フレーム中のピッチパルスを動き回って、ピッチパルスを、スムーズに展開するピッチ輪郭と揃え得る。修正残差信号390は、ピーク探索ブロック/モジュール320、セグメント化ブロック/モジュール328および/またはLPC合成ブロック/モジュール384に与えられ得る。LPC合成ブロック/モジュール384は、修正音声信号386を生成(たとえば、合成)し得、それはエネルギー推定ブロック/モジュールB350に与えられ得る。修正音声信号386は、正規化された残差から導出された音声信号であり、したがって、元の音声でないが、それの修正バージョンであるので、「修正」と呼ばれることがある。
ピーク探索ブロック/モジュール320は修正残差信号390中のピークを探索し得る。言い換えれば、過渡エンコーダ304は修正残差信号390中のピーク(たとえば、高いエネルギーの領域)を探索し得る。これらのピークは識別されて、1つまたは複数のピークロケーションを含むピーク322のリストまたはセットが取得され得る。ピーク322のリストまたはセット中のピークロケーションは、たとえば、サンプル数および/または時間に関して指定され得る。
ピーク322のセットは、ピッチラグ判断ブロック/モジュール324、ピークマッピングブロック/モジュール346、セグメント化ブロック/モジュール328および/またはエネルギー推定ブロック/モジュールB350に与えられ得る。ピッチラグ判断ブロック/モジュール324は、ピーク322のセットを使用してピッチラグ326を判断し得る。「ピッチラグ」は、現在フレーム310a中の2つの連続するピッチスパイク間の「距離」であり得る。ピッチラグ326は、たとえば、サンプルの数および/または時間量において指定され得る。いくつかの構成では、ピッチラグ判断ブロック/モジュール324は、ピーク322のセットまたは(ピーク322間の距離であり得る)ピッチラグ候補のセットを使用してピッチラグ326を判断し得る。たとえば、ピッチラグ判断ブロック/モジュール324は、候補のセットからピッチラグ326を判断するために平均化または平滑化アルゴリズムを使用し得る。他の手法も使用され得る。ピッチラグ判断ブロック/モジュール324によって判断されたピッチラグ326は、励起合成ブロック/モジュール340、エネルギー推定ブロック/モジュールB350、プロトタイプ波形生成ブロック/モジュール336に与えられ得、および/あるいはエンコーダ304から与えられるか、または送られ得る。
励起合成ブロック/モジュール340は、ピッチラグ326、および/またはプロトタイプ波形生成ブロック/モジュール336によって与えられたプロトタイプ波形338に基づいて励起344を生成または合成し得る。プロトタイプ波形生成ブロック/モジュール336は、スペクトル形状および/またはピッチラグ326に基づいてプロトタイプ波形338を生成し得る。
励起合成ブロック/モジュール340は、1つまたは複数の合成励起ピークロケーション342のセットをピークマッピングブロック/モジュール346に与え得る。また、(残差信号314からのピーク322のセットであり、合成励起ピークロケーション342と混同されるべきでない)ピーク322のセットはピークマッピングブロック/モジュール346に与えられ得る。ピークマッピングブロック/モジュール346は、ピーク322のセットと合成励起ピークロケーション348とに基づいてマッピング342を生成し得る。より詳細には、残差信号中のピーク322間の領域は、合成励起信号中のピーク342間の領域にマッピングされ得る。マッピング348はエネルギー推定ブロック/モジュールB350に与えられ得る。
セグメント化ブロック/モジュール328は、セグメント化残差信号330を生成するために修正残差信号390をセグメント化し得る。たとえば、セグメント化ブロック/モジュール328は、各セグメントがただ1つのピークを含むように残差信号314をセグメント化するためにピークロケーション322のセットを使用し得る。言い換えれば、セグメント化残差信号330中の各セグメントはただ1つのピークを含み得る。セグメント化残差信号330はエネルギー推定ブロック/モジュールA332に与えられ得る。
エネルギー推定ブロック/モジュールA332は、ピッチサイクルエネルギーパラメータの第1のセット334を判断または推定し得る。たとえば、エネルギー推定ブロック/モジュールA332は、2つの連続するピークロケーション間の現在フレーム310aの1つまたは複数の領域に基づいてピッチサイクルエネルギーパラメータの第1のセット334を推定し得る。たとえば、エネルギー推定ブロック/モジュールA332は、ピッチサイクルエネルギーパラメータの第1のセット334を推定するためにセグメント化残差信号330を使用し得る。ピッチサイクルエネルギーパラメータの第1のセット334はエネルギー推定ブロック/モジュールB350に与えられ得る。(第1のセット334中の)ピッチサイクルエネルギーパラメータが各ピッチサイクルにおいて判断され得ることに留意されたい。
励起344、マッピング348、ピーク322のセット、ピッチラグ326、ピッチサイクルエネルギーパラメータの第1のセット334、量子化フィルタ係数382および/または修正音声信号386は、エネルギー推定ブロック/モジュールB350に与えられ得る。エネルギー推定ブロック/モジュールB350は、励起344、マッピング348、ピーク322のセット、ピッチラグ326、ピッチサイクルエネルギーパラメータの第1のセット334、量子化フィルタ係数382および/または修正音声信号386に基づいて、ピッチサイクルエネルギーパラメータ(たとえば、利得、スケーリングファクタなど)の第2のセット352を判断(たとえば、推定、計算など)し得る。いくつかの構成では、ピッチサイクルエネルギーパラメータの第2のセット352は、量子化ピッチサイクルエネルギーパラメータ358のセットを生成するために、ピッチサイクルエネルギーパラメータの第2のセット352を量子化する量子化ブロック/モジュール356に与えられ得る。(第2のセット352中の)ピッチサイクルエネルギーパラメータが各ピッチサイクルにおいて判断され得ることに留意されたい。
エンコーダ304は、ピッチラグ326、量子化フィルタ係数382および/または量子化ピッチサイクルエネルギーパラメータ358を送るか、出力するか、または与え得る。一構成では、復号音声信号を生成するために、ピッチラグ326、量子化フィルタ係数382および/または量子化ピッチサイクルエネルギーパラメータ358を使用して、符号化フレームが復号され得る。ピッチラグ326、量子化フィルタ係数382および/または量子化ピッチサイクルエネルギーパラメータ358は、別のデバイスに送信されるか、記憶されるか、および/または復号され得る。
図4は、ピッチサイクルエネルギーを判断するための方法400のより具体的な構成を示す流れ図である。たとえば、電子デバイスが、ピッチサイクルエネルギーパラメータのセットを推定または計算するために、図4に示す方法400を実行し得る。電子デバイスは、402において、フレーム310を取得する。一構成では、電子デバイスは、マイクロフォンを使用して音響音声信号をキャプチャすることによって電子音声信号を取得し得る。追加または代替として、電子デバイスは、別のデバイスから音声信号を受信し得る。電子デバイスは、次いで、音声信号を1つまたは複数のフレーム310にフォーマット(たとえば、分割、セグメント化など)し得る。フレーム310の一例は、音声信号の一定数のサンプルまたは所与の時間量(たとえば、10〜20ミリ秒)を含み得る。
電子デバイスは、404において、フィルタ(たとえば、LPC)係数316のセットを取得するために、(現在)フレーム310aと(現在)フレーム310aより前の信号(たとえば、前フレーム310bからの1つまたは複数サンプル)とを使用して線形予測分析を実行する。たとえば、電子デバイスは、ルックアヘッドバッファと、前フレーム310bからの音声信号の少なくとも1つのサンプルを含んでいるバッファとを使用して、フィルタ係数316を取得し得る。
電子デバイスは、406において、フィルタ係数316のセットに基づいて量子化フィルタ(たとえば、LPC)係数382のセットを判断する。たとえば、電子デバイスは、406において量子化フィルタ係数382のセットを判断するために、フィルタ係数316のセットを量子化し得る。
電子デバイスは、408において、(現在)フレーム310aと量子化フィルタ係数382とに基づいて残差信号314を取得する。たとえば、電子デバイスは、408において残差信号314を取得するために、現在フレーム310aからフィルタ係数316(または量子化フィルタ係数382)の影響を除去し得る。
電子デバイスは、410において、残差信号314(または修正残差信号390)に基づいて、ピークロケーション322のセットを判断する。たとえば、電子デバイスは、ピークロケーション322のセットを判断するためにLPC残差信号314を探索し得る。ピークロケーションは、たとえば、時間および/またはサンプル数に関して記述され得る。
一構成では、電子デバイスは、410において、以下のようにピークロケーションのセットを判断する。電子デバイスは、(LPC)残差信号314(または修正残差信号390)と所定のウィンドウ信号とのサンプルの絶対値に基づいて包絡線信号を計算し得る。電子デバイスは、次いで、包絡線信号と包絡線信号の時間シフトバージョンとの間の差に基づいて第1の勾配信号を計算し得る。電子デバイスは、第1の勾配信号と第1の勾配信号の時間シフトバージョンとの間の差に基づいて第2の勾配信号を計算し得る。電子デバイスは、次いで、第2の勾配信号値が所定の負の(第1の)しきい値を下回るロケーションインデックスの第1のセットを選択し得る。電子デバイスはまた、包絡線値が包絡線中の最大値に対する所定の(第2の)しきい値を下回るロケーションインデックスをなくすことによって、ロケーションインデックスの第1のセットからロケーションインデックスの第2のセットを判断し得る。さらに、電子デバイスは、近隣ロケーションインデックスに対する所定の差しきい値でないロケーションインデックスをなくすことによって、ロケーションインデックスの第2のセットからロケーションインデックスの第3のセットを判断し得る。ロケーションインデックス(たとえば、第1、第2および/または第3のセット)は、ピーク322の判断されたセットのロケーションに対応し得る。
電子デバイスは、412において、各セグメントが1つのピークを含むように残差信号314(または修正残差信号390)をセグメント化する。たとえば、電子デバイスは、残差信号314(または修正残差信号390)からサンプルの1つまたは複数のグループを形成するためにピークロケーション322のセットを使用し得、サンプルの各グループはピークロケーションを含む。言い換えれば、電子デバイスは、412において、セグメント化残差信号330を生成するために残差信号314をセグメント化する。
電子デバイスは、414において、ピッチサイクルエネルギーパラメータの第1のセット334を判断(たとえば、推定)する。ピッチサイクルエネルギーパラメータの第1のセット334は、2つの連続するピークロケーション間のフレーム領域に基づいて判断され得る。たとえば、電子デバイスは、ピッチサイクルエネルギーパラメータの第1のセット334を推定するために、セグメント化残差信号330を使用し得る。
電子デバイスは、416において、残差信号中のピーク322間の領域を合成励起信号中のピーク342間の領域にマッピングする。たとえば、416において残差信号ピーク322間の領域を合成励起信号ピーク342間の領域にマッピングすることは、マッピング348を生成し得る。
電子デバイスは、418において、ピッチサイクルエネルギーパラメータの第1のセット334とマッピング348とに基づいてピッチサイクルエネルギーパラメータの第2のセット352を判断(たとえば、計算、推定など)する。いくつかの構成では、電子デバイスは、ピッチサイクルエネルギーパラメータの第2のセット352を量子化し得る。
電子デバイスは、420において、ピッチサイクルエネルギーパラメータの第2のセット352(または量子化ピッチサイクルエネルギーパラメータ358)を送る(たとえば、送信する、与える)。たとえば、電子デバイスは、ピッチサイクルエネルギーパラメータの第2のセット352(または量子化ピッチサイクルエネルギーパラメータ358)を別の電子デバイスに送信し得る。追加または代替として、電子デバイスは、たとえば、音声信号を復号または合成するために、ピッチサイクルエネルギーパラメータの第2のセット352(または量子化ピッチサイクルエネルギーパラメータ358)をデコーダに送り得る。いくつかの構成では、電子デバイスは、追加または代替として、ピッチサイクルエネルギーパラメータの第2のセット352をメモリに記憶し得る。いくつかの構成では、電子デバイスはまた、ピッチラグ326および/または量子化フィルタ係数382を(同じまたは異なる電子デバイス上の)デコーダおよび/またはストレージデバイスに送り得る。
図5は、励起信号をスケーリングするためのシステムおよび方法が実装され得る、デコーダ592の一構成を示すブロック図である。デコーダ592は、励起合成ブロック/モジュール598、セグメント化ブロック/モジュール503ならびに/またはピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール509を含み得る。デコーダ592の一例はLPCデコーダである。たとえば、デコーダ592は、図1に示すデコーダ162、174であり得る。
デコーダ592は、1つまたは複数のピッチサイクルエネルギーパラメータ507と、(前に復号されたフレームから導出され得る)前フレーム残差594と、ピッチラグ596と、フィルタ係数511とを取得し得る。たとえば、エンコーダ104は、ピッチサイクルエネルギーパラメータ507、ピッチラグ596および/またはフィルタ係数511を与え得る。一構成では、この情報507、596、511は、デコーダ592と同じ電子デバイス上にあるエンコーダ104から発生し得る。たとえば、デコーダ592は、エンコーダ104から情報507、596、511を直接受信し得るか、またはそれらの情報をメモリから取り出し得る。別の構成では、情報507、596、511は、デコーダ592とは異なる電子デバイス上にあるエンコーダ104から発生し得る。たとえば、デコーダ592は、情報507、596、511を別の電子デバイス102から受信している受信機170からそれらの情報を取得し得る。
いくつかの構成では、ピッチサイクルエネルギーパラメータ507、ピッチラグ596および/またはフィルタ係数511は、パラメータとして受信され得る。より詳細には、デコーダ592は、ピッチサイクルエネルギーパラメータ507、ピッチラグパラメータ596および/またはフィルタ係数パラメータ511を表すパラメータを受信し得る。たとえば、この情報507、596、511の各タイプは、ビット数を使用して表され得る。一構成では、これらのビットはパケット中で受信され得る。これらのビットは、デコーダ592が情報507、596、511を使用し得るように、電子デバイスおよび/またはデコーダ592によってアンパック、解釈、デフォーマットおよび/または復号され得る。一構成では、ビットは、表(1)に記載されている情報507、596、511のために割り振られ得る。
これらのパラメータ511、596、507は、追加または代替として他のパラメータまたは情報から送られ得ることに留意されたい。
励起合成ブロック/モジュール598は、ピッチラグ596および/または前フレーム残差594に基づいて励起501を合成し得る。合成励起信号501はセグメント化ブロック/モジュール503に与えられ得る。セグメント化ブロック/モジュール503は、セグメント化励起505を生成するために励起501をセグメント化し得る。いくつかの構成では、セグメント化ブロック/モジュール503は、(セグメント化励起505の)各セグメントがただ1つのピークを含んでいるように励起501をセグメント化し得る。他の構成では、セグメント化ブロック/モジュール503は、ピッチラグ596に基づいて励起501をセグメント化し得る。励起501がピッチラグ596に基づいてセグメント化されるとき、(セグメント化励起505の)セグメントの各々は1つまたは複数のピークを含み得る。
セグメント化励起505は、ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール509に与えられ得る。ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール509は、セグメント化励起505、ピッチサイクルエネルギーパラメータ507および/またはフィルタ係数511を使用して、合成または復号音声信号513を生成し得る。ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール509の一例を以下の図6に関して説明している。合成音声信号513は、メモリに記憶され得、スピーカーを使用して出力され得、および/または別の電子デバイスに送信され得る。
図6は、ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609の一構成を示すブロック図である。図6に示すピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、図5に示すピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール509の一例であり得る。図6に示すように、ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、1つまたは複数のLPC合成フィルタ617a〜c、1つまたは複数のスケールファクタ判断ブロック/モジュール623a〜b、および/または1つまたは複数の乗算器627a〜bを含み得る。
ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、デコーダにおいて(および/またはいくつかの構成ではエンコーダにおいて)励起信号をスケーリングし、音声を合成するために使用され得る。ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、励起セグメント(たとえば、励起信号セグメント)615aと、ピッチサイクルエネルギーパラメータ625と、1つまたは複数のフィルタ(たとえば、LPC)係数とを取得または受信し得る。一構成では、励起セグメント615aは、単一のピッチサイクルを含む励起信号のセグメントであり得る。ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、ピッチサイクルエネルギーパラメータ625と1つまたは複数のフィルタ係数とに基づいて、励起セグメント615aをスケーリングし、音声を合成(たとえば、復号)し得る。たとえば、LPC係数は、合成フィルタへの入力であり得る。これらの係数は、合成音声を生成するために、自己回帰合成フィルタ中で使用され得る。ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609は、励起セグメント615aを合成しながら、それを元の音声のレベルにスケーリングしようと試み得る。いくつかの構成では、将来の分析または合成のためにエンコーダにおいて一部のメモリまたは合成音声613のコピーを維持するために、これらのプロシージャはまた、音声信号を符号化した同じ電子デバイス上で従われ得る。
本明細書で説明するシステムおよび方法は、復号信号を元の音声のエネルギーレベルに一致させることによって有益に適用され得る。たとえば、復号音声エネルギーレベルを元の音声に一致させることは、波形再構成が使用されないときに有益であり得る。たとえば、モデルベース再構成では、元の音声レベルに一致するための励起の微細スケーリングが有益であり得る。
上記で説明したように、エンコーダが、あらゆるピッチサイクル上でエネルギーを判断し、その情報をデコーダに受け渡し得る。一定のボイスセグメントの場合、エネルギーはほぼ一定のままであり得る。言い換えれば、全サイクルで、エネルギーは、一定のボイスセグメントの場合に適正に一定のままであり得る。しかしながら、エネルギーが一定でないことがある他の過渡セグメントがあり得る。したがって、その輪郭はデコーダに送信され得、送信されるエネルギーは同期式に固定され得、それは、ピッチサイクル当たり1つの一意のエネルギー値がエンコーダからデコーダに送られることを意味し得る。各エネルギー値は、ピッチサイクルについての元の音声のエネルギーを表す。たとえば、フレーム中にp個のピッチサイクルのセットがある場合、p個のエネルギー値は(フレームごとに)送信され得る。
図6に示すブロック図は、ピッチサイクルまたはセグメント(たとえば、k番目のサイクルまたはセグメント、ただし1≦k≦p)について行われ得るスケーリングおよび合成を示す。励起セグメント615a(たとえば、励起信号のサイクル)は、LPC合成フィルタA617a(たとえば、LPC合成フィルタA617a)に入力され得る。初めに、LPC合成フィルタA617aのメモリ619は0であり得る。たとえば、メモリ619は「ゼロ化」され得る。LPC合成フィルタA617aは、第1の合成セグメント621(たとえば、x1(i)で示され得る、スケーリングより前の「第1のカット」音声信号推定値、ただしiはk番目の合成セグメント内のサンプルまたは指数である)を生成し得る。
スケールファクタ判断ブロック/モジュールA623aは、第1のスケーリングファクタ(たとえば、Sk)635aを推定するために、現在のセグメントについての(ターゲット)ピッチサイクルエネルギー625(たとえば、Ek)の他に、第1の合成セグメント(たとえば、x1(i))621を使用し得る。(合成)励起セグメント615aは、第1のスケーリングされた励起セグメント615bを生成するために、第1のスケーリングファクタ635aによって乗算され得る。
図6に示す構成では、ピッチ同期スケーリングおよびLPC合成ブロック/モジュール609は、2つの段階で実装されるように示されている。第2の段階では、第1の段階と同様のプロシージャが従われ得る。しかしながら、第2の段階では、LPC合成のためにゼロメモリを使用する代わりに、過去(たとえば、前サイクルまたは前フレーム)からのメモリ629が使用され得る。たとえば、(フレーム中の)第1のサイクルの場合、前フレームの終了において更新されたメモリが使用され得、第2のサイクルの場合、第1のサイクルの終了において更新されたメモリが使用され得、以下同様である。したがって、スケールファクタ判断ブロック/モジュールB623bは、第2のスケールファクタ(たとえば、Sk)635bを生成し得、第1の段階から第1のスケーリングされた励起セグメント615bを取り、それをスケーリングして第2のスケーリングされた励起セグメント615cを取得する。
次いで、合成音声セグメント613を生成するために、第2のスケーリングされた励起セグメント615cを使用して、LPC合成がLPCフィルタC617cによって実行され得る。合成音声セグメント613は、LPCスペクトル属性ならびに(元の音声信号にほぼ一致する)適切なスケーリングを有する。
スケールファクタ判断ブロック/モジュール623a〜bは、一構成に従って機能し得る。一構成(たとえば、励起信号がピッチラグに従ってセグメント化されるとき)では、いくつかの励起セグメント615aは2つ以上のピークを有し得る。その構成では、フレーム内のピーク探索が実行され得る。これは、スケールファクタ計算において、(たとえば、2つのピークまたは複数のピークではなく)ただ1つのピークが使用されることを保証するために行われ得る。したがって、スケールファクタ(たとえば、以下の式3に示すSk)の判断は、複数のピークを含まない範囲(たとえば、jからnまでのインデックス)に基づく合計を使用し得る。たとえば、2つのピークを有する励起セグメントが使用されると仮定する。2つのピークを示すであろうピーク探索が使用され得る。1つのピークを含む領域または範囲のみが使用され得る。
当技術分野での他の手法は、複数のピークのための保護とスケーリングとを保証するための明示的ピーク探索を行わないことがある。主に、他の手法は(いくつかの構成では、合成方法自体が1つのピークを保証し得るが)ピッチラグ長さに対するだけでなくより大きいセグメントに対するスケーリングを適用する。いくつかの構成では、一般的な合成手法は、ピッチラグがオフであり得るか、またはピッチラグがセグメント内で変化し得るので、サイクルごとに1つのピークがあることを保証しない。言い換えれば、本明細書で開示するシステムおよび方法は、複数のピークの可能性を考慮に入れ得る。
本明細書で開示するシステムおよび方法の1つの特徴は、スケーリングおよびフィルタ処理がピッチサイクル同期に基づいて行われ得ることである。たとえば、他の手法は、単に残差をスケーリングし、およびフィルタ処理し得るが、その手法は、エネルギーを元の音声に一致させないことがある。しかしながら、本明細書で開示するシステムおよび方法は、あらゆるピッチサイクル中に(たとえば、デコーダに送られたとき)元の音声のエネルギーに一致させるのを助け得る。いくつかの従来の手法はスケールファクタを送信し得る。しかしながら、本明細書のシステムおよび方法は、スケールファクタを送信しないことがある。そうではなく、エネルギーインジケータ(たとえば、ピッチサイクルエネルギーパラメータ)が送られ得る。すなわち、従来の手法は、励起信号に直接適用された利得またはスケールファクタを送信し、したがって1つのステップで励起をスケーリングし得る。しかしながら、ピッチサイクルのエネルギーは、その手法では一致しないことがある。逆に、本明細書で開示するシステムおよび方法は、復号音声信号があらゆるピッチサイクルについて元の音声のエネルギーに一致することを保証するのを助け得る。
明快のために、ピッチ同期利得スケーリングおよびLPC合成ブロック/モジュール609のより詳細な説明を以下に与える。LPC合成フィルタA617aは励起セグメント615aを取得または受信し得る。励起セグメント615aは、たとえば、単一のピッチサイクルの長さである励起信号のセグメントであり得る。初めに、LPC合成フィルタA617aはゼロメモリ入力619を使用し得る。LPC合成フィルタA617aは第1の合成セグメント621を生成し得る。第1の合成セグメント621は、たとえば、x1(i)で示され得る。LPC合成フィルタA617aからの第1の合成セグメント621は、スケールファクタ判断ブロック/モジュールA623aに与えられ得る。スケールファクタ判断ブロック/モジュールA623aは、第1の合成セグメント621(たとえば、x1(i))とピッチサイクルエネルギー入力(たとえば、Ek)625とを使用して、第1のスケーリングファクタ(たとえば、Sk)635aを生成し得る。第1のスケーリングファクタ(たとえば、Sk)635aは第1の乗算器627aに与えられ得る。第1の乗算器627aは、第1のスケーリングされた励起セグメント615bを生成するために、励起セグメント615aに第1のスケーリングファクタ(たとえば、Sk)635aを乗算する。第1のスケーリングされた励起セグメント615b(たとえば、第1の乗算器627aの出力)は、LPC合成フィルタB617bと第2の乗算器627bとに与えられる。
LPC合成フィルタB617bは、第1のスケーリングされた励起セグメント615bならびに(前の動作からの)メモリ入力629を使用して、スケールファクタ判断ブロック/モジュールB623bに与えられる第2の合成セグメント(たとえば、x2(i))633を生成する。たとえば、メモリ入力629は、前フレームの終了においてメモリから入り得、および/または前ピッチサイクルから入り得る。スケールファクタ判断ブロック/モジュールB623bは、第2のスケーリングファクタ(たとえば、Sk)635bを生成するために、ピッチサイクルエネルギー入力(たとえば、Ek)625の他に第2の合成セグメント(たとえば、x2(i))633を使用し、第2のスケーリングファクタは、第2の乗算器627bに与えられる。第2の乗算器627bは、第2のスケーリングされた励起セグメント615cを生成するために、第1のスケーリングされた励起セグメント615bに第2のスケーリングファクタ(たとえば、Sk)635bを乗算する。第2のスケーリングされた励起セグメント615cは、LPC合成フィルタC617cに与えられる。LPC合成フィルタC617cは、メモリ入力629の他に第2のスケーリングされた励起セグメント615cを使用して、合成音声信号613とさらなる動作のためのメモリ631とを生成する。
図7は、励起信号をスケーリングするための方法700の一構成を示す流れ図である。図示の方法700は、合成(LPC)励起信号、ピッチサイクルエネルギーパラメータのセット、ピッチラグ、および/または(LPC)フィルタ係数のセットを使用し得る。電子デバイスが、702において、合成励起信号501、ピッチサイクルエネルギーパラメータ507のセット、ピッチラグ596、および/またはフィルタ係数511のセットを取得する。たとえば、電子デバイスは、ピッチラグ596および/または前フレーム残差信号594に基づいて合成励起信号501を生成し得る。電子デバイスは、ピッチラグ596を生成し得るか、または別のデバイスからそれを受信し得る。
一構成では、電子デバイスは、図2または図4に関して上記で説明したように、ピッチサイクルエネルギーパラメータ507のセットを生成または判断し得る。たとえば、ピッチサイクルエネルギーパラメータ507のセットは、上記で説明したように判断されるピッチサイクルエネルギーパラメータの第2のセットであり得る。別の構成では、電子デバイスは、別のデバイスから送られたピッチサイクルエネルギーパラメータ507のセットを受信し得る。一構成では、電子デバイスはフィルタ係数511を生成し得る。別の構成では、電子デバイスは、別のデバイスからフィルタ係数511を受信し得る。
電子デバイスは、704において、合成励起信号501をいくつかのセグメントにセグメント化する。一構成では、電子デバイスは、704において、ピッチラグ596に基づいて励起501をセグメント化する。たとえば、電子デバイスは、704において、励起501を、ピッチラグ596と同じ長さであるいくつかのセグメントにセグメント化する。別の構成では、電子デバイスは、704において、各セグメントが1つのピークを含んでいるように励起501をセグメント化する。
電子デバイスは、706において、合成セグメントを取得するために、各セグメントをフィルタ処理する。たとえば、電子デバイスは、706において、LPC合成フィルタとメモリ入力とを使用して各セグメント(たとえば、スケーリングされていないセグメントおよび/またはスケーリングされたセグメント)をフィルタ処理する。たとえば、LPC合成フィルタは、ゼロメモリ入力および/または前の動作からの(たとえば、前のピッチサイクルまたは前フレーム合成からの)メモリ入力を使用し得る。
電子デバイスは、708において、合成セグメント(たとえば、LPCフィルタ出力)とピッチサイクルエネルギーパラメータのセットとに基づいてスケーリングファクタを判断する。一構成では、各セグメントが1つのピークのみを含んでいる場合、スケーリングファクタ(たとえば、S
k)は式(1)によって示されるように判断され得る。
式(1)において、Sk,mは、k番目のセグメントとm番目のフィルタ出力または段階とについてのスケーリングファクタであり、Ekはピッチサイクルエネルギーパラメータであり、Lkはk番目のセグメントの長さであり、xmは合成セグメント(たとえば、LPCフィルタ出力)であり、ただし、mはフィルタ出力を表す。たとえば、一連のLPC合成フィルタにおいて、x1は第1のフィルタ出力であり、x2は第2のフィルタ出力である。式(1)は、708においてスケーリングファクタが判断され得る方法の一例を示すにすぎないことに留意されたい。たとえば、セグメントが2つ以上のピークを含むときに、他の手法が、708においてスケーリングファクタを判断するために使用され得る。
電子デバイスは、710において、スケーリングされたセグメントを取得するために、スケーリングファクタを使用して(合成励起の)セグメントをスケーリングする。たとえば、電子デバイスは、励起セグメント(たとえば、スケーリングされていない励起セグメントおよび/またはスケーリングされた励起セグメント)に1つまたは複数のスケーリングファクタを乗算し得る。たとえば、電子デバイスは、第1に、第1のスケーリングされたセグメントを取得するために、スケーリングされていない励起セグメントに第1のスケーリングファクタを乗算し得る。電子デバイスは、次いで、第2のスケーリングされたセグメントを取得するために、第1のスケーリングされたセグメントに第2のスケーリングファクタを乗算し得る。
706において各セグメントをフィルタ処理することと、708においてスケーリングファクタを判断することと、710においてセグメントをスケーリングすることとは、図7に示す順序とは異なる順序で繰り返され、および/または実行され得ることに留意されたい。たとえば、電子デバイスは、706において、第1の合成セグメント621を取得するためにセグメント615aをフィルタ処理し、708において、第1の合成セグメント621に基づいて第1のスケーリングファクタ635aを判断し、710において、第1のスケーリングされたセグメント615bを取得するためにスケーリングファクタ635aを使用してセグメント615aをスケーリングする。ステップ706、708、710は、次いで繰り返され得る。たとえば、電子デバイスは、次いで、706において、第2の合成セグメント633を取得するために第1のスケーリングされたセグメント615bをフィルタ処理し、708において、第2の合成セグメント633に基づいて第2のスケーリングファクタ635bを判断し、710において、第2のスケーリングされたセグメント615cを取得するために第1のスケーリングされたセグメント615bをスケーリングする。したがって、たとえば、電子デバイスは、706において、第1の合成セグメント621を取得するためにセグメント615aをフィルタ処理し、706において、第2の合成セグメント633を取得するために(セグメント615aと合成セグメント621とに基づいて取得された)第1のスケーリングされたセグメント615bをフィルタ処理する。さらに、電子デバイスは、708において、(ピッチサイクルエネルギーパラメータ625の他に)第1の合成セグメント621と第2の合成セグメント633とにそれぞれ基づいて第1のスケーリングファクタ635aと第2のスケーリングファクタ635bとを判断する。さらに、電子デバイスは、710において、(第1のスケーリングされたセグメント615bを取得するために)セグメント615aをスケーリングし、(第2のスケーリングされたセグメント615cを取得するために)第1のスケーリングされたセグメント615bをスケーリングする。
電子デバイスは、712において、スケーリングされたセグメントに基づいてオーディオ(たとえば、音声)信号を合成する。たとえば、電子デバイスは、合成音声信号513を生成するために、スケーリングされた励起セグメントをLPCフィルタ処理し得る。一構成では、LPCフィルタは、合成音声信号513を生成するために、スケーリングされたセグメントと前の動作からのメモリ入力(たとえば、前フレームおよび/または前のピッチサイクルからのメモリ)を使用し得る。
電子デバイスは、714において、メモリを更新する。たとえば、電子デバイスは、714において合成フィルタメモリを更新するために、合成音声信号に対応する情報を記憶し得る。
図8は、励起信号をスケーリングするための方法800のより具体的な構成を示す流れ図である。図示の方法800は、合成(LPC)励起信号、ピッチサイクルエネルギーパラメータのセット、ピッチラグ、および/または(LPC)フィルタ係数のセットを使用し得る。電子デバイスが、802において、合成励起信号501、ピッチサイクルエネルギーパラメータ507のセット、ピッチラグ596、および/またはフィルタ係数511のセットを取得する。たとえば、電子デバイスは、ピッチラグ596および/または前フレーム残差信号594に基づいて合成励起信号501を生成し得る。電子デバイスは、ピッチラグ596を生成し得るか、または別のデバイスからそれを受信し得る。
一構成では、電子デバイスは、図2または図4に関して上記で説明したように、ピッチサイクルエネルギーパラメータ507のセットを生成または判断し得る。たとえば、ピッチサイクルエネルギーパラメータ507のセットは、上記で説明したように判断されるピッチサイクルエネルギーパラメータの第2のセットであり得る。別の構成では、電子デバイスは、別のデバイスから送られたピッチサイクルエネルギーパラメータ507のセットを受信し得る。一構成では、電子デバイスはフィルタ係数511を生成し得る。別の構成では、電子デバイスは、別のデバイスからフィルタ係数511を受信し得る。
電子デバイスは、804において、各セグメントがピッチラグ596に等しい長さになるように合成励起信号501をいくつかのセグメントにセグメント化する。たとえば、電子デバイスは、あるサンプルの数またはある時間期間においてピッチラグ596を取得し得る。電子デバイスは、次いで、合成励起信号のフレームの部分をピッチラグ596に等しい長さの1つまたは複数のセグメントにセグメント化、分割および/または指定し得る。
電子デバイスは、806において、セグメントの各々内のピークの数を判断する。たとえば、電子デバイスは、806において何個のピーク(たとえば、1つまたは複数)がセグメントの各々内に含まれるかを判断するために各セグメントを探索し得る。一構成では、電子デバイスは、セグメントに基づいて残差信号を取得し、残差内の高いエネルギーの領域を見つけ得る。たとえば、1つまたは複数のしきい値を満たす残差中の1つまたは複数のポイントがピークであり得る。
電子デバイスは、808において、各セグメントについてのピークの数が1に等しいのか、または1よりも大きい(たとえば、2以上である)のかを判断する。セグメントについてのピークの数が1に等しい場合、電子デバイスは、810において、合成セグメントを取得するためにセグメントをフィルタ処理する。電子デバイスはまた、812において、合成セグメントとピッチサイクルエネルギーパラメータとに基づいてスケーリングファクタを判断する。一構成では、スケーリングファクタは、式(2)によって示されるように判断され得る。
式(2)において、Sk,mはk番目のセグメントについてのスケーリングファクタであり、Ekはk番目のセグメントについてのピッチサイクルエネルギーパラメータであり、Lkはk番目のセグメントの長さであり、xmは合成セグメント(たとえば、LPCフィルタ出力)であり、ただし、mはフィルタ出力(たとえば、番号またはインデックス)を表す。たとえば、いくつかの(一連の)LPC合成フィルタにおいて、x1は第1のフィルタ出力であり、x2は第2のフィルタ出力である。観察され得るように、式(2)の分母における加算は、この場合(たとえば、セグメント中にただ1つのピークがある場合)、セグメントの長さ全体にわたって実行され得る。
セグメントについてのピークの数が1よりも大きい場合、電子デバイスは、814において、合成セグメントを取得するためにセグメントをフィルタ処理する。電子デバイスはまた、816において、高々1つのピークを含む範囲とピッチサイクルエネルギーパラメータとに基づく合成セグメントに基づいてスケーリングファクタを判断する。一構成では、スケーリングファクタは、式(3)によって示されるように判断され得る。
式(3)において、S
k,mはスケーリングファクタであり、E
kはピッチサイクルエネルギーパラメータであり、kはセグメント番号またはインデックスであり、x
mは合成セグメントであり、ただし、mはフィルタ出力を表す。たとえば、いくつかの(たとえば、一連の)LPC合成フィルタにおいて、x
1は第1の合成セグメント(たとえば、フィルタ出力)であり、x
2は第2の合成セグメント(たとえば、フィルタ出力)である。さらに、jおよびnは、式(4)に示す励起内の高々1つのピークを含むように選択されるインデックスである。
電子デバイスは、818において、スケーリングされたセグメントを取得するために、スケーリングファクタを使用して(合成励起の)各セグメントをスケーリングする。たとえば、電子デバイスは、励起セグメント(たとえば、スケーリングされていない励起セグメントおよび/またはスケーリングされた励起セグメント)に1つまたは複数のスケーリングファクタを乗算し得る。たとえば、電子デバイスは、第1に、第1のスケーリングされたセグメント615bを取得するために、スケーリングされていない励起セグメント615aに第1のスケーリングファクタ635aを乗算し得る。電子デバイスは、次いで、第2のスケーリングされたセグメント615cを取得するために、第1のスケーリングされたセグメント615bに第2のスケーリングファクタ635bを乗算し得る。
電子デバイスは、820において、スケーリングされたセグメントに基づいて音声信号を合成する。たとえば、電子デバイスは、合成音声信号513を生成するために、スケーリングされた励起セグメントをLPCフィルタ処理し得る。一構成では、LPCフィルタは、合成音声信号513を生成するために、スケーリングされたセグメントと前の動作からのメモリ入力(たとえば、前フレームおよび/または前のピッチサイクルからのメモリ)を使用し得る。
電子デバイスは、822において、メモリを更新する。たとえば、電子デバイスは、714において合成フィルタメモリを更新するために、合成音声信号に対応する情報を記憶し得る。
図9は、ピッチサイクルエネルギーを判断するためのシステムおよび方法が実装され得る、電子デバイス902の一例を示すブロック図である。この例では、電子デバイス902は、前処理および雑音抑圧ブロック/モジュール937と、モデルパラメータ推定ブロック/モジュール941と、レート判断ブロック/モジュール939と、第1のスイッチングブロック/モジュール943と、無音エンコーダ945と、雑音励起線形予測(NELP:noise excited linear prediction)エンコーダ947と、過渡エンコーダ949と、1/4レートプロトタイプピッチ周期(QPPP)エンコーダ951と、第2のスイッチングブロック/モジュール953と、パケットフォーマッティングブロック/モジュール955とを含む。
前処理および雑音抑圧ブロック/モジュール937は、音声信号906を取得または受信し得る。一構成では、前処理および雑音抑圧ブロック/モジュール937は、音声信号906中の雑音を抑制し、および/または音声信号906に対してフィルタ処理などの他の処理を実行し得る。得られた出力信号はモデルパラメータ推定ブロック/モジュール941に与えられる。
モデルパラメータ推定ブロック/モジュール941は、線形予測分析によってLPC係数を推定し、第1の近似ピッチラグを推定し、第1の近似ピッチラグにおける自己相関を推定し得る。レート判断ブロック/モジュール939は、音声信号906を符号化するためのコーディングレートを判断し得る。コーディングレートは、(符号化)音声信号906を復号する際に使用するためにデコーダに与えられ得る。
電子デバイス902は、音声信号906を符号化するためにどのエンコーダを使用すべきかを判断し得る。時々、音声信号906は、実際の音声を常に含んでいるとは限らないが、たとえば、無音および/または雑音を含んでいることがあることに留意されたい。一構成では、電子デバイス902は、モデルパラメータ推定941に基づいてどのエンコーダを使用すべきかを判断し得る。たとえば、電子デバイス902が音声信号906中で無音を検出した場合、電子デバイス902は、無音エンコーダ945を通して(無音)音声信号をチャネリングするために第1のスイッチングブロック/モジュール943を使用し得る。第1のスイッチングブロック/モジュール943は、モデルパラメータ推定941に基づいて、NELPエンコーダ947、過渡エンコーダ949またはQPPPエンコーダ951によって符号化するように音声信号906をスイッチングするために同様に使用され得る。
無音エンコーダ945は、1つまたは複数のいくつかの情報を用いて無音を符号化または表現し得る。たとえば、無音エンコーダ945は、音声信号906中の無音の長さを表すパラメータを生成し得る。
雑音励起線形予測(NELP)エンコーダ947は、無声音声として分類されたフレームをコーディングするために使用され得る。NELPコーディングは、信号再生に関して効果的に動作し、音声信号906はピッチ構造をほとんどまたはまったく有しない。より詳細には、NELPは、無声音声または背景雑音など、性質が雑音様である音声を符号化するために使用され得る。NELPは、フィルタ処理された擬似ランダム雑音信号を使用して無声音声をモデル化する。そのような音声セグメントの雑音様の性質は、デコーダにおいてランダム信号を生成し、それらに適切な利得を適用することによって再構成され得る。NELPは、コード化音声について単純なモデルを使用し、それによってより低いビットレートを達成し得る。
過渡エンコーダ949は、音声信号906中の過渡フレームを符号化するために使用され得る。より詳細には、電子デバイス902は、過渡フレームが検出されたとき、音声信号906を符号化するために過渡エンコーダ949を使用し得る。一構成では、上記の図1および図3に関して説明したエンコーダ104、304は、過渡エンコーダ949の例であり得る。たとえば、過渡エンコーダ949は、デコーダが過渡フレームにおいて元の音声信号906からのエネルギー輪郭に一致することが可能であり得るようにピッチサイクルエネルギーパラメータを判断し得る。過渡エンコーダ949は、本明細書で開示するシステムおよび方法の1つの可能な適用例として与えられるが、本明細書で開示するシステムおよび方法は、他のタイプのエンコーダ(たとえば、無音エンコーダ945、NELPエンコーダ947、および/またはQPPPエンコーダ951などのプロトタイプピッチ周期(PPP)エンコーダなど)に適用され得ることに留意されたい。
1/4レートプロトタイプピッチ周期(QPPP)エンコーダ951は、有声音声として分類されたフレームをコーディングするために使用され得る。有声音声は、QPPPエンコーダ951によって活用される、緩やかに時間変動する周期成分を含んでいる。QPPPエンコーダ951は、各フレーム内のピッチ周期のサブセットをコーディングする。音声信号906の残りの期間は、これらのプロトタイプ期間間の補間によって再構成される。有声音声の周期性を活用することにより、QPPPエンコーダ951は、音声信号906を知覚的に正確な方法で再生することが可能である。
QPPPエンコーダ951は、性質が周期的である音声データを符号化するために使用され得る、プロトタイプピッチ周期波形補間(PPPWI)を使用し得る。そのような音声は、「プロトタイプ」ピッチ周期(PPP)と同様である異なるピッチ周期によって特徴づけられる。このPPPは、QPPPエンコーダ951が符号化するために使用するボイス情報であり得る。デコーダは、音声セグメント中の他のピッチ周期を再構成するためにこのPPPを使用し得る。
第2のスイッチングブロック/モジュール953は、パケットフォーマッティングブロック/モジュール955に対して現在フレームをコーディングするために使用されたエンコーダ945、947、949、951からの(符号化)音声信号をチャネリングするために使用され得る。パケットフォーマッティングブロック/モジュール955は、(たとえば、送信のために)(符号化)音声信号906を1つまたは複数のパケット957にフォーマットし得る。たとえば、パケットフォーマッティングブロック/モジュール955は、過渡フレームのためのパケット957をフォーマットし得る。一構成では、パケットフォーマッティングブロック/モジュール955によって生成された1つまたは複数のパケット957は別のデバイスに送信され得る。
図10は、励起信号をスケーリングするためのシステムおよび方法が実装され得る、電子デバイス1000の一例を示すブロック図である。この例では、電子デバイス1000は、フレーム/ビット誤り検出器1061と、パケット化解除ブロック/モジュール1063と、第1のスイッチングブロック/モジュール1065と、無音デコーダ1067と、雑音励起線形予測(NELP)デコーダ1069と、過渡デコーダ1071と、1/4レートプロトタイプピッチ周期(QPPP)デコーダ1073と、第2のスイッチングブロック/モジュール1075と、ポストフィルタ1077とを含む。
電子デバイス1000はパケット1059を受信し得る。パケット1059は、フレーム/ビット誤り検出器1061とパケット化解除ブロック/モジュール1063とに与えられ得る。パケット化解除ブロック/モジュール1063は、パケット1059から情報を「アンパック」し得る。たとえば、パケット1059は、ペイロードデータに加えて、ヘッダ情報、誤り訂正情報、ルーティング情報および/または他の情報を含み得る。パケット化解除ブロック/モジュール1063はパケット1059からペイロードデータを抽出し得る。ペイロードデータは第1のスイッチングブロック/モジュール1065に与えられ得る。
フレーム/ビット誤り検出器1061は、パケット1059の部分または全部が誤って受信されたかどうかを検出し得る。たとえば、フレーム/ビット誤り検出器1061は、パケット1059のいずれかが誤って受信されたかどうかを判断するために(パケット1059とともに送られた)誤り検出コードを使用し得る。いくつかの構成では、電子デバイス1000は、フレーム/ビット誤り検出器1061の出力によって示され得る、パケット1059の一部または全部が誤って受信されたかどうかに基づいて、第1のスイッチングブロック/モジュール1065および/または第2のスイッチングブロック/モジュール1075を制御し得る。
追加または代替として、パケット1059は、ペイロードデータを復号するためにどのタイプのデコーダが使用されなければならないかを示す情報を含み得る。たとえば、符号化電子デバイス902は、符号化モードを示す2ビットを送り得る。(復号)電子デバイス1000は、この指示を使用して第1のスイッチングブロック/モジュール1065と第2のスイッチングブロック/モジュール1075とを制御し得る。
したがって、電子デバイス1000は、無音デコーダ1067、NELPデコーダ1069、過渡デコーダ1071および/またはQPPPデコーダ1073を使用して、パケット1059からペイロードデータを復号し得る。復号されたデータは、次いで、第2のスイッチングブロック/モジュール1075に与えられ得、第2のスイッチングブロック/モジュール1075は、復号されたデータをポストフィルタ1077にルーティングし得る。ポストフィルタ1077は、復号されたデータに対して何らかのフィルタ処理を実行し、合成音声信号1079を出力し得る。
一例では、パケット1059は、ペイロードデータを符号化するために無音エンコーダ945が使用されたことを(コーディングモードインジケータで)示し得る。電子デバイス1000は、ペイロードデータを無音デコーダ1067にルーティングするように第1のスイッチングブロック/モジュール1065を制御し得る。復号された(無音)ペイロードデータは、次いで、第2のスイッチングブロック/モジュール1075に与えられ得、第2のスイッチングブロック/モジュール1075は、復号されたペイロードデータをポストフィルタ1077にルーティングし得る。別の例では、NELPエンコーダ947によって符号化された音声信号(たとえば、無声音声信号)を復号するためにNELPデコーダ1069が使用され得る。
別の例では、パケット1059は、ペイロードデータが過渡エンコーダ949を使用して符号化されたことを(たとえば、コーディングモードインジケータを使用して)示し得る。したがって、電子デバイス1000は、第1のスイッチングブロック/モジュール1065を使用してペイロードデータを過渡デコーダ1071にルーティングし得る。過渡デコーダ1071は、図5に関して上記で説明したデコーダ592の一例であり得る。したがって、過渡デコーダ1071は、上記で説明したようにペイロードデータを復号し得る。しかしながら、本明細書で開示するシステムおよび方法は、無音デコーダ1067、NELPデコーダ1069および/またはプロトタイプピッチ周期(PPP)デコーダ(たとえば、QPPPデコーダ1073)などの他のデコーダに適用され得ることに留意されたい。QPPPエンコーダ951によって符号化された音声信号(たとえば、有声音声信号)を復号するためにQPPPデコーダ1073が使用され得る。
復号されたデータは、第2のスイッチングブロック/モジュール1075に与えられ得、第2のスイッチングブロック/モジュール1075は、復号されたデータをポストフィルタ1077にルーティングし得る。ポストフィルタ1077は、信号に対して何らかのフィルタ処理を実行し得、その信号は合成音声信号1079として出力され得る。合成音声信号1079は、次いで、記憶され、(たとえば、スピーカーを使用して)出力され、および/または別のデバイス(たとえば、Bluetoothヘッドセット)に送信され得る。
図11は、ピッチサイクルエネルギーを判断し、および/または励起信号をスケーリングするためのシステムおよび方法が実装され得る、ワイヤレス通信デバイス1102の一構成を示すブロック図である。ワイヤレス通信デバイス1102は、アプリケーションプロセッサ1193を含み得る。アプリケーションプロセッサ1193は、概して、ワイヤレス通信デバイス上の機能を実行するようにとの命令を処理する(たとえば、プログラムを実行する)。アプリケーションプロセッサ1193は、オーディオコーダ/デコーダ(コーデック)1187に結合され得る。
オーディオコーデック1187は、オーディオ信号をコーディングおよび/または復号するために使用される電子デバイス(たとえば、集積回路)であり得る。オーディオコーデック1187は、1つまたは複数のスピーカー1181、イヤピース1183、出力ジャック1185および/または1つまたは複数のマイクロフォン1119に結合され得る。スピーカー1181は、電気または電子信号を音響信号に変換する1つまたは複数の電気音響トランスデューサを含み得る。たとえば、スピーカー1181は、音楽を再生するか、またはスピーカーフォン会話などを出力するために使用され得る。イヤピース1183は、音響信号(たとえば、音声信号)をユーザに出力するために使用され得る別のスピーカーまたは電気音響トランスデューサであり得る。たとえば、イヤピース1183は、ユーザのみが音響信号を確実に聴取し得るように使用され得る。出力ジャック1185は、ヘッドフォンなど、オーディオを出力するためのワイヤレス通信デバイス1102に他のデバイスを結合するために使用され得る。スピーカー1181、イヤピース1183および/または出力ジャック1185は、概して、オーディオコーデック1187からオーディオ信号を出力するために使用され得る。1つまたは複数のマイクロフォン1119は、音響信号(ユーザのボイスなど)を、オーディオコーデック1187に与えられる電気または電子信号に変換する音響電気トランスデューサであり得る。
オーディオコーデック1187は、ピッチサイクルエネルギー判断ブロック/モジュール1189を含み得る。一構成では、ピッチサイクルエネルギー判断ブロック/モジュール1189は、上記の図1および図3に関して説明したエンコーダ104、304などのエンコーダ中に含まれる。ピッチサイクルエネルギー判断ブロック/モジュール1189は、本明細書で開示するシステムおよび方法に従ってピッチサイクルエネルギーパラメータのセットを判断するために、図2および図4に関して上記で説明した方法200、400のうちの1つまたは複数を実行するために使用され得る。
オーディオコーデック1187は、追加または代替として励起スケーリングブロック/モジュール1191を含み得る。一構成では、励起スケーリングブロック/モジュール1191は、図5に関して上記で説明したデコーダ592などのデコーダ中に含まれる。励起スケーリングブロック/モジュール1191は、上記の図7および図8に関して説明した方法700、800のうちの1つまたは複数を実行し得る。
アプリケーションプロセッサ1193はまた、電力管理回路1195に結合され得る。電力管理回路の一例は電力管理集積回路(PMIC)であり、それは、ワイヤレス通信デバイス1102の電力消費を管理するために使用され得る。電力管理回線1195はバッテリー1197に結合され得る。バッテリー1197は、概して、ワイヤレス通信デバイス1102に電力を与え得る。
アプリケーションプロセッサ1193は、入力を受信するための1つまたは複数の入力デバイス1199に結合され得る。入力デバイス1199の例には、赤外線センサー、画像センサー、加速度計、タッチセンサー、キーパッドなどがある。入力デバイス1199は、ワイヤレス通信デバイス1102とのユーザ対話を可能にし得る。アプリケーションプロセッサ1193はまた、1つまたは複数の出力デバイス1101に結合され得る。出力デバイス1101の例には、プリンタ、プロジェクタ、スクリーン、触覚デバイスなどがある。出力デバイス1101は、ワイヤレス通信デバイス1102が、ユーザが受け得る出力を生成することを可能にし得る。
アプリケーションプロセッサ1193は、アプリケーションメモリ1103に結合され得る。アプリケーションメモリ1103は、電子情報を記憶することが可能な任意の電子デバイスであり得る。アプリケーションメモリ1103の例には、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ(DDRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、フラッシュメモリなどがある。アプリケーションメモリ1103は、ストレージをアプリケーションプロセッサ1193に与え得る。たとえば、アプリケーションメモリ1103は、アプリケーションプロセッサ1193上で実行されるプログラムの機能のためのデータおよび/または命令を記憶し得る。
アプリケーションプロセッサ1193はディスプレイコントローラ1105に結合され得、ディスプレイコントローラ1105はディスプレイ1117に結合され得る。ディスプレイコントローラ1105は、ディスプレイ1117上に画像を生成するために使用されるハードウェアブロックであり得る。たとえば、ディスプレイコントローラ1105は、アプリケーションプロセッサ1193からの命令および/またはデータを、ディスプレイ1117上に提示され得る画像に変換し得る。ディスプレイ1117の例には、液晶ディスプレイ(LCD)パネル、発光ダイオード(LED)パネル、陰極線管(CRT)ディスプレイ、プラズマディスプレイなどがある。
アプリケーションプロセッサ1193は、ベースバンドプロセッサ1107に結合され得る。ベースバンドプロセッサ1107は、概して、通信信号を処理する。たとえば、ベースバンドプロセッサ1107は、受信した信号を復調および/または復号し得る。追加または代替として、ベースバンドプロセッサ1107は、送信に備えて信号を符号化および/または変調し得る。
ベースバンドプロセッサ1107は、ベースバンドメモリ1109に結合され得る。ベースバンドメモリ1109は、SDRAM、DDRAM、フラッシュメモリなど、電子情報を記憶することが可能な任意の電子デバイスであり得る。ベースバンドプロセッサ1107は、ベースバンドメモリ1109から情報(たとえば、命令および/またはデータ)を読み取り、および/またはベースバンドメモリ1109に情報を書き込み得る。追加または代替として、ベースバンドプロセッサ1107は、通信動作を実行するために、ベースバンドメモリ1109に記憶された命令および/またはデータを使用し得る。
ベースバンドプロセッサ1107は、無線周波数(RF)トランシーバ1111に結合され得る。RFトランシーバ1111は、電力増幅器1113と1つまたは複数のアンテナ1115とに結合され得る。RFトランシーバ1111は、無線周波信号を送信および/または受信し得る。たとえば、RFトランシーバ1111は、電力増幅器1113と1つまたは複数のアンテナ1115とを使用してRF信号を送信し得る。RFトランシーバ1111はまた、1つまたは複数のアンテナ1115を使用してRF信号を受信し得る。ワイヤレス通信デバイス1102は、本明細書で説明する電子デバイス102、168、902、1000、1202またはワイヤレス通信デバイス1300の一例であり得る。
図12に、電子デバイス1200において利用され得る様々な構成要素を示す。図示の構成要素は、同じ物理構造内に配置されるか、あるいは別個のハウジングまたは構造中に配置され得る。前に説明した電子デバイス102、168、902、1000のうちの1つまたは複数は、電子デバイス1200と同様に構成され得る。電子デバイス1200はプロセッサ1227を含む。プロセッサ1227は、汎用シングルまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ1227は中央処理ユニット(CPU)と呼ばれることがある。図12の電子デバイス1200中に単一のプロセッサ1227のみを示しているが、代替構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。
電子デバイス1200はまた、プロセッサ1227と電子通信しているメモリ1221を含む。すなわち、プロセッサ1227は、メモリ1221から情報を読み取り、および/またはメモリ1221に情報を書き込むことができる。メモリ1221は、電子情報を記憶することが可能な任意の電子構成要素であり得る。メモリ1221は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスクストレージ媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなど、およびそれらの組合せであり得る。
データ1225aおよび命令1223aがメモリ1221に記憶され得る。命令1223aは、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含み得る。命令1223aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令1223aは、上記で説明した方法200、400、700、800のうちの1つまたは複数を実装するために、プロセッサ1227によって実行可能であり得る。命令1223aを実行することは、メモリ1221に記憶されたデータ1225aの使用を含み得る。図12は、プロセッサ1227にロードされている(命令1223aおよびデータ1225aから来ることがある)いくつかの命令1223bおよびデータ1225bを示している。
電子デバイス1200はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース1231を含み得る。通信インターフェース1231は、ワイヤード通信技術、ワイヤレス通信技術、または両方に基づき得る。異なるタイプの通信インターフェース1231の例には、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプター、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、Bluetoothワイヤレス通信アダプターなどがある。
電子デバイス1200はまた、1つまたは複数の入力デバイス1233と、1つまたは複数の出力デバイス1237とを含み得る。様々な種類の入力デバイス1233の例には、キーボード、マウス、マイクロフォン、遠隔制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。たとえば、電子デバイス1200は、音響信号をキャプチャするための1つまたは複数のマイクロフォン1235を含み得る。一構成では、マイクロフォン1235は、音響信号(たとえば、ボイス、音声)を電気または電子信号に変換するトランスデューサであり得る。様々な種類の出力デバイス1237の例には、スピーカー、プリンタなどがある。たとえば、電子デバイス1200は1つまたは複数のスピーカー1239を含み得る。一構成では、スピーカー1239は、電気または電子信号を音響信号に変換するトランスデューサであり得る。電子デバイス1200中に典型的に含まれ得る1つの特定のタイプの出力デバイスはディスプレイデバイス1241である。本明細書で開示する構成とともに使用されるディスプレイデバイス1241は、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンスなど、任意の好適な画像投影技術を利用し得る。ディスプレイコントローラ1243はまた、メモリ1221に記憶されたデータをディスプレイデバイス1241上に示されるテキスト、グラフィック、および/または動画(適宜)に変換するために設けられ得る。
電子デバイス1200の様々な構成要素は、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る1つまたは複数のバスによって互いに結合され得る。簡単のために、図12では様々なバスはバスシステム1229として示してある。図12は、電子デバイス1200の1つの可能な構成しか示していないことに留意されたい。様々な他のアーキテクチャおよび構成要素も利用され得る。
図13に、ワイヤレス通信デバイス1300内に含まれ得るいくつかの構成要素を示す。上記で説明した電子デバイス102、168、902、1000、1200および/またはワイヤレス通信デバイス1102のうちの1つまたは複数は、図13に示すワイヤレス通信デバイス1300と同様に構成され得る。
ワイヤレス通信デバイス1300はプロセッサ1363を含む。プロセッサ1363は、汎用シングルまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ1363は中央処理ユニット(CPU)と呼ばれることがある。図13のワイヤレス通信デバイス1300中に単一のプロセッサ1363のみを示しているが、代替構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。
ワイヤレス通信デバイス1300はまた、プロセッサ1363と電子通信しているメモリ1345を含む(すなわち、プロセッサ1363は、メモリ1345から情報を読み取り、および/またはメモリ1345に情報を書き込むことができる)。メモリ1345は、電子情報を記憶することが可能な任意の電子構成要素であり得る。メモリ1345は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスクストレージ媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなど、およびそれらの組合せであり得る。
データ1347および命令1349がメモリ1345に記憶され得る。命令1349は、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャ、コードなどを含み得る。命令1349は、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令1349は、上記で説明した方法200、400、700,800のうちの1つまたは複数を実装するために、プロセッサ1363によって実行可能であり得る。命令1349を実行することは、メモリ1345に記憶されたデータ1347の使用を含み得る。図13は、プロセッサ1363にロードされている(命令1349およびデータ1347から来ることがある)いくつかの命令1349aおよびデータ1347aを示している。
ワイヤレス通信デバイス1300はまた、ワイヤレス通信デバイス1300と遠隔ロケーション(たとえば、別の電子デバイス、ワイヤレス通信デバイスなど)との間の信号の送信および受信を可能にするために、送信機1359と受信機1361とを含み得る。送信機1359と受信機1361とはトランシーバ1357と総称されることがある。アンテナ1365はトランシーバ1357に電気的に結合され得る。ワイヤレス通信デバイス1300はまた、複数の送信機、複数の受信機、複数のトランシーバおよび/または複数のアンテナを含み得る(図示せず)。
いくつかの構成では、ワイヤレス通信デバイス1300は、音響信号をキャプチャするための1つまたは複数のマイクロフォン1351を含み得る。一構成では、マイクロフォン1351は、音響信号(たとえば、ボイス、音声)を電気または電子信号に変換するトランスデューサであり得る。追加または代替として、ワイヤレス通信デバイス1300は1つまたは複数のスピーカー1353を含み得る。一構成では、スピーカー1353は、電気または電子信号を音響信号に変換するトランスデューサであり得る。
ワイヤレス通信デバイス1300の様々な構成要素は、パワーバス、制御信号バス、ステータス信号バス、データバスなどを含み得る1つまたは複数のバスシステムによって一緒に結合され得る。簡単のために、図13では様々なバスはバスシステム1355として示してある。
上記の説明では、様々な用語とともに参照番号を時々使用した。用語が参照番号とともに使用されている場合、これは、1つまたは複数の図に示された特定の要素を指すものとされ得る。用語が参照番号なしに使用されている場合、これは、概して特定の図に限定されない用語を指すものとされ得る。
「判断」という用語は、多種多様なアクションを包含し、したがって、「判断」は、計算、算出、処理、導出、調査、探索(たとえば、テーブル、データベースまたは別のデータ構造での探索)、確認などを含むことができる。また、「判断」は、受信(たとえば、情報を受信すること)、アクセス(たとえば、メモリ中のデータにアクセスすること)などを含むことができる。また、「判断」は、解決、選択、選出、確立などを含むことができる。
「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。
本明細書で説明した機能は、1つまたは複数の命令としてプロセッサ可読媒体またはコンピュータ可読媒体上に記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な媒体を指す。限定ではなく、例として、そのような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。コンピュータ可読媒体は有形で非一時的であり得ることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理または計算され得るコードまたは命令(たとえば、「プログラム」)と組み合わせたコンピューティングデバイスまたはプロセッサを指す。本明細書で使用する「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指すことがある。
ソフトウェアまたは命令はまた、送信媒体を介して送信され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、送信媒体の定義に含まれる。
本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲の範囲から逸脱することなく互いに交換され得る。言い換えれば、本明細書で説明した方法の適切な動作のためにステップまたはアクションの特定の順序が必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲の範囲を逸脱することなく修正され得る。
特許請求の範囲は、上記に示した正確な構成および構成要素に限定されないことを理解されたい。特許請求の範囲から逸脱することなく、本明細書で説明したシステム、方法、および装置の構成、動作および詳細において、様々な改変、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]プロセッサと、
前記プロセッサと電子通信しているメモリと、
前記メモリに記憶された命令と
を備える、ピッチサイクルエネルギーパラメータのセットを判断するための電子デバイスであって、前記命令は、
フレームを取得することと、
フィルタ係数のセットを取得することと、
前記フレームとフィルタ係数の前記セットとに基づいて残差信号を取得することと、
前記残差信号に基づいてピークロケーションのセットを判断することと、
前記残差信号の各セグメントが1つのピークを含むように、前記残差信号をセグメント化することと、
2つの連続するピークロケーション間のフレーム領域に基づいてピッチサイクルエネルギーパラメータの第1のセットを判断することと、
マッピングを生成するために、前記残差信号中のピーク間の領域を合成励起信号中のピーク間の領域にマッピングすることと、
ピッチサイクルエネルギーパラメータの前記第1のセットと前記マッピングとに基づいて、ピッチサイクルエネルギーパラメータの第2のセットを判断することとを実行可能である、電子デバイス。
[2]前記命令は、ピッチサイクルエネルギーパラメータの前記第2のセットを送ることをさらに実行可能である、[1]に記載の電子デバイス。
[3]前記命令は、
フィルタ係数の前記セットを取得するために、前記フレームと現在フレームより前の信号とを使用して線形予測分析を実行することと、
フィルタ係数の前記セットに基づいて量子化フィルタ係数のセットを判断することと
をさらに実行可能である、[1]に記載の電子デバイス。
[4]前記残差信号を取得することが、量子化フィルタ係数の前記セットにさらに基づく、[3]に記載の電子デバイス。
[5]前記命令は、前記合成励起信号を取得することをさらに実行可能である、[1]に記載の電子デバイス。
[6]ピークロケーションのセットを判断することは、
前記残差信号およびウィンドウ信号のサンプルの絶対値に基づいて包絡線信号を計算することと、
前記包絡線信号と前記包絡線信号の時間シフトバージョンとの間の差に基づいて第1の勾配信号を計算することと、
前記第1の勾配信号と前記第1の勾配信号の時間シフトバージョンとの間の差に基づいて第2の勾配信号を計算することと、
第2の勾配信号値が第1のしきい値を下回るロケーションインデックスの第1のセットを選択することと、
包絡線値が包絡線中の最大値に対する第2のしきい値を下回るロケーションインデックスをなくすことによって、ロケーションインデックスの前記第1のセットからロケーションインデックスの第2のセットを判断することと、
隣接ロケーションインデックスに対する差しきい値を満たさないロケーションインデックスをなくすことによって、ロケーションインデックスの前記第2のセットからロケーションインデックスの第3のセットを判断することと
を備える、[1]に記載の電子デバイス。
[7]前記電子デバイスがワイヤレス通信デバイスである、[1]に記載の電子デバイス。
[8]プロセッサと、
前記プロセッサと電子通信しているメモリと、
前記メモリに記憶された命令と
を備える、励起をスケーリングするための電子デバイスであって、前記命令は、
合成励起信号と、ピッチサイクルエネルギーパラメータのセットと、ピッチラグとを取得することと、
前記合成励起信号をいくつかのセグメントにセグメント化することと、
合成セグメントを取得するために、各セグメントをフィルタ処理することと、
前記合成セグメントとピッチサイクルエネルギーパラメータの前記セットとに基づいてスケーリングファクタを判断することと、
スケーリングされたセグメントを取得するために、前記スケーリングファクタを使用して前記セグメントをスケーリングすることと
を実行可能である、電子デバイス。
[9]前記命令は、
前記スケーリングされたセグメントに基づいてオーディオ信号を合成することと、
メモリを更新することと
をさらに実行可能である、[8]に記載の電子デバイス。
[10]前記合成励起信号は、各セグメントが1つのピークを含んでいるようにセグメント化される、[8]に記載の電子デバイス。
[11]前記スケーリングファクタが式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m がフィルタ出力mについての合成セグメントである、[10]に記載の電子デバイス。
[12]前記合成励起信号は、各セグメントが前記ピッチラグに等しい長さになるようにセグメント化される、[8]に記載の電子デバイス。
[13]前記命令は、
各々の前記セグメント内のピークの数を判断することと、
1つの前記セグメント内のピークの数が1に等しいのかまたは1よりも大きいのかを判断することと
をさらに実行可能である、[12]に記載の電子デバイス。
[14]前記スケーリングファクタがセグメントについて式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m は、前記セグメント内のピークの前記数が1に等しい場合の、フィルタ出力mについての合成セグメントである、[13]に記載の電子デバイス。
[15]前記スケーリングファクタは、セグメントについて、前記セグメント内のピークの前記数が1よりも大きい場合に高々1つのピークを含む範囲に基づいて判断される、[13]に記載の電子デバイス。
[16]前記スケーリングファクタがセグメントについて式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m がフィルタ出力mについての合成セグメントであり、jおよびnが、式|n−j|≦L k に従って前記セグメント内に高々1つのピークを含むように選択されたインデックスである、[15]に記載の電子デバイス。
[17]前記電子デバイスがワイヤレス通信デバイスである、[8]に記載の電子デバイス。
[18]電子デバイス上でピッチサイクルエネルギーパラメータのセットを判断するための方法であって、
フレームを取得することと、
フィルタ係数のセットを取得することと、
前記フレームとフィルタ係数の前記セットとに基づいて残差信号を取得することと、
前記残差信号に基づいてピークロケーションのセットを判断することと、
前記残差信号の各セグメントが1つのピークを含むように、前記残差信号をセグメント化することと、
2つの連続するピークロケーション間のフレーム領域に基づいてピッチサイクルエネルギーパラメータの第1のセットを判断することと、
マッピングを生成するために、前記残差信号中のピーク間の領域を合成励起信号中のピーク間の領域にマッピングすることと、
ピッチサイクルエネルギーパラメータの前記第1のセットと前記マッピングとに基づいて、ピッチサイクルエネルギーパラメータの第2のセットを判断することと
を備える方法。
[19]ピッチサイクルエネルギーパラメータの前記第2のセットを送ることをさらに備える、[18]に記載の方法。
[20]フィルタ係数の前記セットを取得するために、前記フレームと現在フレームより前の信号とを使用して線形予測分析を実行することと、
フィルタ係数の前記セットに基づいて量子化フィルタ係数のセットを判断することと
をさらに備える、[18]に記載の方法。
[21]前記残差信号を取得することが、量子化フィルタ係数の前記セットにさらに基づく、[20]に記載の方法。
[22]前記合成励起信号を取得することをさらに備える、[18]に記載の方法。
[23]ピークロケーションのセットを判断することは、
前記残差信号およびウィンドウ信号のサンプルの絶対値に基づいて包絡線信号を計算することと、
前記包絡線信号と前記包絡線信号の時間シフトバージョンとの間の差に基づいて第1の勾配信号を計算することと、
前記第1の勾配信号と前記第1の勾配信号の時間シフトバージョンとの間の差に基づいて第2の勾配信号を計算することと、
第2の勾配信号値が第1のしきい値を下回るロケーションインデックスの第1のセットを選択することと、
包絡線値が包絡線中の最大値に対する第2のしきい値を下回るロケーションインデックスをなくすことによって、ロケーションインデックスの前記第1のセットからロケーションインデックスの第2のセットを判断することと、
隣接ロケーションインデックスに対する差しきい値を満たさないロケーションインデックスをなくすことによって、ロケーションインデックスの前記第2のセットからロケーションインデックスの第3のセットを判断することと
を備える、[18]に記載の方法。
[24]前記電子デバイスがワイヤレス通信デバイスである、[18]に記載の方法。
[25]電子デバイス上で励起をスケーリングするための方法であって、
合成励起信号と、ピッチサイクルエネルギーパラメータのセットと、ピッチラグとを取得することと、
前記合成励起信号をいくつかのセグメントにセグメント化することと、
合成セグメントを取得するために、各セグメントをフィルタ処理することと、
前記合成セグメントとピッチサイクルエネルギーパラメータの前記セットとに基づいてスケーリングファクタを判断することと、
スケーリングされたセグメントを取得するために、前記スケーリングファクタを使用して前記セグメントをスケーリングすることと
を備える方法。
[26]前記スケーリングされたセグメントに基づいてオーディオ信号を合成することと、
メモリを更新することと
をさらに備える、[25]に記載の方法。
[27]前記合成励起信号は、各セグメントが1つのピークを含んでいるようにセグメント化される、[25]に記載の方法。
[28]前記スケーリングファクタが式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m がフィルタ出力mについての合成セグメントである、[27]に記載の方法。
[29]前記合成励起信号は、各セグメントが前記ピッチラグに等しい長さになるようにセグメント化される、[25]に記載の方法。
[30]前記セグメントの各々内のピークの数を判断することと、
前記セグメントのうちの1つ内のピークの前記数が1に等しいのかまたは1よりも大きいのかを判断することと
をさらに備える、[29]に記載の方法。
[31]前記スケーリングファクタがセグメントについて式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m は、前記セグメント内のピークの前記数が1に等しい場合の、フィルタ出力mについての合成セグメントである、[30]に記載の方法。
[32]前記スケーリングファクタは、セグメントについて、前記セグメント内のピークの前記数が1よりも大きい場合に高々1つのピークを含む範囲に基づいて判断される、[30]に記載の方法。
[33]前記スケーリングファクタがセグメントについて式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m がフィルタ出力mについての合成セグメントであり、jおよびnが、式|n−j|≦L k に従って前記セグメント内に高々1つのピークを含むように選択されたインデックスである、[32]に記載の方法。
[34]前記電子デバイスがワイヤレス通信デバイスである、[25]に記載の方法。
[35]命令をその上に有する非一時的有形コンピュータ可読媒体を備える、ピッチサイクルエネルギーパラメータのセットを判断するためのコンピュータプログラム製品であって、前記命令は、
電子デバイスに、フレームを取得させるためのコードと、
前記電子デバイスに、フィルタ係数のセットを取得させるためのコードと、
前記電子デバイスに、前記フレームとフィルタ係数の前記セットとに基づいて残差信号を取得させるためのコードと、
前記電子デバイスに、前記残差信号に基づいてピークロケーションのセットを判断させるためのコードと、
前記電子デバイスに、前記残差信号の各セグメントが1つのピークを含むように、前記残差信号をセグメント化させるためのコードと、
前記電子デバイスに、2つの連続するピークロケーション間のフレーム領域に基づいてピッチサイクルエネルギーパラメータの第1のセットを判断させるためのコードと、
前記電子デバイスに、マッピングを生成するために、前記残差信号中のピーク間の領域を合成励起信号中のピーク間の領域にマッピングさせるためのコードと、
前記電子デバイスに、ピッチサイクルエネルギーパラメータの前記第1のセットと前記マッピングとに基づいて、ピッチサイクルエネルギーパラメータの第2のセットを判断させるためのコードと
を備える、コンピュータプログラム製品。
[36]前記命令が、前記電子デバイスに、ピッチサイクルエネルギーパラメータの前記第2のセットを送らせるためのコードをさらに備える、[35]に記載のコンピュータプログラム製品。
[37]命令をその上に有する非一時的有形コンピュータ可読媒体を備える、励起をスケーリングするためのコンピュータプログラム製品であって、前記命令が、
電子デバイスに、合成励起信号と、ピッチサイクルエネルギーパラメータのセットと、ピッチラグとを取得させるためのコードと、
前記電子デバイスに、前記合成励起信号をいくつかのセグメントにセグメント化させるためのコードと、
前記電子デバイスに、合成セグメントを取得するために、各セグメントをフィルタ処理させるためのコードと、
前記電子デバイスに、前記合成セグメントとピッチサイクルエネルギーパラメータの前記セットとに基づいてスケーリングファクタを判断させるためのコードと、
前記電子デバイスに、スケーリングされたセグメントを取得するために、前記スケーリングファクタを使用して前記セグメントをスケーリングさせるためのコードと
を備える、コンピュータプログラム製品。
[38]前記合成励起信号は、各セグメントが前記ピッチラグに等しい長さになるようにセグメント化される、[37]に記載のコンピュータプログラム製品。
[39]前記命令は、
前記電子デバイスに、前記セグメントの各々内のピークの数を判断させるためのコードと、
前記電子デバイスに、前記セグメントのうちの1つ内のピークの前記数が1に等しいのかまたは1よりも大きいのかを判断させるためのコードと
をさらに備える、[38]に記載のコンピュータプログラム製品。
[40]前記スケーリングファクタがセグメントについて式
に従って判断され、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m は、前記セグメント内のピークの前記数が1に等しい場合の、フィルタ出力mについての合成セグメントである、[39]に記載のコンピュータプログラム製品。
[41]前記スケーリングファクタは、セグメントについて、前記セグメント内のピークの前記数が1よりも大きい場合に高々1つのピークを含む範囲に基づいて判断される、[39]に記載のコンピュータプログラム製品。
[42]ピッチサイクルエネルギーパラメータのセットを判断するための装置であって、
フレームを取得するための手段と、
フィルタ係数のセットを取得するための手段と、
前記フレームとフィルタ係数の前記セットとに基づいて残差信号を取得するための手段と、
前記残差信号に基づいてピークロケーションのセットを判断するための手段と、
前記残差信号の各セグメントが1つのピークを含むように、前記残差信号をセグメント化するための手段と、
2つの連続するピークロケーション間のフレーム領域に基づいてピッチサイクルエネルギーパラメータの第1のセットを判断するための手段と、
マッピングを生成するために、前記残差信号中のピーク間の領域を合成励起信号中のピーク間の領域にマッピングするための手段と、
ピッチサイクルエネルギーパラメータの前記第1のセットと前記マッピングとに基づいて、ピッチサイクルエネルギーパラメータの第2のセットを判断するための手段と
を備える装置。
[43]ピッチサイクルエネルギーパラメータの前記第2のセットを送るための手段をさらに備える、[42]に記載の装置。
[44]励起をスケーリングするための装置であって、
合成励起信号と、ピッチサイクルエネルギーパラメータのセットと、ピッチラグとを取得するための手段と、
前記合成励起信号をいくつかのセグメントにセグメント化するための手段と、
合成セグメントを取得するために、各セグメントをフィルタ処理するための手段と、
前記合成セグメントとピッチサイクルエネルギーパラメータの前記セットとに基づいてスケーリングファクタを判断するための手段と、
スケーリングされたセグメントを取得するために、前記スケーリングファクタを使用して前記セグメントをスケーリングするための手段と
を備える装置。
[45]前記合成励起信号をセグメント化するための前記手段は、各セグメントが前記ピッチラグに等しい長さになるように前記合成励起信号をセグメント化するための手段を備える、[44]に記載の装置。
[46]前記セグメントの各々内のピークの数を判断するための手段と、
前記セグメントのうちの1つ内のピークの前記数が1に等しいのかまたは1よりも大きいのかを判断するための手段と
をさらに備える、[45]に記載の装置。
[47]前記スケーリングファクタを判断するための前記手段が、セグメントについて式
に従って前記スケーリングファクタを判断するための手段を備え、S k,m がk番目のセグメントについてのスケーリングファクタであり、E k が前記k番目のセグメントについてのピッチサイクルエネルギーパラメータであり、L k が前記k番目のセグメントの長さであり、x m は、前記セグメント内のピークの前記数が1に等しい場合の、フィルタ出力mについての合成セグメントである、[46]に記載の装置。
[48]前記スケーリングファクタを判断するための前記手段は、セグメントについて、前記セグメント内のピークの前記数が1よりも大きい場合に高々1つのピークを含む範囲に基づいて前記スケーリングファクタを判断するための手段を備える、[46]に記載の装置。