(57)【特許請求の範囲】
【請求項１】
ディスプレイ装置と、
前記ディスプレイ装置に重ね合わせられ、利用者によるタッチ操作を検出可能なタッチセンサと、
情報処理装置の姿勢を検出する加速度センサと、
前記加速度センサにより検出される姿勢を表す姿勢情報を、所定のタイミングごとに、繰返し取得し、少なくとも最後に取得した姿勢情報を記憶する手段と、
前記タッチセンサが利用者によるタッチ操作を検出したときに、当該利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段と、
前記推定した領域を避けて、前記ディスプレイ装置上に情報を表示する表示手段と、
を有し、
前記利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段が、前記記憶している、最後に取得した姿勢情報と、前記タッチ操作がされた位置の情報とに基づいて、利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記表示手段は、利用者によるタッチ操作が終了した後、予め定めた時間だけ前記情報を表示し、
当該情報の表示中に、利用者から拡大縮小の指示を受け入れる手段をさらに含み、
前記表示手段は、拡大縮小の指示を受け入れると、前記表示している情報を当該指示に応じて拡大縮小して表示する。
【請求項３】
請求項１または２記載の情報処理装置であって、
前記表示手段は、利用者によるタッチ操作が終了した後、予め定めた時間だけ前記情報を表示し、
前記表示した情報に他の情報の取得元を表すリンクが含まれる場合に、当該情報の表示中に、利用者から当該リンクの表す取得元から他の情報を取得する指示を受け入れる手段と、
当該指示があった場合に、当該リンクの表す取得元から他の情報を取得して表示する手段と、
をさらに含む。
【請求項４】
ディスプレイ装置と、前記ディスプレイ装置に重ね合わせられ、利用者によるタッチ操作を検出可能なタッチセンサとに接続され、姿勢を検出する加速度センサを有するコンピュータを、
前記加速度センサにより検出される姿勢を表す姿勢情報を、所定のタイミングごとに、繰返し取得し、少なくとも最後に取得した姿勢情報を記憶する手段と、
前記タッチセンサが利用者によるタッチ操作を検出したときに、当該利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段であって、前記記憶している、最後に取得した姿勢情報と、前記タッチ操作がされた位置の情報とに基づいて、利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段と、
前記推定した領域を避けて、前記ディスプレイ装置上に情報を表示する表示手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートフォンやタブレットＰＣ等を含んだ情報処理装置、及びそれにおいて実行されるプログラムに関する。
【背景技術】
【０００２】
近年、タッチパネルを備えて、指先で操作するスマートフォンやタブレットＰＣ等の情報処理装置が広く普及している。こうした情報処理装置では、利用者が指先で操作をすることになるために、マウスやキーボードといった入力装置とは異なる操作上の特性がある。
【０００３】
例えば特許文献１には、大画面を備えた端末を両手で持ちながら操作する場合、指の届く範囲が限定されることを課題として認識し、親指の届きにくい範囲を避けて情報を表示するという技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２７１２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
またタッチパネルを利用した情報処理装置では、その画面の大きさに関わらず、操作の対象となるべきアイコン等の画像にタッチ操作（触れる操作や、触れ続ける操作）が行われる場合、画面の一部が利用者の手によって隠されてしまう。従って、そのような隠される範囲に情報が表示されると、利用者は一旦手を離すか、手の向きを不自然に変えて情報を見る必要が生じ、利便性が低い。
【０００６】
本発明は上記実情に鑑みて為されたもので、画面の一部が手で隠れるような操作を行う場合でも、利便性を維持できる情報処理装置及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００７】
上記従来例の問題点を解決するための本発明は、情報処理装置であって、ディスプレイ装置と、前記ディスプレイ装置に重ね合わせられ、利用者によるタッチ操作を検出可能なタッチセンサと、前記タッチセンサが利用者によるタッチ操作を検出したときに、当該利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段と、前記推定した領域を避けて、前記ディスプレイ装置上に情報を表示する表示手段と、を含むこととしたものである。これによると、画面の一部が手で隠れるような操作を行う場合でも、隠蔽されてしまうと推定される領域を避けて情報を表示できるので、利便性を維持できる。
【０００８】
またここで前記表示手段は、利用者によるタッチ操作が終了した後、予め定めた時間だけ前記情報を表示し、当該情報の表示中に、利用者から拡大縮小の指示を受け入れる手段をさらに含み、前記表示手段は、拡大縮小の指示を受け入れると、前記表示している情報を当該指示に応じて拡大縮小して表示することとしてもよい。これによると、表示されている情報としての文字が小さい場合などにも拡大縮小操作により適切な文字の大きさで情報を読取ることが可能となる。
【０００９】
さらに前記表示手段は、利用者によるタッチ操作が終了した後、予め定めた時間だけ前記情報を表示し、前記表示した情報に他の情報の取得元を表すリンクが含まれる場合に、当該情報の表示中に、利用者から当該リンクの表す取得元から他の情報を取得する指示を受け入れる手段と、当該指示があった場合に、当該リンクの表す取得元から他の情報を取得して表示する手段と、をさらに含んでもよい。これによると、表示されているリンクからの情報を簡易な操作で取得できることとなる。
【００１０】
さらに、本発明の一態様に係る情報処理装置は、情報処理装置の姿勢を検出する加速度センサと、前記加速度センサにより検出される姿勢を表す姿勢情報を、所定のタイミングごとに、繰返し取得し、少なくとも最後に取得した姿勢情報を記憶する手段と、を含み、前記利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段が、当該記憶している最後に取得した姿勢情報に基づいて、利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定してもよい。これによると、加速度センサによって、現在の姿勢が取得できない場合も、過去の姿勢に基づいて現在の姿勢を推定して処理を行うことができる。
【００１１】
また本発明の別の態様に係るプログラムは、ディスプレイ装置と、前記ディスプレイ装置に重ね合わせられ、利用者によるタッチ操作を検出可能なタッチセンサとに接続されたコンピュータを、前記タッチセンサが利用者によるタッチ操作を検出したときに、当該利用者の体の一部によって隠蔽される前記ディスプレイ装置上の領域を推定する手段と、前記推定した領域を避けて、前記ディスプレイ装置上に情報を表示する表示手段と、として機能させることとしたものである。
【発明の効果】
【００１２】
本発明によると、画面の一部が手で隠れるような操作を行う場合でも、隠蔽されてしまうと推定される領域を避けて情報を表示できるので、利便性を維持できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置において仮想的に採用できる座標系の例を表す説明図である。
【図３】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図４】本発明の実施の形態に係る情報処理装置での表示を避けるべき位置を決定する処理の例を表すフローチャート図である。
【図５】本発明の実施の形態に係る情報処理装置の持ち方の例を表す説明図である。
【図６】本発明の実施の形態に係る情報処理装置における情報の表示位置の例を表す説明図である。
【図７】本発明の実施の形態に係る情報処理装置の動作例を表す説明図である。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置１は、図１に例示するように、制御部１１、記憶部１２、操作部１３、表示部１４、通信部１５、及び加速度センサ１６を含んで構成される。ここで操作部１３は、利用者からの操作を受け入れる際に、ディスプレイ装置としての表示部１４が利用者の手や腕など、その身体の一部で隠蔽される可能性のある操作デバイスであり、具体的には表示部１４に重ね合わせて配される、透明なタッチセンサを備えたタッチパネル等である。この操作部１３は、利用者から受け入れた操作の内容（タッチ操作が行われた位置等の情報）を制御部１１に出力する。
【００１５】
制御部１１は、ＣＰＵ等のプログラム制御デバイスである。この制御部１１は、記憶部１２に格納されたプログラムに従って動作する。本実施の形態では、この制御部１１は、操作部１３が利用者によるタッチ操作を検出したときに、当該利用者の体の一部によって隠蔽される表示部１４上の領域を推定する。そして制御部１１は、当該推定した領域を避けて、表示部１４上に情報を表示する処理を実行する。この制御部１１による処理の詳しい内容については、後に述べる。
【００１６】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、例えばＤＶＤ−ＲＯＭ等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部１２に格納されたものであってもよい。また、このプログラムは、インターネット等の通信手段を介して配信され、この記憶部１２に格納されたものであっても構わない。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１７】
表示部１４は、液晶ディスプレイ等のディスプレイ装置であり、制御部１１から入力される指示に従って画像を表示する。通信部１５は、例えば無線ＬＡＮ通信装置であり、ネットワーク等の通信手段を介して受信した情報を制御部１１に出力する。またこの通信部１５は制御部１１から入力される指示に従い、ネットワーク等の通信手段を介して、指示された情報を送出する。なお、この通信部１５は携帯電話回線を介してデータ通信や音声通信を行う携帯電話通信デバイスを含んでもよい。
【００１８】
加速度センサ１６は、Ｘ軸，Ｙ軸，Ｚ軸の互いに直交する３軸方向への加速度を検出するデバイスであり、ピエゾ抵抗型、静電容量型等、広く知られたもので構わない。なお、Ｘ，Ｙ，Ｚの各軸は、情報処理装置１のどの向きでも構わないが、一例としては図２に示すように、略矩形の表示部１４の短辺に沿った軸をＸ軸、長手方向をＹ軸、表示部１４に対する法線の向きをＺ軸とする。この加速度センサ１６は、自身に加わるＸ，Ｙ，Ｚ方向の各加速度（情報処理装置１自体が移動するときに生じる加速度や、重力加速度等）を検出し、各方向の加速度を表す情報（加速度の大きさに比例した電圧信号等）を出力している。
【００１９】
次に制御部１１による動作について説明する。本実施の形態のある例では、この制御部１１が情報処理装置１上で動作するアプリケーションプログラムが共通して利用するＡＰＩ（Application Program Interface）の処理を行う。本実施の形態の制御部１１は、メッセージを表示するためのＡＰＩの処理を行う、このＡＰＩの処理では、矩形状の図形画像（フレーム）を表示し、このフレーム内にメッセージとなる文字列を表示する処理が行われる。
【００２０】
この処理を行う制御部１１は、機能的には、図３に例示するように、メッセージ受入部２１と、フレームサイズ演算部２２と、フレーム表示位置演算部２３と、フレーム表示制御部２４と、を含んで構成される。
【００２１】
メッセージ受入部２１は、アプリケーションプログラムから表示の対象となるメッセージの文字列を受け入れてフレームサイズ演算部２２と、フレーム表示制御部２４とに出力する。フレームサイズ演算部２２は、メッセージ受入部２１が受け入れた文字列を取囲むに十分な、フレームのサイズを演算する。一例としてこのフレームサイズ演算部２２は、入力された文字列を予め定められたフォントで、予め定めた文字数ずつ行方向に配したときに、当該配列された文字列を取囲む外接矩形のサイズ（幅ｗ×高さｈ）を演算する。そしてフレームサイズ演算部２２は、このサイズに、予め定められたオフセット値（幅方向にΔｗ、高さ方向にΔｈ）をそれぞれ加算して、フレームサイズを、幅Ｗ＝ｗ＋２×Δｗ、高さＨ＝ｈ＋２×Δｈとする。ここでオフセット値を２倍しているのは、幅方向、配列した文字列の左側にΔｗ，右側にΔｗをそれぞれスペースとしてとるためであり、高さ方向についても同様に、文字列の上側にΔｈ、下側にΔｈのスペースをおくためである。
【００２２】
フレーム表示位置演算部２３は、フレームサイズ演算部２２で演算されたサイズのフレームを、画面のどの位置に表示するかを決定する。具体的にこのフレーム表示位置演算部２３は、利用者の指が触れている画面上の位置（タッチ位置）と、加速度センサ１６の出力信号によって判断される情報処理装置１の向きとに基づいて、フレームを表示すべきでない領域を決定し、この領域を避けて表示位置を決定する。
【００２３】
本実施の形態の一例では、このフレーム表示位置演算部２３は次の図４に例示するように動作する。フレーム表示位置演算部２３は、まず利用者の指が操作部１３のタッチセンサに触れているか否かを調べる（Ｓ１）。そしてタッチセンサに触れていれば（Ｓ１でYesならば）、フレーム表示位置演算部２３は、利用者の指が触れている位置（タッチ位置）を表す情報を取得する（Ｓ２）。
【００２４】
この情報は、触れた位置に対応する表示部１４上のピクセルのＸ，Ｙ座標系の座標値として得られる。一例として図２に示したように、表示部１４の短辺方向にＸ軸をとり、長手方向にＹ軸をとる。そして表示部１４の予め定めた頂点の一つを原点Ｏとして、原点ＯからＸ軸方向にｘ0ピクセル、Ｙ軸方向にｙ0ピクセルだけ離れた点にあるピクセルの座標値を（ｘ0，ｙ0）と表すこととする。
【００２５】
フレーム表示位置演算部２３は、利用者の指が触れている位置に対応する表示部１４のピクセルの座標値（ｘ0，ｙ0）をタッチ位置の情報として処理Ｓ２で得ることになる。そしてフレーム表示位置演算部２３は、情報処理装置１が利用者によってどの方向から見られているかを表す姿勢情報を取得する（Ｓ３）。本実施の形態では、姿勢情報は加速度センサ１６の出力から得る。この加速度センサ１６は、Ｘ，Ｙ，Ｚ軸の各方向への加速度の値（ａx，ａy，ａz）を出力しているものとする。なお、姿勢情報は、重力加速度の方向が検出できるものであれば、加速度センサだけでなく他の種類のセンサであっても構わない。他の種類のセンサを用いる場合、加速度センサ１６は、必ずしも必要なものではない。
【００２６】
ここで利用者が、図５（ａ），（ｂ）に例示するように、表示部１４の長手方向を上下方向にして情報処理装置１を保持する場合、つまり縦持ち（ポートレイト・モード）の場合は、重力加速度が加速度センサ１６のＹ軸方向の出力に主に影響するので、｜ａx｜＜｜ａy｜（ここで｜＊｜は＊の絶対値を演算することを意味する。以下同じ）となる。また利用者が、図５（ｃ），（ｄ）のように表示部１４の長手方向を左右方向にして情報処理装置１を保持する場合、つまり横持ち（ランドスケープ・モード）の場合は、重力加速度が加速度センサ１６のＸ軸方向の出力に主に影響するので、｜ａy｜＜｜ａx｜となる。
【００２７】
そこでフレーム表示位置演算部２３は、｜ａx｜と｜ａy｜とを比較して、利用者が情報処理装置１を縦持ちにしているか横持ちにしているかを判断する（Ｓ４）。フレーム表示位置演算部２３は、利用者が情報処理装置１を縦持ちにしていると判断すると、図５（ａ）または図５（ｂ）に例示するように、表示部１４において、処理Ｓ２にて取得したタッチ位置（ｘ0，ｙ0）よりも重力加速度の方向（Ｙ軸、ａyの符号の向きの方向）かつ、重力加速度の方向に対して向って右側（Ｘ軸、ａyの符号の向きの方向）の範囲を忌避領域として設定する（Ｓ５）。
【００２８】
例えば利用者が図５（ａ）に例示するように、重力加速度の方向ＧとＹ軸正の向きとが一致するように情報処理端末１を保持している場合（ａy＞０の場合）、表示部１４のサイズが幅Ｕ、高さＶ（図５（ａ）での表示部１４の右下座標が（ｕ，ｖ））であるとすると、フレーム表示位置演算部２３は、左上座標をタッチ位置（ｘ0，ｙ0）、右下座標を（ｕ，ｖ）とする矩形領域を忌避領域とする。
【００２９】
また利用者が図５（ｂ）に例示するように、重力加速度の方向ＧとＹ軸正の向きとが反するように情報処理端末１を保持している場合（ａy＜０の場合）、フレーム表示位置演算部２３は、左上座標をタッチ位置（ｘ0，ｙ0）、右下座標を表示部１４の原点（０，０）とする矩形領域を忌避領域とする。
【００３０】
フレーム表示位置演算部２３は、設定された忌避領域以外の範囲で、フレームサイズ演算部２２で演算されたサイズのフレームを表示する位置を決定し（Ｓ６）、当該決定した位置の情報を出力して処理を終了する。この処理Ｓ６における決定方法は種々あるので、後に述べる。
【００３１】
また処理Ｓ４において、利用者が情報処理装置１を横持ちにしているとフレーム表示位置演算部２３が判断すると、図５（ｄ）に例示するように、表示部１４において、処理Ｓ２にて取得したタッチ位置（ｘ，ｙ）よりも重力加速度の方向（Ｘ軸、ａxの符号の向きの方向）かつ、重力加速度の方向に対して向って右側（Ｙ軸、ａxの符号の向きの方向）の範囲を忌避領域として設定する（Ｓ７）。そしてフレーム表示位置演算部２３は処理Ｓ６に移行して処理を続ける。
【００３２】
例えば利用者が図５（ｃ）に例示するように、重力加速度の方向ＧとＸ軸正の向きとが一致するように情報処理端末１を保持している場合（ａx＞０の場合）、表示部１４のサイズが幅Ｕ、高さＶ（図５（ａ）での表示部１４の右下座標が（ｕ，ｖ））であるとすると、フレーム表示位置演算部２３は、左上座標をタッチ位置（ｘ0，ｙ0）、右下座標を（ｕ，０）とする矩形領域を忌避領域とする。
【００３３】
また利用者が図５（ｄ）に例示するように、重力加速度の方向ＧとＸ軸正の向きとが反するように情報処理端末１を保持している場合（ａx＜０の場合）、フレーム表示位置演算部２３は、左上座標をタッチ位置（ｘ0，ｙ0）、右下座標を（０，ｖ）とする矩形領域を忌避領域とする。
【００３４】
なお、処理Ｓ１において、利用者の指が操作部１３のタッチセンサに触れていないと判断したときには、（Ｓ１でNoならば）、フレーム表示位置演算部２３は、従来一般的に行われている方法と同様の方法でフレームの表示位置を決定し（Ｓ８）、当該決定した位置の情報を出力して処理を終了する。本実施の形態のある例では、この処理Ｓ８では、例えば表示部１４のサイズを幅Ｕ、高さＶとして、サイズ幅Ｗ、高さＨのフレームの表示位置を、左上座標（ｘ1，ｙ1）＝（Ｕ／２−Ｗ／２，Ｖ／２−Ｈ／２）と、右下座標（ｘ2，ｙ2）＝（Ｕ／２＋Ｗ／２，Ｖ／２＋Ｈ／２）とで表される矩形上の領域に決定する。なお、この例は画面中央部にフレームを表示する例であり、この他にも種々の例があり得る。
【００３５】
また、本実施の形態のある例では処理Ｓ８においてフレームの表示処理を中断する処理を行ってもよい。この場合は、利用者が指を離してしまうと、メッセージは表示されないこととなる。
【００３６】
フレーム表示制御部２４は、フレーム表示位置演算部２３が決定した表示位置にフレームを描画し、その内部にメッセージとなる文字列を描画する。またこのフレーム表示制御部２４は、利用者の指が操作部１３のタッチセンサに触れているか否かを繰返し調べ、利用者の指が操作部１３のタッチセンサから離れたならば、フレーム及びメッセージの表示を終了する。
【００３７】
このように本実施の形態の一例では、このフレーム表示位置演算部２３が、利用者がタッチ操作をしたときに、当該利用者の体の一部によって隠蔽される表示部１４上の領域を忌避領域として推定し、当該忌避領域を避けて情報の表示位置を決定する。そしてフレーム表示制御部２４が、当該推定した忌避領域を避けて決定された位置にフレームを描画し、当該フレーム内に情報を表示する。
【００３８】
ここでフレーム表示位置演算部２３における処理Ｓ６でのフレームを表示する位置を決定する方法例について説明する。以下では、図５（ａ）から（ｄ）の各場合について分けて説明する。図５（ａ）の持ち方では、表示部１４の左上隅の座標は（０，０）、右下隅の座標は（ｕ，ｖ）となる。また、図５（ｂ）の持ち方では表示部１４の左上隅の座標は（ｕ，ｖ）、右下隅の座標は（０，０）であり、図５（ｃ）の持ち方では表示部１４の左上隅の座標は（０，ｖ）、右下隅の座標は（ｕ，０）であり、図５（ｄ）の持ち方では表示部１４の左上隅の座標は（ｕ，０）、右下隅の座標は（０，ｖ）である。従って、忌避領域をタッチ位置の右下側とする場合、その左上座標と右下座標とはそれぞれの持ち方において、
図５（ａ）の持ち方：左上隅：（ｘ0，ｙ0）、右下隅：（ｕ，ｖ）、
図５（ｂ）の持ち方：左上隅：（ｘ0，ｙ0）、右下隅：（０，０）
図５（ｃ）の持ち方：左上隅：（ｘ0，ｙ0）、右下隅：（ｕ，０）
図５（ｄ）の持ち方：左上隅：（ｘ0，ｙ0）、右下隅：（０，ｖ）
となる。
【００３９】
フレーム表示位置演算部２３は、決定されたフレームのサイズ（幅Ｗ，高さＨ）を参照して、この幅Ｗのフレームが、忌避領域の左側に表示可能であるか否かを調べる。これは各持ち方における表示部１４の左上隅座標の横軸側（図５（ａ），（ｂ）においてＸ軸、図５（ｃ），（ｄ）の場合でＹ軸）の値と、タッチ位置の横軸側（図５（ａ），（ｂ）においてＸ軸、図５（ｃ），（ｄ）の場合でＹ軸）の値との差ξが幅Ｗを超えているか否かにより判断できる。
【００４０】
つまり、
図５（ａ）の持ち方の場合：ξ＝ｘ0、
図５（ｂ）の持ち方の場合：ξ＝（ｕ−ｘ0）、
図５（ｃ）の持ち方の場合：ξ＝（ｖ−ｙ0）、
図５（ｄ）の持ち方の場合：ξ＝ｙ0
として、W≦ξであるか否かを調べる。
【００４１】
ここでＷ≦ξであり、幅Ｗのフレームが、忌避領域の左側に表示可能であるならば、フレーム表示位置演算部２３は、タッチ位置を左上座標、保持している状態での表示部１４の右下隅の座標を右下座標とする範囲（図６（ａ）にてハッチングを施した範囲）内にフレームの表示位置を決定する。
【００４２】
具体的に、幅Ｗのフレームが、忌避領域の左側に表示可能であるならば、フレーム表示位置演算部２３は、フレームの表示位置の左上隅座標を（ξ／２−Ｗ／２，η／２−Ｈ／２）とし、フレームの表示位置の右下座標を（ξ／２＋Ｗ／２，η／２＋Ｈ／２）とする。ここでηは表示部１４の左上隅座標の縦軸側（図５（ａ），（ｂ）においてＹ軸、図５（ｃ），（ｄ）の場合でＸ軸）の値と、表示部１４の右下座標の縦軸側の値との差の絶対値である。つまり、
図５（ａ），（ｂ）の持ち方の場合：η＝ｖ、
図５（ｃ），（ｄ）の持ち方の場合：η＝ｕ
となる。
【００４３】
これによると、図６（ｂ）に例示するように図６（ａ）にてハッチングした範囲の中央部に（図中のｐ，ｑがそれぞれ同じ値となるように）フレームＦが表示されることとなる。
【００４４】
またフレーム表示位置演算部２３は、幅Ｗのフレームが忌避領域の左側に表示可能でない場合、つまりＷ＞ξであるならば、フレーム表示位置演算部２３は、タッチ位置より上方の範囲（図６（ｃ）にてハッチングを施した範囲）内にフレームの表示位置を決定する。
【００４５】
具体的に、幅Ｗのフレームが忌避領域の左側に表示可能でなければ、フレーム表示位置演算部２３は、次の範囲内にフレームの表示位置を定める
図５（ａ）の持ち方：左上隅：（０，０）、右下隅：（ｕ，ｙ0）、
図５（ｂ）の持ち方：左上隅：（ｕ，ｖ）、右下隅：（０，ｙ0）
図５（ｃ）の持ち方：左上隅：（０，ｖ）、右下隅：（ｘ0，０）
図５（ｄ）の持ち方：左上隅：（ｕ，０）、右下隅：（ｘ0，ｖ）。
【００４６】
具体的にフレーム表示位置演算部２３は、この場合、フレームの表示位置を、忌避領域外の中央部、すなわち
図５（ａ）の持ち方では、左上隅：（ｕ／２−Ｗ／２，ｙ0／２−Ｈ／２）、右下隅：（ｕ／２＋Ｗ／２，ｙ0／２＋Ｈ／２）、
図５（ｂ）の持ち方では、左上隅：（ｕ／２＋Ｗ／２，（ｖ＋ｙ0）／２＋Ｈ／２）、右下隅：（ｕ／２−Ｗ／２，（ｖ＋ｙ0）／２−Ｈ／２）
図５（ｃ）の持ち方では、左上隅：（ｘ0／２−Ｈ／２，ｖ／２＋Ｗ／２）、右下隅：（ｘ0／２＋Ｈ／２，ｖ／２−Ｗ／２）
図５（ｄ）の持ち方では、左上隅：（（ｕ−ｘ0）／２＋Ｈ／２，ｖ／２−Ｗ／２）、右下隅：（（ｕ−ｘ0）／２−Ｈ／２，ｖ／２＋Ｗ／２）
の範囲とする。
【００４７】
なお、ここではフレームＦは矩形としたが、単純な矩形ではなく、角を丸めた角丸の矩形または楕円等としてもよい。この場合は当該角丸の矩形等に外接する矩形の左上隅、右下隅の座標を上述のように定めることになる。また、フレームにはタッチ位置（ｘ0，ｙ0）に向かって頂点の伸びた三角形を合わせて描画し、ふきだしのような図形としても構わない。
【００４８】
本実施の形態の情報処理装置１は以上の構成を備え、次のように動作する。例えば表示部１４に表示されたアイコン等を長押しする操作をすると、当該アイコン等に関する情報を表示する場合を想定する。この場合、利用者は、アイコン等に関する情報を参照したい場合は、当該情報を見たいと希望するアイコンを長押しする（タッチし続ける）操作を行う。このタッチ位置は（ｘ0，ｙ0）であるとする。
【００４９】
この場合、表示部１４上に予め複数の仮想的な領域を画定しておく。そして記憶部１２には、各領域を特定する情報に対して、当該領域内に表示されているアイコン等について表示するべきメッセージを関連付けたデータベースを保持しておく。制御部１１は、利用者が長押ししたことを検出して、当該長押しされているタッチ位置の情報を参照し、参照した情報で表されるタッチ位置が、上記データベースに保持された情報で特定される領域のいずれかに含まれているか否かを判断する。
【００５０】
制御部１１は、ここで、タッチ位置が、上記データベースに保持された情報で特定される領域のいずれかに含まれていると判断すると、当該領域を特定する情報に関連付けられたメッセージを読み出して、このメッセージを表示するよう、ＡＰＩに対して指示する。
【００５１】
制御部１１は、ここでＡＰＩとしての処理を開始し、表示の対象となるメッセージの文字列を受け入れて、当該受け入れた文字列を予め定められたフォントで、予め定めた文字数ずつ行方向に配したときに、当該配列された文字列を取囲む外接矩形のサイズ（幅ｗ×高さｈ）を演算する。そして制御部１１は、このサイズに、予め定められたオフセット値（幅方向にΔｗ、高さ方向にΔｈ）をそれぞれ加算して、フレームサイズを、幅Ｗ＝ｗ＋２×Δｗ、高さＨ＝ｈ＋２×Δｈとする。
【００５２】
また制御部１１は、利用者の指が操作部１３のタッチセンサに触れているか否かを調べる。ここでは利用者が触れ続けていることとしているので、利用者の指が触れている位置に対応するピクセルのＸ，Ｙ座標系での位置（ｘ0，ｙ0）を検出する。一方制御部１１は、加速度センサ１６の出力（ａx，ａy，ａz）を得て、これから｜ａx｜と｜ａy｜とを比較して、利用者が情報処理装置１を縦持ちにしているか横持ちにしているかを判断する。
【００５３】
ここでは利用者が図５（ａ）に例示するように、重力加速度の方向ＧとＹ軸正の向きとが一致するように情報処理端末１を保持しているとすると、｜ａy｜＞｜ａx｜、かつａy＞０となる。制御部１１は、この向きにおいて表示部１４上、点（ｘ0，ｙ0）より右下側の矩形状の領域を忌避領域とする。つまり、その左上隅は（ｘ0，ｙ0）、右下隅は（ｕ，ｖ）となる。
【００５４】
制御部１１は、決定されたフレームのサイズ（幅Ｗ，高さＨ）を参照して、この幅Ｗのフレームが、忌避領域の左側（タッチ操作がされた座標に対して忌避領域を設ける側と反対の側、ここでは左側なので以下では左側とするが、タッチ操作がされた座標に対して忌避領域を左下に設ける場合は右側となる）に表示可能であるか否かを調べる。利用者が図５（ａ）に例示するように、重力加速度の方向ＧとＹ軸正の向きとが一致するように情報処理端末１を保持しているときには、制御部１１は、W≦ｘ0であるか否かを調べることとなる。ここでＷ＞ｘ0であったとすると、制御部１１は、忌避領域の左側にはフレームを表示することができないとして、忌避領域の上方にフレームを表示することとする。すなわち、制御部１１は、左上隅：（ｕ／２−Ｗ／２，ｙ0／２−Ｈ／２）、右下隅：（ｕ／２＋Ｗ／２，ｙ0／２＋Ｈ／２）とする矩形状領域をフレームの表示位置とする。そして制御部１１は、こうして決定した表示位置にフレームを描画し、その内部にメッセージとなる文字列を描画する。
【００５５】
一方、利用者が図５（ｄ）に例示するように、重力加速度の方向ＧとＸ軸正の向きとが反対となるように情報処理端末１を保持しているときには、｜ａx｜＞｜ａy｜、かつａx＜０となる。制御部１１は、この向きにおいて表示部１４上、点（ｘ0，ｙ0）より右下隅側の矩形状の領域を忌避領域とする。つまり、その左上隅の座標は（ｘ0，ｙ0）、右下隅の座標は（０，ｖ）となる。
【００５６】
そして制御部１１は、決定されたフレームのサイズ（幅Ｗ，高さＨ）を参照して、この幅Ｗのフレームが、忌避領域の左側に表示可能であるか否かを調べる。この例の場合は、制御部１１は、W≦ｙ0であるか否かを調べることとなる。ここでＷ≦ｙ0であったとすると、制御部１１は、忌避領域の左側にフレームを表示することができるものと判断し、忌避領域の左側にフレームを表示することとする。すなわち、制御部１１は、フレームの表示位置の左上隅座標を（ｕ／２＋Ｈ／２，ｙ0／２−Ｗ／２）、右下隅座標を（ｕ／２−Ｈ／２，ｙ0／２＋Ｗ／２）とする。そして制御部１１は、こうして決定した表示位置にフレームを描画し、その内部にメッセージとなる文字列を描画する。
【００５７】
なお、ここでは忌避領域左側にフレームを表示可能な場合は、忌避領域左側にフレームを表示するように制御していたが、表示の制御はこれに限られず、忌避領域左側にフレームが表示可能か否かに関わらず、忌避領域上方にフレームを表示することとしてもよい。
【００５８】
さらにここでは忌避領域上方にフレームが表示可能な領域が必ずあるものとしていたが、利用者が表示部１４の比較的上方にタッチしている場合等、忌避領域上方など、忌避領域を避けてフレームを表示できない場合もある。
【００５９】
このような場合、制御部１１は、表示するメッセージの文字列のフォントサイズを予め定めたサイズだけデクリメントして、フレームのサイズを決定する処理を繰返し行ってもよい。これによると、フレームが表示可能となるまで、メッセージの文字列が小さくなっていく。
【００６０】
また忌避領域を避けてフレームを表示できない場合、制御部１１は次のように処理を行ってもよい。すなわち制御部１１は、処理Ｓ８におけるのと同様の方法でフレームの表示位置を決定し、当該決定した位置にフレームを描画して、当該フレーム内にメッセージとなる文字列を描画することとしてもよい。このとき制御部１１のフレーム表示制御部２４は、さらに利用者が操作部１３から指を離した後、つまり利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続し、当該予め定めた時間の経過後、フレーム及びメッセージの表示を終了する。
【００６１】
ここで制御部１１は、利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続している間は、利用者から拡大縮小の指示を受け入れて、フレーム表示制御部２４の処理として、表示している情報としてのフレーム及びメッセージを当該受け入れた指示に応じて拡大縮小して表示することとしてもよい。この拡大縮小の指示については二本指で操作部１３に触れ、その後２本指の間隔を増大させていくことで拡大指示とし、また２本指の間隔を狭めることで縮小指示とする、いわゆるピンチイン、ピンチアウトの操作であってもよい。また、フレーム内に予め定められた範囲（例えば四隅のそれぞれから予め定められたピクセル数の範囲）に触れたまま指を移動させる操作（いわゆるフリック操作に類似の操作）を受け入れたときに、当該指の触れた位置近傍にある頂点の座標を指の動きに従って変化させることで、拡大縮小の指示を受け入れることとしてもよい。この指示を受けたときの拡大縮小の処理については、幅Ｗ×高さＨの範囲内で表示されている画像をそのまま（フレームのみならずメッセージの文字列の画像も含めて）拡大・縮小して表示する処理とすればよい。
【００６２】
また忌避領域が比較的大きく、フレーム全体を表示可能な領域がない場合、制御部１１は、また次のような処理を行ってもよい。すなわち制御部１１は、フレーム全体が表示できない場合は、その一部を表示し、または、表示できないフレームがあることを表すメッセージの表示を行ってもよい。このような表示の例を図７（ａ）に示す。
【００６３】
制御部１１は、この図７（ａ）に例示するような、フレーム全体を表示可能な領域がない場合にする表示を行ったときには、利用者によるタッチ操作が終了した後であっても、少なくとも予め定めた時間は、フレームやメッセージとの表示を継続する（図７（ｂ））。この表示が継続している間に、利用者が別の場所をタップ（操作部１３のいずれかの箇所に触れて離す操作）するか、当該表示されているフレームを２度続けてタップする（ダブルタップ）などといった予め定めた操作を行うと、制御部１１はフレーム表示位置演算部２３としての処理を改めて行ってもよい。この処理では利用者の指は既に離れているので、フレームは先に決定された忌避領域に関わらず表示される（図７（ｃ））。一例としてこの場合のフレームは表示部１４の中央部に表示される。
【００６４】
また本実施の形態の別の例では、図７（ｂ）のように表示が継続している間に、利用者がダブルタップ等の予め定めた操作を行ったときに、制御部１１は、フレームに外接する矩形の下辺を延長した、仮想の横向きの軸（図５（ａ），（ｂ）の持ち方においてはＸ軸、図５（ｃ），（ｄ）の持ち方の場合でＹ軸）に対称にフレームの座標を折返して、改めてフレームを表示してもよい（図７（ｄ））。また別の例では、制御部１１は、フレームをダブルタップした位置を中心として１８０度回転した座標へ移動して表示してもよい（これも図７（ｄ）と略同じ結果となる）。
【００６５】
さらに本実施の形態の別の例では、図７（ｂ）のように表示が継続している間に、利用者が予め定めた操作を行った後にフレームの表示位置を指定したときに、制御部１１が、当該指定された表示位置の情報を受け入れて、当該情報に基づいてフレームの表示位置を変更してもよい。この操作は例えば表示されているフレームやメッセージを長押しした後、表示位置を指定するためのタップ操作を行うこととすればよい。
【００６６】
制御部１１は、受け入れた表示位置を指定する情報（タップ操作がされた座標等）に基づいて、フレームの表示位置を例えば次のように変更する。すなわち制御部１１は、受け入れた表示位置の情報を（ｘ，ｙ）とし、表示の対象とするフレームの外接矩形が幅Ｗ、高さＨであるとするとき、次のようにして当該フレームの表示位置を演算する。
【００６７】
制御部１１は、指定された表示位置の座標のうち、利用者が情報処理装置１を、図５（ａ），（ｂ）の持ち方にしている場合はＹ軸の座標値（ｙ）、図５（ｃ），（ｄ）の持ち方にしている場合はＸ軸の座標値（ｘ）を取出してこれをξとする。また制御部１１は、表示部１４の右下隅の座標のうち、利用者が情報処理装置１を、図５（ａ），（ｂ）の持ち方にしている場合はＹ軸の座標値、図５（ｃ），（ｄ）の持ち方にしている場合はＸ軸の座標値を取出してこれをηとする。つまり、表示部１４のサイズがｕ×ｖであれば、図５（ａ）の持ち方ではη＝ｖ、図５（ｂ）の持ち方ではη＝０、図５（ｃ）の持ち方ではη＝ｕ、図５（ｄ）の持ち方ではη＝０となる。
【００６８】
次に制御部１１は、｜ξ−η｜を演算して、これがＨ／２より大きくないか（高さ方向の中心をξとしたときに表示部１４からフレームがはみ出ないか）を調べる。ここで｜ξ−η｜≦Ｈ／２ならば、制御部１１は、ξ＝η−Ｈ／２とする。また｜ξ−η｜＞Ｈ／２であれば制御部１１はξをそのままとする。
【００６９】
制御部１１はそして利用者の情報処理装置１の持ち方が、図５（ａ）の持ち方であれば、フレームの表示位置を、左上隅：（ｕ／２−Ｗ／２，ｙ−Ｈ／２）、右下隅：（ｕ／２＋Ｗ／２，ｙ＋Ｈ／２）とする。また持ち方が図５（ｂ）の持ち方であれば、フレームの表示位置を、左上隅：（ｕ／２＋Ｗ／２，ｙ＋Ｈ／２）、右下隅：（ｕ／２−Ｗ／２，ｙ−Ｈ／２）とする。
【００７０】
さらに制御部１１は利用者の情報処理装置１の持ち方が、図５（ｃ）の持ち方であれば、フレームの表示位置を、左上隅：（ｘ−Ｈ／２，ｖ／２＋Ｗ／２）、右下隅：（ｘ＋Ｈ／２，ｖ／２−Ｗ／２）とする。また持ち方が図５（ｄ）の持ち方であれば、フレームの表示位置を、左上隅：（ｘ＋Ｈ／２，ｖ／２−Ｗ／２）、右下隅：（ｘ−Ｈ／２，ｖ／２＋Ｗ／２）とする。
【００７１】
制御部１１は、こうして演算したフレームの表示位置にフレームを描画し、またそのフレームの内に、表示の対象として指定された文字列を描画する。
【００７２】
さらに以上の説明においては、忌避領域はタッチ操作された座標の右下側としていたが、本実施の形態はこれに限られない。例えば右手で情報処理装置１を把持して左手の指で操作を行うことが多い利用者にとっては、忌避領域はタッチ操作された座標の左下側とすることが好ましい。この場合も、図５（ａ）から（ｄ）の各場合のそれぞれに対応して、既に述べた例のように忌避領域を定めることができる。
【００７３】
またここまでの説明では、忌避領域を除く範囲でフレームが表示できず、忌避領域に重なる範囲にフレームが表示された場合に、制御部１１のフレーム表示制御部２４が、つまり利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続し、当該予め定めた時間の経過後、フレーム及びメッセージの表示を終了することとしていた。しかしながら、利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続し、当該予め定めた時間の経過後、フレーム及びメッセージの表示を終了するという処理は、忌避領域を避けてフレームが表示できない場合だけでなく、忌避領域を避けてフレームを表示できた場合にも行ってもよい。
【００７４】
いずれの場合でも、このように利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続する場合は、制御部１１は、既に述べた拡大縮小の操作等を受け入れて、この操作に応じてフレーム及びその内部の文字列の画像を拡大縮小してもよい。
【００７５】
さらに制御部１１がフレーム内に表示する文字列には、インターネット等の通信回線を介して取得可能な情報の取得元を表す参照情報（例えばＵＲＬ：Uniform Resource Locator）等のリンクを含んでもよい。この場合、利用者によるタッチ操作が終了した後、予め定めた時間だけフレームとメッセージとの表示を継続しているならば、当該表示を継続している間、当該フレーム内でリンクに相当する文字列部分がタップされたか否かを制御部１１が繰返し判断してもよい。
【００７６】
そしてフレーム内でリンクに相当する文字列部分がタップされたならば、制御部１１は例えばウェブブラウザのアプリケーションを起動し、当該リンクを開く処理を実行させる。これにより、当該リンクの表す取得元から、メッセージとなる文字列とは異なる他の情報を取得して表示することとなる。
【００７７】
なお制御部１１は、フレーム内がタップされたときに、当該フレーム内に複数のリンクがある場合は、リンクのみを取出した一覧を表示し、利用者に選択させてもよい。
【００７８】
さらに制御部１１は、情報処理装置１がテーブル等の平面上に置かれて操作される場合があり得ることに鑑み、加速度センサ１６により検出される情報処理装置１の姿勢を表す姿勢情報を、制御部１１が所定のタイミング（例えば一定の時間ごとに定期的に）繰返し取得する。そして制御部１１は、少なくとも最後に取得した姿勢情報（図５（ａ）から（ｄ）のどの向きで持たれていたかを表す情報）を記憶部１２に格納しておく。制御部１１は、フレーム表示位置演算部２３として動作する際には、記憶部１２に格納されている姿勢情報を用いて、図５（ａ）から（ｄ）のどの向きで利用者が見ているか（各場合の重力加速度方向に利用者の視点があるとする）を判断し、フレームの表示位置を決定する処理等を実行してもよい。
【符号の説明】
【００７９】
１  情報処理装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  通信部、１６  加速度センサ、２１  メッセージ受入部、２２  フレームサイズ演算部、２３  フレーム表示位置演算部、２４  フレーム表示制御部。
【図１】
0005880024.tif 000002
【図２】
0005880024.tif 000003
【図３】
0005880024.tif 000004
【図４】
0005880024.tif 000005
【図５】
0005880024.tif 000006
【図６】
0005880024.tif 000007
【図７】
0005880024.tif 000008