(57)【要約】  電子番組ガイド（ＥＰＧ）データマネージャモジュールが提供される。ＥＰＧデータモジュールは、ＥＰＧデータをハイパーテキストマークアップ言語５（ＨＴＭＬ５）アプリケーションに提供するためのイベント駆動型インフラストラクチャを形成している。ＨＴＭＬ５  ＥＰＧアプリケーションは、表示装置上のユーザインタフェース内にＥＰＧデータウィンドウを表示する。ＥＰＧデータは、表示されるＥＰＧデータウィンドウに基づいてＨＴＭＬ５  ＥＰＧアプリケーションによってレンダリングされるように生成されたスクリプト可能なデータオブジェクトでＥＰＧアプリケーションに提供される。【選択図】図６
2016522624.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に電子番組ガイド（ＥＰＧ）ユーザインタフェース（ＵＩ）を表示するためのシステムであって、
ハイパーテキストマークアップ言語５（ＨＴＭＬ５）ベースのプラットフォームで定義されたＥＰＧアプリケーションであって、前記表示装置上に前記ＵＩでＥＰＧデータウィンドウ内に定義された番組情報を表示するＥＰＧアプリケーションと、
１つ以上のＥＰＧデータファイルから受け取ったＥＰＧデータを前記ＨＴＭＬ５  ＥＰＧアプリケーションに提供するためのＥＰＧデータマネージャモジュールであって、前記ＥＰＧデータは、スクリプト可能なデータオブジェクトによって前記ＥＰＧデータウィンドウに提供され、前記スクリプト可能なデータオブジェクトは、前記表示装置上のユーザインタフェース内に前記ＥＰＧデータウィンドウをレンダリングするために前記ＥＰＧアプリケーションに提供される、ＥＰＧデータマネージャモジュールと、を備えるシステム。
【請求項２】
前記ＥＰＧデータウィンドウは、利用可能なＥＰＧデータのサブセットである請求項１に記載のシステム。
【請求項３】
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧデータウィンドウ内にレンダリングされた前記ＥＰＧデータを変更する前記ＥＰＧアプリケーションによって生成されたナビゲーションイベントに応答して生成される請求項１または２に記載のシステム。
【請求項４】
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧアプリケーションからのＡＰＩの呼び出しに応答して生成される請求項１または２に記載のシステム。
【請求項５】
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧデータウィンドウの変更をもたらす前記ＥＰＧデータの変更に関連付けられるＥＰＧイベントに応答して生成される請求項１または２に記載のシステム。
【請求項６】
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧデータウィンドウの変更を生じる時間の変更に関連付けられるＥＰＧイベントに応答して生成される請求項１または２に記載のシステム。
【請求項７】
ＥＰＧイベントを前記ＥＰＧデータマネージャモジュールに提供し、および前記ＥＰＧデータマネージャモジュールからスクリプト可能なデータオブジェクトを受け取り、および該スクリプト可能なデータオブジェクトからのデータを用いて、前記ＥＰＧをレンダリングするように前記ＥＰＧアプリケーションに命令するためのイベントハンドラをさらに備える請求項１〜６の何れか１項に記載のシステム。
【請求項８】
前記イベントハンドラは、前記ＵＩ内でのユーザナビゲーションに応答してナビゲーションイベントを生成し、
前記ナビゲーションイベントは、前記ＥＰＧデータマネージャモジュールに提供される請求項７に記載のシステム。
【請求項９】
前記ＥＰＧデータマネージャモジュールは、前記ＥＰＧデータウィンドウに基づいて、複数のＥＰＧデータファイルから１つのＥＰＧデータファイルを決定し、
各ＥＰＧデータファイルは、所定期間の１つ以上のコンテンツソースのための番組データを含む請求項１〜８の何れか１項に記載のシステム。
【請求項１０】
前記ＥＰＧデータマネージャモジュールは、前記複数のＥＰＧデータファイルから１つ以上のＥＰＧデータファイルを展開する請求項９に記載のシステム。
【請求項１１】
前記ＥＰＧデータマネージャモジュールは、前記１つ以上のＥＰＧデータファイルから、前記ＥＰＧデータウィンドウよりも大きいＥＰＧデータを展開して、イベントハンドラから受け取ったイベント要求に基づく予測キャッシュ動作に基づいてデータをキャッシュに格納する請求項１０に記載のシステム。
【請求項１２】
前記ＥＰＧデータマネージャモジュールは、ハードウェア命令セットに直接コンパイルされたコンパイラ型中間レベル言語プロダクトである請求項１〜１１の何れか１項に記載のシステム。
【請求項１３】
前記ＥＰＧデータマネージャモジュールは、ＣまたはＣ＋＋からコンパイルされたネイティブコードで生成される請求項１２に記載のシステム。
【請求項１４】
前記ＥＰＧデータマネージャモジュールは、ＥＰＧデータを前記１つ以上のＥＰＧデータファイルから取得する前に、前記ＥＰＧデータウィンドウをレンダリングするための概観ファイルを取得し、
前記概観ファイルは、詳細なＥＰＧデータが前記１つ以上のＥＰＧデータファイルから取得されている間、高レベルのＥＰＧデータを提供する請求項１〜１３の何れか１項に記載のシステム。
【請求項１５】
前記概観ファイルは、チャンネル、番組タイトル、ジャンル、レーティング、開始時間または期間のうちの１つ以上を提供する請求項１４に記載のシステム。
【請求項１６】
前記１つ以上のデータファイルは、チャンネル、番組タイトル、ジャンル、レーティング、放送日、制作日、開始時間、期間、内容、俳優、アイコンのうちの１つ以上を提供する請求項１５に記載のシステム。
【請求項１７】
プロセッサによって、表示装置上に表示されたユーザインタフェース内に電子番組ガイド（ＥＰＧ）を生成する方法であって、
前記表示装置上に表示された前記ユーザインタフェース内にハイパーテキストマークアップ言語５（ＨＴＭＬ５）ＥＰＧアプリケーションで表示されるＥＰＧデータウィンドウを決定する工程と、
決定されたＥＰＧデータウィンドウに基づいて、ＥＰＧデータから少なくとも１つのスクリプト可能なデータオブジェクトを生成する工程と、
前記表示装置上に表示された前記ユーザインタフェース内での前記ＥＰＧデータのレンダリングを命令するために、前記生成されたスクリプト可能なデータオブジェクトを前記ＨＴＭＬ５  ＥＰＧアプリケーションに提供する工程と、を含む方法。
【請求項１８】
前記ＥＰＧデータウィンドウは、前記ＨＴＭＬ５  ＥＰＧアプリケーションからＥＰＧ構成パラメータを受け取る工程によって決定され、
前記構成パラメータは、前記ＥＰＧデータから表示される前記ＥＰＧデータウィンドウを定義する請求項１７に記載の方法。
【請求項１９】
前記ＥＰＧデータウィンドウは、利用可能なＥＰＧデータのサブセットである請求項１７または１８に記載の方法。
【請求項２０】
前記ＥＰＧデータウィンドウを決定する工程は、前記ＥＰＧデータウィンドウ内に表示されるＥＰＧデータを変更する前記ＥＰＧアプリケーションによって生成されたナビゲーションイベントを受け取る工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記ナビゲーションイベントに応答して生成される請求項１７〜１９の何れか１項に記載の方法。
【請求項２１】
前記ＥＰＧデータウィンドウを決定する工程は、前記ＥＰＧデータの変更に関連付けられるＥＰＧイベントを受け取る工程をさらに含み、その結果、前記ＥＰＧデータウィンドウを変更する工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧイベントに応答して生成される請求項１７〜２０の何れか１項に記載の方法。
【請求項２２】
前記ＥＰＧデータウィンドウを決定する工程は、時間の変更に基づいてＥＰＧイベントを決定する工程をさらに含み、その結果、前記ＥＰＧデータウィンドウ内に表示される前記ＥＰＧデータを変更する工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記時間の変更に応答して生成される請求項１７〜２１の何れか１項に記載の方法。
【請求項２３】
前記ＥＰＧデータは、１つ以上のデータファイルで提供され、
前記ＥＰＧデータは、前記１つ以上のデータファイルからのデータを展開し、前記ＥＰＧデータを取得して前記スクリプト可能なデータオブジェクトを生成する工程によって取得される請求項１７〜２２の何れか１項に記載の方法。
【請求項２４】
ＥＰＧデータから前記少なくとも１つのスクリプト可能なデータオブジェクトを生成する工程は、
前記データウィンドウに関連付けられる１つ以上のデータファイルを決定する工程と、
前記決定された１つ以上のデータファイルを取得する工程と、
前記取得された１つ以上のデータファイルを展開する工程と、をさらに含む請求項２３に記載の方法。
【請求項２５】
各スクリプト可能なデータオブジェクトは、前記ＥＰＧデータウィンドウのレンダリングを効率的に更新する際に、ＥＰＧアプリケーションを補助するステータス情報である「変更なし」、「追加済み」、「更新済み」または「削除済み」を含む請求項１７〜２４の何れか１項に記載の方法。
【請求項２６】
各スクリプト可能なデータオブジェクトは、前記スクリプト可能なデータオブジェクトの表示状態を反映する１つ以上のＣＳＳセレクタを含む請求項２５に記載の方法。
【請求項２７】
前記ＣＳＳセレクタは、前記スクリプト可能なデータオブジェクトの属性に基づいて計算される請求項２６に記載の方法。
【請求項２８】
前記少なくとも１つのスクリプト可能なデータオブジェクトを生成するためのＥＰＧデータの概観ファイルを取得する工程をさらに含む請求項２３に記載の方法。
【請求項２９】
前記１つ以上のデータファイルを取得する前に、前記少なくとも１つのスクリプト可能なデータオブジェクトを生成するためのＥＰＧデータの概観ファイルを取得する工程をさらに含む請求項２８に記載の方法。
【請求項３０】
追加ＥＰＧデータが提供された前記１つ以上のデータファイルを取得する前に、前記少なくとも１つのスクリプト可能なデータオブジェクトを生成するためのＥＰＧデータの概観ファイルを取得する工程と、
前記概観ファイルからの前記決定されたＥＰＧデータウィンドウに基づくＥＰＧデータから少なくとも１つのスクリプト可能なデータオブジェクトを生成する工程と、
前記生成されたスクリプト可能なデータオブジェクトを前記ＨＴＭＬ５  ＥＰＧアプリケーションに提供して、前記１つ以上のデータファイルを取得する前に、前記表示装置上に表示される前記ユーザインタフェース内での前記ＥＰＧデータのレンダリングを命令する工程と、をさらに含む請求項２３に記載の方法。
【請求項３１】
前記概観ファイルは、チャンネル、番組タイトル、ジャンル、レーティング、開始時間または期間のうちの１つ以上を提供する請求項３０に記載の方法。
【請求項３２】
前記１つ以上のデータファイルは、チャンネル、番組タイトル、ジャンル、レーティング、放送日、制作日、開始時間、期間、内容、俳優、アイコンのうちの１つ以上を提供する請求項３１に記載の方法。
【請求項３３】
プロセッサによって、表示装置上に表示されたユーザインタフェース内に電子番組ガイド（ＥＰＧ）を生成するための命令を含み、
前記命令は、請求項１７〜３２の何れか１項に記載の方法を実行するために備えられる非一時的コンピュータ記憶メモリ。
【請求項３４】
電子番組ガイド（ＥＰＧ）を表示する方法であって、
前記ＥＰＧ内での表示のためのＥＰＧデータウィンドウを決定する工程と、
要求されたＥＰＧデータウィンドウをカバーする概観ファイルを取得する工程と、
前記概観ファイル内の概観ＥＰＧデータから、スクリプト可能なデータオブジェクトを生成する工程と、
前記概観データを有するスクリプト可能なデータオブジェクトを用いて、前記ＥＰＧガイドをレンダリングする工程と、
前記要求されたＥＰＧデータウィンドウのためのフルデータを有する１つ以上のデータファイルセグメントを取得する工程と、
前記１つ以上のデータファイルセグメント内のＥＰＧデータから、更新済みのスクリプト可能なデータオブジェクトを生成する工程と、
前記ＥＰＧデータウィンドウ内の前記ＥＰＧデータからの前記更新済みのスクリプト可能なデータオブジェクトを用いて、前記ＥＰＧガイドをレンダリングする工程と、を含む方法。
【請求項３５】
前記ＥＰＧデータウィンドウのためのフルＥＰＧデータが既にキャッシュに格納されているか否かを決定する工程をさらに含み、
前記フルＥＰＧデータが既にキャッシュに格納されている場合には、前記ＥＰＧガイドが前記フルＥＰＧデータを用いてレンダリングされる請求項３４に記載の方法。
【請求項３６】
前記更新済みのスクリプト可能なデータオブジェクトを生成する前に、前記１つ以上のデータファイルセグメントを展開する工程をさらに含む請求項３４または３５に記載の方法。
【請求項３７】
前記１つ以上のデータファイルセグメントは、前記バックグラウンドで展開される請求項３６に記載の方法。
【請求項３８】
ＥＰＧアプリケーションは、ハイパーテキストマークアップ言語５（ＨＴＭＬ５）ベースのプラットフォームで定義され、
前記ＨＴＭＬ５  ＥＰＧアプリケーションは、表示装置上の前記ユーザインタフェース内のＥＰＧデータウィンドウ内に定義された番組情報を表示する請求項３７に記載の方法。
【請求項３９】
前記ＥＰＧデータマネージャは、１つ以上のＥＰＧデータファイルから受け取ったＥＰＧデータを前記ＨＴＭＬ５  ＥＰＧアプリケーションに提供し、
前記ＥＰＧデータは、前記ＥＰＧデータウィンドウのためのスクリプト可能なデータオブジェクトによって提供され、
前記スクリプト可能なデータオブジェクトは、前記表示装置上の前記ユーザインタフェース内に前記ＥＰＧデータウィンドウをレンダリングするために、前記ＥＰＧアプリケーションに提供される請求項３８に記載の方法。
【請求項４０】
前記ＥＰＧデータウィンドウは、前記ＨＴＭＬ５  ＥＰＧアプリケーションからＥＰＧ構成パラメータを受け取る工程によって決定され、
前記構成パラメータは、前記ＥＰＧデータから表示される前記ＥＰＧデータウィンドウのＥＰＧ期間を定義する請求項３９に記載の方法。
【請求項４１】
前記ＥＰＧデータウィンドウは、利用可能なＥＰＧデータのサブセットである請求項４０に記載の方法。
【請求項４２】
前記ＥＰＧデータウィンドウを決定する工程は、前記ＥＰＧデータウィンドウ内に表示されるＥＰＧデータを変更する前記ＥＰＧアプリケーションによって生成されたナビゲーションイベントを受け取る工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記ナビゲーションイベントに応答して生成される請求項３４〜４１の何れか１項に記載の方法。
【請求項４３】
前記ＥＰＧデータウィンドウを決定する工程は、前記ＥＰＧデータの変更に関連付けられるＥＰＧイベントを受け取る工程をさらに含み、その結果、前記ＥＰＧデータウィンドウを変更する工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記ＥＰＧイベントに応答して生成される請求項３４〜４１の何れか１項に記載の方法。
【請求項４４】
前記ＥＰＧデータウィンドウを決定する工程は、時間の変更に基づいてＥＰＧイベントを決定する工程をさらに含み、その結果、前記ＥＰＧデータウィンドウ内に表示される前記ＥＰＧデータを変更する工程をさらに含み、
前記スクリプト可能なデータオブジェクトは、前記時間の変更に応答して生成される請求項３４〜４１の何れか１項に記載の方法。
【請求項４５】
各スクリプト可能なデータオブジェクトは、前記ＥＰＧのレンダリングを効率的に更新する際に、前記ＥＰＧアプリケーションを補助するステータス情報である「変更なし」、「追加済み」、「更新済み」または「削除済み」を含む請求項３４〜４４の何れか１項に記載の方法。
【請求項４６】
各スクリプト可能なデータオブジェクトは、前記スクリプト可能なデータオブジェクトの表示状態を反映する１つ以上のＣＳＳセレクタを含む請求項４５に記載の方法。
【請求項４７】
前記ＣＳＳセレクタは、前記スクリプト可能なデータオブジェクトの属性に基づいて計算される請求項４６に記載の方法。
【請求項４８】
前記概観ファイルは、チャンネル、番組タイトル、ジャンル、レーティング、開始時間または期間のうちの１つ以上を提供する請求項３４〜４７の何れか１項に記載の方法。
【請求項４９】
前記１つ以上のデータファイルは、チャンネル、番組タイトル、ジャンル、レーティング、放送日、制作日、開始時間、期間、内容、俳優およびアイコンのうちの１つ以上を提供する請求項４８に記載の方法。
【請求項５０】
プロセッサによって、表示装置上に表示されたユーザインタフェース内に電子番組ガイド（ＥＰＧ）を生成するための命令を含む非一時的コンピュータ記憶メモリであって、
前記命令は、請求項３４〜４９の何れか１項に記載の方法を実行するために備えられる非一時的コンピュータ記憶メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、参照によって、その全体が本願明細書に組み込まれる、２０１３年５月９日に出願された米国非仮特許出願第１３／８９０，７７５号に対する優先権を主張するものである。
【０００２】
本開示は、電子番組ガイド（ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍｍｉｎｇ  ｇｕｉｄｅ：ＥＰＧ）に関し、特に、ハイパーテキストマークアップ言語（ＨＴＭＬ）ベースのＥＰＧアプリケーションでのＥＰＧデータおよびナビゲーションの管理に関する。
【背景技術】
【０００３】
セットトップボックス、スマートテレビ、タブレットまたはスマートフォンは、ユーザが、現在および放送予定の番組のための、絶えず更新される時間関連のＥＰＧ情報を用いて、番組スケジュールおよび他の放送メディアの番組情報をナビゲートすることを可能にする電子番組ガイド（ＥＰＧ）を提供することができる。ＥＰＧは、ユーザが、チャンネル（またはソース）および時間に基づいて番組をナビゲートして、視聴または録画のために特定の番組を選択することを可能にするインタラクティブユーザインタフェースに表示される。ＥＰＧは、典型的には、サービスプロバイダによって提供され、および限定するものではないが、典型的には７〜１４日の所定の時間周期に及ぶ可能性があり、および圧縮データ形式で提供することができるデータを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＥＰＧを表示するために、ＥＰＧデータは、ネットワークを介して取得されるか、または、その装置にプッシュ配信され、その後、それらのファイルが展開されて、ユーザインタフェースが生成されて、ＥＰＧが表示される。ＥＣＭＡ−２６２仕様書およびＩＳＯ／ＩＥＣ  １６２６２、ＥＰＧ実装で規定されている、ワールドワイドウェブコンソーシアム（登録商標、Ｗ３Ｃ）およびジャバスクリプト（登録商標、ＪＳ）によって開発されたハイパーテキストマークアップ言語５（ＨＴＭＬ５）は、ユーザインタフェースに柔軟性を提供するが、それらは、ＥＰＧデータに提供されるような大きなデータセットとともに機能する場合、メモリおよびプロセッサ集中型にすることができる。ＥＰＧを生成するように対応するＥＰＧデータは、多くのパフォーマンス上の問題を生じさせ、また、大量のメモリリソースを消費する可能性がある。現時点で、ＥＰＧアプリケーションをＨＴＭＬで作り出すことに関しては、多くのアプローチがある。第１のアプローチは、ＥＰＧデータおよびユーザインタフェースにおけるデータのレンダリングを管理するネイティブビジュアルプラグインを用いることであり、それは、最適なパフォーマンスをもたらすが、ＥＰＧデータの表示をカスタマイズするための能力が限定されており、ＨＴＭＬ５の柔軟性を活用していない。第２のアプローチは、ＥＰＧデータを管理して、全体的にＨＴＭＬ／ＪＳの実装で表示し、そのことは、ＥＰＧデータはＪＳでキャッシュに格納されることが必要であり、およびＥＰＧナビゲーションのすべてのロジックはＪＳおよびＨＴＭＬ５を介して行われる必要があるため、ＥＰＧデータのナビゲーションを遅くし、およびメモリ集中型にする。例えば、圧縮されたＥＰＧデータから成るバイトは、ＪＳにロードされてＨＴＭＬで構成された場合、データサイズの１００倍の増加をもたらす可能性がある。ＨＴＭＬ５  ＥＰＧアプリケーションは、セットトップボックス、スマートテレビ、タブレットおよびスマートフォン等の装置内の限定された処理リソースおよびメモリリソースに重い負担をかける可能性があるナビゲーション、レンダリング、データ管理を含むＥＰＧアプリケーションのすべての側面に対処する必要があるため、ＨＴＭＬ５  ＥＰＧアプリケーションの作成は、非常に複雑である。
【０００５】
したがって、ＨＴＭＬ５アプリケーションでのＥＰＧの表示における改良されたＥＰＧデータ管理を可能にするシステムおよび方法が依然として強く望まれている。
【課題を解決するための手段】
【０００６】
本開示の態様によれば、表示装置に電子番組ガイド（ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍ  ｇｕｉｄｅ：ＥＰＧ）ユーザインタフェース（ＵＩ）を表示するためのシステムが提供され、そのシステムは、ハイパーテキストマークアップ言語５（ＨＴＭＬ５）ベースのプラットフォームで定義されたＥＰＧアプリケーションであって、ＨＴＭＬ５  ＥＰＧアプリケーションが、表示装置上にＵＩでＥＰＧデータウィンドウ内に定義された番組情報を表示するＥＰＧアプリケーションと、１つ以上のＥＰＧデータファイルから受け取ったＥＰＧデータをＨＴＭＬ５  ＥＰＧアプリケーションに提供するためのＥＰＧデータマネージャモジュールであって、ＥＰＧデータが、スクリプト可能なデータオブジェクトによってＥＰＧデータウィンドウに提供され、スクリプト可能なデータオブジェクトは、表示装置上のユーザインタフェース内にＥＰＧデータウィンドウをレンダリングするためにＥＰＧアプリケーションに提供される、ＥＰＧデータマネージャモジュールと、を備えている。
【０００７】
本開示の別の態様によれば、プロセッサによって、表示装置上に表示されたユーザインタフェース内に電子番組ガイド（ＥＰＧ）を生成する方法が提供され、その方法は、表示装置上に表示されたユーザインタフェース内にＨＴＭＬ５  ＥＰＧアプリケーションで表示されるＥＰＧデータウィンドウを決定する工程と、決定されたＥＰＧデータウィンドウに基づいて、ＥＰＧデータから少なくとも１つのスクリプト可能なデータオブジェクトを生成する工程と、表示装置上に表示されたユーザインタフェース内でのＥＰＧデータのレンダリングを命令するために、生成されたスクリプト可能なデータオブジェクトをＨＴＭＬ５  ＥＰＧアプリケーションに提供する工程と、を含む。
【０００８】
本開示のさらに別の態様によれば、プロセッサによって、表示装置上に表示されたユーザインタフェース内に電子番組ガイド（ＥＰＧ）を生成するための命令を含む非一時的コンピュータ記憶メモリが提供され、それらの命令は、表示装置上に表示されたユーザインタフェース内にＨＴＭＬ５  ＥＰＧアプリケーションで表示されるＥＰＧデータウィンドウを決定する工程と、決定されたＥＰＧデータウィンドウに基づいて、ＥＰＧデータから少なくとも１つのスクリプト可能なデータオブジェクトを生成する工程と、表示装置上に表示されたユーザインタフェース内でのＥＰＧデータのレンダリングを命令するために、生成されたスクリプト可能なデータオブジェクトをＨＴＭＬ５  ＥＰＧアプリケーションに提供する工程と、を含む。
【図面の簡単な説明】
【０００９】
本開示のさらなる特徴および利点は、添付図面とともに解釈すれば、以下の詳細な説明から明らかになるであろう。
【図１】図１は、電子番組ガイドの図を示す。
【図２】図２は、ＥＰＧシステムの図を示す。
【図３】図３は、ＥＰＧデータセットおよびデータウィンドウの図を示す。
【図４】図４は、ＥＰＧを表示するためのシステムの図を示す。
【図５】図５は、ＥＰＧデータマネージャモジュールの方法を示す。
【図６】図６は、ＥＰＧアプリケーションでＥＰＧデータウィンドウを表示する方法を示す。
【図７】図７は、ＥＰＧアプリケーションでＥＰＧデータウィンドウを表示する別の方法を示す。
【図８】図８は、概観ファイルを用いて、ＥＰＧデータウィンドウを表示する方法を示す。
【発明を実施するための形態】
【００１０】
添付図面全体を通して、同様の形状構成が同様の符号によって特定されていることに気付くであろう。以下、ほんの一例として、図１〜図８を参照して実施形態を説明する。より有効な電子番組ガイド（ＥＰＧ）をＨＴＭＬ５実装で提供、すなわち、ＨＴＭＬ５  ＥＰＧアプリケーションまたはＥＰＧアプリケーションの機能を提供するために、ＪＳ等のインタプリタ型言語を用いてもよいＨＴＭＬ５ブラウザベースのプラットフォームで実行されるＥＰＧアプリケーションとインタフェースをとるためのＥＰＧデータマネージャが設けられる。ＨＴＭＬ５  ＥＰＧアプリケーションのレンダリング機能を命令するためのＥＰＧデータを効率的に管理するために、中間イベントハンドラを設けてもよい。ＥＰＧデータマネージャは、メモリ効率が良く、良好なパフォーマンスを実行でき、およびＥＰＧの表示からＥＰＧデータ管理、展開およびナビゲーションをアンロードすることによりカスタマイズするのが容易であるＨＴＭＬ５  ＥＰＧアプリケーションを可能にする。イベントハンドラは、ＥＰＧデータマネージャとＥＰＧアプリケーションとのインタフェースをとって、ＥＰＧデータマネージャからのＥＰＧイベントを提供し、およびそのＥＰＧをレンダリングするようにＥＰＧアプリケーションに命令する。イベントハンドラは、ＨＴＭＬ５  ＥＰＧアプリケーションが、ＥＰＧデータの表示ウィンドウを構成することを可能にする機能を実行できるＪＳ等のスクリプト言語を用いて設けることができる。イベントハンドラは、ＥＰＧデータを、ＥＰＧデータマネージャから受け取ったスクリプト可能なデータオブジェクトに基づいてＥＰＧデータをレンダリングすべきときをＨＴＭＬ５  ＥＰＧアプリケーションに通知する。イベントハンドラを通過したデータの構成は、ＨＴＭＬ５  ＥＰＧアプリケーションが、最小限の労力でその表示を更新することを可能にするために、ＥＰＧ表示ウィンドウ内のどのチャンネルおよび番組が「追加済み」、「削除済み」、または「更新済み」であるかを通知するであろう。また、各スクリプト可能なデータオブジェクトは、スクリプト可能なデータオブジェクトをレンダリングする際にＥＰＧアプリケーションを補助するための情報も含んでいる。追加情報は、各スクリプト可能なデータオブジェクトのためのＣＳＳセレクタの構成に組み込まれる可能性があり、または、限定されないが、例えば、ＳＶＧ、Ｃａｎｖａｓ、ＷｅｂＧＬおよび他の別のもの等のＨＴＭＬ５統合表示技術という他の態様が、ＥＰＧを表示するのに用いられる場合には、統合されたものとして提供されてもよい。ＥＰＧアプリケーションは、ＥＰＧデータを迅速にレンダリングするために、スクリプト可能なデータオブジェクトを表すＨＴＭＬ表示要素に、ＣＳＳセレクタ値を適用することができる。ＣＳＳセレクタ値は、ＥＰＧサービスおよび番組の属性に基づいて決められる。このアプローチは、完全なＵＩ柔軟性／カスタマイズのために、ＥＰＧアプリケーションのレンダリングをＨＴＭＬ５で完全に行えるようにしながら、最適なパフォーマンスおよびメモリ使用量のためのネイティブコードで、ＥＰＧデータの管理およびナビゲーションを可能にする。
【００１１】
追加方法が図７に図示されている。この方法では、ＨＴＭＬアプリケーションは、ＥＰＧデータマネージャを呼び出して、ユーザが要求したナビゲーションに基づいて、ＥＰＧデータのウィンドウを取得することによって、ＥＰＧ表示のナビゲーションを管理する。この実施形態は、ＨＴＭＬアプリケーションが、アプリケーションナビゲーションルールに基づいて、ＥＰＧデータウィンドウのサイズを動的に変化させることを可能にしている。ＨＴＭＬアプリケーションは、取得したいＥＰＧデータウィンドウのサイズに関する構成情報を有するＥＰＧデータマネージャを呼び出し、および要求されたＥＰＧデータウィンドウのデータが表示に利用できるときを通知するようにイベントハンドラを呼び出す。そして、ＥＰＧデータマネージャは、（まだキャッシュに格納されていない場合）要求されたＥＰＧデータを取得して、そのデータを、設けられたイベントハンドラによってＨＴＭＬアプリケーションに返すことになる。
【００１２】
図１は、テレビ受像機等の表示装置１００に表示されるＥＰＧの図を示す。ＥＰＧ１０２は、例えば、テレビ受像機、タブレット、スマートフォン等のディスプレイと一体化された機能を処理することによって、または、デジタルメディアレシーバ、例えば、ケーブル、衛星、有線または無線ネットワークとインタフェースをとって番組情報をテレビ受像機のディスプレイに提供することができるセットトップボックス装置等の外部装置によって、ディスプレイ上に表示することができる。コンテンツは、ＩＰＴＶ等のインターネットプロトコル（ＩＰ）サービスによって、その装置に配信することができる。ＥＰＧは、さまざまな構成で表示することができるが、それは、典型的には、時間範囲または時間軸と、番組の開始時間および終了時間に関連して配置される番組名を表示するチャンネル範囲およびチャンネル軸とを有するＥＰＧデータウィンドウを備えているグリッド１０４に表示される。しかし、ＥＰＧは、別に、２つのチャンネルと、「現在」および「次の」番組情報を有する２つの固定幅の行を示すＺａｐグリッド、または、１つのチャンネルに対して、すべての番組を列で示す１つのチャンネルグリッド等の異なる構成で表示してもよい。ユーザは、方向指示入力によってグリッドを選択的にナビゲートして、視聴および可能であれば録画のために番組を選択することができる。番組内容、レーティング、録画ステータス、期間、俳優、放送日、エピソード等の特定の番組に関するメタデータも表示することができる。ＥＰＧアプリケーションは、多数の日にわたって、典型的には、限定するものではないが、７〜１４日間にわたってナビゲートできるデータを提供することが可能であってもよいが、表示装置１００の表示領域により、常に表示することができるのは、ＥＰＧデータの限定された部分のみである。データ取得、データ展開、ナビゲーション、構成およびレンダリング等のすべての機能がＨＴＭＬ５ブラウザ内で実行される場合、ユーザがＥＰＧの中を移動させるから、集中的な表示のために、ＥＰＧデータを取得して構成しなければならない。
【００１３】
ＥＰＧ１０２は、表示装置１００のプロセッサまたはデジタルメディアレシーバ２００によって実行されたＨＴＭＬ５プラットフォームベースのＥＰＧアプリケーションによって生成される。ＨＴＭＬ５  ＥＰＧアプリケーションは、ユーザインタフェースをレンダリングして、外観および表示の柔軟性をもたらすために、ＨＴＭＬ５を用いて、構成および表示のためのＥＰＧデータを挿入する。ＨＴＭＬ５アプリケーションは、典型的には、ＥＰＧデータを受け取って処理し、およびユーザフィードバックおよび遷移を決定するために、ユーザインタフェースの表示動作を記述するためのカスケーディングスタイルシート（ＣＳＳ）を用いる。さらに、ＥＰＧユーザインタフェースの実装部分およびＣＳＳプロパティの制御を介したデータ相互作用ならびに他のＨＴＭＬ５統合表示技術、例えば、ＳＶＧ、Ｃａｎｖａｓ、ＷｅｂＧＬおよび他の別のものを実装するためにＪＳを用いてもよい。ＨＴＭＬ５は、ユーザインタフェースを容易に実装できるようにする柔軟性を提供するが、ＥＰＧユーザインタフェースは、ＨＴＭＬ５  ＥＰＧアプリケーション内でＥＰＧデータを処理する場合の増加したメモリ要件によるＥＰＧ表示に要する基本的なデータ処理機能に関連している場合の柔軟性を制限する可能性がある。
【００１４】
図２は、ＥＰＧシステムの図を示す。ＥＰＧ１０２は、表示装置１００に表示することができるが、表示装置１００と直接一体化されたプロセッサによって、または、セットトップボックス等の外部のデジタルメディアレシーバ２００によって生成してもよい。表示装置１００／デジタルメディアレシーバ２００は、ネットワーク２１０にアクセスして、ＥＰＧデータおよび番組コンテンツを視聴のために受信または取得することが可能である。ネットワーク２１０は、ＩＰＴＶサービスを提供するためのインターネット等のパケット交換網であってもよい。サーバ２２０は、表示装置１００およびデジタルメディアレシーバ２００等の多数のコンシューマ装置によるアクセスのために、ＥＰＧデータ２３２および概観データ２３４を格納している。ＥＰＧデータ２３２および概観データ２３４は、１つのデータファイルで、または、圧縮データファイル内の多数のセグメント２３２ａ，・・・，２３２ｎで格納装置２３０に格納される。これらのデータファイルは、ｚｉｐ、ｇｚｉｐ、ｔａｒ、ｒａｒまたは独自の方法等の公知の圧縮形式を用いて圧縮することができる。特定の実装に依存して、圧縮されたデータファイルは、期間により、およびチャンネル、コンテンツ、ソース、番組の種類または他のメタデータ分野から成る群によってセグメント化することができる。ＥＰＧデータ２３２がセグメントで提供される場合、その期間は、例えば、３時間内のデータとすることができ、同時に、チャンネル群は、多数の範囲、英字のチャンネル関連付けまたは番組パッケージによって定義してもよい。ＥＰＧデータ２３２は、必要な場合に、取得および展開することができ、または、表示装置１００／デジタルメディアレシーバ２００は、ＥＰＧデータのスライディングウィンドウを格納し、およびそれらが利用可能な場合に、新たなデータセグメントをダウンロードすることができる。例えば、表示装置１００／デジタルメディアレシーバ２００は、１４日分のＥＰＧデータを格納し、毎晩、新たなデータファイルまたはセグメントをダウンロードしてもよく、あるいは、表示装置１００／デジタルメディアレシーバ２００は、データが存在していないかまたは表示装置１００／デジタルメディアレシーバ２００において定義されていないＥＰＧ内の位置にユーザがいつ移動したかをサーバ２２０に問い合わせてもよい。あるいは、ＥＰＧデータ２３２は、生のテレビストリーム内の帯域内データにより、徐々に、または、所定期間のデータの定期的ダウンロードとして、表示装置１００／デジタルメディアレシーバ２００に提供することができる。また、ＥＰＧデータは、１つ以上の関連付けられた概観ファイル２３４を有することもできる。各ファイル２３４ａまたは２３４ｂは、７〜１４日等の期間に、高レベルのＥＰＧデータを取得することができる。概観ファイルは、データセグメントよりもサイズをかなり小さくして、より高速の処理を実現できる。例えば、限定するものではないが、チャンネル、番組タイトル、放送日、制作日、ジャンル、レーティング、開始時間および期間等の概観ファイルデータは、フルＥＰＧファイルセグメント２３２として、限定するものではないが、チャンネル、番組タイトル、放送日、制作日、ジャンル、レーティング、開始時間、内容、俳優、アイコン等を含む。ＥＰＧ概観データ２３４は、さらなるまたは追加データを提供するフルＥＰＧデータが取得されて展開されている間に、ＥＰＧの表示を可能にするのに用いることができる。概観ファイルは、追加レベルの詳細によってガイドが構成される間に、ユーザがＥＰＧをより迅速にナビゲートできるように、最小限の情報を提供する。
【００１５】
図３は、ＥＰＧデータセット３００の図を示す。この図は、ＥＰＧデータセット内でＥＰＧが表示するデータ１０４のデータウィンドウを例示することが意図されている。ＨＴＭＬ５  ＥＰＧは、典型的には、ＥＰＧ内でのナビゲーションがＥＰＧグリッド内に限定される番組データを表示するように、２範囲構成で表示される。この範囲は、例えば、チャンネルおよび時間軸に対して相対的にしてもよいが、ＥＰＧ情報は、ジャンルデータ、キャストデータ、言語データ、放送日、内容、時間等の異なるデータと対照させて表示してもよい。また、ＥＰＧデータは、ＥＰＧデータのナビゲーションを可能にするリストまたはカルーセル構造のような別の視覚表示で表示してもよく、および異なるメタデータパラメータに関して順序付けてもよい。グリッドは、典型的には、３０分のブロック３１０に分けられているが、番組は、必ずしもその画成されたブロックと関連付けなくてもよい。１つの番組に必要なブロック３１０の数、または、１つのブロックに関連付けられる番組の数は、関連付けられる番組の開始時間および期間に依存する。フルＥＰＧデータを含むＥＰＧデータは、７〜１４日で構成することができ、および格納のために、より小さなセグメントに分けてもよく、または徐々に配信してもよい。例えば、ＥＰＧデータの部分３２０は、データセグメント２３２ｄによって提供することができ、この場合、ＥＰＧデータウィンドウのためのデータを集めるには、多数のセグメントを要する。より小さな圧縮されたセグメントは、ＥＰＧの部分のみを取得する必要がある場合、ＥＰＧを容易に更新できるようにする。ＥＰＧデータの格納は、番組情報を定義し、およびテーブル形式で構成する必要はないが、各番組がチャンネルと関連付けられているフラットファイル形式で構成する必要があり、およびタイトル、内容、期間、開始時間、レーティング等のメタデータ情報を提供する。表示されたＥＰＧデータ１０４は、複数のＥＰＧデータファイルセグメントにわたる可能性があり、そのため、データウィンドウに基づいて、多数のファイルの展開を必要とする可能性があり、または、大きな圧縮データファイルで提供してもよい。概観ファイルは、複数のガイドデータセグメントにわたる可能性がある各時間エントリに対する高レベルのＥＰＧデータを提供する。概観ファイルは、迅速な処理とガイドデータの生成を提供し、およびより詳細なＥＰＧデータをバックグラウンドで取得および展開できるようにする。ユーザが、ＥＰＧグリッドをナビゲートする際、取得および展開される追加ファイルセグメントを要する表示のために、追加データ項目を要求してもよい。ＨＴＭＬ５または中間プラグインで展開を実行することは、データ表示効率およびリソース消費においては集中的および次善的である可能性がある。ＥＰＧデータマネージャは、ＥＰＧデータを効率的に処理し、ナビゲーション入力を受け取り、表示およびＥＰＧアプリケーション要件への対応に必要なスクリプト可能なデータオブジェクトを決定することができる専用アプリケーションを提供できる。
【００１６】
図４は、ＥＰＧを表示するためのシステムの図を示す。ＥＰＧ１０２は、表示装置１００／デジタルメディアレシーバ２００によって表示される。ＥＰＧ１０２は、メモリ４０６に結合されたプロセッサ４００によって生成される。メモリ４０６は、ＥＰＧ１０２の生成および表示のための命令４１０を含んでいる。表示インタフェース４０４は表示装置１００に結合され、表示インタフェース４０４への接続は、ＥＰＧが、セットトップボックス等のデジタルメディアレシーバ２００によってどこに生成されるか、または、タブレット、スマートフォンまたはスマートテレビ内に直接生成されるかに依存する。有線または無線インタフェースとすることができるネットワークインタフェース４０２は、サーバ２２０に結合された格納装置２３０からの、ＥＰＧ概観データ２３４およびＥＰＧデータ２３２の取得のために、ネットワーク２１０に接続している。命令４１０は、ユーザインタフェースをユーザに表示するためのＨＴＭＬ５ブラウザ４２０を含んでいる。ＥＰＧアプリケーション４２２は、ＥＰＧの視覚的外観を定義するＣＳＳ等のＨＴＭＬ５統合表示技術によって表示することができ、また、ＪＳを用いる機能を提供してもよい。イベントハンドラ４３０は、ＪＳエンジンによって解釈することができ、およびアプリケーションインタフェースをＥＰＧデータマネージャモジュール４４０に提供して、ＥＰＧアプリケーション４２２によって使用されるスクリプト可能なデータオブジェクトを生成して、ＥＰＧデータウィンドウ１０４を更新することができる。
【００１７】
ＥＰＧデータマネージャモジュール４４０は、プラグインとしてＨＴＭＬ５ブラウザ４２０およびＨＴＭＬ５  ＥＰＧアプリケーション４２２に提供してもよい。イベントハンドラ４３０は、ＥＰＧデータマネージャモジュール４４０とＥＰＧアプリケーション４２２との間のＥＰＧデータの転送を容易にするために、所定のインタフェースを提供し、およびナビゲーション入力またはＥＰＧデータまたは時間フレームの変更等のＥＰＧイベントに応答して、ＥＰＧアプリケーション４２２による視覚的更新を開始する。ＥＰＧデータマネージャモジュール４４０は、ナビゲーション、キャッシュ格納およびビューウィンドウ管理等のＥＰＧアプリケーション４２２のすべての複雑な機能に対応する。ＥＰＧデータマネージャ４００は、ＨＴＭＬ５／ＪＳブラウザ内のモジュールとして、または、ハードウェア命令セットに直接コンパイルするためのＣおよびＣ＋＋等のコンパイラ型中間レベル言語製品であるネイティブコードアプリケーションとして提供できる。ナビゲーション入力、または、時間遷移または番組情報変更等のＥＰＧデータセットの変更に応答して、ＥＰＧデータマネージャモジュール４４０は、ＥＰＧアプリケーション４２２で表示されるビューウィンドウのためのデータを決定する。ＥＰＧデータマネージャモジュール４４０は、ナビゲーションまたはＥＰＧデータ変更を反映して、ＵＩに表示されるＥＰＧデータのサブセットを修正するために、データウィンドウを更新するのに必要なＥＰＧデータを決定する。ＥＰＧデータマネージャモジュール４４０は、まだキャッシュに格納されていない場合、必要なＥＰＧデータセグメントを取得し、そのデータを展開して、イベントハンドラ４３０を介してデータオブジェクトをＥＰＧアプリケーション４２２に提供して、ＥＰＧデータウィンドウを更新する。イベントハンドラ４３０は、ビューウィンドウが既に更新されている場合に、ＥＰＧコンポーネントをレンダリングするようにＥＰＧアプリケーション４２２に命令する。イベント駆動型インフラストラクチャは、ＥＰＧユーザインタフェースディスプレイの部分が、更新され、およびＥＰＧアプリケーション４２２に関する処理要件を制限する必要がある場合をＨＴＭＬ５  ＥＰＧアプリケーション４２２に通知する。スクリプト可能なデータオブジェクトをイベントハンドラ４３０に提供するＥＰＧデータマネージャモジュール４４０からの呼び出しは、ＥＰＧデータの更新をＥＰＧアプリケーション４２２に提供して、ユーザインタフェースにプッシュ配信することを可能にする。ＥＰＧ表示を所定のＥＰＧデータによって更新する必要があることをユーザインタフェースに通知するためのＥＰＧデータ更新、ＥＰＧ可視タイムスロットを更新する必要があることをユーザインタフェースに通知するためのタイムスロット更新、または、ユーザインタフェース内に表示される、ユーザが選択した番組の変更を通知するためのフォーカス／選択更新を実行する機能が行われてもよい。
【００１８】
図５は、ＥＰＧデータマネージャモジュール４００を示す。ＨＴＭＬ５  ＥＰＧアプリケーション４２２は、アプリケーションプログラミングインタフェース（ＡＰＩ）のセットを呼び出し、およびＥＰＧデータウィンドウを特定するパラメータ（例えば、チャンネルの数、時間範囲）と、チャンネル／番組属性およびイベントハンドラコールバックに基づくＣＳＳセレクタ値等の追加データを生成することによって、ＥＰＧデータマネージャモジュール４４０を構成する。イベントハンドラ４３０は、構成パラメータをＥＰＧデータマネージャに提供する（ステップ５０２）。その構成に基づいて、ＥＰＧデータマネージャは、ＥＰＧデータウィンドウを決定し（ステップ５０４）、およびＥＰＧデータウィンドウのためのＥＰＧデータの決定された関連部分のための圧縮されたデータファイルを取得することができる。ナビゲーションイベント等のＥＰＧイベントは、ＡＰＩ（例えば、次のチャンネル、前のチャンネル、次の番組、前の番組、チャンネルに移動および特定の時間に移動）を呼び出し、ナビゲーションイベントをＥＰＧデータマネージャ４４０に提供するＥＰＧアプリケーション４２２によって引き起こされる（ステップ５０６）。あるいは、ＥＰＧイベントは、ＥＰＧデータの変更、または、ＥＰＧアプリケーション４２２にプッシュ配信されるＥＰＧデータウィンドウの変更を引き起こすであろう時間の変更に基づいて、ＥＰＧデータマネージャ４００によって引き起こされるＥＰＧデータイベントであってもよい（ステップ５０６）。構成されたＥＰＧデータウィンドウに基づいて、ＥＰＧデータマネージャ４４０は、オブジェクト（チャンネル、番組）を追加し、削除し、または更新し、スクリプト可能なデータオブジェクトを生成することによって、各追加されたか、または更新されたオブジェクトに対して、ＥＰＧイベントに関連付けられるデータを決定して、ＥＰＧデータウィンドウを更新することになる（ステップ５０８）。ＥＰＧデータは、ＥＰＧデータマネージャモジュール４４０によってスクリプト可能なデータオブジェクトに構成されて、ＥＰＧデータウィンドウの表示を更新する必要があることをイベントハンドラ４３０に通知するために、イベントハンドラ４３０に提供される（ステップ５１０）。イベントハンドラ４３０に提供されたスクリプト可能なデータオブジェクト内のデータは、ＥＰＧアプリケーション４２２が、ＥＰＧデータウィンドウのどの外観を更新、削除、追加すべきか、または変更しないかを理解して、ＥＰＧアプリケーション４２２が効率よく表示を更新することを可能にする。また、イベントハンドラ４３０内の情報は、視覚的外観のためのＣＳＳセレクタを、必要に応じて各オブジェクトに提供し、ＥＰＧアプリケーション４２２がＣＳＳを用いて、スクリプト可能なデータオブジェクトの表示要素にそれらのセレクタを簡単に適用することを可能にしている。ＥＰＧアプリケーション４２２は、ＥＰＧデータを取得し、展開し、および構成する何らかの計算を要することなく、スクリプト可能なデータオブジェクトを所望の効果で表示することができ、およびＥＰＧアプリケーションに関する処理要件が低減されるＥＰＧデータを構成する。
【００１９】
図６は、ＥＰＧデータウィンドウを表示する方法のフローチャートを示す。ＥＰＧアプリケーションは、ＥＰＧデータウィンドウを定義するパラメータをＥＰＧデータマネージャに提供する（ステップ６００）。そのデータウィンドウは、表示装置に示されるユーザインタフェースビューに基づいてＥＰＧに表示されるのに必要であるデータの範囲を定義する。例えば、ＥＰＧをアクティブにする場合、そのデフォルトのウィンドウは、現在時間と、現在見ているチャンネルに関して定義されたチャンネルの一覧とに基づいていてもよい。ＥＰＧデータマネージャは、リモートサーバからＥＰＧデータを取得するか、または受信する（ステップ６０２）。そのＥＰＧデータは、１つの圧縮ファイルで徐々に提供されるか、または、ＥＰＧのセグメントに対して定義して提供してもよく、例えば、ＥＰＧは、３時間にわたってもよく、および広範囲のチャンネルをカバーしてもよい。ＥＰＧデータは、中央プロセッサで更新されて格納され、サービスプロバイダに配信される。例えば、７日分のフルＥＰＧを提供するために、データは、ＥＰＧを完成させるのに必要である可能性がある圧縮ファイルの形式の数百のＥＰＧデータセグメントによって表すことができる。ＥＰＧを多数のファイルセグメントに分割することにより、必要に応じて追加される個々のセグメントでＥＰＧを徐々に更新することができる。あるいは、ＥＰＧは、徐々に提供することができ、または、更新時にフルＥＰＧデータウィンドウを提供するフル定期更新として提供してもよい。ＥＰＧイベントは、ＥＰＧアプリケーション内でのユーザインタラクションから、例えば、ナビゲーション入力からＥＰＧデータマネージャによって受け取られて、ＥＰＧデータマネージャに送られるか、または、ＥＰＧデータの変更は、ＥＰＧデータマネージャによって決定される（ステップ６０４）。ＥＰＧビューがＥＰＧアプリケーション内に表示されると、ＥＰＧデータマネージャは、ＥＰＧイベントに関連付けられたＥＰＧデータウィンドウのサイズおよび範囲を決定する（ステップ６０６）。例えば、１つの行のみが更新される、ＥＰＧ内の徐々に増加する１つの行移動、または、ディスプレイ内のすべてのデータが更新されるページ増加である。さらに、ＥＰＧデータウィンドウは、ＥＰＧを表示するために選択された現在の表示と、どのくらいの情報をその表示で見ることができるかに依存する。例えば、典型的なグリッド構成は、特定の期間に対して、多数のチャンネルを垂直方向に、例えば、３時間に対して５つのチャンネルを示してもよい。ＥＰＧは、例えば、複数のチャンネルが水平方向に表示されるか、または、１つのチャンネルに対して表示される別の構成で表示してもよい。受け取ったＥＰＧイベント、例えば、ＥＰＧグリッド内で移動する、新たなチャンネル群を表示する、表示される期間を変更する、等のナビゲーションイベントに基づいて、ＥＰＧデータマネージャは、要求されたデータが利用可能であるか否か、および関連付けられるスクリプト可能なデータオブジェクトを生成するために既に展開されているか否かを決定する。ＥＰＧデータが既にキャッシュに格納されている場合（ステップ６０８におけるＹＥＳ）、そのＥＰＧデータは、新たな情報を表示するのに必要なスクリプト可能なデータオブジェクトに構成される（ステップ６１０）。イベントハンドラに提供されるＥＰＧデータ属性に基づく表示ＣＳＳセレクタとともに、「追加済み」、「更新済み」、「削除済み」、「変更なし」等のステータス動作を定義することができる。そして、イベントハンドラは、更新されたスクリプト可能なデータオブジェクトを用いて、ユーザインタフェースを更新してレンダリングするようにＥＰＧアプリケーションに命令する（ステップ６１４）。その結果、ＥＰＧアプリケーションは、ＥＰＧをレンダリングして、選択されたＥＰＧデータウィンドウを表示することができる（ステップ６１６）。ＥＰＧデータがまだ展開されていない場合は（ステップ６０８におけるＮＯ）、そのデータウィンドウのための適切なファイルセグメントが決定されて取得されるか（ステップ６１８）、または、ＥＰＧデータの更新バージョンに対する要求がサーバに送られる。取得されたファイルは展開されて（ステップ６２０）、更新されたＥＰＧデータが、スクリプト可能なデータオブジェクトに構成される（ステップ６１０）。あるいは、スクリプト可能なデータオブジェクトは、ＥＰＧが見られているときの時間または番組情報の変更に基づくＥＰＧデータの変更等のＥＰＧデータイベントに応答して生成することができる。スクリプト可能なデータオブジェクトが、ＥＰＧイベントによって生成されると、ＥＰＧデータマネージャは、要求されたオブジェクトを決定して、イベントハンドラにオブジェクトを渡すことになる。
【００２０】
図７は、ＥＰＧデータウィンドウを表示する別の方法のフローチャートを示す。ＥＰＧアプリケーションは、ＡＰＩを呼び出してＥＰＧデータマネージャに提供し、ＥＰＧデータウィンドウおよびイベントハンドラにパラメータを提供する（ステップ７００）。要求されたＥＰＧデータが既にキャッシュに格納されている場合（ステップ７０２におけるＹＥＳ）、そのＥＰＧデータは、スクリプト可能なオブジェクトに構成される。そして、ＥＰＧデータマネージャは、提供されたイベントハンドラを介して、そのスクリプト可能なＥＰＧデータオブジェクトをＥＰＧアプリケーションに返す（ステップ７０６）。その結果、ＥＰＧアプリケーションは、要求されたＥＰＧデータをレンダリングすることができる（ステップ７０８）。ＥＰＧデータが、まだ展開されていない場合は（ステップ７０２におけるＮＯ）、要求されたデータウィンドウのための適切なファイルセグメントが取得されて（ステップ７１０）、展開され（ステップ７１２）、そのスクリプト可能なデータオブジェクトが生成される（ステップ７０４）。
【００２１】
図８は、概観ファイルを用いてＥＰＧデータウィンドウを表示する方法を示す。ＥＰＧアプリケーションは、ＡＰＩを呼び出してＥＰＧデータマネージャに提供して、所定期間、ＥＰＧデータウィンドウおよびイベントハンドラにパラメータを提供する（ステップ８００）。要求された期間をカバーする概観ファイルが取得される（ステップ８０２）。その期間のフルＥＰＧデータが既にキャッシュに格納されている場合（ステップ８０４におけるＹＥＳ）、そのＥＰＧデータは、スクリプト可能なオブジェクトに構成される（ステップ８１４）。そして、ＥＰＧデータマネージャは、提供されたイベントハンドラを介して、スクリプト可能なデータオブジェクトをＥＰＧアプリケーションに返す。その結果、ＥＰＧアプリケーションは、要求されたＥＰＧデータをレンダリングすることができる（ステップ８１６）。ＥＰＧデータがまだ展開されていない場合（ステップ８０４におけるＮＯ）、スクリプト可能なデータオブジェクトが、概観ファイル内に提供されているデータからＥＰＧのために生成され（ステップ８０６）、ＥＰＧガイドデータが、概観データを用いてレンダリングされる（ステップ８０８）。要求されたデータウィンドウのためのフルデータを有する１つ以上のデータファイルセグメントが決定されて取得され（ステップ８１２）、バックグラウンドで展開される（ステップ８１２）。次いで、スクリプト可能なデータオブジェクトが、フルＥＰＧデータから生成される（ステップ８１４）。次に、ＥＰＧデータマネージャは、提供されたイベントハンドラを介して、スクリプト可能なＥＰＧデータオブジェクトをＥＰＧアプリケーションに返し、その結果、ＥＰＧアプリケーションは、フルデータセットを用いて、要求されたＥＰＧデータをレンダリングすることができる（ステップ８１６）。上記方法は、ＥＰＧをユーザに表示できるようにして、まず、概観情報を提供することにより、表示の遅れを伴うことなく、視聴およびナビゲーションを可能にし、追加データが取得される際に、追加またはフルレベルの詳細な番組情報をＥＰＧに提供する。
【００２２】
図３を参照すると、ＥＰＧデータマネージャは、ＥＰＧデータウィンドウのほとんどのためのデータを有していてもよく、例えば、ファイルセグメント１〜３が既に展開されているのに対して、そのウィンドウの一部は、利用可能ではなく、ファイルセグメント４が取得されおよび／または展開されることを要求するであろう。さらに、ＥＰＧデータマネージャは、ナビゲーションを迅速にするために、または、直前の動作に基づいて、ＥＰＧの外観およびフルデータを順を追って展開するために、ＥＰＧデータウィンドウの周囲にバッファウィンドウを維持してもよい。
【００２３】
グリッド形式ＥＰＧに関連する実施について説明したが、実施は、カルーセルナビゲーション等の他の実施で利用してもよい。さらに、ＨＴＭＬ５について説明してきたが、上記のシステム、方法およびコンピュータ記憶メモリは、ＨＴＭＬ５のフレームワークに基づく将来の規格に適用可能であってもよい。
【００２４】
いくつかの実施形態において、何らかの適切なコンピュータ記憶媒体を、本願明細書に記載されている方法を実行するための命令を格納するのに用いることができる。例えば、いくつかの実施形態において、コンピュータ記憶媒体は、一時的または非一時的とすることができる。例えば、非一時的コンピュータ記憶媒体は、磁気媒体（例えば、ハードディスク等）、光媒体（例えば、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク（登録商標）等）、半導体メディア（例えば、フラッシュメモリ、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭ）、電気的プログラマブル消去可能読み出し専用メモリ（ＥＥＰＲＯＭ）等）、伝送中に表面上のいかなる永続性が消えたりまたは欠けたりしない何らかの適切な媒体、および／または何らかの適切な有形媒体等の媒体を含むことができる。
【００２５】
上記の説明は、いくつかあるコンポーネントの中で、特に、ハードウェア上で実行されるソフトウェアを含む、方法、システムおよび装置の実施例を開示しているが、そのような方法および装置は、単なる一例にすぎないことを注意するべきであり、また、限定するものと見なすべきではない。例えば、それらのハードウェアおよびソフトウェアコンポーネントのうちのいくつかまたはすべてを、ハードウェアだけで、ソフトウェアだけで、ファームウェアだけで、または、ハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合せで具体化できることが熟考されている。したがって、上記は、実施例の方法および装置について記載しているが、当業者は、記載されている実施例が、そのようなシステム、方法および装置を実施する唯一の方法ではないことを容易に認識するであろう。
【図１】
2016522624.tif 000003
【図２】
2016522624.tif 000004
【図３】
2016522624.tif 000005
【図４】
2016522624.tif 000006
【図５】
2016522624.tif 000007
【図６】
2016522624.tif 000008
【図７】
2016522624.tif 000009
【図８】
2016522624.tif 000010
【国際調査報告】
2016522624.tif 000011
2016522624.tif 000012
2016522624.tif 000013