(57)【要約】深度マップ上への非冗長的なサーフェス投影を使用する、サーフェス圧縮のためのサーフェス再投影コーデック及び方法。マルチ深度マップエンコーダは、３次元（３Ｄ）オブジェクトの表現である２次元（２Ｄ）のサーフェスを取り、これを複数のサーフェスパッチに分ける。これらのサーフェスパッチのそれぞれは、深度マップのセットからの１つの深度マップ上に投影される。これは、変換済み深度マップのセットを生成する。この変換済み深度マップのセットは、次いで標準の符号化技術を使用して符号化される。符号化されたバージョンの３Ｄオブジェクトは、格納されるか、ネットワークを介して伝送され、あるいはその双方が行われる。マルチ深度マップデコーダは、変換済み深度マップのセットを復号化して、サーフェスパッチを取得する。これらのサーフェスパッチ及び接続情報を使用して、２Ｄサーフェスを再生成することができる。そして、２Ｄサーフェスを使用して３Ｄオブジェクトを再構築することができる。
2016511457.tif 000002
【特許請求の範囲】
【請求項１】
２次元サーフェスを圧縮する方法であって、
デジタルの３次元オブジェクトの表現である前記２次元サーフェスを生成するステップと、
前記２次元サーフェスを複数のサーフェスパッチに分けるステップと、
前記複数のサーフェスパッチを深度マップのセット上に投影して、変換済み深度マップのセットを取得するステップと、
第１のコンピューティングデバイスを使用して前記変換済み深度マップのセットを符号化し、圧縮された３次元オブジェクトを取得するステップと、
を含む、方法。
【請求項２】
前記複数のサーフェスパッチのうちのそれぞれ１つを、前記深度マップのセットからの１つのみの深度マップ内に投影するステップ、
を更に含む、請求項１に記載の方法。
【請求項３】
少なくとも１つの符号化技術を使用して前記変換済み深度マップのセットを符号化するステップ、
を更に含む、請求項１に記載の方法。
【請求項４】
前記深度マップのセットから、該深度マップのセット内の他の深度マップと比べて、歪み量の最も少ない特定のサーフェスパッチを表すことになる深度マップを選択するステップ、
を更に含む、請求項１に記載の方法。
【請求項５】
最適化問題を解いて、前記深度マップのセットから、サーフェスパッチを投影すべき深度マップを決定するステップ、
を更に含む、請求項１に記載の方法。
【請求項６】
前記変換済み深度マップの圧縮されたセットを、前記第１のコンピューティングデバイスからネットワークを介して第２のコンピューティングデバイスに伝送するステップと、
復号化を助けるために、前記変換済み深度マップの圧縮されたセットとともに接続情報を伝送するステップと、
を更に含む、請求項１に記載の方法。
【請求項７】
サーフェス圧縮再投影システムであって、
汎用のコンピューティングデバイスと、
前記汎用のコンピューティングデバイスによって実行可能なコンピュータプログラムと、
を備え、
２次元サーフェスを符号化するためのエンコーダを更に備え、該エンコーダが、
デジタルの３次元オブジェクトを表す前記２次元サーフェスを生成する、サーフェス生成モジュールと、
前記２次元サーフェスを複数のサーフェスパッチに分ける、離散化モジュールと、
いずれのサーフェスパッチも２つ以上の深度マップ上に投影されないように、前記複数のサーフェスパッチを深度マップのセット上に投影して変換済み深度マップのセットを取得する、投影モジュールと、
少なくとも１つの符号化技術を使用して前記変換済み深度マップを符号化し、変換済み深度マップの圧縮されたセットを取得する、圧縮モジュールと、
を更に備える、
サーフェス圧縮再投影システム。
【請求項８】
前記複数のサーフェスパッチのうちの２つ以上が同じ深度マップ上に投影されると決定し、前記複数のサーフェスパッチを前記深度マップのセット上に投影するときに、第２のサーフェスパッチと比べて仮想深度カメラから更に離れた仮想深度カメラの位置にある第１のサーフェスパッチが、前記第２のサーフェスパッチの後ろに配置されるようにするレイヤ化の順序付けを使用する、順序付けモジュール
を更に備える、請求項７に記載のサーフェス圧縮再投影システム。
【請求項９】
前記変換済み深度マップの圧縮されたセットを復号化するデコーダを更に備え、該デコーダが、
前記変換済み深度マップの圧縮されたセットを復号化して、圧縮解除された変換済み深度マップを取得する、イメージ圧縮解除モジュールと、
前記圧縮解除された変換済み深度マップを、２次元サーフェスの表現の変換済みサーフェスパッチへと変換する、変換モジュールと、
前記変換済みサーフェスパッチを、圧縮解除された３次元オブジェクトへと再構築する、サーフェス再生成モジュールと、
を更に備える、請求項７に記載のサーフェス圧縮再投影システム。
【請求項１０】
デジタルの３次元オブジェクトを符号化及び復号化するためのコンピュータ実行可能命令を格納しているコンピュータ読取可能記憶媒体であって、
デジタルの３次元オブジェクトの表現である２次元サーフェスを生成するステップと、
前記２次元サーフェスを複数のサーフェスパッチに分けるステップと、
前記複数のサーフェスパッチを深度マップのセット上に投影して、変換済み深度マップのセットを取得するステップと、
前記変換済み深度マップのセットを符号化して、符号化された深度マップのセットを取得するステップと、
符号化された深度マップのセットとして前記デジタルの３次元オブジェクトを格納するステップと、
前記符号化された深度マップのセットを復号化して、復号化された３次元オブジェクトを取得するステップと、
を行う命令を含む、コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータグラフィクスでは、サーフェス（surface）（又は「メッシュ」）を使用して３次元（３Ｄ）のオブジェクトを表す。一般に、メッシュは、３Ｄオブジェクト及び付随する接続情報（connectivity  information）が組み込まれる２Ｄサーフェスである。これは、メッシュジオメトリ及びメッシュ接続として知られる。より具体的には、メッシュは、その接続関係に沿った２Ｄサーフェスの頂点、辺及び面のセットである。
【０００２】
サーフェス又はメッシュによって表される３Ｄオブジェクト用のジオメトリデータは、格納及び伝送の双方が難しいほど大きいことがしばしばある。したがって、格納及び伝送に先立って、このデータを圧縮することが望ましく、有利である。１つの現在のメッシュ圧縮技術は、典型的には階層構造における体積圧縮である。この技術はファイルを圧縮し、次いで圧縮されたファイルを異なる部分へと分割する。しかしながら、体積圧縮は、既存のイメージ圧縮機構を用いることができない。別のタイプのメッシュ圧縮技術は、ジオメトリイメージと呼ばれる完全な規則的構造上へ、メッシュをカットして再パラメータ化することである。しかしながら、これには時間が掛かり、そして歪みを加えてしまう傾向がある。
【発明の概要】
【０００３】
この「発明の概要」における記載は、以下で「発明を実施するための形態」において更に説明される概念の選択を簡略化した形で紹介するために提供される。この「発明の概要」における記載は、特許請求に係る主題の主要な特徴又は本質的特徴を特定するようには意図されておらず、また特許請求に係る主題の範囲を限定するのに使用されるようにも意図されていない。
【０００４】
サーフェス再投影コーデック及び方法の実施形態は、３Ｄオブジェクトの表現である２Ｄサーフェスを符号化及び復号化する。この２Ｄサーフェスの符号化及び復号化は、２Ｄサーフェスを深度マップ上に投影することによって達成される。３Ｄコンピュータグラフィクスにおける深度マップは、キャプチャされた３Ｄオブジェクトとカメラビューポイントとの間の距離に関する情報を含むイメージ又はイメージチャネルである。ビューポイントは、実際のカメラであってもよく、仮想カメラビューポイントであってもよい。深度マップは、次いで標準の符号化技術を使用して符号化される。言い換えると、２Ｄサーフェスは、深度マップを用いることにより符号化される。これにより、符号化されたバージョンの３Ｄサーフェスが得られる。
【０００５】
コーデック及び方法の実施形態は、高速かつ効率的で、既存のコーデック技術を用いる２Ｄサーフェスの符号化及び復号化を含む。コーデック及び方法の実施形態は、いずれのサーフェスも２つ以上の深度マップ内に符号化されないように、２Ｄサーフェスのサーフェスジオメトリを深度マップのセット上に投影する。コーデック及び方法のエンコーダ部分は、まず２Ｄサーフェスを複数のサーフェスパッチに分割又は離散させる。これらのサーフェスパッチは、均一であってもよく、様々なサイズ及び形状の任意の組み合わせであってもよい。サーフェスパッチは、次いで、４つの異なる方法のうちのいずれか１つ又は複数で深度マップのセット上に投影される。これは、深度マップ上に投影されたサーフェスパッチを含む、変換済み深度マップのセットを生成する。変換済み深度マップのセットは、次いで、標準の符号化技術を使用して符号化される。結果として得られる符号化された３Ｄオブジェクトを格納するか、ネットワーク経由で伝送することができ、あるいはその双方を行うことができる。
【０００６】
コーデック及び方法のデコーダ部分は、エンコーダから深度マップの符号化されたセットを受け取り、これらを復号化する。これにより、深度マップ上に投影されるサーフェスパッチを含む、復号化された変換済み深度マップが得られる。これらの深度マップは、サーフェスパッチに戻るよう変換され、２Ｄサーフェスが再生成される。結果として得られる２Ｄサーフェスを使用して、３Ｄオブジェクトを再構築することができる。
【０００７】
接続情報は、２Ｄサーフェスを得るため、サーフェスパッチを元通りに一緒に接続するのに使用される。一部の実施形態において、接続情報は、エンコーダの実施形態により取得されて、サイド情報として、符号化された３Ｄオブジェクトとともに伝送される。他の実施形態では、接続情報は、最適化関数を使用することにより、復号化処理の間に取得される。
【０００８】
コーデック及び方法の一部の実施形態において、複数のサーフェスパッチが、同じ深度マップ内の同じ位置に投影をすることがある。この例では、各サーフェスパッチが、別個の深度マップ上に投影され、レイヤ化の順序付け（layered  ordering）が使用される。レイヤ化の順序付けは、所与の位置における深度マップの各々のランク付けを示す。一部の実施形態において、これは、その位置から仮想カメラビューポイントまでの距離によって決定される。より小さな距離を有するこれらの深度マップは、より大きな距離を有する深度マップと比べて上になる。
【０００９】
代替的な実施形態も可能であり、本明細書で検討されるステップ及び要素は、特定の実施形態に応じて変更、追加又は省略してもよいことを認識されたい。これらの代替的な実施形態は、本発明の範囲から逸脱することなく、使用され得る代替的なステップ及び代替的な要素、成される可能性がある構造的変更を含む。
【図面の簡単な説明】
【００１０】
以下では図面を参照するが、図面において、同様の参照番号は全体を通じて対応する部分を表す。
【図１】コンピューティング環境において実装されるサーフェス再投影コーデック及び方法の実施形態の一般的な概要を示すブロック図である。
【図２】図１に示されるマルチ深度マップエンコーダのシステム詳細を示すブロック図である。
【図３】図１に示されるマルチ深度マップデコーダのシステム詳細を示すブロック図である。
【図４】本明細書で説明されるサーフェス再投影コーデック及び方法の様々な実施形態が実装され得る、汎用のコンピューティングシステムの簡略化した例を示す図である。
【図５】図１及び図２に示されるマルチ深度マップエンコーダの一般的な動作を示すフロー図である。
【図６】図１及び図３に示されるマルチ深度マップデコーダの一般的な動作を示すフロー図である。
【図７】図２に示される投影モジュールの第１の実施形態の動作を示すフロー図である。
【図８】図２に示される投影モジュールの第２の実施形態の動作を示すフロー図である。
【図９】図２に示される投影モジュールの第３の実施形態の動作を示すフロー図である。
【図１０】図２に示される投影モジュールの第４の実施形態の動作を示すフロー図である。
【図１１】図２に示される順序付けモジュールの動作を示すフロー図である。
【発明を実施するための形態】
【００１１】
サーフェス再投影コーデック及び方法についての下記の説明では、添付の図面を参照する。図面は、本出願の一部を形成し、サーフェス再投影コーデック及び方法の実施形態が実施され得る具体的な実施例を例示として示している。特許請求に係る主題の範囲から逸脱することなく、他の実施形態を用いてもよく、構造的変更を行ってもよいことが理解されよう。
【００１２】
＜Ｉ．システム概要＞
サーフェス再投影コーデック及び方法の実施形態は、深度マップ上への非冗長的なサーフェス再投影を使用して、高速かつ効率的なサーフェス圧縮を提供する。「コーデック」は、符号化と復号化の双方が可能なデバイス又はコンピュータプログラムである。サーフェスの再投影とは、サーフェスが、深度マップの形で、異なる座標系へと変換され得ることを意味する。
【００１３】
システム及び方法の一部の実施形態は、サーフェスのいずれの部分も２つ以上の深度マップ内に符号化されないように、サーフェスのジオメトリを深度マップのセット上へ投影する。他の実施形態ではオーバラップが存在し得る。深度マップは次いで、標準のビデオ符号化技術を使用して符号化される。深度マップの位置は、符号化サイズを最小にし、再投影のエラーを低減するように選択される。さらに、符号化ブロックにおける全ての不連続性が明示的に表れる。
【００１４】
図１は、コンピューティング環境において実装される、サーフェス再投影コーデック１００及び方法の実施形態の一般的な概要を示すブロック図である。図１に示されるように、コーデック１００及び方法は、第１のコンピューティングデバイス１１０及び第２のコンピューティングデバイス１２０において実装されるよう示される。一部の実施形態において、これらのコンピューティングデバイスは、単一のコンピューティングデバイスであってよく、あるいは複数のコンピューティングデバイスにわたって展開されてもよい。実施形態に関わらず、コンピューティングデバイスは実質的に、デスクトップコンピュータ、タブレットコンピューティングデバイス及び組み込みコンピューティングデバイスを含め、プロセッサを有する任意のデバイスであってよい。
【００１５】
図１に示される実施形態は、第１のコンピューティングデバイス１１０上に存在するマルチ深度マップエンコーダ１３０を含む。キャプチャされた３次元（３Ｄ）オブジェクト１４０が、マルチ深度マップエンコーダ１３０に入力される。キャプチャされた３Ｄオブジェクトは、例えばカメラやビデオカメラを使用することによる、３Ｄオブジェクトのデジタルキャプチャである。加えて、キャプチャされる３Ｄオブジェクトは、ソフトウェアと複数のカメラの使用を通して取得される仮想カメラビューポイントからのものであってよい。仮想カメラビューポイントは、単一のカメラでは達成することができないビューポイントであるが、複数のカメラを使用してそのビューポイントを取得する。
【００１６】
マルチ深度マップエンコーダ１３０からの出力は、符号化された３Ｄオブジェクト１５０である。以下で詳細に説明されるように、この符号化された３Ｄオブジェクト１５０を、デジタルストレージデバイスに格納することができる。さらに、符号化された３Ｄオブジェクト１５０を、ネットワーク１５５経由で第２のコンピューティングデバイス１２０のような別のデバイスに伝送することができる。これは、符号化された３Ｄオブジェクト１５０を、第１のコンピューティングデバイス１１０とネットワーク１５５をリンクする第１の通信リンク１６０を介して送信することにより、達成される。符号化された３Ｄオブジェクト１５０は、ネットワーク１５５から、第２の通信リンク１６５を介して第２のコンピューティングデバイス１２０に伝送される。
【００１７】
図１に示される実施形態は、第２のコンピューティングデバイス１２０上に存在するマルチ深度マップデコーダ１７０も含む。符号化された３Ｄオブジェクト１５０は、マルチ深度マップデコーダ１７０に入力される。マルチ深度マップデコーダ１７０は、符号化された３Ｄオブジェクト１５０を処理して、復号化された３Ｄオブジェクト１８０を出力する。この復号化処理は、以下で更に詳細に説明される。
【００１８】
＜ＩＩ．システム詳細＞
コーデック１００及び方法の実施形態は、サーフェス圧縮を高速かつ効率的な手法で実行するように協働する、様々なコンポーネント、デバイス及びシステムを含む。コンポーネント、システム及びデバイスを次に検討する。他の実施形態も可能であり、検討されるこれらのコンポーネント、システム及びデバイスの目的及び機能を達成するよう、他のコンポーネント、システム及びデバイスが使用されるか又は代用されてもよい。
【００１９】
＜ＩＩ．Ａ．マルチ深度マップエンコーダ＞
図２は、図１に示されるマルチ深度マップエンコーダ１３０のシステム詳細を示すブロック図である。図２に示されるように、マルチ深度マップエンコーダ１３０は、第１のコンピューティングデバイス１１０上で実装され、キャプチャされた３Ｄオブジェクト１４０を入力として受け取る。マルチ深度マップエンコーダ１３０は、２次元（２Ｄ）サーフェス２１０を生成するためのサーフェス生成モジュール２００を含む。２Ｄサーフェス２１０は、キャプチャされた３Ｄオブジェクト１４０の表現である。
【００２０】
マルチ深度マップエンコーダ１３０は、２Ｄサーフェス２１０を複数のサーフェスパッチ２３０に分ける、離散化モジュール２２０も含む。各サーフェスパッチは２Ｄサーフェス２１０の小さな一部分であり、これらのサーフェスパッチ２３０の合計が２Ｄサーフェス２１０の全体に等しい。
【００２１】
マルチ深度マップエンコーダ１３０の一部の実施形態は、接続情報２４０を含む。これは、点線で示されているように、オプションのコンポーネントである。接続情報２４０は、サーフェスパッチ２３０又はサーフェスパッチを表す深度マップが、２Ｄサーフェス２１０全体を生成するために、互いにどのように接続されるかを説明する。他の実施形態では、接続情報２４０は、復号化処理中に最適化関数を解くことによって決定される。
【００２２】
マルチ深度マップエンコーダ１３０の実施形態は、入力深度マップ２５０のセットの使用を行う。以下に詳細に説明されるように、この入力深度マップのセットは、サーフェスパッチ２３０の再投影を受け取るのに使用される。マルチ深度マップエンコーダ１３０の一部の実施形態は、順序付け（ordering）モジュール２６０も含む。（点線で示されるように）このオプションのモジュールは、２つ以上のサーフェスパッチが同じ深度マップ内の同じ位置の上に投影されるときに使用される。この状況では、順序付けモジュール２６０は、サーフェスパッチ２３０の順序を示す、レイヤ化の順序付け技術を使用するために用いられる。言い換えると、どのサーフェスパッチ２３０が上で、どのサーフェスパッチ２３０が下か、というレイヤ化の順序である。
【００２３】
マルチ深度マップエンコーダ１３０の実施形態は、複数のサーフェスパッチ２３０を投影するための投影モジュール２７０も含む。サーフェスパッチ２３０が深度マップ２５０上に投影されると、これにより、変換された深度マップ２８０が得られる。これらの変換済み深度マップ２８０は、圧縮モジュール２９０を使用して圧縮される。マルチ深度マップエンコーダ１３０の出力は、符号化された３Ｄオブジェクト１５０である。この符号化された３Ｄオブジェクト１５０は格納され、ネットワーク１５５を介して伝送され得る。
【００２４】
＜ＩＩ．Ｂ．マルチ深度マップデコーダ＞
図３は、図１に示されるマルチ深度マップデコーダ１７０のシステム詳細を示すブロック図である。図３に示されるように、マルチ深度マップデコーダ１７０は、第２のコンピューティングデバイス１２０上で実装され、符号化された３Ｄオブジェクト１５０を入力として受け取る。マルチ深度マップデコーダ１７０の一部の実施形態では、符号化された３Ｄオブジェクト１５０が、ネットワーク１５５を介して第２の通信リンク１６５を通じて受け取られる。
【００２５】
図３に示されるように、マルチ深度マップデコーダ１７０は、符号化された３Ｄオブジェクト１５０を受け取って処理する圧縮解除モジュール３００を含む。圧縮解除モジュール３００は、符号化された３Ｄオブジェクト１５０内に含まれる深度マップを復号化して、復号化された変換済みの深度マップ３１０のセットを出力する。マルチ深度マップデコーダ１７０の実施形態は、変換済みの深度マップ２８０のセットを複数のサーフェスパッチ２３０に変換するための変換モジュール３２０も含む。
【００２６】
一部の実施形態において、マルチ深度マップデコーダ１７０は、ネットワーク１５５を介して伝送された接続情報２４０を受け取る。これは、点線によりオプションとして示されている。他の実施形態では、マルチ深度マップデコーダ１７０は、１つ又は複数の最適化関数を使用して接続情報２４０を決定し、接続情報はネットワーク１５５を介して伝送されない。
【００２７】
マルチ深度マップデコーダ１７０の実施形態は、複数のサーフェスパッチ２３０と（ネットワーク１５５経由で伝送されるか、最適化関数を使用して取得された）接続情報２４０とを取り、これらをアセンブルして２Ｄサーフェス２１０を得る、サーフェス再生成モジュール３３０も含む。マルチ深度マップデコーダ１７０の実施形態は、２Ｄサーフェス２１０を使用して復号化された３Ｄオブジェクト１８０を回復させるための再構築モジュール３４０も含む。復号化された３Ｄオブジェクトは、マルチ深度マップデコーダ１７０の実施形態からの出力である。
【００２８】
＜ＩＩＩ．例示の動作環境＞
サーフェス再投影コーデック１００及び方法の実施形態の動作的な概要及び詳細について更に進む前に、サーフェス再投影コーデック１００及び方法の実施形態が動作し得る例示の動作環境の議論をここで提示する。本明細書で説明されるサーフェス再投影コーデック１００及び方法の実施形態は、様々なタイプの汎用又は専用のコンピューティングシステム環境又は構成で動作可能である。
【００２９】
図４は、本明細書で説明されるサーフェス再投影コーデック１００及び方法の様々な実施形態及び要素が実装され得る、汎用のコンピュータシステムの簡略化された例を示している。図４において破線又は点線によって示される全てのボックスは、簡略化されたコンピューティングデバイスの代替的な実施形態を表し、以下に説明されるように、これらの代替的な実施形態のいずれか又は全てが、本出願を通して説明される他の代替的な実施形態との組み合わせで使用されてもよいことを認識されたい。
【００３０】
例えば図４は、簡略化されたコンピューティングデバイス１０を示す一般的なシステム図を示している。そのようなコンピューティングデバイスは、典型的に、少なくとも何らかの最小限の演算機能を有するデバイスにおいてみられ、これらには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話やＰＤＡといった通信デバイス、マイクロプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオメディアプレーヤ等を含む。
【００３１】
デバイスが、本明細書で説明されるサーフェス再投影コーデック１００及び方法の実施形態を実装することができるように、デバイスは、基本的な演算動作を可能にする十分な演算機能とシステムメモリを有するべきである。特に、図４によって図示されるように、演算機能は一般的に、１つ以上の処理ユニット１２によって図示されており、また１つ以上のＧＰＵ１４を含んでもよい。処理ユニット１２又はＧＰＵの一方又は双方がシステムメモリ１６と通信する。汎用コンピューティングデバイスの処理ユニット１２は、ＤＳＰ、ＶＬＩＷ又は他のマイクロコントローラといった、専用のマイクロプロセッサであってよく、あるいはマルチコアＣＰＵ内の専用ＧＰＵベースのコアを含め、１つ以上の処理コアを有する従来的なＣＰＵとすることもできる。
【００３２】
加えて、図４の簡略化されたコンピューティングデバイスは、例えば通信インタフェース１８のような他のコンポーネントも含んでよい。図４の簡略化されたコンピューティングデバイスは、１つ以上の従来的なコンピュータ入力デバイス２０（例えばポインティングデバイス、キーボード、オーディオ入力デバイス、ビデオ入力デバイス、触覚入力デバイス、有線又は無線データ伝送を受け取るデバイス等）も含んでよい。図４の簡略化されたコンピューティングデバイスは、例えば１つ以上の従来的なディスプレイデバイス２４及び他のコンピュータ出力デバイス２２（例えばオーディオ出力デバイス、ビデオ出力デバイス、有線又は無線データ伝送を伝送するデバイス等）といった、他のオプションのコンポーネントも含んでよい。汎用コンピュータのための典型的な通信インタフェース１８、入力デバイス２０、出力デバイス２２及びストレージデバイス２６は当業者には周知であり、ここでは詳細には説明されないことに留意されたい。
【００３３】
図４の簡略化されたコンピューティングデバイスは、様々なコンピュータ読取可能媒体も含み得る。コンピュータ読取可能媒体は、ストレージデバイス２６を介してコンピュータ１０によってアクセス可能であり、かつ取外し可能２８及び／又は取外し不可能３０のいずれかの揮発性媒体及び不揮発性媒体の双方を含め、コンピュータ読取可能又はコンピュータ実行可能命令、データ構造、プログラムモジュール又は他のデータといった情報の記憶のための任意の利用可能な媒体とすることができる。コンピュータ読取可能媒体は、コンピュータ記憶媒体及び通信媒体を備えることがある。コンピュータ記憶媒体は、ＤＶＤ、ＣＤ、フロッピー（登録商標）ディスク、テープドライブ、ハードドライブ、光ドライブ、半導体メモリデバイス、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の記憶デバイス、所望の情報を記憶するのに使用することができ、１つ以上のコンピューティングデバイスによってアクセス可能な任意の他のデバイス等といった、有形のコンピュータ又はマシン読取可能媒体又は記憶デバイスを指す。
【００３４】
コンピュータ読取可能又はコンピュータ実行可能命令、データ構造、プログラムモジュール等といった情報の保持は、１つ以上の変調データ信号若しくは搬送波を符号化する様々な上述の通信媒体のいずれか、又は他の伝送機構若しくはプロトコルを使用することによって達成されることもあり、任意の有線又は無線の情報配信機構を含む。「変調データ信号」又は「搬送波」という用語は一般に、信号内に情報を符号化するような手法で設定又は変更された特性の１つ又は複数を有する信号を指す。例えば通信媒体は、有線ネットワーク又は直接有線接続といった、１つ以上の変調データ信号を担持する有線媒体と、音響、赤外線、レーザ及び他の無線媒体といった、１つ以上の変調データ信号又は搬送波を送信及び／又は受信するための無線媒体を含む。上記の任意の組み合わせも通信媒体の範囲に含まれるべきである。
【００３５】
さらに、本明細書で説明されるサーフェス再投影コーデック１００及び方法の実施形態の一部又は全てを具現化するソフトウェア、プログラム及び／又はコンピュータプログラム製品を、コンピュータ又はマシン読取可能媒体又はストレージデバイスと通信媒体との任意の所望の組み合わせから、コンピュータ実行可能命令又は他のデータ構造の形で、格納、受信、送信又は読み出してもよい。
【００３６】
最後に、本明細書で説明されるサーフェス再投影コーデック１００及び方法の実施形態は更に、プログラムモジュールのような、コンピューティングデバイスによって実行されるコンピュータ実行可能命令の一般的なコンテキストで説明されてもよい。一般に、プログラムモジュールは、特定のタスクを実行するか、特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本明細書で説明されるサーフェス再投影コーデック１００及び方法の実施形態は、タスクが１つ以上のリモート処理デバイスによって実行される分散コンピューティング環境において実施されてもよく、あるいは１つ以上の通信ネットワークを通してリンクされる１つ以上のデバイスのクラウド内で実施されてもよい。分散コンピューティング環境において、プログラムモジュールは、メディアストレージデバイスを含む、ローカルとリモートのコンピュータ記憶媒体の双方に配置されてもよい。またさらに、上述の命令は、ハードウェア論理回路の一部又は全体として実装されてよく、そのようなハードウェア論理回路はプロセッサを含んでもよく、含まなくてもよい。
【００３７】
＜ＩＶ．動作の概要＞
マルチ深度マップエンコーダ１３０とマルチ深度マップデコーダ１７０の実施形態の動作の概要を、次に提示する。以下の概要は、エンコーダ１３０とデコーダ１７０の実施形態が動作し得る幾つかの方法の例示に過ぎないことに留意されたい。
【００３８】
＜ＩＶ．Ａ．マルチ深度マップエンコーダの動作＞
図５は、図１及び図２に示されるマルチ深度マップエンコーダ１３０の一般的な動作を示すフロー図である。図５に示されるように、エンコーダ１３０の動作は、キャプチャされた３Ｄオブジェクトを入力することによって開始する（ボックス５００）。上記のように、キャプチャされた３Ｄオブジェクトは、カメラ、ビデオカメラ又は複数のカメラを用いる仮想カメラによってキャプチャされた、デジタルイメージである。
【００３９】
エンコーダ１３０の実施形態は、次いで、キャプチャされた３Ｄオブジェクトの表現である２Ｄサーフェスを生成する（ボックス５２０）。この２Ｄサーフェスは、複数のサーフェスパッチに分解又は離散される（ボックス５２０）。複数のサーフェスパッチは、均等な三角形、低曲率の三角形のグループ、有向点（oriented  points）又は実質的に任意の他の形状であってよい。さらに、複数のサーフェスパッチは、サイズと形状が均一であってよく、異なるサイズで形状が均一であってよく、あるいは異なる形状とサイズを有してよい。
【００４０】
次に、２つ以上のサーフェスパッチが同じ深度マップ内の同一の位置上に投影をするかどうかに関する判断が行われる。そうである場合、次いでエンコーダ１３０の実施形態は、レイヤ化の順序を使用して、レイヤの階層を決定する（ボックス５３０）。複数のサーフェスパッチの各々が、深度マップのセット上に投影される（ボックス５４０）。３Ｄコンピュータグラフィクスにおける深度マップは、キャプチャされた３Ｄオブジェクトとカメラのビューポイントとの間の距離に関する情報を含む、イメージ又はイメージチャネルである。ビューポイントは実際のカメラであってよく、あるいは仮想カメラのビューポイントであってもよい。深度マップ上へのサーフェスパッチのこの投影の結果が、変換済み深度マップ２８０のセットである。
【００４１】
エンコーダ１３０の実施形態は、変換済み深度マップ２８０のセット内の各深度マップを符号化する（ボックス５５０）。エンコーダ１３０の一部の実施形態において、この圧縮は、１つ以上の標準の符号化技術を使用して実行される。さらに、一部の実施形態では、符号化された３Ｄオブジェクトは、深度マップの符号化されたセットとして格納される（ボックス５６０）。一部の実施形態において、符号化された３Ｄオブジェクトは、深度マップの符号化されたセットとしてネットワーク経由で伝送される（ボックス５７０）。
【００４２】
一部の実施形態において、２Ｄサーフェスが複数のサーフェスパッチに離散化されるとき、接続情報が取得される。この場合、接続情報は、サイド情報として、深度マップの符号化されたセットとともにネットワーク経由で伝送される（ボックス５８０）。これは、点線で示されるようにオプションのイベントである。以下に説明されるように、他の実施形態では、接続情報は伝送されず、復号化処理中に決定される。
【００４３】
＜ＩＶ．Ｂ．マルチ深度マップデコーダの動作＞
図６は、図１及び図３に示されるマルチ深度マップデコーダ１７０の一般的な動作を示すフロー図である。図６に示されるように、一部の実施形態では、接続情報が、サイド情報としてネットワーク経由で伝送されて、デコーダ１７０の実施形態によって受け取られる（ボックス６００）。これは、点線で示されるようにオプションのイベントである。さらに、デコーダ１７０の実施形態は、ネットワーク経由で伝送された、深度マップの符号化されたセットを受け取る（ボックス６１０）。
【００４４】
デコーダ１７０の実施形態は、次いで、深度マップの符号化されたセットを復号化する（ボックス６２０）。これは、サーフェスパッチの投影を含む、変換済み深度マップの復号化されたセットを生成する。デコーダ１７０の実施形態は、次いで変換済み深度マップを処理して、複数のサーフェスパッチに戻す（ボックス６３０）。複数のサーフェスパッチと接続情報とを使用して、２Ｄサーフェスを再生成する（ボックス６４０）。
【００４５】
上記のように、接続情報がサイド情報として伝送されることがあり、あるいはデコーダ１７０の実施形態は、接続情報を見つけるために最適化関数を解かなければいけないことがある。接続情報がどのように取得されるかに関わらず、複数のサーフェスパッチは、その接続情報に基づいて元に戻って一緒になる。加えて、一部の実施形態において、オーバラップするサーフェスパッチが存在することがあり、レイヤ化の順序付けを使用して、サーフェスパッチを互いに対してどのようにレイヤ化するのかを決定する。デコーダ１７０の実施形態は、次いで２Ｄサーフェスを使用して３Ｄオブジェクトを再構築する（ボックス６５０）。この時点で、復号化が完了し、キャプチャされた３Ｄオブジェクトが回復される。
【００４６】
＜Ｖ．動作の詳細＞
次に、サーフェス再投影コーデック１００及び方法の選択コンポーネントの実施形態の動作の詳細を提示する。これは、投影モジュール２７０の実施形態と、オプションの順序付けモジュール２６０の実施形態の詳細を含む。
【００４７】
＜Ｖ．Ａ．投影モジュール＞
投影モジュール２７０の実施形態は、複数のサーフェスパッチを、深度マップのセットの各々に投影するのに使用される。投影モジュール２７０を使用し得る少なくとも４つの異なる実施形態が存在する。図７は、図２に示される投影モジュール２７０の第１の実施形態の動作を示すフロー図である。図７に示されるように、動作は、ユーザ供給される深度マップのセットの入力により開始する（ボックス７００）。言い換えると、この深度マップのセットは、ユーザが選択し、サーフェス再投影コーデック１００及び方法での使用に適切であろうと感じる深度マップである。
【００４８】
次に、投影モジュール２７０の第１の実施形態は、複数のサーフェスパッチを深度マップのセット上に投影する（ボックス７１０）。一部の実施形態では、これは、単一のサーフェスパッチを単一の深度マップに投影することによって行われる。他の実施形態では、サーフェスパッチの一部はオーバラップし得る。これらの実施形態の各々において、この処理が完了すると、投影されたサーフェスパッチを含む変換済みの深度マップのセットが、投影モジュール２７０の第１の実施形態により出力される（ボックス７２０）。
【００４９】
図８は、図２に示される投影モジュール２７０の第２の実施形態の動作を示すフロー図である。図８に示されるように、動作は、深度マップのセットを入力することにより開始する（ボックス８００）。投影モジュール２７０の第２の実施形態は、各サーフェスパッチを、深度マップのセット内の各深度マップ上に投影する（ボックス８１０）。
【００５０】
次いで、他のサーフェスパッチと比べて歪み量が最も少ないサーフェスパッチを表す深度マップが選択される（ボックス８２０）。所与の深度マップについて最も少ない歪み量を有するサーフェスパッチが、選択された深度マップ内に格納される（ボックス８３０）。選択された深度マップは、次いで、変換済み深度マップのセットの一部として出力される（ボックス８４０）。
【００５１】
図９は、図２に示される投影モジュール２７０の第３の実施形態の動作を示すフロー図である。動作は、複数のサーフェスパッチから１つのサーフェスパッチを入力することによって開始する（ボックス９００）。次に、所与のサーフェスパッチを投影すべき深度マップを見つけるために、最適化問題を解く（ボックス９１０）。この最適化問題を解くために幾つかの要因（factor）が使用され得る。
【００５２】
第１の要因（又は制約）は、所与のサーフェスが、マルチ深度マップではなく単一の深度マップ内に格納されることである（ボックス９２０）。第２の要因（又は制約）は、同じ深度マップ内に格納される２Ｄサーフェスの大きな連続ブロックを好むことである（ボックス９３０）。第３の要因（又は制約）は、最も少ない歪み量を有するサーフェスパッチを深度マップ内に格納することを好むことである（ボックス９４０）。その間ずっと、最も少ない歪み量を有する深度マップ内に格納する。
【００５３】
この第３の実施形態では、サーフェスパッチを投影すべき深度マップが、上述の第１、第２、第３の要因のいずれか１つ又は任意の組み合わせに基づいて選択され得る（ボックス９５０）。深度マップは次いで、変換済み深度マップのセットの一部として出力され得る（ボックス９６０）。
【００５４】
図１０は、図２に示される投影モジュールの第４の実施形態の動作を示すフロー図である。動作は、深度マップのセットを入力することによって開始する（ボックス１０００）。次に、１つの深度マップが、レート歪み最適化技術を使用することにより選択される（ボックス１０１０）。この技術は、所与のビットレートの再構築における歪みの量を最小にする。その指針は、歪みを最小にしつつも、ビットレートも最小にすることである。したがって、高い歪み及び高いビットレートは望ましくない。
【００５５】
投影モジュール２７０の第４の実施形態は、次いで、所与のビットレートについて歪みを最小にする深度マップを選択する（ボックス１０２０）。さらに、選択される深度マップは、最も低いビットレートで最も低い歪みを有する深度マップである（ボックス１０３０）。選択される深度マップは、変換済み深度マップのセットの一部として出力される（ボックス１０４０）。
【００５６】
＜Ｖ．Ｂ．順序付けモジュール＞
オプションの順序付けモジュール２６０の実施形態は、２つ以上のサーフェスパッチが２Ｄサーフェス上でオーバラップする場所において、サーフェスパッチの順序を決定するのに使用される。図１１は、図２に示される順序付けモジュール２６０の動作を示すフロー図である。動作は、各仮想カメラ位置についてマルチ（複数の）深度マップを格納することによって開始する（ボックス１１００）。言い換えると、同じ深度マップ内の同じ場所に投影をする複数のサーフェスパッチが存在するとき、同じ場所に投影をしているこれらのサーフェスパッチのそれぞれが、異なる深度マップに格納される。
【００５７】
次いで、マルチ深度マップの各々の位置が割り振られるように、レイヤ化の順序が決定される。言い換えると、レイヤ化の順序付けは、ある深度マップが別の深度マップの後ろに行くべきか、あるいは別の深度マップの前に来るべきかを定める。このレイヤ化の順序付けは、所与の仮想カメラ位置について、レイヤ化のランクが、２Ｄサーフェス上の場所から仮想カメラ位置までの距離に依存するように、マルチ深度マップの各々をレイヤ化することによって行われる（ボックス１１１０）。
【００５８】
さらに、レイヤ化の順序付けは、仮想カメラ位置により近い深度マップが、仮想カメラ位置から更に離れた深度マップと比べて、より高いレイヤとなる（あるいは、より高くランク付けされるか、仮想カメラ位置に対してより近くなる）ように、マルチ深度マップをレイヤ化する。順序付けモジュール２６０の実施形態は、次いでレイヤ化の順序付けを出力する（ボックス１１３０）。
【００５９】
本主題を、構造的特徴及び／又は方法的動作に特有の言葉で説明してきたが、添付の特許請求の範囲において定められる主題は、必ずしも上述の具体的な特徴又は動作に限定されない。むしろ、上述の具体的な特徴及び動作は、請求項を実装する例示の形として開示される。
【図１】
2016511457.tif 000003
【図２】
2016511457.tif 000004
【図３】
2016511457.tif 000005
【図４】
2016511457.tif 000006
【図５】
2016511457.tif 000007
【図６】
2016511457.tif 000008
【図７】
2016511457.tif 000009
【図８】
2016511457.tif 000010
【図９】
2016511457.tif 000011
【図１０】
2016511457.tif 000012
【図１１】
2016511457.tif 000013
【国際調査報告】
2016511457.tif 000014
2016511457.tif 000015
2016511457.tif 000016
2016511457.tif 000017