(57)【要約】【課題】オブジェクトの情報を不足なく、且つ、平易に操作可能なように提供する。【解決手段】本発明のスマートフォン（１００、２００）は、タッチパネル（１）に対するタッチ操作によって指定されたボタンを特定するボタン特定部（２２）と、上記ボタンが表示されている割合を示す表示率を判定する表示率判定部（２４）と、表示率が不足している場合に、所定の表示率を満足するように上記ボタンが配置されたページデータ（４００）をスクロールさせるスクロール調整部（２６）とを含む。【選択図】図１
2014056400.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置であって、
上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定手段と、
上記オブジェクト特定手段によって特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定手段と、
上記指定オブジェクトの上記表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御手段とを含むことを特徴とする情報処理装置。
【請求項２】
上記複数のオブジェクトは、少なくとも、タッチ操作可能範囲を示す図形で構成されており、
上記表示率判定手段は、
上記指定オブジェクトの図形が上記表示範囲内にある面積の割合に基づいて、上記表示率を判定し、
上記スクロール制御手段は、
上記指定オブジェクトの図形が、少なくとも上記所定の表示率以上で表示されるように、上記表示対象データのスクロール方向およびスクロール量を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記スクロール制御手段は、
上記指定オブジェクトの図形の全部が上記表示範囲に含まれるように、上記表示対象データのスクロール方向およびスクロール量を決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
上記複数のオブジェクトは、図形と上記図形内に表示される文字列とで構成されており、
上記表示率判定手段は、
上記指定オブジェクトの文字列のうち、上記表示範囲内にある文字数の割合に基づいて、文字列の表示率を判定し、
上記スクロール制御手段は、
上記指定オブジェクトの文字列が、少なくとも上記所定の表示率以上で表示されるように、上記表示対象データのスクロール方向およびスクロール量を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
上記スクロール制御手段は、
上記指定オブジェクトの文字列の全部が上記表示範囲に含まれるように、上記表示対象データのスクロール方向およびスクロール量を決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
上記スクロール制御手段によって上記表示対象データがスクロールされているとき、そのスクロール方向を示す矢印を上記タッチパネルに表示する表示制御手段を備えていることを特徴とする請求項１から５までのいずれか１項に記載の情報処理装置。
【請求項７】
複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置の制御方法であって、
上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定ステップと、
上記オブジェクト特定ステップにて特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定ステップと、
上記表示率判定ステップにて得られた上記指定オブジェクトの上記表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御ステップとを含むことを特徴とする情報処理装置の制御方法。
【請求項８】
コンピュータを、請求項１から６までのいずれか１項に記載の情報処理装置の各手段として機能させるための制御プログラム。
【請求項９】
請求項８に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオブジェクトをスクロールして表示する情報処理装置、情報処理装置の制御方法、制御プログラム、および、記録媒体に関するものである。
【背景技術】
【０００２】
近年の携帯電話、ＰＤＡ（Personal Digital Assistant）、スマートフォン、タブレットＰＣ（Personal Computer）等の端末装置の技術分野において、タッチパネルを備えたものが広く普及している。これらの端末装置は、タッチパネルに対するユーザからのタッチ操作にしたがって、タッチされたオブジェクトに割り当てられた処理を実行したり、表示対象データ（メニュー画面、アイコンリスト、Ｗｅｂページ、その他アプリケーション実行ウィンドウ等）をスクロールして表示したりする（例えば、特許文献１〜３）。タッチパネルに対するタッチ操作とは、例えば、タップ、フリック、ドラッグ、ピンチイン、ピンチアウト等である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３３１１８号公報（２０１２年２月１６日公開）
【特許文献２】国際公開第２００９／０４４７７０号パンフレット（２００９年４月９日公開）
【特許文献３】特開２００９−１８７０５７号公報（２００９年８月２０日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、端末装置の携帯性・可搬性・利便性等が追及されて、端末装置の小型化が進んだ結果、端末装置の画面のサイズ自体も小さくならざるを得ない。そして、このような小型の端末装置では、必要な情報が一画面に収まらなくなった。表示対象データが一画面に収まらない場合、端末装置は、これをスクロール表示して、必要な情報を不足なくユーザに供給する。
【０００５】
このような携帯端末において、ユーザによるオブジェクトの選択を補助することは、携帯端末の操作性の向上における課題の一つである。
【０００６】
例えば、表示対象データに配置されている個々のオブジェクトについて、オブジェクトの一部だけが画面に表示され、残りの部分が画面に表示されないために、表示された一部からは、該オブジェクトをユーザが判別できない場合がある。
【０００７】
このような場合、上述の従来の構成では、ユーザは、タッチパネルに対し、該オブジェクトを画面内に引き寄せる方向にドラッグ操作を行う等して表示対象データをスクロールさせる必要がある。
【０００８】
従来の構成では、ユーザが関心を持っているオブジェクトについて、その全部が表示されていないために、内容が判別できない状態、あるいは、意図どおりに正確にタッチ操作を行えない状態にある場合に、その状態を容易に解消し、ユーザの内容判別またはオブジェクト選択を支援することはできなかった。なぜなら、ユーザがスクロール表示を意図してタッチ操作を行ったとしても、端末装置がこれをオブジェクトの選択操作として受け付けて誤作動するという問題が生じるからである。
【０００９】
本発明は上記の事情に鑑みてなされたものであり、その目的は、ユーザが関心を持っているオブジェクトについて、情報を不足なく、且つ、平易に操作可能なように提供する情報処理装置、情報処理装置の制御方法、制御プログラム、および、記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る情報処理装置は、上記課題を解決するために、複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置であって、上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定手段と、上記オブジェクト特定手段によって特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定手段と、上記指定オブジェクトの表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御手段とを備えている。
【００１１】
本発明の一態様に係る情報処理装置の制御方法は、上記課題を解決するために、複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置の制御方法であって、上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定ステップと、上記オブジェクト特定ステップにて特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定ステップと、上記表示率判定ステップにて得られた上記指定オブジェクトの上記表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御ステップとを含む。
【発明の効果】
【００１２】
本発明の一態様によれば、ユーザが関心を持っているオブジェクトについて、情報を不足なく、且つ、平易に操作可能なように提供することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るスマートフォンの要部構成を示す機能ブロック図である。
【図２】スマートフォンのスクロール表示の動作例を示す図である。
【図３】スマートフォンが実行する処理の流れを示すフローチャートである。
【図４】座標系記憶部に記憶されている座標系、該座標系にプロットされたページデータ（表示対象データ）およびスマートフォンの表示範囲、並びに、該ページデータのデータ構造を示す図である。
【図５】表示率判定部が実行する、ボタン（オブジェクト）の表示率算出処理の流れを示すフローチャートである。
【図６】上記座標系における、表示範囲内外をまたぐ位置に配置されているボタンの周辺の座標情報を示す図である。
【図７】スクロール調整部が実行する、ページデータのスクロール調整処理の流れ示すフローチャートである。
【図８】（ａ）〜（ｃ）は、表示範囲内外をまたぐ位置に配置されているボタンがタッチされた場合に、当該ボタン全体が表示範囲内に収まるようにスクロールされた後、表示部に表示される画面の具体例を示す図である。
【図９】スマートフォンの表示部に表示される、表示率閾値の設定画面の具体例を示す図である。
【図１０】（ａ）は、ページデータがスクロールされている途中に表示部に表示される画面の具体例を示す図であり、（ｂ）は、上記スクロールが完了した後に表示部に表示される画面の具体例を示す図である。
【図１１】本発明の他の実施形態に係るスマートフォンにおける、スクロール表示の動作例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、詳細に説明する。以下の特定の実施形態で説明する構成以外の構成については、必要に応じて説明を省略する場合があるが、他の項目で説明されている場合は、その構成と同じである。また、説明の便宜上、各実施形態に示した部材と同一の機能を有する部材については、同一の符号を付し、適宜その説明を省略する。また、各図面に記載した構成の形状や、長さ、大きさおよび幅などの寸法は、実際の形状や寸法を反映させたものではなく、図面の明瞭化と簡略化のために適宜に変更している。
【００１５】
≪実施形態１≫
本発明の第１の実施形態について、図１〜図１０に基づいて説明すると以下のとおりである。本実施形態では、本発明の情報処理装置の実施の一形態として、スマートフォン（情報処理装置）１００（図１参照）について説明する。
【００１６】
しかしながら、本発明を具現化する形態は、このようなスマートフォンに限定されず、タッチ操作による選択が可能なオブジェクトをタッチパネルに表示する機構と、タッチパネルに対する入力操作（オブジェクト選択操作）を受け付ける機構とを備えたあらゆる情報処理装置に適用可能である。例えば、本発明の情報処理装置としては、携帯電話、ＰＤＡ、タブレットＰＣ、および、デジタルカメラなどの比較的小型の端末装置を広く採用することができる。
【００１７】
なお、以下の記載において、「ボタン」とは、スマートフォン１００のタッチパネルに表示される、タッチ操作が可能なオブジェクトの一具体例である。ボタンは、典型的には、ソフトウェアキー、アイコン、などのＧＵＩ（graphical user interface）部品、または、Ｗｅｂページにおける所定のページへのリンク先（ＵＲＬ）が記述されたクリッカブルな文字列等である。
【００１８】
図２は、スマートフォン１００のスクロール表示の動作例を示す図である。スマートフォン１００は、図２に示すように、表示部１２に複数のボタン４０１を表示する。
【００１９】
各ボタン４０１には、文字列が関連付けられていてもよい。この場合、スマートフォン１００は、図２に示すように、各ボタン４０１に割り当てられた文字列を、ボタンの図形とともに表示してもよい。
【００２０】
スマートフォン１００は、すべてのボタンの全体を表示できない場合には、表示部１２の１画面に収まる範囲（以下、表示範囲）内に配置されたボタンを、部分的に表示すればよい。図２には、表示範囲外のボタンの部分を破線で示している。
【００２１】
ボタンの大部分が表示されていないもの、例えば、図２に示す「ＢＵＴＴＯＮ  Ｇ、Ｌ、Ｍ」などは、該ボタン４０１に割り当てられた文字列が部分的に表示されている。この表示状態では、ユーザは、例えば、ボタンに表示された「ＢＵＴＴＯＮ  Ｇ」、「ＢＵＴＴＯＮ  Ｌ」および「ＢＵＴＴＯＮ  Ｍ」の文字列を読むことができないので、各ボタンの内容を判別することができない。
【００２２】
ここで、本発明の特徴として、スマートフォン１００は、「ＢＵＴＴＯＮ  Ｇ、Ｌ、Ｍ」などのように内容が欠けているボタン４０１の上で、ユーザのタップ操作を検出したとき、タップされた該ボタン４０１の図形全体が表示部１２に表示されるように、各ボタンが配置されたページデータ（表示対象データ）をスクロールさせる。
【００２３】
具体例として、図２において「ＢＵＴＴＯＮ  Ｌ」の文字列が割り当てられたボタン４０１上でタップ操作が検出されたとき、該ボタン４０１の全体が表示されるように、スマートフォン１００は、ユーザから見て左方向（図中黒矢印の方向）にページデータをスクロールさせる。
【００２４】
これにより、スマートフォン１００は、一部分のみが表示されていたボタン４０１の全体を表示部１２に表示することができる。このため、ユーザは該ボタン４０１の内容を確認した上で、該ボタン４０１を選択するか否かを判断することができる。これにより、スマートフォン１００は、ボタンの内容を判別することを容易にし、なおかつ、該ボタンをタッチ操作しやすい位置までスクロールさせることによって、ボタン選択操作を補助することができる。ここで、本発明のスマートフォン１００においては、このスクロールをスマートフォン１００に行わせるために、ユーザは関心があるボタンの一部を単にタップ操作するだけでよい。これは、関心があるボタンを所望の表示位置に持ってくるためにドラッグ操作しなければならない場合と比較して非常に容易な操作である。また、タッチパネルの広範囲に対して行うドラッグ操作では、ユーザが意図しないボタンを誤ってタッチしてしまう虞が多くあるが、本発明のスマートフォン１００においてはこのような誤操作に起因する誤動作を防止することができる。
【００２５】
なお、以下では、上述のスクロール機能、すなわち、一部分のみが表示されているボタンがタップされたときに、該ボタンの全体が表示部１２に表示されるように、ボタンの表示位置を微調整するためにページデータをスクロールさせる機能（処理）を「微調整スクロール機能（処理）」と称する。
【００２６】
また、この微調整スクロール機能がスマートフォン１００において有効に機能する状態を「微調整モードのオン（状態）」、一方、微調整スクロール機能が無効となり機能しない状態を「微調整モードのオフ（状態）」と表記する。また、以降、特に記載がない場合は、スマートフォン１００の状態は、微調整モードがオンであるものとして説明を行なうものとする。
【００２７】
〔スマートフォン１００のハードウェア構成〕
図１を参照して、スマートフォン１００の構成について説明する。図１は、本実施形態に係るスマートフォン１００の要部構成を示す機能ブロック図である。
【００２８】
スマートフォン１００は、図１に示すとおり、少なくとも、タッチパネル１、制御部２、および、記憶部３を備えている。さらに、スマートフォン１００は、スマートフォンとして本来備わっている機能を実現するために、例えば、図示しない、通信部、タッチパネルとは別の操作部（ボタン、スイッチなど）、近距離無線通信部、音声出力部、音声入力部、外部インターフェース、通話処理部、撮影を行う撮像部（レンズ・撮像素子など）、放送受像部（チューナ・復調部など）、ＧＰＳ、および、センサ（加速度センサ、傾きセンサなど）他、スマートフォンが標準的に備えている各種部品を備えていてもよい。
【００２９】
タッチパネル１は、情報を入出力するためのインターフェースである。タッチパネル１は、操作部１１と表示部１２とを一体に備えてなる。
【００３０】
操作部１１は、ユーザがスマートフォン１００を操作するための指示信号を入力するためのものである。操作部１１は、タッチ面とタッチセンサとで構成されている。タッチ面は、指示体（表示部１２の画面位置を指示するもの。ここでは、例えば、指またはペン等）の接触を受け付けるものである。タッチセンサは、指示体とタッチ面との間の接触／非接触（接近／非接近）、および、その接触（接近）位置を検知するためのタッチセンサとで構成されている。タッチセンサは、指示体とタッチ面との接触／非接触を検知できればどのようなセンサで実現されていてもよい。例えば、圧力センサ、静電容量センサ、光センサ等で実現されてもよい。
【００３１】
なお、操作部１１に対する入力操作としては、タップ、ドラッグ、フリック、ピンチイン、ピンチアウト等を例示することができる。
【００３２】
表示部１２は、スマートフォン１００が扱う情報を表示するものである。表示部１２には、各ボタン（文字列を含む）が配置されたページデータが部分的に表示される。その他、表示部１２には、ボタン以外のオブジェクト（ユーザがスマートフォン１００を操作するためのＧＵＩ部品）が表示されてもよいし、ページデータ以外の表示対象データ（スマートフォン１００に搭載されているアプリケーションのアプリケーションウィンドウ等）が表示されてもよい。表示部１２は、例えば、ＬＣＤ（液晶ディスプレイ）等の表示装置で実現される。
【００３３】
なお、タッチパネル１を投影型静電容量方式のタッチパネルで実現する場合、具体的には、上記タッチセンサは、ＩＴＯ（Indium Tin Oxide）等によるマトリクス状の透明電極パターンを、ガラス、プラスチック等の透明基板上に形成したものとなる。タッチセンサに指示体（ユーザの指またはペン等）が接触または接近すると、その付近の複数の透明電極パターンにおける静電容量が変化する。従って、制御部２は、上記透明電極パターンの電流または電圧の変化を検出することにより、上記指示体が接触または接近した位置を検出することができる。
【００３４】
以下の記載において、「タッチ操作」等の用語における「タッチ」または「接触」という用語は、指示体とタッチ面とが完全に接する（接している）状態のみならず、指示体とタッチ面とが、タッチセンサが検知可能な程度に接近する（接近している）状態も含んでいる。
【００３５】
記憶部３は、スマートフォン１００の制御部２が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）制御部２が、スマートフォン１００が有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶するものである。
【００３６】
例えば、上記の（１）〜（４）のデータは、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。
【００３７】
本実施形態では、記憶部３は、表示率閾値記憶部３１、モード設定記憶部３２、および、座標系記憶部３３を含む。各記憶部の詳細については後述する。
【００３８】
スマートフォン１００は、図示しない一時記憶部を備えていてもよい。一時記憶部は、スマートフォン１００が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、ＲＡＭ（Random Access Memory）などの揮発性記憶装置で構成される。
【００３９】
どのデータをどの記憶装置に記憶するのかについては、スマートフォン１００の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。
【００４０】
制御部２は、スマートフォン１００が備える各構成の機能を統括し、スマートフォン１００の起動を制御するものである。制御部２は、例えば、ＣＰＵ（central processing unit）などで実現され、スマートフォン１００が備える後述する機能ブロックは、制御部２としてのＣＰＵが、ＲＯＭ（read only memory）などに記憶されているプログラムを、ＲＡＭなどに読み出して実行することで実現される。
【００４１】
〔スマートフォン１００の機能〕
制御部２は、図１に示すとおり、機能ブロックとして、少なくとも、ボタン特定部２２、表示率判定部２４、および、スクロール調整部２６を備えている。さらに、制御部２は、必要に応じて、操作取得部２１、表示率閾値決定部２３、ボタン選択確定部２５、および、表示制御部２７を備えていてもよい。
【００４２】
また、記憶部３は、表示率閾値記憶部３１、モード設定記憶部３２、および、座標系記憶部３３を備えている。
【００４３】
操作取得部２１は、操作部１１を介して入力された指示信号を受け付け、タッチ位置を特定するものである。具体的には、受け付けた指示信号に基づいて、指示体の接触位置について表示部１２における座標の特定を行う。また、上記指示信号を時系列で受け付け、接触位置の軌跡の座標を時系列で特定することで、ユーザ操作の継続時間および接触位置の移動を検知し、取得したユーザ操作をタップ、ダブルタップ、ドラッグ、フリック、ピンチイン、または、ピンチアウト等として識別してもよい。操作取得部２１が特定した接触位置の座標情報は、ボタン特定部２２に通知される。
【００４４】
ボタン特定部２２は、ユーザのタッチ操作によって操作されたボタンを特定するものである。具体的には、ボタン特定部２２は、座標系記憶部３３から、ボタンが配置されたページデータと、表示部１２の表示範囲とがプロットされた座標系を読み出す。そして、操作取得部２１から取得した接触位置の座標情報に基づいて、接触位置を上記座標系にプロットする。これにより、ボタン特定部２２は、接触位置に重なるボタンを、上記ユーザのタッチ操作によって操作されたボタン４０１として特定することができる。特定されたボタン４０１の識別情報は、後述の表示率判定部２４に通知される。図示しない一時記憶部に記憶されてもよい。
【００４５】
なお、スマートフォン１００において、微調整モードがオフに設定されている場合は、ボタン特定部２２は、本発明の微調整機能を実行しないため、特定したボタン４０１の識別情報を、後述のボタン選択確定部２５に通知してもよい。
【００４６】
表示率判定部２４は、ボタンの表示率が充分か不足しているかを判定するものである。具体的には、表示率判定部２４は、ボタン特定部２２によって特定された、ユーザが操作したボタンについて、その表示率を求め、それが、予め定められた表示率閾値未満であるか以上であるかを判定する。
【００４７】
ここで、「表示率」とは、表示部１２上に少なくとも一部が表示されているボタン４０１について、該ボタン４０１の全体における、表示範囲に含まる該ボタンの割合を示す。例えば、図２に示すボタン４０１のうち、「ＢＵＴＴＯＮ  Ｈ」と示されたボタンは、その全部が表示部１２に表示されている。すなわち、ボタンの全部が表示範囲に含まれている。したがって、図２の「ＢＵＴＴＯＮ  Ｈ」の表示率は、１００％である。一方、「ＢＵＴＴＯＮ  Ｇ」と示されたボタンは、ボタンの図形の下半分だけが表示範囲に含まれている。したがって、図２の「ＢＵＴＴＯＮ  Ｇ」の表示率は、５０％である。
【００４８】
そして、「表示率閾値」とは、表示率判定部２４による、ボタン４０１の上記表示率が充分か不足しているのかを判断するために基準となる閾値である。
【００４９】
上述の例では、表示率閾値が「８０％」と予め定められている場合には、表示率判定部２４は、「ＢＵＴＴＯＮ  Ｈ」の表示率（１００％）は、充分であると判定し、「ＢＵＴＴＯＮ  Ｇ」の表示率（５０％）は、不足していると判定する。
【００５０】
なお、表示率判定部２４は、ボタン特定部２２が特定したボタン４０１の上記座標系における位置およびサイズと、表示範囲の位置およびサイズとに基づいて、上記表示率を算出することができる。表示率判定部２４による表示率算出処理については後述する。
【００５１】
表示率判定部２４は、ボタン４０１の表示率が表示率閾値未満である場合に、表示率が不足していると判定する。そして、ボタン４０１の視認性および操作性を高めるために、上記表示率を充分にするための処理を実行するようスクロール調整部２６に対し指示する。具体的には、スクロール調整部２６に対し、後述するスクロール調整処理の開始を指示する信号を出力する。
【００５２】
一方、ボタン４０１の表示率が表示率閾値以上であれば、表示率判定部２４は、表示率は充分であるため、視認性および操作性を高めるための微調整機能が不要であると判断する。本実施形態では、スマートフォン１００において、タップ操作がボタン４０１の表示位置を微調整するための指示でないと判断された場合には、当該タップ操作は、単に、ボタン４０１を選択するためのタッチ操作であったと考えられる。したがって、表示率判定部２４は、微調整（スクロール調整処理）が不要であると判断した場合には、後述のボタン選択確定部２５に対し、操作されたボタン４０１に対する選択を確定させるように指示する信号を出力する。
【００５３】
なお、微調整モードがオフに設定されている場合には、表示率判定部２４は、上述の一連の処理を省略することができる。微調整モードの設定状態は、モード設定記憶部３２から、現在の設定を読み出すことで確認される。
【００５４】
ボタン選択確定部２５は、タップ操作されたボタン４０１の選択を確定させるものである。具体的には、ボタン選択確定部２５は、表示率判定部２４からの指示信号に応じて、ボタン特定部２２が特定したボタン４０１の選択を確定させる。また、ボタン選択確定部２５は、該ボタン４０１に対応付けられた処理の開始を、対応するアプリケーションプログラムまたはオペレーティングシステムに指示する。すなわち、ここでは、ボタンの選択を確定させるとは、ユーザによってタッチ操作されたボタンがユーザによって選択されたことを認識し、選択されたボタンに対応付けられている処理を実行することを決定することを指す。
【００５５】
なお、微調整モードがオフに設定されている場合には、ボタン選択確定部２５は、表示率判定部２４の指示を受けずとも、ボタン特定部２２によって特定されたボタン４０１の選択を確定させることができる。
【００５６】
スクロール調整部２６は、表示率判定部２４からの指示信号に応じて、表示部１２に表示されるページデータのスクロールを制御するものである。換言すれば、スクロール調整部２６は、ボタン特定部２２が特定したボタン４０１の表示位置が適切な位置になるように表示位置を微調整するものである。適切な位置とは、ユーザがボタンの全体を表示部１２上で視認しやすい位置、または、ユーザがボタン操作を意図どおりに正確に行える位置などを指す。例えば、ボタン４０１全体が表示範囲内に含まれて表示率が１００％になるような表示位置を、ボタン４０１の適切な位置としてもよい。
【００５７】
具体的には、スクロール調整部２６は、上記座標系における、現在のボタン４０１の表示位置と、表示範囲の位置とに基づいて、ボタン４０１が適切な位置に移動するための、ページデータのスクロール方向とスクロール量（距離）とを決定する。そして、決定したスクロール方向およびスクロール量に基づいて、ページデータをスクロールさせる。スクロール調整部２６によるスクロールの調整処理の詳細については後述する。
【００５８】
表示制御部２７は、制御部２によって処理された各種情報を表示部１２において可視化するために、表示部１２に対し、当該各種情報（ページデータなど）の映像信号を出力するものである。
【００５９】
なお、表示率判定部２４によって参照される上述の表示率閾値は、表示率閾値記憶部３１において予め固定で記憶されていてもよいが、表示率閾値決定部２３によって決定されてもよい。表示率閾値決定部２３は、決定した表示率閾値を、表示率閾値記憶部３１に格納する。
【００６０】
表示率閾値決定部２３は、図９に示す設定画面に対するユーザ操作に従って、表示率閾値を決定してもよい。図９は、スマートフォン１００の表示部１２に表示される、微調整モードに係る設定画面の一具体例を示す図である。
【００６１】
スマートフォン１００の制御部２は、モード切替トグル８００に対するタッチ操作によって、微調整モードのオンとオフとを切り替えてもよい。例えば、ユーザによって、「有り」のモード切替トグル８００がタップされると、操作取得部２１がこれを検知し、制御部２の図示しないモード切替部が、モード設定記憶部３２に記憶されている微調整モードのフラグをオンに設定する。一方、「無し」のモード切替トグル８００がタップされると、上記モード切替部は、上記フラグをオフに設定する。なお、図９は、微調整モードがオンに設定されているときのモード切替トグル８００を示している。
【００６２】
図９に示す設定画面には、さらに、ユーザに所望の表示率閾値を入力させるための表示率閾値入力領域８０１が設けられている。ユーザは、表示率閾値入力領域８０１をタッチ操作して、所望の数字を入力する。数字を入力するためのＧＵＩ（graphical user interface）ツールは、従来の技術が適宜採用される。
【００６３】
表示率閾値入力領域８０１に対して、数字が入力されると、表示率閾値決定部２３は、操作取得部２１を介して入力された数字を取得し、この数字を新たな表示率閾値として表示率閾値記憶部３１に格納する。
【００６４】
上記構成によれば、スマートフォン１００の製造段階で、表示率閾値記憶部３１に、例えば「５０％」等のデフォルト値が事前に格納されている場合でも、ユーザが使用時に所望の表示率閾値に変更することができる。表示率閾値記憶部３１に記憶された表示率閾値は、表示率判定部２４による判定処理において読み出される。
【００６５】
〔スマートフォンが実行する処理の流れ〕
図３を参照して、スマートフォン１００における処理の流れについて説明する。図３は、スマートフォン１００における処理の全体の流れを示すフローチャートである。
【００６６】
操作部１１を介して入力された指示信号を受け付けて、操作取得部２１が、タッチ操作を検出すると（Ｓ１０１においてＹＥＳ）、操作取得部２１は、指示体の接触位置について表示部１２における座標の特定を行う。ここでは、タップ操作が行われたものとする。
【００６７】
次に、ボタン特定部２２は、特定された接触位置に基づいて、タップされたボタンを特定する（Ｓ１０２）。具体的には、ボタン特定部２２は、座標系記憶部３３に記憶されているページデータがプロットされた座標系に、操作取得部２１から取得した接触位置をプロットして、接触位置に配置されているボタンを、タップされたボタン４０１として特定する。
【００６８】
次に、表示率判定部２４は、表示率算出処理を実行する（Ｓ１０３）。表示率判定部２４は、ステップＳ１０２でボタン特定部２２が特定したボタン４０１と表示範囲との位置関係に基づき、該ボタン４０１の表示率を求める。本ステップにおける表示率算出処理の詳細については後述する。
【００６９】
次に、表示率判定部２４は、算出した表示率が表示率閾値以上か、未満かを判定する（Ｓ１０４）。
【００７０】
ボタン４０１の表示率が表示率閾値以上である場合（Ｓ１０４でＮＯ）、ボタン選択確定部２５は、Ｓ１０２で特定された、ユーザにタップされたボタン４０１の選択を確定させる（Ｓ１０５）。すなわち、ボタン４０１が表示部１２の表示範囲内に充分に表示されている場合には、ボタン選択確定部２５が、表示率判定部２４からの指示信号に応じて、ボタン４０１に対応付けられた処理の開始を、アプリケーションプログラムまたはオペレーティングシステムに指示する。
【００７１】
ボタン４０１の表示率が表示率閾値未満である場合（Ｓ１０４でＹＥＳ）、スクロール調整部２６は、スクロール調整処理を実行する（Ｓ１０６）。すなわち、表示率判定部２４によって、表示範囲内に含まれているボタン４０１の部分が不足していると判断されれば、スクロール調整部２６が、ボタン４０１の表示率を充分にするために、ボタン４０１の表示位置を微調整する。本ステップにおけるスクロール調整処理の詳細については後述する。
【００７２】
次に、表示制御部２７は、スクロール調整部２６がスクロールさせているページデータを表示部１２に表示する（Ｓ１０７）。
【００７３】
スマートフォン１００が、微調整スクロール機能に係る上述の各ステップを実行することにより、表示部１２の端で、充分に表示されていないボタン４０１を、ユーザにとって視認しやすくかつ操作しやすい表示位置に移動させることが可能となる。その上、この微調整スクロール処理は、タップ操作などのユーザの容易な操作をトリガにして実行される。したがって、上記方法によれば、ユーザの操作性を向上させることが可能になる。
【００７４】
以下では、微調整スクロール処理を実行するスマートフォン１００の構成および動作を、具体例を用いてより詳細に説明する。
【００７５】
〔座標系記憶部３３に記憶されているページデータ４００について〕
座標系記憶部３３には、表示部１２に表示される対象であるページデータ（表示対象データ）４００をプロットした座標系が記憶されている。図４は、座標系記憶部３３に記憶されている座標系の具体例を示す図である。
【００７６】
なお、ページデータ４００とは、表示部１２に表示される対象となる情報であり、本実施形態では、表示部１２の表示範囲４０２よりも大きいサイズを有するＷｅｂページ、メニュー画面、アイコンリスト等が想定されている。
【００７７】
本実施形態において、ページデータ４００には、タッチ操作が可能なオブジェクトである１または複数のボタン４０１が配置されている。以下では、図４に示す複数のボタン４０１のうち、特定のボタンを指すときは、ボタン４０１ａ、４０１ｂ、・・・と表記し、ページデータ４００に含まれているボタンの総称としてのボタン４０１と区別する。
【００７８】
図４に示すとおり、ページデータ４００には、複数のボタン４０１が、所定のレイアウトで配置される。さらに、ボタン４０１上には、各ボタン４０１の内容を表す文字列がボタンの図形に対して所定のレイアウトで配置される。文字列は、ユーザがそのボタンの機能を判別できるような内容であることが好ましい。
【００７９】
本実施形態では、座標系記憶部３３には、図４に示すとおり、ページデータ４００の最左上端を原点とするｘ軸およびｙ軸からなる座標系が定義されている。したがって、ページデータ４００に配置されている各ボタン４０１について、制御部２の各部は、上記座標系における座標値によって、ボタン４０１の図形の位置およびサイズ（幅および高さ）、並びに、文字列の位置およびサイズを特定することができる。
【００８０】
さらに、上記座標系には、表示部１２の表示範囲がプロットされる。表示部１２の表示範囲４０２は、図４では破線の矩形として示されている。ページデータ４００上を表示範囲４０２が移動することによって、ページデータ４００のスクロールが実現される。
【００８１】
表示範囲４０２の移動方向は、ユーザが知覚するページデータ４００のスクロール方向とは反対の関係にある。具体的には、図２において、ユーザからみて黒矢印で示す方向（左方向）にページデータ４００がスクロールするということは、図４において、黒矢印で示す方向（すなわち、右方向）に表示範囲４０２が移動することを意味する。
【００８２】
以下の記載において、スクロール方向を表現するときの「上下左右」は、ページデータ４００の、ユーザが知覚するスクロール方向を指す。すなわち、「ページデータ４００を、上下左右方向にスクロールさせる」ことは、そのスクロール方向とは逆の方向に、表示範囲４０２を移動させる処理を指す。
【００８３】
以上のとおり、図４において、ボタン４０１ａ、４０１ｂ、４０１ｃ、および４０１ｄは、表示範囲４０２内に全体が含まれておらず、一部が表示範囲４０２からはみ出す位置に配置されている。つまり、これらのボタンは、全部が表示されず、一部が欠けた状態で表示部１２に表示されている。このように表示部１２上で一部が欠けているボタンは、視認しにくく、操作しにくいという問題がある。表示率が低く、つまり、欠けている部分が多いほど、この問題は深刻である。
【００８４】
本発明のスマートフォン１００は、表示率判定部２４がタップされたボタンの表示率の不足を判定し、スクロール調整部２６がその判定結果に応じて表示率が不足するボタンの位置を微調整することによって上記問題を解決する。
【００８５】
〔表示率算出処理の流れ〕
図５および図６を参照して、表示率判定部２４が実行する表示率算出処理（図２のＳ１０３）の流れについて、より詳細に説明する。図５は、表示率判定部２４が実行する表示率算出処理の流れを示すフローチャートである。図６は、図４の座標系にプロットされているボタン４０１ａと、ボタン４０１ａ周辺の表示範囲４０２との位置関係を拡大して示す図である。
【００８６】
流れを説明する前に、本実施形態では、図６に例示するように、ボタン４０１ａの図形（矩形）の４つの頂点を、以下の通り呼称する。すなわち、左上の頂点を頂点Ａ、右上の頂点を頂点Ｂ、左下の頂点を頂点Ｃ、右下の頂点を頂点Ｄと定める。
【００８７】
また、図６に示すように、ボタン４０１ａの図形領域のうち、表示範囲４０２に含まれる領域（斜線領域）を、表示対象領域６０１と定める。さらに、表示対象領域６０１の４つの頂点、すなわち、左上の頂点、右上の頂点、左下の頂点、および右下の頂点を、それぞれ、頂点ａ、頂点ｂ、頂点ｃ、および頂点ｄと定める。
【００８８】
さらに、図４に示す座標系における、上述の各頂点の座標値を以下のように定める。ボタン４０１ａの頂点Ａの座標値を（ｘＡ，ｙＡ）、頂点Ｂの座標値を（ｘＢ，ｙＢ）、頂点Ｃの座標値を（ｘＣ，ｙＣ）、頂点Ｄの座標値を（ｘＤ，ｙＤ）とする。
【００８９】
各ボタン４０１の幅および高さの情報がページデータ４００に含まれている場合には、例えば、頂点Ｂ、頂点Ｃ、および頂点Ｄの座標値は、基準となる左上の頂点Ａの座標値に基づいて、ボタン４０１の幅および高さから特定することができる。
【００９０】
表示対象領域６０１の頂点ａの座標値を（ｘａ，ｙａ）、頂点ｂの座標値を（ｘｂ，ｙｂ）、頂点ｃの座標値を（ｘｃ，ｙｃ）、頂点ｄの座標値を（ｘｄ、ｙｄ）とする。
【００９１】
以上を踏まえ、図６を参照して、図５に示す表示率算出処理の流れを説明する。以下に示す例では、ボタンの形状が矩形である場合を想定している。
【００９２】
まず、表示率判定部２４は、ボタン４０１ａの各頂点が表示範囲４０２内にあるのか、表示範囲４０２外にあるのかに基づいて、ボタン４０１ａが全部表示されているのか、一部欠けて表示されているのかを判定する。具体的には、表示率判定部２４は、座標系記憶部３３に記憶されている座標系を参照し、ページデータ４００と表示範囲４０２との位置関係を確認する。そして、ボタン特定部２２によって特定されたボタン４０１ａの頂点Ａ、頂点Ｂ、頂点Ｃ、および、頂点Ｄが表示範囲４０２に含まれるか否かを判定する（Ｓ２０１〜Ｓ２０４）。なお、Ｓ２０１〜Ｓ２０４の各判定処理は、どの順序で実行されても構わない。
【００９３】
ボタン４０１ａのすべての頂点が表示範囲４０２内に含まれている場合（Ｓ２０１〜Ｓ２０４のすべてにおいてＹＥＳ）、表示率判定部２４は、ボタン４０１ａのすべてが表示部１２に表示されていると判断する。つまり、表示率判定部２４は、ボタン４０１ａの表示率を１００％と算出する（Ｓ２０５）。
【００９４】
なお、矩形のボタン４０１が矩形の表示範囲４０２に対して傾くことなく表示されることが前提であるケースでは、矩形のボタン４０１の４つの頂点のうち３つについて、表示範囲４０２に含まれるか否かを判定すれば、表示率が１００％か否かを判断することが可能である。そのため、ステップＳ２０１〜Ｓ２０４のうちの１つが省略されても構わない。
【００９５】
各頂点Ａ〜Ｄのいずれかが表示範囲４０２外にある場合（Ｓ２０１〜Ｓ２０４のいずれかにおいてＮＯ）、表示率判定部２４は、ボタン４０１ａの一部が欠けて表示されていると判断し、ボタン４０１ａの表示対象領域６０１を特定する（Ｓ２０６）。表示対象領域６０１は、ボタン４０１ａの図形の全領域のうち、表示範囲４０２と重なる領域を意味する。
【００９６】
次に、表示率判定部２４は、ボタン４０１ａの表示率を算出する（Ｓ２０７）。ここでは、表示率は１００％未満で算出される。具体的には、表示率判定部２４は、図６に示すとおり、ボタン４０１ａの図形の全領域に対する、表示対象領域６０１の比率を算出する。
【００９７】
続いて、表示率判定部２４は、ステップＳ２０５またはステップＳ２０７で算出した表示率を出力する（Ｓ２０８）。
【００９８】
スマートフォン１００は、上述の方法で得られた表示率に基づいて、既述のステップＳ１０４（図３）に移行し、処理を続ける。
【００９９】
〔スクロール調整処理の流れ〕
図７を参照して、スクロール調整部２６が実行するスクロール調整処理の流れについて説明する。図７は、スクロール調整部２６が実行する、ページデータ４００のスクロール調整処理の流れを示すフローチャートである。スクロール調整処理は、表示率算出処理の結果、操作されたボタンの表示率が充分でない場合に実行される。詳細には、スクロール調整処理は、図６に示すボタン４０１ａの４つの頂点Ａ、Ｂ、ＣおよびＤ、ならびに、表示対象領域６０１の４つの頂点ａ、ｂ、ｃおよびｄの各座標値に基づいて実行される。
【０１００】
スクロール調整部２６は、図６に示すとおり、ボタン４０１ａの座標値と、表示対象領域６０１の座標値との比較を行う。まず、ｘＡ＝ｘａが成立するか否かを判定する（Ｓ３０１）。つまり、ボタン４０１ａの頂点Ａおよび表示対象領域６０１の頂点ａのｘ座標が一致するか否かを判定する。
【０１０１】
ｘＡ＝ｘａが成立しない場合（Ｓ３０１においてＮＯ）、次に、スクロール調整部２６は、ｘ軸方向におけるスクロール方向を右方向と決定し、当該方向におけるスクロール量ｄｘを、ｘａ−ＸＡから算出する（Ｓ３０２）。
【０１０２】
左側の頂点のｘ座標が一致しないということは、ｘＡ＜ｘａとなり、ボタン４０１ａの一部が表示範囲４０２の左側にはみ出している状態であることを意味する。そのため、スクロール調整部２６は、ボタン４０１ａが表示範囲４０２内に収まるように、ページデータ４００を右方向にスクロールさせることを決定する。さらに、本実施形態では、はみ出している分を表示範囲４０２内に納めるために、ｘａとｘＡとの差分ｄｘをスクロール量として算出する。
【０１０３】
ＸＡ＝ｘａが成立する場合（Ｓ３０１においてＹＥＳ）、次に、スクロール調整部２６は、ＸＢ＝ｘｂが成立するか否かを判定する（Ｓ３０３）。つまり、左側の頂点Ａが表示範囲４０２内にあることが確認されたので、次は、右側の頂点Ｂについて、はみ出しの有無および量を確認する。
【０１０４】
ＸＢ＝ｘｂが成立しない場合（Ｓ３０３においてＮＯ）、次に、スクロール調整部２６は、ｘ軸方向におけるスクロール方向を左方向と決定し、当該方向におけるスクロール量ｄｘを、ｘＢ−ｘｂから算出する（Ｓ３０４）。
【０１０５】
右上の各頂点のｘ座標が一致しないということは、ｘｂ＜ｘＢとなり、ボタン４０１ａの一部が表示範囲４０２の右側にはみ出している状態であることを意味する。そのため、スクロール調整部２６は、ボタン４０１ａが表示範囲４０２内に収まるように、ページデータ４００を左方向にスクロールさせることを決定する。さらに、スクロール調整部２６は、ｘＢ−ｘｂから求まる差分ｄｘをスクロール量として算出する。なお、スクロール調整部２６は、ｘｂ−ｘＢの差分の絶対値をスクロール量として算出してもよい。
【０１０６】
ＸＢ＝ｘｂが成立する場合（Ｓ３０３においてＹＥＳ）、ｘ軸方向において、ボタン４０１ａの矩形は、表示範囲４０２からはみ出していないことを意味する。この場合、スクロール調整部２６は、ｘ軸方向におけるスクロールは不要であると判断する。
【０１０７】
こうして、ｘ軸方向におけるスクロール方向およびスクロール量を決定すると、次に、スクロール調整部２６は、ｙ軸方向のスクロール方向およびスクロール量を決定するためにステップＳ３０５へ移行する。なお、Ｓ３０１およびＳ３０２と、Ｓ３０３およびＳ３０４とが実行される順序は逆でもよい。また、ｘ軸方向における表示範囲４０２の左側のはみ出し有無および量を確認するために、スクロール調整部２６は、頂点Ａの代わりに頂点Ｃの位置を検証してもよい。また、ｘ軸方向における表示範囲４０２の右側のはみ出し有無および量を確認するために、スクロール調整部２６は、頂点Ｂの代わりに頂点Ｄの位置を検証してもよい。
【０１０８】
続いて、スクロール調整部２６は、ｙＡ＝ｙａが成立するか否かを判定する（Ｓ３０５）。つまり、ボタン４０１ａの頂点Ａおよび表示対象領域６０１の頂点ａのｙ座標が一致するか否かを判定する。
【０１０９】
ＹＡ＝ｙａが成立しない場合（Ｓ３０５においてＮＯ）、次に、スクロール調整部２６は、ｙ軸方向におけるスクロール方向を下方向と決定し、当該方向におけるスクロール量ｄｙを、ｙａ−ｙＡから算出する（Ｓ３０６）。
【０１１０】
上側の頂点のｙ座標が一致しないということは、ｙＡ＜ｙａとなり、ボタン４０１ａの一部が表示範囲４０２の上側にはみ出している状態であることを意味する。そのため、スクロール調整部２６は、ボタン４０１ａが表示範囲４０２内に収まるように、ページデータ４００を下方向にスクロールさせることを決定する。さらに、ｙａとｙＡとの差分ｄｙをスクロール量として算出する。
【０１１１】
ＹＡ＝ｙａが成立する場合（Ｓ３０５においてＹＥＳ）、次に、スクロール調整部２６は、ＹＣ＝ｙｃが成立するか否かを判定する（Ｓ３０７）。つまり、上側の頂点Ａが表示範囲４０２内にあることが確認されたので、次は、下側の頂点Ｃについて、はみ出しの有無および量を確認する。
【０１１２】
ＹＣ＝ｙｃが成立しない場合（Ｓ３０７においてＮＯ）、次に、スクロール調整部２６は、ｙ軸方向におけるスクロール方向を上方向と決定し、当該方向におけるスクロール量ｄｙを、ｙＣ−ｙｃから算出する（Ｓ３０８）。
【０１１３】
左下の各頂点のｙ座標が一致しないということは、ｙｃ＜ｙＣとなり、ボタン４０１ａの一部が表示範囲４０２の下側にはみ出している状態であることを意味する。そのため、スクロール調整部２６は、ボタン４０１ａが表示範囲４０２内に収まるように、ページデータ４００を上方向にスクロールさせることを決定する。さらに、ｙＣ−ｙｃから求まる差分ｄｙをスクロール量として算出する。ｙｃ−ｙＣの差分の絶対値をスクロール量として算出してもよい。
【０１１４】
ＹＣ＝ｙｃが成立する場合（Ｓ３０７においてＹＥＳ）、ｙ軸方向において、ボタン４０１ａの矩形は、表示範囲４０２からはみ出していないことを意味する。この場合、スクロール調整部２６は、ｙ軸方向におけるスクロールは不要であると判断する。
【０１１５】
こうして、ｘ軸方向およびｙ軸方向におけるスクロール方向およびスクロール量を決定すると、スクロール調整部２６は、ステップＳ３０９へ移行する。
【０１１６】
そして、スクロール調整部２６は、Ｓ３０２またはＳ３０４、および、Ｓ３０６またはＳ３０８の少なくともいずれか１つのステップで決定したスクロール方向およびスクロール量を出力する。
【０１１７】
以上の処理を経て、スクロール調整部２６によるスクロール調整処理が完了し、スマートフォン１００は上述したステップＳ１０７に移行する。
【０１１８】
上記方法によれば、はみ出しているボタン４０１ａが表示範囲４０２からはみ出している方向とその量とに基づいて、ボタン４０１ａを適切な位置に表示させるためのスクロール方向と、必要最小限のスクロール量とが算出される。スクロール調整部２６は、Ｓ３０９にて最終的に確定してスクロール方向とスクロール量とに基づいて、ページデータ４００をスクロールさせる。これにより、ボタン４０１ａは、表示部１２の適切な位置に表示される。すなわち、ボタン４０１ａの全体が表示部１２に表示されることになるので、ユーザは、ボタン４０１ａを視認しやすくなり、ボタン４０１ａに対してタッチ操作を行いやすくなる。
【０１１９】
〔スマートフォン１００における表示例〕
図８を参照して、スマートフォン１００が微調整モードを実行した場合に表示部１２に表示される画面の具体例について説明する。図４に示すボタン４０１ａ、４０１ｂ、４０１ｃ、および４０１ｄと、表示範囲４０２との位置関係が、微調整のスクロールが行われる前の状態を示している。一方、図８の（ａ）〜（ｃ）は、上記のいずれかのボタンがタップされて、微調整のスクロールが行われた後の状態を示している。
【０１２０】
ここで、表示率閾値記憶部３１に設定されている表示率閾値は５０％とし、図４におけるボタン４０１ａ、４０１ｂ、４０１ｃ、および４０１ｄの表示率は、それぞれ３０％、４０％、２５％、および６０％であるとする。したがって、上記の例では、表示率が不足するボタン４０１ａ、４０１ｂ、４０１ｃがタップされた場合に、スマートフォン１００において微調整のスクロール処理が実行される。
【０１２１】
図８の（ａ）に示す表示画面は、図４に示す位置関係にあるときにボタン４０１ａがタップされた場合に、ページデータ４００がスクロールされた後に表示されるものである。図４において上側がはみ出しているボタン４０１ａが表示範囲４０２内に収まるように、スクロール調整部２６が、ページデータ４００を下方向にスクロールする。その結果、ボタン４０１ａの全体が表示部１２に表示される。
【０１２２】
図８の（ｂ）に示す表示画面は、図４のボタン４０１ｂがタップされた場合に、ページデータ４００がスクロールされた後に表示されるものである。図４において右側がはみ出しているボタン４０１ｂが表示範囲４０２内に収まるように、スクロール調整部２６が、ページデータ４００を左方向にスクロールする。その結果、ボタン４０１ｂの全体が表示部１２に表示される。
【０１２３】
図８の（ｃ）に示す表示画面は、図４のボタン４０１ｃがタップされた場合に、ページデータ４００がスクロールされた後に表示されるものである。図４において右側および下側がはみ出しているボタン４０１ｃが表示範囲４０２内に収まるように、スクロール調整部２６が、ページデータ４００を左上方向にスクロールする。その結果、ボタン４０１ｃの全体が表示部１２に表示される。
【０１２４】
なお、ボタン４０１ｄがタッチされた場合、ボタン４０１ｄの表示率は６０％であり、表示率閾値５０％を超えている。ここでは、表示率判定部２４は、ボタン４０１ｄの表示率は充分であると判断する。そのため、微調整のスクロール処理は実行されず、ボタン選択確定部２５によってボタン４０１ｄの選択が確定される。
【０１２５】
以上のように、スマートフォン１００は、一部分のみが表示範囲４０２に含まれるボタン４０１ａ、４０１ｂ、および４０１ｃについて、これらに対するタップ操作を検出したとき、タップされたボタン４０１ａ、４０１ｂ、または、４０１ｃの全体が表示範囲４０２に含まれるように、ページデータ４００をスクロールさせる。すなわち、座標系にプロットされた表示範囲４０２をスクロール方向と反対の方向に移動させる。
【０１２６】
これにより、スマートフォン１００は、一部が欠けていたボタン４０１の全体を表示することができる。そのため、ボタン４０１の視認性および操作性が向上する。具体的には、ユーザは、該ボタン４０１の内容を確認した上で、該ボタン４０１を選択するか否かを判断することができる。また、意図するボタンを正確なタッチ操作によって指定することができる。
【０１２７】
結果として、スマートフォン１００は、ユーザによる正確なタッチ操作を補助することができる。また、上記のようにボタンの表示位置を微調整するためのスクロール処理については、ドラッグ操作を必要としない。そのため、ドラッグ操作がユーザにとって煩雑になることもないし、ユーザが意図しないボタンを誤ってタッチするなどの誤操作を防止することができる。
【０１２８】
さらに、スマートフォン１００は、表示率閾値記憶部３１において、表示率閾値を保持している。上記構成によれば、表示率判定部２４は、ボタン４０１ａ、４０１ｂ、および４０１ｃの表示率に基づいて、表示率が不足しているのか否かを判断することができる。
【０１２９】
そして、スクロール調整部２６は、表示率閾値以下である場合（表示率が不足している場合）に、微調整スクロール処理を実行する。このようにすれば、ユーザにとって内容が確認し難いボタン、操作し難いボタンがタップされた場合にのみ、微調整のスクロールが実行される。これにより、不必要に高頻度で微調整スクロールが実行されてかえって視認性が損なわれるといった不都合を排除することができる。また、スクロール処理に係る制御部２の負荷を軽減することができる。
【０１３０】
〔変形例：スクロール方向を示す矢印アイコン７００の表示〕
本実施形態の一変形例として、スマートフォン１００の表示制御部２７は、図１０の（ａ）に示すように、スクロール方向をユーザに示すための、矢印アイコン７００を表示させてもよい。
【０１３１】
図１０の（ａ）は、スクロール調整部２６がページデータ４００をスクロールしている最中に、表示制御部２７が表示する、スクロール方向を示す矢印アイコン７００の具体的な表示例を示す図である。より具体的には、図４に示す表示状態で、ボタン４０１ｂがタップされ、ボタン４０１ｂを全部表示させるために、スクロール調整部２６が左方向にページデータ４００をスクロールさせ始める。表示制御部２７は、スクロールが開始されると、図１０の（ａ）に示すとおり、そのスクロール方向を示す矢印アイコン７００をスクロール中のページデータ４００とともに表示する。
【０１３２】
図１０の（ｂ）は、上記スクロール処理が完了した後に表示部１２に表示される画面の具体例を示す図である。同図に示すとおり、表示制御部２７は、上記スクロールが完了すると、スクロール方向を示す矢印アイコン７００を非表示にする。ページデータ４００が静止した状態では、ユーザは、表示部１２に表示されている情報（ここでは、ボタン）に関心がある。そのため、表示されている内容の視認性を損なう虞があるため、スクロールされていないときは、矢印アイコン７００を非表示にすることが好ましい。
【０１３３】
本変形例の構成によれば、ユーザは、ページデータ４００がスクロールする方向を矢印アイコン７００によって通知される。そのため、ページデータ４００について急激に微量の変化が生じたとしても、その変化（微調整のスクロール）が起こる前後の各ボタン４０１の位置関係を容易に理解することができる。
【０１３４】
≪実施形態２≫
図１１を参照して、本発明の第２の実施形態について説明する。図１１は、本実施形態に係るスマートフォン２００の動作を説明する図である。
【０１３５】
スマートフォン２００は、一部分のみが表示されているボタン４０１ｂがタッチされたとき、該ボタン４０１ｂ上に表示されている文字列１１１ａの全体が表示部１２の画面内に含まれていなければ、文字列１１１ａの全体が表示範囲４０２に含まれるように、ページデータ４００をスクロールさせる。
【０１３６】
本実施形態のスマートフォン２００において、実施形態１のスマートフォン１００と異なる点は、表示率判定部２４が、ボタンの図形の面積ではなく、ボタンに付与されている文字列の表示されている文字数の割合に基づいて表示率を算出する点である。
【０１３７】
また、スクロール調整部２６が、ボタンに配置された文字列が表示範囲４０２に含まれるようにスクロール方向およびスクロール量を決定する点である。
【０１３８】
したがって、座標系記憶部３３に記憶されている座標系には、各ボタンの図形の配置位置がプロットされるだけでなく、そのボタンに割り当てられている文字列の配置位置もプロットされている。
【０１３９】
図１１の（ａ）は、ページデータ４００が微調整スクロールされる前の表示画面を示す図である。同図に示すとおり、各ボタンには文字列が割り当てられており、ボタンの図形（矩形）上に、文字列が配置されている。例えば、ボタン４０１ｂには、「ＢＵＴＴＯＮ  Ｌ」という文字列１１１ａが割り当てられ、ボタン４０１ｂの矩形の図形上に配置されている。ここで、ボタン４０１ｂは一部が欠けて表示されている。
【０１４０】
図１１の（ａ）に示す状態では、ユーザが視認することができるのは、文字列１１１ａのうち、「ＢＵ」の部分のみであり、これでは、ユーザはボタン４０１ｂが何のボタンかを認識することができない。
【０１４１】
このような状況において、操作取得部２１は、ボタン４０１ｂ上でのタップ操作を検出し、ボタン特定部２２が、操作されたボタンがボタン４０１ｂであると特定する。表示率判定部２４は、座標系記憶部３３に記憶されている座標系を参照し、ボタン４０１ｂの文字列「ＢＵＴＴＯＮ  Ｌ」のうち、表示範囲４０２に含まれているのは「ＢＵ」のみであると判断する。すなわち、全文字列８文字（本実施形態では、スペースも１文字と数えている）のうち、表示されているのは、２文字であるため、表示率を２５％と算出する。表示率判定部２４は、表示率閾値記憶部３１に記憶されている表示率閾値５０％と比較して、表示率が表示率閾値未満であることから、ボタン４０１ｂの表示率が不足していると判定する。
【０１４２】
スクロール調整部２６は、文字列１１１ａの全体（全８文字）が表示範囲４０２に含まれるように、ページデータ４００をスクロールさせる。具体的には、座標系にプロットされている全８文字の外接矩形の位置を取得し、この外接矩形が表示範囲４０２内に収まるようにスクロール方向とスクロール量とを決定する。表示範囲４０２との比較対象が、ボタンの図形ではなく、文字列の外接矩形であるという点を除いては、スクロール調整部２６が実行するスクロール調整処理の内容は、実施形態１と同様である。
【０１４３】
図１１の（ｂ）は、ページデータ４００が微調整スクロールされた後の表示画面を示す図である。同図に示すとおり、スクロール調整部２６は、ボタン４０１ｂの図形全体ではなく、図形に付与されている文字列１１１ａの全体が表示範囲４０２に含まれるように、ページデータ４００をスクロールさせている。これにより、ユーザは、ボタン４０１ｂの図形全体が表示されていなくても、文字列１１１ａ全体が表示されているため、このボタン４０１ｂが「ＢＵＴＴＯＮ  Ｌ」であることを視認することができる。
【０１４４】
なお、上述の説明では、表示率判定部２４は、表示率を、図形上に配置された文字の文字数に基づいて算出する例について述べたが、これに限定されない。表示率判定部２４は、文字列の外接矩形を設定し、当該外接矩形全体の面積における、当該外接矩形が表示範囲４０２と重なる面積の割合に基づいて表示率を算出してよい。
【０１４５】
上記の構成によれば、スマートフォン２００は、ボタンの文字列が適切な位置に表示されるように、ページデータ４００を微調整スクロールさせることができる。これにより、ユーザは、タップしたボタン４０１ｂ上に表示されている文字列１１１ａの全体を確認することができる。結果として、ボタン４０１ｂの内容を理解した上で、該ボタン４０１ｂを選択するか否かを判断することができる。また、少なくとも文字列１１１ａの全体が表示範囲４０２に含まれるようにスクロール量を決定するので、スクロール量を最小限に抑え、ユーザの視認性を大きく損なうことを防止することができる。
【０１４６】
〔まとめ〕
本発明の一態様に係る情報処理装置は、上記課題を解決するために、複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置であって、上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定手段と、上記オブジェクト特定手段によって特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定手段と、上記指定オブジェクトの上記表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御手段とを備えている。
【０１４７】
上記構成によれば、情報処理装置は、タッチパネルに複数のオブジェクトを表示する。これらの表示されたオブジェクトは、ユーザがタッチ操作可能なように表示される。ユーザがタッチパネルに表示されたオブジェクトに対してタッチ操作を行うと、オブジェクト特定手段は、上記タッチ操作によって指定されたオブジェクトを、指定オブジェクトとして、上記複数のオブジェクトの中から特定する。
【０１４８】
表示率判定手段は、タッチ操作された上記指定オブジェクトの表示率を判定する。具体的には、指定オブジェクトの全体のうち、タッチパネルに表示されている部分の割合を表示率として求め、これが、所定の表示率以上であるのか未満であるのかを判定する。指定オブジェクトの表示率が所定の表示率未満であるということは、指定オブジェクトはタッチパネルに、充分に表示されていないということを意味する。
【０１４９】
スクロール制御手段は、上記表示率判定手段によって得られた上記指定オブジェクトの表示率が所定の表示率に満たない場合には、表示対象データをスクロールさせる。表示対象データは、指定オブジェクトを含む上記複数のオブジェクトが配置された情報であり、これをスクロールさせることによって、上記複数のオブジェクトのタッチパネル上の表示位置を変更することができる。ここで、スクロール制御手段は、上記指定オブジェクトの表示率を上げるために、すなわち、指定オブジェクトのより多くの部分がタッチパネルに表示されるように、上記表示対象データをスクロールさせる。
【０１５０】
このように表示対象データがスクロールすることに伴って、配置されている指定オブジェクトのタッチパネル上の表示位置が変化する。具体的には、指定オブジェクトの表示率が、所定の表示率に到達して、タッチパネルからはみ出て表示されていなかった部分が表示されるようになる。
【０１５１】
これにより、ユーザは、指定オブジェクトをよりよく視認することができ、なおかつ、該指定オブジェクトに対して、よりタッチ操作を行いやすくなる。
【０１５２】
結果として、ユーザが関心を持っているオブジェクトについて、情報を不足なく、且つ、平易に操作可能なように提供することが可能になるという効果を奏する。
【０１５３】
その上、本発明の情報処理装置の上記構成によれば、ユーザが関心を持っている指定オブジェクトが充分に表示されていないとき（表示率が所定未満のとき）に、微調整のためのスクロール処理が実行される。表示率が充分でない場合とは、指定オブジェクトの表示位置が、ユーザにとって内容が確認し難い位置、または、操作し難い位置に表示されている場合を意味する。
【０１５４】
つまり、微調整のためのスクロール処理が実行されるケースを、上記のような場合に限定することによって、不必要に高頻度で微調整スクロールが実行され、かえって視認性が損なわれるといった不都合を排除することができる。
【０１５５】
本発明の一態様に係る情報処理装置において、上記複数のオブジェクトは、少なくとも、タッチ操作可能範囲を示す図形で構成されており、上記表示率判定手段は、上記指定オブジェクトの図形が上記表示範囲内にある面積の割合に基づいて、上記表示率を判定し、上記スクロール制御手段は、上記指定オブジェクトの図形が、少なくとも上記所定の表示率以上で表示されるように、上記表示対象データのスクロール方向およびスクロール量を決定してもよい。
【０１５６】
さらに、上記スクロール制御手段は、上記指定オブジェクトの図形の全部が上記表示範囲に含まれるように、上記表示対象データのスクロール方向およびスクロール量を決定することが好ましい。
【０１５７】
上記構成によれば、指定オブジェクトの図形が所定の表示率に到達し、タッチパネルからはみ出て表示されていなかった指定オブジェクトの図形が表示されるようになる。
【０１５８】
これにより、指定オブジェクトについてタッチ操作可能な範囲が増え、ユーザは、該指定オブジェクトに対して、よりタッチ操作を行いやすくなる。
【０１５９】
本発明の一態様に係る情報処理装置において、上記複数のオブジェクトは、図形と上記図形内に表示される文字列とで構成されており、上記表示率判定手段は、上記指定オブジェクトの文字列のうち、上記表示範囲内にある文字数の割合に基づいて、文字列の表示率を判定し、上記スクロール制御手段は、上記指定オブジェクトの文字列が、少なくとも上記所定の表示率以上で表示されるように、上記表示対象データのスクロール方向およびスクロール量を決定してもよい。
【０１６０】
さらに、上記スクロール制御手段は、上記指定オブジェクトの文字列の全部が上記表示範囲に含まれるように、上記表示対象データのスクロール方向およびスクロール量を決定することが好ましい。
【０１６１】
上記構成によれば、指定オブジェクトの図形内の文字列が所定の表示率に到達し、タッチパネルからはみ出て表示されていなかった文字列が表示されるようになる。
【０１６２】
これにより、指定オブジェクトについて視認できる文字列が増え、ユーザは、指定オブジェクトについて、その内容をよりよく確認することができる。
【０１６３】
本発明の一態様に係る情報処理装置は、さらに、上記スクロール制御手段によって上記表示対象データがスクロールされているとき、そのスクロール方向を示す矢印を上記タッチパネルに表示する表示制御手段を備えていてもよい。
【０１６４】
上記構成によれば、ユーザは、表示対象データが微調整のためにスクロールする方向を矢印によって確認することができる。そのため、表示対象データに微量の変化が生じたとしても、その変化（微調整のスクロール）が起こる前後の各オブジェクトの位置関係を容易に理解することができる。
【０１６５】
本発明の一態様に係る情報処理装置の制御方法は、複数のオブジェクトをタッチ操作可能にタッチパネルに表示する情報処理装置の制御方法であって、上記タッチパネルに対するユーザのタッチ操作によって指定された指定オブジェクトを上記複数のオブジェクトの中から特定するオブジェクト特定ステップと、上記オブジェクト特定ステップにて特定された指定オブジェクトが上記タッチパネルの表示範囲内にある割合を示す表示率を判定する表示率判定ステップと、上記表示率判定ステップにて得られた上記指定オブジェクトの上記表示率が所定の表示率に満たない場合に、上記指定オブジェクトが上記所定の表示率以上で表示されるように、上記複数のオブジェクトが配置された表示対象データをスクロールさせるスクロール制御ステップとを含む。
【０１６６】
なお、上記情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記情報処理装置をコンピュータにて実現させる情報処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１６７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１６８】
〔ソフトウェアによる実現例〕
最後に、スマートフォン１００および２００の各ブロック、特に、ボタン特定部２２、表示率判定部２４、および、スクロール調整部２６は、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０１６９】
後者の場合、スマートフォン１００および２００は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるスマートフォン１００または２００の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記スマートフォン１００または２００に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１７０】
上記記録媒体としては、一時的でない有形の媒体（non-transitory tangible medium）、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ（登録商標）／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０１７１】
また、スマートフォン１００または２００を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１７２】
本発明は、スマートフォン、携帯電話、ＰＤＡ、タブレットＰＣ、デジタルカメラ等、タッチ操作による選択が可能なオブジェクトを表示する機構を備えたあらゆる情報処理装置に好適に利用することができる。
【符号の説明】
【０１７３】
１  タッチパネル
２  制御部
３  記憶部
１１  操作部
１２  表示部
２１  操作取得部
２２  ボタン特定部（オブジェクト特定手段）
２３  表示率閾値決定部（閾値決定手段）
２４  表示率判定部（表示率判定手段）
２５  ボタン選択確定部（選択確定手段）
２６  スクロール調整部（スクロール制御手段）
２７  表示制御部（表示制御手段）
３１  表示率閾値記憶部
３２  モード設定記憶部
３３  座標系記憶部
１００  スマートフォン（情報処理装置）
２００  スマートフォン（情報処理装置）
【図１】
2014056400.tif 000003
【図２】
2014056400.tif 000004
【図３】
2014056400.tif 000005
【図４】
2014056400.tif 000006
【図５】
2014056400.tif 000007
【図６】
2014056400.tif 000008
【図７】
2014056400.tif 000009
【図８】
2014056400.tif 000010
【図９】
2014056400.tif 000011
【図１０】
2014056400.tif 000012
【図１１】
2014056400.tif 000013