(57)【特許請求の範囲】
【請求項１】
入力オーディオ信号（２１０、３３２、４４２、９１０）の時間スケーリングされたバージョン（２１２、３１２、４４８、９５６）を供給するための時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）であって、
時間スケーラが、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定（９５０、１０６０）するよう構成され、かつ
時間スケーラが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行（９５４、１０６８）するよう構成され、
時間スケーラが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定が品質閾値（ｑmin）以上である場合、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトし、かつ、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックを重畳加算して、入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成され、かつ
時間スケーラが、サンプルの第１のブロック、またはサンプルの第１のブロックの一部とサンプルの第２のブロック、またはサンプルの第２のブロックの一部との間の第１の類似尺度を用いて評価される、類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフト（ｐ）を決定するよう構成され、
決定された時間シフト（ｐ）は、最高類似度の位置を記述する情報であり、
時間スケーラが、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と決定された時間シフトだけ時間シフトされたサンプルの第２のブロック、または決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックの一部との間で、第２の類似尺度を用いて評価される、類似のレベルについての情報に基づいて、入力オーディオ信号の前記時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの前記品質（ｑ）を計算または推定（９５０、１０６０）するよう構成される、時間スケーラ。
【請求項２】
時間スケーラが、入力オーディオ信号のサンプルの第１のブロックと入力オーディオ信号のサンプルの第２のブロックを用いて、重畳加算演算（９５４、１０６８）を行うよう構成され、
時間スケーラが、サンプルの第２のブロックをサンプルの第１のブロックに対して時間シフトさせ、かつサンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとを重畳加算して、入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成される、請求項１に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項３】
時間スケーラが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するため、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとの間の重畳加算演算の品質を計算または推定（９５０、１０６０）するよう構成される、請求項２に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項４】
時間スケーラが、サンプルの第１のブロックまたはサンプルの第１のブロックの一部と、サンプルの第２のブロックまたはサンプルの第２のブロックの一部との間の類似のレベルの決定に依拠して、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフト（ｐ）を決定（９４２、１０３０）するよう構成される、請求項２または請求項３に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項５】
時間スケーラが、サンプルの第１のブロックとサンプルの第２のブロックとの間の複数の異なる時間シフトについて、サンプルの第１のブロックまたはサンプルの第１のブロックの一部と、サンプルの第２のブロックまたはサンプルの第２のブロックの一部との間の類似のレベルについての情報を決定し、かつ複数の異なる時間シフトについての類似のレベルについての情報に基づいて重畳加算演算に使用するべき時間シフト（ｐ）を決定するよう構成される、請求項４に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項６】
時間スケーラが、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフト（ｐ）を決定するよう構成され、時間シフトが、ターゲット時間シフト情報に依拠して重畳加算演算に使用されることになる、請求項４または請求項５に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項７】
時間スケーラが、サンプルの第１のブロックまたはサンプルの第１のブロックの一部と、決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックの一部との間の類似のレベルについての情報に基づいて、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定（９５０、１０６０）するよう構成される、請求項４から請求項６のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項８】
時間スケーラが、サンプルの第１のブロックまたはサンプルの第１のブロックの一部と、決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックの一部との間の類似のレベルについての情報に基づいて、時間スケーリングを実際に実行するか否かを判断（１０６４）するよう構成される、請求項７に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項９】
第２の類似尺度（ｑ）は、第１の類似尺度より計算上より複雑である、請求項１から請求項８のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１０】
第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和であり、
第２の類似尺度（ｑ）は、複数の異なる時間シフトについての相互相関または正規化された相互相関の組み合せである、請求項１から請求項９のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１１】
第２の類似尺度（ｑ）は、４以上の異なる時間シフトについての相互相関の組み合せである、請求項１から請求項１０のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１２】
第２の類似尺度（ｑ）は、サンプルの第１のブロックまたはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間（ｐ）の整数倍だけ間隔をあけた時間シフトについて得られる、第１の相互相関値および第２の相互相関値と、オーディオコンテンツの基本周波数の持続期間（ｐ）の整数倍だけ間隔をあけた時間シフトについて得られる第３の相互相関値および第４の相互相関値との組み合せであり、
第１の相互相関値が得られる時間シフトは、第３の相互相関値が得られる時間シフトから、オーディオコンテンツの基本周波数の持続期間（ｐ）の半分の奇数倍だけ間隔をあけられる、請求項１１に記載の時間スケーラ。
【請求項１３】
第２の類似尺度ｑは、以下の式により得られ、
ｑ＝ｃ（ｐ）＊ｃ（２＊ｐ）＋ｃ（３／２＊ｐ）＊ｃ（１／２＊ｐ）
または、
ｑ＝ｃ（ｐ）＊ｃ（−ｐ）＋ｃ（−１／２＊ｐ）＊ｃ（１／２＊ｐ）
ここで、ｃ（ｐ）は、サンプルの第１のブロックまたはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間ｐだけ時間的にシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、
ｃ（２＊ｐ）は、時間的に２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、
ｃ（３／２＊ｐ）は、時間的に３／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、
ｃ（１／２＊ｐ）は、時間的に１／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、
ｃ（−ｐ）は、時間的に−ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、かつ
ｃ（−１／２＊ｐ）は、時間的に−１／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である、請求項１から請求項１２のいずれか１項に記載の時間スケーラ。
【請求項１４】
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に基づく品質値（ｑ）を可変閾値（ｑｍｉｎ）と比較（１０６４）して、時間スケーリングを行うべきか否かを判断するよう構成される、請求項１から請求項１３のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１５】
時間スケーラは、時間スケーリングの品質がサンプルの１以上の前のブロックについて不十分であったと考えられるという発見に応答して、可変閾値（ｑｍｉｎ）を減じることにより品質要件を下げるよう構成される、請求項１４に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１６】
時間スケーラは、サンプルの１以上の前のブロックに時間スケーリングが適用されたと言う事実に応答して、可変閾値（ｑｍｉｎ）を増加し、それにより、品質要件を上げるよう構成される、請求項１４または請求項１５に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１７】
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件が達成されたために、時間スケーリングが行われたサンプルのブロックの数またはフレームの数をカウントするための範囲が限定された第１のカウンタ（ｎＳｃａｌｅｄ）を含み、
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件が達成されなかったために、時間スケーリングが行われなかったサンプルのブロックの数またはフレームの数をカウントするための範囲が限定された第２のカウンタ（ｎＮｏｔＳｃａｌｅｄ）を含み、かつ
時間スケーラは、第１のカウンタ（ｎＳｃａｌｅｄ）の値および第２のカウンタ（ｎＮｏｔＳｃａｌｅｄ）の値に依拠して、可変閾値（ｑｍｉｎ）を計算するよう構成される、請求項１４から請求項１６のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１８】
時間スケーラは、可変閾値（ｑｍｉｎ）を得るために、第１のカウンタ（ｎＳｃａｌｅｄ）の値に比例する値を初期閾値に加算し、かつそこから第２のカウンタ（ｎＮｏｔＳｃａｌｅｄ）の値に比例する値を減算するよう構成される、請求項１７に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項１９】
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定（９５０、１０６０）に依拠して、入力オーディオ信号の時間スケーリングを実行するよう構成され、
入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定は、時間スケーリングにより引き起こされると考えられる入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含む、請求項１から請求項１８のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２０】
入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定（９５０、１０６０）は、入力オーディオ信号のサンプルの後続ブロックの重畳加算演算（９５４、１０６８）により引き起こされると考えられる入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含む、請求項１９に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２１】
時間スケーラは、入力オーディオ信号のサンプルの後続のブロックの類似のレベルに依拠して、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定（９５０、１０６０）するよう構成される、請求項１から請求項２０のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２２】
時間スケーラは、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンに可聴アーチファクトが存在するかどうかを計算または推定するように構成される、請求項１から請求項２１のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２３】
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が不十分な品質を示す場合、後続のフレームまたはサンプルの後続のブロックに対する時間スケーリングを延期（１０７６）するよう構成される、請求項１から請求項２２のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２４】
時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が不十分な品質を示す場合、時間スケーリングがより可聴でなくなる時点まで時間スケーリングを延期するよう構成される、請求項１から請求項２３のいずれか１項に記載の時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）。
【請求項２５】
第２の類似尺度は、第１の類似尺度よりも正確性を供給する、請求項１から請求項２４のいずれか１項に記載の時間スケーラ。
【請求項２６】
第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和である、請求項１から請求項２５のいずれか１項に記載の時間スケーラ。
【請求項２７】
入力オーディオ信号（２１０，３３２，４４２，９１０）の時間スケーリングされたバージョンを供給するための時間スケーラ（２００，３４０，４５０，８６６，９００，１０００）であって、
時間スケーラが、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定（９５０，１０６０）するよう構成され、
時間スケーラが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行（９５４，１０６８）するよう構成され、
時間スケーラが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に基づく前記品質値（ｑ）を可変閾値（ｑmin)と比較して、時間スケーリングを実行するか否かを判断するよう構成され、
時間スケーラが、時間スケーリングが１以上の前のサンプルのブロックに適用された事実に応答して、可変閾値を増加することにより品質要件を上げるよう構成され、それにより、通常の品質レベルよりも相対的に高い品質レベルが得られる場合にのみ、後続のサンプルのブロックが時間スケーリングされる、時間スケーラ。
【請求項２８】
入力オーディオコンテンツ（３１０）に基づいて、復号されたオーディオコンテンツ（３１２）を供給するためのオーディオデコーダ（３００）であって、
オーディオサンプルのブロックを表す複数のオーディオフレームをバッファするよう構成されるジッターバッファ（３２０）と、
ジッターバッファから受信したオーディオフレーム（３２２）に基づいてオーディオサンプル（３３２）のブロックを供給するよう構成されるデコーダコア（３３０）と、
請求項１から請求項２５のいずれか１項に記載のサンブルベースの時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）とを備え、
サンプルベースの時間スケーラは、デコーダコアにより供給されるオーディオサンプル（３３２）のブロックに基づいてオーディオサンプル（３４２）の時間スケーリングされたブロックを供給するよう構成される、オーディオデコーダ。
【請求項２９】
オーディオデコーダが、ジッターバッファ制御（１００、３５０、４９０、８００）をさらに備え、
ジッターバッファ制御は、サンプルベースの時間スケーラ（２００、３４０、４５０、８６６、９００、１０００）に制御情報（１１４、４４４）を供給するよう構成され、制御情報がサンプルベースの時間スケーリングを実行すべきか否かを示しかつ／または制御情報が時間スケーリングの所望量を示す、請求項２８に記載のオーディオデコーダ（３００）。
【請求項３０】
入力オーディオ信号の時間スケーリングされたバージョンを供給するための方法（１５００）であって、
方法が、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定するステップ（１５１０）を含み、かつ
方法が、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するステップ（１５２０）を含み、
方法が、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定が品質閾値（ｑmin）以上である場合、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトし、かつ、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックを重畳加算して、入力オーディオ信号の時間スケーリングされたバージョンを得るステップを含み、かつ
方法が、サンプルの第１のブロック、またはサンプルの第１のブロックの一部とサンプルの第２のブロック、またはサンプルの第２のブロックの一部との間の第１の類似尺度を用いて評価される、類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフト（ｐ）を決定するステップを含み、
決定された時間シフト（ｐ）は、最高類似度の位置を記述する情報であり、
方法が、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と決定された時間シフトだけ時間シフトされたサンプルの第２のブロック、または決定された時間シフト（ｐ）だけ時間シフトされたサンプルの第２のブロックの一部との間で、第２の類似尺度を用いて評価される、類似のレベルについての情報に基づいて、入力オーディオ信号の前記時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの前記品質（ｑ）を計算または推定（９５０、１０６０）するステップを含む、方法。
【請求項３１】
入力オーディオ信号の時間スケーリングされたバージョンを供給するための方法（１５００）であって、
方法が、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定するステップ（１５１０）を含み、かつ
方法が、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するステップ（１５２０）を含み、
方法が、時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に基づく前記品質値（ｑ）を、可変閾値（ｑｍｉｎ）と比較（１０６４）して時間スケーリングを実行するか否かを判断するステップを含み、
時間スケーラが、時間スケーリングが１以上の前のサンプルのブロックに適用された事実に応答して、可変閾値を増加することにより品質要件を上げるよう構成され、それにより、通常の品質レベルよりも相対的に高い品質レベルが得られる場合にのみ、後続のサンプルのブロックが時間スケーリングされるステップを含む、方法。
【請求項３２】
コンピュータプログラムがコンピュータで実行されている時に、請求項３０または請求項３１に記載の方法を実行するためのコンピュータプログラム。
【請求項３３】
入力オーディオ信号（２１０，３３２，４４２，９１０）の時間スケーリングされたバージョンを提供するための時間スケーラ（２００，３４０，４５０，８６６，９００，１０００）であって、
時間スケーラが、入力オーディオ信号の時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定（９５０，１０６０）するよう構成され、
時間スケーラが、時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行（９５４，１０６８）するよう構成され、
時間スケーラが、時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定が品質閾値（ｑｍｉｎ）以上である品質を示す場合、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトし、かつ、サンプルの第１のブロックとサンプルの時間シフトした第２のブロックとを重複加算（９５４，１０６８）して入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成され、
時間スケーラが、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と、サンプルの第２のブロック、またはサンプルの第２のブロックの一部との間で、第１の類似尺度を用いて評価される、類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフト（ｐ）を決定するよう構成され、
時間スケーラが、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロック、または決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部との間で、第２の類似尺度を用いて評価される、類似のレベルについての情報に基づいて、入力オーディオ信号の前記時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの前記品質（ｑ）を計算または推定（９５０，１０６０）するよう構成され、
第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和であり、
第２の類似尺度は、複数の異なる時間シフトについての相互相関または正規化された相互相関の組み合せであり、
第２の類似尺度は、４以上の異なる時間シフトについての相互相関の組み合せである、時間スケーラ。
【請求項３４】
入力オーディオ信号の時間スケーリングされたバージョンを提供するための方法（１５００）であって、
方法は、入力オーディオ信号の時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）を計算または推定するステップ（１５１０）を含み、
方法は、時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するステップ（１５２０）を含み、
方法は、時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（ｑ）の計算または推定が品質閾値（ｑｍｉｎ）以上である品質を示す場合、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトし、かつ、サンプルの第１のブロックとサンプルの時間シフトした第２のブロックとを重複加算（９５４，１０６８）して入力オーディオ信号の時間スケーリングされたバージョンを得るステップを含み、
方法は、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と、サンプルの第２のブロック、またはサンプルの第２のブロックの一部との間で、第１の類似尺度を用いて評価される、類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフト（ｐ）を決定するステップを含み、
方法は、サンプルの第１のブロック、またはサンプルの第１のブロックの一部と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロック、または決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部との間で、第２の類似尺度を用いて評価される、類似のレベルについての情報に基づいて、入力オーディオ信号の前記時間スケーリングによって入手可能な入力オーディオ信号の時間スケーリングされたバージョンの前記品質（ｑ）を計算または推定するステップ（９５０，１０６０）を含み、
第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和であり、
第２の類似尺度は、複数の異なる時間シフトについての相互相関または正規化された相互相関の組み合せであり、
第２の類似尺度は、４以上の異なる時間シフトについての相互相関の組み合せである、方法。
【請求項３５】
コンピュータプログラムがコンピュータで実行されている時に、請求項３４に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、入力オーディオ信号の時間スケーリングされたバージョンを供給するための時間スケーラに関連する。
【０００２】
本発明による他の実施形態は、入力オーディオコンテンツに基づいて、復号されたオーディオコンテンツを供給するためのオーディオデコーダに関連する。
【０００３】
本発明による他の実施形態は、入力オーディオ信号の時間スケーリングされたバージョンを供給するための方法に関連する。
【０００４】
本発明による他の実施形態は、前記方法を実行するためのコンピュータプログラムに関連する。
【背景技術】
【０００５】
オーディオコンテンツ（音楽コンテンツ等の一般オーディオコンテンツ、音声コンテンツ、および一般オーディオ／音声コンテンツの混合されたものを含む）の保存および送信は、重要な技術分野である。特定の課題は、リスナーが、まったく途切れることなく、かつ、オーディオコンテンツの保存および／または送信により生じる可聴アーチファクトなしに、オーディオコンテンツの連続した再生を期待するという事実により生じる。同時に、保存手段およびデータ送信手段に関する要件は、コストを許容可能な範囲に留めるため、できるだけ低く保つことが望ましい。
【０００６】
たとえば、問題が生じるのは、記憶媒体からの読出しが一時的に途切れたり遅れたりする場合や、データソースとデータシンクとの間での送信が一時的に途切れたり遅れたりする場合である。たとえば、インターネットを経由する送信の信頼度が高いとは言えないのは、ＴＣＰ／ＩＰパケットを損失する可能性があり、またインターネットによる送信の遅れが、たとえば、インターネットノードの可変な負荷状況に依拠して変化し得るためである。
【０００７】
しかしながら、ユーザーが満足できる体験を得るためには、可聴な「途切れ（ギャップ）」または可聴なアーチファクトなしにオーディオコンテンツを連続して再生することが必要である。また、大量のオーディオ情報をバッファすることにより生じると考えられる実質的な遅延を回避することが望ましい。
【０００８】
上記に鑑み、オーディオ情報の供給が不連続な場合さえ、良好なオーディオ品質を提供するコンセプトの必要性が認識できる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】[Lia01] Y. J. Liang, N. Faerber, B. Girod: “Adaptive playout scheduling using time-scale modification in packet voice communications”, 2001
【非特許文献２】[Lef03] P. Gournay, F. Rousseau, R. Lefebvre: “Improved packet loss recovery using late frames for prediction-based speech coders”, 2003
【発明の概要】
【００１０】
本発明による実施形態は、入力オーディオ信号の時間スケーリングされたバージョンを供給するための時間スケーラを創出する。時間スケーラは、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するよう構成される。また、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するよう構成される。本発明によるこの実施形態は、入力オーディオ信号の時間スケーリングにより実質的な可聴歪みがもたらされると考えられる状況が存在すると言う考えに基づく。また、本発明による実施形態は、品質制御メカニズムが、所望の時間スケーリングが実際に入力オーディオ信号の時間スケーリングされたバージョンの十分な品質を供給すると考えられるかどうかを評価することにより、このような可聴歪みを回避する助けとなるとする所見に基づく。したがって、時間スケーリングは、所望の時間伸張または時間収縮により制御されるのみならず、入手可能な品質の評価によっても制御される。したがって、時間スケーリングにより、入力オーディオ信号の時間スケーリングされたバージョンの許容できない低い品質がもたらされると考えられる場合には、たとえば、時間スケーリングを延期することが可能である。しかしながら、入力オーディオ信号の時間スケーリングされたバージョンの（期待）品質の計算推定も用いることで時間スケーリングの他のパラメータも調整することができる。結論として、上記の実施形態において使用される品質制御メカニズムは、時間スケーリングが適用されるシステムにおける可聴アーチファクトを低減するかまたは回避する助けとなる。
【００１１】
好ましい実施形態において、時間スケーラは、入力オーディオ信号のサンプルの第１のブロックと入力オーディオ信号のサンプルの第２のブロックを用いて、重畳加算演算を行うよう構成される（入力オーディオ信号のサンプルの第１のブロックおよび入力オーディオ信号のサンプルの第２のブロックは、単独のフレームに属するかまたは異なるフレームに属する、重複するかまたは重複しないサンプルのブロックが可能である）。時間スケーラは、サンプルの第２のブロックをサンプルの第１のブロックに対して時間シフトさせ（たとえば、サンプルの第１のブロックおよびサンプルの第２のブロックに関連するオリジナルのタイムラインに比較して）、かつサンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとを重畳加算して、入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成される。本発明によるこの実施形態は、サンプルの第１のブロックとサンプルの第２のブロックを用いる重畳加算演算により、典型的には、良好な時間スケーリングがもたらされるとする所見に基づき、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトの調整により、歪みを妥当な小ささに留めておける場合が多い。しかしながら、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとの想定される重畳加算により、実際に入力オーディオ信号の十分な品質がもたらされるかどうかをチェックする追加の品質制御メカニズムを導入することが、さらに向上した信頼度で可聴アーチファクトを回避する助けとなることもわかっている。言い換えれば、サンプルの第２のブロックのサンプルの第１のブロックに対する所望の（または有利な）時間シフトが識別された後に品質チェック（時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の推定に基づく）を実行することが効果的であることがわかっているが、これは、この手順が可聴アーチファクトの低減または回避に役立つためである。
【００１２】
好ましい実施形態において、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質を計算または推定するため、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとの間の重畳加算演算の品質（期待された品質等）を計算または推定するよう構成される。重畳加算演算の品質が、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質に対して実際に強く影響することがわかっている。
【００１３】
好ましい実施形態において、時間スケーラが、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（たとえば右側部分、すなわち、サンプルの第１のブロックの終了部のサンプル）と、サンプルの第２のブロックまたはサンプルの第２のブロックの一部（たとえば、左側の部分、すなわちサンプルの第２のブロックの始まり部分のサンプル）との間の類似のレベルの決定に依拠して、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトを決定するよう構成される。このコンセプトは、サンプルの第１のブロックと、サンプルの時間シフトされた第２のブロックとの間の類似度の決定により、重畳加算演算の品質の推定が得られ、かつ、結果的に時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の有意味な推定も得られるとする所見に基づく。また、サンプルの第１のブロック（またはサンプルの第１のブロックの右側部分）と、サンプルの時間シフトされた第２のブロック（またはサンプルの時間シフトされた第２のブロックの左側部分）との間の類似のレベルが、適度な計算の複雑さを用いて良好な精度で決定できることがわかっている。
【００１４】
好ましい実施形態において、時間スケーラは、サンプルの第１のブロックとサンプルの第２のブロックとの間の複数の異なる時間シフトについて、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側部分等）と、サンプルの第２のブロックまたはサンプルの第２のブロックの一部（左側部分等）との間の類似のレベルについての情報を決定し、かつ複数の異なる時間シフトについて、類似のレベルについての情報に基づいて重畳加算演算に使用するべき（候補の）時間シフトを決定するよう構成される。したがって、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトを、オーディオコンテンツに適応するように選ぶことができる。しかしながら、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定を含む品質制御は、重畳加算演算に使用すべき（候補の）時間シフトの決定に続いて行われ得る。言い換えれば、品質制御メカニズムを使用することにより、複数の異なる時間シフトについて、サンプルの第１のブロック（またはサンプルの第１のブロックの一部）と、サンプルの第２のブロック（またはサンプルの第２のブロックの一部）との間の類似のレベルについての情報に基づいて決定される時間シフトが、実際に十分に良好なオーディオ品質をもたらすことを確実にできる。こうして、アーチファクトを効率よく減らしたり、回避することができる。
【００１５】
好ましい実施形態において、時間スケーラが、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフトを決定するよう構成され、この時間シフトが、ターゲット時間シフト情報に依拠して重畳加算演算に使用されることになる（不十分な品質の推定値に応答して時間シフト動作が延期されない限り）。言い換えれば、ターゲット時間シフト情報が考慮され、サンプルの第２のブロックのサンプルの第１のブロックに対する前記時間シフトがターゲット時間シフト情報により記述されるターゲット時間シフトに近くなるように、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトを決定する試みがなされる。結果として、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとの重畳加算により得られる（候補の）時間シフトが、要件（ターゲット時間シフト情報により規定）と合致するようにでき、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定が不十分な品質を示す場合、重畳加算演算の実際の実行が阻止され得る。
【００１６】
好ましい実施形態において、時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側部分等）と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部（左側部分等）との間の類似のレベルについての情報に基づいて、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（期待される品質等）を計算または推定するよう構成される。サンプルの第１のブロックまたはサンプルの第１のブロックの一部と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの部分との間の類似のレベルが、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンが、十分な品質を有すると考えられるか否かを判断するための良い基準を構成することがわかっている。
【００１７】
好ましい実施形態において、時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側部分等）と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部（左側部分等）との間の類似のレベルについての情報に基づいて、時間スケーリングを実際に実行するか否かを判断するよう構成される。したがって、第１の（典型的には計算的により単純で信頼度は高くない）アルゴリズムを使用して、候補の時間シフトとして識別される時間シフトの決定に、品質チェックが追随し、この品質チェックは、サンプルの第１のブロック（またはサンプルの第１のブロックの一部）と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロック（または決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部）との間の類似のレベルについての情報に基づく。前記情報に基づく「品質チェック」は、典型的には、候補の時間シフトを単に決定するよりもより信頼度が高く、したがって、時間スケーリングを実際に行うかどうかの最終的な判断に使用される。こうして、時間スケーリングにより過度な可聴アーチファクト（または歪み）がもたらされると考えられる場合には、時間スケーリングを阻止することができる。
【００１８】
好ましい実施形態では、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が、品質閾値以上の品質を示す場合、時間スケーラは、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトさせ、かつサンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとを重畳加算し、それにより、入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成される。時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側部分等）とサンプルの第２のブロックまたはサンプルの第２のブロックの一部（左側部分等）との間の第１の類似尺度を用いて評価された類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの時間シフトを決定するよう構成される。時間スケーラは、更に、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側部分等）と、決定された時間シフトだけ時間シフトされたサンプルの第２のブロックまたは決定された時間シフトだけ時間シフトされたサンプルの第２のブロックの一部（左側部分等）との間の第２の類似尺度を用いて評価された類似のレベルについての情報に基づいて、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（期待される品質等）を計算または推定するようさらに構成される。第１の類似尺度と第２の類似尺度を使用することで、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトを適度な計算の複雑さで素早く決定することができ、また入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を高い精度で計算または推定することもできる。こうして、２つの異なる類似尺度を用いる、２ステップの手順により第１のステップにおける比較的小さい計算上の複雑さと第２の（品質制御）ステップにおける高い精度とを組み合わせることができ、典型的には計算上単純な第１の類似尺度がサンプルの第１のブロックに対するサンプルの第２のブロックの（候補の）時間シフトの決定に使用されても、可聴アーチファクトを低減または回避することができる（サンプルの第２のブロックのサンプルの第１のブロックに対する候補の時間シフトを決定する場合、第２の類似尺度のような高い計算上の複雑さの類似尺度を使用することは典型的には要求が高すぎると考えられる）。
【００１９】
好ましい実施形態において、第２の類似尺度は、第１の類似尺度より計算上より複雑である。したがって、「最終の」品質チェックを高い精度で行う一方で、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトの容易な決定が効率的に行われ得る。
【００２０】
好ましい実施形態において、第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和である。好ましくは、第２の類似尺度は、複数の異なる時間シフトについての相互相関または正規化された相互相関の組み合せである。相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和は、サンプルの第２のブロックのサンプルの第１のブロックに対する（候補の）時間シフトの良好で効率的な決定を可能にすることがわかっている。また、複数の異なる時間シフトについての相互相関または正規化された相互相関の組み合せである類似尺度が、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を評価（計算または推定）するための信頼度の高い量であることがわかっている。
【００２１】
好ましい実施形態において、第２の類似尺度は、４以上の異なる時間シフトについての相互相関の組み合せである。４以上の異なる時間シフトについて相関を決定することにより、経時的な信号の変化を考慮することもできるため、４以上の異なる時間シフトについての相互相関の組み合せが、品質の正確な評価を可能にすることがわかっている。また、４以上の異なる時間シフトについて相互相関を使用することで、ある程度高調波も考慮することができる。結果として、入手可能な品質の特に良好な評価を行うことができる。
【００２２】
好ましい実施形態において、第２の類似尺度が、サンプルの第１のブロックまたはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間の整数倍だけ間隔をあけた時間シフトについて得られる、第１の相互相関値および第２の相互相関値と、オーディオコンテンツの基本周波数の持続期間の整数倍だけ間隔をあけた時間シフトについて得られる、第３の相互相関値および第４の相互相関値との組み合せであり、第１の相互相関値が得られる時間シフトが、第３の相互相関値が得られる時間シフトから、オーディオコンテンツの基本周波数の持続期間の半分の奇数倍だけ間隔をあけられる。したがって、第１の相互相関値と第２の相互相関値は、オーディオコンテンツが経時的に少なくともおよそ定常であるかどうかの情報を供給し得る。同様に、第３の相互相関値および第４の相互相関値も、オーディオコンテンツが経時的に少なくともおよそ定常であるかどうかの情報を供給する。また、第３の相互相関値と第４の相互相関値は、第１の相互相関値と第２の相互相関値に対して「時間的にオフセット」されていると言う事実が、高調波を考慮することを可能にする。結果として、第１の相互相関値、第２の相互相関値、第３の相互相関値および第４の相互相関値の組み合せに基づく第２の類似尺度の計算は、高い精度をもたらし、かつ結果として時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算（または推定）について信頼できる結果をもたらす。
【００２３】
好ましい実施形態において、第２の類似尺度ｑが以下の式により得られる。ｑ＝ｃ（ｐ）＊ｃ（２＊ｐ）＋ｃ（３／２＊ｐ）＊ｃ（１／２＊ｐ）または、ｑ＝ｃ（ｐ）＊ｃ（−ｐ）＋ｃ（−１／２＊ｐ）＊ｃ（１／２＊ｐ）である。上記の式において、ｃ（ｐ）は、サンプルの第１のブロックまたはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間ｐだけ時間的にシフトされた（相互に対して、かつ、オリジナルのタイムラインに対して）、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である。ｃ（２＊ｐ）は、時間的に２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である。ｃ（３／２＊ｐ）は、時間的に３／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である。ｃ（１／２＊ｐ）は、時間的に１／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である。ｃ（−ｐ）は、時間的に−ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値であり、ｃ（−１／２＊ｐ）は、時間的に−１／２＊ｐだけシフトされた、サンプルの第１のブロックとサンプルの第２のブロックとの間の相互相関値である。上記の式の使用によって、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の特に良好で信頼度できる計算（または推定）がもたらされることがわかっている。
【００２４】
好ましい実施形態において、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に基づく品質値を可変閾値と比較して、時間スケーリングを行うべきか否かを判断するよう構成される。可変閾値を使用することで、時間スケーリングを行うべきか否かを判断するための閾値を状況に適応させることができる。したがって、いくつかの状況においては、時間スケーリングを実行するための品質要件を上げることができ、かつ他の状況では、たとえば前の時間スケーリング動作または信号のなんらかの他の特徴に依拠して、品質要件を下げることができる。結果として、時間スケーリングを行うべきか否かの判断の重要性をさらに増大させることが可能である。
【００２５】
好ましい実施形態において、時間スケーラは、時間スケーリングの品質がサンプルの１以上の前のブロックについて不十分であったと考えられるという発見に応答して、可変閾値を減じることにより品質要件を下げるよう構成される。可変閾値を下げることにより、時間の拡張された期間にわたって時間スケーリングが省略されるという事態を避けることができる。これは、バッファアンダーランまたはバッファオーバーランをもたらすかもしれず、したがって時間スケーリングが引き起こすアーチファクトの発生よりも有害と考えられるからである。こうして、時間スケーリングの過度の遅延により生じると考えられる問題を回避することができる。
【００２６】
好ましい実施形態では、時間スケーラは、時間スケーリングがサンプルの１以上の前のブロックに適用されたと言う事実に応答して、可変閾値を増加し、それにより、品質要件を下げるよう構成される。したがって、比較的高品質のレベル（「通常の」品質レベルより高い）に到達できる場合、サンプルの後続のブロックが時間スケーリングされるだけであることを確実にすることができる。対照的に、時間スケーリングが比較的高い品質要件を満たさないと考えられる場合には、サンプルの後続のブロックのシーケンスの時間スケーリングが阻止される。これが適切なのは、時間スケーリングが比較的高い品質要件（典型的には、サンプルのブロックの隣接するシーケンスではなく、サンプルの単独のブロックのみが時間スケーリングされる場合、適用可能な「通常の」品質要件より高い）を満たさない限り、サンプルの複数の後続のブロックに時間スケーリングを適用することで、典型的にはアーチファクトが生じると考えられるからである。
【００２７】
好ましい実施形態では、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件が達成されたために、時間スケーリングが行われたサンプルのブロックの数またはフレームの数をカウントするための範囲が限定された第１のカウンタを含む。また、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件が達成されなかったために、時間スケーリングが行われなかったサンプルのブロックの数またはフレームの数をカウントするための範囲が限定された第２のカウンタを含む。時間スケーラは、第１のカウンタの値および第２のカウンタの値に依拠して、可変閾値を計算するよう構成される。範囲が限定された第１のカウンタおよび範囲が限定された第２のカウンタを使用することにより、可変閾値の調節のための単純な機構が得られ、これにより、可変閾値をそれぞれの状況に適応させることができる一方で、閾値の過度に小さい値や過度に大きい値を回避することができる。
【００２８】
好ましい実施形態において、時間スケーラは、可変閾値を得るために、第１のカウンタの値に比例する値を初期閾値に加算し、かつそこから第２のカウンタの値に比例する値を減算するよう構成される。このようなコンセプトを使用することで、可変閾値を非常に簡単な態様で得ることができる。
【００２９】
好ましい実施形態では、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するよう構成され、入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定は、時間スケーリングにより引き起こされると考えられる、入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含む。時間スケーリングにより引き起こされると考えられる、入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定により、品質の計算または推定のための有意味な基準を使用することができるが、これは、アーチファクトが、典型的には人であるリスナーの聞いた印象を劣化させると考えられるからである。
【００３０】
好ましい実施形態において、入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算推定が、入力オーディオ信号のサンプルの後続ブロックの重畳加算演算により引き起こされると考えられる、入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含む。時間スケーリングを行う場合、重畳加算演算がアーチファクトの主要なソースである可能性が認識されている。したがって、入力オーディオ信号のサンプルの後続のブロックの重畳加算演算により引き起こされると考えられる、入力オーディオ信号の時間スケーリングされたバージョンのアーチファクトを計算または推定することは、効率的なアプローチであることがわかっている。
【００３１】
好ましい実施形態において、時間スケーラは、入力オーディオ信号のサンプルの後続ブロックの類似のレベルに依拠して、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質を計算または推定するよう構成される。入力オーディオ信号のサンプルの後続ブロックまたはサンプルが比較的高い類似度を含む場合には、典型的には、時間スケーリングを良好な品質で実行することができ、かつ入力オーディオ信号のサンプルの後続のブロックが実質的な違いを含む場合には、典型的には、時間スケーリングにより歪みが発生することがわかっている。
【００３２】
好ましい実施形態において、時間スケーラは、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンにおいて、可聴アーチファクトが存在するかどうかを計算または推定するよう構成される。可聴アーチファクトの計算または推定により、人の聴覚印象に適した品質情報が得られることがわかっている。
【００３３】
好ましい実施形態において、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定が不十分な品質を示す場合、後続のフレームまたはサンプルの後続のブロックに対する時間スケーリングを延期するよう構成される。したがって、発生するアーチファクトがより少ないと言う点で、時間スケーリングにより適した時点で時間スケーリングを実行することが可能になる。言い換えれば、時間スケーリングにより達成可能な品質に依拠して、時間スケーリングを行う時間を柔軟に選択することで、入力オーディオ信号の時間スケーリングされたバージョンの聴覚印象を改善することができる。また、この考えは、時間スケーリング動作のわずかな遅れが、典型的には、なんら実質的な問題を生じさせないとする知見に基づく。
【００３４】
好ましい実施形態において、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定が不十分な品質を示す場合、時間スケーリングがより可聴でなくなる時点まで時間スケーリングを延期するよう構成される。したがって、可聴歪みを回避することで、聴覚印象が改善され得る。
【００３５】
本発明によるある実施形態において、入力オーディオコンテンツに基づいて、復号されたオーディオコンテンツを供給するためのオーディオデコーダを創出する。オーディオデコーダは、オーディオサンプルのブロックを表す複数のオーディオフレームをバッファするよう構成されるジッターバッファを含む。オーディオデコーダは、ジッターバッファから受信したオーディオフレームに基づいてオーディオサンプルのブロックを供給するよう構成されるデコーダコアをさらに含む。また、オーディオデコーダは、上記のサンプルベースの時間スケーラを含む。サンプルベースの時間スケーラは、デコーダコアにより供給されたオーディオサンプルのブロックに基づいてオーディオサンプルの時間スケーリングされたブロックを供給するよう構成される。このオーディオデコーダは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するよう構成される時間スケーラが、ジッターバッファおよびデコーダコアを含むオーディオデコーダにおける使用に適切であるという考えに基づく。ジッターバッファの存在により、たとえば時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定が、得られる品質が劣っていると考えられることを示す場合に、時間スケーリング動作を延期することを可能にする。こうして、品質制御メカニズムを含むサンプルベースの時間スケーラが、ジッターバッファとデコーダコアを含むオーディオデコーダにおける可聴アーチファクトを回避するかまたは少なくとも低減することを可能にする。
【００３６】
好ましい実施形態において、オーディオデコーダは、ジッターバッファ制御をさらに含む。ジッターバッファ制御は、サンプルベースの時間スケーラに制御情報を供給するよう構成され、制御情報がサンプルベースの時間スケーリングを実行すべきか否かを示す。代替的または付加的には、制御情報は、所望量の時間スケーリングを示す。したがって、サンプルベースの時間スケーラは、オーディオデコーダの要求に依拠して制御され得る。たとえば、ジッターバッファ制御は、信号適応的に制御を行い、信号適応的にフレームベースの時間スケーリングまたはサンプルベースの時間スケーリングのいずれを実行すべきかを選択し得る。したがって、さらに柔軟性がある。しかしながら、サンプルベースの時間スケーラの品質制御メカニズムは、たとえばジッターバッファ制御により供給される制御情報を無効にして、ジッターバッファ制御により供給される制御情報が、サンプルベースの時間スケーリングを実行すべきことを示す場合でさえも、サンプルベースの時間スケーリングを回避（または不能化）できる。こうして、「インテリジェントな」サンプルベースの時間スケーラは、時間スケーリングにより入手可能な品質についてより詳細な情報を得ることができるので、ジッターバッファ制御を無効にすることができる。結論として、サンプルベースの時間スケーラをジッターバッファ制御により供給される制御情報でガイドすることができるが、それにもかかわらず、ジッターバッファ制御により供給される制御情報に追随することにより品質が実質的に下がると考えられる場合には、時間スケーリングを「拒否」することが可能で、これは、十分なオーディオ品質を確保するのに役立つ。
【００３７】
本発明による他の実施形態は、入力オーディオ信号の時間スケーリングされたバージョンを供給するための方法を創出する。方法は、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質（期待される品質等）を計算または推定するステップを含む。方法は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するステップをさらに含む。この方法は、上記の時間スケーラと同じ考察に基づく。
【００３８】
本発明によるさらに他の実施形態は、コンピュータプログラムがコンピュータで実行されている時に、前記方法を実行するためのコンピュータプログラムを創出する。前記コンピュータプログラムは、方法および上記のジッターバッファと同じ考察に基づく。
【００３９】
次に、添付の図面を参照して、本発明の実施形態について説明する。
【図面の簡単な説明】
【００４０】
【図１】図１は、本発明の実施形態によるジッターバッファ制御の模式ブロック図である。
【図２】図２は、本発明の実施形態による時間スケーラの模式ブロック図である。
【図３】図３は、本発明の実施形態によるオーディオデコーダの模式ブロック図である。
【図４】図４は、本発明の他の実施形態によるオーディオデコーダの模式ブロック図であり、ジッターバッファ管理（ＪＢＭ）の概略を示す図である。
【図５】図５は、ＰＣＭバッファレベルを制御するアルゴリズムの疑似プログラムコードを示す図である。
【図６】図６は、ＲＴＰパケットの受信時間とＲＴＰタイムスタンプとから遅延値とオフセット値を計算するためのアルゴリズムの疑似プログラムコードを示す図である。
【図７】図７は、ターゲット遅延値を計算するためのアルゴリズムの疑似プログラムコードを示す図である。
【図８】図８は、ジッターバッファ制御論理のフローチャートを示す図である。
【図９】図９は、品質制御を伴う修正ＷＳＯＬＡの模式ブロック図である。
【図１０Ａ−１】図１０Ａ−１は、時間スケーラを制御するための方法のフローチャートである。
【図１０Ａ−２】図１０Ａ−２は、時間スケーラを制御するための方法のフローチャートである。
【図１０Ｂ】図１０Ｂは、時間スケーラを制御するための方法のフローチャートである。
【図１１】図１１は、時間スケーリングのための品質制御用のアルゴリズムの疑似プログラムコードを示す図である。
【図１２】図１２は、本発明の実施形態により得られるターゲット遅延およびプレイアウト遅延のグラフである。
【図１３】図１３は、本発明の実施形態において行われる時間スケーリングのグラフである。
【図１４】図１４は、入力オーディオコンテンツに基づいて、復号されたオーディオコンテンツの供給を制御するための方法のフローチャートである。
【図１５】図１５は、本発明の実施形態による入力オーディオ信号の時間スケーリングされたバージョンを供給するための方法のフローチャートである。
【発明を実施するための形態】
【００４１】
＜図１によるジッターバッファ制御＞
図１は、本発明の実施形態によるジッターバッファ制御の模式ブロック図である。入力オーディオコンテンツに基づいて、復号されたオーディオコンテンツの供給を制御するためのジッターバッファ制御１００は、オーディオ信号１１０またはオーディオ信号に関する情報を受信する（この情報は、オーディオ信号の１以上の特徴またはオーディオ信号のフレームまたは他の信号部分を記述し得る）。
【００４２】
また、ジッターバッファ制御１００は、フレームベースのスケーリングのための制御情報（制御信号等）１１２を供給する。たとえば、制御情報１１２は、活性化信号（フレームベースの時間スケーリングのための）および／または量的制御情報（フレームベースの時間スケーリングのための）を含み得る。
【００４３】
また、ジッターバッファ制御１００は、サンプルベースの時間スケーリングのための制御情報（制御信号等）１１４を供給する。制御情報１１４は、たとえば、サンプルベースの時間スケーリングのための活性化信号および／または量的制御情報を含み得る。
【００４４】
ジッターバッファ制御１１０は、信号適応的に、フレームベースの時間スケーリングまたはサンプルベースの時間スケーリングを選択するよう構成される。したがって、ジッターバッファ制御は、オーディオ信号またはオーディオ信号１１０に関する情報を評価し、それに基づいて制御情報１１２および／または制御情報１１４を供給するよう構成され得る。したがって、フレームベースの時間スケーリングまたはサンプルベースの時間スケーリングがしようされるか否かの判断をオーディオ信号の特徴に合わせてもよく、たとえば、それによりオーディオ信号に基づいておよび／またはオーディオ信号の１以上の特徴についての情報に基づいて、フレームベースの時間スケーリングによりオーディオコンテンツの実質的な劣化がないと予測（または推定）される場合、計算的に単純なフレームベースの時間スケーリングを使用するようになっている。対照的に、オーディオ信号１１０の特徴の評価に基づいて、時間スケーリングを行う際に可聴アーチファクトを回避するため、サンプルベースの時間スケーリングが必要であると（ジッターバッファ制御によって）予測または推定される場合、ジッターバッファ制御は、典型的には、サンプルベースの時間スケーリングを使用すると判断する。
【００４５】
また、ジッターバッファ制御１１０は、時間スケーリングを行うべきか否かを示す制御情報等の付加的制御情報も当然受信し得る点に注目されたい。
【００４６】
以下では、ジッターバッファ制御１００のいくつかの任意の詳細について説明する。たとえば、ジッターバッファ制御１００は、フレームベースの時間スケーリングが使用される場合には、ジッターバッファの深さを制御するために、オーディオフレームを減らすかまたは挿入するように、かつサンプルベースの時間スケーリングが使用される場合には、オーディオ信号部分の時間シフトされた重畳加算が行われるように、制御情報１１２、１１４を供給する。言い換えれば、ジッターバッファ制御１００は、たとえば、ジッターバッファ（デジッターバッファと称する場合もある）と協働し、かつ、ジッターバッファを制御してフレームベースの時間スケーリングを実行し得る。この場合、ジッターバッファの深さは、ジッターバッファからフレームを減らすか、またはジッターバッファにフレーム（フレームが「不活性」でかつコンフォートノイズを使用する必要があるとするシグナリングを含む単純なフレーム等）を挿入することにより制御され得る。また、ジッターバッファ制御１００は、オーディオ信号部分の時間シフトされた重畳加算を実行するために時間スケーラ（たとえばサンプルベースの時間スケーラ）を制御し得る。
【００４７】
ジッターバッファ制御部１００は、信号適応的に、フレームベースの時間スケーリングと、サンプルベースの時間スケーリングと、時間スケーリングの不活性化とを切り替えるよう構成され得る。言い換えれば、ジッターバッファ制御は、典型的には、フレームベースの時間スケーリングとサンプルベースの時間スケーリングとの間を区別するのみならず、時間スケーリングが全く行わない状態も選択する。後者の状態は、たとえば、ジッターバッファの深さが許容可能な範囲内にあるため、時間スケーリングを全く必要としない場合に選択され得る。言い換えれば、ジッターバッファ制御が選択できるのは、典型的には、フレームベースの時間スケーリングとサンプルベースの時間スケーリングの２つのモードだけではないということである。
【００４８】
ジッターバッファ制御１００は、どのモードの動作（たとえばフレームベースの時間スケーリング、サンプルベースの時間スケーリング、時間スケーリングなし）を使用するべきかを判断するためのジッターバッファの深さについての情報も考慮する。たとえば、ジッターバッファ制御は、ジッターバッファ（デジッタバッファとも称する）の所望の深さを記述するターゲット値とジッターバッファの実際の深さを記述する実際の値と比較して、前記比較に依拠して動作モード（フレームベースの時間スケーリング、サンプルベースの時間スケーリング、時間スケーリングなし）を選択することができ、それによりジッターバッファの深さを制御するため、フレームベースの時間スケーリングまたはサンプルベースの時間スケーリングが選択される。
【００４９】
ジッターバッファ制御１００は、たとえば、前のフレームが不活性であった場合（これは、たとえばオーディオ信号１１０自体か、不連続送信モードの場合には無音識別子フラグＳＩＤ等のオーディオ信号に関する情報をもとに認識される）、コンフォートノイズ挿入またはコンフォートノイズ削除を選択するよう構成され得る。したがって、ジッターバッファ制御１００は、時間伸張が所望され、前のフレーム（または現在のフレーム）が不活性な場合、コンフォートノイズフレームを挿入すべきであるとジッターバッファ（デジッターバッファとも称する）へシグナリングし得る。また、ジッターバッファ制御１００は、時間収縮（ｔｉｍｅ  ｓｈｒｉｎｋｉｎｇ）の実行が所望されかつ前のフレームが不活性であった場合（または現在のフレームが不活性の場合）、コンフォートノイズフレーム（コンフォートノイズ発生を実行する必要があることを表示するシグナリング情報を含むフレーム）を削除するようジッターバッファ（またはデジッターバッファ）に命令し得る。なお、それぞれのフレームが、コンフォートノイズの発生を示す（かつ典型的には付加的な符号化オーディオコンテンツを含まない）シグナリング情報を保持する場合、それぞれのフレームは不活性と考えられ得る。このようなシグナリング情報は、たとえば、不連続送信モードの場合には無音表示フラグ（ＳＩＤフラグ）の形式を取り得る。
【００５０】
対照的に、ジッターバッファ制御１００は、前のフレームが活性であった場合（たとえば、前のフレームがコンフォートノイズを発生すべきことを示すシグナリング情報を含んでいなかった場合）、オーディオ信号部分の時間シフトされた重畳加算を選択するよう構成されることが好ましい。音声信号部分のこのような時間シフトされた重畳加算により、典型的には、比較的高い分解能（たとえば、オーディオサンプルのブロックの長さより小さいか、またはオーディオサンプルのブロックの長さの４分の１より小さいか、または２つのサンプル以下か、または単一のオーディオサンプルと同じぐらい小さい分解能）で、入力オーディオ情報の後続のフレームに基づいて得られるオーディオアンプルのブロック間の時間シフトを調節できる。したがって、サンプルベースの時間スケーリングの選択によって、非常に細かく調整された時間スケーリングが可能となり、これは活性フレームについて可聴アーチファクトを回避するのに役立つ。
【００５１】
ジッターバッファ制御が、サンプルベースの時間スケーリングを選択する場合、ジッターバッファ制御は、サンプルベースの時間スケーリングを調節または細かく調整するための追加の制御情報も供給し得る。たとえば、ジッターバッファ制御１００は、オーディオサンプルのブロックが、比較的小さいエネルギを含むオーディオ信号部分等の、活性ではあるが「無音」のオーディオ信号部分を表すかどうかを決定するよう構成され得る。この場合、すなわち、オーディオ信号部分が「活性」（たとえば、オーディオコンテンツのより詳細な復号化ではなく、オーディオデコーダにおいてコンフォートノイズ発生が使用されるオーディオ信号ではない場合）ではあるが、「無音」（たとえば信号エネルギが特定のエネルギ閾値未満かまたはゼロの場合も）である場合、ジッターバッファ制御は、重畳加算モードを選択するための制御情報１１４を供給することができ、「無音」（ただし活性）の音声信号部分を表すオーディオサンプルのブロックと、オーディオサンプルの後続のブロックとの間の時間シフトを予め定められた最大値に設定する。したがって、サンプルベースの時間スケーラは、オーディオサンプルの後続のブロックの詳細な比較に基づいて、時間スケーリングの適正な量を識別する必要がなく、むしろ単に時間シフトについて予め定められた最大値を使用することができる。「無音」のオーディオ信号部分は、典型的には時間シフトの実際の選択に関係なく、重畳加算演算において実質的なアーチファクトを引き起こさないということがわかる。結果的に、ジッターバッファ制御により供給される制御情報１１４は、サンプルベースの時間スケーラにより実行される処理を簡素化することができる。
【００５２】
対照的に、ジッターバッファ制御１１０が、オーディオサンプルのブロックが「活性」でかつ無音でないオーディオ信号部分（コンフォートノイズの発生がなく、特定の閾値を上回る信号エネルギも含むオーディオ信号部分等）を表すことを発見した場合、ジッターバッファ制御は、制御情報１１４を供給して、それにより、オーディオサンプルのブロック間の時間シフトが信号適応的に（たとえばサンプルベースの時間スケーラにより、オーディオサンプルの後続のブロック間の類似度の判断を用いるなどして）決定される、重畳加算モードを選択する。
【００５３】
また、ジッターバッファ制御１００は、実際のバッファの占有率に関する情報も受信する。ジッターバッファ制御１００は、時間伸張が必要でかつジッターバッファが空であるとする決定に応答して、封じ込めフレーム（すなわち前に復号されたフレームに基づく予測を用いる等、パケット損失リカバリメカニズムを用いて生成されるフレーム）の挿入を選択し得る。言い換えれば、ジッターバッファ制御は、基本的にサンプルベースの時間スケーリングが望ましい（前のフレームまたは現在のフレームが「活性」であるため）と考えられるが、ジッターバッファ（またはデジッターバッファ）が空であるため、サンプルベースの時間スケーリング（重畳加算を用いる等）を適切に実行することができない場合の例外的扱いを開始できる。したがって、ジッターバッファ制御１００は、例外的なケースについてさえ、適切な制御情報１１２、１１４を供給するよう構成され得る。
【００５４】
ジッターバッファ制御１００の動作を簡素化するため、ジッターバッファ制御１００は、コンフォートノイズ発生（単に「ＣＮＧ」とも称する）に関連する不連続送信（単に「ＤＴＸ」とも称する）が現在使用されているかどうかに依拠して、フレームベースの時間スケーリングまたはサンプルベースの時間スケーリングを選択するよう構成され得る。言い換えれば、ジッターバッファ制御１００は、たとえば、オーディオ信号またはオーディオ信号に関する情報に基づいて、前のフレーム（または現在のフレーム）が、コンフォートノイズを使用すべき「不活性」フレームであると認識される場合、フレームベースの時間スケーリングを選択し得る。これは、たとえば、オーディオ信号の符号化された表現に含まれるシグナリング情報（たとえばいわゆる「ＳＩＤ」フラグ等のフラグ）を評価することにより決定されることができる。したがって、ジッターバッファ制御は、コンフォートノイズ発生に関連する不連続送信が現在使用される場合には、フレームベースの時間スケーリングを使用すべきと判断することができ、これは、この場合にはこのような時間スケーリングにより引き起こされる可聴歪みがわずかであるか皆無であると予測できるからである。対照的に、なんらかの例外的な状況（空のジッターバッファ等）がない限り、それ以外の場合（コンフォートノイズ発生に関連する不連続送信が現在使用されていない場合等）は、サンプルベースの時間スケーリングが使用され得る。
【００５５】
ジッターバッファ制御は、時間スケーリングが必要な場合に、４つ（以上）のモードから１つを選択し得ることが好ましい。たとえば、ジッターバッファ制御は、コンフォートノイズ発生に関連する不連続送信が現在使用される場合、時間スケーリングについてコンフォートノイズ挿入またはコンフォートノイズ削除を選択するよう構成され得る。また、ジッターバッファ制御は、現在のオーディオ信号部分が、活性ではあるが、エネルギ閾値以下の信号エネルギを含み、かつジッターバッファが空でない場合に、時間スケーリングのため予め定められた時間シフトを用いる重畳加算演算を選択するよう構成され得る。また、ジッターバッファ制御は、現在のオーディオ信号部分が活性でかつエネルギ閾値以上の信号エネルギを含み、かつ、ジッターバッファが空でない場合には、時間スケーリングのため信号適応的時間シフトを用いる重畳加算演算を選択するよう構成され得る。最後に、ジッターバッファ制御は、現在のオーディオ信号部分が活性でかつジッターバッファが空の場合には、時間スケーリングのため封じ込めフレームの挿入を選択するよう構成され得る。したがって、ジッターバッファ制御は、信号適応的にフレームベースの時間スケーリングまたはサンプルベースの時間スケーリングを選択するよう構成され得ることがわかる。
【００５６】
また、現在のオーディオ信号部分が活性でかつエネルギ閾値以上の信号エネルギを含み、かつジッターバッファが空でない場合には、ジッターバッファ制御は、時間スケーリングのために信号適応的時間シフトおよび品質制御メカニズムを用いる重畳加算演算を選択するよう構成され得る点に注目されたい。言い換えれば、サンプルベースの時間スケーリングについては、付加的な品質制御メカニズムが存在可能で、これがジッターバッファ制御により行われるフレームベースの時間スケーリングとサンプルベースの時間スケーリングとの間の信号適応的選択を補う。このように、階層的なコンセプトを使用でき、ジッターバッファがフレームベースの時間スケーリングとサンプルベースの時間スケーリングとの間で当初の選択を行い、かつ付加的な品質制御メカニズムが実現されて、サンプルベースの時間スケーリングで、許容できないオーディオ品質の劣化が起こらないことを確実にする。
【００５７】
結論として、ジッターバッファ制御１００の基本的な機能性について説明し、その任意の改良点についても説明した。また、ジッターバッファ制御１００を、本明細書に記載の特徴および機能性のいずれかにより補うことができる点にも注目されたい。
【００５８】
＜図２による時間スケーラ＞
図２は、本発明の実施形態による時間スケーラ２００の模式ブロック図である。時間スケーラ２００は、入力オーディオ信号２１０（デコーダコアにより供給されるサンプルのシーケンスの形で）を受信するよう構成され、かつそれに基づいて、入力オーディオ信号の時間スケーリングされたバージョン２１２を供給する。時間スケーラ２００は、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するよう構成される。この機能性は、たとえば計算ユニットにより実行され得る。また、時間スケーラ２００は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号２１０の時間スケーリングを行い、それにより入力オーディオ信号の時間スケーリングされたバージョン２１２を得るよう構成される。この機能性はたとえば時間スケーリングユニットにより実行され得る。
【００５９】
したがって、時間スケーラは、時間スケーリングを行う際に、オーディオ品質の過度な劣化を確実に回避するように品質制御を行い得る。たとえば、時間スケーラは、入力オーディオ信号に基づいて、想定する時間スケーリング演算（（オーディオ）サンプルの時間シフトされたブロックに基づいて行われる重畳加算演算等）が、十分良好なオーディオ品質をもたらすことが期待されるかどうかを予測（または推定）するよう構成され得る。言い換えれば、時間スケーラは、入力オーディオ信号の時間スケーリングが実際に実行される前に入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質を計算または推定するよう構成され得る。この目的で、時間スケーラは、たとえば、時間スケーリング演算に含まれる（入力オーディオ信号の前記部分が重畳加算されることにより時間スケーリングが行われると言う点で）入力オーディオ信号の部分を比較し得る。結論として、時間スケーラ２００は、想定される時間スケーリングにより入力オーディオ信号の時間スケーリングされたバージョンの十分なオーディオ品質がもたらされることが期待できるかどうかをチェックし、それに基づいて時間スケーリングを行うかどうかを判断するよう構成される。代替的には、時間スケーラは、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算推定の結果に依拠して、時間スケーリングパラメータ（重畳加算されるサンプルのブロック間の時間シフト等）のいずれかを採用し得る。
【００６０】
以下では、時間スケーラ２００の任意の改良点について説明する。
【００６１】
好ましい実施形態では、時間スケーラは、入力オーディオ信号のサンプルの第１のブロックおよび入力オーディオ信号のサンプルの第２のブロックを用いて重畳加算演算を実行するよう構成される。この場合、時間スケーラは、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトし、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとを重畳加算することにより、入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成される。たとえば、時間収縮が望まれる場合、時間スケーラは、入力オーディオ信号の第１の数のサンプルを入力し、これに基づいて、入力オーディオ信号の時間スケーリングされたバージョンの第２の数のサンプルを供給することができ、第２の数のサンプルは、第１の数のサンプルより少ない。サンプルの数を減らすために、第１の数のサンプルは、少なくともサンプルの第１のブロックとサンプルの第２のブロックに分けることができ（サンプルの第１のブロックとサンプルの第２のブロックは重複してもよいし、しなくてもよい）、サンプルの第１のブロックとサンプルの第２のブロックは、時間的に一緒にシフトされ、サンプルの第１のブロックおよびサンプルの第２のブロックの時間的にシフトされたバージョンは重複するようになっている。サンプルの第１のブロックとサンプルの第２のブロックのシフトされたバージョン間の重複領域において、重畳加算演算が適用される。サンプルの第１のブロックとサンプルの第２のブロックが（重畳加算演算が行われる）重複領域および好ましくは重複領域の環境においても「十分に」類似する場合、実質的な可聴歪みなしにこの重畳加算演算を適用することができる。このように、（入力オーディオ信号２１０において）元々重複していなかったが、入力オーディオ信号の時間スケーリングされたバージョン２１２において重複するサンプルの数だけサンプルの合計数が減るので、元々時間的に重複していない信号部分を重畳させかつ加算することによって、時間収縮が達成される。
【００６２】
対照的に、時間伸張も、このような重畳加算演算を用いて行うことができる。たとえば、サンプルの第１のブロックとサンプルの第２のブロックを重畳させるべく選択して、第１の全体時間延長を含むようにすることができる。次いで、サンプルの第２のブロックをサンプルの第１のブロックに対して時間シフトさせて、サンプルの第１のブロックとサンプルの第２のブロックとの重複を減らすようにすることができる。サンプルの時間シフトされた第２のブロックがサンプルの第１のブロックによく適合する場合には、重畳加算演算を行うことができ、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとの間の重複領域は、サンプル数の上でも、時間的にも、サンプルの第１のブロックとサンプルの第２のブロックとの間の元の重複領域よりも小さくなり得る。したがって、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとを用いる重畳加算演算の結果は、それぞれの元の形でのサンプルの第１のブロックとサンプルの第２のブロックの延長合計よりも大きな時間的延長を含む（時間的にもサンプル数的にも）。
【００６３】
したがって、時間収縮および時間伸張の両方を、入力オーディオ信号のサンプルの第１のブロックと入力オーディオ信号のサンプルの第２のブロックとを用いる重畳加算演算を使用することで得ることができることは明らかであり、サンプルの第２のブロックが、サンプルの第１のブロックに対して時間シフトされる（またはサンプルの第１のブロックとサンプルの第２のブロックの両方がお互いに対して時間シフトされる）。
【００６４】
時間スケーラ２００は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質を計算または推定するために、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとの間の重畳加算演算の品質を計算または推定するよう構成されることが好ましい。なお、重畳加算演算が十分に類似したサンプルのブロックの部分について実行される場合、典型的には、殆ど、可聴アーチファクトが存在しない。言い換えれば、重畳加算演算の品質が入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質に実質的に影響を与える。したがって、重畳加算演算の品質の推定（または計算）により、入力オーディオ信号の時間スケーリングされたバージョンの品質の信頼できる推定（または計算）が提供される。
【００６５】
時間スケーラ２００は、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側の部分等）とサンプルの時間シフトされた第２のブロックまたはサンプルの時間シフトされた第２のブロック一部（左側の部分等）との間の類似のレベルの決定に依拠して、サンプルの第２のブロックのサンプルの第１のブロックに対する時間シフトを決定するよう構成される。言い換えれば、時間スケーラは、十分に良好な重畳加算結果（または少なくともできる限り最良の重畳加算結果）を得るために、サンプルの第１のブロックとサンプルの第２のブロックとの間でどの時間シフトが最も適切かを決定するよう構成され得る。しかしながら、追加の（「品質制御」）ステップでは、サンプルの第１のブロックに対するサンプルの第２のブロックのこのような決定された時間シフトが、実際に十分に良好な重畳加算結果をもたらすか（または十分に良好な重畳加算結果をもたらすと期待されるか）どうかが検証され得る。
【００６６】
時間スケーラは、サンプルの第１のブロックとサンプルの第２のブロックとの間の複数の異なる時間シフトについて、サンプルの第１のブロックまたは第１のサンプルのブロックの一部（右側の部分等）とサンプルの第２のブロックまたはサンプルの第２のブロックの一部（左側の部分等）との間の類似のレベルについての情報を決定し、かつ複数の異なる時間シフトについて類似のレベルについての情報に基づいて、重畳加算演算に使用するべき（候補の）時間シフトを決定することが好ましい。言い換えれば、ベストマッチのサーチを行うことができ、様々な時間シフトに関する類似のレベルについての情報を比較して、最良の類似レベルに到達できる時間シフトを見つける。
【００６７】
時間スケーラは、ターゲット時間シフト情報に依拠して、サンプルの第１のブロックに対してサンプルの第２のブロックの時間シフト（この時間シフトは、重畳加算演算のために使用される）を決定するよう構成されることが好ましい。言い換えれば、ターゲット時間シフト情報は、たとえば、バッファの占有率の評価、ジッターおよび他に考えられる追加の基準に基づいて得ることができ、重畳加算演算についてどの時間シフトを使用すべきか（候補の時間シフトとして等）を決定する際に考慮する（考慮に入れる）ことができる。こうして、重畳加算を、システムの要件に適合させる。
【００６８】
いくつかの実施形態では、時間スケーラが、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側の部分等）と、決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックまたは決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックの一部（左側の部分等）との間の類似のレベルについての情報に基づいて入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するよう構成され得る。類似のレベルについての前記情報は、重畳加算演算の（期待される）品質についての情報を提供し、かつ時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質についての情報（少なくとも推定）も結果的に提供する。時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質について計算または推定した情報を、時間スケーリングが実際に行われるかどうか（行われない場合、時間スケーリングは、延期され得る）を決定するために使用し得る場合もある。言い換えれば、時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側の部分等）と決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックまたは決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックの一部（左側の部分等）との間の類似のレベルについての情報に基づいて、時間スケーリングを実際に行うか（行わないか）を決定するよう構成され得る。こうして、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質に関する計算または推定された情報を評価する品質制御メカニズムにより、時間スケーリングよりオーディオコンテンツの過度な劣化が生じると予測される場合には、実際には時間スケーリングを省略することもあり得る（少なくともオーディオサンプルの現在のブロックまたはフレームについて）。
【００６９】
いくつかの実施形態では、サンプルの第１のブロックとサンプルの第２のブロックとの間の（候補の）時間シフトの当初の決定および最終的な品質制御メカニズムについて、様々な類似尺度を使用できる。言い換えれば、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が品質閾値以上の品質を示す場合に、サンプルの第１のブロックに対してサンプルの第２のブロックを時間シフトさせて、サンプルの第１のブロックとサンプルの時間シフトさせた第２のブロックとを重畳加算し、それにより入力オーディオ信号の時間スケーリングされたバージョンを得るよう構成され得る。時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側の部分等）とサンプルの第２のブロックまたはサンプルの第２のブロックの一部（左側の部分等）との間の第１の類似尺度を用いて評価される類似のレベルの決定に依拠して、サンプルの第１のブロックに対するサンプルの第２のブロックの（候補の）時間シフトを決定するよう構成され得る。また、時間スケーラは、サンプルの第１のブロックまたはサンプルの第１のブロックの一部（右側の部分等）と決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックまたは決定された（候補の）時間シフトにより時間シフトされたサンプルの第２のブロックの一部（左側の部分等）との間の第２の類似尺度を用いて評価される類似のレベルについての情報に基づいて、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するよう構成され得る。たとえば、第２の類似尺度は、計算的に第１の類似尺度より複雑であり得る。このようなコンセプトが有用なのは、典型的には、時間スケーリング演算ごとに第１の類似尺度を複数回計算する必要があるためである（サンプルの第１のブロックとサンプルの第２のブロックとの間の複数の可能な時間シフト値からサンプルの第１のブロックとサンプルの第２のブロックとの間の「候補の」時間シフトを決定するため）。対照的に、第２の類似尺度は、第１の（計算的にはより複雑でない）品質の尺度を用いて決定される「候補の」時間シフトが、十分に良好なオーディオ品質をもたらすと期待できるかどうかの「最終的」品質チェックとして、典型的には、時間シフト動作ごとに１回計算するだけでよい。結果的に、第１の類似尺度が、「候補の」時間シフトについてサンプルの第１のブロック（またはその一部）とサンプルの時間シフトされた第２のブロック（またはその一部）との間でかなり良好な（または少なくとも十分な）類似を示すが、第２の（かつ典型的にはより有意味で正確な）類似尺度が、時間スケーリングによって十分に良好なオーディオ品質が得られないことを示す場合、重畳加算の実行を依然として回避することができる。こうして、品質制御（第２の類似尺度を用いた）を適用することで、時間スケーリングにおける可聴歪みの回避の助けとなる。
【００７０】
たとえば、第１の類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数または二乗誤差の和が可能である。このような類似尺度は、計算効率よく得ることができ、かつサンプルの第１のブロック（またはその一部）と（時間シフトされた）サンプルの第２のブロック（またはその一部）との「ベストマッチ」を見つける、すなわち「候補」の時間シフトを決定するには十分である。対照的に、第２の類似尺度は、たとえば、複数の異なる時間シフトについて相互相関値または正規化された相互相関値の組み合せが考えられる。このような類似尺度は、時間スケーリングの（期待される）品質を評価する際に、より高い精度をもたらし、付加的な信号成分（たとえば高調波のような）またはオーディオ信号の定常性を考慮する助けとなる。しかしながら、第２の類似尺度は、第１の類似尺度よりも計算的な要求が高いので、「候補の」時間シフトをサーチする場合に第２の類似尺度を適用することは計算的に非効率だと考えられる。
【００７１】
以下では、第２の類似尺度の決定についてのいくつかの選択肢について説明する。いくつかの実施形態では、第２の類似尺度は、４以上の異なる時間シフトについて、相互相関の組み合せが可能である。たとえば、第２の類似尺度は、サンプルの第１のブロックまたはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間の整数倍の間隔の時間シフトについて得られる、第１の相互相関値と第２の相互相関値の組み合せおよびオーディオコンテンツの基本周波数の持続期間の整数倍の間隔の時間シフトについて得られる第３の相互相関値と第４の相互相関値の組み合せが考えられる。第１の相互相関値が得られる時間シフトは、第３の相互相関値が得られる時間シフトから、オーディオコンテンツの基本周波数の持続期間の半分の奇数倍の間隔をあけられ得る。オーディオコンテンツ（入力オーディオ信号により表される）が、実質的に定常で、基本周波数に占有される場合、たとえば正規化され得る第１の相互相関値と第２の相互相関値は、両方とも１に近似することが期待され得る。しかしながら、第３の相互相関値および第４の相互相関値は、両方とも第１の相互相関値と第２の相互相関値が得られる時間シフトから基本周波数の持続期間の半分の奇数倍間隔をあけた時間シフトについて得られるので、第３の相互相関値および第４の相互相関値は、オーディオコンテンツが実質的に定常で基本周波数により占有される場合には、第１の相互相関値と第２の相互相関値に対して反対になることが予想できる。したがって、第１の相互相関値、第２の相互相関値、第３の相互相関値および第４の相互相関値に基づき有意味な組み合せを構成することができ、これは、オーディオ信号が十分に定常でかつ（候補の）重畳加算領域において基本周波数により占有されているかどうかを示す。
【００７２】
なお、特に有意味の類似尺度は、以下の式によって類似尺度ｑを計算することにより得ることができる。
ｑ＝ｃ（ｐ）＊ｃ（２＊ｐ）＋ｃ（３／２＊ｐ）＊ｃ（１／２＊ｐ）
または、
ｑ＝ｃ（ｐ）＊ｃ（−ｐ）＋ｃ（−１／２＊ｐ）＊ｃ（１／２＊ｐ）
【００７３】
上記において、ｃ（ｐ）は、サンプルの第１のブロックおよび／またはサンプルの第２のブロックのオーディオコンテンツの基本周波数の持続期間ｐだけ時間的にシフト（たとえば入力オーディオコンテンツ内の元の時間位置に対して）されているサンプルの第１のブロック（またはその一部）とサンプルの第２のブロック（またはその一部）との相互相関値である（ここで、オーディオコンテンツの基本周波数は、典型的には、サンプルの第１のブロックおよびサンプルの第２のブロックにおいて実質的に同じである）。言い換えれば、相互相関値は、入力オーディオコンテンツから取られ、かつ、入力オーディオコンテンツの基本周波数の持続期間ｐだけ付加的に相互に時間シフトされたサンプルのブロックに基づき計算される（ここで、基本周波数の持続期間ｐは、たとえば基本周波数推定、自己相関等に基づき得ることができる）。同様に、ｃ（２＊ｐ）は、２＊ｐだけ時間的にシフトさせたサンプルの第１のブロック（またはその一部）とサンプルの第２のブロック（またはその一部）との間の相互相関値である。同様の定義は、ｃ（３／２＊ｐ）、ｃ（１／２＊ｐ）、ｃ（−ｐ）およびｃ（−１／２＊ｐ）にも当てはまり、ｃ（．）の引数が時間シフトを示す。
【００７４】
以下では、時間スケーラ２００において任意に適用可能な、時間スケーリングを行う必要があるかどうかを判断するためのいくつかのメカニズムについて説明する。ある実現例においては、時間スケーラ２００は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの（期待される）品質の計算または推定に基づく品質値を可変の閾値と比較して、時間スケーリングを行うべきか否かを判断する。したがって、たとえば、以前の時間スケーリングを表す履歴等の状況に依拠して、時間スケーリングを行うかどうか判断することもできる。
【００７５】
たとえば、サンプルの１以上の前のブロックについて、時間スケーリングの品質が不十分であったと考えられるとする発見に応答して、時間スケーラは、可変の閾値を低減して、品質要件（時間スケーリングを可能にするために到達する必要がある）を下げるよう構成され得る。したがって、バッファオーバランまたはバッファアンダーランを引き起こし得るフレーム（またはサンプルのブロック）の長いシーケンスについては、時間スケーリングが阻害されないことを確実にする。また、時間スケーリングが１以上の前のブロックまたはサンプルに対して適用されたとする事実に応答して、時間スケーラは、可変の閾値を増大させて、それにより品質要件（時間スケーリングを可能にするために到達する必要がある）を上げるように構成され得る。したがって、時間スケーリングの非常に良好な品質（正常な品質要件に対して向上した）が得られると言う場合以外は、時間スケーリングされる後続ブロックまたはサンプルが多すぎるという事態を避けることができる。したがって、時間スケーリングの品質の条件が低すぎる場合に生じると考えられるアーチファクトを回避することができる。
【００７６】
いくつかの実施形態において、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件に到達したため、時間スケーリングされたサンプルのブロック数またはフレーム数をカウントするための範囲が限定された第１のカウンタを含む。また、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンのそれぞれの品質要件に到達しなかったため、時間スケーリングされなかったサンプルのブロック数またはフレーム数をカウントするための範囲が限定された第２のカウンタも含み得る。この場合、時間スケーラは、第１のカウンタの値および第２のカウンタの値に依拠して可変の閾値を計算するよう構成され得る。したがって、時間スケーリングの「履歴」（および「品質」の履歴も）を、適度の計算量で考慮することができる。
【００７７】
たとえば、時間スケーラは、可変の閾値を得るために、初期の閾値に対して第１のカウンタの値に比例する値を加算し、かつ第２のカウンタの値に比例する値をそこから（たとえば加算結果から）減算するよう構成され得る。
【００７８】
以下では、時間スケーラ２００のいくつかの実施形態において提供され得るいくつかの重要な機能性について要約する。しかしながら、以下に記載する機能性は、時間スケーラ２００の必須の機能性ではない点に留意されたい。
【００７９】
ある実現例では、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを行うよう構成され得る。この場合、入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定は、時間スケーリングによって生じると考えられる入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含む。しかしながら、アーチファクトの計算または推定は、たとえば重畳加算演算の品質を計算することにより間接的に実行され得る点に注目されたい。言い換えれば、入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定は、入力オーディオ信号のサンプルの後続のブロックの重畳加算演算により生じると考えられる入力オーディオ信号の時間スケーリングされたバージョンにおけるアーチファクトの計算または推定を含み得る（当然ながら、なんらかの時間シフトが、サンプルの後続ブロックに適用され得る）。
【００８０】
たとえば、時間スケーラは、入力オーディオ信号のサンプルの後続の（かつおそらくは重複する）ブロックの類似のレベルに依拠して、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するよう構成され得る。
【００８１】
好ましい実施形態では、時間スケーラは、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンに可聴アーチファクトが存在するかどうかを計算または推定するよう構成され得る。可聴アーチファクトの推定は、上記のとおり間接的に行われてもよい
【００８２】
品質制御の結果として、時間スケーリングは、時間スケーリングに適切な時点で実行され、かつ、時間スケーリングに適切でない時点では回避することができる。たとえば、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が、不十分な品質（たとえば、特定の品質閾値を下回る品質）を示す場合、時間スケーリングを後続のフレームまたはサンプルの後続のブロックへ延期するよう構成され得る。こうして、時間スケーリングは、時間スケーリングに、より適した時点で実行され得るので、発生するアーチファクト（特に可聴アーチファクト）が低減される。言い換えれば、時間スケーラは、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定が不十分な品質を示す場合、時間スケーリングがより可聴でない時点まで、時間スケーリングを延期するよう構成され得る。
【００８３】
結論として、時間スケーラ２００は、上記のとおり、いくつかの異なる態様で改良され得る。
【００８４】
また、時間スケーラ２００は、任意にジッターバッファ制御１００と組み合わせてもよく、ジッターバッファ制御１００が、典型的には時間スケーラ２００により実行されるサンプルベースの時間スケーリングを使用すべきかどうか、またはフレームベースの時間スケーリングを使用すべきかどうかを判断し得る点に注目されたい。
【００８５】
＜図３によるオーディオデコーダ＞
図３は、本発明の実施形態によるオーディオデコーダ３００の模式ブロック図である。
【００８６】
オーディオデコーダ３００は、入力オーディオ表現として考慮され、かつ、たとえばオーディオフレームの形式で表現され得る入力オーディオコンテンツ３１０を受信するよう構成される。また、オーディオデコーダ３００は、それに基づいて、たとえば復号されたオーディオサンプルの形式で表現され得る復号されたオーディオコンテンツ３１２を供給する。オーディオデコーダ３００は、たとえば、入力オーディオコンテンツ３１０を、たとえば、オーディオフレームの形式で受信するよう構成されるジッターバッファ３２０を含む。ジッターバッファ３２０は、オーディオサンプルのブロックを表す複数のオーディオフレームをバッファするよう構成される（１つのフレームがオーディオサンプルの１以上のブロックを表すことが可能で、かつ１つのフレームにより表されるオーディオサンプルは、論理的に複数の重複または非重複のオーディオサンプルのブロックへ細かく分けられ得る）。また、ジッターバッファ３２０は、「バッファされた」オーディオフレーム３２２を供給し、オーディオフレーム３２２が、入力オーディオコンテンツ３１０に含まれるオーディオフレームおよびジッターバッファにより生成または挿入されるフレーム（コンフォートノイズの発生をシグナリングするシグナリング情報を含む「不活性な」オーディオフレーム等）の両方を含み得る。オーディオデコーダ３００は、ジッターバッファ３２０からバッファされたオーディオフレーム３２２を受信し、かつ、ジッターバッファから受信したオーディオフレーム３２２に基づいてオーディオサンプル３３２（たとえばオーディオフレームに関連するオーディオサンプルを有するブロック）を供給するデコーダコア３３０をさらに含む。また、オーディオデコーダ３００は、デコーダコア３３０により供給されるオーディオサンプル３３２を受信し、かつ、それに基づいて、復号されたオーディオコンテンツ３１２を構成する時間スケーリングされたオーディオサンプル３４２を供給するよう構成されるサンプルベースの時間スケーラ３４０を含む。サンプルベースの時間スケーラ３４０は、オーディオサンプル３３２に基づいて（すなわちデコーダコアが供給するオーディオサンプルのブロックに基づいて）、時間スケーリングされたオーディオサンプル（たとえばオーディオサンプルのブロックの形式で）を供給するよう構成される。また、オーディオデコーダは、任意の制御３５０を含み得る。オーディオデコーダ３００において使用されるジッターバッファ制御３５０は、たとえば図１によるジッターバッファ制御１００と同じでもよい。言い換えれば、ジッターバッファ３５０は、信号適応的に、ジッターバッファ３２０により行われるフレームベースの時間スケーリングまたはサンプルベースの時間スケーラ３４０により行われるサンプルベースの時間スケーリングを選択するよう構成され得る。したがって、ジッターバッファ制御３５０は、入力オーディオコンテンツ３１０またはオーディオ信号１１０もしくはオーディオ信号１１０に関する情報としての入力オーディオコンテンツ３１０に関する情報を受信し得る。また、ジッターバッファ制御３５０は、制御情報１１２（ジッターバッファ制御１００に関して記載したとおり）をジッターバッファ３２０へ供給し、かつジッターバッファ制御３５０は、ジッターバッファ制御１００に関して記載したとおり、制御情報１１４をサンプルベースの時間スケーラ１４０へ供給し得る。したがって、ジッターバッファ３２０は、フレームベースの時間スケーリングを実行するためにオーディオフレームを減らすかまたは挿入するよう構成され得る。また、デコーダコア３３０は、コンフォートノイズの発生を示すシグナリング情報を保持するフレームに応答してコンフォートノイズ発生を実行するよう構成され得る。したがって、「不活性」フレーム（コンフォートノイズを発生すべきことを示すシグナリング情報を含む）のジッターバッファ３２０への挿入に応答して、コンフォートノイズをデコーダコア３３０により発生させ得る。言い換えれば、フレームベースの時間スケーリングの単純な形式により、「不活性」フレームのジッターバッファへの挿入（ジッターバッファ制御により供給される制御情報１１２に応答して実行され得る）によりトリガされるコンフォートノイズを含むフレームの発生が効果的に行われ得る。また、デコーダコアは、空のジッターバッファに応答して、「封じ込め」を実行するよう構成され得る。この封じ込めは、失ったオーディオフレームに先行する１以上のフレームのオーディオ情報に基づいて「消失」フレーム（空のジッターバッファ）について、オーディオ情報を生成することを含み得る。たとえば、消失オーディオフレームのオーディオコンテンツは、消失したオーディオフレームに先行する１以上のオーディオフレームのオーディオコンテンツの「継続するもの」と仮定して、予測を用いることができる。しかしながら、当該技術分野において知られるフレーム損失封じ込めのコンセプトのいずれかをデコーダコアにより使用することができる。結果として、ジッターバッファ制御３５０は、ジッターバッファ３２０が空の場合には、ジッターバッファ３２０（またデコーダコア３３０）に封じ込めを開始するよう命令し得る。しかしながら、デコーダコアは、明示的な制御信号なしでも、独自の情報に基づいて封じ込めを実行し得る。
【００８７】
また、サンプルベースの時間スケーラ３４０は、図２に関連して記載される時間スケーラ２００に等しいことが可能である点に注目されたい。したがって、入力オーディオ信号２１０がオーディオサンプル３３２に相当し、かつ入力オーディオ信号の時間スケーリングされたバージョン２１２が時間スケーリングされたオーディオサンプル３４２に相当し得る。したがって、時間スケーラ３４０は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して、入力オーディオ信号の時間スケーリングを実行するよう構成され得る。サンプルベースの時間スケーラ３４０は、ジッターバッファ制御３５０により制御が可能で、ジッターバッファ制御によりサンプルベースのスケーラ３４０に供給される制御情報１１４が、サンプルベースの時間スケーリングを実行すべきか否かを示し得る。また、制御情報１１４は、たとえば、サンブルベースのスケーラ３４０により実行されるべき時間スケーリングの所望量を示す。
【００８８】
なお、時間スケーラ３００は、ジッターバッファ制御１００および／または時間スケーラ２００に関連して記載された特徴および機能性のいずれかにより補完することができる点に注目されたい。また、オーディオデコーダ３００は、また、たとえば図４から図１５に関して本明細書に記載される他の特徴および機能性によっても補完され得る。
【００８９】
＜図４によるオーディオデコーダ＞
図４は、本発明の実施形態によるオーディオデコーダ４００の模式ブロック図を示す。オーディオデコーダ４００は、１以上のオーディオフレームのパケット化された表現を含み得るパケット４１０を受信するよう構成される。また、オーディオデコーダ４００は、たとえばオーディオサンプルの形式で復号されたオーディオコンテンツ４１２を供給する。オーディオサンプルは、たとえば「ＰＣＭ」形式（すなわちオーディオ波形のサンプルを表すデジタル値のシーケンスの形式等のパルス符号変調形式）で表され得る。
【００９０】
オーディオデコーダ４００は、パケット４１０を受信し、それらに基づいて、非パケット化されたフレーム４２２を供給するよう構成されるデパッカ（ｄｅｐａｃｋｅｒ）４２０を含む。また、デパッカは、パケット４１０から、「不活性な」オーディオフレーム（すなわち、オーディオコンテンツの「正常な」詳細な復号化ではなく、コンフォートノイズ発生を用いるべきオーディオフレーム）をシグナリングするいわゆる「ＳＩＤフラグ」を抽出するよう構成される。ＳＩＤフラグ情報は、４２４で示す。また、デパッカは、リアルタイムトランスポートプロトコルタイムスタンプ（「ＲＴＰ  ＴＳ」とも称する）およびアライバルタイムスタンプ（「アライバルＴＳ」とも称する）を供給する。タイムスタンプ情報は、４２６で示す。また、オーディオデコーダ４００は、デパッカ４２０からの非パケット化されたフレーム４２２を受信し、かつ、バッファされたフレーム４３２（およびおそらくは挿入されたフレーム）をデコーダコア４４０へ供給するデジッターバッファ４３０（単にジッターバッファ４３０とも称す）を含む。また、デジッターバッファ４３０は、制御論理からフレームベースの（時間）スケーリングのための制御情報４３４を受信する。また、デジッターバッファ４３０は、プレイアウト遅延推定へスケーリングフィードバック情報４３６を供給する。オーディオデコーダ４００は、また、デコーダコア４４０から復号されたオーディオサンプル４４２（たとえばパルスコード変調されたデータの形式で）を受信する時間スケーラ（「ＴＳＭ」とも称す）４５０も含み、デコーダコア４４０は、デジッターバッファ４３０から受信したバッファまたは挿入されたフレーム４３２に基づいて、復号されたオーディオサンプル４４２を供給する。時間スケーラ４５０は、制御論理からサンプルベースの（時間）スケーリングのための制御情報４４４を受信し、プレイアウト遅延推定へ、スケーリングフィードバック情報４４６を供給する。時間スケーラ４５０は、パルスコード変調形式で時間スケーリングされたオーディオコンテンツを表し得る時間スケーリングされたサンプル４４８も供給する。オーディオデコーダ４００は、時間スケーリングされたサンプル４４８を受信し、時間スケーリングされたサンプル４４８をバッファするＰＣＭバッファ４６０をさらに含む。また、ＰＣＭバッファ４６０は、時間スケーリングされたサンプル４４８のバッファされたバージョンを復号されたオーディオコンテンツ４１２の表現として供給する。また、ＰＣＭバッファ４６０は、制御論理へ遅延情報４６２を供給し得る。
【００９１】
オーディオデコーダ４００は、情報４２４（ＳＩＤフラグ等）ならびにＲＴＰタイムスタンプおよびアライバルタイムスタンプを含むタイムスタンプ情報４２６を受信するターゲット遅延推定４７０をさらに含む。この情報に基づいて、ターゲット遅延推定４７０は、デジッターバッファ４３０、デコーダ４４０、時間スケーラ４５０およびＰＣＭバッファ４６０により生じるはずの望ましい遅延等、望ましい遅延を記述するターゲット遅延情報４７２を供給する。たとえば、ターゲット遅延推定４７０は、遅延が不必要に大きく選択されず、しかしながらパケット４１０のなんらかのジッターを補償するのに十分なものになるようターゲット遅延情報４７２を計算または推定し得る。また、オーディオデコーダ４００は、デジッターバッファ４３０からのスケーリングフィードバック情報４３６および時間スケーラ４６０からのスケーリングフィードバック情報４４６を受信するよう構成されるプレイアウト遅延推定４８０を含む。たとえば、スケーリングフィードバック情報４３６は、デジッターバッファにより実行される時間スケーリングを記述し得る。また、スケーリングフィードバック情報４４６は、時間スケーラ４５０により実行される時間スケーリングを記述する。スケーリングフィードバック情報４４６に関しては、時間スケーラ４５０により実行される時間スケーリングが典型的には、スケーリングフィードバック情報４４６により記述される実際の時間スケーリングが、サンプルベースのスケーリング情報４４４により記述され得る所望の時間スケーリングとは異なり得るように、信号適応的である点に注目されたい。結論として、スケーリングフィードバック情報４３６およびスケーリングフィードバック情報４４６は、本発明のいくつかの態様に従って提供される信号適応性のために、所望の時間スケーリングとは異なり得る実際の時間スケーリングを記述することができる。
【００９２】
また、オーディオデコーダ４００は、オーディオデコーダの（主要な）制御を実行する制御論理４９０をさらに含む。制御論理４９０は、デパッカ４２０からの情報４２４（ＳＩＤフラグ等）を受信する。また、制御論理４９０は、ターゲット遅延推定４７０からのターゲット遅延情報４７２、プレイアウト遅延推定４８０からのプレイアウト遅延情報４８２（プレイアウト遅延情報４８２は、スケーリングフィードバック情報４３６および４４６に基づきプレイアウト遅延推定４８０が生成する実際の遅延を記述する）を受信する。また、制御論理４９０は（任意に）ＰＣＭバッファ４６０からの遅延情報４６２を受信する（代替的にはＰＣＭバッファの遅延情報は、予め定められた量が可能）。受信した情報に基づいて、制御論理４９０は、フレームベースのスケーリング情報４３４およびサンプルベースのスケーリング情報４４２をデジッターバッファ４３０および時間スケーラ４５０に供給する。したがって、制御論理は、ターゲット遅延情報４７２およびプレイアウト遅延情報４８２に依拠して、オーディオコンテンツの１以上の特徴（たとえばＳＩＤフラグにより保持されるシグナリングによりコンフォートノイズ発生が実行されるべき「不活性な」フレームがあるかどうかなど）を考慮して、信号適応的にフレームベースのスケーリング情報４３４およびサンプルベースのスケーリング情報４４２を設定する。
【００９３】
なお、ここで制御論理４９０は、ジッターバッファ制御１００の機能性の一部または全部を実行することが可能で、情報４２４は、オーディオ信号についての情報１１０に相当し、制御情報１１２は、フレームベースのスケーリング情報４３４に相当し、かつ制御情報１１４は、サンプルベースのスケーリング情報４４４に相当し得る。また、時間スケーラ４５０は、時間スケーラ２００の機能性の一部または全部を実行することが可能で（またはその逆も同様）、入力オーディオ信号２１０は、復号されたオーディオサンプル４４２に相当し、かつ入力オーディオ信号の時間スケーリングされたバージョン２１２は、時間スケーリングされたオーディオサンプル４４８に相当する。
【００９４】
また、オーディオデコーダ４００がオーディオデコーダ３００に相当し、オーディオデコーダ３００は、オーディオデコーダ４００に関して記載した機能性の一部またはすべてを実行可能であり、その逆も同様である点に注目されたい。ジッターバッファ３２０は、デジッターバッファ４３０に相当し、デコーダコア３３０は、デコーダ４４０に相当し、かつ時間スケーラ３４０は、時間スケーラ４５０に相当する。制御３５０は、制御論理４９０に相当する。
【００９５】
以下では、オーディオデコーダ４００の機能性に関して、いくつか付加的な詳細を説明する。特に、提案のジッターバッファ管理（ＪＢＭ）について説明する。
【００９６】
連続するプレイアウトを維持しながら、符号化音声またはオーディオデータを含むフレームを有する受信したパケット４１０をデコーダ４４０内へフィードするために使用できるジッターバッファ管理（ＪＢＭ）解決法を説明する。たとえば、ボイスオーバインターネットプロトコール（ＶｏＩＰ）等のパケットベースの通信おいて、パケット（パケット４１０等）は、典型的には、送信時間が様々であり、送信中に失われるが、これが、到着間ジッターおよび受信機（オーディオデコーダ４００を含む受信機）にとっての消失パケットにつながる。したがって、スタッターなしで連続する出力信号を可能にするために、ジッターバッファ管理およびパケット損失封じ込め解決法が求められる。
【００９７】
以下では、解決法の概略について説明する。記載のジッターバッファ管理の場合、受信ＲＴＰパケット（パケット４１０等）内の符号化データが、まず非パケット化され（たとえばデパッカ４２０を用いて）、かつ符号化データ（ＡＭＲ−ＷＢ符号化フレーム内の音声データ等）を伴う結果として得られるフレーム（フレーム４２２等）がデジッターバッファ（デジッターバッファ４３０等）内へフィードされる。プレイアウトに新たなパルスコード変調データ（ＰＣＭデータ）が必要な場合、デコーダにより（デコーダ４４０等により）入手可能にする必要がある。この目的で、フレーム（フレーム４３２等）をデジッターバッファから（デジッターバッファ４３０等から）引き出す。デジッターバッファを使用することにより、到着時間の変動を補償できる。バッファの深さを制御するために、時間スケール変更（ＴＳＭ）を適用する（時間スケール変更は単に時間スケーリングとも称する）。時間スケール変更は、符号化されたフレームごと（たとえばデジッターバッファ４３０内で）または別のモジュール（時間スケーラ４５０内等で）で行うことができ、ＰＣＭ出力信号（ＰＣＭ出力信号４４８またはＰＣＭ出力信号４１２等）のより細かい粒度の適応が可能になる。
【００９８】
たとえば、ジッターバッファ管理の概要を示す図４に上記のコンセプトを示す。デジッターバッファ（デジッターバッファ４３０等）の深さを制御し、かつしたがってデジッターバッファ（デジッターバッファ４３０等）および／またはＴＳＭモジュール（時間スケーラ４５０等内）内の時間スケーリングのレベルを制御するために、制御論理（ターゲット遅延推定４７０およびプレイアウト遅延情報４８０により支持される制御論理４９０等）が使用される。これは、ターゲット遅延（情報４７２等）およびプレイアウト遅延（情報４８２等）ならびにコンフォートノイズ発生（ＣＮＧ）に関連して不連続送信（ＤＴＸ）が現在使用されるかどうかに関する情報（情報４２４等）を採用する。遅延値を、たとえば、ターゲットおよびプレイアウト遅延推定について別々のモジュール（モジュール４７０および４８０等）から発生させ、かつ活性／不活性ビット（ＳＩＤフラグ）を、たとえば、デパッカモジュール（デパッカ４２０等）により供給する。
【００９９】
＜デパッカ＞
以下では、デパッカ４２０について説明する。デパッカモジュールは、ＲＴＰパケット４１０を単一のフレーム（アクセス単位）４２２に分割する。また、パケット内における唯一または最初のフレームでない全フレームについてＲＴＰタイムスタンプを計算する。たとえば、ＲＴＰパケットに含まれるタイムスタンプは、その最初のフレームに割り当てられる。集合の場合（すなわち１以上の単一のフレームを含むＲＴＰパケットについて）、後続のフレームのタイムスタンプは、ＲＴＰタイムスタンプのスケールにより分割されるフレーム持続時間分増分される。また、ＲＴＰタイムスタンプに対して、各フレームは、ＲＴＰパケットが受信されたシステム時間（「アライバルタイムスタンプ」）でタグ付される。図示のとおり、たとえばターゲット遅延推定４７０に対して、ＲＴＰタイムスタンプ情報およびアライバルタイムスタンプ情報４２６が供給され得る。デパッカモジュールは、また、フレームが活性か、または無音挿入記述子（ＳＩＤ）を含むかどうか決定する。なお、非活性期間においては、ＳＩＤフレームのみが受信される場合もある。したがって、たとえばＳＩＤフラグを含み得る情報４２４が制御論理４９０へ供給される。
【０１００】
＜デジッターバッファ＞
デジッターバッファモジュール４３０は、復号化（たとえばデコーダ４４０による）までネットワークで（ＴＣＰ／ＩＰ型ネットワークを経由するなどして）受信されるフレーム４２２を記憶する。フレーム４２２は、ネットワーク上で起こった可能性のあるリーオーダリングを解除する昇順ＲＴＰタイムスタンプ順でソートされたキューに挿入される。キューのフロントのフレームをデコーダ４４０へフィードすることができ、その後、取り除かれる（たとえばデジッターバッファ４３０から）。キューが空で、フロント（キューの）のフレームと前に読み取ったフレームのタイムスタンプ差によりフレームが消失している場合、空のフレームを返して（たとえばデジッターバッファ４３０からデコーダ４４０へ）、パケット損失封じ込め（最後のフレームが活性の場合）またはデコーダモジュール４４０においてコンフォートノイズ発生（最後のフレームが「ＳＩＤ」または不活性の場合）をトリガする。
【０１０１】
言い換えれば、デコーダ４４０は、たとえば活性の「ＳＩＤ」フラグを用いて、コンフォートノイズを使用すべきとフレームでシグナリングされる場合に、コンフォートノイズを発生するよう構成され得る。他方、デコーダは、前の（最後の）フレームが活性で（すなわち、コンフォートノイズ発生は不活性化）、ジッターバッファが空の場合（それにより空のフレームがジッターバッファ４３０によりデコーダ４４０へ付与される場合）、たとえば予測される（または外挿される）オーディオサンプルを供給することによりパケット損失封じ込めを実行するよう構成され得る。
【０１０２】
デジッターバッファモジュール４３０は、時間伸張のためには、空のフレームをフロント（たとえばジッターバッファのキューの）へ加え、時間収縮のためには、フロント（たとえばジッターバッファのキューの）でフレームを落とすことによりフレームベースの時間スケーリングも支持する。不活性期間の場合、デジッターバッファは、「ＮＯ＿ＤＡＴＡ」フレームが加えられたかまたは落とされたかのようにふるまい得る。
【０１０３】
＜時間スケール変換（ＴＳＭ）＞
以下では、本明細書で単に時間スケーラまたはサンプルベースの時間スケーラとも称する時間スケール変換（ＴＳＭ）について説明する。ビルトイン品質制御を伴う修正パケットベースのＷＳＯＬＡ（波形類似度に基づく重畳加算）（たとえば非特許文献１［Ｌｉａ０１］を参照）アルゴリズムを使用して、信号の時間スケール変更（単に時間スケーリングとも称する）を行う。いくつかの詳細な点については、たとえば以下に説明する図９においてみることができる。時間スケーリングのレベルは、信号に依拠し、スケーリングされると激しいアーチファクトを作り出すと考えられる信号は、品質制御により検知され、無音に近い低レベルの信号は、できる限りの範囲でスケーリングされる。周期的な信号等うまく時間スケーリングができる信号は、内部的に生成されたシフトによってスケーリングされる。このシフトは、正規化相互相関等の類似尺度から生成される。重畳加算（ＯＬＡ）で、現在のフレームの終わり（本明細書では「サンプルの第２のブロック」とも称する）がシフトされ（たとえば、本明細書で「サンプルの第１のブロック」とも称する現在のフレームの始まりに対して）、フレームを短くするか長くする。
【０１０４】
すでに述べたとおり、時間スケール変更（ＴＳＭ）に関する追加の詳細については、以下に品質制御を伴う修正されたＷＳＯＬＡを示す図９ならびに図１０ａ、図１０ｂおよび図１１を参照して説明する。
【０１０５】
＜ＰＣＭバッファ＞
以下では、ＰＣＭバッファについて説明する。時間スケール変更モジュール４５０は、時間変化スケールでデコーダモジュールにより出力されるＰＣＭフレームの持続時間を変更する。たとえば、１０２４個のサンプル（または２０４８個のサンプル）が、オーディオフレーム４３２ごとにデコーダ４４０により出力され得る。対照的に、サンプルベースの時間スケーリングにより可変な数のサンプルがオーディオフレーム４３２ごとに時間スケーラ４５０により出力され得る。対照的に、ラウドスピーカサウンドカード（または一般にはサウンド出力装置）は、典型的には、２０ｍｓ等の固定のフレーミングを想定する。したがって、ファーストインファーストアウトの挙動の追加バッファを用いて、タイムスケーラの出力サンプル４４８に固定のフレーミングを適用する。
【０１０６】
つながり全体を見ると、このＰＣＭバッファ４６０は、追加の遅延を作り出さない。むしろ、遅延は、デジッターバッファ４３０とＰＣＭバッファ４６０の間で共有されるだけである。それにもかかわらず、ＰＣＭバッファ４６０にストアされるサンプルの数をできるだけ少なく保つことが目標とされるのは、これにより、デジッターバッファ４３０にストアされるフレーム数が増え、したがって、遅い損失の可能性が低減されるからである（デコーダは、後で受信される消失フレームを封じ込める）。
【０１０７】
図５に示す擬似プログラムコードは、ＰＣＭバッファレベルを制御するアルゴリズムを示す。図５の擬似プログラムコードから分かるように、サウンドカードのフレームサイズが、サンプルレート（「ｓａｍｐｌｅＲａｔｅ」）に基づいて計算され、例として、フレーム持続時間は、２０ｍｓと仮定する。したがって、サウンドカードフレームごとのサンプルの数がわかる。次いで、ＰＣＭバッファは、ＰＣＭバッファにおけるサンプル数（「ｐｃｍＢｕｆｆｅｒ＿ｎＲｅａｄａｂｌｅＳａｍｐｌｅｓ（）」）が、もはやサウンドカードフレームごとのサンプル数（「ｓｏｕｎｄＣａｒｄＦｒａｍｅＳｉｚｅ」）より小さくないという時点まで、オーディオフレーム４３２（「ａｃｃｅｓｓＵｎｉｔ」とも称する）を復号することにより満たされる。まず、フレーム（「ａｃｃｅｓｓＵｎｉｔ」とも称する）を参照番号５１０で示すとおり、デジッターバッファ４３０から取得する（または要求される）。次いで、オーディオサンプルの「フレーム」を、参照番号５１２で示すとおり、デジッターバッファから要求されたフレーム４３２を復号することにより入手する。したがって、復号されたオーディオサンプルのフレーム（たとえば４４２で示す）が得られる。次いで、復号されたオーディオサンプル４４２のフレームに対して時間スケール変更が行われ、それにより、時間スケーリングされたオーディオサンプル４４８の「フレーム」が得られるようになっており、これについては、参照番号５１４で示す。なお、時間スケーリングされたオーディオサンプルのフレームは、オーディオサンプルの数は、時間スケーラ４５０に入力される復号されたオーディオサンプル４４２のフレームよりも多くの数のオーディオサンプルまたは少ない数のオーディオサンプル含んでもよい。次いで、時間スケーリングされたオーディオサンプル４４８のフレームを、参照番号５１６で示すようにＰＣＭバッファ４６０へ挿入する。
【０１０８】
この手続きを、十分な数の（時間スケーリングされた）オーディオサンプルがＰＣＭバッファ４６０内に利用可能になるまで繰り返す。十分な数の（時間スケーリングされた）サンプルがＰＣＭバッファ内で利用可能になると、時間スケーリングされたオーディオサンプルの「フレーム」（サウンドカード等のサウンドプレイバック装置により必要とされるフレーム長を有する）を、参照番号５２０および５２２で示すようにＰＣＭバッファ４６０から読みだして、サウンドプレイバック装置（サウンドカード等）へ転送する。
【０１０９】
以下では、ターゲット遅延推定器４７０により実行され得るターゲット遅延推定について説明する。ターゲット遅延は、前のフレームが再生される時点と、ターゲット遅延推定モジュール４７０の履歴に現在含まれる全フレームに比べて、ネットワーク上で送信遅延が最も低ければ、このフレームが、受信が可能であったと考えられる時点との間の所望のバッファ遅延を指定する。ターゲット遅延を推定するため、長期と短期のジッター推定部を１つずつ、２つの異なるジッター推定器が使用される。
【０１１０】
＜長期ジッター推定＞
長期ジッターを計算するため、ＦＩＦＯデータ構造を使用し得る。ＦＩＦＯに記憶されるタイムスパンは、ＤＴＸ（不連続送信モード）を使用した場合にストアされるエントリの数とは異なるかもしれない。そのため、ＦＩＦＯのウィンドウサイズは、２つ態様で限定される。最大で５００のエントリ（＝秒あたり５０パケットで１０秒）および最大で１０秒のタイムスパン（最新と最古パケット間のＲＴＰタイムスタンプ差）を含み得る。より多くのエントリをストアする場合、最古のエントリを除去する。ネットワークで受信されるＲＴＰパケットごとに、エントリがＦＩＦＯへ加えられる。エントリは、３つの値、すなわち、遅延、オフセットおよびＲＴＰタイムスタンプを含む。これらの値は、図６の擬似コードに示されるように、受信時間（たとえばアライバルタイムスタンプにより表される）およびＲＴＰパケットのＲＴＰタイムスタンプから計算される。
【０１１１】
参照番号６１０および６１２で示すように、２つのパケット（たとえば後続パケット）のＲＴＰタイムスタンプの時間差を計算し（「ｒｔｐＴｉｍｅＤｉｆｆ」を算出）、かつ２つのパケット（たとえば後続パケット）の受信タイムスタンプ間の差を計算する（「ｒｃｖＴｉｍｅＤｉｆｆ」を算出）。また、ＲＴＰタイムスタンプは、参照番号６１４で示すとおり、送信装置の時間軸から受信装置の時間軸へ変換され、「ｒｔｐＴｉｍｅＴｉｃｋｓ」を算出する。同様に、参照番号６１６で示すとおり、ＲＴＰ時間差（ＲＴＰタイムスタンプの差）を受信装置の受信部時間スケール／時間軸へ変換し、「ｒｔｐＴｉｍｅＤｉｆｆ」を算出する。
【０１１２】
次いで、遅延情報（「遅延」）を参照番号６１８で示すとおり、前の遅延情報に基づいて更新する。たとえば、受信時間差（パケットが受信された時間の差）が、ＲＴＰ時間差（すなわちパケットが送信された時間の差）より大きい場合には、遅延が増加したと結論付けることができる。また、参照番号６２０で示すとおり、オフセット時間情報（「オフセット」）が計算され、オフセット時間情報は、受信時間（パケットが受信された時間）と、パケットが送信された時間（受信部時間スケールに変換されるＲＴＰタイムスタンプにより規定される）との差を表す。また、遅延情報、オフセット時間情報およびＲＴＰタイムスタンプ情報（受信機時間スケールに変換される）が、参照番号６２２で示すとおり、長期ＦＩＦＯへ加えられる。
【０１１３】
次いで、参照番号６２４で示すとおり、なんらかの現在の情報が、次の繰り返しには「前の」情報としてストアされる。
【０１１４】
長期ジッターは、ＦＩＦＯに現在ストアされる最大遅延値と、最小遅延値との差として、計算できる。
ｌｏｎｇＴｅｒｍＪｉｔｔｅｒ＝ｌｏｎｇＴｅｒｍＦｉｆｏ＿ｇｅｔＭａｘＤｅｌａｙ（）−ｌｏｎｇＴｅｒｍＦｉｆｏ＿ｇｅｔＭｉｎＤｅｌａｙ（）；
【０１１５】
＜短期ジッター推定＞
以下では、短期ジッター推定について説明する。短期ジッター推定は、たとえば２つのステップで行われる。第１のステップでは、長期推定について行われるのと同じジッターの計算が以下の変更を伴って用いられる。ＦＩＦＯのウィンドウサイズが、５０以下のエントリで、１秒のタイムスパン以下に制限される。結果として得られるジッターの値は、ＦＩＦＯに現在ストアされる９４％パーセンタイル遅延値（上から３つの値を無視する）と、最小遅延値との間の差として計算される。
ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒＴｍｐ＝ｓｈｏｒｔＴｅｒｍＦｉｆｏ１＿ｇｅｔＰｅｒｃｅｎｔｉｌｅＤｅｌａｙ（９４）−ｓｈｏｒｔＴｅｒｍＦｉｆｏ１＿ｇｅｔＭｉｎＤｅｌａｙ（）；
【０１１６】
第２のステップでは、まず、短期ＦＩＦＯと長期ＦＩＦＯとの間の異なるオフセットをこの結果について補償する。
ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒＴｍｐ＋＝ｓｈｏｒｔＴｅｒｍＦｉｆｏ１＿ｇｅｔＭｉｎＯｆｆｓｅｔ（）；
ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒＴｍｐ−＝ｌｏｎｇＴｅｒｍＦｉｆｏ＿ｇｅｔＭｉｎＯｆｆｓｅｔ（）；
【０１１７】
この結果を、２００以下のエントリのウィンドウサイズで４秒以下のタイムスパンの他のＦＩＦＯへ加える。最後に、ＦＩＦＯにストアされる最大値をフレームサイズの整数倍に増大し、短期ジッターとして使用する。
ｓｈｏｒｔＴｅｒｍＦｉｆｏ２＿ａｄｄ（ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒＴｍｐ）；
ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒ＝ｃｅｉｌ（ｓｈｏｒｔＴｅｒｍＦｉｆｏ２＿ｇｅｔＭａｘ（）／２０．ｆ）＊２０；
【０１１８】
＜長期／短期ジッター推定の組み合せによるターゲット遅延推定＞
ターゲット遅延（たとえばターゲット遅延情報４７２）を計算するために、長期および短期ジッター推定（上に規定した「ｌｏｎｇＴｅｒｍＪｉｔｔｅｒ」および「ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒ」等）を現在の状態に依拠して様々な態様に組み合わせる。活性信号（またはコンフォートノイズ発生が用いられない信号部分）については、ある範囲（たとえば「ｔａｒｇｅｔＭｉｎ」および「ｔａｒｇｅｔＭａｘ」により規定される）をターゲット遅延として使用する。ＤＴＸ中およびＤＴＸ後のスタートアップについては、２つの異なる値をターゲット遅延（たとえば「ｔａｒｇｅｔＤｔｘ」）および「ｔａｒｇｅｔＳｔａｒｔＵｐ」）として計算する。
【０１１９】
異なるターゲット遅延値がどのように計算されるかについての詳細は、たとえば図７に見ることができる。参照番号７１０および７１２で示すとおり、活性信号の範囲を割り当てる「ｔａｒｇｅｔＭｉｎ」および「ｔａｒｇｅｔＭａｘ」を短期ジッター（「ｓｈｏｒｔＴｅｒｍＪｉｔｔｅｒ」）および長期ジッター（「ｌｏｎｇＴｅｒｍＪｉｔｔｅｒ」）に基づいて計算する。ＤＴＸ（「ｔａｒｇｅｔＤｔｘ」）中のターゲット遅延の計算を参照番号７１４で示し、かつスタートアップ（たとえばＤＴＸ後）（「ｔａｒｇｅｔＳｔａｒｔＵｐ」）についてのターゲット遅延値の計算は、参照番号７１６で示す。
【０１２０】
＜プレイアウト遅延推定＞
以下では、プレイアウト遅延推定器４８０により行われ得るプレイアウト遅延推定について説明する。プレイアウト遅延は、前のフレームが再生される時点と、ターゲット遅延推定モジュールの履歴に現在含まれる全フレームに比べてネットワーク上での送信遅延が最低であった場合にこのフレームを受信することができたと考えられる時点との間のバッファ遅延を指定する。これは、以下の式を用いてミリ秒で計算される。
ｐｌａｙｏｕｔＤｅｌａｙ＝ｐｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ−ｌｏｎｇＴｅｒｍＦｉｆｏ＿ｇｅｔＭｉｎＯｆｆｓｅｔ（）+ｐｃｍＢｕｆｆｅｒＤｅｌａｙ；
【０１２１】
ミリ秒の現在のシステム時間およびミリ秒に変換されたフレームのＲＴＰタイムスタンプを用いて、デジッターバッファモジュール４３０から受信フレームがポップするたびに可変の「ｐｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ」”を再計算する。
ｐｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ＝ｓｙｓＴｉｍｅ−ｒｔｐＴｉｍｅｓｔａｍｐ
【０１２２】
フレームが入手可能でない場合、「ｐｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ」が期限切れになることを回避するため、フレームベースの時間スケーリングの場合には、変数を更新する。フレームベースの時間伸張の場合には、「ｐｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ」をフレームの持続時間だけ増分させ、フレームベースの時間収縮については、「ＰｒｅｖＰｌａｙｏｕｔＯｆｆｓｅｔ」をフレームの持続時間だけ減分する。可変の「ｐｃｍＢｕｆｆｅｒＤｅｌａｙ」は、ＰＣＭバッファモジュールにおいてバッファされる持続時間を記述する。
【０１２３】
＜制御論理＞
以下では、制御（制御論理４９０等）について詳細に説明する。ただし、図８による制御論理８００は、ジッターバッファ制御１００に関して説明した特徴および機能性のいずれかにより補完でき、かつ逆も同様である点に注目されたい。また、制御論理８００は、図４による制御論理４９０の場所を占めるかもしれないが、追加の特徴および機能性を任意に含んでもよい点に注目されたい。また、図４に関連して上に記載した特徴および機能性のすべてが、図８による制御論理８００内にも存在している必要はなく、その逆もまた同様である。
【０１２４】
図８は、ハードウェアでも当然実現され得る制御論理８００のフローチャートを示す。
【０１２５】
制御論理８００は、復号化のためフレームを引き出すステップ８１０を含む。言い換えれば、復号化のためにフレームが選択され、かつ以下では、この復号化をどのように実行すべきかを決定する。チェック８１４では、前のフレーム（たとえばステップ８１０における復号化のために引き出されたフレームに先行する前のフレーム）が、活性であったかどうかをチェックする。チェック８１４において、前のフレームが不活性であったことがわかると、第１の判断路（分岐）８２０を選んで、これを、不活性信号を適応させるために使用する。対照的に、チェック８１４において、前のフレームが活性であるとわかった場合には、第２の判断路（分岐）８３０を選択し、これは、活性信号を適応させるために使用される。第１の判断路８２０は、ステップ８４０で「ギャップ」の値を決定するステップを含み、ここでギャップ値は、プレイアウト遅延とターゲット遅延との間の差を記述する。また、第１の判断路８２０は、ギャップ値に基づいて実行されるべき時間スケーリング演算に関する判断８５０を含む。第２の判断路８３０は、実際のプレイアウト遅延がターゲット遅延間隔の範囲内にあるかどうかに依拠する時間スケーリングを選択するステップ８６０を含む。
【０１２６】
以下では、第１の判断路８２０と第２の判断路８３０に関する追加の詳細について説明する。
【０１２７】
第１の判断路８２０のステップ８４０において、次のフレームが活性かどうかのチェック８４２を実行する。たとえば、チェック８４２は、ステップ８１０において復号化のために引き出されたフレームが活性かどうかをチェックし得る。代替的には、チェック８４２は、ステップ８１０において復号化のために引き出されたフレームに追随するフレームが活性かどうかをチェックし得る。チェック８４２において、次のフレームが活性でないかまたは次のフレームが依然として入手可能でないとわかった場合には、「ターゲット遅延推定」のセクションで上記に説明したとおり、実際のプレイアウト遅延（可変の「ｐｌａｙｏｕｔＤｅｌａｙ」により規定される）とＤＴＸターゲット遅延（可変の「ｔａｒｇｅｔＤｔｘ」により表される）との差として、ステップ８４４において可変の「ギャップ」が設定される。対照的に、チェック８４０において、次のフレームが活性であると分かった場合、ステップ８４６で、可変の「ギャップ」がプレイアウト遅延（可変の「ｐｌａｙｏｕｔＤｅｌａｙ」により表される）とスタートアップターゲット遅延（可変「ｔａｒｇｅｔＳｔａｒｔＵｐ」により表される）との差に設定される。
【０１２８】
ステップ８５０では、まず、可変「ギャップ」の大きさが、閾値より大きいか（または等しいか）をチェックする。これは、チェック８５２において行われる。可変の「ギャップ」の大きさが、閾値より小さい（または等しい）とわかった場合、時間スケーリングは、行われない。対照的に、チェック８５２において、可変「ギャップ」の大きさが閾値より大きい（または実装に応じて閾値に等しい）とわかった場合、スケーリングが必要であると判断される。他のチェック８５４では、可変「ギャップ」の値が正であるか負であるか（すなわち、可変「ギャップ」がゼロより大きいか否か）がチェックされる。可変の「ギャップ」の値がゼロより大きくない（すなわち負）場合、フレームがデジッターバッファに挿入され（ステップ８５６においてフレームベースの時間伸張）、それにより、フレームベースの時間スケーリングが行われる。たとえば、これは、フレームベースのスケーリング情報４３４によりシグナリングされ得る。対照的に、チェック８５４において、可変「ギャップ」の値がゼロより大きい、すなわち正とわかった場合、フレームがデジッターバッファから落とされ（ステップ８５６におけるフレームベースの時間収縮）、それにより、フレームベースの時間スケーリングが行われる。これは、フレームベースのスケーリング情報４３４を用いてシグナリングされ得る。
【０１２９】
以下では、第２の判断ブランチ８６０について説明する。チェック８６２では、プレイアウト遅延が、たとえば、可変の「ｔａｒｇｅｔＭａｘ」によって記述される最大ターゲット値（すなわち、ターゲット間隔の上限）より大きいか（または等しいか）をチェックする。プレイアウト遅延が最大ターゲット値より大きいか（または等しい）とわかった場合、時間収縮が時間スケーラ４５０により行われ（ステップ８６６、ＴＳＭを用いるサンプルベースの時間収縮）、それによりサンプルベースの時間スケーリングが行われる。これは、たとえばサンプルベースのスケーリング情報４４４によりシグナリングされ得る。これは、たとえば、サンプルベースのスケーリング情報４４４によってシグナリングされ得る。しかしながら、チェック８６２において、プアレイアウト遅延が、最大ターゲット遅延より小さい（または等しい）とわかると、チェック８６４が行われ、プレイアウト遅延が、たとえば、可変の「ｔａｒｇｅｔＭｉｎ」により記述される最小ターゲット遅延より小さいか（または等しいか）がチェックされる。プレイアウト遅延が最小ターゲット遅延より小さい（または等しい）とわかった場合、時間スケーラ４５０により時間伸張が行われ（ステップ８６６、ＴＳＭを用いるサンプルベースの時間伸張）、それによりサンプルベースの時間スケーリングが行われる。これは、たとえば、サンプルベースのスケーリング情報４４４によりシグナリングされ得る。しかしながら、チェック８６４で、プレイアウト遅延が最小ターゲット遅延より小さくなく（または等しくない）とわかった場合は、時間スケーリングは、行われない。
【０１３０】
結論として、図８に示す制御論理モジュール（ジッターバッファ管理制御論理とも称する）は、実際の遅延（プレイアウト遅延）と所望の遅延（ターゲット遅延）と比較する。有意味な差がある場合には、時間スケーリングをトリガする。コンフォートノイズの間（たとえば、ＳＩＤフラグが活性の場合）、フレームベースの時間スケーリングがトリガされ、デジッターバッファモジュールにより実行される。活性の期間の間、サンプルベースの時間スケーリングがトリガされ、ＴＳＭモジュールにより実行される。
【０１３１】
図１２は、ターゲットよびプレイアウト遅延推定の例を示す。グラフ１２００の横軸１２１０が時間を示し、グラフ１２００の縦軸１２１２がミリ秒で遅延を示す。「ｔａｒｇｅｔＭｉｎ」および「ｔａｒｇｅｔＭａｘ」の系列が、ウィンドウ化されたネットワークジッターに続くターゲット遅延推定モジュールにより所望される遅延の範囲を作り出す。プレイアウト遅延「ｐｌａｙｏｕｔＤｅｌａｙ」は、典型的には、この範囲内にとどまるが、適応は、信号適応的時間スケール変更のために、わずかに遅れるかもしれない。。
【０１３２】
図１３は、図１２のトレースで実行される時間スケーリング演算を示す。グラフ１３００の横軸１３１０は、時間を秒で示し、縦軸１３１２は、時間スケーリングをミリ秒で示す。正の値は、グラフ１３００における時間伸張を示し、負の値は、時間収縮を示す。バーストの間、両方のバッファとも一度空になり、１つの封じ込められたフレームが伸張のために挿入される（３５秒で＋２０ミリ秒）。すべての他の適応については、信号適応的なアプローチのために、可変スケールが得られる、より高品質のサンプルベースの時間スケーリング法を使用できる。
【０１３３】
結論として、ターゲット遅延は、特定のウィンドウにわたってジッターの増大に応答して（かつジッターの減少にも応答して）動的に適応される。ターゲット遅延が増大または減少する場合、典型的には、時間スケーリングが行われ、時間スケーリングのタイプに関する判断は、信号適応的に行われる。現在のフレーム（または前のフレーム）が活性であることを前提として、サンプルベースの時間スケーリングを行い、サンプルベースの時間スケーリングの実際の遅延は、アーチファクトを低減するために信号適応的に適応される。したがって、サンプルベースの時間スケーリングが適用される場合には、典型的には、固定量の時間スケーリングは存在しない。しかしながら、ジッターバッファが空の場合、「例外的な取り扱いとして」、前のフレーム（または現在のフレーム）が活性であっても、封じ込めフレーム（フレームベースの時間スケーリングを構成する）を挿入することが必要である（または推奨される）。
【０１３４】
＜図９による時間スケール変更＞
以下では、時間スケール変更に関する詳細について、図９を参照して説明する。なお、同じ時間スケーリング変更については、時間スケール変更が、５．４．３のセクションにおいて簡単に説明された。しかしながら、たとえば、時間スケーラ１５０により実行され得る時間スケーリング変更については、以下により詳細に説明する。
【０１３５】
図９は、本発明の実施形態による品質制御を伴う修正されたＷＳＯＬＡのフローチャートを示す。なお、図９による時間スケーリング９００は、図２による時間スケーラ２００に関して説明した特徴および機能性のいずれかにより補完することが可能で、その逆も同様である。また、図９による時間スケーリング９００は、図３によるサンプルベースの時間スケーラ３４０に相当し、かつ図４による時間スケーラ４５０に相当する。また、図９による時間スケーリング９００は、サンプルベースの時間スケーリング８６６に代わり得る。
【０１３６】
時間スケーリング（または時間スケーラまたは時間スケーラ変更器）９００は、復号された（オーディオ）サンプル９１０を、たとえばパルスコード変調（ＰＣＭ）形式で受信する。復号化サンプル９１０は、復号化サンプル４４２、オーディオサンプル３３２または入力オーディオ信号２１０に相当し得る。また、時間スケーラ９００は、たとえばサンプルベースの時間スケーリング情報４４４に相当し得る制御情報９１２を受信する。制御情報９１２は、たとえばターゲットスケールおよび／または最小フレームサイズ（たとえばＰＣＭバッファ４６０へ供給されるべきオーディオサンプル４４８のフレームの最小サンプル数）を記述する。時間スケーラ９００は、スイッチ（または選択）９２０を含み、時間収縮を実行すべきか、時間伸張を実行すべきか、または時間スケーリングを行うべきでないかについて、ターゲットスケールに関する情報に基づいて判断する。たとえば、切り替え（またはチェックまたは選択）９２０は、制御論理４９０から受信するサンプルベースの時間スケーリング情報４４４に基づき得る。
【０１３７】
ターゲットスケール情報に基づいて、スケーリングをすべきでないとわかると、受信した復号化サンプル９１０は、タイムスケーラ９００の出力として変更されない形式で転送される。たとえば、復号化サンプル９１０は、変更されない形式で、「時間スケーリングされた」サンプル４４８としてＰＣＭバッファ４６０へ転送される。
【０１３８】
以下では、時間収縮を実行することになるケースについての処理フローを説明する（ターゲットスケール情報９１２に基づいてチェック９２０により見つけることができる）。時間収縮が望ましい場合には、エネルギ計算９３０が行われる。このエネルギ計算９３０においては、サンプルのブロック（たとえば所与の数のサンプルを含むフレーム）のエネルギを計算する。エネルギ計算９３０に続いて、選択（または切り替えまたはチェック）９３６を実行する。エネルギ計算９３０により得られるエネルギ値９３２が、エネルギ閾値（たとえばエネルギ閾値Ｙ等）より大きい（または等しい）とわかると、サンブルベースの時間スケーリング内の時間スケーリングの量の信号適応的決定を含む第１の処理経路９４０が選択される。対照的に、エネルギ計算９３０により得られるエネルギ値９３２が、閾値（たとえばエネルギ閾値Ｙ等）より小さい（または等しい）とわかると、第２の処理経路９６０を選択し、固定量の時間シフトがサンプルベースの時間スケーリングにおいて適用される。第１の処理経路９４０においては、時間シフトの量は、信号適応的に決定され、類似度推定９４２が、オーディオサンプルに基づいて行われる。類似度推定９４２は、最小フレームサイズ情報９４４を考慮し、かつ最高の類似度についての（または最高の類似度の位置についての）情報９４６を供給し得る。言い換えれば、類似度推定９４２は、どの位置（たとえばサンプルのブロック内のサンプルのどの位置）が時間収縮重畳加算演算に最も適しているかを決定し得る。最高の類似度に関する情報９４６は、最高類似度に関する情報９４６を用いる重畳加算演算により、品質閾値Ｘ（一定または可変）を超える（または等しい）オーディオ品質がもたらされるかどうかを計算または推定する品質制御９５０へ転送される。品質制御９５０によって、重畳加算の（または等価的には重畳加算により得られる入力オーディオ信号の時間スケーリングされたバージョンの）品質が品質閾値Ｘを下回る（または等しくなる）と考えられることがわかると、時間スケーリングを省略し、スケーリングされていないオーディオサンプルが時間スケーラ９００により出力される。対照的に、品質制御９５０により、最高類似度に関する（または最高類似度の位置に関する）情報９４６を用いる重畳加算演算の品質が品質閾値Ｘ以上になると考えられることがわかると、重畳加算演算９５４が実行され、重畳加算演算において適用されるシフトが、最高類似度に関する（または最高類似度の位置に関する）情報９４６により記述される。したがって、オーディオサンプルのスケーリングされたブロック（またはフレーム）が、重畳加算演算により提供される。
【０１３９】
時間スケーリングされたオーディオサンプル９５６のブロック（またはフレーム）は、たとえば時間スケーリングされたサンプル４４８に相当し得る。同様に、品質制御９５０が、入手できる品質が、品質閾値Ｘ以下になると考えられると判断した場合に供給される、スケーリングされていないオーディオサンプル９５２のブロック（またはフレーム）も、「時間スケーリングされた」サンプル４４８に相当し得る（この場合、実際には、時間スケーリングは行われない）。
【０１４０】
対照的に、選択９３６において、入力オーディオサンプル９１０のブロック（またはフレーム）のエネルギがエネルギ閾値Ｙ未満（または等しい）とわかると、重畳加算演算９６２が行われ、重畳加算演算において使用されるシフトは、最小フレームサイズ（最小フレームサイズ情報により記述される）により規定され、かつスケーリングされたオーディオサンプル９６４のブロック（またはフレーム）が得られ、これは、時間スケーリングされたサンプル４４８に相当し得る。
【０１４１】
また、時間伸張の場合に行われる処理は、修正された類似度推定と重畳加算とを伴う時間収縮において行われる処理と類似する点に注目されたい。
【０１４２】
結果として、時間収縮または時間伸張が選択される場合、信号適応的なサンプルベースの時間スケーリングにおいて、３つの異なるケースが区別される点に注目されたい。入力オーディオサンプルのブロック（またはフレーム）のエネルギが、比較的小さいエネルギ（たとえばエネルギ閾値Ｙより小さい（または等しい））を含む場合、時間収縮または時間伸張重畳加算演算を固定の時間シフトで（すなわち固定量の時間収縮または時間伸張で）行う。対照的に、入力オーディオサンプルのブロック（またはフレーム）のエネルギがエネルギ閾値Ｙより大きい（または等しい）場合、「最適」（本明細書では、「候補」と称する場合も）量の時間収縮または時間伸張が、類似度推定（類似度推定９４２）により決定される。続く品質制御ステップでは、前に決定した「最適」量の時間収縮または時間伸張を用いる、このような重畳加算演算により十分な品質が得られるかどうかを決定する。十分な品質に到達できるとわかった場合、決定した「最適」量の時間収縮または時間伸張を用いて、重畳加算演算を実行する。対照的に、前に決定した「最適」量の時間収縮または時間伸張を用いる重畳加算演算を用いて、十分な品質に到達できないかもしれないとわかった場合、時間収縮または時間伸張を省略する（または後のフレーム等、時間的により後の時点まで延期する）。
【０１４３】
以下では、時間スケーラ９００により（または時間スケーラ２００、または時間スケーラ３４０、または時間スケーラ４５０により）実行され得る品質適応的時間スケーリングに関してさらに詳細に説明する。重畳加算（ＯＬＡ）を用いる時間スケーリング法は広く普及しているが、一般には、信号適応時間スケーリング結果を実行していない。本明細書に記載の時間スケーラにおいて使用できる記載の解決法においては、時間スケーリングの量は、高品質時間スケーリングについて最適と思われる類似度推定（類似度推定９４２等）により抽出される位置に依拠するのみならず、重畳加算（たとえば重畳加算９５４の）の期待される品質にも依拠する。したがって、２つの品質制御ステップが時間スケーリングモジュールにおいて（たとえば本明細書に記載の時間スケーラ９００または他の時間スケーラにおいて）導入され、時間スケーリングによって可聴アーチファクトが生じるかどうかを判断する。アーチファクトの可能性がある場合には、より可聴でなくなる時点まで時間スケーリングを延期する。
【０１４４】
第１の制御品質制御ステップは、類似尺度により（たとえば類似度推定９４２により）抽出された位置ｐを入力として用いる客観的品質尺度を計算する。周期的信号の場合には、ｐは、現在のフレームの基本周波数になる。正規化された相互相関ｃ（）を、位置ｐ、２＊ｐ、３／２＊ｐおよび１／２＊ｐについて計算する。ｃ（ｐ）は、正の値であることが予想され、ｃ（１／２＊ｐ）は、正かもしれないし負かもしれない。高調波信号については、ｃ（２ｐ）の符号も、正になるはずで、ｃ（３／２＊ｐ）の符号は、ｃ（１／２＊ｐ）の符号と同じになるはずである。この関係を用いて、客観的な品質尺度ｑを作り出すことができる。
ｑ＝ｃ（ｐ）＊ｃ（２＊ｐ）＋ｃ（３／２＊ｐ）＊ｃ（１／２＊ｐ）
【０１４５】
ｑの値の範囲は［−２；＋２］である。理想的な高調波信号では、ｑ＝２になると考えられ、一方、時間スケーリング中に可聴アーチファクトを作り出すかもしれない非常に動的でかつブロードバンドの信号の場合には、より低い値になる。時間スケーリングは、フレームごとに行われると言う事実により、ｃ（２＊ｐ）およびｃ（３／２＊ｐ）を計算するための信号全体は、依然として得られないかもしれない。しかしながら、評価は、過去のサンプルを見ることで行うこともできる。したがって、ｃ（−ｐ）を、ｃ（２＊ｐ）の代わりに使用し、かつ同様に、ｃ（−１／２＊ｐ）をｃ（３／２＊ｐ）の代わりに使用することができる。
【０１４６】
第２の品質制御ステップは、客観的品質尺度ｑの現在値を動的最小品質値ｑＭｉｎ（品質閾値Ｘに相当し得る）と比較して、時間スケーリングを現在のフレームに適用すべきかどうか決定する。
【０１４７】
動的最小品質値を設けることについては、様々な意図がある。長期にわたって、信号がスケーリングするにはよくないものとして評価されるため、ｑが低い値であれば、それでもある時点で、期待されるスケーリングがより低い期待品質で実行されることを確実にするために、ｑＭｉｎをゆっくり減少させる必要がある。他方、ｑの値が高い信号は、長期信号特性（リズム等）に関する品質を下げることが考えられる多くのフレームを続けてスケーリングすることにならないようにする必要がある。
【０１４８】
したがって、以下の式を用いて動的最小品質ｑＭｉｎ（たとえば品質閾値Ｘに等価）を計算する。
ｑＭｉｎ＝ｑＭｉｎＩｎｉｔｉａｌ−（ｎＮｏｔＳｃａｌｅｄ＊０．１）+（ｎＳｃａｌｅｄ＊０．２）
【０１４９】
ｑＭｉｎＩｎｉｔｉａｌは、値１を良い妥協とする要求される品質でフレームがスケーリングできるまで、特定の品質と遅延との間を最適化する構成値である。ｎＮｏｔＳｃａｌｅｄは、品質が不十分（ｑ＜ｑＭｉｎ）であるため、スケーリングされていないフレームのカウンタである。ｎＳｃａｌｅｄは、品質要件に到達したために（ｑ≧ｑＭｉｎ）、スケーリングされたフレームの数をカウントする。両方のカウンタの範囲は限定される。これらは、負の値まで減ることはなく、（例として）デフォルトで４になるよう設定される指定値を上回ることはない。
【０１５０】
ｑ≧ｑＭｉｎならば、現在のフレームは、位置ｐにより時間スケーリングされることになり、それ以外では、この条件が満たされる後続のフレームまで時間スケーリングを延期する。図１１の擬似コードは、時間スケーリングのための品質制御を示す。
【０１５１】
図に示すように、ｑＭｉｎの初期値を１に設定して、前記初期値が「ｑＭｉｎＩｎｉｔｉａｌ」で示される（参照番号１１１０を参照）。同様に、参照番号１１１２で示すように、ｎＳｃａｌｅｄ（「可変ｑｕａｌｉｔｙＲｉｓｅ」として示す）の最大カウンタ値は、４に初期設定される。カウンタｎＮｏｔＳｃａｌｅｄの最大値は、４に初期設定される（可変「ｑｕａｌｉｔｙＲｅｄ」）。参照番号１１１４を参照。次いで、参照番号１１１６で示すとおり、位置情報ｐを類似尺度により抽出する。次いで、品質値ｑは、参照番号１１１６で示された式に従って、位置値ｐにより記述される位置について計算される。品質閾値ｑＭｉｎは、参照番号１１１８で示すように、可変のｑＭｉｎＩｎｉｔｉａｌに依拠して、ならびにカウンタ値ｎＮｏｔＳｃａｌｅｄおよびｎＳｃａｌｅｄにも依拠して計算される。図示のとおり、品質閾値ｑＭｉｎについての初期値ｑＭｉｎＩｎｉｔｉａｌは、カウンタｎＮｏｔＳｃａｌｅｄの値に比例する値だけ減少され、値ｎＳｃａｌｅｄに比例する値だけ増加される。図示のとおり、カウンタ値ｎＮｏｔＳｃａｌｅｄおよびｎＳｃａｌｅｄの最大値が、品質閾値ｑＭｉｎの最大増分および品質閾値ｑＭｉｎの最大減分も決定する。次いで、参照番号１１２０で示すように、品質値ｑが品質閾値ｑＭｉｎ以上であるかどうかチェックが行われる。
【０１５２】
そうである場合、参照番号１１２２で示すとおり、重畳加算演算を行う。また、カウンタ変数ｎＮｏｔＳｃａｌｅｄを減少させ、前記カウンタ変数が確実に負にならないようにする。また、カウンタ変数ｎＳｃａｌｅｄを増加させ、ｎＳｃａｌｅｄが変数（または定数）ｑｕａｌｉｔｙＲｉｓｅにより規定される上限を確実に超えないようにする。カウンタ変数の適応については、参照番号１１２４および１１２６に示す。
【０１５３】
対照的に、参照番号１１２０で示す比較において、品質値ｑが、品質閾値ｑＭｉｎより小さいことがわかると、重畳加算演算の実行を省略し、カウンタ変数ｎＮｏｔＳｃａｌｅｄが変数（または定数）ｑｕａｌｉｔｙＲｅｄにより規定される閾値を超えていないことを斟酌して、カウンタ変数ｎＮｏｔＳｃａｌｅｄを増加させ、カウンタ変数ｎＳｃａｌｅｄが負にならないことを斟酌して、カウンタ変数ｎＳｃａｌｅｄを減少させる。品質が不十分な場合のカウンタ変数の適応については、参照番号１１２８および１１３０で示す。
【０１５４】
＜図１０ａおよび図１０ｂによる時間スケーラ＞
以下では、信号適応的時間スケーラについて、図１０および図１０ｂを参照して説明する。図１０および図１０ｂは、信号適応的時間スケーリングのフローチャートを示す。なお、図１０ａおよび図１０ｂに示す信号適応的時間スケーリングは、たとえば、時間スケーラ２００、時間スケーラ３４０、時間スケーラ４５０または時間スケーラ９００において適用され得る。
【０１５５】
図１０ａおよび図１０ｂによる時間スケーラ１０００は、エネルギ計算１０１０を含み、オーディオサンプルのフレーム（またはその部分またはブロック）のエネルギが計算される。たとえば、エネルギ計算１０１０は、エネルギ計算９３０に相当し得る。次いで、チェック１０１４を行い、エネルギ計算１０１０で得られたエネルギ値が、エネルギ閾値（たとえば固定のエネルギ閾値）より大きいか（または等しいか）をチェックする。チェック１０１４において、エネルギ計算１０１０において得られたエネルギ値がエネルギ閾値より小さい（または等しい）ことがわかると、重畳加算演算によって十分な品質が得られると仮定され、ステップ１０１８において、最大時間シフトで重畳加算演算が行われる（それにより最大時間スケーリングが得られる）。対照的に、チェック１０１４において、エネルギ計算１０１０において得られるエネルギ値がエネルギ閾値より小さくない（または等しくない）とわかった場合、類似尺度を用いて、サーチ領域内のテンプレートセグメントのベストマッチをサーチする。たとえば、類似尺度は、相互相関、正規化された相互相関、平均大きさ差分関数、または二乗誤差の和が可能である。以下では、このベストマッチのサーチに関するいくつかの詳細について説明し、時間伸張または時間収縮がどのように得られるかも説明する。
【０１５６】
ここで、グラフの参照番号１０４０を参照する。第１の表現１０４２は、時間ｔ１で開始し、かつ、時間ｔ２で終了するサンプルのブロック（またはフレーム）を示す。図から分かるとおり、時間ｔ１で開始し、かつ、時間ｔ２で終了するサンプルのブロックは、論理的には、時間ｔ１で開始し、時間ｔ３で終了するサンプルの第１のブロックと、時間ｔ４で開始し、時間ｔ２で終了するサンプルの第２のブロックに分けることができる。しかしながら、参照番号１０４４で示すとおり、サンプルの第２のブロックは、サンプルの第１のブロックに対して時間シフトされる。たとえば、第１の時間シフトの結果、サンプルの時間シフトされた第２のブロックは、時間ｔ４’で開始し、時間ｔ２’で終了する。したがって、サンプルの第１のブロックとサンプルの時間シフトされた第２のブロックとの間では、時間ｔ４’とｔ３’との間で、時間の重複が存在する。しかしながら、たとえば時間ｔ４’とｔ３’との間の重複領域（または時間ｔ４’とｔ３’との間の重複領域の一部内）において、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンの間には良い一致は存在しない（高い類似度がない）。言い換えれば、時間スケーラは、たとえば、参照番号１０４４に示すとおり、サンプルの第２のブロックを時間シフトさせ、時間ｔ４’とｔ３との間の重複領域（または重複領域の一部）について、類似の尺度を決定する。また、時間スケーラは、参照番号１０４６で示すように、追加の時間シフトもサンプルの第２のブロックに対して適用することが可能で、それにより、サンプルの第２のブロックの（２回）時間シフトされたバージョンは、時間ｔ４”で始まり、時間ｔ２”で終了する（ｔ２”＞ｔ２’＞ｔ２であり、同様にｔ４”＞ｔ４’＞ｔ４）。時間スケーラは、また、たとえば時間ｔ４”と時間ｔ３との間（またはたとえば時間ｔ４”とｔ３との間の一部内）で、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンとの間の類似度を表す（量的）類似度情報を決定し得る。したがって、時間スケーラは、サンプルの第２のブロックの時間シフトされたバージョンのどの時間シフトについて、サンプルの第１のブロックと重複する領域において類似度が最大化されるか（または少なくとも閾値より大きくなるか）を評価する。したがって、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとの間の類似度が最大化される（または少なくとも十分大きくなる）と言う意味での「ベストマッチ」が得られる時間シフトが決定できる。したがって、時間的に重複する領域内で（たとえば時間ｔ４”とｔ３の間で）、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンとの間に十分な類似度が存在する場合、使用された類似度の尺度により決定される信頼度で、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンを重畳し加算する重畳加算演算により実質的な可聴アーチファクトが存在しないオーディオ信号が得られると予測できる。また、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンとの間の重畳加算によって、時間ｔ１とｔ２”との間で、時間ｔ１から時間ｔ２まで延在する「オリジナルの」オーディオ信号より長い、時間的延長を有するオーディオ信号部分が得られることに注目されたい。したがって、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンを重畳加算することにより時間伸張を行うことができる。
【０１５７】
同様に、グラフの参照番号１０５０を参照しながら以下に説明するとおり、時間収縮を実行できる。参照番号１０５２で示すように、時間ｔ１１とｔ１２との間に延在するサンプルのオリジナルのブロック（またはフレーム）が存在する。サンプルのオリジナルのブロック（またはフレーム）は、たとえば、時間ｔ１１から時間ｔ１３まで延在するサンプルの第１のブロックと、時間ｔ１３から時間ｔ１２まで延在するサンプルの第２のブロックに分割されることができる。サンプルの第２のブロックは、参照番号１０５４で示すように、左に時間シフトされる。結果として、サンプルの第２のブロックの（１回）時間シフトされたバージョンは、時間ｔ１３’で開始し、時間ｔ１２’で終了する。また、時間ｔ１３’と時間ｔ１３との間で、サンプルの第１のブロックとサンプルの第２のブロックの１回時間シフトされたバージョンの間に時間的な重複が存在する。しかしながら、時間スケーラは、時間ｔ１３’と時間ｔ１３との間で（または時間ｔ１３’と時間ｔ１３との間の時間の一部について）、サンプルの第１のブロックとサンプルの第２のブロックの（１回）時間シフトされたバージョンの類似度を表す（量的）類似度情報を決定し、類似度が特に良好ではないことを見つける。さらに、時間スケーラは、参照番号１０５６に示すとおり、サンプルの第２のブロックをさらに時間シフトして、それによりサンプルの第２のブロックの２回時間シフトされたバージョンを得ることができ、これは、時間ｔ１３”で開始し、時間ｔ１２”で終了する。こうして、時間ｔ１３”とｔ１３との間で、サンプルの第１のブロックとサンプルの第２のブロックの（２回）時間シフトされたバージョンとの間に重複が存在する。時間スケーラは、時間ｔ１３”とｔ１３との間で、（量的）類似度情報が、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンとの間の高い類似度を示すことを発見するかもしれない。したがって、時間スケーラにより、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンとの間で、良好な品質で、かつ、可聴アーチファクトが低減されて、重畳加算演算が実行できると結論付けられるかもしれない（少なくとも使用される類似尺度により提供される信頼度で）。また、参照番号１０５８で示すサンプルの第２のブロックの３回時間シフトされたバージョンも考慮され得る。サンプルの第２のブロックの３回時間シフトされたバージョンは、時間ｔ１３'''で開始し、時間ｔ１２'''で終了し得る。しかしながら、時間シフトが適切でなかったため、サンプルの第２のブロックの３回時間シフトされたバージョンは、時間ｔ１３’’’とｔ１３との間の重複領域において、サンプルの第１のブロックとの良好な類似度を含んでいない可能性がある。結果として、時間スケーラは、サンプルの第２のブロックの２回時間シフトされたバージョンが、サンプルの第１のブロックとのベストマッチ（重複領域および／または重複領域の環境および／または重複領域の一部での最良の類似度）を含むことを見つけ得る。したがって、時間スケーラは、追加の品質チェック（第２のより有意味の類似尺度に依存し得る）が十分な品質を示すことを前提として、サンプルの第１のブロックとサンプルの第２のブロックの２回時間シフトされたバージョンの重畳加算を実行し得る。重畳加算演算の結果、サンプルの組み合わされたブロックが得られ、これは、時間ｔ１１から時間ｔ１２”まで延在し、時間的には、時間ｔ１１から時間ｔ１２までのサンプルのオリジナルブロックより短い。したがって、時間収縮を実行できる。
【０１５８】
なお、グラフの参照番号１０４０および１０５０を参照して記載した上記の機能性は、サーチ１０３０により実行可能で、最高の類似度の位置についての情報が、ベストマッチのサーチの結果として提供される（最高の類似度の位置を記述する情報または値は、本明細書ではｐでも示す）。それぞれの重複領域におけるサンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとの類似度は、相互相関、正規化された相互相関、平均大きさ差分関数、または二乗誤差の和を用いて決定され得る。
【０１５９】
最高の類似度の位置（ｐ）に関する情報が決定されると、最高の類似度の識別された位置（ｐ）の一致品質の計算１０６０が行われる。この計算は、たとえば図１１における参照番号１１１６で示すとおり行われ得る。言い換えれば、一致品質に関する（量的）情報（たとえばｑで示す）は、異なる時間シフト（たとえば時間シフトｐ、２＊ｐ、３／２＊ｐおよび１／２＊ｐ）について得られ得る４つの相関値の組み合せを使用して計算され得る。したがって、一致品質を表す（量的）情報（ｑ）を得ることができる。
【０１６０】
ここで、図１０ｂを参照して、チェック１０６４を実行し、一致品質を記述する量的情報ｑを品質閾値ｑＭｉｎと比較する。このチェックまたは比較１０６４は、変数ｑで表す一致品質が、可変品質閾値ｑＭｉｎより大きいか（または等しいか）を評価し得る。チェック１０６４において、一致品質が十分である（すなわち可変品質閾値以上である）ことがわかると、最も高い類似度の位置（たとえば変数ｐにより記述）を用いて重畳加算演算が適用される（ステップ１０６８）。したがって、重畳加算演算が、たとえば、サンプルの第１のブロックとサンプルの第２のブロックの時間シフトされたバージョンとの間で行われ、「ベストマッチ」が得られる（すなわち類似度情報の最高値が得られる）。詳細については、例えば、グラフ１０４０および１０５０に関する説明を参照する。重畳加算の適用については、図１１の参照番号１１２２にも示される。また、フレームカウンタの更新は、ステップ１０７２で行われる。たとえば、カウンタ変数「ｎＮｏｔＳｃａｌｅｄ」およびカウンタ変数「ｎＳｃａｌｅｄ」が、図１１を参照して、参照番号１１２４と１１２６で示すように更新される。対照的に、チェック１０６４において、一致品質が不十分である（たとえば、可変の品質閾値ｑｍｉｎより小さい（または等しい））とわかると、重畳加算演算を回避する（延期する等）。それは、参照番号１０７６で表示される。この場合、フレームカウンタも、ステップ１０８０に示すように更新される。フレームカウンタの更新は、たとえば、図１１の参照番号１１２８および１１３０に示すように行われてもよい。また、図１０ａおよび図１０ｂを参照して記載される時間スケーラは、参照番号１０８４で示す、可変品質閾値ｑＭｉｎを計算してもよい。可変品質閾値ｑＭｉｎの計算は、たとえば、図１１に参照番号１１１８で示すように行われ得る。
【０１６１】
結論として、図１０ａおよび図１０ｂを参照して、その機能性がフローチャートの形で説明された時間スケーラ１０００は、品質制御メカニズムを用いてサンプルベースの時間スケーリングを行うことができる（ステップ１０６０から１０８４）。
【０１６２】
＜図１４による方法＞
図１４は、入力オーディオコンテンツに基づいて、復号されたオーディオコンテンツの供給を制御するための方法のフローチャートを示す。図１４による方法１４００は、信号適応的に、フレームベースの時間スケーリングまたはサンプルベースの時間スケーリングを選択するステップ１４１０を含む。
【０１６３】
また、方法１４００は、たとえばジッターバッファ制御に関し、本明細書に記載の特徴および機能性のいずれかにより補うことができる点に注目されたい。
【０１６４】
＜図１５による方法＞
図１５は、入力オーディオ信号の時間スケーリングされたバージョンを提供するための方法１５００の模式ブロック図である。方法は、入力オーディオ信号の時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質を計算または推定するステップ１５１０を含む。また、方法１５００は、時間スケーリングにより入手可能な入力オーディオ信号の時間スケーリングされたバージョンの品質の計算または推定に依拠して入力オーディオ信号の時間スケーリングを実行するステップ１５２０を含む。
【０１６５】
方法１５００は、たとえば、時間スケーラに関して本明細書に記載の特徴および機能性のいずれかにより補うことができる。
【０１６６】
結論として、本発明による実施形態は、高品質の音声およびオーディオ通信のためのジッターバッファ管理方法および装置を創出する。方法および装置は、ＭＰＥＧ  ＥＬＤ、ＡＭＲ−ＷＢまたは未来のコーデック等の通信コーデックと共に使用することができる。言い換えれば、本発明による実施形態は、パケットベースの通信における到着間ジッターを補償するための方法および装置を創出する。
【０１６７】
本発明の実施形態は、たとえば「３ＧＰＰ  ＥＶＳ」と呼ばれる技術において適用することができる。
【０１６８】
以下では、本発明による実施形態のいくつかの態様について簡単に述べる。
【０１６９】
本明細書に記載のジッターバッファ管理解決法は、システムを創出し、いくつかの記載のモジュールが使用可能で、上記の態様で組み合わされる。また、本発明の態様は、モジュール自体の特徴にも関連することに注目されたい。
【０１７０】
本発明の重要な態様は、適応的ジッターバッファ管理のための時間スケーリング方法を信号適用的に選択することである。記載の解決法は、両方の方法の効果を併せ持つように、制御論理においてフレームベースの時間スケーリングおよびサンプルベースの時間スケーリングを組み合わせる。使用可能な時間スケーリングの方法は、以下のとおりである。
【０１７１】
・ＤＴＸにおけるコンフォートノイズの挿入／削除。
・低信号エネルギ（たとえば低信号エネルギのフレームについて）における相関なしの重畳加算（ＯＬＡ）。
・活性信号のためのＷＳＯＬＡ。
・空のジッターバッファの場合の伸張のため封じ込められたフレームの挿入。
【０１７２】
本明細書に記載の解決法は、フレームベースの方法（コンフォートノイズ挿入および削除、ならびに伸張のための封じ込めフレームの挿入）をサンプルベースの方法（活性信号のためのＷＳＯＬＡおよび低エネルギ信号のための非同期化重畳加算（ＯＬＡ））と組み合わせるメカニズムを記載する。図８において、本発明の実施形態による時間スケール変更のための最適な技術を選択する制御論理を示す。
【０１７３】
本明細書に記載の他の態様によれば、適応ジッターバッファ管理のために複数のターゲットを使用する。記載の解決法においては、ターゲット遅延推定に、単一のターゲットプレイアウト遅延を計算するための様々な最適化基準を採用する。これらの基準により、まず、高品質または低遅延のために最適化された様々なターゲットが得られる。
【０１７４】
ターゲットプレイアウト遅延を計算するための複数のターゲットは、以下のとおりである。
・品質：遅い損失を回避（ジッタを評価）
・遅延：遅延の制限（ジッタを評価）
【０１７５】
遅延は、制限されるが、遅い損失も回避され、さらには、ジッターバッファにおける小さい予備を維持して、デコーダのための高品質エラー封じ込めを可能にする内挿の確率を高めるように、ターゲット遅延推定を最適化することが、記載の解決法の１つの（任意の）態様である。
【０１７６】
他の（任意の）態様は、遅いフレームでＴＣＸ封じ込めを回復させることに関する。遅れて到着するフレームは、現時点では多くのジッターバッファ管理解決法により廃棄される。遅れたフレームを使用するためのメカニズムについては、ＡＣＥＬＰベースのデコーダ（非特許文献２［Ｌｅｆ０３］）に記載される。ある態様によれば、このようなメカニズムは、一般に、デコーダ状態の回復を助けるために、ＡＣＥＬＰフレーム以外のフレーム、たとえばＴＣＸのような周波数領域符号化フレームにも使用される。したがって、遅れて受信され、すでに封じ込められているフレームも、デコーダ側の回復を向上させるためにデコーダへ送られる。
【０１７７】
本発明による他の重要な態様は、上記の品質適応的時間スケーリングである。
【０１７８】
さらに、結論として、本発明による実施形態は、パケットベースの通信において、ユーザーの体験を向上させるために使用できる完全なジッターバッファ管理解決法を創出する。提示の解決法は、発明者らにとって既知の他のどのジッターバッファ管理の解決法よりも優れた性能であることがわかった。
【０１７９】
＜実装の代替例＞
いくつかの態様について、装置に関連して説明したが、これらの態様が対応する方法の説明も表すことは明らかであり、その場合、ブロックまたは装置が方法ステップまたは方法ステップの特徴に相当する。同様に、方法ステップに関連して説明した態様も、対応の装置の対応のブロックもしくはアイテムまたは特徴の説明を表す。方法ステップの一部または全部を、たとえばマイクロプロセッサ、プログラマブルコンピュータまたは電子回路等のハードウェア装置により（またはこれを使用して）実行できる。いくつかの実施形態では、最も重要な方法ステップの１以上をこのような装置により実行することができる。
【０１８０】
発明の符号化オーディオ信号は、デジタル記憶媒体上に記憶することができ、または無線送信媒体もしくはインターネット等の有線送信媒体等の送信媒体上で送信することができる。
【０１８１】
特定の実装要件に依拠して、発明の実施形態を、ハードウェアまたはソフトウェアで実装することができる。実装は、それぞれの方法が実行されるように、プログラマブルコンピュータシステムと協働する（または協働することができる）電子的に可読な制御信号を記憶した、フロッピー（登録商標）ディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリ等のデジタル記憶媒体を用いて行うことができる。
【０１８２】
本発明によるいくつかの実施形態は、本明細書に記載の方法の１つが実行されるように、プログラマブルコンピュータシステムと協働することができる、電子的に可読な制御信号を有するデータキャリアを含む。
【０１８３】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実現することが可能で、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されると、方法の１つを実行するように動作する。プログラムコードは、たとえば、機械可読なキャリア上に記憶することができる。
【０１８４】
他の実施形態は、機械可読なキャリア上に記憶される、本明細書に記載の方法の１つを実行するためのコピュータプログラムを含む。
【０１８５】
したがって、言い換えれば、本発明の方法の実施形態は、コンピュータプログラムがコンピュータ上で実行された時に、本明細書に記載の方法の１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０１８６】
したがって、本発明の方法の他の実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを記録するデータキャリア（またはデジタル記憶媒体またはコンピュータ可読媒体）である。データキャリア、デジタル記憶媒体または記録媒体は、典型的には、有形でかつ／または非一時的なものである。
【０１８７】
したがって、本発明の方法の他の実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、たとえば、インターネットを経由する等データ通信接続を経由して転送されるように構成され得る。
【０１８８】
他の実施形態は、たとえば、本明細書に記載の方法の１つを実行するよう構成または適合されたコンピュータまたはプログラマブル論理装置等の処理手段を含む。
【０１８９】
他の実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【０１９０】
本発明による他の実施形態には、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを受信機へ転送（たとえば電子的または光学的に）するよう構成される装置またはシステムを含む。受信機は、たとえばコンピュータ、携帯装置、メモリ装置等が可能である。装置またはシステムは、たとえばコンピュータプログラムを受信機へ転送するためのファイルサーバを含み得る。
【０１９１】
いくつかの実施形態において、プログラマブル論理装置（フィールドプログラマブルゲートアレイ等）を使用して、本明細書に記載の方法の機能性の一部または全部を実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイが、本明細書に記載の方法の１つを実行するために、マイクロプロセッサと協働し得る。一般に、方法は、なんらかのハードウェア装置により実行されることが好ましい。
【０１９２】
本明細書に記載の装置は、ハードウェア装置を用いて、またはコンピュータ、またはハードウェア装置とコンピュータの組み合せを使用して実行することができる。
【０１９３】
本明細書に記載の方法は、ハードウェア装置を用いて、またはコンピュータを用いて、またはハードウェア装置とコンピュータの組み合せを使用して実現することができる。
【０１９４】
上記の実施形態は、本発明の原則を説明するに過ぎない。当業者には、本明細書に記載の構成および詳細の変形例および修正例が明らかになることは当然である。したがって、特許請求の範囲によってのみ限定され、本明細書における実施形態の記載および説明により提示される特定の詳細によっては限定されないことを意図する。
【図１】
0006317436.tif 000002
【図２】
0006317436.tif 000003
【図３】
0006317436.tif 000004
【図４】
0006317436.tif 000005
【図５】
0006317436.tif 000006
【図６】
0006317436.tif 000007
【図７】
0006317436.tif 000008
【図８】
0006317436.tif 000009
【図９】
0006317436.tif 000010
【図１０Ａ−１】
0006317436.tif 000011
【図１０Ａ−２】
0006317436.tif 000012
【図１０Ｂ】
0006317436.tif 000013
【図１１】
0006317436.tif 000014
【図１２】
0006317436.tif 000015
【図１３】
0006317436.tif 000016
【図１４】
0006317436.tif 000017
【図１５】
0006317436.tif 000018