以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る表示装置100の構成例を示す。表示装置100は、タッチパネル上の縁部をユーザが操作することで、操作ボタン等のコントロールまたはコンポーネントを選択および確定させる。表示装置100は、携帯電話装置、携帯情報端末装置、またはタッチパネルを有する電子機器装置等に組み込まれてよく、この場合、ユーザの操作に応じた処理を当該装置に実行させる。表示装置100は、タッチパネル110と、記憶部120と、抽出部130と、表示制御部140と、入力制御部150と、処理部160とを備える。
タッチパネル110は、表示面112を有し、表示面112に画面を表示するとともに、表示面112内におけるユーザの操作点を入力する。タッチパネル110は、例えば、液晶パネル等の表示部と、タッチセンサ等のタッチ位置検出部とを有し、ユーザがタッチした表示部上の位置を検出する。タッチパネル110は、ユーザが表示部に手指等を近接させる動作、表示部を触れる動作、表示部を予め定められた時間以上触れる動作、表示部を触れたまま滑らせる動作、および/または表示部に触れていた手指等を離間させる動作を検出する。
表示面112は、コントロール116、文字、画像、および/または動画等を含むコンテンツを表示する。表示面112は、表示するコンテンツの画面サイズに応じて、拡大または縮小表示させてよい。これに代えて、表示面112は、コンテンツの一部または全体を表示してよく、この場合、スクロールバーまたは拡大および縮小表示を指示できるスライダーと共にコンテンツを表示してよい。表示面112は、四角形であってよく、これに変えて、楕円形、円形、長円形、または多角形等であってよい。
ここで、表示面112は、ユーザの操作を入力させるコントロール116として、例えば、押しボタン等の動作をするボタン、複数の選択肢のうち一つを選択させるラジオボタン、複数の選択肢のうち一以上を選択できるチェックボックス、つまみ等を直線移動させる動作をするスライダー、数値入力の補助をするスピンボタン、スクロールバー、リストボックス、ドロップダウンリスト、メニュー、ツールバー、アイコン、およびテキストボックス等のグラフィカルユーザインターフェースの部品を表示する。図中の表示面112は、コントロール116a〜116fを6個の押しボタンとして表示する例を示す。表示面112は、縁部114を含む。
縁部114は、表示面112の上下左右の少なくとも1つの縁部の領域において、予め定められた幅で設けられるタッチ位置検出部である。縁部114は、表示面112の周囲数ドット分に対応するタッチ位置検出部でよい。縁部114は、ユーザがタッチパネル110上で実際に操作する補助操作領域である。
図中において、縁部114は、四角形の表示面112に有する四辺の全ての縁とする例を示したが、これに代えて、縁部114は、表示面112の有する1つ以上の辺の縁であってよい。また、縁部114は、辺の縁の一部であってもよい。縁部114は、ユーザがタッチパネル110上で操作する補助ボタン118が表示される。
以上のタッチパネル110に対して、例えば、ユーザは手指を縁部114の補助ボタン118が表示された領域に接触することで、表示面112上のコントロール116を操作する。図中の縁部114に、ユーザの入力が検出された操作点の例として、操作点210を示す。
記憶部120は、表示面112に表示すべきコンテンツ、および表示装置100が実行するプログラム等を記憶する。記憶部120は、表示装置100がインターネット等のネットワーク上から取得したコンテンツ等を記憶してよい。
抽出部130は、表示面112に表示すべきコンテンツからユーザのタッチ操作を受け取るコントロール116を抽出する。図中の例において、抽出部130は、表示面112に表示すべきコンテンツからコントロール116a〜116fの種類、ラベル、大きさ、および/または位置等の情報を抽出する。抽出部130は、抽出した情報を表示制御部140に送信する。
表示制御部140は、抽出部130が抽出したコントロール116への入力を指示するための補助ボタン118を、コンテンツと共に表示面112に表示させる。ここで、表示制御部140は、補助ボタン118を表示面112の縁部114に表示する。図中の例において、表示制御部140は、抽出部130が抽出したコントロール116a〜116fの情報に応じて、補助ボタン118a〜118fを当該コンテンツと共に表示面112に表示する。
ここで、表示制御部140は、表示面112内において複数のコントロール116のそれぞれの表示位置から予め定められた距離以上に離間された位置に補助ボタン118を配置する。また、タッチパネル110は、表示面112の縁部114にコントロール116が配置された場合、ユーザからの当該コントロール116への入力を無効にしてよい。
これに代えて、抽出部130は、表示面112の縁部114に配置されたコントロール116は抽出しなくてよい。これらによって、タッチパネル110は、ユーザが補助ボタン118へのタッチ入力が、コントロール116へのタッチ入力として誤入力されることを防ぐことができる。
表示制御部140は、コントロール116に1対1に対応する補助ボタン118を表示面112に表示する。ここで、表示制御部140は、補助ボタン118a〜118fを、対応するコントロール116a〜116fとの対応付けを明らかにして表示してよい。例えば、表示制御部140は、コントロール116にラベルが付され、かつ、表示面112に当該ラベルと共に表示されている場合、当該ラベルと共に対応する補助ボタンを表示する。これに代えて、表示制御部140は、補助ボタン118を、対応するコントロール116が表示面112に表示される色と略同一の色で表示してよい。
入力制御部150は、ユーザが補助ボタン118を操作したことに応じて、対応するコントロール116への入力を指示する。入力制御部150は、タッチパネル110からユーザが補助ボタン118を操作した情報を受け取る。入力制御部150は、対応するコントロール116の情報を処理部160に送信する。図中の例において、入力制御部150は、ユーザが操作点210タッチ入力して補助ボタン118dを操作したことに応じて、対応するコントロール116dの情報を処理部160に送信してコントロール116dの入力を指示する。
処理部160は、入力制御部150が送信したコントロール116の情報を受信して、表示面112に表示されたコンテンツの当該コントロール116の実行をユーザが入力したとして処理する。図中の例において、処理部160は、入力制御部150から受信したコントロール116dの情報に応じて、コントロール116dの実行を処理する。ここで、表示装置100が電子機器装置等に組み込まれている場合、処理部160は、コントロール116の実行を当該装置に指示してよい。
また、処理部160は、予め定められたプログラムを実行して、プログラムに応じたコンテンツを表示面112に表示する。ここで、処理部160は、予め定められたプログラムの実行またはユーザの指定によって、インターネット等のネットワーク上のコンテンツを表示面112に表示してよい。処理部160は、表示制御部140に表示すべき情報を送信して、表示面112にコンテンツを表示してよい。
図2は、本実施形態に係る表示装置100の動作フローを示す。表示装置100は、表示面112に表示するコンテンツにコントロール116が含まれている場合に、ユーザからの入力を待つ縁部操作モードを開始する(S200)。これに代えて、表示装置100は、ユーザがタッチパネル110をタッチする、表示装置100を移動させて加速度を与える、または表示装置100を傾ける等の動作を検出することで、縁部操作モードを開始してよい。この場合、表示装置100は、ユーザの動作入力を検出する検出部を更に備えてよい。
次に、表示制御部140は、表示面112に補助ボタン118を配置する(S210)。なお、補助ボタン118の配置の動作フローについては、図3で詳細を説明する。次に、入力制御部150は、ユーザの補助ボタン118操作に応じて、対応するコントロール116の情報を処理部160に送信する(S220)。なお、補助ボタン118の操作の動作フローについては、図4で詳細を説明する。
表示装置100は、入力制御部150がコントロール116の情報を処理部160に送信してから縁部操作モードを終了させる(S230)。ここで、表示面112が表示するコントロール116が複数のユーザ入力を待つ場合、表示装置100は、縁部操作モードを開始してよい。
図3は、本実施形態に係る表示装置100の補助ボタン118配置の動作フローを示す。抽出部130は、表示面112に表示すべきコンテンツからコントロール116を抽出する(S300)。抽出部130は、表示面112内に表示されるコンテンツからコントロール116を抽出してよく、これに代えて表示面112に表示されない部分も含めてコントロール116を抽出してよい。
抽出部130は、例えば、表示装置100が実行しているプログラムを解析して、コンテンツのソースコードからコントロール116を抽出する。これに代えて、抽出部130は、コンテンツの画像情報からコントロール116を抽出する。この場合、抽出部130は、コンテンツとして表示すべき画像情報の全てのドットをそれぞれクリック操作した場合に、コンテンツに生じる変化を解析して画像情報内のコントロール116を抽出してよい。
これに代えて、抽出部130は、コンテンツを表示するアプリケーションからコントロール116の情報を受け取る。抽出部130は、アプリケーションから直接コントロール116の情報を受け取ってよい。この場合、アプリケーションは、抽出部130にコントロール116の情報を送信するように予めプログラミングされる。
次に、表示制御部140は、補助ボタン118を作成する(S310)。表示制御部140は、コントロール116に1対1に対応する補助ボタン118を、予め定められた大きさ等で作成してよい。例えば、表示制御部140は、補助ボタン118を矩形とし、文字列またはアイコン等で表示されるラベルを有する。
次に、表示制御部140は、表示面112の縁部114に補助ボタン118を配置する補助操作領域を確保する(S320)。ここで、補助操作領域は、予め定められた領域であってよい。補助操作領域は、表示面112の縁部114と同一の領域であってよい。
次に、表示制御部140は、確保した補助操作領域に全ての補助ボタン118が配置できるか否かを確認する(S330)。例えば、表示制御部140は、補助操作領域の面積と補助ボタン118の面積とを比較して、全ての補助ボタン118が配置できるか否かを確認する。表示制御部140は、全ての補助ボタン118が配置できる場合、補助ボタン118を表示面112に配置して表示させる(S340)。
表示制御部140は、補助ボタン118を対応するコントロール116と近接するように配置してよい。これに代えて、表示面112にコントロール116が並んでいる順に、対応する補助ボタン118を配置してよい。例えば、表示制御部140は、表示面112の上から行方向または列方向にコントロール116が並んでいる順に、対応する補助ボタン118を配置する。これに代えて、表示制御部140は、コントロール116に文字列のラベルが表示されている場合に、当該文字列の五十音順またはアルファベット順に、対応する補助ボタン118を配置してよい。
表示制御部140は、全ての補助ボタン118が配置できない場合、表示面112に表示する補助ボタン118を選択する(S350)。表示制御部140は、表示面112にコントロール116が並んでいる順に、対応する補助ボタン118を選択してよい。これに代えて、表示制御部140は、コントロール116に文字列のラベルが表示されている場合に、当該文字列の五十音順またはアルファベット順に、対応する補助ボタン118を選択してよい。
これに代えて、表示制御部140は、それぞれのコントロール116が操作された回数を記録し、操作された回数が多い順に対応する補助ボタン118を選択してよい。この場合、表示制御部140は、コントロール116が操作される毎に補助ボタン118の選択を更新してもよい。
次に、表示制御部140は、スクロールボタンを作成する(S360)。表示制御部140は、全ての補助ボタン118が配置できない縁部114にスクロールボタンを作成する。次に、表示制御部140は、補助ボタン118およびスクロールボタンを表示面112に配置して表示させる(S370)。
一例として、表示装置100は、表示面112の左右の2つの縁部114が補助操作領域であり、1つの縁部114に2つの補助ボタン118が表示できる場合を説明する。表示制御部140は、図1のようにコンテンツが6個のコントロール116a〜116fを含む抽出結果に応じて、2つの縁部114には全ての補助ボタン118が表示できないと判断する。
そこで表示制御部140は、左の縁部114に左の列のコントロール116a〜116cを、右の縁部114に右の列のコントロール116d〜116fを表示するべく、左の縁部114にコントロール116aおよび116bに対応する補助ボタン118aおよび118bを選択する。また、右の縁部114にコントロール116dおよび116eに対応する補助ボタン118dおよび118eを選択する。
そして、表示制御部140は、左の縁部114に補助ボタン118a、118b、およびスクロールボタンを配置して表示させる。また、表示制御部140は、右の縁部114に補助ボタン118d、118e、およびスクロールボタンを配置して表示させる。このように、表示制御部140は、補助ボタン118の配置を完了する。
図4は、本実施形態に係る表示装置100の補助ボタン118操作の動作フローを示す。タッチパネル110は、ユーザの補助ボタン118のタッチ入力を検出する(S400)。タッチパネル110は、タッチ入力を検出した場合、ユーザがタッチ入力した補助ボタン118の情報を入力制御部150に送信する。
入力制御部150は、ユーザがスクロールボタンをタッチしたか否かを判別する(S410)。即ち、入力制御部150は、タッチパネル110から受け取った補助ボタン118の情報から、ユーザがタッチ入力した補助ボタン118がスクロールボタンであるか否かを判別する。ここで、入力制御部150は、補助ボタン118の種類を表示制御部140から予め受け取って記憶してよい。
入力制御部150は、ユーザがタッチ入力した補助ボタン118がスクロールボタンの場合、当該補助ボタン118が表示されている表示面112の縁部114をスクロールさせる指示を処理部160に送信する。処理部160は、表示制御部140を介して、表示面112の当該縁部114の補助ボタン118を再描画させる(S420)。表示装置100は、ステップS400に戻って、タッチパネル110にユーザの補助ボタン118のタッチ入力を検出させる。
入力制御部150は、ユーザがタッチ入力した補助ボタン118がスクロールボタンではない場合、当該補助ボタン118および対応するコントロール116を選択表示させる指示を処理部160に送信する(S430)。処理部160は、表示制御部140を介して、表示面112の当該縁部114の補助ボタン118およびコントロール116を選択表示させる。
表示制御部140は、例えば、図1に示すように、ユーザがタッチ入力した補助ボタン118dに応じて、補助ボタン118dおよび対応するコントロール116dを選択表示させる。表示制御部140は、選択表示として、補助ボタン118および対応するコントロール116の表示色を変えてよく、これに代えて補助ボタン118および対応するコントロール116の大きさを変えて表示してよい。
これに代えて、表示制御部140は、補助ボタン118および対応するコントロール116を点滅表示させてよい。また、表示制御部140は、補助ボタン118dと対応するコントロール116dとを結ぶ線を表示してよい。
入力制御部150は、ユーザが補助ボタン118の選択を確定したことに応じて、対応するコントロール116への入力を処理部160に指示する(S440)。また、入力制御部150は、ユーザが補助ボタン118の選択を解除した場合は、ステップS400に戻り、ユーザの補助ボタン118のタッチ入力をタッチパネル110に検出させる。ここで、入力制御部150は、予め定められた動作をユーザが入力することで、補助ボタン118の選択確定および選択解除を判断してよい。
入力制御部150は、例えば、ユーザが補助ボタン118をタッチした部位を離間する、または補助ボタン118を予め定められた時間以上の時間タッチし続ける、または、補助ボタン118から離間した後に再びタッチ入力する等の動作をタッチパネル110が検出することに応じて、補助ボタン118の選択確定または選択解除を判断する。処理部160は、確定されたコントロール116に対応する操作を実行し、補助ボタン118の操作を完了する(S450)。
以上の本実施例による表示装置100によれば、タッチパネル110の表示面112内の縁部114をユーザが操作することで、表示面112内の縁部114を除く中心部に表示されたコントロール116を操作することができる。これによって、例えば、表示装置100の表示面112がユーザの手指に比べて小さくても、ユーザは表示面112内の縁部114を除く中心部を視認しつつコントロール116を操作することができる。
また、例えば、表示面112に表示されるコントロール116がユーザの手指に比べて小さくても、ユーザは容易に入力すべきコントロール116を操作することができる。また、例えば、表示装置100の表示面112がユーザの手指に比べて大きく、広い面積にコントロール116が分散されて配置されていても、ユーザは表示面112内の縁部114を操作することで、容易に入力すべきコントロール116を操作することができる。
図5は、本実施形態に係る表示装置100の第1の変形例を示す。本変形例の表示装置100において、図1に示された本実施形態に係る表示装置100の動作と略同一のものには同一の符号を付け、説明を省略する。図中の例において、例えば、ユーザは手指を縁部114に接触することで、表示面112上のコントロール116を操作する。図中の縁部114に、ユーザの入力が検出された操作点の例として、第1の操作点210および第2の操作点220を示す。
本変形例において、抽出部130は、コントロール116の表示面112内における行列配置情報を抽出する。図中の例において、抽出部130は、同一形状のコントロール116a〜116fが、3行2列で並んでいることを抽出してよい。
表示制御部140は、補助ボタン118をコントロール116の行または列に対応して、表示面112の水平方向および垂直方向に配置する。図中の例において、表示制御部140は、コントロール116a〜116fの3行の配置に対応して、表示面112の垂直方向の縁部114に3個の補助ボタン118a〜118cを配置する。これに代えて、表示制御部140は、コントロール116a〜116fの2列の配置に対応して、表示面112の水平方向の縁部114に2個の補助ボタン118a、118bを配置してよい。
入力制御部150は、ユーザが操作した補助ボタン118に応じた行および列に位置するコントロール116への入力を指示する。図中の例において、入力制御部150は、ユーザがタッチ入力した第1の操作点210に応じて、コントロール116d〜116fが並ぶ列をユーザが選択したとする。次に、入力制御部150は、ユーザがタッチ入力した補助ボタン118aに応じて、コントロール116d〜116fが並ぶ列に位置し、補助ボタン118aに対応するコントロール116dの入力を処理部160に指示する。
このように、入力制御部150は、ユーザが表示面112の上または下側の縁部114をタッチ入力したことに応じて、コントロール116の列方向の選択を検出し、次に、表示面112の右および/または左側の縁部114に表示された補助ボタン118に対するユーザのタッチ入力に応じて、対応するコントロール116の入力を指示する。これに代えて、入力制御部150は、ユーザが表示面112の右または左側の縁部114をタッチ入力したことに応じて、コントロール116の行方向の選択を検出し、次に、表示面112の上および/または下側の縁部114に表示された補助ボタン118に対するユーザのタッチ入力に応じて、対応するコントロール116の入力を指示してよい。
図6は、本実施形態に係る表示装置100の第1の変形例の補助ボタン118配置の動作フローを示す。なお、本変形例の全体の動作フローは、図2の動作フローと略同一であるのでここでは説明を省略する。
タッチパネル110は、ユーザの表示面112の縁部114へのタッチ入力を検出する(S600)。タッチパネル110は、第1の操作点210へのタッチ入力を検出した場合、ユーザがタッチ入力した縁部114の情報を入力制御部150に送信する。
次に、入力制御部150は、入力座標軸を決定する(S610)。入力制御部150は、ユーザが上または下側の縁部114をタッチ入力したことに応じて、第1の操作点210を通り、表示面112内で垂直方向に延びる線を入力座標軸とする。これに代えて、入力制御部150は、ユーザが右または左側の縁部114をタッチ入力したことに応じて、右または左側の縁部114で検出される第1の操作点210を通り、表示面112内で平行方向に延びる線を入力座標軸としてよい。ここで、表示制御部140は、決定した入力座標軸を入力補助線として表示面112に表示してよい。
次に、抽出部130は、コンテンツに含まれるコントロール116を、入力座標軸に対する配置と共に抽出する(S620)。例えば、抽出部130は、入力座標軸に交差するコントロール116を抽出する。図5の例においては、抽出部130は、ユーザが下側の縁部114の第1の操作点210をタッチ入力したことに応じて、第1の操作点210を通り、表示面112内で垂直方向に延びる入力座標軸に交差するコントロール116d〜116fを抽出する。
次に、表示制御部140は、抽出したコントロール116に対応する補助ボタン118を作成する(S630)。表示制御部140は、コントロール116に1対1に対応する補助ボタン118を作成してよい。
次に、表示制御部140は、表示面112の縁部114に補助ボタン118を配置する補助操作領域を確保する(S640)。ここで、表示制御部140は、入力座標軸と平行な縁部114に補助操作領域を確保する。例えば、表示制御部140は、入力座標軸が表示面112の垂直方向の線である場合、右および/または左側の縁部114に補助操作領域を確保する。ここで、表示制御部140は、右および左側の縁部114のうち、入力座標軸に近い方の縁部114に補助操作領域を確保してよい。
表示制御部140は、補助ボタン118を確保した補助操作領域である縁部114に配置して表示させる(S650)。図5の例においては、表示制御部140は、右側の縁部114に、コントロール116d〜116fに対応する補助ボタン118a〜118cを配置して表示する。ここで、表示制御部140は、表示面112に表示されていないコンテンツの一部に、抽出部130がコントロール116を抽出した場合、補助操作領域である縁部114にスクロールボタンを配置して補助ボタン118と共に表示させてよい。このように、表示制御部140は、補助ボタン118の配置を完了する。
図7は、本実施形態に係る表示装置100の第1の変形例の補助ボタン118操作の動作フローを示す。タッチパネル110は、第2の操作点220として、ユーザの補助ボタン118a〜118cへのタッチ入力を検出する(S700)。タッチパネル110は、第2の操作点220のタッチ入力を検出した場合、ユーザがタッチ入力した補助ボタン118の情報を入力制御部150に送信する。
入力制御部150は、ユーザがタッチ入力した補助ボタン118および対応するコントロール116を選択表示させる指示を処理部160に送信する(S710)。処理部160は、表示制御部140を介して、表示面112の当該縁部114の補助ボタン118およびコントロール116を選択表示させる。例えば、図5に示すように、ユーザが第2の操作点220としてタッチ入力した補助ボタン118aに応じて、表示制御部140は、補助ボタン118aおよび対応するコントロール116dを選択表示させる。
入力制御部150は、ユーザが補助ボタン118の選択を確定したことに応じて、対応するコントロール116への入力を処理部160に指示する(S720)。ここで、入力制御部150は、ユーザが補助ボタン118の選択を解除した場合は、ステップS700に戻り、ユーザの補助ボタン118のタッチ入力をタッチパネル110に検出させる。処理部160は、確定されたコントロール116に対応する操作を実行し、補助ボタン118の操作を完了する(S730)。
以上の本変形例による表示装置100によれば、タッチパネル110の表示面112内の縁部114をユーザが操作することで、表示面112内の縁部114を除く中心部に表示されたコントロール116を操作することができる。また、本変形例による表示装置100は、ユーザが操作した補助ボタン118に応じた行および列に位置するコントロール116への入力を指示するので、縁部114に配置する補助ボタン118の数を操作するコントロール116の数よりも少なくすることができる。
図8は、本実施形態に係る表示装置100の第2の変形例を示す。本変形例の表示装置100において、図1に示された本実施形態に係る表示装置100の動作と略同一のものには同一の符号を付け、説明を省略する。
本変形例において、表示制御部140は、予め定められた符号を補助ボタン118に割り当て、複数の符号の組み合わせである一の符号のセットをコントロール116に割り当てる。図中の例において、表示制御部140は、表示面112の縁部114に、14個の補助ボタン118に対してアルファベットのAからNまでの符号をそれぞれ割り当てる。
また、表示制御部140は、例えば、コントロール116aには符号「AK」、コントロール116bには符号「AJ」等のように、符号のセットをコントロール116に割り当てる。ここで、表示制御部140は、補助ボタン118を、割り当てられた符号と共に表示面112に表示し、コントロール116を、割り当てられた符号のセットと共に表示面112に表示してよい。
また、入力制御部150は、ユーザが操作した複数の補助ボタン118に応じた符号のセットに基づき、対応するコントロール116を指示する。例えば、入力制御部150は、表示制御部140が「A」および「K」を割り当てた補助ボタン118aおよび118kを操作したことに応じて、表示制御部140が当該符号のセットである「AK」を割り当てたコントロール116aの入力を処理部160に指示する。
図9は、本実施形態に係る表示装置100の第2の変形例の補助ボタン118配置の動作フローを示す。なお、本変形例の全体の動作フローは、図2の動作フローと略同一であるのでここでは説明を省略する。
抽出部130は、表示面112に表示すべきコンテンツからコントロール116を抽出する(S900)。表示制御部140は、抽出したコントロール116に1対1に対応する符号のセットを設定する(S910)。ここで、表示制御部140は、抽出したコントロール116の数と、表示面112の縁部114に配置する補助ボタン118の予め定められた数とに応じて、符号のセットを設定してよい。ここで、表示制御部140は、補助ボタン118の個数をユーザの入力によって設定してもよい。これに代えて、またはこれに加えて、表示制御部140は、抽出したコントロール116の数と、補助ボタン118の予め定められた数とに応じて、色のセットを設定してよい。
表示制御部140は、例えば、抽出されたコントロール116の数を補助ボタン118の数で割った商がnで余りが0でない場合、n+1個以下の個数の符号を組み合わせた符号のセットを設定する。また、表示制御部140は、抽出されたコントロール116の数を補助ボタン118の数で割った商がnで余りが0の場合、n個以下の個数の符号を組み合わせた符号のセットを設定してよい。例えば、表示制御部140は、抽出されたコントロール116の数が30で、かつ、予め定められた補助ボタン118の数が14の場合、3個以下の符号を組み合わせた符号のセットを設定する。
次に、表示制御部140は、符号に対応する補助ボタン118を作成する(S920)。表示制御部140は、予め定められた数の補助ボタン118と1対1に対応する符号を補助ボタン118にそれぞれ割り当てる。これに代えて、予め定められた数の補助ボタン118は、1対1に対応する符号が予め割り当てられてもよい。表示制御部140は、補助ボタン118にアルファベットの文字を1文字ずつアルファベット順に割り当ててよく、これに代えて、ひらがなまたはカタカナ1文字を五十音順に割り当ててもよい。これに代えて、表示制御部140は、補助ボタン118に数字を小さい数から順に割り当ててもよい。
ここで、ステップS910において、表示制御部140が色のセットを設定した場合、当該表示制御部140は、予め定められた数の補助ボタン118と1対1に対応する色を補助ボタン118にそれぞれ割り当ててよい。
次に、表示制御部140は、設定した符号のセットをコントロール116に割り当てる(S930)。表示制御部140は、使用頻度が高いコントロール116には、より少ない個数の符号を組み合わせた符号のセットを割り当ててよい。この場合、表示制御部140は、コントロール116毎に操作された回数を記憶しておき、コンテンツの表示が更新される毎にコントロール116への符号セットの割り当てを更新してもよい。
ここで、ステップS910において、表示制御部140が色のセットを設定した場合、当該表示制御部140は、設定した色のセットをコントロール116に割り当ててよい。例えば、表示制御部140は、設定した色のセットをストライプ状にしてコントロール116と共に表示してよい。これに代えて、表示制御部140は、コントロール116の一部の色を複数箇所で変え、変えた色のセットと設定した色のセットとを略同一にしてもよい。
また、表示制御部140は、コンテンツまたはコンテンツの一部をスクロールさせるコントロール116にも符号セットを割り当ててよい。図8の例では、表示制御部140は、「EFG」および「NML」の符号セットをスクロールアップおよびスクロールダウンに割り当てる。
次に、表示制御部140は、表示面112の縁部114に補助ボタン118を配置する補助操作領域を確保する(S940)。次に、表示制御部140は、補助ボタン118を表示面112に配置して表示させる(S950)。表示制御部140は、補助ボタン118に割り当てた符号の順番に、補助ボタン118を配置してよい。このように、表示制御部140は、補助ボタン118の配置を完了する。
図10は、本実施形態に係る表示装置100の第2の変形例の補助ボタン118操作の動作フローを示す。入力制御部150は、ユーザの入力に対応する符号列を一時的に記憶する記憶領域を初期化する(S1000)。ここで、当該記憶領域は、入力制御部150が有してよく、これに代えて、記憶部120が有してよい。
次に、タッチパネル110は、ユーザの補助ボタン118へのタッチ入力を検出する(S1010)。タッチパネル110は、タッチ入力を検出した場合、ユーザがタッチ入力した補助ボタン118の情報を入力制御部150に送信する。
入力制御部150は、ユーザがタッチ入力した補助ボタン118に対応する符号を符号列に追加して記憶領域に記憶する(S1020)。入力制御部150は、符号列に関連するコントロール116を選択表示する(S1030)。ここで、入力制御部150は、符号列に関連するコントロール116として、入力制御部150が記憶した符号列と同一の符号列が割り当てられたコントロール116、および入力制御部150が記憶した符号列と先頭の符号列が一致する符号列が割り当てられたコントロール116を、選択表示してよい。また、入力制御部150は、入力制御部150が記憶した符号列と部分一致する符号列が割り当てられたコントロール116を、選択表示してもよい。
入力制御部150は、ユーザが入力する符号列が特定されるまで、ステップS1010に戻ってユーザの補助ボタン118のタッチ入力をタッチパネル110に検出させる(S1040)。ここで、入力制御部150は、ユーザが入力する符号列が特定されない状態において、ユーザから符号列の入力の解除を検出した場合は、ステップS1000に戻り、記憶した符号列を初期化してからユーザの補助ボタン118のタッチを検出させてよい。入力制御部150は、予め定められた動作をユーザが入力することで、ユーザが入力する符号列の特定および解除を判断してよい。
入力制御部150は、一例として、符号列に関連するコントロール116が1つになった場合に、符号列が特定され当該コントロール116が選択されたとする。また、ユーザが補助ボタン118をタッチした部位を離間する、または補助ボタン118を予め定められた時間以上の時間タッチし続ける、または、補助ボタン118から離間した後に再びタッチ入力する等の動作をタッチパネル110が検出する等の動作に応じて、符号列の特定および解除を判断してよい。
入力制御部150は、ユーザが符号列を確定したことに応じて、対応するコントロール116への入力を処理部160に指示する(S1050)。また、入力制御部150は、ユーザが符号列を確定しないでコントロール116の選択を解除する場合は、ステップS1000に戻り、記憶した符号列を初期化してからユーザの補助ボタン118のタッチを検出させる。ここで、入力制御部150は、予め定められた動作をユーザが入力することで、コントロール116の選択確定および選択解除を判断してよい。
処理部160は、確定されたコントロール116に対応する操作を実行し、補助ボタン118の操作を完了する(S1060)。以上の本変形例による表示装置100によれば、タッチパネル110の表示面112内の縁部114をユーザが操作することで、表示面112内の縁部114を除く中心部に表示されたコントロール116を操作することができる。また、本変形例による表示装置100は、ユーザが操作した複数の補助ボタン118の組み合わせによる符号列に応じたコントロール116への入力を指示するので、縁部114に配置する補助ボタン118の数を操作すべきコントロール116の数よりも少なくすることができる。
図11は、本実施形態に係る表示装置100の第3の変形例を示す。本変形例の表示装置100において、図1に示された本実施形態に係る表示装置100の動作と略同一のものには同一の符号を付け、説明を省略する。
本変形例において、入力制御部150は、ユーザが第1の補助ボタン118を操作したことに応じて、1つのコントロール116を仮選択状態にさせ、ユーザが第2の補助ボタン118を操作したことに応じて、仮選択状態にするコントロール116を順次他のコントロール116へと遷移させる。また、入力制御部150は、ユーザが操作した第1の補助ボタン118の位置に応じて、予め定められた位置関係にあるコントロール116を最初に仮選択状態としてよい。
入力制御部150は、例えば、ユーザが操作した第1の補助ボタン118の位置に最も近いコントロール116を、最初に仮選択状態とするコントロール116の位置と定める。図中の例において、入力制御部150は、ユーザが補助ボタン118aを第1に操作した場合、コントロール116aを最初に仮選択状態とする。また、入力制御部150は、ユーザが補助ボタン118dを第1に操作した場合、コントロール116fを最初に仮選択状態とする。
これに代えて、入力制御部150は、ユーザが第1の補助ボタン118を操作したことに応じて、予め定められた位置にあるコントロール116を最初に仮選択状態としてよい。一例として、入力制御部150は、ユーザがいずれの補助ボタン118を第1に操作しても、コントロール116aを最初に仮選択状態とする。表示制御部140は、仮選択状態のコントロール116を選択表示する。
また、入力制御部150は、ユーザが操作した第2の補助ボタン118の位置に応じて、仮選択状態が他のコントロール116へ遷移する方向を定めてよい。図中の例において、入力制御部150は、ユーザが補助ボタン118aを第1に操作したことに応じてコントロール116aを最初に仮選択状態とし、補助ボタン118bを第2に操作したことに応じて仮選択状態をコントロール116dに遷移させる。
また、ユーザが補助ボタン118bを操作することに応じて、入力制御部150は、仮選択状態を図中の点線の矢印で示したように行方向に予め定められた順にコントロール116dから116b、116e、116c、116fと遷移させる。また、更にユーザが補助ボタン118bを操作することに応じて、入力制御部150は、仮選択状態をコントロール116fから116aへと遷移させる。この場合において、入力制御部150は、ユーザが補助ボタン118bをタッチした状態で補助ボタン118aを操作することに応じて、選択状態を当該行方向に予め定められた順と逆方向に遷移させてよい。
また、入力制御部150は、ユーザが補助ボタン118aを第1に操作したことに応じてコントロール116aを最初に仮選択状態とし、補助ボタン118cを第2に操作したことに応じて仮選択状態をコントロール116bに遷移させる。即ち、ユーザが補助ボタン118cを操作することに応じて、入力制御部150は、仮選択状態をコントロール116aから116b、116c、116d、116e、116fと、列方向の予め定められた順に遷移させる。この場合においても、入力制御部150は、ユーザが補助ボタン118cをタッチした状態で補助ボタン118aを操作することに応じて、選択状態を当該列方向の予め定められた順と逆方向に遷移させてよい。
図12は、本実施形態に係る表示装置100の第3の変形例の補助ボタン118配置の動作フローを示す。なお、本変形例の全体の動作フローは、図2の動作フローと略同一であるのでここでは説明を省略する。
抽出部130は、表示面112に表示すべきコンテンツからコントロール116を抽出する(S1210)。ここで、表示制御部140は、抽出したコントロール116の配置情報から、コントロール116の仮選択状態の遷移方向を定めてよい。例えば、表示制御部140は、コントロール116の配置が表示面112の左上に配置されているコントロール116から行方向または列方向に遷移方向を定める。
次に、表示制御部140は、補助ボタン118を作成する(S1220)。次に、表示制御部140は、表示面112の縁部114に補助ボタン118を配置する補助操作領域を確保する(S1230)。ここで、表示制御部140は、2以上の方向に対応させた位置に、補助ボタン118を配置する補助操作領域を確保してよい。
表示制御部140は、例えば、表示面112の4隅を補助操作領域とする。これに代えて、表示制御部140は、表示面112の4辺を補助操作領域としてよい。このように、4つの方向に対応させて4カ所に補助ボタン118を配置する補助操作領域を確保することで、ユーザに仮選択状態とするコントロール116の位置または仮選択状態の遷移方向を直感的に入力させることができる。表示制御部140は、補助ボタン118を表示面112に配置して表示させ補助ボタン118の配置を完了する(S1240)。
図13は、本実施形態に係る表示装置100の第3の変形例の補助ボタン118操作の動作フローを示す。入力制御部150は、仮選択状態の基点と遷移方向とを一時的に記憶する記憶領域を初期化する(S1300)。ここで、当該記憶領域は、入力制御部150が有してよく、これに代えて、記憶部120が有してよい。
次に、タッチパネル110は、ユーザの補助ボタン118へのタッチ入力を検出する(S1310)。タッチパネル110は、タッチ入力を検出した場合、ユーザがタッチ入力した補助ボタン118の情報を入力制御部150に送信する。
次に、入力制御部150は、仮選択状態の基点が設定されているか否かを判断する(S1320)。入力制御部150は、例えば、仮選択状態の基点を記憶する領域が初期化されている場合、仮選択状態の基点が設定されていないと判断する。この場合、入力制御部150は、ユーザがタッチ入力した補助ボタン118を第1の補助ボタン118として、対応するコントロール116を仮選択状態の基点として設定すると共に、当該コントロール116を選択表示する(S1330)。
入力制御部150は、例えば、仮選択状態の基点を記憶する領域が初期化されていない場合、仮選択状態の基点が設定されていると判断する。この場合、入力制御部150は、ユーザがタッチ入力した補助ボタン118を第2の補助ボタン118として、対応する仮選択状態の遷移方向を決定する(S1340)。
ここで、入力制御部150は、第2の補助ボタン118の入力に対応する遷移方向が適切であるか否かを判断する(S1350)。例えば、入力制御部150は、第1の補助ボタン118aに対して、第2の補助ボタン118bが入力された場合に予め定められた遷移方向に仮選択状態を遷移させ、第2の補助ボタン118cが入力された場合に予め定められた遷移方向とは逆向きに遷移させる設定が施されている例を説明する。
このような場合に、入力制御部150は、第2の操作として補助ボタン118dが入力されると、適切な遷移方向が入力されなかったと判断して、ステップS1300に戻り、仮選択状態の基点および遷移方向を初期化して第1の補助ボタン118を入力させる。また、入力制御部150は、第2の操作として補助ボタン118bまたは補助ボタン118cが入力された場合は、適切な遷移方向が入力されたと判断して、対応するコントロール116の選択表示を遷移方向に移動させる(S1360)。
ここで、入力制御部150は、コントロール116が選択された状態において、タッチパネル110がユーザの第3の操作を検出したことに応じて、表示面112に表示されたコンテンツをスクロールする指示を処理部160に送信してよい。例えば、タッチパネル110が、補助ボタン118の配置されていない縁部をユーザがタッチ入力した後に、タッチした部位をタッチパネル110上で移動させることを検出することで、入力制御部150は、ユーザが第3の操作を入力したと判断する。ここで、ユーザは、コンテンツをスクロールしたい方向に、タッチした部位をタッチパネル110上で移動させてよい。これによって、表示装置100は、表示面112には表示されていないコンテンツの一部に配置されたコントロール116を、ユーザ入力に応じてコンテンツをスクロールさせて表示させ、当該コントロール116を選択させることができる。
入力制御部150は、ユーザがコントロール116の選択を確定したことに応じて、当該コントロール116への入力を処理部160に指示する(S1370)。ここで、入力制御部150は、ユーザがコントロール116の選択を解除した場合は、ステップS1310に戻り、ユーザの補助ボタン118のタッチ入力をタッチパネル110に検出させる。処理部160は、確定されたコントロール116に対応する操作を実行し、補助ボタン118の操作を完了する(S1380)。
以上の本変形例による表示装置100によれば、タッチパネル110の表示面112内の縁部114をユーザが操作することで、表示面112内の縁部114を除く中心部に表示されたコントロール116を操作することができる。また、本変形例による表示装置100は、ユーザの操作に応じて、仮選択状態にするコントロール116と、他のコントロール116へと順に遷移させる方向とを決定するので、縁部114に配置する補助ボタン118の数を操作すべきコントロール116の数よりも少なくすることができる。
図14は、コンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、I/Oコントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、およびDVDドライブ2060を有する入出力部と、I/Oコントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、およびI/Oチップ2070を有するレガシー入出力部と、を備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
I/Oコントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。DVDドライブ2060は、DVD−ROM2095からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、I/Oコントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、およびI/Oチップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、および/または、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。I/Oチップ2070は、タッチ位置検出部2081およびフレキシブルディスク・ドライブ2050をI/Oコントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置をI/Oコントローラ2084へと接続する。ここで、入出力装置として加速度を検出する加速度検出部を用いる場合、I/Oチップ2070は、当該加速度検出部と接続され、当該加速度検出部をI/Oコントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD−ROM2095、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
プログラムは、コンピュータ1900にインストールされ、コンピュータ1900を、表示装置100として機能させる。ここで、タッチパネル110は、タッチセンサ等のタッチ位置検出部2081を有する表示装置2080である。タッチ位置検出部2081は、I/Oチップ2070に接続される。
プログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である表示装置100として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有のタッチパネル110、記憶部120、抽出部130、表示制御部140、入力制御部150、および処理部160が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、またはDVD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置または通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、および/または記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(または不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD−ROM2095の他に、DVDまたはCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。