IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ グーグル インコーポレイテッドの特許一覧

特許7005712圧縮された画像を生成するための方法、システムおよび媒体
<>
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図1
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図2
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図3
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図4
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図5
  • 特許-圧縮された画像を生成するための方法、システムおよび媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-07
(45)【発行日】2022-01-24
(54)【発明の名称】圧縮された画像を生成するための方法、システムおよび媒体
(51)【国際特許分類】
   G06T 17/10 20060101AFI20220114BHJP
【FI】
G06T17/10
【請求項の数】 21
【外国語出願】
(21)【出願番号】P 2020150528
(22)【出願日】2020-09-08
(65)【公開番号】P2021111335
(43)【公開日】2021-08-02
【審査請求日】2020-12-21
(31)【優先権主張番号】16/736,469
(32)【優先日】2020-01-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ライアン・オーバーベック
【審査官】片岡 利延
(56)【参考文献】
【文献】米国特許出願公開第2021/0250571(US,A1)
【文献】MICHAEL BROXTON et al.,Immersive Light Field Video with a Layered Mesh Representation,[online],2020年07月,https://augmentedperception.github.io/deepviewvideo/
【文献】TINGHUI ZHOU et al.,Stereo Magnification: Learning view synthesis using multiplane images,[online],2018年05月,https://arxiv.org/abs/1805.09817
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/10
(57)【特許請求の範囲】
【請求項1】
圧縮された画像を生成するための、コンピュータによって実施される方法であって、前記方法は、
3次元の画像を表す多平面画像(MPI:multi-plane image)を識別することを含み
、前記MPIは複数の正対する平面を含み、
記方法は、さらに、
複数のサブボリュームに前記MPIを分割することを含み、前記複数のサブボリュームにおける各前記サブボリュームは、前記複数の正対する平面のサブセットを含み、
前記方法は、さらに、
前記MPIの各前記サブボリュームに対して深度マップを算出することと、
各前記深度マップをメッシュに変換することとを含み、各前記メッシュは、レンダリングされる多深度画像(MDI:multi-depth image)に関連付けられた複数のレイヤーのうちのレイヤーに対応し
記方法は、さらに、
前記複数のレイヤーの各前記レイヤーに対して、RGBA(Red-Green-Blue-Alpha)テクスチャ値を算出することと、
前記MDIの前記複数のレイヤーに対応する前記メッシュ、および、前記MDIの前記複数のレイヤーに対応する前記画像を、前記MDIとして格納することと
を含む、方法。
【請求項2】
前記複数の正対する平面の各々は、前記複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、および/または、
各前記深度マップは、前記MDIの前記対応するレイヤーに含まれる、前記MDIの各ボクセルの位置ならびに深度を示し、前記MDIに関連付けられた前記複数のレイヤーにおけるレイヤーの数は、前記MPIに関連付けられた前記複数の正対する平面に含まれる正対する平面の数よりも小さく、および/または、
ユーザー装置から前記3次元の画像に対する要求を受信することに応答して前記ユーザー装置に前記MDIを伝達し、前記ユーザー装置は、前記MDIの各前記レイヤーに対して、当該レイヤーに対応する前記メッシュ上に、テクスチャとしての、当該レイヤーに対応する前記画像をマッピングすることにより前記MDIをレンダリングするように構成されている、請求項1に記載の方法。
【請求項3】
MPI画像のシーケンスに対応する、MDI画像のシーケンスを生成することをさらに含み、MPI画像の前記シーケンスは、3次元の動画コンテンツに対応する、請求項1または請求項2に記載の方法。
【請求項4】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを用いて前記MDIをレンダリングすることにより生成されるレンダリング誤差を最小化することにより、前記複数のサブボリュームを生成する複数のカットを最適化することを含む、請求項1~請求項3のいずれか1項に記載の方法。
【請求項5】
前記レンダリング誤差は、前記複数のカットのうちのカットを用いて前記MDIをレンダリングすることから結果として生ずる深度における誤差を示す単一項を含み、または、
前記レンダリング誤差は、前記複数のカットのうちのカットの平滑度を示す平滑度項を含み、前記平滑度は、当該カットに対応する前記サブボリュームに含まれるボクセルにわたる平滑度を含む、請求項に記載の方法。
【請求項6】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを生成する複数のカットを識別するために、訓練されたニューラルネットワークを用いることを含む、請求項1~請求項5のいずれか1項に記載の方法。
【請求項7】
前記MDIの各前記レイヤーに対応する各前記メッシュは、三角形のメッシュである、請求項1~請求項6のいずれか1項に記載の方法。
【請求項8】
圧縮された画像を生成するためのシステムであって、前記システムは、
ハードウェアプロセッサを備え、前記ハードウェアプロセッサは、
3次元の画像を表す多平面画像(MPI)を識別するように構成されており、前記MPIは複数の正対する平面を含み
記ハードウェアプロセッサは、さらに、
複数のサブボリュームに前記MPIを分割するように構成されており、前記複数のサブボリュームにおける各前記サブボリュームは、前記複数の正対する平面のサブセットを含み、
前記ハードウェアプロセッサは、さらに、
前記MPIの各前記サブボリュームに対して深度マップを算出し、
各前記深度マップをメッシュに変換するように構成されており、各前記メッシュは、レンダリングされる多深度画像(MDI)に関連付けられた複数のレイヤーのうちのレイヤーに対応し
記ハードウェアプロセッサは、さらに、
前記複数のレイヤーの各前記レイヤーに対して、RGBA(Red-Green-Blue-Alpha)テクスチャ値を算出し、
前記MDIの前記複数のレイヤーに対応する前記メッシュと、前記MDIの前記複数のレイヤーに対応する前記画像とを前記MDIとして格納するように構成される、システム。
【請求項9】
前記複数の正対する平面の各々は、前記複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、および/または、
各前記深度マップは、前記MDIの前記対応するレイヤーに含まれる、前記MDIの各ボクセルの位置ならびに深度を示し、前記MDIに関連付けられた前記複数のレイヤーにおけるレイヤーの数は、前記MPIに関連付けられた前記複数の正対する平面に含まれる正対する平面の数よりも小さく、および/または、
ユーザー装置から前記3次元の画像に対する要求を受信することに応答して前記ユーザー装置に前記MDIを伝達し、前記ユーザー装置は、前記MDIの各前記レイヤーに対して、当該レイヤーに対応する前記メッシュ上に、テクスチャとしての、当該レイヤーに対応する前記画像をマッピングすることにより前記MDIをレンダリングするように構成されている、請求項8に記載のシステム。
【請求項10】
前記ハードウェアプロセッサは、MPI画像のシーケンスに対応する、MDI画像のシーケンスを生成するようにさらに構成されており、MPI画像の前記シーケンスは、3次元の動画コンテンツに対応する、請求項8または請求項9に記載のシステム。
【請求項11】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを用いて前記MDIをレンダリングすることにより生成されるレンダリング誤差を最小化することにより、前記複数のサブボリュームを生成する複数のカットを最適化することを含む、請求項8~請求項10のいずれか1項に記載のシステム。
【請求項12】
前記レンダリング誤差は、前記複数のカットのうちのカットを用いて前記MDIをレンダリングすることから結果として生ずる深度における誤差を示す単一項を含み、または、
前記レンダリング誤差は、前記複数のカットのうちのカットの平滑度を示す平滑度項を含み、前記平滑度は、当該カットに対応する前記サブボリュームに含まれるボクセルにわたる平滑度を含む、請求項11に記載のシステム。
【請求項13】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを生成する複数のカットを識別するために、訓練されたニューラルネットワークを用いることを含む、請求項8~請求項12のいずれか1項に記載のシステム。
【請求項14】
前記MDIの各前記レイヤーに対応する各前記メッシュは、三角形のメッシュである、請求項8~請求項13のいずれか1項に記載のシステム。
【請求項15】
コンピュータ実行可能な命令を含むプログラムであって、前記命令は、プロセッサにより実行されると、前記プロセッサに、圧縮された画像を生成するための方法を行わせ、前記方法は、
3次元の画像を表す多平面画像(MPI)を識別することを含み、前記MPIは複数の正対する平面を含み
記方法は、さらに、
複数のサブボリュームに前記MPIを分割することを含み、前記複数のサブボリュームにおける各前記サブボリュームは、前記複数の正対する平面のサブセットを含み、
前記方法は、さらに、
前記MPIの各前記サブボリュームに対して深度マップを算出することと、
各前記深度マップをメッシュに変換することとを含み、各前記メッシュは、レンダリングされる多深度画像(MDI)に関連付けられた複数のレイヤーのうちのレイヤーに対応し
記方法は、さらに、
前記複数のレイヤーの各前記レイヤーに対して、当該レイヤーに含まれる各ボクセルの色および透過度を示す画像を算出することと、
前記MDIの前記複数のレイヤーに対応する前記メッシュ、および、前記MDIの前記複数のレイヤーに対応する前記画像を、前記MDIとして格納することとを含む、プログラム。
【請求項16】
前記方法は、MPI画像のシーケンスに対応する、MDI画像のシーケンスを生成することをさらに含み、MPI画像の前記シーケンスは、3次元の動画コンテンツに対応する、請求項15に記載のプログラム。
【請求項17】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを用いて前記MDIをレンダリングすることにより生成されるレンダリング誤差を最小化することにより、前記複数のサブボリュームを生成する複数のカットを最適化することを含む、請求項15または請求項16に記載のプログラム。
【請求項18】
前記レンダリング誤差は、前記複数のカットのうちのカットを用いて前記MDIをレンダリングすることから結果として生ずる深度における誤差を示す単一項を含む、請求項17に記載のプログラム。
【請求項19】
前記レンダリング誤差は、前記複数のカットのうちのカットの平滑度を示す平滑度項を含み、前記平滑度は、当該カットに対応する前記サブボリュームに含まれるボクセルにわたる平滑度を含む、請求項17に記載のプログラム。
【請求項20】
前記複数のサブボリュームに前記MPIを分割することは、前記複数のサブボリュームを生成する複数のカットを識別するために、訓練されたニューラルネットワークを用いることを含む、請求項15~請求項19のいずれか1項に記載のプログラム。
【請求項21】
前記MDIの各前記レイヤーに対応する各前記メッシュは、三角形のメッシュである、請求項15~請求項20のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
開示される主題は、圧縮された画像を生成するための方法、システムおよび媒体に関する。より特定的には、開示される主題は、多深度画像、または多平面画像の圧縮された表現を生成することに関する。
【背景技術】
【0002】
背景
仮想現実コンテンツ、および他の3次元または没入型のコンテンツの拡散に伴い、ユーザーは、レンダリングするための比較的リソース集約的なコンテンツをダウンロード、ストリーミングおよび視聴することにますます興味を持っている。例えば、3次元の動画または画像は、サーバー上で比較的大きいファイルとして格納され得る。しかしながら、これらの大きいファイルは、格納することが困難であるか、または厄介であり得る。追加的に、いくつかの場合において、3次元のコンテンツは、当該3次元のコンテンツを形成するためにその後に重ねられるかまたは合成される複数のレイヤーを含むファイルとして格納され得る。そのようなコンテンツは、ユーザー装置上でレンダリングするためにリソース集約的であり得る。
【0003】
したがって、圧縮された画像を生成するための、新たな方法、システムおよび媒体を提供することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
圧縮された画像を生成するための、方法、システムおよび媒体が提供される。
【0005】
開示される主題のいくつかの実施形態に従うと、圧縮された画像を生成するための方法が提供され、当該方法は、3次元の画像を表す多平面画像(MPI:multi-plane image)を識別することを含み、MPIは複数の正対する平面を含み、各正対する平面は、当該複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、当該方法は、さらに、複数のサブボリュームにMPIを分割することを含み、当該複数のサブボリュームにおける各サブボリュームは、当該複数の正対する平面のサブセットを含み、当該方法は、さらに、MPIの各サブボリュームに対して深度マップを算出することと、各深度マップをメッシュに変換することとを含み、各メッシュは、レンダリングされる多深度画像(MDI:multi-depth image)に関連付けられた複数のレイヤーのうちのレイヤーに対応し、各深度マップは、MDIの対応するレイヤーに含まれる、MDIの各ボクセルの位置および深度を示し、MDIに関連付けられた当該複数のレイヤーにおけるレイヤーの数は、MPIに関連付けられた当該複数の正対する平面に含まれる正対する平面の数よりも小さく、当該方法は、さらに、当該複数のレイヤーの各レイヤーに対して、当該レイヤーに含まれる各ボクセルの色および透過度を示す画像を算出することと、MDIの当該複数のレイヤーに対応するメッシュ、および、MDIの当該複数のレイヤーに対応する画像を、MDIとして格納することと、ユーザー装置から3次元の画像に対する要求を受信することに応答して当該ユーザー装置にMDIを伝達することとを含み、当該ユーザー装置は、MDIの各レイヤーに対して、当該レイヤーに対応するメッシュ上に、テクスチャとしての、当該レイヤーに対応する画像をマッピングすることによりMDIをレンダリングするように構成されている。
【0006】
いくつかの実施形態において、当該方法は、MPI画像のシーケンスに対応する、MDI画像のシーケンスを生成することをさらに含み、MPI画像のシーケンスは、3次元の動画コンテンツに対応する。
【0007】
いくつかの実施形態において、当該複数のサブボリュームにMPIを分割することは、当該複数のサブボリュームを用いてMDIをレンダリングすることにより生成されるレンダリング誤差を最小化することにより、当該複数のサブボリュームを生成する複数のカットを最適化することを含む。
【0008】
いくつかの実施形態において、レンダリング誤差は、当該複数のカットのうちのカットを用いてMDIをレンダリングすることから結果として生ずる深度における誤差を示す単一項を含む。
【0009】
いくつかの実施形態において、レンダリング誤差は、当該複数のカットのうちのカットの平滑度を示す平滑度項を含み、当該平滑度は、当該カットに対応するサブボリュームに含まれるボクセルにわたる平滑度を含む。
【0010】
いくつかの実施形態において、当該複数のサブボリュームにMPIを分割することは、当該複数のサブボリュームを生成する複数のカットを識別するために、訓練されたニューラルネットワークを用いることを含む。
【0011】
いくつかの実施形態において、MDIの各レイヤーに対応する各メッシュは、三角形のメッシュである。
【0012】
開示される主題のいくつかの実施形態に従うと、圧縮された画像を生成するためのシステムが提供され、当該システムは、ハードウェアプロセッサを備え、当該ハードウェアプロセッサは、3次元の画像を表す多平面画像(MPI)を識別するように構成されており、MPIは複数の正対する平面を含み、各正対する平面は、当該複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、当該ハードウェアプロセッサは、さらに、複数のサブボリュームにMPIを分割するように構成されており、当該複数のサブボリュームにおける各サブボリュームは、当該複数の正対する平面のサブセットを含み、当該ハードウェアプロセッサは、さらに、MPIの各サブボリュームに対して深度マップを算出し、各深度マップをメッシュに変換するように構成されており、各メッシュは、レンダリングされる多深度画像(MDI)に関連付けられた複数のレイヤーのうちのレイヤーに対応し、各深度マップは、MDIの対応するレイヤーに含まれる、MDIの各ボクセルの位置および深度を示し、MDIに関連付けられた当該複数のレイヤーにおけるレイヤーの数は、MPIに関連付けられた当該複数の正対する平面に含まれる正対する平面の数よりも小さく、当該ハードウェアプロセッサは、さらに、当該複数のレイヤーの各レイヤーに対して、当該レイヤーに含まれる各ボクセルの色および透過度を示す画像を算出し、MDIの当該複数のレイヤーに対応するメッシュと、MDIの当該複数のレイヤーに対応する画像とをMDIとして格納し、ユーザー装置から3次元の画像に対する要求を受信することに応答して当該ユーザー装置にMDIを伝達するように構成されており、当該ユーザー装置は、MDIの各レイヤーに対して、当該レイヤーに対応するメッシュ上に、テクスチャとしての、当該レイヤーに対応する画像をマッピングすることによりMDIをレンダリングするように構成されている。
【0013】
開示される主題のいくつかの実施形態に従うと、コンピュータ実行可能な命令を含む非一時的なコンピュータ読み取り可能な媒体が提供され、当該命令は、プロセッサにより実行されると、当該プロセッサに、圧縮された画像を生成するための方法を行わせ、当該方法は、3次元の画像を表す多平面画像(MPI)を識別することを含み、MPIは複数の正対する平面を含み、各正対する平面は、当該複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、当該方法は、さらに、複数のサブボリュームにMPIを分割することを含み、当該複数のサブボリュームにおける各サブボリュームは、当該複数の正対する平面のサブセットを含み、当該方法は、さらに、MPIの各サブボリュームに対して深度マップを算出することと、各深度マップをメッシュに変換することとを含み、各メッシュは、レンダリングされる多深度画像(MDI)に関連付けられた複数のレイヤーのうちのレイヤーに対応し、各深度マップは、MDIの対応するレイヤーに含まれる、MDIの各ボクセルの位置および深度を示し、MDIに関連付けられた当該複数のレイヤーにおけるレイヤーの数は、MPIに関連付けられた当該複数の正対する平面に含まれる正対する平面の数よりも小さく、当該方法は、さらに、当該複数のレイヤーの各レイヤーに対して、当該レイヤーに含まれる各ボクセルの色および透過度を示す画像を算出することと、MDIの当該複数のレイヤーに対応するメッシュ、および、MDIの当該複数のレイヤーに対応する画像をMDIとして格納することと、ユーザー装置から3次元の画像に対する要求を受信することに応答して当該ユーザー装置にMDIを伝達することとを含み、当該ユーザー装置は、MDIの各レイヤーに対して、当該レイヤーに対応するメッシュ上に、テクスチャとしての、当該レイヤーに対応する画像をマッピングすることによりMDIをレンダリングするように構成されている。
【0014】
開示される主題のいくつかの実施形態に従うと、圧縮された画像を生成するためのシステムが提供され、当該システムは、3次元の画像を表す多平面画像(MPI)を識別するための手段を備え、MPIは複数の正対する平面を含み、各正対する平面は、当該複数の正対する平面の各ピクセルの色および透過度を示す画像に関連付けられ、当該システムは、さらに、複数のサブボリュームにMPIを分割するための手段を備え、当該複数のサブボリュームにおける各サブボリュームは、当該複数の正対する平面のサブセットを含み、当該システムは、さらに、MPIの各サブボリュームに対して深度マップを算出するための手段と、各深度マップをメッシュに変換するための手段とを備え、各メッシュは、レンダリングされる多深度画像 (MDI)に関連付けられた複数のレイヤーのうちのレイヤーに対応し、各深度マップは、MDIの対応するレイヤーに含まれる、MDIの各ボクセルの位置および深度を示し、MDIに関連付けられた当該複数のレイヤーにおけるレイヤーの数は、MPIに関連付けられた当該複数の正対する平面に含まれる正対する平面の数よりも小さく、当該システムは、さらに、当該複数のレイヤーの各レイヤーに対して、当該レイヤーに含まれる各ボクセルの色および透過度を示す画像を算出するための手段と、MDIの当該複数のレイヤーに対応するメッシュ、および、MDIの当該複数のレイヤーに対応する画像をMDIとして格納するための手段と、ユーザー装置から3次元の画像に対する要求を受信することに応答して当該ユーザー装置にMDIを伝達するための手段とを備え、当該ユーザー装置は、MDIの各レイヤーに対して、当該レイヤーに対応するメッシュ上に、テクスチャとしての、当該レイヤーに対応する画像をマッピングすることによりMDIをレンダリングするように構成されている。
【0015】
開示される主題の種々の対象、特徴および利点は、同様の参照番号が同様の要素を同定する以下の図面に関連して考慮されると、開示される主題の以下の詳細な説明を参照して、より十分に理解され得る。
【図面の簡単な説明】
【0016】
図1】開示される主題のいくつかの実施形態に従う、圧縮された画像を生成し、圧縮された画像をユーザー装置に伝達するためのプロセスの実例を示す図である。
【0017】
図2】開示される主題のいくつかの実施形態に従う、多平面画像(MPI)のカットを最適化することにより、圧縮された画像を生成するためのプロセスの実例を示す図である。
【0018】
図3】開示される主題のいくつかの実施形態に従う、圧縮された画像を生成するためにニューラルネットワークを訓練するためのプロセスの実例を示す図である。
【0019】
図4】開示される主題のいくつかの実施形態に従う、圧縮された画像を生成するための、本明細書で説明されるメカニズムの実現に対して好適な例示的なシステムの模式的なダイアグラムを示す図である。
【0020】
図5】開示される主題のいくつかの実施形態に従う、図4のサーバーおよび/またはユーザー装置において用いられ得るハードウェアの詳細な例を示す図である。
【0021】
図6】開示される主題のいくつかの実施形態に従う、多平面画像の模式的なダイアグラムを示す図である。
【発明を実施するための形態】
【0022】
詳細な説明
種々の実施形態に従うと、圧縮された画像を生成するための、(方法、システムおよび媒体を含み得る)メカニズムが提供される。
【0023】
いくつかの実施形態において、本明細書で説明されるメカニズムは、3次元の画像または他の没入型のコンテンツに対応する、圧縮された画像を生成できる。例えば、いくつかの実施形態において、3次元の画像は、正対する平面(例えば、50の平面、100の平面、500の平面、および/または任意の他の好適な数)の任意の好適な数の集合を含む画像であって、各正対する平面が赤-緑-青-アルファ(RGBA:Red-Green-Blue-Alpha)画像に関連付けられている多平面画像(MPI)であり得る。いくつかの実施形態において、MPI画像は、当該平面の各々のRGBA画像の各々を重ねて合成することによりレンダリングされ得る。いくつかの実施形態において、本明細書で説明されるメカニズムは、MPIに対応する多深度画像(MDI)を生成でき、MDIは、比較的より単純な、MPIの表現である。例えば、いくつかの実施形態において、本明細書で説明されるメカニズムは、MPIに関連付けられた正対する平面の数よりも少ない、レイヤーの数を含むMDIを生成できる。いくつかのそのような実施形態において、MDIの各レイヤーは、MDIの当該レイヤーに対応するピクセルの深度を示すメッシュと、当該メッシュにマッピングされるテクスチャを示すRGBA画像とに関連付けられ得る。
【0024】
いくつかの実施形態において、当該メカニズムは、一連のMPI画像に対応する一連のMDI画像を生成できる。例えば、いくつかの実施形態において、一連のMDI画像は、動画コンテンツ(例えば、3次元の動画コンテンツ、仮想現実コンテンツ、および/または任意の他の好適なタイプの3次元の動画コンテンツを含む動画)のフレームに対応し得る。この例を用いて続けると、いくつかの実施形態において、当該メカニズムは、当該一連のMPI画像を通じて繰り返され、対応する一連のMDI画像を生成し、それによって、3次元の動画コンテンツの圧縮されたバージョンの画像を生成できる。
【0025】
いくつかの実施形態において、本明細書で説明されるメカニズムは、任意の好適な装置により実行され得ることに注意されたい。例えば、いくつかの実施形態において、動画コンテンツを格納し、および/または動画コンテンツをユーザー装置に伝達するサーバーは、動画に対応するMDI画像のシーケンスを生成でき、その後、動画に対する要求に応答して、MDI画像のシーケンスをユーザー装置に伝達できる。
【0026】
いくつかの実施形態において、本明細書で説明されるメカニズムは、任意の好適な、技法または技法の組み合わせを用いてMDI画像を生成できる。例えば、図2に示され、図2に関連して以下に説明されるように、いくつかの実施形態において、当該メカニズムは、MPI画像を一連のサブボリュームにカットすることによりMPI画像からMDI画像を生成でき、各サブボリュームは、MDI画像のレイヤーに対応する。この例を用いて続けると、いくつかの実施形態において、当該メカニズムは、その後、メッシュと、各レイヤーに対して当該メッシュ上にマッピングされるRGBAテクスチャ画像とを算出できる。別の例として、図3に示され、図3に関連して以下に説明されるように、いくつかの実施形態において、当該メカニズムは、MPI画像からMDI画像を生成するように訓練された機械学習アルゴリズムを用いてMDIを生成できる。図3に関連して、より詳細に以下で説明されるように、いくつかの実施形態において、当該メカニズムは、勾配降下法を用いて、MDIの各レイヤーに対して当該画像上にマッピングされるメッシュおよびRGBA画像を反復的に洗練し、レンダリングされるMDIの間の誤差を、メッシュとRGBA画像とグラウンドトゥルースMPI画像とを用いて最小化できる。
【0027】
多深度画像、または、多平面画像の圧縮された表現を生成するための、これらの特徴および他の特徴は、図1図6に関連してさらに説明される。
【0028】
図1に向かうと、開示される主題のいくつかの実施形態に従う、圧縮された画像を生成し、圧縮された画像をユーザー装置に伝達するためのプロセスの実例100が示される。いくつかの実施形態において、プロセス100のブロックは、サーバー上で実現され得ることに注意されたい。例えば、いくつかの実施形態において、プロセス100は、動画共有サービスに関連付けられたサーバー、ソーシャルネットワーキングプラットフォームに関連付けられたサーバー、および/または任意の他の好適なサーバー上で実現され得る。
【0029】
プロセス100は、3次元画像に対応する多平面画像(MPI)を受信することにより、102において開始する。いくつかの実施形態において、MPIは、正対する平面の集合またはグループであり得、各平面は、当該平面の各ピクセルの色および透過度を示す、対応するRGBA画像に関連付けられている。図6に向かうと、開示される主題のいくつかの実施形態に従う、MPIの例600が示される。例示されるように、MPI600は、平面602,604および/または606などの、個々の正対する平面を含み得る。いくつかの実施形態において、MPI600は、各平面に関連付けられたRGBA画像を用いて個々の平面を重ねて合成することにより、ユーザー装置上でレンダリングされ得る。例えば、いくつかの実施形態において、MPI600は、当該平面を後ろから前に重ねて合成することによりレンダリングされることができ、これにより、平面604が平面602上に合成され、平面606が平面604上に合成される。MPI600は、3つの正対する平面を示すが、示される平面の数は例示的であるにすぎないことに注意されたい。いくつかの実施形態において、MPIは、任意の好適な数の平面(例えば、100,200,1000および/または任意の他の好適な数の平面)を含み得る。追加的に、いくつかの実施形態において、各平面は、任意の好適な幅および/または高さを有し得ることに注意されたい。
【0030】
再び図1を参照して、いくつかの実施形態において、プロセス100は、任意の好適な手法でMPIを受信できる。例えば、いくつかの実施形態において、プロセス100は、一連のMPI画像における画像としてMPIを識別できる。より特定的な例として、いくつかの実施形態において、一連のMPI画像は、3次元の動画または他の没入型のコンテンツに対応でき、受信されるMPIは、動画またはコンテンツのフレームに対応する。いくつかのそのような実施形態において、プロセス100は、動画のフレームを通じて反復し、ブロック104に関連して以下に説明される技法を用いて各MPI画像を圧縮することにより、圧縮された動画を生成できる。
【0031】
104において、プロセス100は、MPIに対応する多深度画像(MDI)を生成できる。いくつかの実施形態において、MDIは、MPIの圧縮された表現であり得る。例えば、いくつかの実施形態において、MDIは、任意の好適な数のレイヤーを含むことができ、レイヤーの数は、MPIの正対する平面の数よりも小さい。より特定的な例として、100の正対する平面をMPIが有する例において、生成されるMDIは、100より小さい任意の好適な数、例えば8,10,15および/または任意の他の好適な数のレイヤーを有し得る。いくつかの実施形態において、MDIの各レイヤーは、MDIの当該レイヤーに含まれるボクセルの深度を表すメッシュに関連付けられ得る。追加的に、いくつかの実施形態において、MDIの各レイヤーは、MDIのレンダリングの間に、当該レイヤーに対応するメッシュ上にマッピングされるテクスチャを示すRGBA画像に関連付けられ得る。いくつかの実施形態において、生成されるMDIは、MDIの一連のレイヤーに対応する一連のメッシュとして格納されることができ、当該一連のメッシュにおける各メッシュは、格納されたRGBAテクスチャ画像に関連付けられる。
【0032】
いくつかの実施形態において、プロセス100は、任意の好適な手法でMDIを生成できる。例えば、図2に示され、図2に関連してより詳細に以下に説明されるように、いくつかの実施形態において、プロセス100は、ブロック102において受信されるMPIを、MDIの各レイヤーに対応する一連のサブボリュームにカットすることにより、および、各サブボリュームに対して当該メッシュとRGBAテクスチャとを生成することによりMDIを生成できる。別の例として、いくつかの実施形態において、プロセス100は、訓練されたニューラルネットワークを用いてMDIを生成できる。MDIを生成するためにニューラルネットワークを訓練するための手法は、図3に示され、図3に関連してより詳細に以下に説明されることに注意されたい。
【0033】
106において、プロセス100は、MDIを格納できる。いくつかの実施形態において、プロセス100は、任意の好適な手法でMDIを格納できる。例えば、いくつかの実施形態において、プロセス100は、MDIの各レイヤーに対応する、生成されたメッシュと、当該メッシュにマッピングされる、対応するRGBAテクスチャマップとを含む1つまたは複数のファイルとしてMDIを格納できる。別の例として、いくつかの実施形態において、MDIは、当該MDIが生成されるMPIに当該MDIを関連付ける識別子とともに格納され得る。
【0034】
いくつかの実施形態において、プロセス100は、ブロック102にループバックし、別のMPIを受信できることに注意されたい。例えば、一連のフレームを含む動画であって、各フレームがMPIである動画から、プロセス100が、圧縮された動画を生成している例において、プロセス100は、当該一連のフレームにおける次のフレームを識別または受信するために102にループバックできる。いくつかのそのような実施形態において、プロセス100は、当該一連のフレームにおけるフレームの各々を通じて反復するために、ブロック102~106をループ処理できる。
【0035】
108において、プロセス100は、ユーザー装置から、3次元の画像に対する要求を受信できる。いくつかの実施形態において、プロセス100は、任意の好適な手法で当該要求を受信できる。例えば、いくつかの実施形態において、プロセス100は、3次元の画像を含む、動画コンテンツ、仮想現実コンテンツおよび/または没入型のコンテンツをストリーミングまたはダウンロードするために、ユーザー装置から要求を受信できる。いくつかの実施形態において、動画コンテンツ、仮想現実コンテンツまたは他のタイプの没入型のコンテンツは、動画、広告、ビデオゲームおよび/または任意の他の好適なタイプのコンテンツなどの、任意の好適な系統のコンテンツを含み得ることに注意されたい。
【0036】
110において、プロセス100は、ユーザー装置上でのレンダリングのためにユーザー装置にMDIを伝達できる。いくつかの実施形態において、プロセス100は、任意の好適な手法でMDIを伝達できる。例えば、いくつかの実施形態において、プロセス100は、MDIの各レイヤーに対応するメッシュと、MDIの各レイヤーに対応するRGBAテクスチャマップとを含むファイルをユーザー装置に伝達できる。別の例として、いくつかの実施形態において、プロセス100は、MDIをレンダリングするための命令をユーザー装置に伝達できる。ブロック108において受信された、ユーザー装置からの要求が動画または他の一連の画像に対するものである例において、プロセス100は、要求された動画または当該一連の画像に対応する一連のMDI画像を伝達できることに注意されたい。
【0037】
図2に向かうと、開示される主題のいくつかの実施形態に従って、サブボリュームのグループにMPIをカットすることによりMPIからMDIを生成するためのプロセスの実例200が示される。いくつかの実施形態において、プロセス200のブロックは、MPIを格納するサーバー(例えば、動画ホスティングサービスに関連付けられたサーバー、ソーシャルネットワーキングサービスに関連付けられたサーバー、および/または任意の他の好適なサーバー)などの、任意の好適な装置上で実行され得ることに注意されたい。
【0038】
プロセス200は、MPIを受信することにより202において開始し得る。いくつかの実施形態において、プロセス200は、任意の好適な手法でMPIを受信できる。例えば、いくつかの実施形態において、図1のブロック102に関連して上述されたのと同様に、プロセス200は、動画の一連のフレームにおけるフレームに対応するMPIを受信できる。別の例として、いくつかの実施形態において、プロセス200は、MPIを識別しているプロセスであって、MPIに対応するMDIを格納している異なるプロセス(例えば、図1に示され、図1に関連して上述されたプロセス100)からMPIの指標を受信できる。
【0039】
204において、プロセス200は、複数のサブボリュームへのMPIの分割を決定できる。いくつかの実施形態において、プロセス200は、任意の好適な手法で複数のサブボリュームにMPIを分割できる。例えば、いくつかの実施形態において、MPIに含まれる正対する平面の各々は、x軸およびy軸を張ることができ、一連の正対する平面は、z軸に沿って配列されることができる。この例を用いて続けると、いくつかの実施形態において、プロセス200は、z軸に沿ってカットすることによりMPIを分割できる。すなわち、いくつかの実施形態において、プロセス200は、MPIに関連付けられた複数の正対する平面がMPIの各サブボリュームに含まれるように、MPIを分割できる。いくつかの実施形態において、各サブボリュームは、生成されるMDIのレイヤーに対応し得ることに注意されたい。いくつかの実施形態において、プロセス200は、任意の好適な数(例えば、8,10,15および/または任意の他の好適な数)のサブボリュームにMPIを分割できる。
【0040】
いくつかの実施形態において、プロセス200は、任意の好適な技法、または技法の組み合わせを用いて、複数のサブボリュームへのMPIの分割を決定できる。例えば、いくつかの実施形態において、プロセス200は、複数のサブボリュームへ再帰的にMPIを分けるために、グラフカットアルゴリズムを用いることができる。例えば、4つのサブボリュームを生成するために、プロセス200は、MPIの第1のカットを識別し、第1のサブボリュームと第2のサブボリュームとを生成できる。この例を用いて続けると、その後、プロセス200は、第1のサブボリュームの第2のカットと、第2のサブボリュームの第3のカットとを識別し、全部で4つのサブボリュームを生成できる。先行する例は、4つのサブボリュームを生成するための技法を説明するが、いくつかの実施形態において、プロセス200は、任意の好適な数のサブボリュームを生成するために、上述された技法を繰り返すことができることに注意されたい。
【0041】
いくつかの実施形態において、プロセス200は、任意の好適な手法でMPIのカット、またはMPIのサブボリュームを識別できる。例えば、いくつかの実施形態において、MPIのカット、またはMPIのサブボリュームを識別することは、MPIのz軸に沿った値を、各(x,y)ピクセル位置に対して決定することを含み得る。いくつかの実施形態において、MPIのカット、またはMPIのサブボリュームのカットは、異なる(x,y)位置における、異なる数の、MPIの平面を含み得ることに注意されたい。例えば、いくつかの実施形態において、第1のカット深度zにおいて、第1の位置(x,y)は、MPIの10の正対する平面を含むことができ、第2のカット深度zにおいて、第2の位置(x,y)は、MPIの20の正対する平面を含むことができる。
【0042】
いくつかの実施形態において、サブボリュームのグループにMPIを分割した後、プロセス200は、カット(複数可)により生成されるサブボリュームを用いて画像をレンダリングするときに生成されるであろう誤差を示す1つまたは複数の誤差値を算出できる。いくつかの実施形態において、プロセス200は、その後、任意の好適な最適化アルゴリズムを用いて、MPIのカット(複数可)を反復的に修正し、1つまたは複数の誤差値を最小化できる。
【0043】
いくつかの実施形態において、1つまたは複数の誤差値は、任意の好適なレンダリングの発見的方法を表すことができる。例えば、いくつかの実施形態において、1つまたは複数の誤差値は、単一項を含み得る。より特定的な例として、いくつかの実施形態において、単一項は、方程式
【数1】
を用いて決定され得る。いくつかの実施形態において、sは、分割に対して提案されたz値を表すことができ、aは、pにおける透過度を表すことができ、bは、sにおける分割に対して結果として生じる後方の深度を示すことができ、fは、結果として生じる前方の深度を示すことができる。言い換えれば、sにおける分割は、sのいずれかの側でのbおよびfsの深度値という結果となる。それゆえ、bおよびfにない、MPIのひとつおきのボクセルは、bおよびfにより表されるので、このことは、単一の誤差項により表される、いくつかの誤差を引き起こすだろう。すなわち、いくつかの実施形態において、単一項は、sにおけるカットを用いてレンダリングされるMDIの深度における誤差を表すことができる。
【0044】
いくつかの実施形態において、透過度項aは、任意の好適な技法、または技法の組み合わせを用いて算出され得ることに注意されたい。例えば、いくつかの実施形態において、プロセス200は、MPIの、対応するボクセルに対するRGBA画像に含まれるアルファ値をaとして取る。別の例として、いくつかの実施形態において、プロセス200は、値aを算出できる。より特定的な例として、いくつかの実施形態において、プロセス200は、ボクセルを通じて一連の潜在的な視点からの一連の射線を放つことができる。この例を用いて続けると、いくつかの実施形態において、射線が視点に到達するときに、射線に沿ったボクセルから効果的なアルファ寄与が算出されるように、プロセス200は、射線に沿ったアルファ値を累積できる。いくつかの実施形態において、累積されたアルファ値は、そのボクセルの透過度と考えられ得る。射線に対する透過度を算出するための例示的な方程式は、
【数2】
であり、aは、射線に沿った深度iにおけるアルファ値である。いくつかの実施形態において、プロセス200は、当該一連の射線における射線の全てのうちの最大の透過度を取ることができる。代替的に、いくつかの実施形態において、プロセス200は、当該一連の射線における射線の全ての平均的な透過度を算出できる。いくつかの実施形態において、完全なMPIボリュームに対する透過度は、計算されることができ、MPIの分割の間に誤差が算出されて最適化されると、入力として渡されることができる。
【0045】
【数3】
【0046】
いくつかの実施形態において、レンダリング誤差を最小化するためにMPIのカットを反復的に洗練することよりむしろ、プロセス200は、任意の他の好適な手法で複数のサブボリュームにMPIを分割できることに注意されたい。例えば、いくつかの実施形態において、プロセス200は、MPIのカットを識別するように訓練されてきた、訓練されたニューラルネットワーク(例えば、畳み込みニューラルネットワーク、および/または任意の他の好適なタイプのニューラルネットワーク)を用いて、最小化されたレンダリング誤差を伴うMDIを生成できる。
【0047】
206において、プロセス200は、各サブボリュームに対して深度マップを算出できる。いくつかの実施形態において、プロセス200は、任意の好適な手法で、各サブボリュームに対して深度マップを算出できる。例えば、いくつかの実施形態において、プロセス200は、各ボクセルにおけるMPIアルファ値を用いて、sおよびsにより境界付けられる正対する平面を重ねて合成することによって、2つの分割sおよびsにより境界付けられる特定のサブボリュームに対して深度マップを算出できる。
【0048】
208において、プロセス200は、各深度マップをメッシュに変換でき、各メッシュは、レンダリングされるMDIのレイヤーに対応する。いくつかの実施形態において、プロセス200は、任意の好適な手法で、および任意の好適な技法(複数可)を用いてメッシュを生成できる。例えば、いくつかの実施形態において、プロセス200は、各深度ピクセルにおいて2つの三角形を生成することにより、深度マップを三角形にできる。この例を用いて続けると、いくつかの実施形態において、プロセス200は、その後、三角形のメッシュを生成するためにピクセルの角を接続できる。いくつかの実施形態において、プロセス200は、例えば、三角形のメッシュの、全体の形、ボリュームおよび/または境界を維持しながら、三角形のメッシュに含まれる面の数を低減するために任意の好適な単純化アルゴリズムを用いることができる。いくつかの実施形態において、プロセス200は、任意の好適な単純化アルゴリズム(例えば、リンドストローム-ターク(Lindstrom-Turk)のメッシュ単純化アルゴリズム、および/または任意の他の好適なアルゴリズム)を用いることができる。
【0049】
210において、プロセス200は、MDIの各レイヤーに対してRGBAテクスチャ値を計算できる。いくつかの実施形態において、プロセス200は、任意の好適な手法でRGBAテクスチャ値を計算できることに注意されたい。例えば、いくつかの実施形態において、プロセス200は、レイヤーに対応するサブボリュームの境界内の、ブロック202において受信される元々のMPIに関連付けられたRGBA値の合成を算出できる。
【0050】
いくつかの実施形態において、プロセス200は、MPIからのMDIの生成により引き起こされるアーチファクトを平滑にする、および/または低減させる任意の好適な技法(複数可)行うことができることに注意されたい。例えば、いくつかの実施形態において、プロセス200は、ランダムに選択される視点候補のセットを生成できる。この例を用いて続けると、いくつかの実施形態において、プロセス200は、視点候補のセットから、各MDIメッシュ上の各ピクセルを通じていくつかの射線を放つことができる。いくつかの実施形態において、プロセス200は、その後、各射線に沿ったRGBA値の合成を計算でき、プロセス200は、ピクセルを通じた射線の全てにわたる結果を平均化できる。いくつかの実施形態において、プロセス200は、ピクセルを通じた射線の全てにわたる結果の平均を、レイヤーの対応するピクセルに対するRGBA値として用いることができる。
【0051】
追加的に、いくつかの実施形態において、動画の一連のフレームに対応する一連のMDIをプロセス200が生成する例では、プロセス200は、任意の好適な技法(複数可)を用いて一時的に整合的な手法でMDIを生成でき、これによりフリッカを回避できることに注意されたい。
【0052】
212において、プロセス200は、MDIの各レイヤーに対応する、RGBA値とメッシュとを、MDIとして格納できる。いくつかの実施形態において、プロセス200は、任意の好適な手法で、RGBA値とメッシュとを格納できる。例えば、いくつかの実施形態において、プロセス200は、RGBA値とメッシュとを含むファイルを生成できる。別の例として、いくつかの実施形態において、プロセス200は、ブロック202で受信されたMPIに、生成されたMDIを関連付ける識別子に関連してMDIを格納できる。
【0053】
いくつかの実施形態において、MDIのレイヤーを生成するためにMPIのカットを最適化することにより生成されたMDIは、MDIの中心的なビューに対して最適化された、形状および/または色を有するMDIを作り出すことができることに注意されたい。いくつかの実施形態において、結果のMDIは、中心的なビューから離れて投影されると質が低下し得る。いくつかの実施形態において、異なる視点から投影されるMDIの最終的なレンダリング誤差を最適化する、ニューラルネットワークまたは他の機械学習アルゴリズムを用いてMDIを生成することは、異なる視点からレンダリングされるときに質の低下がより少ないMDIを作り出すことができる。
【0054】
図3に向かうと、開示される主題のいくつかの実施形態に従って、MDIを生成するためにニューラルネットワークを訓練するためのプロセスの実例300が示される。いくつかの実施形態において、プロセス300のブロックは、任意の好適な装置により実行され得ることに注意されたい。例えば、いくつかの実施形態において、プロセス300のブロックは、動画共有サービスに関連付けられたサーバー、ソーシャルネットワーキングサービスに関連付けられたサーバー、および/または任意の他の好適なサーバーなどの、画像または動画を格納するサーバーにより実行され得る。
【0055】
プロセス300に関連して以下に説明される技法は、MDIを生成するようにニューラルネットワークを訓練することを説明することに注意されたい。いくつかの実施形態において、ニューラルネットワークは、任意の好適なトポロジーを有し得る。例えば、いくつかの実施形態において、ニューラルネットワークは、任意の好適な手法で接続される、任意の好適な数のレイヤーを有し得る。別の例として、いくつかの実施形態において、ニューラルネットワークは、MDIが生成されるMPIのサイズなどの任意の好適なパラメータ、および/または任意の他の好適な入力もしくはパラメータに対応する任意の好適な数の入力を有し得る。
【0056】
プロセス300は、MPIを受信することにより302において開始できる。いくつかの実施形態において、プロセス300は、任意の好適な手法でMPIを受信できる。例えば、いくつかの実施形態において、図1のブロック102および図2のブロック202に関連して上述されたのと同様に、プロセス300は、動画の一連のフレームにおけるフレームに対応するMPIを受信できる。別の例として、いくつかの実施形態において、プロセス300は、異なるプロセス(例えば、図1に示され、図1に関連して上述されたプロセス100)からMPIの指標を受信でき、当該プロセスは、MPIを識別し、MPIに対応するMDIを格納している。
【0057】
さらに別の例として、いくつかの実施形態において、プロセス300は、MPIを生成できる。いくつかの実施形態において、プロセス300は、任意の好適な手法で、および任意の好適な技法(複数可)を用いてMPIを生成できる。例えば、いくつかの実施形態において、プロセス300(または任意の他の好適なプロセス)は、任意の好適な視点からのカメラ画像の、任意の好適な散在するセットを用いてMPIを生成するように訓練された、任意の好適なアルゴリズムを用いてMPIを生成できる。いくつかの実施形態において、当該アルゴリズムは、生成されるMPIのレンダリング誤差を最小化するための、学習された勾配降下法を用いるアルゴリズムなどの任意の好適なタイプのアルゴリズム、および/または任意の他の好適なタイプのアルゴリズムを含み得る。例えば、いくつかの実施形態において、学習された勾配降下法は、(例えば、カメラリグに関連付けられた、任意の好適な数のカメラからの)ビューの、散在するセットを入力として取り、ビューの、散在するセットを入力として用いて初期のMPI画像を生成する、任意の好適なトポロジーを有するニューラルネットワーク(畳み込みニューラルネットワーク、および/または任意の他の好適なタイプのニューラルネットワーク)に適用され得る。この例を用いて続けると、いくつかの実施形態において、その後、学習された勾配降下法は、MPIを生成するために用いられる、任意の好適な重みまたはパラメータ(例えば、MPIの各平面の各ピクセルの色に対応する重みもしくはパラメータ、MPIの各平面の各ピクセルの透過度に対応する重みもしくはパラメータ、および/または任意の他の好適な重みもしくはパラメータ)の更新を用いてMPIを反復的に改善するために用いられ得る。
【0058】
304において、プロセス300は、訓練サンプルのバッチを生成でき、各訓練サンプルは、MPIのビューに対応する。いくつかの実施形態において、当該バッチは、任意の好適な数(例えば、10,20,32および/または任意の他の好適な数)の訓練サンプルを含み得ることに注意されたい。いくつかの実施形態において、訓練サンプルのバッチにおける各訓練サンプルは、MPIに関連付けられた異なる視点に対応し得る。いくつかの実施形態において、プロセス300は、任意の好適な手法で、バッチにおける各訓練サンプルに対応する異なる視点を識別し、当該視点がMPIのビューボリュームにわたって分散されることを保証できる。例えば、いくつかの実施形態において、プロセス300は、任意の好適な階層化されたサンプリング技法を用いて、各々が異なるグループの視点に対応する任意の好適な数の階層にMPIのビューボリュームを分けることができ、訓練サンプルのバッチにおける訓練サンプルを各階層の中からランダムに選択できる。
【0059】
306において、プロセス300は、MDIのレイヤーのグループにおける各レイヤーに対して、メッシュとRGBA画像とを初期化できる。いくつかの実施形態において、各メッシュは、任意の好適なサイズおよび/または形状を有し得る。例えば、いくつかの実施形態において、各メッシュは、8×8ピクセルクアッドであり得る。この例を用いて続けると、いくつかの実施形態において、各ピクセルクアッドは、任意の好適な数(例えば、2および/または任意の他の好適な数)の三角形を含むことができ、そのとき、当該三角形は、頂点において接続され、三角形のメッシュを生成する。上述されたメッシュは、例示的にすぎず、いくつかの実施形態において、メッシュは、任意の好適な形態の面を伴う、任意の好適なサイズ(例えば、4×4ピクセルクアッド、8×8ピクセルクアッド、16×16ピクセルクアッド、および/または任意の他のサイズ)を有し得ることに注意されたい。いくつかの実施形態において、各RGBA画像は、MPIの正対する平面のサイズに対応するサイズを有し得る。すなわち、いくつかの実施形態において、各RGBA画像は、MPIの正対する平面の多数のピクセルに対応する、多数のピクセルを有し得る。
【0060】
いくつかの実施形態において、プロセス300は、任意の好適な手法でメッシュとRGBA画像とを初期化できる。例えば、いくつかの実施形態において、プロセス300は、メッシュを初期化でき、メッシュの各(x,y)点は、メッシュに対応するMPIの正対する平面のグループの位置情報に基づく位置に初期化される。別の例として、いくつかの実施形態において、プロセス300は、任意の好適な方法で、各メッシュに関連付けられた深度値を(例えば、予め定められた範囲内のランダムな値に、0の深度に対応する値に、および/または任意の他の好適な値に)初期化できる。
【0061】
いくつかの実施形態において、MDIは、図1および図2に関連して上述されたように、任意の好適な数(4,8,16および/または任意の他の好適な数)のレイヤーに関連付けられ得ることに注意されたい。追加的に、いくつかの実施形態において、プロセス300は、任意の好適な情報に基づいて、どれくらい多くのレイヤーをMDIが有することになるかを決定できることに注意されたい。例えば、いくつかの実施形態において、プロセス300は、初期化されたメッシュのサイズに基づいて、レイヤーの数を決定できる。より特定的な例として、いくつかの実施形態において、プロセス300は、比較的大きい各レイヤーに関連付けられたメッシュ(例えば、16×16ピクセルクアッド、32×32ピクセルクアッド、および/または任意の他の好適なサイズのメッシュ)に基づいて、比較的少ない(例えば、4つの)レイヤーにMDIが関連付けられることになることを決定できる。逆に、いくつかの実施形態において、プロセス300は、比較的小さい各レイヤーに関連付けられたメッシュ(例えば、8×8ピクセルクアッド、および/または任意の他の好適なサイズのメッシュ)に基づいて、比較的多いレイヤー(例えば、8,16および/または任意の他の好適な数のレイヤー)にMDIが関連付けられることになることを決定できる。いくつかの実施形態において、プロセス300は、任意の好適なトレードオフを最適化するために、および任意の好適な情報に基づいて、MDIに関連付けられたレイヤーの数と、各レイヤーに対応する各メッシュのサイズとを決定できることに注意されたい。例えば、いくつかの実施形態において、プロセス300は、MPIの複雑性(例えば、MPIに含まれる正対する平面の数、および/または任意の他の複雑性の情報)、前のニューラルネットワーク訓練データに即した、訓練中にニューラルネットワークが収束するための予測される期間、および/または任意の他の好適な情報に基づいて、MDIに関連付けられたレイヤーの数と、各レイヤーに対応する各メッシュのサイズとを決定できる。
【0062】
308において、プロセス300は、バッチにおける各訓練サンプルに対する、メッシュおよびRGBA画像を用いてMDIをレンダリングできる。いくつかの実施形態において、プロセス300は、任意の好適な技法、または技法の組み合わせを用いてMDIをレンダリングできる。例えば、いくつかの実施形態において、プロセス300は、MDIの各レイヤーに対するメッシュ上に、テクスチャとしてのRGBA画像をマッピングできる。
【0063】
310において、プロセス300は、バッチにおける各訓練サンプルについて、ブロック308において訓練サンプルに対してレンダリングされるMDIと、MPIの対応するビューとの差を示す、損失または誤差を算出できる。すなわち、いくつかの実施形態において、プロセス300は、レンダリングされるMDIと、MPIの対応するビューとの間の損失または誤差を算出でき、MPIのビューは、レンダリングされるMDIが比較されるグラウンドトゥルースであると考えられる。いくつかの実施形態において、プロセス300は、レンダリングされるMDIおよび対応するグラウンドトゥルースMPI画像を用いて損失関数を評価することにより、訓練サンプルに対する、損失または誤差を算出できることに注意されたい。
【0064】
312において、プロセス300は、バッチにおける各訓練サンプルに対する誤差に基づいて、メッシュとRGBA画像とに対応する重みを更新できる。いくつかの実施形態において、プロセス300は、メッシュおよびRGBA画像の任意の好適な態様に対応する重みを更新できる。例えば、いくつかの実施形態において、プロセス300は、対応する(x,y)位置定数を保ちながら、各頂点の深度に対応する重みを更新できる。別の例として、いくつかの実施形態において、プロセス300は、各ピクセルの、色または透過度を修正するために、RGBA値に対応する重みを更新できる。
【0065】
いくつかの実施形態において、プロセス300は、損失または誤差関数の勾配に基づいて重みを更新できる。例えば、いくつかの実施形態において、プロセス300は、MDIの各レイヤーに対する、現在のメッシュおよび現在のRGBA画像を用いて、勾配の反対の方向における重みを更新し、次の反復における誤差を低減できる。いくつかの実施形態において、プロセス300は、任意の好適な学習率α(例えば、0.001,0.003,0.01,0.03,0.1および/または任意の他の好適な値)を使って、勾配を用いて重みを更新できる。
【0066】
いくつかの実施形態において、プロセス300は、バッチに含まれる訓練サンプルの全てにわたって、バッチの各訓練サンプルに対応する損失または誤差を、任意の好適な手法で集計できることに注意されたい。例えば、いくつかの実施形態において、プロセス300は、損失関数を評価するときに、バッチにおける各訓練サンプルに対応する誤差を合計できる。
【0067】
いくつかの実施形態において、プロセス300は、ブロック308にループバックでき、MDIの各レイヤーに対する、更新されたメッシュと更新されたRGBA画像とを用いてMDIをレンダリングでき、当該更新されたメッシュと当該更新されたRGBA画像とは、ブロック312において算出された、更新された重みに基づいている。いくつかの実施形態において、プロセス300は、任意の好適な回数(例えば、100,1000,10000および/または任意の他の好適な回数)、バッチに含まれる訓練サンプルを用いてブロック308~312をループ処理できる。例えば、プロセス300は、訓練サンプルの新たなバッチを生成する前の一定の数の反復にわたって、バッチに含まれる訓練サンプルを用いてブロック308~312をループ処理できる。
【0068】
その後、プロセス300は、ブロック314に進むことができ、予め定められた停止基準が達成されたか否かを決定できる。いくつかの実施形態において、当該予め定められた停止基準は、任意の好適な基準を含み得る。例えば、いくつかの実施形態において、当該予め定められた停止基準は、MDIのレイヤーに対する、現在のメッシュおよび現在のRGBA画像を用いて、訓練サンプルのバッチに含まれる訓練サンプルの集計誤差が予め定められた閾値より小さいか否かを含み得る。
【0069】
ブロック314において、当該予め定められた停止基準が達成されていないとプロセス300が決定する(314において「no」である)場合、プロセス300は、ブロック304にループバックでき、訓練サンプルの新たなバッチを生成できる。いくつかの実施形態において、その後、プロセス300は、訓練サンプルの新たなバッチを用いて、ブロック306~312をループ処理できる。いくつかの実施形態において、訓練サンプルの新たなバッチは、任意の好適な数(例えば、10,20,16,32および/または任意の他の好適な数)の訓練サンプルを有し得る。例えば、プロセス300は、収束まで、または予め指定された回数の反復の後、訓練サンプルの新たなバッチを繰り返して生成できる。
【0070】
ブロック314において、当該予め定められた停止基準が達成されたとプロセス300が決定する(314において「yes」である)場合、プロセス300は、316において終了し得る。
【0071】
開示される主題のいくつかの実施形態に従う、圧縮された画像を生成するための、本明細書で説明されるメカニズムの実現に対して好適である例示的なシステム400の模式的な図である図4に進む。例示されるように、システム400は、サーバー402、通信ネットワーク404、ならびに/または、ユーザー装置408および410などの1つもしくは複数のユーザー装置406を含み得る。
【0072】
サーバー402は、情報、データ、プログラムおよび/または任意の他の好適なタイプのコンテンツを格納するための、任意の好適なサーバー(複数可)であり得る。いくつかの実施形態において、サーバー402は、任意の好適な機能(複数可)を行うことができる。例えば、いくつかの実施形態において、サーバー402は、圧縮された画像を生成するために用いられ得る。より特定的な例として、いくつかの実施形態において、図2に示され、図2に関連して上述されたように、サーバー402は、MPIのカットを最適化することによりMDIを生成するために用いられ得る。より特定的な別の例として、いくつかの実施形態において、図3に示され、図3に関連して上述されたように、サーバー402は、ニューラルネットワークを訓練するために用いられ、MDIを生成できる。別の例として、いくつかの実施形態において、図1に示され、図1に関連して上述されたように、サーバー402は、MDIか、またはMDIのシーケンスをユーザー装置に伝達するために用いられ得る。
【0073】
通信ネットワーク404は、いくつかの実施形態において、1つまたは複数の、有線および/もしくは無線のネットワークの任意の好適な組み合わせであり得る。例えば、通信ネットワーク404は、インターネット、イントラネット、ワイドエリアネットワーク(WAN:wide-area network)、ローカルエリアネットワーク(LAN:local-area network)、無線ネットワーク、デジタル加入者回線(DSL:digital subscriber line)ネットワーク、フレーム中継ネットワーク、非同期転送モード(ATM:asynchronous transfer mode)ネットワーク、仮想プライベートネットワーク(VPN:virtual private network)、および/もしくは任意の他の好適な通信ネットワークのうちの任意の1つまたは複数を含み得る。ユーザー装置406は、1つまたは複数の通信リンク(例えば、通信リンク412)により、1つまたは複数の通信リンク(例えば、通信リンク414)を介してサーバー402に繋がり得る通信ネットワーク404に接続され得る。通信リンクは、ネットワークリンク、ダイアルアップリンク、無線リンク、有線リンク、任意の他の好適な通信リンク、または、そのようなリンクの任意の好適な組み合わせなどの、ユーザー装置406およびサーバー402の間のデータを通信することに対して好適な任意の通信リンクであり得る。
【0074】
ユーザー装置406は、画像、圧縮された画像、画像のシーケンス、および/または圧縮された画像のシーケンスを提供することに対して好適な任意の1つまたは複数のユーザー装置を含み得る。いくつかの実施形態において、ユーザー装置406は、任意の好適なタイプの装置を含み得る。例えば、いくつかの実施形態において、ユーザー装置406は、モバイル装置、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルコンピュータ、ゲームコンソール、メディアプレイヤー、車両用娯楽システム、および/または任意の他の好適なタイプのユーザー装置を含み得る。いくつかの実施形態において、ユーザー装置406は、図2および/または図3に関連して上述された機能のいずれかを実現するために追加的または代替的に用いられ、圧縮された画像を多平面画像から生成できることに注意されたい。
【0075】
サーバー402が1つの装置として例示されているが、いくつかの実施形態において、サーバー402により行われる機能は、任意の好適な数の装置を用いて行われ得る。例えば、いくつかの実施形態において、複数の装置は、サーバー402により行われる機能を実現するために用いられ得る。
【0076】
図を過度に複雑にすることを回避するために、図4において2つのユーザー装置408および410が示されているが、いくつかの実施形態において、任意の好適な数のユーザー装置、および/または、任意の好適なタイプのユーザー装置が用いられ得る。
【0077】
いくつかの実施形態において、サーバー402およびユーザー装置406は、任意の好適なハードウェアを用いて実現され得る。例えば、いくつかの実施形態において、装置402および406は、任意の好適な一般用途のコンピュータ、または特定用途のコンピュータを用いて実現され得る。例えば、携帯電話は、特定用途のコンピュータを用いて実現され得る。任意のそのような一般用途のコンピュータ、または特定用途のコンピュータは、任意の好適なハードウェアを含み得る。例えば、図5の例示的なハードウェア500に示されるように、そのようなハードウェアは、ハードウェアプロセッサ502と、メモリおよび/またはストレージ504と、入力装置コントローラ506と、入力装置508と、ディスプレイ/音声ドライバ510と、ディスプレイおよび音声出力回路512と、通信インターフェース(複数可)514と、アンテナ516と、バス518とを含み得る。
【0078】
いくつかの実施形態において、ハードウェアプロセッサ502は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(複数可)、専用の論理回路、および/または、一般用途のコンピュータもしくは特定用途のコンピュータの機能を制御するための任意の他の好適な回路などの、任意の好適なハードウェアプロセッサを含み得る。いくつかの実施形態において、ハードウェアプロセッサ502は、サーバー402などのサーバーのメモリおよび/またはストレージに格納されるサーバープログラムにより制御され得る。いくつかの実施形態において、ハードウェアプロセッサ502は、ユーザ装置406のメモリおよび/またはストレージ504に格納されるコンピュータプログラムにより制御され得る。
【0079】
いくつかの実施形態において、メモリおよび/またはストレージ504は、プログラム、データ、および/または任意の他の好適な情報を格納するための、任意の好適なメモリおよび/またはストレージであり得る。例えば、メモリおよび/またはストレージ504は、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ、ハードディスクストレージ、光学式媒体、および/または任意の他の好適なメモリを含み得る。
【0080】
いくつかの実施形態において、入力装置コントローラ506は、1つまたは複数の入力装置508からの入力を制御し受信するための、任意の好適な回路であり得る。例えば、入力装置コントローラ506は、タッチスクリーンから、キーボードから、1つもしくは複数のボタンから、音声認識回路から、マイクロフォンから、カメラから、光学センサから、加速度計から、温度センサから、近接場センサから、圧力センサから、エンコーダーから、および/または任意の他のタイプの入力装置から、入力を受信するための回路であり得る。
【0081】
いくつかの実施形態において、ディスプレイ/音声ドライバ510は、1つまたは複数のディスプレイ/音声出力装置512への出力を制御し駆動するための任意の好適な回路であり得る。例えば、ディスプレイ/音声ドライバ510は、タッチスクリーン、フラットパネルディスプレイ、ブラウン管ディスプレイ、投影機、スピーカー(a speaker or speakers)、ならびに/または、任意の他の好適なディスプレイおよび/もしくはプレゼンテーション装置を駆動するための回路であり得る。
【0082】
通信インターフェース(複数可)514は、1つまたは複数の通信ネットワーク(例えば、コンピュータネットワーク404)とインターフェースするための任意の好適な回路であり得る。例えば、インターフェース(複数可)514は、ネットワークインターフェースカード回路、無線通信回路、および/または任意の他の好適なタイプの通信ネットワーク回路を含み得る。
【0083】
いくつかの実施形態において、アンテナ516は、通信ネットワーク(例えば、通信ネットワーク404)と無線で通信するための任意の好適な1つまたは複数のアンテナであり得る。いくつかの実施形態において、アンテナ516は省かれ得る。
【0084】
いくつかの実施形態において、バス518は、2つもしくは2つより多い構成要素502,504,506,510および514の間で通信するための任意の好適なメカニズムであり得る。
【0085】
いくつかの実施形態に従うと、任意の他の好適な構成要素は、ハードウェア500に含まれ得る。
【0086】
いくつかの実施形態において、図1図3のプロセスの上述されたブロックの少なくともいくつかは、図に示され図に関連して説明される順序およびシーケンスに限定されない、任意の順序またはシーケンスにおいて、実行され得るかまたは行われ得る。また、図1図3の上記のブロックのいくつかは、待ち時間および処理時間を低減するために、適切な場合には実質的に同時に、もしくは並行して実行され得るかまたは行われ得る。追加的または代替的に、図1図3のプロセスの上述されたブロックのいくつかは、省かれ得る。
【0087】
いくつかの実施形態において、任意の好適なコンピュータ読み取り可能な媒体は、本明細書の機能および/またはプロセスを行うための命令を格納するために用いられ得る。例えば、いくつかの実施形態において、コンピュータ読み取り可能な媒体は、一時的または非一時的であり得る。例えば、非一時的なコンピュータ読み取り可能な媒体は、非一時的な形の磁気的媒体(例えば、ハードディスク、フロッピー(登録商標)ディスク、および/もしくは任意の他の好適な磁気的媒体)、非一時的な形の光学式媒体(例えば、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、および/もしくは任意の他の好適な光学式媒体)、非一時的な形の半導体媒体(例えば、フラッシュメモリ、電気的プログラマブル読み出し専用メモリ(EPROM:electrically programmable read-only memory)、電気的消去可能なプログラマブル読み出し専用メモリ(EEPROM:electrically erasable programmable read-only memory)、および/もしくは任意の他の好適な半導体媒体)、伝達の間に、一過性でないかもしくは永続性に類似する如何なるものも欠けていない任意の好適な媒体、ならびに/または、任意の好適な有形な媒体などの媒体を含み得る。別の例として、一時的なコンピュータ読み取り可能な媒体は、ネットワーク上の信号、電信線、導体、光ファイバ、回路、伝達の間に、一過性でないかもしくは永続性に類似する如何なるものも欠けていない任意の好適な媒体、および/または任意の好適な有形の媒体における信号を含み得る。
【0088】
従って、圧縮された画像を生成するための、方法、システムおよび媒体が提供される。
【0089】
前述の例示的な実施形態において、発明が説明され例示されてきたが、本開示は、例としてのみなされたものであり、続く特許請求の範囲のみにより定められる、発明の趣旨および範囲から逸脱することなく、発明の実施形態の詳細における多数の変更がなされ得ることが理解される。開示された実施形態の特徴は、種々の方法において、組み合わせられ、組み替えられ得る。
図1
図2
図3
図4
図5
図6