(57)【特許請求の範囲】
【請求項１】
少なくとも１つのソースからのパケット化プログラムデータをデコードしてプログラムガイドを提供する装置であって、
前記パケット化プログラムデータにおける、プログラムガイド情報および補助的情報を獲得する第１のプロセッサであって、前記補助的情報が、
（ａ）オブジェクトに関連付けられた実行可能ソフトウエアアプリケーションファイルのディレクトリと、
（ｂ）前記オブジェクトをプログラムガイド情報項目に関連付けるための非表示のマップと
を含む第１のプロセッサと、
前記第１のプロセッサが獲得する補助的情報に含まれるディレクトリであって、所望のオブジェクトに関連するディレクトリに存在する前記実行可能ソフトウエアアプリケーションファイルを実行して、前記第１のプロセッサが獲得した補助的情報に含まれるマップを用いることにより所望のオブジェクトをプログラムガイド情報項目に関連付けし、所望の情報内容を持つプログラムガイドを作成する第２のプロセッサと、
前記関連付けられたオブジェクトおよびプログラムガイド情報項目を含む前記作成されたプログラムガイドの複合画像を形成して、前記作成されたプログラムガイドの複合画像を表示する表示プロセッサと
を含むことを特徴とする装置。
【請求項２】
実行可能ソフトウエアアプリケーションファイルの前記ディレクトリが、（ａ）放送プログラム、（ｂ）放送チャネル、（ｃ）ユーザインタフェース制御、および（ｄ）前記装置に付属の周辺デバイスのうち、少なくとも１つに関連付けられた補助的情報をリストすることを特徴とする請求項１に記載の装置。
【請求項３】
オブジェクトが、（ａ）ビデオセグメント、（ｂ）オーディオセグメント、（ｃ）テキスト、（ｄ）表示用ユーザ選択可能項目を表すアイコン、（ｅ）ＨＴＭＬまたはＳＧＭＬ文書、および（ｆ）選択可能項目のメニューのうち、少なくとも１つを含むことを特徴とする請求項１に記載の装置。
【請求項４】
前記補助的情報が、前記１つのソースとは異なる別のソースからの前記補助的情報を獲得する際に使用するための獲得情報をさらに含み、
前記獲得情報が、（ａ）インターネットＵＲＬ、（ｂ）インターネットＩＰアドレス、（ｃ）Ｅメールアドレス、および（ｄ）電話、ファックスまたはテレビ電話の番号のうち、１つを含むことを特徴とする請求項１に記載の装置。
【請求項５】
前記表示プロセッサが、使用可能なプログラムガイドの間で選択するユーザ選択入力コマンドに応答して、該ユーザ選択入力で選択された所望の前記作成されたプログラムガイドを表示することを特徴とする請求項１に記載の装置。
【請求項６】
前記補助的情報がオブジェクト複雑性レベルインジケータをさらに含み、
前記装置が、所定のレベルを超える複雑性レベルのオブジェクトを無視することを特徴とする請求項１に記載の装置。
【請求項７】
前記実行可能ソフトウエアアプリケーションファイルが、（ａ）ＨＴＭＬまたはＳＧＭＬファイル、（ｂ）Ｊａｖａ（商標）ファイル、（ｃ）ＡｃｔｉｖｅＸ（商標）ファイル、および（ｄ）デコーダがサポートするソフトウェア言語ファイルのうち、少なくとも１つを含むことを特徴とする請求項１に記載の装置。
【請求項８】
前記第２のプロセッサが、前記実行可能ソフトウエアアプリケーションファイルを実行して、所望のオブジェクトをプログラムガイド情報項目に関連付けすることによって、さらに表示用プログラムガイドを作成し、前記プログラムガイドが、（ａ）プログラム放送の特定の期間、および（ｂ）プログラムの特定のカテゴリのうち、少なくとも１つに基づいて照合されたプログラムのリストを含むことを特徴とする請求項１に記載の装置。
【請求項９】
前記プログラムの特定のカテゴリが、（ａ）特定のテーマまたはトピック、（ｂ）特定の俳優または監督、（ｃ）特定のユーザ定義基準のうち、少なくとも１つを有するプログラムを含むことを特徴とする請求項８に記載の装置。
【請求項１０】
前記第２のプロセッサが、プログラムガイドを、（ａ）放送ソースから獲得されたプログラムガイド情報、および（ｂ）インターネットを介して獲得されたプログラムガイド情報のうち、１つまたは複数から作成することを特徴とする請求項１に記載の装置。
【請求項１１】
前記第２のプロセッサが、（ａ）再生用に使用可能なＤＶＤまたはＶＣＲプログラム、（ｂ）インターネットｗｅｂサイト、（ｃ）事前に格納されたアクセス用のファックスまたは電話番号、（ｄ）テレビ電話サービスアクセス項目、および（ｅ）家庭用電化製品制御機能のうち、１つまたは複数をリストするサービスを含む特別なプログラムガイドを作成することを特徴とする請求項１に記載の装置。
【請求項１２】
特別なプログラムガイドを作成することにおいて、前記第２のプロセッサがプログラムガイド情報を、（ａ）インターネットＵＲＬ、（ｂ）インターネットＩＰアドレス、（ｃ）Ｅメールアドレス、および（ｄ）電話、ファックスまたはテレビ電話番号のうち、１つを含む獲得情報を使用して前記別のソースとの双方向通信を確立することによって、獲得することを特徴とする請求項１１に記載の装置。
【請求項１３】
前記第２のプロセッサによって作成された前記プログラムガイドは、複数の表示用プログラムガイドから選択されたユーザ選択の表示用プログラムガイドであることを特徴とする請求項１に記載の装置。
【請求項１４】
前記実行可能アプリケーションソフトウェアファイルが、（ａ）スケジュールされた放送時間にプログラムを記録するようにＶＣＲまたはＤＶＤデバイスに命令する機能、（ｂ）特定の放送ビデオチャネルに同調させるように前記装置に命令する機能、および（ｃ）特定の放送オーディオチャネルに同調させるように前記装置に命令する機能のうち少なくとも１つをさらに実行することを特徴とする請求項１に記載の装置。
【請求項１５】
少なくとも１つのソースからのパケット化プログラムデータをデコードしてプログラムガイドを提供する方法であって、
前記パケット化プログラムデータにおける、プログラムガイド情報および補助的情報であって、該補助的情報は、
（ａ）オブジェクトに関連付けられた実行可能ソフトウエアアプリケーションファイルのディレクトリと、
（ｂ）前記オブジェクトをプログラムガイド情報項目に関連付けるためのマップと
を含む補助的情報を獲得するためのステップと、
前記第１のプロセッサが獲得する補助的情報に含まれるディレクトリであって、所望のオブジェクトに関連するディレクトリに存在する前記実行可能ソフトウエアアプリケーションファイルを実行して、前記第１のプロセッサが獲得した補助的情報に含まれるマップを用いることにより所望のオブジェクトをプログラムガイド情報項目に関連付けし、前記プログラムガイド情報項目を処理し表示用プログラムガイドを形成するステップと、
前記形成された表示用プログラムガイド情報を作成するステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、デジタル信号処理の分野に関し、より詳細には、チャネルおよびプログラムのためのプログラムガイドに関する。
【０００２】
（発明の背景）
幅広い地理的エリアを包含する、潜在的に数千もの放送プログラムチャネルに関する情報を搬送する大規模プログラムガイドの形成および処理は、いくつかの問題を提起する。包含される地理的エリアは、たとえば米国全体または大陸全体を包含することがあり、大量の情報を、放送（ブロードキャスト：ｂｒｏａｄｃａｓｔ）素材の後続のデコードを容易にするフォーマットで獲得し、照合し、符号化し、放送しなければならないことがある。このような大量の情報を処理するために必要な帯域幅は、処理中の情報量に比例して広がる。したがって、使用可能な帯域幅の使用を最適化するために、プログラムガイドデータを構築する必要がある。
【０００３】
プログラムガイドデータ構造を最適化することができる程度は、構造化データを受信するためのデコーダユニットのコストによって制約される。実際に、伝送帯域幅とデコーダの複雑性の間に生じる兼ね合いがある。兼ね合いのある極端では、プログラムガイド情報のすべての重複および冗長データ要素が、必要とされる伝送および処理帯域幅を最小にするためになくされる。結果として、各デコーダは、プログラムガイドデータストリーム全体から情報を受信し、バッファに入れ、解析し、照合する必要があり、それによって複雑でコストがかかるデコーダが必要となる。
【０００４】
兼ね合いの他の極端では、プログラムガイド情報が、特定のユーザまたはユーザのグループの要件に合わせて調整された個別のサブセットに区分される。これは、各デコーダが、最小の冗長性を含む対象の情報を受信し、バッファに入れ、解析し、照合する必要があり、これによって、より少ない処理能力を必要とする、より簡素でより経済的なデコーダを使用することが容易になることを意味する。しかし、このような区分には、重複プログラムガイド情報項目を、異なる区分に対応する多数の異なるプログラムガイドサブセットに組み込む必要性から結果生じる、増大する情報の冗長性に対処するため、より大きい伝送帯域幅が必要である。大量のプログラムガイド情報を処理すること、および、伝送帯域幅とデコーダの複雑性の間で所望の兼ね合いを達成することに関係する問題は、本発明によるシステムによって対処される。プログラムガイドデータを構築し、区分して、デコーダによるデコードおよび選択可能プログラムガイド生成を容易にすることに関係する派生的な問題も、本発明によるシステムによって対処される。
【０００５】
（発明の概要）
デコーダは、プログラムガイド情報項目に関連付けられたオブジェクトファイルのディレクトリと、オブジェクトファイル（例えば、チャネル、プログラムまたは制御情報またはソフトウエアを表す）をプログラムガイド情報項目に関連付けるためのマップを獲得する。デコーダは、オブジェクトファイルから画像オブジェクトを作成し、画像オブジェクトをプログラムガイド情報項目にリンクさせる。デコーダは、アプリケーションソフトウエアオブジェクトを実行して、表示用の特別のプログラムガイドを形成し、他の命令アプリケーションソフトウエアオブジェクトを実行して、プログラムガイド内にリストされたプログラムを処理する際にデバイスに命令する。
【０００６】
（図面の詳細な説明）
デジタルフォーマットで伝送される放送プログラムは符号化され、プログラムおよび関連するデータをデコードする際に使用されるプログラム固有情報（ＰＳＩ）を含む補助的な情報と共に放送される。プログラム固有情報は、選択されたプログラムチャネルの内容を回復するために、個々のデータパケットを識別して組み立てる際に使用するための、プログラムガイドデータおよび情報を含む。プログラム固有情報および関連するプログラム内容は、たとえば大陸、国または州全体などの幅広い地理的エリアを包含する、潜在的に数千もの放送プログラムチャネルおよび関連するマルチメディアオブジェクトに関する情報を搬送する、大規模プログラムガイドを搬送するように構築されるので有利である。マルチメディアオブジェクトには、オーディオクリップ、ビデオクリップ、アニメーション、静止画像、インターネットデータ、Ｅメールメッセージ、テキストおよび他のタイプのデータが含まれる。独立したユニットとしてみなすことができるマルチメディアオブジェクトおよびデータエンティティは、個々のプログラム内の画像またはプログラムガイド構成要素に関連付けられる。マルチメディアオブジェクトは、たとえばプログラムガイドまたはビデオプログラムを表す、複合ビデオ画像に組み込まれる。補助的情報のデータ構造は、単方向通信アプリケーション、たとえば受動的表示、および双方向通信アプリケーション、たとえばインタラクティブなタイプの機能をサポートし、格納アプリケーションもサポートする。
【０００７】
プログラム固有情報および関連するプログラム内容を、異なるサービスプロバイダによって、インターネットを介して放送／マルチキャストモードで、あるいは、加入または他のペイパービューベースの地上、衛星またはケーブル放送を介して、送達することができる。このデータ構造によって、異なるデータフォーマット符号化されて、異なる通信プロトコルでローカルおよびリモートソースから送られる、マルチメディアオブジェクトの獲得およびデコードが容易になる。
【０００８】
以下で、ＭＰＥＧ互換であると称されるデータは、「ＭＰＥＧ規格」と呼ばれるＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）画像符号化規格に準拠する。この規格は、システム符号化セクション（ＩＳＯ／ＩＥＣ  １３８１８−１、１９９４年６月１０日）およびビデオ符号化セクション（ＩＳＯ／ＩＥＣ  １３８１８−２、１９９５年１月２０日）からなる。
【０００９】
本発明の原理によるデータ構造要素は、ＭＰＥＧ互換フォーマット（ＭＰＥＧシステム規格のセクション２．４．４による）で搬送することができ、あるいは、以下でＰＳＩＰ規格と称する、「Ｐｒｏｇｒａｍ  ａｎｄ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｂｒｏａｄｃａｓｔ  ａｎｄ  Ｃａｂｌｅ」、Ａｄｖａｎｃｅｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍｓ  Ｃｏｍｍｉｔｔｅｅ（ＡＴＳＣ）出版、１９９７年１１月１０日、または他のＡＴＳＣ規格と互換性のあるフォーマットで搬送することができる。さらに、データ構造要素は、ＭＰＥＧ−４またはＭＰＥＧ−７規格などの他のＭＰＥＧ規格、または特定のシステムのメーカ独自またはカスタム要件に従って、形成することができる。
【００１０】
本発明の原理を、地上、ケーブル、衛星、インターネットまたはコンピュータネットワーク放送システムに適用することができ、コーディングタイプまたは変調フォーマットを変えることができる。このようなシステムには、たとえば、他のタイプの符号化データストリーム、およびプログラム固有情報を搬送する他の方法を含む、非ＭＰＥＧ互換システムを含めることができる。さらに、開示したシステムは放送プログラムを処理するものとして記述するが、これは例示的でしかない。「プログラム」という用語を使用して、たとえば、オーディオデータ、電話メッセージ、コンピュータプログラム、インターネットデータまたは他の通信など、あらゆる形式のパケット化データを表す。
【００１１】
図１は、プログラム固有情報を搬送するトランスポートストリームレベルのデータ構造に使用するための、大規模プログラムガイド（ＶＬＰＧ）階層ファイル／テーブルフォーマットの概観を示す。この構造は、階層的に配列され、相互リンクされた多数のテーブルを含む。テーブルはデータおよびパラメータの配列からなり、これらは、ＴＶチャネル、ＴＶプログラム、チャネルパラメータ、プログラムパラメータ、関連するマルチメディアオブジェクトおよびオブジェクトパラメータなどの集まりまたはシーケンスをエミュレートし、記述するために使用される。図１の例示的階層テーブル配列は、マスタガイドテーブル（ＭＧＴ）１２０、マスタデータベーステーブル（ＭＤＢＴ）１２２、内容および分類テーブル（ＣＣＴ）１１４、システムタイムテーブル（ＳＴＴ）１１６、および評価地域テーブル（ＲＲＴ）１１８を含む。図１の階層は、地上、ケーブルおよび衛星チャネル情報テーブル（それぞれＴＣＩＴ項目１１２、ＣＣＩＴ項目１１０、およびＳＣＩＴ項目１０８）も示し、ここでチャネル情報が、ＣＢＳ、ＮＢＣ、ＨＢＯ、Ｃｏｍｃａｓｔなどのネットワークプロバイダによって照合される。追加のテーブルは、スケジュール情報テーブル（ＳＩＴ  １０６、ＳＩＴ  １０４およびＳＩＴ  １０２）を含み、ここでプログラムまたはサービスがソースによって照合される。
【００１２】
ＭＧＴは、他のテーブルで搬送されたプログラム固有情報を獲得する際に使用するための情報を含む。チャネル情報テーブル−ＣＩＴ（たとえば、ＴＣＩＴ、ＣＣＩＴ、またはＳＣＩＴ）は、ユーザが選択したプログラムチャネルを受信するための同調およびナビゲーションのための情報を含む。ＳＩＴは、ＣＩＴにリストされたチャネルで受信可能なプログラム（イベント）の記述リストを含む。ＣＩＴ、ＳＩＴまたは他のテーブルのいずれかを使用して、ユーザが特定のプログラムを選択してそれに同調することを可能にする情報を搬送することができる。ＣＩＴは典型的には、いくつかのイベント（ＴＶプログラム）に渡って一定のままである、オーディオビジュアルプログラム内容データを獲得するためのパラメータを搬送するために使用される。ＳＩＴは典型的には、イベント（個別のＴＶプログラム）について一定のままである、オーディオビジュアルプログラム内容データのパラメータを搬送するために使用される。階層テーブル内で項目を記述して補う追加のプログラム固有情報は、記述子情報要素内で搬送される。
【００１３】
幅広いエリアのプログラムガイドに十分なデータを収容するために、図１の階層の個々のテーブルは、エリア（たとえば、地理的、放送、またはネットワーク市場エリア）およびスケジュールされた放送時間によって区分可能なので有利である。また、テーブルデータは、たとえばデコードにおけるスケーラビリティを可能にするために、データまたはマルチメディアオブジェクトの複雑性レベルなどの第３のパラメータに従って、追加的に区分することができる。このタイプのプログラムガイド区分は、図１００に示された３次元セルによって表現される。実際に、図１のＶＬＰＧ構造は、実質的に、ガイドプロバイダが必要とする可能性のあるあらゆるタイプの区分をサポートする。エリアおよび時間に基づいた区分は、時間およびエリア識別子を、図１の１つまたは複数のテーブル、および関連付けられたオブジェクトデータに含めることによって達成される。エリアおよび時間区分識別子を通信プロトコルのトランスポートレベルにこの方法で含めることによる利点は、デコーダの処理負担（たとえばデータを解析するため）を軽減することであり、そうでなければ、区分がより高いレベル、いわばアプリケーション層レベルで行われた場合に、この負担が生じる。結果として、プログラムガイドフィルタリングがトランスポート層で行われ、デコーダユニットに含まれたトランスポートチップによって直接実行される。しかし、望む場合は、テーブルデータおよびオブジェクトのための時間およびエリア識別子を、このようなより高いレベルで含めることが可能である。
【００１４】
プログラムガイドの伝送および処理においては、帯域幅の需要が、伝送する必要のあるチャネルおよびプログラム情報の量および関連するオブジェクトの数と共に増大する。大規模プログラムガイドでは、簡素な場合であっても、数千もの項目の情報およびオブジェクトの伝送が必要になる可能性がある。簡素なプログラムガイドは、画像もオーディオも、ビデオクリップも有さないことがあるが、なお、少なくとも、それが搬送する数千ものプログラム（イベント）のためのテキスト記述が必要となる。プログラムガイド情報を、冗長性なしに、単一のｂｉｎまたはデータファイルにおける区分なしに、送信することが可能である。このような場合、および、トランスポートレベルの区分がない場合、テキスト記述（たとえば）が単一のデータファイルで終わる。これは、たとえば、サンディエゴのデコーダがすべての素材（イベントテキスト記述、画像または他のあらゆるオブジェクト）を米国内の他のすべての市から受信し、トランスポートレベルで無用な素材を廃棄することが不可能となることを意味する。したがって、トランスポートレベルの区分がない場合、デコーダが、受信したプログラムガイド情報をアプリケーションレベルでフィルタリングすることが必要である。これはプロセッサ集中型で、時間のかかる、負担の大きいタスクであり、高度なソフトウェアおよび著しい処理能力を要し、デコーダユニットのコストが上がる。
【００１５】
図１のＶＬＰＧデータ構造は、エリアに基づいた区分をトランスポート層レベルで使用するオプションを提供するので有利である。プログラムガイド情報は、たとえば東部エリア、中央部エリア、山岳部エリア、および太平洋沿岸エリアに区分することができる。次いで、サンディエゴのデコーダは、もはや他の３地域からのプログラムガイド情報を受信する必要がない。したがって、このような区分によって、デコーダにおける解析およびフィルタリングの負担が著しく軽減され、より小さい区分では（たとえば、州毎では）さらに解析およびフィルタリングの負荷が軽減される。このような区分の別の利点は、適用可能な、区分されたプログラムガイド情報のダウンロードに含まれる時間が削減されることである。
【００１６】
しかし、プログラムガイド情報の区分は、冗長プログラムガイドデータの導入を含む。これは、このような区分にはデータ項目の重複が必要であるからである。一例として、バスケットボール試合が太平洋沿岸および山岳部地域で放送される場合、関連するテキスト記述情報の２つのコピーを伝送する必要があり、各区分についての１つのコピーが太平洋沿岸および山岳部地域を対象とする。区分の数が増加するにつれて、冗長情報の量も増加し、より大きい伝送帯域幅が必要となることが分かる。したがって、帯域幅と情報フィルタリングの負荷の間に兼ね合いがある。多数の区分は高速な情報フィルタリングを含意するが、増大した帯域幅のコストによるものである。唯一の区分しかないとき、冗長性がないので、したがって帯域幅は最小であるが、フィルタリングの負担はより大きい。これは、すべてのプログラムガイド情報項目を解析する必要があるためである。
【００１７】
時間およびエリアセルを、ＭＰＥＧ２  ＰＳＩおよびＤＳＭ−ＣＣフィールドを使用することによって、ＭＰＥＧ−２互換データ構造にマッピングすることができる。すべてのテーブルが、エリアに基づいた識別子を含む必要がある可能性があるわけではない。プログラム内容評価は、たとえば、典型的には米国中どこでも適用可能である。図１のＶＬＰＧアーキテクチャでは、エリアに基づく区分をチャネル情報テーブル（ＣＩＴ）およびマスタガイドテーブルに適用することによって、著しい利点が得られる。ＣＩＴは、サービスプロバイダ用のチャネルラインナップ（使用可能なチャネルのリスト）を定義し、サービスプロバイダによって包含された地理的エリアに依存する。たとえば、インディアナポリスの地上放送用のチャネルラインナップは、フィラデルフィアのケーブルプロバイダ用のチャネルラインナップとは異なる。図１のシステムでは、ＭＧＴも地理的エリアに依存するが、これは必ずしもその限りではない。
【００１８】
プログラムガイド情報を特定の視聴者に集中的に対象とすることを中心として実行する能力は、放送市場レベルでチャネルラインナップの細かいエリアベースの区分を作成できることから導出される１つの利点である。これを達成するために、異なるテーブル「インスタンス」が作成される。テーブルインスタンスは、特定の市場エリアを対象とするテーブルのバージョンであり、適用可能な市場エリアを識別するためのエリア識別子を組み込む。単一のテーブルの多数のインスタンスを同時に伝送することができ、それぞれが異なる情報を搬送する。異なるテーブルインスタンスは、ＭＰＥＧ−２プロトコルの「ｔａｂｌｅ＿ｉｄ＿ｅｘｔｅｎｓｉｏｎ」フィールドを使用して認識される。
【００１９】
図２および図３は、プログラム固有情報を搬送する際、および市場エリア識別のためのｔａｂｌｅ＿ｉｄ＿ｅｘｔｅｎｓｉｏｎフィールドを組み込む際に使用するための、マスタガイドテーブル（ＭＧＴ）フォーマットおよびチャネル情報テーブル（ＣＩＴ）フォーマットをそれぞれ示す。図２のＭＧＴおよび図３のＣＩＴでは、この市場エリア識別フィールドが「ｎｅｔｗｏｒｋ＿ｐｒｏｖｉｄｅｒ」と呼ばれ、ＭＧＴデータ構造の項目１３０として、ＣＩＴデータ構造の項目１４０として示される。ｎｅｔｗｏｒｋ＿ｐｒｏｖｉｄｅｒエリア識別子フィールドは１６ビットのフィールドで、一意的にネットワークプロバイダを識別するために使用される。ネットワークプロバイダの意味は、伝送媒体によって決まる。具体的には、地上放送では、ネットワークプロバイダは地理的地域内の局の集合であり、ケーブル放送では、ネットワークプロバイダはローカルケーブルサービスプロバイダであり、衛星放送では、ネットワークプロバイダは衛星サービスプロバイダである。
【００２０】
図１のデータ構造では、異なるタイプのプログラム固有およびプログラムガイド情報が、異なるエリアを対象とすることができるので有利である。この特徴によって、デコーダの複雑性、および、プログラムガイドデータの放送および受信に関係する処理帯域幅の間の、受け入れ可能な兼ね合いを選択する際の柔軟性が許される。一例として、マルチメディアオブジェクトを、チャネルラインナップ情報よりも粗いエリアに区分することが受け入れ可能である可能性がある。図１のデータ構造によって、ガイドプロバイダには、異なるタイプのデータを、粗いエリアから細かいエリアに及ぶ異なる段階のエリアに区分する能力が与えられる（たとえば、国、州、または郡と同じ程度に広いエリアから、市、町、街区または個々の顧客とも同じ程度に細かいエリアに及ぶ）。
【００２１】
さらに、プログラムガイド情報をデコーダで照合して、ユーザに、異なるエリア用（たとえば、２つの近隣エリアの間、または使用可能なエリアのいずれかからのガイドの選択）、または異なる期間の放送時間用のプログラムガイドの間での選択を提供することができる。そのようにして、プログラムガイドをデコーダで、異なるエリアに関連付けられた１つまたは複数の使用可能なプログラムガイドから、リモートユニットまたは他のデータエントリデバイスを介したユーザ選択入力に応答して、選択することができる。このような選択を実行する際、デコーダが、（受信したプログラムガイド情報に関連付けられた）地域識別指定を、事前に格納された、デコーダの場所を表す地域識別指定と比較する。このような地域識別指定は、郵便番号、電話の市外局番、および他のあらゆる地域識別コードを含むことができる。
【００２２】
図４は、ＶＬＰＧ内のオブジェクトを搬送するための、マルチメディアオブジェクトデータ構造フォーマットを示す。マルチメディアオブジェクトデータ構造は、ＭＰＥＧ  ＤＳＭ−ＣＣ互換ｃａｒｏｕｓｅｌＩｄ識別子（図４の項目１５０）内のエリアおよび時間識別子フィールドの使用を通じて、エリアおよび時間に基づいた区分をサポートする。
【００２３】
図５、図６、および図７は、チャネル、イベントおよび制御オブジェクトをそれぞれ含む、オブジェクトのデータ構造の例を示す。具体的には、図５はチャネル基本情報ファイル（チャネルＢＩＦ）バイナリファイルを示し、図６はイベント基本情報ファイル（イベントＢＩＦ）バイナリファイルを示し、図７は制御基本情報ファイル（制御ＢＩＦ）バイナリファイルを示す。図４と類似の方法で、図５〜図７のチャネル、イベントおよび制御オブジェクトデータは、エリアおよび時間識別子フィールドを、ＭＰＥＧ  ＤＳＭ−ＣＣ互換ｃａｒｏｕｓｅｌＩｄ識別子（図５〜図７のそれぞれ項目１５３、１５７および１５９）内に含む。
【００２４】
図８の項目１５２は、（図４、図５、図６および図７のテーブルで使用されるような）ＭＰＥＧ互換ｃａｒｏｕｓｅｌＩｄのための例示的ｃａｒｏｕｓｅｌＩｄデータ構造を示す。ｃａｒｏｕｓｅｌＩｄは、データベース参照として使用するための１６ビットのディレクトリ項目識別子、８ビットの時間識別子および８ビットのエリア識別子を含む。これらのフィールドによって、デコーダがプログラムガイドデータを、エリアおよび時間に基づいた区分に基づいて選択的にフィルタリングすることが可能となる。
【００２５】
図１のＶＬＰＧデータ構造では、マスタデータベーステーブル（ＭＤＢＴ項目１２２）を使用して、プログラムガイド区分（セル）を定義し、その場所でデコードするために使用可能なセルをデコーダに知らせる。図９は、階層に基づいたバージョン識別子およびセル区分識別子を組み込むマスタデータベーステーブルのデータ構造を示し、これは動的なプログラムガイドの再区分が可能となるので有利である。項目１７０および１７８の間のコードは、区分されたセルを定義するループを含む。このループ内で、「ｃｅｌｌ＿ｔｙｐｅ」と呼ばれるフィールド（項目１７２）が、図１０に示すようなセルの索引を決定する。
【００２６】
図１０の項目１７９は、セルタイプインジケータのための例示的データ構造を示す。セルタイプインジケータは、オブジェクトの複雑性レベルを定義するために使用される、８ビットの複雑性レベル識別子を含む。セルタイプインジケータは、エリアおよび時間に基づいた区分を定義するための、８ビットのエリア識別子および８ビットの時間識別子も含む。
【００２７】
個々のオブジェクトまたはプログラムガイド情報項目は、オブジェクトをそのマザーセルの時間およびエリア索引にリンクするためのｃａｒｏｕｓｅｌＩｄ（図８で定義され、図４で項目１５０として示す）を含む。動的プログラムガイド再区分は、ＭＤＢＴのセルリストを再配列することによって、および、ｃａｒｏｕｓｅｌＩｄ内のマザーセル時間およびエリア索引識別子における動的変更によって、達成される。したがって、ガイドプロバイダは、プログラムガイドデータ構造を動的に再区分して、使用可能な伝送帯域幅またはデコーダの複雑化における変化に適応することができる。ガイドプロバイダは、増大した帯域幅が使用可能になった場合、より細かい区分を使用してより高速なオブジェクトフィルタリング時間を提供することができ、あるいは、デコーダの処理能力が向上した場合は、より粗い区分を使用して帯域幅を保持することができる。そのようにして、サンディエゴのデコーダは、今日、エリア０および７に関連付けられたプログラムガイド情報へのアクセスを有することができるが、将来はこのデコーダに、たとえば、より細かい区分を反映して、地域０および９に関連付けられたプログラムガイド情報へのアクセスが与えられる可能性がある。将来、帯域幅と区分の間で適切な兼ね合いを選択することによって、米国と同じ程度に広いエリアを包含するガイドに存在するマルチメディアオブジェクトへのリアルタイムアクセスを提供できることは、まったく可能である。
【００２８】
図１１は、チャネル、イベントおよび制御サブディレクトリの下にオブジェクトファイルを含む、オブジェクトデータベースのための階層ディレクトリフォーマットを示す。図１１は、「ｅｖｅｎｔ２」などの特定のイベントが、その必要なファイルを含む、それ自体のディレクトリを有することができることを示し、たとえば、「ｅｖｅｎｔ２」は４つの関連するオブジェクト（図１１の項目２４０、２４２、２４４および２４６）を有する。オブジェクトデータベースを使用して、ディレクトリに基づいたアドレスが、処理のためにトランスポートレベルのフィールドにマッピングされる。たとえば、／ＶＬＰＧ／ＴＩＭＥ１／ＡＲＥＡ１／ｅｖｅｎｔｓ／ｅｖｅｎｔ２／ｅｖｅｎｔ．ｂｉｆなどのパス（図１１のディレクトリ項目２２０、２２４、２２８、２３２、２３８、２４２を通るパス）が与えられると、あるｃａｒｏｕｓｅｌＩｄおよびｍｏｄｕｌｅＩｄを有する唯一のオブジェクトがある。たとえば、この場合、以下のマッピングが適用される。
【００２９】
／ＶＬＰＧ  ―――――――――＞ＶＬＰＧオブジェクトデータベースから抽出されたファイル
／ＴＩＭＥ１  ――――――――＞  ０ｘ０１（時間変数）
／ＡＲＥＡ１  ―――――――――＞  ０ｘ０１（エリア変数）
／ｅｖｅｎｔｓ／ｅｖｅｎｔ２  ―――＞  ０ｘ３００５（ディレクトリ数変数）
【００３０】
したがって、このデータベースアドレスは、０ｘ０１０１３００５のｃａｒｏｕｓｅｌＩｄへマッピングされる。さらに、ｅｖｅｎｔ．ｂｉｆ（項目２４２）は、プログラムガイド情報から決定することができるｍｏｄｕｌｅＩｄを有する（この例では、値０ｘ０００２など）。トランスポートレベルのフィールドからディレクトリに基づいたアドレスへの逆のマッピングも一意的であり、類似の方法で導出することができる。
【００３１】
図１１に例示したディレクトリ構造は、伝送されたオブジェクトを処理し、それと対話するためのソフトウェアの動作をサポートする。処理ソフトウェアは、ファイル形式で、オブジェクトと共に伝送することができ、次いでデコーダによって解釈あるいはコンパイルされ、実行される。このような処理ソフトウェアは、多数のアプリケーションに使用することができ、内容に基づいたプログラムガイドをデコーダで、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）、ＳＧＭＬ（Ｓｔａｎｄａｒｄｉｚｅｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）、Ｊａｖａ、ＡｃｔｉｖｅＸおよびデコーダがサポートする他のあらゆる言語などの言語で、作成することを含むので有利である。一例として、毎週日曜に、ガイドプロバイダが、入手可能な日曜の映画をすべて記述するｗｅｂサイトを、ｗｅｂブラウザを含む、ＨＴＭＬソフトウェアをサポートするデコーダユニットに伝送するために、準備したいことがある。日曜ガイド情報はＨＴＭＬで符号化され、デコーダに、特別なｗｅｂサイトを記述するＨＴＭＬソフトウェアファイルとして伝送される。ＨＴＭＬファイルは、オブジェクトデータベースのディレクトリ構造のいかなる場所にも位置し、共に、特別なｗｅｂサイトを含む日曜映画ガイドリストを形成する画像、テキスト、ビデオ、およびオーディオファイルを生成する。そのようにして、日曜ガイドｗｅｂサイトが、オブジェクトデータベースの一部として放送され、従来のようにインターネットサーバからアクセスされない。このように搬送することができる、他の特別なプログラムガイドｗｅｂサイトは、たとえば、（ａ）再生のために使用可能なＤＶＤ／ＶＣＲプログラム、（ｂ）他のインターネットｗｅｂサイト、（ｃ）アクセス用に事前に格納されたファックス／電話番号、（ｄ）テレビ電話機能および（ｅ）家庭用電化製品制御機能をリストすることができる。
【００３２】
ユーザは、オブジェクトデータベースに含まれた特別な日曜ガイド放送ｗｅｂサイトの表示を、リモートユニットまたは他のデータエントリデバイスを使用して、関連付けられた表示メニュー項目または表示アイコンを選択することによって、開始することができ、類似の方法で、放送ｗｅｂサイトをナビゲートし、公示された映画を概観することができる。また、ユーザが、ｗｅｂサイトを介して、（ａ）ＶＣＲまたはＤＶＤユニットのプログラミング、（ｂ）所望のチャネルへの同調、または（ｃ）類似の方法でオブジェクトデータベースの一部として放送されるか、あるいは電話（またはケーブル）回線を介して従来のようにアクセスされる、他のインターネットサイトへのアクセスなどの、コマンドを開始できることが可能である。さらに、このような電話（またはケーブル）回線のインターネットアクセスを開始する際に、デコーダは放送または他のソースからアクセス情報を獲得することができる。このようなアクセス情報は、たとえば（ａ）インターネットＵＲＬ、（ｂ）インターネットＩＰアドレス、（ｃ）Ｅメールアドレス、および（ｄ）電話／ファックス／テレビ電話番号を含む。
【００３３】
図１１の階層ディレクトリ構造は、図１のＶＬＰＧ構造によって提供される別の利点を示す。大規模プログラムガイドでは、構成テーブルおよびオブジェクトの更新を管理することが、大量のバージョン番号を検査することを含む（数千ものバージョン番号が含まれる可能性がある）。デコーダは、バージョン番号の変更の判定に応じて、特定のプログラムガイドテーブルまたはオブジェクトをダウンロードし、バージョン番号の変更が示されないこれらのテーブルまたはオブジェクトを無視する。このタスクは、ＭＧＴなどの１つのテーブルにおける変更に影響されやすいテーブルおよびオブジェクトのすべてのバージョン番号をリストすることによって、助けられることが可能である。ＭＧＴは十分に高速な速度で放送され、デコーダがＭＧＴを検査して、どのテーブルまたはオブジェクトが変更になったかを判定し、変更されたテーブルまたはオブジェクトを適時な方法で獲得することを可能とする。しかし、ＭＧＴ内のあらゆるエントリを解析することは、大規模ガイド構造では非常に時間がかかることになる可能性がある。
【００３４】
この問題には、階層バージョン制御のシステムを使用することによって対処し、このシステムにはバージョン制御を実行するいくつかのテーブルがある。これらのテーブルは、図１１によって例示されるようなツリー構造に配列される。図１１では、テーブル２３８（ｅｖｅｎｔ２）が、テーブル２３８の下のこれらのテーブル／ファイルのバージョンを制御する。テーブル２３２（ｅｖｅｎｔｓ）がテーブル３３６（ｅｖｅｎｔ１）および２３８のすべてのバージョンを制御する。テーブル２２８（ＡＲＥＡ１）は、テーブル２３０（ｃｈａｎｎｅｌｓ）、２３２および２３６（ｃｏｎｔｒｏｌ）のみのバージョンを制御する。このようにして、各テーブルに格納されたバージョン番号情報は小さく、ツリーを上から下まで走査することによって、更新する必要のあるこれらのファイル、テーブルまたはオブジェクトを迅速に発見することが可能である。
【００３５】
多数レベルの構造を上に記述したが、２層バージョン制御構造も、図１のＶＬＰＧのデータベースのオブジェクトのバージョン制御に使用することができる。２層の例では、ツリー階層の上層が、図９に例示したようなマスタデータベーステーブル（ＭＤＢＴ）である。第２のレベルはＭＤＢＴレベルの下であり、それぞれ先に記述した図５、図６、および図７のデータ構造によって例示されたような、チャネル、イベントおよび制御基本情報ファイルを含むセルからなる。チャネル、イベントまたは制御ファイルのいずれかにおける変更は、それらのそれぞれのバージョン番号、項目１６０（図５）、項目１６３（図６）および項目１６７（図７）における変更によって知らされる。さらに、チャネル、イベントまたは制御ファイルバージョン番号におけるいかなる変更も、次の階層（セル）レベルバージョン番号における変更によって知らされる。すなわち、このような変更は、図９のＭＤＢＴのバージョン番号１７６における変更によって知らされる。特定の例として、チャネルのロゴ（データベース内のイメージ）があるバージョンから別のバージョンに変更になった場合、チャネルＢＩＦはこの変更を項目１６０（図５）に反映させる。ＭＤＢＴは、セルレベルの項目１７６（図９）における変更も知らせる。デコーダは、最初にＭＤＢＴを検査し、セルバージョン番号が変更になったことを判定し、次いでＢＩＦファイルを検査して、セル内で変更になったオブジェクトを識別する。
【００３６】
図９のマスタデータベーステーブル（ＭＤＢＴ）構造は、大規模プログラムガイドを処理することにおける別の利点を提供する。デコーダの複雑化および処理能力および複合マルチメディアオブジェクトを処理する能力は、時間と共に発展する。たとえば、第１世代のセットトップボックスデコーダは、ビットマップ形式における画像処理に、大幅に制限されていた。しかし、より新しい世代のデコーダは、圧縮解除ソフトウェアを使用してＪＰＥＧ、ＧＩＦまたは他の画像フォーマットをダウンロードすることができ、将来の世代は、画像だけでなく多数のフォーマットのムービークリップも処理できるであろう。したがって、プログラムガイドデータは、デコーダのスケーラビリティをサポートするように、すなわち、ある範囲の様々な複雑性のデコーダで、それらに与えられたレベルの処理能力を使用してプログラムガイド情報を処理可能にするように、構築することが望ましい。それによって、低複雑性のデコーダが、それらが処理可能なオブジェクトを識別することができ、それらの処理能力を越えるオブジェクトを廃棄することができる。そうでない場合、高複雑性のオブジェクトが、低複雑性のデコーダの動作を、バッファのオーバーフローまたは他の問題を生じることによって損なう可能性がある。
【００３７】
図９（および図１０）のＭＤＢＴデータ構造は、デコーダユニットにおける効率的なマルチメディアオブジェクト複雑性の識別をサポートするので有利である。このため、ＭＤＢＴがＰＩＤ（パケット識別子）値をデータベースのセルに割り当てる。図９では、項目１７２は特定のセルを識別し、項目１７４によってＰＩＤ値と関連付けられる。さらに、項目１７２は、時間、エリアおよびセルの複雑性調整を定義する２４ビットのフィールドｃｅｌｌ＿ｔｙｐｅを定義する（図１０を参照）。そのようにして、オブジェクト複雑性レベルインジケータが、ＭＰＥＧ−２互換トランスポート層フィールドに含まれる。それによって、異なる複雑性レベルに属するデータベースのオブジェクトが、異なるＰＩＤによって識別されたストリームで搬送される。デコーダは複雑性レベルを事前に割り当てられ、デコーダはＭＤＢＴ（具体的には項目１７２）を、事前に割り当てられたデコーダ複雑性レベルに合致するかあるいはそれを下回る複雑性レベルを有する、これらのセルのＰＩＤ値を選択および取り込む際に、適用する。デコーダの能力を超える複雑性レベルのオブジェクトは、トランスポートレベルで廃棄されるので有利である。
【００３８】
図１２は、本発明による、プログラム固有情報を形成するための方法のフローチャートを示す。図１２の方法は、先に記述した有利な特徴を含む、ＭＧＴ、ＭＤＢＴ、ＣＣＴ、ＳＴＴ、ＲＲＴ、ＴＣＩＴ、ＣＣＩＴ、ＳＣＩＴおよびＳＩＴデータおよび記述子を含む、プログラム固有情報を生成する。この方法は、プログラムガイドデータを放送するためのデコーダで使用することができ、あるいは、別のデバイスへの伝送のためにデコーダユニット内でプログラムガイドデータを符号化するために使用することができる。
【００３９】
図１２のステップ２５０で開始した後、ステップ２５３で、先に記述したデータ構造原理に基づいた方法が、プログラム固有情報を区分するために選択される。プログラム固有情報は、時間セグメントおよびエリア、ネットワークタイプ、複雑性レベル、セル、およびプログラム（イベント）に従って区分される。ステップ２５５で、区分されたプログラム固有情報を収容するために、ＰＩＤ値が割り当てられる。非ＭＰＥＧトランスポートプロトコルが使用された場合、ＰＩＤ値を、論理チャネルを識別する適切なパラメータで置換することができる。ステップ２５７で、ＭＧＴおよびＭＤＢＴ（または他のタイプの制御テーブル）が、区分動作中に形成されたものを含むように生成される。ＭＧＴは、他のテーブルで搬送されたプログラム固有情報を獲得する際に使用するための情報を搬送する。ＭＤＢＴは、マルチメディアオブジェクトをトランスポートストリームから獲得する際に使用するための情報を搬送する。
【００４０】
ステップ２６０で、個々のＣＣＴ、ＳＴＴ、ＲＲＴ、ＴＣＩＴ、ＣＣＩＴ、ＳＣＩＴおよびＳＩＴなどのテーブルが、区分された構造に従って形成される。個々のテーブルは、先に記述した本発明の原理に従って導出された、マルチメディアオブジェクトのリンク、バージョン番号および識別子を組み込む。ＣＩＴ（たとえば、ＴＣＩＴ、ＣＣＩＴおよびＳＣＩＴ）は、個々のプログラムを特定のチャネル上で伝送されるように構成する、個々のパケット化データストリームを識別するためのパケット識別子を含む、使用可能な放送プログラムおよびチャネルの獲得を可能にするチャネルおよびプログラム識別情報を含むように形成される。さらに、ステップ２６０で、ＳＩＴが、ＣＩＴにリストされたチャネル上で受信可能なプログラム（イベント）の記述リストを含む、プログラムガイドスケジュール情報を含むように生成される。
【００４１】
ステップ２６３で、ステップ２６０で形成されたテーブルと、関連するマルチメディアオブジェクトが共に、所望のデータフォーマットおよびプロトコルと互換性を持つようにフォーマットされる。このようなデータフォーマットおよびプロトコルには、たとえば、ＭＰＥＧ２互換プログラム固有情報、ＭＰＥＧ２  ＤＳＭ−ＣＣ、ＤＳＳ、およびインターネット互換ファイル転送フォーマットが含まれる。ステップ２６５で、結果としてフォーマットされたテーブルおよびマルチメディアオブジェクトが、地上伝送のために指定されたそれらの場所でデータストリームに組み込まれる。ＭＧＴおよびＭＤＢＴが、ステップ２６７でデータストリームに組み込まれる。
【００４２】
ステップ２７０で、ステップ２６７で作成されたプログラム固有情報と、多数のチャネルのための構成要素（および他のデータ）を表すビデオおよびオーディオプログラムが共に多重化され、出力用のトランスポートストリームにフォーマットされる。ステップ２７０で、出力トランスポートストリームがさらに、たとえば受信器、ビデオサーバ、または記憶媒体上で記録するための記憶デバイスなどの別のデバイスへの地上伝送に適するように処理される。ステップ２７０で実行されたプロセスは、データ圧縮リードソロモン符号化、インターリービング、スクランブリング、トレリス符号化、および搬送波変調など、既知の符号化機能を含む。このプロセスは、ステップ２７５で完了し、終了する。図１２のプロセスでは、拡張された数のチャネルに対処するために、多数のＣＩＴ、ＳＩＴおよび関連する拡張テーブルを形成し、プログラム固有情報に組み込むことができる。さらに、他の実施形態では、テーブルを類似の方法で、たとえば衛星、ケーブルまたはインターネット伝送用に処理することができる。
【００４３】
図１３のビデオ受信器システムでは、放送プログラム内容を表すオーディオ、ビデオおよび関連データを搬送する信号で変調された放送搬送波が、アンテナ１０によって受信され、ユニット１３によって処理される。その結果生じるデジタル出力信号は、復調器１５によって復調される。ユニット１５からの復調された出力は、デコーダ１７によってトレリスデコードされ、バイト長データセグメントにマッピングされ、デインターリーブされ、リードソロモン誤り訂正される。ユニット１７からの訂正された出力データは、多重化されたオーディオ、ビデオおよびデータ構成要素を表すプログラムを含む、ＭＰＥＧ互換トランスポートデータストリームの形式である。ユニット１７からのトランスポートストリームは、ユニット２２によってオーディオ、ビデオおよびデータ構成要素に逆多重化され、これはさらにデコーダシステム１００の他の要素によって処理される。あるモードでは、デコーダ１００は、ＭＰＥＧデコードデータを、表示およびオーディオ再生を行うために、ユニット５０および５５にそれぞれ提供する。別のモードでは、ユニット１７からのトランスポートストリームがデコーダ１００によって処理されて、ＭＰＥＧ互換データストリームを、記憶デバイス９０を介して記憶媒体１０５に格納するために提供する。
【００４４】
ユーザが、ＴＶチャネル（ユーザが選択したチャネルＳＣ）またはプログラムガイドなどの画面上のメニューのいずれかを表示するように、リモート制御ユニット７０を使用することによって選択する。コントローラ６０は、リモート制御ユニット７０からインタフェース６５を介して提供された選択情報を使用して、図１３の要素を適切に構成して所望のプログラムチャネルを表示するために受信する。コントローラ６０は、プロセッサ６２およびプロセッサ６４を含む。ユニット６２は、システムタイミング情報、および、プログラムガイド情報を含むプログラム固有情報を処理する（すなわち、解析し、照合し、組み立てる）。プロセッサ６４は、デコーダ１００を動作する際に必要となる残りの制御機能を実行する。ユニット６０の機能は、図１３に示すような分離した要素６２および６４として実施することができるが、これらは代替方法として単一のプロセッサ内で実施することができる。たとえば、ユニット６２および６４の機能を、マイクロプロセッサのプログラミングされた命令内に組み込むことができる。
【００４５】
コントローラ６０は、プロセッサ１３、復調器１５、デコーダ１７およびデコーダシステム１００を、入力信号フォーマットおよびコーディングタイプを復調してデコードするように構成する。さらに、コントローラ６０は、ユニット１３、１５、および１７を、ケーブルテレビ（ＣＡＴＶ）信号の受信用、および同軸回線１４を介した双方向通信用、または、たとえば電話回線１１を介した双方向（たとえば、インターネット）通信用など、他の通信モードに合わせて構成する。アナログビデオモードでは、ＮＴＳＣ互換信号がユニット１３、１５および１７によって受信され、デコーダ１００によって、ビデオ表示およびオーディオ再生をそれぞれユニット５０および５５で行うために、処理される。ユニット１３、１５、１７およびデコーダ１００内のサブユニットが、コントローラ６０によって入力信号タイプに合わせて個別に構成され、これらの要素内の制御レジスタ値が、双方向データおよび制御信号バスＣを使用して設定される。
【００４６】
デコーダ１００に提供されたトランスポートストリームは、プログラムチャネルデータを含むデータパケット、および補助的システムタイミング情報、およびプログラムガイド情報を含むプログラム固有情報を含む。ユニット２２は、補助的情報パケットをコントローラ６０に向けて送り、そこでこの情報を解析し、照合し、先に記述した階層配列テーブル（図１に例示）に組み立てる。ユーザが選択したプログラムチャネルＳＣを含む個々のデータパケットは、組み立てられたプログラム固有情報を使用して識別され、組み立てられる。さらに、プログラム固有情報は、条件付きアクセス、ネットワーク情報、および識別およびリンクデータを含み、図１３のシステムを所望のチャネルに同調させて、データパケットを組み立てて完全なプログラムを形成することが可能となる。プログラム固有情報は、補助的情報の識別および組み立てをサポートするデータも含む。
【００４７】
プログラム固有およびシステムタイミング情報は、コントローラ６０によって、図１の構造による、多数の階層配列および相互リンクされたテーブルに組み立てられる。ＳＴＴは、デコーダが放送ソースによるプログラムの伝送時間を確立するために十分な、時間参照インジケータおよび関連する訂正データを含む。ＭＧＴは、他のテーブルに関連付けられたデータパケットを識別するための識別子など、他のテーブルで搬送されたプログラム固有情報を獲得するための情報を含む。ＣＩＴ（たとえばＴＣＩＴ）は、ユーザが選択したプログラムチャネルを受信するための同調およびナビゲーションのための情報を含む。ＳＩＴは、ＣＩＴにリストされたチャネル上で受信可能なプログラム（イベント）の記述リストを含む。ＲＲＴは、地域によって（たとえば、国によって、あるいは米国内の州によって）照合される、ＭＰＡＡ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ａｓｓｏｃｉａｔｉｏｎ  ｏｆ  Ａｍｅｒｉｃａ）またはＶチップ互換評価情報など、プログラム内容評価情報を含む。階層テーブル内で項目を記述して補う追加のプログラム固有情報は、記述子情報要素内で搬送される。コントローラ６０によってユニット２２を介して獲得されたプログラム固有およびシステムタイミング情報は、ユニット６０の内部メモリ内に格納される。コントローラ６０は、獲得されたプログラムガイド情報を、プログラムへのアクセスを条件付ける際、および、プログラム表示、記録および再生を含むプログラム処理機能をスケジューリングする際に使用する。
【００４８】
コントローラ６０およびプロセッサ２２は、ＣＩＴから、ユニット１７からデコーダ１００へのパケット化、デコードされたトランスポートストリーム入力における、ビデオ、オーディオおよびサブピクチャストリームのＰＩＤを決定する。ビデオ、オーディオおよびサブピクチャストリームは、選択されたチャネルＳＣ上で伝送中の所望のプログラムを構成する。プロセッサ２２は、ＭＰＥＧ互換ビデオ、オーディオおよびサブピクチャストリームを、ビデオデコーダ２５、オーディオデコーダ３５およびサブピクチャプロセッサ３０にそれぞれ提供する。ビデオおよびオーディオストリームは、選択されたチャネルＳＣプログラム内容を表す、圧縮されたビデオおよびオーディオデータを含む。サブピクチャデータは、チャネルＳＣプログラム内容に関連付けられたＳＩＴ、ＣＣＴおよびＲＲＴ情報を含む。
【００４９】
デコーダ２５は、ユニット２２からのＭＰＥＧ互換パケット化ビデオデータをデコードし、圧縮解除し、ピクセルデータを表す圧縮解除されたプログラムをＮＴＳＣエンコーダ４５へ、マルチプレクサ４０を介して提供する。類似の方法で、オーディオプロセッサ３５はユニット２２からのパケット化オーディオデータをデコードし、デコードされ増幅されて、関連する圧縮解除されたビデオデータと同期されたオーディオデータを、オーディオ再生を行うためにデバイス５５へ提供する。プロセッサ３０は、ユニット２２から受信されたサブピクチャデータをデコードし、圧縮解除する。
【００５０】
プロセッサ３０は、ユニット２２からのＲＲＴ、ＣＣＴ、ＣＩＴおよびデータオブジェクトを組み立て、照合し、解釈して、ＯＳＤ３７へ出力するためにフォーマットされたプログラムガイドデータを作成する。ＯＳＤ３７は、ＳＩＴ、ＲＲＴおよびＣＣＴおよび他の情報を処理して、サブタイトル、制御および情報メニュー表示を表す、ピクセルマップデータを生成し、これには、表示デバイス５０での提示用の選択可能メニューオプションおよび他の項目が含まれる。表示される制御および情報メニューによって、ユーザがプログラムを表示するように選択でき、ａ）選択されたプログラムを表示するために受信するように同調すること、ｂ）プログラムを記憶媒体１０５上へ記録すること、およびｃ）媒体１０５からのプログラムの再生など、将来のプログラム処理機能をスケジューリングすることができるようになる。
【００５１】
制御および情報表示には、ＯＳＤジェネレータ３７によって作成されたテキストおよびグラフィックスが含まれ、コントローラ６０の指示によってオーバーレイピクセルマップデータの形式で生成される。ユニット３７からのオーバーレイピクセルマップデータは、コントローラ６０の指示によって、ＭＰＥＧデコーダ２５からのデータを表す、圧縮解除されたピクセルと、マルチプレクサ４０を介してエンコーダ４５において結合され、同期される。チャネルＳＣ上のビデオプログラムを表す、結合されたピクセルマップデータと、関連するサブピクチャデータが共に、ＮＴＳＣエンコーダ４５によって符号化され、デバイス５０へ表示するために出力される。
【００５２】
図１３のシステムの格納モードでは、ユニット１７からの訂正された出力データがデコーダ１００によって処理されて、格納用のＭＰＥＧ互換データストリームを提供する。このモードでは、格納するためのプログラムが、ユーザによってリモートユニット７０およびインタフェース６５を介して選択される。プロセッサ２２は、プロセッサ６０と共に、圧縮されたプログラム固有情報を形成し、これには、先に記述した有利な特徴を含む、ＭＧＴ、ＭＤＢＴ、ＣＣＴ、ＳＴＴ、ＲＲＴ、ＴＣＩＴおよびＳＩＴデータおよび記述子が含まれる。圧縮されたプログラム固有情報は、格納するために選択されたプログラムのデコードをサポートするが、無関係の情報を排除する。プロセッサ６０は、プロセッサ２２と共に、複合ＭＰＥＧ互換データストリームを形成し、これは、選択されたプログラムおよび関連する圧縮プログラム固有情報の、パケット化された内容データを含む。複合データストリームは、記憶インタフェース９５へ出力される。
【００５３】
記憶インタフェース９５は、複合データストリームをバッファに入れて、データにおける差およびビットレート変化を低減させる。この結果、バッファに入れられたデータは、記憶デバイス９０によって処理されて、媒体１０５での格納に適するようにされる。記憶デバイス９０は、インタフェース９５からのバッファに入れられたデータストリームを、チャネルコーディング、インターリービングおよびリードソロモン符号化などの既知のエラー符号化技術を使用して符号化して、格納に適した符号化データストリームを作成する。ユニット９０は、結果として生じる、圧縮されたプログラム固有情報を組み込む符号化データストリームを、媒体１０５上に格納する。
【００５４】
図１３のアーキテクチャは排他的なものではない。他のアーキテクチャを、本発明の原理に従って導出して、同じ目標を達成することができる。さらに、図１３のデコーダ１００の要素の機能および図１２のプロセスステップは、その全部を、あるいは部分的に、マイクロプロセッサのプログラミングされた命令内で実施することができる。また、本発明の原理は、いかなる形式のＭＰＥＧまたは非ＭＰＥＧ互換電子プログラムガイドにも適用される。本発明の原理に従って形成されたデータストリームは、たとえば、ビデオサーバまたは電話回線を介したＰＣタイプの通信を含む、様々な応用例に使用することができる。本発明の原理によってプログラム固有情報を組み込むように形成されたビデオ、オーディオおよびデータの１つまたは複数の構成要素を有するプログラムデータストリームは、記憶媒体上に記録することができ、他のサーバ、ＰＣまたは受信器へ伝送あるいは再放送することができる。本明細書に記述したデータ構造の重要な要素は、プログラム内容またはプログラムガイド情報を送達するために使用することができる、幅広い種類のデータトランスポート構造におけるプログラム補助情報を搬送するために、使用できるので有利である。このようなトランスポート構造には、たとえば、ＭＰＥＧ−ＰＳＩ、インターネットＴＣＰ／ＩＰ（トランスポート制御プロトコル／インターネットプロトコル）、ＤＳＳ（デジタル衛星放送）、ＡＴＭ（非同期伝送方式）などを含めることができる。
【図面の簡単な説明】
【図１】  本発明による、プログラム固有情報を搬送する際に使用するための、大規模プログラムガイド（ＶＬＰＧ）階層ファイル／テーブルフォーマットを示す図である。
【図２】  本発明による、プログラム固有情報を搬送する際に使用するための、マスタガイドテーブル（ＭＧＴ）フォーマットを示す図である。
【図３】  本発明による、区分に基づいてエリアを組み込む、プログラム固有情報を搬送する際に使用するための、チャネル情報テーブル（ＣＩＴ）フォーマットを示す図である。
【図４】  本発明による、区分に基づいてエリアおよび時間を組み込む、マルチメディアオブジェクトデータ構造フォーマットを示す図である。
【図５】  本発明による、チャネル、イベント、および制御オブジェクト基本情報ファイルのためのデータ構造の例を示す図である。
【図６】  本発明による、チャネル、イベント、および制御オブジェクト基本情報ファイルのためのデータ構造の例を示す図である。
【図７】  本発明による、チャネル、イベント、および制御オブジェクト基本情報ファイルのためのデータ構造の例を示す図である。
【図８】  区分に基づいたエリアおよび時間を可能にする識別子フィールドを含む、（図５、図６および図７のテーブルで使用されるような）ＭＰＥＧ互換ｃａｒｏｕｓｅｌＩｄのためのデータ構造を示す図である。
【図９】  本発明による、階層に基づいたバージョン識別子、および、動的プログラムガイド再区分をサポートするセル区分識別子を組み込む、マスタデータベーステーブルのデータ構造フォーマットを示す図である。
【図１０】  本発明による、エリア、時間および複雑性に基づいた識別子フィールドを組み込む、（図９のテーブルで使用されるような）セルタイプインジケータのための例示的データ構造を示す図である。
【図１１】  本発明による、チャネル、イベントおよび制御サブディレクトリを含むオブジェクトデータベースのための、階層ディレクトリフォーマットを示す図である。
【図１２】  本発明による、プログラム固有情報を生成するための方法を示す図である。
【図１３】  本発明の原理による、ＶＬＰＧ情報を含む放送信号を復調してデコードするための、デジタルビデオ受信装置のブロック図である。
【図１】
0004485052.tif 000002
【図２】
0004485052.tif 000003
【図３】
0004485052.tif 000004
【図４】
0004485052.tif 000005
【図５】
0004485052.tif 000006
【図６】
0004485052.tif 000007
【図７】
0004485052.tif 000008
【図８】
0004485052.tif 000009
【図９】
0004485052.tif 000010
【図１０】
0004485052.tif 000011
【図１１】
0004485052.tif 000012
【図１２】
0004485052.tif 000013
【図１３】
0004485052.tif 000014