以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、表示機器の一例として携帯電話端末について説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、ノートパソコン、ゲーム機等に対しても本発明は適用できる。
まず、図1および図2を参照しながら、本実施例に係る携帯電話端末(表示機器)1の構成について説明する。図1は、携帯電話端末1の外観を示す正面図である。図2は、携帯電話端末1の機能的な構成を示すブロック図である。
図1および図2に示すように、携帯電話端末1は、操作部13と、マイク15と、レシーバ16と、制御部22と、記憶部24と、通信部26と、音声処理部30と、タッチパネル32と、撮影部40と、撮影部42とを有する。操作部13、マイク15、レシーバ16、タッチパネル32、撮影部40および撮影部42は、携帯電話端末1の正面に一部が露出する。
操作部13は、物理的なボタンを有し、押下されたボタンに対応する信号を制御部22へ出力する。なお、図1に示す例では、操作部13はボタンを1つしか有していないが、操作部13は複数のボタンを有していてもよい。
マイク15は、外部の音声を取得する。レシーバ16は、通話時に通話相手の音声を出力する。音声処理部30は、マイク15から入力される音声をデジタル信号化して制御部22へ出力する。また、音声処理部30は、制御部22から入力されるデジタル信号を復号してレシーバ16へ出力する。
通信部26は、アンテナ26aを有し、基地局によって割り当てられるチャネルを介して、基地局との間にCDMA(Code Division Multiple Access)方式などによる無線信号回線を確立する。通信部26は、基地局との間に確立された無線信号回線を通じて、他の装置との間で電話通信および情報通信を行う。
タッチパネル32は、文字、図形、画像等の各種の情報を表示するとともに、表示されたアイコン、ボタン、文字入力領域等の所定領域に対する入力操作を検出する。タッチパネル32は、表示部32aと、タッチセンサ32bとを重畳して構成される。
表示部32aは、液晶ディスプレイ(Liquid Crystal Display)や有機EL(Organic Electro−Luminescence)パネル等の表示装置を備え、制御部22から入力される制御信号に従って各種の情報を表示する。タッチセンサ32bは、タッチパネル32の表面に対して行われる入力操作を検出し、検出した入力操作に応じた信号を制御部22へ出力する。タッチセンサ32bが各種操作を検出する方式は、静電容量式、抵抗膜式、感圧式等の任意の方式でよい。
また、タッチパネル32は、3次元オブジェクトを表示できる。3次元オブジェクトは、視差を利用して立体的に見えるように作成された画像や形状等の表示物である。なお、3次元オブジェクトを表示する方式は、眼鏡等の器具を用いて立体視を実現する方式であってもよいし、裸眼で立体視を実現する方式であってもよい。
撮影部40および42は、CCD(Charge Coupled Device Image Sensor)やCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを用いて電子的に画像を撮影する。そして、撮影部40および42は、撮影した画像を信号に変換して制御部22へ出力する。撮影部40および42は、3次元オブジェクトが立体的に表示される空間(以下、「視認空間」という)において3次元オブジェクトを操作する物体を検出する検出部としても機能する。
なお、撮影部40および42は、視認空間内のどこに指等の物体が位置していてもその物体を撮影することができるように画角や配置が設定されていることが好ましい。また、撮影部40および42は、可視光の画像を取得する装置であってもよいし、赤外線等の不可視光の画像を取得する装置であってもよい。
制御部22は、演算手段であるCPU(Central Processing Unit)と、記憶手段であるメモリとを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部22は、記憶部24に記憶されているプログラムやデータを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をCPUに実行させる。そして、制御部22は、CPUによる命令の実行結果に応じて、メモリおよび記憶部24に対してデータの読み書きを行ったり、通信部26や表示部32a等の動作を制御したりする。CPUが命令を実行するに際しては、メモリに展開されているデータやタッチセンサ32b等から入力される信号がパラメータや判定条件の一部として利用される。
記憶部24は、フラッシュメモリ等の不揮発性を有する記憶装置からなり、各種のプログラムやデータを記憶する。記憶部24に記憶されるプログラムには、制御プログラム24aが含まれる。また、記憶部24に記憶されるデータには、オブジェクトデータ24bと、作用データ24cとが含まれる。なお、記憶部24は、メモリカード等の可搬の記憶媒体と、記憶媒体に対して読み書きを行う読み書き装置との組み合わせによって構成されてもよい。この場合、制御プログラム24a、オブジェクトデータ24b、作用データ24cは、記憶媒体に記憶されていてもよい。また、制御プログラム24a、オブジェクトデータ24b、作用データ24cは、通信部26による無線通信によってサーバ装置等の他の装置から取得することとしてもよい。
制御プログラム24aは、携帯電話端末1を稼働させるための各種制御に関する機能を提供する。制御プログラム24aが提供する機能には、タッチパネル32での3次元オブジェクトの表示を制御する機能や、タッチパネル32によって表示される3次元オブジェクトに対する利用者の操作を検出する機能が含まれる。制御プログラム24aは、このように、3次元オブジェクトの表示を制御したり、3次元オブジェクトに対する操作を検出したりすることにより、後述するように、利用者が視認空間で本等の電子的な出版物を閲覧することを可能にする。
オブジェクトデータ24bは、3次元オブジェクトの形状および性質に関する情報を含む。オブジェクトデータ24bは、3次元オブジェクトを表示するために用いられる。作用データ24cは、表示されている3次元オブジェクトに対する操作が3次元オブジェクトにどのように作用するかに関する情報を含む。作用データ24cは、表示されている3次元オブジェクトに対する操作が検出された場合に、検出された操作に応じて3次元オブジェクトを変化させるために用いられる。ここでいう変化には、移動、回転、変形、消失等が含まれる。
図3は、オブジェクトデータ24bに格納される情報の一例を示す図である。図3に示す例は、本として表示される3次元オブジェクトに関する情報の例である。図3に示すように、本として表示される3次元オブジェクトは、表表紙、裏表紙、背表紙、および複数のページという複数の3次元オブジェクトを含む。すなわち、本として表示される3次元オブジェクトは、3次元オブジェクトの集合体である。なお、以下の説明では、説明の便宜のために、本として表示される3次元オブジェクトを単に「本」ということがある。同様に、表表紙、裏表紙、背表紙、およびページに相当する3次元オブジェクトを、それぞれ、単に「表表紙」、「裏表紙」、「背表紙」、および「ページ」ということがある。
表表紙、裏表紙、および背表紙には、厚み、幅、高さ、色といった外観および性質を特定するための情報が予め設定される。また、表表紙、裏表紙、および背表紙には、3次元オブジェクトの表面に表示すべき文字列および画像等が、所定の形式でコンテンツとして設定される。
複数のページには、厚み、幅、高さ、色といった外観および性質を特定するための情報が予め共通に設定される。また、複数のページには、それぞれのページに表示すべきテキストおよび画像等が、所定の形式でコンテンツとしてページ毎に設定される。ページには、「<折り返し />」、「<栞 />」といったそのページに特有な情報が付加されることがある。「<折り返し />」は、対応するページの一部が折り返されていることを示す。「<栞 />」は、対応するページに栞が挟まれていることを示す。
なお、図3では、オブジェクトデータ24bがXML(Extensible Markup Language)形式で記述されている例を示したが、オブジェクトデータ24bの形式はこれに限定されない。例えば、オブジェクトデータ24bの形式は、専用に設計された形式でもよい。また、本として表示される3次元オブジェクトの構成は、図3に示した例に限定されない。例えば、本として表示される3次元オブジェクトは、表表紙、裏表紙、および背表紙の形状および性質を特定するための情報を含まなくてもよい。この場合、全ての本の表表紙、裏表紙、および背表紙は、予め行われた設定に従って共通の形状および性質をもってもよい。
図4は、作用データ24cに格納される情報の一例を示す図である。図4に示す例は、本に含まれるページに対する操作がそれらのページにどのように作用するかを示している。なお、本実施例では、ページに対する操作は、たとえば、ページの一部を指等で掴んで行う操作であると想定されている。
図4に示すように、ページに対する操作の作用は、状況、移動方向、移動範囲、移動速度、および剛性等の条件に応じて変化する。状況は、解放時、すなわち、掴む操作が完了した時点、または、移動中、すなわち、掴む操作の最中のいずれであるかを示す。移動方向は、ページを掴む指等の移動する方向である。移動範囲は、ページを掴む指等の移動する範囲である。移動速度は、ページを掴む指等の移動する速度である。剛性は、ページの硬さを示す。剛性は、ページの厚さに基づいて判定される。
状況が解放時で、ページを掴む指等の直前の移動方向が本の開閉方向、すなわち、ページの連結部を回転軸として回動する方向であったものとする。この場合、指等の移動範囲がページの連結部を超えていれば、すなわち、指等がページの連結部をまたがって移動していれば、携帯電話端末1は、掴まれていたページをめくられたように変化させる。また、指等の移動範囲がページの連結部を超えていなくても、移動速度が閾値よりも高く、かつ、剛性が閾値よりも高い場合には、携帯電話端末1は、掴まれていたページをめくられたように変化させる。また、指等の移動範囲がページの連結部を超えていない場合、移動速度が閾値よりも低いか、または、剛性が閾値よりも低い場合には、携帯電話端末1は、掴まれていたページを重力に従って変化させる。重力に従った変化は、例えば、重力方向への落下として表現される。
また、状況が移動中であり、ページを掴む指等の移動方向がページの連結部との距離が変化する方向であったものとする。この場合、ページの剛性が閾値より高ければ、携帯電話端末1は、掴まれている位置を変更する。また、ページの剛性が閾値より低い場合、掴まれている部分とページの連結部との距離が当初の距離以下であれば、携帯電話端末1は、掴まれているページを指等の動きに合わせて変化させる。また、ページの剛性が閾値より低く、掴まれている部分とページの連結部との距離が当初よりも大きい場合、携帯電話端末1は、掴まれているページを切り離されたように変化させる。すなわち、携帯電話端末1は、掴まれているページを本から独立させる。
また、ページを掴む指等の移動方向が本の開閉方向と直交する方向であり、ページの剛性が閾値より高い場合、携帯電話端末1は、掴まれている位置を変更する。また、ページを掴む指等の移動方向が本の開閉方向と直交する方向であり、ページの剛性が閾値より低い場合、携帯電話端末1は、掴まれているページを切り離されたように変化させる。また、ページを掴む指等の移動方向が本の開閉方向の場合、携帯電話端末1は、掴まれているページを指等の動きに合わせて変化させる。
このように、作用データ24cには、ページが操作に応じて、現実の本のページと同様に変化するように情報が設定される。表表紙および裏表紙に関しても、ページと同様の設定が作用データ24cにおいてなされる。なお、作用データ24cの構成および内容は図4に示した例に限定されない。例えば、作用データ24cは、図4に示した以外の条件を含んでもよい。また、作用データ24cにおいて定義される作用は、図4に示した例と異なっていてもよい。
次に、図5から図9を参照しながら、本の閲覧機能を実現するために携帯電話端末1が実行する動作について説明する。図5は、本の閲覧機能を実現するために携帯電話端末1が実行する基本的な処理手順を示すフローチャートである。図6および図7は、3次元オブジェクトを掴んで行う操作の検出について説明するための図である。図8は、3次元オブジェクトの選択検出処理の処理手順を示すフローチャートである。図9は、掴む操作検出処理の処理手順を示すフローチャートである。
図5に示す処理手順は、例えば、本の閲覧機能の起動を指示する所定の操作がタッチパネル32によって検出された場合に、制御部22が制御プログラム24aを実行することによって実現される。図5に示すように、本の閲覧機能を実現するため、制御部22は、まず、ステップS101として、タッチパネル32に本を3次元表示させる。表示される本の外観および内容は、オブジェクトデータ24bに基づいて決定される。
続いて、制御部22は、ステップS102として、本に対する操作が検出されたかを判定する。本に対する操作は、撮影部40および42によって撮影される画像に基づいて検出される。本に対する操作が検出された場合(ステップS102,Yes)、制御部22は、ステップS103として、検出された操作に応じて表示中の本を変化させる。検出された操作に応じた本の変化のさせ方は、作用データ24cに基づいて決定される。本に対する操作が検出されない場合(ステップS102,No)、表示中の本はそのままに保たれる。
続いて、制御部22は、ステップS104として、処理を終了させるかを判定する。制御部22は、例えば、利用者が本の閲覧機能の終了を指示する所定の操作を行った場合に、処理を終了させると判定する。処理を終了させる場合(ステップS104,Yes)、制御部22は、図4に示す処理手順を完了させる。処理を終了させない場合(ステップS104,No)、制御部22は、ステップS102以降を再実行する。
上述したように、本実施例では、本に対する操作は、たとえば、ページを指等で掴んで行う操作であると想定される。すなわち、図5に示すステップS102では、ページを掴んで行う操作が検出され、ステップS103では、ページを掴んで行う操作に対応する処理が実行される。
以下、図6から図9を参照しながら、掴んで行う操作に関する制御の詳細について説明する。図6に示すステップSA1では、タッチパネル32によって、視認空間中に、3次元オブジェクトOB1が立体的に表示されている。また、3次元オブジェクトOB1を選択するために、利用者は、指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させている。
携帯電話端末1は、視認空間中に存在する指等の物体の位置および動作を撮影部40および42が撮影する画像に基づいて判定する。そして、携帯電話端末1は、判定した物体の位置および動作を、視認空間中に表示されている3次元ブロック等の3次元オブジェクトの形状および計算上の位置と照合することによって、3次元オブジェクトに対する操作を検出する。
物体の位置は、予め登録されている物体の大きさと画像中の物体の大きさおよび位置とに基づいて判定してもよい。あるいは、物体の位置は、撮影部40が撮影した画像における物体の大きさおよび位置と撮影部42が撮影した画像における物体の大きさおよび位置とを照合して判定してもよい。指等の物体の動作の判定は、既知の技術を用いて実現してよい。また、指が物体の場合、指のつま先の位置を物体の位置として処理することが好ましい。
3次元オブジェクトの形状は、オブジェクトデータ24bにおいて定義される。視認空間における3次元オブジェクトの計算上の位置は、タッチパネル32の表示面上での3次元オブジェクトの位置と、視認空間内での3次元オブジェクトの浮き上がり量とに基づいて算出される。視認空間内での3次元オブジェクトの浮き上がり量は、表示時に決定された値であってもよいし、3次元オブジェクトを立体的に表示するために用いられる右目用の画像と左目用の画像における3次元オブジェクトの位置の差から算出された値であってもよい。
携帯電話端末1は、視認空間内で2つの物体が検出され、かつ、それらの2つの物体の間に3次元オブジェクトOB1が位置する場合、2つの物体の距離D1の変化を監視する。そして、距離D1が所定時間以上ほぼ一定であれば、3次元オブジェクトOB1が選択されたと判定し、3次元オブジェクトOB1を選択状態にする。そして、携帯電話端末1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が選択状態になったことを利用者に通知する。
3次元オブジェクトOB1が選択状態になったことは、例えば、3次元オブジェクトOB1の表面のうち、検出された2つの物体を結ぶ直線と交差する部分の近傍の色または明るさを変更することによって利用者に通知される。なお、このような視覚による通知に代えて、または、視覚による通知に加えて、音または振動による通知を行ってもよい。
携帯電話端末1が2つの物体の距離D1の変化を監視している間、2つの物体は、3次元オブジェクトOB1を挟む位置に留まる必要はない。すなわち、利用者は、ステップSA1に示したように指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させた後、その状態を保つことなく、指F1および指F2を他の位置へ移動させて構わない。例えば、利用者は、掴みたいページを挟む位置に指F1および指F2を移動させた後、掴んだページが選択状態となったことが通知される前に、掴んだページをめくる動作を開始してもよい。
ステップSA1の状態から、ステップSA2に示すように、利用者が、指F1と指F2の距離D1をほぼ一定に保ったまま移動させたものとする。この場合、携帯電話端末1は、指F1と指F2の間に3次元オブジェクトOB1が表示されていることが検出された段階、すなわち、ステップSA1の段階から、指F1および指F2の動きに応じて、3次元オブジェクトOB1に移動、回転等の変化を加える。そして、携帯電話端末1は、ステップSA3に示すように、指F1と指F2の距離D1がほぼ一定に保たれた状態が所定時間以上継続した段階で、3次元オブジェクトOB1を選択状態にする。
なお、図7のステップSB1からステップSB3に示すように、所定時間が経過する前に指F1と指F2の距離D1が離れた場合、携帯電話端末1は、それまでに加えた変化と逆の変化を3次元オブジェクトOB1に加える。すなわち、利用者が、3次元オブジェクトOB1を操作することを意図していなかった場合、3次元オブジェクトOB1は、元の状態に戻される。その結果、3次元オブジェクトOB1は、ステップSB1の段階と同じ位置に同じ状態で表示される。逆の変化を3次元オブジェクトOB1に加える速度は、それまでに3次元オブジェクトOB1に変化が加えられた速度よりも速くてもよい。すなわち、高速に逆再生しているかのように3次元オブジェクトOB1を逆変化させてもよい。
このように、2つの物体の間に3次元オブジェクトが表示されていることが検出された段階から3次元オブジェクトに変化を加え始めることにより、利用者は、3次元オブジェクトが選択されつつあることを選択が確定する前から認識することができる。その結果、利用者は、意図した3次元オブジェクトが選択されたか否かを早期に知ることができる。なお、2つの物体の距離がほぼ一定に保たれた状態が所定時間以上継続するまでは、変化を加えられている3次元オブジェクトを通常時とも選択状態とも異なる態様(例えば、半透明)で表示することにより、利用者が3次元オブジェクトの状態を判別し易くしてもよい。
なお、ステップSA1の段階から、指F1および指F2の動きに応じて3次元オブジェクトOB1を変化させるのではなく、3次元オブジェクトOB1が選択状態になった後に3次元オブジェクトOB1を変化させ始めてもよい。また、ステップSA1のように指F1と指F2の間に3次元オブジェクトOB1が位置する状態が所定時間以上継続した場合にのみ、3次元オブジェクトOB1を選択状態にすることとしてもよい。
また、図6では、2つの物体の間に表示されている1つの3次元オブジェクトが選択される例を示したが、選択される3次元オブジェクトの数は1つに限定されない。2つの物体の間に複数の3次元オブジェクトが表示されていることが検出された場合、携帯電話端末1は、それらの3次元オブジェクトをまとめて選択する。すなわち、携帯電話端末1は、利用者が複数のページをまとめて選択し、それらを操作することを許す。
図8は、3次元オブジェクトの選択検出処理の処理手順を示す。図8に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。図8に示すように、制御部22は、ステップS201として、検出部、すなわち、撮影部40および42によって第1の物体および第2の物体が検出されたかを判定する。第1の物体および第2の物体は、例えば、利用者の指である。
第1の物体および第2の物体が検出された場合(ステップS201,Yes)、制御部22は、ステップS202として、表示されている3次元オブジェクトの中から第1の物体と第2の物体との間に表示されている3次元オブジェクトを探す。
第1の物体と第2の物体との間に表示されている3次元オブジェクトがみつかった場合(ステップS203,Yes)、制御部22は、ステップS204として、第1の物体と第2の物体との間に表示されている3次元オブジェクトを仮選択状態にする。第1の物体と第2の物体との間に複数の3次元オブジェクトが表示されている場合、制御部22は、それらの3次元オブジェクトを全て仮選択状態にする。また、制御部22は、ステップS205として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップS206として、図9に示す掴む操作検出処理を実行し、その中で、選択状態にある3次元オブジェクトを検出された操作に応じて変化させる。
第1の物体と第2の物体との間に表示されている3次元オブジェクトがみつからない場合(ステップS203,No)、ステップS204〜ステップS206は実行されない。
その後、制御部22は、ステップS207として、処理を終了させるかを判定する。処理を終了させる場合(ステップS207,Yes)、制御部22は、処理手順を完了させる。処理を終了させない場合(ステップS207,No)、制御部22は、ステップS201以降を再実行する。
第1の物体および第2の物体が検出されない場合(ステップS201,No)、制御部22は、ステップS207を実行する。
図9は、掴む操作検出処理の処理手順を示す。図9に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。図9に示すように、制御部22は、まず、ステップS301として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップS302として、3次元オブジェクトの選択時、すなわち、掴む操作検出処理の開始時点における距離とステップS301で測定した距離との差が閾値より大きいかを判定する。ここで用いられる閾値は、第1の物体と第2の物体の距離が、3次元オブジェクトの選択時とほぼ同じであるかを判定するための値である。
距離の差が閾値よりも小さい場合(ステップS302,No)、制御部22は、ステップS303として、掴む操作検出処理が開始されてから所定時間が経過したかを判定する。所定時間が経過していた場合(ステップS303,Yes)、制御部22は、ステップS304として、仮選択状態の3次元オブジェクトがあれば、その3次元オブジェクトを選択状態にする。所定時間が経過していない場合(ステップS303,No)、ステップS304は実行されない。なお、所定時間は、例えば、0.1秒のように十分に短い時間でよい。
続いて、制御部22は、ステップS305として、検出された第1の物体および第2の物体の動きに応じて、選択状態または仮選択状態にある3次元オブジェクトを変化させる。3次元オブジェクトの変化させ方は、作用データ24cに基づいて決定される。例えば、制御部22は、選択状態または仮選択状態にある本のページを、第1の物体および第2の物体の動きに合わせて、持ち上げられたように変化させる。そして、制御部22は、ステップS301以降を再実行する。
距離の差が閾値よりも大きい場合(ステップS302,Yes)、制御部22は、ステップS306として、第1の物体と第2の物体の間に表示されていた3次元オブジェクトが仮選択状態であるかを判定する。
3次元オブジェクトが仮選択状態である場合(ステップS306,Yes)、制御部22は、ステップS307として、3次元オブジェクトの仮選択状態を解除する。また、制御部22は、ステップS308として、3次元オブジェクトを逆変化させて元の状態に戻す。そして、制御部22は、掴む操作検出処理を終了させる。
3次元オブジェクトが仮選択状態でない場合、すなわち、選択状態の場合(ステップS306,No)、制御部22は、ステップS309として、第1の物体と第2の物体の距離の変化に合わせて3次元オブジェクトの選択範囲の維持または変更が可能であるかを判定する。
第1の物体と第2の物体の距離が短くなった場合、3次元オブジェクトの選択範囲は、維持または縮小される。具体的には、選択状態となっている3次元オブジェクトが1つの場合、第1の物体と第2の物体の距離が短くなっても3次元オブジェクトは選択状態のままである。選択状態となっている3次元オブジェクトが複数の場合、第1の物体と第2の物体の距離が短くなるにつれて選択状態となっている3次元オブジェクトの数は減っていくが、少なくとも1つの3次元オブジェクトは選択状態のままとなる。例えば、本のページが指で掴まれている場合、制御部22は、指が近付くにつれて掴まれているページの枚数を減らしていくが、少なくとも1ページは掴まれた状態を維持する。
一方、第1の物体と第2の物体の距離が長くなった場合、3次元オブジェクトの選択範囲は、維持または変更が可能でない場合がある。具体的には、第1の物体と第2の物体の距離が長くなったことによって、第1の物体と第2の物体の間に選択状態にない3次元オブジェクトが位置することになった場合、選択範囲は拡張される。この場合、選択状態にない3次元オブジェクトが選択状態に変わる。距離が長くなった第1の物体と第2の物体の間に選択状態にない3次元オブジェクトがなく、第1の物体または第2の物体と選択状態にある3次元オブジェクトとの間の隙間が所定の大きさよりも大きくなった場合には、選択範囲の維持または変更は可能でない。選択範囲の維持または変更は可能でないと判定された場合、選択状態の3次元オブジェクトは解放される。
例えば、本のページが指で掴まれている場合、制御部22は、指が拡がるにつれて掴まれているページの枚数を増やしていく。そして、掴めるページがなくなり、掴まれているページといずれかの指の間の隙間が所定の大きさよりも大きくなった場合には、制御部22は、選択範囲の維持または変更は可能でないと判定する。
第1の物体と第2の物体の距離の変化に合わせて3次元オブジェクトの選択範囲の維持または変更が可能な場合(ステップS309,Yes)、制御部22は、ステップS310として、第1の物体と第2の物体の距離の変化に合わせて3次元オブジェクトの選択範囲を維持または変更する。そして、制御部22は、ステップS301以降を再実行する。
第1の物体と第2の物体の距離の変化に合わせて3次元オブジェクトの選択範囲の維持または変更が可能でない場合(ステップS309,No)、制御部22は、ステップS311として、3次元オブジェクトの選択状態を解除する。また、制御部22は、ステップS312として、解放時の状況に応じて3次元オブジェクトを変化させる。3次元オブジェクトの変化させ方は、作用データ24cに基づいて決定される。例えば、制御部22は、選択状態にある本のページを、重力に従ってめくれたように変化させる。そして、制御部22は、掴む操作検出処理を終了させる。
次に、図10から図24を参照しながら、本の閲覧機能における制御の具体例について説明する。なお、説明を簡単にするため、以下では仮選択状態についての説明を省略する。
図10は、閉じた本の一例を示す図である。図10において、携帯電話端末1は、タッチパネル32に本50を立体的に表示させている。この例において、本50は、閉じている。本50の外観は、オブジェクトデータ24bに基づいて決定される。なお、オブジェクトデータ24bに忠実に本50を表示すると本50の厚みが所定の値よりも小さい場合、携帯電話端末1は、本50の厚みが所定の値以上になるようにページの厚さを補正してもよい。本50の厚みを増すことにより、利用者が本50に対する操作を行い易くなる。
図11は、ページめくりの制御の一例を示す図である。図11に示すステップSC1では、利用者が、指F1と指F2の間に本50の表表紙およびページが位置するように、指F1および指F2を移動させている。携帯電話端末1は、指F1と指F2の間に表表紙およびページが位置していることを検出すると、指F1と指F2の間に位置する表表紙およびページを選択状態にする。
その後、ステップSC2では、利用者が、指F1と指F2の間隔をほぼ一定に保ったまま、指F1と指F2をページの連結部を超えるまで本50の開閉方向に移動させている。携帯電話端末1は、このような指F1および指F2の動作を検出すると、作用データ24cに移動に従って、選択状態にある表表紙およびページを変化させる。具体的には、携帯電話端末1は、指F1および指F2の移動に合わせて、選択状態にある表表紙およびページの角度を変化させる。
その状態で利用者が指F1と指F2の間の距離を広げるか、指F1および指F2をページの連結部から遠ざけて指F1と指F2の間に表表紙およびページが位置しない状態にすると、選択状態にある表表紙およびページは解放される。その結果、携帯電話端末1は、作用データ24cに移動に従って、本50を変化させる。具体的には、ステップSC3に示すように、選択状態にあったページのうち内側の端のページが一番上になるように、本50を変化させる。携帯電話端末1は、本50の開いたページの表面に、それらのページに対応するテキストおよび画像等を表示する。
図12は、ページめくりの制御の他の例を示す図である。図12に示すステップSD1では、図11に示したような制御により、本50は既に開いた状態で表示されている。そして、利用者が、開いているページを含むページが指F1と指F2の間に位置するように、指F1および指F2を移動させている。携帯電話端末1は、指F1と指F2の間にページが位置していることを検出すると、指F1と指F2の間に位置するページを選択状態にする。
その後、ステップSD2では、利用者が、指F1と指F2の間隔をほぼ一定に保ったまま、指F1と指F2をページの連結部を超えるまで本50の開閉方向に移動させている。携帯電話端末1は、このような指F1および指F2の動作を検出すると、作用データ24cに移動に従って、選択状態にあるページを変化させる。具体的には、携帯電話端末1は、指F1および指F2の移動に合わせて、選択状態にあるページの角度を変化させる。
このとき、携帯電話端末1は、ページの厚み(剛性)に応じて選択状態にあるページの変化のさせ方を変えてもよい。例えば、ページが閾値よりも厚い場合(剛性が高い場合)、携帯電話端末1は、ページをたわませずに角度を変化させてもよい。また、ページが閾値よりも厚い場合(剛性が高い場合)、携帯電話端末1は、選択状態にあるページを掴む物体が、ページの連結部を回転軸として円弧を描くように移動しなければページの角度が変わらないように、ページの変化を制約してもよい。また、ページが閾値よりも薄い場合(剛性が低い場合)、携帯電話端末1は、選択状態にあるページを掴む物体の動きと重力とに合わせてページをたわませてもよい。
ステップSD2の状態で利用者が指F1と指F2の間の距離を広げるか、指F1および指F2をページの連結部から遠ざけて指F1と指F2の間にページが位置しない状態にすると、選択状態にあるページは解放される。その結果、携帯電話端末1は、作用データ24cに移動に従って、本50を変化させる。具体的には、ステップSD3に示すように、選択状態にあったページのうち内側の端のページが一番上になるように、本50を変化させる。携帯電話端末1は、本50の開いたページの表面に、それらのページに対応するテキストおよび画像等を表示する。
図13は、ページめくりの制御のさらに他の例を示す図である。図13に示すステップSE1では、図12に示したような制御により、複数のページがめくられつつある。そして、利用者が、選択状態にあるページの一部が指F3と指F4の間に位置するように、指F3および指F4を移動させている。携帯電話端末1は、指F3と指F4の間にページが位置していることを検出すると、指F3と指F4の間に位置するページを、指F3および指F4と対応付ける。
その後、ステップSE2では、利用者が、指F3と指F4の間隔をほぼ一定に保ったまま、指F3と指F4をページの連結部を超えるまで本50の開閉方向に移動させている。携帯電話端末1は、このような指F3および指F4の動作を検出すると、作用データ24cに移動に従って、選択状態にあるページを変化させる。具体的には、携帯電話端末1は、指F3および指F4の移動に合わせて、選択状態にあるページのうち、指F3および指F4と対応付けられているページの角度を変化させる。
ステップSE2の状態で利用者が指F1と指F2の間の距離を広げるか、指F1および指F2をページの連結部から遠ざけて指F1と指F2の間にページが位置しない状態にすると、指F1と指F2の間にあるページは解放される。また、ステップSE2の状態で利用者が指F3と指F4の間の距離を広げるか、指F3および指F4をページの連結部から遠ざけて指F3と指F4の間にページが位置しない状態にすると、指F3と指F4の間にあるページは解放される。その結果、携帯電話端末1は、作用データ24cに移動に従って、本50を変化させる。具体的には、ステップSE3に示すように、指F1と指F2の間にあったページと指F3と指F4の間にあったページとの境のページが一番上になるように、本50を変化させる。携帯電話端末1は、本50の開いたページの表面に、それらのページに対応するテキストおよび画像等を表示する。
図11から図13に示したように、携帯電話端末1は、利用者がページを掴んで本を開くことを可能にする。その結果、利用者は、最初から1ページずつめくって本を読むだけでなく、現実の本に対する操作と同様の操作によって、電子的な出版物から所望の箇所を容易に見つけることができる。
めくられるページ数は、ページを選択する物体の距離に応じて決定される。図14は、めくられるページ数と物体間の距離の関係を示す図である。図14に示すように、ページを選択する指F1と指F2との間の距離D1が距離Dxよりも短い場合、めくられるページ数は、距離D1が距離Dxのときよりも少なくなる。一方、ページを選択する指F1と指F2との間の距離D1が距離Dxよりも長い場合、めくられるページ数は、距離D1が距離Dxのときよりも多くなる。このように、携帯電話端末1は、本50との間に隙間ができない限り、距離D1が長くなるほどめくられるページ数を増やす。
このように、携帯電話端末1が距離D1に応じてめくられるページ数を変更することにより、利用者は、任意のページ数をめくることができる。
携帯電話端末1は、距離D1に応じた数のページを選択状態にした後、選択範囲を変更可能な範囲で距離D1が変化した場合には、選択状態にあるページ数を変化後の距離D1に応じて変更する。携帯電話端末1は、ページが選択されている範囲を利用者に提示することが好ましい。
図15は、ページが選択されている範囲を利用者に提示する例を示す図である。図15に示すステップSF1では、利用者が、開いているページを含むページが指F1と指F2の間に位置するように、指F1および指F2を移動させている。携帯電話端末1は、指F1と指F2の間にページが位置していることを検出すると、指F1と指F2の間に位置するページを選択状態にする。さらに、携帯電話端末1は、選択状態になったページのうち、開いているページとは反対側の端のページのページ番号(87)を表示する。なお、図15に示した例では、開いているページにページ番号が表示されているが、ページ番号を表示する位置は、利用者に見える位置であればどこでもよい。
その後、ステップSF2では、利用者が、本50との隙間を作ることなく、指F1と指F2との間の距離を広げている。その結果、携帯電話端末1は、選択状態にあるページ数を増やす。さらに、携帯電話端末1は、選択状態にあるページの範囲を示すページ番号(125)を表示し直す。このように、携帯電話端末1が、ページが選択されている範囲を利用者に提示することにより、利用者は、めくられるページの範囲を容易に調整することができる。
なお、図15では、ページが選択されている範囲を利用者に提示するためにページ番号を表示することとしたが、ページ番号に代えて、あるいは、ページ番号に加えて、選択状態にあるページ数またはページの内容を表示してもよい。図16は、ページが選択されている範囲を利用者に提示するためにページの内容を表示する例を示す図である。
図16に示すステップSG1では、本50の開いたページに、それらのページに対応するテキストおよび画像等が表示されている。そして、ステップSG2では、利用者が、開いているページを含むページが指F1と指F2の間に位置するように、指F1および指F2を移動させている。携帯電話端末1は、指F1と指F2の間にページが位置していることを検出すると、指F1と指F2の間に位置するページを選択状態にする。さらに、携帯電話端末1は、選択状態になったページがめくられたら表示されるページに対応するテキストおよび画像等を表示する。なお、図16に示した例では、開いているページの内容が置き換えられているが、ページの内容を表示する位置および大きさは、利用者に見える位置および大きさであればよい。
その後、ステップSG3では、利用者が、本50との隙間を作ることなく、指F1と指F2との間の距離を広げている。その結果、携帯電話端末1は、選択状態にあるページ数を増やす。さらに、携帯電話端末1は、選択状態になったページがめくられたら表示されるページに対応するテキストおよび画像等を表示し直す。このように、携帯電話端末1が、ページの内容を利用者に提示することにより、利用者は、ページをめくることによってどのページが見られるかを容易に把握することができる。
なお、選択状態にあるページ数を調整するために、指F1と指F2との間の距離だけでなく、指F1と指F2の移動速度を用いてもよい。具体的には、指F1と指F2の移動速度が閾値よりも早い場合は、距離の変化量に対する選択状態にあるページ数の変化量を大きくする。一方、指F1と指F2の移動速度が閾値よりも遅い場合は、距離の変化量に対する選択状態にあるページ数の変化量を小さくする。このように、指F1と指F2の移動速度を用いることにより、利用者が、選択状態にあるページ数を意図する値に調整しやすくなる。ここでいう指F1と指F2の移動速度は、指F1の移動速度と指F2の移動速度のうち、いずれか速い方を用いることが好ましい。
以上、複数のページをまとめてめくる操作について説明してきたが、携帯電話端末1は、ページを1枚ずつめくる操作も受け付けてよい。例えば、携帯電話端末1は、開いているページの一方に触れた指等を他方のページへ向けて移動させる動作が検出された場合に、接触された方のページを1枚めくってもよい。この操作は、現実の薄い紙のページをめくる場合の動作を模している。
携帯電話端末1は、ページに関する操作として、めくる操作以外の操作を受け付けてもよい。例えば、携帯電話端末1は、ページに関する操作として、ページに目印を付ける操作を受け付けてもよい。図17は、ページに目印を付ける操作の一例を示す図である。図17に示すステップSH1では、利用者は、1枚のページの角を指F1および指F2で掴んでいる。そして、ステップSH2では、利用者は、掴んだ部分を折り返すように指F1および指F2を移動させている。
このように、ページの一部を折り返す動作が検出された場合、携帯電話端末1は、その部分を折れ目50aとして、折り返されたままの状態に保つ。そして、携帯電話端末1は、折れ目50aを設けたページをオブジェクトデータ24bに記録する。携帯電話端末1は、図18に示すように、本50が閉じられた場合にも、利用者が折れ目50aの位置を把握できるように、折れ目50aを色または明るさを変える等して他の部分と異なる態様で表示することが好ましい。このように、携帯電話端末1が利用者の操作に応じて折り返しを設定することにより、利用者は、後で見直したいページ等に目印を付けておくことができる。
なお、折れ目50aは、1つの本50において、複数設定可能である。また、携帯電話端末1は、ページの厚みが閾値より厚い場合(剛性が高い場合)は、ページの一部を折り返す動作が検出されても折れ目を設けなくてもよい。
携帯電話端末1は、折れ目50aが設定されたページを利用者が閲覧し易いように、ページが選択される範囲を調整することが好ましい。図19は、ページが選択される範囲を調整する処理手順の一例を示すフローチャートである。携帯電話端末1の制御部22は、第1の物体と第2の物体の間にページが表示されていることを検出すると、ステップS401として、第1の物体と第2の物体の間の距離を算出する。そして、制御部22は、ステップS402として、算出した距離に基づいて、選択されるページ数を算出する。
続いて、制御部22は、ステップS403として、選択される最後のページの前後所定数内のページに折れ目があるか否かを判定する。折れ目がある場合(ステップS404,Yes)、制御部22は、ステップS405として、折れ目のあるページまでが選択されるように選択されるページ数を補正する。選択される最後のページの前後所定数内のページに折れ目があるページが複数ある場合、制御部22は、例えば、折れ目のあるページのうち、掴まれている最後のページに最も近いページまでが選択されるように選択されるページ数を補正する。
選択される最後のページの前後所定数内のページに折れ目がない場合(ステップS404,No)、制御部22は、ステップS402で算出されたページ数に基づいてページを選択する。
なお、図19に示したような選択範囲の調整は、図18に示す角50bのように折れ目50aが設けられている角の近傍でページを掴む操作が行われた場合にのみ実行することとしてもよい。すなわち、角50cのように折れ目50aが設けられていない角の近傍でページを掴む操作が行われた場合には、選択範囲を調整しなくてもよい。このように、携帯電話端末1が、ページが選択される位置によって選択範囲の調整を抑制することにより、利用者は、折れ目50aが設けられているページの前後所定数内のページを参照しやすくなる。
携帯電話端末1は、図20に示すように本に栞60を挟む操作、または、スピンを挟む操作が検出された場合も、折れ目が設けられた場合と同様に、ページが選択される範囲を調整することが好ましい。
また、携帯電話端末1は、ページに関する操作として、ページを切り取る操作を受け付けてもよい。図21は、ページを切り取る操作の一例を示す図である。図21に示すステップSI1では、利用者は、ページ50dの端部を指F1および指F2で掴み、ページの連結部との距離が遠くなるように指F1および指F2を移動させている。携帯電話端末1は、このような指F1および指F2の動作を検出すると、作用データ24cに移動に従って、ページ50dを変化させる。具体的には、携帯電話端末1は、ステップSI2に示すように、ページ50dを破いて、本50から独立させる。
図22は、ページを切り取る操作の他の例を示す図である。図22に示すステップSJ1では、利用者は、ページ50dの角を指F1および指F2で掴んでいる。そして、ステップSJ2では、利用者は、指F1および指F2を本50の開閉方向と直交する方向へ移動させている。携帯電話端末1は、このような指F1および指F2の動作を検出すると、作用データ24cに移動に従って、ページ50dを変化させる。具体的には、携帯電話端末1は、ページ50dを指F1および指F2の移動に合わせて破いていく。その結果、利用者が指F1および指F2の移動を継続すると、ステップSJ3に示すように、ページ50dは、破けて本50から独立する。
図23は、ページの一部を切り取る操作の一例を示す図である。図23に示すステップSK1では、利用者は、ページ50eの角を指F1および指F2で掴み、もう一方の手の指F4および指F5をはさみの形にしている。そして、ステップSK2では、利用者は、ページ50eを横切るように指F4および指F5を移動させている。携帯電話端末1は、このような指F4および指F5の動作を検出すると、指F4および指F5によって横切られた部分に切れ目を入れていく。その結果、ステップSK3に示すように、ページ50eの一部であるページ片50fが指F4および指F5の移動経路に合わせて切り取られて、本50から独立する。なお、ページの一部を切り取る操作は、このようにはさみの形にした指にページを横切らせる動作に限定されない。例えば、携帯電話端末1は、ページを指でなぞる動作が検出された場合に、なぞられた経路に合わせてページ片を切り取ってもよい。
図21から図23に示したように、携帯電話端末1が、ページの全体または一部を切り取ることにより、利用者は、興味があるテキスト等を含むページを本とは別に種々のファイル形式で管理することができる。なお、携帯電話端末1は、ページの厚みが閾値より厚い場合(剛性が高い場合)は、ページを切り取ることができないようにしてもよい。また、携帯電話端末1は、ページを切り取る操作を検出した場合に、ページを破かずに、ページの複製を本から独立させてもよい。このように、ページが破れないようになす対象は、たとえば、当該ページが著作権管理上、複製を禁止する対象物であってもよい。
携帯電話端末1は、複数の本を立体的に表示することもできる。図24は、複数の本を立体的に表示する場合の制御の例を示す図である。図24に示すステップSL1では、携帯電話端末1は、タッチパネル32に、本51〜53という3冊の本を立体的に表示させている。そして、ステップSL2では、利用者が、指F1および指F2を使って、本53を開くための操作を行っている。
携帯電話端末1は、本53を開く操作を検出すると、検出した操作に従って本53を開かせる。このとき、携帯電話端末1は、開いた本53をタッチパネル32のほぼ全面に拡大表示させる。このように、開いた本53を拡大表示することにより、利用者は、本53のページを閲覧し易くなる。
携帯電話端末1は、ページと対応付けて他のオブジェクトを表示してもよい。図25から図33を参照しながら、ページと対応付けた他のオブジェクトの表示について説明する。図25は、ページと対応付けて他のオブジェクトを表示する処理の処理手順を示すフローチャートである。
図25に示す処理手順は、例えば、本の閲覧機能の起動を指示する所定の操作がタッチパネル32によって検出された場合に、制御部22が制御プログラム24aを実行することによって実現される。図25に示すように、制御部22は、まず、ステップS501として、タッチパネル32に本を3次元表示させる。表示される本の外観および内容は、オブジェクトデータ24bに基づいて決定される。
続いて、制御部22は、ステップS502として、本に対する操作が検出されたかを判定する。本に対する操作は、撮影部40および42によって撮影される画像に基づいて検出される。本に対する操作が検出された場合(ステップS502,Yes)、制御部22は、ステップS503として、検出された操作に応じて表示中の本を変化させる。検出された操作に応じた本の変化のさせ方は、作用データ24cに基づいて決定される。
続いて、制御部22は、ステップS504として、内容が表示されるページが切り替わったかを判定する。ページが切り替わった場合(ステップS504,Yes)、制御部22は、ステップS505として、新たに内容が表示されるようになったページに対応付けられたオブジェクトをページに対応する態様で表示させる。
本に対する操作が検出されない場合(ステップS502,No)、表示中の本はそのままに保たれる。また、ページが切り替わっていない場合(ステップS504,No)、ステップS505は実行されない。
続いて、制御部22は、ステップS506として、処理を終了させるかを判定する。制御部22は、例えば、利用者が本の閲覧機能の終了を指示する所定の操作を行った場合に、処理を終了させると判定する。処理を終了させる場合(ステップS506,Yes)、制御部22は、図25に示す処理手順を完了させる。処理を終了させない場合(ステップS506,No)、制御部22は、ステップS502以降を再実行する。
このように、携帯電話端末1は、ページと対応付けて他のオブジェクトを表示する場合、ページの切り替えに合わせてオブジェクトの表示を変更する。以下に、ページと対応付けて他のオブジェクトを表示する具体例について説明する。
図26から図29は、ページと対応付けて海洋生物を3次元表示する例を示している。図26に示す例では、本55のページ番号51のページにオルカの3次元オブジェクト55aが対応付けられ、ページ番号50のページに熱帯魚の3次元オブジェクト55bおよび55cが対応付けられている。3次元オブジェクト55a〜55cは、ページ番号50のページおよびページ番号51のページが表示されると、それらのページから飛び出したように表示される。このように、本のページと対応付けられた3次元オブジェクトを飛び出したように表示することにより、現実の本に挿入される画像やイラストよりも現実感のある情報を利用者に提供することができる。
ページと3次元オブジェクトの対応を利用者が任意に変更できるようにしてもよい。例えば、図27に示すように、利用者が3次元オブジェクト55aを指F3および指F4で掴んだまま、指F1および指F2を使ってページを1枚めくったものとする。携帯電話端末1は、このように3次元オブジェクトが掴まれた状態でページがめくられたことを検出すると、掴まれている3次元オブジェクトを新たに表示されたページに対応付ける。
その結果、3次元オブジェクト55aは、図28に示すように、ページ番号53のページに対応付けられる。また、図29に示すように、利用者がページを戻してページ番号51のページを表示させると、ページとの対応付けが変更されたため、3次元オブジェクト55aは表示されない。
図26から図29では、他のオブジェクトをページの1つの面に対応付けることとしたが、他のオブジェクトをページの表および裏と対応付けてもよい。この場合、携帯電話端末1は、ページの角度に応じてオブジェクトの表示させ方を変更する。
図30は、ページの表および裏と対応付けて海洋生物を3次元表示する例を示している。図30に示す例では、本56のページ56aの表および裏にオルカの3次元オブジェクト56bが対応付けられている。携帯電話端末1は、ページ56aの一方の面が表示されている場合、オルカの上半身がページ56aから飛び出したように3次元オブジェクト56bを3次元表示させる。
そして、利用者がページ56aをめくる操作を始めると、携帯電話端末1は、ページ56aの角度に合わせて、3次元オブジェクト56bの表示される部分を多くしていく。ページ56aが垂直になった時点では、3次元オブジェクト56bの全体が表示される。そして、利用者がページ56aをめくる操作を継続すると、携帯電話端末1は、ページ56aの角度に合わせて、3次元オブジェクト56bの表示される部分を少なくしていく。ページ56aが完全にめくられると、携帯電話端末1は、オルカの下半身がページ56aから飛び出したように3次元オブジェクト56bを3次元表示させる。
利用者がページ56aを逆方向にめくると、携帯電話端末1は、3次元オブジェクト56bを上記の説明とは逆に変化させていく。
図31は、ページの表および裏と対応付けて海洋生物を3次元表示する他の例を示している。図31に示す例では、本57のページ57aの表および裏にオルカの3次元オブジェクト57bが対応付けられている。携帯電話端末1は、ページ57aの一方の面が表示されている場合、オルカの背びれが上を向くように3次元オブジェクト57bを3次元表示させる。
そして、利用者がページ57aをめくる操作を始めると、携帯電話端末1は、ページ57aの角度に合わせて、3次元オブジェクト57bを横方向に回転させていく。ページ57aが完全にめくられると、携帯電話端末1は、オルカの腹部が上を向くように3次元オブジェクト57bを3次元表示させる。利用者がページ57aを逆方向にめくると、携帯電話端末1は、3次元オブジェクト57bを上記の説明とは逆に変化させていく。
このように、携帯電話端末1が、ページめくりと連動してオブジェクトを変化させることにより、利用者は、ページめくりという慣れ親しんだ操作によってオブジェクトを希望する通りに変化させることができる。すなわち、情報機器の操作が苦手な利用者であっても、ページをめくるだけで、3次元オブジェクトを回転させるといった複雑な処理を実現させることができる。
携帯電話端末1は、複数のページにオブジェクトを対応付けてもよい。図32は、複数のページにオブジェクトを対応付けて海洋生物を3次元表示する例を示している。図32に示す例では、本58のページ面58a〜58dという4つの面に熱帯魚の3次元オブジェクト58eと、オルカの3次元オブジェクト58fとが対応付けられている。
携帯電話端末1は、ページ面58aおよび58bが表示されている場合、3次元オブジェクト58eおよび3次元オブジェクト58fを同じ縮尺で表示する。熱帯魚とオルカの大きさの差は大きいため、ページ面58aおよび58bが表示されている場合、3次元オブジェクト58fは、オルカの尾の部分が視認領域からはみ出して全身が表示されない。3次元オブジェクト58fの視認領域からはみ出している部分は、ページをめくってページ面58cおよび58dを表示させることによって表示される。
このように、複数の生物を同じ縮尺で表示することにより、利用者は、生物の大きさの差を容易に把握することができる。また、利用者は、視認領域からはみ出して表示されない部分を、ページをめくるという慣れ親しんだ操作によって閲覧することができる。
図33に示す例では、本59のページ面59a〜59dという4つの面に住宅の3次元オブジェクト59eが対応付けられている。携帯電話端末1は、ページ面59aおよび59bが表示されている場合、3次元オブジェクト59eの全体を表示する。携帯電話端末1は、ページ面59cおよび59dが表示されている場合、住宅の1階のみが表示されるように3次元オブジェクト59eを表示する。
このように、携帯電話端末1は、めくられたページ数に応じて断面を設定し、設定した断面で切断した状態のオブジェクトを表示することもできる。このような制御は、めくられたページ数に応じてビルのフロアマップを表示する用途や、めくられたページ数に応じて人体の断面図を表示する用途等に応用することができる。
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例で示した制御プログラム24aは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、上記の実施例では、3次元オブジェクトに対して指で操作を行うこととしたが、先端に静電気を帯びた棒状の物等を指の代わりに用いてもよい。
また、上記の実施例では、3次元表示された本のページがめくられる枚数を検出された指の間の距離に基づいて決定する例について説明した。しかしながら、ページがめくられる枚数が決定される本は、2次元表示された本であってもよい。例えば、携帯電話端末1は、2次元表示された本の端部での2本の指等の物体の接触がタッチパネル32によって検出された場合、検出された2つの物体間の距離に基づいて、その後に所定のページめくり操作が検出された際にめくられるページ数を決定してもよい。
また、上記の実施例では、ページに対応付けて表示されるオブジェクトの例として3次元オブジェクトを示した。しかしながら、ページに対応付けて表示されるオブジェクトは、3次元オブジェクトに限定されない。例えば、ページに対応付けて動画を表示してもよい。携帯電話端末1は、ページに対応付けて動画を表示する場合、ページがめくられる毎に異なるチャプタを再生してもよい。
また、上記の実施例では、3次元オブジェクトが利用者側に飛び出す場合について記載したが、表示部よりも奥側に3次元オブジェクトが存在するように見せる場合でも本発明を適用できる。この場合、表示部の裏面側に検出部を配置してもよい。表示機器が携帯電話端末の場合、利用者自身を撮影するためのインカメラと、風景等を撮影するためのアウトカメラとを備えていることが多い。そこで、このアウトカメラを用いることで裏面側における物体の変位を捕捉することができるようにしてもよい。
また、上記の実施例では、表示機器が単独で3次元オブジェクトに対する操作を検出することとしたが、表示機器がサーバ装置と協業して3次元オブジェクトに対する操作を検出することとしてもよい。この場合、表示機器は、検出部の検出した情報をサーバ装置へ逐次送信し、サーバ装置が操作を検出して検出結果を表示機器へ通知する。このような構成とすることにより、表示機器の負荷を低減することができる。
また、上記の実施例では、3次元オブジェクトを操作する物体を検出するために撮影部を検出部として用いる例を示したが、検出部はこれに限られない。例えば、撮影部に代えて、赤外センサ(TOF(Time-of-Flight)法を用いたセンサを含む)を検出部としてもよい。また、視認空間における面方向の移動を検出できる近接センサ等を、物体の移動方向とほぼ水平に配置すると、物体の変位が非接触でも検出できることから、もちろんこれらを用いてもよい。なお、3次元オブジェクトを操作する物体側にセンサ等を配置することなく、物体の変位の検出ができることが好ましい。物体側にセンサ等を配置しないことにより、手および指にわざわざ加速度センサを取り付けたり、加速度を備えた表示機器そのものを移動させたりする必要がないので、コスト低減が図れる。
また、3次元オブジェクトを操作する物体を、タッチセンサを用いて検出することとしてもよい。以下に、タッチセンサを、3次元オブジェクトを操作する物体を検出する検出部として活用する例を示す。なお、以下の説明では、既に説明した部分と同様の部分には既に説明した部分と同一の符号を付す。また、重複する説明については、説明を省略することがある。
まず、図34および図35を参照しながら、携帯電話端末(表示機器)2の構成について説明する。図34は、携帯電話端末2の外観を示す正面図である。図35は、携帯電話端末2の機能的な構成を示すブロック図である。
図34および図35に示すように、携帯電話端末2は、操作部13と、マイク15と、レシーバ16と、制御部22と、記憶部24と、通信部26と、音声処理部30と、タッチパネル32とを有する。
タッチパネル32は、文字、図形、画像等の各種の情報を表示するとともに、表示されたアイコン、ボタン、文字入力領域等の所定領域に対する入力操作を検出する。タッチパネル32は、表示部32aと、タッチセンサ32bとを重畳して構成される。本実施例において、タッチセンサ32bは、静電容量式のタッチセンサである。タッチセンサ32bは、3次元オブジェクトを操作する指を検出する検出部としても機能する。
次に、図36を参照しながら、3次元オブジェクトに対する操作の検出について説明する。図36は、3次元オブジェクトに対する操作の検出について説明するための図である。図36では、タッチパネル32によって、視認空間中に、3次元オブジェクトOB1が立体的に表示されている。
ここで、利用者が3次元オブジェクトOB1に対して何らかの操作を行いたいものとする。3次元オブジェクトOB1に対して何らかの操作を行うには、まず、操作の対象として3次元オブジェクトOB1を選択する必要がある。3次元オブジェクトOB1を選択するために、利用者は、図36に示すように、指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させる。
携帯電話端末2は、指F1および指F2の位置を、タッチセンサ32bを用いて検出する。タッチセンサ32bは、感度を高めることで、例えば、指F1および指F2とタッチパネル32の表面からのZ軸方向の距離が10cm程度ある場合でも、指F1および指F2のX軸方向およびY軸方向の位置を検出することができる。また、タッチセンサ32bは、静電容量の大きさに基づいて、指F1のタッチパネル32の表面からのZ軸方向の距離D2および指F2のタッチパネル32の表面からのZ軸方向の距離D3を検出することができる。
こうして検出された指F1および指F2の視認空間での位置に基づいて、携帯電話端末2は、指F1および指F2間の距離D1を算出したり、指F1および指F2の間に3次元オブジェクトが表示されているかを判定したりすることができる。指F1および指F2の間に3次元オブジェクトが表示されていることが検出された後の制御については、上述した実施例において説明した処理手順に従って実行される。
上述してきたように、タッチセンサを検出部として用いることにより、撮影部を備えない表示装置であっても、3次元オブジェクトに対する操作を検出することができる。
なお、3次元オブジェクトに対する操作を検出するために撮影部およびタッチセンサを併用してもよい。撮影部およびタッチセンサを併用する場合、それぞれの検出結果を平均して指F1および指F2の位置を特定してもよい。また、タッチパネル32と近い領域では、撮影部は指F1および指F2の画像を取得し難いのでタッチセンサの検出結果の重み付けを大きくし、タッチパネル32と遠い領域では、タッチセンサの検出精度が低くなるので撮影部の検出結果の重み付けを大きくした加重平均を用いてもよい。
また、他の指等が障害となってタッチセンサが指の位置を精度よく検出できないことが生じにくいように、3次元オブジェクトに対する操作を複数のタッチセンサを用いて検出してもよい。図37は、3次元オブジェクトに対する操作を複数のタッチセンサを用いて検出する携帯電話端末3の構成の一例を示す図である。
携帯電話端末3は、第1の筐体3aと、第2の筐体3bと、ヒンジ部3cとを有する。ヒンジ部3cは、第1の筐体3aおよび第2の筐体3bを開閉可能に連結する。そして、第1の筐体3aは、タッチセンサ32bを有するタッチパネル32を備え、第2の筐体3bは、タッチセンサ34bを有するタッチパネル34を備える。タッチセンサ32bおよびタッチセンサ34bは、図37に示すように、第1の筐体3aおよび第2の筐体3bが約90度の角度をもって固定された場合に、視認空間に異なる角度で接する。
タッチセンサ32bは、指F1および指F2のX軸方向およびY軸方向の位置を検出することができる。また、タッチセンサ32bは、静電容量の大きさに基づいて、指F1のタッチパネル32の表面からのZ軸方向の距離D2および指F2のタッチパネル32の表面からのZ軸方向の距離D3を検出することができる。
タッチセンサ34bは、指F1および指F2のX軸方向およびZ軸方向の位置を検出することができる。また、タッチセンサ34bは、静電容量の大きさに基づいて、指F1のタッチパネル34の表面からのY軸方向の距離D4および指F2のタッチパネル34の表面からのY軸方向の距離D5を検出することができる。
このように、異なる方向から指F1および指F2を検出することにより、何らかの障害物がある場合でもいずれかの方向から指F1および指F2の位置を検出することができる。なお、異なる方向から指F1および指F2を検出する場合、一方のタッチパネルが3次元オブジェクトを表示し、他方のタッチパネルは非表示とするか、2次元でガイダンス等を表示してもよい。また、3次元オブジェクトを表示しない方のタッチパネルを単なるタッチセンサとしてもよい。
また、上記の実施例では、本発明を本の閲覧機能を実現するために利用する例について説明したが、本発明を用いて閲覧されるのは本に限定されない。本発明は、パンフレットおよび新聞等を含む各種の電子出版物の閲覧機能を実現するために利用することができる。
また、本発明によって実現可能な3次元オブジェクトに対する操作は、上記の実施例で示した操作に限定されない。本発明に係る制御により、例えば、本棚から本を選択して取り出す操作、新聞を折り畳む操作、および筆記具をもって本等に書き込みを行う操作等を実現することもできる。