JP6609929B2 - 両眼光学拡張現実システムの深さ−視差較正 - Google Patents

両眼光学拡張現実システムの深さ−視差較正 Download PDF

Info

Publication number
JP6609929B2
JP6609929B2 JP2015014180A JP2015014180A JP6609929B2 JP 6609929 B2 JP6609929 B2 JP 6609929B2 JP 2015014180 A JP2015014180 A JP 2015014180A JP 2015014180 A JP2015014180 A JP 2015014180A JP 6609929 B2 JP6609929 B2 JP 6609929B2
Authority
JP
Japan
Prior art keywords
depth
real world
parallax
calibration
virtual object
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.)
Active
Application number
JP2015014180A
Other languages
English (en)
Other versions
JP2015141418A (ja
Inventor
ウ ワヌミヌ
トシッチ イヴァナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2015141418A publication Critical patent/JP2015141418A/ja
Application granted granted Critical
Publication of JP6609929B2 publication Critical patent/JP6609929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0127Head-up displays characterised by optical features comprising devices increasing the depth of field
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N2013/40Privacy aspects, i.e. devices showing different images to different viewers, the images not being viewpoints of the same scene
    • H04N2013/405Privacy aspects, i.e. devices showing different images to different viewers, the images not being viewpoints of the same scene the images being stereoscopic or three dimensional

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本願明細書は、ユーザ入力に基づく両眼光学透視拡張現実ディスプレイの較正に関する。特に、本願明細書は、2次元(2D)位置較正及び深さ較正を統合する深さ−視差マッピング又は結合3次元(3D)較正を決定するシステム及び方法に関する。
既存のポータブルコンピューティング装置は、拡張現実アプリケーションを可能にするとき、根本的な制限を有する。仮想情報を示すことのできる数個のニアアイディスプレイ(near-eye display)が存在するが、それらは、小さい視野、限られた3D能力、及び限られた拡張現実サポートを含む欠点を示す。
本開示は、両眼光透過拡張現実ディスプレイを較正するシステム及び方法を提供する。
一実施形態では、システムは較正アプリケーションを有する。較正アプリケーションは、ヒューマンインタフェースモジュールのディスプレイで、現実世界オブジェクトに対して位置決めされた仮想オブジェクトをレンダリングし、ユーザの目と前記現実世界オブジェクトとの間の第1の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるためのユーザ入力を受信し、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記ユーザ入力に基づき、前記第1の深さの視差を決定し、前記第1の深さと前記視差との間のマッピングを決定するように構成される。例えば、仮想オブジェクトは、深さパラメータとスクリーン視差パラメータとの間のマッピングに基づき、仮想オブジェクトが現実世界オブジェクトの上にオーバレイされ、及びユーザの目が現実世界オブジェクトの深さに集中して仮想オブジェクトが現実世界オブジェクトに関連するように知覚する。本開示は、ヒューマンインタフェースモジュールのディスプレイと現実世界オブジェクトとの間の深さを決定する方法、複数の深さにおいて構成を実行する方法、瞳孔間距離(inter-pupillary distance:IPD)に基づく推定深さ視差マッピング定数を使用する方法、対を成す目を用いて較正する方法、別個の目を用いて較正する方法、2D位置マッピング及び深さ視差マッピングを用いて較正する方法を更に有する。
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
本願明細書は、両眼光透過拡張現実ディスプレイの深さ−視差較正手順を記載する。本願明細書に記載の技術の重要な利点は、2D位置マッピング及び深さ−視差マッピングを用いた融合、結合3Dデータ収集を有する又は有しない深さ−視差較正、並びに定数パラメータCを有する深さ−視差マッピングの推定である。
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
両眼光学透視拡張現実ディスプレイを較正するシステムの一実施形態を示す上位ブロック図である。 較正アプリケーションを有するシステムの一実施形態を示すブロック図である。 較正方法の一実施形態を示すフロー図である。 深さ−視差較正方法の一実施形態を示すフロー図である。 対を成す目を用いる深さ−視差較正方法の一実施形態を示すフロー図である。 別個の目を用いる深さ較正方法の一実施形態を示すフロー図である。 結合3D較正方法の一実施形態を示すフロー図である。 対を成す目を用いる結合3D較正方法の一実施形態を示すフロー図である。 別個の目を用いる結合3D較正方法の一実施形態を示すフロー図である。 別個の目を用いる結合3D較正方法の一実施形態を示すフロー図である。 画像面、現実世界オブジェクト及び視差を示す2つの目の配置の一実施形態の図である。
図1は、一実施形態による、光学透視拡張現実ディスプレイを較正するシステム100のブロック図を示す。図示のシステム100は、ヒューマンインタフェースモジュール102a...102n、計算及び通信モジュール104a...104n、バックエンドサービスサーバ108、位置決めシステム110、及び他のシステム112を有しても良い。図1A及び以下の図では、参照符号の後の文字は、例えば「102a」は、特定の参照符号を有する要素への参照を表す。文章中の、後続の文字を有しない参照符号、例えば「102」は、その参照符号を付された要素の例への全般的な参照を表す。図示の実施形態では、システム100のこれらのエンティティはネットワーク106を介して通信可能に結合される。
ネットワーク106は、従来型の有線又は無線であり、スター構成、トークンリング構成若しくは他の構成を含む多数の異なる構成を有しても良い。さらに、ネットワーク106は、LAN(local area network)、WAN(wide area network)(例えば、インターネット)、及び/又は複数の装置が通信できる他の相互接続されたデータ経路を有しても良い。幾つかの実施形態では、ネットワーク106は、ピアツーピアネットワークであっても良い。ネットワーク106は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んでも良い。幾つかの実施形態では、ネットワーク106は、Bluetooth通信ネットワーク又はSMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有しても良い。図1はヒューマンインタフェースモジュール102n、計算及び通信モジュール104n、バックエンドサービスサーバ108、位置決めシステム110、及び他のシステム112に結合される1つのネットワーク106を示すが、実際には1又は複数のネットワーク106がこれらのエンティティに接続できる。
一実施形態では、較正アプリケーション103aは、対応する計算及び通信モジュール104aに結合されるヒューマンインタフェースモジュール102aで動作可能であっても良い。一実施形態では、ヒューマンインタフェースモジュール102a、並びに計算及び通信モジュール104aは、望ましくは、ポータブルであり、単一ユーザにより一緒に用いられる。一実施形態では、ヒューマンインタフェースモジュール102aは、メモリ、プロセッサ、画像配信及び表示機構、オーディオ配信若しくはスピーカ機構、並びにオーディオキャプチャ能力を有し得るウェアラブルコンピューティング装置であっても良い。例えば、ヒューマンインタフェースモジュール102は、両眼眼鏡の形式をとっても良い。
一実施形態では、ヒューマンインタフェースモジュール102は、大きな画像、両眼透視(透明)ディスプレイ、又は3次元の表示画像を提示するために広い視野を提供する画像配信及び表示機構を有しても良い。別の実施形態では、ヒューマンインタフェースモジュール102内の画像配信及び表示機構は、両眼光透視拡張現実表示システムを有しても良い。画像配信及び表示機構は、現実世界に近似して(グラフィック、テキスト、画像、及びビデオのような)デジタルの仮想可視化をシームレスに位置決めする、例えば物理的テーブル面上に仮想3Dチャートを配置する。幾つかの実施形態では、デジタル又は仮想可視化又は提示は、現実世界オブジェクト又は背景にオーバレイされ又は重ね合わせられる。用語「オーバレイ」は、特に断らない限り、現実世界オブジェクト又は背景に対するデジタル表現の位置決めを表す。一実施形態では、ヒューマンインタフェースモジュール102の画像配信及び表示機構は、現実世界オブジェクトの上にオーバレイされる仮想画像の視野内(in-eye)投影のための投影能力を有しても良い。別の実施形態では、画像配信及び表示機構は、ヒューマンインタフェースモジュール102を形成する眼鏡のレンズ上に仮想画像を投影する。更に別の実施形態では、ヒューマンインタフェースモジュール102内の画像配信及び表示機構は、壁、机上、テーブル上、又はすぐ近くの面に画像を投影する。一実施形態では、ヒューマンインタフェースモジュール102内の画像配信及び表示機構は、レーザダイオード、スキャニングファイバディスプレイ、スキャン光ディスプレイ、3Dディスプレイ(立体、自動立体、又は体積)、光照射野、基板導光光学系、導光光学素子、等を有しても良い。一実施形態では、画像配信及び表示機構は、ユーザの視覚能力を補正するための適応型光学系を有しても良く、度付き眼鏡を必要とするか否かを問わず誰によってもヒューマンインタフェースモジュール102が使用できるようにする。別の実施形態では、画像配信及び表示機構は、他のセンサ及びシステムと協働して、周囲光条件を検出し、及び自動的に若しくはユーザ制御下で表示のピクセル毎の不透明度の制御を提供する。理解されるべきことに、ディスプレイがディスプレイに入る周囲光のレベルを変更するために、ヒューマンインタフェースモジュール102の眼鏡への紫外線光又は電気信号の適用のような他の調光機構も提供されても良い。
ヒューマンインタフェースモジュール102は、通常、現実世界オブジェクト上に仮想情報のシーン適応オーバレイを可能にするウェアラブルディスプレイ装置である。特定の実施形態にかかわらず、用語「オーバレイ」、「複数のオーバレイ」又は「オーバレイされた」への言及は、シーン適応オーバレイを表す。本開示の実施形態では、画像配信及び表示機構はユーザに関する情報を視野に「オーバレイし」、又は検索された情報が視野に「オーバレイされる」。言い換えると、ユーザは、オーバレイにより遮られない現実世界を見ることできる。好適な実施形態では、画像配信及び表示機構は透視媒体であり、該透視媒体を通じて現実世界はユーザの目により見ることができ、該透視媒体上に仮想オブジェクトが現実オブジェクトの上に若しくはその隣にオーバレイされて表示できる。例えば、このオーバレイは、情報を目に投影して、投影された情報が目から特定の距離に位置する仮想画像面上で見えるようにする画像配信及び表示機構により達成されても良く、一方で、現実世界は目の前に位置する光学接眼部を通じて見えても良い。第2の実施形態では、画像配信及び表示機構は情報を投影し、仮想画像面の背後の領域は不透明にされて、可能な限り背後の現実世界を隠すが、投影されたオーバレイにより遮られない現実世界の部分はユーザにより見える。シーン情報全体が与えられると、画像配信および表示機構は、特定のレンダリング手段、例えば高輝度コントラスト又は色コントラスト、フォントスタイル/サイズ及び種類、等を選択する。したがって、投影された情報は現実世界の背景に対して可視である。。オーバレイされた仮想オブジェクトは、現実オブジェクトから反射される光を完全に遮ることができ、又は光を部分的に伝達できる。
ヒューマンインタフェースモジュール102内のオーディオ配信又はスピーカシステムは、モノ又はステレオ音声をユーザに提供するオーディオ出力装置を有しても良い。ヒューマンインタフェースモジュール102aは、異なるセンサを用いて画像、音声、動き及び種々の情報をキャプチャする能力を有しても良い。例えば、ヒューマンインタフェースモジュール102aにより提示されるデータを操作する1つの方法として、ヒューマンインタフェースモジュール102aは、画像を処理しジェスチャを認識する。別の例では、ヒューマンインタフェースモジュール102aは、リアルタイムに、現実世界シーンをキャプチャし、それらを計算及び通信モジュール104aに配信する。計算及び通信モジュール104aは、画像を処理して、シーンの3D深さマップを生成し、及び/又はオブジェクト認識を実行する。幾つかの実施形態では、ヒューマンインタフェースモジュール102aは、ポータブル光源を有しても良い。
一実施形態では、較正アプリケーション103bは、ネットワーク106に結合される計算及び通信モジュール104aで動作可能であっても良い。計算及び通信モジュール104aは、ヒューマンインタフェースモジュール102aに結合される。したがって、ヒューマンインタフェースモジュール102、並びに計算及び通信モジュール104は、一緒に、バックエンドサービスサーバ108、位置決めシステム110、又は他のシステム112のうちの任意のものとネットワーク106を介して通信可能である。一実施形態では、計算及び通信モジュール104aは、ヒューマンインタフェースモジュール102aのために計算的サポートを提供する。別の実施形態では、計算及び通信モジュール104aは、任意の種類のアプリケーションのために一般的グラフィック及びマルチメディア処理を提供する。例えば、計算及び通信モジュール104aは、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、PDA(personal digital assistant)、モバイル電子メール装置、等であり得る。別の例では、計算及び通信モジュール104aは、ブレスレット、ペンダント、腕時計、ヘッドセット、眼鏡、又は他のウェアラブルコンピューティングの形式であっても良い。一実施形態では、計算及び通信モジュール104aは、従来のオペレーティングシステムを用いて動作しても良い。別の実施形態では、計算及び通信モジュール104aは、ネットワーク106と通信するための広帯域通信能力も有する。
図1のヒューマンインタフェースモジュール102a...102n、並びに計算及び通信モジュール104a...104nは、例として用いられる。図1は2個のヒューマンインタフェースモジュール102a及び102n並びに計算及び通信モジュール104a及び104nのみを示すが、本開示は、1又は複数のヒューマンインタフェースモジュール102並びに1又は複数の計算及び通信モジュール104を有するシステムアーキテクチャにも適用される。
一実施形態では、較正アプリケーション103cは、ネットワーク106に結合される、サービスを提供可能なバックエンドサービスサーバ108で動作可能であっても良い。一実施形態では、バックエンドサービスサーバ108は、ハードウェアサーバ又はソフトウェアサーバであっても良い。別の実施形態では、バックエンドサービスサーバ108は、完全にハードウェア、又は完全にソフトウェア、又はハードウェアとソフトウェアとの組合せであっても良い。バックエンドサービスサーバ108は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であっても良い。図1には単一のバックエンドサービスサーバ108のみが示されるが、任意の数のバックエンドサービスサーバ108又はサーバクラスタが存在しても良いことが理解されるべきである。他の実施形態では、異なるサーバは異なるサービスを提供する。例えば、バックエンドサービスサーバ108内の異なるサーバコンポーネントは、銀行業務、小売、運送、飲食物提供、ホテル及び住宅供給、等のような特定のビジネス鉛直圏(vertical)に関連するサービスを提供しても良い。同様に、バックエンドサービスサーバ108内の異なるサービスコンポーネントは、画像処理、シーン分析、顔認識、虹彩検出及び認証、音声認識、暗号化、変換、フォーマット変換、等のような異なる種類のコンピューティング機能を提供しても良い。
一実施形態では、較正アプリケーション103dは、ネットワーク106に結合される位置決めシステム110で動作可能であっても良い。位置決めシステム110は、ヒューマンインタフェースモジュール102及び/又は計算及び通信モジュール104の位置及び方向を検出するセンサのシリーズ、センサのグリッド若しくはアレイ、又はビーコンであっても良い。例えば、位置決めシステム110は、モジュールの位置及び方向を決定するために、ヒューマンインタフェースモジュール102及び/又は計算及び通信モジュール104からのデータを用いても良い。例えば、種々の屋内システムは、ヒューマンインタフェースモジュール102a並びに計算及び通信モジュール104が用いられる、より小さな環境の正確な位置及び方向情報を得るために用いられても良い。位置決めシステム110は、GPS、Wi−Fi位置決め、セルラ位置決め、MEMSセンサ、Bluetooth(登録商標)ビーコン、屋内メッセージングシステム、近距離通信、RFID、超音波ビーコン、カメラネットワーク、等を用いても良い。より詳細には、幾つかの実施形態では、位置決めシステム110は、ユーザの目から現実世界オブジェクトまでの深さ又は位置測定を提供する。
一実施形態では、較正アプリケーション103eは、ネットワーク106に結合される他のシステム112で動作可能であっても良い。図1の他のシステム112は、他の既存のシステムを表す。例えば、他のシステム112は、動きセンサ、壁ディスプレイ、コーヒーメーカ、照明制御のための投影システム、温度センサ、周囲光センサ、健康監視センサ、汚染センサ、放射線センサ、HVACシステム、等を有しても良い。ヒューマンインタフェースモジュール102並びに計算及び通信モジュール104は、他のシステム112と接続及び相互作用可能である。ヒューマンインタフェースモジュール102並びに計算及び通信モジュール104は、他のシステム112に情報及びコマンドを送信し、又は他のシステム112から情報を受信できる。例えば、飛行時間センサ、レーザ範囲探知器、構造光センサ、平面光(plenoptic)センサ、等の形式の深さセンサは、ユーザの目からの現実世界オブジェクトの深さを決定し、直接に又は計算及び通信モジュール104を介して情報をヒューマンインタフェースモジュール102に送信しても良い。
一実施形態では、較正アプリケーション103は、部分的にヒューマンインタフェースモジュール102に、部分的に計算及び通信モジュール104に、部分的にバックエンドサービスサーバ108に、及び部分的に位置決めシステム110のコンポーネントに格納されても良い小型軽量クライアントアプリケーションとして動作する。例えば、ヒューマンインタフェースモジュール102にある較正アプリケーション103aは、現実世界シーンの画像をキャプチャするソフトウェアを有し、幾つかの実施形態では3D深さマップ生成を実行し得る。較正アプリケーション103aは、深さ及び視差の正しいマッピングを決定するために、バックエンドサービスサーバ108にある較正アプリケーション103cへユーザ深さ−視差較正データを送信しても良い。
較正アプリケーション103は、較正を実行する機能を提供するために、ソフトウェア及び/又はロジックを有しても良い。一実施形態では、較正アプリケーション103は、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装できる。別の実施形態では、較正アプリケーション103は、ハードウェア及びソフトウェアの組み合わせを用いて実装できる。他の実施形態では、較正アプリケーション103は、装置及びサーバの組合せに、又は装置又はサーバのうちの1つに、格納されても良い。
一実施形態では、較正アプリケーション103は、現実世界オブジェクトに対して位置決めされる仮想オブジェクトをレンダリングする。より詳細には、ヒューマンインタフェースモジュール102を通じて閲覧されるとき、仮想オブジェクトが現実世界オブジェクトにオーバレイされ揃えられて現れるまで、ユーザ入力に応答して仮想オブジェクトが位置を変更されるように、較正アプリケーション103は、ヒューマンインタフェースモジュール102のディスプレイに仮想オブジェクトをレンダリングする。例えば、較正アプリケーション103は、最初に、仮想オブジェクトを特定の位置(例えば、スクリーンの中央)にレンダリングし、次に、仮想オブジェクトを揃えるようユーザに依存して仮想オブジェクトを移動する。較正アプリケーション103は、ユーザの目からの現実世界オブジェクトの深さを決定する。較正アプリケーション103は、深さ−視差較正のためにディスプレイ上で仮想オブジェクトを移動するためのユーザ入力を受信する。較正アプリケーション103は、深さ−視差較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを決定する。較正は、ユーザからの入力、較正アプリケーション103による処理、又はそれら両者に基づき完了したと決定できる。較正アプリケーション103は、較正が完了したのに応答して、深さと視差との間のマッピングを決定する。別の実施形態では、較正アプリケーション103は、現実世界オブジェクトの3D点座標とディスプレイ上の仮想オブジェクトの2Dピクセル座標との間のマッピングを決定する。較正アプリケーション103の動作及び上述の機能は、図3〜10を参照して以下に詳述する。
図2を参照すると、較正アプリケーション103の一例がより詳細に示される。図2は、幾つかの例による、較正アプリケーション103、プロセッサ235、メモリ237、通信ユニット241、及びデータ記憶装置243を有し得るコンピューティング装置200のブロック図である。コンピューティング装置200のコンポーネントは、バス220により通信可能に結合される。バス220は、ISA(industry standard architecture)バス、PCI(peripheral component interconnect)バス、USB(universal serial bus)又は同様の機能を提供する従来知られている特定の他のバスを含む1又は複数のバスを表しても良い。幾つかの実施形態では、コンピューティング装置200は、ヒューマンインタフェースモジュール102、計算及び通信モジュール104、バックエンドサービスサーバ108、位置決めシステム110、及び他のシステム112のうちの1つであり得る。
プロセッサ235は、種々の入力/出力、論理、及び/又は演算動作を実行することによりソフトウェア命令を実行しても良い。プロセッサ235は、例えばCISC(complex instruction set computer)アーキテクチャ、RISC(reduced instruction set computer)アーキテクチャ、及び/又は命令セットの組合せを実施するアーキテクチャを含む、データ信号を処理する種々のコンピューティングアーキテクチャを有しても良い。プロセッサ235は、物理的及び/又は仮想的であっても良く、単一の信号処理ユニット又は複数の信号処理ユニット及び/又はコアを有しても良い。幾つかの実装では、プロセッサ235は、電子ディスプレイ信号を生成しディスプレイ装置に提供し、画像の表示をサポートし、画像をキャプチャ及び送信し、種々の特徴抽出及びサンプリングを含む複雑なタスクを実行する、等が可能であっても良い。幾つかの実装では、プロセッサ235は、バス220を介してメモリ237に結合されても良く、メモリ237からのデータ及び命令にアクセスし、メモリ237内にデ―タを格納しても良い。バス220は、例えばメモリ237、通信ユニット241、較正アプリケーション103、及びデータ記憶装置243を含むコンピューティング装置200の他のコンポーネントに、プロセッサ235を結合しても良い。当業者には、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、物理的構成が可能であることが明らかである。
メモリ237は、コンピューティング装置200の他のコンポーネントのためにデータを格納しデータへのアクセスを提供しても良い。メモリ237は、本願明細書のどこかで議論されるように、単一のコンピューティング装置又は複数のコンピューティング装置に含まれても良い。幾つかの実装では、メモリ237は、プロセッサ235により実行され得る命令及び/又はデータを格納しても良い。例えば、一実施形態では、メモリ237は、較正アプリケーション103を格納しても良い。メモリ237は、例えばオペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース、等を含む他の命令及びデータも格納可能である。メモリ237は、プロセッサ235及びコンピューティング装置200の他のコンポーネントと通信するために、バス220に結合されても良い。
メモリ237は、1又は複数の非一時的コンピュータ使用可能(例えば、可読、書き込み可能DRAM)装置、SRAM(static random access memory)装置、埋め込みメモリ装置、個別メモリ装置(例えば、PROM、FPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue−ray(登録商標)、等)媒体を有しても良く、プロセッサ235により若しくはプロセッサ235と共に処理するために、命令、データ、コンピュータプログラム、ソフトウェアコード、ルーチン、等を有し、格納し、通信し、伝搬し又は伝送する任意の有形機器若しくは装置であり得る。幾つかの実装では、メモリ237は、揮発性メモリ及び不揮発性メモリのうちの1又は複数を有しても良い。例えば、メモリ237は、DRAM(dynamic random access memory)装置、SRAM(static random access memory)装置、埋め込みメモリ装置、個別メモリ装置(例えば、PROM、FPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue−ray(登録商標)、等)のうちの1又は複数を有しても良いが、これに限定されない。理解されるべきことに、メモリ237は、単一の装置であっても良く、又は複数種類の装置及び較正を有しても良い。
通信ユニット241は、プロセッサ235に接続することにより、ネットワーク106及び他の処理システムからデータを受信し及びそれへ送信するハードウェアである。通信ユニット241は、ヒューマンインタフェースモジュール102から較正要求のようなデータを受信し、制御部201へ要求、例えば両眼ディスプレイの視差を調整する要求を送信する。通信ユニット241は、例えば現実世界オブジェクトと揃えるために、ヒューマンインタフェースモジュール102へ、表示用に仮想面のデジタル情報を含む情報も送信する。通信ユニット241はバス220に結合される。一実施形態では、通信ユニット241は、ヒューマンインタフェースモジュール102への又は別の通信チャネルへの直接物理接続のためのポートを有しても良い。例えば、通信ユニット241は、ヒューマンインタフェースモジュール102との有線通信のためにRJ45又は類似のポートを有しても良い。別の実施形態では、通信ユニット241は、IEEE802.11、IEEE802.16、Bluetooth(登録商標)又は別の適切な無線通信方法のような1又は複数の無線通信方法を用いて、ヒューマンインタフェースモジュール102又は任意の他の通信チャネルとデータを交換するために無線通信機(図示しない)を有しても良い。
更に別の実施形態では、通信ユニット241は、SMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール又は他の適切な種類の電子通信等を介してセルラネットワークでデータを送信及び受信するセルラ通信トランシーバを有しても良い。更に別の実施形態では、通信ユニット241は、有線ポート及び無線通信機を有しても良い。通信ユニット241は、当業者に理解されるように、TCP/IP、HTTP、HTTPS及びSMTPのような標準的ネットワークプロトコルを用いてファイル及び/又はメディアオブジェクトを配信するために、ネットワーク106への他の従来型接続も提供する。
データ記憶装置243は、本願明細書に記載の機能を提供するためにデータを格納する非一時的メモリである。データ記憶装置243は、DRAM(dynamic random access memory)素子、SRAM(static random access memory)素子、フラッシュメモリ又は幾つかの他のメモリ素子であっても良い。幾つかの実施形態では、データ記憶装置243は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。
図示の実施形態では、データ記憶装置243は、バス220に通信可能に結合される。一実施形態では、データ記憶装置243は、ヒューマンインタフェースモジュール102のディスプレイ上の仮想オブジェクトの現在位置を格納する。別の実施形態では、データ記憶装置243は、深さのセットの各深さについて集められた深さ−視差較正データ及び2D位置較正データを格納する。データ記憶装置243に格納されたデータは、以下に詳細に記載される。一実施形態では、データ記憶装置243は、本願明細書に記載の機能を提供する他のデータを格納しても良い。
一実施形態では、較正アプリケーション103は、制御部201、画像配信モジュール203、較正エンジン205及びユーザインタフェースエンジン207を有しても良い。較正アプリケーション103のコンポーネントは、バス220により通信可能に結合される。
制御部201は、較正アプリケーション103の他のコンポーネントの動作を制御するためにソフトウェア及び/又はロジックを有しても良い。制御部201は、図3〜10を参照して以下に記載される方法を実行するために較正アプリケーション103の他のコンポーネントを制御する。制御部201は、較正アプリケーション103とコンピューティング装置200の他のコンポーネントとの間の、並びに較正アプリケーション103のコンポーネント同士の間の通信を処理する機能を提供するために、ソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、制御部201は、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの実施形態では、画像配信モジュール203は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、制御部201は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、制御部201は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、制御部201は、プロセッサ235、メモリ237及び較正アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
一実施形態では、制御部201は、通信ユニット241を介して、ヒューマンインタフェースモジュール102、計算及び通信モジュール104、バックエンドサービスサーバ108、位置決めシステム110、及び他のシステム112のうちの1又は複数へ及びから、データを送信し及び受信する。例えば、制御部201は、通信ユニット241を介して、サービスを提供するバックエンドサービスサーバ108から仮想画像を受信し、該仮想画像を画像配信モジュール203へ送信する。別の例では、制御部201は、仮想画像を含むユーザインタフェースをユーザに提供するためのグラフィカルデータをユーザインタフェースエンジン207から受信し、該グラフィカルデータをヒューマンインタフェースモジュール102へ送信して、ヒューマンインタフェースモジュール102に、仮想画像を含むユーザインタフェースをユーザに提示させる。
一実施形態では、制御部201は、較正アプリケーション103の他のコンポーネントからデータを受信し、データ記憶装置243に該データを格納する。例えば、制御部201は、較正情報を含むデータを較正エンジン205から受信し、データ記憶装置243に該データを格納する。別の実施形態では、制御部201は、データ記憶装置243からデータを読み出し、較正アプリケーション103の他のコンポーネントへ該データを送信する。例えば、制御部201は、仮想情報を含むデータをデータ記憶装置243から読み出し、較正エンジン205に該読み出したデータを送信する。
画像配信モジュール203は、仮想オブジェクトが1つの仮想画像面又は複数の仮想画像面上に位置付けられるように見えるよう、ヒューマンインタフェースモジュール102のディスプレイに仮想オブジェクトを含むデジタル情報を表示する機能を提供するために、ソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、画像配信モジュール203は、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの実施形態では、画像配信モジュール203は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、画像配信モジュール203は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、画像配信モジュール203は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、画像配信モジュール203は、プロセッサ235、メモリ237及び較正アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
一実施形態では、画像配信モジュール203は、仮想オブジェクトデータを含む光学情報を受信し又は生成し、制御部201は、ユーザインタフェースエンジン207に、ヒューマンインタフェースモジュール102のディスプレイで提示するための画像を生成するよう指示する。一実施形態では、画像配信モジュール203は、バックエンドサービスサーバ108から完全に、計算及び通信モジュール104から完全に、又はそれら両者から共同で、仮想オブジェクトデータを読み出す。例えば、仮想オブジェクトデータは、較正目的のために十字形の表現であり得る。別の例では、仮想オブジェクトデータは、対応する現実の銀行顧客に重ね合わせられる銀行顧客プロファイルデータであっても良い。
一実施形態では、画像配信モジュール203は、ユーザインタフェースエンジン207から、ヒューマンインタフェースモジュール102のディスプレイ上の仮想オブジェクトの現在位置に関連する命令を受信する。一実施形態では、画像配信モジュール203は、較正エンジン205へ、仮想オブジェクトの現在位置を含む情報を送信する。別の実施形態では、画像配信モジュール203は、データ記憶装置243に情報を格納する。
較正エンジン205は、ヒューマンインタフェースモジュール120を通じて閲覧されるとき、仮想オブジェクトが現実世界オブジェクトにオーバレイされ又は重ね合わされてユーザに見えるよう、ディスプレイ上にレンダリングされる仮想オブジェクトに関するユーザ入力に基づく較正を実行する機能を提供するために、ソフトウェア及び/又はロジックを有しても良い。較正エンジン205の機能及び動作は、以下に図3〜10を参照してより詳細に記載される。幾つかの実施形態では、較正エンジン205は、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの実施形態では、較正エンジン205は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、較正エンジン205は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、較正エンジン205は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、較正エンジン205は、プロセッサ235、メモリ237及び較正アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
一実施形態では、較正エンジン205は、ヒューマンインタフェースモジュール102のディスプレイから現実世界オブジェクトを配置するために深さセットを決定する。較正エンジン205は、深さセットからの各深さにおけるユーザ入力に基づき較正を実行する。例えば、較正エンジン205は、ヒューマンインタフェースモジュール102のディスプレイから現実世界オブジェクトが配置される、短距離/深さ(0.5メートル又は2ジオプター)、中距離/深さ(2.75メートル又は0.3636ジオプター)、及び長距離/深さ(5メートル又は0.2ジオプター)において、較正手順を開始しても良い。一実施形態では、ヒューマンインタフェースモジュール102のディスプレイは、単一焦点面ディスプレイであり得る。別の実施形態では、ヒューマンインタフェースモジュール102のディスプレイは、複数焦点面ディスプレイであり得る。
幾つかの実施形態では、較正エンジン205は、ユーザの目からの現実世界オブジェクトの深さを決定する。一実施形態では、較正エンジン205は、関心のある現実世界オブジェクトを含む現実世界シーンのキャプチャされた画像、例えばシーン内で現実世界オブジェクトを識別する白黒パターンの基準マーカ等を受信する。較正エンジン205は、キャプチャされた画像の深さマップを決定する。深さマップは、ユーザの目の視点からの現実世界オブジェクトの表面の距離に関連する情報を有しても良い。例えば、現実世界シーン内の現実世界オブジェクトの位置(例えば、X1、Y1及びZ1)は、3次元座標系を用いて記述でき、同じ座標系で目の位置(例えば、X2、Y2及びZ2)が記述できる。Z値の原点がユーザの目にあり、座標系のZ軸がユーザの目と現実世界オブジェクトとの間を直接指す線に沿う場合、深さは、ユーザの目と現実世界オブジェクトとの間のZ軸に沿った距離(例えば、Z1−Z2)である。別の実施形態では、較正エンジン205は、ヒューマンインタフェースモジュール102に関連する深さセンサから、ユーザの目と現実世界オブジェクトとの間の距離の深さ値を受信するために結合される。深さセンサは、ヒューマンインタフェースモジュール102の部分又は別のシステム112の部分であっても良い。
幾つかの実施形態では、較正エンジン205は、現実世界オブジェクトがユーザにより知覚され得る深さセットからの各深さにおいて、ヒューマンインタフェースモジュール102のディスプレイに仮想オブジェクトをレンダリングするために較正を実行する。別の実施形態では、較正エンジン205は、現実世界オブジェクトの1又は複数の深さにおいてディスプレイに仮想オブジェクトをレンダリングするための較正を実行するために、ユーザ入力を受信する。現実世界オブジェクトは、ユーザにより物理距離測定ツールを用いて、ディスプレイから離れた異なる深さに配置されても良い。例えば、ユーザは、第1の短距離/深さ(0.5メートル又は2ジオプター)、第2の中距離/深さ(2.75メートル又は0.3636ジオプター)、及び第3の長距離/深さ(5メートル又は0.2ジオプター)のうちの各々1つに、ディスプレイから離して現実世界オブジェクトを配置しても良い。較正アプリケーション103、特に画像配信モジュール203及びユーザインタフェースモジュール207は、仮想オブジェクトを現実世界オブジェクトを含む画像シーンにオーバレイして、ヒューマンインタフェースモジュール102のディスプレイに表示させる仮想オブジェクトは、仮想オブジェクトが現実世界オブジェクトの知覚される深さに位置するように及びユーザ入力に基づき現実世界オブジェクトに関連するように見えるように、レンダリングされる。仮想オブジェクトは、現実世界オブジェクトを含む画像シーンにオーバレイ又は重ね合わされると考えられても良い。
一実施形態では、較正エンジン205は、ディスプレイからの現実世界オブジェクトの深さが与えられると、視差を決定するためにユーザ入力に基づき深さ−視差較正を実行する。通常の場合には、視差は、図10を参照して後述するように、基準点に対するオフセットとして定められる。以下の議論で基準点は通常、スクリーンの中央にあると想定されるが、他の実施形態では、基準点はスクリーンのどこにあっても良いことが理解されるべきである。例えば、視差は、両眼視差、網膜歪覚、全眼視差、左目の網膜視差、右目の網膜視差、スクリーン視差、全スクリーン視差、左目のスクリーン視差、右目のスクリーン視差、等を含む多数の異なる種類を有し得るが、これらに限定されない。これらの異なる種類の視差は、図10及び以下の説明を参照して良好に理解できる。ディスプレイのスクリーン視差は、例えば、ピクセル、サブピクセル、スクリーンサイズに対する比、視角、等で測定できる。一実施形態では、較正エンジン205は、特定のユーザについて深さパラメータとスクリーン視差パラメータとの間のマッピング関係を決定するために、1又は複数の深さにおいて深さ−視差較正を実行する。これは、仮想オブジェクトが知覚される仮想画像面が、現実世界オブジェクトの深さ/距離と異なる深さ/距離に存在し得るからである。ヒューマンインタフェースモジュール102のディスプレイを通じてユーザにより知覚されるとき現実世界オブジェクトに対してディスプレイ上の仮想オブジェクトを位置決めする技術は、深さパラメータとスクリーン視差パラメータとの間のマッピングに基づく。一実施形態では、仮想オブジェクトは、深さパラメータとスクリーン視差パラメータとの間のマッピングに基づき、仮想オブジェクトが現実世界オブジェクトの上にオーバレイされて見えるように、及びユーザの目が現実世界オブジェクトの深さに集中して仮想オブジェクトが現実世界オブジェクトに関連するように知覚するように、ディスプレイ上で位置決めされる。
図10を参照すると、深さと異なる視差パラメータとの間の関係が記載される。一実施形態では、ピンホールカメラを用いてモデル化される深さと異なる視差パラメータとの間の関係は、次式のように定式化できる。
Figure 0006609929
ここで、Zは現実世界オブジェクトの深さを示し、IPDは瞳孔間距離を示し、lは左目の目標又は基準点の網膜視差を示し、rは右目の目標又は基準点の網膜視差を示し、fは目の焦点長を示す。全眼視差がδ=l+rと定められる場合、次式が分かる。
Figure 0006609929
一実施形態では、両眼光透過ディスプレイの全スクリーン視差dは、d=L+Rとして定められる。ここで、Lは左目のスクリーン視差であり、Rは右目のスクリーン視差である。図10で、rが右目の網膜視差を示し、lが左目の網膜視差を示し、Wが(例えば、ピクセル数で)仮想画像面幅を示し、w及びwがそれぞれ左目網膜及び右目網膜の部分の幅を示し、両眼光学透過ディスプレイの視野(field of view:FoV)に対応する場合、両眼光学透過ディスプレイのこれらの要素の間の関係は、次式のように記述できる。
Figure 0006609929
Figure 0006609929
ピンホールカメラモデルの微分、
Figure 0006609929
から、両眼光学透視ディスプレイの全スクリーン視差は次式のように記述できる。
Figure 0006609929
ここで、
Figure 0006609929
は定数である。
一実施形態では、定数Cの値は、透視ディスプレイを介して人間の目の知覚される深さに影響を与える1又は複数の要素に基づき計算された値からの微分であっても良い。したがって、特定のユーザについてのマッピングを決定するために、ユーザ入力に基づき深さ−視差較正を提供することは有利である。
一実施形態では、較正エンジン205は、多数の深さ(例えば、試行)における深さ−視差較正のための較正データを受信し、深さパラメータと視差パラメータとの間の関係をマッピングする回帰アルゴリズムを適用する。例えば、較正エンジン205は、線形最小二乗回帰、一般最小二乗回帰、平均二乗誤差、等を用いて、較正データに対して分析を実行しても良い。一実施形態では、較正エンジン205は、深さと視差との間の線形であるマッピングを生成しても良い。例えば、較正エンジン205が較正データに線形回帰を適用するとき、マッピングは線形マッピングに対応する。一実施形態では、第1のユーザの較正データのマッピングの勾配は定数Cに対応しても良い。別の実施形態では、較正エンジン205は、次に、第2のユーザの瞳孔間距離を用いることにより、第2のユーザの定数Cの値を推定でき、それによりユーザ毎の較正を廃止する。
一実施形態では、較正エンジン205は、ユーザ入力に基づき2D位置較正を実行して、仮想オブジェクトが現実世界オブジェクトに重ね合わされて又は関連付けられてユーザの目に知覚され得るディスプレイ上のスクリーンピクセル座標を決定する。一実施形態では、較正エンジン205は、特定のユーザについて現実世界オブジェクトの3D座標と仮想オブジェクトが位置決めされ得るディスプレイ上の2Dスクリーンピクセル座標との間のマッピング関係を決定するために、1又は複数の深さで2D位置較正を実行する。一実施形態では、較正エンジン205は、深さセンサ(例えば、飛行時間、構造光、平面光カメラ、レーザ範囲探知器、等)を介して、又は伝統的なカメラを介して、現実世界シーン内の現実世界オブジェクトの3D座標を取得しても良い。幾つかの実施形態では、現実世界オブジェクトは、3D座標の精度を増大するために、検出可能特徴(例えば、白黒パターンの基準マーカ)を有しても良い。
一実施形態では、カメラとしてモデル化された人間の目についての、2Dスクリーンピクセル座標と3D現実世界オブジェクト座標との間の対応マッピングは、次式のように定式化できる。
Figure 0006609929
ここで
Figure 0006609929
である。
ここで、(X,Y,Z)は現実世界シーン内の3D現実世界オブジェクト点の座標であり、sはスケーリング係数であり、(u,v)はヒューマンインタフェースモジュール102のディスプレイ上でレンダリングされる仮想オブジェクトのピクセルスクリーン座標であり、(f,f)はピクセル単位で表現される目の(水平及び垂直)焦点長であり、(c,c)は画像中央にある主点又は基準点であり、[R|f]は3D点座標を2Dスクリーンピクセル座標に変換する結合回転−変換行列である。
一実施形態では、較正エンジン205は、多数の深さ(例えば、試行)における2D位置較正のための較正データを受信し、現実世界オブジェクトの3D座標とディスプレイ上の2Dスクリーンピクセル座標との間の関係をマッピングする回帰アルゴリズムを適用する。例えば、較正エンジン205は、Levenberg-Marquardt最適化アルゴリズム、Nelder-Mead最適化アルゴリズム、等を用いて較正データに対する分析を実行しても良い。
一実施形態では、較正エンジン205は、ユーザの対を成す目について、深さ−視差較正手順を実行する。ユーザの対を成す目についての深さ−視差較正は、ユーザの目からの変化する深さのセットのうちの第1の深さに配置される現実世界オブジェクトから開始する。一実施形態では、ユーザは、深さ−視差較正手順の間、現実世界オブジェクトに焦点を合わせる。
一実施形態では、較正エンジン205は、仮想オブジェクトが特定の両眼スクリーン視差値を有しディスプレイの立体視で表示されていることを確認するユーザ入力を受信する。較正エンジン205は、ディスプレイ上の仮想オブジェクトがユーザの融合立体視領域内に含まれるまで、仮想オブジェクトを移動するためのユーザ入力を受信し、ユーザ入力に基づきディスプレイ上の仮想オブジェクトを閲覧するための両眼スクリーン視差値を決定する。融合立体視領域は、ユーザの脳が2つの目により見える別個の画像を同じオブジェクトとして解釈し及びオブジェクトの深さを知覚する領域として定めることができる。この融合立体視領域は、Panum融合領域として表されても良い。両眼視差値が大きすぎる又は小さすぎるとき、ユーザは、脳が2つの目の中の別個の画像を融合できない複視を経験し得る。一実施形態では、較正エンジン205は、ユーザの融合立体視領域内で仮想オブジェクトを移動するために、ユーザ入力を受信する。仮想オブジェクトは、ディスプレイ上の融合立体視領域内で、現実世界オブジェクトに深さを揃えるように移動される。一実施形態では、較正エンジン205は、較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを決定する。較正が完了していないと決定された場合、較正エンジン205は、更なる較正のためにユーザ入力を受信し続ける。一実施形態では、較正エンジン205は、深さのセットからの他の深さについて深さ−視差較正手順を繰り返し、深さのセットの各深さについて集められた較正データ、両眼視差値をデータ記憶装置243に格納する。別の実施形態では、較正エンジン205は、深さのセットの各深さについて集められた較正データに基づき、深さと両眼スクリーン視差との間のマッピングを決定する。
別の実施形態では、較正エンジン205は、ユーザの別個の目を順次用いて、別個の目の深さ−視差較正手順を実行する。別個の目についての深さ−視差較正は、ユーザの目からの変化する深さのセットのうちの第1の深さに配置される現実世界オブジェクトから開始する。一実施形態では、較正エンジン205は、仮想オブジェクトが特定の視差値を有して表示されることを確認するユーザ入力を受信する。
一実施形態では、較正エンジン205は、ユーザの右目が閉じられ又は閉塞されている間にユーザの左目を用いて仮想オブジェクトの2Dスクリーン位置を現実世界オブジェクトに揃えるために、ディスプレイ上で仮想オブジェクトを移動させるために、ユーザ入力を受信する。一実施形態では、較正エンジン205は、左目を用いたユーザ入力に基づく2D位置調整が完了したか(例えば、仮想オブジェクトが現実世界オブジェクトに揃う)否かを決定する。左目の使用に基づく位置調整は、較正アプリケーション103により、又はユーザからの入力に基づき完了したと決定される。2D位置調整が完了していないと決定された場合、較正エンジン205は、2D位置調整が完了したと決定されるまで、又は較正アプリケーション103の時間制限閾に達するまで、更なる整列調整のためにユーザ入力を受信し続ける。別個の目の深さ−視差較正の第2の部分として、較正エンジン205は、ユーザの左目が閉じられ又は閉塞されている間にユーザの右目を用いて仮想オブジェクトを閲覧するスクリーン視差値を決定するために、第1の深さにあるディスプレイ上の仮想オブジェクトを移動するために、ユーザ入力を受信する。ユーザ入力は、閲覧者が両目で同じ画像を見るように、仮想目標のスクリーン視差を調整するために用いられる。一実施形態では、較正エンジン205は、右目を用いたユーザ入力に基づく視差調整が完了したか(例えば、2つの目により別個に見えるとき、仮想オブジェクトが現実世界オブジェクトに揃う)否かを決定する。位置調整と同様に、右目のみを用いる視差調整は、較正アプリケーション103により、又はユーザからの入力に基づき完了したと決定できる。較正アプリケーション103により又はユーザからの入力に基づき決定されたように、右目を用いるユーザ入力に基づく視差調整が完了した場合、較正エンジン205は、スクリーン視差を決定する。視差調整が完了していないと決定された場合、較正エンジン205は、視差調整が完了したと決定されるまで、又は較正アプリケーション103の時間制限閾に達するまで、更なる視差調整のためにユーザ入力を受信し続ける。一実施形態では、較正エンジン205は、深さのセットからの他の深さについて深さ−視差較正手順を繰り返し、深さのセットの各深さについて集められた較正データ、視差値をデータ記憶装置243に格納する。別の実施形態では、較正エンジン205は、深さのセットの各深さについて集められた較正データに基づき、深さとスクリーン視差との間のマッピングを決定する。上述の処理は左目を用いてスクリーン位置を決定し、右目を用いてスクリーン視差を決定するとして記載されたが、スクリーン位置は右目を用いて決定され、スクリーン視差は左目を用いて決定されても良いことが理解されるべきである。さらに、異なる目又はそれらの組み合わせは、スクリーン位置を決定するため及びスクリーン視差を決定するために異なる深さにおいて用いられ得る。したがって、同じ深さについての情報が後に対にされマッピングのために用いられる限り混合され得る本方法により想定される右、左及び深さに基づく種々の順序が存在する。
一実施形態では、較正エンジン205は、結合3D較正手順を実行する。結合3D較正手順は、以下を有しても良い。1)深さ−視差較正、及び2)3D位置較正、である。例えば、較正エンジン205は、ヒューマンインタフェースモジュール102のディスプレイ上で仮想オブジェクトを移動するためのユーザ入力を受信して、仮想オブジェクトをレンダリングするための視差を決定し、及び仮想オブジェクトが現実世界オブジェクトと位置及び深さにおいて揃うように、ディスプレイ上の仮想オブジェクトの2D位置を揃える。結合3D較正手順の2つの実施形態があることが理解されるべきである。第1の実施形態は、先ず深さ−視差較正を実行し、次に2D位置較正を実行する。2D位置較正の間に、第1の深さ−視差較正ステップからの較正された視差は、対応する深さにおいて仮想オブジェクトをレンダリングするために用いることができる。第2の実施形態は、2D位置較正及び深さ−視差較正を同時に一緒に実行する。ここに記載されない他の実施形態は、深さ−視差較正及び2D位置較正を異なる順序で実行しても良いことが理解されるべきである。
第1の実施形態では、較正エンジン205は、先ず深さ−視差較正を決定し、次に2D位置マッピング中に対応する深さにおいて仮想オブジェクトをレンダリングするために深さ−視差較正からの較正された視差を用いることにより、結合3D較正手順を実行する。結合3D較正手順の第1の実施形態は、ユーザの対を成す目を用いる。対を成す目についての結合3D較正は、ユーザの目からの変化する深さのセットのうちの第1の深さに配置される現実世界オブジェクトから開始する。一実施形態では、ユーザは、結合3D較正中、現実世界オブジェクトに焦点を合わせる。
結合3D較正手順の第1の実施形態では、較正エンジン205は、先ず、深さ視差を決定することにより、深さ−視差較正を実行する。次に、較正エンジン205は、深さ−視差較正からのマッピングされた視差を用いて、右の深さにおいて仮想目標をレンダリングする。次に、較正エンジン205は、ディスプレイ上で仮想オブジェクトを移動するためのユーザ入力を受信し、ディスプレイ上の仮想オブジェクトの2Dピクセル位置を現実世界オブジェクトに揃える。一実施形態では、較正エンジン205は、較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さ及び位置の揃った仮想オブジェクトが見える)否かを決定する。較正が完了した場合、視差値は、深さと共に格納され又は記録される。上述のように、較正は、較正アプリケーション103により又はユーザからの入力に基づき完了したと決定できる。較正が完了していないと決定された場合、較正エンジン205は、更なる較正のためにユーザ入力を受信し続ける。一実施形態では、較正エンジン205は、深さのセットからの他の深さについて結合3D較正手順を繰り返し、深さのセットの各深さについて集められた較正データをデータ記憶装置243に格納する。別の実施形態では、較正エンジン205は、深さと視差値との間の第1のマッピング、及び現実世界オブジェクトの3D座標とディスプレイ上の2Dスクリーンピクセル座標との間の第2のマッピングを、深さのセットの各深さについて集められた較正データに基づき決定する。
3D較正手順の第2の実施形態では、較正エンジン205は、2D位置較正及び深さ−視差較正を一緒に決定することにより、結合3D較正手順を実行する。この代替は、ユーザの別個の目を用いた結合3D較正手順として説明できる。別個の目についての結合3D較正は、ヒューマンインタフェースモジュール102からの変化する深さのセットのうちの第1の深さに配置される現実世界オブジェクトから開始する。本実施形態では、較正エンジン205は、ユーザの右目が閉じられ又は閉塞されている間に、ユーザの左目を用いて仮想オブジェクトの2Dスクリーンピクセル位置を現実世界オブジェクトに先ず揃えるために、ディスプレイ上で仮想オブジェクトを移動させるためのユーザ入力を受信する。次に、較正エンジン205は、ユーザの右目が閉じられ又は閉塞されている間に、ユーザの左目を用いてディスプレイ上の仮想オブジェクトをレンダリングするための視差値を決定するために、ディスプレイ上の仮想オブジェクトを第1の深さに移動するためのユーザ入力を受信する。一実施形態では、較正エンジン205は、左目を用いた較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さ及び位置の揃った仮想オブジェクトが見える)否かを決定する。上述のように、較正は、較正アプリケーション103により又はユーザからの入力に基づき完了したと決定できる。本方法及び他の方法では、較正が完了したか否かの決定は、単にユーザ入力のみに基づき決定できる。左目を用いる較正が完了していないと決定された場合、較正エンジン205は、左目を用いる較正が完了したと決定されるまで、又は較正アプリケーション103の時間制限閾に達するまで、更なる較正のためにユーザ入力を受信し続ける。上述のステップで左目について決定された較正情報は、後の使用のために格納できる。特に、左目データは、幾つかの実施形態では、以下に詳述するように2D較正回帰を実行するために用いられる。別個の目についての結合3D較正の第2の部分として、較正エンジン205は、ユーザの左目が閉じられ又は閉塞されている間に、ユーザの右目を用いて仮想オブジェクトの2Dスクリーンピクセル位置を現実世界オブジェクトに先ず揃えるために、ディスプレイ上で仮想オブジェクトを移動させるためのユーザ入力を受信する。次に、較正エンジン205は、ユーザの左目が閉じられ又は閉塞されている間に、ユーザの右目を用いてディスプレイ上の仮想オブジェクトをレンダリングするための視差値を決定するために、ディスプレイ上の仮想オブジェクトを第1の深さに移動するためのユーザ入力を受信する。一実施形態では、較正エンジン205は、右目を用いた較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さ及び位置の揃った仮想オブジェクトが見える)否かを決定する。上述のように、較正は、較正アプリケーション103により又はユーザからの入力に基づき完了したと決定できる。右目を用いる較正が完了していないと決定された場合、較正エンジン205は、左目を用いる較正が完了したと決定されるまで、又は較正アプリケーション103の時間制限閾に達するまで、更なる較正のためにユーザ入力を受信し続ける。上述のステップで右目について決定された較正情報は、後の使用のために格納できる。特に、右目データは、幾つかの実施形態では、以下に詳述するように3D較正回帰を実行するために用いられる。一実施形態では、較正エンジン205は、深さのセットからの他の深さについて3D較正手順を繰り返し、深さのセットの各深さについて集められた較正データをデータ記憶装置243に格納する。別の実施形態では、較正エンジン205は、深さと視差との間の第1のマッピング、及び現実世界オブジェクトの3D座標とディスプレイ上の2Dスクリーンピクセル座標との間の第2のマッピングを、深さのセットの各深さについて集められた較正データに基づき決定する。
一実施形態では、較正エンジン205は、ユーザ入力に基づきヒューマンインタフェースモジュール102のユーザインタフェース上で仮想目標を移動するための命令をユーザインタフェースエンジン207へ送信する。
ユーザインタフェースエンジン207は、ユーザインタフェースをユーザに提供するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、ユーザインタフェースエンジン207は、FPGA(field-programmable gate array)又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの実施形態では、ユーザインタフェースエンジン207は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、ユーザインタフェースエンジン207は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、ユーザインタフェースエンジン207は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、ユーザインタフェースエンジン207は、プロセッサ235、メモリ237及び較正アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
一実施形態では、ユーザインタフェースエンジン207は、画像配信モジュール203から命令を受信し、ヒューマンインタフェースモジュール102のディスプレイに仮想オブジェクト(又は仮想オブジェクトの画像)を描写するグラフィカルインタフェースを生成する。別の実施形態では、仮想オブジェクトを移動し及び整列を示すための較正入力を提供するヒューマンインタフェースモジュール102のユーザに応答して、ユーザインタフェースエンジン207は、画像配信モジュール203から仮想オブジェクトの現在位置を受信する。ユーザインタフェースエンジン207は、ユーザ較正入力に基づき、仮想オブジェクトを新しい位置へ移動するグラフィカルインタフェースを生成する。ユーザインタフェースエンジン207は、通信ユニット241を介してグラフィカルデータをヒューマンインタフェースモジュール102のディスプレイへ送信し、ディスプレイに仮想オブジェクトの移動及び整列を表示させる。
図3は、較正方法300の一実施形態を示すフロー図である。較正アプリケーション103は、制御部201、画像配信モジュール203、較正エンジン205及びユーザインタフェースエンジン207を有しても良い。302で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトの上にオーバレイすべき仮想オブジェクトを識別する。例えば、仮想オブジェクト(又は仮想オブジェクトの画像)は、十字形、円形の点、又は他の画像であり得る。別の例では、現実世界オブジェクトは、現実世界オブジェクトを識別する白黒パターンの基準マーカを有しても良い。本方法及び以下の他の方法で用いられるように、「仮想オブジェクトがヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトの上にオーバレイされる」とき、これは、通常、較正アプリケーション103が、ヒューマンインタフェースモジュール102のディスプレイで現実世界オブジェクトに対して位置決めされた仮想オブジェクトをレンダリングすることを表す。304で、較正エンジン205は、ディスプレイから1又は複数の深さにある現実世界オブジェクトを検出する。他の実施形態では、較正エンジン205は、深さセンサのような種々の外部センサから、又はユーザから、現実世界オブジェクトの深さを受信しても良い。一実施形態では、ディスプレイは、単一焦点面ディスプレイ又は複数焦点面ディスプレイであり得る。306で、各深さについて、較正エンジン205は、オーバレイするために仮想オブジェクトをレンダリングするために、ディスプレイを較正するためのユーザ入力を受信する。ユーザ入力は、例えばユーザインタフェースエンジン207を通じて受信されても良い。例えば、ディスプレイを較正するユーザ入力は、ヒューマンインタフェースモジュール102のディスプレイ上でレンダリングする仮想オブジェクトのサイズ、深さ及び位置を決定するために用いることができる。308で、較正エンジン205は、ディスプレイ上で、仮想オブジェクトを現実世界オブジェクトの上にオーバレイする。例えば、仮想オブジェクトは、ディスプレイ上で、現実世界オブジェクトの上に(又は特定の他の関係で)オーバレイされ、仮想オブジェクトを現実世界オブジェクトに関連付ける。理解されるべきことに、この処理ステップは、較正が完了するまで繰り返し及び反復的に実行されても良い。
図4は、深さ−視差較正方法400の一実施形態を示すフロー図である。較正アプリケーション103は、制御部201、画像配信モジュール203、較正エンジン205及びユーザインタフェースエンジン207を有しても良い。402で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。402で、較正エンジン205は、ディスプレイからの現実世界オブジェクトの深さのセットを決定する。種々の実施形態では、深さのセットは、1より多い任意の数であっても良い。上述のように、一実施形態は、3個の深さを含むセットを有する。他の実施形態では、較正エンジン205は、深さセンサのような種々の外部センサから、又はユーザから、現実世界オブジェクトの深さを受信しても良い。例えば、較正エンジン205は、現実世界オブジェクトのキャプチャされた画像から、深さマップを決定する。深さマップは、ヒューマンインタフェースモジュール102のディスプレイの視点からの現実世界オブジェクトの表面の距離に関連する情報を有しても良い。各深さについて、較正エンジン205は、406で較正のためにディスプレイ上で仮想オブジェクトを移動させるためのユーザ入力を受信し、408でユーザ入力に基づきディスプレイ上の仮想オブジェクトの視差を決定する。上述のように、視差は、スクリーンピクセル単位での基準点へのオフセットである。基準点は、通常、スクリーンの中心にあると想定されるが、他の実施形態ではスクリーン上のどこでも良い。ユーザ入力は、例えばユーザインタフェースエンジン207を通じて受信されても良い。例えば、視差は、両眼視差、又はユーザの左目及び右目により見えるオブジェクトポイント位置間のオフセットである。401で、較正エンジン205は、現実世界オブジェクトが知覚される深さにディスプレイ上の仮想オブジェクトを揃えるためのユーザ入力を受信する。412で、較正エンジン205は、較正データの収集が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを調べる。完了は、ユーザ入力のみ、較正アプリケーション103の信号、又は両者の組合せに基づき得る。較正データの収集が完了した場合、414で、較正エンジン205は、深さと視差との間のマッピングを決定する。例えば、較正エンジン205は、線形最小二乗回帰アルゴリズムを用いて較正データに対して分析を実行し、深さと視差との間のマッピングを決定しても良い。較正データの収集が完了していない場合、較正エンジン205は、406乃至410の処理を繰り返す。
図5は、対を成す目を用いる深さ−視差較正方法500の一実施形態を示すフロー図である。較正アプリケーション103は、制御部201、画像配信モジュール203、較正エンジン205及びユーザインタフェースエンジン207を有しても良い。502で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。504で、較正エンジン205は、ユーザの目から離して現実世界オブジェクトを配置するための深さのセットを決定する。例えば、現実世界オブジェクトの深さは、短距離/深さ(0.5メートル又は2ジオプター)、中距離/深さ(2.75メートル又は0.3636ジオプター)、及び長距離/深さ(5メートル又は0.2ジオプター)のうちの各々1つであり得る。506で、各深さについて、較正エンジン205は、仮想オブジェクトがユーザの融合立体視領域の範囲内に含まれるまでディスプレイ上の仮想オブジェクトを移動するためのユーザ入力を受信し、ユーザ入力に基づき仮想オブジェクトの視差を決定する。ユーザ入力は、例えばユーザインタフェースエンジン207を通じて受信されても良い。融合立体視領域は、ユーザの脳が2つの目により見える別個の画像を同じオブジェクトとして解釈し及びオブジェクトの深さを知覚する領域として定めることができる。この融合(単一の)立体視領域は、Panum融合領域として表されても良い。508で、各深さについて、較正エンジン205は、ディスプレイ上で現実世界オブジェクトに揃えるために、融合立体視領域の範囲内で仮想オブジェクトを移動するためのユーザ入力を受信する。510で、較正エンジン205は、較正データの収集が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを調べる。較正データの収集が完了した場合、512で、較正エンジン205は、深さと視差との間のマッピングを決定する。較正データの収集が完了していない場合、較正エンジン205は、506乃至508の処理を繰り返す。
図6は、「別個の目」を用いる深さ−視差較正方法600の一実施形態を示すフロー図である。較正アプリケーション103は、制御部201、画像配信モジュール203、較正エンジン205及びユーザインタフェースエンジン207を有しても良い。602で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。604で、較正エンジン205は、ユーザの目から離して現実世界オブジェクトを配置するための深さのセットを決定する。一実施形態では、現実世界オブジェクトは、ユーザにより物理距離測定ツールを用いて、ディスプレイから離れた異なる深さに配置されても良い。606で、各深さについて、較正エンジン205は、ユーザの左目を用いて、ディスプレイ上で仮想オブジェクトの2D位置を現実世界オブジェクトに揃えるために、仮想オブジェクトを移動するためのユーザ入力を受信する。ユーザ入力は、例えばユーザインタフェースエンジン207を通じて受信されても良い。608で、較正エンジン205は、整列較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを調べる。整列較正が完了していない場合、較正エンジン205は処理606を繰り返す。整列較正が完了した場合、610で、各深さについて、較正エンジン205は、ユーザの右目を用いて仮想オブジェクトのスクリーン視差値を決定するために、ディスプレイ上で仮想オブジェクトを移動するためのユーザ入力を受信する。言い換えると、右目は、スクリーン視差を調整するために、したがってユーザは両目で同じ画像が見えるように、仮想オブジェクトを移動するために用いられる。612で、較正エンジン205は、視差較正が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを調べる。視差較正が完了していない場合、較正エンジン205は処理610を繰り返す。視差較正が完了した場合、614で、較正エンジン205は、ユーザについて深さと視差との間のマッピングを決定する。
図7は、結合3D較正の一般的方法700の一実施形態を示すフロー図である。702で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。704で、較正エンジン205は、ユーザの目からの現実世界オブジェクトの深さのセットを決定する。例えば、現実世界オブジェクトの深さは、現実世界オブジェクトの基準マーカを検出し、及びヒューマンインタフェースモジュール102のディスプレイからの基準マーカの距離を決定することにより、決定されても良い。別の例では、現実世界オブジェクトの深さは、ヒューマンインタフェースモジュール102に関連付けられた深さセンサを用いることにより、決定されても良い。706で、各深さについて、較正エンジン205は、2D位置を揃えるために仮想オブジェクトを移動するためのユーザ入力を受信し、ディスプレイ上の仮想オブジェクトの視差を決定し、仮想オブジェクトが深さにおいて現実世界オブジェクトに揃えられるようにする。708で、較正エンジン205は、較正データの収集が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを決定する。較正データの収集が完了していない場合、較正エンジン205は処理706を繰り返す。較正データの収集が完了した場合、較正エンジン205は、710で深さと視差との間のマッピングを決定し、712で3D現実世界オブジェクトの点座標と2Dディスプレイスクリーン座標との間のマッピングを決定する。例えば、現実世界オブジェクトの3D座標は、現実世界オブジェクトに関連付けられた白黒パターンの基準マーカから検出可能であっても良い。
図8は、対を成す目を用いる結合3D較正方法800の一実施形態を示すフロー図である。較正アプリケーション103は、画像配信モジュール203及び較正エンジン205を有しても良い。802で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。804で、較正エンジン205は、ユーザの目から離して現実世界オブジェクトを配置するための深さのセットを決定する。例えば、較正エンジン205は、短距離/深さ(0.5メートル又は2ジオプター)、中距離/深さ(2.75メートル又は0.3636ジオプター)、及び長距離/深さ(5メートル又は0.2ジオプター)を決定する。806で、各深さについて、較正エンジン205は、深さ較正を実行し、深さ視差マッピングを決定する。808で、各深さについて、ブロック806の深さ視差マッピングを用い、ユーザの融合立体視領域内の深さにおいて、ディスプレイ上で仮想オブジェクトをレンダリングする。融合立体視領域内では、ユーザの脳は2つの目により見える別個の画像を同じオブジェクトとして解釈し、オブジェクトの深さを知覚する。810で、各深さについて、較正エンジン205は、現実世界オブジェクトにユーザの目からの深さを揃えるために、融合立体視領域の範囲内で仮想オブジェクトを移動するためのユーザ入力を受信する。812で、較正エンジン205は、較正データの収集が完了したか(例えば、ユーザは現実世界オブジェクトと深さの揃った仮想オブジェクトが見える)否かを調べる。較正データの収集が完了していない場合、較正エンジン205は、808乃至810の処理を繰り返す。較正データの収集が完了した場合、814で、較正エンジン205は、ユーザについて深さと視差との間のマッピングを決定し、816で、較正エンジン205は、現実世界オブジェクトの3D座標とディスプレイ上の仮想オブジェクトの2D座標との間のマッピングを決定する。
図9A及び9Bは、別個の目を用いる結合3D較正方法900の一実施形態を示すフロー図である。902で、画像配信モジュール203は、ヒューマンインタフェースモジュール102のディスプレイ上で現実世界オブジェクトにオーバレイし及びそれと揃えられるべき仮想オブジェクトをレンダリングする。本例では、方法は、基準点が任意の選択された点であるとする。904で、較正エンジン205は、ユーザの目からの現実世界オブジェクトを配置するための深さのセットを決定する。906で、各深さについて、較正エンジン205は、深さ−視差を決定し、(例えば、ユーザの右目が閉じられ又は閉塞されている間に)ユーザの左目を用いて決定された深さ−視差に対応する深さにおいて仮想オブジェクトをレンダリングする。908で、各深さについて、較正エンジン205は、左目スクリーン視差を決定するために、ユーザの左目を用いて、ディスプレイ上で仮想オブジェクを現実世界オブジェクトに揃えるために、ユーザ入力を受信する。図10に示すように、ユーザの左目により見える仮想オブジェクトの2D位置と基準スクリーン点の位置との間の距離は、左スクリーン視差Lに等しい。例えば、視差は、ピクセル、サブピクセル、スクリーンサイズに対する比、視角、等で調整され及び測定できる。これは、本方法900で左目スクリーン視差として参照されるものを生成する。910で、較正エンジン205は、較正データの収集が完了したか(例えば、仮想オブジェクトが現実世界オブジェクトと揃っているか)否かを調べる。左目を用いた較正データの収集が完了していない場合、較正エンジン205は、906乃至908の処理を繰り返す。左目を用いた較正データの収集が完了した場合、912で、各深さについて、較正エンジン205は、深さ−視差を決定し、(例えば、ユーザの左目が閉じられ又は閉塞されている間に)ユーザの右目を用いて決定された深さ−視差に対応する深さにおいて仮想オブジェクトをレンダリングする。914で、各深さについて、較正エンジン205は、ユーザの右目を用いてディスプレイ上で仮想オブジェクを現実世界オブジェクトに揃えるためのユーザ入力を受信し、本方法900の右目視差を生成する。図10に示すように、ユーザの右目により見える仮想オブジェクトの2D位置と基準スクリーン点の位置との間の距離は、右スクリーン視差Rに等しい。916で、較正エンジン205は、右目を用いた較正データの収集が完了したか(例えば、各目を通じて別個に見たとき仮想オブジェクトが現実世界オブジェクトと揃っているか)否かを調べる。右目を用いた較正データの収集が完了していない場合、較正エンジン205は、912乃至914の処理を繰り返す。右目を用いた較正データの収集が完了した場合、918で、較正エンジン205は、深さとユーザの全スクリーン視差との間のマッピングを決定する。左目スクリーン視差と右目スクリーン視差との組合せは、全スクリーン視差を決定する。例えば、図10の配置では、全視差は、左及び右視差の和L+Rである。別の基準点では、仮想オブジェクト画像の位置に依存してL−Rであり得る。920で、現実世界オブジェクトの3D座標とディスプレイ上の仮想オブジェクトの2D座標との間のマッピングを決定する。幾つかの実施形態では、方法900は、左目及び右目データに種々の回帰アルゴリズムを適用する。例えば、異なる種類の回帰アルゴリズムは、深さ−視差データ又は2D−3D点対応データに適用できる。さらに、留意すべきことに、上述の実施形態では、基準点は任意の選択された点である。しかしながら、他の実施形態では、基準点は、例えば左目で仮想オブジェクト2D位置であるよう選択されても良い。このような場合には、上述の方法は、左目で2D位置較正を実行し(例えば、左視差はゼロである)、次に右目について右視差決定を実行する。これは、この場合に右目視差と等しい全視差を生成する。
両眼光透過拡張現実ディスプレイを較正するシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも1つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが便利であることが分かっている。
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理(電子)量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
技術は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、CD−ROM及び磁気ディスクを含む任意の種類のディスク、ROM(read-only memory)、RAM(random access memory)、EPROM、EEPROM、磁気若しくは光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されないコンピュータ可読記憶媒体に格納されても良い。
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されても良い。
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であっても良い。
プログラムコードを格納し及び/又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも1つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない)は、直接に又は介入するI/O制御部を通じてシステムに結合され得る。
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されても良い。モデム、ケーブルモデム及びEthernet(登録商標)カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられても良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、以下の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられても良い。
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び/又はフォーマットを有しても良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び/又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
[関連出願の参照]
本願は、米国仮特許出願番号第61/933178、2014年1月29日出願、名称「Binocular Optical See-Through System and Associated Calibration Procedure」の35U.S.C.§119に基づく優先権を主張する。該米国仮特許出願は、参照することによりその全体がここに組み込まれる。
100 システム
102 ヒューマンインタフェースモジュール
103 較正アプリケーション
104 計算及び通信モジュール
106 ネットワーク
108 バックエンドサービスサーバ
110 位置決めシステム
112 他のシステム
200 コンピューティング装置
201 制御部
203 画像配信モジュール
205 較正エンジン
207 ユーザインタフェースエンジン
220 バス
235 プロセッサ
237 メモリ
241 通信ユニット
243 データ記憶装置

Claims (18)

  1. 1又は複数のプロセッサにより、ヒューマンインタフェースモジュールのディスプレイで、現実世界オブジェクトに対して位置決めされた仮想オブジェクトをレンダリングするステップと、
    ユーザの目と前記現実世界オブジェクトとの間の第1の深さを決定するステップと、
    前記1又は複数のプロセッサにより、前記ユーザの前記目と前記現実世界オブジェクトとの間の前記第1の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるためのユーザ入力を受信するステップであって、前記ユーザ入力は、前記ユーザの左目により、前記仮想オブジェクトの2次元位置を前記ディスプレイ上の前記現実世界オブジェクトに揃えるための第1の部分と、前記ユーザの右目を用いてスクリーン視差を調整するための第2の部分と、を有する、ステップと、
    前記1又は複数のプロセッサにより、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記ユーザ入力に基づき、前記第1の深さの視差を決定するステップと、
    前記1又は複数のプロセッサにより、前記ユーザ入力の前記第1の部分及び前記第2の部分に基づき、前記第1の深さと前記視差との間のマッピングを決定するステップと、
    を有するコンピュータが実施する方法。
  2. 前記第1の深さは、前記ユーザ入力、センサから受信した深さ、及び前記ヒューマンインタフェースモジュールによる入力の処理、を有するグループからの1つに基づく、請求項1に記載の方法。
  3. マッピングを決定する前記ステップの後に、前記方法は、
    前記ユーザの前記目と前記現実世界オブジェクトとの間の第2の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための第2のユーザ入力を受信するステップと、
    前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記第2のユーザ入力に基づき、前記第2の深さの第2の視差を決定するステップと、
    前記第2の深さと前記視差との間の第2のマッピングを決定するステップと、
    を有する請求項1に記載の方法。
  4. 第2のマッピングを決定する前記ステップの後に、前記方法は、
    前記ユーザの前記目と前記現実世界オブジェクトとの間の第3の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための第3のユーザ入力を受信するステップと、
    前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記第3のユーザ入力に基づき、前記第3の深さの第3の視差を決定するステップと、
    前記第2の深さと前記視差との間の第3のマッピングを決定するステップと、
    を有し、
    前記第1の深さは近距離であり、前記第2の深さは中距離であり、前記第3の深さは長距離である、請求項3に記載の方法。
  5. マッピングを決定する前記ステップの後に、前記方法は、
    前記深さと前記視差との間の前記マッピングに基づき勾配値が線形であると決定するステップを更に有し、前記勾配値は定数である、請求項1に記載の方法。
  6. ユーザ入力を受信する前記ステップの後に、前記方法は、
    前記受信したユーザ入力に応答して、前記仮想オブジェクトが前記ユーザの融合立体視領域の範囲内に含まれるまで、前記ディスプレイ上で前記仮想オブジェクトを移動するステップと、
    前記受信したユーザ入力に応答して、前記融合立体視領域の範囲内の知覚される深さにおいて、前記ディスプレイ上の前記仮想オブジェクトを前記現実世界オブジェクトに揃えるステップと、
    を更に有し、
    前記第1の深さの前記視差を決定するステップは、前記ユーザの前記融合立体視領域の範囲内で前記仮想オブジェクトを移動し及び揃えるための前記ユーザ入力に基づく、請求項1に記載の方法。
  7. ユーザ入力を受信する前記ステップの後に、前記方法は、
    ユーザ入力の前記第1の部分に応答して、前記仮想オブジェクトが前記現実世界オブジェクトに2次元位置が揃うまで、前記ディスプレイ上で前記仮想オブジェクトを移動するステップと、
    ユーザ入力の前記第2の部分に応答して、両目で同じ画像が見えるように、スクリーン視差を調整するために前記仮想オブジェクトを移動するステップと、
    を更に有する、請求項1に記載の方法。
  8. レンダリングする前記ステップは、
    深さ較正を実行し、深さ視差マッピングを決定するステップと、
    前記決定した深さ視差マッピングを用いて、ある深さにおいて前記ディスプレイ上で前記仮想オブジェクトをレンダリングするステップと、
    を更に有し、
    ユーザ入力を受信する前記ステップの後に、前記方法は、
    前記受信したユーザ入力に応答して、前記融合立体視領域の範囲内の前記知覚される深さにおいて、前記ディスプレイ上の前記仮想オブジェクトを前記現実世界オブジェクトに揃えるステップと、
    前記深さと前記視差との間の前記マッピングから正しい深さを決定するステップと、
    前記正しい深さに基づき、前記現実世界オブジェクトの3次元点座標と前記ディスプレイ上の前記仮想オブジェクトの2次元ピクセル座標との間のマッピングを決定するステップと、
    を更に有する請求項6に記載の方法。
  9. 前記第1の深さの前記視差を決定するステップは、第1の目の較正データを決定し及び第2の目の較正データを決定するステップを有し、
    前記第1の深さと前記視差との間の前記マッピングを決定するステップは、前記第1の目の較正データを用いて2D較正回帰を実行し及び前記第2の目の較正データを用いて3D較正回帰を実行するステップを有する、
    請求項1に記載の方法。
  10. プログラムであって、プロセッサに、 ヒューマンインタフェースモジュールのディスプレイで、現実世界オブジェクトに対して位置決めされた仮想オブジェクトをレンダリングするステップと、
    ユーザの目と前記現実世界オブジェクトとの間の第1の深さを決定するステップと、
    前記ユーザの前記目と前記現実世界オブジェクトとの間の前記第1の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるためのユーザ入力を受信するステップであって、前記ユーザ入力は、前記ユーザの左目により、前記仮想オブジェクトの2次元位置を前記ディスプレイ上の前記現実世界オブジェクトに揃えるための第1の部分と、前記ユーザの右目を用いてスクリーン視差を調整するための第2の部分と、を有する、ステップと、
    前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記ユーザ入力に基づき、前記第1の深さの視差を決定するステップと、
    前記ユーザ入力の前記第1の部分及び前記第2の部分に基づき、前記第1の深さと前記視差との間のマッピングを決定するステップと、
    を実行させる、プログラム
  11. 前記第1の深さは、前記ユーザ入力、センサから受信した深さ、及び前記ヒューマンインタフェースモジュールによる入力の処理、を有するグループからの1つに基づく、請求項10に記載のプログラム
  12. 前記プロセッサに、マッピングを決定する前記ステップの後に、
    前記ユーザの前記目と前記現実世界オブジェクトとの間の第2の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための第2のユーザ入力を受信するステップと、
    前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記第2のユーザ入力に基づき、前記第2の深さの第2の視差を決定するステップと、
    前記第2の深さと前記視差との間の第2のマッピングを決定するステップと、
    を更に実行させる、請求項10に記載のプログラム
  13. 前記プロセッサに、第2のマッピングを決定する前記ステップの後に、
    前記ユーザの前記目と前記現実世界オブジェクトとの間の第3の深さにおいて、前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための第3のユーザ入力を受信するステップと、
    前記仮想オブジェクトを前記現実世界オブジェクトに揃えるための前記第3のユーザ入力に基づき、前記第3の深さの第3の視差を決定するステップと、
    前記第2の深さと前記視差との間の第3のマッピングを決定するステップと、
    を更に実行させ、
    前記第1の深さは近距離であり、前記第2の深さは中距離であり、前記第3の深さは長距離である、請求項12に記載のプログラム
  14. 前記プロセッサに、マッピングを決定する前記ステップの後に、前記深さと前記視差との間の前記マッピングが線形であることに基づき勾配値を決定するステップを更に実行させ、前記勾配値は定数である、請求項10に記載のプログラム
  15. 前記プロセッサに、ユーザ入力を受信する前記ステップの後に、
    前記受信したユーザ入力に応答して、前記仮想オブジェクトが前記ユーザの融合立体視領域の範囲内に含まれるまで、前記ディスプレイ上で前記仮想オブジェクトを移動するステップと、
    前記受信したユーザ入力に応答して、前記融合立体視領域の範囲内の知覚される深さにおいて、前記ディスプレイ上の前記仮想オブジェクトを前記現実世界オブジェクトに揃えるステップと、
    を更に実行させ、
    前記第1の深さの前記視差の決定は、前記ユーザの前記融合立体視領域の範囲内で前記仮想オブジェクトを移動し及び揃えるための前記ユーザ入力に基づく、請求項10に記載のプログラム
  16. 前記プロセッサに、ユーザ入力を受信する前記ステップの後に、
    ユーザ入力の前記第1の部分に応答して、前記仮想オブジェクトが前記現実世界オブジェクトに2次元位置が揃うまで、前記ディスプレイ上で前記仮想オブジェクトを移動するステップと、
    ユーザ入力の前記第2の部分に応答して、両目で同じ画像が見えるように、スクリーン視差を調整するために前記仮想オブジェクトを移動するステップと、
    を更に実行させる、請求項10に記載のプログラム
  17. レンダリングする前記ステップは、
    深さ較正を実行し、深さ視差マッピングを決定するステップと、
    前記決定した深さ視差マッピングを用いて、ある深さにおいて前記ディスプレイ上で前記仮想オブジェクトをレンダリングするステップと、
    を更に有し、
    前記プロセッサに、ユーザ入力を受信する前記ステップの後に、
    前記受信したユーザ入力に応答して、前記融合立体視領域の範囲内の前記知覚される深さにおいて、前記ディスプレイ上の前記仮想オブジェクトを前記現実世界オブジェクトに揃えるステップと、
    前記深さと前記視差との間の前記マッピングから正しい深さを決定するステップと、
    前記正しい深さに基づき、前記現実世界オブジェクトの3次元点座標と前記ディスプレイ上の前記仮想オブジェクトの2次元ピクセル座標との間のマッピングを決定するステップと、
    を更に実行させる、請求項15に記載のプログラム
  18. 前記第1の深さの前記視差を決定するステップは、第1の目の較正データを決定し及び第2の目の較正データを決定するステップを有し、
    前記第1の深さと前記視差との間の前記マッピングを決定するステップは、前記第1の目の較正データを用いた2D較正回帰の実行、及び前記第2の目の較正データを用いた3D較正回帰を実行するステップを有する、
    請求項10に記載のプログラム
JP2015014180A 2014-01-29 2015-01-28 両眼光学拡張現実システムの深さ−視差較正 Active JP6609929B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461933178P 2014-01-29 2014-01-29
US61/933,178 2014-01-29
US14/296,396 2014-06-04
US14/296,396 US9405122B2 (en) 2014-01-29 2014-06-04 Depth-disparity calibration of a binocular optical augmented reality system

Publications (2)

Publication Number Publication Date
JP2015141418A JP2015141418A (ja) 2015-08-03
JP6609929B2 true JP6609929B2 (ja) 2019-11-27

Family

ID=53679532

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015014180A Active JP6609929B2 (ja) 2014-01-29 2015-01-28 両眼光学拡張現実システムの深さ−視差較正
JP2015014181A Active JP6531404B2 (ja) 2014-01-29 2015-01-28 両眼光学拡張現実システムの範囲較正

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015014181A Active JP6531404B2 (ja) 2014-01-29 2015-01-28 両眼光学拡張現実システムの範囲較正

Country Status (2)

Country Link
US (2) US9804395B2 (ja)
JP (2) JP6609929B2 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489765B2 (en) * 2013-11-18 2016-11-08 Nant Holdings Ip, Llc Silhouette-based object and texture alignment, systems and methods
US9804395B2 (en) * 2014-01-29 2017-10-31 Ricoh Co., Ltd Range calibration of a binocular optical augmented reality system
US10198865B2 (en) * 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling
US20160116740A1 (en) * 2014-10-24 2016-04-28 Seiko Epson Corporation Display device, control method for display device, display system, and computer program
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
CA2979560C (en) 2015-03-05 2023-11-07 Magic Leap, Inc. Systems and methods for augmented reality
US10180734B2 (en) 2015-03-05 2019-01-15 Magic Leap, Inc. Systems and methods for augmented reality
CN104765156B (zh) * 2015-04-22 2017-11-21 京东方科技集团股份有限公司 一种三维显示装置和三维显示方法
WO2016202762A1 (en) * 2015-06-15 2016-12-22 Essilor International (Compagnie Générale d'Optique) Method for calibrating a binocular displaying device
US10192133B2 (en) 2015-06-22 2019-01-29 Seiko Epson Corporation Marker, method of detecting position and pose of marker, and computer program
US10484824B1 (en) * 2015-06-26 2019-11-19 Lucasfilm Entertainment Company Ltd. Content presentation and layering across multiple devices
US10192361B2 (en) 2015-07-06 2019-01-29 Seiko Epson Corporation Head-mounted display device and computer program
WO2017034860A1 (en) 2015-08-21 2017-03-02 Magic Leap, Inc. Eyelid shape estimation using eye pose measurement
US10559130B2 (en) * 2015-08-31 2020-02-11 Microsoft Technology Licensing, Llc Displaying image data behind surfaces
IL297610B2 (en) 2015-10-16 2023-11-01 Magic Leap Inc Eye position detection using eye features
CA3004278C (en) * 2015-11-04 2024-04-09 Magic Leap, Inc. Light field display metrology
US10347048B2 (en) 2015-12-02 2019-07-09 Seiko Epson Corporation Controlling a display of a head-mounted display device
CN108604383A (zh) 2015-12-04 2018-09-28 奇跃公司 重新定位系统和方法
CN105654476B (zh) * 2015-12-25 2019-03-08 江南大学 基于混沌粒子群优化算法的双目标定方法
CN105653032B (zh) * 2015-12-29 2019-02-19 小米科技有限责任公司 显示调整方法及装置
US10218793B2 (en) * 2016-06-13 2019-02-26 Disney Enterprises, Inc. System and method for rendering views of a virtual space
US10212414B2 (en) 2016-08-01 2019-02-19 Microsoft Technology Licensing, Llc Dynamic realignment of stereoscopic digital consent
KR102626821B1 (ko) * 2016-08-02 2024-01-18 매직 립, 인코포레이티드 고정-거리 가상 및 증강 현실 시스템들 및 방법들
US10425636B2 (en) 2016-10-03 2019-09-24 Microsoft Technology Licensing, Llc Automatic detection and correction of binocular misalignment in a display device
CN109863747A (zh) * 2016-10-28 2019-06-07 三菱电机株式会社 显示控制装置及显示控制方法
EP3555865B1 (en) 2016-12-13 2024-09-18 Magic Leap, Inc. 3d object rendering using detected features
CN106843677A (zh) * 2016-12-29 2017-06-13 华勤通讯技术有限公司 一种虚拟现实vr眼镜的图像显示方法、设备和终端
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
CN110402425B (zh) 2017-03-17 2024-01-09 奇跃公司 具有彩色虚拟内容扭曲的混合现实系统及使用该系统生成虚拟内容的方法
JP7009495B2 (ja) 2017-03-17 2022-01-25 マジック リープ, インコーポレイテッド 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
CN110431599B (zh) 2017-03-17 2022-04-12 奇跃公司 具有虚拟内容扭曲的混合现实系统及使用该系统生成虚拟内容的方法
WO2018191312A1 (en) * 2017-04-11 2018-10-18 Dolby Laboratories Licensing Corporation Layered augmented entertainment experiences
GB2566744B (en) * 2017-09-26 2021-03-03 Sony Interactive Entertainment Inc Head-mountable display system
US10553031B2 (en) 2017-12-06 2020-02-04 Microsoft Technology Licensing, Llc Digital project file presentation
JP2021509482A (ja) * 2018-01-02 2021-03-25 ルムス エルティーディー. アクティブアライメントを備えた拡張現実ディスプレイおよび対応する方法
US11893755B2 (en) 2018-01-19 2024-02-06 Interdigital Vc Holdings, Inc. Multi-focal planes with varying positions
CN110120098B (zh) * 2018-02-05 2023-10-13 浙江商汤科技开发有限公司 场景尺度估计及增强现实控制方法、装置和电子设备
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
EP4266113A3 (en) 2018-03-23 2023-12-27 InterDigital VC Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
US10546431B2 (en) * 2018-03-29 2020-01-28 Disney Enterprises, Inc. Systems and methods to augment an appearance of physical object for an augmented reality experience
CN108830894B (zh) * 2018-06-19 2020-01-17 亮风台(上海)信息科技有限公司 基于增强现实的远程指导方法、装置、终端和存储介质
CN112585963B (zh) 2018-07-05 2024-04-09 Pcms控股公司 用于2d显示器上的内容的3d感知的近眼焦平面覆盖层的方法和系统
US10943521B2 (en) 2018-07-23 2021-03-09 Magic Leap, Inc. Intra-field sub code timing in field sequential displays
WO2020023383A1 (en) 2018-07-23 2020-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
EP3599539B1 (en) 2018-07-26 2023-08-23 Nokia Technologies Oy Rendering objects in virtual views
CN109343578B (zh) * 2018-11-16 2020-05-19 北京理工大学 一种基于视觉反馈的tdi-ccd相机双目视觉系统视场对齐方法
KR20200090315A (ko) * 2019-01-18 2020-07-29 삼성전자주식회사 영상을 처리하는 방법 및 디바이스
JP6943913B2 (ja) * 2019-03-18 2021-10-06 Necプラットフォームズ株式会社 情報表示システムおよびウェアラブルデバイス
SG10201902889VA (en) * 2019-03-29 2020-10-29 Nec Corp System and Method for Adaptively Constructing a Three-Dimensional Facial Model Based on Two or More Inputs of a Two- Dimensional Facial Image
US11024096B2 (en) 2019-04-29 2021-06-01 The Board Of Trustees Of The Leland Stanford Junior University 3D-perceptually accurate manual alignment of virtual content with the real world with an augmented reality device
CN110197510B (zh) * 2019-06-05 2021-08-17 广州极飞科技股份有限公司 双目相机的标定方法、装置、无人机和存储介质
CN111028281B (zh) * 2019-10-22 2022-10-18 清华大学 基于光场双目系统的深度信息计算方法及装置
CN111751988B (zh) * 2020-06-16 2023-03-28 深圳珑璟光电科技有限公司 一种景深调节方法、装置及双目近眼显示设备
CN112581542B (zh) * 2020-12-24 2024-07-19 阿波罗智联(北京)科技有限公司 自动驾驶单目标定算法的评估方法、装置及设备
CN112967348A (zh) * 2021-04-01 2021-06-15 深圳大学 基于一维扫描结构光系统的三维重建方法及其相关组件
WO2023003558A1 (en) * 2021-07-22 2023-01-26 Innopeak Technology, Inc. Interactive stereoscopic display calibration
CN113592956B (zh) * 2021-07-30 2023-12-19 武汉精测电子集团股份有限公司 一种基于显微检测机台的多镜头联合标定方法和装置
WO2023049086A2 (en) * 2021-09-22 2023-03-30 Veyezer, Llc Holographic real space refractive system
US11961258B2 (en) 2022-01-26 2024-04-16 Industrial Technology Research Institute Calibration method for optical see-through display and calibration system
GB2612663B (en) * 2022-05-17 2023-12-20 Envisics Ltd Head-up display calibration
TWI812566B (zh) * 2022-12-28 2023-08-11 宏碁股份有限公司 立體影像深度調整方法與裝置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175616A (en) * 1989-08-04 1992-12-29 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defence Of Canada Stereoscopic video-graphic coordinate specification system
US20020105484A1 (en) * 2000-09-25 2002-08-08 Nassir Navab System and method for calibrating a monocular optical see-through head-mounted display system for augmented reality
US6753828B2 (en) * 2000-09-25 2004-06-22 Siemens Corporated Research, Inc. System and method for calibrating a stereo optical see-through head-mounted display system for augmented reality
JP2004221700A (ja) * 2003-01-09 2004-08-05 Sanyo Electric Co Ltd 立体画像処理方法および装置
WO2010019926A1 (en) * 2008-08-14 2010-02-18 Real D Stereoscopic depth mapping
US9182596B2 (en) * 2010-02-28 2015-11-10 Microsoft Technology Licensing, Llc See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light
JP5525924B2 (ja) * 2010-06-14 2014-06-18 任天堂株式会社 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2013235374A (ja) * 2012-05-08 2013-11-21 Sony Corp 画像処理装置、投影制御方法及びプログラム
US9804395B2 (en) * 2014-01-29 2017-10-31 Ricoh Co., Ltd Range calibration of a binocular optical augmented reality system

Also Published As

Publication number Publication date
JP2015142383A (ja) 2015-08-03
US20150215611A1 (en) 2015-07-30
US20150213648A1 (en) 2015-07-30
US9405122B2 (en) 2016-08-02
JP2015141418A (ja) 2015-08-03
US9804395B2 (en) 2017-10-31
JP6531404B2 (ja) 2019-06-19

Similar Documents

Publication Publication Date Title
JP6609929B2 (ja) 両眼光学拡張現実システムの深さ−視差較正
US20220366598A1 (en) Calibration system and method to align a 3d virtual scene and a 3d real world for a stereoscopic head-mounted display
AU2015265416B2 (en) Method and system for image georegistration
US9961335B2 (en) Pickup of objects in three-dimensional display
US20230269358A1 (en) Methods and systems for multiple access to a single hardware data stream
JP5966510B2 (ja) 情報処理システム
KR20160121798A (ko) 직접적인 기하학적 모델링이 행해지는 hmd 보정
CN114945853A (zh) 用于头戴式显示系统中的变形的补偿
WO2016191043A1 (en) Calibration of an optical see-through head mounted display
JP2011128220A (ja) 情報提示装置、情報提示方法及びプログラム
CN109117684A (zh) 用于在双目增强现实设备上选择性扫描的系统和方法
US20200242335A1 (en) Information processing apparatus, information processing method, and recording medium
US20190236847A1 (en) Method and system for aligning digital display of images on augmented reality glasses with physical surrounds
WO2022005698A1 (en) Visual-inertial tracking using rolling shutter cameras
JP2015060071A (ja) 画像表示装置、画像表示方法、および画像表示プログラム
US10931938B2 (en) Method and system for stereoscopic simulation of a performance of a head-up display (HUD)
CN110864673A (zh) 信息显示方法及其显示系统
JP2024019662A (ja) 角検出のための方法および装置
TW202125401A (zh) 資訊顯示方法及其處理裝置與顯示系統
KR20240112293A (ko) 모노 비주얼 추적 시스템에서의 카메라 고유 재교정
US20140285484A1 (en) System of providing stereoscopic image to multiple users and method thereof
Orlosky Depth based interaction and field of view manipulation for augmented reality
US10634920B2 (en) System and method for recording and representing measurement points on a body surface
Levin et al. Some aspects of the geospatial reality perception in human stereopsis-based defense display systems
JP2024040034A (ja) プロセッサ、画像処理装置、眼鏡型情報表示装置、画像処理方法、及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R151 Written notification of patent or utility model registration

Ref document number: 6609929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151