(57)【特許請求の範囲】
【請求項１】
他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置を動作させるプログラムであって、
操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理ステップと、
操作入力を検知する操作検知ステップと、
上記操作検知ステップで、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別ステップと、
上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理ステップと、
を情報処理装置に実行させるプログラム。
【請求項２】
上記割当処理ステップでは、上記カーソル表示が、或る処理対象領域に位置された際毎に、表示画面上でのカーソル表示位置と、他の処理対象領域との位置関係に応じて、上記操作入力装置における上記矢印操作子以外の割当操作子に上記他の処理対象領域を割り当てる処理を情報処理装置に実行させるとともに、
上記操作検知ステップで、上記割当処理ステップで処理対象領域が割り当てられた上記割当操作子の操作入力が検知された場合に、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されている状態であるか否かを判別する第２の判別ステップと、
上記第２の判別ステップで、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記割当操作子の操作入力に応じて、その割当操作子に割り当てられた処理対象領域のリンク処理を実行し、上記第２の判別ステップで、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記割当操作子の操作入力を無効とする第２の操作対応処理ステップと、
をさらに情報処理装置に実行させる請求項１に記載のプログラム。
【請求項３】
上記操作検知ステップで、上記操作入力装置における決定操作子の操作入力が検知された場合に、カーソル表示位置とされている処理対象領域が上記表示画面に表示されている状態であるか否かを判別する第３の判別ステップと、
上記第３の判別ステップで、カーソル表示位置とされている処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記決定操作子の操作入力に応じて、カーソル表示位置とされている処理対象領域のリンク処理を実行し、上記第３の判別ステップで、カーソル表示位置とされている処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記決定操作子の操作入力を無効とする第３の操作対応処理ステップと、
をさらに情報処理装置に実行させる請求項２に記載のプログラム。
【請求項４】
他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置の情報処理方法として、
操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理ステップと、
操作入力を検知する操作検知ステップと、
上記操作検知ステップで、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別ステップと、
上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理ステップと、
を備えた情報処理方法。
【請求項５】
他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置において、
操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理手段と、
操作入力を検知する操作検知手段と、
上記操作検知手段で、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別手段と、
上記判別手段で、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別手段で、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理手段と、
を備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リンク設定部分等の処理対象領域が含まれた情報を表示させる、例えばブラウザとしての機能を持つプログラム、情報処理方法、情報処理装置に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２００４−２００８６６号公報
【０００３】
今日、インターネットの普及により、さまざまな環境でインターネット上の情報を閲覧するソフトウェア（ブラウザ）が使われている。パーソナルコンピュータを利用して情報を閲覧する場合、マウスを用いて手軽に操作を行い、ページ送りや他の情報へのリンク処理が行われることが多い。
さらに昨今、パーソナルコンピュータ以外の各種電子機器、例えばテレビジョン受像器やＡＶシステム機器、携帯電話機などでもインターネット上のウェブサイト情報などを閲覧できるようにされたものも普及しているが、これらは、ユーザーの操作手段として、マウスのない環境で情報の閲覧を行うという状況となることが多い。例えば、ブラウザ機能を有するテレビジョン受像器の場合では、インターネット情報の閲覧の際の操作にリモートコマンダーを用いるようにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
マウスのない環境においては、ブラウザで表示された情報内に埋め込まれた、他の情報へのリンクについての操作に工夫が必要とされる。即ち、マウスによるリンク設定部分のクリック操作に代わる、他の適切な操作が求められる。
【０００５】
マウスを用いない環境でのリンク操作として最もよく使われているのが、リンク設定部分にカーソルを置き、リモートコマンダーが具備するカーソルボタンを用いて、カーソルをクリックしたいリンクにまで移動させ、決定キーを押下するという操作方式である。
【０００６】
例えば図２６に、ブラウザ機能によって画面上にインターネット情報等の情報が表示されている状態を示している。表示された文章中には、諸処に、リンクが設定されたリンク設定部分１０１（以下、リンク設定部分としての表示上の範囲のことを「リンク１０１」と表記する）が設けられている。リンク１０１とされる部分は、アンダーラインや異なる表示色などで、リンク設定部分であることが示される。
またこのとき「視聴」という文字に設定されたリンク１０１に対して、カーソル１００が位置しているとする。
【０００７】
リモートコマンダーでリンク操作を行う場合、カーソルを移動させる矢印ボタン（矢印キー）などでカーソル１００を所望のリンク１０１まで移動させる。
例えば図２６の状態から下矢印ボタンを一回押すと、カーソル１００は「ＨＤＤ」の文字のリンク１０１に移動される。その状態で決定キーを押せば、それがマウスにおけるクリックと同様の操作となり、「ＨＤＤ」のリンク設定に応じた処理が行われる。例えばリンクされているデータが表示される。
【０００８】
上記のように例えば矢印ボタンなどでリンク１０１に対するカーソル位置を移動させていくとき、各リンク１０１が画面上に表示されているのであれば、ユーザーにとって操作上の違和感はない。例えば図２６の表示状態において、「ＶＴＲ」「録画」「視聴」「ＨＤＤ」「ＤＶＲ」「予約登録」の各リンク１０１上を矢印ボタン等でカーソル１００を移動させることは問題ない。例えばカーソル１００が「視聴」の部分にある状態でユーザーが上矢印ボタンを押した際に、カーソルが「録画」の位置に移動することにユーザーは違和感を感じない。
ここで、図２７のように画面がスクロールされたとする。「ＶＴＲ」「録画」というリンク１０１は、画面上方に隠れた状態となっている。
この図２７の状態のときに、ユーザーが上矢印ボタンを押したとすると、カーソルを「録画」の位置に移動させるためには、画面を上にスクロールさせて「録画」のリンク１０１を含む行を表示させた上で、そこにカーソルを移動させることになる。ところがユーザーがカーソル移動を期待して操作を行ったときに、このような画面のスクロールが伴うことは、違和感を感じさせるものとなる。
特に表示しているデータが画面上での多数のページにわたっており、リンク１０１の位置がかなり離れている場合は、画面上で大幅にスクロールが行われ、表示内容が急に大きく変化してしまうため、ユーザーが感じる違和感は大きく、また情報の閲覧に不便である。
一方、このようなスクロールを伴わないでカーソルを画面外の「録画」の位置に移動させるようにすると、カーソルが消えてしまうことになり、これもユーザーにとっての違和感は大きい。
【０００９】
また、このような状況はリンク１０１に対するカーソル１００の移動だけでなく、リンク１０１の選択決定操作にも生ずる。
上記のようにマウスを用いない操作環境において、リンク操作を簡易化するためには、リンク１０１に対して、これをダイレクトな選択決定操作を行う操作ボタンを設けることが考えられる。
例えば或る操作ボタンを図２６の「ＶＴＲ」というリンク１０１のリンク操作ボタンとし、そのボタンを操作すると、カーソル位置にかかわらず、「ＶＴＲ」についてのリンク処理が行われるようにする。
ところが、もし図２７のように「ＶＴＲ」の部分が表示されていないときに、「ＶＴＲ」のリンク操作ボタンが操作されたことに応じて「ＶＴＲ」についてのリンク処理を行ってしまうと、ユーザーの違和感は大きい。ユーザーはそのリンク部分を画面上で認識していないため、場合によってはユーザーが意図しないリンク処理によって例えば表示画面内容が切り換えられてしまうといったことも生ずる。
【００１０】
以上は処理対象領域としてのリンク１０１に対する操作であるが、画面上でカーソル１００を位置させて処理を行う処理対象領域としては、クリック可能に設定されている各種のアイコン、操作子画像、テキストボックス、プルダウンリストボックスなどがあり、これらについてもマウスを用いない環境においては同様の問題がある。
そこで本発明は、リンク１０１等の処理対象領域へのカーソル移動の操作や、リンク１０１等の処理対象領域を選択決定する操作など、ユーザーが特定の処理対象領域に関する操作を行った場合に、上記のような違和感や不都合を発生させず、より快適な操作環境を提供できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明のプログラムは、他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置を動作させるプログラムである。
そして、操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理ステップと、操作入力を検知する操作検知ステップと、上記操作検知ステップで、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別ステップと、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理ステップとを情報処理装置に実行させる。
また、上記割当処理ステップでは、上記カーソル表示が、或る処理対象領域に位置された際毎に、表示画面上でのカーソル表示位置と、他の処理対象領域との位置関係に応じて、上記操作入力装置における上記矢印操作子以外の割当操作子に上記他の処理対象領域を割り当てる処理を情報処理装置に実行させる。そして、上記操作検知ステップで、上記割当処理ステップで処理対象領域が割り当てられた上記割当操作子の操作入力が検知された場合に、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されている状態であるか否かを判別する第２の判別ステップと、上記第２の判別ステップで、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記割当操作子の操作入力に応じて、その割当操作子に割り当てられた処理対象領域のリンク処理を実行し、上記第２の判別ステップで、操作された割当操作子に割り当てられた処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記割当操作子の操作入力を無効とする第２の操作対応処理ステップとをさらに情報処理装置に実行させる。
また上記操作検知ステップで、上記操作入力装置における決定操作子の操作入力が検知された場合に、カーソル表示位置とされている処理対象領域が上記表示画面に表示されている状態であるか否かを判別する第３の判別ステップと、上記第３の判別ステップで、カーソル表示位置とされている処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記決定操作子の操作入力に応じて、カーソル表示位置とされている処理対象領域のリンク処理を実行し、上記第３の判別ステップで、カーソル表示位置とされている処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記決定操作子の操作入力を無効とする第３の操作対応処理ステップとをさらに情報処理装置に実行させる。
【００１２】
本発明の情報処理方法は、他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置の情報処理方法として、操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理ステップと、操作入力を検知する操作検知ステップと、上記操作検知ステップで、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別ステップと、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別ステップで、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理ステップとを備える。
【００１３】
本発明の情報処理装置は、他の情報へのリンクが設定されたリンク設定部分である処理対象領域を含む情報を表示画面に表示させる情報処理装置である。そして、操作入力装置における、上記表示画面上でのカーソル移動の方向を指示する矢印操作子について、上記情報に含まれる処理対象領域を割り当てる処理を行う割当処理手段と、操作入力を検知する操作検知手段と、上記操作検知手段で、上記矢印操作子の操作入力が検知された際に、その操作された矢印操作子に、特定の処理対象領域が割り当てられているか否か、及び特定の処理対象領域が割り当てられている場合は、その特定の処理対象領域が、上記表示画面に表示されている状態であるか否かを判別する判別手段と、上記判別手段で、操作された矢印操作子に特定の処理対象領域が割り当てられており、かつ、その特定の処理対象領域が上記表示画面に表示されている状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面上でカーソル表示を上記特定の処理対象領域に移動させる処理を行い、上記判別手段で、操作された矢印操作子に特定の処理対象領域が割り当てられていないか、又は特定の処理対象領域が割り当てられているがその特定の処理対象領域が上記表示画面に表示されていない状態と判別された場合には、上記矢印操作子の操作入力に応じて、上記表示画面に表示されている情報をスクロールさせる処理を行う操作対応処理手段とを備える。
【００１４】
即ち本発明では、ユーザーが画面に表示された情報に含まれるリンク設定部分等の処理対象領域に関する操作を行った場合、その操作入力が対象とする特定の処理対象領域が、その時点で画面上に表示されているか否かを判別する。表示されていれば、その操作に応じた処理、例えばその処理対象領域へのカーソル移動や、その処理対象領域の処理（例えばリンク設定部分の選択決定としてのリンク処理やアイコンのクリックに相当する処理など）を行うが、当該処理対象領域が表示されていなければ、それらの処理を行わない。つまりそのような場合のユーザー操作は、処理対象領域に関する操作入力として扱わない。例えば無効操作とする。
なお、カーソルとは、画面上の特定の処理対象位置を示す表示として用いられるものをいい、表示形態は多様である。例えば枠表示、下線表示、反転表示、ハイライト表示等の如何なる表示形態であっても、画面上での処理対象位置を示す表示は本発明でいうカーソルに含まれる。
処理対象領域とは、リンク設定部分に限らず、カーソルを配置させて何らかの処理を行う領域のことであり、クリック可能に設定されている各種のアイコン、操作子画像、テキストボックス、プルダウンリストボックス、チェック入力ボックスなどが該当する。
【発明の効果】
【００１５】
本発明によれば、情報上のリンク設定部分等の処理対象領域に対する操作が行われても、その処理対象領域が画面上に表示されていなければ、その操作に応じて処理対象領域に関する処理、例えば処理対象領域としてのリンク設定部分へのカーソル移動や、リンク設定部分等に対する選択決定処理（リンク処理等）を行わない。これによってユーザーが画面上で認識していない処理対象領域に関する処理動作は行われないことになり、情報閲覧時にユーザーが違和感を感じたり不都合が生じたりすることが解消され、快適な情報閲覧を実現できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を次の順序で説明する。
［１．実施の形態の画面表示例］
［２．システム構成］
［３．割当処理のための構造］
［４．ブラウザ処理］
【００１７】
［１．実施の形態の画面表示例］
本発明の実施の形態を、インターネット等のネットワークから得られる情報のブラウザ機能を備えたテレビジョンシステムで実施する例で説明する。また実施の形態では、表示画面上の処理対象領域の例としてリンク設定部分を挙げる。
そしてシステム構成の説明に先立って、ブラウザ機能で表示される画面例について述べる。なお、この実施の形態では、画面上のリンク設定部分に対して、順次カーソルを移動させる操作や、リンク設定部分をダイレクトに選択決定する操作ができるようにする。
【００１８】
図１は、本実施の形態のシステムにおいて、ブラウザM機能で表示された画面例を示している。この場合インターネットウェブサイト等の情報として、その一部の文章が表示されているが、文章中には、他の情報へのリンク、例えばＵＲＬ（Uniform Resource Locator）等が設定されたリンク設定部分１０１（以下、リンク設定部分１０１を単に「リンク１０１」と表記）が設けられている。リンク１０１とされる部分は、アンダーラインや異なる表示色などで、リンク設定部分であることが示される。
またこのとき「視聴」という文字に設定されたリンク１０１に対して、カーソル１００が位置しているとする。
【００１９】
図４で後述するリモートコマンダー３で操作を行う場合、カーソル１００を移動させるには矢印ボタン３２を使用する。矢印ボタン３２としての上矢印ボタン、下矢印ボタン、右矢印ボタン、左矢印ボタンにより、カーソル１００を、各リンク１０１を、その方向に応じて順次選択していくことができる。
また、或るリンク１０１にカーソル１００が位置する状態において図４の決定ボタン３３を押すと、そのカーソル１００で指定されたリンク１０１のリンク機能がアクティベートされ、リンク処理が行われる。
【００２０】
さらに本例の場合、この矢印ボタン３２と決定ボタン３３を用いる操作の他に、一例として数字ボタン３１を利用して、より簡易なリンク操作を実行できるようにする。
【００２１】
図４に示すリモートコマンダー３は、テレビジョンシステム（後述するチューナ装置２）に対するリモートコマンダーであって、例えば選局操作のための操作ボタンとして「１」〜「１２」までの数字ボタン３１を備えている。
ここで本例では、図１のようにカーソル１００の位置と、他のリンク１０１の位置の位置関係を、数字ボタン３１の例えば「５」ボタンを中心とした位置関係になぞらえて対応づけるように割当を行う。そして画面上には各リンク１０１に、割り当てられた操作子（数字ボタン３１）を示すボタンアイコン１０２を表示する。
例えば図１において、「視聴」というリンク１０１にカーソル１００が位置しているときは、「ＶＴＲ」というリンク１０１に数字ボタン３１における「１」ボタンを割り当てる。そして、「ＶＴＲ」の近辺に「１」を示すボタンアイコン１０２を重畳表示させる。
他のリンク１０１としての「録画」「ＨＤＤ」「ＤＶＲ」「予約登録」等も同様に、それぞれ「３」ボタン、「７」ボタン、「９」ボタン、「８」ボタンが割り当てられ、それらを示すボタンアイコン１０２が重畳表示される。
【００２２】
このような表示に対して、ユーザーはダイレクトにリンク操作を行うことができる。例えば図１の状態では「視聴」というリンク１０１にカーソル１００が位置しているため、この状態から決定ボタン３３（又は「５」ボタンでもよい）を操作すれば、「視聴」にかかるリンク処理が行われるが、他のリンク１０１もダイレクトに操作できる。例えば「１」ボタンを押せば、直接的に「ＶＴＲ」のリンク１０１のリンク操作となり、「ＶＴＲ」のリンク設定による処理が行われ、同様に「８」ボタンを押せば、直接的に「予約登録」のリンク１０１のリンク操作となり、「予約登録」のリンク設定による処理が行われる。即ち、カーソル１００を順次移動させてから決定操作を行うことなく、画面上に示されたリンク１０１に対して、１回の数字ボタン３１の操作としてリンク操作を実行できるものである。
以上のように、リンク１０１に対するカーソル移動や、リンク１０１に対するダイレクトなリンク操作を実現するシステム例において、以下、本実施の形態の構成及び処理例を説明していく。
【００２３】
［２．システム構成］
図２に実施の形態のテレビジョンシステムを示す。当該システムはモニタ装置１とチューナ装置が接続されて成る。またユーザーの操作のためにリモートコマンダー３が用いられる。リモートコマンダー３は各種ボタン操作に応じて赤外線コマンド信号を出力し、この赤外線コマンド信号がチューナ装置２の受光部１９で受光される。
チューナ装置２は、例えば内部に地上波放送や衛星放送のチューナを備え、放送番組の
ストリーム映像信号を受信・復調する。そして映像信号を、ＣＲＴ（Cathode Ray Tube）、液晶パネル、或いはプラズマディスプレイパネルなどによる画面を備えたモニタ装置１に供給し、表示させる。またチューナ装置２はインターネット等のネットワーク通信機能やブラウザ機能を備え、ウェブサイト等のデータをモニタ装置１で表示させることができる。
なお、この図２ではチューナ装置２とモニタ装置１を別体の機器としているが、これらを一体化してテレビジョン受像器として構成する場合も本発明の実施の形態として考えられる。
【００２４】
図３にチューナ装置２を詳しく示した構成を示している。
チューナ装置２には、放送受信機能として地上波放送或いは衛星放送に対応するチューナ１１が設けられ、アンテナ６で受信された例えばデジタル放送波についての受信復調処理を行う。
なお、受信機能としては、必ずしもアンテナ６で受信する放送波を復調する形態ではなく、いわゆるケーブルテレビ放送や、インターネット等のネットワークを介して供給されるストリーミング放送に対応するチューナ又はデコーダが設けられても良い。
チューナ１１で受信された放送信号はデスクランブラ１２でスクランブル処理を解除するデコードが行われた後、デマルチプレクサ１３に供給される。
デマルチプレクサ１３では、受信した多重化されたデジタル放送信号のトランスポートストリームから、符号化された映像信号及び音声信号などを分離する。
【００２５】
デマルチプレクサ１３で分離された映像信号は、映像切替部１４を介して映像処理回路１５に供給され、符号化データの復号処理や、例えばＮＴＳＣ（National TV Standards Committee）方式等の所定の方式の映像信号に変換されモニタ装置１に出力される。もちろんＰＡＬ（Phase Alternation by Line）方式、ＳＥＣＡＭ（Sequential Color And Memory）方式などの場合もある。さらに各方式における信号形態におけるコンポジットビデオ信号、Ｙ／Ｃ信号、ＲＧＢ信号など、出力信号形態は多様である。
またデマルチプレクサ１３で分離された音声信号は、音声切替部１６を介して音声処理回路１７に供給され、符号化データの復号処理やＡ／Ｄ変換処理等が行われてモニタ装置１に供給される。
モニタ装置１は、このようにして供給された映像信号を表示出力し、また音声信号をスピーカから出力する。
【００２６】
ＯＳＤ（On Screen Display）付加回路１８は、ＣＰＵ２０の制御に基づいて表示用のイメージデータを発生する。ＯＳＤ付加回路１８によって各種のキャラクタ、アイコン、カーソル、メニュー画像等のイメージデータが発生された場合、それらのイメージデータが映像処理回路１５で映像信号に重畳され、或いは映像信号と切り換えられて、モニタ装置１に供給され、イメージデータの表示が行われる。
ＯＳＤ付加回路１８によって発生させるイメージデータは、例えば各種の操作用のメニューやアイコン等のＧＵＩ画像、メッセージ、チャンネルや音量表示、ブラウザ機能に基づく画像などがある。
【００２７】
インターフェース２２は、インターネット等のネットワーク５や外部機器との通信を行う。インターフェース２２は、例えばＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４、ＵＳＢ（Universal Serial Bus）等の規格に対応したインターフェースとすることができ、イーサネット（登録商標）、ワイヤレスＬＡＮ（Local Area Network）などを構築することもできる。
そのインターフェース方式や通信形態、ネットワーク構造等については限定されないが、この図３では、インターフェース２２を、インターネット通信機能や、デジタル記録再生装置４等の外部機器との通信機能を実現するための部位として総括的に示している。
ネットワーク５や外部機器としての例えばデジタル記録再生装置４等から供給された映像データ、音声データは、映像切替部１４，音声切替部１６を介して映像処理回路１５、音声処理回路１７に供給されて所定の処理を経ることで、チューナ１１で受信した放送映像／音声に代えてモニタ装置１で出力させることができる。
【００２８】
ＣＰＵ（Central Processing Unit ）２０は、チューナ装置２の全体の制御を行うコントローラとして機能する。すなわちＣＰＵ２０は、チューナ１１での選局動作、デスクランブラ１２，デマルチプレクサ１３の処理の指示、映像切替部１４や音声切替部１６の切替制御、映像処理回路１５、音声処理回路１７の処理の指示、ＯＳＤ付加回路１８でのＯＳＤ画像の生成指示などを、ユーザーの操作や動作プログラムに従って行う。
さらにＣＰＵ２０はインターネットサイト等のデータのブラウザとしても機能する。即ちインターフェース２２を介してウェブサイト等にアクセスし、そのウェブサイト等で得られる画像の表示を実行させたり、リンク処理を行うことができる。
【００２９】
メモリ２１は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリなどのＣＰＵ２０がアクセスするメモリ領域を総括的に示している。
メモリ２１におけるＲＯＭには、ＣＰＵ２０を動作させるプラットフォームソフトウェアモジュールや起動モジュール等が記憶されている。
メモリ２１におけるＲＡＭは、ＲＯＭに記憶されている起動モジュールやＯＳ等のプラットフォームソフトウェアプログラム、アプリケーションプログラム、または、その実行において適宜変化するパラメータを一時格納する。またＣＰＵ２０の各種演算処理のためのワーク領域として用いられる。
メモリ２１におけるフラッシュメモリは、例えば各種処理係数や履歴情報等、電源オフの際にも消失させない情報の記憶に用いられる。
【００３０】
ユーザーの操作のための操作入力手段としてはリモートコマンダー３が想定される。
ユーザーがリモートコマンダー３を操作することで、例えば赤外線信号として操作信号が出力される。この赤外線操作信号は受光部１９で受光され、電気信号に変換されてＣＰＵ２０に伝えられる。即ちユーザーはリモートコマンダー３の操作子を操作して各種の指示や入力を行うことができる。ＣＰＵ２０はリモートコマンダー３による操作入力情報を検出して、所定の制御を行い、該チューナ装置２にユーザーが指示した動作を実行させる。
もちろんリモートコマンダー３は赤外線方式のみでなく、例えば電波を用いたものでもよい。
また図示していないが、チューナ装置２の本体筐体上に設けられるパネル操作部としての操作キーや操作ダイヤル等によっても、同様の操作は可能である。
リモートコマンダー３や、図示しないパネル操作部によるユーザーの操作としては、例えば選局、音量調整、モード切換、カーソル操作、決定操作、ブラウザ操作などが行われる。
【００３１】
このようなチューナ装置２の動作を説明する。
まず、通常の放送視聴時の動作を説明する。ユーザーによるリモートコマンダー３の操作により、放送局（チャンネル）の選局操作が行われると、その操作情報がＣＰＵ２０に伝えられ、ＣＰＵ２０は、選局操作に応じてチューナ１１を制御する。チューナ１１では、ＣＰＵ２０から指示された選局情報に応じ放送局を選局して、変調されトランスポートストリーム形式で送られる放送コンテンツを受信し復調する。次に、有料放送などであって暗号化されていれば、ＣＰＵ２０の制御のもと、デスクランブラ１２でスクランブルを解き、トランスポートストリームの多重化をデマルチプレクサ１３で解く。ここで分離された映像信号及び音声信号は符号化されているので、映像信号は映像処理回路１５で、音声信号は音声処理回路１７5で復号される。
【００３２】
データ放送受信の際は、デマルチプレクサ１３で分離されたデータ放送信号は、ＣＰＵ２０を介してデータ放送画面表示信号としてＯＳＤ付加回路１８に伝送され、ＣＰＵ２０の描画命令のもとＧＵＩ（Graphical User Interface）映像信号を作り、映像処理回路１５で復号された映像信号に付加されモニタ装置１のディスプレイに出力される。また、復号された音声信号はモニタ装置１のスピーカで出力される。
【００３３】
ユーザーはリモートコマンダー３の操作によりブラウザなどのアプリケーションを起動させこともできる。たとえばユーザーが、ブラウザ起動・終了を指示する操作をリモートコマンダー３で行うことで、ＣＰＵ２０はメモリ２１からアプリケーションを読み込み起動する。ブラウザが起動された場合は、ＣＰＵ２０はそのブラウザ機能により、インターフェース２２を介して、インターネット上の情報を入手し、ユーザーの閲覧のために表示させる。
【００３４】
放送されるコンテンツを録画したい場合、ユーザーはリモートコマンダー３で録画操作を行えばよい。すると、ＣＰＵ２０の制御により、受信した放送のコンテンツの映像／音声信号がインターフェース２２を介して接続されたデジタル記録再生装置４に転送される。そしてＣＰＵ２０からの要求に応じて、デジタル記録再生装置側でコンテンツ映像／音声の記録が行われる。
ユーザーがリモートコマンダー３で再生操作を行った場合は、ＣＰＵ２０はデジタル記録再生装置４に対して再生動作を指示し、記録されたコンテンツ映像／音声の再生を実行させる。再生されたコンテンツ映像／音声のデータはインターフェース２２を介して入力され、映像処理回路１５、音声処理回路１７で処理され、モニタ装置１のディスプレイ及びスピーカで出力される。
【００３５】
なお、以上の図３のチューナ装置２は、本発明の情報処理装置の一例であり、特にはマウスのない状況でのブラウザ画面に対する操作を行う装置の例として示すものである。
【００３６】
図４にリモートコマンダー３の操作ボタンの構成例を示す。リモートコマンダー３にはチューナ装置２や接続された外部機器の操作に必要な各種の操作ボタンが操作子として設けられるが、後述する本例の動作に関連する操作ボタンとして、図４に示すように数字ボタン３１，矢印ボタン３２，決定ボタン３３，ブラウザボタン３４が設けられる。
数字ボタン３１としては、「１」ボタン〜「１２」ボタンが設けられ、これらは通常のテレビジョン放送受信時には選局操作のボタンとして機能する。またブラウザ動作を行っているときは、本例では「１」ボタン〜「１２」ボタンの全部又は一部が、図１で示したリンク１０１に割り当てられ、リンク操作のためのダイレクト操作ボタンとされる。
矢印ボタン３２としては、上ボタン、下ボタン、右ボタン、左ボタンが設けられる。これらの矢印ボタン３２は、その方向へのカーソル１００の移動やメニュー画面での選択部分の移動などに用いられる。ブラウザ動作中には、矢印ボタン３２によって、カーソル１００を順次リンク１０１に対して移動させることができる。
決定ボタン３３は、決定操作のボタンであり、例えばカーソル１００が或るリンク１０１に位置しているときに決定ボタン３３を押すことで、決定操作としてリンク処理を実行させることができる。またメニュー画面その他のユーザーインターフェース画面上における各種決定操作のための操作ボタンとなる。
ブラウザボタン３４は、ブラウザ機能のオン／オフを指示する操作ボタンである。
【００３７】
次に図５で、ＣＰＵ２０におけるブラウザ機能のためのソフトウエア構成を示す。
図５に示すように、ソフトウエア構成としてウインドウシステム／グラフィックス処理部４１、入力処理部４２、ジャバスクリプトエンジン４３、イメージデコーダ４４、ＨＴＴＰ（Hypertext Transfer Protocol）４５、ネットワーク部４６、レンダラ４７、レイアウタ４８、パーザ４９が構成される。
図３のインターフェース２２によりチューナ装置２がネットワーク５に接続された際には、図５のネットワーク部４６により入手したデータについて、ＨＴＴＰ４５でプロトコル処理を行い、パーザ４９で解析する。そして解析結果をもとにレイアウタ４８でリンク１０１などの配置が決まり、レンダラ４７がウインドウシステム／グラフィックス処理部４１を介して表示制御する。
ユーザからの操作は、入力処理部４２を介して処理される。後述する本例のリンク操作に関する処理は、この入力処理部４２が、レンダラ４７、レイアウタ４８と協調しながら実現する。
なお以下の説明では、レイアウタ４８内で、リンクは、それを囲む多角形として保存されているとする。
【００３８】
［３．割当処理のための構造］
図１で説明したように、本例では画面表示されたデータに含まれるリンク１０１に対して、動的に数字ボタン３１を割り当てる。そして割り当てられた数字ボタン３１が操作された場合は、その操作に応じてリンク処理を行う。
なお、リンク１０１に割り当てるボタンは、リモートコマンダー３における数字ボタン３１に限られるものではなく、システムに応じて決められればよいが、以下では数字ボタン３１を割り当てるものとして説明する。
【００３９】
まず図６に数字ボタン３１における「１」ボタン〜「１２」ボタンのポインタの構造体を模式的に示している。これはボタン配置を表す内部のデータ構造で、後述のアルゴリズムの処理の際に用いる。
図６（ａ）における１２個の構造体は、それぞれ「１」ボタン〜「１２」ボタンを示しており、それぞれ９分割した中央に、その数字ボタン３１の数字を示している。
各構造体として、周囲に配置される別のボタンへのポインタが示される。即ち、９分割の中央から見て周囲の８個の四角が、その周囲の８個のボタンに対するポインタとする。後述する処理で用いるポインタ名称を図６（ｂ）に示す。図示するように、ポインタとして、上下左右のボタンに対する上ポインタ、下ポインタ、左ポインタ、右ポインタが設定され、また斜め方向に位置するボタンに対するポインタとして、右斜め上をＰ１ポインタ、左斜め上をＰ２ポインタ、左斜め下をＰ３ポインタ、右斜め下をＰ４ポインタと呼ぶこととする。
【００４０】
図６（ａ）には、「５」ボタンから各ポインタにより示されるボタンを示している。「５」ボタンから見た場合、上ポインタは「２」ボタンを、下ポインタは「８」ボタンを、左ポインタは「４」ボタンを、右ポインタは「６」ボタンを示す。Ｐ１ポインタは「３」ボタンを、Ｐ２ポインタは「１」ボタンを、Ｐ３ポインタは「７」ボタンを、Ｐ４ポインタは「９」ボタンを示す。
【００４１】
なお「×」を付した部分は、本例のリモートコマンダー３のボタン配置においては、そのポインタ方向にリンク１０１の割り当てを行うボタンが存在しないことを示している。つまり「×」の部分はポインタは存在しない。例えば「１」ボタンについては右ポインタ、Ｐ４ポインタ、下ポインタのみが存在し、Ｐ１ポインタ、上ポインタ、Ｐ2ポインタ、左ポインタ、Ｐ３ポインタは存在しない。
ただし、例えば数字ボタン３１以外にもリンク１０１の割り当てを行うものとする場合、例えば図４における「１」ボタンの真上のボタンについても割り当てに用いるものとする場合などは、それを「１」ボタンの上ポインタとして指示するようにする。
【００４２】
また、数字ボタン３１をリンク１０１に割り当てる処理のために、割り当て開始ボタンポインタ８０が設定される。この割り当て開始ボタンポインタ８０が「５」ボタンに設定されているときは、「５」ボタンを基準に割り当て処理が行われる。
また表示オン／オフボタンポインタ８１は、図１に示したボタンアイコン１０２の表示をオン／オフする操作ボタン（表示オン／オフボタン）を決定するポインタである。例えば表示オン／オフボタンポインタ８１として「５」ボタンが設定されているときは、「５」ボタンが表示オン／オフボタンとして機能するようにされる。
なお、「５」ボタン以外の数字ボタン３１、或いは数字ボタン３１以外の他のボタンが表示オン／オフボタンポインタ８１によって指定されることもある。さらには、表示オン／オフボタンとして数字ボタン３１等とは独立した操作ボタンがリモートコマンダー３等に設けられても良い。
【００４３】
図７は本例のアルゴリズムで用いる座標系を決める基準となる軸を示している。カーソル１００が位置するリンク１０１を囲むバウンディグボックスを、それぞれＸ軸方向に伸ばしたＸ軸ボックス２１１とＹ軸方向に伸ばしたＹ軸ボックス２１０を基準となる軸として用いる。
図８は、ボタンにリンクを割り当てるときに用いる座標系を示す。
カーソル１００の位置に対する座標上の範囲を、図のように右ボックス２０５、上ボックス２０６、左ボックス２０７、下ボックス２０８、第１象限２０１、第２象限２０２、第３象限２０３、第４象限２０４とする。
図中のｄ１，ｄ２，ｄ３，ｄ４，ｄｄ，ｄｕ，ｄｒ、ｄｌは、座標系内のそれぞれのボックス内に位置するリンク１０１とカーソル１００の位置の距離として定義される。例えば第１象限のリンク１０１とカーソル１００の距離をｄ１として定義する。
【００４４】
［４．ブラウザ処理］
以下、本実施の形態の特徴的な処理、即ちブラウザ機能の動作において図１で説明したリンクのダイレクト操作を行うための処理を説明していく。
まず図９で、ブラウザ機能としてのＣＰＵ２０のメイン処理を説明する。
【００４５】
図９の処理は、ユーザーがブラウザボタン３４を押すこと応じてＣＰＵ２０でブラウザが起動された後に実行される処理である。
まずステップＦ１０１としてＣＰＵ２０は、前回のブラウザ終了時に保存したボタンアイコン表示モードを読み込む。即ちボタンアイコン表示モードがオンであるかオフであるかを確認する。
ボタンアイコン表示モードが設定されていない場合は、デフォルトとして表示モードオン  次にステップＦ１０２で、指定されたＵＲＬに関するデータをネットワーク５を介した通信により読み込み、モニタ装置１に表示させる。ステップＦ１０３では、当該ＵＲＬのデータについての表示完了を待つ。
表示が完了したらステップＦ１０４に進み、モニタ装置１の画面上に表示されているリンク１０１のうち、最も左上にあるリンク１０１にカーソル１００を設定する。
なお、ＵＲＬに対するアクセスを行って取得したデータは、常にその全体が画面内に表示できるものではなく、データサイズや画面サイズの都合により、データの一部が表示される場合も多い。ステップＦ１０４では、あくまで画面表示されている中におけるリンク１０１として、最も左上にあるリンク１０１にカーソル１００をあてる処理となる。データ内にリンク１０１が存在しない場合や、リンク１０１が存在しても、それが表示されていない場合（画面外の場合）は、カーソル１００は、その時点では表示されない。なおこのような場合、カーソルが画面上の左上位置などでリンク１０１以外の部分に表示されるようにしてもよい。
【００４６】
その後ステップＦ１０５に進み、後述する図１０に示すボタン処理を行う。ボタン処理の結果としてリンク処理による他のＵＲＬか、或いはブラウザ終了コマンドが返される。
もしステップＦ１０５のボタン処理においてＵＲＬが返されたら、ステップＦ１０６からＦ１０２に戻り、そのＵＲＬのデータの読込及び表示の処理を実行する。
一方、ステップＦ１０５のボタン処理においてブラウザ終了コマンドが返された場合は、ステップＦ１０７に進み、その時点のボタンアイコン表示モードを保存したうえでブラウザを終了する。
【００４７】
上記ステップＦ１０５のボタン処理を、図１０〜図２４で説明していく。図１０は、ステップＦ１０５のボタン処理を詳しく示したもので、主にボタンの割当処理と、ユーザからのボタン入力に対する処理を含むフローチャートである。
【００４８】
ＣＰＵ２０は、ステップＦ２００で画面表示さているデータの中にカーソル１００が割り当てられているリンクがあるかどうかをチェックする。つまり実際の表示画面内で、或るリンク１０１にカーソル１００が位置しているか否かのチェックである。
上記図９のステップＦ１０４では画面内で最も左上のリンク１０１上にカーソル１００があてられるが、リンク１０１が存在しなかったり、リンク１０１が画面外の場合は、ステップＦ２００の時点でカーソル１００はリンク１０１上に位置していない。
このようにカーソル１００がリンク１０１上に位置していない場合は、ステップＦ２００のチェックで否定結果が得られ、ステップＦ２０４に進み、ＣＰＵ２０はユーザーの操作入力を待機する。
【００４９】
表示画面内で、カーソル１００が或るリンク１０１上に位置している場合は、ステップＦ２００からＦ２０１に進む。そしてステップＦ２０１で、現在カーソル１００が当たっているリンク１０１を用いて、ユーザーが操作に使用するボタン（本例の場合、数字ボタン３１）に、他のリンクを割り当てる処理を行う。このステップＦ２０１により、画面上の各リンクが、それぞれ数字ボタン３１のいずれかに割り当てられる。例えば図１で説明したように、「視聴」というリンク１０１にカーソル１００が位置しているときに、リンク１０１として表示されている「ＶＴＲ」「録画」「ＨＤＤ」「ＤＶＲ」「予約登録」に、「１」ボタン、「３」ボタン、「７」ボタン、「９」ボタン、「８」ボタンがそれぞれ割り当てられることが決定される。
【００５０】
このステップＦ２０１のリンクとボタンの割当処理を、図１１から図１８を用いて詳しく説明する。
図１１は、ステップＦ２０１のボタンへのリンク割当処理を示している。
まずステップＦ３０１では、図６で説明した割り当て開始ボタンポインタ８０で示されるボタンをカレントボタンとし、現在カーソル１００が位置しているリンクを、このカレントボタンに割り当てる。例えば割り当て開始ボタンポインタ８０が「５」ボタンを示し、また画面において図１のようにカーソル１００が「視聴」というリンク１０１上ある場合、この「視聴」というリンク１０１に「５」ボタンが割り当てられる。
その後、ステップＦ３０２に進み、図１２に示すボタン割り当て処理を行う。例えば画面上の各リンク１０１が、「５」ボタンの周囲のボタンに割り当てられていく。
【００５１】
ボタン割り当て処理が終わると、ステップＦ３０３で、図６に示した表示オン／オフボタンポインタ８１で示されるボタンと、割り当て開始ボタンポインタ８０で示されるボタンが同一であるか否かで処理が分岐され、異なれば、図１１の処理、即ち図１０のステップＦ２０１の処理を終えるが、同一であれば、ステップＦ３０４で、そのボタンへのリンクの割り当てを解除したうえで処理を終える。例えば図６では、表示オン／オフボタンポインタ８１と割り当て開始ボタンポインタ８０はいずれも「５」ボタンを示しているが、この場合は「５」ボタンのリンク割当が解除される。このため「５」ボタンは表示オン／オフボタンとして機能する。
もし表示オン／オフボタンポインタ８１が、数字ボタン３１以外のボタンを指定していれば、「５」ボタン３１のリンク割当解除は不要である。また特に表示オン／オフボタンポインタ８１を使用せず、表示オン／オフボタンが専用ボタンとして設けられていれば、ステップＦ３０３，Ｆ３０４の処理は不要である。
【００５２】
ステップＦ３０２のボタン割当処理は図１２に示される。
この図１２のボタン割当処理では、ステップＦ４０１で、カレントボタンにリンク１０１が割当てられているかどうかを調べる。リンク１０１が割り当てられていない場合、そのまま処理を終える。
或るリンク１０１が割り当てられている場合、ステップＦ４０２に進み、そのリンク１０１を用いて、Ｘ軸ボックス２１１とＹ軸ボックス２１０、第１象限２０１、第２象限２０２、第３象限２０３、第４象限２０４と交差するリンク１０１の割り当て優先リストを作成する。
【００５３】
このステップＦ４０２のリンク優先リストの作成処理を図１３に示す。
優先リストは、下ボックス２０８、右ボックス２０５、上ボックス２０６、左ボックス２０７、第１象限２０１、第２象限２０２、第３象限２０３、第４象限２０４ごとに作られる。
【００５４】
ステップＦ５０１で、下ボックス２０８と交差するリンク１０１を図８で定義した距離ｄｄを用いて、カーソル１００から近い順に並べ「下リスト」とする。即ちカーソル１００の位置を基準とした下ボックス２０８に位置する１又は複数のリンク１０１について、距離ｄｄの順に並べたものが下リストとなる。
下ボックス２０８に位置するリンク１０１として距離ｄｄが同じものがあった場合は、ステップＦ５０２で、後述する「同じ距離のリンクの処理１」で優先順位を決め、リストにつなぐ。
【００５５】
ステップＦ５０３では、右ボックス２０５と交差するリンク１０１を図８で定義した距離ｄｒを用いて、カーソル１００から近い順に並べ「右リスト」とする。
距離ｄｒが同じリンク１０１があった場合は、ステップＦ５０４で「同じ距離のリンクの処理１」で優先順位を決める。
ステップＦ５０５では、左ボックス２０７と交差するリンク１０１を図８で定義した距離ｄｌを用いて、カーソル１００から近い順に並べ「左リスト」とする。
距離ｄｌが同じリンク１０１があった場合は、ステップＦ５０６で「同じ距離のリンクの処理１」で優先順位を決める。
ステップＦ５０７では、上ボックス２０６と交差するリンク１０１を図８で定義した距離ｄｕを用いて、カーソル１００から近い順に並べ「上リスト」とする。
距離ｄｕが同じリンク１０１があった場合は、ステップＦ５０８で「同じ距離のリンクの処理１」で優先順位を決める。
【００５６】
ステップＦ５０２，Ｆ５０４，Ｆ５０６，Ｆ５０８の「同じ距離のリンクの処理１」は図１４に示す処理となる。
ステップＦ５５１で、現在処理対象としている対象ボックス（例えばステップＦ５０２であれば下ボックス２０８）に同じ距離（下ボックス２０８の場合、距離ｄｄ）のリンク１０１があるか否かを判断する。
そして同じ距離のリンク１０１がある場合には、ステップＦ５５２に進み、それぞれのリンク１０１が対象ボックスと交差している面積を比較する。なお、上述したように各リンク１０１は、図５のレイアウタ４８内で、リンク部分を囲む多角形として保存されているが、この場合、各リンク１０１としての多角形と対象ボックスの重複面積を算出し、これを比較する処理となる。
そして対象ボックスと交差している面積が同じリンクがなければ、ステップＦ５５３に進み、対象ボックスに対して占有面積が大きい順番に各リンク１０１をリストに繋ぐ。
ステップＦ５５２で交差している複数のリンク１０１の交差面積が同じ場合には、ステップＦ５５４に進み、対象ボックスに応じて処理を分岐する。
即ちステップＦ５０２での処理の場合は対象ボックスは下ボックス２０８であるためステップＦ５５６に進み、距離ｄｄ及び下ボックス２０８内での占有面積が同じ複数のリンク１０１について、右側に位置するリンクを優先させて下リストに繋ぐ。
またステップＦ５０４での処理の場合は対象ボックスは右ボックス２０５であるためステップＦ５５５に進み、距離ｄｒ及び右ボックス２０５内での占有面積が同じ複数のリンク１０１について、下側に位置するリンクを優先させて右リストに繋ぐ。
ステップＦ５０６での処理の場合は対象ボックスは左ボックス２０７であるためステップＦ５５５に進み、距離ｄｌ及び左ボックス２０７内での占有面積が同じ複数のリンク１０１について、下側に位置するリンクを優先させて左リストに繋ぐ。
ステップＦ５０８での処理の場合は対象ボックスは上ボックス２０６であるためステップＦ５５６に進み、距離ｄｕ及び上ボックス２０６内での占有面積が同じ複数のリンク１０１について、右側に位置するリンクを優先させて上リストに繋ぐ。
【００５７】
以上ように図１３のステップＦ５０１〜Ｆ５０８の処理によっては、下リスト、右リスト、左リスト、上リストが作成される。
各リストでは、対象とするボックス内でのリンク１０１として、カーソル１００までの距離が近い順に優先順位が付けられるものとなる。
また距離が同じリンク１０１については対象ボックス内における占有面積順に優先順位が付けられる。
さらに距離及び占有面積が同じなら、右ボックス２０５、左ボックス２０７の場合は、下側に位置するリンク１０１が優先され、下ボックス２０８、上ボックス２０６の場合は、右側に位置するリンク１０１が優先される。
【００５８】
続いて図１３のステップＦ５０９に進む。ステップＦ５０９以降は、第１象限２０１、第２象限２０２、第３象限２０３、第４象限２０４を対象としてリンク１０１の優先リストを作成する。
【００５９】
まずステップＦ５０９で、第４象限２０４と交差するリンク１０１を図８で定義した距離ｄ４を用いて、カーソル１００から近い順に並べ「第４象限リスト」とする。
距離ｄ４が同じリンク１０１があった場合は、ステップＦ５１０で「同じ距離のリンクの処理２」で優先順位を決める。
次にステップＦ５１１で、第３象限２０３と交差するリンク１０１を図８で定義した距離ｄ３を用いて、カーソル１００から近い順に並べ「第３象限リスト」とする。
距離ｄ３が同じリンク１０１があった場合は、ステップＦ５１２で「同じ距離のリンクの処理２」で優先順位を決める。
ステップＦ５１３では、第２象限２０２と交差するリンク１０１を図８で定義した距離ｄ２を用いて、カーソル１００から近い順に並べ「第２象限リスト」とする。
距離ｄ２が同じリンク１０１があった場合は、ステップＦ５１４で「同じ距離のリンクの処理２」で優先順位を決める。
ステップＦ５１５では、第１象限２０１と交差するリンク１０１を図８で定義した距離ｄ１を用いて、カーソル１００から近い順に並べ「第１象限リスト」とする。
距離ｄ１が同じリンク１０１があった場合は、ステップＦ５１６で「同じ距離のリンクの処理２」で優先順位を決める。
【００６０】
ステップＦ５１０，Ｆ５１２，Ｆ５１４，Ｆ５１６の「同じ距離のリンクの処理２」は図１５に示す処理となる。
ステップＦ５７１で、現在処理対象としている対象ボックス（例えばステップＦ５１０であれば第４象限２０４）に同じ距離（第４象限２０４の場合、距離ｄ４）のリンク１０１があるか否かを判断する。
そして同じ距離のリンク１０１がある場合には、ステップＦ５７２に進み、対象ボックスに応じて処理を分岐する。
即ちステップＦ５１０での処理の場合は対象ボックスは第４象限２０４であるためステップＦ５７４に進み、距離ｄ４が同じ複数のリンク１０１について、より上側に位置するリンクを優先させて第４象限リストに繋ぐ。
またステップＦ５１２での処理の場合は対象ボックスは第３象限２０３であるためステップＦ５７４に進み、距離ｄ３が同じ複数のリンク１０１について、より上側に位置するリンクを優先させて第３象限リストに繋ぐ。
ステップＦ５１４での処理の場合は対象ボックスは第２象限２０２であるためステップＦ５７３に進み、距離ｄ２が同じ複数のリンク１０１について、より下側に位置するリンクを優先させて第２象限リストに繋ぐ。
ステップＦ５１６での処理の場合は対象ボックスは第１象限２０１であるためステップＦ５７３に進み、距離ｄ１が同じ複数のリンク１０１について、より下側に位置するリンクを優先させて第１象限リストに繋ぐ。
【００６１】
以上の図１３のステップＦ５０９〜Ｆ５１６の処理によっては、第１象限リスト、第２象限リスト、第３象限リスト、第４象限リストが作成される。
各リストでは、対象とするボックス（象限）内でのリンク１０１として、カーソル１００までの距離が近い順に優先順位が付けられるものとなる。
また距離が同じリンク１０１については第３象限２０３、第４象限２０４の場合は上側に位置するリンク１０１が優先され、第１象限２０１，第２象限２０２の場合は、下側に位置するリンク１０１が優先される。
【００６２】
図１２のステップＦ４０２の処理として、以上の図１３，図１４，図１５の処理が行われ、下リスト、右リスト、左リスト、上リスト、第１象限リスト、第２象限リスト、第３象限リスト、第４象限リストとしての８個の優先リストが作成されたら、続いて処理は図１２のステップＦ４０３に進む。最初は再起呼び出しでない初めての呼び出しなので、ステップＦ４０４に進み、図４に示した矢印ボタン３２へのリンクの割り当てを行う。
【００６３】
このステップＦ４０４の矢印ボタン３２に対するリンク割当処理は図１６に示される。
ステップＦ６０１では、下矢印ボタンに下リストの先頭のリンク１０１を割り当てる。何も割り当たらなかった場合、即ち下リストにはリンク１０１が存在しなかった場合は、第３象限リスト、第４象限リストから、下ボックス２０８に近い順で、かつ、カーソル１００に近い順で下矢印ボタンを割り当てる。同じ距離のリンク１０１があった場合は、第３象限２０３のリンクを優先する。
ステップＦ６０２では、右矢印ボタンに右リストの先頭のリンクを割り当てる。何も割り当たらなかったら、第４象限リスト、第１象限リストから、右ボックス２０５に近い順で、かつ、カーソル１００に近い順で右矢印ボタンを割り当てる。同じ距離のリンク１０１があった場合は、第４象限２０４のリンクを優先する。
ステップＦ６０３では、上矢印ボタンに上リストの先頭のリンク１０１を割り当てる。何も割り当たらなかったら、第２象限リスト、第１象限リストから、上ボックス２０６に近い順で、かつ、カーソル１００に近い順で上矢印ボタンを割り当てる。同じ距離のリンク１０１があった場合は、第１象限２０１のリンクを優先する。
ステップＦ６０４では、左矢印ボタンに左リストの先頭のリンクを割り当てる。何も割り当たらなかったら、第３象限リスト、第２象限リストから左ボックス２０７に近い順で、かつ、カーソル１００に近い順で左矢印ボタンを割り当てる。同じ距離のリンク１０１があった場合は、第３象限２０３のリンクを優先する。
【００６４】
図１２のステップＦ４０４として、以上の図１６の処理で矢印ボタン３２に対するリンク割当を終えたら、ステップＦ４０５に進み、上記ステップＦ４０２で計算した優先リストを用いて、カレントボタンの上、下、右、左ポインタの先のボタンにリンクを割り当てる。
【００６５】
このステップＦ４０５の処理を図１７に示す。
ステップＦ７０１では、カレントボタンに下ポインタがあるか否かを調べる。そしてカレントボタンに下ポインタがあれば、ステップＦ７０２に進み、下ポインタの指すボタンに、下リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ７０３に進む。
最初は、図１１のステップＦ３０１で、割り当て開始ボタンポインタ８０で示されるボタンとして例えば「５」ボタンがカレントボタンとされているため、この「５」ボタンに下ポインタがあるか否かを調べる。図６からわかるように、「５」ボタンの下ポインタによっては「８」ボタンが指し示されるため、「８」ボタンに、下リストの先頭のリンク１０１を割り当てることになる。
【００６６】
次にステップＦ７０３では、カレントボタンに右ポインタがあるか否かを調べる。そしてカレントボタンに右ポインタがあれば、ステップＦ７０４に進み、右ポインタの指すボタンに、右リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ７０５に進む。
カレントボタンが「５」ボタンであるときは、図６からわかるように右ポインタは存在し、「５」ボタンの右ポインタによっては「６」ボタンが指し示されるため、「６」ボタンに、右リストの先頭のリンク１０１を割り当てることになる。
【００６７】
次にステップＦ７０５では、カレントボタンに左ポインタがあるか否かを調べる。そしてカレントボタンに左ポインタがあれば、ステップＦ７０６に進み、左ポインタの指すボタンに、左リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ７０７に進む。
カレントボタンが「５」ボタンであるときは、図６からわかるように左ポインタは存在し、「５」ボタンの左ポインタによっては「４」ボタンが指し示されるため、「４」ボタンに、左リストの先頭のリンク１０１を割り当てることになる。
【００６８】
次にステップＦ７０７では、カレントボタンに上ポインタがあるか否かを調べる。そしてカレントボタンに上ポインタがあれば、ステップＦ７０８に進み、上ポインタの指すボタンに、上リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。
カレントボタンが「５」ボタンであるときは、図６からわかるように上ポインタは存在し、「５」ボタンの上ポインタによっては「２」ボタンが指し示されるため、「２」ボタンに、上リストの先頭のリンク１０１を割り当てることになる。
【００６９】
この図１７の処理で、まずカレントボタンである「５」ボタンに対して、「８」ボタン、「６」ボタン、「４」ボタン、「２」ボタンに、リンクが割り当てられたことになる。
この図１７の処理として図１２のステップＦ４０５を終えたら、ステップＦ４０６に進み、同様に優先リストを用いて、カレントボタンのＰ１、Ｐ２、Ｐ３、Ｐ４ポインタの先のボタンにリンク１０１を割り当てる処理を行う。
【００７０】
このステップＦ４０６の処理を図１８に示す。
ステップＦ８０１では、カレントボタンにＰ４ポインタがあるか否かを調べる。そしてカレントボタンにＰ４ポインタがあれば、ステップＦ８０２に進み、Ｐ４ポインタの指すボタンに、第４象限リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ８０３に進む。
この場合も最初は、例えば「５」ボタンがカレントボタンとされているため、この「５」ボタンにＰ４ポインタがあるか否かを調べる。図６からわかるように、「５」ボタンのＰ４ポインタによっては「９」ボタンが指し示されるため、「９」ボタンに、第４象限リストの先頭のリンク１０１を割り当てることになる。
【００７１】
次にステップＦ８０３では、カレントボタンにＰ３ポインタがあるか否かを調べる。そしてカレントボタンにＰ３ポインタがあれば、ステップＦ８０４に進み、Ｐ３ポインタの指すボタンに、第３象限リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ８０５に進む。
カレントボタンが「５」ボタンであるときは、図６からわかるようにＰ３ポインタは存在し、「５」ボタンのＰ３ポインタによっては「７」ボタンが指し示されるため、「７」ボタンに、第３象限リストの先頭のリンク１０１を割り当てることになる。
【００７２】
次にステップＦ８０５では、カレントボタンにＰ１ポインタがあるか否かを調べる。そしてカレントボタンにＰ１ポインタがあれば、ステップＦ８０６に進み、Ｐ１ポインタの指すボタンに、第１象限リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。その後ステップＦ８０７に進む。
カレントボタンが「５」ボタンであるときは、図６からわかるようにＰ１ポインタは存在し、「５」ボタンのＰ１ポインタによっては「３」ボタンが指し示されるため、「３」ボタンに、第１象限リストの先頭のリンク１０１を割り当てることになる。
【００７３】
次にステップＦ８０７では、カレントボタンにＰ２ポインタがあるか否かを調べる。そしてカレントボタンにＰ２ポインタがあれば、ステップＦ８０８に進み、Ｐ２ポインタの指すボタンに、第２象限リストの先頭からリンクを割り当てる。なお、その際に、矢印ボタン３２以外で、すでにボタンが割り当てられているリンクは除外する。
カレントボタンが「５」ボタンであるときは、図６からわかるようにＰ２ポインタは存在し、「５」ボタンのＰ２ポインタによっては「１」ボタンが指し示されるため、「１」ボタンに、第２象限リストの先頭のリンク１０１を割り当てることになる。
【００７４】
以上の図１８の処理で、カレントボタンである「５」ボタンに対して、「９」ボタン、「７」ボタン、「３」ボタン、「１」ボタンに、リンクが割り当てられたことになる。
【００７５】
即ち図１２のステップＦ４０５（図１７）、ステップＦ４０６（図１８）の処理で、カレントボタンから、８個のポインタで示される一段先のボタンについて、リンクの割り当て処理が終わったことになる。
上記のようにカレントボタンが「５」ボタンであるときは、８個のポインタが全て存在し、周囲の「８」ボタン、「６」ボタン、「４」ボタン、「２」ボタン、「９」ボタン、「７」ボタン、「３」ボタン、「１」ボタンに対してのリンク１０１の割り当てが完了する。
なお、当然だが、リストにリンクが存在しなければ、割当は行われない。例えば上リストに１つもリンク１０１が存在しなかった場合は「２」ボタンにリンク１０１の割当は行われない。
【００７６】
続いて図１２のステップＦ４０７に進む。以降は、カレントボタンを切替ながら、カレントボタンの周囲のボタンにリンク１０１を割り当てていく処理を順次行う。
まずステップＦ４０７では、初期カレントボタンの下ポインタで示されるボタンをカレントボタンとする。なお、初期カレントボタンとは、図１１のステップＦ３０１で決められたカレントボタンであり、割り当て開始ボタンポインタ８０で示されるボタン、即ち上記の場合「５」ボタンである。
そしてステップＦ４０７では「５」ボタンの下ポインタで示される「８」ボタンが、カレントボタンとされる。
ステップＦ４０８は、カレントボタンを「８」ボタンとした状態でボタン割当処理が再起呼び出しとして実行される。この場合、ステップＦ４０８の処理として、新たなカレントボタン（「８」ボタン）について、ステップＦ４０１，Ｆ４０２，Ｆ４０３，Ｆ４０５，Ｆ４０６が行われることになる（再起呼び出し時はステップＦ４０４は行われない）。
即ち「８」ボタンをカレントボタンとしてステップＦ４０２の処理で優先リストが作成され、その優先リストを用いて、ステップＦ４０５，Ｆ４０６の処理で、「８」ボタンの上ポインタ、下ポインタ、右ポインタ、左ポインタ、Ｐ１ポインタ、Ｐ２ポインタ、Ｐ３ポインタ、Ｐ４ポインタが示すボタン、つまり「８」ボタンの周囲のボタンについてリンク１０１の割当が行われる。
但し、既に「５」ボタンの周囲のボタンは割当が行われているため、実質的にリンク割当が行われるのは「１０」ボタン、「１１」ボタン、「１２」ボタンとなる。
また、最初の「５」ボタンをカレントボタンとした処理で「８」ボタンにリンク１０１が割り当てられなかった場合（つまり、そのときに下リストにリンク１０１が存在しなかった場合）は、当該再起呼び出し時にステップＦ４０１で否定結果が出てステップＦ４０８が終了するため、その場合は「８」ボタンをカレントボタンとしたリンク割当は行われない。
【００７７】
次にステップＦ４０９では、初期カレントボタンである「５」ボタンの右ポインタで示される「６」ボタンをカレントボタンとする。そしてステップＦ４１０で、ボタン割当処理が再起呼び出しされ、「６」ボタンをカレントボタンとした状態で、ステップＦ４０１，Ｆ４０２，Ｆ４０３，Ｆ４０５，Ｆ４０６が行われる。
なお、図６のボタン配置の場合、「６」ボタンにＰ１ポインタ、右ポインタ、Ｐ４ポインタは存在しないと判断される。つまりステップＦ４１０の再起呼び出し時には図１７のステップＦ７０３，図１８のステップＦ８０１、Ｆ８０５では否定結果が出ることになる。
【００７８】
その後、図１２のステップＦ４１１〜Ｆ４２２は、それぞれカレントボタンを切替ながら、同様に処理が行われる。
なお、このようにカレントボタンを切替ながら、その周囲のボタンに対してリンク割当が行われるのは、システムによってボタン配置が多様であるためである。例えば図４，図６で示したボタン配置は、本例のリモートコマンダー３としての一例であるが、全てのシステムにおいて、操作手段の数字ボタン３１が４行×３列に並ぶというわけではない。また、数字ボタン３１以外のボタンをリンク１０１に割り当てても良い。
つまりカレントボタンを切替ながらボタン割当処理を行うことは、多様な操作ボタン配置に対応できるようにするためである。
【００７９】
以上の図１１〜図１８で説明した処理として、図１０のステップＦ２０１の処理が実行される。
ステップＦ２０１の割当処理が終了したら、ステップＦ２０２で、ボタンアイコン表示モードのオン／オフを調べる。
そしてボタンアイコン表示モードがオフであれば、そのままステップＦ２０４に進む。この場合、ボタンアイコン１０２は表示されず、画面上の表示状態は、例えば図２６のようになる。
一方、ボタンアイコン表示モードがオンであれば、ステップＦ２０３でボタンアイコン１０２の表示を行った上でステップＦ２０４に進む。この場合の画面上の表示状態は図１のようになり、リンク１０１に対してボタンアイコン１０２が隣接して表示される。もちろん、ボタンアイコン１０２は、各リンク１０１に対して上記ステップＦ２０１の処理で割り当てられた操作ボタンを示すものとなり、例えば「ＶＴＲ」というリンク１０１に対しては、割り当てられた「１」ボタンを示すボタンアイコン１０２が、また「録画」というリンク１０１に対しては、割り当てられた「３」ボタンを示すボタンアイコン１０２が、表示される。
【００８０】
このステップＦ２０３でのボタンアイコン１０２の表示処理について図１９，図２０で説明する。
図１９はボタンアイコン１０２の表示位置を決定する処理である。画面上に表示されている各リンク１０１について、この図１９の処理を行ってボタンアイコン１０２を表示する。
まずステップＦ９０１では、リンク１０１の上ボックス２０６、下ボックス２０８、右、ボックス２０５、左ボックス２０７、第１象限２０１、第２象限２０２、第３象限２０３、第４象限２０４内の頂点、もしくは上、下、右、左ボックスとリンク１０１との交点のうちで、カーソル１００からの距離が最も近い点を基点候補とする。
ステップＦ９０２では、上記基点候補が１つであるか複数であるかを判断し、基点候補が１つであればステップＦ９０４に進んで、その基点候補をそのまま基点とし、該基点を中心にボタンアイコン１０２を表示させる。
【００８１】
ステップＦ９０２で基点候補が複数あると判断された場合は、ステップＦ９０３に進み、複数の基点候補のうちから基点を決定する。
この場合、どのボックスでのリンク１０１であるかにより次のように決定する。
右ボックス２０５、左ボックス２０７の場合は、複数の基点候補のうち、最も上の基点候補を基点とする。
上ボックス２０６、下ボックス２０８、第１象限２０１、第４象限２０４の場合は、複数の基点候補のうち、最も左の基点候補を基点とする。
第２象限２０２、第３象限２０３の場合は、複数の基点候補のうち、最も右の基点候補を基点とする。
このようにして基点を決めたら、ステップＦ９０４に進んで、基点を中心にボタンアイコン１０２を表示させる。
【００８２】
図２０で基点の決定及びボタンアイコン１０２の表示位置の例を説明する。この図２０では、カーソル１００の位置と、その周囲のリンク１０１（１０１ａ〜１０１ｊ）を例示している。なお、各リンク１０１は、そのリンク設定領域としての多角形で表現される。
【００８３】
リンク１０１ａは、上ボックス２０６との交点が４カ所あるが、一番カーソル１００に近い▲で示す交点が基点とされ、この基点を中心にボタンアイコン１０２ａが表示される。
リンク１０１ｂは、上ボックス２０６内の頂点が４つあるが、カーソル１００に近い▲で示す２つの頂点が基点候補とされる。そして上ボックス２０６内であるため左側の基点候補が基点とされ、それを中心にボタンアイコン１０２ｂが表示される。
リンク１０１ｃは、第１象限２０１内の頂点が４つあり、カーソル１００に近い▲で示す２つの頂点が基点候補とされる。図中、点線の円は２つの▲の頂点がカーソル１００からの距離が、同一であることを示すために付加している。第１象限２０１内であるため左側の基点候補が基点とされ、この基点を中心にボタンアイコン１０２ｃが表示される。
リンク１０１ｄは、第１象限２０１内の頂点が４つあるが、最もカーソル１００に近い▲で示す頂点が基点とされ、それを中心にボタンアイコン１０２ｃが表示される。
リンク１０１ｅは、右ボックス２０５との交点が２カ所あるが、一番カーソル１００に近い▲で示す交点が基点とされ、この基点を中心にボタンアイコン１０２ｅが表示される。
リンク１０１ｆは、右ボックス２０５内の頂点が４つあるが、カーソル１００に近い▲で示す２つの頂点が基点候補とされる。そして右ボックス２０５内であるため上側の基点候補が基点とされ、それを中心にボタンアイコン１０２ｆが表示される。
リンク１０１ｇは、第４象限２０４内の頂点が４つあり、カーソル１００に近い▲で示す頂点が基点とされ、この基点を中心にボタンアイコン１０２ｇが表示される。
リンク１０１ｈは、下ボックス２０８内の頂点が４つあるが、カーソル１００に近い▲で示す２つの頂点が基点候補とされる。そして下ボックス２０８内であるため左側の基点候補が基点とされ、それを中心にボタンアイコン１０２ｈが表示される。
リンク１０１ｉは、下ボックス２０８との交点が４カ所あるが、カーソル１００に近い▲で示す２つの交点が基点候補とされる。下ボックス２０８であるため、左側の基点候補が基点とされ、この基点を中心にボタンアイコン１０２ｉが表示される。
リンク１０１ｊは、下ボックス２０８との交点が４カ所あるが、カーソル１００に近い▲で示す２つの交点が基点候補とされる。下ボックス２０８であるため、左側の基点候補が基点とされ、この基点を中心にボタンアイコン１０２ｊが表示される。
【００８４】
以上の例のように、図１９の処理でボタンアイコン１０２の表示位置が決定され、各リンク１０１に対してボタンアイコン１０２が表示される。
【００８５】
図１０のステップＦ２０４に進んだら、ＣＰＵ２０はユーザーのボタン操作を待機する。こでは、決定ボタン３３、矢印ボタン３２、ブラウザボタン３４、表示オン／オフボタン、及び割当ボタンの操作を監視する。表示オン／オフボタンとは、図６の表示オン／オフボタンポインタ８１で指定されるボタンであり、例えば「５」ボタンが指定されている。また割当ボタンとは、ステップＦ２０１でのリンク割当処理の対象となっているボタンであり例えば数字ボタン３１としての各ボタンである。上述のようにステップＦ２０１では、リンク１０１の数や位置に応じて数字ボタン３１の全部又は一部が割り当てられる。
【００８６】
決定ボタン３３の操作が検出された場合は、ステップＦ２０４からＦ２０５に進み、ここで、カーソル１００で選択中のリンク１０１が画面上で表示されているか否かを確認する。
例えば表示対象となっているデータが、図２１のようなデータであったとする。このデータには、「ＶＴＲ」「録画」「視聴」という３つの文字部分にリンク１０１が設定されているとする。
そしてこのデータは、全てが画面内で表示されておらず、破線で示す範囲３００が画面上で表示されている表示範囲であったとする。即ち画面上のイメージが図２２のようになっている場合である。なお、カーソル１００が「視聴」というリンク１０１を示しており、この状態で、「ＶＴＲ」のリンク１０１には「１」ボタンが、「録画」というリンク１０１には「３」ボタンが割り当てられているとしている。
【００８７】
そしてこの例の場合、図２２のように画面上にカーソル１００で選択中の「視聴」というリンク１０１が表示されている。例えばこのようにカーソル１００で選択中のリンク１０１が画面上で表示されているときに決定ボタン３３が操作された場合は、ステップＦ２０５でカーソル選択中のリンクが表示されていると判断され、ステップＦ２１７に進む。そしてリンクの種類に応じて処理を行って図１０の処理を終える。
例えばこの「視聴」に設定されたリンク１０１がＵＲＬであったとしたら、ＵＲＬを返し、図９のステップＦ１０５の処理を終える。この場合は、図９のステップＦ１０６→Ｆ１０２と進み、ネットワーク５を介して当該ＵＲＬのデータが取得され表示されることになる。
或いは、リンク１０１が映像データへのリンクであれば、対応するアプリケーションを起動し映像を表示するなどの処理を行う。
【００８８】
一方、表示対象となっているデータに対して、図２３の範囲３００が表示され、画面上のイメージが図２４のようになっているとする。例えば図２２の状態からデータが下方にスクロールされた後の状態である。この場合、カーソル１００で選択中の「視聴」というリンク１０１が、画面上方に隠れ、画面上では表示されていない。このようなときに決定ボタン３３が操作されると、ステップＦ２０５では、画面上にカーソル１００で選択中の「視聴」というリンク１０１が表示されていないとして、何も処理を行わずにステップＦ２０４に戻ることになる。
【００８９】
ステップＦ２０４で矢印ボタン３２の操作が検出された場合は、ステップＦ２０６に進み、その矢印ボタン３２にリンクが割り当てられているか否かを確認する。上記のように矢印ボタン３２に対しては図１２のステップＦ４０４でリンク１０１の割当が行われる。
もし操作された矢印ボタン３２についてリンク割当がなかった場合は、ステップＦ２０８に進み、その矢印ボタン３２の方向、つまり上下左右の４つの矢印ボタン３２のうちの操作されたボタンの方向に、画面上のデータをスクロールできるか否かを判別し、スクロールできるのであれば、ステップＦ２０９で、一定量、その矢印ボタン３２による操作方向にスクロールさせてステップＦ２０４に戻る。
例えば図２２のようにデータの先頭が表示されているときに矢印ボタン３２の上矢印ボタンが押された場合など、操作方向にスクロールできない場合は、何も処理せずにステップＦ２０４に戻る。
【００９０】
ステップＦ２０６で、操作された矢印ボタン３２についてリンク１０１が割り当てられている場合は、ステップＦ２０７に進んで、そのリンク１０１が画面上に表示されているか否かを判断する。例えば上矢印ボタンに図２２の「録画」というリンク１０１が割り当てられているとする。もし、画面が図２４の状態のときに上矢印ボタンが操作されても、その「録画」というリンク１０１は画面上に表示されていない。そのような場合、ステップＦ２０７からＦ２０８に進み、今回の矢印ボタン３２の操作はスクロール操作として処理し、スクロール可能であればステップＦ２０９で画面のスクロール処理を行ってステップＦ２０４に戻る。スクロール不能であれば何もせずにステップＦ２０４に戻る。
一方、例えば図２２の表示状態のときに、「録画」というリンク１０１が割り当てられた上矢印ボタンが操作されたとする。このように、操作された矢印ボタン３２に割り当てられたリンク１０１が表示されている場合は、ステップＦ２０７からＦ２１０に進み、その割り当てられたリンク１０１にカーソル１００を移動させる。この場合、カーソル１００は「録画」の部分に移動される。
【００９１】
ステップＦ２１０でカーソル１００を移動させた場合は、ステップＦ２１６で、それまで表示していたボタンアイコン１０２の表示を一旦終了させる。そしてステップＦ２０１に戻り、上述したボタンへのリンク割当処理を実行する。
即ちこの場合は、カーソル１００が移動したことに応じて、ボタン（数字ボタン３１）に対するリンク１０１の割当のやり直しをおこなうものである。
この場合、図１１のステップＦ３０１の処理で、カーソル１００のある「録画」というリンク１０１について割り当て開始ボタンポインタ８０で示されるボタン（例えば「５」ボタン）がカレントボタンとされ、以降上述した割当処理が行われる。
つまり「録画」というリンク１０１と「５」ボタンを基準にして再度の割当が行われる。この処理が行われた後、ステップＦ２０３でボタンアイコン１０２の表示が行われる場合、図２５のような画面となる。即ちカーソル１００は「録画」のリンク１０１に位置するとともに、「ＶＴＲ」のリンク１０１には「４」ボタンが割り当てられたとすると、「４」ボタンを示すボタンアイコン１０２が表示される。また「視聴」というリンク１０１に「７」ボタンが割り当てられたとすると、「７」ボタンを示すボタンアイコン１０２が表示される。
【００９２】
図１０のステップＦ２０４において、表示オン／オフボタンの操作が検出された場合は、ステップＦ２１２に進み、ボタンアイコン表示モードのオン／オフの切替を行う。そしてこの処理でボタンアイコン表示モードがオンからオフに切り換えられた場合は、ステップＦ２１３で、表示画面上でボタンアイコン１０２の表示をオフとする。例えばそれまで図１の表示状態であったとしたら、図２６のような表示になる。
またステップＦ２１２でボタンアイコン表示モードがオフからオンに切り換えられた場合は、ステップＦ２１３で、表示画面上でボタンアイコン１０２の表示をオンとする。例えばそれまで図２６の表示状態であったとしたら、図１のような表示になる。
ステップＦ２１３の処理を終えたらステップＦ２０４に戻る。
【００９３】
ステップＦ２０４において割当ボタンの操作、例えば数字ボタン３１の操作が検出された場合は、ステップＦ２１４に進み、その操作されたボタンに或るリンク１０１が割り当てられているか否かを確認する。
リンクが割り当てられていないボタンが操作されたのであれば、何も処理せずにステップＦ２０４に戻る。
操作されたボタンがリンクが割り当てられたボタンであった場合は、ステップＦ２１５に進み、そのリンク１０１が画面上に表示されているか否かを判断する。そしてその操作されたボタンに対応するリンク１０１が表示されていればステップＦ２１７に進む。一方、表示されていなければステップＦ２０４に戻る。
【００９４】
例えば図２２のような表示状態において、「１」ボタンが操作されたとする。その場合は「１」ボタンには「ＶＴＲ」というリンク１０１が割り当てられているためステップＦ２１４→Ｆ２１５と進み、さらに「ＶＴＲ」のリンクが表示されているためステップＦ２１７に進む。
そしてリンクの種類に応じて処理を行って図１０の処理を終える。
例えばこの「ＶＴＲ」に設定されたリンク１０１がＵＲＬであったとしたら、ＵＲＬを返し、図９のステップＦ１０５の処理を終える。この場合は、図９のステップＦ１０６→Ｆ１０２と進み、ネットワーク５を介して当該ＵＲＬのデータが取得され表示されることになる。
【００９５】
一方、図２４のような表示状態において、「１」ボタンが操作されたとする。その場合は「１」ボタンには「ＶＴＲ」というリンク１０１が割り当てられているためステップＦ２１４→Ｆ２１５と進むが、この時点で「ＶＴＲ」のリンクが画面上に表示されていない。そのため、今回の「１」ボタンの操作は無効として処理を行わずにステップＦ２０４に戻ることになる。
【００９６】
ステップＦ２０４で、ブラウザボタン３４の操作が検出された場合は、ステップＦ２１１に進み、ブラウザを終了するため終了コマンドを返して図１０の処理、即ち図９のステップＦ１０５を終了する。その場合ＣＰＵ２０は、図９のステップＦ１０７でボタンアイコン表示モードを保存した上でブラウザを終了する。
【００９７】
本実施の形態では、以上のようにブラウザ処理が行われる。特には、カーソル１００がリンク１０１上を移動可能とされるブラウザ表示において、カーソル１００の周囲に存在する他のリンク１０１に自動的かつ動的に数字ボタン３１等に割り当てる。また割り当てたボタンを示すボタンアイコン１０２を表示する。そしてリンクが割り当てられたボタンが操作された場合は、直接、割り当てられたリンク１０１に対する決定操作としてリンク処理する。
つまりユーザーは、リンク１０１に表示されたボタンアイコン１０２に対応したボタンを操作することで、直接リンクを選択する操作を行うことができ、マウスを使用しない環境においても、非常に簡易な操作でリンク操作を実現できる。
また各リンク１０１と各ボタンの割当は、画面上でのカーソル１００とリンク１０１の位置関係に応じて行われるため、ユーザーにとって感覚的に分かり易い割当となり、その点でも快適な操作性を実現できる。
【００９８】
また、リンク１０１に対するボタンの割当処理は、カーソル１００が、或るリンク１０１に位置された際毎に、図１０のステップＦ２１６で、カーソル１００の表示位置と、他のリンク１０１との位置関係に応じて行われる。従って、カーソル移動に応じても、常に操作に好適な状態にボタン割当が行われ、これも操作の簡易化に好適である。
【００９９】
図１９，図２０で説明したように、カーソル位置に合わせて動的にボタンアイコン１０２の表示位置が計算されて表示されるので、カーソル１００の位置に応じた適切な場所にボタンアイコン１０２が表示され、ユーザーにとって所望のリンク１０１に対応するボタンが認識しやすいものとなる。
またボタンアイコン表示モードのオン／オフにより、ユーザーが不必要と感じる場合などはボタンアイコン１０２の表示をオフとできることで、ユーザーの好みや考えに合わせることができる。
また割当処理が図１２のように行われることで、システム環境に応じた適切な割当が可能である。
【０１００】
さらに本実施の形態では、図１０のステップＦ２０５で、カーソル１００が位置するリンク１０１が表示されていない場合は、決定ボタン３３の操作は無効とされる。
またステップＦ２１５において、割当ボタンが操作されたときに、そのボタンが割り当てられたリンク１０１が表示されていない場合は、そのボタンの操作は無効とされる。
ステップＦ２０４で決定ボタン３３の操作、或いは割当ボタンの操作が検出された場合、ＣＰＵ２０はそれらの操作を、特定のリンク１０１を選択してリンク処理を行う指示の操作入力として処理することができるが、カーソル１００によって示されるリンク１０１が画面表示されていないときは、ユーザーはそのリンクを認識して決定ボタン３３を操作するものでないことが多く、またその点を考えれば、そのような状況での決定ボタン３３の操作は操作ミスであることも多いと考えられる。さらに、ユーザーから見れば、画面上にあらわれていないリンク１０１によるリンク処理が行われることは、非常に違和感が大きい。
そこでステップＦ２０５，Ｆ２１５の判別を行い、画面にあらわれていないリンク１０１に対する操作は無効とすることで、ユーザーの違和感や不都合をなくし、快適な操作感や適切なブラウザ処理を実現できるものとなる。
【０１０１】
またステップＦ２０４で矢印ボタン３２の操作が検出された場合は、ＣＰＵ２０はそれらの操作を特定のリンク設定部分にカーソルを移動させる操作入力であるとして処理できるが、この矢印ボタン３２の場合についても、ステップＦ２０７の処理により、割り当てられたリンクが表示されていなければ、そのリンクへのカーソル移動は行わないようにすることで、ユーザーにとって適切なブラウザ処理となる。その時点で見えていないリンクにいきなりカーソル１００が移動されるような表示にならないためである。
特にリンク１０１がデータ上で離れている場合、カーソル１００を移動させるには大きなスクロールやページ送りを伴ってしまうことがあり、ユーザーが混乱しやすいが、ステップＦ２０７の処理により、そのような不都合が解消される。
なお本例ではステップＦ２０７でリンク１０１が表示されていないと判断された場合は、ステップＦ２０８でスクロール操作として処理できるため、矢印ボタン３２の操作は、リンクに関する操作としては扱われないが、操作自体が無効とされず、ユーザーにとってはより適切である。
【０１０２】
なお、以上説明したブラウザ機能を有するチューナ装置２（テレビジョンシステム）は、本発明の情報処理装置の実施の形態となる。また実行される図９〜図１９の処理は、本発明の情報処理方法及びプログラムの実施の形態である。
実施の形態のチューナ装置２におけるプログラムについては、例えばメモリ２１に予め記憶しておくことができる。或いは外部記録媒体に記憶しておき、メモリ２１にロードされる形態も考えられる。
【０１０３】
以上、実施の形態を説明してきたが、本発明としては多様な変形例が考えられる。
実施の形態では、チューナ装置２とモニタ装置１の例で説明したが、テレビジョン受像器、記録再生装置など他のＡＶ（Audio-Visual）装置や、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話機などの機器において本発明が適用できる。
【０１０４】
また実施の形態では、リンク１０１に対して、カーソル１００との位置関係に応じて数字ボタン３１を割り当て、割り当てられた数字ボタン３１をリンク操作のダイレクト操作子とする例において説明したが、このような機能を持たないシステムにおいても本発明は適用可能である。
例えばリンク１０１に対するダイレクトなリンク操作を行う操作子を設定せずに、リンク操作については、矢印ボタン３２でリンク１０１を選択し、決定ボタン３３を押すという操作手法のみとするシステムにおいても、その矢印ボタン３２の操作の際に、カーソル１００を移動させるべきリンク１０１が表示されていなければ、操作を無効としたり、或いはスクロール等の他の操作とするものとして本発明を実施できる。
逆に、リンク１０１が、割当処理によるダイレクトなリンク操作子によってのみ選択決定されるシステムでも、本発明は適用できる。
さらには、割当処理によらず、リンクを選択する専用の操作子が設けられたシステムの場合にも、或るリンクが表示されていなければ、そのリンクへの選択決定処理を無効化するものとして本発明を適用できる。
また、マウスを使用しない操作環境において本発明は有効であるが、マウスを使用できる操作環境においても、上記矢印ボタン３２や決定ボタン３３のように、マウス以外にリンクに関する操作を行う手法を備えたシステムで本発明は適用できる。
【０１０５】
また処理対象領域としてリンク設定部分（リンク１０１）を挙げたが、リンク設定部分に限らず、カーソルを配置させて何らかの処理を行う領域を、本発明でいう処理対象領域として上記実施の形態で説明したような本発明の処理を適用できる。
例えば、クリック可能に設定されている各種のアイコン、操作子画像、テキストボックス、プルダウンリストボックス、チェック入力ボックス等、カーソルを位置させて何らかの動作を実行させる各種の画面上の領域を処理対象領域として本発明を適用できる。
即ち、アイコン、操作子画像、プルダウンリストボックスを処理対象領域として適用する場合、そのアイコン等に対してのカーソル移動の指示や、アイコン等の選択決定の操作が行われた場合に、そのアイコン等が画面上にあらわれていなければ、その操作を無効或いは他の操作として処理するようにすればよい。
【０１０６】
本発明のプログラムは、パーソナルコンピュータ、ＡＶ機器、ＰＤＡ、携帯電話機等に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭ等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＭＯ(Magnet optical)ディスク、ＤＶＤ(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、本発明のプログラムは、リムーバブル記録媒体から、当該プログラムを使用する機器にインストールする他、ダウンロードサイトから、ＬＡＮ(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施の形態の画面表示例の説明図である。
【図２】実施の形態のテレビジョンシステムの説明図である。
【図３】実施の形態のチューナ装置のブロック図である。
【図４】実施の形態のリモートコマンダーの説明図である。
【図５】実施の形態のブラウザ機能のソフトウエアブロックの説明図である。
【図６】実施の形態のボタンのポインタ構造の説明図である。
【図７】実施の形態の割当処理に用いるＸ軸ボックス、Ｙ軸ボックスの説明図である。
【図８】実施の形態の割当処理に用いる座標系の説明図である。
【図９】実施の形態のブラウザ機能のメイン処理のフローチャートである。
【図１０】実施の形態のボタン処理のフローチャートである。
【図１１】実施の形態のボタンへのリンク割当処理のフローチャートである。
【図１２】実施の形態のボタン割当処理のフローチャートである。
【図１３】実施の形態のリンクの優先リストの作成処理のフローチャートである。
【図１４】実施の形態の同じ距離のリンク処理１のフローチャートである。
【図１５】実施の形態の同じ距離のリンク処理２のフローチャートである。
【図１６】実施の形態の矢印ボタンへのリンク割当処理のフローチャートである。
【図１７】実施の形態の上下左右ポインタの先のボタンの割当処理のフローチャートである。
【図１８】実施の形態のＰ１，Ｐ２，Ｐ３，Ｐ４ポインタの先のボタンの割当処理のフローチャートである。
【図１９】実施の形態のボタンアイコン表示処理のフローチャートである。
【図２０】実施の形態のボタンアイコンの表示位置の説明図である。
【図２１】実施の形態のデータの表示範囲の例の説明図である。
【図２２】実施の形態のデータの表示例の説明図である。
【図２３】実施の形態のデータの表示範囲の例の説明図である。
【図２４】実施の形態のデータ表示例の説明図である。
【図２５】実施の形態の再割当処理後のデータ表示例の説明図である。
【図２６】ブラウザ表示画面の説明図である。
【図２７】ブラウザ表示画面の説明図である。
【符号の説明】
【０１０８】
１  モニタ装置、２  チューナ装置、３  リモートコマンダー、４  リモートコマンダー、２０  ＣＰＵ、２１  メモリ  ２２  インターフェース、３１  数字ボタン、３２  矢印ボタン、３３  決定ボタン、３４  ブラウザボタン、８０  割り当て開始ボタンポインタ、８１  表示オン／オフボタンポインタ、２０１  第１象限、２０２  第２象限、２０３  第３象限、２０４  第４象限、２０５  右ボックス、２０６  上ボックス、２０７  左ボックス、２０８  下ボックス、２１０  Ｙ軸ボックス、２１１  Ｘ軸ボックス、１００  カーソル、１０１  リンク、１０２  ボタンアイコン
【図１】
0004670500.tif 000002
【図２】
0004670500.tif 000003
【図３】
0004670500.tif 000004
【図４】
0004670500.tif 000005
【図５】
0004670500.tif 000006
【図６】
0004670500.tif 000007
【図７】
0004670500.tif 000008
【図８】
0004670500.tif 000009
【図９】
0004670500.tif 000010
【図１０】
0004670500.tif 000011
【図１１】
0004670500.tif 000012
【図１２】
0004670500.tif 000013
【図１３】
0004670500.tif 000014
【図１４】
0004670500.tif 000015
【図１５】
0004670500.tif 000016
【図１６】
0004670500.tif 000017
【図１７】
0004670500.tif 000018
【図１８】
0004670500.tif 000019
【図１９】
0004670500.tif 000020
【図２０】
0004670500.tif 000021
【図２１】
0004670500.tif 000022
【図２２】
0004670500.tif 000023
【図２３】
0004670500.tif 000024
【図２４】
0004670500.tif 000025
【図２５】
0004670500.tif 000026
【図２６】
0004670500.tif 000027
【図２７】
0004670500.tif 000028