JP2005020762A - Epgデータの圧縮および展開 - Google Patents

Epgデータの圧縮および展開 Download PDF

Info

Publication number
JP2005020762A
JP2005020762A JP2004190394A JP2004190394A JP2005020762A JP 2005020762 A JP2005020762 A JP 2005020762A JP 2004190394 A JP2004190394 A JP 2004190394A JP 2004190394 A JP2004190394 A JP 2004190394A JP 2005020762 A JP2005020762 A JP 2005020762A
Authority
JP
Japan
Prior art keywords
values
television program
epg
identifier
epg data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004190394A
Other languages
English (en)
Inventor
Tim Nichols
ニコルズ ティム
Steven Wasserman
ワッサーマン スティーブン
Grant Mohr
モーア グラント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005020762A publication Critical patent/JP2005020762A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 EPGデータ用に確保されるメモリ容量の制限を緩和する。
【解決手段】 EPGデータは、複数のテレビ番組を含む。それぞれのテレビ番組は、テレビ番組の1つまたは複数の特性を個々に示す、1つまたは複数の値をもつ。EPGデータは、各テレビ番組の1つまたは複数の値を、値の一意の組合せと比較して、一致を検出することによって、圧縮される。一意の各組合せ内のそれぞれの値は、テレビ番組の特性を示す。一意の組合せはそれぞれ、複数の識別子を含むテーブル内にあり、識別子はそれぞれ、前記一意の組合せの1つを示す。一致のそれぞれについて、テレビ番組の1つまたは複数の値が、一致する値の一意の組合せを示す、テーブル内の識別子で置き換えられる。
【選択図】 図1

Description

本発明は、一般には、電子番組ガイドに関し、より詳細には、電子番組ガイドデータの圧縮および展開に関する。
テレビ番組がますます多様になり、テレビ局の数が増加しているため、視聴者は、さらに増加するテレビ番組を利用することができる。テレビ番組の数は増加したものの、視聴者は、所望のテレビ番組にアクセスする際に、問題に直面することがある。たとえば、視聴者は、利用できるテレビチャンネルの数のせいで、所望のテレビ番組を見つけることができないことがある。したがって、視聴者は、要望どおりに、テレビ番組を十分に体験でき(experience)ないことがある。
視聴者がよりよくテレビ番組を体験できるように、電子番組ガイド(EPG:electronic program guide)を提供することができる。EPGによって、視聴者は、現在放送中のテレビ番組のリスト、およびこれから放送されるテレビ番組のリストを見ることができる。さらに、EPGによって、視聴者は、EPG自体からテレビ番組に移動する(navigate)ことができる。視聴者に追加の情報を提供するために、EPGは、その中に、テレビ番組について説明する、1つまたは複数のテレビ番組の特性を含む。テレビ番組の特性には、タイトル、放送時間、放送チャンネル、長さ、テレビ番組の説明、テレビ番組の格付け(G、PG、PG13、Rなど)、主人公名などが含まれる。
したがって、EPGの通信およびクライアント装置上での格納を向上させることが求められている。
EPGを作成するために、EPGデータが使用される。EPGデータは、EPGプロバイダによって、テレビ番組の製作元から入手されるデータから生成することができる。そのデータは一般に、国内ガイドフィード(national guide feed)を使用して、製作元からEPGプロバイダに送信される。国内ガイドフィードは、製作元からEPGプロバイダのヘッドエンド(head end)への高帯域接続を介して送信され一般に、大量のデータを含む。クライアント装置が、EPGプロバイダによって生成されたEPGデータを受信できるように、ヘッドエンドとクライアント装置の間の接続も設けられる。しかし、ヘッドエンドとクライアント装置の間の接続の帯域は、ヘッドエンドと製作元の間に設けられている国内ガイドフィードの帯域よりも遥かに低い。さらに、EPGデータは、クライアント装置のメモリに格納される。したがって、クライアント装置に格納することができるEPGデータの量は、クライアント装置のメモリによって左右される。クライアント装置が、低リソースのクライアント装置であり、つまりクライアントの装置のメモリが制限されている場合は、EPGデータ用に確保されるメモリ容量、および他の機能を提供するためのメモリの使用可能な容量が制限される。
電子番組ガイド(EPG)データの圧縮および展開(decompression、伸長とも呼ばれることがある)について説明する。EPGデータは、複数のテレビ番組を含む。それぞれのテレビ番組は、1つまたは複数のテレビ番組の特性を個々に説明する1つまたは複数の値を含む。ある実施形態では、EPGデータは、各テレビ番組の1つまたは複数の値を、個々のテレビ番組特性を表す値の一意の組合せと比較して、一致を検出することによって圧縮される。一意の組合せはそれぞれ、一意の組合せのうちの1つを示す、複数の識別子を含むテーブル内にある。それぞれの一致について、EPGデータ内の、対応するテレビ番組の1つまたは複数の値が、一致する値の一意の組合せを示すテーブル内の識別子で置き換えられる。
圧縮されたEPGデータは、展開ルーチンを実行するクライアント装置によって、展開される。クライアント装置は、テーブルおよび圧縮EPGデータを含む。展開ルーチンの実行時に、テレビ番組の1つまたは複数の識別子が、テーブル内の識別子と比較される。一致する場合は、少なくとも1つの値が、テーブル内の一致する識別子によって示される、値の一意の組合せから出力される。
別の実施形態では、EPGデータは、各テレビ番組の1つまたは複数の値を、テレビ番組の特性を表す、テーブル内の値と比較することによって圧縮される。テーブル内の各値は、識別子によって示される。各テレビ番組の1つまたは複数の値が、テーブル内の値のうちの1つに一致する場合は、各テレビ番組の1つまたは複数の値が、テーブル内の一致する値を示す識別子と一致する、ある識別子で置き換えられる。各テレビ番組の1つまたは複数の値が、テーブル内のどの値とも一致しない場合は、EPGデータ内に、読取り識別子(read identifier)が、各テレビ番組の1つまたは複数の値とともに挿入される。読取り識別子は、各テレビ番組の1つまたは複数の値を示す。
圧縮EPGデータは、展開ルーチンを実行するクライアント装置によって、展開される。クライアント装置は、テーブルおよび圧縮EPGデータを含む。展開ルーチンの実行時に、圧縮EPGデータ内のテレビ番組の識別子が分析される。テレビ番組の識別子が、読取り識別子である場合は、読取り識別子によって示される値が、圧縮EPGデータから出力される。テレビ番組の識別子が、読取り識別子でない場合は、テレビ番組の識別子が、テーブル内の識別子と比較される。一致する場合は、テーブル内の一致する識別子によって示される値が、テーブルから出力される。
別の実施形態では、EPG内の各テレビ番組の放送開始時間が、マスタの開始時間を用いて、クライアント装置によって計算される。そのために、EPG内の各テレビ番組の長さが、マスタ開始時間に追加され、各テレビ番組の開始時間が計算される。次いで、TV視聴者に表示するため、EPG内のテレビ番組の開始時間を出力することができる。
概要
以下の説明は、電子番組ガイド(EPG)データの圧縮および展開を対象とする。EPGデータは、対話型テレビネットワーク、EPGを使用するケーブルネットワーク、およびウェブ対応のテレビネットワークなど、テレビエンターテイメントシステム(television entertainment system)内に提供することができる。こうしたシステム内のクライアント装置は、充実したメモリおよびプロセッサリソースを備えるフルリソース(full resource)のクライアント装置(テレビ対応のパーソナルコンピュータ、ハードウェアディスクを備えるテレビレコーダなど)からメモリおよび/またはプロセッサリソースが制限された、低リソースのクライアント装置(従来のセットトップボックス(set−top boxなど))に及ぶ。以下で説明するシステムおよび方法の側面は、こうしたシステムのいずれにおいても、また任意のタイプのクライアント装置に使用することができるが、低リソースのクライアント装置を伴うシステムに特に適している。したがって、以下の説明の一部では、低リソース環境の文脈において、このシステムおよび方法について説明する。
以下の説明を簡略にするために、「テレビ番組(の)特性」についての言及は、「特性」に短縮する。さらに、テレビ番組について説明するが、テレビ番組は、テレビネットワークによる従来の番組に限定されず、ビデオオンデマンド(VOD:video−on−demand)、放送映画、ペイパービュー(pay−per−view)方式の番組なども含み得る。
テレビエンターテイメントシステム
図1は、製作元102およびクライアント装置104を含む、テレビエンターテイメントシステム100を示す図である。製作元102は、クライアント装置104に配信するためのEPGデータ106を作成する。製作元102の一例は、対話型テレビネットワークのためのEPGデータを作成する、Tribune Corporationである。本明細書では、EPGデータは、EPG作成のために使用され得る、あるタイプのデータを指す。EPGデータは、コンテンツプロバイダ(content provider)によって放送されるテレビ番組の特性を含む。特性には、タイトル、放送時間、放送チャンネル、長さ、テレビ番組の説明、テレビ番組の格付け(G、PG、PG13、Rなど)、主人公名などが含まれ得る。
EPGデータ106は、製作元102からEPGプロバイダ108に、電子ファイルとして転送される。たとえば、EPGデータ106は、ファイル転送プロトコル(FTP:file transfer protocol)を使用して、TCP/IPネットワーク(インターネット、UNIX(登録商標)など)を介して、EPGプロバイダ108に転送される。EPGデータ106は、EPGプロバイダ108のEPGデータベース110内に格納される。
EPGデータ106の元のバージョンは、複数日のすべての番組情報を含む。EPGサーバ112は、配信に先立って、EPGデータ106を処理するため、EPGプロバイダと通信する。この処理には、クライアント装置104がEPGデータ106をより効果的に取り扱うことができるように、EPGデータ106を調整するための1つまたは複数の技術を用いる。クライアント装置104は、セットトップボックス、またはメモリおよび/または処理リソースが制限されていることを一般に特徴とする他の低リソースのクライアント装置など、様々なやり方で構成することができる。こうしたクライアント装置104は、EPGデータ106の元のバージョン全体を格納できるほど十分なリソースを有さないことがある。クライアント装置104のリソースが制限されている場合は、EPGサーバ112によって実施される処理が、EPGデータ106を事前に調整して、クライアント装置104での格納および処理により適した形にする助けとなる。
処理の中でも特に、EPGサーバ112は、クライアント装置104のリソースが制限されていても、クライアント装置104上に、格納することができるように、EPGデータ106の量を減らすように構成される。たとえば、EPGサーバ112は、圧縮ルーチン114を使用することによって、配信に先立って、EPGデータ106を圧縮することができる。圧縮ルーチン114は、クライアント装置104への通信のために、EPGデータ106を圧縮するのに使用されるソフトウェアとして実装することができる。
EPGサーバ112は、ヘッドエンド118のデータベース120内に格納するため、ヘッドエンド118に、EPGデータ106から形成された圧縮EPGデータ116を提供する。カルーセルファイルシステム(carousel file system)122は、帯域外(OOB:out−of−band)チャネル上で、ブロードキャストネットワーク124(broadcast network)を介してクライアント装置104に、圧縮EPGデータ116を繰り返しブロードキャスト(broadcast)する。ヘッドエンド118からクライアント装置104への配信は、ケーブル、RF、マイクロ波、および衛星を含めて、いくつかのやり方で、対処することができる。ヘッドエンド118は、EPGプロバイダ108とは別個であるように示されているが、EPGプロバイダ108は、EPGサーバ112を含むヘッドエンド118を含むこともできる。さらに、EPGサーバ112は、EPGデータ106を提供する製作元102の一部として、含まれることもある。
図示する実施形態では、クライアント装置104は、表示装置128に接続されたセットトップボックス126として示されている。クライアント装置104はしばしば、オペレーティングシステムおよびいくつかのプログラムを格納し実行するのに十分なほどの処理および記憶機能を備える。クライアント装置104に格納されるプログラムの例には、ウェブブラウザ、電子番組ガイド、パーソナルスケジューラ(personal scheduler)などが含まれ得る。セットトップボックス126は、表示装置128とは別個であるように示されているが、代わりに、一体型ユニットとして、表示装置128に組み入れることもできる。さらに、他の実施形態では、クライアント装置104は、ブロードキャスト対応のコンピュータ、情報家電など、EPGデータを取り扱うことができる他の装置として、実施することもできる。クライアント装置104についての追加の説明を、図12〜13に関連して見ることができる。
EPGデータベース110内に格納されるEPGデータ106aは、テレビ番組を表す様々な特性130〜136を含み得る。たとえば、特性には、タイトル130、テレビ番組が放送される日(たとえば日曜日)132、テレビ番組の放送の長さ134、テレビ番組が放送されるチャンネル136などが含まれ得る。さらに、それぞれの特性130〜136は、複数の値を含み得る。たとえば、コンテンツプロバイダによって放送されるテレビ番組は、長さ134特性について、様々な値138(1)〜138(N)を含み得る。さらに、ある値が、テレビ番組が、アダルト言語や暴力などの特性を含むか、それとも含まないかなど、特性についての二値条件(binary condition)を示すこともある。
特性の共通値の圧縮
EPGデータは、より幅広い値をもつ様々な特性を有し得るが、EPGデータの特性が発生するほとんどの場合において、少数の値を用いることができる。たとえば、図2は、図1に示す長さ134特性の値の例示的な実施形態200を示す図である。テレビ番組は、1分から1440分(24時間)までの長さをもち得るが、長さ134のEPGデータは、有限個の、頻繁に発生する値を含み得る。様々なチャンネル202(1)〜(J)について、こうした値は、異なり得る。たとえば、チャンネル202(1)は、長さ134(1)特性をもつ一般的なテレビネットワークであり得る。チャンネル202(1)は、30分[204(1)、204(5)]、60分[204(2)、204(6)]および90分[204(3)、204(7)]の値をもつが、35分204(4)などの、他の多くの値はもたないテレビ番組を放送する。同様に、チャンネル202(2)は、やはり長さ134(2)をもつケーブルニュース、または天気チャンネルであり得る。チャンネル202(2)は、長さ134(2)について、240分206(1)〜206(7)の複数の値をもつ。チャンネル202(J)は、長さ134(J)について、90分[208(1)、208(3)、208(4)、208(5)、208(6)]または120分[208(2)、208(7)]の値をもつ映画を放送する映画チャンネルであり得る。
EPGサーバ112は、圧縮ルーチン114を実行して、チャンネル202(1)〜202(J)の特性について、共通の値を含むテーブル210(1)〜210(J)を生成することができる。たとえば、テーブル210(1)は、チャンネル202(1)の長さ134(1)について、共通の値、30、60および90分212(1)〜212(3)を含み得る。テーブル210(2)は、チャンネル202(2)の長さ134(2)について、240分214(1)の単一の値を含む。テーブル210(J)は、チャンネル202(J)の長さ134(J)について、共通の2つの値、90分216(1)および120分216(2)を含む。
実際の値を提供する代わりに、テーブル210(1)〜210(J)に含まれる値を参照して、圧縮EPGデータを提供することができる。したがって、長さ134(1)〜134(J)について、実際の値204(1)〜204(7)、206(1)〜206(7)、208(1)〜208(7)を送信する代わりに、テーブル210(1)〜210(J)内の値、212(1)〜212(3)、214(1)、216(1)〜216(2)を参照して、値を提供することができる。値を示す(参照する)テーブルの生成、ならびにEPGデータを圧縮および/または展開するためのテーブルの使用についての追加の説明を、図3〜5に関連して見ることができる。
図3は、長さ134(1)について、共通の値を含む、図2のテーブル210(1)を生成するための例示的な手順300を示す図である。ブロック302に、EPGサーバ112がチャンネル202(1)のEPGデータ106を受信する、受信ステップが示されている。EPGデータ106は、長さ134(1)を含み、この長さ134(1)は、チャンネル202(1)で放送されるテレビ番組を示す値204(1)〜204(7)を含む。換言すれば、EPGデータ106は、値134(1)などの特性、およびそれぞれのテレビ番組が何分間放送されるかなどの、特性を示す値204(1)〜204(7)を含む。
ブロック304に、EPGサーバ112が圧縮ルーチン114を実行して、長さ134(1)の値204(1)〜204(7)を分析する、分析ステップが示されている。値204(1)〜204(7)を分析して、共通の値を検出する。共通の値は、テーブル210(1)に入れられる。たとえば、チャンネル202(1)内で共通している、長さ134(1)の値を示す、30分212(1)、60分212(2)および90分212(3)が、テーブル内に入れられる。
共通の値は、様々なやり方で検出することができる。たとえば、EPGデータ106内に含まれる特性の各値の発生をカウントするカウンタを使用することができる。さらに、EPGデータの値を格納するために使用される記憶容量を使用して、テーブルに含める値を選択することができる。たとえば、値のビットサイズを、値が発生する回数と併せて使用して、圧縮を最適化することができる。たとえば、それぞれの値のビットサイズに、EPGデータ106内で、それぞれの値が発生する回数を掛けて、置き換えられた場合に、EPGデータ上に、最大の圧縮効果をもたらす値を引き出すことができる。
ブロック306で、EPGサーバ112が、圧縮ルーチン114を実行して、値212(1)〜212(3)を示す、テーブル210(1)内の識別子308〜312を提供する、生成ステップを示す。図示する例では、3つの共通の値が見られる。したがって、値212(1)〜212(3)を示すために使用することができる、それぞれの識別子308〜312は、2ビットとして構成することができ、それによって、値212(1)〜212(3)が、識別子308〜312で置き換えられる場合には、EPGデータが圧縮されることになる。たとえば、第1の識別子308は、ビット「00」を使用して、テーブル210(1)内の12ビットの値である30分212(1)を示すことができる。第2の識別子310は、ビット「01」を使用して、12ビットの値である60分212(2)を示すことができる。同様に、第3の識別子312は、ビット「10」を使用して、12ビットの値である90分212(3)を示すことができる。
チャンネル202(1)は、長さ134(1)について、共通の値を含み得るが、35分204(4)など、共通していない、したがって、テーブル210(1)に含まれない値が存在し得る。非共通の値の表現を設けるために、テーブル210(1)は、圧縮されない値の参照のための読取り識別子を含む。たとえば、テーブル210(1)内で、読取り識別子は、第4の識別子314として示されており、この識別子は、ビット「11」を使用して、「その他」316の値を示すことができる。第4識別子314がテーブル210(1)に含まれ、それによって、210(1)を使用して、EPGデータの値を圧縮する場合には、第4識別子208(4)が、テーブル210(1)に含まれない値とともに、挿入されるようになる。値がテーブル210(1)内に含まれていないことを示すことによって、第4識別子314を使用して、値が、テーブル210(1)からではなく、圧縮EPGデータ自体から直接に読み取られることを示すことができる。EPGデータを圧縮するために、第4識別子314を使用することについての追加の説明を、図4に関連して見ることができる。
ブロック318に、EPGサーバ112が、クライアント装置104に、テーブル210(1)を送る、通信ステップが示されている。テーブル210(1)は、様々なやり方で、クライアント装置に送ることができる。たとえばカルーセルファイルシステム122を使用して、図1に示すブロードキャストネットワーク124を介して、テーブル210(1)をブロードキャストすることができる。さらに、クライアント装置104上に、他のソフトウェアがインストールされる場合などには、クライアント装置104によって、製造時に、テーブル210(1)を受信することができる。
図4に、図3の手順300によって生成されるテーブル210(1)を使用して、EPGデータ402の値を圧縮するための、例示的な手順400を示す図である。ブロック404に、EPGサーバ112が、長さ134(1)特性をもつチャンネル202(1)のEPGデータ402を受信する、受信ステップが示されている。長さ134(1)は、30分406(1)、60分406(2)、90分406(3)および120分406(4)を含めて、複数の値406(1)〜406(4)をもつ。
ブロック408に、EPGサーバ112が圧縮ルーチン114を実行して、EPGデータ402を圧縮して、圧縮EPGデータ410を形成する、圧縮ステップが示されている。圧縮ルーチン114は、実行時に、EPGデータ402の値406(1)〜406(4)を、テーブル210(1)の値212(1)〜212(3)と比較する。EPGデータ402の値406(1)〜406(4)のいずれかが、テーブル210(1)内の値212(1)〜212(3)のうちの1つと一致する場合は、その値が、その値を示すテーブル210(1)内の識別子と一致する識別子で置き換えられる。たとえば、値30分406(1)は、テーブル210(1)の値30分212(1)と一致する。したがって、値30分406(1)は、テーブル210(1)の第1識別子308に一致する、第1の識別子412で置き換えられる。同様に、第2および第3の識別子414、416を使用して、値60分406(2)および90分406(3)をそれぞれ置き換える。しかし、値120分406(4)は、テーブル210(1)の値212(1)〜212(3)のどれとも一致しないが、「その他」316の値になる。したがって、圧縮EPGデータ410内に、第4の識別子418、すなわち読取り識別子が、値120分406(4)とともに挿入される。第4識別子418は、圧縮EPGデータ410内で、値120分406(4)を示す。たとえば、第4識別子418を使用して、ある列内で、値120分406(4)が、第4識別子418のすぐ後にあることを示すことができる。このようにして、第4識別子418は、値120分406(4)が、テーブル210(1)からではなく、圧縮EPGデータ410から直接に読み出されることを示す。図6に、対応するテレビ番組602〜608を伴う、図4の圧縮EPGデータ内の共通および非共通の値の内容を示す、例示的な実施形態600を示す。図4のブロック420に、EPGサーバ112が、クライアント装置104に、圧縮EPGデータ410を送る、通信ステップが示されている。
図5に、クライアント装置104が、展開ルーチン502を実行して、図3で生成されるテーブル210(1)を使用して、図4の圧縮EPGデータ410に含まれる識別子を展開する、例示的な手順500を示す。ブロック504に、クライアント装置104が、テーブル210(1)および圧縮EPGデータ410を受信する、受信ステップが示されている。テーブル210(1)は、長さ134(1)特性について、値212(1)〜212(3)を示す、識別子308〜312を含む。テーブル210(1)は、第4識別子、たとえば読取り識別子314をも含み、この読取り識別子は、第4識別子314の値が、圧縮EPGデータ410から直接に読み取られることを示している。
ブロック506に、クライアント装置104が、ソフトウェアとして構成され得る展開ルーチン502を実行して、テーブル210(1)を使用して、圧縮EPGデータ410を展開する、展開ステップが示されている。展開ルーチン502は、実行時、圧縮EPGデータ410内の識別子412〜418をまず分析する。識別子が読取り識別子である場合は、圧縮ルーチン502は、読取り識別子をテーブル210(1)と比較せずに、圧縮EPGデータ410から直接に、読取り識別子によって示される値を読み取る。たとえば、圧縮EPGデータ410内の第4識別子418は、分析時に、第4識別子418によって示される値が、テーブル210(1)に含まれていないことを示す、読取り識別子(ビット「11」を含む)であると判断される。より正確には、第4識別子418によって示される、値120分406(4)は、圧縮EPGデータ410自体から、直接に読み取られる。
識別子が読取り識別子でない(すなわちそれが「01」、「10」または「00」など、「11」以外のビットを含む)場合は、展開ルーチン502は、実行時に、圧縮EPGデータ410に含まれる識別子412〜416を、テーブル210(1)に含まれる識別子308〜312と比較する。たとえば、展開ルーチン502は、実行時に、圧縮EPGデータ410内の第1識別子412を分析する。第1識別子412は、第1識別子412が読取り識別子ではないことを示す、ビット「00」をもつ。したがって、展開ルーチン502は、実行時に、第1識別子412を、テーブル210(1)内の識別子308〜312と比較する。圧縮EPGデータ410の第1識別子412は、テーブル210(1)の第1識別子308と一致する。したがって、テーブル210(1)内の第1の識別子によって示される値30分212(1)が、展開ルーチン502によって出力される。同様に、第2および第3識別子414、416について、一致する第2および第3識別子310、312によって示される60分212(2)および90分212(3)の値が、それぞれ出力される。したがって、展開ルーチン502がクライアント装置104によって実行される場合は、テーブル210(1)からの30分、60分および90分212(1)〜212(3)の値、ならびに圧縮EPGデータ410からの120分404(4)の値を含む、展開EPGデータ508を取得することができる。展開されたEPGデータ508内の値212(1)〜212(3)のうちの1つまたは複数を、EPG内への出力とすることができる。たとえば、識別子に対応する所望の値を提供するように要求される場合には、それぞれの識別子を展開することができる。したがって、圧縮EPGデータ410は、クライアント装置104のメモリ内で、圧縮されたままにしておくことができ、実行時、展開ルーチン502は、要求された場合に、識別子を展開することができる。
図では、クライアント装置104に含まれるテーブル210(1)が、第4識別子314を含んでいるが、実施形態によっては、第4識別子314は、テーブル210(1)のサイズを小さくするために、クライアント装置104上のテーブル210(1)には含まれない。たとえば、この実施形態では、EPGデータに含まれる識別子を展開するために、テーブル210(1)に含まれる第4識別子314を使用せず、すなわち識別子を、第4識別子314と比較しない。その代わりに、比較を行わずに、第4識別子418によって、その識別子が示す値が、EPGデータ自体に含まれることを示す。したがって、展開ルーチン502は、識別子を、テーブル210(1)内の第4識別子314と比較する必要がない。たとえば、展開ルーチン502は、ビット「11」が生じた場合には、圧縮EPGデータ410内のその次の12ビットを自動的に出力する。
図3〜5に関して説明した実施形態では、圧縮されるEPGデータ402とは異なるEPGデータ106から生成されたテーブル210(1)について説明しているが、テーブル210(1)は、様々なやり方で、生成することができる。別の実施形態では、クライアント装置に送られるEPGデータの特定のセットそれぞれについて、テーブルが生成される。たとえば、特定の36時間の間に使用されるEPGデータは、その特定の36時間に対応するテーブルをもち得る。次いで、このテーブルが、圧縮EPGデータとともに、クライアント装置に送られる。さらに、図12〜13に関連して以下で詳述するように、テーブルは、圧縮EPGデータを送る前でも、その後でも、クライアント装置に送り、そこで格納することができる。
テレビ番組の放送開始時間の計算
図7は、テレビ番組の放送開始時間の計算に適した、マスタ開始時間702の例示的な実施形態700を示す図である。EPGデータをさらに圧縮するため、マスタ開始時間702を、テレビ番組704〜716の長さ134(1)特性を用いて、放送開始時間を計算するために提供することができる。たとえば、所望のテレビ番組710の放送開始時間を計算するために、クライアント装置104は、ソフトウェアを実行して、テレビ番組704、テレビ番組706およびテレビ番組708が、マスタ開始時間702と所望のテレビ番組710の間に放送されると判断することができる。判断は、様々なやり方で行うことができる。ある実施形態では、テレビ番組704〜716の長さ134(1)特性の値204(1)〜204(7)が、マスタ開始時間702から始めて、時間順にリストされる。
次いで、テレビ番組704〜708の長さ134(1)の対応する値を、マスタ開始時間702に加算することによって、所望のテレビ番組710の放送開始時間が計算される。この場合、30分204(1)、60分204(2)、および90分204(3)の値が、マスタ開始時間702に加算されて、所望のテレビ番組710の開始時間が計算される。次いで、所望のテレビ番組710の放送開始時間が、クライアント装置によって、EPGの一部として出力される。このようにして、EPGデータに含まれる各テレビ番組の別個の開始時間の値を含めないことによって、EPGデータを圧縮することができる。
あるチャンネルに、テレビ番組が放送されない時間帯がある場合は、その時間帯の後で放送される、次のテレビ番組の開始時間を計算するために、その時間帯の長さの値を提供することができる。たとえば、内容が放送されない時間帯の対応する長さをもつ、「番組なし」というタイトルのテレビ番組を提供することができる。したがって「番組なし」テレビ番組の後で放送されるテレビ番組の開始時間は、「番組なし」テレビ番組の長さの値を、マスタ開始時間に加算することによって計算することができる。
放送開始時間は、たとえば、所望のテレビ番組の放送開始時間を計算するためにプロセッサ上で実施可能な、図13に示すEPGアプリケーション1320によって、計算することができる。計算された放送開始時間は、EPGアプリケーションによって、EPGデータから生成されるEPGの一部として、出力することができる。クライアント装置は、ヘッドエンドから受信されるブロードキャストからのマスタ開始時間を含めて、EPGデータを受信することができる。図13に、ヘッドエンド1330の例を示す。
値の組合せの圧縮
図8は、値の組合せの圧縮の例示的な実施形態800を示す図である。図2〜6に示した、前の例示的な実施形態では、識別子を用いて、単一の特性にとって、共通の値について説明した。EPGデータ802をさらに圧縮するため、識別子を用いて、特性の値の一意の組合せについて説明することもできる。
EPGデータ802は、図1に示すEPGデータ106に類似していることも、類似してないこともあるが、ジャンル804、格付け806など、様々な特性を含み得る。特性は、言語808、暴力810などの内容フラグとして構成することもでき、またその他812の内容フラグを含む。内容フラグは、テレビ番組がその特性を含むか、それとも含まないかを示す。たとえば、言語808は、テレビ番組がアダルト言語を含むかどうかを示す、「はい」814(1)または「いいえ」814(2)の値を含み得る。同様に、暴力810は、テレビ番組が、暴力を含むかどうかを示す、「はい」816(1)または「いいえ」816(2)の値を含み得る。特性は、3つ以上の値を含むこともある。たとえば、ジャンル804は、テレビ番組が、ドラマ818(1)、コメディ818(2)、ニュース818(3)、スポーツ818(4)などであるかどうかを示す値を含み得る。格付け806は、G820(1)、PG820(2)、PG−13 820(3)およびR820(4)などの値を含み得る。
テレビ番組を示す様々な特性が使用可能であり、こうした特性のそれぞれが、様々な値を含み得るが、特性および値の組合せは、EPGデータ802内では、よく生じることである。EPGサーバ112は、圧縮ルーチン114を実行して、特性の値の組合せ830〜834を示す、識別子824〜828を含むテーブル822を生成することができる。換言すれば、識別子824〜828は、個々の共有の値をもつ特性の組合せを示すことができる。したがって、識別子824〜828を使用して、2つ以上の値を示すことができる。図2〜6の前の実施形態で説明したように、第4の識別子836をテーブル822に含めて、図8では「その他」838として示される、テーブル822に含まれない値を指すことができる。したがって、第4識別子836によって示される値は、圧縮されず、圧縮EPGデータ内に含まれる。
図9は、特性の値の組合せを示す識別子を含む、図8のテーブル822が生成される、例示的な手順900を示す図である。ブロック902に、EPGサーバ112がEPGデータ802を受信する、受信ステップを示されている。EPGデータ802は、ジャンル804、格付け806、言語808および暴力810の特性を含む。EPGデータ802は、複数のテレビ番組904、906、908、910、912、914の特性804〜810の値を示すように構成されている。こうした値がどのように各番組に対応するかを示すために、こうした値には、対応する番組の参照番号の、最初の3桁の数字と同じ数字を用いる。組合せについても、同じ組合せ内の値であることを示すために、その値には、類似の参照番号を用いる。
第1のテレビ番組904は、ジャンル804については、値ニュース904(1)を、格付け806については、値「G」904(2)を、言語808については、値「いいえ」904(3)を、および暴力810については、値「いいえ」904(4)を含み得る。第2のテレビ番組906は、ジャンル804については、値スポーツ906(1)を、格付け806については、値「G」906(2)を、言語808については、値「いいえ」906(3)を、および暴力810については、値「いいえ」906(4)を含み得る。同様に、第3、第4、第5および第6のテレビ番組[908、910、912、914]は、特性804〜810について、値[908(1)〜908(4)、910(1)〜910(4)、912(1)〜912(4)、914(1)〜914(4)]を含む。
ブロック916に、EPGサーバ112が、圧縮ルーチン114を実行することによって、EPGデータ802を分析して、それぞれの特徴について共通の値の組合せを検出する、分析ステップが示されている。図示する例では、第1および第2テレビ番組904、906の値904(1)〜904(4)、906(1)〜906(4)の分析から、組合せ830が検出される。組合せ830は、格付け806については、値「G」918(1)を、言語808については、値「いいえ」918(2)を、および暴力810については、値「いいえ」918(3)を含む。第3および第4テレビ番組908、910それぞれの値908(1)〜908(4)、910(1)〜910(4)を分析することから、組合せ832が、検出される。組合せ832は、格付け806については、値「PG」920(1)を、言語808については、値「はい」920(2)を、および暴力810については、値「いいえ」920(3)を含む。第5および第6テレビ番組912、914それぞれの値、912(1)〜912(4)、914(1)〜914(4)を分析することから、組合せ834が、検出される。組合せ834は、格付け806については、値「PG」922(1)を、言語808については、値「いいえ」922(2)を、および暴力810については、値「はい」922(3)を含む。
ブロック924に、EPGサーバ112が、圧縮ルーチン114を実行することによって、ブロック916で実施される分析に基づいてテーブル822を生成する、生成ステップが示されている。テーブル822は、それぞれ第1、第2、第3の識別子824、826、828によって示される、組合せ830、832、834を含む。テーブル822は、組合せ830〜834を含むように示されているが、テーブル822には、値918(1)〜918(3)、920(1)〜920(3)、922(1)〜922(3)が、それに対応する組合せ830、832、834に含まれる。テーブル822は、「その他」838として図示される、テーブル822内には含まれない値の組合せを示す、第4識別子836を含むこともできる。テーブル822は、たとえば図1のヘッドエンド118およびカルーセルファイルシステム122を使用することによって、EPGサーバ112から、クライアント装置104(図1)に送ることができる。
図10は、図9のテーブル822を使用して、EPGデータを圧縮するための例示的な手順1000を示す図である。ブロック1002に、EPGサーバ112が、格付け806、言語808および暴力810の特性を含む、EPGデータ1004を受信する、受信ステップが示されている。第1のテレビ番組1006は、格付け806については、値「G」1006(1)を、言語808については、値「いいえ」1006(2)を、および暴力810については、値「いいえ」1006(3)を含む。第2のテレビ番組1008は、格付け806については、値「PG」1008(1)を、言語808については、値「はい」1008(2)を、および暴力810については、値「いいえ」1008(3)を含む。第3のテレビ番組1010は、格付け806については、値「PG」1010(1)を、言語808については、値「いいえ」1010(2)を、および暴力810については、値「はい」1010(3)を含む。第4のテレビ番組1012は、格付け806については、値「PG」1012(1)を、言語808については、値「はい」1012(2)を、および暴力810については、値「はい」1012(3)を含む。
ブロック1014に、EPGサーバ112が、圧縮ルーチン114を実行して、EPGデータ1004の値を圧縮して、圧縮EPGデータ1016を形成する、圧縮ステップが示されている。圧縮ルーチン114は、実行されると、EPGデータ1004内の値[1006(1)〜1006(3)、1008(1)〜1008(3)、1010(1)〜1010(3)、1012(1)〜1012(3)]を、図9のブロック916に示される、個々の組合せ830、832、834内の値[918(1)〜918(3)、920(1)〜920(3)、922(1)〜922(3)]と比較する。値[1006(1)〜1006(3)、1008(1)〜1008(3)、1010(1)〜1010(3)、1012(1)〜1012(3)]が、テーブル822内の組合せ830、832、834のうちの1つと一致する場合、それらの値を、その組合せを示す、テーブル822の識別子と一致する識別子で置き換える。たとえば、EPGデータ1004内の、格付け806についての値「G」1006(1)、言語808についての値「いいえ」1006(2)、および暴力810についての値「いいえ」1006(3)が、図9のブロック916に示す組合せ830内の値918(1)〜918(3)と一致する。したがって、第1識別子824に一致する第1の識別子1018を使用して、値1006(1)〜1006(3)を置き換える。同様に、第2識別子826に一致する第2の識別子1020を使用して、EPGデータ1004内の値1008(1)〜1008(3)を置き換える。第3識別子828に一致する第3の識別子1022を使用して、EPGデータ1004内の値1010(1)〜1010(3)を置き換える。しかし、第4テレビ番組の値1012(1)〜1012(3)は、図9のブロック916に示す、組合せ830〜834内の値[918(1)〜918(3)、920(1)〜920(3)、922(1)〜922(3)]のどれとも一致しない。換言すれば、値1012(1)〜1012(3)は、テーブル822内の「その他」838に対応する。したがって、テーブル822内の第4識別子836に一致する、第4の識別子1024が、圧縮EPGデータ1016内に挿入される。第4識別子1024は、第4識別子1024をテーブル822内の識別子824〜828と比較する必要なしに、値1012(1)〜1012(3)が、圧縮EPGデータ1016から、直接に読み取られることを示す。次いで、圧縮EPGデータ1016を、クライアント装置104(図1)に送り、図9で生成されたテーブル822を使用して、圧縮することができる。
図11は、クライアント装置104が、展開ルーチン1102を実行して、図9で生成されたテーブル822を使用して、図10の圧縮EPGデータ1016を展開する、例示的な手順1100を示す図である。ブロック1104に、クライアント装置104が、テーブル822および圧縮EPGデータ1106を受信する、受信ステップが示されている。テーブル822は、識別子824〜828を含み、これらの識別子824〜828は、図9で、特性806〜810について、それに対応する値918(1)〜918(3)、920(1)〜920(3)、922(1)〜922(3)を持つように示されている、組合せ830〜834を示す。
ブロック1106に、クライアント装置104が、展開ルーチン1102を実行して、テーブル822を使用することによって、圧縮EPGデータ1016内に含まれる識別子を展開して、展開EPGデータ1018を取得する、展開ステップが示されている。展開ルーチン1102は、実行されると、圧縮EPGデータ1016に含まれる識別子1018〜1024を、テーブル822に含まれる識別子824〜828、836と比較する。たとえば、展開ルーチン1102は、実行されると、圧縮EPGデータ1016内の第1識別子1018を、テーブル822内の識別子824〜828、836と比較する。圧縮EPGデータ1016内の第1識別子1018は、テーブル822内の第1識別子824と一致する。値918(1)〜918(3)が、第1識別子824によって示される。したがって、組合せ830内の値918(1)〜918(3)が、出力される。同様に、第2および第3識別子1020、1022とそれぞれ一致する、第2および第3識別子826、828によって示される、値920(1)〜920(3)、922(1)〜922(3)(図9)が、出力される。
圧縮EPGデータ1016内の第4識別子1024は、テーブル822内の第4識別子836と比較される場合、第4識別子1024によって示される値が、テーブル822内には含まれないことを示す。したがって、特性806、808、810についての、値1012(1)〜1012(3)が、圧縮EPGデータ1016自体から、直接に読み取られる。この実施形態では、第4識別子1024は、テーブル822内の第4識別子836と比較される(したがって、読取り識別子ではない)が、他の実施形態では、図2〜6に対応する実施形態で説明したように、識別子が読取り識別子であるかどうかの分析を実施することもできる。さらに、こうした実施形態では、上述のように、クライアント装置104に格納される場合に、第4識別子836を、テーブル822から除外することができる。
図3〜5に関連して上記で説明したテーブル210(1)と同様に、テーブル822は、様々な方法で、生成することができる。たとえば、クライアント装置に送られるEPGの特性のセットそれぞれについて、テーブル822を生成することができる。さらに、圧縮するために、テーブル822とともに使用されるEPGデータとは異なるEPGデータのセットから、テーブル822を生成することもできる。たとえば図9〜10に図示するように、テーブル822を、EPGデータ802のあるセットから生成し、EPGデータ1004の別のセットを展開するために、それを使用することができる。さらに、図12〜13に関連して詳述するように、テーブル822は、圧縮EPGデータを送る前でも、その後でも、クライアント装置104に送り、そこで格納することができる。
例示的な環境
図12に、EPGデータ圧縮および展開を実施することができる、例示的なテレビエンターテイメントシステム1200を示す。システム1200は、コンテンツなどのテレビ番組、およびEPGデータの、複数の視聴者への配信を実施し、またEPGデータ圧縮をさらに実行するためのコンポーネントを含む。システム1200は、1つまたは複数のコンテンツプロバイダ1202、1つまたは複数のEPGプロバイダ1204,コンテンツ配信システム1206、およびブロードキャストネットワーク1210を介してコンテンツ配信システム1206に結合された、複数のクライアント装置1208(1)、1208(2)、…、1208(N)を含む。クライアント装置1208(1)〜1208(N)およびブロードキャストネットワーク1210は、図1に示すクライアント装置104およびブロードキャストネットワーク124と同じでも、それとは異なっていてもよい。
コンテンツプロバイダ1202は、コンテンツサーバ1212、およびコンテンツ1214などの格納されたテレビ番組を含む。コンテンツサーバ1212は、コンテンツプロバイダ1202からコンテンツ配信システム1206への、格納されたコンテンツ1214の配信を制御する。さらに、コンテンツサーバ1212は、ライブコンテンツ(live content)(ライブフィード(live feed)などの、前に格納されていないコンテンツなど)および/または他の場所に格納されたコンテンツの、コンテンツ配信システム1206への配信を制御する。EPGプロバイダ1204は、EPGデータベース1216およびEPGサーバ1218を含む。EPGデータベース1216は、EPGを生成するために使用される、EPGデータの電子ファイルを格納する。EPGプロバイダ1204は、図1に示す製作元102などの他のリソースから、EPGデータを取得することもできる。EPGプロバイダ1204は、EPGデータベース1216およびEPGサーバ1218は、図1に示すEPGプロバイダ108、EPGデータベース110およびEPGサーバ112と同じでも、それとは異なっていてもよい。
電子ファイルは、タイトル1222、テレビ番組がどの曜日に放映されるかを識別するための曜日1224、特定の曜日に放映されるテレビ番組の時間を識別するための開始時間1226、格付け、長さ、チャンネル、主人公名、言語、製作年度、暴力およびカテゴリ1228を含み得る、EPGデータ1220を保持する。あるタイプの特性であると見なされ得るカテゴリは、テレビ番組のジャンルを示し、テレビ番組のある特定のタイプとして、それを分類する。たとえば、テレビ番組は、映画、コメディ、スポーツイベント、ニュース番組、連続ドラマ、トークショーとして、または任意の数の他のカテゴリ説明として、分類することができる。さらに、EPGデータ1220は、映画の予定などのビデオオンデマンド情報、ならびに対話型ゲームなどに関するアプリケーション情報、および視聴者にとって関心のあり得る番組情報を含み得る。
EPGサーバ1218は、配信に先立って、EPGデータ1220を処理して、すべてのブロードキャストチャンネルに関する番組情報、ならびにある日または複数日についてのオンデマンドのコンテンツリストを含み得る、EPGデータの公開バージョンを生成する。この処理は、EPGデータ1220を削減し、修正しまたは向上させるための、任意の数の技術を必要とし得る。こうした処理は、テレビ番組の選択、テレビ番組の圧縮、形式の修正などを含み得る。EPGサーバ1218は、たとえばファイル転送プロトコル(FTP)を使用して、TCP/IPネットワーク(インターネットまたはイントラネットなど)を介して、EPGプロバイダ1204からコンテンツ配信システム1206へ、公開バージョンのEPGデータを配信することを制御する。さらに、公開バージョンのEPGデータは、衛星およびコンテンツ配信システム1206を介して、EPGプロバイダ1204から、クライアント装置1208に、直接に送信することができる。
コンテンツ配信システム1206は、ブロードキャスト送信機1230、1つまたは複数のコンテンツ処理アプリケーション1232を含み、1つまたは複数のEPGデータ処理アプリケーション1234を含み得る。ブロードキャスト送信機1230は、ブロードキャストネットワーク1210を介して、ケーブルテレビ信号などの信号をブロードキャストする。ブロードキャストネットワーク1210は、ケーブルテレビネットワーク、RF,マイクロ波、衛星および/またはインターネットなどのデータネットワークを含むことができ、任意のブロードキャスト形式またはブロードキャストプロトコルを使用する、有線または無線媒体を含むこともできる。さらに、ブロードキャストネットワーク1210は、任意のタイプのネットワークトポロジ(network topology)および任意のネットワーク通信プロトコルを使用する、任意のタイプのネットワークとすることができ、また複数のネットの組合せとして示すことができ、または他の方法で実施することができる。
コンテンツ処理アプリケーション1232は、ブロードキャストネットワーク1210を介してコンテンツを送信するのに先立って、コンテンツプロバイダ1202から受信されるコンテンツを処理する。同様に、EPGデータ処理アプリケーション1234は、ブロードキャストネットワーク1210を介してEPGデータを送信するのに先立って、EPGプロバイダ1204から受信されたEPGデータを処理する。特定のコンテンツ処理アプリケーション1232は、受信されたコンテンツを、ブロードキャストネットワーク1210に結合された複数のクライアント装置1208(1)、1208(2)、…、1208(N)によって理解される形式に符号化し、または別の方法で処理する。図12には、単一のコンテンツプロバイダ1202、単一のEPGプロバイダ1204、および単一のコンテンツ配信システム1206が示されているが、例示的なシステム1200は、任意の数のコンテンツ配信システムに結合された、任意数のコンテンツプロバイダおよび/またはEPGデータプロバイダを含むことができる。
コンテンツ配信システム1206は、複数の加入者に、EPGデータおよびコンテンツを提供するヘッドエンドを表す。それぞれのコンテンツ配信システム1206は、様々な番組の嗜好および構成(lineup)を考慮する、わずかに異なるバージョンのEPGデータを受信することができる。EPGサーバ1218は、個々のヘッドエンドサービスに関連するチャンネルを含む、様々なバージョンのEPGを作成することができ、コンテンツ配信システム1206は、複数のクライアント装置1208(1)、1208(2)、…、1208(N)に、EPGデータを送信する。ある実施形態では、たとえば、コンテンツ配信システム1206は、カルーセルファイルシステムを使用して、帯域外(OOB)チャネルを介して、クライアント装置1208に、EPGデータを繰り返しブロードキャストする。代替として、複数のクライアント装置1208(1)、1208(2)、…、1208(N)は、標準のまたは均一のEPGデータを受信することができ、関連するヘッドエンドサービスに基づいて、表示するEPGデータを個々に決定することができる。
クライアント装置1208は、様々なやり方で、実施することができる。たとえば、クライアント装置1208(1)は、パラボラアンテナ1236を介して、衛星ベースの送信機から、コンテンツブロードキャスト(content broadcast)を受信する。クライアント装置1208(1)は、セットトップボックスまたは衛星受信装置とも称される。クライアント装置1208(1)は、クライアント装置から受信されるコンテンツ(オーディオデータおよびビデオデータなど)表示するためのテレビ1238(1)、ならびにグラフィカルユーザインターフェイスに結合される。特定のクライアント装置1208は、任意の数のテレビ1238および/またはコンテンツを表示しまたは別の方法でレンダリングするために実施することができる類似の装置に結合することができる。同様に、任意の数のクライアント装置1208を単一のテレビ1238に結合することができる。
クライアント装置1208(2)もまた、ブロードキャストネットワーク1210から、コンテンツブロードキャストを受信するために結合されており、関連するテレビ1238(2)に、受信したコンテンツを提供する。クライアント装置1208(N)は、テレビ1240と統合セットトップボックス1242の組合せの例である。この例では、2つの別個の装置を使用するのではなく、セットトップボックスの様々なコンポーネントおよび機能が、テレビ内に統合されている。テレビ内に統合されたセットトップボックスは、(パラボラアンテナ1236に類似の)パラボラアンテナおよび/またはブロードキャストネット1210を介して、ブロードキャスト信号を受信することができる。代替実施形態では、クライアント装置1208は、インターネットまたは他の任意のブロードキャスト媒体、たとえばバックチャネル1244などを介してブロードキャストコンテンツを受信することができる。このバックチャネルは、インターネットプロトコル(IP:Internet protocol)接続として、またはたとえばモデム接続および従来の電話回線を使用する他のプロトコル接続として、実施することができる。さらに、バックチャネル1244は、それぞれのクライアント装置1208間、およびクライアント装置1208とコンテンツ配信システム1206の間の代替通信リンクを提供する。
例示的なシステム1200は、ビデオオンデマンド(VOD)映画のコンテンツなどの、格納されたオンデマンドのコンテンツ1244をも含む。格納されたオンデマンドコンテンツは、たとえば、オンスクリーンEPG(onscreen EPG)を用いて、クライアント装置1208を介して、テレビ1238で見ることができ、また視聴者は、対応するクライアント装置1208に、特定の映画または他の格納されているコンテンツをストリーミングするために、指示を入力することができる。
例示的なEPGデータ圧縮システム
図13に、例示的なクライアントシステム1208およびテレビ1238などの選択されたコンポーネントを含む、例示的なEPGデータ圧縮システム1300を示す。クライアント装置1208は、テレビベースの娯楽情報システムにおいて、EPGデータの展開を実施するためのコンポーネントを含む。クライアント装置1208は、セットトップボックス、衛星受信機、ハードディスクを備えたテレビレコーダ、デジタルビデオレコーダ(DVR:digital video recorder)/再生システム、パーソナルビデオレコーダ(PVR:personal video recorder)/再生システム、ゲームコンソール、情報家電、および任意の数の類似の実施形態として、実施することができる。
クライアント装置1208は、1つまたは複数のチューナ1302を含む。このチューナは、テレビ信号を受信するために、様々な周波数またはチャンネルに合わせて調整する、1つまたは複数の帯域内チューナ、ならびにブロードキャストチャネルに合わせて調整する帯域外チューナを表しており、このブロードキャストチャネルを介して、EPGデータが、クライアント装置1208にブロードキャストされる。クライアント装置1208は、クライアント装置1208の動作を制御し、また他の電子コンピューティング装置と通信するための様々な命令を処理する、1つまたは複数のプロセッサ1304(マイクロプロセッサなど)をも含む。
1つまたは複数のメモリコンポーネントを備えるクライアント装置1208を実施することができ、こうしたメモリコンポーネントの例には、ランダムアクセスメモリ(RAM:random access memory)1306、大容量記憶媒体1308、ディスクドライブ1310、および不揮発性メモリ1312(ROM、フラッシュ、EPROM、EEPROMなど)が含まれる。メモリコンポーネント(RAM1306、記憶媒体1308、ディスクドライブ1310、および不揮発性メモリ1312など)は、様々な情報および/または受信されたコンテンツ、EPGデータ1314、クライアント装置1208の構成情報、および/またはグラフィカルユーザインターフェイス情報を格納する。
クライアント装置1208の代替実施形態では、様々な処理およびメモリ機能を含むことができ、また図13に示すのとは異なる、任意の数のメモリコンポーネントを含み得る。たとえば、ディスクドライブ1310を含めて、充実したメモリおよび処理リソースを備える、フルリソースのクライアントを実施することができる。しかし、低リソースのクライアントでは、制限された容量のRAM1306および制限された処理能力のプロセッサ1304など、その処理およびメモリ機能が制限されることがある。
オペレーティングシステムシステム1316および1つまたは複数のアプリケーションプログラム1318を、不揮発性メモリ1312に格納し、プロセッサ1304上で実行して、ランタイム環境を提供することができる。ランタイム環境は、様々なインターフェイスを定義できるようにし、こうしたインターフェイスが、アプリケーションプログラム1318によるクライアント装置1208との対話を可能にすることによって、クライアント装置1208の拡張を実施する。クライアント装置1208で実装することができる、アプリケーションプログラム1318には、ウェブ(「ワールドワイドウェブ」など)をブラウズするためのブラウザ、電子メールを実行する電子メールプログラムなどが含まれる。
EPGアプリケーション1320は、EPGデータ1314を処理し、EPGを生成するために、メモリ1312に格納される。EPGアプリケーション1320は、EPGデータ1314を使用し、テレビ視聴者が、オンスクリーンEPG内を移動し、テレビ番組、ビデオオンデマンド映画、選択された対話型ゲーム、および視聴者にとって興味深い他の媒体アクセス情報を見つけることを可能にする。EPGアプリケーション1320を用いて、テレビ視聴者は、現在および今後の番組予定を見て、これからの番組のためにリマインダ(reminder)を設定し、および/または1つまたは複数のテレビ番組またはビデオオンデマンド映画を録画するための指示を入力することができる。さらに、EPGアプリケーション1320を使用して、図7に関連して説明したように、開始時間を計算することができる。
クライアント装置1208はさらに、1つまたは複数の通信インターフェイス1322、およびPSTN、DSL、またはケーブルモデム1324を含む。通信インターフェイス1322は、シリアルおよび/またはパラレルインターフェイスとして、無線インターフェイスとして、および/または他の任意のタイプのネットワークインターフェイスとして実装することができる。無線インターフェイスによって、クライアント装置1208は、ユーザが操作する入力装置から、たとえば遠隔制御装置から、あるいは別の赤外線(IR:infrared)、802.11、Bluetooth、または類似のRF入力装置から、入力コマンドおよび他の情報を受信できるようになる。入力装置は、無線キーボードを含むことも、携帯情報端末(PDA:persona digital assistant)、ハンドヘルド(handheld)コンピュータ、無線電話など、別のハンドヘルド入力装置を含むこともある。ネットワークインターフェイス、ならびにシリアルおよび/またはパラレルインターフェイスによって、クライアント装置1208は、様々な通信リンクを介して、他の電子コンピューティング装置と対話し、通信することができる。モデム1324は、クライアント装置1208による、従来の電話回線、DSL接続、またはケーブルモデムを介した、他の電子コンピューティング装置との通信を実行する。
クライアント装置1208は、NTSC、PAL、SECAM、または他のテレビシステムアナログビデオ信号などのブロードキャストビデオ信号、ならびにDVB、ATSC、または他のテレビシステムデジタルビデオ信号を処理し復号化するための、コンテンツプロセッサおよび/またはデコーダ1326をも含む。コンテンツプロセッサ1326は、コンテンツ配信システム1206(図12)から受信されるビデオコンテンツを受信し、復号化し、および/または処理するために、ビデオデコーダおよび/または追加のプロセッサを含むこともできる。このコンテンツ配信システムは、EPGデータおよびコンテンツを、複数のクライアント装置1208に提供するヘッドエンドサービスを表す。コンテンツプロセッサ1326は、MPEG符号化ビデオコンテンツを復号化する、MPEG−2またはMPEG−4(Moving Pictures Experts Group)デコーダを含み得る。MPEGは、レガシTV(legacy TV)、HDTV(高品位テレビ:high−definition television)DVD(デジタル多用途ディスク:digital versatile disk)および5チャンネルサラウンドサウンド(five−channel surround sound)を含めた、様々なオーディオ/ビデオ形式をサポートする。
一般に、ビデオコンテンツは、ビデオデータ、およびビデオデータに対応するオーディオデータを含む。コンテンツプロセッサ1326は、表示装置1238上に表示するためにフォーマットされる、ビデオおよび/または表示コンテンツを生成し、また表示装置1238上の1つまたは複数のスピーカ(図示せず)などのオーディオ装置によって出力するためにフォーマットされる、復号化されたオーディオデータを生成する。コンテンツプロセッサ1326は、表示装置1238上に対応するイメージを表示するために、ビデオおよび/または表示コンテンツを処理する、表示制御装置(図示せず)を含み得る。表示制御装置は、マイクロコントローラ、集積回路、および/またはイメージを処理するための類似のビデオ処理コンポーネントを含み得る。クライアント装置1208は、オーディオおよび/またはビデオ出力1328をも含み、この出力1328は、テレビ1238、あるいはオーディオおよびビデオデータを処理および/または表示、または他の方法でレンダリングする他の装置に、ビデオおよび/または表示信号を供給する。本明細書で説明するシステムおよび方法は、任意のタイプの符号化形式、ならびに符号化されないデータおよび/またはコンテンツストリーム(content stream)についても、実行できることに留意されたい。
クライアント装置1208の一部のコンポーネントは、別々に図示されているが、特定用途向け集積回路(ASIC:application specific integrated circuit)で、実施することができる。さらに、システムバス(図示せず)は一般に、クライアント装置1208内の様々なコンポーネントを接続する。システムバスは、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイティッドグラフィックスポート(accelerated graphics port)または様々なバスアーキテクチャーのうちのいずれかを使用するローカルバスを含めて、いくつかのタイプのバス構造のうちの1つまたは複数として実施することができる。例を挙げれば、こうしたアーキテクチャーには、業界標準アーキテクチャー(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャー(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)、ビデオ電子規格協会(VESA:Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称される、周辺コンポーネント相互接続(PCI:Peripheral Component Interconnects)バスが含まれ得る。
例示的なEPGデータ圧縮システム1300は、コンテンツ配信システム1206(図12)の実施形態として、ヘッドエンド1330をも含む。このコンテンツ配信システムは、クライアント装置1208に、EPGデータ1332およびコンテンツを提供するヘッドエンドを表す。ヘッドエンド1330は、EPGデータ1332を処理し、ならびにフィールド内の値の組合せ、値の一意の組合せ、およびマスタ開始時間の使用など、本明細書で説明したEPGデータ圧縮手順を実施するために実装される、EPGアプリケーション1334(図12に示す、EPGデータ処理アプリケーション1234など)を含む。
EPGアプリケーション1334は、プロセッサ上で実行され、またヘッドエンド1330内の不揮発性メモリ装置内に格納されるソフトウェアコンポーネントとして実装することができる。EPGアプリケーション1334は、EPGデータ圧縮の複数の機能を実施するように構成された、単一のアプリケーションとして図示され説明されているが、EPGアプリケーション1334は、分散されて、それぞれが、コンピューティング装置、デジタルビデオレコーダシステム(digital video recorder system)、パーソナルビデオレコーダシステム(personal video recorder system)、および/または他の任意のテレビベースのエンターテイメント情報システムにおける1つまたは複数の機能を実施する、複数のコンポーネントアプリケーションとして、実装することもできる。
EPGアプリケーション1334は、識別子、およびEPGデータ1332内に見られる値を含む、テーブル1336を生成する。ブロードキャストネットワーク1210を介してクライアント装置1208に送るために、ヘッドエンドが任意の期間で、EPGデータを生成し、そのEPGデータを圧縮する場合は、テーブル1336を、EPGアプリケーション1334を用いて、ヘッドエンド1330によって生成することができる。別の実施形態では、複数のEPGを生成する際に使用するために、テーブル1336を、クライアント装置1208によって、生成し、格納することができる。クライアント装置1208は、ヘッドエンド1330から、圧縮EPGデータ1338を受信し、ディスクドライブ1310および/または不揮発メモリ1312内に、圧縮EPGデータ1338および関連するテーブル1340を格納することができる。この例では、伝送帯域を狭くするために、EPGデータを送信する前に、EPGデータを圧縮することが説明されているが、クライアント装置1208が、EPGデータを受信し、次いでテーブル生成し、さらにEPGデータ圧縮して、EPGデータを保持しまたは別の方法で格納するための必要なメモリ記憶域を縮小することもできる。
結論
本発明について、構造上の特徴および/または方法論的な行為に特有の言語で説明したが、添付の特許請求の範囲において定義される本発明は、説明した具体的な特徴または行為に、必ずしも限定されないことを理解されたい。そうではなく、こうした具体的な特徴および行為は、特許請求の範囲に記載されている発明を実施する例示的な形として、開示されている。
製作元およびクライアント装置を含む、テレビエンターテイメントシステムを示す図である。 テーブル内に、図1に示すテレビ番組特性「長さ」の共通の値が含まれている、例示的な実施形態を示す図である。 図2のテーブルを生成するための例示的な手順を示す図である。 EPGデータを圧縮するため、図3の手順によって生成されたテーブルを使用するための例示的な手順を示す図である。 図3で生成されたテーブルを使用して、図4の圧縮EPGデータを展開するために、クライアント装置が展開ルーチンを実行する、例示的な手順を示す図である。 対応するテレビ番組を伴う、図4の圧縮EPGデータ内の共通および非共通の値の内容を示す、例示的な実施形態を示す図である。 長さのテレビ番組特性の値と併せて使用される場合、クライアント装置が所望のテレビ番組の開始時間を計算することを可能にするのに適している、マスタ開始時間の例示的な実施形態を示す図である。 テーブル内のテレビ番組特性の値の組合せの例示的な実施形態を示す図である。 それぞれがテレビ番組特性の値の組合せを示す、複数の識別子を含む図8のテーブルが生成される、例示的な手順を示す図である。 図9で生成されるテーブルを使用して、EPGデータに含まれる値の組合せを圧縮するための例示的な手順を示す図である。 クライアント装置が展開ルーチンを実行して、図9のテーブルを使用して、図10の圧縮EPGデータを展開する、例示的な手順を示す図である。 EPGデータの圧縮および展開を実施することができる、例示的なテレビエンターテイメントシステムを示す図である。 例示的なクライアント装置およびテレビなど、図12のテレビエンターテイメントシステムの選択されたコンポーネントを示す図である。
符号の説明
100 テレビエンターテイメントシステム
102 制作元
104 クライアント装置
106 EPGデータ
106a EPGデータ
108 EPGプロバイダ
110 EPGデータベース
112 EPGサーバ
114 圧縮ルーチン
116 圧縮EPGデータ
118 ヘッドエンド
120 データベース
122 カルーセルファイルシステム
124 ブロードキャストネットワーク
126 セットトップボックス
128 表示装置
130 特性(タイトル)
132 特性(曜日)
134 特性(長さ)
134(1) 特性(長さ)
134(2) 特性(長さ)
134(J) 特性(長さ)
136 特性(チャンネル)
138(1) 値
138(2) 値
138(N) 値
202 実施形態
202(1) チャンネル
202(2) チャンネル
202(J) チャンネル
204(1) 値(30分)
204(2) 値(60分)
204(3) 値(90分)
204(4) 値(35分)
204(5) 値(30分)
204(6) 値(60分)
204(7) 値(90分)
206(1) 値(240分)
206(2) 値(240分)
206(3) 値(240分)
206(4) 値(240分)
206(5) 値(240分)
206(6) 値(240分)
206(7) 値(240分)
208(1) 値(90分)
208(2) 値(120分)
208(3) 値(90分)
208(4) 値(90分)
208(5) 値(90分)
208(6) 値(90分)
208(7) 値(120分)
210(1) テーブル
210(2) テーブル
210(J) テーブル
212(1) 値(30分)
212(2) 値(60分)
212(3) 値(90分)
214(1) 値(240分)
216(1) 値(90分)
216(2) 値(120分)
300 手順
302 ブロック
304 ブロック
306 ブロック
308 第1識別子
310 識別子
312 識別子
314 読取り識別子
316 その他
318 ブロック
400 手順
402 EPGデータ
404 ブロック
406(1) 値(30分)
406(2) 値(60分)
406(3) 値(90分)
406(4) 値(120分)
408 ブロック
410 圧縮EPGデータ
412 第1識別子
414 第2識別子
416 第3識別子
418 第4識別子
420 ブロック
500 手順
502 展開ルーチン
504 ブロック
506 ブロック
508 展開EPGデータ
600 実施形態
602 テレビ番組
604 テレビ番組
606 テレビ番組
608 テレビ番組
700 実施形態
702 マスタ開始時間
704 テレビ番組
706 テレビ番組
708 テレビ番組
710 テレビ番組
712 テレビ番組
714 テレビ番組
716 テレビ番組
800 実施形態
802 EPGデータ
804 特性(ジャンル)
806 特性(格付け)
808 特性(言語)
810 特性(暴力)
812 特性(その他)
814(1) 値(はい)
814(2) 値(いいえ)
816(1) 値(はい)
816(2) 値(いいえ)
818(1) 値(ドラマ)
818(2) 値(コメディ)
818(3) 値(ニュース)
818(4) 値(スポーツ)
820(1) 値(G)
820(2) 値(PG)
820(3) 値(PG−13)
820(4) 値(R)
822 テーブル
824 第1識別子
826 第2識別子
828 第3識別子
830 組合せ
832 組合せ
834 組合せ
836 第4識別子
838 その他
902 ブロック
904 テレビ番組
904(1) 値(ニュース)
904(2) 値(G)
904(3) 値(いいえ)
904(4) 値(いいえ)
906 テレビ番組
906(1) 値(スポーツ)
906(2)値(G)
906(3) 値(いいえ)
906(4) 値(いいえ)
908 テレビ番組
908(1) 値(ドラマ)
908(2) 値(PG)
908(3) 値(はい)
908(4) 値(いいえ)
910 テレビ番組
910(1) 値(コメディ)
910(2) 値(PG)
910(3) 値(はい)
910(4) 値(いいえ)
912 テレビ番組
912(1) 値(ドラマ)
912(2) 値(PG)
912(3) 値(はい)
912(4) 値(はい)
914 テレビ番組
914(1) 値(コメディ)
914(2) 値(PG)
914(3) 値(はい)
914(4) 値(はい)
916 ブロック
918(1) 値(G)
918(2) 値(いいえ)
918(3) 値(いいえ)
920(1) 値(PG)
920(2) 値(はい)
920(3) 値(いいえ)
922(1) 値(PG)
922(2) 値(いいえ)
922(3) 値(はい)
924 ブロック
1000 手順
1002 ブロック
1004 EPGデータ
1006 テレビ番組
1006(1) 値(G)
1006(2) 値(いいえ)
1006(3) 値(いいえ)
1008 テレビ番組
1008(1) 値(PG)
1008(2) 値(はい)
1008(3) 値(いいえ)
1010 テレビ番組
1010(1) 値(PG)
1010(2) 値(いいえ)
1010(3) 値(はい)
1012 テレビ番組
1012(1) 値(PG)
1012(2) 値(はい)
1012(3) 値(はい)
1014 ブロック
1016 圧縮EPGデータ
1018 第1識別子
1020 第2識別子
1022 第3識別子
1024 第4識別子
1102 展開ルーチン
1104 ブロック
1106 ブロック
1108 展開EPGデータ
1200 テレビエンターテイメントシステム
1202 コンテンツプロバイダ
1204 EPGプロバイダ
1206 コンテンツ配信システム
1208 クライアント装置
1208(1) クライアント装置
1208(2) クライアント装置
1208(3) クライアント装置
1208(4) クライアント装置
1210 ブロードキャストネットワーク
1212 コンテンツサーバ
1214 格納されたコンテンツ
1216 EPGデータベース
1218 EPGサーバ
1220 EPGデータ
1222 タイトル
1224 曜日
1226 開始時間
1228 カテゴリ
1230 ブロードキャスト送信機
1232 コンテンツ処理アプリケーション
1234 EDPデータ処理アプリケーション
1236 パラボラアンテナ
1238(1) テレビ
1238(2) テレビ
1240 テレビ
1242 統合セットトップボックス
1244 バックチャネル
1302 チューナ
1304 プロセッサ
1308 記憶媒体
1310 ディスクドライブ
1312 不揮発性メモリ
1314 EPGデータ
1316 オペレーティングシステム
1318 アプリケーションプログラム
1320 EPGアプリケーション
1322 通信インターフェイス
1324 ケーブルモデム
1326 コンテンツプロセッサ
1328 オーディオ/ビデオ出力
1330 ヘッドエンド
1332 EPGデータ
1334 EPGアプリケーション
1336 テーブル
1338 圧縮EPG
1340 テーブル

Claims (46)

  1. 複数のテレビ番組を含む電子番組ガイド(EPG)データを圧縮するステップを含む方法であって、それぞれのテレビ番組は1つまたは複数の値をもち、前記値のそれぞれはテレビ番組の特性を示し、前記EPGデータは、
    前記各テレビ番組の前記1つまたは複数の値を、値の一意の組合せと比較して、一致を検出するステップであって、一意の各組合せ内のそれぞれの値は、テレビ番組の特性を示し、前記一意の各組合せは、複数の識別子を含むテーブル内にあり、前記識別子のそれぞれは、前記一意の組合せの1つを示すステップと、
    前記一致のそれぞれについて、前記EPGデータ内の対応する前記テレビ番組の前記1つまたは複数の値を、一致する値の一意の組合せを示す、前記テーブル内の識別子で置き換えるステップと
    によって圧縮されることを特徴とする方法。
  2. 前記EPGデータまたはEPGデータの異なるセットを分析することによって、前記テーブルを生成するステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記テーブルを生成するステップをさらに含み、前記生成するステップは、前記値の一意の組合せを格納するために使用されるメモリ容量に基づいて、前記値の一意の各組合せを選択することによって、前記テーブルを格納するために使用されるメモリ容量を最小限に抑えることを特徴とする請求項1に記載の方法。
  4. 前記EPGデータ内の対応する値をもつ、前記テレビ番組特性のそれぞれは、
    ジャンルと、
    タイトルと、
    格付けと、
    長さと、
    チャンネルと、
    主人公名と、
    言語と、
    製作年度と、
    放送日と、
    暴力と
    を有するグループから選択されることを特徴とする請求項1に記載の方法。
  5. クライアント装置に、前記テーブルおよび前記圧縮されたEPGデータを送るステップをさらに含むことを特徴とする請求項1に記載の方法。
  6. 請求項1に記載の方法を実施するためのプログラムを実行するプロセッサを含むことを特徴とするヘッドエンド。
  7. 実行時に、請求項1に記載の方法を実施する、コンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ読取り可能媒体。
  8. それぞれがテレビ番組特性を示す、値の複数の一意の組合せ、およびそれぞれが前記一意の組合せの1つを示す、複数の識別子を含むテーブルを受信するステップと、
    それぞれが1つまたは複数の識別子をもつ複数のテレビ番組を含む、圧縮された電子番組ガイド(EPG)を受信するステップと、
    前記テレビ番組の前記1つまたは複数の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブル内の一致する識別子によって示される、値の複数の一意の組合せの少なくとも1つの値を出力するステップと
    を含むことを特徴とする方法。
  9. 前記圧縮されたEPGデータおよび前記テーブルは、EPGサーバから受信されることを特徴とする請求項8に記載の方法。
  10. クライアント装置は、前記圧縮されたEPGデータを受信するステップ、および前記比較するステップを実行し、
    前記テーブルは、前記クライアント装置の製造元から、前記クライアント装置によって受信されることを特徴とする請求項8に記載の方法。
  11. 前記圧縮されたEPGデータを受信するステップは、前記テーブルを受信するステップの前または後に実行されることを特徴とする請求項8に記載の方法。
  12. 請求項8に記載の方法を実行するためのプログラムを実行するプロセッサを含むことを特徴とするクライアント装置。
  13. 実行時に、請求項8に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ読取り可能媒体。
  14. 複数のテレビ番組を含む電子番組ガイド(EPG)データを圧縮するステップを含む方法であって、それぞれのテレビ番組は、1つまたは複数のテレビ番組特性を個々に示す、1つまたは複数の値をもち、前記EPGデータは、
    それぞれのテレビ番組の前記1つまたは複数の値を、テレビ番組特性を示す、テーブル内の値と比較するステップであって、前記テーブル内の前記値はそれぞれ、識別子によって示されるステップによって圧縮され、
    それぞれのテレビ番組の前記1つまたは複数の値が、前記テーブル内の値のうちの1つと一致する場合は、それぞれのテレビ番組の前記1つまたは複数の値を、前記テーブル内の一致する値を示す識別子に一致する識別子で置き換え、また
    それぞれのテレビ番組の前記1つまたは複数の値が、前記テーブル内の値のどれとも一致しない場合は、前記EPGデータ内に、読取り識別子を、それぞれのテレビ番組の1つまたは複数の値とともに挿入し、前記読取り識別子は、それぞれのテレビ番組の1つまたは複数の値を示すことを特徴とする方法。
  15. クライアント装置による分析時に、対応する前記テレビ番組の1つまたは複数が前記圧縮されたEPGデータ内にあることを、前記読取り識別子により前記クライアント装置に示すことを特徴とする請求項14に記載の方法。
  16. 前記EPGデータまたはEPGデータの異なるセットを分析することによって、前記テーブルを生成するステップをさらに含むことを特徴とする請求項14に記載の方法。
  17. 前記テーブルを生成するステップをさらに含み、前記生成するステップは、前記テーブル内の値に対応する、前記EPGデータ内のテレビ番組の値を格納するために使用されるメモリ容量に基づいて、前記テーブル内の値を選択することによって、前記テーブルを最適化することを特徴とする請求項14に記載の方法。
  18. 前記テレビ番組特性は、
    ジャンルと、
    タイトルと、
    格付けと、
    長さと、
    チャンネルと、
    主人公名と、
    言語と、
    製作年度と、
    放送日と、
    暴力と
    を有するグループから選択されることを特徴とする請求項14に記載の方法。
  19. クライアント装置に、前記圧縮されたEPGデータを送るステップをさらに含むことを特徴とする請求項14に記載の方法。
  20. 請求項14に記載の方法を実施するためのプログラムを実行するプロセッサを含むことを特徴とするヘッドエンド。
  21. 実行時に、請求項14に記載の方法を実行するコンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ読取り可能媒体。
  22. テレビ番組特性を示す値を含むテーブルを受信するステップであって、前記テーブルは、それぞれが前記値の1つを示す複数の識別子を含むステップと、
    圧縮された電子番組ガイド(EPG)データを受信するステップであって、前記圧縮されたEPGデータは複数のテレビ番組を含み、それぞれのテレビ番組は1つまたは複数の識別子をもち、前記複数のテレビ番組のそれぞれの識別子は、
    前記圧縮されたEPGデータ内に含まれる値を示す読取り識別子、および
    前記テーブル内に含まれる前記複数の識別子のうちの少なくとも1つと一致する識別子のうちの少なくとも1つとして構成されているステップと、
    前記圧縮されたEPGデータ内の、テレビ番組の識別子を分析するステップであって、
    前記テレビ番組の前記識別子が読取り識別子である場合は、前記圧縮されたEPGデータから、前記読取り識別子によって示される値を出力し、また
    前記テレビ番組の前記識別子が読取り識別子でない場合は、前記テレビ番組の前記識別子を、前記テーブル内の前記識別子と比較し、一致する場合には、前記テーブルから、一致する前記識別子によって示される値を出力するステップと
    を含むことを特徴とする方法。
  23. 前記圧縮されたEPGデータを受信する前記ステップ、前記テーブルを受信する前記ステップ、および前記分析ステップは、クライアント装置によって実行されることを特徴とする請求項22に記載の方法。
  24. 前記圧縮されたEPGデータおよび前記テーブルは、ヘッドエンドから受信されることを特徴とする請求項22に記載の方法。
  25. クライアント装置は、前記圧縮されたEPGデータを受信するステップ、および前記分析ステップを実行し、
    前記テーブルは、前記クライアント装置の製造元から、前記クライアント装置によって受信されることを特徴とする請求項22に記載の方法。
  26. 前記圧縮されたEPGデータを受信するステップは、前記テーブルを受信するステップの前または後に実行されることを特徴とする請求項22に記載の方法。
  27. 実行時に、請求項22に記載の方法を実行する、コンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ読取り可能媒体。
  28. プロセッサ、およびメモリを有し、該メモリは、
    各テレビ番組特性を示す値の複数の一意の組合せ、およびそれぞれが前記一意の組合せの1つを示す複数の識別子を含むテーブルと、
    それぞれが1つまたは複数の識別子をもつ、複数のテレビ番組を含む、圧縮された電子番組ガイド(EPG)データと、
    展開ルーチンと
    を保持するように構成され、該展開ルーチンは、
    前記プロセッサ上で実行可能であり、
    前記テレビ番組の1つまたは複数の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブル内の一致する識別子によって示される、値の一意の組合せの少なくとも1つの値を出力するステップによって、
    前記圧縮されたEPGデータを展開することを特徴とするクライアント装置。
  29. プロセッサおよびメモリを有し、該メモリは、
    テレビ番組特性を示す値を含むテーブルであって、それぞれが前記値の1つを示す複数の識別子を含むテーブルと、
    それぞれが1つまたは複数の識別子をもつ複数のテレビ番組を含む、圧縮された電子番組ガイド(EPG)データであって、前記圧縮されたEPGデータ内の複数のテレビ番組のそれぞれの識別子は、前記圧縮されたEPGデータ内に含まれる値を示す読取り識別子、および前記テーブル内に含まれる複数の識別子のうちの少なくとも1つと一致する識別子のうちの少なくとも1つとして構成されている、圧縮されたEPGデータと、
    前記プロセッサ上で実行可能であり、前記識別子を分析することによって、前記圧縮されたEPGデータを展開する展開ルーチンであって、前記テレビ番組の識別子が読取り識別子である場合は、前記圧縮されたEPGデータから、前記読取り識別子によって示される値を出力し、また前記テレビ番組の識別子が読取り識別子でない場合は、前記テレビ番組の識別子を、前記テーブル内の識別子と比較し、一致する場合には、前記テーブルから、一致する識別子によって示される値を出力する展開ルーチンと
    を保持するように構成されるメモリを含むことを特徴とするクライアント装置。
  30. プロセッサおよびメモリを有し、
    該メモリは、
    それぞれのテレビ番組特性を示す値の一意の組合せ、およびそれぞれが前記一意の組合せの1つを示す複数の識別子を含むテーブルと、
    複数のテレビ番組を含む、電子番組ガイド(EPG)データであって、それぞれのテレビ番組は、1つまたは複数のテレビ番組特性を個々に示す1つまたは複数の値をもつ、EPGデータと、
    圧縮ルーチンと
    を保持するように構成され、
    前記圧縮ルーチンは、
    前記プロセッサ上で実行可能であり、
    それぞれのテレビ番組の前記1つまたは複数の値を、前記テーブル内の前記値の一意の組合せと比較するステップと、
    前記一致のそれぞれについて、前記テレビ番組の1つまたは複数の値を、前記値の一意の組合せを示す、前記テーブル内の識別子と一致する識別子で置き換えるステップと
    によって、
    前記EPGデータを圧縮することを特徴とする電子番組ガイド(EPG)サーバ。
  31. 前記圧縮ルーチンはさらに、前記EPGデータ内に含まれる、テレビ番組特性の値を分析することによって、前記テーブルを生成するように構成されることを特徴とする請求項30に記載のEPGサーバ。
  32. 前記圧縮ルーチンはさらに、前記EPGデータ、またはEPGデータの異なるセットから、前記テーブルを生成するように構成されることを特徴とする請求項30に記載のEPGサーバ。
  33. 前記圧縮ルーチンはさらに、クライアント装置に、前記テーブルおよび前記圧縮されたEPGデータを送るための送信を形成するように構成されることを特徴とする請求項30に記載のEPGサーバ。
  34. プロセッサ、およびメモリを有し、該メモリは、
    テレビ番組特性を示す値を含むテーブルであって、それぞれが前記値の1つを示す複数の識別子を含むテーブルと、
    複数のテレビ番組含む電子番組ガイド(EPG)データであって、それぞれのテレビ番組は、1つまたは複数のテレビ番組特性を個々に示す1つまたは複数の値をもつEPGデータと、
    前記プロセッサ上で実行可能であり、それぞれのテレビ番組の前記1つまたは複数の値を、前記テーブル内の値と比較することによって、前記EPGデータを圧縮する圧縮ルーチンと
    を保持するように構成され、前記圧縮ルーチンは、
    それぞれのテレビ番組の1つまたは複数の値が、前記テーブル内の値のうちの1つと一致する場合は、それぞれのテレビ番組の前記1つまたは複数の値を、前記テーブル内の一致する値を示す前記識別子と一致する識別子で置き換え、また
    それぞれのテレビ番組の前記1つまたは複数の値が、前記テーブル内の前記値のどれとも一致しない場合は、前記EPGデータ内に、読取り識別子を、それぞれのテレビ番組の1つまたは複数の値とともに挿入し、
    前記読取り識別子は、それぞれのテレビ番組の1つまたは複数の値を示すことを特徴とする電子番組ガイド(EPG)サーバ。
  35. 前記圧縮ルーチンはさらに、前記EPGデータまたはEPGデータの異なるセットから、前記テーブルを生成するように構成されることを特徴とする請求項に34に記載のEPGサーバ。
  36. 前記圧縮ルーチンはさらに、前記EPGデータに含まれる、それぞれのテレビ番組の1つまたは複数の値を分析することによって、前記テーブルを生成するように構成されることを特徴とする請求項に34に記載のEPGサーバ。
  37. 電子番組ガイド(EPG)サーバと、クライアント装置を有するシステムであって、
    前記EPGサーバは、メモリと、プロセッサと、圧縮ルーチンを含み、
    該圧縮ルーチンは、
    前記メモリ内に格納され、前記プロセッサ上で実行可能であり、
    それぞれのテレビ番組の1つまたは複数の値を、それぞれのテレビ番組特性を示す値の一意の組合せと比較して一致を検出するステップであって、前記一意の組合せのそれぞれは、それぞれが前記一意の組合せの1つを示す複数の識別子を含むテーブル内にあるステップと、
    前記一致のそれぞれについて、前記テレビ番組の1つまたは複数の値を、前記値の一意の組合せを示す、前記テーブル内の識別子と一致する識別子で置き換えるステップと
    によって、それぞれが1つまたは複数のテレビ番組特性を個々に示す1つまたは複数の値をもつ、複数のテレビ番組を含む、電子番組ガイド(EPG)データを圧縮し、
    前記クライアント装置は、メモリと、プロセッサと、展開ルーチンを含み、
    該展開ルーチンは、
    前記メモリ内に格納され、前記プロセッサ上で実行可能であり、
    前記圧縮された電子番組ガイド(EPG)データ内の、テレビ番組の1つまたは複数の識別子を、前記テーブル内の前記識別子と比較するステップと、
    一致する場合は、前記テーブル内の一致する識別子によって示される、値の一意の組合せのうちの少なくとも1つの値を出力するステップと
    によって、前記圧縮されたEPGデータを圧縮するために使用された前記テーブルに対応するテーブルを使用して、ネットワークを介して前記EPGサーバから受信された圧縮されたEPGデータを展開することを特徴とするシステム。
  38. 電子番組ガイド(EPG)サーバおよびクライアント装置を有するシステムであって、
    前記EPGサーバは、メモリと、プロセッサと、圧縮ルーチンを含み、該圧縮ルーチンは、
    前記メモリに格納され、前記プロセッサ上で実行可能であり、
    それぞれのテレビ番組の前記1つまたは複数の値を、テレビ番組特性を示すテーブル内の値と比較するステップであって、前記テーブル内の値のそれぞれは、識別子によって示され、それぞれのテレビ番組の1つまたは複数の値が、前記テーブル内の値のうちの1つと一致する場合は、それぞれのテレビ番組の1つまたは複数の値を、前記テーブル内の一致する値を示す識別子と一致する識別子で置き換え、それぞれのテレビ番組の1つまたは複数の値が、前記テーブル内の値のどれとも一致しない場合は、前記EPGデータ内に、読取り識別子を、それぞれのテレビ番組の前記1つまたは複数の値とともに挿入し、前記読取り識別子は、それぞれのテレビ番組の前記1つまたは複数の値を示すステップによって、
    それぞれが、1つまたは複数のテレビ番組特性を個々に示す1つまたは複数の値をもつ、複数のテレビ番組を含む電子番組ガイド(EPG)を圧縮し、
    前記クライアント装置は、ネットワークを介して前記EPGサーバに通信可能に結合されており、
    メモリと、プロセッサと、展開ルーチンを含み、
    該展開ルーチンは、
    前記メモリに格納され、前記プロセッサ上で実行可能であり、
    前記1つまたは複数の識別子を分析することによって、前記圧縮されたEPGデータを圧縮するために使用された前記テーブルに対応するテーブルを使用して、前記圧縮されたEPGデータを展開し、
    前記テレビ番組の識別子が読取り識別子である場合は、前記圧縮されたEPGデータから、前記読取り識別子によって示される値を出力し、
    前記テレビ番組の識別子が読取り識別子でない場合は、前記テレビ番組の識別子を、前記テーブル内の識別子と比較し、一致する場合は、前記テーブルから、一致する識別子によって示される値を出力することを特徴とするシステム。
  39. クライアント装置によって、あるチャンネルの所望の番組の放送開始時間を、マスタ開始時間に、前記チャンネルで、前記マスタ開始時間と前記所望のテレビ番組の間に予定されている各テレビ番組の、長さのテレビ番組特性の値を加算することによって計算するステップと、
    電子番組ガイド(EPG)内に、前記所望の番組の放送開始時間を出力するステップと
    を含むことを特徴とする方法。
  40. 前記マスタ開始時間、および各テレビ番組の長さのテレビ番組特性の値は、EPGサーバから前記クライアント装置に送られるEPGデータ内に含まれることを特徴とする請求項39に記載の方法。
  41. 前記加算ステップはさらに、前記マスタ開始時間から始めて、前記所望のテレビ番組の長さのテレビ番組特性の値に達するまで、前記長さのテレビ番組特性の各値を、前記マスタ開始時間に加算するステップを含むことを特徴とする請求項39に記載の方法。
  42. 実行時に、請求項39に記載の方法を実施する、コンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ読取り可能媒体。
  43. プロセッサおよびメモリを有するクライアント装置であって、前記メモリは、
    マスタ開始時間と、
    チャンネル上でブロードキャストされる複数のテレビ番組を含む電子番組ガイド(EPG)データであって、それぞれのテレビ番組は、長さのテレビ番組特性を示す値をもつEPGデータと、
    前記プロセッサ上で実行可能であり、前記複数のテレビ番組に含まれる所望のテレビ番組の放送開始時間を、前記マスタ開始時間に、該マスタ開始時間と前記所望のテレビ番組の間で予定されている各テレビ番組の長さのテレビ番組特性の値を加算することによって計算するEPGアプリケーションと
    を保持するように構成されることを特徴とするクライアント装置。
  44. 前記マスタ開始時間および前記長さのテレビ番組特性の値は、EPGサーバから送られるEPGデータ内に含まれて受信されることを特徴とする請求項43に記載のクライアント装置。
  45. 前記加算ステップはさらに、前記マスタ開始時間から始めて、前記所望のテレビ番組の長さのテレビ番組特性の値に達するまで、前記長さのテレビ番組特性の各値を、前記マスタ開始時間に加算するステップを含むことを特徴とする請求項43に記載のクライアント装置。
  46. プロセッサと、メモリと、ブロードキャスト送信機とを有するヘッドエンドであって、
    該メモリは、
    マスタ開始時間、およびそれぞれが長さのテレビ番組特性の値をもつ、チャンネル上で放送される複数のテレビ番組を含む電子番組ガイド(EPG)データを保持するように構成され、
    前記ブロードキャスト送信機は、
    前記マスタ開始時間および前記EPGデータを含む送信を、クライアント装置にブロードキャストし、
    前記送信によって、前記クライアント装置は、前記EPG内の所望のテレビ番組の放送開始時間を、前記マスタ開始時間に、前記マスタ開始時間と前記所望のテレビ番組の間に予定されている各テレビ番組の長さのテレビ番組特性の値を加算することによって計算することができることを特徴とするヘッドエンド。
JP2004190394A 2003-06-27 2004-06-28 Epgデータの圧縮および展開 Pending JP2005020762A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/610,412 US20040268394A1 (en) 2003-06-27 2003-06-27 Compressing and decompressing EPG data

Publications (1)

Publication Number Publication Date
JP2005020762A true JP2005020762A (ja) 2005-01-20

Family

ID=33541143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004190394A Pending JP2005020762A (ja) 2003-06-27 2004-06-28 Epgデータの圧縮および展開

Country Status (5)

Country Link
US (1) US20040268394A1 (ja)
JP (1) JP2005020762A (ja)
CN (1) CN1578431A (ja)
BR (1) BRPI0402410A (ja)
MX (1) MXPA04006347A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533997A (ja) * 2006-04-17 2009-09-17 マイクロソフト コーポレーション ハイブリッドなユニキャスト・マルチキャストデータ配信

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574719B1 (en) * 2002-06-27 2009-08-11 Microsoft Corporation Program guide data compression
KR100754676B1 (ko) * 2005-09-21 2007-09-03 삼성전자주식회사 디지털 방송 수신 단말기의 전자 프로그램 가이드 데이터관리 장치 및 방법
JP4659046B2 (ja) * 2006-01-30 2011-03-30 パナソニック株式会社 電子番組ガイド表示装置及び電子番組ガイド表示方法
KR20080026018A (ko) * 2006-09-18 2008-03-24 삼성전자주식회사 파일 다운로드 서비스에서 파일 정보를 제공하기 위한디지털 비디오 방송 시스템과 단말기 및 그 방법
WO2010006087A1 (en) * 2008-07-08 2010-01-14 David Seaberg Process for providing and editing instructions, data, data structures, and algorithms in a computer system
EP2378766A1 (en) * 2010-04-16 2011-10-19 Liberty Global Europe Holding B.V. Electronic Program Guide compression method and system
CA2714061C (en) * 2010-08-31 2018-01-02 Shaw Cablesystems G.P. Method and system for optimizing electronic program guide data
CN105100877B (zh) * 2015-07-27 2019-03-22 四川长虹电器股份有限公司 数字电视设备接收大数量电子节目指南信息的实现方法
CN109068072A (zh) * 2018-09-26 2018-12-21 杭州联汇科技股份有限公司 一种节目单时序按需同步安全传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041423A1 (en) * 1995-06-07 1996-12-19 Tv Guide On Screen Compression of an electronic programming guide
WO1999011066A1 (fr) * 1997-08-21 1999-03-04 Sony Corporation Procede de transmission d'informations et recepteur d'emissions de television

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675211A (en) * 1970-09-08 1972-07-04 Ibm Data compaction using modified variable-length coding
US5546575A (en) * 1994-05-23 1996-08-13 Basil E. Potter & Associates, Inc. Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records
US6820278B1 (en) * 1998-07-23 2004-11-16 United Video Properties, Inc. Cooperative television application system having multiple user television equipment devices
US6961955B1 (en) * 1999-10-13 2005-11-01 Bellsouth Intellectual Property Corporation System and method for providing video services
US7058964B2 (en) * 2002-12-03 2006-06-06 Matsushita Electric Industrial Co., Ltd. Flexible digital cable network architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041423A1 (en) * 1995-06-07 1996-12-19 Tv Guide On Screen Compression of an electronic programming guide
WO1999011066A1 (fr) * 1997-08-21 1999-03-04 Sony Corporation Procede de transmission d'informations et recepteur d'emissions de television

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533997A (ja) * 2006-04-17 2009-09-17 マイクロソフト コーポレーション ハイブリッドなユニキャスト・マルチキャストデータ配信

Also Published As

Publication number Publication date
MXPA04006347A (es) 2005-03-31
US20040268394A1 (en) 2004-12-30
BRPI0402410A (pt) 2005-05-24
CN1578431A (zh) 2005-02-09

Similar Documents

Publication Publication Date Title
US8175442B2 (en) Program recording completion
US20080320523A1 (en) Content-progress indicator for an EPG
US8699861B2 (en) Recorded content management
EP1367824B1 (en) Short-term buffer content management
US6965415B2 (en) EPG-conditioned letterbox-to-anamorphic conversion
JP4608234B2 (ja) 仮想チャネルプレビューガイド
EP1377046A2 (en) Program guide data text search
US7395544B2 (en) Regulating the quality of a broadcast based on monitored viewing behavior information
US20040034865A1 (en) Program guide for previous program broadcasts
US20040111526A1 (en) Compositing MPEG video streams for combined image display
US20050028200A1 (en) Media content navigation associated advertising
US7571232B2 (en) Method and apparatus for managing channel information
US7712117B1 (en) Multiple channel presenter
US7376908B2 (en) On-screen display image rendered with MPEG hardware
US20050210510A1 (en) Method and apparatus for generating a program guide
US20040128700A1 (en) Viewing selection management system
US20040006768A1 (en) Parsed program guide data
JP2005020762A (ja) Epgデータの圧縮および展開
US7574719B1 (en) Program guide data compression
KR101245152B1 (ko) 디지털 케이블 방송 시스템에서의 채널 장르별 사용자 인터페이스 제공 시스템 및 방법
KR100925646B1 (ko) 인터넷 프로토콜 텔레비전에서의 사용자 인터페이스 방법및 셋탑박스
KR20070051142A (ko) 디지털 방송 수신기에서 예약녹화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511