(57)【特許請求の範囲】
【請求項１】
符号化器および復号器のクロック間のドリフトを決定するためのシステムであって、
複数のフレームを受信するように構成された受信機であって、前記複数のフレームの各々が１又は複数のデータ・パケットを備え、前記データ・パケットのうちの少なくとも２つはそれぞれ符号化器タイムスタンプを備える、受信機と、
前記複数のフレームの各々を前記受信機が受信するとインタラプトを発生するように構成されたコントローラと、
それぞれのデータ・パケットを備える前記複数のフレームのうちの対応するフレームを前記受信機が受信すると発生する前記インタラプトに応じて、前記フレームの到着時間、前記フレームの持続時間、および、前記データ・パケットに先行するフレームの割合を使用して、前記データ・パケットのうちの少なくとも２つのそれぞれのための復号器タイムスタンプを生成するように構成された第１のモジュールと、
前記符号化器タイムスタンプと前記復号器タイムスタンプとの差を計算することによって、前記ドリフトを決定するように構成された第２のモジュールと
を備えるシステム。
【請求項２】
前記第１のモジュールおよび前記第２のモジュールは、同じモジュールの一部を備える、請求項１記載のシステム。
【請求項３】
前記復号器タイムスタンプを生成するために、前記第１のモジュールは、前記フレーム内の前記データ・パケットの位置を決定するように構成された請求項１記載のシステム。
【請求項４】
前記復号器タイムスタンプを格納するように構成されたバッファを更に備える請求項１記載のシステム。
【請求項５】
前記受信機は、無線伝送受信機を備える請求項１記載のシステム。
【請求項６】
前記コントローラは、ＯＦＤＭフレーム・インタラプト・ハンドラを備える請求項１記載のシステム。
【請求項７】
前記第１のモジュールは、スリープ・タイマを備える請求項１記載のシステム。
【請求項８】
前記システムは、セルラー電話を備える請求項１記載のシステム。
【請求項９】
前記複数のフレームは、直交周波数分割多重化（ＯＦＤＭ）フレームを備える請求項１記載のシステム。
【請求項１０】
前記複数のフレームは、圧縮されたオーディオおよびビデオ・データを備える請求項１記載のシステム。
【請求項１１】
前記圧縮されたオーディオおよびビデオ・データは、統合ディジタル放送（Integrated Services Digital Broadcasting）（ＩＳＤＢ）規格に準拠する請求項１０記載のシステム。
【請求項１２】
前記圧縮されたオーディオおよびビデオ・データは、地上デジタルマルチメディア放送（Terrestrial Digital Multimedia Broadcasting）（Ｔ−ＤＭＢ）規格に準拠する請求項１０記載のシステム。
【請求項１３】
前記符号化器タイムスタンプと復号器タイムスタンプとの差を計算するために、前記第２のモジュールは、
第１の値を決定するために、前記少なくとも２つのデータ・パケットのうちの第１のパケットと第２のパケットの前記符号化器タイムスタンプの差を計算し、
第２の値を決定するために前記第１のパケットと第２のパケットの前記復号器タイムスタンプの差を計算し、
前記第１の値と第２の値の差を計算する、
ように構成される、請求項１記載のシステム。
【請求項１４】
前記符号化器および前記復号器のクロック間のドリフトは平均ドリフトを備え、前記符号化器タイムスタンプと前記復号器タイムスタンプの差を計算するために、前記第２のモジュールは、
第３の値を決定するために、前記少なくとも２つのデータ・パケットのうちの第３のパケットと第４のパケットの前記符号化器タイムスタンプの差を計算し、
第４の値を決定するために、前記第３のパケットと第４のパケットの前記復号器タイムスタンプの差を計算し、
前記第３の値と第４の値の差を計算し、
前記第１の値と第２の値の差と、前記第３の値と第４の値の差を平均する、
ように構成される、
請求項１３記載のシステム。
【請求項１５】
符号化器および復号器のクロック間のドリフトを決定するための方法であって、
複数のフレームを受信すること、ここにおいて、前記複数のフレームの各々が１又は複数のデータ・パケットを備え、前記データ・パケットのうちの２つ以上はそれぞれ符号化器タイムスタンプを備え、
前記複数のフレームのうちの少なくとも１つを受信するとインタラプトを発生することと、
それぞれのデータ・パケットを備える前記複数のフレームのうちの少なくとも１つの対応するフレームを受信すると前記インタラプトを発生することに応じて、前記フレームの到着時間、前記フレームの持続時間、および、前記データ・パケットに先行するフレームの割合を使用して、前記データ・パケットのうちの２つ以上のそれぞれのための復号器タイムスタンプを生成することと、
前記符号化器タイムスタンプと前記復号器タイムスタンプとの差に基づいて前記ドリフトを決定することと
を備える方法。
【請求項１６】
符号化器および復号器のクロック間のドリフトを決定するためのシステムであって、
複数のフレームを受信する手段、ここにおいて、前記複数のフレームの各々が１又は複数のデータ・パケットを備え、前記データ・パケットのうちの少なくとも２つはそれぞれ符号化器タイムスタンプを備え、
前記複数のフレームの各々を受信するとインタラプトを発生する手段、
それぞれのデータ・パケットを備える前記複数のフレームのうちの対応するフレームを受信すると発生する前記インタラプトに応じて、前記フレームの到着時間、前記フレームの持続時間、および、前記データ・パケットに先行するフレームの割合を使用して、前記データ・パケットのうちの少なくとも２つのそれぞれのための復号器タイムスタンプを生成する手段、および
前記符号化器タイムスタンプと前記復号器タイムスタンプとの差を計算することによって、前記ドリフトを決定する手段
を備えるシステム。
【請求項１７】
前記複数のフレームを受信する手段は、無線受信機を備える請求項１６に記載のシステム。
【請求項１８】
前記インタラプトを発生する手段は、コントローラを備える請求項１６記載のシステム。
【請求項１９】
前記復号器タイムスタンプを生成する手段は、スリープ・タイマを備える請求項１６記載のシステム。
【請求項２０】
前記ドリフトを決定する手段は、プロセッサを備える請求項１６記載のシステム。
【請求項２１】
符号化器および復号器のクロック間のドリフトを決定するためにプロセッサによって実行されるように適合されたコンピュータ読取り可能なプログラムコードを具備する非一時的なコンピュータ読取り可能な記憶媒体であって、前記プログラムコードは、前記プロセッサに、
複数のフレームを受信すること、ここにおいて、前記複数のフレームの各々が１又は複数のデータ・パケットを備え、前記データ・パケットのうちの少なくとも２つはそれぞれ符号化器タイムスタンプを備え、
前記複数のフレームのうちの少なくとも１つを前記プロセッサが受信するとインタラプトを発生すること、
それぞれのデータ・パケットを備える前記複数のフレームのうちの少なくとも１つの対応するフレームを前記プロセッサが受信すると前記プロセッサが前記インタラプトを発生することに応じて、前記フレームの到着時間、前記フレームの持続時間、および、前記データ・パケットに先行するフレームの割合を使用して、前記データ・パケットのうちの少なくとも２つのそれぞれのための復号器タイムスタンプを生成すること、および
前記符号化器タイムスタンプと前記復号器タイムスタンプとの差に基づいて前記ドリフトを決定すること
を行わせる、非一時的なコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において説明される実施形態は、データ通信に関する。特に、これらの実施形態は、デジタル・ビデオおよびオーディオ処理と、デジタル・ビデオおよびオーディオ・データの復号のための改良されたシステムおよび方法とに関する。
【背景技術】
【０００２】
ビデオおよび音楽のようなデジタル・マルチメディア・データは、受信機のユーザによるマルチメディアのプレイのために、無線電話あるいはテレビのような、複数のデバイスに送信されうる。マルチメディアは、多数の異なるビデオ符号化規格に従ってフォーマットされうる。ＭＰＥＧ（Moving Picture Experts Group）は、例えば、ＭＰＥＧ−２パート２に説明される規格のような、多数の規格を開発してきた。その他の符号化規格は、Ｈ．２６１／Ｈ．２６３および最新のＨ．２６４／ＡＶＣを含む。
【０００３】
ビデオ符号化規格は、圧縮された方式でデータを符号化することによって、伝送速度を高めることを達成する。圧縮は、画像フレームの効率的な伝送のために送信される必要があるデータの全体量を低減しうる。Ｈ．２６４規格は、例えば、圧縮を用いずに達成されうるよりも狭い帯域幅によるビデオおよび画像の伝送を容易にするために設計されたグラフィックおよびビデオ圧縮技術を利用する。特に、ＭＰＥＧ規格は、時間的相関あるいはフレーム間相関と称される、連続する画像フレーム間の類似を利用するビデオ符号化技術を、フレーム間圧縮を提供するために組み込む。フレーム間圧縮技術は、画像フレームのピクセル・ベース表示を、動き表示に変換することによって、複数のフレームにわたるデータ冗長性を活用する。それに加えて、ビデオ符号化技術は、空間相関あるいはフレーム間相関と称される、画像フレーム内の類似を、画像フレーム内の空間相関が更に圧縮されうるフレーム内圧縮を達成するために利用しうる。フレーム内圧縮は通常、空間予測および離散コサイン変換（ＤＣＴ）符号化のような、静止画像を圧縮するための従来処理に基づく。
【０００４】
ＭＰＥＧ圧縮技術は、時間的相関あるいはフレーム間相関と称される、連続する画像フレーム間の類似を利用するビデオ符号化技術を、フレーム間圧縮を提供するために組み込む。フレーム間圧縮技術は、画像フレームのピクセル・ベース表示を動き表示に変換することによって、複数のフレームにわたるデータ冗長性を活用する。符号化することは、各ピクチャを「マクロ・ブロック」とよばれるブロックに分け、その後、類似するブロックを求めて近隣のピクチャを探索する。適合するもの(match)が見つかると、システムは、ブロック全体の全てを格納する代わりに、ピクチャ間のブロックの動き（あるいは、それの欠如）を記述するはるかに小さなベクトルを格納する。このやり方で、効率的な圧縮が達成される。
【０００５】
これらの圧縮技術を支援するために、多くのデジタル・ビデオ・デバイスが、デジタル・ビデオ・シーケンスを圧縮するための符号化器と、デジタル・ビデオ・シーケンスを解凍するための復号器とを含む。多くの場合において、符号化器および復号器は、ビデオ画像のシーケンスを定義するフレーム内のピクセルのブロック上で動作する、集積符号化器／復号器（ＣＯＤＥＣ）を備える。画像フレーム内の各マクロブロックについて、符号化器は、最も類似するマクロブロックを識別するために直前のビデオ・フレームのマクロブロックを探索し、そして、前のフレームからのどのマクロブロックが符号化のために使用されたかを示す動きベクトルと一緒に、伝送のためのマクロブロック間の差を符号化する。受信デバイスの復号器は、動きベクトルと符号化された差とを受信し、ビデオ・シーケンスを発生するために動き補償を実行する。
【０００６】
ビデオおよびオーディオへのフレームの適切な戻し変換は、送信機における符号化器と受信機における復号器との間の適切なタイミングに依存する。この受信機は通常、フレームが適切に同期され、受信機においてユーザに対して提示されうるように、フレームの収集に関して、フレームが送信機によって符号化された場合に関する情報を提供される。ＭＰＥＧ２  ＴＳは、ＭＰＥＧ２圧縮技術のためのトランスポート層を説明する規格の一部である。ＭＰＥＧ２  ＴＳは、符号化器のローカル・クロック時間を、タイムスタンプとして圧縮されたフレームのパケットに記録することによって、符号化器と復号器との間の同期に適合する。これらのタイムスタンプは、プログラム・クロック・リファレンス(Program Clock Reference)すなわちＰＣＲとして知られている（参照によって本明細書に全体的に組み込まれる、ISO/IEC 13818-1, Annex Dを参照のこと）。従って、ＰＣＲは符号化器タイムスタンプの形態を取る。ＰＣＲは、送信機におけるシステム・タイム・クロック（ＳＴＣ）によって導入され、復号器によって参照されるマスタ・クロックを形成して、ビデオおよびオーディオが、いつ解凍され表示されるべきかを決定する。
【０００７】
しかし、ＰＣＲ値は常に正確なわけではない。動作条件あるいは内在する欠陥に起因する受信機クロックあるいは送信機クロックの何れかにおける不完全性は、この２つのクロック間のドリフトを結果としてもたらすだろう。受信機における復号器は、送信機におけるクロックに比べて、クロックが早い場合はアンダーラン（underrun）を、クロックが遅い場合はオーバランを、いずれは経験するだろう。オーバランおよびアンダーランを防ぐために、受信機は、自己のクロックと送信機のクロックとの間のドリフトを計算する。この受信機はその後、後続のフレームを復号する際に、このドリフトを補償する。
【０００８】
多くのデバイスにおいて、トランスポート・ストリーム・インタフェース（ＴＳＩＦ）として知られる、トランスポート層におけるハードウェア・インタフェースは、ＰＣＲ値を含む各パケットが受信されると、これをタイムスタンプする。このタイムスタンプはその後、符号化器および復号器のクロック間のドリフトを外挿するために、パケット内に含まれるＰＣＲと共に使用されうる。しかし、いくつかのモバイル・デバイス・インタフェースは、ＴＳＩＦを支援していない。クロック同期のための代替的な方法を用いない場合、これらのデバイスは、ＩＳＤＢ−Ｔ、ＤＶＢ−Ｔ、Ｔ−ＤＭＢ、およびその他多くの規格との互換性をもたないだろう。
【発明の概要】
【０００９】
いくつかの実施形態においては、符号化器および復号器のクロック間のドリフトを決定するためのシステムは、各々１又は複数のデータ・パケットを備える複数のフレームを受信するように構成された受信機であって、それらのパケットの少なくとも２つは符号化器タイムスタンプを備える受信機と、各フレームを受信すると、インタラプトを発生(produce)するように構成されたコントローラと、このインタラプトに応じて、前述の１又は複数のデータ・パケットのための復号器タイムスタンプを生成するように構成された第１のモジュールと、符号化器タイムスタンプと復号器タイムスタンプとの差を計算することによって、ドリフトを決定するように構成された第２のモジュールとを備える。
【００１０】
いくつかの実施形態においては、符号化器および復号器のクロック間のドリフトを決定するための方法は、各々１又は複数のデータ・パケットを備える複数のフレームを受信し、これらのデータ・パケットのうちの少なくとも２つは、符号化器のタイムスタンプを備えること、前記フレームのうちの少なくとも１つを受信すると、インタラプトを発生することと、このインタラプトの発生に応じて、前述の１又は複数のパケットのための復号器タイムスタンプを生成することと、符号化器タイムスタンプと復号器タイムスタンプとの差に基づいてドリフトを決定することとを備える。
【００１１】
いくつかの実施形態においては、符号化器および復号器のクロック間のドリフトを決定するためのシステムは、各々１又は複数のデータ・パッケージ化手段を備える複数のフレーム化手段を受信するように構成された受信手段であって、これらのデータをパッケージ化する手段のうちの少なくとも２つは、符号化器タイムスタンピング手段を備える受信手段と、前記フレーム化手段を受信すると、インタラプトを発生する手段と、このインタラプトに応じて、前記１又は複数のデータ・パッケージ化手段のための復号器タイムスタンピング手段を生成する手段と、符号化器タイムスタンピング手段と復号器タイムスタンピング手段との差を計算することによって、ドリフトを決定する手段とを備える。
【００１２】
いくつかの実施形態においては、コンピュータ可読媒体は、各々１又は複数のデータ・パケットを備える複数のフレームを受信し、これらのデータ・パケットのうちの少なくとも２つは、符号化器タイムスタンプを備えること、前記フレームのうちの少なくとも１つを受信すると、インタラプトを発生すること、このインタラプトの発生に応じて、前記１又は複数のパケットのための復号器タイムスタンプを生成すること、符号化器タイムスタンプと復号器タイムスタンプとの差に基づいてドリフトを決定することとを備える方法を実施するために実行されるように適合されたコンピュータ可読プログラム・コードを備える。
【００１３】
開示される実施形態の特徴、目的、および利点は、全体にわたって同様の参照文字は対応して識別する図面に関連してなされる場合に、以下に提示される詳細な説明から更に明確になるだろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施形態において使用されるブロードキャストおよびデータ通信のトップレベル・ブロック図である。
【図２】図２は、タイムスタンプ・モジュールを実現する、本発明の１つの実施形態における受信機の概略図である。
【図３】図３は、ＰＣＲ値を保持するＴＳパケットを含むＯＦＤＭパケットの分析図(breakdown)である。
【図４】図４は、パケットＯＦＤＭタイムスタンプ対生成処理およびその後の個別のパケット・タイムスタンプの生成処理のフロー図である。
【図５】図５は、第１の典型的な実施における、本発明の１つの実施形態によって計算されるような、経時的ドリフト率のグラフである。
【図６】図６は、第２の典型的な実施における、本発明の１つの実施形態によって計算されるような、経時的ドリフト率のグラフである。
【図７】図７は、第３の典型的な実施における、本発明の１つの実施形態によって計算されるような、経時的ドリフト率のグラフである。
【図８】図８は、第４の典型的な実施における、第１のプレイバックについての本発明の１つの実施形態によって計算されるような、経時的ドリフト率のグラフである。
【図９】図９は、第４の典型的な実施における、第２のプレイバックについての本発明の１つの実施形態によって計算されるような、経時的ドリフト率のグラフである。
【詳細な説明】
【００１５】
本開示の実施形態は、マルチメディア・ビデオを復号するためのシステムおよび方法を含む。１つの実施形態は、ＴＳＩＦによって提供されるハードウェア・タイムスタンプのような、ハードウェア・タイムスタンプが利用不可能な場合に、符号化器クロックと復号器クロックとの間の「ドリフト」を決定するためのシステムおよび方法を提供する。特に、特定の実施形態は、ハードウェア・インタフェースを使用することなく、ＰＣＲを含むパケットの到着時間を決定する。この実施形態において、システムは、伝送フレーム境界および伝送規格の特性を参照することによって、パケットの到着時間を外挿する。１つの実施形態において、伝送フレームが受信されることの結果として、ソフトウェア・インタラプトが発生（generate）される。受信機はこのソフトウェア・インタラプトをモニタし、その後、受信されたフレーム内のパケットの到着時間を決定することができる。これらの到着時間はその後、フレーム内の各パケットに関連付けられ、メモリ内に格納される。到着時間はその後、符号化器クロックと復号器クロックとの間のドリフトを決定するために、そのフレームで送られたＰＣＲ値と併せて使用される。
【００１６】
以下の詳細な説明は、特定の具体的な実施形態に向けられる。しかし、本明細書における教示は、多数の異なるやり方で適用されることができる。この説明において、同一部分が同一符番で示される図面が参照される。実施形態は、以下に説明されるように、任意のデバイスにおいて実施されうる。特に、実施形態は、ＯＦＤＭフレーム・インタラプトを有するＭＰＥＧ２トランスポート・ストリームを受信するように構成されたデバイスに実施されうるが、その他のブロック・ベースの符号化システムおよびフレーム・ベースの伝送システムが同様に使用されうるといことを当業者は容易に認識するだろう。
【００１７】
テレビのためのいくつかの国際基準が、ＯＳＩモデルにおけるプレゼンテーション層として、ＭＰＥＧ２を使用している。例えば、日本およびブラジルによって導入されたＩＳＤＢ−Ｔ（Integrated Services Digital Broadcasting Terrestrial for Terrestrial Television Broadcasting）は、ＭＰＥＧ２を使用している。同様に、韓国ブロードキャスト（Korean Broadcasts）において使用されているＴ−ＤＭＢ（Terrestrial Digital Multimedia Broadcasting）およびヨーロッパにおいて使用されているＤＶＢ−Ｔ（Digital Video Broadcasting-Terrestrial）がＭＰＥＧ２を実施している。これらのシステムの各々において、ＭＰＥＧ２トランスポート・ストリームは、再多重化され、ＯＦＤＭ（直交周波数分割多重化）フレーミングの前に、データ・グループ(データ・セグメント）に配置される。ＯＦＤＭは、ＤＶＢ−Ｔ、Ｔ−ＤＭＢ、ＩＳＤＢ−Ｔにおける全ての７ ＯＳＩモデル層に含まれる。
【００１８】
ＯＦＤＭは、同時にデータを送信するために、異なるユーザが周波数帯域内の異なる直交トーンに割り当てられる、多元接続通信を提供する。これらのチャネルによって送信される情報は、複数のパケットあるいはフレームに分けられる。各パケットは、特定の実施に依存して、様々な分野を含むように定義されうる。
【００１９】
より完全に以下に説明されるように、特定の実施形態は、トランスポート層における、ＴＳＩＦのようなハードウェア・インタフェースに依存しないＭＰＥＧ２  ＴＳ  ＰＣＲタイムスタンプ・システムに向けられる。このシステムは、ＭＰＥＧ２トランスポート・ストリーム層（ＭＰＥＧ２  ＴＳ）およびＯＦＤＭフレームの両方ともを使用して、ＩＳＤＢ−ＴおよびＴ−ＤＭＢのような周知の規格との互換性を持つデバイスにおける使用においてメリットを有する。１つの実施形態において、システムは、受信するデバイスにおけるＴＶ復号器のクロックを、送信機における符号化器クロックにアライメントさせる。この実施形態において、ＯＦＤＭフレーム・インタラプトのようなフレーム・インタラプトが、各ＴＳパケットの到着の時間を外挿するために使用されうる。このシステムを実施する実施形態が、以下に更に詳細に説明される。
【００２０】
図１は、ブロードキャスティングおよびデータ通信システム１００のトップレベル・ブロック図を例示する。この実施形態において、ブロードキャスト・システム１０１は、ＰＣＲ発生器１０５を使用する符号化器１０２を使用して、データを符号化する。ＰＣＲ発生器１０５は、チャネル１０３（ａ乃至ｃ）で受信機１０４（ａ乃至ｃ）の各々に送信されるパケットに、ＰＣＲタイムスタンプを周期的に挿入する。チャネル１０３（ａ乃至ｃ）は、ＯＦＤＭ実施のような多重化されたチャネルにおけるような、周波数チャネルでありうる。例えば、ブロードキャスト・システム１０１は、様々な実施形態において、ＤＶＢ−Ｔ、Ｔ−ＤＭＢ、およびＩＳＤＢ−Ｔシステムでありうる。受信機１０４（ａ乃至ｃ）は、セルラー電話、個人用データ・システム、ホーム・コンピュータ、あるいは、ブロードキャスト・システム１０１から信号を受信することができる、当該技術分野において周知のその他任意のデバイスである。各受信機１０４（ａ乃至ｃ）は、伝送を解凍して、その後ユーザに対してデータを表示する復号器１０７（ａ乃至ｃ）を有する。復号器１０７（ａ乃至ｃ）は、ＰＣＲを含む各パケットの到着の時間を復元するために、タイムスタンプ・モジュール１０６（ａ乃至ｃ）を用いる。これによって、符号化器１０２および復号器１０７（ａ乃至ｃ）の各々のクロック（図示せず）間のドリフトを決定することができる。
【００２１】
図２は、図１の受信機１０４ａ乃至ｃのうちの１つの概略図を例示する。この実施形態において、伝送はアンテナ２０１によって受信されるが、伝送を受信するための多数の方法、すなわち、光ファイバーやケーブルなどを、当業者は容易に理解するだろう。受信機１０４ａにおける入力／出力２０２が、アンテナ２０１から各ＯＦＤＭフレームを取得すると、インタラプト発生器２０８は、新たなフレームが到着したことをタイムスタンプ・モジュール２０４に通知するソフトウェア・インタラプトを提供する。タイムスタンプ・モジュール１０６ａは、入力ＯＦＤＭフレームからの、フレーム境界の到着の時間をマーク(mark)するために、クロック２０３を参照する。十分な解像度の一貫したインクリメントを提供するのであれば、フレームの到着時間を記録するために、その他多数のクロックが使用されうることを当業者は容易に認識するだろう。モジュール１０６ａはその後、メモリ２０７における、到着時間と特定のフレーム境界のためのユニークな識別子を対にする。このデータは、より詳細に以下に説明されるように、受信されたフレーム内の任意の特定のパケットのドリフトを計算するために後に使用されうる。
【００２２】
入力／出力２０２はまた、復号器１０７ａにフレームを提供する。これは、メモリ２０７を使用して受信されたパケットを復号することと、ディスプレイ２０５によってそれらのコンテンツを表示することとを開始する。コンテンツを表示するのではなく、パケットが格納あるいは再符号化されうることを当業者は容易に認識するだろう。この復号の間、復号器１０７ａは、各パケットの到着の時間を外挿するために、対にされたフレーム・ナンバおよび到着時間を参照しうる。
【００２３】
図３は、一連のＯＦＤＭフレームと、それらが含んでいるＴＳパケットの図を例示する。この実例において、ＯＦＤＭフレーム３０６、３０７は、一連の類似ＯＦＤＭフレームによって先行されかつ後続されて相次いで到着する。各ＯＦＤＭフレームは、整数Ｐｔｏｔ個のパケットを含む。この例において、Ｐｔｏｔは、例示のために、適宜に７となるように選択されている。Ｐｔｏｔは、通信規格あるいは使用中のＯＦＤＭ構成によって決定される。Ｐｔｏｔは通常、２４から１６８個の範囲内のパケットである。Ｆｄは、フレームの持続時間であり、ここでは、適宜にｔｓｅｃとして与えられる。所定の規格について、個定数のＴＳパケットは、各フレームにおけるＰＣＲ、すなわち類似の符号化器タイムスタンプ、３０５を含むだろう。
【００２４】
図３、図４Ａ、および図４Ｂを参照すると、本発明の特定の実施形態において実施されるような、タイムスタンプ・モジュールの動作およびその後のタイムスタンプ計算が、詳細にわたって説明されるだろう。この実施形態は、第１および第２のモジュールにおいて実施されうる２つの処理を備える。それは、対生成４０１（図４Ａ）およびその後の個別のパケット・タイムスタンプの計算４０２（図４Ｂ）である。対生成４０１が最初に説明され、その後、タイムスタンプ計算４０２が説明される。
【００２５】
（対生成）  
図４Ａを参照すると、処理４０１は最初に、１つのフレームに対するパケットの数Ｐｔｏｔと、単一フレームの持続時間Ｆｄとを、使用される特定の伝送規格に基づいて決定する。状態４０４において、ＯＦＤＭフレームが到着し、システムはフレームの識別ナンバＩｎを示す。例えば、第１のフレームにおいて、値Ｉｎ＝１であり、一方で、１２番目のフレームにおいては、値Ｉｎ＝１２などとなる。処理４０１はその後、状態４０５へと移動する。ここにおいて、システムは、受信されたＯＦＤＭフレームの到着の時間Ｔｎを決定するために、スリープ・クロック、あるいはその他の適切なクロックを参照する。次のステップ４０６において、フレーム内の第１のパケットのグローバル・インデックスＰｉが計算される。グローバル・インデックスＰｉは、システムによって受信された全てのパケットに関するインデックスである。従って、Ｐｔｏｔが７であり、Ｉｎが３の場合、Ｐｉは２１となる（Ｐｉ＝Ｉｎ＊Ｐｔｏｔ）。このシステムはその後、クロック・ドリフト計算におけるその後の使用のために、状態４０７において、対Ｐｉ、Ｔｎを（サイクリック・バッファのような）メモリ内のバッファに格納する。現在のフレームが状態４０７においてメモリ内に格納されると、処理４０１は後続のＯＦＤＭフレームを受信するために状態４０４へと戻る。
【００２６】
（復号器タイムスタンプ計算）  
図４Ｂを参照すると、復号器が、ビデオ・ストリームを復号するために特定のパケットを必要としていると、復号器タイムスタンプ計算が実行される。復号器ソフトウェアは最初に、状態４０８において、グローバル・インデックスｊを有する特定のパケットを要求する。一般的に、インデックスｊを有するパケットはＰＣＲを含むだろう。システムはその後、サイクリック・バッファから、格納された最も大きなパケット対を特定する。ここにおいて、対は、ｊより小さいが、状態４０９において可能な限り大きなグローバル・インデックスＰｉを有する。インデックスＰｉを有するパケットは、ＰＣＲを含んでいる可能性もあるし、含んでいない可能性もある。状態４０９の間、処理４０２は、パケットｊと同じフレームにおける最初のパケットを特定する。ｊがフレームにおける第１のパケットである場合、Ｐｉ＝ｊである。システムはその後、状態４１０においてパケットｊのタイムスタンプを計算する。この計算は、下記の関係を使用して実行される。
【００２７】
タイムスタンプ＝Ｔｎ＋［（ｊ−Ｐｉ）／Ｐｔｏｔ］＊Ｆｄ
項「［（ｊ−Ｐｉ）／Ｐｔｏｔ］」は、フレームのうちのどのくらいの割合がそのパケットを先行しているかを効率的に判定する。この割合は、このフレームの全持続時間の同じ割合を取ることによって、フレームの最初の到着とパケットの到着の間の時間差を見つけるために使用される。これをフレーム内の第１のパケットの到着の時間に加えることによって、そのパケットの、外挿された到着時間、すなわち復号器タイムスタンプが生じる。したがって、パケットの全持続時間と、パケットの到着時間と、そのパケットが発見されるフレームの割合とを知ることによって、フレーム内のパケットの到着時間を決定することができる。システムはその後、復号処理においてこのタイムスタンプを使用して、ｊをインクリメントし、４１１へ進む。
【００２８】
（ドリフト計算）  
フレーム内にＰＣＲを含む各パケットの到着時間が決定されると、その後で、ドリフトが下記のように計算されうる。
【００２９】
ｉ番目のパケットのための導出されたタイムスタンプをＴＳｉとすると、  
ΔＴＳ＝ＴＳｉ−ＴＳｉ−Ｄ
ここで、Ｄは１より大きい任意のオフセットを備える。ｉ番目のパケットのためのＰＣＲをＰＣＲｉとすると、  
ΔＰＣＲ＝ＰＣＲｉ−ＰＣＲｉ−Ｄ
その結果、  
ドリフト＝ΔＰＣＲ−ΔＴＳ
ＰＣＲを含むパケットが、１より多くフレーム内に存在していると、いくつかのパケットにわたって、あるいはいくつかのフレームにさえわたって、計算を平均化することによって、おおよそのドリフトが導出されうることを当業者は容易に認識するであろう。このようにして、１つの実施形態において、システムは、第１のパケットと第２のパケットとの符号化器タイムスタンプの差を計算して、第１の値を決定する。この値が既知となると、システムは、第１のパケットと第２のパケットとの復号器タイムスタンプにおける差を計算して、第２の値を決定しうる。その後、システムは、第１の値と第２の値との差を計算して、いくつかのパケットにわたる平均ドリフト値を得る。
【００３０】
オフセットＤは、好ましくは、ｉ番目のパケットとは異なるフレームにおけるパケットを常に選択するように、選択されうるが、必ずしもそうである必要があるわけではない。
【００３１】
(例）  
上述された実施形態のうちのあるものの種々の実施のためのパラメータが以下に提供される。結果として生じるドリフト率は、図５乃至図９において提供される。  
【表１】
0005313399.tif 000002
【００３２】
図５は、上記に説明されたように、本発明の実施形態によって計算されるような、例１についてのソースと受信しているクロックとの間の、結果として生じるドリフト率を示す。  
【表２】
0005313399.tif 000003
【００３３】
図６は、上記に説明されたように、本発明の実施形態によって計算されるような、例２についてのソースと受信しているクロックとの間の、結果として生じるドリフト率を示す。  
【表３】
0005313399.tif 000004
【００３４】
図７は、上記に説明されたように、本発明の実施形態によって計算されるような、例３についてのソースと受信しているクロックとの間の、結果として生じるドリフト率を示す。  
【表４】
0005313399.tif 000005
【００３５】
図８および図９は、上記に説明されたように、本発明の実施形態による各場合において計算された、例４におけるムービーの第１および第２のプレイバックの両方についての、ソースと受信しているクロックとの間の、結果として生じるドリフト率を示す。
【００３６】
プラットフォームＡはオープン・プラットフォームである。ここにおいて、構成要素は分散しており、囲われていない（not enclosed）。対照的に、プラットフォームＢは、実際のモバイル電話の形の発展（development）プラットフォームである。図５乃至図７から分かるように、これら２つのプラットフォームの間のドリフト率は、同一ではない。これは、オープンエア・プラットフォームＡとは対照的に、囲まれた（enclosed）プラットフォーム内でのクロックのより高い加熱によって説明されうる。クロックが前から暖まっている（already warm）場合、ドリフト率は予測どおりに挙動し、経時的に値が著しく変化することはない。しかし、クロックが加熱している間は、著しいドリフトが生じうる。プラットフォームＡのクロックは、「オープンエア」なので、プラットフォームＢのようにひどく熱くはならない（第２のプラットフォームについては最大ピークは〜３４秒であるのに対し、例１は〜４７秒の最大ピークを有する）。「低温の（cold）」クロックとは異なるドリフト率を生成するために、前からクロックが暖まっていることも予期されるだろう。図８乃至図９に示されるように、前から暖かくなっているクロックは、後のプレイバックで異なるドリフト率を現実に有するだろう。これらの図によって示されるように、この実施形態は、クロック間のドリフト挙動を正しく特徴付けている。
【００３７】
本開示において説明された技術は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれら任意の組合せにおいて実施されうる。ユニットあるいは構成要素として説明された任意の特徴は、統合されたロジック・デバイスにおいて一緒に実現されるか、あるいは、離散的だが相互運用可能なロジック・デバイスとして個別に実施されうる。ソフトウェアにおいて実施される場合、この技術は、実行されると上述された１又は複数の方法を実行する命令群を備えるコンピュータ読取可能媒体によって少なくとも部分的に実現されうる。コンピュータ読取可能媒体は、コンピュータ・プログラム製品の一部を形成しうる。これは、パッケージ・マテリアルを含みうる。コンピュータ読取可能媒体は、同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）のようなランダム・アクセス・メモリ（ＲＡＭ）と、読取専用メモリ（ＲＯＭ）と、非揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）と、電子的消去可能プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）と、フラッシュ・メモリと、磁気あるいは光学データ記憶媒体などを備えうる。更に、あるいは代替的に、この技術は、少なくとも部分的に、命令群あるいはデータ構成の形態でコードを搬送あるいは伝達し、コンピュータによってアクセス、読み取り、および／あるいは実行されうるコンピュータ読取可能通信媒体によって実現される。
【００３８】
このコードは、１又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、アプリケーション特有集積回路（ＡＳＩＣ）、フィールド・プログラム可能ロジック・アレイ（ＦＰＧＡ）、あるいはそれらに相当するその他の集積あるいは離散ロジック回路のような１又は複数のプロセッサによって実行されうる。従って、本明細書において使用されるような用語「プロセッサ」は、前述された構造の任意のもの、あるいは本明細書において説明された技術の実施に適したその他任意の構造を称しうる。更に、いくつかの態様において、本明細書において説明された機能は、符号化および復号するように構成された、あるいは複合ビデオ符号復号器（ＣＯＤＥＣ）に組み込まれた、専用ソフトウェア・ユニットあるいはハードウェア・ユニット内において提供されうる。ユニットとしての異なる特徴の説明は、例示されたデバイスの異なる機能的態様を強調することを意図しており、このようなユニットが、個別のハードウェアあるいはソフトウェア構成要素によって実現されねばならないということを必ずしも暗示しているわけではない。むしろ、１又は複数のユニットに関連付けられた機能は、共通あるいは個別のハードウェアあるいはソフトウェア構成要素内に統合されうる。
【００３９】
本開示の様々な実施形態が説明された。これらのおよび他の実施形態は、以下の請求項の範囲内に含まれる。
なお、本願の出願当初の請求項と同一の記載を以下に付記する。
［Ｃ１］符号化器および復号器のクロック間のドリフトを決定するためのシステムであって、
各々１又は複数のデータ・パケットを備える複数のフレームを受信するように構成された受信機であって、前記パケットのうちの少なくとも２つは符号化器タイムスタンプを備える受信機と、
各フレームを受信するとインタラプトを発生するように構成されたコントローラと、
前記インタラプトに応じて、前記１又は複数のデータ・パケットのための復号器タイムスタンプを生成するように構成された第１のモジュールと、
前記符号化器タイムスタンプと復号器タイムスタンプとの差を計算することによって、ドリフトを決定するように構成された第２のモジュールと
を備えるシステム。
［Ｃ２］前記第１のモジュールおよび前記第２のモジュールは、同じモジュールの一部であるＣ１記載のシステム。
［Ｃ３］前記第１のモジュールは、前記フレーム内の各パケットの位置を決定することによって、復号器タイムスタンプを生成するように構成されたＣ１記載のシステム。
［Ｃ４］前記復号器タイムスタンプを格納するためのバッファを更に備えるＣ１記載のシステム。
［Ｃ５］前記受信機は、無線伝送受信機を備えるＣ１記載のシステム。
［Ｃ６］前記コントローラは、ＯＦＤＭフレーム・インタラプト・ハンドラを備えるＣ１記載のシステム。
［Ｃ７］前記第１のモジュールは、スリープ・タイマを備えるＣ１記載のシステム。
［Ｃ８］前記システムは、セルラー電話であるＣ１記載のシステム。
［Ｃ９］前記フレームは、直交周波数分割多重化（ＯＦＤＭ）フレームを備えるＣ１記載のシステム。
［Ｃ１０］前記フレームは、圧縮されたオーディオおよびビデオ・データを備えるＣ１記載のシステム。
［Ｃ１１］前記圧縮されたオーディオおよびビデオ・データは、ＩＳＤＢ（Integrated Services Digital Broadcasting）規格に準拠するＣ１０記載のシステム。
［Ｃ１２］前記圧縮されたオーディオおよびビデオ・データは、Ｔ−ＤＭＢ（Terrestrial Digital Multimedia Broadcasting）規格に準拠するＣ１０記載のシステム。
［Ｃ１３］前記符号化器タイムスタンプと復号器タイムスタンプとの差を計算することは、
第１の値を決定するために第１のパケットと第２のパケットとの前記符号化器タイムスタンプにおける差を計算することと、
第２の値を決定するために前記第１のパケットと第２のパケットとの前記復号器タイムスタンプにおける差を計算することと、
前記第１と第２の値の差を計算することと
を備えるＣ１記載のシステム。
［Ｃ１４］前記差を計算することは、平均ドリフトを決定するために複数のパケットの対の間で実行されるＣ１３記載のシステム。
［Ｃ１５］符号化器および復号器のクロック間のドリフトを決定するための方法であって、
各々１又は複数のデータ・パケットを備える複数のフレームを受信すること、ここにおいて前記データ・パケットのうちの２つ以上は符号化器タイムスタンプを備え、
前記フレームのうちの少なくとも１つを受信するとインタラプトを発生することと、
前記インタラプトの発生に応じて、前記１又は複数のパケットのための復号器タイムスタンプを生成することと、
前記符号化器タイムスタンプと復号器タイムスタンプとの差に基づいてドリフトを決定することと
を備える方法。
［Ｃ１６］符号化器および復号器のクロック間のドリフトを決定するためのシステムであって、
各々１又は複数のデータ・パケットを備える複数のフレームを受信する手段、ここにおいて前記データ・パケットのうちの少なくとも２つは符号化器タイムスタンプを備え、
前記フレームを受信するとインタラプトを発生する手段、
前記インタラプトに応じて、前記１又は複数のデータ・パケットのための復号器タイムスタンプを生成する手段、および
前記符号化器タイムスタンプと復号器タイムスタンプとの差を計算することによって、ドリフトを決定する手段
を備えるシステム。
［Ｃ１７］前記受信する手段は、無線受信機を備えるＣ１６に記載のシステム。
［Ｃ１８］前記インタラプトを発生する手段は、コントローラを備えるＣ１６記載のシステム。
［Ｃ１９］前記復号器タイムスタンプを生成する手段は、スリープ・タイマを備えるＣ１６記載のシステム。
［Ｃ２０］前記ドリフトを決定する手段は、プロセッサを備えるＣ１６記載のシステム。
［Ｃ２１］各々１又は複数のデータ・パケットを備える複数のフレームを受信すること、ここにおいて前記データ・パケットのうちの少なくとも２つは符号化器タイムスタンプを備え、
前記フレームのうちの少なくとも１つを受信するとインタラプトを発生すること、
前記インタラプトの発生に応じて、前記１又は複数のパケットのための復号器タイムスタンプを生成すること、および
前記符号化器タイムスタンプと復号器タイムスタンプとの差に基づいてドリフトを決定すること
を備える方法を実施するために実行されるように適合されたコンピュータ読取り可能コードを具備するコンピュータ読取り可能媒体。
【図１】
0005313399.tif 000006
【図２】
0005313399.tif 000007
【図３】
0005313399.tif 000008
【図４】
0005313399.tif 000009
【図５】
0005313399.tif 000010
【図６】
0005313399.tif 000011
【図７】
0005313399.tif 000012
【図８】
0005313399.tif 000013
【図９】
0005313399.tif 000014