Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6951166B2 - ビデオにおける仮想オブジェクトをボカす方法及びデバイス - Google Patents
[go: Go Back, main page]

JP6951166B2 - ビデオにおける仮想オブジェクトをボカす方法及びデバイス - Google Patents

ビデオにおける仮想オブジェクトをボカす方法及びデバイス Download PDF

Info

Publication number
JP6951166B2
JP6951166B2 JP2017176271A JP2017176271A JP6951166B2 JP 6951166 B2 JP6951166 B2 JP 6951166B2 JP 2017176271 A JP2017176271 A JP 2017176271A JP 2017176271 A JP2017176271 A JP 2017176271A JP 6951166 B2 JP6951166 B2 JP 6951166B2
Authority
JP
Japan
Prior art keywords
initial
current
image
virtual object
pose
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
JP2017176271A
Other languages
English (en)
Other versions
JP2018049614A (ja
JP2018049614A5 (ja
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 JP2018049614A publication Critical patent/JP2018049614A/ja
Publication of JP2018049614A5 publication Critical patent/JP2018049614A5/ja
Application granted granted Critical
Publication of JP6951166B2 publication Critical patent/JP6951166B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/14Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of gyroscopes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

開示される方法、装置及びシステムの技術分野は、仮想オブジェクトがビデオを取得中にビデオに挿入される拡張現実(augmented reality)に関連する。
拡張現実の1つの態様は、ビデオの中で、実際のシーン(real scene)を仮想オブジェクトと合成することである。高速で動く実際のオブジェクトからビデオが取得されるとき、その結果生じるビデオは、一般に、いわゆるモーションブラー(motion blur:被写体ぶれ)を含む。実際のシーンからビデオが取得された場合、現実のオブジェクトのモーションブラーは、カメラによって必然的に取得される。アニメフィルムの場合は、モーションブラーは、アニメのオブジェクトの動きからコンピュータ的に作り出される。現実のシーンと仮想オブジェクトの両方をミックスする、拡張現実アプリケーションの場合は、ポストプロダクションの一部として、既に取得されたビデオに挿入された仮想オブジェクトをボカすためのいくつかの方法が知られており、そして、それらは通常コンピュータで集中的に行われる。ボカすこと(blurring)は、例えば、仮想オブジェクトの動きの知識から、又はイメージ処理技法からビデオで検出された動きから、取得される。しかしながら、動くデバイスによって取得されたビデオで、且つ取得デバイスによってそのビデオに仮想オブジェクトが挿入される場合は、ビデオに挿入された仮想オブジェクトをボケさせるための取得デバイスに直接適用可能な既知の方法はない。結果として生じたビデオは、仮想オブジェクトがボケたビデオにおいて余りにシャープであるので、現実味に欠けることになる。拡張現実アプリケーションの結果を改善するために、キャプチャするデバイスによって取得されたビデオに挿入された仮想オブジェクトをリアルタイムでボカす方法が必要である。そのような新たな方法は、例えば、モバイルデバイス上の新しい拡張現実アプリケーションの範囲を可能にするだろう。
実際のシーンをキャプチャするデバイスによってビデオが取得されるにつれて、リアルタイムでビデオにおける仮想オブジェクトをボカすために、顕著なアイデアは、2つの連続するデバイスポーズでキャプチャされる、2つの連続するイメージの間の見かけの動きベクトルを推定することを含み、見かけの動きベクタルの推定は、デバイスの動きに基づいている。連続するイメージは、次に、推定された見かけの動きベクトルに基づいてフィルタ処理される。そのために、シーンからデバイスによってキャプチャされたビデオにおいて仮想オブジェクトをボケさせる方法が開示される。デバイスによって実行される方法は、下記を含む:
・ビデオの初期イメージをキャプチャすること;
・ビデオの現在のイメージをキャプチャすること;
・デバイスの動きに基づいて、初期イメージと現在イメージとの間の仮想オブジェクトの見かけの動きベクトルを推定すること;
・見かけの動きベクトル(30)に基づいて現在のイメージの少なくとも一部をフィルタ処理すること。
特定の有利な変形例によるとデバイスは、さらに、少なくとも1つの動きセンサと、初期デバイスポーズでデバイスによってキャプチャされた初期イメージと、現在のデバイスポーズでデバイスによってキャプチャされた現在のイメージと、デバイスの少なくとも1つの動きセンサによって生成されたデータから取得され、初期デバイスポーズから現在のデイバスポーズへ動く、デバイスの動きと、を含む。
別の特定の有利な変形例によると、見かけの動きベクトルを推定することが、さらに、初期デバイスポーズとデバイスの動きに基づいて、現在のデバイスポーズを推定することを含む。
別の特定の有利な変形例によると、方法はさらに、見かけの動きベクトル及び初期イメージにおける初期オブジェクトロケーションに基づいて現在のイメージにおける現在のオブジェクトロケーションを推定することを含み、初期オブジェクトロケーションは、仮想オブジェクトの頂点と関連し、現在のオブジェクトロケーションは、頂点に関連する。
別の特定の有利な変形例によると、仮想オブジェクトがシーンにおける軌道を有し、方法がさらに、
軌道及び初期オブジェクトポジションに基づいて現在のオブジェクトポジションを推定することであって、初期オブジェクトポジションは仮想オブジェクトの頂点に対応し、現在のオブジェクトのポジションは、頂点に対応し、
現在のイメージにおける現在のオブジェクトポジションの投射に基づいて現在のイメージにおける現在のオブジェクトロケーションを推定することであって、現在のオブジェクトロケーションは頂点に対応する、を含む。
別の特定の有利な変形例によると仮想オブジェクトの見かけの動きベクトルの推定は、現在のイメージにおける現在のオブジェクトロケーションと初期イメージにおける初期オブジェクトロケーションとの間の差に基づき、初期オブジェクトロケーションは、頂点と関連する。
別の特定の有利な変形例によると、フィルタ処理することがさらに、空間フィルタ長と空間フィルタ方向を決定することを含み、空間フィルタ方向は、見かけの動きベクトルの方向に対応し、空間フィルタ長は、見かけの動きベクトルのモジュールの因子であり、空間フィルタ長は、隣接する画素の数に対応している。
別の特定の有利な変形例によると、因子は、デバイスのシャッタアパーチャ期間に対応する。
別の特定の有利な変形例によると、現在のイメージの少なくとも一部をフィルタ処理することは、
現在のイメージに対する仮想オブジェクトのマスクを取得することであって、マスクは、仮想オブジェクトに対応する現在のイメージの各ピクセルに対する非ゼロの色値と重み値を含み、
決定された空間フィルタに従ってマスクを空間的にフィルタ処理することと、
現在のイメージを仮想オブジェクトの空間的にフィルタ処理されたマスクと混ぜ合わせることと、
を含む。
別の特定の有利な変形例によると、方法は、さらに、先行するデバイスポーズでデイバスによってキャプチャされた先行するイメージに基づいて初期デバイスポーズを推定することをさらに含み、初期デバイスポーズを推定することは、さらに先行するデバイスポーズと、先行するデバイスポーズから初期デバイスポーズへのデバイスの先行する動きに基づく。
別の特定の有利な変形例によると、方法はさらに、
ユーザインタフェースから、初期イメージに仮想オブジェクトを挿入することであって、挿入することは、仮想オブジェクトの頂点を、初期イメージにおける初期オブジェクトロケーションと関連付けることを含み、
初期オブジェクトロケーションに対応する初期オブジェクトポジションに対して初期デバイスポーズを推定することと、
を含む。
第2の態様において、ビデオをキャプチャし、ビデオにおいて仮想オブジェクトをボカすデバイスがまた開示される。デバイスは、
ビデオの初期イメージをキャプチャする手段と、
ビデオの現在のイメージをキャプチャする手段と、
デイバスの動きに基づいて、初期イメージと現在のイメージとの間の仮想オブジェクトの見かけの動きベクトルを推定する手段と、
見かけの動きベクトルに基づいて現在のイメージの少なくとも1部をフィルタ処理するための手段と、
を備える
第3の態様において、ビデオをキャプチャし、ビデオにおいて仮想オブジェクトをボカすデバイスがまた開示される。デバイスは、
ビデオの初期イメージをキャプチャし、
ビデオの現在のイメージをキャプチャし、
デバイスの動きに基づいて、初期イメージと現在のイメージとの間の仮想オブジェクトの見かけの動きベクトルを推定し、
見かけの動きベクトルに基づいて現在のイメージの少なくとも1部にフィルタ処理する、
ように構成されたカメラを備える。
第4の態様において、シーンからキャプチャされたビデオにおける仮想オブジェクトをボカすコンピュータプログラムも開示される。コンピュータプログラムは、プロセッサによって、
ビデオの初期イメージをキャプチャすることと、
ビデオの現在のイメージをキャプチャすることと、
デバイスの動きに基づいて、初期イメージと現在のイメージとの間の仮想オブジェクトの見かけの動きベクトルを推定することと、
見かけの動きベクトルに基づいて現在のイメージの少なくとも1部にフィルタ処理することと、
を実行可能なプログラムコード命令を含む。
第5の態様において、発明は、開示される方法を実行するコンピュータで実行可能なプログラム命令を記憶するコンピュータ読取可能記憶媒体を対象とする。
第6の態様において、発明は、開示される方法を実行する少なくとも1つのプロセッサによって実行するためのプログラムコードの命令を含むコンピュータプログラム製品を対象とする。
明示的に説明されていないとしても、本実施形態は、任意のコンビネーション又はサブコンビネーションで用いることができる。例えば、本原理は、説明される変形例には限定されず、変形例及び実施形態の任意のアレンジで使用することができる。さらに、本原理は、説明されるイメージサンプリング及びイメージ/オブジェクト初期化例に限定されない。本原理は、さらに、説明されるポーズ推定方法に限定されず、デバイスポーズ推定方法の任意の他の種類に適用可能である。本原理は、説明されるオブジェクトの軌道にさらに限定されない。
加えて、本方法を説明するための任意の特徴、変形例又は実施形態は、開示される方法を処理することを目的とするデバイス、開示される方法を処理するプロセッサによって実行可能なプログラムコード命令を含むコンピュータプログラム及びプログラム命令を記憶するコンピュータ読取可能記憶媒体と互換性がある。
特定且つ非制限的な実施形態による、ビデオ中の仮想オブジェクトをボカすための方法を説明する。 特定且つ非制限的な実施形態による、シーンからビデオをキャプチャし、仮想オブジェクトを挿入する例を説明する。 特定且つ非制限的な実施形態による、見かけの動きベクトルを表す。 特定且つ非制限的な実施形態による、ビデオ中の仮想オブジェクトをボカすためのフィルタ処理の例を表す。 特定且つ非制限的な実施形態による、ビデオ中の仮想オブジェクトをボカす処理デバイスを表す。 特定且つ非制限的な実施形態による、図5の処理デバイスのアーキテクチャの例を表す。
図1は、特定且つ非制限的な実施形態によるビデオ中の仮想オブジェクトをボカす方法を説明する。図1は、特定且つ非制限的な実施形態による例となるビデオキャプチャ及び仮想オブジェクト20の挿入を説明する、図2に関連してさらに説明する。明確にする目的で制限なく、シーン2のビデオをキャプチャするカメラに実装される方法を説明する。しかし、イメージシーケンスをキャプチャするように適合するカメラを組み込む例えばスマートフォン又はタブレットにおける任意の他の実装は、説明される原理と互換性がある。他の説明の至る所で、デバイス1の一般的な用語は、キャプチャするデバイスに関して使用される。シーン2は、実際のシーンとして理解されるべきであり、その実際のシーンのキャプチャされたビデオは、アートビデオキャプチャコンポーネントの状態を使用する、その実際のシーンからの一連のイメージである。
ステップS100において、デバイス1は、初期化される。制限なく、デバイス初期化は、デバイス1のハードウェア及びソフトウェアの初期化の様々なステップを含む。デバイス初期化(device initialization)は、また、ビデオキャプチャに先行する様々なステップを含み、それらは、例えば、シーンに対してふさわしい場所でのデバイス1のポジショニング及び方向合わせ、フォーカス、ズーム、絞りなどのカメラのパラメータの調整などを含む。
ステップS110において、初期イメージ(initial image)210は、デバイス1が初期デバイスポーズ(initial device pose)21にあるときに、デバイス1によってキャプチャされる。制限なく、3次元空間におけるデバイスポーズは、その空間におけるポジション(position)と方向(orientation)を含む。ポジションは、デバイスがある場所を定義し、方向は、それがいかに回転しているかを定義する。本説明を通してより一般的に、且つ明確性のために、用語ポーズ(pose)は、3次元空間におけるデバイス/オブジェクトのポジション(position)を指定し、一方、用語ロケーション(location)は、イメージにおける点(point)/頂点(vertex)の2次元のロケーションを指定する。
ステップS120において、デバイス1は、現在のデバイスポーズ22にあるとき、現在のイメージ220は、デバイス1によってキャプチャされる。制限なく、開示される原理は、ビデオキャプチャの間のデバイスの動きが純粋な回転によって近似されると仮定する。手持ちのカメラで人々がキャプチャした広い範囲のビデオに対応する場合、そのような近似は、妥当である。明確性の目的で且つ制限なく、初期デバイスポーズにおいてキャプチャされた初期イメージ、現在のデバイスポーズにおいてキャプチャされた現在のイメージとの間で方法が説明され、仮想オブジェクトは、現在のイメージに挿入される。しかし、ビデオシーケンスの様々なイメージの間で、方法は、最初からずっとビデオに適用可能である。例えば、方法は、反復プロセスに続く、初期イメージと先行イメージとの間にも適用可能である。さらに、初期イメージと現在のイメージを決定するためのビデオシーケンスのサンプリングに対する任意の変形例も開示される原理に適用可能である:第1の例において、ビデオシーケンスのすべてのキャプチャされたイメージは、ビデオシーケンスの先行するイメージに対して、現在のイメージとして、本方法によって処理される。ビデオサンプリングの第2の例において、1つだけ、2つ又は3つおき、又は任意の他の数のイメージが、ビデオシーケンスの先行するイメージに対して、現在のイメージとして処理される。
ステップS130において、挿入された仮想オブジェクト(inserted virtual object)20の見かけの動きベクトル30(apparent motion vector)は、推定される(estimated)。現在のイメージ220と初期イメージ210との間の見かけの動きベクトル30の例が、図3で説明される。見かけの動きベクトル30は、現在のイメージ221の領域(area)と初期イメージ210の領域との間のイメージのロケーションの差として定義され、両方の領域は、挿入された仮想オブジェクトの同じ部分に対応する。例えば、図2と図3によって説明されるように、仮想オブジェクト20は、仮想オブジェクト20の3D位置に対応する頂点200を含む。仮想オブジェクト20は、現在のイメージ220に挿入されるので、現在のイメージ220における頂点200の投射(projection)は、現在のイメージ220におけるロケーション221に置かれたイメージ点に対応する。仮想オブジェクト20の頂点200は、現在のイメージ22における現在のオブジェクトロケーション221に関連する。図2と図3は、また、初期イメージ210に挿入された仮想オブジェクト20の頂点200に関連する初期オブジェクトロケーション211を含む。図3は、現在のイメージ220での見かけの動きベクトル30を図示する。現在のイメージ220と初期イメージ210との間の見かけの動きベクトル30は、現在のオブジェクトロケーション221と初期オブジェクトロケーション211との間の差であり、初期オブジェクトロケーション221と現在のオブジェクトロケーション221は、仮想オブジェクトの同じ頂点200に関連する。明確性のために且つ制限なく、本方法は、イメージ210、220のそれぞれにおけるイメージロケーション211、221に関連する点に対応する頂点200の例を使用して説明されるが、例えば仮想オブジェクト20の領域、又は点群を使用した任意の他の変形例も開示される原理と互換性がある。
特定の実施形態によると、デバイス1は、デバイス1の少なくとも角速度(angular rates)を測定し報告するための加速度計及びジャイロスコープの組合せを使用する、慣性測定ユニット(IMU:Inertial Measurement Unit)を備える。例えば、デバイス1は、初期ポーズ21から現在のポーズ22へ動くにつれて、デバイス1の動きは、デバイス1の組み込まれたIMUによって生成されるデータから取得される。明確性の目的で且つ制限なく、本方法は、初期デバイスポーズ21と現在のデバイスポーズ22との間の動きに基づいて説明されるが、動きをサンプリングする任意の他の手段は、開示される原理と互換性がある。明確性の目的で且つ一般性を失わずに、用語「慣性センサ(inertial sensor)」又は「IMU(Inertial Measurement Unit:慣性測定ユニット)」は、デバイスの動きを測定し、報告するのに適合するセンサを説明するために使用される。例えば加速度計などの、デバイスの動きを測定し、報告することに適合する任意の動きセンサは、開示される原理と互換性がある。
見かけの動きベクトル30を推定することは、初期デバイスポーズ及び初期デバイスポーズ21から現在のデバイスポーズ22へのデバイス1の動きに基づいて現在のデイバスポーズ22を推定することを含み、動きは、例えば、デイバス1のIMUによって生成されるデータから取得される。
より正式には:
(t−1)4×4行列は、例えば、デバイス座標系とワールド座標系(WCS)との間の回転並進変換(rotation translation transformation)として、時刻(t−1)における初期デバイスポーズ21に対応し;
4×4行列は、IMU座標系からデバイス座標系(CCS)への固定変換(rigid transformation)に対応し、はその逆(inverse)であり;
瞬間tでのIMUによって返されるデータから推定される(t)4×4回転行列は、t−1とtとの間で計算された方向(orientation)の変化に対応する。例えば、IMUに組み込まれた、ジャイロスコープは、3つ組の生の値を提供し、それらの値は、さらに角速度に変換され、その方向が回転の方向を示し、その大きさがrad/sでの回転速度を示すベクトルである。所望の時間間隔に亘る積分は、回転の軸角度表現(axis-angle representation)を与え、それは、次に、ロドリゲスの式(Rodrigues formula)を使用して回転行列に変換される。
(t)4×4行列は、例えば、デバイス座標系とワールド座標系(WCS)との間の回転並進変換として、時間(t)における現在のデイバスポーズ22に対応し;
現在のデバイスポーズ22、(t)は、下記のとおり計算される:
Figure 0006951166
デバイスと慣性センサとの間の固定変換()は、例えば、2007年6月に発行されたインターナショナルジャーナルオブロボティクスリサーチ(the International Journal of Robotics Research)の「視覚センサと慣性センサとの間の相対ポーズキャリブレーション(Relative Pose Calibration between visual and inertial sensors)」においてジョージ・ロ(Jorge Lo)とジョージ・ディアス(Jorge Dias)によって説明された方法により推定される。
この式によると、(t)で示される現在のデバイスポーズ22は、(t−1)で示される初期デバイスポーズ21及びデバイス1の動きから推定され、デバイスの動きは、デバイス1が初期デバイスポーズ21から現在のデバイスポーズ22へ動くにつれて、組み込まれたIMUによって生成されたデータから取得される。
・静止している仮想オブジェクト(STATIONARY VIRTUAL OBJECT)
第1の実施形態によると、ビデオに挿入される仮想オブジェクト20は、静止している仮想オブジェクトである。仮想オブジェクトは、シーンに対して動きがない。ステップS130において、例えば、デバイス1が、初期デバイスポーズ21から現在のデバイスポーズ22へ動くにつれて、デバイス1の組み込まれたIMUによって生成されたデータから、見かけの動きベクトル30は取得される。仮想オブジェクト20は、キャプチャされたシーンに関して静止しており、見かけの動きベクトルは、キャプチャするデバイスの動きだけに依存する。さらに、ビデオキャプチャの間のデバイスの動きは、純粋な回転によって近似されるので、デバイスの全体のしかし近似された動きは、デイバス1のIMUによって生成される角速度から取得することができる。見かけの動きベクトルを推定することに関して静止した仮想オブジェクトとデイバスポーズとの間の距離を無視することができるので、純粋な回転によって動きを近似し且つデバイスの並進(translations)を無視することは、さらに利点がある:開示される原理によれば、そのような場合、その挿入をボカすこと対して仮想オブジェクトの3次元の知識を持つ必要が本当にない。実際に、見かけの動きベクトル30は、上述のとおり、初期デバイスポーズ21とデバイス1の動きとに基づいて現在のデイバスポーズ22を推定することによって取得される。第2の実施形態(後述する)に反して、現在のオブジェクトロケーション21を決定することは、デバイス1に対する3次元空間における仮想オブジェクト20のポジションの知識を必要としない。現在のオブジェクトロケーション221は、初期オブジェクトロケーション221と、組み込まれたIMUによって生成されるデータから取得される見かけの動きベクトル30とから直接取得される。初期オブジェクトロケーションを決定するための様々な変形例が後述される。
スッテプS140において、現在のイメージ220の少なくとも一部は、見かけの動きベクトル30に基づいてフィルタ処理される。より正確には、空間フィルタ(spatial filter)は、見かけの動きベクトル30に基づいて決定される。空間フィルタは、例えば、ガウシアンフィルタ(Gaussian filter)である。別の有利な例において、空間フィルタは、矩形フィルタ(rectangular filter)である。矩形フィルタを使用すると、それがイメージキャプチャの物理特性に対応するので有利である:期間の間窓(window)は開いており、その時間間隔の間その窓を通り抜ける光が平均化される。より正確には、推定される見かけの動きベクトル30は、ボカす効果を作り出すフィルタパラメータを決定するために使用される。これらのフィルタパラメータは、図4に説明されるように、フィルタ長(filter length)401とフィルタ方向(filter direction)400を含む。これらのフィルタパラメータは、見かけの動きベクトル30モジュールと方向に直接リンクしている。フィルタ方向400は、見かけの動きベクトル30の方向である。挿入される仮想オブジェクトの画素40に適用されるフィルタ長401は、対応するオブジェクトロケーションでの、見かけの動きベクトル30のモジュールの倍数因子であり、それは、平均化された隣接する画素数に対応している。図4で説明される例において、フィルタのフィルタ長401は、3つの点41、42、43によって表される3つの画素に対応する。倍数(乗法)因子(multiplicative factor)は、例えば、シャッタアパーチャ期間(shutter aperture duration)である。より正式には、例えば、長さLの矩形ウインドウフィルタ(rectangular window filter)を考えると、Lは以下の式によって定義され:
(外1)
Figure 0006951166
ここでτは、シャッタアパーチャ期間であり、
(外2)
Figure 0006951166
は、画素数で定義され、初期イメージ210と現在のイメージ220との間で測定される、見かけの動きベクトル30のモジュールであり、τは、初期イメージ210と現在のイメージ220との間の時間間隔の一部である。フィルタの方向は、見かけの動きベクトル
(外3)
Figure 0006951166
の方向である。
シャッタアパーチャ期間τが不知であり、しかし固定の場合、オフラインキャリブレーションプロセスから推定され、オフラインキャリブレーションプロセスは、真っ直ぐなエッジ(straight edges)を持つキャリブレーションパタンの前でモバイルデバイスを回転すること、このパターンのイメージをキャプチャすること及びイメージにおいてこれらのエッジの斜面を分析することを含む。フィルタ長401の倍数因子は、斜面の傾きを推定することから取得される。
現在のイメージ220の少なくとも一部でのフィルタ処理S140は、さらに、現在のイメージ220に対する仮想オブジェクト20のマスク(mask)を取得することを含み、このマスクは、空ではない色値(color value)及び仮想オブジェクトに対応する現在のイメージの各画素に対する1つの重み値(weight value)を含む。言い換えれば、マスクは、挿入される仮想オブジェクトに関連するデータのみを含み、実際のシーンに関連するデータを含まない。仮想オブジェクトに属するマスクの画素は、仮想オブジェクトの色値とその重みを有する。他の画素は、ゼロの重みを有する。マスクは、色値と重み値の両方に対する決定された空間フィルタによって空間的にフィルタ処理される。その結果得られるボケた現在のイメージは、現在のイメージ220が仮想オブジェクト20の空間フィルタ処理されたマスクを混ぜ合わせることによって取得される。
図4は、さらに、マスクの画素40に適用される、空間フィルタリング処理を説明する。例えば、画素40は、現在のオブジェクトロケーション221に対応する。フィルタは、見かけの動きベクトル方向に対応する方向400において画素40の中央41から引かれる(drawn)。上述のとおり、見かけの動きベクトルモジュールから取得されたフィルタ長401は、説明した例における3つの画素である。点42と点43は、画素40の中央41から等距離のところに置かれ、等距離は、画素間距離(inter pixel distance)に対応している。点42と点43での隣接する画素の色値と重み値は、バイナリフィルタ処理に基づいてさらに近隣する画素値から補間される。画素40の色値と重み値は、例えば、点42と点43での近隣の画素の補間された色値と重み値の平均を取ることによってフィルタ処理される。変形例において、フィルタマスクは、例えば、4方向:水平、垂直と2つの斜め方向(diagonals)などの方向の組に限定される。この変形例では、フィルタマスク、すなわち、関係する画素の重みは、有利なことに事前に計算される。
上述の原理のお陰で生成された仮想オブジェクトのボカし効果をユーザが視覚化することができるように、フィルタ処理された現在のイメージは、次に、表示手段上に表示される。
・軌道に沿って動く仮想オブジェクト(MOVING VIRTUAL OBJECT ALONG A TRAJECTORY)
第2の実施形態によると、ビデオの挿入された仮想オブジェクト20は、シーンにおいて軌道を有する。例えば、軌道は、事前に定義される3D軌道である。有利なことに、仮想オブジェクト20の軌道は、さらに、見かけの動きベクトル30のより良い推定に対して考慮される。その結果、任意選択のステップS122において、現在のオブジェクトポジションが、軌道と初期オブジェクトポジションに基づいて推定され、初期オブジェクトポジション及び現在のオブジェクトポジションの両方は、仮想オブジェクトの同じ頂点の3次元空間におけるロケーションに対応する。初期オブジェクトポジションと現在のオブジェクトポジションとの間の差は、仮想オブジェクトの軌道によって与えられる。
任意選択のステップS124において、現在のイメージにおける現在のオブジェクトのロケーションは、現在のイメージにおける現在のオブジェクトのポジションの投射から推定され、現在のオブジェクトのロケーションは、仮想オブジェクトの頂点に関連する。より正式には、各後続の瞬間tに対して、ワールド座標系(WCS)における、軌道に沿った仮想オブジェクトの第1のポジションの中央にある仮想オブジェクトの事前定義された軌道を仮定すると、現在のオブジェクトのポジションは、3D座標(X(t),Y(t),Z(t))の組みとして計算され、それは次に、仮想オブジェクト挿入に対応する2D座標(X(t),Y(t))の組みとして現在のオブジェクトロケーションを推定するために、現在のイメージ面上に投射される。
より正式には、
Figure 0006951166
瞬間tにおけるワールド座標系に対する仮想オブジェクトの頂点の3D座標を仮定すると、時間の関数として、3D点投射に対するイメージのロケーションに興味がある。透視投射(perspective projection)の下で、内部の及び外部のデバイス1パラメータを仮定するとイメージ点p=(x,y)への同次点X=(X,Y,Z,1)投射は、次式で与えられる。
Figure 0006951166
ここで、wとhは、視点(viewpoint)の幅と高さであり、点
(外4)
Figure 0006951166
は、投射空間におけるXの投射であり:
(外5)
Figure 0006951166
は、Vワールドツービュー行列(world-to-view matrix)とPビューツープロジェクション行列(view-to-projection matrix)を有する。
内部デバイスパラメータは、デバイス1に組み込まれたカメラのオフラインキャリブレーションステップから取得される。カメラに付随する3次元行列座標と、画素として表現されたイメージにおけるその対応する2D点の2D座標を仮定すると、内部パラメータは、シーンにおける3D点の3D座標にリンクする投射モデルのパラメータである。デバイスのポーズを表現する外部パラメータは、上述の通り、先行するポーズと、時間を通して累積されたIMUからの回転情報に基づいて取得される。別の変形例によると、仮想オブジェクトの軌道は、動く固いオブジェクトとして、又は統合されたオブジェクトとして定義される。例えば、第1の変形例において、現在のオブジェクトポジションを表す3D座標(X,Y,Z)は、軌道データから直接取得できる。第2の変形例において、現在のオブジェクトポジションを表す3D座標(X,Y,Z)は、軌道データの一部であるOオブジェクトツーワールド行列(object-to-world matrix)から取得できる。第3の変形例において、Oオブジェクトツーワールド行列は、例えば、変換及び/又は回転及び/又はスケールを含む軌道パラメータの組みから推定される。
Figure 0006951166
ここで、Xは、ワールド座標系における仮想オブジェクトの頂点に対応する同次座標(homogeneous coordinates)である。実際のシーンのジオメトリのいかなる必要な演繹的な知識において仮定がされない。ワールド座標系は、例えば、初期デバイスポジション上、又は初期オブジェクトポジション上の中央にある。
第2の実施形態によると、仮想オブジェクトは、軌道を持ち、仮想オブジェクトの見かけの動きベクトル30は、現在のオブジェクトロケーション(現在のイメージにおける現在のオブジェクトのポジションの投射の結果として得られる)と初期イメージにおける初期オブジェクトロケーションとの間の差から推定され、初期オブジェクトロケーションは、現在のイメージロケーションとしての同じ頂点に関連する。
特定の実施形態によると、初期イメージ210における初期オブジェクトポジション(position)及び/又は初期オブジェクトロケーション(location)221は、事前に設定される。静止するオブジェクト(第1の実施形態)の場合、初期オブジェクトロケーション211のみが事前に設定される必要がある。例えば、初期イメージ210の真ん中、又は初期イメージ210の右上である。変形例において、事前に設定された初期オブジェクトロケーション211は、仮想オブジェクトのサイズ(size)及び/又はフォーム(form)に依存する。別の変形例において、仮想オブジェクト挿入の現実味を改善するために、初期オブジェクトロケーション211は、初期イメージ210に適用されるイメージ処理技法から取得される。特定された構造に関連する初期オブジェクトロケーション211を決定するために、イメージ処理技法は、例えば、初期イメージ210において面(planes)又は構造(structures)を特定するために使用される。動く仮想オブジェクト(第2の実施形態)の場合、3次元空間における仮想オブジェクト20の初期オブジェクトポジションと軌道も事前に設定される。軌道は、例えば、飛んでいるオブジェクトに対して直線である。別の例では、軌道は、あり得る跳ね返り(rebounds:リバウンド)を有する落ちていくオブジェクトであり、それは、また、例えば、軌道のライブラリから事前に設定され、取得される。初期オブジェクトポジションを設定するために初期イメージ210上でイメージ処理技法を使用することによって、初期オブジェクトロケーション211と軌道は、開示された原理と互換性がある。
別の特定の実施形態によると、仮想オブジェクト20は、ユーザインタフェースを経由してユーザによってビデオに挿入される。オブジェクトの挿入は、挿入設定(insertion configuration)を含み、仮想オブジェクト20の頂点200は、ユーザインタフェースを経由してユーザによって、初期イメージ210における初期オブジェクトロケーション211と関連付けられる。例えば、ユーザは、タッチスクリーン上に表示される初期イメージ210の対応する領域を指でタッチすることによって、頂点200を初期イメージ210における初期オブジェクトロケーション211と関連付ける。別の例では、初期イメージ210における初期オブジェクトロケーション211の2D座標が、ユーザインタフェースを経由してユーザによって設定される。動くオブジェクト(第2の実施形態)の場合、初期オブジェクトポジションは、さらに、例えば、3次元空間における3D座標の組として、ユーザインタフェースを経由してユーザによって設定される。別の変形例によると、初期イメージ210において挿入される仮想オブジェクト20の方向及び/又はスケールは、さらに、ユーザインタフェースを経由してユーザによって設定される。オブジェクト座標系(OCS)は、オブジェクトに付随する。オブジェクトの軌道は、さらにこの座標系においても設定される。軌道の時間スケールは、あるフィールドレートによって与えられ、通常、調整可能である。変形例において、軌道は、さらに、例えば、利用可能な軌道の組の中から軌道を選択することによって、ユーザによって設定される。ユーザによって仮想オブジェクト20の軌道を設定するための任意の手段は、開示された原理と互換性がある。仮想オブジェクト20の初期オブジェクトポジション、方向、及びスケールが初期イメージ210に対して、デイバス1の内部パラメータを使用して、一旦設定されると、初期デバイスポーズ21は、仮想オブジェクト頂点の3D座標と初期イメージ210における投射された頂点の2Dイメージ座標との間の対応を使用することによって最新のポーズ推定アルゴリズムから推定される。ポーズ推定アルゴリズムは、例えば、OpenCVに実装される方法として、レーベンバーグ・マーカート最適化(Levenberg-Marquardt optimization)に基づく反復方法である。この場合、最小化される関数は、観察される投射(有効な挿入に対応する2Dイメージ座標)とイメージ面への3Dモデル頂点の投射との間の距離の二乗の合計である再投射誤差(re-projection error)である。有利なことに、初期デイバスポーズ21は、シーン2と相対的に推定され、ユーザによって設定される初期オブジェクトポジションの中央に位置する。
図5は、ビデオにおける仮想オブジェクトをボカすための処理デバイス5を描写し、図2のキャプチャリングデバイス1の実装例に対応している。本原理の特定且つ非制限的な実施形態によると、処理デバイス5は、イメージのシーケンスとしてビデオをキャプチャするように構成されるカメラ50を備える。本原理の特定且つ非制限的な実施形態によると、カメラ50は、光に焦点を合わせ、光を半導体イメージキャプチャデバイスへ向かわせるために使用されるレンズを備え、半導体イメージキャプチャデバイスは、例えば、感光性セルと呼ばれる数千又は数百万の行列の非常に小さい感光性ダイオードで光を測定するCCD(電荷結合素子)捕獲器又はCMOS(相補型金属酸化膜半導体)捕獲器である。カメラ50は、初期イメージ及び現在のイメージをキャプチャするように構成される。
本原理の特定の実施形態によると、処理デバイス5は、さらに、慣性測定手段51を備え、それは、処理モジュール54にリンクされ、処理デバイス5の角速度を測定し、報告するように構成される。慣性測定手段は、例えば、加速度計やジャイロスコープの組合せを含み、加速度計は、処理デバイスの加速度を検知するように構成され、ジャイロスコープは、ピッチ、ロール及びヨーなどの回転特性を検知するように構成される。本原理の別の実施形態によれば、慣性測定手段は、少なくとも以下のものの組合せである:
・処理デバイス5の加速度を検知し、報告するように構成された線形加速度計;
・ピッチ、ロール及びヨーなどの処理デバイス5の回転特性を検知し、報告するように構成された角加速度計;
・絶対角度基準を維持するように構成されたジャイロスコープ。
より一般的に、処理デバイス5の加速度の測定と報告を許す任意の慣性又は動き測定手段は、開示された原理と互換性がある。
カメラ50と慣性測定手段は、初期イメージと現在のイメージとの間で仮想オブジェクトの見かけの動きベクトルを推定するように構成された処理モジュール54にリンクされる。特定の実施形態によると、処理モジュール54は、キャプチャされた初期イメージをローカルの表示手段56に送信する。処理モジュール54は、さらに、見かけの動きベクトルに基づいて現在のイメージの少なくとも一部をフィルタ処理するように構成される。特定の実施形態によると、処理モジュール54は、フィルタ処理された現在のイメージをローカルな表示手段56へ送信する。
特定の実施形態によると、表示手段は、デバイスの外部にあり、出力56は、初期イメージ及びさらにフィルタ処理されたイメージを表示するために外部の表示手段に送信する。本発明の別の実施形態によれば、内部又は外部の表示手段は、下記を含む組に属する:
・タッチスクリーン;
・パーソナルコンピュータスクリーン;
・TVスクリーン;
・タブレット;
・スマートフォンスクリーン;
より一般的に、ボケた仮想オブジェクトを有するビデオを表示することを許す任意の表示手段は、開示された原理と互換性がある。
特定の実施形態によると、処理モジュール54は、キャプチャされた初期イメージ及び現在のイメージを記憶モジュール55へ送信する。特定の実施形態によると、処理モジュール54は、また、フィルタ処理された現在のイメージ、及びより一般的にはボケた仮想オブジェクトを含むビデオを、記憶モジュール55へ送信する。本原理の別の実施形態によると、記憶モジュールは、以下のものを含む組に属する:
・ハードディスクドライブ;
・SSD;
・メモリ;
・書き込み可能CD−ROM;
・書き込み可能DVD;
・書き込み可能ブルーレイ(登録商標)ディスク。
より一般的に、ボケた仮想オブジェクトを含むビデオの記憶を許す任意の記憶手段は、開示された原理と互換性がある。
本原理の特定且つ非制限的な実施形態によれば、処理デバイス5は、さらに、処理モジュール54にリンクされたユーザインタフェース52を備え、ユーザインタフェース52は初期イメージにおいて仮想オブジェクトを挿入するためのユーザからの設定データを受信するように構成されている。本原理の特定且つ非制限的な実施形態によれば、ユーザインタフェース52は、さらに、仮想オブジェクトの頂点を表示手段56上に表示される初期イメージにおける初期オブジェクトロケーションと関連付けるためにデータを受信するように構成される。本原理の別の実施形態によると、ユーザインタフェース52は、以下のものを含む組に属する:
・イメージとアイコンを表示し、表示されたアイコンとユーザの対話からデータを受信するように適合するタッチスクリーンとその付随するコントローラベースファームウェア;
・ユーザにリモートのユーザインタフェースを提供するように構成された外部デバイスに処理デバイス5を接続するためのローカルエリアネットワークインタフェース又はワイドエリアネットワークインタフェースなどのネットワークインタフェース。
より一般的には、ユーザインタフェースを提供し、初期イメージに仮想オブジェクトを挿入するための設定データを受信することに適合する任意のデバイスは、開示される原理と互換性がある。
図6は、特定且つ非制限的な実施形態による処理デバイス5の構成の例を表現し、処理デバイス5は、キャプチャされたビデオにおける仮想オブジェクトをボカすように構成される。処理デバイス5は、1つ以上のプロセッサ610を備え、それらは例えば、内部メモリ620(例えば、RAM、ROM、EPROM)と共に、CPU、GPU及び/又はDSP(デジタルシグナルプロセッサの英語の頭字語)である。メモリ620は、キャプチャされたビデオのイメージ、測定された角速度データ、及びフィルタ処理された現在のイメージを記憶する。処理デバイス5は、出力情報をディスプレイに送信するように適合し及び/又はユーザにコマンド及び/又はデータ(例えば、キーボード、マウス、タッチバッド、ウェブカム、ディスプレイ)の入力を許し、及び/又はネットワークインタフェースを介してデータを送信/受信する1つ以上の入力/出力インタフェースと、処理デバイス5の外部にあり得る電源640を備える。処理デバイス5は、処理デバイス5の加速度データを検知し、報告するように適合された1つ以上の慣性測定ユニット650(IMU)を備える。
例となる非制限的な実施形態によると、処理デバイス5は、さらに、メモリ620に記憶されるコンピュータプログラムを含む。コンピュータプログラムは、処理デバイス5、特にプロセッサ610によって、実行されたときに、処理デバイス5に図1を参照して説明された処理方法を実行させる、命令を含む。変形例によると、コンピュータプログラムは、処理デバイス5の外部にある非一時的デジタルデータサポート、例えば、この技術分野で知られている、SDカード、HDD、CD−ROM、DVD、リードオンリ及び/又はDVDドライブ及び/又はDVDリード/ライトドライブなどの上に記憶される。処理デバイス5は、それ故に、コンピュータプログラムを読み込むためのインタフェースを備える。さらに、処理デバイス5は、対応するUSBポート(図示せず)を介して、1つ以上のユニバーサルシリアルバス(USB)タイプ記憶デバイス(例えば、「メモリスティック」)へアクセスできる。
例となる非制限的な実施形態によると、処理デバイス5は、下記を含む組に属するデバイスである:
・カメラ;
・スマートフォン;
・タブレット;
・ポータブルゲームデバイス;
・HMD(ヘッドマウントデバイス);
・スマートグラス。
なお、上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
ビデオに中の仮想オブジェクト(20)をボカす方法であって、前記ビデオは、デバイス(1)によってキャプチャされ、前記方法は前記デバイス(1)によって実行され、前記方法は、
前記ビデオの初期イメージ(210)をキャプチャすること(S110)と、
前記ビデオの現在のイメージ(220)をキャプチャすること(S120)と、
前記デバイス(1)の動きに基づいて、前記初期イメージ(210)と前記現在のイメージ(220)との間の前記仮想オブジェクト(20)の見かけの動きベクトル(30)を推定すること(S130)と、
前記見かけの動きベクトル(30)に基づいて前記現在のイメージ(220)の少なくとも1部にフィルタ処理すること(S140)と、
を含む、方法。
(付記2)
前記デバイス(1)は、さらに、少なくとも1つの動きセンサと、初期デバイスポーズ(21)で前記デバイス(1)によってキャプチャされた前記初期イメージ(210)と、現在のデバイスポーズ(22)で前記デバイス(1)によってキャプチャされた前記現在のイメージ(220)と、前記初期デバイスポーズ(21)から前記現在のデイバスポーズ(22)へ動くときに前記デバイス(1)の前記少なくとも1つの動きセンサによって生成されたデータから取得された前記デバイス(1)の前記動きと、を含む、付記1に記載の方法。
(付記3)
前記見かけの動きベクトル(30)を前記推定すること(S130)が、さらに、初期デバイスポーズ(21)と前記デバイス(1)の前記動きに基づいて、前記現在のデバイスポーズ(22)を推定することを含む、付記1乃至2のいずれか1項記載の方法。
(付記4)
前記見かけの動きベクトル(30)及び前記初期イメージ(210)における初期オブジェクトロケーション(211)に基づいて前記現在のイメージ(220)における現在のオブジェクトロケーション(221)を推定することをさらに含む、付記1乃至3のいずれか1項記載の方法。
(付記5)
前記仮想オブジェクト(20)が軌道を有し、前記方法がさらに、
前記軌道及び初期オブジェクトポジションに基づいて現在のオブジェクトポジションを推定すること(S122)と、
前記現在のイメージ(220)における前記現在のオブジェクトポジションの投射に基づいて前記現在のイメージ(220)における現在のオブジェクトロケーション(221)を推定すること(S124)と、
を含む、付記1乃至3のいずれか1項記載の方法。
(付記6)
前記仮想オブジェクト(20)の前記見かけの動きベクトル(30)を推定すること(S130)は、前記現在のイメージ(220)における前記現在のオブジェクトロケーション(221)と前記初期イメージ(210)における初期オブジェクトロケーション(211)との間の差に基づく、付記5に記載の方法。
(付記7)
前記フィルタ処理すること(S140)がさらに、空間フィルタ長(401)と空間フィルタ方向(400)を決定することを含み、
前記空間フィルタ方向(400)は、前記見かけの動きベクトル(30)の方向に対応し、
前記空間フィルタ長(401)は、前記見かけの動きベクトル(30)のモジュールの因子であり、前記空間フィルタ長(401)は、隣接する画素(41、42)の数に対応している、付記1乃至6のいずれか1項記載の方法。
(付記8)
前記因子は、前記デバイス(1)のシャッタアパーチャ期間に対応する、付記7記載の方法。
(付記9)
前記現在のイメージ(220)の少なくとも一部を前記フィルタ処理すること(S140)は、さらに、
前記現在のイメージ(220)に対する前記仮想オブジェクト(20)のマスクを取得することであって、前記マスクは、前記仮想オブジェクト(2に対応する前記現在のイメージ(220)の各ピクセルに対する非ゼロの色値と重み値を含み、
前記決定された空間フィルタに従って前記マスクを空間的にフィルタ処理することと、
前記現在のイメージ(220)を前記仮想オブジェクト(20)の前記空間的にフィルタ処理されたマスクと混ぜ合わせることと、
を含む、付記7又は8に記載の方法。
(付記10)
先行するデバイスポーズで前記デイバス(1)によってキャプチャされた先行するイメージに基づいて初期デバイスポーズ(21)を推定することをさらに含み、前記初期デバイスポーズを前記推定することは、さらに前記先行するデバイスポーズと、前記先行するデバイスポーズから前記初期デバイスポーズ(21)への前記デバイス(1)の先行する動きに基づく、付記2乃至9のいずれか1項記載の方法。
(付記11)
ユーザインタフェースから、前記初期イメージ(210)に前記仮想オブジェクトを挿入することであって、前記挿入することは、前記仮想オブジェクト(20)の頂点(200)を、前記初期イメージ(210)における初期オブジェクトロケーション(211)と関連付けることを含み、
前記初期オブジェクトロケーション(211)に対応する初期オブジェクトポジションに対して初期デバイスポーズ(21)を推定することと、
を含む、付記3乃至9のいずれか1項記載の方法。
(付記12)
ビデオをキャプチャし、前記ビデオにおいて仮想オブジェクト(20)をボカすデバイス(1)であって、
前記ビデオの初期イメージ(210)をキャプチャする手段と、
前記ビデオの現在のイメージ(220)をキャプチャする手段と、
前記デイバス(1)の動きに基づいて、前記初期イメージ(210)と前記現在のイメージ(220)との間の前記仮想オブジェクト(20)の見かけの動きベクトル(30)を推定する手段と、
前記見かけの動きベクトル(30)に基づいて前記現在のイメージ(220)の少なくとも1部をフィルタ処理するための手段と、
を備える、デバイス。
(付記13)
前記デバイス(1)は、さらに、少なくとも1つの動きセンサと、初期デバイスポーズ(21)で前記デバイス(1)によってキャプチャされた前記初期イメージ(210)と、現在のデバイスポーズ(22)で前記デバイス(1)によってキャプチャされた前記現在のイメージ(220)と、前記デバイス(1)の前記少なくとも1つの動きセンサによって生成されたデータから取得され、前記初期デバイスポーズ(21)から前記現在のデイバスポーズ(22)へ動く、前記デバイスの前記動きと、を含む、付記12に記載のデバイス。
(付記14)
前記見かけの動きベクトル(3)を推定するための前記手段が、さらに、初期デバイスポーズ(21)と前記デバイス(1)の前記動きに基づいて、前記現在のデバイスポーズ(22)を推定する手段を含む、付記12乃至13のいずれか1項記載のデバイス。
(付記15)
ビデオに中の仮想オブジェクト(20)をボカすコンピュータプログラムであって、前記コンピュータプログラムは、プロセッサによって、
前記ビデオの初期イメージ(210)をキャプチャすること(S110)と、
前記ビデオの現在のイメージをキャプチャすること(S120)と、
前記デバイスの動きに基づいて、前記初期イメージ(210)と前記現在のイメージ(220)との間の前記仮想オブジェクト(20)の見かけの動きベクトル(30)を推定すること(S130)と、
前記見かけの動きベクトル(30)に基づいて前記現在のイメージ(220)の少なくとも1部にフィルタ処理すること(S140)と、
を実行可能なプログラムコード命令を含む、コンピュータプログラム。

Claims (15)

  1. ビデオ中の仮想オブジェクトをボカす方法であって、前記ビデオは、デバイスによってキャプチャされ、前記方法は前記デバイスによって実行され、前記方法は、
    初期デバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの初期イメージを取得することと、
    現在のデバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの現在のイメージを取得することと、
    前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの少なくとも1つの動きセンサに関連付けられる角速度に基づいて、前記初期イメージと前記現在のイメージとの間の前記仮想オブジェクトの見かけの動きベクトルを推定することであって、前記推定することは、前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの並進とは無関係に実行される、ことと、
    前記見かけの動きベクトルに基づいて前記仮想オブジェクトをボカすことと、
    を含む、方法。
  2. 前記見かけの動きベクトルを前記推定することが、さらに、初期デバイスポーズと前記デバイスの前記動きに基づいて、前記現在のデバイスポーズを推定することを含む、請求項1記載の方法。
  3. 前記見かけの動きベクトル及び前記初期イメージにおける初期オブジェクトロケーションに基づいて前記現在のイメージにおける現在のオブジェクトロケーションを推定することをさらに含む、請求項1乃至のいずれか1項記載の方法。
  4. 前記仮想オブジェクトが軌道を有し、前記方法がさらに、
    前記軌道及び初期オブジェクトポジションに基づいて現在のオブジェクトポジションを推定することと、
    前記現在のイメージにおける前記現在のオブジェクトポジションの投射に基づいて前記現在のイメージにおける現在のオブジェクトロケーションを推定することと、
    を含む、請求項1乃至のいずれか1項記載の方法。
  5. 前記仮想オブジェクトの前記見かけの動きベクトルを推定することは、前記現在のイメージにおける前記現在のオブジェクトロケーションと前記初期イメージにおける初期オブジェクトロケーションとの間の差に基づく、請求項に記載の方法。
  6. 前記仮想オブジェクトをボカすことは、空間フィルタ長と空間フィルタ方向とに基づいて前記仮想オブジェクトをフィルタリングすることを含み、前記空間フィルタ方向は、前記見かけの動きベクトルの方向に対応し、前記空間フィルタ長は、前記見かけの動きベクトルのモジュールの因子であり、前記空間フィルタ長は、隣接する画素の数に対応している、請求項1乃至のいずれか1項記載の方法。
  7. 前記因子は、前記デバイスのシャッタアパーチャ期間に対応する、請求項記載の方法。
  8. 前記仮想オブジェクトをフィルタリングすることは、
    前記現在のイメージに対する前記仮想オブジェクトのマスクを取得することであって、前記マスクは、前記仮想オブジェクトに対応する前記現在のイメージのピクセルに対する非ゼロの色値と重み値を含み、
    前記色値と前記重み値の両方に対して決定された空間フィルタに従って前記マスクを空間的にフィルタ処理することと、
    前記現在のイメージを前記仮想オブジェクトの前記空間的にフィルタ処理されたマスクと混ぜ合わせることと、
    を含む、請求項又はに記載の方法。
  9. 先行するデバイスポーズで前記デバイスによってキャプチャされた先行するイメージに基づいて初期デバイスポーズを推定することをさらに含み、前記初期デバイスポーズを前記推定することは、さらに前記先行するデバイスポーズと、前記先行するデバイスポーズから前記初期デバイスポーズへの前記デバイスの先行する動きに基づく、請求項乃至のいずれか1項記載の方法。
  10. ユーザインタフェースから、前記初期イメージに前記仮想オブジェクトを挿入することであって、前記挿入することは、前記仮想オブジェクトの頂点を、前記初期イメージにおける初期オブジェクトロケーションと関連付けることを含み、
    前記初期オブジェクトロケーションに対応する初期オブジェクトポジションに対して初期デバイスポーズを推定することと、
    を含む、請求項乃至のいずれか1項記載の方法。
  11. ビデオを取得し、前記ビデオにおいて仮想オブジェクトをボカすデバイスであって、
    初期デバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの初期イメージを取得する手段と、
    現在のデバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの現在のイメージを取得する手段と、
    前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの少なくとも1つの動きセンサに関連付けられる角速度に基づいて、前記初期イメージと前記現在のイメージとの間の前記仮想オブジェクトの見かけの動きベクトルを推定する手段であって、前記推定は、前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの並進とは無関係に実行される、手段と、
    前記見かけの動きベクトルに基づいて前記仮想オブジェクトをボカす手段と、
    を備える、デバイス。
  12. 前記見かけの動きベクトルを推定するための前記手段が、さらに、初期デバイスポーズと前記デバイスの前記動きに基づいて、前記現在のデバイスポーズを推定する手段を含む、請求項11に記載のデバイス。
  13. 現在のオブジェクトロケーションが、前記見かけの動きベクトル及び前記初期イメージにおける初期オブジェクトロケーションに基づいて、前記現在のイメージにおいて推定される、請求項11乃至12のいずれか1項記載のデバイス。
  14. 前記仮想オブジェクトが軌道を有し、
    現在のオブジェクトポジションが、前記軌道及び初期オブジェクトポジションに基づいて推定され、
    現在のオブジェクトロケーションが、前記現在のイメージにおける前記現在のオブジェクトポジションの投射に基づいて、前記現在のイメージにおいて推定される、請求項11乃至12のいずれか1項記載のデバイス。
  15. ビデオ中の仮想オブジェクトをボカすコンピュータプログラムであって、前記コンピュータプログラムは、デバイスのプロセッサによって、
    初期デバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの初期イメージを取得することと、
    現在のデバイスポーズで前記デバイスによってキャプチャされる、前記ビデオの現在のイメージを取得することと、
    前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの少なくとも1つの動きセンサに関連付けられる角速度に基づいて、前記初期イメージと前記現在のイメージとの間の前記仮想オブジェクトの見かけの動きベクトルを推定することであって、前記推定することは、前記初期デバイスポーズから前記現在のデバイスポーズに動く前記デバイスの並進とは無関係に実行される、ことと、
    前記見かけの動きベクトルに基づいて前記仮想オブジェクトをボカすこと、
    を実行可能なプログラムコード命令を含む、コンピュータプログラム。
JP2017176271A 2016-09-15 2017-09-14 ビデオにおける仮想オブジェクトをボカす方法及びデバイス Active JP6951166B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306175.7A EP3296950A1 (en) 2016-09-15 2016-09-15 Method and device for blurring a virtual object in a video
EP16306175.7 2016-09-15

Publications (3)

Publication Number Publication Date
JP2018049614A JP2018049614A (ja) 2018-03-29
JP2018049614A5 JP2018049614A5 (ja) 2020-10-01
JP6951166B2 true JP6951166B2 (ja) 2021-10-20

Family

ID=56997437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017176271A Active JP6951166B2 (ja) 2016-09-15 2017-09-14 ビデオにおける仮想オブジェクトをボカす方法及びデバイス

Country Status (5)

Country Link
US (1) US10825249B2 (ja)
EP (2) EP3296950A1 (ja)
JP (1) JP6951166B2 (ja)
KR (1) KR102397343B1 (ja)
CN (1) CN107833237B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX379248B (es) * 2015-05-21 2025-03-10 Huawei Tech Co Ltd Aparato y método de compensación de movimiento de video.
CN107019915B (zh) * 2016-02-01 2018-09-07 腾讯科技(深圳)有限公司 一种确定移动轨迹的方法、用户设备及系统
CN108520568B (zh) * 2018-04-03 2019-04-09 武汉木一科技有限公司 一种设备指示灯定位识别方法及装置
CN110544280B (zh) * 2018-05-22 2021-10-08 腾讯科技(深圳)有限公司 Ar系统及方法
US10818093B2 (en) * 2018-05-25 2020-10-27 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
JP7210180B2 (ja) * 2018-07-25 2023-01-23 キヤノン株式会社 画像処理装置、画像表示装置、画像処理方法、及びプログラム
US10860165B2 (en) * 2018-09-26 2020-12-08 NextVPU (Shanghai) Co., Ltd. Tracking method and apparatus for smart glasses, smart glasses and storage medium
KR102715400B1 (ko) * 2020-01-03 2024-10-10 삼성전자주식회사 영상 처리를 위한 전자 장치, 방법 및 비일시적 저장 매체
KR20220040054A (ko) 2020-09-23 2022-03-30 삼성전자주식회사 전자장치 및 그 제어방법
JP7635008B2 (ja) * 2021-02-01 2025-02-25 キヤノン株式会社 画像処理装置、撮像装置、制御方法およびプログラム
WO2024018166A1 (en) 2022-07-22 2024-01-25 Blackbird Plc Computer-implemented methods of blurring a digital image; computer terminals and computer program products
JP2024104854A (ja) 2023-01-25 2024-08-06 キヤノン株式会社 画像処理装置、画像処理方法、プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1668597A1 (en) * 2003-09-25 2006-06-14 Koninklijke Philips Electronics N.V. Generation of motion blur
US7643062B2 (en) * 2005-06-08 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for deblurring an image based on motion tracking
US8018579B1 (en) * 2005-10-21 2011-09-13 Apple Inc. Three-dimensional imaging and display system
JP4754385B2 (ja) * 2006-03-30 2011-08-24 株式会社バンダイナムコゲームス プログラム、情報記録媒体および画像生成システム
CA2661136A1 (en) * 2006-08-11 2008-02-14 Thomson Licensing Accurate motion portrayal for display and digital projectors
US20080143840A1 (en) * 2006-12-19 2008-06-19 Texas Instruments Incorporated Image Stabilization System and Method for a Digital Camera
US8196166B2 (en) 2006-12-21 2012-06-05 Verizon Patent And Licensing Inc. Content hosting and advertising systems and methods
US9106873B2 (en) 2010-04-01 2015-08-11 Verizon Patent And Licensing Inc. Methods and systems for providing enhanced content by way of a virtual channel
JP5514637B2 (ja) * 2010-06-11 2014-06-04 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
FR2967804B1 (fr) * 2010-11-19 2013-01-04 Total Immersion Procede et dispositif de detection et de suivi d'objets non rigides en mouvement, en temps reel, dans un flux video, permettant a un utilisateur d'interagir avec un systeme informatique
US9704230B2 (en) * 2011-09-30 2017-07-11 Layar B.V. Feedback to user for indicating augmentability of an image
GB2501929B (en) * 2012-05-11 2015-06-24 Sony Comp Entertainment Europe Apparatus and method for augmented reality
US9501815B2 (en) * 2012-05-18 2016-11-22 Thomson Licensing Processing panoramic pictures
JP2014035763A (ja) * 2012-08-10 2014-02-24 Nippon Telegr & Teleph Corp <Ntt> 情報表示装置
WO2014048475A1 (en) * 2012-09-27 2014-04-03 Metaio Gmbh Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
US20140333669A1 (en) * 2013-05-08 2014-11-13 Nvidia Corporation System, method, and computer program product for implementing smooth user interface animation using motion blur
EP2819095A1 (en) * 2013-06-24 2014-12-31 Thomson Licensing Method and apparatus for inserting a virtual object in a video
JP6157242B2 (ja) * 2013-06-28 2017-07-05 キヤノン株式会社 画像処理装置及び画像処理方法
US20150220996A1 (en) 2014-01-31 2015-08-06 Venkata S.J.R. Bhamidipati Systems and methods for viral promotion of content
US9495801B2 (en) * 2014-05-01 2016-11-15 Microsoft Technology Licensing, Llc Pose tracking an augmented reality device
WO2016037653A1 (en) 2014-09-11 2016-03-17 Federal-Mogul Wiesbaden Gmbh PRECIPITATION HARDENABLE ALUMINUM BASED Al-Sn-Si-Cu-Mg-V BEARING ALLOY
US9684970B2 (en) * 2015-02-27 2017-06-20 Qualcomm Incorporated Fast adaptive estimation of motion blur for coherent rendering
JP6464934B2 (ja) * 2015-06-11 2019-02-06 富士通株式会社 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US10420472B2 (en) * 2015-08-26 2019-09-24 Canon Kabushiki Kaisha Apparatus and method
US10535193B2 (en) * 2015-09-08 2020-01-14 Canon Kabushiki Kaisha Image processing apparatus, image synthesizing apparatus, image processing system, image processing method, and storage medium
US9865062B2 (en) * 2016-02-12 2018-01-09 Qualcomm Incorporated Systems and methods for determining a region in an image

Also Published As

Publication number Publication date
EP3296952B1 (en) 2020-11-04
EP3296950A1 (en) 2018-03-21
US20180075660A1 (en) 2018-03-15
JP2018049614A (ja) 2018-03-29
KR20180030446A (ko) 2018-03-23
CN107833237A (zh) 2018-03-23
CN107833237B (zh) 2023-08-15
KR102397343B1 (ko) 2022-05-13
EP3296952A1 (en) 2018-03-21
US10825249B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
JP6951166B2 (ja) ビデオにおける仮想オブジェクトをボカす方法及びデバイス
Nayar et al. Motion-based motion deblurring
JP6914926B2 (ja) Imuおよび画像データを使用した合成物体を含む多視点画像データの拡張
Karpenko et al. Digital video stabilization and rolling shutter correction using gyroscopes
EP2531979B1 (en) Depth camera compatibility
JP6793151B2 (ja) オブジェクトトラッキング装置、オブジェクトトラッキング方法およびオブジェクトトラッキングプログラム
US20030012410A1 (en) Tracking and pose estimation for augmented reality using real features
US20100204964A1 (en) Lidar-assisted multi-image matching for 3-d model and sensor pose refinement
CN111899276A (zh) 一种基于双目事件相机的slam方法及系统
JP2018522348A (ja) センサーの3次元姿勢を推定する方法及びシステム
JP5956248B2 (ja) 画像監視装置
Lee et al. Simultaneous localization, mapping and deblurring
KR20140033868A (ko) 증강현실 응용을 위한 환경 모델링 방법 및 장치
CN109211277A (zh) 视觉惯性里程计的状态确定方法、装置和电子设备
CN109040525B (zh) 图像处理方法、装置、计算机可读介质及电子设备
CN112492195A (zh) 光学传感装置及方法
TWI501193B (zh) Computer graphics using AR technology. Image processing systems and methods
CN110544278B (zh) 刚体运动捕捉方法及装置、agv位姿捕捉系统
JP2018206285A (ja) オブジェクト追跡装置及びオブジェクト軌跡生成システム
CN104937608B (zh) 道路区域检测
CN113763544B (zh) 图像确定方法、装置、电子设备和计算机可读存储介质
CN109074658B (zh) 通过特征跟踪和模型配准进行3d多视图重建的方法
CN120013780A (zh) 场景渲染方法、装置、ar设备及存储介质
JP2005063012A (ja) 全方位カメラ運動と3次元情報の復元方法とその装置及びプログラム並びにこれを記録した記録媒体
JP7164873B2 (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181220

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181227

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20191111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200820

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210715

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: 20210901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210924

R150 Certificate of patent or registration of utility model

Ref document number: 6951166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250