(57)【要約】説明する例は、トランスポートストリームパケットを生成するために用いる適切なソースを検索することを必要とし得ないトランスポートストリームマルチプレクサを含む。その代わり、用いられるソースは、メモリテーブル、例えばメタデータアレイ、の中の位置（例えば、入力）によって示され得る。トランスポートストリームパケットをトランスポートストリーム上に置いて、メタデータアレイを初期化する方法もまた、説明されている。
2015525515.tif 000002
【特許請求の範囲】
【請求項１】
トランスポートストリーム上にパケットを提供する方法であって、
インデックスポインタによって示された位置であって、ソースインジケータおよび開放時間スタンプが記憶された位置においてメタデータアレイを読み出すステップと、
前記インデックスポインタによって示された前記位置に記憶された前記ソースインジケータによって示されるソースから、トランスポートストリームパケットを生成するステップと、
前記インデックスポインタによって示された前記位置に記憶された前記開放時間スタンプに基づいて、前記トランスポートストリームパケットに開放時間スタンプを割り当てるステップと、
トランスポートストリームマルチプレクサを用いて、前記開放時間スタンプに対応する時に、前記トランスポートストリーム上に前記トランスポートストリームパケットを提供するステップと、
を含む、方法。
【請求項２】
前記インデックスポインタによって示された前記位置に記憶された前記ソースインジケータによって示される前記ソースに対する次のメタデータアレイ位置を計算するステップと、
前記次のメタデータアレイ位置が前記メタデータアレイ内にあれば、対応するソースインジケータを前記次のメタデータアレイ位置に記憶するステップと、
前記次のメタデータアレイ位置が現在前記メタデータアレイ内になければ、前記対応するソースインジケータを実行可能リストに記憶するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
次のメタデータアレイ位置の前記計算が、前記ソースインジケータによって示された前記ソースの漏出速度に基づく、請求項２に記載の方法。
【請求項４】
次のメタデータアレイ位置の前記計算が、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数に基づく、請求項２に記載の方法。
【請求項５】
前記インデックスポインタによって示された前記位置の前記メタデータアレイを、更新された開放時間スタンプを記憶することによって更新することをさらに含む、請求項１に記載の方法。
【請求項６】
前記更新された開放時間スタンプが、前記メタデータアレイのサイズに基づく、請求項５に記載の方法。
【請求項７】
前記インデックスポインタによって示された前記位置の前記メタデータアレイを、更新されたソースインジケータを記憶することによって更新することをさらに含む、請求項５に記載の方法。
【請求項８】
前記更新されたソースインジケータが、スタッフィングパケットのソースに対応する、請求項７に記載の方法。
【請求項９】
トランスポートストリームマルチプレクサのメタデータアレイを投入する方法であって、
複数のメタデータアレイ位置の各々で開放時間スタンプおよびソースインジケータを含む前記メタデータアレイを初期化するステップと、
第１のソースを識別するステップと、
前記複数のメタデータアレイ位置のうちの１つを、少なくとも部分的に、トランスポートストリーム上に置かれるパケットを前記第１のソースが必要とする時間に基づいて前記第１のソースに割り当てるステップと、
前記複数のメタデータアレイ位置のうちの１つを、前記第１のソースに対応するソースインジケータを有するように更新するステップと、
を含む、方法。
【請求項１０】
前記初期化するステップが、ビットスタッフィングパケットのソースを示すソースインジケータを前記メタデータアレイ中の全ての位置に書き込むステップを含む、請求項９に記載の方法。
【請求項１１】
前記初期化するステップが、開放時間スタンプを前記メタデータアレイ中の全ての位置に書き込むステップを含み、連続する位置が、前記トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数と、前記トランスポートストリームのビットレートとに少なくとも部分的に基づいた量だけ異なる開放時間スタンプを有する、請求項９に記載の方法。
【請求項１２】
前記割り当てるステップが、トランスポートストリーム上に置かれるパケットを前記第１のソースが必要とする前記時間に最も近いメタデータ位置を計算するステップを含む、請求項９に記載の方法。
【請求項１３】
前記割り当てるステップが、前記計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソースを示す場合に、前記計算されたメタデータ位置を割り当てるステップを含む、請求項１２に記載の方法。
【請求項１４】
前記割り当てるステップが、前記計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソース以外を示す場合に、前記計算されたメタデータ位置の次のメタデータ位置を割り当てるステップを含む、請求項１２に記載の方法。
【請求項１５】
トランスポートストリームマルチプレクサであって、
プロセッサと、
トランスポートストリームの多重化用の命令を記憶するメモリと、
トランスポートストリームの連続するパケットに対応する連続する位置を有するメタデータアレイであって、前記連続する位置の各々が、記憶された開放時間スタンプおよびソースインジケータを含む、メタデータアレイと、
を備え、
前記プロセッサが、トランスポートストリームの多重化用の前記命令に従って、前記メタデータアレイの位置を読み出し、前記メタデータアレイの前記読み出された位置での前記ソースインジケータによって指定されたソースからトランスポートストリームパケットを生成し、前記メタデータの前記読み出された位置での前記開放時間スタンプと一致する時間で前記トランスポートストリーム上に前記トランスポートストリームパケットを提供するように構成される、トランスポートストリームマルチプレクサ。
【請求項１６】
前記トランスポートストリームマルチプレクサが複数のソースと通信状態にあり、前記読み出された位置での前記ソースインジケータによって指定された前記ソースが、前記複数のソースのうちの選択された１つである、請求項１５に記載のトランスポートストリームマルチプレクサ。
【請求項１７】
実行可能リストをさらに備え、前記実行可能リストが、現在のメタデータアレイ中に対応する位置を有しないパケットに対する開放時間スタンプおよびソースインジケータを記憶するように構成される、請求項１５に記載のトランスポートストリームマルチプレクサ。
【請求項１８】
前記プロセッサが、トランスポートストリームの多重化用の前記命令に従って、前記メタデータ中の各々の連続する位置に対応する前記トランスポートストリーム上にパケットを提供し、前記実行可能リストに記憶されているデータを用いて前記メタデータアレイを更新するように更に動作可能である、請求項１７に記載のトランスポートストリームマルチプレクサ。
【請求項１９】
前記メタデータアレイが、先入れ先出し（ＦＩＦＯ）メモリを備える、請求項１５に記載のトランスポートストリームマルチプレクサ。
【請求項２０】
前記トランスポートストリームマルチプレクサがクロック信号を受信するようにさらに構成され、前記メタデータアレイの前記読み出された位置での前記開放時間スタンプと一致する時間が、少なくとも部分的に前記クロック信号に基づく、請求項１５に記載のトランスポートストリームマルチプレクサ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１２年５月３１日に提出された米国非暫定出願第１３／４８５，３９８号に対する優先権を要求するものであり、その出願を、あらゆる目的のために、その全体が参照により本明細書に組み込まれる。
【０００２】
本発明の実施形態は、一般には、音声および／または映像の信号などの圧縮信号のトランスポートストリームに関する。
【背景技術】
【０００３】
図１は、媒体システムの略図である。媒体システム１００は、図１に示すソース＃１、ソース＃２、およびソース＃３などの様々なソースから媒体を受信し得る。ソースは、任意のタイプの情報（例えば、音声、映像、またはデータ）であり得るし、またデジタルもしくはアナログであり得る。ソースは、番組（例えば、これらに限られないが、映画、ニュース放送、スポーツ、または他のイベントの番組などのテレビまたは映像の番組）または番組の一部であり得る。一部の例では、ソースは、音声、映像、および／またはデータの情報の組み合わせを含み得る。データ情報の例は、例えば、サブタイトルまたは他のデジタル情報を含む。
【０００４】
ソースからの情報は、適切な符号器、例えば、図１に示す符号器１０５〜１０７によって符号化され得る。符号器１０５〜１０７は、ソース情報をいずれかの周知の方法で符号化して、例えば、その情報を圧縮し得る。符号器１０５〜１０７は、これらには限られないが、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４、Ｈ．ＨＥＶＣ、もしくはこれらの組み合わせまたは他の符号化基準を含む情報のための任意の適切な符号化方法を実施し得る。符号化されたデータは次に、トランスポートマルチプレクサ１１０に提供され得る。
【０００５】
トランスポートマルチプレクサ１１０は、符号化されたデータを複数のソースから受信し、それらを交互配置してトランスポートストリーム１１５にする。トランスポートマルチプレクサ１１０は、一般に、受信したデータをパケットとして、トランスポートストリーム１１５上に提供する。各々のトランスポートストリームパケットは、従来は、パケットを識別する４バイトのヘッダならびにそれに続く制御データ、オプションのタイミング情報、および、ソースのうちの１つからの圧縮データのセクションを持つ１８８バイトであり得る。トランスポートストリーム１１５のビットレートは、一般的には一定であり、例えば、１秒に送信されるトランスポートストリームの数は、固定され得る。スタッフィングパケットは、したがって、目標とするビットレートを充填するに不十分なデータが利用可能であるときに、トランスポートマルチプレクサ１１０によって挿入され得る。
【０００６】
したがって、トランスポートマルチプレクサ１１０は、符号化されたデータのパケットを選択されたソースからトランスポートストリーム１１５に連続的に提供し得る。トランスポートストリーム１１５は、トランスポートストリーム１１５を解凍して復号化するおよび／またはトランスポートストリーム１１５を再放送し得る任意の数の宛先に提供され得る。宛先の例は、衛星１２０、地上波アンテナ１２１、およびネットワーク１２２を含む。再生デバイス（例えば、セットトップボックス）はまた、一部の例では、再生する目的で、トランスポートストリーム１１５を受信して復号化し得る。
【発明の概要】
【課題を解決するための手段】
【０００７】
トランスポートストリーム上にパケットを提供する方法を含む例としての方法が、本明細書に開示される。例としての方法は、インデックスポインタによって示される位置のメタデータアレイを読み出すことであって、ソースインジケータおよび開放時間スタンプが、メタデータアレイ中の位置に記憶される、読み出すことと、インデックスポインタによって示された位置に記憶されたソースインジケータによって示されるソースからトランスポートストリームパケットを生成することと、インデックスポインタによって示された位置に記憶された開放時間スタンプに基づいてトランスポートストリームに開放時間スタンプを割り当てることと、開放時間スタンプに対応する時間で、トランスポートストリーム上にトランスポートストリームパケットを、トランスポートストリームマルチプレクサを用いて提供することと、を含み得る。
【０００８】
例としての方法は、インデックスポインタによって示された位置に記憶されたソースインジケータによって示されるソースに対する次のメタデータアレイ位置を計算することと、次のメタデータアレイ位置がメタデータアレイ内にあれば、対応するソースインジケータを次のメタデータアレイ位置に記憶することと、次のメタデータアレイ位置が現在メタデータアレイ内になければ、対応するソースインジケータを実行可能リストに記憶すること、をさらに含み得る。
【０００９】
一部の例では、次のメタデータアレイ位置を計算することは、ソースインジケータによって示されたソースの漏出速度に基づき得る。
【００１０】
一部の例では、次のメタデータアレイ位置を計算することは、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数に基づき得る。
【００１１】
例としての方法は、インデックスポインタによって示された位置のメタデータアレイを、更新された開放時間スタンプを記憶することによって更新することをさらに含み得る。
【００１２】
一部の例では、更新された開放時間スタンプは、メタデータアレイのサイズに基づき得る。
【００１３】
例としての方法は、インデックスポインタによって示された位置のメタデータアレイを、更新されたソースインジケータを記憶することによって更新することをさらに含み得る。
【００１４】
一部の例では、更新されたソースインジケータは、スタッフィングパケットのソースに対応し得る。
【００１５】
例としての方法は、トランスポートストリームマルチプレクサのメタデータアレイを投入する方法を含み得る。例としての方法は、メタデータアレイを初期化することであって、メタデータアレイが、複数のメタデータアレイの位置の各々で開放時間スタンプおよびソースインジケータを含む、初期化することと、第１のソースを識別することと、複数のメタデータアレイ位置のうちの１つを、少なくとも部分的に、トランスポートストリーム上に置かれるパケットを第１のソースが必要とする時間に基づいて第１のソースに割り当てることと、複数のメタデータアレイ位置のうちの１つを、第１のソースに対応するソースインジケータを有するように更新することと、を含み得る。
【００１６】
一部の例では、初期化が、ビットスタッフィングパケットのソースを示すソースインジケータをメタデータアレイ中の全ての位置に書き込むことを含み得る。
【００１７】
一部の例では、初期化が、開放時間スタンプをメタデータアレイ中の全ての位置に書き込むことを含み得るが、連続する位置が、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数と、トランスポートストリームのビットレートとに少なくとも部分的に基づいた量だけ異なる開放時間スタンプを有する。
【００１８】
一部の例では、複数のメタデータ位置のうちの１つを割り当てることが、トランスポートストリーム上に置かれるパケットを第１のソースが必要とする時間に最も近いメタデータ位置を計算することを含み得る。
【００１９】
一部の例では、割り当てることが、計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソースを示す場合に、計算されたメタデータ位置を割り当てることを含み得る。
【００２０】
一部の例では、割り当てることが、計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソース以外を示す場合に、計算されたメタデータ位置の次のメタデータ位置を割り当てることを含み得る。
【００２１】
例としてのトランスポートストリームマルチプレクサを本明細書に説明する。例としてのトランスポートストリームマルチプレクサは、プロセッサと、トランスポートストリームの多重化用の命令を記憶するメモリと、トランスポートストリームの連続するパケットに対応する連続する位置を有するメタデータアレイであって、連続する位置の各々が、記憶された開放時間スタンプおよびソースインジケータを含む、メタデータアレイと、を含み得るが、プロセッサが、トランスポートストリームの多重化用の命令に従って、メタデータアレイの位置を読み出し、メタデータアレイの読み出された位置でのソースインジケータによって指定されたソースからトランスポートストリームパケットを生成し、メタデータアレイの読み出された位置での開放時間スタンプと一致する時間でトランスポートストリーム上にトランスポートストリームパケットを提供するように構成される。
【００２２】
一部の例では、トランスポートストリームマルチプレクサが複数のソースと通信状態にあり得るが、読み出された位置でのソースインジケータによって指定されたソースが、複数のソースのうちの選択された１つである。
【００２３】
例としてのトランスポートストリームマルチプレクサが実行可能リストをさらに含み得るが、実行可能リストが、現在のメタデータアレイ中に対応する位置を有しないパケットに対する開放時間スタンプおよびソースインジケータを記憶するように構成される。
【００２４】
一部の例では、プロセッサが、トランスポートストリームの多重化用の命令に従って、メタデータ中の各々の連続する位置に対応するトランスポートストリーム上にパケットを提供し、実行可能リストに記憶されているデータを用いてメタデータを更新するようにさらに動作可能であり得る。
【００２５】
一部の例では、メタデータアレイが、先入れ先出し（ＦＩＦＯ）メモリを備え得る。
【００２６】
一部の例では、トランスポートストリームマルチプレクサがクロック信号を受信するようにさらに構成され得るが、メタデータアレイの読み出された位置での開放時間スタンプと一致する時間が、少なくとも部分的にクロック信号に基づく。
【図面の簡単な説明】
【００２７】
【図１】媒体システムの略図である。
【図２】本発明の実施形態に関わるトランスポートマルチプレクサの略図である。
【図３】本発明の実施形態に関わるメタデータアレイの略図である。
【図４】本発明の実施形態に関わるメタデータアレイを投入する方法の略図である。
【図５】トランスポートストリームパケットを提供する方法の略図である。
【図６】本発明の実施形態に関わる媒体送達システムの略図である。
【図７】本明細書に説明する符号器を利用し得るビデオ配布システムの略図である。
【発明を実施するための形態】
【００２８】
ある詳細を、本発明の実施形態の十分な理解を提供するために、以下に説明する。しかしながら、本発明の実施形態が、これらの特定的なさまざまな詳細なしで実現され得ることが当業者には明らかであろう。一部の例では、公知の回路、制御信号、タイミングプロトコル、およびソフトウエア動作は、本発明の説明された実施形態を不必要に曖昧化することを避けるために、詳細には図示されていない。
【００２９】
本発明の実施形態は、トランスポートストリーム中にパケットを提供するシステムおよび方法を含む。上記したように、トランスポートマルチプレクサはトランスポートストリーム中にパケットを提供し得るが、これらのパケットは複数のソースから受信される。しかしながら、各々のソースは、特定的なタイミング要件を有し得る。ソースからの符号化されたデータのパケットがあまりに遅く送出された場合、宛先は、この符号化されたデータを処理するには不十分な時間を有し得る。ソースからの符号化されたデータのパケットがあまりに早く送出された場合、宛先では、正しい時間に達するまで、データをバッファするには不十分なスペースが存在し得る。
【００３０】
ソフトウエア、ハードウエア、ファームウエア、またはそれらの組み合わせで実現され得るトランスポートマルチプレクサは、一般的には、トランスポートマルチプレクサに対する入力の数が増すに連れて、より多くのＣＰＵ時間を必要とする。それは、従来のトランスポートマルチプレクサが、トランスポートストリーム上に提供され得るデータを提供した全てのソースを識別して評価し得るからである。従来のマルチプレクサは、全てのソースを評価した後で、最も早い締め切りを有するソースを選択して、そのソースからのパケットをトランスポートストリーム上に提供し得る。したがって、ソース（例えば、入力）が増えるに連れて、全てのソースの締め切りを評価するために必要とされるＣＰＵサイクルの量も増える。したがって、従来のトランスポートマルチプレクサは、例えば、およびＦＰＧＡまたはかなりの数のＣＰＵサイクルを用いる並列処理を必要とし得る。これらのソリューションは、高価であり得るし、システムの電力需要を不利に増加させ得る。
【００３１】
本発明の実施形態は、トランスポートストリーム上にパケットを提供するトランスポートマルチプレクサ、方法、およびシステムを含む。本発明の実施形態は、トランスポートストリームの各々のパケットに対してどのソースを用いるかを決定するために必要とされるＣＰＵサイクルおよび／または複雑性を軽減し得る。本発明のある実施形態の一部の利点を本明細書に説明するが、利点は、説明目的で提供されるだけであり、全ての実施形態が説明される恩典の全てまたはたとえ一部でも享受し得ることを理解すべきである。
【００３２】
図２は、本発明の実施形態に関わるトランスポートマルチプレクサの略図である。トランスポートマルチプレクサ２００は、様々なソースからデータ（例えば、符号化されたデータ）を受信し得るが、ソース２０１〜２０３を図２に示す。上述したように、ソース２０１〜２０３は、符号化された映像、符号化された音声、データ、または類似物であり得るが、各々のソースは番組またはその一部からのものであり得る。一部の例では、複数のソースが、同じ番組またはその一部（例えば、１つの番組に関連する音声、映像、およびデータ）が起源であり得る。スタッフィングパケットのソースもまた、トランスポートストリームマルチプレクサに提供され得る。一般に、スタッフィングパケットは、トランスポートストリーム上に送信されることを意図する任意のコンテンツにも無関係であり得るデータを含み得る。その代わりに、スタッフィングパケットは、一定のビットレートを維持するためにトランスポートストリーム上に挿入され得る。トランスポートマルチプレクサ２００にデータを提供し得るソースの性質およびタイプは、多様で柔軟性があり、一般的にトランスポートストリーム上で送信されるデータを提供することが可能な任意のソースを用い得ることを理解すべきである。さらに、任意の数のソースを用い得る。任意の数のソースを用い得るが、１つの例では最大で１６の番組、別の例では最大で４２の番組、別の例では１０００を超えるソースとなる。１Ｇビットイーサネット（登録商標）などのイーサネットシステムに対してトランスポートストリームを実現する例は、より多くの数のソース、一部の例では１０００を超えるソースを有し得る。
【００３３】
トランスポートマルチプレクサ２００は、ＣＰＵ２０５、メタデータアレイ２１０、実行可能リスト２１１、およびトランスポート多重化用の命令２１５を含む。ＣＰＵ２０５を実現するためには、任意の適切なプロセッサまたは複数のプロセッサを用い得る。メタデータアレイ２１０は、ＣＰＵ２０５によって読み取り可能な任意の適切な形態のメモリ、例えば、実行可能リスト２１１であり得る揮発性または、実行可能リスト２１１であり得る不揮発性メモリとして実現され得る。トランスポート多重化用の命令２１５は、ＣＰＵ２０５で読み取り可能な任意の適切なメモリ、例えば揮発性または不揮発性メモリ上に記憶されたコンピュータ読み取り可能命令であり得る。トランスポート多重化用の命令２１５、メタデータアレイ２１０、および／または実行可能リスト２１１は、同じメモリに記憶され得る、または異なるメモリ上に記憶され得る。一部の例では、メタデータアレイ２１０、実行可能リスト２１１、およびトランスポート多重化用の命令２１５の任意の組み合わせまたは全てが、複数のメモリ全体にわたって配布され得る。本明細書に記述するトランスポートマルチプレクサの例を実現するために用いられる処理およびメモリ構成要素の配列は、まったく柔軟性があると理解すべきである。一般に、十分なハードウエア、ソフトウエア、またはそれらの組み合わせは、記述するトランスポートマルチプレクサ機能性を実施するために提供され得る。
【００３４】
トランスポートマルチプレクサ２００は、ＣＰＵ２０５に提供され得るクロック信号２２０に従って動作し得る。トランスポートマルチプレクサ２００は、選択されたソースからのデータのパケットをトランスポートストリーム２２５上に置くように動作し得る。一般に、ＣＰＵ２０５は、トランスポート多重化用の命令２１５にしたがって動作して、メタデータアレイ２１０を読み出し、メタデータアレイ２１０によって指定されたソースを選択し得る。選択されたソースからのデータは、トランスポートストリーム２２５上に置かれ得る。実行可能リスト２１１は、メタデータアレイ２１０中に置かれるように待機しているパケットデータを含み得る。このようにして、ＣＰＵ２０５は、メタデータアレイ２１０を参照して、トランスポートストリーム２２５上に置かれるデータのパケットを組み立てるためにどのソースを用いるべきかを決定することを必要とするのみであり得る。ＣＰＵ２０５は、したがって、パケットをトランスポートストリーム２２５上に置くためには、各々のソースと、各々のソースの相対的なタイミング要件とを評価する必要はないということがあり得る。
【００３５】
トランスポートマルチプレクサ２００が、次のトランスポートストリームパケット用に用いるソースを、メタデータアレイ２１０に記憶された情報に基づいて特定した後で、ＣＰＵ２０５は、トランスポート多重化用の命令２１５にしたがって、この選択されたソースに対する次のパケット位置を決定し得る。選択されたソースに対する次のパケット位置は、一部の例では、他の要因と組み合わせて、選択されたソースのタイミング要件に基づいて決定され得る。ＣＰＵ２０５は、トランスポート多重化用の命令２１５に従って、選択されたソースを特定するメタデータを、選択されたソースに対する次のパケット位置と関連付けられたメタデータアレイ２１０の位置に記憶し得る。したがって、メタデータアレイ２１０は、将来のパケットに対する選択されたソースを反映するように更新され得る。このようにして、ＣＰＵ２０５は、次のトランスポートストリームパケットを提供する際に用いられる選択されるソースを決定するために、全てのソースを検索する必要がないことがあり得る。ＣＰＵ２０５は、その代わりに、メタデータアレイ２１０に記憶された情報に基づいてソースを選択し得るし、また、選択されたソースを特定するメタデータをその選択されたソースに対する次のトランスポートパケット位置に対応する位置に記憶することによって、メタデータアレイ２１０を更新し得る。
【００３６】
図３は、本発明の実施形態に関わるメタデータアレイの略図である。メタデータアレイ３００は、例えば、図２のメタデータアレイ２１０を実現するために用いられ得る。メタデータアレイ３００は、Ｎ個の入力を含む。各々の入力は、開放時間スタンプ（ＲＴＳ）およびソースインジケータ（ＳＲＣ）を含み得る。各々の入力は、トランスポートストリーム上のパケットと一致し得る。開放時間スタンプは、その入力と関連付けられたパケットがトランスポートストリーム上に置かれるべき時間と一致し得る。ソースインジケータは、そのパケットに対するデータを獲得するためにはどのソースが用いられるべきであるかを示し得る。メタデータアレイ３００は、メタデータアレイ３００中に置かれた第１の入力が読み出される第１の入力であり得る先入れ先出し（ＦＩＦＯ）メモリとして操作され得る。インデックスポインタ３０５は、現在のパケットに対応するメタデータアレイ３００中に現在位置を指し示し得る。インデックスポインタ３０５は、各々の入力がメタデータアレイ３００から読み出された後でインクレメントされ得る。メタデータアレイは、任意のメモリデバイスを用いて実現され得る。
【００３７】
図４は、本発明の実施形態に関わるメタデータアレイを投入する方法の略図である。方法４００は、例えば、図３のメタデータアレイ３００を投入するために用いられ得る。図２のトランスポート多重化用の命令２１５は、図４を参照して説明する初期化の方法を実施するための命令を含み得る。図４を参照すると、ブロック４０５で、メタデータアレイが初期化され得る。図２のＣＰＵ２０５は、例えば、トランスポート多重化用の命令２１５に従ってメタデータアレイ２１０を初期化し得る。初期化は、トランスポートマルチプレクサが一部の例ではオンされるまたは開始されるときに発生し得るが、そうでなければ、アレイが既に初期化された状態で提供され得る。一部の例では、初期化は、十分なスペースをメタデータアレイ用にメモリ中に割り当てることを含み得る。スペースの量は、一般に、Ｎ個全てのパケットに対して開放時間スタンプおよびソースインジケータを維持するに十分大きいスペースであり得る。
【００３８】
初期化中、開放時間スタンプ値は、メタデータアレイ位置の各々に記憶され得る。開放時間スタンプ値は、図２のクロック信号２２０などのトランスポートマルチプレクサによって用いられるシステムクロックに基づいて計算され得る。一秒当たりのトランスポートストリーム上のトランスポートストリームパケットの数（ＮＵＭ＿ＴＳ＿ＰＫＴ）は、トランスポートストリームビットレートをトランスポートパケットのサイズで除算したものとして与えられ得る。１つの例では、ＮＵＭ＿ＴＳ＿ＰＫＴはＴＳ＿ＢＲ／（１８８＊８）として与えられ得るが、式中ＴＳ＿ＢＲはトランスポートストリームビットレートであり、各々のトランスポートストリームは１８８バイト＊８ビット／バイトである。したがって、開放時間スタンプ間のインクレメント（例えば、ΔＲＴＳ）は、クロック信号の周波数を一秒当たりのトランスポートストリーム上のトランスポートストリームパケットの数で除算したもの（ＮＵＭ＿ＴＳ＿ＰＫＴ）として与えられ得る。１つの例では、クロック信号は２７ＭＨｚの周波数を有し得るが、ΔＲＴＳは、したがって、２７００００００／ＮＵＭ＿ＴＳ＿ＰＫＴとして与えられ得る。したがって、初期化中、開始開放時間スタンプは、メタデータアレイの入力０中に書き込まれ得る。開始開放時間スタンプは、現在時間または、パケット０がトランスポートストリーム上に置かれる任意の他の時間であり得る。残りの開放時間スタンプは、開始開放時間スタンプをΔＲＴＳだけインクレメントさせることによって、残りの入力に書き込まれ得る。
【００３９】
初期化中、ソースインジケータもまた、メタデータアレイ位置の各々の中に記憶され得る。ソースインジケータの所定の組み合わせは、各々の位置に最初に書き込まれ得る。１つの例では、各々の位置に対するソースインジケータは、スタッフィングパケットソースに初期化される。一部の例では、ＣＰＵ２０５は、上記の計算を実施して、初期の開放時間スタンプおよびソースインジケータを、トランスポート多重化用の命令２１５に従って書き込み得る。初期化に続いて、図３のメタデータアレイ３００は、Ｎ個のパケットの各々に対する開放時間スタンプを含み、スタッフィングパケットにすべて初期化され得るソースインジケータを関連付け得る。
【００４０】
図４を再度参照すると、ブロック４１０で、新しいソースが特定され得る。このソースが特定され得るのは、ソースからのデータがトランスポートマルチプレクサに到達し始めるまたは、一部の例では、ソースの所定のリストが、トランスポートマルチプレクサに周知であり得て、トランスポートマルチプレクサがソースの所定のリストを評価し得るからである。ブロック４１５で、メタデータアレイ中の位置が、新しいソースに割り当てられ得る。例えば、トランスポートマルチプレクサは、ソースがパケットをトランスポートストリーム上に提供する必要がある時間を評価し得る。現在時間を、この必要とされる送出時間から減算し得る。その差をΔＲＴＳで除算して、メタデータアレイのどの入力がソースからの次のパケットと一致すべきかを特定し得る。例えば、新しいソースと関連付けられるべきメタデータアレイの入力＝（パケット送出に必要な時間−現在時間）／ΔＲＴＳとなる。この新しいソースに対応するソースインジケータは、次に、このようにして計算されたメタデータアレイ入力に置かれ得る。このメタデータアレイ入力がＮを超える場合、それはいまだメタデータアレイ中には適合し得ず、開放時間スタンプおよびソースインジケータは、メタデータアレイ２１０の代わりに実行可能リスト２１１に記憶され得る。
【００４１】
図４のブロック４１０は、トランスポートマルチプレクサと通信している任意の数のソースに対して繰り返され得る。時々、上記の計算が、ソースインジケータが別の非スタッフィングパケットソースインジケータによって既に占有されているメタデータアレイ位置に置かれるべきであることを示唆し得る矛盾と遭遇し得る。このような矛盾においては、トランスポートマルチプレクサは、次のメタデータアレイ位置を読み出し得るが、次のメタデータアレイ位置がスタッフィングパケットのソースインジケータを含む場合、この矛盾するソースインジケータは、その次のメタデータアレイ位置に書き込まれ得る。ブロック４１０および４１５は、例えば、トランスポート多重化用の命令２１５にしたがって、ＣＰＵ２０５によって実施され得る。
【００４２】
図５は、トランスポートストリームパケットを提供する方法の略図である。方法図５のブロックは線形順序で示されているが、方法５００の記述される要素の実施の順序は融通性があり、一部の要素はその実行の際に重なり得ることを理解すべきである。方法５００は、一部の例では、方法５００を実施する命令を含み得るトランスポートストリーム多重化用の命令２１５に従って動作する図２のＣＰＵ２０５によって実施され得る。ブロック５０５では、メタデータは、メタデータアレイのインデックスポインタによって示される位置で読み出され得る。例えば、図３のメタデータアレイ３００を参照すると、例えば、トランスポートストリーム多重化用の命令２１５に従って動作する図２のＣＰＵ２０５によって、位置‘１’が読み出され得、‘１’でのＲＴＳおよびソースインジケータが読み出され得る。
【００４３】
ブロック５１０では、パケットは、メタデータアレイから読み出されたデータに基づいてトランスポートストリームマルチプレクサによって提供され得る。例えば、トランスポートストリームマルチプレクサは、読み出された位置で示されたソース（例えば、図３の例中の位置‘１’で指定されたソース）からトランスポートストリームパケットを生成し得るが、読み出された位置のＲＴＳは、この生成されたトランスポートストリームパケットに割り当てられ得る。したがって、トランスポートストリームは、クロック信号がトランスポートストリームパケットのＲＴＳと一致するときに、生成されたトランスポートストリームパケットをトランスポートストリーム上に提供し得る。
【００４４】
ブロック５１５では、次のメタデータアレイ位置が、現在のソース（例えば、ブロック５１０でパケットを生成するために用いられるソース）に対して計算され得る。この次のメタデータアレイ位置は、例えば、現在のソースの漏出速度に基づいて計算され得る。各々のソースは、ソースからの連続するパケットがトランスポートストリーム上に置かれるべき速度と一致する指定された漏出速度を有し得る。トランスポートマルチプレクサは、したがって、次のメタデータアレイ位置を、システムクロック、ビットレート、トランスポートパケットサイズ、および漏出速度に基づいて計算し得る。現在のソースに対するソースインジケータが、次に、その計算された位置に記憶され得る。しかしながら、メタデータアレイは有限、例えば、長さがＮ入力であることに留意されたい。したがって、次のメタデータアレイ位置がＮを超える位置であると計算された場合、トランスポートマルチプレクサは、現在のソースに対するソースインジケータを実行可能リスト、例えば図２の実行可能リスト２１１に記憶し得るが、現在のソースからの次のパケットに対する目標ＲＴＳもまた、実行可能リストに記憶され得る。
【００４５】
ブロック５２０で、トランスポートマルチプレクサは、更新されたＲＴＳおよびソースインジケータによって、現在のメタデータアレイ位置を更新し得る。更新されたＲＴＳは現在のＲＴＳプラスＮ＊ΔＲＴＳに等しくあり得るが、それは、インデックスポインタが、Ｎ＊ΔＲＴＳごとにメタデータアレイの同じ位置に復帰するはずであり得るからである。ソースインジケータはスタッフィングパケットソースを示すように更新され得るが、それは、更新されたＲＴＳ値に対する位置には、なにもソースが割り当てられ得ないからである。
【００４６】
ブロック５２５では、トランスポートマルチプレクサは、例えば、図３のインデックスポインタ３０５などのインデックスポインタをインクレメントし得る。図３の例では、インデックスポインタは、位置‘２’にまでインクレメントされ得る。インデックスポインタが位置‘Ｎ’にあるとき、インデックスポインタをインクレメントすると、その結果、インデックスポインタが位置‘０’を指すことになり得る。したがって、インデックスポインタは、メタデータアレイを「包み込み」得る。また、インデックスポインタが位置‘Ｎ’にあるとき、一般に、メタデータアレイの各々の入力は読み出されており、対応するトランスポートストリームパケットはトランスポートストリームマルチプレクサによって生成されている可能性がある。ブロック５２０を参照して上述したプロセスに従って、メタデータアレイ位置の各々を読み出した後では、それらのソースインジケータは、スタッフィングパケットソースインジケータに更新されている可能性がある。したがって、メタデータアレイは再初期化されている可能性がある。
【００４７】
インデックスポインタが位置‘Ｎ’から位置‘０’にインクレメントされたとき、トランスポートストリームマルチプレクサは、図２の実行可能リスト２１１などの動作可能リストを評価し得る。動作可能リストは、ソースインジケータと、Ｎを超えていたメタデータアレイ位置に対する目標ＲＴＳ値とを含み得ることを想起されたい。一部の例では、動作可能リストは、ソースによって編成され得る。動作可能リスト中の各々の入力に対して、トランスポートマルチプレクサは、この入力に対するメタデータアレイ位置を上述の方法を用いて計算し得る。例えば、メタデータアレイ位置は、動作可能リストに記憶されたＲＴＳから現在時間を減算して、その余りをΔＲＴＳで除算することによって計算され得る。メタデータアレイ位置がＮを超える場合、トランスポートストリームマルチプレクサは、ソースおよびＲＴＳを動作可能リストに残し得る。メタデータアレイ位置がＮ以下であれば、計算されたメタデータアレイ位置でのソースインジケータは、そのメタデータアレイ位置が非スタッフィングパケットソースインジケータを既に記憶していない限り、動作可能リストによって示されている適切なソースを反映するように更新され得る。メタデータアレイ位置が非スタッフィングパケットソースインジケータを記憶している場合、トランスポートストリームマルチプレクサは、ソースインジケータおよびＲＴＳを、次のメタデータアレイ位置または、一部の例では、非スタッフィングパケットソースインジケータを現在記憶していないいずれかの次のメタデータアレイ位置に記憶し得る。一旦ソースインジケータおよびＲＴＳがメタデータアレイ中の適切な位置に記憶されたら、トランスポートストリームマルチプレクサは、動作可能リストからそれらを除去し得る。
【００４８】
トランスポートストリームマルチプレクサが、動作可能リストを評価する前に、メタデータアレイのＮ個の全ての入力を通じてインデックスポインタをインクレメントし得る上記の例を説明したが、一部の例では、動作可能リストは、ソースインジケータによってメタデータアレイをより頻繁に更新するために、より頻繁に評価され得る。
【００４９】
本発明の例は、したがって、トランスポートストリームパケットを生成するために用いるべき適切なソースを検索することが不必要であり得るトランスポートストリームマルチプレクサを提供し得る。その代わりに、用いるべきソースは、メモリテーブル、例えばメタデータアレイの中の入力によって示される。全てのソースビットレートの和はトランスポートストリームビットレート未満であり、ソースインジケータは、ソースの漏出速度に従って前進し得るから、本発明の例でメタデータアレイを更新するときに、矛盾がそれ程頻繁に発生することは期待されない。その上、本発明の例は、トランスポートストリームマルチプレクサを操作するために必要とされるＣＰＵサイクルの数を、トランスポートストリームマルチプレクサに提供されたソースの数とは比較的独立に、最小化または減少させ得る。それは、各々のソースが、一部の例では次のパケットが生成されるたびに評価する必要がないからである。 
【００５０】
本発明の一部の例に関わるトランスポートストリームマルチプレクサの性能は、メタデータアレイのサイズＮが増すにつれて向上し得るが、それは、ソースが動作可能リストを対象にする確率が下がり得るからである。しかしながら、この利点は、あるサイズを超えると減退し得るが、それは、一部の例では、一般に、任意の時間でメタデータアレイ中には、１つのソース当たりたった１つの入力しか保たれ得ないからである。アレイのサイズＮは、したがって、一部の例では、Ｎ＊ΔＲＴＳが、クロック周波数をソースの最低フレームまたは繰り返し速度で除算したものを超えるように選択され得る。
【００５１】
一部の例では、スタッフィングパケットの利用可能性は、性能による恩典を容易化し得るが、それは、トランスポートストリームのビットレートが、寄与している全てのソースの合計ビットレートを超え得るからである。一般に、合計ビットレートがトランスポートストリームビットレートを超えると、一部の例の性能は劣化し得る。
【００５２】
本明細書に記述するトランスポートストリームマルチプレクサおよび方法の例もまた、カスケード式マルチプレクサを用いて実現され得る。トランスポートストリームの一部は、本発明の実施形態に従って、トランスポートストリームマルチプレクサに提供される前に、最初に多重化され得る。任意の事前混合されたストリームは、本発明の実施形態に従って実現された下流のマルチプレクサに対する入力として提供され得る。非スタッフィングパケットは、上流のマルチプレクサによって提供されたＲＴＳを用いて、または下流のマルチプレクサの捕獲時間に基づいて再多重化され得る。
【００５３】
アナログ様式では、本発明の例は、１つ以上の高ビットレートソース（例えば、番組）がビットレートをコード変換して保つために除去され得るトランスポートストリームマルチプレクサを調整することを含み得る。例えば、コード変換されていないパケットを含むトランスポートストリームは、カスケード式マルチプレクサの例での事前混合ストリームの提供に類似した様式で本発明の実施形態に従って多重化されたトランスポートストリームに対する入力として提供され得る。
【００５４】
図６は、本発明の実施形態に関わる媒体送達システムの略図である。媒体送達システム６００は、媒体ソース６０２を様々な媒体出力６０４のうちの１つ以上に対して送達する機構を提供し得る。たった１つの媒体ソース６０２および媒体出力６０４しか図６には示されていないが、任意の数を用い得るし、本発明の例を用いて、媒体コンテンツを任意の数の媒体出力部に対して放送および／または別様に送達し得ることを理解すべきである。
【００５５】
媒体ソースデータ６０２は、これらに限られないが、映像、音声、データ、またはそれらの組み合わせを含む媒体コンテンツの任意のソースであり得る。媒体ソースデータ６０２は、例えば、カメラ、マイクロホン、および／または他の捕獲デバイスを用いて捕獲され得るまたは、処理デバイスによって生成もしくは提供され得る音声および／または映像のデータであり得る。媒体ソースデータ６０２は、アナログまたはデジタルであり得る。媒体ソースデータ６０２がアナログデータであれば、媒体ソースデータ６０２は、例えば、アナログ・デジタルコンバータ（ＡＤＣ）を用いてデジタルデータに変換され得る。一般的には、媒体ソースデータ６０２を送信するためには、あるタイプの圧縮および／または暗号化が望ましくあり得る。したがって、これらに限られないが、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４、Ｈ．ＨＥＶＣ、もしくはそれらの組み合わせまたは他の符号化基準などの映像基準に関わる符号化方法を含む、技術上現在周知のまたは将来のいずれかの符号化方法を用いて媒体ソースデータ６０２を符号化し得る符号器６１０が提供され得る。
【００５６】
符号化されたデータ６１２は、衛星６１４、アンテナ６１６、および／またはネットワーク６１８などの通信リンクに提供され得る。符号化されたデータ６１２は、本発明の実施形態に従って準備されたトランスポートストリームを用いて通信リンクに提供され得る。例えば、図２のトランスポートストリームマルチプレクサ２００および／または図４および５の方法を用いて、通信リンクに対して符号化されたデータ６１２を提供し得る。ネットワーク６１８は、有線式または無線式であり得るが、電気的および／または光学的な通信を用いてさらに通信し得る。アンテナ６１６は、地上波アンテナであり得るが、また、例えば、従来のＡＭおよびＦＭ信号、衛星信号、または他の技術上周知の信号を受信および送信し得る。通信リンクは、符号化されたデータ６１２を放送し得るが、一部の例では、（例えば、符号化データ６１２を再符号化、加算、または減算することによって）符号化されたデータ６１２を変更して、変更された符号化データ６１２を放送し得る。通信リンクから提供された符号化データ６２０は、復号器を含むまたはこれに連結され得る受信機６２２によって受信され得る。復号器は、符号化されたデータ６２０を復号して、１つ以上の媒体出力部に、図６に示す媒体出力６０４を提供し得る。
【００５７】
受信機６２２は、これらに限られないが、モデム、ルータ、サーバ、セットトップボックス、ラップトップ、デスクトップ、コンピュータ、タブレット、携帯電話などを含む任意の数のデバイスに含まれるまたはそれらと通信状態にあり得る。
【００５８】
図６の媒体送達システム６００および／または符号器６１０は、コンテンツ配布産業の様々なセグメントで利用され得る。図７は、本明細書に説明する符号器を利用し得るビデオ配布システム７００の略図である。ビデオ配布システム７００は、映像コントリビュータ７０５を含む。映像コントリビュータ７０５は、これらには限られないが、デジタル衛星ニュース収集システム７０６、イベント放送７０７、および遠隔スタジオ７０８を含み得る。これらの映像コントリビュータ７０５の各々またはいずれかは、図６の符号器６１０などの本明細書に記述する符号器を利用して、媒体ソースデータを符号化して、符号化データを通信リンクに提供し得る。そのうえ、これらの映像コントリビュータ７０５の各々またはいずれかは、図２のトランスポートストリームマルチプレクサ２００および図４および５の方法などの本明細書に記述するトランスポートストリームマルチプレクサおよび／または方法の実施形態を用いて、トランスポートストリームを提供し得る。例えば、デジタル衛星ニュース収集システム７０６は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データを衛星７０２に提供し得る。イベント放送７０７は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データをアンテナ７０１に提供し得る。遠隔スタジオ７０８は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データをネットワーク７０３上に提供し得る。他の通信リンクが、他の例ではこれらのシステムの他のもので用いられ得る。
【００５９】
生成セグメント７１０は、コンテンツ発信装置７１２を含み得る。コンテンツ発信装置７１２は、いずれかの映像コントリビュータ７０５またはそれらの組み合わせから符号化データを受信し得る。コンテンツ発信装置７１２は、受信したコンテンツを利用可能なものとし受信コンテンツのいずれかを編集、合成、および／または操作して、コンテンツを利用可能なものとし得る。コンテンツ発信装置７１２は、図６の符号器６１０などの本明細書に記述する符号器を利用して、符号化データを衛星７１４（または別の通信リンク）に提供し得る。コンテンツ発信装置７１２は、符号化データを衛星７１４（または他の通信リンク）に提供するために、本明細書に記載するトランスポートストリームマルチプレクサを含み得る。コンテンツ発信装置７１２は、加えてまたはその代わりに、ネットワークまたは他の通信リンク上で符号化データをデジタル地上波テレビシステム７１６に提供し得、また、本明細書に記載する例としてのトランスポートストリームマルチプレクサを利用し得る。一部の例では、コンテンツ発信装置７１２は、図６を参照して説明した復号器などの復号器を利用して、コントリビュータ７０５から受信したコンテンツを復号化し得る。コンテンツ発信装置７１２は、次に、データを再符号化して、符号化データを衛星７１４に提供し得るが、この衛星もまた、本明細書に記載するトランスポートストリームマルチプレクサの例を利用し得る。他の例では、コンテンツ発信装置７１２は、受信したデータを復号化せず、コード変換装置を用いて、受信データの符号化形式を変更し得る。
【００６０】
一次配布システム７２０は、デジタル放送システム７２１、デジタル地上波テレビシステム７１６、および／またはケーブルシステム７２３を含み得る。デジタル放送システム７２１は、衛星７１４からの符号化データを受信するため、図６を参照して説明した受信機６２２などの受信機を含み得る。デジタル地上波テレビシステム７１６は、コンテンツ発信装置７１２からの符号化データを受信するため、図６を参照して説明した受信機６２２などの受信機を含み得る。ケーブルシステム７２３は、生成セグメント７１０および／またはコントリビュータセグメント７０５から受信され得たまたはされ得なかったそれ自身のコンテンツをホスティングし得る。例えば、ケーブルシステム７２３は、それ自身の媒体ソースデータ６０２を、図６を参照して説明したそれとして提供し得る。
【００６１】
デジタル放送システム７２１は、衛星７２５に符号化データを提供するために、図６を参照して説明した符号器６１０などの符号器を含み得る。デジタル放送システム７２１は、図２のトランスポートストリームマルチプレクサ２００などの本明細書に記載するトランスポートストリームマルチプレクサの例を含み得る。ケーブルシステム７２３は、ネットワークまたは他の通信リンク上でローカル電波中継局７３２に対して符号化データを提供するために、図６を参照して記載した符号器６１０などの符号器を含み得る。ケーブルシステム７２３は、本明細書に記載するトランスポートストリームマルチプレクサのうちの１つ以上の例を含み得る。二次配布セグメント７３０は、例えば、衛星７２５および／またはケーブルローカル電波中継局７３２を含み得る。
【００６２】
ケーブルローカル電波中継局７３２は、ネットワークまたは他の通信リンク上で顧客セグメント６４０中の顧客に対して符号化データを提供するために、図６を参照して記載した符号器６１０などの符号器を含み得る。ケーブルローカル電波中継局７３２は、本明細書に記載するトランスポートストリームマルチプレクサの例を含み得る。衛星７２５は、顧客セグメント７４０中の顧客に対して信号を放送し得る。顧客セグメント７４０は、コンテンツを復号化して、究極的にはコンテンツをユーザに対して利用可能なものとするために、受信機６２２などの受信機および図６を参照して記載した関連付けられた復号器を含み得る任意の数のデバイスを含み得る。顧客セグメント７４０は、セットトップボックス、タブレット、コンピュータ、サーバ、ラップトップ、デスクトップ、携帯電話などのデバイスを含み得る。
【００６３】
したがって、符号化、コード変換、トランスポートストリーム多重化、および／または復号化は、映像配布システム中の多くのポイントのいずれにおいても利用され得る。本発明の実施形態は、これらのセグメントの全てのいずれかの内部または内部の例中で利用され得る。
【００６４】
前記より本発明の特定の実施形態を解説目的で本明細書中に記述したが、本発明の精神および範囲から逸脱することなく、様々な修正がなされ得ることを理解されるであろう。
【図１】
2015525515.tif 000003
【図２】
2015525515.tif 000004
【図３】
2015525515.tif 000005
【図４】
2015525515.tif 000006
【図５】
2015525515.tif 000007
【図６】
2015525515.tif 000008
【図７】
2015525515.tif 000009
【国際調査報告】
2015525515.tif 000010
2015525515.tif 000011