(57)【要約】  マルチビュービデオストリームに深度ベースのエフェクトを適用して、修正されたマルチビュービデオストリームを生成してもよい。ユーザ入力は、ビデオストリームの基準画像の前景領域と当該前景領域とは異なる深度の背景領域との境界を指定してもよい。ユーザ入力に基づいて、前景領域および背景領域を示すための基準マスクが生成されてもよい。基準マスクを用いて、基準画像からのそれぞれ異なるフレームおよび／またはそれぞれ異なるビューからの１つ以上の異なる画像についての前景領域および背景領域を示す１つ以上の他のマスクを生成してもよい。基準マスクおよび他のマスク（複数可）を用いて、マルチビュービデオストリームにエフェクトを適用し、修正されたマルチビュービデオストリームを生成してもよい。
2019525515.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリームにエフェクトを適用するための方法であって、
データストアにおいて、前記ビデオストリームを受け付けるステップと、
入力装置において、前記ビデオストリームの基準画像の前景領域と前記前景領域とは異なる深度の背景領域との境界を指定する第１のユーザ入力を受け付けるステップと、
プロセッサにおいて、前記第１のユーザ入力に基づいて、前記前景領域および前記背景領域を示す基準マスクを生成するステップと、
前記プロセッサにおいて、前記基準マスクを用いて、前記ビデオストリームの前記基準画像とは異なる第１の非基準画像についての前記前景領域および前記背景領域を示す第１の非基準マスクを生成するステップと、
前記プロセッサにおいて、前記基準マスクを用いて前記基準画像に前記エフェクトを適用し、前記第１の非基準マスクを用いて前記第１の非基準画像に前記エフェクトを適用することによって、修正されたビデオストリームを生成するステップとを含む、方法。
【請求項２】
表示装置において、前記修正されたビデオストリームを表示するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記データストアにおいて前記ビデオストリームを受け付けるステップの前に、カメラにおいて、前記ビデオストリームをキャプチャするステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記基準画像は、前記ビデオストリームの基準フレームからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームとは異なる第１フレームからの画像である、請求項１に記載の方法。
【請求項５】
前記プロセッサにおいて、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームおよび前記第１フレームとは異なる第２フレームからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成するステップをさらに含み、
前記修正されたビデオストリームを生成するステップは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記ビデオストリームは、マルチビュービデオストリームを含む、請求項１に記載の方法。
【請求項７】
表示装置において、前記修正されたビデオストリームを仮想現実または拡張現実体験として表示するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記基準画像は、前記ビデオストリームの基準フレームの基準ビューからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームの前記基準ビューとは異なる第１ビューからの画像である、請求項６に記載の方法。
【請求項９】
前記プロセッサにおいて、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームの前記基準ビューおよび前記第１ビューとは異なる第２ビューからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成するステップをさらに含み、
前記修正されたビデオストリームを生成するステップは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記入力装置において、前記第１のユーザ入力を受け付けるステップの前に、前記ビデオストリームの複数の画像の中から前記基準画像を指定する第２のユーザ入力を受け付けるステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記基準マスクを生成するステップは、
前記境界を用いて、前記基準画像の前記前景領域および前記背景領域を指定する初期バイナリセグメンテーションを計算するステップと、
前記境界をリファインして、前記前景領域および前記背景領域をより正確に指定するリファインされた境界の輪郭を示すステップと、
前記リファインされた境界を用いて前記基準マスクを生成するステップとを含む、請求項１に記載の方法。
【請求項１２】
前記リファインされた境界を用いて前記基準マスクを生成するステップは、前記リファインされた境界を用いて前記前景領域と前記背景領域との間の未知領域をさらに示すトライマップを生成するステップを含み、前記未知領域は、前記前景領域または前記背景領域のいずれかに属すると思われる画素を含む、請求項１１に記載の方法。
【請求項１３】
前記プロセッサにおいて、前記トライマップにマッティングアルゴリズムを適用して、前記前景領域、前記背景領域、および前記未知領域に含まれる前記画素のアルファ値を含んだアルファマットを取得するステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記ビデオストリームは、１つ以上のライトフィールドカメラによって撮影されたライトフィールド映像を含む、請求項１３に記載の方法。
【請求項１５】
前記アルファマットと前記前景領域の前景画像とを前記ライトフィールド映像に逆投影するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記基準マスクを用いて前記第１の非基準マスクを生成するステップは、
前記第１の非基準画像の第１の非基準セグメントと第２の非基準セグメントとの第１の非基準境界を指定するステップと、
前記第１の非基準境界を用いて、前記第１の非基準画像の前記第１の非基準セグメントおよび前記第２の非基準セグメントを指定する初期非基準バイナリセグメンテーションを計算するステップと、
前記第１の非基準境界をリファインして、前記第１の非基準セグメントおよび前記第２の非基準セグメントをより正確に指定するリファインされた非基準境界の輪郭を示すステップと、
前記リファインされた非基準境界を用いて、前記第１の非基準セグメントと前記第２の非基準セグメントとの間の未知の非基準セグメントをさらに示す非基準トライマップを生成するステップとを含み、前記未知の非基準セグメントは、前記第１の非基準セグメントまたは前記第２の非基準セグメントに属すると思われる非基準画素を含む、請求項１２に記載の方法。
【請求項１７】
前記プロセッサにおいて、前記非基準トライマップにマッティングアルゴリズムを適用して、前記未知の非基準セグメントに含まれる前記非基準画素の非基準アルファ値を含んだ非基準アルファマットを取得し、前記前景領域の非基準前景画像を生成するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
ビデオストリームにエフェクトを適用するための非一時的なコンピュータ読み取り可能な媒体であって、命令を格納し、前記命令は、プロセッサによって実行されると、
データストアに、前記ビデオストリームを受け付けさせることと、
入力装置に、前記ビデオストリームの基準画像の前景領域と前記前景領域とは異なる深度の背景領域との境界を指定する第１のユーザ入力を受け付けさせることと、
前記第１のユーザ入力に基づいて、前記前景領域および前記背景領域を示す基準マスクを生成することと、
前記基準マスクを用いて、前記ビデオストリームの前記基準画像とは異なる第１の非基準画像についての前記前景領域および前記背景領域を示す第１の非基準マスクを生成することと、
前記基準マスクを用いて前記基準画像に前記エフェクトを適用し、前記第１の非基準マスクを用いて前記第１の非基準画像に前記エフェクトを適用することによって、修正されたビデオストリームを生成することとを行う、非一時的なコンピュータ読み取り可能な媒体。
【請求項１９】
プロセッサによって実行されると表示装置に前記修正されたビデオストリームを表示させる命令をさらに格納した、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２０】
プロセッサによって実行されると前記データストアにおいて前記ビデオストリームを受け付けることの前に、カメラに前記ビデオストリームをキャプチャさせる命令をさらに格納した、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２１】
前記基準画像は、前記ビデオストリームの基準フレームからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームとは異なる第１フレームからの画像であり、
前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームおよび前記第１フレームとは異なる第２フレームからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成する命令をさらに格納し、
前記修正されたビデオストリームを生成することは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用することをさらに含む、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２２】
前記ビデオストリームは、マルチビュービデオストリームを含み、
前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサによって実行されると、表示装置に、前記修正されたビデオストリームを仮想現実または拡張現実体験として表示させる命令をさらに格納する、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２３】
前記ビデオストリームは、マルチビュービデオストリームを含み、
前記基準画像は、前記ビデオストリームの基準フレームの基準ビューからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームの前記基準ビューとは異なる第１ビューからの画像であり、
前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームの前記基準ビューおよび前記第１ビューとは異なる第２ビューからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成する命令をさらに格納し、
前記修正されたビデオストリームを生成することは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用することをさらに含む、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２４】
プロセッサによって実行されると、前記入力装置に、前記第１のユーザ入力を受け付けることの前に、前記ビデオストリームの複数の画像の中から前記基準画像を指定する第２のユーザ入力を受け付けさせる命令をさらに格納した、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２５】
前記基準マスクを生成することは、
前記境界を用いて、前記基準画像の前記前景領域および前記背景領域を指定する初期バイナリセグメンテーションを計算することと、
前記境界をリファインして、前記前景領域および前記背景領域をより正確に指定するリファインされた境界の輪郭を示すことと、
前記リファインされた境界を用いて前記基準マスクを生成することとを含み、
前記リファインされた境界を用いて前記基準マスクを生成することは、前記リファインされた境界を用いて前記前景領域と前記背景領域との間の未知領域をさらに示すトライマップを生成することを含み、前記未知領域は、前記前景領域または前記背景領域のいずれかに属すると思われる画素を含む、請求項１８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２６】
プロセッサによって実行されると、前記トライマップにマッティングアルゴリズムを適用して、前記前景領域、前記背景領域、および前記未知領域に含まれる前記画素のアルファ値を含んだアルファマットを取得する命令をさらに格納した、請求項２５に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２７】
前記ビデオストリームは、１つ以上のライトフィールドカメラによって撮影されたライトフィールド映像を含み、
前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記アルファマットと前記前景領域の前景画像とを前記ライトフィールド映像に逆投影する命令をさらに格納する、請求項２６に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２８】
前記基準マスクを用いて前記第１の非基準マスクを生成することは、
前記第１の非基準画像の第１の非基準セグメントと第２の非基準セグメントとの第１の非基準境界を指定することと、
前記第１の非基準境界を用いて、前記第１の非基準画像の前記第１の非基準セグメントおよび前記第２の非基準セグメントを指定する初期非基準バイナリセグメンテーションを計算することと、
前記第１の非基準境界をリファインして、前記第１の非基準セグメントおよび前記第２の非基準セグメントをより正確に指定するリファインされた非基準境界の輪郭を示すことと、
前記リファインされた非基準境界を用いて、前記第１の非基準セグメントと前記第２の非基準セグメントとの間の未知の非基準セグメントをさらに示す非基準トライマップを生成することとを含み、前記未知の非基準セグメントは、前記第１の非基準セグメントまたは前記第２の非基準セグメントに属すると思われる非基準画素を含む、請求項２５に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２９】
プロセッサによって実行されると、前記非基準トライマップにマッティングアルゴリズムを適用して、前記未知の非基準セグメントに含まれる前記非基準画素の非基準アルファ値を含んだ非基準アルファマットを取得し、前記前景領域の非基準前景画像を生成する命令をさらに格納した、請求項２８に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項３０】
ビデオストリームにエフェクトを適用するためのシステムであって、
前記ビデオストリームを受け付けるように構成されたデータストアと、
前記ビデオストリームの基準画像の前景領域と前記前景領域とは異なる深度の背景領域との境界を指定する第１のユーザ入力を受け付けるように構成された入力装置と、
前記データストアおよび前記入力装置に通信可能に接続されたプロセッサとを備え、前記プロセッサは、
前記第１のユーザ入力に基づいて、前記前景領域および前記背景領域を示す基準マスクを生成し、
前記基準マスクを用いて、前記ビデオストリームの前記基準画像とは異なる第１の非基準画像についての前記前景領域および前記背景領域を示す第１の非基準マスクを生成し、
前記基準マスクを用いて前記基準画像に前記エフェクトを適用し、前記第１の非基準マスクを用いて前記第１の非基準画像に前記エフェクトを適用することによって、修正されたビデオストリームを生成するように構成される、システム。
【請求項３１】
前記修正されたビデオストリームを表示するように構成された表示装置をさらに備える、請求項３０に記載のシステム。
【請求項３２】
前記データストアにおいて前記ビデオストリームを受け付ける前に前記ビデオストリームをキャプチャするように構成されたカメラをさらに備える、請求項３０に記載のシステム。
【請求項３３】
前記基準画像は、前記ビデオストリームの基準フレームからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームとは異なる第１フレームからの画像であり、
前記プロセッサは、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームおよび前記第１フレームとは異なる第２フレームからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成するようにさらに構成され、
前記プロセッサは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用することによって前記修正されたビデオストリームを生成するようにさらに構成される、請求項３０に記載のシステム。
【請求項３４】
前記ビデオストリームは、マルチビュービデオストリームを含み、
前記システムは、前記修正されたビデオストリームを仮想現実または拡張現実体験として表示するように構成された表示装置をさらに備える、請求項３０に記載のシステム。
【請求項３５】
前記ビデオストリームは、マルチビュービデオストリームを含み、
前記基準画像は、前記ビデオストリームの基準フレームの基準ビューからの画像であり、
前記第１の非基準画像は、前記ビデオストリームの前記基準フレームの前記基準ビューとは異なる第１ビューからの画像であり、
前記プロセッサは、前記第１の非基準マスクを用いて、前記ビデオストリームの前記基準フレームの前記基準ビューおよび前記第１ビューとは異なる第２ビューからの第２の非基準画像についての前記前景領域および前記背景領域を示す第２の非基準マスクを生成するようにさらに構成され、
前記プロセッサは、前記第２の非基準マスクを用いて前記第２の非基準画像に前記エフェクトを適用することによって前記修正されたビデオストリームを生成するようにさらに構成される、請求項３４に記載のシステム。
【請求項３６】
前記入力装置は、前記第１のユーザ入力を受け付ける前に、前記ビデオストリームの複数の画像の中から前記基準画像を指定する第２のユーザ入力を受け付けるようにさらに構成される、請求項３０に記載のシステム。
【請求項３７】
前記プロセッサは、
前記境界を用いて、前記基準画像の前記前景領域および前記背景領域を指定する初期バイナリセグメンテーションを計算し、
前記境界をリファインして、前記前景領域および前記背景領域をより正確に指定するリファインされた境界の輪郭を示し、
前記リファインされた境界を用いて前記基準マスクを生成することによって、前記基準マスクを生成するようにさらに構成され、
前記プロセッサは、前記リファインされた境界を用いて前記前景領域と前記背景領域との間の未知領域をさらに示すトライマップを生成することによって、前記リファインされた境界を用いて前記基準マスクを生成するようにさらに構成され、前記未知領域は、前記前景領域または前記背景領域のいずれかに属すると思われる画素を含む、請求項３０に記載のシステム。
【請求項３８】
前記プロセッサは、前記トライマップにマッティングアルゴリズムを適用して、前記前景領域、前記背景領域、および前記未知領域に含まれる前記画素のアルファ値を含んだアルファマットを取得するようにさらに構成される、請求項３７に記載のシステム。
【請求項３９】
前記ビデオストリームは、１つ以上のライトフィールドカメラによって撮影されたライトフィールド映像を含み、
前記プロセッサは、前記アルファマットと前記前景領域の前景画像とを前記ライトフィールド映像に逆投影するようにさらに構成される、請求項３８に記載のシステム。
【請求項４０】
前記プロセッサは、
前記第１の非基準画像の第１の非基準セグメントと第２の非基準セグメントとの第１の非基準境界を指定することと、
前記第１の非基準境界を用いて、前記第１の非基準画像の前記第１の非基準セグメントおよび前記第２の非基準セグメントを指定する初期非基準バイナリセグメンテーションを計算することと、
前記第１の非基準境界をリファインして、前記第１の非基準セグメントおよび前記第２の非基準セグメントをより正確に指定するリファインされた非基準境界の輪郭を示すことと、
前記リファインされた非基準境界を用いて、前記第１の非基準セグメントと前記第２の非基準セグメントとの間の未知の非基準セグメントをさらに示す非基準トライマップを生成することとによって、前記基準マスクを用いて前記第１の非基準マスクを生成するようにさらに構成され、前記未知の非基準セグメントは、前記第１の非基準セグメントまたは前記第２の非基準セグメントに属すると思われる非基準画素を含む、請求項３７に記載のシステム。
【請求項４１】
前記プロセッサは、前記非基準トライマップにマッティングアルゴリズムを適用して、前記未知の非基準セグメントに含まれる前記非基準画素の非基準アルファ値を含んだ非基準アルファマットを取得し、前記前景領域の非基準前景画像を生成するようにさらに構成される、請求項４０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１７年３月１７日に出願され、「Multi-View Scene Segmentation and Propagation（マルチビューシーンのセグメンテーションおよび伝播）」（代理人整理番号：ＬＹＴ２８７）と題された米国特許出願第１５／４６２，７５２号に基づく優先権を主張するものであり、そのすべての開示を、引用により本明細書に援用する。
【０００２】
本願は、２０１６年６月９日に出願され、「Using Light-Field Image Data for Background Color Spill Suppression（背景カラースピルを抑えるためにライトフィールド画像データを使用する方法）」（代理人整理番号：ＬＹＴ２５５−ＰＲＯＶ）と題された米国仮出願第６２／３４７，７３４号の利益を主張するものであり、そのすべての開示を、引用により本明細書に援用する。
【０００３】
本願は、２０１５年８月２７日に出願され、「Depth-Based Application of Image Effects（画像エフェクトの深度ベースの適用）」（代理人整理番号：ＬＹＴ２０３）と題された米国出願第１４／８３７，４６５号の関連出願であり、そのすべての開示を、引用により本明細書に援用する。
【０００４】
本願は、２０１６年３月２９日に出願され、「Capturing Light-Field Volume Images and Video Data Using Tiled Light-Field Cameras（タイル状ライトフィールドカメラを用いた、ライトフィールドボリューム画像および映像データのキャプチャ方法）」（代理人整理番号：ＬＹＴ２１７）と題された米国特許出願第１５／０８４，３２６号の関連出願であり、そのすべての開示を、引用により本明細書に援用する。
【０００５】
技術分野
本開示は、画像データを処理するためのシステムおよび方法に関し、より具体的には、仮想現実または拡張現実での活用に用いるために撮影されたライトフィールド（light-field）画像および／またはボリューメトリック（volumetric）映像におけるシーンをセグメント化するためのシステムおよび方法に関する。
【背景技術】
【０００６】
背景
従来の画像またはライトフィールド画像を、カラリゼーションの変更、コントラストの変更、ならびに、画像へのオブジェクトの挿入および／または削除など、エフェクトを提供するために編集することは、大変な作業である。エフェクトがどのように適用されるかを制御するために、通常、ユーザは、オブジェクトの境界を慎重に選択しなければならない。したがって、深度ベースのエフェクトを適用することは、多くの時間を必要とし、かつ、たくさんの人手を必要とする作業である。
【０００７】
背景の取り替えなど、深度ベースの修正を映像に行う必要性があるとさらに大変な作業になる。前景要素と背景要素との違いを描画する処理は、複数のフレームが関連すると急激にやっかいになり得る。このようなセグメンテーションを自動化するための既知の方法は、かなり限られている。たとえば、エッジ検出およびエッジ領域におけるアルファの推定は、背景色と前景色とを分けることに大きく依存しており、これは、低コントラスト部分や、前景色と背景色とが類似している場所では不正確である。
【０００８】
この大変な作業は、ライトフィールドカメラまたはタイル状カメラアレイのように、複数の視点を有する映像の場合は、複雑になる。ビデオストリームのビューごとにセグメンテーションが必要な場合、この処理は、適宜、繰り返し行われなければならず、結果、非常にたくさんの人手を必要とする処理である。
【発明の概要】
【課題を解決するための手段】
【０００９】
概要
様々な実施形態によると、本明細書に記載の技術のシステムおよび方法は、ライトフィールド画像データなどの画像データを、画像データの深度特性に基づいた様々なエフェクトが実装できるように処理する。このようなエフェクトとして、１つ以上のオブジェクトの置き換え、露出レベルの修正、コントラストレベルの修正、飽和レベルの修正、画像のカラーセットの修正、および／または画像データの背景の変更があり得るが、これらに限定されない。前景のシーン要素を正確に抽出することによって、たとえば、カラースピルおよび他のアーチファクトを最低限に抑えつつ新しい背景（および／または他の要素）を溶け込ませるための、より効果的な合成および／またはその他の視覚効果が可能になるだろう。
【００１０】
具体的には、ビデオストリームに深度ベースのエフェクトを適用して、修正されたビデオストリームを生成してもよい。ユーザ入力は、ビデオストリームの基準画像の前景領域と当該前景領域とは異なる深度の背景領域との境界を指定してもよい。これは、境界を指定するためのバウンディングボックスなどを利用して行われてもよい。たとえば、３Ｄバウンディングボックスを利用して、基準画像の前景領域を３Ｄバウンディングボックス内の画像の一部として指定してもよい。３Ｄバウンディングボックス外の画像の一部は、背景領域であってもよい。
【００１１】
ユーザ入力に基づいて、前景領域および背景領域を示すための基準マスクが生成されてもよい。境界をリファインして、リファインされた基準マスクのリファインされた境界を計算してもよい。リファインされた基準マスクは、必要に応じて、前景領域と背景領域との間の未知領域を含んだトライマップ（trimap）であってもよい。未知領域は、背景領域または前景領域のいずれかに属すると思われる画素を含んでもよい。未知領域は、境界が正確な正しい位置にあるかどうかについての信頼度に基づいて大きくも小さくもなり得る適応幅を有してもよい。必要に応じて、さらなるユーザ入力、深度ベースのアルゴリズムの適用、および／または色ベースのアルゴリズムの適用によって、未知領域に対してさらなるリファインが行われてもよい。基準画像と合わせて他のビューおよび／またはフレームを分析して、未知領域の画素が前景領域に属するか、または背景領域に属するかを判断するのに役立ててもよい。
【００１２】
基準マスクを用いて、ビデオストリームの基準画像とは異なる１つ以上の非基準画像についての前景領域および背景領域を示す１つ以上の非基準マスクを生成してもよい。よって、異なるビューおよび／または異なるフレームに対して当該基準マスク（たとえば、トライマップ）を適用して、そのフレーム用のトライマップの生成を容易にしてもよい。よって、トライマップは、順伝播（時間的に順方向）および／または逆伝播（時間的に逆方向）によって１つ以上のキーフレームから伝播されてもよい。同様に、トライマップは、トライマップが計算された画像と同じフレームの異なるビューに伝播されてもよい。よって、ユーザがフレームおよび／またはビューごとに入力を行わなくても、ビデオストリームのすべてのビューおよび／またはフレームのトライマップを計算することができる。
【００１３】
トライマップを用いて、ビューおよび／またはフレームごとのアルファマットを生成してもよい。アルファマットは、エフェクトがビデオストリームに対してどのように適用されるかを制御するために用いられてもよい。ビデオストリームがライトフィールド映像である場合、アルファマットは、アルファマットが適用された新しいビューを投影するためにライトフィールドを使用できるよう、必要に応じて、ライトフィールドに逆投影されてもよい。
【００１４】
このように、修正されたビデオストリームが生成されてもよい。修正されたビデオストリームは、たとえば、仮想現実または拡張現実体験の一部として視聴者に表示されてもよい。
【００１５】
添付の図面は、いくつかの実施形態を例示する。その説明とともに、添付の図面は、実施形態の原理を説明する役割を果たす。図に示す特定の実施形態が例示にすぎず、本開示の範囲を限定する意図はないことが当業者はわかるであろう。
【図面の簡単な説明】
【００１６】
【図１】一実施形態に係る、映像エフェクトの適用を実行するためのパイプラインを示す図である。
【図２】一実施形態に係る、映像エフェクトの適用を実行するための方法のフロー図である。
【図３】一実施形態に係る、ビデオストリームの隣接するフレームおよび／またはビューに対するセグメンテーションの伝播を示す図である。
【図４】一実施形態に係る、ビデオストリームの隣接するフレームおよび／またはビューに対するセグメンテーションの伝播をさらに示す図である。
【図５】一実施形態に係る、ユーザが前景オブジェクトを指定できる１つの方法を示すスクリーンショット図である。
【図６】一実施形態に係る、前景素材および背景素材を指定するための、ユーザが描くストロークの使用を示すスクリーンショット図である。
【図７】一実施形態に係る、前景、背景、および未知領域（すなわち、未知のセグメント）を示すトライマップの一部を示す図である。
【図８】一実施形態に係る、オプティカルフローを利用した順方向のトライマップ伝播を示す画像のセットである。
【図９】別の実施形態に係る、オプティカルフローを利用した逆方向のトライマップ伝播を示す画像のセットである。
【図１０】一実施形態に係る、順伝播および逆伝播によって得られたトライマップの結合を示す画像のセットである。
【図１１】ｉにあるキーフレームおよびｋにあるキーフレームを用いたフレームｊのトライマップの補間を示したグラフである。
【図１２】一実施形態に係る、｜ｉ−ｊ｜＜＝｜ｋ−ｊ｜の場合の結合トライマップ値を示す表である。
【図１３】一実施形態に係る、｜ｉ−ｊ｜＞｜ｋ−ｊ｜の場合の結合トライマップ値を示す表である。
【図１４Ａ】一実施形態に係る、隣接（非基準）ビューＶＡの上面図である。
【図１４Ｂ】一実施形態に係る、隣接（非基準）ビューＶＡの仮トライマップである。
【図１４Ｃ】一実施形態に係る、隣接（非基準）ビューＶＡのバイナリセグメンテーションである。
【図１４Ｄ】一実施形態に係る、隣接（非基準）ビューＶＡの最終トライマップである。
【図１５】一実施形態に係る、隣接（非基準ビュー）ＶＡの上面図である。
【図１６】一実施形態に係る、複数のビューからのアルファマットをライトフィールドに逆投影する際のステップを示す、スクリーンショット画像のセットである。
【発明を実施するための形態】
【００１７】
定義
本明細書において提供する説明の便宜上、下記の定義を用いる。
【００１８】
●アルファマット：アルファマッティング処理からの出力。
●アルファマッティング：画像に含まれる背景画素と前景画素とを区別するための処理。この処理は、これらの画素に透明度を割り当てることを含んでもよい。割り当てられた透明度は、たとえば、画像に関連付けられたアルファチャンネルとしてエンコードされ得る。
【００１９】
●背景領域」−カメラから離れたところにある対象を指定する画像の一部。
●コンピューティングデバイス：プロセッサを含んだ任意のデバイス。
【００２０】
●データストア：デジタルデータを格納する任意のデバイス。
●深度：オブジェクトおよび／または対応する画像サンプルとカメラのマイクロレンズアレイとの間の変位を表現したもの。
【００２１】
●深度マップ：ライトフィールド画像に対応する２次元マップであり、ライトフィールド画像内の複数の画素サンプルの各々の深度を示す。
【００２２】
●表示画面：画像を表示できる任意の種類のハードウェア。
●拡張焦点深度（ＥＤＯＦ）画像：より大きな深度範囲の焦点が合わせられたオブジェクトを有するように処理された画像。
【００２３】
●前景セグメントまたは「前景領域」−カメラに近いところにある対象を指定する画像の一部。
【００２４】
●フレーム：シーンの１つ以上の画像がビデオストリームの一部としてキャプチャされる時間指定。
【００２５】
●画像：各々が色を指定する画素値の２次元アレイまたは画素。
●入力装置：コンピューティングデバイスに対するユーザ入力を受け付けることができる任意のデバイス。
【００２６】
●ライトフィールド画像：センサにおいてキャプチャされたライトフィールドデータを表現したものを含んだ画像。
【００２７】
●マイクロレンズ：小さいレンズ。通常、同類のマイクロレンズのアレイにおける１つのレンズ。
【００２８】
●マルチビュービデオストリーム：少なくとも１つのフレームに対して複数のビューを有するビデオストリーム。
【００２９】
●修正されたビデオストリーム：１つ以上のエフェクトがビデオストリームに適用されると出来上がるビデオストリーム。
【００３０】
●プロセッサ：データに基づいて判断を行うことができる任意のデバイス。
●基準マスク：画像の複数の部分の各々についての指定を示す、トライマップ（trimap）を含む任意のデータ構造。
【００３１】
●トライマップ：画像の領域を指定する基準マスク。トライマップは、たとえば、前景領域と、背景領域と、前景領域と背景領域との間の未知領域とを指定してもよい。
【００３２】
●未知領域‐前景領域または背景領域のいずれかに属すると思われる画素を含んだ画像の一部。
【００３３】
●ビデオストリーム：異なる時間のフレームを含んだ一連の画像。
●ビュー：シーンを見る視点および／またはビューの向き。
【００３４】
これに加えて、専門用語をわかりやすくするために、用語「カメラ」は、本明細書において、画像キャプチャデバイスまたはその他のデータ取得デバイスを指すために使用される。このようなデータ取得デバイスは、シーンを表すデータを取得、記録、測定、推定、判断、および／または計算するための任意のデバイスまたはシステムであり得る。当該データとして、２次元画像データ、３次元画像データ、および／またはライトフィールドデータが挙げられるが、これらに限定されない。このようなデータ取得デバイスは、光学系、センサ、および当技術分野において周知の技術を利用してシーンを表すデータを取得するための画像処理電子機器を含んでもよい。本開示に関して、多くの種類のデータ取得デバイスが使用できること、かつ、本開示はカメラに限定されないことが当業者はわかるであろう。よって、本明細書における用語「カメラ」の使用は、例示のためであり、一例にすぎず、本開示の範囲を限定するものと考えられるべきではない。具体的には、明細書におけるこのような用語のいかなる使用も、画像データを取得するのに適した任意のデバイスを指すものと考えられるべきである。
【００３５】
以下の説明において、ライトフィールド画像を処理するためのいくつかの技術および方法を説明する。これらの様々な技術および方法が単独でおよび／またはそれらの任意の適した組み合わせで実行できることが当業者はわかるであろう。
【００３６】
アーキテクチャ
少なくとも１つの実施形態では、本明細書に記載のシステムおよび方法は、これに限定されないが、Ｎｇらの、ハンドヘルド型プレノプティックキャプチャデバイスを用いたライトフィールド撮影（技術報告書ＣＳＴＲ２００５−０２、スタンフォードコンピュータサイエンス）に記載されたものを含む、ライトフィールドキャプチャデバイスによって撮影されたライトフィールド画像に関連して実施されてもよい。２０１５年８月２７日に出願され、「Depth-Based Application of Image Effects（画像エフェクトの深度ベースの適用）」（代理人整理番号：ＬＹＴ２０３）と題された米国出願第１４／８３７，４６５号に、例示的なライトフィールドの概念、光学ハードウェア、およびコンピューティングハードウェアが示され記載されている。当該出願のすべての開示内容は、引用により本明細書に援用する。本明細書に記載のシステムおよび方法は、ライトフィールドデータを受け付けて処理するライトフィールドカメラまたは後処理システムなど、当該出願に開示のハードウェア上で実施されてもよい。
【００３７】
これに加えて、または、これに代えて、本明細書に記載のシステムおよび方法は、タイル状カメラアレイによって撮影された映像データなど、ボリューメトリック映像データに関連して実施されてもよい。２０１６年３月２９日に出願され、「Capturing Light-Field Volume Images and Video Data Using Tiled Light-Field Cameras（タイル状ライトフィールドカメラを用いた、ライトフィールドボリューム画像および映像データのキャプチャ方法）」（代理人整理番号：ＬＹＴ２１７）と題された米国実用新案出願第１５／０８４，３２６号に、例示的なカメラアレイの概念、光学ハードウェア、およびコンピューティングハードウェアの例が示され記載されている。当該出願のすべての開示内容は、引用により本明細書に援用する。本明細書に記載のシステムおよび方法は、タイル状カメラアレイもしくはキャプチャシステム、および／またはボリューメトリック映像データを受け付けて処理する後処理システムなど、関連するハードウェア上で実施されてもよい。
【００３８】
エフェクトの適用
画像に含まれるオブジェクトの深度に基づいて有利に適用できるエフェクトが多くある。たとえば、画像の背景または前景を取り替えること、または、カメラに近いまたはカメラから離れたオブジェクトのみを照射するさらなる光源の存在をシミュレートすることが望ましいだろう。
【００３９】
このようなエフェクトの適用は、１枚の画像に対して行うには大変な作業である。ライトフィールド画像またはタイル状カメラアレイによって撮影された画像など、マルチビュー画像に対して行うとさらに大変な作業になる。仮想現実または拡張現実での活用において用いられる映像など、映像フォーマットで表現するために複数のフレームに対して変更を適用するときには、これらの大変な作業はいっそう大変になる。
【００４０】
本開示は、深度に基づいて画像をセグメント化できるシステムおよび方法を提供する。たとえば、背景の取り替えを行うために、画像の前景にオブジェクトを含んだ前景部分、画像の背景にオブジェクトを含んだ背景部分、ならびに／または画像の前景および／もしくは背景である可能性のあるオブジェクトを含んだ未知の部分にこの画像をセグメント化してもよい。次に、ビデオストリームのセグメンテーションを提供するために、別のビューおよび／または別のフレームからの画像にセグメンテーションが伝播されてもよい。セグメンテーション後、背景の取り替えなどの動作を容易に実行することができるだろう。
【００４１】
マルチビューセグメンテーションのパイプラインおよび方法
図１は、一実施形態に係る、映像エフェクトの適用を実行するためのパイプラインを示す図である。エフェクトは、前述したように、ライトフィールド映像および／またはタイル状カメラアレイを用いて撮影された映像などのマルチビュー映像に適用されてもよい。図に示すように、ビデオストリーム１００は、必要に応じて、マルチビュービデオストリームであってもよく、特定のフレームおよび／またはビューに各々が対応する複数の画像を含んでもよい。
【００４２】
ビデオストリーム１００は、様々な種類のデータを含んでもよい。様々な種類のデータは、色データ１０２、深度データ１０４、および動きデータ１０６を含み得るが、これらに限定されない。色データ１０２は、ビデオストリーム１００の各画像の画素ごとの色をエンコードしてもよく、ＲＧＢまたはその他の適したフォーマットであってもよい。深度データ１０４は、ビデオストリーム１００を撮影したイメージセンサからの、ビデオストリーム１００の各画像の様々な画素および／または部分の深度を示す深度マップまたはその他のデータ構造を含んでもよい。動きデータ１０６は、各フレームの画像（複数可）から次のフレームの対応する画像（複数可）への変化を示してもよい。
【００４３】
ビデオストリーム１００の１つ以上の画像は、セグメンテーションを受けてもよい。セグメンテーションでは、ビデオストリーム１００のそれぞれ異なるセグメントの輪郭が示され、エフェクトの適用が容易になる。たとえば、セグメンテーションは、バイナリセグメンテーション１１０であってもよい。バイナリセグメンテーション１１０では、カメラに比較的近いオブジェクトを表示する前景領域およびカメラから比較的離れたオブジェクトを表示する背景領域など、２つのセグメントに画像がセグメント化される。ユーザ入力１２０を利用してこの輪郭描写処理を容易にしてもよい。
【００４４】
バイナリセグメンテーション１１０は、境界１３２が前景領域と背景領域との間に記載された初期バイナリセグメンテーション１３０を画像ごとに含んでもよい。さらには、バイナリセグメンテーション１１０は、境界１３２がリファインされて前景領域と背景領域との間のリファインされた境界１４２の形をとるように、リファインされたバイナリセグメンテーション１４０を画像ごとに含んでもよい。
【００４５】
バイナリセグメンテーション１１０を利用してトライマップ１５０を構成してもよい。トライマップ１５０は、画像ごとの適応トライマップであってもよい。トライマップ１５０は、画像を、前景領域と、背景領域と、前景領域と背景領域との間の未知領域とに分ける画像のマップであってもよい。未知領域は、前景領域または背景領域と適宜一緒にされ得る画素を含んでもよい。いくつかの実施形態では、トライマップ１５０は、前景（たとえば、２５５とエンコードされる）、背景（たとえば、０とエンコードされる）、および未知（たとえば、１２８とエンコードされる）領域を指定するマスクであってもよい。未知領域は、前景画素と背景画素とを分ける境界の周りの、個々の画素が前景／背景に指定されるかどうかが不確かな画素の範囲を規定してもよい。
【００４６】
トライマップ１５０にマッティング１６０を適用してもよく、これによって、前景画像１６５が生成され得る。前景画像１６５は、前景領域、および／または、各画像にエフェクトが適用される程度を示すアルファマット１７０のみを表す画像であってもよい。前景画像１６５および／またはアルファマット１７０を用いてビデオストリーム１００にエフェクトを適用してもよく、これによって、修正されたビデオストリーム１８０が生成される。アルファマット１７０の生成が画像セグメンテーションの主な目的であってもよい。
【００４７】
いくつかの実装形態では、アルファマット１７０は、
●前景（アルファ値が１）と、
●背景（アルファ値が０）と、
●前景と背景との間の「ソフト」エッジとに属する画像の一部を識別する浮動小数点画像であってもよい。モーションブラーまたは素材のプロパティにより、いくつかのエッジ値は部分的に透明であってもよい。その場合、０〜１のアルファ値が推定されてもよい。
【００４８】
図２は、一実施形態に係る、映像エフェクトの適用を実行するための方法を示したフロー図である。図２の方法は、必要に応じて、図１に示すデータ構造を用いて実行されてもよい。これに代えて、図２の方法は、互いに異なるデータ構造を用いて実行されてもよい。同様に、図２の方法とは異なる方法に関して、図１のデータ構造が用いられてもよい。以下の説明では、図２の方法が図１のデータ構造を利用すると想定する。
【００４９】
図２の方法は、たとえば、ライトフィールド画像および／またはボリューメトリック映像データを処理するために使用される後処理回路を用いて実行されてもよい。いくつかの実施形態では、コンピューティングデバイスがこの方法を実行してもよい。このようなコンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレット端末、カメラ、および／またはデジタル情報を処理するその他のデバイスのうちの１つ以上を含んでもよい。
【００５０】
方法は、ステップ２００から開始してもよい。引用により本明細書に援用する特許出願に開示されるように、ステップ２００において、たとえば、カメラのセンサ、またはカメラアレイによってビデオストリーム１００をキャプチャする。ライトフィールド映像キャプチャについては、仮想絞りの様々な位置でライトフィールドの焦点を再び定めることによって、複数のビューを計算してもよい。これは、ビデオストリーム１００のキャプチャ後に生じる１つ以上のステップにおいて行われてもよい。
【００５１】
ステップ２１０において、カメラまたはカメラアレイの一部であり得るコンピューティングデバイスにおいてビデオストリーム１００を受け付けてもよい。これに代えて、コンピューティングデバイスは、引用により本明細書に援用する特許出願に開示されるような別の後処理システムにおいて見られるように、カメラとは別であってもよい。このようなコンピューティングデバイスを、以下、「システム」と呼ぶ。
【００５２】
ステップ２２０において、システムは、ビデオストリーム１００の基準画像のユーザ指定を受け付けてもよい。基準画像は、初期バイナリセグメンテーションに利用される。ユーザは、たとえば、はっきりと境界が規定された、および／または境界を簡単に認識できる前景領域および背景領域を有する画像を選んでもよい。別の実施形態では、基準画像は、システムによって自動的に選択されてもよい。いくつかの実施形態では、ビデオストリーム１００の基準画像および／またはその他の画像の、フレームごとの深度マップまたは視差マップ、および／または画素ごとの動きを正確に記録するオプティカルフロー画像がすでに計算されていてもよい。
【００５３】
ステップ２３０において、システムは、前景領域と背景領域との境界のユーザ指定を受け付けてもよい。このユーザ指定は、たとえば、前景領域および／または背景領域に含まれる１つ以上の要素を囲むバウンディングボックスなどの１つ以上の要素をユーザが描くことによって行われてもよい。このユーザ指定は、図１の初期バイナリセグメンテーション１３０を計算するためにステップ２４０で使用されてもよい。
【００５４】
必要に応じて、ユーザが描いた要素は、まとめて境界１３２を構成してもよい。ステップ２５０において、境界１３２をリファインしてリファインされた境界１４２を提供してもよいため、リファインされたバイナリセグメンテーション１４０が提供される。必要であれば、グラフカットおよび／またはその他のコンピュータビジョン技術を利用して、境界１３２および／またはリファインされた境界１４２を規定および／またはリファインしてもよい。背景領域および前景領域が同じような色である場合にエッジをリファインするために、必要であれば、基準画像の深度マップからの深度の手がかりを確率モデルに含めてもよい。
【００５５】
ステップ２６０において、リファインされたバイナリセグメンテーション１４０に基づいてトライマップ１５０を計算してもよい。上述したように、トライマップは、前景領域と背景領域との間の未知領域を含んでもよい。ステップ２７０において、トライマップ１５０にマッティングアルゴリズムを適用して基準画像のアルファマット１７０を生成してもよい。互いに隣接するビューからの色情報を用いて前景コンポーネントと背景コンポーネントとを分けてもよく、これによって、合成処理方程式に含まれる未知数の数を減らすことができ、その結果、アルファマット１７０の精度が大幅に改善する。いくつかの実施形態では、アルファマット１７０は、ビデオストリーム１００の画像の各画素の透明度を示す画素単位のマップであってもよい。アルファマット１７０は、ビデオストリーム１００のアルファチャンネルにエンコードされてもよい。アルファマット１７０の生成には、トライマップ１５０およびビデオストリーム１００の色データ１０２を入力として使用することが含まれてもよい。
【００５６】
クエリ２８０では、ビデオストリーム１００のすべてのフレームおよびビューが処理されたかどうかの判断を行ってもよい。すべてのフレームおよびビューが処理されていない場合、ステップ２９０において、基準画像とは異なるフレームおよび／またはビューから新しい画像（「第１の非基準画像」）を選択してもよい。ステップ２９１において、この新しい画像に、ステップ２６０で計算されたトライマップ１５０を伝播してもよい。クエリ２８０に対する応答が肯定となるまで、非基準画像に対してステップ２４０、ステップ２５０、ステップ２６０、およびステップ２７０を繰り返してもよく、かつ、ステップ２９０で次の非基準画像を選択して上述したように処理してもよい。
【００５７】
いくつかの実施形態では、各非基準画像は、ステップ２９０において、システムによって自動的に選択されてもよく、ステップ２４０、ステップ２５０、ステップ２６０、およびステップ２７０において、さらなるユーザ入力なしで処理されてもよい。別の実施形態では、ユーザは、入力を行って、ステップ２９０に従って新しい画像のうちの１つ以上を選択してもよい。必要であれば、適切なバイナリセグメンテーション１３０の生成を容易にする入力をユーザが行えるよう、新しい画像ごとにステップ２３０を繰り返してもよい。
【００５８】
いくつかの実施形態では、非基準画像ごとに、ステップ２４０、ステップ２５０、ステップ２６０、およびステップ２７０のうちの１つ以上が省略されてもよい。たとえば、基準画像のトライマップ１５０を利用して、ステップ２６０に従って第１の非基準画像のトライマップ１５０を計算してもよい。これは、新しい非基準画像に対してステップ２４０および／またはステップ２５０を実行せずに行うことができる。
【００５９】
先に処理された画像のビューおよび／またはフレームに隣接するビューおよび／またはフレームから非基準画像を選択してもよい。それによって、新しい非基準画像のトライマップ１５０を生成するために、隣接する画像のトライマップ１５０をステップ２６０で利用することができる。たとえば、（１）新しい非基準画像と先に処理された画像との間にオプティカルフローを適用することによって、および／または（２）新しい非基準画像および／または先に処理された画像の外部パラメータと組み合わせて深度データ１０４を使用することによって生成される各トライマップ１５０が、前のトライマップから外挿されてもよい。
【００６０】
いくつかの実施形態では、ステップ２４０および／またはステップ２５０を部分的にのみ実行してもよい。たとえば、ステップ２９１で伝播された新しい非基準画像の新しいトライマップは、動き推定エラーおよび／または深度推定エラーにより、新しい非基準画像にとって正確なものではないかもしれない。このような誤りによって、マッティングアルゴリズムがステップ２７０で失敗してしまう可能性がある。これらの誤りに対処するために、先に処理された画像のトライマップから外挿法によって生成されたトライマップ１５０の未知領域のためだけにステップ２４０および／またはステップ２５０を実行してもよい。次に、ステップ２６０およびステップ２７０を実行して、修正されたトライマップを計算してもよく、これによって、ステップ２７０のマッティングアルゴリズムがよりよく機能するようになるだろう。
【００６１】
図３は、一実施形態に係る、ビデオストリーム１００の隣接するフレームおよび／またはビューへのセグメンテーションの伝播を示す図３００である。たとえば、基準画像３１０から、隣接する前の非基準画像３２０に対して、時間的に逆方向にセグメンテーションを伝播してもよく、および／または、隣接する次の非基準画像３３０に対して、時間的に順方向にセグメンテーションを伝播してもよい。これに加えて、または、これに代えて、基準画像３１０から、第１の隣接ビューの非基準画像３４０および／または第２の隣接ビューの非基準画像３５０にセグメンテーションを伝播してもよい。
【００６２】
同様に、隣接する前の非基準画像３２０から、第１の隣接ビューの非基準画像３６０および／または第２の隣接ビューの非基準画像３７０にセグメンテーションを伝播してもよい。隣接する次の非基準画像３３０から、第１の隣接ビューの非基準画像３８０および／または第２の隣接ビューの非基準画像３９０にセグメンテーションを伝播してもよい。
【００６３】
図４は、一実施形態に係る、ビデオストリーム１００の隣接するフレームおよび／またはビューへのセグメンテーションの伝播をさらに示す図４００である。ビュー伝播および／または時間伝播は、任意の順で用いられてもよい。図に示すように、時間ｔの基準ビューＶRにおける基準画像のトライマップ４１０からのビュー伝播によって、別の（すなわち、非基準）ビューＶAの初期トライマップ４２０を生成してもよい。バイナリセグメンテーション４３０を実行して、ビューＶAの適応トライマップ４４０を生成してもよい。適応トライマップ４４０は、ビューＶAのアルファマット１７０を生成するために使用されてもよい。同様に、トライマップ４１０からの時間伝播によって、次のフレーム（時間ｔ＋１）のビューＶRの初期トライマップ４５０を生成してもよい。バイナリセグメンテーション４６０を実行して、時間ｔ＋１のビューＶRの適応トライマップ４７０を生成してもよい。
【００６４】
図１と合わせて図２を再び参照すると、すべてのビューおよび／またはフレームが処理されると、ステップ２９２において、ステップ２７０で画像ごとに生成されたアルファマット１７０を、ライトフィールドまたはビデオストリーム１００のビューを互いにリンクするその他のデータに逆投影してもよい。深度マップと合わせて既知のビュー形状を用いて、未知領域を投影し、その他すべてのビューの逆投影されたアルファマットを計算してもよい。これによって、ビデオストリーム１００にアルファマット１７０を正確に適用することが容易になるだろう。ステップ２９４において、アルファマット１７０および／または逆投影されたアルファマットを用いてビデオストリーム１００にエフェクトを適用し、図１の修正されたビデオストリーム１８０を生成してもよい。必要であれば、単一ビューアルファマットを４Ｄライトフィールドに逆投影して４Ｄ合成ワークフローを可能にしてもよい。４Ｄ合成ワークフローでは、キャプチャされたライトフィールドとコンピュータによって生成されたライトフィールドとが混ぜ合わされて最終画像が形成される。
【００６５】
ステップ２９６において、修正されたビデオストリーム１８０をユーザに表示してもよい。これは、たとえば、引用により本明細書に援用する特許出願に開示されているような表示画面に修正されたビデオストリーム１８０を表示することによって行われてもよい。必要であれば、方法は、仮想現実または拡張現実体験の一部であってもよい。その後、方法は、終了する。
【００６６】
図２の方法は、多フレームビデオストリームなどのビデオストリームにエフェクトを適用するために使用できる多くのあり得る方法のうちの１つにすぎない。様々な代替方法に従って、図２の様々なステップを、異なる順で実行してもよく、省略してもよく、および／または他のステップで置き換えてもよい。たとえば、図２の方法の任意の段階で、他の画像処理ステップが方法に組み込まれてもよく、エフェクトを適用する前、適用中、および／または適用した後の画像に対して実行されてもよい。
【００６７】
図２の方法のステップの各々は、本開示の範囲内であれば、いろいろなやり方で実行されてもよい。ステップのうちのいくつかが実行され得る例示的な方法を以下にさらに詳細に示し説明する。以下は、例にすぎない。図２のステップは、以下とは大幅に異なる方法で実行されてもよい。
【００６８】
バイナリセグメンテーション
ステップ２３０のように、ユーザ入力によるバイナリセグメンテーションを開始するために、基準ビューをグラフィカルユーザインタフェースに表示してもよい。次に、アーティストが、画像の１つ以上の部分を囲む３Ｄバウンディングボックスを規定してもよい。たとえば、背景を取り替える場合、アーティストは、背景からセグメント化される１つ以上の前景オブジェクトを囲む３Ｄバウンディングボックスを規定してもよい。これは、ボックスの２つの対向する隅についての最小および最大のＸ値、Ｙ値、およびＺ値を指定することによって行われてもよい。
【００６９】
図５は、一実施形態に係る、ユーザが前景オブジェクトを指定できる１つの方法を示すスクリーンショット図５００である。図に示すように、画像は、前景５１０と背景５２０とを含んでもよい。上述したように前景５１０の周囲を囲むように３Ｄバウンディングボックス５３０が配置されてもよく、これによって、初期バイナリセグメンテーションの初期境界が提供される。初期境界は、図１の初期バイナリセグメンテーション１３０の境界１３２であってもよい。
【００７０】
次に、反復的グラフカットを用いてこの初期バイナリセグメンテーション１３０をリファインしてもよい。最初のステップは、初期バイナリセグメンテーション１３０を用いて初期バイナリセグメンテーション１３０からの４つの確率分布を訓練することであってもよい。４つの確率分布は、各々、
１．前景色の確率ＰFG,C、
２．背景色の確率ＰBG,C、
３．前景深度の確率ＰFG,D、および
４．背景深度の確率ＰBG,D、という混合ガウスモデルとして表される。
【００７１】
深度の確率分布（上記番号３および番号４）がバイナリセグメンテーションに取り入れられてもよい。ユーザは、実数値を用いた重みＷCおよびＷDのセットを用いて、深度情報または色情報に相対的な重要度を割り当ててもよい。必要に応じて、ユーザは、深度マップおよび／またはカラー画像であるというユーザの自信の程度に基づいてこれらの重みを変更してもよい。
【００７２】
この定義によって、所与の画素ｐが前景に属する確率は、次のように定義されてもよい。
【００７３】
【数１】
2019525515.tif 000003
【００７４】
ＷCおよびＷDは、次のように設定されてもよい。
【００７５】
【数２】
2019525515.tif 000004
【００７６】
背景である確率も同じ方法で定義されてもよい。
次に、大域的最小化（global minimization）を実行して、上記確率モデルに基づいて画素ごとの新しいラベルの割り当て（前景または背景）を見つけてもよい。同じような色の領域におけるコヒーレンスを強めるために平滑化項が用いられてもよい。既存の手法に加えて、同じような深度の領域が一貫してラベル付けされる傾向になるように、近傍画素の深度値がこの平滑化項に含まれてもよい。
【００７７】
この最終最小化は、最終セグメンテーションが得られる最小カットアルゴリズムを利用して行われてもよい。セグメンテーションラベルの新しいセットを取得するために、通常、これらのセグメンテーションラベルが収束するまでこの処理（確率推定およびグラフカット）を繰り返してもよい。その結果、図２のステップ２５０に記載したように、図１のリファインされたバイナリセグメンテーション１４０が生成されるだろう。
【００７８】
ユーザは、前景領域および／または背景領域に属しているとわかっている部分にペイントストロークを描くことによってこのセグメンテーションを訂正するオプションを有してもよい。ユーザ定義ラベルが最適化処理によって変更されないが確率モデルを訓練するために使用されるように、ペイントストロークが描かれた各画素は、適宜ラベル付けされてもよい。
【００７９】
図６は、一実施形態に係る、前景素材および背景素材を指定するための、ユーザが描くストロークの使用を示したスクリーンショット図６００である。図に示すように、ユーザは、赤色ストローク６３０を用いて前景５１０に属する画像の部分を指定してもよい。同様に、青色ストローク６４０を用いて背景５２０に属する画像の部分を指定してもよい。上述したように、これらの指定は、反復的グラフカットの間は修正されてはならない。
【００８０】
トライマップの生成
図２の方法のステップ２６０のように、リファインされたバイナリセグメンテーション１４０を使用してトライマップ１５０を計算してもよい。トライマップ１５０は、各画素が前景、背景、および未知という３つの領域のうちの１つに属するとラベル付けされた３値画像であってもよい。特に、境界１３２および／またはリファインされた境界１４２が低コントラスト部分に交差すると、初期バイナリセグメンテーション１３０および／またはリファインされたバイナリセグメンテーション１４０にエラーが発生する可能性がある。トライマップ１５０の厚みは、未知領域が画像の実際のエッジを正しく含むように、エッジ距離のメトリックに基づいて動的に選択されてもよい。
【００８１】
図７は、一実施形態に係る、前景５１０、背景５２０、および未知領域７２０（すなわち、未知領域）を示すトライマップ７００の一部を示す図である。図に示すように、未知領域７２０が前景５１０を背景５２０から分けてもよい。トライマップ７００を計算することには、リファインされたバイナリセグメンテーション１４０からのリファインされた境界１４２であり得るバイナリセグメンテーションエッジ７１０を使用して未知領域７２０を配置することが含まれてもよい。
【００８２】
未知領域７２０の幅は、未知領域７２０の長さに沿って変更できるよう、適応性があってもよい。たとえば、未知領域７２０は、実際のソフトエッジ７５０など、バイナリセグメンテーションエッジ７１０に近接した特徴量を含むように広がったトライマップエッジ７３０を有してもよい。特徴量は、低コントラスト部分７４０に近接した高コントラスト特徴量であってもよい。
【００８３】
いくつかの実施形態では、下記の処理を用いてもよい。
１．ユーザは、画素における未知領域７２０の最小幅幅（ｔmin）および最大幅（Ｔmax）を設定してもよい。
【００８４】
２．画像に含まれる高コントラストのエッジを検出してもよい。形式上、画素Ｉにおけるコントラスト値を、次のように、近傍画素ｊに対して定義してもよい。
【００８５】
【数３】
2019525515.tif 000005
【００８６】
３．Ｃをしきい値処理して、Ｃ’（ｉ）が高コントラストのエッジ上で１に等しくなるように、そうでなければ０に等しくなるよう、バイナリエッジ画像Ｃ’を形成してもよい。
【００８７】
４．２値画像Ｃ’から距離マップＤを計算してもよい。画素Ｉごとに、Ｄ（ｉ）は、Ｃ’における最も近い高コントラストのエッジへの距離を含んでもよい。スピードを考慮するために、三角フィルタを用いてＥを不鮮明にしてもよい。これによって、各エッジを囲む、現在の画素がそのエッジからどのくらい離れているかを示す傾斜した輪郭が作られてもよい。別のより正確なオプションは、Ｃ’から距離変換を計算することである。
【００８８】
５．次に、擬似コードの例に示すように、最終トライマップ画像Ｔを計算してもよい。
バイナリセグメンテーションに従って、Ｔ＝‘前景'またはＴ＝‘背景'を初期化する。
【００８９】
バイナリセグメンテーションエッジ上の画素Ｉごとに、
Ｔ（ｉ）＝‘未知’を設定する。
Ｄ（ｉ）がｔｍａｘよりも小さい場合、
ｒ＝ｍａｘ（Ｄ（ｉ）、ｔｍｉｎ）を設定する。
ｉを中心とした半径ｒのディスクにおける画素ｊごとに、
Ｔ（ｊ）＝‘未知'を設定する。
【００９０】
最終トライマップ画像は、バイナリセグメンテーションエッジを囲む特徴的な左右対称の輪郭を用いて最も近い高コントラストのエッジ（複数可）を正確に含んだ未知領域を有してもよい。とりわけ、コントラスト画像Ｃ（ｉ）の規定によって、未知領域７２０が必要に応じただけの厚みを必ず有するようにしつつ、未知領域７２０に含まれるカラーエッジに加えて深度エッジが必ず正しくキャプチャされるようにしてもよい。これによって、図２のステップ２７０においてマッティングを実行することが容易になるだろう。
【００９１】
パラメータＴminおよびＴmaxが未知領域７２０の最終的な形状を制御してもよい。パラメータＴminおよびＴmaxは、所望の結果を実現するために未知領域７２０を縮めるまたは広げるよう、ユーザによって調整されてもよい。
【００９２】
時間伝播
前述したように、計算された基準画像のトライマップ１５０は、ビデオストリーム１００のそれぞれ異なるフレームに時間的に伝播されてもよい。この伝播は、ビデオストリーム１００のすべてのフレームがセグメント化されるまで続けられてもよい。
【００９３】
いくつかの実施形態では、下記の処理を用いてもよい。
１．ステップ２３０、ステップ２４０、ステップ２５０、およびステップ２６０のように、ユーザは、ビデオストリーム１００からのいくつかのフレームからの画像をセグメント化してもよい。これらの画像の各々は、「基準画像」と呼ばれ得、ビデオストリーム１００の対応するフレームは、「キーフレーム」と呼ばれ得る。
【００９４】
２．キーフレーム間のフレームに含まれる各画像のトライマップ１５０を、次のように補間してもよい。
【００９５】
ａ．オプティカルフローを利用して、各キーフレームから時間的に順方向にトライマップを伝播してもよい。
【００９６】
ｂ．トライマップを、時間的に逆方向に伝播してもよい。
ｃ．順方向トライマップと逆方向トライマップとを結合してもよい。
【００９７】
３．ユーザは、ユーザ支援のセグメンテーションを中間にあるフレームについて繰り返すことによってセグメンテーションを編集してもよい。中間にあるフレームが新しいキーフレームを定義してもよい。この処理は、各フレームの画像の各々についての最終セグメンテーションが満足のいくものになるまで繰り返されてもよい。
【００９８】
図８および図９は、伝播処理を示す。具体的には、図８は、一実施形態に係る、オプティカルフローを利用した順方向のトライマップ伝播を示す画像のセット８００である。キーフレームｉは、トライマップ８１０が計算された基準画像を含み、前景５１０と、背景５２０と、未知領域７２０とを表示する。キーフレームｉからフレーム３つ分だけ時間的に順方向にあるキーフレームｉ＋３は、対応するトライマップ８４０を有してもよい。
【００９９】
トライマップ８１０にオプティカルフローを適用して、キーフレームｉからフレーム１つ分だけ時間的に順方向にあるキーフレームｉ＋１のトライマップ８２０を生成してもよい。同様に、トライマップ８２０にオプティカルフローを適用して、キーフレームｉからフレーム２つ分だけ時間的に順方向にあるキーフレームｉ＋２のトライマップ８３０を生成してもよい。よって、時間的に順方向の伝播により、キーフレームｉとｉ＋３との間にあるフレームｉ＋１およびｉ＋２のトライマップが生成されるだろう。
【０１００】
より正確には、下記の方法で順伝播を実行してもよい。
１．オプティカルフローを利用してトライマップ８１０をフレームｉからフレームｉ＋１に移動（warp）させる。結果できあがったトライマップ８２０は、不完全である。オプティカルフローは、フレームｉ＋１で現れた、フレームｉにおいて隠ぺいされた（occluded）部分を考慮できないだろう。
【０１０１】
２．ステップ２３０、ステップ２４０、および／またはステップ２５０のように、未知領域７２０のみバイナリセグメンテーションを行う。これは、前景５１０および背景５２０から計算された確率モデルを用いてバイナリセグメンテーションを推定してもよい。
【０１０２】
３．ステップ２６０のように、フレームｉ＋１のトライマップを計算する。
４．フレームｉ＋１から開始して、上記ステップ１〜３を繰り返し、フレームｉ＋１がキーフレームである場合、終了する。
【０１０３】
図９は、別の実施形態に係る、オプティカルフローを利用した逆方向のトライマップ伝播を示す画像のセット９００である。キーフレームｉは、トライマップ８１０が計算された基準画像を含み、前景５１０と、背景５２０と、未知領域７２０とを表示する。キーフレームｉからフレーム３つ分だけ時間的に順方向にあるキーフレームｉ＋３は、対応するトライマップ８４０を有してもよい。
【０１０４】
逆方向に（フレームｉからフレームｉ−１に）推定されたオプティカルフローを利用して、順伝播と同じやり方で逆伝播を定義してもよい。トライマップ８４０にオプティカルフローを適用して、キーフレームｉ＋３からフレーム１つ分だけ時間的に逆方向にあるキーフレームｉ＋２のトライマップ９３０を生成してもよい。同様に、トライマップ９３０にオプティカルフローを適用して、キーフレームｉ＋３からフレーム２つ分だけ時間的に逆方向にあるキーフレームｉ＋１のトライマップ９２０を生成してもよい。順方向の伝播と同様に、結果できあがったトライマップは、不完全であるだろう。このトライマップでは、フレームｉにおいて隠ぺいされた部分がフレームｉ−１で現れており、未知領域７２０をより正確にセグメント化するために必要なだけリファインされてもよい。このように、時間的に逆方向の伝播により、キーフレームｉとｉ＋３との間にあるフレームｉ＋１およびｉ＋２のトライマップが生成されるだろう。
【０１０５】
順方向に伝播されたライマップ１５０と逆方向に伝播されたトライマップ１５０とは、オプティカルフロー誤りが存在する箇所で一致しないだろう。上記ステップ２（ｃ）のように順方向トライマップ１５０と逆方向トライマップ１５０とを結合する目的は、２つの伝播されたトライマップ１５０を調整して最終セグメンテーションを形成することであってもよい。これを、図１０に関連してさらに詳細に示し説明する。
【０１０６】
図１０は、一実施形態に係る、順伝播および逆伝播によって得られたトライマップ１５０の結合を示す画像のセット１０００である。具体的には、図８および図９のキーフレームであるフレームｉおよびフレームｉ＋３のトライマップ８１０およびトライマップ８４０が示されている。さらには、図８において順伝播されたトライマップ８２０およびトライマップ８３０、ならびに、図９において逆伝播されたトライマップ９２０およびトライマップ９３０も示されている。ともにフレームｉ＋１のトライマップであるトライマップ８２０とトライマップ９２０とを結合して、フレームｉ＋１の結合トライマップ１０２０を計算してもよい。同様に、ともにフレームｉ＋２のトライマップであるトライマップ８３０とトライマップ９３０とを結合して、フレームｉ＋２の結合トライマップ１０３０を計算してもよい。
【０１０７】
図１１は、ｉ１１１０にあるキーフレームおよびｋ１１２０にあるキーフレームを用いた、フレームｊ１１４０のトライマップの補間を示すグラフ１１００である。ｋ１１２０にあるキーフレームとフレームｊ１１４０との間に、さらなるフレーム１１３０があってもよい。フレームｊにある画素ｐごとに、その結合トライマップ値Ｔj（ｐ）が、（１）順方向に伝播されたキーフレームｉからのトライマップＴＦjと、（２）逆方向に伝播されたキーフレームｋからのトライマップＴＢjとを用いて計算されてもよい。この値は、フレームｊがフレームｉに最も近いかどうか、またはフレームｋに最も近いかどうかによって異なり得る。フレームｊがフレームｉに最も近いかどうかは、図１２の表１２００に従って計算されてもよく、そうでなければ図１３の表１３００に従って計算されてもよい。
【０１０８】
図１２は、一実施形態に係る、｜ｉ−ｊ｜＜＝｜ｋ−ｊ｜である場合の結合トライマップ値を示す表１２００である。図１３は、一実施形態に係る、｜ｉ−ｊ｜＞｜ｋ−ｊ｜である場合の結合トライマップ値を示す表１３００である。
【０１０９】
このトライマップ値を計算する態様は、下記の利益を有し得る。
●画像エッジ周りの不確定要素が未知領域内に、具体的には、順伝播および逆伝播が一致しない領域内にキャプチャされ得る。
【０１１０】
●伝播されたトライマップ画素のうちの１つしか既知でない場合、最も近いキーフレームを優先することによってユーザ入力が尊重され得る。
【０１１１】
結合トライマップは、結合トライマップ（図１０のトライマップ１０２０またはトライマップ１０３０など）の未知領域７２０にステップ２３０、ステップ２４０、および／またはステップ２５０を適用することによってさらにリファインされてもよい。リファインされたバイナリセグメンテーション１４０に対してステップ２６０を実行して、最終トライマップ１５０を計算してもよい。
【０１１２】
ビュー伝播
ここまでは、基準ビューについてのセグメンテーションのみが計算されてきた。基準ビューおよび別のビューの相対位置において計算された深度マップを利用して、そのビューにセグメンテーションを伝播させることが可能である。次の方法例は、セグメント化する前景オブジェクトが基準ビューから完全に見えることを想定する。
【０１１３】
図１４Ａ〜図１４Ｄは、一実施形態に係る、隣接（非基準）ビューＶA１４５０の上面図、仮トライマップ、バイナリセグメンテーション、および最終トライマップである。図１４Ａに示すように、背景１４２０と前景１４３０との境界において深度が不連続な状態であることにより、位置ＸA１４１０は、基準ビューＶR１４６０において見えなくされている可能性がある。しかしながら、新しいトライマップ１５０が生成される隣接ビューＶA１４５０においては、位置ＸA１４１０は見える可能性がある。図に示すように、背景１４２０および前景１４３０は、像面１４４０よりも奥にあると思われる。
【０１１４】
図１４Ｂに示すように、隣接ビューＶA１４５０においては、投影ｐA１４７０は、仮トライマップＴA１４８０において未知と設定されているが、図１４Ｃに示すように、バイナリセグメンテーション１４８２の間に正しい値が検出される可能性がある。図１４Ｄに示すように、最終トライマップＴA’１４８４では、境界がなくされる可能性がある。
【０１１５】
より具体的には、基準ビューＶR１４６０および隣接ビューＶA１４５０がある場合、最終トライマップＴA’１４８４は、基準ビューＴRにおけるトライマップと深度マップＤR（図示せず）とを用いることによって計算されてもよい。下記の処理を用いてもよい。
【０１１６】
１．仮トライマップＴA１４８０を「未知」で初期化する。
２．基準ビューＶR１４６０に含まれる画素ｐRごとに、
ａ．その３Ｄビューの空間的位置ＸRを、ｐRにおいて標本抽出された深度マップＤRを用いて計算する。
【０１１７】
ｂ．ＸRを隣接ビューＶAの空間に変換する。これによって、３Ｄ位置ＸAがもたらされる。
【０１１８】
ｃ．ＸAを隣接ビューの画素ｐAに投影する。
ｄ．ＴＡ（ｐA）をＴＲ（ｐR）の値に設定する。
【０１１９】
３．ＴAの未知領域７２０にのみステップ２３０、ステップ２４０、および／または ステップ２５０を適用して、バイナリセグメンテーション１４８２を推定する。深度マップＤAは、ＶAのために利用可能であると想定しない。利用可能でない場合、ＶAのカラー画像のみを用いてステップ３のバイナリセグメンテーション１４８２を行ってもよい。
【０１２０】
４．バイナリセグメンテーション１４８２にステップ２６０を適用して最終トライマップＴA’１４８４を推定する。
【０１２１】
深度が不連続になっている箇所での隠ぺいによって、ＶAのいくつかの画素がＶRにおいて見えない可能性がある。これらの画素には、上記ステップ１における仮トライマップＴA１４８０において、デフォルトで「未知」値が割り当てられてもよい。これは、深度が連続した状態が真の前景／背景の境界をまたがる場合が正しい値であるだろうが、未知領域７２０が完全に画像の前景５１０または背景５２０内にある場合は誤りであるだろう。これが、図１０に示されている状況である。
【０１２２】
上記ステップ３およびステップ４によって正しい値が割り当てられてもよい。上記ステップ３で生成されたバイナリセグメンテーション１４８２は、近傍領域同士が必ず一致するように実行されるだろう。ｐAの最も近い近傍領域がすべて「背景」として分類されると、これは、境界を「閉じ」、最終トライマップＴA’１４８４において正しい値を設定する。深度が不連続な状態が前景５１０においてのみ存在する場合、同じ解決法を当てはめてもよい。
【０１２３】
マルチビューマッティング
図２の方法のステップ２７０に従って、アルファマット１７０および前景画素値を未知領域７２０において推定してもよい。マッティングラプラシアンなど、単一ビューに対してそうするためのアルゴリズムがいくつか存在する。隣接するビューからの情報を利用することによって、アルファマット１７０の正確なアルファ値が推定できるだろう。画像マッティングの問題は、下記の合成処理方程式を満たす所与の画素カラーＩの、実数値を用いたアルファ（α）ならびにカラー値Ｆ（前景）およびＢ（背景）を見つけることである。
【０１２４】
【数４】
2019525515.tif 000006
【０１２５】
Ｆ、Ｂ、およびαは、通常、一緒に推定され得、これは、７つの未知のパラメータの推定を必要とし得る。別の場合、複数のビューからＢを回復させてもよく、これによって、式に含まれる３つの未知数（カラーチャンネルごとに１つ）をなくすことができるだろう。
【０１２６】
たとえば、隣接ビューＶAは、未知領域７２０の境界の一部の奥が見える可能性がある。この状況は、ＶAおよびＶRの相対的な姿勢を未知領域７２０の境界の向きと比較することによって検出できる。図１１は、ＶAがこの境界を左側から見る場合を示している。
【０１２７】
図１５は、一実施形態に係る、隣接（非基準ビュー）ＶA１４５０の上面図１５００である。図１５は、図１４Ａと同じ要素を示し、未知領域１５１０と、基準ビューＶR１４６０からの投影ｐR１５２０とを加えたものである。
【０１２８】
前景５１０によって基準ビューＶR１４６０から隠ぺいされているカラーサンプルのすべてを像面１４４０に投影することによって、背景サンプルを回復させてもよい。これは、２段階プロセスと考えられてもよい。
【０１２９】
１．深度伝播。２つのビューの既知の相対位置に基づいてＶRからＶAに深度マップを再投影してもよい。深度マップには、「穴」、つまり、ＶRにおいて隠ぺいされているが、ＶAにおいて見える領域がある可能性がある。空間領域および特徴量領域の両方に含まれる高い相関関係にある近傍画素からの深度値によってこれらの穴が埋められてもよい。
【０１３０】
２．再投影。ＶRの像面にＶAの３Ｄ位置が再投影されてもよい。隠ぺいされていたオブジェクトは、ここで、ＶRから「見える」ようになる。
【０１３１】
上記ステップ１において説明したように、深度値によって穴が埋められてもよい。穴領域は、ＶRにおける隠ぺい領域であり得る。よって、深度値は、ここで、近くの背景画素により近いだろう。反復的伝播処理が次のように用いられてもよい。
【０１３２】
Ａ．穴領域における画素ｐについて、深度値ｚpは、次のように推定されてもよい。
【０１３３】
【数５】
2019525515.tif 000007
【０１３４】
【数６】
2019525515.tif 000008
【０１３５】
次に、ステップ２７０のマッティングルーチンにおいて、回復した背景サンプルが利用されてもよい。（ｘ，ｙ，ｚF、ＩF）を元のカラーサンプルとして、表現（ｘ，ｙ，ｚB，ＩB）を用いてＶＲの像面における再投影カラーサンプルを示してもよい。次に、再投影サンプルを元のサンプルと比較してもよい。３つのケースがある。
【０１３６】
【数７】
2019525515.tif 000009
【０１３７】
ケース１では、画素の未知数が７個から４個に減るだろう。ケース２については、未知領域７２０の部分が減り、それによって推定する画素の数が減るだろう。これによって、前景およびアルファ値のさらに正確な推定が得られるだろう。
【０１３８】
いくつかの実施形態では、最終アルファ値は、２段階プロセスで推定されてもよい。初期推定は、画像画素Ｉの前景Ｆのカラーサンプルおよび背景Ｂのカラーサンプルの「ベストマッチ」を見つけることによって計算されてもよい。「ベストマッチ」は、予想されるサンプルＦおよびＢごとの下記のコスト関数を最小限に抑える意味で定義されてもよい。
【０１３９】
【数８】
2019525515.tif 000010
【０１４０】
背景サンプルＢが無事回復した場合、背景サンプルＢを用いて探索空間を大幅に縮小してもよい。具体的には、コスト関数Ｃに従って、最もよい前景サンプルＦのみが必要であってもよい。探索は、全体的に（前景領域全体についてのベストマッチを求めて）または局所的に（前景領域／未知領域の境界に沿って）行われてもよい。次に、局所的なカラー類縁性に従ってアルファ値を平滑化する後処理を追加することが有利だろう。ユーザが求める品質水準によっては、「ガイデッドフィルタ」アルゴリズムまたは「マッティングラプラシアン」アルゴリズムが利用されてもよい。
【０１４１】
前景色の推定
最終アルファマットが推定された後、前景色Ｆは、背景色Ｂが既知の場合、前述のマッティング式Ｉ＝α・Ｆ＋（１−α）・Ｂに従って容易に算出することができる。
【０１４２】
複数の前のビューから背景色を回復させられなかった場合、上述したような（この場合、アルファは固定であってもよいことを除く）コスト関数Ｃを最低限に抑える最も「考えられる」前景色および背景色のペアを確かめてもよい。これによって、未知領域全体について推定された最終的な前景色が得られるだろう。
【０１４３】
最終的な前景画像は、たとえば、
●既知の背景領域内では画素を黒色に設定し、
●未知領域において、上記推定された前景色を使用し、
●既知の前景領域において、ソース画像から画素を直接使用することによって形成されてもよい。
【０１４４】
４Ｄ合成
上述したように生成されたアルファマット１７０および前景画像は２Ｄであり得るため、他の２Ｄ画像を合成するためにしか使用できない。ライトフィールドカメラなど、マルチビューカメラ構成は、同じシーンの複数のビューを生成してもよい。隣接ビューのアルファマット１７０および前景画像が得られると、アルファマット１７０および前景画像を１つのＲＧＢＡライトフィールドに逆投影してもよい。これによって、焦点を再び定めること、および任意の視点のための投影など、ライトフィールド技術の利用が可能になるだろう。
【０１４５】
図１６は、一実施形態に係る、複数のアルファマップを用いて、複数のビューからの画像をライトフィールドに逆投影するステップを示すスクリーンショット画像のセット１６００である。これは、前景画像およびアルファマップが逆投影されて４成分ＲＧＢＡライトフィールドが再現され得る逆投影法の一般的なワークフローを説明する。図に示すように、４Ｄライトフィールド１６１０がキャプチャされてもよく、一連のＭ×Ｍのサブ開口像１６２０として表示された一連のビューを計算するために用いられてもよい。サブ開口像１６２０の各々についてマップ（この場合、アルファマップ）を生成してもよく、これによって、Ｍ×Ｍのアルファマップ１６３０が生成される。Ｍ×Ｍの前景マップを生成するために、同様の処理を実行してもよい。また、４Ｄライトフィールド１６１０に基づいて深度マップ１６４０を生成してもよく、深度マップ１６４０は、４Ｄライトフィールド１６１０に対するアルファチャンネルまたはアルファマップ１６３０のマルチビュー逆投影において用いられてもよい。これによって、色データおよび／または深度データとともに任意のサブ開口像に投影できるようになったアルファチャンネルを含んだＲＧＢＡライトフィールド１６５０が生成されるだろう。
【０１４６】
上記説明および参照図面は、可能な実施形態に関する具体的な詳細を記載した。本明細書に記載の技術がその他の実施形態で実施されてもよいことを当業者は理解するだろう。まず、構成要素の具体的な名前付け、用語の大文字使用、属性、データ構造、またはその他のプログラミング的または構造的側面は、必須または重大ではなく、本明細書に記載の技術を実施するメカニズムは、それぞれ異なる名称、フォーマット、またはプロトコルを有してもよい。さらには、システムは、記載のようにハードウェアとソフトウェアとの組み合わせによって実装されてもよく、または、完全にハードウェア要素で、もしくは完全にソフトウェア要素で実装されてもよい。また、本明細書に記載の様々なシステム構成要素間の具体的な機能の分担は、例にすぎず、必須でない。１つのシステム構成要素によって実行される機能は、代わりに複数の構成要素によって実行されてもよく、複数の構成要素によって実行される機能は、代わりに１つの構成要素によって実行されてもよい。
【０１４７】
本明細書における「一実施形態」または「実施形態」への参照は、当該実施形態に関して説明した具体的な特徴、構造、または特性が少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所に出現する表現「一実施形態では」は、必ずしもすべてが同じ実施形態を指すわけではない。
【０１４８】
いくつかの実施形態は、上述した技術を単体でまたは任意の組み合わせで実行するためのシステムまたは方法を含んでもよい。その他の実施形態は、非一時的なコンピュータ読み取り可能な記憶媒体と、コンピューティングデバイスまたは他の電子デバイスに含まれるプロセッサに上述した技術を実行させるための、当該媒体上でエンコードされたコンピュータプログラムコードとを含んだコンピュータプログラムプロダクトを備えてもよい。
【０１４９】
上記のうちのいくつかの部分は、コンピューティングデバイスのメモリ内のデータビットに対する操作のアルゴリズムおよびシンボル表現の観点から提示されている。これらのアルゴリズムによる記載および表現は、データ処理技術を身につけた者が彼らの仕事内容を他の当業者に最も効果的に伝えるために用いられる手段である。アルゴリズムは、ここでは、および一般には、所望の結果に導く自己矛盾のないステップ（命令）のシーケンスであると考えられる。当該ステップは、物理量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、格納、転送、結合、比較、その他操作が行える電気信号、磁気信号、または光信号の形をとる。時には、主に一般的な使用上の理由から、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字などと呼ぶことが好都合である。さらに、時には、物理量の物理的な操作を必要とするステップの特定の配置を、一般性を失うことなく、モジュールまたはコードデバイスと呼ぶことも好都合である。
【０１５０】
しかしながら、これらの用語および同様の用語のすべては、適切な物理量に関連付けられ、これらの量に付される便利なラベルにすぎないことを留意されたい。下記の説明から明らかなように特に記載のない限り、説明全体を通して、「処理する」、「計算する」、「算出する」、「表示する」、「判断する」などの用語を利用した説明は、コンピュータシステムメモリもしくはレジスタまたは他のこのような情報ストレージ、送信装置もしくは表示装置内の物理（電子）量として表されるデータを操作および変換するコンピュータシステムまたは同様の電子コンピューティングモジュールおよび／もしくはデバイスのアクションおよびプロセスを指すことが理解されるだろう。
【０１５１】
特定の態様は、本明細書に記載の処理および命令をアルゴリズムの形で含む。なお、本明細書に記載の処理および命令は、ソフトウェア、ファームウェア、および／またはハードウェアに含めることができ、ソフトウェアに含まれる場合、いろいろなオペレーティングシステムが使用するそれぞれ異なるプラットフォーム上に存在し、これらのプラットフォームから操作されるよう、ダウンロードできる。
【０１５２】
いくつかの実施形態は、本明細書に記載の動作を実行するための装置に関する。この装置は、要求される目的のために特別に構成されてもよく、または、コンピューティングデバイスに格納されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピューティングデバイスを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体に格納されてもよい。コンピュータ読み取り可能な記憶媒体として、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、磁気もしくは光ディスクを含む任意の種類のディスク、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ソリッドステートドライブ、磁気カードもしくは光カード、ＡＳＩＣ（特定用途向け集積回路）、および／または電子命令を格納するのに適した、かつ、コンピュータシステムバスに各々が接続された任意の種類の媒体などがあるが、これらに限定されない。さらには、本明細書において参照されたコンピューティングデバイスは、１つのプロセッサを含んでもよく、または、計算能力を上げるための複数のプロセッサ設計を採用したアーキテクチャであってもよい。
【０１５３】
本明細書において提示されたアルゴリズムおよび表示装置は、任意の特定のコンピューティングデバイス、仮想化システム、または他の装置に本質的に関するものではない。様々な汎用システムは、本明細書における教示に応じてプログラムとともに用いられてもよく、または、必要な方法ステップを実行するためにより専門的な装置を構成するのに好都合であると証明してもよい。いろいろなこれらのシステムが必要とする構造は、本明細書において提供した説明から明らかになるであろう。これに加えて、本明細書に記載の技術は、特定のプログラミング言語を考慮して説明されているわけではない。いろいろなプログラミング言語を用いて本明細書に記載の技術を実施してもよく、特定の言語への上記言及は、あくまで例示を目的として提供されていることが理解されるだろう。
【０１５４】
したがって、様々な実施形態において、本明細書に記載の技術は、ソフトウェア、ハードウェア、および／またはコンピュータシステム、コンピューティングデバイス、もしくは他の電子デバイス、またはそれらの任意の組み合わせもしくはそれらのうちの複数を制御するための他の要素として実施することができる。このような電子デバイスは、当技術分野において周知の技術に係る、たとえば、プロセッサ、入力装置（キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォンなど、および／または、任意のそれらの組合せ）、出力装置（スクリーン、スピーカなど）、メモリ、長期記憶装置（磁気記憶装置、光記憶装置など）、および／またはネットワーク接続性などを含み得る。このような電子デバイスは、持ち運び可能であってもよく、持ち運び可能でなくてもよい。本明細書に記載の技術を実施するために用いられ得る電子デバイスとして、携帯電話、ＰＤＡ（Personal Digital Assistant）、スマートフォン、キオスク、サーバコンピュータ、企業コンピューティングデバイス、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、家庭用電子機器、テレビ、セットトップボックスなどが挙げられる。本明細書に記載の技術を実施するための電子デバイスは、たとえば、Ｌｉｎｕｘ（登録商標）、ワシントン州レドモンド市のマイクロソフトコーポレーションから入手可能なマイクロソフトウィンドウズ（登録商標）、カリフォルニア州クパチーノ市のアップルから入手可能なＭａｃ  ＯＳ  Ｘ、ｉＯＳ、カリフォルニア州マウンテンビュー市のＧｏｏｇｌｅ、Ｉｎｃ．から入手可能なアンドロイド、および／またはデバイス上で使用されるようになされたその他のオペレーティングシステムなど、任意のオペレーティングシステムを利用してもよい。
【０１５５】
様々な実施形態において、本明細書に記載の技術は、分散処理環境、ネットワークで結ばれたコンピューティング環境、またはウェブベースのコンピューティング環境において実施できる。要素は、クライアント・コンピューティング・デバイス、サーバ、ルータ、および／またはその他のネットワークまたは非ネットワークコンポーネント上で実施できる。いくつかの実施形態では、本明細書に記載の技術は、いくつかの構成要素が１つ以上のクライアント・コンピューティング・デバイス上で実施され、他の構成要素が１つ以上のサーバ上で実施されるクライアント／サーバー・アーキテクチャを利用して実施される。一実施形態において、本開示の技術を実施する間、クライアント（複数可）がサーバ（複数可）にコンテンツを要求し、サーバ（複数可）が要求に応答してコンテンツを返す。このような要求および応答を可能にするための、かつ、ユーザがこのような対話を開始および制御し、提示されたコンテンツを見ることができるユーザインタフェースを提供するためのブラウザがクライアント・コンピューティング・デバイスにインストールされてもよい。
【０１５６】
いくつかの実施形態では、有線、ワイヤレス、または、任意のそれらの組合せなど、任意の適した電子ネットワークを用いて、かつ、このような通信を可能にするための任意の適したプロトコルを用いて、記載の技術を実施するためのネットワークコンポーネントの一部またはすべてが互いに通信可能に接続されてもよい。このようなネットワークの一例として、インターネットがあるが、本明細書に記載の技術はその他のネットワークを利用して実施することもできる。
【０１５７】
限られた数の実施形態しか説明しなかったが、特許請求の範囲から逸脱しない範囲でその他の実施形態が改良されてもよいことを、上記説明の利益を有する当業者は理解するだろう。なお、これに加えて、本明細書において用いられた言語は、主に、読みやすさや教示の便宜上選択されたものであって、発明の主題の範囲を示すまたは制限するために選択されたものではない。したがって、本開示は、例示のためであり、限定をするものではない。
【図１】
2019525515.tif 000011
【図２】
2019525515.tif 000012
【図３】
2019525515.tif 000013
【図４】
2019525515.tif 000014
【図５】
2019525515.tif 000015
【図６】
2019525515.tif 000016
【図７】
2019525515.tif 000017
【図８】
2019525515.tif 000018
【図９】
2019525515.tif 000019
【図１０】
2019525515.tif 000020
【図１１】
2019525515.tif 000021
【図１２】
2019525515.tif 000022
【図１３】
2019525515.tif 000023
【図１４Ａ】
2019525515.tif 000024
【図１４Ｂ】
2019525515.tif 000025
【図１４Ｃ】
2019525515.tif 000026
【図１４Ｄ】
2019525515.tif 000027
【図１５】
2019525515.tif 000028
【図１６】
2019525515.tif 000029
【国際調査報告】
2019525515.tif 000030
2019525515.tif 000031