(57)【要約】【課題】  ＥＰＧデータ用に確保されるメモリ容量の制限を緩和する。【解決手段】  ＥＰＧデータは、複数のテレビ番組を含む。それぞれのテレビ番組は、テレビ番組の１つまたは複数の特性を個々に示す、１つまたは複数の値をもつ。ＥＰＧデータは、各テレビ番組の１つまたは複数の値を、値の一意の組合せと比較して、一致を検出することによって、圧縮される。一意の各組合せ内のそれぞれの値は、テレビ番組の特性を示す。一意の組合せはそれぞれ、複数の識別子を含むテーブル内にあり、識別子はそれぞれ、前記一意の組合せの１つを示す。一致のそれぞれについて、テレビ番組の１つまたは複数の値が、一致する値の一意の組合せを示す、テーブル内の識別子で置き換えられる。【選択図】  図１
2005020762.tif 000002
【特許請求の範囲】
【請求項１】
複数のテレビ番組を含む電子番組ガイド（ＥＰＧ）データを圧縮するステップを含む方法であって、それぞれのテレビ番組は１つまたは複数の値をもち、前記値のそれぞれはテレビ番組の特性を示し、前記ＥＰＧデータは、
前記各テレビ番組の前記１つまたは複数の値を、値の一意の組合せと比較して、一致を検出するステップであって、一意の各組合せ内のそれぞれの値は、テレビ番組の特性を示し、前記一意の各組合せは、複数の識別子を含むテーブル内にあり、前記識別子のそれぞれは、前記一意の組合せの１つを示すステップと、
前記一致のそれぞれについて、前記ＥＰＧデータ内の対応する前記テレビ番組の前記１つまたは複数の値を、一致する値の一意の組合せを示す、前記テーブル内の識別子で置き換えるステップと
によって圧縮されることを特徴とする方法。
【請求項２】
前記ＥＰＧデータまたはＥＰＧデータの異なるセットを分析することによって、前記テーブルを生成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記テーブルを生成するステップをさらに含み、前記生成するステップは、前記値の一意の組合せを格納するために使用されるメモリ容量に基づいて、前記値の一意の各組合せを選択することによって、前記テーブルを格納するために使用されるメモリ容量を最小限に抑えることを特徴とする請求項１に記載の方法。
【請求項４】
前記ＥＰＧデータ内の対応する値をもつ、前記テレビ番組特性のそれぞれは、
ジャンルと、
タイトルと、
格付けと、
長さと、
チャンネルと、
主人公名と、
言語と、
製作年度と、
放送日と、
暴力と
を有するグループから選択されることを特徴とする請求項１に記載の方法。
【請求項５】
クライアント装置に、前記テーブルおよび前記圧縮されたＥＰＧデータを送るステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
請求項１に記載の方法を実施するためのプログラムを実行するプロセッサを含むことを特徴とするヘッドエンド。
【請求項７】
実行時に、請求項１に記載の方法を実施する、コンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項８】
それぞれがテレビ番組特性を示す、値の複数の一意の組合せ、およびそれぞれが前記一意の組合せの１つを示す、複数の識別子を含むテーブルを受信するステップと、
それぞれが１つまたは複数の識別子をもつ複数のテレビ番組を含む、圧縮された電子番組ガイド（ＥＰＧ）を受信するステップと、
前記テレビ番組の前記１つまたは複数の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブル内の一致する識別子によって示される、値の複数の一意の組合せの少なくとも１つの値を出力するステップと
を含むことを特徴とする方法。
【請求項９】
前記圧縮されたＥＰＧデータおよび前記テーブルは、ＥＰＧサーバから受信されることを特徴とする請求項８に記載の方法。
【請求項１０】
クライアント装置は、前記圧縮されたＥＰＧデータを受信するステップ、および前記比較するステップを実行し、
前記テーブルは、前記クライアント装置の製造元から、前記クライアント装置によって受信されることを特徴とする請求項８に記載の方法。
【請求項１１】
前記圧縮されたＥＰＧデータを受信するステップは、前記テーブルを受信するステップの前または後に実行されることを特徴とする請求項８に記載の方法。
【請求項１２】
請求項８に記載の方法を実行するためのプログラムを実行するプロセッサを含むことを特徴とするクライアント装置。
【請求項１３】
実行時に、請求項８に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項１４】
複数のテレビ番組を含む電子番組ガイド（ＥＰＧ）データを圧縮するステップを含む方法であって、それぞれのテレビ番組は、１つまたは複数のテレビ番組特性を個々に示す、１つまたは複数の値をもち、前記ＥＰＧデータは、
それぞれのテレビ番組の前記１つまたは複数の値を、テレビ番組特性を示す、テーブル内の値と比較するステップであって、前記テーブル内の前記値はそれぞれ、識別子によって示されるステップによって圧縮され、
それぞれのテレビ番組の前記１つまたは複数の値が、前記テーブル内の値のうちの１つと一致する場合は、それぞれのテレビ番組の前記１つまたは複数の値を、前記テーブル内の一致する値を示す識別子に一致する識別子で置き換え、また
それぞれのテレビ番組の前記１つまたは複数の値が、前記テーブル内の値のどれとも一致しない場合は、前記ＥＰＧデータ内に、読取り識別子を、それぞれのテレビ番組の１つまたは複数の値とともに挿入し、前記読取り識別子は、それぞれのテレビ番組の１つまたは複数の値を示すことを特徴とする方法。
【請求項１５】
クライアント装置による分析時に、対応する前記テレビ番組の１つまたは複数が前記圧縮されたＥＰＧデータ内にあることを、前記読取り識別子により前記クライアント装置に示すことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ＥＰＧデータまたはＥＰＧデータの異なるセットを分析することによって、前記テーブルを生成するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記テーブルを生成するステップをさらに含み、前記生成するステップは、前記テーブル内の値に対応する、前記ＥＰＧデータ内のテレビ番組の値を格納するために使用されるメモリ容量に基づいて、前記テーブル内の値を選択することによって、前記テーブルを最適化することを特徴とする請求項１４に記載の方法。
【請求項１８】
前記テレビ番組特性は、
ジャンルと、
タイトルと、
格付けと、
長さと、
チャンネルと、
主人公名と、
言語と、
製作年度と、
放送日と、
暴力と
を有するグループから選択されることを特徴とする請求項１４に記載の方法。
【請求項１９】
クライアント装置に、前記圧縮されたＥＰＧデータを送るステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項２０】
請求項１４に記載の方法を実施するためのプログラムを実行するプロセッサを含むことを特徴とするヘッドエンド。
【請求項２１】
実行時に、請求項１４に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項２２】
テレビ番組特性を示す値を含むテーブルを受信するステップであって、前記テーブルは、それぞれが前記値の１つを示す複数の識別子を含むステップと、
圧縮された電子番組ガイド（ＥＰＧ）データを受信するステップであって、前記圧縮されたＥＰＧデータは複数のテレビ番組を含み、それぞれのテレビ番組は１つまたは複数の識別子をもち、前記複数のテレビ番組のそれぞれの識別子は、
前記圧縮されたＥＰＧデータ内に含まれる値を示す読取り識別子、および
前記テーブル内に含まれる前記複数の識別子のうちの少なくとも１つと一致する識別子のうちの少なくとも１つとして構成されているステップと、
前記圧縮されたＥＰＧデータ内の、テレビ番組の識別子を分析するステップであって、
前記テレビ番組の前記識別子が読取り識別子である場合は、前記圧縮されたＥＰＧデータから、前記読取り識別子によって示される値を出力し、また
前記テレビ番組の前記識別子が読取り識別子でない場合は、前記テレビ番組の前記識別子を、前記テーブル内の前記識別子と比較し、一致する場合には、前記テーブルから、一致する前記識別子によって示される値を出力するステップと
を含むことを特徴とする方法。
【請求項２３】
前記圧縮されたＥＰＧデータを受信する前記ステップ、前記テーブルを受信する前記ステップ、および前記分析ステップは、クライアント装置によって実行されることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記圧縮されたＥＰＧデータおよび前記テーブルは、ヘッドエンドから受信されることを特徴とする請求項２２に記載の方法。
【請求項２５】
クライアント装置は、前記圧縮されたＥＰＧデータを受信するステップ、および前記分析ステップを実行し、
前記テーブルは、前記クライアント装置の製造元から、前記クライアント装置によって受信されることを特徴とする請求項２２に記載の方法。
【請求項２６】
前記圧縮されたＥＰＧデータを受信するステップは、前記テーブルを受信するステップの前または後に実行されることを特徴とする請求項２２に記載の方法。
【請求項２７】
実行時に、請求項２２に記載の方法を実行する、コンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項２８】
プロセッサ、およびメモリを有し、該メモリは、
各テレビ番組特性を示す値の複数の一意の組合せ、およびそれぞれが前記一意の組合せの１つを示す複数の識別子を含むテーブルと、
それぞれが１つまたは複数の識別子をもつ、複数のテレビ番組を含む、圧縮された電子番組ガイド（ＥＰＧ）データと、
展開ルーチンと
を保持するように構成され、該展開ルーチンは、
前記プロセッサ上で実行可能であり、
前記テレビ番組の１つまたは複数の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブル内の一致する識別子によって示される、値の一意の組合せの少なくとも１つの値を出力するステップによって、
前記圧縮されたＥＰＧデータを展開することを特徴とするクライアント装置。
【請求項２９】
プロセッサおよびメモリを有し、該メモリは、
テレビ番組特性を示す値を含むテーブルであって、それぞれが前記値の１つを示す複数の識別子を含むテーブルと、
それぞれが１つまたは複数の識別子をもつ複数のテレビ番組を含む、圧縮された電子番組ガイド（ＥＰＧ）データであって、前記圧縮されたＥＰＧデータ内の複数のテレビ番組のそれぞれの識別子は、前記圧縮されたＥＰＧデータ内に含まれる値を示す読取り識別子、および前記テーブル内に含まれる複数の識別子のうちの少なくとも１つと一致する識別子のうちの少なくとも１つとして構成されている、圧縮されたＥＰＧデータと、
前記プロセッサ上で実行可能であり、前記識別子を分析することによって、前記圧縮されたＥＰＧデータを展開する展開ルーチンであって、前記テレビ番組の識別子が読取り識別子である場合は、前記圧縮されたＥＰＧデータから、前記読取り識別子によって示される値を出力し、また前記テレビ番組の識別子が読取り識別子でない場合は、前記テレビ番組の識別子を、前記テーブル内の識別子と比較し、一致する場合には、前記テーブルから、一致する識別子によって示される値を出力する展開ルーチンと
を保持するように構成されるメモリを含むことを特徴とするクライアント装置。
【請求項３０】
プロセッサおよびメモリを有し、
該メモリは、
それぞれのテレビ番組特性を示す値の一意の組合せ、およびそれぞれが前記一意の組合せの１つを示す複数の識別子を含むテーブルと、
複数のテレビ番組を含む、電子番組ガイド（ＥＰＧ）データであって、それぞれのテレビ番組は、１つまたは複数のテレビ番組特性を個々に示す１つまたは複数の値をもつ、ＥＰＧデータと、
圧縮ルーチンと
を保持するように構成され、
前記圧縮ルーチンは、
前記プロセッサ上で実行可能であり、
それぞれのテレビ番組の前記１つまたは複数の値を、前記テーブル内の前記値の一意の組合せと比較するステップと、
前記一致のそれぞれについて、前記テレビ番組の１つまたは複数の値を、前記値の一意の組合せを示す、前記テーブル内の識別子と一致する識別子で置き換えるステップと
によって、
前記ＥＰＧデータを圧縮することを特徴とする電子番組ガイド（ＥＰＧ）サーバ。
【請求項３１】
前記圧縮ルーチンはさらに、前記ＥＰＧデータ内に含まれる、テレビ番組特性の値を分析することによって、前記テーブルを生成するように構成されることを特徴とする請求項３０に記載のＥＰＧサーバ。
【請求項３２】
前記圧縮ルーチンはさらに、前記ＥＰＧデータ、またはＥＰＧデータの異なるセットから、前記テーブルを生成するように構成されることを特徴とする請求項３０に記載のＥＰＧサーバ。
【請求項３３】
前記圧縮ルーチンはさらに、クライアント装置に、前記テーブルおよび前記圧縮されたＥＰＧデータを送るための送信を形成するように構成されることを特徴とする請求項３０に記載のＥＰＧサーバ。
【請求項３４】
プロセッサ、およびメモリを有し、該メモリは、
テレビ番組特性を示す値を含むテーブルであって、それぞれが前記値の１つを示す複数の識別子を含むテーブルと、
複数のテレビ番組含む電子番組ガイド（ＥＰＧ）データであって、それぞれのテレビ番組は、１つまたは複数のテレビ番組特性を個々に示す１つまたは複数の値をもつＥＰＧデータと、
前記プロセッサ上で実行可能であり、それぞれのテレビ番組の前記１つまたは複数の値を、前記テーブル内の値と比較することによって、前記ＥＰＧデータを圧縮する圧縮ルーチンと
を保持するように構成され、前記圧縮ルーチンは、
それぞれのテレビ番組の１つまたは複数の値が、前記テーブル内の値のうちの１つと一致する場合は、それぞれのテレビ番組の前記１つまたは複数の値を、前記テーブル内の一致する値を示す前記識別子と一致する識別子で置き換え、また
それぞれのテレビ番組の前記１つまたは複数の値が、前記テーブル内の前記値のどれとも一致しない場合は、前記ＥＰＧデータ内に、読取り識別子を、それぞれのテレビ番組の１つまたは複数の値とともに挿入し、
前記読取り識別子は、それぞれのテレビ番組の１つまたは複数の値を示すことを特徴とする電子番組ガイド（ＥＰＧ）サーバ。
【請求項３５】
前記圧縮ルーチンはさらに、前記ＥＰＧデータまたはＥＰＧデータの異なるセットから、前記テーブルを生成するように構成されることを特徴とする請求項に３４に記載のＥＰＧサーバ。
【請求項３６】
前記圧縮ルーチンはさらに、前記ＥＰＧデータに含まれる、それぞれのテレビ番組の１つまたは複数の値を分析することによって、前記テーブルを生成するように構成されることを特徴とする請求項に３４に記載のＥＰＧサーバ。
【請求項３７】
電子番組ガイド（ＥＰＧ）サーバと、クライアント装置を有するシステムであって、
前記ＥＰＧサーバは、メモリと、プロセッサと、圧縮ルーチンを含み、
該圧縮ルーチンは、
前記メモリ内に格納され、前記プロセッサ上で実行可能であり、
それぞれのテレビ番組の１つまたは複数の値を、それぞれのテレビ番組特性を示す値の一意の組合せと比較して一致を検出するステップであって、前記一意の組合せのそれぞれは、それぞれが前記一意の組合せの１つを示す複数の識別子を含むテーブル内にあるステップと、
前記一致のそれぞれについて、前記テレビ番組の１つまたは複数の値を、前記値の一意の組合せを示す、前記テーブル内の識別子と一致する識別子で置き換えるステップと
によって、それぞれが１つまたは複数のテレビ番組特性を個々に示す１つまたは複数の値をもつ、複数のテレビ番組を含む、電子番組ガイド（ＥＰＧ）データを圧縮し、
前記クライアント装置は、メモリと、プロセッサと、展開ルーチンを含み、
該展開ルーチンは、
前記メモリ内に格納され、前記プロセッサ上で実行可能であり、
前記圧縮された電子番組ガイド（ＥＰＧ）データ内の、テレビ番組の１つまたは複数の識別子を、前記テーブル内の前記識別子と比較するステップと、
一致する場合は、前記テーブル内の一致する識別子によって示される、値の一意の組合せのうちの少なくとも１つの値を出力するステップと
によって、前記圧縮されたＥＰＧデータを圧縮するために使用された前記テーブルに対応するテーブルを使用して、ネットワークを介して前記ＥＰＧサーバから受信された圧縮されたＥＰＧデータを展開することを特徴とするシステム。
【請求項３８】
電子番組ガイド（ＥＰＧ）サーバおよびクライアント装置を有するシステムであって、
前記ＥＰＧサーバは、メモリと、プロセッサと、圧縮ルーチンを含み、該圧縮ルーチンは、
前記メモリに格納され、前記プロセッサ上で実行可能であり、
それぞれのテレビ番組の前記１つまたは複数の値を、テレビ番組特性を示すテーブル内の値と比較するステップであって、前記テーブル内の値のそれぞれは、識別子によって示され、それぞれのテレビ番組の１つまたは複数の値が、前記テーブル内の値のうちの１つと一致する場合は、それぞれのテレビ番組の１つまたは複数の値を、前記テーブル内の一致する値を示す識別子と一致する識別子で置き換え、それぞれのテレビ番組の１つまたは複数の値が、前記テーブル内の値のどれとも一致しない場合は、前記ＥＰＧデータ内に、読取り識別子を、それぞれのテレビ番組の前記１つまたは複数の値とともに挿入し、前記読取り識別子は、それぞれのテレビ番組の前記１つまたは複数の値を示すステップによって、
それぞれが、１つまたは複数のテレビ番組特性を個々に示す１つまたは複数の値をもつ、複数のテレビ番組を含む電子番組ガイド（ＥＰＧ）を圧縮し、
前記クライアント装置は、ネットワークを介して前記ＥＰＧサーバに通信可能に結合されており、
メモリと、プロセッサと、展開ルーチンを含み、
該展開ルーチンは、
前記メモリに格納され、前記プロセッサ上で実行可能であり、
前記１つまたは複数の識別子を分析することによって、前記圧縮されたＥＰＧデータを圧縮するために使用された前記テーブルに対応するテーブルを使用して、前記圧縮されたＥＰＧデータを展開し、
前記テレビ番組の識別子が読取り識別子である場合は、前記圧縮されたＥＰＧデータから、前記読取り識別子によって示される値を出力し、
前記テレビ番組の識別子が読取り識別子でない場合は、前記テレビ番組の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブルから、一致する識別子によって示される値を出力することを特徴とするシステム。
【請求項３９】
クライアント装置によって、あるチャンネルの所望の番組の放送開始時間を、マスタ開始時間に、前記チャンネルで、前記マスタ開始時間と前記所望のテレビ番組の間に予定されている各テレビ番組の、長さのテレビ番組特性の値を加算することによって計算するステップと、
電子番組ガイド（ＥＰＧ）内に、前記所望の番組の放送開始時間を出力するステップと
を含むことを特徴とする方法。
【請求項４０】
前記マスタ開始時間、および各テレビ番組の長さのテレビ番組特性の値は、ＥＰＧサーバから前記クライアント装置に送られるＥＰＧデータ内に含まれることを特徴とする請求項３９に記載の方法。
【請求項４１】
前記加算ステップはさらに、前記マスタ開始時間から始めて、前記所望のテレビ番組の長さのテレビ番組特性の値に達するまで、前記長さのテレビ番組特性の各値を、前記マスタ開始時間に加算するステップを含むことを特徴とする請求項３９に記載の方法。
【請求項４２】
実行時に、請求項３９に記載の方法を実施する、コンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項４３】
プロセッサおよびメモリを有するクライアント装置であって、前記メモリは、
マスタ開始時間と、
チャンネル上でブロードキャストされる複数のテレビ番組を含む電子番組ガイド（ＥＰＧ）データであって、それぞれのテレビ番組は、長さのテレビ番組特性を示す値をもつＥＰＧデータと、
前記プロセッサ上で実行可能であり、前記複数のテレビ番組に含まれる所望のテレビ番組の放送開始時間を、前記マスタ開始時間に、該マスタ開始時間と前記所望のテレビ番組の間で予定されている各テレビ番組の長さのテレビ番組特性の値を加算することによって計算するＥＰＧアプリケーションと
を保持するように構成されることを特徴とするクライアント装置。
【請求項４４】
前記マスタ開始時間および前記長さのテレビ番組特性の値は、ＥＰＧサーバから送られるＥＰＧデータ内に含まれて受信されることを特徴とする請求項４３に記載のクライアント装置。
【請求項４５】
前記加算ステップはさらに、前記マスタ開始時間から始めて、前記所望のテレビ番組の長さのテレビ番組特性の値に達するまで、前記長さのテレビ番組特性の各値を、前記マスタ開始時間に加算するステップを含むことを特徴とする請求項４３に記載のクライアント装置。
【請求項４６】
プロセッサと、メモリと、ブロードキャスト送信機とを有するヘッドエンドであって、
該メモリは、
マスタ開始時間、およびそれぞれが長さのテレビ番組特性の値をもつ、チャンネル上で放送される複数のテレビ番組を含む電子番組ガイド（ＥＰＧ）データを保持するように構成され、
前記ブロードキャスト送信機は、
前記マスタ開始時間および前記ＥＰＧデータを含む送信を、クライアント装置にブロードキャストし、
前記送信によって、前記クライアント装置は、前記ＥＰＧ内の所望のテレビ番組の放送開始時間を、前記マスタ開始時間に、前記マスタ開始時間と前記所望のテレビ番組の間に予定されている各テレビ番組の長さのテレビ番組特性の値を加算することによって計算することができることを特徴とするヘッドエンド。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、電子番組ガイドに関し、より詳細には、電子番組ガイドデータの圧縮および展開に関する。
【背景技術】
【０００２】
テレビ番組がますます多様になり、テレビ局の数が増加しているため、視聴者は、さらに増加するテレビ番組を利用することができる。テレビ番組の数は増加したものの、視聴者は、所望のテレビ番組にアクセスする際に、問題に直面することがある。たとえば、視聴者は、利用できるテレビチャンネルの数のせいで、所望のテレビ番組を見つけることができないことがある。したがって、視聴者は、要望どおりに、テレビ番組を十分に体験でき（ｅｘｐｅｒｉｅｎｃｅ）ないことがある。
【０００３】
視聴者がよりよくテレビ番組を体験できるように、電子番組ガイド（ＥＰＧ：ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍ  ｇｕｉｄｅ）を提供することができる。ＥＰＧによって、視聴者は、現在放送中のテレビ番組のリスト、およびこれから放送されるテレビ番組のリストを見ることができる。さらに、ＥＰＧによって、視聴者は、ＥＰＧ自体からテレビ番組に移動する（ｎａｖｉｇａｔｅ）ことができる。視聴者に追加の情報を提供するために、ＥＰＧは、その中に、テレビ番組について説明する、１つまたは複数のテレビ番組の特性を含む。テレビ番組の特性には、タイトル、放送時間、放送チャンネル、長さ、テレビ番組の説明、テレビ番組の格付け（Ｇ、ＰＧ、ＰＧ１３、Ｒなど）、主人公名などが含まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、ＥＰＧの通信およびクライアント装置上での格納を向上させることが求められている。
【０００５】
ＥＰＧを作成するために、ＥＰＧデータが使用される。ＥＰＧデータは、ＥＰＧプロバイダによって、テレビ番組の製作元から入手されるデータから生成することができる。そのデータは一般に、国内ガイドフィード（ｎａｔｉｏｎａｌ  ｇｕｉｄｅ  ｆｅｅｄ）を使用して、製作元からＥＰＧプロバイダに送信される。国内ガイドフィードは、製作元からＥＰＧプロバイダのヘッドエンド（ｈｅａｄ  ｅｎｄ）への高帯域接続を介して送信され一般に、大量のデータを含む。クライアント装置が、ＥＰＧプロバイダによって生成されたＥＰＧデータを受信できるように、ヘッドエンドとクライアント装置の間の接続も設けられる。しかし、ヘッドエンドとクライアント装置の間の接続の帯域は、ヘッドエンドと製作元の間に設けられている国内ガイドフィードの帯域よりも遥かに低い。さらに、ＥＰＧデータは、クライアント装置のメモリに格納される。したがって、クライアント装置に格納することができるＥＰＧデータの量は、クライアント装置のメモリによって左右される。クライアント装置が、低リソースのクライアント装置であり、つまりクライアントの装置のメモリが制限されている場合は、ＥＰＧデータ用に確保されるメモリ容量、および他の機能を提供するためのメモリの使用可能な容量が制限される。
【課題を解決するための手段】
【０００６】
電子番組ガイド（ＥＰＧ）データの圧縮および展開（ｄｅｃｏｍｐｒｅｓｓｉｏｎ、伸長とも呼ばれることがある）について説明する。ＥＰＧデータは、複数のテレビ番組を含む。それぞれのテレビ番組は、１つまたは複数のテレビ番組の特性を個々に説明する１つまたは複数の値を含む。ある実施形態では、ＥＰＧデータは、各テレビ番組の１つまたは複数の値を、個々のテレビ番組特性を表す値の一意の組合せと比較して、一致を検出することによって圧縮される。一意の組合せはそれぞれ、一意の組合せのうちの１つを示す、複数の識別子を含むテーブル内にある。それぞれの一致について、ＥＰＧデータ内の、対応するテレビ番組の１つまたは複数の値が、一致する値の一意の組合せを示すテーブル内の識別子で置き換えられる。
【０００７】
圧縮されたＥＰＧデータは、展開ルーチンを実行するクライアント装置によって、展開される。クライアント装置は、テーブルおよび圧縮ＥＰＧデータを含む。展開ルーチンの実行時に、テレビ番組の１つまたは複数の識別子が、テーブル内の識別子と比較される。一致する場合は、少なくとも１つの値が、テーブル内の一致する識別子によって示される、値の一意の組合せから出力される。
【０００８】
別の実施形態では、ＥＰＧデータは、各テレビ番組の１つまたは複数の値を、テレビ番組の特性を表す、テーブル内の値と比較することによって圧縮される。テーブル内の各値は、識別子によって示される。各テレビ番組の１つまたは複数の値が、テーブル内の値のうちの１つに一致する場合は、各テレビ番組の１つまたは複数の値が、テーブル内の一致する値を示す識別子と一致する、ある識別子で置き換えられる。各テレビ番組の１つまたは複数の値が、テーブル内のどの値とも一致しない場合は、ＥＰＧデータ内に、読取り識別子（ｒｅａｄ  ｉｄｅｎｔｉｆｉｅｒ）が、各テレビ番組の１つまたは複数の値とともに挿入される。読取り識別子は、各テレビ番組の１つまたは複数の値を示す。
【０００９】
圧縮ＥＰＧデータは、展開ルーチンを実行するクライアント装置によって、展開される。クライアント装置は、テーブルおよび圧縮ＥＰＧデータを含む。展開ルーチンの実行時に、圧縮ＥＰＧデータ内のテレビ番組の識別子が分析される。テレビ番組の識別子が、読取り識別子である場合は、読取り識別子によって示される値が、圧縮ＥＰＧデータから出力される。テレビ番組の識別子が、読取り識別子でない場合は、テレビ番組の識別子が、テーブル内の識別子と比較される。一致する場合は、テーブル内の一致する識別子によって示される値が、テーブルから出力される。
【００１０】
別の実施形態では、ＥＰＧ内の各テレビ番組の放送開始時間が、マスタの開始時間を用いて、クライアント装置によって計算される。そのために、ＥＰＧ内の各テレビ番組の長さが、マスタ開始時間に追加され、各テレビ番組の開始時間が計算される。次いで、ＴＶ視聴者に表示するため、ＥＰＧ内のテレビ番組の開始時間を出力することができる。
【発明を実施するための最良の形態】
【００１１】
概要
以下の説明は、電子番組ガイド（ＥＰＧ）データの圧縮および展開を対象とする。ＥＰＧデータは、対話型テレビネットワーク、ＥＰＧを使用するケーブルネットワーク、およびウェブ対応のテレビネットワークなど、テレビエンターテイメントシステム（ｔｅｌｅｖｉｓｉｏｎ  ｅｎｔｅｒｔａｉｎｍｅｎｔ  ｓｙｓｔｅｍ）内に提供することができる。こうしたシステム内のクライアント装置は、充実したメモリおよびプロセッサリソースを備えるフルリソース（ｆｕｌｌ  ｒｅｓｏｕｒｃｅ）のクライアント装置（テレビ対応のパーソナルコンピュータ、ハードウェアディスクを備えるテレビレコーダなど）からメモリおよび／またはプロセッサリソースが制限された、低リソースのクライアント装置（従来のセットトップボックス（ｓｅｔ−ｔｏｐ  ｂｏｘなど））に及ぶ。以下で説明するシステムおよび方法の側面は、こうしたシステムのいずれにおいても、また任意のタイプのクライアント装置に使用することができるが、低リソースのクライアント装置を伴うシステムに特に適している。したがって、以下の説明の一部では、低リソース環境の文脈において、このシステムおよび方法について説明する。
【００１２】
以下の説明を簡略にするために、「テレビ番組（の）特性」についての言及は、「特性」に短縮する。さらに、テレビ番組について説明するが、テレビ番組は、テレビネットワークによる従来の番組に限定されず、ビデオオンデマンド（ＶＯＤ：ｖｉｄｅｏ−ｏｎ−ｄｅｍａｎｄ）、放送映画、ペイパービュー（ｐａｙ−ｐｅｒ−ｖｉｅｗ）方式の番組なども含み得る。
【００１３】
テレビエンターテイメントシステム
図１は、製作元１０２およびクライアント装置１０４を含む、テレビエンターテイメントシステム１００を示す図である。製作元１０２は、クライアント装置１０４に配信するためのＥＰＧデータ１０６を作成する。製作元１０２の一例は、対話型テレビネットワークのためのＥＰＧデータを作成する、Ｔｒｉｂｕｎｅ  Ｃｏｒｐｏｒａｔｉｏｎである。本明細書では、ＥＰＧデータは、ＥＰＧ作成のために使用され得る、あるタイプのデータを指す。ＥＰＧデータは、コンテンツプロバイダ（ｃｏｎｔｅｎｔ  ｐｒｏｖｉｄｅｒ）によって放送されるテレビ番組の特性を含む。特性には、タイトル、放送時間、放送チャンネル、長さ、テレビ番組の説明、テレビ番組の格付け（Ｇ、ＰＧ、ＰＧ１３、Ｒなど）、主人公名などが含まれ得る。
【００１４】
ＥＰＧデータ１０６は、製作元１０２からＥＰＧプロバイダ１０８に、電子ファイルとして転送される。たとえば、ＥＰＧデータ１０６は、ファイル転送プロトコル（ＦＴＰ：ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を使用して、ＴＣＰ／ＩＰネットワーク（インターネット、ＵＮＩＸ（登録商標）など）を介して、ＥＰＧプロバイダ１０８に転送される。ＥＰＧデータ１０６は、ＥＰＧプロバイダ１０８のＥＰＧデータベース１１０内に格納される。
【００１５】
ＥＰＧデータ１０６の元のバージョンは、複数日のすべての番組情報を含む。ＥＰＧサーバ１１２は、配信に先立って、ＥＰＧデータ１０６を処理するため、ＥＰＧプロバイダと通信する。この処理には、クライアント装置１０４がＥＰＧデータ１０６をより効果的に取り扱うことができるように、ＥＰＧデータ１０６を調整するための１つまたは複数の技術を用いる。クライアント装置１０４は、セットトップボックス、またはメモリおよび／または処理リソースが制限されていることを一般に特徴とする他の低リソースのクライアント装置など、様々なやり方で構成することができる。こうしたクライアント装置１０４は、ＥＰＧデータ１０６の元のバージョン全体を格納できるほど十分なリソースを有さないことがある。クライアント装置１０４のリソースが制限されている場合は、ＥＰＧサーバ１１２によって実施される処理が、ＥＰＧデータ１０６を事前に調整して、クライアント装置１０４での格納および処理により適した形にする助けとなる。
【００１６】
処理の中でも特に、ＥＰＧサーバ１１２は、クライアント装置１０４のリソースが制限されていても、クライアント装置１０４上に、格納することができるように、ＥＰＧデータ１０６の量を減らすように構成される。たとえば、ＥＰＧサーバ１１２は、圧縮ルーチン１１４を使用することによって、配信に先立って、ＥＰＧデータ１０６を圧縮することができる。圧縮ルーチン１１４は、クライアント装置１０４への通信のために、ＥＰＧデータ１０６を圧縮するのに使用されるソフトウェアとして実装することができる。
【００１７】
ＥＰＧサーバ１１２は、ヘッドエンド１１８のデータベース１２０内に格納するため、ヘッドエンド１１８に、ＥＰＧデータ１０６から形成された圧縮ＥＰＧデータ１１６を提供する。カルーセルファイルシステム（ｃａｒｏｕｓｅｌ  ｆｉｌｅ  ｓｙｓｔｅｍ）１２２は、帯域外（ＯＯＢ：ｏｕｔ−ｏｆ−ｂａｎｄ）チャネル上で、ブロードキャストネットワーク１２４（ｂｒｏａｄｃａｓｔ  ｎｅｔｗｏｒｋ）を介してクライアント装置１０４に、圧縮ＥＰＧデータ１１６を繰り返しブロードキャスト（ｂｒｏａｄｃａｓｔ）する。ヘッドエンド１１８からクライアント装置１０４への配信は、ケーブル、ＲＦ、マイクロ波、および衛星を含めて、いくつかのやり方で、対処することができる。ヘッドエンド１１８は、ＥＰＧプロバイダ１０８とは別個であるように示されているが、ＥＰＧプロバイダ１０８は、ＥＰＧサーバ１１２を含むヘッドエンド１１８を含むこともできる。さらに、ＥＰＧサーバ１１２は、ＥＰＧデータ１０６を提供する製作元１０２の一部として、含まれることもある。
【００１８】
図示する実施形態では、クライアント装置１０４は、表示装置１２８に接続されたセットトップボックス１２６として示されている。クライアント装置１０４はしばしば、オペレーティングシステムおよびいくつかのプログラムを格納し実行するのに十分なほどの処理および記憶機能を備える。クライアント装置１０４に格納されるプログラムの例には、ウェブブラウザ、電子番組ガイド、パーソナルスケジューラ（ｐｅｒｓｏｎａｌ  ｓｃｈｅｄｕｌｅｒ）などが含まれ得る。セットトップボックス１２６は、表示装置１２８とは別個であるように示されているが、代わりに、一体型ユニットとして、表示装置１２８に組み入れることもできる。さらに、他の実施形態では、クライアント装置１０４は、ブロードキャスト対応のコンピュータ、情報家電など、ＥＰＧデータを取り扱うことができる他の装置として、実施することもできる。クライアント装置１０４についての追加の説明を、図１２〜１３に関連して見ることができる。
【００１９】
ＥＰＧデータベース１１０内に格納されるＥＰＧデータ１０６ａは、テレビ番組を表す様々な特性１３０〜１３６を含み得る。たとえば、特性には、タイトル１３０、テレビ番組が放送される日（たとえば日曜日）１３２、テレビ番組の放送の長さ１３４、テレビ番組が放送されるチャンネル１３６などが含まれ得る。さらに、それぞれの特性１３０〜１３６は、複数の値を含み得る。たとえば、コンテンツプロバイダによって放送されるテレビ番組は、長さ１３４特性について、様々な値１３８（１）〜１３８（Ｎ）を含み得る。さらに、ある値が、テレビ番組が、アダルト言語や暴力などの特性を含むか、それとも含まないかなど、特性についての二値条件（ｂｉｎａｒｙ  ｃｏｎｄｉｔｉｏｎ）を示すこともある。
【００２０】
特性の共通値の圧縮
ＥＰＧデータは、より幅広い値をもつ様々な特性を有し得るが、ＥＰＧデータの特性が発生するほとんどの場合において、少数の値を用いることができる。たとえば、図２は、図１に示す長さ１３４特性の値の例示的な実施形態２００を示す図である。テレビ番組は、１分から１４４０分（２４時間）までの長さをもち得るが、長さ１３４のＥＰＧデータは、有限個の、頻繁に発生する値を含み得る。様々なチャンネル２０２（１）〜（Ｊ）について、こうした値は、異なり得る。たとえば、チャンネル２０２（１）は、長さ１３４（１）特性をもつ一般的なテレビネットワークであり得る。チャンネル２０２（１）は、３０分［２０４（１）、２０４（５）］、６０分［２０４（２）、２０４（６）］および９０分［２０４（３）、２０４（７）］の値をもつが、３５分２０４（４）などの、他の多くの値はもたないテレビ番組を放送する。同様に、チャンネル２０２（２）は、やはり長さ１３４（２）をもつケーブルニュース、または天気チャンネルであり得る。チャンネル２０２（２）は、長さ１３４（２）について、２４０分２０６（１）〜２０６（７）の複数の値をもつ。チャンネル２０２（Ｊ）は、長さ１３４（Ｊ）について、９０分［２０８（１）、２０８（３）、２０８（４）、２０８（５）、２０８（６）］または１２０分［２０８（２）、２０８（７）］の値をもつ映画を放送する映画チャンネルであり得る。
【００２１】
ＥＰＧサーバ１１２は、圧縮ルーチン１１４を実行して、チャンネル２０２（１）〜２０２（Ｊ）の特性について、共通の値を含むテーブル２１０（１）〜２１０（Ｊ）を生成することができる。たとえば、テーブル２１０（１）は、チャンネル２０２（１）の長さ１３４（１）について、共通の値、３０、６０および９０分２１２（１）〜２１２（３）を含み得る。テーブル２１０（２）は、チャンネル２０２（２）の長さ１３４（２）について、２４０分２１４（１）の単一の値を含む。テーブル２１０（Ｊ）は、チャンネル２０２（Ｊ）の長さ１３４（Ｊ）について、共通の２つの値、９０分２１６（１）および１２０分２１６（２）を含む。
【００２２】
実際の値を提供する代わりに、テーブル２１０（１）〜２１０（Ｊ）に含まれる値を参照して、圧縮ＥＰＧデータを提供することができる。したがって、長さ１３４（１）〜１３４（Ｊ）について、実際の値２０４（１）〜２０４（７）、２０６（１）〜２０６（７）、２０８（１）〜２０８（７）を送信する代わりに、テーブル２１０（１）〜２１０（Ｊ）内の値、２１２（１）〜２１２（３）、２１４（１）、２１６（１）〜２１６（２）を参照して、値を提供することができる。値を示す（参照する）テーブルの生成、ならびにＥＰＧデータを圧縮および／または展開するためのテーブルの使用についての追加の説明を、図３〜５に関連して見ることができる。
【００２３】
図３は、長さ１３４（１）について、共通の値を含む、図２のテーブル２１０（１）を生成するための例示的な手順３００を示す図である。ブロック３０２に、ＥＰＧサーバ１１２がチャンネル２０２（１）のＥＰＧデータ１０６を受信する、受信ステップが示されている。ＥＰＧデータ１０６は、長さ１３４（１）を含み、この長さ１３４（１）は、チャンネル２０２（１）で放送されるテレビ番組を示す値２０４（１）〜２０４（７）を含む。換言すれば、ＥＰＧデータ１０６は、値１３４（１）などの特性、およびそれぞれのテレビ番組が何分間放送されるかなどの、特性を示す値２０４（１）〜２０４（７）を含む。
【００２４】
ブロック３０４に、ＥＰＧサーバ１１２が圧縮ルーチン１１４を実行して、長さ１３４（１）の値２０４（１）〜２０４（７）を分析する、分析ステップが示されている。値２０４（１）〜２０４（７）を分析して、共通の値を検出する。共通の値は、テーブル２１０（１）に入れられる。たとえば、チャンネル２０２（１）内で共通している、長さ１３４（１）の値を示す、３０分２１２（１）、６０分２１２（２）および９０分２１２（３）が、テーブル内に入れられる。
【００２５】
共通の値は、様々なやり方で検出することができる。たとえば、ＥＰＧデータ１０６内に含まれる特性の各値の発生をカウントするカウンタを使用することができる。さらに、ＥＰＧデータの値を格納するために使用される記憶容量を使用して、テーブルに含める値を選択することができる。たとえば、値のビットサイズを、値が発生する回数と併せて使用して、圧縮を最適化することができる。たとえば、それぞれの値のビットサイズに、ＥＰＧデータ１０６内で、それぞれの値が発生する回数を掛けて、置き換えられた場合に、ＥＰＧデータ上に、最大の圧縮効果をもたらす値を引き出すことができる。
【００２６】
ブロック３０６で、ＥＰＧサーバ１１２が、圧縮ルーチン１１４を実行して、値２１２（１）〜２１２（３）を示す、テーブル２１０（１）内の識別子３０８〜３１２を提供する、生成ステップを示す。図示する例では、３つの共通の値が見られる。したがって、値２１２（１）〜２１２（３）を示すために使用することができる、それぞれの識別子３０８〜３１２は、２ビットとして構成することができ、それによって、値２１２（１）〜２１２（３）が、識別子３０８〜３１２で置き換えられる場合には、ＥＰＧデータが圧縮されることになる。たとえば、第１の識別子３０８は、ビット「００」を使用して、テーブル２１０（１）内の１２ビットの値である３０分２１２（１）を示すことができる。第２の識別子３１０は、ビット「０１」を使用して、１２ビットの値である６０分２１２（２）を示すことができる。同様に、第３の識別子３１２は、ビット「１０」を使用して、１２ビットの値である９０分２１２（３）を示すことができる。
【００２７】
チャンネル２０２（１）は、長さ１３４（１）について、共通の値を含み得るが、３５分２０４（４）など、共通していない、したがって、テーブル２１０（１）に含まれない値が存在し得る。非共通の値の表現を設けるために、テーブル２１０（１）は、圧縮されない値の参照のための読取り識別子を含む。たとえば、テーブル２１０（１）内で、読取り識別子は、第４の識別子３１４として示されており、この識別子は、ビット「１１」を使用して、「その他」３１６の値を示すことができる。第４識別子３１４がテーブル２１０（１）に含まれ、それによって、２１０（１）を使用して、ＥＰＧデータの値を圧縮する場合には、第４識別子２０８（４）が、テーブル２１０（１）に含まれない値とともに、挿入されるようになる。値がテーブル２１０（１）内に含まれていないことを示すことによって、第４識別子３１４を使用して、値が、テーブル２１０（１）からではなく、圧縮ＥＰＧデータ自体から直接に読み取られることを示すことができる。ＥＰＧデータを圧縮するために、第４識別子３１４を使用することについての追加の説明を、図４に関連して見ることができる。
【００２８】
ブロック３１８に、ＥＰＧサーバ１１２が、クライアント装置１０４に、テーブル２１０（１）を送る、通信ステップが示されている。テーブル２１０（１）は、様々なやり方で、クライアント装置に送ることができる。たとえばカルーセルファイルシステム１２２を使用して、図１に示すブロードキャストネットワーク１２４を介して、テーブル２１０（１）をブロードキャストすることができる。さらに、クライアント装置１０４上に、他のソフトウェアがインストールされる場合などには、クライアント装置１０４によって、製造時に、テーブル２１０（１）を受信することができる。
【００２９】
図４に、図３の手順３００によって生成されるテーブル２１０（１）を使用して、ＥＰＧデータ４０２の値を圧縮するための、例示的な手順４００を示す図である。ブロック４０４に、ＥＰＧサーバ１１２が、長さ１３４（１）特性をもつチャンネル２０２（１）のＥＰＧデータ４０２を受信する、受信ステップが示されている。長さ１３４（１）は、３０分４０６（１）、６０分４０６（２）、９０分４０６（３）および１２０分４０６（４）を含めて、複数の値４０６（１）〜４０６（４）をもつ。
【００３０】
ブロック４０８に、ＥＰＧサーバ１１２が圧縮ルーチン１１４を実行して、ＥＰＧデータ４０２を圧縮して、圧縮ＥＰＧデータ４１０を形成する、圧縮ステップが示されている。圧縮ルーチン１１４は、実行時に、ＥＰＧデータ４０２の値４０６（１）〜４０６（４）を、テーブル２１０（１）の値２１２（１）〜２１２（３）と比較する。ＥＰＧデータ４０２の値４０６（１）〜４０６（４）のいずれかが、テーブル２１０（１）内の値２１２（１）〜２１２（３）のうちの１つと一致する場合は、その値が、その値を示すテーブル２１０（１）内の識別子と一致する識別子で置き換えられる。たとえば、値３０分４０６（１）は、テーブル２１０（１）の値３０分２１２（１）と一致する。したがって、値３０分４０６（１）は、テーブル２１０（１）の第１識別子３０８に一致する、第１の識別子４１２で置き換えられる。同様に、第２および第３の識別子４１４、４１６を使用して、値６０分４０６（２）および９０分４０６（３）をそれぞれ置き換える。しかし、値１２０分４０６（４）は、テーブル２１０（１）の値２１２（１）〜２１２（３）のどれとも一致しないが、「その他」３１６の値になる。したがって、圧縮ＥＰＧデータ４１０内に、第４の識別子４１８、すなわち読取り識別子が、値１２０分４０６（４）とともに挿入される。第４識別子４１８は、圧縮ＥＰＧデータ４１０内で、値１２０分４０６（４）を示す。たとえば、第４識別子４１８を使用して、ある列内で、値１２０分４０６（４）が、第４識別子４１８のすぐ後にあることを示すことができる。このようにして、第４識別子４１８は、値１２０分４０６（４）が、テーブル２１０（１）からではなく、圧縮ＥＰＧデータ４１０から直接に読み出されることを示す。図６に、対応するテレビ番組６０２〜６０８を伴う、図４の圧縮ＥＰＧデータ内の共通および非共通の値の内容を示す、例示的な実施形態６００を示す。図４のブロック４２０に、ＥＰＧサーバ１１２が、クライアント装置１０４に、圧縮ＥＰＧデータ４１０を送る、通信ステップが示されている。
【００３１】
図５に、クライアント装置１０４が、展開ルーチン５０２を実行して、図３で生成されるテーブル２１０（１）を使用して、図４の圧縮ＥＰＧデータ４１０に含まれる識別子を展開する、例示的な手順５００を示す。ブロック５０４に、クライアント装置１０４が、テーブル２１０（１）および圧縮ＥＰＧデータ４１０を受信する、受信ステップが示されている。テーブル２１０（１）は、長さ１３４（１）特性について、値２１２（１）〜２１２（３）を示す、識別子３０８〜３１２を含む。テーブル２１０（１）は、第４識別子、たとえば読取り識別子３１４をも含み、この読取り識別子は、第４識別子３１４の値が、圧縮ＥＰＧデータ４１０から直接に読み取られることを示している。
【００３２】
ブロック５０６に、クライアント装置１０４が、ソフトウェアとして構成され得る展開ルーチン５０２を実行して、テーブル２１０（１）を使用して、圧縮ＥＰＧデータ４１０を展開する、展開ステップが示されている。展開ルーチン５０２は、実行時、圧縮ＥＰＧデータ４１０内の識別子４１２〜４１８をまず分析する。識別子が読取り識別子である場合は、圧縮ルーチン５０２は、読取り識別子をテーブル２１０（１）と比較せずに、圧縮ＥＰＧデータ４１０から直接に、読取り識別子によって示される値を読み取る。たとえば、圧縮ＥＰＧデータ４１０内の第４識別子４１８は、分析時に、第４識別子４１８によって示される値が、テーブル２１０（１）に含まれていないことを示す、読取り識別子（ビット「１１」を含む）であると判断される。より正確には、第４識別子４１８によって示される、値１２０分４０６（４）は、圧縮ＥＰＧデータ４１０自体から、直接に読み取られる。
【００３３】
識別子が読取り識別子でない（すなわちそれが「０１」、「１０」または「００」など、「１１」以外のビットを含む）場合は、展開ルーチン５０２は、実行時に、圧縮ＥＰＧデータ４１０に含まれる識別子４１２〜４１６を、テーブル２１０（１）に含まれる識別子３０８〜３１２と比較する。たとえば、展開ルーチン５０２は、実行時に、圧縮ＥＰＧデータ４１０内の第１識別子４１２を分析する。第１識別子４１２は、第１識別子４１２が読取り識別子ではないことを示す、ビット「００」をもつ。したがって、展開ルーチン５０２は、実行時に、第１識別子４１２を、テーブル２１０（１）内の識別子３０８〜３１２と比較する。圧縮ＥＰＧデータ４１０の第１識別子４１２は、テーブル２１０（１）の第１識別子３０８と一致する。したがって、テーブル２１０（１）内の第１の識別子によって示される値３０分２１２（１）が、展開ルーチン５０２によって出力される。同様に、第２および第３識別子４１４、４１６について、一致する第２および第３識別子３１０、３１２によって示される６０分２１２（２）および９０分２１２（３）の値が、それぞれ出力される。したがって、展開ルーチン５０２がクライアント装置１０４によって実行される場合は、テーブル２１０（１）からの３０分、６０分および９０分２１２（１）〜２１２（３）の値、ならびに圧縮ＥＰＧデータ４１０からの１２０分４０４（４）の値を含む、展開ＥＰＧデータ５０８を取得することができる。展開されたＥＰＧデータ５０８内の値２１２（１）〜２１２（３）のうちの１つまたは複数を、ＥＰＧ内への出力とすることができる。たとえば、識別子に対応する所望の値を提供するように要求される場合には、それぞれの識別子を展開することができる。したがって、圧縮ＥＰＧデータ４１０は、クライアント装置１０４のメモリ内で、圧縮されたままにしておくことができ、実行時、展開ルーチン５０２は、要求された場合に、識別子を展開することができる。
【００３４】
図では、クライアント装置１０４に含まれるテーブル２１０（１）が、第４識別子３１４を含んでいるが、実施形態によっては、第４識別子３１４は、テーブル２１０（１）のサイズを小さくするために、クライアント装置１０４上のテーブル２１０（１）には含まれない。たとえば、この実施形態では、ＥＰＧデータに含まれる識別子を展開するために、テーブル２１０（１）に含まれる第４識別子３１４を使用せず、すなわち識別子を、第４識別子３１４と比較しない。その代わりに、比較を行わずに、第４識別子４１８によって、その識別子が示す値が、ＥＰＧデータ自体に含まれることを示す。したがって、展開ルーチン５０２は、識別子を、テーブル２１０（１）内の第４識別子３１４と比較する必要がない。たとえば、展開ルーチン５０２は、ビット「１１」が生じた場合には、圧縮ＥＰＧデータ４１０内のその次の１２ビットを自動的に出力する。
【００３５】
図３〜５に関して説明した実施形態では、圧縮されるＥＰＧデータ４０２とは異なるＥＰＧデータ１０６から生成されたテーブル２１０（１）について説明しているが、テーブル２１０（１）は、様々なやり方で、生成することができる。別の実施形態では、クライアント装置に送られるＥＰＧデータの特定のセットそれぞれについて、テーブルが生成される。たとえば、特定の３６時間の間に使用されるＥＰＧデータは、その特定の３６時間に対応するテーブルをもち得る。次いで、このテーブルが、圧縮ＥＰＧデータとともに、クライアント装置に送られる。さらに、図１２〜１３に関連して以下で詳述するように、テーブルは、圧縮ＥＰＧデータを送る前でも、その後でも、クライアント装置に送り、そこで格納することができる。
【００３６】
テレビ番組の放送開始時間の計算
図７は、テレビ番組の放送開始時間の計算に適した、マスタ開始時間７０２の例示的な実施形態７００を示す図である。ＥＰＧデータをさらに圧縮するため、マスタ開始時間７０２を、テレビ番組７０４〜７１６の長さ１３４（１）特性を用いて、放送開始時間を計算するために提供することができる。たとえば、所望のテレビ番組７１０の放送開始時間を計算するために、クライアント装置１０４は、ソフトウェアを実行して、テレビ番組７０４、テレビ番組７０６およびテレビ番組７０８が、マスタ開始時間７０２と所望のテレビ番組７１０の間に放送されると判断することができる。判断は、様々なやり方で行うことができる。ある実施形態では、テレビ番組７０４〜７１６の長さ１３４（１）特性の値２０４（１）〜２０４（７）が、マスタ開始時間７０２から始めて、時間順にリストされる。
【００３７】
次いで、テレビ番組７０４〜７０８の長さ１３４（１）の対応する値を、マスタ開始時間７０２に加算することによって、所望のテレビ番組７１０の放送開始時間が計算される。この場合、３０分２０４（１）、６０分２０４（２）、および９０分２０４（３）の値が、マスタ開始時間７０２に加算されて、所望のテレビ番組７１０の開始時間が計算される。次いで、所望のテレビ番組７１０の放送開始時間が、クライアント装置によって、ＥＰＧの一部として出力される。このようにして、ＥＰＧデータに含まれる各テレビ番組の別個の開始時間の値を含めないことによって、ＥＰＧデータを圧縮することができる。
【００３８】
あるチャンネルに、テレビ番組が放送されない時間帯がある場合は、その時間帯の後で放送される、次のテレビ番組の開始時間を計算するために、その時間帯の長さの値を提供することができる。たとえば、内容が放送されない時間帯の対応する長さをもつ、「番組なし」というタイトルのテレビ番組を提供することができる。したがって「番組なし」テレビ番組の後で放送されるテレビ番組の開始時間は、「番組なし」テレビ番組の長さの値を、マスタ開始時間に加算することによって計算することができる。
【００３９】
放送開始時間は、たとえば、所望のテレビ番組の放送開始時間を計算するためにプロセッサ上で実施可能な、図１３に示すＥＰＧアプリケーション１３２０によって、計算することができる。計算された放送開始時間は、ＥＰＧアプリケーションによって、ＥＰＧデータから生成されるＥＰＧの一部として、出力することができる。クライアント装置は、ヘッドエンドから受信されるブロードキャストからのマスタ開始時間を含めて、ＥＰＧデータを受信することができる。図１３に、ヘッドエンド１３３０の例を示す。
【００４０】
値の組合せの圧縮
図８は、値の組合せの圧縮の例示的な実施形態８００を示す図である。図２〜６に示した、前の例示的な実施形態では、識別子を用いて、単一の特性にとって、共通の値について説明した。ＥＰＧデータ８０２をさらに圧縮するため、識別子を用いて、特性の値の一意の組合せについて説明することもできる。
【００４１】
ＥＰＧデータ８０２は、図１に示すＥＰＧデータ１０６に類似していることも、類似してないこともあるが、ジャンル８０４、格付け８０６など、様々な特性を含み得る。特性は、言語８０８、暴力８１０などの内容フラグとして構成することもでき、またその他８１２の内容フラグを含む。内容フラグは、テレビ番組がその特性を含むか、それとも含まないかを示す。たとえば、言語８０８は、テレビ番組がアダルト言語を含むかどうかを示す、「はい」８１４（１）または「いいえ」８１４（２）の値を含み得る。同様に、暴力８１０は、テレビ番組が、暴力を含むかどうかを示す、「はい」８１６（１）または「いいえ」８１６（２）の値を含み得る。特性は、３つ以上の値を含むこともある。たとえば、ジャンル８０４は、テレビ番組が、ドラマ８１８（１）、コメディ８１８（２）、ニュース８１８（３）、スポーツ８１８（４）などであるかどうかを示す値を含み得る。格付け８０６は、Ｇ８２０（１）、ＰＧ８２０（２）、ＰＧ−１３  ８２０（３）およびＲ８２０（４）などの値を含み得る。
【００４２】
テレビ番組を示す様々な特性が使用可能であり、こうした特性のそれぞれが、様々な値を含み得るが、特性および値の組合せは、ＥＰＧデータ８０２内では、よく生じることである。ＥＰＧサーバ１１２は、圧縮ルーチン１１４を実行して、特性の値の組合せ８３０〜８３４を示す、識別子８２４〜８２８を含むテーブル８２２を生成することができる。換言すれば、識別子８２４〜８２８は、個々の共有の値をもつ特性の組合せを示すことができる。したがって、識別子８２４〜８２８を使用して、２つ以上の値を示すことができる。図２〜６の前の実施形態で説明したように、第４の識別子８３６をテーブル８２２に含めて、図８では「その他」８３８として示される、テーブル８２２に含まれない値を指すことができる。したがって、第４識別子８３６によって示される値は、圧縮されず、圧縮ＥＰＧデータ内に含まれる。
【００４３】
図９は、特性の値の組合せを示す識別子を含む、図８のテーブル８２２が生成される、例示的な手順９００を示す図である。ブロック９０２に、ＥＰＧサーバ１１２がＥＰＧデータ８０２を受信する、受信ステップを示されている。ＥＰＧデータ８０２は、ジャンル８０４、格付け８０６、言語８０８および暴力８１０の特性を含む。ＥＰＧデータ８０２は、複数のテレビ番組９０４、９０６、９０８、９１０、９１２、９１４の特性８０４〜８１０の値を示すように構成されている。こうした値がどのように各番組に対応するかを示すために、こうした値には、対応する番組の参照番号の、最初の３桁の数字と同じ数字を用いる。組合せについても、同じ組合せ内の値であることを示すために、その値には、類似の参照番号を用いる。
【００４４】
第１のテレビ番組９０４は、ジャンル８０４については、値ニュース９０４（１）を、格付け８０６については、値「Ｇ」９０４（２）を、言語８０８については、値「いいえ」９０４（３）を、および暴力８１０については、値「いいえ」９０４（４）を含み得る。第２のテレビ番組９０６は、ジャンル８０４については、値スポーツ９０６（１）を、格付け８０６については、値「Ｇ」９０６（２）を、言語８０８については、値「いいえ」９０６（３）を、および暴力８１０については、値「いいえ」９０６（４）を含み得る。同様に、第３、第４、第５および第６のテレビ番組［９０８、９１０、９１２、９１４］は、特性８０４〜８１０について、値［９０８（１）〜９０８（４）、９１０（１）〜９１０（４）、９１２（１）〜９１２（４）、９１４（１）〜９１４（４）］を含む。
【００４５】
ブロック９１６に、ＥＰＧサーバ１１２が、圧縮ルーチン１１４を実行することによって、ＥＰＧデータ８０２を分析して、それぞれの特徴について共通の値の組合せを検出する、分析ステップが示されている。図示する例では、第１および第２テレビ番組９０４、９０６の値９０４（１）〜９０４（４）、９０６（１）〜９０６（４）の分析から、組合せ８３０が検出される。組合せ８３０は、格付け８０６については、値「Ｇ」９１８（１）を、言語８０８については、値「いいえ」９１８（２）を、および暴力８１０については、値「いいえ」９１８（３）を含む。第３および第４テレビ番組９０８、９１０それぞれの値９０８（１）〜９０８（４）、９１０（１）〜９１０（４）を分析することから、組合せ８３２が、検出される。組合せ８３２は、格付け８０６については、値「ＰＧ」９２０（１）を、言語８０８については、値「はい」９２０（２）を、および暴力８１０については、値「いいえ」９２０（３）を含む。第５および第６テレビ番組９１２、９１４それぞれの値、９１２（１）〜９１２（４）、９１４（１）〜９１４（４）を分析することから、組合せ８３４が、検出される。組合せ８３４は、格付け８０６については、値「ＰＧ」９２２（１）を、言語８０８については、値「いいえ」９２２（２）を、および暴力８１０については、値「はい」９２２（３）を含む。
【００４６】
ブロック９２４に、ＥＰＧサーバ１１２が、圧縮ルーチン１１４を実行することによって、ブロック９１６で実施される分析に基づいてテーブル８２２を生成する、生成ステップが示されている。テーブル８２２は、それぞれ第１、第２、第３の識別子８２４、８２６、８２８によって示される、組合せ８３０、８３２、８３４を含む。テーブル８２２は、組合せ８３０〜８３４を含むように示されているが、テーブル８２２には、値９１８（１）〜９１８（３）、９２０（１）〜９２０（３）、９２２（１）〜９２２（３）が、それに対応する組合せ８３０、８３２、８３４に含まれる。テーブル８２２は、「その他」８３８として図示される、テーブル８２２内には含まれない値の組合せを示す、第４識別子８３６を含むこともできる。テーブル８２２は、たとえば図１のヘッドエンド１１８およびカルーセルファイルシステム１２２を使用することによって、ＥＰＧサーバ１１２から、クライアント装置１０４（図１）に送ることができる。
【００４７】
図１０は、図９のテーブル８２２を使用して、ＥＰＧデータを圧縮するための例示的な手順１０００を示す図である。ブロック１００２に、ＥＰＧサーバ１１２が、格付け８０６、言語８０８および暴力８１０の特性を含む、ＥＰＧデータ１００４を受信する、受信ステップが示されている。第１のテレビ番組１００６は、格付け８０６については、値「Ｇ」１００６（１）を、言語８０８については、値「いいえ」１００６（２）を、および暴力８１０については、値「いいえ」１００６（３）を含む。第２のテレビ番組１００８は、格付け８０６については、値「ＰＧ」１００８（１）を、言語８０８については、値「はい」１００８（２）を、および暴力８１０については、値「いいえ」１００８（３）を含む。第３のテレビ番組１０１０は、格付け８０６については、値「ＰＧ」１０１０（１）を、言語８０８については、値「いいえ」１０１０（２）を、および暴力８１０については、値「はい」１０１０（３）を含む。第４のテレビ番組１０１２は、格付け８０６については、値「ＰＧ」１０１２（１）を、言語８０８については、値「はい」１０１２（２）を、および暴力８１０については、値「はい」１０１２（３）を含む。
【００４８】
ブロック１０１４に、ＥＰＧサーバ１１２が、圧縮ルーチン１１４を実行して、ＥＰＧデータ１００４の値を圧縮して、圧縮ＥＰＧデータ１０１６を形成する、圧縮ステップが示されている。圧縮ルーチン１１４は、実行されると、ＥＰＧデータ１００４内の値［１００６（１）〜１００６（３）、１００８（１）〜１００８（３）、１０１０（１）〜１０１０（３）、１０１２（１）〜１０１２（３）］を、図９のブロック９１６に示される、個々の組合せ８３０、８３２、８３４内の値［９１８（１）〜９１８（３）、９２０（１）〜９２０（３）、９２２（１）〜９２２（３）］と比較する。値［１００６（１）〜１００６（３）、１００８（１）〜１００８（３）、１０１０（１）〜１０１０（３）、１０１２（１）〜１０１２（３）］が、テーブル８２２内の組合せ８３０、８３２、８３４のうちの１つと一致する場合、それらの値を、その組合せを示す、テーブル８２２の識別子と一致する識別子で置き換える。たとえば、ＥＰＧデータ１００４内の、格付け８０６についての値「Ｇ」１００６（１）、言語８０８についての値「いいえ」１００６（２）、および暴力８１０についての値「いいえ」１００６（３）が、図９のブロック９１６に示す組合せ８３０内の値９１８（１）〜９１８（３）と一致する。したがって、第１識別子８２４に一致する第１の識別子１０１８を使用して、値１００６（１）〜１００６（３）を置き換える。同様に、第２識別子８２６に一致する第２の識別子１０２０を使用して、ＥＰＧデータ１００４内の値１００８（１）〜１００８（３）を置き換える。第３識別子８２８に一致する第３の識別子１０２２を使用して、ＥＰＧデータ１００４内の値１０１０（１）〜１０１０（３）を置き換える。しかし、第４テレビ番組の値１０１２（１）〜１０１２（３）は、図９のブロック９１６に示す、組合せ８３０〜８３４内の値［９１８（１）〜９１８（３）、９２０（１）〜９２０（３）、９２２（１）〜９２２（３）］のどれとも一致しない。換言すれば、値１０１２（１）〜１０１２（３）は、テーブル８２２内の「その他」８３８に対応する。したがって、テーブル８２２内の第４識別子８３６に一致する、第４の識別子１０２４が、圧縮ＥＰＧデータ１０１６内に挿入される。第４識別子１０２４は、第４識別子１０２４をテーブル８２２内の識別子８２４〜８２８と比較する必要なしに、値１０１２（１）〜１０１２（３）が、圧縮ＥＰＧデータ１０１６から、直接に読み取られることを示す。次いで、圧縮ＥＰＧデータ１０１６を、クライアント装置１０４（図１）に送り、図９で生成されたテーブル８２２を使用して、圧縮することができる。
【００４９】
図１１は、クライアント装置１０４が、展開ルーチン１１０２を実行して、図９で生成されたテーブル８２２を使用して、図１０の圧縮ＥＰＧデータ１０１６を展開する、例示的な手順１１００を示す図である。ブロック１１０４に、クライアント装置１０４が、テーブル８２２および圧縮ＥＰＧデータ１１０６を受信する、受信ステップが示されている。テーブル８２２は、識別子８２４〜８２８を含み、これらの識別子８２４〜８２８は、図９で、特性８０６〜８１０について、それに対応する値９１８（１）〜９１８（３）、９２０（１）〜９２０（３）、９２２（１）〜９２２（３）を持つように示されている、組合せ８３０〜８３４を示す。
【００５０】
ブロック１１０６に、クライアント装置１０４が、展開ルーチン１１０２を実行して、テーブル８２２を使用することによって、圧縮ＥＰＧデータ１０１６内に含まれる識別子を展開して、展開ＥＰＧデータ１０１８を取得する、展開ステップが示されている。展開ルーチン１１０２は、実行されると、圧縮ＥＰＧデータ１０１６に含まれる識別子１０１８〜１０２４を、テーブル８２２に含まれる識別子８２４〜８２８、８３６と比較する。たとえば、展開ルーチン１１０２は、実行されると、圧縮ＥＰＧデータ１０１６内の第１識別子１０１８を、テーブル８２２内の識別子８２４〜８２８、８３６と比較する。圧縮ＥＰＧデータ１０１６内の第１識別子１０１８は、テーブル８２２内の第１識別子８２４と一致する。値９１８（１）〜９１８（３）が、第１識別子８２４によって示される。したがって、組合せ８３０内の値９１８（１）〜９１８（３）が、出力される。同様に、第２および第３識別子１０２０、１０２２とそれぞれ一致する、第２および第３識別子８２６、８２８によって示される、値９２０（１）〜９２０（３）、９２２（１）〜９２２（３）（図９）が、出力される。
【００５１】
圧縮ＥＰＧデータ１０１６内の第４識別子１０２４は、テーブル８２２内の第４識別子８３６と比較される場合、第４識別子１０２４によって示される値が、テーブル８２２内には含まれないことを示す。したがって、特性８０６、８０８、８１０についての、値１０１２（１）〜１０１２（３）が、圧縮ＥＰＧデータ１０１６自体から、直接に読み取られる。この実施形態では、第４識別子１０２４は、テーブル８２２内の第４識別子８３６と比較される（したがって、読取り識別子ではない）が、他の実施形態では、図２〜６に対応する実施形態で説明したように、識別子が読取り識別子であるかどうかの分析を実施することもできる。さらに、こうした実施形態では、上述のように、クライアント装置１０４に格納される場合に、第４識別子８３６を、テーブル８２２から除外することができる。
【００５２】
図３〜５に関連して上記で説明したテーブル２１０（１）と同様に、テーブル８２２は、様々な方法で、生成することができる。たとえば、クライアント装置に送られるＥＰＧの特性のセットそれぞれについて、テーブル８２２を生成することができる。さらに、圧縮するために、テーブル８２２とともに使用されるＥＰＧデータとは異なるＥＰＧデータのセットから、テーブル８２２を生成することもできる。たとえば図９〜１０に図示するように、テーブル８２２を、ＥＰＧデータ８０２のあるセットから生成し、ＥＰＧデータ１００４の別のセットを展開するために、それを使用することができる。さらに、図１２〜１３に関連して詳述するように、テーブル８２２は、圧縮ＥＰＧデータを送る前でも、その後でも、クライアント装置１０４に送り、そこで格納することができる。
【００５３】
例示的な環境
図１２に、ＥＰＧデータ圧縮および展開を実施することができる、例示的なテレビエンターテイメントシステム１２００を示す。システム１２００は、コンテンツなどのテレビ番組、およびＥＰＧデータの、複数の視聴者への配信を実施し、またＥＰＧデータ圧縮をさらに実行するためのコンポーネントを含む。システム１２００は、１つまたは複数のコンテンツプロバイダ１２０２、１つまたは複数のＥＰＧプロバイダ１２０４，コンテンツ配信システム１２０６、およびブロードキャストネットワーク１２１０を介してコンテンツ配信システム１２０６に結合された、複数のクライアント装置１２０８（１）、１２０８（２）、…、１２０８（Ｎ）を含む。クライアント装置１２０８（１）〜１２０８（Ｎ）およびブロードキャストネットワーク１２１０は、図１に示すクライアント装置１０４およびブロードキャストネットワーク１２４と同じでも、それとは異なっていてもよい。
【００５４】
コンテンツプロバイダ１２０２は、コンテンツサーバ１２１２、およびコンテンツ１２１４などの格納されたテレビ番組を含む。コンテンツサーバ１２１２は、コンテンツプロバイダ１２０２からコンテンツ配信システム１２０６への、格納されたコンテンツ１２１４の配信を制御する。さらに、コンテンツサーバ１２１２は、ライブコンテンツ（ｌｉｖｅ  ｃｏｎｔｅｎｔ）（ライブフィード（ｌｉｖｅ  ｆｅｅｄ）などの、前に格納されていないコンテンツなど）および／または他の場所に格納されたコンテンツの、コンテンツ配信システム１２０６への配信を制御する。ＥＰＧプロバイダ１２０４は、ＥＰＧデータベース１２１６およびＥＰＧサーバ１２１８を含む。ＥＰＧデータベース１２１６は、ＥＰＧを生成するために使用される、ＥＰＧデータの電子ファイルを格納する。ＥＰＧプロバイダ１２０４は、図１に示す製作元１０２などの他のリソースから、ＥＰＧデータを取得することもできる。ＥＰＧプロバイダ１２０４は、ＥＰＧデータベース１２１６およびＥＰＧサーバ１２１８は、図１に示すＥＰＧプロバイダ１０８、ＥＰＧデータベース１１０およびＥＰＧサーバ１１２と同じでも、それとは異なっていてもよい。
【００５５】
電子ファイルは、タイトル１２２２、テレビ番組がどの曜日に放映されるかを識別するための曜日１２２４、特定の曜日に放映されるテレビ番組の時間を識別するための開始時間１２２６、格付け、長さ、チャンネル、主人公名、言語、製作年度、暴力およびカテゴリ１２２８を含み得る、ＥＰＧデータ１２２０を保持する。あるタイプの特性であると見なされ得るカテゴリは、テレビ番組のジャンルを示し、テレビ番組のある特定のタイプとして、それを分類する。たとえば、テレビ番組は、映画、コメディ、スポーツイベント、ニュース番組、連続ドラマ、トークショーとして、または任意の数の他のカテゴリ説明として、分類することができる。さらに、ＥＰＧデータ１２２０は、映画の予定などのビデオオンデマンド情報、ならびに対話型ゲームなどに関するアプリケーション情報、および視聴者にとって関心のあり得る番組情報を含み得る。
【００５６】
ＥＰＧサーバ１２１８は、配信に先立って、ＥＰＧデータ１２２０を処理して、すべてのブロードキャストチャンネルに関する番組情報、ならびにある日または複数日についてのオンデマンドのコンテンツリストを含み得る、ＥＰＧデータの公開バージョンを生成する。この処理は、ＥＰＧデータ１２２０を削減し、修正しまたは向上させるための、任意の数の技術を必要とし得る。こうした処理は、テレビ番組の選択、テレビ番組の圧縮、形式の修正などを含み得る。ＥＰＧサーバ１２１８は、たとえばファイル転送プロトコル（ＦＴＰ）を使用して、ＴＣＰ／ＩＰネットワーク（インターネットまたはイントラネットなど）を介して、ＥＰＧプロバイダ１２０４からコンテンツ配信システム１２０６へ、公開バージョンのＥＰＧデータを配信することを制御する。さらに、公開バージョンのＥＰＧデータは、衛星およびコンテンツ配信システム１２０６を介して、ＥＰＧプロバイダ１２０４から、クライアント装置１２０８に、直接に送信することができる。
【００５７】
コンテンツ配信システム１２０６は、ブロードキャスト送信機１２３０、１つまたは複数のコンテンツ処理アプリケーション１２３２を含み、１つまたは複数のＥＰＧデータ処理アプリケーション１２３４を含み得る。ブロードキャスト送信機１２３０は、ブロードキャストネットワーク１２１０を介して、ケーブルテレビ信号などの信号をブロードキャストする。ブロードキャストネットワーク１２１０は、ケーブルテレビネットワーク、ＲＦ，マイクロ波、衛星および／またはインターネットなどのデータネットワークを含むことができ、任意のブロードキャスト形式またはブロードキャストプロトコルを使用する、有線または無線媒体を含むこともできる。さらに、ブロードキャストネットワーク１２１０は、任意のタイプのネットワークトポロジ（ｎｅｔｗｏｒｋ  ｔｏｐｏｌｏｇｙ）および任意のネットワーク通信プロトコルを使用する、任意のタイプのネットワークとすることができ、また複数のネットの組合せとして示すことができ、または他の方法で実施することができる。
【００５８】
コンテンツ処理アプリケーション１２３２は、ブロードキャストネットワーク１２１０を介してコンテンツを送信するのに先立って、コンテンツプロバイダ１２０２から受信されるコンテンツを処理する。同様に、ＥＰＧデータ処理アプリケーション１２３４は、ブロードキャストネットワーク１２１０を介してＥＰＧデータを送信するのに先立って、ＥＰＧプロバイダ１２０４から受信されたＥＰＧデータを処理する。特定のコンテンツ処理アプリケーション１２３２は、受信されたコンテンツを、ブロードキャストネットワーク１２１０に結合された複数のクライアント装置１２０８（１）、１２０８（２）、…、１２０８（Ｎ）によって理解される形式に符号化し、または別の方法で処理する。図１２には、単一のコンテンツプロバイダ１２０２、単一のＥＰＧプロバイダ１２０４、および単一のコンテンツ配信システム１２０６が示されているが、例示的なシステム１２００は、任意の数のコンテンツ配信システムに結合された、任意数のコンテンツプロバイダおよび／またはＥＰＧデータプロバイダを含むことができる。
【００５９】
コンテンツ配信システム１２０６は、複数の加入者に、ＥＰＧデータおよびコンテンツを提供するヘッドエンドを表す。それぞれのコンテンツ配信システム１２０６は、様々な番組の嗜好および構成（ｌｉｎｅｕｐ）を考慮する、わずかに異なるバージョンのＥＰＧデータを受信することができる。ＥＰＧサーバ１２１８は、個々のヘッドエンドサービスに関連するチャンネルを含む、様々なバージョンのＥＰＧを作成することができ、コンテンツ配信システム１２０６は、複数のクライアント装置１２０８（１）、１２０８（２）、…、１２０８（Ｎ）に、ＥＰＧデータを送信する。ある実施形態では、たとえば、コンテンツ配信システム１２０６は、カルーセルファイルシステムを使用して、帯域外（ＯＯＢ）チャネルを介して、クライアント装置１２０８に、ＥＰＧデータを繰り返しブロードキャストする。代替として、複数のクライアント装置１２０８（１）、１２０８（２）、…、１２０８（Ｎ）は、標準のまたは均一のＥＰＧデータを受信することができ、関連するヘッドエンドサービスに基づいて、表示するＥＰＧデータを個々に決定することができる。
【００６０】
クライアント装置１２０８は、様々なやり方で、実施することができる。たとえば、クライアント装置１２０８（１）は、パラボラアンテナ１２３６を介して、衛星ベースの送信機から、コンテンツブロードキャスト（ｃｏｎｔｅｎｔ  ｂｒｏａｄｃａｓｔ）を受信する。クライアント装置１２０８（１）は、セットトップボックスまたは衛星受信装置とも称される。クライアント装置１２０８（１）は、クライアント装置から受信されるコンテンツ（オーディオデータおよびビデオデータなど）表示するためのテレビ１２３８（１）、ならびにグラフィカルユーザインターフェイスに結合される。特定のクライアント装置１２０８は、任意の数のテレビ１２３８および／またはコンテンツを表示しまたは別の方法でレンダリングするために実施することができる類似の装置に結合することができる。同様に、任意の数のクライアント装置１２０８を単一のテレビ１２３８に結合することができる。
【００６１】
クライアント装置１２０８（２）もまた、ブロードキャストネットワーク１２１０から、コンテンツブロードキャストを受信するために結合されており、関連するテレビ１２３８（２）に、受信したコンテンツを提供する。クライアント装置１２０８（Ｎ）は、テレビ１２４０と統合セットトップボックス１２４２の組合せの例である。この例では、２つの別個の装置を使用するのではなく、セットトップボックスの様々なコンポーネントおよび機能が、テレビ内に統合されている。テレビ内に統合されたセットトップボックスは、（パラボラアンテナ１２３６に類似の）パラボラアンテナおよび／またはブロードキャストネット１２１０を介して、ブロードキャスト信号を受信することができる。代替実施形態では、クライアント装置１２０８は、インターネットまたは他の任意のブロードキャスト媒体、たとえばバックチャネル１２４４などを介してブロードキャストコンテンツを受信することができる。このバックチャネルは、インターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）接続として、またはたとえばモデム接続および従来の電話回線を使用する他のプロトコル接続として、実施することができる。さらに、バックチャネル１２４４は、それぞれのクライアント装置１２０８間、およびクライアント装置１２０８とコンテンツ配信システム１２０６の間の代替通信リンクを提供する。
【００６２】
例示的なシステム１２００は、ビデオオンデマンド（ＶＯＤ）映画のコンテンツなどの、格納されたオンデマンドのコンテンツ１２４４をも含む。格納されたオンデマンドコンテンツは、たとえば、オンスクリーンＥＰＧ（ｏｎｓｃｒｅｅｎ  ＥＰＧ）を用いて、クライアント装置１２０８を介して、テレビ１２３８で見ることができ、また視聴者は、対応するクライアント装置１２０８に、特定の映画または他の格納されているコンテンツをストリーミングするために、指示を入力することができる。
【００６３】
例示的なＥＰＧデータ圧縮システム
図１３に、例示的なクライアントシステム１２０８およびテレビ１２３８などの選択されたコンポーネントを含む、例示的なＥＰＧデータ圧縮システム１３００を示す。クライアント装置１２０８は、テレビベースの娯楽情報システムにおいて、ＥＰＧデータの展開を実施するためのコンポーネントを含む。クライアント装置１２０８は、セットトップボックス、衛星受信機、ハードディスクを備えたテレビレコーダ、デジタルビデオレコーダ（ＤＶＲ：ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）／再生システム、パーソナルビデオレコーダ（ＰＶＲ：ｐｅｒｓｏｎａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）／再生システム、ゲームコンソール、情報家電、および任意の数の類似の実施形態として、実施することができる。
【００６４】
クライアント装置１２０８は、１つまたは複数のチューナ１３０２を含む。このチューナは、テレビ信号を受信するために、様々な周波数またはチャンネルに合わせて調整する、１つまたは複数の帯域内チューナ、ならびにブロードキャストチャネルに合わせて調整する帯域外チューナを表しており、このブロードキャストチャネルを介して、ＥＰＧデータが、クライアント装置１２０８にブロードキャストされる。クライアント装置１２０８は、クライアント装置１２０８の動作を制御し、また他の電子コンピューティング装置と通信するための様々な命令を処理する、１つまたは複数のプロセッサ１３０４（マイクロプロセッサなど）をも含む。
【００６５】
１つまたは複数のメモリコンポーネントを備えるクライアント装置１２０８を実施することができ、こうしたメモリコンポーネントの例には、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３０６、大容量記憶媒体１３０８、ディスクドライブ１３１０、および不揮発性メモリ１３１２（ＲＯＭ、フラッシュ、ＥＰＲＯＭ、ＥＥＰＲＯＭなど）が含まれる。メモリコンポーネント（ＲＡＭ１３０６、記憶媒体１３０８、ディスクドライブ１３１０、および不揮発性メモリ１３１２など）は、様々な情報および／または受信されたコンテンツ、ＥＰＧデータ１３１４、クライアント装置１２０８の構成情報、および／またはグラフィカルユーザインターフェイス情報を格納する。
【００６６】
クライアント装置１２０８の代替実施形態では、様々な処理およびメモリ機能を含むことができ、また図１３に示すのとは異なる、任意の数のメモリコンポーネントを含み得る。たとえば、ディスクドライブ１３１０を含めて、充実したメモリおよび処理リソースを備える、フルリソースのクライアントを実施することができる。しかし、低リソースのクライアントでは、制限された容量のＲＡＭ１３０６および制限された処理能力のプロセッサ１３０４など、その処理およびメモリ機能が制限されることがある。
【００６７】
オペレーティングシステムシステム１３１６および１つまたは複数のアプリケーションプログラム１３１８を、不揮発性メモリ１３１２に格納し、プロセッサ１３０４上で実行して、ランタイム環境を提供することができる。ランタイム環境は、様々なインターフェイスを定義できるようにし、こうしたインターフェイスが、アプリケーションプログラム１３１８によるクライアント装置１２０８との対話を可能にすることによって、クライアント装置１２０８の拡張を実施する。クライアント装置１２０８で実装することができる、アプリケーションプログラム１３１８には、ウェブ（「ワールドワイドウェブ」など）をブラウズするためのブラウザ、電子メールを実行する電子メールプログラムなどが含まれる。
【００６８】
ＥＰＧアプリケーション１３２０は、ＥＰＧデータ１３１４を処理し、ＥＰＧを生成するために、メモリ１３１２に格納される。ＥＰＧアプリケーション１３２０は、ＥＰＧデータ１３１４を使用し、テレビ視聴者が、オンスクリーンＥＰＧ内を移動し、テレビ番組、ビデオオンデマンド映画、選択された対話型ゲーム、および視聴者にとって興味深い他の媒体アクセス情報を見つけることを可能にする。ＥＰＧアプリケーション１３２０を用いて、テレビ視聴者は、現在および今後の番組予定を見て、これからの番組のためにリマインダ（ｒｅｍｉｎｄｅｒ）を設定し、および／または１つまたは複数のテレビ番組またはビデオオンデマンド映画を録画するための指示を入力することができる。さらに、ＥＰＧアプリケーション１３２０を使用して、図７に関連して説明したように、開始時間を計算することができる。
【００６９】
クライアント装置１２０８はさらに、１つまたは複数の通信インターフェイス１３２２、およびＰＳＴＮ、ＤＳＬ、またはケーブルモデム１３２４を含む。通信インターフェイス１３２２は、シリアルおよび／またはパラレルインターフェイスとして、無線インターフェイスとして、および／または他の任意のタイプのネットワークインターフェイスとして実装することができる。無線インターフェイスによって、クライアント装置１２０８は、ユーザが操作する入力装置から、たとえば遠隔制御装置から、あるいは別の赤外線（ＩＲ：ｉｎｆｒａｒｅｄ）、８０２．１１、Ｂｌｕｅｔｏｏｔｈ、または類似のＲＦ入力装置から、入力コマンドおよび他の情報を受信できるようになる。入力装置は、無線キーボードを含むことも、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、ハンドヘルド（ｈａｎｄｈｅｌｄ）コンピュータ、無線電話など、別のハンドヘルド入力装置を含むこともある。ネットワークインターフェイス、ならびにシリアルおよび／またはパラレルインターフェイスによって、クライアント装置１２０８は、様々な通信リンクを介して、他の電子コンピューティング装置と対話し、通信することができる。モデム１３２４は、クライアント装置１２０８による、従来の電話回線、ＤＳＬ接続、またはケーブルモデムを介した、他の電子コンピューティング装置との通信を実行する。
【００７０】
クライアント装置１２０８は、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、または他のテレビシステムアナログビデオ信号などのブロードキャストビデオ信号、ならびにＤＶＢ、ＡＴＳＣ、または他のテレビシステムデジタルビデオ信号を処理し復号化するための、コンテンツプロセッサおよび／またはデコーダ１３２６をも含む。コンテンツプロセッサ１３２６は、コンテンツ配信システム１２０６（図１２）から受信されるビデオコンテンツを受信し、復号化し、および／または処理するために、ビデオデコーダおよび／または追加のプロセッサを含むこともできる。このコンテンツ配信システムは、ＥＰＧデータおよびコンテンツを、複数のクライアント装置１２０８に提供するヘッドエンドサービスを表す。コンテンツプロセッサ１３２６は、ＭＰＥＧ符号化ビデオコンテンツを復号化する、ＭＰＥＧ−２またはＭＰＥＧ−４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）デコーダを含み得る。ＭＰＥＧは、レガシＴＶ（ｌｅｇａｃｙ  ＴＶ）、ＨＤＴＶ（高品位テレビ：ｈｉｇｈ−ｄｅｆｉｎｉｔｉｏｎ  ｔｅｌｅｖｉｓｉｏｎ）ＤＶＤ（デジタル多用途ディスク：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）および５チャンネルサラウンドサウンド（ｆｉｖｅ−ｃｈａｎｎｅｌ  ｓｕｒｒｏｕｎｄ  ｓｏｕｎｄ）を含めた、様々なオーディオ／ビデオ形式をサポートする。
【００７１】
一般に、ビデオコンテンツは、ビデオデータ、およびビデオデータに対応するオーディオデータを含む。コンテンツプロセッサ１３２６は、表示装置１２３８上に表示するためにフォーマットされる、ビデオおよび／または表示コンテンツを生成し、また表示装置１２３８上の１つまたは複数のスピーカ（図示せず）などのオーディオ装置によって出力するためにフォーマットされる、復号化されたオーディオデータを生成する。コンテンツプロセッサ１３２６は、表示装置１２３８上に対応するイメージを表示するために、ビデオおよび／または表示コンテンツを処理する、表示制御装置（図示せず）を含み得る。表示制御装置は、マイクロコントローラ、集積回路、および／またはイメージを処理するための類似のビデオ処理コンポーネントを含み得る。クライアント装置１２０８は、オーディオおよび／またはビデオ出力１３２８をも含み、この出力１３２８は、テレビ１２３８、あるいはオーディオおよびビデオデータを処理および／または表示、または他の方法でレンダリングする他の装置に、ビデオおよび／または表示信号を供給する。本明細書で説明するシステムおよび方法は、任意のタイプの符号化形式、ならびに符号化されないデータおよび／またはコンテンツストリーム（ｃｏｎｔｅｎｔ  ｓｔｒｅａｍ）についても、実行できることに留意されたい。
【００７２】
クライアント装置１２０８の一部のコンポーネントは、別々に図示されているが、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）で、実施することができる。さらに、システムバス（図示せず）は一般に、クライアント装置１２０８内の様々なコンポーネントを接続する。システムバスは、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイティッドグラフィックスポート（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）または様々なバスアーキテクチャーのうちのいずれかを使用するローカルバスを含めて、いくつかのタイプのバス構造のうちの１つまたは複数として実施することができる。例を挙げれば、こうしたアーキテクチャーには、業界標準アーキテクチャー（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロチャネルアーキテクチャー（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  ＩＳＡ）、ビデオ電子規格協会（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも称される、周辺コンポーネント相互接続（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスが含まれ得る。
【００７３】
例示的なＥＰＧデータ圧縮システム１３００は、コンテンツ配信システム１２０６（図１２）の実施形態として、ヘッドエンド１３３０をも含む。このコンテンツ配信システムは、クライアント装置１２０８に、ＥＰＧデータ１３３２およびコンテンツを提供するヘッドエンドを表す。ヘッドエンド１３３０は、ＥＰＧデータ１３３２を処理し、ならびにフィールド内の値の組合せ、値の一意の組合せ、およびマスタ開始時間の使用など、本明細書で説明したＥＰＧデータ圧縮手順を実施するために実装される、ＥＰＧアプリケーション１３３４（図１２に示す、ＥＰＧデータ処理アプリケーション１２３４など）を含む。
【００７４】
ＥＰＧアプリケーション１３３４は、プロセッサ上で実行され、またヘッドエンド１３３０内の不揮発性メモリ装置内に格納されるソフトウェアコンポーネントとして実装することができる。ＥＰＧアプリケーション１３３４は、ＥＰＧデータ圧縮の複数の機能を実施するように構成された、単一のアプリケーションとして図示され説明されているが、ＥＰＧアプリケーション１３３４は、分散されて、それぞれが、コンピューティング装置、デジタルビデオレコーダシステム（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ  ｓｙｓｔｅｍ）、パーソナルビデオレコーダシステム（ｐｅｒｓｏｎａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ  ｓｙｓｔｅｍ）、および／または他の任意のテレビベースのエンターテイメント情報システムにおける１つまたは複数の機能を実施する、複数のコンポーネントアプリケーションとして、実装することもできる。
【００７５】
ＥＰＧアプリケーション１３３４は、識別子、およびＥＰＧデータ１３３２内に見られる値を含む、テーブル１３３６を生成する。ブロードキャストネットワーク１２１０を介してクライアント装置１２０８に送るために、ヘッドエンドが任意の期間で、ＥＰＧデータを生成し、そのＥＰＧデータを圧縮する場合は、テーブル１３３６を、ＥＰＧアプリケーション１３３４を用いて、ヘッドエンド１３３０によって生成することができる。別の実施形態では、複数のＥＰＧを生成する際に使用するために、テーブル１３３６を、クライアント装置１２０８によって、生成し、格納することができる。クライアント装置１２０８は、ヘッドエンド１３３０から、圧縮ＥＰＧデータ１３３８を受信し、ディスクドライブ１３１０および／または不揮発メモリ１３１２内に、圧縮ＥＰＧデータ１３３８および関連するテーブル１３４０を格納することができる。この例では、伝送帯域を狭くするために、ＥＰＧデータを送信する前に、ＥＰＧデータを圧縮することが説明されているが、クライアント装置１２０８が、ＥＰＧデータを受信し、次いでテーブル生成し、さらにＥＰＧデータ圧縮して、ＥＰＧデータを保持しまたは別の方法で格納するための必要なメモリ記憶域を縮小することもできる。
【００７６】
結論
本発明について、構造上の特徴および／または方法論的な行為に特有の言語で説明したが、添付の特許請求の範囲において定義される本発明は、説明した具体的な特徴または行為に、必ずしも限定されないことを理解されたい。そうではなく、こうした具体的な特徴および行為は、特許請求の範囲に記載されている発明を実施する例示的な形として、開示されている。
【図面の簡単な説明】
【００７７】
【図１】製作元およびクライアント装置を含む、テレビエンターテイメントシステムを示す図である。
【図２】テーブル内に、図１に示すテレビ番組特性「長さ」の共通の値が含まれている、例示的な実施形態を示す図である。
【図３】図２のテーブルを生成するための例示的な手順を示す図である。
【図４】ＥＰＧデータを圧縮するため、図３の手順によって生成されたテーブルを使用するための例示的な手順を示す図である。
【図５】図３で生成されたテーブルを使用して、図４の圧縮ＥＰＧデータを展開するために、クライアント装置が展開ルーチンを実行する、例示的な手順を示す図である。
【図６】対応するテレビ番組を伴う、図４の圧縮ＥＰＧデータ内の共通および非共通の値の内容を示す、例示的な実施形態を示す図である。
【図７】長さのテレビ番組特性の値と併せて使用される場合、クライアント装置が所望のテレビ番組の開始時間を計算することを可能にするのに適している、マスタ開始時間の例示的な実施形態を示す図である。
【図８】テーブル内のテレビ番組特性の値の組合せの例示的な実施形態を示す図である。
【図９】それぞれがテレビ番組特性の値の組合せを示す、複数の識別子を含む図８のテーブルが生成される、例示的な手順を示す図である。
【図１０】図９で生成されるテーブルを使用して、ＥＰＧデータに含まれる値の組合せを圧縮するための例示的な手順を示す図である。
【図１１】クライアント装置が展開ルーチンを実行して、図９のテーブルを使用して、図１０の圧縮ＥＰＧデータを展開する、例示的な手順を示す図である。
【図１２】ＥＰＧデータの圧縮および展開を実施することができる、例示的なテレビエンターテイメントシステムを示す図である。
【図１３】例示的なクライアント装置およびテレビなど、図１２のテレビエンターテイメントシステムの選択されたコンポーネントを示す図である。
【符号の説明】
【００７８】
１００  テレビエンターテイメントシステム
１０２  制作元
１０４  クライアント装置
１０６  ＥＰＧデータ
１０６ａ  ＥＰＧデータ
１０８  ＥＰＧプロバイダ
１１０  ＥＰＧデータベース
１１２  ＥＰＧサーバ
１１４  圧縮ルーチン
１１６  圧縮ＥＰＧデータ
１１８  ヘッドエンド
１２０  データベース
１２２  カルーセルファイルシステム
１２４  ブロードキャストネットワーク
１２６  セットトップボックス
１２８  表示装置
１３０  特性（タイトル）
１３２  特性（曜日）
１３４  特性（長さ）
１３４（１）  特性（長さ）
１３４（２）  特性（長さ）
１３４（Ｊ）  特性（長さ）
１３６  特性（チャンネル）
１３８（１）  値
１３８（２）  値
１３８（Ｎ）  値
２０２  実施形態
２０２（１）  チャンネル
２０２（２）  チャンネル
２０２（Ｊ）  チャンネル
２０４（１）  値（３０分）
２０４（２）  値（６０分）
２０４（３）  値（９０分）
２０４（４）  値（３５分）
２０４（５）  値（３０分）
２０４（６）  値（６０分）
２０４（７）  値（９０分）
２０６（１）  値（２４０分）
２０６（２）  値（２４０分）
２０６（３）  値（２４０分）
２０６（４）  値（２４０分）
２０６（５）  値（２４０分）
２０６（６）  値（２４０分）
２０６（７）  値（２４０分）
２０８（１）  値（９０分）
２０８（２）  値（１２０分）
２０８（３）  値（９０分）
２０８（４）  値（９０分）
２０８（５）  値（９０分）
２０８（６）  値（９０分）
２０８（７）  値（１２０分）
２１０（１）  テーブル
２１０（２）  テーブル
２１０（Ｊ）  テーブル
２１２（１）  値（３０分）
２１２（２）  値（６０分）
２１２（３）  値（９０分）
２１４（１）  値（２４０分）
２１６（１）  値（９０分）
２１６（２）  値（１２０分）
３００  手順
３０２  ブロック
３０４  ブロック
３０６  ブロック
３０８  第１識別子
３１０  識別子
３１２  識別子
３１４  読取り識別子
３１６  その他
３１８  ブロック
４００  手順
４０２  ＥＰＧデータ
４０４  ブロック
４０６（１）  値（３０分）
４０６（２）  値（６０分）
４０６（３）  値（９０分）
４０６（４）  値（１２０分）
４０８  ブロック
４１０  圧縮ＥＰＧデータ
４１２  第１識別子
４１４  第２識別子
４１６  第３識別子
４１８  第４識別子
４２０  ブロック
５００  手順
５０２  展開ルーチン
５０４  ブロック
５０６  ブロック
５０８  展開ＥＰＧデータ
６００  実施形態
６０２  テレビ番組
６０４  テレビ番組
６０６  テレビ番組
６０８  テレビ番組
７００  実施形態
７０２  マスタ開始時間
７０４  テレビ番組
７０６  テレビ番組
７０８  テレビ番組
７１０  テレビ番組
７１２  テレビ番組
７１４  テレビ番組
７１６  テレビ番組
８００  実施形態
８０２  ＥＰＧデータ
８０４  特性（ジャンル）
８０６  特性（格付け）
８０８  特性（言語）
８１０  特性（暴力）
８１２  特性（その他）
８１４（１）  値（はい）
８１４（２）  値（いいえ）
８１６（１）  値（はい）
８１６（２）  値（いいえ）
８１８（１）  値（ドラマ）
８１８（２）  値（コメディ）
８１８（３）  値（ニュース）
８１８（４）  値（スポーツ）
８２０（１）  値（Ｇ）
８２０（２）  値（ＰＧ）
８２０（３）  値（ＰＧ−１３）
８２０（４）  値（Ｒ）
８２２  テーブル
８２４  第１識別子
８２６  第２識別子
８２８  第３識別子
８３０  組合せ
８３２  組合せ
８３４  組合せ
８３６  第４識別子
８３８  その他
９０２  ブロック
９０４  テレビ番組
９０４（１）  値（ニュース）
９０４（２）  値（Ｇ）
９０４（３）  値（いいえ）
９０４（４）  値（いいえ）
９０６  テレビ番組
９０６（１）  値（スポーツ）
９０６（２）値（Ｇ）
９０６（３）  値（いいえ）
９０６（４）  値（いいえ）
９０８  テレビ番組
９０８（１）  値（ドラマ）
９０８（２）  値（ＰＧ）
９０８（３）  値（はい）
９０８（４）  値（いいえ）
９１０  テレビ番組
９１０（１）  値（コメディ）
９１０（２）  値（ＰＧ）
９１０（３）  値（はい）
９１０（４）  値（いいえ）
９１２  テレビ番組
９１２（１）  値（ドラマ）
９１２（２）  値（ＰＧ）
９１２（３）  値（はい）
９１２（４）  値（はい）
９１４  テレビ番組
９１４（１）  値（コメディ）
９１４（２）  値（ＰＧ）
９１４（３）  値（はい）
９１４（４）  値（はい）
９１６  ブロック
９１８（１）  値（Ｇ）
９１８（２）  値（いいえ）
９１８（３）  値（いいえ）
９２０（１）  値（ＰＧ）
９２０（２）  値（はい）
９２０（３）  値（いいえ）
９２２（１）  値（ＰＧ）
９２２（２）  値（いいえ）
９２２（３）  値（はい）
９２４  ブロック
１０００  手順
１００２  ブロック
１００４  ＥＰＧデータ
１００６  テレビ番組
１００６（１）  値（Ｇ）
１００６（２）  値（いいえ）
１００６（３）  値（いいえ）
１００８  テレビ番組
１００８（１）  値（ＰＧ）
１００８（２）  値（はい）
１００８（３）  値（いいえ）
１０１０  テレビ番組
１０１０（１）  値（ＰＧ）
１０１０（２）  値（いいえ）
１０１０（３）  値（はい）
１０１２  テレビ番組
１０１２（１）  値（ＰＧ）
１０１２（２）  値（はい）
１０１２（３）  値（はい）
１０１４  ブロック
１０１６  圧縮ＥＰＧデータ
１０１８  第１識別子
１０２０  第２識別子
１０２２  第３識別子
１０２４  第４識別子
１１０２  展開ルーチン
１１０４  ブロック
１１０６  ブロック
１１０８  展開ＥＰＧデータ
１２００  テレビエンターテイメントシステム
１２０２  コンテンツプロバイダ
１２０４  ＥＰＧプロバイダ
１２０６  コンテンツ配信システム
１２０８  クライアント装置
１２０８（１）  クライアント装置
１２０８（２）  クライアント装置
１２０８（３）  クライアント装置
１２０８（４）  クライアント装置
１２１０  ブロードキャストネットワーク
１２１２  コンテンツサーバ
１２１４  格納されたコンテンツ
１２１６  ＥＰＧデータベース
１２１８  ＥＰＧサーバ
１２２０  ＥＰＧデータ
１２２２  タイトル
１２２４  曜日
１２２６  開始時間
１２２８  カテゴリ
１２３０  ブロードキャスト送信機
１２３２  コンテンツ処理アプリケーション
１２３４  ＥＤＰデータ処理アプリケーション
１２３６  パラボラアンテナ
１２３８（１）  テレビ
１２３８（２）  テレビ
１２４０  テレビ
１２４２  統合セットトップボックス
１２４４  バックチャネル
１３０２  チューナ
１３０４  プロセッサ
１３０８  記憶媒体
１３１０  ディスクドライブ
１３１２  不揮発性メモリ
１３１４  ＥＰＧデータ
１３１６  オペレーティングシステム
１３１８  アプリケーションプログラム
１３２０  ＥＰＧアプリケーション
１３２２  通信インターフェイス
１３２４  ケーブルモデム
１３２６  コンテンツプロセッサ
１３２８  オーディオ／ビデオ出力
１３３０  ヘッドエンド
１３３２  ＥＰＧデータ
１３３４  ＥＰＧアプリケーション
１３３６  テーブル
１３３８  圧縮ＥＰＧ
１３４０  テーブル
【図１】
2005020762.tif 000003
【図２】
2005020762.tif 000004
【図３】
2005020762.tif 000005
【図４】
2005020762.tif 000006
【図５】
2005020762.tif 000007
【図６】
2005020762.tif 000008
【図７】
2005020762.tif 000009
【図８】
2005020762.tif 000010
【図９】
2005020762.tif 000011
【図１０】
2005020762.tif 000012
【図１１】
2005020762.tif 000013
【図１２】
2005020762.tif 000014
【図１３】
2005020762.tif 000015