情報処理装置、情報処理方法、及びプログラム
【課題】操作対象のオブジェクトが小さく表示されている場合の誤操作を防ぎ、画面の拡大縮小を行ったユーザの意図に合った操作を実行することを目的とする。
【解決手段】表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、表示画面上でなされた操作指示を入力する入力部と、表示画面上において操作指示が入力された位置に基づいて、表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出部と、抽出部により抽出された注目オブジェクトの表示サイズを示す情報を取得する取得部と、異なる複数の種類の処理のうち、表示サイズに応じて、実行可能な処理を決定する決定部と、を備える。
【解決手段】表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、表示画面上でなされた操作指示を入力する入力部と、表示画面上において操作指示が入力された位置に基づいて、表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出部と、抽出部により抽出された注目オブジェクトの表示サイズを示す情報を取得する取得部と、異なる複数の種類の処理のうち、表示サイズに応じて、実行可能な処理を決定する決定部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、パーソナルコンピュータで表示画面操作を行う際には、操作し易い表示倍率に変更してから作業を行うのが一般的である。表示倍率を変更する方法としてはリストボックスから所望の倍率を選択したり、直接倍率を数値で入力したり、スライダを動かして変更する等の方法がある。また近年では、タッチパネルを搭載した携帯電話や携帯情報端末、タッチパッドを搭載したノート型パーソナルコンピュータ等において、2本の指などを開閉するというジェスチャによって拡大縮小を行うものが急速に増えてきている。しかし、このような機器で表示倍率を小さくし過ぎると操作対象のオブジェクトが小さく表示されてしまい操作がし難くなる。例えば、狙ったオブジェクトの隣のオブジェクトを選択したり、複数のオブジェクトに跨って選択したりするといった誤操作が発生する。
【0003】
表示が小さい場合のこうした誤操作を回避するために、様々な方法が開示されている。例えば、特許文献1では、オブジェクトの密集度が高い場合に自動的に拡大表示を行う。これにより隣のオブジェクトを誤って選択してしまうことを防いでいる。特許文献2では、選択操作する指等の画面接触範囲内に複数のオブジェクトが入っている場合に自動的に拡大表示を行う。これにより複数のオブジェクトに跨って選択をしてしまうことを防いでいる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−140811号公報
【特許文献2】特開2009−032028号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1においてはオブジェクトの表示が小さいにも関わらずオブジェクト同士が離れて配置されている場合には拡大されない。特許文献2においても、オブジェクトの表示が小さいにも関わらず指等による画面接触領域内に複数のオブジェクトが存在しなければ拡大されない。このため、オブジェクトが小さく表示されており見え難い場合に意図せずオブジェクトに触れてしまうことがある。他にも、オブジェクトが小さく内容が確認し難い場合に、勘違いして別のオブジェクトを選択してしまうことがある。また、ユーザが縮小表示を行うのは、全体を見渡しながらスクロールをしたいという意図を持っている場合が多いと考えられ、オブジェクトが密集していた場合でも自動的に拡大して欲しくない場合があると考えられる。また、ユーザが画像オブジェクトを拡大した場合には、画像編集モード等に切り替えることなく直接画像オブジェクトに対して落書きや手書き文字入力を行いたいという場合が考えられる。しかしながら、従来の画面の拡大縮小が可能な機器ではどの倍率で表示されていても入力可能な操作が同じであるため、拡大縮小を行ったユーザの意図に応えることができなかった。
【0006】
上記の課題に鑑み、本発明は操作対象のオブジェクトが小さく表示されている場合の誤操作を防ぎ、画面の拡大縮小を行ったユーザの意図に合った操作を実行することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成する、本発明に係る情報処理装置は、
表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、
前記表示画面上でなされた操作指示を入力する入力手段と、
前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得手段と、
前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定手段と、
を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、操作対象のオブジェクトが小さく表示されている場合の誤操作を防ぎ、画面の拡大縮小を行ったユーザの意図に合った操作を実行することができる。
【図面の簡単な説明】
【0009】
【図1】(a)本発明に係る情報処理装置のハードウェア構成の一例を示すブロック図、(b)本発明に係る情報処理装置のソフトウェア構成の一例を示すブロック図。
【図2】Web画面を異なる拡大率で表示した一例を示す図。
【図3】操作実行判断処理の一例を示すフローチャート。
【図4】オブジェクトの大きさと実行する操作の組み合わせの一例を示す表。
【図5】条件に基づいて操作を実行するかどうかを判断する処理の一例を示すフローチャート。
【図6】(a)操作に優先度を設定した例を示す表、(b)オブジェクトの大きさに応じて操作の優先度を変更する一例を示す表。
【図7】優先度に基づいて操作を実行するかどうかを判断する処理の一例を示すフローチャート。
【図8】操作を持続的に入力し続けることで当該操作を実行可能とする処理の一例を示すフローチャート。
【図9】操作対象のオブジェクトの大きさが大きい場合に複雑なジェスチャ操作を実行する一例を示す図。
【図10】オブジェクトの大きさと実行するジェスチャ操作の組み合わせの一例を示す表。
【図11】複数オブジェクトが重なっている場合の操作実行判断の一例を示す図。
【図12】複数オブジェクトが重なっている場合の条件の一例を示す表。
【図13】複数オブジェクトが重なっている場合の操作実行判断処理の一例を示すフローチャート。
【図14】実行可能操作表示の一例を示す図。
【図15】入力された操作を実行しない旨を表示する一例を示す図。
【図16】(a)条件変更画面の一例を示す図、(b)サンプルオブジェクトを用いて条件値を設定する一例を示す図。
【図17】学習することにより条件表を変更する処理の一例を示すフローチャート。
【図18】オブジェクトの大きさと実行する操作の組み合わせの一例を示す表。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが課題の解決に必須のものとは限らない。
【0011】
(第1実施形態)
本実施形態においては、操作対象のオブジェクト(注目オブジェクト)の大きさに応じて操作を実行するかどうかを判断する場合について説明する。
【0012】
まず、図1(a)を参照して、本発明に係る情報処理装置100のハードウェア構成の一例を示すブロック図について説明する。バス101は、各構成要素を接続する。CPU102は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、バス101に接続された各構成要素を制御する。
【0013】
情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリは、フローチャートにより後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。メモリはROM(Read−Only Memory)103であってもよいし、外部記憶装置などからプログラムがロードされるRAM(Random Access Memory)104であってもよい。あるいは、これらの組み合わせで実現してもよい。
【0014】
記憶装置105は、本発明に係るデータやプログラムを記憶するハードディスク等の記憶装置である。また、記憶装置105と同様の役割を果たすものとして、外部記憶装置106を用いてもよい。ここで、外部記憶装置106は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。本実施形態において必要な情報は、RAM104や記憶装置105、外部記憶装置106に保持される。
【0015】
情報入力装置107は、外部装置からの情報を入力するための情報入力装置である。操作者の情報処理装置に対する操作が入力される。入力する方法としては例えば、マウス、トラックボール等のポインティングデバイスや、タッチ入力等が考えられる。
【0016】
情報出力装置108は、情報処理装置100で処理された結果や保持している情報を外部装置に出力する。本実施形態においては情報処理装置100にて生成されたオブジェクトや、それに関わる表示等の画面表示を行うための情報を出力し、画面表示装置等にて表示される。
【0017】
次に、図1(b)を参照して、本発明に係る情報処理装置100のソフトウェア構成の一例を示すブロック図について説明する。
【0018】
操作受付部151は、情報入力装置107から入力された情報処理装置100に対する操作要求を受け付ける。操作要求は、マウス、トラックボール、タッチパッド、タッチパネル、スタイラスペン、ペンタブレット、又はキーボード等のデバイスを用いて入力される。タッチが可能なデバイスにおいては、指やペンを用いた入力が考えられる。
【0019】
オブジェクト抽出部152は、操作受付部151で受け付けた操作が入力された画面上の位置に存在するオブジェクトを抽出する。
【0020】
オブジェクトサイズ計測部153は、オブジェクト抽出部152で抽出されたオブジェクトの表示上の大きさを計測する。オブジェクトの大きさは、画素のピクセル単位で計測されてもよいし、表示上の長さで計測されてもよいし、または面積を求めて計測されてもよい。
【0021】
操作実行判断部154は、オブジェクトサイズ計測部153で計測されたオブジェクトの大きさに基づいて、操作受付部151で受け付けた操作を本当に実行してもよいかを判断する。具体的には、オブジェクトの大きさと実行可能操作指示との組み合わせを予め設定した条件を定義データとして記憶しておき、当該条件に基づいて受け付けの可否が判別される。
【0022】
操作実行部155は、操作実行判断部154で操作を実行してもよいと判断された場合に当該操作に対応した処理を実行する。実行結果は情報出力装置108に通知され、画面等の表示装置に実行結果が反映される。
【0023】
次に、図2を参照して、本発明に係る情報処理装置100がタッチパネルを搭載した携帯情報端末に搭載された場合を例に挙げて、Webサイトを異なる拡大率で表示した様子について説明する。図2は、Webサイトを異なる拡大率で表示した一例を示す図であり、画像共有サイトをイメージした画面である。ここではWebサイトを例に挙げているが、Webサイトに限定されるものではなく、携帯情報端末やPC上に搭載されたアプリケーションであってもよい。
【0024】
図2(a)はWebサイトを通常表示または縮小表示した例を示す図である。
【0025】
画面200は携帯情報端末の表示画面であり、携帯性を重視しているためそれほど大きくはないものを想定している。そのため、通常表示または縮小表示を行った場合には、Webサイトを構成する文字や画像、ボタン等のオブジェクトは非常に小さく表示され、見難いものとなる。また、本画面にはタッチパネルが搭載されており、この表示画面上に指やスタイラスペン等による入力が可能なものを想定している。ただし、タッチパネルの搭載は必須ではなく、タッチパネルを搭載せずにマウスやトラックボール、ハードボタン、キーボード等による入力であってもよい。また、画面の拡大縮小操作は、画面に触れた2点の間隔が広がっていくと拡大操作、狭まっていくと縮小操作と判断するものを想定している。他にも画面にスライダを設けてスライダの位置に合わせて拡大縮小を行ってもよいし、拡大縮小ボタンを用意してもよいし、倍率を直接指定できるものでもよい。
【0026】
指201は、ユーザの指であり、タッチパネルを搭載した画面200に直接触れることにより各種操作を行う。
【0027】
テキストボックス202は、テキストを入力可能なボックスであり、テキストボックスを選択することでテキスト入力画面に遷移またはテキスト入力ダイアログが開くなどしてテキストの入力が可能となる。しかし、本図の例のように小さく表示されている場合には、指201で触れて選択するには指先よりも表示が小さいため選択がし難い状態となっている。このような選択し難い状態で無理して選択操作を行うことは考えにくい。そこで、オブジェクトが選択し難い大きさに表示されている場合に、情報処理装置100では選択操作を受け付けず、図2(a)において矢印で示したようなスクロール操作のみを受け付ける。スクロール操作は通常オブジェクトが存在しない部分をドラッグすることで画面全体を好きな方向に移動させることができるが、図2(a)の例ではオブジェクトであるテキストボックス上であってもスクロール操作として見なされることになる。スクロール操作のみを受け付けることで、スクロールをしたいにも関わらず誤ってオブジェクトを選択してしまい、画面遷移してしまうといった煩わしさを解消することができる。
【0028】
画像203は、Webサイト上に配置されているものである。ここでの例ではWeb上で共有された画像を想定しており、画像に触れることで選択をして、ダウンロードしたり選択した画像を別途画像編集画面で編集したりできる。しかし、図2(a)に示される例のように、小さく表示されている場合には何の画像なのか確認し難く、何の画像なのか分からないにも関わらず特定の画像を選択することは考えにくい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、画像上であってもスクロール操作を受け付ける。
【0029】
リストボックス204はリストが記載されたボックスであり、一行表示のリストボックスに触れて選択することで一覧が開き、その一覧の中から好きなものに指またはタッチペン等で触れることにより選択を行うことができる。しかし、図2(a)に示される例のように、小さく表示されている場合には文字が読み難いため、内容が把握できずどれを選択すべきか判断し難い。また、リストの隣の項目と隣接しているため、図2(a)に示される例のような大きさでは狙った項目を指で選択するのは難しい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、リストボックス上であってもスクロール操作を受け付ける。
【0030】
ユーザがボタン205に触れることで選択が行われ、ボタンに割り当てられた動作が実行される。しかし、図2(a)に示されるように小さく表示されている場合には、ボタンに書かれた文字が見難く、何をするためのボタンなのかが判断し難い。また、指で選択するには小さすぎ、選択操作が難しい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、ボタン上であってもスクロール操作を受け付ける。
【0031】
リンク206は、下線が引かれた文字部分に触れることで選択され、リンクされた別のページへと画面が遷移するためのリンクである。しかし、図2(a)に示されるように小さく表示されている場合には文字が見難く、どこへのリンクなのかが判断し難い。また、指で選択するには小さすぎ、選択操作が難しい。また、スクロール操作をしたい場合に単なる文字とリンクとの区別が付き難く、誤って選択してしまうことがある。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、リンク上であってもスクロール操作を受け付ける。
【0032】
図2(b)は、図2(a)が拡大表示された状態を示す図である。テキストボックス202は、拡大されたために指201の指先が入る程度の大きさで表示され、選択操作が容易に行える。そのため、情報処理装置100は選択操作を受け付け、テキストボックス202上でのスクロール操作は受け付けないようにする。
【0033】
画像203は、拡大されたために画像の内容が確認できる程度の大きさで表示され、所望の画像が見つけ易い大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、画像203上でのスクロール操作は受け付けないようにする。
【0034】
リストボックス204は、拡大されたために文字が読み易くなり、また、指先による選択操作が容易に行える大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、リストボックス204上でのスクロール操作は受け付けないようにする。また、リストボックス204の一覧は項目同士が隣接しているため、誤って隣の項目を選択してしまうことが良く起こることから、指の腹の部分全体が収まる程度の大きさで表示されている際に選択操作を可能としてもよい。
【0035】
ボタン205は、拡大されたためにボタンに書かれた文字が見易く、何をするためのボタンなのかが判断し易い大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、ボタン205上でのスクロール操作は受け付けないようにする。
【0036】
リンク206は、拡大されたために文字が見易くなり、指先による選択操作が容易に行える大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、リンク206上でのスクロール操作は受け付けないようにする。
【0037】
ここで、本図の例ではオブジェクト上におけるスクロール操作を受け付けないようにすると説明したが、他の方法としてタップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作の場合はスクロール操作と判断してもよい。これにより、オブジェクト上で選択操作とスクロール操作の両方を受け付けることも可能となる。
【0038】
図2(c)は、図2(b)よりもさらに拡大表示された状態を示す図である。
【0039】
テキストボックス202は、さらに拡大されたために指201の指先よりも十分に大きい大きさとなっている。そのため、情報処理装置100はテキストボックス202に対する手書き文字入力操作を受け付ける。即ち、前述したスクロール操作とは異なる種類の操作を受け付ける。この際、手書き入力された文字が認識され文字データに変換されることで、テキストボックス202への入力となる。また、図2(c)の状態において情報処理装置100は手書き文字入力操作と混同しないように、テキストボックス202上でのスクロール操作は受け付けないようにする。選択操作についてはスクロール操作と同様に受け付けないようにしてもよい。もしくは、タップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作のように触れた点が移動した場合は手書き文字入力操作と判断してもよい。
【0040】
画像203は、拡大されたために指201の指先よりも十分に大きい大きさとなっている。そのため、情報処理装置100は画像203に対する落書き操作(描画操作)を受け付け、画像203上でのスクロール操作は受け付けないようにする。また、選択操作についてはスクロール操作と同様に受け付けないようにしてもよい。もしくは、タップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作のように触れた点が移動した場合は落書き操作と判断してもよい。
【0041】
その他のオブジェクトについては図2(b)と同様の処理を行う。
【0042】
このように、操作対象のオブジェクトが小さい時には選択操作は難しいため、ユーザは選択操作よりも全体を見渡せる状態を生かしてスクロール操作をしたいという意図があるものと考えられる。このような場合に本実施形態に係る情報処理装置100はユーザの意図に応えるべく、スクロール操作のみを受け付けることができる。また、オブジェクトが小さくて選択し難い状態での誤操作を防ぎ、選択し易い状態に拡大表示された場合には選択操作を受け付けることができる。さらに拡大を行い、テキストボックスや画像が大きく表示されている場合には、編集画面に遷移させる手間をかけることなく、直接手書き文字入力や落書きを行いたいという要求にも応えることができる。
【0043】
次に、図3を参照して、オブジェクトの大きさに応じて受け付けた操作を実行するかどうかを判断する処理の一例について説明する。図3は、操作実行判断処理の一例を示すフローチャートである。
【0044】
ステップS301において、操作受付部151は情報入力装置107から入力されたユーザの操作指示を受信する操作受信処理を行う。ステップS302において、オブジェクト抽出部152は操作位置付近のオブジェクト抽出処理を行う。具体的には、ステップS301で受信された操作が入力された位置付近に存在するオブジェクトを抽出する。操作が入力された位置付近に存在するオブジェクトは、例えば操作が入力された始点に最も近いオブジェクトとすればよい。より具体的には、操作指示が入力された位置に存在するオブジェクトまたは当該位置に対して所定距離の範囲内にあるオブジェクトのうち、操作指示が入力された位置からの距離が最小となる位置に存在するオブジェクトを抽出すればよい。その他の例としては、操作を指示する点が移動する場合には、点が通過した距離が最も長いオブジェクトを選んでもよい。また、操作のために入力された各座標点から最も近いオブジェクトを抽出してもよい。
【0045】
ステップS303において、オブジェクトサイズ計測部153はオブジェクトサイズ計測処理を行う。具体的には、ステップS302で抽出されたオブジェクトの表示上の大きさ(表示サイズ)を計測する。大きさはオブジェクトの外接矩形を抽出して、外接矩形の縦横のPixel数を算出することにより計測すればよい。その他の例としては、オブジェクトの面積を表す画素数を計測してもよい。
【0046】
ステップS304において、ステップS303で計測されたオブジェクトの大きさに基づいて、ステップS301で受信された操作を実際に実行しても良いかを判断する。例えば、表示サイズが閾値以下である場合には、操作指示に対応する処理を実行可能でないと判断し、表示サイズが閾値より大きい場合には操作指示に対応する処理を実行可能であると判断するようにすればよい。受け付けても良いと判断された場合は(ステップS304;YES)、ステップS305へと進む。一方、受け付けないと判断された場合は(ステップS304;NO)、そのまま処理を終了する。
【0047】
ステップS305において、受信操作実行処理を行う。ステップS301で受信された操作に対応する処理を実行する。これにより、図3における選択処理やスクロール処理等が実行される。
【0048】
次に、図4を参照して、受け付けた操作を実行するかどうかを判断する具体的な方法の一例について説明する。図4は、オブジェクトの大きさと実行する操作の組み合わせの一例を示す。本図の例は図2のような操作実行判断を行うために必要な条件を表として示している。このような表を定義データとして記憶しておけば、操作実行判断の際に利用できる。
【0049】
表の1列目はオブジェクト種別401で、オブジェクト種別毎に別々の設定ができるようにしている。なお、この項目を用意せずに、全てのオブジェクトで共通の設定とすることも可能である。本図の例では図2に示したようなテキストボックスや画像、リストボックス、ボタン、リンクがある。もちろん他のオブジェクト種別が画面に登場する場合はさらにオブジェクト種別401を設定してもよい。また、オブジェクト種別401は、画像認識技術を用いて、オブジェクト認識して得られた画像内のオブジェクトを設定してもよい。例えば、画像中の人物や建物、車や船等といったオブジェクトが考えられる。
【0050】
表の2列目は大きさ402で、操作を受け付ける際の判断材料になるオブジェクトの大きさを設定する。本図の例では大きさをオブジェクトの縦横のPixel数で表現している。この他にも、面積として「900Pixel未満」のように設定してもよいし、ミリメートル等で設定してもよい。
【0051】
表の3列目は許可操作403で、オブジェクトの大きさが2列目で設定された大きさ402に適合する場合に受け付ける操作を設定する。例えば、テキストボックスにおいて図2のような判断を行うためには、2列目に指先が入らないくらいの大きさ、例えば30×30Pixel未満という条件を設定し、その場合の許可操作としてスクロール操作を設定する。次に、指先が入る大きさ、例えば30×30Pixel以上かつ100×100Pixel未満という条件を設定し、その場合の許可操作として選択操作を設定する。次に、手書き可能な大きさ、例えば100×100Pixel以上という条件を設定し、その場合の許可操作として手書き文字入力操作を設定する。
【0052】
このように他のオブジェクト種別に対しても同様に設定を行い、本図のような条件表を定義すると、図2のような判断が可能となる。また、本図で設定された大きさ402は一例であり、別のPixel数を設定してもよい。特に、画面の大きさや表示解像度、表示デバイスの性能によっては操作し易いオブジェクトの大きさが変わるため、使用状況に合わせて設定を変えてもよい。さらに、指やペン、マウス等のように操作の入力媒体が変わることによっても操作し易いオブジェクトの大きさが変わる。そのため、入力媒体毎にそれぞれの条件表を用意しておき、入力媒体検出処理で検出された入力媒体に基づいて条件表を切り替えてもよい。タッチパネルに対しての入力媒体の検出方法としては、入力検出方式の違い(例えば静電容量方式と電磁誘導方式)や、タッチパネル上の接触面積の大きさ等で区別すればよい。また、携帯情報端末に加速度センサが搭載されていれば、加速度センサが検出した揺れから歩行中であるかを判断し、歩行中の場合では条件表を歩行用の表に切り替えてもよい。もしくは、揺れの大きさに応じた条件表を用意しておき、揺れの大きさに応じて表を切り替えてもよい。また、許可操作についても本図の内容に限定されるものではなく、他の操作を設定してもよい。さらに、ジェスチャ認識を利用できる環境においては、許可するジェスチャ操作を設定してもよい。
【0053】
このように、オブジェクトの大きさ402と、その際に許可する許可操作403とを設定した条件を定義データとして記憶しておけば、この条件を用いて図2のような判断が可能となる。
【0054】
次に、図5を参照して、条件に基づいて受け付けた操作を実行するかどうかを判断する処理の一例を示すフローチャートについて説明する。
【0055】
ステップS501からステップS503までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。
【0056】
ステップS504において、許可操作取得処理を行う。ステップS502で抽出されたオブジェクトと、ステップS503で計測された大きさに基づいて、予め定義しておいた図4のような条件表を検索し、許可操作を取得する。
【0057】
ステップS505において、ステップS501で受信された操作がステップS504で取得された許可操作に含まれているかどうかを判断する。許可操作に含まれている場合は実行可能操作として判断され(ステップS505;YES)、ステップS506へ進む。一方、許可操作に含まれていない場合は実行不可能操作として判断され(ステップS505;NO)、ステップS501で受信された操作の実行処理をしないで処理を終了する。ステップS506において、図3の例と同様に、ステップS501で受信された操作に対応する処理を実行する。
【0058】
図4及び図5を例に挙げて説明したように、操作対象となるオブジェクトの表示上の大きさと受け付ける操作の組み合わせを予め条件として設定しておくことで、その条件に基づいてオブジェクトの大きさに応じた操作の受け付けが可能となる。
【0059】
次に、図6を参照して、操作を受け付けるかどうかを判断する具体的な方法の別の一例について説明する。図6はオブジェクトの大きさに応じて操作の優先度を変更する一例を示す表である。
【0060】
図6(a)はオブジェクト上で操作601を行った場合の各操作に対する最初の優先度602の状態を表している。本図の例では、選択操作の優先度が一番高く、基本的には選択操作が優先的に受け付けられることを示している。しかし、この状態ではスクロール操作をしたい場合に、誤ってオブジェクトに触れてしまうとそのオブジェクトが選択されてしまうという問題が発生する。また、このままではオブジェクトに対する選択以外の操作が受け付けられない。そのため、選択以外の操作を許可するためにモード切り替えによって優先度を変更できる構成とすればよい。さらに、オブジェクト毎に操作の優先度を別々に設定する構成としてもよい。
【0061】
図6(b)はオブジェクト種別611の大きさ612に応じて各操作613の優先度614を変更した後の状態を表として示している。例えば、操作しようとしているテキストボックスが30×30Pixel未満だった場合はスクロールの優先度が高くなるように変更されることを示している。これにより、操作対象のオブジェクトの大きさに応じて受け付ける操作を切り替えることが可能となる。また、本図の例では1列目のオブジェクト種別611の項目を設けることでオブジェクト種別毎に別々の設定を行っているが、この列を設けずに全てのオブジェクト種別で共通の設定としてもよい。
【0062】
次に、図7を参照して、優先度に基づいて受け付けた操作を実行するかどうかを判断する処理の一例を示すフローチャートについて説明する。
【0063】
ステップS701からステップS703までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。
【0064】
ステップS704において、ステップS703で計測されたオブジェクトの大きさに基づいて操作の優先度を変える処理を行う。具体的には図6の表のようにオブジェクトの大きさに基づいて、操作の優先度を変更する処理が行われる。
【0065】
ステップS705において、ステップS701で受信された操作の優先度が高いかどうかが判断される。高い場合は(ステップS705;YES)、ステップS706に進み、受信された操作の処理を実行する。受信された操作の優先度が低い場合には(ステップS705;NO)、処理を終了する。
【0066】
図6及び図7を例に挙げて説明したように、操作対象となるオブジェクトの表示上の大きさに基づいて操作の優先順位を変更することで、その優先順位に基づいてオブジェクトの大きさに応じた操作の受け付けが可能となる。
【0067】
また、ここまでの例では、オブジェクトの大きさに基づいてスクロール、選択、手書き等の操作を切り替える例を挙げたが、操作はその他のものであっても良い。
【0068】
その他の例を、図18を参照して説明する。図18は、図4のその他の操作に対応させた場合の例である。図18は、オブジェクト種別1801の大きさ1802に応じた各操作1803を表として示している。例えば、指を移動させるという同じ操作であっても、画像オブジェクトの大きさに基づいて受け付ける操作を変えるという例を挙げる。
【0069】
オブジェクト1801としての画像オブジェクトの大きさが50×50pixel未満と小さく、画像の内容を確認し難い時には、画像の上で指を移動させる操作を行うと画面全体のスクロール操作となる。この時、画像の上で指を移動させずに指を離しても何も起こらないとしても良い。画像オブジェクトの大きさが50×50pixel以上100×100pixel未満で画像の内容が確認できる程度の大きさの時には、画像の上で指を移動させる操作を行うと画像の移動操作となり、画像を別の場所に移すことができる。この時、画像の上で指を移動させずに指を離した場合は、指が触れた画像オブジェクトを選択するとしても良い。画像オブジェクトの大きさが100×100pixel以上と十分大きい時には、画像の上で指を移動させる操作を行うと手書きによる文字入力またはらくがき操作が可能となる。この時、画像の上で指を移動させずに指を離しても何も起こらないとしても良いし、指が触れた画像オブジェクトを選択するとしても良いし、らくがきとして指が触れた点を描画しても良い。
【0070】
例えば、ボタンオブジェクトの標準サイズに対して現在の表示サイズが50%の場合はスクロール操作を有効とし、100%の場合は選択操作を有効とし、200%の場合は手書き操作を有効とする。
【0071】
また、画面全体の表示倍率に基づいて有効となる操作を決定しても良い。例えば、表示倍率が50%の場合はスクロール操作を有効とし、100%の場合は選択操作を有効とし、200%の場合は手書き操作を有効とする。この方法は、写真一覧などのオブジェクトの大きさが統一されている場合などに有効である。
【0072】
また、オブジェクト毎に画面全体の表示倍率を別々の値を設定できるようにすることで、図2のようにオブジェクトの大きさが統一されていない場合にも対応できる。
【0073】
以上のように、本実施形態の情報処理装置100は、操作対象となるオブジェクトの大きさに応じて受け付ける操作を変更する。このため、操作対象のオブジェクトが小さく表示されている場合でも誤操作を防ぐことができる。また、画面の倍率を変え、表示されているオブジェクトの大きさを変えたユーザの意図に合わせて操作を受け付けることが可能となる。
【0074】
(第2実施形態)
本実施形態では、操作を持続的に入力し続けることでその操作を実行可能とする構成について説明する。
【0075】
まずは、図8を参照して、本実施形態操作を持続的に入力し続けることで当該操作を実行可能とする処理の一例を示すフローチャートについて説明する。
【0076】
ステップS801からステップS803までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。ステップS804において、現在のオブジェクトサイズで受信操作は実行可能であるかどうかが判定される。操作を実行できると判断された場合には(ステップS804;YES)、ステップS805へ進む。一方、操作を実行できないと判断された場合には(ステップS804;NO)、ステップS806へ進む。
【0077】
ステップS806において、操作が持続的に入力されているかどうかの持続判断がなされる。例えば、画面に触れることによる選択操作であれば、ユーザが画面に触れ続けているかどうかで判断される。他の例としては、画面上をドラッグ操作することによるスクロール操作であれば、ドラッグし続けるまたはドラッグ後の位置で触れたままとするといった状態が検出されることによって、操作が持続していると判断されてもよい。持続している時間が所定時間を超えた場合(ステップS806;YES)、ステップS807へ進む。一方、持続している時間が所定時間を超えない場合(ステップS806;NO)、そのまま処理を終了する。
【0078】
ステップS807において、ステップS806で操作が持続的に入力されたと判定された場合に、画面の表示倍率を算出する処理が実行される。算出方法は、まず受信された操作が受け付け可能となるように、必要なオブジェクトの大きさを算出する。次に、ステップS802で抽出されたオブジェクトが、当該算出された大きさとなるように画面の表示倍率を算出して決定する。
【0079】
ステップS808において、ステップS807で算出された表示倍率に基づいて、画面全体、画面の一部、またはステップS802で抽出されたオブジェクトを拡大または縮小する。
【0080】
その後、ステップS805において、ステップS801で受信された操作が実行される。なお、本図の例ではステップS807の処理とステップS808の処理とにおいて表示倍率を変更しているが、単に操作を持続した場合にその操作を受け付けて処理を実行する構成としてもよい。また、ステップS807の表示倍率算出処理のみ行って、その表示倍率を画面表示してユーザに提示する構成としてもよい。
【0081】
以上のように、入力操作に対して実行許可がされていない操作であっても、どうしても入力したい場合にはその入力操作を持続することで実行可能となり、入力操作を行うことができるようになる。このため、わざわざ拡大操作や縮小操作を行う必要が無くなる。また、実行可能となった操作が本来入力可能となる大きさになるための拡大率を提示することでユーザに対して操作するのに必要な本来の大きさを教えることもできる。また、実際にその拡大率で表示することで、その後の操作がし易くなる。
【0082】
(第3実施形態)
本実施形態においては、図9を参照して、操作対象のオブジェクトの大きさが大きくなるに従って複雑なジェスチャ操作を受け付ける一例について説明する。
【0083】
図9(a)は、図2と同様のユースケースにおいてWeb画面をある程度拡大操作をした図を示す。中央の画像には人物が写っている。ジェスチャ901は、指201で手書き入力している。本図の例では丸秘と描くことで丸秘のジェスチャとして認識し、丸秘のスタンプ(表示アイコン)が押されることを想定している。しかし、本図の例のように画像オブジェクトが小さい、もしくはオブジェクト認識された人物オブジェクトが小さい場合には丸秘ジェスチャのような複雑なものを入力し難い。そのため、本図のようにジェスチャの形状が崩れ、誤認識の原因となってしまう恐れがある。このようにオブジェクトの表示が小さい場合には、情報処理装置100は複雑なジェスチャを受け付けないようにする。
【0084】
図9(b)は、図9(a)をさらに拡大表示した図を示す。このため、人物が大きく表示されている。このような状態であれば、ジェスチャ901も大きく入力することができ、より綺麗な形状で入力することができる。そのため、オブジェクトが大きく表示されている場合には、情報処理装置100は画数が多いまたは形状が複雑なジェスチャを受け付けるようにする。
【0085】
つまり、表示画面上に存在するオブジェクト上に表示するための表示アイコンを、記号または文字により指定する操作指示が入力された場合を考える。そのオブジェクトの表示サイズが閾値以下である場合であって、記号または文字の画数が所定の整数値以下である場合に、操作指示に対応する表示アイコンの表示処理を実行可能であると判断すればよい(表示実行判断処理)。そして、実行可能であると判断された場合に、操作指示に対応する表示アイコンの表示処理を実行する。
【0086】
このように、ユーザが意図して位置や大きさを決めてジェスチャを入力するような場合でも、ユーザが入力しようとした対象のオブジェクトの大きさに応じてジェスチャの受け付けの可否を切り替えることで、ジェスチャの誤認識を軽減することができる。
【0087】
次に、図10を参照して、オブジェクトの大きさと受け付けるジェスチャ操作の組み合わせを設定した条件表の一例について説明する。
【0088】
本図は、図9を参照して説明した操作実行判断を行うために必要な条件を表として示す。オブジェクト種別1001と、大きさ1002の項目は図4の表の各項目と同じであるが、3列目は許可ジェスチャ1003である。図4の許可操作の中に含めて許可ジェスチャ1003を設定してもよいし、本図のような構成としてもよい。本図の例では例えばオブジェクト種別1001が画像内で認識された画像内オブジェクトであれば、例えば大きさ1002が30×30Pixel未満の場合はオブジェクトが小さ過ぎるため、ジェスチャ操作は受け付けない(許可ジェスチャ1003は無し)。また、大きさ1002が30×30Pixel以上かつ50×50Pixel未満の場合は、簡単な「丸」、「三角」、「四角」等の記号のみを許可ジェスチャ1003としてジェスチャ操作を受け付ける。大きさ1002が50×50Pixel以上かつ100×100Pixel未満の場合は、少し複雑な「星」、「音符」、「ト音記号」等の記号を許可ジェスチャ1003として追加してジェスチャ操作を受け付ける。大きさ1002が100×100Pixel以上というようにオブジェクトが十分に大きい場合は、複雑な「丸秘」、「丸特」、「(株)」等の記号をさらに許可ジェスチャ1003として追加してジェスチャ操作を受け付ける。
【0089】
以上のように、本実施形態の情報処理装置100は、操作対象となるオブジェクトの大きさが大きくなるにつれて複雑なジェスチャ操作を受け付ける。このため、画面の倍率を変更して、表示されるオブジェクトの大きさを変更したユーザの意図に合わせてジェスチャ操作を受け付けることが可能となる。また、誤認識をし易い大きさの場合には複雑なジェスチャ操作を受け付けないことで誤認識を軽減することができる。
【0090】
(第4実施形態)
本実施形態においては、まずは図11を参照して、複数オブジェクトが重なっている場合の操作実行判断の一例について説明する。本図の例では画像のアルバムレイアウトが可能なアプリケーションまたはWebサイトの画面表示を想定している。
【0091】
図11(a)は、通常表示または縮小表示を行った際のアルバムレイアウト画面を示す。
【0092】
ページ1101は、アルバムの1ページを表す。本図の例では画面内に見開き2ページが4つ分表示されている。画像203を操作しようと指201を接近させている。指201の下には画像203とページ1201が存在しているため、双方の条件を考慮して操作を受け付けるかどうかが判断される。例えば、ここでは画像203の内容が確認できる大きさであり且つ指による選択も容易な大きさであることから、画像203に対する選択操作を受け付ける。ページ1101はそれほど大きい大きさではないため、特に許可する操作はないものとする。
【0093】
図11(b)は、図11(a)を拡大表示した例を示し、図11(a)における左上の見開き2ページが中央にくるように表示した例を示す。
【0094】
ここでは、画像203の大きさは図11(a)よりも大きい。従って、図11(a)と同様に選択操作を受け付ける。さらに、ページ1101の大きさも十分大きい。従って、画像203の位置決めを行うレイアウト操作を受け付け可能とする。レイアウト操作とは、例えばドラッグ操作により画像203をユーザの好きな位置に移動する操作のことである。
【0095】
このように、複数オブジェクトの条件を組み合わせることにより、それぞれのオブジェクトの特性に合った複雑な状況判断が可能となる。本図の例では、ページ1101の大きさが小さければ画像203の位置の微調整は難しい。従って、レイアウト操作を受け付けない。これにより、誤って画像203を移動して位置が大幅にずれることを防ぐことができる。
【0096】
次に、図12を参照して、複数オブジェクトが重なっている場合の条件設定の一例について説明する。本図は、図11の判断を実現するための条件の一例を示す。
【0097】
1列目、2列目、4列目は図4と同様である。ただし、1列目のオブジェクト種別1201及び2列目の大きさ1202には複数のオブジェクトの条件を同時に設定できる構成になっている。また、3列目は優先順位1203である。複数の条件が同時に満たされてしまう場合を考慮して、その場合は優先順位に基づいて適用する条件を決定する。複数の条件が同時に満たされることが無いように条件が厳密に切り分けられている場合は、本項目は不要としてもよい。
【0098】
本図の例においては、画像オブジェクトに対する設定は図4と同様であるが、さらに画像オブジェクトとページオブジェクトを組み合わせた条件を追加している。ここで、組み合わせた条件として、画像については内容が確認できる大きさである50×50Pixel以上という条件と、ページについては微調整が可能な大きさである100×100Pixel以上という条件とが同時に設定されている。このように上述の条件が同時に満たされる場合に、画像の位置を微調整できるレイアウト操作を受け付けるように設定している。しかし、画像は50×50Pixel以上という設定であるので、画像が100×100Pixel以上という条件と同時に満たされてしまう可能性がある。その場合、優先順位1203を参照して優先される条件が決定される。本図の例では画像が100×100Pixel以上という条件が優先される。また、優先順位3の条件も、50×50Pixel以上100×100未満という条件に厳密に設定せずに、単に50×50Pixel以上という条件と設定してもよい。画像が100×100Pixel以上になった場合には自動的に優先順位1の条件が選択される。また、優先順位が同じ場合にはその優先順位の全ての操作を受け付けるように構成されてもよい。
【0099】
このように複数のオブジェクトを組み合わせてひとつの条件を表現することで、より複雑な状況判断が可能となる。また、優先順位を設けることで、厳密な大きさの条件を設定する必要がなくなり、容易に設定を行うことができる。さらに、今後の設定変更の際などにも他の条件に影響を及ぼすことが少なくなる。
【0100】
次に、図13を参照して、複数オブジェクトが重なっている場合の操作実行判断処理の一例について説明する。
【0101】
ステップS1301の処理は、図3のステップS301の処理と同様であり、ユーザが入力した操作を受信する処理である。
【0102】
ステップS1302において、操作位置付近の複数オブジェクトを抽出する処理が実行される。操作が入力された開始点に位置する全てのオブジェクトが抽出される。他の方法として、操作が入力された位置から一定距離内に存在する複数オブジェクトを抽出してもよい。
【0103】
ステップS1303において、ステップS1302で抽出されたオブジェクトを全て処理したかどうかが判断される。ここで完了したかどうかを判断する処理とは、ステップS1304からステップS1307までの処理である。全てのオブジェクトを処理したと判断された場合は(ステップS1303;YES)、ステップS1308へ進む。一方、全てのオブジェクトを処理していないと判断された場合は(ステップS1303;NO)、処理していないオブジェクトの中から一つを選択して、ステップS1304へ進む。
【0104】
ステップS1304の処理は、図3のステップS303の処理と同様であり、ステップS1303で選択されたオブジェクトの大きさを計測する処理である。
【0105】
ステップS1305の処理は、オブジェクト種別取得処理であり、ステップS1303で選択されたオブジェクトの種別を取得する処理である。
【0106】
ステップS1306の処理は、フラグを立てる処理である。具体的には、ステップS1304で計測されたオブジェクトの大きさと、ステップS1305で取得されたオブジェクト種別とに基づいて、図12のような条件表を検索し、条件を満たす項目に対してフラグを立てる処理である。例えば、図12を例に説明すると、オブジェクト種別が画像であり、大きさが100×100Pixelだった場合、条件を満たす優先順位1と優先順位2の画像オブジェクトに関する項目に対してフラグを立てる。この場合、優先順位1の条件は先ほどフラグを立てた画像に関する項目しか存在しないため、優先順位1の条件は全て満たされたことになる。一方、優先順位2の条件はページオブジェクトに関する項目に対するフラグが立っていないため、全て満たされたことにならない。
【0107】
ステップS1307の処理は、次のオブジェクトへ進める処理であり、現在処理されたオブジェクトは処理済とする処理である。その後、ステップS1303に戻る。ステップS1303において、処理済のオブジェクトは選択されない。全てのオブジェクトが処理済となった場合に、ステップS1303において、全てのオブジェクトが処理されたと判断される。
【0108】
ステップS1308の処理は、許可操作取得処理であり、ステップS1306で立てられたフラグに基づいて、全ての項目でフラグが立っている条件を抽出し、その中から一番優先順位の高い条件を選択し、選択された条件が許可する操作を取得する処理である。
【0109】
ステップS1309の処理は、図5のステップS505の処理と同様であり、ステップS1301で受信された操作がステップS1308で取得された許可操作に含まれているかどうかを判断する処理である。許可操作に含まれている場合は(ステップS1309;YES)、ステップS1310の受信操作実行処理を行う。一方、含まれていない場合は(ステップS1310;NO)、処理を終了する。
【0110】
以上のように、本実施形態の情報処理装置100においては、複数のオブジェクトが重なっているような場合において、条件を組み合わせて設定することで、より複雑な状況判断が可能となる。また、優先順位を設けることで、厳密な大きさの条件を設定する必要がなくなり、設定を容易に行うことが可能となる。
【0111】
(第5実施形態)
本実施形態においては、図14を参照して、実行可能操作表示の一例について説明する。本図の例は基本的には図11(b)の表示状態と同様である。
【0112】
マーク1401は、現在受け付けている操作をマークとして表したものである。本図の例では、指201を画像203に近付けていった際に、指201が近付いてきたことが検出される。そして、画像203の大きさに対する許可操作が取得されて、許可操作に対応するマークが画像203上に表示されている。図11(b)を参照して説明したように、本図の状況では画像203は選択操作とレイアウト操作を受け付けている。そのため、選択(SELECT)の「S」のマークと、レイアウト(LAYOUT)の「L」のマークとを表示している。これにより、操作対象のオブジェクトが現在どの操作を受け付けているかを確認することができる。本図の例ではマークを用いているが、操作名称や操作説明等をそのまま一覧表示してもよい。また、オブジェクトに重ねて表示せずに邪魔にならない位置に表示してもよい。また、指が近付いたかどうかに関係無く、現在のオブジェクトの大きさに対して受け付けている操作を常に表示してもよい。
【0113】
次に、図15を参照して、入力された操作を受け付けない旨を表示する一例について説明する。本図の例は基本的には図11(a)の表示状態と同様である。
【0114】
図15(a)は、ダイアログを表示することで操作が受け付けられない旨を明示する例を示す。
【0115】
ダイアログ1501は、現在の大きさでは選択操作を受け付けることができないという判断結果を表示し、その旨ユーザに通知する。これは、本図の状態において画像203は表示が小さいため、画像選択操作を受け付けていないにも関わらず、指201で画像203に対して選択操作を行ったために表示される。また、本図のようにダイアログ1501において、拡大すれば選択操作を受け付けることが可能な旨を併記してもよい。さらに、選択操作が可能となる表示倍率を併記してもよい。
【0116】
図15(b)は、オブジェクト上にマークを表示することで操作を受け付けられない旨を明示する例を示す。
【0117】
操作不可マーク1202は、現在の大きさでは操作することが不可能なことを示すためのオブジェクト上のバツ印である。これにより、ユーザが対象とする操作を当該オブジェクトは受け付けることができない旨を示している。操作を受け付けていない全てのオブジェクトにマークを表示してもよい。
【0118】
図15(c)は、オブジェクトを薄く表示することにより操作を受け付けられないことを明示する例を示す。
【0119】
操作不可オブジェクト1503は、現在の大きさでは操作することが不可能なオブジェクトであることを、例えば薄く表示することによって示している。操作を受け付けていない全てのオブジェクトを薄く表示してもよい。
【0120】
以上のように、本実施形態の情報処理装置100においては、現在実行中の操作を画面上に表示することで、ユーザが操作を行う前に認識できる。従って、操作を試みたにも関わらず、その操作が受け付けられないという煩わしさを軽減することができる。また、許可されていない操作をしてしまった場合には、操作を受け付けられない旨を表示することで、操作が許可されていないことをユーザに伝えることができる。さらに、操作を受け付け可能とするためのアドバイスを併記することで、ユーザに対してどのようにすれば操作が可能になるかを知らせることができる。
【0121】
(第6実施形態)
本実施形態においては、まずは、図16(a)を参照して、条件変更画面の一例について説明する。本図の例では図4の条件表を一覧として画面に表示して、各項目を変更できるようにした画面を想定している。
【0122】
リストボックス1601は、オブジェクト種別を選択可能なボックスである。ここで操作対象となるオブジェクト種別をリストの中から選択する。
【0123】
テキストボックス1602は、大きさを入力するボックスである。ここに操作を受け付ける際の判断条件となるオブジェクトの大きさを入力する。本図の例ではテキストボックスによる手入力を想定しているが、1桁ずつ上下ボタンを用意して値を1ずつインクリメント/デクリメントしてもよい。また、リストボックスとしていくつか用意した値の中から選択してもよい。
【0124】
リストボックス1603は、許可操作を選択するボックスである。ここで条件が満たされた場合に許可される操作を選択する。本図の例では1つしか許可操作を設定できないが、複数設定できるようにしてもよい。
【0125】
また、各項目の表示例としてリストボックスやテキストボックスを用いているが、これに限定されるものではない。それぞれの入力項目はタッチ操作で選択してもよいし、キー操作でカーソルを移動させてもよい。また、本図の例のような条件変更画面を用いずに条件が設定されたデータベースやテキストファイル等を直接編集しても良い。
【0126】
次に、図16(b)を参照して、サンプルオブジェクトを用いて条件値を設定する一例について説明する。サンプルオブジェクト1604は、条件値を調整するために作り出されたオブジェクトである。本図の例のように様々な大きさのサンプルオブジェクトを用意しておき、全ての大きさのサンプルオブジェクトに対してユーザに選択操作等の調整を行いたい操作を入力してもらう。その際に、選択操作に失敗した大きさは条件から外れるように条件表の値を変更する。操作に失敗とは、選択に際して指がオブジェクトから外れている状態、または複数のオブジェクトに指が掛かってしまった状態が考えられる。このように操作に失敗した場合に条件表の値を調整することで、操作入力したユーザに合った条件表に調整できる。このため、入力する回数は1回よりも複数回とすることで調整する精度が向上するだろう。また、指やペン、歩行中等の条件を付けて同様の操作を行うことで、各シチュエーションに応じた条件表を作ってもよい。また、本図のようなサンプルオブジェクトを用意しなくても、通常時の操作から学習してもよい。例えば、オブジェクトが小さいにも関わらず選択操作を行った場合は操作を受け付けないが、一定回数同様な操作を行った場合にはユーザはその大きさであっても選択操作をしたいものと判断して、選択操作を受け付けるように条件を変更してもよい。一方、オブジェクトが選択するのに十分な大きさがあっても、オブジェクトでない部分をタッチしたり複数のオブジェクトに跨って選択したりといった失敗をした場合にはその大きさでは選択操作を受け付けないように条件を変更してもよい。また、ユーザが直前の操作を取り消す処理を行った場合にも取り消した操作を受け付けないように条件を変更してもよい。
【0127】
次に、図17を参照して、操作の失敗や取消操作から学習して、条件表を変更する処理の一例について説明する。ステップS1701からステップS1703までの各処理は図3のステップS301からステップS303までの各処理と同様である。ユーザが入力した操作を受信して、操作が入力された位置付近のオブジェクトを抽出して、オブジェクトの大きさを計測する処理が実行される。
【0128】
ステップS1704において、ステップS1701で受信された操作が取消操作か否かが判断される。取消操作であると判断された場合は(ステップS1704;YES)、ステップS1705に進む。一方、取消操作でないと判断された場合は(ステップS1704;NO)、ステップS1709に進む。
【0129】
ステップS1709とステップS1710との各処理は、図5のステップS504とステップS505との各処理と同様の処理である。ステップS1709において、計測されたオブジェクトの大きさに基づいて許可操作が取得される。ステップS1710において、受信された操作が許可操作に含まれるかどうかが判断される。許可操作に含まれると判断された場合は(ステップS1710;YES)、ステップS1711に進む。ステップS1711において、受信された操作に対応する処理が実行される。一方、許可操作に含まれないと判断された場合は(ステップS1710;NO)、ステップS1712に進む。
【0130】
ステップS1712において、受信された操作と同じ操作が許可操作に含まれないとステップS1710で判断された回数が所定回数以上であるかどうかが判定される。同じ操作が「操作を受け付けられない(許可操作に含まれない)」と所定回数判別された場合は(ステップS1712;YES)、ステップS1713に進む。ステップS1713において、現在の大きさでも当該操作が受け付けられるように条件を変更する。なぜなら、ユーザが受け付けられない操作を何度も試みたのは、現在の大きさであっても当該操作を行いたいという意思があると解釈できるからである。ステップS1713の処理としては、例えばその表示サイズにおけるオブジェクトへの操作指示を実行可能操作指示として追加する処理を実行すればよい。また、許可する大きさは、過去の不許可と判断された大きさを記憶しておき、その平均値、最大値、または最小値に変更してもよい。一方、同じ操作が所定回数以上「操作を受け付けられない(許可操作に含まれない)」と判断されていない場合は(ステップS1712;NO)、処理を終了する。
【0131】
一方、ステップS1705の処理は、オブジェクト取得処理であり、取消対象の操作を入力した時の操作対象のオブジェクトが取得される。このために、入力された操作はいつ取り消されるか分からないため、何らかの操作を受け付けた際には当該操作が入力された位置にあるオブジェクトを記憶しておく。
【0132】
ステップS1706の処理は図3のステップS303の処理と同様であり、ステップS1705で取得されたオブジェクトの大きさが計測される。何らかの操作を受け付けた際には当該操作が入力された位置のオブジェクトの大きさを記憶しておき、その値を取得してもよい。この場合、ステップS1705の処理は不要となる。
【0133】
ステップS1707において、同じ操作が所定回数取り消されているかの取消判断がなされる。同じ操作が所定回数以上取り消されている場合は(ステップS1707;YES)、ステップS1708に進む。ステップS1708において、現在の大きさでは当該操作を受け付けないように条件を変更する(実行可能操作指示から除外する)。なぜなら、ユーザが何回も操作を取り消したのは、現在の大きさでは当該操作を行いたくないという意思があると解釈できるからである。また、不許可とする大きさは、過去の操作に失敗した際の大きさを記憶しておき、その平均値、最大値、または最小値に変更してもよい。
【0134】
以上のように、本実施形態の情報処理装置100においては、条件を変更することで、環境やユーザの使い方に合わせた設定を行うことが可能となる。また、実際に入力された操作や取消操作等を学習することで、ユーザの癖や意図を反映したより精度の高い判断が可能となる。
【0135】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、パーソナルコンピュータで表示画面操作を行う際には、操作し易い表示倍率に変更してから作業を行うのが一般的である。表示倍率を変更する方法としてはリストボックスから所望の倍率を選択したり、直接倍率を数値で入力したり、スライダを動かして変更する等の方法がある。また近年では、タッチパネルを搭載した携帯電話や携帯情報端末、タッチパッドを搭載したノート型パーソナルコンピュータ等において、2本の指などを開閉するというジェスチャによって拡大縮小を行うものが急速に増えてきている。しかし、このような機器で表示倍率を小さくし過ぎると操作対象のオブジェクトが小さく表示されてしまい操作がし難くなる。例えば、狙ったオブジェクトの隣のオブジェクトを選択したり、複数のオブジェクトに跨って選択したりするといった誤操作が発生する。
【0003】
表示が小さい場合のこうした誤操作を回避するために、様々な方法が開示されている。例えば、特許文献1では、オブジェクトの密集度が高い場合に自動的に拡大表示を行う。これにより隣のオブジェクトを誤って選択してしまうことを防いでいる。特許文献2では、選択操作する指等の画面接触範囲内に複数のオブジェクトが入っている場合に自動的に拡大表示を行う。これにより複数のオブジェクトに跨って選択をしてしまうことを防いでいる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−140811号公報
【特許文献2】特開2009−032028号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1においてはオブジェクトの表示が小さいにも関わらずオブジェクト同士が離れて配置されている場合には拡大されない。特許文献2においても、オブジェクトの表示が小さいにも関わらず指等による画面接触領域内に複数のオブジェクトが存在しなければ拡大されない。このため、オブジェクトが小さく表示されており見え難い場合に意図せずオブジェクトに触れてしまうことがある。他にも、オブジェクトが小さく内容が確認し難い場合に、勘違いして別のオブジェクトを選択してしまうことがある。また、ユーザが縮小表示を行うのは、全体を見渡しながらスクロールをしたいという意図を持っている場合が多いと考えられ、オブジェクトが密集していた場合でも自動的に拡大して欲しくない場合があると考えられる。また、ユーザが画像オブジェクトを拡大した場合には、画像編集モード等に切り替えることなく直接画像オブジェクトに対して落書きや手書き文字入力を行いたいという場合が考えられる。しかしながら、従来の画面の拡大縮小が可能な機器ではどの倍率で表示されていても入力可能な操作が同じであるため、拡大縮小を行ったユーザの意図に応えることができなかった。
【0006】
上記の課題に鑑み、本発明は操作対象のオブジェクトが小さく表示されている場合の誤操作を防ぎ、画面の拡大縮小を行ったユーザの意図に合った操作を実行することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成する、本発明に係る情報処理装置は、
表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、
前記表示画面上でなされた操作指示を入力する入力手段と、
前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得手段と、
前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定手段と、
を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、操作対象のオブジェクトが小さく表示されている場合の誤操作を防ぎ、画面の拡大縮小を行ったユーザの意図に合った操作を実行することができる。
【図面の簡単な説明】
【0009】
【図1】(a)本発明に係る情報処理装置のハードウェア構成の一例を示すブロック図、(b)本発明に係る情報処理装置のソフトウェア構成の一例を示すブロック図。
【図2】Web画面を異なる拡大率で表示した一例を示す図。
【図3】操作実行判断処理の一例を示すフローチャート。
【図4】オブジェクトの大きさと実行する操作の組み合わせの一例を示す表。
【図5】条件に基づいて操作を実行するかどうかを判断する処理の一例を示すフローチャート。
【図6】(a)操作に優先度を設定した例を示す表、(b)オブジェクトの大きさに応じて操作の優先度を変更する一例を示す表。
【図7】優先度に基づいて操作を実行するかどうかを判断する処理の一例を示すフローチャート。
【図8】操作を持続的に入力し続けることで当該操作を実行可能とする処理の一例を示すフローチャート。
【図9】操作対象のオブジェクトの大きさが大きい場合に複雑なジェスチャ操作を実行する一例を示す図。
【図10】オブジェクトの大きさと実行するジェスチャ操作の組み合わせの一例を示す表。
【図11】複数オブジェクトが重なっている場合の操作実行判断の一例を示す図。
【図12】複数オブジェクトが重なっている場合の条件の一例を示す表。
【図13】複数オブジェクトが重なっている場合の操作実行判断処理の一例を示すフローチャート。
【図14】実行可能操作表示の一例を示す図。
【図15】入力された操作を実行しない旨を表示する一例を示す図。
【図16】(a)条件変更画面の一例を示す図、(b)サンプルオブジェクトを用いて条件値を設定する一例を示す図。
【図17】学習することにより条件表を変更する処理の一例を示すフローチャート。
【図18】オブジェクトの大きさと実行する操作の組み合わせの一例を示す表。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが課題の解決に必須のものとは限らない。
【0011】
(第1実施形態)
本実施形態においては、操作対象のオブジェクト(注目オブジェクト)の大きさに応じて操作を実行するかどうかを判断する場合について説明する。
【0012】
まず、図1(a)を参照して、本発明に係る情報処理装置100のハードウェア構成の一例を示すブロック図について説明する。バス101は、各構成要素を接続する。CPU102は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、バス101に接続された各構成要素を制御する。
【0013】
情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリは、フローチャートにより後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。メモリはROM(Read−Only Memory)103であってもよいし、外部記憶装置などからプログラムがロードされるRAM(Random Access Memory)104であってもよい。あるいは、これらの組み合わせで実現してもよい。
【0014】
記憶装置105は、本発明に係るデータやプログラムを記憶するハードディスク等の記憶装置である。また、記憶装置105と同様の役割を果たすものとして、外部記憶装置106を用いてもよい。ここで、外部記憶装置106は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。本実施形態において必要な情報は、RAM104や記憶装置105、外部記憶装置106に保持される。
【0015】
情報入力装置107は、外部装置からの情報を入力するための情報入力装置である。操作者の情報処理装置に対する操作が入力される。入力する方法としては例えば、マウス、トラックボール等のポインティングデバイスや、タッチ入力等が考えられる。
【0016】
情報出力装置108は、情報処理装置100で処理された結果や保持している情報を外部装置に出力する。本実施形態においては情報処理装置100にて生成されたオブジェクトや、それに関わる表示等の画面表示を行うための情報を出力し、画面表示装置等にて表示される。
【0017】
次に、図1(b)を参照して、本発明に係る情報処理装置100のソフトウェア構成の一例を示すブロック図について説明する。
【0018】
操作受付部151は、情報入力装置107から入力された情報処理装置100に対する操作要求を受け付ける。操作要求は、マウス、トラックボール、タッチパッド、タッチパネル、スタイラスペン、ペンタブレット、又はキーボード等のデバイスを用いて入力される。タッチが可能なデバイスにおいては、指やペンを用いた入力が考えられる。
【0019】
オブジェクト抽出部152は、操作受付部151で受け付けた操作が入力された画面上の位置に存在するオブジェクトを抽出する。
【0020】
オブジェクトサイズ計測部153は、オブジェクト抽出部152で抽出されたオブジェクトの表示上の大きさを計測する。オブジェクトの大きさは、画素のピクセル単位で計測されてもよいし、表示上の長さで計測されてもよいし、または面積を求めて計測されてもよい。
【0021】
操作実行判断部154は、オブジェクトサイズ計測部153で計測されたオブジェクトの大きさに基づいて、操作受付部151で受け付けた操作を本当に実行してもよいかを判断する。具体的には、オブジェクトの大きさと実行可能操作指示との組み合わせを予め設定した条件を定義データとして記憶しておき、当該条件に基づいて受け付けの可否が判別される。
【0022】
操作実行部155は、操作実行判断部154で操作を実行してもよいと判断された場合に当該操作に対応した処理を実行する。実行結果は情報出力装置108に通知され、画面等の表示装置に実行結果が反映される。
【0023】
次に、図2を参照して、本発明に係る情報処理装置100がタッチパネルを搭載した携帯情報端末に搭載された場合を例に挙げて、Webサイトを異なる拡大率で表示した様子について説明する。図2は、Webサイトを異なる拡大率で表示した一例を示す図であり、画像共有サイトをイメージした画面である。ここではWebサイトを例に挙げているが、Webサイトに限定されるものではなく、携帯情報端末やPC上に搭載されたアプリケーションであってもよい。
【0024】
図2(a)はWebサイトを通常表示または縮小表示した例を示す図である。
【0025】
画面200は携帯情報端末の表示画面であり、携帯性を重視しているためそれほど大きくはないものを想定している。そのため、通常表示または縮小表示を行った場合には、Webサイトを構成する文字や画像、ボタン等のオブジェクトは非常に小さく表示され、見難いものとなる。また、本画面にはタッチパネルが搭載されており、この表示画面上に指やスタイラスペン等による入力が可能なものを想定している。ただし、タッチパネルの搭載は必須ではなく、タッチパネルを搭載せずにマウスやトラックボール、ハードボタン、キーボード等による入力であってもよい。また、画面の拡大縮小操作は、画面に触れた2点の間隔が広がっていくと拡大操作、狭まっていくと縮小操作と判断するものを想定している。他にも画面にスライダを設けてスライダの位置に合わせて拡大縮小を行ってもよいし、拡大縮小ボタンを用意してもよいし、倍率を直接指定できるものでもよい。
【0026】
指201は、ユーザの指であり、タッチパネルを搭載した画面200に直接触れることにより各種操作を行う。
【0027】
テキストボックス202は、テキストを入力可能なボックスであり、テキストボックスを選択することでテキスト入力画面に遷移またはテキスト入力ダイアログが開くなどしてテキストの入力が可能となる。しかし、本図の例のように小さく表示されている場合には、指201で触れて選択するには指先よりも表示が小さいため選択がし難い状態となっている。このような選択し難い状態で無理して選択操作を行うことは考えにくい。そこで、オブジェクトが選択し難い大きさに表示されている場合に、情報処理装置100では選択操作を受け付けず、図2(a)において矢印で示したようなスクロール操作のみを受け付ける。スクロール操作は通常オブジェクトが存在しない部分をドラッグすることで画面全体を好きな方向に移動させることができるが、図2(a)の例ではオブジェクトであるテキストボックス上であってもスクロール操作として見なされることになる。スクロール操作のみを受け付けることで、スクロールをしたいにも関わらず誤ってオブジェクトを選択してしまい、画面遷移してしまうといった煩わしさを解消することができる。
【0028】
画像203は、Webサイト上に配置されているものである。ここでの例ではWeb上で共有された画像を想定しており、画像に触れることで選択をして、ダウンロードしたり選択した画像を別途画像編集画面で編集したりできる。しかし、図2(a)に示される例のように、小さく表示されている場合には何の画像なのか確認し難く、何の画像なのか分からないにも関わらず特定の画像を選択することは考えにくい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、画像上であってもスクロール操作を受け付ける。
【0029】
リストボックス204はリストが記載されたボックスであり、一行表示のリストボックスに触れて選択することで一覧が開き、その一覧の中から好きなものに指またはタッチペン等で触れることにより選択を行うことができる。しかし、図2(a)に示される例のように、小さく表示されている場合には文字が読み難いため、内容が把握できずどれを選択すべきか判断し難い。また、リストの隣の項目と隣接しているため、図2(a)に示される例のような大きさでは狙った項目を指で選択するのは難しい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、リストボックス上であってもスクロール操作を受け付ける。
【0030】
ユーザがボタン205に触れることで選択が行われ、ボタンに割り当てられた動作が実行される。しかし、図2(a)に示されるように小さく表示されている場合には、ボタンに書かれた文字が見難く、何をするためのボタンなのかが判断し難い。また、指で選択するには小さすぎ、選択操作が難しい。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、ボタン上であってもスクロール操作を受け付ける。
【0031】
リンク206は、下線が引かれた文字部分に触れることで選択され、リンクされた別のページへと画面が遷移するためのリンクである。しかし、図2(a)に示されるように小さく表示されている場合には文字が見難く、どこへのリンクなのかが判断し難い。また、指で選択するには小さすぎ、選択操作が難しい。また、スクロール操作をしたい場合に単なる文字とリンクとの区別が付き難く、誤って選択してしまうことがある。そこで、本実施形態に係る情報処理装置100では選択操作を受け付けず、リンク上であってもスクロール操作を受け付ける。
【0032】
図2(b)は、図2(a)が拡大表示された状態を示す図である。テキストボックス202は、拡大されたために指201の指先が入る程度の大きさで表示され、選択操作が容易に行える。そのため、情報処理装置100は選択操作を受け付け、テキストボックス202上でのスクロール操作は受け付けないようにする。
【0033】
画像203は、拡大されたために画像の内容が確認できる程度の大きさで表示され、所望の画像が見つけ易い大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、画像203上でのスクロール操作は受け付けないようにする。
【0034】
リストボックス204は、拡大されたために文字が読み易くなり、また、指先による選択操作が容易に行える大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、リストボックス204上でのスクロール操作は受け付けないようにする。また、リストボックス204の一覧は項目同士が隣接しているため、誤って隣の項目を選択してしまうことが良く起こることから、指の腹の部分全体が収まる程度の大きさで表示されている際に選択操作を可能としてもよい。
【0035】
ボタン205は、拡大されたためにボタンに書かれた文字が見易く、何をするためのボタンなのかが判断し易い大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、ボタン205上でのスクロール操作は受け付けないようにする。
【0036】
リンク206は、拡大されたために文字が見易くなり、指先による選択操作が容易に行える大きさとなっている。そのため、情報処理装置100は選択操作を受け付け、リンク206上でのスクロール操作は受け付けないようにする。
【0037】
ここで、本図の例ではオブジェクト上におけるスクロール操作を受け付けないようにすると説明したが、他の方法としてタップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作の場合はスクロール操作と判断してもよい。これにより、オブジェクト上で選択操作とスクロール操作の両方を受け付けることも可能となる。
【0038】
図2(c)は、図2(b)よりもさらに拡大表示された状態を示す図である。
【0039】
テキストボックス202は、さらに拡大されたために指201の指先よりも十分に大きい大きさとなっている。そのため、情報処理装置100はテキストボックス202に対する手書き文字入力操作を受け付ける。即ち、前述したスクロール操作とは異なる種類の操作を受け付ける。この際、手書き入力された文字が認識され文字データに変換されることで、テキストボックス202への入力となる。また、図2(c)の状態において情報処理装置100は手書き文字入力操作と混同しないように、テキストボックス202上でのスクロール操作は受け付けないようにする。選択操作についてはスクロール操作と同様に受け付けないようにしてもよい。もしくは、タップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作のように触れた点が移動した場合は手書き文字入力操作と判断してもよい。
【0040】
画像203は、拡大されたために指201の指先よりも十分に大きい大きさとなっている。そのため、情報処理装置100は画像203に対する落書き操作(描画操作)を受け付け、画像203上でのスクロール操作は受け付けないようにする。また、選択操作についてはスクロール操作と同様に受け付けないようにしてもよい。もしくは、タップ操作(軽く1回触れるだけの操作)の場合は選択操作と判断し、ドラッグ操作のように触れた点が移動した場合は落書き操作と判断してもよい。
【0041】
その他のオブジェクトについては図2(b)と同様の処理を行う。
【0042】
このように、操作対象のオブジェクトが小さい時には選択操作は難しいため、ユーザは選択操作よりも全体を見渡せる状態を生かしてスクロール操作をしたいという意図があるものと考えられる。このような場合に本実施形態に係る情報処理装置100はユーザの意図に応えるべく、スクロール操作のみを受け付けることができる。また、オブジェクトが小さくて選択し難い状態での誤操作を防ぎ、選択し易い状態に拡大表示された場合には選択操作を受け付けることができる。さらに拡大を行い、テキストボックスや画像が大きく表示されている場合には、編集画面に遷移させる手間をかけることなく、直接手書き文字入力や落書きを行いたいという要求にも応えることができる。
【0043】
次に、図3を参照して、オブジェクトの大きさに応じて受け付けた操作を実行するかどうかを判断する処理の一例について説明する。図3は、操作実行判断処理の一例を示すフローチャートである。
【0044】
ステップS301において、操作受付部151は情報入力装置107から入力されたユーザの操作指示を受信する操作受信処理を行う。ステップS302において、オブジェクト抽出部152は操作位置付近のオブジェクト抽出処理を行う。具体的には、ステップS301で受信された操作が入力された位置付近に存在するオブジェクトを抽出する。操作が入力された位置付近に存在するオブジェクトは、例えば操作が入力された始点に最も近いオブジェクトとすればよい。より具体的には、操作指示が入力された位置に存在するオブジェクトまたは当該位置に対して所定距離の範囲内にあるオブジェクトのうち、操作指示が入力された位置からの距離が最小となる位置に存在するオブジェクトを抽出すればよい。その他の例としては、操作を指示する点が移動する場合には、点が通過した距離が最も長いオブジェクトを選んでもよい。また、操作のために入力された各座標点から最も近いオブジェクトを抽出してもよい。
【0045】
ステップS303において、オブジェクトサイズ計測部153はオブジェクトサイズ計測処理を行う。具体的には、ステップS302で抽出されたオブジェクトの表示上の大きさ(表示サイズ)を計測する。大きさはオブジェクトの外接矩形を抽出して、外接矩形の縦横のPixel数を算出することにより計測すればよい。その他の例としては、オブジェクトの面積を表す画素数を計測してもよい。
【0046】
ステップS304において、ステップS303で計測されたオブジェクトの大きさに基づいて、ステップS301で受信された操作を実際に実行しても良いかを判断する。例えば、表示サイズが閾値以下である場合には、操作指示に対応する処理を実行可能でないと判断し、表示サイズが閾値より大きい場合には操作指示に対応する処理を実行可能であると判断するようにすればよい。受け付けても良いと判断された場合は(ステップS304;YES)、ステップS305へと進む。一方、受け付けないと判断された場合は(ステップS304;NO)、そのまま処理を終了する。
【0047】
ステップS305において、受信操作実行処理を行う。ステップS301で受信された操作に対応する処理を実行する。これにより、図3における選択処理やスクロール処理等が実行される。
【0048】
次に、図4を参照して、受け付けた操作を実行するかどうかを判断する具体的な方法の一例について説明する。図4は、オブジェクトの大きさと実行する操作の組み合わせの一例を示す。本図の例は図2のような操作実行判断を行うために必要な条件を表として示している。このような表を定義データとして記憶しておけば、操作実行判断の際に利用できる。
【0049】
表の1列目はオブジェクト種別401で、オブジェクト種別毎に別々の設定ができるようにしている。なお、この項目を用意せずに、全てのオブジェクトで共通の設定とすることも可能である。本図の例では図2に示したようなテキストボックスや画像、リストボックス、ボタン、リンクがある。もちろん他のオブジェクト種別が画面に登場する場合はさらにオブジェクト種別401を設定してもよい。また、オブジェクト種別401は、画像認識技術を用いて、オブジェクト認識して得られた画像内のオブジェクトを設定してもよい。例えば、画像中の人物や建物、車や船等といったオブジェクトが考えられる。
【0050】
表の2列目は大きさ402で、操作を受け付ける際の判断材料になるオブジェクトの大きさを設定する。本図の例では大きさをオブジェクトの縦横のPixel数で表現している。この他にも、面積として「900Pixel未満」のように設定してもよいし、ミリメートル等で設定してもよい。
【0051】
表の3列目は許可操作403で、オブジェクトの大きさが2列目で設定された大きさ402に適合する場合に受け付ける操作を設定する。例えば、テキストボックスにおいて図2のような判断を行うためには、2列目に指先が入らないくらいの大きさ、例えば30×30Pixel未満という条件を設定し、その場合の許可操作としてスクロール操作を設定する。次に、指先が入る大きさ、例えば30×30Pixel以上かつ100×100Pixel未満という条件を設定し、その場合の許可操作として選択操作を設定する。次に、手書き可能な大きさ、例えば100×100Pixel以上という条件を設定し、その場合の許可操作として手書き文字入力操作を設定する。
【0052】
このように他のオブジェクト種別に対しても同様に設定を行い、本図のような条件表を定義すると、図2のような判断が可能となる。また、本図で設定された大きさ402は一例であり、別のPixel数を設定してもよい。特に、画面の大きさや表示解像度、表示デバイスの性能によっては操作し易いオブジェクトの大きさが変わるため、使用状況に合わせて設定を変えてもよい。さらに、指やペン、マウス等のように操作の入力媒体が変わることによっても操作し易いオブジェクトの大きさが変わる。そのため、入力媒体毎にそれぞれの条件表を用意しておき、入力媒体検出処理で検出された入力媒体に基づいて条件表を切り替えてもよい。タッチパネルに対しての入力媒体の検出方法としては、入力検出方式の違い(例えば静電容量方式と電磁誘導方式)や、タッチパネル上の接触面積の大きさ等で区別すればよい。また、携帯情報端末に加速度センサが搭載されていれば、加速度センサが検出した揺れから歩行中であるかを判断し、歩行中の場合では条件表を歩行用の表に切り替えてもよい。もしくは、揺れの大きさに応じた条件表を用意しておき、揺れの大きさに応じて表を切り替えてもよい。また、許可操作についても本図の内容に限定されるものではなく、他の操作を設定してもよい。さらに、ジェスチャ認識を利用できる環境においては、許可するジェスチャ操作を設定してもよい。
【0053】
このように、オブジェクトの大きさ402と、その際に許可する許可操作403とを設定した条件を定義データとして記憶しておけば、この条件を用いて図2のような判断が可能となる。
【0054】
次に、図5を参照して、条件に基づいて受け付けた操作を実行するかどうかを判断する処理の一例を示すフローチャートについて説明する。
【0055】
ステップS501からステップS503までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。
【0056】
ステップS504において、許可操作取得処理を行う。ステップS502で抽出されたオブジェクトと、ステップS503で計測された大きさに基づいて、予め定義しておいた図4のような条件表を検索し、許可操作を取得する。
【0057】
ステップS505において、ステップS501で受信された操作がステップS504で取得された許可操作に含まれているかどうかを判断する。許可操作に含まれている場合は実行可能操作として判断され(ステップS505;YES)、ステップS506へ進む。一方、許可操作に含まれていない場合は実行不可能操作として判断され(ステップS505;NO)、ステップS501で受信された操作の実行処理をしないで処理を終了する。ステップS506において、図3の例と同様に、ステップS501で受信された操作に対応する処理を実行する。
【0058】
図4及び図5を例に挙げて説明したように、操作対象となるオブジェクトの表示上の大きさと受け付ける操作の組み合わせを予め条件として設定しておくことで、その条件に基づいてオブジェクトの大きさに応じた操作の受け付けが可能となる。
【0059】
次に、図6を参照して、操作を受け付けるかどうかを判断する具体的な方法の別の一例について説明する。図6はオブジェクトの大きさに応じて操作の優先度を変更する一例を示す表である。
【0060】
図6(a)はオブジェクト上で操作601を行った場合の各操作に対する最初の優先度602の状態を表している。本図の例では、選択操作の優先度が一番高く、基本的には選択操作が優先的に受け付けられることを示している。しかし、この状態ではスクロール操作をしたい場合に、誤ってオブジェクトに触れてしまうとそのオブジェクトが選択されてしまうという問題が発生する。また、このままではオブジェクトに対する選択以外の操作が受け付けられない。そのため、選択以外の操作を許可するためにモード切り替えによって優先度を変更できる構成とすればよい。さらに、オブジェクト毎に操作の優先度を別々に設定する構成としてもよい。
【0061】
図6(b)はオブジェクト種別611の大きさ612に応じて各操作613の優先度614を変更した後の状態を表として示している。例えば、操作しようとしているテキストボックスが30×30Pixel未満だった場合はスクロールの優先度が高くなるように変更されることを示している。これにより、操作対象のオブジェクトの大きさに応じて受け付ける操作を切り替えることが可能となる。また、本図の例では1列目のオブジェクト種別611の項目を設けることでオブジェクト種別毎に別々の設定を行っているが、この列を設けずに全てのオブジェクト種別で共通の設定としてもよい。
【0062】
次に、図7を参照して、優先度に基づいて受け付けた操作を実行するかどうかを判断する処理の一例を示すフローチャートについて説明する。
【0063】
ステップS701からステップS703までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。
【0064】
ステップS704において、ステップS703で計測されたオブジェクトの大きさに基づいて操作の優先度を変える処理を行う。具体的には図6の表のようにオブジェクトの大きさに基づいて、操作の優先度を変更する処理が行われる。
【0065】
ステップS705において、ステップS701で受信された操作の優先度が高いかどうかが判断される。高い場合は(ステップS705;YES)、ステップS706に進み、受信された操作の処理を実行する。受信された操作の優先度が低い場合には(ステップS705;NO)、処理を終了する。
【0066】
図6及び図7を例に挙げて説明したように、操作対象となるオブジェクトの表示上の大きさに基づいて操作の優先順位を変更することで、その優先順位に基づいてオブジェクトの大きさに応じた操作の受け付けが可能となる。
【0067】
また、ここまでの例では、オブジェクトの大きさに基づいてスクロール、選択、手書き等の操作を切り替える例を挙げたが、操作はその他のものであっても良い。
【0068】
その他の例を、図18を参照して説明する。図18は、図4のその他の操作に対応させた場合の例である。図18は、オブジェクト種別1801の大きさ1802に応じた各操作1803を表として示している。例えば、指を移動させるという同じ操作であっても、画像オブジェクトの大きさに基づいて受け付ける操作を変えるという例を挙げる。
【0069】
オブジェクト1801としての画像オブジェクトの大きさが50×50pixel未満と小さく、画像の内容を確認し難い時には、画像の上で指を移動させる操作を行うと画面全体のスクロール操作となる。この時、画像の上で指を移動させずに指を離しても何も起こらないとしても良い。画像オブジェクトの大きさが50×50pixel以上100×100pixel未満で画像の内容が確認できる程度の大きさの時には、画像の上で指を移動させる操作を行うと画像の移動操作となり、画像を別の場所に移すことができる。この時、画像の上で指を移動させずに指を離した場合は、指が触れた画像オブジェクトを選択するとしても良い。画像オブジェクトの大きさが100×100pixel以上と十分大きい時には、画像の上で指を移動させる操作を行うと手書きによる文字入力またはらくがき操作が可能となる。この時、画像の上で指を移動させずに指を離しても何も起こらないとしても良いし、指が触れた画像オブジェクトを選択するとしても良いし、らくがきとして指が触れた点を描画しても良い。
【0070】
例えば、ボタンオブジェクトの標準サイズに対して現在の表示サイズが50%の場合はスクロール操作を有効とし、100%の場合は選択操作を有効とし、200%の場合は手書き操作を有効とする。
【0071】
また、画面全体の表示倍率に基づいて有効となる操作を決定しても良い。例えば、表示倍率が50%の場合はスクロール操作を有効とし、100%の場合は選択操作を有効とし、200%の場合は手書き操作を有効とする。この方法は、写真一覧などのオブジェクトの大きさが統一されている場合などに有効である。
【0072】
また、オブジェクト毎に画面全体の表示倍率を別々の値を設定できるようにすることで、図2のようにオブジェクトの大きさが統一されていない場合にも対応できる。
【0073】
以上のように、本実施形態の情報処理装置100は、操作対象となるオブジェクトの大きさに応じて受け付ける操作を変更する。このため、操作対象のオブジェクトが小さく表示されている場合でも誤操作を防ぐことができる。また、画面の倍率を変え、表示されているオブジェクトの大きさを変えたユーザの意図に合わせて操作を受け付けることが可能となる。
【0074】
(第2実施形態)
本実施形態では、操作を持続的に入力し続けることでその操作を実行可能とする構成について説明する。
【0075】
まずは、図8を参照して、本実施形態操作を持続的に入力し続けることで当該操作を実行可能とする処理の一例を示すフローチャートについて説明する。
【0076】
ステップS801からステップS803までの各処理は図3のステップS301からステップS303までの各処理と同様であり、操作が入力された位置付近のオブジェクトの大きさを計測している。ステップS804において、現在のオブジェクトサイズで受信操作は実行可能であるかどうかが判定される。操作を実行できると判断された場合には(ステップS804;YES)、ステップS805へ進む。一方、操作を実行できないと判断された場合には(ステップS804;NO)、ステップS806へ進む。
【0077】
ステップS806において、操作が持続的に入力されているかどうかの持続判断がなされる。例えば、画面に触れることによる選択操作であれば、ユーザが画面に触れ続けているかどうかで判断される。他の例としては、画面上をドラッグ操作することによるスクロール操作であれば、ドラッグし続けるまたはドラッグ後の位置で触れたままとするといった状態が検出されることによって、操作が持続していると判断されてもよい。持続している時間が所定時間を超えた場合(ステップS806;YES)、ステップS807へ進む。一方、持続している時間が所定時間を超えない場合(ステップS806;NO)、そのまま処理を終了する。
【0078】
ステップS807において、ステップS806で操作が持続的に入力されたと判定された場合に、画面の表示倍率を算出する処理が実行される。算出方法は、まず受信された操作が受け付け可能となるように、必要なオブジェクトの大きさを算出する。次に、ステップS802で抽出されたオブジェクトが、当該算出された大きさとなるように画面の表示倍率を算出して決定する。
【0079】
ステップS808において、ステップS807で算出された表示倍率に基づいて、画面全体、画面の一部、またはステップS802で抽出されたオブジェクトを拡大または縮小する。
【0080】
その後、ステップS805において、ステップS801で受信された操作が実行される。なお、本図の例ではステップS807の処理とステップS808の処理とにおいて表示倍率を変更しているが、単に操作を持続した場合にその操作を受け付けて処理を実行する構成としてもよい。また、ステップS807の表示倍率算出処理のみ行って、その表示倍率を画面表示してユーザに提示する構成としてもよい。
【0081】
以上のように、入力操作に対して実行許可がされていない操作であっても、どうしても入力したい場合にはその入力操作を持続することで実行可能となり、入力操作を行うことができるようになる。このため、わざわざ拡大操作や縮小操作を行う必要が無くなる。また、実行可能となった操作が本来入力可能となる大きさになるための拡大率を提示することでユーザに対して操作するのに必要な本来の大きさを教えることもできる。また、実際にその拡大率で表示することで、その後の操作がし易くなる。
【0082】
(第3実施形態)
本実施形態においては、図9を参照して、操作対象のオブジェクトの大きさが大きくなるに従って複雑なジェスチャ操作を受け付ける一例について説明する。
【0083】
図9(a)は、図2と同様のユースケースにおいてWeb画面をある程度拡大操作をした図を示す。中央の画像には人物が写っている。ジェスチャ901は、指201で手書き入力している。本図の例では丸秘と描くことで丸秘のジェスチャとして認識し、丸秘のスタンプ(表示アイコン)が押されることを想定している。しかし、本図の例のように画像オブジェクトが小さい、もしくはオブジェクト認識された人物オブジェクトが小さい場合には丸秘ジェスチャのような複雑なものを入力し難い。そのため、本図のようにジェスチャの形状が崩れ、誤認識の原因となってしまう恐れがある。このようにオブジェクトの表示が小さい場合には、情報処理装置100は複雑なジェスチャを受け付けないようにする。
【0084】
図9(b)は、図9(a)をさらに拡大表示した図を示す。このため、人物が大きく表示されている。このような状態であれば、ジェスチャ901も大きく入力することができ、より綺麗な形状で入力することができる。そのため、オブジェクトが大きく表示されている場合には、情報処理装置100は画数が多いまたは形状が複雑なジェスチャを受け付けるようにする。
【0085】
つまり、表示画面上に存在するオブジェクト上に表示するための表示アイコンを、記号または文字により指定する操作指示が入力された場合を考える。そのオブジェクトの表示サイズが閾値以下である場合であって、記号または文字の画数が所定の整数値以下である場合に、操作指示に対応する表示アイコンの表示処理を実行可能であると判断すればよい(表示実行判断処理)。そして、実行可能であると判断された場合に、操作指示に対応する表示アイコンの表示処理を実行する。
【0086】
このように、ユーザが意図して位置や大きさを決めてジェスチャを入力するような場合でも、ユーザが入力しようとした対象のオブジェクトの大きさに応じてジェスチャの受け付けの可否を切り替えることで、ジェスチャの誤認識を軽減することができる。
【0087】
次に、図10を参照して、オブジェクトの大きさと受け付けるジェスチャ操作の組み合わせを設定した条件表の一例について説明する。
【0088】
本図は、図9を参照して説明した操作実行判断を行うために必要な条件を表として示す。オブジェクト種別1001と、大きさ1002の項目は図4の表の各項目と同じであるが、3列目は許可ジェスチャ1003である。図4の許可操作の中に含めて許可ジェスチャ1003を設定してもよいし、本図のような構成としてもよい。本図の例では例えばオブジェクト種別1001が画像内で認識された画像内オブジェクトであれば、例えば大きさ1002が30×30Pixel未満の場合はオブジェクトが小さ過ぎるため、ジェスチャ操作は受け付けない(許可ジェスチャ1003は無し)。また、大きさ1002が30×30Pixel以上かつ50×50Pixel未満の場合は、簡単な「丸」、「三角」、「四角」等の記号のみを許可ジェスチャ1003としてジェスチャ操作を受け付ける。大きさ1002が50×50Pixel以上かつ100×100Pixel未満の場合は、少し複雑な「星」、「音符」、「ト音記号」等の記号を許可ジェスチャ1003として追加してジェスチャ操作を受け付ける。大きさ1002が100×100Pixel以上というようにオブジェクトが十分に大きい場合は、複雑な「丸秘」、「丸特」、「(株)」等の記号をさらに許可ジェスチャ1003として追加してジェスチャ操作を受け付ける。
【0089】
以上のように、本実施形態の情報処理装置100は、操作対象となるオブジェクトの大きさが大きくなるにつれて複雑なジェスチャ操作を受け付ける。このため、画面の倍率を変更して、表示されるオブジェクトの大きさを変更したユーザの意図に合わせてジェスチャ操作を受け付けることが可能となる。また、誤認識をし易い大きさの場合には複雑なジェスチャ操作を受け付けないことで誤認識を軽減することができる。
【0090】
(第4実施形態)
本実施形態においては、まずは図11を参照して、複数オブジェクトが重なっている場合の操作実行判断の一例について説明する。本図の例では画像のアルバムレイアウトが可能なアプリケーションまたはWebサイトの画面表示を想定している。
【0091】
図11(a)は、通常表示または縮小表示を行った際のアルバムレイアウト画面を示す。
【0092】
ページ1101は、アルバムの1ページを表す。本図の例では画面内に見開き2ページが4つ分表示されている。画像203を操作しようと指201を接近させている。指201の下には画像203とページ1201が存在しているため、双方の条件を考慮して操作を受け付けるかどうかが判断される。例えば、ここでは画像203の内容が確認できる大きさであり且つ指による選択も容易な大きさであることから、画像203に対する選択操作を受け付ける。ページ1101はそれほど大きい大きさではないため、特に許可する操作はないものとする。
【0093】
図11(b)は、図11(a)を拡大表示した例を示し、図11(a)における左上の見開き2ページが中央にくるように表示した例を示す。
【0094】
ここでは、画像203の大きさは図11(a)よりも大きい。従って、図11(a)と同様に選択操作を受け付ける。さらに、ページ1101の大きさも十分大きい。従って、画像203の位置決めを行うレイアウト操作を受け付け可能とする。レイアウト操作とは、例えばドラッグ操作により画像203をユーザの好きな位置に移動する操作のことである。
【0095】
このように、複数オブジェクトの条件を組み合わせることにより、それぞれのオブジェクトの特性に合った複雑な状況判断が可能となる。本図の例では、ページ1101の大きさが小さければ画像203の位置の微調整は難しい。従って、レイアウト操作を受け付けない。これにより、誤って画像203を移動して位置が大幅にずれることを防ぐことができる。
【0096】
次に、図12を参照して、複数オブジェクトが重なっている場合の条件設定の一例について説明する。本図は、図11の判断を実現するための条件の一例を示す。
【0097】
1列目、2列目、4列目は図4と同様である。ただし、1列目のオブジェクト種別1201及び2列目の大きさ1202には複数のオブジェクトの条件を同時に設定できる構成になっている。また、3列目は優先順位1203である。複数の条件が同時に満たされてしまう場合を考慮して、その場合は優先順位に基づいて適用する条件を決定する。複数の条件が同時に満たされることが無いように条件が厳密に切り分けられている場合は、本項目は不要としてもよい。
【0098】
本図の例においては、画像オブジェクトに対する設定は図4と同様であるが、さらに画像オブジェクトとページオブジェクトを組み合わせた条件を追加している。ここで、組み合わせた条件として、画像については内容が確認できる大きさである50×50Pixel以上という条件と、ページについては微調整が可能な大きさである100×100Pixel以上という条件とが同時に設定されている。このように上述の条件が同時に満たされる場合に、画像の位置を微調整できるレイアウト操作を受け付けるように設定している。しかし、画像は50×50Pixel以上という設定であるので、画像が100×100Pixel以上という条件と同時に満たされてしまう可能性がある。その場合、優先順位1203を参照して優先される条件が決定される。本図の例では画像が100×100Pixel以上という条件が優先される。また、優先順位3の条件も、50×50Pixel以上100×100未満という条件に厳密に設定せずに、単に50×50Pixel以上という条件と設定してもよい。画像が100×100Pixel以上になった場合には自動的に優先順位1の条件が選択される。また、優先順位が同じ場合にはその優先順位の全ての操作を受け付けるように構成されてもよい。
【0099】
このように複数のオブジェクトを組み合わせてひとつの条件を表現することで、より複雑な状況判断が可能となる。また、優先順位を設けることで、厳密な大きさの条件を設定する必要がなくなり、容易に設定を行うことができる。さらに、今後の設定変更の際などにも他の条件に影響を及ぼすことが少なくなる。
【0100】
次に、図13を参照して、複数オブジェクトが重なっている場合の操作実行判断処理の一例について説明する。
【0101】
ステップS1301の処理は、図3のステップS301の処理と同様であり、ユーザが入力した操作を受信する処理である。
【0102】
ステップS1302において、操作位置付近の複数オブジェクトを抽出する処理が実行される。操作が入力された開始点に位置する全てのオブジェクトが抽出される。他の方法として、操作が入力された位置から一定距離内に存在する複数オブジェクトを抽出してもよい。
【0103】
ステップS1303において、ステップS1302で抽出されたオブジェクトを全て処理したかどうかが判断される。ここで完了したかどうかを判断する処理とは、ステップS1304からステップS1307までの処理である。全てのオブジェクトを処理したと判断された場合は(ステップS1303;YES)、ステップS1308へ進む。一方、全てのオブジェクトを処理していないと判断された場合は(ステップS1303;NO)、処理していないオブジェクトの中から一つを選択して、ステップS1304へ進む。
【0104】
ステップS1304の処理は、図3のステップS303の処理と同様であり、ステップS1303で選択されたオブジェクトの大きさを計測する処理である。
【0105】
ステップS1305の処理は、オブジェクト種別取得処理であり、ステップS1303で選択されたオブジェクトの種別を取得する処理である。
【0106】
ステップS1306の処理は、フラグを立てる処理である。具体的には、ステップS1304で計測されたオブジェクトの大きさと、ステップS1305で取得されたオブジェクト種別とに基づいて、図12のような条件表を検索し、条件を満たす項目に対してフラグを立てる処理である。例えば、図12を例に説明すると、オブジェクト種別が画像であり、大きさが100×100Pixelだった場合、条件を満たす優先順位1と優先順位2の画像オブジェクトに関する項目に対してフラグを立てる。この場合、優先順位1の条件は先ほどフラグを立てた画像に関する項目しか存在しないため、優先順位1の条件は全て満たされたことになる。一方、優先順位2の条件はページオブジェクトに関する項目に対するフラグが立っていないため、全て満たされたことにならない。
【0107】
ステップS1307の処理は、次のオブジェクトへ進める処理であり、現在処理されたオブジェクトは処理済とする処理である。その後、ステップS1303に戻る。ステップS1303において、処理済のオブジェクトは選択されない。全てのオブジェクトが処理済となった場合に、ステップS1303において、全てのオブジェクトが処理されたと判断される。
【0108】
ステップS1308の処理は、許可操作取得処理であり、ステップS1306で立てられたフラグに基づいて、全ての項目でフラグが立っている条件を抽出し、その中から一番優先順位の高い条件を選択し、選択された条件が許可する操作を取得する処理である。
【0109】
ステップS1309の処理は、図5のステップS505の処理と同様であり、ステップS1301で受信された操作がステップS1308で取得された許可操作に含まれているかどうかを判断する処理である。許可操作に含まれている場合は(ステップS1309;YES)、ステップS1310の受信操作実行処理を行う。一方、含まれていない場合は(ステップS1310;NO)、処理を終了する。
【0110】
以上のように、本実施形態の情報処理装置100においては、複数のオブジェクトが重なっているような場合において、条件を組み合わせて設定することで、より複雑な状況判断が可能となる。また、優先順位を設けることで、厳密な大きさの条件を設定する必要がなくなり、設定を容易に行うことが可能となる。
【0111】
(第5実施形態)
本実施形態においては、図14を参照して、実行可能操作表示の一例について説明する。本図の例は基本的には図11(b)の表示状態と同様である。
【0112】
マーク1401は、現在受け付けている操作をマークとして表したものである。本図の例では、指201を画像203に近付けていった際に、指201が近付いてきたことが検出される。そして、画像203の大きさに対する許可操作が取得されて、許可操作に対応するマークが画像203上に表示されている。図11(b)を参照して説明したように、本図の状況では画像203は選択操作とレイアウト操作を受け付けている。そのため、選択(SELECT)の「S」のマークと、レイアウト(LAYOUT)の「L」のマークとを表示している。これにより、操作対象のオブジェクトが現在どの操作を受け付けているかを確認することができる。本図の例ではマークを用いているが、操作名称や操作説明等をそのまま一覧表示してもよい。また、オブジェクトに重ねて表示せずに邪魔にならない位置に表示してもよい。また、指が近付いたかどうかに関係無く、現在のオブジェクトの大きさに対して受け付けている操作を常に表示してもよい。
【0113】
次に、図15を参照して、入力された操作を受け付けない旨を表示する一例について説明する。本図の例は基本的には図11(a)の表示状態と同様である。
【0114】
図15(a)は、ダイアログを表示することで操作が受け付けられない旨を明示する例を示す。
【0115】
ダイアログ1501は、現在の大きさでは選択操作を受け付けることができないという判断結果を表示し、その旨ユーザに通知する。これは、本図の状態において画像203は表示が小さいため、画像選択操作を受け付けていないにも関わらず、指201で画像203に対して選択操作を行ったために表示される。また、本図のようにダイアログ1501において、拡大すれば選択操作を受け付けることが可能な旨を併記してもよい。さらに、選択操作が可能となる表示倍率を併記してもよい。
【0116】
図15(b)は、オブジェクト上にマークを表示することで操作を受け付けられない旨を明示する例を示す。
【0117】
操作不可マーク1202は、現在の大きさでは操作することが不可能なことを示すためのオブジェクト上のバツ印である。これにより、ユーザが対象とする操作を当該オブジェクトは受け付けることができない旨を示している。操作を受け付けていない全てのオブジェクトにマークを表示してもよい。
【0118】
図15(c)は、オブジェクトを薄く表示することにより操作を受け付けられないことを明示する例を示す。
【0119】
操作不可オブジェクト1503は、現在の大きさでは操作することが不可能なオブジェクトであることを、例えば薄く表示することによって示している。操作を受け付けていない全てのオブジェクトを薄く表示してもよい。
【0120】
以上のように、本実施形態の情報処理装置100においては、現在実行中の操作を画面上に表示することで、ユーザが操作を行う前に認識できる。従って、操作を試みたにも関わらず、その操作が受け付けられないという煩わしさを軽減することができる。また、許可されていない操作をしてしまった場合には、操作を受け付けられない旨を表示することで、操作が許可されていないことをユーザに伝えることができる。さらに、操作を受け付け可能とするためのアドバイスを併記することで、ユーザに対してどのようにすれば操作が可能になるかを知らせることができる。
【0121】
(第6実施形態)
本実施形態においては、まずは、図16(a)を参照して、条件変更画面の一例について説明する。本図の例では図4の条件表を一覧として画面に表示して、各項目を変更できるようにした画面を想定している。
【0122】
リストボックス1601は、オブジェクト種別を選択可能なボックスである。ここで操作対象となるオブジェクト種別をリストの中から選択する。
【0123】
テキストボックス1602は、大きさを入力するボックスである。ここに操作を受け付ける際の判断条件となるオブジェクトの大きさを入力する。本図の例ではテキストボックスによる手入力を想定しているが、1桁ずつ上下ボタンを用意して値を1ずつインクリメント/デクリメントしてもよい。また、リストボックスとしていくつか用意した値の中から選択してもよい。
【0124】
リストボックス1603は、許可操作を選択するボックスである。ここで条件が満たされた場合に許可される操作を選択する。本図の例では1つしか許可操作を設定できないが、複数設定できるようにしてもよい。
【0125】
また、各項目の表示例としてリストボックスやテキストボックスを用いているが、これに限定されるものではない。それぞれの入力項目はタッチ操作で選択してもよいし、キー操作でカーソルを移動させてもよい。また、本図の例のような条件変更画面を用いずに条件が設定されたデータベースやテキストファイル等を直接編集しても良い。
【0126】
次に、図16(b)を参照して、サンプルオブジェクトを用いて条件値を設定する一例について説明する。サンプルオブジェクト1604は、条件値を調整するために作り出されたオブジェクトである。本図の例のように様々な大きさのサンプルオブジェクトを用意しておき、全ての大きさのサンプルオブジェクトに対してユーザに選択操作等の調整を行いたい操作を入力してもらう。その際に、選択操作に失敗した大きさは条件から外れるように条件表の値を変更する。操作に失敗とは、選択に際して指がオブジェクトから外れている状態、または複数のオブジェクトに指が掛かってしまった状態が考えられる。このように操作に失敗した場合に条件表の値を調整することで、操作入力したユーザに合った条件表に調整できる。このため、入力する回数は1回よりも複数回とすることで調整する精度が向上するだろう。また、指やペン、歩行中等の条件を付けて同様の操作を行うことで、各シチュエーションに応じた条件表を作ってもよい。また、本図のようなサンプルオブジェクトを用意しなくても、通常時の操作から学習してもよい。例えば、オブジェクトが小さいにも関わらず選択操作を行った場合は操作を受け付けないが、一定回数同様な操作を行った場合にはユーザはその大きさであっても選択操作をしたいものと判断して、選択操作を受け付けるように条件を変更してもよい。一方、オブジェクトが選択するのに十分な大きさがあっても、オブジェクトでない部分をタッチしたり複数のオブジェクトに跨って選択したりといった失敗をした場合にはその大きさでは選択操作を受け付けないように条件を変更してもよい。また、ユーザが直前の操作を取り消す処理を行った場合にも取り消した操作を受け付けないように条件を変更してもよい。
【0127】
次に、図17を参照して、操作の失敗や取消操作から学習して、条件表を変更する処理の一例について説明する。ステップS1701からステップS1703までの各処理は図3のステップS301からステップS303までの各処理と同様である。ユーザが入力した操作を受信して、操作が入力された位置付近のオブジェクトを抽出して、オブジェクトの大きさを計測する処理が実行される。
【0128】
ステップS1704において、ステップS1701で受信された操作が取消操作か否かが判断される。取消操作であると判断された場合は(ステップS1704;YES)、ステップS1705に進む。一方、取消操作でないと判断された場合は(ステップS1704;NO)、ステップS1709に進む。
【0129】
ステップS1709とステップS1710との各処理は、図5のステップS504とステップS505との各処理と同様の処理である。ステップS1709において、計測されたオブジェクトの大きさに基づいて許可操作が取得される。ステップS1710において、受信された操作が許可操作に含まれるかどうかが判断される。許可操作に含まれると判断された場合は(ステップS1710;YES)、ステップS1711に進む。ステップS1711において、受信された操作に対応する処理が実行される。一方、許可操作に含まれないと判断された場合は(ステップS1710;NO)、ステップS1712に進む。
【0130】
ステップS1712において、受信された操作と同じ操作が許可操作に含まれないとステップS1710で判断された回数が所定回数以上であるかどうかが判定される。同じ操作が「操作を受け付けられない(許可操作に含まれない)」と所定回数判別された場合は(ステップS1712;YES)、ステップS1713に進む。ステップS1713において、現在の大きさでも当該操作が受け付けられるように条件を変更する。なぜなら、ユーザが受け付けられない操作を何度も試みたのは、現在の大きさであっても当該操作を行いたいという意思があると解釈できるからである。ステップS1713の処理としては、例えばその表示サイズにおけるオブジェクトへの操作指示を実行可能操作指示として追加する処理を実行すればよい。また、許可する大きさは、過去の不許可と判断された大きさを記憶しておき、その平均値、最大値、または最小値に変更してもよい。一方、同じ操作が所定回数以上「操作を受け付けられない(許可操作に含まれない)」と判断されていない場合は(ステップS1712;NO)、処理を終了する。
【0131】
一方、ステップS1705の処理は、オブジェクト取得処理であり、取消対象の操作を入力した時の操作対象のオブジェクトが取得される。このために、入力された操作はいつ取り消されるか分からないため、何らかの操作を受け付けた際には当該操作が入力された位置にあるオブジェクトを記憶しておく。
【0132】
ステップS1706の処理は図3のステップS303の処理と同様であり、ステップS1705で取得されたオブジェクトの大きさが計測される。何らかの操作を受け付けた際には当該操作が入力された位置のオブジェクトの大きさを記憶しておき、その値を取得してもよい。この場合、ステップS1705の処理は不要となる。
【0133】
ステップS1707において、同じ操作が所定回数取り消されているかの取消判断がなされる。同じ操作が所定回数以上取り消されている場合は(ステップS1707;YES)、ステップS1708に進む。ステップS1708において、現在の大きさでは当該操作を受け付けないように条件を変更する(実行可能操作指示から除外する)。なぜなら、ユーザが何回も操作を取り消したのは、現在の大きさでは当該操作を行いたくないという意思があると解釈できるからである。また、不許可とする大きさは、過去の操作に失敗した際の大きさを記憶しておき、その平均値、最大値、または最小値に変更してもよい。
【0134】
以上のように、本実施形態の情報処理装置100においては、条件を変更することで、環境やユーザの使い方に合わせた設定を行うことが可能となる。また、実際に入力された操作や取消操作等を学習することで、ユーザの癖や意図を反映したより精度の高い判断が可能となる。
【0135】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、
前記表示画面上でなされた操作指示を入力する入力手段と、
前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得手段と、
前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記表示サイズが閾値以下である場合には、前記操作指示に対応する処理を実行可能と決定せず、前記表示サイズが閾値より大きい場合には、前記操作指示に対応する処理を実行可能であると決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
入力手段と、抽出手段と、取得手段と、決定手段とを備え、表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置における情報処理方法であって、
前記入力手段が、前記表示画面上でなされた操作指示を入力する入力工程と、
前記抽出手段が、前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出工程と、
前記取得手段が、前記抽出工程により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得工程と、
前記決定手段が、前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定工程と、
を備えることを特徴とする情報処理方法。
【請求項4】
請求項3に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項1】
表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置であって、
前記表示画面上でなされた操作指示を入力する入力手段と、
前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得手段と、
前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記表示サイズが閾値以下である場合には、前記操作指示に対応する処理を実行可能と決定せず、前記表示サイズが閾値より大きい場合には、前記操作指示に対応する処理を実行可能であると決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
入力手段と、抽出手段と、取得手段と、決定手段とを備え、表示画面上でなされた操作指示に応じて、互いに異なる種類の複数の処理のうちのいずれかを受け付ける情報処理装置における情報処理方法であって、
前記入力手段が、前記表示画面上でなされた操作指示を入力する入力工程と、
前記抽出手段が、前記表示画面上において前記操作指示が入力された位置に基づいて、前記表示画面上に表示されたオブジェクトのうち注目オブジェクトを抽出する抽出工程と、
前記取得手段が、前記抽出工程により抽出された前記注目オブジェクトの表示サイズを示す情報を取得する取得工程と、
前記決定手段が、前記異なる複数の種類の処理のうち、前記表示サイズに応じて、実行可能な処理を決定する決定工程と、
を備えることを特徴とする情報処理方法。
【請求項4】
請求項3に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−104095(P2012−104095A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2011−120991(P2011−120991)
【出願日】平成23年5月30日(2011.5.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願日】平成23年5月30日(2011.5.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]