JP2012203879A - 表示装置、表示制御方法及びプログラム - Google Patents
表示装置、表示制御方法及びプログラム Download PDFInfo
- Publication number
- JP2012203879A JP2012203879A JP2011071108A JP2011071108A JP2012203879A JP 2012203879 A JP2012203879 A JP 2012203879A JP 2011071108 A JP2011071108 A JP 2011071108A JP 2011071108 A JP2011071108 A JP 2011071108A JP 2012203879 A JP2012203879 A JP 2012203879A
- Authority
- JP
- Japan
- Prior art keywords
- amount
- display
- stereoscopic
- image
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】画像を立体視表示する場合に、その画像の視認性を損なう可能性を小さくしつつ、立体視で表示するときの度合いをユーザが調整することができる仕組みを提供する
【解決手段】ユーザが指300a及び300bを用いてアイコン500aを挟むようにタッチスクリーン200をタッチすると、制御部10は、指300a及び300bに応じた操作点400a及び400bを特定する。ユーザが指300a及び300bの距離を縮める操作(ピンチイン)を行うと、制御部10は、アイコン500aが縮小され、且つ奥に引っ込んで見えるようなアイコン500bとして表示させる。ユーザが指300a及び300bの距離を広げる操作(ピンチアウト)を行うと、制御部10は、アイコン500aが拡大され、且つ飛び出して見えるようなアイコン500cとして表示させる。
【選択図】図3
【解決手段】ユーザが指300a及び300bを用いてアイコン500aを挟むようにタッチスクリーン200をタッチすると、制御部10は、指300a及び300bに応じた操作点400a及び400bを特定する。ユーザが指300a及び300bの距離を縮める操作(ピンチイン)を行うと、制御部10は、アイコン500aが縮小され、且つ奥に引っ込んで見えるようなアイコン500bとして表示させる。ユーザが指300a及び300bの距離を広げる操作(ピンチアウト)を行うと、制御部10は、アイコン500aが拡大され、且つ飛び出して見えるようなアイコン500cとして表示させる。
【選択図】図3
Description
本発明は、表示装置における表示内容を操作に応じて制御する技術に関する。
表示装置において、表示面において平面的に見えるように表示されている画像を、ユーザによる操作に応じて、立体的に見えるように表示させる技術が提案されている。以下、前者を平面視表示、後者を立体視表示という。特許文献1には、表示面に対するユーザによる接触を検出するタッチセンサを備えた表示装置において、ユーザがその表示面をタッチすると、表示面に表示されている画像について平面視表示と立体視表示とを切り替える仕組みが開示されている。
しかしながら特許文献1に記載の技術では、表示を切り替える対象となる画像そのものの上にユーザが指を置いて対象を指定するため、対象となる画像が指で隠れてしまい、視認性が損なわれることがある。また、特許文献1に記載の技術では、ユーザが指定した領域に表示される画像について、平面視表示と立体視表示とを択一的に切り替えることは可能であるが、立体視表示において表示面からあたかも飛び出しているように見える量や表示面の奥のほうに引っ込んでいるように見える量、すなわち立体視表示の度合いに関する制御は行えない。
本発明は上述の背景に鑑みてなされたものであり、画像を立体視表示する場合に、その画像の視認性を損なう可能性を小さくしつつ、立体視で表示するときの度合いをユーザが調整することができる仕組みを提供することを目的とする。
本発明は上述の背景に鑑みてなされたものであり、画像を立体視表示する場合に、その画像の視認性を損なう可能性を小さくしつつ、立体視で表示するときの度合いをユーザが調整することができる仕組みを提供することを目的とする。
上述した課題を解決するために、本発明は、画像が表示される表示面と、ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出手段と、前記表示面に表示された画像のうち、前記指定位置検出手段により検出された複数の位置の間に挟まれた領域にある画像を特定する特定手段と、前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定手段と、前記決定手段により決定された立体視度合い量に応じて、前記特定手段により特定された画像を立体的に表示するように制御する表示制御手段とを備えることを特徴とする表示装置を提供する。
また、好ましい態様において、前記決定手段は、前記複数の位置が最初に検出された後に前記指定位置検出手段によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が小さくなったと判断した場合には、前記飛び出し量を小さく又は前記奥行き量が大きくなるような前記立体視度合い量を決定し、前記複数の位置が最初に検出された後に前記指定位置検出手段によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が大きくなったと判断した場合には、前記飛び出し量を大きく又は前記奥行き量が小さくなるような前記立体視度合い量を決定する。
また、好ましい態様において、前記決定手段は、前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による前記表示面に対する押圧の大きさを検出する押圧検出手段を備え、前記複数の位置が最初に検出された後に前記押圧検出手段によって検出された押圧の大きさに応じて、前記飛び出し量が大きくなるような前記立体視度合い量を決定する。
また、好ましい態様において、前記決定手段は、前記表示面に対する前記ユーザの指の傾きを検出する傾き検出手段を備え、前記複数の位置が最初に検出された後に前記傾き検出手段によって検出される指の傾きに基づいて、最初に検出された指の傾きが大きくなったと判断した場合には、前記飛び出し量を小さく又は前記奥行き量が大きくなるような前記立体視度合い量を決定し、前記複数の位置が最初に検出された後に前記傾き検出手段によって検出される指の傾きに基づいて、最初に検出された指の傾きが小さくなったと判断した場合には、前記飛び出し量を大きく又は前記奥行き量が小さくなるような前記立体視度合い量を決定する。
また、好ましい態様において、ユーザの指による前記表示面に対する押圧の大きさを検出する押圧検出手段を備え、前記表示制御手段は、前記検出された押圧の大きさが閾値を超えたことを契機として、前記立体視度合い量に応じて前記画像の立体的な表示を行う動作モードと、立体的な表示を行わない動作モードとを切り替える。
また、好ましい態様において、前記決定手段は、前記立体視度合いに加えて、前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を表示するときの大きさを決定し、前記表示制御手段は、前記決定手段により決定された前記立体視度合い及び前記大きさに応じて、前記特定手段により特定された画像の表示制御を行う。
また、好ましい態様において、前記決定手段は、起動中のアプリケーションプログラムからの指定によって、前記3次元で表示させる度合いについて、段階的に変化するように決定するか又は連続的に変化するように決定するかを切り替える。
また、好ましい態様において、前記決定手段は、前記立体視度合いを、予め決められた上限及び下限の範囲内で決定する。
また、本発明は、画像が表示される表示面を備えた表示装置が行う表示制御方法であって、ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出工程と、前記表示面に表示された画像のうち、前記指定位置検出工程により検出された複数の位置の間に挟まれた領域にある画像を特定する特定工程と、前記特定工程により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定工程と、前記決定工程により決定された立体視度合い量に応じて、前記特定工程により特定された画像を立体的に表示するように制御する表示制御工程とを備えることを特徴とする表示制御方法を提供する。
また、本発明は、コンピュータを、画像が表示される表示面に表示された画像のうち、ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出手段により検出された複数の位置の間に挟まれた領域にある画像を特定する特定手段と、前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定手段と、前記決定手段により決定された立体視度合い量に応じて、前記特定手段により特定された画像を立体的に表示するように制御する表示制御手段として機能させるためのプログラムとしても提供し得る。
本発明によれば、画像を立体視表示する場合に、その画像の視認性を損なう可能性を小さくしつつ、立体視で表示するときの度合いをユーザが調整することができる仕組みを提供することが可能となる。
以下、本発明の実施形態について説明する。
<実施形態>
<構成>
図1は、表示装置100の外観を表す正面図である。表示装置100は、長方形のタッチスクリーン200と、タッチスクリーン200の周囲に設けられた操作子31とを有するコンピュータであり、例えば、スマートフォン、PDA(Personal Digital Assistant)、無線LAN(Local Area Network)機能を有する情報端末、ゲーム機及びパーソナルコンピュータなどの電子機器である。ユーザは、タッチスクリーン200及び操作子31を指や操作具で触れたり押したりすることで表示装置100を操作することができるようになっている。
<実施形態>
<構成>
図1は、表示装置100の外観を表す正面図である。表示装置100は、長方形のタッチスクリーン200と、タッチスクリーン200の周囲に設けられた操作子31とを有するコンピュータであり、例えば、スマートフォン、PDA(Personal Digital Assistant)、無線LAN(Local Area Network)機能を有する情報端末、ゲーム機及びパーソナルコンピュータなどの電子機器である。ユーザは、タッチスクリーン200及び操作子31を指や操作具で触れたり押したりすることで表示装置100を操作することができるようになっている。
図2は、表示装置100のハードウェア構成を表すブロック図である。表示装置100は、制御部10、記憶部20、操作部30、表示部40、検出部50、及び通信部60を有し、これらの各部はバス70を介して接続されている。制御部10は、CPU(Central Processing Unit)などの演算装置と、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリを有している。制御部10において、CPUが、ROMや記憶部20に記憶されているコンピュータプログラムを読み出しRAMにロードして実行することにより、表示装置100の各部を制御する。操作部30は、操作子31を備えており、ユーザによる操作内容を表す操作信号を制御部10に出力する。
表示部40は、3D(Dimension)ディスプレイ41を備え、制御部10による制御の下で、ユーザの操作に応じた画像やメニュー画像等の各種画像を表示する。3Dディスプレイ41は、2次元の画像を表示するとともに、3次元の画像を表示するディスプレイである。3次元の画像の表示方式としては、視差バリア方式や、レンチキュラーレンズ方式、或いは時分割方式などが知られている。この3Dディスプレイ41には、上述の方式うち、どれを用いてもよいが、ここでは、視差バリア方式、つまり、スリットを利用して左右の眼に視差を持つ映像を入射させることでユーザがあたかも立体的な画像を見ていると感じられるような仕組みを用いている。つまり、ユーザは、3Dディスプレイ41に表示される画像が3Dディスプレイ41表示面から飛び出しているかのように見えたり、反対に、3Dディスプレイ41表示面の奥のほうに引っ込んでいるかのように見えたりする。以降において、3Dディスプレイ41に表示される画像について、飛び出しているかのように見えたり、反対に、奥に引っ込んでいるかのように見えたりする、その度合いのことを、画像の立体視度合い量という。また、立体視度合い量のなかでも、画像の飛び出しに関する度合いのことを、画像の飛び出し量といい、画像の引っ込みに関する度合いのことを、画像の奥行き量という。すなわち、ユーザは、立体視度合い量が0の値をとるときには、画像が飛び出しも引っ込みもない平面的な画像に見え、立体視度合い量が0より大きい正の値を取る(すなわち、飛び出し量が正の値を取る)ときには、画像が飛び出しているかのように見え、立体視度合い量が0より小さい負の値をとる(すなわち、奥行き量が正の値を取る)ときには、画像が奥に引っ込んでいるかのように見える。
この3Dディスプレイ41は、長方形の形状であり、XY直交座標系が設定されている。このXY直交座標系の原点Pは、3Dディスプレイ41の4隅のうちのいずれか(図1においては左上隅)に位置している。この原点Pを含む、3Dディスプレイ41の2辺のうち、一方の辺(ここでは3Dディスプレイ41の短手方向の辺)がX軸に対応し、他方の辺(ここでは3Dディスプレイ41の長手方向の辺)がY軸に対応している。これらX軸及びY軸と直交する直線をZ軸とする。つまり、X軸及びY軸で表される平面に対して、Z軸は飛び出し方向及び奥行き方向の座標軸に相当する。図1に示す座標記号のうち、内側が白い円の中に黒い円を描いた記号は、紙面奥側から手前側に向かう矢印を表している。つまり、Z軸は、手前側が正方向であり、奥側が負方向である。3Dディスプレイ41の表示面は、画像が表示される表示面に相当する。
検出部50は、タッチセンサ51を備えており、タッチセンサ51が検出した結果を表す検出信号を制御部10に出力する。タッチセンサ51は、図1におけるタッチスクリーン200において、3Dディスプレイ41の上に積層され、且つ、3Dディスプレイ41の全体を覆うように重ねられた状態で配置されており、その大きさ及び形状は前述した3Dディスプレイ41の大きさ及び形状とほぼ同じである。このタッチセンサ51は、光を透過する材料で構成されており、3Dディスプレイ41に表示された画像はタッチセンサ51を透過してユーザに視認されるようになっている。前述した3Dディスプレイ41と同様に、このタッチセンサ51にも、XY直交座標系が設定されている。つまり、XY直交座標系の原点Pは、タッチセンサ51の4隅のうちのいずれか(ここでは図1の左上隅)に位置している。この原点Pを含む、タッチセンサ51の2辺のうち、一方の辺(ここではタッチセンサ51の短手方向の辺)がX軸に対応し、他方の辺(ここではタッチセンサ51の長手方向の辺)がY軸に対応している。タッチセンサ51は、指が接触したか否かを所定のサンプリング周期で検出し、その接触位置(操作点という)を示す座標を検出結果として制御部10へ出力する。以下、ユーザがタッチスクリーン200(より正確にはユーザから見て最も手前側に設けられているタッチセンサ51)に触れて行う操作のことを、タッチ操作という。このタッチ操作は、ユーザがタッチスクリーン200上の任意の位置を指定する操作である。タッチセンサ51は、ユーザの複数の指により表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出手段に相当する。
このように、タッチセンサ51及び3Dディスプレイ41には、共通のXY直交座標系が設定されており、タッチセンサ51によって出力される操作点の位置及び3Dディスプレイ41によって表示される画像の位置のいずれもが、共通のXY直交座標系で規定されるようになっている。これら3Dディスプレイ41及びタッチセンサ51によってタッチスクリーン200が構成されている。なお、3Dディスプレイ自体にタッチセンサの機能が組み込まれて構成される態様もあり、本発明はこれらの態様も含むものであるが、本実施形態では上述したように3Dディスプレイ及びタッチセンサが、それぞれ分離している構成を例に挙げて説明を行う。なお、タッチセンサには指以外の操作具(スタイラスペンなど)の接触を検出するものもあるが、以下では指によるタッチ操作を例に上げて説明を行う。
図3は、ユーザの操作に応じて画像の立体視度合い量を調整する様子を説明するための模式図である。図3(a)、図3(b)及び図3(c)は、表示装置100を側面から見た様子を表している。図3(a)において、タッチスクリーン200が存在する方向をZ軸正方向とし、その反対方向をZ軸負方向とする。これは、図3(b)及び図3(c)においても同様である。図3(a)において、タッチスクリーン200にはアイコン500aが表示されている。このときアイコン500aは、何も操作が行われていない状態であり、予め決められた基準となる大きさでタッチスクリーン200に平面視表示されている。つまり、図3(a)では、アイコン500aの立体視度合い量が「0」の状態である。アイコン500aは、ユーザの人差し指及び中指などの2本の指によってタッチされた各操作点、つまり指300aによってタッチされた操作点400aと、指300bによってタッチされた操作点400bとに挟まれている。この状態から、ユーザが、ピンチイン及びピンチアウトなる操作(ピンチ操作という)を行うと、制御部10は、アイコン500aの立体視度合い量を制御する。ここで、ピンチインとは、ユーザが2本の指をタッチスクリーン200上に載せて、その指と指との間隔を縮める動作のことをいう。ユーザが、アイコン500aを指300a及び指300bで挟んで、指同士の間隔を縮めると、すなわちピンチインを行うと、制御部10は、立体視度合い量を負の値として、アイコン500aが奥に引っ込んで見えるように表示させる。一方、ピンチアウトとは、ユーザが2本の指をタッチスクリーン200上に載せて、その指と指との間隔を広げる動作のことをいう。ユーザが、アイコン500aを指300a及び指300bで挟んで、指同士の間隔を広げる、すなわちピンチアウトを行うと、制御部10は、立体視度合い量を正の値として、画像を飛び出して見えるように表示させる。
また、ユーザがピンチ操作を行うと、制御部10は、立体視度合い量の調整に加えて、XY座標における2次元の平面上において、アイコン500aの大きさそのものを縮小させたり拡大させたりして表示させる。ここで、制御部10は、ピンチインがなされたときに縮小表示を行い、ピンチアウトがなされたときに拡大表示を行う。以降、2次元の平面上において画像を拡大させたり縮小させたりする表示のことを、拡大縮小表示といい、その拡大または縮小の度合いのことを拡大縮小度合い量という。
図3(b)は、図3(a)の状態からユーザがピンチインを行った状態を表している。ここでは、アイコン500bの立体視度合い量が負の値を取っており、アイコン500bが表示装置100の奥に引っ込んで見えている様子を表している。図3(b)においては、便宜上、アイコン500bを表示装置100の裏側に描いているが、これは、ユーザから表示装置100の奥に引っ込んで見えていることを表現したものである。一方、図3(c)は、図3(a)の状態からユーザがピンチアウトを行った状態を表している。ここでは、アイコン500cの立体視度合い量が正の値を取っており、アイコン500cが表示装置100から飛び出して見えている様子を表している。
制御部10は、タッチスクリーン200に対してユーザがピンチ操作を行ったときの操作量(ピンチ操作量という)に基づいて、アイコン500aに対する立体視度合い量及び拡大縮小度合い量の制御の度合い(立体視度合い制御量及び拡大縮小度合い制御量という)を変える。図3(a)においてユーザが指300a及び300bでタッチスクリーン200をタッチしたときの操作点400a及び400bとの距離を基準として、ピンチ操作量は、当該距離が縮まった場合に負の値を取り、当該距離が広がった場合に正の値を取る。例えば図3(b)は、図3(a)の状態からユーザがピンチインを行った状態であるから、操作点400a及び400bの距離と比べて操作点400c及び400dの距離は短くなっている。従って、この場合、制御部10は、操作点400a及び400bの距離と、操作点400c及び400dの距離との差分を、負のピンチ操作量とする。一方、図3(c)は、図3(a)の状態からユーザがピンチアウトを行った状態であるから、操作点400a及び400bの距離と比べて操作点400e及び400fの距離は長くなっている。従って、この場合、制御部10は、操作点400a及び400bの距離と、操作点400e及び400fの距離との差分を、正のピンチ操作量とする。
再び図2の説明に戻る。通信部60は、ネットワークを介して通信ノード(図示せず)とデータ通信を行う。記憶部20は、例えばフラッシュメモリやハードディスク等の不揮発性の記憶手段であり、各種のデータを記憶している。記憶部20に記憶されているデータには、制御部10が実行するプログラムに加え、立体視制御テーブル21a、立体視制御テーブル21b、及び各種の閾値が含まれる。立体視制御テーブル21a及び立体視制御テーブル21bは、ピンチ操作量と、画像の立体視度合い制御量とが対応付けて記述されたものである。立体視制御テーブル21aと立体視制御テーブル21bとは、データ構成は同一であるが、データの内容が異なっている。立体視制御テーブル21aは、ピンチ操作量に応じて立体視度合い制御量が段階的、すなわち非連続的な値を取るのに対して、立体視制御テーブル21bは、ピンチ操作量に応じて立体視度合い制御量が連続的な値を取る。制御部10は、起動中のアプリケーションプログラムからの指定に応じて、立体視制御テーブル21aと立体視制御テーブル21bのどちらを参照するかを決定する。ここで、立体視制御テーブル21aを指定するアプリケーションプログラムとは、例えばディレクトリなどのアイコンを表示する場合のように、複数のアイコンが表示される際に、これらのアイコンの立体視度合い量が足並みを揃えることが望ましいアプリケーションプログラムである。また、立体視制御テーブル21bを指定するアプリケーションプログラムとは、例えばタッチスクリーン200の待ちうけ画面に表示されるキャラクター(いわゆる「待ちキャラ」)を表示する場合のように、単一のアイコンが表示されるようなアプリケーションプログラムである。制御部10は、ユーザによりピンチ操作が行われると、立体視制御テーブル21a又は立体視制御テーブル21bを参照し、そのピンチ操作量に対応する立体視度合い制御量を特定すると、特定した立体視度合い制御量に応じて表示内容を制御する。
図4は、立体視制御テーブルの内容を表す図である。立体視制御テーブル21a及び立体視制御テーブル21bは、「ピンチ操作量」及び「立体視度合い制御量」といった複数の項目からなる。「ピンチ操作量」は、上述した、ユーザがピンチ操作を行ったときの指を広げたり縮めたりしたその距離に応じた値、すなわちピンチ操作における操作量を表す。図4において、「P」はピンチ操作量を表している。「立体視度合い制御量」は、制御部10が、ピンチ操作量に応じて画像の立体視度合い量を変更するときの量を表している。図4において「Z」は、制御部10が制御する画像の立体視度合い量であって、図1及び図3の座標系におけるZ軸方向の値を表している。ここで、「P」及び「Z」の単位は、例えば「cm」である。
立体視制御テーブル21aでは、「立体視度合い制御量」が段階的な値を取る。例えば、ピンチ操作量が「0≦P<1」のときには、立体視度合い制御量が「Z=0」であるから、制御部10は、指定されたアイコンの立体視度合い量を変更して表示させることはない。つまり、このとき、ユーザにとって、指定したアイコンは、操作前の表示状態と同じように見える。また、ピンチ操作量が「1≦P<2」のときには、立体視度合い制御量が「Z=1」であるから、制御部10は、指定されたアイコンに対して「Z=1」に応じた量だけ立体視度合い量を変更して表示させる。従って、ユーザにとって指定したアイコンは、操作前の表示状態から「Z=1」に応じた量だけ飛び出して表示されているように見える。一方、ピンチ操作量が「−2≦P<−1」のときには、立体視度合い制御量が「Z=−1」であるから、制御部10は、指定されたアイコンを「Z=−1」に応じた量だけ立体視度合い量を変更して表示させる。従って、ユーザにとって、指定したアイコンは、操作前の表示状態から「Z=−1」に応じた量だけ奥に引っ込んで表示されているように見える。このように、立体視制御テーブル21aでは、ピンチ操作量の取る値に応じて段階的に立体視度合い制御量が決定される。ここで、制御部10は、ユーザによるピンチ操作が行われる都度、立体視度合い制御量を新たに決定する。例えば、ユーザがピンチアウトを行うことで、制御部10が、「Z=2」の立体視度合い制御量を決定し、この立体視度合い制御量に応じてアイコンを飛び出して見えるように表示させたとする。その後、ユーザがピンチインを行うことで、制御部10が、「Z=−1」の立体視度合い制御量を決定した場合、制御部10は、「Z=2」のときと比較すると「Z=−1」分だけ奥に引っ込んで見えるように表示させる。つまり、このとき制御部10は、「Z=2−1」、すなわち「Z=1」の立体視度合い制御量に応じて、アイコンを飛び出して見えるように表示させる。なお、図4に示したピンチ操作量の範囲設定及び立体視度合い制御量の取る値は一例に過ぎず、より細かい、或いは、より大きい範囲でピンチ操作量が設定されてもよいし、立体視度合い制御量の取る値についても、より細かく分けられてもよいし、より大きく分けられてもよい。
一方、立体視制御テーブル21bでは、「立体視度合い制御量」が連続的な値を取る。図4に示すように、立体視制御テーブル21bでは、ピンチ操作量が「2≦P」から「P<−2」までのいずれの範囲であっても、一律「Z=n×P」の値を取る。ここで定数nは、予め決められた正の整数である。従って、ピンチ操作量が「1」のときには、立体視度合い制御量は「n」となるし、ピンチ操作量が「−1.5」のときには、立体視度合い制御量は「−1.5n」となる。このように、立体視制御テーブル21bでは、ピンチ操作量の取る値に応じて連続的に立体視度合い制御量が決まっている。
次に、ユーザが3D画像を快適に視認できるとされている快適立体視範囲について説明する。図5は、快適立体視範囲を説明する模式図であり、表示装置100をタッチスクリーン200に平行な方向から見たときの様子を表している。ここで、ユーザの視点から見たときのタッチスクリーン200の水平方向のサイズをs[cm]、ディスプレイの水平方向の解像度をr[pixel]、左右の目の間隔(眼間距離)をe[cm]、タッチスクリーン200から左右の目を結んだ線分までの距離(視距離)をd[cm]、左右の目でそれぞれ知覚される映像間の水平方向のズレ(視差)における最大視差をDmax[Pixel]、最小視差をDmin[Pixel]とする。そして、仮想的な3次元空間において、最も大きい飛び出し量を持つ点と、最も大きい奥行き量を持つ点と、タッチスクリーン200上の点とに対する、左右の目の輻輳角をそれぞれα、β、γとする。
快適立体視範囲の定義は様々であるが、一般的に最もよく用いられる定義としては、3DC安全ガイドラインで述べられている、「視差角|α―γ|及び|β−γ|が1度以内であること」が挙げられる。従って、この定義に則ると、眼間距離e及び視距離dが決まれば、最大飛び出し量p及び最大奥行き量qが求まる。具体的な求め方は、以下のようなものである。まず、図5からも明らかなように、以下の数式(a)及び(b)が成り立つ。
(a)γ=2tan-1(e/2d)
(b)α=2tan-1(e/(2d−2p))
従って、α=γ+1を快適立体視範囲の飛び出し上限として、これを上記の数式に代入することで最大飛び出し量pが求まる。最大奥行き量qも同様に求めることができる。ここで、最大飛び出し量pは正の値で表され、最大奥行き量qは負の値で表される。つまり、このときの最大飛び出し量p〜最大奥行き量qの範囲が、快適立体視範囲であるから、表示装置100においては、制御部10が、この快適立体視範囲の範囲内で、画像の立体視度合い量を制御することとなる。なお、この最大飛び出し量p及び最大奥行き量qは、一般的には記憶部20に記憶されているプログラムに記述されているが、ユーザの眼間距離eや視距離dをリアルタイムで取得できる場合は、上記数式に則って、制御部10が動的に変化させてもよい。
(a)γ=2tan-1(e/2d)
(b)α=2tan-1(e/(2d−2p))
従って、α=γ+1を快適立体視範囲の飛び出し上限として、これを上記の数式に代入することで最大飛び出し量pが求まる。最大奥行き量qも同様に求めることができる。ここで、最大飛び出し量pは正の値で表され、最大奥行き量qは負の値で表される。つまり、このときの最大飛び出し量p〜最大奥行き量qの範囲が、快適立体視範囲であるから、表示装置100においては、制御部10が、この快適立体視範囲の範囲内で、画像の立体視度合い量を制御することとなる。なお、この最大飛び出し量p及び最大奥行き量qは、一般的には記憶部20に記憶されているプログラムに記述されているが、ユーザの眼間距離eや視距離dをリアルタイムで取得できる場合は、上記数式に則って、制御部10が動的に変化させてもよい。
なお、最大飛び出し量pと最大視差Dmaxの関係としては、以下の数式(c)が成り立つ。
(c)2ptan(α/2)=Dmax×s/r
従って、最大飛び出し量pを求めることで、最大視差Dmaxを求めることができる。同様に最小視差Dminを求めることも可能である。
(c)2ptan(α/2)=Dmax×s/r
従って、最大飛び出し量pを求めることで、最大視差Dmaxを求めることができる。同様に最小視差Dminを求めることも可能である。
なお、立体視度合い量の制御とは、実際には左右の目でそれぞれ知覚される映像の視差を制御することに相当するので、記憶部20には最大飛び出し量p、最大奥行き量qに代えて、 最大視差Dmax、最小視差Dminを記憶させてもよい。同様に、図4で示される立体視制御テーブル21a,21bにおける「立体視度合い制御量」も、Z軸方向の物理量(単位はcmなど)に代えて、左右の目でそれぞれ知覚される映像の視差(単位はpixel)としてもよい。ただし、以後は説明の簡略化のため、Z軸方向の物理量(単位はcmなど)を「立体視度合い制御量」として説明を行う。
<動作>
次に、図6及び図7を用いて、制御部10による処理内容について説明を行う。
図6は、表示装置100における処理の流れを示すフローチャートである。タッチスクリーン200に対してタッチ操作が行われた場合(ステップS10;YES)、制御部10は、ユーザによるタッチ操作から操作点を特定し、特定した操作点をRAMに記憶させる(ステップS20)。ここで、特定した操作点が1つである場合、すなわち1本の指で触れられており、複数の指でタッチスクリーン200を触れる、いわゆるマルチタッチではないこと意味している場合(ステップS30;NO)、制御部10は、タッチスクリーン200に表示されている内容及び操作点の位置等に基づいて予め決められた対応処理を行い(ステップS60)、ステップS10に戻る。ここで、制御部10が行う対応処理の内容には、例えば、操作内容を特定できないといった旨のエラーメッセージをタッチスクリーン200に表示させたり、或いは、各操作点の位置に表示されている項目を選択したり、さらには何も処理を行わない、といったものが含まれる。一方、ステップS20で特定した操作点が2つであり、マルチタッチでタッチ操作が行われたことを意味している場合(ステップS30;YES)、制御部10は、各操作点の間の線分の始点及び終点を特定するとともに当該線分の長さを算出する(ステップS40)。ここで、ステップS40について、図7を用いて説明する。
次に、図6及び図7を用いて、制御部10による処理内容について説明を行う。
図6は、表示装置100における処理の流れを示すフローチャートである。タッチスクリーン200に対してタッチ操作が行われた場合(ステップS10;YES)、制御部10は、ユーザによるタッチ操作から操作点を特定し、特定した操作点をRAMに記憶させる(ステップS20)。ここで、特定した操作点が1つである場合、すなわち1本の指で触れられており、複数の指でタッチスクリーン200を触れる、いわゆるマルチタッチではないこと意味している場合(ステップS30;NO)、制御部10は、タッチスクリーン200に表示されている内容及び操作点の位置等に基づいて予め決められた対応処理を行い(ステップS60)、ステップS10に戻る。ここで、制御部10が行う対応処理の内容には、例えば、操作内容を特定できないといった旨のエラーメッセージをタッチスクリーン200に表示させたり、或いは、各操作点の位置に表示されている項目を選択したり、さらには何も処理を行わない、といったものが含まれる。一方、ステップS20で特定した操作点が2つであり、マルチタッチでタッチ操作が行われたことを意味している場合(ステップS30;YES)、制御部10は、各操作点の間の線分の始点及び終点を特定するとともに当該線分の長さを算出する(ステップS40)。ここで、ステップS40について、図7を用いて説明する。
図7は、制御部10による立体視度合い量の制御を説明するための模式図である。図7(a)、図7(b)及び図7(c)は、表示装置100を正面から見た様子を表している。図7(a)は、ユーザがタッチスクリーン200を2本の指でタッチした状態を表す。つまり、ユーザが指300a及び指300bを用いてタッチスクリーン200に対してタッチ操作を行うと、ステップS20において制御部10は操作点400a及び400bを特定する。ここで、ユーザによるタッチ操作がマルチタッチであるため、ステップS40で、制御部10は、操作点400aと操作点400b(すなわち始点と終点)とを直線で結んだ線分L1の長さを算出する。この算出は、各操作点におけるXY座標に基づいて、三角関数を用いて行われればよい。制御部10は、特定した各操作点のXY座標及び算出した線分の長さをRAMに記憶させると、処理をステップS50へ進める。
ステップS40の次に、制御部10は、算出した線分L1上に立体視表示の制御対象があるか否かを判定する(ステップS50)。図7(a)においては、線分L1上に立体視表示の制御対象となるアイコン500aが存在しているため、このとき制御部10は、ステップS50でYESと判定する。ここで、アイコン500aが立体視表示の制御対象であるか否かは、アイコン500aを表示するための画像情報に予め含まれている。ここで、立体視表示の制御対象となるようなアイコンとは、例えば「待ちキャラ」などであり、立体視表示の制御対象とならないようなアイコンとは、例えばタッチスクリーン200の上部などに表示される時計などである。また、ステップS50において、具体的には、アイコン500aの周囲を囲んだ矩形で表されるアイコン表示領域600aが、操作点400aと操作点400bとを対角とした矩形の領域内に収まっている場合に、制御部10は、線分L1上に立体視表示の制御対象がある、と判定する。反対に、制御部10は、アイコン表示領域600aが上記矩形の領域内に収まっていない場合、又は、アイコン500aが立体視表示の制御対象でない場合、線分L1上に立体視表示の制御対象がないと判定すると、(ステップS50;NO)、対応処理を行い(ステップS60)、ステップS10に戻る。線分L1上に立体視表示の制御対象がない場合には、制御部10は、立体視表示の制御を行う必要がないため、上述のような対応処理を行う。なお、線分L1上にアイコンなどの画像が複数ある場合には、それらの画像の各々について上記のステップS50の判定がなされ、そのうち少なくとも1つの画像が立体視表示の制御対象であれば、ステップS50で肯定的な判定結果となり、その画像について以下の処理がなされることになる。
制御部10は、線分L1上に立体視表示の制御対象があると判定すると、(ステップS50;YES)、ピンチ操作が行われたか否かを判定する(ステップS70)。ステップS70において、制御部10は、ステップS20で特定した2つの操作点を始点とした、これらの操作点とは異なる新たな2つの操作点を特定できた場合には、ピンチ操作が行われたと判定する。このとき、新たな2つの操作点は、ユーザが、始点となるステップS20で特定した2つの操作点(基準操作点という)からそのまま指をスライドさせ、スライドさせる動きを停止した位置を指し示すものである。ここで、ユーザが基準操作点をタッチした後に、タッチスクリーン200から指を予め決められた時間(例えば数ミリ秒)以上離した場合、基準操作点とは異なる位置に再度タッチ操作を行っても、制御部10は、この動作をピンチ操作が行われたとは判定しない。制御部10は、ピンチ操作が行われなかったと判定した場合(ステップS70;NO)、ステップS60に進み、上述した対応処理を行う。
一方、制御部10は、ピンチ操作が行われたと判定すると(ステップS70;YES)、当該ピンチ操作におけるピンチ操作量を計算する(ステップS80)。ステップS80の処理は次のようにして行われる。制御部10は、ステップS40において、基準操作点間における線分L1を算出済みである。そして制御部10は、ステップS70で特定した新たな操作点間における線分を算出する。例えば、図7(b)は図7(a)の状態からユーザがピンチインを行った状態を表している。この場合、制御部10は、操作点400c及び400dにおけるXY座標から、線分L2を算出する。図7(c)は図7(a)の状態からユーザがピンチアウトを行った状態を表している。この場合、制御部10は、操作点400e及び400fにおけるXY座標から、線分L3を算出する。そして制御部10は、基準操作点に基づく線分L1とピンチ操作後の操作点に基づく線分L2又はL3との差分を求めると、上記差分に対して「−1」を乗算した値をピンチ操作量として算出する。ここで、ピンチインが行われた場合、上記差分が正の値となるから立体視度合い制御量は負の値となる。一方、ピンチアウトが行われた場合、上記差分が負の値となるから立体視度合い制御量は正の値となる。従って、ピンチ操作量と立体視度合い制御量の正負を揃えるために、制御部10は、上記差分に対して「−1」を乗算している。制御部10は、算出したピンチ操作量をRAMに記憶させると、処理をステップS90へ進める。
ステップS80の次に、制御部10は、ピンチ操作量に基づいて、立体視制御テーブル21a又は立体視制御テーブル21bを参照し、立体視度合い制御量を特定する(ステップS90)。例えば、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21aを指定している場合を考える。この場合、例えばユーザによって、ピンチ操作量が「1」のピンチアウトが行われると、図4に示すように、制御部10は、立体視度合い制御量を「Z=1」として特定する。また、例えばユーザによって、ピンチ操作量が「−2.2」のピンチインが行われると、図4に示すように、制御部10は、立体視度合い制御量を「Z=−2」として特定する。一方、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21bを指定している場合を考える。この場合、例えばユーザによって、ピンチ操作量が「1.5」のピンチアウトが行われると、図4に示すように、制御部10は、立体視度合い制御量を「Z=1.5n」として特定する。また、例えばユーザによって、ピンチ操作量が「−2」のピンチインが行われると、図4に示すように、制御部10は、立体視度合い制御量を「Z=−2n」として特定する。制御部10は、特定した立体視度合い制御量をRAMに記憶させると、処理をステップS100に進める。
ステップS90の次に、制御部10は、立体視度合い制御量が快適立体視範囲内であるか否かを判定する(ステップS100)。上述したように、快適立体視範囲内を表す最大飛び出し量p及び最大奥行き量qは、ROMや記憶部20に予め記憶されている。従って、制御部10は、ステップS90で特定した立体視度合い制御量が正の値を取るときには、立体視度合い制御量が最大飛び出し量pを超えていないか比較し、超えている場合、立体視度合い制御量が快適立体視の範囲外であると判定して(ステップS100;NO)、処理をステップS60へ進める。また、制御部10は、ステップS90で特定した立体視度合い制御量が負の値を取るときには、立体視度合い制御量が最大奥行き量qを超えていないか比較し、超えている場合、立体視度合い制御量が快適立体視の範囲外であると判定して(ステップS100;NO)、処理をステップS60へ進める。一方、制御部10は、立体視度合い制御量が正の値を取るときに、立体視度合い制御量が最大飛び出し量pを超えておらず、快適立体視の範囲内であると判定すると(ステップS100;YES)、処理をステップS110へ進める。同様に、制御部10は、立体視度合い制御量が負の値を取るときに、立体視度合い制御量が最大奥行き量qを超えておらず、快適立体視の範囲内であると判定すると(ステップS100;YES)、処理をステップS110へ進める。
ステップS100の次に、制御部10は、ピンチ操作量が負の値を取る場合、すなわちピンチ操作がピンチインであった場合(ステップS110;YES)、制御対象のアイコンを縮小させて表示させるとともに、奥行き量を立体視度合い制御量に応じて大きくして、当該アイコンを奥に引っ込んで見えるように表示させる(ステップS120)。ここで制御部10は、縮小させる割合を、ピンチ操作量に比例したものとして算出する。算出の方法は、ピンチ操作量に予め決められた定数を乗算してもよいし、ピンチ操作量の絶対値の逆数を、縮小させる倍率として用いてもよい。例えば図7(b)ではアイコン500bが、アイコン500aから縮小されて表示されている。一方、ステップS100の次に、制御部10は、ピンチ操作量が正の値を取る場合、すなわちピンチ操作がピンチアウトであった場合(ステップS110;NO)、制御対象のアイコンを拡大させて表示させるとともに、飛び出し量を立体視度合い制御量に応じて大きくして、当該アイコンを飛び出して見えるように表示させる(ステップS130)。ここで制御部10は、拡大させる割合を、ピンチ操作量に比例したものとして算出する。算出の方法は、ピンチ操作量に予め決められた定数を乗算してもよいし、ピンチ操作量をそのまま拡大させる倍率として用いてもよい。制御部10は、ステップS120又はステップS130の処理を行うと、処理をステップS10へ進める。
図8は、制御部10の機能的構成を表すブロック図である。図8に表されるように、制御部10は、プログラムを実行することにより、特定手段11、決定手段12、及び表示制御手段13として機能する。特定手段11は、表示面である3Dディスプレイ41に表示された画像のうち、指定位置検出手段であるタッチセンサ51により検出された複数の位置の間に挟まれた領域にある画像を特定する。決定手段12は、特定手段11により特定された画像を上記複数の位置で挟むようにして指定したユーザの指による操作に基づいて、当該特定された画像を3Dディスプレイ41に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する。具体的には決定手段12は、上記複数の位置が最初に検出された後に、タッチセンサ51によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が小さくなったと判断した場合には、飛び出し量を小さく又は奥行き量が大きくなるような立体視度合い量を決定し、上記複数の位置が最初に検出された後に、タッチセンサ51によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が大きくなったと判断した場合には、飛び出し量を大きく又は奥行き量が小さくなるような立体視度合い量を決定する。表示制御手段13は、決定手段12により決定された立体視度合い量に応じて、特定手段11により特定された画像を立体的に表示するように制御する。
このように、本実施形態によれば、画像を立体視表示する場合に、その画像の視認性を損なうことなく、立体視で表示するときの度合いをユーザが調整することができる仕組みを提供することが可能となる。また、ユーザは、ピンチ操作によって、タッチした指を広げることで画像を飛び出して見えるように表示させ、指を縮めることで画像を奥に引っ込んで見えるように表示させることで、視認性を損なう可能性を小さくしつつ、直感的な操作によって、指定した画像の飛び出し量及び奥行き量を制御させることが可能となる。また、制御部10が、快適立体視範囲内において画像の飛び出し量及び奥行き量を制御するため、ユーザは、3次元で表示される画像を視認したときに不快な気分になることが少ないものとなる。
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施してもよい。
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施してもよい。
<変形例1>
実施形態においては、制御部10が制御対象であるアイコンを拡大縮小表示させる際の制御の度合いを、飛び出し量及び奥行き量に基づくものとしていたが、これに限らず、拡大縮小表示に関する制御量のテーブルを用意してもよい。図9は、変形例1に係る拡大縮小制御テーブルの内容を表す図である。拡大縮小制御テーブル22a及び拡大縮小制御テーブル22bは、「ピンチ操作量」及び「拡大縮小度合い制御量」といった複数の項目からなる。「ピンチ操作量」は、上述したとおりである。「拡大縮小度合い制御量」は、制御部10が、ピンチ操作量に応じて画像の拡大縮小を制御するときの制御の量(度合い)を表している。図9における「P」及び「Z」の意味は、図4と同一である。
実施形態においては、制御部10が制御対象であるアイコンを拡大縮小表示させる際の制御の度合いを、飛び出し量及び奥行き量に基づくものとしていたが、これに限らず、拡大縮小表示に関する制御量のテーブルを用意してもよい。図9は、変形例1に係る拡大縮小制御テーブルの内容を表す図である。拡大縮小制御テーブル22a及び拡大縮小制御テーブル22bは、「ピンチ操作量」及び「拡大縮小度合い制御量」といった複数の項目からなる。「ピンチ操作量」は、上述したとおりである。「拡大縮小度合い制御量」は、制御部10が、ピンチ操作量に応じて画像の拡大縮小を制御するときの制御の量(度合い)を表している。図9における「P」及び「Z」の意味は、図4と同一である。
拡大縮小制御テーブル21aでは、「拡大縮小度合い制御量」が段階的な値を取る。例えば、「ピンチ操作量」が「0≦P<1」のときには、「拡大縮小度合い制御量」は「表示変更なし」であるから、制御部10は、指定されたアイコンの拡大縮小の度合いを変更して表示させることはない。つまり、このとき、指定したアイコンは、その画像情報に含まれる大きさで表示される。また、例えば、「ピンチ操作量」が「1≦P<2」のときには、「拡大縮小度合い制御量」が「1.5倍表示」であるから、制御部10は、指定されたアイコンを、ピンチ操作が行われる前の「1.5倍」に拡大して表示させる。また、例えば、「ピンチ操作量」が「−2≦P<−1」のときには、「拡大縮小度合い制御量」が「0.75倍表示」であるから、制御部10は、指定されたアイコンを、ピンチ操作が行われる前の「0.75倍」に縮小して表示させる。このように、拡大縮小制御テーブル22aでは、ピンチ操作量の取る値に応じて段階的に拡大縮小度合い制御量が決定される。なお、図7に示したピンチ操作量の範囲設定及び拡大縮小度合い制御量の取る値は一例に過ぎず、より細かい、或いは、より大きい範囲でピンチ操作量が設定されてもよいし、拡大縮小度合い制御量の取る値についても、より細かく分けられてもよいし、より大きく分けられてもよい。
一方、拡大縮小制御テーブル22bでは、「拡大縮小度合い制御量」が連続的な値を取る。例えば、「ピンチ操作量」が「0≦P」、つまり0以上の正の値を取るときには、「拡大縮小度合い制御量」は「n’×(P+1)倍表示」となる。ここで、「n’」は正の整数で表される、予め決められた定数である。ピンチ操作量「P」に1を加算している理由は、ピンチ操作量が0以上1未満の値を取ったときにも、ピンチ操作に応じて拡大表示が行われるようにするためである。また、「ピンチ操作量」が「P<0」、つまり0より小さい負の値を取るときには、「拡大縮小度合い制御量」は「1/(n’’×(−P+1))倍表示」となる。ここで、「n’’」は正の整数で表される、予め決められた定数である。ピンチ操作量「P」に1を加算している理由は、ピンチ操作量が0未満で−1より大きい値を取ったときにも、ピンチ操作に応じて縮小表示が行われるようにするためである。例えば、「P=0.5」の場合、拡大縮小度合い制御量は、「1.5n」となる。また、例えば「P=1.2の場合、拡大縮小度合い制御量は、「2.2n」となるし、「P=−1」の場合、拡大縮小度合い制御量は、「0.5/n」となる。このように、拡大縮小制御テーブル22bでは、ピンチ操作量の取る値に応じて連続的に拡大縮小度合い制御量が決定される。
このようにすれば、例えば、立体視認制御量と同様に、個別に拡大縮小度合い制御量が指定されることが望ましいアプリケーションプログラムにおいて、最適な拡大縮小表示が行われるようにすることが可能となる。
<変形例2>
実施形態においては、ピンチ操作が行われると、拡大縮小度合い量及び立体視度合い量の制御が同時に行われていた。しかし、このようにすると、ユーザが、指定した画像に対して、拡大縮小表示の制御のみを望んでいた場合などに都合が悪い。このような場合に備えて、次のようにしてもよい。変形例2において、表示装置100は、画像の表示を制御するモード(表示制御モードという)として、立体視表示と拡大縮小表示の両方を制御する立体視モードと、拡大縮小表示のみを制御する拡大縮小モードの2種類を備えている。また、変形例2における表示装置100は、タッチセンサ51に代えて、押圧を検出するタッチセンサを備えている。従って、ユーザが指を用いてタッチスクリーン200に対してタッチ操作を行うと、タッチセンサは、操作点における押圧を検出し、検出信号を制御部10に出力する。つまり、上記押圧を検出するタッチセンサは、ユーザの指による表示面に対する押圧の大きさを検出する押圧検出手段に相当する。制御部10は、この検出信号の値(押圧検出値という)が予め決められた第1の閾値以上である場合、上記2種類のモードを切り替える。すなわち、制御部10は、拡大縮小モードにおいて押圧検出値が第1の閾値以上である場合、立体視モードに切り替えるし、立体視モードにおいて押圧検出値が第1の閾値以上である場合、拡大縮小モードに切り替える。表示制御モードの内容は、制御部10によってRAMに記憶されている。
実施形態においては、ピンチ操作が行われると、拡大縮小度合い量及び立体視度合い量の制御が同時に行われていた。しかし、このようにすると、ユーザが、指定した画像に対して、拡大縮小表示の制御のみを望んでいた場合などに都合が悪い。このような場合に備えて、次のようにしてもよい。変形例2において、表示装置100は、画像の表示を制御するモード(表示制御モードという)として、立体視表示と拡大縮小表示の両方を制御する立体視モードと、拡大縮小表示のみを制御する拡大縮小モードの2種類を備えている。また、変形例2における表示装置100は、タッチセンサ51に代えて、押圧を検出するタッチセンサを備えている。従って、ユーザが指を用いてタッチスクリーン200に対してタッチ操作を行うと、タッチセンサは、操作点における押圧を検出し、検出信号を制御部10に出力する。つまり、上記押圧を検出するタッチセンサは、ユーザの指による表示面に対する押圧の大きさを検出する押圧検出手段に相当する。制御部10は、この検出信号の値(押圧検出値という)が予め決められた第1の閾値以上である場合、上記2種類のモードを切り替える。すなわち、制御部10は、拡大縮小モードにおいて押圧検出値が第1の閾値以上である場合、立体視モードに切り替えるし、立体視モードにおいて押圧検出値が第1の閾値以上である場合、拡大縮小モードに切り替える。表示制御モードの内容は、制御部10によってRAMに記憶されている。
図10A及び図10Bは、変形例2に係る表示装置における処理の流れを示すフローチャートである。図10A及び図10Bにおいて、図6と同一の符号を付したステップは、図6におけるステップと処理内容が同一である。制御部10は、ユーザによるタッチ操作がマルチタッチであると判定すると(図10AステップS30;YES)、押圧検出値が第1の閾値以上である場合(図10AステップS32;YES)、表示制御モードの切り替えを行う(図10AステップS34)。すなわち、上述したように、制御部10は、拡大縮小モードにおいて押圧検出値が第1の閾値以上である場合、立体視モードに切り替えるし、立体視モードにおいて押圧検出値が第1の閾値以上である場合、拡大縮小モードに切り替える。図10AステップS34において、制御部10はRAMに記憶された表示制御モードの内容を、切り替え後のもので更新すると、図10AステップS10へ戻る。
一方、押圧検出値が第1の閾値以上でない場合(図10AステップS32;NO)、制御部10は、処理を図10AステップS40へ進める。以降の処理において、ステップ図10AS34で表示制御モードの切り替えが行われるまで、制御部10は、RAMに記憶された表示制御モードに従って処理を行う。以降、図10AステップS80までの処理は図6と同様である。制御部10は、図10AステップS80においてピンチ操作量を特定すると、表示制御モードの内容が立体視モードである場合(図10AステップS85;YES)、処理を図10AステップS90へ進める。以降の図10AステップS90〜図10BステップS110までの処理は図6と同様である。そして制御部10は、ピンチ操作がピンチインであった場合(図10BステップS110;YES)、制御対象のアイコンの奥行き量を立体視度合い制御量に応じて大きくして、当該アイコンを奥に引っ込んで見えるように表示させる(図10BステップS125)。一方、制御部10は、ピンチ操作がピンチアウトであった場合(図10BステップS110;NO)、制御対象のアイコンの飛び出し量を立体視度合い制御量に応じて大きくして、当該アイコンを飛び出して見えるように表示させる(図10BステップS135)。制御部10は、図10BステップS125又は図10BステップS135の処理を行うと、処理を図10BステップS140へ進める。また、制御部10は、表示制御モードの内容が立体視モードでない、すなわち拡大縮小表示モードである場合(図10AステップS85;NO)、処理を図10BステップS140へ進める。
図10BステップS140において、制御部10は、拡大縮小度合い制御量を特定する。ここで、実施形態のように、拡大縮小度合い制御量がピンチ操作量に基づいて変動する場合、制御部10は、上述した算出方法によって拡大縮小度合い制御量を算出する。また、変形例1のように、拡大縮小度合い制御量に関するテーブルを記憶部20が記憶している場合、制御部10は、ピンチ操作量に基づいて、拡大縮小制御テーブル22a又は拡大縮小制御テーブル22bを参照して、拡大縮小度合い制御量を特定する。そして制御部10は、ピンチ操作がピンチインであった場合(図10BステップS150;YES)、制御対象のアイコンを2次元平面上で縮小させて表示させる(図10BステップS160)。一方、制御部10は、ピンチ操作がピンチアウトであった場合(図10BステップS150;NO)、制御対象のアイコンを2次元平面上で拡大させて表示させる(図10BステップS170)。制御部10は、図10BステップS160又は図10BステップS170の処理を行うと、図10AステップS10へ戻る。
このようにすることで、ユーザは、そのときの気分や状況に応じて表示制御モードを切り替えることで、表示装置100に最適な表示内容を表示させることが可能となる。
<変形例3>
実施形態においては、ピンチ操作量によって立体視度合い制御量が決定されていたが、これに限らず、次のようにしてもよい。変形例3の表示装置100は、タッチセンサ51に代えて、変形例2と同様の、押圧の大きさを検出するタッチセンサを備えている。これを利用して、制御部10は、タッチセンサが検出する押圧の大きさの大小に基づいて、立体視度合い制御量、(具体的には飛出し量の制御)を決定する。
実施形態においては、ピンチ操作量によって立体視度合い制御量が決定されていたが、これに限らず、次のようにしてもよい。変形例3の表示装置100は、タッチセンサ51に代えて、変形例2と同様の、押圧の大きさを検出するタッチセンサを備えている。これを利用して、制御部10は、タッチセンサが検出する押圧の大きさの大小に基づいて、立体視度合い制御量、(具体的には飛出し量の制御)を決定する。
図11〜図13を用いて、変形例3における制御部10による処理内容について説明を行う。図11は、変形例3に係る表示装置100における処理の流れを示すフローチャートである。図6と同一の符号を付したステップは、図6におけるステップと処理内容が同一である。また、図12は、変形例3における制御部10による立体視度合い量の制御を説明するための模式図である。図12(a)及び図12(b)は、表示装置100を正面から見た様子を表している。図12(a)において、X軸及びY軸で表される平面に対して、Z軸は高さ方向(奥行き方向)の座標軸に相当する。これは、図12(b)においても同様である。ユーザが指300g及び指300hを用いてタッチスクリーン200に対してタッチ操作を行うと、ステップS20において制御部10は操作点400g及び400hを特定する。そして制御部10は、線分L4上に立体視表示の制御対象があると判定すると、(ステップS50;YES)、押圧が検出されたか否かを判定する(ステップS70b)。ステップS70bにおいて、制御部10は、タッチセンサからの検出信号に基づいて判定を行う。ここで、検出信号における押圧検出値が、予め決められた第2の閾値以上である場合、制御部10は、押圧を検出し(ステップS70b;YES)、処理をステップS80bへ進める。一方、検出信号における押圧検出値が、第2の閾値未満である場合、制御部10は、押圧を検出せず(ステップS70b;NO)、処理をステップS60へ進める。この第2の閾値は、上述した第1の閾値よりも小さい値である。以降、ユーザがタッチスクリーン200に対して押圧をかける操作のことを、押圧操作という。
ステップS80bにおいて、制御部10は、押圧検出値に基づく、押圧の度合いを表す押圧量を算出する。この算出方法は、例えば、制御部10が予め決められた関数に押圧検出値を引数として代入する方法が考えられるが、押圧量が押圧検出値に比例して0以上の正の値を取る算出方法であればよい。ステップS80bの次に、制御部10は、算出した押圧量に基づいて立体視度合い制御量を特定する(ステップS90b)。図13は、変形例3における立体視制御テーブルの内容を表す図である。図13における「PF」は、算出された押圧量を表す。また、図13における「Z」及び「n」の意味は、図4と同一である。ステップS90bにおいて、制御部10は、押圧量に基づいて、立体視制御テーブル21ax又は立体視制御テーブル21bxを参照し、立体視度合い制御量を特定する。図13に示されるとおり、実施形態と異なって、立体視制御テーブル21ax及び立体視制御テーブル21bxでは、立体視度合い制御量が負の値を取ることがない。これは、変形例3における立体視度合い量を制御する操作の種類が、押圧操作であるところによる。つまり、タッチスクリーン200に対する押圧操作は、当該押圧操作が行われていない状態を基準とすると、基準と比較して「押す」ことで、制御対象のアイコンを飛び出して見えるように表示させることは可能であるが、基準以上に「引く」ことで、制御対象のアイコンを奥に引っ込んで見えるように表示させることは難しいからである。従って、変形例3における立体視制御テーブル21ax及び立体視制御テーブル21bxでは、立体視度合い制御量が0以上の正の値を取るわけである。
ここで、例えば、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21axを指定している場合を考える。この場合、ユーザによって、押圧量が「0.5」の押圧操作が行われると、図13に示すように、制御部10は、立体視度合い制御量を「Z=0」として特定する。また、ユーザによって、押圧量が「2」の押圧操作が行われると、図13に示すように、制御部10は、立体視度合い制御量を「Z=2」として特定する。一方、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21bxを指定している場合を考える。この場合、ユーザによって、押圧量が「1.2」の押圧操作が行われると、図13に示すように、制御部10は、立体視度合い制御量を「Z=1.2n」として特定する。また、ユーザによって、押圧量が「1.8」の押圧操作が行われると、図13に示すように、制御部10は、立体視度合い制御量を「Z=1.8n」として特定する。制御部10は、特定した立体視度合い制御量をRAMに記憶させると、処理をステップS100に進める。
立体視度合い制御量が快適立体視範囲内である場合(ステップS100;YES)、制御部10は、制御対象のアイコンを拡大させて表示させるとともに、ステップS90bで特定した立体視度合い制御量に基づいて、制御対象のアイコンの立体視度合い量を制御する(ステップS180)。ここで制御部10は、拡大縮小度合い量を、押圧量に比例したものとして算出する。算出の方法は、押圧量に予め決められた定数を乗算してもよいし、押圧量をそのまま拡大させる倍率として用いてもよい。また、アイコンの視認性を保つために、制御部10が、拡大縮小を行わずに立体視度合いの制御のみを行うようにしてもよい。図12(b)は、図12(a)の状態からユーザが押圧操作を行った状態を表している。図12(b)に示されるとおり、押圧操作が行われた後のアイコン500eは、押圧操作が行われる前のアイコン500dよりも拡大され、且つ飛び出して見えるように表示されている。変形例3においては、上述したように、画像を奥に引っ込んで見えるように表示させること、すなわち立体視度合い制御量が負の値を取ることは不可能であるが、正の値の範囲内で立体視度合い制御量を調整すること、すなわち画像の飛び出し量を調整することは可能である。この場合、ユーザが初めに押圧操作を行い押圧量が算出されることで、立体視度合い制御量が特定された後に、ユーザが押圧操作の強弱を変更すると、それに伴って算出される押圧量も変動することとなり、結果として特定される立体視度合い制御量も変化することとなる。
このようにしても、ユーザは、指で押圧をかけるという直感的な操作によって、視認性を損なうことなく、指定した画像の飛び出し量を制御させることが可能となる。
<変形例4>
また、立体視度合い制御量の決定方法は、上述したものに限らず、次のようにしてもよい。変形例4の表示装置100は、実施形態におけるタッチセンサ51に加えて、距離を測定する対象物(ここでは指)とタッチスクリーン200との距離(近接距離という)を検出する近接センサを備えている。これを利用して、近接センサが検出する近接距離から求められる指の傾きに基づいて立体視度合い制御量が決定されるようにしてもよい。変形例4において制御部10は、ユーザがタッチ操作を行った後に指を傾ける、すなわち指の傾きを変える操作(傾け操作という)に基づいて、制御対象のアイコンの立体視度合い量を制御する。
また、立体視度合い制御量の決定方法は、上述したものに限らず、次のようにしてもよい。変形例4の表示装置100は、実施形態におけるタッチセンサ51に加えて、距離を測定する対象物(ここでは指)とタッチスクリーン200との距離(近接距離という)を検出する近接センサを備えている。これを利用して、近接センサが検出する近接距離から求められる指の傾きに基づいて立体視度合い制御量が決定されるようにしてもよい。変形例4において制御部10は、ユーザがタッチ操作を行った後に指を傾ける、すなわち指の傾きを変える操作(傾け操作という)に基づいて、制御対象のアイコンの立体視度合い量を制御する。
近接センサは、図1におけるタッチスクリーン200において、タッチセンサ51の上に積層され、且つ、タッチセンサ51の全体を覆うように重ねられた状態で配置されており、その大きさ及び形状は、前述したタッチセンサ51及び3Dディスプレイ41の大きさ及び形状とほぼ同じである。前述した3Dディスプレイ41及びタッチセンサ51と同様に、この近接センサにも、XY直交座標系が設定されている。つまり、XY直交座標系の原点Pは、近接センサの4隅のうちのいずれか(ここでは図1の左上隅)に位置している。この原点Pを含む、近接センサの2辺のうち、一方の辺(ここでは近接センサの短手方向の辺)がX軸に対応し、他方の辺(ここでは近接センサの長手方向の辺)がY軸に対応している。近接センサは、例えば赤外線型のセンサであり、赤外線を発する複数の発光素子と、光を受けとって電気信号に変換する複数の受光素子を備えており、これらがXY直交座標系に従って配置されている。発光素子から発せられた赤外線が、距離の測定対象物(近接物という)に当たって反射してくると、受光素子は、反射した赤外線を受光する。近接物が近いほど反射光の強度が増すため、近接センサは、受光素子の受光強度に基づいて表示装置100と対象物との距離、つまりZ座標値を測ると、X座標、Y座標及びZ座標の各座標値を検出結果として制御部10に出力する。近接センサは、X座標、Y座標及びZ座標の各座標値を検出結果として出力できるものであれば、ほかの方式のものであってもよい。
図14〜図16を用いて、変形例4における制御部10による処理内容について説明を行う。図14は、変形例4に係る表示装置100における処理の流れを示すフローチャートである。図6と同一の符号を付したステップは、図6におけるステップと処理内容が同一である。また、図15は、変形例4における指の傾きの算出方法を説明するための模式図である。図15は、表示装置100を、タッチスクリーン200に平行な方向から見た様子を表している。図15において、Y軸で表される表示装置100の長手方向に対して、Z軸は高さ方向(奥行き方向)の座標軸に相当する。図14において、制御部10は、算出した線分上に立体視表示の制御対象が存在している場合(ステップS50;YES)、基準傾きなるものを算出する(ステップS65a)。ここで、基準傾きとは、ユーザが2本の指でタッチ操作を行ったときの、この指のタッチスクリーン200に対する傾きであって、傾け操作が行われる前の指の傾きを表す。
図15において、指300iは、ユーザがタッチスクリーン200にタッチ操作を行った状態であって、傾け操作を行っていない状態を表す。図15では、タッチスクリーン200をユーザが指300iでタッチすることで、操作点400iが特定されている。白い円で表された操作点400iに対し、黒い円は、近接センサによる操作点以外の検出結果(近接検出結果という)を表しており、各々が(X,Y,Z)で表される三次元の座標値を持っている。ステップS65aにおいて、制御部10は、近接検出結果に含まれる三次元の座標値を三次元の座標系にプロットすると、操作点400iと、三次元の座標値で表される近接検出結果とを検出時期に従って半直線で結ぶことで、半直線の傾き(基準傾き)を算出する。ここで、検出時期に従って半直線を結ぶとは、より小さいZ座標値を持つ座標から、より大きいZ座標値を持つ座標に向かって順番に座標を半直線で結ぶことを意味する。これは、近接物において、座標におけるZ座標値がより小さいほど、Z座標値がより大きい場合と比較して、時系列においてより早くタッチスクリーン200に近づいた部位を表しているためである。ここで、基準傾きの算出方法として、例えば、制御部10は、近接検出結果どうしを結ぶ線分における各々の傾き求め、その平均の傾きを持つように操作点400iを始点とした半直線HL1を求める。また、制御部10は、操作点400iを始点として、取得可能な最も大きいZ座標値を持つ近接検出結果を通るように半直線HL1を求めてもよいし、操作点400iを始点として、近接検出結果の各々に対してほぼ均等な距離を持つ半直線HL1の傾きを、最小二乗法を用いて求めてもよい。なお、タッチ操作は2本の指で行われるので、制御部10が、半直線HL1の傾きを求める際には、どちらか1本の指の傾きから求めてもよいし、それぞれ取得した指の傾きの和の平均を半直線HL1の傾きとしてもよい。制御部10は、算出した基準傾きをRAMに記憶させると、処理をステップS70へ進める。このように、制御部10は、近接センサの検出信号に基づいて、表示面に対するユーザの指の傾きを検出する傾き検出手段として機能する。
制御部10は、基準傾きを算出すると、傾け操作が行われたか否かを判定する(ステップS70c)。ステップS70cの判定は次のようにして行われる。制御部10は、予め決められた周期で傾きを算出する。このときの算出方法は、上述した方法と同様のものである。そして制御部10は、基準傾きから新たに算出した傾きを減算した傾き変動量を求めると、この傾き変動量の絶対値が予め決められた第3の閾値を超える場合に、傾け操作が行われた、と判定し、上記閾値を超えない場合に、傾け操作が行われていない、と判定する。図15には、ユーザが指300iの状態から傾きを変更することで、タッチスクリーン200に対して、より「立った」状態となった指300jと、より「寝た」状態となった指300kとが表されている。指300jの操作点400jに基づく半直線HL2は、半直線HL1よりも傾きが大きいため、半直線HL1の傾きである基準傾きから、半直線HL2の傾きを減算した傾き変動量は、負の値を取ることになる。一方、指300kの操作点400kに基づく半直線HL3は、半直線HL1よりも傾きが小さいため、半直線HL1の傾きである基準傾きから、半直線HL3の傾きを減算した傾き変動量は、正の値を取ることになる。制御部10は、求めた傾き変動量をRAMに記憶させる。
制御部10は、傾け操作が行われていないと判定すると(ステップS70c;NO)、処理をステップS60へ進める。一方、制御部10は、傾け操作が行われたと判定すると(ステップS70c;YES)、傾き変動量に基づいて立体視度合い制御量を特定する(ステップS90c)。図16は、変形例4における立体視制御テーブルの内容を表す図である。図16における「I」は、傾き変動量を表す。また、図16における「Z」及び「n」の意味は、図4と同一である。ステップS90cにおいて、制御部10は、傾き変動量に基づいて、立体視制御テーブル21ay又は立体視制御テーブル21byを参照し、立体視度合い制御量を特定する。
ここで、例えば、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21ayを指定している場合を考える。この場合、ユーザによって、傾き変動量が「0.5」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=1」として特定する。また、ユーザによって、傾き変動量が「―2」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=−1」として特定する。一方、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21byを指定している場合を考える。この場合、ユーザによって、傾き変動量が「0.5」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=0.5n」として特定する。また、ユーザによって、傾き変動量が「−2」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=−2n」として特定する。制御部10は、特定した立体視度合い制御量をRAMに記憶させると、処理をステップS100に進める。
立体視度合い制御量が快適立体視範囲内である場合(ステップS100;YES)、制御部10は、ステップS70cで求めた傾き変動量が正の値であるか負の値であるかを判定する(ステップS110c)。ここで、傾き変動量が正の値であることは、指の傾きが小さくなったことを表しており、傾き変動量が負の値であることは、指の傾きが大きくなったことを表している。制御部10は、傾き変動量が負の値を取る場合、(ステップS110c;YES)、制御対象のアイコンを2次元平面上で縮小させて表示させるとともに、奥行き量を立体視度合い制御量に応じて大きくして、当該アイコンを奥に引っ込んで見えるように表示させる(ステップS120)。一方、制御部10は、傾き変動量が正の値を取る場合(ステップS110c;NO)、制御対象のアイコンを2次元平面上で拡大させて表示させるとともに、飛び出し量を立体視度合い制御量に応じて大きくして、当該アイコンを飛び出して見えるように表示させる(ステップS130)。制御部10は、ステップS120又はステップS130の処理を行うと、ステップS10へ戻る。
なお、本変形例において立体視表示の制御対象を指定するにあたり、ユーザが、上述のように2本の指で挟むことで指定してもよいし、1本の指で制御対象を指定してもよい。ユーザが1本の指で制御対象を指定する場合、図14におけるステップS30及びS40の処理は省略され、ステップS50において制御部10は、操作点位置に立体視表示の制御対象があるか否かを判定する。
このようにしても、ユーザは、タッチした指を傾けるという直感的な操作によって、視認性を損なうことなく、指定した画像の飛び出し量及び奥行き量を制御させることが可能となる。
<変形例5>
さらに、立体視度合い制御量の決定方法は、次のようにしてもよい。変形例5の表示装置100は、タッチスクリーン200の裏面側に、赤外光の撮像カメラを備え、制御部10は、タッチ操作がなされたときの撮像画像を解析する。ここで、指先は赤外光が反射して輝度が高くなり、指先以外は影になって輝度が低くなるから、制御部10は、この輝度が高い領域(高輝度領域という)の面積に基づいて立体視度合い制御量を決定するようにしてもよい。つまり、変形例5において、制御部10は、ユーザによる傾け操作に応じて変動する高輝度領域の面積に基づいて、制御対象のアイコンの立体視度合い量を制御する。
さらに、立体視度合い制御量の決定方法は、次のようにしてもよい。変形例5の表示装置100は、タッチスクリーン200の裏面側に、赤外光の撮像カメラを備え、制御部10は、タッチ操作がなされたときの撮像画像を解析する。ここで、指先は赤外光が反射して輝度が高くなり、指先以外は影になって輝度が低くなるから、制御部10は、この輝度が高い領域(高輝度領域という)の面積に基づいて立体視度合い制御量を決定するようにしてもよい。つまり、変形例5において、制御部10は、ユーザによる傾け操作に応じて変動する高輝度領域の面積に基づいて、制御対象のアイコンの立体視度合い量を制御する。
図17〜図19を用いて、変形例5における制御部10による処理内容について説明を行う。図17は、変形例5に係る表示装置100における処理の流れを示すフローチャートである。図6と同一の符号を付したステップは、図6におけるステップと処理内容が同一である。また、図18は、変形例5における高輝度領域の面積の算出方法を説明するための模式図である。図18上段は、表示装置100を、タッチスクリーン200に平行な方向から見た様子を表している。図18上段において、縦軸をZ方向とし、横軸をX方向とし、奥行きをY軸方向とした三次元の座標系が示されている。また、指300l〜300nによってタッチされたときの操作点400l〜400nが表されている。図17において、制御部10は、算出した線分上に立体視表示の制御対象が存在している場合(ステップS50;YES)、高輝度領域の基準面積なるものを算出する(ステップS65a)。ここで、高輝度領域の基準面積とは、ユーザが2本の指でタッチ操作を行ったときの、この指を撮像カメラが撮像したときの画像における輝度が高い領域の面積であって、傾け操作が行われる前の当該領域の面積を表す。
図18において、指300lは、ユーザがタッチスクリーン200にタッチ操作を行った状態であって、傾け操作を行っていない状態を表す。図18では、タッチスクリーン200をユーザが指300lでタッチすることで、操作点400lが特定されている。図18下段は、縦軸をX方向とし、横軸をY方向とした座標系における、撮像カメラによる撮像画像を表している。図8下段において、指300lに対する撮像画像には、斜めの縞で表された領域と、格子状の模様で表された領域とが存在する。このうち、斜めの縞で表された領域が、最も輝度が高い領域A1aを表し、格子状の模様で表された領域は、A1aの次に輝度が高い領域A2aを表す。以降、これらの領域のことを輝度領域という。ステップS65aにおいて、制御部10は、撮像画像のうち、最も輝度が高い輝度領域A1aがタッチスクリーン200のXY座標系において占める面積を算出する。この算出は、例えば、タッチスクリーン200にはXY座標系が設定されており、撮像画像には、XY座標値が含まれているから、制御部10は、輝度領域A1aを三角形の集合に展開し、各三角形の面積をヘロンの公式を用いることで求め、求めた面積を合計すればよい。なお、タッチ操作は2本の指で行われるので、制御部10が上述した合計面積を求める際には、どちらか1本の指によって得られた1つの輝度領域の面積から求めてもよいし、2本の指によって得られた2つの輝度領域における合計面積の和の平均を合計面積としてもよい。制御部10は、このようにして算出した高輝度領域の基準面積をRAMに記憶させると、処理をステップS70dへ進める。
制御部10は、高輝度領域の基準面積を算出すると、傾け操作が行われたか否かを判定する(ステップS70d)。ステップS70dの判定は次のようにして行われる。制御部10は、予め決められた周期で高輝度領域の面積を算出する。このときの算出方法は、上述した方法と同様のものである。そして制御部10は、高輝度領域の基準面積から、新たに算出した高輝度領域の面積を減算した面積変動量を求めると、この面積変動量の絶対値が予め決められた第4の閾値を超える場合に、傾け操作が行われた、と判定し、上記閾値を超えない場合に、傾け操作が行われていない、と判定する。図18には、ユーザが指300lの状態から傾きを変更することで、タッチスクリーン200に対して、より「立った」状態となった指300mと、より「寝た」状態となった指300nとが表されている。指300mの操作点400mに基づく最も輝度が高い領域A1bは、輝度領域A1aよりも面積が小さいため、高輝度領域の基準面積を表す輝度領域A1aの面積から、輝度領域A1bの面積を減算した差分は、正の値を取ることになる。一方、指300nの操作点400nに基づく最も輝度が高い領域A1cは、輝度領域A1aよりも面積が大きいため、高輝度領域の基準面積を表す輝度領域A1aの面積から、輝度領域A1cの面積を減算した差分は、負の値を取ることになる。制御部10は、上記差分に対して「−1」を乗算した値を面積変動量としてRAMに記憶させる。ここで、指300lが、より「立った」状態となった場合、上記差分が正の値となるから、立体視度合い制御量は負の値となる。また、指300lが、より「寝た」状態となった場合、上記差分が負の値となるから立体視度合い制御量は正の値となる。従って、面積変動量と立体視度合い制御量の正負を揃えるために、制御部10は、上記差分に対して「−1」を乗算している。このように、制御部10は、撮像カメラによる撮像画像に基づいて、表示面に対するユーザの指の傾きを検出する傾き検出手段として機能する。
制御部10は、傾け操作が行われていないと判定すると(ステップS70d;NO)、処理をステップS60へ進める。一方、制御部10は、傾け操作が行われたと判定すると(ステップS70d;YES)、面積変動量に基づいて立体視度合い制御量を特定する(ステップS90d)。図19は、変形例5における立体視制御テーブル21az及び立体視制御テーブル21bzの内容を表す図である。図19における「A」は、面積変動量を表す。また、図19における「Z」及び「n」の意味は、図4と同一である。ステップS90dにおいて、制御部10は、面積変動量に基づいて、立体視制御テーブル21az又は立体視制御テーブル21bzを参照し、立体視度合い制御量を特定する。
ここで、例えば、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21azを指定している場合を考える。この場合、ユーザによって、面積変動量が「1」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=1」として特定する。また、ユーザによって、面積変動量が「−1.5」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=−1」として特定する。一方、起動中のアプリケーションプログラムが、参照先として立体視制御テーブル21bzを指定している場合を考える。この場合、ユーザによって、面積変動量が「0.8」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=0.8n」として特定する。また、ユーザによって、面積変動量が「−1.2」の傾け操作が行われると、図16に示すように、制御部10は、立体視度合い制御量を「Z=−1.2n」として特定する。制御部10は、特定した立体視度合い制御量をRAMに記憶させると、処理をステップS100に進める。
立体視度合い制御量が快適立体視範囲内である場合(ステップS100;YES)、制御部10は、ステップS70dで求めた面積変動量が正の値であるか負の値であるかを判定する(ステップS110c)。ここで、面積変動量が正の値であることは、指の傾きが小さくなったことを表しており、面積変動量が負の値であることは、指の傾きが大きくなったことを表している。制御部10は、面積変動量が負の値を取る場合、(ステップS110d;YES)、制御対象のアイコンを縮小させて表示させるとともに、奥行き量を立体視度合い制御量に応じて大きくして、当該アイコンを奥に引っ込んで見えるように表示させる(ステップS120)。一方、制御部10は、面積変動量が正の値を取る場合(ステップS110d;NO)、制御対象のアイコンを拡大させて表示させるとともに、飛び出し量を立体視度合い制御量に応じて大きくして、当該アイコンを飛び出して見えるように表示させる(ステップS130)。制御部10は、ステップS120又はステップS130の処理を行うと、ステップS10へ戻る。
なお、本変形例において立体視表示の制御対象を指定するにあたり、ユーザが、上述のように2本の指で挟むことで指定してもよいし、1本の指で制御対象を指定してもよい。ユーザが1本の指で制御対象を指定する場合、図17におけるステップS30及びS40の処理は省略され、ステップS50において制御部10は、操作点位置に立体視表示の制御対象があるか否かを判定する。
このようにしても、ユーザは、タッチした指を傾けるという直感的な操作によって、視認性を損なうことなく、指定した画像の飛び出し量及び奥行き量を制御させることが可能となる。
<変形例6>
実施形態においては、指定したアイコンが立体視表示の制御対象であるか否かは、当該アイコンの画像情報に予め含まれているものとした。これに代えて、ユーザが操作部30を介して、立体視表示の制御対象であるか否かの設定を、アイコン毎に変更可能としてもよい。例えば、実施形態においては、時計の画像を立体視表示の制御対象でないものとしたが、ユーザは、これを設定により立体視表示の制御対象と変更することが可能である。このようにすれば、時計の画像が立体視表示されるようになるため、時計の画像が小さく、ユーザの視力が悪い場合などに、ユーザにとって利便性が高まる。
実施形態においては、指定したアイコンが立体視表示の制御対象であるか否かは、当該アイコンの画像情報に予め含まれているものとした。これに代えて、ユーザが操作部30を介して、立体視表示の制御対象であるか否かの設定を、アイコン毎に変更可能としてもよい。例えば、実施形態においては、時計の画像を立体視表示の制御対象でないものとしたが、ユーザは、これを設定により立体視表示の制御対象と変更することが可能である。このようにすれば、時計の画像が立体視表示されるようになるため、時計の画像が小さく、ユーザの視力が悪い場合などに、ユーザにとって利便性が高まる。
<変形例7>
実施形態において、ユーザは、同一の手における2本の指を用いて操作を行うことを想定していたが、これに限らず、右手の指と左手の指とを用いて操作を行ってもよい。また、ユーザは、2本の指に限らず、3本以上の指を用いて操作を行ってもよい。例えばユーザが3本の指を用いて操作を行う場合、ステップS20において制御部10は、3つの操作点を特定する。そして制御部10は、ステップS40において、各操作点間の線分(すなわち3つの線分)の長さを算出するとともに、各操作点を結んだ三角形の領域を特定する。制御部10は、ステップS50において、上記三角形の領域に制御対象のアイコンが含まれているか否か(つまり、操作点の間に制御対象のアイコンが含まれているか否か)を判定する。制御部10は、ステップS80において、上記算出した3つの線分の長さについてのそれぞれの変動量を合計したものを3で除算した値、つまり変動量の平均値を、ピンチ操作量として算出する。このようにしても、実施形態と同様の効果を奏することが可能となる。
実施形態において、ユーザは、同一の手における2本の指を用いて操作を行うことを想定していたが、これに限らず、右手の指と左手の指とを用いて操作を行ってもよい。また、ユーザは、2本の指に限らず、3本以上の指を用いて操作を行ってもよい。例えばユーザが3本の指を用いて操作を行う場合、ステップS20において制御部10は、3つの操作点を特定する。そして制御部10は、ステップS40において、各操作点間の線分(すなわち3つの線分)の長さを算出するとともに、各操作点を結んだ三角形の領域を特定する。制御部10は、ステップS50において、上記三角形の領域に制御対象のアイコンが含まれているか否か(つまり、操作点の間に制御対象のアイコンが含まれているか否か)を判定する。制御部10は、ステップS80において、上記算出した3つの線分の長さについてのそれぞれの変動量を合計したものを3で除算した値、つまり変動量の平均値を、ピンチ操作量として算出する。このようにしても、実施形態と同様の効果を奏することが可能となる。
<変形例8>
本発明は、表示装置以外にも、これらを実現するための方法、及びコンピュータに表示機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
本発明は、表示装置以外にも、これらを実現するための方法、及びコンピュータに表示機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
10…制御部、20…記憶部、21a,21ax,21ay,21az,21b,21bx,21by,21bz…立体視制御テーブル、22a,22b…拡大縮小制御テーブル、30…操作部、31…操作子、40…表示部、41…3Dディスプレイ、50…検出部、51…タッチセンサ、60…通信部、70…バス、100…表示装置、200…タッチスクリーン、300,300a〜n…指、400a〜400n…操作点、500a〜500e…アイコン、600a〜600e…アイコン表示領域、A1a,A1b,A1c,A2a,A2b,A3…輝度領域
Claims (10)
- 画像が表示される表示面と、
ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出手段と、
前記表示面に表示された画像のうち、前記指定位置検出手段により検出された複数の位置の間に挟まれた領域にある画像を特定する特定手段と、
前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定手段と、
前記決定手段により決定された立体視度合い量に応じて、前記特定手段により特定された画像を立体的に表示するように制御する表示制御手段と
を備えることを特徴とする表示装置。 - 前記決定手段は、
前記複数の位置が最初に検出された後に前記指定位置検出手段によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が小さくなったと判断した場合には、前記飛び出し量を小さく又は前記奥行き量が大きくなるような前記立体視度合い量を決定し、
前記複数の位置が最初に検出された後に前記指定位置検出手段によって検出される位置に基づいて、最初に検出された複数の位置の間の距離が大きくなったと判断した場合には、前記飛び出し量を大きく又は前記奥行き量が小さくなるような前記立体視度合い量を決定する
ことを特徴とする請求項1記載の表示装置。 - 前記決定手段は、
前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による前記表示面に対する押圧の大きさを検出する押圧検出手段を備え、
前記複数の位置が最初に検出された後に前記押圧検出手段によって検出された押圧の大きさに応じて、前記飛び出し量が大きくなるような前記立体視度合い量を決定する
ことを特徴とする請求項1記載の表示装置。 - 前記決定手段は、
前記表示面に対する前記ユーザの指の傾きを検出する傾き検出手段を備え、
前記複数の位置が最初に検出された後に前記傾き検出手段によって検出される指の傾きに基づいて、最初に検出された指の傾きが大きくなったと判断した場合には、前記飛び出し量を小さく又は前記奥行き量が大きくなるような前記立体視度合い量を決定し、
前記複数の位置が最初に検出された後に前記傾き検出手段によって検出される指の傾きに基づいて、最初に検出された指の傾きが小さくなったと判断した場合には、前記飛び出し量を大きく又は前記奥行き量が小さくなるような前記立体視度合い量を決定する
ことを特徴とする請求項1記載の表示装置。 - ユーザの指による前記表示面に対する押圧の大きさを検出する押圧検出手段を備え、
前記表示制御手段は、前記検出された押圧の大きさが閾値を超えたことを契機として、前記立体視度合い量に応じて前記画像の立体的な表示を行う動作モードと、立体的な表示を行わない動作モードとを切り替える
ことを特徴とする請求項1〜4のいずれか1項に記載の表示装置。 - 前記決定手段は、
前記立体視度合いに加えて、前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を表示するときの大きさを決定し、
前記表示制御手段は、
前記決定手段により決定された前記立体視度合い及び前記大きさに応じて、前記特定手段により特定された画像の表示制御を行う
ことを特徴とする請求項1〜5のいずれか1項に記載の表示装置。 - 前記決定手段は、
起動中のアプリケーションプログラムからの指定によって、前記3次元で表示させる度合いについて、段階的に変化するように決定するか又は連続的に変化するように決定するかを切り替える
ことを特徴とする請求項1〜6のいずれか1項に記載の表示装置。 - 前記決定手段は、前記立体視度合いを、予め決められた上限及び下限の範囲内で決定する
ことを特徴とする請求項1〜7のいずれか1項に記載の表示装置。 - 画像が表示される表示面を備えた表示装置が行う表示制御方法であって、
ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出工程と、
前記表示面に表示された画像のうち、前記指定位置検出工程により検出された複数の位置の間に挟まれた領域にある画像を特定する特定工程と、
前記特定工程により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定工程と、
前記決定工程により決定された立体視度合い量に応じて、前記特定工程により特定された画像を立体的に表示するように制御する表示制御工程と
を備えることを特徴とする表示制御方法。 - コンピュータを、
画像が表示される表示面に表示された画像のうち、ユーザの複数の指により前記表示面に対してそれぞれ指定された複数の位置を検出する指定位置検出手段により検出された複数の位置の間に挟まれた領域にある画像を特定する特定手段と、
前記特定手段により特定された画像を前記複数の位置で挟むようにして指定した前記ユーザの指による操作に基づいて、当該特定された画像を前記表示面に立体的に表示させるときの当該画像の飛び出しまたは奥行きに関する立体視度合い量を決定する決定手段と、
前記決定手段により決定された立体視度合い量に応じて、前記特定手段により特定された画像を立体的に表示するように制御する表示制御手段
として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011071108A JP2012203879A (ja) | 2011-03-28 | 2011-03-28 | 表示装置、表示制御方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011071108A JP2012203879A (ja) | 2011-03-28 | 2011-03-28 | 表示装置、表示制御方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012203879A true JP2012203879A (ja) | 2012-10-22 |
Family
ID=47184764
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011071108A Withdrawn JP2012203879A (ja) | 2011-03-28 | 2011-03-28 | 表示装置、表示制御方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012203879A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015064490A1 (ja) * | 2013-11-01 | 2015-05-07 | 株式会社村田製作所 | 表示装置 |
| JPWO2015060279A1 (ja) * | 2013-10-25 | 2017-03-09 | 株式会社村田製作所 | 携帯端末用表示装置 |
| WO2018042923A1 (ja) * | 2016-08-31 | 2018-03-08 | ソニー株式会社 | 情報処理システム、情報処理方法、およびプログラム |
| JP2018160120A (ja) * | 2017-03-23 | 2018-10-11 | 京セラドキュメントソリューションズ株式会社 | 表示装置および表示システム |
| JP2019091380A (ja) * | 2017-11-17 | 2019-06-13 | 株式会社東海理化電機製作所 | 表示制御装置、入力装置、及びプログラム |
| CN116048681A (zh) * | 2022-07-31 | 2023-05-02 | 荣耀终端有限公司 | 图标显示方法、电子设备和计算机可读存储介质 |
-
2011
- 2011-03-28 JP JP2011071108A patent/JP2012203879A/ja not_active Withdrawn
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2015060279A1 (ja) * | 2013-10-25 | 2017-03-09 | 株式会社村田製作所 | 携帯端末用表示装置 |
| WO2015064490A1 (ja) * | 2013-11-01 | 2015-05-07 | 株式会社村田製作所 | 表示装置 |
| JPWO2015064490A1 (ja) * | 2013-11-01 | 2017-03-09 | 株式会社村田製作所 | 表示装置 |
| WO2018042923A1 (ja) * | 2016-08-31 | 2018-03-08 | ソニー株式会社 | 情報処理システム、情報処理方法、およびプログラム |
| US11275498B2 (en) | 2016-08-31 | 2022-03-15 | Sony Corporation | Information processing system, information processing method, and program |
| JP2018160120A (ja) * | 2017-03-23 | 2018-10-11 | 京セラドキュメントソリューションズ株式会社 | 表示装置および表示システム |
| JP2019091380A (ja) * | 2017-11-17 | 2019-06-13 | 株式会社東海理化電機製作所 | 表示制御装置、入力装置、及びプログラム |
| CN116048681A (zh) * | 2022-07-31 | 2023-05-02 | 荣耀终端有限公司 | 图标显示方法、电子设备和计算机可读存储介质 |
| CN116048681B (zh) * | 2022-07-31 | 2023-10-20 | 荣耀终端有限公司 | 图标显示方法、电子设备和计算机可读存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8894486B2 (en) | Handheld information processing apparatus and handheld game apparatus | |
| US9378592B2 (en) | Apparatus and method of providing user interface on head mounted display and head mounted display thereof | |
| JP6186415B2 (ja) | 立体画像表示方法及び携帯端末 | |
| US8947428B2 (en) | Method and system for displaying stereoscopic detail-in-context presentations | |
| KR102094695B1 (ko) | 터치 스크린을 이용하는 사용자 인터페이스 제어 방법 및 장치 | |
| US9696555B2 (en) | Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method | |
| TWI534661B (zh) | 畫像辨識裝置及操作判定方法以及電腦程式 | |
| KR101893275B1 (ko) | 프리뷰 인터페이스 선택 영역의 줌인 방법 및 장치 | |
| US9086742B2 (en) | Three-dimensional display device, three-dimensional image capturing device, and pointing determination method | |
| JP2013016018A (ja) | 表示制御装置、制御方法及びプログラム | |
| JP2012203879A (ja) | 表示装置、表示制御方法及びプログラム | |
| US9544556B2 (en) | Projection control apparatus and projection control method | |
| JP2004078693A (ja) | 視野移動操作方法 | |
| US9727229B2 (en) | Stereoscopic display device, method for accepting instruction, and non-transitory computer-readable medium for recording program | |
| JP5710381B2 (ja) | 表示装置、表示制御方法及びプログラム | |
| CN106445431A (zh) | 终端的操作方法及装置 | |
| JP5681588B2 (ja) | 立体画像編集装置および立体画像編集方法 | |
| US10255832B2 (en) | Multi-layer display including proximity sensor and depth-changing interface elements, and/or associated methods | |
| KR102278229B1 (ko) | 전자기기 및 그 제어 방법 | |
| US20260019700A1 (en) | Lens system and program | |
| US20250251791A1 (en) | Content Manipulation via a Computer-Generated Representation of a Trackpad | |
| CN119536865A (zh) | 虚拟场景显示方法及其装置、设备 | |
| WO2013080430A1 (en) | Information processing device, information processing method, and program | |
| CN119056051A (zh) | 视角控制方法、装置、电子设备和存储介质 | |
| KR20120024311A (ko) | 공간좌표인식 가능한 정보처리 단말기와 공간좌표인식을 이용한 표시 제어방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |