(57)【要約】本発明は、マルチメディアアプリケーションＡのセットを再生する方法に関する。それぞれのマルチメディアアプリケーションは、タスクのリストＴＴＤを含んでいる。かかる方法は、ターゲット時間を提供するために、開始時間で共通のスケジューラＳＣＨを作成するステップ、該タスクを該スケジューラに記録するステップ、該ターゲット時間の機能として該タスクの実行を制御するステップを含むことを特徴とする。また、本方法は、タスクに優先レベルを割当てるステップを含んでおり、該スケジューラは、該ターゲット時間及び該優先レベルの機能として該タスクの実行を制御するために適合される。かかる方法は、該スケジューラにより与えられるターゲット時間と、該タスクに関連するタイミング情報とからタスクについてのローカル時間を計算するステップをさらに含んでいる。かかるメカニズムにより、それぞれのタスクは、自身の時間参照を有することになり、アプリケーション全体の正しい動作を保証することができ、スケジュールの全体的な観念を保持することができる。
2004507172.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがタスクのリストを含むマルチメディアアプリケーションのセットを再生する方法であって、
ターゲット時間を提供するために、開始時間で共通のスケジューラを作成するステップと、
前記共通のスケジューラに前記タスクを登録するステップと、
前記ターゲット時間の機能として前記タスクの実行を制御するステップと、
を備える方法。
【請求項２】
前記スケジューラにより提供される前記ターゲット時間と、該タスクに関連するタイミング情報とからタスクについてのローカル時間を計算するステップをさらに備える、
ことを特徴とする請求項１記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項３】
前記計算するステップは、
前記タスクの開始時間と前記スケジューラの開始時間の間の差からタスクに関連する開始時間オフセットを決定するサブステップと、
前記ターゲット時間と前記開始時間オフセットの間の差から前記ローカル時間を計算するサブステップとを備える、
ことを特徴とする請求項２記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項４】
前記タスクは、外部ソースから到来するマルチメディアアプリケーションに含められ、前記計算するサブステップは、
前記スケジューラの開始時間と前記外部のマルチメディアアプリケーションの開始時間の間の差から、前記外部のマルチメディアアプリケーションの外部時間オフセットを決定するサブステップと、
前記ターゲット時間と前記外部時間オフセットとの和から前記ローカル時間を計算するサブステップとを備える、
ことを特徴とする請求項２記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項５】
前記タスクは、時間制限されたデータストリームに適用され、前記計算するステップは、
前記データストリームの期間を決定するサブステップと、
前記データストリームが終了するたびに、カウンタをインクリメントするサブステップと、
前記ターゲット時間と、前記期間と前記カウンタとの積との差から前記ローカル時間を計算するサブステップとをさらに備える、
ことを特徴とする請求項２記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項６】
優先レベルをタスクに割当てるステップをさらに備え、
前記スケジューラは、前記ターゲット時間と前記優先レベルとの機能として、前記タスクの実行を制御するために適合される、
ことを特徴とする請求項１記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項７】
前記マルチメディアアプリケーションのうちの１つは、
デジタル符号化データストリームに含まれているオーディオストリームを復号化して、前記復号化により与えられる前記復号化されたオーディオフレームをレンダリングするためのオーディオ復号化及びレンダリングのタスクと、
前記デジタル符号化データストリームに含まれているビデオストリームを復号化して、復号化されたビデオフレームをビデオバッファに供給するための少なくとも１つのタスクと、
前記ビデオバッファに記憶されている前記復号化されたビデオフレームをレンダリングするためのタスクと、
を含むオーディオビジュアルアプリケーションであり、
別のアプリケーションは、オーディオ及びビデオフレームをオーディオ−ビデオ再生システムに再生するためのタスクを含むブラウザであり、
前記タスクは、それらの優先レベルに従い列挙され、最優先レベルは、前記オーディオ復号化及びレンダリングタスクに与えられている、
ことを特徴とする請求項６記載のマルチメディアアプリケーションのセットを再生する方法。
【請求項８】
セットトップボックス向けのコンピュータプログラムプロダクトであって、前記セットトップボックスにロードされたときに、前記セットトップボックスに請求項１乃至７のいずれか記載の方法を実行させるための命令のセットを含むコンピュータプログラムプロダクト。
【請求項９】
コンピュータ向けのコンピュータプログラムプロダクトであって、前記コンピュータにロードされたときに、前記コンピュータに請求項１乃至７のいずれか記載の方法を実行させるための命令のセットを含むコンピュータプログラムプロダクト。
【発明の詳細な説明】
【０００１】
［発明の分野］
本発明は、マルチメディアアプリケーションのセットを再生する方法に関する。
かかる方法は、たとえば、インターネットタイプの配信システムを通した、ＭＰＥＧオーディオデータ及びビデオデータへのアクセスを提供するブラウザを介するコンピュータにおいて使用される場合がある。
【０００２】
［発明の背景］
オーディオ−ビデオプレーヤは、オーディオ−ビジュアル表現を生成するためにオーディオストリーム及びビデオストリームを復号化するコンピュータで実行されるプログラムである。図１は、従来技術によるオーディオ及びビデオフレームを再生する方法のブロック図である。かかる方法は、ＭＰＥＧ−４データを再生するものであり、ＭＰＥＧ−４符号化データストリーム（ＩＳ）をオーディオストリーム（ＡＳ）及び幾つかのビデオストリーム（ＶＳ１−ＶＳｎ）に分離するための分離ステップ（ＤＥＭＵＸ）を含んでいる。かかる方法は、以下の３つの主要なタスクを含んでいる。
【０００３】
かかる方法は、第１に、オーディオ復号化及びレンダリングタスク（ＤＲ）を含んでいる。このタスクは、オーディオストリーム（ＡＳ）を復号化し、復号化オーディオサンプルをサウンドシステムハードウェアに提供することにより、サウンドレンダリングシステムを駆動する。サウンドシステムハードウェアは、これらのデジタルオーディオサンプルをアナログサウンド信号（ＳＯ）に変換し、該信号（ＳＯ）は、ラウドスピーカ（ＬＳ）に送出される。
【０００４】
また、かかる方法は、ビデオ復号化タスク（ＤＥＣ）を含んでいる。このタスクは、少なくとも１つのビデオストリーム（ＶＳ）を復号化し、復号化ビデオフレームをビデオフレームバッファ（ＢＵＦ）に記憶する。
【０００５】
最後に、かかる方法は、ビデオレンダリングタスク（ＲＥＮ）を含んでいる。このタスクは、ビデオフレームバッファから復号化ビデオフレーム（ＶＦ）を取り出し、ビデオシーン（ＳＣ）を構成するために、復号化ビデオフレームに対応する画素をビデオシステムハードウェアに供給する。また、ビデオレンダリングステップは、モニタ（ＭＯＮ）を駆動するために必要である全てのビデオフレーム変換を実行する。
【０００６】
欧州特許出願第０８１７１０３号は、インターネットタイプの配信システムのマルチメディアコンテンツデータへのアクセスを提供するための方法及びシステムを記載している。かかる方法により、上記によるマルチメディアデータを再生することができ、ウェブブラウザを使用して、オーディオビデオプレイバックは個別の制御線で実行される。
【０００７】
［発明の概要］
本発明の目的は、マルチメディアアプリケーションのセットを再生する方法を提供することにある。本方法により、オーディオフレーム及びビデオフレームの良好な同期及びリアルタイム再生が可能となる。本発明は、以下の態様を考慮している。
【０００８】
従来技術による方法では、それぞれのマルチメディアアプリケーションは、それ自身のスケジューラを含んでおり、該スケジューラをそれ自身のスレッドで実行していた。したがって、アプリケーション固有の全てのタスクが同期し、アプリケーション全体が必ずしも同期しない。ウェブブラウザにおけるマルチメディアプレーヤの統合の例では、それぞれのアプリケーションは、それ自身のスケジューラを有しており、マルチメディアプレーヤは、復号化して、ブラウザが表示するよりも速く、直ぐに見ることが出来るフレームをブラウザに与えることができる。しかし、ブラウザが１秒当り１０フレームのみしか表示することが出来ない場合、１秒当り２５のビデオ系列のフレームを復号化する必要は存在しない。同様に、以下ＣＰＵと呼ばれる中央処理ユニットが１秒当り１０フレーム以上の復号化を扱うことが出来ない場合、マルチメディアプレーヤは、１秒当り２５フレームでレンダリングする必要がない。
【０００９】
従来技術の制限を克服するために、本発明によるマルチメディアアプリケーションのセットを再生する方法は、以下のステップを含んでいることを特徴としている。
ターゲット時間を提供するために、開始時間で共通のスケジューラを作成するステップ。
共通のスケジューラに該タスクを記録するステップ。
該ターゲット時間の機能として、該タスクの実行を制御するステップ。
【００１０】
オペレーティングカーネルで実現されるような広範なスケジュール方法とは対照的に、上記共通のスケジューラの使用により、全体のアプリケーションは、リアルタイム再生の間に同期されたままにすることができる。
【００１１】
さらに、本発明によるマルチメディアセットを再生する方法は、スケジューラにより与えられるターゲット時間、及びかかるタスクに関連するタイミング情報とからタスクについてのローカル時間を計算するステップをさらに含んでいること特徴とする。
かかる方法は、全体のアプリケーションの正しい動作を保証する。このために、３つの特定の実施の形態が提案される。
【００１２】
第１実施の形態では、マルチメディアアプリケーションのセットを再生する方法は、上記計算するステップが、タスクの開始時間とスケジューラの開始時間の間の差からタスクに関連する開始時間オフセットを決定するサブステップと、ターゲット時間と開始時間オフセットの間の差からローカル時間を計算するサブステップとを含んでいることを特徴としている。
【００１３】
たとえば、ビデオ系列が再生されているとき、ビデオ符号化タスクは、正しいフレームを復号化するためにターゲット時間を知る必要がない。しかし、ターゲットタスクは、ターゲット時間に対応するフレームを復号化しようとはじめに試み、ターゲット時間がゼロ秒でないために、この復号化に成功しない。これは、本発明の方法がこのタスクについてのローカル時間を計算しているためであり、これにより、共通のスケジューラという文脈で適切なビデオ復号化を保証することができる。
【００１４】
第２実施の形態では、マルチメディアアプリケーションのセットの再生の方法は、タスクが外部ソースから到来するマルチメディアアプリケーションに含まれており、上記計算するステップは、スケジューラ開始時間と外部マルチメディアアプリケーションの間の差から外部マルチメディアアプリケーションの外部時間オフセットを決定するサブステップと、ターゲット時間と外部時間オフセットの和からローカル時間を決定するステップとを含んでいることを特徴としている。結果的に、本方法により、デジタル符号化データストリームは、ローカル記憶から読み出すことができるか、或いはブロードキャスト又はネットワークから受信することができる。
【００１５】
第３の実施の形態では、マルチメディアのセットを再生する方法は、タスクが時間制限されたデータストリームに適用され、上記計算するステップが、データストリームの期間を決定するサブステップと、データストリームが終了するたびにカウンタをインクリメントするサブステップと、ターゲット時間と、該期間とカウンタとの積との間の差からローカル時間を決定するサブステップとを含んでいることを特徴としている。結果的に、ローカル時間は、ゼロからデータストリームの期間まで変化し、本方法は、かかるデータストリームをループすることができる。
本発明のこれら及び他の態様は、以下に記載される実施の形態を参照して明らかとなるであろう。
【００１６】
［発明の実施の形態］
本発明は、添付図面を参照して、例示を介して記載される。
本発明は、マルチメディアアプリケーションのセットを再生する方法に関している。好適な実施の形態では、主要なアプリケーションは、マルチメディアプレーヤ（Ａ２）である少なくとも第２のアプリケーションに統合されるＶＲＭＬブラウザ（Ａ１）であり、全体のアプリケーションは、正確なタスクスケジューリングについて、広範且つ使い易いメカニズムを提供している。
【００１７】
図２は、全体のアプリケーションのブロック図を示しており、オーディオ及びビデオ信号（ＳＯ，ＳＣ）をオーディオ−ビジュアル再生システム（ＬＳ，ＭＯＮ）に供給するために、デジタル符号化データストリーム（ＩＳ）を処理するものである。
【００１８】
好適な実施の形態では、マルチメディアプレーヤは、ＭＰＥＧ−４プレーヤであり、デジタル符号化データストリームをオーディオストリーム（ＡＳ）と幾つかのビデオストリーム（ＶＳ１−ＶＳｎ）に分離するためのデマルチプレクサ（ＤＥＭＵＸ）を特に備えている。
【００１９】
ＭＰＥＧ−４プレーヤは、以下のタスクを備えている。
オーディオストリームを復号化し（ＡＤＥＣ）、該復号化により提供される復号化されたオーディオフレーム（ＡＦ）をフィルタリングし（ＦＩＬ）、該オーディオフレームをレンダリングするためのオーディオ復号化及びレンダリング（ＤＲ）に関する第１タイプのタスク（ＴＴＤ１）。
ビデオストリームを復号化し（ＤＥＣ）、ビデオオブジェクトを提供する第２タイプのタスク（ＴＴＤ２）。該ビデオオブジェクトの復号化されたビデオフレーム（ＶＦ１−ＶＦｎ）は、ビデオバッファ（ＢＵＦ１−ＢＵＦｎ）に記憶されており、ビデオ復号化タスクは、それぞれのビデオストリームに関連している。　ビデオバッファに記憶されている復号化されたビデオフレームをレンダリング及び表示する（ＲＥＮ）ことに関する第３タイプのタスク（ＴＴＤ３）。
【００２０】
ＶＲＭＬブラウザは、スクリーンへのオーディオ及びビデオフレームの更新及び再生（ＤＩＳ）に関する第４タイプのタスク（ＴＴＤ４）を備えている。このタスクは、第３のタスクにより提供されるオーディオ及びビデオフレームを受信し、それらを２次元のオブジェクトにレンダリング及び表示し、次いで、２次元のオブジェクトを３次元のオブジェクトにマッピングすることからなる。
なお、ビデオ系列を再生するＶＲＭＬノードであるＭｏｖｉｅ Ｔｅｘｔｕｒｅ ｎｏｄｅが存在するのと同じＭＰＥＧ−４プレーヤが存在する。
【００２１】
最後に、全体のアプリケーションは、前のタスクを記録し、ターゲット時間をかかるタスクに割当て、ターゲット時間の機能として該タスクの実行を制御するスケジューラを備える。
【００２２】
特に、スケジューラは、タスクを記録することができるソフトウェアモジュールとして定義される。タスクが一旦記録されると、スケジューラは、かかるタスクが正しい時間で実行されることを保証する。スケジューラは、スケジュール手記で始動される。たとえば、１秒当り２５フレームのビデオ系列では、周期は４０ミリ秒である。スケジューラは、タスクに関してループを管理する。スケジューラは記録されたタスクのリストにおけるそれぞれのタスクを次々と実行する。タスクは、その実行ルーチンをコールすることにより実行される。
【００２３】
スケジューラの主要な役割は、ターゲット時間を保持することである。ターゲット時間は、システムクロックを使用してスケジューラにより計算される。たとえば、ビデオ系列が１２：４５：３３で開始された場合、メディア時間は再生の２２秒後の２２秒であり、１２：４５：５５であるシステムクロックから計算される。スケジューラは、その時間で実行されるビデオ及びオーディオ復号化が２２秒のメディア時間を有するデジタル復号化データストリームにおけるデータに対応することを保証する。
【００２４】
スケジューラの狙いは、プレーヤが余りに速く実行せずに、ブラウザ及び他のタスク及びプログラムに馴染んでいることを確認することである。このために、スケジューラは、その実行の間に経過した有効時間をそれぞれのループの最後で計算し、該有効時間とスケジューリング周期とを比較する。このループの実行がスケジューリング周期よりも少ない時間を要する場合、スケジューラは、その時間差の間にオペレーティングシステムにスリープをコールする。
【００２５】
これにより、第１に、プレーヤが余りに速すぎないこと、第２に、プレーヤが他のタスク又はアプリケーションに馴染んでいることが効果的に保証される。これは、オペレーティングイステムへのスリープコールは、オペレーティングシステムのカーネルが他のタスク及びアプリケーションのスワッピングとなる。
【００２６】
スケジューラの別の狙いは、プレーヤが余りに遅くないことを確認することである。このために、スケジューラは、それぞれのタスク実行ルーチンにターゲット時間を割当てる。次いで、それぞれのタスクは、その時間に何を行えばよいかが分かる。
【００２７】
従来技術では、それぞれのビデオ系列は、それ自身のスケジューラを有しており、それ自身のスレッドにおいてスケジューラを実行している。デコーダは、復号化されたビデオフレームをレンダリング及び表示タスクに与える。かかるタスクは、ＭＰＥＧ−４シーンを再構成して、Ｄｉｒｅｃｔ Ｄｒａｗ ｓｕｒｆａｃｅと呼ばれる直ぐに見ることができるフレームに該ＭＰＥＧ−４シーンを配置する。
【００２８】
ブラウザが２つの異なるビデオ系列を２つの異なる時間で開始することができる本出願では、上記内容は該当しない。この場合、ビデオレンダリング及び表現タスクは、Ｄｉｒｅｃｔ Ｄｒａｗ ｓｕｒｆａｃｅを与えるのみである。ブラウザのレンダリングタスクは、３次元のオブジェクトへのマッピングを実行する。
【００２９】
本発明によるマルチメディアアプリケーションのセットの再生方法は、共通のスケジューラを共有する。いずれか他の初期化の前に、１秒当り２５フレームのビデオ系列に対応する４０ミリ秒で空のスケジューラが作成される。次いで、ＶＲＭＬブラウザのメインループに対応するタスクが作成され、タスクのスケジューラリストに挿入される。Ｍｏｖｉｅ Ｔｅｘｔｕｒｅ ｎｏｄｅに対応するＭＰＥＧ−４ビデオ系列が開始するとき、ビデオ復号化、ビデオレンダリング及びプレゼンティング、オーディオ復号化及びレンダリングタスクである要求されるタスクは、スケジューラに挿入される。
【００３０】
前のターゲット時間と新たなターゲット時間の間の差が所与の閾値よりも大きくなるとき、全体のアプリケーションが同期を回復することができるように、タスクは実行する処理量を低減する。このために、マルチメディアアプリケーションのセットを再生する方法は、タスクに優先レベルを与えるステップをさらに含んでおり、スケジューラは、ターゲット時間及び該タスクの優先レベルの機能として、タスクの実行を制御する。
【００３１】
好適な実施の形態では、４つの特定なＣＰＵスケーラビリティメカニズムが実現される。最も高い優先レベルが、オーディオ復号化及びレンダリングシステムに与えられ、次いでビデオ復号化タスクに与えられ、次いでビデオレンダリングタスクに与えられ、最終的に最も低い優先レベルがブラウザ表示更新タスクに与えられる。
プレーヤを同期し続ける第１のメカニズムは、ＣＰＵがビジー状態である時にブラウザ表示自身の更新をスキップすることである。
【００３２】
プレーヤを同期し続ける第２のメカニズムは、ＣＰＵがビジー状態である時にレンダリングフレームをスキップすることである。上記記載のスケジューラにより、以下のように実現される。ビデオレンダリングタスク（ＲＥＮ）がターゲット時間で実行コールを受信したとき、該タスクは、ビデオフレームバッファ（ＢＵＦ）をアドレス指定して、このターゲット時間に最も近いビデオフレーム（ＶＦ）を見つける。次いで、ビデオレンダリングタスクは、そのフレームのみを表示してリターンする。
【００３３】
このアルゴリズムの結果的な作用は、以下である。十分なＣＰＵサイクルが存在しない場合、１秒当たり２５フレームでのオリジナルのビデオ系列は、１秒当り１２フレームという低いフレームレートでレンダリングされる。これは、ＭＰＥＧ−４プレーヤがさもなければ十分な能力がないマシンで実行する可能にする非常に有効なメカニズムである。また、他のアプリケーションで同時に実行することも可能である。ユーザが見るのは、ＣＰＵがビジー状態にあるときビデオフレームレートが低くなることのみである。
【００３４】
第４のＣＰＵスケーラビリティメカニズムは、第１のメカニズムがリアルタイムとペースを維持するために十分ではないときに、ビデオ復号化をスキップすることからなる。しかし、ＭＰＥＧ−４ビデオ復号化、及びより一般的に、ほとんどのためのビデオ符号化スキームは、デジタル符号化データストリームにおけるいずれかの点で再開することができない。これは、符号化効率を向上するために、隣接するフレーム間の時間冗長度をビデオ符号化アルゴリズムが抽出するという事実による。これらのフレームは、予測フレーム又はＰフレームと呼ばれ、エンコーダは、現在のフレームと前のフレームの間の差を送出するのみである。その場合、前のフレームが復号化されていなければならない。
【００３５】
ビデオ標準は、それのみで復号化することができるイントラ符号化フレーム又はＩフレームと呼ばれる別の種類のフレームを正規化する。これらのフレームは、復号化を開始することができるデジタル符号化データストリームにおけるポイントであるランダムアクセスポイントである。したがって、ビデオ復号化タスク（ＤＥＣ）が復号化をスキップすることを決定したとき、ビデオ表示は、ランダムアクセスポイントに対応するターゲット時間に到達するまで、最後の画像をフリーズする。ビデオ系列は、１秒毎にＩフレームで典型的に符号化される。結果として、スケジューラは、ビデオ復号化を停止し、ビデオフレームレートの極端な低減と等価である利用可能なＣＰＵサイクルの量に依存してビデオ復号化を再開する。
【００３６】
ビデオフリーズがユーザにはむしろ混乱するものであるので、この方法は、ＣＰＵメカニズムが、プレーヤのリアルタイムとのペースの維持を助けるのを失敗したときにのみ使用される。スケジューラは、典型的にビデオフレームレートで３つの主要なタスクに関して急速にループするので、オーディオデータは、ビデオデータと同期していなければならない。
【００３７】
第４のメカニズムは、２つの前のメカニズムがリアルタイムとのペースを維持するのに十分でない場合に、オーディオ復号化をスキップすることからなる。かかるメカニズムは、沈黙を生じさせる。これは、適切なフィルタ（ＦＩＬ）が適用されて、この不自然な沈黙の開始と終了でスクラッチノイズを回避するためである。オーディオ復号化タスク（ＡＤＥＣ）は、この沈黙に対応するサウンドサンプルを効率的に生成しなければならない。
【００３８】
この場合、スケジューラ（ＳＣＨ）により与えられるターゲット時間が使用され、ＣＰＵがビジーでないときに、オーディオ及びビデオフレームの正確な同期により、通常の再生を再開することができるように、この沈黙の正確な長さを計算する。幸いなことに、オーディオ符号化アルゴリズムは、ランダムアクセスポイントの周期がビデオ符号化の周期よりも非常に小さくなっている。これは、通常数ミリ秒の範囲である。したがって、通常のオーディオ符号化は、即座に再開することができる。オーディオ符号化がビデオ符号化よりもＣＰＵの集中度が低いので、これは、コンピュータが、タイムクリティカルなタスクにより極度にビジーであるのとき、又はユーザがＣＰＵの集中度が高いアプリケーションを開始しているときにのみ典型的に起こる。
【００３９】
この新しいアプローチにより、ＶＲＭＬブラウザと少なくとも１つのＭＰＥＧ−４プレーヤの間で共有される共通のスケジューラが存在し、共通の時間スレッドが共有される。
【００４０】
マルチメディアアプリケーションのセットを再生する方法は、スケジューラにより提供されるターゲット時間と、かかるタスクに関連するタイミング情報とからタスクについてのローカル時間を計算するステップをさらに備えている。
【００４１】
映画が再生されているとき、対応するデコーダは、正しいフレームを復号化するためにターゲット時間を知る必要がある。問題は、ユーザが、ブラウザの主要部を開始した後にビデオ系列を２０秒開始させたい場合、デコーダがターゲット時間に対応するフレームを復号化しようとすることである。このターゲット時間は、２０秒であり０秒ではない。
【００４２】
この問題を解決するために、開始時間オフセットとターゲット時間との間の差からローカル時間が計算される。
ローカル時間＝ターゲット時間−開始時間オフセット
開始時間オフセットは、タスクの開始時間とスケジューラの開始時間の間の差から計算される。
開始時間オフセット＝タスクの開始時間−スケジューラの開始時間
タスクが実行されなければならないとき、その実行ルーチンについて、かかるローカル時間を計算し、それ自身の時間参照を有することになる。結果として、スケジューラにより提供されるターゲット時間は、他のタスクについて変更されない。
かかるメカニズムにより、それぞれのタスクは、再生されるビデオ系列の合致するそれ自身の時間参照を有し、スケジュールの全体的な観念をなお有する。
【００４３】
本発明による方法により、デジタル符号化データストリームをローカル記憶から読み出すことを可能にするが、ブロードキャスト又はネットワークからの受信も可能にするべきである。
このために、ネットワークから到来するＭＰＥＧ−４ファイルとＭＰＥＧ−４データストリーム（ＩＳ）の両者は、図３に示されるようなアクセスユニット（ＡＵ）のプロデューサとして考えることができる。この抽象レイヤにより、ＭＰＥＧ−４タイプのソースに関わらず、アクセスユニットを読み出して復号化するプレーヤの設計が可能となる。
【００４４】
エンコーダ側では、それぞれのアクセスユニットは、最初のタイムスタンプについてゼロで開始し、ミリ秒での時間（ｔ）に従いインクリメントされ、パケット化されるそれ自身の構成タイムスタンプ（ＣＴＳ）に与えられる。これらの構成タイムスタンプは、デコーダに時間の観念を提供し、したがって、デコーダの復号化が速すぎるか、遅すぎるかをデコーダに示す。
【００４５】
現在の構成スタンプは、デコーダクロックに合致している。残念なことに、ＣＰＵロード、ネットワーク遅延又は他の問題は、デコーダと復号化される現在のアクセスユニットの間にラグを生成する可能性がある。その場合、デコーダは、幾つかのアクセスユニットをスキップしなければならない場合がある。これは、すなわち、最新の状態にするために次にジャンプしなければならない。
【００４６】
たとえば、ＭＰＥＧ−４ウェブカムビデオサーバが、午後１２：００にネットワークのどこかで開始した場合、リアルタイムエンコーダは、０で開始する構成タイムスタンプをインクリメントして、アクセスユニットを生成する。ここで、ウェブカムクライアントを有する主要なアプリケーションが１２：００＋１０２００ミリ秒で開始した場合、プレーヤは、０に等しい構成タイムスタンプによりアクセスユニットを復号化しようとする。このことは、この例では、０から１０１８０の範囲での構成タイムスタンプを有するアクセスユニットは利用することができないので不可能である。
【００４７】
デコーダが利用可能でないアクセスユニットをサーチすることを回避するために、外部の時間オフセットがデコーダの時間ラインに追加される。かかるオフセットは、すなわち、この例では１０２００ミリ秒である、受信された最初のアクセスユニットの構成タイムスタンプに対応する。結果として、復号化の時間参照は、スケジューラにより提供されるターゲット時間に外部の時間オフセットを加えたものに等しい。
ローカル時間＝ターゲット時間＋外部の時間オフセット
共通のスケジューラの文脈では、時間ラインは、ユニークであり、全てのタスクにより共有される。スケジューラは、全体のアプリケーションについてタイムシェアリングの役割を果たし、他のいずれかの前に開始しなければならない。時間ラインは、０ミリ秒で開始し、特定のタスクに対して変化することはできない。これは、時間ラインが全ての他のタスクに作用するからである。受信された最初のアクセスユニットの構成タイムスタンプに従い、スケジューラの代わりに、タスク自身に対して時間オフセットを報告することにより、共通のスケジューラなしで同期しなければならない２つの独立なアプリケーション間の時間シフトについて、作用することができる。
【００４８】
本発明によるマルチメディアアプリケーションのセットを再生する方法は、時間制限されたデータストリームに対しても適用することができる。全体のアプリケーションの終了まで、スレッドを停止することができないときに特に有効である。これらの条件では、ビデオ復号化タスクが入力データストリームに関してループすると仮定されるときに問題が生じる。これは、スケジューラにより提供される時間、及びデータストリームのアクセスユニットが同期しなくなるためである。
【００４９】
この解決は、ＭＰＥＧ−４ビデオ復号化タスクに通過される時間を変えることからなり、スケジューラにより所有されない。データストリームの終了が到達したときに、時間がリセットされなければならない。最初に、それが起こったときに、データストリーム期間が記憶され、ゼロに初期化されているカウンタは、データストリームの終了に到達するたびにインクリメントされる。次いで、ローカル時間は、ＭＰＥＧ−４ビデオ復号化タスク内で、以下のように計算される。
ローカル時間＝ターゲット時間−（データストリーム期間×カウンタ）
ターゲット時間は、ゼロから無限大まで変化するが、ローカル時間は、ゼロからデータストリーム期間まで変化し、データストリームの終了に到達するたびにリセットされる。次いで、ＭＰＥＧ−４ビデオ符号化タスクは、データストリームに関してループすることができる。
【００５０】
あるケースでは、両タイプのオフセットを適用することができ、累積することができる。たとえば、ウェブカムサーバが１２：００で開始し、主要なアプリケーションが１２：１０で開始し、ビデオ復号化タスクが１２：１２で開始するものとする。その場合、ローカル時間は、以下のように計算することができる。
ローカル時間＝ターゲット時間−開始時間＋外部の時間オフセット
なお、本発明による方法は、かかるアプリケーションに含まれるタスクがインデックス付けされた時間データを扱うマルチメディアアプリケーションのいずれかのセットに拡張することができる。
【００５１】
本方法は、ＣＰＵサイクルの浪費を回避するためにＣＰＵの負荷を伸張に管理しなければならないように、復号化の複雑さを極端に変化することができるＭＰＥＧ−４データに対するアプリケーション向けに記載されてきた。しかし、本方法は、マルチメディアデータを提供する他の符号化手法に対しても適用することができる。
【００５２】
図２は、本発明の１つの可能な実施の形態を表現している。したがって、この図は、異なるブロックとして異なる機能を示しているが、１つのソフトウェア項目が幾つかの機能を実行する可能性を決して排除するものではない。また、ソフトウェア項目のアセンブリが１つの機能を実行する可能性を排除するものでもない。上記アプリケーション又はタスク以外にも、本発明の範囲から逸脱することなしに可能である。
【００５３】
本発明による方法は、集積回路で実現することができ、セットトップボックス又はコンピュータに統合することができる。プログラムメモリにロードされる命令のセットにより、集積回路にかかる方法を実行させる。命令のセットは、たとえばディスクのようなデータキャリアに記憶される場合がある。命令のセットは、次いでそれがその役割を実行する集積回路のプログラムメモリにロードするように、データキャリアから読み出すことができる。
【００５４】
動詞「備える」及びその派生は、特許請求の範囲に定義された以外のいずれか他のステップ及び構成要素の存在を排除するものではない。特許請求の範囲における参照符号は、請求項を限定するものとして解釈されるべきではない。
【図面の簡単な説明】
【図１】
従来技術によるマルチメディアアプリケーションのセットを再生する方法に関するブロック図である。
【図２】
本発明によるマルチメディアアプリケーションのセットの再生の方法に関するブロック図である。
【図３】
ＭＰＥＧ−４データストリームの構造を示す図である。
【国際公開パンフレット】
2004507172.tif 000003
2004507172.tif 000004
2004507172.tif 000005
2004507172.tif 000006
2004507172.tif 000007
2004507172.tif 000008
2004507172.tif 000009
2004507172.tif 000010
2004507172.tif 000011
2004507172.tif 000012
2004507172.tif 000013
2004507172.tif 000014
2004507172.tif 000015
2004507172.tif 000016
2004507172.tif 000017
2004507172.tif 000018
2004507172.tif 000019
【国際調査報告】
2004507172.tif 000020
2004507172.tif 000021
2004507172.tif 000022