(57)【要約】【課題】  選択ポインタを移動表示して複数の表示オブジェクトからユーザの操作により所望のオブジェクトを選択可能とする場合において、選択ポインタの移動の際におけるユーザの操作性の向上を図る。【解決手段】  右方向キーの操作によってボタン２０１→ボタン２０２→ボタン２０３→ボタン２０４→ボタン２０１とアンカー２５０が移動する。初期入力では、アンカー２５０は、現時点でいずれのボタンに付されているのかに関わらず、現時点でアンカー２５０の付されているボタンのリンク先に従って移動する。継続入力において現時点でアンカー２５０がボタン２０１〜２０３に位置している場合には、リンク先のボタンにアンカー２５０が移動するが、現時点でボタン２０４に位置している場合には、アンカー２５０は、ボタン２０４において停止する。その後再度、初期入力があれば、ボタン２０４のリンク先となるボタン２０１にアンカー２５０が移動する。【選択図】    図２
2006331036.tif 000002
【特許請求の範囲】
【請求項１】
それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示装置に表示し、ユーザの操作により該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で順次移動させることにより、前記複数の選択オブジェクトからユーザが所望する処理に対応した選択オブジェクトを選択可能とする情報処理装置であって、
前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した選択オブジェクト記憶手段と、
前記選択オブジェクト記憶手段にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示する選択オブジェクト表示手段と、
前記ポインタの位置を前記表示領域内において移動させるための指示をユーザの操作により入力する移動操作手段が操作されたかどうかを検出する移動操作検出手段と、
前記移動操作検出手段により前記移動操作手段の操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトのリンク情報に従って、前記ポインタの位置を移動するポインタ移動手段と、
現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための指示をユーザの操作により入力する確定操作手段が操作されたかどうかを検出する確定操作検出手段と、
前記確定操作検出手段により前記確定操作手段の操作が検出されたときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理を実行する選択処理実行手段とを備え、
前記移動操作検出手段は、
ユーザにより前記移動操作手段の操作が最初にされたかどうかを検出する初期操作検出手段と、
前記初期操作検出手段によりユーザによる前記移動操作手段の操作が検出された後、前記移動操作手段の操作が継続されているかどうかを検出する継続操作検出手段とを含み、
前記ポインタ移動手段は、
前記初期操作検出手段により前記移動操作手段の操作が検出されたときに、該移動操作手段の操作の検出に従って、前記ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトに対応した位置に移動する初期時ポインタ移動手段と、
前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定する端部判定手段と、
前記端部判定手段により前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動操作手段の継続操作の検出に従って、前記ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトに対応した位置に移動する継続時ポインタ移動手段と、
前記端部判定手段により前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記ポインタの位置を現時点のポインタの位置のまま移動せずに停止させる継続時ポインタ停止手段とを含む
ことを特徴とする情報処理装置。
【請求項２】
前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、ユーザによる順方向の操作に従ってポインタの位置を順方向で移動すべき選択オブジェクトを示す順方向リンク情報と、ユーザによる逆方向の操作に従ってポインタの位置を逆方向で移動すべき選択オブジェクトを示す逆方向リンク情報とを記憶し、
前記移動操作手段は、前記ポインタの位置を順方向で移動させるための指示を入力する順方向操作手段と、該ポインタの位置を逆方向で移送させるための指示を入力する逆方向操作手段とを含み、
前記ポインタ移動手段は、前記順方向操作手段と前記逆方向操作手段とのうちで前記移動操作検出手段により操作の検出された方に対応した方向に応じたリンク情報に従って、前記ポインタの位置を移動し、
前記端部判定手段は、現時点のポインタの位置が前記表示領域のいずれかの端部に表示されている選択オブジェクトに対応した位置にある状態で前記連続操作検出手段により該ポインタの位置する端部よりもさらに前記表示領域の外側の方向に対応する移動操作手段の操作が前記継続操作検出手段により検出されたことを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記の端部に表示されている選択オブジェクトであると判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを前記表示領域に並べて表示し、
前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、ポインタを移動すべき選択オブジェクトが前記複数の選択オブジェクトで巡回するように前記リンク情報を記憶し、
前記初期時ポインタ移動手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該ポインタの位置する端部よりもさらに前記表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、該一方の端部に表示されている選択オブジェクトのリンク情報に従って、前記ポインタの位置を前記表示領域の他方の端部に表示されている選択オブジェクトに対応した位置に移動する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、さらに前記表示領域における当該選択オブジェクトの位置を記憶し、
前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置と、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置とを比較し、該比較の結果に応じて現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているかどうかを判定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを１行に並べて表示し、
前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置が、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置よりも検出された継続操作の方向とは逆方向の位置にあることを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されている選択オブジェクトであると判定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを複数行、複数列に並べて表示し、
前記選択オブジェクト記憶手段は、１行中のいずれかの端部の列に位置する選択オブジェクトについて、異なる行の他方の端部の列に位置する選択オブジェクトをユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトとするリンク情報を記憶し、
前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置が、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置よりも検出された継続操作の方向とは行方向及び列方向のいずれにおいても逆方向の位置にあることを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されている選択オブジェクトであると判定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記選択オブジェクト表示手段は、前記複数の選択オブジェクトのうちの２以上の一部の選択オブジェクトを前記表示領域に並べて表示するとともに、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、前記複数の選択オブジェクトの位置を移動して少なくとも現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトを前記表示領域内に表示させる選択オブジェクト移動表示手段を含み、
前記初期時ポインタ移動手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、前記選択オブジェクト移動表示手段により前記表示領域内に移動して表示された他の選択オブジェクトに対応した位置に、前記ポインタの位置を移動する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項８】
前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトの該検出された操作に対応する方向のリンク情報が示す他の選択オブジェクトの位置が前記表示領域内の位置に含まれるかどうかを判定し、該他の選択オブジェクトの位置が前記表示領域内の位置に含まれないと判定したときに現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていると判定する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記選択オブジェクト移動表示手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、現時点のポインタの位置に対応した選択オブジェクトの該検出された操作に対応する方向のリンク情報が示す他の選択オブジェクトが前記表示領域の他方の端部に表示されるように前記複数の選択オブジェクトの位置を移動する
ことを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置において、該コンピュータ装置の処理装置が実行する方法であって、
前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、
前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、
前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、
前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、
前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップと
を含むことを特徴とするポインタの移動表示方法。
【請求項１１】
それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置の処理装置により実行されるプログラムであって、
前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、
前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、
前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、
前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、
前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップと
を含むことを特徴とするプログラム。
【請求項１２】
それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置の処理装置により実行されるプログラムを記録した記録媒体であって、
前記プログラムは、
前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、
前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、
前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、
前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、
現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、
前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップと
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選択ポインタを移動表示して複数の表示オブジェクトからユーザが所望のオブジェクトを選択可能とする場合における選択ポインタの移動に関するものである。
【背景技術】
【０００２】
情報処理装置を内蔵したデジタル家電では、ユーザが所望の処理を選択するためのメニュー画面が用いられる。このようなメニュー画面は、各々の処理に対応付けられた複数のオブジェクトからユーザがいずれかのオブジェクトを選択することで、所望の処理が行われるようにするものである。
【０００３】
メニュー画面に含まれる複数のオブジェクトからユーザが所望のオブジェクトを選択するための方法として、マウスやタッチパネルなどにより表示装置上において所望のオブジェクトに対応した座標位置を入力する方法がある。もっとも、マウスやタッチパネルなどの座標位置を直接入力できる入力装置を適用できない装置もあり、また、オブジェクトとは関係ない位置の座標も入力できる入力装置は、必ずしも便利なものとは言えないという面もある。
【０００４】
これに対して、メニュー画面に表示された複数のオブジェクトに選択ポインタ（カーソル）を付していき、入力装置から確定入力を行うことで選択ポインタの付されたオブジェクトを選択するものとした方法もある。この場合、選択ポインタは、例えば、入力装置が備える上下左右の方向キーの操作によって、複数のオブジェクト間で移動させるものとすることができる。この場合、入力された方向データに対してどのように選択ポインタを移動していくかが問題となる。
【０００５】
特許文献１では、現時点で選択ポインタ（カーソル）の表示されているオブジェクト（機能ボタン）に対して、入力装置（ジョイスティック１６）から入力された方向データに対応する上下左右の方向に他のオブジェクトがあれば、選択ポインタの位置を移動するものとしている。特許文献２では、マウス操作によるカーソルの移動にかかるものではあるが、選択ポインタ（カーソル）に対して表示領域（移動可能領域）の端を越えるような移動があれば、選択ポインタの位置を他端に移動するものとしている。
【０００６】
【特許文献１】特開平６−１３１１１９号公報
【特許文献２】特許第３２４９５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、方向キーの入力方向にしか選択ポインタを移動することしか考えていない。例えば、表示領域の右端に表示されているオブジェクトに選択ポインタが位置する状態で、さらに右の方向キーが操作された場合には選択ポインタが移動することはない。ここで、現時点で選択ポインタの位置するオブジェクトよりも左側のオブジェクトに選択ポインタを移動しようとすれば、左の方向キーの操作に変えるしかない。このように操作すべき方向キーを変えなくてはならないと、操作性が低下する。
【０００８】
一方、特許文献２では、例えば、表示領域の右端に選択ポインタが位置する状態でさらにマウスから右方向の移動入力を行うと、そのまま選択ポインタが表示領域の左端に移動してしまうこととなる。これは、一連の連続した動きの中で生じる現象であるため、右方向への操作でいきなり左端に選択ポインタが移動してしまうこととなると、ユーザは、選択ポインタが表示領域のどこにあるのかが分かりにくくなってしまう。このように特許文献２でも、選択ポインタの移動に関する操作性に問題があった。
【０００９】
本発明は、選択ポインタを移動表示して複数の表示オブジェクトからユーザの操作により所望のオブジェクトを選択可能とする場合において、選択ポインタの移動の際におけるユーザの操作性の向上を図った情報処理装置及びポインタの移動表示方法、プログラム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点にかかる情報処理装置は、それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示装置に表示し、ユーザの操作により該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で順次移動させることにより、前記複数の選択オブジェクトからユーザが所望する処理に対応した選択オブジェクトを選択可能とする情報処理装置であって、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した選択オブジェクト記憶手段と、前記選択オブジェクト記憶手段にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示する選択オブジェクト表示手段と、前記ポインタの位置を前記表示領域内において移動させるための指示をユーザの操作により入力する移動操作手段が操作されたかどうかを検出する移動操作検出手段と、前記移動操作検出手段により前記移動操作手段の操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトのリンク情報に従って、前記ポインタの位置を移動するポインタ移動手段と、現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための指示をユーザの操作により入力する確定操作手段が操作されたかどうかを検出する確定操作検出手段と、前記確定操作検出手段により前記確定操作手段の操作が検出されたときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理を実行する選択処理実行手段とを備え、前記移動操作検出手段は、ユーザにより前記移動操作手段の操作が最初にされたかどうかを検出する初期操作検出手段と、前記初期操作検出手段によりユーザによる前記移動操作手段の操作が検出された後、前記移動操作手段の操作が継続されているかどうかを検出する継続操作検出手段とを含み、前記ポインタ移動手段は、前記初期操作検出手段により前記移動操作手段の操作が検出されたときに、該移動操作手段の操作の検出に従って、前記ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトに対応した位置に移動する初期時ポインタ移動手段と、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定する端部判定手段と、前記端部判定手段により前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動操作手段の継続操作の検出に従って、前記ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトに対応した位置に移動する継続時ポインタ移動手段と、前記端部判定手段により前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記ポインタの位置を現時点のポインタの位置のまま移動せずに停止させる継続時ポインタ停止手段とを含むことを特徴とする。
【００１１】
上記第１の観点にかかる情報処理装置では、ユーザにより行われた移動操作手段の操作が最初にされた初期操作であった場合には、ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報に従って、他の選択オブジェクトに移動させるものとなる。また、ユーザの操作が継続した継続操作であった場合には、現時点のポインタの位置に対応した選択オブジェクトが表示領域の端部に表示されているかどうかを判定し、該端部に表示されていないと判定されたときには、ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報に従って、他の選択オブジェクトに移動させるものとなる。ここで、該端部に表示されていると判定された場合には、ポインタの位置を現時点のポインタの位置のまま移動されずに停止されるものとなる。
【００１２】
つまり、ユーザの操作が継続操作であった場合には現時点のポインタの位置に応じて、該ポインタが移動するものと、移動しないものとがあるが、ポインタの位置する選択オブジェクトが表示領域の端部に表示されているものであると継続操作ではポインタが移動しない。このため、ユーザは、現時点でポインタの位置している選択オブジェクトを容易に把握することができ、操作性が向上するものとなる。この場合でも、先ほどの継続操作のときと全く同じ操作をやり直して、移動操作手段を初期操作すれば、ポインタの位置を移動させることができる。このため、現時点でポインタの位置している選択オブジェクトが端部の選択オブジェクトであっても操作方法を大きく変えることなくポインタを移動させることができるので、操作性が向上するものとなる。
【００１３】
なお、前記初期操作検出手段は、前記移動操作手段の操作がされていない状態から前記移動操作手段が操作されたことを以て、ユーザにより前記移動操作手段の操作が最初にされた旨を検出する。前記継続時ポインタ停止手段は、前記端部判定手段により前記表示領域の端部に表示されているオブジェクトであると判定したときに、前記継続操作検出手段を無効化させるものとしてもよい。この継続操作手段の無効化により、前記移動操作手段の継続操作が検出されないこととなるので、前記ポインタの位置を現時点のポインタの位置のまま移動せずに停止させることができるようになる。
【００１４】
また、前記継続操作検出手段は、前記移動操作手段の操作が継続されているかどうかを所定時間毎に検出するものとしてもよい。この場合、前記初期操作検出手段により前記移動操作手段の操作が最初に検出されてからの経過時間が短くなるに従って、前記継続操作検出手段が前記移動操作手段の操作が継続されているかどうかを検出する所定時間の間隔を短くしていくものとしてもよい。前記初期操作検出手段により前記移動操作手段の操作が最初に検出されてからの経過時間が一定時間に達するまで所定時間の間隔を短くしていき、該経過時間が一定時間に達した後は所定時間の間隔を固定するものとしてもよい。
【００１５】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、ユーザによる順方向の操作に従ってポインタの位置を順方向で移動すべき選択オブジェクトを示す順方向リンク情報と、ユーザによる逆方向の操作に従ってポインタの位置を逆方向で移動すべき選択オブジェクトを示す逆方向リンク情報とを記憶し、前記移動操作手段は、前記ポインタの位置を順方向で移動させるための指示を入力する順方向操作手段と、該ポインタの位置を逆方向で移送させるための指示を入力する逆方向操作手段とを含み、前記ポインタ移動手段は、前記順方向操作手段と前記逆方向操作手段とのうちで前記移動操作検出手段により操作の検出された方に対応した方向に応じたリンク情報に従って、前記ポインタの位置を移動し、前記端部判定手段は、現時点のポインタの位置が前記表示領域のいずれかの端部に表示されている選択オブジェクトに対応した位置にある状態で前記連続操作検出手段により該ポインタの位置する端部よりもさらに前記表示領域の外側の方向に対応する移動操作手段の操作が前記継続操作検出手段により検出されたことを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記の端部に表示されている選択オブジェクトであると判定するものとすることができる。
【００１６】
この場合には、ユーザは、順方向の操作では順方向リンク情報に従って、逆方向の操作では逆方向リンク情報に従って、それぞれポインタの位置を移動することができる。つまり、ユーザは所望の操作方向を選択し、該選択した操作方向にポインタの位置を移動させることができるようになる。このようにポインタを移動させたい選択オブジェクトの位置に応じて順方向にも逆方向にもポインタを移動させることができることにより、さらに操作性が向上するものとなる。
【００１７】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを前記表示領域に並べて表示し、前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、ポインタを移動すべき選択オブジェクトが前記複数の選択オブジェクトで巡回するように前記リンク情報を記憶し、前記初期時ポインタ移動手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該ポインタの位置する端部よりもさらに前記表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、該一方の端部に表示されている選択オブジェクトのリンク情報に従って、前記ポインタの位置を前記表示領域の他方の端部に表示されている選択オブジェクトに対応した位置に移動するものとすることができる。
【００１８】
この場合には、表示領域内の複数の選択オブジェクトのそれぞれについて、ポインタの位置が前記複数の選択オブジェクトで巡回するようにリンクされており、表示領域の一方の端部からは、他方の端部にリンクされる。つまり、ユーザは１つの操作方向の指定によって、表示領域内の全ての選択オブジェクト間においてポインタの位置を順次移動させることができるようになる。このため、ユーザの操作性が向上するものとなる。
【００１９】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト記憶手段は、前記複数の選択オブジェクトのそれぞれについて、さらに前記表示領域における当該選択オブジェクトの位置を記憶し、前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置と、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置とを比較し、該比較の結果に応じて現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているかどうかを判定するものとすることができる。
【００２０】
この場合には、現時点でポインタの位置する選択オブジェクトの位置とリンク情報の選択オブジェクトの位置を比較した結果によって、現時点でポインタの位置する選択オブジェクトが表示領域の端部であるがどうかが判定される。このように選択オブジェクトの位置同士の比較という比較的簡易な処理により、現時点でポインタの位置する選択オブジェクトが端部に表示されているか判断できるので、処理負荷を小さくすることができる。
【００２１】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを１行に並べて表示し、前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置が、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置よりも検出された継続操作の方向とは逆方向の位置にあることを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されている選択オブジェクトであると判定するものとすることができる。
【００２２】
この場合には、現時点でポインタの位置する選択オブジェクトの位置とリンク情報の選択オブジェクトの位置を比較した結果が、ユーザの指示する継続操作の方向でなかった場合には、現時点でポインタの位置する選択オブジェクトは表示領域の端部であると判定される。このような方法により、複数の選択オブジェクトの全てを１行に並べて表示したものでは、現時点でポインタの位置するオブジェクトが端部の選択オブジェクトであるかどうかを簡単に判断することができる。
【００２３】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト表示手段は、前記複数の選択オブジェクトの全てを複数行、複数列に並べて表示し、前記選択オブジェクト記憶手段は、１行中のいずれかの端部の列に位置する選択オブジェクトについて、異なる行の他方の端部の列に位置する選択オブジェクトをユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトとするリンク情報を記憶し、前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置または該ポインタの位置に対応した選択オブジェクトの位置が、該ポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトの位置よりも検出された継続操作の方向とは行方向及び列方向のいずれにおいても逆方向の位置にあることを条件として、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されている選択オブジェクトであると判定するものとすることができる。
【００２４】
この場合には、現時点でポインタの位置する選択オブジェクトの位置とリンク情報の選択オブジェクトの位置を比較した結果が、ユーザの指示する継続操作の方向とは行方向及び列方向のいずれにおいても逆方向である場合には、現時点でポインタの位置する選択オブジェクトは表示領域の端部であると判定される。このような方法により、複数の選択オブジェクトを複数行、複数列に並べて表示した場合でも、現時点でポインタの位置する選択オブジェクトが端部の選択オブジェクトであるかどうかを判断することができるようになる。
【００２５】
上記第１の観点にかかる情報処理装置において、前記選択オブジェクト表示手段は、前記複数の選択オブジェクトのうちの２以上の一部の選択オブジェクトを前記表示領域に並べて表示するとともに、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、前記複数の選択オブジェクトの位置を移動して少なくとも現時点のポインタの位置に対応した選択オブジェクトのリンク情報が示す他の選択オブジェクトを前記表示領域内に表示させる選択オブジェクト移動表示手段を含むものとしてもよい。この場合、前記初期時ポインタ移動手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、前記選択オブジェクト移動表示手段により前記表示領域内に移動して表示された他の選択オブジェクトに対応した位置に、前記ポインタの位置を移動するものとすることができる。
【００２６】
ここでは、現時点のポインタの位置に対応した選択オブジェクトが表示領域の端部に表示されている場合には、該表示領域よりもさらに外側の方向に対する継続操作では、ポインタの位置が移動することもなく、これまで表示されていなかった選択オブジェクトが表示領域に表示されるようになることもない。この場合、改めてユーザによる初期操作があった場合に、ポインタの位置を現時点のポインタの位置に対応した選択オブジェクトのリンク情報に従って他の選択オブジェクトに移動させるとともに、少なくとも該他の選択オブジェクトを表示領域内に表示させるものとなる。
【００２７】
つまり、ユーザの操作が継続操作であった場合には、現時点で表示されている表示領域内の端部に表示されている選択オブジェクトにおいてポインタは停止することとなるので、ユーザは、現時点でポインタの位置している選択オブジェクトを容易に把握することができ、操作性が向上するものとなる。一方、これまで表示領域に表示されていなかった選択オブジェクトについても、操作方法を大きく変えることなく表示領域に表示させるとともにポインタを移動させることができるので、操作性が向上するものとなる。
【００２８】
この場合において、前記端部判定手段は、前記継続操作検出手段により前記移動操作手段の継続操作が検出されたときに、現時点のポインタの位置に対応した選択オブジェクトの該検出された操作に対応する方向のリンク情報が示す他の選択オブジェクトの位置が前記表示領域内の位置に含まれるかどうかを判定し、該他の選択オブジェクトの位置が前記表示領域内の位置に含まれないと判定したときに現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていると判定するものとすることができる。
【００２９】
この場合には、現時点でポインタの位置する選択オブジェクトのリンク情報の選択オブジェクトの位置が表示領域に含まるか否かの比較的な簡易な判定によって、現時点でポインタの位置する選択オブジェクトが端部の選択オブジェクトであるかどうかを判定することができる。
【００３０】
また、ここでは、前記選択オブジェクト移動表示手段は、現時点のポインタの位置が前記表示領域の一方の端部に表示されている選択オブジェクトに対応した位置にある状態で該端部よりもさらに表示領域の外側の方向に対応する移動操作手段の操作が前記初期操作検出手段により検出されたときに、現時点のポインタの位置に対応した選択オブジェクトの該検出された操作に対応する方向のリンク情報が示す他の選択オブジェクトが前記表示領域の他方の端部に表示されるように前記複数の選択オブジェクトの位置を移動するものとすることが好ましい。
【００３１】
この場合には、現時点のポインタの位置に対応した選択オブジェクトが表示領域の端部に表示されている場合において、表示領域よりもさらに外側の方向に対するユーザによる初期操作があった場合には、表示領域の内容全てが表示変更され、新たな複数の選択オブジェクトが表示されることとなる。このため、表示領域に表示される選択オブジェクトの変更を幾度も行うことなく、ポインタの位置を複数の選択オブジェクトにおいて順次移動させることができる。また、ユーザにとっての操作性も向上するものとなる。
【００３２】
上記目的を達成するため、本発明の第２の観点にかかるポインタの移動表示方法は、それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置において、該コンピュータ装置の処理装置が実行する方法であって、前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップとを含むことを特徴とする。
【００３３】
上記目的を達成するため、本発明の第３の観点にかかるポインタのプログラムは、それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置の処理装置により実行されるプログラムであって、前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップとを含むことを特徴とする。
【００３４】
上記目的を達成するため、本発明の第４の観点にかかるコンピュータ読み取り可能な記録媒体は、それぞれユーザにより選択されて実行される処理に関連付けられた複数の選択オブジェクトを表示する表示装置と、前記複数の選択オブジェクトのそれぞれについて、前記ポインタが位置しているときにユーザの操作に従ってポインタの位置を移動すべき選択オブジェクトを示すリンク情報を記憶した記憶装置と、該表示装置に表示された複数の選択オブジェクトにそれぞれ対応した位置にポインタの位置を前記表示装置上で移動させるための移動指示と、該ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするための確定指示とをユーザの操作により入力する入力装置とを備えるコンピュータ装置の処理装置により実行されるプログラムを記録した記録媒体であって、前記プログラムは、前記記憶装置にリンク情報の記憶された複数の選択オブジェクトのうちの２以上の選択オブジェクトを、各選択オブジェクトに含まれるリンク情報に応じた順番で並べて前記表示装置に設定される表示領域に表示させるステップと、前記ポインタの位置を前記表示領域内において移動させるための移動指示に応じた前記入力装置の操作が最初に検出されたかどうかを判定するステップと、前記移動指示に応じた操作が最初に検出されたと判定したときに、該移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、前記移動指示に応じた前記入力装置の最初の操作が検出されたと判定した後にも、該移動指示に応じた前記入力装置の操作が継続して検出されているかどうかを判定するステップと、前記移動指示に応じた前記入力装置の操作が継続して検出されていると判定したときに、現時点のポインタの位置に対応した選択オブジェクトが前記表示手段の表示領域に表示されている２以上の選択オブジェクトのうちで該表示領域の端部に表示されている選択オブジェクトであるかどうかを判定するステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されていないオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に従って、現時点のポインタの位置に対応した選択オブジェクトについて前記記憶装置に記憶されているリンク情報が示す他の選択オブジェクトに対応した位置にポインタの位置を移動して、前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトが前記表示領域の端部に表示されているオブジェクトであると判定されたときに、前記移動指示に応じた操作の検出に関わらず、前記ポインタの位置を現時点のポインタの位置のまま移動せずに前記表示装置に表示させるステップと、現時点のポインタの位置に対応した選択オブジェクトを選択して該選択した選択オブジェクトに関連付けられた処理を実行させるための確定指示に応じた前記入力装置の操作が検出されたかどうかを判定するステップと、前記確定指示に応じた操作が検出されたと判定したときに、前記ポインタの位置に対応した選択オブジェクトに関連付けられた処理にジャンプするステップとを含むことを特徴とする。
【発明を実施するための最良の形態】
【００３５】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００３６】
［第１の実施の形態］
図１は、この実施の形態に適用される情報処理装置の構成を示すブロック図である。図示するように、この情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、記憶装置１０２と、入力装置１０３と、表示装置１０４と、通信装置１０５とを備えている。
【００３７】
ＣＰＵ１０１は、記憶装置１０２に格納されたプログラムを実行し、情報処理装置１００の制御を行う。また、ＣＰＵ１０１は、内部タイマと、パルス発生回路と、カウンタとを備えている。ＣＰＵ１０１は、後述するように入力装置１０３から所定の指示を受け付けると、パルス発生回路から所定数パルスを発生し、カウンタのカウントを開始する。なお、カウンタは、後述する入力装置１０３の上下左右のいずれかの方向を入力するための４つの方向キーについて、共有して使われる。
【００３８】
記憶装置１０２は、プログラムやデータを保存するための記憶領域である。また、記憶装置１０２は、入力情報レジスタを備え、後述するステータスも記憶している。入力装置１０３は、ユーザからの指示を受け付け、入力されたデータを記憶装置１０２内にある入力情報レジスタに格納させる。ＣＰＵ１０１は、記憶装置１０２内にある入力情報レジスタに格納された入力データを解釈して所定の処理を実施する。また、入力データは、入力装置１０３のいずれのキーのデータであるかを示すキー情報と、指示があったかどうかを示す指示有無情報とを含む。
【００３９】
入力装置１０３は、上下左右の方向を入力するための４つの方向キーと、確定入力するための確定キーとを備えている。なお、上下左右の４つの方向キーは、いずれも同時に操作することができない構造となっている。ＣＰＵ１０１は、上下左右のいずれかの方向キーの操作によって、表示装置１０４に表示された複数の選択オブジェクト（以下、ボタン）のうち、選択ポインタの位置を該指定された方向に従って移動させ、確定キーの操作によって、該選択ポインタの位置するボタンに割り付けられた処理にジャンプするものとなる。
【００４０】
ＣＰＵ１０１が入力装置１０３の方向キーから受け付ける指示は、キーを所定時間（例えば１／２秒）以下だけ操作したことによる単入力と、キーを所定時間以上操作し続けたことによる連続入力とがある。なお、確定キーから受け付ける確定指示は、単一入力のみであり、所定時間以上連続して入力があった場合にも、ＣＰＵ１０１は該指示を１つの指示であると判定して処理を行う。
【００４１】
入力装置１０３は、情報処理装置１００の装置本体に付随したコントローラであっても、装置本体とは別に設けられ遠隔操作により通信装置１０５から通信網１０６を介して装置本体に指示の入力を行うリモートコントローラ（以下、リモコン）のようなものであってもよい。
【００４２】
表示装置１０４は、液晶表示装置などによって構成され、ＣＰＵ１０１の制御に応じてユーザにメニュー画面（後述）などを表示する。ＣＰＵ１０１は、グラフィック処理機能を有し、記憶装置１０２に記憶されたプログラム及びデータを処理し、フレームメモリに画像を描画し、表示装置１０４の画面上に画像を表示する信号を出力する。出力される信号に含まれる画像の１フレーム期間は、例えば１／３０秒とする。フレームメモリは、２フレーム分用意され、１フレーム期間毎に画像の描画に用いられるものと画像の読み出しに用いられるものとが交互に切り替えられる。
【００４３】
また、ここで１フレーム期間が１／３０秒であるので、入力情報レジスタに格納される入力装置１０３からの入力データをＣＰＵ１０１が参照するタイミングも１／３０秒毎となる。すなわち、ＣＰＵ１０１は、前の１フレーム期間（１／３０秒）において入力装置１０３から入力された入力データを処理して、１フレーム毎の処理を行うものとなる。
【００４４】
通信装置１０５は、ネットワーク（ここでは、通信網１０６）を介してリモコンから指示情報を受信する。なお、リモコンなどの遠隔操作を行うことのできるコントローラを備えていない装置である場合には、通信装置１０５を備えないものであってもよい。
【００４５】
図２は、図１のＣＰＵ１０１がプログラムの実行時に表示装置１０４に表示させるメニュー画面２００ａを示す図である。メニュー画面２００ａの表示であるかどうかに関わらず、表示装置１０４上における位置は、２次元直交座標系のＸ座標及びＹ座標で示される。表示装置１０４の左上の画素の座標が（０，０）であり、他の画素についても１画素分が１つの座標に対応する。なお、メニュー画面２００ａは、ユーザの所望する処理を選択して実行するための入口の画面である。
【００４６】
また、左右方向がＸ軸方向であり、右方向がＸの正方向、左方向がＸの負方向である。上下方向がＹ軸方向であり、下方向がＹの正方向、上方向がＹの負方向である。つまり、入力装置１０３から受け付けるユーザの右方向キーの操作はＸ軸方向へプラスの指示であり、左方向キーの操作はＸ軸方向へマイナスの指示であり、下方向キーの操作はＹ軸方向へプラスの指示であり、上方向キーの操作はＹ軸方向へマイナスの指示である。
【００４７】
入力装置１０３から上下左右のいずれかの方向キーの入力があった場合には、ＣＰＵ１０１は、ユーザ指示方向（Ｘ軸方向であるかＹ軸方向であるか）と、正負（プラスであるかマイナスであるか）とを判定する。
【００４８】
また、図２に示すように、メニュー画面２００ａにおいては、互いに異なる処理が割り付けられた複数のボタン（ボタン２０１、ボタン２０２、ボタン２０３、ボタン２０４）が表示され、ボタン（ボタン２０１〜２０４）の位置は、図２では全ボタンは横方向に一行に規則的な状態で並べられたものとすることができる。つまり、それぞれのボタンのＸ座標は、一定の間隔を開けつつ異なった値にあり、Ｙ座標は同一の値にある。
【００４９】
また、現時点で選択されているボタン２０１〜２０４のいずれか１つに、三角形状の選択ポインタとしてのアンカー２５０が付されるものとなる。ボタン２０１〜２０４に対してアンカー２５０の付される位置は、三角形の右側の頂点を基準とし、これがボタン２０１〜２０４の左側の辺の中央に位置するように定めるものとする。
【００５０】
アンカー２５０の位置は、入力装置１０３の上下左右の方向キーの操作によりボタン２０１〜２０４の間で移動させることができる。アンカー２５０の位置は、現時点でアンカー２５０の位置するボタンについて定められている上下左右の方向キーの操作に応じた上下左右のリンク（後述：但し、この例では左右のみ）に従って、アンカー２５０の位置が移動する。
【００５１】
また、メニュー画面２００ａに表示されているいずれかの方向に並べられた全ボタンのうち、複数並べられた内の最も端に表示されているボタンであり、並べられた方向に応じた上下左右のいずれかの方向キー（但し、この例では左右のみ）の操作によりそれ以上ユーザ指示方向にアンカー２５０を移動させることのできない位置にあるボタンを端部ボタンとする。図２のメニュー画面２００ａでは、横方向（Ｘ方向）に並べられており、右方向の端部ボタンはボタン２０４であり、左方向の端部ボタンはボタン２０１である。
【００５２】
メニュー画面２００ａが表示装置１０４に表示されている状態で入力装置１０３の確定キーが操作されると、メニュー画面２００ａからアンカー２５０の位置するボタンに割り付けられた処理にジャンプするものとなる。
【００５３】
図３は、図２のメニュー画面２００ａに表示される各ボタンについてのボタンデータの構成を示す図である。このボタンデータ３００は、メニュー画面２００ａに表示されるボタン２０１〜２０４についてそれぞれ３００ａ〜３００ｄとして用意されて、プログラムに含まれるデータとなる。図示するように、ボタンデータ３００は、ボタンＩＤ３０１と、ボタン名３０２と、処理リンク３０３と、左上位置３０４と、ボタンサイズ３０５と、左リンク３０６と、右リンク３０７と、上リンク３０８と、下リンク３０９と、アンカー表示フラグ３１０とを含んでいる。
【００５４】
ボタンＩＤ３０１は、ボタン２０１〜２０４を一意に識別するための識別情報である。ボタン名３０２は、ボタン２０１〜２０４のそれぞれの名前であり、ここに記された名前が表示装置１０４においてボタン内の領域に表示される。処理リンク３０３は、当該ボタンにアンカー２５０が付されているときに入力装置１０３の確定キーの入力があった場合に、メニュー画面２００ａから移行される処理へのリンクを、当該処理の処理名で示すものである。
【００５５】
左上位置３０４は、当該ボタンが表示装置１０４に表示される際の左上位置のＸ座標及びＹ座標である。メニュー画面２００ａでは、ボタン２０１が（Ｘ１，Ｙ１）に、ボタン２０２が（Ｘ２，Ｙ１）に、ボタン２０３が（Ｘ３，Ｙ１）に、ボタン２０４が（Ｘ４，Ｙ１）に、位置して表示される。ここでは、全ボタンが同一のＹ座標（Ｙ１）となっており、メニュー画面２００ａにおいてボタン（ボタン２０１〜２０４）は、Ｘ方向に一定間隔をおいてＹ方向に平行して並んで表示されることとなる。
【００５６】
ボタンサイズ３０５は、当該ボタンのＸ方向の長さとＹ方向の長さとを示す。ボタン２０１〜２０４のいずれも同じ大きさであると予め定められているのであれば、ボタン２０１〜２０４に共通したボタンサイズをプログラムに含まれるデータとして登録しておくことで、ボタン毎のボタンデータ３００にボタンサイズ３０５を含まないものとすることができる。
【００５７】
各ボタンは、左上位置３０４を左上の頂点として、ボタンサイズ３０５で定められる長方形の領域を表示装置１０４上において占めるものとなる。ボタン２０１〜２０４のそれぞれに対応したアンカー２５０の位置は、左上位置３０４及びＹ方向のボタンサイズ３０５により定めることができる。
【００５８】
左リンク３０６は、当該ボタンにアンカー２５０が付されているときに入力装置１０３の左方向キーの入力があった場合に、アンカー２５０が移動される他のボタンへのリンクを、移動先のボタンのボタンＩＤで示すものである。同様に、右リンク３０７、上リンク３０８、下リンク３０９は、それぞれ右方向キー、上方向キー、下方向キーの入力があった場合に、アンカー２５０が移動される他のボタンへのリンクを、移動先のボタンのボタンＩＤで示す。
【００５９】
アンカー表示フラグ３１０は、当該ボタンにアンカー２５０が付されているときにセットされるフラグであり、値が「０」であるときは、アンカー２５０が付されていないことを示し、値が「１」であるときは、アンカー２５０が付されていることを示す。アンカー２５０は、１画面において１つのみ表示されるものであるので、画面に表示されている全ボタン（ボタン２０１〜２０４）のボタンデータ３００（３００ａ〜３００ｄ）においてアンカー表示フラグ３１０の値が「１」となるものは、ただ１つである。
【００６０】
以下の説明では、現時点でアンカー２５０の付されているボタンのボタンテーブル３００における左上位置３０４を現時点座標Ａ（Ｘｓ，Ｙｓ）とし、入力装置１０３の上下左右のいずれかの方向キーの入力があった場合に、該方向に応じて参照される現時点でアンカーの付されているボタンのボタンテーブル３００の上下左右のリンク３０６〜３０９が示すアンカー２５０の移動先となるボタンのボタンテーブル３００における左上位置３０４をリンク先座標Ｒ（Ｘｒ，Ｙｒ）とする。なお、ここではＹｓ＝Ｙｒとなる。
【００６１】
なお、図３のボタンデータ３００に示す左リンク３０６、右リンク３０７、上リンク３０８、及び下リンク３０９は、ＣＰＵ１０１に実行されるプログラムにおいて既に設定済みとなっているものとするが、図２のメニュー画面２００ａにおいては、横一行に全ボタンが並んでいるため上リンク３０８及び下リンク３０９は、設定されていないものとする。つまり、入力装置１０３の上下いずれかの方向キーの入力では、アンカー２５０は現時点でアンカー２５０の付されているボタンの位置にそのまま停止した状態となる。
【００６２】
次に、１つの画面に表示されるボタン間でのアンカー２５０移動の態様について詳細に説明する。表示装置１０４において１画面に表示される全ボタンにおいて、上下左右のいずれかの方向キーの操作によって、アンカー２５０が全ボタンを順次移動するようにリンク設定されている。ここでは、説明を簡単にするため、図２に示すようにメニュー画面２００ａにおいて横一行に配置されたボタン２０１、ボタン２０２、ボタン２０３、ボタン２０４の４つだけが存在し、この間のリンク状態を説明する。
【００６３】
メニュー画面２００ａに表示されているボタンの左上位置３０４は、それぞれボタン２０１（Ｘ１，Ｙ１）、ボタン２０２（Ｘ２，Ｙ１）、ボタン２０３（Ｘ３，Ｙ１）、ボタン２０４（Ｘ４，Ｙ１）であり、Ｘ座標はＸ１＜Ｘ２＜Ｘ３＜Ｘ４となる。
【００６４】
ユーザからの左方向キーの入力は、アンカー２５０の位置をＸ方向にマイナスへ移動する指示であり、左方向キーの入力によって、アンカー２５０がボタン２０４→（→はリンク方向を示す）ボタン２０３→ボタン２０２→ボタン２０１と移動するようにそれぞれのボタンデータ３００の左リンク３０６に登録されている。
【００６５】
なお、ボタン２０１については、表示画面上にこれ以上左方向に位置するボタンが存在しないため、ボタン２０１は左方向の端部ボタンということになる。左方向の端部ボタンからは反対方向の端部にリンクされており、ボタン２０１のボタンデータ３００ａの左リンク３０６には、ボタン２０４のボタンＩＤが登録されている。つまり、左方向のリンクは、ボタン２０４→ボタン２０３→ボタン２０２→ボタン２０１→ボタン２０４…とアンカー２５０が全ボタンを巡回するように設定されている。
【００６６】
同様に、右方向のリンクは、ボタン２０１→ボタン２０２→ボタン２０３→ボタン２０４→ボタン２０１…とアンカー２５０が全ボタンを巡回するように設定されている。なお、上下方向のリンクは設定されていないため、上下方向キーの操作でアンカー２５０は、現時点でアンカー２５０の付しているボタンから移動しないものとなる。また、入力装置１０３から右方向キーの操作があった場合、ボタン２０４が端部のボタンと判断されることとなる。
【００６７】
次に、入力装置１０３から方向キーの操作があった場合のアンカー２５０の移動について、特に左右方向について詳細に説明する。方向キーの入力方法には、キーを所定時間（例えば１／２秒）以下だけ操作したことによる単入力と、キーを所定時間以上操作し続けたことによる連続入力とがある。
【００６８】
単入力は、初期入力のみから構成され、連続入力は、初期入力と継続入力から構成される。初期入力とは、ＣＰＵ１０１が、入力装置１０３から受け付けた入力データの指示有無情報が「操作あり」であった場合において、該操作のあったキー情報を判定し、該キー情報が上下左右のいずれかの方向キーであった場合に、現時点でアンカー２５０の付されているボタンから該指示方向のリンク先に従ってアンカー２５０を該リンク先ボタンに移動させ、移動カウンタの値を「１」としてカウンタのカウントを開始するものである。
【００６９】
継続入力とは、初期入力によってカウントの開始されたカウンタの値が所定値（例えば１５、…２５＋５Ｋ（Ｋは、０以上の整数）となったタイミングにおいても該方向キーの入力が継続されている場合に、現時点でアンカー２５０の付されているボタンが該方向の端部ボタンであるかどうかを判定し、端部ボタンでない場合には該指示方向のリンク先に従ってアンカー２５０を該リンク先ボタンに移動させるが、端部ボタンである場合にはアンカー２５０を該端部ボタンに停止させ、カウンタのカウントを継続させるものである。
【００７０】
入力装置１０３から初期入力があった場合には、アンカー２５０は、入力された方向キーに対応する他のボタンへのリンク先が示すボタンＩＤに応じたボタンへ移動される。例えば、ボタン２０１のボタンテーブル３００ａのアンカー表示フラグ３１０が「１」であり、アンカー２５０が付されている場合に、右方向キーの初期入力があった場合には、右リンク３０７が参照される。ボタンテーブル３００ａの右リンク３０７が示すボタンＩＤはボタン２０２であるので、アンカー２５０は、ボタン２０２に移動することとなる。ここで、ボタン２０１のボタンデータ３００ａのアンカー表示フラグは消去され、ボタン２０２のボタンデータ３００ｂのアンカー表示フラグがセットされる。
【００７１】
同様に、現時点でアンカー２５０の付されているボタンがいずれのボタンであるかどうかに関わらず初期入力があった場合には、アンカー２５０は、入力された方向キーに対応する他のボタンへのリンク先が示すボタンＩＤへ移動される。つまり、初期入力のみから構成される単入力では、いずれのボタンにアンカー２５０が付されているかどうか、及びいずれの方向キーの入力があったかどうかに関わらず、アンカー２５０は、現時点でアンカー２５０の付されているボタンから他のボタンへ移動することとなる。
【００７２】
一方、入力装置１０３から継続入力があった場合にも、アンカー２５０は、入力された方向キーに対応する他のボタンへのリンク先が示すボタンＩＤへ移動される。しかし、現時点でアンカー２５０の付されているボタンが、表示画面上の指示方向の端部ボタンである場合には、アンカー２５０の移動を該端部ボタンで停止させる。
【００７３】
例えば、ボタン２０１のボタンテーブル３００ａのアンカー表示フラグ３１０が「１」であり、アンカー２５０が付されている場合に、右方向キーの初期入力があった場合には、右リンク３０７が参照され、ボタンテーブル３００ａの右リンク３０７が示すボタンＩＤはボタン２０２であるので、アンカー２５０は、ボタン２０２に移動することとなる。そして、初期入力後の所定のタイミングで未だ右方向キーの入力が継続されていれば、継続入力と判定され、同様にボタンテーブル３００ｂの右リンク３０７が参照され、該右リンク３０７が示すボタンＩＤに応じたボタン２０３へとアンカー２５０を移動させてゆく。
【００７４】
継続入力においては、初期入力後の所定のタイミングで未だ右方向キーの入力が継続されていれば、入力された方向へとアンカー２５０の移動を行うが、アンカー２５０が指示方向の端部ボタンであるボタン２０４に位置した時において、未だ継続入力が継続されていれば、アンカー２５０の移動をボタン２０４で一端停止させる。
【００７５】
同様に、初期入力のあったボタンがいずれのボタンであるかどうかに関わらず、継続入力によって指示方向の端部ボタンにアンカー２５０が位置した場合には、アンカー２５０は、端部ボタンにおいて停止することとなる。指示方向の端部ボタンにアンカー２５０が付されている場合において、アンカー２５０を移動する場合には、改めて初期入力を行う必要がある。つまり、初期入力と継続入力から構成される連続入力では、いずれの方向キーの入力が連続しているかどうかに関わらず、継続移動中のアンカー２５０が端部ボタンに位置した場合には、停止することとなる。
【００７６】
なお、継続入力があった場合に、アンカー２５０の付されているボタンが端部ボタンであるかどうかは、現時点座標Ａ（Ｘｓ，Ｙｓ）とリンク先座標Ｒ（Ｘｒ，Ｙｒ）とを比較し、その比較結果がユーザの指示方向の正負（左方向キーの入力ならばならばＸ方向にマイナス、右方向キーの入力ならばＸ方向にプラス）と合致するかどうかによって判定することとなる。
【００７７】
以下、この実施の形態にかかる情報処理装置１００において実行される処理について説明する。図４は、ＣＰＵ１０１が１フレーム毎に行うフレーム処理を示すフローチャートである。また、フレーム処理は、ＣＰＵ１０１の内部タイマによるタイマ割り込みにより、１／３０秒毎に実行される。また、必ず１／３０秒以内で処理を終了する。
【００７８】
まず、ＣＰＵ１０１は、いずれの種類のステータスを実行するかを判定する（ステップＳ１００）。記憶装置１０２には、各フレーム期間においてどの処理を実行すべきかを定める処理ステータスを記憶しており、記憶装置１０２に記憶されている処理ステータスが「メニュー画面表示」であるときにメニュー画面２００ａが表示装置１０４に表示されるものとなる。判定されたステータスの種類が、メニュー画面２００ａの表示ステータスである場合には、ＣＰＵ１０１は、メインメニュー処理を行い（ステップＳ１０１）、そのままフレーム処理を終了する。なお、メインメニュー処理については、詳細を後述する。
【００７９】
判定されたステータスの種類がその他である場合には、ＣＰＵ１０１は、それぞれステータスの種類に合った処理（ステータス１、…ステータスｎ）の処理を実行し、そのままフレーム処理を終了させる（ステップＳ１０２、Ｓ１０３）が、本発明とは、直接的な関係がないため説明を省略する。ＣＰＵ１０１は、上記のようにフレーム処理を繰り返し、表示装置１０４に画像を描画する。
【００８０】
次に、上記したステップＳ１０１のメインメニュー処理について詳しく説明する。図５は、ＣＰＵ１０１がステップＳ１０１で実行するメインメニュー処理を詳細に示すフローチャートである。メニュー画面２００ａを表示装置１０４に表示させる際には、ＣＰＵ１０１は、新たにメニュー画面２００ａを表示する場合であるかどうかを判定する（ステップＳ２０１）。ここで、ＣＰＵ１０１は、新たにメニュー画面２００ａを表示する場合であるかどうかを、メニュー画面２００ａに表示される全ボタンのいずれにもアンカー表示フラグ３１０がセットされていないことによって判定する。
【００８１】
表示装置１０４に新たにメニュー画面２００ａを表示する場合には、ＣＰＵ１０１は、該メニュー画面２００ａに表示される全ボタン（図２の例ではボタン２０１〜２０４）のうちの先頭位置（すなわち、左上の位置）にあるボタン（図２の例ではボタン２０１）についてのアンカー表示フラグ３１０をセットする（ステップＳ２０２）。そして、ＣＰＵ１０１は、アンカー表示フラグ３１０のセットされている先頭位置のボタンにアンカー２５０を付して、メニュー画面２００ａを表示装置１０４に表示させる（ステップＳ２０３）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【００８２】
次に、表示装置１０４に新たにメニュー画面２００ａを表示する場合でない場合には、ＣＰＵ１０１は、記憶装置１０２の入力情報レジスタから入力データを読み出す（ステップＳ２０４）。そして、ＣＰＵ１０１は、読み出した入力データにおいて入力装置１０３から上下左右のいずれかの方向キーの入力があったかどうかを判定する（ステップＳ２０５）。
【００８３】
いずれかの方向キーの入力があった場合には、ＣＰＵ１０１は、アンカー表示フラグ３１０がセット、すなわち現時点でアンカー２５０の付されているボタンの入力された方向のリンク（３０６〜３０９）を参照する。例えば、現時点でボタン２０１にアンカー２５０が付されており、右方向キーが入力されたのであれば、ボタン２０１についてのボタンデータ３００ａの右方向リンク３０７を参照する（ステップＳ２０６）。
【００８４】
ＣＰＵ１０１は、ここでリンクを参照した結果として、当該ボタンの当該方向のリンクに他のボタンのボタンＩＤが登録されているかどうかを判定する（ステップＳ２０７）。当該ボタンの当該方向のリンクに他のボタンのボタンＩＤが登録されていなければ、そのままステップＳ２１４に進む。すなわち、アンカー２５０の位置を移動させることなく、メニュー画面２００ａの表示をそのまま継続することとなる。図２の例では全ボタンが上下方向のリンクが設定されていないため、上下方向キーの入力があった場合には、アンカー２５０の位置を移動させることなく、メニュー画面２００ａの表示をそのまま継続することとなる。
【００８５】
当該ボタンの当該方向のリンクに他のボタンのボタンＩＤが登録されていれば（図２の例では左右）、ＣＰＵ１０１は、パルスを発生し、カウンタの値を１だけ増加させる（ステップＳ２０８）。次に、ＣＰＵ１０１は、カウンタの値が「１」であるかどうかを判定する（ステップＳ２０９）。ここで、カウンタの値が「１」となるのは、当該方向キー（図２の例では左右のみ）の入力が初期入力である場合である。
【００８６】
カウンタの値が「１」であれば、そのままステップＳ２１５に進む。カウンタの値が「１」でない場合は、当該方向キー（図２の例では左右のみ）の入力が継続入力である場合であり、ＣＰＵ１０１は、カウンタの値が「１５」であるかどうかを判定する（ステップＳ２１０）。カウンタの値が「１５」でない場合には、ＣＰＵ１０１は、カウンタの値が「２５＋５Ｋ」であるかどうかを判定する（ステップＳ２１１）。カウンタの値が「２５＋５Ｋ」でもなければ、そのままステップＳ２１４に進む。ここで、ＣＰＵ１０１は、カウンタの値によって当該方向キーの入力が初期入力からどの程度継続入力されているかを判定している。
【００８７】
カウンタの値が「１５」或いは「２５＋５Ｋ」であれば、ＣＰＵ１０１は、当該方向キー（図２の例では左右のみ）の入力がいずれの方向であるかを判定し、ユーザの指示方向の座標（左右ならばＸ軸、上下ならばＹ軸）に応じてリンク先座標Ｒ（Ｘｒ，Ｙｒ）から現時点座標Ａ（Ｘｓ，Ｙｓ）を引くことで、現時点でアンカー２５０の付されているボタンの座標からリンク先ボタンへの座標の移動方向（リンク移動方向）がプラス或いはマイナスのいずれとなっているかどうかを判定する（ステップＳ２１２）。
【００８８】
図２の例では、ユーザの指示方向が右方向であるのならば、Ｘ軸においてリンク先座標Ｘｒから現時点座標Ｘｓを引く。現時点でボタン２０１にアンカー２５０が付されている場合に、ユーザの指示方向が右方向であるのならばＸ座標において、リンク先座標となるボタン２０１のボタンテーブル３００ａの右リンク先（ボタン２０２のボタンテーブル３００ｂの左上位置３０４）Ｘ２から現時点座標となるボタン２０１のボタンテーブル３００ａの左上位置３０４のＸ１を引く。ここで、Ｘ１＜Ｘ２であるから、リンク移動方向（Ｘ２−Ｘ１）はプラスとなる。同様に、現時点でボタン２０４にアンカー２５０が付されている場合に、ユーザの指示方向が右方向であるのならば、リンク移動方向（Ｘ１−Ｘ４）はマイナスとなる。
【００８９】
そして、ＣＰＵ１０１は、ステップＳ２１２で算出されたリンク先への座標の移動方向の正負が、上下左右のいずれかの方向キーから入力されたユーザ指示方向の正負（上または左方向（但し、ここでは左方向のみ）ならばプラス、下または右方向（但し、ここでは右方向のみ）ならばマイナス）と合致するかどうかを判定する（ステップＳ２１３）。
【００９０】
ステップＳ２１３でリンク移動方向の正負とユーザの指示方向の正負が合致していないと判定された場合には、ステップＳ２１４に進む。ステップＳ２１４では、ＣＰＵ１０１は、現時点でアンカー２５０の付されているボタンにアンカー２５０を付して、メニュー画面２００ａを表示装置１０４に表示させる。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【００９１】
つまり、入力装置１０３から上下左右のいずれかの方向キーの継続入力によるアンカー２５０の移動指示を受け付けているが、該指示に従ってアンカー２５０を移動させず、現時点でアンカー２５０の付されているボタンでアンカー２５０を停止させた状態となる。例えば、現時点でアンカー２５０の付されているボタンが右方向の端部ボタン２０４であり、右方向キーの継続入力があった場合には、ユーザの指示方向はＸ軸方向にプラスであるがリンク移動方向はＸ軸方向にマイナスとなり合致しない。この場合、入力が継続されているが、アンカー２５０はボタン２０４に停止したままとなる。
【００９２】
次に、ステップＳ２１３でリンク移動方向の正負とユーザの指示方向の正負が合致していると判定された場合には、そのままステップＳ２１５に進む。ここで、合致していると判定されるのは、現時点でアンカー２５０の付されているボタンが指示方向の端部にない場合である。例えば、現時点でアンカー２５０の付されているボタンがボタン２０１、ボタン２０２、及びボタン２０３であり、右方向キーの継続入力があった場合には、ユーザの指示方向はＸ軸方向にプラスでありリンク移動方向もＸ軸方向にプラスとなり合致する。
【００９３】
ステップＳ２１５では、ＣＰＵ１０１は、現時点でアンカー２５０の付されているボタンのボタンデータ３００を参照し、上下左右（図２の例では左右のみ）いずれかの方向キーから入力されたユーザの指示する方向のリンク先にアンカー２５０を移動し、移動前のボタンのボタンデータ３００のアンカー表示フラグ３１０を消去し、移動先となったボタンのボタンデータ３００のアンカー表示フラグ３１０をセットする。そして、ＣＰＵ１０１は、新たにアンカー表示フラグ３１０のセットされたボタンにアンカー２５０を移動させて、ボタン２０１〜２０４を表示装置１０４に表示させる（ステップＳ２１６）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【００９４】
また、ステップＳ２０５でいずれの方向キーの入力もなかった場合には、ＣＰＵ１０１は、現時点でカウントしているカウンタがあれば、カウンタの値をクリアし「０」とする（ステップＳ２１７）。そして、ＣＰＵ１０１は、入力装置１０３から確定キーの入力があったかどうかを判定する（ステップＳ２１８）。
【００９５】
確定キーの入力もなければ、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。確定キーの入力があった場合には、ＣＰＵ１０１は、図４のフローチャートの処理から、アンカー２５０の付されているボタン、すなわちアンカー表示フラグ３１０のセットされているボタンについての処理リンク３０３で示されているステータス処理に制御を移すものとなり、全ボタンのアンカー表示フラグ３１０をリセットする（ステップＳ２１９）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【００９６】
以下、メニュー画面２００ａに表示されるボタンのアンカー２５０の移動について、具体例に基づいて説明する。図６は、入力装置１０３の方向キーの指示に応じて表示装置１０４のメニュー画面２００ａに表示されているボタンに付されるアンカー２５０の移動例を示すタイミングチャートである。ここでは、右方向キーのみが操作され、左方向キー、上方向キー、及び下方向キーの操作はないものとする。また、いずれも右方向キーの初期入力がタイミングｔ１においてＣＰＵ１０１に入力されたものとする。
【００９７】
図６（ａ）では、初期状態においてボタン２０１にアンカー２５０が付されている。タイミングｔ１において、右方向キーの初期入力があると、ＣＰＵ１０１は、カウンタの値を「１」とし、ボタン２０１のボタンテーブル３００ａの右リンク３０７を参照してリンク先となるボタン２０２へアンカー２５０を移動する。その後、ＣＰＵ１０１は、新たな指示（右方向キーの移動指示なし）がなければ、タイミングｔ１でカウントを開始したカウンタの値を、指示を受け付ける１／３０秒のタイミング毎に１ずつ増加させる。
【００９８】
そして、カウンタの値が「１５」になるまでのタイミングｔ２において、右方向キーの操作がなくなった場合には、ＣＰＵ１０１は、カウンタの値をクリアし「０」とする。そして、ＣＰＵ１０１は、ボタン２０２にアンカー２５０が付した状態のまま、新たな指示の入力があるのを待つ。
【００９９】
図６（ｂ）では、ＣＰＵ１０１は、図６（ａ）同様にボタン２０１からボタン２０２にアンカー２５０を移動し、カウンタの値を、指示を受け付ける１／３０秒のタイミング毎に１ずつ増加させている。そして、カウンタの値が「１５」になるタイミングｔ３においても、右方向キーの入力が連続している場合（継続入力と判定される）には、ＣＰＵ１０１は、アンカー２５０の付されているボタン２０２のボタンテーブル３００ｂの右リンク３０７を参照してリンク先となるボタン２０３へアンカー２５０を移動する。その後、ＣＰＵ１０１は、右方向キーが入力され続ければ、タイミングｔ１でカウントを開始したカウンタの値を、指示を受け付ける１／３０秒のタイミング毎に１ずつ増加させる。
【０１００】
そして、カウンタの値が「２５」になるタイミングｔ４においても、右方向キーの入力が連続している場合には、ＣＰＵ１０１は、アンカー２５０の付されているボタン２０３のボタンテーブル３００ｂの右リンク３０７を参照してリンク先となるボタン２０４へアンカー２５０を移動する。
【０１０１】
そして、右方向キーが入力され続ければ、ＣＰＵ１０１は、カウントしているカウンタの値が「２５＋５Ｋ」となるタイミングｔ５、ｔ６、ｔ７に、アンカー２５０の付されているボタン２０４のボタンテーブル３００ｄの右リンク３０７を参照するが、右方向の端部ボタンであるので、アンカー２５０を該端部ボタン２０４に付した状態でアンカー２５０の移動を停止させ続ける。
【０１０２】
図６（ｃ）では、ＣＰＵ１０１は、図６（ｂ）同様にボタン２０１からボタン２０２に、ボタン２０２からボタン２０３に、ボタン２０３からボタン２０４にアンカー２５０を移動し、カウンタの値を、指示を受け付ける１／３０秒のタイミング毎に１ずつ増加させている。そして、ＣＰＵ１０１は、カウンタの値が「３０」から「３５」になる間のタイミングｔ８に右方向キーの入力がなくなると、タイミングｔ１からカウントしているカウンタの値をクリアし「０」とする。その後、右方向キーの入力がなければ、カウンタの値は「０」のままとなる。
【０１０３】
そして、その後タイミングｔ９において、再度右方向キーの初期入力があると、ＣＰＵ１０１は、新たにカウンタのカウントを開始し、ここでカウンタの値が１となるので、ボタン２０４のボタンテーブル３００ｄの右リンク３０７を参照してリンク先となるボタン２０１へアンカー２５０を移動する。
【０１０４】
以上説明したように、第１の実施の形態では、入力装置１０３の上下左右いずれかの方向キーの操作によって、ユーザの指示を受け付け、表示装置１０４に表示された全ボタンにおいて、現時点でアンカー２５０の付されているボタンの該方向リンク先に従ってアンカー２５０を移動させることができる。
【０１０５】
ここで、ユーザの指示が所定時間以下だけ操作したことによる初期入力であった場合には、アンカー２５０は、ユーザ指示方向であるかどうかに関わらず、現時点でアンカー２５０の付されているボタンのリンク先に従ってアンカー２５０は移動することとなる。また、ユーザの指示が所定時間以上継続した継続入力であった場合においてアンカー２５０がユーザ指示方向の端部ボタンに位置した場合には、アンカー２５０は、該端部ボタンにおいて停止することとなる。そして、その後再度、ユーザからの指示を受け付けた場合には、端部ボタンのリンク先となる、該端部ボタンと反対方向の端部に位置するボタンにアンカー２５０が移動することとなる。
【０１０６】
従って、アンカー２５０が該方向の端部ボタンに位置した場合においてアンカー２５０の移動を停止させることで、例えば、右方向の入力を継続しているのにアンカー２５０の位置がいきなり左側に移動してしまうようなことがなく、ユーザは、アンカー２５０の位置しているボタンを的確に把握することができるので、ユーザの操作性の向上を図ることができる。また、端部のボタンでアンカー２５０の移動が一旦停止した場合であっても、それまでの継続入力と同じ方向キーを操作すればアンカー２５０が反対側に移動するので、ユーザは、１つの方向キーの操作によって、端部のボタンからも他のボタンへアンカー２５０を順次移動させることができるので、ユーザの操作性の向上を図ることができる。
【０１０７】
また、図２のように横方向一行にボタン２０１〜２０４が表示されているメニュー画面２００ａにおいて、右方向の方向キーの入力では、ボタン２０１→ボタン２０２→ボタン２０３→ボタン２０４という順で、左方向の方向キーの入力では、ボタン２０４→ボタン２０３→ボタン２０２→ボタン２０１という順で、アンカー２５０の位置を移動させることができるので、ユーザがアンカー２５０を移動させたいボタンの位置に応じてアンカー２５０の移動方向を選択することができ、さらに操作性が向上するものとなる。
【０１０８】
さらに、右方向の方向キーの入力では、ボタン２０１→…→ボタン２０４→ボタン２０１、左方向の方向キーの入力では、ボタン２０４→…→ボタン２０１→ボタン２０４というように巡回して設定されているので、１つの方向キーの操作によって全てのボタン２０１〜２０４の間でアンカー２５０の位置を移動させることができ、操作性の高いものとなる。
【０１０９】
ところで、方向キーの継続入力があった場合に現時点でアンカー２５０の位置するボタンが端部のボタンであるかどうかは、当該ボタンと当該ボタンの入力方向に応じたリンク情報が示す他のボタンの位置によって判断されている。また、その際に、入力方向に応じた方向性も比較されている。このようにボタン同士の位置の比較と、入力方向とボタン同士の方向の関係性の比較という比較的簡易な判断で端部のボタンであるかどうかを判断できるので、その処理負荷を小さくすることができる。
【０１１０】
［第２の実施の形態］
上記の実施の形態では、表示装置１０４にメニュー画面２００ａのページ全体が表示され、方向キーの入力によって移動されるアンカー２５０が、表示されている全ボタンを巡回するものについて説明した。これは、全方向キーのリンク先が表示装置１０４に表示されている画面内のボタン間で行われていることを前提としたものである。
【０１１１】
もっとも、画面の内容によってはアンカー２５０の付される全てのボタンが表示装置１０４の表示領域内に収まりきるとは限らず、上下左右いずれかの方向キーの操作によって移動されるアンカー２５０が、表示装置１０４に表示されてないボタンにも移動するものもある。メニュー画面２００ａに含まれるボタンの数が多く、全てのボタンが表示装置１０４の表示領域内に収まりきらない場合には、アンカー２５０の移動指示に応じて画面をスクロールさせる必要がある。
【０１１２】
この実施の形態では、メニュー画面２００ａに含まれるボタンが表示装置１０４の表示領域内に収まらず、方向キーの操作によって移動されるアンカー２５０が、現時点で表示されていないボタンにも移動するものにおいて、継続入力によって現時点で表示されている端部ボタンにアンカー２５０が位置した場合にアンカー２５０が該端部ボタンにおいて停止することとし、その後再度、ユーザからの指示を受け付けた場合には、該端部ボタンのリンク先に従って画面をスクロールさせ、該端部ボタンのリンク先となるボタンにアンカー２５０が移動するようにしたものについて説明する。
【０１１３】
図７は、第２の実施の形態においてＣＰＵ１０１がプログラムの実行時に表示装置１０４に表示させるメニュー画面２００ｂを示す図である。この実施の形態においても、メニュー画面２００ｂの表示であるかどうかに関わらず、表示装置１０４上における位置は、Ｘ−Ｙ座標系のＸ座標及びＹ座標で示される。また、表示装置１０４の左上の画素の座標（Ｘ，Ｙ）が（０，０）であり、他の画素についても１画素分が１つの座標に対応する。表示装置１０４の右下の画素の座標（Ｘ，Ｙ）は、（Ｘｅ−１，Ｙｅ−１）である。
【０１１４】
ここで、メニュー画面２００ｂの大きさは、表示装置１０４の表示領域よりも大きい。メニュー画面２００ｂの位置は、Ｘ’−Ｙ’座標系のＸ’座標及びＹ’座標で示される。なお、メニュー画面２００ｂの左上の画素の座標（Ｘ’，Ｙ’）＝（０，０）であり、他の画素についても１画素分が１つの座標に対応する。１画素分の大きさは、表示装置１０４の各画素と同じである。メニュー画面２００ｂの右下の画素の座標（Ｘ’，Ｙ’）は、（Ｘ’ｅ，Ｙ’ｅ）である。なお、現時点で表示装置１０４に表示されている内容が、メニュー画面２００ｂのどの部分であるかを示すために、表示装置１０４の右サイドにはスクロール位置表示１０７が設定されている。
【０１１５】
ＣＰＵ１０１は、新たにメニュー画面２００ｂを表示する度、或いは端部ボタンにアンカー２５０が付されている時に該端部ボタンのリンク先に従って画面をスクロールする度に、表示装置１０４の左上位置（Ｘ，Ｙ）＝（０，０）に表示さることとなるメニュー画面２００ｂのスクロール基準点Ｐ（０’，Ｙ’ｐ）を決定する。なお、スクロール基準点Ｐは、何れの位置に設定されてもＸ’座標が０であるので、以下では、スクロール基準点Ｙ’ｐと呼ぶことがあるものとする。
【０１１６】
Ｙ’ｐは、メニュー画面２００ｂをスクロールする際に、ポイントとなるスクロール基準点であり、メニュー画面２００ｂは、表示装置１０４においてスクロール基準点毎にスクロールすることとなる。なお、メニュー画面２００ｂを初期状態で表示させた場合には、Ｙ’ｐ＝０となり、表示装置１０４には、０≦Ｙ’≦Ｙｅ−１の範囲が表示されることとなる。ここで、現時点で表示装置１０４に表示されているメニュー画面２００ｂの表示装置１０４上の左上位置のＹ’がＹ’ｐである場合に、表示されているメニュー画面２００ｂの内容をＹ’ｐページとする。
【０１１７】
例えば、メニュー画面２００ｂの最上部にあるボタン２１７から下方向キーの入力によってアンカー２５０を移動させていき、アンカー２５０の移動とともに画面を下方向にスクロールさせていけば、Ｙ’ｐの値は、０、Ｙｅ、…と変化する。但し、前記のように画面を下にスクロールさせて行き、メニュー画面２００ｂの最下部Ｙ’ｅを表示する場合には、Ｙ’ｐの値は、メニュー画面２００ｂの最下部のＹ’座標であるＹ’ｅよりも表示装置１０４のＹ方向の大きさだけ上の点のＹ座標であるＹ’ｅ−Ｙｅ＋１となる。
【０１１８】
同様に、メニュー画面２００ｂの最下部にあるボタン２２４から上方向キーの入力によってアンカー２５０を移動させていき、アンカー２５０の移動とともに画面を上方向にスクロールさせていけば、Ｙ’ｐの値は、Ｙ’ｅ−Ｙｅ＋１、Ｙ’ｅ−２Ｙｅ＋１、…と変化する。但し、前記のように画面を上にスクロールさせて行き、メニュー画面２００ｂの最上部０を表示する場合には、Ｙ’ｐは、０となる。
【０１１９】
図７においては、メニュー画面２００ｂを新規にて表示すると、Ｙ’ｐの値は、下方向にＹ’ｐ０、Ｙ’ｐ１、Ｙ’ｐ２と、上方向にＹ’ｐ２、Ｙ’ｐ３、Ｙ’ｐ０と変化するものとする。ここで、Ｙ’ｐ０＝０であり、Ｙ’ｐ１＝Ｙ’ｐ０＋Ｙｅ＝Ｙｅであり、Ｙ’ｐ２＝Ｙ’ｅ−Ｙｅ＋１であり、Ｙ’ｐ３＝Ｙ’ｐ２−Ｙｅ＋１＝Ｙ’ｅ−２Ｙｅ＋１である。
【０１２０】
また、図７に示すように、メニュー画面２００ｂにおいては、互いに異なる処理が割り付けられた複数のボタン（ボタン２１７〜２２４）が含まれ、ボタン（ボタン２１７〜２２４）の位置は、図７では縦方向に一列に規則的な状態で並べられたものとすることができる。つまり、それぞれのボタンのＸ’座標は、同一の値にあり、Ｙ’座標は、一定の間隔を開けつつ異なった値にある。
【０１２１】
図７においては、Ｙ’ｐ０ページに表示されるボタンはボタン２１７〜２１９であり、Ｙ’ｐ１ページに表示されるボタンはボタン２２０〜２２２であり、Ｙ’ｐ２ページに表示されるボタンはボタン２２２〜２２４であり、Ｙ’ｐ３ページに表示されるボタンはボタン２１９〜２２１であるものとする。
【０１２２】
メニュー画面２００ｂに含まれる各ボタン２１７〜２２４についてのボタンデータ３００の構成は、第１の実施の形態におけるものと同じで、メニュー画面２００ｂのボタン２１７〜２２４についてそれぞれ用意され、後述するように上下リンクが設定され、プログラムに含まれるデータとなる。アンカー２５０は、表示装置１０４の表示領域内に表示されているボタンのいずれかに付される。
【０１２３】
なお、図７に示すメニュー画面２００ｂに含まれるボタンは、下方向キーによって、ボタン２１７→ボタン２１８→ボタン２１９→ボタン２２０→ボタン２２１→ボタン２２２→ボタン２２３→ボタン２２４と下リンクされている。また、上方向キーによって、ボタン２２４→ボタン２２３→ボタン２２２→ボタン２２１→ボタン２２０→ボタン２１９→ボタン２１８→ボタン２１７と上リンクされている。ボタン２１７の上方向リンク、ボタン２２４の下方向リンク、全ボタン（ボタン２１７〜２２４）の左右方向リンクは、設定されていない。
【０１２４】
なお、表示装置１０４に表示されるＹ’ｐページのそれぞれにおいては、ボタンの左上位置３０４のＹ’座標がＹ’ｐからＹ’ｐ＋Ｙｅ−１の範囲にある全てのボタンが表示装置１０４に表示される。該表示されている全てのボタンの内、最も上に位置するもので、該ボタンの上リンク先ボタンが現時点で表示装置１０４に表示されていない位置にあるものを、Ｙ’ｐページにおける上方向の端部ボタンとし、同様に下方向についても下方向の端部ボタンとする。例えば、表示装置１０４にＹ’ｐ１ページが表示されている場合において、上方向の端部ボタンはボタン２２０であり、下方向の端部ボタンはボタン２２２である。
【０１２５】
それぞれのＹ’ｐページにおけるいずれかの方向（図７の例では上下のみ）の端部ボタンにアンカー２５０が付されている場合において、該端部に応じた方向の入力があった場合には、ＣＰＵ１０１は、該方向に従って表示装置１０４の表示領域のＹ方向の大きさの分だけ画面をスクロールさせ、該端部ボタンのリンク先となるボタンにアンカー２５０を付して表示する。
【０１２６】
例えば、図７に示すように表示装置１０４にＹ’ｐ１ページが表示されている場合に、上方向の端部ボタン２２０にアンカー２５０が付されている状態で、上方向の初期入力があれば、ボタン２２０のリンク先ボタン２１９の表示される上方向に画面をスクロールさせてＹ’ｐ０ページを表示させ、ボタン２１９にアンカー２５０を付することとなる。
【０１２７】
以下、この実施の形態における処理について説明する。この実施の形態において第１の実施の形態と異なるのは、メインメニュー処理である。以下では、メインメニュー処理のみを説明する。
【０１２８】
図８は、この実施の形態において、ＣＰＵ１０１がステップＳ１０１で実行するメインメニュー処理を詳細に示すフローチャートである。まず、ＣＰＵ１０１は、他の画面から新たにメニュー画面２００ｂを表示する場合であるかどうかを判定する（ステップＳ２５１）。ここで、ＣＰＵ１０１は、他の画面から新たにメニュー画面２００ｂを表示する場合であるかどうかを、メニュー画面２００ｂに表示される全ボタン（ボタン２１７〜２２４）のいずれにもアンカー表示フラグ３１０がセットされていないことによって判定する。
【０１２９】
表示装置１０４に新たにメニュー画面２００ｂを表示する場合には、ＣＰＵ１０１は、なお、メニュー画面２００ｂを初期状態で表示させた場合には、Ｙ’ｐ０＝０をＹ’ｐとして、スクロール基準点を設定する（ステップＳ２５２）。次に、ＣＰＵ１０１は、Ｙ’ｐからＹ’ｐ＋Ｙｅ−１の範囲に位置し、メニュー画面２００ｂのうちで表示装置１０４に表示されることとなる全ボタン（図７の例ではボタン２１７〜２１９）のうちの先頭位置（すなわち、一番上の位置）にあるボタン（図７の例ではボタン２１７）について、アンカー表示フラグ３１０をセットする（ステップＳ２５３）。
【０１３０】
そして、ＣＰＵ１０１は、アンカー表示フラグ３１０のセットされている先頭位置のボタンにアンカー２５０を付して、Ｙ’ｐが表示装置１０４のＹ＝０となるようにメニュー画面２００ｂの各画素のＸ’−Ｙ’座標系の座標を表示装置１０４のＸ−Ｙ座標系の座標に変換し、メニュー画面２００ｂ（Ｙ’ｐ０ページ）を表示装置１０４に表示させる（ステップＳ２５４）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【０１３１】
一方、表示装置１０４に新たにメニュー画面２００ｂを表示する場合でない場合には、ＣＰＵ１０１は、記憶装置１０２の入力情報レジスタから入力データを読み出す（ステップＳ２５５）。そして、ＣＰＵ１０１は、読み出した入力データにおいて入力装置１０３から上下左右のいずれかの方向キーの入力があったかどうかを判定する（ステップＳ２５６）。
【０１３２】
いずれかの方向キーの入力があった場合には、ＣＰＵ１０１は、アンカー表示フラグ３１０がセット、すなわち現時点でアンカー２５０の付されているボタンについて入力された方向に応じたリンク（３０６〜３０９）を参照する。例えば、現時点で表示装置１０４にＹ’ｐ１ページが表示されており、ボタン２２０にアンカー２５０が付されている場合において、下方向キーが入力されたのであれば、ボタン２２０についてのボタンデータ３００の下方向リンク３０９を参照する（ステップＳ２５７）。
【０１３３】
ＣＰＵ１０１は、ここでリンクを参照した結果として、参照したリンクに他のボタンのボタンＩＤが登録されているかどうかを判定する（ステップＳ２５８）。参照したリンクに他のボタンのボタンＩＤが登録されていなければ、そのままステップＳ２６４に進む。すなわち、アンカー２５０の位置を移動させることなく、メニュー画面２００ｂ（Ｙ’ｐページ）の表示をそのまま継続することとなる。なお、図７の例では全ボタンに左右方向のリンクが設定されていないため、左右方向キーの入力があった場合には、アンカー２５０の付されているボタンが何れのボタンであるかに関わらず、アンカー２５０の位置を移動させることなく、メニュー画面２００ｂ（Ｙ’ｐページ）の表示をそのまま継続することとなる。
【０１３４】
参照したリンクに他のボタンのボタンＩＤが登録されていれば（図７の例では上下のみ）、ＣＰＵ１０１は、パルスを発生し、カウンタの値を１だけ増加させる（ステップＳ２５９）。次に、ＣＰＵ１０１は、カウンタの値が「１」であるかどうかを判定する（ステップＳ２６０）。ここで、カウンタの値が「１」となるのは、当該方向キー（図７の例では上下のみ）の入力が初期入力である場合である。
【０１３５】
カウンタの値が「１」でない場合は、当該方向キー（図７の例では上下のみ）の入力が継続入力である場合であり、ＣＰＵ１０１は、カウンタの値が「１５」であるかどうかを判定する（ステップＳ２６１）。カウンタの値が「１５」でない場合には、ＣＰＵ１０１は、カウンタの値が「２５＋５Ｋ」であるかどうかを判定する（ステップＳ２６２）。カウンタの値が「２５＋５Ｋ」でもなければ、そのままステップＳ２６４に進む。ここで、ＣＰＵ１０１は、カウンタの値によって当該方向キーの入力が初期入力からどの程度継続入力されているかを判定している。
【０１３６】
カウンタの値が「１５」或いは「２５＋５Ｋ」であれば、ＣＰＵ１０１は、当該方向キー（図７の例では上下のみ）の入力がいずれの方向であるかを判定し、該方向のリンク先のボタンのＹ’座標Ｙ’ｒが、Ｙ’ｐからＹ’＋Ｙｅ−１の範囲にあるかどうかにより、リンク先ボタンが現時点で表示装置１０４に表示されているかどうかを判定する（ステップＳ２６３）。
【０１３７】
例えば、図７に示すように表示装置１０４にＹ’ｐ１ページが表示され、ボタン２２０にアンカー２５０が付されている場合に、ユーザの指示方向が下方向であるのならば、ボタン２２０の下方向のリンク先のボタン２２１の左上位置３０４のＹ’座標Ｙ’ｒがＹ’ｐ（＝Ｙ’ｐ１）からＹ’ｐ＋Ｙｅ−１（Ｙ’ｐ２−１）の範囲にあるので、ボタン２２１は現時点で表示装置１０４に表示されていることとなる。同様に、ユーザの指示方向が上方向であるのならば、下方向のリンク先のボタン２１９の左上位置３０４のＹ’座標Ｙ’ｒがＹ’ｐ（＝Ｙ’ｐ１）からＹ’ｐ＋Ｙｅ−１（＝Ｙ’ｐ２-1）の範囲にないので、現時点で表示装置１０４に表示されていないこととなる。
【０１３８】
そして、ステップＳ２６３でリンク先のボタンが表示装置１０４に表示されていないと判定された場合には、ステップＳ２６４に進む。ステップＳ２６４では、ＣＰＵ１０１は、現時点でアンカー２５０の付されているボタンにそのままアンカー２５０を付して、メニュー画面２００ｂ（Ｙ’ｐページ）を表示装置１０４に表示させる。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【０１３９】
つまり、入力装置１０３から上下左右のいずれかの方向キーの継続入力によるアンカー２５０の移動指示を受け付けているが、該指示に従ってアンカー２５０を移動させず、現時点でアンカー２５０の付されているボタンでアンカー２５０を停止させた状態となる。例えば、図７に示すように表示装置１０４にＹ’ｐ１ページが表示され、現時点でアンカー２５０の付されているボタンが上方向の端部ボタン２２０であり、上方向キーの継続入力があった場合には、入力が継続されているが、アンカー２５０はボタン２２０に停止したままとなる。
【０１４０】
一方、ステップＳ２６３でリンク先ボタンが表示装置１０４に表示されていると判定された場合には、そのままステップＳ２６７に進む。
【０１４１】
また、ステップＳ２６０でカウンタの値が「１」であると判定された場合は、ＣＰＵ１０１は、当該方向キー（図７の例では上下のみ）の入力がいずれの方向であるかを判定し、該方向のリンク先のボタンの左上位置のＹ’座標Ｙ’ｒが、Ｙ’ｐからＹ’＋Ｙｅ−１の範囲にあるかどうかにより、リンク先のボタンが現時点で表示装置１０４に表示されているかどうかを判定する。リンク先のボタンが現時点で表示装置１０４に表示されていなければ、現時点でアンカー２５０の表示されているボタンは、当該方向の端部のボタンということになる。
【０１４２】
そして、ステップＳ２６５でＮＯとなり、リンク先のボタンが表示装置１０４に表示されていないと判定された場合には、ＣＰＵ１０１は、該端部ボタンのリンク先のボタンが表示装置１０４に表示されるように、指示方向に応じて新たなＹ’ｐの値を算出する。ここで、指示方向が上であるのならば、新たなＹ’ｐの値は、Ｙ’ｐ−Ｙｅ＋１となるが、Ｙ’ｐ−Ｙｅ＋１＜０である場合には、新たなＹ’ｐの値は０となる。また、指示方向が下であるのならば、新たなＹ’ｐの値はＹ’ｐ＋Ｙｅ−１の値であるが、Ｙ’ｐ＋Ｙｅ−１＞Ｙ’ｅである場合には、新たなＹ’ｐの値は、Ｙ’ｅ−Ｙｅ＋１となる（ステップＳ２６６）。なお、ここで単に“Ｙ’ｐ”と言っている場合は、新たなＹ’ｐの値が算出される前、すなわち画面のスクロール前のスクロール基準点に対応したものを指している。そして、そのままステップＳ２６７に進む。
【０１４３】
ステップＳ２６７では、Ｙ’ｐからＹ’ｐ＋Ｙｅ−１の範囲に位置する該メニュー画面２００ｂに表示される全ボタン（図７の例ではボタン２１９〜２２２）のうちの、現時点でアンカー２５０の付されているボタンのボタンデータ３００のアンカー表示フラグ３１０を消去し、移動先となったボタンのボタンデータ３００のアンカー表示フラグ３１０をセットする。そして、ＣＰＵ１０１は、新たにアンカー表示フラグ３１０のセットされたボタンにアンカー２５０を移動させて、Ｙ’ｐが表示装置１０４のＹ＝０となるようにメニュー画面２００ｂの各画素のＸ’−Ｙ’座標系の座標を表示装置１０４のＸ−Ｙ座標系の座標に変換し、Ｙ’ｐページを表示装置１０４に表示させる（ステップＳ２６８）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【０１４４】
また、ステップＳ２５６でいずれの方向キーの入力もなかった場合には、ＣＰＵ１０１は、現時点でカウントしているカウンタがあれば、カウンタの値をクリアし「０」とする（ステップＳ２６９）。そして、ＣＰＵ１０１は、入力装置１０３から確定キーの入力があったかどうかを判定する（ステップＳ２７０）。
【０１４５】
確定キーの入力もなければ、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。確定キーの入力があった場合には、ＣＰＵ１０１は、図４のフローチャートの処理から、アンカー２５０の付されているボタン、すなわちアンカー表示フラグ３１０のセットされているボタンについての処理リンク３０３で示されているステータス処理に制御を移すものとなり、全ボタンのアンカー表示フラグ３１０をリセットする（ステップＳ２７１）。そして、そのままメインメニュー処理を終了し、図４のフレーム処理に復帰する。
【０１４６】
以上説明したように、第２の実施の形態では、メニュー画面２００ｂの表示内容が表示装置１０４の表示領域内に収まらず、方向キーの操作によって移動されるアンカー２５０が、表示されていない画面内のボタンにも移動するものにおいて、方向キーの継続入力によって現時点で表示されている画面（Ｙ’ｐページ）から表示されていない画面内にある入力方向に応じたボタンにリンクされている端部ボタンにアンカー２５０が位置した場合には、アンカー２５０は該端部ボタンにおいて停止することとなる。この場合において、改めてユーザからの初期入力を受け付けた場合には、該端部ボタンのリンク先となるボタンにアンカー２５０が移動されると共に、該端部ボタンのリンク先が表示されるように画面をスクロールさせ表示装置１０４に表示されることとなる。
【０１４７】
従って、方向キーの継続入力であった場合には、現時点で表示されている表示領域内の該方向の端部ボタンにおいてアンカー２５０は停止することとなる。このため、例えば、下方向の入力を継続している場合に、アンカー２５０の移動にともなって画面が下方向にスクロールしてしまうようなことがなく、ユーザは、現時点でアンカー２５０の付されたボタンの位置を容易に把握することができ、操作性が向上するものとなる。
【０１４８】
また、表示領域の端部のボタンでアンカー２５０の移動が一旦停止した場合であっても、それまでの継続入力と同じ方向キーの初期入力を行えば、画面がスクロールされてアンカー２５０の移動先となるボタンが表示装置１０４に表示されると共に、当該ボタンにアンカー２５０が移動することとなる。このため、ユーザは、操作方法を大きく変えることなく１つの方向キーの操作によって、これまで表示領域に表示されていなかったボタンを表示すると共に端部のボタンからも他のボタンへアンカー２５０を順次移動させることができるので、ユーザの操作性の向上を図ることができる。
【０１４９】
ところで、方向キーの継続入力があった場合に現時点でアンカー２５０の位置するボタンが端部のボタンであるかどうかは、当該ボタンの入力方向に応じたリンク情報が示す他のボタンの位置が表示領域にあるかどうかによって判断されている。このようにリンク先となるボタンの位置と表示領域の比較という比較的簡易な判断で端部のボタンであるかどうかを判断できるので、その処理負荷を小さくすることができる。
【０１５０】
また、ここでは、表示領域の端部ボタンから改めて初期入力によって該端部ボタンのリンク先となるボタンにアンカー２５０が移動される場合には、該リンク先となるボタンが表示領域の前記端部ボタンの反対方向の端部に位置するように表示装置１０４の大きさの分だけ画面をスクロールさせるので、表示領域の内容全てが表示変更され、新たな複数のボタンが表示されることとなる。このため、表示領域に表示されるボタンの変更を幾度も行うことなく、アンカー２５０の位置を複数のボタンにおいて順次移動させることができる。また、ユーザにとっての操作性も向上するものとなる。
【０１５１】
［第１、第２の実施の形態の変形例］
本発明は、上記の第１、第２の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【０１５２】
上記の第１の実施の形態では、メニュー画面２００ａのボタンの位置は、横一行に規則的な状態で並べられたものとしていたが、メニュー画面において任意の位置に設定されていればこれに限るものではない。例えば、縦一列に規則的な状態で並べられたものとしてもよい。
【０１５３】
また、例えば、複数行及び複数列からなるマトリクス状に並べられたものとしてもよい。図９は、ＣＰＵ１０１が表示装置１０４に表示させるメニュー画面２００ａの変形例を示す図である。なお、この場合にも、第１の実施例と同様にメニュー画面２００ｃに表示される各ボタンについて、図３と同様の構成を有するボタンデータ３００を記憶装置１０２に記憶している。
【０１５４】
この場合には、右方向キーの操作によって、ボタン２０５→…→ボタン２０８→ボタン２０９→…→ボタン２１２→ボタン２１３→…→ボタン２１６→ボタン２０５…とアンカー２５０が全ボタンを巡回するようにそれぞれのボタンデータ３００の右リンク３０７が登録されている。
【０１５５】
この例において、例えば、右方向キーの継続入力時にアンカー２５０を、ボタン２０８、ボタン２１２、及びボタン２１６の１行毎に停止させるものとすることができる。この場合には、現時点でアンカー２５０の付されているボタンが端部ボタンであるかどうかを、ＣＰＵ１０１は、現時点のＸ座標Ｘｓとリンク先のＸ座標Ｘｒのリンク移動方向（Ｘｒ−Ｘｓ）がユーザ指示方向（右ならばプラス、左ならばマイナス）と合致するかどうかによって判定することができる（ステップＳ２１２、Ｓ２１３の変形）。
【０１５６】
また、この例において、右方向キーの継続入力時にアンカー２５０を、表示装置１０４の右下に表示されているボタン２１６でのみ停止させるものとすることもできる。この場合には、現時点でアンカー２５０の付されているボタンが端部ボタンであるかどうかを、ＣＰＵ１０１は、現時点座標（Ｘｓ、Ｙｓ）とリンク先座標（Ｘｒ、Ｙｒ）のリンク移動方向（（Ｘｒ−Ｘｓ）且つ（Ｙｒ−Ｙｓ））がユーザ指示方向（右ならばプラス、左ならばマイナス）とＸ、Ｙ何れの方向においても合致するかどうかによって判定することができる（ステップＳ２１２、Ｓ２１３の変形）。
【０１５７】
なお、左方向キーの操作によって、ボタン２０８→…→ボタン２０５→ボタン２１２→…→ボタン２０９→ボタン２１６→…→ボタン２１３→ボタン２０８…とアンカー２５０が全ボタンを巡回するようにそれぞれのボタンデータ３００の左リンク３０６に登録されている場合も同様である。また、この場合に１行毎にアンカー２５０が停止させるものとする場合には、端部ボタンは、ボタン２０５、ボタン２０９、ボタン２１３となり、表示領域の左下のみで停止させる場合には、端部ボタンは、ボタン２１３となる。
【０１５８】
さらに、行と列を逆にしてもよくこの場合には、行のＸ座標をＹ座標に、上方向を左方向に、下方向を右方向に置き換えれるものとすればよい。
【０１５９】
また、メニュー画面上のボタンは、複数行複数列からなる四角枠に並べられたものとしてもよい。例えば、３行４列からなる四角枠であれば、変形例の図９に示すメニュー画面２００ｃにおいて、ボタン２１０及びボタン２１１がない場合がこれに相当する。なお、この場合には、メニュー画面２００ｃに表示される各ボタンについて、リンク元及びリンク先を含んだボタンデータ３００を記憶装置１０２に記憶している。
【０１６０】
ここで、リンク元とは、方向キーの操作によって該ボタンにアンカー２５０が移動される前に、アンカー２５０が付されていた移動元となるボタンを示すボタンＩＤであり、例えば、右方向の入力があったときにボタン２０５からボタン２０６にアンカー２５０が移動するのであれば、ボタン２０６の右方向のリンク元は、ボタン２０５ということになる。
【０１６１】
この場合には、四角枠に並べられたボタン間における右方向キーを右回りキーとして、右回りリンクをボタン２０５→ボタン２０６→ボタン２０７→ボタン２０８→ボタン２１２→ボタン２１６→ボタン２１５→ボタン２１４→ボタン２１３→ボタン２０９→ボタン２０５…と設定する。また、左方向キーを左回りキーとして、逆方向のリンクを同様に設定するものとしてもよい。なお、右回りと左回りの双方で各ボタンについてのリンク先が設定されている場合には、右方向のリンク元は左方向のリンク先で、左方向のリンク元は右方向のリンク先で代用することができる。
【０１６２】
この例において、四隅のボタン（ボタン２０５、２０８、２１６、２１３）においてアンカー２５０を一旦停止させる場合には、現時点でアンカー２５０の付されているボタンが四隅のボタンであるかどうかを、現時点でアンカー２５０の付されているボタンのリンク先とリンク元のＸ座標及びＹ座標において、Ｘ座標或いはＹ座標のいずれか１つが同じ値となっているかどうかによって判定すればよい。Ｘ座標或いはＹ座標のいずれか１つでもが同じ値となっていなければ、現時点でアンカー２５０の付されているボタンは、端部ボタンとなり、継続入力によってアンカー２５０は、移動しないものとなる。
【０１６３】
従って、アンカー２５０が四隅の端部ボタンに位置した場合においてアンカー２５０の移動を停止させることで、例えば、ある一直線において右回り方向の入力を継続しているのにアンカー２５０の位置がいきなり他の一直線に移動してしまうようなことがなく、ユーザは、アンカー２５０の位置している直線及びボタンを的確に把握することができるので、ユーザの操作性の向上を図ることができる。また、四隅の端部のボタンでアンカー２５０の移動が一旦停止した場合であっても、それまでの継続入力と同じ方向キーを操作すればアンカー２５０が次の他の直線に移動するので、ユーザは、１つの方向キーの操作によって、端部のボタンからも他のボタンへアンカー２５０を順次移動させることができるので、ユーザの操作性の向上を図ることができる。
【０１６４】
上記の第２の実施の形態では、メニュー画面２００ｂに含まれるボタン（ボタン２１９〜２２４）は、メニュー画面２００ｂに設定された座標系であるＸ’−Ｙ’座標系の座標を基準として、現時点でアンカー２５０の位置するボタンの座標（Ｘ’ｓ、Ｙ’ｓ）とリンク先のボタンの座標（Ｘ’ｒ、Ｙ’ｒ）に基づいて処理を行うものとしていたが、メニュー画面２００ｂのＸ’−Ｙ’座標系の座標を表示装置１０４のＸ−Ｙ座標系の座標に変換して、処理を行うものとしてもよい。
【０１６５】
この場合には、メニュー画面２００ｂの少なくとも各ボタン２１７〜２２４の左上位置のＸ’−Ｙ’座標系の座標を、表示装置１０４のＸ−Ｙ座標系の座標に変換する。ここで、現時点でアンカー２５０の付されているボタンが入力方向の端部ボタンであるかどうかは、該方向のリンク先のボタンの座標（Ｘｒ，Ｙｒ）が表示装置１０４上の座標範囲（０≦Ｘｒ≦Ｘｅ−１，０≦Ｙｒ≦Ｙｅ−１）であるかどうかによって、判定することができる。
【０１６６】
上記の第２の実施の形態では、上下にメニュー画面２００ｃがスクロールするもののみについて考えたが、メニュー画面２００ｃの内容によっては、これに限るものではなく、左右にスクロールするものであってもよい。また、上下左右いずれの方向にもスクロールするものであってもよい。
【０１６７】
上記の第２の実施の形態では、表示装置１０４に表示されているＹ’ｐページにおいていずれかの方向の端部ボタンにアンカー２５０が付されている場合に、該方向の初期入力があった場合には、ＣＰＵ１０１は、該方向に従って表示装置１０４のＹ方向の大きさ分だけ画面をスクロールさせるものとしていたが、該端部ボタンのリンク先となるボタンにアンカー２５０を付して表示装置１０４に表示できれば、これに限るものではなく、リンク先となるボタンが表示される分だけスクロールされるものであってもよい。
【０１６８】
上記の第２の実施の形態では、ＣＰＵ１０１は、ステップＳ２６６において端部ボタンのリンク先が表示されるように、指示方向に応じたＹ’ｐを決定するものとしていたが、これに限るものではなく、予め画面毎にスクロールの基準点候補を記憶装置１０２に記憶させているものとしてもよい。この場合には、表示装置１０４におけるユーザの見やすさを考慮し、画面のスクロール基準点候補を表示装置１０４の大きさ通りに区切る必要もない。また、ステップＳ２５２、Ｓ２２６の処理では、予め設定されたスクロール基準点候補のうちから何れかのスクロール基準点を選択するものとなる。
【０１６９】
上記の第１、第２の実施の形態では、各ボタンのボタンデータ３００には、左リンク３０６と、右リンク３０７と、上リンク３０８と、下リンク３０９とを含むものとしていたが、これに限るものではなく、上下左右のいずれかの方向におけるリンクを、第１の実施の形態では１つ以上、第２の実施の形態では２つ以上含んでいるものであればよい。また、同じ方向のリンクであっても、初期入力と継続入力とによって異なるリンクの設定を行うものとしてもよい。
【０１７０】
この場合には、同一の入力方向であっても、初期入力のリンク先が設定されているが継続入力のリンク先が設定されていないボタンを設けることによって、当該ボタンに当該方向の継続入力があった場合には、継続入力ではリンク先となる他のボタンが設定されていないため、アンカー２５０は、停止する。この場合でも、当該ボタンでアンカー２５０が停止した後に初期入力を改めて行うと、初期入力のリンク先となるボタンが設定されているため、アンカー２５０はリンク先に移動することとなる。
【０１７１】
上記の第１、第２の実施の形態では、ＣＰＵ１０１は、継続入力がどの程度継続されているかどうかを、初期入力でカウントを開始させたカウンタの値によって判断するものとし、判断するカウンタの値を所定値（例えば１５、…２５＋５Ｋ（Ｋは、０以上の整数）とし、カウンタが一定値が一定値に達するまで所定値の間隔を短くしていき、該経過時間が一定時間に達した後は所定時間の間隔を固定するものとしていたが、これに限るものではなく、その間隔は一定値（例えば１５Ｋ）であっても、所定値の間隔で短くしていくもの（例えば１５、２５、３０、３２、…）であってもよい。
【０１７２】
上記の第１、第２の実施の形態では、ＣＰＵ１０１は、継続入力がどの程度継続されているかどうかを、初期入力でカウントを開始させたカウンタの値によって判断するものとしていたが、これに限るものではなく、初期入力と継続入力とに別々のパルスを発生させるパルス発生回路を設けるものとしてもよい。
【０１７３】
この場合には、初期入力を受け付けた場合には、ＣＰＵ１０１は、パルス発生回路１からパルス１を発生させる。そして、パルス発生回路１は、新たな新規入力の受信を待つ状態となる。一方、パルス１の発生を認識したパルス発生回路２は、０．２秒ごとにパルス２を発生させ、ＣＰＵ１０１は、パルス２により継続入力が続いていることを判定する。パルス発生回路２は、継続入力がなくなった時点で、パルス２の発生を止め、次にパルス１が発生されるのを待つ状態となる。
【０１７４】
ここで、今回のタイミングの入力指示が初期入力或いは継続入力のいずれかとなるかは、パルスを発生させているパルス発生回路が１あるいは２のいずれとなっているかによって判定することができるものとなる。
【０１７５】
上記の第１、第２の実施の形態では、入力装置１０３は、上下左右の方向を入力するための４つの方向キーを備えるものとしていた。しかしながら、方向入力を行うために必要な入力装置１０３の構成デバイスはこれに限るものではなく、方向キーのようにポインタの順次移動を指示するキーを１つ以上備えるものであれば、ジョイスティック、あるいはマウスやトラックボールなどを適用してもよい。
【０１７６】
上記の第１、第２の実施の形態では、メニュー画面２００ａ、ｂに表示されるボタンの形状は、長方形形状に統一されているものとしていた。しかしながら、ボタンの形状は、これに限るものではなく、円形、楕円形や長方形以外の多角形など、任意の形状とすることができる。例えば、円形状のボタンを適用する場合には、左上位置３０４に代えてボタンの中心位置を、ボタンサイズ３０５に代えてボタンの大きさの半径を、ボタンデータ３００として記憶させておけばよい。また、ボタン毎に異なる形状であってもよい。
【０１７７】
上記の第１、第２の実施の形態では、本発明を情報処理装置１００におけるメニュー画面２００ａ、ｂにおいて、アンカー２５０をボタン間で移動させると共に必要に応じて画面をスクロールさせる場合を例として説明した。しかしながら、本発明は、このような情報処理装置１００での適用に限るものではなく、ゲーム装置、汎用のパーソナルコンピュータ、デジタル家電、携帯電話機、カーナビゲーションシステムなどに表示される画面においても適用することができる。スクロール領域においてスクロール表示される情報は、ハードウェアデバイスや処理の種類の応じて任意のものを適用することができる。
【０１７８】
上記の第１、第２の実施の形態では、情報処理装置１００のプログラム及びデータは、記憶装置１０２に記憶され、ＣＰＵ１０１により実行されるものとしていたが、これに限るものではなく、プログラム及びデータは記憶媒体に格納されて配布され、記憶装置１０２に転送されてＣＰＵ１０１により実行されるものとしてもよい。また、記録媒体としては、本発明を適用するハードウェアデバイスの種類に応じてＤＶＤや半導体メモリーカードなど任意のものを適用することができる。また、これらのプログラム及びデータは、記憶媒体に格納されて配布され、必要に応じてＨＤＤやＲＡＭに転送されて、ＣＰＵ１０１により実行されるものであってもよい。
【０１７９】
さらに、インターネット接続機能を有する情報処理装置をハードウェアデバイスとして本発明に適用する場合には、これらのプログラム及びデータをインターネット上に存在するサーバ装置が有する固定ディスク装置に格納しておき、インターネットを介して当該情報処理装置に配信するものとしてもよい。例えば、携帯電話機をハードウェアデバイスとして本発明に適用する場合には、一般的にインターネット接続機能を有しているが、記録媒体から情報を読み取るデバイスを有していないこととなるので、この方法によりプログラム及びデータを配布することができるようになる。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施の形態に適用される情報処理装置の構成を示すブロック図である。
【図２】図１のＣＰＵがプログラムの実行時に表示装置に表示させるメニュー画面を示す図である。
【図３】図２のメニュー画面に表示される各ボタンについてのボタンデータの構成を示す図である。
【図４】この実施の形態にかかる情報処理装置において１フレーム毎に実行される処理を示すフローチャートである。
【図５】図４のメインメニュー処理を詳細に示すフローチャートである。
【図６】入力装置の方向キーからの移動指示に応じて表示装置のメニュー画面に表示されるボタンのアンカーの移動の実行例を示すタイミングチャートである。
【図７】第２の実施の形態における図１のＣＰＵがプログラムの実行時に表示装置に表示させるメニュー画面を示す図である。
【図８】第２の実施の形態における図４のメインメニュー処理を詳細に示すフローチャートである。
【図９】第１の実施の形態における図１のＣＰＵがプログラムの実行時に表示装置に表示させるメニュー画面の変形例を示す図である。
【符号の説明】
【０１８１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  記憶装置
１０３  入力装置
１０４  表示装置
２００ａ、２００ｂ、２００ｃ  メニュー画面
２０１〜２２４  ボタン
２５０  アンカー
３００  ボタンデータ
【図１】
2006331036.tif 000003
【図２】
2006331036.tif 000004
【図３】
2006331036.tif 000005
【図４】
2006331036.tif 000006
【図５】
2006331036.tif 000007
【図６】
2006331036.tif 000008
【図７】
2006331036.tif 000009
【図８】
2006331036.tif 000010
【図９】
2006331036.tif 000011