複数のオーディオ信号を符号化するように動作可能なシステムおよびデバイスが開示される。デバイスが、複数のオーディオ信号を符号化するように構成されたエンコーダを含み得る。複数のオーディオ信号は、複数の記録デバイス、たとえば複数のマイクロフォンを使用して、同時にキャプチャされ得る。いくつかの例では、複数のオーディオ信号(またはマルチチャネルオーディオ)は、同時にまたは異なる時間に記録されたいくつかのオーディオチャネルを多重化することによって、合成的に(たとえば、人工的に)生成され得る。説明のための例として、オーディオチャネルの同時記録または多重化は、2チャネル構成(すなわち、ステレオ:左および右)、5.1チャネル構成(左、右、中央、左サラウンド、右サラウンド、および低周波数強調(LFE:low frequency emphasis)チャネル)、7.1チャネル構成、7.1+4チャネル構成、22.2チャネル構成、またはNチャネル構成をもたらし得る。
遠隔会議室(またはテレプレゼンス室)におけるオーディオキャプチャデバイスは、空間オーディオを取得する複数のマイクロフォンを含み得る。空間オーディオは、符号化され送信されるスピーチならびに背景オーディオを含み得る。所与の音源(たとえば、話者)からのスピーチ/オーディオは複数のマイクロフォンに、マイクロフォンがどのように配置されているか、ならびに音源(たとえば、話者)がマイクロフォンおよび部屋の寸法に対してどこに位置するかに応じて、異なる時間に到着し得る。たとえば、音源(たとえば、話者)が、デバイスに関連する第2のマイクロフォンよりも、デバイスに関連する第1のマイクロフォンに近いことがある。したがって、音源から出された音が、第2のマイクロフォンよりも時間的に早く第1のマイクロフォンに到着することがある。デバイスは、第1のマイクロフォンを介して第1のオーディオ信号を受信することがあり、第2のマイクロフォンを介して第2のオーディオ信号を受信することがある。
ミッド-サイド(MS:mid-side)コーディングおよびパラメトリックステレオ(PS:parametric stereo)コーディングは、デュアル-モノコーディング技法と比べて効率の改善をもたらし得るステレオコーディング技法である。デュアル-モノコーディングでは、左(L)チャネル(または信号)および右(R)チャネル(または信号)は、チャネル間相関を利用することなく独立してコーディングされる。MSコーディングは、コーディングの前に、左チャネルおよび右チャネルを和チャネルおよび差チャネル(たとえば、サイドチャネル)に変換することによって、相関付けられたL/Rチャネルペアの間の冗長性を低減する。和信号および差信号は、MSコーディングにおいて波形コーディングされる。和信号ではサイド信号よりも、相対的に多くのビットが使われる。PSコーディングは、L/R信号を和信号とサイドパラメータのセットとに変換することによって、各サブバンドにおける冗長性を低減する。サイドパラメータは、チャネル間強度差(IID:inter-channel intensity difference)、チャネル間位相差(IPD:inter-channel phase difference)、チャネル間時間差(ITD:inter-channel time difference)などを示し得る。和信号は波形コーディングされ、サイドパラメータとともに送信される。ハイブリッドシステムでは、サイドチャネルは、下位バンド(たとえば、2キロヘルツ(kHz)未満)において波形コーディングされ、チャネル間位相保持が知覚的にさほど重要ではない上位バンド(たとえば、2kHz以上)においてPSコーディングされ得る。
MSコーディングおよびPSコーディングは、周波数領域またはサブバンド領域のいずれかにおいて行われ得る。いくつかの例では、左チャネルおよび右チャネルは無相関であり得る。たとえば、左チャネルおよび右チャネルは無相関合成信号を含み得る。左チャネルおよび右チャネルが無相関であるとき、MSコーディング、PSコーディング、または両方のコーディング効率は、デュアル-モノコーディングのコーディング効率に近くなり得る。
記録構成に応じて、左チャネルと右チャネルとの間の時間的シフト、ならびにエコーおよび室内反響などの他の空間的影響があり得る。チャネル間の時間的シフトおよび位相不一致が補償されない場合、和チャネルおよび差チャネルは、MSまたはPS技法に関連するコーディング利得を低減する同等のエネルギーを含み得る。コーディング利得の低減は、時間的(または位相)シフトの量に基づき得る。和信号および差信号の同等のエネルギーは、チャネルが時間的にシフトされるが強く相関付けられているいくつかのフレームにおけるMSコーディングの使用を限定し得る。ステレオコーディングでは、ミッドチャネル(たとえば、和チャネル)およびサイドチャネル(たとえば、差チャネル)が以下の式に基づいて生成され得る。
M=(L+R)/2、S=(L-R)/2、式1
上式で、Mはミッドチャネルに対応し、Sはサイドチャネルに対応し、Lは左チャネルに対応し、Rは右チャネルに対応する。
いくつかの場合には、ミッドチャネルおよびサイドチャネルは、以下の式に基づいて生成され得る。
M=c(L+R)、S=c(L-R)、式2
上式で、cは、周波数に依存する複素数値に対応する。式1または式2に基づいてミッドチャネルおよびサイドチャネルを生成することは、「ダウンミキシング」アルゴリズムを実行することと呼ばれ得る。式1または式2に基づいてミッドチャネルおよびサイドチャネルから左チャネルおよび右チャネルを生成する逆プロセスは、「アップミキシング」アルゴリズムを実行することと呼ばれ得る。
特定のフレームに関してMSコーディングまたはデュアル-モノコーディングの間で選択するために使用されるアドホック手法が、ミッド信号およびサイド信号を生成することと、ミッド信号およびサイド信号のエネルギーを計算することと、エネルギーに基づいてMSコーディングを実行するかどうかを決定することとを含み得る。たとえば、MSコーディングは、サイド信号およびミッド信号のエネルギーの比率がしきい値未満であるとの判断に応答して実行され得る。例示すると、右チャネルが少なくとも第1の時間(たとえば、約0.001秒または48kHzで48サンプル)だけシフトされる場合、有声音声フレームに関して(左信号と右信号との和に対応する)ミッド信号の第1のエネルギーが(左信号と右信号との間の差に対応する)サイド信号の第2のエネルギーと同等であり得る。第1のエネルギーが第2のエネルギーと同等であるとき、より多くのビットがサイドチャネルを符号化するために使用され、それによって、デュアル-モノコーディングに対してMSコーディングのコーディング効率が低下し得る。したがって、第1のエネルギーが第2のエネルギーと同等であるとき(たとえば、第1のエネルギーおよび第2のエネルギーの比率がしきい値以上であるとき)には、デュアル-モノコーディングが使用され得る。代替手法では、特定のフレームに関するMSコーディングとデュアル-モノコーディングとの間の決定は、しきい値と左チャネルおよび右チャネルの正規化相互相関値との比較に基づいて行われ得る。
いくつかの例では、エンコーダは、第2のオーディオ信号に対する第1のオーディオ信号の時間的シフトを示す時間的不一致値を決定し得る。不一致値は、第1のマイクロフォンにおける第1のオーディオ信号の受信と第2のマイクロフォンにおける第2のオーディオ信号の受信との間の時間的遅延の量に対応し得る。さらに、エンコーダは、フレームごとに、たとえば、各20ミリ秒(ms)のスピーチ/オーディオフレームに基づいて、不一致値を決定し得る。たとえば、不一致値は、第2のオーディオ信号の第2のフレームが第1のオーディオ信号の第1のフレームに対して遅延する時間量に対応し得る。代替的に、不一致値は、第1のオーディオ信号の第1のフレームが第2のオーディオ信号の第2のフレームに対して遅延する時間量に対応し得る。
音源が第2のマイクロフォンよりも第1のマイクロフォンに近いとき、第2のオーディオ信号のフレームは、第1のオーディオ信号のフレームに対して遅延し得る。この場合、第1のオーディオ信号は「基準オーディオ信号」または「基準チャネル」と呼ばれることがあり、遅延する第2のオーディオ信号は「ターゲットオーディオ信号」または「ターゲットチャネル」と呼ばれることがある。代替的に、音源が第1のマイクロフォンよりも第2のマイクロフォンに近いとき、第1のオーディオ信号のフレームは、第2のオーディオ信号のフレームに対して遅延し得る。この場合、第2のオーディオ信号は「基準オーディオ信号」または「基準チャネル」と呼ばれることがあり、遅延する第1のオーディオ信号は「ターゲットオーディオ信号」または「ターゲットチャネル」と呼ばれることがある。
音源(たとえば、話者)が会議室もしくはテレプレゼンス室のどこに位置するか、または音源(たとえば、話者)の位置がマイクロフォンに対してどのように変化するかに応じて、基準チャネルおよびターゲットチャネルはフレームごとに変化することがあり、同様に、時間的遅延値もフレームごとに変化することがある。しかしながら、いくつかの実装形態では、不一致値は常に、「基準」チャネルに対する「ターゲット」チャネルの遅延量を示すために正であり得る。さらに、不一致値は、遅延ターゲットチャネルが「基準」チャネルと整合する(たとえば、最大限に整合する)ように、ターゲットチャネルが時間的に「引き戻される」「非因果的シフト」値に対応し得る。ミッドチャネルおよびサイドチャネルを決定するためのダウンミックスアルゴリズムは、基準チャネルおよび非因果的シフトされたターゲットチャネルに対して実行され得る。
エンコーダは、基準オーディオチャネルとターゲットオーディオチャネルに適用される複数の不一致値とに基づいて、不一致値を決定し得る。たとえば、基準オーディオチャネルの第1のフレーム、Xが、第1の時間(m1)に受信され得る。ターゲットオーディオチャネルの第1の特定のフレーム、Yが、第1の不一致値、たとえばシフト1=n1-m1に対応する第2の時間(n1)に受信され得る。さらに、基準オーディオチャネルの第2のフレームが、第3の時間(m2)に受信され得る。ターゲットオーディオチャネルの第2の特定のフレームが、第2の不一致値、たとえばシフト2=n2-m2に対応する第4の時間(n2)に受信され得る。
デバイスは、フレーム(たとえば、20msごとのサンプル)を第1のサンプリングレート(たとえば、32kHzサンプリングレート(すなわち、フレームあたり640サンプル))で生成するために、フレーミングまたはバッファリングアルゴリズムを実行し得る。エンコーダは、第1のオーディオ信号の第1のフレームおよび第2のオーディオ信号の第2のフレームがデバイスに同時に到着するとの判断に応答して、不一致値(たとえば、シフト1)を、0サンプルに等しいと推定し得る。(たとえば、第1のオーディオ信号に対応する)左チャネルおよび(たとえば、第2のオーディオ信号に対応する)右チャネルが時間的に整合し得る。いくつかの場合には、左チャネルおよび右チャネルは、整合するときでも、様々な理由(たとえば、マイクロフォンのキャリブレーション)によりエネルギーが異なり得る。
いくつかの例では、左チャネルおよび右チャネルは、様々な理由(たとえば、話者などの音源がマイクロフォンのうちの一方に、もう一方よりも近いことがあり、2つのマイクロフォンがしきい値(たとえば、1〜20センチメートル)の距離を超えて離れていることがある)により時間的に整合しないことがある。マイクロフォンに対する音源のロケーションは、左チャネルおよび右チャネルにおいて異なる遅延をもたらし得る。さらに、左チャネルと右チャネルとの間の利得差、エネルギー差、またはレベル差があり得る。
いくつかの例では、複数の音源(たとえば、話者)からのマイクロフォンにおけるオーディオ信号の到着時間が、複数の話者が(たとえば、重複することなく)交互に話しているときに異なることがある。そのような場合、エンコーダは、基準チャネルを識別するために話者に基づいて時間的不一致値を動的に調整し得る。いくつかの他の例では、複数の話者が同時に話していることがあり、その結果、誰が最も声の大きい話者であるか、マイクロフォンに最も近いかなどに応じて、異なる時間的不一致値が生じることがある。
いくつかの例では、第1のオーディオ信号および第2のオーディオ信号は、2つの信号が弱い相関(たとえば、相関なし)を潜在的に示すときに、合成または人工的に生成され得る。本明細書で説明する例は説明のためのものであり、同様の状況または異なる状況における第1のオーディオ信号と第2のオーディオ信号との間の関係を判断する際に有益であり得ることを理解されたい。
エンコーダは、第1のオーディオ信号の第1のフレームと第2のオーディオ信号の複数のフレームとの比較に基づいて、比較値(たとえば、差値または相互相関値)を生成し得る。複数のフレームの各フレームは、特定の不一致値に対応し得る。エンコーダは、比較値に基づいて第1の推定不一致値を生成し得る。たとえば、第1の推定不一致値は、第1のオーディオ信号の第1のフレームと第2のオーディオ信号の対応する第1のフレームとの間のより高い時間的類似性(またはより小さい差)を示す比較値に対応し得る。
エンコーダは最終不一致値を、複数の段階において一連の推定不一致値を精緻化することによって決定し得る。たとえば、エンコーダは最初に、第1のオーディオ信号および第2のオーディオ信号のステレオ前処理され再サンプリングされたバージョンから生成された比較値に基づいて、「暫定的」不一致値を推定し得る。エンコーダは、推定「暫定的」不一致値に最も近い不一致値に関連する補間済み比較値を生成し得る。エンコーダは、補間済み比較値に基づいて、第2の推定「補間済み」不一致値を決定し得る。たとえば、第2の推定「補間済み」不一致値は、残りの補間済み比較値および第1の推定「暫定的」不一致値よりも高い時間的類似性(または小さい差)を示す特定の補間済み比較値に対応し得る。現在フレーム(たとえば、第1のオーディオ信号の第1のフレーム)の第2の推定「補間済み」不一致値が前フレーム(たとえば、第1のフレームに先行する第1のオーディオ信号のフレーム)の最終不一致値とは異なる場合、現在フレームの「補間済み」不一致値は、第1のオーディオ信号とシフトされた第2のオーディオ信号との間の時間的類似性を改善するためにさらに「補正」される。具体的には、第3の推定「補正済み」不一致値が、現在フレームの第2の推定「補間済み」不一致値および前フレームの最終推定不一致値の辺りを探索することによって、時間的類似性のより正確な測定値に対応し得る。第3の推定「補正済み」不一致値は、フレーム間の不一致値の見せかけの(spurious)変化を制限することによって最終不一致値を推定するようにさらに調整され、本明細書で説明するように2つの連続するフレームにおいて負の不一致値から正の不一致値に(またはその逆に)切り替わらないようにさらに制御される。
いくつかの例では、エンコーダは、連続フレームまたは隣接フレームにおいて正の不一致値と負の不一致値との間またはその逆で切り替えるのを控え得る。たとえば、エンコーダは最終不一致値を、第1のフレームの推定「補間済み」または「補正済み」不一致値および第1のフレームに先行する特定のフレームにおける対応する推定「補間済み」または「補正済み」または最終不一致値に基づいて、時間的シフトなしを示す特定の値(たとえば、0)に設定し得る。例示すると、エンコーダは、現在フレーム(たとえば、第1のフレーム)の最終不一致値を、現在フレームの推定「暫定的」または「補間済み」または「補正済み」不一致値の一方が正であり、前フレーム(たとえば、第1のフレームに先行するフレーム)の推定「暫定的」または「補間済み」または「補正済み」または「最終」推定不一致値の他方が負であるとの判断に応答して、時間的シフトなし、すなわちシフト1=0を示すように設定し得る。代替的に、エンコーダはまた、現在フレーム(たとえば、第1のフレーム)の最終不一致値を、現在フレームの推定「暫定的」または「補間済み」または「補正済み」不一致値の一方が負であり、前フレーム(たとえば、第1のフレームに先行するフレーム)の推定「暫定的」または「補間済み」または「補正済み」または「最終」推定不一致値の他方が正であるとの判断に応答して、時間的シフトなし、すなわちシフト1=0を示すように設定し得る。
エンコーダは、不一致値に基づいて「基準」または「ターゲット」として、第1のオーディオ信号または第2のオーディオ信号のフレームを選択し得る。たとえば、最終不一致値が正であるとの判断に応答して、エンコーダは、第1のオーディオ信号が「基準」信号であること、および第2のオーディオ信号が「ターゲット」信号であることを示す第1の値(たとえば、0)を有する基準チャネルまたは信号インジケータを生成し得る。代替的に、最終不一致値が負であるとの判断に応答して、エンコーダは、第2のオーディオ信号が「基準」信号であること、および第1のオーディオ信号が「ターゲット」信号であることを示す第2の値(たとえば、1)を有する基準チャネルまたは信号インジケータを生成し得る。
エンコーダは、基準信号および非因果的シフトされたターゲット信号に関連する相対利得(たとえば、相対利得パラメータ)を推定し得る。たとえば、最終不一致値が正であるとの判断に応答して、エンコーダは、非因果的不一致値(たとえば、最終不一致値の絶対値)によってオフセットされる第2のオーディオ信号に対する第1のオーディオ信号のエネルギーまたは電力レベルを正規化または等化するための利得値を推定し得る。代替的に、最終不一致値が負であるとの判断に応答して、エンコーダは、第2のオーディオ信号に対する非因果的シフトされた第1のオーディオ信号の電力レベルを正規化または等化するための利得値を推定し得る。いくつかの例では、エンコーダは、非因果的シフトされた「ターゲット」信号に対する「基準」信号のエネルギーまたは電力レベルを正規化または等化するための利得値を推定し得る。他の例では、エンコーダは、ターゲット信号(たとえば、シフトされていないターゲット信号)に対する基準信号に基づく利得値(たとえば、相対利得値)を推定し得る。
エンコーダは、基準信号、ターゲット信号、非因果的不一致値、および相対利得パラメータに基づいて、少なくとも1つの符号化された信号(たとえば、ミッド信号、サイド信号、または両方)を生成し得る。サイド信号は、第1のオーディオ信号の第1のフレームの第1のサンプルと第2のオーディオ信号の被選択フレームの被選択サンプルとの間の差に対応し得る。エンコーダは、最終不一致値に基づいて被選択フレームを選択し得る。第1のフレームと同時にデバイスによって受信される第2のオーディオ信号のフレームに対応する第2のオーディオ信号の他のサンプルと比較して、第1のサンプルと被選択サンプルとの間の差が縮小することに起因して、サイドチャネルを符号化するために、より少ないビットが使用され得る。デバイスの送信機は、少なくとも1つの符号化された信号、非因果的不一致値、相対利得パラメータ、基準チャネルまたは信号インジケータ、あるいはそれらの組合せを送信し得る。
エンコーダは、基準信号、ターゲット信号、非因果的不一致値、相対利得パラメータ、第1のオーディオ信号の特定のフレームのローバンドパラメータ、特定のフレームのハイバンドパラメータ、またはそれらの組合せに基づいて、少なくとも1つの符号化された信号(たとえば、ミッド信号、サイド信号、または両方)を生成し得る。特定のフレームは、第1のフレームに先行し得る。1つまたは複数の先行フレームからのいくつかのローバンドパラメータ、ハイバンドパラメータ、またはそれらの組合せは、第1のフレームのミッド信号、サイド信号、または両方を符号化するために使用され得る。ローバンドパラメータ、ハイバンドパラメータ、またはそれらの組合せに基づいてミッド信号、サイド信号、または両方を符号化することで、非因果的不一致値およびチャネル間相対利得パラメータの推定値を改善し得る。ローバンドパラメータ、ハイバンドパラメータ、またはそれらの組合せは、ピッチパラメータ、有声化パラメータ(voicing parameter)、コーダタイプパラメータ、ローバンドエネルギーパラメータ、ハイバンドエネルギーパラメータ、チルトパラメータ、ピッチ利得パラメータ、FCB利得パラメータ、コーディングモードパラメータ、音声活動パラメータ、雑音推定パラメータ、信号対雑音比パラメータ、フォーマットパラメータ、スピーチ/ミュージック決定パラメータ、非因果的シフト、チャネル間利得パラメータ、またはそれらの組合せを含み得る。デバイスの送信機は、少なくとも1つの符号化された信号、非因果的不一致値、相対利得パラメータ、基準チャネル(または信号)インジケータ、あるいはそれらの組合せを送信し得る。
図1を参照すると、システムの特定の説明のための例が開示され、全体的に100と指定されている。システム100は、ネットワーク120を介して第2のデバイス106に通信可能に結合された第1のデバイス104を含む。ネットワーク120は、1つもしくは複数のワイヤレスネットワーク、1つもしくは複数のワイヤードネットワーク、またはそれらの組合せを含み得る。
第1のデバイス104は、エンコーダ114、送信機110、1つもしくは複数の入力インターフェース112、またはそれらの組合せを含み得る。入力インターフェース112の第1の入力インターフェースが第1のマイクロフォン146に結合され得る。入力インターフェース112の第2の入力インターフェースが第2のマイクロフォン148に結合され得る。エンコーダ114は、時間的等化器108を含むことができ、本明細書で説明するように、複数のオーディオ信号をダウンミックスおよび符号化するように構成され得る。第1のデバイス104はまた、分析データ190を記憶するように構成されたメモリ153を含み得る。第2のデバイス106はデコーダ118を含み得る。デコーダ118は、複数のチャネルをアップミックスおよびレンダリングするように構成された時間的バランサ124を含み得る。第2のデバイス106は、第1のラウドスピーカー142、第2のラウドスピーカー144、または両方に結合され得る。
動作中、第1のデバイス104は、第1のマイクロフォン146から第1の入力インターフェースを介して第1のオーディオ信号130(たとえば、第1のチャネル)を受信することがあり、第2のマイクロフォン148から第2の入力インターフェースを介して第2のオーディオ信号132(たとえば、第2のチャネル)を受信することがある。本明細書で使用される場合、「信号」と「チャネル」とは互換的に使用され得る。第1のオーディオ信号130は、右チャネルまたは左チャネルのうちの一方に対応し得る。第2のオーディオ信号132は、右チャネルまたは左チャネルのうちの他方に対応し得る。図1の例では、第1のオーディオ信号130は基準チャネルであり、第2のオーディオ信号132はターゲットチャネルである。したがって、本明細書で説明する実装形態によれば、第2のオーディオ信号132は、第1のオーディオ信号130と時間的に整合するように調整され得る。しかしながら、後述のように、他の実装形態では、第1のオーディオ信号130はターゲットチャネルであり得、第2のオーディオ信号132は基準チャネルであり得る。
音源152(たとえば、ユーザ、スピーカー、周囲雑音、楽器など)は、第2のマイクロフォン148よりも第1のマイクロフォン146に近いことがある。したがって、音源152からのオーディオ信号が、第2のマイクロフォン148を介してよりも早い時間に第1のマイクロフォン146を介して入力インターフェース112において受信され得る。複数のマイクロフォンを通じたマルチチャネル信号取得のこの自然な遅延は、第1のオーディオ信号130と第2のオーディオ信号132との間の時間的シフトをもたらし得る。
時間的等化器108は、マイクロフォン146、148においてキャプチャされたオーディオの間の時間的オフセットを推定するように構成され得る。時間的オフセットは、第1のオーディオ信号130の第1のフレーム131(たとえば、「基準フレーム」)と第2のオーディオ信号132の第2のフレーム133(たとえば、「ターゲットフレーム」)との間の遅延に基づいて推定されてよく、この場合、第2のフレーム133が第1のフレーム131と実質的に同様のコンテンツを含む。たとえば、時間的等化器108は、第1のフレーム131と第2のフレーム133との間の相互相関を判断し得る。相互相関は、一方のフレームの他方に対するラグの関数として、2つのフレームの類似性を測定し得る。相互相関に基づいて、時間的等化器108は、第1のフレーム131と第2のフレーム133との間の遅延(たとえば、ラグ)を判断し得る。時間的等化器108は、遅延および履歴遅延データに基づいて、第1のオーディオ信号130と第2のオーディオ信号132との間の時間的オフセットを推定し得る。
履歴データは、第1のマイクロフォン146からキャプチャされたフレームと第2のマイクロフォン148からキャプチャされた対応するフレームとの間の遅延を含み得る。たとえば、時間的等化器108は、第1のオーディオ信号130に関連する前フレームと第2のオーディオ信号132に関連する対応するフレームとの間の相互相関(たとえば、ラグ)を判断し得る。各ラグは、「比較値」によって表され得る。すなわち、比較値は、第1のオーディオ信号130のフレームと第2のオーディオ信号132の対応するフレームとの間の時間シフト(k)を示し得る。一実装形態によれば、前フレームに関する比較値は、メモリ153に記憶され得る。時間的等化器108の平滑器190は、フレームの長期セットで比較値を「平滑化する」(または平均する)ことができ、第1のオーディオ信号130と第2のオーディオ信号132との間の時間的オフセット(たとえば、「シフト」)を推定するために、長期平滑化比較値を使用することができる。
例示すると、CompValN(k)が、フレームNに関するkのシフトにおける比較値を表す場合、フレームNは、k=T_MIN(最小シフト)からk=T_MAX(最大シフト)までの比較値を有し得る。平滑化は、長期比較値
が
によって表されるように実行され得る。上記の式における関数fは、シフト(k)における過去の比較値のすべて(またはサブセット)の関数であり得る。代替表現は、
であり得る。関数fまたはgはそれぞれ、単純な有限インパルス応答(FIR)フィルタまたは無限インパルス応答(IIR)フィルタであり得る。たとえば、関数gは、長期比較値
が
によって表されるような単一タップIIRフィルタであり得、この場合、α∈(0,1,0)である。したがって、長期比較値
は、フレームNにおける瞬間的比較値CompValN(k)および1つまたは複数の前フレームに関する長期比較値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。いくつかの実装形態では、比較値は正規化相互相関値であり得る。他の実装形態では、比較値は非正規化相互相関値であり得る。
上記で説明した平滑化技法は、有声フレーム、無声フレーム、および遷移フレームの間のシフト推定値を実質的に正規化し得る。正規化シフト推定値により、フレーム境界においてサンプル繰返しおよびアーティファクトスキップが低減され得る。さらに、正規化シフト推定値により、サイドチャネルエネルギーが低減されることがあり、結果的にコーディング効率が改善されることがある。
時間的等化器108は、第2のオーディオ信号132(たとえば、「ターゲット」)に対する第1のオーディオ信号130(たとえば、「基準」)のシフト(たとえば、非因果的不一致または非因果的シフト)を示す最終不一致値116(たとえば、非因果的不一致値)を決定し得る。最終不一致値116は、瞬間的比較値CompValN(k)および長期比較
に基づき得る。たとえば、上記で説明した平滑化演算は、図5に関して説明するように、暫定的不一致値、補間済み不一致値、補正済み不一致値、またはそれらの組合せに対して実行され得る。最終不一致値116は、図5に関して説明するように、暫定的不一致値、補間済み不一致値、および補正済み不一致値に基づき得る。最終不一致値116の第1の値(たとえば、正の値)は、第2のオーディオ信号132が第1のオーディオ信号130に対して遅延していることを示し得る。最終不一致値116の第2の値(たとえば、負の値)は、第1のオーディオ信号130が第2のオーディオ信号132に対して遅延していることを示し得る。最終不一致値116の第3の値(たとえば、0)は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延がないことを示し得る。
いくつかの実装形態では、最終不一致値116の第3の値(たとえば、0)は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたことを示し得る。たとえば、第1のオーディオ信号130の第1の特定のフレームが第1のフレーム131に先行し得る。第1の特定のフレームおよび第2のオーディオ信号132の第2の特定のフレームは、音源152によって出された同じ音に対応し得る。第1のオーディオ信号130と第2のオーディオ信号132との間の遅延は、第1の特定のフレームが第2の特定のフレームに対して遅延している状態から第2のフレーム133が第1のフレーム131に対して遅延している状態に切り替わり得る。代替的に、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延は、第2の特定のフレームが第1の特定のフレームに対して遅延している状態から第1のフレーム131が第2のフレーム133に対して遅延している状態に切り替わり得る。時間的等化器108は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたとの判断に応答して、第3の値(たとえば、0)を示すように最終不一致値116を設定し得る。
時間的等化器108は、最終不一致値116に基づいて基準信号インジケータ164を生成し得る。たとえば、時間的等化器108は、最終不一致値116が第1の値(たとえば、正の値)を示すとの判断に応答して、第1のオーディオ信号130が「基準」信号であることを示す第1の値(たとえば、0)を有するように基準信号インジケータ164を生成し得る。時間的等化器108は、最終不一致値116が第1の値(たとえば、正の値)を示すとの判断に応答して、第2のオーディオ信号132が「ターゲット」信号に対応すると判断し得る。代替的に、時間的等化器108は、最終不一致値116が第2の値(たとえば、負の値)を示すとの判断に応答して、第2のオーディオ信号132が「基準」信号であることを示す第2の値(たとえば、1)を有するように基準信号インジケータ164を生成し得る。時間的等化器108は、最終不一致値116が第2の値(たとえば、負の値)を示すとの判断に応答して、第1のオーディオ信号130が「ターゲット」信号に対応すると判断し得る。時間的等化器108は、最終不一致値116が第3の値(たとえば、0)を示すとの判断に応答して、第1のオーディオ信号130が「基準」信号であることを示す第1の値(たとえば、0)を有するように基準信号インジケータ164を生成し得る。時間的等化器108は、最終不一致値116が第3の値(たとえば、0)を示すとの判断に応答して、第2のオーディオ信号132が「ターゲット」信号に対応すると判断し得る。代替的に、時間的等化器108は、最終不一致値116が第3の値(たとえば、0)を示すとの判断に応答して、第2のオーディオ信号132が「基準」信号であることを示す第2の値(たとえば、1)を有するように基準信号インジケータ164を生成し得る。時間的等化器108は、最終不一致値116が第3の値(たとえば、0)を示すとの判断に応答して、第1のオーディオ信号130が「ターゲット」信号に対応すると判断し得る。いくつかの実装形態では、時間的等化器108は、最終不一致値116が第3の値(たとえば、0)を示すとの判断に応答して、基準信号インジケータ164を変えないでおくことができる。たとえば、基準信号インジケータ164は、第1のオーディオ信号130の第1の特定のフレームに対応する基準信号インジケータと同じであり得る。時間的等化器108は、最終不一致値116の絶対値を示す非因果的不一致値162を生成し得る。
時間的等化器108は、「ターゲット」信号のサンプルに基づいて、かつ「基準」信号のサンプルに基づいて利得パラメータ160(たとえば、コーデック利得パラメータ)を生成し得る。たとえば、時間的等化器108は、非因果的不一致値162に基づいて第2のオーディオ信号132のサンプルを選択し得る。代替的に、時間的等化器108は、非因果的不一致値162とは無関係に第2のオーディオ信号132のサンプルを選択し得る。時間的等化器108は、第1のオーディオ信号130が基準信号であるとの判断に応答して、第1のオーディオ信号130の第1のフレーム131の第1のサンプルに基づいて、被選択サンプルの利得パラメータ160を決定し得る。代替的に、時間的等化器108は、第2のオーディオ信号132が基準信号であるとの判断に応答して、被選択サンプルに基づいて、第1のサンプルの利得パラメータ160を決定し得る。一例として、利得パラメータ160は、以下の式のうちの1つに基づき得る。
上式で、gDはダウンミックス処理のための相対利得パラメータ160に対応し、Ref(n)は「基準」信号のサンプルに対応し、N1は第1のフレーム131の非因果的不一致値162に対応し、Targ(n+N1)は「ターゲット」信号のサンプルに対応する。利得パラメータ160(gD)は、たとえば、フレーム間の利得の大幅な増大を回避するための長期平滑化/ヒステリシス論理を組み込むために、式1a〜1fのうちの1つに基づいて修正され得る。ターゲット信号が第1のオーディオ信号130を含むとき、第1のサンプルはターゲット信号のサンプルを含むことができ、被選択サンプルは基準信号のサンプルを含むことができる。ターゲット信号が第2のオーディオ信号132を含むとき、第1のサンプルは基準信号のサンプルを含むことができ、被選択サンプルはターゲット信号のサンプルを含むことができる。
いくつかの実装形態では、時間的等化器108は、基準信号インジケータ164にかかわらず、第1のオーディオ信号130を基準信号として扱い、第2のオーディオ信号132をターゲット信号として扱うことに基づいて、利得パラメータ160を生成し得る。たとえば、時間的等化器108は、式1a〜1fのうちの1つに基づいて利得パラメータ160を生成することができ、式中、Ref(n)は第1のオーディオ信号130のサンプル(たとえば、第1のサンプル)に対応し、Targ(n+N1)は第2のオーディオ信号132のサンプル(たとえば、被選択サンプル)に対応する。代替実装形態では、時間的等化器108は、基準信号インジケータ164にかかわらず、第2のオーディオ信号132を基準信号として扱い、第1のオーディオ信号130をターゲット信号として扱うことに基づいて、利得パラメータ160を生成し得る。たとえば、時間的等化器108は、式1a〜1fのうちの1つに基づいて利得パラメータ160を生成することができ、式中、Ref(n)は第2のオーディオ信号132のサンプル(たとえば、被選択サンプル)に対応し、Targ(n+N1)は第1のオーディオ信号130のサンプル(たとえば、第1のサンプル)に対応する。
時間的等化器108は、第1のサンプル、被選択サンプル、およびダウンミックス処理のための相対利得パラメータ160に基づいて、1つまたは複数の符号化された信号102(たとえば、ミッドチャネル、サイドチャネル、または両方)を生成し得る。たとえば、時間的等化器108は、以下の式のうちの1つに基づいてミッド信号を生成し得る。
M=Ref(n)+gDTarg(n+N1)、式2a
M=Ref(n)+Targ(n+N1)、式2b
上式で、Mはミッドチャネルに対応し、gDはダウンミックス処理のための相対利得パラメータ160に対応し、Ref(n)は「基準」信号のサンプルに対応し、N1は第1のフレーム131の非因果的不一致値162に対応し、Targ(n+N1)は「ターゲット」信号のサンプルに対応する。
時間的等化器108は、以下の式のうちの1つに基づいてサイドチャネルを生成し得る。
S=Ref(n)-gDTarg(n+N1)、式3a
S=gDRef(n)-Targ(n+N1)、式3b
上式で、Sはサイドチャネルに対応し、gDはダウンミックス処理のための相対利得パラメータ160に対応し、Ref(n)は「基準」信号のサンプルに対応し、N1は第1のフレーム131の非因果的不一致値162に対応し、Targ(n+N1)は「ターゲット」信号のサンプルに対応する。
送信機110は、符号化された信号102(たとえば、ミッドチャネル、サイドチャネル、もしくは両方)、基準信号インジケータ164、非因果的不一致値162、利得パラメータ160、またはそれらの組合せを、ネットワーク120を介して第2のデバイス106に送信し得る。いくつかの実装形態では、送信機110は、符号化された信号102(たとえば、ミッドチャネル、サイドチャネル、もしくは両方)、基準信号インジケータ164、非因果的不一致値162、利得パラメータ160、またはそれらの組合せを、後のさらなる処理または復号のためにネットワーク120のデバイスまたはローカルデバイスに記憶し得る。
デコーダ118は、符号化された信号102を復号し得る。時間的バランサ124は、(たとえば、第1のオーディオ信号130に対応する)第1の出力信号126、(たとえば、第2のオーディオ信号132に対応する)第2の出力信号128、または両方を生成するためにアップミキシングを実行し得る。第2のデバイス106は、第1のラウドスピーカー142を介して第1の出力信号126を出力し得る。第2のデバイス106は、第2のラウドスピーカー144を介して第2の出力信号128を出力し得る。
したがって、システム100は、時間的等化器108がミッド信号よりも少ないビットを使用してサイドチャネルを符号化することを可能にし得る。第1のオーディオ信号130の第1のフレーム131の第1のサンプルおよび第2のオーディオ信号132の被選択サンプルは、音源152によって出された同じ音に対応することができ、したがって、第1のサンプルと被選択サンプルとの間の差は、第1のサンプルと第2のオーディオ信号132の他のサンプルとの間の差よりも小さくなり得る。サイドチャネルは、第1のサンプルと被選択サンプルとの間の差に対応し得る。
図2を参照すると、システムの特定の例示的な実装形態が開示され、全体的に200と指定されている。システム200は、ネットワーク120を介して第2のデバイス106に結合された第1のデバイス204を含む。第1のデバイス204は、図1の第1のデバイス104に対応し得る。システム200は、第1のデバイス204が3つ以上のマイクロフォンに結合されるという点で、図1のシステム100とは異なる。たとえば、第1のデバイス204は、第1のマイクロフォン146、第Nのマイクロフォン248、および1つまたは複数の追加のマイクロフォン(たとえば、図1の第2のマイクロフォン148)に結合され得る。第2のデバイス106は、第1のラウドスピーカー142、第Yのラウドスピーカー244、1つもしくは複数の追加のスピーカー(たとえば、第2のラウドスピーカー144)、またはそれらの組合せに結合され得る。第1のデバイス204はエンコーダ214を含み得る。エンコーダ214は、図1のエンコーダ114に対応し得る。エンコーダ214は、1つまたは複数の時間的等化器208を含み得る。たとえば、時間的等化器208は図1の時間的等化器108を含み得る。
動作中、第1のデバイス204は、3つ以上のオーディオ信号を受信し得る。たとえば、第1のデバイス204は、第1のマイクロフォン146を介して第1のオーディオ信号130、第Nのマイクロフォン248を介して第Nのオーディオ信号232、および追加のマイクロフォン(たとえば、第2のマイクロフォン148)を介して1つまたは複数の追加のオーディオ信号(たとえば、第2のオーディオ信号132)を受信し得る。
時間的等化器208は、1つもしくは複数の基準信号インジケータ264、最終不一致値216、非因果的不一致値262、利得パラメータ260、符号化された信号202、またはそれらの組合せを生成し得る。たとえば、時間的等化器208は、第1のオーディオ信号130が基準信号であり、第Nのオーディオ信号232および追加のオーディオ信号の各々がターゲット信号であると判断し得る。時間的等化器208は、基準信号インジケータ264と、最終不一致値216と、非因果的不一致値262と、利得パラメータ260と、第1のオーディオ信号130ならびに第Nのオーディオ信号232および追加のオーディオ信号の各々に対応する符号化された信号202とを生成し得る。
基準信号インジケータ264は、基準信号インジケータ164を含み得る。最終不一致値216は、第1のオーディオ信号130に対する第2のオーディオ信号132のシフトを示す最終不一致値116、第1のオーディオ信号130に対する第Nのオーディオ信号232のシフトを示す第2の最終不一致値、または両方を含み得る。非因果的不一致値262は、最終不一致値116の絶対値に対応する非因果的不一致値162、第2の最終不一致値の絶対値に対応する第2の非因果的不一致値、または両方を含み得る。利得パラメータ260は、第2のオーディオ信号132の被選択サンプルの利得パラメータ160、第Nのオーディオ信号232の被選択サンプルの第2の利得パラメータ、または両方を含み得る。符号化された信号202は、符号化された信号102のうちの少なくとも1つを含み得る。たとえば、符号化された信号202は、第1のオーディオ信号130の第1のサンプルおよび第2のオーディオ信号132の被選択サンプルに対応するサイドチャネル、第1のサンプルおよび第Nのオーディオ信号232の被選択サンプルに対応する第2のサイドチャネル、または両方を含み得る。符号化された信号202は、第1のサンプル、第2のオーディオ信号132の被選択サンプル、および第Nのオーディオ信号232の被選択サンプルに対応するミッドチャネルを含み得る。
いくつかの実装形態では、時間的等化器208は、図15を参照して説明するように、複数の基準信号および対応するターゲット信号を決定し得る。たとえば、基準信号インジケータ264は、基準信号およびターゲット信号の各ペアに対応する基準信号インジケータを含み得る。例示すると、基準信号インジケータ264は、第1のオーディオ信号130および第2のオーディオ信号132に対応する基準信号インジケータ164を含み得る。最終不一致値216は、基準信号およびターゲット信号の各ペアに対応する最終不一致値を含み得る。たとえば、最終不一致値216は、第1のオーディオ信号130および第2のオーディオ信号132に対応する最終不一致値116を含み得る。非因果的不一致値262は、基準信号およびターゲット信号の各ペアに対応する非因果的不一致値を含み得る。たとえば、非因果的不一致値262は、第1のオーディオ信号130および第2のオーディオ信号132に対応する非因果的不一致値162を含み得る。利得パラメータ260は、基準信号およびターゲット信号の各ペアに対応する利得パラメータを含み得る。たとえば、利得パラメータ260は、第1のオーディオ信号130および第2のオーディオ信号132に対応する利得パラメータ160を含み得る。符号化された信号202は、基準信号およびターゲット信号の各ペアに対応するミッドチャネルおよびサイドチャネルを含み得る。たとえば、符号化された信号202は、第1のオーディオ信号130および第2のオーディオ信号132に対応する符号化された信号102を含み得る。
送信機110は、基準信号インジケータ264、非因果的不一致値262、利得パラメータ260、符号化された信号202、またはそれらの組合せを、ネットワーク120を介して第2のデバイス106に送信し得る。デコーダ118は、基準信号インジケータ264、非因果的不一致値262、利得パラメータ260、符号化された信号202、またはそれらの組合せに基づいて、1つまたは複数の出力信号を生成し得る。たとえば、デコーダ118は、第1のラウドスピーカー142を介して第1の出力信号226、第Yのラウドスピーカー244を介して第Yの出力信号228、1つもしくは複数の追加のラウドスピーカー(たとえば、第2のラウドスピーカー144)を介して1つもしくは複数の追加の出力信号(たとえば、第2の出力信号128)、またはそれらの組合せを出力し得る。
したがって、システム200は、時間的等化器208が3つ以上のオーディオ信号を符号化することを可能にし得る。たとえば、符号化された信号202は、非因果的不一致値262に基づいてサイドチャネルを生成することによって、対応するミッドチャネルよりも少ないビットを使用して符号化される複数のサイドチャネルを含み得る。
図3を参照すると、サンプルの説明のための例が示され、全体的に300と指定されている。サンプル300の少なくともサブセットが、本明細書で説明するように、第1のデバイス104によって符号化され得る。
サンプル300は、第1のオーディオ信号130に対応する第1のサンプル320、第2のオーディオ信号132に対応する第2のサンプル350、または両方を含み得る。第1のサンプル320は、サンプル322、サンプル324、サンプル326、サンプル328、サンプル330、サンプル332、サンプル334、サンプル336、1つもしくは複数の追加のサンプル、またはそれらの組合せを含み得る。第2のサンプル350は、サンプル352、サンプル354、サンプル356、サンプル358、サンプル360、サンプル362、サンプル364、サンプル366、1つもしくは複数の追加のサンプル、またはそれらの組合せを含み得る。
第1のオーディオ信号130は、複数のフレーム(たとえば、フレーム302、フレーム304、フレーム306、またはそれらの組合せ)に対応し得る。複数のフレームの各々は、第1のサンプル320の(たとえば、32kHzでの640サンプルまたは48kHzでの960サンプルなど、20msに対応する)サンプルのサブセットに対応し得る。たとえば、フレーム302は、サンプル322、サンプル324、1つもしくは複数の追加のサンプル、またはそれらの組合せに対応し得る。フレーム304は、サンプル326、サンプル328、サンプル330、サンプル332、1つもしくは複数の追加のサンプル、またはそれらの組合せに対応し得る。フレーム306は、サンプル334、サンプル336、1つもしくは複数の追加のサンプル、またはそれらの組合せに対応し得る。
サンプル322は、図1の入力インターフェース112において、サンプル352とほぼ同時に受信され得る。サンプル324は、図1の入力インターフェース112において、サンプル354とほぼ同時に受信され得る。サンプル326は、図1の入力インターフェース112において、サンプル356とほぼ同時に受信され得る。サンプル328は、図1の入力インターフェース112において、サンプル358とほぼ同時に受信され得る。サンプル330は、図1の入力インターフェース112において、サンプル360とほぼ同時に受信され得る。サンプル332は、図1の入力インターフェース112において、サンプル362とほぼ同時に受信され得る。サンプル334は、図1の入力インターフェース112において、サンプル364とほぼ同時に受信され得る。サンプル336は、図1の入力インターフェース112において、サンプル366とほぼ同時に受信され得る。
最終不一致値116の第1の値(たとえば、正の値)は、第2のオーディオ信号132が第1のオーディオ信号130に対して遅延することを示し得る。たとえば、最終不一致値116の第1の値(たとえば、+Xmsまたは+Yサンプルであって、XおよびYが正の実数を含む)は、フレーム304(たとえば、サンプル326〜332)がサンプル358〜364に対応することを示し得る。サンプル326〜332およびサンプル358〜364は、音源152から出された同じ音に対応し得る。サンプル358〜364は、第2のオーディオ信号132のフレーム344に対応し得る。図1〜図15のうちの1つまたは複数におけるクロスハッチング付きサンプルの図は、サンプルが同じ音に対応することを示し得る。たとえば、サンプル326〜332およびサンプル358〜364は、サンプル326〜332(たとえば、フレーム304)およびサンプル358〜364(たとえば、フレーム344)が音源152から出された同じ音に対応することを示すために、図3においてクロスハッチング付きで示されている。
図3に示すYサンプルの時間的オフセットは例示的なものであることを理解されたい。たとえば、時間的オフセットは、0以上であるサンプル数Yに対応し得る。時間的オフセットY=0サンプルである第1のケースでは、(たとえば、フレーム304に対応する)サンプル326〜332および(たとえば、フレーム344に対応する)サンプル356〜362は、フレームオフセットをまったく伴わない高い類似性を示し得る。時間的オフセットY=2サンプルである第2のケースでは、フレーム304およびフレーム344は2サンプルだけオフセットされ得る。この場合、第1のオーディオ信号130は、入力インターフェース112において、Y=2サンプルまたはX=(2/Fs)msだけ第2のオーディオ信号132の前に受信され得、FsがkHzでのサンプルレートに対応する。いくつかの場合には、時間的オフセットYは、非整数値、たとえば、32kHzでのX=0.05msに対応するY=1.6サンプルを含み得る。
図1の時間的等化器108は、図1を参照して説明したように、サンプル326〜332およびサンプル358〜364を符号化することによって、符号化された信号102を生成し得る。時間的等化器108は、第1のオーディオ信号130が基準信号に対応し、第2のオーディオ信号132がターゲット信号に対応すると判断し得る。
図4を参照すると、サンプルの説明のための例が示され、全体的に400と指定されている。例400は、第1のオーディオ信号130が第2のオーディオ信号132に対して遅延するという点で、例300とは異なる。
最終不一致値116の第2の値(たとえば、負の値)は、第1のオーディオ信号130が第2のオーディオ信号132に対して遅延することを示し得る。たとえば、最終不一致値116の第2の値(たとえば、-Xmsまたは-Yサンプルであって、XおよびYが正の実数を含む)は、フレーム304(たとえば、サンプル326〜332)がサンプル354〜360に対応することを示し得る。サンプル354〜360は、第2のオーディオ信号132のフレーム344に対応し得る。サンプル354〜360(たとえば、フレーム344)およびサンプル326〜332(たとえば、フレーム304)は、音源152から出された同じ音に対応し得る。
図4に示す-Yサンプルの時間的オフセットは例示的なものであることを理解されたい。たとえば、時間的オフセットは、0以下であるサンプル数-Yに対応し得る。時間的オフセットY=0サンプルである第1のケースでは、(たとえば、フレーム304に対応する)サンプル326〜332および(たとえば、フレーム344に対応する)サンプル356〜362は、フレームオフセットをまったく伴わない高い類似性を示し得る。時間的オフセットY=-6サンプルである第2のケースでは、フレーム304およびフレーム344は6サンプルだけオフセットされ得る。この場合、第1のオーディオ信号130は、入力インターフェース112において、Y=-6サンプルまたはX=(-6/Fs)msだけ第2のオーディオ信号132の後に受信され得、FsがkHzでのサンプルレートに対応する。いくつかの場合には、時間的オフセットYは、非整数値、たとえば、32kHzでのX=-0.1msに対応するY=-3.2サンプルを含み得る。
図1の時間的等化器108は、図1を参照して説明したように、サンプル354〜360およびサンプル326〜332を符号化することによって、符号化された信号102を生成し得る。時間的等化器108は、第2のオーディオ信号132が基準信号に対応し、第1のオーディオ信号130がターゲット信号に対応すると判断し得る。特に、時間的等化器108は、図5を参照して説明するように、最終不一致値116から非因果的不一致値162を推定し得る。時間的等化器108は、最終不一致値116の符号に基づいて、第1のオーディオ信号130または第2のオーディオ信号132のうちの一方を基準信号として、また第1のオーディオ信号130または第2のオーディオ信号132のうちの他方をターゲット信号として識別する(たとえば、指定する)ことができる。
図5を参照すると、システムの説明のための例が示され、全体的に500と指定されている。システム500は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム500の1つまたは複数の構成要素を含み得る。時間的等化器108は、リサンプラ504、信号比較器506、補間器510、シフトリファイナ511、シフト変化分析器512、絶対シフト生成器513、基準信号指定器508、利得パラメータ生成器514、信号生成器516、またはそれらの組合せを含み得る。
動作中、リサンプラ504は、図6を参照してさらに説明するように、1つまたは複数の再サンプリングされた信号を生成し得る。たとえば、リサンプラ504は、再サンプリング(たとえば、ダウンサンプリングまたはアップサンプリング)係数(D)(たとえば、≧1)に基づいて第1のオーディオ信号130を再サンプリングする(たとえば、ダウンサンプリングする、またはアップサンプリングする)ことによって、第1の再サンプリングされた信号530を生成し得る。リサンプラ504は、再サンプリング係数(D)に基づいて第2のオーディオ信号132を再サンプリングすることによって、第2の再サンプリングされた信号532を生成し得る。リサンプラ504は、第1の再サンプリングされた信号530、第2の再サンプリングされた信号532、または両方を信号比較器506に提供し得る。
信号比較器506は、図7を参照してさらに説明するように、比較値534(たとえば、差値、類似性値、コヒーレンス値、もしくは相互相関値)、暫定的不一致値536、または両方を生成し得る。たとえば、信号比較器506は、図7を参照してさらに説明するように、第1の再サンプリングされた信号530と第2の再サンプリングされた信号532に適用される複数の不一致値とに基づいて、比較値534を生成し得る。信号比較器506は、図7を参照してさらに説明するように、比較値534に基づいて暫定的不一致値536を決定し得る。一実装形態によれば、信号比較器506は、再サンプリングされた信号530、532の前フレームに関する比較値を取り出すことができ、前フレームに関する比較値を使用して、長期平滑化演算に基づいて比較値534を修正することができる。たとえば、比較値534は、現在のフレーム(N)に関する長期比較値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期比較値
は、フレームNにおける瞬間的比較値CompValN(k)および1つまたは複数の前フレームに関する長期比較値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。平滑化パラメータ(たとえば、αの値)は、無音部分中(またはシフト推定のドリフトを引き起こし得る背景雑音中)の比較値の平滑化を制限するように制御され/適応し得る。たとえば、比較値は、より高い平滑化係数(たとえば、α=0.995)に基づいて平滑化され得、あるいは平滑化は、α=0.9に基づき得る。平滑化パラメータ(たとえば、α)の制御は、背景エネルギーもしくは長期エネルギーがしきい値を下回るかどうかに基づき、コーダタイプに基づき、または比較値統計に基づき得る。
特定の実装形態では、平滑化パラメータ(たとえば、α)の値は、チャネルの短期信号レベル(EST)および長期信号レベル(ELT)に基づき得る。一例として、短期信号レベルは、ダウンサンプリングされた基準サンプルの絶対値の和とダウンサンプリングされたターゲットサンプルの絶対値の和との和として処理されるフレーム(N)に関して計算され得る(EST(N))。長期信号レベルは、短期信号レベルの平滑化バージョンであり得る。たとえば、ELT(N)=0.6*ELT(N-1)+0.4*EST(N)である。さらに、平滑化パラメータ(たとえば、α)の値は、次のように述べる擬似コードに従って制御され得る。
αを初期値(たとえば、0.95)に設定する。
EST>4*ELTの場合、αの値を修正する(たとえば、α=0.5)。
EST>2*ELTおよびEST≦4*ELT場合、αの値を修正する(たとえば、α=0.7)。
特定の実装形態では、平滑化パラメータ(たとえば、α)の値は、短期比較値および長期比較値の相関に基づいて制御され得る。たとえば、現在フレームの比較値が長期平滑化比較値に非常に類似しているとき、それは、静止した話者を示すものであり、これは、平滑化をさらに増大させる(たとえば、αの値を増大させる)ように平滑化パラメータを制御するために使用され得る。他方では、様々なシフト値の関数としての比較値が、長期比較値に似ていないとき、平滑化パラメータは、平滑化を低減する(たとえば、αの値を減少させる)ように調整され(たとえば、適応し)得る。
さらに、短期比較値
は、処理される現在フレームの近傍にあるフレームの比較値の平滑化バージョンとして推定され得る。例:
他の実装形態では、短期比較値は、処理されるフレームにおいて生成された比較値
と同じであり得る。
さらに、短期比較値および長期比較値の相互相関(CrossCorr_CompValN)は、
として計算されるフレーム(N)ごとに推定された単一の値であり得る。ここでFacが、CrossCorr_CompValNが0と1との間で制限されるように選択された正規化係数である。一例として、Facは、次のように計算される。
第1の再サンプリングされた信号530は、第1のオーディオ信号130よりも少ないサンプルまたは多いサンプルを含み得る。第2の再サンプリングされた信号532は、第2のオーディオ信号132よりも少ないサンプルまたは多いサンプルを含み得る。再サンプリングされた信号(たとえば、第1の再サンプリングされた信号530および第2の再サンプリングされた信号532)のより少ないサンプルに基づいて比較値534を決定する場合は、元の信号(たとえば、第1のオーディオ信号130および第2のオーディオ信号132)のサンプルに基づく場合よりも少ないリソース(たとえば、時間、動作の数、または両方)を使用し得る。再サンプリングされた信号(たとえば、第1の再サンプリングされた信号530および第2の再サンプリングされた信号532)のより多いサンプルに基づいて比較値534を決定する場合は、元の信号(たとえば、第1のオーディオ信号130および第2のオーディオ信号132)のサンプルに基づく場合よりも精度が向上し得る。信号比較器506は、比較値534、暫定的不一致値536、または両方を補間器510に提供し得る。
補間器510は、暫定的不一致値536を拡大適用する(extend)ことができる。たとえば、補間器510は、図8を参照してさらに説明するように、補間済み不一致値538を生成し得る。たとえば、補間器510は、比較値534を補間することによって、暫定的不一致値536に最も近い不一致値に対応する補間済み比較値を生成し得る。補間器510は、補間済み比較値および比較値534に基づいて、補間済み不一致値538を決定し得る。比較値534は、不一致値のより粗い細分性に基づき得る。たとえば、比較値534は、不一致値のセットの第1のサブセットに基づき得、結果として、第1のサブセットの第1の不一致値と第1のサブセットの各第2の不一致値との間の差がしきい値(たとえば、≧1)以上となる。しきい値は、再サンプリング係数(D)に基づき得る。
補間済み比較値は、再サンプリングされた暫定的不一致値536に最も近い不一致値のより細かい細分性に基づき得る。たとえば、補間済み比較値は、不一致値のセットの第2のサブセットに基づき得、結果として、第2のサブセットの最も高い不一致値と再サンプリングされた暫定的不一致値536との間の差がしきい値(たとえば、≧1)未満となり、第2のサブセットの最も低い不一致値と再サンプリングされた暫定的不一致値536との間の差がしきい値未満となる。不一致値のセットのより粗い細分性(たとえば、第1のサブセット)に基づいて比較値534を決定する場合は、不一致値のセットのより細かい細分性(たとえば、すべて)に基づいて比較値534を決定する場合よりも少ないリソース(たとえば、時間、動作、または両方)を使用し得る。不一致値の第2のサブセットに対応する補間済み比較値を決定する場合は、不一致値のセットの各不一致値に対応する比較値を決定することなく、暫定的不一致値536に最も近い不一致値のより小さいセットのより細かい細分性に基づいて暫定的不一致値536を拡大適用することができる。したがって、不一致値の第1のサブセットに基づいて暫定的不一致値536を決定し、補間済み比較値に基づいて補間済み不一致値538を決定する場合は、リソースの使用と推定不一致値の精緻化とのバランスをとることができる。補間器510は、補間済み不一致値538をシフトリファイナ511に提供し得る。
一実装形態によれば、補間器510は、前フレームに関する補間済み不一致/比較値を取り出すことができ、前フレームに関する補間済み不一致/比較値を使用して、長期平滑化演算に基づいて補間済み不一致/比較値538を修正することができる。たとえば、補間済み不一致/比較値538は、現在のフレーム(N)に関する長期補間済み不一致/比較値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期補間済み不一致/比較
は、フレームNにおける瞬間的補間済み不一致/比較値InterValN(k)および1つまたは複数の前フレームに関する長期補間済み不一致/比較値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
シフトリファイナ511は、図9A〜図9Cを参照してさらに説明するように、補間済み不一致値538を精緻化することによって補正済み不一致値540を生成し得る。たとえば、シフトリファイナ511は、図9Aを参照してさらに説明するように、第1のオーディオ信号130と第2のオーディオ信号132との間のシフトの変化がシフト変化しきい値よりも大きいことを補間済み不一致値538が示すかどうかを判断し得る。シフトの変化は、補間済み不一致値538と図3のフレーム302に関連する第1の不一致値との間の差によって示され得る。シフトリファイナ511は、差がしきい値以下であるとの判断に応答して、補正済み不一致値540を補間済み不一致値538に設定し得る。代替的に、シフトリファイナ511は、図9Aを参照してさらに説明するように、差がしきい値よりも大きいとの判断に応答して、シフト変化しきい値以下である差に対応する複数の不一致値を決定し得る。シフトリファイナ511は、第1のオーディオ信号130と第2のオーディオ信号132に適用される複数の不一致値とに基づいて、比較値を決定し得る。シフトリファイナ511は、図9Aを参照してさらに説明するように、比較値に基づいて補正済み不一致値540を決定し得る。たとえば、シフトリファイナ511は、図9Aを参照してさらに説明するように、比較値および補間済み不一致値538に基づいて、複数の不一致値のうちの不一致値を選択し得る。シフトリファイナ511は、被選択不一致値を示すように補正済み不一致値540を設定し得る。フレーム302に対応する第1の不一致値と補間済み不一致値538との間の非0の差は、第2のオーディオ信号132のいくつかのサンプルが両方のフレーム(たとえば、フレーム302およびフレーム304)に対応することを示し得る。たとえば、第2のオーディオ信号132のいくつかのサンプルは、符号化中に複製され得る。代替的に、非0の差は、第2のオーディオ信号132のいくつかのサンプルがフレーム302にもフレーム304にも対応しないことを示し得る。たとえば、第2のオーディオ信号132のいくつかのサンプルは、符号化中に紛失し得る。補正済み不一致値540を複数の不一致値のうちの1つに設定することは、連続(または隣接)フレーム間のシフトの大きい変化を防ぎ、それによって、符号化中のサンプル紛失またはサンプル複製の量を低減することができる。シフトリファイナ511は、補正済み不一致値540をシフト変化分析器512に提供し得る。
一実装形態によれば、シフトリファイナは、前フレームに関する補正済み不一致値を取り出すことができ、前フレームに関する補正済み不一致値を使用して、長期平滑化演算に基づいて補正済み不一致値540を修正することができる。たとえば、補正済み不一致値540は、現在のフレーム(N)に関する長期補正済み不一致値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期補正済み不一致値
は、フレームNにおける瞬間的補正済み不一致値AmendValN(k)および1つまたは複数の前フレームに関する長期補正済み不一致値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
いくつかの実装形態では、シフトリファイナ511は、図9Bを参照して説明するように、補間済み不一致値538を調整し得る。シフトリファイナ511は、調整された補間済み不一致値538に基づいて補正済み不一致値540を決定し得る。いくつかの実装形態では、シフトリファイナ511は、図9Cを参照して説明するように、補正済み不一致値540を決定し得る。
シフト変化分析器512は、図1を参照して説明したように、補正済み不一致値540が第1のオーディオ信号130と第2のオーディオ信号132との間のタイミングの切替えまたは反転を示すかどうかを判断し得る。具体的には、タイミングの反転または切替えは、フレーム302に関して、第1のオーディオ信号130が入力インターフェース112において第2のオーディオ信号132の前に受信されており、後続フレーム(たとえば、フレーム304またはフレーム306)に関して、第2のオーディオ信号132が入力インターフェースにおいて第1のオーディオ信号130の前に受信されていることを示し得る。代替的に、タイミングの反転または切替えは、フレーム302に関して、第2のオーディオ信号132が入力インターフェース112において第1のオーディオ信号130の前に受信されており、後続フレーム(たとえば、フレーム304またはフレーム306)に関して、第1のオーディオ信号130が入力インターフェースにおいて第2のオーディオ信号132の前に受信されていることを示し得る。言い換えれば、タイミングの切替えまたは反転は、フレーム302に対応する最終不一致値が、フレーム304に対応する補正済み不一致値540の第2の符号とは別個の第1の符号を有すること(たとえば、正から負への移行またはその逆)を示し得る。シフト変化分析器512は、図10Aを参照してさらに説明するように、補正済み不一致値540およびフレーム302に関連する第1の不一致値に基づいて、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたかどうかを判断し得る。シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたとの判断に応答して、最終不一致値116を、時間シフトなしを示す値(たとえば、0)に設定し得る。代替的に、シフト変化分析器512は、図10Aを参照してさらに説明するように、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えていないとの判断に応答して、最終不一致値116を補正済み不一致値540に設定し得る。シフト変化分析器512は、図10A、図11を参照してさらに説明するように、補正済み不一致値540を精緻化することによって推定不一致値を生成し得る。シフト変化分析器512は、最終不一致値116を推定不一致値に設定し得る。時間シフトなしを示すように最終不一致値116を設定することは、第1のオーディオ信号130および第2のオーディオ信号132を第1のオーディオ信号130の連続(または隣接)フレームに関して反対方向で時間シフトするのを控えることによって、デコーダにおけるひずみを低減し得る。シフト変化分析器512は、最終不一致値116を基準信号指定器508、絶対シフト生成器513、または両方に提供し得る。いくつかの実装形態では、シフト変化分析器512は、図10Bを参照して説明するように、最終不一致値116を決定し得る。
絶対シフト生成器513は、最終不一致値116に絶対関数を適用することによって、非因果的不一致値162を生成し得る。絶対シフト生成器513は、非因果的不一致値162を利得パラメータ生成器514に提供し得る。
基準信号指定器508は、図12〜図13を参照してさらに説明するように、基準信号インジケータ164を生成し得る。たとえば、基準信号インジケータ164は、第1のオーディオ信号130が基準信号であることを示す第1の値または第2のオーディオ信号132が基準信号であることを示す第2の値を有し得る。基準信号指定器508は、基準信号インジケータ164を利得パラメータ生成器514に提供し得る。
利得パラメータ生成器514は、非因果的不一致値162に基づいてターゲット信号(たとえば、第2のオーディオ信号132)のサンプルを選択し得る。例示すると、利得パラメータ生成器514は、非因果的不一致値162が第1の値(たとえば、+Xmsまたは+Yサンプルであって、XおよびYが正の実数を含む)を有するとの判断に応答して、サンプル358〜364を選択し得る。利得パラメータ生成器514は、非因果的不一致値162が第2の値(たとえば、-Xmsまたは-Yサンプル)を有するとの判断に応答して、サンプル354〜360を選択し得る。利得パラメータ生成器514は、時間シフトなしを示す値(たとえば、0)を非因果的不一致値162が有するとの判断に応答して、サンプル356〜362を選択し得る。
利得パラメータ生成器514は、基準信号インジケータ164に基づいて、第1のオーディオ信号130が基準信号であるか、それとも第2のオーディオ信号132が基準信号であるかを判断し得る。利得パラメータ生成器514は、図1を参照して説明したように、フレーム304のサンプル326〜332および第2のオーディオ信号132の被選択サンプル(たとえば、サンプル354〜360、サンプル356〜362、またはサンプル358〜364)に基づいて利得パラメータ160を生成し得る。たとえば、利得パラメータ生成器514は、式1a〜式1fのうちの1つまたは複数に基づいて利得パラメータ160を生成することができ、式中、gDは利得パラメータ160に対応し、Ref(n)は基準信号のサンプルに対応し、Targ(n+N1)はターゲット信号のサンプルに対応する。例示すると、非因果的不一致値162が第1の値(たとえば、+Xmsまたは+Yサンプルであって、XおよびYが正の実数を含む)を有するときに、Ref(n)はフレーム304のサンプル326〜332に対応することができ、Targ(n+tN1)はフレーム344のサンプル358〜364に対応することができる。いくつかの実装形態では、図1を参照して説明したように、Ref(n)は第1のオーディオ信号130のサンプルに対応することができ、Targ(n+N1)は第2のオーディオ信号132のサンプルに対応することができる。代替実装形態では、図1を参照して説明したように、Ref(n)は第2のオーディオ信号132のサンプルに対応することができ、Targ(n+N1)は第1のオーディオ信号130のサンプルに対応することができる。
利得パラメータ生成器514は、利得パラメータ160、基準信号インジケータ164、非因果的不一致値162、またはそれらの組合せを信号生成器516に提供し得る。信号生成器516は、図1を参照して説明したように、符号化された信号102を生成し得る。たとえば、符号化された信号102は、第1の符号化された信号フレーム564(たとえば、ミッドチャネルフレーム)、第2の符号化された信号フレーム566(たとえば、サイドチャネルフレーム)、または両方を含み得る。信号生成器516は、式2aまたは式2bに基づいて第1の符号化された信号フレーム564を生成することができ、式中、Mは第1の符号化された信号フレーム564に対応し、gDは利得パラメータ160に対応し、Ref(n)は基準信号のサンプルに対応し、Targ(n+N1)はターゲット信号のサンプルに対応する。信号生成器516は、式3aまたは式3bに基づいて第2の符号化された信号フレーム566を生成することができ、式中、Sは第2の符号化された信号フレーム566に対応し、gDは利得パラメータ160に対応し、Ref(n)は基準信号のサンプルに対応し、Targ(n+N1)はターゲット信号のサンプルに対応する。
時間的等化器108は、第1の再サンプリングされた信号530、第2の再サンプリングされた信号532、比較値534、暫定的不一致値536、補間済み不一致値538、補正済み不一致値540、非因果的不一致値162、基準信号インジケータ164、最終不一致値116、利得パラメータ160、第1の符号化された信号フレーム564、第2の符号化された信号フレーム566、またはそれらの組合せをメモリ153に記憶し得る。たとえば、分析データ190は、第1の再サンプリングされた信号530、第2の再サンプリングされた信号532、比較値534、暫定的不一致値536、補間済み不一致値538、補正済み不一致値540、非因果的不一致値162、基準信号インジケータ164、最終不一致値116、利得パラメータ160、第1の符号化された信号フレーム564、第2の符号化された信号フレーム566、またはそれらの組合せを含み得る。
上記で説明した平滑化技法は、有声フレーム、無声フレーム、および遷移フレームの間のシフト推定値を実質的に正規化し得る。正規化シフト推定値により、フレーム境界においてサンプル繰返しおよびアーティファクトスキップが低減され得る。さらに、正規化シフト推定値により、サイドチャネルエネルギーが低減されることがあり、結果的にコーディング効率が改善されることがある。
図6を参照すると、システムの説明のための例が示され、全体的に600と指定されている。システム600は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム600の1つまたは複数の構成要素を含み得る。
リサンプラ504は、図1の第1のオーディオ信号130を再サンプリングする(たとえば、ダウンサンプリングする、またはアップサンプリングする)ことによって、第1の再サンプリングされた信号530の第1のサンプル620を生成し得る。リサンプラ504は、図1の第2のオーディオ信号132を再サンプリングする(たとえば、ダウンサンプリングする、またはアップサンプリングする)ことによって、第2の再サンプリングされた信号532の第2のサンプル650を生成し得る。
第1のオーディオ信号130は、図3のサンプル320を生成するために第1のサンプルレート(Fs)でサンプリングされ得る。第1のサンプルレート(Fs)は、広帯域(WB)帯域幅に関連する第1のレート(たとえば、16キロヘルツ(kHz))、超広帯域(SWB)帯域幅に関連する第2のレート(たとえば、32kHz)、全帯域(FB)帯域幅に関連する第3のレート(たとえば、48kHz)、または別のレートに対応し得る。第2のオーディオ信号132は、図3の第2のサンプル350を生成するために第1のサンプルレート(Fs)でサンプリングされ得る。
いくつかの実装形態では、リサンプラ504は、第1のオーディオ信号130(または第2のオーディオ信号132)を再サンプリングする前に、第1のオーディオ信号130(または第2のオーディオ信号132)を前処理し得る。リサンプラ504は、無限インパルス応答(IIR)フィルタ(たとえば、1次IIRフィルタ)に基づいて第1のオーディオ信号130(または第2のオーディオ信号132)をフィルタ処理することによって、第1のオーディオ信号130(または第2のオーディオ信号132)を前処理し得る。IIRフィルタは、以下の式に基づき得る。
Hpre(z)=1/(1-αz-1)、式4
上式で、αは0.68または0.72などの正である。再サンプリングする前にデエンファシスを実行することで、エイリアシング、信号調整、またはその両方などの影響を低減することができる。第1のオーディオ信号130(たとえば、前処理された第1のオーディオ信号130)および第2のオーディオ信号132(たとえば、前処理された第2のオーディオ信号132)は、再サンプリング係数(D)に基づいて再サンプリングされ得る。再サンプリング係数(D)は、第1のサンプルレート(Fs)に基づき得る(たとえば、D=Fs/8、D=2Fsなど)。
代替実装形態では、第1のオーディオ信号130および第2のオーディオ信号132は、再サンプリングする前にアンチエイリアシングフィルタを使用してローパスフィルタ処理またはデシメートされ得る。デシメーションフィルタは、再サンプリング係数(D)に基づき得る。特定の例では、リサンプラ504は、第1のサンプルレート(Fs)が特定のレート(たとえば、32kHz)に対応するとの決定に応答して、第1のカットオフ周波数(たとえば、π/Dまたはπ/4)によるデシメーションフィルタを選択し得る。複数の信号(たとえば、第1のオーディオ信号130および第2のオーディオ信号132)をデエンファシス処理することによってエイリアシングを低減する場合は、複数の信号にデシメーションフィルタを適用する場合よりも計算コストが少なくなり得る。
第1のサンプル620は、サンプル622、サンプル624、サンプル626、サンプル628、サンプル630、サンプル632、サンプル634、サンプル636、1つもしくは複数の追加のサンプル、またはそれらの組合せを含み得る。第1のサンプル620は、図3の第1のサンプル320のサブセット(たとえば、1/8)を含み得る。サンプル622、サンプル624、1つもしくは複数の追加のサンプル、またはそれらの組合せは、フレーム302に対応し得る。サンプル626、サンプル628、サンプル630、サンプル632、1つもしくは複数の追加のサンプル、またはそれらの組合せは、フレーム304に対応し得る。サンプル634、サンプル636、1つもしくは複数の追加のサンプル、またはそれらの組合せは、フレーム306に対応し得る。
第2のサンプル650は、サンプル652、サンプル654、サンプル656、サンプル658、サンプル660、サンプル662、サンプル664、サンプル666、1つもしくは複数の追加のサンプル、またはそれらの組合せを含み得る。第2のサンプル650は、図3の第2のサンプル350のサブセット(たとえば、1/8)を含み得る。サンプル654〜660は、サンプル354〜360に対応し得る。たとえば、サンプル654〜660は、サンプル354〜360のサブセット(たとえば、1/8)を含み得る。サンプル656〜662は、サンプル356〜362に対応し得る。たとえば、サンプル656〜662は、サンプル356〜362のサブセット(たとえば、1/8)を含み得る。サンプル658〜664は、サンプル358〜364に対応し得る。たとえば、サンプル658〜664は、サンプル358〜364のサブセット(たとえば、1/8)を含み得る。いくつかの実装形態では、再サンプリング係数は、第1の値(たとえば、1)に対応することができ、この場合、図6のサンプル622〜636およびサンプル652〜666がそれぞれ図3のサンプル322〜336およびサンプル352〜366と同様であり得る。
リサンプラ504は、第1のサンプル620、第2のサンプル650、または両方をメモリ153に記憶し得る。たとえば、分析データ190は、第1のサンプル620、第2のサンプル650、または両方を含み得る。
図7を参照すると、システムの説明のための例が示され、全体的に700と指定されている。システム700は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム700の1つまたは複数の構成要素を含み得る。
メモリ153は、複数の不一致値760を記憶し得る。不一致値760は、第1の不一致値764(たとえば、-Xmsもしくは-Yサンプルであって、XおよびYが正の実数を含む)、第2の不一致値766(たとえば、+Xmsもしくは+Yサンプルであって、XおよびYが正の実数を含む)、または両方を含み得る。不一致値760は、下位不一致値(たとえば、最小不一致値、T_MIN)から上位不一致値(たとえば、最大不一致値、T_MAX)まで及び得る。不一致値760は、第1のオーディオ信号130と第2のオーディオ信号132との間の予想時間的シフト(たとえば、最大予想時間的シフト)を示し得る。
動作中、信号比較器506は、第1のサンプル620と第2のサンプル650に適用される不一致値760とに基づいて、比較値534を決定し得る。たとえば、サンプル626〜632は、第1の時間(t)に対応し得る。例示すると、図1の入力インターフェース112は、およそ第1の時間(t)に、フレーム304に対応するサンプル626〜632を受信し得る。第1の不一致値764(たとえば、-Xmsまたは-Yサンプルであって、XおよびYが正の実数を含む)は、第2の時間(t-1)に対応し得る。
サンプル654〜660は、第2の時間(t-1)に対応し得る。たとえば、入力インターフェース112は、およそ第2の時間(t-1)にサンプル654〜660を受信し得る。信号比較器506は、サンプル626〜632およびサンプル654〜660に基づいて、第1の不一致値764に対応する第1の比較値714(たとえば、差値または相互相関値)を決定し得る。たとえば、第1の比較値714は、サンプル626〜632およびサンプル654〜660の相互相関の絶対値に対応し得る。別の例として、第1の比較値714は、サンプル626〜632とサンプル654〜660との間の差を示し得る。
第2の不一致値766(たとえば、+Xmsまたは+Yサンプルであって、XおよびYが正の実数を含む)は、第3の時間(t+1)に対応し得る。サンプル658〜664は、第3の時間(t+1)に対応し得る。たとえば、入力インターフェース112は、およそ第3の時間(t+1)にサンプル658〜664を受信し得る。信号比較器506は、サンプル626〜632およびサンプル658〜664に基づいて、第2の不一致値766に対応する第2の比較値716(たとえば、差値または相互相関値)を決定し得る。たとえば、第2の比較値716は、サンプル626〜632およびサンプル658〜664の相互相関の絶対値に対応し得る。別の例として、第2の比較値716は、サンプル626〜632とサンプル658〜664との間の差を示し得る。信号比較器506は、比較値534をメモリ153に記憶し得る。たとえば、分析データ190は比較値534を含み得る。
信号比較器506は、比較値534の他の値よりも高い(または低い)値を有する、比較値534の被選択比較値736を識別し得る。たとえば、信号比較器506は、第2の比較値716が第1の比較値714以上であるとの判断に応答して、被選択比較値736として第2の比較値716を選択し得る。いくつかの実装形態では、比較値534は相互相関値に対応し得る。信号比較器506は、第2の比較値716が第1の比較値714よりも大きいとの判断に応答して、サンプル626〜632がサンプル654〜660との場合よりも高い相関をサンプル658〜664との間で有すると判断し得る。信号比較器506は、被選択比較値736として、より高い相関を示す第2の比較値716を選択し得る。他の実装形態では、比較値534は差値に対応し得る。信号比較器506は、第2の比較値716が第1の比較値714よりも低いとの判断に応答して、サンプル626〜632がサンプル654〜660との場合よりも大きい類似性(たとえば、小さい差)をサンプル658〜664との間で有すると判断し得る。信号比較器506は、被選択比較値736として、より小さい差を示す第2の比較値716を選択し得る。
被選択比較値736は、比較値534の他の値よりも高い相関(または、小さい差)を示し得る。信号比較器506は、被選択比較値736に対応する不一致値760の暫定的不一致値536を識別し得る。たとえば、信号比較器506は、第2の不一致値766が被選択比較値736(たとえば、第2の比較値716)に対応するとの判断に応答して、暫定的不一致値536として第2の不一致値766を識別し得る。
信号比較器506は、以下の式に基づいて被選択比較値736を決定し得る。
上式で、maxXCorrは被選択比較値736に対応し、kは不一致値に対応する。w(n)*l'は、デエンファシス処理され、再サンプリングされ、ウィンドウ化された第1のオーディオ信号130に対応し、w(n)*r'は、デエンファシス処理され、再サンプリングされ、ウィンドウ化された第2のオーディオ信号132に対応する。たとえば、w(n)*l'はサンプル626〜632に対応することができ、w(n-1)*r'はサンプル654〜660に対応することができ、w(n)*r'はサンプル656〜662に対応することができ、w(n+1)*r'はサンプル658〜664に対応することができる。-Kは、不一致値760の下位不一致値(たとえば、最小不一致値)に対応することができ、Kは、不一致値760の上位不一致値(たとえば、最大不一致値)に対応することができる。式5において、第1のオーディオ信号130が右(r)チャネルに対応するか、それとも左(l)チャネルに対応するかとは無関係に、w(n)*l'は第1のオーディオ信号130に対応する。式5において、第2のオーディオ信号132が右(r)チャネルに対応するか、それとも左(l)チャネルに対応するかとは無関係に、w(n)*r'は第2のオーディオ信号132に対応する。
信号比較器506は、以下の式に基づいて暫定的不一致値536を決定し得る。
上式で、Tは暫定的不一致値536に対応する。
信号比較器506は、図6の再サンプリング係数(D)に基づいて、再サンプリングされたサンプルから元のサンプルに暫定的不一致値536をマッピングし得る。たとえば、信号比較器506は、再サンプリング係数(D)に基づいて暫定的不一致値536を更新し得る。例示すると、信号比較器506は暫定的不一致値536を、暫定的不一致値536(たとえば、3)と再サンプリング係数(D)(たとえば、4)との積(たとえば、12)に設定し得る。
図8を参照すると、システムの説明のための例が示され、全体的に800と指定されている。システム800は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム800の1つまたは複数の構成要素を含み得る。メモリ153は、不一致値860を記憶するように構成され得る。不一致値860は、第1の不一致値864、第2の不一致値866、または両方を含み得る。
動作中、補間器510は、本明細書で説明するように、暫定的不一致値536(たとえば、12)に最も近い不一致値860を生成し得る。マッピングされた不一致値は、再サンプリング係数(D)に基づいて、再サンプリングされたサンプルから元のサンプルにマッピングされた不一致値760に対応し得る。たとえば、マッピングされた不一致値のうちの第1のマッピングされた不一致値は、第1の不一致値764と再サンプリング係数(D)との積に対応し得る。マッピングされた不一致値のうちの第1のマッピングされた不一致値とマッピングされた不一致値のうちの各第2のマッピングされた不一致値との間の差は、しきい値(たとえば、4などの再サンプリング係数(D))以上であり得る。不一致値860は、不一致値760よりも細かい細分性を有し得る。たとえば、不一致値860の下位値(たとえば、最小値)と暫定的不一致値536との間の差は、しきい値(たとえば、4)未満であり得る。しきい値は、図6の再サンプリング係数(D)に対応し得る。不一致値860は、第1の値(たとえば、暫定的不一致値536-(しきい値-1))から第2の値(たとえば、暫定的不一致値536+(しきい値-1))まで及び得る。
補間器510は、本明細書で説明するように、比較値534に対して補間を実行することによって、不一致値860に対応する補間済み比較値816を生成し得る。不一致値860のうちの1つまたは複数に対応する比較値は、比較値534のより粗い細分性のせいで、比較値534から除外され得る。補間済み比較値816を使用することで、不一致値860のうちの1つまたは複数に対応する補間済み比較値を探索して、暫定的不一致値536に最も近い特定の不一致値に対応する補間済み比較値が図7の第2の比較値716よりも高い相関(または小さい差)を示すかどうかを判断することが可能になり得る。
図8は、補間済み比較値816および比較値534(たとえば、相互相関値)の例を示すグラフ820を含む。補間器510は、ハニングウィンドウ化されたsinc補間、IIRフィルタベースの補間、スプライン補間、別の形態の信号補間、またはそれらの組合せに基づいて、補間を実行し得る。たとえば、補間器510は、以下の式に基づいて、ハニングウィンドウ化されたsinc補間を実行し得る。
上式で、
であり、bはウィンドウ化されたsinc関数に対応し、
は暫定的不一致値536に対応する。
は、比較値534のうちの特定の比較値に対応し得る。たとえば、
は、iが4に対応するときに、第1の不一致値(たとえば、8)に対応する比較値534のうちの第1の比較値を示し得る。
は、iが0に対応するときに、暫定的不一致値536(たとえば、12)に対応する第2の比較値716を示し得る。
は、iが-4に対応するときに、第3の不一致値(たとえば、16)に対応する比較値534のうちの第3の比較値を示し得る。
R(k)32kHzは、補間済み比較値816の特定の補間済み値に対応し得る。補間済み比較値816の各補間済み値は、ウィンドウ化されたsinc関数(b)と第1の比較値、第2の比較値716および第3の比較値の各々との積の和に対応し得る。たとえば、補間器510は、ウィンドウ化されたsinc関数(b)と第1の比較値との第1の積、ウィンドウ化されたsinc関数(b)と第2の比較値716との第2の積、およびウィンドウ化されたsinc関数(b)と第3の比較値との第3の積を決定し得る。補間器510は、第1の積、第2の積、および第3の積の和に基づいて、特定の補間済み値を決定し得る。補間済み比較値816の第1の補間済み値は、第1の不一致値(たとえば、9)に対応し得る。ウィンドウ化されたsinc関数(b)は、第1の不一致値に対応する第1の値を有し得る。補間済み比較値816の第2の補間済み値は、第2の不一致値(たとえば、10)に対応し得る。ウィンドウ化されたsinc関数(b)は、第2の不一致値に対応する第2の値を有し得る。ウィンドウ化されたsinc関数(b)の第1の値は、第2の値とは別個のものであり得る。したがって、第1の補間済み値は、第2の補間済み値とは別個のものであり得る。
式7では、8kHzは、比較値534の第1のレートに対応し得る。たとえば、第1のレートは、比較値534に含まれるフレーム(たとえば、図3のフレーム304)に対応する比較値の数(たとえば、8)を示し得る。32kHzは、補間済み比較値816の第2のレートに対応し得る。たとえば、第2のレートは、補間済み比較値816に含まれるフレーム(たとえば、図3のフレーム304)に対応する補間済み比較値の数(たとえば、32)を示し得る。
補間器510は、補間済み比較値816のうちの補間済み比較値838(たとえば、最大値または最小値)を選択し得る。補間器510は、補間済み比較値838に対応する不一致値860のうちの不一致値(たとえば、14)を選択し得る。補間器510は、被選択不一致値(たとえば、第2の不一致値866)を示す補間済み不一致値538を生成し得る。
暫定的不一致値536を決定するために粗い手法を使用し、補間済み不一致値538を決定するために暫定的不一致値536の辺りを探索することで、探索の効率性または正確性を損なうことなく、探索の複雑性を低減することができる。
図9Aを参照すると、システムの説明のための例が示され、全体的に900と指定されている。システム900は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム900の1つまたは複数の構成要素を含み得る。システム900は、メモリ153、シフトリファイナ911、または両方を含み得る。メモリ153は、フレーム302に対応する第1の不一致値962を記憶するように構成され得る。たとえば、分析データ190は第1の不一致値962を含み得る。第1の不一致値962は、フレーム302に関連する暫定的不一致値、補間済み不一致値、補正済み不一致値、最終不一致値、または非因果的不一致値に対応し得る。フレーム302は、第1のオーディオ信号130においてフレーム304に先行し得る。シフトリファイナ911は、図1のシフトリファイナ511に対応し得る。
図9Aはまた、全体的に920と指定された例示的な動作方法のフローチャートを含む。方法920は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、図2の時間的等化器208、エンコーダ214、第1のデバイス204、図5のシフトリファイナ511、シフトリファイナ911、またはそれらの組合せによって実行され得る。
方法920は、901において、第1の不一致値962と補間済み不一致値538との間の差の絶対値が第1のしきい値よりも大きいかどうかを判断するステップを含む。たとえば、シフトリファイナ911は、第1の不一致値962と補間済み不一致値538との間の差の絶対値が第1のしきい値(たとえば、シフト変化しきい値)よりも大きいかどうかを判断し得る。
方法920はまた、901における、絶対値が第1のしきい値以下であるとの判断に応答して、902において、補間済み不一致値538を示すように補正済み不一致値540を設定するステップを含む。たとえば、シフトリファイナ911は、絶対値がシフト変化しきい値以下であるとの判断に応答して、補間済み不一致値538を示すように補正済み不一致値540を設定し得る。いくつかの実装形態では、シフト変化しきい値は、第1の不一致値962が補間済み不一致値538に等しいときに、補正済み不一致値540が補間済み不一致値538に設定されるべきであることを示す第1の値(たとえば、0)を有し得る。代替実装形態では、自由度がより大きく、シフト変化しきい値は、902において、補正済み不一致値540が補間済み不一致値538に設定されるべきであることを示す第2の値(たとえば、≧1)を有し得る。たとえば、第1の不一致値962と補間済み不一致値538との間の差のある範囲で、補正済み不一致値540は補間済み不一致値538に設定され得る。例示すると、補正済み不一致値540は、第1の不一致値962と補間済み不一致値538との間の差(たとえば、-2、-1、0、1、2)の絶対値がシフト変化しきい値(たとえば、2)以下であるときに、補間済み不一致値538に設定され得る。
方法920は、901における、絶対値が第1のしきい値よりも大きいとの判断に応答して、904において、第1の不一致値962が補間済み不一致値538よりも大きいかどうかを判断するステップをさらに含む。たとえば、シフトリファイナ911は、絶対値がシフト変化しきい値よりも大きいとの判断に応答して、第1の不一致値962が補間済み不一致値538よりも大きいかどうかを判断し得る。
方法920はまた、904における、第1の不一致値962が補間済み不一致値538よりも大きいとの判断に応答して、906において、下位不一致値930を、第1の不一致値962と第2のしきい値との間の差に設定し、上位不一致値932を第1の不一致値962に設定するステップを含む。たとえば、シフトリファイナ911は、第1の不一致値962(たとえば、20)が補間済み不一致値538(たとえば、14)よりも大きいとの判断に応答して、下位不一致値930(たとえば、17)を、第1の不一致値962(たとえば、20)と第2のしきい値(たとえば、3)との間の差に設定し得る。追加または代替として、シフトリファイナ911は、第1の不一致値962が補間済み不一致値538よりも大きいとの判断に応答して、上位不一致値932(たとえば、20)を第1の不一致値962に設定し得る。第2のしきい値は、第1の不一致値962と補間済み不一致値538との間の差に基づき得る。いくつかの実装形態では、下位不一致値930は、補間済み不一致値538オフセットとしきい値(たとえば、第2のしきい値)との間の差に設定され得、上位不一致値932は、第1の不一致値962としきい値(たとえば、第2のしきい値)との間の差に設定され得る。
方法920は、904における、第1の不一致値962が補間済み不一致値538以下であるとの判断に応答して、910において、下位不一致値930を第1の不一致値962に設定し、上位不一致値932を、第1の不一致値962と第3のしきい値との和に設定するステップをさらに含む。たとえば、シフトリファイナ911は、第1の不一致値962(たとえば、10)が補間済み不一致値538(たとえば、14)以下であるとの判断に応答して、下位不一致値930を第1の不一致値962(たとえば、10)に設定し得る。追加または代替として、シフトリファイナ911は、第1の不一致値962が補間済み不一致値538以下であるとの判断に応答して、上位不一致値932(たとえば、13)を、第1の不一致値962(たとえば、10)と第3のしきい値(たとえば、3)との和に設定し得る。第3のしきい値は、第1の不一致値962と補間済み不一致値538との間の差に基づき得る。いくつかの実装形態では、下位不一致値930は、第1の不一致値962オフセットとしきい値(たとえば、第3のしきい値)との間の差に設定され得、上位不一致値932は、補間済み不一致値538としきい値(たとえば、第3のしきい値)との間の差に設定され得る。
方法920はまた、908において、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値960とに基づいて、比較値916を決定するステップを含む。たとえば、シフトリファイナ911(または信号比較器506)は、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値960とに基づいて、図7を参照して説明したように、比較値916を生成し得る。例示すると、不一致値960は、下位不一致値930(たとえば、17)から上位不一致値932(たとえば、20)まで及び得る。シフトリファイナ911(または信号比較器506)は、サンプル326〜332と第2のサンプル350の特定のサブセットとに基づいて、比較値916のうちの特定の比較値を生成し得る。第2のサンプル350の特定のサブセットは、不一致値960のうちの特定の不一致値(たとえば、17)に対応し得る。特定の比較値は、サンプル326〜332と第2のサンプル350の特定のサブセットとの間の差(または相関)を示し得る。
方法920は、912において、第1のオーディオ信号130および第2のオーディオ信号132に基づいて生成された比較値916に基づいて、補正済み不一致値540を決定するステップをさらに含む。たとえば、シフトリファイナ911は、比較値916に基づいて補正済み不一致値540を決定し得る。例示すると、第1のケースでは、比較値916が相互相関値に対応するときに、シフトリファイナ911は、補間済み不一致値538に対応する図8の補間済み比較値838が比較値916のうちの最高比較値以上であると判断し得る。代替的に、比較値916が差値に対応するときに、シフトリファイナ911は、補間済み比較値838が比較値916のうちの最低比較値以下であると判断し得る。この場合、シフトリファイナ911は、第1の不一致値962(たとえば、20)が補間済み不一致値538(たとえば、14)よりも大きいとの判断に応答して、補正済み不一致値540を下位不一致値930(たとえば、17)に設定し得る。代替的に、シフトリファイナ911は、第1の不一致値962(たとえば、10)が補間済み不一致値538(たとえば、14)以下であるとの判断に応答して、補正済み不一致値540を上位不一致値932(たとえば、13)に設定し得る。
第2のケースでは、比較値916が相互相関値に対応するときに、シフトリファイナ911は、補間済み比較値838が比較値916のうちの最高比較値未満であると判断することができ、補正済み不一致値540を、最高比較値に対応する不一致値960のうちの特定の不一致値(たとえば、18)に設定することができる。代替的に、比較値916が差値に対応するときに、シフトリファイナ911は、補間済み比較値838が比較値916のうちの最低比較値よりも大きいと判断することができ、補正済み不一致値540を、最低比較値に対応する不一致値960のうちの特定の不一致値(たとえば、18)に設定することができる。
比較値916は、第1のオーディオ信号130、第2のオーディオ信号132、および不一致値960に基づいて生成し得る。補正済み不一致値540は、図7を参照して説明したように、信号比較器506によって実行されるのと同様の手順を使用して、比較値916に基づいて生成され得る。
したがって、方法920は、シフトリファイナ911が、連続(または隣接)フレームに関連する不一致値の変化を制限することを可能にし得る。不一致値の変化が減ると、符号化中のサンプル紛失またはサンプル複製が減少し得る。
図9Bを参照すると、システムの説明のための例が示され、全体的に950と指定されている。システム950は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム950の1つまたは複数の構成要素を含み得る。システム950は、メモリ153、シフトリファイナ511、または両方を含み得る。シフトリファイナ511は、補間済みシフト調整器958を含み得る。補間済みシフト調整器958は、本明細書で説明するように、第1の不一致値962に基づいて、補間済み不一致値538を選択的に調整するように構成され得る。シフトリファイナ511は、図9A、図9Cを参照して説明しているように、補間済み不一致値538(たとえば、調整された補間済み不一致値538)に基づいて補正済み不一致値540を決定し得る。
図9Bはまた、全体的に951と指定された例示的な動作方法のフローチャートを含む。方法951は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、図2の時間的等化器208、エンコーダ214、第1のデバイス204、図5のシフトリファイナ511、図9Aのシフトリファイナ911、補間済みシフト調整器958、またはそれらの組合せによって実行され得る。
方法951は、952において、第1の不一致値962と無制限補間済み不一致値956との間の差に基づいて、オフセット957を生成するステップを含む。たとえば、補間済みシフト調整器958は、第1の不一致値962と無制限補間済み不一致値956との間の差に基づいて、オフセット957を生成し得る。無制限補間済み不一致値956は、(たとえば、補間済みシフト調整器958による調整の前の)補間済み不一致値538に対応し得る。補間済みシフト調整器958は、無制限補間済み不一致値956をメモリ153に記憶し得る。たとえば、分析データ190は無制限補間済み不一致値956を含み得る。
方法951はまた、953において、オフセット957の絶対値がしきい値よりも大きいかどうかを判断するステップを含む。たとえば、補間済みシフト調整器958は、オフセット957の絶対値がしきい値を満たすかどうかを判断し得る。しきい値は、補間済みシフト制限MAX_SHIFT_CHANGE(たとえば、4)に対応し得る。
方法951は、953における、オフセット957の絶対値がしきい値よりも大きいとの判断に応答して、954において、第1の不一致値962、オフセット957の符号、およびしきい値に基づいて、補間済み不一致値538を設定するステップを含む。たとえば、補間済みシフト調整器958は、オフセット957の絶対値がしきい値を満たさない(たとえば、しきい値よりも大きい)との判断に応答して、補間済み不一致値538を制限し得る。例示すると、補間済みシフト調整器958は、第1の不一致値962、オフセット957の符号(たとえば、+1または-1)、およびしきい値に基づいて、補間済み不一致値538を調整し得る(たとえば、補間済み不一致値538=第1の不一致値962+sign(オフセット957)*しきい値)。
方法951は、953における、オフセット957の絶対値がしきい値以下であるとの判断に応答して、955において、補間済み不一致値538を無制限補間済み不一致値956に設定するステップを含む。たとえば、補間済みシフト調整器958は、オフセット957の絶対値がしきい値を満たす(たとえば、しきい値以下である)との判断に応答して、補間済み不一致値538を変えるのを控え得る。
したがって、方法951は、第1の不一致値962に対する補間済み不一致値538の変化が補間シフト制限を満たすように、補間済み不一致値538を制限することを可能にし得る。
図9Cを参照すると、システムの説明のための例が示され、全体的に970と指定されている。システム970は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム970の1つまたは複数の構成要素を含み得る。システム970は、メモリ153、シフトリファイナ921、または両方を含み得る。シフトリファイナ921は、図5のシフトリファイナ511に対応し得る。
図9Cはまた、全体的に971と指定された例示的な動作方法のフローチャートを含む。方法971は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、図2の時間的等化器208、エンコーダ214、第1のデバイス204、図5のシフトリファイナ511、図9Aのシフトリファイナ911、シフトリファイナ921、またはそれらの組合せによって実行され得る。
方法971は、972において、第1の不一致値962と補間済み不一致値538との間の差が非0であるかどうかを判断するステップを含む。たとえば、シフトリファイナ921は、第1の不一致値962と補間済み不一致値538との間の差が非0であるかどうかを判断し得る。
方法971は、972における、第1の不一致値962と補間済み不一致値538との間の差が0であるとの判断に応答して、973において、補正済み不一致値540を補間済み不一致値538に設定するステップを含む。たとえば、シフトリファイナ921は、第1の不一致値962と補間済み不一致値538との間の差が0であるとの判断に応答して、補間済み不一致値538に基づいて補正済み不一致値540を決定し得る(たとえば、補正済み不一致値540=補間済み不一致値538)。
方法971は、972における、第1の不一致値962と補間済み不一致値538との間の差が非0であるとの判断に応答して、975において、オフセット957の絶対値がしきい値よりも大きいかどうかを判断するステップを含む。たとえば、シフトリファイナ921は、第1の不一致値962と補間済み不一致値538との間の差が非0であるとの判断に応答して、オフセット957の絶対値がしきい値よりも大きいかどうかを判断し得る。オフセット957は、図9Bを参照して説明したように、第1の不一致値962と無制限補間済み不一致値956との間の差に対応し得る。しきい値は、補間済みシフト制限MAX_SHIFT_CHANGE(たとえば、4)に対応し得る。
方法971は、972における、第1の不一致値962と補間済み不一致値538との間の差が非0であるとの判断、または975における、オフセット957の絶対値がしきい値以下であるとの判断に応答して、976において、下位不一致値930を、第1のしきい値と第1の不一致値962および補間済み不一致値538のうちの最小値との間の差に設定し、上位不一致値932を、第2のしきい値と第1の不一致値962および補間済み不一致値538のうちの最大値との和に設定するステップを含む。たとえば、シフトリファイナ921は、オフセット957の絶対値がしきい値以下であるとの判断に応答して、第1のしきい値と第1の不一致値962および補間済み不一致値538のうちの最小値との間の差に基づいて、下位不一致値930を決定し得る。シフトリファイナ921はまた、第2のしきい値と第1の不一致値962および補間済み不一致値538のうちの最大値との和に基づいて、上位不一致値932を決定し得る。
方法971はまた、977において、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値960とに基づいて、比較値916を生成するステップを含む。たとえば、シフトリファイナ921(または信号比較器506)は、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値960とに基づいて、図7を参照して説明したように、比較値916を生成し得る。不一致値960は、下位不一致値930から上位不一致値932まで及び得る。方法971は979に進み得る。
方法971は、975における、オフセット957の絶対値がしきい値よりも大きいとの判断に応答して、978において、第1のオーディオ信号130と第2のオーディオ信号132に適用される無制限補間済み不一致値956とに基づいて、比較値915を生成するステップを含む。たとえば、シフトリファイナ921(または信号比較器506)は、第1のオーディオ信号130と第2のオーディオ信号132に適用される無制限補間済み不一致値956とに基づいて、図7を参照して説明したように、比較値915を生成し得る。
方法971はまた、979において、比較値916、比較値915、またはそれらの組合せに基づいて、補正済み不一致値540を決定するステップを含む。たとえば、シフトリファイナ921は、図9Aを参照して説明したように、比較値916、比較値915、またはそれらの組合せに基づいて、補正済み不一致値540を決定し得る。いくつかの実装形態では、シフトリファイナ921は、シフト変動に起因する極大値を回避するために、比較値915と比較値916との比較に基づいて、補正済み不一致値540を決定し得る。
いくつかの場合には、第1のオーディオ信号130、第1の再サンプリングされた信号530、第2のオーディオ信号132、第2の再サンプリングされた信号532、またはそれらの組合せの固有のピッチが、シフト推定プロセスに干渉し得る。そのような場合、ピッチに起因する干渉を低減するために、また複数のチャネル間のシフト推定の信頼性を改善するために、ピッチデエンファシスまたはピッチフィルタ処理が実行され得る。いくつかの場合には、シフト推定プロセスに干渉し得る背景雑音が、第1のオーディオ信号130、第1の再サンプリングされた信号530、第2のオーディオ信号132、第2の再サンプリングされた信号532、またはそれらの組合せの中に存在し得る。そのような場合、複数のチャネル間のシフト推定の信頼性を改善するために、雑音抑圧または雑音消去が使用され得る。
図10Aを参照すると、システムの説明のための例が示され、全体的に1000と指定されている。システム1000は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム1000の1つまたは複数の構成要素を含み得る。
図10Aはまた、全体的に1020と指定された例示的な動作方法のフローチャートを含む。方法1020は、シフト変化分析器512、時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1020は、1001において、第1の不一致値962が0に等しいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、フレーム302に対応する第1の不一致値962が、時間シフトなしを示す第1の値(たとえば、0)を有するかどうかを判断し得る。方法1020は、1001における、第1の不一致値962が0に等しいとの判断に応答して、1010に進むステップを含む。
方法1020は、1001における、第1の不一致値962が非0であるとの判断に応答して、1002において、第1の不一致値962が0よりも大きいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、フレーム302に対応する第1の不一致値962が、第2のオーディオ信号132が第1のオーディオ信号130に対して時間的に遅延していることを示す第1の値(たとえば、正の値)を有するかどうかを判断し得る。
方法1020は、1002における、第1の不一致値962が0よりも大きいとの判断に応答して、1004において、補正済み不一致値540が0未満であるかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が第1の値(たとえば、正の値)を有するとの判断に応答して、補正済み不一致値540が、第1のオーディオ信号130が第2のオーディオ信号132に対して時間的に遅延していることを示す第2の値(たとえば、負の値)を有するかどうかを判断し得る。方法1020は、1004における、補正済み不一致値540が0未満であるとの判断に応答して、1008に進むステップを含む。方法1020は、1004における、補正済み不一致値540が0以上であるとの判断に応答して、1010に進むステップを含む。
方法1020は、1002における、第1の不一致値962が0未満であるとの判断に応答して、1006において、補正済み不一致値540が0よりも大きいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が第2の値(たとえば、負の値)を有するとの判断に応答して、補正済み不一致値540が、第2のオーディオ信号132が第1のオーディオ信号130に対して時間的に遅延していることを示す第1の値(たとえば、正の値)を有するかどうかを判断し得る。方法1020は、1006における、補正済み不一致値540が0よりも大きいとの判断に応答して、1008に進むステップを含む。方法1020は、1006における、補正済み不一致値540が0以下であるとの判断に応答して、1010に進むステップを含む。
方法1020は、1008において、最終不一致値116を0に設定するステップを含む。たとえば、シフト変化分析器512は、最終不一致値116を、時間シフトなしを示す特定の値(たとえば、0)に設定し得る。
方法1020は、1010において、第1の不一致値962が補正済み不一致値540に等しいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962および補正済み不一致値540が、第1のオーディオ信号130と第2のオーディオ信号132との間の同じ時間遅延を示すかどうかを判断し得る。
方法1020は、1010における、第1の不一致値962が補正済み不一致値540に等しいとの判断に応答して、1012において、最終不一致値116を補正済み不一致値540に設定するステップを含む。たとえば、シフト変化分析器512は、最終不一致値116を補正済み不一致値540に設定し得る。
方法1020は、1010における、第1の不一致値962が補正済み不一致値540に等しくないとの判断に応答して、1014において、推定不一致値1072を生成するステップを含む。たとえば、シフト変化分析器512は、図11を参照してさらに説明するように、補正済み不一致値540を精緻化することによって推定不一致値1072を決定し得る。
方法1020は、1016において、最終不一致値116を推定不一致値1072に設定するステップを含む。たとえば、シフト変化分析器512は、最終不一致値116を推定不一致値1072に設定し得る。
いくつかの実装形態では、シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が切り替わっていないとの判断に応答して、第2の推定不一致値を示すように非因果的不一致値162を設定し得る。たとえば、シフト変化分析器512は、1001における、第1の不一致値962が0に等しいとの判断、1004における、補正済み不一致値540が0以上であるとの判断、または1006における、補正済み不一致値540が0以下であるとの判断に応答して、補正済み不一致値540を示すように非因果的不一致値162を設定し得る。
したがって、シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が図3のフレーム302とフレーム304との間で切り替わったとの判断に応答して、時間シフトなしを示すように非因果的不一致値162を設定し得る。非因果的不一致値162が連続フレーム間で方向を(たとえば、正から負または負から正に)切り替えるのを防ぐことで、エンコーダ114におけるダウンミックス信号生成におけるひずみを減らすこと、デコーダにおけるアップミックス合成のための追加の遅延の使用を回避すること、または両方ができる。
図10Bを参照すると、システムの説明のための例が示され、全体的に1030と指定されている。システム1030は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム1030の1つまたは複数の構成要素を含み得る。
図10Bはまた、全体的に1031と指定された例示的な動作方法のフローチャートを含む。方法1031は、シフト変化分析器512、時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1031は、1032において、第1の不一致値962が0よりも大きく、補正済み不一致値540が0未満であるかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が0よりも大きいかどうか、また補正済み不一致値540が0未満であるかどうかを判断し得る。
方法1031は、1032における、第1の不一致値962が0よりも大きいとの判断、および補正済み不一致値540が0未満であるとの判断に応答して、1033において、最終不一致値116を0に設定するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が0よりも大きいとの判断、および補正済み不一致値540が0未満であるとの判断に応答して、最終不一致値116を、時間シフトなしを示す第1の値(たとえば、0)に設定し得る。
方法1031は、1032における、第1の不一致値962が0以下であるとの判断、または補正済み不一致値540が0以上であるとの判断に応答して、1034において、第1の不一致値962が0未満であるかどうか、また補正済み不一致値540が0よりも大きいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が0以下であるとの判断、または補正済み不一致値540が0以上であるとの判断に応答して、第1の不一致値962が0未満であるかどうか、また補正済み不一致値540が0よりも大きいかどうかを判断し得る。
方法1031は、第1の不一致値962が0未満であるとの判断、および補正済み不一致値540が0よりも大きいとの判断に応答して、1033に進むステップを含む。方法1031は、第1の不一致値962が0以上であるとの判断、または補正済み不一致値540が0以下であるとの判断に応答して、1035において、最終不一致値116を補正済み不一致値540に設定するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が0以上であるとの判断、または補正済み不一致値540が0以下であるとの判断に応答して、最終不一致値116を補正済み不一致値540に設定し得る。
図11を参照すると、システムの説明のための例が示され、全体的に1100と指定されている。システム1100は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム1100の1つまたは複数の構成要素を含み得る。図11はまた、全体的に1120と指定されている動作方法を示すフローチャートを含む。方法1120は、シフト変化分析器512、時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。方法1120は、図10Aのステップ1014に対応し得る。
方法1120は、1104において、第1の不一致値962が補正済み不一致値540よりも大きいかどうかを判断するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962が補正済み不一致値540よりも大きいかどうかを判断し得る。
方法1120は、1104における、第1の不一致値962が補正済み不一致値540よりも大きいとの判断に応答して、1106において、第1の不一致値1130を、補正済み不一致値540と第1のオフセットとの間の差に設定し、第2の不一致値1132を、第1の不一致値962と第1のオフセットとの和に設定するステップを含む。たとえば、シフト変化分析器512は、第1の不一致値962(たとえば、20)が補正済み不一致値540(たとえば、18)よりも大きいとの判断に応答して、補正済み不一致値540に基づいて第1の不一致値1130(たとえば、17)を決定し得る(たとえば、補正済み不一致値540-第1のオフセット)。代替的に、または追加として、シフト変化分析器512は、第1の不一致値962に基づいて第2の不一致値1132(たとえば、21)を決定し得る(たとえば、第1の不一致値962+第1のオフセット)。方法1120は1108に進み得る。
方法1120は、1104における、第1の不一致値962が補正済み不一致値540以下であるとの判断に応答して、第1の不一致値1130を、第1の不一致値962と第2のオフセットとの間の差に設定し、第2の不一致値1132を、補正済み不一致値540と第2のオフセットとの和に設定するステップをさらに含む。たとえば、シフト変化分析器512は、第1の不一致値962(たとえば、10)が補正済み不一致値540(たとえば、12)以下であるとの判断に応答して、第1の不一致値962に基づいて第1の不一致値1130(たとえば、9)を決定し得る(たとえば、第1の不一致値962-第2のオフセット)。代替的に、または追加として、シフト変化分析器512は、補正済み不一致値540に基づいて第2の不一致値1132(たとえば、13)を決定し得る(たとえば、補正済み不一致値540+第2のオフセット)。第1のオフセット(たとえば、2)は第2のオフセット(たとえば、3)とは別個のものであり得る。いくつかの実装形態では、第1のオフセットは第2のオフセットと同じであり得る。第1のオフセット、第2のオフセットのうちの高い方の値、または両方が、探索範囲を改善し得る。
方法1120はまた、1108において、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値1160とに基づいて、比較値1140を生成するステップを含む。たとえば、シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132に適用される不一致値1160とに基づいて、図7を参照して説明したように、比較値1140を生成し得る。例示すると、不一致値1160は、第1の不一致値1130(たとえば、17)から第2の不一致値1132(たとえば、21)まで及び得る。シフト変化分析器512は、サンプル326〜332と第2のサンプル350の特定のサブセットとに基づいて、比較値1140のうちの特定の比較値を生成し得る。第2のサンプル350の特定のサブセットは、不一致値1160のうちの特定の不一致値(たとえば、17)に対応し得る。特定の比較値は、サンプル326〜332と第2のサンプル350の特定のサブセットとの間の差(または相関)を示し得る。
方法1120は、1112において、比較値1140に基づいて推定不一致値1072を決定するステップをさらに含む。たとえば、シフト変化分析器512は、比較値1140が相互相関値に対応するときに、比較値1140のうちの最高比較値を推定不一致値1072として選択し得る。代替的に、シフト変化分析器512は、比較値1140が差値に対応するときに、比較値1140のうちの最低比較値を推定不一致値1072として選択し得る。
したがって、方法1120は、シフト変化分析器512が、補正済み不一致値540を精緻化することによって、推定不一致値1072を生成することを可能にし得る。たとえば、シフト変化分析器512は、元のサンプルに基づいて比較値1140を決定することができ、最高の相関(または最小の差)を示す比較値1140のうちの比較値に対応する推定不一致値1072を選択することができる。
図12を参照すると、システムの説明のための例が示され、全体的に1200と指定されている。システム1200は、図1のシステム100に対応し得る。たとえば、図1のシステム100、第1のデバイス104、または両方は、システム1200の1つまたは複数の構成要素を含み得る。図12はまた、全体的に1220と指定されている動作方法を示すフローチャートを含む。方法1220は、基準信号指定器508、時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1220は、1202において、最終不一致値116が0に等しいかどうかを判断するステップを含む。たとえば、基準信号指定器508は、最終不一致値116が、時間シフトなしを示す特定の値(たとえば、0)を有するかどうかを判断し得る。
方法1220は、1202における、最終不一致値116が0に等しいとの判断に応答して、1204において、基準信号インジケータ164を変えないでおくステップを含む。たとえば、基準信号指定器508は、最終不一致値116が、時間シフトなしを示す特定の値(たとえば、0)を有するとの判断に応答して、基準信号インジケータ164を変えないでおくことができる。例示すると、基準信号インジケータ164は、同じオーディオ信号(たとえば、第1のオーディオ信号130または第2のオーディオ信号132)が、フレーム302の場合と同様にフレーム304に関連する基準信号であることを示し得る。
方法1220は、1202における、最終不一致値116が非0であるとの判断に応答して、1206において、最終不一致値116が0よりも大きいかどうかを判断するステップを含む。たとえば、基準信号指定器508は、最終不一致値116が、時間シフトを示す特定の値(たとえば、非0値)を有するとの判断に応答して、最終不一致値116が、第2のオーディオ信号132が第1のオーディオ信号130に対して遅延していることを示す第1の値(たとえば、正の値)を有するか、それとも第1のオーディオ信号130が第2のオーディオ信号132に対して遅延していることを示す第2の値(たとえば、負の値)を有するかを判断し得る。
方法1220は、最終不一致値116が第1の値(たとえば、正の値)を有するとの判断に応答して、1208において、第1のオーディオ信号130が基準信号であることを示す第1の値(たとえば、0)を有するように基準信号インジケータ164を設定するステップを含む。たとえば、基準信号指定器508は、最終不一致値116が第1の値(たとえば、正の値)を有するとの判断に応答して、第1のオーディオ信号130が基準信号であることを示す第1の値(たとえば、0)に基準信号インジケータ164を設定し得る。基準信号指定器508は、最終不一致値116が第1の値(たとえば、正の値)を有するとの判断に応答して、第2のオーディオ信号132がターゲット信号に対応すると判断し得る。
方法1220は、最終不一致値116が第2の値(たとえば、負の値)を有するとの判断に応答して、1210において、第2のオーディオ信号132が基準信号であることを示す第2の値(たとえば、1)を有するように基準信号インジケータ164を設定するステップを含む。たとえば、基準信号指定器508は、最終不一致値116が、第1のオーディオ信号130が第2のオーディオ信号132に対して遅延していることを示す第2の値(たとえば、負の値)を有するとの判断に応答して、基準信号インジケータ164を、第2のオーディオ信号132が基準信号であることを示す第2の値(たとえば、1)に設定し得る。基準信号指定器508は、最終不一致値116が第2の値(たとえば、負の値)を有するとの判断に応答して、第1のオーディオ信号130がターゲット信号に対応すると判断し得る。
基準信号指定器508は、基準信号インジケータ164を利得パラメータ生成器514に提供し得る。利得パラメータ生成器514は、図5を参照して説明したように、基準信号に基づいてターゲット信号の利得パラメータ(たとえば、利得パラメータ160)を決定し得る。
ターゲット信号が基準信号に対して時間的に遅延することがある。基準信号インジケータ164は、第1のオーディオ信号130が基準信号に対応するか、それとも第2のオーディオ信号132が基準信号に対応するかを示し得る。基準信号インジケータ164は、利得パラメータ160が第1のオーディオ信号130に対応するか、それとも第2のオーディオ信号132に対応するかを示し得る。
図13を参照すると、特定の動作方法を示すフローチャートが示され、全体的に1300と指定されている。方法1300は、基準信号指定器508、時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1300は、1302において、最終不一致値116が0以上であるかどうかを判断するステップを含む。たとえば、基準信号指定器508は、最終不一致値116が0以上であるかどうかを判断し得る。方法1300はまた、1302における、最終不一致値116が0以上であるとの判断に応答して、1208に進むステップを含む。方法1300は、1302における、最終不一致値116が0未満であるとの判断に応答して、1210に進むステップをさらに含む。最終不一致値116が、時間シフトなしを示す特定の値(たとえば、0)を有するとの判断に応答して、基準信号インジケータ164が、第1のオーディオ信号130が基準信号に対応することを示す第1の値(たとえば、0)に設定されるという点で、方法1300は図12の方法1220とは異なる。いくつかの実装形態では、基準信号指定器508が方法1220を実行し得る。他の実装形態では、基準信号指定器508が方法1300を実行し得る。
したがって、方法1300は、第1のオーディオ信号130がフレーム302に関する基準信号に対応するかどうかとは無関係に、最終不一致値116が時間シフトなしを示すときに、基準信号インジケータ164を、第1のオーディオ信号130が基準信号に対応することを示す特定の値(たとえば、0)に設定することを可能にし得る。
図14を参照すると、システムの説明のための例が示され、全体的に1400と指定されている。システム1400は、図5の信号比較器506、図5の補間器510、図5のシフトリファイナ511、および図5のシフト変化分析器512を含む。
信号比較器506は、比較値534(たとえば、差値、類似性値、コヒーレンス値、または相互相関値)、暫定的不一致値536、または両方を生成し得る。たとえば、信号比較器506は、第1の再サンプリングされた信号530と第2の再サンプリングされた信号532に適用される複数の不一致値1450とに基づいて、比較値534を生成し得る。信号比較器506は、比較値534に基づいて暫定的不一致値536を決定し得る。信号比較器506は、再サンプリングされた信号530、532の前フレームに関する比較値を取り出すように構成された平滑器1410を含み、前フレームに関する比較値を使用して、長期平滑化演算に基づいて比較値534を修正することができる。たとえば、比較値534は、現在のフレーム(N)に関する長期比較値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期比較値
は、フレームNにおける瞬間的比較値CompValN(k)および1つまたは複数の前フレームに関する長期比較値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
平滑化パラメータ(たとえば、αの値)は、無音部分中(またはシフト推定のドリフトを引き起こし得る背景雑音中)の比較値の平滑化を制限するように制御され/適応し得、比較値は、より高い平滑化係数(たとえば、α=0.995)に基づいて平滑化され得、あるいは平滑化は、α=0.9に基づき得る。平滑化パラメータ(たとえば、α)の制御は、背景エネルギーもしくは長期エネルギーがしきい値を下回るかどうかに基づき、コーダタイプに基づき、または比較値統計に基づき得る。
特定の実装形態では、平滑化パラメータ(たとえば、α)の値は、チャネルの短期信号レベル(EST)および長期信号レベル(ELT)に基づき得る。一例として、短期信号レベルは、ダウンサンプリングされた基準サンプルの絶対値の和とダウンサンプリングされたターゲットサンプルの絶対値の和との和として処理されるフレーム(N)に関して計算され得る(EST(N))。長期信号レベルは、短期信号レベルの平滑化バージョンであり得る。たとえば、ELT(N)=0.6*ELT(N-1)+0.4*EST(N)である。さらに、平滑化パラメータ(たとえば、α)の値は、擬似コードに従って制御され得る。
特定の実装形態では、平滑化パラメータ(たとえば、α)の値は、短期比較値および長期比較値の相関に基づいて制御され得る。たとえば、現在フレームの比較値が長期平滑化比較値に非常に類似しているとき、それは、静止した話者を示すものであり、これは、平滑化をさらに増大させる(たとえば、αの値を増大させる)ように平滑化パラメータを制御するために使用され得る。他方では、様々なシフト値の関数としての比較値が、長期比較値に似ていないとき、平滑化パラメータは、平滑化を低減する(たとえば、αの値を減少させる)ように調整され得る。信号比較器506は、比較値534、暫定的不一致値536、または両方を補間器510に提供し得る。
補間器510は、補間済み不一致値538を生成するために暫定的不一致値536を拡大適用し得る。たとえば、補間器510は、比較値534を補間することによって、暫定的不一致値536に最も近い不一致値に対応する補間済み比較値を生成し得る。補間器510は、補間済み比較値および比較値534に基づいて、補間済み不一致値538を決定し得る。比較値534は、不一致値のより粗い細分性に基づき得る。補間済み比較値は、再サンプリングされた暫定的不一致値536に最も近い不一致値のより細かい細分性に基づき得る。不一致値のセットのより粗い細分性(たとえば、第1のサブセット)に基づいて比較値534を決定する場合は、不一致値のセットのより細かい細分性(たとえば、すべて)に基づいて比較値534を決定する場合よりも少ないリソース(たとえば、時間、動作、または両方)を使用し得る。不一致値の第2のサブセットに対応する補間済み比較値を決定する場合は、不一致値のセットの各不一致値に対応する比較値を決定することなく、暫定的不一致値536に最も近い不一致値のより小さいセットのより細かい細分性に基づいて暫定的不一致値536を拡大適用することができる。したがって、不一致値の第1のサブセットに基づいて暫定的不一致値536を決定し、補間済み比較値に基づいて補間済み不一致値538を決定する場合は、リソースの使用と推定不一致値の精緻化とのバランスをとることができる。補間器510は、補間済み不一致値538をシフトリファイナ511に提供し得る。
補間器510は、前フレームに関する補間済み不一致値を取り出すように構成された平滑器1420を含み、前フレームに関する補間済み不一致値を使用して、長期平滑化演算に基づいて補間済み不一致値538を修正することができる。たとえば、補間済み不一致値538は、現在のフレーム(N)に関する長期補間済み不一致値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期補間済み不一致値
は、フレームNにおける瞬間的補間済み不一致値InterValN(k)および1つまたは複数の前フレームに関する長期補間済み不一致値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
シフトリファイナ511は、補間済み不一致値538を精緻化することによって補正済み不一致値540を生成し得る。たとえば、シフトリファイナ511は、第1のオーディオ信号130と第2のオーディオ信号132との間のシフトの変化がシフト変化しきい値よりも大きいことを補間済み不一致値538が示すかどうかを判断し得る。シフトの変化は、補間済み不一致値538と図3のフレーム302に関連する第1の不一致値との間の差によって示され得る。シフトリファイナ511は、差がしきい値以下であるとの判断に応答して、補正済み不一致値540を補間済み不一致値538に設定し得る。代替的に、シフトリファイナ511は、差がしきい値よりも大きいとの判断に応答して、シフト変化しきい値以下である差に対応する複数の不一致値を決定し得る。シフトリファイナ511は、第1のオーディオ信号130と第2のオーディオ信号132に適用される複数の不一致値とに基づいて、比較値を決定し得る。シフトリファイナ511は、比較値に基づいて補正済み不一致値540を決定し得る。たとえば、シフトリファイナ511は、比較値および補間済み不一致値538に基づいて、複数の不一致値のうちの不一致値を選択し得る。シフトリファイナ511は、被選択不一致値を示すように補正済み不一致値540を設定し得る。フレーム302に対応する第1の不一致値と補間済み不一致値538との間の非0の差は、第2のオーディオ信号132のいくつかのサンプルが両方のフレーム(たとえば、フレーム302およびフレーム304)に対応することを示し得る。たとえば、第2のオーディオ信号132のいくつかのサンプルは、符号化中に複製され得る。代替的に、非0の差は、第2のオーディオ信号132のいくつかのサンプルがフレーム302にもフレーム304にも対応しないことを示し得る。たとえば、第2のオーディオ信号132のいくつかのサンプルは、符号化中に紛失し得る。補正済み不一致値540を複数の不一致値のうちの1つに設定することは、連続(または隣接)フレーム間のシフトの大きい変化を防ぎ、それによって、符号化中のサンプル紛失またはサンプル複製の量を低減することができる。シフトリファイナ511は、補正済み不一致値540をシフト変化分析器512に提供し得る。
シフトリファイナ511は、前フレームに関する補正済み不一致値を取り出すように構成された平滑器1430を含み、前フレームに関する補正済み不一致値を使用して、長期平滑化演算に基づいて補正済み不一致値540を修正することができる。たとえば、補正済み不一致値540は、現在のフレーム(N)に関する長期補正済み不一致値
を含むことができ、
によって表され得、この場合、α∈(0,1,0)である。したがって、長期補正済み不一致値
は、フレームNにおける瞬間的補正済み不一致値InterValN(k)および1つまたは複数の前フレームに関する長期補正済み不一致値
の加重混合に基づき得る。
αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
シフト変化分析器512は、補正済み不一致値540が第1のオーディオ信号130と第2のオーディオ信号132との間のタイミングの切替えまたは反転を示すかどうかを判断し得る。シフト変化分析器512は、補正済み不一致値540およびフレーム302に関連する第1の不一致値に基づいて、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたかどうかを判断し得る。シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えたとの判断に応答して、最終不一致値116を、時間シフトなしを示す値(たとえば、0)に設定し得る。代替的に、シフト変化分析器512は、第1のオーディオ信号130と第2のオーディオ信号132との間の遅延が符号を切り替えていないとの判断に応答して、最終不一致値116を補正済み不一致値540に設定し得る。
シフト変化分析器512は、補正済み不一致値540を精緻化することによって推定不一致値を生成し得る。シフト変化分析器512は、最終不一致値116を推定不一致値に設定し得る。時間シフトなしを示すように最終不一致値116を設定することは、第1のオーディオ信号130および第2のオーディオ信号132を第1のオーディオ信号130の連続(または隣接)フレームに関して反対方向で時間シフトするのを控えることによって、デコーダにおけるひずみを低減し得る。シフト変化分析器512は、最終不一致値116を絶対シフト生成器513に提供し得る。絶対シフト生成器513は、最終不一致値116に絶対関数を適用することによって、非因果的不一致値162を生成し得る。
上記で説明した平滑化技法は、有声フレーム、無声フレーム、および遷移フレームの間のシフト推定値を実質的に正規化し得る。正規化シフト推定値により、フレーム境界においてサンプル繰返しおよびアーティファクトスキップが低減され得る。さらに、正規化シフト推定値により、サイドチャネルエネルギーが低減されることがあり、結果的にコーディング効率が改善されることがある。
図14に関して説明したように、平滑化は、信号比較器506、補間器510、シフトリファイナ511、またはそれらの組合せにおいて実行され得る。補間済みシフトが入力サンプリングレート(FSin)で暫定的シフトと常に異なる場合、比較値534の平滑化に加えて、または比較値534の平滑化の代わりに、補間済み不一致値538の平滑化が実行され得る。補間済み不一致値538の推定中、補間プロセスは、信号比較器506において生成された平滑化長期比較値に対して、信号比較器506において生成された非平滑化比較値に対して、または補間済み平滑化比較値および補間済み非平滑化比較値の加重混合に対して実行され得る。平滑化が補間器510において実行される場合、補間は、現在フレームにおいて推定される暫定的シフトに加えて、複数のサンプルの近くで実行されるように拡大適用され得る。たとえば、補間は、前フレームのシフト(たとえば、以前の暫定的シフト、以前の補間済みシフト、以前の補正済みシフト、または以前の最終シフトのうちの1つまたは複数)の近くで、かつ現在フレームの暫定的シフトの近くで実行され得る。結果として、補間済み不一致値に関して追加のサンプルに対して平滑化が実行され得、補間済みシフト推定値が改善され得る。
図15を参照すると、有声フレーム、遷移フレーム、および無声フレームに関する比較値を示すグラフが示されている。図15によれば、グラフ1502は、説明した長期平滑化技法を使用せずに処理された有声フレームに関する比較値(たとえば、相互相関値)を示し、グラフ1504は、説明した長期平滑化技法を使用せずに処理された遷移フレームに関する比較値を示し、グラフ1506は、説明した長期平滑化技法を使用せずに処理された無声フレームに関する比較値を示す。
各グラフ1502、1504、1506に表される相互相関は、かなり異なり得る。たとえば、グラフ1502は、図1の第1のマイクロフォン146によってキャプチャされた有声フレームと図1の第2のマイクロフォン148によってキャプチャされた対応する有声フレームとの間のピーク相互相関が、約17サンプルシフトにおいて発生することを示す。一方、グラフ1504は、第1のマイクロフォン146によってキャプチャされた遷移フレームと第2のマイクロフォン148によってキャプチャされた対応する遷移フレームとの間のピーク相互相関が、約4サンプルシフトにおいて発生することを示す。その上、グラフ1506は、第1のマイクロフォン146によってキャプチャされた無声フレームと第2のマイクロフォン148によってキャプチャされた対応する無声フレームとの間のピーク相互相関が、約-3サンプルシフトにおいて発生することを示す。したがって、シフト推定値は、比較的高い雑音レベルに起因して、遷移フレームおよび無声フレームに関して不正確であり得る。
図15によれば、グラフ1512は、説明した長期平滑化技法を使用して処理された有声フレームに関する比較値(たとえば、相互相関値)を示し、グラフ1514は、説明した長期平滑化技法を使用して処理された遷移フレームに関する比較値を示し、グラフ1516は、説明した長期平滑化技法を使用して処理された無声フレームに関する比較値を示す。各グラフ1512、1514、1516における相互相関値は、かなり類似し得る。たとえば、各グラフ1512、1514、1516は、図1の第1のマイクロフォン146によってキャプチャされたフレームと図1の第2のマイクロフォン148によってキャプチャされた対応するフレームとの間のピーク相互相関が、約17サンプルシフトにおいて発生することを示す。したがって、(グラフ1514によって表される)遷移フレームおよび(グラフ1516によって表される)無声フレームに関するシフト推定値は、雑音にもかかわらず、有声フレームのシフト推定値に対して比較的正確な(または類似した)ものであり得る。
図15に関して説明した比較値長期平滑化プロセスは、各フレームにおいて同じシフト範囲で比較値が推定されるときに適用され得る。平滑化論理(たとえば、平滑器1410、1420、1430)は、生成された比較値に基づくチャネル間のシフトの推定の前に実行され得る。たとえば、平滑化は、暫定的シフト、補間済みシフト、または補正済みシフトのいずれかの推定の前に実行され得る。無音部分中(またはシフト推定のドリフトを引き起こし得る背景雑音中)の比較値の適応を低減するために、比較値は、より高い時定数(たとえば、α=0.995)に基づいて平滑化され得、あるいは平滑化は、α=0.9に基づき得る。比較値を調整するかどうかの決定は、背景雑音エネルギーまたは長期エネルギーがしきい値を下回るかどうかに基づき得る。
図16を参照すると、特定の動作方法を示すフローチャートが示され、全体的に1600と指定されている。方法1600は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1600は、1602において、第1のマイクロフォンにおいて基準チャネルをキャプチャするステップを含む。基準チャネルは基準フレームを含み得る。たとえば、図1を参照すると、第1のマイクロフォン146は、第1のオーディオ信号130(たとえば、方法1600によれば「基準チャネル」)をキャプチャし得る。第1のオーディオ信号130は、基準フレーム(たとえば、第1のフレーム131)を含み得る。
1604において、第2のマイクロフォンにおいてターゲットチャネルがキャプチャされ得る。ターゲットチャネルはターゲットフレームを含み得る。たとえば、図1を参照すると、第2のマイクロフォン148は、第2のオーディオ信号132(たとえば、方法1600によれば「ターゲットチャネル」)をキャプチャし得る。第2のオーディオ信号132は、ターゲットフレーム(たとえば、第2のフレーム133)を含み得る。基準フレームおよびターゲットフレームは、有声フレーム、遷移フレーム、または無声フレームのうちの1つであり得る。
1606において、基準フレームとターゲットフレームとの間の遅延が推定され得る。たとえば、図1を参照すると、時間的等化器108は、基準フレームとターゲットフレームとの間の相互相関を判断し得る。1608において、遅延に基づいて、かつ履歴遅延データに基づいて、基準チャネルとターゲットチャネルとの間の時間的オフセットが推定され得る。たとえば、図1を参照すると、時間的等化器108は、マイクロフォン146、148においてキャプチャされたオーディオの間の(たとえば、基準チャネルとターゲットチャネルとの間の)時間的オフセットを推定し得る。時間的オフセットは、第1のオーディオ信号130の第1のフレーム131(たとえば、基準フレーム)と第2のオーディオ信号132の第2のフレーム133(たとえば、ターゲットフレーム)との間の遅延に基づいて推定され得る。たとえば、時間的等化器108は、基準フレームとターゲットフレームとの間の遅延を推定するために、相互相関関数を使用し得る。相互相関関数は、一方のフレームの他方に対するラグの関数として、2つのフレームの類似性を測定するために使用され得る。相互相関関数に基づいて、時間的等化器108は、基準フレームとターゲットフレームとの間の遅延(たとえば、ラグ)を判断し得る。時間的等化器108は、遅延および履歴遅延データに基づいて、第1のオーディオ信号130(たとえば、基準チャネル)と第2のオーディオ信号132(たとえば、ターゲットチャネル)との間の時間的オフセットを推定し得る。
履歴データは、第1のマイクロフォン146からキャプチャされたフレームと第2のマイクロフォン148からキャプチャされた対応するフレームとの間の遅延を含み得る。たとえば、時間的等化器108は、第1のオーディオ信号130に関連する前フレームと第2のオーディオ信号132に関連する対応するフレームとの間の相互相関(たとえば、ラグ)を判断し得る。各ラグは、「比較値」によって表され得る。すなわち、比較値は、第1のオーディオ信号130のフレームと第2のオーディオ信号132の対応するフレームとの間の時間シフト(k)を示し得る。一実装形態によれば、前フレームに関する比較値は、メモリ153に記憶され得る。時間的等化器108の平滑器190は、フレームの長期セットで比較値を平滑化する(または平均する)ことができ、第1のオーディオ信号130と第2のオーディオ信号132との間の時間的オフセット(たとえば、「シフト」)を推定するために、長期平滑化比較値を使用することができる。
したがって、履歴遅延データは、第1のオーディオ信号130および第2のオーディオ信号132に関連する平滑化比較値に基づいて生成され得る。たとえば、方法1600は、履歴遅延データを生成するために、第1のオーディオ信号130および第2のオーディオ信号132に関連する比較値を平滑化するステップを含み得る。平滑化比較値は、第1のフレームよりも時間的に早く生成された第1のオーディオ信号130のフレームに基づき、かつ第2のフレームよりも時間的に早く生成された第2のオーディオ信号132のフレームに基づき得る。一実装形態によれば、方法1600は、時間的オフセットによって第2のフレームを時間的にシフトするステップを含み得る。
例示すると、CompValN(k)が、フレームNに関するkのシフトにおける比較値を表す場合、フレームNは、k=T_MIN(最小シフト)からk=T_MAX(最大シフト)までの比較値を有し得る。平滑化は、長期比較値
が
によって表されるように実行され得る。上記の式における関数fは、シフト(k)における過去の比較値のすべて(またはサブセット)の関数であり得る。代替表現は、
であり得る。関数fまたはgはそれぞれ、単純な有限インパルス応答(FIR)フィルタまたは無限インパルス応答(IIR)フィルタであり得る。たとえば、関数gは、長期比較値
が
によって表され得るような単一タップIIRフィルタであり得、この場合、α∈(0,1,0)である。したがって、長期比較値
は、フレームNにおける瞬間的比較値CompValN(k)および1つまたは複数の前フレームに関する長期比較値
の加重混合に基づき得る。αの値が増大するにつれて、長期比較値の平滑化の量も増大する。
一実装形態によれば、方法1600は、図17〜図18に関してより詳細に説明するように、第1のフレームと第2のフレームとの間の遅延を推定するために使用される比較値の範囲を調整するステップを含み得る。遅延は、最も高い相互相関を有する比較値の範囲内の比較値に関連付けられ得る。範囲を調整するステップは、範囲の境界における比較値が単調に増大しているかどうかを判断するステップと、境界における比較値が単調に増大しているとの判断に応答して、境界を拡大するステップとを含み得る。境界は、左境界または右境界を含み得る。
図16の方法1600は、有声フレーム、無声フレーム、および遷移フレームの間のシフト推定値を実質的に正規化し得る。正規化シフト推定値により、フレーム境界においてサンプル繰返しおよびアーティファクトスキップが低減され得る。さらに、正規化シフト推定値により、サイドチャネルエネルギーが低減されることがあり、結果的にコーディング効率が改善されることがある。
図17を参照すると、シフト推定に使用される比較値の探索範囲を選択的に拡大するためのプロセス図1700が示されている。たとえば、プロセス図1700は、現在フレームに関して生成された比較値、過去フレームに関して生成された比較値、またはそれらの組合せに基づいて、比較値の探索範囲を拡大するために使用され得る。
プロセス図1700によれば、検出器が、右境界または左境界の近傍における比較値が増大しているか、または減少しているかを判断するように構成され得る。将来の比較値生成のための探索範囲境界は、判断に基づいてより多くの不一致値に対応するために外向きにプッシュされ得る。たとえば、探索範囲境界は、後続フレームにおける比較値または同じフレームにおける比較値に関して、比較値が再生されたときに、外向きにプッシュされ得る。検出器は、現在のフレームに関して生成された比較値に基づいて、または1つもしくは複数の前フレームに関して生成された比較値に基づいて、探索範囲拡張を開始し得る。
1702において、検出器は、右境界における比較値が単調に増大しているかどうかを判断し得る。非限定的な例として、探索範囲は、-20から20まで(たとえば、負の方向での20サンプルシフトから正の方向での20サンプルシフトまで)拡張し得る。本明細書で使用される場合、負の方向でのシフトは、基準信号である図1の第1のオーディオ信号130などの第1の信号、およびターゲット信号である図1の第2のオーディオ信号132などの第2の信号に対応する。正の方向でのシフトは、ターゲット信号である第1の信号および基準信号である第2の信号に対応する。
1702において、右境界における比較値が単調に増大している場合、検出器は、1704において、探索範囲を増大させるために、右境界を外向きに調整し得る。例示すると、サンプルシフト19における比較値が特定の値を有し、サンプルシフト20における比較値がより高い値を有する場合、検出器は、正の方向で探索範囲を拡張し得る。非限定的な例として、検出器は、-20から25まで探索範囲を拡張し得る。検出器は、1つのサンプル、2つのサンプル、3つのサンプルなどの増分で探索範囲を拡張し得る。一実装形態によれば、1702における判断は、右境界における見せかけの増大に基づいて探索範囲を拡大する可能性を低下させるために、右境界に向かって複数のサンプルにおいて比較値を検出することによって実行され得る。
1702において、右境界における比較値が単調に増大していない場合、検出器は、1706において、左境界における比較値が単調に増大しているかどうかを判断し得る。1706において、左境界における比較値が単調に増大している場合、検出器は、1708において、探索範囲を増大させるために、左境界を外向きに調整し得る。例示すると、サンプルシフト-19における比較値が特定の値を有し、サンプルシフト-20における比較値がより高い値を有する場合、検出器は、負の方向で探索範囲を拡張し得る。非限定的な例として、検出器は、-25から20まで探索範囲を拡張し得る。検出器は、1つのサンプル、2つのサンプル、3つのサンプルなどの増分で探索範囲を拡張し得る。一実装形態によれば、1702における判断は、左境界における見せかけの増大に基づいて探索範囲を拡大する可能性を低下させるために、左境界に向かって複数のサンプルにおいて比較値を検出することによって実行され得る。1706において、左境界における比較値が単調に増大していない場合、検出器は、1710において、探索範囲を変えないでおくことができる。
したがって、図17のプロセス図1700は、将来のフレームのための探索範囲修正を開始し得る。たとえば、過去の3つの連続するフレームについて、しきい値の前の最後の10個の不一致値にわたって比較値が単調に増大している(たとえば、サンプルシフト10からサンプルシフト20まで増大している、またはサンプルシフト-10からサンプルシフト-20まで増大している)ことが検出された場合、探索範囲は、特定のサンプル数だけ外向きに増大し得る。探索範囲のこの外向きの増大は、境界における比較値が単調に増大しなくなるまで、将来のフレームのために連続的に実施され得る。前フレームに関する比較値に基づいて探索範囲を増大させることで、「真のシフト」が探索範囲の境界の非常に近くに来るが探索範囲のすぐ外側に来る可能性が低下し得る。この可能性の低下により、サイドチャネルエネルギー最小化およびチャネルコーディングが改善され得る。
図18を参照すると、シフト推定に使用される比較値の探索範囲の選択的拡大を示すグラフが示されている。グラフは、Table 1(表1)におけるデータと連動し得る。
Table 1(表1)によれば、検出器は、特定の境界が3つ以上の連続フレームにおいて増大する場合に、探索範囲を拡大し得る。第1のグラフ1802は、フレームi-2に関する比較値を示す。第1のグラフ1802によれば、左境界が単調に増大しておらず、右境界が1つの連続フレームに関して単調に増大している。結果として、探索範囲は次のフレーム(たとえば、フレームi-1)に関して変わらないままであり、境界は-20から20まで及び得る。第2のグラフ1804は、フレームi-1に関する比較値を示す。第2のグラフ1804によれば、左境界が単調に増大しておらず、右境界が2つの連続フレームに関して単調に増大している。結果として、探索範囲は次のフレーム(たとえば、フレームi)に関して変わらないままであり、境界は-20から20まで及び得る。
第3のグラフ1806は、フレームiに関する比較値を示す。第3のグラフ1806によれば、左境界が単調に増大しておらず、右境界が3つの連続フレームに関して単調に増大している。右境界が3つ以上の連続フレームに関して単調に増大しているので、次のフレーム(たとえば、フレームi+1)の探索範囲は拡大され得、次のフレームに関する境界は-23から23まで及び得る。第4のグラフ1808は、フレームi+1に関する比較値を示す。第4のグラフ1808によれば、左境界が単調に増大しておらず、右境界が4つの連続フレームに関して単調に増大している。右境界が3つ以上の連続フレームに関して単調に増大しているので、次のフレーム(たとえば、フレームi+2)の探索範囲は拡大され得、次のフレームに関する境界は-26から26まで及び得る。第5のグラフ1810は、フレームi+2に関する比較値を示す。第5のグラフ1810によれば、左境界が単調に増大しておらず、右境界が5つの連続フレームに関して単調に増大している。右境界が3つ以上の連続フレームに関して単調に増大しているので、次のフレーム(たとえば、フレームi+3)の探索範囲は拡大され得、次のフレームに関する境界は-29から29まで及び得る。
第6のグラフ1812は、フレームi+3に関する比較値を示す。第6のグラフ1812によれば、左境界が単調に増大しておらず、右境界が単調に増大していない。結果として、探索範囲は次のフレーム(たとえば、フレームi+4)に関して変わらないままであり、境界は-29から29まで及び得る。第7のグラフ1814は、フレームi+4に関する比較値を示す。第7のグラフ1814によれば、左境界が単調に増大しておらず、右境界が1つの連続フレームに関して単調に増大している。結果として、探索範囲は次のフレームに関して変わらないままであり、境界は-29から29まで及び得る。
図18によれば、左境界は右境界とともに拡大される。代替実装形態では、左境界は、フレームごとに比較値が推定される一定数の不一致値を維持するように、右境界の外向きのプッシュを補償するために、内向きにプッシュされ得る。別の実装形態では、右境界が外向きに拡大されるべきであることを検出器が示すときに、左境界は一定のままであり得る。
一実装形態によれば、特定の境界が外向きに拡大されるべきであることを検出器が示すときに、特定の境界が外向きに拡大されるサンプルの量は、比較値に基づいて決定され得る。たとえば、比較値に基づいて右境界が外向きに拡大されるべきであると検出器が判断したとき、より広いシフト探索範囲で比較値の新しいセットが生成され得、検出器は、新しく生成された比較値および既存の比較値を使用して、最終探索範囲を決定し得る。例示すると、フレームi+1の場合、-30から30まで及ぶより広いシフト範囲での比較値のセットが生成され得る。最終探索範囲は、より広い探索範囲において生成された比較値に基づいて限定され得る。
図18における例は、右境界が外向きに拡張され得ることを示すが、左境界が拡張されるべきであると検出器が判断した場合に、左境界を外向きに拡張するために同様の類似する機能が実行されてよい。いくつかの実装形態によれば、探索範囲が無限に増大または減少するのを防ぐために、探索範囲に対する絶対的限定が利用され得る。非限定的な例として、探索範囲の絶対値は、8.75ミリ秒を超えて増大することを許容されないことがある(たとえば、コーデックのルックアヘッド)。
図19を参照すると、チャネルを非因果的にシフトするための方法1900が示されている。方法1900は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、またはそれらの組合せによって実行され得る。
方法1900は、1902において、エンコーダにおいて比較値を推定するステップを含む。各比較値は、以前キャプチャされた基準チャネルと対応する以前キャプチャされたターゲットチャネルとの間の時間的不一致の量を示し得る。たとえば、図1を参照すると、エンコーダ114は、(時間的により早くキャプチャされた)基準フレームおよび(時間的により早くキャプチャされた)対応するターゲットフレームを示す比較値を推定し得る。基準フレームおよびターゲットフレームは、マイクロフォン146、148によってキャプチャされ得る。
方法1900はまた、1904において、履歴比較値データおよび平滑化パラメータに基づいて、平滑化比較値を生成するために、比較値を平滑化するステップを含む。たとえば、図1を参照すると、エンコーダ114は、履歴比較値データおよび平滑化パラメータに基づいて、平滑化比較値を生成するために、比較値を平滑化し得る。一実装形態によれば、平滑化パラメータは適応型であり得る。たとえば、方法1900は、長期比較値と短期比較値の相関に基づいて、平滑化パラメータを適応させるステップを含み得る。一実装形態によれば、比較値
は、
に等しい。入力チャネルの短期エネルギーインジケータおよび入力チャネルの長期エネルギーインジケータに基づいて、平滑化パラメータ(α)の値が調整され得る。さらに、短期エネルギーインジケータが長期エネルギーインジケータよりも大きい場合に、平滑化パラメータ(α)の値は減らされ得る。別の実装形態によれば、長期平滑化比較値と短期平滑化比較値の相関に基づいて、平滑化パラメータ(α)の値が調整される。さらに、相関がしきい値を上回る場合に、平滑化パラメータ(α)の値は増やされ得る。別の実装形態によれば、比較値は、ダウンサンプリングされた基準チャネルおよび対応するダウンサンプリングされたターゲットチャネルの相互相関値であり得る。
方法1900はまた、1906において、平滑化比較値に基づいて暫定的シフト値を推定するステップを含む。たとえば、図1を参照すると、エンコーダ114は、平滑化比較値に基づいて暫定的シフト値を推定し得る。方法1900はまた、1908において、基準チャネルと時間的に整合する調整されたターゲットチャネルを生成するために、非因果的シフト値によってターゲットチャネルを非因果的にシフトするステップを含み、非因果的シフト値は暫定的シフト値に基づく。たとえば、時間的等化器108は、基準チャネルと時間的に整合する調整されたターゲットチャネルを生成するために、非因果的シフト値(たとえば、非因果的不一致値162)によってターゲットチャネルを非因果的にシフトし得る。
方法1900はまた、1910において、基準チャネルおよび調整されたターゲットチャネルに基づいて、ミッドバンドチャネルまたはサイドバンドチャネルのうちの少なくとも1つを生成するステップを含む。たとえば、図1を参照すると、エンコーダ114は、基準チャネルおよび調整されたターゲットチャネルに基づいて、ミッドバンドチャネルおよびサイドバンドチャネルのうちの少なくとも1つを生成し得る。
図20を参照すると、デバイス(たとえば、ワイヤレス通信デバイス)の特定の説明のための例のブロック図が示され、全体的に2000と指定されている。様々な実施形態では、デバイス2000は、図20に示すよりも少数または多数の構成要素を有し得る。例示的な実施形態では、デバイス2000は、図1の第1のデバイス104または第2のデバイス106に対応し得る。例示的な実施形態では、デバイス2000は、図1〜図19のシステムおよび方法を参照して説明した1つまたは複数の動作を実行し得る。
特定の実施形態では、デバイス2000はプロセッサ2006(たとえば、中央処理装置(CPU))を含む。デバイス2000は、1つまたは複数の追加のプロセッサ2010(たとえば、1つまたは複数のデジタル信号プロセッサ(DSP))を含み得る。プロセッサ2010は、メディア(スピーチおよび音楽)コーダデコーダ(コーデック)2008と、エコーキャンセラ2012とを含み得る。メディアコーデック2008は、図1のデコーダ118、エンコーダ114、または両方を含み得る。エンコーダ114は、時間的等化器108を含み得る。
デバイス2000は、メモリ153およびコーデック2034を含み得る。メディアコーデック2008は、プロセッサ2010(たとえば、専用回路および/または実行可能プログラミングコード)の構成要素として示されているが、他の実施形態では、デコーダ118、エンコーダ114、または両方などのメディアコーデック2008の1つまたは複数の構成要素は、プロセッサ2006、コーデック2034、別の処理構成要素、またはそれらの組合せに含まれ得る。
デバイス2000は、アンテナ2042に結合された送信機110を含み得る。デバイス2000は、ディスプレイコントローラ2026に結合されたディスプレイ2028を含み得る。1つまたは複数のスピーカー2048がコーデック2034に結合され得る。1つまたは複数のマイクロフォン2046が、入力インターフェース112を介してコーデック2034に結合され得る。特定の実装形態では、スピーカー2048は、図1の第1のラウドスピーカー142、第2のラウドスピーカー144、図2の第Yのラウドスピーカー244、またはそれらの組合せを含み得る。特定の実装形態では、マイクロフォン2046は、図1の第1のマイクロフォン146、第2のマイクロフォン148、図2の第Nのマイクロフォン248、図14の第3のマイクロフォン1446、第4のマイクロフォン1448、またはそれらの組合せを含み得る。コーデック2034は、デジタルアナログ変換器(DAC)2002およびアナログデジタル変換器(ADC)2004を含み得る。
メモリ153は、図1〜図19を参照して説明した1つまたは複数の動作を実行するために、プロセッサ2006、プロセッサ2010、コーデック2034、デバイス2000の別の処理ユニット、またはそれらの組合せによって実行可能な命令2060を含み得る。メモリ153は、分析データ190を記憶し得る。
デバイス2000の1つまたは複数の構成要素は、専用ハードウェア(たとえば、回路)を介して、1つもしくは複数のタスクを実行するように命令を実行するプロセッサによって、またはそれらの組合せで実装され得る。一例として、メモリ153、またはプロセッサ2006、プロセッサ2010、および/もしくはコーデック2034の1つもしくは複数の構成要素は、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルクトランスファーMRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、またはコンパクトディスク読取り専用メモリ(CD-ROM)などのメモリデバイスであり得る。メモリデバイスは、コンピュータ(たとえば、コーデック2034内のプロセッサ、プロセッサ2006、および/またはプロセッサ2010)によって実行されると、図1〜図18を参照して説明した1つまたは複数の動作をコンピュータに実行させることができる命令(たとえば、命令2060)を含むことができる。一例として、メモリ153、またはプロセッサ2006、プロセッサ2010、および/もしくはコーデック2034の1つもしくは複数の構成要素は、コンピュータ(たとえば、コーデック2034内のプロセッサ、プロセッサ2006、および/またはプロセッサ2010)によって実行されると、図1〜図19を参照して説明した1つまたは複数の動作をコンピュータに実行させる命令(たとえば、命令2060)を含む非一時的コンピュータ可読媒体であり得る。
特定の実施形態では、デバイス2000は、システムインパッケージまたはシステムオンチップデバイス(たとえば、移動局モデム(MSM))2022に含まれ得る。特定の実施形態では、プロセッサ2006、プロセッサ2010、ディスプレイコントローラ2026、メモリ153、コーデック2034、および送信機110は、システムインパッケージまたはシステムオンチップデバイス2022に含まれ得る。特定の実施形態では、タッチスクリーンおよび/またはキーパッドなどの入力デバイス2030、ならびに電源2044が、システムオンチップデバイス2022に結合される。さらに、特定の実施形態では、図20に示されるように、ディスプレイ2028、入力デバイス2030、スピーカー2048、マイクロフォン2046、アンテナ2042、および電源2044は、システムオンチップデバイス2022の外部にある。しかしながら、ディスプレイ2028、入力デバイス2030、スピーカー2048、マイクロフォン2046、アンテナ2042、および電源2044の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス2022の構成要素に結合され得る。
デバイス2000は、ワイヤレス電話、モバイル通信デバイス、モバイルフォン、スマートフォン、セルラーフォン、ラップトップコンピュータ、デスクトップコンピュータ、コンピュータ、タブレットコンピュータ、セットトップボックス、携帯情報端末(PDA)、ディスプレイデバイス、テレビ、ゲーム機、音楽プレーヤ、ラジオ、ビデオプレーヤ、エンターテインメントユニット、通信デバイス、固定ロケーションデータユニット、パーソナルメディアプレーヤ、デジタルビデプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、デコーダシステム、エンコーダシステム、またはそれらの任意の組合せを含み得る。
特定の実装形態では、本明細書で説明したシステムおよびデバイス2000の1つまたは複数の構成要素は、復号システムもしくは装置(たとえば、電子デバイス、コーデック、もしくはその中のプロセッサ)、符号化システムもしくは装置、または両方に組み込まれ得る。他の実装形態では、本明細書で説明したシステムおよびデバイス2000の1つまたは複数の構成要素は、ワイヤレス電話、タブレットコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、テレビ、ゲーム機、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、パーソナルメディアプレーヤ、または別のタイプのデバイスに組み込まれ得る。
本明細書で説明したシステムおよびデバイス2000の1つまたは複数の構成要素によって実行される様々な機能は、いくつかの構成要素またはモジュールによって実行されるものとして説明されていることに留意されたい。構成要素およびモジュールのこの分割は、説明のためのものにすぎない。代替の実装形態では、特定の構成要素またはモジュールによって実行される機能が、複数の構成要素またはモジュールに分割され得る。さらに、代替の実装形態では、本明細書で説明したシステムの2つ以上の構成要素またはモジュールが、単一の構成要素またはモジュールに組み込まれ得る。本明細書で説明したシステムに示す各々の構成要素またはモジュールは、ハードウェア(たとえば、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、DSP、コントローラなど)、ソフトウェア(たとえば、プロセッサによって実行可能な命令)、またはそれらの任意の組合せを使用して実装され得る。
説明された実装形態に関連して、装置が、基準チャネルをキャプチャするための手段を含む。基準チャネルは基準フレームを含み得る。たとえば、第1のオーディオ信号をキャプチャするための手段は、図1〜図2の第1のマイクロフォン146、図20のマイクロフォン2046、基準チャネルをキャプチャするように構成された1つもしくは複数のデバイス/センサー(たとえば、コンピュータ可読記憶デバイスに記憶された命令を実行するプロセッサ)、またはそれらの組合せを含み得る。
本装置はまた、ターゲットチャネルをキャプチャするための手段を含み得る。ターゲットチャネルはターゲットフレームを含み得る。たとえば、第2のオーディオ信号をキャプチャするための手段は、図1〜図2の第2のマイクロフォン148、図20のマイクロフォン2046、ターゲットチャネルをキャプチャするように構成された1つもしくは複数のデバイス/センサー(たとえば、コンピュータ可読記憶デバイスに記憶された命令を実行するプロセッサ)、またはそれらの組合せを含み得る。
本装置はまた、基準フレームとターゲットフレームとの間の遅延を推定するための手段を含み得る。たとえば、遅延を決定するための手段は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、メディアコーデック2008、プロセッサ2010、デバイス2000、遅延を決定するように構成された1つもしくは複数のデバイス(たとえば、コンピュータ可読記憶デバイスに記憶された命令を実行するプロセッサ)、またはそれらの組合せを含み得る。
本装置はまた、遅延に基づいて、かつ履歴遅延データに基づいて、基準チャネルとターゲットチャネルとの間の時間的オフセットを推定するための手段を含み得る。たとえば、時間的オフセットを推定するための手段は、図1の時間的等化器108、エンコーダ114、第1のデバイス104、メディアコーデック2008、プロセッサ2010、デバイス2000、時間的オフセットを推定するように構成された1つもしくは複数のデバイス(たとえば、コンピュータ可読記憶デバイスに記憶された命令を実行するプロセッサ)、またはそれらの組合せを含み得る。
図21を参照すると、基地局2100の特定の説明のための例のブロック図が示されている。様々な実装形態では、基地局2100は、図21に示すよりも多い構成要素または少ない構成要素を有し得る。説明のための例では、基地局2100は、図1の第1のデバイス104、第2のデバイス106、図2の第1のデバイス204、またはそれらの組合せを含み得る。説明のための例では、基地局2100は、図1〜図19を参照して説明した方法またはシステムのうちの1つまたは複数に従って動作し得る。
基地局2100は、ワイヤレス通信システムの一部であり得る。ワイヤレス通信システムは、複数の基地局および複数のワイヤレスデバイスを含み得る。ワイヤレス通信システムは、ロングタームエボリューション(LTE)システム、符号分割多元接続(CDMA)システム、モバイル通信用グローバルシステム(GSM(登録商標):Global System for Mobile Communications)システム、ワイヤレスローカルエリアネットワーク(WLAN)システム、または何らかの他のワイヤレスシステムであり得る。CDMAシステムは、広帯域CDMA(WCDMA(登録商標))、CDMA 1X、エボリューションデータオプティマイズド(EVDO)、時分割同期CDMA(TD-SCDMA)、またはCDMAの何らかの他のバージョンを実装し得る。
ワイヤレスデバイスは、ユーザ機器(UE)、移動局、端末、アクセス端末、加入者ユニット、局などと呼ばれる場合もある。ワイヤレスデバイスは、セルラーフォン、スマートフォン、タブレット、ワイヤレスモデム、携帯情報端末(PDA)、ハンドヘルドデバイス、ラップトップコンピュータ、スマートブック、ネットブック、タブレット、コードレスフォン、ワイヤレスローカルループ(WLL)局、ブルートゥース(登録商標)デバイスなどを含み得る。ワイヤレスデバイスは、図21のデバイス2100を含むか、またはそれに対応する場合がある。
メッセージおよびデータ(たとえば、オーディオデータ)を送受信することなどの様々な機能は、基地局2100の1つもしくは複数の構成要素によって(かつ/または図示されていない他の構成要素において)実行され得る。特定の例では、基地局2100はプロセッサ2106(たとえば、CPU)を含む。基地局2100はトランスコーダ2110を含み得る。トランスコーダ2110は、オーディオコーデック2108を含み得る。たとえば、トランスコーダ2110は、オーディオコーデック2108の動作を実行するように構成された1つまたは複数の構成要素(たとえば、回路)を含み得る。別の例として、トランスコーダ2110は、オーディオコーデック2108の動作を実行するための1つまたは複数のコンピュータ可読命令を実行するように構成され得る。オーディオコーデック2108はトランスコーダ2110の構成要素として示されているが、他の例では、オーディオコーデック2108の1つまたは複数の構成要素が、プロセッサ2106、別の処理構成要素、またはそれらの組合せに含まれ得る。たとえば、デコーダ2138(たとえば、ボコーダデコーダ)が受信機データプロセッサ2164に含まれ得る。別の例として、エンコーダ2136(たとえば、ボコーダエンコーダ)が送信データプロセッサ2182に含まれ得る。
トランスコーダ2110は、2つ以上のネットワークの間でメッセージおよびデータをトランスコーディングするように機能することができる。トランスコーダ2110は、メッセージおよびオーディオデータを第1のフォーマット(たとえば、デジタルフォーマット)から第2のフォーマットに変換するように構成され得る。例示すると、デコーダ2138は、第1のフォーマットを有する符号化された信号を復号することができ、エンコーダ2136は、復号された信号を、第2のフォーマットを有する符号化された信号に符号化することができる。追加または代替として、トランスコーダ2110は、データレート適応を実行するように構成され得る。たとえば、トランスコーダ2110は、オーディオデータのフォーマットを変更することなく、データレートをダウンコンバートすること、またはデータレートをアップコンバートすることができる。例示すると、トランスコーダ2110は、64kbit/s信号を16kbit/s信号にダウンコンバートすることができる。
オーディオコーデック2108は、エンコーダ2136およびデコーダ2138を含み得る。エンコーダ2136は、図1のエンコーダ114、図2のエンコーダ214、または両方を含み得る。デコーダ2138は、図1のデコーダ118を含み得る。
基地局2100はメモリ2132を含み得る。コンピュータ可読記憶デバイスなどのメモリ2132は、命令を含み得る。命令は、図1〜図20の方法およびシステムを参照して説明した1つまたは複数の動作を実行するために、プロセッサ2106、トランスコーダ2110、またはそれらの組合せによって実行可能である1つまたは複数の命令を含み得る。基地局2100は、アンテナのアレイに結合された第1のトランシーバ2152および第2のトランシーバ2154などの複数の送信機および受信機(たとえば、トランシーバ)を含み得る。アンテナのアレイは、第1のアンテナ2142および第2のアンテナ2144を含み得る。アンテナのアレイは、図21のデバイス2100などの1つまたは複数のワイヤレスデバイスとワイヤレス通信するように構成され得る。たとえば、第2のアンテナ2144は、ワイヤレスデバイスからデータストリーム2114(たとえば、ビットストリーム)を受信し得る。データストリーム2114は、メッセージ、データ(たとえば、符号化されたスピーチデータ)、またはそれらの組合せを含み得る。
基地局2100は、バックホール接続などのネットワーク接続2160を含み得る。ネットワーク接続2160は、ワイヤレス通信ネットワークのコアネットワークまたは1つもしくは複数の基地局と通信するように構成され得る。たとえば、基地局2100は、ネットワーク接続2160を介してコアネットワークから第2のデータストリーム(たとえば、メッセージまたはオーディオデータ)を受信し得る。基地局2100は、第2のデータストリームを処理してメッセージまたはオーディオデータを生成し、アンテナのアレイの1つもしくは複数のアンテナを介して1つもしくは複数のワイヤレスデバイスに、またはネットワーク接続2160を介して別の基地局に、メッセージまたはオーディオデータを提供することができる。特定の実装形態では、ネットワーク接続2160は、説明のための非限定的な例として、ワイドエリアネットワーク(WAN)接続であってよい。いくつかの実装形態では、コアネットワークは、公衆交換電話網(PSTN)、パケットバックボーンネットワーク、もしくは両方を含むか、またはそれらに対応する場合がある。
基地局2100は、ネットワーク接続2160およびプロセッサ2106に結合されたメディアゲートウェイ2170を含み得る。メディアゲートウェイ2170は、異なる電気通信技術のメディアストリーム間で変換するように構成され得る。たとえば、メディアゲートウェイ2170は、異なる送信プロトコル、異なるコーディング方式、またはその両方の間で変換し得る。例示すると、メディアゲートウェイ2170は、説明のための非限定的な例として、PCM信号からリアルタイムトランスポートプロトコル(RTP)信号に変換し得る。メディアゲートウェイ2170は、パケット交換ネットワーク(たとえば、ボイスオーバーインターネットプロトコル(VoIP)ネットワーク、IPマルチメディアサブシステム(IMS)、LTE、WiMax、およびUMBなどの第4世代(4G)ワイヤレスネットワークなど)、回線交換ネットワーク(たとえば、PSTN)、ならびにハイブリッドネットワーク(たとえば、GSM(登録商標)、GPRS、およびEDGEなどの第2世代(2G)ワイヤレスネットワーク、WCDMA(登録商標)、EV-DO、およびHSPAなどの第3世代(3G)ワイヤレスネットワークなど)の間でデータを変換することができる。
加えて、メディアゲートウェイ2170は、トランスコーダを含む場合があり、コーデックの互換性がないときにデータをトランスコーディングするように構成され得る。たとえば、メディアゲートウェイ2170は、説明のための非限定的な例として、適応マルチレート(AMR)コーデックとG.711コーデックとの間をトランスコーディングすることができる。メディアゲートウェイ2170は、ルータおよび複数の物理インターフェースを含み得る。いくつかの実装形態では、メディアゲートウェイ2170はコントローラ(図示せず)を含む場合もある。特定の実装形態では、メディアゲートウェイコントローラは、メディアゲートウェイ2170の外部、基地局2100の外部、または両方にあり得る。メディアゲートウェイコントローラは、複数のメディアゲートウェイの動作を制御および調整することができる。メディアゲートウェイ2170は、メディアゲートウェイコントローラから制御信号を受信することができ、様々な伝送技術間をブリッジするように機能することができ、エンドユーザの機能および接続にサービスを追加することができる。
基地局2100は、トランシーバ2152、2154、受信機データプロセッサ2164、およびプロセッサ2106に結合された復調器2162を含む場合があり、受信機データプロセッサ2164は、プロセッサ2106に結合される場合がある。復調器2162は、トランシーバ2152、2154から受信された変調信号を復調し、復調されたデータを受信機データプロセッサ2164に提供するように構成され得る。受信機データプロセッサ2164は、復調されたデータからメッセージまたはオーディオデータを抽出し、メッセージまたはオーディオデータをプロセッサ2106に送るように構成され得る。
基地局2100は、送信データプロセッサ2182および送信多入力多出力(MIMO)プロセッサ2184を含み得る。送信データプロセッサ2182は、プロセッサ2106および送信MIMOプロセッサ2184に結合され得る。送信MIMOプロセッサ2184は、トランシーバ2152、2154、およびプロセッサ2106に結合され得る。いくつかの実装形態では、送信MIMOプロセッサ2184は、メディアゲートウェイ2170に結合され得る。送信データプロセッサ2182は、プロセッサ2106からメッセージまたはオーディオデータを受信し、説明のための非限定的な例として、CDMAまたは直交周波数分割多重化(OFDM)などのコーディング方式に基づいて、メッセージまたはオーディオデータをコーディングするように構成され得る。送信データプロセッサ2182は、コーディングされたデータを送信MIMOプロセッサ2184に提供し得る。
コーディングされたデータは、多重化データを生成するために、CDMA技法またはOFDM技法を使用して、パイロットデータなどの他のデータと多重化され得る。次いで、多重化データは、変調シンボルを生成するために、特定の変調方式(たとえば、二位相シフトキーイング(「BPSK」)、四位相シフトキーイング(「QSPK」)、多値位相シフトキーイング(「M-PSK」)、多値直交振幅変調(「M-QAM」)など)に基づいて、送信データプロセッサ2182によって変調(すなわち、シンボルマッピング)され得る。特定の実装形態では、コーディングされたデータおよび他のデータは、様々な変調方式を使用して変調され得る。データストリームごとのデータレート、コーディング、および変調は、プロセッサ2106によって実行される命令によって決定され得る。
送信MIMOプロセッサ2184は、送信データプロセッサ2182から変調シンボルを受信するように構成されてよく、変調シンボルをさらに処理することができ、データに対してビームフォーミングを実行することができる。たとえば、送信MIMOプロセッサ2184は、変調シンボルにビームフォーミング重みを適用することができる。ビームフォーミング重みは、変調シンボルが送信されるアンテナのアレイの1つまたは複数のアンテナに対応し得る。
動作中、基地局2100の第2のアンテナ2144は、データストリーム2114を受信することができる。第2のトランシーバ2154は、第2のアンテナ2144からデータストリーム2114を受信することができ、復調器2162にデータストリーム2114を提供することができる。復調器2162は、データストリーム2114の変調信号を復調し、復調されたデータを受信機データプロセッサ2164に提供することができる。受信機データプロセッサ2164は、復調されたデータからオーディオデータを抽出し、抽出されたオーディオデータをプロセッサ2106に提供することができる。
プロセッサ2106はオーディオデータを、トランスコーディングするためにトランスコーダ2110に提供することができる。トランスコーダ2110のデコーダ2138は、第1のフォーマットからのオーディオデータを復号されたオーディオデータに復号することができ、エンコーダ2136は、復号されたオーディオデータを第2のフォーマットに符号化することができる。いくつかの実装形態では、エンコーダ2136はオーディオデータを、ワイヤレスデバイスから受信されるよりも高いデータレート(たとえば、アップコンバート)または低いデータレート(たとえば、ダウンコンバート)を使用して符号化することができる。他の実装形態では、オーディオデータはトランスコーディングされないことがある。トランスコーディング(たとえば、復号および符号化)はトランスコーダ2110によって実行されるものとして示されているが、トランスコーディング動作(たとえば、復号および符号化)は基地局2100の複数の構成要素によって実行されてよい。たとえば、復号は受信機データプロセッサ2164によって実行され得、符号化は送信データプロセッサ2182によって実行され得る。他の実装形態では、プロセッサ2106はオーディオデータを、別の送信プロトコル、コーディング方式、またはその両方への変換のためにメディアゲートウェイ2170に提供し得る。メディアゲートウェイ2170は、変換されたデータを、ネットワーク接続2160を介して別の基地局またはコアネットワークに提供し得る。
エンコーダ2136は、基準フレーム(たとえば、第1のフレーム131)とターゲットフレーム(たとえば、第2のフレーム133)との間の遅延を推定し得る。エンコーダ2136はまた、遅延に基づいて、かつ履歴遅延データに基づいて、基準チャネル(たとえば、第1のオーディオ信号130)とターゲットチャネル(たとえば、第2のオーディオ信号132)との間の時間的オフセットを推定し得る。エンコーダ2136は、システムの全体遅延に対する影響を低減する(または最小化する)ためにコーデックサンプルレートに基づいて、異なる分解能で時間的オフセット(または最終シフト)値を量子化し符号化し得る。例示的な一実装形態では、エンコーダは、エンコーダにおけるマルチチャネルのダウンミックス目的のために、より高い分解能で時間的オフセットを推定し使用し得るが、エンコーダは、デコーダにおける使用のために、より低い分解能で量子化し送信し得る。デコーダ118は、基準信号インジケータ164、非因果的不一致値162、利得パラメータ160、またはそれらの組合せに基づいて、符号化された信号を復号することによって、第1の出力信号126および第2の出力信号128を生成し得る。トランスコーディングされたデータなど、エンコーダ2136において生成された符号化されたオーディオデータは、プロセッサ2106を介して送信データプロセッサ2182またはネットワーク接続2160に提供され得る。
トランスコーダ2110からのトランスコーディングされたオーディオデータは、変調シンボルを生成するために、OFDMなどの変調方式によるコーディング用に送信データプロセッサ2182に提供され得る。送信データプロセッサ2182は、変調シンボルを、さらなる処理およびビームフォーミングのために送信MIMOプロセッサ2184に提供することができる。送信MIMOプロセッサ2184は、ビームフォーミング重みを適用することができ、第1のトランシーバ2152を介して、第1のアンテナ2142などのアンテナのアレイの1つまたは複数のアンテナに変調シンボルを提供することができる。したがって、基地局2100は、ワイヤレスデバイスから受信されたデータストリーム2114に対応するトランスコーディングされたデータストリーム2116を、別のワイヤレスデバイスに提供することができる。トランスコーディングされたデータストリーム2116は、データストリーム2114とは異なる符号化フォーマット、データレート、または両方を有する場合がある。他の実装形態では、トランスコーディングされたデータストリーム2116は、別の基地局またはコアネットワークへの送信用に、ネットワーク接続2160に提供され得る。
したがって、基地局2100は、プロセッサ(たとえば、プロセッサ2106またはトランスコーダ2110)によって実行されると、基準フレームとターゲットフレームとの間の遅延を推定することを含む動作をプロセッサに実行させる命令を記憶するコンピュータ可読記憶デバイス(たとえば、メモリ2132)を含み得る。動作はまた、遅延に基づいて、かつ履歴遅延データに基づいて、基準チャネルとターゲットチャネルとの間の時間的オフセットを推定することを含む。
本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェアとして、ハードウェアプロセッサなどの処理デバイスによって実行されるコンピュータソフトウェアとして、または両方の組合せとして実装され得ることを、当業者ならさらに理解するであろう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについては、それらの機能の点から一般に上述した。そのような機能がハードウェアとして実装されるか実行可能なソフトウェアとして実装されるかは、特定の適用例と、システム全体に課される設計制約とに依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定が本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
本明細書で開示する実施形態に関して説明した方法またはアルゴリズムのステップは、ハードウェアにおいて直接具現化されても、プロセッサによって実行されるソフトウェアモジュールにおいて具現化されても、またはその2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルクトランスファーMRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、またはコンパクトディスク読取り専用メモリ(CD-ROM)などのメモリデバイスに存在し得る。例示的なメモリデバイスは、プロセッサに結合され、それにより、プロセッサは、情報をメモリデバイスから読み取ることおよびメモリデバイスに書き込むことができる。代替として、メモリデバイスは、プロセッサに統合されてよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に別個の構成要素として存在し得る。
開示した実装形態の上記の説明は、開示した実装形態を当業者が作製または使用できるようにするために提供される。これらの実装形態への様々な変更は当業者には容易に明らかになり、本明細書において規定された原理は、本開示の範囲から逸脱することなく、他の実装形態に適用されてもよい。したがって、本開示は、本明細書に示される実装形態に限定されることを意図するものではなく、以下の特許請求の範囲によって規定される原理および新規の特徴と一致する取り得る最も広い範囲を与えられるべきである。