(57)【要約】  立体視コンテンツをストリーミングし、再生するための方法および装置が記載される。カメラに依存する補正情報は、個々のカメラのレンズにより導入された歪みを補償するために、再生デバイスに伝達され、再生デバイスで適用される。再生デバイスにおいてレンズに依存する歪みの補償を実施することにより、符号化の前に補正が実施された場合に失われる可能性のあるエッジ部が維持される。歪み補正情報は、ＵＶマップ補正情報の形態とすることができる。補正情報は、個々のカメラに特有の歪みを補償するために、例えば、レンダリング時に、ＵＶマップにおける情報に対してなされるべき変更を示すことができる。補正情報の異なる組が、同じＵＶマップを使用してレンダリングされる画像を提供する立体視対の異なるカメラのために伝達されて、使用され得る。伝達される補正情報は、それがメッシュに関連する情報を補正するために使用されるので、補正メッシュと呼ばれることもある。
2017535985.tif 000002
【特許請求の範囲】
【請求項１】
立体視コンテンツを提供する方法であって、
第１の立体視カメラ対の第１のカメラのための第１の補正情報を記憶することと、
前記第１の立体視カメラ対の第２のカメラのための第２の補正情報を記憶することと、
前記第１の補正情報と前記第２の補正情報とを再生デバイスに提供するようにサーバを動作させることと、
を備え、
前記第１の補正情報は、前記第１のカメラにより取り込まれた画像コンテンツのレンダリングに使用するためのものであり、
前記第２の補正情報は、前記第２のカメラにより取り込まれた画像コンテンツのレンダリングに使用するためのものである、方法。
【請求項２】
前記第１の補正情報は、第１のカメラに依存するメッシュ補正情報であり、
前記第２の補正情報は、第２のカメラに依存するメッシュ補正情報であり、
前記第１の立体視カメラ対は、第１の方向に対応し、
前記方法は、さらに、
前記第１のカメラおよび前記第２のカメラにより取り込まれた画像コンテンツから生成された符号化画像を含む立体視コンテンツストリームを送信するように、前記サーバを動作させることを備える、
請求項１に記載の方法。
【請求項３】
画像コンテンツをレンダリングすることに使用される環境メッシュモデルを、前記再生デバイスに送信することをさらに備える、請求項２に記載の方法。
【請求項４】
前記第１の立体視カメラ対の前記第１のカメラは左眼画像を取り込み、前記第１の立体視カメラ対の前記第２のカメラは右眼画像を取り込み、
前記第１の補正情報は、前記第１の立体視カメラ対の前記第１のカメラの第１のレンズの１つまたは複数の光学特性の測定に基づいて生成される情報を含み、
前記第２の補正情報は、前記第１の立体視カメラ対の前記第２のカメラの第２のレンズの１つまたは複数の光学特性の測定に基づいて生成される情報を含む、
請求項３に記載の方法。
【請求項５】
画像レンダリング動作の部分として、前記第１の立体視カメラ対により取り込まれた画像の部分を、前記環境メッシュモデルの部分にマップするために使用されるために、第１のＵＶマップを前記再生デバイスに送信することをさらに備える、請求項４に記載の方法。
【請求項６】
前記第１の補正情報は、前記第１の立体視カメラ対の前記第１のカメラにより取り込まれた画像の部分をレンダリングすることの部分として、前記第１のＵＶマップにおけるノード位置に対してなされる１つまたは複数の調整を示す情報を含む、請求項５に記載の方法。
【請求項７】
前記第２の補正情報は、前記第１の立体視カメラ対の前記第２のカメラにより取り込まれた画像の部分をレンダリングすることの部分として、前記第１のＵＶマップにおけるノード位置に対してなされる１つまたは複数の調整を示す情報を含む、請求項６に記載の方法。
【請求項８】
前記立体視コンテンツストリームは、前記第１の立体視カメラ対の前記第１のカメラおよび前記第２のカメラにより取り込まれた符号化された左眼画像と右眼画像とを含む符号化された画像コンテンツを伝達する、請求項２に記載の方法。
【請求項９】
第３のメッシュ補正情報と第４のメッシュ補正情報とを前記再生デバイスに提供するように前記サーバを動作させることをさらに備え、
前記第３のメッシュ補正情報は、第２の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第４のメッシュ補正情報は、前記第２の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、
請求項８に記載の方法。
【請求項１０】
前記第１および第２の立体視カメラ対は、前方ビューイング方向に対応するが、ストリーミングのためにコンテンツが取り込まれている領域またはイベント場所における異なる位置に対応する、請求項９に記載の方法。
【請求項１１】
前記第１の立体視カメラ対からのコンテンツに代えて、前記第２の立体視カメラ対により取り込まれたコンテンツが前記再生デバイスにストリーミングされるとき、前記第３および第４のメッシュ補正情報が使用されるべきであることを、前記再生デバイスに示すことをさらに備える、請求項９に記載の方法。
【請求項１２】
前記第３のメッシュ補正情報および前記第４のメッシュ補正情報が使用されるべきであることを前記再生デバイスに示すことが、
ｉ）前記第１の立体視カメラ対から前記第２の立体視カメラ対への、コンテンツをストリーミングすることからのネットワークで制御された切換え（例えば、ソースカメラにおける放送者のカメラで制御された切換えの部分として）、または
ｉｉ）前記第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、前記第２の立体視カメラ対からの符号化されたコンテンツを含む第２のコンテンツストリームを受信することへのユーザ制御の変更、
に応じて実施される、請求項１１に記載の方法。
【請求項１３】
第３の立体視カメラ対の第１のカメラのための第５のメッシュ補正情報を記憶することと、
前記第３の立体視カメラ対の第２のカメラのための第６のメッシュ補正情報を記憶することと、
前記第５のメッシュ補正情報および前記第６のメッシュ補正情報を前記再生デバイスに提供するように前記サーバを動作させることと、
をさらに備え、
前記第５のメッシュ補正情報は、前記第３の立体視カメラ対の前記第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第６のメッシュ補正情報は、前記第３の立体視カメラ対の前記第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、
請求項１２に記載の方法。
【請求項１４】
コンテンツ配信をするシステムであって、
第１の立体視カメラ対の第１のカメラのための記憶された第１の補正情報と、前記第１の立体視カメラ対の第２のカメラのための記憶された第２の補正情報とを含むメモリと、
前記第１の補正情報および前記第２の補正情報を再生デバイスに提供するように前記システムを制御するように構成されたプロセッサと、
を備え、
前記第１の補正情報は、前記第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第２の補正情報は、前記第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、
システム。
【請求項１５】
前記第１の立体視カメラ対は、第１の方向に対応し、
前記プロセッサは、前記第１および第２のカメラにより取り込まれた画像コンテンツから生成された符号化された画像を含む立体視コンテンツストリームを送信するように前記システムを制御するようさらに構成される、
請求項１４に記載のシステム。
【請求項１６】
前記プロセッサは、画像コンテンツをレンダリングすることに使用される環境メッシュモデルを、前記再生デバイスに送信するようにさらに構成される、請求項１５に記載のシステム。
【請求項１７】
前記第１の立体視カメラ対の前記第１のカメラは左眼画像を取り込み、前記第１の立体視カメラ対の前記第２のカメラは右眼画像を取り込み、
前記第１の補正情報は、前記第１の立体視カメラ対の前記第１のカメラの第１のレンズの１つまたは複数の光学特性の測定に基づいて生成された情報を含み、
前記第２の補正情報は、前記第１の立体視カメラ対の前記第２のカメラの第２のレンズの１つまたは複数の光学特性の測定に基づいて生成された情報を含む、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサは、画像レンダリング動作の部分として、前記第１の立体視カメラ対により取り込まれた画像の部分を前記環境メッシュモデルの部分にマップするために使用される第１のＵＶマップを、前記再生デバイスに送信するようにさらに構成される、請求項１７に記載のシステム。
【請求項１９】
前記プロセッサは、第３のメッシュ補正情報と第４のメッシュ補正情報とを前記再生デバイスに提供するように前記システムを制御するようにさらに構成され、
前記第３のメッシュ補正情報は、第２の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第４のメッシュ補正情報は、前記第２の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、
請求項１４に記載のシステム。
【請求項２０】
前記第１および第２の立体視カメラ対は、前方ビューイング方向に対応するが、ストリーミングのためにコンテンツが取り込まれている領域またはイベント場所における異なる位置に対応する、請求項１９に記載のシステム。
【請求項２１】
前記プロセッサは、前記第１の立体視カメラ対からのコンテンツに代えて、前記第２の立体視カメラ対により取り込まれたコンテンツが前記再生デバイスにストリーミングされるとき、前記第３のメッシュ補正情報および前記第４のメッシュ補正情報が使用されるべきであることを前記再生デバイスに示すようにさらに構成される、請求項１９に記載のシステム。
【請求項２２】
前記プロセッサは、前記システムが、
ｉ）前記第１の立体視カメラ対から前記第２の立体視カメラ対への、コンテンツをストリーミングすることからのネットワークで制御された切換えを、または、
ｉｉ）前記第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、前記第２の立体視カメラ対からの符号化されたコンテンツを含む第２のコンテンツストリームを受信することへのユーザ制御の変更を、
検出することに応じて、前記第３のメッシュ補正情報および前記第４のメッシュ補正情報とすべきであることを前記再生デバイスに示すように構成される、請求項２１に記載のシステム。
【請求項２３】
前記メモリは、第３の立体視カメラ対の第１のカメラのために記憶された第５のメッシュ補正情報と、第３の立体視カメラ対の第２のカメラのために記憶された第６のメッシュ補正情報とをさらに含み、
前記プロセッサは、前記第５のメッシュ補正情報および前記第６のメッシュ補正情報を前記再生デバイスに提供するように前記システムを制御するようにさらに構成され、
前記第５のメッシュ補正情報は、前記第３の立体視カメラ対の前記第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第６のメッシュ補正情報は、前記第３の立体視カメラ対の前記第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、請求項２２に記載のシステム。
【請求項２４】
コンテンツ配信システムであって、
第１の立体視カメラ対の第１のカメラのための記憶された第１の補正情報と、前記第１の立体視カメラ対の第２のカメラのための記憶された第２の補正情報とを含むメモリと、
前記第１の補正情報と前記第２の補正情報とを再生デバイスに提供するように構成されたストリームコントローラとを備え、
前記第１の補正情報は、前記第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第２の補正情報は、前記第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、コンテンツ配信システム。
【請求項２５】
コンピュータが読み出し可能な非一時的な媒体であって、プロセッサにより実行されたとき、
第１の立体視カメラ対の第１のカメラのための第１の補正情報をメモリに記憶し、
前記第１の立体視カメラ対の第２のカメラのための第２の補正情報をメモリに記憶し、
前記第１の補正情報と前記第２の補正情報とを再生デバイスに提供する、
ようにコンテンツ配信システムを制御するプロセッサが実行可能な命令を含み、
前記第１の補正情報は、前記第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、
前記第２の補正情報は、前記第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである、
コンピュータが読み出し可能な非一時的な媒体。
【請求項２６】
第１のカメラに対応する第１の補正情報を受信することと、
前記第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像を受信することと、
第１の復号された画像を生成するために、前記第１の符号化された画像を復号することと、
表示のために第１の画像を生成するために、前記第１の補正情報と、前記第１の復号された画像と、環境メッシュモデルとを用いて、第１のレンダリング動作を実施することと、
を備えるコンテンツ再生方法。
【請求項２７】
第２のカメラに対応する第２の補正情報を受信することと、
前記第２のカメラにより取り込まれた画像コンテンツを含む第２の符号化された画像を受信することと、
第２の復号された画像を生成するために、前記第２の符号化された画像を復号することと、
表示のために第２の画像を生成するために、前記第２の補正情報と、前記第２の復号された画像と、前記環境メッシュモデルとを用いて、第２のレンダリング動作を実施することと、
をさらに備える、請求項２６に記載のコンテンツ再生方法。
【請求項２８】
前記第１のカメラおよび前記第２のカメラは、第１の立体視カメラ対の部分であり、
前記第１の符号化された画像は左眼画像であり、前記第２の符号化された画像は右眼画像である、
請求項２７に記載のコンテンツ再生方法。
【請求項２９】
前記第１のレンダリング動作および前記第２のレンダリング動作は、第１のＵＶマップに応じてさらに実施され、
前記第１の補正情報は、前記第１のカメラのレンズにより前記第１の画像に導入された歪みを補償するために、前記第１のレンダリング動作を実施するとき、前記第１のＵＶマップにおけるノード位置に対してなされる補正についての情報を提供する、請求項２８に記載のコンテンツ再生方法。
【請求項３０】
前記第１の補正情報は、前記第１のＵＶマップにおけるノードを特定する情報と、前記ノードに適用されるＵオフセットと、前記ノードに適用されるＶオフセットとを含む、請求項２９に記載のコンテンツ再生方法。
【請求項３１】
前記第２の補正情報は、前記第２のカメラのレンズにより前記第２の画像に導入された歪みを補償するために、前記第２のレンダリング動作を実施するとき、前記第１のＵＶマップにおけるノード位置に対してなされる補正についての情報を提供する、請求項２９に記載のコンテンツ再生方法。
【請求項３２】
前記第１のレンダリング動作の部分として、前記第１の画像の部分を前記環境メッシュモデルの表面に適用するとき、前記第１のレンダリング動作の部分として、前記第１の画像の部分が、異なる視界に対応する第１の画像の部分とどのように組み合わされるかを決定するために、第１のマスクを使用することをさらに備える、請求項３１に記載のコンテンツ再生方法。
【請求項３３】
異なる視界に対応する第１の画像の前記部分は、空または地面の視界に対応する、請求項３２に記載のコンテンツ再生方法。
【請求項３４】
前記第２のレンダリング動作の部分として、前記第２の画像の部分を前記環境メッシュモデルの前記表面に適用するとき、前記第２のレンダリング動作の部分として、前記第２の画像の部分が、前記異なる視界に対応する第２の画像の部分とどのように組み合わされるかを決定するために、前記第１のマスクを使用することをさらに備える、請求項３３に記載のコンテンツ再生方法。
【請求項３５】
前記第１の画像は前方視界に対応する左眼画像であり、
異なる視界に対応する前記第１の画像は、前記前方視界に隣接する側方視界に対応する第３のカメラにより取り込まれた左眼画像である、
請求項３３に記載のコンテンツ再生方法。
【請求項３６】
前記第２の画像は、前方視界に対応する右眼画像であり、
異なる視界に対応する前記第２の画像は、前記前方視界に隣接する側方視界に対応する第４のカメラにより取り込まれた右眼画像である、
請求項３５に記載のコンテンツ再生方法。
【請求項３７】
複数の異なるカメラに対応する追加のメッシュ補正情報を受信することと、
前記追加のメッシュ補正情報を記憶することと
をさらに備える、請求項２６に記載のコンテンツ再生方法。
【請求項３８】
第４のカメラに対応するメッシュ補正情報を、前記第４のカメラに対応する画像をレンダリングするとき、使用することをさらに備え、
前記第４のカメラは、前記複数の異なるカメラのうちの１つである、
請求項３７に記載のコンテンツ再生方法。
【請求項３９】
レンダリング動作で使用されている画像コンテンツをどのカメラが取り込んだかに基づいて、または、受信されたコンテンツストリームに対応する画像をレンダリングするときに、どのメッシュ補正情報が使用されるべきかを示すサーバからの標示に基づいて、レンダリング動作を実施するとき、どのメッシュ補正情報を使用すべきかを決定することをさらに備える、請求項３８に記載のコンテンツ再生方法。
【請求項４０】
コンテンツ再生デバイスであって、
インターフェースであって、
第１のカメラに対応する第１の補正情報を受信し、
前記第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像を受信する、
ように構成されたインターフェースと、
第１の復号された画像を生成するために、前記第１の符号化された画像を復号するように構成された復号器と、
表示のために第１の画像を生成するために、前記第１の補正情報と、前記第１の復号された画像と、環境メッシュモデルとを用いて、第１のレンダリング動作を実施するように構成されたレンダリングエンジンと、
を備えるコンテンツ再生デバイス。
【請求項４１】
前記インターフェースは、
第２のカメラに対応する第２の補正情報を受信し、
前記第２のカメラにより取り込まれた画像コンテンツを含む第２の符号化された画像を受信する、
ようにさらに構成され、
前記復号器は、第２の復号された画像を生成するために、前記第２の符号化された画像を復号するようにさらに構成され、
前記レンダリングエンジンは、表示のために第２の画像を生成するために、前記第２の補正情報と、前記第２の復号された画像と、前記環境メッシュモデルとを用いて、第２のレンダリング動作を実施するようにさらに構成される、
請求項４０に記載のコンテンツ再生デバイス。
【請求項４２】
前記第１のカメラおよび前記第２のカメラは、第１の立体視カメラ対の部分であり、
前記第１の符号化された画像は左眼画像であり、前記第２の符号化された画像は右眼画像である、
請求項４１に記載のコンテンツ再生デバイス。
【請求項４３】
前記レンダリングエンジンは、前記第１のレンダリング動作および前記第２のレンダリング動作を実施するために第１のＵＶマップを使用するようにさらに構成され、
前記第１の補正情報は、前記第１のレンダリング動作が、前記第１のカメラのレンズにより前記第１の画像に導入された歪みを補償するために実施されるとき、前記第１のＵＶマップにおけるノード位置に対してなされる補正についての情報を提供する、
請求項４２に記載のコンテンツ再生デバイス。
【請求項４４】
前記第１の補正情報は、前記第１のＵＶマップにおけるノードを特定する情報と、前記ノードに適用されるＵオフセットと、前記ノードに適用されるＶオフセットとを含む、請求項４３に記載のコンテンツ再生デバイス。
【請求項４５】
前記第２の補正情報は、前記第２のレンダリング動作が、前記第２のカメラのレンズにより前記第２の画像に導入された歪みを補償するように実施されるとき、前記第１のＵＶマップにおけるノード位置に対してなされる補正についての情報を提供する、請求項４３に記載のコンテンツ再生デバイス。
【請求項４６】
前記レンダリングエンジンは、前記第１のレンダリング動作の部分として、前記第１の画像の部分を、前記環境メッシュモデルの表面に適用するとき、前記第１のレンダリング動作の部分として、前記第１の画像の部分が、異なる視界に対応する第１の画像の部分とどのように組み合わされるかを決定するために、第１のマスクを使用するようにさらに構成される、請求項４５に記載のコンテンツ再生デバイス。
【請求項４７】
異なる視界に対応する第１の画像の前記部分は、空または地面の視界に対応する、請求項４６に記載のコンテンツ再生デバイス。
【請求項４８】
前記レンダリングエンジンは、前記第２のレンダリング動作の部分として、前記第２の画像の部分を、前記環境メッシュモデルの前記表面に適用するとき、前記第２のレンダリング動作の部分として、前記第２の画像の部分が、前記異なる視界に対応する第２の画像の部分とどのように組み合わされるかを決定するために、前記第１のマスクを使用するようにさらに構成される、請求項４７に記載のコンテンツ再生デバイス。
【請求項４９】
前記第１の画像は、前方視界に対応する左眼画像であり、
異なる視界に対応する前記第１の画像は、前記前方視界に隣接する側方視界に対応する第３のカメラにより取り込まれた左眼画像である、
請求項４７に記載のコンテンツ再生デバイス。
【請求項５０】
前記第２の画像は、前方視界に対応する右眼画像であり、
異なる視界に対応する前記第２の画像は、前記前方視界に隣接する側方視界に対応する第４のカメラにより取り込まれた右眼画像である、
請求項４９に記載のコンテンツ再生デバイス。
【請求項５１】
前記インターフェースは、複数の異なるカメラに対応する追加のメッシュ補正情報を受信するようにさらに構成され、
前記コンテンツ再生デバイスは、前記受信された追加のメッシュ補正情報を記憶するためのメモリをさらに含む、
請求項４０に記載のコンテンツ再生デバイス。
【請求項５２】
前記レンダリングエンジンは、第４のカメラに対応するメッシュ補正情報を、前記第４のカメラに対応する画像をレンダリングするとき、使用するようにさらに構成され、
前記第４のカメラは、前記複数の異なるカメラの１つである、
請求項５１に記載のコンテンツ再生デバイス。
【請求項５３】
レンダリング動作で使用されている画像コンテンツをどのカメラが取り込んだかに基づいて、または、受信されたコンテンツストリームに対応する画像をレンダリングするときに、どのメッシュ補正情報が使用されるべきかを示すサーバからの標示に基づいて、レンダリング動作を実施するとき、どのメッシュ補正情報を使用すべきであるかを決定するように構成された決定モジュールをさらに備える、請求項５２に記載のコンテンツ再生デバイス。
【請求項５４】
コンピュータが読み出し可能な非一時的な媒体であって、プロセッサにより実行されたとき、
第１のカメラに対応する第１の補正情報を受信し、
前記第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像を受信し、
第１の復号された画像を生成するために、前記第１の符号化された画像を復号し、
表示のために第１の画像を生成するために、前記第１の補正情報と、前記第１の復号された画像と、環境メッシュモデルとを用いて、第１のレンダリング動作を実施する、
ように再生システムを制御するプロセッサが実行可能な命令を含む、コンピュータが読み出し可能な非一時的な媒体。
【請求項５５】
コンテンツ再生デバイスであって、
少なくとも１つのプロセッサであって、
第１のカメラに対応する第１の補正情報を受信し、
前記第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像を受信し、
第１の復号された画像を生成するために、前記第１の符号化された画像を復号し、
表示のために第１の画像を生成するために、前記第１の補正情報と、前記第１の復号された画像と、環境メッシュモデルとを用いて、第１のレンダリング動作を実施する、
ように構成された少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
を備えるコンテンツ再生デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001] 本発明は、例えば、３Ｄ環境をシミュレートするために使用され得るコンテンツなど、コンテンツの取り込み、ストリーミング、および／または再生を行うための方法および装置に関する。
【背景技術】
【０００２】
[0002] 没入型の体験を提供するように意図された表示デバイスは、通常、ユーザが自分の頭を回転させて、表示されるシーン中の対応する変化を体験できるようにする。ヘッドマウントディスプレイは、時には３６０度の視聴をサポートするが、その場合、ユーザは、ヘッドマウントディスプレイを装着しながら向きを変えることができ、シーンは、ユーザの頭部位置が変化すると、変化して表示される。
【０００３】
[0003] このようなデバイスを用いると、ユーザには、前方を見ているときはカメラ位置の正面で取り込まれたシーンが提示され、またユーザが完全に向きを変えたときには、カメラ位置の背後で取り込まれたシーンが提示されるはずである。ユーザは、任意の所与の時間に、自分の頭を後ろに向けることができるが、ユーザの視界は、任意の所与の時間に、限られた視界を知覚する人間の能力の性質により、通常、１２０度またはそれ以下に制限される。
【０００４】
[0004] ３６０度のビューをサポートするために、複数のカメラを使用して３６０度のシーンが取り込まれ得るが、画像は、視聴のために利用可能にされるべき３６０度のシーンを生成するために組み合わされる。
【０００５】
[0005] ３６０度ビューは、特定の時間点に表示される画像を決定するために使用される視野角を変更する機会がユーザにない、通常のテレビジョンおよび多くの他の映像アプリケーションのために通常取り込まれ、符号化された単純な前方ビューよりもかなり多くの画像データを含むことを理解されたい。
【０００６】
[0006] ストリーミングされるコンテンツに関連付けられた、例えば、ネットワークデータ制約などの送信制約を考えると、コンテンツを受信し、対話をすることを求めるすべての顧客に対して、フル高精細映像で完全な３６０度ビューをストリーミングすることは可能ではない可能性がある。このことは、コンテンツが、３Ｄ視聴効果を可能にするために左眼および右眼ビューに対応するように意図された画像コンテンツを含む立体視コンテンツである場合、特にそうである。
【０００７】
[0007] 立体視カメラ装備の場合、例えば、魚眼カメラレンズなどの広角レンズが、広いビューイング領域を取り込むために使用され得る。一般的なレンズ幾何形状は知られているかもしれないが、製作時の差は、異なる光学特性を有する異なるレンズを生ずる可能性がある。例えば、レンズの単一バッチで生産された２つの魚眼レンズは、異なる光学的な欠点を有する可能性がある。立体視画像取り込みの場合、別々の左眼および右眼のビューは、通常、カメラ対の別々のカメラを用いて取り込まれる。左眼画像および右眼画像を取り込むために使用されるカメラのそれぞれの上でレンズが異なることになるので、カメラの光学系における差は、左眼画像と右眼画像の間のカメラ間隔から予想されるものを超えて、シーン領域の取り込まれた画像に差を生ずることになる。画像が、個々のレンズの実際の幾何形状ではなく、意図されたレンズ幾何形状を考慮して処理された場合、このような差が、レンダリング（rendering）時に画像内に残ることになる左眼画像および右眼画像における歪みを生ずる可能性がある。
【０００８】
[0008] 立体視システムの場合、左眼画像と右眼画像の間の差は、通常、人間の視聴者により、奥行き情報を提供するものとして解釈される。残念ながら、カメラレンズ差に起因する左眼画像と右眼画像の間の意図しない差は、ユーザに、不適切な奥行き手がかりを提供し、および／または他の画像歪みを生ずることになる。
【０００９】
[0009] 上記の論議を考慮すると、立体視システムおよび／または他のタイプのシステムで使用され得るカメラレンズにより画像の中に導入された歪みの、例えば、再生システムのユーザにより知覚され得る画像品質への影響を低減する、または最小化することのできる方法および装置が求められていることを理解されたい。
【発明の概要】
【００１０】
[0010] カメラレンズにより導入された歪みの影響を低減する、および／または最小化するための方法および装置が述べられる。ストリーミング装置が記載される。再生装置もまた記載される。本方法および装置は、例えば、レンズ製作時の欠点、または通常の製作変動に起因する歪みが、シーン領域の左眼および右眼ビューを取り込むために使用されるレンズ間の差を生ずる可能性のある立体視システムで使用するのに特によく適している。
【００１１】
[0011] 様々な特徴は、３６０度のビューイング領域に対応する映像または他のコンテンツの配信、例えば、ストリーミングをサポートするのによく適した方法および装置を対象としているが、本技法は、完全な３６０度ビューをカバーしない領域の立体視画像を取り込むシステムで使用するのによく適している。本発明の方法および装置は、データ送信制約が、３６０度のコンテンツの配信を、例えば、最良品質のコーディングおよび最高のサポートされたフレームレートを用いるなど、最大のサポートされた品質レベルで配信するのを困難にする可能性のある、立体視画像コンテンツおよび／または他の画像コンテンツをストリーミングするのに特によく適している。しかし、本方法は、立体視コンテンツに限定されない。
【００１２】
[0012] 様々な実施形態では、魚眼レンズを有するカメラが使用される。魚眼レンズは、広いパノラマ的画像、または半球画像を生成するように意図された、強い視覚的歪みを生成する広角または超広角レンズである。残念ながら、魚眼レンズの使用による歪みは、レンズの不完全さ、および／または、カメラ内のセンサに対するレンズの位置間の差から、レンズごとに、および／または、カメラごとに変化する可能性がある。魚眼レンズは、後に、球または他の３Ｄでシミュレートされた環境上にマップされる、または投影され得る大きな画像領域を取り込むのによく適しているが、カメラごとに導入された歪みは、魚眼レンズを有するカメラにより取り込まれた画像を高い信頼性で使用することを困難にする、または、異なるレンズにより取り込まれた画像を共に見るのを困難にする可能性がある。
【００１３】
[0013] 別々の左眼画像および右眼画像が取り込まれ、次いで、３Ｄ効果を生成するための再生中に視聴者に提示される立体視画像の場合、左眼画像および右眼画像を取り込むために使用されるカメラ間の歪みおよび差は問題であり、および／または、対処されないままである場合、その立体視画像の品質を低下させるおそれがある。
【００１４】
[0014] 様々な実施形態では、例えば、較正プロセスの部分としてカメラ歪み情報が生成される。較正情報は、魚眼レンズを含むカメラでは、おそらく、また通常、カメラごとに存在する。このように、個々のカメラ歪みは、それらがカメラレンズまたはセンサによりレンズ位置決めに導入されたかどうかにかかわらず、検出され得る。時には補正メッシュと呼ばれることのある１組の補正情報が、較正情報に基づいて生成され、いくつかの実施形態では、再生デバイスへと伝達される。このように、カメラ歪みに対する補正は、画像の符号化および／または送信前に行われるのとは反対に、再生デバイスで実施され得る。再生デバイスは、個々のカメラによって導入された歪みを補正する、および／または、補償するために、補正情報、例えば、補正メッシュを使用する。補正が再生デバイスに実装されて、未補正画像を符号化し、送信できるようにすることにより、左眼画像および右眼画像を取り込むために使用されたレンズの差、および／または、意図されたレンズの幾何形状からの差により導入された歪みをなくす、または低減する試みにおいて、取り込まれた画像が送信前に処理された場合に画像符号化中に生ずるおそれのある画像アーティファクトの意図しない増幅が回避される。
【００１５】
[0015] 補正情報の組は、レンズに依存しているため、カメラごとに再生デバイスに伝達される。補正情報は、同じシーン領域に対応する左眼と右眼画像の両方に対して使用され得るテクスチャマップと呼ばれることのあるＵＶマップを修正するために使用される１組の情報の形態をとってもよく、またいくつかの実施形態ではその形態をとる。ＵＶマッピングは、３Ｄオブジェクト上に、テクスチャまたはテクスチャマップと呼ばれることのある画像を投影するプロセスのことである。様々な実施形態では、カメラにより取り込まれた復号画像が、環境の３Ｄモデルの対応する部分に対するテクスチャマップとして使用される。「Ｘ」、「Ｙ」、および「Ｚ」は、モデル空間における３Ｄオブジェクトの軸を示すためにすでに使用されているため、文字「Ｕ」および「Ｖ」が、２Ｄテクスチャの軸を示す。ＵＶ座標は、面（face）ごとに適用される、例えば、少なくともいくつかの実施形態では、ＵＶマップにおける面は、３Ｄモデルにおける面と１対１の対応関係を有する。
【００１６】
[0016] したがって、いくつかの実施形態では、左眼画像のレンダリングは、左眼カメラにより導入された歪みを考慮に入れた、左眼カメラに対応するメッシュ補正情報と、左眼画像と右眼画像の両方に使用されるＵＶマップと、レンダリングされているシーン領域に対応する環境の３Ｄメッシュモジュールとの使用を含む。３ＤメッシュモジュールおよびＵＶマップは、左眼画像および右眼画像のレンダリングに共通のものである。補正情報はレンズに依存しており、したがって、別々の左眼および右眼補正情報が提供される。補正情報は、補正情報が対応する、カメラによって導入された歪みを考慮に入れて、ＵＶマップにおけるノードの位置がどのように変更されるべきかを示す情報を含むことができ、いくつかの実施形態では、その情報を含む。いくつかの実施形態では、補正情報は、共通のＵＶマップにおいてノードを特定する情報と、２次元画像を３Ｄモデル上にマップするために、ノード位置がどのくらいシフトされるべきかを示す情報とを含む。したがって、いくつかの実施形態では、補正マップは、共通のＵＶマップと、個々のレンズ歪みを考慮に入れた、望ましいレンズ依存ＵＶマップとの間の差を示す。左眼画像のレンダリング中に、再生デバイスは、共通のＵＶマップと、左眼画像に対応する、例えば、補正メッシュなどの補正情報とを考慮して、受信された左眼画像を３Ｄモデルにマップする。右眼画像のレンダリング中に、再生デバイスは、共通のＵＶマップと、右眼画像に対応する、例えば、補正メッシュなどの補正情報とを考慮して、受信された右眼画像を３Ｄモデルにマップする。
【００１７】
[0017] 理解されるように、レンダリングは、様々な方法で、補正情報をＵＶマップにおける情報に適用することができる。左眼画像および右眼画像のそれぞれに対する補正情報を用いて、修正されたＵＶマップが、左眼画像および右眼画像のそれぞれについて生成され、修正されたＵＶマップを有する共通のＵＶマップが、左眼画像および右眼画像をレンダリングするために使用されるが、他の実施形態では、補正は、必要に応じてレンダラ（renderer）により実施される。例えば、いくつかの実施形態では、受信された情報に基づいて、また環境のどの部分がレンダリングされているか、ＵＶマップのどのノードが、実施されているレンダリングに関連しているか、および、何の補正がこれらのノードに適用可能であるかに基づいて、レンダラが決定するようなレンダリングプロセス中に、修正情報が、共通のＵＶマップにおける１つまたは複数のノードに適用される。例えば、３Ｄモデルのセグメントがレンダリングされているとき、レンダリングされているそのセグメントに対応するＵＶマップにおけるノードは、受信された補正情報に基づいて補正することができ、次いで、例えば、補正されたＵＶノード情報に基づいて特定された受信画像のセグメントなどの部分が、レンダリングされている３Ｄモデルのセグメントに適用される。重要ではない再生中に補正情報が適用される特定の方法で補正情報を適用するために、様々な他の手法が同様に、レンダラによって使用され得る。
【００１８】
[0018] 例えば、メッシュ補正情報などの補正情報をカメラごとに提供することにより、適用されるべき補正情報は、ＵＶマップまたは３Ｄモデルの変更を必要とすることなく、コンテンツを供給するカメラにおける変化が生じたときは常に変更され得る。したがって、カメラに依存している補正情報の伝達は、立体視対の左眼画像と右眼画像の両方のレンダリングに共通であり得るＵＶマップおよび／または３Ｄモデル情報の伝達から分離され得る。
【００１９】
[0019] 様々な実施形態では、補正情報は、ＵＶマップにおける個々のノードを特定するノード位置、および、そのノードに対応するオフセットの組の形態で伝達される。例えば、ＵＶマップにおけるノードは、ＵＶマップにおけるノードがＵＶ空間内でどのくらいシフトされるべきかを示す、Ｕ座標およびＶ座標のそれぞれについて示されるオフセットを用いて、その（Ｕ、Ｖ）座標により特定されることができる。様々な実施形態では、３Ｄモデルにおけるノードに対して使用される１つまたは複数のＵＶマップにおけるノードの１対１のマッピングが存在するため、ノードのＵ、Ｖ座標は、修正すべきＵＶマップのノードを特定し、同時に、３Ｄマップにおける対応するノードを特定する。
【００２０】
[0020] 画像を３Ｄモデルへとレンダリングするプロセスの部分として、様々な画像に対応するコンテンツが組み合わされるので、どの復号された画像が、表示されるコンテンツを提供するかを制御するために、マスクが使用され得る。マスクは、復号された画像部分のレンダリングされる画像への相対的な寄与を制御する１組のアルファブレンド係数として実装され得る。例えば、３Ｄモデルのセグメントに対応するために、補正されたＵＶマップにより決定されたセグメントは、ブレンド係数に依存する量だけ、表示されるセグメントに寄与することになる。異なるコンテンツストリームは、１つのストリームのコンテンツが表示されるかどうか、または、複数のストリームのコンテンツが、レンダリングプロセスの部分としてブレンドされるのかをブレンド係数が決定して、モデルの同じセグメントに対応することができる。マスクされるべき復号された画像の部分に対応するアルファ係数をゼロに設定することにより、それは、レンダリング処理の部分として表示される画像に寄与することはない。いくつかの実施形態では、異なるストリームのコンテンツが重複する可能性があるが、どのコンテンツストリームが、３Ｄ環境のレンダリングされた部分に寄与されるかを制御するために、マスキングが使用される。したがって、１つのシーン領域に対応するコンテンツを提供するように意図されたコンテンツストリームは、それらが、異なるコンテンツストリームから取得された画像からレンダリングされるシーン領域と重複するコンテンツを含むとき、レンダリング中にマスクされ得る。
【００２１】
[0021] いくつかの実施形態では、マスキングまたはブロッキングが使用され得るが、コンテンツを重複させる様々な方向に対応するカメラからのコンテンツが、おそらく共にブレンドされ得る、または、いくつかの実施形態では共にブレンドされる場合、１つまたは複数のエッジ部に沿ってブレンディングが使用される。このようなシステムでは、左眼画像コンテンツは、エッジ部に沿って、他のストリームからの左眼コンテンツとブレンドされ、一方、右眼画像コンテンツは、エッジ部に沿って他のストリームからの右眼画像コンテンツとブレンドされる。したがって、隣接するシーン領域に対応する画像コンテンツを提供するストリームは、エッジ部に沿って共にブレンドされ得るが、一方で、他の部分は、ブレンディングを回避するためにマスクされ得る。
【００２２】
[0022] ３Ｄ環境のメッシュモデル、および、１つまたは複数の対応するＵＶマップは、カメラメッシュ補正情報とは異なる回数で伝達されてもよく、また時には伝達される。カメラメッシュ補正情報は、例えば、再生デバイスが、新しいカメラ対からのコンテンツを供給される少し前に、環境の一部に対応するコンテンツを供給するために使用されているカメラ対の変更に応じて送信され得る。代替的に、複数の補正メッシュは、特定の時間にどの補正情報が使用されるべきかを特定する、再生デバイスに送られる情報とともに、再生デバイスに伝達され、記憶される。このように、補正情報のどの組が所与の時間に提供されるべきかを決定するために再生デバイスによって供給され、使用される単なるインジケータを用いて、再生デバイスによって使用される補正メッシュは、コンテンツを供給するために使用されるカメラ対における変更があるごとに送信される必要はない。
【００２３】
[0023] ３Ｄモデルが、多数のノードを含む場合、補正は、すべてのノードに対して必要ではない可能性がある。このような場合、左眼画像および右眼画像のそれぞれについてのメッシュ補正情報の組は、ＵＶマップにおけるノードのサブセットを特定する情報を含み、また補正が実施されるべきノードのサブセットについてのノード位置補正情報を提供することができる。したがって、メッシュ補正情報は、ＵＶマップ、および、３Ｄモデルの対応する部分におけるノードの完全な組に対してより、少ないノードに対するエントリを含むことができる。
【００２４】
[0024] ３Ｄモデルは、３Ｄ空間における環境を表現する。取り込まれたフレームは、レンズ幾何形状に基づいて歪んでいる。メッシュ補正情報は、レンズ対の個々のレンズ間の差を考慮に入れないＵＶモデルに対応するＵＶマップを考慮して、受信された復号された画像フレームをどのように３Ｄモデルの頂点（vertices）にマップするかをレンダラに伝えることにより、各カメラアングルについてのレンズ歪みを補正するために使用される。したがって、補正情報を使用することは、レンズ歪みが取り込まれた画像において反映されるカメラ取り込みドメインからの画像の３Ｄモデルのドメインへのより正確な変換を容易にする。
【００２５】
[0025] 送信側でレンズ歪みを補償するために画像を処理するのではなく、再生デバイスで補正を実施することは、３Ｄモデルに対応するＵＶマップが基づいており、次いで送信のために符号化される２Ｄ正距円筒図法（equi-rectangular）の幾何形状へと、取り込まれた画像がまず歪むのを防止するのに役立つ。取り込まれた画像の２Ｄ正距円筒図法の幾何形状への符号化前の変換は、特に、損失の大きい画像符号化が送信前に行われる場合における画像処理の部分として、再生デバイスによる受信の前に、エッジ部の周辺における画像データの損失を生ずる可能性がある。
【００２６】
[0026] 様々な実施形態では、３Ｄ環境は、画像を取り込む１つまたは複数のカメラが位置する環境を表すために使用される三角形のメッシュをもった球であると推定される。本発明は、球形の３Ｄモデルの文脈で説明されるが、それは球形の３Ｄモデルに限定されることなく、他の形状のモデルに対しても使用され得る。
【００２７】
[0027] 例えば、いくつかの実施形態では、３Ｄ環境がマップされ、３Ｄ環境情報が、再生デバイスに伝達され、元の画像が取り込まれた講堂、競技場、または他の環境の実際の物理的な形状を考慮に入れて、再生中に画像をレンダリングするために使用される３Ｄデフォルト環境メッシュを修正するために使用される。３Ｄ環境マップは、カメラ装備からの、したがって、画像を取り込むために使用されたカメラからの、画像が取り込まれる環境の壁、または他の周囲面までの距離に関する情報を含むことができる。距離情報は、画像が取得された実際の環境に基づいて、環境をシミュレートし、再生画像を調整するために、再生中に使用されるメッシュのグリッド点に一致することができ、時には一致する。
【００２８】
[0028] 様々な実施形態では、映像コンテンツが取得される環境の３Ｄモデル、および／または、その環境に対応する３Ｄ次元情報が生成され、および／または、アクセスされる。環境におけるカメラ位置が文書化される。複数の別々のカメラ位置が、環境内に存在し得る。例えば、別々のエンドゴールのカメラ位置、および、１つまたは複数のミッドフィールドのカメラ位置が、実時間のカメラ送りを取り込むためにサポートされ、使用され得る。
【００２９】
[0029] ３Ｄモジュールおよび／または他の３Ｄ情報が、映像を１人または複数のユーザにストリーミングするために使用されるサーバ、または、画像取り込みデバイスに記憶される。
【００３０】
[0030] ３Ｄモジュールは、例えば、画像レンダリングおよび合成機能を有する顧客建物内デバイスなど、ユーザの再生デバイスに提供される。顧客建物内デバイスは、例えば、ヘッドマウントディスプレイを介して、顧客建物内デバイスのユーザに表示される環境の３Ｄ表現を生成する。
【００３１】
[0031] 様々な実施形態では、任意の所与の時間に、完全な３６０度より少ない環境が、個々の顧客建物内デバイスにストリーミングされる。顧客建物内デバイスは、ユーザ入力に基づいて、どのカメラ送りがストリーミングされるべきかを示す。ユーザは、顧客建物内デバイスの部分である、またはそれに取り付けられた入力デバイスにより、区画（court）および／またはカメラ位置を選択することができる。
【００３２】
[0032] いくつかの実施形態では、１８０度の映像ストリームが、コンテンツのストリーミングを担うサーバおよび／またはビデオカメラから、例えば、ライブ、実時間、または、ほぼ実時間のストリームで、顧客の再生デバイスに送信される。再生デバイスは、ユーザの頭部位置と、したがって、予想される再生デバイスのユーザが、再生デバイスにより生成される３Ｄ環境内で見ているビューイング領域とを監視する。顧客建物内デバイスは、見られている３Ｄ環境の一部のために利用可能な場合、映像を提示し、映像コンテンツは、ビデオコンテンツのないときに提示されるシミュレートされた３Ｄ環境を置き換える、またはその代替形態として表示される。再生デバイスのユーザが、自分の頭を回転させると、ユーザに提示される環境の部分は、例えば、ストリーミングされるなど、再生デバイスに供給される映像コンテンツからのものであり、他の部分は、３Ｄモデルから合成して生成されたものである、および／または、映像コンテンツとは異なる時間に取り込まれた前に供給された画像コンテンツである。
【００３３】
[0033] したがって、再生デバイスは、競技、音楽コンサート、または他のイベントが、なお継続している間に、例えば、正面１８０度カメラビューに対応する、例えば、ストリーミングにより供給される映像を表示することができ、３Ｄ環境の後方部分および／または側方部分は、完全に合成的に、または異なる時間に環境の側方もしくは後方領域の画像コンテンツからのいずれかにより生成される。
【００３４】
[0034] ユーザは、ストリーミングコンテンツを提供するサーバに、位置の変化を知らせることによって、カメラ位置の間を選択することができるが、ストリーミングコンテンツを提供するサーバは、ストリーミングされていない３Ｄ環境の部分のための合成環境を生成するのに有用な情報を提供することができる。
【００３５】
[0035] 例えば、いくつかの実施形態では、複数の後方および側方ビューが、異なる時間に、例えば、コンテンツの一部をストリーミングする前に、または、より早い時点で、取り込まれる。画像は、再生デバイスにバッファされる。コンテンツを提供するサーバは、映像ストリームで供給されていない環境部分の合成のために、１組の非実時間シーンもしくは画像のうちのどれが使用されるべきかを、再生デバイスに知らせることができ、またいくつかの実施形態では知らせる。例えば、カメラ位置の後ろで座っているコンサート参加者の画像、および、立っているコンサート参加者の他の画像が、再生デバイスに供給され、記憶され得る。サーバは、特定の時間点において、記憶された画像データのどの組が使用されるべきかを知らせることができる。したがって、観客が立っているとき、サーバは、画像合成中に、背景の１８０度ビューのために、立っている観衆に対応する画像が使用されるべきであることを知らせることができ、一方、観客が座っているとき、サーバは、３Ｄカメラ環境の側方または後方部分を合成する場合に、座っている観客に対応する画像もしくは画像合成情報を使用すべきであることを、顧客建物内デバイスに示すことができる。
【００３６】
[0036] 少なくともいくつかの実施形態では、画像取り込み中に、３Ｄ環境中の１つまたは複数の位置のそれぞれにおけるカメラの方向が追跡される。顧客建物内デバイスによりシミュレートされるために、前にモデル化された、および／または、マップされた３Ｄ環境に対して、取り込まれた画像、例えば、ライブ画像の整列、および／または、他のマッピングを容易にするために、環境内におけるマーカおよび／または、識別点が使用され得る。
【００３７】
[0037] 合成の環境部分と、実際のもの（ストリーミングされるビデオ）とをブレンドすることは、没入型の映像体験を提供する。例えば、環境が以前にモデル化されていない場合など、映像が利用できないときに、環境をシミュレートするために使用される３Ｄ情報を作成するように、３Ｄ光度測定法（3d photometry）を用いて、環境が測定され、もしくはモデル化されることができ、また時には測定もしくはモデル化される。
【００３８】
[0038] 決定された場所における現実世界の空間における基準マーカの使用は、以前に生成された３Ｄモデルを用いて、映像の較正と整列を支援する。
【００３９】
[0039] 各カメラの位置的な追跡は、映像が取り込まれると実施される。場所に対するカメラ位置情報は、例えば、Ｘ、Ｙ、Ｚ、および度で示すヨー角をマップする、（したがって、各カメラがどこを指しているかを知る）。こうすることは、取り込まれた画像が、環境のどの部分に対応しているかの容易な検出を可能とし、また、取り込まれた映像と共に再生デバイスに伝達されたとき、再生装置が、ユーザへの再生など、画像の提示中に再生デバイスにより生成された合成環境にビデオ取り込みを自動的に重ねることを可能にする。ストリーミングされるコンテンツは、３６０度より少ないビュー、例えば、カメラ位置の正面における領域の取り込まれた１８０度ビューに限定され得る。視聴者が周りを見まわすと、後方に向いたとき、シミュレートされた背景（黒い空間ではなく）を、また正面を向いたときは映像を見ることになる。
【００４０】
[0040] 合成環境は、対話的にすることができ、いくつかの実施形態では対話的である。いくつかの実施形態では、仮想的な３Ｄ環境内で、ユーザの友人と競技を見ることができるように、複数の実際の視聴者、例えば、異なる顧客建物内デバイスのユーザがシミュレートされた環境に含まれ、ユーザが競技場に実際にいるように見える。
【００４１】
[0041] ユーザの画像は、顧客建物内デバイスに含まれる、または取り付けられたカメラによって取り込まれ、サーバに供給され、シミュレートされた環境を生成における使用のために、他のユーザ、例えば、グループのメンバーに提供することができ、またいくつかの実施形態では提供される。ユーザ画像は、実時間画像である必要はないが、おそらく実時間画像とすることができる。
【００４２】
[0042] 本方法は、実時間で、またはほぼ実時間で、コンテンツを符号化し、提供するために使用され得るが、このような実時間用途に限定されない。実時間およびほぼ実時間の符号化と複数のユーザへのストリーミングをサポートできることを考慮すると、本明細書に記載された方法および装置は、スポーツイベント、コンサート、および／または、個人が、イベントを見て、ステージもしくはフィールドだけを観察するのではなく、向きを変えて、例えば、競技場もしくは観客など、環境のビューを理解できるようにすることを好む他の会場のシーンをストリーミングするのによく適している。３６０度のビューイングおよび３Ｄをサポートすることにより、本発明の方法および装置は、存在するならば、および、ユーザの頭が左右もしくは後方に向けられるならばそうである可能性があるが、向きを変えて、様々な視野角からシーンを観察する自由度をもって３Ｄ没入型の体験をユーザに提供するように意図されたヘッドマウントディスプレイとともに使用するのによく適している。
【図面の簡単な説明】
【００４３】
【図１】[0043] 図１は、コンテンツを取り込み、ストリーミングし、合成された環境において、１人または複数のユーザにコンテンツを一緒に出力するために使用され得る、本発明のいくつかの実施形態に従って実装される例示的なシステムを示す。
【図２Ａ】[0044] 図２Ａは、例えば、区分されていない完全な３６０度の立体視シーンなど、例示的な立体視シーンを示す。
【図２Ｂ】[0045] 図２Ｂは、例示的な一実施形態に従って、３つの例示的なシーンへと区分されている例示的な立体視シーンを示す。
【図２Ｃ】[0046] 図２Ｃは、例示的な一実施形態に従って、４つのシーンへと区分されている例示的な立体視シーンを示す。
【図３】[0047] 図３は、例示的な一実施形態に従って、例示的な３６０度の立体視シーンを符号化する例示的なプロセスを示す。
【図４】[0048] 図４は、入力画像部分が、同じ入力画像部分の異なる符号化バージョンを生成するために、様々な符号化器を用いてどのように符号化されるかを示す例を示す。
【図５】[0049] 図５は、３つの部分へと区分されている入力立体視シーンの記憶された符号化された部分を示す。
【図６】[0050] 図６は、図１のシステムを用いて実施される例示的な実施形態に従って、コンテンツをストリーミングする例示的な方法のステップを示す流れ図である。
【図７】[0051] 図７は、本発明の特徴に従って、コンテンツを符号化し、ストリーミングするために使用され得る例示的なコンテンツ配信システム符号化機能を示す。
【図８】[0052] 図８は、図７のシステムによりストリーミングされたコンテンツを受信し、復号し、表示するために使用され得る例示的なコンテンツ再生デバイスを示す。
【図９】[0053] 図９は、流れ図の形態で、また、図１で示されたシステムによって実装され得る例示的な一実施形態に従って実装される、カメラ較正、画像符号化、およびコンテンツストリーミング方法の第１の部分を示す。
【図１０】[0054] 図１０は、図９の流れ図によって呼び出され得るカメラ較正サブルーチンを示す。
【図１１】[0055] 図１１は、図９で示される流れ図によって呼び出され得る画像取り込みおよびコンテンツストリーミングサブルーチンを示す。
【図１２】[0056] 図１２は、例示的な一実施形態に従って、図１のシステムで使用され得る再生デバイスまたはシステムを動作させる方法を示す。
【図１３】[0057] 図１３は、空のビューを取り込むために、空に向けられた１つまたは複数のカメラと共に、３６０度の視界のうちの異なる１２０度セクタに対応する左眼画像および右眼画像を取り込むための複数のカメラ対を含むカメラ装備を示す。
【図１４】[0058] 図１４は、再生動作の部分として、取り込まれた画像が投影され得る完全な球形のビュー／環境を作成するために、異なるカメラビューに対応する５つの異なる環境メッシュマップがどのように組み合わされ得るかを示す。
【図１５】[0059] 図１５は、球形のシミュレートされた環境を作成するための、図１５で示された５つのメッシュの完全な組立体視を示す。
【図１６】[0060] 図１６は、図１３で示されたカメラ装備のセクタに対応する、魚眼レンズを備えた、左眼カメラおよび右眼カメラにより取り込まれた左眼視画像と右眼視画像とを示す。
【図１７】[0061] 図１７は、図１６の左眼視画像および右眼視画像が、符号化されて１つまたは複数の再生デバイスに送信される前に、どのように画像の縁が切り落とされる（crop）のかを示す。
【図１８】[0062] 図１８は、ユーザに提示されるべき３Ｄシミュレートされたメッシュ環境の一部にマッピングおよび表示するために、画像がさらに処理される前に、再生デバイスに送信された取り込まれた画像への歪みに対する補正において使用されるように、個々のカメラについて生成され、再生デバイスへと送信され得る例示的な補正メッシュを示す。
【図１９】[0063] 図１９は、例えば、カメラ装備のセクタの左右のカメラ対の一方のカメラに対応する画像など、補正メッシュが対応するカメラにより取り込まれた画像に補正メッシュを適用することを示す。
【図２０】[0064] 図２０は、個々の対応する補正マップにより補正された後、図１３で示されたカメラ装備のセクタに対応する左眼画像および右眼画像の対を示す。
【図２１】[0065] 図２１は、図２０で示された画像の１つが、例えば、投影されるなど、環境メッシュ上に適用されている、カメラ装備の１つのセクタに対応する環境メッシュモデルを示す。
【図２２】[0066] 図２２は、球の形態の完全な３Ｄ環境をシミュレートするために、カメラ装備のセクタの各々に対応するカメラ、ならびに、カメラ装備の空および地面カメラにより取り込まれた画像の適用を示す。
【図２３Ａ】[0067] 図２３Ａは、例示的な実施形態に従って、画像コンテンツを提供する例示的な方法のステップを示す流れ図の第１の部分である。
【図２３Ｂ】[0068] 図２３Ｂは、例示的な実施形態に従って、画像コンテンツを提供する例示的な方法のステップを示す流れ図の第２の部分である。
【図２３】[0069] 図２３は、例示的な実施形態に従って、画像コンテンツを提供する方法の流れ図を示す図２３Ａおよび図２３Ｂの組合せを備える。
【図２４Ａ】[0070] 図２４Ａは、例示的な実施形態に従って、例示的なコンテンツ再生方法のステップを示す流れ図の第１の部分である。
【図２４Ｂ】[0071] 図２４Ｂは、例示的な実施形態に従って、例示的なコンテンツ再生方法のステップを示す流れ図の第２の部分である。
【図２４】[0072] 図２４は、例示的な実施形態に従って、画像コンテンツを提供するコンテンツ再生方法の流れ図を示す図２４Ａおよび図２４Ｂの組合せを備える。
【図２５】[0073] 図２５は、いくつかの実施形態における例示的なコンテンツ再生方法の部分として実装され得る画像レンダリングサブルーチンのステップを示す流れ図である。
【詳細な説明】
【００４４】
[0074] 図１は、本発明のいくつかの実施形態に従って実装される例示的なシステム１００を示している。システム９００は、顧客建物内に位置する１つまたは複数の顧客デバイス、例えば、再生デバイス／コンテンツ再生装置への、コンテンツ配信、例えば、イメージングコンテンツ（imaging content）の配信をサポートする。システム９００は、例示的な画像取り込みデバイス１０２と、コンテンツ配信システム１０４と、通信ネットワーク１０５と、複数の顧客建物内１０６、・・・、１１０とを含む。画像取り込みデバイス１０２は、立体視画像の取り込みをサポートする。画像取り込みデバイス１０２は、本発明の特徴に従って、イメージングコンテンツを取り込み、処理する。通信ネットワーク１０５は、例えば、光ファイバ−同軸（ＨＦＣ：hybrid fiber-coaxial）ネットワーク、衛星ネットワーク、および／または、インターネットとすることができる。
【００４５】
[0075] コンテンツ配信システム１０４は、画像処理／較正／符号化装置１１２と、例えば、ストリーミングサーバなどのコンテンツ配信デバイス１１４とを含む。画像処理／較正／符号化装置１１２は、カメラ較正プロセス中に取り込まれた１つまたは複数の目標画像および／またはグリッドパターンに基づくカメラ較正と、較正されたカメラにより導入された歪みを補償するために再生デバイスにより使用され得る歪み補正もしくは補償メッシュの生成と、例えば、取り込まれた画像の縁の切落としおよび符号化などの処理と、再生デバイスに供給され、レンダリング／画像再生プロセスで使用され得る、較正および／または環境情報をコンテンツ配信デバイス１１４に供給することと、を含む様々な機能を実施することを担当する。コンテンツ配信デバイス１１４は、サーバとして実装されることができ、以下で論じられるように、配信デバイスは、３Ｄ環境をシミュレートするのに使用され得る、画像較正情報、任意選択の環境情報、およびカメラ装備１０２によって取り込まれた１つまたは複数の画像をもったコンテンツを求める要求に応答する。画像および／またはコンテンツのストリーミングは、見る人の頭部位置、および／または、画像のソースになるカメラ装備１０２に対応するイベントにおける位置のユーザ選択などのフィードバック情報に応じ得る、また、時には応じる。例えば、ユーザは、センターラインに位置するカメラ装備から、フィールドゴールに位置するカメラ装備へと画像間を選択する、もしくは切り換えることができ、シミュレートされる３Ｄ環境およびストリーミングされる画像は、ユーザにより選択されたカメラ装備に対応するものに変更される。したがって、単一のカメラ装備１０２が図１で示されているが、複数のカメラ装備がシステム中に存在し、スポーツまたは他のイベントで異なる物理的場所に位置することができ、ユーザは、様々な位置間を切り換えることが可能であり、またユーザ選択は、再生デバイス１２２からコンテンツサーバ１１４に伝達されることを理解されたい。別々のデバイス１１２、１１４が、画像処理およびコンテンツ配信システム１０４で示されているが、システムは、様々な機能を実施するための別々のハードウェアを含む、または異なるソフトウェアもしくはハードウェアモジュールにより制御されるが、単一のプロセッサで、もしくはプロセッサ上で実施される様々な機能を備えた単一のデバイスとして実施され得ることを理解されたい。
【００４６】
[0076] 符号化装置１１２は、本発明に従って、画像データを符号化するための１つまたは複数のエンコーダを含むことができる、またいくつかの実施形態では含む。エンコーダは、異なるデータレートを有する符号化されたバージョンを生成するために、シーンの異なる部分を符号化し、および／または、シーンの所与の部分を符号化するように、並列に使用され得る。複数のエンコーダを並列に使用することは、実時間の、またはほぼ実時間のストリーミングがサポートされる場合、特に有用であり得る。
【００４７】
[0077] コンテンツストリーミングデバイス１１４は、符号化された画像コンテンツを、例えば、通信ネットワーク１０５上で１つまたは複数の顧客デバイスに配信するために、符号化されたコンテンツを、例えば、送信するなど、ストリーミングするように構成される。ネットワーク１０５を介して、コンテンツ配信システム１０４は、通信ネットワーク１０５を横切るリンク１２０により図に示されるように、顧客建物内１０６、１１０に位置するデバイスとで、情報を送り、および／または情報を交換することができる。
【００４８】
[0078] 図１の例では、符号化装置１１２およびコンテンツ配信サーバは、別々の物理的デバイスとして示されているが、いくつかの実施形態では、それらは、コンテンツを符号化し、ストリーミングする単一のデバイスとして実装される。符号化プロセスは、３Ｄ、例えば、立体視の画像符号化プロセスとすることができ、その場合、３Ｄ画像ビューイングがサポートされ得るように、シーン部分の左眼視および右眼視に対応する情報が符号化されて、符号化された画像データに含まれる。使用される特定の符号化方法は、本用途には重要なものではなく、広範囲のエンコーダが、符号化装置１１２として、または符号化装置１１２を実装するために使用され得る。
【００４９】
[0079] 各顧客建物内１０６、１１０は、例えば、コンテンツストリーミングデバイス１１４によりストリーミングされたイメージングコンテンツを復号し、および、再生／表示するための復号装置など、複数のデバイス／再生装置を含むことができる。顧客建物内１  １０６は、表示デバイス１２４に接続された復号装置／再生デバイス１２２を含むが、一方、顧客建物内Ｎ  １１０は、表示デバイス１２８に接続された復号装置／再生デバイス１２６を含む。いくつかの実施形態では、表示デバイス１２４、１２８は、ヘッドマウント立体視表示デバイスである。
【００５０】
[0080] 様々な実施形態では、復号装置１２２、１２６は、対応する表示デバイス１２４、１２８上にイメージングコンテンツを提示する。復号装置／再生装置１２２、１２６は、コンテンツ配信システム１０４から受信されたイメージングコンテンツを復号し、復号されたコンテンツを用いてイメージングコンテンツを生成し、表示デバイス１２４、１２８上にイメージングコンテンツ、例えば、３Ｄ画像コンテンツをレンダリングすることのできるデバイスであり得る。復号装置／再生デバイス１２２、１２６のいずれも、図８で示される復号装置／再生デバイス８００として使用され得る。図８で示されるものなどのシステム／再生デバイスは、復号装置／再生デバイス１２２、１２６のいずれとしても使用され得る。
【００５１】
[0081] 図２Ａは、例示的な立体視シーン２００、例えば、区分されていない完全な３６０度の立体視シーンを示している。立体視シーンは、単一のビデオ取り込みプラットフォーム、またはカメラ取付け台に搭載されることの多い複数のカメラ、例えば、ビデオカメラ、から取り込まれた画像データを組み合わせた結果である。
【００５２】
[0082] 図２Ｂは、例示的な立体視シーン２００の区分されたバージョン２５０を示しており、ここで、シーンは、例示的な一実施形態に従って、例えば、正面の１８０度部分、左後方の９０度部分、および、右後方の９０度部分など、３つの（Ｎ＝３）例示的な部分へと区分されている。
【００５３】
[0083] 図２Ｃは、例示的な一実施形態に従って、４つの（Ｎ＝４）部分へと区分されている例示的な立体視シーン２００の他の区分されたバージョン２８０を示している。
【００５４】
[0084] 図２Ｂおよび図２Ｃは、２つの例示的な区分を示しているが、他の区分も可能であることを理解されたい。例えば、シーン２００は、１２個（ｎ＝１２）の３０度部分へと分けることができる。このような実施形態では、各区分を個々に符号化するのではなく、複数の区分が共にグループ化されて、グループとして符号化される。区分の異なるグループがユーザに与えられ、ストリーミングされることができ、各グループのサイズは、シーンの合計度数の点では同じであるが、ユーザの頭部位置、例えば、０から３６０度の尺度で測定された視野角、に応じてストリーミングされ得る画像の異なる部分に対応する。
【００５５】
[0085] 図３は、例示的な一実施形態に従って、例示的な３６０度の立体視シーンを符号化する例示的なプロセスを示す。図３で示される方法３００への入力は、例えば、シーンの３６０度ビューを取り込むように配置された複数のカメラにより取り込まれた３６０度の立体視画像データを含む。例えば、立体視映像などの立体視画像データは、様々な既知のフォーマットのいずれかとすることができ、また大部分の実施形態では、３Ｄ体験を可能にするために使用される左眼画像および右眼画像データを含む。本方法は、特に立体視ビデオによく適しているが、本明細書で述べられる技法および方法は、例えば、３６０度もしくは小さなシーン領域など、２Ｄ画像に適用することも可能である。
【００５６】
[0086] ステップ３０４で、シーンデータ３０２は、例えば、異なるビューイング方向に対応するＮ個のシーン領域など、異なるシーン領域に対応するデータへと区分される。例えば、図２Ｂで示されたものなどの一実施形態では、３６０度のシーン領域が、３つの区分に、すなわち、９０度部分に対応する左後方部分、正面の１８０度部分、および右後方の９０度部分へと分けられる。異なる部分は、異なるカメラにより取り込まれ得るが、それは必ずしも必要なことではなく、実際に、３６０度のシーンは、図２Ｂおよび図２Ｃで示されるように、Ｎ個のシーン領域へと分割される前に、複数のカメラから取り込まれたデータから構成され得る。
【００５７】
[0087] ステップ３０６で、異なるシーン部分に対応するデータは、本発明に従って符号化される。いくつかの実施形態では、各シーン部分は、各部分ごとに複数の可能なビットレートストリームをサポートするために、複数のエンコーダによって、独立して符号化される。ステップ３０８で、符号化されたシーン部分は、顧客の再生デバイスへとストリーミングするために、例えば、コンテンツ配信１０４に記憶される。
【００５８】
[0088] 図４は、例えば、シーンの１８０度正面部分など、入力画像部分が、同じ入力画像部分の異なる符号化バージョンを生成するために、様々なエンコーダを用いてどのように符号化されるかを示す例を示している図面４００である。
【００５９】
[0089] 図面４００で示されるように、例えば、シーンの１８０度正面部分など、入力シーン部分４０２が、符号化のために複数のエンコーダに供給される。その例では、画像コンテンツの様々なデータレートストリームをサポートするための符号化されたデータを生成するために、入力データを、異なる解像度で、異なる符号化技法を用いて符号化するＫ個の異なるエンコーダがある。複数のＫ個のエンコーダは、高精細（ＨＤ）エンコーダ１  ４０４と、標準精細（ＳＤ）エンコーダ２  ４０６と、低減されたフレームレートのＳＤエンコーダ３  ４０８と、・・・、高圧縮の低減されたフレームレートＳＤエンコーダＫ  ４１０とを含む。
【００６０】
[0090] ＨＤエンコーダ１  ４０４は、高ビットレートのＨＤ符号化画像４１２を生成するために、フル高精細（ＨＤ）符号化を実施するように構成される。ＳＤエンコーダ２  ４０６は、入力画像のＳＤ符号化バージョン２  ４１４を生成するために、低解像度の標準精細符号化を実施するように構成される。低減されたフレームレートのＳＤエンコーダ３  ４０８は、入力画像の低減されたレートのＳＤ符号化バージョン３  ４１６を生成するために、低減されたフレームレートの低解像度ＳＤ符号化を実施するように構成される。低減されたフレームレートは、例えば、符号化のためにＳＤエンコーダ２  ４０６によって使用されるフレームレートの半分とすることができる。高圧縮の低減されたフレームレートＳＤエンコーダＫ  ４１０は、入力画像の高圧縮の低減されたレートのＳＤ符号化バージョンＫ  ４２０を生成するために、高圧縮を用いて、低減されたフレームレートの低解像度ＳＤ符号化を実施するように構成される。
【００６１】
[0091] したがって、空間および／または時間解像度の制御は、異なるデータレートのデータストリームを生成するために使用することができ、また、データ圧縮レベルなどの他のエンコーダ設定の制御は、１つまたは複数の所望のデータレートを用いてシーン部分に対応するデータストリームを生成するために、単独で、または、空間および／または時間解像度の制御に加えて使用され得ることを理解されたい。
【００６２】
[0092] 図５は、３つの例示的な部分へと区分されている、入力された立体視シーンの記憶された符号化された部分５００を示す。記憶された符号化された部分は、コンテンツ配信システム１０４に、例えば、メモリにおけるデータ／情報として、記憶され得る。立体視シーンの記憶された符号化された部分５００は、符号化された部分の３つの異なる組を含み、ここで、各部分は、異なるシーン領域に対応し、また各組は、対応するシーン部分の複数の異なる符号化されたバージョンを含む。各符号化されたバージョンは、符号化されたビデオデータのバージョンであり、したがって、符号化されている複数のフレームを表す。映像である各符号化されたバージョン５１０，５１２、５１６は、複数の時間期間に対応していること、また、ストリーミングするとき、再生される時間期間に対応する、例えば、フレームなどのその部分は、送信目的で使用されることを理解されたい。
【００６３】
[0093] 図４に関して上に示され、上述されたように、例えば、正面、後方のシーン部分など、各シーン部分は、同じシーン部分のＫ個の異なるバージョンを生成するために、複数の異なるエンコーダを用いて符号化され得る。所与の入力されたシーンに対応する各エンコーダの出力は、組として共にグループ化され、記憶される。符号化されたシーン部分の第１の組５０２は、正面１８０度のシーン部分に対応し、正面１８０度のシーンの符号化バージョン１  ５１０と、符号化バージョン２  ５１２と、・・・、符号化バージョンＫ  ５１６とを含む。符号化されたシーン部分の第２の組５０４は、例えば、９０度の左後方シーン部分など、シーン部分２に対応し、９０度の左後方シーン部分の符号化バージョン１  ５２０と、符号化バージョン２  ５２２と、・・・、９０度の左後方シーン部分の符号化バージョンＫ  ５２６とを含む。同様に、符号化されたシーン部分の第３の組５０６は、例えば、９０度の右後方シーン部分など、シーン部分３に対応し、また９０度の右後方シーン部分の符号化バージョン１  ５３０と、符号化バージョン２  ５３２と、・・・、９０度の右後方シーン部分の符号化バージョンＫ  ５３６とを含む。
【００６４】
[0094] ３６０度シーンの様々な異なる記憶された符号化部分は、顧客の再生デバイスに送るために、様々な異なるビットレートのストリームを生成するために使用され得る。
【００６５】
[0095] 図６は、例示的な実施形態に従って、画像コンテンツを提供する例示的な方法のステップを示す流れ図６００である。流れ図６００の方法は、いくつかの実施形態では、図１で示された取り込みシステムを用いて実装される。
【００６６】
[0096] 方法は、ステップ６０２で、例えば、配信システムの電源が投入され、初期化されて開始する。方法は、開始ステップ６０２からステップ６０４へと進む。ステップ６０４で、コンテンツ配信システム１０４、例えば、システム１０４内のサーバ１１４は、コンテンツを求める要求、例えば、以前に符号化された番組、または、いくつかの場合には、例えば、イベントがなお継続している間に、実時間もしくはほぼ実時間で符号化され、ストリーミングされるライブイベントを求める要求、を受信する。
【００６７】
[0097] 要求に応じて、ステップ６０４で、サーバ１１４は、配信のために利用可能なデータレートを決定する。データレートは、サポートされるデータレートを示す、要求内に含まれた情報から、および／または、要求しているデバイスにコンテンツを配信するために利用可能な最大帯域幅を示すネットワーク情報などの他の情報から決定され得る。理解されるように、利用可能なデータレートは、ネットワーク負荷に応じて変化する可能性があり、また、コンテンツがストリーミングされている時間期間中に変化する可能性もある。変化は、ユーザデバイスにより報告され得るか、または、ネットワークが、使用されているデータレートをサポートするには困難であることを示す、パケットが落とされているか、もしくは望ましい時間量を超えて遅延していること、あるいは、現在利用可能なデータレートが、使用するのに利用可能であると決定された元のデータレートよりも低いことを示すメッセージや信号から検出され得る。
【００６８】
[0098] 動作は、ステップ６０８からステップ６０８に進み、ここで、例えば、要求時における現在の頭部位置など、コンテンツを求める要求が初期化されるユーザデバイスの現在の頭部位置は０度位置になる。０度、または前方を見る位置は、いくつかの実施形態では、再初期化を行うことを知らせる再生デバイスを用いて、ユーザにより再初期化され得る。時間経過に伴う、ユーザの頭部位置、および／または、例えば、元の頭部位置に対するユーザの頭部位置の変化は、コンテンツ配信システム１０４に報告され、更新された位置が、コンテンツ配信決定を行うために、以下で論ずるように使用される。
【００６９】
[0099] 動作は、ステップ６０８からステップ６１０へと進み、要求されたコンテンツに対応する３６０度シーンの部分が、再生デバイスを初期化するために送られる。少なくともいくつかの実施形態では、初期化は、例えば、３６０度のシーンがＮ個の部分へと分割された場合はＮ個の部分といった、シーンデータの完全な３６０度の組を送ることを含む。
【００７０】
[0100] ステップ６１０の初期化の結果、再生デバイスは、３６０度の可能なビューイング領域の異なる部分のそれぞれに対応するシーンデータを有することになる。したがって、再生デバイスのユーザが、突然後方を向いた場合、ユーザが自分の頭を回転させる前に見ていた部分と同じように更新された最新のものではないとしても、少なくともいくつかのデータが、ユーザに表示するために利用可能になる。
【００７１】
[0101] 動作は、ステップ６１０からステップ６１２およびステップ６２２へと進む。ステップ６２２は、全体（global）更新期間ごとに少なくとも１回、３６０度シーン全体の更新されたバージョンを再生デバイスが受信することを確実にするために使用される、全体シーン更新経路に対応する。ステップ６１０で初期化されると、待機ステップ６２２で、所定の時間期間の間、全体更新プロセスが遅延される。次いで、ステップ６２４で、３６０度シーン更新が行われる。破線の矢印６１３は、ステップ６２２に対応する支援期間中に、シーン部分が再生デバイスに伝達されたことに関する情報が伝達されることを表している。ステップ６２４で、３６０度シーンの全体が送信され得る。しかし、いくつかの実施形態では、ステップ６２４ですべての部分は送信されない。いくつかの実施形態では、待機期間６２２中に更新されたシーン部分は、それらが、ユーザの頭部位置に基づいてシーンの少なくともいくつかの部分を送る通常のストリーミングプロセス中にすでにリフレッシュされているので、ステップ６２４で行われる更新から除外される。
【００７２】
[0102] 動作は、ステップ６２４から待機ステップ６２２へと戻り、次の全体更新の前に待機が行われる。ステップ６２２で使用される待機期間を調整することにより、異なる全体リフレッシュレートがサポートされ得ることを理解されたい。いくつかの実施形態では、コンテンツサーバは、提供されるシーンコンテンツのタイプに基づいて、待機期間、したがって、全体基準期間を選択する。主なアクションが前方を向いた領域で生じ、リフレッシュする理由の１つが屋外の照明状態の可能な変化であるスポーツイベントの場合には、待機期間は、例えば、分または複数分のオーダーであるなど、比較的長くてよい。異なる歌が演奏されて、高い頻度で観客のアクションや行動が変化し得るロックコンサートの場合には、ユーザが、正面ステージのビューイング領域で進行していることに加えて、向きを変えて観客の反応を見て、観客に起こっていることを感じ取ることを望むので、全体リフレッシュレートは、スポーツイベントのためよりも高くなり得、時には高い。
【００７３】
[0103] いくつかの実施形態では、全体基準期間は、ストリーミングされている表示部分に応じて変更される。例えば、スポーツイベントの競技部分の間には、全体リフレッシュレートは比較的低くすることができるが、イベントにおける、もしくは再生デバイスによりイベントを見ている人が前方の主領域から自分の頭部を回転させる可能性がより高い、タッチダウン後の瞬間の間、または、タイムアウトもしくは休憩時間中には、全体基準レートは、ステップ６２２で使用される、例えば、リフレッシュ期間の制御など、待機を減らすことにより増加され得る、またいくつかの実施形態では増加される。
【００７４】
[0104] 全体リフレッシュプロセスが、ステップ６２２および６２４を参照して記載されてきたが、シーンの部分の通常の供給が記載される。理解されるように、シーンまたはシーン部分の通常のリフレッシュは、少なくとも１つの部分について起こり、データレートは、サポートされるビデオフレームレートで許容される。したがって、例えば、自分の頭部が向いていることが示されている部分など、少なくとも１つのフレーム部分に関して、利用可能なデータレートが十分であると仮定すると、完全なビデオストリーミングフレームレートで供給されることになる。
【００７５】
[0105] ステップ６１２で、シーン部分は、ユーザの、例えば、視野角など、示された頭部位置に基づいて提供されるように選択される。選択された部分は、例えば、周期的に、再生デバイスへと、例えば、ストリーミングされるなど、送信される。その部分に対応するデータがストリーミングされるレートは、いくつかの実施形態では、ビデオフレームレートに依存する。例えば、少なくとも１つの選択された部分は、サポートされる完全なフレームレートでストリーミングされることになる。ステップ６１２で、通常、少なくとも１つのシーン部分が選択されるが、例えば、ユーザが面しているシーン部分、ならびに、最も近い次のシーン部分など、複数のシーン部分が選択される。利用可能なデータレートが、複数のフレーム部分の伝達をサポートするのに十分である場合、また、さらなる追加のシーン部分が選択されて供給され得る。
【００７６】
[0106] ステップ６１２で、ストリーミングされるべきシーン部分が選択された後、動作は、ステップ６１４へと進み、ここで、選択されたストリーム部分の符号化されたバージョンが、例えば、利用可能なデータレートおよびユーザの見ている位置に基づいて選択される。例えば、現在報告された頭部により示された、ユーザが面しているシーン部分のフルレートの高解像度バージョンが、ストリーミングされ得る、また通常ストリーミングされることになる。現在の頭部位置の左および／または右への１つ以上のシーン部分が、現在見られていないシーン領域を送信するのに必要な帯域幅の量を低減する、より低い解像度で、低い時間レートで、または、他の符号化手法を用いてストリーミングされるために選択され得る。隣接するシーン部分の符号化されたバージョンの選択は、現在見ているシーン部分の高品質バージョンが送信された後にストリーミングする帯域幅の量に依存することになる。現在見られていないシーン部分は、より低い解像度の符号化されたバージョンとして、または、フレーム間の時間距離のより大きい符号化されたバージョンとして送られ得るが、利用可能な十分な帯域幅がある場合、フル解像度の高品質バージョンが、周期的に、または、高い頻度で送られ得る。
【００７７】
[0107] ステップ６１６で、選択されたシーン部分の選択された符号化されたバージョンが、コンテンツを要求した再生デバイスに送られる。したがって、ステップ６１６で、例えば、複数の連続するフレームに対応する立体視ビデオコンテンツなど、１つまたは複数の部分に対応する符号化されたコンテンツが、再生デバイスへとストリーミングされる。
【００７８】
[0108] 動作は、ステップ６１６からステップ６１８へと進み、ユーザの現在の頭部位置を示す情報が受信される。この情報は、再生デバイスから、周期的に、および／または、頭部位置の変化の検出に応じて送られ得る。頭部位置の変化に加えて、利用可能なデータレートにおける変化は、どのコンテンツがストリーミングされるかに影響を与え得る。動作は、ステップ６１８から６２０へと進み、再生デバイスへのコンテンツ配信のために使用され得る現在のデータレートの決定が行われる。したがって、コンテンツ配信システムは、要求しているデバイスへのストリーミングをサポートするのに利用可能な帯域幅の量における変化を検出することができる。
【００７９】
[0109] 動作は、ステップ６２０からステップ６１２へと進み、例えば、番組もしくはイベントが終了するなど、コンテンツが完全に配信されるまで、または、コンテンツを要求した再生デバイスからセッションが終了されることを示す信号が受信されるまで、あるいは、頭部位置更新が検出されるなどの再生デバイスからの期待された信号が受信されず、再生デバイスがもはやコンテンツサーバ１１４と通信状態にないことを示すまで、ストリーミングは継続する。
【００８０】
[0110] 上述の方法で配信されるシーンデータから、再生デバイスは、ユーザが急に自分の頭部を回転させた場合に表示するために、それに利用可能な各シーン部分に対応する少なくともいくつかのデータを有する。これは、多くの人々にとって見ている位置の快適ではない変化であるため、ユーザが、非常に短い期間内に自分の頭部を完全に回転させることはまれであることを理解されたい。したがって、完全な３６０度のシーンが、常には送信されないかもしれないが、任意の所与に時間に見られる可能性が最も高いシーン部分（複数可）の高品質バージョンが、ユーザにストリーミングされ、利用可能にすることができる。
【００８１】
[0111] 符号化プロセスは、個々のユーザのそれぞれに対して別々にコンテンツを符号化することを必要とせずに、シーンのＮ個の部分が、異なるユーザに対して異なって送信され、処理されることを可能にするので、コンテンツ配信システム１０４は、多数の同時ユーザをサポートすることができる。したがって、スポーツまたは他のイベントの実時間の、またはほぼ実時間のストリーミングを可能にするための実時間符号化をサポートするために、いくつかの並列エンコーダが使用され得るが、使用されるエンコーダの数は、コンテンツがストリーミングされる再生デバイスの数よりもはるかに少ない傾向がある。
【００８２】
[0112] コンテンツの部分が、３６０度ビューに対応する部分として記載されているが、シーンは、垂直の次元も有する空間の平坦化されたバージョンを表すことができる、またいくつかの実施形態では表していることを理解されたい。再生デバイスは、例えば、空間など、３Ｄ環境のモデルを用いてシーン部分をマップし、垂直の見ている位置に対して調整することができる。したがって、本出願で論じられる３６０度は、ユーザが、自分の注視レベルを保持しながら、自分の視野角を左または右に変化させたかのごとく、水平に相対する頭部位置を指す。
【００８３】
[0113] 図７は、本発明の特徴に従って、コンテンツを符号化し、ストリーミングするために使用され得る符号化機能を備えた例示的なコンテンツ配信システム７００を示す。
【００８４】
[0114] システムは、本発明の特徴に従って、符号化、記憶、ならびに、送信および／またはコンテンツ出力を実施するために使用され得る。いくつかの実施形態では、システム７００またはその要素は、図６および図２３に示されたプロセスに対応する動作を実施する。コンテンツ配信システム７００は、図１のシステム１０４として使用され得る。図７で示されるシステムは、コンテンツの符号化、処理、およびストリーミングのために使用されるが、システム７００は、また、処理されたおよび／または復号された画像データを復号して、例えば、操作者に表示する能力を含み得ることを理解されたい。
【００８５】
[0115] システム７００は、ディスプレイ７０２と、入力デバイス７０４と、入力／出力（Ｉ／Ｏ）インターフェース７０６と、プロセッサ７０８と、ネットワークインターフェース７１０と、メモリ７１２とを含む。システム７００の様々な構成要素は、システム７００の構成要素間でデータが伝達され得るようにするバス７０９を介して共に結合される。
【００８６】
[0116] メモリ７１２は、例えば、ルーチンなど、様々なモジュールを含み、モジュールは、プロセッサ７０８により実行されたとき、本発明に従って、区分、符号化、記憶、および、ストリーミング／送信および／または出力動作を実施するようにシステム７００を制御する。
【００８７】
[0117] メモリ７１２は、例えば、ルーチンなど、様々なモジュールを含み、モジュールは、プロセッサ７０７により実行されたとき、本発明に従って、没入型の立体視映像取得、符号化、記憶、および、送信および／または出力方法を実装するように、コンピュータシステム７００を制御する。メモリ７１２は、制御ルーチン７１４と、区分モジュール７０６と、エンコーダ（複数可）７１８と、検出モジュール７１９と、ストリーミングコントローラ７２０と、例えば、シーンの３６０度立体視映像などの受信された入力画像７３２と、符号化されたシーン部分７３４と、タイミング情報７３６と、環境メッシュモデル７３８と、ＵＶマップ（複数可）７４０と、第１の補正メッシュ情報７４２、第２の補正メッシュ情報７４４、第３の補正メッシュ情報７４６、第４の補正メッシュ情報７４８、第５の補正メッシュ情報７５０、および第６の補正メッシュ情報７５２を含む複数の補正メッシュ情報の組と、を含む。いくつかの実施形態では、モジュールは、ソフトウェアモジュールとして実装される。他の実施形態では、モジュールは、例えば、個々の回路として、ハードウェアで実施され、各モジュールは、モジュールが対応する機能を実施するための回路として実装される。さらに他の実施形態では、モジュールは、ソフトウェアとハードウェアの組合せを用いて実装される。
【００８８】
[0118] 制御ルーチン７１４は、システム７００の動作を制御するためのデバイス制御ルーチンと通信ルーチンとを含む。区分モジュール７１６は、本発明の特徴に従って、シーンの受信された立体視３６０度バージョンを、Ｎ個のシーン部分へと区分するように構成される。
【００８９】
[0119] エンコーダ（複数可）７１８は、本発明の特徴に従って、例えば、シーンの３６０度バージョンおよび／または１つまたは複数のシーン部分などの受信された画像コンテンツを符号化するように構成された複数のエンコーダを含むことができる、またいくつかの実施形態では含む。いくつかの実施形態では、エンコーダ（複数可）は、複数のエンコーダを含み、各エンコーダは、所与のビットレートストリームをサポートするために、立体視シーン、および／または、区分されたシーン部分を符号化するように構成される。したがって、いくつかの実施形態では、各シーン部分は、各シーンに対する複数の異なるビットレートストリームをサポートするために、複数のエンコーダを用いて符号化され得る。エンコーダ（複数可）７１８の出力は、例えば、再生デバイスなどの顧客デバイスへとストリーミングするために、メモリに記憶される符号化されたシーン部分７３４である。符号化されたコンテンツは、ネットワークインターフェース７１０を介して、１つまたは複数の異なるデバイスへとストリーミングされ得る。
【００９０】
[0120] 検出モジュール７１９は、例えば、第１の立体視カメラ対などの現在のカメラ対からのコンテンツをストリーミングすることから、例えば、第２もしくは第３の立体視カメラ対などの他のカメラ対への、ネットワーク制御された切換えを検出するように構成される。すなわち、検出モジュール７１９は、システム７００が、例えば、第１の立体視カメラ対などの所与の立体視カメラ対により取り込まれた画像を用いて生成されたコンテンツストリームのストリーミングから、他のカメラ対により取り込まれた画像を用いて生成されたコンテンツストリームのストリーミングへと切り換えたかどうかを検出する。いくつかの実施形態では、検出モジュールは、例えば、再生デバイスが、以前に参加されていたコンテンツとは異なるコンテンツストリームに参加されたことを示す、ユーザ再生デバイスからの信号を検出するなど、第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、第２の立体視カメラ対からのコンテンツを含む第２のコンテンツストリームを受信することへのユーザ制御された変更を検出するようにさらに構成される。ストリーミングコントローラ７２０は、例えば、通信ネットワーク１０５上で、符号化された画像コンテンツを１つまたは複数の顧客デバイスに配信するために、符号化されたコンテンツのストリーミングを制御するように構成される。様々な実施形態では、流れ図６００および／または流れ図２３００の様々なステップは、ストリーミングコントローラ７２０の要素によって実装される。
【００９１】
[0121] ストリーミングコントローラ７２０は、要求処理モジュール７２２と、データレート決定モジュール７２４と、現在の頭部位置決定モジュール７２６と、選択モジュール７２８と、ストリーミング制御モジュール７３０とを含む。要求処理モジュール７２２は、顧客再生デバイスからのイメージングコンテンツを求める受信された要求を処理するように構成される。コンテンツを求める要求は、様々な実施形態では、ネットワークインターフェース７１０における受信器により受信される。いくつかの実施形態では、コンテンツを求める要求は、要求する再生デバイスの身元を示す情報を含む。いくつかの実施形態では、コンテンツを求める要求は、顧客再生デバイスによりサポートされるデータレートと、例えば、ヘッドマウントディスプレイの位置などのユーザの現在の頭部位置とを含むことができる。要求処理モジュール７２２は、さらなるアクションをとるために、受信された要求を処理し、取り出された情報をストリーミングコントローラ７２０の他の要素に提供する。コンテンツを求める要求は、データレート情報と、現在の頭部位置情報とを含むことができるが、様々な実施形態では、再生デバイスによりサポートされるデータレートは、ネットワークテスト、および、システム７００と再生デバイスとの間の他のネットワーク情報交換から決定され得る。
【００９２】
[0122] データレート決定モジュール７２４は、イメージングコンテンツを顧客デバイスにストリーミングするために使用され得る利用可能なデータレートを決定するように構成される、例えば、複数の符号化されたシーンがサポートされるので、コンテンツ配信システム７００は、コンテンツを複数のデータレートで顧客デバイスにストリーミングすることをサポートすることができる。データレート決定モジュール７２４は、システム７００からのコンテンツを要求する再生デバイスによりサポートされるデータレートを決定するようにさらに構成される。いくつかの実施形態では、データレート決定モジュール７２４は、ネットワーク測定に基づいて、画像コンテンツの配信のために利用できるデータレートを決定するように構成される。
【００９３】
[0123] 現在の頭部位置決定モジュール７２６は、再生デバイスから受信された情報から、現在の視野角、および／または、例えば、ヘッドマウントディスプレイの位置などのユーザの現在の頭部位置を決定するように構成される。いくつかの実施形態では、再生デバイスは、現在の頭部位置情報をシステム７００に定期的に送り、現在の頭部位置決定モジュール７２６は、現在の視野角および／または現在の頭部位置を決定するために、情報を受け取り、処理する。
【００９４】
[0124] 選択モジュール７２８は、ユーザの現在の視野角／頭部位置情報に基づいて、３６０度のシーンのどの部分を再生デバイスにストリーミングするべきかを決定するように構成される。選択モジュール７２８は、コンテンツのストリーミングをサポートするために利用可能なデータレートに基づいて、決定されたシーン部分の符号化されたバージョンを選択するようにさらに構成される。
【００９５】
[0125] ストリーミング制御モジュール７３０は、本発明の特徴に従って、様々なサポートされたデータレートで、例えば、３６０度の立体視シーンの複数の部分などの画像コンテンツのストリーミングを制御するように構成される。いくつかの実施形態では、ストリーミング制御モジュール７３０は、再生デバイスにおけるシーンメモリを初期化するために、コンテンツを要求する再生デバイスに、３６０度の立体視シーンのＮ個の部分をストリーミングするのを制御するように構成される。様々な実施形態では、ストリーミング制御モジュール７３０は、決定されたシーン部分の選択された符号化されたバージョンを、例えば、決定されたレートで、定期的に送るように構成される。いくつかの実施形態では、ストリーミング制御モジュール７３０は、例えば、毎分１回などの時間間隔に従って、３６０度のシーンの更新を再生デバイスに送るようにさらに構成される。いくつかの実施形態では、３６０度シーンの更新を送ることは、完全な３６０度の立体視シーンのＮ個のシーン部分、または、Ｎ−Ｘ個のシーン部分を送ることを含み、ここにおいて、Ｎは、完全な３６０度の立体視シーンが区分された部分の合計数であり、Ｘは、再生デバイスに最近送られた選択されたシーン部分を表す。いくつかの実施形態では、ストリーミング制御モジュール７３０は、最初に初期化のためにＮ個のシーン部分を送った後、３６０度シーンの更新を送る前に所定時間の間待機する。いくつかの実施形態では、３６０度シーンの更新を送信することを制御するためのタイミング情報は、タイミング情報７３６に含まれる。いくつかの実施形態では、ストリーミング制御モジュール７３０は、リフレッシュ間隔の間に再生デバイスに送信されていないシーン部分を特定し、リフレッシュ間隔の間に再生デバイスに送信されなかった特定されたシーン部分の更新されたバージョンを送信するようにさらに構成される。
【００９６】
[0126] 様々な実施形態では、ストリーミング制御モジュール７３０は、各リフレッシュ期間中に少なくとも１回、再生デバイスが、前記シーンの３６０度バージョンを完全にリフレッシュできるようにするために、定期的に、Ｎ個の部分のうちの少なくとも十分な数を再生デバイスに伝達するように構成される。
【００９７】
[0127] いくつかの実施形態では、ストリーミングコントローラ７２０は、例えば、ネットワークインターフェース７１０内の送信器を介して、例えば、図１３で示されたものなどの立体視カメラ対のカメラなどの１つまたは複数のカメラによって取り込まれた画像コンテンツから生成された符号化された画像を含む立体視コンテンツストリーム（例えば、符号化されたコンテンツストリーム７３４）を送信するよう、システム７００を制御するように構成される。いくつかの実施形態では、ストリーミンコントローラ７２０は、画像コンテンツをレンダリングするのに使用される環境メッシュモデル７３８を、１つまたは複数の再生デバイスに送信するよう、システム７００を制御するように構成される。いくつかの実施形態では、ストリーミングコントローラ７２０は、第１の立体視カメラ対により取り込まれた画像の部分を、画像レンダリング動作の部分として、環境メッシュモデルの一部にマッピングするのに使用されるように、第１のＵＶマップを、再生デバイスへと送信するようさらに構成される。
【００９８】
[0128] 様々な実施形態では、ストリーミングコントローラ７２０は、例えば、第１、第２、第３、第４、第５、第６の補正メッシュ情報などの１つまたは複数の組の補正メッシュ情報を再生デバイスに提供する（例えば、ネットワークインターフェース７１０における送信器を介して送信する）ようにさらに構成される。いくつかの実施形態では、第１の補正メッシュ情報は、第１の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用され、第２の補正メッシュ情報は、第１の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用され、第３の補正メッシュ情報は、第２の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用され、第４の補正メッシュ情報は、第２の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用され、第５の補正メッシュ情報は、第３の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用され、第６の補正メッシュ情報は、第３の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用される。いくつかの実施形態では、ストリーミングコントローラ７２０は、第２の立体視カメラ対により取り込まれたコンテンツが、第１の立体視カメラ対からのコンテンツに代えて、再生デバイスへとストリーミングされたとき、第３および第４の補正メッシュ情報が使用されるべきであることを、例えば、制御信号を送ることにより、再生デバイスに示すようにさらに構成される。いくつかの実施形態では、ストリーミングコントローラ７２０は、ｉ）前記第１の立体視カメラ対から前記第２の立体視対へのストリーミングコンテンツからのネットワーク制御切換え、または、ｉｉ）前記第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、第２の立体視カメラ対からの符号化されたコンテンツを含む第２のコンテンツストリームを受信することへのユーザ制御変更、を検出モジュール７１９が検出することに応じて、第３および第４の補正メッシュ情報が使用されるべきであることを再生デバイスに示すようにさらに構成される。
【００９９】
[0129] メモリ７１２は、環境メッシュモデル７３８と、ＵＶマップ（複数可）７４０と、第１の補正メッシュ情報７４２、第２の補正メッシュ情報７４４、第３の補正メッシュ情報７４６、第４の補正メッシュ情報７４８、第５の補正メッシュ情報７５０、および第６の補正メッシュ情報７５２を含む補正メッシュ情報の組とをさらに含む。システムは、画像コンテンツのレンダリングに使用するために、環境メッシュモデル７３８を１つまたは複数の再生デバイスに提供する。ＵＶマップ（複数可）７４０は、画像レンダリング動作の部分として、第１の立体視カメラ対により取り込まれた画像の部分を、環境メッシュモデル７３８の一部にマッピングするために使用される少なくとも第１のＵＶマップを含む。第１の補正メッシュ情報７４２は、第１の立体視カメラ対の前記第１のカメラの第１のレンズの１つまたは複数の光学特性の測定に基づいて生成された情報を含み、また、第２の補正メッシュは、第１の立体視カメラ対の前記第２のカメラの第２のレンズの１つまたは複数の光学特性の測定に基づいて生成された情報を含む。いくつかの実施形態では、第１および第２の立体視カメラ対は、前方視方向に対応するが、ストリーミングのためにコンテンツが取り込まれている領域またはイベント場所における異なる場所に対応する。
【０１００】
[0130] いくつかの実施形態では、プロセッサ７０８は、流れ図６００および／または２３００で論じられるステップに対応する様々な機能を実施するように構成される。いくつかの実施形態では、プロセッサは、様々な機能を実施しするために、メモリに記憶されたルーチンおよび情報を使用し、また、本発明の方法に従って動作させるようにシステム７００を制御する。一実施形態では、プロセッサ７０８は、第１の補正メッシュ情報と第２の補正メッシュ情報とを再生デバイスに提供するようシステムを制御するように構成され、第１の補正メッシュ情報は、第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものであり、第２の補正メッシュ情報は、第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものである。いくつかの実施形態では、第１の立体視カメラ対は第１の方向に対応しており、プロセッサは、第１および第２のカメラにより取り込まれた画像コンテンツから生成された符号化された画像を含む立体視コンテンツストリームを送信するよう、システム７００を制御するようにさらに構成される。いくつかの実施形態では、プロセッサ７０８は、画像コンテンツをレンダリングするのに使用されるべき環境メッシュモデルを再生デバイスに送信するようにさらに構成される。いくつかの実施形態では、プロセッサ７０８は、画像レンダリング動作の部分として、第１の立体視カメラ対により取り込まれた画像の部分を、環境メッシュモデルの一部にマップするために使用されるべき第１のＵＶマップを、再生デバイスに送信するようにさらに構成される。いくつかの実施形態では、プロセッサ７０８は、第３の補正メッシュ情報と第４の補正メッシュ情報を再生デバイスに提供するようにシステム７００を制御するようさらに構成され、第３の補正メッシュ情報は、第２の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものであり、第４の補正メッシュ情報は、第２の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものである。いくつかの実施形態では、プロセッサ７０８は、第２のカメラ対により取り込まれたコンテンツが、第１のカメラ対からのコンテンツに代えて再生デバイスにストリーミングされるとき、第３および第４の補正メッシュ情報が使用されるべきであることを再生デバイスに示す（例えば、ネットワークインターフェース７１０を介して送信する）ように、システム７００を制御するようさらに構成される。いくつかの実施形態では、プロセッサ７０８は、ｉ）第１の立体視カメラ対から第２の立体視対へ、ストリーミングコンテンスからのネットワーク制御切換え、または、ｉｉ）第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、第２の立体視カメラ対からの符号化されたコンテンツを含む第２のコンテンツストリームを受信することへのユーザ制御変更、をシステムが検出することに応答して、第３および第４の補正メッシュ情報が使用されるべきであることを再生デバイスに示すように、システム７００を制御するようにさらに構成される。��くつかの実施形態では、プロセッサ７０８は、第５および第６の補正メッシュ情報を再生デバイスに提供するように、システム７００を制御するようさらに構成され、第５の補正メッシュ情報は、第３の立体視カメラ対の第１のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものであり、第６の補正メッシュ情報は、第３の立体視カメラ対の第２のカメラにより取り込まれた画像コンテンツをレンダリングするのに使用するためのものである。
【０１０１】
[0131] 図８は、本発明に従って実施されるコンピュータシステム／再生デバイス８００を示しており、それは、図１および図７で示されたものなど、コンテンツ配信システムから受信されたイメージングコンテンツを受信し、復号し、記憶し、表示するために使用され得る。再生デバイスは、ヘッドマウントディスプレイ８０５とすることのできるＯＣＵＬＵＳ  ＲＩＦＴ（登録商標）ＶＲ（仮想現実）ヘッドセットなどの３Ｄヘッドマウントディスプレイと共に使用され得る。デバイス８００は、受信された符号化された画像データを復号して、顧客に表示するための３Ｄ画像コンテンツを生成する能力を含む。いくつかの実施形態では、再生デバイスは、家庭またはオフィスなどの顧客建物内の場所に設けられるが、画像取り込みサイトにも同様に設けられ得る。デバイス８００は、本発明に従って、信号の受信、復号、表示、および／または他の動作を実施することができる。
【０１０２】
[0132] デバイス８００は、ディスプレイ８０２と、表示デバイスインターフェース８０３と、入力デバイス８０４と、入力／出力（Ｉ／Ｏ）インターフェース８０６と、プロセッサ８０８と、ネットワークインターフェース８１０と、メモリ８１２とを含む。再生デバイス８００の様々な構成要素は、システム８００の構成要素間でデータが伝達されることを可能にするバス８０９を介して共に接続される。いくつかの実施形態では、ディスプレイ８０２は、破線の枠を用いて図示された任意選択の要素として含まれているが、いくつかの実施形態では、例えば、ヘッドマウント立体視表示デバイスなどの外部の表示デバイス８０５が、表示デバイスインターフェース８０３を介して再生デバイスに接続され得る。
【０１０３】
[0133] Ｉ／Ｏインターフェース８０６を介して、システム８００は、他のデバイスと信号および／または情報を交換するために外部デバイスに接続され得る。いくつかの実施形態では、Ｉ／Ｏインターフェース８０６を介して、システム８００は、外部デバイスから情報および／または画像を受信し、情報および／または画像を外部デバイスに出力することができる。いくつかの実施形態では、インターフェース８０６を介して、システム８００は、例えば、ハンドヘルドコントローラなどの外部コントローラに接続され得る。
【０１０４】
[0134] 例えば、ＣＰＵなどのプロセッサ８０８は、本発明に従って動作させるようシステム８００を制御するために、メモリ８１２におけるルーチン８１４とモジュールとを実行し、記憶された情報を使用する。プロセッサ８０８は、システム８００の一般的な動作全体を制御することを担当する。様々な実施形態では、プロセッサ１１０８は、再生システム８００により実施されるものとして論じられてきた機能を実施するように構成される。
【０１０５】
[0135] ネットワークインターフェース８１０を介して、システム８００は、例えば、通信ネットワーク１０５などの通信ネットワーク上で、様々な外部デバイスに／から、信号および／または情報（例えば、シーンに対応する符号化された画像および／または映像コンテンツを含む）を伝達し、および／または受信する。いくつかの実施形態では、システムは、コンテンツ配信システム７００から、ネットワークインターフェース８１０を介して、１つまたは複数の異なるカメラにより取り込まれた符号化された画像を含む１つまたは複数のコンテンツストリームを受信する。受信されたコンテンツストリームは、例えば、符号化された画像８２４などの受信された符号化されたデータとして記憶され得る。いくつかの実施形態では、インターフェース８１０は、第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像と、第２のカメラに対応する第２の符号化された画像とを受信するように構成される。ネットワークインターフェース８１０は、受信および送信動作がそれを介して実施される受信器と送信器とを含む。いくつかの実施形態では、インターフェース８１０は、第１の補正メッシュ情報８４２と、第２の補正メッシュ情報８４４と、第３の補正メッシュ情報８４６と、第４の補正メッシュ情報８４８と、第５の補正メッシュ情報８５０と、第６の補正メッシュ情報８５２とを含む複数の異なるカメラに対応する補正メッシュ情報を受信するように構成され、それらは、次いでメモリ８１２に記憶される。さらに、いくつかの実施形態では、インターフェース８１０を介して、システムは、１つまたは複数のマスク（複数可）８３２と、環境メッシュモデル８３８と、ＵＶマップ（複数可）８４０とを受信し、それらは次いでメモリ８１２に記憶される。
【０１０６】
[0136] メモリ８１２は、例えば、ルーチンなどの様々なモジュールを含み、モジュールは、プロセッサ８０８により実行されたとき、本発明に従って復号および出力動作を行うように再生デバイス８００を制御する。メモリ８１２は、制御ルーチン８１４と、コンテンツを求める要求生成モジュール８１６と、頭部位置および／または視野角決定モジュール８１８と、復号器モジュール８２０と、３Ｄ画像生成モジュールとも呼ばれる立体視画像レンダリングエンジン８２２と、決定モジュールと、受信された符号化された画像コンテンツ８２４、復号された画像コンテンツ８２６、３６０度の復号されたシーンバッファ８２８、生成された立体視コンテンツ８３０、マスク（複数可）８３２、環境メッシュモデル８３８、ＵＶマップ（複数可）８４０を含むデータ／情報と、第１の補正メッシュ情報８４２、第２の補正メッシュ情報８４４、第３の補正メッシュ情報８４６、第４の補正メッシュ情報８４８、第５の補正メッシュ情報８５０、および第６の補正メッシュ情報８５２を含む複数の受信された補正メッシュ情報の組と、を含む。
【０１０７】
[0137] 制御ルーチン８１４は、デバイス８００の動作を制御するためのデバイス制御ルーチンと通信ルーチンとを含む。要求生成モジュール８１６は、コンテンツを提供するようにコンテンツ配信システムに送るために、コンテンツを求める要求を生成するように構成される。コンテンツを求める要求は、様々な実施形態では、ネットワークインターフェース８１０を介して送られる。頭部位置および／または視野角決定モジュール８１８は、現在の視野角、および／または、例えば、ヘッドマウントディスプレイの位置などのユーザの現在の頭部位置を決定し、決定された位置および／または視野角情報をコンテンツ配信システム７００に報告するように構成される。いくつかの実施形態では、再生デバイス８００は、現在の頭部位置情報をシステム７００に定期的に送る。
【０１０８】
[0138] 復号器モジュール８２０は、例えば、復号された画像８２６などの復号された画像データを作成するように、コンテンツ配信システム７００から受信された符号化された画像コンテンツ８２４を復号するように構成される。復号された画像データ８２６は、復号された立体視シーンおよび／または復号されたシーン部分を含むことができる。いくつかの実施形態では、復号器８２０は、第１の復号された画像を生成するために第１の符号化された画像を復号し、第２の復号された画像を生成するために第２の受信された符号化された画像を復号するように構成される。復号された第１および第２の画像は、記憶された復号された画像８２６に含まれる。
【０１０９】
[0139] ３Ｄ画像レンダリングエンジン８２２は、ディスプレイ８０２および／または表示デバイス８０５上でユーザに表示するために、本発明の特徴に従って、レンダリング動作（例えば、復号された画像８２６、環境メッシュモデル８３８、ＵＶマップ（複数可）８４０、マスク８３２、および補正メッシュ情報などの、受信されたおよび／またはメモリ８１２内に記憶されたコンテンツおよび情報を用いて）を実施し、３Ｄ画像を生成する。生成された立体視画像コンテンツ８３０は、３Ｄ画像生成エンジン８２２の出力である。様々な実施形態では、レンダリングエンジン８２２は、表示用の第１の画像を生成するために、第１の補正情報８４２と、第１の復号された画像と、環境メッシュモデル８３８とを用いて、第１のレンダリング動作を実施するように構成される。様々な実施形態では、レンダリングエンジン８２２は、表示用の第２の画像を生成するために、第２の補正情報８４４と、第２の復号された画像と、環境メッシュモデル８３８とを用いて、第２のレンダリング動作を実施するようにさらに構成される。いくつかのこのような実施形態では、レンダリングエンジン８２２は、第１および第２のレンダリング動作を実施するために、第１のＵＶマップ（受信されたＵＶマップ（複数可）８４０に含まれる）を使用するようにさらに構成される。第１の補正情報は、第１のカメラのレンズによって第１の画像に導入された歪みを補償するために第１のレンダリング動作が実施されたとき、第１のＵＶマップにおけるノード位置に対して行われる補正に関する情報を提供し、第２の補正情報は、第２のカメラのレンズによって第２の画像に導入された歪みを補償するために第２のレンダリング動作が実施されたとき、第１のＵＶマップにおけるノード位置に対して行われる補正に関する情報を提供する。いくつかの実施形態では、レンダリングエンジン８２２は、第１のレンダリング動作の部分として、第１の画像の部分を環境メッシュモデルの表面に適用するとき、第１のレンダリング動作の部分として、第１の画像の部分が、異なる視界に対応する第１の画像の部分とどのように組み合わされるかを決定するために、第１のマスク（マスク（複数可）８３２に含まれる）を使用するようにさらに構成される。いくつかの実施形態では、レンダリングエンジン８２２は、第２のレンダリング動作の部分として、第２の画像の部分を環境メッシュモデルの表面に適用するとき、第２のレンダリング動作の部分として、第２の画像の部分が、異なる視界に対応する第２の画像の部分とどのように組み合わされるかを決定するために、第１のマスクを使用するようにさらに構成される。生成された立体視画像コンテンツ８３０は、第１および第２のレンダリング動作の結果として生成された第１および第２の画像（例えば、左眼ビューおよび右眼ビューに対応する）を含む。いくつかの実施形態では、異なる視界に対応する第１の画像の部分は、空または地面の視界に対応する。いくつかの実施形態では、第１の画像は、前方視界に対応する左眼画像であり、異なる視界に対応する第１の画像は、前方視界に隣接する側方視界に対応する第３のカメラにより取り込まれた左眼画像である。いくつかの実施形態では、第２��画像は、前方視界に対応する右眼画像であり、異なる視界に対応する第２の画像は、前方視界に隣接する側方視界に対応する第４のカメラにより取り込まれた右眼画像である。したがって、レンダリングエンジン８２２は、３Ｄ画像コンテンツ８３０をディスプレイへとレンダリングする。いくつかの実施形態では、再生デバイス８００の操作者は、入力デバイス８０４により１つまたは複数のパラメータを制御し、および／または、例えば、３Ｄシーンを表示するために選択するなど、実施されるべき動作を選択することができる。
【０１１０】
[0140] ネットワークインターフェース８１０は、再生デバイスが、ストリーミングデバイス１１４からコンテンツを受信し、および／または、イベントにおける特定の見る位置の選択を示すビューヘッド位置および／または位置（カメラ装備）選択などの情報を伝達することを可能にする。いくつかの実施形態では、復号器８２０は、モジュールとして実装される。このような実施形態では、実行されたとき、復号器モジュール８２０は、受信された画像が復号されるようにするが、一方、３Ｄ画像レンダリングエンジン８２２は、本発明に従って画像のさらなる処理を行わせ、表示プロセスの部分として、任意選択で、画像を共に連結（stitch）させる。
【０１１１】
[0141] いくつかの実施形態では、インターフェース８１０は、例えば、第３、第４、第５、および第６のメッシュ補正情報などの複数の異なるカメラに対応する追加のメッシュ補正情報を受信するようにさらに構成される。いくつかの実施形態では、レンダリングエンジン８２２は、第４のカメラに対応する画像をレンダリングするとき、第４のカメラに対応するメッシュ補正情報（例えば、第４のメッシュ補正情報８４８）を使用するようにさらに構成され、第４のカメラは、複数の異なるカメラのうちの１つである。決定モジュール８２３は、カメラで取り込まれた画像コンテンツのどれがレンダリング動作で使用されているかに基づいて、または、受信されたコンテンツストリームに対応する画像をレンダリングするときに、どのメッシュ補正情報が使用されるべきかを示すサーバからの標示に基づいて、レンダリング動作を実施するとき、レンダリングエンジン８２２によってどのメッシュ補正情報が使用されるべきかを決定するように構成される。いくつかの実施形態では、決定モジュール８２３は、レンダリングエンジン８２２の部分として実装され得る。
【０１１２】
[0142] いくつかの実施形態では、図７のメモリ７１２および図８のメモリ８１２で示されたモジュールおよび／または要素は、ソフトウェアモジュールとして実装される。他の実施形態では、モジュールおよび／または要素は、メモリ内に含まれて示されているが、例えば、各要素が、その要素に対応する機能を実施するための回路として実装される個々の回路として、ハードウェアで実施される。さらに他の実施形態では、モジュールおよび／または要素は、ソフトウェアとハードウェアの組合せを用いて実施される。
【０１１３】
[0143] 図７および図８でメモリに含まれるように示されるが、システム７００および８００に含まれて示される要素は、対応するデバイスの、例えば、個々の回路としてプロセッサ内にある、例えば、コンテンツ配信システムの場合にはプロセッサ７０８内にある、再生システム８００の場合にはプロセッサ８０８内にあるハードウェアにおいて全体に実装されることができ、いくつかの実施形態ではそのように実装される。他の実施形態では、要素のいくつかは、対応するプロセッサ７０８および８０８内で、例えば、回路として実施されるが、他の要素は、例えば、プロセッサの外部の、プロセッサに接続された回路として実装される。理解されるように、プロセッサ上でのモジュールの集積レベル、および／または、プロセッサの外部にあるいくつかのモジュールを用いることは、設計選択の１つであり得る。代替的に、回路として実装されるのではなく、要素のすべて、もしくはいくつかのものは、ソフトウェアで実装され、メモリに記憶されることができ、ソフトウェアモジュールは、モジュールが、例えば、プロセッサ７０８および８０８などのそれらのそれぞれのプロセッサにより実行されるとき、モジュールに対応する機能を実装するために、システム７００および８００それぞれの動作を制御する。さらに他の実施形態では、様々な要素は、ハードウェアとソフトウェアの組合せとして実装され、例えば、プロセッサの外部の回路がプロセッサに入力を与え、それは、次いで、ソフトウェアの制御下で、モジュールの機能の一部を実施するように動作する。
【０１１４】
[0144] 図７および図８の実施形態のそれぞれで、例えば、コンピュータなどの単一のプロセッサとして示されているが、プロセッサ７０８および８０８のそれぞれは、例えば、コンピュータなどの１つまたは複数のプロセッサとして実装され得ることを理解されたい。メモリ７１２および８１２内の１つまたは複数の要素が、ソフトウェアモジュールとして実装される場合、モジュールはコードを含み、コードは、対応するシステムのプロセッサ（例えば、プロセッサ７０８および８０８）により実行されたとき、プロセッサを、モジュールに対応する機能を実装するように構成する。図７および図８で示される様々なモジュールがメモリに記憶される実施形態では、メモリは、プロセッサなどの少なくとも１つのコンピュータに、モジュールが対応する機能を実装させるための、例えば、各モジュールのための個々のコードなどのコードを備えるコンピュータが読み取り可能な媒体を備えるコンピュータプログラム製品である。
【０１１５】
[0145] 完全にハードウェアベースの、または、完全にソフトウェアベースのモジュールが使用され得る。しかし、例えば、回路で実装されるモジュールなど、ソフトウェアとハードウェアとの任意の組合せが、機能を実装するために使用され得ることを理解されたい。理解されるように、図７で示されたモジュールは、例えば、流れ図６００、１１００、および２３００に図示されおよび／または記載されたものなどの本発明の方法の対応するステップの機能を実施するために、システム７００、または、プロセッサ７０８などのその中の要素を制御しおよび／または構成する。同様に、図８で示されたモジュールは、例えば、流れ図１２００、２４００、および２５００で図示されおよび／または記載されたものなどの本発明の方法の対応するステップの機能を実施するために、システム８００、または、プロセッサ８０８などのその中の要素を制御しおよび／または構成する。
【０１１６】
[0146] 図９は、流れ図の形で、カメラ較正、画像符号化、およびコンテンツストリーミング方法９００の第１の部分を示している。例示的な方法は、図１で示されたシステム１０４により実装され得る、またいくつかの実施形態では実施される。図９で示される方法は、カメラ装備１０２の各カメラについて、画像処理較正および符号化デバイス１１２により実施される。
【０１１７】
[0147] 方法は、例えば、イベントサイトなどで、カメラが最初にシステム１０４に接続されたとき、ステップ９０２で開始する。ステップ９０４で、カメラ較正動作が、カメラ較正サブルーチンの呼び出しにより開始される。カメラ較正サブルーチンは、装備１０２の各カメラについて呼び出され、立体視対の左カメラおよび右カメラが、個々に較正される。
【０１１８】
[0148] ここで、図１０を簡単に参照すると、ステップ９０４で呼び出され得る例示的な較正サブルーチン１０００が図示されている。カメラ較正ルーチンは、それが呼び出されたとき、ステップ１００２で開始する。動作は、開始ステップ１００２からステップ１００４へと進み、例えば、グリッド上の、または、その近傍にある１つまたは複数の既知の固定されたサイズのオブジェクトを用いて較正されるために、カメラからの固定された既知の距離に位置する較正グリッドなど、１つまたは複数の既知のオブジェクトの画像が撮られる。動作は、次いで、ステップ１００８に進み、較正グリッドおよび／またはオブジェクトに対応する取り込まれた１つまたは複数の画像が、較正中であるカメラにより導入された歪みを検出するように処理される。次いで、ステップ１０１０で、較正測定および検出された画像歪みから、歪み補正メッシュが生成される。補正メッシュは、カメラおよびカメラの部分として含まれる魚眼レンズにより導入された１つまたは複数の歪みを逆転させる（reverse）、または低減するために、画像補正動作の部分として、取り込まれた画像に適用されることができる。メッシュは、取り込まれた画像の「平坦化（flattening）」と考えられ得るものが、画像取り込みプロセスの部分として導入された歪みおよび／または湾曲（curving）を逆転することを可能にする。較正中の個々のカメラについて歪み補正メッシュが作成されると、それは、将来使用するために、および／または、再生デバイスに送信するために記憶され、そして、再生デバイスは、以下で記載されるように、画像の部分を表示する前に、または、シミュレートされた環境に画像を適用する前に、取り込まれた画像に導入された歪みを補正するためにメッシュを使用することができる。
【０１１９】
[0149] いくつかの実施形態では、補正メッシュは、補正メッシュにおける位置が、レギュラーメッシュにおけるノード位置とは異なっている各ノード点についてのオフセット情報を用いて、一様なレギュラーメッシュにおけるノードのノード位置を示すメッシュ情報の組として実装される。このような実施形態は、特に、環境の３Ｄメッシュモデルの対応する部分に画像をマップするためのＵＶマップがレギュラーな構造を有する場合に有用である。例えば、平坦な画像を球などの３ＤメッシュモデルにマップするためのＵＶマップとして使用され得るメッシュを示す図２０を考えてみる。交差する線は、図２０で示されるレギュラーメッシュにおけるノードを表す。図１９で示された補正メッシュは、ＵＶマップとして使用され得る図２０で示されたレギュラーメッシュに対応するノードを含む。ＵＶマップは、少なくともいくつかの実施形態において３Ｄモデルのノードに対応するノードを備えた２Ｄマップを指す。ＵＶマップは、テクスチャと呼ばれることもある２Ｄ画像のどのセクションを、３Ｄモデルの対応するセクション上にラップする（wrap）のかを決定するために使用され得る。
【０１２０】
[0150] 図１９で示される補正メッシュは、１組のノードおよびオフセット情報について表現され得る。Ｕは通常Ｘ軸であるものに相当し、Ｖは通常Ｙ軸であるものに相当する、情報の補正メッシュの組におけるノードについて含まれるＵおよびＶ座標は、指示されたＵおよびＶ座標で生じる図２０のレギュラーメッシュにおける対応するノードを特定するためのノード識別子として働く。したがって、図２０で示されるレギュラーメッシュにおけるノードのＵ座標およびＶ座標は、補正メッシュにおける対応するノードを特定するために使用され得、補正メッシュ情報の組に含まれるオフセット情報は、図２０で示された対応するノードのＵ座標およびＶ座標が、図１９におけるノードの位置になるためにはどのくらい変更されるべきかを示す。ノードについてのオフセット情報は、図２０で示されたレギュラーＵＶマップの対応するノードの位置にそれを置くためには、ノード位置がどのくらい補正され、または調整されなければならないかを示すので、「補正情報（correction information）」と考えられ得る。
【０１２１】
[0151] 図１９は単一の補正メッシュを示すが、補正メッシュはカメラに依存しており、したがって、画像を取り込む各々のカメラについてメッシュ補正情報の別々の組が与えられ、別々の補正メッシュは、立体視カメラ対の左カメラおよび右カメラのそれぞれについて生成されることを理解されたい。図２０で示されるレギュラーＵＶマップはカメラレンズの歪みに依存しないので、同じＵＶマップが、立体視画像対の左眼画像と右眼画像の両方のために使用され得、またいくつかの実施形態ではそのように使用される。
【０１２２】
[0152] 画像を取り込んだ特定のカメラレンズにより導入された歪みを除去するために、左眼もしくは右眼カメラに対応する復号された歪んだ画像が補正されると、それは、図２１で表されたレンダリングステップの部分として、左眼画像および右眼画像ビューについて同じであり得る、またはいくつかの実施形態では同じであるレギュラーＵＶマップを用いて、環境の３Ｄモデルに適用され得る。
【０１２３】
[0153] しかし、いくつかの実施形態では、１つまたは複数の歪み補正された画像の生成は省略され、レンダリング画像は、復号された歪んだカメラビューから３Ｄメッシュモデルに直接マップするために、補正メッシュ情報の組に含まれたオフセット情報と共に、レギュラーＵＶマップにおけるノードの位置に関する情報を用いることを理解されたい。したがって、歪み補正された画像の生成は、本発明の理解を容易にするために示されているが、本発明に対して何ら重要ではなく、歪み補正および３Ｄモジュールへのマッピングが１つの処理動作で行われて、省略されることができる。
【０１２４】
[0154] 図１０を再度参照して、較正情報に基づいてカメラのためにステップ１００４で補正メッシュが生成され、動作は、戻りステップであるステップ１０１２へと進む。
【０１２５】
[0155] 理解されるように、図１０で示される較正プロセスは、立体視コンテンツのストリーミングをサポートするために使用され得るカメラ装備１０２および／または他のカメラ装備の各カメラのために実施されることになり、補正メッシュが、各カメラについて生成され、記憶される。例えば、競技場において、複数のカメラ装備が、様々な場所に配置され得る。再生デバイスに画像を供給するために使用されるカメラ装備は、例えば、どのカメラ位置が、所与の時間に、例えば、主なアクションの最良のビューを提供するかについての編集者の決定に基づいて、サーバ側で切り換えることができる、または、イベントにおける現在のカメラ装備のビューから、異なるカメラ装備の眺望からのアクションを見ることに切り換える要求を伝える再生デバイスのユーザにより切り換えることができる。いずれの場合においても、コンテンツサーバが、コンテンツを再生デバイスに供給するために使用されているカメラ装備および／またはカメラ対を切り換えたとき、コンテンツサーバは、再生デバイスが、コンテンツを供給していたカメラ対に対応する補正情報の組を使用することから、切換えが行われた新しいカメラ位置からコンテンツを供給することになる新しいカメラ対に対応するメッシュ補正情報を用いることへと切り換えるべきであることを、再生デバイスに信号伝達し得る、および、しばしば信号伝達する。
【０１２６】
[0156] 補正メッシュは、ＵＶマップにおけるすべてのノードに対する情報を含むことができるが、いくつかの場合には、レンズ歪みは、ＵＶマップにおける１つまたは複数のノードに関して補正を必要としない可能性がある。このような場合、再生デバイスに送信された補正メッシュ情報の組は、補正メッシュ情報が対応するカメラにより取り込まれた画像の３Ｄモデルの部分に対応するＵＶマップと同じ位置において歪み補正メッシュで生じるノードについての情報を除外することができる。
【０１２７】
[0157] 較正サブルーチン１０００への呼び出しの後、ステップ９０６で、特定の補正メッシュ情報が対応するカメラによって取り込まれる画像コンテンツとともに、または、先だって再生デバイスに供給されるために、プロセスにより作成された、例えば、ノード位置およびオフセット値の形態の補正メッシュ情報の組などの補正メッシュは、メモリに記憶され、ストリーミングデバイス１１４に利用可能になる。
【０１２８】
[0158] 動作は、ステップ９０６から、任意選択のステップであるステップ９０６へと進む。ステップ９０８で、３Ｄ環境マップは、カメラ装備の場所からの環境の距離測定を行うことにより生成される。このような距離測定は、例えば、ＬＩＤＡＲ、および／または、他の距離測定技法を用いて行われ得る。
【０１２９】
[0159] 環境測定は、イベントに先行することができ、将来の使用および／または配布のためにメモリに記憶され得る。例えば、アリーナが１回測定され、次いで、同じ開催地、すなわち、アリーナについて、多くの異なるイベントで取り込まれるコンテンツをストリーミングまたは供給するとき、その測定が使用される。
【０１３０】
[0160] このような測定がない場合、環境は、デフォルトサイズの球であると再生デバイスにより推定され得る、および、いくつかの実施形態において推定される。環境測定は、カメラ装備、したがって装備１０２に設けられたカメラから、環境をシミュレートするために使用されるグリッドメッシュの点に対応する環境における様々な点までの距離に関する情報を提供する。距離測定に基づいて、シミュレートされたメッシュ環境におけるグリッド点は、見る人の場所としての役割を持つ中心点から、遠くに外れるように、または、より近づくように移動され得る。したがって、三角形を用いてモデル化される環境を反映するために使用されるメッシュグリッドやデフォルト形状としての球状は、シミュレートされている環境の実際の測定された形状を反映させるために、伸長される、または、その他の形で変更され得る。
【０１３１】
[0161] ステップ９０８が実施されたときに実施されるステップ９１０では、ステップ９０８で測定された環境を表す情報が記憶される。記憶された環境測定情報は、再生デバイスにストリーミングされる、または、その他伝達されるべき画像を取り込むために使用されるカメラ装備１０２を取り囲む環境形状をシミュレートするために使用されるメッシュにおける諸地点までの距離を調整するために使用され得る、カメラ装備１０２から壁もしくは他の周囲のオブジェクトまでの距離を含む。
【０１３２】
[0162] 構成された装備１０２のカメラと収集された環境情報を用いて、それが使用される場合、動作は、ステップ９１２に進むことを介して、例えば、図１１で示されたルーチン１１００などの画像取り込みおよびコンテンツストリーミングサブルーチンへと進む。画像取り込みは、取り込まれているイベントの継続期間中続き、いくつかの実施形態では、実時間ストリーミングがイベントの間サポートされ、非実時間のコンテンツ配信およびストリーミングが、イベントの完了後にサポートされる。
【０１３３】
[0163] 画像取り込みおよびコンテンツストリーミングサブルーチンを示す図１１は、図９で示された流れ図により呼び出され得るが、ここで詳細に述べられる。図１１で示された方法１１００は、例えば、スポーツイベントまたは音楽演奏などのイベントに対応する画像などの画像を取り込むときであるカメラ較正後に、ルーチンが呼び出されるステップ１１０２で開始する。
【０１３４】
[0164] 開始ステップ１１０２から、動作は、複数の経路に沿って進み、経路は、ステップ１１１４、１１０４、１１０６、１１０８、１１１０、１１１２を伴い、それは、並列に、および、任意選択で非同期に実施され得る。
【０１３５】
[0165] 画像取り込みプロセスの理解を容易にするために、ここで、図１３で示された例示的なカメラ装備への参照がなされる。カメラ装備１３００は、図１のシステムの装備１０２として使用され得、それぞれが３つのセクタのうちの異なる１つに対応する複数の立体視カメラ対を含む。第１の立体視カメラ対１３０１は、第１のカメラ対の場所に位置する人の左眼および右眼で見られるものに相当する画像を取り込むように意図された左眼カメラ１３０２（例えば、第１のカメラ）と、右カメラ１３０４（例えば、第２のカメラ）とを含む。第２の立体視カメラ対１３０５は、第２のセクタに対応し、左および右カメラ１３０６、１３０８を含み、一方、第３の立体視カメラ対１３０９は、第３のセクタに対応し、左および右カメラ１３１０、１３１２を含む。各カメラは、支持構造１３１８において固定位置に設けられる。上方を向いているカメラ１３１４もまた含まれる。図１３では見ることのできない下方を向いているカメラが、カメラ１３１４の下に含まれ得る。いくつかの実施形態では、立体視カメラ対が、上方および下方画像の対を取り込むために使用されるが、他の実施形態では、単一の上方カメラおよび単一の下方カメラが使用される。さらに他の実施形態では、下方画像は、装備の設置以前に取り込まれ、イベントの継続期間の間、静止した地面画像として使用される。このような手法は、地面ビューがイベント中に有意には変化することがないと考えると、多くの用途で満足すべきものになる傾向がある。
【０１３６】
[0166] 装備１３００のカメラの出力が、図１１の方法により取り込まれ、処理されるが、ここでさらに論じる。図１１で示される画像取り込みステップは、通常、画像を取り込むためにカメラ装備１０２のカメラを動作させることにより実施されるが、画像の符号化は、ストリーミング要求に応じてエンコーダ１１２により実施され、コンテンツのストリーミングはストリーミングサーバ１１４により実施される。
【０１３７】
[0167] 下方画像取り込みおよび処理に関する図１１の第１の経路では、ステップ１１１４で、例えば、装備１０２の下など、地面の画像が取り込まれる。これは、装備が下方に向いているカメラを含む場合、装置の設置以前に、または、イベント中に行うことができる。ステップ１１１４から、動作はステップ１１４４へと進み、ステップ１１４５で符号化する前に、取り込まれた画像は縁が切り落とされる。符号化された地面画像は、次いで、コンテンツを求める要求を待って記憶され、その要求には、ステップ１１４６で、１つまたは複数の符号化された画像を、要求しているデバイスに供給することによって応答され得る。
【０１３８】
[0168] ステップ１１０４で開始する、図１１で示される第２の処理経路は、コンテンツを求める要求を処理し、それに応答することに関する。ステップ１１０４で、例えば、コンテンツサーバ１１４により、コンテンツを求める要求のための監視が行われる。ステップ１１２８で、例えば、顧客建物内１０６に設けられたデバイス１２２などの再生デバイスから、コンテンツを求める要求が受信される。
【０１３９】
[0169] コンテンツ要求に応じて、再生デバイスは、ステップ１１３０で、ストリーミングされる画像における補正歪みである情報、および／または、他のレンダリングに関連する情報が提供される。ステップ１１３０で送信された歪み補正情報は、例えば、再生デバイスへと、コンテンツストリームにおいて画像を供給できるカメラごとに１つなど、１つまたは複数の歪み補正メッシュの形態であることができる。いくつかの実施形態では、画像を供給する装備１０２の各カメラについて提供されるカスタムの歪み補正メッシュ情報を伴って、歪み補正メッシュ情報が、再生デバイスに送信され得、また、いくつかの実施形態では、送信される。したがって、３セクタのカメラ対と、上方のカメラ対と、下方を向いているカメラ対とを有する装備の場合、合計１０の歪み補正メッシュが、例えば、カメラごとに１つのメッシュなど、装備のカメラによって取り込まれた画像に対して使用するために、再生デバイスに伝達される。ノード位置が特定され、歪み補正情報の組においてオフセット情報がノードごとに提供されて、歪み補正情報は、上記で論じたように、カメラにより取り込まれた領域に対応するＵＶマップに対応する情報を含むことができる。対応するＵＶマップにおけるノード位置に一致する歪み補正メッシュにおけるノードについて、ノードは歪み補正メッシュにおいて、ＵＶマップと同じ位置に生じるので、指定されるべきオフセットが何もないとき、情報は除外され得る。
【０１４０】
[0170] 図１８は、魚眼レンズを有する対応するカメラにより導入された歪みを補償するために使用され得る例示な補正メッシュ１８００を示す。歪み補正メッシュは、カメラに依存しており、通常、イベントの持続期間中は変化することはないので、歪み補正メッシュは繰り返して送られる必要はないが、イベントに関連付けられたコンテンツストリーミングの開始前に、または開始時に、再生デバイスにより、バッファされる、および／または、その他の形で記憶され得る。しかし、画像を供給するために使用されるカメラ装備が、例えば、別のカメラ場所が、主要なアクションのより良好なビューを提供するという理由など、イベント中に変わり得る場合、複数の異なるカメラ装備のカメラについての歪み補正情報は、再生デバイスへと送信されることができ、再生デバイスは、復号されて、所与の時間に３Ｄモデルにその画像がマッピングされるカメラに対応する歪み補正情報を使用することに留意されたい。再生デバイスは、再生デバイスにより受信された特定の送信された画像について、所与の時間に、どの歪み補正マップを使用すべきかを信号で知らされ得る、および／または、再生デバイスは、ユーザの見ている方向に基づいて、どの歪み補正情報の組を使用すべきか、および、ユーザにより選択されたカメラ位置から知られ得る、所与の時間にどのカメラ装備がコンテンツを提供しているかを決定することができる。例えば、ユーザは、中心フィールド位置からイベントを見るように選択することができ、その場合、中心フィールドにあるカメラ装備が、レンダリングに使用される画像を供給することになる。
【０１４１】
[0171] ステップ１１３０から、動作はステップ１１３２へと進み、ステップ１１３２は、環境マップが生成された場合、および／または、所定のデフォルト設定とは異なる可能性のある他の環境情報が、再生中に、測定された３Ｄ環境をシミュレートするために使用されるように再生デバイスに供給される場合に実施される。
【０１４２】
[0172] したがって、ステップ１１２８および１１３０により、コンテンツを要求する再生デバイスは、３Ｄ環境をシミュレートするのに必要な情報、および／または、マスク情報、および／または、どのカメラフィードおよび／または画像ストリームがシミュレートされる３Ｄ環境のどの部分に対応するかを示す情報などの、３Ｄ環境をレンダリングし、シミュレートするのに必要になり得る他の情報を提供される。
【０１４３】
[0173] 補正メッシュに加えてステップ１１２８で伝達され得るマスクおよび／または画像組合せ情報は、図１４で示される画像部分の組合せを可能にする情報を含む。マスク情報は、アルファ値の組の形態とすることができ、アルファ値は、いくつかの実施形態では、マスクが適用される画像の部分が、３Ｄモデルへと表示される画像に寄与するか否かを制御するために、各画像セグメントのために提供される。
【０１４４】
[0174] 図１３のカメラ装備が使用される場合、セクタのそれぞれは、カメラ装備位置に対して知られた１２０度ビューイング領域に対応しており、異なるセクタの対からの取り込まれた画像は、シミュレートされた３Ｄ環境への画像の知られたマッピングに基づいて、共に継ぎ合わされる。セクタのカメラにより取り込まれた各画像の１２０度部分が通常使用されるが、カメラは、約１８０度のビューイング領域に対応する、より広い画像を取り込む。したがって、取り込まれた画像は、３Ｄ環境シミュレーションの部分として、再生デバイスにおけるマスキングの対象となり得る。図１４は、装備１０２のる装備もカメラ対に対応する環境メッシュ部分を用いて、どのようにして３Ｄ球形環境がシミュレートされ得るかを示す複合図１４００である。１つのメッシュ部分が、装備１０２のセクタのそれぞれについて示されており、空メッシュは、方カメラビューに関して使用され、また、地面メッシュは、下方を向いているカメラにより取り込まれた地面画像のために使用されることを注記する。頂部および底部画像についてのマスクが本来は丸いが、シーン領域の頂部および底部が頂部および底部カメラそれぞれによって供給されるということを考えて、セクタ画像に適用されるマスクは切り取られる。
【０１４５】
[0175] 組み合わされたとき、異なるカメラに対応するメッシュ全体は、図１５で示されるように球形メッシュになる。メッシュは、単一の眼画像用に示されるが、それは、立体視画像対が取り込まれた場合、左眼画像と右眼画像の両方のために使用されることに留意されたい。
【０１４６】
[0176] 図１４で示されるタイプのメッシュおよびマスキング情報は、ステップ１１３０で、再生デバイスに伝達され得るが、時にはそのように伝達される。伝達される情報は、装備の構成に応じて変化することになる。例えば、多数のセクタが使用されるとすれば、各セクタに対応するマスクは、１２０度よりも小さなビューイング領域に対応するはずであり、３を超える環境グリッドが、球の直径をカバーするために必要である。
【０１４７】
[0177] ステップ１１３２で再生デバイスに任意選択で送信された環境マップ情報が示される。環境マップ情報は任意選択のものであり、このような情報が伝達されない場合には、環境は、デフォルトサイズの球であると想定され得る。複数の異なるデフォルトサイズの球がサポートされる場合、どのサイズの球が使用されるべきかに関する指示子が、ステップ１１３２で、再生デバイスに伝達され得、時にはそのように伝達される。
【０１４８】
[0178] 動作は、ステップ１１３２からストリーミングステップ１１４６へと進む。
【０１４９】
[0179] 画像取り込み動作は、特に、カメラ装備１０２により取り込まれ得る３セクタのそれぞれに関するイベント中は継続中に実施され得る。したがって、カメラ装備の第１、第２、および第３のセクタに対応するステップ１１０６、１１０８、および１１１０で開始する処理経路は、それらの内容の点で類似する。
【０１５０】
[0180] ステップ１１０６で、例えば、ステップ１１１６での左眼画像、および、ステップ１１１８での右眼画像などの画像を取り込むために、カメラの第１のセクタ対が動作される。図１６は、ステップ１１０６で取り込まれ得る例示的な画像対を示す。次いで、ステップ１１３４で、取り込まれた画像は縁が切り落とされ、ステップ１１４６においてストリーミングのために利用可能になる前に、ステップ１１３６で符号化される。図１７は、ステップ１１３４で行われることのできるような、図１６の画像の縁を切り落とした例示的な結果を示す。
【０１５１】
[0181] 画像取り込み、縁の切り落とし、および符号化は、ステップ１１３６からステップ１１０６に戻る矢印で示されるように、望ましいフレームレートで、継続中に繰り返される。
【０１５２】
[0182] ステップ１１０８で、例えば、ステップ１１２０における左眼画像、および、ステップ１１２２における右眼画像などの画像を取り込むために、カメラの第２のセクタ対が動作される。取り込まれた画像は、次いで、ステップ１１３８で縁が切り落とされ、ステップ１１４６においてストリーミングに利用可能になる前に、ステップ１１３９で符号化される。ステップ１１３９からステップ１１０８に戻る矢印により示されるように、画像取り込みは、望ましいフレームレートで、継続中に繰り返される。
【０１５３】
[0183] ステップ１１１０で、例えば、ステップ１１２４における左眼画像、および、ステップ１１２６における右眼画像などの画像を取り込むために、カメラの第３のセクタ対が動作される。取り込まれた画像は、次いで、ステップ１１４０で縁を切り落とされ、ステップ１１４６においてストリーミングに利用可能になる前に、ステップ１１４１で符号化される。ステップ１１４１からステップ１１１０に戻る矢印により示されるように、画像取り込みは、望ましいフレームレートで、継続中に繰り返される。
【０１５４】
[0184] ステップ１１１２で、カメラ装備１０２の頂部カメラにより、空画像が取り込まれる。次いで、ステップ１１４２で、画像は、縁が切り取られ、ステップ１１４６においてストリーミングに利用可能になる前に、１１４３で符号化される。地面および空の画像の取り込みは、セクタ画像取り込みと同様に、望ましい場合は継続中に実施されることができ、また、例えば、取り込まれている左眼画像および右眼画像と共になど、立体視的に取り込まれ得る。図１１では、空および地面ビューの例示的な立体視画像取り込みがデータ低減のため回避されるが、それは、これらの画像が、カメラ装備の正面１２０セクタに対応し得る前方の正面ビューよりも多くの場合に重要性が低い傾向があるためである。しかし、いくつかの実施形態では、立体視の空および地面ビューが取り込まれて、実時間で更新される。
【０１５５】
[0185] 異なるセクタに対応する複数のカメラビューが取り込まれるが、画像の取り込みレートは、すべてのセクタに対して同じである必要のないことに留意されたい。例えば、主に演じられている（プレイがされている）フィールドなどに対応する正面を向いているセクタは、他のセクタ、および／または、頂部（空）および底部（地面）ビューに対応するカメラよりも高速のフレームレートで画像を取り込むことができる。
【０１５６】
[0186] ステップ１１４６で、コンテンツを要求している再生デバイスには、１つまたは複数の取り込まれた画像を供給され、再生デバイスは、次いで、取り込まれた画像を処理し、３Ｄ環境をシミュレートするために使用することができる。
【０１５７】
[0187] コンテンツを求める要求に応じてコンテンツが供給されるいくつかの実施形態では、ステップ１１４６は、例えば、再生デバイスがコンテンツストリームを求める要求を送信するのに応じて、要求しているデバイスごとに実施される。その結果、異なるデバイスは、見る人の頭部位置、または、イベントにおける選択された見る位置に応じて、異なるカメラセクタに、または、異なるカメラ装備にさえも対応する異なるコンテンツを供給され得る。このような、見ている位置の情報は、ステップ１１４８で監視され、頭部位置に変化があった場合、または、例えば、ミッドフィールドまたはエンドゾーンなどの見る位置などのユーザにより選択される見る位置の変化があった場合、定期的に再生デバイスから受信され得る。他の実施形態では、コンテンツは、ブロードキャストまたはマルチキャストであり、デバイスは、例えば、ユーザの現在の頭部位置により、または、現在ユーザによって選択されているカメラ位置を、単独で、もしくは、頭部位置情報と組み合わせることにより、所与の時間点でアクセスすることを望むコンテンツを含むコンテンツストリームに接続される。したがって、頭部位置および／またはユーザにより選択されたカメラ位置に関する情報がコンテンツサーバに伝達される場合、コンテンツサーバは、個々のユーザの再生デバイスからの情報に基づいて、画像コンテンツをストリーミングすることができる。ブロードキャストにおいて、サーバは、異なるカメラ対および／またはカメラ装備に対応するコンテンツをストリーミングすることができ、また再生デバイスは、どのブロードキャストまたはマルチキャストコンテンツストリームを、任意の所与に時間に、受信し、処理するかを選択することができる。メッシュ補正情報は、コンテンツストリームにおいて送信される画像を供給するカメラのためのコンテンツストリームにおいて、または、再生デバイスで利用可能な１つまたは複数のコンテンツストリームにおいて受信され得る画像のレンダリングに関連する情報を受信するために再生デバイスによって使用され得る制御または他のチャネル上での帯域外に含まれ得る。
【０１５８】
[0188] ステップ１１５０で、要求しているデバイスが、見る位置をサーバに提供する実施形態では、見る人の頭部位置情報に応じて画像ストリーミングが制御される。例えば、ユーザが、環境のビューイングセクタ１からビューイングセクタ２へと変更した場合、ステップ１１５０で行われた変更の結果として、ステップ１１４６は、セクタ１に代えてセクタ２に対応するコンテンツをユーザにストリーミングするよう変更され得る。すべてのセクタに対応する画像がユーザにストリーミングされてもよいが、帯域幅利用の観点から、ストリームの数を、示された視野角をサポートするのに必要なものに限定することは、帯域幅管理および利用の観点から望ましいことに留意されたい。複数のコンテンツストリームがブロードキャストまたはマルチキャストされ、再生デバイスが、例えば、受信するために、どのストリームに接続するのかを選択する場合、ステップ１１５０は、実施される必要はない。
【０１５９】
[0189] 理解されるように、例えば、ライブイベントに関連する主なアクションの点が、１つのカメラ装備に対応する視界から、他のカメラ装備の視界へと移動したときなど、特定の時間点でコンテンツを供給するために使用されるカメラ装備は切り換えられ得る。例えば、フットボールアクションが、スタジアムの一方のエンドから、他方のエンドへと移動したとき、放送者は、最良のビューが競技全体を通して放送されるように、異なるカメラ装備からコンテンツを供給するように選択することができる。このような場合、放送者は、どのカメラ装備が、送信されているコンテンツストリームでコンテンツを提供するかに関する切換えを制御することができる。コンテンツストリームでコンテンツを供給するために使用されるカメラにおいて切換えが行われるとき、所与の時間に画像を供給するカメラに対応する補正メッシュ情報を使用するように、コンテンツストリームを受信する再生デバイスに変更を信号で知らせることは有用である。ステップ１１５１で、使用される補正メッシュが、ストリーミングされている画像を提供するソースカメラに適合するように、再生デバイスが、どの補正メッシュが使用されるべきかを切り換えるべきであることを示す信号が、再生デバイスに送られる。例えば、再生デバイスは、サーバが、第１のカメラ対に対応する画像をストリーミングすることから、第２のカメラ対に対応する画像を再生デバイスにストリーミングすることに切り換えたとき、第１のカメラ対に対応する補正メッシュを使用することから、第２のカメラ対に対応する補正メッシュを使用することに切り換えるように信号で知らせる。
【０１６０】
[0190] 再生デバイスからのフィードバック情報の受信をすると、そのような情報がサーバに提供される実施形態では、画像のストリーミングが、イベントに持続期間の間継続される、または、ユニキャストのコンテンツ配信の場合、再生デバイスとのセッションが終了するまで継続する。
【０１６１】
[0191] コンテンツを配信し、どの補正メッシュを使用すべきかに関する情報を提供する継続中のプロセスは、コンテンツストリーミングが継続して続けられることを示すステップ１１５１からステップ１１４６に戻る矢印によって表されるが、ステップ１１４６からステップ１１５１までは、画像が取り込まれ、ストリーミングされると反復して実施され、画像取り込み、符号化、およびストリーミングステップが、継続して繰り返される。
【０１６２】
[0192] いくつかの実施形態では、システム１０４により実施される画像取り込み、符号化および送信プロセスについて説明してきたが、例えば、図８で示されるデバイス１２２またはデバイス８００など、例示的な再生デバイスの動作が、ここで、図１２を参照して述べられる。
【０１６３】
[0193] 図１２は、例示的な一実施形態に従って図１のシステムで使用され得る、再生デバイスまたはシステムを動作させる方法１２００を示している。方法１２００は、開始ステップ１２０２で開始する。ステップ１２０４で、再生デバイスは、コンテンツを求める要求を、例えば、図１のストリーミングサーバに送信する。再生デバイスは、次いで、ステップ１２０６で、図１１のステップ１１２８、１１３０、および１１３２で送信され得る、また時には送信される情報を含む様々な情報を受信する。例えば、ステップ１１２６で、再生デバイスは、そこから画像部分が受信され得る各カメラのそれぞれについての補正メッシュを指定する情報を受信することができ、また時には受信し、さらに、カメラ出力に関して使用されるべき画像マスク情報が、例えば、環境マップなどのシミュレートされる環境に関する情報および／またはシミュレートされた３Ｄ環境を生成するために使用すべき、もしくは使用され得る異なるカメラ出力に対応する環境メッシュ部分についての情報などの他の情報と共に受信され得る。したがって、ステップ１２０６で、再生デバイスは、図１８で示された例示的な補正メッシュなどの、各カメラについての補正メッシュと共に、図１４で示されたメッシュおよびマスク情報を受信することができる。
【０１６４】
[0194] ステップ１２０６で受信された情報は、必要に応じて、使用するためにメモリに記憶され得る。
【０１６５】
[0195] 動作は、ステップ１２０６からステップ１２０８へと進み、例えば、再生デバイスに取り付けられたヘッドマウントディスプレイから、見る人の頭部位置が受信されるか、または、頭部位置は、再生デバイスにより視覚的に、または、その他の形で頭部位置を追跡することにより決定される。ステップ１２０９で、見る人の頭部位置が与えられるとするとストリーミングされるべき適切なカメラ画像を選択するために使用され得る情報をコンテンツサーバに提供するために、見る人の頭部位置がコンテンツサーバに送信される。
【０１６６】
[0196] ステップ１２１０で、見る人に選択された頭部位置が、例えば、ユーザ制御入力を介して、再生デバイスにより受信される。この入力は、例えば、カメラ装備が設けられた、例えば、ミッドフィールドの見る位置や１つまたは複数のエンドフィールドもしくはゴールの見る位置などの複数の異なるイベントの見る人の位置の間で、ユーザが選択可能とされる実施形態で受信され得る。
【０１６７】
[0197] ステップ１２１１で、見る人に選択された位置が、サーバに伝達される。ステップ１２０８およびステップ１２０９は、定期的に、または、報告すべき見る人の頭部位置における変化があるときは常に繰り返される。ステップ１２１０およびステップ１２１１は、定期的に行われ得るが、例えば、スポーツイベントまたはコンサートにおける異なる座席に対応するなど、ユーザが異なる位置に切り換えることを望む決定を行ったとき、通常、ユーザの制御下で実施される。
【０１６８】
[0198] ステップ１２０９およびステップ１２１１は、帯域幅を浪費せず、すべてのカメラ出力を再生デバイスに送信しなければならないことを回避するために、再生デバイスに供給するカメラ出力ストリームのサブセットを選択するためにサーバにより使用され得る情報を、サーバに提供することを理解されたい。
【０１６９】
[0199] 継続中に実施されるステップ１２１３で、例えば、図１７で示されるものなどのセクタの左眼画像および右眼画像の例示的な復号された画像を生成するために、装備１０２の１つまたは複数のカメラに対応する符号化された画像が受信され、復号される。
【０１７０】
[0200] 動作は、ステップ１２１４からステップ１２１５に進み、復号された画像に対応するマスクが、復号された画像に適用される。適用され得るマスクは、図１４で示されており、マスクは、マスキングを受ける対象である画像が対応する３Ｄ環境の一部に応じて適用される。ステップ１２１５におけるマスキングの後、復号された画像に対応する補正メッシュが、補正された画像を作成するために適用される。図１９は、処理されている画像を取り込んだカメラにより導入された歪みを反転または補償するために使用される変形動作の部分として、図１８で示された補正メッシュの画像への例示的な適用を示す。
【０１７１】
[0201] 図２０は、図１９で示された画像に補正メッシュを適用した結果を示す。理解されるように、補正メッシュは、立体視画像対の左眼画像と右眼画像の両方に適用されることになる。したがって、図２０では、例えば、画像を取り込むために使用された左眼カメラおよび右眼カメラのそれぞれに対応する補正メッシュを使用することにより、対の両方の画像が、補正されていることが示されている。
【０１７２】
[0202] 復号された画像の補正の後、いくつかの実施形態では、補正された画像の関連する部分は、３６０度のシミュレートされた環境の対応するビューイング領域部分にマップされる。マッピングは、３Ｄビューイング体験を提供するために表示され得る別々の右眼画像と左眼画像とを生成するために、左眼画像および右眼画像について実施される。補正画像のシミュレートされた環境グリッドへの適用の前に画像が取り込まれる環境をより正確に反映するように、マッピングは、任意選択で、デフォルトの環境グリッドを歪ませるために環境マップ情報を使用することができる。左眼画像および右眼画像について実施されるステップ１２１４、１２１５、および１２１６が別々のステップとして記載されるが、それらは、単一のレンダリング動作へと組み合わせることができ、その場合、レンダリングエンジンは、マスク情報と、特定の眼の画像に対応するメッシュ補正情報と、使用されている３Ｄメッシュモジュールに画像をマップするために使用される未補正のＵＶマップにおけるノードの位置を示すＵＶマップ情報とを使用することを理解されたい。このように、利用可能な複数の入力を用いることにより、レンダリングエンジンは、復号された左眼画像および右眼画像の別個の補正されたバージョンを生成することを必要とせず、復号された左眼画像および右眼画像データを、３Ｄメッシュモジュールの対応する部分へと直接マップすることができる。これは、望ましい場合、画像の部分が、連続して処理され、レンダリングされることを可能にする。この手法は、左眼画像のどの部分が３Ｄモデルにマップされるべきかを決定するためにマスクを使用し、および、出力される左眼画像を生成するために、左眼画像を供給したカメラに対応するメッシュ補正情報と、復号された左眼画像が、どのように環境の３Ｄメッシュモデルにマップされるべきかを決定するためのＵＶマップとの組合せを使用して、復号された左眼画像から表示するための左眼画像を生成するレンダリングエンジンを用いたいくつかの実施形態で使用される。同じレンダリング手法が、右眼画像のどの部分が３Ｄモデルにマップされるべきかを決定するためにマスクを使用し、右眼画像のためのカメラに依存するメッシュ補正情報と、表示のための右眼出力画像を生成するために、復号された右眼画像が、どのように環境の３Ｄメッシュモデルにマップされるべきかを決定するためのＵＶマップとの組合せを使用して、復号された右眼画像から表示するために右眼画像をレンダリングするこのような実施形態で使用される。メッシュ補正情報はカメラに依存するので、左眼画像および右眼画像をレンダリングするために、異なるメッシュ補正情報が使用される。しかし、レンダリングに使用されるＵＶマップおよび３Ｄモデルは、レンダリングされる画像をどのカメラが取り込んだかに依存しないので、同じＵＶマップおよび３Ｄモデルが、左眼画像と右眼画像の両方をレンダリングするために使用ことができ、またいくつかの実施形態では使用する。
【０１７３】
[0203] ステップ１１２０で、いくつかの実施形態では、３Ｄビューイング体験を有する画像のビューが得られる奥行き情報を提供する左眼画像と右眼画像の差をもった、別々の左眼画像および右眼画像が出力されることを理解されたい。レンズに依存する歪みに対する補正を、コンテンツをストリーミングするサーバではなく、再生デバイスで実施することにより、画像を取り込むのに使用された個々のレンズにより導入された歪みを除去する試みにおいて、符号化に先立ち画像が前処理される実装形態と比較して、エッジ部が良好に保存され、符号化アーティファクトが回避される。
【０１７４】
[0204] 図２１は、第１のセクタに対応する画像部分の、３Ｄビューイング環境を表す球の対応する１２０度部分へのマッピングを示している。
【０１７５】
[0205] ステップ１２１６で、３６０度環境の異なる部分に対応する画像が、例えば、頭部位置に応じて、連続するビューイング領域を見る人に提供するために必要とされる範囲を組み合わされる。例えば、ステップ１２１８で、見る人が、２つの１２０度セクタの交差部分を見ている場合、各セクタに対応する画像部分が見られ、シミュレートされている３Ｄ環境全体における各画像の知られた角度および位置に基づいて、見る人に一緒に提示される。画像の外観および生成は、立体視実装形態の場合に、眼ごとに１つの２つの別々の画像が生成されるように、左眼および右眼ビューのそれぞれについて実施される。
【０１７６】
[0206] 図２２は、３６０度ビューイング環境を作成するために、複数の、復号され、補正され、および、縁が切り落とされた画像が、どのように共にマップされ、見えることができ、また時には見えるかを示す。
【０１７７】
[0207] ステップ１２２０で、マップされた画像は、ユーザにより見るために、表示デバイスへと出力される。理解されるように、表示される画像は、受信された画像に基づいて、および／または、頭部位置またはユーザに選択された見る人の位置の変化のため、時間が経過すると変化することになり、立体視画像の場合、別々の左眼画像および右眼画像が、ユーザの左眼および右眼のそれぞれに対して別個の表示のために生成される。
【０１７８】
[0208] 図２３は、例示的な実施形態に従って、画像コンテンツを提供する例示的な方法のステップを示す流れ図２３００である。流れ図２３００の方法は、カメラ装備１０２／１３００により取り込まれた画像コンテンツを受信できるコンテンツ配信システム１０４／７００により実装される。
【０１７９】
[0209] 方法はステップ２３０２で開始し、例えば、配信システムに電源が投入され、初期化される。方法は、ステップ２３０２から２３０４に進む。ステップ２３０４で、コンテンツ配信システム７００は、メモリに、画像コンテンツを取り込むために使用された１つまたは複数の立体視カメラ対、例えば、画像取り込み装置１０２／１３００で使用されるカメラ対、についてのメッシュ補正情報を記憶する。いくつかの実施形態では、メッシュ補正情報を記憶するステップ２３０４は、ステップ２３０６、２３０８、２３１０、２３１２、２３１４、および、２３１６のうちの１つまたは複数のものを含む。ステップ２３０６では、第１の立体視カメラ対の第１のカメラのための第１の補正情報が記憶される。ステップ２３０８で、第１の立体視カメラ対の第２のカメラのための第２の補正メッシュ情報が記憶される。いくつかの実施形態では、第１の立体視カメラ対は、画像取り込み装置１０２／１３００の部分であり、第１の方向に対応する。ステップ２３１０で、第２の立体視カメラ対の第１のカメラのための第３のメッシュ補正情報が記憶される。ステップ２３１２で、第２の立体視カメラ対の第２のカメラのための第４の補正メッシュ情報が記憶される。ステップ２３１４で、第３の立体視カメラ対の第１のカメラのための第５のメッシュ補正情報が記憶される。ステップ２３１６で、第３の立体視カメラの第２のカメラための第５の補正メッシュ情報が記憶される。
【０１８０】
[0210] 動作は、ステップ２３０４からステップ２３１８へと進む。ステップ２３１８で、サーバ（例えば、システム７００でストリーミングコントローラ７２０として実装され得るストリーミングサーバ１１４）は、画像コンテンツをレンダリングするのに使用される環境メッシュモデルを、例えば、１つまたは複数のコンテンツレンダリングおよび再生デバイスに送信するように動作される。動作は、ステップ２３１８からステップ２３２０に進む。ステップ２３２０で、サーバは、画像レンダリング動作の部分として、１つまたは複数の立体視カメラ対により取り込まれた画像部分を環境メッシュモデルの部分にマップするために使用される１つまたは複数のＵＶマップを、再生デバイスに送信するように動作される。いくつかの実施形態では、サーバは、画像レンダリング動作の部分として、第１の立体視カメラ対により取り込まれた画像の部分を環境メッシュモデルの一部にマップするために使用される第１のＵＶマップを送信するように動作される。
【０１８１】
[0211] 動作は、ステップ２３２０からステップ２３２２へと進む。ステップ２３２２で、第１の立体視カメラ対の第１および第２のカメラにより取り込まれた画像コンテンツから生成され、符号化された画像を含む立体視コンテンツストリームが、再生デバイスに送信される。動作は、ステップ２３２２からステップ２３２４へと進む。ステップ２３２４で、コンテンツ配信システムは、第１の補正メッシュ情報と第２の補正メッシュ情報とを再生デバイスに提供し、第１の補正メッシュ情報は、第１のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、第２の補正メッシュ情報は、第２のカメラにより取り込まれた画像コンテンツをレンダリングすることに使用するためのものである。
【０１８２】
[0212] 動作は、ステップ２３２４から接続点Ａ２３２６を経由して、ステップ２３２８へと進む。ステップ２３２８で、コンテンツ配信システムは、第３および第４の補正メッシュ情報の組を再生デバイスに提供し、第３の補正メッシュ情報は、第２の立体視カメラ対の第１のカメラによって取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、第４の補正メッシュ情報は、第２の立体視カメラ対の第２のカメラによって取り込まれた画像コンテンツをレンダリングすることに使用するためのものである。いくつかの実施形態では、第１および第２の立体視カメラ対は、前方視方向に対応するが、コンテンツがストリーミングのために取り込まれている領域またはイベント場所における異なる場所に対応する。動作は、ステップ２３２８からステップ２３３０に進む。ステップ２３３０で、コンテンツ配信システムは、第５および第６の補正メッシュ情報を再生デバイスに提供し、第５の補正メッシュ情報は、第３の立体視カメラ対の第１のカメラによって取り込まれた画像コンテンツをレンダリングすることに使用するためのものであり、第６の補正メッシュ情報は、第３の立体視カメラ対の第２のカメラによって取り込まれた画像コンテンツをレンダリングすることに使用するためのものである。
【０１８３】
[0213] 動作は、ステップ２３３０から任意選択である２３３２に進む。ステップ２３３２で、システム７００は、第１の立体視カメラ対により取り込まれたコンテンツが、再生デバイスにストリーミングされたとき、第１および第２の補正メッシュ情報が使用されるべきであることを再生デバイスに示す。その標示は、再生デバイスに送られたコンテンツストリーム内にあることができ、または、システム７００からの別の制御信号によることもできる。いくつかの実施形態では、第１のカメラ対のカメラによって取り込まれた画像コンテンツを含んだコンテンツストリームが、１つまたは複数の再生デバイスに送られるべきデフォルトのコンテンツストリームとして使用される。しかし、これは変更されることができ、他の立体視カメラ対により取り込まれた画像コンテンツを伝達するコンテンツストリームが、異なる時間に再生デバイスに提供され得る。いくつかの実施形態では、複数の立体視カメラ対（例えば、第１、第２、第３の立体視カメラ対）により取り込まれた画像コンテンツを伝達するコンテンツストリームが、再生デバイスに提供され、再生デバイスは、次いで、所与の時間にどのストリーム（複数可）に接続すべきかを選択することができる。動作は、ステップ２３３２からステップ２３３４および２３３６へと進み、それらのステップは、並列に、独立して実施される。いくつかの実施形態では、ステップ２３３４およびステップ２３３６は、２つの異なる代替形態であり、２つのステップのうちの一方だけが実施される。ステップ２３３４で、第１の立体視カメラ対から第２の立体視カメラ対に、コンテンツをストリーミングすることからのネットワークで制御された切換えが検出され、例えば、以前に提供されていた第１の立体視カメラ対からではなく、第２の立体視カメラ対に対応するコンテンツ送りが再生デバイスに提供されることを示す。動作は、ステップ２３３４からステップ２３３８へと進む。
【０１８４】
[0214] ステップ２３３６で、第１の立体視カメラ対からのコンテンツを含む第１のコンテンツストリームを受信することから、第２の立体視カメラ対からの符号化されたコンテンツを含む第２のコンテンツストリームを受信することへのユーザに制御された変更が、システム７００により検出される。動作は、ステップ２３３６からステップ２３３８へと進む。
【０１８５】
[0215] ステップ２３３８で、システムは、第２のカメラ対により取り込まれたコンテンツが、第１のカメラ対からのコンテンツに代えて再生デバイスにストリーミングされるとき、および／または、第２のカメラ対により取り込まれたコンテンツが、再生デバイスによるレンダリングおよび再生のために使用されているとき、第３および第４の補正メッシュ情報が使用されるべきであることを再生デバイスに示す。いくつかの実施形態では、ステップ２３３８は、破線枠により示されるように、任意選択のものである。このような実施形態では、ステップ２３３４および２３３６に関して論じられたものなどの切換えを検出すると、ステップ２３３８に関して記載されたような標示は、システム７００により提供されない。このような実施形態では、再生デバイスは、どのカメラ対のコンテンツストリームのために、どの補正メッシュ情報の組を使用すべきかに関して解決するために、補正メッシュ情報とカメラ対の間のマッピングを知っている。
【０１８６】
[0216] 動作は、ステップ２３３８からステップ２３４０およびステップ２３４２へと進む。いくつかの実施形態では、ステップ２３４０およびステップ２３４２は、２つの異なる代替形態であり、２つのステップの一方だけが実施される。ステップ２３４０で、第２の立体視カメラ対から第３の立体視カメラへのコンテンツをストリーミングすることからのネットワークで制御された切換えが検出され、例えば、以前に提供されていた第２の立体視カメラ対からのものではなく、第３の立体視カメラ対に対応するコンテンツ送りが、再生デバイスに提供されるべきであることを示す。動作は、ステップ２３４０からステップ２３４２へと進む。
【０１８７】
[0217] ステップ２３４２で、第２の立体視カメラ対からのコンテンツを含むコンテンツストリームを受信することから、第３の立体視カメラ対からのコンテンツを含むコンテンツストリームを受信することへの、ユーザに制御された変更が、システム７００により検出される。動作は、ステップ２３４２から、いくつかの実施形態では任意選択のものであるステップ２３４４へと進む。
【０１８８】
[0218] ステップ２３４４で、システムは、第３のカメラ対により取り込まれたコンテンツが再生デバイスにストリーミングされるとき、および／または、第３のカメラ対により取り込まれたコンテンツが再生デバイスによりレンダリングおよび再生するために使用されているとき、第５および第６の補正メッシュ情報が、レンダリングを行うために使用されるべきであることを、再生デバイスに示す。
【０１８９】
[0219] 図２４は、例えば、立体視再生方法の部分として、左眼画像および右眼画像をレンダリングし、表示するために、例えば、図８で示されたデバイス８００などのコンテンツ再生デバイスなどのコンテンツ再生デバイスを動作させる方法２４００を示す。立体視再生の場合、異なる左眼画像および右眼画像がユーザに表示され、例えば、いくつかの場合、ディスプレイの異なる部分が使用されて、ユーザの左眼が左眼画像を見て、右眼が右眼画像を見るような方法で、左眼画像および右眼画像を提示する。
再生中にどのようにして画像が生成されるかの理解を容易にするので、再生方法の論議中に、図１４への参照が行われる。
【０１９０】
[0220] 方法は、例えば、再生ルーチンが再生デバイスのプロセッサにより実行されるとき、ステップ２４０２で開始する。動作は、ステップ２４０２からステップ２４０４へと進む。ステップ２４０４で、再生デバイスは、異なる視界に対応するメッシュを備えた、例えば、３Ｄメッシュモデルなどの環境モデルを受信する。例えば、受信されたメッシュは、前方正面ビューに対応するメッシュ（０ビューメッシュ）と、左後方ビューに対応するメッシュ（１−ビューメッシュ）と、右後方ビューに対応するメッシュ（２−ビューメッシュ）とを含むことができ、また時には含む。前方メッシュビューおよび後方ビューメッシュに加えて、３Ｄモデルは、空（頂部）メッシュと、底部（地面）メッシュモデルとを含むことができる。使用されるメッシュに対応する画像コンテンツは、テクスチャとして使用することができ、異なるストリームでなど、別々に送られ得、時には別々に送られる。ステップ２４０６で、３Ｄモデルが記憶される。動作は、ステップ２４０６からステップ２４０８へと進み、１つまたは複数のＵＶマップ、例えば、３Ｄモデルの一部を形成する各メッシュに１つのＵＶマップが対応して、再生デバイスにより受信される。例えば、いくつかの実施形態では、ステップ２４０８で、複数のＵＶマップが、画像を環境モデルにマップするために使用されるべく受信される。ＵＶマップの各面は、３Ｄメッシュモデルの面に対応し、同じ視界に対応する画像コンテンツとＵＶマップとの３Ｄモデルの対応する部分へのマッピングを制御するために使用される。このようなマッピングは、レンダリングエンジンによって実装され得、いくつかの実施形態では実施される。ＵＶマップは図１４に示されないが、各メッシュ部分に対応するＵＶマップがある。例えば、ステップ２４０８で、前方正面ビューＵＶマップと、右後方ビューＵＶマップと、左後方ビューＵＶマップと、頂部ビューＵＶマップと、底部ビューＵＶマップとが受信される。ＵＶマップおよびモデルは、レンズの欠陥、または、立体視対のレンズ間の製造許容差により生じ得る差に依存しないので、単一のＵＶマップが、見る方向に対応する左眼画像と右眼画像の両方のために使用され得る。
【０１９１】
[0221] ステップ２４１０で、受信されたＵＶマップは、例えば、受信された画像部分を、テクスチャとして環境の３Ｄモデルの表面にラッピングする（wrapping）のを容易にするため、画像レンダリングで使用するために、記憶される。
【０１９２】
[0222] 動作は、ステップ２４１０から２４１２へと進む。ステップ２４１２で、１つまたは複数のマスクが受信される。例えば、いくつかの実施形態では、複数のマスク、カメラによって取り込まれ得る異なる視界のそれぞれについて１つのマスク、が、ステップ２４０８で受信される。例えば、取り込まれ得る頂部、前方、底部、左後方、および、右後方の視界のそれぞれのための別々のマスクを示す図１４を考える。マスクは、実施され得るレンダリングまたはブレンド動作中に画像の組合せを制御するアルファ値の組として実装され得る。フレームの中心における画像部分がラップされるテクスチャとして使用され、マスクされる領域が３Ｄモデルの対応する部分上にラップされるテクスチャに寄与しないように、アルファ値は、マスクされる領域についてゼロに設定されることができる。
【０１９３】
[0223] マスクは、ステップ２４１４で記憶される。動作は、ステップ２４１４から２４１６へと進む。ステップ２４１６で、例えば、環境モデルの表面へのテクスチャとしての適用のための画像を供給できるカメラ毎に１組のメッシュ補正情報など、メッシュ補正情報の複数の組が受信される。上記で述べるように、メッシュ補正情報は、カメラレンズに依存しており、個々のカメラレンズにより導入された歪みを考慮に入れる。メッシュ補正情報は、適用されているメッシュ補正情報として、同じ視界に対応するＵＶマップにおける値または情報への調整を行うために適用されるべきＵＶマップ変更情報を含むことができ、いくつかの実施形態では含む。したがって、メッシュ補正情報は、レンダリングの間に実装される、カメラにより取り込まれた画像からの３Ｄモデルへのマッピングをカスタマイズすることができ、ＵＶマップが生成されたときに考慮されていない歪みが補償され得る。一実施形態では、ステップ２４１６では、メッシュ補正情報がある。立体視カメラ対は、正面、右後方、および、左後方のビューを取り込むために使用され、したがって、ステップ２４１６で、立体視カメラ対あたり２つのカメラが使用されて、使用される６個のカメラのそれぞれについて補正メッシュが受信され。いくつかの実施形態では、頂部および底部ビューは、立体視で取り込まれない。頂部および底部ビューが立体視である場合、別々の補正メッシュが、使用される左眼および右眼カメラのそれぞれのために受信される。ステップ２４１６では、特定のこの例において、頂部および底部ビューが立体視で取り込まれないものと想定して、頂部ビューメッシュ補正情報の１組および底部ビューメッシュ補正情報の１組だけが述べられる。したがって、ステップ２４１６で、例えば、前方を見ている立体視カメラ対の左眼カメラなどの第１のカメラに対応する第１の補正情報が受信される。ステップ２４１６で、また、第２のメッシュ補正情報が受信され、第２のメッシュ補正情報は、いくつかの実施形態では、前方を見ている立体視カメラ対の右眼カメラに対応する。ステップ２４１６で、複数の異なるカメラに対応する追加のメッシュ補正情報を受信することができ、また時には受信する。
【０１９４】
[0224] 画像を供給するために、異なる度に、異なるカメラ装備が使用され得ることを理解されたい。このような場合、ステップ２４１６で、メッシュ補正情報は、異なるカメラ装備のカメラに対して受信される。レンダリング中に、メッシュ補正情報のどの組が使用されるかは、コンテンツを供給したどのカメラがレンダリングのために使用されているかに依存する。コンテンツストリームにおいてどのカメラが画像コンテンツを供給したかに関する情報は、再生デバイスが、画像を取り込んだカメラに対応する補正メッシュを特定できるように、ビデオコンテンツストリームに含まれ得る。いくつかの実施形態では、コンテンツを提供するサーバは、所与の時間に、どの補正メッシュを使用すべきかを再生デバイスに指示する信号を、再生デバイスに送り、サーバは、コンテンツを供給するためにどのカメラ（複数可）が使用されるかに関して変更がなされたときに、再生デバイスが補正情報の１つの組を使用することから、補正情報の他の組へと切り換えるべきであることを示す。
【０１９５】
[0225] ステップ２４１８で、受信された補正メッシュは、再生デバイスに記憶される。したがって、ステップ２４１８では、複数の異なるカメラに対応する追加のメッシュ補正情報が、他の受信されたメッシュ補正情報と共に記憶され得る。補正メッシュ情報および他の情報が記憶されると、記憶された情報は、必要に応じてアクセスされ、レンダリングエンジンに供給され得る。
【０１９６】
[0226] 動作はステップ２４１８から接続点２４２０を経由してステップ２４２２へと進む。ステップ２４２２で、各視界に対応する少なくとも１つの画像が受信される。これらは、最初に画像バッファに在留し、初期３Ｄビューを生成するために使用されるデフォルト画像とすることができる。
【０１９７】
[0227] ステップ２４２４で、受信された画像は復号され、次いで、ステップ２４２６で、画像は、例えば、レンダリング動作での使用のために記憶される。画像が受信されると、初期の画像は、より最近の画像と置き換えることができる。理解されるように、環境の異なるセクションに対応する画像は、異なるレートで更新され得る、すなわち、受信され得る。
【０１９８】
[0228] 動作はステップ２４２６からステップ２４２８に進み、ユーザの頭部位置、例えば、見る方向などが、例えば、ヘッドマウントディスプレイにおけるセンサからの情報に基づいて決定される。いくつかの実施形態では、頭部位置は、ステップ２４３０で示されるように、コンテンツを再生デバイスに供給するサーバに報告される。しかし、他の実施形態では、頭部位置情報は報告されないが、どのブロードキャストまたはマルチキャストコンテンツストリームを受信すべきかを決定する、および／または、３Ｄ環境のどの部分が所与の時間に再生デバイス上でユーザに表示されるべきかを決定するために、再生システムによって使用される。
【０１９９】
[0229] 動作はステップ２４２８もしくはステップ２４３０（実装される場合）から、ステップ２４３２へと進む。ステップ２４３２で、再生デバイスは、例えば、１つまたは複数のコンテンツストリームなどの画像を受信する。例えば、コンテンツサーバから、受信されたコンテンツストリームは、１つまたは複数の視界に対応する画像を伝達する。一実施形態では、ステップ２４３２で、前方を見ている立体視対の、例えば、左眼カメラなど、第１のカメラにより取り込まれた画像コンテンツを含む第１の符号化された画像が、第１の立体視対の第２の（右）カメラにより取り込まれた第２の画像と共に受信される。このような実施形態では、ステップ２４３２で、第１の立体視カメラ対の例えば、右眼カメラなどの第２のカメラにより取り込まれたコンテンツを含む第２の符号化された画像も受信される。コンテンツストリームの受信は、再生デバイスが特定のコンテンツストリームを要求し、ユニキャスト配信によりコンテンツを受信した結果であることができ、または、再生デバイスがアリーナもしくは他の３Ｄ環境におけるスポーツ競技などのイベントに対応する画像を提供する１つまたは複数のストリームのマルチキャストまたはブロードキャストを受信した結果であることができる。
【０２００】
[0230] 動作はステップ２４３２からステップ２４３４へと進む。必ずしもすべてではないが、いくつかの実施形態で実施されるステップ２４３４で、再生デバイスは、再生デバイスに供給されている画像について、メッシュ補正情報のどの組または複数の組を使用すべきかを示す情報を受信する。メッシュ補正指示情報は、レンダリング中に、画像の特定された組を使用するとき、メッシュ補正情報の特定の組として使用するためのコマンドもしくは命令の形をとる、あるいは、再生デバイスが、受信されている画像のソースであるカメラに対応するメッシュ補正情報の組を特定し、使用できるように、供給されている画像がどのカメラで取り込まれたかに関する標示の形をとることができる。
【０２０１】
[0231] 動作は、ステップ２４３４からステップ２４３６へと進み、受信された画像が復号される。したがって、第１のカメラからの第１の符号化された画像が受信された場合、第１の符号化された画像は、ステップ２４３６で、第１の復号された画像を生成するために復号される。理解されるように、立体視画像コンテンツの場合、左眼画像および右眼画像が受信され、立体視フレームごとに復号され得る。したがって、ステップ２４３６で、例えば、第１の立体視対の第２のカメラからの第２の画像などの右眼画像が同様に復号される。ステップ２４３８で、３Ｄ環境モデルの表面に適用されるテクスチャとしての使用のために、復号された画像は記憶される。
【０２０２】
[0232] 動作は、ステップ２４３８からステップ２４４０へと進み、例えば、ユーザの検出された頭部位置により示されたユーザの視界に対応するなど、左眼画像および右眼画像をレンダリングすることにおいて、どの復号された画像および補正マップ情報を使用すべきかに関して決定がなされる。通常、同じ時刻に対応する画像がレンダリングにおいて使用されることになるが、異なる視界に対応する画像が異なる時間に受信される場合、３Ｄモデル全体の一部に対応するフレームの、例えば、最後に受信されたバージョンなどのより古いバージョンが、完全な画像がレンダリングされ得るように、ユーザの主要な視界内でより最近受信されたフレームと組み合わせて使用され得る。
【０２０３】
[0233] いくつかの実施形態では、左眼画像および右眼画像は別々にレンダリングされるが、ユーザの左眼がレンダリングされた左眼画像を見て、ユーザの右眼がレンダリングされた右眼画像を見るように、それらが立体視フレーム対として共にユーザに表示され得る場合であってさえでもある。ステップ２４４２で、例えば、図２５で示されるように、左眼画像をレンダリングするために、レンダリングルーチンへの呼び出しが行われる。
【０２０４】
[0234] 左眼画像をレンダリングすることの部分として、ステップ２５０８で、レンダリング画像は、例えば、左眼画像などの表示のための第１の画像を生成するために、第１のメッシュ補正情報と、例えば、前方左眼画像などの第１の復号された画像と、環境メッシュモデルとを用いてレンダリング動作を実施することができる。加えて、第１のマスクは、当該第１のレンダリング動作の部分として、当該第１の画像の部分が、異なる視界に対応する他の画像の部分とどのように組み合わされるかを決定するために使用され得る。例えば、異なるカメラから得られた画像が重複する場合、重複する画像の１つまたは複数の部分が、レンダリング動作の部分として当該第１の画像の部分を環境メッシュモジュールの表面に適用することによって生成されている画像への寄与しないようにするために、マスクが使用され得る。ゼロのアルファ値が、メッシュに適用されるべきでない画像の部分のために割り当てられ、使用され、それにより、その寄与がゼロになるようにレンダリングすることができる。
【０２０５】
[0235] レンダリングされている立体視画像対の右眼画像をレンダリングするため、ステップ２４４４で、右眼画像をレンダリングするために、レンダリングルーチンへの呼び出しが行われる。したがって、ステップ２４４４で、第２のレンダリング動作が、表示のための第２の画像を生成するため、メッシュ補正情報の第２の組と、第２の復号された画像と、環境メッシュモジュールとを用いて実施される。視界の左眼画像に使用されるのと同じマスクが、同じ視界に対応する右眼ビューのためのレンダリング中に使用され得る。したがって、いくつかの実施形態では、左眼画像をレンダリングするために使用される第１のマスクは、右眼画像をレンダリングするために使用される第２のレンダリング動作の部分として、前記第２の画像の部分が、異なる、例えば、重複する、視界に対応する第２の画像の部分とどのように組み合わされるかを決定するために使用される。
【０２０６】
[0236] 理解されるように、時間の経過と共に、図２４および図２５のステップは、数回繰り返される。後の反復は、例えば、第１の立体視対と同じ、または異なるカメラ装備上にある異なる立体視カメラ対に対応する第４および第５のカメラなど、異なるカメラからの画像の使用を含んでよい。したがって、ステップ２４４４が第２の時間、または後の時間に実施される場合、第４のカメラに対応する画像をレンダリングするときに第４のカメラに対応するメッシュ補正情報を求めることを含むことができ、また時には含むが、その場合、前記第４のカメラは、そのための補正メッシュ情報が受信される複数の異なるカメラのうちの１つとすることができ、また時にはそうである。
【０２０７】
[0237] 次いで、ステップ２４４６で、左眼画像および右眼画像が、ディスプレイを用いてユーザに表示され、それは、ユーザの左眼が左眼画像を見て、またユーザの右眼が右眼画像を見る結果となる。
【０２０８】
[0238] 動作は、ステップ２４４６からステップ２４２８へと進み、追加の画像が受信され、処理され得るようにし、ユーザは、例えば、イベントの持続期間にわたり、継続して立体視画像が提供される。
【０２０９】
[0239] ここで、図２５で示される画像レンダリングルーチン２５００が論じられる。ルーチンは、左眼画像および右眼画像をレンダリングするために呼び出され得る。レンダリングされる左眼画像および右眼画像の対は、ユーザにより見られたとき、ユーザが異なる左眼画像および右眼画像を見ることにより、奥行き感を担うことになる立体視フレームを表す。
【０２１０】
[0240] レンダリングルーチン２５００は、例えば、ルーチン２４００により、画像をレンダリングするために呼び出されたとき、ステップ２５０２で開始する。ステップ２５０４で、レンダリングエンジン８２２などのレンダリングエンジンは、例えば、異なる視界に対応する複数のメッシュモデルと、異なる視界に対応するＵＶマップと、異なる視界に対応するマスクとを備える３Ｄメッシュモデルなどの環境モデルをロードされる。レンダラにロードされる情報は、ＵＶマップを除く様々な情報の要素を示している図１４の文脈で容易に理解され得る。上記で論じたように、この情報は、左眼画像と右眼画像の両方をレンダリングするために使用されることができ、立体視カメラの対の個々のカメラレンズに特有のものである歪みに依存しない可能性がある。
【０２１１】
[0241] ロードされた環境モデルおよびＵＶマップをもって、動作はステップ２５０６へと進む。ステップ２５０６では、レンダリングエンジンは、カメラに依存する環境メッシュ補正情報が供給される。したがって、ステップ２５０６で、レンダリングエンジンは、レンダリング動作で使用される画像部分を取り込むために使用されたカメラに対応する補正メッシュ情報が供給される。例えば、左眼画像がレンダリングされる場合、ステップ２５０６で、レンダリングエンジンは、環境の左眼画像部分を取り込んだカメラに対応するメッシュ補正情報を受信する。同様に、右眼画像がレンダリングされる場合、ステップ２５０６で、レンダリングエンジンは、環境の右眼画像部分を取り込んだカメラに対応するメッシュ補正情報を受信する。特定の視界について単一のカメラが使用されたとしたら、その単一のカメラに対応する歪み補正メッシュが、左眼ビューと右眼ビューの両方をレンダリングするために使用される。
【０２１２】
[0242] いくつかの実施形態では、ステップ２５０６は、レンダリング動作で使用されている画像コンテンツをどのカメラが取り込んだかに基づいて、または、受信されたコンテンツストリームに対応する画像をレンダリングするときに、どのメッシュ補正情報が使用されるべきかを示すサーバからの標示に基づいて、レンダリング動作を実施するときにどのメッシュ補正情報を使用すべきかを決定することを含む。
【０２１３】
[0243] ３Ｄモデルの異なる部分に対応する画像がロードされると、ステップ２５０８で、メッシュ補正情報の受信された組に含まれるメッシュ補正情報により補正されて、ＵＶマップ情報に基づいて３Ｄモデルの表面に画像の部分を適用することにより出力画像を生成するために、レンダリングエンジンは動作される。例えば、ＵＶマップにおける、例えば、ノードなど、頂点（vertex）の位置は、レンダリングプロセスの部分として３Ｄ環境モデルの表面にテクスチャをラップするために使用される前に、受信された補正情報に従って調整され得る。レンダリング中に、受信された画像のどの部分がラッピング動作において使用されるかを決定するために、受信されたマスクが使用される。ゲームシステムで使用されるものなどのレンダリングエンジンは、記載された入力および補正情報に基づいてレンダリングを実装するために使用され得る。
【０２１４】
[0244] ステップ２５０８で実施されるレンダリング動作は、生成されるべき立体視画像対の左眼画像および右眼画像のそれぞれについて実施されるレンダリング動作でもって、左眼画像または右眼画像が環境の３Ｄモデルの表面にラップされるかどうかに応じて、ユーザの示された視界に対応する左眼または右眼出力画像を作成する。
【０２１５】
[0245] ステップ２５０８で生成された画像が、ステップ２５１０で表示のために出力される。ステップ２５１２は停止ステップとして示されているが、これは、単に、画像のレンダリングが完了したことを示しており、レンダリングルーチン２５００は、例えば、一度に１つの画像など、必要に応じて左眼画像および右眼画像をレンダリングするために複数回呼び出され得ることを理解されたい。
【０２１６】
[0246] ステップは、例示的な順序で示されているが、多くの場合、ステップの順序は、動作に悪影響を与えることなく、変更され得ることを理解されたい。したがって、ステップの例示的な順序が適正な動作のために必要でない限り、ステップの順序は、限定されることのない、例示的なものであると見なされるべきである。
【０２１７】
[0247] いくつかの実施形態は、立体視ビデオを符号化し、圧縮するために、コンピュータまたは他のデバイスを制御するための、例えば、コンピュータで実行可能な命令など、ソフトウェア命令の組を包含する非一時的なコンピュータが読み出し可能な媒体を対象とする。他の実施形態は、再生装置側で、ビデオを復号し、解凍するようにコンピュータまたは他のデバイスを制御するための、例えば、コンピュータで実行可能な命令など、ソフトウェア命令の組を包含するコンピュータが読み出し可能な媒体を対象とする。符号化および圧縮が、可能な別々の動作として述べられているが、符号化は、圧縮を実施するために使用されることができ、したがって、符号化は、いくつかの場合、圧縮を含むことができることを理解されたい。同様に、復号は、解凍を含むことができる。
【０２１８】
[0248] 様々な実施形態の技法は、ソフトウェア、ハードウェア、および／または、ソフトウェアとハードウェアの組合せを用いて実装され得る。様々な実施形態は、例えば、画像データ処理システムなどの装置に向けられている。様々な実施形態は、また、例えば、画像データを処理する方法などの方法に向けられている。様々な実施形態は、また、方法の１つまたは複数のステップを実装するようにマシンを制御するためのマシンが読み取り可能な命令を含む、例えば、ＲＯＭ、ＲＡＭ、ＣＤ、ハードディスクなどの、コンピュータなどの非一時的なマシンが読み取り可能な媒体に向けられている。
【０２１９】
[0249] 本発明の様々な特徴は、モジュールを用いて実装される。このようなモジュールは、ソフトウェアモジュールとして実装されることができ、いくつかの実施形態では、ソフトウェアモジュールとして実装される。他の実施形態では、モジュールは、ハードウェアで実装される。さらに他の実施形態では、モジュールは、ソフトウェアとハードウェアの組合せを用いて実装される。いくつかの実施形態では、モジュールは、個々の回路として実装され、各モジュールは、そのモジュールが対応する機能を実施するための回路として実装される。異なるモジュールが、例えば、ハードウェアでのいくつか、ソフトウェアでのいくつか、および、ハードウェアとソフトウェアの組合せを用いるいくつかなど、異なって実装されるいくつかの実施形態を含む、広範囲な様々の実施形態が企図される。ルーチンおよび／またはサブルーチン、または、このようなルーチンによって実施されるステップのいくつかは、汎用のプロセッサ上で実行されるソフトウェアとは対照的に、専用のハードウェアに実装され得ることにも留意されたい。このような実施形態は、本発明の範囲内に留まる。上述の方法、または、方法ステップの多くは、上述の方法のすべて、または、部分を実施するために、例えば、追加のハードウェアを有する、もしくは有しない汎用コンピュータなどのマシンを制御するように、例えば、ＲＡＭ、フロッピー（登録商標）ディスクなどのメモリデバイスなどのマシンが読み取り可能な媒体に含まれる、ソフトウェアなどのマシンが実行可能な命令を用いて実装され得る。したがって、他のこともある中で、本発明は、例えば、プロセッサや関連するハードウェアなどのマシンに、上記で述べた方法（複数可）のステップの１つまたは複数のものを実施させるために、マシンが実行可能な命令を含むマシンが読み出し可能な媒体に向けられる。
【０２２０】
[0250] 上記で述べた様々な実施形態の方法および装置に関する数多くの追加の変形形態が、上の記載に鑑みて当業者には明らかであろう。そのような変形形態も、本範囲に含まれるものと見なされるべきである。
【図１】
2017535985.tif 000003
【図２Ａ】
2017535985.tif 000004
【図２Ｂ】
2017535985.tif 000005
【図２Ｃ】
2017535985.tif 000006
【図３】
2017535985.tif 000007
【図４】
2017535985.tif 000008
【図５】
2017535985.tif 000009
【図６】
2017535985.tif 000010
【図７】
2017535985.tif 000011
【図８】
2017535985.tif 000012
【図９】
2017535985.tif 000013
【図１０】
2017535985.tif 000014
【図１１】
2017535985.tif 000015
【図１２】
2017535985.tif 000016
【図１３】
2017535985.tif 000017
【図１４】
2017535985.tif 000018
【図１５】
2017535985.tif 000019
【図１６】
2017535985.tif 000020
【図１７】
2017535985.tif 000021
【図１８】
2017535985.tif 000022
【図１９】
2017535985.tif 000023
【図２０】
2017535985.tif 000024
【図２１】
2017535985.tif 000025
【図２２】
2017535985.tif 000026
【図２３】
2017535985.tif 000027
【図２３Ａ】
2017535985.tif 000028
【図２３Ｂ】
2017535985.tif 000029
【図２４】
2017535985.tif 000030
【図２４Ａ】
2017535985.tif 000031
【図２４Ｂ】
2017535985.tif 000032
【図２５】
2017535985.tif 000033
【国際調査報告】
2017535985.tif 000034