(57)【要約】【課題】自由に動く窓を通して立体を見ているのに似た操作感覚をユーザに与える。【解決手段】ユーザが各キー１５〜２０を操作すると、表示デバイス１１が、仮想的に、３次元空間内の立体に貼り付けられた紙面の周囲で移動される。そして、上記表示デバイス１１の仮想的な移動に伴って各レジスタ３５〜３９の内容が更新され、更新された内容に応じて、表示デバイス１１の表示内容が、上記仮想的移動に伴う表示デバイス１１と３次元紙面との位置関係を反映させて変更される。こうして、仮想的に３次元紙面をその周囲を移動する窓を通して見ているような画像を、表示デバイス１１に出力する。したがって、自由に動く窓を通して現実の立体を見ているのに似た操作感覚をユーザに与えることができ、ユーザは表示デバイス１１に現在表示されていない部分の表示操作を直感的に行うことができる。【選択図】  図４
2004309947.tif 000002
【特許請求の範囲】
【請求項１】
仮想的な３次元空間内に配置されると共に、表示の対象となるオブジェクトの表示データが格納される表示データメモリと、
上記仮想的な３次元空間内に在って上記オブジェクトが射影される射影面の位置を移動させる射影面移動手段と、
上記表示データに基づいて、上記仮想的な３次元空間における上記オブジェクトと射影面との相対位置に応じて、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データを生成する表示画像生成手段と、
上記生成された表示画像データに基づいて、上記射影面に対する上記オブジェクトの射影の少なくとも一部の画像を表示画面に表示する画像表示手段
を備えたことを特徴とするデータ表示装置。
【請求項２】
請求項１に記載のデータ表示装置において、
上記射影面移動手段は、本データ表示装置の動きを検出する動き検出手段を備えて、この動き検出手段によって検出された本データ表示装置の動きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
【請求項３】
請求項２に記載のデータ表示装置において、
上記動き検出手段は、
本データ表示装置の周囲を撮影して、得られた画像データを出力する撮像手段と、
上記撮像手段からの画像データに基づいて、本データ表示装置の動きを検出する画像センシング手段
を備えたことを特徴とするデータ表示装置。
【請求項４】
請求項３に記載のデータ表示装置において、
上記画像センシング手段は、本データ表示装置の動きベクトルを検出する動きベクトル検出手段を備えて、この動きベクトル検出手段によって検出された動きベクトルに基づいて本データ表示装置の平行移動を検出するようになっていることを特徴とするデータ表示装置。
【請求項５】
請求項３または請求項４に記載のデータ表示装置において、
上記撮像手段は、上記表示画面の裏面に配置されたカメラであることを特徴とするデータ表示装置。
【請求項６】
請求項１に記載のデータ表示装置において、
上記射影面移動手段は、本データ表示装置の傾きを検出する傾き検出手段を備えて、この傾き検出手段によって検出された傾きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
【請求項７】
請求項６に記載のデータ表示装置において、
上記傾き検出手段は、ジャイロを用いて構成されていることを特徴とするデータ表示装置。
【請求項８】
請求項１に記載のデータ表示装置において、
上記表示画像生成手段は、
上記仮想的な３次元空間を表す３次元座標系において、上記オブジェクト上の各点の座標を、上記各点が上記射影面に射影されて成る各点の座標に変換する３次元座標変換手段と、
上記射影面上に２次元座標系を設定し、上記射影面に射影された各点の３次元座標を上記２次元座標系での座標に変換する２次元座標変換手段と、
上記射影面に射影された各点の２次元座標に基づいて、上記表示データメモリに格納された上記オブジェクトの表示データを、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データに変換する表示画像データ変換手段
を備えたことを特徴とするデータ表示装置。
【請求項９】
請求項１乃至請求項８の何れか１つに記載のデータ表示装置において、
上記仮想的な３次元空間に配置されたオブジェクトは曲面または平面を有しており、この曲面または平面に沿って文書が貼り付けられていることを特徴とするデータ表示装置。
【請求項１０】
コンピュータを、
請求項８における射影面移動手段，３次元座標変換手段，２次元座標変換手段，表示画像データ変換手段および画像表示手段
として機能させることを特徴とするデータ表示プログラム。
【請求項１１】
請求項１０に記載のデータ表示プログラムが記録されたことを特徴とするコンピュータ読出し可能なプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ表示装置，データ表示プログラムおよびプログラム記録媒体に関する。
【０００２】
【従来の技術】
近年の携帯情報端末（ＰＤＡ）やこのＰＤＡと変わらないサイズの小型軽量パーソナルコンピュータや携帯電話（以下、この３種を含む小型の情報機器を「携帯情報機器」と称する）等の著しい発達によって、情報を持ち運ぶことが容易になっている。そして、この携帯情報機器の発達に情報通信手段の発達が組み合わさって「ユービキタスコンピューティング」の実現に近づきつつあると言える。
【０００３】
ところで、上記携帯情報機器が共通して有する弱点として、表示画面の面積が限られていることがある。このことは、本来レイアウト情報を有しないテキストファイルの閲覧であれば、適切なところで折り返しを行えば、通常は問題にならない。ところが、レイアウトが重要な情報の場合には、低い解像度で全体像を表示するか部分毎に詳細データを表示するかの何れかの対応が行われている。
【０００４】
そして、上記携帯情報機器の小さな画面で全体像を表示する場合には、全体像は掌握し易くなるが個々の情報を読み取るのは困難である。これに対して、個々の部分を詳細に表示する場合には、逆に、詳細部分の情報を読み取るのには問題ないが、現在ユーザが読んでいる部分が全体における何れの部分に当るのかが分からない。したがって、何れの場合もユーザにストレスが掛ることになる。
【０００５】
そこで、画像を３次元的に表示することによって、上述したような問題を少しでも解決しようとする試みが行われている。例えば、レイアウト構造の階層関係や論理構造の階層関係等の文書構造の関係から文書要素を３次元的に表示することによって、ユーザに文書構造関係を直感的に呈示する文書編集装置が提案されている（特許文献１（特開平３‐２６８０５９号公報）参照）。
【０００６】
また、画像処理部によって、主メモリ中の斜形ウィンドウ管理用構造体に格納されている原画像データへのポインタに基づくウィンドウの原画像データを取り込んで斜形化を実行し、生成された斜形画像データを上記主メモリに格納する。さらに、上記斜形画像データ中における実際にディスプレイ表示するデータを指定する斜形画像マスクデータを生成して、上記主メモリに格納する。そして、上記主メモリから表示メモリに上記斜形画像データと斜形画像マスクデータとを転送し、上記斜形画像データ中における上記斜形画像マスクデータによって指定された画像データをディスプレイに傾斜したウインドウで表示する画像表示方法が提案されている（特許文献２（特開平６‐１８６９４８号公報）参照）。
【０００７】
また、モデル生成部によって、複数ページの文書データに基づいて、蛇腹状に折り曲げられた複数面からなる３次元モデルを生成する。その際に、ページ展開制御部によって、３次元モデルの折り曲げ角度を調整して上記各ページの展開状態を変化させる。さらに、視点座標変換部よって、３次元モデルの視点位置を変換する。そして、テクスチャマッピング処理部によって上記３次元モデルの各面に各ページの文書データをマッピングし、画像処理部によってレンダリング処理された画像を、表示制御部による制御の下に表示装置に表示する。こうして、任意の複数ページの文書データを蛇腹状に展開し、視点位置を任意に変更して、ページの表裏に拘わらず１度に複数ページの文書データを確認することが可能な電子ブック装置が提案されている（特許文献３（特開平２０００‐１３７５６３号公報）参照）。
【０００８】
【特許文献１】
特開平３‐２６８０５９号公報
【特許文献２】
特開平６‐１８６９４８号公報
【特許文献３】
特開平２０００‐１３７５６３号公報
【０００９】
【発明が解決しようとする課題】
ここで、上述のような小型の携帯情報機器に因らずに情報を閲覧する場合は、如何様にして閲覧を行っているかを考えてみる。例えば、混雑した電車の中においては新聞を自由に開くことができない。そのために、新聞を小さく折りたたんだり、開き方を狭くするなどの工夫を行うのが普通である。そして、このようなことが一般的に行われていると言うことは、上述のように新聞を折りたたんだり開き方を狭くすることは、読者に大きなストレスを与えていないことを表している。
【００１０】
このように折りたたんだり開き方を狭くすることによって得られるユーザの視野と、上記携帯情報機器の小さな画面で大きな紙面を表示する際に行われる表示方法による表示画像と、の違いは「自然さ」にあると考えられる。すなわち、新聞を小さく開くまたは小さく折りたたんでいる場合にユーザの目に入るものは、読みたい部分が中心となった折りたたまれた状態をも含む３次元の図形である。これに対して、携帯情報機器に表示されている映像は、言わば自然には存在しないような読みたい部分のみが切り取られた画像である。したがって、上記携帯情報機器に現在表示されていない部分を表示させる操作を、直感的に行うことができないのである。尚、このように、現在表示されていない部分を何らかの方法によって表示させる操作は、上記携帯情報機器の表示画面が小さい場合には必ず頻繁に必要になる。
【００１１】
そして、上述のように、現在表示されていない部分を表示させる操作を直感的に行い得るためには、ユーザの操作とその結果生ずる表示の変化との間に、実世界で起こる対応に近い対応付けを与えることが有効であると考えられる。
【００１２】
図２７は、上述したような実世界で起こる対応に近い対応付けを与えるための基本的な概念を示す図である。図２７においては、紙面１は球面を成しており、紙面１の表面にある長方形２および長方形３の図形を、窓４を通して見ている状態を示している。勿論、実際には、紙面１が球面を成すことはあまり考えられないが、種々の曲面を模式的に説明する目的でこのような状態を考える。
【００１３】
上記窓４を通して見える図形は、その図形と窓４との位置関係に応じて種々異なる。例えば、図２７（ａ）の場合には、長方形２は、窓４と略平行の位置関係にある。そのために、図２８（ａ）に示すように、窓４からは長方形に近い図形が見える。これに対して、図２７（ｂ）の場合には、窓５は、長方形２に対して傾斜している。そのために、図２８（ｂ）に示すように、窓５からは、長方形２と窓５との角度と長方形２が球面を成す紙面１上にあることとを反映して、歪んだ長方形２が見えている。また、図２７（ｂ）において、窓６および窓７のごとく窓を前後に平行移動した場合には、図２９（ａ），（ｂ）に示すように、窓７を通して見える長方形３は、窓６を通して見える長方形３よりも小さい。これは、２つの窓６，７と長方形３との距離の差が反映されたためである。
【００１４】
ところで、上記特許文献１に開示された文書編集装置においては、文書要素は３次元的に表示されるものの、文書そのものが視覚的に３次元に表示されてはいない。また、上記特許文献２に開示された画像表示方法においては、ウインドウを傾斜させて配置して画像を斜めに表示しているので文書そのものを３次元的に表示していると言える。ところが、上述した実世界で起こる対応に近い対応付けを与えるための概念において説明したごとく、ユーザとの相対位置を仮想的に変化させることによって表示画像を変化させることはできない。
【００１５】
また、上記特許文献３に開示された電子ブック装置においては、マッピングされる３次元データの形状が蛇腹状への折り曲げ形状に限られている。さらに、上記表示装置の姿勢や位置の変化を利用してユーザの視点を変化させるような発想はない。
【００１６】
要するに、上記画像を３次元的に表示する従来の画像表示装置においては、表示装置の姿勢や位置の変化をも利用して、例えば３次元的に表現された紙面をユーザが自然に閲覧するようなことは、全くできないのである。
【００１７】
そこで、この発明の目的は、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができるデータ表示装置，データ表示プログラムおよびプログラム記録媒体を提供することにある。
【００１８】
また、上記立体を見るための窓の移動操作を自身の姿勢や位置の変化をも用いて行うことによって更に自然な操作感覚を与えることができるデータ表示装置，データ表示プログラムおよびプログラム記録媒体を提供することにある。
【００１９】
【課題を解決するための手段】
上記目的を達成するため、この発明のデータ表示装置は、仮想的な３次元空間内に配置されると共に，表示の対象となるオブジェクトの表示データが格納される表示データメモリと、上記仮想的な３次元空間内に在って上記オブジェクトが射影される射影面の位置を移動させる射影面移動手段と、上記表示データに基づいて，上記仮想的な３次元空間における上記オブジェクトと射影面との相対位置に応じて，上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データを生成する表示画像生成手段と、上記生成された表示画像データに基づいて，上記射影面に対する上記オブジェクトの射影の少なくとも一部の画像を表示画面に表示する画像表示手段を備えている。
【００２０】
上記構成によれば、上記表示画面には、仮想的な３次元空間内に在る射影面に対するオブジェクトの射影の少なくとも一部の画像が、表示画面に表示される。その際に、上記射影面移動手段によって射影面の位置が移動されると、上記表示画面には、上記３次元空間における上記オブジェクトと射影面との相対位置に応じて変化した画像が表示される。したがって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができ、ユーザは、上記表示画面に現在表示されていない部分を表示させる操作を直感的に行うことが可能になる。
【００２１】
また、１実施例のデータ表示装置では、上記射影面移動手段に本データ表示装置の動きを検出する動き検出手段を備えて、この動き検出手段によって検出された本データ表示装置の動きに応じて上記射影面の位置を移動させるようにしている。
【００２２】
この実施例によれば、本データ表示装置の動きと上記射影面の移動とが対応付けられているため、本データ表示装置に対するユーザの操作とその結果生ずる表示の変化との間には、実世界で起る対応に近い対応付けが与えられる。したがって、上記オブジェクトを、その周囲を移動する窓を通して見ているような画像が上記表示画面に表示される。
【００２３】
また、１実施例のデータ表示装置では、上記動き検出手段に、本データ表示装置の周囲を撮影して得られた画像データを出力する撮像手段と、上記撮像手段からの画像データに基づいて本データ表示装置の動きを検出する画像センシング手段を備えている。
【００２４】
この実施例によれば、撮像手段によって撮影された周囲の画像に基づいて本データ表示装置の動きが検出される。したがって、カメラを内蔵して動画の撮影が可能な携帯電話やＰＤＡを、動き検出用の特別なハードウエアを付加することなく利用することが、可能になる。
【００２５】
また、１実施例のデータ表示装置では、上記画像センシング手段は、本データ表示装置の動きベクトルを検出する動きベクトル検出手段を備えて、この動きベクトル検出手段によって検出された動きベクトルに基づいて本データ表示装置の平行移動を検出するようになっている。
【００２６】
この実施例によれば、上記撮像手段によって撮影された周囲の画像に基づいて容易に本データ表示装置の動きが検出される。
【００２７】
また、１実施例のデータ表示装置では、上記撮像手段は、上記表示画面の裏面に配置されたカメラである。
【００２８】
この実施例によれば、上記記撮像手段を有する動き検出手段の構成が容易になる。
【００２９】
また、１実施例のデータ表示装置では、上記射影面移動手段は、本データ表示装置の傾きを検出する傾き検出手段を備えて、この傾き検出手段によって検出された傾きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
【００３０】
この実施例によれば、本データ表示装置の傾きと上記射影面の移動とが対応付けられているため、本データ表示装置に対するユーザの傾け操作とその結果生ずる表示の変化との間には、実世界で起る対応に近い対応付けが与えられる。したがって、上記オブジェクトを、その周囲を移動する窓を通して見ているような画像が上記表示画面に表示される。
【００３１】
また、１実施例のデータ表示装置では、上記傾き検出手段は、ジャイロを用いて構成されている。
【００３２】
この実施例によれば、上記傾き検出手段は、上記ジャイロを用いることによって、正確に本データ表示装置の傾きを検出することが可能になる。
【００３３】
また、１実施例のデータ表示装置では、上記表示画像生成手段は、上記仮想的な３次元空間を表す３次元座標系において，上記オブジェクト上の各点の座標を，上記各点が上記射影面に射影されて成る各点の座標に変換する３次元座標変換手段と、上記射影面上に２次元座標系を設定し，上記射影面に射影された各点の３次元座標を上記２次元座標系での座標に変換する２次元座標変換手段と、上記射影面に射影された各点の２次元座標に基づいて，上記表示データメモリに格納された上記オブジェクトの表示データを，上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データに変換する表示画像データ変換手段を備えている。
【００３４】
この実施例によれば、上記射影面に対する上記オブジェクトの射影の上記仮想的な３次元座標系での座標を得、この３次元座標に基づいて、上記射影面に対する射影の上記射影面上に設定された２次元座標系での座標を得ることによって、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データが正確に得られる。
【００３５】
また、１実施例のデータ表示装置では、上記仮想的な３次元空間に配置されたオブジェクトは曲面または平面を有しており、この曲面または平面に沿って文書が貼り付けられている。
【００３６】
この実施例によれば、２次元の文書を３次元的に表現した画像を、自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。したがって、表示画面よりも大きな文書を折りたたんだり丸めたりした状態の画像を表示することが可能になる。
【００３７】
また、この発明のデータ表示プログラムは、コンピュータを、この発明のデータ表示装置における上記射影面移動手段，３次元座標変換手段，２次元座標変換手段，表示画像データ変換手段および画像表示手段として機能させる。
【００３８】
上記構成によれば、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。
【００３９】
また、この発明のプログラム記録媒体は、この発明のデータ表示プログラムが記録されている。
【００４０】
上記構成によれば、コンピュータで読み出して実行することによって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。
【００４１】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。
【００４２】
・第１実施の形態
図１は、本実施の形態のデータ表示装置における外観を示す。このデータ表示装置は、仮想的に、３次元空間に配置された立体に貼り付けられた紙面をその周囲を移動する窓を通して見ているような画像を、ユーザに提供するものである。以下に説明するように、上記窓の傾き検出は本データ表示装置の傾きをジャイロによって検出することで行い、上記窓の平行移動はユーザのキー操作によって行い、上記窓の前後方向の移動も同様にユーザのキー操作によって行うようになっている。
【００４３】
図１に示すように、本データ表示装置には、表示デバイス１１，電源スイッチ１２，ページ送りキー１３，ページ戻りキー１４，上スクロールキー１５，下スクロールキー１６，左スクロールキー１７，右スクロールキー１８，ズームインキー１９およびズームアウトキー２０が設けられている。夫々の役割については後述する。
【００４４】
図２は、図１に示すデータ表示装置における機能的構成を示すブロック図である。本データ表示装置は、メインＣＰＵ（中央演算処理装置）２１，ページレジスタ２２，表示データメモリ２３，表示部２４，ページ送りキー１３，ページ戻りキー１４，電源スイッチ１２およびデータバス２５から構成されている。尚、電源スイッチ１２以外の各構成要素は、データバス２５を介してデータの送受を行うようになっている。
【００４５】
図３は、上記メインＣＰＵ２１による制御の下に実行されるデータ表示処理動作のフローチャートである。以下、図２および図３に従って、データ表示処理動作について詳細に説明する。尚、特に処理手段が明示されていないステップは、メインＣＰＵ２１自身に因って処理が行われるものとする。また、実際の製品においては、電源スイッチ１２がオフされた場合には何れのステップにあっても常にデータ表示処理動作を終了するように考慮すべきではあるが、本願にとっては本質的なことではなく、説明が煩雑になるので、上述のことにはついては言及しない。他のフローチャートについても同様である。
【００４６】
上記表示データメモリ２３には、意味上のまとまりがある表示データが順番付けられて格納されているとする。本実施の形態においては、表示データは、ページ毎の２４ビットカラー画像データであるとする。尚、表示データメモリ２３に格納されるデータが画像以外の形式（例えば、テキストデータ）であっても、ページ毎の表示の段階では画像データに変換されると考えられるので、このような仮定によって一般性を失なうものではない。また、ページ形式ではない表示データである場合もある。しかしながら、このような表示データも大きな一枚のページと見なすことができるため、ページ毎の画像として表示データを取り扱うことは本実施の形態の範疇から除外される訳では勿論ない。
【００４７】
上記電源スイッチ１２がオンされると、上記データ表示処理動作がスタートする。そして、ステップＳ１で、上記ページレジスタ２２の内容が「０」に初期化される。ここで、ページレジスタ２２には、現在表示されているページの番号が格納される。したがって、ページレジスタ２２の内容が「０」であるということは、先頭ページが表示されることを表している。尚、以下の説明においては、ページの番号は「０」から始まることとする。
【００４８】
次に、ステップＳ２で、上記表示部２４によって、ページレジスタ２２の格納値で示されるページのデータが表示される。尚、表示部２４によるデータ表示処理動作については後に詳述する。ステップＳ３で、ページ送りキー１３が押圧されているか否かが判別される。その結果、押圧されている場合にはステップＳ４に進み、そうでない場合にはステップＳ６に進む。ステップＳ４で、ページレジスタ２２の格納値が最終ページの番号に一致するか否かが判別される。その結果、一致する場合にはこれ以上ページを送ることはできないので上記ステップＳ３に戻り、一致しない場合にはステップＳ５に進む。ステップＳ５で、ページレジスタ２２の格納値がインクリメントされる。そうした後に、上記ステップＳ２に戻って次ページのデータ表示に移行する。
【００４９】
ステップＳ６で、上記ページ戻りキー１４が押圧されているか否かが判別される。その結果、押圧されていればステップＳ７に進み、そうでなければ上記ステップＳ３に戻ってページ送りキー１３の押圧判別に移行する。ステップＳ７で、ページレジスタ２２の格納値が「０（先頭ページの番号）」に一致するか否かが判別される。その結果、一致する場合にはページを戻すことができないので上記ステップＳ３に戻り、一致しない場合にはステップＳ８に進む。ステップＳ８で、ページレジスタ２２の格納値がデクリメントされる。そうした後に、上記ステップＳ２に戻って前ページのデータ表示に移行する。
【００５０】
次に、図３に示す上記データ表示処理動作のステップＳ２において、表示部２４によって実行される表示処理動作について説明する。図４は、表示部２４における機能的構成を示すブロック図である。尚、図４には、上スクロールキー１５，下スクロールキー１６，左スクロールキー１７，右スクロールキー１８，ズームインキー１９，ズームアウトキー２０およびデータバス２５も合わせて表示している。
【００５１】
図４において、上記表示部２４は、ページデータメモリ３１，表示画像生成器３２，傾き検出器３３，表示画像データメモリ３４，表示デバイス１１，第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９，第３傾きレジスタ４０，第４傾きレジスタ４１，Ｘ２レジスタ４２，Ｙ２レジスタ４３，Ｚ２レジスタ４４，専用のＣＰＵ４５およびデータバス４６から構成される。上記各構成要素は、データバス４６を介してデータの送受を行う。また、ＣＰＵ４５は、データバス４６およびデータバス２５を介して各キー１５〜２０からのデータを受信可能になっており、さらにメインＣＰＵ２１とデータを送受可能になっている。
【００５２】
上記第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９には、後に詳述するように、本データ表示装置における現在の状態を表す値が格納される。これに対して、第３傾きレジスタ４０，第４傾きレジスタ４１，Ｘ２レジスタ４２，Ｙ２レジスタ４３およびＺ２レジスタ４４には、本データ表示装置における過去のある時点の状態を表す値が格納される。つまり、第１傾きレジスタ３５と第３傾きレジスタ４０とが対応し、第２傾きレジスタ３６と第４傾きレジスタ４１とが対応し、Ｘレジスタ３７とＸ２レジスタ４２とが対応し、Ｙレジスタ３８とＹ２レジスタ４３とが対応し、Ｚレジスタ３９とＺ２レジスタ４４とが対応しているのである。また、表示画像データメモリ３４は、表示デバイス１１における各ピクセルに対応した記憶要素の配列を有している。
【００５３】
図５は、上記ＣＰＵ４５による制御の下に実行される表示処理動作のフローチャートである。以下、図４および図５に従って、表示処理動作について詳細に説明する。尚、特に処理手段が明示されていないステップは、ＣＰＵ４５自身に因って処理が行われるものとする。図３に示すデータ表示処理動作のステップＳ１においてページレジスタ２２が初期化されると、表示処理動作がスタートする。
【００５４】
ステップＳ１１で、上記各レジスタの内容が初期化される。具体的には、第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の内容が、総て「０」に初期化される。尚、初期値「０」が持つ意味については後述する。
【００５５】
次に、ステップＳ１２で、上記表示データメモリ２３から読み出された表示されるべきページのデータが、ページデータメモリ３１に格納される。ステップＳ１３で、本データ表示装置における現在の状態が格納されている各レジスタ３５〜３９のコピーが作成される。具体的には、第１傾きレジスタ３５の値が第３傾きレジスタ４０に格納され、第２傾きレジスタ３６の値が第４傾きレジスタ４１に格納され、Ｘレジスタ３７の値がＸ２レジスタ４２に格納され、Ｙレジスタ３８の値がＹ２レジスタ４３に格納され、Ｚレジスタ３９の値がＺ２レジスタ４４に格納される。尚、後に詳述するが、各レジスタ３５〜３９の格納値は、上記データ表示処理動作や本処理動作とは独立した処理によって常時更新されている。
【００５６】
次に、ステップＳ１４で、上記表示画像生成器３２によって、上記第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の格納値と、ページデータメモリ３１に格納されている表示ページのデータとから、表示画像データが生成されて表示画像データメモリ３４に格納される。尚、表示画像生成器３２の動作については後に詳述する。ステップＳ１５で、表示画像データメモリ３４に格納された表示画像データに基づいて表示デバイス１１に表示画像が表示される。
【００５７】
ステップＳ１６で、本データ表示装置の状態が変化したか否かが判別される。具体的には、上記第１傾きレジスタ３５の値と第３傾きレジスタ４０の値とが比較され、第２傾きレジスタ３６の値と第４傾きレジスタ４１の値とが比較され、Ｘレジスタ３７の値とＸ２レジスタ４２の値とが比較され、Ｙレジスタ３８の値とＹ２レジスタ４３の値とが比較され、Ｚレジスタ３９の値とＺ２レジスタ４４の値とが比較される。その結果、異なるものが一つでもあれば本データ表示装置の状態は変化したと判定される。そして、変化した場合には上記ステップＳ１３に戻って変化後の処理に移行する。一方、変化しない場合には本データ表示装置の状態変化の監視が続行される。
【００５８】
尚、上記本データ表示装置の状態変化の監視は、図５に示す表示処理動作のごとくＣＰＵ４５によってソフトウェア的に行う場合のみならず、ハードウェア割り込み等の技術を用いることによって、ＣＰＵ４５によるソフトウェア的な監視をなくした構成に関してもこの発明の範疇であることは言うまでもない。
【００５９】
ところで、上述したように、上記第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の格納値は、図３に示すデータ表示処理動作および図５に示す表示処理動作とは独立して、本データ表示装置に対するユーザの操作によって常時更新される。
【００６０】
図６は、上記Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９に格納される値の意味を示す。紙面５１は、後に詳述する方法によって３次元図形として表されている。これは、３次元図形に紙面５１を貼り付けたものと同じことを意味している。そして、本データ表示装置の表示デバイス１１には、紙面５１が窓５２に射影された際に窓５２に映る視野を表示するのである。その場合における上記射影は、図７に示すように、窓５２に対して垂直方向への平行射影とする。勿論、図８に示すように、一点（ユーザの視点）５３を中心とした射影とすることも、ユーザの目の位置を推定または近似することによって可能である。
【００６１】
何れにしろ、上記窓５２の中心点５４の座標を３次元座標で表すことは可能である。そこで、紙面５１上に設定された原点５５を（０，０，０）としたＸＹＺ空間を定めて、窓５２の中心点５４の座標を求める。その場合におけるＸ座標がＸレジスタ３７の格納値であり、Ｙ座標がＹレジスタ３８の格納値であり、Ｚ座標がＺレジスタ３９の格納値である。
【００６２】
ユーザは、上述したような窓５２の中心点５４のＸＹＺ座標を、下記のようにして変化させることができる。すなわち、左スクロールキー１７が押圧される毎に、Ｘレジスタ３７の値が「１」だけデクリメントされる。但し、Ｘレジスタ３７の値が、予め定められた最小値に達している場合にはその値を維持する。一方、右スクロールキー１８が押圧される毎に、Ｘレジスタ３７の値が「１」だけインクリメントされる。但し、Ｘレジスタ３７の値が、予め定められた最大値に達している場合にはその値を維持する。
【００６３】
また、上記上スクロールキー１５が押圧される毎に、上記Ｙレジスタ３８の値が「１」だけインクリメントされる。但し、Ｙレジスタ３８の値が、予め定められた最大値に達している場合にはその値を維持する。一方、下スクロールキー１６が押圧される毎に、Ｙレジスタ３８の値が「１」だけデクリメントされる。但し、Ｙレジスタ３８の値が、予め定められた最小値に達している場合にはその値を維持する。
【００６４】
また、上記ズームインキー１９が押圧される毎に、上記Ｚレジスタ３９の値が「１」だけデクリメントされる。但し、Ｚレジスタ３９の値が、予め定められた最小値に達している場合にはその値を維持する。一方、ズームアウトキー２０が押圧される毎に、Ｚレジスタ３９の値が「１」だけインクリメントされる。但し、Ｚレジスタ３９の値が、予め定められた最大値に達している場合にはその値を維持する。
【００６５】
このようにして、上記Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９に格納されている値が、ユーザによる本データ表示装置の操作によって常時更新されるのである。尚、上述した「予め定められた最小値」および「予め定められた最大値」は、座標系の取り方や本データ表示装置の構成に依存した定数であり、座標系の取り方によっては負の数になることもあり得る。さらには、Ｘレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９の夫々について、別の値となり得る。尚、紙面５１を裏側から見るような位置に窓５２を移動してもあまり意味がない。したがって、特にそのような使い方が有用と考えられるアプリケーションを除き、窓５２が紙面５１の裏側に位置しないようにＸレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の各値に制限を加えるのが妥当である。
【００６６】
次に、上記第１傾きレジスタ３５および第２傾きレジスタ３６の格納値について説明する。図９に示すように、平面である窓５２の傾きは、法線ベクトル５６の方向を定めることによって一意に決まる。この場合、法線ベクトル５６は、ベクトルの絶対値が異なっても同一視できるので、ベクトルの大きさを「１」に正規化する。そうすることによって、法線ベクトル５６はそのＸ，Ｙ成分のみによって表すことができる。これは、法線ベクトル５６のＺ成分は、次の式（１）によってＸ成分とＹ成分とから求めることができるためである。
Ｚ成分＝｛１−（Ｘ成分）２−（Ｙ成分）２｝１／２            …（１）
但し、（Ｘ成分）２＋（Ｙ成分）２＋（Ｚ成分）２＝１
そして、法線ベクトル５６のＸ成分の値を第１傾きレジスタ３５に格納し、Ｙ成分の値を第２傾きレジスタ３６に格納するのである。
【００６７】
尚、より直裁な方法として、上記法線ベクトル５６のＺ成分を格納するレジスタを設けても差し支えない。また、窓５２の傾きを表す方法も、法線ベクトル５６を用いる方法に限定するものではない。何れにしろ、窓５２の傾きを表す方法や窓５２の傾きを表す値を格納する方法のバリエーションが、本発明の範疇に入ることに変わりはない。
【００６８】
上述した窓５２は、実際のデータ表示装置においては表示デバイス１１に対応するものである。そこで、窓５２の位置や傾きは、実際のデータ表示装置に当て嵌めた場合には表示デバイス１１の位置や傾きと見なすことができる。尚、実際の表示デバイス１１は厚みを有している。しかしながら、本実施の形態においては、表示デバイス１１の表示面のみに着目し、表示デバイス１１を厚みを有しない平面上の領域として扱うものとする。以下の説明では、表示デバイス１１の表示面とこれまでの説明で用いた窓５２とは特に区別しないこととする。
【００６９】
さらに、上記表示デバイス１１の傾きは、データ表示装置全体に対する表示デバイス１１の配置が明確であれば、データ表示装置全体の傾きと同一視またはデータ表示装置全体の傾きから適宜変換できる。そこで、以下の説明では、表示デバイス１１の傾きとデータ表示装置全体の傾きとを同一視することにする。
【００７０】
図１０は、上記傾き検出器３３のブロック図である。傾き検出器３３は、データバス５９を介して互いに接続されているコントローラ５７とジャイロ５８で構成されている。尚、コントローラ５７は、データバス５９およびデータバス４６を介して、表示部２４のＣＰＵ４５とデータを送受可能になっている。
【００７１】
上記構成において、上記ジャイロ５８は、現時点における本データ表示装置の傾きを検出する。そして、コントローラ５７は、検出された傾きに基づいて法線ベクトル５６のＸ成分およびＹ成分を随時求め、Ｘ成分を第１傾きレジスタ３５に格納し、Ｙ成分を第２傾きレジスタ３６に格納するのである。尚、ジャイロ５８には、機械式，光学式，振動式等の幾つかの方式が広く存在しているが、本実施の形態においては特に限定するものではなく適切なものを用いるものとする。
【００７２】
次に、図５に示す表示処理動作のステップＳ１１において設定される各レジスタの初期値について説明する。先ず、Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の初期値「０」は、その時点における窓５２の中心点５４の座標が図６に示すＸＹＺ空間の原点５５に在ることを表している。また、第１傾きレジスタ３５および第２傾きレジスタ３６の初期値「０」は、図９に示すベクトル座標上において、その時点における本データ表示装置の法線ベクトル５６のＸ成分およびＹ成分が「０」であることを表している。ここで、上述したように法線ベクトル５６の絶対値が「１」に正規化されている。したがって、第１傾きレジスタ３５および第２傾きレジスタ３６の値が「０」に初期化された場合には、法線ベクトル５６の座標成分は（０，０，１）となり、窓５２がＸＹ平面と平行になっていることを意味する。したがって、Ｘレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９，第１傾きレジスタ３５および第２傾きレジスタ３６を「０」に初期化すると言うことは、図１１に示すように、現時点における窓５２の面がＸＹ平面となり、現時点における窓５２の中心点５４が原点５５となるようにＸＹＺ座標系を設定することを意味するのである。
【００７３】
次に、上記表示部２４を構成する表示画像生成器３２について説明する。上記表示画像生成器３２は、図７に示すように、３次元図形に変換された紙面５１を窓（表示デバイス１１の表示面）５２に平行射影した画像を生成する。図１２は、表示画像生成器３２のブロック図である。また、図１５は、表示画像生成器３２による表示画像生成処理動作のフローチャートである。
【００７４】
図１２に示すように、上記表示画像生成器３２は、専用のＣＰＵ６０，テクスチャテーブル６１，３次元座標データメモリ６２および２次元座標データメモリ６３で構成され、各構成要素６０〜６３はデータバス６４を介してデータのやり取りを行うようになっている。尚、ＣＰＵ６０は、データバス６４およびデータバス４６を介して、表示部２４のＣＰＵ４５とデータを送受可能になっている。
【００７５】
上記テクスチャテーブル６１は、上記ページデータメモリ３１に格納されている元の２次元で表現された表示ページのデータ（ページデータ）のＸ，Ｙ座標と３次元の立体画像に変換した後のＸ，Ｙ，Ｚ座標との関係を示すテーブルであり、紙面５１の３次元図形を得るためのテーブルである。図１３にテクスチャテーブル６１の構造を模式的に示す。図１３において、テクスチャテーブル６１の横方向の並びが元のページデータのＸ座標に対応する一方、縦方向の並びが元のページデータのＹ座標に対応している。各要素は、立体画像に変換した後のＸＹＺ座標であり、３つの組の数値からなっている。尚、各要素は、充分な精度を持つ数値データであるとする。勿論、このような表現方法は、紙面５１を３次元図形として表す唯一の方法ではない。例えば、本実施の形態においては座標系を定めているので、変換用の数式で３次元図形を表すことも可能である。ここで、紙面５１の３次元図形としての表現は、極端に膨らんだり窪んだりしている必要はなく、本を丸めて持った場合のような程度の曲面が適切である。
【００７６】
上記３次元座標データメモリ６２は、上記テクスチャテーブル６１に格納されている紙面５１の３次元座標値を、表示デバイス１１を含む平面に射影した際に得られる３次元座標値を書き込むためのテーブルである。したがって、３次元座標データメモリ６２も、テクスチャテーブル６１と全く同一の構造およびサイズを有している。
【００７７】
また、上記２次元座標データメモリ６３は、上記３次元座標データメモリ６２の各要素を、表示デバイス１１を含む平面上に座標系を取り直した２次元座標に変換した際に得られる２次元座標値を書き込むためのテーブルである。この２次元座標データメモリ６３の構造は、図１４に模式的に示すように、元のページデータのＸＹ座標（横並びと縦並び）と表示デバイス１１を含む平面上に座標系を取り直された２次元座標（要素値）との対応を与える配列になっている。
【００７８】
以下、図１５に従って、上記ＣＰＵ６０によって実行される表示画像生成処理動作について説明する。
【００７９】
先ず、ステップＳ２１で、上記テクスチャテーブル６１に格納されている紙面５１の３次元座標値が、Ｘレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９，第１傾きレジスタ３５および第２傾きレジスタ３６を参照して、表示デバイス１１を含む平面に射影した際の３次元座標値に変換される。そして、得られた３次元座標値が３次元座標データメモリ６２に格納される。
【００８０】
図１６は、上記ステップＳ２１による処理の説明図である。この処理は、テクスチャテーブル６１に格納されている紙面５１上の点６５の３次元座標から、点６５から窓５２の法線ベクトルと同じ方向へ引いた直線６６が窓５２を含む平面６７と交わる点６８の３次元座標を求める処理である。そして、このような処理は以下のような手順を踏むことによって可能である。すなわち、窓５２の中心点５４を基点として平面６７上に在るベクトル６９が、紙面５１上の点６５からの平面６７への法線ベクトル６６（または、その延長線）と直交するような点の座標を求めることによって、目的とする平面６７上の点６８の座標を求めることができる。そして、窓５２の中心点５４の座標は、Ｘレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９の格納値から得ることができる。また、法線ベクトル６６は、第１傾きレジスタ３５および第２傾きレジスタ３６の格納値と式（１）の演算結果から得ることができる。したがって、窓５２の中心点５４の座標からのベクトル６９を求めることによって、ベクトル６９と法線ベクトル６６（または、その延長線）との交点６８の座標を求めることが可能になるのである。
【００８１】
すなわち、上記ステップＳ２１による処理においては、上記テクスチャテーブル６１の１つの要素値（Ｘ，Ｙ，Ｚ）を読み出す。そして、この座標（Ｘ，Ｙ，Ｚ）を、上述のようにＸレジスタ３７，Ｙレジスタ３８，Ｚレジスタ３９，第１傾きレジスタ３５および第２傾きレジスタ３６を参照して平面６７上の点６８の座標（Ｘ’，Ｙ’，Ｚ’）に変換し、その変換座標（Ｘ’，Ｙ’，Ｚ’）を３次元座標データメモリ６２におけるテクスチャテーブル６１の当該要素値（Ｘ，Ｙ，Ｚ）の格納位置に対応する位置に格納する。この処理をテクスチャテーブル６１の全要素値について行うのである。
【００８２】
但し、上記紙面５１の形状と平面６７との位置関係によっては、法線ベクトル６６が紙面５１と複数回交わる場合が考えられる。図１７は、そのような場合を示しており、紙面５１が非常に複雑な形状を持っている状態の平面図である。図１７において、紙面５１上の点６５からの平面６７の法線ベクトル６６が、平面６７と交わる以前に紙面５１自身と交わっている。そして、その場合は、点６５は、本来平面６７上に在る窓５２からは見えないはずである。そこで、上記ステップＳ２１においては、このような場合には、３次元座標データメモリ６２の対応する位置にＸＹＺの各値の何れかまたは全てに要素値が無効であることを示す値を格納するようにしている。
【００８３】
こうして、上記ステップＳ２１での処理が終了した時点で、３次元座標データメモリ６２には、ページデータメモリ３１に格納されている元のページデータのＸＹ座標と表示デバイス１１を含む平面６７上の３次元座標との対応を表すテーブルが生成されるのである。
【００８４】
次に、ステップＳ２２で、上記３次元座標データメモリ６２に格納されている表示デバイス１１を含む平面６７上の３次元座標値を、窓５２を含む平面６７上に設定し直した２次元の座標系での２次元座標値に変換される。そして、得られた２次元座標値が２次元座標データメモリ６３に格納される。その場合、ステップＳ２１における処理で説明したように、３次元座標データメモリ６２に無効を示す値が格納されている要素については無視する。
【００８５】
図１８は、上記ステップＳ２２による処理の説明図である。この処理は、窓５２を含む平面６７上への座標変換が終了した後の平面６７上に、絶対値が１に正規化されて互いに直交する２つの基底ベクトル７０および基底ベクトル７１と、絶対値を１に正規化した窓５２を含む平面６７の法線ベクトル７２との、合わせて３つのベクトルを設定する。次いで、この３本のベクトル７０，７１，７２を列ベクトルとする３×３の行列Ｍを作成する。そうすると、行列Ｍの逆行列が、図１８におけるＸＹＺ座標系から３本のベクトル７０，７１，７２で表される新たな３次元座標系への変換行列となる。その場合、平面６７上の点に関しては平面６７と直交する成分は「０」である。したがって、法線ベクトル７２の方向の成分（平面６７と直交する方向の成分）を無視すると、上記行列Ｍの逆行列を用いて変換を行うことによって平面６７上の２次元座標を得ることができるのである。
【００８６】
ここで、図１９に示すように、上記新たな３次元座標系を表す３つの基底ベクトルのうち、平面６７に直交する基底ベクトル７５は平面６７の法線ベクトル７２と一致するため、既に説明したように、第１傾きレジスタ３５および第２傾きレジスタ３６から得ることができる。また、残りの２本の基底ベクトルについては、一つの基底ベクトル７４の方向を、元のＸＹＺ座標系の基底ベクトルＸの方向と一致させる。この場合、窓５２を含む平面６７上に在って基底ベクトル７４に直交する基底ベクトル７３は、方向が反対であるベクトルを同一視すれば一意に定めることができる。
【００８７】
尚、図１８における上記法線ベクトル７２に加えて、基底ベクトル７０および基底ベクトル７１をも、本データ表示装置の傾きから傾き検出器３３によって算出して保持するように傾き検出器３３を構成することも可能ではある。但し、表示デバイス１１に表示される内容は、本データ表示装置の回転に合わせて変化することになる。この場合には、第１傾きレジスタ３５，第２傾きレジスタ３６に保持されている法線ベクトル７２以外に、基底ベクトル７０または基底ベクトル７１の何れか一方の傾き情報を保持することが必要になる。何れにしろ、このようなバリエーションも、本願の範囲であることに変わりはない。
【００８８】
すなわち、上記ステップＳ２２による処理においては、上記３次元座標データメモリ６２の１つの要素値（Ｘ’，Ｙ’，Ｚ’）を読み出す。そして、この座標（Ｘ’，Ｙ’，Ｚ’）を、上記行列Ｍの逆行列を用いて元のＸＹＺ座標系の基底ベクトルＸの方向と同一方向の基底ベクトル７４とこの基底ベクトル７４に直交する基底ベクトル７３とで設定される２次元座標系の座標（Ｘ，Ｙ）に変換し、その変換座標（Ｘ，Ｙ）を２次元座標データメモリ６３における３次元座標データメモリ６２の当該要素値（Ｘ’，Ｙ’，Ｚ’）の格納位置に対応する位置に格納する。この処理を３次元座標データメモリ６２の全要素値について行うのである。
【００８９】
こうして、上記ステップＳ２２での処理が終了した時点で、２次元座標データメモリ６３には、ページデータメモリ３１に格納されている元のページデータのＸＹ座標と表示デバイス１１を含む平面６７上の２次元座標との対応を示すテーブルが生成されるのである。
【００９０】
次に、ステップＳ２３で、上記２次元データメモリ６３とページデータメモリ３１とが参照されて、上記ページデータメモリ３１の各画素のデータが、２次元データメモリ６３における当該画素と同じ位置に格納されている座標（Ｘ，Ｙ）で指定される表示画像データメモリ３４での位置（つまり、上述のようにして得られた窓５２上の２次元座標での位置）に格納される。このとき、表示画像データメモリ３４に画素データを格納すべき座標が表示デバイス１１には存在しない座標である場合には、当該画素データについては無視する。そうした後、表示画像生成処理動作を終了する。
【００９１】
図２０は、図１５に示す上記表示画像生成処理動作によって行われる座標変換による座標の変遷を示す。図２０（ａ）は、２次元紙面８１上に設定された２次元座標系を示す。また、図２０（ｂ）は、２次元紙面８１を３次元空間に置いた立体に貼り付けた３次元紙面５１上に設定された３次元座標系を示す。窓５２を含む平面６７上の各点の座標も３次元紙面５１上に設定された３次元座標系で表される。また、図２０（ｃ）は、窓５２上に設定し直された２次元座標系を示す。そして、２次元紙面８１上の２次元座標Ａと３次元紙面５１上の３次元座標Ｂとの対応が、テクスチャテーブル６１で与えられる。さらに、２次元紙面８１上の２次元座標Ａと窓５２上の３次元座標Ｃとの対応が、上記ステップＳ２１での処理によって作成された３次元座標データメモリ６２で与えられる。さらに、２次元紙面８１上の２次元座標Ａと窓５２上の２次元座標Ｄとの対応が、上記ステップＳ２２での処理によって作成された２次元座標データメモリ６３で与えられる。
【００９２】
そして、付言すれば、図２０（ａ）に示す上記２次元紙面８１上の各点の２次元座標Ａと図２０（ｃ）に示す窓５２上の各点の２次元座標Ｄとの対応付け情報（２次元座標データメモリ６３）に従って、実際に２次元紙面８１の各ピクセルデータを窓５２上に設定された２次元座標系にコピーするのが上記ステップＳ２３での処理なのである。
【００９３】
以上のごとく、本実施の形態によれば、ユーザが、データ表示装置を傾け、上スクロールキー１５，下スクロールキー１６，左スクロールキー１７，右スクロールキー１８，ズームインキー１９およびズームアウトキー２０を操作することによって、窓５２つまり表示デバイス１１を仮想的に３次元紙面５１の周囲で移動できるようにしている。
【００９４】
そして、上記表示デバイス１１つまり本データ表示装置の仮想的に移動に伴って第１傾きレジスタ３５，第２傾きレジスタ３６，Ｘレジスタ３７，Ｙレジスタ３８およびＺレジスタ３９の内容を更新し、更新された各レジスタ３５〜３９の内容に応じて、表示デバイス１１の表示内容を、表示デバイス１１の移動に伴う表示デバイス１１と紙面５１との相対位置関係を反映させて変更するようにしている。
【００９５】
したがって、本データ表示装置によれば、仮想的に、３次元空間に配置された立体に貼り付けられた紙面５１をその周囲を移動する窓５２を通して見ているような画像を、表示デバイス１１に出力することができる。すなわち、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができ、ユーザは表示デバイス１１に現在表示されていない部分を表示させる操作を直感的に行うことができるのである。
【００９６】
尚、本実施の形態においては、図１に示すような主にＰＤＡ型のデータ表示装置を例に上げて説明したが、この発明はＰＤＡ型に限定されるものではない。例えば、携帯電話端末やノートブック型パーソナルコンピュータ等に広く適用可能であり、データ表示装置の形態によって限定されるものではない。
【００９７】
また、上記紙面５１が全くの平面である場合も、本実施の形態を適用して、ユーザの操作またはデータ表示装置の動きに応じて窓５２の位置を変化させて、紙面５１の閲覧を容易にすることができることは言うまでも無い。
【００９８】
また、本実施の形態のごとく、紙面５１を３次元空間に配置した立体に貼り付けて提示することによって得られる他の利点として、現在紙面のどの当りを見ているのかを、ユーザがより把握し易くなることが挙げられる。これは、図２１に示すように、位置によって形状が全く異なるような３次元紙面８２上の３次元座標をテクスチャテーブル６１が与える場合に得られる効果である。この場合、窓８３を通して見える３次元紙面８２は平面に近いが、窓８４を通して見える３次元紙面８２は大きく凸に膨らんでいる。そのために、ユーザは、表示デバイス１１に現在表示されている３次元紙面８２の部分が、元の２次元的紙面のどの部分に対応するのかを、スクロールバー等の補助的手段に頼ることなく、表示内容のみからより直感的に把握することができる。したがって、表示デバイス１１の表示画面の面積が、表示すべき紙面に比べて小さい場合であっても、快適なデータの閲覧が可能になるのである。
【００９９】
・第２の実施の形態
本実施の形態におけるデータ表示装置も、上記第１の実施の形態の場合と同様に、仮想的に、３次元空間に配置された立体に貼り付けられた紙面をその周囲を移動する窓を通して見たような画像を、ユーザに提供するものである。また、上記窓の傾き検出は本データ表示装置の傾きをジャイロによって検出することで行う点、上記窓の平行移動および前後方向の移動をユーザのキー操作によって行う点においても、上記第１の実施の形態の場合と同様である。以下、上記第１の実施の形態とは異なる点について簡潔に説明する。
【０１００】
図２２は、本実施の形態におけるデータ表示装置を背面から見た外観を示す。尚、背面以外の外観は、図１に示す上記第１の実施の形態におけるデータ表示装置と同様である。また、本データ表示装置における機能的構成を示すブロック図は図２と同じであり、その基本動作も図３に示すフローチャートと同じである。
【０１０１】
本実施の形態におけるデータ表示装置の背面には、カメラ９１が設けられている。そして、本実施の形態における表示部２４の機能的構成は、図２３に示すように、図４に示す上記第１の実施の形態の場合と基本的には同じである。但し、本実施の形態においては、画像センサ９２が付加されている。この画像センサ９２は、カメラ９１によって撮影された画像に基づいて、図２４に示すように本データ表示装置の平行移動を検出するのである。尚、図２３において、画像センサ９２以外には図４と同じ番号を付けている。
【０１０２】
図２５は、上記画像センサ９２の機能的構成を示すブロック図である。図２５において、画像センサ９２は、コントローラ９３，フレームメモリ９４，動きベクトル検出器９５，ＤＸレジスタ９６，ＤＹレジスタ９７およびデータバス９８から構成される。各構成要素は、データバス９８を介してデータの送受を行うようになっている。尚、コントローラ９３は、データバス９８およびデータバス４６を介して、表示部２４のＣＰＵ４５とデータを送受可能になっている。
【０１０３】
図２６は、上記コントローラ９３による制御の下に実行される平行移動検出処理動作のフローチャートである。以下、図２６に従って、画像センサ９２の動作について説明する。尚、特に処理手段が明示されていないステップは、コントローラ９３自身に因って処理が行われるものとする。
【０１０４】
ステップＳ３１で、上記カメラ９１で撮影された画像が取り込まれて、フレームメモリ９４に送出される。こうして、カメラ９１で撮影された１フレーム分の画像データが、フレームメモリ９４に格納される。ステップＳ３２で、上記ステップＳ３１においてフレームメモリ９４に送出された画像は、撮影開始後における最初のフレームであるか否かが判別される。その結果、最初のフレームであれば更に次のフレームの画像を取り込むために上記ステップＳ３１に戻る。また、最初のフレームでなければステップＳ３３に進む。
【０１０５】
ステップＳ３３で、上記動きベクトル検出器９５によって、フレームメモリ９４に格納されている画像データが参照されて、連続したフレームの画像データから動きベクトルが算出される。ステップＳ３４で、上記ステップＳ３３において算出された動きベクトルのＸ成分がＤＸレジスタ９６に格納される一方、Ｙ成分がＤＹレジスタ９７に格納される。ここで、フレームの内容が急に切り換った等の理由で、上記ステップＳ３３において動きベクトル検出器９５が動きベクトルの算出に失敗した場合には、ＤＸレジスタ９６およびＤＹレジスタ９７には「０」が書き込まれる。また、本データ表示装置の移動の方向によっては、ＤＸレジスタ９６およびＤＹレジスタ９７に格納される値はマイナスも取り得る。
【０１０６】
ステップＳ３４で、上記Ｘレジスタ３７の格納値が、この格納値にＤＸレジスタ９６の格納値に所定値が乗じられた値を加算した値に更新される。同様に、Ｙレジスタ３８の格納値が、この格納値にＤＹレジスタ９７の格納値に上記所定値が乗じられた値を加算した値に更新される。こうして、上スクロールキー１５，下スクロールキー１６，左スクロールキー１７および右スクロールキー１８の操作によって設定されているＸレジスタ３７およびＹレジスタ３８の格納値が、カメラ９１の撮像結果に応じて更新されるのである。尚、ＤＸレジスタ９６およびＤＹレジスタ９７の値に上記所定値を乗ずるのは、画像センサ９２の動作が過敏あるいは鈍感になるのを防ぎ、適切な操作感を得るためである。
【０１０７】
そうした後に、上記ステップＳ３１に戻る。こうして、カメラ９１では常に撮影が行われており、動きベクトルの検出とＸレジスタ３７およびＹレジスタ３８の更新とが、図２６に示す平行移動検出処理動作とは独立して常時行われるのである。
【０１０８】
上記動きベクトル検出器９５に関しては、例えば特公平８‐３２０４８号公報に開示されているもの等の様々な公知の技術を適用することが可能であり、その詳細な動作は省略する。
【０１０９】
尚、あえて補足すれば、上記Ｘレジスタ３７およびＹレジスタ３８の格納値に応じて表示デバイス１１の表示画像が変更されることは、上記第１の実施の形態の場合と全く同様である。したがって、ユーザが、図２４に示すようにデータ表示装置全体を平行移動させることが、上スクロールキー１５，下スクロールキー１６，左スクロールキー１７および右スクロールキー１８の何れかまたは複数を操作するのと同じ効果を齎すのである。
【０１１０】
また、本実施の形態においては、上記ジャイロ５８を用いた傾き検出器３３と画像センサ９２とを併用して、本データ表示装置のより多様な動きを検出できるようにしている。しかしながら、画像センサ９２のみを用いた構成も勿論可能である。そして、このような構成は、近年、カメラを内蔵した携帯電話やＰＤＡが発売されており、特にその多くが動画の撮影を可能にしているので、装置の動きを検出する目的のためだけに付加すべきハードウエアが殆どまたは全く無く、実現が非常に容易になっている。
【０１１１】
また、本実施の形態においては、上記画像センサ９２は平行移動のみの検出に用いられているが、適切な画像処理によって連続したフレームから回転移動を検出して、データ表示装置自身の回転を検出することも可能である。このような回転が表示に対して有する意味合いは、上記第１実施の形態において図１５の表示画像生成処理動作におけるステップＳ２２での処理の説明で述べた通りである。
【０１１２】
ところで、上記機能的構成を有するデータ表示装置の具体的ハードウェア構成は、上述した各種の処理を実行するプログラムを含む各種プログラムを記憶するプログラムメモリ、各種情報を記憶するデータメモリ、インターネット等の通信ネットワークと接続する通信Ｉ／Ｆ、入力装置、出力装置、表示装置、外部記録媒体がセットされてこの外部記録媒体をアクセスする外部補助記憶装置、上記プログラムメモリ，データメモリ，通信Ｉ／Ｆ，入力装置，出力装置，表示装置および外部補助記憶装置等を制御して、上記データ表示処理動作や表示処理動作や表示画像生成処理動作等を実行する各ＣＰＵ２１，４５，６０等で成る。
【０１１３】
すなわち、上記各キー１３〜２０は上記入力装置を構成し、各メモリ２３，３１，６２，６３やレジスタ３５〜４４やテクスチャテーブル６１は上記データメモリや外部補助記憶装置を構成し、表示ディバイス１１は上記出力装置や表示装置を構成しているのである。また、各ＣＰＵ２１，４５，６０は、上述した本実施の形態に係る処理動作の他に、演算・判断処理，計時処理および入出力処理等の各種の処理動作をも行うようになっている。また、上記実施の形態においては、表示部２４および表示画像生成器３２は専用のＣＰＵ４５，６０によって制御される構成を有しているが、ＣＰＵ４５，６０による制御をメインＣＰＵ２１で兼用する構成であっても一向に構わない。
【０１１４】
さらに、上記実施の形態における上記ＣＰＵ２１，４５，６０による上記射影面移動手段，表示画像生成手段，３次元座標変換手段，２次元座標変換手段，表示画像データ変換手段および画像表示手段としての機能は、プログラム記録媒体に記録されたデータ表示プログラムによって実現される。上記各実施の形態における上記プログラム記録媒体は、ＲＯＭ（リード・オンリ・メモリ）でなるプログラムメディアである。または、上記外部補助記憶装置に装着されて読み出されるプログラムメディアであってもよい。尚、何れの場合においても、プログラムメディアからデータ表示プログラムを読み出すプログラム読み出し手段は、上記プログラムメディアに直接アクセスして読み出す構成を有していてもよいし、ＲＡＭ（ランダム・アクセス・メモリ）に設けられたプログラム記憶エリア（図示せず）にダウンロードし、上記プログラム記憶エリアにアクセスして読み出す構成を有していてもよい。尚、上記プログラムメディアから上記ＲＡＭのプログラム記憶エリアにダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。
【０１１５】
ここで、上記プログラムメディアとは、本体側と分離可能に構成され、磁気テープやカセットテープ等のテープ系、フロッピーディスク，ハードディスク等の磁気ディスクやＣＤ（コンパクトディスク）‐ＲＯＭ，ＭＯ（光磁気）ディスク，ＭＤ（ミニディスク），ＤＶＤ（ディジタル多用途ディスク）等の光ディスクのディスク系、ＩＣ（集積回路）カードや光カード等のカード系、マスクＲＯＭ，ＥＰＲＯＭ（紫外線消去型ＲＯＭ），ＥＥＰＲＯＭ（電気的消去型ＲＯＭ），フラッシュＲＯＭ等の半導体メモリ系を含めた、固定的にプログラムを坦持する媒体である。
【０１１６】
また、上記実施の形態におけるデータ表示装置は、インターネット等の通信ネットワークと通信Ｉ／Ｆを介して接続可能な構成を有している場合には、上記プログラムメディアは、通信ネットワークからのダウンロード等によって流動的にプログラムを坦持する媒体であっても差し支えない。尚、その場合における上記通信ネットワークからダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。あるいは、別の記録媒体からインストールされるものとする。
【０１１７】
尚、上記記録媒体に記録されるものはプログラムのみに限定されるものではなく、データも記録することが可能である。
【０１１８】
【発明の効果】
以上より明らかなように、この発明によれば、表示画像生成手段によって生成された表示画像データに基づいて、画像表示手段によって、仮想的な３次元空間内に配置された射影面に対するオブジェクトの射影の少なくとも一部の画像を表示画面に表示することができる。その際に、射影面移動手段によって射影面の位置が移動されると、上記表示画面には、仮想的な３次元空間における上記オブジェクトと射影面との相対位置に応じて変化した画像が表示される。したがって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似たより自然な操作感覚をユーザに与えることができる。
【０１１９】
すなわち、この発明によれば、ユーザは、上記表示画面に現在表示されていない部分を表示させる操作を直感的に行うことができるのである。
【０１２０】
また、上記射影面移動手段に、本データ表示装置の動きや傾きを検出する動き検出手段や方向き検出手段を備えて、この動き検出手段や傾き検出手段によって検出された結果に応じて上記射影面の位置を移動させるようにすれば、本データ表示装置に対するユーザの操作とその結果生ずる表示の変化との間に、実世界で起る対応に近い対応付けを与えることができる。したがって、ユーザは、さらに自然に且つ快適に３次元形状のデータの閲覧を行うことができる。
【０１２１】
また、上記動き検出手段に撮像手段を設けて、上記撮像手段からの画像データに基づいて本データ表示装置の動きを検出するようにすれば、カメラを内蔵して動画の撮影が可能な携帯電話やＰＤＡを、動き検出用の特別なハードウエアを付加することなく利用することができる。
【０１２２】
また、上記仮想的な３次元空間に配置されたオブジェクトを、元々２次元的な形状を有する文書が貼り付けられた曲面または平面を含むように構成すれば、文書の３次元画像を表示することができる。したがって、現在表示されている文書の部分が元の２次元文書における何れの位置に対応しているのかを、表示内容から直感的に把握することができる。その結果、上記表示画面が、上記文書の大きさに比べて小さい場合でも、より快適なデータの閲覧が可能になるのである。
【図面の簡単な説明】
【図１】この発明のデータ表示装置における外観を示す図である。
【図２】図１に示すデータ表示装置における機能的構成を示すブロック図である。
【図３】図２におけるメインＣＰＵによる制御の下に実行されるデータ表示処理動作のフローチャートである。
【図４】図２における表示部の機能的構成を示すブロック図である。
【図５】図４におけるＣＰＵの制御の下に実行される表示処理動作のフローチャートである。
【図６】図４におけるＸレジスタ，ＹレジスタおよびＺレジスタに格納される値の説明図である。
【図７】図６における窓に対する紙面の平行射影の説明図である。
【図８】図６における窓に対する紙面の一点を中心とした射影の説明図である。
【図９】図４における第１傾きレジスタおよび第２傾きレジスタに格納される値の説明図である。
【図１０】図４における傾き検出器のブロック図である。
【図１１】図４における各レジスタに対する「０」への初期化の説明図である。
【図１２】図４における表示画像生成器のブロック図である。
【図１３】図１２におけるテクスチャテーブルの構造を模式的に示す図である。
【図１４】図１２における２次元座標データメモリの構造を模式的に示す図である。
【図１５】図１２に示す表示画像生成器による表示画像生成処理動作のフローチャートである。
【図１６】図１５に示す表示画像生成処理動作における３次元座標への変換処理の説明図である。
【図１７】図１６において紙面上の点からの平面の法線ベクトルが平面と交わる以前に紙面自身と交わる場合の説明図である。
【図１８】上記表示画像生成処理動作における２次元座標への変換処理の説明図である。
【図１９】図１１に示す３次元座標系とは異なる新たな３次元座標系を表す３つの基底ベクトルの説明図である。
【図２０】図１５に示す表示画像生成処理動作で行われる座標変換による座標の変遷を示す図である。
【図２１】紙面を３次元空間に配置した立体に貼り付けて提示することによる利点の説明図である。
【図２２】図１に示すデータ表示装置とは異なるデータ表示装置を背面から見た外観図である。
【図２３】図２２に示すデータ表示装置における表示部の機能的構成を示すブロック図である。
【図２４】図２２に示すデータ表示装置による平行移動検出の説明図である。
【図２５】図２３における画像センサの機能的構成を示すブロック図である。
【図２６】図２３における画像センサによる平行移動検出処理動作のフローチャートである。
【図２７】ユーザの操作とその結果表ずる表示の変化との間に実世界で起こる対応に近い対応付けを与えるための基本的な概念の説明図である。
【図２８】図２７における窓から見える図形の一例を示す図である。
【図２９】図２７における窓から見える図形の他の例を示す図である。
【符号の説明】
１１…表示デバイス、
１５…上スクロールキー、
１６…下スクロールキー、
１７…左スクロールキー、
１８…右スクロールキー、
１９…ズームインキー、
２０…ズームアウトキー、
２１…メインＣＰＵ、
２３…表示データメモリ、
２４…表示部、
３１…ページデータメモリ、
３２…表示画像生成器、
３３…傾き検出器、
３４…表示画像データメモリ、
３５…第１傾きレジスタ、
３６…第２傾きレジスタ、
３７…Ｘレジスタ、
３８…Ｙレジスタ、
３９…Ｚレジスタ、
４５，６０…ＣＰＵ、
５１，８２…３次元紙面、
５２，８３，８４…窓、
５４…窓の中心点、
５５…３次元座標系の原点、
５６…法線ベクトル、
５７，９３…コントローラ、
５８…ジャイロ、
６１…テクスチャテーブル、
６２…３次元座標データメモリ、
６３…２次元座標データメモリ、
６７…窓を含む平面、
８１…２次元紙面、
９１…カメラ、
９２…画像センサ、
９４…フレームメモリ、
９５…動きベクトル検出器、
９６…ＤＸレジスタ、
９７…ＤＹレジスタ。
【図１】
2004309947.tif 000003
【図２】
2004309947.tif 000004
【図３】
2004309947.tif 000005
【図４】
2004309947.tif 000006
【図５】
2004309947.tif 000007
【図６】
2004309947.tif 000008
【図７】
2004309947.tif 000009
【図８】
2004309947.tif 000010
【図９】
2004309947.tif 000011
【図１０】
2004309947.tif 000012
【図１１】
2004309947.tif 000013
【図１２】
2004309947.tif 000014
【図１３】
2004309947.tif 000015
【図１４】
2004309947.tif 000016
【図１５】
2004309947.tif 000017
【図１６】
2004309947.tif 000018
【図１７】
2004309947.tif 000019
【図１８】
2004309947.tif 000020
【図１９】
2004309947.tif 000021
【図２０】
2004309947.tif 000022
【図２１】
2004309947.tif 000023
【図２２】
2004309947.tif 000024
【図２３】
2004309947.tif 000025
【図２４】
2004309947.tif 000026
【図２５】
2004309947.tif 000027
【図２６】
2004309947.tif 000028
【図２７】
2004309947.tif 000029
【図２８】
2004309947.tif 000030
【図２９】
2004309947.tif 000031