(57)【特許請求の範囲】
【請求項１】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記フライング・フリック操作の開始座標を含む前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項２】
前記近接センサと前記タッチ・センサをタッチ・パネルで構成し、前記ディスプレイと前記タッチ・パネルでタッチ・スクリーンを構成した請求項１に記載のユーザ・インターフェース。
【請求項３】
前記接触座標処理部は、前記接触状態に存在する前記指示媒体が前記元画像に対して行ったフリック操作に対応する接触座標を前記ユーザ・ファンクションに出力する請求項１に記載のユーザ・インターフェース。
【請求項４】
前記元画像が表示するマウス・カーソルを操作するイベントを生成するためのポインティング・デバイスを有する請求項１に記載のユーザ・インターフェース。
【請求項５】
前記部分画像制御部は、前記元画像が含む操作オブジェクトの近辺に前記部分画像が含む前記元画像の操作オブジェクトに対応する操作オブジェクトが位置するように前記部分画像を表示するためのデータを生成する請求項１に記載のユーザ・インターフェース。
【請求項６】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接状態に存在する前記指示媒体の直下座標に表示するスポット画像のデータを生成し、前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項７】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部とを有し、
前記部分画像制御部は、前記元画像の操作オブジェクトの真上に前記近接状態に存在する前記指示媒体が位置づけられた時に前記操作オブジェクトの表示を変化させるイベントを前記ユーザ・ファンクションに送るユーザ・インターフェース。
【請求項８】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、前記部分画像を表示した後に前記指示媒体が離隔状態に移動してから所定時間が経過したときに前記部分画像の表示を停止する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項９】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、前記フライング・フリック操作の開始座標からの移動方向に応じて前記部分画像の前記元画像に対する位置を決定する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項１０】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、前記フライング・フリック操作の開始座標からの移動方向に応じて前記部分画像の前記元画像に対する倍率を決定する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項１１】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、前記フライング・フリック操作をする前記指示媒体の移動速度または移動加速度に応じて前記部分画像の前記元画像に対する倍率を決定する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項１２】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、所定の時間間隔以内で繰り返し行われるフライング・フリック操作のたびに前記元画像に対する倍率がステップ状に変化した前記部分画像のデータを生成する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項１３】
電子機器に指示媒体で入力することが可能なユーザ・インターフェースであって、
ディスプレイと、
元画像を表示した前記ディスプレイの表面に対して近接状態に存在する前記指示媒体の近接座標を生成するための近接センサと、
前記ディスプレイの表面に対して接触状態に存在する前記指示媒体の接触座標を生成するためのタッチ・センサと、
前記近接座標から前記近接状態で行われた前記指示媒体のフライング・フリック操作を認識したときに前記元画像に重ねて前記ディスプレイに前記元画像の所定の領域を拡大した部分画像を表示するためのデータを生成し、前記元画像が含む複数の操作オブジェクトの配列に応じて前記部分画像の形状およびサイズまたはいずれか一方を設定する部分画像制御部と、
前記部分画像の接触座標を前記元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部と、
を有するユーザ・インターフェース。
【請求項１４】
請求項１から請求項１３のいずれかに記載のユーザ・インターフェースで入力が可能な電子機器。
【請求項１５】
ディスプレイを備えるユーザ・インターフェースが入力を処理する方法であって、
元画像を表示する前記ディスプレイに対して近接状態に移動した指示媒体の座標を検出するステップと、
前記近接状態に存在する前記指示媒体の座標からフライング・フリック操作を検出するステップと、
前記フライング・フリック操作から移動情報を抽出するステップと、
前記フライング・フリック操作の検出に応答して前記元画像に重ねて前記元画像の所定の領域を部分的に拡大した部分画像を表示するステップと、
前記移動情報に基づいて前記部分画像のサイズ、形状、座標、および前記元画像に対する倍率のいずれかを決定するステップと、
前記部分画像に対するタッチ操作を前記元画像に対するタッチ操作として処理するステップと
を有する方法。
【請求項１６】
前記ディスプレイに対して接触状態に移動した指示媒体が行った接触フリック操作を検出するステップと、
前記接触フリック操作の検出に応答して前記元画像に対する処理をするステップと、
を有する請求項１５に記載の方法。
【請求項１７】
前記フライング・フリック操作をしないで前記元画像が含む操作オブジェクトに対するタッチ操作をするステップと、
前記部分画像を表示しないで前記操作オブジェクトに対する処理をするステップと、
を有する請求項１５に記載の方法。
【請求項１８】
平面にＸ−Ｙ座標を定義したディスプレイに対する指示媒体のジェスチャで入力することが可能なコンピュータに、
前記ディスプレイに操作オブジェクトを含む元画像を表示する機能と、
前記ディスプレイの表面から浮上した位置において所定値以上の速度で前記Ｘ−Ｙ座標の方向に移動する前記指示媒体の座標を検出する機能と、
前記座標の検出に応じて前記元画像に重ねて前記指示媒体が移動を開始した座標を含む前記元画像の所定の領域を部分的に拡大した部分画像を表示する機能と、
前記部分画像が含む前記操作オブジェクトに対するタッチ操作を前記元画像に対するタッチ操作として処理する機能と
実現させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ・スクリーンに対する入力を容易にする技術に関し、特に、小さい操作オブジェクトを表示するタッチ・スクリーンに対する入力を容易にする技術に関する。
【背景技術】
【０００２】
スマートフォンまたはタブレット端末のような電子機器は、表示ディスプレイとタッチ・センサを組み合わせたタッチ・スクリーンに表示した操作オブジェクトに対して指やスタイラス・ペンでタッチ操作をして画面の操作や文字の入力などをすることができる。タッチ・スクリーンが小さいと、操作オブジェクトも小さくなる傾向にあるため、ユーザは目標とする操作オブジェクトに隣接する操作オブジェクトにタッチ操作をすることがある。
【０００３】
また、Windows（登録商標）8/10のように、マウス・ポインターで操作するマウス操作モードと、タッチ・スクリーンに対するタッチ操作をするタッチ・パネル操作モードの両方を利用できるＯＳでは、マウス・ポインターを前提にした小さな操作オブジェクトを含む場合があり、一層タッチ操作がしにくくなっている。これを解決するためにさまざまな試みがなされている。Microsoft（登録商標）社では、Modern UIという新しい表示スタイルおよび操作ルールのユーザ・インターフェース（ＵＩ）を提供する。Modern UIには、タイルと呼ばれるタッチ操作に適した大きさのアイコンを表示する。
【０００４】
Lenovo社では、Aura UIという既存のＯＳに対してタッチ操作用に新しいシェルを重ねたＵＩを提供する。また、マルチタッチ対応のＯＳでは、２本の指を広げるようにタッチ操作をするピンチアウトで一時的に画面を拡大して誤操作を防ぐことができる。特許文献１は、指をタッチ・パネルの面上から離間した空間上の位置に翳すホバー操作と、ホバー操作によって翳された空間上の位置から指を、タッチ・スクリーンを構成するタッチ・パネルの面に対して略平行にスライドするホバー・スライド操作とタッチ操作で入力する表示装置を開示する。
【０００５】
表示装置は、ホバー操作およびホバー・スライド操作における指の座標とタッチ操作に対する指の座標をタッチ・パネルで検出する。表示装置は、ホバー操作でタッチ・パネルに指が接近すると、指の直下を中心とする拡大画面を元画像に重ねて表示し、ホバー・スライド操作が行われると目標地点の直下の拡大画面を表示する。特許文献２は、静電容量方式のタッチ・パネルに指を接近したときに拡大表示するタッチ・パネル装置を開示する。同文献には、画像キーボードに人差し指が最初に接近した画像キーを中心にして画像キーボードが拡大表示され、拡大した画像は指が離れるまで存在することを記載する。特許文献３は、静電容量方式のタッチ・パネルに指を接近したときに拡大表示するタッチ・パネル装置を開示する。同文献には、制御部が拡大表示領域の座標を拡大前の元の画像の座標に変換することを記載する。
【０００６】
特許文献４は、タッチ・パネルに指が接近したときに画面を拡大するタッチ・パネル表示の制御方法を開示する。同文献には、タッチ・パネルの表面から指が一定の距離にあるかぎり拡大画面を表示し、タッチ操作またはタッチ・パネルから指が遠く離れたときに拡大画面を消すことを記載する。特許文献５は、タッチ・パネルに対する指の距離に応じて倍率を変化させた拡大画面を表示するユーザ・インターフェースを開示する。
【０００７】
非特許文献１は、タブレットの表面に近接した位置で指が行うジェスチャを利用したインタフェースを開示する。同文献には、多層化したＩＲプレーンと高速カメラのシャッタを同期させて、指のジェスチャを検出することを記載している。また、地図を指さしてから指の高さを変えることでズームやスクロールをすることを記載している。
【０００８】
非特許文献２は、ユーザの指がタッチ・パネルに接触する前の近接状態を検知し、近接位置に応じてフォーカスを切り換えたりボタンを拡大したりする３次元タッチ・パネル・インターフェースを開示する。同文献は、通常のタッチ・パネルだけで指の接触状態に加えて指の近接状態を検知する３次元タッチ・パネルについて記載している。また、近接距離の時間遷移から指がタッチ・パネルに近づく速度や加速度を計算してＵＩを切り換えることを記載している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−２２５２６１号公報
【特許文献２】国際公開２０１２／１３２８０２号公報
【特許文献３】国際公開２０１１／０２７６６５号公報
【特許文献４】特開平１１−６５７６９号公報
【特許文献５】米国特許出願公開第２０１３／０２９３４９０号明細書
【非特許文献】
【００１０】
【非特許文献１】Yoshiki Takeoka, et al. Ztouch:An Infrastructure for 3D gesture interaction in the proximity of tabletop surfaces、［online］、ITS 2010: Devices & Algorithms、［平成２７年８月１日検索］、インターネット〈URL：http://lab.rekimoto.org/projects/z-touch/〉
【非特許文献２】Hiroyuki Washino, et al. 3D Touch Panel User Interface、［online］、情報処理学会インタラクション2009、［平成２７年８月１日検索］、インターネット〈URL: http://www.interaction-ipsj.org/archives/paper2009/interactive/0037/0037.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１１】
タッチ・スクリーンは画面の操作オブジェクトに対して直感的な操作ができる点で優れているが、誤操作の防止が求められている。Modern UIやAura UIは、特別な環境下で誤操作の少ないタッチ操作を実現しているが、既存のアプリケーションやＯＳに影響を与えない環境で実現できる方法が望ましい。また、スマートフォンやタブレット端末のようにタッチ・スクリーンを専用の入力デバイスとするような電子機器では、あらかじめ操作オブジェクトを指またはスタイラス・ペンの大きさに比べて大きくしておくことが一般的である。このことは、他方で所定の大きさの画面に組み込む操作オブジェクトの数を制限することになり、画面の密度または情報量が粗くなることに相当する。
【００１２】
また、マウス操作モードとタッチ・パネル操作モードの両方が行えるようにしたＯＳでは、操作オブジェクトをマウス操作に適する大きさにするとタッチ操作で誤操作が発生し、タッチ操作に適する大きさにすると画面がマウス操作で可能な程度よりも粗くなりすぎてしまう。ピンチアウトをして画面を拡大する方法は、ピンチアウトで画面を元に戻す操作を伴うこともありユーザに余分な負担をかけてしまう。タッチ操作をした座標を中心にして所定の領域を拡大してから、拡大した画像にタッチ操作をする方法もあるが拡大しないでタッチ操作ができる場合にもつねに拡大画像が表示されることになるためユーザに煩わしさを感じさせる。
【００１３】
先行技術文献では、タッチ操作の前に近接領域で行われるジェスチャを検出して画面を拡大する。これらの先行技術文献は、以下の問題点のいくつかを抱えている。まず、ユーザはタッチ操作をする前にタッチ・パネルの上で指を止めて、操作対象を選んだり考えたりする場合がある。このとき指の接近を検出するとただちに拡大した画面を表示するとすれば、拡大しないで広範囲の元画像を見続けていたいユーザに対して拡大画面を消す操作を強いることになり煩わしさを感じさせる。また、操作オブジェクトが拡大しないでも正確なタッチ操作ができるほど大きい場合にも拡大画面を表示することは、ユーザの元画像に対するタッチ操作の操作感を損なうことになる。
【００１４】
指がタッチ・パネルに接近するときのタッチ・パネルからの距離、接近時の速度、または加速度をユーザがコントロールして操作することは容易ではない。また、拡大画面を表示し続けるために、指をタッチ・パネルから一定の範囲に維持し続けることはユーザにとって苦痛になることもある。さらに、拡大画面が指の真下に表示される場合は、依然として操作オブジェクトが指の陰に隠れる場合もある。
【００１５】
拡大画面を表示する場合に、タッチ・スクリーンに対するタッチ操作の感覚を損なわないようにするためには、操作オブジェクトにタッチ操作をする動作に付加する操作をできるだけ簡単にする必要がある。また、従来からの拡大画面を表示しないで行うタッチ操作も残しておくことが望ましい。さらに拡大画面はユーザの意図に応じて表示できることが望ましい。
【００１６】
そこで本発明の目的は、タッチ・スクリーンに対するタッチ操作の感覚を損なわないようにしながら誤操作を防止するユーザ・インターフェースを提供することにある。さらに本発明の目的は、既存のＯＳやアプリケーションへの適応にすぐれたユーザ・インターフェースを提供することにある。さらに本発明の目的は、元画像に対する所定の倍率の部分画像をユーザが意図するときだけ表示するユーザ・インターフェースを提供することにある。さらに本発明の目的は、そのようなユーザ・インターフェースに適応した入力の処理方法、電子機器、およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、電子機器に指示媒体で入力することが可能なユーザ・インターフェースに関する。ユーザ・インターフェースは、電子機器に組み込んでもよいし、電子機器に無線や有線で接続するものであってもよい。ユーザ・インターフェースは、ディスプレイと、元画像を表示したディスプレイの表面に対して近接状態に存在する指示媒体の近接座標を生成するための近接センサと、ディスプレイの表面に対して接触状態に存在する指示媒体の接触座標を生成するためのタッチ・センサと、近接座標から近接状態で行われた指示媒体のフライング・フリック操作を認識したときに元画像に重ねてディスプレイに元画像の所定の領域を拡大した部分画像を表示するためのデータを生成する部分画像制御部と、部分画像の接触座標を元画像の接触座標としてユーザ・ファンクションに出力する接触座標処理部とを有する。
【００１８】
指示媒体は指先でもスタイラス・ペンでもよい。上記構成によれば、元画像の所定の領域を簡単なフライング・フリック操作で拡大できるため、小さな文字をみるような場合に、画面全体を拡大するピンチアウトをする必要がない。フライング・フリック操作が行われるまでは、指示媒体が近接状態に存在しても部分画像が表示されない。よって部分画像はユーザが意図するときだけ表示することができるため、タッチ操作の前に元画像をみながら指先を接近状態にして思案しているユーザを妨げることがない。
【００１９】
また、ユーザは十分に大きな操作オブジェクトに対してはむしろ部分画像を表示しない方が都合のよい場合もあるが、本発明では、フライング・フリック操作をしなければ従来どおり部分画像を表示することなく元画像に対するタッチ操作をすることができる。したがって、タッチ・スクリーンに対してタッチ操作をするときの感覚を損なわないようにしながら誤操作を防止することができる。また、接触座標を元画像の接触座標としてユーザ・ファンクションに出力するため、既存のＯＳやアプリケーションの変更をする必要がなくなる。
【００２０】
近接センサとタッチ・センサをタッチ・パネルで構成し、ディスプレイとタッチ・パネルでタッチ・スクリーンを構成することができる。接触座標処理部は、接触状態に存在する指示媒体が元画像に対して行ったフリック操作に対応する接触座標をユーザ・ファンクションに出力することができる。ユーザ・インターフェースは、フライング・フリック操作を近接座標で処理するため、接触座標で処理するフリック方向への操作オブジェクトの移動および画面のスクロールなどのこれまでのフリック操作も可能にしている。ユーザ・インターフェースは、元画像が表示するマウス・カーソルを操作するイベントを生成するためのポインティング・デバイスを有するようにしてもよい。この場合、元画像がマウス・カーソルでの操作に適した小さい操作オブジェクトを含んでいても、部分画像に対するタッチ操作で誤操作を防ぐことができる。
【００２１】
元画像の所定の領域は、フライング・フリック操作の開始座標を含むようにしてもよい。ユーザはフライング・フリック操作の開始座標を容易に認識できるため、部分画像に開始座標を含ませることで、ユーザは容易に部分画像に開始座標に重なっていた操作オブジェクトを含ませることができるようになる。部分画像制御部は、近接状態に存在する指示媒体の直下にスポット画像を表示することができる。したがってユーザは、部分画像を表示しなくてもタッチ操作ができる可能性がある操作オブジェクトに対してスポット画像を利用して正確にタッチ操作ができるようになる。部分画像制御部は、元画像の操作オブジェクトの真上に近接状態の指示媒体が位置づけられた時に操作オブジェクトの表示を変化させるようにしてもよい。したがってユーザは、元画像ではわかりにくい操作オブジェクトの存在を表示の変化で認識できる。また、部分画像を表示しなくても意図する操作オブジェクトに正確にタッチ操作ができるようになる。
【００２２】
部分画像制御部は、部分画像を表示した後に指示媒体が離隔状態に移動してから所定時間が経過したときに部分画像を消すことができる。ユーザは、一旦部分画像が表示されても、入力を断念したときに指示媒体を離すだけでただちに元画像だけの状態に戻すことができる。部分画像制御部は、元画像が含む操作オブジェクトの近辺に部分画像が含む元画像の操作オブジェクトに対応する操作オブジェクトが位置するように部分画像を表示するためのデータを生成することができる。
【００２３】
部分画像制御部は、フライング・フリック操作の開始座標からの移動方向に応じて部分画像の元画像に対する位置を決定することができる。したがってユーザは、フライング・フリック操作の方向で部分画像の表示位置を制御することができる。部分画像制御部は、フライング・フリック操作の開始座標からの移動方向に応じて部分画像の元画像に対する倍率を決定することができる。したがってユーザは、フライング・フリック操作の方向を選択することで、拡大した部分画像または縮小した部分画像を表示することができる。また、ユーザは、ピンチインをしないでも必要な領域だけ縮小した画面を表示することができる。
【００２４】
部分画像制御部は、フライング・フリック操作をする際に移動する指示媒体が速度または加速度に応じて部分画像の元画像に対する倍率を決定することができる。ユーザは、たとえばより拡大した部分画像を表示したいときは、より速いフライング・フリック操作をすることができる。部分画像制御部は、所定の時間間隔以内で繰り返し行われるフライング・フリック操作のたびに元画像に対する倍率がステップ状に変化した部分画像を表示することができる。したがってユーザは、フライング・フリック操作を繰り返すことで部分画像の倍率を徐々に変更することができる。
【００２５】
部分画像制御部は、元画像が含む複数の操作オブジェクトの配列を認識し、操作オブジェクトの配列に応じて部分画像の形状およびサイズまたはいずれか一方を設定することができる。したがってユーザは、元画像に複数の操作オブジェクトが並んでいる場合に、タッチ操作をする可能性があるより多くの操作オブジェクトを一定の大きさの部分画像に含ませることができる。
【発明の効果】
【００２６】
本発明により、タッチ・スクリーンに対するタッチ操作の感覚を損なわないようにしながら誤操作を防止するユーザ・インターフェースを提供することができた。さらに本発明により、既存のＯＳやアプリケーションへの適応にすぐれたユーザ・インターフェースを提供することができた。さらに本発明により、元画像に対する所定の倍率の部分画像をユーザが意図するときだけ表示するユーザ・インターフェースを提供することができた。さらに本発明により、そのようなユーザ・インターフェースに適応した入力の処理方法、電子機器、およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００２７】
【図１】ディスプレイ１００に対するタッチ操作とフライング・フリック操作をするときの様子を説明するための図である。
【図２】ユーザ・インターフェース２００の構成を説明するための機能ブロック図である。
【図３】ユーザ・インターフェース２００がフリック・ウィンドウを表示するときの手順の一例を説明するためのマスター・フローチャートで、
【図４】部分画像を表示する手順の一例を説明するためのフローチャートである。
【図５】元画像３０３に対するタップ操作の様子を説明するための図である。
【図６】指先の直下座標にスポット画像３０７を表示した様子およびフライング・フリック操作を開始したときの様子を説明するための図である。
【図７】元画像３０３に重ねて部分画像３１３を表示したときの様子を説明するための図である。
【図８】フライング・フリック操作の移動情報を利用してフリック・ウィンドウ３２５を構成する例を説明するための図である。
【図９】フライング・フリック操作の移動情報を利用してフリック・ウィンドウ３２５を構成する例を説明するための図である。
【図１０】元画像３０３が含む操作オブジェクトの配列に基づいてフリック・ウィンドウ３２５の形状を決める例を説明するための図である。
【発明を実施するための形態】
【００２８】
［タッチ操作とフライング・フリック操作］
図１は、ディスプレイ１００に対するタッチ操作とフライング・フリック操作をするときの様子を説明するための図である。ディスプレイ１００の表面１００ａにＸ−Ｙ軸を定義し、Ｘ−Ｙ平面に垂直な方向にＺ軸を定義する。ディスプレイ１００に対する指先は、図１（Ｂ）に示すようにタッチ・スクリーンの表面１００ａからＺ軸方向に距離Ｚ１以上離れた状態、距離Ｚ１未満で距離Ｚ２以上離れた状態、距離Ｚ２未満の状態が存在し、図１（Ｃ）に示すように距離Ｚがゼロのときに接触した状態が存在する。
【００２９】
本実施の形態にかかるユーザ・インターフェースは、図１（Ｃ）に示すように指が表面１００ａに接触した接触状態で行うタッチ操作で入力をするが、その際に必要に応じて、図１（Ｂ）に示すように指が表面１００ａに所定の距離まで近接した近接状態で行うフライング・フリック操作を補助的に利用することができる。指先が表面１００ａから距離Ｚ１以上離れた状態を離隔状態という。離隔状態から指が表面１００ａに近づいて距離Ｚ２未満になると近接状態に入る。一旦近接状態に入ると指先が接触状態になるか距離Ｚ１以上離れるまで近接状態が維持される。
【００３０】
したがってＺ軸方向の指先の位置が、距離０を超えて距離Ｚ２までの間に存在する場合は近接状態に相当する。また、距離Ｚ１と距離Ｚ２の間に存在する場合は、そこに至るまでの経緯により近接状態と離隔状態のいずれかになる。なお、タッチ操作とフライング・フリック操作は、指先に代えてスタイラス・ペンのような導電性の指示媒体で行ってもよい。ここで、フライング・フリック操作について説明する。接触状態でのフリック操作はよく知られている。フライング・フリック操作は、接触状態で行うフリック操作（接触フリック操作）と同じ指先の移動を近接状態で行うジェスチャをいう。ただし、フライング・フリック操作は空中で行うため、接触フリック操作のようにスライドさせるガイド面がなく、Ｚ軸方向にわずかな指先の移動が生じる。
【００３１】
接触状態で行うタッチ操作についてさまざまなジェスチャが定義されているが、フライング・フリック操作から抽出したＸ−Ｙ方向への指の移動を接触フリック操作と同じアルゴリズムで検出することができる。タッチ操作は、ディスプレイ１００の表面１００ａに指またはスタイラス・ペン（以後、本明細書においては両者を含めて単に指先という。）を接触させて行うすべての入力操作を意味する。タッチ操作は、ディスプレイ１００が表示する特定のアプリケーションまたは特定のファイルなどに関連付けたアイコンや所定のアドレスに関連付けた文字または画像のオブジェクトのような操作オブジェクトに対する入力操作、および操作オブジェクト以外の表示領域に対する入力操作のいずれも含む。
【００３２】
タッチ操作は、一連の操作においてタッチ操作の位置を変化させないタップ操作と変化させるジェスチャ操作を含む。タップ操作を検出したシステムは、タッチ操作された座標と当該座標に対してタッチ操作が継続している時間、およびタッチ操作の回数などの情報を得ることができる。ジェスチャ操作は、フリック操作、スワイプ操作、ドラッグ操作、および回転操作などのシングルタッチ操作と、ピンチイン、ピンチアウトといったマルチタッチ操作を含む。ジェスチャ操作を検出したシステムは、タッチ操作された座標の軌跡および座標が変化する速度および加速度などの情報を得ることができる。そしてシステムは、座標の軌跡のパターンおよび変化の方向などからジェスチャの種類を識別することができる。
【００３３】
接触フリック操作は、タッチ操作をしている指を短い距離だけほぼ一定の方向に移動させる操作をいう。スワイプ操作は、タッチ操作をしている指をフリック操作よりも長い距離でほぼ一定の方向に移動させる操作をいいスライド操作ともいう。接触フリック操作はスワイプ操作よりも指の移動速度が速い操作をいう。ドラッグ操作は、特定オブジェクトに対してタッチ操作をした指を所定の位置まで移動させる操作をいう。
【００３４】
接触フリック操作は、スワイプ操作およびドラッグ操作に比べて移動距離が短く移動速度が速いという特徴の他に、指先の移動先の座標をユーザが意識する必要がないという特徴がある。したがって、接触フリック操作は、移動先の座標を問題にしないページめくり、高速での画面のスクロール、キーボードのフリック入力のように定まった方向への指先の移動で入力が確定するような場合に利用するのに適している。
【００３５】
フライング・フリック操作は、指先が表面１００ａに対して近接状態に存在するが、システムがＸ−Ｙ方向の指先の移動速度および移動距離から接触フリック操作と同じアルゴリズムで検出することができるため、既存システムへの適用が容易である。フライング・フリック操作を検出するためには、近接状態での指先の座標を検出する近接センサが必要となる。
【００３６】
［ユーザ・インターフェースの構成］
図２は、ユーザ・インターフェース２００の構成を説明するための機能ブロック図である。ユーザ・インターフェース２００は、ディスプレイ１５１、近接センサ１５３、およびタッチ・センサ１５５からなる入力デバイスと、ＣＰＵ、ＲＡＭ、チップセットなどのハードウェア資源と、アプリケーション、ＯＳ、デバイス・ドライバなどのソフトウェア資源の協働で構成することができる。
【００３７】
ユーザ・インターフェース２００は、マウス、ポインティング・スティック、またはタッチパッドのようなマウス・カーソルを操作するポインティング・デバイス１５７を備えてもよい。すなわち、ユーザ・インターフェース２００は、マウス操作モードおよびタッチ・パネル操作モードの両方をサポートすることができる。ソフトウェア資源は実行前に、ユーザ・インターフェース２００またはユーザ・インターフェース２００を搭載するコンピュータ、タブレット端末またはスマートフォンのような電子機器に実装する不揮発性メモリに格納する。
【００３８】
近接センサ１５３は、近接状態に存在する指先の、ディスプレイ１５１に対するＸ、Ｙ、Ｚ座標を生成することが可能な物理量を出力する。近接センサ１５３の種類や原理は特に限定する必要はなく、ディスプレイ１５１とは異なるアセンブリとして設ける電磁誘導式センサ、赤外線を利用する光学ラインセンサー、ステレオ・カメラ、超音波センサなどを採用することができる。
【００３９】
タッチ・センサ１５５は、ディスプレイ１５１の表面に対する接触状態の指先のＸ、Ｙ座標を生成することが可能な物理量を出力する。タッチ・センサ１５５の種類や原理も特に限定する必要はない。タッチ・センサとして機能する静電容量方式のタッチ・パネルは、近接状態に存在する指先のタッチ・パネル表面に対する距離Ｚを静電容量の大きさで検出することができる。本実施の形態では、近接センサ１５３とタッチ・センサ１５５として機能する透明電極で構成した静電容量式のタッチ・パネルと、ディスプレイ１５１で構成したタッチ・スクリーン１５０を例示して説明する。
【００４０】
近接座標生成部２１１、接触座標処理部２１５およびイベント生成部２１７は、一例ではデバイス・ドライバとデバイス・コントローラで構成することができる。近接座標生成部２１１は、タッチ・スクリーン１５０が出力する物理量から近接状態における指先のＸ−Ｙ−Ｚ方向の座標を生成する。近接状態では、タッチ・スクリーン１５０の表面と指先の距離がさまざまな値をとる。近接座標生成部２１１は、指先のＺ軸方向の距離および当該距離に至るまでの履歴情報から近接状態を検出したときに、近接状態として特定できる物理量に対応する座標を近接座標として近接座標処理部２０９に出力する。
【００４１】
接触座標生成部２１５は、タッチ・スクリーン１５０が出力する物理量から接触状態における指先のＸ−Ｙ方向の座標（接触座標）を生成する。接触座標生成部２１５は、指先のＺ軸方向の距離またはタッチ・スクリーン１５０が出力する物理量から接触状態を検出したときに接触座標を出力する。近接座標系と接触座標系が異なる場合は、後に説明するように部分画像３１３（図７）に対するタッチ操作を元画像３０３（図７）に対するタッチ操作として処理するために両者を関連付けておく必要があるが、本実施の形態では２つの座標系をタッチ・スクリーン１５０で構成するために両者は一致している。ポインティング・デバイス１５７は、ユーザの操作に応じてマウス・カーソルを移動させる物理量を出力する。イベント生成部２１７は、マウス・カーソルを移動させるイベントまたはマウスのクリックに相当するイベントを出力する。
【００４２】
近接状態では接触状態に比べて、指先がより広い範囲のセルに静電容量の変化を与える。近接座標処理部２０９は、接触座標処理部２１５が接触座標を生成するときよりも、より広い範囲のセルについて近接座標として出力する。タッチ・スクリーン１０５に対する指先の腹からの垂線が形成するタッチ・スクリーン１５０のＸ−Ｙ座標を直下座標という。近接座標処理部２０９は、近接座標の集合から直下座標を生成して部分画像制御部２０７に通知する。直下座標は一例として近接座標の集合の重心とすることができる。
【００４３】
接触座標処理部２１３は、接触座標の集合から指先の座標を生成してユーザ・ファンクション２０１に送る。接触座標処理部２１３は、タッチ操作されたときの接触座標を検出して開始座標、移動方向および移動する速度または加速度などの情報を含む操作データをユーザ・ファンクション２０１に送る。タッチ操作は接触フリック操作を含む。本実施の形態では、接触フリック操作をユーザ・ファンクション２０１に対して直接的な入力として処理するが、フライング・フリック操作はフリック・ウィンドウ３２５（図７）に関する入力としてだけ利用する。したがって、フライング・フリック操作は、元画像３０３に部分画像３１３を重ねて表示するだけなので、ＯＳや既存のアプリケーションに影響を与えることはない。
【００４４】
ユーザ・ファンクション２０１は、アプリケーション、ＯＳなどを含み、ユーザにタッチ・スクリーン１５０を通じてブラウザの閲覧、写真の編集、または文書の作成などの機能を提供する。ユーザ・ファンクション２０１は、元画像データ生成部２０３および部分画像制御部２０７に元画像のデータを生成するための画像情報を送る。元画像データ生成部２０３は、レンダリングした画像データを記憶するバッファを含み、ユーザ・ファンクション２０１から受け取った画像情報からタッチ・スクリーン１５０に表示するための画像データを生成する。
【００４５】
部分画像制御部２０７は、ユーザ・ファンクション２０１から受け取った画像情報から部分画像３１３のデータを生成する。部分画像制御部２０７は、直下座標の時間的な変化を監視して、フライング・フリック操作を認識する。部分画像制御部２０７は、フライング・フリック操作からフライング・フリック操作が開始された位置の直下座標（開始座標）、および移動方向、移動する速度または加速度などの移動情報を抽出する。
【００４６】
部分画像制御部２０７は、ユーザ・ファンクション２０１から受け取った画像情報と、フライング・フリック操作から抽出した開始座標および移動情報からフリック・ウィンドウ３２５に表示する部分画像３１３のデータを生成して画像データ合成部２０５に出力する。部分画像制御部２０７は、近接状態でかつフライング・フリック操作の直下座標に表示するスポット画像のデータを生成して画像データ合成部２０５に送ることができる。スポット画像は、ユーザが近接状態で直下座標に重なる操作オブジェクトを認識したり、フリック・ウィンドウ３２５を表示しないでタップ操作をしたりするのに利用できる。
【００４７】
部分画像制御部２０７は、タッチ・スクリーン１５０が表示している元画像が含む、ボタン、文字、または図形などの操作オブジェクトに直下座標が重なったときに、当該操作オブジェクトをハイライト表示するためのイベントをユーザ・ファンクション２０１に送ることができる。ハイライト表示はユーザが操作オブジェクトを明確に認識できるため、フライング・フリック操作をしないで直接タッチ操作をするときの誤操作の防止に有益である。
【００４８】
部分画像制御部２０７は、フライング・フリック操作が含む開始座標と移動情報に基づいて、フリック・ウィンドウ３２５のサイズ、形状、座標などを決定することができる。部分画像制御部２０７は、フライング・フリック操作が含む開始座標と移動情報に基づいて、元画像に対する部分画像の拡大または縮小の倍率を決定することができる。部分画像制御部２０７は、部分画像３１３の座標を接触座標処理部２１３に送る。接触座標処理部２１３は、部分画像３１３に対するタッチ操作の座標を元画像３０３に対するタッチ操作の座標に変換してユーザ・ファンクション２０１に送る。
【００４９】
［ユーザ・インターフェースの動作手順］
図３は、ユーザ・インターフェース２００がフリック・ウィンドウを表示するときの手順の一例を説明するためのマスター・フローチャートで、図４は、フリック・ウィンドウを表示する手順の一例を説明するためのフローチャートである。図５〜図１０は、フライング・フリック操作によりフリック・ウィンドウ３２５を表示するときの様子を説明するための図である。
【００５０】
ブロック５０１で操作を開始する前に、図５（Ａ）に示すように、タッチ・スクリーン１５０がタイトル・バー３０２を含むウィンドウにオブジェクト３０３ａ〜３０３ｄを含む元画像３０３を表示している。タッチ・スクリーン１５０はまた、ポインティング・デバイス１５７で操作するマウス・カーソル３０５を表示している。ユーザ・インターフェース２００は、元画像３０３に対してマウス操作モードとタッチ・パネル操作モードのいずれでも操作できるが、本発明はタッチ・パネル操作モードだけをサポートするユーザ・インターフェースにも適用できる。
【００５１】
マウス操作モードで操作する元画像は、タッチ・パネル操作モードだけで操作する元画像に比べて操作オブジェクトが小さい傾向があるため、本発明を適用すると効果的である。また本発明はマルチ・ウィンドウおよびシングル・ウィンドウのいずれの元画像に対しても適用できる。タイトル・バー３０２は、操作オブジェクトの一例である操作ボタン３０１ａ〜３０１ｃを含んでいる。ユーザは操作ボタン３０１ａに、ウィンドウを閉じる際にタップ操作し、操作ボタン３０１ｂはウィンドウ・サイズの縮小および復帰にタップ操作し、操作ボタン３０１ｃはウィンドウを最小化する際にタップ操作をする。
【００５２】
これらの操作オブジェクトに対してマウス・カーソル３０５を移動させてクリック操作をしたり指先でタップ操作をしたりして活性化することで、操作オブジェクトが定義する機能が実行される。ブロック５０３でユーザが、図５（Ｂ）に示すようにボタン３０１ａに対してタップ操作をして元画像３０３のウィンドウを閉じようとしている。ボタン３０１ａのサイズは、指先のサイズに比べて十分に大きいとはいえないので、ユーザはボタン３０１ａにタップ操作をするつもりで隣接するボタン３０１ｂにタップ操作をする場合がある。
【００５３】
ユーザは、ボタン３０１ａの真上近辺に指先を移動させる。近接座標生成部２１１は、近接状態を検出すると近接座標の集合の出力を開始する。近接座標処理部２０９は、直下座標を出力する。ブロック５０５で、部分画像制御部２０７は、必要に応じて図６（Ａ）に示すように直下座標にスポット画像３０７を表示する。スポット画像３０７は、見かけ上は元画像３０３に重なっているが、ユーザ・ファンクション２０１の動作に影響を与えることなく直下座標に表示される。ユーザはスポット画像３０３からフライング・フリック操作の開始座標を容易に認識でき、さらに、視差があってもフリック・ウィンドウ３２５を表示しないでスポット画像３０７に重なる比較的大きな操作オブジェクトにタッチ操作がし易くなる。
【００５４】
他の例では、部分画像制御部２０７は、直下座標に操作オブジェクトが存在するときに、ユーザ・ファンクション２０１に当該操作オブジェクトをハイライト表示するように指示する。ハイライト表示された操作オブジェクトは、元画像３０３の一部となり、ユーザは視差があってもフリック・ウィンドウ３２５を表示しないで正確にハイライトされた比較的大きな操作オブジェクトにタッチ操作をすることができる。
【００５５】
ユーザは指先が近接状態に入った状態でタップ操作をする前に本当にウィンドウを閉じるか否かを考える場合がある。場合によっては縮小したり最小化したりしようかと迷うかもしれない。しかし、指先が、近接状態に入っても部分画像制御部２０７はフライング・フリック操作を検出しないかぎりフリック・ウィンドウ３２５を表示しないため、ユーザは必要のないときにフリック・ウィンドウ３２５が表示される煩わしさを感じることはない。
【００５６】
ブロック５０７で図６（Ｂ）に示すように、ユーザが操作オブジェクト３０１ａを開始座標３０６としてフライング・フリック操作をする。なお部分画像制御部２０７は、フライング・フリック操作の開始座標がいずれの操作オブジェクトとも重ならなくてもフリック・ウィンドウ３２５および部分画像を表示する。したがって、ユーザはフリック・ウィンドウを表示するために、操作を意図する操作オブジェクトを開始座標にする必要はない。ユーザは、人差し指の第２関節より先だけを動かして指先を素早く移動させてフライング・フリック操作をすることができる。部分画像制御部２０７は、部分画像３１３を生成して画像データ合成部２０５に送る。
【００５７】
ブロック５０９で画像データ合成部２０５は、元画像３０３に重ねて図７に示すフリック・ウィンドウ３２５を設定して部分画像３１３を表示する。部分画像３１３は操作オブジェクト３０１ａ、３０１ｂ、３０１ｃに対応する操作オブジェクト３１５ａ、３１５ｂ、３１５ｃを含む。ブロック５０９の手順は図４を参照して後に説明する。この時点では、元画像３０３に対するタッチ操作はない。ブロック５１１で近接座標生成部２１１は連続的に近接状態を監視し、離隔状態に移動したとき近接座標の出力を停止する。近接状態が維持されているときはブロック５１３に移行し、離隔状態に移動したときはブロック５５１に移行する。ブロック５１３でユーザは部分画像３１３が含む操作オブジェクト３１５ａにタップ操作をする。
【００５８】
部分画像３１３が元画像３０３より拡大されているときは、指先で正確に操作オブジェクト３１５ａにタップ操作をすることができる。フライング・フリック操作を終了した瞬間は、図６（Ｂ）に示すように操作オブジェクト３１５ａの上に人差し指がないため、ユーザは図７（Ａ）のように開始座標３０６の近辺に表示した部分画像３１３の操作オブジェクト３１５ａを明瞭にみることができるため操作し易い。また、図７（Ｂ）のように部分画像３１３が開始座標３０６から離れた位置に存在するときは、元画像３０３と部分画像３１３の両方をみながらタップ操作をすることができるため、いずれの方法でも部分画像３１３をユーザに都合がよい位置に表示できる。
【００５９】
ブロック５１３でユーザが操作オブジェクト３１５ａにタップ操作をすると接触座標処理部２１３が、座標を変換して元画像３２５が含む対応する操作オブジェクト３０１ａの座標をユーザ・ファンクション２０１に送る。ブロック５１５でユーザ・ファンクション２０１は、元画像３０３の操作オブジェクト３０１ａに対するタッチ操作に定義されている処理をする。ユーザ・ファンクション２０１は、部分画像３１３に対するタップ操作を処理するために部分画像３１３の座標を認識する必要はない。したがってユーザ・ファンクション２０１は、フリック・ウィンドウ３２５に部分画像３１３を表示することに伴う動作の変更をする必要がない。
【００６０】
フライング・フリック操作とは別に、ユーザは接触フリック操作をすることができる。ユーザ・ファンクション２０１は接触座標処理部２１３から、接触フリック操作に対応する座標データを受け取ると、画面のスクロール、ページめくり、またはソフトウェア・キーボードに対するフリック入力などに相当する処理をする。部分画像３１３の表示を接触フリック操作で実現する場合はこれらの機能が利用できなくなるが、本実施の形態では接触フリック操作とは別レイヤーで実現するため、それらの機能に影響を与えることはない。
【００６１】
ブロック５５１で部分画像制御部２０７は、指先が離隔状態に移動してから所定の時間が経過したか否かを直下座標の入力停止の時間から判断する。所定の時間が経過したときは、部分画像制御部２０７はブロック５３１で、近接状態の終了を認識して、フリック・ウィンドウ３２５の設定を解除して、部分画像３１３のデータの出力を停止する。その結果、画像データ合成部２０５は部分画像３１３の表示を消す。
【００６２】
したがってユーザは、一旦部分画像３１３が表示されても部分画像３１３に対するタップ操作を断念したときは、指先を離隔状態に移動させることで部分画像３１３を消すことができる。ブロック５５３で一定時間以内にふたたび指先が近接状態に移動したときは、ブロック５１３に移行してタップ操作が可能になる。したがって、開始座標からフライング・フリック操作を終了するまでの間に一時的に指先が離隔状態に移動しても、フライング・フリック操作を完了させることができるため、ユーザに厳密なジェスチャを強いることがなくなる。
【００６３】
つぎに図４を参照してブロック５０９の部分画像を表示する手順の一例を説明する。ブロック６０１でフライング・フリック操作を認識した部分画像制御部２０７は、ブロック６０３で拡大／縮小設定がされているか否かを判断する。部分画像制御部２０７に拡大／縮小設定がされているときはブロック６５１に移行し、設定されていないときはブロック６０５に移行する。ブロック６０５で部分画像制御部２０７は、繰り返しフライング・フリック操作が設定されているか否かを判断する。
【００６４】
繰り返しフライング・フリック操作は複数のフライング・フリック操作を所定の時間以内の間隔で連続的に行うことをいう。２回目以降のフライング・フリック操作は最初のフライング・フリック操作と時間的にまとまりのある一体的な操作であるとみなすことができるため、２回目以降のフライング・フリック操作の開始座標は最初のフライング・フリック操作の開始座標に一致させる必要はない。また、繰り返しフライング・フリック操作の開始座標は最初のフライング・フリック操作の開始座標とする。部分画像制御部２０７に繰り返しフライング・フリック操作が設定されているときはブロック６３１に移行し設定されてないときはブロック６０７に移行する。
【００６５】
ブロック６０７で部分画像制御部２０７は、フライング・フリック操作の方向を認識する。フライング・フリック操作の方向は、開始座標を起点にしたＸ−Ｙ座標の方向とすることができる。部分画像制御部２０７は、あらかじめ、フライング・フリック操作の方向として開始座標３０６を起点にした４方向または８方向程度を定義し、それぞれの方向に対してフリック・ウィンドウ３２５および部分画像３１３の表示方法などを関連付けておくことができる。
【００６６】
ブロック６０９で部分画像制御部２０７は、フライング・フリック操作の移動情報からフリック・ウィンドウ３２５のサイズおよび形状を決める。フリック・ウィンドウ２５３のサイズは、デフォルトで決めておいてもよいし、フライング・フリック操作の速度または加速度に基づいて決めてもよい。たとえば部分画像制御部２０７は、指先の移動速度が速いほどサイズが大きくなるように設定することができる。
【００６７】
この場合ユーザは、フライング・フリック操作をする指先のＸ−Ｙ方向での移動速度を調整するだけでフリック・ウィンドウ３２５のサイズを調整することができる。指先の移動にはＺ軸方向の成分を含んでもよいが、部分画像制御部２０７はＸ−Ｙ方向の成分だけを抽出することができる。ユーザはＸ−Ｙ方向での指先の移動速度の調整をＺ軸方向での調整に比べて容易にできる。
【００６８】
フリック・ウィンドウ３２５の形状は、縦長の長方形、横長の長方形、または円形などとすることができる。このとき部分画像制御部２０７は、フリック・ウィンドウ３２５の形状を、開始座標３０６の近辺に存在する操作オブジェクトの配列から決めてもよい。たとえば画像データ生成部２０７は、図５（Ａ）に示すように元画像３０３のＸ軸方向に操作オブジェクト３０１ａ、３０１ｂ、３０１ｃが並んでいる場合は、図７（Ａ）、（Ｂ）に示すようにＸ軸方向に長い横長のフリック・ウィンドウ３２５を設定することができる。
【００６９】
また、部分画像制御部２０７は図１０に示すように、Ｙ軸方向に元画像３０３の操作オブジェクト３８１が並んでいる場合は、Ｙ軸方向に長い縦長のフリック・ウィンドウ３２５を設定して、操作オブジェクト３８１に対応する操作オブジェクト３８３を部分画像３１３ｆの一部として表示することができる。また、開始座標３０６の近辺に操作オブジェクトが存在しないときは、円形や正方形のような方向性のないフリック・ウィンドウを設定することができる。
【００７０】
ブロック６１１で部分画像制御部２０７は、フリック・ウィンドウ３２５の座標を決める。フリック・ウィンドウ３２５の座標は、開始座標３０６にフリック・ウィンドウ３２５の重心が一致するように決めることができる。その場合にフリック・ウィンドウ３２５の一部が画面からはみ出るときは、図７（Ａ）に例示するようにフリック・ウィンドウ３２５の操作オブジェクト３１５ａと元画像３０３の操作オブジェクト３０１ａが最も近づく位置で、かつ、フリック・ウィンドウ３２５が完全に画面に収まる位置に決めることができる。
【００７１】
他の例では、図７（Ｂ）に例示するように、フライング・フリック操作の方向で、かつ、開始座標３０６から所定の距離だけ離れた位置にフリック・ウィンドウ３２５の座標を決めることができる。このとき、部分画像制御部２０７はフライング・フリック操作の速度または加速度に基づいて開始座標からの距離を決めるようにしてもよい。たとえば部分画像制御部２０７は、速度または加速度が速いほど距離が長くなるように設定することができる。この場合ユーザは、フライング・フリック操作をする指先のＸ―Ｙ方向での移動速度を調整するだけでフリック・ウィンドウ３２５の位置を決めることができる。
【００７２】
ブロック６１３で部分画像制御部２０７は、フリック・ウィンドウ３２５に表示する部分画像３１３の拡大率を決める。拡大率は、デフォルトで決めておいてもよいし、フライング・フリック操作の移動情報に基づいて決めるようにしてもよい。たとえば部分画像制御部２０７は、指先の移動速度が速いほど拡大率が大きくなるように設定することができる。ユーザは、フライング・フリック操作をする指先の移動速度を調整するだけで部分画像３１３の拡大率３１３を調整することができる。
【００７３】
ブロック６１４で部分画像制御部２０７は、接触座標処理部２１３にフリック・ウィンドウ３２５を範囲とする部分画像３１３の座標を通知する。以後、接触座標処理部２１３は、部分画像３１３に対するタッチ操作から検出した接触座標を元画像３０３の座標に変換してユーザ・ファンクション２０１に転送する。ブロック６１５で部分画像制御部２０７は、サイズ、形状、および座標を決定したフリック・ウィンドウ３２５に表示する部分画像３１３のデータを生成して画像データ合成部２０５に転送する。部分画像データ合成部２０５は、図３のブロック５０９でフリック・ウィンドウ３２５の位置に部分画像３１３を表示する。
【００７４】
ブロック６５１で部分画像制御部２０７はフライング・フリック操作の方向を認識する。フライング・フリック操作の方向の処理については、ブロック６０７に準ずることができる。いま図８（Ａ）に示すように、部分画像制御部２０７は、一例としてＹ軸方向に方向３２１と方向３２３を定義し、方向３２１には図８（Ｂ）に示すように縮小した部分画像３１３ａの生成を関連付け、方向３２３には図９（Ａ）に示すように拡大した部分画像３１３ｂの生成を関連付けているとする。開始座標３０６は操作オブジェクトに対応する位置でも対応しない位置でもよいが、説明の便宜のために、図８（Ａ）では開始座標３２０を元画像３０３の操作オブジェクトが存在しない位置にしている。
【００７５】
部分画像３１３ａおよび部分画像３１３ｂは、開始座標３２０を中心にした元画像３０３の所定の領域を縮小または拡大した画像である。ブロック６５３で部分画像制御部２０７は、フリック・ウィンドウ３２５のサイズおよび形状を決める。このときの手順はブロック６０９の手順に準ずることができる。ブロック６５５で部分画像制御部２０７は、フリック・ウィンドウ３２５のサイズおよび形状を決める。このときの手順はブロック６１１の手順に準ずることができる。
【００７６】
ブロック６５７で部分画像制御部２０７は、開始座標３０６に対するフライング・フリック操作の方向が方向３２１のときは、図８（Ｂ）に示す縮小した部分画像３１３ａのデータを生成し、方向３２３のときは図９（Ａ）に示す拡大した部分画像３１３ｂのデータを生成する。部分画像３１３ａ、３１３ｂの縮小および拡大の倍率を決定する手順は、ブロック６１３の手順に準ずることができる。
【００７７】
ブロック６３１で部分画像制御部２０７は、繰り返しフライング・フリック操作が行われたか否かを判断する。部分画像制御部２０７は、図８（Ａ）に示すように方向３２１には縮小した部分画像データの生成を関連付け、方向３２３には拡大した部分画像データの生成を関連付けているとする。
【００７８】
部分画像制御部２０７は、ブロック６３３で最初のフライング・フリック操作で方向を認識して縮小または拡大を判断する。フライング・フリック操作の方向の処理については、ブロック６０７に準ずることができる。部分画像制御部２０７は、最初のフライング・フリック操作によりブロック６３５でフリック・ウィンドウ３２５のサイズおよび形状を決定し、ブロック６３７でフリック・ウィンドウ３２５の座標を決定する。このときの手順は、ブロック６０９、６１１の手順に準ずることができる。
【００７９】
ブロック６３９で部分画像制御部２０７は、後続のフライング・フリック操作を認識する。方向３２３を認識したときに部分画像制御部２０７は、ブロック６４１で所定の時間以内に行われる後続のフライング・フリック操作を認識するたびに、図９（Ｂ）に示すようにフリック・ウィンドウ３２５ｂ、３２５ｃにその直前のフリック・ウィンドウ３２５ａ、３２５ｂの部分画像３１３ｃ、３１３ｄよりも拡大した部分画像３１３ｄ、３１３ｅを表示するための画像データを生成する。
【００８０】
方向３２１を認識したときに部分画像制御部２０７は、所定時間以内に行われる後続のフライング・フリック操作を認識するたびに、フリック・ウィンドウ３２５にその直前よりも縮小した部分画像を表示するための画像データを生成する。なお、フリック・ウィンドウ３２５ａ〜３２５ｃのサイズは一定にして、部分画像の倍率だけを変化させてもよい。繰り返しフライング・フリック操作が設定されているときはブロック６１５で、ユーザがフライング・フリック操作をするたびに部分画像制御部２０７が、ステップ状に倍率が変化する縮小または拡大した部分画像のデータを画像データ合成部２０５に転送する。
【００８１】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００８２】
１００  ディスプレイ
１００ａ  ディスプレイの表面
２００  ユーザ・インターフェース
３０１ａ〜３０１ｃ、３８１  元画像３０３の操作オブジェクト
３０３  元画像
３０５  マウス・カーソル
３０６、３２０  開始座標
３０７  スポット画像
３１３、３１３ａ〜３１３ｆ  部分画像
３１５ａ〜３１５ｃ  部分画像３１３の操作オブジェクト
３２５、３２５ａ〜３２５ｃ  フリック・ウィンドウ
３５１ａ〜３５１ｂ、３５３ａ〜３５３ｃ、３５５ａ〜３５５ｃ  操作オブジェクト
３８１  元画像３０３の操作オブジェクト
３８３  部分画像３１３の操作オブジェクト
【要約】
【課題】タッチ・スクリーンに対するタッチ操作の感覚を損なわないようにしながら誤操作を防止するユーザ・インターフェースを提供する。
【解決手段】ディスプレイ１００の表面１００ａからわずかに離れた位置でフライング・フリック操作をする。フライング・フリック操作をすると、指先の直下の座標の周りを拡大した部分画像が、元画像に重ねて表示される。部分画像に対してディスプレイ１０に指を接触させたタッチ操作をする。部分画像へのタッチ操作は元画像へのタッチ操作として処理される。フライング・フリック操作をする前は、指先をディスプレイ１００に近づけても部分画像は表示されない。一旦部分画像が表示されたあとに指先を十分に表面から離すと部分画像は消える。
【選択図】図１【図１】
0005993072.tif 000002
【図２】
0005993072.tif 000003
【図３】
0005993072.tif 000004
【図４】
0005993072.tif 000005
【図５】
0005993072.tif 000006
【図６】
0005993072.tif 000007
【図７】
0005993072.tif 000008
【図８】
0005993072.tif 000009
【図９】
0005993072.tif 000010
【図１０】
0005993072.tif 000011