(57)【特許請求の範囲】
【請求項１】
複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させるメニュー表示手段と、
ユーザによる所定操作に応じて、前記所与の範囲を移動させる範囲移動手段と、
前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断する判断手段と、
端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている複数の前記メニュー項目の間隔を、端部の前記メニュー項目から遠いほど大きく広げる間隔変更手段と、
を含むことを特徴とするメニュー表示装置。
【請求項２】
請求項１に記載のメニュー表示装置において、
前記間隔変更手段は、少なくとも、端部の前記メニュー項目とその隣の前記メニュー項目との間隔を広げる、
ことを特徴とするメニュー表示装置。
【請求項３】
請求項２に記載のメニュー表示装置において、
前記間隔変更手段は、前記配列における端部の前記メニュー項目を前記画面の前記所定位置に表示させたまま、その隣の前記メニュー項目を移動させる、
ことを特徴とするメニュー表示装置。
【請求項４】
請求項１乃至３のいずれかに記載のメニュー表示装置において、
前記間隔変更手段は、前記画面に表示されている前記メニュー項目の間隔を広げた後、該間隔を所定距離に戻す、
ことを特徴とするメニュー表示装置。
【請求項５】
複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させるステップと、
ユーザによる所定操作に応じて、前記所与の範囲を移動させるステップと、
前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断するステップと、
端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている複数の前記メニュー項目の間隔を、端部の前記メニュー項目から遠いほど大きく広げるステップと、
を含むことを特徴とするメニュー表示制御方法。
【請求項６】
複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させる手段、
ユーザによる所定操作に応じて、前記所与の範囲を移動させる手段、
前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断する手段、及び
端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている複数の前記メニュー項目の間隔を、端部の前記メニュー項目から遠いほど大きく広げる手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメニュー表示装置、メニュー表示方法及びプログラムに関し、特にメニュー表示におけるユーザインタフェースの改善に関する。
【背景技術】
【０００２】
検索結果、ニュース記事の題名、記憶デバイス中のファイル名など、多数のメニュー項目を画面に表示させる場合には、名前や日付などの属性に関する所定基準に従って複数のメニュー項目が配列されたメニューのうち、一部領域を画面に表示させるとともに、スクロール操作に応じて該一部領域を移動させるユーザインタフェース技術が採用されることが多い。画面がタッチスクリーンの場合には、スクロール操作は例えばドラッグやフリックである。このユーザインタフェースによれば、ユーザはスクロール操作によりメニューにおける任意の領域を画面に表示させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記ユーザインタフェース技術によると、メニューをスクロールさせて端部のメニュー項目を画面に表示させた際、現在表示されているのが端部のメニュー項目であるのかどうかを、ユーザは直ちに把握することができない。例えばメニューを下方向にスクロールさせて下端部のメニュー項目を画面に表示させている場合、ユーザは、さらに下方向のスクロール操作を行っても画面内容が変わらないことを根拠に、現在画面に下端部のメニュー項目が表示されているのだと理解する他ない。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、端部のメニュー項目が画面に表示されたことをユーザが直ちに理解できるメニュー表示装置、メニュー表示制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るメニュー表示装置は、複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させるメニュー表示手段と、ユーザによる所定操作に応じて、前記所与の範囲を移動させる範囲移動手段と、前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断する判断手段と、端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている前記メニュー項目の間隔を変更する間隔変更手段と、を含むことを特徴とする。
【０００６】
また、前記間隔変更手段は、前記画面に表示されている前記メニュー項目の間隔を広げてよい。このとき、前記間隔変更手段は、少なくとも、端部の前記メニュー項目とその隣の前記メニュー項目との間隔を広げてよい。さらに、前記間隔変更手段は、前記配列における端部の前記メニュー項目を前記画面の前記所定位置に表示させたまま、その隣の前記メニュー項目を移動させてよい。また、前記間隔変更手段は、前記画面に表示されている前記メニュー項目の間隔を広げた後、該間隔を所定距離に戻してよい。
【０００７】
また、本発明に係るメニュー表示制御方法は、複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させるステップと、ユーザによる所定操作に応じて、前記所与の範囲を移動させるステップと、前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断するステップと、端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている前記メニュー項目の間隔を変更するステップと、を含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、複数のメニュー項目が配列されたメニューにおける所与の範囲を画面に表示させる手段、ユーザによる所定操作に応じて、前記所与の範囲を移動させる手段、前記メニューにおける端部の前記メニュー項目が前記画面の所定位置に表示されるか否かを判断する手段、及び端部の前記メニュー項目が前記画面の前記所定位置に表示される場合に、前記ユーザによる前記所定操作に応じて、前記画面に表示されている前記メニュー項目の間隔を変更する手段としてコンピュータを機能させるためのプログラムである。このプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭやメモリカードなどのコンピュータ可読情報記憶媒体に格納されてよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る可搬情報処理装置の外観斜視図である。
【図２】本発明の実施の形態に係る可搬情報処理装置のハードウェア構成図である。
【図３】メニュースクロール中の画面を示す図である。
【図４】メニュースクロール中の画面を示す図である。
【図５】端処理中の画面を示す図である。
【図６】メニュースクロール中の画面を示す図である。
【図７】端処理中の画面を示す図である。
【図８】メニュースクロールの概念説明図である。
【図９】メニュー表示中に管理される各変数の定義を示す図である。
【図１０】メニュー表示中に記憶されるテーブルを示す図である。
【図１１】メニュー表示のための情報処理を示すフロー図である。
【図１２】メニュー表示のための情報処理を示すフロー図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００１１】
図１は、本発明の実施形態に係る可搬情報処理装置の外観斜視図であり、図２は、同可搬情報処理装置のハードウェア構成図である。これらの図に示される可搬情報処理装置１０は、本発明に係るメニュー表示装置の一実施形態であり、その制御方法は本発明に係るメニュー表示制御方法の一実施形態である。また、可搬情報処理装置１０で実行されるプログラムは、本発明に係るプログラムの一実施形態である。可搬情報処理装置１０は、図１に示されるように薄型箱状の筐体を有するコンピュータシステムであり、前面の大部分をタッチパネル１２のタッチ面が占めており、側面には電源ボタン１４やメモリカードスロット１５が設けられている。この可搬情報処理装置１０は、図示しない充電可能な内蔵バッテリにより駆動される。
【００１２】
可搬情報処理装置１０は、図２に示されるように、バス３０に接続され相互にデータ送受可能に設けられたＭＰＵ１６、メモリ１８、ＦＰＤインタフェース２０、タッチパッドインタフェース２２、通信部２４、不揮発性メモリ２６及び媒体リーダ２８を含んでいる。上述のように可搬情報処理装置１０はタッチパネル１２を備えており、このタッチパネル１２は液晶や有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）によるＦＰＤ（Ｆｌａｔ  Ｐａｎｅｌ  Ｄｉｓｐｌａｙ）１２ａ及び静電容量式その他の方式によるタッチパッド１２ｂからなる。ＦＰＤインタフェース２０はＦＰＤ１２ａに接続されており、タッチパッドインタフェース２２はタッチパッド１２ｂに接続されている。メモリ１８はＭＰＵ１６の作業スペースに用いられる。ＦＰＤインタフェース２０は、ＦＰＤ１２ａに表示すべき画像を保存するメモリを備えており、該メモリに格納された画像を定期的にＦＰＤ１２ａに出力し、該ＦＰＤ１２ａにより表示される画像を更新する。タッチパッドインタフェース２２は、タッチパッド１２ｂから出力される信号に基づいて定期的にタッチ位置を演算し、ＭＰＵ１６に該タッチ位置を提供する。通信部２４は、インターネットなどのデータ通信ネットワークに接続し、データを送信したり受信したりする機能を有する。不揮発性メモリ２６は、メモリ１８より大容量の記憶手段であり、オペレーティングシステムや各種のアプリケーションプログラムを記憶する。媒体リーダ２８は、メモリカード３２などのコンピュータ可読情報記憶媒体からデータを読み出したり、そのようなコンピュータ可読情報記憶媒体にデータを書き込んだりする。
【００１３】
この可搬情報処理装置１０では、ユーザ操作によりスクロールさせることができるメニューを表示するプログラムを実行する。このプログラムは、オペレーティングシステムの一部であってもよいし、多数の画像を表示する画像ビューワや、多数の検索結果を表示する検索プログラムなどのアプリケーションプログラムであってもよい。また、このプログラムは予め不揮発性メモリ２６に格納されてもよいし、通信部２４によりダウンロードされてから不揮発性メモリ２６に格納されてもよい。また、メモリカード３２から不揮発性メモリ２６にコピーされてもよいし、メモリカード３２に記憶されたプログラムがＭＰＵ１６により直接実行されてもよい。
【００１４】
図３乃至図７は、メニュースクロール中にタッチパネル１２に表示されるメニューを示している。また、図８は、メニューとそのうちの表示範囲との関係を示す図である。図８に示すように、本実施形態では、タッチパネル１２に表示されるメニュー５０は、一例として、水平方向に伸びる短冊状のメニュー項目画像１〜８を含んでいる。メニュー項目画像１〜８は、例えば受信日順に並べられた電子メールのタイトルを表すもの、取得順に並べられた音楽データのタイトルを表すものなど、撮影順にならべられた画像データのサムネイルであってよい。これら８つのメニュー項目画像１〜８は、仮想的に、この順で上下に基準間隔Δにて配列されている。すなわち、メニュー項目画像１はメニュー５０の上端に配置されており、メニュー項目画像８は下端に配置されている。また、メニュー５０は、タッチパネル１２に表示される範囲、すなわち表示範囲５２を上下に貫くように配置されており、ユーザ操作に応じて表示範囲５２に対してメニュー５０が仮想的に上下に移動するようになっている。これにより、任意の部分のメニュー項目画像が表示範囲５２内に位置し、それらのメニュー項目画像がタッチパネル１２に表示される。ただし、メニュー５０の移動範囲は制限されており、下方向には、メニュー項目画像１の上端が表示範囲５２の上端から所定距離だけ下の位置（位置Ａ）にくるまで移動可能であり、上方向には、メニュー項目画像８の下端が表示範囲５２の下端から所定距離だけ上の位置（位置Ｂ）にくるまで移動可能である。また、メニュー項目画像１〜８の間隔は基準間隔Δよりも広がることができる。
【００１５】
具体的には、図３に示すようにタッチパネル１２にメニュー項目画像２〜７が表示された状態で、ユーザが指先４０をタッチ面に触れたまま矢印４２Ｄにより示される下方向にスライド（ドラッグ）させると、メニュー５０は表示範囲５２に対して相対的に下方向にスライド量に相応して移動し、これにより、図４に示すようにタッチパネル１２にはメニュー項目画像１〜５が表示される。この状態では、メニュー５０は下方向に限界まで移動しており、メニュー項目画像１の上端が位置Ａにある。この状態で、ユーザが指先４０をタッチ面におけるメニュー項目画像３が表示された領域に接触させたまま矢印４２Ｄにより示される下方向にさらにスライドさせると、図５に示すようにメニュー項目画像１とメニュー項目画像２の間隔Δ１、及びメニュー項目画像２とメニュー項目画像３の間隔Δ２がスライド量に応じて広がる。つまり、指先４０のタッチ位置に表示されたメニュー項目画像３及びそれよりも上側に配置されたメニュー項目画像１，２については、これらの間隔Δ１，Δ２が広がる。一方、それ以外の間隔は広がらない。なお、図４と図５において、メニュー５０の上端に配置されているメニュー項目画像１の表示位置は不変である。タッチ位置を上方向にスライドさせると、間隔Δ１，Δ２がスライド量に応じて狭まり、下方向にスライドさせると、間隔Δ１，Δ２がスライド量に応じてさらに広がる。また、指先４０をタッチ面から離すと、徐々に、元の基準間隔Δに戻る。図５において、メニュー項目画像１とメニュー項目画像２の間隔Δ１と、メニュー項目画像２とメニュー項目画像３の間隔Δ２は、同じとしてもよいし、メニュー項目画像１とメニュー項目画像２の間隔Δ１の方が、メニュー項目画像２とメニュー項目画像３の間隔Δ２より狭くなるようにしてもよい。さらにタッチ位置からの距離に応じてメニュー項目画像の間隔Δの距離を段階的に設定してもよい。これによると、図５において、間隔Δ２の方が間隔Δ１よりも大きくなるように設定する。これによってユーザがより直感的にメニュー項目の端部を意識した操作が可能となる。
【００１６】
同様に、図３に示すようにタッチパネル１２にメニュー項目画像２〜７が表示された状態で、ユーザが指先４０をタッチ面に触れたまま矢印４２Ｕにより示される上方向にスライド（ドラッグ）させると、メニュー５０は表示範囲５２に対して相対的に上方向にスライド量に相応して移動し、これにより、図６に示すようにタッチパネル１２にはメニュー項目画像４〜８が表示される。この状態では、メニュー５０は上方向に限界まで移動しており、メニュー項目画像８が画面位置Ｂにある。この状態で、ユーザが指先４０をタッチ面に接触させたまま矢印４２Ｕにより示される下方向にさらにスライドさせると、図７に示すようにメニュー項目画像８とメニュー項目画像７の間隔がスライド量に応じて広がる。つまり、指先４０のタッチ位置に表示されたメニュー項目画像７及びそれよりも下側に配置されたメニュー項目画像８については、その間隔が広がる。一方、それ以外の間隔は広がらない。なお、図６と図７において、メニュー５０の下端に配置されているメニュー項目画像８の表示位置は不変である。タッチ位置を下方向にスライドさせると、間隔がスライド量に応じて広がり、上方向にスライドさせると、間隔がスライド量に応じてさらに広がる。また、指先４０をタッチ面から離すと、徐々に、元の基準間隔Δに戻る。
【００１７】
また、本実施形態では、ユーザがタッチパネル１２に対して指先４０でフリックしたことを検出するようになっており、下方向のフリックがなされたことを検出すると、メニュー５０を表示範囲５２に対して下方向に移動させる（自動スクロール）。フリックは、指先４０をタッチ面に接触させたまま所定の基準スピード以上のスピードでスライドさせ、そのまま指先４０をタッチ面から離す操作である。フリック後はユーザの指先４０はタッチパネル１２のタッチ面から離れるが、メニュー５０は下方向に移動し続ける。このとき、フリック時のスライドスピードが速ければ速いほど、移動の初速も速くなる。また、時間が経つほどメニュー５０の移動速度は遅くなり、最終的には停止する。なお、フリック操作がなされると、メニュー項目画像１〜８の間隔が広がるようにしてもよい。このとき、フリック時のスライドスピードが速ければ速いほど、メニュー項目画像１〜８の間隔が大きく広がるようにしてよい。また、こうした自動スクロールの最中に、メニュー項目画像１の上端が位置Ａにくると、メニュー項目画像１〜８の間隔が徐々に広がり、その後、間隔が徐々に狭まり基準間隔Δに戻ると、画面の変化は止まる。
【００１８】
同様に、上方向のフリックがなされたことを検出すると、メニュー５０を表示範囲５２に対して上方向に移動させる。フリック後はユーザの指先４０はタッチパネル１２のタッチ面から離れるが、メニュー５０は上方向に移動し続ける。この場合も、フリック時のスライドスピードが速ければ速いほど、移動の初速も速くなる。また、時間が経つほどメニュー５０の移動速度は遅くなり、最終的には停止する。また、こうした自動スクロールの最中に、メニュー項目画像８の下端が位置Ｂにくると、メニュー項目画像１〜８の間隔が徐々に広がり、その後、間隔が徐々に狭まり基準間隔Δに戻ると、画面の変化は止まる。
【００１９】
以上のように、メニュー５０を下方向に移動させる操作（フリック又はドラッグ）により、メニュー項目画像１の上端が位置Ａにまでくると、メニュー項目画像１は下方向にそれ以上移動せず、代わりにメニュー項目画像１とメニュー項目画像２の間隔が広がる。同様に、メニュー５０を上方向に移動させる操作（フリック又はドラッグ）により、メニュー項目画像８の下端が位置Ｂにまでくると、メニュー項目画像８は上方向にそれ以上移動せず、代わりにメニュー項目画像８とメニュー項目画像８の間隔が広がる。こうして、メニュー５０が下限又は上限まで移動していること、つまりタッチパネル１２に上端のメニュー項目画像１又は下端のメニュー項目画像８が所定位置に表示されていることを、分かりやすくユーザに伝えることができる。
【００２０】
以下、メニュー５０を表示する処理についてさらに詳細に説明する。図９は、メニュー５０の表示中、可搬情報処理装置１０で管理される各変数の定義を示しており、図１０は、メニュー５０の表示中、可搬情報処理装置１０のメモリ１８に記憶されるテーブルを模式的に示している。これらの図に示すように、メニュー５０の表示中は、メニュー項目画像１〜７のそれぞれに関連づけて、その下に位置するメニュー項目画像２〜８との間隔Δ１〜Δ７がメモリ１８に記憶される。具体的には、間隔Δｎは、メニュー項目画像ｎの下端とメニュー項目画像ｎ＋１の上端との間の距離である（ｎ＝１〜７）。また、メニュー項目画像１〜８のそれぞれに関連づけて、表示位置の座標Ｘ１〜Ｘ８がメモリ１８に記憶される。座標Ｘｎは、図８及び図９に示すように、タッチパネル１２の画面の上端からメニュー項目画像ｎの上端までの距離を示している。なお、座標Ｘｎが負の場合には、当該座標は表示範囲５２の外である（ｎ＝１〜８）。
【００２１】
図１１及び図１２は、メニュー５０を表示するためのプログラムの処理を示している。図１１に示すように、このプログラムでは、まず端処理が必要か否かを判断する（Ｓ１０１）。端処理は、図１２のフロー図により示される処理であり、メニュー５０を下方向に移動させる操作によりメニュー項目画像１の上端が位置Ａにまできた後、或いは、メニュー５０を上方向に移動させる操作によりメニュー項目画像８の下端が位置Ｂにまできた後に、それぞれ実行される処理である。具体的には、（１）メニュー項目画像１の上端が位置Ａにある状態で、下方向のドラッグ操作が行われた場合、（２）メニュー項目画像８の下端が位置Ｂにある状態で、上方向のドラッグ操作が行われた場合、（３）下方向のフリック操作に応じた自動処理によりメニュー項目画像１の上端が位置Ａにきた場合、（４）上方向のフリック操作に応じた自動処理によりメニュー項目画像８の下端が位置Ｂにきた場合、（５）メニュー項目画像１の上端が位置Ａにある状態であり、且つメニュー項目画像１とメニュー項目画像２の現在の間隔Δ１が基準間隔Δよりも大きい場合、（６）メニュー項目画像８の下端が位置Ｂにある状態であり、且つメニュー項目画像８とメニュー項目画像７の現在の間隔Δ７が基準間隔Δよりも大きい場合に、端処理が必要と判断する。
【００２２】
ここで、メニュー項目画像１の上端が位置Ａにあるか否か、メニュー項目画像８の下端が位置Ｂの位置にあるか否か、は、図１０のテーブルの座標Ｘ１及びＸ８より判断することができる。また、ドラッグ操作が行われたか否か、及びドラッグ操作の方向は、タッチパッドインタフェース２２からの出力に基づいて判断することができる。さらに、このプログラムでは、メモリ１８にフリック操作に応じた自動処理のスピードを記憶させており、この自動処理スピードが０より大きい場合には、フリック操作により下方向の自動処理がなされている最中（自動処理中）と判断できる。また、この自動処理スピードが０より小さい場合には、フリック操作により上方向の自動処理がなされている最中（自動処理中）と判断できる。一方、自動処理スピードが０の場合には、自動処理がなされていないと判断できる。
【００２３】
端処理が必要でない場合、次にタッチパッドインタフェース２２からの出力に基づいて、タッチパッド１２ｂにタッチ中であるか否かを判断する（Ｓ１０３）。タッチ中であれば、自動処理スピードを０に設定するとともに（Ｓ１０４）、直前に検出したタッチ位置と今回検出したタッチ位置との上下方向の距離、すなわちドラッグ距離を取得し、このドラッグ距離だけメニュー５０を移動させる（Ｓ１０５）。具体的には、タッチ位置が上方向に移動していれば、図１０に示すテーブルに含まれている各座標Ｘｎをドラッグ距離だけ減算する。また、タッチ位置が下方向に移動していれば、各座標Ｘｎにドラッグ距離を加算する。そして、更新されたテーブルに従って、メニュー項目画像１〜８をＦＰＤ１２ａに表示させ、Ｓ１０１の処理に戻る。
【００２４】
Ｓ１０３においてタッチ中でないと判断されると、次にフリックがなされたか否かを判断する（Ｓ１０６）。例えば、直前に検出したタッチ位置とさらにその前に検出したタッチ位置との上下方向の距離、すなわち直前のドラッグ距離（スライドスピード）が所定距離以上であり、且つ今回はタッチ位置を検出していない場合に、フリックがなされたと判断する。フリックがなされたと判断すると、直前のドラッグ距離に応じて自動処理スピードを設定する（Ｓ１０７）。具体的には、ドラッグ距離が長ければ長いほど、自動処理スピードを大きく設定する。また、下方向にドラッグされていれば、自動処理スピードを正の値とし、上方向にドラッグされていれば、自動処理スピードを負の値とする。
【００２５】
その後、自動処理スピードの値を、図１０のテーブルに含まれる座標Ｘｎに加算し、更新後のテーブルに従ってメニュー項目画像１〜８をＦＰＤ１２ａに表示させる（Ｓ１０９）。さらに、自動処理スピードの値を０に近づける（Ｓ１１０）。例えば所定値ずつ自動処理スピードを０に近づけてよい。Ｓ１１０の処理により自動処理スピードが０となれば、自動処理は終了する。その後、Ｓ１０１の処理に戻る。
【００２６】
Ｓ１０６においてフリックがなされていないと判断されると、現在自動処理中であるか否かを判断する（Ｓ１０８）。具体的には、自動処理スピードが０であれば、自動処理中でないと判断し、それ以外には自動処理中と判断する。自動処理中でなければ、そのままＳ１０１の処理に戻り、自動処理中であれば、Ｓ１０９の処理に進む。
【００２７】
Ｓ１０１で端処理が必要と判断されれば、図１２に示される端処理が実行される。この処理では、まずタッチ中か否かを判断する（Ｓ１０２１）。タッチ中であれば、直前のタッチ位置と今回のタッチ位置との差、すなわちドラッグ距離を取得する（Ｓ１０２２）。さらに、今回のタッチ位置に対応するメニュー項目画像を特定する（Ｓ１０２３）。例えば、今回のタッチ位置から、メニュー項目画像１〜８の中心位置への上下方向の距離を算出し、その距離が一番小さなものを、今回のタッチ位置に対応するメニュー項目画像としてよい。そして、特定されたメニュー項目画像が、メニュー項目画像１又はメニュー項目画像８のいずれかであるか否かを判断する（Ｓ１０２４）。特定されたメニュー項目画像が、メニュー項目画像１又はメニュー項目画像８であれば、Ｓ１０２２で取得されたドラッグ距離に応じて、図１０のテーブルに含まれる間隔Δ１〜Δ７を更新し、さらに座標Ｘ１〜Ｘ８も併せて更新する（Ｓ１０２８）。具体的には、メニュー項目画像１の上端が位置Ａにあり、下方向にドラッグしていれば、間隔Δ１〜Δ７をドラッグ距離に比例した量だけ広げる。上方向にドラッグしていれば、間隔Δ１〜Δ７をドラッグ距離に比例した量だけ狭める。Δ１〜Δ７を広げたり狭めたりする量は、等しくしてよい。その後、座標Ｘ１については値をそのままに、座標Ｘ２〜Ｘ８については、座標Ｘ１及び間隔Δ１〜Δ７に従って更新する。つまり、メニュー項目画像１の上端が位置Ａとなり、その他のメニュー項目画像２〜８は、間隔Δ１〜Δ７で並ぶようにする。
【００２８】
同様に、メニュー項目画像８の下端が位置Ｂにあり、上方向にドラッグしていれば、間隔Δ１〜Δ７をドラッグ距離に比例した量だけ広げる。下方向にドラッグしていれば、間隔Δ１〜Δ７をドラッグ距離に比例した量だけ狭める。ここでも、Δ１〜Δ７を広げたり狭めたりする量は、等しくしてよい。その後、座標Ｘ８については値をそのままに、座標Ｘ２〜Ｘ８については、座標Ｘ８及び間隔Δ１〜Δ７に従って更新する。つまり、メニュー項目画像８の下端が位置Ｂとなり、その他のメニュー項目画像１〜７は、間隔Δ１〜Δ７で並ぶようにする。
【００２９】
一方、Ｓ１０２４において、特定されたメニュー項目画像が、メニュー項目画像１でもメニュー項目画像８でもないと判断されれば、次に、特定されたメニュー項目画像を移動させる（Ｓ１０２５）。すなわち、Ｓ１０２３で特定されたメニュー項目画像についての座標Ｘｎを、Ｓ１０２３で取得されたドラッグ距離だけ移動させる。このとき、下方向にドラッグしていれば、座標Ｘｎにドラッグ距離を加算し、上方向にドラッグしていれば、座標Ｘｎからドラッグ距離を減算する。
【００３０】
さらに、Ｓ１０２３で特定されたメニュー項目画像と、メニュー項目画像１又はメニュー項目画像８と、の間で、メニュー項目画像を等間隔に配置する（Ｓ１０２６）。すなわち、メニュー項目画像１の上端が位置Ａにある場合、Ｓ１０２３で特定されたメニュー項目画像とメニュー項目画像１との間で、メニュー項目画像が等間隔となるよう、図１０に示されるテーブルの間隔Δｎ及び座標Ｘｎを更新する。また、メニュー項目画像８の下端が位置Ｂにある場合、Ｓ１０２３で特定されたメニュー項目画像とメニュー項目画像８との間で、メニュー項目画像が等間隔となるよう、図１０に示されるテーブルの間隔Δｎ及び座標Ｘｎを更新する。
【００３１】
なお、Ｓ１０２６では、Ｓ１０２３で特定されたメニュー項目画像と、メニュー項目画像１又はメニュー項目画像８と、の間で、メニュー項目画像の間隔を徐々に変えるようにしてもよい。例えば、図５に関連して既に説明したように、Ｓ１０２３で特定されたメニュー項目画像から遠いほど、メニュー項目画像の間隔が狭くなるようにしてもよい。
【００３２】
さらに、Ｓ１０２６で更新された間隔Δｎ及び座標Ｘｎに従って、Ｓ１０２６では更新されていない、残りの座標Ｘｎを更新する（Ｓ１０２７）。つまり、メニュー項目画像１の上端が位置Ａにある場合、Ｓ１０２３で特定されたメニュー項目画像よりも下側のメニュー項目画像が、図１０のテーブルに記録された間隔Δｎで並ぶようにする。同様に、メニュー項目画像８の下端が位置Ｂにある場合、Ｓ１０２３で特定されたメニュー項目画像よりも上側のメニュー項目画像が、図１０のテーブルに記録された間隔Δｎで並ぶようにする。その後、以上のようにして更新されたテーブルに従って、メニュー項目画像１〜８をＦＰＤ１２ａにより表示させる（Ｓ１０２９）。
【００３３】
Ｓ１０２１において、タッチパッド１２ｂがタッチされていないと判断されると、次に自動処理中であるか否かを判断する（Ｓ１０３６）。自動処理中であれば、現在の自動処理スピードの大きさに応じて間隔Δ１〜Δ７を広げる（Ｓ１０３０）。例えば、自動処理スピードの絶対値に比例した値を間隔Δ１〜Δ７に加算してもよい。なお、間隔Δ１〜Δ７を等しく広げてもよいし、広げる程度を異ならせてもよい。例えば、メニュー項目画像１の上端が位置Ａにある場合、該メニュー項目画像１に近い間隔（つまりΔ１）ほど大きく広げてよい。つまり、Δ１＞Δ２＞Δ３…としてよい。また、メニュー項目画像８の下端が位置Ｂにある場合、該メニュー項目画像８に近い間隔ほど大きく広げてよい。つまり、Δ８＞Δ７＞Δ６…としてよい。逆に、メニュー項目画像１の上端が位置Ａにある場合、該メニュー項目画像１から遠い間隔ほど大きく広げてよい。つまり、Δ８＞Δ７＞Δ６…としてよい。また、メニュー項目画像８の下端が位置Ｂにある場合、該メニュー項目画像８から遠い間隔ほど大きく広げてよい。つまり、Δ１＞Δ２＞Δ３…としてよい。そして、Ｓ１０３０により更新された間隔Δ１〜Δ７に従って、座標Ｘ２〜Ｘ８を更新する（Ｓ１０３１）。こうして、メニュー項目画像１を同じ位置に留めつつ、メニュー項目画像１〜８が、更新された間隔Δ１〜Δ７で並ぶようにする。その後、以上のようにして更新されたテーブルに従って、メニュー項目画像１〜８をＦＰＤ１２ａにより表示させる（Ｓ１０３２）。さらに、自動処理スピードを０に近づける（Ｓ１０３３）。例えば所定値ずつ自動処理スピードを０に近づけてよい。Ｓ１０３３の処理により自動処理スピードが０となれば、自動処理は終了する。
【００３４】
また、Ｓ１０２５において自動処理中でないと判断されると、間隔Δ１〜Δ７を元の基準間隔Δに近づける。例えば、所定値ずつ基準間隔Δに近づけてよい。さらに、更新された間隔Δ１〜Δ７でメニュー項目画像１〜８が並ぶよう、座標Ｘ１〜Ｘ８を更新する（Ｓ１０３４）。具体的には、メニュー項目画像１の上端が位置Ａにある場合、座標Ｘ１はそのままにして、更新された間隔Δ１〜Δ７でメニュー項目画像１〜８が並ぶよう、座標Ｘ２〜Ｘ８を更新する。また、メニュー項目画像８の下端が位置Ｂにある場合、座標Ｘ８はそのままにして、更新された間隔Δ１〜Δ７でメニュー項目画像１〜８が並ぶよう、座標Ｘ１〜Ｘ７を更新する。その後、以上のようにして更新されたテーブルに従って、メニュー項目画像１〜８をＦＰＤ１２ａにより表示させる（Ｓ１０３５）。
【００３５】
以上説明した可搬情報処理装置１０によれば、下方向のフリック又はドラッグによりメニュー項目画像１の上端が位置Ａにまでくると、メニュー項目画像１は下方向にそれ以上移動せず、代わりにメニュー項目画像１とメニュー項目画像２の間隔が広がる。また、上方向のフリック又はドラッグによりメニュー項目画像８の下端が位置Ｂにまでくると、メニュー項目画像８は上方向にそれ以上移動せず、代わりにメニュー項目画像８とメニュー項目画像８の間隔が広がる。こうして、メニュー５０が下限又は上限まで移動していること、つまりタッチパネル１２に上端のメニュー項目画像１又は下端のメニュー項目画像８が所定位置に表示されていることを、分かりやすくユーザに伝えることができる。
【００３６】
なお、本発明は上記実施形態に限定されるものではない。例えば、図９乃至図１２に示される処理は一例に過ぎず、他の変形された処理により本発明に係るユーザインタフェースを実現してよいのはもちろんである。
【符号の説明】
【００３７】
１０  可搬情報処理装置、１２  タッチパネル、１２ａ  ＦＰＤ、１２ｂ  タッチパッド、１４  電源ボタン、１５  メモリカードスロット、１６  ＭＰＵ，１８  メモリ、２０  ＦＰＤインタフェース、２２  タッチパッドインタフェース、２４  通信部、２６  不揮発性メモリ、２８  媒体リーダ、３０  バス、３２  メモリカード、４０  指先、５０  メニュー、５２  表示範囲。
【図１】
0005860526.tif 000002
【図２】
0005860526.tif 000003
【図３】
0005860526.tif 000004
【図４】
0005860526.tif 000005
【図５】
0005860526.tif 000006
【図６】
0005860526.tif 000007
【図７】
0005860526.tif 000008
【図８】
0005860526.tif 000009
【図９】
0005860526.tif 000010
【図１０】
0005860526.tif 000011
【図１１】
0005860526.tif 000012
【図１２】
0005860526.tif 000013