JP2004078121A - 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 - Google Patents
表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2004078121A JP2004078121A JP2002242089A JP2002242089A JP2004078121A JP 2004078121 A JP2004078121 A JP 2004078121A JP 2002242089 A JP2002242089 A JP 2002242089A JP 2002242089 A JP2002242089 A JP 2002242089A JP 2004078121 A JP2004078121 A JP 2004078121A
- Authority
- JP
- Japan
- Prior art keywords
- display
- correction
- user
- range
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012937 correction Methods 0.000 title claims description 423
- 238000000034 method Methods 0.000 title claims description 245
- 238000001514 detection method Methods 0.000 claims description 72
- 230000009466 transformation Effects 0.000 claims description 65
- 230000002441 reversible effect Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 description 136
- 230000000694 effects Effects 0.000 description 124
- 230000008569 process Effects 0.000 description 100
- 238000003860 storage Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 18
- 230000009467 reduction Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 12
- 239000004973 liquid crystal related substance Substances 0.000 description 9
- 238000003672 processing method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 210000001525 retina Anatomy 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 210000005252 bulbus oculi Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 210000000887 face Anatomy 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
Abstract
【課題】ユーザーを煩わせることなく、表示手段を斜めから見た場合の表示内容の歪みを補正して見やすくすることを目的とする。
【解決手段】表示面に対するユーザーの視線方向をセンサーなどを利用して取得(S3)する。表示面に正面に向き合って表示内容を見る時と同じように、取得したユーザーの視線方向から見えるように、表示内容を補正(S4)して表示(S5)する。
【選択図】 図1
【解決手段】表示面に対するユーザーの視線方向をセンサーなどを利用して取得(S3)する。表示面に正面に向き合って表示内容を見る時と同じように、取得したユーザーの視線方向から見えるように、表示内容を補正(S4)して表示(S5)する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ユーザーが表示手段を斜めから見た時に視覚される表示内容の歪を、ユーザーと表示手段の位置関係を変えることなく、ユーザーが表示手段に正対して見ているかのような状態に表示内容を補正して表示する表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
通常、文書などの印刷物や街頭のポスター、TV、パソコン(パーソナルコンピュータ)のモニター、文書などを電子的にディスプレイに表示させる表示装置などは、一方的に表示を行うだけであり、ユーザーの位置や方向に応じて、表示内容を自動的に見易くするような表示制御は行われていない。
【0003】
これに対して、特開平10−42331号公報では、表示部の水平面に対する角度に応じて表示濃度を制御する方法が述べられている。これによって、例えば液晶ディスプレイなど、見る方向によって視覚できる濃度が変わってしまうようなディスプレイであっても、表示濃度が表示部の水平面に対する角度に応じて調節されるので、どの角度でも見やすい表示を行うことができる旨が記載されている。
【0004】
また、特開平10−260666号公報には、表示手段の表示画面と、表示画面に相対する人の顔との距離を距離センサで計測し、計測した距離に応じて、表示画面に表示する表示情報の表示サイズを変更することができる表示制御装置が記載されている。
【0005】
【発明が解決しようとする課題】
ところが、特開平10−42331号公報では、表示部の水平面に対する角度に応じて表示濃度を変えているが、これは主にディスプレイの特性に端を発する問題の解決を図ろうとするものであり、ディスプレイを斜めから見た場合の見にくさを、表示濃度の変更だけで解消することはできない。なぜなら、ディスプレイを斜めから見た場合の見にくさには、他にもディスプレイの特性に寄らない共通した原因があるためである。それはディスプレイを斜めから見た場合に知覚される歪である。
【0006】
図11は、ある文書を正面から見た場合の図だが、これを斜めから見た場合、図12のように見える。それぞれの文字が横方向に歪んで縮んでしまっていて、非常に見にくいという問題がある。
【0007】
また、図12では右端部分の高さが左端部分の高さに比べて小さくなっている。これは透視変換(遠近法)による効果であるが、これによって、それぞれの文字が横方向だけでなく、縦方向にも歪んで縮んでしまい、非常に見にくいという問題がある。文字などが小さくなるだけでなく、図なども歪んでしまい、例えば90度に直交していた部分が透視変換効果により、直交していないように見えてしまうという問題がある。
【0008】
表示手段を回転したり、持ち運びできたりすれば解決することができる場合もあるが、例えば冷蔵庫や壁などに表示手段が埋め込まれていて、大きくて/重くて/固定されていて回転や持ち運びが困難である場合などがある。
【0009】
その場合、ユーザーが表示手段の正面まで行って見るという手間がかかるという問題がある。例えば、冷蔵庫や壁に貼られた/表示されたレシピを見ながら料理したいと思っても、調理台からは斜めで見にくいため、レシピの正面に移動して見て、また調理台に戻る、などという面倒臭いことを繰り返さなければいけない。
【0010】
また、たとえ回転や持ち運びが可能であったとしても、その手間などが問題となる。例えば、本や資料を手に持たずに、机やベッドなどの上に広げて斜め方向から読むということは日常行われていることである。これは手に持つのが疲れるとか、手で何か他の作業をしながら読みたいなど、手に持つことが好ましくない様々な理由があるからである。
【0011】
なお、特開平10−260666号公報に記載された表示制御装置は、人の顔と相対する表示面との距離に応じて表示情報の表示サイズを変更するに過ぎないので、表示面を斜めから見たときの見にくさについては全く考慮されていない。
したがって、表示面に付属した距離センサから等距離にある球面上で人の顔が移動する限り、距離センサが距離を計測できたとしても、表示制御は何も行われないことになる。この結果、表示面を斜めから見るユーザーは、図12で説明したのと同様に、歪んだ表示内容を見ることしかできない。
【0012】
本発明は、ユーザーを煩わせることなく、表示手段の表示面を斜めから見た場合の表示内容の歪みを補正して見やすくすることを課題とする。
【0013】
【課題を解決するための手段】
本発明に係る表示補正装置は、上記の課題を解決するために、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出手段と、表示面にユーザーが正対した場合を基準として、前記方向検出手段から得た視線方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0014】
ここで、「ユーザーの視線方向」とは、表示面を基準とした相対的なものであり、絶対座標系における絶対的な方向ではない。またその方向は、「右に何度」というような精度の高い情報の場合もあるし、単に「左」「正面」「右」などという精度の粗い情報の場合もある。また方向は、左右(図2参照。表示面にユーザーが正対した場合を基準とすれば表示手段の左右方向に振れる回転をヨーと言い換えることができる)の軸だけでなく、上下(ピッチ)や回転(ロール)の軸から1軸が選択される場合もあり、また、それらが2軸、3軸と組み合わされる場合もある。
【0015】
方向検出手段は、何らかの情報を元に表示面に対するユーザーの視線方向の情報を得ることができる手段である。元にする情報を得る方法として、例えば、何らかのセンサーを利用する方法が考えられる。センサーから得られる情報から方向が直接得られる場合もあるし、得られる情報を元に処理して方向を算出する場合もある。
【0016】
センサーとしては、例えば非接触タイプでは、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、ユーザーの視線方向の情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。視線方向を得る処理としては、例えば、センサーから得られる信号から、検出範囲内のユーザーの有無が特定できるので、ユーザーの存在する範囲が特定できる。その結果、表示手段とユーザーの存在する範囲との位置関係から、視線方向を算出することができる。
【0017】
センサーを利用しない方法としては、ユーザー自身がどの方向にいるかをボタンや音声などの手段を用いて直接伝えるという方法もある。あるいは周囲の機器の使用状況などからユーザーの存在位置を推測するという方法なども考えられる。
【0018】
また、「表示面にユーザーが正対した場合」とは、ユーザーが表示面を見た時の視線が表示面と垂直に交わり、かつ、視線の軸周りの回転(ロール)が無い場合を指す。視線の軸周りの回転(ロール)が無い場合とは、表示面の上下方向とユーザーの顔の上下方向が同じになる場合である。
【0019】
また、「歪」とは、表示手段にユーザーが正対した場合に見える表示内容と、現在のユーザーの視線方向から見た場合に見える表示内容との差である。例えば、紙面を左斜め方向から見た場合、紙面は左右に縮んで見える。これは透視変換効果が原因であり、厳密にはあらゆる場合において起きているが、紙面が相対的にそれほど大きくない場合は、左右方向以外の歪は無視して、左右方向のみが縮んだ歪として扱うことも可能である。
【0020】
但し、基準状態を、表示手段にユーザーが正対した場合でなく、いずれかの方向から見た状態に設定する場合は、その状態の時に見える表示内容との差を歪とする場合もある。また視線の軸周りの回転(ロール)は、回転処理によって戻すことができるので、拡大縮小や表示面に対する視線方向の角度の変化が起きる訳ではないが、正対した状態との差という意味で、ここでは広義として歪の中に含まれるとする。
【0021】
「歪を無くして、あるいは軽減して表示内容を補正する」とは、歪んだように見える表示内容を、表示面に対するユーザーの視線方向はそのままでありながら、表示内容の見た目は正対した時のように、あるいはそれに近づけて見せるようにすることを言う。完全に正対したようにした場合が「歪を無くした」場合であり、正対した状態に近づけた場合が「歪を軽減した」場合である。
【0022】
例えば、表示手段の表示面に対する垂直線方向(0度)から60度の角度方向にユーザーが存在した場合、それを0度から見た正対状態に見せることが「歪を無くす」ことであり、例えば30度の角度方向から見たように見せることが「歪を軽減する」ことである。但し、0度や30度の角度方向から見たように正確に見せる場合だけでなく、それに近い場合、例えば、逆透視変換ではなく、左右など1軸方向だけの拡大縮小を行った場合などの擬似的な処理も補正に含む。また、ヨーやピッチ方向だけでなく、ロール方向の補正も含む。
【0023】
そこで、本発明に係る表示補正装置によれば、方向検出手段によって表示面からのユーザーの視線方向の情報が得られる。得られた視線方向から表示面中の表示内容を見た時に見える像は、表示面にユーザーが正対した場合に見える像とは異なり、その方向分だけ歪んでいる。そこで、得られた視線方向から見た時に、その歪が無くなる、あるいは軽減されるように、逆透視変換やその他の拡大縮小、回転、再配置などの処理によって表示手段に表示される表示内容を補正し、それを表示手段で表示する。すなわち、表示手段を駆動するのに用いる表示データを加工する。
【0024】
これによって、ユーザーが正対した状態以外の視線方向から表示面を見た時に、その歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。また、ユーザーが表示手段に正対した状態で無い場合、表示手段を回転させたり、移動させたり、表示手段の正面近くにユーザーが移動するといった操作や動作をせず、表示手段の向きを変えた状態を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0025】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、表示内容全体を補正単位として補正することを特徴とする。
【0026】
「補正単位」とは、補正を行う対象の範囲であり、通常、同じ補正式あるいは同じ補正パラメータを使って補正される。
【0027】
「表示内容全体を補正単位として補正する」とは、表示内容全体が一枚の画像であるかのように扱い、画像全体の範囲を同じ補正式あるいは同じ補正パラメータを使って補正することである。画像(表示内容)の一部分の範囲内だけを補正することではない。また、画像(表示内容)を複数の領域に区分し、その区分した領域毎に補正式や補正パラメータを使った演算処理を行い、領域毎の補正結果を用いて表示内容を再構成することによって、表示内容全体を補正することではない。
【0028】
例えば、補正後の画像の各位置の画素に対応する、補正前の表示内容の画像の位置を補正手段で求める。補正前の表示内容の画像上で、求めた位置の画素値を得て、その画素値を先の補正後の画素の位置の画素値とする。補正後の画素の位置を順にずらして補正後の画素値を同様に求めることで、表示内容全体を補正することができるようになる。
【0029】
これにより、表示内容のデータ構造に依存せず、表示できるものならばどんなデータであっても補正することができる効果が出てくる。
【0030】
本発明に係る表示補正装置は、上記の課題を解決するために、表示される情報が一つ以上の表示対象要素からなり、前記補正手段において、個々の表示対象要素を補正単位として補正することを特徴とする。
【0031】
「表示対象要素」とは、表示の対象となる個々の要素であり、例えば、個々の文字や画像などが相当する。表示内容は、通常、複数の表示対象要素の配列または集合として構成される。
【0032】
「個々の表示対象要素を補正単位として補正する」とは、個々の表示対象要素の範囲内を補正することである。言い換えれば、ある表示対象要素を構成する各画素に対してだけ、補正式や補正パラメータを使った演算処理を行うことである。ここでは、補正後の表示対象要素中の各画素の値は、表示内容全体を補正単位として補正した画像内で対応する位置の画素の値と、変わらないとする。
【0033】
個々の表示対象要素以外の範囲、例えば表示対象要素の周囲の余白を構成する画素については本発明の補正処理対象ではない。しかし、例えば、ある表示対象要素を拡大補正した結果、余白を構成していた画素が、拡大補正された表示対象要素の画素に置き換わるように補正されるのは当然である。
【0034】
上記の構成によれば、補正手段は、1つの表示対象要素に対する補正のパラメータを決めて、補正を行う。補正方法自体は、先に説明した補正方法と同じでよいが、表示対象要素の位置などによって、各表示対象要素、もっと細かく言えば、各表示対象要素内の各画素の補正に使われるパラメータなどは異なってくる場合がある。パラメータとしては、例えば、拡大縮小率、回転量や、座標系を変換する行列などがある。全ての画素に対して一律に拡大縮小する場合などは、パラメータは同じだが、逆透視変換などする場合は、画素の位置によって、補正のパラメータは変わってくる。
【0035】
これを個々の表示対象要素について繰り返すことで、個々の表示対象要素の補正が行われる。なお、補正された後の表示対象要素の位置は、表示内容全体を補正する時の補正結果と重なる位置にする場合と、配置し直す場合とがある。
【0036】
これによって、表示内容全体を補正するより、補正対象となる範囲が少なくなる可能性が高まるので、処理量が減る可能性が高まるという効果が出てくる。
【0037】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0038】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、表示手段の表示範囲の大きさとの関係で、表示対象要素の位置を配置し直すことを特徴とする。
【0039】
個々の表示対象要素の補正の仕方は上述した方法と同様である。個々の表示対象要素を補正した後、それを配置し直す(「再配置」、「再レイアウト」などとも呼ぶ)。配置は、ある決まった方法に則って行われる。通常は、表示内容が意味的に途切れず、かつ、表示手段の横幅あるいは縦幅の中に収まりきるように配置する。WWW(World Wide Web)ブラウザの個々の文字や画像を表示対象要素と考えた場合、WWWブラウザのウィンドウの幅や文字の大きさを変えた時に、文字や画像を再配置する方法は、典型的な例である。再配置の処理は、個々の表示対象要素を補正しながら逐次的に行ってもよいし、全ての表示対象要素を補正した後にまとめて行ってもよい。
【0040】
表示内容自体の量が多くて、表示手段内に収まらないことは元々ありえるが、その場合は通常、縦あるいは横に表示内容をスクロールしたりページを切り替えたりして読む。その時、表示手段内に表示されている範囲では、意味が途切れないようになっているのが普通である。
【0041】
行を使って分かりやすく説明すれば、「表示手段内に収まらない」とは、全部の行は表示されていないということであり、「表示手段内に表示されている範囲では、意味が途切れない」とは、表示されている範囲の行は、1行の文字全てが表示されているということである。1行の幅が表示手段幅より大きくて、半分しか表示されないということはなく、表示手段幅を超える分の文字は、次の行に折り返されて表示される。
【0042】
もしスクロールバーを使って表示する場合、スクロールバーは縦あるいは横の1方向しか表示されない。縦と横の両方にスクロールバーが出ることはない。この場合、表示手段内に表示されている範囲を見ると、全ての行は表示されてはいないが、その一部は意味的に途切れなく表示されているので、理解しやすい。スクロールバーなどを使って表示範囲を縦あるいは横に変更するだけで、全ての行を見ることもできる。
【0043】
単に表示内容全体を補正する場合は、拡大されて表示手段内に収まらない場合が出てくる可能性がある。個々の表示対象要素の補正後の位置を、表示内容全体を補正する時の補正結果と重なる位置にする場合も、同様に表示手段内に収まらない場合が出てくる可能性がある。
【0044】
表示内容全体を補正した結果を、スクロールバーを使って表示するとした場合、縦と横の両方にスクロールバーが出る可能性もある。この場合、表示手段内に表示されている範囲を見ただけでは、文章などが途切れてしまう。先の行の例で言えば、行の一部しか表示されなくなってしまう。従って、表示内容が非常に理解しにくくなってしまう。文章などを途切れなく読もうとしたら、表示範囲を縦や横に変更する必要があるが、縦と横の両方のスクロールバーを操作せねばならず、しかも毎行その操作を行わなければならなくなるので、操作も非常に手間がかかる。
【0045】
そこで、補正後の表示対象要素を表示手段の表示範囲の大きさとの関係で配置し直すことで、表示手段の横幅あるいは縦幅の中に収まりきるように配置することができる。すなわち、表示手段内に表示されている範囲では、意味が途切れないように表示させることができるようになり、理解し易くなる効果が出てくる。
また、スクロールバーなどを使う場合も、縦あるいは横の1方向だけで済むので、縦と横の両方にスクロールバーがある状態に比べて、操作が容易となる効果が出てくる。
【0046】
また、例えば、補正が1方向、例えば横方向に拡大する処理の場合、個々の表示対象要素を横に拡大した大きさのものとして扱うと、結局、表示対象要素をレイアウトする処理に変わりはなくなる。単に個々の表示対象要素の横幅などが大きくなっているだけである。レイアウト処理結果は異なるが、レイアウトする時の処理手順は同じである。従って、再レイアウトの処理は正対した時にレイアウト処理する時と同じ処理方法を使うことができる効果が出てくる。
【0047】
また表示に関しても、例えば表示対象要素が文字の場合、横に拡大した文字の画像を生成して、その画像の表示をOS(Operating System)に実行させるよりも、横の拡大率が指定された文字の表示をOSに実行させた方が、多くのOSでは高速に実行できるという効果も出てくる。
【0048】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0049】
本発明に係る表示補正装置は、上記の課題を解決するために、前記方向検出手段において、ユーザーの視線方向の情報を、3次元空間の3軸のうち1軸または2軸の回転に関して得ることを特徴とする。
【0050】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、このうち1軸あるいは2軸だけの情報を得ればよいことになる。
【0051】
ユーザーの視線方向は、例えばセンサーなどによって得ることができるが、3軸よりは2軸、2軸よりは1軸だけの情報を得る方が、必要なセンサーの数を少なくできたり、より安価なセンサーを使用することができるようになる。
【0052】
これによって、ユーザーの視線方向の情報を得る為のコストを抑えることができる効果が出てくる。
【0053】
なお、2軸の回転に関する情報としては、上下方向(ピッチ)、左右方向(ヨー)、視線回り方向(ロー)の3軸回り方向の内、上下方向(ピッチ)および左右方向(ヨー)を選択すると、表示面を斜めから見たときの歪を補正することができ、補正効果が大きくなる。
【0054】
但し、3軸回り方向の内、どの1軸または2軸の組み合わせを選択するかは、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して決めればよい。また、表示面に対するユーザーの視線方向を統計的に検出し、出現頻度の高い視線方向に合わせて、1軸または2軸の組み合わせを選択してもよい。
【0055】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0056】
本発明に係る表示補正装置は、上記の課題を解決するために、前記方向検出手段において、表示手段とユーザーの間の距離の情報を得ることを特徴とする。
【0057】
ここまでは、視線方向の情報を得て歪みを補正する構成を説明したが、歪は透視変換効果により発生しており、視線方向が一緒でも距離が異なれば歪具合(透視変換効果)も変わってくる為、補正処理において、視線方向の情報だけでは完全な補正処理を行うことはできない。
【0058】
そこで、上記の構成により、方向検出手段が、表示手段とユーザーの間の距離の情報も得て、補正手段が、視線方向の情報に加えて距離の情報も使うことで、歪を完全に除去したり、処理を多少簡易にして、完全には除去しないまでも歪を軽減したりすることができるようになる。
【0059】
これによって、歪を完全に除去したり、より軽減したりすることができる効果が出てくる。
【0060】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0061】
本発明に係る表示補正装置は、上記の課題を解決するために、所定の位置範囲にユーザーが存在するかどうかの情報を得る存在検出手段を有し、前記方向検出手段において、前記存在検出手段からの情報に基づきユーザーの視線方向を得ることを特徴とする。
【0062】
「所定の位置範囲」とは、存在を検知する方法にもよるが、例えば、何らかのセンサーを使った場合、そのセンサーが検知する範囲ということになる。また、センサーなどのような直接的な検知ではなく、間接的な検知の場合、例えば、周囲の機器の使用状況などから推測する、などという場合、その機器の利用可能範囲や操作範囲ということになる。
【0063】
「存在検出手段」は、何らかの情報を元に所定の位置範囲にユーザーが存在するかどうかの情報を得ることができる手段である。元にする情報を得る方法として、例えば、直接的な検知としてのなんらかのセンサーを利用する方法や、間接的な検知としての周囲の機器の使用状況などから推測する方法などが考えられる。
【0064】
センサーとしては、例えば非接触タイプとしては、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、元にする情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。
【0065】
存在を検出する処理としては、例えば、センサーから得られる信号から、検出範囲内の物体の有無が特定できる。物体が検出されればユーザーがそこに存在すると判断すればよい。センサーを使わず、周囲の機器の使用状況などから推測する場合は、例えば、表示面に対する位置が把握されているガスコンロの火が点いたとしたら、ガスコンロの周囲にユーザーが存在すると推測する、などの処理となる。
【0066】
あるいは、ユーザー自身がどこにいるかをボタンや音声、発信機などの手段を用いて直接伝えるという方法もある。
【0067】
そこで、本発明に係る表示補正装置によれば、存在検出手段から所定の位置範囲にユーザーが存在するかどうかが得られ、これを方向検出手段に渡し、方向検出手段では、所定の位置範囲に存在するかどうかで大まかなユーザーの視線方向や距離を得ることができる。方向検出手段から得られるこの視線方向や距離を元にして補正処理を行う。
【0068】
これによって、ユーザーの視線方向を、所定の位置範囲にユーザーが存在するかどうかの情報から、ある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な視線方向を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲にユーザーが存在するかどうかなら、安価なセンサーなどを使って実現することができるという効果もある。
【0069】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0070】
本発明に係る表示補正装置は、上記の課題を解決するために、前記存在検出手段において、表示手段の正面方向付近にユーザーが存在するかどうかの情報を得ることを特徴とする。
【0071】
上記の構成によれば、表示手段の正面方向付近にユーザーが存在するかどうかを存在検出手段から得ることで、存在する場合はほぼ正面から見ていて、存在しない場合は斜めの方向から見ている可能性が高い。従って、存在する場合は補正を全くあるいはほとんど行わず、存在しない場合は斜め方向から見ていると推測して、その視線方向の補正を行う。
【0072】
またもし、違う場所や遠くの場所、表示手段の横や裏側などにユーザーが存在し、表示手段付近に存在しない為に正面付近に存在しないと判断されたとしても、その場合はユーザーが表示手段を見ようとは思っていない可能性が高いので、補正処理を行っていたとしても見ていないのだから何の問題もない。
【0073】
これによって、非常に簡易的にユーザーの視線方向を推定することができるという効果が出てくる。
【0074】
また、所定の位置範囲にユーザーが存在するかどうかの情報を得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、存在検出手段を表示手段(装置)に組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0075】
なお、補正の仕方によっては、効果が弱い場合もある。例えば、表示面を斜め方向から見た場合の補正方法が左右対称(あるいは上下対称)で無い場合などである。左右対称でない補正方法の例としては、逆透視変換などがある。逆透視変換では、ユーザーから見て、表示内容の内、遠くに位置する部分は相対的により大きく、近くに位置する部分は相対的により小さくなるような補正を行う。これにより、遠くに位置する部分と近くに位置する部分が、同じような大きさに視覚できるように補正がされる。
【0076】
しかし、左斜め用に逆透視変換を使って補正した表示内容を右斜めから見ると、補正前の表示内容の視覚結果と比べると、遠くに位置する部分はより小さく、近くに位置する部分はより大きく視覚されてしまう。これは逆効果である。
【0077】
一般に、正しいユーザーの視線方向で補正される場合、逆透視変換による補正効果の方が、縦横を拡大縮小するだけの補正効果よりも高い。しかし、ユーザーに対して、表示手段が相当大きくなければ、補正効果の差はそれほど大きくは無い。つまり、逆透視変換であっても、縦横の拡大縮小と似た処理結果が得られるということである。逆透視変換の補正効果の内、縦横の拡大縮小と同等の補正効果による正の補正効果と、上述した逆効果による負の補正効果を比べれば、正の補正効果の方が一般に勝る。従って、逆透視変換などの対称でない補正処理を行っても、一般に、効果はある。
【0078】
なお、上述したように、本構成の場合は、縦横の拡大縮小などの対称な補正処理と組み合わせることで、簡易な構成で視覚的な歪を補正できるという効果を一層高めることができる。
【0079】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0080】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、リアルタイム、あるいは所定時間間隔毎、あるいは方向検出手段から得られる視線方向が変わった時に補正を行うことを特徴とする。
【0081】
「リアルタイム」とは、常に視線方向の取得と補正が行われている状態をさすが、実装上は非常に細かい時間周期で視線方向の取得と補正が行われる状態をさす。「所定間隔毎」は、リアルタイムと言えるほど短い周期ではなく、例えば5分間隔など、ある時間間隔で視線方向の取得と補正を行うことである。
【0082】
ちなみに基本的には時間間隔は同じだが、必要があれば、異なる時間間隔でも良い。例えば、ユーザーの移動頻度に応じて時間間隔を変えても良い。この場合、移動頻度が大きければ、短い時間間隔で視線方向の取得が行われ、移動頻度が小さければ、長い時間間隔で視線方向の取得が行われる。
【0083】
上記の構成によれば、補正手段が、あるタイミングで方向検出手段から視線方向を取得し、表示の補正を行ったとした場合に、タイマーなどを用いることで所定時間が経過したら、再び視線方向の取得と表示の補正を行う。これを繰り返すことで、現在のユーザーの視線方向に対応して補正された表示を得ることができる。
【0084】
あるいは方向検出手段から得られる視線方向が変わった時に、新たな視線方向で表示の補正を行う。視線方向が変わった時に補正が行われるので、現在のユーザーの視線方向に対応して補正された表示を得ることができる。
【0085】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0086】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0087】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、3次元空間の3軸のうち1軸以上の回転による歪を補正することを特徴とする。
【0088】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、このうち1軸だけを使った場合、上下(ピッチ)や左右(ヨー)など決まった1方向の歪だけが補正されることになる。
2軸を使った場合、組み合わせは3通り考えられるが、例えば上下と左右の組み合わせの場合、上下左右方向の間の斜め方向の歪も補正することが可能となる。
また視線回りの回転(ロール)と他の方向を組み合わせた場合は、他方向の歪が補正され、さらに視線回りの回転(ロール)の補正として、表示内容が回転して表示される。3軸の場合はこれら全てが補正される。
【0089】
一般に、軸数が多い程、補正の精度を上げることができるが、使用状態によっては、1軸回りの補正のみで十分な場合もある。この場合には、軸数を増やしても、改善効果に比べて、コストや処理時間が無駄に膨らむことになる。
【0090】
これに対し、本発明の上記構成によれば、1軸から3軸まで補正の仕方を任意に選ぶ自由度ができることになるので、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶ形態に対応することができる効果が出てくる。
【0091】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0092】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に、表示手段の表示範囲を拡大するように表示内容を補正することを特徴とする。
【0093】
上記の構成において、ユーザーと表示手段との相対的な方向は、前述した3軸の回転で表現できる。「歪の原因となる回転軸」とは、ユーザーが表示手段に正対する状態の時の3軸の回転角度を基準角度とし、その基準角度と異なる値となっている回転角度の軸である。
【0094】
例えば、ユーザーが表示手段を横斜め方向から見るとすると、正対した状態から左右の回転(ヨー)が生じているので、「歪の原因となる回転軸」とは左右の回転(ヨー)の軸、すなわち上下方向に延びる軸となる。従って、「歪の原因となる回転軸に垂直な面」とは、上下方向に垂直な面となるので、水平面となる。
さらに、「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線」は、水平面と表示面の交わりからなる直線方向となる。表示面が上下方向に平行ならば、この直線方向は表示面に沿って左右に延びる直線の方向となる。
【0095】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、歪の原因となる回転方向はこの3軸回りの回転に分解できる。この内、表示内容が縮小されて見えてしまうのは、主に上下(ピッチ)方向や左右(ヨー)方向の回転によるので、この方向の回転に対して、上記構成のように表示内容を拡大すれば、縮小分がカバーされ、正対している時の表示内容に近いものが得られる。
【0096】
本来、正確に補正を行う為には逆透視変換などの複雑な補正処理を行わないといけないが、上記の構成によって、縮小効果を拡大という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0097】
また文字などを横斜めあるいは上下斜め方向から見ると、縦横比が正対して見る時とは変わってしまうが、本発明の補正を行うことで、正対して見る時と同じあるいはほぼ同じ縦横比として見ることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0098】
また、前記補正において、本方法で拡大した後の表示内容に含まれる各表示対象要素の位置を、表示範囲の大きさとの関係で、表示範囲に対して再配置するようにすれば、歪を補正して見やすくなった表示内容の意味も途切れないように表示し直すことができるので、より効果的である。
【0099】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0100】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に、表示手段の表示範囲を広げて補正することを特徴とする。
【0101】
「表示手段の表示範囲」とは、表示内容を表示する範囲(表示領域またはその大きさ)のことである。表示手段の大きさを物理的に大きくしたり小さくしたりすることは簡単にはできないので、表示手段中の一部を「ウィンドウ」などを使って表示内容の表示範囲とし、そのウィンドウの大きさを変えることで実現する場合が多い。あるいは、複数の表示手段を1つの表示手段として扱うという方法もある。
【0102】
歪の原因となる回転方向に表示内容を拡大して補正する際、単純に拡大するだけだと、表示範囲を超えてしまい、超えた分は表示されなくなってしまう。そこで、表示手段の表示範囲自体を広げてやることで、表示範囲を超える分を表示できるようになる。また、隠れる部分もなく全て表示することができる場合も出てくる。
【0103】
これによって、どの方向からでも、正対した時と近いまたは同じだけの情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作を減らせる、もしくは不要とする効果もある。
【0104】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0105】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸方向に縮小するように表示内容を補正することを特徴とする。
【0106】
上記の補正方法は、先に説明した「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に拡大して補正する」方法の逆の方法であり、拡大しない代わりにそれと垂直な方向を縮小するだけである。例えば、横方向に拡大する代わりに、縦方向に縮小するという具合である。
【0107】
これにより、表示内容全体の面積は小さくなってしまうので、文字などの大きさ(面積)自体は小さくなってしまうが、正対して見る時と同じあるいはほぼ同じ縦横比としてみることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0108】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0109】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、逆透視変換によって表示内容を補正することを特徴とする。
【0110】
補正を正確に行うには、逆透視変換を行うことである。逆透視変換で補正を行うことで、単に一軸方向に拡大または縮小する補正と比べて、透視変換の影響を無くす、あるいは低減させることができる効果が出てくる。
【0111】
透視変換の影響とは、例えば、表示手段上で同じ大きさの表示内容でも、表示手段上でユーザーから遠い位置に表示されると、近い位置に表示される場合より、ユーザーには小さく視覚されることなどである。他にも、例えば、表示手段上で90度に交わっている直線の表示内容が、表示手段に対して斜めの位置から見ると、直線が90度以外の角度で交わっているようにユーザーには視覚されることなどがある。
【0112】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0113】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、逆透視変換による補正を、3次元空間の3軸のうち1軸以上に関して行うことを特徴とする。
【0114】
上記の構成によれば、3次元空間の3軸に関して逆透視変換による補正を行うと、(ディスプレイの解像度などの影響は受けるが)正対した時とまったく同じ表示内容を見ることができる効果が出てくる。
【0115】
また、1軸あるいは2軸だけの逆透視変換による補正をした場合には、3軸に関して逆透視変換による補正を行う場合と比べて処理量を抑えることができる上に、単に1軸または2軸方向に拡大または縮小する補正と比べても、上述したような逆透視変換の効果が出てくる。
【0116】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0117】
本発明に係る表示補正装置は、上記の課題を解決するために、表示面の表示方向が変更可能な表示手段の表示方向の情報を得る方向検出手段と、前記表示手段の所定の表示方向をユーザーが表示手段に正対している基準方向とし、前記方向検出手段から得られる表示方向の時に、基準方向時に正対しているユーザーの位置から、表示手段を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0118】
「表示方向検出手段」としては、例えば、表示手段がヒンジや回転支柱などで支持されている場合は、それらに組み込まれた角度検出センサーなどが考えられる。あるいはユーザーが角度を教えるという方法も考えられる。
【0119】
「所定の基準表示方向」とは、予め決められた方向であるが、通常はユーザーが表示手段に正対していると考えられる時の方向である。例えば、ノートパソコンに取り付けられているディスプレイの様に、表示手段を起こした状態で使うような場合、起こした状態がユーザーに正対した時となる。この時の本体とディスプレイをつなぐヒンジ部の角度を所定の基準方向(基準角度)とすればよい。なお、必ずしも正対した状態でなくても、ユーザーが使いたいと思っている方向(角度)があるならば、それを基準方向(基準角度)としても良い。
【0120】
そこで、本発明に係る表示補正装置によれば、表示方向検出手段によって表示面の現在の方向の情報が得られる。得られた方向で表示面中の表示内容をユーザーが見た時に見える像は、所定の基準方向で見た場合(通常は、表示面にユーザーが正対した場合)に見える像とは異なり、その方向差分だけ歪んでいる。この方向差分は、表示手段の角度をユーザーが基準角度以外に変えることなどによって起こる。例えば、表示面に蛍光灯の反射が写り込んで見えるために表示手段の角度を変える場合とか、表示手段が液晶デバイスなど指向性のある表示手段で、少し表示手段の角度を変えた方が濃度や輝度が見やすい、などという場合である。あるいは、たまたま何かが表示手段に当たるなどして、表示手段の角度が変わってしまう場合もあるかもしれない。
【0121】
そこで、得られた方向の状態から見た時に、その歪が無くなる、あるいは軽減されるように、前述した逆透視変換やその他の処理によって表示手段に表示される表示内容を補正し、それを表示手段で表示する。
【0122】
これによって、表示手段の表示方向を得るだけで表示内容を補正することができ、補正を確実に簡単に実行することができるという効果が出てくる。表示面とユーザーとの方向を得る為に、外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがあるが、表示手段の基準方向に対する角度などを利用して表示方向を得る場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実に角度を検出し、表示方向を得ることができる。
【0123】
それ以外の効果は、上記の表示補正装置による効果として、前述したとおりである。
【0124】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0125】
本発明に係る表示補正方法は、上記の課題を解決するために、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出ステップと、表示面にユーザーが正対した場合を基準として、前記方向検出ステップから得た方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正ステップと、を有することを特徴とする。
【0126】
上記の構成による作用および種々の効果は、上記表示補正方法の構成に対応する表示補正装置による作用、効果として、前述したとおりである。
【0127】
本発明に係る表示補正プログラムは、上記の課題を解決するために、上記表示補正装置が備える各手段をコンピュータに実行させることを特徴とする。
【0128】
本発明に係る表示補正プログラムは、上記の課題を解決するために、上記表示補正方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0129】
本発明に係る記録媒体は、上記の課題を解決するために、上記表示補正プログラムを記録したことを特徴とする。
【0130】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに表示補正プログラムをインストールすることによって、該コンピュータを用いて上記の表示補正方法を実現する、言い換えれば、該コンピュータを表示補正装置として機能させることができる。
【0131】
【発明の実施の形態】
〔実施形態1〕
以下、本発明の実施の形態を図面を参照して説明する。
【0132】
最初に言葉の定義について説明しておく。
【0133】
「ユーザーの視線方向」は、「右に何度」というような精度の高い情報の場合もあるし、単に「左」「正面」「右」などという精度の粗い情報の場合もある。
また方向は、左右(図2参照。表示面にユーザーが正対した場合を基準とすれば表示手段の左右方向に振れる回転をヨーと言い換えることができる)の軸だけでなく、上下(ピッチ)や回転(ロール)の軸から1軸が選択される場合もあり、また、それらが2軸、3軸と組み合わされる場合もある。
【0134】
また、「表示面にユーザーが正対した場合」とは、ユーザーが表示面を見た時の視線が表示面と垂直に交わり、かつ、視線の軸周りの回転(ロール)が無い場合を指す。視線の軸周りの回転(ロール)が無い場合とは、表示面の上下方向とユーザーの顔の上下方向が同じになる場合である。
【0135】
また、「歪」とは、表示手段にユーザーが正対した場合に見える表示内容と、現在のユーザーの方向から見た場合に見える表示内容との差である。例えば、紙面を左斜め方向から見た場合、紙面は左右に縮んで見える。これは透視変換効果が原因であり、厳密にはあらゆる場合において起きているが、紙面が相対的にそれほど大きくない場合は、左右方向以外の歪は無視して、左右方向のみが縮んだ歪として扱うことも可能である。
【0136】
但し、基準状態を、表示面にユーザーが正対した場合でなく、いずれかの方向から見た状態に設定する場合は、その状態の時に見える表示内容との差を歪とする場合もある。また視線の軸周りの回転(ロール)は、回転処理によって戻すことができるので、拡大縮小や表示面に対する視線方向の角度の変化が起きる訳ではないが、正対した状態との差という意味で、ここでは広義として歪の中に含まれるとする。
【0137】
「歪を無くして、あるいは軽減して表示内容を補正する」とは、歪んだように見える表示内容を、表示面に対するユーザーの視線方向はそのままでありながら、表示内容の見た目は正対した時のように、あるいはそれに近づけて見せるようにすることを言う。完全に正対したようにした場合が「歪を無くした」場合であり、正対した状態に近づけた場合が「歪を軽減した」場合である。
【0138】
例えば、表示手段の表示面に対する垂直線方向(0度)から60度の角度方向にユーザーが存在した場合、それを0度から見た正対状態に見せることが「歪を無くす」ことであり、例えば30度の角度方向から見たように見せることが「歪を軽減する」ことである。但し、0度や30度の角度方向から見たように正確に見せる場合だけでなく、それに近い場合、例えば、逆透視変換ではなく、左右など1軸方向だけの拡大縮小を行った場合などの擬似的な処理も補正に含む。また、ヨーやピッチ方向だけでなく、ロール方向の補正も含む。
【0139】
ユーザーと表示手段との相対的な方向は、前述した3軸の回転で表現できる。
「歪の原因となる回転軸」とは、ユーザーが表示手段に正対する状態の時の3軸の回転角度を基準角度とし、その基準角度と異なる値となっている回転角度の軸である。
【0140】
例えば、ユーザーが表示手段を横斜め方向から見るとすると、正対した状態から左右の回転(ヨー)が生じているので、「歪の原因となる回転軸」とは左右の回転(ヨー)の軸、すなわち上下方向に延びる軸となる。従って、「歪の原因となる回転軸に垂直な面」とは、上下方向に垂直な面となるので、水平面となる。
さらに、「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線」は、水平面と表示面の交わりからなる直線となる。表示面が上下方向に平行ならば、この直線方向は表示面に沿った左右に延びる直線の方向となる。
【0141】
「補正単位」とは、補正を行う対象の範囲であり、通常、同じ補正式あるいは補正パラメータを使って補正される。
【0142】
「表示内容全体を補正単位として補正する」とは、表示内容全体が一枚の画像であるかのように扱い、画像全体の範囲を補正することである。画像(表示内容)の一部分の範囲内だけを補正することではない。
【0143】
「個々の表示対象要素を補正単位として補正する」とは、個々の表示対象要素の範囲内を補正することである。個々の表示対象要素以外の範囲については本発明の補正処理を行わない。なお、表示対象要素の定義、具体例は、〔実施形態2〕で説明する。
【0144】
「所定の位置範囲」とは、存在を検知する方法にもよるが、例えば、何らかのセンサーを使った場合、そのセンサーが検知する範囲ということになる。また、センサーなどのような直接的な検知ではなく、間接的な検知の場合、例えば、周囲の機器の使用状況などから推測する、などという場合(後述するガスコンロの例など)、その機器の利用可能範囲や操作範囲ということになる。
【0145】
「存在検出手段」は、何らかの情報を元に所定の位置範囲にユーザーが存在するかどうかの情報を得ることができる手段である。元にする情報を得る方法として、例えば、直接的な検知としてのなんらかのセンサーを利用する方法や、間接的な検知としての周囲の機器の使用状況などから推測する方法などが考えられる。
【0146】
センサーとしては、例えば非接触タイプとしては、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、元にする情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。
【0147】
存在を検出する処理としては、例えば、センサーから得られる信号から、検出範囲内の物体の有無が特定できる。物体が検出されればユーザーがそこに存在すると判断すればよい。センサーを使わず、周囲の機器の使用状況などから推測する場合は、例えば、表示面に対する位置が把握されているガスコンロの火が点いたとしたら、ガスコンロの周囲にユーザーが存在すると推測する、などの処理となる。この場合、ガスメータやガスコンロの操作スイッチなどを使って、ガスコンロの使用を検出することになる。
【0148】
あるいは、ユーザー自身がどこにいるかをボタンや音声、発信機などの手段を用いて直接伝えるという方法もある。
【0149】
「リアルタイム」とは、常に視線方向の取得と補正が行われている状態をさすが、実装上は非常に細かい時間周期で視線方向の取得と補正が行われる状態をさす。「所定間隔毎」は、リアルタイムと言えるほど短い周期ではなく、ある時間間隔で視線方向の取得と補正を行うことである。
【0150】
ちなみに基本的には時間間隔は同じだが、必要があれば、異なる時間間隔でも良い。例えば、ユーザーの移動頻度に応じて時間間隔を変えても良い。この場合、移動頻度が大きければ、短い時間間隔で視線方向の取得が行われ、移動頻度が小さければ、長い時間間隔で視線方向の取得が行われる。
【0151】
「表示手段の表示範囲」とは、表示内容を表示する範囲(表示領域またはその大きさ)のことである。表示手段の大きさを物理的に大きくしたり小さくしたりすることは簡単にはできないので、表示手段中の一部を「ウィンドウ」などを使って表示内容の表示範囲とし、そのウィンドウの大きさを変えることで、表示範囲を変更する場合が多い。あるいは、複数の表示手段を1つの表示手段として扱うという方法もある。つまり複数の表示手段を並べて、それぞれに隣の表示手段と繋がる内容を表示させれば、全体として1つの表示手段のように見ることもできる。
【0152】
図3は、本発明の実施の一形態に係り、上述した表示補正処理方法を実施する表示補正装置を示す構成図である。
【0153】
すなわち、表示補正装置の要部を、コンテンツ取得手段1、表示内容取得手段2、存在検出手段3、方向検出手段4、補正手段5、表示手段6の主要な機能ブロックに展開して示すことができる。
【0154】
図4は、図3の各手段1〜6を具体的に実現する装置の構成例である。
【0155】
CPU(central processing unit)70は、上記コンテンツ取得手段1、表示内容取得手段2、存在検出手段3、方向検出手段4、補正手段5、および表示手段6として機能し、これら各手段1〜6による処理手順が記述されたプログラムを主記憶74、外部記憶75、通信デバイス77などから得る。また、CPU70は、CPU70を含めてバス79を通じ相互に接続されたディスプレイ71、プリンタ72、センサー73、主記憶74、外部記憶75、マウス76、通信デバイス77、ボタン78とデータのやりとりを行ないながら、後で説明する各処理を行なう。
【0156】
なお、データのやりとりをバス79を介して行う場合に限らず、データを送受信できるものならば、通信ケーブルや無線通信装置などを介してもよい。また、各手段1〜6の実現手段としては、CPUに限らず、DSP(digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【0157】
主記憶74は、通常はDRAM(dynamic random access memory)やフラッシュメモリなどのメモリデバイスで構成される。外部記憶75は、HDD(hard disk drive)やPC(personal computer) カードなどの装脱着可能な記憶手段である。あるいはCPU70と通信デバイス77を介して有線または無線で接続された他のネットワーク機器に取り付けられた主記憶や外部記憶を外部記憶75として用いることもできる。
【0158】
ユーザの操作を入力する手段として、マウス76、センサー73、ボタン78などがある。この他にもキーボード、マイクによる音声入力など、様々な手段が使用可能である。
【0159】
ユーザーの方向や存在位置などを検出する手段として、センサー73などがある。
【0160】
ディスプレイ71は、通常はグラフィックカードなどと組み合わされて実現され、グラフィックカード上にVRAM(video random access memory)を有している。VRAM上のデータは表示信号に変換され、モニターなどのディスプレイ71に送られ、ディスプレイ71は表示信号を画像として表示する。
【0161】
プリンタ72は、バス79を介して得た印刷データを用紙に印刷する。通信デバイス77は、ネットワークカードなどにより実現され、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする。
【0162】
図3の各手段1〜6を、図4などの実現手段と各手段1〜6間のデータの授受の観点から説明する。
【0163】
コンテンツ取得手段1としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから、ディスプレイ71に表示する表示内容に関するコンテンツデータを得る。コンテンツデータは予め用意されているとする。得たコンテンツデータは、表示内容取得手段2に渡される。
【0164】
表示内容取得手段2としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、コンテンツ取得手段1から得たコンテンツデータをもとに、コンテンツデータの表示内容データを作成する。既に作成済みの表示内容データが主記憶74、外部記憶75上にある場合は、それを利用してもよい。作成された表示内容データは、補正手段4に送られる。なお、処理の仕方によっては、補正手段4と連携を取りながら、表示内容データを作成する場合もある。
【0165】
存在検出手段3としてのCPU70は、所定の位置範囲にユーザーが存在するかどうかのデータを、センサー73、ボタン78などから入力されたデータとして得、必要に応じて、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムなどを利用してその入力データを加工してから、方向検出手段4に渡す。
【0166】
加工の例としては、存在するかどうかの判断に統計的な処理を用いたりする場合などである。例えば、所定の測定時間中の所定の割合以上、存在が検出される場合にユーザーが存在するとし、所定の割合未満はセンサーの検出ノイズやユーザーなどが通過しただけとみなして存在しないとする、などといった処理である。
【0167】
方向検出手段4としてのCPU70は、センサー73などからのユーザーの視線方向の直接的な情報を得て、必要に応じて、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、ディスプレイ71の表示面とセンサーとの方向、位置関係などの情報を主記憶74、外部記憶75などから得て、表示手段6を構成するディスプレイ71から見たユーザーの相対的な視線方向を求めて、補正手段5に渡す。
【0168】
存在検出手段3を使う場合、方向検出手段4としてのCPU70は、存在検出手段3から得た、所定の範囲にユーザーが存在するかどうかの情報から、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、ディスプレイ71の表示面と所定の位置範囲との方向、位置関係などの情報を主記憶74、外部記憶75などから得て、ディスプレイ71から見たユーザーの相対的な視線方向を求めて、補正手段5に渡す。
【0169】
補正手段5としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、方向検出手段4から得たユーザーの視線方向の情報に従って、表示内容取得手段2から得たオリジナル表示内容を補正し、補正表示内容を表示手段6に出力する。
【0170】
表示手段6は、ディスプレイ71およびその表示制御を担うCPU70などで構成される。補正手段5から得た補正表示内容を表示面上に表示/出力する。ディスプレイ71でなく、プリンター72などに表示内容データを出力する場合、その出力(印刷)された用紙を、逐次更新する必要がある。例えば、ロール紙を使って印刷面を巻き上げたり、などといった方法が考えられる。しかし、このように逐次更新を行うものも大きな意味で「ディスプレイ」に含まれるとしてもよい。
【0171】
図5は、表示補正装置の外観例を示している。本体90上にディスプレイ部91(上記ディスプレイ71に相当)があり、ディスプレイ部91に補正表示内容が表示される。
【0172】
ディスプレイ部91の上に方向センサー92、93、94がついている。方向センサー92、93、94はそれぞれ、右、正面、左の方向を向いており、上記方向検出手段4に対し、その方向にユーザーがいるかどうかを検出した信号を送る。図では分かり易くディスプレイ部91の上に描いたが、本体90に埋め込んでも良い。また、正面向けのセンサー93だけを設ける時もある。
【0173】
また、本体90から、ケーブルで繋がれ、ディスプレイ部91に対するレイアウト(距離、方向などの配置)が把握された圧力センサー95、96、97が延びており、それぞれその上にユーザーが存在しているかどうかを検出した信号を上記存在検出手段3に送る。
【0174】
図1は、本発明の実施の一形態に係る表示補正処理方法を示すフローチャート図である。
【0175】
まずステップS1(以下、「ステップS」を「S」と略記する。)で、コンテンツ取得手段1が、コンテンツデータを取得し、得られたコンテンツデータを表示内容取得手段2に渡して、S2へ処理が進む。コンテンツデータとは、表示すべき内容が含まれる情報のことである。コンテンツデータは予め作成済みとしておく。
【0176】
コンテンツデータの取得方法は本発明の主旨ではないので詳しい説明は省くが、例えば、主記憶74や外部記憶75、あるいは通信デバイス77を介して通信/ネットワーク接続先などからデータとして得る。なお、コンテンツデータが静止画でなく、時間的に変化する動画として表示される場合は、動画を構成する各静止画に対して、S1〜S5の処理を繰り返せばよい。
【0177】
S2では、表示内容取得手段2が、コンテンツ取得手段1から得たコンテンツデータから表示内容を取得/生成して補正手段5に渡し、連結点P10(以下、「連結点P」を「P」と略記する)を経て、S3へ処理が進む。
【0178】
本発明を実施する場合、表示補正装置を単独で動作させるのではなく、何らかのコンテンツデータを表示するプログラムや装置(説明の為、以降、「メイン表示プログラム/装置」と呼ぶことにする)に付随させて動作させる形態がほとんどとなると思われる。具体的には、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成したり、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加えたり、といった動作になる。なお、メイン表示プログラム/装置としては、例えば、WWWブラウザ、ワードプロセッサなどの汎用的なプログラムや各種専用プログラム、表示パネルを持った電気製品(例えば、パーソナルコンピュータ、冷蔵庫、電子レンジ、ビデオデッキなど)などが考えられる。
【0179】
図1のフローチャートは、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成する処理に相当する。具体的には、コンテンツ取得手段1(S1)と表示内容取得手段2(S2)の処理が、メイン表示プログラム/装置の処理(表示内容を生成する処理)に相当する。S3以降の処理では、表示内容取得手段2(S2)から得られる表示内容を加工するだけなので、表示内容データさえ取得できればよい。すなわち、表示内容データが、テキストデータから生成されたのか、写真から生成されたのか、どういう配置の仕方によるのかなど、表示内容データがどのように生成されるかは本発明にとって重要ではない。従って、ここでは表示内容データの生成の仕方についての説明は省略し、表示内容データの構造についてだけ後で説明する。
【0180】
なお、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加える処理に関しては、実施形態2で説明する。
【0181】
表示内容データの構造例としては、表示手段にそのまま表示できる状態にまでなったものと、そのままでは表示できず、表示手段に表示するにはもう一段階以上の処理が必要な状態のものとの2通りある。「表示手段にそのまま表示できる状態」とは、例えば、文字のフォントなども画素レベルに展開されて、表示範囲全体が一つの画像のようになった状態を指す。「そのままでは表示できず、表示手段に表示するにはもう一段階以上の処理が必要な状態」とは、例えば、それぞれの文字がレイアウトされたレイアウト情報(あるいは表示対象要素。例えば文字コードとフォント名とフォントサイズ、文字のレイアウト位置など)の集合となった中間的な状態などを指す。これらのレイアウト情報は、表示手段6で解釈/展開されて、「表示手段にそのまま表示できる状態」になって、表示されることになる。
【0182】
レイアウトされた中間状態を使う手法については図21などをもとに後で述べるので、ここではとりあえず単純な「表示手段にそのまま表示できる状態」として画素レベルにまで展開されるとする。
【0183】
S3では、存在検出手段3と方向検出手段4が、ユーザーの存在する方向、あるいは方向と距離を取得して補正手段5に渡し、P20を経て、S4へ処理が進む。ここでの処理の詳細に関しては、後で述べる。
【0184】
S4では、補正手段5が、表示内容取得手段2(S2)から得た表示内容を、方向検出手段4(S3)から得たユーザーの方向を元に補正して、補正された表示内容を表示手段6に渡し、P30を経て、S5へ処理が進む。ここでの処理の詳細に関しては、後で述べる。
【0185】
S5では、表示手段6が、補正手段5(S4)から得た補正された表示内容を表示して、処理を終える。
【0186】
これらの処理によって、ユーザーの方向によって、表示内容を補正して表示することができる。これによる効果などについては、後でまとめて述べる。
【0187】
S3で、ユーザーの存在する方向や距離を取得する方法は色々考えられる。
【0188】
例えば、音波(超音波など)や光(赤外線など)、電磁波などによる非接触センサーを使った方法がある。センサーから得られる情報はセンサーの種類や使い方によって異なるが、例えば、所定の検出範囲に物体が存在するかどうかが得られたり、その物体までの距離が得られたりする。表示装置の各方向にこれらのセンサーを取り付け、その情報を分析することによって、その方向にユーザーが存在するかどうかが得られる。
【0189】
図6は、図1のS3の処理の一例を説明するフローチャート図である。
【0190】
P10を経たS3A−1では、存在検出手段3が、全方向の存在情報を得て、その存在情報を方向検出手段4に渡し、S3A−2へ処理が進む。但し、後に説明する繰り返し処理の中で、それぞれの方向の存在情報を逐次的に得て処理しても良い。存在情報とは、その方向にユーザーが存在するかどうかの情報である。
上記のセンサーなどを利用して得られる。これはセンサーの数だけ複数、存在することになる。
【0191】
S3A−2では、方向検出手段4が、最初の存在情報をカレントの存在情報に設定して、S3A−3へ処理が進む。カレントの存在情報とは、現在処理中の存在情報という意味である。
【0192】
S3A−3では、同手段4が、カレントの存在情報がもう無いかどうかを判断し、もう無い場合はS3A−4へ進み、まだある場合はS3A−5へ処理が進む。
【0193】
S3A−3でカレントの存在情報が残って無い場合に処理が進むS3A−4では、同手段4が、ユーザーの存在方向を既定の方向にして、P20へ処理が抜ける。これは特に存在している方向が分からなかった場合、規定の方向に設定しておくということである。規定の方向は、正面としてしまっても良いし、斜めとしてしまっても良いし、あるいはユーザーの行動パターンなどから最も存在確率の高そうな方向にするなどしてもよい。
【0194】
(S3A−3でカレントの存在情報が残っている場合に処理が進む)S3A−5では、同手段4が、カレントの存在情報から、その方向にユーザーが存在するかどうかを判断し、存在すると判断された場合はS3A−6へ処理が進み、存在しないと判断された場合はS3A−7へ処理が進む。
【0195】
(S3A−5でその方向にユーザーが存在すると判断される場合に処理が進む)S3A−6では、同手段4が、カレントの存在情報のセンサーの方向や距離をユーザーの存在する方向や距離として設定して、P20へ処理が抜ける。
【0196】
(S3A−5でその方向にユーザーが存在しないと判断される場合に処理が進む)S3A−7では、同手段4が、カレントを次の存在情報にして、S3A−3へ処理が進む。
【0197】
これらの処理によって、図1のS3の処理の一例が実現できる。これによって、ある方向や距離にユーザーが存在するかどうかの情報が得られる。
【0198】
このように、所定の位置範囲に存在するかどうかの情報を使うことで、ユーザーの方向や距離をある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な方向や距離を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲に存在するかどうかの検出なら、安価なセンサーなどを使って実現することができるという効果もある。
【0199】
なお、図6の説明では、物体が存在する存在情報を見つけた時点でその物体がユーザーであると判断してしまっているが、一通り存在情報を調べて、最も確からしい方向や距離を選ぶという方法もある。その場合、確からしさを何らかの評価値として表して各評価値を比較する、などという処理が必要となる。
【0200】
また、センサーも、存在するかどうかだけではなく、距離、大きさ、材質、温度など様々な情報が得られるものもある。それらの情報を総合的に評価する場合もある。
【0201】
また、ある時刻の情報だけを扱うのではなく、時系列に得た情報を統計的に処理して、最も確からしい方向や距離を得るという方法もある。
【0202】
また、予め配置してあるユーザー以外の物(家具や壁など)に誤反応しないように、ユーザーが存在しない状態を一度覚えさせておいて、その状態からの変化でユーザーが存在するかどうかを判断する方法もある。
【0203】
また、上記の説明では、表示装置に取り付けた非接触センサーを使っているが、必ずしも表示装置に取り付ける必要はない。ある範囲にユーザーが存在するかどうかが分かれば、センサーと装置との相対位置関係から、装置から見たユーザーの存在する方向や距離は計算することができる。
【0204】
あるいは、表示補正装置の周囲や使用環境をカメラなどで撮影し、人物を認識することで、その位置を特定するという方法も考えられる。ある意味ではこれも非接触センサーの一種でもある。
【0205】
ある範囲にユーザーが存在するかどうかを知る方法としては、非接触センサーを使う方法以外にも、例えば、圧電センサーや静電気センサー(電圧、電荷量の変化などを見る)などの接触センサーを使うという方法などもある。圧電センサーを組み込んだマットを装置の周囲においておき、その上に人が乗っているかどうかを検知することで、マットが置かれた範囲にユーザーが存在するかどうかを知ることができる。
【0206】
また、ユーザー自身が存在を装置に告知するという方法もある。最も単純な方法は、例えば、装置上のボタンか何かの操作で、存在する方向や範囲を直接知らせるという方法である。
【0207】
あるいは、赤外線などの光波や電磁波などを発する機器をユーザーが身につけ、それを部屋など環境中に配したセンサー類で感知し、位置を特定するという方法もある。ユーザー側から発するのではなく、環境中に発せられている電磁波などを受け、それに反応して別の電磁波を返すという方法もありうる。これは非接触のIDカードや無線装置などでも使われている技術である。あるいは、環境中に発せられている電磁波などに反応して、別のルートでユーザー側から位置情報などを表示補正装置に返すという方法もある。例えば、GPS(Global Positioning System)衛星から流れてくる電磁波を処理するなどして現在位置を計算し、得られた現在位置をネットワークを通じて、表示補正装置に返す、などという方法である。
【0208】
図7は図1のS3の処理を簡略に実現する一方法を説明するフローチャート図である。
【0209】
P10を経たS3B−1では、存在検出手段3が、表示手段の正面方向にユーザーが存在するかどうかの情報を得て、その情報を方向検出手段4に渡し、S3B−2へ処理が進む。存在するかどうかの情報を得る手段は上で述べたような様々な方法が考えられるが、例えば簡単な方法として、表示手段の正面方向に赤外線センサーや超音波センサーをつけておく方法がある。
【0210】
S3B−2では、方向検出手段4が、存在検出手段3から得た情報を基に、正面方向にユーザーが存在する場合はS3B−3へ進み、そうでない場合はS3B−4へ処理が進む。
【0211】
(S3B−2で正面方向にユーザーが存在すると判断される場合に処理が進む)S3B−3では、同手段4が、ユーザーの存在する方向を正面方向として設定して、P20へ処理が抜ける。
【0212】
(S3B−2で正面方向にユーザーが存在しないと判断される場合に処理が進む)S3B−4では、同手段4が、ユーザーの存在する方向を正面方向以外の方向、例えば斜め方向と設定してP20へ処理が抜ける。
【0213】
正面方向以外なら斜めでなくても良いのだが、もし表示装置の真横や裏側に存在するのだったら、どちらにしろ表示手段の表示内容を直接見ることはできないのだから、どう補正されて表示されても構わないはずである。正面以外で表示手段が見える方向としては斜めしかないので、斜めとして補正しておけば問題はない。斜めというのが具体的に数値としてどの方向を指すかは、予め決めておけばよい。例えば、30度や45度、60度などといった具合である。
【0214】
ユーザーの使用形態を考えると、階段や梯子などを使ってユーザーが上下に移動しながらディスプレイを見る場合よりも、ディスプレイとほぼ同じ高さで、周囲からディスプレイを見る場合が多いと思われる。また、寝転んだり、顔を極端に傾けて使うことも少ないと思われる。従って、方向(回転)の軸についても、通常は上下の移動や視線周りの回転はそれほどないと考えて、左右方向に限定してしまっても実用上、問題はない。
【0215】
これによって、非常に簡易的かつ実用十分な範囲でユーザーの方向を推定することができるという効果が出てくる。
【0216】
また、所定の位置範囲にユーザーが存在するかどうかを得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、表示手段(装置)に最小で1個組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0217】
このように、ユーザーの方向や距離、位置を得る方法は様々考えられるので、目的やコストなどを総合的に考慮して適した方法を選択すればよい。
【0218】
なお、補正の仕方によっては、効果が弱い場合もある。例えば、表示面を斜め方向から見た場合の補正方法が左右対称(あるいは上下対称)で無い場合などである。左右対称でない補正方法の例としては、後で説明する逆透視変換などがある。逆透視変換では、ユーザーから見て、表示内容の内、遠くに位置する部分は相対的により大きく、近くに位置する部分は相対的により小さくなるような補正を行う。これにより、遠くに位置する部分と近くに位置する部分が、同じような大きさに視覚できるように補正がされる。
【0219】
しかし、左斜め用に逆透視変換を使って補正した表示内容を右斜めから見ると、補正前の表示内容の視覚結果と比べると、遠くに位置する部分はより小さく、近くに位置する部分はより大きく視覚されてしまう。これは逆効果である。
【0220】
一般に、正しいユーザーの視線方向で補正される場合、逆透視変換による補正効果の方が、縦横を拡大縮小するだけの補正効果よりも高い。しかし、ユーザーに対して、表示手段が相当大きくなければ、補正効果の差はそれほど大きくは無い。つまり、逆透視変換であっても、縦横の拡大縮小と似た処理結果が得られるということである。逆透視変換の補正効果の内、縦横の拡大縮小と同等の補正効果による正の補正効果と、上述した逆効果による負の補正効果を比べれば、正の補正効果の方が一般に勝る。従って、逆透視変換などの対称でない補正処理を行っても、一般に、効果はある。
【0221】
なお、上述したように表示手段の正面方向付近にユーザーが存在するかどうかの情報に基づいて表示内容を補正する場合は、逆透視変換などの対称でない補正処理を行うよりも、縦横の拡大縮小などの対象な補正処理を行うようにする方が望ましい。これにより、簡易な構成で視覚的な歪を補正できるという効果を一層高めることができる。
【0222】
図8は図1のS4の処理を実現する一方法を説明するフローチャート図である。
【0223】
以降では説明の為、表示内容取得手段2(S2)で得た表示内容を「オリジナル表示内容」、補正手段5(S4)で補正された表示内容を「補正表示内容」と呼ぶことにする。
【0224】
P20を経て、S4−1では、補正手段5が、表示範囲を取得して、S4−2へ処理が進む。
【0225】
ここで言う表示範囲とは、簡単に言えば、表示手段中で補正表示内容を表示する領域の大きさのことである。表示手段全面を使って表示する場合は、表示範囲は表示手段の大きさと同じになるが、例えばウィンドウシステムなどで、あるウィンドウ中に補正表示内容を表示する場合はそのウィンドウの大きさとなる。
【0226】
なお、表示範囲の大きさをオリジナル表示内容の補正に合わせて変更させる場合は、この段階で変更する大きさを決めることになる。これについては後で詳しく述べるので、ここではひとまず、大きさは固定としておく。
【0227】
また、表示範囲は、例えば表示手段6から得られる。あるいは表示範囲が固定されている場合は、主記憶74や外部記憶75上に予め記録しておいた値を読むことでも得られる。あるいは、ウィンドウシステムの場合などは、API(Application Programming Interface)を通じて、ウィンドウの大きさを取得してもよい。
【0228】
S4−2では、同手段5が、オリジナル表示内容に関して、補正する範囲を(補正範囲)取得して、S4−3へ処理が進む。
【0229】
オリジナル表示内容全てを補正した結果得られる補正表示内容の大きさは、一般にオリジナル表示内容の大きさよりも大きいことが多いので、S4−1で得た表示範囲内に補正表示内容を全て表示することはできないかもしれない。その為、オリジナル表示内容の一部だけを補正して表示範囲内に一部を表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させる、あるいは実施形態2で説明するように各表示対象要素をレイアウトし直す、などの処理が必要となる。
【0230】
ここでは縮小率などの情報も含めて補正範囲に関する情報とし、S4−3に渡すとする。縮小率を簡易的に求める方法は後で説明するが、後で説明する逆透視変換の補正式からは正確に求めることができる。
【0231】
S4−3では、同手段5が、S4−2で得た補正範囲に含まれるオリジナル表示内容を補正して、P30へ処理が抜ける。
【0232】
これによって、図1のS4の処理が行われる。
【0233】
図9(a)、図9(b)は補正方法について説明する図である。ここでは説明の為、ユーザーは表示手段を(表示手段から見て)斜め右方向から見ているとする。図2にも示すように、表示手段から見て正面方向を+Zd軸、上方向を+Yd軸、右方向を+Xd軸とする。ユーザーが表示手段を斜め右方向方向から見ている時の位置関係を、図9(a)は上側から見て記述したものであり、図9(b)は表示手段の裏側から見て記述したものである。歪の原因となる回転としては、表示手段に正対した状態からYd軸回りの回転しかなく、それ以外のXd軸、Zd軸回りの回転はないとする。
【0234】
ユーザーの位置から表示手段を見た時にユーザーが認知する像を「ユーザー像」と呼び、ユーザー像の属する平面を「ユーザー像平面」(あるいは「ユーザー像面」)と呼ぶことにする。なお、ユーザー像およびユーザー像平面については後で説明する。
【0235】
同様に、表示手段の属する平面を「表示手段平面」(あるいは「表示面」)と呼ぶことにする。表示手段平面は、図9(a)、図9(b)では、Xd−Yd平面になる。また、ユーザーの見ている方向を「視線方向」と呼び、視線は常にユーザー像の中心を貫くとする。
【0236】
図9(a)、図9(b)では、座標系が2つある。一つは表示手段をベースとした座標系(Xd/Yd/Zd座標系)であり、以降、「表示手段座標系」と呼ぶことにする。表示手段座標系の空間軸、点、座標値には、最後に「d」をつけて区別しやすいようにしてある。表示手段座標系原点Odは表示手段(の表示範囲)の中心点、あるいは視線が表示手段平面と交わる点である。この違いについては後で説明する。表示手段から見て正面方向を+Z軸(Zd)、上方向を+Y軸(Yd)、右方向を+X軸(Xd)とする。なお、図では両座標系の座標軸と視線を実線で示してある。
【0237】
もう一つの座標系は、ユーザー像をベースとした座標系(Xe/Ye/Ze座標系)であり、以降、「ユーザー像座標系」と呼ぶことにする。ユーザー像座標系の空間軸、点、座標値には、最後に「e」をつけて区別しやすいようにしてある。ユーザー像座標系原点Oeは視線がユーザー像平面と垂直に交わる点である。ユーザーから表示手段を見て正面方向を+Ze軸、上方向を+Ye軸、左方向を+Xe軸とする。
【0238】
図中の点Puはユーザーの視点、すなわち眼球の位置を表している。なお、前記ユーザー像は実際に存在するものではなく、認知されている内容を説明する為に仮に導入したものである。あえて物理的な実態に対応づけて説明すれば、視点Puは眼球中のレンズ体の中心であり、ユーザー像はレンズ体によって網膜上に投影される像である。網膜上に投影された像は、位置的には視点Puの後ろ側(−Ze方向)であり、像の内容もレンズ体によって反転している。反転を無くして説明を分かり易くする為、ここでは視点Puの前側(+Ze方向)にユーザー像を置いている。
【0239】
そこで、仮想的なユーザー像が属する平面を考え、ユーザー像平面と呼ぶことにする。図9(a)、図9(b)では、ユーザー像平面はXe−Ye平面になる。
【0240】
視点Puからユーザー像座標系原点Oeまでの距離をLe、視点Puから表示手段座標系原点Odまでの距離をLdとする。実際には、Leは眼球の中のレンズ体と網膜の距離に相当するので、人間ならばほぼ一定の値であり、ここでは定数とみなしても良い。
【0241】
視線は、表示面と角度θで交わっている、言い換えれば、視点Puが、Yd軸回りに(π/2−θ)回転しているとする。さらに、表示手段の表示範囲右端の表示手段座標系のX座標値をXprd、左端の表示手段座標系のX座標値をXpld、視点Puと表示範囲右端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpre、視点Puと表示範囲左端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpleとする。
【0242】
図10(a)、図10(b)は、ユーザーが表示手段に正対した時の様子を、それぞれ図9(a)、図9(b)と同じ方向から見た時の状態で記述した説明図である。距離Ld、距離Leは、図9(a)と同じ値である。視点Puと表示手段の表示範囲右端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpref、視点Puと表示範囲左端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXplefとする。
【0243】
この時、図9(a)でユーザー像平面上に映る表示手段の(ユーザー像座標系の)X方向の長さLxeは、
Lxe=Xpre−Xple
となる一方、図10でユーザー像平面上に映る表示手段の(ユーザー像座標系の)X方向の長さLxefは、
Lxef=Xpref−Xplef
となる。
【0244】
表示手段の幅(Xprd−Xpld)という同じ大きさを正面と斜めから見ているので、当然、
Lxe<Lxef
であり、表示手段の見かけ上のX方向の長さは、(Lxe/Lxef)の倍率で小さく見えることになる。
【0245】
次に、(Lxe/Lxef)の求め方だが、正確に逆透視変換などで求める方法もあるが、角度θから簡易的に求めるならば、
(Lxe/Lxef)≒sin(θ)
である。距離Ldが表示手段の幅に比べて極端に小さい(すなわち、画角が大きい)などという場合でなければ、上式で十分な精度を持つ。なお、倍率(Lxe/Lxef)、または視線と表示面との交叉する角度θは、補正パラメータの一つである。
【0246】
補正の方法は色々あるが、最も簡単な方法として、1軸回りの回転による歪を回転方向に拡大して補正してやる方法がある。
【0247】
歪の無い状態とは、ユーザーが表示手段に正対している時、すなわち、視点PuがZd軸上に位置し(図10の状態)、Zd軸回りの回転もしていない時である。1軸回りの回転による歪とは、表示手段座標系で表示手段(原点Od)からユーザーを見た時、Zd軸上から外れた位置にユーザー(視点Pu)が存在する時に起こる歪のことである。なお、Zd軸回りの回転、すなわち視線回りの回転による歪(像の回転)については処理方法が異なるので、後で別途説明するとし、ここではXd軸とYd軸回りの回転(あるいはそれらが組み合わさったもの)について説明する。
【0248】
なお、Xd軸とYd軸回りの回転の組み合わせは、Xd軸とYd軸回りの回転の補正処理をそれぞれ行うことを要する2軸回りの回転と解釈することもできるが、座標系の取り方を変えてしまえば、どちらか単独の軸回りの回転とみなせるので、1軸回りの回転と解釈しても良い。座標系の取り方を変えるとは、ここでは、Zd軸は変えず、Zd軸回りにXd軸とYd軸を回転させ、組み合わせの回転がXd軸あるいはYd軸の単独の回転となるようにすることである。
【0249】
1軸回りの回転による歪を回転方向に拡大して補正してやる方法は、先に計算した倍率(Lxe/Lxef)で縮小して見えるのだから、オリジナル表示内容を(Lxef/Lxe)の倍率で予め拡大しておくことである。
【0250】
表示手段の表示範囲の中心が原点Oeだとし、前述のように、視点Puが、Yd軸回りに(π/2−θ)回転しているとし、オリジナル表示内容上の任意の位置(X、Y)の画素値(画素の濃度あるいは輝度を表す値)をI(X、Y)、補正表示内容上の任意の位置(X、Y)の画素値をI’(X、Y)とすると、X軸方向の拡大は、
I’(X、Y)=I((Lxe/Lxef)×X,Y)
となる。なお、ここでの(X,Y)は、表示手段座標系である。
【0251】
この式は、補正処理後の画素値を補正処理前の画素値から求めることを意味している。説明の為、補正処理後の画素を「補正画素」、補正画素に対応する補正処理前の画素を「参照画素」と呼び、それぞれの画素値を「補正画素値」と「参照画素値」、また、補正画素の位置を「補正画素位置」、補正画素位置に対応する参照画素の位置を「参照画素位置」と呼ぶことにする。
【0252】
例えば上式は、補正画素位置(X、Y)を基準にすると、参照画素位置は((Lxe/Lxef)×X,Y)と表されるから、補正画素値I’(X、Y)に対応する参照画素値を、I((Lxe/Lxef)×X,Y)と表すこともできる。
【0253】
実際に補正処理後の画像を求める場合は、補正画素位置(X、Y)を表示内容の範囲で動かして、それぞれの位置の補正画素値I’(X、Y)を求めてやれば良い。例えば、幅がW,高さがHの表示範囲ならば、Xを[−W/2,W/2],Yを[−H/2,H/2]の範囲で動かすことになる。デジタル処理で、補正画素位置は整数値しか取らないとすると、(W×H)個の画素数になるので、(W×H)個の補正画素値を求めることになる。
【0254】
画素値の得られる画素位置が整数値だけだとすると、上式の参照画素位置((Lxe/Lxef)×X,Y)は、一般にそれぞれ整数値になるとは限らないので、そのままでは参照画素値を得ることができなくなってしまう。その場合は、何らかの補間処理などが行われるのが一般的である。例えば、最も近い整数位置を選ぶ方法、周囲の整数位置の画素値から補間する一次補間法、二次補間法など色々あるが、処理が簡単で画質的にも比較的良好な方法として、一次補間法が最もよく使われている。
【0255】
例えば、参照画素位置(Xr、Yr)が、
Xr=Xri+Xrd (但し、Xriは整数)
Yr=Yri+Yrd (但し、Yriは整数)
と表現されるとする。Xrd、Yrdは小数部分で、0から1の間の数となる。
【0256】
また、参照画素位置(Xr、Yr)の周囲の4つの画素位置(Xri、Yri)、(Xri+1、Yri)、(Xri、Yri+1)、(Xri+1、Yri+1)の画素値をI00、I10、I01、I11と簡略化して表すとする。
【0257】
この時、一次補間法による参照画素値I(Xr、Yr)は、
と求められる。
【0258】
なお、ここではX方向の拡大なので、Yrは整数値(Yrd=0)となり、
I(Xr、Yr)=(1−Xrd)×I00+Xrd×I10
と簡略化できる。
【0259】
以上の処理によって、1軸回りの回転による歪を回転方向に拡大して補正する補正表示内容を得ることができる。
【0260】
図11は、表示手段に正対した時(図10の状態)のオリジナル表示内容のユーザー像を説明する説明図である。枠線20の中に同じ大きさの文字A〜Fが並んでいる。なおこの枠線20は、オリジナル表示内容の一部であるとし、補正処理が行われると補正された形で表示されることになる。ここでは表示範囲は表示手段と同じ大きさとし、枠線20は表示手段の表示範囲境界21と一致しているとする。
【0261】
なお、見え方の比較の為、図11の状態でのユーザー像平面上の表示範囲を矩形状の正対表示範囲22とする。正対表示範囲22は、表示手段の表示範囲境界21をユーザーが正対して見たときのユーザー像平面上の範囲なので、以降のどの図上でも大きさは一定である。従って、ある視線方向におけるユーザー像平面上の表示範囲を正対表示範囲22と比較することで、表示範囲が実際にユーザーにとってどのような大きさで見えるかが分かるようになっている。図11では枠線20、表示範囲境界21、正対表示範囲22は全て重なっている。
【0262】
図12は、オリジナル表示内容の表示された表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。比較の為に正対表示範囲22を点線で示してある。枠線20、表示範囲境界21とも歪んで見え、文字の大きさも左から右にかけて小さくなり、左側のA、Dの文字より右側のC、Fの文字の方が小さくなって見える。また表示範囲境界21の横幅も正対表示範囲22の横幅と比べて小さくなって見える。なお、右側にいくにつれ、特に表示範囲境界21の縦幅が小さくなっているように見えるのは、後で説明する透視変換の効果による。
【0263】
図13は、本発明に基づき、表示内容を横方向に(Lxef/Lxe)倍、拡大して補正した時の補正表示内容を、表示手段に正対した時(図10の状態)に見えるユーザー像を説明する説明図である。実際にはこの補正を行う時はユーザーは正対した位置ではなく、斜め方向から見ているはずなので、ユーザーがこのような像を見ることはまずないはずであるが、説明の為、ここでは示している。
【0264】
この時の補正表示内容では、各文字は横長になっている。表示内容の中心位置を拡大の中心位置にしているので、左右の部分は表示範囲境界21をはみ出て表示されていない。比較の為、横方向に(Lxef/Lxe)倍した時の枠線20を点線で示してある。
【0265】
図14は、図13と同じ補正表示内容を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像、すなわち補正処理されたユーザー像、を説明する説明図である。補正処理を行っていない図12と比較すると、表示内容が横方向に拡大され、各文字の横方向のサイズは、図11に示すオリジナル表示内容の各文字の横方向のサイズとほぼ一緒になっている。
【0266】
図12では横方向に縮んで見にくくなっていた文字が、図14では正対した時とほぼ同じ横幅として認知できるので、認知しやすくなるという効果が出てくる。すなわち、斜めから見た時の歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。ユーザーが表示手段に正対した状態でない場合、表示手段を回転させたり、移動させたり、表示手段の正面近くに移動するといった操作や動作をせず、表示手段の向きを変えた状態を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0267】
また処理方法として、1軸方向の拡大だけで済むので、処理が簡単になるという効果が出てくる。本来、正確に補正を行う為には逆透視変換などの複雑な補正処理を行わないといけないが、拡大処理という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0268】
なお、ここでは横方向のみの補正を行ったので、透視変換による効果(主に縦方向の伸縮)は図14でも残ったままである。これは後で説明する逆透視変換を使うことで補正することができる。但し、逆透視変換を使う場合は、ユーザーが存在するのが正面方向かどうかだけでなく、右斜め方向から見ているのか、左斜め方向から見ているのかなどの詳しい情報がないと、逆効果になる場合もある。ここでは、横方向のみの補正を行っているので、右斜め方向から見ても、左斜め方向から見ても同じような補正効果が得られる利点がある。
【0269】
したがって、1軸方向の拡大処理は、ユーザーが表示手段の正面付近に存在しているか否かのみを存在検出手段3を用いて簡易に検出する手法と組み合わせることができる。すなわち、ユーザーが表示手段の正面付近に存在してないことを存在検出手段3が検出した場合に、補正手段5が、予め決められた1軸方向(例えば左右方向)に、オリジナル表示内容を拡大する補正を行うだけで、ユーザーは、右斜めおよび左斜めのどちらから表示面を見たとしても、歪の軽減効果を得ることができる。
【0270】
なお、Xd軸とYd軸回りの回転の組み合わせは、座標系の取り方によって、1軸回りの回転とも2軸回りの回転とも解釈できると説明したが、実際の処理においては、センサーや表示の座標系を変更するのは面倒なので、2軸の補正とした方がやりやすいことが多い。
【0271】
例えば、ユーザーが表示手段から見て、Yd軸回りにθy、Xd軸回りにθx回転した方向にいたとする。その場合、
(Lxe/Lxef)=sin(θy)
(Lye/Lyef)=sin(θx)
だけ、表示内容をX方向とY方向にそれぞれ拡大してやれば、2軸の補正が行える。それぞれの処理は先に説明した方法と同じ原理で処理すればよい。X方向の拡大をしてから、Y方向の拡大をしても良いし、あるいはその逆でも良いし、あるいは同時にやっても良い。
【0272】
ところで図14は、文字の幅が、正対して見る図11の時とほぼ同じ幅に見えるので見やすいが、表示範囲境界21に収まりきらない部分が切れて見えないという問題がある。見えない部分を見る為にはスクロール操作などをしないといけない。
【0273】
表示内容によるが、細かい文字などは必ずしも読めなくて良いから、全体が一覧できて、かつ、縦横比などは正対した時とできるだけ同じにして欲しいという場合もあるかもしれない。
【0274】
そこで、歪の原因となる回転方向に表示内容を拡大して補正するのではなく、歪の原因となる回転の軸方向に表示内容を縮小して補正するという方法もある。
【0275】
歪の原因となる回転の軸方向とは、図9(a)、図9(b)の場合、Yd軸方向、すなわち縦方向となる。
【0276】
補正画素値I’は、
I’(X、Y)=I(X,(Lxef/Lxe)×Y)
(Lxef/Lxe)=1/sin(θ)
で得られる。
【0277】
図15は、この方法で補正を行った時の、補正表示内容を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。横方向はそのままなので、枠線20の横幅は表示範囲境界21の横幅と同じで、正対した時の横幅よりは縮小されているが、補正表示内容の全体が表示されている。縦方向は縮小されているので、枠線20の高さは表示範囲境界21の高さより小さくなっている、図12の状態より更に縦方向に縮小されているが、補正表示内容の全体が表示されている。図15の各文字や枠線20は、図12の状態に比べると、縦横比は正対した図11の状態に近い。
【0278】
このように、歪の原因となる回転の軸方向で表示内容を縮小して補正することで、表示内容が表示範囲からはみ出して途切れることなく、簡単な処理で縦横比を正対した状態に近づけることができるという効果が出てくる。
【0279】
また、図13の問題、すなわち、表示範囲に収まりきらない部分が切れて見えないという問題に関しては、歪の原因となる回転の軸方向で表示内容を縮小して補正するという対応方法以外に、別の対応方法も考えられる。
【0280】
その一方法として、補正表示内容が表示範囲を超えてしまうのだから、拡大する際、表示範囲もそれに応じて拡大するという方法が考えられる。
【0281】
先の説明では図8のS4−1で、補正手段5が取得する表示範囲は、表示手段に正対した時に得られる表示範囲と同じ大きさとしていたが、ここでは、正対した時に得られる表示範囲を補正手段5が拡大してやれば良いことになる。例えば、正対した時の表示範囲をW×Hとしていたとすると、拡大した表示範囲W’×H’は、
W’=(Lxef/Lxe)×W
H’=(Lyef/Lye)×H
となる。
【0282】
もちろん、この方法は表示範囲の大きさを大きくすることができる場合にのみ可能な方法である。例えば表示範囲が表示手段の大きさに設定されており、表示手段の大きさが固定なので、表示範囲を拡大することができないということは大いにありえることである。しかし、表示手段が充分大きく、表示範囲が表示手段の中の一つのウィンドウのような形で設定されているウィンドウシステムならば、ウィンドウの大きさを大きくするということは可能である。もちろん、表示手段の大きさを超えて設定することはできないという制限はある。
【0283】
図8のS4−2に関する先の説明では、オリジナル表示内容の一部だけを補正して表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させるかのどちらかとしていたが、ここでは表示範囲を大きくしているので、補正する範囲をオリジナル表示内容の範囲全てとすればよい。
【0284】
但し、拡大した表示範囲が表示手段の大きさを超えてしまうような場合は従来と同様、オリジナル表示内容の一部だけを補正して表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させるかのどちらかを選んで、補正範囲を決める必要がある。しかし、少しでも表示範囲が大きくなっているのならば、いずれにしろ図13の場合より悪くなることはない。
【0285】
図16は、本発明に基づき、表示範囲を拡大した時の補正表示内容を、表示手段に正対して見た時(図10の状態)のユーザー像を説明する説明図である。ここでは、表示範囲を横方向に(Lxef/Lxe)倍に拡大している。枠線20は表示範囲境界21と重なっている。また、表示範囲を拡大しているので、正対表示範囲22より、表示範囲境界21の方が大きくなっているのがわかる。
【0286】
図17は、図16の状態の表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。枠線20とその内部の文字などは全て表示範囲境界21の中に表示されている。(Lxef/Lxe)倍に拡大した表示範囲と表示内容が、斜めから見られて(Lxe/Lxef)倍に縮んで視覚されるので、(Lxef/Lxe)×(Lxe/Lxef)=1、より、ユーザー像上で視覚される表示範囲と表示内容の横幅は、正対表示範囲22とほぼ同じである。また、各文字の大きさなどは正対した図11の時の文字の大きさとほぼ同じように見える。
【0287】
このように表示範囲を拡大することで、上記の効果に加えて、オリジナル表示内容をできるだけ切らずに表示できるようになるという効果が出てくる。すなわち、どの方向からでも、正対したのと近い情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作が減るという効果もある。特に図17のように、視覚できる表示範囲の大きさが、正対した時とほぼ同じになるようにする場合(すなわち、見え方の縮小率の逆数で表示範囲を拡大した場合)は、情報量もほぼ同じで、スクロール操作などもほぼ不要になる。
【0288】
なお、Zd軸回りの補正については、単なる像の回転の補正を行えば良い。Zd軸回りの回転とは、例えば、表示手段に正対して、顔を左か右に傾けた状態である。
【0289】
例えば、Zd軸回りに、ユーザーが顔を左か右にθz傾けたとした場合、補正画素値I’は、
I’(X、Y)=I(X×cos(−θz)−Y×sin(−θz)、X×sin(−θz)+Y×cos(−θz)) (式0)
となる。
【0290】
これによって、Zd軸回りの補正を行うことができ、ユーザーが見た時に表示内容の上下方向が顔の向きに合って表示されるので、見やすいという効果が出てくる。なお、この場合、顔の傾き角度θzは、Zd軸回りの補正を行うための補正パラメータである。
【0291】
Xd軸、Yd軸、Zd軸回りの補正を組み合わせて処理することも当然、可能である。一般に補正処理する軸の数が増えるほど、より見やすい補正表示内容が得られる効果がある。但し、補正処理する軸の数が増えるほど、各軸回りの回転量を得る為のセンサーや表示内容の補正処理にかかる時間や処理装置などのコストもかかってくる欠点もある。従って、実際に使用する場合は、実際の利用シーンに応じて、補正処理する軸の数を必要充分な数に絞り込む方がよい。
【0292】
このように、1軸から3軸まで補正の仕方を選ぶことで、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶことができる効果が出てくる。
【0293】
ところで、これまで説明してきたXd軸とYd軸回りの回転の補正方法は、処理が簡単で比較的大きな効果をあげることができるが、回転角度が大きくなるにつれ、透視変換効果の影響による歪が大きくなってくる。また、表示範囲の大きさに比べて距離Ld(図9(a)参照)が小さくなってくるにつれても、透視変換効果の影響による歪が大きくなってくる。透視変換効果の影響による歪とは、具体的には、例えば図17の補正された枠線20は、左側の高さの方が右側の高さより大きいことなどである。これは枠線20の内部の各文字についても言える。また、枠線20の角も90度ではなくなってしまっている。
【0294】
これらの透視変換効果を完全に取り除くには、逆透視変換による補正処理を行う必要がある。ここでいう逆透視変換とは、オリジナル表示内容を補正した補正表示内容を斜めから見た時のユーザー像が、正対した時に見たユーザー像と完全に一致するような補正方法である。
【0295】
図9の状態で見た表示内容と図10の状態で見た表示内容が同じになる為には、図10のユーザー像平面上の任意の点Pve(Xpve、Ypve)の画素値と、図9(a)、図9(b)のユーザー像平面上の上記と同一座標となる点Pve(Xpve、Ypve)の画素値とが常に同じとなっていれば良い。画素値が同じになる為には、それぞれの点に対応する表示手段上のオリジナル表示内容上の点Pd(Xpd、Ypd)と、補正表示内容上の点Pd’(Xpd’、Ypd’)の画素値が同じになる必要がある。
【0296】
以降、補正の関係式を導く説明を行う。
【0297】
図10より、比例関係から、
Xpd=Xpve×(Ld/Le) (式1)
Ypd=Ypve×(Ld/Le) (式2)
となる。
【0298】
また、図9(a)より、点Pd’から視線Pu−Odに降ろした垂線の長さとXpveとには、
Xpve×((Ld−Xpd’×cos(θ))/Le)=Xpd’× sin(θ)
という比例関係があり、これを整理して書き直すと、
Xpd’=Xpve×Ld/(Le× sin(θ)+Xpve×cos(θ)) (式3)
となる。式1と式3から、Xpveを消去して、
Xpd’=Ld×Xpd/(Ld+Xpd×cos(θ)) (式4)
となり、Ldとθが定まれば、Xpd’とXpdの関係式も定まる。
【0299】
また、図9(b)より、
Ypd’=Ypve×(Ld×cos(θ)−Xpd’)/(Le×cos(θ)−Xpve× sin(θ)) (式5)
となる。式1から式5より、
Ypd’=Ypd×{cos(θ)−Xpd/(Ld+Xpd×cos(θ))}/(cos(θ)−Xpd× sin(θ)/Ld) (式6)
となり、Ld、θが定まれば、Ypd’とXpd、Ypdの関係式も定まる。
【0300】
従って、式4と式6より、Ld、θが定まれば、点Ppd(Xpd、Ypd)に対応する点Ppd’(Xpd’、Ypd’)が求まる。
【0301】
式4、式6をXpdとYpdの式の形に直せば、
Xpd=Ld×Xpd’/(Ld−Xpd’×cos(θ)) (式7)
Ypd=cos(θ)−{sin(θ)×Xpd’/(Ld−Ypd’ ×cos(θ))}/(cos(θ)−Xpd’/Ld) (式8)
となる。
【0302】
従って、式7と式8より、Ld、θが定まれば、点Ppd’(Xpd’、Ypd’)に対応する点Ppd(Xpd、Ypd)が求まる。
【0303】
実際に補正する場合は、点Ppd’(Xpd’、Ypd’)を補正範囲内で動かし、式7、式8より対応する点Ppdの座標値を得て、先に説明した一次補間式などを使って、点Ppd’の画素値を得る。
【0304】
補正範囲は、表示範囲の大きさを変えない場合は表示範囲そのままである。オリジナル表示内容が全て見られるように、表示範囲を拡張する場合は、図9(b)の点Prtd、点Prbd、点Plbd、点Pltdの4点で囲まれる点線の範囲が表示範囲となる。これら4点の座標位置は、正対した時の表示範囲の4隅の座標位置を式4、式6に代入することにより、求められる。
【0305】
図18は、この補正により表示範囲も拡張して補正した時の補正表示内容である。この補正表示内容を図9の斜め横から見た場合は、図11と完全に一致するユーザー像が得られる。もっとも、完全一致と言っても、数式上、完全に一致しているというだけで、実際は表示手段の解像度などの影響や補間や量子化誤差、計算誤差の影響を多少受ける。しかし見た目にはほぼ同じと言ってよいユーザー像が得られる。
【0306】
上述の方法では、Yd軸回りに回転した場合について説明したが、さらにXd軸回りの回転が加わっても、座標変換を行うことで、上述の方法をそのまま適用できる。
【0307】
図29はこの時の状態を説明する説明図である。原点Od,Xd軸、Yd軸、Zd軸に関しては、図9、図10と同様である。表示面に正対している時の視点を視点Oe”とし、視点Oe”と原点Odとの距離をLdとする。Zd軸上にある視点Oe”が、Yd軸回りに(π/2−θ’y)回転して視点Oe’に移動し、さらにXd軸回りに(π/2−θ’x)回転して視点Oeに移動したとする。
【0308】
図29では、この移動を分かりやすくする為に、矢印付きの点線で示している。また、視点は軸回りに回転しているだけなので、視点と原点Odとの距離は変わらず、視点Oe’と原点Odとの距離、視点Oeと原点Odとの距離は、共にLdである。
【0309】
また、視点Oe’はXd−Zd平面に属し、視点Oe’からXd軸に降ろした垂線とXd軸の交点を、点Pd1とする。従って、∠Oe’OdPd1=θ’yである。
【0310】
同様に、視点OeからXd−Yd平面に降ろした垂線とXd−Ydの交点を、点Pd2とする。従って、∠OePd1Pd2=θ’xである。なお、視点Oe’,視点Oe,点Pd1,点Pd2は、同一平面内に属し、Xd軸に垂直である。∠OeOdPd2をθ’、∠Pd1OdPd2をθ’zと呼ぶことにする。
【0311】
図29の状態から、Zd軸回りに(−θ’z)回転すれば、図9と同様の状態、すなわち正対した状態(視点Oe”)からYd軸回りに回転した状態となる。違いは、Yd軸回りの角度が(π/2−θ)から(π/2−θ’y)に変わっただけである。従って、図9で説明した方法がそのまま利用できることになる。
【0312】
但し、Zd軸回りに(−θ’z)回転する座標系変換が必要である。図29でのXd−Yd平面上の任意の点(X’、Y’)を、Zd軸回りに(−θ’z)回転した後の点(X”、Y”)は、
X”=X’×cos(−θ’z)−Y’×sin(−θ’z)
Y”=X’×sin(−θ’z)+Y’×cos(−θ’z)
で求められる。
【0313】
以降、θ’x、θ’yからθ’とθ’zを求める。
【0314】
原点Odと点Pd1との距離OdPd1は、
OdPd1=OdOe’×cos(θ’y)=Ld×cos(θ’y)
となり、視点Oe’と点Pd1との距離Oe’Pd1は、
Oe’Pd1=OdOe’×sin(θ’y)=Ld×sin(θ’y)
となる。視点Oe’から視点Oeへの移動はXd軸回りの回転だから、距離OePd1は距離Oe’Pd1に等しい。
【0315】
従って、点Pd1と点Pd2の距離Pd1Pd2は、
Pd1Pd2=OePd1×cos(θ’x)=(Ld×sin(θ’y))×cos(θ’x)
となる。OdPd1とPd1Pd2が求まったので、θ’zが、
より求まる。なお、「arctan」は、tanの逆関数である。
【0316】
原点Odと点Pd2との距離OdPd2は、
となる。なお、「x¢2」はxの2乗を意味し、「sin¢2(θ)」は、sin(θ)の2乗を意味する。
【0317】
OdOeとOdPd2が求まったので、θ’が、
より、求まる。なお、「arccos」は、cosの逆関数である。
【0318】
以上の計算式で、θ’x、θ’yからθ’とθ’zを求めることができ、上述したZd軸回りの座標変換により、図9で説明した手法を適用できる。これにより、Xd軸、Yd軸回りの2軸の回転に対する補正を行うことができる。
【0319】
なお、一般に、Zd軸回りにθ’z回転させると、ユーザー像も視線軸回りにθ’z回転する。従って、上述した(式0)で回転処理を行うことで、ユーザー像の回転もさらに補正でき、3軸の回転に対する補正を行うことができる。
【0320】
以上説明した処理で、逆透視変換について、1軸(Yd軸あるいは視線軸)だけの補正処理、2軸(Xd軸、Yd軸)だけの補正処理、3軸(Xd軸、Yd軸、視線軸)の補正処理ができるようになる。なお、この3軸、すなわちXd軸、Yd軸、視線軸の回転は、ロール、ピッチ、ヨーの回転に相当する。
【0321】
なお、ここでは、1軸、2軸について、Yd軸あるいは視線軸や、Xd軸とYd軸で説明したが、他の組み合わせも、各処理方法を組み合わせることで可能である。
【0322】
このように、逆透視変換で補正を行うことで、正対した時とまったく同じ補正表示内容を見ることができる効果が出てくる。単なる拡大、縮小、回転などの補正処理ではある程度近い補正表示内容は得られるかもしれないが、まったく同じ補正表示内容は、逆透視変換による処理でしか得られない。
【0323】
なお、ここで説明した逆透視変換処理は、正対した時とまったく同じ補正表示内容を見ることができるような完全な補正方法であるが、もっと簡易的に補正する方法もある。例えば、式7によるX軸方向だけの補正を行い、式8によるY軸方向の補正を行わないなどという方法である。この場合、補正後の画像は、X軸方向にだけ伸びたり縮んだりすることになる。あるいは逆に式8によるY軸方向だけの補正を行い、式7によるX軸方向の補正を行わないなどという方法も考えられる。
【0324】
次に、ここまで説明した補正処理を所定時間毎に繰り返す別の実施形態について説明する。
【0325】
図19は、本発明の別の実施形態に係る表示方法を示すフローチャート図である。図1のフローチャート図の処理と主要部分はほぼ一緒であるが、補正処理を所定時間毎に繰り返すというところが異なる。
【0326】
具体的には、図1に基づいて説明したS1からS5を経て、S5から新たなS6へ処理が進み、補正表示処理を終了させるかどうかを判断して、終了させる場合は処理を終了し、終了させない場合は新たなS7Aへ処理が進む。
【0327】
終了させるかどうかは、例えば、補正処理モードにするかどうかのユーザーの指示に基づけば良い。ユーザーがボタンなどで補正処理モードを指定していたら処理を続けるし、補正処理モードの指定をやめていたら、処理を終了させることになる。ユーザーの指示以外にも、例えば、補正処理モードに入ってから一定時間経ったら自動的に補正処理モードを抜けるとか、ユーザーが表示手段付近に一定時間以上存在しなかったら補正処理モードを抜ける、などという方法も考えられる。
【0328】
S7Aでは、所定時間待ち、P10を経て、S3へ処理が戻る。
【0329】
なお、S6、S7Aの処理は、補正手段5や表示手段6などが処理してもよいし、あるいは、図3には記載していないが、S6、S7Aの処理を行う繰り返し処理制御手段などを専用に設けて、処理させてもよい。
【0330】
これらの処理で、所定時間毎にユーザーの視線方向を得て、それに従って補正処理が繰り返し行われることになる。
【0331】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0332】
なお、所定時間とは必ずしも一定でなくてもよく、例えばそのときの状況に応じて、時間間隔を変えるなどしてもよい。
【0333】
さらに、時間間隔を非常に短くすることで、ほぼリアルタイムに補正が行えることになる。
【0334】
図20は、本発明の更に別の実施形態に係る表示方法を示すフローチャート図である。図19のフローチャート図の処理とほぼ一緒であるが、補正処理を所定時間毎に繰り返すのではなく、ユーザーの視線方向が変わった時に行うというところが異なる。
【0335】
具体的には、図19のフローと同様にS5からS6へ処理が進み、補正表示処理を終了させるかどうかを判断して、終了させる場合は処理を終了し、終了させない場合は新たなS7Bへ処理が進む。
【0336】
S7Bでは、ユーザーの視線方向が変わったかどうかを検知して、変わるまで待つ。ユーザーの視線方向が変わった場合、P10を経てS3へ処理が戻る。なお、S7Bの動作の主体に関しては、S7Aと同様である。
【0337】
ユーザーの視線方向が変わったかどうかは、方向検出手段4で定期的にユーザーの視線方向を検出して、視線方向が変わったかどうか補正手段5で比較したり、あるいはセンサーの検出した視線方向が変わったら、センサー自体が割り込み信号などを発するようにしておき、存在検出手段3あるいは方向検出手段4がセンサーから割り込み信号などを得たら、ユーザーの方向が変わったと補正手段5で判断する、などという方法が考えられる。ユーザーの視線方向変化の検出と同時に視線方向の情報も得ている場合は、S3のユーザーの視線方向を取得する処理は飛ばして、S7BからS4へ処理が進んでも良い。
【0338】
外見的な動作は、図19のフローチャート図の場合と同じだが、内部的な処理として、図20の処理の方が、無駄な補正処理を行わなくて済むという利点がある。つまり、ユーザーの視線方向が変わらないのだったら、補正処理を何度行っても結果(補正表示内容)は一緒なので、ユーザーの視線方向が変わったことが検出できた時だけ補正処理を行えば充分である。
【0339】
これによって、無駄な補正処理を行わなくて済むという効果が出てくる。
【0340】
〔実施形態2〕
実施形態1では、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成する方法について説明したが、実施形態2では、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加える処理に関して説明する。
【0341】
本実施形態の構成図は、実施形態1と同様、図3となる。以降、実施形態1での図3の説明と異なる部分に絞って説明する。
【0342】
表示内容取得手段2としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、コンテンツ取得手段1から得たコンテンツデータから表示対象要素を得て、補正手段5に渡す。そして、補正手段5で補正されて戻ってきた表示対象要素を得て、表示範囲に対してレイアウトする。これらの処理を繰り返し、最終的に得られた補正表示内容を補正手段5に渡す。
【0343】
補正手段5としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、表示内容取得手段2から得られるそれぞれの表示対象要素を、方向検出手段4から得たユーザーの視線方向の情報に従って補正し、補正された表示対象要素を表示内容取得手段2に返す。これらの処理を、表示する(補正する)全ての表示対象要素に対して繰り返す。そして最終的に得られた補正表示内容を表示内容取得手段2から得て、表示手段6へ渡す。
【0344】
なお、この場合、表示内容取得手段2と補正手段5を一体のものとしてもよい。
【0345】
図3の各手段1〜6を具体的に実現する装置の構成例は、実施形態1の図4と同様である。また、本実施形態の表示補正装置の外観例に関しても、実施形態1の図5と同様である。
【0346】
図21は、本発明の実施の一形態に係る表示方法を示すフローチャート図である。実施形態1の図1のフローチャート図の処理と共通部分が多いが、ユーザーの視線方向を取得した後に、表示内容の取得と補正処理をS4Bで行うところが異なる。
【0347】
具体的には、S3からP40を経て、新たなS4Bへ処理が進む。
【0348】
S4Bでは、表示内容取得手段2と補正手段5が、コンテンツの表示内容の取得と補正を行い、P50を経て、S5へ処理が進む。
【0349】
ここで、以降の説明の為、レイアウトについて説明しておく。
【0350】
図22は、レイアウト全体について説明する説明図である。レイアウト範囲40は、コンテンツの表示内容においてレイアウトを行う範囲である。通常、レイアウト範囲40の縦か横かどちらかの大きさは、表示範囲44の縦か横の大きさと同じとすることが多いが、上下左右に余白を取ることもあり、その場合はその分だけレイアウト範囲は小さくなる。重なって分かりにくくなるので、図では少し表示範囲44の幅を広げてあるが、ここでは、表示範囲44の横の大きさをレイアウト範囲40の横の大きさと同じにしている。表示範囲44は、レイアウト範囲40中、実際に表示手段に表示される範囲である。
【0351】
なお、先に説明した補正手法と比較しやすくする為、図22の例では、レイアウトの内容を表示手段に表示させて、表示手段にユーザーが正対して見た場合、図11と同じになるようにしてある。
【0352】
「表示対象要素」とは、表示内容を構成すると共に、表示の対象となる要素であり、例えば、個々の文字や画像などが相当する。図22では、表示対象要素41、42、43などが表示対象要素に相当する。分かりやすいようにそれぞれ点線の枠線で囲ってあるが、実際にはこれらの枠線は表示されない。
【0353】
図23は、表示対象要素のデータ構造例を説明する説明図である。レイアウトデータ80、81、82などが個別の表示対象要素のデータであり、各々、種類(CHAR、IMAGEなど)、レイアウト位置(X、Y)と大きさ(W、H)、内容などのデータを持っている。種類は、文字(CHAR)、画像(IMAGE)などの表示対象要素の種類を表す。レイアウト位置は、レイアウト処理によってレイアウトされた表示範囲上の位置であり、表示される時にこのレイアウト位置を基に表示位置が決まることになる。大きさは、ここでは表示対象要素の外接矩形の幅と高さとしている。「内容」は、表示する際に必要なデータであり、表示対象要素の種類によって異なるが、例えば文字ならば文字コード、画像ならば画像ビットマップデータなどとなる。
【0354】
「レイアウトする」とは、レイアウト範囲40に表示対象要素をあるルールに従って配置していくことである。具体的には、「レイアウトする」とは、図23のレイアウト位置(X、Y)を主に決定することである。
【0355】
レイアウトのルールはコンテンツの種類によって異なるが、例えばテキストエディタや単純なワードプロセッサなどでは、文字は前の文字の横(横行の場合)に配置し、レイアウト範囲に入りきらなかったり、改行コードの次の文字の場合は、次の行の行頭に配置する、などとなる。WWW(World Wide Web)ブラウザなどでは、HTML(Hyper Text Markup Language)で定められるレイアウトルールとなる。
【0356】
なお、本発明で効果が現れるのは、このレイアウトルールが、レイアウト範囲40の大きさ変更や表示対象要素の大きさ変更などに伴ってレイアウト結果が変わるような場合である。表示対象要素の位置や大きさが動的に変化せず、常に固定的な位置や大きさを取るレイアウトルールの場合は、レイアウト自体を全く変更できないことになるので、効果が出てこない。
【0357】
図22の例は、「A」〜「I」の文字の表示対象要素を順に、横行として表示範囲44に対してレイアウトした結果である。ここでのレイアウト処理例を、図23のデータ構造を使って説明する。各表示対象要素のレイアウトデータ80〜82には、横幅Wと高さHは各文字とも既に与えられているとし、ここでは、どの文字もW0×H0の大きさとする。レイアウト範囲40の幅をWL(ここではW0の3倍強程度の大きさ)とする。
【0358】
最初に文字「A」を左上に配置する。「A」の位置(X,Y)は、(0,0)となる。次に「A」の右横に「B」を配置できるかどうか判断する。
【0359】
(直前の表示対象要素のX位置)+(直前の表示対象要素の横幅)+(判断する表示対象要素の横幅)<WL
が成り立つならば、配置できると判断する。
【0360】
配置できると判断された場合は、直前の表示対象要素の右横に配置され、
(配置する表示対象要素のX位置)=(直前の表示対象要素のX位置)+(直前の表示対象要素の横幅)
(配置する表示対象要素のY位置)=(直前の表示対象要素のY位置)
となる。
【0361】
配置できないと判断された場合は、次の行の行頭に配置され、
(配置する表示対象要素のX位置)=0
(配置する表示対象要素のY位置)=(直前の表示対象要素のY位置)+(直前の表示対象要素の縦幅)
となる。
【0362】
「B」は「A」の横に配置できるので、「B」の位置(X,Y)は、(W0,0)となる。「C」も同様に隣に配置できるので、位置(X,Y)は、(W0×2,0)となる。
【0363】
次の文字「D」は右横には配置されないと判断されるので、次の行の行頭に配置され、位置(X,Y)は、(0,H0)となる。このような処理を繰り返して、表示対象要素をレイアウトしていく。
【0364】
実際に使われるレイアウトルールは一般にもっと複雑であり、例えば、行間スペース、改行、禁則処理、画像の回り込み処理などを考慮してレイアウトするなどしないといけない。これらのレイアウトルールは、メイン表示プログラム/装置によって様々である。全ての場合について説明することはできないが、ここで説明したレイアウトルールは、多くのレイアウトルールの基本となる方法なので、以降ではこのレイアウトルールに従って説明する。
【0365】
図24は図21のS4Bの処理を実現する一方法を説明するフローチャート図である。ここでは、表示内容取得手段2が、表示対象要素をレイアウトし直す(再レイアウト)処理を行う。
【0366】
P40を経たS4B−1では、表示内容取得手段2がレイアウト範囲を得て、S4B−2へ処理が進む。レイアウト範囲とは、表示対象要素をレイアウトする範囲であり、ここではレイアウト範囲40としておく。表示範囲の大きさは通常、予め決まっているので、主記憶74や外部記憶75などからその大きさを読み込む。大きさを変えられる場合は、例えばAPI(Application Programming Interface)などを通じて、現在の表示範囲の大きさを得る。
【0367】
S4B−2では、表示内容取得手段2がコンテンツデータ中の最初の表示対象要素をカレント要素に設定して、S4B−3へ処理が進む。図23の場合、最初のレイアウトデータ80をカレント要素とすればよい。
【0368】
S4B−3では、補正手段5がカレント要素を補正して、S4B−4へ処理が進む。ここでいう補正方法は、原理は今まで画像ベース(表示内容全体を補正の単位とすること)で説明してきた手法と同じである。例えば、横方向に拡大する補正を行うのならば、カレント要素の大きさがW0×H0で、拡大する倍率がRxならば、(W0×Rx)×H0の大きさにすればよい。先の説明の例で言えば、Rx=(Lxe/Lxef)≒sin(θ)である。
【0369】
S4B−4では、表示内容取得手段2がカレント要素をレイアウトして、S4B−5へ処理が進む。レイアウトの仕方については、上で説明した通りである。但し、ここではS4B−3で表示対象要素の形や大きさが変わっているので、それを使ってレイアウトすることになる。S4B−3の例でいえば、(W0×Rx)×H0の大きさのカレント要素をレイアウトすることになる。先に説明したレイアウトルールの例で言えば、(表示対象要素の横幅)を、(W0×Rx)として処理すればよい。
【0370】
なお、S4B−3で表示対象要素をひとつずつ補正してS4B−4で逐次レイアウトするのではなく、S4B−1で表示対象要素を得た後、全ての表示対象要素を一度に補正してから、補正された表示対象要素をS4B−4でひとつずつレイアウトするのでもよい。
【0371】
S4B−5では、表示内容取得手段2がカレント要素が最後の要素かどうか判断し、最後の要素ならばP50へ処理が抜けて、最後の要素でないのならばS4B−6へ処理が進む。
【0372】
(S4B−5でカレント要素が最後の要素でないと判断された場合に処理が進む)S4B−6では、表示内容取得手段2がカレント要素を次の表示対象要素に設定して、S4B−3へ処理が戻る。
【0373】
これらの処理によって、図21のS4Bの処理の一例が実現できる。
【0374】
これによって、個々の表示対象要素を補正しながらレイアウトすることができるようになる。
【0375】
図25は、ユーザーが表示面に正対した状態で、図22に示すようにレイアウトされていた個々の表示対象要素を、横に拡大してレイアウトし直した時の結果を説明する図である。
【0376】
例えば、図22の個々の表示対象要素41、42、43が横に拡大されて、図25の表示対象要素41’、42’、43’となっている。表示対象要素41’、42’は1行目だが、表示対象要素43’はレイアウトしきれず、次の行の行頭に配置されている。
【0377】
図26は、図25のようにレイアウトされた表示範囲44を表示範囲境界21として表示した状態の表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。比較の為、正対表示範囲22を点線で示している。
【0378】
各文字の大きさなどは図14の補正と同様、正対した時の図11の時の文字の大きさとほぼ同じように見える。図14と比べると、各文字の見え方(表示範囲境界21の大きさに対する文字の大きさ等)などは一緒だが、図14は端の文字が切れて表示されてしまっているのに比べ、図26では、補正された表示対象要素をレイアウトし直しているので、文字が切れるということが無い。
【0379】
表示内容全体を補正の単位として処理を行う場合、文字が切れないようにするには、図15のように、表示内容を縦に縮小する方法があるが、これでは文字自体の見える大きさが小さくなって見えにくくなってしまう。また、図17のように表示範囲を大きくする手法もあるが、実現の可能性は表示環境に依存し、必ず大きくできるとは限らない。
【0380】
本手法の表示対象要素を補正の単位として処理する場合、文字が見やすい大きさで、かつ、表示範囲の大きさを変えずに文字などを切れないようにすることができ、またそれがどのような表示環境であっても実現できるという効果が出てくる。
【0381】
また、表示対象要素を補正の単位として処理する場合、例えば、1方向としての横方向に表示内容を拡大する場合、個々の表示対象要素を横に拡大した大きさのものとして扱うので、再レイアウトの処理は、正対した状態の時に補正前の表示対象要素をレイアウト処理する時と全く同じレイアウト処理を使うことができる効果が出てくる。
【0382】
また表示に関しても、文字描画は、文字や画像の拡大縮小処理も含めて、専用ハードウェアや高速化された処理ルーチンがあることが多い為、画像で表示するよりも、文字は文字として表示させた方が、多くの場合、高速に描画することができるという効果も出てくる。
【0383】
なお、実施形態1同様、図19、図20の処理のように、繰り返し処理も可能である。
【0384】
なお、実施形態1では、表示内容全体を一枚の画像のように補正していたが、補正内容は一緒だが、補正対象とする画素を表示対象要素の範囲内だけに絞ることで、処理量を減らすこともできる。
【0385】
具体的には、実施形態1での式7、式8で、補正前の画像上の点Ppd(Xpd、Ypd)と補正後の画像上の点Ppd’(Xpd’、Ypd’)の関係式を示したが、点Ppd(Xpd、Ypd)が表示対象要素の範囲内にあるかどうかを調べればよい。範囲内にある場合は、点Ppd’(Xpd’、Ypd’)を求めて補正を行う。範囲外にある場合は、補正を行わない、すなわち対応する点Ppd’(Xpd’、Ypd’)は背景色のままとなる。
【0386】
実際には、先に説明した通り、点Ppd’(Xpd’、Ypd’)から対応する点Ppd(Xpd、Ypd)を求める(参照する)処理になることが多いので、点Ppd’(Xpd’、Ypd’)の時点で、表示対象要素の範囲内にあるかどうか判断できた方がよい。そこで、補正前の画像上の表示対象要素の外接矩形枠が、補正後の画像上でどの範囲になるかを予め計算し、その範囲内かどうかで判断すればよい。
【0387】
さらに具体的な処理例を説明すると、外接矩形枠は、4隅の点を計算すればよいので、計算量は少なくて済む。別途、マスク画像を用意し、そのマスク画像上に補正後の表示対象要素の外接矩形枠を描画し、枠内を所定の画素値(マスク画素値)で塗りつぶす。点Ppd’(Xpd’、Ypd’)の位置のマスク画像上の画素値がマスク画素値かどうかで、判断できる。
【0388】
なお、実施形態1の説明では、表示内容全体を一枚の画像のように補正していたが、補正の原理自体は実施形態1での説明と同じで、補正の単位を画素ではなく、表示対象要素とする方法もある。つまり、表示対象要素の補正後の位置や拡大縮小率、回転量、透視変換量などを計算し、各表示対象要素にそれらの補正を施して、補正表示内容とする。ユーザーが目にする補正表示内容のユーザー像自体は、画素単位でやっても表示対象要素単位でやってもほぼ同じであるが、補正処理の実装の手間や処理時間などが変わってくる。
【0389】
特に、単純に縦や横に拡大するだけなどの場合、例えば文字などは描画命令としてOS(operating system)などが拡大縮小、回転機能などを持っていることがあるので、それらの機能を利用することができ、補正処理の実装が簡単となり、また先に説明したように専用の処理なので多くの場合、画素単位でやるより処理が高速にできるというような利点が出てくる。
【0390】
〔実施形態3〕
実施形態1、実施形態2では、ユーザーの視線方向を検出して補正を行う方法について説明したが、ここではユーザーの視線方向を直接検出せずに補正を行う方法について説明する。
【0391】
本実施形態の構成図は、実施形態1の図3とほぼ同じだが、存在検出手段3は使わない。また、方向検出手段4の実施の仕方も変わる。以降、図3での説明と異なる部分に絞って説明する。図3の各手段1、2、4〜6を具体的に実現する装置の構成例は、実施形態1の図4と同様である。
【0392】
方向検出手段4としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、センサー73からの情報を得て、表示手段の表示方向(基準表示方向に対する表示面の角度)を検出する。次に、CPU70は、外部記憶装置や主記憶、あるいはAPI(Application Programming Interface)を通じて得た所定の基準表示方向と検出した表示方向とを比較して、ユーザーの視線方向を推定し、補正手段5にユーザーの視線方向の情報を送る。
【0393】
このセンサー73は、表示手段の表示方向を検出するもので、例えば、ヒンジや回転台、アームなどの関節角度を検出するポテンショメータなどの角度センサーなどを含む。方向検出手段4は、センサー73から得た角度情報を用いて、表示方向を計算するなどすればよい。
【0394】
図27は、本実施形態の表示補正装置の外観例を示している。本体90’上にディスプレイ部91’があり、ディスプレイ部に補正表示内容が表示される。本体90’は、別の機器99にヒンジ部98を介して留められており、ヒンジ部98によって、本体90’と機器99とは相対的に角度を変えることができるようになっている。また、ヒンジ部98には角度センサーが埋め込まれており、本体90’と機器99の相対的な角度を検出する。
【0395】
本発明の実施の一形態に係る表示方法を示すフローチャート図は、実施形態1同様、図1であるが、S3の処理が異なる。
【0396】
図28は、本発明での図1のS3の処理を実現する一方法を説明するフローチャート図である。
【0397】
P10を経て、S3C−1では、方向検出手段4が、表示手段の表示方向を取得して、S3C−2へ処理が進む。表示手段はここでは、表示手段が別の装置や什器、壁などに取り付けられていて、ヒンジや回転台、アームなどによって表示面の向く方向を変えられるとする。
【0398】
例えば、ノート型パソコンは収納時は表示手段である液晶ディスプレイ面とキーボード面を合わせて閉じてあるが、使用時は液晶ディスプレイ面を起こして使う。液晶ディスプレイ面とキーボード面はヒンジ部で繋がれているが、両者の面の開き角度を方向検出手段4が取得すればよい。また、TVなどのモニターを水平方向に回転する回転台に載せている場合などでは、その回転台の回転角度を方向検出手段4が取得すればよい。
【0399】
S3C−2では、方向検出手段4が、基準表示方向を得て、S3C−3へ処理が進む。基準表示方向の値は予め決められていて、外部記憶手段やプログラム中などに記録されているとする。したがって、方向検出手段4は、記録された値を読み出すことで基準表示方向を得ることができる。
【0400】
基準表示方向を決めるにあたって、表示手段の状態は任意なので、ある状態における表示方向を基準表示方向と決めておけばよい。ここでは通常の使用状態で、ユーザーに表示面が正対する時の表示方向を基準表示方向としておく。
【0401】
例えば液晶ディスプレイを備えたノート型パソコンならば、ノート型パソコンを机の上において、ユーザーが椅子に座って使用するような場合、平均的なユーザーの頭の位置を統計的に求めることができる。その平均的な位置で液晶ディスプレイ面に正対する時のヒンジ部の角度を基準表示方向とすればよい。ユーザーによって基準表示方向を微調整するのならば、そのユーザーの使用形態で液晶ディスプレイに正対する時を指示してもらい、その時のヒンジ部の角度を基準表示方向とすればよい。
【0402】
S3C−3では、方向検出手段4が、S3C−1で得た表示方向をS3C−2で得た基準表示方向と比較して、ユーザーの視線方向を推定して算出し、補正手段5に推定したユーザーの視線方向を渡して、P20へ処理が抜ける。例えば、S3C−2で正対した時を基準表示方向としているならば、現在の表示方向と基準表示方向との差が、表示面から相対的に見たユーザーの視線方向であると推定すればよい。
【0403】
液晶ディスプレイなどには輝度に関して方向性があることがあり、ディスプレイ面と正対している時よりも、少し斜めから見た方が見やすいということがある。また、ディスプレイ面が暗くて見にくいので、照明があたるようにディスプレイ面を少し回転させたり、あるいは逆にディスプレイ面に他の照明が映りこんで見にくいので、ディスプレイ面を少し回転させたりして使用することはよくある。あるいは何らかの空間的配置の問題で、ある角度でしかディスプレイ面を見られないということもあるかもしれない。
【0404】
このように、正対状態ではなく、斜めの方向から見るということもあるが、そのような時でも表示手段の表示方向を得ることで、ユーザーの視線方向を推定し、補正することができるようになる。
【0405】
外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがある。これに対し、本実施形態のように表示方向を検出する場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実かつ安価な方法で表示方向を検出することができる効果が出てくる。
【0406】
なお、実施形態1同様、図19、図20の処理のように、繰り返し処理も可能である。
【0407】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。
【0408】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0409】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク,ハードディスク,光ディスク,光磁気ディスク,磁気テープ,不揮発性のメモリカード,等を用いることができる。
【0410】
また、上記プログラムコードは、通信ネットワークのような伝送媒体を介して、他のコンピュータシステムから本装置の主記憶74または外部記憶75へダウンロードされるものであってもよい。
【0411】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0412】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0413】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0414】
なお、実施形態1、実施形態2、実施形態3として説明した本発明に係る表示補正装置、表示補正方法、表示補正プログラムは上述した各実施形態に限定されるものではない。すなわち、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0415】
【発明の効果】
本発明に係る表示補正装置は、以上のように、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出手段と、表示面にユーザーが正対した場合を基準として、前記方向検出手段から得た視線方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0416】
これによって、ユーザーが正対した状態以外の視線方向から表示面を見た時に、その歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。また、ユーザーが表示手段に正対した状態で無い場合、表示手段を回転させたり、移動させたり、表示手段の正面近くにユーザーが移動するといった操作や動作をせず、表示手段の向きを変えた情報を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0417】
本発明に係る表示補正装置は、以上のように、前記補正手段において、表示内容全体を補正単位として補正することを特徴とする。
【0418】
これにより、表示内容全体を同じ補正式あるいは同じ補正パラメータを使って補正するので、表示内容のデータ構造に依存せず、表示できるものならばどんなデータであっても補正することができる効果が出てくる。
【0419】
本発明に係る表示補正装置は、以上のように、表示される情報が一つ以上の表示対象要素からなり、前記補正手段において、個々の表示対象要素を補正単位として補正することを特徴とする。
【0420】
これによって、表示内容全体を補正するより、補正対象となる範囲が少なくなるので、処理量が減るという効果が出てくる。
【0421】
本発明に係る表示補正装置は、以上のように、前記補正手段において、表示手段の表示範囲の大きさとの関係で、表示対象要素の位置を配置し直すことを特徴とする。
【0422】
そこで、補正後の表示対象要素を表示範囲の大きさとの関係で配置し直すことで、表示手段の横幅あるいは縦幅の中に収まりきるように配置することができる。すなわち、表示手段内に表示されている範囲では、意味が途切れないように表示させることができるようになり、理解し易くなる効果が出てくる。また、スクロールバーなどを使う場合も、縦あるいは横の1方向だけで済むので、縦と横の両方にスクロールバーがある状態に比べて、操作が容易となる効果が出てくる。
【0423】
また、表示範囲に表示対象要素をレイアウトする場合、補正された表示対象要素と補正前の表示対象要素とで、扱いが変わるわけではない。すなわち、レイアウト処理結果は異なるが、レイアウトする時の処理手順は同じである。従って、再レイアウトの処理は正対した時にレイアウト処理する時と同じ処理方法を使うことができる効果が出てくる。
【0424】
また表示に関しても、例えば表示対象要素が文字の場合、横に拡大した文字の画像を生成して、その画像の表示をOS(Operating System)に実行させるよりも、横の拡大率が指定された文字の表示をOSに実行させた方が、多くのOSでは高速に実行できるという効果も出てくる。
【0425】
本発明に係る表示補正装置は、以上のように、前記方向検出手段において、ユーザーの視線方向の情報を、3次元空間の3軸のうち1軸または2軸の回転に関して得ることを特徴とする。
【0426】
これによって、ユーザーの視線方向の情報を得る為のコストを抑えることができる効果が出てくる。
【0427】
本発明に係る表示補正装置は、以上のように、前記方向検出手段において、表示手段とユーザーの間の距離の情報を得ることを特徴とする。
【0428】
これによって、視線方向の情報のみを使って歪を補正する場合と比べて、歪を完全に除去したり、より軽減したりすることができる効果が出てくる。
【0429】
本発明に係る表示補正装置は、以上のように、所定の位置範囲にユーザーが存在するかどうかの情報を得る存在検出手段を有し、前記方向検出手段において、前記存在検出手段からの情報に基づきユーザーの視線方向を得ることを特徴とする。
【0430】
これによって、ユーザーの視線方向を、所定の位置範囲にユーザーが存在するかどうかの情報から、ある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な視線方向を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲にユーザーが存在するかどうかなら、安価なセンサーなどを使って実現することができるという効果もある。
【0431】
本発明に係る表示補正装置は、以上のように、前記存在検出手段において、表示手段の正面方向付近にユーザーが存在するかどうかの情報を得ることを特徴とする。
【0432】
これによって、非常に簡易的にユーザーの視線方向を推定することができるという効果が出てくる。
【0433】
また、所定の位置範囲にユーザーが存在するかどうかの情報を得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、存在検出手段を表示手段(装置)に組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0434】
なお、本構成に組み合わせる補正の仕方としては、左右対称(あるいは上下対称)に歪を補正する手法が好ましいが、逆透視変換などの非対称に歪を補正する手法でも効果を得ることができる。
【0435】
本発明に係る表示補正装置は、以上のように、前記補正手段において、リアルタイム、あるいは所定時間間隔毎、あるいは方向検出手段から得られる視線方向が変わった時に補正を行うことを特徴とする。
【0436】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0437】
本発明に係る表示補正装置は、以上のように、前記補正手段において、3次元空間の3軸のうち1軸以上の回転による歪を補正することを特徴とする。
【0438】
これによって、1軸から3軸まで補正の仕方を任意に選ぶ自由度ができることになるので、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶ形態に対応することができる効果が出てくる。
【0439】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に拡大するように表示内容を補正することを特徴とする。
【0440】
これによって、逆透視変換などの複雑な補正処理を行わなくても、縮小して見える歪を、拡大という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0441】
また文字などを横斜めあるいは上下斜め方向から見ると、縦横比が正対して見る時とは変わってしまうが、本発明の補正を行うことで、正対して見る時と同じあるいはほぼ同じ縦横比として見ることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0442】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に、表示手段の表示範囲を広げて補正することを特徴とする。
【0443】
これによって、どの方向からでも、正対した時と近いまたは同じだけの情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作を減らせる、もしくは不要とする効果もある。
【0444】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸方向に縮小するように表示内容を補正することを特徴とする。
【0445】
これにより、表示内容全体の面積は小さくなってしまうので、文字などの大きさ(面積)自体は小さくなってしまうが、正対して見る時と同じあるいはほぼ同じ縦横比としてみることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0446】
本発明に係る表示補正装置は、以上のように、前記補正手段において、逆透視変換によって表示内容を補正することを特徴とする。
【0447】
これにより、逆透視変換で補正を行うことで、単に一軸方向に拡大または縮小する補正と比べて、透視変換の影響を無くす、あるいは低減させることができ、最も正確に補正できる効果が出てくる。
【0448】
本発明に係る表示補正装置は、以上のように、前記補正手段において、逆透視変換による補正を、3次元空間の3軸のうち1軸以上に関して行うことを特徴とする。
【0449】
これにより、3次元空間の3軸に関して逆透視変換による補正を行うと、(ディスプレイの解像度などの影響は受けるが)正対した時とまったく同じ表示内容を見ることができる効果が出てくる。
【0450】
また、1軸あるいは2軸だけの逆透視変換による補正をした場合には、3軸に関して逆透視変換による補正を行う場合と比べて処理量を抑えることができる上に、単に1軸または2軸方向に拡大または縮小する補正と比べて、上述したような逆透視変換の効果が出てくる。
【0451】
本発明に係る表示補正装置は、上記の課題を解決するために、表示面の表示方向が変更可能な表示手段の表示方向の情報を得る方向検出手段と、前記表示手段の所定の表示方向をユーザーが表示手段に正対している基準方向とし、前記方向検出手段から得られる表示方向の時に、基準方向時に正対しているユーザーの位置から、表示手段を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0452】
これによって、表示手段の表示方向を得るだけで表示内容を補正することができ、補正を確実に簡単に実行することができるという効果が出てくる。表示面とユーザーとの方向を得る為に、外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがあるが、表示手段の基準方向に対する角度などを利用して表示方向を得る場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実に角度を検出し、表示方向を得ることができる。
【0453】
それ以外の効果は、上記の表示補正装置による効果として、前述したとおりである。
【0454】
本発明に係る表示補正方法は、以上のように、情報を表示する表示面に対するユーザーの視線方向の情報を得る方向検出ステップと、表示面にユーザーが正対した場合を基準として、前記方向検出ステップから得た方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正ステップと、を有することを特徴とする。
【0455】
上記の構成による作用および種々の効果は、上記表示補正方法の構成に対応する表示補正装置による作用、効果として、前述したとおりである。
【0456】
本発明に係る表示補正プログラムは、以上のように、上記表示補正装置が備える各手段をコンピュータに実行させることを特徴とする。
【0457】
本発明に係る表示補正プログラムは、以上のように、上記表示補正方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0458】
本発明に係る記録媒体は、以上のように、上記表示補正プログラムを記録したことを特徴とする。
【0459】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに表示補正プログラムをインストールすることによって、該コンピュータを用いて上記の表示補正方法を実現する、言い換えれば、該コンピュータを表示補正装置として機能させることができる。
【図面の簡単な説明】
【図1】本発明の表示補正装置による表示補正処理の手順を示すフローチャート図である。
【図2】表示面を基準とする3つの直交軸に対する回転として、ロール、ピッチ、ヨーを説明する説明図である。
【図3】本発明の表示補正装置の機能的な構成を示すブロック図である。
【図4】本発明の表示補正装置の一実施形態における構成例を示すブロック図である。
【図5】本発明の表示補正装置の概観例を示す模式的な斜視図である。
【図6】図1のユーザーの視線方向の取得処理の手順を示すフローチャート図である。
【図7】図1のユーザーの視線方向の取得処理の別の手順を示すフローチャート図である。
【図8】図1の表示内容の補正処理の手順を示すフローチャート図である。
【図9】(a)(b)は、ユーザーが斜めから表示手段を見た時の視線方向と、網膜上のユーザー像平面等の空間的配置、見え方について説明する説明図である。
【図10】(a)(b)は、ユーザーが正対して表示手段を見た時の視線方向と、網膜上のユーザー像平面等の空間的配置、見え方について説明する説明図である。
【図11】ユーザーが表示手段に正対した時に見えるユーザー像を説明する説明図である。
【図12】補正していないオリジナル表示内容をユーザーが斜め方向から見た時に見えるユーザー像を説明する説明図である。
【図13】オリジナル表示内容を1軸方向に拡大し、表示範囲を拡大せずに補正した補正表示内容を示す説明図である。
【図14】図13の補正表示内容をユーザーが斜め方向から見た時に見えるユーザー像を示す説明図である。
【図15】オリジナル表示内容を1軸方向に縮小し、表示範囲を拡大せずに補正した補正表示内容を、ユーザーが斜め方向から見た時見えるユーザー像を示す説明図である。
【図16】オリジナル表示内容を1軸方向に拡大し、表示範囲も拡大して補正した補正表示内容を示す説明図である。
【図17】図16の補正表示内容をユーザーが斜め方向から見た時に見えるユーザー像を説明する説明図である。
【図18】オリジナル表示内容を逆透視変換によって補正し、表示範囲も拡大して補正した補正表示内容を示す説明図である。
【図19】本発明の表示補正装置による表示補正処理の別の手順を示すフローチャート図である。
【図20】本発明の表示補正装置による表示補正処理の更に別の手順を示すフローチャート図である。
【図21】本発明の表示補正装置による表示補正処理の更に別の手順を示すフローチャート図である。
【図22】オリジナル表示内容の表示対象要素のレイアウトについて説明する説明図である。
【図23】各表示対象要素のデータ構造例を説明する説明図である。
【図24】図21の表示内容の取得と補正処理の手順を示すフローチャート図である。
【図25】図22のようにレイアウトされた個々の表示対象要素を横に拡大してレイアウトし直した時のレイアウト結果を説明する図である。
【図26】図25の補正表示内容を、ユーザーが斜め方向から見た時に見えるユーザー像を示す説明図である。
【図27】本発明の表示補正装置の外観例を示す模式的な斜視図である。
【図28】図1のユーザーの方向の取得処理の別の手順を示すフローチャート図である。
【図29】Xd軸とYd軸で視点を回転させた時の、ユーザーが斜めから表示手段を見た時の視線方向と、見え方について説明する説明図である。
【符号の説明】
3 存在検出手段
4 方向検出手段
5 補正手段
6 表示手段
22 正対表示範囲(表示範囲)
41,42,43 表示対象要素
44 表示範囲
74 主記憶(記録媒体)
75 外部記憶(記録媒体)
91 ディスプレイ部(表示手段、表示面)
92,93,94 センサー
95,96,97 圧力センサー
Ld 距離
Od 表示手段座標系原点
Oe ユーザー像座標系原点
Pu 視点
Xd,Yd,Zd 軸(回転軸)
【発明の属する技術分野】
本発明は、ユーザーが表示手段を斜めから見た時に視覚される表示内容の歪を、ユーザーと表示手段の位置関係を変えることなく、ユーザーが表示手段に正対して見ているかのような状態に表示内容を補正して表示する表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
通常、文書などの印刷物や街頭のポスター、TV、パソコン(パーソナルコンピュータ)のモニター、文書などを電子的にディスプレイに表示させる表示装置などは、一方的に表示を行うだけであり、ユーザーの位置や方向に応じて、表示内容を自動的に見易くするような表示制御は行われていない。
【0003】
これに対して、特開平10−42331号公報では、表示部の水平面に対する角度に応じて表示濃度を制御する方法が述べられている。これによって、例えば液晶ディスプレイなど、見る方向によって視覚できる濃度が変わってしまうようなディスプレイであっても、表示濃度が表示部の水平面に対する角度に応じて調節されるので、どの角度でも見やすい表示を行うことができる旨が記載されている。
【0004】
また、特開平10−260666号公報には、表示手段の表示画面と、表示画面に相対する人の顔との距離を距離センサで計測し、計測した距離に応じて、表示画面に表示する表示情報の表示サイズを変更することができる表示制御装置が記載されている。
【0005】
【発明が解決しようとする課題】
ところが、特開平10−42331号公報では、表示部の水平面に対する角度に応じて表示濃度を変えているが、これは主にディスプレイの特性に端を発する問題の解決を図ろうとするものであり、ディスプレイを斜めから見た場合の見にくさを、表示濃度の変更だけで解消することはできない。なぜなら、ディスプレイを斜めから見た場合の見にくさには、他にもディスプレイの特性に寄らない共通した原因があるためである。それはディスプレイを斜めから見た場合に知覚される歪である。
【0006】
図11は、ある文書を正面から見た場合の図だが、これを斜めから見た場合、図12のように見える。それぞれの文字が横方向に歪んで縮んでしまっていて、非常に見にくいという問題がある。
【0007】
また、図12では右端部分の高さが左端部分の高さに比べて小さくなっている。これは透視変換(遠近法)による効果であるが、これによって、それぞれの文字が横方向だけでなく、縦方向にも歪んで縮んでしまい、非常に見にくいという問題がある。文字などが小さくなるだけでなく、図なども歪んでしまい、例えば90度に直交していた部分が透視変換効果により、直交していないように見えてしまうという問題がある。
【0008】
表示手段を回転したり、持ち運びできたりすれば解決することができる場合もあるが、例えば冷蔵庫や壁などに表示手段が埋め込まれていて、大きくて/重くて/固定されていて回転や持ち運びが困難である場合などがある。
【0009】
その場合、ユーザーが表示手段の正面まで行って見るという手間がかかるという問題がある。例えば、冷蔵庫や壁に貼られた/表示されたレシピを見ながら料理したいと思っても、調理台からは斜めで見にくいため、レシピの正面に移動して見て、また調理台に戻る、などという面倒臭いことを繰り返さなければいけない。
【0010】
また、たとえ回転や持ち運びが可能であったとしても、その手間などが問題となる。例えば、本や資料を手に持たずに、机やベッドなどの上に広げて斜め方向から読むということは日常行われていることである。これは手に持つのが疲れるとか、手で何か他の作業をしながら読みたいなど、手に持つことが好ましくない様々な理由があるからである。
【0011】
なお、特開平10−260666号公報に記載された表示制御装置は、人の顔と相対する表示面との距離に応じて表示情報の表示サイズを変更するに過ぎないので、表示面を斜めから見たときの見にくさについては全く考慮されていない。
したがって、表示面に付属した距離センサから等距離にある球面上で人の顔が移動する限り、距離センサが距離を計測できたとしても、表示制御は何も行われないことになる。この結果、表示面を斜めから見るユーザーは、図12で説明したのと同様に、歪んだ表示内容を見ることしかできない。
【0012】
本発明は、ユーザーを煩わせることなく、表示手段の表示面を斜めから見た場合の表示内容の歪みを補正して見やすくすることを課題とする。
【0013】
【課題を解決するための手段】
本発明に係る表示補正装置は、上記の課題を解決するために、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出手段と、表示面にユーザーが正対した場合を基準として、前記方向検出手段から得た視線方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0014】
ここで、「ユーザーの視線方向」とは、表示面を基準とした相対的なものであり、絶対座標系における絶対的な方向ではない。またその方向は、「右に何度」というような精度の高い情報の場合もあるし、単に「左」「正面」「右」などという精度の粗い情報の場合もある。また方向は、左右(図2参照。表示面にユーザーが正対した場合を基準とすれば表示手段の左右方向に振れる回転をヨーと言い換えることができる)の軸だけでなく、上下(ピッチ)や回転(ロール)の軸から1軸が選択される場合もあり、また、それらが2軸、3軸と組み合わされる場合もある。
【0015】
方向検出手段は、何らかの情報を元に表示面に対するユーザーの視線方向の情報を得ることができる手段である。元にする情報を得る方法として、例えば、何らかのセンサーを利用する方法が考えられる。センサーから得られる情報から方向が直接得られる場合もあるし、得られる情報を元に処理して方向を算出する場合もある。
【0016】
センサーとしては、例えば非接触タイプでは、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、ユーザーの視線方向の情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。視線方向を得る処理としては、例えば、センサーから得られる信号から、検出範囲内のユーザーの有無が特定できるので、ユーザーの存在する範囲が特定できる。その結果、表示手段とユーザーの存在する範囲との位置関係から、視線方向を算出することができる。
【0017】
センサーを利用しない方法としては、ユーザー自身がどの方向にいるかをボタンや音声などの手段を用いて直接伝えるという方法もある。あるいは周囲の機器の使用状況などからユーザーの存在位置を推測するという方法なども考えられる。
【0018】
また、「表示面にユーザーが正対した場合」とは、ユーザーが表示面を見た時の視線が表示面と垂直に交わり、かつ、視線の軸周りの回転(ロール)が無い場合を指す。視線の軸周りの回転(ロール)が無い場合とは、表示面の上下方向とユーザーの顔の上下方向が同じになる場合である。
【0019】
また、「歪」とは、表示手段にユーザーが正対した場合に見える表示内容と、現在のユーザーの視線方向から見た場合に見える表示内容との差である。例えば、紙面を左斜め方向から見た場合、紙面は左右に縮んで見える。これは透視変換効果が原因であり、厳密にはあらゆる場合において起きているが、紙面が相対的にそれほど大きくない場合は、左右方向以外の歪は無視して、左右方向のみが縮んだ歪として扱うことも可能である。
【0020】
但し、基準状態を、表示手段にユーザーが正対した場合でなく、いずれかの方向から見た状態に設定する場合は、その状態の時に見える表示内容との差を歪とする場合もある。また視線の軸周りの回転(ロール)は、回転処理によって戻すことができるので、拡大縮小や表示面に対する視線方向の角度の変化が起きる訳ではないが、正対した状態との差という意味で、ここでは広義として歪の中に含まれるとする。
【0021】
「歪を無くして、あるいは軽減して表示内容を補正する」とは、歪んだように見える表示内容を、表示面に対するユーザーの視線方向はそのままでありながら、表示内容の見た目は正対した時のように、あるいはそれに近づけて見せるようにすることを言う。完全に正対したようにした場合が「歪を無くした」場合であり、正対した状態に近づけた場合が「歪を軽減した」場合である。
【0022】
例えば、表示手段の表示面に対する垂直線方向(0度)から60度の角度方向にユーザーが存在した場合、それを0度から見た正対状態に見せることが「歪を無くす」ことであり、例えば30度の角度方向から見たように見せることが「歪を軽減する」ことである。但し、0度や30度の角度方向から見たように正確に見せる場合だけでなく、それに近い場合、例えば、逆透視変換ではなく、左右など1軸方向だけの拡大縮小を行った場合などの擬似的な処理も補正に含む。また、ヨーやピッチ方向だけでなく、ロール方向の補正も含む。
【0023】
そこで、本発明に係る表示補正装置によれば、方向検出手段によって表示面からのユーザーの視線方向の情報が得られる。得られた視線方向から表示面中の表示内容を見た時に見える像は、表示面にユーザーが正対した場合に見える像とは異なり、その方向分だけ歪んでいる。そこで、得られた視線方向から見た時に、その歪が無くなる、あるいは軽減されるように、逆透視変換やその他の拡大縮小、回転、再配置などの処理によって表示手段に表示される表示内容を補正し、それを表示手段で表示する。すなわち、表示手段を駆動するのに用いる表示データを加工する。
【0024】
これによって、ユーザーが正対した状態以外の視線方向から表示面を見た時に、その歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。また、ユーザーが表示手段に正対した状態で無い場合、表示手段を回転させたり、移動させたり、表示手段の正面近くにユーザーが移動するといった操作や動作をせず、表示手段の向きを変えた状態を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0025】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、表示内容全体を補正単位として補正することを特徴とする。
【0026】
「補正単位」とは、補正を行う対象の範囲であり、通常、同じ補正式あるいは同じ補正パラメータを使って補正される。
【0027】
「表示内容全体を補正単位として補正する」とは、表示内容全体が一枚の画像であるかのように扱い、画像全体の範囲を同じ補正式あるいは同じ補正パラメータを使って補正することである。画像(表示内容)の一部分の範囲内だけを補正することではない。また、画像(表示内容)を複数の領域に区分し、その区分した領域毎に補正式や補正パラメータを使った演算処理を行い、領域毎の補正結果を用いて表示内容を再構成することによって、表示内容全体を補正することではない。
【0028】
例えば、補正後の画像の各位置の画素に対応する、補正前の表示内容の画像の位置を補正手段で求める。補正前の表示内容の画像上で、求めた位置の画素値を得て、その画素値を先の補正後の画素の位置の画素値とする。補正後の画素の位置を順にずらして補正後の画素値を同様に求めることで、表示内容全体を補正することができるようになる。
【0029】
これにより、表示内容のデータ構造に依存せず、表示できるものならばどんなデータであっても補正することができる効果が出てくる。
【0030】
本発明に係る表示補正装置は、上記の課題を解決するために、表示される情報が一つ以上の表示対象要素からなり、前記補正手段において、個々の表示対象要素を補正単位として補正することを特徴とする。
【0031】
「表示対象要素」とは、表示の対象となる個々の要素であり、例えば、個々の文字や画像などが相当する。表示内容は、通常、複数の表示対象要素の配列または集合として構成される。
【0032】
「個々の表示対象要素を補正単位として補正する」とは、個々の表示対象要素の範囲内を補正することである。言い換えれば、ある表示対象要素を構成する各画素に対してだけ、補正式や補正パラメータを使った演算処理を行うことである。ここでは、補正後の表示対象要素中の各画素の値は、表示内容全体を補正単位として補正した画像内で対応する位置の画素の値と、変わらないとする。
【0033】
個々の表示対象要素以外の範囲、例えば表示対象要素の周囲の余白を構成する画素については本発明の補正処理対象ではない。しかし、例えば、ある表示対象要素を拡大補正した結果、余白を構成していた画素が、拡大補正された表示対象要素の画素に置き換わるように補正されるのは当然である。
【0034】
上記の構成によれば、補正手段は、1つの表示対象要素に対する補正のパラメータを決めて、補正を行う。補正方法自体は、先に説明した補正方法と同じでよいが、表示対象要素の位置などによって、各表示対象要素、もっと細かく言えば、各表示対象要素内の各画素の補正に使われるパラメータなどは異なってくる場合がある。パラメータとしては、例えば、拡大縮小率、回転量や、座標系を変換する行列などがある。全ての画素に対して一律に拡大縮小する場合などは、パラメータは同じだが、逆透視変換などする場合は、画素の位置によって、補正のパラメータは変わってくる。
【0035】
これを個々の表示対象要素について繰り返すことで、個々の表示対象要素の補正が行われる。なお、補正された後の表示対象要素の位置は、表示内容全体を補正する時の補正結果と重なる位置にする場合と、配置し直す場合とがある。
【0036】
これによって、表示内容全体を補正するより、補正対象となる範囲が少なくなる可能性が高まるので、処理量が減る可能性が高まるという効果が出てくる。
【0037】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0038】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、表示手段の表示範囲の大きさとの関係で、表示対象要素の位置を配置し直すことを特徴とする。
【0039】
個々の表示対象要素の補正の仕方は上述した方法と同様である。個々の表示対象要素を補正した後、それを配置し直す(「再配置」、「再レイアウト」などとも呼ぶ)。配置は、ある決まった方法に則って行われる。通常は、表示内容が意味的に途切れず、かつ、表示手段の横幅あるいは縦幅の中に収まりきるように配置する。WWW(World Wide Web)ブラウザの個々の文字や画像を表示対象要素と考えた場合、WWWブラウザのウィンドウの幅や文字の大きさを変えた時に、文字や画像を再配置する方法は、典型的な例である。再配置の処理は、個々の表示対象要素を補正しながら逐次的に行ってもよいし、全ての表示対象要素を補正した後にまとめて行ってもよい。
【0040】
表示内容自体の量が多くて、表示手段内に収まらないことは元々ありえるが、その場合は通常、縦あるいは横に表示内容をスクロールしたりページを切り替えたりして読む。その時、表示手段内に表示されている範囲では、意味が途切れないようになっているのが普通である。
【0041】
行を使って分かりやすく説明すれば、「表示手段内に収まらない」とは、全部の行は表示されていないということであり、「表示手段内に表示されている範囲では、意味が途切れない」とは、表示されている範囲の行は、1行の文字全てが表示されているということである。1行の幅が表示手段幅より大きくて、半分しか表示されないということはなく、表示手段幅を超える分の文字は、次の行に折り返されて表示される。
【0042】
もしスクロールバーを使って表示する場合、スクロールバーは縦あるいは横の1方向しか表示されない。縦と横の両方にスクロールバーが出ることはない。この場合、表示手段内に表示されている範囲を見ると、全ての行は表示されてはいないが、その一部は意味的に途切れなく表示されているので、理解しやすい。スクロールバーなどを使って表示範囲を縦あるいは横に変更するだけで、全ての行を見ることもできる。
【0043】
単に表示内容全体を補正する場合は、拡大されて表示手段内に収まらない場合が出てくる可能性がある。個々の表示対象要素の補正後の位置を、表示内容全体を補正する時の補正結果と重なる位置にする場合も、同様に表示手段内に収まらない場合が出てくる可能性がある。
【0044】
表示内容全体を補正した結果を、スクロールバーを使って表示するとした場合、縦と横の両方にスクロールバーが出る可能性もある。この場合、表示手段内に表示されている範囲を見ただけでは、文章などが途切れてしまう。先の行の例で言えば、行の一部しか表示されなくなってしまう。従って、表示内容が非常に理解しにくくなってしまう。文章などを途切れなく読もうとしたら、表示範囲を縦や横に変更する必要があるが、縦と横の両方のスクロールバーを操作せねばならず、しかも毎行その操作を行わなければならなくなるので、操作も非常に手間がかかる。
【0045】
そこで、補正後の表示対象要素を表示手段の表示範囲の大きさとの関係で配置し直すことで、表示手段の横幅あるいは縦幅の中に収まりきるように配置することができる。すなわち、表示手段内に表示されている範囲では、意味が途切れないように表示させることができるようになり、理解し易くなる効果が出てくる。
また、スクロールバーなどを使う場合も、縦あるいは横の1方向だけで済むので、縦と横の両方にスクロールバーがある状態に比べて、操作が容易となる効果が出てくる。
【0046】
また、例えば、補正が1方向、例えば横方向に拡大する処理の場合、個々の表示対象要素を横に拡大した大きさのものとして扱うと、結局、表示対象要素をレイアウトする処理に変わりはなくなる。単に個々の表示対象要素の横幅などが大きくなっているだけである。レイアウト処理結果は異なるが、レイアウトする時の処理手順は同じである。従って、再レイアウトの処理は正対した時にレイアウト処理する時と同じ処理方法を使うことができる効果が出てくる。
【0047】
また表示に関しても、例えば表示対象要素が文字の場合、横に拡大した文字の画像を生成して、その画像の表示をOS(Operating System)に実行させるよりも、横の拡大率が指定された文字の表示をOSに実行させた方が、多くのOSでは高速に実行できるという効果も出てくる。
【0048】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0049】
本発明に係る表示補正装置は、上記の課題を解決するために、前記方向検出手段において、ユーザーの視線方向の情報を、3次元空間の3軸のうち1軸または2軸の回転に関して得ることを特徴とする。
【0050】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、このうち1軸あるいは2軸だけの情報を得ればよいことになる。
【0051】
ユーザーの視線方向は、例えばセンサーなどによって得ることができるが、3軸よりは2軸、2軸よりは1軸だけの情報を得る方が、必要なセンサーの数を少なくできたり、より安価なセンサーを使用することができるようになる。
【0052】
これによって、ユーザーの視線方向の情報を得る為のコストを抑えることができる効果が出てくる。
【0053】
なお、2軸の回転に関する情報としては、上下方向(ピッチ)、左右方向(ヨー)、視線回り方向(ロー)の3軸回り方向の内、上下方向(ピッチ)および左右方向(ヨー)を選択すると、表示面を斜めから見たときの歪を補正することができ、補正効果が大きくなる。
【0054】
但し、3軸回り方向の内、どの1軸または2軸の組み合わせを選択するかは、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して決めればよい。また、表示面に対するユーザーの視線方向を統計的に検出し、出現頻度の高い視線方向に合わせて、1軸または2軸の組み合わせを選択してもよい。
【0055】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0056】
本発明に係る表示補正装置は、上記の課題を解決するために、前記方向検出手段において、表示手段とユーザーの間の距離の情報を得ることを特徴とする。
【0057】
ここまでは、視線方向の情報を得て歪みを補正する構成を説明したが、歪は透視変換効果により発生しており、視線方向が一緒でも距離が異なれば歪具合(透視変換効果)も変わってくる為、補正処理において、視線方向の情報だけでは完全な補正処理を行うことはできない。
【0058】
そこで、上記の構成により、方向検出手段が、表示手段とユーザーの間の距離の情報も得て、補正手段が、視線方向の情報に加えて距離の情報も使うことで、歪を完全に除去したり、処理を多少簡易にして、完全には除去しないまでも歪を軽減したりすることができるようになる。
【0059】
これによって、歪を完全に除去したり、より軽減したりすることができる効果が出てくる。
【0060】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0061】
本発明に係る表示補正装置は、上記の課題を解決するために、所定の位置範囲にユーザーが存在するかどうかの情報を得る存在検出手段を有し、前記方向検出手段において、前記存在検出手段からの情報に基づきユーザーの視線方向を得ることを特徴とする。
【0062】
「所定の位置範囲」とは、存在を検知する方法にもよるが、例えば、何らかのセンサーを使った場合、そのセンサーが検知する範囲ということになる。また、センサーなどのような直接的な検知ではなく、間接的な検知の場合、例えば、周囲の機器の使用状況などから推測する、などという場合、その機器の利用可能範囲や操作範囲ということになる。
【0063】
「存在検出手段」は、何らかの情報を元に所定の位置範囲にユーザーが存在するかどうかの情報を得ることができる手段である。元にする情報を得る方法として、例えば、直接的な検知としてのなんらかのセンサーを利用する方法や、間接的な検知としての周囲の機器の使用状況などから推測する方法などが考えられる。
【0064】
センサーとしては、例えば非接触タイプとしては、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、元にする情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。
【0065】
存在を検出する処理としては、例えば、センサーから得られる信号から、検出範囲内の物体の有無が特定できる。物体が検出されればユーザーがそこに存在すると判断すればよい。センサーを使わず、周囲の機器の使用状況などから推測する場合は、例えば、表示面に対する位置が把握されているガスコンロの火が点いたとしたら、ガスコンロの周囲にユーザーが存在すると推測する、などの処理となる。
【0066】
あるいは、ユーザー自身がどこにいるかをボタンや音声、発信機などの手段を用いて直接伝えるという方法もある。
【0067】
そこで、本発明に係る表示補正装置によれば、存在検出手段から所定の位置範囲にユーザーが存在するかどうかが得られ、これを方向検出手段に渡し、方向検出手段では、所定の位置範囲に存在するかどうかで大まかなユーザーの視線方向や距離を得ることができる。方向検出手段から得られるこの視線方向や距離を元にして補正処理を行う。
【0068】
これによって、ユーザーの視線方向を、所定の位置範囲にユーザーが存在するかどうかの情報から、ある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な視線方向を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲にユーザーが存在するかどうかなら、安価なセンサーなどを使って実現することができるという効果もある。
【0069】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0070】
本発明に係る表示補正装置は、上記の課題を解決するために、前記存在検出手段において、表示手段の正面方向付近にユーザーが存在するかどうかの情報を得ることを特徴とする。
【0071】
上記の構成によれば、表示手段の正面方向付近にユーザーが存在するかどうかを存在検出手段から得ることで、存在する場合はほぼ正面から見ていて、存在しない場合は斜めの方向から見ている可能性が高い。従って、存在する場合は補正を全くあるいはほとんど行わず、存在しない場合は斜め方向から見ていると推測して、その視線方向の補正を行う。
【0072】
またもし、違う場所や遠くの場所、表示手段の横や裏側などにユーザーが存在し、表示手段付近に存在しない為に正面付近に存在しないと判断されたとしても、その場合はユーザーが表示手段を見ようとは思っていない可能性が高いので、補正処理を行っていたとしても見ていないのだから何の問題もない。
【0073】
これによって、非常に簡易的にユーザーの視線方向を推定することができるという効果が出てくる。
【0074】
また、所定の位置範囲にユーザーが存在するかどうかの情報を得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、存在検出手段を表示手段(装置)に組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0075】
なお、補正の仕方によっては、効果が弱い場合もある。例えば、表示面を斜め方向から見た場合の補正方法が左右対称(あるいは上下対称)で無い場合などである。左右対称でない補正方法の例としては、逆透視変換などがある。逆透視変換では、ユーザーから見て、表示内容の内、遠くに位置する部分は相対的により大きく、近くに位置する部分は相対的により小さくなるような補正を行う。これにより、遠くに位置する部分と近くに位置する部分が、同じような大きさに視覚できるように補正がされる。
【0076】
しかし、左斜め用に逆透視変換を使って補正した表示内容を右斜めから見ると、補正前の表示内容の視覚結果と比べると、遠くに位置する部分はより小さく、近くに位置する部分はより大きく視覚されてしまう。これは逆効果である。
【0077】
一般に、正しいユーザーの視線方向で補正される場合、逆透視変換による補正効果の方が、縦横を拡大縮小するだけの補正効果よりも高い。しかし、ユーザーに対して、表示手段が相当大きくなければ、補正効果の差はそれほど大きくは無い。つまり、逆透視変換であっても、縦横の拡大縮小と似た処理結果が得られるということである。逆透視変換の補正効果の内、縦横の拡大縮小と同等の補正効果による正の補正効果と、上述した逆効果による負の補正効果を比べれば、正の補正効果の方が一般に勝る。従って、逆透視変換などの対称でない補正処理を行っても、一般に、効果はある。
【0078】
なお、上述したように、本構成の場合は、縦横の拡大縮小などの対称な補正処理と組み合わせることで、簡易な構成で視覚的な歪を補正できるという効果を一層高めることができる。
【0079】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0080】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、リアルタイム、あるいは所定時間間隔毎、あるいは方向検出手段から得られる視線方向が変わった時に補正を行うことを特徴とする。
【0081】
「リアルタイム」とは、常に視線方向の取得と補正が行われている状態をさすが、実装上は非常に細かい時間周期で視線方向の取得と補正が行われる状態をさす。「所定間隔毎」は、リアルタイムと言えるほど短い周期ではなく、例えば5分間隔など、ある時間間隔で視線方向の取得と補正を行うことである。
【0082】
ちなみに基本的には時間間隔は同じだが、必要があれば、異なる時間間隔でも良い。例えば、ユーザーの移動頻度に応じて時間間隔を変えても良い。この場合、移動頻度が大きければ、短い時間間隔で視線方向の取得が行われ、移動頻度が小さければ、長い時間間隔で視線方向の取得が行われる。
【0083】
上記の構成によれば、補正手段が、あるタイミングで方向検出手段から視線方向を取得し、表示の補正を行ったとした場合に、タイマーなどを用いることで所定時間が経過したら、再び視線方向の取得と表示の補正を行う。これを繰り返すことで、現在のユーザーの視線方向に対応して補正された表示を得ることができる。
【0084】
あるいは方向検出手段から得られる視線方向が変わった時に、新たな視線方向で表示の補正を行う。視線方向が変わった時に補正が行われるので、現在のユーザーの視線方向に対応して補正された表示を得ることができる。
【0085】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0086】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0087】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、3次元空間の3軸のうち1軸以上の回転による歪を補正することを特徴とする。
【0088】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、このうち1軸だけを使った場合、上下(ピッチ)や左右(ヨー)など決まった1方向の歪だけが補正されることになる。
2軸を使った場合、組み合わせは3通り考えられるが、例えば上下と左右の組み合わせの場合、上下左右方向の間の斜め方向の歪も補正することが可能となる。
また視線回りの回転(ロール)と他の方向を組み合わせた場合は、他方向の歪が補正され、さらに視線回りの回転(ロール)の補正として、表示内容が回転して表示される。3軸の場合はこれら全てが補正される。
【0089】
一般に、軸数が多い程、補正の精度を上げることができるが、使用状態によっては、1軸回りの補正のみで十分な場合もある。この場合には、軸数を増やしても、改善効果に比べて、コストや処理時間が無駄に膨らむことになる。
【0090】
これに対し、本発明の上記構成によれば、1軸から3軸まで補正の仕方を任意に選ぶ自由度ができることになるので、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶ形態に対応することができる効果が出てくる。
【0091】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0092】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に、表示手段の表示範囲を拡大するように表示内容を補正することを特徴とする。
【0093】
上記の構成において、ユーザーと表示手段との相対的な方向は、前述した3軸の回転で表現できる。「歪の原因となる回転軸」とは、ユーザーが表示手段に正対する状態の時の3軸の回転角度を基準角度とし、その基準角度と異なる値となっている回転角度の軸である。
【0094】
例えば、ユーザーが表示手段を横斜め方向から見るとすると、正対した状態から左右の回転(ヨー)が生じているので、「歪の原因となる回転軸」とは左右の回転(ヨー)の軸、すなわち上下方向に延びる軸となる。従って、「歪の原因となる回転軸に垂直な面」とは、上下方向に垂直な面となるので、水平面となる。
さらに、「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線」は、水平面と表示面の交わりからなる直線方向となる。表示面が上下方向に平行ならば、この直線方向は表示面に沿って左右に延びる直線の方向となる。
【0095】
そこで、本発明に係る表示補正装置によれば、ユーザーの視線方向としては、3次元空間の3軸回りの回転があるが、歪の原因となる回転方向はこの3軸回りの回転に分解できる。この内、表示内容が縮小されて見えてしまうのは、主に上下(ピッチ)方向や左右(ヨー)方向の回転によるので、この方向の回転に対して、上記構成のように表示内容を拡大すれば、縮小分がカバーされ、正対している時の表示内容に近いものが得られる。
【0096】
本来、正確に補正を行う為には逆透視変換などの複雑な補正処理を行わないといけないが、上記の構成によって、縮小効果を拡大という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0097】
また文字などを横斜めあるいは上下斜め方向から見ると、縦横比が正対して見る時とは変わってしまうが、本発明の補正を行うことで、正対して見る時と同じあるいはほぼ同じ縦横比として見ることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0098】
また、前記補正において、本方法で拡大した後の表示内容に含まれる各表示対象要素の位置を、表示範囲の大きさとの関係で、表示範囲に対して再配置するようにすれば、歪を補正して見やすくなった表示内容の意味も途切れないように表示し直すことができるので、より効果的である。
【0099】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0100】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に、表示手段の表示範囲を広げて補正することを特徴とする。
【0101】
「表示手段の表示範囲」とは、表示内容を表示する範囲(表示領域またはその大きさ)のことである。表示手段の大きさを物理的に大きくしたり小さくしたりすることは簡単にはできないので、表示手段中の一部を「ウィンドウ」などを使って表示内容の表示範囲とし、そのウィンドウの大きさを変えることで実現する場合が多い。あるいは、複数の表示手段を1つの表示手段として扱うという方法もある。
【0102】
歪の原因となる回転方向に表示内容を拡大して補正する際、単純に拡大するだけだと、表示範囲を超えてしまい、超えた分は表示されなくなってしまう。そこで、表示手段の表示範囲自体を広げてやることで、表示範囲を超える分を表示できるようになる。また、隠れる部分もなく全て表示することができる場合も出てくる。
【0103】
これによって、どの方向からでも、正対した時と近いまたは同じだけの情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作を減らせる、もしくは不要とする効果もある。
【0104】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0105】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、歪の原因となる回転軸方向に縮小するように表示内容を補正することを特徴とする。
【0106】
上記の補正方法は、先に説明した「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に拡大して補正する」方法の逆の方法であり、拡大しない代わりにそれと垂直な方向を縮小するだけである。例えば、横方向に拡大する代わりに、縦方向に縮小するという具合である。
【0107】
これにより、表示内容全体の面積は小さくなってしまうので、文字などの大きさ(面積)自体は小さくなってしまうが、正対して見る時と同じあるいはほぼ同じ縦横比としてみることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0108】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0109】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、逆透視変換によって表示内容を補正することを特徴とする。
【0110】
補正を正確に行うには、逆透視変換を行うことである。逆透視変換で補正を行うことで、単に一軸方向に拡大または縮小する補正と比べて、透視変換の影響を無くす、あるいは低減させることができる効果が出てくる。
【0111】
透視変換の影響とは、例えば、表示手段上で同じ大きさの表示内容でも、表示手段上でユーザーから遠い位置に表示されると、近い位置に表示される場合より、ユーザーには小さく視覚されることなどである。他にも、例えば、表示手段上で90度に交わっている直線の表示内容が、表示手段に対して斜めの位置から見ると、直線が90度以外の角度で交わっているようにユーザーには視覚されることなどがある。
【0112】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0113】
本発明に係る表示補正装置は、上記の課題を解決するために、前記補正手段において、逆透視変換による補正を、3次元空間の3軸のうち1軸以上に関して行うことを特徴とする。
【0114】
上記の構成によれば、3次元空間の3軸に関して逆透視変換による補正を行うと、(ディスプレイの解像度などの影響は受けるが)正対した時とまったく同じ表示内容を見ることができる効果が出てくる。
【0115】
また、1軸あるいは2軸だけの逆透視変換による補正をした場合には、3軸に関して逆透視変換による補正を行う場合と比べて処理量を抑えることができる上に、単に1軸または2軸方向に拡大または縮小する補正と比べても、上述したような逆透視変換の効果が出てくる。
【0116】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0117】
本発明に係る表示補正装置は、上記の課題を解決するために、表示面の表示方向が変更可能な表示手段の表示方向の情報を得る方向検出手段と、前記表示手段の所定の表示方向をユーザーが表示手段に正対している基準方向とし、前記方向検出手段から得られる表示方向の時に、基準方向時に正対しているユーザーの位置から、表示手段を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0118】
「表示方向検出手段」としては、例えば、表示手段がヒンジや回転支柱などで支持されている場合は、それらに組み込まれた角度検出センサーなどが考えられる。あるいはユーザーが角度を教えるという方法も考えられる。
【0119】
「所定の基準表示方向」とは、予め決められた方向であるが、通常はユーザーが表示手段に正対していると考えられる時の方向である。例えば、ノートパソコンに取り付けられているディスプレイの様に、表示手段を起こした状態で使うような場合、起こした状態がユーザーに正対した時となる。この時の本体とディスプレイをつなぐヒンジ部の角度を所定の基準方向(基準角度)とすればよい。なお、必ずしも正対した状態でなくても、ユーザーが使いたいと思っている方向(角度)があるならば、それを基準方向(基準角度)としても良い。
【0120】
そこで、本発明に係る表示補正装置によれば、表示方向検出手段によって表示面の現在の方向の情報が得られる。得られた方向で表示面中の表示内容をユーザーが見た時に見える像は、所定の基準方向で見た場合(通常は、表示面にユーザーが正対した場合)に見える像とは異なり、その方向差分だけ歪んでいる。この方向差分は、表示手段の角度をユーザーが基準角度以外に変えることなどによって起こる。例えば、表示面に蛍光灯の反射が写り込んで見えるために表示手段の角度を変える場合とか、表示手段が液晶デバイスなど指向性のある表示手段で、少し表示手段の角度を変えた方が濃度や輝度が見やすい、などという場合である。あるいは、たまたま何かが表示手段に当たるなどして、表示手段の角度が変わってしまう場合もあるかもしれない。
【0121】
そこで、得られた方向の状態から見た時に、その歪が無くなる、あるいは軽減されるように、前述した逆透視変換やその他の処理によって表示手段に表示される表示内容を補正し、それを表示手段で表示する。
【0122】
これによって、表示手段の表示方向を得るだけで表示内容を補正することができ、補正を確実に簡単に実行することができるという効果が出てくる。表示面とユーザーとの方向を得る為に、外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがあるが、表示手段の基準方向に対する角度などを利用して表示方向を得る場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実に角度を検出し、表示方向を得ることができる。
【0123】
それ以外の効果は、上記の表示補正装置による効果として、前述したとおりである。
【0124】
なお、本請求項に記載した構成を、前記請求項に記載した各構成と、必要に応じて任意に組み合わせてもよい。
【0125】
本発明に係る表示補正方法は、上記の課題を解決するために、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出ステップと、表示面にユーザーが正対した場合を基準として、前記方向検出ステップから得た方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正ステップと、を有することを特徴とする。
【0126】
上記の構成による作用および種々の効果は、上記表示補正方法の構成に対応する表示補正装置による作用、効果として、前述したとおりである。
【0127】
本発明に係る表示補正プログラムは、上記の課題を解決するために、上記表示補正装置が備える各手段をコンピュータに実行させることを特徴とする。
【0128】
本発明に係る表示補正プログラムは、上記の課題を解決するために、上記表示補正方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0129】
本発明に係る記録媒体は、上記の課題を解決するために、上記表示補正プログラムを記録したことを特徴とする。
【0130】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに表示補正プログラムをインストールすることによって、該コンピュータを用いて上記の表示補正方法を実現する、言い換えれば、該コンピュータを表示補正装置として機能させることができる。
【0131】
【発明の実施の形態】
〔実施形態1〕
以下、本発明の実施の形態を図面を参照して説明する。
【0132】
最初に言葉の定義について説明しておく。
【0133】
「ユーザーの視線方向」は、「右に何度」というような精度の高い情報の場合もあるし、単に「左」「正面」「右」などという精度の粗い情報の場合もある。
また方向は、左右(図2参照。表示面にユーザーが正対した場合を基準とすれば表示手段の左右方向に振れる回転をヨーと言い換えることができる)の軸だけでなく、上下(ピッチ)や回転(ロール)の軸から1軸が選択される場合もあり、また、それらが2軸、3軸と組み合わされる場合もある。
【0134】
また、「表示面にユーザーが正対した場合」とは、ユーザーが表示面を見た時の視線が表示面と垂直に交わり、かつ、視線の軸周りの回転(ロール)が無い場合を指す。視線の軸周りの回転(ロール)が無い場合とは、表示面の上下方向とユーザーの顔の上下方向が同じになる場合である。
【0135】
また、「歪」とは、表示手段にユーザーが正対した場合に見える表示内容と、現在のユーザーの方向から見た場合に見える表示内容との差である。例えば、紙面を左斜め方向から見た場合、紙面は左右に縮んで見える。これは透視変換効果が原因であり、厳密にはあらゆる場合において起きているが、紙面が相対的にそれほど大きくない場合は、左右方向以外の歪は無視して、左右方向のみが縮んだ歪として扱うことも可能である。
【0136】
但し、基準状態を、表示面にユーザーが正対した場合でなく、いずれかの方向から見た状態に設定する場合は、その状態の時に見える表示内容との差を歪とする場合もある。また視線の軸周りの回転(ロール)は、回転処理によって戻すことができるので、拡大縮小や表示面に対する視線方向の角度の変化が起きる訳ではないが、正対した状態との差という意味で、ここでは広義として歪の中に含まれるとする。
【0137】
「歪を無くして、あるいは軽減して表示内容を補正する」とは、歪んだように見える表示内容を、表示面に対するユーザーの視線方向はそのままでありながら、表示内容の見た目は正対した時のように、あるいはそれに近づけて見せるようにすることを言う。完全に正対したようにした場合が「歪を無くした」場合であり、正対した状態に近づけた場合が「歪を軽減した」場合である。
【0138】
例えば、表示手段の表示面に対する垂直線方向(0度)から60度の角度方向にユーザーが存在した場合、それを0度から見た正対状態に見せることが「歪を無くす」ことであり、例えば30度の角度方向から見たように見せることが「歪を軽減する」ことである。但し、0度や30度の角度方向から見たように正確に見せる場合だけでなく、それに近い場合、例えば、逆透視変換ではなく、左右など1軸方向だけの拡大縮小を行った場合などの擬似的な処理も補正に含む。また、ヨーやピッチ方向だけでなく、ロール方向の補正も含む。
【0139】
ユーザーと表示手段との相対的な方向は、前述した3軸の回転で表現できる。
「歪の原因となる回転軸」とは、ユーザーが表示手段に正対する状態の時の3軸の回転角度を基準角度とし、その基準角度と異なる値となっている回転角度の軸である。
【0140】
例えば、ユーザーが表示手段を横斜め方向から見るとすると、正対した状態から左右の回転(ヨー)が生じているので、「歪の原因となる回転軸」とは左右の回転(ヨー)の軸、すなわち上下方向に延びる軸となる。従って、「歪の原因となる回転軸に垂直な面」とは、上下方向に垂直な面となるので、水平面となる。
さらに、「歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線」は、水平面と表示面の交わりからなる直線となる。表示面が上下方向に平行ならば、この直線方向は表示面に沿った左右に延びる直線の方向となる。
【0141】
「補正単位」とは、補正を行う対象の範囲であり、通常、同じ補正式あるいは補正パラメータを使って補正される。
【0142】
「表示内容全体を補正単位として補正する」とは、表示内容全体が一枚の画像であるかのように扱い、画像全体の範囲を補正することである。画像(表示内容)の一部分の範囲内だけを補正することではない。
【0143】
「個々の表示対象要素を補正単位として補正する」とは、個々の表示対象要素の範囲内を補正することである。個々の表示対象要素以外の範囲については本発明の補正処理を行わない。なお、表示対象要素の定義、具体例は、〔実施形態2〕で説明する。
【0144】
「所定の位置範囲」とは、存在を検知する方法にもよるが、例えば、何らかのセンサーを使った場合、そのセンサーが検知する範囲ということになる。また、センサーなどのような直接的な検知ではなく、間接的な検知の場合、例えば、周囲の機器の使用状況などから推測する、などという場合(後述するガスコンロの例など)、その機器の利用可能範囲や操作範囲ということになる。
【0145】
「存在検出手段」は、何らかの情報を元に所定の位置範囲にユーザーが存在するかどうかの情報を得ることができる手段である。元にする情報を得る方法として、例えば、直接的な検知としてのなんらかのセンサーを利用する方法や、間接的な検知としての周囲の機器の使用状況などから推測する方法などが考えられる。
【0146】
センサーとしては、例えば非接触タイプとしては、超音波センサー、赤外線センサー、熱センサー、レーザーセンサーなどが考えられる。カメラで撮影した画像に対して画像処理を行うことでも、元にする情報が得られる。接触タイプとしては、例えば、床に敷くマットなどに仕込んだ圧力センサーや静電気センサーなどが考えられる。
【0147】
存在を検出する処理としては、例えば、センサーから得られる信号から、検出範囲内の物体の有無が特定できる。物体が検出されればユーザーがそこに存在すると判断すればよい。センサーを使わず、周囲の機器の使用状況などから推測する場合は、例えば、表示面に対する位置が把握されているガスコンロの火が点いたとしたら、ガスコンロの周囲にユーザーが存在すると推測する、などの処理となる。この場合、ガスメータやガスコンロの操作スイッチなどを使って、ガスコンロの使用を検出することになる。
【0148】
あるいは、ユーザー自身がどこにいるかをボタンや音声、発信機などの手段を用いて直接伝えるという方法もある。
【0149】
「リアルタイム」とは、常に視線方向の取得と補正が行われている状態をさすが、実装上は非常に細かい時間周期で視線方向の取得と補正が行われる状態をさす。「所定間隔毎」は、リアルタイムと言えるほど短い周期ではなく、ある時間間隔で視線方向の取得と補正を行うことである。
【0150】
ちなみに基本的には時間間隔は同じだが、必要があれば、異なる時間間隔でも良い。例えば、ユーザーの移動頻度に応じて時間間隔を変えても良い。この場合、移動頻度が大きければ、短い時間間隔で視線方向の取得が行われ、移動頻度が小さければ、長い時間間隔で視線方向の取得が行われる。
【0151】
「表示手段の表示範囲」とは、表示内容を表示する範囲(表示領域またはその大きさ)のことである。表示手段の大きさを物理的に大きくしたり小さくしたりすることは簡単にはできないので、表示手段中の一部を「ウィンドウ」などを使って表示内容の表示範囲とし、そのウィンドウの大きさを変えることで、表示範囲を変更する場合が多い。あるいは、複数の表示手段を1つの表示手段として扱うという方法もある。つまり複数の表示手段を並べて、それぞれに隣の表示手段と繋がる内容を表示させれば、全体として1つの表示手段のように見ることもできる。
【0152】
図3は、本発明の実施の一形態に係り、上述した表示補正処理方法を実施する表示補正装置を示す構成図である。
【0153】
すなわち、表示補正装置の要部を、コンテンツ取得手段1、表示内容取得手段2、存在検出手段3、方向検出手段4、補正手段5、表示手段6の主要な機能ブロックに展開して示すことができる。
【0154】
図4は、図3の各手段1〜6を具体的に実現する装置の構成例である。
【0155】
CPU(central processing unit)70は、上記コンテンツ取得手段1、表示内容取得手段2、存在検出手段3、方向検出手段4、補正手段5、および表示手段6として機能し、これら各手段1〜6による処理手順が記述されたプログラムを主記憶74、外部記憶75、通信デバイス77などから得る。また、CPU70は、CPU70を含めてバス79を通じ相互に接続されたディスプレイ71、プリンタ72、センサー73、主記憶74、外部記憶75、マウス76、通信デバイス77、ボタン78とデータのやりとりを行ないながら、後で説明する各処理を行なう。
【0156】
なお、データのやりとりをバス79を介して行う場合に限らず、データを送受信できるものならば、通信ケーブルや無線通信装置などを介してもよい。また、各手段1〜6の実現手段としては、CPUに限らず、DSP(digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【0157】
主記憶74は、通常はDRAM(dynamic random access memory)やフラッシュメモリなどのメモリデバイスで構成される。外部記憶75は、HDD(hard disk drive)やPC(personal computer) カードなどの装脱着可能な記憶手段である。あるいはCPU70と通信デバイス77を介して有線または無線で接続された他のネットワーク機器に取り付けられた主記憶や外部記憶を外部記憶75として用いることもできる。
【0158】
ユーザの操作を入力する手段として、マウス76、センサー73、ボタン78などがある。この他にもキーボード、マイクによる音声入力など、様々な手段が使用可能である。
【0159】
ユーザーの方向や存在位置などを検出する手段として、センサー73などがある。
【0160】
ディスプレイ71は、通常はグラフィックカードなどと組み合わされて実現され、グラフィックカード上にVRAM(video random access memory)を有している。VRAM上のデータは表示信号に変換され、モニターなどのディスプレイ71に送られ、ディスプレイ71は表示信号を画像として表示する。
【0161】
プリンタ72は、バス79を介して得た印刷データを用紙に印刷する。通信デバイス77は、ネットワークカードなどにより実現され、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする。
【0162】
図3の各手段1〜6を、図4などの実現手段と各手段1〜6間のデータの授受の観点から説明する。
【0163】
コンテンツ取得手段1としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから、ディスプレイ71に表示する表示内容に関するコンテンツデータを得る。コンテンツデータは予め用意されているとする。得たコンテンツデータは、表示内容取得手段2に渡される。
【0164】
表示内容取得手段2としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、コンテンツ取得手段1から得たコンテンツデータをもとに、コンテンツデータの表示内容データを作成する。既に作成済みの表示内容データが主記憶74、外部記憶75上にある場合は、それを利用してもよい。作成された表示内容データは、補正手段4に送られる。なお、処理の仕方によっては、補正手段4と連携を取りながら、表示内容データを作成する場合もある。
【0165】
存在検出手段3としてのCPU70は、所定の位置範囲にユーザーが存在するかどうかのデータを、センサー73、ボタン78などから入力されたデータとして得、必要に応じて、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムなどを利用してその入力データを加工してから、方向検出手段4に渡す。
【0166】
加工の例としては、存在するかどうかの判断に統計的な処理を用いたりする場合などである。例えば、所定の測定時間中の所定の割合以上、存在が検出される場合にユーザーが存在するとし、所定の割合未満はセンサーの検出ノイズやユーザーなどが通過しただけとみなして存在しないとする、などといった処理である。
【0167】
方向検出手段4としてのCPU70は、センサー73などからのユーザーの視線方向の直接的な情報を得て、必要に応じて、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、ディスプレイ71の表示面とセンサーとの方向、位置関係などの情報を主記憶74、外部記憶75などから得て、表示手段6を構成するディスプレイ71から見たユーザーの相対的な視線方向を求めて、補正手段5に渡す。
【0168】
存在検出手段3を使う場合、方向検出手段4としてのCPU70は、存在検出手段3から得た、所定の範囲にユーザーが存在するかどうかの情報から、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、ディスプレイ71の表示面と所定の位置範囲との方向、位置関係などの情報を主記憶74、外部記憶75などから得て、ディスプレイ71から見たユーザーの相対的な視線方向を求めて、補正手段5に渡す。
【0169】
補正手段5としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、方向検出手段4から得たユーザーの視線方向の情報に従って、表示内容取得手段2から得たオリジナル表示内容を補正し、補正表示内容を表示手段6に出力する。
【0170】
表示手段6は、ディスプレイ71およびその表示制御を担うCPU70などで構成される。補正手段5から得た補正表示内容を表示面上に表示/出力する。ディスプレイ71でなく、プリンター72などに表示内容データを出力する場合、その出力(印刷)された用紙を、逐次更新する必要がある。例えば、ロール紙を使って印刷面を巻き上げたり、などといった方法が考えられる。しかし、このように逐次更新を行うものも大きな意味で「ディスプレイ」に含まれるとしてもよい。
【0171】
図5は、表示補正装置の外観例を示している。本体90上にディスプレイ部91(上記ディスプレイ71に相当)があり、ディスプレイ部91に補正表示内容が表示される。
【0172】
ディスプレイ部91の上に方向センサー92、93、94がついている。方向センサー92、93、94はそれぞれ、右、正面、左の方向を向いており、上記方向検出手段4に対し、その方向にユーザーがいるかどうかを検出した信号を送る。図では分かり易くディスプレイ部91の上に描いたが、本体90に埋め込んでも良い。また、正面向けのセンサー93だけを設ける時もある。
【0173】
また、本体90から、ケーブルで繋がれ、ディスプレイ部91に対するレイアウト(距離、方向などの配置)が把握された圧力センサー95、96、97が延びており、それぞれその上にユーザーが存在しているかどうかを検出した信号を上記存在検出手段3に送る。
【0174】
図1は、本発明の実施の一形態に係る表示補正処理方法を示すフローチャート図である。
【0175】
まずステップS1(以下、「ステップS」を「S」と略記する。)で、コンテンツ取得手段1が、コンテンツデータを取得し、得られたコンテンツデータを表示内容取得手段2に渡して、S2へ処理が進む。コンテンツデータとは、表示すべき内容が含まれる情報のことである。コンテンツデータは予め作成済みとしておく。
【0176】
コンテンツデータの取得方法は本発明の主旨ではないので詳しい説明は省くが、例えば、主記憶74や外部記憶75、あるいは通信デバイス77を介して通信/ネットワーク接続先などからデータとして得る。なお、コンテンツデータが静止画でなく、時間的に変化する動画として表示される場合は、動画を構成する各静止画に対して、S1〜S5の処理を繰り返せばよい。
【0177】
S2では、表示内容取得手段2が、コンテンツ取得手段1から得たコンテンツデータから表示内容を取得/生成して補正手段5に渡し、連結点P10(以下、「連結点P」を「P」と略記する)を経て、S3へ処理が進む。
【0178】
本発明を実施する場合、表示補正装置を単独で動作させるのではなく、何らかのコンテンツデータを表示するプログラムや装置(説明の為、以降、「メイン表示プログラム/装置」と呼ぶことにする)に付随させて動作させる形態がほとんどとなると思われる。具体的には、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成したり、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加えたり、といった動作になる。なお、メイン表示プログラム/装置としては、例えば、WWWブラウザ、ワードプロセッサなどの汎用的なプログラムや各種専用プログラム、表示パネルを持った電気製品(例えば、パーソナルコンピュータ、冷蔵庫、電子レンジ、ビデオデッキなど)などが考えられる。
【0179】
図1のフローチャートは、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成する処理に相当する。具体的には、コンテンツ取得手段1(S1)と表示内容取得手段2(S2)の処理が、メイン表示プログラム/装置の処理(表示内容を生成する処理)に相当する。S3以降の処理では、表示内容取得手段2(S2)から得られる表示内容を加工するだけなので、表示内容データさえ取得できればよい。すなわち、表示内容データが、テキストデータから生成されたのか、写真から生成されたのか、どういう配置の仕方によるのかなど、表示内容データがどのように生成されるかは本発明にとって重要ではない。従って、ここでは表示内容データの生成の仕方についての説明は省略し、表示内容データの構造についてだけ後で説明する。
【0180】
なお、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加える処理に関しては、実施形態2で説明する。
【0181】
表示内容データの構造例としては、表示手段にそのまま表示できる状態にまでなったものと、そのままでは表示できず、表示手段に表示するにはもう一段階以上の処理が必要な状態のものとの2通りある。「表示手段にそのまま表示できる状態」とは、例えば、文字のフォントなども画素レベルに展開されて、表示範囲全体が一つの画像のようになった状態を指す。「そのままでは表示できず、表示手段に表示するにはもう一段階以上の処理が必要な状態」とは、例えば、それぞれの文字がレイアウトされたレイアウト情報(あるいは表示対象要素。例えば文字コードとフォント名とフォントサイズ、文字のレイアウト位置など)の集合となった中間的な状態などを指す。これらのレイアウト情報は、表示手段6で解釈/展開されて、「表示手段にそのまま表示できる状態」になって、表示されることになる。
【0182】
レイアウトされた中間状態を使う手法については図21などをもとに後で述べるので、ここではとりあえず単純な「表示手段にそのまま表示できる状態」として画素レベルにまで展開されるとする。
【0183】
S3では、存在検出手段3と方向検出手段4が、ユーザーの存在する方向、あるいは方向と距離を取得して補正手段5に渡し、P20を経て、S4へ処理が進む。ここでの処理の詳細に関しては、後で述べる。
【0184】
S4では、補正手段5が、表示内容取得手段2(S2)から得た表示内容を、方向検出手段4(S3)から得たユーザーの方向を元に補正して、補正された表示内容を表示手段6に渡し、P30を経て、S5へ処理が進む。ここでの処理の詳細に関しては、後で述べる。
【0185】
S5では、表示手段6が、補正手段5(S4)から得た補正された表示内容を表示して、処理を終える。
【0186】
これらの処理によって、ユーザーの方向によって、表示内容を補正して表示することができる。これによる効果などについては、後でまとめて述べる。
【0187】
S3で、ユーザーの存在する方向や距離を取得する方法は色々考えられる。
【0188】
例えば、音波(超音波など)や光(赤外線など)、電磁波などによる非接触センサーを使った方法がある。センサーから得られる情報はセンサーの種類や使い方によって異なるが、例えば、所定の検出範囲に物体が存在するかどうかが得られたり、その物体までの距離が得られたりする。表示装置の各方向にこれらのセンサーを取り付け、その情報を分析することによって、その方向にユーザーが存在するかどうかが得られる。
【0189】
図6は、図1のS3の処理の一例を説明するフローチャート図である。
【0190】
P10を経たS3A−1では、存在検出手段3が、全方向の存在情報を得て、その存在情報を方向検出手段4に渡し、S3A−2へ処理が進む。但し、後に説明する繰り返し処理の中で、それぞれの方向の存在情報を逐次的に得て処理しても良い。存在情報とは、その方向にユーザーが存在するかどうかの情報である。
上記のセンサーなどを利用して得られる。これはセンサーの数だけ複数、存在することになる。
【0191】
S3A−2では、方向検出手段4が、最初の存在情報をカレントの存在情報に設定して、S3A−3へ処理が進む。カレントの存在情報とは、現在処理中の存在情報という意味である。
【0192】
S3A−3では、同手段4が、カレントの存在情報がもう無いかどうかを判断し、もう無い場合はS3A−4へ進み、まだある場合はS3A−5へ処理が進む。
【0193】
S3A−3でカレントの存在情報が残って無い場合に処理が進むS3A−4では、同手段4が、ユーザーの存在方向を既定の方向にして、P20へ処理が抜ける。これは特に存在している方向が分からなかった場合、規定の方向に設定しておくということである。規定の方向は、正面としてしまっても良いし、斜めとしてしまっても良いし、あるいはユーザーの行動パターンなどから最も存在確率の高そうな方向にするなどしてもよい。
【0194】
(S3A−3でカレントの存在情報が残っている場合に処理が進む)S3A−5では、同手段4が、カレントの存在情報から、その方向にユーザーが存在するかどうかを判断し、存在すると判断された場合はS3A−6へ処理が進み、存在しないと判断された場合はS3A−7へ処理が進む。
【0195】
(S3A−5でその方向にユーザーが存在すると判断される場合に処理が進む)S3A−6では、同手段4が、カレントの存在情報のセンサーの方向や距離をユーザーの存在する方向や距離として設定して、P20へ処理が抜ける。
【0196】
(S3A−5でその方向にユーザーが存在しないと判断される場合に処理が進む)S3A−7では、同手段4が、カレントを次の存在情報にして、S3A−3へ処理が進む。
【0197】
これらの処理によって、図1のS3の処理の一例が実現できる。これによって、ある方向や距離にユーザーが存在するかどうかの情報が得られる。
【0198】
このように、所定の位置範囲に存在するかどうかの情報を使うことで、ユーザーの方向や距離をある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な方向や距離を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲に存在するかどうかの検出なら、安価なセンサーなどを使って実現することができるという効果もある。
【0199】
なお、図6の説明では、物体が存在する存在情報を見つけた時点でその物体がユーザーであると判断してしまっているが、一通り存在情報を調べて、最も確からしい方向や距離を選ぶという方法もある。その場合、確からしさを何らかの評価値として表して各評価値を比較する、などという処理が必要となる。
【0200】
また、センサーも、存在するかどうかだけではなく、距離、大きさ、材質、温度など様々な情報が得られるものもある。それらの情報を総合的に評価する場合もある。
【0201】
また、ある時刻の情報だけを扱うのではなく、時系列に得た情報を統計的に処理して、最も確からしい方向や距離を得るという方法もある。
【0202】
また、予め配置してあるユーザー以外の物(家具や壁など)に誤反応しないように、ユーザーが存在しない状態を一度覚えさせておいて、その状態からの変化でユーザーが存在するかどうかを判断する方法もある。
【0203】
また、上記の説明では、表示装置に取り付けた非接触センサーを使っているが、必ずしも表示装置に取り付ける必要はない。ある範囲にユーザーが存在するかどうかが分かれば、センサーと装置との相対位置関係から、装置から見たユーザーの存在する方向や距離は計算することができる。
【0204】
あるいは、表示補正装置の周囲や使用環境をカメラなどで撮影し、人物を認識することで、その位置を特定するという方法も考えられる。ある意味ではこれも非接触センサーの一種でもある。
【0205】
ある範囲にユーザーが存在するかどうかを知る方法としては、非接触センサーを使う方法以外にも、例えば、圧電センサーや静電気センサー(電圧、電荷量の変化などを見る)などの接触センサーを使うという方法などもある。圧電センサーを組み込んだマットを装置の周囲においておき、その上に人が乗っているかどうかを検知することで、マットが置かれた範囲にユーザーが存在するかどうかを知ることができる。
【0206】
また、ユーザー自身が存在を装置に告知するという方法もある。最も単純な方法は、例えば、装置上のボタンか何かの操作で、存在する方向や範囲を直接知らせるという方法である。
【0207】
あるいは、赤外線などの光波や電磁波などを発する機器をユーザーが身につけ、それを部屋など環境中に配したセンサー類で感知し、位置を特定するという方法もある。ユーザー側から発するのではなく、環境中に発せられている電磁波などを受け、それに反応して別の電磁波を返すという方法もありうる。これは非接触のIDカードや無線装置などでも使われている技術である。あるいは、環境中に発せられている電磁波などに反応して、別のルートでユーザー側から位置情報などを表示補正装置に返すという方法もある。例えば、GPS(Global Positioning System)衛星から流れてくる電磁波を処理するなどして現在位置を計算し、得られた現在位置をネットワークを通じて、表示補正装置に返す、などという方法である。
【0208】
図7は図1のS3の処理を簡略に実現する一方法を説明するフローチャート図である。
【0209】
P10を経たS3B−1では、存在検出手段3が、表示手段の正面方向にユーザーが存在するかどうかの情報を得て、その情報を方向検出手段4に渡し、S3B−2へ処理が進む。存在するかどうかの情報を得る手段は上で述べたような様々な方法が考えられるが、例えば簡単な方法として、表示手段の正面方向に赤外線センサーや超音波センサーをつけておく方法がある。
【0210】
S3B−2では、方向検出手段4が、存在検出手段3から得た情報を基に、正面方向にユーザーが存在する場合はS3B−3へ進み、そうでない場合はS3B−4へ処理が進む。
【0211】
(S3B−2で正面方向にユーザーが存在すると判断される場合に処理が進む)S3B−3では、同手段4が、ユーザーの存在する方向を正面方向として設定して、P20へ処理が抜ける。
【0212】
(S3B−2で正面方向にユーザーが存在しないと判断される場合に処理が進む)S3B−4では、同手段4が、ユーザーの存在する方向を正面方向以外の方向、例えば斜め方向と設定してP20へ処理が抜ける。
【0213】
正面方向以外なら斜めでなくても良いのだが、もし表示装置の真横や裏側に存在するのだったら、どちらにしろ表示手段の表示内容を直接見ることはできないのだから、どう補正されて表示されても構わないはずである。正面以外で表示手段が見える方向としては斜めしかないので、斜めとして補正しておけば問題はない。斜めというのが具体的に数値としてどの方向を指すかは、予め決めておけばよい。例えば、30度や45度、60度などといった具合である。
【0214】
ユーザーの使用形態を考えると、階段や梯子などを使ってユーザーが上下に移動しながらディスプレイを見る場合よりも、ディスプレイとほぼ同じ高さで、周囲からディスプレイを見る場合が多いと思われる。また、寝転んだり、顔を極端に傾けて使うことも少ないと思われる。従って、方向(回転)の軸についても、通常は上下の移動や視線周りの回転はそれほどないと考えて、左右方向に限定してしまっても実用上、問題はない。
【0215】
これによって、非常に簡易的かつ実用十分な範囲でユーザーの方向を推定することができるという効果が出てくる。
【0216】
また、所定の位置範囲にユーザーが存在するかどうかを得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、表示手段(装置)に最小で1個組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0217】
このように、ユーザーの方向や距離、位置を得る方法は様々考えられるので、目的やコストなどを総合的に考慮して適した方法を選択すればよい。
【0218】
なお、補正の仕方によっては、効果が弱い場合もある。例えば、表示面を斜め方向から見た場合の補正方法が左右対称(あるいは上下対称)で無い場合などである。左右対称でない補正方法の例としては、後で説明する逆透視変換などがある。逆透視変換では、ユーザーから見て、表示内容の内、遠くに位置する部分は相対的により大きく、近くに位置する部分は相対的により小さくなるような補正を行う。これにより、遠くに位置する部分と近くに位置する部分が、同じような大きさに視覚できるように補正がされる。
【0219】
しかし、左斜め用に逆透視変換を使って補正した表示内容を右斜めから見ると、補正前の表示内容の視覚結果と比べると、遠くに位置する部分はより小さく、近くに位置する部分はより大きく視覚されてしまう。これは逆効果である。
【0220】
一般に、正しいユーザーの視線方向で補正される場合、逆透視変換による補正効果の方が、縦横を拡大縮小するだけの補正効果よりも高い。しかし、ユーザーに対して、表示手段が相当大きくなければ、補正効果の差はそれほど大きくは無い。つまり、逆透視変換であっても、縦横の拡大縮小と似た処理結果が得られるということである。逆透視変換の補正効果の内、縦横の拡大縮小と同等の補正効果による正の補正効果と、上述した逆効果による負の補正効果を比べれば、正の補正効果の方が一般に勝る。従って、逆透視変換などの対称でない補正処理を行っても、一般に、効果はある。
【0221】
なお、上述したように表示手段の正面方向付近にユーザーが存在するかどうかの情報に基づいて表示内容を補正する場合は、逆透視変換などの対称でない補正処理を行うよりも、縦横の拡大縮小などの対象な補正処理を行うようにする方が望ましい。これにより、簡易な構成で視覚的な歪を補正できるという効果を一層高めることができる。
【0222】
図8は図1のS4の処理を実現する一方法を説明するフローチャート図である。
【0223】
以降では説明の為、表示内容取得手段2(S2)で得た表示内容を「オリジナル表示内容」、補正手段5(S4)で補正された表示内容を「補正表示内容」と呼ぶことにする。
【0224】
P20を経て、S4−1では、補正手段5が、表示範囲を取得して、S4−2へ処理が進む。
【0225】
ここで言う表示範囲とは、簡単に言えば、表示手段中で補正表示内容を表示する領域の大きさのことである。表示手段全面を使って表示する場合は、表示範囲は表示手段の大きさと同じになるが、例えばウィンドウシステムなどで、あるウィンドウ中に補正表示内容を表示する場合はそのウィンドウの大きさとなる。
【0226】
なお、表示範囲の大きさをオリジナル表示内容の補正に合わせて変更させる場合は、この段階で変更する大きさを決めることになる。これについては後で詳しく述べるので、ここではひとまず、大きさは固定としておく。
【0227】
また、表示範囲は、例えば表示手段6から得られる。あるいは表示範囲が固定されている場合は、主記憶74や外部記憶75上に予め記録しておいた値を読むことでも得られる。あるいは、ウィンドウシステムの場合などは、API(Application Programming Interface)を通じて、ウィンドウの大きさを取得してもよい。
【0228】
S4−2では、同手段5が、オリジナル表示内容に関して、補正する範囲を(補正範囲)取得して、S4−3へ処理が進む。
【0229】
オリジナル表示内容全てを補正した結果得られる補正表示内容の大きさは、一般にオリジナル表示内容の大きさよりも大きいことが多いので、S4−1で得た表示範囲内に補正表示内容を全て表示することはできないかもしれない。その為、オリジナル表示内容の一部だけを補正して表示範囲内に一部を表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させる、あるいは実施形態2で説明するように各表示対象要素をレイアウトし直す、などの処理が必要となる。
【0230】
ここでは縮小率などの情報も含めて補正範囲に関する情報とし、S4−3に渡すとする。縮小率を簡易的に求める方法は後で説明するが、後で説明する逆透視変換の補正式からは正確に求めることができる。
【0231】
S4−3では、同手段5が、S4−2で得た補正範囲に含まれるオリジナル表示内容を補正して、P30へ処理が抜ける。
【0232】
これによって、図1のS4の処理が行われる。
【0233】
図9(a)、図9(b)は補正方法について説明する図である。ここでは説明の為、ユーザーは表示手段を(表示手段から見て)斜め右方向から見ているとする。図2にも示すように、表示手段から見て正面方向を+Zd軸、上方向を+Yd軸、右方向を+Xd軸とする。ユーザーが表示手段を斜め右方向方向から見ている時の位置関係を、図9(a)は上側から見て記述したものであり、図9(b)は表示手段の裏側から見て記述したものである。歪の原因となる回転としては、表示手段に正対した状態からYd軸回りの回転しかなく、それ以外のXd軸、Zd軸回りの回転はないとする。
【0234】
ユーザーの位置から表示手段を見た時にユーザーが認知する像を「ユーザー像」と呼び、ユーザー像の属する平面を「ユーザー像平面」(あるいは「ユーザー像面」)と呼ぶことにする。なお、ユーザー像およびユーザー像平面については後で説明する。
【0235】
同様に、表示手段の属する平面を「表示手段平面」(あるいは「表示面」)と呼ぶことにする。表示手段平面は、図9(a)、図9(b)では、Xd−Yd平面になる。また、ユーザーの見ている方向を「視線方向」と呼び、視線は常にユーザー像の中心を貫くとする。
【0236】
図9(a)、図9(b)では、座標系が2つある。一つは表示手段をベースとした座標系(Xd/Yd/Zd座標系)であり、以降、「表示手段座標系」と呼ぶことにする。表示手段座標系の空間軸、点、座標値には、最後に「d」をつけて区別しやすいようにしてある。表示手段座標系原点Odは表示手段(の表示範囲)の中心点、あるいは視線が表示手段平面と交わる点である。この違いについては後で説明する。表示手段から見て正面方向を+Z軸(Zd)、上方向を+Y軸(Yd)、右方向を+X軸(Xd)とする。なお、図では両座標系の座標軸と視線を実線で示してある。
【0237】
もう一つの座標系は、ユーザー像をベースとした座標系(Xe/Ye/Ze座標系)であり、以降、「ユーザー像座標系」と呼ぶことにする。ユーザー像座標系の空間軸、点、座標値には、最後に「e」をつけて区別しやすいようにしてある。ユーザー像座標系原点Oeは視線がユーザー像平面と垂直に交わる点である。ユーザーから表示手段を見て正面方向を+Ze軸、上方向を+Ye軸、左方向を+Xe軸とする。
【0238】
図中の点Puはユーザーの視点、すなわち眼球の位置を表している。なお、前記ユーザー像は実際に存在するものではなく、認知されている内容を説明する為に仮に導入したものである。あえて物理的な実態に対応づけて説明すれば、視点Puは眼球中のレンズ体の中心であり、ユーザー像はレンズ体によって網膜上に投影される像である。網膜上に投影された像は、位置的には視点Puの後ろ側(−Ze方向)であり、像の内容もレンズ体によって反転している。反転を無くして説明を分かり易くする為、ここでは視点Puの前側(+Ze方向)にユーザー像を置いている。
【0239】
そこで、仮想的なユーザー像が属する平面を考え、ユーザー像平面と呼ぶことにする。図9(a)、図9(b)では、ユーザー像平面はXe−Ye平面になる。
【0240】
視点Puからユーザー像座標系原点Oeまでの距離をLe、視点Puから表示手段座標系原点Odまでの距離をLdとする。実際には、Leは眼球の中のレンズ体と網膜の距離に相当するので、人間ならばほぼ一定の値であり、ここでは定数とみなしても良い。
【0241】
視線は、表示面と角度θで交わっている、言い換えれば、視点Puが、Yd軸回りに(π/2−θ)回転しているとする。さらに、表示手段の表示範囲右端の表示手段座標系のX座標値をXprd、左端の表示手段座標系のX座標値をXpld、視点Puと表示範囲右端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpre、視点Puと表示範囲左端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpleとする。
【0242】
図10(a)、図10(b)は、ユーザーが表示手段に正対した時の様子を、それぞれ図9(a)、図9(b)と同じ方向から見た時の状態で記述した説明図である。距離Ld、距離Leは、図9(a)と同じ値である。視点Puと表示手段の表示範囲右端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXpref、視点Puと表示範囲左端を含む平面がユーザー像平面と交わる直線のユーザー像座標系のX座標値をXplefとする。
【0243】
この時、図9(a)でユーザー像平面上に映る表示手段の(ユーザー像座標系の)X方向の長さLxeは、
Lxe=Xpre−Xple
となる一方、図10でユーザー像平面上に映る表示手段の(ユーザー像座標系の)X方向の長さLxefは、
Lxef=Xpref−Xplef
となる。
【0244】
表示手段の幅(Xprd−Xpld)という同じ大きさを正面と斜めから見ているので、当然、
Lxe<Lxef
であり、表示手段の見かけ上のX方向の長さは、(Lxe/Lxef)の倍率で小さく見えることになる。
【0245】
次に、(Lxe/Lxef)の求め方だが、正確に逆透視変換などで求める方法もあるが、角度θから簡易的に求めるならば、
(Lxe/Lxef)≒sin(θ)
である。距離Ldが表示手段の幅に比べて極端に小さい(すなわち、画角が大きい)などという場合でなければ、上式で十分な精度を持つ。なお、倍率(Lxe/Lxef)、または視線と表示面との交叉する角度θは、補正パラメータの一つである。
【0246】
補正の方法は色々あるが、最も簡単な方法として、1軸回りの回転による歪を回転方向に拡大して補正してやる方法がある。
【0247】
歪の無い状態とは、ユーザーが表示手段に正対している時、すなわち、視点PuがZd軸上に位置し(図10の状態)、Zd軸回りの回転もしていない時である。1軸回りの回転による歪とは、表示手段座標系で表示手段(原点Od)からユーザーを見た時、Zd軸上から外れた位置にユーザー(視点Pu)が存在する時に起こる歪のことである。なお、Zd軸回りの回転、すなわち視線回りの回転による歪(像の回転)については処理方法が異なるので、後で別途説明するとし、ここではXd軸とYd軸回りの回転(あるいはそれらが組み合わさったもの)について説明する。
【0248】
なお、Xd軸とYd軸回りの回転の組み合わせは、Xd軸とYd軸回りの回転の補正処理をそれぞれ行うことを要する2軸回りの回転と解釈することもできるが、座標系の取り方を変えてしまえば、どちらか単独の軸回りの回転とみなせるので、1軸回りの回転と解釈しても良い。座標系の取り方を変えるとは、ここでは、Zd軸は変えず、Zd軸回りにXd軸とYd軸を回転させ、組み合わせの回転がXd軸あるいはYd軸の単独の回転となるようにすることである。
【0249】
1軸回りの回転による歪を回転方向に拡大して補正してやる方法は、先に計算した倍率(Lxe/Lxef)で縮小して見えるのだから、オリジナル表示内容を(Lxef/Lxe)の倍率で予め拡大しておくことである。
【0250】
表示手段の表示範囲の中心が原点Oeだとし、前述のように、視点Puが、Yd軸回りに(π/2−θ)回転しているとし、オリジナル表示内容上の任意の位置(X、Y)の画素値(画素の濃度あるいは輝度を表す値)をI(X、Y)、補正表示内容上の任意の位置(X、Y)の画素値をI’(X、Y)とすると、X軸方向の拡大は、
I’(X、Y)=I((Lxe/Lxef)×X,Y)
となる。なお、ここでの(X,Y)は、表示手段座標系である。
【0251】
この式は、補正処理後の画素値を補正処理前の画素値から求めることを意味している。説明の為、補正処理後の画素を「補正画素」、補正画素に対応する補正処理前の画素を「参照画素」と呼び、それぞれの画素値を「補正画素値」と「参照画素値」、また、補正画素の位置を「補正画素位置」、補正画素位置に対応する参照画素の位置を「参照画素位置」と呼ぶことにする。
【0252】
例えば上式は、補正画素位置(X、Y)を基準にすると、参照画素位置は((Lxe/Lxef)×X,Y)と表されるから、補正画素値I’(X、Y)に対応する参照画素値を、I((Lxe/Lxef)×X,Y)と表すこともできる。
【0253】
実際に補正処理後の画像を求める場合は、補正画素位置(X、Y)を表示内容の範囲で動かして、それぞれの位置の補正画素値I’(X、Y)を求めてやれば良い。例えば、幅がW,高さがHの表示範囲ならば、Xを[−W/2,W/2],Yを[−H/2,H/2]の範囲で動かすことになる。デジタル処理で、補正画素位置は整数値しか取らないとすると、(W×H)個の画素数になるので、(W×H)個の補正画素値を求めることになる。
【0254】
画素値の得られる画素位置が整数値だけだとすると、上式の参照画素位置((Lxe/Lxef)×X,Y)は、一般にそれぞれ整数値になるとは限らないので、そのままでは参照画素値を得ることができなくなってしまう。その場合は、何らかの補間処理などが行われるのが一般的である。例えば、最も近い整数位置を選ぶ方法、周囲の整数位置の画素値から補間する一次補間法、二次補間法など色々あるが、処理が簡単で画質的にも比較的良好な方法として、一次補間法が最もよく使われている。
【0255】
例えば、参照画素位置(Xr、Yr)が、
Xr=Xri+Xrd (但し、Xriは整数)
Yr=Yri+Yrd (但し、Yriは整数)
と表現されるとする。Xrd、Yrdは小数部分で、0から1の間の数となる。
【0256】
また、参照画素位置(Xr、Yr)の周囲の4つの画素位置(Xri、Yri)、(Xri+1、Yri)、(Xri、Yri+1)、(Xri+1、Yri+1)の画素値をI00、I10、I01、I11と簡略化して表すとする。
【0257】
この時、一次補間法による参照画素値I(Xr、Yr)は、
と求められる。
【0258】
なお、ここではX方向の拡大なので、Yrは整数値(Yrd=0)となり、
I(Xr、Yr)=(1−Xrd)×I00+Xrd×I10
と簡略化できる。
【0259】
以上の処理によって、1軸回りの回転による歪を回転方向に拡大して補正する補正表示内容を得ることができる。
【0260】
図11は、表示手段に正対した時(図10の状態)のオリジナル表示内容のユーザー像を説明する説明図である。枠線20の中に同じ大きさの文字A〜Fが並んでいる。なおこの枠線20は、オリジナル表示内容の一部であるとし、補正処理が行われると補正された形で表示されることになる。ここでは表示範囲は表示手段と同じ大きさとし、枠線20は表示手段の表示範囲境界21と一致しているとする。
【0261】
なお、見え方の比較の為、図11の状態でのユーザー像平面上の表示範囲を矩形状の正対表示範囲22とする。正対表示範囲22は、表示手段の表示範囲境界21をユーザーが正対して見たときのユーザー像平面上の範囲なので、以降のどの図上でも大きさは一定である。従って、ある視線方向におけるユーザー像平面上の表示範囲を正対表示範囲22と比較することで、表示範囲が実際にユーザーにとってどのような大きさで見えるかが分かるようになっている。図11では枠線20、表示範囲境界21、正対表示範囲22は全て重なっている。
【0262】
図12は、オリジナル表示内容の表示された表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。比較の為に正対表示範囲22を点線で示してある。枠線20、表示範囲境界21とも歪んで見え、文字の大きさも左から右にかけて小さくなり、左側のA、Dの文字より右側のC、Fの文字の方が小さくなって見える。また表示範囲境界21の横幅も正対表示範囲22の横幅と比べて小さくなって見える。なお、右側にいくにつれ、特に表示範囲境界21の縦幅が小さくなっているように見えるのは、後で説明する透視変換の効果による。
【0263】
図13は、本発明に基づき、表示内容を横方向に(Lxef/Lxe)倍、拡大して補正した時の補正表示内容を、表示手段に正対した時(図10の状態)に見えるユーザー像を説明する説明図である。実際にはこの補正を行う時はユーザーは正対した位置ではなく、斜め方向から見ているはずなので、ユーザーがこのような像を見ることはまずないはずであるが、説明の為、ここでは示している。
【0264】
この時の補正表示内容では、各文字は横長になっている。表示内容の中心位置を拡大の中心位置にしているので、左右の部分は表示範囲境界21をはみ出て表示されていない。比較の為、横方向に(Lxef/Lxe)倍した時の枠線20を点線で示してある。
【0265】
図14は、図13と同じ補正表示内容を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像、すなわち補正処理されたユーザー像、を説明する説明図である。補正処理を行っていない図12と比較すると、表示内容が横方向に拡大され、各文字の横方向のサイズは、図11に示すオリジナル表示内容の各文字の横方向のサイズとほぼ一緒になっている。
【0266】
図12では横方向に縮んで見にくくなっていた文字が、図14では正対した時とほぼ同じ横幅として認知できるので、認知しやすくなるという効果が出てくる。すなわち、斜めから見た時の歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。ユーザーが表示手段に正対した状態でない場合、表示手段を回転させたり、移動させたり、表示手段の正面近くに移動するといった操作や動作をせず、表示手段の向きを変えた状態を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0267】
また処理方法として、1軸方向の拡大だけで済むので、処理が簡単になるという効果が出てくる。本来、正確に補正を行う為には逆透視変換などの複雑な補正処理を行わないといけないが、拡大処理という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0268】
なお、ここでは横方向のみの補正を行ったので、透視変換による効果(主に縦方向の伸縮)は図14でも残ったままである。これは後で説明する逆透視変換を使うことで補正することができる。但し、逆透視変換を使う場合は、ユーザーが存在するのが正面方向かどうかだけでなく、右斜め方向から見ているのか、左斜め方向から見ているのかなどの詳しい情報がないと、逆効果になる場合もある。ここでは、横方向のみの補正を行っているので、右斜め方向から見ても、左斜め方向から見ても同じような補正効果が得られる利点がある。
【0269】
したがって、1軸方向の拡大処理は、ユーザーが表示手段の正面付近に存在しているか否かのみを存在検出手段3を用いて簡易に検出する手法と組み合わせることができる。すなわち、ユーザーが表示手段の正面付近に存在してないことを存在検出手段3が検出した場合に、補正手段5が、予め決められた1軸方向(例えば左右方向)に、オリジナル表示内容を拡大する補正を行うだけで、ユーザーは、右斜めおよび左斜めのどちらから表示面を見たとしても、歪の軽減効果を得ることができる。
【0270】
なお、Xd軸とYd軸回りの回転の組み合わせは、座標系の取り方によって、1軸回りの回転とも2軸回りの回転とも解釈できると説明したが、実際の処理においては、センサーや表示の座標系を変更するのは面倒なので、2軸の補正とした方がやりやすいことが多い。
【0271】
例えば、ユーザーが表示手段から見て、Yd軸回りにθy、Xd軸回りにθx回転した方向にいたとする。その場合、
(Lxe/Lxef)=sin(θy)
(Lye/Lyef)=sin(θx)
だけ、表示内容をX方向とY方向にそれぞれ拡大してやれば、2軸の補正が行える。それぞれの処理は先に説明した方法と同じ原理で処理すればよい。X方向の拡大をしてから、Y方向の拡大をしても良いし、あるいはその逆でも良いし、あるいは同時にやっても良い。
【0272】
ところで図14は、文字の幅が、正対して見る図11の時とほぼ同じ幅に見えるので見やすいが、表示範囲境界21に収まりきらない部分が切れて見えないという問題がある。見えない部分を見る為にはスクロール操作などをしないといけない。
【0273】
表示内容によるが、細かい文字などは必ずしも読めなくて良いから、全体が一覧できて、かつ、縦横比などは正対した時とできるだけ同じにして欲しいという場合もあるかもしれない。
【0274】
そこで、歪の原因となる回転方向に表示内容を拡大して補正するのではなく、歪の原因となる回転の軸方向に表示内容を縮小して補正するという方法もある。
【0275】
歪の原因となる回転の軸方向とは、図9(a)、図9(b)の場合、Yd軸方向、すなわち縦方向となる。
【0276】
補正画素値I’は、
I’(X、Y)=I(X,(Lxef/Lxe)×Y)
(Lxef/Lxe)=1/sin(θ)
で得られる。
【0277】
図15は、この方法で補正を行った時の、補正表示内容を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。横方向はそのままなので、枠線20の横幅は表示範囲境界21の横幅と同じで、正対した時の横幅よりは縮小されているが、補正表示内容の全体が表示されている。縦方向は縮小されているので、枠線20の高さは表示範囲境界21の高さより小さくなっている、図12の状態より更に縦方向に縮小されているが、補正表示内容の全体が表示されている。図15の各文字や枠線20は、図12の状態に比べると、縦横比は正対した図11の状態に近い。
【0278】
このように、歪の原因となる回転の軸方向で表示内容を縮小して補正することで、表示内容が表示範囲からはみ出して途切れることなく、簡単な処理で縦横比を正対した状態に近づけることができるという効果が出てくる。
【0279】
また、図13の問題、すなわち、表示範囲に収まりきらない部分が切れて見えないという問題に関しては、歪の原因となる回転の軸方向で表示内容を縮小して補正するという対応方法以外に、別の対応方法も考えられる。
【0280】
その一方法として、補正表示内容が表示範囲を超えてしまうのだから、拡大する際、表示範囲もそれに応じて拡大するという方法が考えられる。
【0281】
先の説明では図8のS4−1で、補正手段5が取得する表示範囲は、表示手段に正対した時に得られる表示範囲と同じ大きさとしていたが、ここでは、正対した時に得られる表示範囲を補正手段5が拡大してやれば良いことになる。例えば、正対した時の表示範囲をW×Hとしていたとすると、拡大した表示範囲W’×H’は、
W’=(Lxef/Lxe)×W
H’=(Lyef/Lye)×H
となる。
【0282】
もちろん、この方法は表示範囲の大きさを大きくすることができる場合にのみ可能な方法である。例えば表示範囲が表示手段の大きさに設定されており、表示手段の大きさが固定なので、表示範囲を拡大することができないということは大いにありえることである。しかし、表示手段が充分大きく、表示範囲が表示手段の中の一つのウィンドウのような形で設定されているウィンドウシステムならば、ウィンドウの大きさを大きくするということは可能である。もちろん、表示手段の大きさを超えて設定することはできないという制限はある。
【0283】
図8のS4−2に関する先の説明では、オリジナル表示内容の一部だけを補正して表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させるかのどちらかとしていたが、ここでは表示範囲を大きくしているので、補正する範囲をオリジナル表示内容の範囲全てとすればよい。
【0284】
但し、拡大した表示範囲が表示手段の大きさを超えてしまうような場合は従来と同様、オリジナル表示内容の一部だけを補正して表示させるか、あるいは、全体が入りきるように補正の際に全体を縮小させるかのどちらかを選んで、補正範囲を決める必要がある。しかし、少しでも表示範囲が大きくなっているのならば、いずれにしろ図13の場合より悪くなることはない。
【0285】
図16は、本発明に基づき、表示範囲を拡大した時の補正表示内容を、表示手段に正対して見た時(図10の状態)のユーザー像を説明する説明図である。ここでは、表示範囲を横方向に(Lxef/Lxe)倍に拡大している。枠線20は表示範囲境界21と重なっている。また、表示範囲を拡大しているので、正対表示範囲22より、表示範囲境界21の方が大きくなっているのがわかる。
【0286】
図17は、図16の状態の表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。枠線20とその内部の文字などは全て表示範囲境界21の中に表示されている。(Lxef/Lxe)倍に拡大した表示範囲と表示内容が、斜めから見られて(Lxe/Lxef)倍に縮んで視覚されるので、(Lxef/Lxe)×(Lxe/Lxef)=1、より、ユーザー像上で視覚される表示範囲と表示内容の横幅は、正対表示範囲22とほぼ同じである。また、各文字の大きさなどは正対した図11の時の文字の大きさとほぼ同じように見える。
【0287】
このように表示範囲を拡大することで、上記の効果に加えて、オリジナル表示内容をできるだけ切らずに表示できるようになるという効果が出てくる。すなわち、どの方向からでも、正対したのと近い情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作が減るという効果もある。特に図17のように、視覚できる表示範囲の大きさが、正対した時とほぼ同じになるようにする場合(すなわち、見え方の縮小率の逆数で表示範囲を拡大した場合)は、情報量もほぼ同じで、スクロール操作などもほぼ不要になる。
【0288】
なお、Zd軸回りの補正については、単なる像の回転の補正を行えば良い。Zd軸回りの回転とは、例えば、表示手段に正対して、顔を左か右に傾けた状態である。
【0289】
例えば、Zd軸回りに、ユーザーが顔を左か右にθz傾けたとした場合、補正画素値I’は、
I’(X、Y)=I(X×cos(−θz)−Y×sin(−θz)、X×sin(−θz)+Y×cos(−θz)) (式0)
となる。
【0290】
これによって、Zd軸回りの補正を行うことができ、ユーザーが見た時に表示内容の上下方向が顔の向きに合って表示されるので、見やすいという効果が出てくる。なお、この場合、顔の傾き角度θzは、Zd軸回りの補正を行うための補正パラメータである。
【0291】
Xd軸、Yd軸、Zd軸回りの補正を組み合わせて処理することも当然、可能である。一般に補正処理する軸の数が増えるほど、より見やすい補正表示内容が得られる効果がある。但し、補正処理する軸の数が増えるほど、各軸回りの回転量を得る為のセンサーや表示内容の補正処理にかかる時間や処理装置などのコストもかかってくる欠点もある。従って、実際に使用する場合は、実際の利用シーンに応じて、補正処理する軸の数を必要充分な数に絞り込む方がよい。
【0292】
このように、1軸から3軸まで補正の仕方を選ぶことで、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶことができる効果が出てくる。
【0293】
ところで、これまで説明してきたXd軸とYd軸回りの回転の補正方法は、処理が簡単で比較的大きな効果をあげることができるが、回転角度が大きくなるにつれ、透視変換効果の影響による歪が大きくなってくる。また、表示範囲の大きさに比べて距離Ld(図9(a)参照)が小さくなってくるにつれても、透視変換効果の影響による歪が大きくなってくる。透視変換効果の影響による歪とは、具体的には、例えば図17の補正された枠線20は、左側の高さの方が右側の高さより大きいことなどである。これは枠線20の内部の各文字についても言える。また、枠線20の角も90度ではなくなってしまっている。
【0294】
これらの透視変換効果を完全に取り除くには、逆透視変換による補正処理を行う必要がある。ここでいう逆透視変換とは、オリジナル表示内容を補正した補正表示内容を斜めから見た時のユーザー像が、正対した時に見たユーザー像と完全に一致するような補正方法である。
【0295】
図9の状態で見た表示内容と図10の状態で見た表示内容が同じになる為には、図10のユーザー像平面上の任意の点Pve(Xpve、Ypve)の画素値と、図9(a)、図9(b)のユーザー像平面上の上記と同一座標となる点Pve(Xpve、Ypve)の画素値とが常に同じとなっていれば良い。画素値が同じになる為には、それぞれの点に対応する表示手段上のオリジナル表示内容上の点Pd(Xpd、Ypd)と、補正表示内容上の点Pd’(Xpd’、Ypd’)の画素値が同じになる必要がある。
【0296】
以降、補正の関係式を導く説明を行う。
【0297】
図10より、比例関係から、
Xpd=Xpve×(Ld/Le) (式1)
Ypd=Ypve×(Ld/Le) (式2)
となる。
【0298】
また、図9(a)より、点Pd’から視線Pu−Odに降ろした垂線の長さとXpveとには、
Xpve×((Ld−Xpd’×cos(θ))/Le)=Xpd’× sin(θ)
という比例関係があり、これを整理して書き直すと、
Xpd’=Xpve×Ld/(Le× sin(θ)+Xpve×cos(θ)) (式3)
となる。式1と式3から、Xpveを消去して、
Xpd’=Ld×Xpd/(Ld+Xpd×cos(θ)) (式4)
となり、Ldとθが定まれば、Xpd’とXpdの関係式も定まる。
【0299】
また、図9(b)より、
Ypd’=Ypve×(Ld×cos(θ)−Xpd’)/(Le×cos(θ)−Xpve× sin(θ)) (式5)
となる。式1から式5より、
Ypd’=Ypd×{cos(θ)−Xpd/(Ld+Xpd×cos(θ))}/(cos(θ)−Xpd× sin(θ)/Ld) (式6)
となり、Ld、θが定まれば、Ypd’とXpd、Ypdの関係式も定まる。
【0300】
従って、式4と式6より、Ld、θが定まれば、点Ppd(Xpd、Ypd)に対応する点Ppd’(Xpd’、Ypd’)が求まる。
【0301】
式4、式6をXpdとYpdの式の形に直せば、
Xpd=Ld×Xpd’/(Ld−Xpd’×cos(θ)) (式7)
Ypd=cos(θ)−{sin(θ)×Xpd’/(Ld−Ypd’ ×cos(θ))}/(cos(θ)−Xpd’/Ld) (式8)
となる。
【0302】
従って、式7と式8より、Ld、θが定まれば、点Ppd’(Xpd’、Ypd’)に対応する点Ppd(Xpd、Ypd)が求まる。
【0303】
実際に補正する場合は、点Ppd’(Xpd’、Ypd’)を補正範囲内で動かし、式7、式8より対応する点Ppdの座標値を得て、先に説明した一次補間式などを使って、点Ppd’の画素値を得る。
【0304】
補正範囲は、表示範囲の大きさを変えない場合は表示範囲そのままである。オリジナル表示内容が全て見られるように、表示範囲を拡張する場合は、図9(b)の点Prtd、点Prbd、点Plbd、点Pltdの4点で囲まれる点線の範囲が表示範囲となる。これら4点の座標位置は、正対した時の表示範囲の4隅の座標位置を式4、式6に代入することにより、求められる。
【0305】
図18は、この補正により表示範囲も拡張して補正した時の補正表示内容である。この補正表示内容を図9の斜め横から見た場合は、図11と完全に一致するユーザー像が得られる。もっとも、完全一致と言っても、数式上、完全に一致しているというだけで、実際は表示手段の解像度などの影響や補間や量子化誤差、計算誤差の影響を多少受ける。しかし見た目にはほぼ同じと言ってよいユーザー像が得られる。
【0306】
上述の方法では、Yd軸回りに回転した場合について説明したが、さらにXd軸回りの回転が加わっても、座標変換を行うことで、上述の方法をそのまま適用できる。
【0307】
図29はこの時の状態を説明する説明図である。原点Od,Xd軸、Yd軸、Zd軸に関しては、図9、図10と同様である。表示面に正対している時の視点を視点Oe”とし、視点Oe”と原点Odとの距離をLdとする。Zd軸上にある視点Oe”が、Yd軸回りに(π/2−θ’y)回転して視点Oe’に移動し、さらにXd軸回りに(π/2−θ’x)回転して視点Oeに移動したとする。
【0308】
図29では、この移動を分かりやすくする為に、矢印付きの点線で示している。また、視点は軸回りに回転しているだけなので、視点と原点Odとの距離は変わらず、視点Oe’と原点Odとの距離、視点Oeと原点Odとの距離は、共にLdである。
【0309】
また、視点Oe’はXd−Zd平面に属し、視点Oe’からXd軸に降ろした垂線とXd軸の交点を、点Pd1とする。従って、∠Oe’OdPd1=θ’yである。
【0310】
同様に、視点OeからXd−Yd平面に降ろした垂線とXd−Ydの交点を、点Pd2とする。従って、∠OePd1Pd2=θ’xである。なお、視点Oe’,視点Oe,点Pd1,点Pd2は、同一平面内に属し、Xd軸に垂直である。∠OeOdPd2をθ’、∠Pd1OdPd2をθ’zと呼ぶことにする。
【0311】
図29の状態から、Zd軸回りに(−θ’z)回転すれば、図9と同様の状態、すなわち正対した状態(視点Oe”)からYd軸回りに回転した状態となる。違いは、Yd軸回りの角度が(π/2−θ)から(π/2−θ’y)に変わっただけである。従って、図9で説明した方法がそのまま利用できることになる。
【0312】
但し、Zd軸回りに(−θ’z)回転する座標系変換が必要である。図29でのXd−Yd平面上の任意の点(X’、Y’)を、Zd軸回りに(−θ’z)回転した後の点(X”、Y”)は、
X”=X’×cos(−θ’z)−Y’×sin(−θ’z)
Y”=X’×sin(−θ’z)+Y’×cos(−θ’z)
で求められる。
【0313】
以降、θ’x、θ’yからθ’とθ’zを求める。
【0314】
原点Odと点Pd1との距離OdPd1は、
OdPd1=OdOe’×cos(θ’y)=Ld×cos(θ’y)
となり、視点Oe’と点Pd1との距離Oe’Pd1は、
Oe’Pd1=OdOe’×sin(θ’y)=Ld×sin(θ’y)
となる。視点Oe’から視点Oeへの移動はXd軸回りの回転だから、距離OePd1は距離Oe’Pd1に等しい。
【0315】
従って、点Pd1と点Pd2の距離Pd1Pd2は、
Pd1Pd2=OePd1×cos(θ’x)=(Ld×sin(θ’y))×cos(θ’x)
となる。OdPd1とPd1Pd2が求まったので、θ’zが、
より求まる。なお、「arctan」は、tanの逆関数である。
【0316】
原点Odと点Pd2との距離OdPd2は、
となる。なお、「x¢2」はxの2乗を意味し、「sin¢2(θ)」は、sin(θ)の2乗を意味する。
【0317】
OdOeとOdPd2が求まったので、θ’が、
より、求まる。なお、「arccos」は、cosの逆関数である。
【0318】
以上の計算式で、θ’x、θ’yからθ’とθ’zを求めることができ、上述したZd軸回りの座標変換により、図9で説明した手法を適用できる。これにより、Xd軸、Yd軸回りの2軸の回転に対する補正を行うことができる。
【0319】
なお、一般に、Zd軸回りにθ’z回転させると、ユーザー像も視線軸回りにθ’z回転する。従って、上述した(式0)で回転処理を行うことで、ユーザー像の回転もさらに補正でき、3軸の回転に対する補正を行うことができる。
【0320】
以上説明した処理で、逆透視変換について、1軸(Yd軸あるいは視線軸)だけの補正処理、2軸(Xd軸、Yd軸)だけの補正処理、3軸(Xd軸、Yd軸、視線軸)の補正処理ができるようになる。なお、この3軸、すなわちXd軸、Yd軸、視線軸の回転は、ロール、ピッチ、ヨーの回転に相当する。
【0321】
なお、ここでは、1軸、2軸について、Yd軸あるいは視線軸や、Xd軸とYd軸で説明したが、他の組み合わせも、各処理方法を組み合わせることで可能である。
【0322】
このように、逆透視変換で補正を行うことで、正対した時とまったく同じ補正表示内容を見ることができる効果が出てくる。単なる拡大、縮小、回転などの補正処理ではある程度近い補正表示内容は得られるかもしれないが、まったく同じ補正表示内容は、逆透視変換による処理でしか得られない。
【0323】
なお、ここで説明した逆透視変換処理は、正対した時とまったく同じ補正表示内容を見ることができるような完全な補正方法であるが、もっと簡易的に補正する方法もある。例えば、式7によるX軸方向だけの補正を行い、式8によるY軸方向の補正を行わないなどという方法である。この場合、補正後の画像は、X軸方向にだけ伸びたり縮んだりすることになる。あるいは逆に式8によるY軸方向だけの補正を行い、式7によるX軸方向の補正を行わないなどという方法も考えられる。
【0324】
次に、ここまで説明した補正処理を所定時間毎に繰り返す別の実施形態について説明する。
【0325】
図19は、本発明の別の実施形態に係る表示方法を示すフローチャート図である。図1のフローチャート図の処理と主要部分はほぼ一緒であるが、補正処理を所定時間毎に繰り返すというところが異なる。
【0326】
具体的には、図1に基づいて説明したS1からS5を経て、S5から新たなS6へ処理が進み、補正表示処理を終了させるかどうかを判断して、終了させる場合は処理を終了し、終了させない場合は新たなS7Aへ処理が進む。
【0327】
終了させるかどうかは、例えば、補正処理モードにするかどうかのユーザーの指示に基づけば良い。ユーザーがボタンなどで補正処理モードを指定していたら処理を続けるし、補正処理モードの指定をやめていたら、処理を終了させることになる。ユーザーの指示以外にも、例えば、補正処理モードに入ってから一定時間経ったら自動的に補正処理モードを抜けるとか、ユーザーが表示手段付近に一定時間以上存在しなかったら補正処理モードを抜ける、などという方法も考えられる。
【0328】
S7Aでは、所定時間待ち、P10を経て、S3へ処理が戻る。
【0329】
なお、S6、S7Aの処理は、補正手段5や表示手段6などが処理してもよいし、あるいは、図3には記載していないが、S6、S7Aの処理を行う繰り返し処理制御手段などを専用に設けて、処理させてもよい。
【0330】
これらの処理で、所定時間毎にユーザーの視線方向を得て、それに従って補正処理が繰り返し行われることになる。
【0331】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0332】
なお、所定時間とは必ずしも一定でなくてもよく、例えばそのときの状況に応じて、時間間隔を変えるなどしてもよい。
【0333】
さらに、時間間隔を非常に短くすることで、ほぼリアルタイムに補正が行えることになる。
【0334】
図20は、本発明の更に別の実施形態に係る表示方法を示すフローチャート図である。図19のフローチャート図の処理とほぼ一緒であるが、補正処理を所定時間毎に繰り返すのではなく、ユーザーの視線方向が変わった時に行うというところが異なる。
【0335】
具体的には、図19のフローと同様にS5からS6へ処理が進み、補正表示処理を終了させるかどうかを判断して、終了させる場合は処理を終了し、終了させない場合は新たなS7Bへ処理が進む。
【0336】
S7Bでは、ユーザーの視線方向が変わったかどうかを検知して、変わるまで待つ。ユーザーの視線方向が変わった場合、P10を経てS3へ処理が戻る。なお、S7Bの動作の主体に関しては、S7Aと同様である。
【0337】
ユーザーの視線方向が変わったかどうかは、方向検出手段4で定期的にユーザーの視線方向を検出して、視線方向が変わったかどうか補正手段5で比較したり、あるいはセンサーの検出した視線方向が変わったら、センサー自体が割り込み信号などを発するようにしておき、存在検出手段3あるいは方向検出手段4がセンサーから割り込み信号などを得たら、ユーザーの方向が変わったと補正手段5で判断する、などという方法が考えられる。ユーザーの視線方向変化の検出と同時に視線方向の情報も得ている場合は、S3のユーザーの視線方向を取得する処理は飛ばして、S7BからS4へ処理が進んでも良い。
【0338】
外見的な動作は、図19のフローチャート図の場合と同じだが、内部的な処理として、図20の処理の方が、無駄な補正処理を行わなくて済むという利点がある。つまり、ユーザーの視線方向が変わらないのだったら、補正処理を何度行っても結果(補正表示内容)は一緒なので、ユーザーの視線方向が変わったことが検出できた時だけ補正処理を行えば充分である。
【0339】
これによって、無駄な補正処理を行わなくて済むという効果が出てくる。
【0340】
〔実施形態2〕
実施形態1では、メイン表示プログラム/装置が生成した表示内容を、加工して新たな表示内容を生成する方法について説明したが、実施形態2では、メイン表示プログラム/装置が表示内容を生成する際に、生成の仕方に手を加える処理に関して説明する。
【0341】
本実施形態の構成図は、実施形態1と同様、図3となる。以降、実施形態1での図3の説明と異なる部分に絞って説明する。
【0342】
表示内容取得手段2としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、コンテンツ取得手段1から得たコンテンツデータから表示対象要素を得て、補正手段5に渡す。そして、補正手段5で補正されて戻ってきた表示対象要素を得て、表示範囲に対してレイアウトする。これらの処理を繰り返し、最終的に得られた補正表示内容を補正手段5に渡す。
【0343】
補正手段5としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、表示内容取得手段2から得られるそれぞれの表示対象要素を、方向検出手段4から得たユーザーの視線方向の情報に従って補正し、補正された表示対象要素を表示内容取得手段2に返す。これらの処理を、表示する(補正する)全ての表示対象要素に対して繰り返す。そして最終的に得られた補正表示内容を表示内容取得手段2から得て、表示手段6へ渡す。
【0344】
なお、この場合、表示内容取得手段2と補正手段5を一体のものとしてもよい。
【0345】
図3の各手段1〜6を具体的に実現する装置の構成例は、実施形態1の図4と同様である。また、本実施形態の表示補正装置の外観例に関しても、実施形態1の図5と同様である。
【0346】
図21は、本発明の実施の一形態に係る表示方法を示すフローチャート図である。実施形態1の図1のフローチャート図の処理と共通部分が多いが、ユーザーの視線方向を取得した後に、表示内容の取得と補正処理をS4Bで行うところが異なる。
【0347】
具体的には、S3からP40を経て、新たなS4Bへ処理が進む。
【0348】
S4Bでは、表示内容取得手段2と補正手段5が、コンテンツの表示内容の取得と補正を行い、P50を経て、S5へ処理が進む。
【0349】
ここで、以降の説明の為、レイアウトについて説明しておく。
【0350】
図22は、レイアウト全体について説明する説明図である。レイアウト範囲40は、コンテンツの表示内容においてレイアウトを行う範囲である。通常、レイアウト範囲40の縦か横かどちらかの大きさは、表示範囲44の縦か横の大きさと同じとすることが多いが、上下左右に余白を取ることもあり、その場合はその分だけレイアウト範囲は小さくなる。重なって分かりにくくなるので、図では少し表示範囲44の幅を広げてあるが、ここでは、表示範囲44の横の大きさをレイアウト範囲40の横の大きさと同じにしている。表示範囲44は、レイアウト範囲40中、実際に表示手段に表示される範囲である。
【0351】
なお、先に説明した補正手法と比較しやすくする為、図22の例では、レイアウトの内容を表示手段に表示させて、表示手段にユーザーが正対して見た場合、図11と同じになるようにしてある。
【0352】
「表示対象要素」とは、表示内容を構成すると共に、表示の対象となる要素であり、例えば、個々の文字や画像などが相当する。図22では、表示対象要素41、42、43などが表示対象要素に相当する。分かりやすいようにそれぞれ点線の枠線で囲ってあるが、実際にはこれらの枠線は表示されない。
【0353】
図23は、表示対象要素のデータ構造例を説明する説明図である。レイアウトデータ80、81、82などが個別の表示対象要素のデータであり、各々、種類(CHAR、IMAGEなど)、レイアウト位置(X、Y)と大きさ(W、H)、内容などのデータを持っている。種類は、文字(CHAR)、画像(IMAGE)などの表示対象要素の種類を表す。レイアウト位置は、レイアウト処理によってレイアウトされた表示範囲上の位置であり、表示される時にこのレイアウト位置を基に表示位置が決まることになる。大きさは、ここでは表示対象要素の外接矩形の幅と高さとしている。「内容」は、表示する際に必要なデータであり、表示対象要素の種類によって異なるが、例えば文字ならば文字コード、画像ならば画像ビットマップデータなどとなる。
【0354】
「レイアウトする」とは、レイアウト範囲40に表示対象要素をあるルールに従って配置していくことである。具体的には、「レイアウトする」とは、図23のレイアウト位置(X、Y)を主に決定することである。
【0355】
レイアウトのルールはコンテンツの種類によって異なるが、例えばテキストエディタや単純なワードプロセッサなどでは、文字は前の文字の横(横行の場合)に配置し、レイアウト範囲に入りきらなかったり、改行コードの次の文字の場合は、次の行の行頭に配置する、などとなる。WWW(World Wide Web)ブラウザなどでは、HTML(Hyper Text Markup Language)で定められるレイアウトルールとなる。
【0356】
なお、本発明で効果が現れるのは、このレイアウトルールが、レイアウト範囲40の大きさ変更や表示対象要素の大きさ変更などに伴ってレイアウト結果が変わるような場合である。表示対象要素の位置や大きさが動的に変化せず、常に固定的な位置や大きさを取るレイアウトルールの場合は、レイアウト自体を全く変更できないことになるので、効果が出てこない。
【0357】
図22の例は、「A」〜「I」の文字の表示対象要素を順に、横行として表示範囲44に対してレイアウトした結果である。ここでのレイアウト処理例を、図23のデータ構造を使って説明する。各表示対象要素のレイアウトデータ80〜82には、横幅Wと高さHは各文字とも既に与えられているとし、ここでは、どの文字もW0×H0の大きさとする。レイアウト範囲40の幅をWL(ここではW0の3倍強程度の大きさ)とする。
【0358】
最初に文字「A」を左上に配置する。「A」の位置(X,Y)は、(0,0)となる。次に「A」の右横に「B」を配置できるかどうか判断する。
【0359】
(直前の表示対象要素のX位置)+(直前の表示対象要素の横幅)+(判断する表示対象要素の横幅)<WL
が成り立つならば、配置できると判断する。
【0360】
配置できると判断された場合は、直前の表示対象要素の右横に配置され、
(配置する表示対象要素のX位置)=(直前の表示対象要素のX位置)+(直前の表示対象要素の横幅)
(配置する表示対象要素のY位置)=(直前の表示対象要素のY位置)
となる。
【0361】
配置できないと判断された場合は、次の行の行頭に配置され、
(配置する表示対象要素のX位置)=0
(配置する表示対象要素のY位置)=(直前の表示対象要素のY位置)+(直前の表示対象要素の縦幅)
となる。
【0362】
「B」は「A」の横に配置できるので、「B」の位置(X,Y)は、(W0,0)となる。「C」も同様に隣に配置できるので、位置(X,Y)は、(W0×2,0)となる。
【0363】
次の文字「D」は右横には配置されないと判断されるので、次の行の行頭に配置され、位置(X,Y)は、(0,H0)となる。このような処理を繰り返して、表示対象要素をレイアウトしていく。
【0364】
実際に使われるレイアウトルールは一般にもっと複雑であり、例えば、行間スペース、改行、禁則処理、画像の回り込み処理などを考慮してレイアウトするなどしないといけない。これらのレイアウトルールは、メイン表示プログラム/装置によって様々である。全ての場合について説明することはできないが、ここで説明したレイアウトルールは、多くのレイアウトルールの基本となる方法なので、以降ではこのレイアウトルールに従って説明する。
【0365】
図24は図21のS4Bの処理を実現する一方法を説明するフローチャート図である。ここでは、表示内容取得手段2が、表示対象要素をレイアウトし直す(再レイアウト)処理を行う。
【0366】
P40を経たS4B−1では、表示内容取得手段2がレイアウト範囲を得て、S4B−2へ処理が進む。レイアウト範囲とは、表示対象要素をレイアウトする範囲であり、ここではレイアウト範囲40としておく。表示範囲の大きさは通常、予め決まっているので、主記憶74や外部記憶75などからその大きさを読み込む。大きさを変えられる場合は、例えばAPI(Application Programming Interface)などを通じて、現在の表示範囲の大きさを得る。
【0367】
S4B−2では、表示内容取得手段2がコンテンツデータ中の最初の表示対象要素をカレント要素に設定して、S4B−3へ処理が進む。図23の場合、最初のレイアウトデータ80をカレント要素とすればよい。
【0368】
S4B−3では、補正手段5がカレント要素を補正して、S4B−4へ処理が進む。ここでいう補正方法は、原理は今まで画像ベース(表示内容全体を補正の単位とすること)で説明してきた手法と同じである。例えば、横方向に拡大する補正を行うのならば、カレント要素の大きさがW0×H0で、拡大する倍率がRxならば、(W0×Rx)×H0の大きさにすればよい。先の説明の例で言えば、Rx=(Lxe/Lxef)≒sin(θ)である。
【0369】
S4B−4では、表示内容取得手段2がカレント要素をレイアウトして、S4B−5へ処理が進む。レイアウトの仕方については、上で説明した通りである。但し、ここではS4B−3で表示対象要素の形や大きさが変わっているので、それを使ってレイアウトすることになる。S4B−3の例でいえば、(W0×Rx)×H0の大きさのカレント要素をレイアウトすることになる。先に説明したレイアウトルールの例で言えば、(表示対象要素の横幅)を、(W0×Rx)として処理すればよい。
【0370】
なお、S4B−3で表示対象要素をひとつずつ補正してS4B−4で逐次レイアウトするのではなく、S4B−1で表示対象要素を得た後、全ての表示対象要素を一度に補正してから、補正された表示対象要素をS4B−4でひとつずつレイアウトするのでもよい。
【0371】
S4B−5では、表示内容取得手段2がカレント要素が最後の要素かどうか判断し、最後の要素ならばP50へ処理が抜けて、最後の要素でないのならばS4B−6へ処理が進む。
【0372】
(S4B−5でカレント要素が最後の要素でないと判断された場合に処理が進む)S4B−6では、表示内容取得手段2がカレント要素を次の表示対象要素に設定して、S4B−3へ処理が戻る。
【0373】
これらの処理によって、図21のS4Bの処理の一例が実現できる。
【0374】
これによって、個々の表示対象要素を補正しながらレイアウトすることができるようになる。
【0375】
図25は、ユーザーが表示面に正対した状態で、図22に示すようにレイアウトされていた個々の表示対象要素を、横に拡大してレイアウトし直した時の結果を説明する図である。
【0376】
例えば、図22の個々の表示対象要素41、42、43が横に拡大されて、図25の表示対象要素41’、42’、43’となっている。表示対象要素41’、42’は1行目だが、表示対象要素43’はレイアウトしきれず、次の行の行頭に配置されている。
【0377】
図26は、図25のようにレイアウトされた表示範囲44を表示範囲境界21として表示した状態の表示手段を(表示手段から見て)右斜め方向から見た時(図9の状態)のユーザー像を説明する説明図である。比較の為、正対表示範囲22を点線で示している。
【0378】
各文字の大きさなどは図14の補正と同様、正対した時の図11の時の文字の大きさとほぼ同じように見える。図14と比べると、各文字の見え方(表示範囲境界21の大きさに対する文字の大きさ等)などは一緒だが、図14は端の文字が切れて表示されてしまっているのに比べ、図26では、補正された表示対象要素をレイアウトし直しているので、文字が切れるということが無い。
【0379】
表示内容全体を補正の単位として処理を行う場合、文字が切れないようにするには、図15のように、表示内容を縦に縮小する方法があるが、これでは文字自体の見える大きさが小さくなって見えにくくなってしまう。また、図17のように表示範囲を大きくする手法もあるが、実現の可能性は表示環境に依存し、必ず大きくできるとは限らない。
【0380】
本手法の表示対象要素を補正の単位として処理する場合、文字が見やすい大きさで、かつ、表示範囲の大きさを変えずに文字などを切れないようにすることができ、またそれがどのような表示環境であっても実現できるという効果が出てくる。
【0381】
また、表示対象要素を補正の単位として処理する場合、例えば、1方向としての横方向に表示内容を拡大する場合、個々の表示対象要素を横に拡大した大きさのものとして扱うので、再レイアウトの処理は、正対した状態の時に補正前の表示対象要素をレイアウト処理する時と全く同じレイアウト処理を使うことができる効果が出てくる。
【0382】
また表示に関しても、文字描画は、文字や画像の拡大縮小処理も含めて、専用ハードウェアや高速化された処理ルーチンがあることが多い為、画像で表示するよりも、文字は文字として表示させた方が、多くの場合、高速に描画することができるという効果も出てくる。
【0383】
なお、実施形態1同様、図19、図20の処理のように、繰り返し処理も可能である。
【0384】
なお、実施形態1では、表示内容全体を一枚の画像のように補正していたが、補正内容は一緒だが、補正対象とする画素を表示対象要素の範囲内だけに絞ることで、処理量を減らすこともできる。
【0385】
具体的には、実施形態1での式7、式8で、補正前の画像上の点Ppd(Xpd、Ypd)と補正後の画像上の点Ppd’(Xpd’、Ypd’)の関係式を示したが、点Ppd(Xpd、Ypd)が表示対象要素の範囲内にあるかどうかを調べればよい。範囲内にある場合は、点Ppd’(Xpd’、Ypd’)を求めて補正を行う。範囲外にある場合は、補正を行わない、すなわち対応する点Ppd’(Xpd’、Ypd’)は背景色のままとなる。
【0386】
実際には、先に説明した通り、点Ppd’(Xpd’、Ypd’)から対応する点Ppd(Xpd、Ypd)を求める(参照する)処理になることが多いので、点Ppd’(Xpd’、Ypd’)の時点で、表示対象要素の範囲内にあるかどうか判断できた方がよい。そこで、補正前の画像上の表示対象要素の外接矩形枠が、補正後の画像上でどの範囲になるかを予め計算し、その範囲内かどうかで判断すればよい。
【0387】
さらに具体的な処理例を説明すると、外接矩形枠は、4隅の点を計算すればよいので、計算量は少なくて済む。別途、マスク画像を用意し、そのマスク画像上に補正後の表示対象要素の外接矩形枠を描画し、枠内を所定の画素値(マスク画素値)で塗りつぶす。点Ppd’(Xpd’、Ypd’)の位置のマスク画像上の画素値がマスク画素値かどうかで、判断できる。
【0388】
なお、実施形態1の説明では、表示内容全体を一枚の画像のように補正していたが、補正の原理自体は実施形態1での説明と同じで、補正の単位を画素ではなく、表示対象要素とする方法もある。つまり、表示対象要素の補正後の位置や拡大縮小率、回転量、透視変換量などを計算し、各表示対象要素にそれらの補正を施して、補正表示内容とする。ユーザーが目にする補正表示内容のユーザー像自体は、画素単位でやっても表示対象要素単位でやってもほぼ同じであるが、補正処理の実装の手間や処理時間などが変わってくる。
【0389】
特に、単純に縦や横に拡大するだけなどの場合、例えば文字などは描画命令としてOS(operating system)などが拡大縮小、回転機能などを持っていることがあるので、それらの機能を利用することができ、補正処理の実装が簡単となり、また先に説明したように専用の処理なので多くの場合、画素単位でやるより処理が高速にできるというような利点が出てくる。
【0390】
〔実施形態3〕
実施形態1、実施形態2では、ユーザーの視線方向を検出して補正を行う方法について説明したが、ここではユーザーの視線方向を直接検出せずに補正を行う方法について説明する。
【0391】
本実施形態の構成図は、実施形態1の図3とほぼ同じだが、存在検出手段3は使わない。また、方向検出手段4の実施の仕方も変わる。以降、図3での説明と異なる部分に絞って説明する。図3の各手段1、2、4〜6を具体的に実現する装置の構成例は、実施形態1の図4と同様である。
【0392】
方向検出手段4としてのCPU70は、主記憶74、外部記憶75、通信デバイス77などから読み取られるプログラムに基づき、センサー73からの情報を得て、表示手段の表示方向(基準表示方向に対する表示面の角度)を検出する。次に、CPU70は、外部記憶装置や主記憶、あるいはAPI(Application Programming Interface)を通じて得た所定の基準表示方向と検出した表示方向とを比較して、ユーザーの視線方向を推定し、補正手段5にユーザーの視線方向の情報を送る。
【0393】
このセンサー73は、表示手段の表示方向を検出するもので、例えば、ヒンジや回転台、アームなどの関節角度を検出するポテンショメータなどの角度センサーなどを含む。方向検出手段4は、センサー73から得た角度情報を用いて、表示方向を計算するなどすればよい。
【0394】
図27は、本実施形態の表示補正装置の外観例を示している。本体90’上にディスプレイ部91’があり、ディスプレイ部に補正表示内容が表示される。本体90’は、別の機器99にヒンジ部98を介して留められており、ヒンジ部98によって、本体90’と機器99とは相対的に角度を変えることができるようになっている。また、ヒンジ部98には角度センサーが埋め込まれており、本体90’と機器99の相対的な角度を検出する。
【0395】
本発明の実施の一形態に係る表示方法を示すフローチャート図は、実施形態1同様、図1であるが、S3の処理が異なる。
【0396】
図28は、本発明での図1のS3の処理を実現する一方法を説明するフローチャート図である。
【0397】
P10を経て、S3C−1では、方向検出手段4が、表示手段の表示方向を取得して、S3C−2へ処理が進む。表示手段はここでは、表示手段が別の装置や什器、壁などに取り付けられていて、ヒンジや回転台、アームなどによって表示面の向く方向を変えられるとする。
【0398】
例えば、ノート型パソコンは収納時は表示手段である液晶ディスプレイ面とキーボード面を合わせて閉じてあるが、使用時は液晶ディスプレイ面を起こして使う。液晶ディスプレイ面とキーボード面はヒンジ部で繋がれているが、両者の面の開き角度を方向検出手段4が取得すればよい。また、TVなどのモニターを水平方向に回転する回転台に載せている場合などでは、その回転台の回転角度を方向検出手段4が取得すればよい。
【0399】
S3C−2では、方向検出手段4が、基準表示方向を得て、S3C−3へ処理が進む。基準表示方向の値は予め決められていて、外部記憶手段やプログラム中などに記録されているとする。したがって、方向検出手段4は、記録された値を読み出すことで基準表示方向を得ることができる。
【0400】
基準表示方向を決めるにあたって、表示手段の状態は任意なので、ある状態における表示方向を基準表示方向と決めておけばよい。ここでは通常の使用状態で、ユーザーに表示面が正対する時の表示方向を基準表示方向としておく。
【0401】
例えば液晶ディスプレイを備えたノート型パソコンならば、ノート型パソコンを机の上において、ユーザーが椅子に座って使用するような場合、平均的なユーザーの頭の位置を統計的に求めることができる。その平均的な位置で液晶ディスプレイ面に正対する時のヒンジ部の角度を基準表示方向とすればよい。ユーザーによって基準表示方向を微調整するのならば、そのユーザーの使用形態で液晶ディスプレイに正対する時を指示してもらい、その時のヒンジ部の角度を基準表示方向とすればよい。
【0402】
S3C−3では、方向検出手段4が、S3C−1で得た表示方向をS3C−2で得た基準表示方向と比較して、ユーザーの視線方向を推定して算出し、補正手段5に推定したユーザーの視線方向を渡して、P20へ処理が抜ける。例えば、S3C−2で正対した時を基準表示方向としているならば、現在の表示方向と基準表示方向との差が、表示面から相対的に見たユーザーの視線方向であると推定すればよい。
【0403】
液晶ディスプレイなどには輝度に関して方向性があることがあり、ディスプレイ面と正対している時よりも、少し斜めから見た方が見やすいということがある。また、ディスプレイ面が暗くて見にくいので、照明があたるようにディスプレイ面を少し回転させたり、あるいは逆にディスプレイ面に他の照明が映りこんで見にくいので、ディスプレイ面を少し回転させたりして使用することはよくある。あるいは何らかの空間的配置の問題で、ある角度でしかディスプレイ面を見られないということもあるかもしれない。
【0404】
このように、正対状態ではなく、斜めの方向から見るということもあるが、そのような時でも表示手段の表示方向を得ることで、ユーザーの視線方向を推定し、補正することができるようになる。
【0405】
外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがある。これに対し、本実施形態のように表示方向を検出する場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実かつ安価な方法で表示方向を検出することができる効果が出てくる。
【0406】
なお、実施形態1同様、図19、図20の処理のように、繰り返し処理も可能である。
【0407】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。
【0408】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0409】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク,ハードディスク,光ディスク,光磁気ディスク,磁気テープ,不揮発性のメモリカード,等を用いることができる。
【0410】
また、上記プログラムコードは、通信ネットワークのような伝送媒体を介して、他のコンピュータシステムから本装置の主記憶74または外部記憶75へダウンロードされるものであってもよい。
【0411】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0412】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0413】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0414】
なお、実施形態1、実施形態2、実施形態3として説明した本発明に係る表示補正装置、表示補正方法、表示補正プログラムは上述した各実施形態に限定されるものではない。すなわち、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0415】
【発明の効果】
本発明に係る表示補正装置は、以上のように、情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出手段と、表示面にユーザーが正対した場合を基準として、前記方向検出手段から得た視線方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0416】
これによって、ユーザーが正対した状態以外の視線方向から表示面を見た時に、その歪が無くなる、あるいは軽減されるように感じられるという効果が出てくる。また、ユーザーが表示手段に正対した状態で無い場合、表示手段を回転させたり、移動させたり、表示手段の正面近くにユーザーが移動するといった操作や動作をせず、表示手段の向きを変えた情報を保つ保持動作なども必要とせず、正対した状態あるいはそれに近い状態の表示内容を見ることができるという効果が出てくる。
【0417】
本発明に係る表示補正装置は、以上のように、前記補正手段において、表示内容全体を補正単位として補正することを特徴とする。
【0418】
これにより、表示内容全体を同じ補正式あるいは同じ補正パラメータを使って補正するので、表示内容のデータ構造に依存せず、表示できるものならばどんなデータであっても補正することができる効果が出てくる。
【0419】
本発明に係る表示補正装置は、以上のように、表示される情報が一つ以上の表示対象要素からなり、前記補正手段において、個々の表示対象要素を補正単位として補正することを特徴とする。
【0420】
これによって、表示内容全体を補正するより、補正対象となる範囲が少なくなるので、処理量が減るという効果が出てくる。
【0421】
本発明に係る表示補正装置は、以上のように、前記補正手段において、表示手段の表示範囲の大きさとの関係で、表示対象要素の位置を配置し直すことを特徴とする。
【0422】
そこで、補正後の表示対象要素を表示範囲の大きさとの関係で配置し直すことで、表示手段の横幅あるいは縦幅の中に収まりきるように配置することができる。すなわち、表示手段内に表示されている範囲では、意味が途切れないように表示させることができるようになり、理解し易くなる効果が出てくる。また、スクロールバーなどを使う場合も、縦あるいは横の1方向だけで済むので、縦と横の両方にスクロールバーがある状態に比べて、操作が容易となる効果が出てくる。
【0423】
また、表示範囲に表示対象要素をレイアウトする場合、補正された表示対象要素と補正前の表示対象要素とで、扱いが変わるわけではない。すなわち、レイアウト処理結果は異なるが、レイアウトする時の処理手順は同じである。従って、再レイアウトの処理は正対した時にレイアウト処理する時と同じ処理方法を使うことができる効果が出てくる。
【0424】
また表示に関しても、例えば表示対象要素が文字の場合、横に拡大した文字の画像を生成して、その画像の表示をOS(Operating System)に実行させるよりも、横の拡大率が指定された文字の表示をOSに実行させた方が、多くのOSでは高速に実行できるという効果も出てくる。
【0425】
本発明に係る表示補正装置は、以上のように、前記方向検出手段において、ユーザーの視線方向の情報を、3次元空間の3軸のうち1軸または2軸の回転に関して得ることを特徴とする。
【0426】
これによって、ユーザーの視線方向の情報を得る為のコストを抑えることができる効果が出てくる。
【0427】
本発明に係る表示補正装置は、以上のように、前記方向検出手段において、表示手段とユーザーの間の距離の情報を得ることを特徴とする。
【0428】
これによって、視線方向の情報のみを使って歪を補正する場合と比べて、歪を完全に除去したり、より軽減したりすることができる効果が出てくる。
【0429】
本発明に係る表示補正装置は、以上のように、所定の位置範囲にユーザーが存在するかどうかの情報を得る存在検出手段を有し、前記方向検出手段において、前記存在検出手段からの情報に基づきユーザーの視線方向を得ることを特徴とする。
【0430】
これによって、ユーザーの視線方向を、所定の位置範囲にユーザーが存在するかどうかの情報から、ある程度の誤差で簡易的に推定することができるという効果が出てくる。正確な視線方向を求めようとすると、レーダーのような高価な機器が必要になってしまうかもしれないが、所定の位置範囲にユーザーが存在するかどうかなら、安価なセンサーなどを使って実現することができるという効果もある。
【0431】
本発明に係る表示補正装置は、以上のように、前記存在検出手段において、表示手段の正面方向付近にユーザーが存在するかどうかの情報を得ることを特徴とする。
【0432】
これによって、非常に簡易的にユーザーの視線方向を推定することができるという効果が出てくる。
【0433】
また、所定の位置範囲にユーザーが存在するかどうかの情報を得る為に、色々なセンサーなどを複数、色々な方向や場所に用意するのはコストや手間、処理が大変であるが、正面にいるかいないかだけを得るならば、存在検出手段を表示手段(装置)に組み込むだけで済むので、これらのコストや手間、処理を低く抑えることができる効果も出てくる。
【0434】
なお、本構成に組み合わせる補正の仕方としては、左右対称(あるいは上下対称)に歪を補正する手法が好ましいが、逆透視変換などの非対称に歪を補正する手法でも効果を得ることができる。
【0435】
本発明に係る表示補正装置は、以上のように、前記補正手段において、リアルタイム、あるいは所定時間間隔毎、あるいは方向検出手段から得られる視線方向が変わった時に補正を行うことを特徴とする。
【0436】
これによって、表示手段と相対的にユーザーが移動したりしたとしても、それに追随して補正が行われるので、常に補正した表示を得られるという効果が出てくる。
【0437】
本発明に係る表示補正装置は、以上のように、前記補正手段において、3次元空間の3軸のうち1軸以上の回転による歪を補正することを特徴とする。
【0438】
これによって、1軸から3軸まで補正の仕方を任意に選ぶ自由度ができることになるので、補正処理などにかかるコストと補正効果、使用パターン、目的などを考慮して、適切な補正方向を選ぶ形態に対応することができる効果が出てくる。
【0439】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に拡大するように表示内容を補正することを特徴とする。
【0440】
これによって、逆透視変換などの複雑な補正処理を行わなくても、縮小して見える歪を、拡大という簡易な補正方法でカバーすることができるという効果が出てくる。見えにくさの一番の原因は縮小効果であることが多いので、この方法で見にくさの多くを解決することができるという効果もある。
【0441】
また文字などを横斜めあるいは上下斜め方向から見ると、縦横比が正対して見る時とは変わってしまうが、本発明の補正を行うことで、正対して見る時と同じあるいはほぼ同じ縦横比として見ることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0442】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸に垂直な面と表示面の交わりからなる直線方向に、表示手段の表示範囲を広げて補正することを特徴とする。
【0443】
これによって、どの方向からでも、正対した時と近いまたは同じだけの情報量を得られるという効果が生まれてくる。また、表示範囲を拡大しない場合は、スクロールするなどの操作が必要となるが、それらの操作を減らせる、もしくは不要とする効果もある。
【0444】
本発明に係る表示補正装置は、以上のように、前記補正手段において、歪の原因となる回転軸方向に縮小するように表示内容を補正することを特徴とする。
【0445】
これにより、表示内容全体の面積は小さくなってしまうので、文字などの大きさ(面積)自体は小さくなってしまうが、正対して見る時と同じあるいはほぼ同じ縦横比としてみることができるようになる効果が出てくる。特に図や写真など、縦横比が変わってしまうと理解しにくいような内容の場合に効果が高い。
【0446】
本発明に係る表示補正装置は、以上のように、前記補正手段において、逆透視変換によって表示内容を補正することを特徴とする。
【0447】
これにより、逆透視変換で補正を行うことで、単に一軸方向に拡大または縮小する補正と比べて、透視変換の影響を無くす、あるいは低減させることができ、最も正確に補正できる効果が出てくる。
【0448】
本発明に係る表示補正装置は、以上のように、前記補正手段において、逆透視変換による補正を、3次元空間の3軸のうち1軸以上に関して行うことを特徴とする。
【0449】
これにより、3次元空間の3軸に関して逆透視変換による補正を行うと、(ディスプレイの解像度などの影響は受けるが)正対した時とまったく同じ表示内容を見ることができる効果が出てくる。
【0450】
また、1軸あるいは2軸だけの逆透視変換による補正をした場合には、3軸に関して逆透視変換による補正を行う場合と比べて処理量を抑えることができる上に、単に1軸または2軸方向に拡大または縮小する補正と比べて、上述したような逆透視変換の効果が出てくる。
【0451】
本発明に係る表示補正装置は、上記の課題を解決するために、表示面の表示方向が変更可能な表示手段の表示方向の情報を得る方向検出手段と、前記表示手段の所定の表示方向をユーザーが表示手段に正対している基準方向とし、前記方向検出手段から得られる表示方向の時に、基準方向時に正対しているユーザーの位置から、表示手段を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、を有することを特徴とする。
【0452】
これによって、表示手段の表示方向を得るだけで表示内容を補正することができ、補正を確実に簡単に実行することができるという効果が出てくる。表示面とユーザーとの方向を得る為に、外部にセンサーを置いたり、外部をセンサーで走査したりする場合、その設置などの手間やコストの問題、また外部センサーを使うことによる検知ミス(例えば人でないものを検知してしまうなど)の問題などがあるが、表示手段の基準方向に対する角度などを利用して表示方向を得る場合、例えばヒンジ部に角度センサーを組み込むことで、外部の影響を受けずに確実に角度を検出し、表示方向を得ることができる。
【0453】
それ以外の効果は、上記の表示補正装置による効果として、前述したとおりである。
【0454】
本発明に係る表示補正方法は、以上のように、情報を表示する表示面に対するユーザーの視線方向の情報を得る方向検出ステップと、表示面にユーザーが正対した場合を基準として、前記方向検出ステップから得た方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正ステップと、を有することを特徴とする。
【0455】
上記の構成による作用および種々の効果は、上記表示補正方法の構成に対応する表示補正装置による作用、効果として、前述したとおりである。
【0456】
本発明に係る表示補正プログラムは、以上のように、上記表示補正装置が備える各手段をコンピュータに実行させることを特徴とする。
【0457】
本発明に係る表示補正プログラムは、以上のように、上記表示補正方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0458】
本発明に係る記録媒体は、以上のように、上記表示補正プログラムを記録したことを特徴とする。
【0459】
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに表示補正プログラムをインストールすることによって、該コンピュータを用いて上記の表示補正方法を実現する、言い換えれば、該コンピュータを表示補正装置として機能させることができる。
【図面の簡単な説明】
【図1】本発明の表示補正装置による表示補正処理の手順を示すフローチャート図である。
【図2】表示面を基準とする3つの直交軸に対する回転として、ロール、ピッチ、ヨーを説明する説明図である。
【図3】本発明の表示補正装置の機能的な構成を示すブロック図である。
【図4】本発明の表示補正装置の一実施形態における構成例を示すブロック図である。
【図5】本発明の表示補正装置の概観例を示す模式的な斜視図である。
【図6】図1のユーザーの視線方向の取得処理の手順を示すフローチャート図である。
【図7】図1のユーザーの視線方向の取得処理の別の手順を示すフローチャート図である。
【図8】図1の表示内容の補正処理の手順を示すフローチャート図である。
【図9】(a)(b)は、ユーザーが斜めから表示手段を見た時の視線方向と、網膜上のユーザー像平面等の空間的配置、見え方について説明する説明図である。
【図10】(a)(b)は、ユーザーが正対して表示手段を見た時の視線方向と、網膜上のユーザー像平面等の空間的配置、見え方について説明する説明図である。
【図11】ユーザーが表示手段に正対した時に見えるユーザー像を説明する説明図である。
【図12】補正していないオリジナル表示内容をユーザーが斜め方向から見た時に見えるユーザー像を説明する説明図である。
【図13】オリジナル表示内容を1軸方向に拡大し、表示範囲を拡大せずに補正した補正表示内容を示す説明図である。
【図14】図13の補正表示内容をユーザーが斜め方向から見た時に見えるユーザー像を示す説明図である。
【図15】オリジナル表示内容を1軸方向に縮小し、表示範囲を拡大せずに補正した補正表示内容を、ユーザーが斜め方向から見た時見えるユーザー像を示す説明図である。
【図16】オリジナル表示内容を1軸方向に拡大し、表示範囲も拡大して補正した補正表示内容を示す説明図である。
【図17】図16の補正表示内容をユーザーが斜め方向から見た時に見えるユーザー像を説明する説明図である。
【図18】オリジナル表示内容を逆透視変換によって補正し、表示範囲も拡大して補正した補正表示内容を示す説明図である。
【図19】本発明の表示補正装置による表示補正処理の別の手順を示すフローチャート図である。
【図20】本発明の表示補正装置による表示補正処理の更に別の手順を示すフローチャート図である。
【図21】本発明の表示補正装置による表示補正処理の更に別の手順を示すフローチャート図である。
【図22】オリジナル表示内容の表示対象要素のレイアウトについて説明する説明図である。
【図23】各表示対象要素のデータ構造例を説明する説明図である。
【図24】図21の表示内容の取得と補正処理の手順を示すフローチャート図である。
【図25】図22のようにレイアウトされた個々の表示対象要素を横に拡大してレイアウトし直した時のレイアウト結果を説明する図である。
【図26】図25の補正表示内容を、ユーザーが斜め方向から見た時に見えるユーザー像を示す説明図である。
【図27】本発明の表示補正装置の外観例を示す模式的な斜視図である。
【図28】図1のユーザーの方向の取得処理の別の手順を示すフローチャート図である。
【図29】Xd軸とYd軸で視点を回転させた時の、ユーザーが斜めから表示手段を見た時の視線方向と、見え方について説明する説明図である。
【符号の説明】
3 存在検出手段
4 方向検出手段
5 補正手段
6 表示手段
22 正対表示範囲(表示範囲)
41,42,43 表示対象要素
44 表示範囲
74 主記憶(記録媒体)
75 外部記憶(記録媒体)
91 ディスプレイ部(表示手段、表示面)
92,93,94 センサー
95,96,97 圧力センサー
Ld 距離
Od 表示手段座標系原点
Oe ユーザー像座標系原点
Pu 視点
Xd,Yd,Zd 軸(回転軸)
Claims (20)
- 情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出手段と、
表示面にユーザーが正対した場合を基準として、前記方向検出手段から得た視線方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、
を有することを特徴とする表示補正装置。 - 前記補正手段において、表示内容全体を補正単位として補正することを特徴とする請求項1に記載の表示補正装置。
- 表示される情報が一つ以上の表示対象要素からなり、前記補正手段において、個々の表示対象要素を補正単位として補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、表示手段の表示範囲の大きさとの関係で、表示対象要素の位置を配置し直すことを特徴とする請求項3に記載の表示補正装置。
- 前記方向検出手段において、ユーザーの視線方向の情報を、3次元空間の3軸のうち1軸または2軸の回転に関して得ることを特徴とする請求項1に記載の表示補正装置。
- 前記方向検出手段において、表示手段とユーザーの間の距離の情報を得ることを特徴とする請求項1に記載の表示補正装置。
- 所定の位置範囲にユーザーが存在するかどうかの情報を得る存在検出手段を有し、前記方向検出手段において、前記存在検出手段からの情報に基づきユーザーの視線方向を得ることを特徴とする請求項1に記載の表示補正装置。
- 前記存在検出手段において、表示手段の正面方向付近にユーザーが存在するかどうかの情報を得ることを特徴とする請求項7に記載の表示補正装置。
- 前記補正手段において、リアルタイム、あるいは所定時間間隔毎、あるいは方向検出手段から得られる視線方向が変わった時に補正を行うことを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、3次元空間の3軸のうち1軸以上の回転による歪を補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に拡大するように表示内容を補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、歪の原因となる回転軸に垂直な面と表示面との交わりからなる直線方向に、表示手段の表示範囲を広げて補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、歪の原因となる回転軸方向に縮小するように表示内容を補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、逆透視変換によって表示内容を補正することを特徴とする請求項1に記載の表示補正装置。
- 前記補正手段において、逆透視変換による補正を、3次元空間の3軸のうち1軸以上に関して行うことを特徴とする請求項14に記載の表示補正装置。
- 表示面の表示方向が変更可能な表示手段の表示方向の情報を得る方向検出手段と、
前記表示手段の所定の表示方向をユーザーが表示手段に正対している基準方向とし、前記方向検出手段から得られる表示方向の時に、基準方向時に正対しているユーザーの位置から、表示手段を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正手段と、
を有することを特徴とする表示補正装置。 - 情報を表示する表示手段の表示面に対するユーザーの視線方向の情報を得る方向検出ステップと、
表示面にユーザーが正対した場合を基準として、前記方向検出ステップから得た方向から表示面を見る時の歪を無くして、あるいは軽減して表示内容を補正する補正ステップと、
を有することを特徴とする表示補正方法。 - 請求項1ないし16のいずれか一項に記載の表示補正装置が備える各手段として、コンピュータを機能させるための表示補正プログラム。
- 請求項17に記載の表示補正方法が備える各ステップを、コンピュータに実行させるための表示補正プログラム。
- 請求項18または19に記載の表示補正プログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242089A JP2004078121A (ja) | 2002-08-22 | 2002-08-22 | 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002242089A JP2004078121A (ja) | 2002-08-22 | 2002-08-22 | 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004078121A true JP2004078121A (ja) | 2004-03-11 |
Family
ID=32024378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002242089A Withdrawn JP2004078121A (ja) | 2002-08-22 | 2002-08-22 | 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004078121A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293197A (ja) * | 2004-03-31 | 2005-10-20 | Sony Corp | 画像処理装置及び方法、並びに画像表示システム |
WO2006006641A1 (en) * | 2004-07-12 | 2006-01-19 | Sharp Kabushiki Kaisha | Display device, vehicle, display method, display program, and display program storage medium |
JP2007041990A (ja) * | 2005-08-05 | 2007-02-15 | Daiwa Can Co Ltd | 缶体の肩部に付与する印刷画像の形成方法 |
JP2009075842A (ja) * | 2007-09-20 | 2009-04-09 | Denso Corp | 車載表示装置 |
WO2017043145A1 (ja) * | 2015-09-07 | 2017-03-16 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
WO2017090318A1 (ja) * | 2015-11-27 | 2017-06-01 | 株式会社デンソー | 表示補正装置 |
JP2018005760A (ja) * | 2016-07-07 | 2018-01-11 | 株式会社リコー | 表示装置、表示方法、及びプログラム |
CN110546681A (zh) * | 2017-04-26 | 2019-12-06 | D睿科逊公司 | 远近法对应图像校正方法及装置 |
-
2002
- 2002-08-22 JP JP2002242089A patent/JP2004078121A/ja not_active Withdrawn
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293197A (ja) * | 2004-03-31 | 2005-10-20 | Sony Corp | 画像処理装置及び方法、並びに画像表示システム |
JP4496823B2 (ja) * | 2004-03-31 | 2010-07-07 | ソニー株式会社 | 画像処理装置及び方法、並びに画像表示システム |
WO2006006641A1 (en) * | 2004-07-12 | 2006-01-19 | Sharp Kabushiki Kaisha | Display device, vehicle, display method, display program, and display program storage medium |
JP2007041990A (ja) * | 2005-08-05 | 2007-02-15 | Daiwa Can Co Ltd | 缶体の肩部に付与する印刷画像の形成方法 |
JP2009075842A (ja) * | 2007-09-20 | 2009-04-09 | Denso Corp | 車載表示装置 |
US10976812B2 (en) | 2015-09-07 | 2021-04-13 | Sony Corporation | Information processing device and information processing method |
CN107950019A (zh) * | 2015-09-07 | 2018-04-20 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
WO2017043145A1 (ja) * | 2015-09-07 | 2017-03-16 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN107950019B (zh) * | 2015-09-07 | 2021-05-28 | 索尼公司 | 信息处理装置、信息处理方法和计算机可读存储介质 |
WO2017090318A1 (ja) * | 2015-11-27 | 2017-06-01 | 株式会社デンソー | 表示補正装置 |
JP2017097274A (ja) * | 2015-11-27 | 2017-06-01 | 株式会社デンソー | 表示補正装置 |
JP2018005760A (ja) * | 2016-07-07 | 2018-01-11 | 株式会社リコー | 表示装置、表示方法、及びプログラム |
CN110546681A (zh) * | 2017-04-26 | 2019-12-06 | D睿科逊公司 | 远近法对应图像校正方法及装置 |
JP2020518931A (ja) * | 2017-04-26 | 2020-06-25 | ディー レクション インク | 遠近法に対応したイメージ補正方法および装置 |
JP7360379B2 (ja) | 2017-04-26 | 2023-10-12 | ディー レクション インク | 遠近法に対応したイメージ補正方法および装置 |
CN110546681B (zh) * | 2017-04-26 | 2023-10-20 | D睿科逊公司 | 远近法对应图像校正方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101649098B1 (ko) | 휴대용 단말기에서 센서를 이용한 렌더링 방법 및 장치 | |
JP4975673B2 (ja) | カメラ設置シミュレータプログラム | |
JP4916145B2 (ja) | 情報処理装置及び情報処理方法並びにプログラム | |
US20100100853A1 (en) | Motion controlled user interface | |
US20070008344A1 (en) | Manipulation of Projected Images | |
US20150370322A1 (en) | Method and apparatus for bezel mitigation with head tracking | |
KR20110102365A (ko) | 3차원 컨텐츠와 상호 작용하기 위한 이머시브 표시 시스템 | |
KR20120016585A (ko) | 정보 처리 장치, 정보 처리 방법 및 프로그램 | |
US20160334884A1 (en) | Remote Sensitivity Adjustment in an Interactive Display System | |
JP2008084287A (ja) | 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム | |
JP2006503365A (ja) | 2次元表示装置を用いて擬似3次元表示を生成する方法及びシステム | |
US7369142B2 (en) | Image-displaying apparatus and method for obtaining pixel data therefor | |
JP2018101215A (ja) | 情報処理装置、プログラム、閲覧システム | |
JP2004320661A (ja) | 補助線を利用した幾何学補正インターフェースにおける画面外エリアの補正方法 | |
JP2004078121A (ja) | 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 | |
JP5461782B2 (ja) | カメラ映像シミュレータプログラム | |
JP3958150B2 (ja) | 表示補正装置、表示補正方法、表示補正プログラム、および表示補正プログラムを記録した記録媒体 | |
JP2008180797A (ja) | 画像表示装置、画像表示装置の制御方法、及びコンピュータプログラム | |
JP2003209769A (ja) | 画像生成装置および方法 | |
JP5966624B2 (ja) | 情報処理装置及び情報表示システム | |
JP5880024B2 (ja) | 情報処理装置及びプログラム | |
JP5319867B2 (ja) | 情報端末装置 | |
US20160035125A1 (en) | 3d-consistent 2d manipulation of images | |
JP7077540B2 (ja) | 端末装置、表示システム、及び端末装置の制御方法 | |
JP2007133305A (ja) | 情報表示制御装置および情報表示制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051101 |