JP2004309947A - Data display device, data display program, and program recording medium - Google Patents

Data display device, data display program, and program recording medium Download PDF

Info

Publication number
JP2004309947A
JP2004309947A JP2003106125A JP2003106125A JP2004309947A JP 2004309947 A JP2004309947 A JP 2004309947A JP 2003106125 A JP2003106125 A JP 2003106125A JP 2003106125 A JP2003106125 A JP 2003106125A JP 2004309947 A JP2004309947 A JP 2004309947A
Authority
JP
Japan
Prior art keywords
display device
data
data display
register
image
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.)
Pending
Application number
JP2003106125A
Other languages
Japanese (ja)
Other versions
JP2004309947A5 (en
Inventor
Hisafumi Saika
尚史 齋鹿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2003106125A priority Critical patent/JP2004309947A/en
Publication of JP2004309947A publication Critical patent/JP2004309947A/en
Publication of JP2004309947A5 publication Critical patent/JP2004309947A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a display device that gives a user a sense of operation similar to looking at a solid through a freely moving window. <P>SOLUTION: When the user operates each of keys 15-20, the display device 11 is moved around the periphery of space that is virtually pasted on the solid in a three-dimensional space. Then, contents of each register 35-39 are updated in association with the virtual movement of the display device 11. Depending on the updated contents, the display contents of the display device 11 are changed by reflecting the positional relationship between the display device 11 and the three dimensional space associated with the virtual movement. Consequently, images such as virtually looking at the three dimensional space through the window moving around the periphery are output to the display device 11. Accordingly, the sense of operation similar to looking at a real solid through the freely moving window can be given to the user, thereby enabling the user to intuitively perform the display operation of the portion that is not displayed currently by the display device 11. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、データ表示装置,データ表示プログラムおよびプログラム記録媒体に関する。
【0002】
【従来の技術】
近年の携帯情報端末(PDA)やこのPDAと変わらないサイズの小型軽量パーソナルコンピュータや携帯電話(以下、この3種を含む小型の情報機器を「携帯情報機器」と称する)等の著しい発達によって、情報を持ち運ぶことが容易になっている。そして、この携帯情報機器の発達に情報通信手段の発達が組み合わさって「ユービキタスコンピューティング」の実現に近づきつつあると言える。
【0003】
ところで、上記携帯情報機器が共通して有する弱点として、表示画面の面積が限られていることがある。このことは、本来レイアウト情報を有しないテキストファイルの閲覧であれば、適切なところで折り返しを行えば、通常は問題にならない。ところが、レイアウトが重要な情報の場合には、低い解像度で全体像を表示するか部分毎に詳細データを表示するかの何れかの対応が行われている。
【0004】
そして、上記携帯情報機器の小さな画面で全体像を表示する場合には、全体像は掌握し易くなるが個々の情報を読み取るのは困難である。これに対して、個々の部分を詳細に表示する場合には、逆に、詳細部分の情報を読み取るのには問題ないが、現在ユーザが読んでいる部分が全体における何れの部分に当るのかが分からない。したがって、何れの場合もユーザにストレスが掛ることになる。
【0005】
そこで、画像を3次元的に表示することによって、上述したような問題を少しでも解決しようとする試みが行われている。例えば、レイアウト構造の階層関係や論理構造の階層関係等の文書構造の関係から文書要素を3次元的に表示することによって、ユーザに文書構造関係を直感的に呈示する文書編集装置が提案されている(特許文献1(特開平3‐268059号公報)参照)。
【0006】
また、画像処理部によって、主メモリ中の斜形ウィンドウ管理用構造体に格納されている原画像データへのポインタに基づくウィンドウの原画像データを取り込んで斜形化を実行し、生成された斜形画像データを上記主メモリに格納する。さらに、上記斜形画像データ中における実際にディスプレイ表示するデータを指定する斜形画像マスクデータを生成して、上記主メモリに格納する。そして、上記主メモリから表示メモリに上記斜形画像データと斜形画像マスクデータとを転送し、上記斜形画像データ中における上記斜形画像マスクデータによって指定された画像データをディスプレイに傾斜したウインドウで表示する画像表示方法が提案されている(特許文献2(特開平6‐186948号公報)参照)。
【0007】
また、モデル生成部によって、複数ページの文書データに基づいて、蛇腹状に折り曲げられた複数面からなる3次元モデルを生成する。その際に、ページ展開制御部によって、3次元モデルの折り曲げ角度を調整して上記各ページの展開状態を変化させる。さらに、視点座標変換部よって、3次元モデルの視点位置を変換する。そして、テクスチャマッピング処理部によって上記3次元モデルの各面に各ページの文書データをマッピングし、画像処理部によってレンダリング処理された画像を、表示制御部による制御の下に表示装置に表示する。こうして、任意の複数ページの文書データを蛇腹状に展開し、視点位置を任意に変更して、ページの表裏に拘わらず1度に複数ページの文書データを確認することが可能な電子ブック装置が提案されている(特許文献3(特開平2000‐137563号公報)参照)。
【0008】
【特許文献1】
特開平3‐268059号公報
【特許文献2】
特開平6‐186948号公報
【特許文献3】
特開平2000‐137563号公報
【0009】
【発明が解決しようとする課題】
ここで、上述のような小型の携帯情報機器に因らずに情報を閲覧する場合は、如何様にして閲覧を行っているかを考えてみる。例えば、混雑した電車の中においては新聞を自由に開くことができない。そのために、新聞を小さく折りたたんだり、開き方を狭くするなどの工夫を行うのが普通である。そして、このようなことが一般的に行われていると言うことは、上述のように新聞を折りたたんだり開き方を狭くすることは、読者に大きなストレスを与えていないことを表している。
【0010】
このように折りたたんだり開き方を狭くすることによって得られるユーザの視野と、上記携帯情報機器の小さな画面で大きな紙面を表示する際に行われる表示方法による表示画像と、の違いは「自然さ」にあると考えられる。すなわち、新聞を小さく開くまたは小さく折りたたんでいる場合にユーザの目に入るものは、読みたい部分が中心となった折りたたまれた状態をも含む3次元の図形である。これに対して、携帯情報機器に表示されている映像は、言わば自然には存在しないような読みたい部分のみが切り取られた画像である。したがって、上記携帯情報機器に現在表示されていない部分を表示させる操作を、直感的に行うことができないのである。尚、このように、現在表示されていない部分を何らかの方法によって表示させる操作は、上記携帯情報機器の表示画面が小さい場合には必ず頻繁に必要になる。
【0011】
そして、上述のように、現在表示されていない部分を表示させる操作を直感的に行い得るためには、ユーザの操作とその結果生ずる表示の変化との間に、実世界で起こる対応に近い対応付けを与えることが有効であると考えられる。
【0012】
図27は、上述したような実世界で起こる対応に近い対応付けを与えるための基本的な概念を示す図である。図27においては、紙面1は球面を成しており、紙面1の表面にある長方形2および長方形3の図形を、窓4を通して見ている状態を示している。勿論、実際には、紙面1が球面を成すことはあまり考えられないが、種々の曲面を模式的に説明する目的でこのような状態を考える。
【0013】
上記窓4を通して見える図形は、その図形と窓4との位置関係に応じて種々異なる。例えば、図27(a)の場合には、長方形2は、窓4と略平行の位置関係にある。そのために、図28(a)に示すように、窓4からは長方形に近い図形が見える。これに対して、図27(b)の場合には、窓5は、長方形2に対して傾斜している。そのために、図28(b)に示すように、窓5からは、長方形2と窓5との角度と長方形2が球面を成す紙面1上にあることとを反映して、歪んだ長方形2が見えている。また、図27(b)において、窓6および窓7のごとく窓を前後に平行移動した場合には、図29(a),(b)に示すように、窓7を通して見える長方形3は、窓6を通して見える長方形3よりも小さい。これは、2つの窓6,7と長方形3との距離の差が反映されたためである。
【0014】
ところで、上記特許文献1に開示された文書編集装置においては、文書要素は3次元的に表示されるものの、文書そのものが視覚的に3次元に表示されてはいない。また、上記特許文献2に開示された画像表示方法においては、ウインドウを傾斜させて配置して画像を斜めに表示しているので文書そのものを3次元的に表示していると言える。ところが、上述した実世界で起こる対応に近い対応付けを与えるための概念において説明したごとく、ユーザとの相対位置を仮想的に変化させることによって表示画像を変化させることはできない。
【0015】
また、上記特許文献3に開示された電子ブック装置においては、マッピングされる3次元データの形状が蛇腹状への折り曲げ形状に限られている。さらに、上記表示装置の姿勢や位置の変化を利用してユーザの視点を変化させるような発想はない。
【0016】
要するに、上記画像を3次元的に表示する従来の画像表示装置においては、表示装置の姿勢や位置の変化をも利用して、例えば3次元的に表現された紙面をユーザが自然に閲覧するようなことは、全くできないのである。
【0017】
そこで、この発明の目的は、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができるデータ表示装置,データ表示プログラムおよびプログラム記録媒体を提供することにある。
【0018】
また、上記立体を見るための窓の移動操作を自身の姿勢や位置の変化をも用いて行うことによって更に自然な操作感覚を与えることができるデータ表示装置,データ表示プログラムおよびプログラム記録媒体を提供することにある。
【0019】
【課題を解決するための手段】
上記目的を達成するため、この発明のデータ表示装置は、仮想的な3次元空間内に配置されると共に,表示の対象となるオブジェクトの表示データが格納される表示データメモリと、上記仮想的な3次元空間内に在って上記オブジェクトが射影される射影面の位置を移動させる射影面移動手段と、上記表示データに基づいて,上記仮想的な3次元空間における上記オブジェクトと射影面との相対位置に応じて,上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データを生成する表示画像生成手段と、上記生成された表示画像データに基づいて,上記射影面に対する上記オブジェクトの射影の少なくとも一部の画像を表示画面に表示する画像表示手段を備えている。
【0020】
上記構成によれば、上記表示画面には、仮想的な3次元空間内に在る射影面に対するオブジェクトの射影の少なくとも一部の画像が、表示画面に表示される。その際に、上記射影面移動手段によって射影面の位置が移動されると、上記表示画面には、上記3次元空間における上記オブジェクトと射影面との相対位置に応じて変化した画像が表示される。したがって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができ、ユーザは、上記表示画面に現在表示されていない部分を表示させる操作を直感的に行うことが可能になる。
【0021】
また、1実施例のデータ表示装置では、上記射影面移動手段に本データ表示装置の動きを検出する動き検出手段を備えて、この動き検出手段によって検出された本データ表示装置の動きに応じて上記射影面の位置を移動させるようにしている。
【0022】
この実施例によれば、本データ表示装置の動きと上記射影面の移動とが対応付けられているため、本データ表示装置に対するユーザの操作とその結果生ずる表示の変化との間には、実世界で起る対応に近い対応付けが与えられる。したがって、上記オブジェクトを、その周囲を移動する窓を通して見ているような画像が上記表示画面に表示される。
【0023】
また、1実施例のデータ表示装置では、上記動き検出手段に、本データ表示装置の周囲を撮影して得られた画像データを出力する撮像手段と、上記撮像手段からの画像データに基づいて本データ表示装置の動きを検出する画像センシング手段を備えている。
【0024】
この実施例によれば、撮像手段によって撮影された周囲の画像に基づいて本データ表示装置の動きが検出される。したがって、カメラを内蔵して動画の撮影が可能な携帯電話やPDAを、動き検出用の特別なハードウエアを付加することなく利用することが、可能になる。
【0025】
また、1実施例のデータ表示装置では、上記画像センシング手段は、本データ表示装置の動きベクトルを検出する動きベクトル検出手段を備えて、この動きベクトル検出手段によって検出された動きベクトルに基づいて本データ表示装置の平行移動を検出するようになっている。
【0026】
この実施例によれば、上記撮像手段によって撮影された周囲の画像に基づいて容易に本データ表示装置の動きが検出される。
【0027】
また、1実施例のデータ表示装置では、上記撮像手段は、上記表示画面の裏面に配置されたカメラである。
【0028】
この実施例によれば、上記記撮像手段を有する動き検出手段の構成が容易になる。
【0029】
また、1実施例のデータ表示装置では、上記射影面移動手段は、本データ表示装置の傾きを検出する傾き検出手段を備えて、この傾き検出手段によって検出された傾きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
【0030】
この実施例によれば、本データ表示装置の傾きと上記射影面の移動とが対応付けられているため、本データ表示装置に対するユーザの傾け操作とその結果生ずる表示の変化との間には、実世界で起る対応に近い対応付けが与えられる。したがって、上記オブジェクトを、その周囲を移動する窓を通して見ているような画像が上記表示画面に表示される。
【0031】
また、1実施例のデータ表示装置では、上記傾き検出手段は、ジャイロを用いて構成されている。
【0032】
この実施例によれば、上記傾き検出手段は、上記ジャイロを用いることによって、正確に本データ表示装置の傾きを検出することが可能になる。
【0033】
また、1実施例のデータ表示装置では、上記表示画像生成手段は、上記仮想的な3次元空間を表す3次元座標系において,上記オブジェクト上の各点の座標を,上記各点が上記射影面に射影されて成る各点の座標に変換する3次元座標変換手段と、上記射影面上に2次元座標系を設定し,上記射影面に射影された各点の3次元座標を上記2次元座標系での座標に変換する2次元座標変換手段と、上記射影面に射影された各点の2次元座標に基づいて,上記表示データメモリに格納された上記オブジェクトの表示データを,上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データに変換する表示画像データ変換手段を備えている。
【0034】
この実施例によれば、上記射影面に対する上記オブジェクトの射影の上記仮想的な3次元座標系での座標を得、この3次元座標に基づいて、上記射影面に対する射影の上記射影面上に設定された2次元座標系での座標を得ることによって、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データが正確に得られる。
【0035】
また、1実施例のデータ表示装置では、上記仮想的な3次元空間に配置されたオブジェクトは曲面または平面を有しており、この曲面または平面に沿って文書が貼り付けられている。
【0036】
この実施例によれば、2次元の文書を3次元的に表現した画像を、自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。したがって、表示画面よりも大きな文書を折りたたんだり丸めたりした状態の画像を表示することが可能になる。
【0037】
また、この発明のデータ表示プログラムは、コンピュータを、この発明のデータ表示装置における上記射影面移動手段,3次元座標変換手段,2次元座標変換手段,表示画像データ変換手段および画像表示手段として機能させる。
【0038】
上記構成によれば、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。
【0039】
また、この発明のプログラム記録媒体は、この発明のデータ表示プログラムが記録されている。
【0040】
上記構成によれば、コンピュータで読み出して実行することによって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができる。
【0041】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。
【0042】
・第1実施の形態
図1は、本実施の形態のデータ表示装置における外観を示す。このデータ表示装置は、仮想的に、3次元空間に配置された立体に貼り付けられた紙面をその周囲を移動する窓を通して見ているような画像を、ユーザに提供するものである。以下に説明するように、上記窓の傾き検出は本データ表示装置の傾きをジャイロによって検出することで行い、上記窓の平行移動はユーザのキー操作によって行い、上記窓の前後方向の移動も同様にユーザのキー操作によって行うようになっている。
【0043】
図1に示すように、本データ表示装置には、表示デバイス11,電源スイッチ12,ページ送りキー13,ページ戻りキー14,上スクロールキー15,下スクロールキー16,左スクロールキー17,右スクロールキー18,ズームインキー19およびズームアウトキー20が設けられている。夫々の役割については後述する。
【0044】
図2は、図1に示すデータ表示装置における機能的構成を示すブロック図である。本データ表示装置は、メインCPU(中央演算処理装置)21,ページレジスタ22,表示データメモリ23,表示部24,ページ送りキー13,ページ戻りキー14,電源スイッチ12およびデータバス25から構成されている。尚、電源スイッチ12以外の各構成要素は、データバス25を介してデータの送受を行うようになっている。
【0045】
図3は、上記メインCPU21による制御の下に実行されるデータ表示処理動作のフローチャートである。以下、図2および図3に従って、データ表示処理動作について詳細に説明する。尚、特に処理手段が明示されていないステップは、メインCPU21自身に因って処理が行われるものとする。また、実際の製品においては、電源スイッチ12がオフされた場合には何れのステップにあっても常にデータ表示処理動作を終了するように考慮すべきではあるが、本願にとっては本質的なことではなく、説明が煩雑になるので、上述のことにはついては言及しない。他のフローチャートについても同様である。
【0046】
上記表示データメモリ23には、意味上のまとまりがある表示データが順番付けられて格納されているとする。本実施の形態においては、表示データは、ページ毎の24ビットカラー画像データであるとする。尚、表示データメモリ23に格納されるデータが画像以外の形式(例えば、テキストデータ)であっても、ページ毎の表示の段階では画像データに変換されると考えられるので、このような仮定によって一般性を失なうものではない。また、ページ形式ではない表示データである場合もある。しかしながら、このような表示データも大きな一枚のページと見なすことができるため、ページ毎の画像として表示データを取り扱うことは本実施の形態の範疇から除外される訳では勿論ない。
【0047】
上記電源スイッチ12がオンされると、上記データ表示処理動作がスタートする。そして、ステップS1で、上記ページレジスタ22の内容が「0」に初期化される。ここで、ページレジスタ22には、現在表示されているページの番号が格納される。したがって、ページレジスタ22の内容が「0」であるということは、先頭ページが表示されることを表している。尚、以下の説明においては、ページの番号は「0」から始まることとする。
【0048】
次に、ステップS2で、上記表示部24によって、ページレジスタ22の格納値で示されるページのデータが表示される。尚、表示部24によるデータ表示処理動作については後に詳述する。ステップS3で、ページ送りキー13が押圧されているか否かが判別される。その結果、押圧されている場合にはステップS4に進み、そうでない場合にはステップS6に進む。ステップS4で、ページレジスタ22の格納値が最終ページの番号に一致するか否かが判別される。その結果、一致する場合にはこれ以上ページを送ることはできないので上記ステップS3に戻り、一致しない場合にはステップS5に進む。ステップS5で、ページレジスタ22の格納値がインクリメントされる。そうした後に、上記ステップS2に戻って次ページのデータ表示に移行する。
【0049】
ステップS6で、上記ページ戻りキー14が押圧されているか否かが判別される。その結果、押圧されていればステップS7に進み、そうでなければ上記ステップS3に戻ってページ送りキー13の押圧判別に移行する。ステップS7で、ページレジスタ22の格納値が「0(先頭ページの番号)」に一致するか否かが判別される。その結果、一致する場合にはページを戻すことができないので上記ステップS3に戻り、一致しない場合にはステップS8に進む。ステップS8で、ページレジスタ22の格納値がデクリメントされる。そうした後に、上記ステップS2に戻って前ページのデータ表示に移行する。
【0050】
次に、図3に示す上記データ表示処理動作のステップS2において、表示部24によって実行される表示処理動作について説明する。図4は、表示部24における機能的構成を示すブロック図である。尚、図4には、上スクロールキー15,下スクロールキー16,左スクロールキー17,右スクロールキー18,ズームインキー19,ズームアウトキー20およびデータバス25も合わせて表示している。
【0051】
図4において、上記表示部24は、ページデータメモリ31,表示画像生成器32,傾き検出器33,表示画像データメモリ34,表示デバイス11,第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38,Zレジスタ39,第3傾きレジスタ40,第4傾きレジスタ41,X2レジスタ42,Y2レジスタ43,Z2レジスタ44,専用のCPU45およびデータバス46から構成される。上記各構成要素は、データバス46を介してデータの送受を行う。また、CPU45は、データバス46およびデータバス25を介して各キー15〜20からのデータを受信可能になっており、さらにメインCPU21とデータを送受可能になっている。
【0052】
上記第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38およびZレジスタ39には、後に詳述するように、本データ表示装置における現在の状態を表す値が格納される。これに対して、第3傾きレジスタ40,第4傾きレジスタ41,X2レジスタ42,Y2レジスタ43およびZ2レジスタ44には、本データ表示装置における過去のある時点の状態を表す値が格納される。つまり、第1傾きレジスタ35と第3傾きレジスタ40とが対応し、第2傾きレジスタ36と第4傾きレジスタ41とが対応し、Xレジスタ37とX2レジスタ42とが対応し、Yレジスタ38とY2レジスタ43とが対応し、Zレジスタ39とZ2レジスタ44とが対応しているのである。また、表示画像データメモリ34は、表示デバイス11における各ピクセルに対応した記憶要素の配列を有している。
【0053】
図5は、上記CPU45による制御の下に実行される表示処理動作のフローチャートである。以下、図4および図5に従って、表示処理動作について詳細に説明する。尚、特に処理手段が明示されていないステップは、CPU45自身に因って処理が行われるものとする。図3に示すデータ表示処理動作のステップS1においてページレジスタ22が初期化されると、表示処理動作がスタートする。
【0054】
ステップS11で、上記各レジスタの内容が初期化される。具体的には、第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38およびZレジスタ39の内容が、総て「0」に初期化される。尚、初期値「0」が持つ意味については後述する。
【0055】
次に、ステップS12で、上記表示データメモリ23から読み出された表示されるべきページのデータが、ページデータメモリ31に格納される。ステップS13で、本データ表示装置における現在の状態が格納されている各レジスタ35〜39のコピーが作成される。具体的には、第1傾きレジスタ35の値が第3傾きレジスタ40に格納され、第2傾きレジスタ36の値が第4傾きレジスタ41に格納され、Xレジスタ37の値がX2レジスタ42に格納され、Yレジスタ38の値がY2レジスタ43に格納され、Zレジスタ39の値がZ2レジスタ44に格納される。尚、後に詳述するが、各レジスタ35〜39の格納値は、上記データ表示処理動作や本処理動作とは独立した処理によって常時更新されている。
【0056】
次に、ステップS14で、上記表示画像生成器32によって、上記第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38およびZレジスタ39の格納値と、ページデータメモリ31に格納されている表示ページのデータとから、表示画像データが生成されて表示画像データメモリ34に格納される。尚、表示画像生成器32の動作については後に詳述する。ステップS15で、表示画像データメモリ34に格納された表示画像データに基づいて表示デバイス11に表示画像が表示される。
【0057】
ステップS16で、本データ表示装置の状態が変化したか否かが判別される。具体的には、上記第1傾きレジスタ35の値と第3傾きレジスタ40の値とが比較され、第2傾きレジスタ36の値と第4傾きレジスタ41の値とが比較され、Xレジスタ37の値とX2レジスタ42の値とが比較され、Yレジスタ38の値とY2レジスタ43の値とが比較され、Zレジスタ39の値とZ2レジスタ44の値とが比較される。その結果、異なるものが一つでもあれば本データ表示装置の状態は変化したと判定される。そして、変化した場合には上記ステップS13に戻って変化後の処理に移行する。一方、変化しない場合には本データ表示装置の状態変化の監視が続行される。
【0058】
尚、上記本データ表示装置の状態変化の監視は、図5に示す表示処理動作のごとくCPU45によってソフトウェア的に行う場合のみならず、ハードウェア割り込み等の技術を用いることによって、CPU45によるソフトウェア的な監視をなくした構成に関してもこの発明の範疇であることは言うまでもない。
【0059】
ところで、上述したように、上記第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38およびZレジスタ39の格納値は、図3に示すデータ表示処理動作および図5に示す表示処理動作とは独立して、本データ表示装置に対するユーザの操作によって常時更新される。
【0060】
図6は、上記Xレジスタ37,Yレジスタ38およびZレジスタ39に格納される値の意味を示す。紙面51は、後に詳述する方法によって3次元図形として表されている。これは、3次元図形に紙面51を貼り付けたものと同じことを意味している。そして、本データ表示装置の表示デバイス11には、紙面51が窓52に射影された際に窓52に映る視野を表示するのである。その場合における上記射影は、図7に示すように、窓52に対して垂直方向への平行射影とする。勿論、図8に示すように、一点(ユーザの視点)53を中心とした射影とすることも、ユーザの目の位置を推定または近似することによって可能である。
【0061】
何れにしろ、上記窓52の中心点54の座標を3次元座標で表すことは可能である。そこで、紙面51上に設定された原点55を(0,0,0)としたXYZ空間を定めて、窓52の中心点54の座標を求める。その場合におけるX座標がXレジスタ37の格納値であり、Y座標がYレジスタ38の格納値であり、Z座標がZレジスタ39の格納値である。
【0062】
ユーザは、上述したような窓52の中心点54のXYZ座標を、下記のようにして変化させることができる。すなわち、左スクロールキー17が押圧される毎に、Xレジスタ37の値が「1」だけデクリメントされる。但し、Xレジスタ37の値が、予め定められた最小値に達している場合にはその値を維持する。一方、右スクロールキー18が押圧される毎に、Xレジスタ37の値が「1」だけインクリメントされる。但し、Xレジスタ37の値が、予め定められた最大値に達している場合にはその値を維持する。
【0063】
また、上記上スクロールキー15が押圧される毎に、上記Yレジスタ38の値が「1」だけインクリメントされる。但し、Yレジスタ38の値が、予め定められた最大値に達している場合にはその値を維持する。一方、下スクロールキー16が押圧される毎に、Yレジスタ38の値が「1」だけデクリメントされる。但し、Yレジスタ38の値が、予め定められた最小値に達している場合にはその値を維持する。
【0064】
また、上記ズームインキー19が押圧される毎に、上記Zレジスタ39の値が「1」だけデクリメントされる。但し、Zレジスタ39の値が、予め定められた最小値に達している場合にはその値を維持する。一方、ズームアウトキー20が押圧される毎に、Zレジスタ39の値が「1」だけインクリメントされる。但し、Zレジスタ39の値が、予め定められた最大値に達している場合にはその値を維持する。
【0065】
このようにして、上記Xレジスタ37,Yレジスタ38およびZレジスタ39に格納されている値が、ユーザによる本データ表示装置の操作によって常時更新されるのである。尚、上述した「予め定められた最小値」および「予め定められた最大値」は、座標系の取り方や本データ表示装置の構成に依存した定数であり、座標系の取り方によっては負の数になることもあり得る。さらには、Xレジスタ37,Yレジスタ38,Zレジスタ39の夫々について、別の値となり得る。尚、紙面51を裏側から見るような位置に窓52を移動してもあまり意味がない。したがって、特にそのような使い方が有用と考えられるアプリケーションを除き、窓52が紙面51の裏側に位置しないようにXレジスタ37,Yレジスタ38およびZレジスタ39の各値に制限を加えるのが妥当である。
【0066】
次に、上記第1傾きレジスタ35および第2傾きレジスタ36の格納値について説明する。図9に示すように、平面である窓52の傾きは、法線ベクトル56の方向を定めることによって一意に決まる。この場合、法線ベクトル56は、ベクトルの絶対値が異なっても同一視できるので、ベクトルの大きさを「1」に正規化する。そうすることによって、法線ベクトル56はそのX,Y成分のみによって表すことができる。これは、法線ベクトル56のZ成分は、次の式(1)によってX成分とY成分とから求めることができるためである。
Z成分={1−(X成分)−(Y成分)1/2 …(1)
但し、(X成分)+(Y成分)+(Z成分)=1
そして、法線ベクトル56のX成分の値を第1傾きレジスタ35に格納し、Y成分の値を第2傾きレジスタ36に格納するのである。
【0067】
尚、より直裁な方法として、上記法線ベクトル56のZ成分を格納するレジスタを設けても差し支えない。また、窓52の傾きを表す方法も、法線ベクトル56を用いる方法に限定するものではない。何れにしろ、窓52の傾きを表す方法や窓52の傾きを表す値を格納する方法のバリエーションが、本発明の範疇に入ることに変わりはない。
【0068】
上述した窓52は、実際のデータ表示装置においては表示デバイス11に対応するものである。そこで、窓52の位置や傾きは、実際のデータ表示装置に当て嵌めた場合には表示デバイス11の位置や傾きと見なすことができる。尚、実際の表示デバイス11は厚みを有している。しかしながら、本実施の形態においては、表示デバイス11の表示面のみに着目し、表示デバイス11を厚みを有しない平面上の領域として扱うものとする。以下の説明では、表示デバイス11の表示面とこれまでの説明で用いた窓52とは特に区別しないこととする。
【0069】
さらに、上記表示デバイス11の傾きは、データ表示装置全体に対する表示デバイス11の配置が明確であれば、データ表示装置全体の傾きと同一視またはデータ表示装置全体の傾きから適宜変換できる。そこで、以下の説明では、表示デバイス11の傾きとデータ表示装置全体の傾きとを同一視することにする。
【0070】
図10は、上記傾き検出器33のブロック図である。傾き検出器33は、データバス59を介して互いに接続されているコントローラ57とジャイロ58で構成されている。尚、コントローラ57は、データバス59およびデータバス46を介して、表示部24のCPU45とデータを送受可能になっている。
【0071】
上記構成において、上記ジャイロ58は、現時点における本データ表示装置の傾きを検出する。そして、コントローラ57は、検出された傾きに基づいて法線ベクトル56のX成分およびY成分を随時求め、X成分を第1傾きレジスタ35に格納し、Y成分を第2傾きレジスタ36に格納するのである。尚、ジャイロ58には、機械式,光学式,振動式等の幾つかの方式が広く存在しているが、本実施の形態においては特に限定するものではなく適切なものを用いるものとする。
【0072】
次に、図5に示す表示処理動作のステップS11において設定される各レジスタの初期値について説明する。先ず、Xレジスタ37,Yレジスタ38およびZレジスタ39の初期値「0」は、その時点における窓52の中心点54の座標が図6に示すXYZ空間の原点55に在ることを表している。また、第1傾きレジスタ35および第2傾きレジスタ36の初期値「0」は、図9に示すベクトル座標上において、その時点における本データ表示装置の法線ベクトル56のX成分およびY成分が「0」であることを表している。ここで、上述したように法線ベクトル56の絶対値が「1」に正規化されている。したがって、第1傾きレジスタ35および第2傾きレジスタ36の値が「0」に初期化された場合には、法線ベクトル56の座標成分は(0,0,1)となり、窓52がXY平面と平行になっていることを意味する。したがって、Xレジスタ37,Yレジスタ38,Zレジスタ39,第1傾きレジスタ35および第2傾きレジスタ36を「0」に初期化すると言うことは、図11に示すように、現時点における窓52の面がXY平面となり、現時点における窓52の中心点54が原点55となるようにXYZ座標系を設定することを意味するのである。
【0073】
次に、上記表示部24を構成する表示画像生成器32について説明する。上記表示画像生成器32は、図7に示すように、3次元図形に変換された紙面51を窓(表示デバイス11の表示面)52に平行射影した画像を生成する。図12は、表示画像生成器32のブロック図である。また、図15は、表示画像生成器32による表示画像生成処理動作のフローチャートである。
【0074】
図12に示すように、上記表示画像生成器32は、専用のCPU60,テクスチャテーブル61,3次元座標データメモリ62および2次元座標データメモリ63で構成され、各構成要素60〜63はデータバス64を介してデータのやり取りを行うようになっている。尚、CPU60は、データバス64およびデータバス46を介して、表示部24のCPU45とデータを送受可能になっている。
【0075】
上記テクスチャテーブル61は、上記ページデータメモリ31に格納されている元の2次元で表現された表示ページのデータ(ページデータ)のX,Y座標と3次元の立体画像に変換した後のX,Y,Z座標との関係を示すテーブルであり、紙面51の3次元図形を得るためのテーブルである。図13にテクスチャテーブル61の構造を模式的に示す。図13において、テクスチャテーブル61の横方向の並びが元のページデータのX座標に対応する一方、縦方向の並びが元のページデータのY座標に対応している。各要素は、立体画像に変換した後のXYZ座標であり、3つの組の数値からなっている。尚、各要素は、充分な精度を持つ数値データであるとする。勿論、このような表現方法は、紙面51を3次元図形として表す唯一の方法ではない。例えば、本実施の形態においては座標系を定めているので、変換用の数式で3次元図形を表すことも可能である。ここで、紙面51の3次元図形としての表現は、極端に膨らんだり窪んだりしている必要はなく、本を丸めて持った場合のような程度の曲面が適切である。
【0076】
上記3次元座標データメモリ62は、上記テクスチャテーブル61に格納されている紙面51の3次元座標値を、表示デバイス11を含む平面に射影した際に得られる3次元座標値を書き込むためのテーブルである。したがって、3次元座標データメモリ62も、テクスチャテーブル61と全く同一の構造およびサイズを有している。
【0077】
また、上記2次元座標データメモリ63は、上記3次元座標データメモリ62の各要素を、表示デバイス11を含む平面上に座標系を取り直した2次元座標に変換した際に得られる2次元座標値を書き込むためのテーブルである。この2次元座標データメモリ63の構造は、図14に模式的に示すように、元のページデータのXY座標(横並びと縦並び)と表示デバイス11を含む平面上に座標系を取り直された2次元座標(要素値)との対応を与える配列になっている。
【0078】
以下、図15に従って、上記CPU60によって実行される表示画像生成処理動作について説明する。
【0079】
先ず、ステップS21で、上記テクスチャテーブル61に格納されている紙面51の3次元座標値が、Xレジスタ37,Yレジスタ38,Zレジスタ39,第1傾きレジスタ35および第2傾きレジスタ36を参照して、表示デバイス11を含む平面に射影した際の3次元座標値に変換される。そして、得られた3次元座標値が3次元座標データメモリ62に格納される。
【0080】
図16は、上記ステップS21による処理の説明図である。この処理は、テクスチャテーブル61に格納されている紙面51上の点65の3次元座標から、点65から窓52の法線ベクトルと同じ方向へ引いた直線66が窓52を含む平面67と交わる点68の3次元座標を求める処理である。そして、このような処理は以下のような手順を踏むことによって可能である。すなわち、窓52の中心点54を基点として平面67上に在るベクトル69が、紙面51上の点65からの平面67への法線ベクトル66(または、その延長線)と直交するような点の座標を求めることによって、目的とする平面67上の点68の座標を求めることができる。そして、窓52の中心点54の座標は、Xレジスタ37,Yレジスタ38,Zレジスタ39の格納値から得ることができる。また、法線ベクトル66は、第1傾きレジスタ35および第2傾きレジスタ36の格納値と式(1)の演算結果から得ることができる。したがって、窓52の中心点54の座標からのベクトル69を求めることによって、ベクトル69と法線ベクトル66(または、その延長線)との交点68の座標を求めることが可能になるのである。
【0081】
すなわち、上記ステップS21による処理においては、上記テクスチャテーブル61の1つの要素値(X,Y,Z)を読み出す。そして、この座標(X,Y,Z)を、上述のようにXレジスタ37,Yレジスタ38,Zレジスタ39,第1傾きレジスタ35および第2傾きレジスタ36を参照して平面67上の点68の座標(X’,Y’,Z’)に変換し、その変換座標(X’,Y’,Z’)を3次元座標データメモリ62におけるテクスチャテーブル61の当該要素値(X,Y,Z)の格納位置に対応する位置に格納する。この処理をテクスチャテーブル61の全要素値について行うのである。
【0082】
但し、上記紙面51の形状と平面67との位置関係によっては、法線ベクトル66が紙面51と複数回交わる場合が考えられる。図17は、そのような場合を示しており、紙面51が非常に複雑な形状を持っている状態の平面図である。図17において、紙面51上の点65からの平面67の法線ベクトル66が、平面67と交わる以前に紙面51自身と交わっている。そして、その場合は、点65は、本来平面67上に在る窓52からは見えないはずである。そこで、上記ステップS21においては、このような場合には、3次元座標データメモリ62の対応する位置にXYZの各値の何れかまたは全てに要素値が無効であることを示す値を格納するようにしている。
【0083】
こうして、上記ステップS21での処理が終了した時点で、3次元座標データメモリ62には、ページデータメモリ31に格納されている元のページデータのXY座標と表示デバイス11を含む平面67上の3次元座標との対応を表すテーブルが生成されるのである。
【0084】
次に、ステップS22で、上記3次元座標データメモリ62に格納されている表示デバイス11を含む平面67上の3次元座標値を、窓52を含む平面67上に設定し直した2次元の座標系での2次元座標値に変換される。そして、得られた2次元座標値が2次元座標データメモリ63に格納される。その場合、ステップS21における処理で説明したように、3次元座標データメモリ62に無効を示す値が格納されている要素については無視する。
【0085】
図18は、上記ステップS22による処理の説明図である。この処理は、窓52を含む平面67上への座標変換が終了した後の平面67上に、絶対値が1に正規化されて互いに直交する2つの基底ベクトル70および基底ベクトル71と、絶対値を1に正規化した窓52を含む平面67の法線ベクトル72との、合わせて3つのベクトルを設定する。次いで、この3本のベクトル70,71,72を列ベクトルとする3×3の行列Mを作成する。そうすると、行列Mの逆行列が、図18におけるXYZ座標系から3本のベクトル70,71,72で表される新たな3次元座標系への変換行列となる。その場合、平面67上の点に関しては平面67と直交する成分は「0」である。したがって、法線ベクトル72の方向の成分(平面67と直交する方向の成分)を無視すると、上記行列Mの逆行列を用いて変換を行うことによって平面67上の2次元座標を得ることができるのである。
【0086】
ここで、図19に示すように、上記新たな3次元座標系を表す3つの基底ベクトルのうち、平面67に直交する基底ベクトル75は平面67の法線ベクトル72と一致するため、既に説明したように、第1傾きレジスタ35および第2傾きレジスタ36から得ることができる。また、残りの2本の基底ベクトルについては、一つの基底ベクトル74の方向を、元のXYZ座標系の基底ベクトルXの方向と一致させる。この場合、窓52を含む平面67上に在って基底ベクトル74に直交する基底ベクトル73は、方向が反対であるベクトルを同一視すれば一意に定めることができる。
【0087】
尚、図18における上記法線ベクトル72に加えて、基底ベクトル70および基底ベクトル71をも、本データ表示装置の傾きから傾き検出器33によって算出して保持するように傾き検出器33を構成することも可能ではある。但し、表示デバイス11に表示される内容は、本データ表示装置の回転に合わせて変化することになる。この場合には、第1傾きレジスタ35,第2傾きレジスタ36に保持されている法線ベクトル72以外に、基底ベクトル70または基底ベクトル71の何れか一方の傾き情報を保持することが必要になる。何れにしろ、このようなバリエーションも、本願の範囲であることに変わりはない。
【0088】
すなわち、上記ステップS22による処理においては、上記3次元座標データメモリ62の1つの要素値(X’,Y’,Z’)を読み出す。そして、この座標(X’,Y’,Z’)を、上記行列Mの逆行列を用いて元のXYZ座標系の基底ベクトルXの方向と同一方向の基底ベクトル74とこの基底ベクトル74に直交する基底ベクトル73とで設定される2次元座標系の座標(X,Y)に変換し、その変換座標(X,Y)を2次元座標データメモリ63における3次元座標データメモリ62の当該要素値(X’,Y’,Z’)の格納位置に対応する位置に格納する。この処理を3次元座標データメモリ62の全要素値について行うのである。
【0089】
こうして、上記ステップS22での処理が終了した時点で、2次元座標データメモリ63には、ページデータメモリ31に格納されている元のページデータのXY座標と表示デバイス11を含む平面67上の2次元座標との対応を示すテーブルが生成されるのである。
【0090】
次に、ステップS23で、上記2次元データメモリ63とページデータメモリ31とが参照されて、上記ページデータメモリ31の各画素のデータが、2次元データメモリ63における当該画素と同じ位置に格納されている座標(X,Y)で指定される表示画像データメモリ34での位置(つまり、上述のようにして得られた窓52上の2次元座標での位置)に格納される。このとき、表示画像データメモリ34に画素データを格納すべき座標が表示デバイス11には存在しない座標である場合には、当該画素データについては無視する。そうした後、表示画像生成処理動作を終了する。
【0091】
図20は、図15に示す上記表示画像生成処理動作によって行われる座標変換による座標の変遷を示す。図20(a)は、2次元紙面81上に設定された2次元座標系を示す。また、図20(b)は、2次元紙面81を3次元空間に置いた立体に貼り付けた3次元紙面51上に設定された3次元座標系を示す。窓52を含む平面67上の各点の座標も3次元紙面51上に設定された3次元座標系で表される。また、図20(c)は、窓52上に設定し直された2次元座標系を示す。そして、2次元紙面81上の2次元座標Aと3次元紙面51上の3次元座標Bとの対応が、テクスチャテーブル61で与えられる。さらに、2次元紙面81上の2次元座標Aと窓52上の3次元座標Cとの対応が、上記ステップS21での処理によって作成された3次元座標データメモリ62で与えられる。さらに、2次元紙面81上の2次元座標Aと窓52上の2次元座標Dとの対応が、上記ステップS22での処理によって作成された2次元座標データメモリ63で与えられる。
【0092】
そして、付言すれば、図20(a)に示す上記2次元紙面81上の各点の2次元座標Aと図20(c)に示す窓52上の各点の2次元座標Dとの対応付け情報(2次元座標データメモリ63)に従って、実際に2次元紙面81の各ピクセルデータを窓52上に設定された2次元座標系にコピーするのが上記ステップS23での処理なのである。
【0093】
以上のごとく、本実施の形態によれば、ユーザが、データ表示装置を傾け、上スクロールキー15,下スクロールキー16,左スクロールキー17,右スクロールキー18,ズームインキー19およびズームアウトキー20を操作することによって、窓52つまり表示デバイス11を仮想的に3次元紙面51の周囲で移動できるようにしている。
【0094】
そして、上記表示デバイス11つまり本データ表示装置の仮想的に移動に伴って第1傾きレジスタ35,第2傾きレジスタ36,Xレジスタ37,Yレジスタ38およびZレジスタ39の内容を更新し、更新された各レジスタ35〜39の内容に応じて、表示デバイス11の表示内容を、表示デバイス11の移動に伴う表示デバイス11と紙面51との相対位置関係を反映させて変更するようにしている。
【0095】
したがって、本データ表示装置によれば、仮想的に、3次元空間に配置された立体に貼り付けられた紙面51をその周囲を移動する窓52を通して見ているような画像を、表示デバイス11に出力することができる。すなわち、現実の世界に存在する立体を自由に動く窓を通して見ているのに似た操作感覚をユーザに与えることができ、ユーザは表示デバイス11に現在表示されていない部分を表示させる操作を直感的に行うことができるのである。
【0096】
尚、本実施の形態においては、図1に示すような主にPDA型のデータ表示装置を例に上げて説明したが、この発明はPDA型に限定されるものではない。例えば、携帯電話端末やノートブック型パーソナルコンピュータ等に広く適用可能であり、データ表示装置の形態によって限定されるものではない。
【0097】
また、上記紙面51が全くの平面である場合も、本実施の形態を適用して、ユーザの操作またはデータ表示装置の動きに応じて窓52の位置を変化させて、紙面51の閲覧を容易にすることができることは言うまでも無い。
【0098】
また、本実施の形態のごとく、紙面51を3次元空間に配置した立体に貼り付けて提示することによって得られる他の利点として、現在紙面のどの当りを見ているのかを、ユーザがより把握し易くなることが挙げられる。これは、図21に示すように、位置によって形状が全く異なるような3次元紙面82上の3次元座標をテクスチャテーブル61が与える場合に得られる効果である。この場合、窓83を通して見える3次元紙面82は平面に近いが、窓84を通して見える3次元紙面82は大きく凸に膨らんでいる。そのために、ユーザは、表示デバイス11に現在表示されている3次元紙面82の部分が、元の2次元的紙面のどの部分に対応するのかを、スクロールバー等の補助的手段に頼ることなく、表示内容のみからより直感的に把握することができる。したがって、表示デバイス11の表示画面の面積が、表示すべき紙面に比べて小さい場合であっても、快適なデータの閲覧が可能になるのである。
【0099】
・第2の実施の形態
本実施の形態におけるデータ表示装置も、上記第1の実施の形態の場合と同様に、仮想的に、3次元空間に配置された立体に貼り付けられた紙面をその周囲を移動する窓を通して見たような画像を、ユーザに提供するものである。また、上記窓の傾き検出は本データ表示装置の傾きをジャイロによって検出することで行う点、上記窓の平行移動および前後方向の移動をユーザのキー操作によって行う点においても、上記第1の実施の形態の場合と同様である。以下、上記第1の実施の形態とは異なる点について簡潔に説明する。
【0100】
図22は、本実施の形態におけるデータ表示装置を背面から見た外観を示す。尚、背面以外の外観は、図1に示す上記第1の実施の形態におけるデータ表示装置と同様である。また、本データ表示装置における機能的構成を示すブロック図は図2と同じであり、その基本動作も図3に示すフローチャートと同じである。
【0101】
本実施の形態におけるデータ表示装置の背面には、カメラ91が設けられている。そして、本実施の形態における表示部24の機能的構成は、図23に示すように、図4に示す上記第1の実施の形態の場合と基本的には同じである。但し、本実施の形態においては、画像センサ92が付加されている。この画像センサ92は、カメラ91によって撮影された画像に基づいて、図24に示すように本データ表示装置の平行移動を検出するのである。尚、図23において、画像センサ92以外には図4と同じ番号を付けている。
【0102】
図25は、上記画像センサ92の機能的構成を示すブロック図である。図25において、画像センサ92は、コントローラ93,フレームメモリ94,動きベクトル検出器95,DXレジスタ96,DYレジスタ97およびデータバス98から構成される。各構成要素は、データバス98を介してデータの送受を行うようになっている。尚、コントローラ93は、データバス98およびデータバス46を介して、表示部24のCPU45とデータを送受可能になっている。
【0103】
図26は、上記コントローラ93による制御の下に実行される平行移動検出処理動作のフローチャートである。以下、図26に従って、画像センサ92の動作について説明する。尚、特に処理手段が明示されていないステップは、コントローラ93自身に因って処理が行われるものとする。
【0104】
ステップS31で、上記カメラ91で撮影された画像が取り込まれて、フレームメモリ94に送出される。こうして、カメラ91で撮影された1フレーム分の画像データが、フレームメモリ94に格納される。ステップS32で、上記ステップS31においてフレームメモリ94に送出された画像は、撮影開始後における最初のフレームであるか否かが判別される。その結果、最初のフレームであれば更に次のフレームの画像を取り込むために上記ステップS31に戻る。また、最初のフレームでなければステップS33に進む。
【0105】
ステップS33で、上記動きベクトル検出器95によって、フレームメモリ94に格納されている画像データが参照されて、連続したフレームの画像データから動きベクトルが算出される。ステップS34で、上記ステップS33において算出された動きベクトルのX成分がDXレジスタ96に格納される一方、Y成分がDYレジスタ97に格納される。ここで、フレームの内容が急に切り換った等の理由で、上記ステップS33において動きベクトル検出器95が動きベクトルの算出に失敗した場合には、DXレジスタ96およびDYレジスタ97には「0」が書き込まれる。また、本データ表示装置の移動の方向によっては、DXレジスタ96およびDYレジスタ97に格納される値はマイナスも取り得る。
【0106】
ステップS34で、上記Xレジスタ37の格納値が、この格納値にDXレジスタ96の格納値に所定値が乗じられた値を加算した値に更新される。同様に、Yレジスタ38の格納値が、この格納値にDYレジスタ97の格納値に上記所定値が乗じられた値を加算した値に更新される。こうして、上スクロールキー15,下スクロールキー16,左スクロールキー17および右スクロールキー18の操作によって設定されているXレジスタ37およびYレジスタ38の格納値が、カメラ91の撮像結果に応じて更新されるのである。尚、DXレジスタ96およびDYレジスタ97の値に上記所定値を乗ずるのは、画像センサ92の動作が過敏あるいは鈍感になるのを防ぎ、適切な操作感を得るためである。
【0107】
そうした後に、上記ステップS31に戻る。こうして、カメラ91では常に撮影が行われており、動きベクトルの検出とXレジスタ37およびYレジスタ38の更新とが、図26に示す平行移動検出処理動作とは独立して常時行われるのである。
【0108】
上記動きベクトル検出器95に関しては、例えば特公平8‐32048号公報に開示されているもの等の様々な公知の技術を適用することが可能であり、その詳細な動作は省略する。
【0109】
尚、あえて補足すれば、上記Xレジスタ37およびYレジスタ38の格納値に応じて表示デバイス11の表示画像が変更されることは、上記第1の実施の形態の場合と全く同様である。したがって、ユーザが、図24に示すようにデータ表示装置全体を平行移動させることが、上スクロールキー15,下スクロールキー16,左スクロールキー17および右スクロールキー18の何れかまたは複数を操作するのと同じ効果を齎すのである。
【0110】
また、本実施の形態においては、上記ジャイロ58を用いた傾き検出器33と画像センサ92とを併用して、本データ表示装置のより多様な動きを検出できるようにしている。しかしながら、画像センサ92のみを用いた構成も勿論可能である。そして、このような構成は、近年、カメラを内蔵した携帯電話やPDAが発売されており、特にその多くが動画の撮影を可能にしているので、装置の動きを検出する目的のためだけに付加すべきハードウエアが殆どまたは全く無く、実現が非常に容易になっている。
【0111】
また、本実施の形態においては、上記画像センサ92は平行移動のみの検出に用いられているが、適切な画像処理によって連続したフレームから回転移動を検出して、データ表示装置自身の回転を検出することも可能である。このような回転が表示に対して有する意味合いは、上記第1実施の形態において図15の表示画像生成処理動作におけるステップS22での処理の説明で述べた通りである。
【0112】
ところで、上記機能的構成を有するデータ表示装置の具体的ハードウェア構成は、上述した各種の処理を実行するプログラムを含む各種プログラムを記憶するプログラムメモリ、各種情報を記憶するデータメモリ、インターネット等の通信ネットワークと接続する通信I/F、入力装置、出力装置、表示装置、外部記録媒体がセットされてこの外部記録媒体をアクセスする外部補助記憶装置、上記プログラムメモリ,データメモリ,通信I/F,入力装置,出力装置,表示装置および外部補助記憶装置等を制御して、上記データ表示処理動作や表示処理動作や表示画像生成処理動作等を実行する各CPU21,45,60等で成る。
【0113】
すなわち、上記各キー13〜20は上記入力装置を構成し、各メモリ23,31,62,63やレジスタ35〜44やテクスチャテーブル61は上記データメモリや外部補助記憶装置を構成し、表示ディバイス11は上記出力装置や表示装置を構成しているのである。また、各CPU21,45,60は、上述した本実施の形態に係る処理動作の他に、演算・判断処理,計時処理および入出力処理等の各種の処理動作をも行うようになっている。また、上記実施の形態においては、表示部24および表示画像生成器32は専用のCPU45,60によって制御される構成を有しているが、CPU45,60による制御をメインCPU21で兼用する構成であっても一向に構わない。
【0114】
さらに、上記実施の形態における上記CPU21,45,60による上記射影面移動手段,表示画像生成手段,3次元座標変換手段,2次元座標変換手段,表示画像データ変換手段および画像表示手段としての機能は、プログラム記録媒体に記録されたデータ表示プログラムによって実現される。上記各実施の形態における上記プログラム記録媒体は、ROM(リード・オンリ・メモリ)でなるプログラムメディアである。または、上記外部補助記憶装置に装着されて読み出されるプログラムメディアであってもよい。尚、何れの場合においても、プログラムメディアからデータ表示プログラムを読み出すプログラム読み出し手段は、上記プログラムメディアに直接アクセスして読み出す構成を有していてもよいし、RAM(ランダム・アクセス・メモリ)に設けられたプログラム記憶エリア(図示せず)にダウンロードし、上記プログラム記憶エリアにアクセスして読み出す構成を有していてもよい。尚、上記プログラムメディアから上記RAMのプログラム記憶エリアにダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。
【0115】
ここで、上記プログラムメディアとは、本体側と分離可能に構成され、磁気テープやカセットテープ等のテープ系、フロッピーディスク,ハードディスク等の磁気ディスクやCD(コンパクトディスク)‐ROM,MO(光磁気)ディスク,MD(ミニディスク),DVD(ディジタル多用途ディスク)等の光ディスクのディスク系、IC(集積回路)カードや光カード等のカード系、マスクROM,EPROM(紫外線消去型ROM),EEPROM(電気的消去型ROM),フラッシュROM等の半導体メモリ系を含めた、固定的にプログラムを坦持する媒体である。
【0116】
また、上記実施の形態におけるデータ表示装置は、インターネット等の通信ネットワークと通信I/Fを介して接続可能な構成を有している場合には、上記プログラムメディアは、通信ネットワークからのダウンロード等によって流動的にプログラムを坦持する媒体であっても差し支えない。尚、その場合における上記通信ネットワークからダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。あるいは、別の記録媒体からインストールされるものとする。
【0117】
尚、上記記録媒体に記録されるものはプログラムのみに限定されるものではなく、データも記録することが可能である。
【0118】
【発明の効果】
以上より明らかなように、この発明によれば、表示画像生成手段によって生成された表示画像データに基づいて、画像表示手段によって、仮想的な3次元空間内に配置された射影面に対するオブジェクトの射影の少なくとも一部の画像を表示画面に表示することができる。その際に、射影面移動手段によって射影面の位置が移動されると、上記表示画面には、仮想的な3次元空間における上記オブジェクトと射影面との相対位置に応じて変化した画像が表示される。したがって、現実の世界に存在する立体を自由に動く窓を通して見ているのに似たより自然な操作感覚をユーザに与えることができる。
【0119】
すなわち、この発明によれば、ユーザは、上記表示画面に現在表示されていない部分を表示させる操作を直感的に行うことができるのである。
【0120】
また、上記射影面移動手段に、本データ表示装置の動きや傾きを検出する動き検出手段や方向き検出手段を備えて、この動き検出手段や傾き検出手段によって検出された結果に応じて上記射影面の位置を移動させるようにすれば、本データ表示装置に対するユーザの操作とその結果生ずる表示の変化との間に、実世界で起る対応に近い対応付けを与えることができる。したがって、ユーザは、さらに自然に且つ快適に3次元形状のデータの閲覧を行うことができる。
【0121】
また、上記動き検出手段に撮像手段を設けて、上記撮像手段からの画像データに基づいて本データ表示装置の動きを検出するようにすれば、カメラを内蔵して動画の撮影が可能な携帯電話やPDAを、動き検出用の特別なハードウエアを付加することなく利用することができる。
【0122】
また、上記仮想的な3次元空間に配置されたオブジェクトを、元々2次元的な形状を有する文書が貼り付けられた曲面または平面を含むように構成すれば、文書の3次元画像を表示することができる。したがって、現在表示されている文書の部分が元の2次元文書における何れの位置に対応しているのかを、表示内容から直感的に把握することができる。その結果、上記表示画面が、上記文書の大きさに比べて小さい場合でも、より快適なデータの閲覧が可能になるのである。
【図面の簡単な説明】
【図1】この発明のデータ表示装置における外観を示す図である。
【図2】図1に示すデータ表示装置における機能的構成を示すブロック図である。
【図3】図2におけるメインCPUによる制御の下に実行されるデータ表示処理動作のフローチャートである。
【図4】図2における表示部の機能的構成を示すブロック図である。
【図5】図4におけるCPUの制御の下に実行される表示処理動作のフローチャートである。
【図6】図4におけるXレジスタ,YレジスタおよびZレジスタに格納される値の説明図である。
【図7】図6における窓に対する紙面の平行射影の説明図である。
【図8】図6における窓に対する紙面の一点を中心とした射影の説明図である。
【図9】図4における第1傾きレジスタおよび第2傾きレジスタに格納される値の説明図である。
【図10】図4における傾き検出器のブロック図である。
【図11】図4における各レジスタに対する「0」への初期化の説明図である。
【図12】図4における表示画像生成器のブロック図である。
【図13】図12におけるテクスチャテーブルの構造を模式的に示す図である。
【図14】図12における2次元座標データメモリの構造を模式的に示す図である。
【図15】図12に示す表示画像生成器による表示画像生成処理動作のフローチャートである。
【図16】図15に示す表示画像生成処理動作における3次元座標への変換処理の説明図である。
【図17】図16において紙面上の点からの平面の法線ベクトルが平面と交わる以前に紙面自身と交わる場合の説明図である。
【図18】上記表示画像生成処理動作における2次元座標への変換処理の説明図である。
【図19】図11に示す3次元座標系とは異なる新たな3次元座標系を表す3つの基底ベクトルの説明図である。
【図20】図15に示す表示画像生成処理動作で行われる座標変換による座標の変遷を示す図である。
【図21】紙面を3次元空間に配置した立体に貼り付けて提示することによる利点の説明図である。
【図22】図1に示すデータ表示装置とは異なるデータ表示装置を背面から見た外観図である。
【図23】図22に示すデータ表示装置における表示部の機能的構成を示すブロック図である。
【図24】図22に示すデータ表示装置による平行移動検出の説明図である。
【図25】図23における画像センサの機能的構成を示すブロック図である。
【図26】図23における画像センサによる平行移動検出処理動作のフローチャートである。
【図27】ユーザの操作とその結果表ずる表示の変化との間に実世界で起こる対応に近い対応付けを与えるための基本的な概念の説明図である。
【図28】図27における窓から見える図形の一例を示す図である。
【図29】図27における窓から見える図形の他の例を示す図である。
【符号の説明】
11…表示デバイス、
15…上スクロールキー、
16…下スクロールキー、
17…左スクロールキー、
18…右スクロールキー、
19…ズームインキー、
20…ズームアウトキー、
21…メインCPU、
23…表示データメモリ、
24…表示部、
31…ページデータメモリ、
32…表示画像生成器、
33…傾き検出器、
34…表示画像データメモリ、
35…第1傾きレジスタ、
36…第2傾きレジスタ、
37…Xレジスタ、
38…Yレジスタ、
39…Zレジスタ、
45,60…CPU、
51,82…3次元紙面、
52,83,84…窓、
54…窓の中心点、
55…3次元座標系の原点、
56…法線ベクトル、
57,93…コントローラ、
58…ジャイロ、
61…テクスチャテーブル、
62…3次元座標データメモリ、
63…2次元座標データメモリ、
67…窓を含む平面、
81…2次元紙面、
91…カメラ、
92…画像センサ、
94…フレームメモリ、
95…動きベクトル検出器、
96…DXレジスタ、
97…DYレジスタ。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data display device, a data display program, and a program recording medium.
[0002]
[Prior art]
With the recent remarkable development of portable information terminals (PDAs), small and light personal computers of the same size as PDAs, and mobile phones (hereinafter, small information devices including these three types are referred to as "portable information devices"), It is easier to carry information. In addition, it can be said that the development of information communication means is being combined with the development of portable information devices, and the realization of “ubiquitous computing” is approaching.
[0003]
By the way, as a weak point that the portable information devices have in common, an area of a display screen is sometimes limited. This does not usually pose a problem if a text file that does not originally have layout information is read back at an appropriate place. However, when the layout is important information, either the whole image is displayed at a low resolution or the detailed data is displayed for each part.
[0004]
When the whole image is displayed on a small screen of the portable information device, the whole image is easily grasped, but it is difficult to read individual information. On the other hand, when displaying individual parts in detail, on the contrary, there is no problem in reading the information of the detailed part, but which part of the whole that the user is currently reading corresponds to which part. I do not understand. Therefore, in any case, the user is stressed.
[0005]
Therefore, an attempt has been made to solve the above-mentioned problem as much as possible by displaying an image three-dimensionally. For example, a document editing apparatus has been proposed that presents a document structure relationship intuitively to a user by displaying a document element three-dimensionally based on a document structure relationship such as a layout structure hierarchical relationship or a logical structure hierarchical relationship. (See Patent Document 1 (Japanese Unexamined Patent Publication No. Hei 3-268059)).
[0006]
Also, the image processing unit fetches the original image data of the window based on the pointer to the original image data stored in the oblique window management structure in the main memory, executes the oblique processing, and executes the generated oblique processing. The shape image data is stored in the main memory. Further, oblique image mask data for designating data to be actually displayed on the oblique image data is generated and stored in the main memory. Then, the oblique image data and the oblique image mask data are transferred from the main memory to the display memory, and the image data specified by the oblique image mask data in the oblique image data is tilted to a display window. (Japanese Patent Application Laid-Open No. 6-186948) has been proposed.
[0007]
In addition, the model generation unit generates a three-dimensional model including a plurality of surfaces bent in a bellows shape based on the plurality of pages of document data. At this time, the page development control unit adjusts the bending angle of the three-dimensional model to change the development state of each page. Further, the viewpoint coordinate conversion unit converts the viewpoint position of the three-dimensional model. Then, the document data of each page is mapped on each surface of the three-dimensional model by the texture mapping processing unit, and the image rendered by the image processing unit is displayed on the display device under the control of the display control unit. Thus, an electronic book device capable of developing document data of arbitrary pages in a bellows shape, changing the viewpoint position arbitrarily, and confirming document data of multiple pages at once regardless of the front and back of the page. It has been proposed (see Patent Document 3 (JP-A-2000-137563)).
[0008]
[Patent Document 1]
JP-A-3-268059
[Patent Document 2]
JP-A-6-186948
[Patent Document 3]
JP-A-2000-137563
[0009]
[Problems to be solved by the invention]
Here, when browsing information regardless of the small portable information device as described above, consider how the browsing is performed. For example, newspapers cannot be freely opened on a crowded train. For this purpose, it is common to fold the newspaper into smaller pieces or narrow the way to open the newspaper. The fact that this is common practice means that folding or opening the newspaper as described above does not put a great deal of stress on the reader.
[0010]
The difference between the user's field of view obtained by folding or narrowing the way of opening and the display image by the display method performed when displaying a large paper on the small screen of the portable information device is “naturalness”. It is thought that there is. That is, what the user sees when the newspaper is opened or folded small is a three-dimensional figure including a folded state centered on a portion to be read. On the other hand, the video displayed on the portable information device is an image obtained by cutting out only a part that the user wants to read that does not exist naturally. Therefore, the operation of displaying a part that is not currently displayed on the portable information device cannot be performed intuitively. It should be noted that such an operation of displaying a portion that is not currently displayed by some method is frequently required whenever the display screen of the portable information device is small.
[0011]
As described above, in order to be able to intuitively perform an operation of displaying a part that is not currently displayed, a response close to a response that occurs in the real world between a user operation and a resulting change in display. It is considered to be effective to give a tag.
[0012]
FIG. 27 is a diagram showing a basic concept for giving a correspondence close to the correspondence occurring in the real world as described above. FIG. 27 shows a state in which the paper 1 has a spherical surface and the figures of the rectangles 2 and 3 on the surface of the paper 1 are viewed through the window 4. Of course, in reality, it is unlikely that the paper surface 1 forms a spherical surface, but such a state is considered for the purpose of schematically explaining various curved surfaces.
[0013]
The figure seen through the window 4 varies depending on the positional relationship between the figure and the window 4. For example, in the case of FIG. 27A, the rectangle 2 has a positional relationship substantially parallel to the window 4. Therefore, as shown in FIG. 28A, a figure close to a rectangle can be seen from the window 4. On the other hand, in the case of FIG. 27B, the window 5 is inclined with respect to the rectangle 2. For this purpose, as shown in FIG. 28 (b), a distorted rectangle 2 is reflected from the window 5, reflecting the angle between the rectangle 2 and the window 5 and the fact that the rectangle 2 is on the paper 1 forming a spherical surface. I can see. In addition, in FIG. 27B, when the windows are moved back and forth like the windows 6 and 7, as shown in FIGS. 29A and 29B, the rectangle 3 seen through the window 7 is 6 is smaller than the rectangle 3 seen through. This is because the difference in distance between the two windows 6 and 7 and the rectangle 3 was reflected.
[0014]
By the way, in the document editing apparatus disclosed in Patent Document 1, although the document element is displayed three-dimensionally, the document itself is not visually displayed three-dimensionally. Further, in the image display method disclosed in Patent Document 2, it can be said that the document itself is three-dimensionally displayed because the image is displayed obliquely by disposing the window at an angle. However, as described in the concept for providing a correspondence close to the correspondence occurring in the real world, the display image cannot be changed by virtually changing the relative position with respect to the user.
[0015]
Further, in the electronic book device disclosed in Patent Document 3, the shape of three-dimensional data to be mapped is limited to a bellows shape. Further, there is no idea that the viewpoint of the user is changed by using the change of the posture or the position of the display device.
[0016]
In short, in a conventional image display device that displays the above-described image three-dimensionally, the user naturally browses a three-dimensionally expressed paper surface, for example, by using a change in the posture or position of the display device. You can't do anything at all.
[0017]
Therefore, an object of the present invention is to provide a data display device, a data display program, and a program recording medium that can give a user an operational feeling similar to looking at a solid existing in the real world through a freely moving window. Is to do.
[0018]
Further, the present invention provides a data display device, a data display program, and a program recording medium capable of giving a more natural operation feeling by performing the operation of moving the window for viewing the three-dimensional object by using the change in the posture and position of the user. Is to do.
[0019]
[Means for Solving the Problems]
In order to achieve the above object, a data display device of the present invention is arranged in a virtual three-dimensional space and stores display data of an object to be displayed. Projecting plane moving means for moving a position of a projecting plane on which the object is projected in a three-dimensional space; and a relative position between the object and the projecting plane in the virtual three-dimensional space based on the display data. Display image generating means for generating display image data for displaying at least a part of the projection of the object on the projection plane in accordance with the position; and displaying the display image data on the projection plane based on the generated display image data. Image display means is provided for displaying at least a part of the image of the projection of the object on the display screen.
[0020]
According to the above configuration, at least a partial image of the projection of the object on the projection plane in the virtual three-dimensional space is displayed on the display screen. At this time, when the position of the projection plane is moved by the projection plane moving means, an image changed according to the relative position between the object and the projection plane in the three-dimensional space is displayed on the display screen. . Therefore, it is possible to give the user an operation feeling similar to seeing a three-dimensional object existing in the real world through a freely moving window, and the user can perform an operation of displaying a part that is not currently displayed on the display screen. It can be done intuitively.
[0021]
Further, in the data display device of one embodiment, the projection plane moving means is provided with a motion detecting means for detecting the motion of the present data display apparatus, and the motion of the present data display apparatus detected by the motion detecting means is changed. The position of the projection plane is moved.
[0022]
According to this embodiment, since the movement of the data display device and the movement of the projection plane are associated with each other, there is an actual difference between the user's operation on the data display device and the resulting change in display. An association close to that occurring in the world is given. Accordingly, an image as if the object is viewed through a window moving around the object is displayed on the display screen.
[0023]
Further, in the data display device of one embodiment, an image pickup device for outputting image data obtained by photographing the periphery of the data display device to the motion detection device, and a book image based on the image data from the image pickup device. An image sensing means for detecting the movement of the data display device is provided.
[0024]
According to this embodiment, the movement of the present data display device is detected based on the surrounding image taken by the imaging means. Therefore, it is possible to use a mobile phone or a PDA that has a built-in camera and can shoot a moving image without adding special hardware for motion detection.
[0025]
In one embodiment of the data display device, the image sensing means includes a motion vector detection means for detecting a motion vector of the data display apparatus, and the image sensing means detects a motion vector based on the motion vector detected by the motion vector detection means. The parallel movement of the data display device is detected.
[0026]
According to this embodiment, the movement of the data display device can be easily detected based on the surrounding image taken by the image pickup means.
[0027]
In one embodiment of the data display device, the imaging means is a camera disposed on the back of the display screen.
[0028]
According to this embodiment, the configuration of the motion detecting means having the above-mentioned image pickup means becomes easy.
[0029]
Further, in the data display device of one embodiment, the projection plane moving means includes an inclination detection means for detecting an inclination of the data display apparatus, and the projection plane is moved in accordance with the inclination detected by the inclination detection means. A data display device characterized by moving the position of (1).
[0030]
According to this embodiment, since the inclination of the data display device and the movement of the projection plane are associated with each other, between the user's tilt operation on the data display device and the resulting change in display, An association close to that occurring in the real world is provided. Accordingly, an image as if the object is viewed through a window moving around the object is displayed on the display screen.
[0031]
In the data display device according to the embodiment, the inclination detecting means is configured by using a gyro.
[0032]
According to this embodiment, the inclination detecting means can accurately detect the inclination of the data display device by using the gyro.
[0033]
In one embodiment of the data display device, the display image generating means includes: a coordinate of each point on the object in the three-dimensional coordinate system representing the virtual three-dimensional space; Three-dimensional coordinate conversion means for converting the coordinates of each point projected onto the projection plane, a two-dimensional coordinate system is set on the projection plane, and the three-dimensional coordinates of each point projected on the projection plane are converted into the two-dimensional coordinates. Two-dimensional coordinate conversion means for converting the coordinates into coordinates in a system; and, based on the two-dimensional coordinates of each point projected on the projection plane, display data of the object stored in the display data memory with respect to the projection plane. There is provided a display image data conversion means for converting at least a part of the projection of the object into display image data for displaying.
[0034]
According to this embodiment, the coordinates of the projection of the object on the projection plane in the virtual three-dimensional coordinate system are obtained, and the projection of the projection on the projection plane is set on the projection plane based on the three-dimensional coordinates. By obtaining the coordinates in the two-dimensional coordinate system, display image data for displaying at least a part of the projection of the object on the projection plane can be accurately obtained.
[0035]
In the data display device according to the embodiment, the object arranged in the virtual three-dimensional space has a curved surface or a plane, and a document is attached along the curved surface or the plane.
[0036]
According to this embodiment, it is possible to give the user an operation feeling similar to watching an image expressing a two-dimensional document three-dimensionally through a freely moving window. Therefore, it is possible to display an image in a state where a document larger than the display screen is folded or rounded.
[0037]
The data display program of the present invention causes a computer to function as the projection plane moving means, the three-dimensional coordinate converting means, the two-dimensional coordinate converting means, the display image data converting means, and the image displaying means in the data display device of the present invention. .
[0038]
According to the above configuration, it is possible to give the user an operational feeling similar to looking at a solid existing in the real world through a freely moving window.
[0039]
Further, the program recording medium of the present invention stores the data display program of the present invention.
[0040]
According to the above configuration, by reading and executing with a computer, it is possible to give the user an operation feeling similar to looking at a solid existing in the real world through a freely moving window.
[0041]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the illustrated embodiments.
[0042]
・ First embodiment
FIG. 1 shows the appearance of the data display device of the present embodiment. This data display device provides a user with an image as if he / she is virtually seeing a paper surface attached to a three-dimensionally arranged three-dimensional space through a window moving around the space. As described below, the detection of the inclination of the window is performed by detecting the inclination of the data display device using a gyro, the parallel movement of the window is performed by a key operation of a user, and the movement of the window in the front-back direction is also performed. Is performed by a user's key operation.
[0043]
As shown in FIG. 1, the data display device includes a display device 11, a power switch 12, a page feed key 13, a page return key 14, an upper scroll key 15, a lower scroll key 16, a left scroll key 17, a right scroll key. 18, a zoom-in key 19 and a zoom-out key 20 are provided. Each role will be described later.
[0044]
FIG. 2 is a block diagram showing a functional configuration of the data display device shown in FIG. This data display device comprises a main CPU (central processing unit) 21, a page register 22, a display data memory 23, a display unit 24, a page feed key 13, a page return key 14, a power switch 12, and a data bus 25. I have. Note that each component other than the power switch 12 transmits and receives data via the data bus 25.
[0045]
FIG. 3 is a flowchart of a data display processing operation executed under the control of the main CPU 21. Hereinafter, the data display processing operation will be described in detail with reference to FIGS. It should be noted that the steps for which the processing means are not specifically described are assumed to be processed by the main CPU 21 itself. Further, in an actual product, when the power switch 12 is turned off, it should be considered that the data display processing operation is always terminated at any step, but it is essential for the present application. Therefore, the above description will not be described because the description is complicated. The same applies to other flowcharts.
[0046]
It is assumed that the display data memory 23 stores display data having a meaningful unit in order. In the present embodiment, it is assumed that the display data is 24-bit color image data for each page. Even if the data stored in the display data memory 23 is in a format other than an image (for example, text data), it is considered that the data is converted into image data at the stage of displaying each page. It does not lose generality. Also, the display data may not be in the page format. However, such display data can also be regarded as one large page, so that handling display data as an image for each page is not excluded from the scope of the present embodiment.
[0047]
When the power switch 12 is turned on, the data display processing operation starts. Then, in step S1, the contents of the page register 22 are initialized to "0". Here, the page register 22 stores the number of the currently displayed page. Therefore, the fact that the content of the page register 22 is “0” indicates that the first page is displayed. In the following description, the page number starts from “0”.
[0048]
Next, in step S2, the data of the page indicated by the value stored in the page register 22 is displayed on the display unit 24. The data display processing operation by the display unit 24 will be described later in detail. In step S3, it is determined whether the page feed key 13 has been pressed. As a result, if pressed, the process proceeds to step S4; otherwise, the process proceeds to step S6. In step S4, it is determined whether the value stored in the page register 22 matches the number of the last page. As a result, if they match, the page cannot be sent any more, so the process returns to step S3, and if they do not match, the process proceeds to step S5. In step S5, the value stored in the page register 22 is incremented. After that, the process returns to the step S2 to shift to the data display of the next page.
[0049]
In step S6, it is determined whether the page return key 14 has been pressed. As a result, if pressed, the process proceeds to step S7, and if not, the process returns to step S3 and shifts to the pressing determination of the page feed key 13. In step S7, it is determined whether or not the value stored in the page register 22 matches "0 (number of the first page)". As a result, if they match, the page cannot be returned, so the process returns to step S3. If they do not match, the process proceeds to step S8. In step S8, the value stored in the page register 22 is decremented. After that, the process returns to the step S2 to shift to the data display of the previous page.
[0050]
Next, a display processing operation executed by the display unit 24 in step S2 of the data display processing operation shown in FIG. 3 will be described. FIG. 4 is a block diagram illustrating a functional configuration of the display unit 24. FIG. 4 also shows the upper scroll key 15, the lower scroll key 16, the left scroll key 17, the right scroll key 18, the zoom-in key 19, the zoom-out key 20, and the data bus 25.
[0051]
4, the display unit 24 includes a page data memory 31, a display image generator 32, a tilt detector 33, a display image data memory 34, a display device 11, a first tilt register 35, a second tilt register 36, and an X register. 37, a Y register 38, a Z register 39, a third tilt register 40, a fourth tilt register 41, an X2 register 42, a Y2 register 43, a Z2 register 44, a dedicated CPU 45 and a data bus 46. Each of the above components transmits and receives data via the data bus 46. The CPU 45 is capable of receiving data from each of the keys 15 to 20 via the data bus 46 and the data bus 25, and is capable of transmitting and receiving data to and from the main CPU 21.
[0052]
The first tilt register 35, the second tilt register 36, the X register 37, the Y register 38, and the Z register 39 store values representing the current state of the data display device, as will be described in detail later. On the other hand, the third inclination register 40, the fourth inclination register 41, the X2 register 42, the Y2 register 43, and the Z2 register 44 store a value representing a state at a certain past in the data display device. That is, the first inclination register 35 corresponds to the third inclination register 40, the second inclination register 36 corresponds to the fourth inclination register 41, the X register 37 corresponds to the X2 register 42, and the Y register 38 corresponds to the The Y2 register 43 corresponds, and the Z register 39 and the Z2 register 44 correspond. The display image data memory 34 has an array of storage elements corresponding to each pixel in the display device 11.
[0053]
FIG. 5 is a flowchart of a display processing operation executed under the control of the CPU 45. Hereinafter, the display processing operation will be described in detail with reference to FIGS. It should be noted that the processing is not performed by the CPU 45 itself if the processing means is not specified. When the page register 22 is initialized in step S1 of the data display processing operation shown in FIG. 3, the display processing operation starts.
[0054]
In step S11, the contents of the registers are initialized. Specifically, the contents of the first inclination register 35, the second inclination register 36, the X register 37, the Y register 38 and the Z register 39 are all initialized to "0". The meaning of the initial value “0” will be described later.
[0055]
Next, in step S12, the page data to be displayed read from the display data memory 23 is stored in the page data memory 31. In step S13, a copy of each of the registers 35 to 39 storing the current state of the data display device is created. Specifically, the value of the first inclination register 35 is stored in the third inclination register 40, the value of the second inclination register 36 is stored in the fourth inclination register 41, and the value of the X register 37 is stored in the X2 register 42. Then, the value of the Y register 38 is stored in the Y2 register 43, and the value of the Z register 39 is stored in the Z2 register 44. As described later in detail, the values stored in the registers 35 to 39 are constantly updated by processing independent of the data display processing operation and the main processing operation.
[0056]
Next, in step S14, the display image generator 32 stores the values stored in the first tilt register 35, the second tilt register 36, the X register 37, the Y register 38, and the Z register 39 and the page data memory 31. Display image data is generated from the data of the displayed display page and stored in the display image data memory 34. The operation of the display image generator 32 will be described later in detail. In step S15, a display image is displayed on the display device 11 based on the display image data stored in the display image data memory 34.
[0057]
In step S16, it is determined whether or not the state of the data display device has changed. Specifically, the value of the first inclination register 35 is compared with the value of the third inclination register 40, the value of the second inclination register 36 is compared with the value of the fourth inclination register 41, and the value of the X register 37 is compared. The value is compared with the value of the X2 register 42, the value of the Y register 38 is compared with the value of the Y2 register 43, and the value of the Z register 39 is compared with the value of the Z2 register 44. As a result, if there is at least one different one, it is determined that the state of the data display device has changed. When it has changed, the process returns to step S13 and shifts to the process after the change. On the other hand, if there is no change, monitoring of the state change of the data display device is continued.
[0058]
The monitoring of the state change of the data display device is performed not only when the CPU 45 performs the software processing as in the display processing operation shown in FIG. 5 but also when the CPU 45 performs the software processing by using a technology such as a hardware interrupt. It goes without saying that a configuration without monitoring is also within the scope of the present invention.
[0059]
By the way, as described above, the values stored in the first tilt register 35, the second tilt register 36, the X register 37, the Y register 38, and the Z register 39 correspond to the data display processing operation shown in FIG. Independent of the processing operation, it is constantly updated by a user operation on the data display device.
[0060]
FIG. 6 shows the meaning of the values stored in the X register 37, the Y register 38, and the Z register 39. The paper surface 51 is represented as a three-dimensional figure by a method described later in detail. This means the same as attaching the paper surface 51 to the three-dimensional figure. Then, the display device 11 of the present data display device displays the visual field reflected on the window 52 when the paper surface 51 is projected on the window 52. In this case, the projection is a parallel projection in a direction perpendicular to the window 52 as shown in FIG. Of course, as shown in FIG. 8, it is also possible to make a projection centering on one point (user's viewpoint) 53 by estimating or approximating the position of the user's eyes.
[0061]
In any case, the coordinates of the center point 54 of the window 52 can be represented by three-dimensional coordinates. Therefore, an XYZ space in which the origin 55 set on the paper surface 51 is (0, 0, 0) is determined, and the coordinates of the center point 54 of the window 52 are obtained. In this case, the X coordinate is the value stored in the X register 37, the Y coordinate is the value stored in the Y register 38, and the Z coordinate is the value stored in the Z register 39.
[0062]
The user can change the XYZ coordinates of the center point 54 of the window 52 as described above as follows. That is, every time the left scroll key 17 is pressed, the value of the X register 37 is decremented by "1". However, when the value of the X register 37 has reached a predetermined minimum value, the value is maintained. On the other hand, every time the right scroll key 18 is pressed, the value of the X register 37 is incremented by "1". However, when the value of the X register 37 has reached a predetermined maximum value, the value is maintained.
[0063]
Each time the upper scroll key 15 is pressed, the value of the Y register 38 is incremented by "1". However, when the value of the Y register 38 has reached a predetermined maximum value, the value is maintained. On the other hand, every time the down scroll key 16 is pressed, the value of the Y register 38 is decremented by "1". However, when the value of the Y register 38 has reached a predetermined minimum value, the value is maintained.
[0064]
Each time the zoom-in key 19 is pressed, the value of the Z register 39 is decremented by "1". However, when the value of the Z register 39 has reached a predetermined minimum value, the value is maintained. On the other hand, each time the zoom out key 20 is pressed, the value of the Z register 39 is incremented by “1”. However, when the value of the Z register 39 has reached a predetermined maximum value, the value is maintained.
[0065]
Thus, the values stored in the X register 37, the Y register 38, and the Z register 39 are constantly updated by the operation of the data display device by the user. The above-mentioned "predetermined minimum value" and "predetermined maximum value" are constants depending on how to take the coordinate system and the configuration of the present data display device, and may be negative depending on how to take the coordinate system. Can be the number of Further, each of the X register 37, the Y register 38, and the Z register 39 can have a different value. It is not meaningful to move the window 52 to a position where the paper surface 51 is viewed from the back side. Therefore, it is appropriate to limit the values of the X register 37, the Y register 38, and the Z register 39 so that the window 52 is not located behind the paper surface 51, except for an application in which such usage is considered useful. is there.
[0066]
Next, the values stored in the first inclination register 35 and the second inclination register 36 will be described. As shown in FIG. 9, the inclination of the window 52, which is a plane, is uniquely determined by determining the direction of the normal vector 56. In this case, since the normal vector 56 can be identified even if the absolute values of the vectors are different, the magnitude of the vector is normalized to “1”. By doing so, the normal vector 56 can be represented only by its X and Y components. This is because the Z component of the normal vector 56 can be obtained from the X component and the Y component by the following equation (1).
Z component = {1- (X component) 2 -(Y component) 21/2 … (1)
However, (X component) 2 + (Y component) 2 + (Z component) 2 = 1
Then, the value of the X component of the normal vector 56 is stored in the first gradient register 35, and the value of the Y component is stored in the second gradient register 36.
[0067]
As a more straightforward method, a register for storing the Z component of the normal vector 56 may be provided. Further, the method of expressing the inclination of the window 52 is not limited to the method using the normal vector 56. In any case, the variation of the method of representing the inclination of the window 52 and the method of storing the value representing the inclination of the window 52 still fall within the scope of the present invention.
[0068]
The window 52 described above corresponds to the display device 11 in an actual data display device. Thus, the position and the inclination of the window 52 can be regarded as the position and the inclination of the display device 11 when the window 52 is applied to an actual data display device. Note that the actual display device 11 has a thickness. However, in the present embodiment, attention is paid only to the display surface of the display device 11, and the display device 11 is treated as an area on a plane having no thickness. In the following description, the display surface of the display device 11 and the window 52 used in the above description are not particularly distinguished.
[0069]
Further, the inclination of the display device 11 can be appropriately converted from the same view as the inclination of the entire data display device or the inclination of the entire data display device if the arrangement of the display device 11 with respect to the entire data display device is clear. Therefore, in the following description, the inclination of the display device 11 and the inclination of the entire data display device will be identified.
[0070]
FIG. 10 is a block diagram of the tilt detector 33. The tilt detector 33 includes a controller 57 and a gyro 58 connected to each other via a data bus 59. The controller 57 can transmit and receive data to and from the CPU 45 of the display unit 24 via the data bus 59 and the data bus 46.
[0071]
In the above configuration, the gyro 58 detects a tilt of the present data display device at the present time. Then, the controller 57 obtains the X component and the Y component of the normal vector 56 as needed based on the detected inclination, stores the X component in the first inclination register 35, and stores the Y component in the second inclination register 36. It is. There are various types of gyro 58, such as a mechanical type, an optical type, and a vibration type. However, in the present embodiment, an appropriate type is used without any particular limitation.
[0072]
Next, the initial value of each register set in step S11 of the display processing operation shown in FIG. 5 will be described. First, the initial value "0" of the X register 37, the Y register 38 and the Z register 39 indicates that the coordinates of the center point 54 of the window 52 at that time are at the origin 55 of the XYZ space shown in FIG. . Further, the initial value “0” of the first tilt register 35 and the second tilt register 36 is such that the X component and the Y component of the normal vector 56 of the present data display device at that point are “0” on the vector coordinates shown in FIG. 0 ". Here, as described above, the absolute value of the normal vector 56 is normalized to “1”. Therefore, when the values of the first inclination register 35 and the second inclination register 36 are initialized to “0”, the coordinate component of the normal vector 56 is (0, 0, 1), and the window 52 is located on the XY plane. Means that it is parallel. Therefore, initializing the X register 37, the Y register 38, the Z register 39, the first inclination register 35, and the second inclination register 36 to "0" means that the surface of the window 52 at the present time is, as shown in FIG. Is the XY plane, and the XYZ coordinate system is set so that the center point 54 of the window 52 at the present time becomes the origin 55.
[0073]
Next, the display image generator 32 constituting the display unit 24 will be described. As shown in FIG. 7, the display image generator 32 generates an image obtained by projecting a paper surface 51 converted into a three-dimensional figure onto a window (display surface of the display device 11) 52 in parallel. FIG. 12 is a block diagram of the display image generator 32. FIG. 15 is a flowchart of a display image generation processing operation by the display image generator 32.
[0074]
As shown in FIG. 12, the display image generator 32 includes a dedicated CPU 60, a texture table 61, a three-dimensional coordinate data memory 62, and a two-dimensional coordinate data memory 63. Each of the constituent elements 60 to 63 includes a data bus 64. The exchange of data is performed via. Note that the CPU 60 can transmit and receive data to and from the CPU 45 of the display unit 24 via the data bus 64 and the data bus 46.
[0075]
The texture table 61 stores the X and Y coordinates of the original display page data (page data) stored in the page data memory 31 and the X and Y coordinates after conversion into a three-dimensional stereoscopic image. This is a table showing the relationship with the Y and Z coordinates, and is a table for obtaining a three-dimensional figure on the paper surface 51. FIG. 13 schematically shows the structure of the texture table 61. In FIG. 13, the horizontal arrangement of the texture table 61 corresponds to the X coordinate of the original page data, while the vertical arrangement corresponds to the Y coordinate of the original page data. Each element is an XYZ coordinate after conversion into a stereoscopic image, and is composed of three sets of numerical values. It is assumed that each element is numerical data having sufficient accuracy. Of course, such an expression method is not the only method of expressing the paper surface 51 as a three-dimensional figure. For example, in the present embodiment, since a coordinate system is determined, a three-dimensional figure can be represented by a mathematical expression for conversion. Here, the expression of the paper surface 51 as a three-dimensional figure does not need to be extremely bulged or depressed, and a curved surface such as that obtained when a book is rolled and held is appropriate.
[0076]
The three-dimensional coordinate data memory 62 is a table for writing three-dimensional coordinate values obtained when projecting the three-dimensional coordinate values of the paper surface 51 stored in the texture table 61 onto a plane including the display device 11. is there. Therefore, the three-dimensional coordinate data memory 62 also has exactly the same structure and size as the texture table 61.
[0077]
Further, the two-dimensional coordinate data memory 63 stores a two-dimensional coordinate value obtained when each element of the three-dimensional coordinate data memory 62 is converted into two-dimensional coordinates in which a coordinate system has been relocated on a plane including the display device 11. Is a table for writing. The structure of the two-dimensional coordinate data memory 63 is such that the coordinate system is rearranged on a plane including the XY coordinates (horizontal arrangement and vertical arrangement) of the original page data and the display device 11, as schematically shown in FIG. It is an array giving correspondence with two-dimensional coordinates (element values).
[0078]
Hereinafter, the display image generation processing operation performed by the CPU 60 will be described with reference to FIG.
[0079]
First, in step S21, the three-dimensional coordinate values of the paper surface 51 stored in the texture table 61 are referred to the X register 37, the Y register 38, the Z register 39, the first inclination register 35, and the second inclination register 36. Then, it is converted into a three-dimensional coordinate value when projected on a plane including the display device 11. Then, the obtained three-dimensional coordinate values are stored in the three-dimensional coordinate data memory 62.
[0080]
FIG. 16 is an explanatory diagram of the processing in step S21. In this process, a straight line 66 drawn in the same direction as the normal vector of the window 52 from the point 65 from the three-dimensional coordinates of the point 65 on the paper surface 51 stored in the texture table 61 intersects a plane 67 including the window 52. This is a process for obtaining three-dimensional coordinates of the point 68. Such processing can be performed by performing the following procedure. That is, a point such that a vector 69 on the plane 67 with the center point 54 of the window 52 as a base point is orthogonal to a normal vector 66 from the point 65 on the paper surface 51 to the plane 67 (or an extension thereof). , The coordinates of the target point 68 on the plane 67 can be obtained. The coordinates of the center point 54 of the window 52 can be obtained from the values stored in the X register 37, the Y register 38, and the Z register 39. Further, the normal vector 66 can be obtained from the values stored in the first inclination register 35 and the second inclination register 36 and the calculation result of the equation (1). Therefore, by obtaining the vector 69 from the coordinates of the center point 54 of the window 52, the coordinates of the intersection 68 between the vector 69 and the normal vector 66 (or an extension thereof) can be obtained.
[0081]
That is, in the process in step S21, one element value (X, Y, Z) of the texture table 61 is read. The coordinates (X, Y, Z) are converted into a point 68 on the plane 67 by referring to the X register 37, the Y register 38, the Z register 39, the first inclination register 35, and the second inclination register 36 as described above. (X ′, Y ′, Z ′), and converts the converted coordinates (X ′, Y ′, Z ′) into the corresponding element value (X, Y, Z) of the texture table 61 in the three-dimensional coordinate data memory 62. ) Is stored in the position corresponding to the storage position. This process is performed for all element values of the texture table 61.
[0082]
However, depending on the positional relationship between the shape of the paper surface 51 and the plane 67, the normal vector 66 may intersect the paper surface 51 a plurality of times. FIG. 17 shows such a case, and is a plan view in a state where the paper surface 51 has a very complicated shape. In FIG. 17, a normal vector 66 of a plane 67 from a point 65 on the paper surface 51 intersects the paper surface 51 before intersecting with the plane 67. Then, in that case, the point 65 should not be visible from the window 52 originally located on the plane 67. Therefore, in the above-described step S21, in such a case, a value indicating that the element value is invalid for any or all of the XYZ values is stored in the corresponding position of the three-dimensional coordinate data memory 62. I have to.
[0083]
When the processing in step S21 is completed, the three-dimensional coordinate data memory 62 stores the XY coordinates of the original page data stored in the page data memory 31 and the three-dimensional coordinates on the plane 67 including the display device 11. A table representing the correspondence with the dimensional coordinates is generated.
[0084]
Next, in step S22, the two-dimensional coordinates obtained by resetting the three-dimensional coordinate values on the plane 67 including the display device 11 stored in the three-dimensional coordinate data memory 62 on the plane 67 including the window 52 are set. It is converted into a two-dimensional coordinate value in the system. Then, the obtained two-dimensional coordinate values are stored in the two-dimensional coordinate data memory 63. In this case, as described in the processing in step S21, the element in which the value indicating invalidity is stored in the three-dimensional coordinate data memory 62 is ignored.
[0085]
FIG. 18 is an explanatory diagram of the processing in step S22. This processing is performed on the plane 67 after the coordinate transformation on the plane 67 including the window 52 is completed, the two basis vectors 70 and 71, whose absolute values are normalized to 1 and orthogonal to each other, and the absolute value And a normal vector 72 of the plane 67 including the window 52 in which is normalized to 1. Next, a 3 × 3 matrix M using these three vectors 70, 71, 72 as column vectors is created. Then, the inverse matrix of the matrix M is a transformation matrix from the XYZ coordinate system in FIG. 18 to a new three-dimensional coordinate system represented by three vectors 70, 71, and 72. In this case, for a point on the plane 67, a component orthogonal to the plane 67 is “0”. Therefore, when components in the direction of the normal vector 72 (components in a direction orthogonal to the plane 67) are ignored, two-dimensional coordinates on the plane 67 can be obtained by performing conversion using the inverse matrix of the matrix M. It is.
[0086]
Here, as shown in FIG. 19, among the three basis vectors representing the new three-dimensional coordinate system, the basis vector 75 orthogonal to the plane 67 coincides with the normal vector 72 of the plane 67, and thus has already been described. Thus, it can be obtained from the first inclination register 35 and the second inclination register 36. For the remaining two basis vectors, the direction of one basis vector 74 is made to coincide with the direction of the basis vector X in the original XYZ coordinate system. In this case, the basis vector 73 which is on the plane 67 including the window 52 and is orthogonal to the basis vector 74 can be uniquely determined by identifying vectors having opposite directions.
[0087]
The tilt detector 33 is configured to calculate and hold the base vector 70 and the base vector 71 by the tilt detector 33 from the tilt of the data display device in addition to the normal vector 72 in FIG. It is also possible. However, the content displayed on the display device 11 changes according to the rotation of the data display device. In this case, in addition to the normal vector 72 held in the first tilt register 35 and the second tilt register 36, it is necessary to hold the tilt information of either the base vector 70 or the base vector 71. . In any case, such variations remain within the scope of the present application.
[0088]
That is, in the process in step S22, one element value (X ', Y', Z ') of the three-dimensional coordinate data memory 62 is read. Then, the coordinates (X ′, Y ′, Z ′) are orthogonalized to the basis vector 74 in the same direction as the direction of the basis vector X of the original XYZ coordinate system by using the inverse matrix of the matrix M and the basis vector 74. Is converted into coordinates (X, Y) of a two-dimensional coordinate system set by the base vector 73 to be converted, and the converted coordinates (X, Y) are converted to the corresponding element values of the three-dimensional coordinate data memory 62 in the two-dimensional coordinate data memory 63. It is stored at a position corresponding to the storage position of (X ′, Y ′, Z ′). This process is performed for all element values in the three-dimensional coordinate data memory 62.
[0089]
When the processing in step S22 is completed, the two-dimensional coordinate data memory 63 stores the XY coordinates of the original page data stored in the page data memory 31 and the two-dimensional coordinates on the plane 67 including the display device 11. A table indicating the correspondence with the dimensional coordinates is generated.
[0090]
Next, in step S23, the data of each pixel of the page data memory 31 is stored at the same position as that pixel in the two-dimensional data memory 63 by referring to the two-dimensional data memory 63 and the page data memory 31. The coordinates are stored at the position in the display image data memory 34 specified by the coordinates (X, Y) (that is, the position in the two-dimensional coordinates on the window 52 obtained as described above). At this time, if the coordinates where the pixel data should be stored in the display image data memory 34 are coordinates that do not exist in the display device 11, the pixel data is ignored. After that, the display image generation processing operation ends.
[0091]
FIG. 20 shows the transition of the coordinates by the coordinate conversion performed by the display image generation processing operation shown in FIG. FIG. 20A shows a two-dimensional coordinate system set on the two-dimensional paper surface 81. FIG. 20B shows a three-dimensional coordinate system set on a three-dimensional paper surface 51 in which a two-dimensional paper surface 81 is attached to a three-dimensional space placed in a three-dimensional space. The coordinates of each point on the plane 67 including the window 52 are also represented by a three-dimensional coordinate system set on the three-dimensional paper surface 51. FIG. 20C shows a two-dimensional coordinate system reset on the window 52. Then, the correspondence between the two-dimensional coordinates A on the two-dimensional paper surface 81 and the three-dimensional coordinates B on the three-dimensional paper surface 51 is given by the texture table 61. Further, the correspondence between the two-dimensional coordinates A on the two-dimensional paper surface 81 and the three-dimensional coordinates C on the window 52 is given by the three-dimensional coordinate data memory 62 created by the processing in step S21. Further, the correspondence between the two-dimensional coordinates A on the two-dimensional paper surface 81 and the two-dimensional coordinates D on the window 52 is given in the two-dimensional coordinate data memory 63 created by the processing in step S22.
[0092]
Then, in addition, the correspondence between the two-dimensional coordinates A of each point on the two-dimensional paper surface 81 shown in FIG. 20A and the two-dimensional coordinates D of each point on the window 52 shown in FIG. According to the information (two-dimensional coordinate data memory 63), the process of step S23 is to actually copy each pixel data of the two-dimensional paper surface 81 to the two-dimensional coordinate system set on the window 52.
[0093]
As described above, according to the present embodiment, the user tilts the data display device, and operates the upper scroll key 15, the lower scroll key 16, the left scroll key 17, the right scroll key 18, the zoom-in key 19, and the zoom-out key 20. By operation, the window 52, that is, the display device 11 can be virtually moved around the three-dimensional paper surface 51.
[0094]
Then, the contents of the first tilt register 35, the second tilt register 36, the X register 37, the Y register 38, and the Z register 39 are updated and virtually updated with the virtual movement of the display device 11, that is, the present data display device. In accordance with the contents of the registers 35 to 39, the display contents of the display device 11 are changed to reflect the relative positional relationship between the display device 11 and the paper surface 51 as the display device 11 moves.
[0095]
Therefore, according to the present data display device, an image as if the user views the paper surface 51 attached to a three-dimensional object arranged in a three-dimensional space through the window 52 moving around the virtual image is displayed on the display device 11. Can be output. In other words, it is possible to give the user an operational feeling similar to looking at a solid existing in the real world through a freely moving window, and the user can intuitively perform an operation of displaying a part that is not currently displayed on the display device 11. It can be done on a regular basis.
[0096]
In the present embodiment, a PDA type data display device as shown in FIG. 1 has been mainly described as an example, but the present invention is not limited to the PDA type. For example, the present invention is widely applicable to mobile phone terminals, notebook personal computers, and the like, and is not limited by the form of the data display device.
[0097]
Also, in the case where the paper surface 51 is a completely flat surface, the present embodiment is applied to change the position of the window 52 in accordance with the operation of the user or the movement of the data display device, thereby facilitating the browsing of the paper surface 51. Needless to say, it can be done.
[0098]
Another advantage obtained by attaching the paper surface 51 to a three-dimensional space arranged in a three-dimensional space and presenting the same as in the present embodiment is that the user can better grasp which hit on the paper surface the user is currently looking at. It is easy to do. This is an effect obtained when the texture table 61 gives three-dimensional coordinates on the three-dimensional paper surface 82 whose shape is completely different depending on the position, as shown in FIG. In this case, the three-dimensional paper surface 82 seen through the window 83 is almost flat, but the three-dimensional paper surface 82 seen through the window 84 is greatly convex. For this purpose, the user can determine which part of the three-dimensional paper 82 currently displayed on the display device 11 corresponds to which part of the original two-dimensional paper, without relying on auxiliary means such as a scroll bar. It can be more intuitively grasped only from the display contents. Therefore, even if the area of the display screen of the display device 11 is smaller than the paper space to be displayed, comfortable browsing of the data becomes possible.
[0099]
・ Second embodiment
As in the case of the first embodiment, the data display device of the present embodiment also sees a paper surface pasted on a three-dimensional object arranged in a three-dimensional space through a window moving around the three-dimensional space. Such an image is provided to the user. In addition, the first embodiment is also characterized in that the detection of the inclination of the window is performed by detecting the inclination of the data display device using a gyro, and the parallel movement and the forward and backward movement of the window are performed by a key operation of the user. This is the same as the case of the embodiment. Hereinafter, points different from the first embodiment will be briefly described.
[0100]
FIG. 22 shows the appearance of the data display device according to the present embodiment as viewed from the back. The appearance other than the back is the same as that of the data display device according to the first embodiment shown in FIG. The block diagram showing the functional configuration of the data display device is the same as that of FIG. 2, and the basic operation is the same as that of the flowchart shown in FIG.
[0101]
A camera 91 is provided on the back of the data display device according to the present embodiment. As shown in FIG. 23, the functional configuration of the display unit 24 in the present embodiment is basically the same as that in the first embodiment shown in FIG. However, in the present embodiment, an image sensor 92 is added. The image sensor 92 detects a parallel movement of the data display device based on an image captured by the camera 91 as shown in FIG. Note that, in FIG. 23, the same numbers as those in FIG.
[0102]
FIG. 25 is a block diagram showing a functional configuration of the image sensor 92. 25, the image sensor 92 includes a controller 93, a frame memory 94, a motion vector detector 95, a DX register 96, a DY register 97, and a data bus 98. Each component transmits and receives data via the data bus 98. The controller 93 can transmit and receive data to and from the CPU 45 of the display unit 24 via the data bus 98 and the data bus 46.
[0103]
FIG. 26 is a flowchart of the parallel movement detection processing operation executed under the control of the controller 93. Hereinafter, the operation of the image sensor 92 will be described with reference to FIG. It should be noted that the steps for which the processing means are not explicitly described are assumed to be processed by the controller 93 itself.
[0104]
In step S31, the image captured by the camera 91 is captured and sent to the frame memory 94. Thus, the image data for one frame captured by the camera 91 is stored in the frame memory 94. In step S32, it is determined whether or not the image transmitted to the frame memory 94 in step S31 is the first frame after the start of shooting. As a result, if it is the first frame, the process returns to step S31 to capture the image of the next frame. If it is not the first frame, the process proceeds to step S33.
[0105]
In step S33, the motion vector detector 95 refers to the image data stored in the frame memory 94, and calculates a motion vector from the image data of the continuous frames. In step S34, the X component of the motion vector calculated in step S33 is stored in the DX register 96, while the Y component is stored in the DY register 97. Here, if the motion vector detector 95 fails to calculate the motion vector in step S33 because the contents of the frame are suddenly switched, etc., the DX register 96 and the DY register 97 store “0”. Is written. Further, the value stored in the DX register 96 and the DY register 97 can be negative depending on the direction of movement of the data display device.
[0106]
In step S34, the stored value of the X register 37 is updated to a value obtained by adding a value obtained by multiplying the stored value of the DX register 96 by a predetermined value to the stored value. Similarly, the value stored in the Y register 38 is updated to a value obtained by adding a value obtained by multiplying the value stored in the DY register 97 by the predetermined value to the value stored in the Y register 38. Thus, the values stored in the X register 37 and the Y register 38 set by operating the up scroll key 15, the down scroll key 16, the left scroll key 17, and the right scroll key 18 are updated in accordance with the imaging result of the camera 91. Because The reason why the values of the DX register 96 and the DY register 97 are multiplied by the predetermined value is to prevent the operation of the image sensor 92 from becoming too sensitive or insensitive, and to obtain an appropriate operation feeling.
[0107]
After that, the process returns to step S31. In this way, the camera 91 is always taking a picture, and the detection of the motion vector and the updating of the X register 37 and the Y register 38 are always performed independently of the parallel movement detection processing operation shown in FIG.
[0108]
For the motion vector detector 95, for example, various known techniques such as those disclosed in Japanese Patent Publication No. 8-32048 can be applied, and detailed operations thereof are omitted.
[0109]
It should be noted that, as a supplement, the image displayed on the display device 11 is changed in accordance with the values stored in the X register 37 and the Y register 38, as in the case of the first embodiment. Therefore, when the user translates the entire data display device in parallel as shown in FIG. 24, the user operates one or more of the upper scroll key 15, the lower scroll key 16, the left scroll key 17, and the right scroll key 18. It has the same effect as.
[0110]
Further, in the present embodiment, the inclination detector 33 using the gyro 58 and the image sensor 92 are used together so that more various movements of the data display device can be detected. However, a configuration using only the image sensor 92 is of course also possible. In recent years, mobile phones and PDAs with built-in cameras have been put on the market, and most of them have been enabled to shoot moving images. With very little or no hardware to implement, it is very easy to implement.
[0111]
Further, in the present embodiment, the image sensor 92 is used for detecting only the parallel movement, but the rotation of the data display device itself is detected by detecting the rotation from consecutive frames by appropriate image processing. It is also possible. The meaning of such rotation with respect to the display is as described in the description of the processing in step S22 in the display image generation processing operation of FIG. 15 in the first embodiment.
[0112]
By the way, the specific hardware configuration of the data display device having the above-described functional configuration includes a program memory for storing various programs including a program for executing the above-described various processes, a data memory for storing various information, and communication such as the Internet. A communication I / F connected to a network, an input device, an output device, a display device, an external auxiliary storage device in which an external recording medium is set and accesses the external recording medium, the program memory, data memory, communication I / F, and input The CPU 21, 45, 60, etc., which controls a device, an output device, a display device, an external auxiliary storage device, and the like, and executes the data display processing operation, the display processing operation, the display image generation processing operation, and the like.
[0113]
That is, the keys 13 to 20 constitute the input device, the memories 23, 31, 62, 63, the registers 35 to 44, and the texture table 61 constitute the data memory and the external auxiliary storage device. Constitute the output device and the display device. The CPUs 21, 45, and 60 also perform various processing operations such as calculation / judgment processing, clocking processing, and input / output processing, in addition to the processing operations according to the present embodiment described above. In the above embodiment, the display unit 24 and the display image generator 32 are configured to be controlled by the dedicated CPUs 45 and 60. However, the control by the CPUs 45 and 60 is shared by the main CPU 21. But it doesn't matter.
[0114]
Further, the functions of the projection plane moving means, the display image generation means, the three-dimensional coordinate conversion means, the two-dimensional coordinate conversion means, the display image data conversion means, and the image display means by the CPUs 21, 45, and 60 in the above embodiment are as follows. Is realized by a data display program recorded on a program recording medium. The program recording medium in each of the above embodiments is a program medium composed of a ROM (Read Only Memory). Alternatively, it may be a program medium that is mounted on and read from the external auxiliary storage device. In any case, the program reading means for reading the data display program from the program medium may have a configuration of directly accessing and reading the program medium, or may be provided in a RAM (random access memory). May be downloaded to a program storage area (not shown), and the program storage area may be accessed and read. It is assumed that a download program for downloading from the program medium to the program storage area of the RAM is stored in the main device in advance.
[0115]
Here, the above-mentioned program medium is configured to be separable from the main body side, such as a tape system such as a magnetic tape or a cassette tape, a magnetic disk such as a floppy disk or a hard disk, a CD (compact disk) -ROM, an MO (magneto-optical). Disk system of optical disks such as disk, MD (mini disk), DVD (digital versatile disk), card system such as IC (integrated circuit) card and optical card, mask ROM, EPROM (ultraviolet erasing ROM), EEPROM (electric This is a medium that fixedly carries a program, including a semiconductor memory system such as a temporary erasing ROM) and a flash ROM.
[0116]
In the case where the data display device in the above embodiment has a configuration connectable to a communication network such as the Internet via a communication I / F, the program medium is downloaded by the communication network or the like. It may be a medium that carries the program fluidly. In this case, it is assumed that a download program for downloading from the communication network is stored in the main device in advance. Alternatively, it shall be installed from another recording medium.
[0117]
It should be noted that what is recorded on the recording medium is not limited to only a program, and data can also be recorded.
[0118]
【The invention's effect】
As is clear from the above, according to the present invention, based on the display image data generated by the display image generating means, the image display means projects the object onto the projection plane arranged in the virtual three-dimensional space. Can be displayed on the display screen. At this time, when the position of the projection plane is moved by the projection plane moving means, an image changed according to the relative position between the object and the projection plane in a virtual three-dimensional space is displayed on the display screen. You. Therefore, it is possible to give the user a more natural operation feeling similar to looking at a solid existing in the real world through a freely moving window.
[0119]
That is, according to the present invention, the user can intuitively perform an operation of displaying a portion that is not currently displayed on the display screen.
[0120]
Further, the projection plane moving means includes a motion detecting means and a direction detecting means for detecting a motion and a tilt of the data display device, and the projection is performed in accordance with a result detected by the motion detecting means and the tilt detecting means. If the position of the surface is moved, it is possible to provide a correspondence close to a correspondence occurring in the real world between a user operation on the data display device and a resulting change in display. Therefore, the user can browse the data of the three-dimensional shape more naturally and comfortably.
[0121]
Further, if the motion detection means is provided with an image pickup means and the movement of the data display device is detected based on the image data from the image pickup means, the mobile phone capable of taking a moving image by incorporating a camera can be provided. And PDA can be used without adding special hardware for motion detection.
[0122]
Further, if the object arranged in the virtual three-dimensional space is configured to include a curved surface or a plane on which a document having a two-dimensional shape is pasted, a three-dimensional image of the document can be displayed. Can be. Therefore, it is possible to intuitively grasp from the displayed content which position of the currently displayed document corresponds to the original two-dimensional document. As a result, even when the display screen is smaller than the size of the document, more comfortable browsing of data becomes possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing an appearance of a data display device of the present invention.
FIG. 2 is a block diagram showing a functional configuration of the data display device shown in FIG.
FIG. 3 is a flowchart of a data display processing operation executed under the control of a main CPU in FIG. 2;
FIG. 4 is a block diagram illustrating a functional configuration of a display unit in FIG. 2;
FIG. 5 is a flowchart of a display processing operation executed under the control of the CPU in FIG. 4;
FIG. 6 is an explanatory diagram of values stored in an X register, a Y register, and a Z register in FIG. 4;
FIG. 7 is an explanatory diagram of a parallel projection of a paper surface onto a window in FIG. 6;
FIG. 8 is an explanatory diagram of projection of the window in FIG. 6 around a point on the paper surface.
FIG. 9 is an explanatory diagram of values stored in a first inclination register and a second inclination register in FIG. 4;
FIG. 10 is a block diagram of the tilt detector in FIG. 4;
FIG. 11 is an explanatory diagram of initialization of each register in FIG. 4 to “0”;
FIG. 12 is a block diagram of a display image generator in FIG. 4;
FIG. 13 is a diagram schematically illustrating a structure of a texture table in FIG. 12;
14 is a diagram schematically showing a structure of a two-dimensional coordinate data memory in FIG.
FIG. 15 is a flowchart of a display image generation processing operation by the display image generator shown in FIG.
16 is an explanatory diagram of a conversion process to three-dimensional coordinates in the display image generation processing operation shown in FIG.
17 is an explanatory diagram of a case where a normal vector of a plane from a point on the paper intersects the paper itself before intersecting with the plane in FIG.
FIG. 18 is an explanatory diagram of a conversion process to two-dimensional coordinates in the display image generation processing operation.
19 is an explanatory diagram of three basis vectors representing a new three-dimensional coordinate system different from the three-dimensional coordinate system shown in FIG.
FIG. 20 is a diagram showing a change in coordinates due to coordinate conversion performed in the display image generation processing operation shown in FIG.
FIG. 21 is an explanatory diagram of an advantage obtained by pasting and presenting a sheet on a three-dimensional object arranged in a three-dimensional space.
FIG. 22 is an external view of a data display device different from the data display device shown in FIG. 1 as viewed from the back.
23 is a block diagram showing a functional configuration of a display unit in the data display device shown in FIG.
FIG. 24 is an explanatory diagram of parallel movement detection by the data display device shown in FIG. 22;
25 is a block diagram showing a functional configuration of the image sensor in FIG.
26 is a flowchart of a parallel movement detection processing operation by the image sensor in FIG.
FIG. 27 is an explanatory diagram of a basic concept for giving a correspondence close to a correspondence occurring in the real world between a user operation and a change in a display represented as a result.
FIG. 28 is a diagram showing an example of a figure seen from a window in FIG. 27;
FIG. 29 is a diagram showing another example of the figure seen from the window in FIG. 27;
[Explanation of symbols]
11 display device,
15 ... Up scroll key,
16 ... Down scroll key,
17 left scroll key,
18 right scroll key,
19 ... Zoom in key,
20 ... Zoom out key,
21 ... Main CPU,
23 ... display data memory,
24 display unit,
31 ... Page data memory,
32 ... display image generator
33 ... tilt detector,
34 ... display image data memory,
35 ... first inclination register,
36 ... second tilt register,
37 ... X register,
38 ... Y register,
39 ... Z register,
45, 60 ... CPU,
51, 82 ... three-dimensional space,
52, 83, 84 ... windows,
54 ... the center point of the window,
55 ... the origin of the three-dimensional coordinate system,
56 ... normal vector,
57, 93 ... controller,
58 ... Gyro,
61 ... texture table,
62 ... three-dimensional coordinate data memory,
63 ... two-dimensional coordinate data memory,
67 ... plane including window,
81: two-dimensional paper,
91… Camera,
92 ... Image sensor,
94 ... frame memory,
95 ... Motion vector detector,
96 ... DX register,
97: DY register.

Claims (11)

仮想的な3次元空間内に配置されると共に、表示の対象となるオブジェクトの表示データが格納される表示データメモリと、
上記仮想的な3次元空間内に在って上記オブジェクトが射影される射影面の位置を移動させる射影面移動手段と、
上記表示データに基づいて、上記仮想的な3次元空間における上記オブジェクトと射影面との相対位置に応じて、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データを生成する表示画像生成手段と、
上記生成された表示画像データに基づいて、上記射影面に対する上記オブジェクトの射影の少なくとも一部の画像を表示画面に表示する画像表示手段
を備えたことを特徴とするデータ表示装置。
A display data memory arranged in a virtual three-dimensional space and storing display data of an object to be displayed;
Projecting surface moving means for moving a position of a projecting surface on which the object is projected in the virtual three-dimensional space;
Based on the display data, display image data for displaying at least a part of the projection of the object on the projection plane is generated according to a relative position between the object and the projection plane in the virtual three-dimensional space. Display image generating means for performing
A data display device comprising: an image display unit that displays, on a display screen, at least a part of an image of the projection of the object on the projection plane based on the generated display image data.
請求項1に記載のデータ表示装置において、
上記射影面移動手段は、本データ表示装置の動きを検出する動き検出手段を備えて、この動き検出手段によって検出された本データ表示装置の動きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
The data display device according to claim 1,
The projection plane moving means includes a movement detecting means for detecting a movement of the present data display device, and moves the position of the projection plane in accordance with the movement of the present data display device detected by the movement detecting means. A data display device characterized in that:
請求項2に記載のデータ表示装置において、
上記動き検出手段は、
本データ表示装置の周囲を撮影して、得られた画像データを出力する撮像手段と、
上記撮像手段からの画像データに基づいて、本データ表示装置の動きを検出する画像センシング手段
を備えたことを特徴とするデータ表示装置。
The data display device according to claim 2,
The above motion detecting means,
Imaging means for photographing the periphery of the present data display device and outputting the obtained image data;
A data display device comprising: an image sensing means for detecting a movement of the data display device based on image data from the imaging means.
請求項3に記載のデータ表示装置において、
上記画像センシング手段は、本データ表示装置の動きベクトルを検出する動きベクトル検出手段を備えて、この動きベクトル検出手段によって検出された動きベクトルに基づいて本データ表示装置の平行移動を検出するようになっていることを特徴とするデータ表示装置。
The data display device according to claim 3,
The image sensing means includes a motion vector detecting means for detecting a motion vector of the data display device, and detects a parallel movement of the data display device based on the motion vector detected by the motion vector detecting means. A data display device, comprising:
請求項3または請求項4に記載のデータ表示装置において、
上記撮像手段は、上記表示画面の裏面に配置されたカメラであることを特徴とするデータ表示装置。
The data display device according to claim 3 or 4,
The data display device, wherein the imaging means is a camera arranged on a back surface of the display screen.
請求項1に記載のデータ表示装置において、
上記射影面移動手段は、本データ表示装置の傾きを検出する傾き検出手段を備えて、この傾き検出手段によって検出された傾きに応じて、上記射影面の位置を移動させるようになっていることを特徴とするデータ表示装置。
The data display device according to claim 1,
The projection plane moving means includes inclination detection means for detecting an inclination of the data display device, and moves the position of the projection plane in accordance with the inclination detected by the inclination detection means. A data display device characterized by the above-mentioned.
請求項6に記載のデータ表示装置において、
上記傾き検出手段は、ジャイロを用いて構成されていることを特徴とするデータ表示装置。
The data display device according to claim 6,
The data display device, wherein the inclination detecting means is configured using a gyro.
請求項1に記載のデータ表示装置において、
上記表示画像生成手段は、
上記仮想的な3次元空間を表す3次元座標系において、上記オブジェクト上の各点の座標を、上記各点が上記射影面に射影されて成る各点の座標に変換する3次元座標変換手段と、
上記射影面上に2次元座標系を設定し、上記射影面に射影された各点の3次元座標を上記2次元座標系での座標に変換する2次元座標変換手段と、
上記射影面に射影された各点の2次元座標に基づいて、上記表示データメモリに格納された上記オブジェクトの表示データを、上記射影面に対する上記オブジェクトの射影の少なくとも一部を表示するための表示画像データに変換する表示画像データ変換手段
を備えたことを特徴とするデータ表示装置。
The data display device according to claim 1,
The display image generating means includes:
Three-dimensional coordinate conversion means for converting the coordinates of each point on the object into coordinates of each point obtained by projecting each point on the projection plane in a three-dimensional coordinate system representing the virtual three-dimensional space; ,
Two-dimensional coordinate conversion means for setting a two-dimensional coordinate system on the projection plane and converting three-dimensional coordinates of each point projected on the projection plane into coordinates in the two-dimensional coordinate system;
Displaying the display data of the object stored in the display data memory on the basis of the two-dimensional coordinates of each point projected on the projection plane, for displaying at least a part of the projection of the object on the projection plane A data display device comprising a display image data conversion means for converting image data into image data.
請求項1乃至請求項8の何れか1つに記載のデータ表示装置において、
上記仮想的な3次元空間に配置されたオブジェクトは曲面または平面を有しており、この曲面または平面に沿って文書が貼り付けられていることを特徴とするデータ表示装置。
The data display device according to any one of claims 1 to 8,
The data display device, wherein the object arranged in the virtual three-dimensional space has a curved surface or a plane, and a document is pasted along the curved surface or the plane.
コンピュータを、
請求項8における射影面移動手段,3次元座標変換手段,2次元座標変換手段,表示画像データ変換手段および画像表示手段
として機能させることを特徴とするデータ表示プログラム。
Computer
9. A data display program functioning as a projection plane moving means, a three-dimensional coordinate conversion means, a two-dimensional coordinate conversion means, a display image data conversion means and an image display means according to claim 8.
請求項10に記載のデータ表示プログラムが記録されたことを特徴とするコンピュータ読出し可能なプログラム記録媒体。A computer-readable program recording medium on which the data display program according to claim 10 is recorded.
JP2003106125A 2003-04-10 2003-04-10 Data display device, data display program, and program recording medium Pending JP2004309947A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003106125A JP2004309947A (en) 2003-04-10 2003-04-10 Data display device, data display program, and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003106125A JP2004309947A (en) 2003-04-10 2003-04-10 Data display device, data display program, and program recording medium

Publications (2)

Publication Number Publication Date
JP2004309947A true JP2004309947A (en) 2004-11-04
JP2004309947A5 JP2004309947A5 (en) 2006-05-25

Family

ID=33468404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003106125A Pending JP2004309947A (en) 2003-04-10 2003-04-10 Data display device, data display program, and program recording medium

Country Status (1)

Country Link
JP (1) JP2004309947A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006184573A (en) * 2004-12-27 2006-07-13 Toppan Printing Co Ltd Image display device and image display system
JP2006208560A (en) * 2005-01-26 2006-08-10 Nec Corp Liquid crystal display apparatus, mobile communication terminal device and liquid crystal display method
JP2008097599A (en) * 2006-10-11 2008-04-24 Internatl Business Mach Corp <Ibm> Method and system of virtual window with simulated parallax and field of view change, and recording medium recording computer program (virtual window with simulated parallax and field of view change)
JP2014135086A (en) * 2010-08-04 2014-07-24 Apple Inc Three dimensional user interface effects on display by using properties of motion
WO2015156128A1 (en) * 2014-04-07 2015-10-15 ソニー株式会社 Display control device, display control method, and program
US9411413B2 (en) 2010-08-04 2016-08-09 Apple Inc. Three dimensional user interface effects on a display
WO2019225734A1 (en) * 2018-05-24 2019-11-28 株式会社 Preferred Networks Rendering device, learning device, rendering method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1118025A (en) * 1997-06-24 1999-01-22 Fujitsu Ltd Image display device
JP2002298160A (en) * 2001-03-29 2002-10-11 Namco Ltd Portable image generating device and program, and information storage medium
JP2004271671A (en) * 2003-03-06 2004-09-30 Sharp Corp Image display apparatus and terminal device equipped with the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1118025A (en) * 1997-06-24 1999-01-22 Fujitsu Ltd Image display device
JP2002298160A (en) * 2001-03-29 2002-10-11 Namco Ltd Portable image generating device and program, and information storage medium
JP2004271671A (en) * 2003-03-06 2004-09-30 Sharp Corp Image display apparatus and terminal device equipped with the same

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006184573A (en) * 2004-12-27 2006-07-13 Toppan Printing Co Ltd Image display device and image display system
JP4687102B2 (en) * 2004-12-27 2011-05-25 凸版印刷株式会社 Image display device and image display system
JP2006208560A (en) * 2005-01-26 2006-08-10 Nec Corp Liquid crystal display apparatus, mobile communication terminal device and liquid crystal display method
JP2008097599A (en) * 2006-10-11 2008-04-24 Internatl Business Mach Corp <Ibm> Method and system of virtual window with simulated parallax and field of view change, and recording medium recording computer program (virtual window with simulated parallax and field of view change)
US9411413B2 (en) 2010-08-04 2016-08-09 Apple Inc. Three dimensional user interface effects on a display
JP2014135086A (en) * 2010-08-04 2014-07-24 Apple Inc Three dimensional user interface effects on display by using properties of motion
US9417763B2 (en) 2010-08-04 2016-08-16 Apple Inc. Three dimensional user interface effects on a display by using properties of motion
US9778815B2 (en) 2010-08-04 2017-10-03 Apple Inc. Three dimensional user interface effects on a display
WO2015156128A1 (en) * 2014-04-07 2015-10-15 ソニー株式会社 Display control device, display control method, and program
JPWO2015156128A1 (en) * 2014-04-07 2017-04-13 ソニー株式会社 Display control apparatus, display control method, and program
WO2019225734A1 (en) * 2018-05-24 2019-11-28 株式会社 Preferred Networks Rendering device, learning device, rendering method, and program
JPWO2019225734A1 (en) * 2018-05-24 2021-05-27 株式会社Preferred Networks Rendering device, learning device, rendering method and program
JP7119081B2 (en) 2018-05-24 2022-08-16 株式会社Preferred Networks Projection data generation device, three-dimensional model, projection data generation method, neural network generation method and program
US11443485B2 (en) 2018-05-24 2022-09-13 Preferred Networks, Inc. Rendering device, rendering method, 3D model generating method, neural network model generating method, and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
US11276183B2 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
CN109683716B (en) Visibility improvement method based on eye tracking and electronic device
US7557816B2 (en) Image processing apparatus, method and computer-readable storage medium for generating and presenting an image of virtual objects including the operation panel viewed from the position and orientation of the viewpoint of the observer
CN111324250B (en) Three-dimensional image adjusting method, device and equipment and readable storage medium
JP2022537614A (en) Multi-virtual character control method, device, and computer program
JP5793082B2 (en) Electronic publication browsing apparatus, electronic publication browsing method, program, and integrated circuit
JP2009278456A (en) Video display device
CN112230914A (en) Method and device for producing small program, terminal and storage medium
JP5523086B2 (en) Information presenting apparatus, information presenting method, and program
US20090251492A1 (en) Storage medium storing image conversion program and image conversion apparatus
JP2016103137A (en) User interface system, image processor and control program
US8941767B2 (en) Mobile device and method for controlling the same
KR101539087B1 (en) Augmented reality device using mobile device and method of implementing augmented reality
JP2004309947A (en) Data display device, data display program, and program recording medium
CN112396076A (en) License plate image generation method and device and computer storage medium
EP0817133A2 (en) Opaque screen visualizer
JP2004271671A (en) Image display apparatus and terminal device equipped with the same
JP5805013B2 (en) Captured image display device, captured image display method, and program
WO2018192455A1 (en) Method and apparatus for generating subtitles
JP4703744B2 (en) Content expression control device, content expression control system, reference object for content expression control, and content expression control program
JP4550460B2 (en) Content expression control device and content expression control program
JP2003150599A (en) Electronic publication browsing method and device therefor, book for electronic publication browsing, electronic publication browsing program and recording medium program with the program recorded thereon
CN112907702A (en) Image processing method, image processing device, computer equipment and storage medium
CN111583375A (en) Virtual picture display method, device, equipment and storage medium
JP2008181015A (en) Image display device, and image display program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091029

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100713