(57)【要約】        本発明の実施例は番組セレクションのためのユーザー・インターフェイスをナビゲートするための技術である。複数の番組セルが電子番組ガイド(EPG)格子に構成されている。可視インジケータはユーザーコマンドに応答して可視ウィンドウ内の現在列から次の位置に移動する。次の位置は複数の番組セルにおける１の番組セルに対応している。次の位置は現在の列か次の列に存在している。可視インジケータはユーザーコマンドに応答して移動する。ユーザーコマンドは右へ移動か左へ移動のいずれかである。
2006508612.tif 000002
【特許請求の範囲】
【請求項１】
電子番組ガイド(EPG)格子の複数の番組セルについての番組情報を表示している可視ウィンドウと；
その可視ウィンドウにおける可視インジケータと、により構成され；
上記可視インジケータは右へ移動ユーザーコマンドと左へ移動ユーザーコマンドの１のコマンドにより現在列での現在位置から次の位置に移動し、上記次の位置は複数の番組セルにおける１の番組セルに対応しており、上記番組セルは他の列の中に存在している、ユーザー・インターフェイス。
【請求項２】
上記可視ウィンドウで現在表示されている列の範囲内で、上記右へ移動あるいは左へ移動のコマンドが実行されて、可換性が達成される、請求項１のユーザー・インターフェイス。
【請求項３】
上記視覚インジケータは：
上記複数の番組セルを横切って、ユーザーコマンドに応答して移動する情報ラインにより構成される、請求項１のユーザー・インターフェイス。
【請求項４】
上記情報ラインは次の位置が番組セルの開始と一致して整列するように移動される、請求項３のユーザー・インターフェイス。
【請求項５】
番組インクリメントの最初の境界が決定され、上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置から最小限表示ピリオドより小さい場合には、その最初の境界は少なくとも上記次の位置の前あるいは後に少なくとも最小限表示ピリオドを有する位置に発生し； そして最初の境界が可視ウィンドウの終了位置あるいは開始位置のいずれか１つとなるように可視ウィンドウをスクロールする、請求項４のユーザー・インターフェイス。
【請求項６】
情報点および情報損失点が決定され、その新情報点と情報損失点は、右へ移動コマンドの場合は、番組セルのそれぞれ開始位置と終了位置であり、またその新情報点と情報損失点は、左へ移動コマンドの場合は、番組セルのそれぞれ終了位置と開始位置であり、そして上記次の位置は、右へ移動コマンドの場合は、最先の情報損失の点よりも先に存在する最後の新情報点の位置であり、また上記次の位置は、左へ移動コマンドの場合は、最後の情報損失の位置である、請求項３のユーザー・インターフェイス。
【請求項７】
上記情報ラインは次の位置に移動され、 そして上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置のいずれかから最小限表示ピリオドより小さい場合には、その可視ウィンドウはスクロールされる、請求項６のユーザー・インターフェイス。
【請求項８】
上記情報ラインは次の位置が可視ウィンドウの外になる場合には換わりの点に移動され、その換わりの点は、右へ移動コマンドの場合は、可視ウィンドウの終了位置から少なくとも最小限表示ピリオドだけ先行している最後の最新情報点の位置であり、またその換わりの点は、左へ移動コマンドの場合は、可視ウィンドウの開始位置から少なくとも最小限表示ピリオドだけ後の最新情報点の位置である、請求項７のユーザー・インターフェイス。
【請求項９】
上記可視インジケータは：
ユーザーコマンドに応答して移動するハイライトされた番組セルであり；
ユーザーコマンドが右へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの終了をも越えて可視ウィンドウの開始位置が移動しないように可視ウィンドウを右にスクロールし、
ユーザーコマンドが左へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの開始をも越えて可視ウィンドウの終了位置が移動しないように可視ウィンドウを左にスクロールする、請求項１のユーザー・インターフェイス。
【請求項１０】
補足の情報を表示するための補足領域がさらに設けられ、その補足の情報は番組セル関連している、請求項１のユーザー・インターフェイス。
【請求項１１】
複数の番組セルについての番組情報を可視ウィンドウに表示し、その複数の番組セルは電子番組ガイド(EPG)格子となっており；
その可視ウィンドウにおける可視インジケータを、右へ移動ユーザーコマンドと左へ移動ユーザーコマンドの１のコマンドに応答して現在列での現在位置から次の位置に移動し、上記次の位置は複数の番組セルにおける１の番組セルに対応しており、上記番組セルは他の列の中に存在している、方法。
【請求項１２】
上記可視インジケータの移動は、上記可視ウィンドウで現在表示されている列の範囲内で、上記右へ移動あるいは左へ移動のコマンドが実行されて、可換性が達成される、請求項１１の方法。
【請求項１３】
上記視覚インジケータの移動は：
上記複数の番組セルを横切って、ユーザーコマンドに応答して移動する情報ラインの移送により構成される、請求項１１の方法。
【請求項１４】
上記情報ラインの移動は次の位置が番組セルの開始と一致して整列するように実行される、請求項１３の方法。
【請求項１５】
上記情報ラインの移動は；
番組インクリメントの最初の境界が決定され、上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置から最小限表示ピリオドより小さい場合には、その最初の境界は少なくとも上記次の位置の前あるいは後に少なくとも最小限表示ピリオドを有する位置に発生し；そして
最初の境界が可視ウィンドウの終了位置あるいは開始位置のいずれか１つとなるように可視ウィンドウをスクロールするように実行する、請求項１４の方法。
【請求項１６】
上記情報ラインの移動は；
情報点および情報損失点が決定され、その新情報点と情報損失点は、右へ移動コマンドの場合は、番組セルのそれぞれ開始位置と終了位置であり、またその新情報点と情報損失点は、左へ移動コマンドの場合は、番組セルのそれぞれ終了位置と開始位置であり；そして
上記次の位置は、右へ移動コマンドの場合は、最先の情報損失の点よりも先に存在する最後の新情報点の位置であり、また上記次の位置は、左へ移動コマンドの場合は、最後の情報損失の位置であるように実行される、請求項１３の方法。
【請求項１７】
上記情報ラインの移動はさらに：
上記情報ラインは次の位置に移動され；そして
上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置のいずれかから最小限表示ピリオドより小さい場合には、その可視ウィンドウはスクロールされるように実行される、請求項１６の方法。
【請求項１８】
上記情報ラインの移動はさらに：
上記情報ラインは次の位置が可視ウィンドウの外になる場合には換わりの点に移動され、その換わりの点は、右へ移動コマンドの場合は、可視ウィンドウの終了位置から少なくとも最小限表示ピリオドだけ先行している最後の最新情報点の位置であり、またその換わりの点は、左へ移動コマンドの場合は、可視ウィンドウの開始位置から少なくとも最小限表示ピリオドだけ後の最新情報点の位置であるように実行される、請求項１６の方法。
【請求項１９】
上記可視インジケータの移動は：
ユーザーコマンドに応答してハイライトされた番組セルを移動し；
ユーザーコマンドが右へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの終了をも越えて可視ウィンドウの開始位置が移動しないように可視ウィンドウを右にスクロールし、
ユーザーコマンドが左へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの開始をも越えて可視ウィンドウの終了位置が移動しないように可視ウィンドウを左にスクロールする、請求項１１の方法。
【請求項２０】
補足の情報を表示するための補足領域がさらに設けられ、その補足の情報は番組セル関連している、請求項１１の方法。
【請求項２１】
そのプロセッサーに接続されたメモリとにより構成され、そのメモリはプログラムコードを格納しており、そのプログラムコードが実行されると、プロセッサーは：
複数の番組セルについての番組情報を可視ウィンドウに表示させ、その複数の番組セルは電子番組ガイド(EPG)格子にあり、そして
可視インジケータを右へ移動ユーザーコマンドと左へ移動ユーザーコマンドの１のコマンドにより現在列での現在位置から次の位置に移動させ、上記次の位置は複数の番組セルにおける１の番組セルに一致しており、上記番組セルは他の列に存在する、システム。
【請求項２２】
上記プロセッサーにより上記可視インジケータの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
上記可視ウィンドウで現在表示されている列の範囲内で、上記右へ移動あるいは左へ移動のコマンドを実行させて、可換性が達成されるプログラムコードである、請求項２１のシステム。
【請求項２３】
上記プロセッサーにより上記可視インジケータの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
情報ラインを上記複数の番組セルを横切って、ユーザーコマンドに応答して移動されるプログラムコードである、請求項２２のシステム。
【請求項２４】
上記プロセッサーにより上記情報ラインの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
上記情報ラインは次の位置が番組セルの開始と一致して整列するように移動されるプログラムコードである、請求項２２のシステム。
【請求項２５】
上記プロセッサーにより上記情報ラインの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
番組インクリメントの最初の境界が決定され、上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置から最小限表示ピリオドより小さい場合には、その最初の境界は少なくとも上記次の位置の前あるいは後に少なくとも最小限表示ピリオドを有数する位置に発生し； そして
最初の境界が可視ウィンドウの終了位置あるいは開始位置のいずれか１つとなるように可視ウィンドウをスクロールするように実行するプログラムコードである、請求項２４のシステム。
【請求項２６】
上記プロセッサーにより上記情報ラインの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
情報点および情報損失点が決定され、その新情報点と情報損失点は、右へ移動コマンドの場合は、番組セルのそれぞれ開始位置と終了位置であり、またその新情報点と情報損失点は、左へ移動コマンドの場合は、番組セルのそれぞれ終了位置と開始位置であり；そして
上記次の位置は、右へ移動コマンドの場合は、最先の情報損失の点よりも先に存在する最後の新情報点の位置であり、また上記次の位置は、左へ移動コマンドの場合は、最後の情報損失の位置であるように実行するプログラムコードである、請求項２３のシステム。
【請求項２７】
上記プロセッサーにより上記情報ラインの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
上記情報ラインは次の位置に移動され；そして
上記次の位置が可視ウィンドウの外にあるかあるいは可視ウィンドウの終了位置あるいは開始位置のいずれかから最小限表示ピリオドより小さい場合には、その可視ウィンドウはスクロールされるように実行するプログラムコードである、請求項２６のシステム。
【請求項２８】
上記プロセッサーにより上記情報ラインの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
上記情報ラインは次の位置が可視ウィンドウの外になる場合には換わりの点に移動され、その換わりの点は、右へ移動コマンドの場合は、可視ウィンドウの終了位置から少なくとも最小限表示ピリオドだけ先行している最後の最新情報点の位置であり、またその換わりの点は、左へ移動コマンドの場合は、可視ウィンドウの開始位置から少なくとも最小限表示ピリオドだけ後の最新情報点の位置であるように実行するプログラムコードである、請求項２６のシステム。
【請求項２９】
上記プロセッサーにより上記可視インジケータの移動を行わせる上記プログラムコードは、それが実行されると上記プロセッサーにより：
ユーザーコマンドに応答してハイライトされた番組セルを移動し；
ユーザーコマンドが右へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの終了をも越えて可視ウィンドウの開始位置が移動しないように可視ウィンドウを右にスクロールし、
ユーザーコマンドが左へ移動コマンドの場合は、可視ウィンドウにおいて当初に可視でなかった複数の番組セル中のどの１の番組セルの開始をも越えて可視ウィンドウの終了位置が移動しないように可視ウィンドウを左にスクロールするプログラムコードである、請求項２１のシステム。
【請求項３０】
上記プログラムコードは、それが実行されると上記プロセッサーにより：
上記番組セル関連している補足の情報を補足領域に表示させるプログラムコードである、請求項２６のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、「電子番組ガイド格子との相互作用のための格子型システムと方法」と題した、２００２年１１月２７日付けの先行米国特許出願番号１０/０６５,８８９による優先権を主張しており、その先行特許出願は、出願係属中である「電子番組ガイド格子との相互作用のためのポイント型システムと方法」と題した２００２年９月１３日に出願の特許出願１０/０６５,０７５の主題内容を含んでおり、本発明と同一の発明者により発明され、本発明と同一の譲受人に譲渡されている。前述の出願中の特許出願による全ての開示内容を、ここに明示して引用し編入する。
【０００２】
本発明は、表示データの相互作用方法に関しており、特に格子（グリッド）フォーマットで表示される電子番組ガイド(EPG)データの相互作用方法に関する。
【背景技術】
【０００３】
EPG情報表示に典型的に用いられている２次元格子には、テレビ番組に対応する格子セルは、垂直(チャンネル)次元では同一のサイズであるが、水平(時間)次元においては、各番組が異なる長さのために、そのサイズが不均一であるという性質がある。さらに、異なるチャンネルのプログラムセルの境界は、互いに整列しないことが頻繁に起こる。これはシンプルで信頼性の高い格子ナビゲーションの方法を提供する上で様々な問題を生じる。格子ナビゲーションのためのコントロールの方法として、リモートコントローラにより「上へ」「下へ」「左へ」そして「右へ」といったコマンドを出す典型的な状況において、これらの問題を解決するための初期の試みは、一貫性がなく予測不能で非効率な方法を提供する結果となっている。より最近のEPG格子には、垂直次元にチャンネルを割り当てるのではなく、代わりに内容のカテゴリー(「ドラマ」、「コメディー」、「スポーツ」など)を格子の各列に割り当てるものもある。しかし、やはり同様な非規則的なセル構造体のために、チャンネル型のEPG格子に起きる問題が、このような新しいタイプのEPG格子にも起こりうり、したがってここに記述する本発明の解決策は、これらの格子にも同様に適用できる。
【０００４】
従って、従来技術のシステムにおける問題を取り除いた、スムーズで、効率的かつエラー影響を受けにくい、EPG格子ナビゲーションを実現できるシステムが必要とされている。この新しいナビゲーション方法に必要とされる性質は、水平移動と平行移動が交換可能（可換性）であるべきという性質であり、これにより特定の格子セルにナビゲートする等価のナビゲーションオプションを増大させるのみならず、どの格子列が有効（アクティブ）になっていても「左へ移動」、「右へ移動」コマンドへの応答が同じであることを確実にする。しかし、ナビゲーションポリシーは、EPG格子への各連続した可視ウィンドウのセルのサイズと位置に応答できなくてはならない。それによって過度で不要なユーザインプットを不要にして、番組の開始時間と継続時間の大きな相違による異常が起きないようにする。水平のナビゲーション方法は、一度に迅速で効率的な番組の比較、異なる時間へ移動、そしてこれらの時間での番組比較をする際に、全てのデータのナビゲートをバックトラックすることを必要とせずに行うことができ、間違った入力からの回復を容易にする方法をサポートする。本発明は、これらおよび他の要求を満足させることができ、現存システムの問題を克服する。
【発明の開示】
【０００５】
本発明の方法によると、水平格子の動作を要求するユーザー入力コマンドに対するシステムの応答は、現在の格子で表示されている全ての列の上のプログラムの開始時間と継続時間を考慮に入れた新規な方法により計算される。この方法に使用された計算により、現在の格子で表示された全ての列について同一の結果をもたらすので、ユーザーによる「左へ移動」コマンドあるいは「右へ移動」コマンドに応答する水平方向の移動は、現在どの列がアクティブであるかにかかわらず、同一の結果となる。この全ての表示された列の上での水平方向の移動の等価性により、表示された格子内での水平動作と垂直動作の交換可能性を保証している。ここで用いている「格子型（グリッドベース）」の語は、このタイプのナビゲーションのために用いられている。それはこのナビゲーションは表示された格子の全体に現れるEPGデータを用いるものであり、格子の単なる一部のデータ（単一列上のデータのように）あるいはか実際のEPGデータから独立した何らかの要因（例えば全体的に不変である「論理的なセルサイズ」あるいは前もって定めた一定価値）を用いるものではない。本発明は、現在アクティブなプログラムを視覚的に示すシステムに用いる方法に応じて、現存するEPGシステムを改良するために、異なる方法としても用いられうる。
【０００６】
本発明の第１の応用例は、「ポイント型の」EPGシステムであり、そのシステムでは、情報ライン(あるいは他のグラフィックな手段)を、現在アクティブなプログラム（番組）を示すために仕様する。本発明は、ポイント型のEPG格子に、改良されたナビゲーションの方法を用いて、１つのセルから他のセルにナビゲートする際に、ユーザーが「バックトラック」する必要性を排除している。本発明のナビゲーション方法を用いることにより、ユーザーが１つの方向に移動して次に反対の方向に移動するというような必要なく、他の全てのセルから各セルに容易に種々のルートからアクセスできる。
【０００７】
本発明の第２の応用例は、２次元のセルのハイライト表示によりアクティブプログラムを示すシステムである。この場合には、格子型方法の使用は、可視ウィンドウをスクロールするための制御に限られている。そのようなシステムでは、可視ウィンドウ内のアクティブプログラムインジケータの動作は、各列で異なる。その相違は、各列の上のプログラムセルの２次元のハイライト表示の相違によるものであり、それはテレビプログラムの異なる開始時刻と継続時間の相違によるものである。しかし、EPGデータに関しての可視ウィンドウの動作は、全ての列について同時であり同量である。したがって、可視ウィンドウの動作を制御するために本発明による格子型方法を用いて、種々の従来のEPGシステムを改良することが可能である。本発明の新規な方法では、格子の全ての列の上のデータを考慮に入れて、水平動作コマンドに応答する可視ウィンドウの動作の適切な量を決定する。
【発明を実施するための最良の形態】
【０００８】
以下の説明で、多数の特定の細部を記述するが、本発明の実施例はこれらの特定の細部なしでも実行できる。また、周知の回路や、構造、技術などは、本発明の説明の理解を不明瞭にさせないために、示されていない。
【０００９】
図１Aは、発明の１つの実施例を実行できるエンターテインメントシステム１００Aを示した図である。エンターテインメントシステム１００Aは、リモートコントローラ５、テレビ１０、受信機１５(例えばDSSあるいは衛星受信機)、CDプレーヤー２０、ビデオレコーダー２５、ビデオディスクプレーヤー３０、ラジオ/ラジオチューナー３５、増幅器４０、テープデッキ４５、オーディオビデオプリアンプ５０、またその組み合わせを含んでいる。受信機１５は、スタンドアローンであってもよいし、テレビ１０に組み込まれていてもよい。リモートコントローラ５は、種々の電子部品に使用するのに適合されている。ユーザー５５は、エンターテインメントシステム１００Aに用いられるこれらの電子部品をコントロールするためにリモートコントローラ５を使用する。リモートコントローラ５は、スタンドアローンであったり、通信装置の一部といった様々な形態を取りうる。リモートコントローラ５は、情報を表示できる画面を持った携帯型のデバイスであってもよく、ワイヤレスのキーボード、そして電子装置をコントロールするワイヤレスのポインティング・デバイスであってもよい。エンターテインメントシステム１００Aにけるデバイスの間のコミュニケーションは、ケーブル(例えば、ビデオ、IR、シリアルなど)か、あるいはワイヤレスの技術によってもよい。リモートコントローラ５は、送信、受信、ユーザー入力に対する処理に適したどんなシステムに用いることができる。
【００１０】
図１Bは、本発明の１つの実施例を実行できるプロセッサーシステム１００Bを示している。プロセッサーシステム１００は、プロセッサー１１０、プロセッサーバス１２０、メモリーコントロールハブ(MCH)１３０、システムメモリ１４０、入出力制御ハブ(ICH)１５０、周辺バス１５５、大容量記憶装置１７０、そして入出力装置１８０１〜１８０Kを含んでいる。プロセッサーシステム１００は、これらの部品より多くの部品又は少量の部品を有して構成してもよい。プロセッサーシステム１００又はその縮小型は、受信機(例えばテレビ、コンピュータ、など)か、リモートコントローラ５、又はその組み合わせの中に組み込まれている。リモートコントローラは、ラジオあるいはBluetoothデバイス、あるいはレーザーなどであってもよい。
【００１１】
プロセッサー１１０は、どのような種類のアーキテクチャのCPUでもよく、例えば、埋め込みプロセッサ、モバイルプロセッサー、マイクロコントローラ、デジタル信号プロセッサ、スーパースカラーコンピュータ、ベクトルプロセッサー、単一命令複数データ(SIMD)コンピュータ、複雑命令セットコンピュータ(CISC)、縮小命令セットコンピュータ(RISC)、非常に長い命令語(VLIW)、あるいはハイブリッドアーキテクチャなどである。
【００１２】
プロセッサーバス１２０は、例えばMCH１３０のような、他のプロセッサーや部品とプロセッサー１１０が通信できるように、インターフェイス信号を提供する。プロセッサーバス１２０は、単一プロセッサあるいはマルチプロセッサ構成をサポートしてもよい。プロセッサーバス１２０は、並列、直列、パイプライン型、非同期型、同期型、またそれらの組み合わせでもよい。
【００１３】
MCH１３０は、メモリーと入出力装置、システムメモリ１４０、そしてICH １５０の制御と構成を提供する。MCH１３０は、孤立のエクシキューションモード、ホストから周辺バスへのインターフェイス、及びメモリー制御のような、複数の機能を統合するチップセットに統合さてもよい。MCH１３０は、周辺バス１６０にインターフェイスする。発明を明瞭にするために、全ての周辺バスを表示してはいない。システム１４０は、周辺機器(PCI)、アクセラレーテッドグラフィックスポート(AGP)、業界標準アーキテクチャ(ISA)バス、ユニバーサルシリアルバス(USB)などの、周辺バスを含んでもよい。
【００１４】
システムメモリ１４０は、システムコードとデータを格納する。システムメモリ１４０は、一般にダイナミックランダムアクセスメモリ(DRAM)か、スタティックランダムアクセスメモリ(SRAM)により実施される。システムメモリ１４０は、本発明の１つの実施例を実施したメモリプログラムコードかコードセグメントを含んでもよい。システムメモリ１４０は、ユーザー・インターフェイスマネジメント１４５を含んできる。ユーザー・インターフェイスマネジメント１４５のどの要素も、ハードウェア、ソフトウェア、ファームウェア、マイクロコード、あるいはその組み合わせによって実施することができる。システムメモリ１４０は、例えばオペレーティングシステムのような、図には示されていないプログラムあるいはデータを含んでいてもよい。ユーザーインターフェイスマネジメント１４５は、プログラムコードを含んでおり、それがプロセッサーによって実行されると、プロセッサー１１０が後述する動作を行う。
【００１５】
ICH１５０は、I/O機能をサポートするように設計された多数の機能を有している。ICH１５０はまた、I/O機能を遂行するために、MCH１３０と共にチップセットにまとめられるか、MCH１３０から分離されていてもよい。ICH１５０は、例えば、周辺バス１６０、プロセッサーインターフェイス、インターラプトコントローラ、ダイレクトメモリーアクセス(DMA)コントローラ、パワーマネジメントロジック、タイマー、システムマネージメントバス(SMBus)、ユニバーサルシリアルバス(USB)、大容量記憶装置インターフェイス、低ピンカウントインターフェイス等とインターフェイスするためのPCIバスインターフェイスのような、多数のインターフェイス及びI/O機能を含んでいてもよい。
【００１６】
大容量記憶装置１７０は、コード、プログラム、ファイル、データ、アプリケーション、そしてオペレーティングシステムなどの、記録を保持する。大容量記憶装置１７０は、コンパクトディスク(CD) ROM １７２、デジタルビデオ/多目的ディスク(DVD)１７３、フロッピー（登録商標）ドライブ１７４、ハードドライブ１７６、フラッシュメモリー１７８、その他の磁気ドライブや光学ドライブを含んでいてもよい。大容量記憶装置１７０は、マシンがアクセス可能な媒体（メディア）により構成している。マシンがアクセス可能なメディアには、コンピュータが読み込める、後述のタスクを実行するプログラムコードを含んでいてもよい。
【００１７】
入出力装置１８０１〜１８０Kは、I/O機能を行うために入出力装置を含んでいる。入出力装置１８０１〜１８０Kの例は、入力装置(例えば、キーボード、マウス、トラックボール、ポインティング・デバイス)、メディアカード(例えば、オーディオ、ビデオ、グラフィックス)、ネットワークカード、及び周辺制御装置のための、コントローラを含んでいる。 本発明の１の実施例において、これらの要素は、ハードウェア、ファームウェア、ソフトウェア、およびその組み合わせによって実施してもよい。ハードウェアという用語は、一般に電子、電磁的、光学的、電子光学的、機械、電気機械部品のような、物理的構造などを持っているエレメントに用いている。ソフトウェアという用語は、一般に論理構造、プロシージャ、メソッド、プログラム、ルーチン、プロセス、アルゴリズム、公式、ファンクション、表現式、などに用いる。ファームウェアという用語は一般に、ハードウェア構造(例えば、フラッシュメモリ、ROM、EROM)に組み込まれたか実施された、論理構造プロシージャ、メソッド、プログラム、ルーチン、プロセス、アルゴリズム、公式、ファンクション、表現式、などに用いている。ファームウェアの例は、マイクロコード、書き込み可能な制御記憶装置、及びマイクロプログラム組み込み構造物を含む。ソフトウェアかファームウェアに実施する時、本発明の実施例の要素は、必要なタスクを遂行するために、本質的にコードセグメントである。ソフトウェア/ファームウェアは、本発明の１つの実施例で述べる作業を行うための実際のコードを含んでもよいし、作業をエミュレート又は模擬するコードを含んでいてもよい。プログラム又はコードセグメントは、プロセッサーかマシーン読み込み可能なメディアに蓄えられるか、搬送波に組み込まれたコンピュータデータ信号によって伝達されるか、キャリアによって変調された信号、もしくは伝達メディアによって伝達される。「プロセッサー可読・アクセス可能メディア」また「機械可読・アクセス可能メディア」は、情報を、蓄積、伝搬、移動できるどのようなメディアも含む。プロセッサー読み込み可能またマシンアクセス可能メディアは、電子回路、半導体メモリデバイス、リードオンリーメモリー(ROM)、フラッシュメモリ、消去可能ROM (EROM)、フロッピー（登録商標）ディスケット、コンパクトディスク(CD) ROM、光ディスク、ハードディスク、光ファイバー媒体、無線周波数(RF)リンク、などを含んでいる。コンピュータデータ信号は、例えば電子ネットワークチャンネル、光ファイバー、空気、電子磁気、RFリンクなどの伝送媒体において伝播できるどのような信号でもよい。コードセグメントは、インターネットやイントラネットのようなコンピュータネットワークによってダウンロードしてもよい。マシンアクセス可能メディアは、マシンがアクセスした時に、後述の作業をマシンが行うようにさせるデータを含んでいてもよい。マシンアクセス可能媒体は、プログラムコードが組み込まれていてもよい。プログラムコードは、後述の作業を行うための、マシーン読み込み可能なコードを含んでいてもよい。ここで、「データ」という用語は、機械読み込み可能とする目的のために符号化されたどのような種類の情報にも用いる。従って、それはプロ��ラム、コード、データ、ファイル、などを含む。
【００１８】
本発明の実施例の全部あるいは一部が、ハードウェア、ソフトウェア、あるいはファームウェア又は、そのどんな組み合わせによっても実施されうる。ハードウェア、ソフトウェア、あるいはファームウェアのエレメントは、お互いに数個のモジュールで結合されていてもよい。ハードウェアモジュールは、機械的、電気的、工学的、電磁的、また、物理的接続によって、他のモジュールと結合されている。ソフトウェアモジュールは、ファンクション、プロシージャー、メソッド、サブプログラム、あるいはサブルーチン呼出し、ジャンプ、リンク、パラメーター、変数、引数受け渡し、ファンクションリターンなどによって、他のモジュールに連結される。ソフトウェアモジュールは、変数、パラメーター、変数、ポインターなどを受けて、またパス結果、更新された変数、ポインターなどを生成するために、他のモジュールと連結している。ファームウェアモジュールは、上述のハードウェアやソフトウェアのどのような組み合わせによっても、他のモジュールに連結されている。ハードウェア、ソフトウェア、あるいはファームウェアモジュールは、どのハードウェア、ソフトウェア、あるいはファームウェアモジュールの１つにも連結されうる。モジュールは、プラットフォームで動くオペレーティングシステムと相互作用するための、ソフトウェアドライバあるいはインターフェイスであってもよい。また、モジュールは、設定、セットアップ、初期化、ハードウェアとのデータの受信をするためのハードウェアドライバであってもよい。装置はまた、ハードウェア、ソフトウェア、ファームウェアモジュールの組み合わせを含んでいてもよい。
【００１９】
１．第１応用例における発明の説明
本発明の第１応用例は、「ポイント型」EPGシステムを改良することである。 以下の説明で、情報ラインを用いるシステムの詳細な例を示す。しかし、本発明は、アクティブプログラムを示す為にグラフィック手段を用いるポイント型システムにも同様に利用できる。そのようなシステムにおいて、「格子型（グリッドベース）」での水平移動を計算する本発明の方法は以下の通りである。「左へ移動」あるいは「右へ移動」コマンドに応答して情報ラインを移動するための前もって定めた最大又は最小の量は存在しない。移動量は、表示された格子列のプログラムの時間と長さから、次のように算出される。
【００２０】
１．  右に移動するとき、情報ラインは、現時点で情報ラインに横切られない番組セル(どんな格子列であっても)の終端を通過するほど遠くに移動しない。そして
２．  左に移動するとき、情報ラインは、現時点で情報ラインに横切られない番組セル(どんな格子列でも)の開始を通過するほど遠くに移動しない。
【００２１】
本発明のナビゲーション方法におけるこれらの２つの性質により、それぞれ右と左の移動により、格子の各プログラムを示すプログラム情報を、格子の他のどの点からも容易にアクセス可能にできる。水平の入力コマンドは、垂直な移動のみによって現在アクセス可能ではない番組を超過して情報ラインを移動することはできないので、水平又は垂直な移動の組み合わせによって、全てのセルが「バックトラック」なしでアクセス可能になる。これは、右に移動する時に、初期状態からの垂直移動だけではアクセス不可能であった番組セルの終点を超過して情報ラインが移動したときにのみ、バックトラックが必要になるからである。同様に、左に移動する時に、初期状態からの垂直移動だけではアクセス不可能であった番組セルの始点（そして終点）を超過して情報ラインが移動したときにのみ、バックトラックが必要になるからである。
【００２２】
バックトラックの必要性を排除することによって、本発明の方法は、前述した非対称な水平移動にともなうユーザーの混乱を大幅に減少できる。例えば、図１８で示すような「ポイント型」方法の実施例が、図１９に示す初期状態から、情報ラインを４.３０pmに移動することによって、「左へ移動」コマンドに応答する方法が前述された（訳者注：このパラグラフの記載は図と不一致のため意味不明）。５pmからそれ以降の開始時間番組を情報ラインが超過することになる。そのため、これらの番組は、後で「右へ移動」コマンドを実行しなければアクセス不可能である。対照的に、後述の格子型方法は、図１９で示した初期状態からの「左へ移動」入力に応答することで６.００pmにのみ左移動する。これは、TOONP６３の６.００-６.３０pmの「Dexter's Laboratory」のエピソードに対応する。
【００２３】
さらに本発明方法の可換的性質と共に鑑みると、上述の性質により、第１番組がアクティブな状態から、別の列の第２番組をアクティブな状態に移動するには常に複数の方法があり、これらの方法のどれもユーザーにバックトラックを要求しないことを確実にしている。実例として、ユーザーが現在アクティブな列の１列下の番組セルに移動し、現在情報ラインに横切られたプログラムの右に移動したいとする。新しい方法は、「右、下」あるいは「下、右」のような（システムが同じ状態になるという意味で同等である）ユーザーコマンドを、連続して入力することが可能であることを確実にしている。さらに、目標セルが現在アクティブな格子セルとは異なる格子列にあろうと、情報ラインに横切られていなくても、現在表示された格子列の番組セルのペアに常に多くのそのような同等のシーケンスが存在している。
【００２４】
従って、この方法は、同じEPGナビゲーション目的を達成するのに用いるユーザー入力コマンドの同等なシーケンスの数を増加させ、情報ライン及び可視ウィンドウのポジションに関して、システムを全く同じ状態にする。本発明は、意図しないシステム状態から復帰する必要を生じさせるような非対称の問題を有することなく、ユーザーが容易に格子の任意な番組にナビゲートできる可能性を向上する。例えば、前述でタイプ１非対称として定義される左右非対称は、２つの異なるタイプの移動を制御する１組の入力コマンドのセットを用いることによる不可避な結果である。しかし、本発明のナビゲーション方法は、ある番組セルから他の番組セルへの、アクティブプログラムインジケータのナビゲーションを行うのに、左移動と右移動の組み合わせは全く必要としない。そのため本発明は、非対称と非可換性により生じる混乱を招く状況を排除している。
【００２５】
しかし、バックトラックの必要性が避けられない状況もある。それは、ユーザーが意図していないコマンドや誤った入力コマンドを出した場合に生じる。そのような場合には、「左へ移動」コマンドを出した後に「右へ移動」コマンドを出したり、その逆をしたりして、水平移動によるシステムの非対称が、初期状態とは大幅に異なった状態になったときに生じる。従って、本発明では、水平移動の非対称性が微細でしかない、様々な変形実施例を提供する。
【００２６】
第１実施例によると、水平移動コマンドに対応する本システムの方法は、EPGデータのいくつかの構成をナビゲートするための効率を犠牲にして、最大の対称性を実現している。この実施例は、単純なナビゲーション方法を提供しており、情報ラインを、指定された移動方向のいずれかの格子列における最も近くの番組境界線に移動させる。
【００２７】
第２実施例によると、本システムの応答は、EPGデータのまれな構成をナビゲートする際の非対称を犠牲にし、より一般的な場合のナビゲーションの効率を最大にしている。システムは、「水平に新しい」番組情報のどの格子の点がアクセス可能なのかを決定するために、格子における可視列のすべての情報を分析する。この説明において、「水平に新しい」情報とは、現在情報ラインに横切られていない番組の補足情報である。これは、初期状態の情報ラインに横切られる全ての番組は、その補足番組情報が垂直スクロールのみでアクセス可能であるからである。従って、「水平に新しい」情報とは、水平スクロールを用いる以外、また垂直スクロールと水平スクロールの組み合わせを用いる以外には、アクセス出来ない情報のことである。情報ラインの各出発点から、「水平に新しい」番組情報がアクセス可能な多くの異なる点が存在する。第２実施例の方法は、前述の一般格子型ナビゲーション方法に、以下に示す第３の性質を加える。
【００２８】
３．  どちらの方向に移動するにも、初期状態で情報ラインに横切られない少なくとも１格子列(必ずしも、現在アクティブな格子列ではない)に示される、番組セルを横切るのに十分なほど離れた位置に情報ラインを移動する。
【００２９】
ナビゲーション方法のこの性質により、格子上での水平移動が、情報理論的な立場から、総合的に効率的であることを確実にする。少なくとも１つの番組のための「水平に新しい」情報が、垂直な移動だけで利用可能な場所に、情報ラインを移動するのに、ユーザは１つ以上のコマンドを出す必要がない。これは、格子列の番組の継続時間あるいは開始時刻にかかわらない(よって、あるタイプのEPGデータにおいては、単一のコマンドに応答して数時間に対応する情報ラインの移動が行える)。第２実施例のナビゲーション方法は、特定の移動方向へより遠くに情報ラインを移動させ、かつ一般方法である上記最初の２つの制限を維持してバックトラックを不要にしている。
【００３０】
本発明の第３実施例によると、ポイント型のEPGシステムに用いる場合、可視ウィンドウのスクロール動作に制限が設けられる。これは、データをナビゲートするにあたり、プログラム情報が見過ごされていないことを提示して、ユーザーを更に安心感を与えることができる。
【００３１】
これらの３つの実施例を、以下のセクションで更に説明する。
【００３２】
１.１  発明の第一実施例： 最大対称性
本発明のこの第１実施例は、従来の「ポイント型」システムに用いているナビゲーション方法の改良である。これは最大の左右の対称性を提供し、どの水平移動ペアが逆方向に移動しても、EPGデータに対して情報ラインが全く同じ位置に配置されることを確実にする。各々の水平の移動コマンドに応答してこのシステムが実施する各方向の移動量は、現在表示されている格子の列のための実際のEPGデータに依存する。各ケースに共通の、均一、最大、あるいは最小の移動量は存在しない。時間ピリオドは、格子の１コラムの幅に対応するように選択され、この時間ピリオドの倍数によって格子の表示ピリオドが変化する。以下の議論では、時間ピリオドとして３０分の期間が選択されており、データ上での可視ウィンドウの移動が３０分の倍数で生じるようにしており、格子の表示された期間の開始と終了は、３０分の時間境界で整列する。しかし、本発明の概念を離れることなく、他の時間ピリオドを選択することもできる。
【００３３】
図２は、本発明の第１実施例において、「右へ移動」のコマンドに応答して情報ラインの移動を計算するためのプロセス２００を説明するフローチャートである。STARTにおいて、プロセス(２３０)は、格子のどの列であっても現在位置から右に起こる次の番組開始に位置に情報ラインを並べる。次のステップ（２４０）で、プロセスは、格子の終了位置と情報ラインの位置の間で、最小限の表示ピリオドがあるかをチェックする。もしある場合は、プロセスは終了する。もし無ければ、プロセスは、新たな情報ラインの後に半時間境界最小限の表示ピリオドを連続的に探す（訳者注：英文意味不明）。次のステップ(２６０)において、プロセスは、格子をスクロールして、HBを新たに表示された格子の表示ピリオドの終端に設置する。そしてプロセスは終了される。
【００３４】
すなわち、情報ラインの移動を計算する方法が図２に示されている。ユーザーが「右へ移動」のコマンドを出すと、システムは第一に、現在の情報ライン位置の右にある、格子の列における次の番組（プログラム）境界をチェックする。これらの番組境界は、格子の現在の見えているウィンドウ内に生じることもあるし、生じないこともある。これらの番組境界の最初は、情報ラインの初期位置により示される時間の後の、最も早い番組開始と一致する。システムは、どの格子列が現在アクティブかに関わらす、このプログラム境界に整列にするように情報ラインを設置する。次に、情報ラインと格子の終点との間に少なくとも１つの最小限表示ピリオドを有する状態をもって、現在表示されている格子上で情報ラインが見えるかどうかをチェックする。この最小限の表示ピリオドは例えば１５分であってもよく、そうであれば典型的なフォントサイズを用いれば、ほとんどのケースでユーザーの役に立つテキストを、情報ラインの右に載せることができる。もしこの条件が満たされれば、更なる行動は実施されない。しかし、もし情報ラインの新しい位置が、現在見えている格子ウィンドウの外であるか、現在見えている格子ウィンドウの終点から最小表示ピリオド以下にある場合は、システムは可視（見えている）ウィンドウをスクロールする。システムは、新たな情報ラインの位置の後に少なくとも最小限の表示ピリオドを有するどの３０分の境界が最初のものなのかを決定する。システムは、その境界を新たな格子表示ピリオドの終端に位置させるように、可視ウィンドウをスクロールする。
【００３５】
以下の例は、「右へ移動」のコマンドに応答する際に、この方法がどのように図に示した各格子例に適用されるかを現している。図４に示す初期状態から開始して、情報ラインは、TOONP７３の「Courage and Cowardly Dog」の５.３０のエピソードの開始と整列するように、５.３０pmと一致した位置に移動する。この場合は、移動量は３０分の時間ピリオドに対応する。格子のどの列が現在アクティブなのかに関わらず、同一の応答が生じる。図３９で示す初期状態から始まって、情報ラインは「Hand that Rocks the Cradle」の開始位置と整列するように、７.１５pmに一致する位置に移動する。ここでの移動量は１５分に対応する。同様に、どの格子列がアクティブなのかにかかわらず、同一の応答が生じる。もし、初期状態が図１０で示すものと同じものであれば、どの格子列がアクティブなのかにかかわらず、３つの新しい番組「Guarding Tess」「Sheena」と「The Buddy Holly Story」(図９で見ることが出来る)の開始点と整列するために、情報ラインは９.３０pmに移動する。ここで、移動量は９０分の期間と対応し、システムはさらに可視ウィンドウを３０分移動させ、８.３０pm〜１０.００pmの格子表示時間ピリオドを表示させる。可視ウィンドウの新しい位置では、格子の３番目のコラムの開始に、情報ラインの新たな位置をおく。
【００３６】
図３は、本発明の第１実施例において、「左へ移動」のコマンドに応答して情報ラインの移動を計算するためのプロセス３００を示したフローチャートである。STARTにおいて、プロセス(３３０)は、格子のどの列であっても現在位置から左に起きる次の番組（プログラム）の開始位置に情報ラインを整列させる。次のステップ（３４０）で、プロセスは、格子の可視ウィンドウに情報ラインが見えるかをチェックする。もし見えるなら、プロセスが終了する。もし見えなければ、プロセスは、３０分境界HBを、情報ライン位置かそのすぐ左に探し続ける。次のステップ(３６０)において、プロセスは、HBを新しい格子の表示ピリオドの終端に設置させるように、格子をスクロールする。そしてプロセスは終了される。
【００３７】
すなわち、「左へ移動」のコマンドに応答して、情報ラインの移動を計算する方法が図３に示されている。システムは第一に、現在の情報ライン位置の左にある、格子の列の最後における番組境界をチェックする。番組境界は、格子の現在の可視ウィンドウ内に生じることもあるし、生じないこともある。これらの番組境界の最初（左への移動）は、情報ラインの初期位置によって示される時間前における、最後の番組開始時間と一致する。システムは、どの格子列が現在アクティブかに関わらず、このプログラム境界に整列するように情報ラインを設定する。次に、現在表示されている格子上に情報ラインが見えているか（可視）をチェックする。もしこの条件が満たされていれば、更なる行動は実施されない。しかし、もし情報ラインの新しい位置が、現在見えている（可視）格子ウィンドウの外であれば、システムは可視ウィンドウをスクロールする。システムは、情報ラインの新しい位置と同一かまたはその直前に存在する最初の３０分の境界を探索する。そして、新しい格子表示ピリオドの開始点が、その３０分境界に合致するように、可視ウィンドウをスクロールする。
【００３８】
この「左へ移動」方法がどのように適用出来るかをいくつかの例の格子について説明する。この方法は図７で示されるような初期状態から開始して、図４１に示すように４.３０pmの位置に情報ラインを設置する。「右へ移動」のコマンドへの応答の場合と同様に、この格子型方法における「左へ移動」のコマンドに応答する場合における情報ラインの水平移動の量は、どの格子列が現在アクティブであるにかかわらず、同一である。前もって定めた、最小値または最大値のようなものは存在しない。従って、情報ラインが９.３０pmの位置にあること以外は初期システム状態が図９で示すものと同様ならば、情報ラインの新しい位置は、図１０で示されるように８.００pmに設定される。
【００３９】
この第１実施例の方法は、EPGデータに対する情報ラインの位置に関して、完全に対称な左右の動作を常に生じさせる。これは異なる初期位置からの情報ラインの移動量にかかわらず、また起こりうるどのEPGデータの開始時刻及び継続時間にもかかわらない。あたかも、EPG格子の各列の各番組にたいして、格子において可視な他の列に、番組開始時から上下に線（ライン）を引くようにする。このラインの多くは、異なる列の番組が同じ時間に開始する場合は、互いに重なって見えなくなる。さらに、格子において現在可視でない場合にも、ラインは格子の可視列のすべてから、引かれていると考えられる。実際上、これらの「仮想」ラインは、EPGデータのそれらの列に関して、情報ラインの全ての可能な位置を完全に表わしている。図２及び図３で示した方法は、「左へ移動」と「右へ移動」コマンドに応答して、１の「仮想ライン」に整列された状態から、最も近接する別の「仮想ライン」に整列するように移動を保証している。「仮想ライン」に整列する以外には、情報ラインの位置はありえない。従って、どんな水平運動コマンドも、「仮想ラインn」で整列する位置から、「仮想ラインm」で整列する位置に、情報ラインを移動させる。従って必然的に、すぐ後のコマンドが反対方向への移動を要求する場合には、「水平ラインn」と整列するように情報ラインを戻すように移動させる。実際の仮想ライン間の「距離」(情報ラインに対応する時間ピリオドを決定する)は、格子列のセットに生じる番組の開始時刻にのみ依存する。従って、本発明の第１実施例には、前述した非対称タイプ２, ３,あるいは４は存在しない。
【００４０】
従って、格子型方法のこの第１実施例は、基本方法が提供する水平と垂直な移動交換可能性を実現することに加えて、左右の移動の対称性を提供する。従来の方法と比べて、ユーザーエラーを生みやすい状況を減少させるのみならず、もしユーザーが水平のナビゲーションエラーを起こしたとき、以前の(誤っている)方向とは反対方向に移動するコマンドを出すことによって、容易に元の状態に戻ることができ。
【００４１】
１.２  発明の第２実施例： 最大の効率
第２実施例は、情報ラインの各水平位置からアクセス可能なデータについて情報理論的な分析を行うことによりもたらされたものである。ここに記述した第１実施例は、最も単純であり、格子に示す開始時刻及びテレビ番組の継続時間にかかわりなく、容易かつ信頼性の高いナビゲーションを実現している。しかし、図２及び図３で示されたナビゲーション方法には、格子ナビゲーションにおいて、非効率な結果となるいくつかの状況が生じることがある。ポイント型のEPGシステムに適用される第２実施例は、水平移動においてわずかの非対称性を加えることで、その非効率性を除去している。
【００４２】
上述した本発明の最も単純な実施例における問題は、情報ラインを格子の一方の端からもう一方の端に移動するためには、格子上の全ての情報をアクセスするために厳密に必要な入力以上の入力を必要とすることである。図１１は、格子型アプローチの最も単純な実施例における、「最悪の場合のシナリオ」を説明する。この初期状態から開始して、情報ラインを、「Rugrats」のエピソードの開始点である３.１５pmに移動させるには、少なくとも８つの「右へ移動」のコマンドを必要とする。これは、どの格子列がアクティブなのかにかかわらず、図２に基づいた情報ラインの移動が、以下の通りに行われるからである。最初のコマンドに応答して、情報ラインは「Backstory」の開始に整列するように２.２５に移る。情報ラインは２番目のコマンドに応答して、「Rock Power」の２.３０のエピソードの開始で整列するように、もう５分移動する。情報ラインは３番目のコマンドに応答して、「Rick Steves Europe」の２.３５のエピソードの開始で整列するように、さらに５分移動する。４番目のコマンドは情報ラインを「Rock Power」の２.４５のエピソードの開始に整列させる。５番目のコマンドは情報ラインを、「Raiders of the Lost Ark」の開始に位置するように２.５５に一致させる。６番目のコマンドは、情報ラインを３.００pmに移動させる。第７のコマンドは情報ラインを３．１０pmに移動させR. Steves Europe」のエピソードの開始の３.１０に整列させる。８番目のコマンドは、情報ラインをさらに５分だけ３.１５pmに移動する。
【００４３】
本発明の最も単純な実施例では、そのような非効率な状況はめったに生ぜず、これは１つの格子に比較的多くの、互いに他の列と整列しない番組開始時刻がある状況においての結果である。このような状況は、格子の中にたくさんの短い番組があるとき、そして数個の異なる格子列が、開始時刻が同じ半時間境界で整列されていない番組を含んでいるときに生じやすい。大多数のテレビ番組が一般に、半時間境界で整列するので、この問題が起きる状況は頻繁には発生しない。
【００４４】
しかし、図１１に示すような格子が実際に起きるし、その場合には本発明の第１実施例は明白に非効率である。格子型の本発明の主な目標は、直観的に簡単な方法で全ての番組情報を捜せるようにすることである。格子型の列のセットについて、全ての番組を網羅する方法(特に「今」あるいは「すぐ後に」に見る番組を選出するとき)は、最初に異なる列の全ての番組を比較して、その後引き続く時間に移って、それらの番組などを比較することである。格子型アプローチの第２実施例はこれを促進させるものであり、他の(現在非アクティブな)格子列の補足情報を見るために、垂直にスクロールするに必要なだけ水平移動上に「停止点」を設けるようにしている。しかし全ての番組の開始で停止するように水平の移動を制限することで、格子型方法の第１実施例は論理的に必要である以上の停止を行っている。これは、アクティブ番組を示すのに情報ラインを使うシステムでは、番組の開始だけではなく、番組の継続時間中における全ての点で情報ラインが番組セルを横切るとき、各番組のための補足情報を見ることができるからである。従って、各「右へ移動」入力コマンドに応答する情報ラインが、番組の終わりを通過しない限り、補足の情報は、たとえ移動が番組の初めで止まらなくても、バックトラックの必要なしで垂直スクロールでアクセス可能である。
【００４５】
以下に示すように、格子型方法の第２実施例では、４回の「右へ移動」コマンドのみで、図１１の初期状態から図１２の状態に移動でき、図１２では情報ラインが３.１５pmの位置にある。本発明のこの実施例は、情報ラインがプログラムの最後に至る前のどの点を横切っても、補足の番組情報をアクセス可能であることを考慮したナビゲーション方法を用いている。この改良したナビゲーション方法では、次の２つの性質を保持した上で、各入力コマンドに応答して情報ラインをできる限り遠くに移動する。第一に、情報ラインは番組セルを通過せず（その番組セルは初期状態で横切られていない）。第二に、この実施例は格子の少なくとも１の番組の開始に情報ラインが確実に整列する。(これは、より効率的な必要条件を考えると、左右の移動において最大の対称性を確実にする)
図１３は、本発明の第２実施例による、「右へ移動」コマンドに応答した情報ラインの移動を計算するためのプロセス１３００を説明するフローチャートである。STARTすると、プロセス(１３３０)は、格子上の可視の列において「新情報点（新情報ポイント）」及び「情報損失点（情報損失ポイント）」を見つける。次のステップ(１３４０)で、プロセスは、最も初期（最近）の情報損失の点に先行する新情報の最後の点に、情報ラインを整列させる。さらにプロセスは、情報ラインが格子の終端よりも前に少なくとも１つの最小表示ピリオドを有する位置にあるどうかを決定する(１３５０)。もしそうであれば、プロセスは終了する。もしそうでなければ、プロセス(１３６０)は、新しい情報ライン位置の後に少なくとも最小限表示ピリオドが得られるように、半時間境界HBを探し続ける。次のステップ(１３８０)でプロセスは、新しい格子表示ピリオドの終端にHBが位置するように格子をスクロールする。そして、プロセスは終了する。
【００４６】
すなわち、本発明の第２実施例に基づく情報ラインの正確な移動のための計算は、格子の可視列において、「新情報点」と「情報損失点」を見つけることにより実行する。図１３は、右方向への移動の場合におけるこのプロセスを説明したものである。各格子列の「新情報点」は、右へ移動するとき、最初に遭遇する点であり、初期状態の列で横切られた番組と異なる番組を情報ラインが最初に遭遇する点であり。情報ラインはこの点を横切り始める。各格子列において、１つの番組の終わりは通常もう１つの番組の開始と一致する。広告等の隙間はEPGデータにおいて無視されるからである。従って、右へ移動する際、各格子列の新情報点は、初期状態で横切られるものの後に直ちに続く番組の開始点になる。もし格子にN列があれば、各列の新情報点に開始点が対応する番組は、newprog１、newprog２、... newprogNとして指定してよい。このプロセスでは、各newprogXが、初期格子において現在可視である必要はない。これは、列Mにおいて、１つの入力コマンドに応答した初期状態からの右への移動がnewprogMの終わりを通過したとき、ユーザーは「左へ移動」コマンドを使わなければ、newprogMのための補足の番組情報にアクセスできなくなるからである。これは前述のように、本方法の第１の性質に違反しており、情報ラインの移動における、番組情報へのアクセスを損失することになる。
【００４７】
新情報点と情報損失点が各ラインについて見つかると、格子のラインで生じる情報損失の最初の点がどれなのかをシステムは決定する。これは、情報ラインが右に移動して遭遇する最初の「情報損失点」であり、格子全体の「情報損失点」である。そしてシステムは、全ての新情報点のうち、格子の情報損失点の前で生じる最後のものがどれかを決定する。情報ラインはこの点で整列される。そして、情報ラインの新しい位置の可視性をチェックする。必要ならば、格子の可視ウィンドウはスクロールされる。
【００４８】
この方法はいくつかの例を参照することによってより理解が容易にできる。図１４に示した初期状態において、各列における新情報点は脱字記号（^）によって示され、情報損失点はクロス（十字）によって示されている。最初の情報損失点はNIKP１１の「Rock Power」の最初のエピソードの終わりに一致した２.４５pmに生じる。この点に先行する最後の新情報点は、KQED９の「Rick Steves Europe」の２番目のエピソードの初めと一致した２.３５pmに生じる。従って、図１４と同様の（アクティブな格子列があるが）初期状態からの「右に移動する」コマンドによって、図１５のような最終のシステム状態を生成する。新情報ラインは２.３５pmに位置づけられて、初期状態と同一の格子列がアクティブとなる。
【００４９】
図１５で示された初期状態において、図１３の方法は、「Rock Power」の第２エピソードの終わりが、格子の最初の情報損失点であることを見つけだす。これに先行する新情報の最後の点は、「Raider's of the Lost Ark」の開始である。従って図１３からの「右へ移動」コマンドに応答して、情報ラインは２.５５pmに移動する。最終状態は、KBHK１２がアクティブな格子列であること以外は、図１６の状態と同様になる。どの格子列が初期状態でアクティブなのかにかかわらず、同様の水平移動が行われ、最終状態でのアクティブな格子列は初期状態と同一となる。
【００５０】
図１６の初期状態では、情報損失の最初の点は３.１５pmにあって、それに先行する新情報の最後の点は３.１０pmにある。従って、様々な異なる列がアクティブな図１６と同様の格子から、「右へ移動」コマンドに応答した最終の状態は、適切な格子列がアクティブな図１７と同様なものになる。図１７の初期状態では、可視な格子上では情報損失の１点と新情報の１点しかない。他の格子列の新情報点と情報損失点も、この方法によって考慮されるが（非可視にも関わらず）、情報損失点の最初の点に先行する新情報の最後の点は３.１５pmであり、これが、「右へ移動」コマンドに応答した情報ラインの新しい位置になる。
【００５１】
従って、格子型発明のこの第２実施例を用いることにより、どの格子列がアクティブかに関わらす、図１１に示す初期情報ラインから、図１２に示す最終情報ライン位置に移動する場合に、４つの「右へ移動」入力しか必要としない。これは、本発明のより単純な第１実施例を用いて同じ位置に達するには８つの「右へ移動」コマンドが必要とされるのと対照的である。
【００５２】
図１８は、本発明の第２実施例において、「左へ移動」コマンドに応答して情報ラインの移動を計算するためのプロセス１８００を説明するフローチャートである。STARTすると、プロセス(１８３０)は格子において可視の各列の「情報損失点」を見つける。次のステップ(１８４０)で、プロセスは情報ラインを最後の情報損失点に整列させる。プロセスは、情報ラインがまだ格子可視ウィンドウに見えるかどうかを決定する(１８５０)。もし見えるならば、プロセスは終了する。そうでなければ、プロセス(１８６０)は、半時間境界HBが、新しい情報ライン位置かそのすぐ左にあるかを探し続ける。次のステップ(１８８０)では、プロセスは、新しい格子表示ピリオドの開始にHBが位置するように格子をスクロールする。そしてプロセスは終了する。
【００５３】
すなわち、本発明のこの第２実施例に従って左に移動する場合のプロセスは、右に移動する場合と類似しているが、完全に対称的なわけではない。図１８は、左への移動を示すフローチャート図である。システムは各ラインにおける情報損失点を見つけることから開始する。左に移動するとき、各列の新情報点は、初期状態の情報ラインに横切られない左側の最初の番組の終了点と一致する。ポイント型システムは、情報ラインが同じ列の番組aの終わりと番組bの始めに整列するときに、情報ラインは番組bにのみ横切るという採択を、約束事としてもよい。従って、これらのシステムでは、ある列で情報ラインが番組の終わりに整列するときには、理論的にはその列の新情報点は情報ラインの現在位置の１分前に生じる(すなわち番組aの終了の１分前)。しかし、補足情報表示の情報ラインの位置へ関連づけが非対称である結果、各格子列の新情報点は、格子移動の計算に不可欠とはならない。各列では、新情報点は、番組開始がその列の情報損失点に対応する番組の、終わりと一致する。図１８の応用例を様々な例に当てはめて明らかにするために、新情報点と各格子列の情報損失点が、図１９-２２で示されている。もし初期状態の情報ラインに横切られていない番組の初めを通過して情報ラインが移動されれば、ユーザは、後で「右へ移動」コマンドを用いなくては、その番組の補足番組情報にアクセスできないことは明らかである。それは、新しい格子型方法の基本条件に違反しており、情報ラインの移動間での番組情報のアクセス容易性の「損失」している。従って、各格子列における情報損失点を見つけると、システムは情報損失の最後の点に情報ラインを整列させる(すなわち、左へ移動するとき、その情報ラインに最も接近している情報損失点)。最後に、必要ならば、可視ウィンドウを情報ラインの可視性を維持するようにスクロールする。
【００５４】
図１９には、各格子列において新情報点と情報損失点が示されている。最後の情報損失点は「Rugrats」の３.００pmでのエピソードの開始にあり、これは図１８の方法により「左へ移動」コマンドに応答して情報ラインを位置づける箇所である。これにより、システムは図２０と同様の状態になる（アクティブな格子列は異なる）。図２０の初期状態において、情報損失の最後の点は「Rugrats」〔訳者注：「Rock Power」の誤記と思われる〕の２.４５pmのエピソードの開始点である。したがって、「左へ移動」コマンドの後では、システム状態は図２１に示すようになる。この状態からは、最後の情報損失点は、最初の「Rock Power」エピソードの開始である２.３０pmになる。従って、更なる「左へ移動」コマンドをすると、システムは図２２で示した状態になる。その初期状態から、最後の情報点は「As Told by Ginger」の開始に当たる２.００pmであり、更に「左へ移動」コマンドをすれば、情報ラインを図１１にあった位置に戻すことができる。
【００５５】
図１４-１７と図１９-２２は、本発明の第２実施例の状況を示しており、４つの連続した「右へ移動」コマンドにより情報ラインを２.００pmの開始位置から３.１５pmの最終位置に移動させている。また４つの「左へ移動」コマンドの連続により、情報ラインを最初の出発点に戻している。これは、図に示すEPGデータをナビゲートするのに、同じ量のデータをナビゲートするために必要なユーザー入力が半分ですむので、第１実施例より効率的な方法である。また、右に移動するときは、２:００pmから３:３０pmに放送するどの格子列のどの番組の補足情報であっても、「左へ移動」コマンドを用いることなくアクセス可能である。同様に、３.１５pmから２.００pmまで後退する時、どの番組の補足情報であっても「右へ移動」コマンドを用いりことなくアクセス可能である。これにより、ユーザーが鑑賞や録画のために番組を選びたい時、テレビ番組データを自然な方法で見て回ることができる。すなわち、最初の時間で異なるチャンネルで利用できる番組を比較して、第２の時間で利用できる番組を比較というようにすることができる。本発明の第２実施例は、システムが各段階で移動する為の最適な時間を自動的に選択するようにし、例えば、必要以上の水平移動をさせないで、すべての番組をバックトラックなしでアクセスすることを可能にしている。これは、番組の開始時刻や継続時間にかかわらず行える（各コマンドに応答した水平移動が図１４-１７、図１９-２２に示すよりはるかに大きい場合の例は後述する）。
【００５６】
しかし、第１実施例と異なり、本発明の第２実施例による左右の移動には、前述したタイプ３に規定するような小さな非対称性がある。図１１から図１２へ右に移動する情報ラインの位置は、２.００pm、２.３５pm、２.５５pm、３.１０pm、及び３.１５pmであり、左への移動は、３.１５pm、３.００pm、２.４５pm、２.３０pm、及び２.００pmである。この不一致は小さく、ユーザーに混乱を招くことは無いであろう。
【００５７】
図２３〜図３０の全ては、１組の「ユーザーフェイバリット」チャンネルの、実際のEPGデータから得たものである。これらの図は、本発明の方法の柔軟性をあらわすものであり、ある格子列に現われるEPGデータに最も適したどのようなサイズの水平移動でも生成することができることを示している。この場合は、４つの「右へ移動」コマンドだけで、情報ラインを８.３０amの開始位置から２.３０pmの最終位置に移動できる（平均して、１移動が９０分であり、１コマンドに対する最長のものが１４５分である）。その後に、４つの「左へ移動」コマンドを用いることにより、情報ラインを開始位置に戻すことができる。
【００５８】
図２３において、システムは、図１３のフローチャートに従って「右へ移動」コマンドに応答するとき、最も先の情報損失点は、BRAVO５９の「Hill Street Blues」の２番目のエピソードの終わりである１０.００amで生じることを決定する。この点に先行する新情報の最新（最近）点は、「Adam's Rib」の開始である９.３０amにある。従って新しいシステム状態は、図２４に示されたものになる。図２５は、同じチャンネルの組み合わせにおいて起きる午前の後の番組を示す。この図から、もし図２４に示すようなシステムが初期状態から開始すると、最初の情報損失点が、BRAVO９の「Making Of: Monsters, Inc」の終わりである１０.３０amで生じることが分かる。これは、「Making Of: Monsters, Inc」が、図２４の情報ラインに横切られないで、最初に終わる番組だからである。１０.３０amに先行する新情報の最後の点は、AMC１５の「True Grit」の開始点である１０.０５である。従って、これが情報ラインの次の位置になる。これは図２４の可視ウィンドウの外あるので、システムは１０.０５より少なくとも１５分後にある半時間境界を見つけ、これは１０.３０amになる。従って、可視ウィンドウは、９.００am〜１０.３０amの新しい格子表示ピリオドまでスクロールして、図２４からの「右へ移動」の後の新しいシステム状態は図２５で示したようになる。
【００５９】
図２６及び図２７は、同じチャンネルの組み合わせにおけるさらに後の時間での番組を示す。図２５の情報ラインに横切られていない番組の最初の終了位置(例えば図２５の状態における情報損失の最初の点)は、BRAVO５９の「The Cotton Club」の終わりに当たる午後１.００時であることが、これらの図から解る。１.００pmに先行する新情報の最新点はAMC１５の「Alien Nation」の開始にあたる１２.３０pmにあり、これよりも少なくとも１５分後の最初の半時間境界は、１.００pmである。従って、図２５の状態から１つの「右へ移動」コマンドに応答して、システムは図２７で示された状態になる。これは１４５分の移動であるが、１０.０５amと１.００pmの間で放映されているどの番組についての情報もユーザーは逃がすことはない。これは、それらすべて番組が１０.０５amでの情報ラインにより横切られるか、あるいは１２.３０pmでの情報ラインに横切られるからである。このように、図２５の状態か図２７の状態から垂直な移動だけで、それらの全てがアクセス可能である。
【００６０】
本発明のこの実施例によって大きく効率を上げた同様の例を、図２７に示すシステム状態から開始する「右へ移動」コマンドへの応答において見ることができる。図２８及び図２９において、図２７の状態からの情報損失の最初の点が、AMC１５の「Backstory」の終わりの２.５５pmで生じることが分かる。その点に先行する新しい情報の最後の点がUSAP４４の「The China Lake Murder」の開始の２.３０pmであり、次の半時間境界は３.００pmでおきるものより少なくとも１５分後である。従って、図１３の方法は情報ラインを、図２７で示された位置から、図２９で示された位置に、１つの動作で移動させる。これは、１２０分の移動であり、全ての格子列での番組の補足情報を容易にアクセス可能にし、移動における最適な効率を達成する。
【００６１】
図１８で示された方法によれば、図２９に示す初期システム状態から、４つの「左へ移動」コマンドの連続によって、システムが以下の通り応答することが解る。１番目のコマンドは情報ラインを１２.３０pmに移動させる。２番目のコマンドは１０.０５amに移動させ、３番目のコマンドは９.００amへ、そして４番目のコマンドは８.３０amへ移動させる。前述した４つのコマンドと比較すると、不可避の（しかも小さい）前述したタイプ１の非対称性があること以外は、１つだけの非対称しかない。これは、一方では逆方向への１番目のコマンドが図２４のようなシステム状態とし、３番目のコマンドがシステムを図３０で示されるような状態にするときに、情報ラインが９.００amにおいて生じる。９.３０amからすぐ１０.０５amへの情報ラインの移動、そして１０.０５amから９.００amへの左への移動は対称的ではない。しかし、図１３及び１８の方法によると、もし１０.０５am〜９.００amの左へ移動、「右へ移動」コマンドの後でなされると、情報ラインは完全に対称的に１０.０５amに移ることは、注目に値する。前述のように、タイプ１以外の非対称性は、本発明の第１実施例では全く生じない。第２実施例では、タイプ３及び４の小さな非対称性が生じるが、ユーザーの混乱を招くほど大きくない。この新しい方法による、水平と垂直の移動の可換性は、バックトラックの必要なくすべての格子列の番組情報にアクセスできること、また番組の開始時刻と継続時間が大幅に異なったEPGデータを効率的にナビゲートできることと相まって、従来技術より大幅に改良されたユーザーとの相互作用を行える。
【００６２】
１.３  本発明の第３実施例： より限定された可視ウィンドウのスクロール
ここに述べた本発明の最初の２つの実施例では、情報ライン(あるいはアクティブな点のインジケータ)の移動を優先させて、これから可視ウィンドウの移動を得るものである。しかし、第３実施例における左右へのナビゲーションに格子型アプローチでは、可視ウィンドウの移動を最小限にすることを優先させ、状況によっては情報ラインの移動に更なる制限を加えている。
【００６３】
可視ウィンドウのスクロールを最小化することが有利となる状況がいくつかある。例えば、インターアクティブEPGシステムには、実時間で衛星などからEPGデータをダウンロードして、そのデータの部分だけをメモリに保存する。このような場合は、現在時刻から比較的に短い期間までのデータだけを蓄えるので、それ以外の時間を含むように可視ウィンドウをスクロールするためには、新しいデータをダウンロードする間の遅延が生じる。本発明の第３実施例は、可視ウィンドウをスクロールする前に追加のチェックを行い、これによりユーザー入力コマンドによりウィンドウをスクロールさせる前に、現在の可視ウィンドウの中で情報の移動を１つの追加することにより行う。これは、次の時間ピリオド用にEPGデータのプリロードを開始する機会をシステムに提供し、これは後にスクロールする際の遅れを除くことにもなる。
【００６４】
最小のウィンドウスクロールの要件に基づいて情報ラインの移動に制限を加えることには、他の利点もある。実質上、このアプローチはユーザーが、他の方法であれば１つのコマンドでのウィンドウをスクロールできるとき、可視ウィンドウをスクロールするために例えば２つの「右へ移動」コマンドを出す必要がある。これは、誤って情報ラインを可視ウィンドウ範囲内で移動してしまう場合よりも、可視ウィンドウを誤ってスクロールしてしまう場合のほうがユーザをより混乱させがちであるので、これを防止する一種の安全メカニズムとなる。さらに、図２５と図２７の間の１４５分の移動のように、情報ラインの大きな移動に当惑するユーザーもいる。その場合は、追加の入力コマンドをして、図２６に示すような中間の格子表示ピリオドを表示するようにウィンドウを移動することが好ましいであろう。これは、図２５と図２７の間の経過期間での番組について情報を逃さないという安堵感を（たとえ本発明の第２実施例の方法がこれを保証できるとしても）ユーザーに与える効果がある。
【００６５】
図３１は、本発明の第３実施例に基づいて、「右へ移動」コマンドに応答する場合の、情報ラインの移動を計算する為のプロセス３１００を説明するフローチャートである。STARTすると、プロセス(３１２５)は格子の各可視列について「新情報点」及び「情報損失点」を見つける。次に、３１３０のプロセスにおいて、情報損失の最も初期（最近）の点に先行する新情報の最後の点P１が、現在の格子において可視であるかを決定する。もしであれば、次のステップ（３１３５）で、点P１に情報ラインを整列して、このプロセスは終了する。もしそうでなければ、少なくとも最小限の表示ピリオドだけ格子の終端に先行する新情報P２の少なくとも１点があるかどうかをプロセスは決定する。もしそうであれば、プロセスは最後のP２に情報ラインを整列させる。そしてプロセスは終了する。もしそうでなければ、プロセスは情報ラインをP１ (３１４５)に整列させる。プロセスは、新情報ライン位置(３１５０)の後に少なくとも最小限表示ピリオドである半時間境界HBがあるかを探す。次のステップ(３１５５)で、プロセスは、新しい格子表示ピリオドの終わりにHBを置くために、格子をスクロールさせる。そしてプロセスは終了する。
【００６６】
この第３実施例の水平のナビゲーション方法は、水平と垂直な移動の可換性と、「バックトラック」を必要とせずに番組情報にアクセスすることを確実にする。また、これは第２実施例の情報理論的な計算を使用して、新情報点と情報損失点を格子の各列で決定する。第３実施例が第２実施例と異なるところは、「右へ移動」コマンドに応答する図３１のフローチャートから見てとれる。第２実施例では、基本的な格子型方法の性質に基づいて、最遠点への移動を常に行っており、これは情報損失点の最近の点に先行する新情報の最後の点に移ることである。図３１で示された第３実施例においては、もしその最遠点に移ることが、情報ラインが可視ウィンドウの外に移動することになってしまう場合には、システムは、代わりの移動先点を見つけるようにする。もし新情報のそのような点が存在すれば、選ばれる代わりの移動先点は、現在可視の格子の終端にたいし少なくとも最小限の表示ピリオドだけ先行する新情報の最後の点である。これは、可視ウィンドウのスクロールなしで、「右に移動する」コマンドの後に得られる情報を出来るだけ多くすることを保証する。そのような新情報が現在の可視の格子に現われない場合には、第２実施例のように、ウィンドウがスクロールされる。
【００６７】
図３２は、第３実施例に基づいて、「左へ移動」コマンドに応答する際に、情報ラインの移動を計算するためのプロセス３２００を説明するフローチャートである。STARTすると、プロセス(３２００)は格子上の各可視列における「新情報点」及び「情報損失点」を見つける。次に、３２３０のプロセスは、情報損失の最も初期（最近）の点に先行する新情報の最後の点P１が、現在の格子において可視であるかを決定する。もしそうであれば、次のステップ（３２３５）で、点P１に情報ラインを整列して、プロセスは終了する。もしそうでなければ、格子の開始(３２４０)の後に、少なくとも最小限の表示ピリオドと、少なくとも１つの新情報点があるかどうかをプロセスは決定する。もしそうであれば、プロセスは現在の格子(３２６０)の開始点に情報ラインを整列させる。そしてプロセスは終了する。もしそうでなければ、プロセスは情報ラインをP１ (３１４５)に整列させる。そしてプロセスは、新情報ライン位置(３２５０)又はそのすぐ左に、半時間境界HBがあるいかを探索する。次のステップ(３２５５)で、プロセスは、新しい格子表示ピリオドの始めにHBを置くために、格子をスクロールさせる。そしてプロセスは終了する。
【００６８】
すなわち、図３２は、第３実施例に従って「左へ移動」コマンドに応答するためのフローチャートを示している。もし情報損失の最後の点が現在の格子において可視であれば、結果としての移動は第２実施例のものと同じである。しかし、もしその点が現在可視ではなくて、少なくとも最小限表示ピリオドだけ格子の初めより後に来る新情報点があれば、システムは格子の最初に情報ラインを整列させる。これは、可視ウィンドウの移動無しと等価な状態での新しい番組情報の、最大のアクセサビリティーを実現する。しかし、もし新情報のそのような点が存在しなければ、第２実施例のように、ウィンドウのスクロールを行う。
【００６９】
図３１及び３２で示されるのと同じ基本的アプローチを用いるが、新情報を提供する現在可視の位置に移動するべき適当な点が無いときに、それらとは異なって動作するようにした、本発明の他の実施例も可能である。例えば、代わりの実施例では、新情報を提供する現在可視の格子の外に存在する最初の点に移動することが出来る。「右へ移動」コマンドの場合は、現在の格子の終わりに続く、どの格子列の最初の番組と整列するように、情報ラインを移動させる。可視ウィンドウスクロールは、他の実施例と同様に実施でき、最終格子の終わりの前に少なくとも最低限の表示ピリオドが来るように新しい情報ラインの位置させる。そのような実施例において、図２５における「右へ移動」コマンドへの応答は、情報ラインがアクティブな格子列であるTCM６８の１１.３０に位置すること以外は、図２６に示すような格子表示ピリオドと同じシステム状態に移動することである。
【００７０】
２．  本発明の２番目の応用例での説明
これまで詳述された本発明の全ての実施例は、格子のアクティブ番組が情報ラインによって示されるシステムに適用されている。前述のように、アクティブな点を示すことのできる他のグラフィック手段を使って、ポイント型システムの実施例が可能である。しかし、他の実施例も同様に可能であり、本発明の格子型の水平のナビゲーションの原理を、従来の２次元セルハイライトに用いてアクティブ番組を示すシステムにも適用できる。そのようなシステムでは、格子セルのサイズや位置が各列で異なるので、異なる各格子列にアクティブインジケータを移動させることには本質的に制限がある。しかし、EPGデータに関しての可視ウィンドウの移動は、同じ量の全ての格子列を同時に移動することと等価である。従って、アクティブ番組インジケータの移動を決定する為に用いる以前の方法にかかわらず、前述の全てシステムに、格子型アプローチを適用して、可視ウィンドウをスクロールするための効率を向上することが可能である。
【００７１】
２.１  本発明の第４実施例： 従来方法との組み合わせ
本発明の第４実施例は、以前のシステムのウィンドウスクロールの改良であり、ユーザーによる１つの入力コマンドに応答して格子の欄が可変の数で移動出来るようにする。各ケースに用いられている格子欄の幅の実際の倍数は、全ての現在可視の格子列のEPGデータを調査することによって決定される。これは、格子の表示ピリオド後の同じ列(「右へ移動」コマンドの場合)、また、表示ピリオド前の同じ列(「左へ移動」コマンドの場合)のEPGデータを含んでいる。
【００７２】
この実施例の性質は、アクティブ番組を示すためにセルハイライトを使うシステムの可視ウィンドウの移動に応用する場合において、以下の通りである。
【００７３】
１．  右に移動するとき、可視ウィンドウは、格子表示ピリオドの開始が、どの格子列であっても、初期の格子には非可視であった番組セルの終了を超過しないように、大幅な移動をしない。
【００７４】
２．  左に移動するとき、可視ウィンドウは、格子表示ピリオドの終了が、どの格子列であっても、初期の格子には現在非可視である番組セルの開始を超過しないように、大幅な移動をしない。
【００７５】
これらの性質は、情報ラインを用いるシステムに応用された、格子型ナビゲーション性質と対比出来る。本質的に列型２次元のセルを用いるシステムとハイライトを用いるシステムの場合は、ナビゲーションの性質は表示格子上での番組情報の可視性という面で表現されうる。そこでは、バックトラックなどを必要とせずにそのような情報のアクセス可能を保証することは出来ないかもしれない。しかし、それぞれ右と左への移動において、上述の２つの性質は、「拘束の無い」ナビゲーションシステムで、カーソル及び可視ウィンドウ移動を「飼い慣らす」新しい方法を提供する。可視ウィンドウのスクロール量に制限をかけなかったEPGシステムについては、この新しい方法の効果は、大量の可視ウィンドウ移動であったものを、制限するということである。可視ウィンドウのスクロール量を制限したEPGシステム(一般に３０分)については、この新しい方法の効果は、可視ウィンドウの移動量を増加できることである。
【００７６】
図３３は、プロセス３３００のハイレベルフローチャートを示しており、アクティブ番組のインジケータを移動させる為に、格子型方法がどのように、既知の技術と結合されうるかをあらわしている。STARTすると、プロセスは既知の格子内方法を用いてアクティブ番組インジケータの移動の候補を計算する(３３３０)。プロセスは、移動候補が新しい番組を見えなくさせるような可視ウィンドウの移動を必要とするかを決定し続ける(３３４０)。そうであれば、格子列(３３５０)の可視性の損失を防止するために、プロセスはアクティブ番組インジケータ及び可視ウィンドウの移動を制限する。そうでなければ、プロセスは、格子の全ての列における情報からの可視ウィンドウ移動の適切な量を計算する(３３６０)。そして、プロセスはアクティブ番組インジケータ及び可視ウィンドウの新しい移動を続ける(３３８０)。そしてプロセスは終了する。
【００７７】
これは、具体例を参照することによって最もよく理解できる。第１のシステム例では、「右へ移動」コマンドに応答する格子内方法は、アクティブ番組インジケータを次の番組に移動させる。そのあいだ、出来るだけ新番組が、番組開始も含めて、最終のシステム状態において可視となるようにする。この最初の例のシステムでは、格子内方法を使用した「右へ移動」コマンドの応答候補を実行すると、図３４に示した初期状態から図３６に示した状態に移行する。第２のシステム例では、「左へ移動」コマンドに応答する格子内方法は、アクティブ番組インジケータを次の番組に移動させる。そのあいだ、出来るだけ新番組が、番組終了も含めて、最終のシステム状態において可視となるようにする。この第２例のシステムでは、格子内方法を使用した「右へ移動」コマンドの応答候補を実行すると、図３４に示した初期状態から図３５に示した状態に移行する。のどちらの例でも、移動候補は、図３４において可視でないという意味で、新番組情報を通過されないようにしている。これは、新番組情報が、図３４の可視ウィンドウの右にあり、また図３５と図３６の可視ウィンドウの左にあるために、可視でないからである。よって、この場合は、システムは、アクティブ番組インジケータの移動候補を変更せずに、可視ウィンドウの適切な移動量を計算できる。この方法の様々な実施例において、ウィンドウ移動の「適切な量」は、アクティブ番組インジケータに必要な量より少なくなる場合も多くなる場合もあり得る。例えば、格子型方法のこの実施例の第１性質に違反することなく、６.００pmから７.３０pmまでの格子表示ピリオドを示すために可視ウィンドウを移動させることが出来る。すなわち、ウィンドウは図３４に示す初期状態に示されない番組の終了を超過して移動しない。しかし、もし可視ウィンドウが６.３０pmから始まるように更に移動するなら、図３４には見えない６.００-６.３０の「Dexter's Laboratory」の終了点を超過してしまう。よって、この実施例方法では、このような最後の移動を防止できる。
【００７８】
「左へ移動」コマンドへの応答に関して、本発明の第４実施例の方法を用いた、２つの同一システムの例を検討する。第１例の場合は、図３４に示すような初期状態から開始して、格子内方法を用いた「左へ移動」コマンドへの応答候補を実行すると、システムの状態を図３６に示すように移動させる。そこでは、アクティブ番組インジケータが「Anatomy of Murder」の開始である２.００pmに位置づけられている。図３３のフローチャートによる「左へ移動」コマンドの場合は、２.００pmの時間を含むために、可視ウィンドウをスクロールすると新しい番組情報の可視性の損失を引き起こすので、この移動候補は認められない。特に、５.００〜５.３０pmのエピソードである「Courage the Cowardly Dog」は、図３５の初期格子において非可視であるから、可視ウィンドウが４.００pmより前へスクロールをさせる移動を開始するとこの新情報は損失してしまう。よって、本発明のこの実施例を用いることにより、可視ウィンドウは４:００pmまでしか左にスクロールしないようにできる。したがって図４０に示すような初期状態から開始する第２例のシステムの場合には、アクティブ番組インジケータの移動候補を実行すると、図４０で示すように可視ウィンドウを３.３０pmにスクロールさせる。この新しい格子方法の実施例は、可視ウィンドウをスクロールする「適切な」量は４.００pmより早い開始位置ではないことを決定する。これは、この場合において、以前の格子内方法における量より少ない。
【００７９】
上記の例は、アクティブ番組を示す従来の２次元セルハイライトを移動させる「列型」方法と組み合わされたとき、新しい格子型方法は可視ウィンドウスクロールを改良することをあらわしている。この新しい方法の実施例は、可視ウィンドウの大きな水平スクロールが、現在アクティブな列以外の格子列上の番組情報を「逃す」ようなケースを排除できる。それによって、ユーザーが他の格子列の情報を見るために「バックトラック」する必要が生じるとのナビゲーションの問題の発生を大幅に減少させる。
【００８０】
可視ウィンドウスクロールに前もって定めたグローバルリミットを用いる方法(一般に各水平移動コマンドに応答して３０分)に関して、新しい方法による改良例が図３７を参照して見ることが出来る。この初期状態から開始して、可視ウィンドウスクロールにグローバルリミットを用いるこの方法では典型的に、アクティブ番組インジケータを「Rawhead Rex」番組セルへ移動して、番組の最初の６０分をハイライトして、可視ウィンドウの位置を変わらないままにすることによって、「右へ移動」コマンドに応答する。その状態から、システムが図３８で示された状態に移行するために、可視ウィンドウの開始位置を５.００pm、５.３０pm、６.００pm、そして６.３０pmに移動するために４つの「右へ移動」コマンドの追加が必要である。しかし、図３３の方法を図４３に示すような初期状態に適用する場合は、システムは、初期格子の終わりに放映されている全ての番組が、図３８で示された格子の初めにまだ同様に放映されていると計算する。従って、もしシステムが図３７の格子から図３８の格子へ、単一の「右へ移動」コマンドに応答してスクロールした場合は、新情報の可視性の損失は生じない。従って、新しい方法の１つのバリエーションでは、システムはこの場合の可視ウィンドウを移動させる適切な量は１２０分であると計算するであろう。他のバリエーションも、図３３の方法と矛盾しない。例えば、システムが単に図３７の初期可視ウィンドウ内のアクティブ番組インジケータを移動することで、最初の「右へ移動」コマンドに応答して、２番目の「右へ移動」コマンドで図３８で示される状態に移動することも可能である。他のバリエーションでは、可視ウィンドウは、図３７において可視でない番組の終わりを超過せず７.３０pmの開始位置にスクロールできるので、この場合のウィンドウをスクロールする為の適切な量は、１つの「右へ移動」入力に応答して１５０分である。この第４実施例に基づいて、移動の正確な量は、異なる応用例では、異なった計算がされうる。最大の移動効率と、情報がウィンドウの大きな移動で失われないというユーザの最大の安心（たとえ本発明の方法がこれを保証するとしても）との間でのデザイントレードオフをしてもよい。この新しい方法の実施例は、多くの場合にナビゲーションの目的を達するのに必要なコマンド数を減らすことで、EPGとの相互作用の効率を高めている。しかも、この新しい方法はナビゲーションの非対称性を新たに加えないので、欠点のない改良といえる。
【００８１】
本発明について多くの種類の異なる実施例が可能である。それらの実施例では、格子において可視の全ての列からの情報を考慮することで、異なるEPGデータの構成を扱う上での格子型アプローチの柔軟性を共有している。ナビゲーションの効率最大化、エラーからの回復容易性最大化、ユーザーに既知の方法との類似性の最大化等の異なるデザイン優先に基づいて、可視格子列からデータを使用するための詳細が異なるナビゲーションアルゴリズムを用いた個別の実施がなされる。アクティブプログラムのインジケータとして、１次元の情報ラインを用いるシステムが図の例に示されており、これは水平方向には単一の位置があるが、垂直方向には全ての位置を取りうる。しかし、例えば格子の水平方向と垂直方向の１つの位置にだけ見えるアイコンやグラフィックのような、他のポイント型の視覚インジケータを用いてもよい。そのような場合は、フローチャートに前記したようなナビゲーションアルゴリズムを用いてもよい。また、視覚インジケータの新しい水平位置が、現在アクティブな格子列ではない格子列の番組セルの開始に対応するような実施例が上述されている。しかし、番組境界からの新しい位置（第１実施例のように）を、あるいは新情報点と情報損失点（第２実施例のように）を決定する同じ手段を、視覚インジケータの新しい水平位置が、５分や１０分等の量で前もって定めた番組セルの初めの開始からオフセットされる場合にも同様のプロセスを用いることが出来る。
【００８２】
いくつかの実施例しか明記していないが、上述した開示に基づき、添付した請求の範囲で、記述した概念を離れることなく、本発明の様々な形態や変形が可能である。それ故に、本発明は、後述の請求項以外には制限されない。
【図面の簡単な説明】
【００８３】
【図１Ａ】図１Aは、本発明に基づいたエンターテインメントシステムの１実施例をあらわしたブロックダイヤグラムである。
【図１Ｂ】図１Bは、本発明に基づいたコンピュータシステムの１実施例をあらわしたブロックダイヤグラムである。
【図２】図２は、本発明の第一実施例において、「右へ移動」ユーザー入力コマンドに応答してどのように情報ラインを移動するかを決定するためのフローチャートである。
【図３】図３は、本発明の第一実施例において、「左へ移動」ユーザー入力コマンドに応答してどのように情報ラインを移動するかを決定するためのフローチャートである。
【図４】図４は、従来技術における「ライン型」方法によるEPGをあらわす図である。
【図５】図５は、従来技術における「ライン型」方法による、もう１つのEPGをあらわす図である。
【図６】図６は、EPGの表示図であり、データが従来技術の「ライン型」方法に基づいて図４あるいは図５の状態から「左へ移動」コマンドがなされたときの結果をあらわす。
【図７】図７は、EPGの表示図であり、データは図４の情報ラインと同じ位置を示すが、可視ウィンドウはそれより以前の格子表示ピリオドを示す。
【図８】図８は、EPGの表示図であり、従来技術の「ライン型の」方法に基づいて図７に示した状態から「左へ移動」コマンドがなされたときの結果を示す。
【図９】図９は、本発明におけるEPGの表示図であり、データは別の後の格子表示ピリオドにおける図３９のカスタマイズされたチャンネル構成（ラインアップ）を示す。
【図１０】図１０は、本発明におけるEPGの表示図であり、データは後の格子表示ピリオドにおける図３９のカスタマイズされたチャンネル構成を示す。
【図１１】図１１は、EPGの表示図であり、データは本発明の最も単純な実施例の場合における問題のケースを示す。
【図１２】図１２は、本発明によるEPGの表示図であり、図１７の初期状態から「右へ移動」コマンドがなされたときの可能な結果を示す。
【図１３】図１３は、本発明の第２実施例に基づいて、「右へ移動」ユーザー入力コマンドに応答して、情報ラインをどのように移動させるかを決定することのためのフローチャートである。
【図１４】図１４は、本発明におけるEPGの表示図であり、「右へ移動」コマンドを実行する際に用いる新たな情報のポイントと損失情報のポイントを示すために、注釈を付けたものである。
【図１５】図１５は、本発明に基づくEPGの表示図であり、「右へ移動」コマンドを実行する際に用いる損失した情報のポイントを示すために注釈を付けたもので、情報ラインが図１４の場合よりも後の初期位置にある。
【図１６】図１６は、本発明に基づくEPGの表示図であり、「右へ移動」コマンドを実行する際に用いる損失した情報のポイントを示すために注釈を付けたもので、情報ラインが図１５の場合よりも後の初期位置にある。
【図１７】図１７は、本発明に基づくEPGの表示図であり、「右へ移動」コマンドを実行する際に用いる損失した情報のポイントを示すために注釈を付けたもので、情報ラインが図１６の場合よりも後の初期位置にある。
【図１８】図１８は、本発明の第２実施例に基づいて、「左へ移動」ユーザー入力コマンドに応答して、情報ラインをどのように移動させるか決定することのためのフローチャートである。
【図１９】図１９は、本発明におけるEPGの表示図であり、「左へ移動」コマンドを実行する際に用いる新たな情報ポイントと損失した情報のポイントを示すために、注釈を付けたものである。
【図２０】図２０は、本発明に基づくEPGの表示図であり、「左へ移動」コマンドを実行する際に用いる損失した情報のポイントを示すために注釈を付けたもので、情報ラインが図１９の場合より前の初期位置にある。
【図２１】図２１は、本発明に基づくEPGの表示図であり、「左へ移動」コマンドを実行する際に用いる損失した情報のポイントを示すために注釈を付けたもので、情報ラインが図２０の場合よりも前の初期位置にある。
【図２２】図２２は、本発明に基づくEPGの表示図であり、「左へ移動」コマンドを実行する際に用いる損失した情報のポイント及び新たな情報のポイントを示すために注釈を付けたもので、情報ラインが図２１の場合よりも前の初期位置にある。
【図２３】図２３は、本発明に基づくもう一つのEPGの表示図であり、データはカスタマイズされたチャンネルラインアップを示す。
【図２４】図２４は、本発明によるEPGの表示図であり、図２３の初期状態から「右へ移動」コマンドがなされたときの可能な結果を示す。
【図２５】図２５は、本発明によるEPGの表示図であり、図２４の初期状態から「右へ移動」コマンドがなされたときの可能な結果を示す。
【図２６】図２６は、本発明によるEPGの表示図であり、データは後の時間に、図２３-２５と同じチャンネルで生じるデータを示す。
【図２７】図２７は、本発明によるEPGの表示図であり、図２５の初期状態から「右へ移動」コマンドがなされたときの可能な結果を示す。
【図２８】図２８は、本発明によるEPGの表示図であり、データは後の時間に、図２３-２７と同じチャンネルで生じるデータを示す。
【図２９】図２９は、本発明によるEPGの表示図であり、図２７の初期状態からの「右へ移動」コマンドがなされたときの可能な結果を示す。
【図３０】図３０は、本発明によるEPGの表示図であり、図２９の初期状態からの「左へ移動」コマンドがなされたときの連続の可能な状態を説明する。
【図３１】図３１は、本発明の第３実施例に基づいて「右へ移動」ユーザー入力コマンドに応答して情報ラインをどのように移動するかを決定するためのフローチャートである。
【図３２】図３２は、本発明の第３実施例に基づいて「左へ移動」ユーザー入力コマンドに応答して情報ラインをどのように移動するかを決定するためのフローチャートである。
【図３３】図３３は、本発明の第４実施例に基づいて、水平ナビゲーションに応答してアクティブプログラムのインジケータをどのように移動するかを決定するためのフローチャートである。
【図３４】図３４は、従来技術におけるEPGの表示図である。
【図３５】図３５は、EPGの表示図であり、従来技術における図３４の初期状態から、「右へ移動」コマンドがなされたときの可能な結果を示す。
【図３６】図３６は、EPGの表示図であり、従来技術における図３５の初期状態から、「左へ移動」コマンドがなされたときの可能な結果を示す。
【図３７】図３７は、本発明の第４実施例によるEPGの表示図である。
【図３８】図３８は、本発明の第４実施例によるEPGの表示図であり、図３７の初期状態から、「右へ移動」コマンドがなされたときの可能な結果を説明する。
【図３９】図３９は、本発明によるEPGの表示図であり、カスタマイズされたチャンネルラインアップを示している。
【図４０】図４０は、EPGの表示図であり、従来技術における図３５の初期状態から、「左へ移動」コマンドがなされたときの、代替となる可能な結果を示す。
【図４１】図４１は、EPGの表示図であり、データは本発明の１つの実施例に基づく図７の初期状態から、「左へ移動」コマンドがなされたときの可能な結果を示す。
【図４２】図４２は、EPGの表示図であり、データは本発明による１つの実施例に基づく初期状態を示す。
【図４３】図４３は、EPGの表示図であり、データは本発明の１つの実施例により、可視ウィンドウのスクロールに所定のグローバルリミットを用いた可能な結果を示す。
【図１Ａ】
2006508612.tif 000003
【図１Ｂ】
2006508612.tif 000004
【図２】
2006508612.tif 000005
【図３】
2006508612.tif 000006
【図４】
2006508612.tif 000007
【図５】
2006508612.tif 000008
【図６】
2006508612.tif 000009
【図７】
2006508612.tif 000010
【図８】
2006508612.tif 000011
【図９】
2006508612.tif 000012
【図１０】
2006508612.tif 000013
【図１１】
2006508612.tif 000014
【図１２】
2006508612.tif 000015
【図１３】
2006508612.tif 000016
【図１４】
2006508612.tif 000017
【図１５】
2006508612.tif 000018
【図１６】
2006508612.tif 000019
【図１７】
2006508612.tif 000020
【図１８】
2006508612.tif 000021
【図１９】
2006508612.tif 000022
【図２０】
2006508612.tif 000023
【図２１】
2006508612.tif 000024
【図２２】
2006508612.tif 000025
【図２３】
2006508612.tif 000026
【図２４】
2006508612.tif 000027
【図２５】
2006508612.tif 000028
【図２６】
2006508612.tif 000029
【図２７】
2006508612.tif 000030
【図２８】
2006508612.tif 000031
【図２９】
2006508612.tif 000032
【図３０】
2006508612.tif 000033
【図３１】
2006508612.tif 000034
【図３２】
2006508612.tif 000035
【図３３】
2006508612.tif 000036
【図３４】
2006508612.tif 000037
【図３５】
2006508612.tif 000038
【図３６】
2006508612.tif 000039
【図３７】
2006508612.tif 000040
【図３８】
2006508612.tif 000041
【図３９】
2006508612.tif 000042
【図４０】
2006508612.tif 000043
【図４１】
2006508612.tif 000044
【図４２】
2006508612.tif 000045
【図４３】
2006508612.tif 000046
【国際調査報告】
2006508612.tif 000047
2006508612.tif 000048