(57)【要約】  オーディオデータを前処理して時間伸縮に関連するパラメータを生成することにより、オーディオデータのリアルタイム時間伸縮に必要な処理能力を削減する。拡張オーディオデータ構造がオーディオデータおよびパラメータを含む。オーディオデータのフレームに対するパラメータは、時間伸縮のための最適マッチングブロックを識別し、またはオフセットを求めるために補間可能なオフセット対時間スケールのプロットを表すことができる。リアルタイム時間伸縮は、最適マッチングブロックの探索を実行する代わりに、パラメータが識別するブロックを使用する。パラメータは、どのフレームが無音を表し、無音を表さないフレームとは別様に伸縮され得るかを示すことも可能である。
2005512134.tif 000002
【特許請求の範囲】
【請求項１】
オーディオデータの時間伸縮に関連するパラメータを求めるために、オーディオデータを前処理すること、
デバイスに前記オーディオデータおよび前記パラメータを提供すること、
時間伸縮オーディオを生成するために、前記デバイスが前記オーディオデータを時間伸縮する際に前記パラメータを使用することであって、ここで、時間伸縮する際に前記パラメータを使用することは、前記パラメータを使用せずに前記オーディオデータを時間伸縮することよりも少ない処理能力しか必要としない、前記デバイスが前記パラメータを使用すること、
を備えるプロセス。
【請求項２】
前記デバイスは、前記オーディオデータのリアルタイム時間伸縮を実行するために、前記オーディオデータおよび前記パラメータを使用する
請求項１に記載のプロセス。
【請求項３】
前記オーディオデータおよびパラメータを提供することは、前記デバイスが読むことができる記憶媒体に前記オーディオデータおよび前記パラメータを記録すること、および前記デバイスが、前記オーディオデータおよび前記パラメータを読み出すために、該記憶媒体にアクセスすることを含む
請求項１に記載のプロセス。
【請求項４】
前記記憶媒体はディスクである
請求項３に記載のプロセス。
【請求項５】
前記オーディオデータおよび前記パラメータを提供することは、前記オーディオデータおよび前記パラメータを、ネットワークを介して前記デバイスに伝送することを含む
請求項１に記載のプロセス。
【請求項６】
前記オーディオデータは複数の入力フレームを含み、
前記パラメータは各入力フレームに対する１つまたは複数のオフセットを含み、各オフセットは、関連する入力フレームに対して、該関連する入力フレームから時間伸縮データを生成する際に使用するためのサンプルのブロックを識別する、
請求項１に記載のプロセス。
【請求項７】
前記パラメータは各入力フレームに対する複数のオフセットを含み、各入力フレームに対する該複数のオフセットは異なる時間スケールに対応する
請求項６に記載のプロセス。
【請求項８】
前記デバイスは、前記オーディオデータの前処理を実行することによって前記パラメータを求め、前記オーディオデータのリアルタイム時間伸縮中に後で使用するために前記オーディオデータおよび前記パラメータを格納する
請求項１に記載のプロセス。
【請求項９】
前記オーディオデータは複数の入力フレームを含み、
前記パラメータの１つまたは複数が前記入力フレームのそれぞれのオーディオ内容を分類する、
請求項１に記載のプロセス。
【請求項１０】
前記パラメータは、前記入力フレームのいずれが無音を表すかを識別する
請求項９に記載のプロセス。
【請求項１１】
前記デバイスが前記パラメータを使用することは、前記パラメータが示す入力フレームが無音ではない場合の該入力フレームの処理とは別様に、前記パラメータが示す入力フレームが無音を表す場合の該入力フレームの処理を行うことを含む
請求項９に記載のプロセス。
【請求項１２】
ボイスメールシステムが、前記オーディオデータの時間伸縮に関連するパラメータを求めるために、前記オーディオデータの前処理を実行する
請求項１に記載のプロセス。
【請求項１３】
前記デバイスは、前記ボイスメールシステムからオーディオデータおよび前記パラメータを受信する電話機を備える
請求項１２に記載のプロセス。
【請求項１４】
サーバが、前記オーディオデータの時間伸縮に関連するパラメータを求めるために、前記オーディオデータの前処理を実行する
請求項１に記載のプロセス。
【請求項１５】
前記デバイスは、前記サーバからオーディオデータおよび前記パラメータを受信する電話機を備える
請求項１４に記載のプロセス。
【請求項１６】
前記デバイスは、前記オーディオデータの前処理を実行することによって前記オーディオデータの時間伸縮に関連するパラメータを求め、後で使用するために該オーディオデータおよび該パラメータを格納し、リアルタイム時間伸縮を実行することによってプレーヤに時間伸縮オーディオデータを提供するサーバを備える
請求項１に記載のプロセス。
【請求項１７】
オフセットと時間スケールの間の関係を示すパラメータ付きのオーディオデータのフレームを受信すること、
選択された時間スケールに対応するオフセットを求めるために、前記パラメータを使用すること、
前記オフセットによって識別されるブロック内にあるサンプルを用いて時間伸縮フレームを生成すること、
を備えるオーディオの時間伸縮のためのプロセス。
【請求項１８】
前記パラメータは、複数の時間スケールにそれぞれ対応する複数の前処理されたオフセットを含む
請求項１７に記載のプロセス。
【請求項１９】
前記パラメータを使用することは、前記選択された時間スケールに対応する前記オフセットを求めるために、前記前処理されたオフセットの間を補間することであって、それによって、補間することを含む
請求項１８に記載のプロセス。
【請求項２０】
聴取者が前記オーディオのプレゼンテーションのために前記選択された時間スケールを選択することをさらに含む
請求項１７に記載のプロセス。
【請求項２１】
オーディオのセクションにそれぞれ対応する複数のフレームであって、各フレームはオーディオの対応するセクションの複数のサンプルを含む、複数のフレームと、
各フレームに対する１つまたは複数のパラメータであって、該パラメータは、該オーディオデータを時間伸縮するために必要な処理能力量を削減する情報を提供する、１つまたは複数のパラメータと、
を備えるオーディオデータ構造。
【請求項２２】
フレームに対する前記１つまたは複数のパラメータは、時間伸縮データを生成するために使用されるサンプルのブロックを識別する
請求項２１に記載のオーディオデータ構造。
【請求項２３】
フレームに対する各パラメータは、前記フレームから時間伸縮データを生成するために使用されるサンプルのブロックを識別する
請求項２１に記載のオーディオデータ構造。
【請求項２４】
フレームに対する１つまたは複数のパラメータが、複数の時間スケールにそれぞれ対応する複数のオフセットを含み、各オフセットは、該オフセットに対応する時間スケールに対応する時間伸縮データを生成するために使用されるサンプルのブロックを識別する
請求項２１に記載のオーディオデータ構造。
【請求項２５】
１つまたは複数のパラメータが、いずれのフレームが前記オーディオの無音セクションに対応するかを示す
請求項２１に記載のオーディオデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイム時間伸縮用パラメータ付きデジタルオーディオに関する。
【背景技術】
【０００２】
デジタルオーディオ信号の時間伸縮（すなわち時間圧縮または伸長）は、オーディオの知覚されるピッチを変えずに、記録されているオーディオ信号の再生速度を変化させる。したがって、時間伸縮機能を有するプレゼンテーションシステムを使用する聴取者は、オーディオを加速して迅速に情報を受け取ることや、オーディオを減速してゆっくりと情報を受け取ることができ、その一方で、時間伸縮はもとのオーディオのピッチを保つことにより、情報を聴取し理解することを容易にする。理想的には、時間伸縮機能を備えたプレゼンテーションシステムは、聴取者がプレゼンテーションの再生速度や時間スケールを制御することを可能にすることにより、提示されている情報の複雑さや聴取者がプレゼンテーションに向けている注意の程度に対応する速度を聴取者が選択できるようにすべきである。
【０００３】
時間伸縮システムは一般に、事前に記録されたデジタルオーディオデータから時間伸縮デジタルオーディオデータストリームへのリアルタイム変換のために大量の処理能力を要する。したがって、携帯電話のような処理能力の限られた多くのシステムは、オーディオのリアルタイム時間伸縮を実行することができず、このようなシステムは、所望の時間スケールを有する時間伸縮信号を提供するソースに頼らなければならない。また、ユーザが時間スケールを選択するには、時間伸縮オーディオのソースが選択された時間スケールの変化に即座に応答し、正しい時間スケールで時間伸縮オーディオデータを提供することができなければならない。
【０００４】
「Real-Time Control of Playback Rates in Presentations」と題する米国特許出願第０９／８４９，７１９号には、各チャネルが異なる時間スケールに対応する、時間伸縮デジタルオーディオの複数のチャネルを有するソースを通じて、再生速度のリアルタイム制御を行う方法が記載されている。このような方法によれば、所望の時間伸縮データをネットワークを通じて処理能力の低い受信機へ伝送することができる。しかし、多くの異なる時間スケールおよび関連するオーディオデータチャネルをソースにおいて持つことは、大きいデータ構造を要する。利用可能な処理能力の低いシステムにおいて、より小さいデータ構造を提供しつつ、リアルタイム時間伸縮を可能にする代替方法が求められている。
【発明の開示】
【０００５】
本発明の一態様によれば、拡張デジタルオーディオデータ構造が、オーディオを時間伸縮する処理負担を低減する時間伸縮パラメータを提供することにより、低処理能力の受信機／プレーヤが時間伸縮を実行しながら良好な音質の時間伸縮オーディオを再生することを可能にする。１つのタイプの時間伸縮パラメータは、時間伸縮プロセスで使用されるオーディオセグメントへの時間オフセットを示し、このオフセットを使用することにより、時間伸縮オーディオに対して最良の音質を提供するオーディオセグメントを探索することが不要となる。もう１つのタイプの時間伸縮パラメータは、オーディオフレームの内容を分類する（例えば、どのフレームが無音に対応するかを示す）。そして、時間伸縮プロセスは、異なるクラスのフレームを処理する時に異なる技法または時間スケールを使用することができる。他のタイプの時間伸縮パラメータは、使用される時間伸縮プロセスによって決まる。
【０００６】
拡張オーディオデータを生成するため、前処理システムが時間伸縮プロセスを使用して
時間伸縮パラメータを生成する。時間伸縮パラメータを含む拡張オーディオデータ構造は、後で使用するために記録されてもよく、または直ちにプレゼンテーションシステムへ送信されてもよい。プレゼンテーションシステムは、前処理された時間伸縮パラメータを使用することにより、時間伸縮オーディオを時間伸縮し再生する際の計算量の多い手続きを回避する。こうして、低い能力のシステムがオーディオデータのリアルタイム時間伸縮を実行し、良好な音質を提供することができる。さらに、特定の時間スケールに関連する時間伸縮パラメータは、オーディオデータと比較した場合、追加的な記憶領域や伝送帯域幅をほとんど必要としない。したがって、時間伸縮パラメータにより拡張されたオーディオデータは、利用可能メモリの限られたシステムに格納されることや、利用可能な帯域幅の限られたシステムで伝送されることが可能である。
【０００７】
本発明の一実施形態では、追加されるパラメータは、時間伸縮オーディオデータを生成する際に使用されるデータブロックに「最適マッチング」する時間オフセットを示す。一般に、最適マッチングブロックの探索が、時間伸縮プロセスで消費される処理能力のほとんどを要求する。したがって、利用可能な処理能力がリアルタイム時間伸縮に通常必要とされる処理能力より１桁以上少ないシステムが、パラメータ付き拡張オーディオデータを受信し、探索なしに最適マッチングブロックを識別し、リアルタイム時間伸縮を実行することができる。
【０００８】
本発明のもう１つの実施形態では、拡張データ構造内のパラメータは、オーディオデータのそれぞれのセクションまたはフレームのオーディオ内容を分類し、オーディオデータの非線形伸縮が、フレームのオーディオ内容に従って、異なる時間伸縮プロセスまたは時間スケールを異なるセクションに適用することができる。一特定実施形態では、拡張オーディオデータ構造内のパラメータは、無音に対応するフレームを識別するフラグを含む。オーディオデータを再生する時には、オーディオデータの所望の時間伸縮を達成するために、無音に対応するフレームを省略するか、より大胆に伸縮するか、あるいは特別処理することができる。
【０００９】
本発明の一特定実施形態は、オーディオデータを前処理することにより、オーディオデータの時間伸縮に関連するパラメータを求めることを含むプロセスである。オーディオデータおよびパラメータは、プレゼンテーションシステムが読むことができるＣＤやＤＶＤのような記憶媒体に載せてプレゼンテーションシステムに提供することができる。あるいは、プレゼンテーションシステムは、電話網、ＬＡＮ、またはインターネットのようなネットワーク経由でオーディオデータおよびパラメータを受信することができる。プレゼンテーションシステムは、オーディオデータを時間伸縮する時にパラメータを使用して、時間伸縮オーディオデータストリームを生成する。前処理された時間伸縮パラメータを用いた時間伸縮プロセスは、時間伸縮パラメータなしのオーディオデータの時間伸縮より少ない処理能力しか必要としない。したがって、低い能力のプレゼンテーションシステムがリアルタイム時間伸縮を実行することができる。
【００１０】
通常、オーディオデータはオーディオサンプルを含む入力フレームを有し、パラメータはサンプルのブロックへのオフセットを含む。一般に、各オフセットは、入力フレームから時間伸縮オーディオデータを生成する際に使用するためのサンプルのブロックを識別する。各フレームごとに複数のオフセットを決定することができる。その場合、１つのフレームに対する各オフセットは異なる時間スケールに対応する。
【００１１】
本発明のもう１つの実施形態は、オフセット対時間スケールのプロットを示すパラメータ付きのオーディオデータのフレームを受信し、パラメータを使用してプロット上にある選択された時間スケールに対応するオフセットを求め、オフセットによって識別されるブロック内のサンプルを用いて時間伸縮フレームを生成することを含むオーディオ時間伸縮
プロセスである。パラメータは、プロット上にある異なる時間スケールにそれぞれ対応する所定オフセットであってもよい。ユーザが、オフセットが提供されている時間スケールの１つではない時間スケールを選択した場合には、所定オフセット間でプロットを補間して、選択された時間スケールに対応するオフセットを求めることができる。
【００１２】
本発明のさらにもう１つの実施形態は、拡張オーディオデータ構造である。拡張オーディオデータ構造は、オーディオの異なるセクションに対応するフレームと、そのフレームに関連する１つまたは複数のパラメータとを含む。各フレームは、オーディオの対応するセクションのサンプルを含み、パラメータは、オーディオデータの時間伸縮を単純化する情報を提供する。具体的には、フレームに対する「オフセット」パラメータが、時間伸縮データを生成するために使用されるサンプルのブロックを識別することができる。各オーディオフレームは、異なる時間スケールにそれぞれ対応する複数のオフセットを有してもよく、１つのフレームに対する各オフセットは、そのオフセットに関連する時間スケールでフレームを時間伸縮する際にフレームと結合されるサンプルのブロックを識別する。
【００１３】
低処理能力のプレーヤが上記の時間伸縮プロセスおよび拡張オーディオデータ構造を使用してリアルタイム時間伸縮を実行することができるが、サーバのような高い能力の処理システムもまた、時間伸縮データのリアルタイム作成のために時間伸縮プロセスおよび拡張オーディオデータ構造を使用することができる。その場合、サーバは、オーディオデータのために限られた伝送帯域幅を有するシステムにおいて、時間伸縮データのみをプレーヤに提供することができる。
【００１４】
異なる図中での同一参照符号の使用は類似または同一の項目を示す。
【発明を実施するための最良の形態】
【００１５】
［実施形態］
本発明の一態様によれば、拡張オーディオデータ構造がデジタルオーディオデータおよびパラメータを含み、それにより、デジタルオーディオデータに対する時間伸縮を実行するのに必要な処理能力を削減する。
【００１６】
図１は、入力フレームＩＦ１〜ＩＦＸに分割されたデジタルオーディオデータ１００を示している。例示的な一実施形態では、各入力フレームはサウンド信号のサンプルを一定数ｍ個含み、標準再生速度で再生するためには一定時間Ｔを要する。特に、各入力フレームに対応する時間Ｔは、フレーム内のサンプル数ｍを、再生動作のサンプリング周波数で割ったものに等しい。
【００１７】
以下でさらに説明するような時間伸縮プロセスが、デジタルオーディオデータ１００および入力フレームＩＦ１〜ＩＦＸを、出力時間伸縮フレームＯＦ１〜ＯＦＸを有する時間伸縮デジタルオーディオデータ１１０に変換する。出力フレーム当たりのサンプル数ｎは、入力フレーム当たりのサンプル数ｍを時間スケールＳで割ったものに等しい。したがって、時間スケールＳが２に等しい場合、各出力フレームＯＦ１〜ＯＦＸは、それぞれの入力フレームＩＦ１〜ＩＦＸの半数のサンプルを含み、時間伸縮データ１１０を再生するのにかかる時間は、両者に対して同じサンプリング周波数を用いて入力データ１００を再生するのに要する時間の半分である。時間スケールＳが０．５に等しい場合、各出力フレームＯＦ１〜ＯＦＸは、それぞれの入力フレームＩＦ１〜ＩＦＸの２倍のサンプルを含み、時間伸縮データ１１０を再生するのにかかる時間は、両者に対して同じサンプリング周波数を用いて入力データ１００を再生するのに要する時間の２倍である。時間スケールが１より大きい場合（すなわち時間圧縮）、時間伸縮データ１００は、標準速度で再生されるオーディオデータ１００よりも単位時間当たりに伝わる情報（例えば、話し言葉、音楽等）が多い。時間伸縮は、音声および音楽の通常のオーディオ記録が含む冗長なデータを除
去することによって、この情報速度の向上を達成する。一方、時間スケールが１より小さい場合、時間伸縮は入力オーディオフレームを伸長するため、出力時間伸縮オーディフレームはより多くのサンプルを含み、情報を伝えるにはより長い時間がかかる。例えば、時間スケールが０．５の場合、時間伸縮は効果的に冗長な情報を追加し、オーディオデータを再生するには２倍の長さの時間がかかる。
【００１８】
図２は、入力オーディオデータ１００から時間伸縮オーディオデータ１１０を生成する例示的な時間伸縮プロセス２００の流れ図である。最初に、ステップ２１０で、第１入力フレームＩＦ１をバッファの先頭に格納し、フレームインデックスｉを２に初期化し、第１入力フレームに対するオフセットΔＴ１を０に設定する。バッファのサイズは時間スケールに応じて選択することができる。一般に、オーディオバッファの記憶容量は、少なくとも２ｍおよび２ｎの大きいほうである。ここで、入力フレームはｍ個のサンプルを含み、出力フレームはｎ個のサンプルを含む。以下では、データブロックサイズｇは、入力フレームサイズｍおよび出力フレームサイズｎの大きいほうに等しい（すなわち、ｇ＝ｍａｘ｛ｍ，ｎ｝）。したがって、バッファのサイズは通常、２ｇである。
【００１９】
ステップ２２０で、最後に使用されたソースデータに続く入力データから始まる入力データをバッファに充填し、バッファ内の最後に修正されたデータの直後の記憶位置からバッファに入力データを格納する。ステップ２２０の最初の実行において、入力フレームＩＦ２を含む入力データがバッファ内で入力フレームＩＦ１の直後に格納されるため、入力フレームＩＦ１およびＩＦ２からの２ｍ個のサンプルがバッファ内に連続する順序で存在する。時間スケールが１より小さい場合、バッファの初回充填２２０はさらに、フレームＩＦ２に連続して続くフレームＩＦ３からのサンプル、および場合によっては後続フレームＩＦ４...からのサンプルを格納する。
【００２０】
このようにバッファが充填されてから、ステップ２３０で、バッファの一部において、入力フレームｉに最適マッチングするｍ個のサンプルのブロックを探索する。時間圧縮の場合、ステップ２３０は、バッファの先頭からｍサンプル以下であるオフセットから始まるすべてのブロックを探索する。時間伸長の場合、ステップ２３０は、バッファの先頭からｎサンプル以下であるオフセットから始まるブロックを探索する。
【００２１】
図３に示すように、バッファ３００の先頭からのオフセットΔＴｉは、入力フレームＩＦｉに対する最適マッチングブロック３１０を一意に識別する。また、オフセットΔＴｉは、ｇ個のサンプルを含む最適マッチングブロック３２０も識別する。時間圧縮の場合（すなわち時間スケールが１より大きい場合）、ブロック３２０と３１０は同一である。時間伸長の場合（すなわち時間スケールが１より小さい場合）、ブロック３１０はブロック３２０のサブセットである。
【００２２】
ステップ２４０で、時間伸縮プロセス２００は、バッファ３００内の最適マッチングブロック３２０内のｇ個のサンプルを、フレームＩＦｉを含むソースデータのｇ個のサンプルと結合することによって、バッファ３００の内容を修正する。時間圧縮の場合、ソースデータは入力フレームＩＦｉ（最初はＩＦ２）である。時間伸長の場合、ソースデータは入力フレームＩＦｉから始まるｎ個の連続するサンプルである。
【００２３】
図４は、例示的な結合プロセス４００を示している。結合プロセス４００では、ソースデータまたは最適マッチングブロック３２０内の各サンプルは、ソースデータまたは最適マッチングブロック内のサンプルの順序に従って割り当てられた１〜ｇの値を有するサンプルインデックスｊを有する。サンプルインデックスｊのそれぞれの値に対して、結合プロセス４００は、ソースデータ内の対応するサンプルに重み関数４１０の対応する値Ｆ１（ｊ）を乗算し、最適マッチングブロック３２０内の対応するサンプルに重み関数４２０
の対応する値Ｆ２（ｊ）を乗算する。同じサンプルインデックスに対応するそれらの２つの積を加算することにより、バッファ３００内で最適マッチングブロック３１０によって前に占められていた記憶位置に格納される対応する修正サンプルを生成する。結果として、ステップ２４０は、バッファ３００内のブロック３２０を修正ブロック５１０で置き換える。
【００２４】
例示的な一実施形態では、重み関数４１０および４２０の値Ｆ１（ｊ）およびＦ２（ｊ）はサンプルインデックスｊに応じて変わり、同じサンプルインデックスに対応する２つの重み値を足し合わせると１になるようになっている（すなわち、すべてのｊ＝１〜ｇに対してＦ１（ｊ）＋Ｆ２（ｊ）＝１）。さらに、バッファ３００の先頭からオフセットΔＴｉにあるサンプル値の連続性を保つために、重み関数４２０の重みＦ２（１）は１に等しい。また、バッファ３００で修正ブロック５１０の後に格納されるサンプル値との連続性のために、重み関数４１０の重みＦ１（ｇ）は１に等しい。
【００２５】
ステップ２５０で、ｎ個のサンプルをバッファ３００の外へ左シフトすることにより出力フレームＯＦ（ｉ−１）を生成する。その後、ステップ２６０で、フレームインデックスｉをインクリメントし、判断ステップ２７０で、プロセス２００が最終入力フレームＩＦＸに到達したかどうかを判断する。まだ時間伸縮すべき入力フレームがある場合、プロセス２００はステップ２２０に戻り、修正ブロック５１０のシフトされた位置の直後に続くバッファ３００の部分に、結合ステップ２４０で使用された最終ソースデータの直後に続く入力データを充填する。ステップ２２０、２３０、２４０、および２５０を各入力フレームＩＦ２〜ＩＦＸについて繰り返し、時間伸縮フレームＯＦ１〜ＯＦ（Ｘ−１）を出力する。最終入力フレームＩＦＸの後、プロセス２００は判断ステップ２７０からステップ２８０に分岐し、最終出力フレームＯＦＸを生成する。
【００２６】
時間伸縮プロセス２００について、最適マッチングブロックを求める探索ステップ２３０が最も多くの処理能力を要する。具体的には、フレームインデックスｉのそれぞれの値に対して、図３の探索２３０は一般に、ソースデータをｇ個の候補ブロックと比較することを要し、各比較は一般に約３ｍ回の算術演算（すなわち、入力フレーム内の各サンプルについて減算、絶対値または平方算出、および累算）を要する。したがって、探索２３０は、フレーム当たり約３ｍ＊ｇ回の算術演算を要する。これに対して、図４の結合演算４００が必要とする演算は３ｍ回（すなわち、サンプルインデックスｊのそれぞれの値について２回の乗算および１回の加算）である。各入力フレームが４４０個のサンプルを含み（ｍ＝４４０）、スケールファクタＳが２である（ｎ＝２２０）ような例示的プロセスでは、探索ステップ２３０は、結合ステップ２４０に比べて約２２０倍の回数の算術演算を要する。
【００２７】
図６は、時間伸縮に必要な算術演算回数を削減する本発明の一実施形態による、時間伸縮において使用するための拡張オーディオデータ構造を生成するプロセス６００を示している。プロセス６００はステップ６１０から開始される。ステップ６１０で、一連の異なる時間スケールを用いて入力オーディオデータに対する時間伸縮を実行する。具体的には、各時間スケールについて、ステップ６１０は、時間伸縮プロセス２００のような時間伸縮プロセスを入力オーディオデータに適用する。ステップ６２０で、ステップ６１０の時間伸縮中に求められた特定のパラメータを識別し、ステップ６３０で、拡張オーディオデータ構造にパラメータを組み込む。
【００２８】
拡張オーディオデータ構造内にどのような特定のパラメータが入るかは一般に、使用される時間伸縮プロセスによって決まる。時間伸縮プロセス２００を使用する一実施形態では、時間伸縮ステップ６１０で、オフセットΔＴ（ｋ，ｉ）のセットを求める。ここでｋはスケールファクタのセット全体にわたり、ｉはフレームインデックス（ｉ＝１〜Ｘ）で
ある。各オフセットΔＴ（ｋ，ｉ）は、時間スケールインデックスｋに対応する時間伸縮プロセスにおいて入力フレームＩＦｉを含むソースデータと結合される最適マッチングブロックを識別する。ステップ６２０は、オフセットΔＴ（ｋ，ｉ）を表すパラメータを識別し、ステップ６３０は、それらのパラメータをオーディオデータ構造に組み込む。
【００２９】
一代替実施形態では、時間伸縮ステップ６１０は、オーディオデータのフレームまたはセクションのオーディオ内容を分類し、それらのオーディオ内容に応じて異なる入力オーディオフレームまたはセクションに対して異なる時間伸縮プロセスまたは時間スケールを使用する。この技法を用いると、非線形時間伸縮プロセスが、あまり重要でないデータを含むフレームをより大胆に時間伸縮する一方で、より重要な情報にはあまり時間伸縮を行わないことが可能となる。より具体的には、一実施形態では、ステップ６１０は、どのフレームが無音に対応するか（例えば、全エネルギーまたは平均エネルギーがあるしきい値より小さいフレーム）を識別し、ステップ６２０は、パラメータとして、どの入力フレームが無音に対応するかを示すフラグを識別する。他の時間伸縮プロセスは、ステップ６２０および６３０が識別して拡張データ構造に含めるパラメータで表され得る他の情報を使用する。
【００３０】
本発明の例示的な一実施形態によれば、オーディオを表す拡張データ構造は入力フレームＩＦ１〜ＩＦＸを含み、各入力フレームＩＦｉには、時間スケール値のセット全体にわたる時間スケールインデックスｋに対するオフセットΔＴ（ｋ，ｉ）を識別するパラメータが関連づけられる。図７は、時間スケールＳの関数として、特定のフレームに対するオフセットΔＴのプロット７００を示している。時間スケールが１の場合、オフセットΔＴはｍであるが、より一般的には、オフセットΔＴは時間スケールおよびオーディオデータの内容に依存する。好ましくは、フレームに関連するパラメータは、プロット７００の形状のようにかなり連続的な関係を示すことによって、任意の時間スケールＳに対して補間によりプロット７００上でオフセットΔＴを識別することができる。時間伸縮がオフセットΔＴの不正確な決定（すなわちフレームに対してプロット７００上にないオフセット）を使用する場合には、多くのユーザが音質の低下を知覚するであろう。
【００３１】
本発明の例示的実施形態では、ステップ６１０は、０．５と４．０の間で０．５刻みの各時間スケールｋについて１回ずつ、計８回の時間伸縮演算を実行し、各入力フレームについてオーディオデータ構造に追加されるパラメータは、入力フレームおよび時間スケールｋに対する最適マッチングブロックを識別するオフセットΔＴ（ｋ）である。各入力フレームが４４０個のサンプルを含む場合、８個のパラメータの追加によるオーディオデータの総量の増加は約２％未満である。
【００３２】
プロセス６００は、拡張オーディオデータが時間伸縮プレゼンテーションで使用される前に実行される前処理である。したがって、プロセス６００は一般に、リアルタイムで実行される必要はない。しかし、プレゼンテーションシステムへの直接ブロードキャストのためにリアルタイム伸縮が必要な場合や望ましい場合には、能力の高い処理システムがプロセス６００をリアルタイムで実行することができる。
【００３３】
図８は、プロセス６００（図６）によって提供されるような拡張オーディオデータを使用して図２の時間伸縮プロセス２００を単純化する時間伸縮プロセス８００の流れ図である。ステップ８１０で、プレゼンテーションシステム（これは携帯電話やＰＤＡのような低処理能力のシステムであってもよい）が拡張オーディオデータにアクセスする。さまざまな方法が、拡張オーディオデータをプレゼンテーションシステムに提供することができる。例えば、拡張データは、ＣＤ、ＤＶＤ等の媒体や、プレゼンテーションシステムがアクセス可能な他の記憶デバイスに格納されてもよい。その場合、プレゼンテーションシステムは、プレゼンテーションシステムの一部である内部ドライブまたはメモリから拡張オ
ーディオデータを取り出すことができる。別法として、拡張オーディオデータは、ＬＡＮ、電話網、またはインターネットのようなネットワーク経由でプレゼンテーションシステムに直接ブロードキャストされてもよい。
【００３４】
ステップ２１０、２２０、８３０、２４０、２５０、２６０、２７０、および２８０は、プレゼンテーションシステムにおける時間伸縮動作を実行する。この時間伸縮動作は、ステップ８３０が最適マッチングブロックを求める方法において図２の時間伸縮動作とは異なる。他の点では、ステップ２１０、２２０、２４０、２５０、２６０、２７０、および２８０は図２に関して既に説明した通りである。
【００３５】
入力フレームＩＦｉに対する最適マッチングブロックを求めるため、ステップ８３０は、拡張オーディオデータ構造からのパラメータを使用して、現在選択されている時間スケールに対応するオフセットΔＴｉを求める。例えば、パラメータが、時間スケールの離散値ｋに対するオフセットΔＴ（ｋ，ｉ）であり、選択された時間スケールＳが離散値ｋのうちの１つに対応する場合、ステップ８３０は単に、入力フレームＩＦｉに対して提供されるオフセットのうちの正しいオフセットの１つにアクセスしてそれを使用する。別法として、ステップ８３０は、拡張データ内に提供されるオフセットに対応するもの以外の時間スケールに対するオフセットを求めるために、提供されたオフセット間を補間することができる。補間が必要な場合であっても、拡張オーディオデータを用いてオフセットを求めることは通常、最適マッチングブロックの探索に比べて約２桁少ない算術演算しか必要としない。
【００３６】
時間伸縮パラメータの使用は、図２および図８に示すような線形時間伸縮ならびに非線形時間伸縮に適用可能である。１つのタイプの非線形時間伸縮は、無音のセクションを除去または特別処理して、より短時間での再生のために入力オーディオを時間伸縮する。図９は、入力フレームＩＦ１、ＩＦ２等を含むオーディオ波形９００を示している。各フレームＩＦ１、ＩＦ２、...は、フレーム内の平均オーディオエネルギーＥＮＥＲＧＹとフレーム内のゼロ交差数ＺＣの比ＥＮＥＲＧＹ／ＺＣとしきい値レベルを比較することによって、無音かどうかを分類することができる。式１は、ｍ個のオーディオサンプルａjを含む１個の入力フレーム内の平均エネルギーを示す。１個のフレーム内のゼロ交差数ＺＣは、そのフレーム内のサンプルの符号変化数の計数から求めることができる。
【００３７】
【数１】
2005512134.tif 000003
【００３８】
本発明の例示的な一実施形態によれば、拡張オーディオデータ構造内のパラメータは、オーディオのどのフレームが無音に対応するかを示す。例えば、各フレームは、フレームが無音に対応するかどうかを示すようにセットされる１ビットのフラグを有することができる。時間伸縮を実行しているプレゼンテーションシステムは、各フレーム内でエネルギーを計算したりゼロ交差を計数したりする必要はなく、その代わりに、リアルタイム非線形時間伸縮中に特別処理のためのフレームを選択する際にそのフラグを使用することができる。
【００３９】
上記のプロセスの一特定アプリケーションとしては、サーバ等のデバイスが電話メッセージ、ニュース、またはプレゼンテーションのような記録メッセージを格納するボイスメールシステム等の情報システムへのものがある。サーバは、時間伸縮パラメータ付き拡張
オーディオデータを作成することができる。ボイスメール等の情報を取り出す電話機等のデバイスは、取り出されるメッセージの再生速度をユーザが加減したい場合に、拡張オーディオデータを使用して、リアルタイムの高品質時間伸縮を実行することができる。
【００４０】
上記のように、時間伸縮パラメータを含む拡張データ構造の使用は、オーディオのリアルタイム時間伸縮に必要な処理能力を削減することができ、しかも拡張データ構造はもとのオーディオデータよりもわずかに大きいだけである。しかし、リアルタイム時間圧縮の場合、プレーヤは、出力フレームの再生のためのサンプリング周波数より高い速度で入力オーディオフレーム（そしてさらにパラメータ）を受信しなければならない。具体的には、時間スケールが２である場合、時間伸縮を実行しているプレーヤは、サンプリング周波数の少なくとも２倍である速度で入力オーディオデータを必要とする。拡張データ構造を受信するために必要なデータ速度は、伝送帯域幅が限られたシステムでは問題となり得る。（これに対して、オーディオのリアルタイム時間伸長の場合には、拡張オーディオデータ構造の伝送は一般に、時間伸長データの伝送より少ない帯域幅しか必要としない。）
【００４１】
図１０は、リアルタイム時間伸縮に対する帯域幅要求を削減する本発明の一実施形態によるシステム１０００を示している。システム１０００は、サーバ１０２０に接続されたクライアント１０１０を含む。本発明の代替実施形態では、クライアント１０１０は、ＬＡＮ、ＷＡＮ、インターネット、または電話網のようなネットワークを使用してサーバ１０２０に接続するコンピュータ、ＰＤＡ、または電話機であり得る。サーバ１０２０は、プレゼンテーションのオーディオ部分を表すための拡張データ構造を有する少なくとも１つのプレゼンテーションを格納するコンピュータであり得る。
【００４２】
動作において、クライアント１０１０は、サーバ１０２０への接続を求める要求１０３０を発行し、サーバ１０２０が接続を許可するのを待つ。応答１０４０において、サーバ１０２０は、クライアント１０１０が要求しているプレゼンテーションを識別し、プレゼンテーションのためのオーディオバッファを初期化し、クライアント１０１０に対して接続を許可する。
【００４３】
接続が確立された後、クライアント１０１０は、インデックスｉおよび時間スケールＳを有する特定のオーディオフレームを求める要求１０５２を発行する。サーバ１０２０は、フレームインデックスｉおよび時間スケールＳを受信し、関連する入力フレームＩＦｉおよび関連するパラメータを含むソースオーディオサンプルを拡張データ構造から取り出す。そして、サーバ１０２０は、クライアント１０１０へ送信するために出力フレームを生成する。具体的には、図８の時間伸縮プロセスの場合、サーバ１０２０は、フレームインデックスｉおよび時間スケールＳに対するオフセットΔＴｉを求め、入力フレームＩＦｉを含むソースデータを、オフセットΔＴｉが識別するバッファ内のブロックと結合する。そして、サーバ１０２０は、出力フレームをバッファ外へ左シフトし、出力フレームをクライアント１０１０へ送信してから、次の入力フレームから始まるオーディオデータを用いてバッファを再充填する。
【００４４】
クライアント１０１０は、送信された出力フレームを受信し、受信した出力フレームを再生バッファに格納し、フレームインデックスをインクリメントし、サーバ１０２０に対して次のフレームを要求する。クライアント１０１０は、サーバ１０２０が出力フレームを生成する際に使用する入力フレームやパラメータを必要としない。したがって、システム１０００がオーディオを再生するために必要とするオーディオ帯域幅は、サンプリング周波数にほぼ等しい。
【００４５】
以上、本発明は特定の実施形態を参照して説明されているが、その説明は本発明の応用の単なる一例であり、限定と解釈されてはならない。例えば、上記では、プレゼンテーシ
ョンにおけるオーディオデータを記述しているが、プレゼンテーションはさらに、画像やビデオのようなマルチメディア情報を含んでもよい。また、上記では、一定フレームサイズのオーディオデータのための特定のフォーマットを記述しているが、可変フレームサイズを用いた時間伸縮手続きもまた、本発明の代替実施形態での使用に適している。開示された実施形態の特徴のその他の種々の適応形態および組合せは、添付の請求項によって規定される本発明の範囲内に入る。
【産業上の利用可能性】
【００４６】
本発明は、時間伸縮に関連するパラメータを生成するためにオーディオデータを前処理することに適用可能であり、オーディオデータのリアルタイム時間伸縮に必要な処理能力を削減する。
【図面の簡単な説明】
【００４７】
【図１】入力オーディオデータフレームの時間伸縮から出力される時間伸縮オーディオデータフレームを示す。
【図２】時間伸縮プロセスの流れ図である。
【図３】図２の時間伸縮プロセスで使用される最適マッチングブロックを識別するオフセットを示す。
【図４】最適マッチングデータブロックを用いて時間伸縮データを生成するプロセスを示す。
【図５】図２の時間伸縮プロセスで使用されるバッファに対する出力および充填プロセスを示す。
【図６】オーディオデータのリアルタイム時間伸縮を単純化する拡張オーディオデータ構造を作成するプロセスの流れ図である。
【図７】最適マッチングブロックへのオフセットの時間スケール依存性の一例を示す。
【図８】拡張オーディオデータ構造を用いた時間伸縮プロセスの流れ図である。
【図９】非線形時間伸縮プロセスが除去または特別処理することができる無音の期間を含むサウンドの波形を示す。
【図１０】サーバが拡張オーディオデータ構造を使用することにより、サーバがプレーヤへ送信する時間伸縮オーディオデータを作成するシステムのブロック図である。
【図１】
2005512134.tif 000004
【図２】
2005512134.tif 000005
【図３】
2005512134.tif 000006
【図４】
2005512134.tif 000007
【図５】
2005512134.tif 000008
【図６】
2005512134.tif 000009
【図７】
2005512134.tif 000010
【図８】
2005512134.tif 000011
【図９】
2005512134.tif 000012
【図１０】
2005512134.tif 000013
【国際調査報告】
2005512134.tif 000014
2005512134.tif 000015
2005512134.tif 000016