(57)【要約】  ビデオコーディング機構が開示される。この機構は、複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することを含む。複数のＰＣＣフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表す。各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される。この機構はまた、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、前記ビットストリームを解析することを含む。この機構はまた、ＰＣＣ属性に対する指示されたビデオコーデックに基づいて、ビットストリームを復号することを含む。
2022500931.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ復号器によって実施される方法であって、
前記復号器の受信機によって、複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することであって、前記複数のＰＣＣフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することと、
前記復号器のプロセッサによって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、前記ビットストリームを解析することと、
前記プロセッサによって、前記ＰＣＣ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することと、を含む、方法。
【請求項２】
ポイントクラウドコーディング（ＰＣＣ）フレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、前記シーケンスレベルのデータユニットは、第１の属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２の属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、請求項１に記載の方法。
【請求項３】
前記第１の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１〜２のいずれか一項に記載の方法。
【請求項４】
前記第１の属性は、複数のストリームに編成され、第２の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するストリームメンバシップを示す、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第１の属性は、複数のレイヤに編成され、第３の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するレイヤメンバシップを示す、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第２の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であり、前記第３の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
第４の構文要素は、前記複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記第４の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記ビットストリームは、ＰＣＣフレームの復号されたシーケンスに復号され、さらに、前記プロセッサによって、前記ＰＣＣフレームの復号されたシーケンスを提示のためのディスプレイに向けて転送することを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
ビデオ符号化器に実施される方法であって、
前記符号化器のプロセッサによって、複数のポイントクラウドコーディング（ＰＣＣ）フレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、前記複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することと、
前記プロセッサによって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される前記ビデオコーデックのうちの１つの指示を符号化することと、
前記符号化器の送信機によって、前記ビットストリームを復号器に向かって送信することと、を含む、方法。
【請求項１１】
前記ＰＣＣフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、前記シーケンスレベルのデータユニットは、第１のＰＣＣ属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２のＰＣＣ属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、請求項１０に記載の方法。
【請求項１２】
前記第１の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１０〜１１のいずれか一項に記載の方法。
【請求項１３】
前記第１の属性は、複数のストリームに編成され、第２の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するストリームメンバシップを示す、請求項１０〜１２のいずれか一項に記載の方法。
【請求項１４】
前記第１の属性は、複数のレイヤに編成され、第３の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するレイヤメンバシップを示す、請求項１０〜１３のいずれか一項に記載の方法。
【請求項１５】
前記第２の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であり、前記第３の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１０〜１４のいずれか一項に記載の方法。
【請求項１６】
第４の構文要素は、前記複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、請求項１０〜１５のいずれか一項に記載の方法。
【請求項１７】
前記第４の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、請求項１０〜１６のいずれか一項に記載の方法。
【請求項１８】
ビデオコーディングデバイスであって、
プロセッサと、前記プロセッサに結合された受信機と、前記プロセッサに結合された送信機と、を含み、前記プロセッサ、前記受信機、および前記送信機は、請求項１〜１７のいずれか一項に記載の方法を実行するように構成されている、デバイス。
【請求項１９】
ビデオコーディングデバイスによって使用されるコンピュータプログラム製品を含む非一時的コンピュータ可読媒体であって、前記コンピュータプログラム製品は、プロセッサによって実行されるときに、前記ビデオコーディングデバイスが請求項１〜１７のいずれか一項に記載の方法を実行するように、前記非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項２０】
符号化器であって、
複数のポイントクラウドコーディング（ＰＣＣ）フレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、前記複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することを行うための第１の属性符号化手段および第２の属性符号化手段と、
各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される前記ビデオコーデックのうちの１つの指示を符号化することを行うための構文符号化手段と、
前記ビットストリームを復号器に向かって送信することを行うための送信手段と、を含む、符号化器。
【請求項２１】
前記符号化器は、請求項１０〜１７のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項２０に記載の符号化器。
【請求項２２】
複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することであって、前記複数のＰＣＣフレームのコーディングシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することを行うための受信手段と、
各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、前記ビットストリームを解析することを行うための解析手段と、
前記ＰＣＣ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することを行うための復号手段と、を含む、復号器。
【請求項２３】
前記復号器は、請求項１〜９のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項２２に記載の復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
この特許出願は、Ｙｅ−Ｋｕｉ  Ｗａｎｇらにより２０１８年９月１４日に出願された、参照により本明細書に組み込まれている「Ｈｉｇｈ−Ｌｅｖｅｌ  Ｓｙｎｔａｘ  Ｄｅｓｉｇｎｓ  ｆｏｒ  Ｐｏｉｎｔ  Ｃｌｏｕｄ  Ｃｏｄｉｎｇ」と題された米国特許仮出願第６２／７３１，６９３号の利益を主張する。
【０００２】
本開示は、一般に、ビデオコーディングに関し、具体的には、ポイントクラウドコーディング（ＰＣＣ）ビデオフレームに対するビデオ属性のコーディングに関連する。
【背景技術】
【０００３】
比較的短いビデオを示すために必要とされるビデオデータの量は、相当な量であり、データがストリーム化されるか、または他の方法で限定された帯域幅容量で通信ネットワークを介して通信されるときに、困難をもたらすことがある。したがって、ビデオデータは、一般に、現代の電気通信ネットワークを介して通信される前に圧縮される。また、メモリリソースが制限されることがあるため、ビデオが記憶デバイスに記憶されるときに、ビデオのサイズも問題となる可能性がある。ビデオ圧縮デバイスは、しばしば、伝送または記憶の前にビデオデータをコード化するために送信元においてソフトウェアおよび／またはハードウェアを使用し、それによってデジタルビデオ画像を表すのに必要とされるデータ量を減少させる。次いで、圧縮されたデータは、ビデオデータを復号するビデオ解凍デバイスによって宛先で受信される。ネットワークリソースが限られており、より高いビデオ品質の要求が絶えず増加しているため、画像品質にほとんど犠牲を払わずに圧縮比を改善する改善された圧縮および解凍技術が望ましい。
【発明の概要】
【０００４】
一実施形態によると、本開示は、ビデオ復号器によって実施される方法を含む。この方法は、受信機によって、複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することであって、複数のＰＣＣフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することを含む。この方法はさらに、プロセッサによって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、ビットストリームを解析することを含む。この方法はさらに、プロセッサによって、ＰＣＣ属性に対する指示されたビデオコーデックに基づいて、ビットストリームを復号することを含む。いくつかのビデオコーディングシステムでは、ＰＣＣフレームのシーケンス全体が単一のコーデックを使用してコード化される。ＰＣＣフレームは複数のＰＣＣ属性を含んでもよい。いくつかのビデオコーデックは、他のものよりもいくつかのＰＣＣ属性を符号化するのにより効率的であってもよい。本実施形態は、異なるビデオコーデックが、同じＰＣＣフレームのシーケンスに対して異なるＰＣＣ属性を符号化することを可能にする。本実施形態はまた、シーケンス内のＰＣＣフレームが複数のＰＣＣ属性（例えば、３つ以上）を使用するときに、コーディングの柔軟性をサポートするために種々の構文要素を提供する。より多くの属性を提供することによって、符号化器は、より複雑なＰＣＣフレームを符号化することができる。さらに、復号器は、より複雑なＰＣＣフレームを復号し、表示することができる。さらに、異なるコーデックを異なる属性に採用することを可能にすることによって、コーデック選択に基づいてコーディングプロセスを最適化することができる。これは、符号化器と復号器の両方でのプロセッサリソースの使用量を減少させることがある。さらに、これは、増大した圧縮およびコーディング効率をサポートすることがあり、これは、符号化器と復号器との間でビットストリームを伝送しながら、メモリ使用量およびネットワークリソース使用量を低減する。
【０００５】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、ＰＣＣフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、シーケンスレベルのデータユニットは、第１の属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２の属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、ことを提供する。
【０００６】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、ことを提供する。
【０００７】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の属性は、複数のストリームに編成され、第２の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示す、ことを提供する。
【０００８】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の属性は、複数のレイヤに編成され、第３の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットに対するレイヤメンバシップを示す、ことを提供する。
【０００９】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第２の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であり、第３の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、ことを提供する。
【００１０】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第４の構文要素は、複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、ことを提供する。
【００１１】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第４の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、ことを提供する。
【００１２】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、ビットストリームは、ＰＣＣフレームの復号されたシーケンスに復号され、さらに、プロセッサによって、ＰＣＣフレームの復号されたシーケンスを提示のためのディスプレイに向けて転送することを含む、ことを提供する。
【００１３】
一実施形態によると、本開示は、ビデオ符号化器に実施される方法を含む。本方法は、プロセッサによって、ＰＣＣフレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することを含む。本方法はさらに、プロセッサによって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用されるビデオコーデックのうちの１つの指示を符号化することを含む。本方法はさらに、送信機によって、ビットストリームを復号器に向かって送信することを含む。いくつかのビデオコーディングシステムでは、ＰＣＣフレームのシーケンス全体が単一のコーデックを使用してコード化される。ＰＣＣフレームは複数のＰＣＣ属性を含んでもよい。いくつかのビデオコーデックは、他のものよりもいくつかのＰＣＣ属性を符号化するのにより効率的であってもよい。本実施形態は、異なるビデオコーデックが、同じＰＣＣフレームのシーケンスに対して異なるＰＣＣ属性を符号化することを可能にする。本実施形態はまた、シーケンス内のＰＣＣフレームが複数のＰＣＣ属性（例えば、３つ以上）を使用するときに、コーディングの柔軟性をサポートするために種々の構文要素を提供する。より多くの属性を提供することによって、符号化器は、より複雑なＰＣＣフレームを符号化することができる。さらに、復号器は、より複雑なＰＣＣフレームを復号し、表示することができる。さらに、異なるコーデックを異なる属性に採用することを可能にすることによって、コーデック選択に基づいてコーディングプロセスを最適化することができる。これは、符号化器と復号器の両方でのプロセッサリソースの使用量を減少させることがある。さらに、これは、増大した圧縮およびコーディング効率をサポートすることがあり、これは、符号化器と復号器との間でビットストリームを伝送しながら、メモリ使用量およびネットワークリソース使用量を低減する。
【００１４】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、ＰＣＣフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、シーケンスレベルのデータユニットは、第１のＰＣＣ属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２のＰＣＣ属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、ことを提供する。
【００１５】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、ことを提供する。
【００１６】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の属性は、複数のストリームに編成され、第２の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示す、ことを提供する。
【００１７】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第１の属性は、複数のレイヤに編成され、第３の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットに対するレイヤメンバシップを示す、ことを提供する。
【００１８】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第２の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であり、第３の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、ことを提供する。
【００１９】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第４の構文要素は、複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、ことを提供する。
【００２０】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第４の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、ことを提供する。
【００２１】
一実施形態では、本開示は、プロセッサと、プロセッサに結合された受信機と、プロセッサに結合された送信機と、を含み、プロセッサ、受信機、および送信機は、前述の態様のいずれかの方法を実行するように構成されている。
【００２２】
一実施形態では、本開示は、ビデオコーディングデバイスによって使用されるコンピュータプログラム製品を含む非一時的コンピュータ可読媒体であって、コンピュータプログラム製品は、プロセッサによって実行されるときに、ビデオコーディングデバイスが前述の態様のいずれかの方法を実行するように、非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体を含む。
【００２３】
一実施形態では、本開示は、ＰＣＣフレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することを行うための第１の属性符号化手段および第２の属性符号化手段を含む符号化器を含む。符号化器はさらに、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用されるビデオコーデックのうちの１つの指示を符号化することを行うための構文符号化手段を含む。符号化器はさらに、ビットストリームを復号器に向かって送信することを行うための送信手段を含む。
【００２４】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、符号化器は、前述の態様のいずれかの方法を実行するようにさらに構成されている、ことを提供する。
【００２５】
一実施形態では、本開示は、複数のＰＣＣフレームのコード化されたシーケンスを含むビットストリームを受信することであって、複数のＰＣＣフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することを行うための受信手段を含む復号器を含む。復号器はさらに、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコーディングするために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、ビットストリームを解析することを行うための解析手段を含む。復号器はさらに、ＰＣＣ属性に対する指示されたビデオコーデックに基づいて、ビットストリームを復号することを行うための復号手段を含む。
【００２６】
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、前述の態様のいずれかの方法を実行するようにさらに構成されている、ことを提供する。
【００２７】
明確にするために、前述の実施形態のいずれか１つを、他の前述の実施形態のいずれか１つ以上と組み合わせて、本開示の範囲内の新たな実施形態を作成してもよい。
【００２８】
これらおよび他の特徴は、添付の図面および特許請求の範囲に関連して取られた以下の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【００２９】
本開示をより完全に理解するために、添付の図面および詳細な説明に関連して、以下の簡単な説明を参照する。ここで、同様の参照番号は同様の部分を表す。
【００３０】
【図１】ビデオ信号をコーディングする例示的な方法のフローチャートである。
【図２】ビデオコーディングのための例示的なコーディングおよび復号（コーデック）システムの概略図である。
【図３】例示的なビデオ符号化器を示す概略図である。
【図４】例示的なビデオ復号器を示す概略図である。
【図５】ＰＣＣ機構にしたがってコード化することができるポイントクラウド媒体の例である。
【図６】ポイントクラウド媒体フレームのためのデータセグメント化およびパッキングの例である。
【図７】拡張された属性セットを有する例示的なＰＣＣビデオストリームを示す概略図である。
【図８】複数のコーデックを有するＰＣＣ属性を符号化する例示的な機構を示す概略図である。
【図９】属性レイヤの例を示す概略図である。
【図１０】属性ストリームの例を示す概略図である。
【図１１】複数のコーデックを有するＰＣＣビデオシーケンスを符号化する例示的な方法のフローチャートである。
【図１２】複数コーデックを有するＰＣＣビデオシーケンスを復号する例示的な方法のフローチャートである。
【図１３】例示的なビデオコーディングデバイスの概略図である。
【図１４】複数のコーデックを有するＰＣＣビデオシーケンスをコーディングするための例示的なシステムの概略図である。
【図１５】複数のコーデックを有するＰＣＣビデオシーケンスをコーディングする別の例示的な方法のフローチャートである。
【図１６】複数コーデックでＰＣＣビデオシーケンスを復号する別の例示的な方法のフローチャートである。
【発明を実施するための形態】
【００３１】
最初に、１つ以上の実施形態の例示的な実施が以下に提供されるが、開示されたシステムおよび／または方法は、現在公知であるか存在するかを問わず、任意の数の技術を使用して実施され得ると理解されたい。本開示は、以下に例示的な実施態様、図面および技術に全く限定されるべきではなく、本明細書に例示され説明された例示の設計および実施態様を含むが、添付の特許請求の範囲の範囲内で、それらの均等物の全範囲と共に修正されてもよい。
【００３２】
多くのビデオ圧縮技術が、最小限のデータ損失でビデオファイルのサイズを低減するために使用され得る。例えば、ビデオ圧縮技術は、ビデオシーケンスにおけるデータ冗長性を低減または除去するために、間的（例えば、イントラピクチャ）予測および／または時間的（例えば、インターピクチャ）予測を実行することを含むことができる。ブロックベースのビデオコーディングのために、ビデオスライス（例えば、ビデオピクチャまたはビデオピクチャの一部分）は、ビデオブロックに分割されてもよく、これは、ツリーブロック、コーディング・ツリー・ブロック（ＣＴＢ）、コーディング・ツリー・ユニット（ＣＴＵ）、コーディング・ユニット（ＣＵ）、および／またはコーディング・ノードとも呼ばれることがある。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに関して空間的予測を使用してコード化される。ピクチャのインターコード化（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに関して空間的予測、または他の参照ピクチャ内の参照サンプルに関して時間的予測を採用することによって、コード化されてもよい。ピクチャはフレームと呼ばれ、参照ピクチャは参照フレームと呼ばれる。空間的予測または時間的予測は、画像ブロックを表す予測ブロックをもたらす。残差データは、元の画像ブロックと予測ブロックとの間の画素差を表す。したがって、インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの間の差を示す残差データにしたがって符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データにしたがって符号化される。さらなる圧縮のために、残差データは、画素ドメインから変換ドメインに変換されてもよい。これらは、残差変換係数をもたらし、これは、量子化されてもよい。量子化された変換係数は、最初に二次元アレイに配置されてもよい。量子化された変換係数は、変換係数の一次元ベクトルを生成するために走査されてもよい。エントロピーコーディングは、より多くの圧縮を達成するために適用されてもよい。このようなビデオ圧縮技術は、以下により詳細に論じられる。
【００３３】
符号化されたビデオが正確に復号されることを確実にするために、ビデオは、対応するビデオコーディング標準にしたがって符号化され、復号される。ビデオコーディング標準は、国際電気通信連合（ＩＴＵ）標準化部門（ＩＴＵ−Ｔ）Ｈ．２６１、国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）ムービング・ピクチャ・エクスパーツ・グループ（ＭＰＥＧ）−１  パート２、ＩＴＵ−Ｔ  Ｈ．２６２、またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  パート２、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  パート２、ＩＴＵ−Ｔ  Ｈ．２６４またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  パート１０とも呼ばれるアドバンスト・ビデオ・コーディング（ＡＶＣ）、およびＩＴＵ−Ｔ  Ｈ．２６５  またはＭＰＥＧ−Ｈ  パート２とも呼ばれるハイ・エフィシエンシー・ビデオ・コーディング（ＨＥＶＣ）を含む。ＡＶＣは、スケーラブル・ビデオ・コーディング（ＳＶＣ）、マルチビュー・ビデオ・コーディング（ＭＶＣ）およびマルチビュー・ビデオ・コーディング・プラス・デプス（ＭＶＣ＋Ｄ）、および３次元（３Ｄ）ＡＶＣ（３Ｄ−ＡＶＣ）などの拡張を含む。ＨＥＶＣは、スケーラブルＨＥＶＣ（ＳＨＶＣ）、マルチビューＨＥＶＣ（ＭＶ−ＨＥＶＣ）、３Ｄ  ＨＥＶＣ（３Ｄ−ＨＥＶＣ）などの拡張を含む。ＩＴＵ−ＴとＩＳＯ／ＩＥＣの合同ビデオ・エキスパート・チーム（ＪＶＥＴ）は、バーサタイル・ビデオ・コーディング（ＶＶＣ）と呼ばれるビデオコーディング標準の開発を開始したＶＶＣは、ワーキング・ドラフト（ＷＤ）に含まれ、これは、ＪＶＥＴ−Ｋ１００１−ｖ４およびＪＶＥＴ−Ｋ１００２−ｖ１を含む。
【００３４】
ＰＣＣは、３Ｄ物体のビデオを符号化するための機構である。ポイントクラウドは、３Ｄ空間内のデータポイントのセットである。このようなデータポイントは、例えば、空間上の位置および色を決定するパラメータを含む。ポイントクラウドは、リアルタイムの３Ｄイマーシブ・テレプレゼンス、インタラクティブ視差を有するコンテンツ・バーチャル・リアリティ（ＶＲ）ビューイング、３Ｄフリー・ビューポイント・スポーツ・リレー放送、地理情報システム、文化遺産、大規模な３Ｄダイナミックマップに基づく自律ナビゲーション、自動車アプリケーションなど、様々なアプリケーションで使用されてもよい。ＰＣＣのためのＩＳＯ／ＩＥＣ  ＭＰＥＧコーデックは、実質的なコーディング効率とネットワーク環境に対するロバスト性を有する可逆性および／または不可逆性圧縮ポイントクラウド上で動作してもよい。このコーデックを使用することにより、ポイントクラウドをコンピュータデータの形式として操作し、種々の記憶媒体に記憶し、ネットワークを介して送信および受信し、放送チャネル上で配信することが可能となる。ＰＣＣコーディング環境は、ＰＣＣカテゴリ１、ＰＣＣカテゴリ２、およびＰＣＣカテゴリ３に分類される。本開示は、ＭＰＥＧ出力文書Ｎ１７５３４およびＮ１７５３３に関連するＰＣＣカテゴリ２に向けられている。ＰＣＣカテゴリ２コーデックの設計は、異なるビデオシーケンスのセットとしてポイントクラウドデータを圧縮することによって、動的ポイントクラウドの幾何学的形状およびテクスチャ情報を圧縮するために、他のビデオコーデックを活用することを目指す。例えば、１つはポイントクラウドデータの幾何学的形状情報を表し、もう１つはテクスチャ情報を表す２つのビデオシーケンスは、１つ以上のビデオコーデックを使用して生成および圧縮することができる。ビデオシーケンスの解釈をサポートする追加のメタデータ（例えば、占有マップおよび補助パッチ情報）も、別々に生成および圧縮することができる。
【００３５】
ＰＣＣシステムは、位置データを含む幾何学的形状ＰＣＣ属性とカラーデータを含むテクスチャＰＣＣ属性をサポートしてもよい。しかしながら、いくつかのビデオアプリケーションは、反射率、透明度、法線ベクトル等の他のタイプのデータを含んでもよい。これらのタイプのデータのいくつかは、あるコーデックを使用する方が他のコーデックよりも効率的にコード化されてもよい。しかしながら、ＰＣＣシステムは、ＰＣＣストリーム全体、したがって、すべてのＰＣＣ属性が、同じコーデックによって符号化されることを要求することがある。さらに、ＰＣＣ属性は、複数のレイヤに分割されてもよい。次いで、そのようなレイヤを組み合わせ、および／または１つ以上のＰＣＣ属性ストリームにコード化してもよい。例えば、属性のレイヤは、一時的にインターリーブされたコーディングスキームにしたがってコード化することができ、ここで、第１のレイヤは、ピクチャ出力順序の偶数値を有するＰＣＣアクセスユニット（ＡＵ）においてコード化され、第２のレイヤは、画像出力順序の奇数値を有するＰＣＣ  ＡＵにおいてコード化される。各属性およびこのようなストリームの様々なレイヤの組み合わせに対して０〜４のストリームが存在する可能性があるため、ストリームおよびレイヤの適切な識別が課題となることがある。しかし、ＰＣＣシステムは、所与のＰＣＣビットストリームにおいて、いくつのレイヤがコード化されているか、または、ＰＣＣ属性ストリームと組み合わされているかを決定することができないことがある。さらに、ＰＣＣシステムは、レイヤの組み合わせの方式を示すおよび／またはそのようなレイヤとＰＣＣ属性ストリームとの間の対応を示すための機構を有していないことがある。最後に、パッチはＰＣＣビデオデータをコード化するために採用される。例えば、三次元（３Ｄ）ＰＣＣ物体は、二次元（２Ｄ）パッチのセットとして表わされ得る。これにより、ＰＣＣは、２Ｄビデオフレームを符号化するように設計されたビデオコーデックと共に動作することを可能にする。ただし、ポイントクラウド内のいくつかのポイントは、場合によっては、パッチで捉えられないことがある。例えば、３Ｄ空間内の孤立ポイントは、パッチの一部としてコード化することが困難であってもよい。このような場合に意味をなす唯一のパッチは、単一ポイントを含む１ピクセル×１ピクセルのパッチであり、これは、多くのこのようなポイントの場合、シグナリングオーバーヘッドを著しく増加させる。代わりに、不規則的なポイントクラウドは使用することができ、これは、複数の孤立点を含む特殊なパッチである。不規則的なポイントクラウドパッチに対する属性をシグナリングするために、他のパッチタイプとは異なるアプローチが使用される。しかしながら、ＰＣＣシステムは、ＰＣＣ属性レイヤが不規則的なポイントクラウド／パッチを搬送することを示すことができないことがある。
【００３６】
本明細書で開示されているのは、上記の問題に対処することによってＰＣＣを改善するための機構である。一実施形態では、ＰＣＣシステムは、異なるＰＣＣ属性をコード化するために異なるコーデックを採用してもよい。具体的には、各属性に対するビデオコーデックを識別するために、別個の構文要素を採用することができる。別の実施形態では、ＰＣＣシステムは、各ＰＣＣ属性ストリームを表すためにコード化される、および／または組み合わせられるレイヤの数を明示的にシグナルする。追加的に、ＰＣＣシステムは、ＰＣＣ属性ストリーム内のＰＣＣ属性のレイヤをコード化する、および／または組み合わせるために使用されるモードをシグナルするために構文要素を採用してもよい。さらに、ＰＣＣシステムは、対応するＰＣＣ属性ストリームの各データユニットに関連付けられたレイヤのレイヤインデックスを指定するために構文要素を採用してもよい。さらに別の実施形態では、ＰＣＣ属性レイヤが任意の不規則的なポイントクラウドポイントを搬送するかどうかを示すために各ＰＣＣ属性レイヤに対してフラグを採用することができる。このような実施形態は、単独で、または組み合わせて使用することができる。さらに、このような実施形態は、ＰＣＣシステムが、復号器によって認識可能であり、したがって、復号器によって復号可能な方式で、より複雑なコーディング機構を採用することを可能にする。以下に、これらおよび他の例を詳細に説明する。
【００３７】
図１は、ビデオ信号をコーディングする例示的な動作方法１００のフローチャートである。具体的には、ビデオ信号は符号化器で符号化される。符号化プロセスは、ビデオファイルサイズを低減するために種々の機構を採用することによってビデオ信号を圧縮する。より小さいファイルサイズは、圧縮されたビデオファイルをユーザに送信することを可能にし、一方、関連する帯域幅オーバーヘッドを低減する。次いで、復号器は、圧縮されたビデオファイルを復号して、エンドユーザに表示するために元のビデオ信号を再構成する。復号プロセスは、一般に、符号化プロセスをミラーして、復号器がビデオ信号を一貫して再構成することを可能にする。
【００３８】
ステップ１０１では、ビデオ信号が符号化器に入力される。例えば、ビデオ信号はメモリに記憶された非圧縮ビデオファイルであってもよい。別の例として、ビデオファイルは、ビデオカメラなどのビデオキャプチャデバイスによってキャプチャされ、ビデオのライブストリーミングをサポートするように符号化されてもよい。ビデオファイルは、オーディオ成分とビデオ成分の両方を含んでもよい。ビデオ成分は、シーケンスで見られるときに視覚的な動きの印象を与える一連の画像フレームを含む。フレームは、本明細書では輝度成分（または輝度サンプル）と呼ばれる光の観点で表現されるピクセルと、彩度成分（またはカラーサンプル）と呼ばれるカラーを含む。いくつかの例では、フレームはまた、三次元ビューイングをサポートするための深さ値を含んでもよい。
【００３９】
ステップ１０３で、ビデオはブロックに分割される。分割は、圧縮のために、各フレーム内のピクセルを正方形および／または長方形のブロックにさらに分割することを含む。例えば、ハイ・エフィシエンシー・ビデオ・コーディング（ＨＥＶＣ）（Ｈ．２６５およびＭＰＥＧ−Ｈパート２としても知られている）において、フレームは、最初に、所定のサイズ（例えば、６４画素×６４画素）のブロックである、コーディングツリーユニット（ＣＴＵ）に分割することができる。ＣＴＵは輝度サンプルと彩度サンプルの両方が含む。コーディングツリーを採用して、ＣＴＵをブロックに分割し、次いで、さらなる符号化をサポートする構成が達成されるまで、ブロックを再帰的にさらに分割することができる。例えば、フレームの輝度成分は、個々のブロックが比較的均一な照明値を含むまで、さらに分割されてもよい。さらに、フレームの彩度成分は、個々のブロックが比較的均一な色値を含むまで、さらに分割されてもよい。したがって、分割機構はビデオフレームのコンテンツに依存して変動する。
【００４０】
ステップ１０５では、ステップ１０３で分割された画像ブロックを圧縮するために、様々な圧縮機構が採用される。例えば、インター予測および／またはイントラ予測が採用されてもよい。インター予測は、共通のシーンの物体が連続したフレームに現れる傾向があるという事実を利用するように設計される。したがって、参照フレーム内の物体を示すブロックは、隣接するフレーム内に繰り返し記載される必要はない。具体的には、テーブルのような物体は、複数のフレームにわたって一定の位置に留まることができる。したがって、テーブルは一度記載され、隣接するフレームは参照フレームを参照することができる。パターンマッチング機構が採用されて、複数フレームにわたって物体をマッチングしてもよい。さらに、移動する物体は、例えば、物体の動きまたはカメラの動きのために、複数のフレームにわたって表現されてもよい。特定の例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示してもよい。このような動きを説明するために、動きベクトルが採用されてもよい。動きベクトルは、フレーム内の物体の座標から参照フレーム内の物体の座標へのオフセットを提供する二次元ベクトルである。このように、インター予測は、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルのセットとして、カレントフレーム内の画像ブロックを符号化することができる。
【００４１】
イントラ予測は、共通フレーム内のブロックを符号化する。イントラ予測は、輝度と彩度成分がフレームにおいて集中する傾向があるという事実を利用する。たとえば、樹木の一部分における緑色のパッチは、同様の緑色のパッチに隣接して位置付けられる傾向がある。イントラ予測は、多方向予測モード（例えば、ＨＥＶＣでは３３）、プラナーモード、およびダイレクトカレント（ＤＣ）モードを採用する。方向モードは、カレントブロックが、対応する方向における隣接ブロックのサンプルと同様／同じであることを示す。プラナーモードは、行／列に沿った一連のブロック（例えば、平面）を、行の端における隣接ブロックに基づいて補間できることを示す。プラナーモードは、事実上、値を変化させる際に比較的一定の傾きを採用することによって、行／列を横切る光／色の滑らかな遷移を示す。ＤＣモードは境界平滑化のために使用され、ブロックが方向予測モードの角度方向に関連付けられた全ての隣接ブロックのサンプルに関連付けられた平均値と同様／同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに、様々な関係予測モード値として画像ブロックを表わすことができる。さらに、インター予測ブロックは、実際の値の代わりに、動きベクトル値として画像ブロックを表わすことができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表わさないことがある。任意の差異は、残差ブロックに記憶される。変換は、ファイルをさらに圧縮するために、残差ブロックに適用されてもよい。
【００４２】
ステップ１０７では、種々のフィルタリング技術が適用されてもよい。ＨＥＶＣでは、フィルタは、ループ内フィルタリングスキームにしたがって適用される。上記に論じたブロックベースの予測は、復号器においてブロック状画像の生成をもたらすことがある。さらに、ブロックベースの予測スキームは、ブロックを符号化し、次いで、後で参照ブロックとして使用するために、符号化されたブロックを再構成してもよい。ループ内フィルタリングスキームは、ノイズ抑制フィルタ、デブロックフィルタ、適応ループフィルタ、およびサンプル適応オフセット（ＳＡＯ）フィルタをブロック／フレームに反復して適用する。これらのフィルタは、符号化されたファイルを正確に再構成することができるように、そのようなブロッキングアーチファクトを軽減する。さらに、これらのフィルタは、再構成された参照ブロック内のアーチファクトを軽減し、アーチファクトは、再構成された参照ブロックに基づいて符号化される後続ブロック内に追加のアーチファクトを生成する可能性が低い。
【００４３】
ビデオ信号が分割され、圧縮され、フィルタリングされると、もたらされたデータはステップ１０９でビットストリームに符号化される。ビットストリームは、上記に論じたデータおよび復号器での適切なビデオ信号再構成をサポートするのに望ましい任意のシグナリングデータを含む。例えば、このようなデータは、パーティションデータ、予測データ、残差ブロック、および復号器にコーディング命令を提供する種々のフラグを含んでもよい。ビットストリームは、要求があると、復号器に向かって伝送のためにメモリに記憶されてもよい。ビットストリームはまた、複数の復号器に向かってブロードキャストおよび／またはマルチキャストされてもよい。ビットストリームの生成は反復プロセスである。したがって、ステップ１０１、１０３、１０５、１０７、および１０９は、多くのフレームおよびブロックにわたって連続的におよび／または同時に発生してもよい。図１に示された順序は、議論の明確さと容易さのために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図したものではない。
【００４４】
復号器はビットストリームを受信し、ステップ１１１で復号プロセスを開始する。具体的には、復号器は、ビットストリームを対応する構文およびビデオデータに変換するエントロピー復号方式を採用する。復号器は、ビットストリームからの構文データを採用して、ステップ１１１でフレームのためのパーティションを決定する。パーティション分割は、ステップ１０３でのブロックパーティション分割の結果と一致すべきである。ステップ１１１において採用されるエントロピー符号化／復号が、ここで説明される。符号化器は、入力画像内の値の空間的位置付けに基づいて、いくつかの可能な選択からブロック分割方式を選択するなど、圧縮プロセスの間に多くの選択を行う。厳密な選択肢のシグナリングは、多数のビンが採用してもよい。本明細書で使用される際、ビンは、変数として扱われるバイナリ値（例えば、コンテキストに応じて変動し得るビット値）である。エントロピーコーディングは、符号化器が、許容可能なオプションのセットを残して、特定の場合に明らかに実行可能ではない任意のオプションを捨てることを可能にする。各許容可能なオプションには、コードワードが割り当てられる。コードワードの長さは、許容可能なオプションの数（例えば、２つのオプションに対して１つのビン、３〜４つのオプションに対して２つのビンなど）に基づいており、符号化器は、次いで、選択されたオプションに対してコードワードを符号化する。このスキームは、コードワードが、全ての可能なオプションの潜在的に大きいセットからの選択を一意に示すこととは対照的に、許容可能なオプションの小さなサブセットからの選択を一意に示すことが望ましいほど大きいため、コードワードのサイズを低減する。次いで、復号器は、符号化器と同様の方法で許容可能なオプションのセットを決定することによって、選択を復号する。許容可能なオプションのセットを決定することによって、復号器は、コードワードを読み取り、符号化器によってなされる選択を決定することができる。
【００４５】
ステップ１１３で、復号器はブロック復号を実行する。具体的には、復号器は、残差ブロックを生成するために逆変換を採用する。次いで、復号器は、分割にしたがって画像ブロックを再構成するために、残差ブロックおよび対応する予測ブロックを採用する。予測ブロックは、ステップ１０５において符号化器で生成されるように、イントラ予測ブロックとインター予測ブロックの両方を含んでもよい。次いで、再構成された画像ブロックは、ステップ１１１で決定された分割データにしたがって、再構成されたビデオ信号のフレーム内に位置付けられる。ステップ１１３に対する構文はまた、上記に論じたようにエントロピーコーディングを介してビットストリーム内でシグナルされてもよい。
【００４６】
ステップ１１５では、符号化器におけるステップ１０７と同様の方法で、再構成されたビデオ信号のフレームに対してフィルタリングが実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびＳＡＯフィルタがフレームに適用されて、ブロッキングアーチファクトを除去してもよい。フレームがフィルタリングされると、ビデオ信号は、ステップ１１７においてディスプレイに出力され、エンドユーザによって見ることができる。
【００４７】
図２は、ビデオコーディングのための例示的なコーディングおよびデコーディング（コーデック）システム２００の概略図である。具体的には、コーデックシステム２００は、動作方法１００の実施をサポートするための機能性を提供する。コーデックシステム２００は、符号化器および復号器の両方で採用される構成要素を示すために一般化されている。コーデックシステム２００は、動作方法１００のステップ１０１および１０３に関して論じたように、ビデオ信号を受信および分割し、これにより、分割されたビデオ信号２０１をもたらす。次に、コーデックシステム２００は、方法１００のステップ１０５、１０７、および１０９に関して論じたように、符号化器として活動するときに、分割されたビデオ信号２０１をコード化されたビットストリームに圧縮する。復号器として活動するときに、コーデックシステム２００は、動作方法１００のステップ１１１、１１３、１１５、および１１７に関して論じたように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム２００は、一般コーダ制御構成要素２１１、変換スケーリングおよび量子化構成要素２１３、イントラピクチャ推定構成要素２１５、イントラピクチャ予測構成要素２１７、動き補償構成要素２１９、動き推定構成要素２２１、スケーリングおよび逆変換構成要素２２９、フィルタ制御分析構成要素２２７、ループ内フィルタ構成要素２２５、復号されたピクチャバッファ構成要素２２３、ヘッダフォーマッティングおよびコンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）構成要素２３１を含む。そのような構成要素は、示されるように結合される。図２において、黒線は符号化／復号されるべきデータの移動を示し、破線は他の構成要素の動作を制御する制御データの移動を示す。コーデックシステム２００の構成要素は全て、符号化器内に存在してもよい。復号器は、コーデックシステム２００の構成要素のサブセットを含んでもよい。例えば、復号器は、イントラピクチャ予測構成要素２１７、動き補償構成要素２１９、スケーリングおよび逆変換構成要素２２９、ループ内フィルタ構成要素２２５、および復号されたピクチャバッファ構成要素２２３を含んでもよい。ここで、これらの構成要素について説明する。
【００４８】
分割されたビデオ信号２０１は、コーディングツリーによってピクセルのブロックに分割されているキャプチャされたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さなブロックに分割するために、種々のスプリットモードを採用する。次いで、これらのブロックは、さらに、より小さなブロックにさらに分割することができる。ブロックは、コーディングツリー上のノードと呼ばれることがある。大きな親ノードは、小さな子ノードにスプリットされる。ノードがさらに分割される回数は、ノード／コーディングツリーの深さと呼ばれる。場合によっては、分割されたブロックはコーディングユニット（ＣＵ）に含めることができる。例えば、ＣＵは、輝度ブロック、赤色差彩度（Ｃｒ）ロック、および青色差彩度（Ｃｂ）ブロックを、対応するＣＵの構文命令と共に含むＣＴＵのサブ部分とすることができる。スプリットモードは、ノードを、採用されるスプリットモードに依存して、異なる形状のそれぞれ２つ、３つ、または４つの子ノードに分割するために採用されるバイナリツリー（ＢＴ）、トリプルツリー（ＴＴ）、およびクワッドツリー（ＱＴ）を含んでもよい。分割されたビデオ信号２０１は、圧縮のために、一般コーダ制御構成要素２１１、変換スケーリングおよび量子化構成要素２１３、イントラピクチャ推定構成要素２１５、フィルタ制御分析構成要素２２７、および動き推定構成要素２２１に転送される。
【００４９】
一般コーダ制御構成要素２１１は、アプリケーションの制約にしたがって、ビデオシーケンスの画像をビットストリームにコーディングすることに関連する決定を行うように構成される。例えば、一般コーダ制御構成要素２１１は、ビットレート／ビットストリームサイズ対再構成品質の最適化を管理する。このような決定は、記憶領域／帯域幅の可用性および画像解像度要求に基づいて行われてもよい。一般コーダ制御構成要素２１１はまた、バッファのアンダーランおよびオーバーランの問題を緩和するために、送信速度に照らしてバッファの利用を管理する。これらの問題を管理するために、一般コーダ制御構成要素２１１は、他の構成要素による分割、予測、およびフィルタリングを管理する。例えば、一般コーダ制御構成要素２１１は、動的に、解像度を増加させ、帯域幅の使用を増加させるために圧縮の複雑さを増加させることができ、または、解像度および帯域幅の使用を減少させるために圧縮の複雑さを減少させることができる。したがって、一般コーダ制御構成要素２１１は、ビットレートの懸念とビデオ信号再構成品質とのバランスを取るために、コーデックシステム２００の他の構成要素を制御する。一般コーダ制御構成要素２１１は、他の構成要素の動作を制御する制御データを生成する。制御データはまた、復号器で復号するための信号パラメータにビットストリームで符号化されるヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１に転送される。
【００５０】
分割されたビデオ信号２０１はまた、インター予測のために、動き推定構成要素２２１および動き補償構成要素２１９に送信される。分割されたビデオ信号２０１のフレームまたはスライスは、複数のビデオブロックに分割されてもよい。動き推定構成要素２２１および動き補償構成要素２１９は、時間的予測を提供するために、１つ以上の参照フレーム内の１つ以上のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。コーデックシステム２００は、例えばビデオデータの各ブロックに対して適切なコーディングモードを選択するために、複数のコーデド化パスを実行してもよい。
【００５１】
動き推定構成要素２２１および動き補償構成要素２１９は、高度に統合されてもよいが、概念的な目的のために別個に例示されている。動き推定構成要素２２１によって実行される動き推定は、動きベクトルを生成するプロセスであり、動きベクトルはビデオブロックの動きを推定する。運動ベクトルは、例えば、予測ブロックに対するコード化された物体の変位を示してもよい。予測ブロックは、ピクセル差に関して、コード化されるブロックに密接に一致することが見出されるブロックである。予測ブロックは、参照ブロックとも呼ばれることがある。このような画素差は、絶対差（ＳＡＤ）、二乗和差（ＳＳＤ）、または他の差分メトリックの合計によって決定され得る。ＨＥＶＣは、ＣＴＵ、コーディング・ツリー・ブロック（ＣＴＢ）、およびＣＵを含むいくつかのコード化された物体を採用する。例えば、ＣＴＵはＣＴＢに分割することができ、ＣＴＢはＣＵに含めるためにＣＢに分割することができる。ＣＵは、予測データを含む予測ユニット（ＰＵ）および／またはＣＵの変換残差データを含む変換ユニット（ＴＵ）として符号化することができる。動き推定構成要素２２１は、レート歪み最適化プロセスの一部としてレート歪み分析を使用して、動きベクトル、ＰＵ、およびＴＵを生成する。例えば、動き推定構成要素２２１は、カレントブロック／フレームに対して複数の参照ブロック、複数の動きベクトルなどを決定してしもよいし、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択してもよい。最良のレート歪み特性は、ビデオ再構成の品質（例えば、圧縮によるデータ損失量）とコーディング効率（例えば、最終符号化のサイズ）の両方をバランスさせる。
【００５２】
いくつかの例では、コーデックシステム２００は、復号されたピクチャバッファ構成要素２２３に記憶された参照ピクチャのサブ整数画素位置の値を計算してもよい。例えば、ビデオコーデックシステム２００は、参照ピクチャの１／４画素位置、１／８画素位置、または他の画素部分位置の値を補間することができる。したがって、動き推定構成要素２２１は、全ピクセル位置および端数の画素位置に対する動きサーチを実行し、端数の画素精度を有する動きベクトルを出力してもよい。動き推定構成要素２２１は、ＰＵの位置を基準ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのＰＵに対する動きベクトルを計算する。動き推定構成要素２２１は、符号化のためのヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１への動きデータとしての計算された動きベクトルを出力し、動き補償構成要素２１９への動きを出力する。
【００５３】
動き補償構成要素２１９によって実行される動き補償は、動き推定構成要素２２１によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴ってもよい。また、いくつかの例では、動き推定構成要素２２１および動き補償構成要素２１９は、機能的に統合されてもよい。カレントビデオブロックのＰＵに対する動きベクトルを受信すると、動き補償構成要素２１９は、動きベクトルがポイントする予測ブロックを位置付けてもよい。次いで、コード化されるカレントビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって、残差ビデオブロックが形成され、ピクセル差値が形成する。一般に、動き推定構成要素２２１は輝度構成要素に対する動き推定を実行し、動き補償構成要素２１９は彩度構成要素と輝度構成要素の両方に対する輝度構成要素に基づいて計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、スケーリングおよび量子化構成要素２１３を変換するために転送される。
【００５４】
分割されたビデオ信号２０１はまた、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７に送信される。動き推定構成要素２２１および動き補償構成要素２１９と同様に、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７は、高度に統合されてもよいが、概念的な目的のために別個に例示されている。イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７は、上述のように、フレーム間の動き推定構成要素２２１および動き補償構成要素２１９によって実行されるインター予測の代わりに、カレントフレーム内のブロックに対するカレントブロックをイントラ予測する。特に、イントラピクチャ推定構成要素２１５は、カレントブロックを符号化するために使用するイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定構成要素２１５は、複数のテストされたイントラピクチャ予測モードからカレントブロックを符号化するために、適切なイントラ予測モードを選択する。次いで、選択されたイントラ予測モードが、符号化のためにヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１に転送される。
【００５５】
例えば、イントラピクチャ推定構成要素２１５は、種々の試験されたイントラ予測モードについてレート歪み分析を使用してレート歪み値を計算し、試験されたモードのうち最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、一般に、符号化ブロックと符号化ブロックを生成するために符号化された元の非コーディングブロックとの間の歪み（またはエラー）の量、および符号化ブロックを生成するために使用されるビットレート（例えば、ビット数）を決定する。イントラピクチャ推定構成要素２１５は、種々の符号化ブロックに対する歪みおよびレートから比を計算して、どのイントラ予測モードがブロックに対する最良のレート歪み値を呈するかを決定する。追加的に、イントラピクチャ推定構成要素２１５は、レート歪み最適化（ＲＤＯ）に基づく深さモデリングモード（ＤＭＭ）を使用して深さマップの深さブロックをコード化するように構成されてもよい。
【００５６】
イントラピクチャ予測構成要素２１７は、符号化器で実施されたときにイントラピクチャ推定構成要素２１５によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成するか、または復号器で実施されたときにビットストリームから残差ブロックを読み取ってもよい。残差ブロックは、行列として表される予測ブロックと元のブロックとの間の値の差を含む。次いで、残差ブロックは、変換スケーリングおよび量子化構成要素２１３に転送される。イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７は、輝度構成要素および彩度構成要素の両方に対して動作してもよい。
【００５７】
変換スケーリングおよび量子化構成要素２１３は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化構成要素２１３は、離散コサイン変換（ＤＣＴ）、離散正弦変換（ＤＳＴ）、概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用することができる。変換は、残差情報をピクセル値ドメインから変換ドメイン、例えば周波数ドメインに変換してもよい。変換スケーリングと量子化構成要素２１３はまた、変換された残差情報を、例えば周波数に基づいてスケーリングするように構成されている。このようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、残差情報にスケールファクタを適用することを伴い、これは、再構成されたビデオの最終的な視覚品質に影響を及ぼすことがある。変換スケーリングおよび量子化構成要素２１３はまた、ビットレートをさらに低減するために変換係数を量子化するように構成されている。量子化プロセスは、係数のいくつかまたは全てに関連付けられたビット深さを低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、変換スケーリングおよび量子化構成要素２１３は、次いで、量子化された変換係数を含む行列の走査を実行してもよい。量子化された変換係数は、ヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１に転送され、ビットストリームにおいて符号化される。
【００５８】
スケーリングおよび逆変換構成要素２２９は、動き推定をサポートするために変換スケーリングおよび量子化構成要素２１３の逆動作を適用する。スケーリングおよび逆変換構成要素２２９は、逆スケーリング、変換、および／または量子化を適用して、画素ドメイン内の残差ブロックを再構成し、例えば、後に別のカレントブロックの予測ブロックとなり得る参照ブロックとして使用する。動き推定構成要素２２１および／または動き補償構成要素２１９は、後のブロック／フレームの動き推定に使用するために、残差ブロックを対応する予測ブロックに加算することによって参照ブロックを計算してもよい。フィルタは、スケーリング、量子化、および変換の間に生成されるアーチファクトを軽減するために、再構成された参照ブロックに適用される。そうでなければ、このようなアーチファクトは、後続のブロックが予測されたときに不正確な予測を引き起こす（追加のアーチファクトを生成する）。
【００５９】
フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５は、残差ブロックおよび／または再構成された画像ブロックにフィルタを適用する。例えば、スケーリングおよび逆変換構成要素２２９からの変換された残差ブロックを、イントラピクチャ予測構成要素２１７および／または動き補償構成要素２１９からの対応する予測ブロックと組み合わせて、元の画像ブロックを再構成してもよい。次いで、フィルタは、再構成された画像ブロックに適用されてもよい。いくつかの例において、フィルタは、代わりに、残差ブロックに適用されてもよい。図２の他の構成要素と同様に、フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５は、高度に統合されており、一緒に実施されてもよいが、概念的な目的のために別々に示されている。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタがどのように適用されるのかを調整するために複数のパラメータを含む。フィルタ制御分析構成要素２２７は、再構成された参照ブロックを解析して、そのようなフィルタを適用すべき場所を決定し、対応するパラメータをセットする。このようなデータは、符号化のためのフィルタ制御データとしてヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１に転送される。ループ内フィルタ構成要素２２５は、フィルタ制御データに基づいてこのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、ＳＡＯフィルタ、および適応ループフィルタを含んでもよい。このようなフィルタは、例に応じて、空間／画素ドメイン（例えば、再構成された画素ブロック）または周波数ドメインにおいて適用され得る。
【００６０】
符号化器として動作するときに、フィルタリングされ再構成された画像ブロック、残差ブロック、および／または予測ブロックは、後に上記に論じたように動作推定に使用するために、復号されたピクチャバッファ構成要素２２３に記憶される。復号器として動作するときに、復号されたピクチャバッファ構成要素２２３は、出力ビデオ信号の一部として、再構成されフィルタリングされたブロックを記憶し、ディスプレイに向かって転送する。復号されたピクチャバッファ構成要素２２３は、予測ブロック、残差ブロック、および／または再構成された画像ブロックを記憶することができる任意のメモリデバイスであってもよい。
【００６１】
ヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１は、コーデックシステム２００の種々の構成要素からデータを受信し、復号器に向けて伝送するために、このようなデータをコード化されたビットストリームに符号化する。具体的には、ヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１は、一般制御データおよびフィルタ制御データのような制御データを符号化するための種々のヘッダを生成する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化変換係数データの形の残差データは、全てビットストリームに符号化される。最終ビットストリームは、元の分割されたビデオ信号２０１を再構成するために復号器によって望まれる全ての情報を含む。このような情報は、また、イントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）、種々のブロックに対する符号化コンテキストの定義、最も可能性の高いイントラ予測モードの指示、パーティション情報の指示などを含んでもよい。このようなデータは、エントロピーコーディングを採用することによって符号化されてもよい。例えば、コンテキスト適応可変長コーディング（ＣＡＶＬＣ）、ＣＡＢＡＣ、構文ベースのコンテキスト適応バイナリ算術コーディング（ＳＢＡＣ）、確率間隔分割エントロピー・コーディング（ＰＩＰＥ）、または別のエントロピーコーディング技術を使用することによって、情報を符号化してもよい。エントロピーコーディングにしたがって、コード化されたビットストリームは、別のデバイス（例えば、ビデオ復号器）に送信されてもよく、または後の伝送または検索のためにアーカイブされてもよい。
【００６２】
図３は、例示的なビデオ符号化器３００を示すブロック図である。ビデオ符号化器３００は、コーデックシステム２００の符号化機能を実施するため、および／または動作方法１００のステップ１０１、１０３、１０５、１０７、および／または１０９を実施するために採用されてもよい。符号化器３００は、入力ビデオ信号を分割し、分割されたビデオ信号３０１をもたらし、これは、分割されたビデオ信号２０１と実質的に同様である。次いで、分割されたビデオ信号３０１は、符号化器３００の構成要素によって圧縮され、ビットストリームに符号化される。
【００６３】
具体的には、分割されたビデオ信号３０１は、イントラ予測のために、イントラピクチャ予測構成要素３１７に転送される。イントラピクチャ予測構成要素３１７は、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７と実質的に同様であってもよい。また、分割されたビデオ信号３０１は、復号されたピクチャバッファ構成要素３２３内の参照ブロックに基づくインター予測のために、動き補償構成要素３２１に転送される。動き補償構成要素３２１は、動き推定構成要素２２１および動き補償構成要素２１９と実質的に同様であってもよい。イントラピクチャ予測構成要素３１７および動き補償構成要素３２１からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化構成要素３１３に転送される。変換および量子化構成要素３１３は、変換スケーリングおよび量子化構成要素２１３と実質的に同様であってもよい。変換され量子化された残差ブロックおよび対応する予測ブロック（関連付けられた制御データと共に）は、ビットストリームにコーディングするためにエントロピーコーディング構成要素３３１に転送される。エントロピーコーディング構成要素３３１は、ヘッダフォーマッティングおよびＣＡＢＡＣ構成要素２３１と実質的に同様であってもよい。
【００６４】
変換および量子化された残差ブロックおよび／または対応する予測ブロックも、動き補償構成要素３２１によって使用される参照ブロックへの再構成のために、変換および量子化構成要素３１３から逆変換および量子化構成要素３２９に転送される。逆変換および量子化構成要素３２９は、スケーリングおよび逆変換構成要素２２９と実質的に同様であってもよい。ループ内フィルタ構成要素３２５内のループ内フィルタはまた、例に応じて、残差ブロックおよび／または再構成された参照ブロックにも適用される。ループ内フィルタ構成要素３２５は、実質的に、フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５と同様であってもよい。ループ内フィルタ構成要素３２５は、ループ内フィルタ構成要素２２５に関して論じられたように、複数のフィルタを含んでもよい。次いで、フィルタリングされたブロックは、動き補償構成要素３２１による参照ブロックとして使用されるために、復号されたピクチャバッファ構成要素３２３に記憶される復号されたピクチャバッファ構成要素３２３は、復号されたピクチャバッファ構成要素２２３と実質的に同様であってもよい。
【００６５】
図４は、例示的なビデオ復号器４００を示すブロック図である。ビデオ復号器４００は、コーデックシステム２００の復号機能を実施するため、および／または動作方法１００のステップ１１１、１１３、１１５、および／または１１７を実施するために採用されてもよい。復号器４００は、例えば符号化器３００からビットストリームを受信し、エンドユーザに表示するために、ビットストリームに基づいて再構成された出力ビデオ信号を生成する。
【００６６】
ビットストリームはエントロピー復号構成要素４３３によって受信される。エントロピー復号構成要素４３３は、ＣＡＶＬＣ、ＣＡＢＡＣ、ＳＢＡＣ、ＰＩＰＥコーディング、または他のエントロピーコーディング技術などのエントロピー復号スキームを実施するように構成されている。例えば、エントロピー復号構成要素４３３は、ビットストリームにおけるコードワードとして符号化された追加データを解釈するためのコンテキストを提供するために、ヘッダ情報を採用してもよい。復号された情報は、一般制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化変換係数のような、ビデオ信号を復号するための任意の所望の情報を含む。量子化された変換係数は、残差ブロックに再構成するために、逆変換および量子化構成要素４２９に転送される。逆変換および量子化構成要素４２９は、逆変換および量子化構成要素３２９と同様であってもよい。
【００６７】
再構成された残差ブロックおよび／または予測ブロックは、イントラ予測動作に基づいて画像ブロックに再構成するために、イントラピクチャ予測構成要素４１７に転送される。イントラピクチャ予測構成要素４１７は、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７と同様であってもよい。具体的には、イントラピクチャ予測構成要素４１７は、フレーム内の参照ブロックを位置決めするために予測モードを採用し、残差ブロックを結果に適用して、イントラ予測画像ブロックを再構成する。再構成されたイントラ予測画像ブロックおよび／または残差ブロックおよび対応するインター予測データは、復号されたピクチャバッファ構成要素４２３に、ループ内フィルタ構成要素４２５を介して転送され、これは、復号されたピクチャバッファ構成要素２２３およびループ内フィルタ構成要素２２５にそれぞれ実質的に同様であってもよい。ループ内フィルタ構成要素４２５は、再構成された画像ブロック、残差ブロックおよび／または予測ブロックをフィルタリングし、このような情報は復号されたピクチャバッファ構成要素４２３に記憶される。復号されたピクチャバッファ構成要素４２３からの再構成された画像ブロックは、インター予測のために動き補償構成要素４２１に転送される。動き補償構成要素４２１は、動き推定構成要素２２１および／または動き補償構成要素２１９と実質的に同様であってもよい。具体的には、動き補償構成要素４２１は、参照ブロックからの動きベクトルを採用して予測ブロックを生成し、残差ブロックを結果に適用して画像ブロックを再構成する。もたらされた再構成されたブロックは、ループ内フィルタ構成要素４２５を介して復号されたピクチャバッファ構成要素４２３に転送されてもよい。復号されたピクチャバッファ構成要素４２３は、パーティション情報を介してフレームに再構成することができる追加の再構成画像ブロックを記憶し続ける。このようなフレームは、シーケンスに置かれてもよい。このシーケンスは、再構成された出力ビデオ信号としてディスプレイに向けて出力される。
【００６８】
図５は、ＰＣＣ機構にしたがってコード化され得るポイントクラウド媒体５００の例である。ポイントクラウドとは、空間内のデータポイントのセットである。ポイントクラウドは、周囲の物体の外表面上の多数のポイントを測定する３Ｄスキャナによって生成されてもよい。ポイントクラウドは、幾何属性、テクスチャ属性、反射率属性、透明度属性、法線属性などの観点から説明されてもよい。各属性は、方法１００の一部として、ビデオコーデックシステム２００、符号化器３００、および／または復号器４００などのコーデックによってコード化することができる。具体的には、ＰＣＣフレームの各属性は、符号化器で別々にコード化され、復号器で復号され、再度組み合わせられて、ＰＣＣフレームを再作成することができる。
【００６９】
ポイントクラウド媒体５００は、３つの境界ボックス５０２、５０４、および５０６を含む。境界ボックス５０２、５０４、および５０６の各々は、カレントフレームからの３Ｄ画像の一部分またはセグメントを表す。境界ボックス５０２、５０４、および５０６は、人物の３Ｄ画像を含むが、他の物体は、実際のアプリケーションでは、境界ボックスに含まれてもよい。各境界ボックス５０２、５０４、および５０６は、ｘ、ｙ、およびｚ方向における３Ｄ画像によって占有される画素数をそれぞれ示すｘ軸、ｙ軸、およびｚ軸を含む。例えば、ｘ軸およびｙ軸は、約４００ピクセル（例えば、約０〜４００ピクセル）を示し、ｚ軸は、約１０００ピクセル（例えば、約０〜１０００ピクセル）を示す。
【００７０】
境界ボックス５０２、５０４、および５０６の各々は、図５のキューブまたはボックスによって表される１つ以上のパッチ５０８を含む。各パッチ５０８は、境界ボックス５０２、５０４、または５０６のうちの１つの内の全体の物体の一部分を含み、パッチサイズ情報によって説明または表されてもよい。パッチ情報は、例えば、境界ボックス５０２、５０４、または５０６内のパッチ５０８の位置を説明する二次元（２Ｄ）座標および／または三次元（３Ｄ）座標を含んでもよい。パッチ情報はまた、他のパラメータを含んでもよい。例えば、パッチ情報は、参照パッチ情報からカレントパッチ情報に対して継承されるｎｏｒｍａｌＡｘｉｓのようなパラメータを含んでもよい。すなわち、参照フレームのパッチ情報からの１つ以上のパラメータが、カレントフレームのパッチ情報に対して継承されてもよい。追加的に、参照フレームからの１つ以上のメタデータ部（例えば、パッチ回転、スケールパラメータ、材料識別子など）は、カレントフレームに継承されてもよい。パッチ５０８は、本明細書では、３Ｄパッチまたはパッチデータユニットと互換的に呼ばれることがある。各境界ボックス５０２、５０４、または５０６内のパッチ５０８のリストを生成し、最大パッチから最小パッチまでの降順にパッチバッファに記憶してもよい。次いで、このパッチは、符号化器によって符号化器され、および／または復号器によって復号することができる。
【００７１】
パッチ５０８は、ポイントクラウド媒体５００の様々な属性を説明することができる。具体的には、ｘ軸、ｙ軸、およびｚ軸上の各ピクセルの位置は、そのピクセルの幾何学的形状である。カレントフレーム内の全てのピクセルの位置を含むパッチ５０８は、ポイントクラウド媒体５００のカレントフレームに対する幾何学的属性を捕捉するようにコード化することができる。さらに、各ピクセルは、赤、青、および緑（ＲＧＢ）および／または輝度および彩度（ＹＵＶ）スペクトルにおける色値を含んでもよい。カレントフレーム内の全てのピクセルの色を含むパッチ５０８は、ポイントクラウド媒体５００のカレントフレームに対するテクスチャ属性を捕捉するようにコード化することができる。
【００７２】
追加的に、各ピクセルは、いくらかの反射率を含んでもよい（または含まなくてもよい）。反射率は、ピクセルから隣接するピクセルに投影する光（例えば、着色光）の量である。輝く物体は高い反射率を有し、したがって、それらの対応するピクセルの光／色を他の近くのピクセルに広げる。一方、無光沢物体は、反射率がほとんどまたは全くなく、隣接するピクセルの色／光レベルに影響を与えないことがある。カレントフレーム内の全てのピクセルの反射率を含むパッチ５０８は、ポイントクラウド媒体５００のカレントフレームに対する反射率属性を捕捉するようにコード化することができる。いくつかの画素は、部分的に、完全に透明であってもよい（例えば、ガラス、透明プラスチックなど）。透明度は、カレント画素を通過することができる隣接する画素の光／色の量である。カレントフレーム内の全てのピクセルの透明度のレベルを含むパッチ５０８は、ポイントクラウド媒体５００のカレントフレームに対する透明度属性を捕捉するようにコード化することができる。さらに、ポイントクラウド媒体のポイントは、表面を生成することがある。表面は、表面に垂直なベクトルである法線ベクトルと関連付けることができる。法線ベクトルは、物体の動きおよび／または相互作用を説明するときに有用であることがある。したがって、場合によっては、ユーザは、さらなる機能性をサポートするために、表面のための法線ベクトルを符号化することを望んでもよい。カレントフレーム内の表面に対する法線ベクトルを含むパッチ５０８は、ポイントクラウド媒体５００のカレントフレームに対する法線属性を捕捉するようにコード化することができる。
【００７３】
幾何学的形状、テクスチャ、反射率、透明度、および法線属性は、例に応じて、ポイントクラウド媒体５００内のいくつかのまたは全てのデータポイントを説明するデータを含むことができる。例えば、反射率、透明度、および法線属性は任意選択であり、したがって、同一のビットストリームにおいてさえ、あるポイントクラウド媒体５００の例では個別に、または組み合わせて発生し、他のものには発生しないことがある。このように、パッチ５０８の数、さらには属性の数は、フィルム化された主題、ビデオ設定などに基づいて、フレームごと、およびビデオごとに変動することがある。
【００７４】
図６は、ポイントクラウド媒体フレーム６００のためのデータセグメンテーションおよびパッキングの例である。具体的には、図６の例は、ポイントクラウド媒体５００のパッチ５０８の２Ｄ表現を示す。ポイントクラウド媒体フレーム６００は、ビデオシーケンスからのカレントフレームに対応する境界ボックス６０２を含む。境界ボックス６０２は、３Ｄである図５の境界ボックス５０２、５０４、および５０６とは対照的に２Ｄである。図示のように、境界ボックス６０２は、多数のパッチ６０４を含む。パッチ６０４は、本明細書では、２Ｄパッチまたはパッチデータユニットと互換的に呼ばれることがある。まとめると、図６のパッチ６０４は、図５の境界ボックス５０４内の画像の表現である。このように、図５の境界ボックス５０４内の３Ｄ画像は、パッチ６０４を介して境界ボックス６０２上に投影される。パッチ６０４のうちの１つを含まない境界ボックス６０２の部分は、空隙６０６と呼ばれる。空隙６０６は、空隙、空サンプルなどとも呼ばれることがある。
【００７５】
上記に留意すると、ビデオベースのポイントクラウド圧縮（ＰＣＣ）コーデック解は、３Ｄポイントクラウドデータ（例えば、図５のパッチ５０８）の２Ｄ投影パッチ（例えば、図６のパッチ６０４）へのセグメント化に基づくことに留意されたい。実際に、上述のコーディング方法またはプロセスは、例えば、没入６自由度（６  ＤｏＦ）、動的拡張現実／仮想現実（ＡＲ／ＶＲ）物体、文化遺産、グラフィック情報システム（ＧＩＳ）、コンピュータ支援設計（ＣＡＤ）、自律ナビゲーションなどのような種々のタイプの技術に対して有益に実施されてもよい。
【００７６】
境界ボックス（例えば、境界ボックス６０２）内の各パッチ（例えば、図６のパッチ６０４のうちの１つ）の位置は、パッチのサイズのみによって決定され得る。例えば、図６のパッチ６０４のうち最大のものは、最初に左上隅（０，０）から開始する境界ボックス６０２上に投影される。パッチ６０４のうち最大のものが境界ボックス６０２上に投影された後、次の最大のパッチ６０４が、境界ボックス６０２上に投影され（別名充填され）、パッチ６０４のうち最小のものが境界ボックス６０２上に投影されるまで続く。再度、このプロセスでは、各パッチ６０４のサイズのみが考慮される。場合によっては、より小さいサイズを有するパッチ６０４は、より大きなパッチ間の空間を占有してもよく、より大きなパッチ６０４よりも境界ボックス６０２の左上隅により近い位置を有することになる。符号化の間、このプロセスは、フレーム内の各属性に対するパッチが１つ以上の対応する属性ストリームに符号化されるまで、各関連属性に対して繰り返されてもよい。次いで、単一フレームを再作成するために使用される属性ストリーム内のデータユニットのグループは、ＰＣＣ  ＡＵ内のビットストリームに記憶することができる。復号器において、これらの属性ストリームは、ＰＣＣ  ＡＵから取得され、復号されて、パッチ６０４を生成する。次いで、このようなパッチ６０４を組み合わせて、ＰＣＣ媒体を再作成することができる。このように、ポイントクラウド媒体フレーム６００は、伝送のためにポイントクラウド媒体５００を圧縮するための方法１００の一部として、ビデオコーデックシステム２００、符号化器３００、および／または復号器４００のようなコーデックによってコード化することができる。
【００７７】
図７は、拡張属性セットを有する例示的なＰＣＣビデオストリーム７００を例示する概略図である。例えば、ＰＣＣビデオストリーム７００は、例えば、ビデオコーデックシステム２００、符号化器３００、および／または復号器４００を採用することによって、ポイントクラウド媒体５００からのポイントクラウド媒体フレーム６００が方法１００にしたがって符号化されるときに生成されてもよい。
【００７８】
ＰＣＣビデオストリーム７００は、ＰＣＣ  ＡＵ７１０のシーケンスを含む。ＰＣＣ  ＡＵ  ７１０は、単一のＰＣＣフレームを再構成するのに十分なデータを含む。データは、ＮＡＬユニット７２０内のＰＣＣ  ＡＵ７１０に配置される。ＮＡＬユニット７２０は、パケットサイズのデータコンテナである。例えば、単一のＮＡＬユニット７２０は、一般に、単純なネットワーク伝送を可能にするようにサイズ決定されている。ＮＡＬユニット７２０は、ＮＡＬユニット７２０のタイプを示すヘッダと、関連付けられたビデオデータを含むペイロードとを含んでもよい。ＰＣＣビデオストリーム７００は、拡張属性セットのために設計され、したがって、いくつかの属性特定ＮＡＬユニット７２０を含む。
【００７９】
ＰＣＣビデオストリーム７００は、フレーム群（ＧＯＦ）ヘッダ７２１、補助情報フレーム７２２、占有マップフレーム７２３、幾何学的形状ＮＡＬユニット７２４、テクスチャＮＡＬユニット７２５、反射ＮＡＬユニット７２６、透明度ＮＡＬユニット７２７、および法線ＮＡＬユニット７２８を含み、それぞれはＮＡＬユニット７２０のタイプである。ＧＯＦヘッダ７２１は、対応するＰＣＣ  ＡＵ  ７１０、対応するＰＣＣ  ＡＵ  ７１０に関連付けられたフレーム、および／またはＰＣＣ  ＡＵ  ７１０内の他のＮＡＬユニット７２０を説明する様々な構文要素を含む。ＰＣＣ  ＡＵ  ７１０は、例に応じて、単一のＧＯＦヘッダ７２１を含んでもよいし、ＧＯＦヘッダ７２１を含まなくてもよい。補助情報フレーム７２２は、属性を符号化するために使用されるパッチに関連する情報のような、フレームに関連するメタデータを含んでもよい。占有マップフレーム７２３は、空のフレームの領域対データで占有されたフレームの領域を示す占有マップのような、フレームに関連するさらなるメタデータを含んでもよい。残りのＮＡＬユニット７２０は、ＰＣＣ  ＡＵ  ７１０に対する属性データを含む。具体的には、幾何学的形状ＮＡＬユニット７２４、テクスチャＮＡＬユニット７２５、反射ＮＡＬユニット７２６、透明度ＮＡＬユニット７２７、および法線ＮＡＬユニット７２８は、それぞれ、幾何学的属性、テクスチャ属性、反射属性、透過属性、および法線属性を含む。
【００８０】
上記のように、属性はストリームに編成することができる。例えば、各属性に対して０〜４のストリームがあってもよい。ストリームは、ＰＣＣビデオデータの論理的に分離した部分を含んでもよい。例えば、異なる物体のための属性は、同じタイプの複数の属性ストリーム（例えば、第１の３Ｄ境界ボックスのための第１の幾何学的形状ストリーム、第２の３Ｄ境界ボックスのための第２の属性ストリームなど）に符号化されてもよい。別の例では、異なるフレーム関連付けられた属性は、複数の属性ストリーム（例えば、偶数フレームのための透明度属性ストリーム、奇数フレームのための透明度属性ストリーム）に符号化されてもよい。さらに別の例では、パッチをレイヤ状に置いて３Ｄ物体を表してもよい。したがって、別々のレイヤは、別々のストリーム（例えば、トップレイヤに対して第１テクスチャ属性ストリーム、第２レイヤに対して第２のテクスチャ属性ストリームなど）に含まれてもよい。例にかかわらず、ＰＣＣ  ＡＵ７１０は、対応する属性のための０、１または複数のＮＡＬユニットを含んでもよい。
【００８１】
本開示は、種々の属性（例えば、幾何学的形状ＮＡＬユニット７２４、テクスチャＮＡＬユニット７２５、反射ＮＡＬユニット７２６、透明度ＮＡＬユニット７２７、および／または法線ＮＡＬユニット７２８に含まれるように）をコーディングするための柔軟性の増大をサポートする。第１の例では、異なるＰＣＣ属性をコーディングするために、異なるコーデックを採用することができる。具体的な例として、第１コーデックを採用して、ＰＣＣビデオの幾何学的形状を幾何学的形状ＮＡＬユニット７２４にコード化することができ、第２コーデックを採用して、ＰＣＣビデオの反射を反射ＮＡＬユニット７２６にコード化する。別の例として、ＰＣＣビデオをコーディングする際に、最大５つのコーデック（例えば、各属性に対して１つのコーデック）を採用することができる。次いで、属性に使用されるコーデックは、ＰＣＣビデオストリーム７００、例えば、ＧＯＦヘッダ７２１において構文要素としてシグナルすることができる。
【００８２】
さらに、上記のように、ＰＣＣ属性は、レイヤおよび／またはストリームの多くの組み合わせを採用してもよい。したがって、復号するときに復号器が各属性に対するレイヤおよび／またはストリームの組み合わせを決定することを可能にするために、（例えば、ＧＯＦヘッダ７２１内の）構文要素を使用して、各属性を符号化するときに符号化器によって使用されるレイヤおよび／またはストリームの組み合わせをシグナルすることができる。さらに、（例えば、ＧＯＦヘッダ７２１内の）構文要素を使用して、ＰＣＣ属性ストリーム内のＰＣＣ属性のレイヤをコーディングおよび／または組み合わせるために使用されるモードをシグナルすることができる。追加的に、（例えば、ＧＯＦヘッダ７２１内の）構文要素を使用して、ＰＣＣ属性ストリームに対応する各ＮＡＬユニット７２０に関連付けられたレイヤのレイヤインデックスを指定することができる。例えば、ＧＯＦヘッダ７２１を使用して、幾何学的形状属性に関連するレイヤおよびストリームの数、そのようなレイヤおよびストリームが配置される方式、ならびに各幾何学的ＮＡＬユニット７２４のためのレイヤインデックスを、復号器がＰＣＣフレームを復号するときに各幾何学的ＮＡＬユニット７２４を適切なレイヤに割り当てることができるようにシグナルすることができる。
【００８３】
最後に、（例えば、ＧＯＦヘッダ７２１内の）フラグは、任意のＰＣＣ属性レイヤが任意の不規則的なポイントクラウドポイントを含むかどうかを示すことができる。不規則的なポイントクラウドは、隣接するデータポイントと非連続である１つ以上のデータポイントのセットであり、したがって、パッチ６０４のような２Ｄパッチで表わすことができない。その代わりに、このような点は、このような不規則的なポイントクラウドポイントに関連付けられた座標および／または変換パラメータを含む不規則的なポイントクラウドパッチの一部として表わされる。不規則ポイントクラウドは２Ｄパッチとは異なるデータ構造を使用して表わされるため、フラグは復号器が不規則ポイントクラウドの存在を適切に認識し、そのようなデータを復号するための適切な機構を選択することを可能にする。
【００８４】
以下は、上述の態様を実施するための例示的な機構である。定義：ビデオＮＡＬユニットは、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＧＭＴＲＹ＿ＮＡＬＵ、ＴＥＸＴＵＲＥ＿ＮＡＬＵ、ＲＥＦＬＥＣＴ＿ＮＡＬＵ、ＴＲＡＮＳＰ＿ＮＡＬＵ、またはＮＯＲＭＡＬ＿ＮＡＬＵに等しいＰＣＣ  ＮＡＬユニットである。
【００８５】
ビットストリームフォーマット：この項は、ＮＡＬユニットストリームとバイトストリームの間の関係を指定し、いずれかはビットストリームと呼ばれる。ビットストリームは、ＮＡＬユニットストリームフォーマットまたはバイトストリームフォーマットの２つのフォーマットのうちの１つとすることができる。ＮＡＬユニットストリームフォーマットは概念的にはより基本的なタイプであり、ＰＣＣ  ＮＡＬユニットと呼ばれる一連の構文構造を含む。このシーケンスは復号順で順序付けされる。ＮＡＬユニットストリームにおいてＰＣＣ  ＮＡＬユニットの復号順（およびコンテンツ）に課される制約がある。バイトストリームフォーマットは、ＮＡＬユニットを復号順に並べ、各ＮＡＬユニットに開始コードプレフィックスとゼロ以上のゼロ値バイトをプレフィックスしてバイトストリームを形成することによって、ＮＡＬユニットストリームフォーマットから構成することができる。ＮＡＬユニットストリームフォーマットは、このバイトのストリーム内の一意の開始コードプレフィックスパターンの位置を検索することによって、バイトストリームフォーマットから抽出することができる。バイトストリームフォーマットは、ＨＥＶＣおよびＡＶＣで採用されているフォーマットと同様である。
【００８６】
ＰＣＣ  ＮＡＬユニットヘッダ構文は、以下の表１に説明されるように実施されてもよい。
【表１】
2022500931.tif 000003
【００８７】
【表２】
2022500931.tif 000004
【００８８】
ＰＣＣプロファイルおよびレベル構文は、以下の表３に説明されるように実施されてもよい。
【表３】
2022500931.tif 000005
【００８９】
ＰＣＣ  ＮＡＬユニットヘッダセマンティクスは以下のように実施されてもよい。ｆｏｒｂｉｄｄｅｎ＿ｚｅｒｏ＿ｂｉｔは、０に等しく設定されてもよい。ｐｃｃ＿ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅ＿ｐｌｕｓ１−１は、変数ＰｃｃＮａｌＵｎｉｔＴｙｐｅの値を指定し、これは、下記の表４に指定されるように、ＰＣＣ  ＮＡＬユニットに含まれるＲＢＳＰデータ構造のタイプを指定する。変数ＮａｌＵｎｉｔＴｙｐｅは次のように指定される：
ＰｃｃＮａｌＵｎｉｔＴｙｐｅ＝ｐｃｃ＿ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅ＿ｐｌｕｓ１-１  （７−１）セマンティクスが指定されていないＵＮＳＰＥＣ２５〜ＵＮＳＰＥＣ３０の範囲のｎａｌ＿ｕｎｉｔ＿ｔｙｐｅを持つＰＣＣ  ＮＡＬユニットは、本明細書で指定される復号プロセスに影響を与えない。ＵＮＳＰＥＣ２５〜ＵＮＳＰＥＣ３０の範囲のＰＣＣ  ＮＡＬユニットは、アプリケーションによって決定されたとおりに使用されてもよいと留意されたい。ＰｃｃＮａｌＵｎｉｔＴｙｐｅのこれらの値に対する復号プロセスは、本開示では指定されない。異なるアプリケーションが異なる目的のためにこれらのＰＣＣ  ＮＡＬユニットタイプを使うかもしれないため、これらのＰｃｃＮａｌＵｎｉｔＴｙｐｅ値を有するＰＣＣ  ＮＡＬユニットを生成する符号化器の設計と、これらのＰｃｃＮａｌＵｎｉｔＴｙｐｅ値を有するＰＣＣ  ＮＡＬユニットのコンテンツを解釈する復号器の設計に、特別な注意が払われるべきです。この開示は、これらの値に対するあらゆる管理を定義しない。これらのＰｃｃＮａｌＵｎｉｔＴｙｐｅ値は、使用の衝突（例えば、同じＰｃｃＮａｌＵｎｉｔＴｙｐｅ値に対するＰＣＣ  ＮＡＬユニットのコンテンツの意味の異なる定義）が重要でなく、不可能であるコンテキストでの使用にのみ適している可能性があり、例えば、制御アプリケーションまたはトランスポート仕様で定義または管理されるか、ビットストリームが配布される環境を制御することによって管理される。
【００９０】
ビットストリームのＰＣＣ  ＡＵ内のデータ量を決定する以外の目的のために、復号器は、ＰｃｃＮａｌＵｎｉｔＴｙｐｅの予約値を使用するすべてのＰＣＣ  ＮＡＬユニットのコンテンツを無視（ビットストリームから削除し、廃棄）してもよい。この要件は、この開示に対する互換性のある拡張の将来の定義を可能にしてもよい。
【表４】
2022500931.tif 000006
【００９１】
識別されたビデオコーデック（例えば、ＨＥＶＣまたはＡＶＣ）は、各クラウドポイントストリーム（ＣＰＳ）の最初のＰＣＣ  ＡＵに存在するフレームヘッダＮＡＬユニットのグループに指示される。ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄは、ＰＣＣ  ＮＡＬユニットのＰＣＣストリーム識別子（ＩＤ）を指定する。ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＧＯＦ＿ＨＥＡＤＥＲ、ＡＵＸ＿ＩＮＦＯまたはＯＣＰ＿ＭＡＰに等しいときに、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄの値はゼロに設定される。ＰＣＣプロファイルおよびレベルの１つ以上のセットの定義では、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄの値は４未満に制約されることがある。
【００９２】
ＰＣＣ  ＮＡＬユニットの順序とそれらのＰＣＣ  ＡＵへの関連を以下に説明する。ＰＣＣ  ＡＵは、フレームヘッダＮＡＬユニットの０または１つのグループ、１つの補助情報フレームＮＡＬユニット、１つの占有マップフレームＮＡＬユニット、および幾何学的形状、テクスチャ、反射、透明度、または法線などのＰＣＣ属性のデータユニットを搬送する１つ以上のビデオＡＵを含む。ｖｉｄｅｏ＿ａｕ（ｉ，ｊ）は、ＰＣＣ属性ＩＤがａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［ｉ］に等しいＰＣＣ属性に対して、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｊに等しいビデオＡＵを示す。ＰＣＣ  ＡＵに存在するビデオＡＵは、以下のように順序付けされてもよい。ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇが１に等しい場合、ＰＣＣ  ＡＵに存在する任意の２つのビデオＡＵ  ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）とｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）に対して、以下が適用される。ｉ１がｉ２より小さい場合、ｊ１およびｊ２の値に関係なく、ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）は、ｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）を先行するものとする。それ以外の場合、ｉ１がｉ２に等しく、ｊ１がｊ２より大きい場合、ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）はｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）を後続するものとする。
【００９３】
さもなければ（例えば、ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇが０に等しい）、ＰＣＣ  ＡＵに存在する２つのビデオＡＵ  ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）とｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）に対して、以下が適用される。ｊ１がｊ２より小さい場合、ｉ１およびｉ２の値に関係なく、ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）はｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）を先行するものとする。それ以外の場合、ｊ１がｊ２に等しく、ｉ１がｉ２より大きい場合、ｖｉｄｅｏ＿ａｕ（ｉ１，ｊ１）はｖｉｄｅｏ＿ａｕ（ｉ２，ｊ２）を後続するものとする。ビデオＡＵの上記の順序は、以下をもたらす。ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇが１に等しい場合、ビデオＡＵの順序は、存在する場合、ＰＣＣ  ＡＵ内で（リストされた順序で）以下のようである。ここで、ＰＣＣ  ＡＵ内では、各ＰＣＣ属性のすべてのＰＣＣ  ＮＡＬユニットは、存在する場合、他のＰＣＣ属性のＰＣＣ  ＮＡＬユニットとインターリーブされることなく、復号順で連続的である。すなわち、ｖｉｄｅｏ＿ａｕ（０，０），ｖｉｄｅｏ＿ａｕ（０，１），．．．，ｖｉｄｅｏ＿ａｕ（０，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［０］），ｖｉｄｅｏ＿ａｕ（１，０），ｖｉｄｅｏ＿ａｕ（１，１），．．．，ｖｉｄｅｏ＿ａｕ（１，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［１］），ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，０），ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，１），．．．，ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［１］）である。さもなければ（ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇは０に等しい）、ビデオＡＵの順序は、存在する場合、ＰＣＣ  ＡＵ内で（リストされた順序で）以下のようであり、ＰＣＣ  ＡＵ内では、各特定のｐｃｃ＿ｓｔｒｅａｍ＿ｉｄ値のすべてのＰＣＣ  ＮＡＬユニットは、存在する場合、他のｐｃｃ＿ｓｔｒｅａｍ＿ｉｄ値のＰＣＣ  ＮＡＬユニットとインターリーブされることなく、復号順で連続している。すなわち、ｖｉｄｅｏ＿ａｕ（０，０），ｖｉｄｅｏ＿ａｕ（１，０），．．．，ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，０），ｖｉｄｅｏ＿ａｕ（０，１），ｖｉｄｅｏ＿ａｕ（１，１），．．．，ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，１），ｖｉｄｅｏ＿ａｕ（０，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［１］），ｖｉｄｅｏ＿ａｕ（１，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［１］），．．．，ｖｉｄｅｏ＿ａｕ（ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓ-１，ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［１］）である。
【００９４】
ＮＡＬユニットのビデオＡＵへの関連付けおよびビデオＡＵ内のＮＡＬユニットの順序は、識別されたビデオコーデック、例えば、ＨＥＶＣまたはＡＶＣの仕様で指定される。識別されたビデオコーデックは、各ＣＰＳの最初のＰＣＣ  ＡＵに存在するフレームヘッダＮＡＬユニットに指示される。
【００９５】
各ＣＰＳの最初のＰＣＣ  ＡＵは、フレームヘッダＮＡＬユニットのグループで開始し、フレームヘッダＮＡＬユニットの各グループは、新しいＰＣＣ  ＡＵの開始を指定する。
【００９６】
他のＰＣＣ  ＡＵは、補助情報フレームＮＡＬユニットで開始する。言い換えると、補助情報フレームＮＡＬユニットは、フレームヘッダＮＡＬユニットのグループによって先行されない場合、新しいＰＣＣ  ＡＵを開始する。
【００９７】
フレームヘッダＲＢＳＰのグループのセマンティクスは以下のようである。ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓは、ＣＰＳで搬送され得るＰＣＣ属性の最大数（幾何学的形状、テクスチャなど）を指定する。ＰＣＣプロファイルとレベルの１つ以上のセットの定義では、ｎｕｍ＿ａｔｔｒｉｂｕｔｅｓの値が５以下に制約され得ることに留意する。ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇは、０に等しいときに、ＰＣＣ  ＡＵ内で、各ＰＣＣ属性のすべてのＰＣＣ  ＮＡＬユニットは、存在する場合、他のＰＣＣ属性のＰＣＣ  ＮＡＬユニットとインターリーブされることなく、復号順で連続することを指定する。ａｔｔｒｉｂｕｔｅｓ＿ｆｉｒｓｔ＿ｏｒｄｅｒｉｎｇ＿ｆｌａｇは、０に等しく設定されるときに、ＰＣＣ  ＡＵ内で、各特定のｐｃｃ＿ｓｔｒｅａｍ＿ｉｄ値のすべてのＰＣＣ  ＮＡＬ単位が、存在する場合、他のｐｃｃ＿ｓｔｒｅａｍ＿ｉｄ値のＰＣＣ  ＮＡＬユニットとインターリーブされることなく、復号順で連続することを指定する。ａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［ｉ］は、ｉ番目のＰＣＣ属性のＰＣＣ属性タイプを指定する。異なるＰＣＣ属性タイプの解釈は、以下の表５で指定される。ＰＣＣプロファイルとレベルの１つ以上のセットの定義では、ａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［０］とａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［１］の値は、それぞれ０と１に等しくなるように制約されてもよい。
【表５】
2022500931.tif 000007
【００９８】
ｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］は、以下の表６に示されるように、ｉ番目のＰＣＣ属性のコーディングのために使用される識別されたビデオコーデックを指定する。
【表６】
2022500931.tif 000008
【００９９】
ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］は、ｉ番目のＰＣＣ属性のＰＣＣストリームの最大数を指定する。ＰＣＣプロファイルとレベルの１つ以上のセットの定義では、ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］の値は４以下に制約されてもよいと留意する。ｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］は、ｉ番目のＰＣＣ属性の属性レイヤの数を指定する。ＰＣＣプロファイルとレベルの１つ以上のセットの定義では、ｎｕｍ＿ｌａｙｅｒ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］の値は４以下に制約されてもよいと留意する。ｍａｘ＿ａｔｔｒｉｂｕｔｅ＿ｌａｙｅｒ＿ｉｄｘ［ｉ］［ｊ］は、ｉ番目のＰＣＣ  属性に対してｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｊに等しい状態で、ＰＣＣストリームの属性レイヤインデックスの最大値を指定する。ｍａｘ＿ａｔｔｒｉｂｕｔｅ＿ｌａｙｅｒ＿ｉｄｘ［ｉ］［ｊ］の値は、ｎｕｍ＿ｌａｙｅｒ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］より小さくするべきである。ａｔｔｒｉｂｕｔｉｏｎ＿ｌａｙｅｒｓ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｍｏｄｅ［ｉ］［ｊ］は、ｉ番目のＰＣＣ属性に対してｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｊに等しい状態で、ＰＣＣストリームで搬送された属性レイヤに対する属性レイヤ組み合わせモードを指定する。ａｔｔｒｉｂｕｔｉｏｎ＿ｌａｙｅｒｓ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｍｏｄｅ［ｉ］［ｊ］の異なる値の解釈は、以下の表７で指定される。
【表７】
2022500931.tif 000009
【０１００】
ａｔｔｒｉｂｕｔｉｏｎ＿ｌａｙｅｒｓ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｍｏｄｅ［ｉ］［ｊ］が存在し、０に等しいときに、ｉ番目のＰＣＣ属性に対してｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｊに等しい状態でＰＣＣストリームの属性レイヤに対する属性レイヤインデックスを示す変数ａｔｔｒＬａｙｅｒＩｄｘ［ｉ］［ｊ］、ピクチャ順序カウント値が識別されたビデオコーデックの仕様で指定されるようにＰｉｃＯｒｄｅｒＣｎｔＶａｌに等しい状態でビデオＡＵで搬送される属性レイヤのＰＣＣ  ＮＡＬユニットは、以下のように導出される。
【数１】
2022500931.tif 000010
【０１０１】
ｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ［ｉ］［ｊ］は、１に等しい場合、ｉ番目のＰＣＣ属性に対してレイヤインデックスがｊに等しい状態で属性レイヤがポイントクラウド信号の通常ポイントを搬送することを指定する。ｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ［ｉ］［ｊ］は、０に等しい場合、ｉ番目のＰＣＣ属性に対してレイヤインデックスがｊに等しい状態で属性レイヤがポイントクラウド信号の不規則ポイントを搬送することを指定する。ＰＣＣプロファイルとレベルの１つ以上のセットの定義では、ｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ［ｉ］［ｊ］の値はゼロに制約されてもよいことに留意する。ｆｒａｍｅ＿ｗｉｄｔｈは、幾何学的形状およびテクスチャビデオのフレーム幅をピクセル単位で示す。フレーム幅はｏｃｃｕｐａｎｃｙＲｅｓｏｌｕｔｉｏｎの倍数とすべきである。ｆｒａｍｅ＿ｈｅｉｇｈｔは、幾何学的形状およびテクスチャビデオのフレーム高さをピクセル単位で示す。フレーム高さはｏｃｃｕｐａｎｃｙＲｅｓｏｌｕｔｏｎの倍数とすべきである。ｏｃｃｕｐａｎｃｙ＿ｒｅｓｏｌｕｔｉｏｎは、パッチが幾何学的形状およびテクスチャビデオにパックされる水平および垂直解像度をピクセル単位で示す。ｏｃｃｕｐａｎｃｙ＿ｒｅｓｏｌｕｔｉｏｎは、ｏｃｃｕｐａｎｃｙＰｒｅｃｉｓｉｏｎの偶数値倍とすべきである。ｒａｄｉｕｓ＿ｔｏ＿ｓｍｏｏｔｈｉｎｇは、スムージングのためにネイバーを検出するための半径を示す。ｒａｄｉｕｓ＿ｔｏ＿ｓｍｏｏｔｉｎｇの値は、０〜２５５までの範囲とすべきである。
【０１０２】
ｎｅｉｇｈｂｏｒ＿ｃｏｕｎｔ＿ｓｍｏｏｔｉｎｇは、スムージングに使用されるネイバーの最大数を示す。ｎｅｉｇｈｂｏｒ＿ｃｏｕｎｔ＿ｓｍｏｏｔｉｎｇの値は、０〜２５５までの範囲とすべきである。ｒａｄｉｕｓ２＿ｂｏｕｎｄａｒｙ＿ｄｅｔｅｃｔｉｏｎは、境界ポイント検出のための半径を示す。ｒａｄｉｕｓ２＿ｂｏｕｎｄａｒｙ＿ｄｅｔｅｃｔｉｏｎの値は、０〜２５５までの範囲とすべきである。ｔｈｒｅｓｈｏｌｄ＿ｓｍｏｏｔｉｎｇは、スムージングしきい値を示す。ｔｈｒｅｓｈｏｌｄ＿ｓｍｏｏｔｉｎｇの値は、０〜２５５までの範囲とすべきである。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙは、可逆性幾何学的形状コーディングを示す。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙの値は、１に等しい場合、ポイントクラウド幾何学的形状情報が可逆的にコード化されることを示す。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙの値は、０に等しい場合、ポイントクラウド幾何学的形状情報が非可逆的にコード化されることを示す。ｌｏｓｓｌｅｓｓ＿ｔｅｘｔｕｒｅは、可逆性テクスチャ符号化を示す。ｌｏｓｓｌｅｓｓ＿ｔｅｘｔｕｒｅの値は、１に等しい場合、ポイントクラウドテクスチャ情報が可逆的にコード化されることを示す。ｌｏｓｓｌｅｓｓ＿ｔｅｘｔｕｒｅの値は、０に等しい場合、ポイントクラウドテクスチャ情報が非可逆的にコード化されることを示す。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙ＿４４４は、幾何学的形状フレームに４：２：０を使用するか、４：４：４のビデオフォーマットを使用するかを示す。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙ＿４４４の値は、１に等しい場合、幾何学的形状ビデオが４：４：４フォーマットでコード化されることを示す。ｌｏｓｓｌｅｓｓ＿ｇｅｏｍｅｔｒｙ＿４４４の値は、０に等しい場合、幾何学的形状ビデオが４：２：０フォーマットでコード化されることを示す。
【０１０３】
ａｂｓｏｌｕｔｅ＿ｄ１＿ｃｏｄｉｎｇは、投影面に最も近いレイヤ以外の幾何学的形状レイヤがどのようにコード化されるかを示す。ａｂｓｏｌｕｔｅ＿ｄ１＿ｃｏｄｉｎｇは、１に等しい場合、実際の幾何学的形状値が投影面に最も近いレイヤ以外の幾何学的形状レイヤに対してコード化されることを示す。ａｂｓｏｌｕｔｅ＿ｄ１＿ｃｏｄｉｎｇは、０に等しい場合、投影面に最も近いレイヤ以外の幾何学的形状レイヤが差分的にコード化されることを示す。ｂｉｎ＿ａｇｉｔｈｍｅｔｉｃ＿ｃｏｄｉｎｇは、バイナリ演算コーディングが使用されるかどうかを示す。ｂｉｎ＿ａｇｉｔｈｍｅｔｉｃ＿ｃｏｄｉｎｇの値は、１に等しい場合、全ての構文要素にバイナリ演算コーディングが使用されることを示す。ｂｉｎ＿ａｇｉｔｈｍｅｔｉｃ＿ｃｏｄｉｎｇの値は、０に等しい場合、いくつかの構文要素に非バイナリ演算コーディングが使用されることを示す。ｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇは、０に等しい場合、ｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ＿ｆｌａｇ構文要素がフレームヘッダＲＢＳＰ構文構造のグループに存在しないことを指定する。ｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇは、１に等しい場合、ｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ＿ｆｌａｇ構文要素がフレームヘッダＲＢＳＰ構文構造のグループに存在することを指定する。復号器は、フレームヘッダＮＡＬユニットのグループのｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇの値１に続くすべてのデータを無視してもよい。ｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ＿ｆｌａｇは任意の値を有してもよく、フラグの存在と値は復号器の適合性に影響しない。復号器は全てのｇｏｆ＿ｈｅａｄｅｒ＿ｅｘｔｅｎｓｉｏｎ＿ｄａｔａ＿ｆｌａｇ構文要素を無視してもよい。
【０１０４】
ＰＣＣプロファイルとレベルセマンティクスは以下のようである。ｐｃｃ＿ｐｒｏｆｉｌｅ＿ｉｄｃは、ＣＰＳが準拠するプロファイルを示す。ｐｃｃ＿ｐｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿１９ｂｉｔｓは、本開示のこのバージョンに準拠するビットストリームでは０に等しい。ｐｃｃ＿ｐｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿１９ｂｉｔｓの他の値は、ＩＳＯ／ＩＥＣによって将来使用するために予約されている。復号器は、ｐｃｃ＿ｐｌ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿１９ｂｉｔｓの値を無視してもよい。ｐｃｃ＿ｌｅｖｅｌ＿ｉｄｃは、ＣＰＳが準拠するレベルを示す。サブビットストリーム抽出プロセスによって指定されるように抽出されたａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［ｉ］に等しいＰＣＣ属性タイプに対するＨＥＶＣビットストリームが、準拠するＨＥＶＣ復号器によって復号されるときに、アクティブＳＰＳにおいて、ｈｅｖｃ＿ｐｔｌ＿１２ｂｙｔｅｓ＿ａｔｔｒｉｂｕｔｅ［ｉ］は、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ〜ｇｅｎｅｒａｌ＿ｌｅｖｅｌ＿ｉｄｃまでの１２バイトの値に等しくてもよい。サブビットストリーム抽出プロセスによって指定されたように抽出されたａｔｔｒｉｂｕｔｅ＿ｔｙｐｅ［ｉ］に等しいＰＣＣ属性タイプに対するＡＶＣビットストリームが準拠するＡＶＣ復号器によって復号されるときに、アクティブＳＰＳにおいて、ａｖｃ＿ｐｌ＿３ｙｔｅｓ＿ａｔｔｒｉｂｕｔｅ［ｉ］は、ｐｒｏｆｉｌｅ＿ｉｄｃ〜ｌｅｖｅｌ＿ｉｄｃまでの３バイトの値に等しくてもよい。
【０１０５】
サブビットストリーム抽出プロセスは、以下のようである。このプロセスへの入力は、ＰＣＣビットストリームｉｎＢｉｔｓｔｒｅａｍ、ターゲットＰＣＣ属性タイプｔａｒｇｅｔＡｔｔｒＴｙｐｅ、およびターゲットＰＣＣストリームＩＤ値ｔａｒｇｅｔＳｔｒｅａｍＩｄである。このプロセスの出力はサブビットストリームである。適合しているＰＣＣビットストリームｉｎＢｉｔｓｔｒｅａｍ、ｉｎＢｉｔｓｔｒｅａｍ内に存在する任意のタイプのＰＣＣ属性を示すｔａｒｇｅｔＡｔｔｒＴｙｐｅ、および属性タイプｔａｒｇｅｔＡｔｔｒＴｙｐｅに対するｉｎＢｉｔｓｔｒｅａｍ内に存在するＰＣＣストリームの最大ＰＣＣストリームＩＤ値以下のｔａｒｇｅｔＳｔｒｅａｍＩｄを持つ、この項で指定されたプロセスの出力である任意の出力サブビットストリームは、属性タイプｔａｒｇｅｔＡｔｔｒＴｙｐｅに対する識別されたビデオコーデック仕様ごとに適合しているビデオビットストリームであるものとすることは、入力ビットストリームに対するビットストリーム適合性の要件であってもよい。
【０１０６】
出力サブビットストリームは以下の順序付けられたステップによって導出される。ｔａｒｇｅｔＡｔｔｒＴｙｐｅの値に応じて、以下が適用される。ｔａｒｇｅｔＡｔｔｒＴｙｐｅがＡＴＴＲ＿ＧＥＯＭＥＴＲＹに等しい場合、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＧＭＴＲＹ＿ＮＡＬＵに等しくないか、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｔａｒｇｅｔＳｔｒｅａｍＩｄに等しくない全てのＰＣＣ  ＮＡＬユニットが削除される。そうでなければ、ｔａｒｇｅｔＡｔｔｒＴｙｐｅがＡＴＴＲ＿ＴＥＸＴＵＲＥに等しい場合、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＴＥＸＴＵＲＥ＿ＮＡＬＵに等しくないか、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｔａｒｇｅｔＳｔｒｅａｍＩｄに等しくない全てのＰＣＣ  ＮＡＬユニットは削除される。そうでなければ、ｔａｒｇｅｔＡｔｔｒＴｙｐｅがＡＴＴＲ＿ＲＥＦＬＥＣＴに等しい場合、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＲＥＦＬＥＣＴ＿ＮＡＬＵに等しくないか、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｔａｒｇｅｔＳｔｒｅａｍＩｄに等しくない全てのＰＣＣ  ＮＡＬユニットは削除される。そうでなければ、ｔａｒｇｅｔＡｔｔｒＴｙｐｅがＡＴＴＲ＿ＴＲＡＮＳＰに等しい場合、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＴＲＡＮＳＰ＿ＮＡＬＵに等しくないか、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｔａｒｇｅｔＳｔｒｅａｍＩｄに等しくない全てのＰＣＣ  ＮＡＬユニットは削除される。そうでなければ、ｔａｒｇｅｔＡｔｔｒＴｙｐｅがＡＴＴＲ＿ＮＯＲＭＡＬに等しい場合、ＰｃｃＮａｌＵｎｉｔＴｙｐｅがＮＯＲＭＡＬ＿ＮＡＬＵに等しくないか、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄがｔａｒｇｅｔＳｔｒｅａｍＩｄに等しくない全てのＰＣＣ  ＮＡＬユニットは削除される。各ＰＣＣ  ＮＡＬユニットに対して、最初のバイトを削除してもよい。
【０１０７】
上記に要約した方法の第１のセットの代替の実施形態では、ＰＣＣ  ＮＡＬユニットヘッダは、ｐｃｃ＿ｓｔｒｅａｍ＿ｉｄに対してより多くのビットを使用し、各属性に対して４つ以上のストリームを許容するように設計される。その場合、ＰＣＣ  ＮＡＬユニットのヘッダにさらに１つのタイプを追加する。
【０１０８】
図８は、複数のコーデック８４３および８４４を有するＰＣＣ属性８４１および８４２を符号化する例示的な機構８００を示す概略図である。例えば、機構８００を採用して、ＰＣＣビデオストリーム７００の属性を符号化および／または復号することができる。したがって、機構８００は、ポイントクラウド媒体５００に基づいてポイントクラウド媒体フレーム６００を符号化および／または復号するために採用することができる。このように、機構８００は、符号化器３００がＰＣＣシーケンスからビットストリームを生成するために使用され、復号器４００がビットストリームからＰＣＣシーケンスを再構成するときに使用されてもよい。したがって、機構８００は、コーデックシステム２００によって採用することができ、さらに、方法１００をサポートするために採用してもよい。
【０１０９】
機構８００は、複数のＰＣＣ属性８４１および８４２に適用することができる。例えば、ＰＣＣ属性８４１および８４２は、幾何学的形状属性、テクスチャ属性、反射率属性、透明度属性、および法線属性を含むグループから選択される任意の２つの属性であってもよい。図８に示すように、機構８００は、左から右に進むときの符号化プロセスと、右から左に進むときの復号プロセスを示す。コーデック８４３および８４４は、ＨＥＶＣ、ＡＶＣ、ＶＶＣなどの任意の２つのコーデック、またはその任意のバージョンであってもよい。特定のコーデック８４３および８４４、またはそのバージョンは、特定のＰＣＣ属性８４１および８４２を符号化するときに、他のものよりも効率的であることがある。この例では、それぞれ、コーデック８４３は、属性８４１を符号化するために使用され、コーデック８４４は、属性８４２を符号化するために使用される。このような符号化の結果を組み合わせて、ＰＣＣ属性８４１および８４２の両方を含むＰＣＣビデオストリーム８４５を生成する。復号器では、それぞれ、コーデック８４３は、属性８４１を復号するために使用され、コーデック８４４は、属性８４２を復号するために使用される。次いで、復号された属性８４１および８４２を再度組み合わせて、復号されたＰＣＣビデオストリーム８４５を生成することができる。
【０１１０】
機構８００を採用する利点は、最も効率的なコーデック８４３および８４４が、対応する属性８４１および８４２に対して選択され得ることである。機構８００は、２つの属性８４１および８４２、ならびに２つのコーデック８４３および８４４に限定されない。例えば、各属性（幾何学的形状、テクスチャ、反射率、透明度、および法線）は、別々のコーデックによって符号化することができる。適切なコーデック８４３および８４４が、対応する属性８４１および８４２を復号するように選択され得ることを保証するために、符号化器は、コーデック８４３および８４４、ならびに、それぞれ、属性８４１および８４２へのそれらの対応をシグナルしてもよい。例えば、符号化器は、コーデックを属性対応に示すために、ＧＯＦヘッダに構文要素を含むことができる。次いで、復号器は、関連する構文を読み取り、属性８４１および８４２に対する正しいコーデック８４３および８４４を選択し、ＰＣＣビデオストリーム８４５を復号することができる。特定の例として、ｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ構文要素を採用して、それぞれ属性８４１および８４２に対するコーデック８４３および８４４を示してもよい。
【０１１１】
図９は、属性レイヤ９３１、９３２、９３３、および９３４の例を示す概略図９００である。例えば、属性レイヤ９３１、９３２、９３３、および９３４を採用して、ＰＣＣビデオストリーム７００の属性を搬送することができる。したがって、レイヤ９３１、９３２、９３３、および９３４は、ポイントクラウド媒体５００に基づいてポイントクラウド媒体フレーム６００を符号化および／または復号するときに使用することができる。このように、レイヤ９３１、９３２、９３３、および９３４は、符号化器３００によって、ＰＣＣシーケンスからビットストリームを生成するために使用されてもよく、復号器４００によって、ＰＣＣシーケンスをビットストリームから再構成するときに使用されてもよい。したがって、レイヤ９３１、９３２、９３３、および９３４は、コーデックシステム２００によって採用することができ、さらに、方法１００をサポートするために採用してもよい。追加的に、属性レイヤ９３１、９３２、９３３、および９３４は、属性８４１および８４２のうちの１つ以上を搬送するために使用されてもよい。
【０１１２】
属性レイヤ９３１、９３２、９３３、および９３４は、同じ属性に関連するデータの他のグループとは独立して保存および／または変更することができる属性に関連するデータのグルーピングである。このように、各属性レイヤ９３１、９３２、９３３、および９３４は、残りの属性レイヤ９３１、９３２、９３３、および／または９３４に影響を及ぼすことなく、変更および／または表すことができる。いくつかの例では、属性レイヤ９３１、９３２、９３３、および／または９３４は、図９に示すように、互いの上に視覚的に表わされてもよい。例えば、物体全体をカバーするテクスチャ（例えば、より一般的なもの）は、属性レイヤ９３１に保存することができ、より詳細なテクスチャ（例えば、より具体的なもの）は、属性レイヤ９３２、９３３、および／または９３４に含まれる。別の例では、属性レイヤ９３１および／または９３２を奇数番号のフレームに適用してもよく、属性レイヤ９３３および／または９３４を偶数番号のフレームに適用してもよい。これは、フレームレートの変化に応答して、いくつかのレイヤが省略されることを可能にしてもよい。各属性は、０〜４の属性レイヤ９３１、９３２、９３３、および／または９３４を有してもよい。採用される構成をシグナルするために、符号化器は、ｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ［ｉ］のような構文要素を、ＧＯＦヘッダのようなシーケンスレベルのデータに採用してもよい。復号器は、構文要素を読み取り、各属性に対して採用される属性レイヤ９３１、９３２、９３３、および／または９３４の数を決定することができる。追加の構文要素、例えば、ａｔｔｒｉｂｕｔｉｏｎ＿ｌａｙｅｒｓ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｍｏｄｅ［ｉ］［ｊ］、ａｔｔｒＬａｙｅｒＩｄｘ［ｉ］［ｊ］などを採用して、ＰＣＣビデオストリームで採用される属性レイヤの組み合わせおよび対応する属性によって使用される各レイヤのインデックスをそれぞれ示すこともできる。
【０１１３】
さらに別の例として、いくつかの属性レイヤ（例えば、属性レイヤ９３１、９３２、および９３３）は、規則的なパッチに関するデータを搬送することができる一方、他の属性レイヤ（例えば、属性レイヤ９３４）は、不規則的なポイントクラウドパッチに関連付けられたデータを搬送する。これは、不規則的なポイントクラウドが、規則的なクラウドパッチとは異なるデータを使用して説明される可能性があるために有用である。特定のレイヤが不規則的なポイントクラウドに関連付けられたデータを搬送することをシグナルするために、符号化器はシーケンスレベルのデータ中の別の構文要素を符号化することができる。特定の例として、属性レイヤが少なくとも１つの不規則的なポイントクラウドポイントを搬送することを示すために、ＧＯＦヘッダのｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇを使用することができる。次いで、復号器は、構文要素を読み取り、対応する属性レイヤをそれに応じて復号することができる。
【０１１４】
図１０は、属性ストリーム１０３１、１０３２、１０３３、および１０３４の例を示す概略図１０００である。例えば、属性ストリーム１０３１、１０３２、１０３３、および１０３４を採用して、ＰＣＣビデオストリーム７００の属性を搬送することができる。したがって、属性ストリーム１０３１、１０３２、１０３３、および１０３４は、ポイントクラウド媒体５００に基づいてポイントクラウド媒体フレーム６００を符号化および／または復号するときに採用することができる。このように、属性ストリーム１０３１、１０３２、１０３３、および１０３４は、符号化器３００がＰＣＣシーケンスからビットストリームを作製するために使用され、復号器４００がＰＣＣシーケンスをビットストリームから再構成するときに使用されてもよい。したがって、属性ストリーム１０３１、１０３２、１０３３、および１０３４は、コーデックシステム２００によって採用することができ、さらに、方法１００をサポートするために採用されてもよい。追加的に、属性ストリーム１０３１、１０３２、１０３３、および１０３４は、属性８４１および８４２の１つ以上を搬送するために使用されてもよい。さらに、属性ストリーム１０３１、１０３２、１０３３、および１０３４を採用して、属性レイヤ９３１、９３２、９３３、および９３４を搬送することができる。
【０１１５】
属性ストリーム１０３１、１０３２、１０３３、および１０３４は、経時的な属性データのシーケンスである。具体的には、属性ストリーム１０３１、１０３２、１０３３、および１０３４は、ＰＣＣビデオストリームのサブストリームである。各属性ストリーム１０３１、１０３２、１０３３、および１０３４は、属性特定ＮＡＬユニットのシーケンスを搬送し、したがって、記憶および／または伝送データ構造として活動する。各属性ストリーム１０３１、１０３２、１０３３、および１０３４は、データの１つ以上の属性レイヤ９３１、９３２、９３３、および９３４を搬送してもよい。例えば、属性ストリーム１０３１は属性レイヤ９３１および９３２を搬送することができる一方、属性ストリーム１０３２は属性レイヤ９３１および９３２を搬送する（属性ストリーム１０３３および１０３４は省略されている）。別の例では、各属性ストリーム１０３１、１０３２、１０３３および１０３４は、単一の対応する属性レイヤ９３１、９３２、９３３および９３４を搬送する。他の例では、いくつかの属性ストリーム１０３１、１０３２、１０３３、および１０３４は、複数の属性レイヤ９３１、９３２、９３３、および９３４を搬送する一方、他の属性ストリーム１０３１、１０３２、１０３３、および１０３４は、単一の属性レイヤ９３１、９３２、９３３、および９３４を搬送するか、または省略される。分かるように、属性ストリーム１０３１、１０３２、１０３３、および１０３４、ならびに属性レイヤ９３１、９３２、９３３、および９３４の多くの組み合わせおよび順列が生じ得る。したがって、符号化器は、各属性を符号化するために使用される属性ストリーム１０３１、１０３２、１０３３、および１０３４の数を示すために、ＧＯＦヘッダのようなシーケンスレベルデータにおいて、ｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅのような構文要素を採用することができる。次いで、復号器は、例えば、属性レイヤ情報と組み合わせて、そのような情報を使用して、ＰＣＣシーケンスを再構成するために、属性ストリーム１０３１、１０３２、１０３３、および１０３４を復号することができる。
【０１１６】
図１１は、複数のコーデックを有するＰＣＣビデオシーケンスを符号化する例示的な方法１１００のフローチャートである。例えば、方法１１００は、属性レイヤ９３１、９３２、９３３、および９３４、および／またはストリーム１０３１、１０３２、１０３３、および／または１０３４を使用しながら、機構８００にしたがってデータをビットストリームに編成することができる。また、方法１１００は、ＧＯＦヘッダ内の属性を符号化するために使用される機構を指定してもよい。さらに、方法１１００は、ポイントクラウド媒体５００に基づいてポイントクラウド媒体フレーム６００を符号化することによって、ＰＣＣビデオストリーム７００を生成してもよい。追加的に、方法１１００は、方法１００の符号化ステップを実行しながら、コーデックシステム２００および／または符号化器３００によって採用されてもよい。
【０１１７】
方法１１００は、符号化器が、ポイントクラウド媒体を含むＰＣＣフレームのシーケンスを受信したときに開始してもよい。符号化器は、例えばユーザコマンドの受信に応答して、そのようなフレームを符号化器することを決定してもよい。方法１１００では、符号化器は、第１の属性が第１のコーデックによって符号化されるべきである一方、第２の属性が第２のコーデックによって符号化されるべきであると決定してもよい。この決定は、例えば、第１のコーデックが第１の属性に対してより効率的であり、第２のコーデックが第２の属性に対してより効率的であるときに、所定の条件に基づいて、および／またはユーザの入力に基づいて行ってもよい。このように、符号化器は、ステップ１１０１において、ＰＣＣフレームのシーケンスの第１の属性を、第１のコーデックを有するビットストリームに符号化する。さらに、符号化器は、ステップ１１０３において、第１のコーデックとは異なる第２のコーデックで、ＰＣＣフレームのシーケンスの第２の属性をビットストリームに符号化する。
【０１１８】
ステップ１１０５において、符号化器は種々の構文要素を符号化器されたビデオデータと共にビットストリームに符号化する。例えば、構文要素は、ＰＣＣフレームが適切に再構成され得るように、符号化の間になされた決定を復号器に示すために、シーケンスレベルパラメータを含むシーケンスレベルデータユニットにコード化することができる。具体的には、符号化器は、シーケンスレベルのデータユニットを符号化して、第１の属性が第１のコーデックによってコード化されたことを示し、かつ第２の属性が第２のコーデックによってコード化されたことを示す第１の構文要素を含める。特定の例として、ＰＣＣフレームは、第１の属性および第２の属性を含む複数の属性を含んでもよい。また、ＰＣＣフレームの複数の属性は、幾何学的形状、テクスチャ、および反射率、透明度、および法線の１つ以上を含んでもよい。さらに、第１の構文要素は、ビットストリームにおけるＧＯＦヘッダに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよい。
【０１１９】
いくつかの例では、第１の属性は、複数のストリームに編成されてもよい。このような場合、第１の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示すために、第２の構文要素を使用することができる。いくつかの例において、第１の属性はまた、複数のレイヤに編成されてもよい。このような場合、第３の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットのためのレイヤメンバシップを示してもよい。特定の例として、第２の構文要素はｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよく、第３の構文要素はｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよく、各々はビットストリームにおけるフレームヘッダのグループに含まれてもよい。さらに別の例では、第４の構文要素を使用して、複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示してもよい。特定の例として、第４の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素であってもよい。
【０１２０】
このような情報をシーケンスレベルデータに含めることによって、復号器は、ＰＣＣビデオシーケンスを復号するために十分な情報を有してもよい。このように、符号化器は、ステップ１１０７において、ＰＣＣフレームの復号されたシーケンスの生成をサポートするために、第１のコーデックによってコード化された第１の属性および第２のコーデックによってコード化された第２の属性ならびに本明細書で説明される他の属性および／または構文要素に基づいて、ビットストリームを送信してもよい。
【０１２１】
図１２は、複数のコーデックでＰＣＣビデオシーケンスを復号する例示的な方法１２００のフローチャートである。例えば、方法１２００は、属性レイヤ９３１、９３２、９３３、および９３４、および／またはストリーム１０３１、１０３２、１０３３、および／または１０３４を使用しながら、機構８００にしたがってビットストリームからデータを読み取ることができる。また、方法１２００は、ＧＯＦヘッダを読み取ることによって、属性をコード化するために使用される機構を決定してもよい。さらに、方法１２００は、ポイントクラウド媒体フレーム６００およびポイントクラウド媒体５００を再構成するために、ＰＣＣビデオストリーム７００を読み取ってもよい。追加的に、方法１２００は、方法１００の復号ステップを実行しながら、コーデックシステム２００および／または復号器４００によって採用されてもよい。
【０１２２】
方法１２００は、ステップ１２０１において、復号器が一連のＰＣＣフレームを含むビットストリームを受信したときに開始してもよい。次いで、復号器は、ステップ１２０５においてビットストリームまたはその一部を解析することができる。例えば、復号器は、ビットストリームを解析して、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットを取得することができる。シーケンスレベルのデータユニットは、符号化プロセスを説明する種々の構文要素を含んでもよい。したがって、復号器は、ビットストリームからのビデオデータを解析し、ビデオデータを復号するための適切なプロセスを決定するために構文要素を使用することができる。
【０１２３】
例えば、シーケンスレベルのデータユニットは、第１の属性が第１のコーデックによってコード化されたことを示し、かつ第２の属性が第２のコーデックによってコード化されたことを示す第１の構文要素を含むことができる。特定の例として、ＰＣＣフレームは、第１の属性および第２の属性を含む複数の属性を含んでもよい。また、ＰＣＣフレームの複数の属性は、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含んでもよい。追加的に、第１の構文要素は、ビットストリームにおけるＧＯＦヘッダに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよい。
【０１２４】
いくつかの例では、第１の属性は、複数のストリームに編成されてもよい。このような場合、第１の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示すために、第２の構文要素を採用することができる。いくつかの例において、第１の属性はまた、複数のレイヤに編成されてもよい。このような場合、第３の構文要素は、第１の属性に関連付けられたビットストリームのデータユニットのためのレイヤメンバシップを示してもよい。特定の例として、第２の構文要素はｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよく、第３の構文要素はｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素であってもよく、各々はビットストリームにおけるフレームヘッダのグループに含まれてもよい。さらに別の例では、第４の構文要素を使用して、複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示してもよい。特定の例として、第４の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素であってもよい。
【０１２５】
このように、復号器は、ＰＣＣフレームの復号されたシーケンスを生成するために、ステップ１２０７において、第１のコーデックによって第１の属性を復号し、第２のコーデックによって第２の属性を復号することができる。復号器はまた、コーデックに基づいてＰＣＣビデオシーケンスの種々の属性を復号するときに採用するべき適切な機構を決定するときに、本明細書に記載されるような他の属性および／または構文要素を使用してもよい。
【０１２６】
図１３は、例示的なビデオコーディングデバイス１３００の概略図である。ビデオコーディングデバイス１３００は、本明細書で説明されるように、開示される例／実施形態を実施するのに適している。ビデオコーディングデバイス１３００は、下流ポート１３２０、上流ポート１３５０、および／または、ネットワークを介して上流および／または下流でデータを通信するための送信機および／または受信機を含むトランシーバユニット１３１０を含む。ビデオコーディングデバイス１３００はまた、論理ユニットおよび／または中央処理ユニット（ＣＰＵ）を含むプロセッサ１３３０と、データを記憶するためのメモリ１３３２とを含む。ビデオコーディングデバイス１３００はまた、電気、光−電気（ＯＥ）構成要素、電気−光（ＥＯ）構成要素、および／または上流ポート１３５０および／または下流ポート１３２０に結合され、電気、光、または無線通信ネットワークを介してデータを通信するための無線通信構成要素を含んでもよい。ビデオコーディングデバイス１３００はまた、ユーザとの間でデータを通信するための入力および／または出力（Ｉ／Ｏ）デバイス１３６０を含んでもよい。Ｉ／Ｏデバイス１３６０は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含んでもよい。入出力デバイス１３６０はまた、キーボード、マウス、トラックボールなどの入力デバイスおよび／またはそのような出力デバイスと対話するための対応するインターフェースを含んでもよい。
【０１２７】
プロセッサ１３３０は、ハードウェアおよびソフトウェアによって実施される。プロセッサ１３３０は、１つ以上のＣＰＵチップ、コア（例えば、マルチコアプロセッサとして）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、およびデジタル信号プロセッサ（ＤＳＰ）として実施されてもよい。プロセッサ１３３０は、下流ポート１３２０、Ｔｘ／Ｒｘ  １３１０、上流ポート１３５０、およびメモリ１３３２と通信する。プロセッサ１３３０は、コーディングモジュール１３１４を備える。コーディングモジュール１３１４は、上述の開示された実施形態、例えば、方法１００、１１００、１２００、１５００、および１６００、ならびに機構８００を実施し、これらは、レイヤ９３１〜９３４および／またはストリーム１０３１〜１０３４にコード化されたポイントクラウド媒体５００、ポイントクラウド媒体フレーム６００、および／またはＰＣＣビデオストリーム７００を採用してもよい。また、コーディングモジュール１３１４は、本明細書で説明される任意の他の方法／機構を実施してもよい。さらに、コーディングモジュール１３１４は、コーデックシステム２００、符号化器３００、および／または復号器４００を実施してもよい。例えば、コーディングモジュール１３１４は、複数のストリームおよびレイヤを有するＰＣＣのための拡張された属性セットを採用することができ、復号をサポートするために、シーケンスレベルデータ内のそのような属性セットの使用をシグナルすることができる。したがって、コーディングモジュール１３１４は、ＰＣＣビデオデータをコーディングするときに、ビデオコーディングデバイス１３００が付加的な機能性および／または柔軟性を提供するようにする。このように、コーディングモジュール１３１４は、ビデオコーディングデバイス１３００の機能性を改善すると共に、ビデオコーディング技術に特有の問題に対処する。さらに、コーディングモジュール１３１４は、ビデオコーディングデバイス１３００を異なる状態に変換することをもたらす。代替的には、コーディングモジュール１３１４は、メモリ１３３２に記憶され、プロセッサ１３３０によって実行される命令として実施することができる（例えば、非一時的媒体上に記憶されるコンピュータプログラム製品として）。
【０１２８】
メモリ１３３２は、ディスク、テープドライブ、ソリッドステートドライブ、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、三値コンテンツアドレス指定可能メモリ（ＴＣＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）などの１つ以上のメモリタイプを含む。メモリ１３３２は、オーバーフローデータ記憶デバイスとして、プログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み出された命令およびデータを記憶するために使用されてもよい。
【０１２９】
図１４は、複数のコーデックを有するＰＣＣビデオシーケンスをコーディングするための例示的なシステム１４００の概略図である。システム１４００は、ＰＣＣフレームのシーケンスの第１の属性を第１のコーデックでビットストリームに符号化するための第１の属性符号化モジュール１４０１を含むビデオ符号化器１４０２を含む。ビデオ符号化器１４０２は、さらに、第１のコーデックとは異なる第２のコーデックでＰＣＣフレームのシーケンスの第２の属性をビットストリームに符号化するための第２の属性符号化モジュール１４０３を含む。ビデオ符号化器１４０２は、さらに、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットをビットストリームに符号化するための構文符号化モジュール１４０５を含み、シーケンスレベルのデータユニットは、第１の属性が第１のコーデックによってコード化されたことを示し、かつ第２の属性が第２のコーデックによってコード化されたことを示す第１の構文要素を含む。ビデオ符号化器１４０２は、さらに、第１コーデックによってコード化された第１の属性と、第２コーデックによってコード化された第２の属性に基づいて、ＰＣＣフレームの復号シーケンスの生成をサポートするためにビットストリームを送信するための送信モジュール１４０７を含む。ビデオ符号化器１４０２のモジュールはまた、方法１１００および／または１５００に関して上述したステップ／アイテムのいずれかを実行するために採用することもできる。
【０１３０】
システム１４００はまた、ＰＣＣフレームのシーケンスを含むビットストリームを受信するための受信モジュール１４１１を含むビデオ復号器１４１０を含む。ビデオ復号器１４１０は、さらに、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットを取得するためにビットストリームを解析するための解析モジュール１４１３を含み、シーケンスレベルのデータユニットは、ＰＣＣフレームの第１の属性が第１のコーデックによってコード化されたことを示し、かつＰＣＣフレームの第２の属性が第２のコーデックによってコード化されたことを示す第１の構文要素を含む。ビデオ復号器１４１０は、さらに、第１のコーデックによって第１の属性を復号し、第２のコーデックによって第２の属性を復号して、ＰＣＣフレームの復号されたシーケンスを生成するための復号モジュール１４１５を含む。ビデオ復号器１４１０のモジュールはまた、方法１２００および／または１６００に関して上述されたステップ／アイテムのいずれかを実行するために採用することができる。
【０１３１】
図１５は、複数のコーデックでＰＣＣビデオシーケンスを符号化する別の例示的な方法１５００のフローチャートである。例えば、方法１５００は、属性レイヤ９３１、９３２、９３３、および９３４、および／またはストリーム１０３１、１０３２、１０３３、および／または１０３４を使用しながら、機構８００にしたがってデータをビットストリームに編成することができる。また、方法１５００は、ＧＯＦヘッダ内の属性を符号化するために使用される機構を指定してもよい。さらに、方法１５００は、ポイントクラウド媒体５００に基づいてポイントクラウド媒体フレーム６００を符号化することによって、ＰＣＣビデオストリーム７００を生成してもよい。追加的に、方法１５００は、方法１００の符号化ステップを実行しながら、コーデックシステム２００および／または符号化器３００によって採用されてもよい。
【０１３２】
ステップ１５０１において、複数のＰＣＣ属性が、ＰＣＣフレームのシーケンスの一部としてビットストリームに符号化される。ＰＣＣ属性は、複数のコーデックで符号化される。ＰＣＣ属性は、幾何学的形状とテクスチャを含む。ＰＣＣ属性はまた、反射率、透明度、および法線のうちの１つ以上を含む。各コード化されたＰＣＣフレームは、１つ以上のＰＣＣ  ＮＡＬユニットによって表される。ステップ１５０３において、指示が各ＰＣＣ属性について符号化される。この指示は、対応するＰＣＣ属性をコード化するために使用されるビデオコーデックを示す。ステップ１５０５において、ビットストリームは復号器に向かって送信される。
【０１３３】
図１６は、複数のコーデックでＰＣＣビデオシーケンスを復号する別の例示的な方法１６００のフローチャートである。例えば、方法１６００は、属性レイヤ９３１、９３２、９３３、および９３４、および／またはストリーム１０３１、１０３２、１０３３、および／または１０３４を使用しながら、機構８００にしたがってビットストリームからデータを読み取ることができる。また、方法１６００は、ＧＯＦヘッダを読み取ることによって、属性をコード化するために使用される機構を決定してもよい。さらに、方法１６００は、ポイントクラウド媒体フレーム６００およびポイントクラウド媒体５００を再構成するために、ＰＣＣビデオストリーム７００を読み取ってもよい。追加的に、方法１６００は、方法１００の復号ステップを実行する間に、コーデックシステム２００および／または復号器４００によって採用されてもよい。
【０１３４】
ステップ１６０１において、ビットストリームが受信される。ビットストリームは、複数のＰＣＣフレームのコード化されたシーケンスを含む。ＰＣＣフレームのコード化されたシーケンスは、複数のＰＣＣ属性を表わす。ＰＣＣ属性は、幾何学的形状とテクスチャが含む。ＰＣＣ属性はまた、反射率、透明度、および法線のうちの１つ以上が含む。各コード化されたＰＣＣフレームは、１つ以上のＰＣＣ  ＮＡＬユニットによって表される。ステップ１６０３において、ビットストリームは、各ＰＣＣ属性について、対応するＰＣＣ属性をコード化するために使用されるコーデックの指示を取得するために解析される。ステップ１６０５において、ビットストリームは、ＰＣＣ属性のために指示されたビデオコーデックに基づいて復号される。
【０１３５】
第１の構成要素は、第１の構成要素と第２の構成要素との間のライン、トレース、または別の媒体を除いて、介在する構成要素が存在しないときに、第２の構成要素に直接結合される。第１の構成要素は、第１の構成要素と第２の構成要素との間にライン、トレース、または他の媒体以外の介在する構成要素が存在するときに、間接的に第２の構成要素に結合される。用語「結合」およびその変形は、直接結合と間接結合の両方を含む。用語「約」の使用は、特に断らない限り、後に続く数の±１０％を含む範囲を意味する。
【０１３６】
本開示においていくつかの実施形態が提供されたが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の具体的な形態で具現化され得ると理解されよう。本例は、例示的なものであり、限定的なものではないと考えられ、その意図は、本明細書に与えられた詳細に限定されるものではない。例えば、種々の要素または構成要素を別のシステムに組み合わせまたは統合することができ、あるいは一定の特徴を省略してもよいし、実施しなくてもよい。
【０１３７】
追加的に、様々な実施形態において個別または別個に記載および図示された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、構成要素、技術、または方法と組み合わせまたは統合してもよい。変更、置換、および改変の他の例は、当業者によって確認可能であり、本明細書に開示された精神および範囲から逸脱することなく行われてもよい。
【図１】
2022500931.tif 000011
【図２】
2022500931.tif 000012
【図３】
2022500931.tif 000013
【図４】
2022500931.tif 000014
【図５】
2022500931.tif 000015
【図６】
2022500931.tif 000016
【図７】
2022500931.tif 000017
【図８】
2022500931.tif 000018
【図９】
2022500931.tif 000019
【図１０】
2022500931.tif 000020
【図１１】
2022500931.tif 000021
【図１２】
2022500931.tif 000022
【図１３】
2022500931.tif 000023
【図１４】
2022500931.tif 000024
【図１５】
2022500931.tif 000025
【図１６】
2022500931.tif 000026
【手続補正書】
【提出日】令和3年5月13日(2021.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
復号器によって実施される方法であって、
前記復号器によって、複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することであって、前記複数のＰＣＣフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することと、
前記復号器によって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、前記ビットストリームを解析することと、
前記復号器によって、前記ＰＣＣ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することと、を含む、方法。
【請求項２】
ポイントクラウドコーディング（ＰＣＣ）フレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、前記シーケンスレベルのデータユニットは、第１の属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２の属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、請求項１に記載の方法。
【請求項３】
前記第１の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１〜２のいずれか一項に記載の方法。
【請求項４】
前記第１の属性は、複数のストリームに編成され、第２の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するストリームメンバシップを示し、前記第２の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第１の属性は、複数のレイヤに編成され、第３の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するレイヤメンバシップを示す、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第３の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
第４の構文要素は、前記複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記第４の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記ビットストリームは、ＰＣＣフレームの復号されたシーケンスに復号され、当該方法は、さらに、前記復号器によって、前記ＰＣＣフレームの復号されたシーケンスを提示のためのディスプレイに向けて転送することを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
符号化器に実施される方法であって、
前記符号化器によって、複数のポイントクラウドコーディング（ＰＣＣ）フレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、前記複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することと、
前記符号化器によって、各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される前記ビデオコーデックのうちの１つの指示を符号化することと、
前記符号化器によって、前記ビットストリームを復号器に向かって送信することと、を含む、方法。
【請求項１１】
前記ＰＣＣフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、前記シーケンスレベルのデータユニットは、第１のＰＣＣ属性が第１のビデオコーデックによってコード化されたことを示し、かつ第２のＰＣＣ属性が第２のビデオコーデックによってコード化されたことを示す第１の構文要素を含む、請求項１０に記載の方法。
【請求項１２】
前記第１の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｉｄｅｎｔｉｆｉｅｄ＿ｃｏｄｅｃ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１０〜１１のいずれか一項に記載の方法。
【請求項１３】
前記第１の属性は、複数のストリームに編成され、第２の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するストリームメンバシップを示し、前記第２の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｓｔｒｅａｍｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１０〜１２のいずれか一項に記載の方法。
【請求項１４】
前記第１の属性は、複数のレイヤに編成され、第３の構文要素は、前記第１の属性に関連付けられた前記ビットストリームのデータユニットに対するレイヤメンバシップを示す、請求項１０〜１３のいずれか一項に記載の方法。
【請求項１５】
前記第３の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｎｕｍ＿ｌａｙｅｒｓ＿ｆｏｒ＿ａｔｔｒｉｂｕｔｅ要素である、請求項１０〜１４のいずれか一項に記載の方法。
【請求項１６】
第４の構文要素は、前記複数のレイヤのうちの第１のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、請求項１０〜１５のいずれか一項に記載の方法。
【請求項１７】
前記第４の構文要素は、前記ビットストリームにおけるフレームヘッダのグループに含まれるｒｅｇｕｌａｒ＿ｐｏｉｎｔｓ＿ｆｌａｇ要素である、請求項１０〜１６のいずれか一項に記載の方法。
【請求項１８】
復号デバイスであって、
ビットストリームの形式でビデオデータを記憶するように構成されている非一時的なメモリ記憶装置と、
請求項１〜９のいずれか一項に記載の方法を実行するように構成されている復号器と、を含む、復号デバイス。
【請求項１９】
ビットストリームの形式でビデオデータを記憶するように構成されている非一時的なメモリ記憶装置と、
請求項１０〜１７のいずれか一項に記載の方法を実行するように構成されている符号化器と、を含む、符号化デバイス。
【請求項２０】
非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体であって、前記コンピュータ実行可能命令がプロセッサによって実行されるときに、ビデオコーディングデバイスが請求項１〜１７のいずれか一項に記載の方法を実行するようにする、非一時的コンピュータ可読媒体。
【請求項２１】
請求項１〜９のいずれか一項に記載の方法を実行するための処理回路を含む復号器。
【請求項２２】
請求項１０〜１７のいずれか一項に記載の方法を実行するための処理回路を含む符号化器。
【請求項２３】
請求項１〜９のいずれか一項に記載の方法により復号されるビットストリームを含む非一時的な記憶媒体。
【請求項２４】
請求項１０〜１７のいずれか一項に記載の方法により符号化されたビットストリームを含む非一時的な記憶媒体。
【請求項２５】
符号化器であって、
複数のポイントクラウドコーディング（ＰＣＣ）フレームのシーケンスの複数のＰＣＣ属性を、複数のコーダデコーダ（コーデック）でビットストリームに符号化することであって、前記複数のＰＣＣ属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの１つ以上を含み、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、符号化することを行うための第１の属性符号化手段および第２の属性符号化手段と、
各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される前記ビデオコーデックのうちの１つの指示を符号化することを行うための構文符号化手段と、
前記ビットストリームを復号器に向かって送信することを行うための送信手段と、を含む、符号化器。
【請求項２６】
前記符号化器は、請求項１０〜１７のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項２５に記載の符号化器。
【請求項２７】
複数のポイントクラウドコーディング（ＰＣＣ）フレームのコード化されたシーケンスを含むビットストリームを受信することであって、前記複数のＰＣＣフレームのコーディングシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの１つ以上を含む複数のＰＣＣ属性を表し、各コード化されたＰＣＣフレームは、１つ以上のＰＣＣネットワーク抽象化レイヤ（ＮＡＬ）ユニットによって表される、受信することを行うための受信手段と、
各ＰＣＣ属性に対して、対応するＰＣＣ属性をコード化するために使用される複数のビデオコーダデコーダ（コーデック）のうちの１つの指示を取得するために、前記ビットストリームを解析することを行うための解析手段と、
前記ＰＣＣ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することを行うための復号手段と、を含む、復号器。
【請求項２８】
前記復号器は、請求項１〜９のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項２７に記載の復号器。
【国際調査報告】
2022500931.tif 000027
2022500931.tif 000028