JP2020525912A - デジタル画像を適応的にスティッチするシステムおよび方法 - Google Patents

デジタル画像を適応的にスティッチするシステムおよび方法 Download PDF

Info

Publication number
JP2020525912A
JP2020525912A JP2019571284A JP2019571284A JP2020525912A JP 2020525912 A JP2020525912 A JP 2020525912A JP 2019571284 A JP2019571284 A JP 2019571284A JP 2019571284 A JP2019571284 A JP 2019571284A JP 2020525912 A JP2020525912 A JP 2020525912A
Authority
JP
Japan
Prior art keywords
image
camera
cameras
images
depth map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019571284A
Other languages
English (en)
Inventor
シュムエル フィーネ
シュムエル フィーネ
イチャク トゥルボビッチ
イチャク トゥルボビッチ
イルヤ コッテル
イルヤ コッテル
アントン バル
アントン バル
Original Assignee
ヒューマンアイズ テクノロジーズ リミテッド
ヒューマンアイズ テクノロジーズ リミテッド
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 ヒューマンアイズ テクノロジーズ リミテッド, ヒューマンアイズ テクノロジーズ リミテッド filed Critical ヒューマンアイズ テクノロジーズ リミテッド
Publication of JP2020525912A publication Critical patent/JP2020525912A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/30Determination of transform parameters for the alignment of images, i.e. image registration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Image Processing (AREA)

Abstract

デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像を処理する方法であって、それぞれの第1のポジションに位置する各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算し、各カメラによって、それぞれの画像を撮影し、各カメラを、そのカメラの中心点に対する画像の特定の領域に従って計算されるそれぞれの角度における第2のポジションまで仮想的に回転させ、各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングし、各画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、パノラマ画像を作成するための複数の調整された画像を作成する、方法、を提供する。【選択図】 図1

Description

本発明は、そのいくつかの実施形態においては、パノラマ画像に関し、より詳細には、これに限定されないが、パノラマ画像を作成するためのデジタル画像を処理するシステムおよび方法に関する。
パノラマ画像とは、見る人の周囲の角度の視覚情報を有する画像である。カラーデジタルパノラマ画像のピクセルは、パノラマ画像を定義する球面座標系での方位角および極角における色および強度を定義する。
360×180パノラマ画像は、見る人の周囲360度と、見る人の上180度(上部/天頂から下部/天底を含む)の視野空間を捕捉する。パノラマ画像は、頭部を任意の方向および任意の角度に向けて見ることのできる人の視野を撮影する。
第1の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理する、コンピュータによって実施される方法は、それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するステップと、それぞれの第1のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するステップと、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるステップであって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、ステップと、各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするステップと、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するステップと、パノラマ画像を作成するために、複数の調整された画像をスティッチするステップと、を含む。
第2の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するシステムは、計算装置の少なくとも1つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、コードが、それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するためのコードと、それぞれの第1のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するためのコードと、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるためのコードであって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、コードと、各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするためのコードと、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するためのコードと、パノラマ画像を作成するために、複数の調整された画像をスティッチするためのコードと、を備えている。
第3の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するコンピュータプログラム製品は、計算装置の少なくとも1つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、コードが、それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するための命令と、それぞれの第1のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するための命令と、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるための命令であって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、命令と、各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするための命令と、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するための命令と、パノラマ画像を作成するために、複数の調整された画像をスティッチするための命令と、を備えている。
本明細書に記載されているシステムおよび/または方法および/またはコード命令は、視差ずれを有するデジタル画像(オプションとして重なり合っているデジタル画像)を合成してパノラマ画像にするという技術課題に対する技術的解決策を提供する。視差ずれは、1台のカメラが、デジタル画像の各々を撮影するために移動されるとき、および/または、それぞれがデジタル画像を撮影する複数のカメラが、異なる位置に配置されているときに、生じる。視差ずれは、画像を撮影する(1台または複数の)カメラが、それらの節点が異なるポジションに位置するように移動されるときに生じる。視差ずれを有する画像は、近接被写体および遠隔被写体の両方を含む。既存の方法は複雑であり、自然な、および/または高品質のパノラマ画像は作成されず、例えば、近接被写体および遠隔被写体の両方が存在するときに、視差ずれに起因して背景が重複する、および/または、近接被写体が切り取られることがある。この技術的課題を説明するさらなる詳細については、後から図5A〜図5Cを参照しながら説明する。
本明細書に記載されているシステムおよび/または方法および/またはコード命令は、改良された、および/または、より高い品質のパノラマ画像を作成するために、個々のデジタル画像を処理する計算装置の動作性能を向上させる。計算装置は、撮影されたデジタル画像の間の(1つまたは複数の)視野ずれを補正する。視差補正されたデジタル画像を、改良された品質でスティッチ(stitch、繋ぎ合わせる)することによって、より高い品質のパノラマ画像が作成される。改良された、より高い品質の球面状および/または多視点のパノラマ画像を作成するために、計算装置は個々の画像を処理する。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、各それぞれの第2のポジションに関連付けられる領域と、それぞれの深さマップの対応する領域との間でのマッピングは、画像を撮影した第1のポジションにおけるそれぞれのカメラの中心から、それぞれのカメラに関連付けられる深さマップの対応する領域までの複数の光線を計算するステップであって、各それぞれの光線の長さが、深さマップの対応する領域の距離値から得られる、ステップと、複数の光線の各々を、それぞれのカメラの中心から、それぞれのカメラの中心を中心とする投影球の表面まで平行移動させるステップであって、複数の光線の各々が投影球の接線であるように、それぞれの光線の方向、向き、および長さを維持しながら複数の光線の各々が平行移動される、ステップと、それぞれの長さを有する、複数の平行移動された光線の各々の遠位端部における領域を、それぞれのカメラによって撮影された画像の対応する領域に投影するステップと、それぞれのカメラによって撮影された画像の各領域の少なくとも1つのピクセルの強度値を、複数の平行移動された光線の各々の、深さマップの投影された領域の距離値、に従って調整するステップと、に基づいて計算される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、マッピングは、それぞれのカメラの内部パラメータ行列(intrinsic matrix)および外部パラメータ行列(extrinsic matrix)に従って実行される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、画像の対応する領域にマッピングすることのできない深さマップの領域に、強度スケールに従って最小強度値が割り当てられる。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および/または、プロセッサは以下のステップを行うようにさらに構成されている、および/または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、調整された複数の画像の少なくとも1つのスティッチを、複数の調整された画像内に現れる近接被写体に沿って選択するステップであって、近接被写体が、それぞれの深さマップに従って識別される、ステップ。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、複数のカメラは、立体視ペア(stereoscopic pairs)の第1のセットの重なり合う画像および第2のセットの重なり合う画像を撮影する立体視ペアのセットとして配置されており、それぞれの深さマップが、立体視ペアのカメラの各々に対して計算され、スティッチするステップが、調整された第1のセットの重なり合う画像と第2のセットの重なり合う画像をスティッチして、第1のパノラマ画像および第2のパノラマ画像を作成するステップを含む。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、スティッチするステップは、第1のパノラマ画像および第2のパノラマ画像の対応する位置に従って実行される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、各立体視ペアに対して、立体視ペアのカメラの各々によって撮像された各対応する領域の間でマッピングするステップと、各対応する領域の3次元(3D)座標を、立体視ペアのカメラの各々によって撮影された画像に基づいてそれぞれの対応する領域の三角法によって、計算するステップと、各対応する領域の3D座標を、立体視ペアの各カメラの中心に対する向きおよび距離に従って変換するステップと、を実行することによって、立体視ペアのカメラの各々に対して、それぞれの深さマップが計算される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および/または、プロセッサは以下のステップを行うようにさらに構成されている、および/または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、深さマップの未定義領域を補間するステップ。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および/または、プロセッサは以下のステップを行うようにさらに構成されている、および/または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、複数の調整された画像のスティッチの各々に近傍の少なくとも1つの範囲を分析するステップであって、少なくとも1つの範囲が、重なり領域内に位置しており、少なくとも1つの範囲のサイズが要件に従って定義される、ステップと、少なくとも1つの各範囲内の各特徴点の両眼視差(binocular disparity)値を計算するステップと、各スティッチについて、それぞれのスティッチの少なくとも1つの範囲の最も高頻度の両眼視差値を識別するステップと、各スティッチについて、最も高頻度の両眼視差値に従って半径値を計算するステップであって、各画像のスティッチの各々に近傍の少なくとも1つの範囲内に位置する各画像の領域のマッピングが、それぞれのスティッチに関連付けられる半径値を有する投影球に従って実行される、ステップ。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、各重なり領域のスティッチの各々に近傍の少なくとも1つの範囲に、1つの深さ値が割り当てられる。
深さマップの、より大きい部分(例:全体)のデータを作成する、および/または使用するのではなく、各スティッチに1つの深さ値を割り当てることによって、深さマップのより大きい部分を処理することから生じる誤差が低減または防止される。正確な深さマップを作成することは、均質な範囲内の外れ値の理由で、技術的に難しい。パノラマ画像を形成するためにスティッチされる、作成された画像内に、このような誤差によって大きなゆがみが形成されうる。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、マッピングは、複数の調整された画像の各重なり領域のスティッチの各々に近傍の少なくとも1つの範囲に対して、実行される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、複数の調整された画像の、スティッチの各々に近傍の少なくとも1つの範囲の外側の他の部分、に対しては、マッピングが実行されない。
対応するスティッチの位置によって、左側パノラマ画像と右側パノラマ画像との間の変動が防止または低減される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、複数のカメラは、異なる位置に動かされる1台のカメラを表す。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、深さマップは、2次元(2D)データ構造として実施され、距離を表す値は、複数のカメラの各それぞれのカメラによって撮影された画像ごとに計算される。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、深さマップは、被写体の動きに起因する深さマップ間の変動を回避する時間要件内で、複数のカメラの各カメラに対して計算される。
時間要件は、その環境で起こる大きな変化が、異なる深さマップにおいて異なって現れることを回避するのに十分に近いように選択することができる。例えば、動いている被写体を考慮するためであり、例えば、道路に沿って走行している自動車が、1つの時点に撮影された1つの深さマップにおいて1つの位置に現れ、数秒後、その自動車が道路に沿って大きな距離だけ走行したときに撮影された別の深さマップにおいて別の位置に現れるシナリオ、を防止するためである。
第1の態様、第2の態様、および第3の態様のさらなる実施形態においては、受信される複数のデジタル画像は、360×180の視野を撮影しており、複数のデジタル画像の少なくとも1枚が、4枚の別のデジタル画像と重なる。
特に定義しない限り、本明細書で使用する全ての技術および/または科学用語は、本発明が属する技術分野の当業者によって通常に理解されるものと同じ意味を有する。本明細書に記載されている方法および材料に類似するかまたは等価な方法および材料を、本発明の実施形態の実践または試験に使用することができるが、例示的な方法および/または材料は、以下に記載してある。矛盾する場合、定義を含めて本特許明細書が優先する。さらには、材料、方法、および実施例は単なる例示であり、必ずしも限定を意図するものではない。
本明細書には、本発明のいくつかの実施形態を、添付の図面を参照しながら一例としてのみ説明してある。以下では図面を詳細に参照するが、図示されている細部は一例であり、本発明の実施形態を実例を通じて説明することを目的としていることを強調しておく。これに関して、図面を参照しながらの説明によって、当業者には、本発明の実施形態をどのように実施することができるかが明らかになる。
本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像のピクセルの強度値を、対応する深さマップの値に基づいて補正する方法の流れ図である。 本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像を受信し、(1つまたは複数の)深さマップに従って補正されたデジタル画像を出力するシステムの、構成要素のブロック図である。 本発明のいくつかの実施形態による、左側パノラマ画像と右側パノラマ画像を作成するために合成される立体画像を撮影する例示的な装置を描いた概略図である。 視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、(1つまたは複数の)深さマップに従って(1つまたは複数の)視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。 視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、(1つまたは複数の)深さマップに従って(1つまたは複数の)視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。 視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、(1つまたは複数の)深さマップに従って(1つまたは複数の)視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。 視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、(1つまたは複数の)深さマップに従って(1つまたは複数の)視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。 本明細書に記載されているシステム、方法、および/またはコード命令によって対処される技術的問題の理解を助けるための概略図である。 本明細書に記載されているシステム、方法、および/またはコード命令によって対処される技術的問題の理解を助けるための概略図である。 本明細書に記載されているシステム、方法、および/またはコード命令によって対処される技術的問題の理解を助けるための概略図である。 本発明のいくつかの実施形態による、立体視カメラのペアに対して計算される深さマップの特定の点Pに関する計算を描いた概略図である。 本発明のいくつかの実施形態による、画像の領域を対応する深さマップにマッピングするステップと、画像のピクセルの値をマッピングに基づいて調整するステップを描いた概略図である。 本発明のいくつかの実施形態による、カメラによって撮影された画像のピクセルの強度値を調整するための、深さマップと交差する左側接線および右側接線を描いた概略図である。
本発明は、そのいくつかの実施形態においては、パノラマ画像に関し、より詳細には、これに限定されないが、パノラマ画像を作成するためのデジタル画像を処理するシステムおよび方法に関する。
本発明のいくつかの実施形態の一態様は、デジタルパノラマ画像を作成するために、視差ずれに関連付けられるデジタル画像を(1つまたは複数の)深さマップに従って調整する装置、システム、方法、および/またはコード命令(データ記憶装置に記憶されており、1つまたは複数のハードウェアプロセッサによって実行可能である)に関する。デジタル画像は、デジタル画像が撮影される第1のポジションに位置している各カメラに対して計算される深さマップに従って調整される。カメラを、それぞれのカメラの中心点に対するそれぞれの角度における複数の第2のポジションまで仮想的に回転させる。各回転角度は、カメラの中心点に対する、画像の特定の領域(例:1つまたは複数のピクセル)に従って計算される。各画像の各回転角度に関連付けられる各領域を、それぞれのカメラに関連付けられる深さマップの対応する領域にマッピングする。各画像の領域のピクセルの強度値を、深さマップの対応するマッピングされた領域の値に従って調整する。スティッチしてパノラマ画像を作成するための調整された画像を提供する。
本明細書に記載されているシステムおよび/または方法および/またはコード命令は、視差ずれを有するデジタル画像(オプションとして重なり合っているデジタル画像)を合成してパノラマ画像にするという技術課題に対する技術的解決策を提供する。視差ずれは、1台のカメラが、デジタル画像の各々を撮影するために移動されるとき、および/または、それぞれがデジタル画像を撮影する複数のカメラが、異なる位置に配置されているときに、生じる。視差ずれは、画像を撮影する(1台または複数の)カメラが、それらの節点が異なるポジションに位置するように移動されるときに生じる。視差ずれを有する画像は、近接被写体および遠隔被写体の両方を含む。既存の方法は複雑であり、自然な、および/または高品質のパノラマ画像は作成されず、例えば、近接被写体および遠隔被写体の両方が存在するときに、視差ずれに起因して背景が重複する、および/または、近接被写体が切り取られることがある。この技術的課題を説明するさらなる詳細については、後から図5A〜図5Cを参照しながら説明する。
本明細書に記載されているシステムおよび/または方法および/またはコード命令は、改良された、および/または、より高い品質のパノラマ画像を作成するために、個々のデジタル画像を処理する計算装置の動作性能を向上させる。計算装置は、撮影されたデジタル画像の間の(1つまたは複数の)視野ずれを補正する。視差補正されたデジタル画像を、改良された品質でスティッチすることによって、より高い品質のパノラマ画像が作成される。改良された、より高い品質の球面状および/または多視点のパノラマ画像を作成するために、計算装置は個々の画像を処理する。
本明細書に記載されているシステムおよび/または方法および/またはコード命令(記憶装置に記憶されており、1つまたは複数のプロセッサによって実行される)は、画像処理の技術分野の中の、具体的には、視差ずれに関連付けられる個々の画像を処理する分野の中の、基礎となるプロセスを改良して、視差ずれに関連付けられる個々の画像をスティッチすることにより作成されるパノラマ画像の品質を向上させる。本明細書に記載されているシステムおよび/または方法および/またはコード命令(記憶装置に記憶されており、1つまたは複数のプロセッサによって実行される)は、数学的演算ならびにデータの受信および格納を使用して処理されるデジタル画像の計算を単純に記載するのではなく、(1つまたは複数の)深さマップを計算する動作と、各カメラによって(1つまたは複数の)画像を撮影する動作と、(1つまたは複数の)画像の領域を(1つまたは複数の)深さマップにマッピングする動作と、(1つまたは複数の)画像を、対応する(1つまたは複数の)深さマップに従って調整する動作と、を組み合わせる。これによって、本明細書に記載されているシステムおよび/または方法(例:記憶装置に記憶されており、1つまたは複数のプロセッサによって実行される記憶装置に記憶されているコード命令)は、コンピュータを使用して単純にデータを取得して合成するだけのコンセプトより優れている。
本明細書に記載されているシステムおよび/または方法、および/またはコード命令(記憶装置に記憶されており、1つまたは複数のプロセッサによって実行される)は、実在する物理的な構成要素に関係しており、これらの構成要素は、パノラマ画像を作成するためにスティッチされるデジタル画像を撮影する1つまたは複数のデジタルカメラと、撮影されたデジタル画像、処理されたデジタル画像、および/または作成されたパノラマ画像を記憶するデータ記憶装置と、作成されたパノラマ画像を提示するディスプレイと、コード命令を実行してデジタル画像を処理するハードウェアプロセッサ、の1つまたは複数を含む。
本明細書に記載されているシステムおよび/または方法、および/またはコード命令(記憶装置に記憶されており、1つまたは複数のプロセッサによって実行される)は、スティッチされてより高い品質のパノラマ画像を作成する、処理されたデジタル画像の形の新規のデータを作成する。
したがって、本明細書に記載されているシステムおよび/または方法および/またはコードは、スティッチされてパノラマ画像を形成するデジタル画像の処理において生じる実際の技術的課題を克服するための計算技術および/または物理的な構成要素に、密接に関係している。
本発明の少なくとも一実施形態を詳しく説明する前に、本発明は、その適用において、以下の説明に記載されている、および/または、図面もしくは実施例またはその両方に説明されている、構成要素の構造および配置および/または方法の細部に、必ずしも限定されないことを理解されたい。本発明は、別の実施形態が可能である、またはさまざまな方法で実施または実行することが可能である。
本発明は、システム、方法、および/またはコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する(1つまたは複数の)コンピュータ読み取り可能な記憶媒体を含むことができる。
コンピュータ読み取り可能な記憶媒体は、命令実行装置によって使用するための命令を保持および記憶することのできる有形装置とすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、以下に限定されないが、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組合せ、とすることができる。コンピュータ読み取り可能な記憶媒体のさらなる具体例のリスト(すべては網羅していない)には、以下、すなわち、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、およびこれらの任意の適切な組合せ、が含まれる。コンピュータ読み取り可能な記憶媒体は、本明細書において使用されるときには、本質的に一時的な信号(電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体中を伝搬する電磁波(例:光ファイバケーブルを通る光パルス)、またはワイヤを伝わる電気信号など)であるとは解釈されないものとする。
本明細書に記載されているコンピュータ可読プログラム命令は、コンピュータ読み取り可能な記憶媒体からそれぞれの計算装置/処理装置にダウンロードする、またはネットワーク(例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはワイヤレスネットワーク)を介して外部のコンピュータまたは外部の記憶装置にダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを備えていることができる。各計算装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースが、ネットワークからコンピュータ可読プログラム命令を受信して、それらのコンピュータ可読プログラム命令を、記憶されるようにそれぞれの計算装置/処理装置内のコンピュータ読み取り可能な記憶媒体に転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、1種類または複数種類のプログラミング言語(SmalltalkやC++などのオブジェクト指向プログラミング言語、「C」プログラミング言語や類似するプログラミング言語などの従来の手続型プログラミング言語を含む)の任意の組合せで書かれたソースコードまたはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、独立したソフトウェアパッケージとして、その全体を使用者のコンピュータ上で実行する、またはその一部を使用者のコンピュータ上で実行する、または一部を使用者のコンピュータ上で実行しかつ一部を遠隔のコンピュータ上で実行する、または全体を遠隔のコンピュータまたはサーバ上で実行することができる。後者のシナリオでは、遠隔のコンピュータは、任意のタイプのネットワーク(ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む)を通じて使用者のコンピュータに接続することができる、または、(例えばインターネットサービスプロバイダを使用してインターネットを通じて)外部のコンピュータへの接続を形成することができる。いくつかの実施形態においては、本発明の態様を実行する目的で、電子回路(例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む)が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行することができる。
本明細書では、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品の、流れ図および/またはブロック図を参照しながら、本発明の態様を説明してある。流れ図および/またはブロック図の各ブロック、および、流れ図および/またはブロック図におけるブロックの組合せを、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、またはマシンを形成するための他のプログラマブルデータ処理装置のプロセッサに提供することができ、したがってこれらの命令(コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される)は、流れ図および/またはブロック図の1つまたは複数のブロックに指定されている機能/動作を実施するための手段を形成する。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および/または他の装置が特定の方法で機能するように導くことができるコンピュータ読み取り可能な記憶媒体に記憶することもでき、したがって、命令を記憶しているコンピュータ読み取り可能な記憶媒体は、流れ図および/またはブロック図の1つまたは複数のブロックに指定されている機能/動作の態様を実施する命令を含む製品を備える。
コンピュータ、他のプログラマブルデータ処理装置、または他の装置上で一連の動作ステップが実行されて、コンピュータによって実施されるプロセスが生成されるように、コンピュータ、他のプログラマブルデータ処理装置、または他の装置に、コンピュータ可読プログラム命令をロードしてもよく、したがって、コンピュータ、他のプログラマブルデータ処理装置、または他の装置で実行される命令が、流れ図および/またはブロック図の1つまたは複数のブロックに指定されている機能/動作を実施する。
図における流れ図およびブロック図は、本発明のさまざまな実施形態に係るシステム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。これに関して、流れ図またはブロック図における各ブロックは、指定された(1つまたは複数の)論理機能を実施するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表しうる。いくつかの代替実装形態においては、ブロックに記載されている機能は、図面に記載されている以外の順序で実行してもよい。例えば、連続して示されている2つのブロックを、関与する機能に応じて、実際には、実質的に同時に実行する、あるいは場合によってはブロックを逆の順序で実行することができる。さらに、ブロック図および/または流れ図の各ブロックと、ブロック図および/または流れ図におけるブロックの組合せは、指定された機能または動作を実行する専用ハードウェアベースのシステムによって、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって、実施してもよいことに留意されたい。
次に図1を参照し、図1は、本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像のピクセルの強度値を、対応する深さマップに基づいて補正する方法の流れ図である。さらに図2も参照し、図2は、本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像を受信し、重なり合う画像の領域に対応する少なくとも1つの深さマップに従って補正されたデジタル画像を出力するシステム200の、構成要素のブロック図である。システム200は、図1を参照しながら説明する方法の動作を、プログラム記憶部206に記憶されているコード命令を実行する計算装置204の(1つまたは複数の)プロセッサ202によって、実施することができる。
計算装置204は、((1つまたは複数の)デジタルカメラ208によって撮影された)複数の画像を受信して処理する。これらの画像は、画像をスティッチしてパノラマ画像にすることによって形成されるシーンの一部を撮影している。画像は、360度のシーン、オプションとして360度×180度のシーン、またはより小さいシーン角度を撮影することができる。画像は、1つまたは複数のデジタルカメラ208によって提供する、および/または、画像リポジトリ208A(例:カメラ208内のメモリカード、ストレージサーバ、カメラ208に関連付けられるリムーバブル記憶装置、および/またはコンピューティングクラウド)から取得することができる。(1つまたは複数の)デジタルカメラ208は、静止画デジタルカメラ、および/またはビデオカメラ(この場合には画像は動画のフレームとして取得される)として実施することができる。(1つまたは複数の)デジタルカメラ208は、2次元デジタル画像(2D)を撮影することができる、および/または、オプションとして2つ以上の画像センサを使用して3次元画像(3D)を撮影することができる。(1つまたは複数の)デジタルカメラ208は、カラー(例:赤、緑、青をベースとする)画像、および/または白黒画像(この場合には本明細書に記載されているチャネルはピクセルの強度の1つのチャネルを指す)を撮影することができる。デジタルカメラ208は、例えば図3を参照して説明するように、立体視ペアの1つまたは複数のセットとして配置することができる。
単一のデジタルカメラ208が実装されているときには、単一のカメラ208が異なる位置に動くときに画像の間に視差ずれが生じる。複数のカメラ208が実装されているときには、それぞれ異なるポジションに位置している複数の異なるカメラ208によって撮影される画像の間に、視差ずれが生じる。
計算装置204は、(1つまたは複数の)カメラ208によって撮影された、および/または、画像リポジトリ208Aに格納されている、(1つまたは複数の)画像を、1つまたは複数の撮像インタフェース210、例えば、有線接続、無線接続、他の物理的なインタフェース実装、および/または、仮想インタフェース(例:ソフトウェアインタフェース、アプリケーションプログラミングインタフェース(API)、ソフトウェア開発キット(SDK))、を使用して、受信する。
計算装置204は、例えば、カスタマイズされたユニット(例:図3を参照しながら説明するユニット)、クライアント端末、サーバ、コンピューティングクラウド、モバイル機器、デスクトップコンピュータ、シンクライアント、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、ウェアラブルコンピュータ、メガネ型コンピュータ、ウォッチ型コンピュータとして、実施することができる。計算装置204は、図1を参照しながら説明する動作の1つまたは複数を実行するローカルに格納されたソフトウェアを含むことができる、および/または、サービス(例:図1を参照しながら説明する動作の1つまたは複数)をネットワーク214を通じて1つまたは複数のクライアント端末212に提供する1つまたは複数のサーバ(例:ネットワークサーバ、Webサーバ、コンピューティングクラウド)として機能することができ、例えば、ソフトウェア・アズ・ア・サービス(SaaS)を(1つまたは複数の)クライアント端末212に提供する、および/または、ローカルダウンロード用のアプリケーションを(1つまたは複数の)クライアント端末212に提供する、および/または、リモートアクセスセッションを使用する機能を(例えばWebブラウザ、もしくはモバイル機器に格納されているアプリケーションまたはその両方を通じて)クライアント端末212に提供する。
計算装置204の(1つまたは複数の)プロセッサ202は、例えば、(1つまたは複数の)中央処理装置(CPU)、(1つまたは複数の)グラフィック処理装置(GPU)、(1つまたは複数の)フィールドプログラマブルゲートアレイ(FPGA)、(1つまたは複数の)デジタル信号プロセッサ(DSP)、(1つまたは複数の)特定用途向け集積回路(ASIC)、として実施することができる。プロセッサ202は、1つまたは複数のプロセッサ(同種または異種)を含むことができ、これらのプロセッサは、クラスタとして、および/または、1つまたは複数のマルチコア処理装置として、並列処理用に配置することができる。
記憶装置(プログラム記憶部(例:メモリ)としても知られている)206は、(1つまたは複数の)プロセッサ202によって実行可能なコード命令を記憶し、例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/またはストレージデバイスであり、例えば、不揮発性メモリ、磁気媒体、半導体記憶装置、ハードディスクドライブ、リムーバブル記憶装置、および光媒体(例:DVD、CD−ROM)である。記憶装置206は、図1を参照しながら説明する方法の1つまたは複数の動作を実行する画像処理コード206Aを記憶している。
計算装置204は、データを格納するデータリポジトリ216(例えば、出力された処理済み画像(これらはスティッチされてパノラマ画像を形成する)を格納する処理済み画像リポジトリ216A、および/または、作成された(1つまたは複数の)パノラマ画像を格納するパノラマ画像リポジトリ216B)を含むことができる。データリポジトリ216は、例えば、メモリ、ローカルハードディスクドライブ、リムーバブル記憶装置、光ディスク、ストレージデバイスとして、および/または、リモートサーバおよび/またはコンピューティングクラウド(例:ネットワーク接続を使用してアクセスされる)として、実施することができる。
計算装置204は、ネットワーク214に接続するためのネットワークインタフェース218(例えば、ネットワークインタフェースカード、無線ネットワークに接続するための無線インタフェース、ネットワーク接続用のケーブルに接続するための物理インタフェース、ソフトウェアにおいて実施される仮想インタフェース、ネットワーク接続の上位層を提供するネットワーク通信ソフトウェア、および/または他の実装形態、のうちの1つまたは複数)を含むことができる。
計算装置204は、直接リンク(例:ケーブル、無線)、および/または間接リンク(例:サーバなどの中間計算ユニットを介する、および/または、記憶装置を介する)を通じてなど、ネットワーク214(または別の通信路)を使用して、以下の1つまたは複数に接続することができる。
*(1つまたは複数の)クライアント端末212(例えば計算装置204がサーバとして機能して、SaaSを提供する、および/または遠隔画像処理サービスを提供するとき)。クライアント端末212それぞれは、画像をネットワーク214を通じて計算装置204に提供して処理させることができる。(1つまたは複数の)カメラ208(および/または、画像リポジトリ208Aを格納する記憶装置)をクライアント端末212に接続し、ネットワーク214を使用して画像を提供してもよいことに留意されたい。処理された画像および/または作成されたパノラマ画像を、(1つまたは複数の)クライアント端末212に提供することができる。
*処理された画像を受信し、処理された画像をスティッチしてパノラマ画像を作成する、遠隔に位置するサーバ220。サーバ220は、パノラマ画像を受信することができる。サーバ220は、パノラマ画像をローカルに表示する、および/または、処理された画像もしくはパノラマ画像またはその両方を格納する、および/または、処理された画像もしくはパノラマ画像またはその両方を別のサーバに送信する、ことができる。
*画像リポジトリ208A、処理済み画像リポジトリ216A、および/または、パノラマ画像リポジトリ216B、の1つまたは複数を格納する記憶装置222。
計算装置204および/または(1つまたは複数の)クライアント端末は、ユーザがデータを入力する(例:撮影された画像を指定する、および/またはアップロードする)、および/または、提示されたデータ(例:処理された画像および/または作成されたパノラマ画像)を表示する、ためのメカニズムを含む、および/または、このようなメカニズムと通信する。例示的なユーザインタフェース224は、例えば、タッチスクリーン、ディスプレイ、キーボード、マウス、スピーカーおよびマイクロフォンを使用する音声作動ソフトウェア、の1つまたは複数を含む。
次に図3を参照し、図3は、本発明のいくつかの実施形態による、左側パノラマ画像および右側パノラマ画像を作成するために合成される立体画像を撮影する例示的な装置450を描いた概略図である。装置450は、実質的に正方形として形成されており、正方形の4つの角部の各々に、左目用および右目用の画像を撮影するカメラのペアを含む。正方形の各角部にそれぞれ位置するカメラ401,403,405,407は、一方の目のための第1の画像のセットを形成する画像を撮影する。正方形の対応する角部にそれぞれ位置するカメラ402,404,406,408は、他方の目のための第2の画像のセットを形成する別の画像をそれぞれ撮影する。第1の画像のセットおよび第2の画像のセットを、独立して処理および補正して、第1のパノラマ画像および第2のパノラマ画像を作成することができる。
カメラ401〜408は、互いに対する視差ずれを有する画像を撮影することに留意されたい。
装置450は、図2を参照しながら説明した以下の構成要素、すなわち、(1つまたは複数の)カメラ208、画像リポジトリ、撮像インタフェース210、計算装置204、(1つまたは複数の)プロセッサ202、メモリ206、データリポジトリ216、画像処理コード206A、処理済み画像リポジトリ216A、パノラマ画像リポジトリ216B、ネットワークインタフェース218、およびユーザインタフェース224、の1つまたは複数を、(例えばその物理的容器の中に)含むことができる。
102においては、各カメラ208に対して深さマップを計算する。深さマップは、計算装置204によって計算することができる。深さマップは、各カメラ208の現在のポジションにおいて計算される。
各深さマップは、各それぞれのカメラによって写されているシーンの領域までの距離を表す値を格納する。これらの領域は、例えば、深さマップを作成するために使用されたカメラのピクセルサイズに基づいて、および/または、座標(例:φ、θ)の値および/または範囲に基づいて、および/または、サイズの要件に基づいて、定義することができる。深さマップの各要素(例:ピクセル)によって格納される値(例:強度値)は、それぞれのカメラの周囲の実世界における最も近接被写体までの距離を表す(すなわち、深さマップを計算するために使用される画像を撮影するカメラには見えない、最も近接被写体の背後の被写体は、無視される)。深さマップは、スケール(例えば0〜255)または他の分割に基づいて、実施することができる。
深さマップは、2次元(2D)データ構造(画像として提示することができる)として実施することができる。配列の各要素は、座標(オプションとして動径座標)の特定の値および/または値の範囲を表すことができ、例えば、各要素は、特定のφ値(および/または値の範囲)、および特定のθ値(および/または値の範囲)を表す。
(オプションとして配列の各要素における)深さの値は、グレースケール強度値を表すことができる(例えば、0が黒を表し、255が白を表す)。
各深さマップの要素の値は、時間内に撮影された1つのフレームに対して計算することができる。
オプションとして、複数のカメラに基づく実装形態の場合、カメラの深さマップは、時間的に同期され、オプションとして時間要件内で計算される。時間要件は、その環境で起こる大きな変化が、異なる深さマップにおいて異なって現れることを回避するのに十分に近いように選択することができる。例えば、動いている被写体を考慮するためであり、例えば、道路に沿って走行している自動車が、1つの時点に撮影された1つの深さマップにおいて1つの位置に現れ、数秒後、その自動車が道路に沿って大きな距離だけ走行したときに撮影された別の深さマップにおいて別の位置に現れるシナリオ、を防止するためである。
深さマップは、カメラの各立体視ペアの各カメラに対して計算することができる。各立体視ペアに対しては、各立体視ペアのカメラの各々によって撮像された各対応する領域の間のマッピングを計算する。これらの領域は、特徴および/またはピクセル(例えば各カメラによって写された被写体)を含むことができる。各対応する領域の3次元(3D)座標(例:デカルト座標)を計算する。3D座標は、立体視ペアのカメラの各々によって撮影された画像に基づいてそれぞれの対応する領域の三角法によって、計算することができる。各領域の3D座標を、立体視ペアの各カメラの中心に対する向き(例:φおよびθによって表される動径座標)および距離(例:動径座標系に基づく)に変換する。オプションとして、深さマップの未定義値を補間する。
図3を参照しながら説明した装置450の場合、8つの深さマップ(4つの立体視ペアの各々の左側カメラおよび右側カメラの各々に対して1つの深さマップ)が計算される。
次に図6を参照し、図6は、本発明のいくつかの実施形態による、立体視カメラのペア698A,698Bに対して計算される深さマップの特定の領域P 692に関する計算を描いた概略図である。領域P 692は、各カメラ698A,698Bによってマッピングされる。領域P 692の3D座標を、カメラ698A,698Bによって撮影された画像に基づいて三角法によって計算する。これらの3D座標を、各カメラ698A,698Bに関連する向きおよび距離に変換する。
再び図1を参照し、104においては、デジタルパノラマ画像を作成するためのデジタル画像を撮影し(例:(1つまたは複数の)デジタルカメラ208によって撮影されるデジタル画像、および/または、画像リポジトリ208Aによって格納されているデジタル画像)、これらのデジタル画像を(例えば画像インタフェース210を使用して)計算装置204によって受信する。なお、ブロック104は、ブロック102の一部として実行してもよく、例えば、撮影したデジタル画像に基づいて深さマップを作成してもよい。
デジタル画像は、初期ポジションにおけるカメラの各々によって撮影される。
デジタル画像は、視差ずれに関連付けられる。
各デジタル画像は、(1つまたは複数の)重なり領域において1つまたは複数の別のデジタル画像と重なり合う。1枚または複数の画像は、2枚、3枚、4枚、または5枚以上の別のデジタル画像と重なり合い、例えば、パノラマ画像の内側で画像の各境界において1枚の画像と重なり合うことによって、パノラマ画像の内側で画像が4枚の別のデジタル画像と重なり合う。
デジタル画像は、1つまたは複数のカメラ208によって撮影することができる。広い視野、オプションとして360度の視野(またはより小さい角度)、オプションとして360×180度の視野(またはより小さい角度)をカバーするため、各画像は異なる角度において撮影される。
オプションとして、(例えば左目および右目に対応する)立体画像を撮影するように配置されたカメラ208のペアによって、デジタル画像を撮影する。画像を撮影するカメラの複数のペア(例えば、左目用の画像を撮影するカメラのセットと、右目用の画像を撮影するカメラの別のセット)が存在してもよい。2枚のパノラマ画像を作成し、すなわち左目用の画像を撮影するカメラのセットからの左目用の1枚のパノラマ画像と、右目用の画像を撮影するカメラのセットからの右目用のもう1枚のパノラマ画像である。
再び図1を参照し、106においては、カメラの各々を、カメラの角度(すなわちφ値および/またはθ値)を仮想的に変化させることによって、複数の別のポジションまで仮想的に回転させる。なお、仮想的な回転は、(1つまたは複数の)それぞれの画像が撮影された初期ポジションから離れるように(1つまたは複数の)カメラを実際に物理的に回転させることなく、計算的に実行されることに留意されたい。
各回転角度は、それぞれのカメラの中心点に対する画像の領域に従って計算する。
オプションとして、出力解像度がXピクセル(または領域)×Yピクセル(または領域)として表されるとき、各0<i≦Xについてと、各0<i≦Yについて、各ピクセルp(i,j)の角度を計算する。この角度に従って仮想的な回転を計算する。
仮想的な回転は、必ずしもすべてのピクセルに対して計算されないことに留意されたい。例えば、ピクセルのグループに対して仮想的な回転を計算することができる。パノラマ画像を生成するのに十分なピクセルの強度値を計算する目的で、出力されるパノラマ画像のピクセルに従って、仮想的な回転を決定することができる。
仮想的な回転は、エンドユーザに透過的とすることができる。
108においては、仮想的に回転させた各ポジション(すなわち各角度)に関連付けられる各画像の領域(例:ピクセル、ピクセルのグループ)を、それぞれのカメラに対して計算された深さマップの対応する領域にマッピングする。
画像の対応する領域にマッピングすることのできない、深さマップの領域(例:別の被写体の背後に位置する領域)には、強度スケールに従って最小強度値を割り当てる(オプションとして黒として提示される)。強度スケールは、例えば、256個、1024個、または別の数の強度レベルに基づくことができる。範囲が大きいほど精度が良好である。
第2のポジションに関連付けられる画像の領域と、対応する深さマップとのマッピングは、各カメラの中心に対して計算される投影球のφおよびθの、定義される値毎(またはそのサブセット)または値の範囲に対して、計算する。(回転したポジションに位置する)それぞれのカメラの投影球の中心から、深さマップの対応する領域までの光線を計算する。各光線の長さは、光線が到達する深さマップの領域の距離値から得られる(V(φ,θ)として表される)。各光線を、カメラの中心(すなわち光線の起点は投影球の中心に位置する)から、投影球の表面(すなわち光線の起点は投影球の表面に位置する)まで平行移動させる。光線は、光線の方向、向き、および長さを維持しながら平行移動させる。各光線は、投影球の表面に接する。定義された長さを有する平行移動した各光線の遠位端部(本明細書ではTと表す)における各領域(例:ピクセル、ピクセルのグループ)を、それぞれのカメラによって撮影された画像の対応する領域に投影する。この投影は、それぞれのカメラの内部パラメータ行列および外部パラメータ行列に従って実行することができる。
110においては、各画像の各投影された領域の(1つまたは複数の)ピクセルの(1つまたは複数の)強度値を、深さマップの投影された領域の対応する値(Iと表す)に従って調整する。数学的に表記すると、各カメラによって撮影された各画像において、各領域(φ,θ)=Iである。
ブロック108,110は、各深さマップによって表される動径座標および/または領域(例:φおよび/またはθの値の範囲)の大部分またはすべてに対して実行する。深さマップとの投影接線の(1つまたは複数の)交点が、動径座標に対して求められる。各接線に対応する画像のピクセルの強度値を調整する。
次に図7を参照し、図7は、本発明のいくつかの実施形態による、画像の領域を対応する深さマップにマッピングするステップと、ピクセル値をマッピングに基づいて調整するステップを描いた概略図である。カメラ708(オプションとして、図3を参照しながら説明した装置450に位置している)が、本明細書に説明したように、仮想的に回転したポジションにおける画像を取得する。光線710は、カメラ708の中心712から、中心712に対する特定の領域(φ,θ)に位置する深さマップの特定の領域714まで定義される。光線710の長さは、深さマップの領域(φ,θ)に対応する距離値によって定義される(Vと表される)。
光線710を、カメラ708の投影球718の接線716まで平行移動させる。接線716への平行移動は、光線710の方向、向き、および長さVを維持しながら実行する。点T 720は、長さVを有する接線716の遠位端部を表す。
T 720を、初期ポジションにおけるカメラ708によって撮影された画像の特定の領域に投影する(矢印722によって表してある)。この特定の領域(T 720の投影)のピクセルに、Iと表される特定の強度値を指定する。特定の(φ,θ)に対応する、カメラ708によって撮影された画像の領域のピクセルが、強度値Iに従って調整される。
次に図8を参照し、図8は、本発明のいくつかの実施形態による、カメラ(オプションとして、図3を参照しながら説明した装置450のカメラ)によって撮影された画像のピクセルの強度値を調整するための、深さマップ820と交差する左側接線816Aおよび右側接線816Bを描いている。左側接線816Aおよび右側接線816Bは、カメラの立体視ペアの各カメラに関連付けられている。
再び図1を参照し、112においては、オプションとして、(1つまたは複数の)デジタルパノラマ画像を作成するための調整されたデジタル画像に従って、スティッチを選択する。スティッチは、計算装置204、および/または遠隔装置(例:クライアント端末212および/またはサーバ220)によって選択することができる。スティッチは、画像の重なり領域内で選択することができる。
オプションとして、選択されたスティッチおよび近くの(例:要件(例えば各スティッチを囲むピクセルの数)以内の、オプションとして重なり領域内の)領域に従って、修正された深さマップを作成する、調整する、および/または選択する。オプションとして、各スティッチに1つの深さ値を割り当てる。深さマップの、より大きい部分(例:全体)のデータを作成する、および/または使用するのではなく、各スティッチに1つの深さ値を割り当てることによって、深さマップのより大きい部分を処理することから生じる誤差が低減または防止される。正確な深さマップを作成することは、均質な範囲内の外れ値の理由で、技術的に難しい。パノラマ画像を形成するためにスティッチされる、作成された画像内に、このような誤差によって大きなゆがみが形成されうる。
スティッチは、重なり領域内で選択する。立体視カメラペアの場合、左目用の画像の(1つまたは複数の)スティッチは、右目用の画像の(1つまたは複数の)スティッチに(オプションとして許容差の要件内で)対応するように選択することができる。スティッチの位置が対応していることによって、左側パノラマ画像と右側パノラマ画像との間の変動が防止または低減される。
調整された画像の選択されたスティッチの各々に近傍の1つまたは複数の範囲を分析する。分析する(1つまたは複数の)範囲は、要件(例えば、特定の数のピクセル、および/または特定の寸法)に基づくことができる。
選択されたスティッチの各々に近傍の各範囲内の各特徴点の両眼視差値を計算する。両眼視差値は、スティッチされる重なり合う画像を撮影したカメラに関連して計算する。例示的な特徴点としては、画像内の被写体、ピクセルまたはピクセルのグループの格子、画像内の境界領域が挙げられる。
各スティッチに近傍の各範囲の(および/または、各スティッチに近傍の複数の範囲の)、最も高頻度の両眼視差値を識別する。
各スティッチに近傍の範囲に関連付けられる投影球の半径値を、最も高頻度の両眼視差値に従って計算する。
この半径は、各スティッチに近傍の各範囲の(および/または、各スティッチに近傍の複数の範囲の)最も高頻度の両眼視差に従って、カメラの中心からそれぞれの(1つまたは複数の)被写体までの距離を定義する。
シーリングエリア(ceiling area)からの半径は、カメラの中心と天頂点(カメラの中心の真上の点)における被写体との間の距離として定義され、フロアエリア(floor area)からの半径は、カメラの中心と天底点(カメラの中心の真下の点)における被写体との間の距離として定義される。これらの半径(すなわち距離)は、左右のカメラのペアの間の視差に従って計算される。天底点および天頂点は、そこを過ぎるとカメラがシーン内で撮影することのできない位置を示す。カメラによって撮影される画像には、シーンのうち天頂点より上の部分および天底点より下の部分は撮影されない。天底点および天頂点は、カメラの盲点に相当する。天底点および天頂点は、これら盲点における視差を計算するための特徴を含むことがあり、例えば、天頂点が単純な空を表し、天底点が単純な床を表すことがある。このような場合、天頂および/または天底までの推定される距離および/または半径は、約5〜10度の最も近い上部円および/または下部円から計算され、内挿および/または外挿される。
114においては、ブロック108〜110を繰り返す。最も高頻度の両眼視差値に基づく半径値に従って、投影球を計算する。
各画像のスティッチの各々に近傍の(1つまたは複数の)範囲内に位置する領域のマッピングは、各それぞれのスティッチに関連付けられる半径値を有する投影球に従って実行する。
マッピングは、複数の重なり合う画像の各重なり領域のスティッチの各々に近傍の(1つまたは複数の)範囲に対して実行する。スティッチの各々に近傍の(1つまたは複数の)範囲の外側の、重なり合う画像の他の部分に対しては、必ずしもマッピングを実行しない。
オプションとして、重なり合う画像の各重なり領域のスティッチの各々に近傍の各範囲に、1つの深さ値を割り当てる。
オプションとして、調整された画像の(1つまたは複数の)スティッチは、選択される(1つまたは複数の)スティッチ内に現れる近い特徴および/または近接被写体に従って選択する。これら(1つまたは複数の)スティッチは、(1つまたは複数の)近い特徴および/または(1つまたは複数の)近接被写体を横切るように選択する。選択された(1つまたは複数の)スティッチを含む領域内に現れる各被写体および/または各特徴までの距離を、(1つまたは複数の)深さマップに基づいて推定する。1つまたは複数の近接被写体が、2枚以上の画像の領域内に位置しているときには、(1つまたは複数の)スティッチを、それら(1つまたは複数の)近接被写体および/または近い特徴を横切るように選択する。調整された画像を、近接被写体を横切るスティッチに沿ってスティッチすることにより、各近接被写体および/または特徴が1つ写し出される。(1つまたは複数の)スティッチが横切る近接被写体および/または近い特徴に従って(1つまたは複数の)スティッチを選択することによって、(例えば後の図5Bに描かれているように)結果としてのパノラマ画像において遠隔被写体が二重になることが防止または低減される。あるいは、選択される(1つまたは複数の)スティッチ内に、近接被写体および/または近い特徴が現れていないときには、(1つまたは複数の)スティッチを遠隔被写体に従って調整し、これにより、(例えば後の図5Cに描かれているように)結果としてのパノラマ画像から近接被写体が消失することが防止または低減される。
116においては、1つまたは複数のデジタルパノラマ画像(例えば各目のためのそれぞれのパノラマ画像)を作成するための調整されたデジタル画像を提供する。
オプションとして、調整されたデジタル画像を、オプションとして、選択されたスティッチに従ってスティッチし、(1つまたは複数の)デジタルパノラマ画像を作成する。
調整されたデジタル画像は、格納しておく目的で、および/または、スティッチしてデジタルパノラマ画像にする目的で、計算装置204によって(例えば処理済み画像リポジトリ216Aに)ローカルに格納する、および/または、それらデジタル画像を提供した元のクライアント端末212に送信する、および/または、別のサーバ220もしくは記憶装置222またはその両方に送信することができる。調整されたデジタル画像を、ディスプレイ(例:224)上でユーザに提示することができる。
作成された(1つまたは複数の)デジタルパノラマ画像は、ディスプレイ(例:224)上でユーザに提示する、および/または、クライアント端末212、記憶装置222、サーバ220、他の装置のうちの1つまたは複数に送信することができる。
次に図4A〜図4Dを参照し、これらの図は、(1つまたは複数の)カメラからの(すなわち調整されていない)、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、(1つまたは複数の)視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。図4Aおよび図4Cは、近接被写体に従っての調整を描いている。図4Bおよび図4Dは、遠隔被写体に従っての調整を描いている。
図4Aは、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像602を示している。個々の画像は、視差ずれに起因してスティッチ線604に沿って良好に整列していないことに留意されたい。これと比較して、パノラマ画像606は、本明細書に記載されているシステム、方法、および/またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された近接被写体(矢印608によって示してある)に従って調整されている。
図4Bは、視差ずれに関連付けられる生画像をスティッチすることによって作成された図4Aのパノラマ画像602を示している。これと比較して、パノラマ画像616は、本明細書に記載されているシステム、方法、および/またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された遠隔被写体(矢印618によって示してある)に従って調整されている。
図4Cは、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像622を示している。個々の画像は、視差ずれに起因してスティッチ線624に沿って良好に整列していないことに留意されたい。これと比較して、パノラマ画像626は、本明細書に記載されているシステム、方法、および/またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された近接被写体(矢印628によって示してある)に従って調整されている。
図4Dは、視差ずれに関連付けられる生画像をスティッチすることによって作成された図4Cのパノラマ画像622を示している。これと比較して、パノラマ画像636は、本明細書に記載されているシステム、方法、および/またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された遠隔被写体(矢印638によって示してある)に従って調整されている。
次に図5A〜図5Cを参照し、これらの図は、本明細書に記載されているシステム、方法、および/またはコード命令によって対処される技術的問題の理解を助けるための概略図である。
図5Aは、異なるカメラによって撮影された2枚の画像の間で視差ずれが生じるシナリオの例を描いている。第1の球502および第2の球504は、第1のカメラ510と第2のカメラ512の間の中心点508に関連する軸線506に沿って整列している。
第1のカメラ510によって撮影される第1の画像には、視野514の中で、第1の球502が第2の球504の左側に写される。
第2のカメラ512によって撮影される第2の画像には、視野516の中で、第1の球502が第2の球504の右側に写される。
図5Bは、第1の画像と第2の画像が合成される一例を描いている。第1のカメラ510は、軸線510Aに関連して画像を撮影する。第2のカメラ512は、軸線512Aに関連して画像を撮影する。第1のカメラ510によって撮影された第1の画像からのピクセルが、点K 518まで抽出される。第2のカメラ512によって撮影された第2の画像からのピクセルが、点K 518まで抽出される。
画像520は、第1の画像と第2の画像をスティッチすることによって作成された結果のパノラマ画像を描いている。第1の球502が第2の球504の背後で二重になっていることに留意されたい。
ブロック116に関連して上述したように、画像520は、近い方の第2の球504に沿って位置していないスティッチを不適切に選択することによって作成されており、遠い方の第1の球502が二重に形成されている。近い方の第2の球504に沿った(1つまたは複数の)スティッチを選択することによって、結果としてのパノラマ画像において第1の球502が二重になることが防止される。
図5Cは、第1の画像と第2の画像が合成される別の例を描いている。第1のカメラ510によって撮影された第1の画像からのピクセルが、点K’ 522まで抽出される。第2のカメラ512によって撮影された第2の画像からのピクセルが、点K’ 522まで抽出される。
画像524は、第1の画像と第2の画像をスティッチすることによって作成された結果のパノラマ画像を描いている。第1の球502のみが現れていることに留意されたい。第2の球504は画像524内に存在しない。
ブロック116に関連して上述したように、スティッチを不適切に選択する結果として、近い第2の球504が切り取られて、生成されるパノラマ画像524から第2の球504が完全に隠されている。
ここまで本発明のさまざまな実施形態を、実例を目的として説明してきたが、上記の説明は、すべてを網羅する、または開示される実施形態に限定されることを意図するものではない。この技術分野における通常の技術を有する者には、説明した実施形態の範囲および趣旨から逸脱することなく、多数の修正形態および変形形態が明らかであろう。本明細書において使用されている専門用語は、実施形態の原理、実際の用途、または市場に存在する技術に優る技術的改善を最良に説明するために、あるいは、この技術分野における通常の技術を有する者が、本明細書に開示されている実施形態を理解することができるように、選択されている。
本出願から発生する特許権の存続期間中、数多くの関連するパノラマ画像が開発されることが予測されるが、用語「パノラマ画像」の範囲は、このような新規の技術すべてをアプリオリに含むものとする。
本明細書において使用されている語「約」は、±10%を意味する。
語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、およびこれらの活用形は、「〜を含み、ただしそれらに限定されない」を意味する。この語は、語「〜からなる」および「本質的に〜からなる」を包含する。
「本質的に〜からなる」という表現は、組成物または方法が、追加の成分および/または追加のステップを含んでもよく、ただし、それら追加の成分および/または追加のステップが、特許請求の範囲に記載されている組成物または方法の基本的かつ新規の特徴を実質的に変化させない場合に限られることを意味する。
本明細書において使用されているとき、単数形(「a」、「an」、および「the」)は、文脈から明らかに複数の場合が除外されない限り、複数の場合も含む。例えば、語「化合物」または「少なくとも1種類の化合物」は、複数種類の化合物(それらの混合物を含む)を含むことができる。
語「例示的な」は、本明細書においては、「例、一例、または説明としての役割を果たす」を意味する目的で使用されている。「例示的な」として説明されている実施形態は、必ずしも他の実施形態よりも好ましい、または有利であるとは解釈されないものとする、および/または、他の実施形態の特徴を組み込むことが排除されないものとする。
語「オプションとして」は、本明細書においては、「いくつかの実施形態において設けられ、他の実施形態では設けられない」を意味する目的で使用されている。本発明のいずれの実施形態も、互いに矛盾しない限りは複数の「オプションの」特徴を含むことができる。
本出願の全体を通じて、本発明のさまざまな実施形態は、範囲形式で提示されていることがある。範囲形式での記述は、便宜上および簡潔さのみを目的としており、本発明の範囲を固定的に制限するようには解釈されないことを理解されたい。したがって、範囲の記述には、具体的に開示されている可能な部分範囲すべてと、その範囲内の個々の数値とが含まれるものとみなされたい。例えば、1〜6などの範囲の記述には、具体的に開示された部分範囲(例えば、1〜3、1〜4、1〜5、2〜4、2〜6、3〜6など)と、この範囲内の個々の数(例えば1、2、3、4、5、および6)とが含まれるものとみなされたい。このことは、範囲の広さにかかわらずあてはまる。
本明細書中に数値範囲が示されているときには、示された範囲内の任意の該当する数値(分数または整数)が含まれるものとする。第1の指示数と第2の指示数「との間の範囲」、および、第1の指示数「から」第2の指示数「までの範囲」という表現は、本明細書においては互換的に使用され、第1の示された数および第2の示された数と、それらの間のすべての分数および整数を含むものとする。
明確さを目的として個別の実施形態の文脈の中で説明されている本発明の特定の複数の特徴は、1つの実施形態の中に組み合わせて設けることもできることを理解されたい。逆に、簡潔さを目的として1つの実施形態の文脈の中で説明されている本発明のさまざまな特徴は、個別に設ける、または任意の適切な部分的な組合せとして設ける、または本発明の任意の他の説明されている実施形態において適切に設けることもできる。さまざまな実施形態の文脈の中で説明されている特定の特徴は、実施形態がそれらの要素なしでは動作・機能しない場合を除いて、それらの実施形態の本質的な特徴とはみなさないものとする。
本発明についてその特定の実施形態に関連して説明してきたが、当業者には多数の代替形態、修正形態、および変形形態が明らかであろう。したがって、添付の請求項の趣旨および広義の範囲内に含まれるすべての代替形態、修正形態、および変形形態を包含するように意図されている。
本明細書に記載されているすべての刊行物、特許、および特許出願は、これら個々の刊行物、特許、または特許出願それぞれが、参照によって本明細書に組み込まれることを明示的かつ個別に示されている場合と同じように、それぞれの全体が参照によって本明細書に組み込まれている。さらには、本出願において参考文献が引用または特定されていることは、そのような参考文献が本発明の従来技術として利用可能であることを自認するものとして解釈されない。セクションの見出しが使用されている場合、それらの見出しは必ずしも本発明を制限するものとして解釈されない。

Claims (19)

  1. デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理する、コンピュータによって実施される方法であって、
    それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するステップと、
    前記それぞれの第1のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するステップと、
    前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるステップであって、
    各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、回転させるステップと、
    各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするステップと、
    前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するステップと、
    パノラマ画像を作成するために、前記複数の調整された画像をスティッチするステップと、
    を含む、方法。
  2. 各それぞれの第2のポジションに関連付けられる領域と、前記それぞれの深さマップの対応する領域との間での前記マッピングが、
    前記画像を撮影した前記第1のポジションにおける前記それぞれのカメラの中心から、前記それぞれのカメラに関連付けられる前記深さマップの対応する領域までの複数の光線を計算するステップであって、各それぞれの光線の長さが、前記深さマップの前記対応する領域の前記距離値から得られる、計算するステップと、
    前記複数の光線の各々を、前記それぞれのカメラの前記中心から、前記それぞれのカメラの前記中心を中心とする投影球の表面まで平行移動させるステップであって、前記複数の光線の各々が前記投影球の接線であるように、前記それぞれの光線の方向、向き、および長さを維持しながら前記複数の光線の各々が平行移動される、ステップと、
    前記それぞれの長さを有する、前記複数の平行移動された光線の各々の遠位端部における領域を、前記それぞれのカメラによって撮影された前記画像の対応する領域に投影するステップと、
    前記それぞれのカメラによって撮影された前記画像の各領域の少なくとも1つのピクセルの強度値を、前記複数の平行移動された光線の各々の、前記深さマップの前記投影された領域の前記距離値、に従って調整するステップと、
    に基づいて計算される、
    請求項1に記載の方法。
  3. 前記マッピングが、前記それぞれのカメラの内部パラメータ行列および外部パラメータ行列に従って実行される、請求項1に記載の方法。
  4. 前記画像の対応する領域にマッピングすることのできない前記深さマップの領域に、強度スケールに従って最小強度値が割り当てられる、請求項1に記載の方法。
  5. 前記調整された複数の画像の少なくとも1つのスティッチを、前記複数の調整された画像内に現れる近接被写体に沿って選択するステップであって、前記近接被写体が、前記それぞれの深さマップに従って識別される、ステップ、
    をさらに含む、請求項1に記載の方法。
  6. 前記複数のカメラが、立体視ペアの第1のセットの重なり合う画像および第2のセットの重なり合う画像を撮影する立体視ペアのセットとして配置されており、前記それぞれの深さマップが、前記立体視ペアのカメラの各々に対して計算され、前記スティッチするステップが、調整された第1のセットの重なり合う画像と第2のセットの重なり合う画像をスティッチして、第1のパノラマ画像および第2のパノラマ画像を作成するステップを含む、請求項1に記載の方法。
  7. 前記スティッチするステップが、前記第1のパノラマ画像および前記第2のパノラマ画像の対応する位置に従って実行される、請求項6に記載の方法。
  8. 各立体視ペアに対して、
    前記立体視ペアの前記カメラの各々によって撮像された各対応する領域の間でマッピングするステップと、
    各対応する領域の3次元(3D)座標を、前記立体視ペアの前記カメラの各々によって撮影された画像に基づいて、それぞれの前記対応する領域の三角法によって、計算するステップと、
    各対応する領域の前記3D座標を、前記立体視ペアの各カメラの中心に対する向きおよび距離に従って変換するステップと、
    を実行することによって、前記立体視ペアのカメラの各々に対して、前記それぞれの深さマップが計算される、
    請求項6に記載の方法。
  9. 前記深さマップの未定義領域を補間するステップ、
    をさらに含む、請求項8に記載の方法。
  10. 前記複数の調整された画像の前記スティッチの各々に近傍の少なくとも1つの範囲を分析するステップであって、前記少なくとも1つの範囲が、重なり領域内に位置しており、前記少なくとも1つの範囲のサイズが要件に従って定義される、分析するステップと、
    少なくとも1つの各範囲内の各特徴点の両眼視差値を計算するステップと、
    各スティッチについて、それぞれの前記スティッチの前記少なくとも1つの範囲の最も高頻度の両眼視差値を識別するステップと、
    各スティッチについて、前記最も高頻度の両眼視差値に従って半径値を計算するステップと、
    をさらに含み、
    各画像の前記スティッチの各々に近傍の前記少なくとも1つの範囲内に位置する各画像の領域の前記マッピングが、それぞれの前記スティッチに関連付けられる前記半径値を有する投影球に従って実行される、
    請求項1に記載の方法。
  11. 各重なり領域の前記スティッチの各々に近傍の前記少なくとも1つの範囲に、1つの深さ値が割り当てられる、請求項10に記載の方法。
  12. 前記マッピングが、前記複数の調整された画像の各重なり領域の前記スティッチの各々に近傍の前記少なくとも1つの範囲に対して、実行される、請求項10に記載の方法。
  13. 前記複数の調整された画像の、前記スティッチの各々に近傍の前記少なくとも1つの範囲の外側の他の部分、に対しては、前記マッピングが実行されない、請求項12に記載の方法。
  14. 前記複数のカメラが、異なる位置に動かされる1台のカメラを表す、請求項1に記載の方法。
  15. 前記深さマップが、2次元(2D)データ構造として実施され、距離を表す前記値が、前記複数のカメラの各それぞれのカメラによって撮影された画像ごとに計算される、請求項1に記載の方法。
  16. 前記深さマップが、被写体の動きに起因する前記深さマップ間の変動を回避する時間要件内で、前記複数のカメラの各カメラに対して計算される、請求項1に記載の方法。
  17. 受信される複数の前記デジタル画像が、360×180の視野を撮影しており、前記複数のデジタル画像の少なくとも1枚が、4枚の別のデジタル画像と重なる、請求項1に記載の方法。
  18. デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するシステムであって、
    計算装置の少なくとも1つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、前記コードが、
    それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するためのコードと、
    前記それぞれの第1のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するためのコードと、
    前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるためのコードであって、
    各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、コードと、
    各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするためのコードと、
    前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するためのコードと、
    パノラマ画像を作成するために、前記複数の調整された画像をスティッチするためのコードと、
    を備えている、
    システム。
  19. デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するコンピュータプログラム製品であって、
    計算装置の少なくとも1つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、前記コードが、
    それぞれの第1のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するための命令と、
    前記それぞれの第1のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するための命令と、
    前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第2のポジションまで仮想的に回転させるための命令であって、
    各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、命令と、
    各それぞれの第2のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするための命令と、
    前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するための命令と、
    パノラマ画像を作成するために、前記複数の調整された画像をスティッチするための命令と、
    を備えている、
    コンピュータプログラム製品。
JP2019571284A 2017-07-06 2018-04-16 デジタル画像を適応的にスティッチするシステムおよび方法 Pending JP2020525912A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/642,377 2017-07-06
US15/642,377 US10373362B2 (en) 2017-07-06 2017-07-06 Systems and methods for adaptive stitching of digital images
PCT/IL2018/050426 WO2019008564A1 (en) 2017-07-06 2018-04-16 SYSTEMS AND METHODS FOR ADAPTIVE ASSEMBLY OF DIGITAL IMAGES

Publications (1)

Publication Number Publication Date
JP2020525912A true JP2020525912A (ja) 2020-08-27

Family

ID=64902807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019571284A Pending JP2020525912A (ja) 2017-07-06 2018-04-16 デジタル画像を適応的にスティッチするシステムおよび方法

Country Status (4)

Country Link
US (1) US10373362B2 (ja)
EP (1) EP3649619A4 (ja)
JP (1) JP2020525912A (ja)
WO (1) WO2019008564A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818554B (zh) * 2016-09-12 2023-04-21 索尼公司 信息处理设备和信息处理方法
US10339627B2 (en) * 2016-10-10 2019-07-02 Gopro, Inc. Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image
US10373362B2 (en) 2017-07-06 2019-08-06 Humaneyes Technologies Ltd. Systems and methods for adaptive stitching of digital images
US10482619B2 (en) * 2017-07-27 2019-11-19 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11348269B1 (en) * 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
CN108470323B (zh) * 2018-03-13 2020-07-31 京东方科技集团股份有限公司 一种图像拼接方法、计算机设备及显示装置
US20200104977A1 (en) * 2018-09-30 2020-04-02 Augentix Inc. Method of Adaptive Image Stitching and Image Processing Device
CN109769110B (zh) * 2019-01-22 2020-07-14 影石创新科技股份有限公司 一种3d小行星动态图的生成方法、装置及便携式终端
EP3691249A1 (en) * 2019-01-29 2020-08-05 Koninklijke Philips N.V. Image signal representing a scene
CN109982036A (zh) * 2019-02-20 2019-07-05 华为技术有限公司 一种全景视频数据处理的方法、终端以及存储介质
JP7247327B2 (ja) * 2019-04-01 2023-03-28 グーグル エルエルシー ダイナミックデプス画像を撮影して編集するための手法
US11568516B2 (en) 2019-09-12 2023-01-31 Nikon Corporation Depth-based image stitching for handling parallax
CN112565625A (zh) * 2019-09-26 2021-03-26 北京小米移动软件有限公司 视频处理方法、装置及介质
CN110849328B (zh) * 2019-11-26 2022-03-18 安徽德睿智能技术有限公司 一种基于双目视觉的晶体硅测量装置
CN111047510B (zh) * 2019-12-17 2023-02-14 大连理工大学 一种基于标定的大视场角图像实时拼接方法
CN111062873B (zh) * 2019-12-17 2021-09-24 大连理工大学 一种基于多对双目相机的视差图像拼接与可视化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10155104A (ja) * 1996-11-22 1998-06-09 Canon Inc 複眼撮像方法及び装置並びに記憶媒体
JPH10178564A (ja) * 1996-10-17 1998-06-30 Sharp Corp パノラマ画像作成装置及び記録媒体
JP2015149059A (ja) * 2014-02-08 2015-08-20 本田技研工業株式会社 繰り返し補間及びワーピングにより奥行マップを生成するシステム及び方法
JP2016171463A (ja) * 2015-03-12 2016-09-23 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2016201668A (ja) * 2015-04-09 2016-12-01 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2017108387A (ja) * 2015-10-28 2017-06-15 トッパノ カンパニ, リミテッド.Toppano Co., Ltd. パノラマ魚眼カメラの画像較正、スティッチ、および深さ再構成方法、ならびにそのシステム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987164A (en) * 1997-08-01 1999-11-16 Microsoft Corporation Block adjustment method and apparatus for construction of image mosaics
US7006709B2 (en) * 2002-06-15 2006-02-28 Microsoft Corporation System and method deghosting mosaics using multiperspective plane sweep
US8134589B2 (en) * 2008-07-17 2012-03-13 Eastman Kodak Company Zoom by multiple image capture
CN102232294B (zh) * 2008-12-01 2014-12-10 图象公司 用于呈现具有内容自适应信息的三维动态影像的方法和系统
US8428342B2 (en) * 2010-08-12 2013-04-23 At&T Intellectual Property I, L.P. Apparatus and method for providing three dimensional media content
JP5891388B2 (ja) * 2011-03-31 2016-03-23 パナソニックIpマネジメント株式会社 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム
US8581961B2 (en) 2011-03-31 2013-11-12 Vangogh Imaging, Inc. Stereoscopic panoramic video capture system using surface identification and distance registration technique
KR101804205B1 (ko) * 2012-03-15 2017-12-04 삼성전자주식회사 영상 처리 장치 및 방법
US20150178988A1 (en) * 2012-05-22 2015-06-25 Telefonica, S.A. Method and a system for generating a realistic 3d reconstruction model for an object or being
US20140098100A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
WO2014152855A2 (en) * 2013-03-14 2014-09-25 Geerds Joergen Camera system
US9398215B2 (en) 2013-04-16 2016-07-19 Eth Zurich Stereoscopic panoramas
US9390344B2 (en) 2014-01-09 2016-07-12 Qualcomm Incorporated Sensor-based camera motion detection for unconstrained slam
US9697647B2 (en) * 2014-04-28 2017-07-04 The Regents Of The University Of Michigan Blending real and virtual construction jobsite objects in a dynamic augmented reality scene of a construction jobsite in real-time
US9541740B2 (en) * 2014-06-20 2017-01-10 Qualcomm Incorporated Folded optic array camera using refractive prisms
US9877016B2 (en) * 2015-05-27 2018-01-23 Google Llc Omnistereo capture and render of panoramic virtual reality content
US10469828B2 (en) * 2015-07-13 2019-11-05 Texas Instruments Incorporated Three-dimensional dense structure from motion with stereo vision
US9277122B1 (en) 2015-08-13 2016-03-01 Legend3D, Inc. System and method for removing camera rotation from a panoramic video
US10373362B2 (en) 2017-07-06 2019-08-06 Humaneyes Technologies Ltd. Systems and methods for adaptive stitching of digital images

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10178564A (ja) * 1996-10-17 1998-06-30 Sharp Corp パノラマ画像作成装置及び記録媒体
JPH10155104A (ja) * 1996-11-22 1998-06-09 Canon Inc 複眼撮像方法及び装置並びに記憶媒体
JP2015149059A (ja) * 2014-02-08 2015-08-20 本田技研工業株式会社 繰り返し補間及びワーピングにより奥行マップを生成するシステム及び方法
JP2016171463A (ja) * 2015-03-12 2016-09-23 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2016201668A (ja) * 2015-04-09 2016-12-01 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2017108387A (ja) * 2015-10-28 2017-06-15 トッパノ カンパニ, リミテッド.Toppano Co., Ltd. パノラマ魚眼カメラの画像較正、スティッチ、および深さ再構成方法、ならびにそのシステム

Also Published As

Publication number Publication date
EP3649619A4 (en) 2021-03-10
EP3649619A1 (en) 2020-05-13
US20190012818A1 (en) 2019-01-10
WO2019008564A1 (en) 2019-01-10
US10373362B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
JP2020525912A (ja) デジタル画像を適応的にスティッチするシステムおよび方法
US11869205B1 (en) Techniques for determining a three-dimensional representation of a surface of an object from a set of images
US11106275B2 (en) Virtual 3D methods, systems and software
JP6427688B2 (ja) パノラマバーチャルリアリティコンテンツの全方位ステレオキャプチャおよびレンダリング
JP6484349B2 (ja) カメラリグおよび立体画像キャプチャ
US10430994B1 (en) Techniques for determining a three-dimensional textured representation of a surface of an object from a set of images with varying formats
US10540818B2 (en) Stereo image generation and interactive playback
US20150379720A1 (en) Methods for converting two-dimensional images into three-dimensional images
Thatte et al. Depth augmented stereo panorama for cinematic virtual reality with head-motion parallax
WO2017128887A1 (zh) 全景图像的校正3d显示方法和系统及装置
WO2018035347A1 (en) Multi-tier camera rig for stereoscopic image capture
US20180329602A1 (en) Vantage generation and interactive playback
GB2554925A (en) Display of visual data with a virtual reality headset
JP2013223008A (ja) 画像処理装置及び方法
US20230152883A1 (en) Scene processing for holographic displays
US20230122149A1 (en) Asymmetric communication system with viewer position indications
WO2019026388A1 (ja) 画像生成装置および画像生成方法
WO2019026184A1 (ja) 画像生成装置および画像生成方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20200813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200813

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230104