(57)【要約】  少なくとも１つの実施形態は、第１の深度画像の画像領域に関連付けられた投影モードを符号化することであって、投影モードは、画像領域が同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す、符号化することと、投影モードの関数として、深度の最小深度値および最大深度値を符号化することと、を含む方法に関する。【選択図】図５
2021519533.tif 000002
【特許請求の範囲】
【請求項１】
−第１の深度画像の画像領域に関連付けられた投影モードを符号化することであって、前記投影モードは、前記画像領域が同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す、符号化することと、
−前記投影モードの関数として、前記深度の最小深度値および最大深度値を符号化することと、を含む方法。
【請求項２】
前記投影モードの関数として前記深度の最小深度値および最大深度値を符号化することは、前記投影モードが第１の値に等しいときに、第１の画像データとして、前記最小深度値を符号化し、第２の画像データとして、前記最大深度値を表す情報を符号化することと、前記投影モードが第２の値に等しいときに、第１の画像データとして、前記最大深度値を符号化し、第２の画像データとして、前記最小深度値を表す情報を符号化することと、を含む、請求項１に記載の方法。
【請求項３】
前記最小深度値または前記最大深度値のいずれかを表す前記情報が、前記最大深度値と前記最小深度値との間の絶対差である、請求項２に記載の方法。
【請求項４】
前記方法が、前記符号化された画像領域を送信することと、前記投影モードを信号伝達することと、をさらに含む、請求項１〜３のうちの一項に記載の方法。
【請求項５】
前記投影モードは、前記投影モードが変化し得るか否かを示すために点群レベルで信号伝達される、請求項４に記載の方法。
【請求項６】
前記投影モードが変化するとして前記点群レベルで信号伝達される場合、前記投影モードは、パッチレベルで信号伝達される、請求項４または５に記載の方法。
【請求項７】
−第１の深度画像の画像領域が、同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納しているかどうかを示す投影モードを取得することと、
−前記投影モードの関数として、前記深度の最小深度値および最大深度値を復号することと、を含む、方法。
【請求項８】
前記投影モードの関数として前記深度の最小深度値および最大深度値を復号することは、前記投影モードが第１の値に等しいときに、第１の画像データとして前記最小深度値を復号し、第２の画像データとして前記最大深度値を表す情報を復号することと、前記投影モードが第２の値に等しいときに、第１の画像データとして前記最大深度値を復号し、第２の画像データとして前記最小深度値を表す情報を復号することと、を含む、請求項７に記載の方法。
【請求項９】
前記最小深度値または前記最大深度値のいずれかを表す前記情報が、前記最大深度値と前記最小深度値との間の絶対差である、請求項８に記載の方法。
【請求項１０】
前記投影モードがビットストリームからである、請求項７〜９のうちの一項に記載の方法。
【請求項１１】
−第１の深度画像の画像領域に関連付けられた投影モードを符号化することであって、前記投影モードは、前記画像領域が同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す、符号化することと、
−前記投影モードの関数として、前記深度の最小深度値および最大深度値を符号化することと、を行うように構成された少なくとも１つのプロセッサを含むデバイス。
【請求項１２】
前記投影モードの関数として前記深度の最小深度値および最大深度値を符号化することは、前記投影モードが第１の値に等しいときに、第１の画像データとして前記最小深度値を符号化し、第２の画像データとして前記最大深度値を表す情報を符号化することと、前記投影モードが第２の値に等しいときに、第１の画像データとして前記最大深度値を符号化し、第２の画像データとして前記最小深度値を表す情報を符号化することと、を含む、請求項１１に記載のデバイス。
【請求項１３】
前記最小深度値または前記最大深度値のいずれかを表す前記情報が、前記最大深度値と前記最小深度値との間の絶対差である、請求項１２に記載のデバイス。
【請求項１４】
前記少なくとも１つのプロセッサが、前記符号化された画像領域を送信することと、前記投影モードを信号伝達することと、を行うようにさらに構成されている、請求項１１〜１３のうちの一項に記載のデバイス。
【請求項１５】
前記投影モードは、前記投影モードが変化し得るか否かを示すために、点群レベルで信号伝達される、請求項１４に記載のデバイス。
【請求項１６】
前記投影モードが変化するとして前記点群レベルで信号伝達される場合、前記投影モードは、パッチレベルで信号伝達される、請求項１４または１５に記載のデバイス。
【請求項１７】
−第１の深度画像の画像領域が、同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納しているかどうかを示す投影モードを取得することと、
−前記投影モードの関数として、前記深度の最小深度値および最大深度値を復号することと、を行うように構成されている少なくとも１つのプロセッサを含む、デバイス。
【請求項１８】
前記投影モードの関数として前記深度の最小深度値および最大深度値を復号することは、前記投影モードが第１の値に等しいときに、第１の画像データとして前記最小深度値を復号し、第２の画像データとして前記最大深度値を表す情報を復号することと、前記投影モードが第２の値に等しいときに、第１の画像データとして前記最大深度値を復号し、第２の画像データとして前記最小深度値を表す情報を復号することと、を含む、請求項１７に記載のデバイス。
【請求項１９】
前記最小深度値または前記最大深度値のいずれかを表す前記情報が、前記最大深度値と前記最小深度値との間の絶対差である、請求項１８に記載のデバイス。
【請求項２０】
前記投影モードがビットストリームからである、請求項１７〜１９のうちの一項に記載のデバイス。
【請求項２１】
コンピュータプログラム製品であって、前記プログラムが１つ以上のプロセッサによって実行されるときに、前記１つ以上のプロセッサに請求項１または７に記載の方法を実施させる命令を含むコンピュータプログラム製品。
【請求項２２】
１つ以上のプロセッサに請求項１または７に記載の方法のステップを行わせるための命令を含む、非一時的なコンピュータ可読媒体。
【請求項２３】
深度画像の画像領域に関連付けられた投影モードを表すデータを含む信号であって、前記投影モードは、前記画像領域が同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す、信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本原理は、一般に、３Ｄオブジェクトの外部表面を表す点群のコーディングおよび復号に関連する。特に、排他的ではなく、本原理の技術分野は、そのような点群のジオメトリを表す深度画像の符号化／復号に関連する。
【背景技術】
【０００２】
本節では、読者に当技術分野の様々な態様を紹介することを意図しており、これらの態様は、以下に説明および／または特許請求される本開示の様々な態様に関連し得る。この議論は、読者に背景情報を提供して、本原理の様々な態様のより良好な理解を容易にするのに役立つと考えられる。したがって、これらの記述は、この観点から読み取られるべきであり、先行技術を容認したものとして読み取られるべきではないということを理解されたい。
【０００３】
点群は、何らかの座標系のデータ点のセットである。３次元座標系（３Ｄ空間）では、これらの点は通常、３Ｄオブジェクトの外部表面を表すことが意図されている。点群の各点は、その位置（３Ｄ空間でのＸ、Ｙ、Ｚ座標）によって定義されることが多く、場合によっては、例えば、ＲＧＢまたはＹＵＶ色空間で表される色、透明度、反射率、２成分法線ベクトルなどの他の関連付けられる属性によって定義されることもある。
【０００４】
通常、点群を６成分点（Ｘ、Ｙ、Ｚ、Ｒ、Ｇ、Ｂ）または同等の（Ｘ、Ｙ、Ｚ、Ｙ、Ｕ、Ｖ）のセットとして表し、ここで、（Ｘ、Ｙ、Ｚ）は３Ｄ空間における色付きの点の座標を定義し、（Ｒ、Ｇ、Ｂ）または（Ｙ、Ｕ、Ｖ）はこの色付きの点の色を定義する。
【０００５】
点群は、群が時間に関して発展するか否かに応じて、静的または動的であり得る。動的な点群の場合、点の数は一定ではなく、むしろ、一般に時間とともに発展する。したがって、動的な点群は、点のセットの時間順のリストである。
【０００６】
実際には、点群は、文化遺産や建築物など、様々な目的に使用でき、彫像や建築物などのオブジェクトを３Ｄでスキャンして、オブジェクトを送ったり、訪問したりすることなく、オブジェクトの空間構成を共有する。また、例えば、オブジェクトが破壊される、例えば、地震によって寺院が破壊されることがある場合に、オブジェクトの知識を確実に保存する方法である。このような点群は通常、静的で、色付きで、巨大である。
【０００７】
別の使用例は、３Ｄ表現を使用して、地図が平面に限定されず、起伏を含むことができる地形学および地図作成におけるものである。現在、Ｇｏｏｇｌｅマップは、３Ｄマップの良い例だが、点群ではなくメッシュを使用している。それでも、点群は３Ｄマップに適したデータ形式である場合があり、そのような点群は通常、静的で、色付きで、巨大である。
【０００８】
自動車産業および自動運転車も、点群が使用され得る領域である。自動運転車は、そのすぐ近くにある現実に基づいて適切な運転判断を行うために、その環境を「探る」ことができるべきである。ＬＩＤＡＲのような典型的なセンサは、意思決定エンジンで使用される動的な点群を生成する。これらの点群は人間が見ることを意図しておらず、典型的には小さく、必ずしも色付けされておらず、高頻度でキャプチャされるため動的である。これらは、Ｌｉｄａｒによって提供される反射率のような他の属性を持っていてもよく、この属性は検知されたオブジェクトの材料についての優れた情報であり、意思決定に役立つ場合がある。
【０００９】
バーチャルリアリティと没入型の世界は最近話題となっており、２Ｄフラットビデオの未来として多くの人が予測している。基本的な考え方は、看者が標準的なテレビに対抗して、その人の周りのすべての環境に没入させることであり、自分の前の仮想世界のみを見ることができる。環境における看者の自由度に応じて、没入感にはいくつかの段階がある。色付きの点群は、バーチャルリアリティ（またはＶＲ）の世界を配信するのに良好な形式の候補である。それらは静的または動的であり、通常は平均サイズであり、一度に数百万点以下であると言える。
【００１０】
点群圧縮は、ビットストリームのサイズがエンドユーザへの実用的な記憶／送信を可能にするのに十分に小さい場合にのみ、没入型世界に対して３Ｄオブジェクトの記憶／送信に成功する。
【００１１】
許容できる（または好ましくは、非常に良い）体験品質を維持しながら、ビットレートの適度な消費で動的点群をエンドユーザに配信できることが重要である。これらの動的点群の効率的な圧縮が、没入型世界の配信チェーンを実用的なものにするための重要なポイントである。
【００１２】
画像ベースの点群圧縮技術は、圧縮効率と低複雑性の組み合わせにより、ますます人気が高まっている。これらは２つの主要なステップで進行する。すなわち、まず、点群、つまり３Ｄ点を２Ｄ画像に投影（直交投影）する。例えば、少なくとも１つの深度画像は点群のジオメトリ、つまり３Ｄ空間における３Ｄ点の空間座標を表し、少なくとも１つのテクスチャ画像は、点群の３Ｄ点に関連付けられた属性、例えば、それら３Ｄ点に関連付けられたテクスチャ／色情報を表す。次に、これらの技術は、従来のビデオ符号化器を使用して、そのような深度とテクスチャ画像を符号化する。
【００１３】
画像ベースの点群圧縮技術は、例えば、ＨＥＶＣ（「ＩＴＵ−Ｔ  Ｈ．２６５  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  ｓｅｃｔｏｒ  ｏｆ  ＩＴＵ（１０／２０１４），ｓｅｒｉｅｓ  Ｈ：ａｕｄｉｏｖｉｓｕａｌ  ａｎｄ  ｍｕｌｔｉｍｅｄｉａ  ｓｙｓｔｅｍｓ，ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｏｆ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ−ｃｏｄｉｎｇ  ｏｆ  ｍｏｖｉｎｇ  ｖｉｄｅｏ，Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ，Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５」）のような２Ｄビデオ符号化器の性能を活用することによって、良好な圧縮性能をを達成し、同時にシンプルな投影スキームを使用して複雑さを低く抑えている。
【００１４】
画像ベースの点群圧縮技術の課題の１つは、特に点分布が多くの折り目（衣服におけるような凹領域／凸領域）を有する表面に従うとき、または点分布が（毛皮や髪のような）表面にまったく従わないときに、点群が画像への投影に適していない場合があるということである。これらの状況では、画像ベースの点群圧縮技術は、低い圧縮効率（多くの小さな投影が必要であり、２Ｄビデオ圧縮の効率を低下させる）または低品質（点群を表面に投影することが困難なため）に悩まされる。
【００１５】
この問題を緩和するために最新技術で使用されるアプローチの１つは、複数のジオメトリおよびテクスチャ情報を画像の同じ空間位置（ピクセル）に投影することである。これは点群の３Ｄ点ごとにいくつかの深度および／またはテクスチャ画像が生成される場合があることを意味する。
【００１６】
これは、例えば、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１／Ｎ１７２４８、マカオ、中国、２０１７年１０月に定義されているような、いわゆるテストモデルカテゴリ２の点群符号化器（ＴＭＣ２）の場合であり、点群は投影面に直交投影される。次いで、投影面の座標ごとに２つの深度値が関連付けられ、１つは最も近い点に関連付けられた深度値（最小深度値）を表し、もう１つは最も遠い点の深度値（最大深度値）を表す。次いで、第１の深度画像が最小深度値（Ｄ０）から生成され、第２の深度画像がＤ１−Ｄ０＜＝ＳｕｒｆａｃｅＴｈｉｃｋｎｅｓｓを満たす最大深度値（Ｄ１）と最小深度値（Ｄ０）との差から生成され、ＳｕｒｆａｃｅＴｈｉｃｋｎｅｓｓは最大表面厚であり、例えば、４に等しい。
【００１７】
次いで、深度画像と関連付けられたメタデータが符号化および復号される。次いで、点群のジオメトリが、復号された深度画像から再構築される。次に、色／テクスチャが再構築された点群の各点に割り当てられ、テクスチャ画像（ここでは２つ）が割り当てられた色／テクスチャから生成される。次いで、２つのテクスチャ画像が符号化される。
【発明の概要】
【００１８】
以下は、本原理のいくつかの態様の基本的な理解を提供するために、本原理の簡略化された概要を提示する。この概要は、本原理の網羅的な要約ではない。本原理の主要なまたは重要な要素を特定することを意図していない。以下の概要は、以下に提供されるより詳細な説明への前置きとして、本原理のいくつかの態様を単純化した形で提示しているにすぎない。
【００１９】
少なくとも１つの実施形態の一般的な態様によれば、第１の深度画像の画像領域に関連付けられた投影モードを符号化することであって、投影モードは、画像領域が同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す、符号化することと、投影モードの関数として、深度の最小深度値および最大深度値を符号化することと、を含む方法が提供される。
【００２０】
一実施形態によれば、投影モードの関数として深度の最小深度値および最大深度値を符号化することは、投影モードが第１の値に等しいときに、第１の画像データとして最小深度値を符号化し、第２の画像データとして最大深度値を表す情報を符号化することと、投影モードが第２の値に等しいときに、第１の画像データとして最大深度値を符号化し、第２の画像データとして最小深度値を表す情報を符号化することと、を含む
【００２１】
一実施形態によれば、最小深度値または最大深度値のいずれかを表す情報は、最大深度値と最小深度値との間の絶対差である。
【００２２】
一実施形態によれば、本方法は、符号化された画像領域を送信することと、投影モードを信号伝達することと、をさらに含む。
【００２３】
一実施形態によれば、投影モードは、投影モードが変化し得るか否かを示すために、点群レベルで信号伝達される。
【００２４】
一実施形態によれば、投影モードが変化するとして点群レベルで信号伝達される場合、投影モードは、パッチレベルで信号伝達される。
【００２５】
少なくとも１つの実施形態の別の一般的な態様によれば、第１の深度画像の画像領域が、同じ投影方向に沿った点群の少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納しているかどうかを示す投影モードを取得することと、投影モードの関数として、深度の最小深度値および最大深度値を復号することと、を含む方法が提供される。
【００２６】
一実施形態によれば、投影モードの関数として深度の最小深度値および最大深度値を復号することは、投影モードが第１の値に等しいときに、第１の画像データとして最小深度値を復号し、第２の画像データとして最大深度値を表す情報を復号することと、投影モードが第２の値に等しいときに、第１の画像データとして最大深度値を復号し、第２の画像データとして最小深度値を表す情報を復号することと、を含む。
【００２７】
一実施形態によれば、最小深度値または最大深度値のいずれかを表す情報は、最大深度値と最小深度値との間の絶対差である。
【００２８】
一実施形態によれば、投影モードはビットストリームからである。
【００２９】
少なくとも１つの実施形態の１つ以上はまた、デバイス、コンピュータプログラム製品、非一時的なコンピュータ可読媒体、および信号を提供する。
【００３０】
本原理の特定の性質、および本原理の他の目的、利点、特徴、および使用は、添付の図面と併せて以下の例の説明から明らかになるであろう。
【図面の簡単な説明】
【００３１】
図面には、いくつかの実施形態の例が図示される。図面は以下を示す。
【００３２】
【図１】画像ベースの点群符号化構造の例の概略ブロック図を図示する。
【図２】図１の符号化器のジオメトリ圧縮部を示す。
【図３】点群が４つのＣＣに分割された第１の例を示す。
【図４】点群が４つのＣＣに分割された第２の例を示す。
【図５】図３および図４の第１の例および第２の例に適用されたときの少なくとも１つの実施形態による方法の結果を示す。
【図６】図３および図４の第１の例および第２の例に適用されたときの少なくとも１つの実施形態による方法の結果を示す。
【図７】少なくとも１つの実施形態による、点群の深度値を符号化するための方法のステップのブロック図を示す。
【図８】少なくとも１つの実施形態による、点群の少なくとも１つの３Ｄ点の深度値を復号するための方法のステップのブロック図を示す。
【図９】図１〜図８に関連して説明される方法を実装するように構成され得るデバイスの例示的なアーキテクチャを表す。
【図１０】少なくとも１つの実施形態の例による、デバイスＡとデバイスＢとの間の伝送システムを概略的に示す。
【００３３】
同様または同一の要素は、同じ参照番号で参照される。
【００３４】
本原理の例の説明
本原理は、本原理の例が示される添付の図面を参照して以下でより完全に説明される。しかしながら、本原理は、多くの代替形態で具体化されてもよく、本明細書に明示される例に限定されるものとして解釈されるべきではない。したがって、本原理は様々な修正形態および代替形態を受け入れる余地があるが、その特定の例は、図面に例として示され、本明細書で詳細に説明される。しかしながら、本原理を開示された特定の形態に限定する意図はないが、むしろ、本開示は、特許請求の範囲で定義されているように本原理の精神および範囲に含まれるすべての修正物、等価物、および代替物を網羅すると理解されたい。
【００３５】
本明細書で使用される専門用語は、特定の例を説明することのみを目的とし、本発明を限定することを意図していない。本明細書で使用される場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかに他を示さない限り、複数形も含むことが意図される。本明細書で使用される場合、「備える」、「備えている」、「含む」、および／または「含んでいる」という用語は、述べられた特徴、整数、ステップ、動作、要素、および／または構成要素の存在を特定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在または追加を排除しないことがさらに理解されよう。さらに、要素が別の要素に「応答する」または「接続される」と言及される場合、それは他の要素に直接応答するか、もしくは接続され得るか、または介在する要素が存在してもよい。対照的に、要素が他の要素に「直接応答する」または「直接接続される」と言及される場合、介在する要素は存在しない。本明細書で使用する場合、「および／または」という用語は、関連する列挙された項目のうちの１つ以上のありとあらゆる組合せを含み、「／」と略記することができる。
【００３６】
本明細書では、第１、第２などの用語を使用して様々な要素を説明する場合があるが、これらの要素はこれらの用語によって限定されるべきではないことが理解されよう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、本原理の教示から逸脱することなく、第１の要素を第２の要素と呼ぶことができ、同様に、第２の要素を第１の要素と呼ぶことができる。
【００３７】
一部の図は、通信の主要な方向を示すために通信経路上に矢印を含んでいるが、通信は、描かれた矢印と反対の方向で発生することがあることを理解されたい。
【００３８】
一部の例は、ブロック図および動作フローチャートに関して説明されており、各ブロックは、指定された論理機能（複数可）を実装するための１つ以上の実行可能な命令を含む回路要素、モジュール、またはコードの一部を表す。他の実装態様では、ブロックに記載されている機能（複数可）が記載されている順序とは異なる順序で発生することがあることにも留意されたい。例えば、連続して示されている２つのブロックは、実際、実質的に同時に実行されることがあるか、またはブロックは、伴う機能に応じて、時には逆の順序で実行されることがある。
【００３９】
本明細書における「一例による」または「一例における」への言及は、例に関して説明される特定の特徴、構造、または特性が、本原理の少なくとも１つの実装態様に含まれ得ることを意味する。本明細書の様々な場所での「一例による」または「一例における」という語句の出現は、必ずしもすべて同じ例を指しているわけではなく、別個または代替の例が他の例を必ずしも相互に排除しているわけでもない。
【００４０】
請求項に現れる参照番号は、例証としてのみであり、請求項の範囲に限定的な影響を与えるものではない。
【００４１】
明示的には説明されていないが、本例および変形例は、任意の組み合わせまたは部分的な組み合わせで使用されてもよい。
【００４２】
本原理は、２つの深度画像からの点群のジオメトリを符号化／復号することについて説明されているが、点群のシーケンスのジオメトリが深度画像の２つのシーケンス（ビデオ）によって／から符号化／復号されるため、点群のシーケンス（一時的に動的な点群）の符号化／復号に及び、点群に関連付けられた２つの深度画像は、シーケンスの別の点群の２つの深度画像とは無関係に符号化される。
【００４３】
以下では、「画像領域」という用語は、画像のピクセルのセットを指す。これらのピクセルは隣接するピクセルであってもなくてもよいが、すべてのピクセルは少なくとも１つの共通プロパティを共有する。
【００４４】
例えば、画像自体が画像領域であると見なされてもよい。画像はまた、複数のブロックに分割されてもよく、その場合、ブロックが画像領域である。
【００４５】
画像領域はまた、非長方形の形状を有してもよい。これは、例えば、同じ（または類似の）抽出された特徴を有する画像のピクセルが関連付けられて画像領域を形成する場合である。
【００４６】
画像から抽出された特徴の例としては、色、テクスチャ、法線ベクトルなどであってもよい。
【００４７】
図１は、ＴＭＣ２点群符号化器の概要を示す。上の行（ジオメトリ圧縮）は、深度画像を使用して、点群のジオメトリ情報を符号化する。中央の行（メタデータ圧縮）は、深度画像から元の点群のジオメトリを再構築するために必要なメタデータを符号化する。下の行（テクスチャ圧縮）は、色（テクスチャ）画像を使用して、再構築されたジオメトリの色（テクスチャ）情報を符号化する。
【００４８】
図２に示すジオメトリ圧縮部分をさらに詳しく見てみる。まず、入力点群（ＰＣ）は、接続成分（ＣＣ）にセグメント化され、各ＣＣは、同様の法線を持つ隣接する３Ｄ点のセットである。各ＣＣは、３つの主平面ＸＹ、ＸＺ、またはＹＺのうちの１つに投影され、ＣＣの３Ｄ点の平均法線に近い法線を選択する。ジオメトリ情報の投影は、各３Ｄ点から投影面までの距離（深度）を投影面に投影することに存する。例えば、ＣＣからＸＹ平面に投影される３Ｄ点ｐ＝（ｘ，ｙ，ｚ）は、ＸＹ平面の（ｘ，ｙ）ピクセルに投影されたｚの値になる。ＣＣ内の３Ｄ点の分布に応じて、２つ以上の値が投影面の同じ座標に投影されることがある。単純なアプローチでは、最も近い点に対応する値（つまり、最小深度値）を単純に保持するが、これでは、（衣類の折り目のような）より複雑な３Ｄ点分布を捉えることができないことがある。図２に示すように、ＴＭＣ２テストモデルは、投影面の座標ごとに２つの値、すなわち、最小（ｄｅｐｔｈ０）と最大（ｄｅｐｔｈ１）の深さを保持する。これを行うことにより、符号化される投影データの量を増やすことを犠牲にして、３Ｄ空間における点の分布をより適切にキャプチャする。
【００４９】
ＣＣの投影は、投影されたデータの２Ｄ画像であるパッチをもたらす。投影面の各座標に投影される値と同じだけＣＣごとにパッチがある。ＴＭＣ２には、２つの深度パッチがある（１つは最小深度のためのもの、１つは最大深度のためのもの）。最小深度値および最大深度値を格納するパッチは、画像データとして符号化される。したがって、ＴＭＣ２において、２つの深度画像が必要とされる。すなわち、１つは最小深度値を表す情報を格納するためのもの、１つは最大深度値を表す情報を格納するためのものである。
【００５０】
入力点群ごとに複数の深度画像を使用すると、（１）依然として点群のジオメトリを適切にキャプチャしない場合があり、（２）ビットレート全体を増加させ、圧縮効率を低下させる。
【００５１】
図３は、点群が４つのＣＣに分割された第１の例を示す（点は、異なるレベルの灰色の正方形とハッシュされた正方形で表されている）。ハッシュされた正方形で表されるＣＣに焦点を当てている。このＣＣの点は垂直「平面」に投影され（この例では、１Ｄに投影された２Ｄ点群）、その結果、投影平面の一部の位置が２つ以上の値（この例では、０から７）を有する。
【００５２】
上で説明したように、ＴＭＣ２では、１つの投影画像の各ピクセルについて２つの深度値が格納される。２つの深度値は、投影された点の最小深度値および最大深度値に対応し、閾値「ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ」以下の差値を有する。図３の例では、パラメータは４に等しい。この特定の値は、ＴＭＣ２点群ビデオコーデックに優れたレート歪み効率を提供するが、ここでは非限定的な例としてのみ提供される。
【００５３】
この第１の例では、ＣＣの数個の点（ハッシュされた正方形）がＣＣの主表面から切断されている。最小深度値と最大深度値との間の距離は「ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ」よりも小さいため、逆投影後の再構築されたＣＣ（再構築されたパッチ）は、点が欠落することなく完璧である。ただし、図３に示すように、最小深度値を格納したパッチはＣＣの主外表面に従わず、非常にノイズが多いことに留意する。これは信号に高周波を導入し、この不均一なパッチはＨＥＶＣ符号化をより困難にし、効率を低下させる。これにより、第１の深度画像に関連付けられたビットレートが増加し、ジオメトリの再構築の精度を低下させる。
【００５４】
さらに、テクスチャ画像も第１の深度画像に関連付けられてもよい。この例では、ＣＣの主表面上の均一な色（例えば、値２４０）と、主表面から離れた点の別の色（例えば、値１６）を考えてみる。この色分布は、点群において典型的であり、高周波の存在によりノイズが多く、ＨＥＶＣで符号化することが難しい最小深度値に関連付けられたテクスチャパッチをもたらす。
【００５５】
図４は、点群が４つのＣＣに分割されている第２の例を示す（点は、異なるレベルの灰色の正方形およびハッシュされた正方形で表される）。この第２の例は、同様に点群が４つのＣＣに分割されている第１の例と似ている。第１の例との違いは、最小深度値と最大深度値との間の距離が「ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ」パラメーター（点線の正方形）より大きいことである。したがって、最大深度値は保持されないため、逆投影後に再構築されたＣＣの品質は悪く、多くの欠損点がある。欠損点のほとんどが３Ｄ主表面に属しているという事実は、再構築の問題を悪化させる（客観的な測定基準と視覚的な品質の両方で）。第１の例におけるように、パッチは均一ではなく、非常にノイズが多い。それは、信号に高周波を導入し、ＨＥＶＣ符号化を非常に困難にし、効率を低下させる。これにより、第１の深度画像に関連付けられたビットレートが増加し、ジオメトリの再構築の精度を低下させる。
【００５６】
さらに、テクスチャ画像も第１の深度画像に関連付けられてもよい。この例では、ＣＣの主表面上の均一な色（例えば、値２４０）と、主表面から離れた点の別の色（例えば、値１６）を考えてみる。この色分布は、点群において典型的であり、高周波の存在により非常にノイズが多く、ＨＥＶＣで符号化することが難しい最小深度値に関連付けられたテクスチャパッチをもたらす。
【００５７】
少なくとも１つの実施形態の一般的な態様によれば、典型的には、投影面へのパッチの投影に対応する画像領域について、第１の深度画像に最小深度値または最大深度値を格納するかどうか、第２の深度画像に最大値または最小値を表す情報を格納するかどうかを決定する方法が提供される。
【００５８】
点群圧縮の場合、ＴＭＣ２コーデックは、３つの可能な投影方向から選択することにより、各接続成分の投影を最適化しようとする。本実施形態の少なくとも１つは、各投影方向に対して２つの異なる投影モードを提供することにより、各接続成分の投影をさらに最適化することを可能にする。これにより、接続成分の特性への投影をより良好に調整することが可能になる。
【００５９】
最小深度値または最大深度値が第１の深度画像に格納されるかどうかを決定すると（常に最小深度値を格納するのではなく）、ＨＥＶＣ符号化のパフォーマンス、したがってＴＭＣ２ｖ０コーデック全体のパフォーマンスが向上する。さらに、最大深度値を格納することは、欠損点の数を減らし、残りの欠損点が３Ｄ主表面に属する可能性が低くなる（図７を参照）。これにより、客観的な品質測定基準（ジオメトリとテクスチャの両方）が改善され、再構築された点群ビデオの視覚的な品質が大幅に改善される。
【００６０】
図５および図６は、図３および図４の第１および第２の例に適用されたときの少なくとも１つの実施形態による方法の結果を示す。
【００６１】
これらの例では、接続成分ＣＣの投影は、Ｄ０で示される第１の深度画像の最小深度値（左側）または第１の深度画像Ｄ０の最大深度値（右側）を格納する。
【００６２】
示されているように、接続成分ＣＣについて、第１の深度画像Ｄ０に最大深度値を格納することを決定する場合、結果は最小深度を格納するよりも明らかに均一であり、ＨＥＶＣ符号化のパフォーマンスを向上させる（高周波が削除されている）。
【００６３】
図７は、少なくとも１つの実施形態による、点群の深度値を符号化するための方法のステップのブロック図を示す。
【００６４】
ステップ７１０において、モジュールは、第１の深度画像の画像領域が同じ投影方向に沿った点群の少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを投影モードが示すかどうかを決定する。
【００６５】
ステップ７２０において、モジュールは、投影モードの関数として深度の最小深度値および最大深度値を符号化する。
【００６６】
ステップ７２０の一実施形態によれば、モジュールは、投影モードの関数として深度の最小深度値および最大深度値を符号化し、投影モードが第１の値に等しいときに、第１の画像データとして最小深度値を符号化し、第２の画像データとして最大深度値を表す情報を符号化することと、投影モードが第２の値に等しいときに、第１の画像データとして最大深度値を符号化し、第２の画像データとして最小深度値を表す情報を符号化すること、とを含む。
【００６７】
一実施形態によれば、最小深度値または最大深度値のいずれかを表す情報は、最大深度値と最小深度値との間の絶対差である。
【００６８】
一実施形態によれば、ステップ７３０において、モジュールは、第１の、場合によっては第２の深度画像の符号化された画像領域および投影モードを送信する。
【００６９】
ステップ７３０の一実施形態によれば、投影モードは、投影モードが変化し得るか否かを示すために、点群レベルで信号伝達される。
【００７０】
ステップ７３０の一実施形態によれば、変化するとして投影モードが点群レベルで信号伝達される場合、投影モードはパッチレベルで信号伝達される。
【００７１】
したがって、投影モードがパッチごとに１ビットだけの場合であっても、その値が一定（つまり、すべてのパッチで同じ）であるときに、すべてのパッチに対してコーディングするのは最適ではない。投影モードが変更されていないか、またはビットレートを低減ししない場合、より高いレベルで信号伝達する。
【００７２】
ＴＭＣ２に適用されるときに、実施形態のうちの１つは、２Ｄ画像のピクセルに（３Ｄ空間からの）３Ｄ点を投影するために使用されてもよい。言い換えると、実施形態のうちの１つの実装態様は、以下のように、接続成分（３Ｄ）をパッチ（２Ｄ）に投影してもよい。
【００７３】
接続成分ＣＣに対して、モジュールは、投影方向（Ｘ、Ｙ、またはＺ軸）を選択し、選択した投影方向に従ってこれらのパラメータｎｏｒｍａｌＡｘｉｓ、ｔａｎｇｅｎｔＡｘｉｓ、ｂｉｔａｎｇｅｎｔＡｘｉｓを設定し、ｎｏｒｍａｌＡｘｉｓ、ｔａｎｇｅｎｔＡｘｉｓ、およびｂｉｔａｎｇｅｎｔＡｘｉｓはそれぞれ、パッチの法線、接線、および従接線軸に沿った再構築パッチ点に適用されるシフトを指す。
【００７４】
ステップ７１０では、投影モードＰｒｏｊｅｃｔｉｏｎＭｏｄｅが決定される。
【００７５】
ステップ７２０では、第１の深度画像が以下によって初期化される。
ｐ．ｄ０＝ｉｎｖａｌｉｄであり、
ここで、ｐ．ｄ０は第１の深度画像のピクセルｐの深度値を意味し、「ｉｎｖａｌｉｄ」は初期値を示す。
【００７６】
次に、現在の接続成分ＣＣの各点ｐに対して、以下のように現在の点ｐに投影を実行する。
Ｄ１＝ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｎｏｒｍａｌ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐａｔｃｈＩｎｄｅｘ］
Ｕ１＝ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐａｔｃｈＩｎｄｅｘ］
Ｖ１＝ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｂｉｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐａｔｃｈＩｎｄｅｘ］
ここで、ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］は、パッチフレームｆｒｍＩｄｘにおけるインデックスｐを有するパッチの接線軸に沿って再構築されたパッチ点に適用されるシフトと、パッチフレームＲｅｆＩｄｘにおけるインデックスＰｒｅｄＩｄｘを有するパッチの接線軸に沿って再構築されたパッチ点に適用されるシフトとの差を指定する。ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］の値は、両端を含め（−２gps#geometry#3d#coordinates#bitdepth#minus1+1＋１）から（２gps#geometry#3d#coordinates#bitdepth#minus1+1−１）の範囲内であるとし、ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｂｉｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］は、パッチフレームｆｒｍＩｄｘにおけるインデックスｐを有するパッチの従接線軸に沿って再構築されたパッチ点に適用されるシフトと、パッチフレームＲｅｆＩｄｘにおけるインデックスＰｒｅｄＩｄｘを有するパッチの従接線軸に沿って再構築されたパッチ点に適用されるシフトとの差を指定する。ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｂｉｔａｎｇｅｎｔ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］の値は、両端を含め（−２gps#geometry#3d#coordinates#bitdepth#minus1+1＋１）から（２gps#geometry#3d#coordinates#bitdepth#minus1+1−１）の範囲内であるとし、ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｎｏｒｍａｌ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］は、パッチフレームｆｒｍＩｄｘにおけるインデックスｐを有するパッチの法線軸に沿って再構築されたパッチ点に適用されるシフトとパッチフレームＲｅｆＩｄｘにおけるインデックスＰｒｅｄＩｄｘを有するパッチの法線軸に沿って再構築されたパッチ点に適用されるシフトとの差を指定する。ｄｐｄｕ＿３ｄ＿ｓｈｉｆｔ＿ｎｏｒｍａｌ＿ａｘｉｓ［ｆｒｍＩｄｘ］［ｐ］の値は、両端を含め（−２gps#geometry#3d#coordinates#bitdepth#minus1+1＋１）から（２gps#geometry#3d#coordinates#bitdepth#minus1+1−１）の範囲内であるとする。
【００７７】
ステップ７２０の実施形態によれば、投影モードＰｒｏｊｅｃｔｉｏｎＭｏｄｅ＝＝０（第１の値）の場合、第１の深度画像に現在の点ｐの最小深度値を格納する。すなわち、
ｐ．ｄ０［ｕ，ｖ］＝ｍｉｎ（ｄ，ｐ．ｄ０［ｕ，ｖ］）である。
【００７８】
次に、投影モードＰｒｏｊｅｃｔｉｏｎＭｏｄｅ＝＝１（第２の値）の場合、第１の深度画像に現在の点ｐの最大深度値を格納する。すなわち、
Ｐ．ｄ０［ｕ，ｖ］＝ｍａｘ（ｄ，ｐ．ｄ０［ｕ，ｖ］）である。
【００７９】
次に、第２の深度画像が初期化される。
ｐ．ｄ１＝ｐ．ｄ０であり、
ここで、ｐ．ｄ１は、第２の深度画像のピクセルｐの深度値を意味する。
【００８０】
次に、現在の接続成分ＣＣの各点ｐに対して、以下のように現在の点ｐに投影を実行する。
ｄ＝ｐｏｉｎｔ［ｐ．ｎｏｒｍａｌＡｘｉｓ］−ｐ．Ｄ１
ｕ＝ｐｏｉｎｔ［ｐ．ｔａｎｇｅｎｔＡｘｉｓ］−ｐ．Ｕ１
ｖ＝ｐｏｉｎｔ［ｐ．ｂｉｔａｎｇｅｎｔＡｘｉｓ］−ｐ．Ｖ１
投影モードＰｒｏｊｅｃｔｉｏｎＭｏｄｅ＝＝０（第１の値）であり、現在のピクセルが有効である場合に、（（（（ｄｐ．ｄ０［ｕ，ｖ］）＜＝ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ）および（ｄ＞ｐ．ｄ１［ｕ，ｖ］））ならば、
ｐ．ｄ１［ｕ，ｖ］＝ｄであり、
投影モードＰｒｏｊｅｃｔｉｏｎＭｏｄｅ＝＝１（第２の値）であり、現在のピクセルが有効な場合に、（（（ｐ．ｄ０［ｕ，ｖ］−ｄ）＜＝ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ）および（ｄ＜ｐ．ｄ１［ｕ，ｖ］））ならば、
ｐ．ｄ１［ｕ，ｖ］＝ｄである。
【００８１】
少なくとも１つの実施形態の実装態様の結果は、２つの深度画像を生成し得る。
【００８２】
ＴＭＣ２において、第１の深度画像の深度値が直接符号化される。ただし、第２の深度画像における深度値は、Ｄ０に関してデルタとして符号化されてもよい。すなわち、ｄｅｌｔａ＿ｄｅｐｔｈ＝ｄ１−ｄ０である。
【００８３】
少なくとも１つの実施形態によれば、第２の深度画像ｄ１における深度値を符号化するために使用されるｄｅｌｔａ＿ｄｅｐｔｈは、以下のように計算され得る。
ｄｅｌｔａ＿ｄｅｐｔｈ＝ａｂｓ（ｄ１−ｄ０）であり、
ここで、「ａｂｓ」は絶対値を示す。
【００８４】
図８は、少なくとも１つの実施形態による、点群のうちの少なくとも１つの３Ｄ点の深度値を復号するための方法のステップのブロック図を示す。
【００８５】
ステップ８１０において、モジュールは、第１の深度画像の画像領域が、同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納しているかどうかを示す投影モードを取得する。
【００８６】
最小深度値と最大深度値は、投影面から決定される。したがって、第１の投影面と第２の投影面が平行であるときに、第１の投影面から決定される最小深度値、それぞれ最大深度値は、第２の投影面から決定される最大深度値、それぞれ最小深度値に等しい。言い換えれば、最小深度値と最大深度値という用語は、投影面から定義される相対的な用語である。
【００８７】
ステップ８２０において、モジュールは、投影モードの関数として深度の最小深度値および最大深度値を復号する。
【００８８】
ステップ８２０の実施形態によれば、モジュールは、投影モードの関数として深度の最小深度値および最大深度値を復号し、投影モードが第１の値に等しいときに、第１の画像データとして最小深度値を復号し、第２の画像データとして最大深度値を表す情報を復号することと、投影モードが第２の値に等しいときに、第１の画像データとして最大深度値を復号し、第２の画像データとして最小深度値を表す情報を復号することと、を含む。
【００８９】
一実施形態によれば、最小深度値または最大深度値のいずれかを表す情報は、最大深度値と最小深度値との間の絶対差である。
【００９０】
一実施形態によれば、ステップ８３０において、モジュールはビットストリームから投影モードを導出する。
【００９１】
ＴＭＣ２に適用されるときに、実施形態のうちの１つは、少なくとも１つの投影モードを考慮に入れて、第１および第２の深度画像から（少なくとも１つの３Ｄ点のジオメトリを再構築するために）少なくとも１つの３Ｄ点の深度値を導出するために使用され得る。言い換えれば、実施形態のうちの１つの実装態様は、以下のようにパッチｐに対応する接続成分を再構築し得る。
【００９２】
パッチｐの各ピクセル（ｕ，ｖ）に対して、ｄ０（ｕ，ｖ）は第１の深度画像のピクセルであり、モジュールは以下のように第１の深度画像から３Ｄ点Ｐ０を計算する。
Ｐ０［ｐ．ｎｏｒｍａｌＡｘｉｓ］＝ｐ．Ｄ１＋ｄ０（ｘ，ｙ）
Ｐ０［ｐ．ｔａｎｇｅｎｔＡｘｉｓ］＝ｐ．Ｕ１＋ｕ
Ｐ０［ｐ．ｂｉｔａｎｇｅｎｔＡｘｉｓ］＝ｐ．Ｖ１＋ｖ
【００９３】
次に、モジュールは、第１と第２の深度画像から３Ｄ点Ｐ１を計算する。
ｓｉｇｎ＝ｐ．ＰｒｏｊｅｃｔｉｏｎＭｏｄｅ＝＝０？１：−１；
ｄ１＝ｄ０（ｘ，ｙ）＋ｓｉｇｎ＊ｍｉｎ（ｍａｘ（０，ｄｅｌｔａ＿ｄｅｐｔｈ（ｘ，ｙ）），ｓｕｒｆａｃｅＴｈｉｃｋｎｅｓｓ）
Ｐ１［ｐ．ｎｏｒｍａｌＡｘｉｓ］＝ｐ．Ｄ１＋ｄ１
Ｐ１［ｐ．ｔａｎｇｅｎｔＡｘｉｓ］＝ｐ．Ｕ１＋ｕ
Ｐ１［ｐ．ｂｉｔａｎｇｅｎｔＡｘｉｓ］＝ｐ．Ｖ１＋ｖ
ここで、ｐ．ＰｒｏｊｅｃｔｉｏｎＭｏｄｅは、パッチに関連付けられた投影モードを示す。
【００９４】
ステップ７３０および８３０の実施形態によれば、接続成分を投影／再構築するために使用される投影モード（ＰｒｏｊｅｃｔｉｏｎＭｏｄｅパラメータ）は、逆投影を実行するために（他のパラメータとともに）既知であり得る。点群圧縮の場合、これは、投影モードが符号化器と復号器によって事前に知られているか、ビットストリームで符号化器から復号器に送信され得ることを意味する。
【００９５】
ステップ７３０および８３０の実施形態によれば、投影モードは、その構文が表１に提供されている構文要素ＲｅａｄＰａｔｃｈＭｅｔａｄａｔａ（）関数の構文に従って、パッチレベルで信号伝達される。
【表１】
2021519533.tif 000003
【００９６】
ステップ７３０および８３０の実施形態によれば、投影モードが変化するとして点群レベルで信号伝達される場合、投影モードはパッチレベルで信号伝達される。
【００９７】
例えば、第１の構文要素ＰｒｏｊｅｃｔｉｏｎＭｏｄｅＧｌｏｂａｌが信号伝達される。点群ごとに１回定義されるその第１の構文要素は、（パッチごとの）投影モードが「可変」（０）か、「常に最小」（１）か、または「常に最大」（２）かどうかを示す。投影が可変であることを第１の構文要素が示すときに、パッチごとに定義された第２の構文要素ＰｒｏｊｅｃｔｉｏｎＭｏｄｅも信号伝達される。
【００９８】
例えば、ＴＭＣ２ではＲｅａｄＯｃｃｕｐａｎｃｙＭａｐとして知られる点群メタデータに第１の構文要素が追加される。エントロピーコーディングは、固定長のバイナリ値の代わりにＰｒｏｊｅｃｔｉｏｎＭｏｄｅＧｌｏｂａｌにオプションで使用することができる。
【００９９】
第１の構文要素ＲｅａｄＯｃｃｕｐａｎｃｙＭａｐ（）関数の可能な構文が表２に提供される。
【表２】
2021519533.tif 000004
【０１００】
第２の構文要素ＲｅａｄＰａｔｃｈＭｅｔａｄａｔａ（）関数の構文が表３に提供され得る。
【表３】
2021519533.tif 000005
【０１０１】
ステップ７１０の実施形態によれば、第１の深度画像の画像領域が、同じ投影方向に沿った点群の少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す投影モードは、次のように決定される。
−少なくとも１つの３Ｄ点をすべて３つの主平面ＸＹ、ＸＺ、およびＹＺに向けて投影し、各３Ｄ点から投影平面までの距離（つまり、深度）を投影する。投影は、それぞれ、３Ｄ空間のＺ、Ｙ、およびＺ軸に沿って、無限大またはマイナス無限大のいずれかに向かう。投影の結果は、［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］サイズで６つの異なる２Ｄ平面に格納される。３つの配列は、ＸＹ、ＸＺ、およびＹＺ平面の最小深度値を格納し、その他の３つの配列は、ＸＹ、ＸＺ、およびＹＺ平面の最大深度値を格納する。すなわち、
１）ｂｏｘ＿ｍｉｎ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｘ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］
２）ｂｏｘ＿ｍｉｎ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｙ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］
３）ｂｏｘ＿ｍｉｎ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｚ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］
であり、最大深度値を格納するための３つの以下の２Ｄ平面は
４）ｂｏｘ＿ｍａｘ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｘ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］
５）ｂｏｘ＿ｍａｘ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｙ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］
６）ｂｏｘ＿ｍａｘ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｚ］［ｂｂｏｘ＿ｘ＿ｓｉｚｅ，ｂｂｏｘ＿ｙ＿ｓｉｚｅ］であり、
−現在のパッチに割り当てられた「ｎｏｒｍａｌＡｘｉｓ」方向に従って、少なくとも１つの３Ｄ点を投影することにより、Ｄ０に格納された最良の深度（最小または最大）を選択する。次いで、現在の深度値が、ｂｏｘ＿ｍｉｎ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｎｏｒｍａｌＡｘｉｓ］およびｂｏｘ＿ｍａｘ＿ｄｅｐｔｈ＿ａｒｒａｙ［ｎｏｒｍａｌＡｘｉｓ］にそれぞれ格納されている最小深度値または最大深度値と等しいかどうかを検査する。１つのカウンタｃｐｔＭｉｎＤｅｐｔｈまたはｃｐｔＭａｘＤｅｐｔｈは、現在の深度値に従って増分される。すなわち、現在の深度がｂｏｘ＿ｍｉｎ＿ｄｅｐｔｈ＿ａｒｒａｙにある場合、ｃｐｔＭｉｎＤｅｐｔｈが増分され、現在の深度がｂｏｘ＿ｍａｘ＿ｄｅｐｔｈ＿ａｒｒａｙにある場合、ｃｐｔＭａｘＤｅｐｔｈが増分される。
【０１０２】
Ｄ０に最小深度値または最大深度値を格納する決定は、ｃｐｔＭｉｎＤｅｐｔｈとｃｐｔＭａｘＤｅｐｔｈを比較して行われる。ｃｐｔＭｉｎＤｅｐｔｈがｃｐｔＭａｘＤｅｐｔｈより大きい場合、少なくとも１つの３Ｄ点の最小深度値が第１の深度画像Ｄ０に格納され、そうでない場合は反対である（少なくとも１つの３Ｄ点の最大深度値が格納される）。
【０１０３】
ステップ７１０の実施形態によれば、第１の深度画像の画像領域が、同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す投影モードは、最小深度値と最大深度値を使用して第１の深度画像の画像領域のエネルギーを計算することによって決定され、エネルギーを最小化するバージョンが選択される。
【０１０４】
異なる基準を使用して、分散または勾配など、画像領域のエネルギーを計算してもよい。
【０１０５】
ステップ７１０の実施形態によれば、第１の深度画像の画像領域が、同じ投影方向に沿った点群のうちの少なくとも１つの直交投影された３Ｄ点の最小深度値または最大深度値のいずれかを格納するかどうかを示す投影モードは、欠損点の数を最小化することによって決定される。
【０１０６】
例えば、投影モードが第１の値に等しい（第１の深度画像Ｄ０に最小深度値を格納する）ときに、少なくとも１つの３Ｄ点は投影および逆投影され、投影モードが第２の値に等しい（第１の深度画像Ｄ０に最大深度値を格納する）ときに、少なくとも１つの３Ｄ点は投影および逆投影され、再構築された３Ｄ点（逆投影）を「元の」３Ｄ点と比較し、欠損点の数をカウントし、投影モードが第２の値に等しい（第１の深度画像Ｄ０に最大深度値を格納する）ときに、プロセスを繰り返し、欠損点の数を最小化する投影モードを選択する。
【０１０７】
変形例によれば、ステップ７１０の前の２つの実施形態が組み合わされて、第１の深度画像のエネルギーおよび欠損点の数を最小化する投影モードを決定する。
【０１０８】
図１〜図９では、モジュールは機能ユニットであり、それらは、区別可能な物理ユニットに関連してもよく、関連しなくてもよい。例えば、これらのモジュールもしくはそれらの一部は、一意のコンポーネントもしくは回路にまとめられるか、またはソフトウェアの機能に貢献することができる。反対に、一部のモジュールは個別の物理エンティティで潜在的に構成されてもよい。本原理と互換性のある装置は、例えば、それぞれ「特定用途向け集積回路」、「フィールドプログラマブルゲートアレイ」、「超大規模集積回路」であるＡＳＩＣ、ＦＰＧＡ、ＶＬＳＩなどの専用ハードウェアを使用した純粋なハードウェアを使用して、またはデバイスに組み込まれたいくつかの集積電子コンポーネントから、もしくはハードウェアおよびソフトウェアのコンポーネントのブレンドから実装される。
【０１０９】
図９は、図１〜図８に関連して説明された方法を実装するように構成され得るデバイス９０の例示的なアーキテクチャを表す。
【０１１０】
デバイス９０は、データおよびアドレスバス９１により互いにリンクされる以下の要素、すなわち
−マイクロプロセッサ９２（またはＣＰＵ）、例えば、ＤＳＰ（またはデジタルシグナルプロセッサ）と、
−ＲＯＭ（または読み取り専用メモリ）９３と、
−ＲＡＭ（またはランダムアクセスメモリ）９４と、
−送信するデータをアプリケーションから受信するためのＩ／Ｏインターフェース９５と、
−バッテリー９６と、を含む。
【０１１１】
１つの例によれば、バッテリー９６はデバイスの外部にある。上記の各メモリでは、本明細書で使用される「レジスタ」という語は、小容量（いくつかのビット）の領域または非常に大きな領域（例えば、プログラム全体、または大量の受信もしくは復号されたデータ）に対応し得る。ＲＯＭ９３は、少なくともプログラムおよびパラメータを含む。ＲＯＭ９３は、本原理に従う技術を実行するためのアルゴリズムおよび命令を記憶し得る。電源が投入されると、ＣＰＵ９２は、プログラムをＲＡＭにアップロードし、対応する命令を実行する。
【０１１２】
ＲＡＭ９４は、１つのレジスタ内に、ＣＰＵ９２によって実行され、かつデバイス９０の電源投入の後にアップロードされるプログラム、１つのレジスタ内に入力データ、１つのレジスタ内に方法の異なる状態の中間データ、および１つのレジスタ内に方法の実行のために使用される他の変数を含む。
【０１１３】
本明細書で説明された実装態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号に実装され得る。（例えば、方法またはデバイスとしてのみ考察された）単一の形態の実装態様の場合でのみ考察されたとしても、考察された機能の実装態様は他の形態（例えば、プログラム）でも実装され得る。装置は、例えば適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。これらの方法は、例えば、装置に実装することができ、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む、一般に、処理デバイスを指す、例えば、プロセッサなどに実装することができる。プロセッサは、通信デバイスも含み、例えば、コンピュータ、携帯電話、ポータブル／パーソナルデジタルアシスタンス（「ＰＤＡ」）、およびエンドユーザ間の情報の伝達を容易にする他のデバイスなども含む。
【０１１４】
符号化することまたは符号化器の例によれば、ｐ点群ＰＣはソースから取得される。例えば、ソースは、
−ローカルメモリ（９３または９４）、例えば、ビデオメモリまたはＲＡＭ（もしくはランダムアクセスメモリ）、フラッシュメモリ、ＲＯＭ（もしくは読み取り専用メモリ）、ハードディスクと、
−記憶装置インターフェース（９５）、例えば、大容量記憶装置、ＲＡＭ、フラッシュメモリ、ＲＯＭ、光ディスク、または磁気サポートとのインターフェースと、
−通信インターフェース（９５）、例えば、有線インターフェース（例えば、バスインターフェース、ワイドエリアネットワークインターフェース、ローカルエリアネットワークインターフェース）または無線インターフェース（ＩＥＥＥ  ８０２．１１インターフェースもしくはＢｌｕｅｔｏｏｔｈ（登録商標）インターフェースなど）と、
−ピクチャ捕捉回路（例えば、センサ、例えば、ＣＣＤ（もしくは電荷結合デバイス）またはＣＭＯＳ（もしくは相補型金属酸化膜半導体）など）と、を含むセットに属する。
【０１１５】
復号することまたは復号器の例によれば、復号された第１および／もしくは第２の深度画像、または再構築された点群が送信先に送信され、具体的には、送信は、
−ローカルメモリ（９３または９４）、例えば、ビデオメモリまたはＲＡＭ、フラッシュメモリ、ハードディスクと、
−記憶装置インターフェース（９５）、例えば、大容量記憶装置、ＲＡＭ、フラッシュメモリ、ＲＯＭ、光ディスク、または磁気サポートとのインターフェースと、
−通信インターフェース（９５）、例えば、有線インターフェース（例えば、バスインターフェース（例えば、ＵＳＢ（もしくはユニバーサルシリアルバス））、ワイドエリアネットワークインターフェース、ローカルエリアネットワークインターフェース、ＨＤＭＩ（登録商標）（高解像度マルチメディアインターフェース）インターフェース）または無線インターフェース（ＩＥＥＥ８０２．１１インターフェース、ＷｉＦｉ（登録商標）もしくはＢｌｕｅｔｏｏｔｈ（登録商標）インターフェースなど）と、
−ディスプレイと、を含むセットに属する。
【０１１６】
符号化することまたは符号化器の例によれば、ビットストリームＢは送信先に送信される。１つの例として、ビットストリームＢは、ローカルメモリまたはリモートメモリ、例えば、ビデオメモリ（９４）またはＲＡＭ（９４）、ハードディスク（９３）に記憶される。変形例では、１つまたは両方のビットストリームは、記憶装置インターフェース（９５）、例えば、大容量記憶装置、フラッシュメモリ、ＲＯＭ、光ディスク、もしくは磁気サポートとのインターフェースに送信され、および／または通信インターフェース（９５）、例えば、ポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク、もしくは放送ネットワークへのインターフェースを介して送信される。
【０１１７】
復号することまたは復号器の例によれば、ビットストリームＢはソースから取得される。例示的には、ビットストリームは、ローカルメモリ、例えば、ビデオメモリ（９４）、ＲＡＭ（９４）、ＲＯＭ（９３）、フラッシュメモリ（９３）、またはハードディスク（９３）から読み取られる。変形例では、ビットストリームは、記憶装置インターフェース（９５）、例えば、大容量記憶装置、ＲＡＭ、ＲＯＭ、フラッシュメモリ、光ディスク、もしくは磁気サポートとのインターフェースから受信され、および／または通信インターフェース（９５）、例えば、ポイントツーポイントリンク、バス、ポイントツーマルチポイントリンク、もしくは放送ネットワークとのインターフェースから受信される。
【０１１８】
例によれば、図１〜図２４に関して説明された方法を実装するように構成されているデバイス９０は、
−モバイルデバイスと、
−通信デバイスと、
−ゲームデバイスと、
−タブレット（または、タブレットコンピュータ）と、
−ラップトップと、
−静止画カメラと、
−ビデオカメラと、
−符号化チップと、
−静止画サーバと、
−ビデオサーバ（例えば、ブロードキャストサーバ、ビデオオンデマンドサーバ、またはウェブサーバ）と、を含むセットに属する。
【０１１９】
例によれば、図１〜図２４に関連して説明された方法を実装するように構成されているデバイス９０は、
−モバイルデバイスと、
−通信デバイスと、
−ゲームデバイスと、
−セットトップボックスと、
−テレビセットと、
−タブレット（またはタブレットコンピュータ）と、
−ラップトップと、
−ディスプレイと、
−復号チップと、を含むセットに属する。
【０１２０】
図１０に図示される本原理の例によれば、通信ネットワークＮＥＴを介した２つのリモートデバイスＡおよびＢとの間の送信状況において、デバイスＡは、メモリＲＡＭおよびＲＯＭに関連するプロセッサを備え、これらは、図１〜図８に関連して説明されるように点群のジオメトリを符号化するための方法を実装するように構成されており、デバイスＢは、メモリＲＡＭおよびＲＯＭに関連するプロセッサを備え、これらは、図１〜図８に関連して説明されるように点群を復号するための方法を実装するように構成されている。
【０１２１】
本明細書で説明される様々なプロセスおよび特徴の実装態様は、様々な異なる機器またはアプリケーションで具体化され得る。このような機器の例は、符号化器、復号器、復号器からの出力を処理するポストプロセッサ、入力を符号化器に提供するプリプロセッサ、ビデオ符号化器、ビデオ復号器、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、ＰＤＡ、およびピクチャもしくはビデオを処理するための任意の他のデバイス、または他の通信デバイスを含む。明らかである必要があるが、機器は、可搬式とすることができ、移動車両にさえ搭載することができる。
【０１２２】
加えて、方法は、プロセッサによって行われる命令によって実装されてもよく、そのような命令（および／または実装態様によって生成されるデータ値）は、コンピュータ可読記憶媒体に記憶されてもよい。コンピュータ可読記憶媒体は、１つ以上のコンピュータ可読媒体で具体化され、かつコンピュータで実行可能なコンピュータ可読プログラムコードがその上で具体化されるコンピュータ可読プログラム製品の形態をとることができる。本明細書で使用されるコンピュータ可読記憶媒体は、そこに情報を記憶する固有の能力、ならびにそこから情報の検索を提供する固有の能力が与えられた非一時的記憶媒体と見なされる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述の任意の適切な組み合わせとすることができるが、これらに限定されない。以下は、本原理を適用することができるコンピュータ可読記憶媒体のより具体的な例を提供するが、当業者によって容易に理解されるように、単なる例示であり、網羅的なリストではないことを理解されたい。すなわち、ポータブルコンピュータディスケット、ハードディスク、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、磁気記憶装置、または前述の任意の適切な組み合わせである。
【０１２３】
命令は、プロセッサ可読媒体に有形に具体化されるアプリケーションプログラムを形成することができる。
【０１２４】
命令は、例えば、ハードウェア、ファームウェア、ソフトウェア、または組み合わせに存在することができる。命令は、例えば、オペレーティングシステム、個別アプリケーション、または２つの組み合わせに見出すことができる。したがって、プロセッサは、例えば、プロセスを実行するように構成されたデバイス、およびプロセスを実行する命令を有するプロセッサ可読媒体（記憶装置など）を含むデバイスの両方として特徴付けることができる。さらに、プロセッサ可読媒体は、命令の他に、または命令の代わりに、実装態様により生成されるデータ値を格納することができる。
【０１２５】
当業者には明らかであるように、実装態様は、情報を伝達するようにフォーマットされる多種多様な信号を生成することができ、この情報は、例えば、格納または送信することができる。情報は、例えば、方法を実行する命令、または説明される実装態様のうちの１つにより生成されたデータを含むことができる。例えば、信号は、データとして、本原理の説明される例の構文を書き込むか、もしくは読み出すルールを搬送するか、またはデータとして、本原理の説明される例によって書き込まれる実際の構文値を搬送するようにフォーマットすることができる。。このような信号は、例えば、電磁波として（例えば、スペクトルの無線周波数部分を使用して）またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が搬送する情報は、例えば、アナログ情報またはデジタル情報とすることができる。信号は、既知の如く、多種多様な異なる有線リンクまたは無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に格納することができる。
【０１２６】
多数の実装態様が説明されてきた。それにもかかわらず、様々な変更を行うことができることが理解される。例えば、異なる実装態様の要素は、他の実装態様を生成するために組み合わせる、補足する、変更する、または削除することができる。また、当業者であれば、他の構造およびプロセスを、開示される構造およびプロセスに替えて用いることができ、結果として得られる実装態様が、少なくとも実質的に同じ機能（複数可）を、少なくとも実質的に同じ方法（複数可）で実行して、開示される実装態様と少なくとも実質的に同じ結果（複数可）を達成することを理解するであろう。したがって、これらの実装態様および他の実装態様は、本出願により想到される。
【図１】
2021519533.tif 000006
【図２】
2021519533.tif 000007
【図３】
2021519533.tif 000008
【図４】
2021519533.tif 000009
【図５】
2021519533.tif 000010
【図６】
2021519533.tif 000011
【図７】
2021519533.tif 000012
【図８】
2021519533.tif 000013
【図９】
2021519533.tif 000014
【図１０】
2021519533.tif 000015
【国際調査報告】
2021519533.tif 000016