(57)【特許請求の範囲】
【請求項１】
再生の乱れを減らすために、符号化されたオーディオおよびビデオの情報の組み合わされたシーケンスを復号してレンダリングするマルチメディア再生システムにおいて使うための方法であって、該方法は、
復号されたオーディオおよびビデオ情報のレンダリングを監視し、それが前記オーディオ情報のレンダリングに関してバックログになっているかどうかを判定するステップと、
前記オーディオの情報の復号および前記オーディオ情報のレンダリングに高い優先度を許可するステップと、
前記ビデオ情報が前記オーディオ情報に関してバックログになっているときには、バックログになっているビデオ・フレームのシーケンスの中で最も最近のビデオ・フレームをレンダリングするために復号されなければならない前記バックログになっているビデオ・フレームの最小の組を決定し、前記バックログになっているビデオ・フレームの最小の組を用いて最も最近のビデオ・フレームだけを復号し、前記バックログになっているビデオ・フレームのシーケンスの中の前記最も最近のビデオ・フレームだけをレンダリングし、そして前記最も最近のビデオ・フレームを復号するためには不要である前記バックログになっているビデオ・フレームのシーケンスの中の他のビデオ・フレームをすべて捨てることよって、前記ビデオのバックログを減らすステップとを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記ビデオのバックログを減らすステップが、
前記バックログになっている情報が符号化されたビデオ・フレームとオーディオ・ブロックのシーケンスとを含んでいる場合、各オーディオ・ブロックのレンダリングの直後の時点で前記システムによって格納されているバックログになっているビデオ・フレームの数を求めるステップと、
バックログになっているビデオ・フレームの前記数が規定された数を超えたときには、前記バックログになっているビデオ・フレームがキー・フレームを含んでいるかどうかを判定し、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のビデオ・フレームをレンダリングするために復号されなければならない、前記バックログになっているビデオ・フレームの最小の組を識別し、前記バックログになっているビデオ・フレームの最小の組を復号し、そして前記バックログになっているビデオ・フレームの最小の組から前記バックログになっているシーケンスの中の前記最も最近のビデオ・フレームをレンダリングする、ことによって前記バックログを消去するステップとを含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法において、前記バックログになっているビデオ・フレームのシーケンスが少なくとも１つのビデオ・キー・フレームを含むときには、前記バックログになっているビデオ・フレームの最小の組が、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のキー・フレームと、前記バックログになっているフレームのシーケンスの中の前記最も最近のキー・フレームの後に続くすべての他のバックログになっているビデオ・フレームとを含むことを特徴とする方法。
【請求項４】
請求項２に記載の方法において、前記バックログになっているビデオ・フレームのシーケンスがビデオ・キー・フレームを含んでいないときには、前記バックログになっているビデオ・フレームの最小の組がすべてのバックログになっているビデオ・フレームを含むことを特徴とする方法。
【請求項５】
請求項２に記載の方法において、前記バックログになっているビデオ・フレームのシーケンスが、再生のためにスケジュールされている時刻が、最新のレンダリングされるビデオ・フレームに対してスケジュールされている再生の時刻より早くなく、レンダリングのためにスケジュールされている次のオーディオ・フレームに対してスケジュールされている再生の時刻より遅くないビデオ・フレームを含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記スケジュールされたオーディオ再生時刻が、各オーディオ・ブロックに対するシーケンシャルなインデックス番号、オーディオ・ブロック当たりに提供される符号化されたサンプルの数、およびオーディオのサンプリング・レートの関数として決定されることを特徴とする方法。
【請求項７】
請求項５に記載の方法において、前記スケジュールされたビデオ再生時刻が、各ビデオ・フレームに対するシーケンシャルなインデックス番号とビデオ・フレーム・レートの関数として決定されることを特徴とする方法。
【請求項８】
ユーザ認識の忠実度が高いディジタルのビデオおよびオーディオの情報をシーケンシャルにレンダリングするためのマルチメディア・システムであって、該システムは、
オーディオ復号および再生のセクションと、
ビデオ復号および再生のセクションと、
ストアード・プログラム・メモリ付きのプロセッサとを含み、前記プロセッサは、
前記オーディオおよびビデオのシーケンスから選択可能な個数のオーディオ・ブロックを復号し、
各オーディオ・ブロックの前記システムによるレンダリングの完了を監視し、
各オーディオ・ブロックのレンダリングの直後の時刻において、前記システムによって格納されているバックログになっているビデオ・フレームの数を決定し、
前記バックログになっているビデオ・フレームがキー・フレームを含んでいるかどうかを判定し、
前記バックログになっているビデオ・フレームの数が指定された数を超えたときには、
前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のビデオ・フレームをレンダリングするために復号されなければならない前記バックログになっているビデオ・フレームの最小の組を識別し、前記バックログになっているビデオ・フレームの最小の組を用いて前記最も最近のビデオ・フレームのみを復号し、そして前記バックログになっているビデオ・フレームのシーケンスの中の前記最も最近のビデオ・フレームのみをレンダリングし、そして前記最も最近のビデオ・フレームを復号するためには不要である前記バックログになっているビデオ・フレームのシーケンスの中の他のビデオ・フレームをすべて捨てることによって前記バックログを消去する、ように動作可能であること特徴とするマルチメディア・システム。
【請求項９】
請求項８に記載のマルチメディア・システムおいて、前記オーディオの復号および再生のセクションが、符号化されたオーディオ・ブロックのためのバッファ、復号器、復号されたブロックのためのバッファおよびオーディオ・プレーヤを含むことを特徴とするマルチメディア・システム。
【請求項１０】
請求項８に記載のマルチメディア・システムにおいて、前記ビデオの復号および再生のセクションが、符号化されたビデオ・フレームのためのバッファと、復号器と、復号されたフレームに対するバッファと、ビデオ・プレーヤとを含むことを特徴とするマルチメディア・システム
【請求項１１】
請求項８に記載のマルチメディア・システムにおいて、前記マルチメディア・システムはマルチメディアの再生機能を有するパーソナル・コンピュータ、エンジニアリング・ワークステーションおよびディジタル信号プロセッサから構成されているグループから選択されるようになっていることを特徴とするマルチメディア・システム。
【請求項１２】
再生の乱れを減らすために、符号化されたオーディオおよびビデオの情報の組み合わされたシーケンスを復号してレンダリングするマルチメディア再生システムにおいて使うための方法であって、該方法は、
復号されたオーディオおよびビデオ情報のレンダリングを監視し、前記ビデオ情報が前記オーディオ情報に関してバックログとなっているかどうかを判定するステップと、
前記オーディオの情報の復号およびレンダリングに高い優先度を許可するステップと、
前記ビデオ情報が前記オーディオ情報に関してバックログになっているときには、前記バックログになっている情報が符号化されたビデオ・フレームとオーディオ・ブロックのシーケンスとを含んでいる場合に、各オーディオ・ブロックのレンダリングの直後の時点で前記システムによって格納されているバックログになっているビデオ・フレームの数を求め、バックログになっているビデオ・フレームの前記数がしきい値超えたときには、前記バックログになっているビデオ・フレームがキー・フレームを含んでいるかどうかを判定し、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のビデオ・フレームをレンダリングするために復号されなければならない、前記バックログになっているビデオ・フレームの最小の組を識別し、前記バックログになっているビデオ・フレームのシーケンスが少なくとも１つのビデオ・キー・フレームを含むときには、前記バックログになっているビデオ・フレームの最小の組が、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のキー・フレームと、前記バックログになっているフレームのシーケンスの中の前記最も最近のキー・フレームの後に続くすべての他のバックログになっているビデオ・フレームとを含むものであり、そして前記バックログになっているビデオ・フレームのシーケンスがビデオ・キー・フレームを含んでいないときには、前記バックログになっているビデオ・フレームの最小の組がすべてのバックログになっているビデオ・フレームを含んでおり、そして、前記バックログになっているビデオ・フレームの最小の組のみを復号し、前記バックログとなっているビデオ・フレームの最小の組を用いて前記最も最近のビデオ・フレームだけをレンダリングし、そして前記最も最近のビデオ・フレームを生成するためには不要である他のビデオ・フレームをすべて捨てることによって、前記ビデオバックログを減少させるステップとを含むことを特徴とする方法。
【請求項１３】
ユーザ認識の忠実度が高いディジタルのビデオおよびオーディオの情報をシーケンシャルにレンダリングするためのマルチメディア・システムであって、該システムは、
オーディオ復号および再生のセクションと、
ビデオ復号および再生のセクションと、
ストアード・プログラム・メモリ付きのプロセッサとを含み、前記プロセッサは、
前記オーディオおよびビデオのシーケンスから選択可能な個数のオーディオ・ブロックを復号し、
各オーディオ・ブロックの前記システムによるレンダリングの完了を監視し、
各オーディオ・ブロックのレンダリングの直後の時刻において、前記システムによって格納されているバックログになっているビデオ・フレームの数を決定し、
バックログになっているビデオ・フレームの前記数がしきい値超えたときには、前記バックログになっているビデオ・フレームがキー・フレームを含んでいるかどうかを判定し、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のビデオ・フレームをレンダリングするために復号されなければならない、前記バックログになっているビデオ・フレームの最小の組を識別し、前記バックログになっているビデオ・フレームのシーケンスが少なくとも１つのビデオ・キー・フレームを含むときには、前記バックログになっているビデオ・フレームの最小の組が、前記バックログになっているビデオ・フレームのシーケンスの中で最も最近のキー・フレームと、前記バックログになっているフレームのシーケンスの中の前記最も最近のキー・フレームの後に続くすべての他のバックログになっているビデオ・フレームとを含むものであり、そして前記バックログになっているビデオ・フレームのシーケンスがビデオ・キー・フレームを含んでいないときには、前記バックログになっているビデオ・フレームの最小の組がすべてのバックログになっているビデオ・フレームを含んでおり、そして、前記バックログとなっているビデオ・フレームの最小の組を復号し、前記バックログとなっているビデオ・フレームの最小の組を用いて前記最も最近のビデオ・フレームだけをレンダリングし、そして前記最も最近のビデオ・フレームを生成するためには不要である他のビデオ・フレームをすべて捨てることによって前記バックログを排除する、よう動作可能であることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチメディア・システムに関する。特に、本発明は、リソースが限られているか、あるいはリソースが変化している再生環境において動作しながらユーザ認識の再生性能が改善されるような、ディジタル・ビデオおよびディジタル・オーディオの情報の同期化された再生に関する。
【０００２】
【従来の技術、及び、発明が解決しようとする課題】
代表的なマルチメディアの再生の応用において、ディジタル・オーディオおよびディジタル・ビデオの信号がソースにおいて生成され、そして混合されたストリームの中、あるいは別々のストリームの中で、インターネットなどの通信ネットワーク上でインターネット・ブラウザおよびマルチメディア再生ツールが装備されているパーソナル・コンピュータなどのインテリジェント再生装置に対して配送される。
【０００３】
この分野の技術においてよく知られているように、ディジタル・オーディオ信号は、通常は、アナログ・オーディオ信号のディジタル・サンプルの順序付けられたシーケンスとして生成される。アナログ信号は固定の間隔で周期的にサンプルされ、その間隔の逆数はオーディオのサンプリング・レートとして知られている。記憶または伝送の目的のために、そのオーディオ・サンプルのシーケンスはオーディオ・ブロックとして知られているオーバラップしていないセグメントに分割されることがよくあり、各オーディオ・ブロックは所定の数のオーディオ・サンプルを含んでいる。
【０００４】
ディジタル・ビデオ信号は、通常は、ディジタル形式における静止画像のシーケンスとして捕捉され、表示される。各ビデオ画像は一般にビデオ・フレームとして知られている。単位時間当たりに捕捉されるビデオ・フレームの数はビデオ・フレーム・レートとして知られている。
【０００５】
ビデオ・フレームおよびオーディオ・ブロックをマルチメディア再生装置に対して転送する際の効率を良くするために、マルチメディアのソースは一般にこのビデオおよびオーディオの情報を符号化する。この情報はデータ・ネットワーク上で再生装置に対して送信される前に、ソースにおいて、そのパケットに対して送信されるオーディオ・ブロックおよびビデオ・フレームのそれぞれに対する適切な再生シーケンスおよび時刻を示している情報を追加して、データ・パケットの中にカプセル化される（パケット化される）ことが多い。再生装置においては、符号化された情報がパケットから抽出され、そして次に直接復号されて再生されるか、あるいは後で処理するために記憶される。ビデオまたはオーディオの再生装置による復号されたデータの再生は、普通、「レンダリング」と呼ばれている。
【０００６】
ＭＰＥＧ‐I、ＭＰＥＧ‐IIおよびＨ２６３などの標準規格に反映されているようなほとんどのビデオ符号化技法は、再生装置に対して送信されなければならないビデオ情報の量を圧縮するか、あるいは減らすためにフレーム間符号化を使用する。通常は、各ディジタル・ビデオ・フレームの中で符号化されているピクセルのうち、連続フレーム上で変化するのは一部分だけなので、送信されるビデオ情報の量は連続フレーム上で変化するピクセルだけを符号化して送信することによって大幅に削減することができる。そのような符号化技法は、通常は、現在のフレームを完全に復号するために、現在のビデオ・フレームに隣接している１つまたはそれ以上のビデオ・フレームを正常に復号するための再生装置を必要とする。隣接しているビデオ・フレームの復号が非効率的であるか、あるいは失われていた場合、ほとんどのビデオ符号化技法は、ビデオ・ストリームの中に「キー」フレームを定期的に挿入することも行い、そのキー・フレームは隣接しているフレームとは独立に復号される十分な情報を含んでいて、必要な時に圧縮されたビデオの復号・プロセスを再スタートするために使うことができる。
【０００７】
ビデオ・フレームはオーディオ・ブロックより大幅に多くのデータを必要とするので、マルチメディアのデータ・ストリームは一般に多数のビデオ・パケットの間に少数のオーディオ・パケットをランダムに散在させて含んでいる。これらの散在しているオーディオ・パケットが再生装置に到着した時、ビデオ・フレームとオーディオ・ブロックの意図された再生シーケンスにおける整合が取れない可能性がある。到着時にビデオおよびオーディオのパケットを再同期化するためにいくつかの方式が適用されている（たとえば、ローズノー（Ｒｏｓｅｎａｕ）他に対して発行された米国特許第５，５９８，３５２号（以下、ローズノーの’３５２特許と呼ぶ）を参照されたい）。
【０００８】
再生装置に到着した時にマルチメディアのデータ・ストリーム要素の再同期化が行われる場合でも、エンド・ユーザはマルチメディアの再生性能が不十分であることに気付く可能性がある。再生が始まる前に再生装置においてマルチメディアのデータを完全にストリーム化するか、さもなければシーケンスに従って格納しておくことができるが、装置の処理パワーが小さいか、他にかなりの、競合しているタスクのオーバヘッドがある場合、マルチメディアの再生を一時的に、あるいは長く継続して中断させることになるＣＰＵのバックログによって多かれ少なかれ影響される可能性がある。より安価で他の多くの同時アプリケーションにサービスすることができる再生装置に対してユーザがメーカーに期待するにつれて、再生装置の性能がマルチメディアのアプリケーションの潜在的な性能を制限し続けることになる。
【０００９】
【課題を解決するための手段】
マルチメディア再生アプリケーションのエンド・ユーザ認識性能は、処理パワーが制限されているか、あるいは大きく変化するマルチメディア再生装置における同期化されたディジタル・ビデオおよびディジタル・オーディオの情報のレンダリングのための新しい発明によって大幅に改善される。通常、ユーザはビデオ再生ストリームの場合よりもオーディオ再生ストリームにおける中断がより気になるので、マルチメディア再生装置はオーディオ・ブロックの復号およびレンダリングに対して最高の優先度を割り当てる。再生装置の処理リソースが制限されている状況下において、この優先順位付けの方式によって、ビデオの復号およびレンダリングがオーディオの復号およびレンダリングより遅れる（あるいは、関連する「バックログとなる」）ことになる可能性がある。ビデオのレンダリングのバックログが直接監視され、そしてそれが大きい場合、バックログになっているビデオ・フレームのシーケンスの中の最近の（または最新の）ビデオ・フレームだけの限定されたレンダリングを実行することによってバックログが削減される。これはそのバックログになっているビデオ・フレームのうち、最も新しいものをレンダリングするために、復号される必要があるバックログのシーケンスの中のビデオ・フレームだけを復号することによって行われる。バックログになっているフレームのうち最も新しいものを復号するために必要とされないバックログのビデオ・フレームは実質的に捨てられる。
【００１０】
バックログを知るための再生装置の処理リソースの高度な監視の必要性が回避され、そしてオーディオおよびビデオの再生ストリームに対するユーザが気付く中断が最小化されるので有利である。本発明を採用することによって、マルチメディアのアプリケーションは処理パワーが変化する各種の再生装置において効率的にレンダリングを行うことができる。さらに、与えられた再生装置において、マルチメディアのアプリケーションは他の競合しているタスクによって生じた処理リソースの一時的な損失からより良好に回復することができる。
【００１１】
【発明の実施の形態】
本発明の以下の特定の例示的実施例の記述と共に添付図面を参照することにより本発明のより完全なる理解が達せられるであろう。
首尾一貫性を保つため、そして理解し易くするために、類似しているか、あるいは等価な図のそれぞれの要素は下位の二桁の位置の識別番号が同じになっている（たとえば、図１のビデオ再生バッファ１１８は図３Ａのビデオ再生バッファ３１８と等価である）。
【００１２】
以前に注記されたように、従来の技術のマルチメディア再生システムは、通常は、ビデオおよびオーディオのデータの混在するストリームを含んでいる圧縮されて符号化されたディジタル信号を受信する。これらのシステムはこの混合されたデータ・ストリームに関して動作し、そのビデオ・フレームとオーディオ・フレームとを分離して復号し、そして次にこれらのフレームおよびブロックを適切なシーケンスで、そして適切な時刻においてレンダリングする。結果として、ビデオ画像とオーディオの出力は密接に同期して発生され、コヒーレントなマルチメディアの経験をシステム・ユーザに対して提供する。
【００１３】
そのようなシステムのための基本コンポーネントが図１に示されている（たとえば、ローズノーの’３５２特許を参照されたい）。このマルチメディア再生システム１００においては、符号化されたディジタルのオーディオ／ビデオのデータ・ストリーム１０２がシステム・復号器１０４に入力され、システム・復号器１０４はそのストリームを符号化されたビデオのデータ・ストリーム１０６と符号化されたオーディオのデータ・ストリーム１０８とに分割する。
【００１４】
ビデオ・バッファ１１０はビデオのデータ・ストリーム１０６を受け取り、そしてオーディオ・バッファ１１２はオーディオのデータ・ストリーム１０８を受け取る。ビデオ・復号器１１４はビデオ・バッファ１１０からビデオ・データを呼び出し、このデータを復号し、そのデータをビデオ・フレーム１１６にアセンブルし、そして復号された各ビデオ・フレームをビデオ再生バッファ１１８の中に入れて、ビデオ・プレーヤ１２０による再生（レンダリング）を待つ。同様に、オーディオ・復号器１２２はオーディオ・バッファ１１２からオーディオ・データを呼び出し、このデータを復号し、その復号されたデータをオーディオ・ブロック１２４の中にアセンブルし、そして復号された各オーディオ・ブロックをオーディオ再生バッファ１２６の中に入れて、オーディオ・プレーヤ１２８によるレンダリングを待つ。
【００１５】
従来の技術において各種のマルチメディアのパケット化および符号化の方式が存在する。図２ＢはそのデータをＭＰＥＧ‐Iの標準に従ってパケットの中にカプセル化する方法を示している（たとえば、ＭＰＥＧ‐Iに対するＩＳＯ／ＩＥＣ  １１１７２‐１：１９９３（Ｅ）の使用を組み込んでいるローズノーの’３５２特許を参照されたい）。本発明はＭＰＥＧ‐IIおよびＨ．２６３などの各種の異なるマルチメディア標準をサポートするために使えることを理解することができる。
【００１６】
図２において、データ・ストリーム２０２はＩＳＯ層およびパック層を組み込んでいる。ＩＳＯ層においては、終了コード２０４が配送されるまで、一連のデータ・パッケージ２０３が通信される。各パッケージはパック開始コード２０６およびパケット・データ２０８を含む。パック層においては、各パッケージ２０２はパック開始コード２０６、システム・クロック基準（ＳＣＲ）２１０、システム・ヘッダ２１２およびデータのパケット２１４を含む。これらのパケット２１４はビデオ・パケットおよびオーディオ・パケットの両方を含み、ビデオ・パケットはそのデータの性質のために、遙かに数が多い。システム・クロック基準２１０はシステム・タイムを指示し、そしてオーディオのパケットがビデオのパケットの間に散在している頻度を示しているマルチクレクサのレートの基準を提供する。
【００１７】
図２に示されているように、ビデオおよびオーディオの各パケット２１４は開始コード・プレフィックス２１６、ヘッダ・データ２１８およびペイロード・データ２２０を含む。各種の間隔においてヘッダ・データ２１８の中にタイム・スタンプ情報２２２が含まれており、それはペイロード２２０がビデオ情報を含んでいる場合はビデオ表示のタイム・スタンプ（ＶＰＴＳ）を表し、あるいはペイロード２２０がオーディオ情報を含んでいる場合はオーディオ表示のタイム・スタンプ（ＡＰＴＳ）を表すことができる。ＭＰＥＧ‐Iの標準に従って、ＶＰＴＳおよびＡＰＴＳが、関連付けられているビデオ・フレームおよびオーディオ・ブロックのそれぞれに対する適切な再生時刻を示すために提供される。
【００１８】
ＭＰＥＧ‐IおよびＭＰＥＧ‐IIおよびＨ．２６３などの標準は、ビデオおよびオーディオの信号の両方についてのディジタル符号化／復号化および圧縮／伸長を用意している。効率のために、ほとんどのビデオ符号化技法はフレーム間符号化を使ってネットワーク上で再生装置に対して送信されなければならないビデオ情報の量を圧縮または削減する。たとえば、３種類のフレームの混合されたものがＭＰＥＧ‐I標準において使われている（たとえば、ローズノーの’３５２特許を参照されたい）。「キー」フレーム（イントラ・フレームまたはＩタイプ・フレームとも呼ばれる）がそのフレーム自身についての情報だけを使って符号化される。予測またはＰタイプのフレームは過去の基準フレームから予測モデルを使って符号化されたデータを含む。双方向またはＢタイプのフレームは、過去のおよび／または未来の基準フレームから予測モデルを使って符号化されたデータを含む。予測モデルを使うことによって、データはＰタイプおよびＢタイプのフレームの両方において大幅に圧縮することができ、ビデオ・データ伝送の総合速度が改善される。
【００１９】
再生時のオーディオ・ブロックとビデオ・フレームとの同期化は再生性能のユーザ認識のために重要である。オーディオとビデオとの間の再生シーケンスの不整合が大きくなると、再生が不鮮明になる可能性がある。与えられた時間間隔においてビデオ再生シーケンスをサポートするために必要なデータの量は、オーディオの再生のために必要なデータの量より本来的に大きい。結果として、送信されるマルチメディアのデータ・ストリームの中の符号化されたビデオ・パケットの数はオーディオ・パケットの数より遙かに多い。図１の到来するマルチメディアのデータ・ストリーム１０６におけるビデオ・パケットの間のオーディオ・パケットがまばらになり過ぎている場合、ビデオ・フレーム１１６とオーディオ・ブロック１２４との不整合が生じる可能性がある。従来の技術のマルチメディア再生システムにおいては、ＶＰＴＳおよびＡＰＴＳがビデオとオーディオの再生を同期化するためにＳＣＲと組み合わせてよく使われる。たとえば、いくつかの再生システムにおいては、ＳＣＲがマルチメディアの再生装置のクロックを同期化するために使われ、それは次にビデオ・復号器１１４の中のＶＰＴＳおよびオーディオ・復号器１２２の中のＡＰＴＳと比較され、その２つの信号の同期が外れている（すなわち、１つのデータ・ストリームが必要な再生時刻に関して他より遅れてる）度合いが求められる。あるしきい値レベルにおいて、再生装置によってその遅れているデータ・ストリームの先頭にジャンプしてその信号を再同期化するためのアクションが取られる（たとえば、ローズノーの’３５２特許を参照されたい）。
【００２０】
この再同期化のプロセスによって、到来するデータ・ストリームの中の混乱が補正されるが、それはマルチメディア再生システムに対する処理リソースの利用可能性の変動のために生じ得る追加の摂動には対処しない。パワーの限られたプロセッサまたは他の大きな、そして競合しているタスクのオーバヘッドによって再生のバックログが生成される可能性があり、かなりの数のビデオ・フレームおよびオーディオ・ブロックがバッファの中に格納されたままになる可能性がある。そのようなバックログが発生すると、エンド・ユーザはそのマルチメディア再生中に瞬時的な、そしてより長く続く中断を経験する可能性がある。
【００２１】
本発明においては、マルチメディアのアプリケーションのエンド・ユーザが認識する性能が、処理パワーが制限されているか、あるいは大きく変動するマルチメディア再生装置におけるディジタルのビデオおよびディジタルのオーディオのデータ・ストリームをレンダリングするための新しい方法によって大幅に改善される。ユーザはビデオ再生ストリームよりオーディオ再生ストリームの中における中断の方がより気になるので、オーディオ・ブロックが復号およびレンダリングにおいて優先される。ビデオの再生のバックログが存在するかどうかを判定するための、単純でしかも信頼性のある方法が使われ、そしてバックログが発生している場合、そのバックログを減らし、オーディオおよびビデオの再生ストリームを同期化するための効率の良い方式が提供される。この方法の実施形態が図３Ａに示されている。
【００２２】
この実施形態においては、マルチメディア再生システムが代表的なマルチメディアＰＣであるとみなされる。図３に示されているように、プロセッサ３３０およびストアード・プログラム・メモリ３３２が、たとえば、オーディオ・復号器３２２、オーディオ・プレーヤ３２８、ビデオ・復号器３１４およびビデオ・プレーヤ３２０などの各種のシステム構成要素によって共有されている。共有されているリソースとして、プロセッサ３３０は個別の要素に対して専用されておらず、あるいは任意の特定の時刻において任意の要素に利用できることが保証されてもいない。したがって、構成要素は共有されているリソースに対して競合し、再生の中断が生じる可能性がある。
【００２３】
従来の技術のマルチメディア再生システムにおいては、そのような競合は実行されるべき復号およびレンダリングのタスクのそれぞれに対して優先度を割り当て、そして次に、これらの優先度に従ってその共有リソースの使用を割り当てることによって対策されてきた。しかし、この方法は構成要素の１つにおいて予期しない処理バックログが発生した場合の調整のための用意はない。本発明においては、図３Ａのプロセッサ３３０は、ストアード・プログラム・メモリ３３２によって指示される場合に、優先度を設定し、バックログを減らすために、復号およびレンダリングのタスクについてのいくつかの追加の制御を引き受ける。
【００２４】
より詳しく言えば、プロセッサ３３０は、メモリ３３２によって指示される場合に、オーディオ復号器３２２に、オーディオ・バッファ３１２から選択された個数Ｎの符号化されたオーディオ・ブロック３２４を呼び出し、これらのＮ個のオーディオ・ブロック３２４を復号し、そしてその後、それらをオーディオ再生バッファ３２６の中に入れるように指令する。オーディオ再生の中断を減らすために、この選択された数Ｎは少なくともそのシステムに関連付けられているオーディオ再生バッファリングの段数と同程度の大きさで、通常は、２から４までの整数であるべきであることが分かっている。復号の後、プロセッサ３３０はこれらの復号されたオーディオ・ブロックを再生するようにオーディオ・プレーヤ３２８に指令する。さらに、プロセッサ３３０は再生バッファ３２６の中に残っている復号されたブロックの数を監視し、必要に応じて再生バッファ３２６を再充填するために十分な数のオーディオ・ブロックを復号するよう、復号器３２２に指令する。
【００２５】
各オーディオ・ブロックが再生された後、プロセッサ３３０はビデオ・バッファ３１０を調べてバックログになっている符号化されたビデオ・フレーム３０６の数を知る。バックログになっている符号化されたフレームの数が指定のしきい値を超えた場合、プロセッサは次にバッファ３１０の中に滞留しているフレームのどれがビデオ・キー・フレームであるかを判定する。
【００２６】
バッファ３１０がバックログになっているビデオ・キー・フレームを含んでいた場合、プロセッサ３３０は、ビデオ復号器３１４に、そのバックログになっているシーケンスの中の最高のシーケンス番号の、したがって、そのシーケンスの中で最も最近のキー・フレーム（以下、最新のキー・フレームと呼ばれる）を復号し、同様にこのキー・フレームの後にある、したがって、バックログになっているシーケンスの中の後の方にある、バッファ３１０の中のすべての他のフレームを同様に復号するように指令する。次に、プロセッサ３３０はビデオ再生バッファ３１８の中のシーケンス番号が最高である復号されたフレームだけを入れるようにビデオ・復号器３１４に指令する。したがって、このフレームがその復号されたフレーム・シーケンスの中の最近のものであり、したがって、これ以降では最近の復号されたフレームと呼ばれる。最後にプロセッサ３３０はこの最近の復号されたフレームを再生するようにビデオ・プレーヤ３２０に指令する。結果として、最近の復号されたフレームを復号するのに必要なバックログになっているフレームだけが復号され、そしてその最近の復号されたフレームだけが再生される。他のすべてのバックログになっているフレームは実効的には捨てられる。
【００２７】
バッファ３１０の中にキー・フレームが含まれていなかった場合、プロセッサ３３０は、ビデオ復号器３１４に、ビデオ・バッファ３１０の中のすべてのバックログになっているフレームを復号し、そしてそのバックログになっているシーケンスの中で最も最近の復号されたフレームを再生バッファ３１８の中に入れるように指令する。次に、バッファ３１０の中のバックログになっている適切なビデオ・フレームが復号されると、プロセッサ３３０は最近の復号されたフレームをバッファ３１８からレンダリングのために呼び出すよう、ビデオ・プレーヤ３２０に指令する。
【００２８】
システム３００によって操作されるデータ・ストリームのための基本フォーマットが図３Ｂに示されている。このフォーマットは本発明による１つの例を提供する。各種の他のデータ・フォーマットも可能であり、本発明の範囲内に含まれる。
【００２９】
データ・ストリーム３０１はデータ・パケット３１１を含み、そして各パケットはそのパケットがオーディオのデータまたはビデオのデータのいずれを運んでいるかを示す識別子３１３および、そのオーディオおよびビデオのパケットがそれぞれパケット化されて記憶されるべき順序を設定するシーケンス番号３１５を含む。さらに、各パケット３１１はパケット・ヘッダ３１７およびデータ・ペイロード３１９を含む。データ・ストリーム３０１の全体がストリーム・ヘッダ３０３から開始される。ストリーム・ヘッダ３０３はビデオ・フレーム・レート３０５、オーディオ・サンプリング・レート３０７およびオーディオ・ブロック・サイズ３０９を含んでいる。
【００３０】
図３Ｃはバックログの状態がどのように判定されるかを示している。オーディオ・ブロック３５２を表している符号化されたデータが到着し、図３Ｃのオーディオ・バッファ３１２の中にシーケンスの順序で入れられる。シーケンスは図３Ｂに記述されているシーケンス番号３１５を使うことによって、あるいは何らかの代わりの手段によって設定することができる。図３Ｃに示されているように、オーディオのタイムライン３５４が各オーディオ・ブロックのシーケンス番号ｉに対してタイム・スタンプｔAiで設定される。ここでタイム・スタンプは、オーディオ・ブロックＡiが開始される再生のための所望の時刻を表し、そしてそれは以下の式によって計算される。
【００３１】
ｔＡi＝ｉ＊（オーディオ・ブロック当たりのデータ・サンプル数／オーディオ・サンプリング・レート）                （１）
ここで、ブロック当たりのデータ・サンプルの数３０９およびオーディオ・サンプリング・レート３０７（図３Ｂの）がデータ・ストリーム３０１のストリーム・ヘッダ３０３の中に設定されている。サンプリング・レートおよびブロック当たりのサンプル数は選択された標準によって変化する。たとえば、ＭＰＥＧ‐Iでの「ＣＤ品質」のオーディオ伝送は４４．１キロヘルツ（ｋＨｚ）のレートでサンプルされることが可能であり、そして１つのブロックの中に１０２４個のサンプルを含む。シーケンス番号またはタイム・スタンプのいずれかが関連付けられた符号化されたフレームまたはブロックと一緒に、それぞれ図３Ａのバッファ３１８、３２６の中に格納される。
【００３２】
図３Ｃのビデオ・フレーム３５６を表している符号化されたデータが到着し、そして図３Ａのビデオ・バッファ３１０の中にシーケンスの順序で入れられる。ふたたび、シーケンスは図３Ｂに記述されているシーケンス番号３１５を使うことによって、あるいは何らかの代替手段によって設定することができる。図３Ｃに示されているように、ビデオのタイムライン３５８は各ビデオ・フレームＶjに対するタイム・スタンプｔVjを伴って設定される。ここで、タイム・スタンプはビデオ・フレームＶjの再生が開始される所望の時刻を表し、そしてそれは以下の式によって計算される。
【００３３】
ｔVj＝ｊ／（ビデオ・フレーム・レート）      （２）
ここで、図３Ｂのビデオ・フレーム・レート３０５はデータ・ストリーム３０１のストリーム・ヘッダ３０３の中に含まれている。ビデオ・フレーム・レートは選択された標準および再生装置の機能に従って変化する。たとえば、高品質のビデオ・フレーム・レートは３０フレーム／秒（ｆｐｓ）で設定されることが可能である。このフレーム・レートは多くの現在のデスクトップ・マルチメディア・システムの能力を超える可能性があるので、１０〜１５ｆｐｓのフレーム・レートがより通常である。
【００３４】
図３Ｃを続けて参照すると、現在のオーディオ再生ポインタ３６０は図３Ａのオーディオ・バッファ３１２からの復号されるべき次のオーディオ・ブロックを識別し、そして現在のビデオ再生ポインタ３６２は図３Ａのビデオ・バッファ３１０からの復号されるべき次のビデオ・フレームＶpを識別する。タイム・スタンプｔＶpはＶpに対して決定され、そしてタイム・スタンプｔAmは次の復号されるべきオーディオ・フレームＡmに対して決定される。図３Ｃのビデオのバックログ３６４は以下のように構成される。
【００３５】
ビデオ・フレームＶb                        （３）
ただし、
ｂ∈（シーケンスｐ，ｑ）
ｔＶp≦ｔVb＜ｔAm
【００３６】
図３Ｃに示されているように、ビデオのバックログ３６４はＶpから始まってＶqに終わっているビデオ・フレームのシーケンスから構成されている。ビデオのバックログは図６に示されていて、以下にさらに記述されるビデオの復号およびレンダリングのプロセスを適応させるために使われる。
【００３７】
ユーザはビデオ再生ストリームの場合よりもオーディオ再生ストリームにおける中断の方がより気になるので、オーディオの復号および再生のプロセスにはビデオの復号および再生のプロセスよりも高い優先度が与えられる。図４はオーディオ・データの復号・プロセスについてのフローチャートを示している。
【００３８】
図４のステップ４０２において、図３Ａのオーディオ・復号器３２２はＮ個のオーディオ・ブロックをオーディオ・バッファ３１２から呼び出して復号する。図４のステップ４０４において、図３Ａのオーディオ・復号器３２２はこれらのＮ個の復号されたブロックをオーディオ再生バッファ３２６の中に入れ、そして図４のステップ４０６において、オーディオ・イベントの到着を待つ。オーディオ・イベントはオーディオおよびビデオの復号および再生のプロセスに対する基本クロックまたはトリガのメカニズムとして働く。
【００３９】
呼び出されるオーディオ・ブロックの数Ｎは、通常は、そのマルチメディア・システムによって設定されるシステム・パラメータであり、オーディオの再生の中断をほとんどなくすために十分に大きい必要がある。再生装置のためにデスクトップＰＣを採用している多くのマルチメディア・アプリケーションに対しては、２〜４ブロックの値の整数Ｎが有効であることが分かっている。
【００４０】
オーディオの再生プロセスを示しているフローチャートが図５に与えられ、そしてオーディオ・イベントを発生するために必要なステップを含む。図５のステップ５０２において、図３Ａのオーディオ・プレーヤ３２８は復号されたオーディオ・ブロックをオーディオ再生バッファ３２６から呼び出し、そしてこのブロックをオーディオの出力装置を介してステップ５０４において再生する。図５の判定ステップ５０６において、図３Ａのオーディオ・プレーヤ３２８はオーディオ・ブロックの再生の完了を監視し、そして完了時にオーディオ・イベントをステップ５０８において発生する。このオーディオ・イベントを発生した後、プロセッサ３３０はオーディオ再生ポインタをインクリメントし、図５のステップ５０２へ戻って次の復号されたオーディオ・ブロックを呼び出す。関連付けられたバッファの設計に合わせて、オーディオ・ブロックはそれが復号されてレンダリングされた後、オーディオ・バッファおよびオーディオ再生バッファのそれぞれから実効的に捨てられる。
【００４１】
オーディオ再生プロセスによって発生されるオーディオ・イベントは、図３Ａのオーディオ・復号器３２２によって、図４に示されている判定のステップ４０６において検出される。ステップ４０８において、図３Ａのオーディオ・復号器３２２は、オーディオの再生バッファ３２６がふたたびＮ個の復号されたオーディオ・ブロックを含むまで、追加の数の符号化されたオーディオ・ブロックをオーディオ・バッファ３１２から呼び出して復号する。次に、オーディオ・復号器３２２は図４の判定のステップ４０６へ戻って次のオーディオ・イベントの到着を待ち、その後、ふたたびステップ４０８へ移って図３Ａのオーディオ再生バッファ３２６をふたたび満たす。
【００４２】
ビデオの復号および再生のプロセスを示しているフローチャートが図６に示されている。ステップ６０２において、図３Ａのビデオ・復号器が第１のビデオ・フレームを復号し、そしてこのフレームをビデオ・プレーヤ３２０によって再生するためにビデオ再生バッファ３１８の中に格納する。図６のステップ６０４において、図３Ａのビデオ・復号器３１４は次にオーディオ・イベントの到着を待つ。オーディオ・イベントの到着を検出した後、ビデオ・復号器３１４は図６のステップ６０６へ移って図３の現在のオーディオ再生ポインタ３１０をインクリメントし、ビデオ・バックログ３１４を判定する。図６のステップ６０８において、図３Ａのビデオ・復号器３１４はそのビデオ・バックログのサイズに従って２つのアクションのうちの１つを取る。
【００４３】
そのビデオ・バックログが整数Ｍより少なかった場合、ビデオ・復号器３１４は図６のステップ６０４へ戻り、次のオーディオ・イベントの到着を待つ。ビデオ・バックログがＭに等しいか、あるいはＭより大きかった場合、ステップ６１０においてビデオ・復号器３１４はバックログになっているフレームをサーチしてビデオのキー・フレームがあるかどうかを判定する。
【００４４】
ビデオのキー・フレームが見つかった場合、図３Ａのビデオ・復号器３１４は図６のステップ６１２において最も最近のバックログになっているキー・フレームＶkを選択し（タイム・スタンプｔVkに基づいて）、最も最近のバックログになっているビデオ・フレームＶqを復号し終わるまで、そのシーケンスの中で順方向に復号を開始し、そしてこの復号された最も最近のバックログになっているフレームＶqをビデオ再生バッファ３１８の中に入れる。ビデオのキー・フレームが見つからなかった場合、図１のビデオ・復号器３１４は図６のステップ６１４においてバックログＶp〜Ｖqの中のすべてのビデオ・フレームを復号し、そしてバックログになっていた最も最近のビデオ・フレームＶqをビデオ再生バッファ３１８の中に入れる。いずれの場合においても、最も最近のバックログになっているビデオ・フレームＶqを構成するのに必要なビデオ情報だけが復号される。これらの必要なバックログになっているフレームが復号された後、図３Ａのビデオ・バッファ３１０の設計に従って、バックログになっているすべてのフレームＶp〜Ｖqがバッファ３１０から実効的に捨てられる。
【００４５】
図６のステップ６１６において、図３Ａのビデオ・プレーヤ３２０は最も最近の復号されたフレームＶqをビデオ再生バッファ３１８から呼び出し、このフレームを再生し、そして図３Ｂのビデオ再生ポインタ３１２をインクリメントする。再生バッファ３１８の設計に従って、復号されたフレームＶqはビデオ・プレーヤ３２０によってレンダリングされた後、再生バッファ３１８から実効的に捨てられる。
【００４６】
ビデオのバックログに対するしきい値レベルを設定する整数Ｍは、ビデオ再生における大きな不連続性が最小化されるように設定される必要がある。代表的なＰＣベースの環境においては、Ｍは１の整数値に設定するのが最も効率的であると信じられる。
【００４７】
この分野の技術に熟達した人にとっては明らかであるように、図４〜図６に示されている本発明に従って、マルチメディア再生装置の中のオーディオの復号および再生のプロセスは、ビデオの復号および再生のプロセスより高い優先度が与えられている。オーディオの再生は本質的に中断されない優先度が与えられているので、各オーディオ再生サイクルは比較的固定された、そして予測可能な期間において完了する。したがって、各サイクルの完了がオーディオおよびビデオの再生および復号のプロセスの両方を制御する「オーディオ・イベント」をトリガするためのクロックとして使われる。ビデオの復号のバックログが検出されると、図３Ａのビデオ・復号器３１４がそのバックログのシーケンスの中の最も最近のビデオ・フレームＶqを復号して表示するためには必要でないすべてのビデオ・フレームをスキップすることができるようにすることによって、そしてビデオ・プレーヤ３２０がこの最も最近のビデオ・フレームＶqだけを再生できるようにすることによって、オーディオのブロックとビデオのフレームとの間の同期化が再確立される。オーディオ・ブロックの復号およびレンダリングを優先させることによって、オーディオの再生においてユーザが経験する遅延が最小化される。オーディオ再生における遅延は、ビデオ再生シーケンスの中で小さな遅延または省略が発生する場合より、システム・ユーザにとって遙かに気になるものであることが分かっている。
【００４８】
この上記の方法の実施形態は、本発明の多くの代替実施形態のうちの１つに過ぎないことはこの分野の技術に熟達した人にとっては前記の説明から明らかである。したがって、この説明は例を示すように作られているだけであり、本発明を実施する最善のモードをこの分野の技術に熟達した人に説明する目的のためのものである。各種の他の代替案が本発明の内容から逸脱することなしに、この分野の技術に熟達した人によって考えられる。たとえば、本発明は、オーディオのブロックおよびビデオのフレームをそれぞれ表している符号化されて復号されたデータの両方を、それぞれが格納することができる単独のオーディオ・バッファおよび単独のビデオ・バッファを使って実装することができる。追加の例として、ビデオ・フレームのバックログに対して選択される値（Ｍ）、呼び出されるオーディオ・ブロックの数（Ｎ）および、オーディオ・イベント・サイクル当たりの再生されるオーディオ・ブロックの数（１）をここで推奨された値から変更することができる。また、この分野の技術に熟達した人であれば、本発明によって開示されている方法を、オーディオの復号およびレンダリングではなく、ビデオの復号およびレンダリングを優先させるように容易に適応させることができる。
【図面の簡単な説明】
【図１】従来の技術のマルチメディア再生システムの略ブロック図を示す。
【図２】高レベルの構成およびＭＰＥＧ‐I標準に適合している、代表的な従来の技術の符号化されたマルチメディアのデータ・ストリームのフォーマットを示す。
【図３Ａ】本発明の１つの実施形態を示す。
【図３Ｂ】本発明の実施形態によって使われているパッケージ化されたオーディオおよびビデオの高い水準の編成の図を提供している。
【図３Ｃ】本発明によって動作するオーディオ再生とビデオ再生とのストリームの間の時間的関係を図で示す。
【図４】オーディオブロックの復号に使用される本発明のプロセスを示すフローチャートである。
【図５】オーディオブロックのレンダリングに使用される本発明のプロセスを示すフローチャートである。
【図６】ビデオフレームのレンダリングがオーディオブロックのレンダリングに対して大きな遅延を有する場合に、ビデオフレームの復号及びレンダリング並びにビデオ及びオーディオ再生ポインタの再同期化に使用される本発明のプロセスを示すフローチャートである。
【図１】
0003739609.tif 000002
【図２】
0003739609.tif 000003
【図３Ａ】
0003739609.tif 000004
【図３Ｂ】
0003739609.tif 000005
【図３Ｃ】
0003739609.tif 000006
【図４】
0003739609.tif 000007
【図５】
0003739609.tif 000008
【図６】
0003739609.tif 000009