特許第6240963号(P6240963)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル・コーポレーションの特許一覧

特許6240963運動視差を用いた、2D画像からの3D知覚の生成
<>
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000002
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000003
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000004
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000005
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000006
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000007
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000008
  • 特許6240963-運動視差を用いた、2D画像からの3D知覚の生成 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6240963
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】運動視差を用いた、2D画像からの3D知覚の生成
(51)【国際特許分類】
   H04N 13/04 20060101AFI20171127BHJP
   G09G 5/00 20060101ALI20171127BHJP
   G09G 5/36 20060101ALI20171127BHJP
   G09G 5/377 20060101ALI20171127BHJP
   H04N 13/00 20060101ALI20171127BHJP
   H04N 13/02 20060101ALI20171127BHJP
【FI】
   H04N13/04 770
   G09G5/00 510H
   G09G5/00 550C
   G09G5/00 550X
   G09G5/00 555D
   G09G5/36 510C
   G09G5/36 510V
   G09G5/36 520L
   H04N13/00 140
   H04N13/00 550
   H04N13/00 660
   H04N13/02 820
【請求項の数】16
【全頁数】18
(21)【出願番号】特願2014-529661(P2014-529661)
(86)(22)【出願日】2011年9月12日
(65)【公表番号】特表2014-534656(P2014-534656A)
(43)【公表日】2014年12月18日
(86)【国際出願番号】US2011051197
(87)【国際公開番号】WO2013039470
(87)【国際公開日】20130321
【審査請求日】2014年4月23日
【審判番号】不服2016-11000(P2016-11000/J1)
【審判請求日】2016年7月21日
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】サン、ウェイ
(72)【発明者】
【氏名】デル パスクア、キーラン
【合議体】
【審判長】 清水 正一
【審判官】 小池 正彦
【審判官】 篠原 功一
(56)【参考文献】
【文献】 特開2010−72477(JP,A)
【文献】 特開2007−19666(JP,A)
【文献】 特開2000−215311(JP,A)
【文献】 特開平2−251708(JP,A)
【文献】 特開平8−14861(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N13/00-15/00
H04N 5/66
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
シーンの視差視認を提供する方法であって、
シーンの2つ以上の2次元画像(2D画像)を受信することと、
前記2つ以上の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定することと、
ディスプレイに対する第1のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示することと、
を含み、
前記2つ以上の2D画像は、前記シーンの中央をキャプチャした高解像度カラー画像、および前記シーンの周辺をキャプチャした、前記高解像度カラー画像よりも低い解像度の広視野カラー画像を含む、方法。
【請求項2】
前記ディスプレイに対して、前記第1のユーザー視認角とは異なる第2のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示することと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記ディスプレイに対する前記第1のユーザー視認角を決定することは、前向きカメラ、マウス、キーボード又はタッチスクリーンのユーザー制御のうちの少なくとも1つを用いて、前記ディスプレイに対するユーザーの向きを決定することを含む、請求項1又は2に記載の方法。
【請求項4】
前記シーンに関連付けられた3D情報を決定することは、前記2つ以上の2D画像を用いて立体再構成を実行することを含む、請求項1からの何れか1項に記載の方法。
【請求項5】
前記3D情報に対応するメタデータを記憶することを更に含む、請求項1からの何れか1項に記載の方法。
【請求項6】
前記第1の生成された画像を提示することは、前記3D情報及び前記第1のユーザー視認角に少なくとも部分的に応じて、前記第1の生成された画像を合成することを含む、請求項1からの何れか1項に記載の方法。
【請求項7】
前記3D情報は、前記シーンの3D座標又は前記2つ以上の2D画像に関連付けられたカメラ姿勢情報のうちの少なくとも一方を含む、請求項に記載の方法。
【請求項8】
前記2つ以上の2D画像は、2つ以上の撮像デバイスによってキャプチャされた画像を含む、請求項1からの何れか1項に記載の方法。
【請求項9】
シーンの視差視認を提供するシステムであって、
プロセッサと、該プロセッサに結合されたディスプレイとを備え、該プロセッサは、
シーンの2つ以上の2次元画像(2D画像)を受信し、
前記2つ以上の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定し、
前記ディスプレイに対する第1のユーザー視認角を決定し、
少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示し、
前記2つ以上の2D画像は、前記シーンの中央をキャプチャした高解像度カラー画像、および前記シーンの周辺をキャプチャした、前記高解像度カラー画像よりも低い解像度の広視野カラー画像を含む、システム。
【請求項10】
前記プロセッサは更に、
前記ディスプレイに対して、前記第1のユーザー視認角とは異なる第2のユーザー視認角を決定し、
少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示する請求項に記載のシステム。
【請求項11】
前記ディスプレイに対する前記第1のユーザー視認角を決定することは、前向きカメラ、マウス、キーボード又はタッチスクリーンのユーザー制御のうちの少なくとも1つを用いて、前記ディスプレイに対するユーザーの向きを決定することを含む、請求項9又は10に記載のシステム。
【請求項12】
前記シーンに関連付けられた前記3D情報を決定することは、前記2つ以上の2D画像を用いて立体再構成を実行することを含む、請求項9又は10に記載のシステム。
【請求項13】
シーンの視差視認を提供するデバイスであって、
シーンの2つ以上の2次元画像(2D画像)を受信し、該2つ以上の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定し、ディスプレイに対する第1のユーザー視認角を決定し、少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示する手段を備え、
前記2つ以上の2D画像は、前記シーンの中央をキャプチャした高解像度カラー画像、および前記シーンの周辺をキャプチャした、前記高解像度カラー画像よりも低い解像度の広視野カラー画像を含む、デバイス。
【請求項14】
前記手段は更に、前記ディスプレイに対して、前記第1のユーザー視認角と異なる第2のユーザー視認角を決定し、少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示する請求項13に記載のデバイス。
【請求項15】
前記ディスプレイに対する前記第1のユーザー視認角を決定することは、前向きカメラ、マウス、キーボード又はタッチスクリーンのユーザー制御のうちの少なくとも1つを用いて、前記ディスプレイに対するユーザーの向きを決定することを含む、請求項13又は14に記載のデバイス。
【請求項16】
前記シーンに関連付けられた前記3D情報を決定することは、前記2つ以上の2D画像を用いて立体再構成を実行することを含む、請求項13又は14に記載のデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
立体表示デバイス、シャトル眼鏡、偏光眼鏡等の特別な視認デバイスを必要とすることなく、ユーザーの視点から3Dシーンの3D知覚を提供するものに、運動視差視認技法がある。ユーザーの体験は、鏡の中のシーン又は窓を通したシーンを見ることと等価であるので、運動視差の視認は、一般に特別な視認デバイスを用いることに関連した眼精疲労等の影響を引き起こすおそれがない。今日まで、運動視差の効果は、コンピューターグラフィックスによって生成された3D仮想コンテンツを視認することにのみ用いられてきており、カメラによってキャプチャされた2D写真コンテンツ及び/又は2Dビデオコンテンツを視認することには用いられていなかった。運動視差の効果を2D写真及び2Dビデオを視認することに用いることは、画像キャプチャ中及び/又は画像キャプチャ後に、実生活のシーンから3D情報を抽出することを伴う。
【0002】
本明細書において説明される内容は、添付した図において、限定としてではなく例として示されている。説明を簡単かつ明瞭にするために、図に示した要素は、必ずしも一律の縮尺で描かれているものではない。例えば、幾つかの要素の寸法は、明瞭にするために、他の要素に比べて誇張されている場合がある。さらに、適切と考えられる場合には、対応する要素又は類似の要素を示すのに、参照符号が図の間で繰り返されている。
【図面の簡単な説明】
【0003】
図1】一例示の視差視認システムの説明図である。
図2】一例示の視差視認システムの説明図である。
図3】一例示の視差視認プロセスを示す図である。
図4】一例示のカメラ視点の説明図である。
図5】一例示の視差視認方式を示す図である。
図6】一例示の視差視認プロセスを示す図である。
図7】一例示のシステムの説明図である。
図8】本開示の少なくとも幾つかの実施態様に従って全て配列された一例示の視差視認プロセスを示す図である。
【発明を実施するための形態】
【0004】
ここでは、同封された図を参照して1つ又は複数の実施形態又は実施態様を説明する。特定の構成及び装置が議論されるが、これは、例示の目的でのみなされていることが理解されるべきである。当業者であれば、この説明の趣旨及び範囲から逸脱することなく他の構成及び装置を用いることができることを認識するであろう。本明細書において説明する技法及び/又は装置は、本明細書において説明するもの以外の他の様々なシステム及びアプリケーションにおいても用いることができることが当業者には明らかであろう。
【0005】
以下の説明は、例えば、システムオンチップ(SoC)アーキテクチャ等のアーキテクチャにおいて顕在化させることができる様々な実施態様を記載しているが、本明細書において説明する技法及び/又は装置の実施態様は、特定のアーキテクチャ及び/又はコンピューティングシステムに制限されるものではなく、同様の目的の任意のアーキテクチャ及び/又はコンピューティングシステムによって実施することができる。例えば複数の集積回路(IC)チップ及び/又はパッケージを用いる、例えば様々なアーキテクチャ、及び/又はセットトップボックス、スマートフォン等の様々なコンピューティングデバイス及び/又は消費家電(CE)デバイスが、本明細書において説明する技法及び/又は装置を実施することができる。さらに、以下の説明は、ロジックの実施態様、システム構成要素、ロジックの分割/統合の選択肢等のタイプ及び相互関係等の多数の特定の詳細を記載している場合があるが、特許請求される主題は、そのような特定の詳細がなくても実施することができる。それ以外の場合に、例えば、制御構造及び全ソフトウェア命令シーケンス等の幾つかの内容は、本明細書に開示する内容を分かりにくくしないように詳細に示されていない場合がある。
【0006】
本明細書に開示する内容は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせで実施することができる。本明細書に開示する内容は、1つ又は複数のプロセッサが読み出して実行することができる機械可読媒体上に記憶された命令として実施することもできる。機械可読媒体は、機械(例えば、コンピューティングデバイス)によって可読な形式で情報を記憶又は送信するための任意の媒体及び/又はメカニズムを含むことができる。例えば、機械可読媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気的形態、光学的形態、音響的形態又は他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号等)等を含むことができる。
【0007】
本明細書において「1つの実施態様」、「一実施態様」、「一例示の実施態様」等というとき、これは、説明される実施態様が、特定の特徴、構造又は特性を含む場合があるが、あらゆる実施態様が、その特定の特徴、構造又は特性を必ずしも含むとは限らないことを示す。その上、そのようなフレーズは、必ずしも同じ実施態様を指しているとは限らない。さらに、特定の特徴、構造又は特性が一実施態様に関して説明されているとき、本明細書において明示的に説明されているか否かを問わず、他の実施態様に関してもそのような特徴、構造又は特性が有効であることが当業者には知られていると考えられる。
【0008】
図1は、本開示による一例示の運動視差視認システム100を示している。様々な実施態様では、システム100は、2次元(2D)ビデオ画像の形式のソース画像107を提供するビデオ対応カメラ等の撮像デバイス102を備えることができる。様々な実施態様では、撮像デバイス102は、デジタル形式の2Dビデオ画像107を提供することができるビデオ対応スマートフォン等の任意のタイプのデバイスとすることができる。ソース画像107は、任意の解像度及び/又はアスペクト比を有することができる。ソース画像107は、撮像デバイス102にローカルに記憶することもできるし、ネットワーク104を通じて送信することもできる。ネットワーク104は、任意のタイプのネットワークとすることができ、無線及び/又は有線のネットワーク技術の任意の組み合わせを含むことができる。例えば、非限定的な例において、ネットワーク104は、インターネット等のワイドエリアネットワーク(WAN)と組み合わさった1つ又は複数の無線ローカルエリアネットワーク(LAN)(例えば、3D環境103にサービス提供する)を含むことができる。
【0009】
図1に示すように、ビデオ画像107をキャプチャするとき、シーン105に対して水平なカメラ102の動きによって、シーン105に対する様々な向き又は視角を有するキャプチャされたビデオソース画像107を生成することができる。様々な実施態様では、シーン105に対してカメラ102を水平に移動させるのに任意の手法を用いることができる。例えば、ビデオモードにある間、カメラ102をマニュアルで(例えば、手によって)移動させて、異なる視角を有するソース画像107を取得することができる。他の実施態様では、カメラ102は、異なる視角を有するソース画像107を自動的に取得することができる。例えば、ソース画像107を取得するために、ユーザーはシャッター制御に一度携わるだけでよくカメラをマニュアルで移動させる必要がないように、カメラ102は、任意の内部機械式制御方式を用いて、異なる視角を有するソース画像107を自動的に取得するレンズ/撮像システムを組み込むことができる。
【0010】
システム100は、運動視差視認エンジン106、データベース108及びディスプレイエンジン110も備え、これらは全て、互いに直接又はネットワーク104を介して通信結合されている。様々な実施態様では、以下でより詳細に説明するように、視差視認エンジン106は、ネットワーク104を介してソース画像107を受信することができ、それらの画像に対して様々なプロセスを実行して、様々な画像に関連付けられた視角等の3D情報を取得することができる。視差視認エンジン106は、ソース画像107に関連付けられた3D情報をデータベース108に記憶することができる。様々な実施態様では、以下でより詳細に説明するように、ディスプレイエンジン110は、ソース画像107及び関連付けられた3D情報を撮像デバイス102から直接又はネットワーク104を介して受信することができ、様々なプロセスを行って、ディスプレイ112に対するユーザーの視認角に依存したディスプレイ112上に提示される画像を提供することができる。
【0011】
図2は、本開示による別の例示の視差視認システム200を示している。様々な実施態様では、システム200は、シーン105のそれぞれの2Dソース画像206及び208をネットワーク104に提供する少なくとも2つの撮像デバイス(例えば、カメラ)202及び204を備えることができる。様々な実施態様では、デバイス202及び204は、デジタル形式の2D画像をネットワーク104に提供することができるスマートフォン等の任意のタイプのデバイスとすることができる。ソース画像206及び208は、任意の解像度及び/又はアスペクト比を有することができる。様々な実施態様では、デバイス202及び204は、既知の技法を用いて較正することができる(例えば、H. Malm及びA. Heyden「Simplified Intrinsic Camera Calibration and Hand-Eye Coordination for Robot Vision」(Proceedings of the 2003 IEEE/RSJ Intl. Conference on Intelligent Robots and Systems (October, 2003))参照)。
【0012】
図2に示すように、撮像デバイス202及び204は、互いに離間し、シーン105に対して対応する向き又は視角Θ及びΘを有する。その結果、それぞれの画像206及び208は、異なる視角Θ及びΘに従った異なる視点からシーン105をキャプチャすることができる。様々な実施態様では、撮像デバイス202と204との間の距離x、すなわちベースラインは、撮像デバイス202及び204とシーン105との間の深度すなわち距離dに依存する場合がある。例えば、非限定的な例では、撮像デバイス202及び204とシーン105との間の深度dが約2メートルである場合、撮像デバイス202と204との間の約10センチメートルのベースラインによって、以下でより詳細に説明するような立体再構成技法に適したシーン105の異なる視点を有する画像206及び208を提供することができる。
【0013】
様々な実施態様では、2つの撮像デバイス202及び204は、同様のデバイスとすることができる。例えば、幾つかの実施態様では、デバイス202及び204は、同様の高解像度カラーカメラとすることができる。更に他の実施態様では、デバイス202及び204は、構造化光カメラ又は飛行時間カメラ等の同様のカラー深度カメラとすることができる。別の更なる実施態様では、2つの撮像デバイス202及び204は、異種のデバイスとすることができる。例えば、幾つかの実施態様では、デバイス202は、高解像度カラーカメラとすることができる一方、デバイス204は、例えば、魚眼レンズを装備した広視野カメラとすることができる。
【0014】
システム200は、視差視認エンジン106、データベース108及びディスプレイエンジン110も備え、これらは全てネットワーク104に通信結合されているとともに、ネットワーク104を介して互いに通信結合されている。様々な実施態様では、以下で更に詳細に説明するように、視差視認エンジン106は、ネットワーク104を介してソース画像206及び208を受信することができ、それらの画像に対して立体再構成等の様々なプロセスを実行して、シーン105に関連付けられた3D情報を取得することができる。視差視認エンジン106は、この3D情報をデータベース108に記憶することができる。様々な実施態様では、以下でより詳細に説明するように、ディスプレイエンジン110は、ネットワーク104を介してこの3D情報を受信することができ、様々なプロセスを行って、ディスプレイ112に対するユーザーの視認角に依存したシーン105の合成画像を提供することができる。
【0015】
図1及び図2は、エンジン106及び110並びにデータベース108を、互いに別個のものとして示しているが、本開示は、そのような配置に限定されるものではない。例えば、幾つかの実施態様では、エンジン106及び110及び/又はデータベース108は、サーバー等の単一のデバイス又はコンピューティングシステムによって提供することができる。さらに、幾つかの実施態様では、例えば、システム100において、視認エンジン106及びカメラ102は、スマートフォン等の単一のデバイス又はコンピューティングシステムに含めることができる。また、更に他の実施態様では、システム200は、2つのみの撮像デバイス202及び204ではなく、3つ以上の視角からシーン105の複数の画像を同時にキャプチャすることができるように互いに水平方向に離間する複数の画像キャプチャデバイス(例えば、カメラ素子)を備えることができる。上記は、システム100及び200の項目のほんの数例の配置にすぎず、本開示と矛盾しない多数の他の配置又は実施態様が可能である。
【0016】
図3は、本開示の様々な実施態様による一例示の視差視認プロセス300の流れ図を示している。プロセス300は、図3のブロック302、304、306、308、310、312及び314のうちの1つ又は複数によって示されているような1つ又は複数の動作、機能又は行為を含むことができる。非限定的な例として、プロセス300は、本明細書では、図1の例示のシステム100に関して説明される。
【0017】
プロセス300は、複数のソースビデオ画像301を受信することができるブロック302において開始することができる。例えば、システム100を参照すると、ブロック302は、視差視認エンジン106がネットワーク104を介してソース画像107を受信することを含むことができる。幾つかの実施態様では、ソース画像は、ブロック302においてデータベース108から受信することができる。
【0018】
次に、ブロック304において、ソース画像の視角を決定することができる。様々な実施態様では、ブロック304は、視差視認エンジン106が既知の技法(例えば、M. Goesele他「Multi-View Stereo for Community Photo Collections」(IEEE 11th International Conference on Computer Vision (2007))参照)を用いて、ブロック302において受信された各画像の視角を決定することを含むことができる。例えば、図4は、シーン105の中心点406及び関連付けられた中心軸407に対するソース画像の幾つかのカメラ視点402〜405の単純化した例示の略図面400を示している。略図面400に示すように、ブロック304は、視点402の視角408、視点403の視角410等を決定することを含むことができる。様々な実施態様では、視角408及び410等の軸407の左側の視角は、負の値の視角として指定することができる一方、視点405の視角412等の軸407の右側の視角は、正の値の視角として指定することができる。
【0019】
プロセス300の議論に戻ると、ブロック304において決定された視角は、対応するソース画像に関連付けられたメタデータとして記憶することができる(ブロック306)。例えば、様々な実施態様では、視差視認エンジン106は、ブロック304において視角を決定すると、視角メタデータがデータベース108内の対応するソース画像に関連付けられようにこの視角メタデータをデータベース108に記憶することによって、ブロック306を行うことができる。
【0020】
ブロック308において、ユーザー視認角を決定することができる。様々な実施態様では、ブロック308は、前向きカメラ及び関連付けられたロジック等のディスプレイに関連付けられたメカニズムが、当該ディスプレイに対するユーザーの角度を決定することを含むことができる。ここで、ディスプレイは、シーン105の画像をユーザーに提示するのに用いられる。例えば、図5は、システム100及び200のディスプレイ112を含む単純化した例示の略図面500を示している。ディスプレイ112は、前向きカメラ502と、既知の技法を用いてユーザーの顔及び/又は頭部を検出することができ、それによって、ユーザーの視認角Θuserを決定することができる関連付けられたロジック(図示せず)とを備える。ユーザー視認角Θuserは、顔/頭部認識技法を用いて確立された、ユーザーの視点506に関連付けられたユーザーの視線504と、ディスプレイ112の中心軸508との間の角度差として決定することができる。様々な実施態様では、システム100のディスプレイエンジン110は、ブロック308を行うことができる。さらに、中心軸508の右側のユーザー視認角は、正の値を有するように指定することができる一方、中心軸508の左側の角度は、負の値として指定することができる。
【0021】
プロセス300の議論に戻ると、ユーザー視認角に最も近い視角を有する最もよく一致したソース画像を決定することができる(ブロック310)。様々な実施態様では、ブロック308は、ディスプレイエンジン110が、ブロック306からの結果の視角メタデータにアクセスし、対応する視角をブロック308において決定されたユーザー視認角と比較して、ユーザー視認角に値が最も近い画像視角に対応する最もよく一致したソース画像を決定することを含むことができる。ブロック310を行う際に、ディスプレイエンジン110は、データベース108に記憶された視角メタデータにアクセスすることができる。
【0022】
ブロック312において、最もよく一致したソース画像を表示することができる。例えば、ディスプレイエンジン110は、ブロック310において、最もよく一致したソース画像を決定すると、そのソース画像をディスプレイ112上に提示することができる。ブロック312を行う際に、ディスプレイエンジン110は、対応するソース画像をデータベース108から取り出すことができる。
【0023】
ブロック314において、ユーザー視認角が変化したか否かに関する判断を行うことができる。例えば、図5も参照すると、ブロック314は、ユーザーがディスプレイ112に対して移動したため、ユーザーは現在、新たなユーザーの視点510に位置していると判断することを含むことができる。その結果、プロセス300は、ブロック308に戻ることができ、このブロック308において、上述したものと同様の方法で、新たなユーザー視認角Θuserを決定することができる。その後、ブロック310及び312を再び行って、上述したものと同様の方法で、新たな最もよく一致したソース画像を決定し、その新たな最もよく一致したソース画像を表示することができる。新たなユーザー視点が、新たな最もよく一致したソース画像を得るほど十分に変化していないと判断された場合、プロセス300は、ブロック312に戻って、現在の最もよく一致したソース画像の表示を継続することができる。このように、プロセス300は、ユーザ操作可能な(user-steerable)3D知覚又は視認体験を提供することができる。
【0024】
ブロック308は、上述したように、前向きカメラを用いてユーザー視認角を決定するが、本開示は、ユーザー視認角を決定するための特定の方法に限定されるものではない。例えば、ユーザー視認角を決定するのに用いることができる他の技法は、よく知られたマウス、キーボード、及び/又はタッチスクリーンのユーザー制御技法を用いることを含む。例えば、ユーザー視認角を決定することは、タッチスクリーンコンピューティングシステムとのユーザーのインターラクションの結果として行うことができる。例えば、ユーザー視認角は、ユーザーがタッチスクリーン上の特定のロケーションをタッチすることによって示すことができる。さらに、ユーザーがスクリーンをタッチし、次いで、その指を特定の方向にスライドすること等が、ユーザー視認角の変化を示すことができる。
【0025】
図6は、本開示の様々な実施態様による一例示の視差視認プロセス600の流れ図を示している。プロセス600は、図6のブロック602、604、606、608、610、612及び614のうちの1つ又は複数によって示されるような1つ又は複数の動作、機能又は行為を含むことができる。非限定的な例として、プロセス600は、本明細書では、図2の例示のシステム200に関して説明される。
【0026】
プロセス600は、少なくとも一対のソース画像を受信することができるブロック602において開始することができる。例えば、システム200を参照すると、ブロック602は、視差視認エンジン106が、ネットワーク104を介して第1のソース画像206及び第2のソース画像208を受信することを含むことができる。幾つかの実施態様では、ソース画像は、ブロック602においてデータベース108から受信することができる。
【0027】
図2の議論において上述したように、撮像デバイス202及び204は、同様のデバイスとすることができ、したがって、ソース画像206及び208も、同様のものとすることができる。例えば、デバイス202及び204が同様の高解像度カラーカメラである実施態様では、ソース画像206及び208は、同様のデータフォーマット、解像度及びアスペクト比を有する高解像度カラー画像とすることができる。デバイス202及び204が構造化光カメラ又は飛行時間カメラ等の同様のカラー深度カメラである更に他の実施態様では、ソース画像206及び208は、同様のデータフォーマット(深度データを含む)、解像度及びアスペクト比を有する高解像度カラー画像とすることができる。
【0028】
上記とは対照的に、撮像デバイス202及び204が異種のものである実施態様では、ソース画像206及び208も、同様に異種のものとすることができる。例えば、デバイス202が高解像度カラーカメラであり、デバイス204が広視野カメラである実施態様では、ソース画像206は、高解像度カラー画像とすることができる一方、ソース画像208は、それよりも低い解像度の広視野カラー画像とすることができる。そのような実施態様では、画像206及び208は、同様のアスペクト比を有することができるが、シーン105の異なる部分又は側面をキャプチャすることができる。例えば、画像206は、シーン105の視野の中央における高解像度の視覚的詳細を提供する高解像度カラー画像とすることができる一方、魚眼画像208は、シーン105のそれよりも低い解像度の周辺視野を提供することができる。
【0029】
ブロック604において、ソース画像を解析して、シーン105の3D情報を取得することができる。ソース画像が同様の較正された撮像デバイスから取得される様々な実施態様では、ブロック604は、シーン105の3D情報を抽出することと、既知の立体再構成技法(例えば、Seitz他「A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms」(In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (2006))参照)を用いてソース画像間の回転及び平行移動等のカメラの動きを推定することとを含むことができる。様々な実施態様では、ブロック604において生成されて、ブロック602において受信されたソース画像に関連付けられた3D情報は、(例えば、シーンのワールド座標系におけるシーン特徴点についての)シーンの3D座標、及び2つのソース画像に関連付けられたカメラ姿勢情報を含むことができる。
【0030】
ブロック604を行う際に、2つのソース画像206及び208のカメラ視角を、左端基準視角及び右端基準視角として用いることができる。例えば、ソース画像がカラー深度撮像デバイスから取得される幾つかの実施態様、又は撮像デバイス間のベースラインがシーンの信頼できる立体再構成を妨げるほど十分大きい実施態様では、テクスチャレスシーンからの3D情報の抽出を援助するのにソース画像内の深度データを用いることもできる。ブロック606において、3D情報は、ソース画像に関連付けられたメタデータとして記憶することができる。例えば、3D情報は、システム200のデータベース108にメタデータとして記憶することができる。様々な実施態様では、プロセス600のブロック602〜606は、視差視認エンジン106が行うことができる。
【0031】
ブロック608において、ユーザー視認角を決定することができる。例えば、ブロック608は、プロセス300のブロック308に関して本明細書において説明したものと同様の方法で行うことができる。ブロック308に関して前述したように、ユーザー視認角は、ディスプレイ112上の前向きカメラを用いて、又はマウス、キーボード、タッチスクリーン等のユーザー操作に応答して決定することができる。
【0032】
ブロック610において、ブロック604において決定された3D情報及びブロック608において決定されたユーザー視認角に少なくとも部分的に基づいて、画像を合成することができる。様々な実施態様では、ブロック610は、3D情報を投影する既知の技法を用いて、ディスプレイ112に対するユーザーの視認角に対応する視点を有するシーン105の画像を生成することを含むことができる。次に、ブロック612において、結果の合成画像を表示することができる。例えば、この合成画像は、ディスプレイ112上にレンダリング又は提示することができる。
【0033】
ブロック614において、ユーザー視認角が変化したか否かに関する判断を行うことができる。例えば、図5を再び参照すると、ブロック614は、ユーザーがディスプレイ112に対して移動したため、ユーザーは現在、新たなユーザーの視点510に位置していると判断することを含むことができる。その結果、プロセス600は、ブロック608に戻ることができ、このブロック608において、上述したものと同様の方法で、新たなユーザー視認角Θuserを決定することができる。その後、ブロック610及び612を再び行って、上述したものと同様の方法で、新たなユーザー視認角に対応する視点を有するシーン105の新たな画像を合成することができる。新たなユーザー視点が十分に変化していないと判断された場合、プロセス600は、ブロック612に戻って、現在の合成画像表示を継続することができる。このように、プロセス600は、ユーザ操作可能な3D知覚又は視認体験を提供することができる。様々な実施態様では、プロセス600のブロック608〜614は、ディスプレイエンジン110が行うことができる。
【0034】
図3及び図6に示すような例示のプロセス300及び600の実施態様は、示された順序で図示した全てのブロックを行うことを含むことができるが、本開示は、この点に限定されるものではなく、様々な例では、プロセス300及び600の実施態様は、図示した全てのブロックのサブセットのみを行うこと、及び/又は示したものとは異なる順序で行うことを含むことができる。さらに、プロセス300及び/又は600の一部は、異なる連結で行うことができる。例えば、図3のブロック302〜306又は図6のブロック602〜606は、視差視認エンジン106が行うことができ、それらの行為の結果は、データベース108に記憶することができる。その後になって(例えば、数日後、数週間後又は数ヵ月後)、ディスプレイエンジン110は、図3のブロック308〜314又は図6のブロック608〜614を行うことができる。
【0035】
加えて、図3及び図6のプロセス及び/又はブロックのうちの任意の1つ又は複数は、1つ又は複数のコンピュータープログラム製品によって提供される命令に応答して行うことができる。そのようなプログラム製品は、例えば、1つ又は複数のプロセッサコアによって実行されると、本明細書において説明した機能を提供することができる命令を提供する信号担持媒体を含むことができる。コンピュータープログラム製品は、任意の形式のコンピューター可読媒体において提供することができる。したがって、例えば、1つ又は複数のプロセッサコアを含むプロセッサは、コンピューター可読媒体によってプロセッサに搬送される命令に応答して、図3及び図6に示すブロックのうちの1つ又は複数を行うことができる。
【0036】
図7は、本開示による一例示のシステム700を示している。システム700は、本明細書において議論した様々な機能の一部又は全てを実行するのに用いることができ、本開示の様々な実施態様による視差視認を実施することができる任意のデバイス又はデバイスの集合体を備えることができる。例えば、システム700は、デスクトップ、移動コンピューター又はタブレットコンピューター、スマートフォン、セットトップボックス等のコンピューティングプラットフォーム又はデバイスの選択された構成要素を含むことができるが、本開示は、この点に限定されるものではない。幾つかの実施態様では、システム700は、CEデバイス用のIntel(登録商標)アーキテクチャ(IA)に基づくコンピューティングプラットフォーム又はSoCとすることができる。本明細書において説明した実施態様は、本開示の範囲から逸脱することなく、代替の処理システムとともに用いることができることが当業者によって容易に認識されるであろう。
【0037】
システム700は、1つ又は複数のプロセッサコア704を有するプロセッサ702を備える。プロセッサコア704は、少なくとも部分的にソフトウェアを実行し及び/又はデータ信号を処理することができる任意のタイプのプロセッサロジックとすることができる。様々な例では、プロセッサコア704は、CISCプロセッサコア、RISCマイクロプロセッサコア、VLIWマイクロプロセッサコア、及び/又は命令セットの任意の組み合わせを実装する任意の数のプロセッサコア、又はデジタル信号プロセッサ若しくはマイクロコントローラー等の他の任意のプロセッサデバイスを含むことができる。
【0038】
プロセッサ702は、例えば、ディスプレイプロセッサ708及び/又はグラフィックスプロセッサ710によって受信された命令を制御信号及び/又はマイクロコードエントリー点にデコードするのに用いることができるデコーダー706も備える。コア(複数の場合もある)704とは別個の構成要素としてシステム700に示されているが、当業者であれば、コア(複数の場合もある)704のうちの1つ又は複数が、デコーダー706、ディスプレイプロセッサ708、及び/又はグラフィックスプロセッサ710を実施することができることを認識することができる。幾つかの実施態様では、プロセッサ702は、図3及び図6に関して説明した例示のプロセスを含む、本明細書において説明したプロセスのうちの任意のものを行うように構成することができる。さらに、制御信号及び/又はマイクロコードエントリー点に応答して、デコーダー706、ディスプレイプロセッサ708、及び/又はグラフィックスプロセッサ710は、対応する動作を実行することができる。
【0039】
処理コア(複数の場合もある)704、デコーダー706、ディスプレイプロセッサ708、及び/又はグラフィックスプロセッサ710は、システム相互接続716を通じて互いに及び/又は様々な他のシステムデバイスと通信可能に及び/又は動作可能に結合することができる。これらの様々な他のシステムデバイスは、例えば、メモリコントローラー714、オーディオコントローラー718、及び/又は周辺装置720を含むことができるが、これらに限定されるものではない。周辺装置720は、例えば、統一シリアルバス(USB:unified serial bus)ホストポート、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレスポート、シリアル周辺インターフェース(SPI)インターフェース、拡張バス、及び/又は他の周辺装置を含むことができる。図7は、相互接続716によってデコーダー706並びにプロセッサ708及び710に結合されたものとしてメモリコントローラー714を示しているが、様々な実施態様では、メモリコントローラー714は、デコーダー706、ディスプレイプロセッサ708、及び/又はグラフィックスプロセッサ710に直接結合することができる。
【0040】
幾つかの実施態様では、システム700は、図7に図示していない様々なI/OデバイスとI/Oバス(同様に図示せず)を介して通信することができる。そのようなI/Oデバイスは、例えば、ユニバーサル非同期受信機/送信機(UART)デバイス、USBデバイス、I/O拡張インターフェース、又は他のI/Oデバイスを含むことができるが、これらに限定されるものではない。様々な実施態様では、システム700は、移動通信、ネットワーク通信、及び/又は無線通信を行うためのシステムの少なくとも一部分を表すことができる。
【0041】
システム700は、メモリ712を更に備えることができる。メモリ712は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、又は他のメモリデバイス等の1つ又は複数のディスクリートメモリ構成要素とすることができる。図7は、プロセッサ702の外部のものとしてメモリ712を示しているが、様々な実施態様では、メモリ712は、プロセッサ702の内部とすることができる。メモリ712は、図3及び図6に関して説明した例示のプロセスを含む、本明細書において説明したプロセスのうちの任意のものを行う際に、プロセッサ702が実行することができるデータ信号によって表される命令及び/又はデータを記憶することができる。幾つかの実施態様では、メモリ712は、システムメモリ部分及びディスプレイメモリ部分を含むことができる。
【0042】
例示のシステム100、200、及び/又は700等の本明細書において説明したデバイス及び/又はシステムは、本開示による多くの可能なデバイス構成、アーキテクチャ又はシステムのうちの幾つかを表している。例示のシステム100、200、及び/又は700の変形形態等の、システムの多数の変形形態が、本開示と矛盾せずに可能である。
【0043】
図8は、本開示の様々な実施態様による一例示の視差視認プロセス800の流れ図を示している。プロセス800は、図8のブロック802、804、806、808、810及び812のうちの1つ又は複数によって示されるような1つ又は複数の動作、機能又は行為を含むことができる。
【0044】
プロセス800は、本明細書において説明したようにシーンの複数の2D画像801を受信することができるブロック802において開始することができる。ブロック804において、シーンに関連付けられた3D情報を決定することができる。例えば、プロセス300及び600を参照すると、ブロック804は、本明細書において説明したように、ブロック304又は604をそれぞれ行うことを含むことができる。その後、本明細書において説明したように、3D情報をメタデータとして記憶することができ(ブロック806)、同様に本明細書において説明したように、ブロック808において、ディスプレイに対するユーザー視認角を決定することができる。ブロック810において、シーンに関連付けられた3D情報及びユーザー視認角を少なくとも部分的に用いて、画像を生成することができる。例えば、プロセス300及び600を参照すると、ブロック810は、本明細書において説明したように、ブロック310又は610をそれぞれ行うことを含むことができる。ブロック811において、生成された画像を表示することができる。最後に、ブロック812において、ユーザー視認角が変化したか否かに関する判断を行うことができる。変化していた場合、ブロック808及び810を繰り返すことができる。変化していない場合、プロセス800は、ブロック811に戻って、生成された現在の画像の表示を継続する。このように、プロセス800は、ユーザ操作可能な3D知覚又は視認体験を提供することができる。
【0045】
上述したシステム、及び本明細書において説明したようなそれらのシステムによって実行される処理は、ハードウェア、ファームウェア、若しくはソフトウェア、又はそれらの任意の組み合わせで実施することができる。加えて、本明細書において開示した任意の1つ又は複数の特徴は、ディスクリートロジック及び集積回路ロジック、特定用途向け集積回路(ASIC)ロジック、並びにマイクロコントローラーを含むハードウェア、ソフトウェア、ファームウェア及びそれらの組み合わせで実施することができ、特定領域集積回路パッケージの一部、又は集積回路パッケージの組み合わせとして実施することができる。ソフトウェアという用語は、本明細書において用いられるとき、本明細書において開示した1つ若しくは複数の特徴及び/又は特徴の組み合わせをコンピューターシステムに実行させるコンピュータープログラムロジックが記憶されているコンピューター可読媒体を含むコンピュータープログラム製品を指す。
【0046】
本明細書において記載された或る特定の特徴を様々な実施態様に関して説明してきたが、この説明は、限定的な意味に解釈されることを意図するものではない。したがって、本開示が関係する技術分野の当業者に明らかである、本明細書において説明した実施態様及び他の実施態様の様々な変更は、本開示の趣旨及び範囲内にあるとみなされる。
本発明の例を下記の各項目として示す。
[項目1]
シーンの複数の2次元画像(複数の2D画像)を受信することと、
前記複数の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定することと、
ディスプレイに対する第1のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示することと、
を含む、コンピューター実施方法。
[項目2]
前記ディスプレイに対する、前記第1のユーザー視認角とは異なる第2のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示することと、
を更に含む、項目1に記載の方法。
[項目3]
前記複数の2D画像は、複数のビデオ画像を含み、前記シーンに関連付けられた3D情報を決定することは、前記複数のビデオ画像の各画像について前記シーンに対する視角を決定することを含む、項目1に記載の方法。
[項目4]
前記第1の生成された画像を前記ディスプレイ上に提示することは、前記複数のビデオ画像のうちの、前記第1のユーザー視認角に最も近い視角を有するビデオ画像を決定することを含む、項目3に記載の方法。
[項目5]
前記3D情報に対応するメタデータを記憶することを更に含む、項目1に記載の方法。
[項目6]
前記ディスプレイに対する前記第1のユーザー視認角を決定することは、
前向きカメラ、マウス、キーボード又はタッチスクリーンのユーザー制御のうちの少なくとも1つを用いて、前記ディスプレイに対するユーザーの向きを決定することを含む、項目1に記載の方法。
[項目7]
前記シーンに関連付けられた3D情報を決定することは、前記複数の2D画像に応じて立体再構成を実行することを含む、項目1に記載の方法。
[項目8]
前記第1の生成された画像を提示することは、前記3D情報及び前記第1のユーザー視認角に少なくとも部分的に応じて、前記第1の生成された画像を合成することを含む、項目7に記載の方法。
[項目9]
前記3D情報は、前記シーンの3D座標又は前記複数の2D画像に関連付けられたカメラ姿勢情報のうちの少なくとも一方を含む、項目7に記載の方法。
[項目10]
前記複数の2D画像は、複数の撮像デバイスによってキャプチャされた画像を含む、項目1に記載の方法。
[項目11]
前記複数の撮像デバイスは、カラーカメラ又はカラー深度カメラのうちの少なくとも一方を含む、項目10に記載の方法。
[項目12]
前記複数の撮像デバイスは、高解像度カラーカメラ及び広視野カラーカメラを含む、項目10に記載の方法。
[項目13]
命令を記憶しているコンピュータープログラム製品を含む物品であって、前記命令は実行されると、結果として、
シーンの複数の2次元画像(複数の2D画像)を受信することと、
前記複数の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定することと、
ディスプレイに対する第1のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示することと、
が行われる命令を記憶しているコンピュータープログラム製品を含む物品。
[項目14]
前記コンピュータープログラム製品は、実行されると、結果として、
前記ディスプレイに対する、前記第1のユーザー視認角とは異なる第2のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示することと、
が行われる命令を更に記憶している、項目13に記載の物品。
[項目15]
前記複数の2D画像は、複数のビデオ画像を含み、前記シーンに関連付けられた3D情報を決定することは、前記複数のビデオ画像の各画像について前記シーンに対する視角を決定することを含む、項目13に記載の物品。
[項目16]
前記第1の生成された画像を前記ディスプレイ上に提示することは、前記複数のビデオ画像のうちの、前記第1のユーザー視認角に最も近い視角を有するビデオ画像を決定することを含む、項目15に記載の物品。
[項目17]
前記コンピュータープログラム製品は、実行されると、結果として、
前記3D情報に対応するメタデータを記憶することが行われる命令を更に記憶している、項目13に記載の物品。
[項目18]
前記ディスプレイに対する前記第1のユーザー視認角を決定することは、
前向きカメラ、マウス、キーボード又はタッチスクリーンのユーザー制御のうちの少なくとも1つを用いて、前記ディスプレイに対するユーザーの向きを決定することを含む、項目13に記載の物品。
[項目19]
前記シーンに関連付けられた3D情報を決定することは、前記複数の2D画像に応じて立体再構成を実行することを含む、項目13に記載の物品。
[項目20]
前記第1の生成された画像を提示することは、前記3D情報及び前記第1のユーザー視認角に少なくとも部分的に応じて、前記第1の生成された画像を合成することを含む、項目19に記載の物品。
[項目21]
前記3D情報は、前記シーンの3D座標又は前記複数の2D画像に関連付けられたカメラ姿勢情報のうちの少なくとも一方を含む、項目19に記載の物品。
[項目22]
システムであって、
プロセッサと、該プロセッサに結合されたメモリとを備え、該メモリ内の命令は、
シーンの複数の2次元画像(複数の2D画像)を受信することと、
前記複数の2D画像に応じて、前記シーンに関連付けられた3次元情報(3D情報)を決定することと、
ディスプレイに対する第1のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第1のユーザー視認角に応じて、第1の生成された画像を前記ディスプレイ上に提示することと、
を行うように前記プロセッサを構成する、システム。
[項目23]
前記メモリ内の命令は、
前記ディスプレイに対する、前記第1のユーザー視認角とは異なる第2のユーザー視認角を決定することと、
少なくとも前記3D情報及び前記第2のユーザー視認角に応じて、第2の生成された画像を前記ディスプレイ上に提示することと、
を行うように前記プロセッサを更に構成する、項目22に記載のシステム。
[項目24]
前記複数の2D画像は、複数のビデオ画像を含み、前記シーンに関連付けられた3D情報を決定することを行うように前記プロセッサを構成する命令は、前記複数のビデオ画像の各画像について前記シーンに対する視角を決定することを行うように前記プロセッサを構成する命令を含む、項目22に記載のシステム。
[項目25]
前記第1の生成された画像を前記ディスプレイ上に提示することを行うように前記プロセッサを構成する命令は、前記複数のビデオ画像のうちの、前記第1のユーザー視認角に最も近い視角を有するビデオ画像を決定することを行うように前記プロセッサを構成する命令を含む、項目24に記載のシステム。
[項目26]
前向きカメラ、マウス、キーボード又はタッチスクリーンシステムのうちの少なくとも1つを更に備え、前記ディスプレイに対する前記第1のユーザー視認角を決定することを行うように前記プロセッサを構成する命令は、前記前向きカメラ、前記マウス、前記キーボード又は前記タッチスクリーンのユーザー制御を用いて、前記ディスプレイに対するユーザーの向きを決定することを行うように前記プロセッサを構成する命令を含む、項目22に記載のシステム。
[項目27]
前記シーンに関連付けられた3D情報を決定することを行うように前記プロセッサを構成する命令は、前記複数の2D画像に応じて立体再構成を実行することを行うように前記プロセッサを構成する命令を含む、項目22に記載のシステム。
[項目28]
前記第1の生成された画像を提示することを行うように前記プロセッサを構成する命令は、前記3D情報及び前記第1のユーザー視認角に少なくとも部分的に応じて、前記第1の生成された画像を合成することを行うように前記プロセッサを構成する命令を含む、項目27に記載のシステム。
[項目29]
前記3D情報は、前記シーンの3D座標又は前記複数の2D画像に関連付けられたカメラ姿勢情報のうちの少なくとも一方を含む、項目27に記載のシステム。
[項目30]
カラーカメラ、カラー深度カメラ又は広視野カメラのうちの少なくとも2つを含む複数の撮像デバイスを更に備える、項目22に記載のシステム。
図1
図2
図3
図4
図5
図6
図7
図8