(57)【特許請求の範囲】
【請求項１】
表示画面上でフォーカスナビゲーションに供する複数の要素間におけるフォーカスの移動に使用するためのフォーカスナビゲーションテーブル作成装置であって、
フォーカスナビゲーションに供する要素の占める領域の重心座標を演算する演算手段と、
該演算手段による演算により得られた各要素の重心座標をストアするためのストア手段と、
複数の方向キーのそれぞれに対して、その予め設定された基準方向を中心線とする扇形状の頂点の開き角を設定するための設定手段と、
（ａ）前記複数の要素のうちの一つの特定された要素の重心をフォーカス点として、前記ストア手段にストアされた各要素に対して、前記設定手段により設定された開き角を有する、フォーカス点から見た前記扇形状内に重心を有する要素の数を、各方向キーについて計数する計数手段と、
（ｂ）該計数手段により計数された数がゼロの方向キーに対しては、フォーカスの現在位置そのものをフォーカスの移動先要素とし、１つである方向キーに対しては、当該１つの要素をフォーカスの移動先要素とし、２つ以上である方向キーに対しては、当該２つ以上の要素のうちフォーカス点から一番近い重心位置を有する要素をフォーカスの移動先要素とする第１決定手段と、
（ｃ）該第１決定手段の決定に基づき、前記特定された要素をフォーカス点とした場合の各方向キーの操作によるフォーカス移動先要素とを関係付けをしたテーブルを作成する作成手段と、
前記複数の要素それぞれに対して、前記計数手段、前記第１決定手段および前記作成手段を実行させる実行手段と、
前記実行手段が前記複数の要素それぞれに対して、前記計数手段、前記第１決定手段および前記作成手段を実行させ作成されたテーブルについて、他の要素への移動が不可能な、あるいは他の要素からの移動が不可能な要素である特異点が存在するか否かを判定する判定手段と、
前記特異点が存在する場合に、他の要素への移動が不可能とされた要素を移動可能にするための特異点処理手段と、
前記特異点処理手段の結果に基づいて、他の要素からの移動が不可能とされた要素へ移動可能にするように前記テーブルを書き替えて、特異点が存在しないテーブルを作成する、書き替え手段と
を備えたことを特徴とするフォーカスナビゲーションテーブル作成装置。
【請求項２】
前記特異点処理手段は、
前記判定手段により不可能と判定された要素に対して、前記計数手段による各方向キーのうちのいずれかの方向キーについて１つ以上の要素が計数されるまで、前記開き角を所定の角度づつ広げる角度増分手段と、
前記計数手段により計数された数が１つである場合は、当該一つの要素をフォーカスの移動先要素とし、２つ以上である場合は、当該２つ以上の要素のうちの一番近い重心位置を有する要素をフォーカスの移動先要素とする第２決定手段と
を備え、
前記書き替え手段は、第２決定手段により決定された結果に基づき、前記テーブルを修正するとともに、該修正に関係するフォーカス移動先要素から、自分自身にフォーカス移動できるように前記テーブルを修正する
ことを特徴とする請求項１に記載のフォーカスナビゲーシヨンテーブル作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フォーカスナビゲーションに用いるテーブルを作成するフォーカスナビゲーションテーブル作成装置に関する。
【０００２】
【従来の技術】
データサービスやテレビゲーム、インタネットの閲覧ソフトウェアを動作させているコンピュータなどでは、画面上で候補となる部位（要素）にフォーカスと呼ばれる目印を移動し、画面で確認の上、決定する操作が一般的である。
このようなフォーカスはマウスで画面上を自由に動かす場合と、図１７に示すように、リモコンやキーボードなどにより要素間を離散的に移動させる場合が一般的である。
【０００３】
後者の場合、カーソルを要素間で離散的に移動させるのに、上下左右などの方向を示す方向キーを用いて行われるが、各方向キーで実際に移動すべき要素の割り当てについては、人間の選別作業により適正なものを決定するか、単純にソフトウェア記述上の出現順に割り当てるのが一般的である。
【０００４】
【発明が解決しようとする課題】
従来、インタネットのホームページ閲覧ソフトウェアなどコンピュータのソフトウェアでは、マウスなどを用いてフォーカス位置を示すポインタを対象まで移動させるか、タブキーを使って、位置情報とは密接な関係なく、順番にフォーカス対象を移動させるかによって、選択操作を実現していた。
【０００５】
マウスなどを用いる方法では、ポインタが選択不可の領域も通過したり、選択したい領域に正確に止める操作が面倒であった。また、タブキーを使う方法では、選択したい対象まで移動するのに、多数のキー操作が必要であり煩わしかった。
【０００６】
そこで、方向キーを用いて、４つの方向か、それ以上の数の方向に向けて、移動可能領域のみを移動させる操作方法が考えられる。
【０００７】
しかし、この場合、現在の位置から各方向キーによりどの移動可能領域へ移動するのが最適かを人間が判断し、ソフトウェア上に記述する必要があった。
本発明の目的は、上記のような問題点を解決し、方向キーの操作に応じた要素へのフォーカス移動を適正に行なうことができるフォーカスナビゲーションテーブルを作成できるフォーカスナビゲーションテーブル作成装置を提供することにある。
【０００８】
【課題を解決するための手段】
請求項１の発明は、表示画面上でフォーカスナビゲーションに供する複数の要素間におけるフォーカスの移動に使用するためのフォーカスナビゲーションテーブル作成装置であって、フォーカスナビゲーションに供する要素の占める領域の重心座標を演算する演算手段と、該演算手段による演算により得られた各要素の重心座標をストアするためのストア手段と、複数の方向キーのそれぞれに対して、その予め設定された基準方向を中心線とする扇形状の頂点の開き角を設定するための設定手段と、（ａ）前記複数の要素のうちの一つの特定された要素の重心をフォーカス点として、前記ストア手段にストアされた各要素に対して、前記設定手段により設定された開き角を有する、フォーカス点から見た前記扇形状内に重心を有する要素の数を、各方向キーについて計数する計数手段と、（ｂ）該計数手段により計数された数がゼロの方向キーに対しては、フォーカスの現在位置そのものをフォーカスの移動先要素とし、１つである方向キーに対しては、当該１つの要素をフォーカスの移動先要素とし、２つ以上である方向キーに対しては、当該２つ以上の要素のうちフォーカス点から一番近い重心位置を有する要素をフォーカスの移動先要素とする第１決定手段と、（ｃ）該第１決定手段の決定に基づき、前記特定された要素をフォーカス点とした場合の各方向キーの操作によるフォーカス移動先要素とを関係付けをしたテーブルを作成する作成手段と、前記複数の要素それぞれに対して、前記計数手段、前記第１決定手段および前記作成手段を実行させる実行手段と、前記実行手段が前記複数の要素それぞれに対して、前記計数手段、前記第１決定手段および前記作成手段を実行させ作成されたテーブルについて、他の要素への移動が不可能な、あるいは他の要素からの移動が不可能な要素である特異点が存在するか否かを判定する判定手段と、前記特異点が存在する場合に、他の要素への移動が不可能とされた要素を移動可能にするための特異点処理手段と、前記特異点処理手段の結果に基づいて、他の要素からの移動が不可能とされた要素へ移動可能にするように前記テーブルを書き替えて、特異点が存在しないテーブルを作成する、書き替え手段とを備えたことを特徴とするものである。
【００１０】
請求項１において、前記特異点処理手段は、前記判定手段により不可能と判定された要素に対して、前記計数手段による各方向キーのうちのいずれかの方向キーについて１つ以上の要素が計数されるまで、前記開き角を所定の角度づつ広げる角度増分手段と、前記計数手段により計数された数が１つである場合は、当該一つの要素をフォーカスの移動先要素とし、２つ以上である場合は、当該２つ以上の要素のうちの一番近い重心位置を有する要素をフォーカスの移動先要素とする第２決定手段とを備え、前記書き替え手段は、第２決定手段により決定された結果に基づき、前記テーブルを修正するとともに、該修正に関係するフォーカス移動先要素から、自分自身にフォーカス移動できるように前記テーブルを修正することを特徴とするものである。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１２】
図１は本発明の一実施の形態を示す。これはフォーカスナビゲーションテーブル作成装置の例である。図１において、１は要素位置座標メモリであり、入力された全ての選択可能要素の数と、これら要素の位置座標データとを保持するものである。２は重心演算部であり、要素位置座標メモリ１に保持されている各要素の位置座標データから、要素ごとに、要素の占める領域の重心座標を演算するものである。３は重心座標メモリであり、重心演算部２により演算された重心座標データと、各要素に付された固有の番号（要素番号）とを対応させて保持するものである。
【００１３】
７は入力設定部であり、方向キーの数ｎと、各方向キーの感度を表す角度θを入力するためのものである。４は移動先要素判定部であり、重心座標メモリ３に保持されている各要素の重心座標データを用いて、各要素に対して各方向キーごとのフォーカスナビゲーション先の要素を判定するものである。５はテーブル処理部であり、移動先要素判定部４の判定結果に基づきフォーカスナビゲーション用のテーブルを作成し、特異点判定部６により特異点が存在すると判定された場合に、特異点が存在しないように、予め定めた処理によりテーブルを書き直すものである。６は特異点判定部であり、テーブル処理部５により作成されたテーブルに特異点が存在するか否かを判定するものである。
【００１４】
ここで、特異点とは、「他の要素への移動が不可能」か、あるいは「他の要素からの移動が不可能」な要素をいう。
【００１５】
図２は本装置によるフォーカスナビゲーション用のテーブルの作成手順を示すフローチャートである。フォーカスナビゲーションに係る要素の数と各要素の位置座標のデータが入力されると、これらのデータが要素位置座標メモリ１に保持され、要素位置座標メモリ１の各要素の位置座標データから、各要素の重心座標が重心演算部２により計算される。計算結果は、各要素に付した要素番号と対応させて、重心座標メモリ３に保持される（Ｓ２０１）。そして、重心座標メモリ３に全ての要素の重心座標が保持されると、その旨が移動先要素判定部４に通知される。
【００１６】
このような重心座標の計算方法は、要素の形状が矩形の場合と、それ以外の場合で異なる。要素の形状が矩形、例えば、図３に示すような長方形であって、左上隅座標が（ｘ１，ｙ２）であり、右下隅座標が（ｘ２，ｙ２）である場合の重心の座標（ｘ，ｙ）は、
【００１７】
【数１】
（ｘ，ｙ）＝（（ｘ１＋ｘ２）／２，（ｙ１＋ｙ２）／２）
から求められる。
【００１８】
他方、要素の形状が矩形以外の形状、例えば、図４に示すような形状の重心座標（ｘ，ｙ）は、当該図形の領域をｎ個の画素に分割し、各画素の座標を（ｘi，ｙi）とし、ここで、ｉ＝０，…，ｎ−１であるとすると、
【００１９】
【数２】
0004034926.tif 000002
【００２０】
から求められる。
【００２１】
そして、入力設定部７から方向キーの数ｎと、方向キーの感度として角度θが入力されると、方向キーの数ｎと、角度θが移動先要素判定部４に入力される（Ｓ２０２）。
【００２２】
例えば、４方向キーの場合の方向は、０度、９０度、１８０度、２７０度の角度を用いて表すのが一般的である。この場合、例えば、０度が右方向を表し、この０度を基準にして反時計回りに、９０度が上方向、１８０度が左方向、２７０度が下方向を表す。
【００２３】
そして、角度θの入力が直接入力されたか、感度の較正目的で予め定められた操作が行われたかを判定する（Ｓ２０３）。直接入力と判定した場合は、角度θを設定し（Ｓ２０４）、他方、感度の較正目的で予め定められた操作が行われたと判定した場合は、較正による角度設定を行い（Ｓ２０８）、その後、Ｓ２０５に進む。
【００２４】
入力される角度θは各方向キーに対して、同一であっても良いし、異なっていても良い。そこで、例えば、上方向キーに対して角度θ1が設定され、要素の重心において角度θ1で交差する２つの直線により形成される領域、すなわち、図５において斜線を施した範囲が感応領域となり、例えば、右方向キーに対して角度θ2が設定され、図６において斜線を施した範囲が感応領域になった場合には、図７に示すように、上方向キーの感応領域と右方向キーの感応領域が重なる場合もある。
【００２５】
ちなみに、８方向キーの右上方向キーの角度θ3に対する感応領域は図８に示すようになる。
【００２６】
そして、各要素に対して、各方向キーの操作に対するフォーカスナビゲーション先要素を決定し、得られた結果はテーブル処理部５にストアする。ついで、全ての要素に対して、フォーカスナビゲーション先の要素を決定すると、ストアされている各要素と、各方向キーの操作に対するフォーカスナビゲーション先の要素とから、フォーカスナビゲーション用のテーブルを作成する（Ｓ２０５）。この手順は後程詳しく説明する。
【００２７】
このようにしてフォーカスナビゲーション用のテーブルを作成すると、得られたフォーカスナビゲーション用のテーブルの全要素について、特異点判定部６により、「他の要素への移動が不可能」か、あるいは「他の要素からの移動が不可能」かを判定し、すなわち、特異点か否かを判定し（Ｓ２０６）、特異点があると判定した場合は、特異点に該当する要素を移動先要素判定部４に通知し、移動先要素判定部４により特異点処理を行なわせ、当該テーブルを書き換える（Ｓ２０７）。この処理は後程詳細に説明する。他方、特異点がないと判定した場合は、テーブル処理部５は既に作成されているテーブルをそのまま出力する。
【００２８】
図９は図２のＳ２０５の手順をより詳細に示すフローチャートである。ここで、フォーカスナビゲーションに４方向キーを用いるものとする。重心座標メモリ３から、各要素の要素番号と、当該要素番号に対応する重心座標データとを読み込み、まず、要素番号１に対して、上、下、左、右方向キーに対するフォーカス移動先を決定する手順を開始する。
【００２９】
上、下、左、右方向キーを表す変数ｕ，ｄ，ｌ，ｒと、フォーカス移動先要素の要素番号ｉとの関係を表す式である（ｕ，ｄ，ｌ，ｒ）＝（ｉ，ｉ，ｉ，ｉ）において、まず、ｉ＝１とする（Ｓ９０１）。すなわち、自分の要素番号である１を、初期値として、上、下、左、右方向キーに対するフォーカスの移動先要素の要素番号とする。
【００３０】
ついで、１番目の方向キーとして、上、下、左、右方向キーのうちの上方向キーを指定し（Ｓ９０２）、要素番号１の要素以外の要素の重心座標が感応領域内に存在するか否かを判定する（Ｓ９０３）。すなわち、上方向キーの感応領域内の要素の数Ｎを求める。
【００３１】
そして、当該感応領域内に要素が存在しない場合、すなわち、Ｎ＝０の場合は、フォーカス移動先要素を自分自身とする。すなわち、変数ｕをｕ＝１のままにしておく。他方、当該感応領域内に要素が１つだけ存在する場合、すなわち、Ｎ＝１の場合は、当該要素をフォーカス移動先要素とする。すなわち、変数ｕに当該フォーカス先要素の要素番号を代入する。
【００３２】
あるいは、当該感応領域内に要素が２つ以上存在する場合は、当該２つ以上の要素の各重心と要素番号１の要素の重心との間の距離をそれぞれ計算する（Ｓ９０５）。そして、計算された距離のうちの最小距離に位置する要素をフォーカス移動先要素とする（Ｓ９０６）。すなわち、変数ｕに当該フォーカス先要素の要素番号を代入する。
【００３３】
そして、上、下、左、右方向キーに対して全てフォーカス移動先要素を決定したか否かを判定する（Ｓ９０７）。この場合、次の方向キーとして、上、下、左、右方向キーのうちの下方向キーを指定し（Ｓ９０８）、Ｓ９０３に戻る。以後、Ｓ９０３〜９０６の処理を行う。
【００３４】
このように、下方向キーに対して、フォーカス移動先要素を決定した後、左、右方向キーに対して、同様の処理を行い、その後、この処理を終了する。
そして、要素番号１の要素に対するフォーカス移動先要素を決定した後、ｉ＝２とする。すなわち、要素番号２の要素に対して、要素番号１の要素に対する場合と本質的に同様にして、フォーカス移動先要素を決定する。
【００３５】
そして、要素番号２の要素に対フォーカス移動先要素の決定を行なった後、要素番号３以降の要素に対して、それぞれ本質的に同様にして、フォーカス移動先要素を決定する。
【００３６】
このようにして最終的に得られるフォーカスナビゲーション用のテーブルとしては、例えば、図１０に示すように配置された要素に対して、図１１に示すようなテーブルが得られる。また、例えば、図１２に示すように配置された要素に対しては、図１３に示すようなテーブルが得られる。ここで、nav-index:の後の数字は要素番号を示し、nav-up:の後の数字は上方向キーによるフォーカス移動先要素の要素番号、nav-right:の後の数字は右方向キーによるフォーカス移動先要素の要素番号、nav-down:の後の数字は下方向キーによるフォーカス移動先要素の要素番号、nav-left:の後の数字は左方向キーによるフォーカス移動先要素の要素番号を示す。
【００３７】
図１４は図２のＳ２０７における抽出特異点ごとのテーブル修正手順をより詳細に示すフローチャートである。修正対象となる１つの特異点に対して、１番目の方向キーとして、上、下、左、右方向キーのうちの上方向キーを指定し（Ｓ１４０１）、感度を表す角度θを予め定めた角度δだけ広げ（Ｓ１４０２）、上方向キーの感応領域内に要素が存在するか否かを判定する（Ｓ１４０３）。すなわち、当該要素以外の要素の重心座標が感応領域内に存在するか否かを判定する。当該感応領域内に要素が存在しない場合は、Ｓ１４０２に戻り、以後、当該感応領域内に要素を１つ以上感知するまで、感度を表す角度θを予め定めた角度δづつ広げていく。そして、当該感応領域内に要素を１つだけ存在すると判定した場合は、当該要素をフォーカス移動先要素とする（Ｓ１４０４）。すなわち、変数ｕに当該フォーカス先要素の要素番号を代入する。
【００３８】
他方、当該感応領域内に要素が２つ以上存在すると判定した場合は、当該２つ以上の要素の各重心と要素番号１の要素の重心との間の距離をそれぞれ計算する（Ｓ１４０５）。そして、計算された距離のうちの最小距離に位置する要素をフォーカス移動先要素とする（Ｓ１４０６）。すなわち、変数ｕに当該フォーカス先要素の要素番号を代入する。
【００３９】
そして、上、下、左、右方向キーに対して全てフォーカス移動先要素を決定したか否かを判定する（Ｓ１４０７）。この場合は、否定判定し、感度を表す角度θを最初の設定値θ1（上、下、左、右方向キーの感度を同一に設定した場合）とし（Ｓ１４０８）、次のキーとして、上、下、左、右方向キーのうちの下方向キーを指定し（Ｓ１４０９）、Ｓ１４０２に戻る。以後、Ｓ１４０２〜１４０９の処理を行う。
【００４０】
このように、下方向キーに対して、フォーカス移動先要素を決定した後、左、右方向キーに対して、同様の処理を行う。
【００４１】
その結果、例えば、特異点として要素Ｃ（nav-index:3）を有していた図１３のテーブルは、要素番号３に関係するフォーカス移動先要素の要素番号が書き直され、図１５に示すようになる。
【００４２】
そして、対応する方向キーのフォーカス移動先要素を修正する（Ｓ１４１０）。このような修正を図１５のテーブルを例に説明すると、第１に、nav-index:3のnav-up:1に対して、上方向キー（nav-up:1のnav-up:）と逆方向のフォーカス移動を行なうためのキーである下方向キーであって、要素番号１（nav-up:1の１）に関係する下方向キーの番号を３（nav-index:3の３）と書き直す。すなわち、nav-index:1のnav-down:2をnav-down:3と書き直す。
【００４３】
第２に、nav-index:3のnav-right:4に対して、右方向キー（nav-right:4のnav-right:）と逆方向のフォーカス移動を行なうためのキーである左方向キーであって、要素番号４（nav-right:4の４）に関係する左方向キーの番号を３（nav-index:3の３）と書き直す。すなわち、nav-index:4のnav-left:1をnav-left:3と書き直す。
【００４４】
第３に、nav-index:3のnav-down:5に対して、下方向キー（nav-down:5のnav-down:）と逆方向のフォーカス移動を行なうためのキーである上方向キーであって、要素番号５（nav-down:5の５）に関係する上方向キーの番号を３（nav-index:3の３）と書き直す。すなわち、nav-index:5のnav-up:4をnav-up:3と書き直す。
【００４５】
第４に、nav-index:3のnav-left:2に対して、左方向キー（nav-left:2のnav-left:）と逆方向のフォーカス移動を行なうためのキーである右方向キーであって、要素番号２（nav-left:2の２）に関係する右方向キーの番号を３（nav-index:3の３）と書き直す。すなわち、nav-index:2のnav-right:5をnav-right:3と書き直す。
【００４６】
以上より当該特異点が解消されるが、この他にも特異点が抽出されている場合には、以後、同様にして、特異点ごとに、Ｓ１４０１〜Ｓ１４１０を繰り返す。このようにして、特異点が解消され、図１６に示すような、衛星デジタル放送のデータサービス符号化としてARIB(電波産業会)規格STD-B24で規定されているＢＭＬ（Broadcast Markup Language）符号化によるフォーカスナビゲーション用のテーブルが得られる。
【００４７】
このＢＭＬ符号化以外に、例えば、ＭＨＥＧ（Multimedia Hypermedia Expert Group）符号化が知られているが、このＭＨＥＧ符号化においても、トークングループと呼ばれるナビゲーションテーブルが同様の手段で得られる。
我々の実験によると、このようにして得られたフォーカスナビゲーション用のテーブルに基づく上、下、左、右方向キーによるフォーカス移動先と、人間の印象による上、下、左、右方向キーによるフォーカス移動先とが一致する確率は、平均で９０％から１００％であった。確率が１００％にならないのは、各人の個人差に起因するものと思われる。
【００４８】
【発明の効果】
以上説明したように、本発明によれば、上記のように構成したので、方向キーの操作に応じた要素へのフォーカス移動を適正に行なうことができるフォーカスナビゲーションテーブルを作成できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すブロック図である。
【図２】フォーカスナビゲーション装置によるフォーカスナビゲーション用のテーブル作成手順を示すフローチャートである。
【図３】長方形の要素の重心の計算方法を説明するための説明図である。
【図４】長方形以外の要素の重心の計算方法を説明するための説明図である。
【図５】感度を表す角度θ１の感応領域を示す図である。
【図６】感度を表す角度θ２の感応領域を示す図である。
【図７】感応領域どうしが重なる例を示す図である。
【図８】８方向キーの１つである右上キーの感応領域の例を示す図である。
【図９】図２のＳ２０５の手順をより詳細に示すフローチャートである。フォーカスナビゲーションテーブル生成フローチャート、
【図１０】６つの要素の配置例を示す図である。
【図１１】図１０に示す要素配置に対して得られるフォーカスナビゲーション用のテーブルの一例を示す図である。
【図１２】５つの要素の配置例を示す図である。
【図１３】図１２に示す要素配置に対して得られるフォーカスナビゲーション用のテーブルの一例を示す図である。
【図１４】図２のＳ２０７の手順をより詳細に示すフローチャートである。
【図１５】図１３のテーブルを、要素番号３に関係するフォーカス移動先要素の要素番号のみを書き直した段階でのテーブルを示す図である。
【図１６】図１５のテーブルを、要素番号３に関係するフォーカス移動先要素の要素番号を書き直して得られたテーブルを示す図である。
【図１７】フォーカスを離散的に要素間を移動させる例を示す図である。
【符号の説明】
１  要素位置座標メモリ
２  重心演算部
３  重心座標メモリ
４  移動先要素判定部
５  テーブル処理部
６  特異点判定部
７  入力設定部
【図１】
0004034926.tif 000003
【図２】
0004034926.tif 000004
【図３】
0004034926.tif 000005
【図４】
0004034926.tif 000006
【図５】
0004034926.tif 000007
【図６】
0004034926.tif 000008
【図７】
0004034926.tif 000009
【図８】
0004034926.tif 000010
【図９】
0004034926.tif 000011
【図１０】
0004034926.tif 000012
【図１１】
0004034926.tif 000013
【図１２】
0004034926.tif 000014
【図１３】
0004034926.tif 000015
【図１４】
0004034926.tif 000016
【図１５】
0004034926.tif 000017
【図１６】
0004034926.tif 000018
【図１７】
0004034926.tif 000019