(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-24
(45)【発行日】2024-05-07
(54)【発明の名称】ポイントクラウドコーディングのための方法及び装置
(51)【国際特許分類】
G06T 9/00 20060101AFI20240425BHJP
【FI】
G06T9/00
(21)【出願番号】P 2022520476
(86)(22)【出願日】2021-04-12
(86)【国際出願番号】 US2021026888
(87)【国際公開番号】W WO2021211458
(87)【国際公開日】2021-10-21
【審査請求日】2022-04-01
(32)【優先日】2020-04-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イエア,セフーン
(72)【発明者】
【氏名】ガオ,ウエン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】国際公開第2020/004461(WO,A1)
【文献】特開2017-112637(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00
(57)【特許請求の範囲】
【請求項1】
ポイントクラウドデコーダにおけるポイントクラウドジオメトリデコーディングの方法であって、
ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから、前記ポイントのセット内のポイントのクロマ予測残差情報を受信するステップであって、該クロマ予測残差情報は、Cb成分と、Cr成分とを含む、受信するステップと、
処理回路構成によって、前記ポイントクラウドのための前記コード化されたビットストリームから、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の相関のタイプを決定するステップと、
前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプに基づいて、前記クロマ予測残差情報をデコードするステップとを含む、
方法。
【請求項2】
デコードするステップは、
前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であることに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cb成分から前記Cr成分を引いたものをデコードするステップを含む、
請求項1に記載の方法。
【請求項3】
前記デコードするステップは、
前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であることに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cb成分に前記Cr成分を加えたものをデコードするステップを含む、
請求項1に記載の方法。
【請求項4】
前記デコードするステップは、
前記Cb成分と前記Cr成分との間に同一の相関がないことに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cr成分をデコードするステップを含む、
請求項1に記載の方法。
【請求項5】
コード化された領域のうちの1つからの残差ポイントの第1の数、従前の詳細のレベル(LOD)、又は正に相関されている前記ポイントのN個の最も近い隣接するポイントに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であると決定するステップと、
前記コード化された領域のうちの前記1つからの残差ポイントの第2の数、前記従前の詳細のレベル(LOD)、又は負に相関されている前記ポイントの前記N個の最も近い隣接するポイントに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であると決定するステップとを含む、
請求項1に記載の方法。
【請求項6】
前記コード化された領域は、フレーム、ビデオシーケンス、ピクチャのグループ(GOP)、ピクチャ、スライス、又はタイルのうちの少なくとも1つを含む、請求項5に記載の方法。
【請求項7】
前記Nは、3又は4に等しい正の整数である、請求項5に記載の方法。
【請求項8】
前記コード化されたビットストリームは、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプを示す信号伝達情報を含み、
前記信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第1の数と、従前の詳細のレベル(LOD)と、前記ポイントが属するLODと、正に相関されている前記ポイントのN個の最も近い隣接するポイントとに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であることを示し、
前記信号伝達情報は、前記コード化された領域のうちの前記1つからの残差ポイントの第2の数と、前記従前の詳細のレベル(LOD)と、前記ポイントが属する前記LODと、負に相関されている前記ポイントの前記N個の最も近い隣接するポイントとに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であることを示す、
請求項1に記載の方法。
【請求項9】
ポイントクラウドデコーダにおけるポイントクラウドジオメトリデコーディングの方法であって、
ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから、前記ポイントのセット内のポイントの第1のクロマ予測残差情報及び第2のクロマ予測残差情報が、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の相関のタイプに基づいてデコードされることを示す第1の信号伝達情報を受信するステップであって、前記コード化されたビットストリームは、前記第1のクロマ予測残差情報と、前記第2のクロマ予測残差情報とを含む、受信するステップと、
前記第1の信号伝達情報に基づいて、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプを決定するステップと、
前記第1のクロマ予測残差情報と、前記第2のクロマ予測残差情報と、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプとに基づいて、第1のクロマ情報及び第2のクロマ情報を再構築するステップとを含む、
方法。
【請求項10】
前記決定するステップは、
前記第1の信号伝達情報が第1の値であることに基づいて、第2の信号伝達情報を決定するステップであって、該第2の信号伝達情報は、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプが第3の信号伝達情報によって示されることを示す、決定するステップと、
前記第2の信号伝達情報が前記第1の値であることに基づいて、前記第3の信号伝達情報を決定するステップであって、前記第3の信号伝達情報は、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプを示す、決定するステップと、
前記第3の信号伝達情報に基づいて、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプを決定するステップとを更に含む、
請求項9に記載の方法。
【請求項11】
前記相関の前記タイプを決定するステップは、
前記第3の信号伝達情報が前記第1の値であることに基づいて、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプが負であると決定するステップと、
前記第3の信号伝達情報が第2の値であることに基づいて、前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプが正であると決定するステップとを更に含む、
請求項10に記載の方法。
【請求項12】
前記再構築することは、
前記第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって前記第1のクロマ情報を再構築するステップと、
前記第1の信号伝達情報が第1の値であることに応答して、第1の部分と第2の部分とを含む前記第2のクロマ情報を再構築するステップとを更に含み、
前記第1の部分は、前記第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって得られ、
前記第2の部分は、前記再構築された第1のクロマ情報を前記第1のクロマ予測残差情報と前記第2のクロマ予測残差情報との間の前記相関の前記タイプと乗算することによって得られる、
請求項9に記載の方法。
【請求項13】
前記再構築するステップは、
前記第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって前記第1のクロマ情報を再構築するステップと、
前記第1の信号伝達情報が第2の値であることに応答して、前記第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって前記第2のクロマ情報を再構築するステップとを更に含む、
請求項9に記載の方法。
【請求項14】
前記第1のクロマ予測残差情報及び前記第2のクロマ予測残差情報は、ゼロオフセットと一次関係において相関される、請求項
9に記載の方法。
【請求項15】
ポイントクラウドデータを処理する装置であって、
処理回路構成を含み、該処理回路構成は、
ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから、前記ポイントのセット内のポイントのクロマ予測残差情報を受信するように構成され、該クロマ予測残差情報は、Cb成分と、Cr成分とを含み、
前記ポイントクラウドのための前記コード化されたビットストリームから、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の相関のタイプを決定するように構成され、
前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプに基づいて、前記クロマ予測残差情報をデコードするように構成される、
装置。
【請求項16】
前記処理回路構成は、
前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であることに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cb成分から前記Cr成分を引いたものをデコードするように更に構成される、
請求項15に記載の装置。
【請求項17】
前記処理回路構成は、
前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であることに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cb成分に前記Cr成分を加えたものをデコードするように更に構成される、
請求項15に記載の装置。
【請求項18】
前記処理回路構成は、
前記Cb成分と前記Cr成分との間に同一の相関がないことに基づいて、前記クロマ予測残差情報の前記Cb成分及び前記クロマ予測残差情報の前記Cr成分をデコードするように更に構成される、
請求項15に記載の装置。
【請求項19】
前記処理回路構成は、
コード化された領域のうちの1つからの残差ポイントの第1の数、従前の詳細のレベル(LOD)、又は正に相関されている前記ポイントのN個の最も近い隣接するポイントに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であると決定し、且つ
前記コード化された領域のうちの前記1つからの残差ポイントの第2の数、前記従前の詳細のレベル(LOD)、又は負に相関されている前記ポイントの前記N個の最も近い隣接するポイントに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であると決定するように更に構成される、
請求項15に記載の装置。
【請求項20】
前記コード化されたビットストリームは、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプを示す信号伝達情報を含み、
前記信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第1の数と、従前の詳細のレベル(LOD)と、前記ポイントが属するLODと、正に相関されている前記ポイントのN個の最も近い隣接するポイントとに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが正であることを示し、
前記信号伝達情報は、前記コード化された領域のうちの前記1つからの残差ポイントの第2の数と、前記従前の詳細のレベル(LOD)と、前記ポイントが属する前記LODと、負に相関されている前記ポイントの前記N個の最も近い隣接するポイントとに基づいて、前記クロマ予測残差情報の前記Cb成分と前記Cr成分との間の前記相関の前記タイプが負であることを示す、
請求項15に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本願は、2020年4月17日に出願された「METHOD AND APPARATUS FOR POINT CHROMA CHANNEL CODING OF POINT CLOUD ATTRIBUTES」という名称の米国仮出願第63/011,913号に対する優先権の利益を主張する2021年3月24日に出願された「METHOD AND APPARATUS FOR POINT CLOUD CODING」という名称の米国特許出願第17/211,536号に対する優先権の利益を主張する。先の出願の開示は、その全文が参照により本明細書に援用される。
【0002】
本開示は、ポイントクラウド(点群)コーディング(コード化)に概ね関する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景の記述は、本開示の文脈を一般的に提示するためのものである。現在言及されている発明者の仕事は、その仕事がこの背景セクションに記載されている範囲において或いは出願時に他の点では先行技術として適格でないことがある記述の態様において、明示的にも暗示的にも本開示に対する先行技術として認められない。
【0004】
世界中の物体(オブジェクト)、世界中の環境、及び3次元(3D)空間内の同等物のような、世界をキャプチャして(取り込んで)表現するための様々な技術が開発されている。世界の3D表現は、より没入的な形態の対話(インタラクション)及び通信(コミュニケーション)を可能にする。ポイントクラウド(点群)は、世界の3D表現として使用されることができる。ポイントクラウドは、3D空間内のポイント(点)のセットであり、各ポイントは、関連する属性、例えば、色、材料特性、テクスチャ情報、強度属性、反射率属性、運動関連属性、モダリティ属性、及び/又は様々な他の属性を備える。そのようなポイントクラウドは、大量のデータを含むことがあり、格納し且つ送信するのにコスト及び時間がかかることがある。
【発明の概要】
【0005】
本開示の態様は、ポイントクラウドデータを処理する方法及び装置を提供する。本開示の態様によれば、ポイントクラウドデコーダにおけるポイントクラウドジオメトリデコーディングの方法が提供される。方法では、ポイントのセット内のポイントのクロマ予測残差情報が、ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから受信されることができる。クロマ予測残差情報は、Cb成分及びCr成分を含むことができる。更に、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプが、処理回路構成によって、ポイントクラウドのためのコード化されたビットストリームから決定されることができる。クロマ予測残差情報は、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプに基づいてデコード(復号)されることができる。
【0006】
一例では、クロマ予測残差情報をデコードするために、Cb成分とCr成分との間の相関のタイプが正であることに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCb成分からCr成分を引いたものをデコードすることができる。
【0007】
別の例では、クロマ予測残差情報をデコードするために、Cb成分とCr成分との間の相関のタイプが負であることに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCb成分にCr成分を加えたものをデコードすることができる。
【0008】
更に別の例では、クロマ予測残差情報をデコードするために、Cb成分とCr成分との間に同一の相関がないことに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCr成分をデコードすることができる。
【0009】
幾つかの実施形態では、コード化された領域のうちの1つからの残差ポイントの第1の数、従前の詳細のレベル(LOD)、又は正に相関されているポイントのN個の最も近い隣接するポイントに基づいて、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプが正であると決定することができる。幾つかの実施形態では、コード化された領域のうちの1つからの残差ポイントの第2の数、従前の詳細のレベル(LOD)、又は負に相関されているポイントのN個の最も近い隣接するポイントに基づいて、前記クロマ予測残差情報のCb成分とCr成分との間の相関のタイプが負であると決定することができる。
【0010】
幾つかの実施形態において、コード化された領域は、フレーム、ビデオシーケンス、ピクチャのグループ(GOP)、ピクチャ、スライス、又はタイルのうちの少なくとも1つを含むことができる。
【0011】
幾つかの実施形態において、Nは、3又は4に等しい正の整数である。
【0012】
方法において、コード化されたビットストリームは、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプを示す信号伝達情報を更に含むことができる。一例において、信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第1の数と、従前の詳細のレベル(LOD)と、ポイントが属するLODと、正に相関されているポイントのN個の最も近い隣接するポイントとに基づいて、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプが正であることを示すことができる。別の例において、信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第2の数と、従前の詳細のレベル(LOD)と、ポイントが属するLODと、負に相関されているポイントのN個の最も近い隣接するポイントとに基づいて、クロマ予測残差情報のCb成分とCr成分との間の相関のタイプが負であることを示すことができる。
【0013】
本開示の態様よれば、ポイントクラウドデコーダにおけるポイントクラウドジオメトリデコーディングの方法が提供される。方法では、第1の信号伝達情報が、ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから受信されることができる。第1の信号伝達情報は、ポイントのセット中のポイントの第1のクロマ予測残差情報及び第2のクロマ予測残差情報が第1のクロマ予測残差情報及び第2のクロマ予測残差情報の相関のタイプに基づいてデコードされることを示すことができる。コード化されたビットストリームは、第1のクロマ予測残差情報と、第2のクロマ予測残差情報とを含む。第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第1の信号伝達情報に基づいて決定されることができる。更に、第1のクロマ情報及び第2のクロマ情報は、第1のクロマ予測残差情報と、第2のクロマ予測残差情報と、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプとに基づいて再構築されることができる。
【0014】
幾つかの実施形態では、第2の信号伝達情報が、第1の信号伝達情報が第1の値であることに基づいて決定されことができる。第2の信号伝達情報は、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプが第3の信号伝達情報によって決定されることを示すことができる。第3の信号電情報は、第2の信号伝達情報が第1の値であることに基づいて決定されることができる。第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報に基づいて決定されることができる。
【0015】
一例において、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報が第1の値であることに基づいて負であることを決定されることができる。別の例において、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報が第2の値であることに基づいて正であることを決定されることができる。
【0016】
方法において、第1のクロマ情報は、第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって再構築されることができる。加えて、第1の信号伝達情報が第1の値であることに応答して、第1の部分と第2の部分とを含む第2のクロマ情報が再構築されることができる。第1の部分は、第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって得られることができ、第2の部分は、再構築された第1のクロマ情報を第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプと乗算することによって得られることができる。
【0017】
幾つかの実施形態において、第1のクロマ情報は、第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって再構築されることができる。第1の信号伝達情報が第2の値であることに応答して、第2のクロマ情報は、第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって再構築されることができる。
【0018】
幾つかの実施形態において、第1のクロマ予測残差情報及び第2のクロマ予測残差情報は、ゼロオフセットと一次関係(first order relation)において相関される。
【0019】
一例において、ポイントクラウドデータを処理する装置は、上述の方法のうちの1つ以上を実行するように構成される受信回路構成と処理回路構成とを含む。
【図面の簡単な説明】
【0020】
開示の主題のさらなる構成、性質、及び様々な利点は、以下の詳細な記述及び添付の図面からより明らかになるであろう
【0021】
【
図1】一実施形態に従った通信システムの簡略ブロック図の概略的な図示である。
【0022】
【
図2】一実施形態に従ったストリーミングシステムの簡略ブロック図の概略的な図示である。
【0023】
【
図3】幾つかの実施形態に従ったポイントクラウドフレームをエンコードするエンコーダのブロック図を示している。
【0024】
【
図4】幾つかの実施形態に従ったポイントクラウドフレームに対応する圧縮されたビットストリームをデコードするデコーダのブロック図を示している。
【0025】
【
図5】一実施形態に従ったビデオデコーダの簡略ブロック図の概略的な図示である。
【0026】
【
図6】一実施形態に従ったビデオエンコーダの簡略ブロック図の概略的な図示である。
【0027】
【
図7】幾つかの実施形態に従ったポイントクラウドフレームに対応する圧縮されたビットストリームをデコードするデコーダのブロック図を示している。
【0028】
【
図8】幾つかの実施形態に従ったポイントクラウドフレームをエンコードするエンコーダのブロック図を示している。
【0029】
【
図9】本開示の幾つかの実施形態に従ったグラフィックベースのポイントクラウド圧縮(G-PCC)における詳細レベル(LOD)生成プロセスを図示する図を示している。
【0030】
【
図10】本開示の幾つかの実施形態に従ったG-PCCにおける属性コーディングのためのリフティング-変換を図示する図を示している。
【0031】
【
図11】幾つかの実施形態に従った第1のプロセス例を概説する第1のフローチャートを示している。
【0032】
【
図12】幾つかの実施形態に従った第2のプロセス例を概説する第2のフローチャートを示している。
【0033】
【
図13】一実施形態に従ったコンピュータシステムの概略図である。
【発明を実施するための形態】
【0034】
世界の先進3D表現は、より没入的な形態の対話(インタラクション)及び通信(コミュニケーション)を可能にしており、機械が我々の世界を理解し、解釈し、ナビゲートすることも可能にする。3Dポイントクラウド(点群)は、そのような情報の可能化表現(enabling
representation)として出現した。ポイントクラウドデータと関連付けられる多数の適用事例が特定され、ポイントクラウド表現及び圧縮のための対応する要件が開発される。例えば、3Dポイントクラウドは、オブジェクト検出及び場所特定(ローカライゼーション)のための自律運転(autonomous driving)において使用されることができる。3Dポイントクラウドは、マッピングのために地理情報システム(GIS:geographic information systems)においても使用されることができ、文化遺産(cultural heritage)オブジェクト及びコレクションを可視化し且つアーカイブ化するために文化遺産において使用される。
【0035】
ポイントクラウドは、一般に、3D空間内のポイント(点)のセットを指すことがあり、各ポイントは、関連付けられた属性を有する。属性は、色、材料特性、テクスチャ情報、強度属性、反射率属性、運動関連属性、モダリティ属性、及び/又は様々な他の属性を含むことができる。ポイントクラウドは、オブジェクトまたはシーンをそのようなポイントの合成として再構築するために使用されることができる。ポイントは、様々なセットアップにおいて複数のカメラ、深さセンサ及び/又はライダー(Lidar)を使用してキャプチャされる(取り込まれる)ことができ、再構築されたシーンを現実的に表現するために数千から最大数十億のポイントから構成されることがある。
【0036】
圧縮技術は、より高速な伝送(transmission)またはストレージの削減のために、ポイントクラウドを表現するのに必要とされるデータ量を減少させることができる。よって、リアルタイム通信及び6自由度(6DoF)仮想現実における使用のために、ポイントクラウドの損失圧縮(lossy compression)のための技術が必要とされる。加えて、自律運転及び文化遺産用途並びに同等のことのための動的マッピングの文脈において、ロスレスポイントクラウド圧縮の技術が求められている。よって、ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、色及び反射率、スケーラブル/プログレッシブコーディング(コード化)(coding)、時間の経過に亘ってキャプチャされるポイントクラウドのシーケンスのコーディング、及びポイントクラウドのサブセットへの無作為アクセスのような属性及び幾何学的形状の圧縮に対処する標準(standard)に取り組み始めている。
【0037】
図1は、本開示の一実施形態に従った通信システム(100)の簡略化されたブロック図を図示している。通信システム(100)は、例えば、ネットワーク(150)を介して、互いに通信することができる、複数の端末デバイスを含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された端末デバイス(110)及び(120)のペアを含む。
図1の例において、第1のペアの端末デバイス(110)及び(120)は、ポイントクラウドデータの一方向伝送を行うことがある。例えば、端末デバイス(110)は、端末デバイス(110)と接続されたセンサ(105)によってキャプチャされるポイントクラウド(例えば、構造を表すポイント)を圧縮することがある。圧縮されたポイントクラウド(圧縮ポイントクラウド)は、例えば、ビットストリームの形態において、ネットワーク(150)を介して他方の端末デバイス(120)に伝送されることができる。端末デバイス(120)は、ネットワーク(150)から圧縮されたポイントクラウドを受信し、ビットストリームを解凍してポイントクラウドを再構築し、再構築されたポイントクラウドを適切に表示することがある。一方向性データ伝送は、媒体提供アプリケーション及び同等のものにおいて一般的であることがある。
【0038】
図1の例において、端末デバイス(110)及び(120)は、サーバ及びパーソナルコンピュータとして図示されることがあるが、本開示の原理は、そのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム端末、メディアプレーヤ、及び/又は専用の三次元(3D)機器との適用を見出す。ネットワーク(150)は、端末デバイス(110)と(120)との間で圧縮されたポイントクラウドを伝送する任意の数のネットワークを表す。ネットワーク(150)は、例えば、ワイヤライン(有線)及び/又は無線通信ネットワークを含むことができる。ネットワーク(150)は、回線交換及び/又はパケット交換チャネル内でデータを交換することがある。代表的なネットワークは、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本議論の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下に説明しない限り、本開示の動作には重要ではない。
【0039】
図2は、一実施形態に従ったストリーミングシステム(200)の簡略ブロック図を図示している。
図2の例は、ポイントクラウドについて開示された主題についての出願である。開示の主題は、3Dテレプレゼンスアプリケーション、仮想現実アプリケーション、及び同等物のような、他のポイントクラウド対応(point cloud enabled)アプリケーションにも等しく適用可能である。
【0040】
ストリーミングシステム(200)は、キャプチャサブシステム(213)を含むことがある。キャプチャサブシステム(213)は、ポイントクラウドソース」(201)、例えば、光検出及び測距(LIDAR)システム、3Dカメラ、3Dスキャナ、ソフトウェア内で圧縮されていないポイントクラウド(非圧縮ポイントクラウド)を生成するグラフィックス生成コンポーネント、及び、例えば、圧縮されていないポイントクラウド(202)を生成する同等物を含むことができる。一例において、ポイントクラウド(202)は、3Dカメラによってキャプチャされるポイントを含む。ポイントクラウド(202)は、圧縮されたポイントクラウド(204)(圧縮されたポイントクラウドのビットストリーム)と比較したときの高いデータボリュームを強調するために、太線として描かれている。圧縮されたポイントクラウド(204)は、ポイントクラウドソース」(201)に結合されたエンコーダ(203)を含む電子デバイス(220)によって生成されることができる。エンコーダ(203)は、以下により詳細に記載するような開示の主題の態様を可能にする或いは実装するハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ポイントクラウド(202)のストリームと比較したときのより低いデータボリュームを強調するために細い線として描かれている、圧縮されたポイントクラウド(204)(または圧縮されたポイントクラウド(204)のビットストリーム)は、将来の使用のためにストリーミングサーバ(205)に格納されることができる。
図2のクライアントサブシステム(206)及び(208)のような、1つ以上のストリーミングクライアントサブシステムは、圧縮されたポイントクラウド(204)のコピー(207)及び(209)を検索するためにストリーミングサーバ(205)にアクセスすることができる。クライアントサブシステム(206)は、例えば、電子装置(230)内にデコーダ(210)を含むことができる。デコーダ(210)は、圧縮されたポイントクラウドの入力コピー(207)をデコード(復号)し、レンダリングデバイス(212)上に描画することができる再構築されたポイントクラウド(211)の出力ストリームを生成する。
【0041】
電子デバイス(220)及び(230)は、他のコンポーネント(図示せず)を含むことができることに留意のこと。例えば、電子デバイス(220)は、デコーダ(図示せず)を含むこともでき、電子デバイス(230)は、エンコーダ(図示せず)を含むこともできる。
【0042】
幾つかのストリーミングシステムにおいて、圧縮されたポイントクラウド(204)、(207)及び(209)(例えば、圧縮されたポイントクラウドのビットストリーム)は、特定の標準に従って圧縮されることができる。幾つかの例では、ビデオコーディング標準が、ポイントクラウドの圧縮に使用される。それらの標準の例は、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)、汎用ビデオコーディング(VVC:Versatile Video Coding)、及び同等のものを含む。
【0043】
図3は、幾つかの実施形態に従ったポイントクラウドフレームをエンコード(符号化)するためのV-PCCエンコーダ(300)のブロック図を示している。幾つかの実施形態において、V-PCCエンコーダ(300)は、通信システム(100)及びストリーミングシステム(200)で使用することができる。例えば、エンコーダ(203)は、V-PCCエンコーダ(300)と同様に構成されることができ、作動することができる。
【0044】
V-PCCエンコーダ(300)は、圧縮されていない入力としてポイントクラウドフレームを受信し、圧縮されたポイントクラウドフレームに対応するビットストリームを生成する。幾つかの実施形態において、V-PCCエンコーダ(300)は、ポイントクラウドソース(201)及び同等のもののようなポイントクラウドソースからポイントクラウドフレームを受信することがある。
【0045】
図3の例において、V-PCCエンコーダ(300)は、パッチ生成モジュール(patch generation module)(306)と、パッチパッキングモジュール(patch packing module)(308)と、ジオメトリ画像生成モジュール(geometry image generation module)(310)と、テクスチャ画像生成モジュール(texture image generation module)(312)と、パッチ情報モジュール(patch info module)(304)と、占有マップモジュール(occupancy map module)(314)と、平滑化モジュール(smoothing module)(336)と、画像パディングモジュール(image padding modules)(316)及び(318)と、グループ拡張モジュール(group dilation module)(320)と、ビデオ圧縮モジュール(video compression modules)(322)、(323)及び(332)と、補助パッチ情報圧縮モジュール(auxiliary patch info compression module)(338)と、エントロピー圧縮モジュール(entropy compression module)(324)と、マルチプレクサ(multiplexer)(324)とを含む。
【0046】
本開示のある態様によれば、V-PCCエンコーダ(300)は、3Dポイントクラウドフレームを、圧縮されたポイントクラウドを解凍されたポイントクラウドに戻すために使用される幾つかのメタデータ(例えば、占有マップ及びパッチ情報)と共に、画像ベースの表現に変換する。幾つかの例において、V-PCCエンコーダ(300)は、3Dポイントクラウドフレームを、ジオメトリ画像、テクスチャ画像、及び占有マップに変換し、次に、ビデオコーディング技術を使用して、ジオメトリ画像、テクスチャ画像、及び占有マップを、ビットストリームにエンコードすることができる。一般に、ジオメトリ画像は、ピクセルに投影されるポイントと関連付けられるジオメトリ値で満たされたピクセルを備える2D画像であり、ジオメトリ値で満たされたピクセルを、ジオメトリサンプルを呼ぶことができる。テクスチャ画像は、ピクセルに投影されるポイントと関連付けられるテクスチャ値で満たされたピクセルを備える2D画像であり、テクスチャ値で満たされたピクセルを、テクスチャサンプルと呼ぶことができる。占有マップは、パッチによって占有された或いは占有されていないことを示す値で満たされたピクセルを備える2D画像である。
【0047】
パッチは、一般に、ポイントクラウドによって記述される表面の連続したサブセットを指すことがある。一例において、パッチは、閾値量未満で互いに逸脱する表面法線ベクトルを備えるポイントを含む。パッチ生成モジュール(306)は、各パッチが2D空間内の平面に関して深度視野(depth field)によって記述されることがあるように、ポイントクラウドをパッチのセットにセグメント化し、パッチのセットは、オーバーラップしていることがあり、或いはオーバーラップしていないことがある。幾つかの実施態様において、パッチ生成モジュール(306)は、ポイントクラウドを平滑な境界を備える最小数のパッチに分解しながら、再構築誤差も最小限に抑えることを目的とする。
【0048】
パッチ情報モジュール(304)は、パッチのサイズ及び形状を示すパッチ情報を収集することができる。幾つかの例では、パッチ情報を画像フレームにパックし、次に、補助パッチ情報圧縮モジュール(338)によってエンコードして、圧縮された補助パッチ情報を生成することができる。
【0049】
パッチパッキングモジュール(308)は、抽出されたパッチを2次元(2D)グリッド上にマッピングする一方で、未使用空間を最小限に抑え、グリッドのあらゆるMxM(例えば、16×16)ブロックが一意的なパッチと関連付けられることを保証するように構成される。効率的なパッチパッキングは、未使用空間を最小限に抑えること又は時間的一貫性を確保することのいずれかによって、圧縮効率に直接的に影響を与えることができる。
【0050】
ジオメトリ画像生成モジュール(310)は、所与のパッチ場所でのポイントクラウドのジオメトリ(幾何学的形状)と関連付けられる2Dジオメトリ画像を生成することができる。テクスチャ画像生成モジュール(312)は、所与のパッチ場所でのポイントクラウドのテクスチャと関連付けられる2Dテクスチャ画像を生成することができる。ジオメトリ画像生成モジュール(310)及びテクスチャ画像生成モジュール(312)は、ポイントクラウドのジオメトリ及びテクスチャを画像として格納するために、パッキングプロセス中に計算された3D対2Dマッピングを利用する。複数の点が同じサンプルに投影される場合をより良く取り扱うために、各パッチは、層と呼ばれる2つの画像上に投影される。一例では、ジオメトリ画像は、YUV420-8ビットフォーマットにおいてW×Hの単色フレームによって表現される。テクスチャ画像を生成するために、テクスチャ生成手順は、再サンプリングされたポイントと関連付けられる色を計算するために、再構築された/平滑化されたジオメトリを利用する。
【0051】
占有マップモジュール(314)は、各ユニットでパディング情報を記述する占有マップを生成することができる。例えば、占有画像は、グリッドの各セルについてセルが空の空間に属するか或いはポイントクラウドに属するかを示すバイナリマップを含む。一例において、占有マップは、各ピクセルについてピクセルがパッディングされているか(padded)どうかを記述するバイナリ情報を使用する。別の例において、占有マップは、ピクセルの各ブロックについてピクセルのブロックがパディングされているかどうかを記述するバイナリ情報を使用する。
【0052】
占有マップモジュール(314)によって生成される占有マップは、無損失(lossless)コーディングまたは損失性(lossy)コーディングを使用して圧縮されることができる。無損失コーディングが使用されるとき、エントロピー圧縮モジュール(334)は、占有マップを圧縮するために使用される。損失性コーディングが使用されるとき、ビデオ圧縮モジュール(332)は、占有マップを圧縮するために使用される。
【0053】
パッチパッキングモジュール(308)は、画像フレームにパッケージされる2Dパッチ間に幾らかの空の空間を残す場合があることに留意のこと。画像パディングモジュール(316)及び(318)は、2Dビデオ及び画像コーデックに適することがある画像フレームを生成するために、(パディングと呼ばれる)空の空間を埋めることができる。画像パディングは、未使用の空間を冗長情報で満たすことができるバックグラウンド充填とも呼ばれる。幾つかの例において、良いバックグラウンド充填は、ビットレートを最小限に増加させ、パッチ境界の周りに有意なコーディング歪み(coding distortion)を導入しない。
【0054】
ビデオ圧縮モジュール(322)、(323)、及び(332)は、HEVC、VVC及び同等のもののような、適切なビデオコーディング標準に基づいて、パディングされたジオメトリ画像、パディングされたテクスチャ画像、及び占有マップのような、2D画像をエンコードすることができる。一例において、ビデオ圧縮モジュール(322)、(323)、及び(332)は、別々に作動する個々のコンポーネントである。ビデオ圧縮モジュール(322)、(323)、及び(332)は、別の例では、単一のコンポーネントとして実装され得ることに留意のこと。
【0055】
幾つかの例において、平滑化モジュール(336)は、再構築されたジオメトリ画像の平滑化された画像を生成するように構成される。平滑化された画像は、テクスチャ画像生成(312)に提供されることができる。次に、テクスチャ画像生成(312)は、再構築されたジオメトリ画像に基づいて、テクスチャ画像の生成を調整することがある。例えば、パッチ形状(例えば、幾何学的形状)がエンコーディング(符号化)(encoding)及びデコーディング(復号化)(decoding)中にわずかに歪むときに、歪みは、パッチ形状における歪みを補正するために、テクスチャ画像を生成するときに考慮に入れられることがある。
【0056】
幾つかの実施形態において、グループ拡張(320)は、再構築されたポイントクラウドのコーディング利得及び視覚的品質を向上させるために、冗長な低周波数コンテンツを有するオブジェクト境界の周囲でピクセルをパディングするように構成される。
【0057】
マルチプレクサ(324)は、圧縮されたジオメトリ画像、圧縮されたテクスチャ画像、圧縮された占有マップ、及び/又は圧縮された補助パッチ情報を、圧縮されたビットストリームに多重化することができる。
【0058】
図4は、幾つかの実施形態に従ったポイントクラウドフレームに対応する圧縮されたビットストリームをデコードするためのV-PCCデコーダ(400)のブロック図を示している。幾つかの実施形態において、V-PCCデコーダ(400)は、通信システム(100)及びストリーミングシステム(200)において使用されることができる。例えば、デコーダ(210)は、V-PCCデコーダ(400)と同様の方法で作動するように構成されることができる。V-PCCデコーダ(400)は、圧縮されたビットストリームを受信し、圧縮されたビットストリームに基づいて再構築ポイントクラウドを生成する。
【0059】
図4の例において、V-PCCデコーダ(400)は、デマルチプレクサ(432)と、ビデオ解凍モジュール(434)及び(436)と、占有マップ解凍モジュール(438)と、補助パッチ情報解凍モジュール(442)と、ジオメトリ再構築モジュール(444)と、平滑化モジュール(446)と、テクスチャ再構築モジュール(448)と、色平滑化モジュール(452)とを含む。
【0060】
デマルチプレクサ(432)は、圧縮されたビットストリームを受信して、圧縮されたビットストリームを圧縮されたテクスチャ画像、圧縮されたジオメトリ画像、圧縮された占有マップ、及び圧縮された補助パッチ情報に分離することができる。
【0061】
ビデオ解凍モジュール(434)及び(436)は、適切な標準(例えば、HEVC、VVCなど)に従って圧縮された画像を解凍し、解凍された画像を出力することができる。例えば、ビデオ解凍モジュール(434)は、圧縮されたテクスチャ画像を解凍し、解凍されたテクスチャ画像を出力し、ビデオ解凍モジュール(436)は、圧縮されたジオメトリ画像を解凍し、解凍されたジオメトリ画像を出力する。
【0062】
占有マップ解凍モジュール(438)は、適切な標準(例えば、HEVC、VVCなど)に従って圧縮された占有マップをデコードし、解凍された占有マップを出力することができる。
【0063】
補助パッチ情報解凍モジュール(442)は、適切な標準(例えば、HEVC、VVCなど)に従って圧縮された補助パッチ情報を解凍し、解凍された補助パッチ情報を出力することができる。
【0064】
ジオメトリ再構築モジュール(444)は、解凍されたジオメトリ画像を受信し、解凍された占有マップ及び解凍された補助パッチ情報に基づいて再構築されたポイントクラウドジオメトリを生成することができる。
【0065】
平滑化モジュール(446)は、パッチのエッジでの不一致(incongruences)を平滑化することができる。平滑化手順は、圧縮アーチファクトに起因してパッチ境界で生じることがある潜在的な不連続性を緩和することを目的としている。幾つかの実施形態では、平滑化フィルタが、圧縮/解凍によって引き起こされることがある歪みを緩和するために、パッチ境界上に位置するピクセルに適用されることがある。
【0066】
テクスチャ再構築モジュール(448)は、解凍テクスチャ画像及び平滑化ジオメトリに基づいてポイントクラウド内のポイントについてのテクスチャ情報を決定することができる。
【0067】
色平滑化モジュール(452)は、色の不一致を平滑化することができる。3D空間内の隣接しないパッチは、しばしば、2Dビデオ内で互いに隣接してパックされる。幾つかの例では、隣接しないパッチからのピクセル値は、ブロックベースのビデオコーデックによって混合されることがある。色平滑化の目的は、パッチ境界に現れる目に見えるアーチファクトを減らすことである。
【0068】
図5は、本開示の一実施形態に従ったビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、V-PCCデコーダ(400)で使用されることができる。例えば、ビデオ解凍モジュール(434)及び(436)、占有マップ解凍モジュール(438)は、同様に、ビデオデコーダ(510)として構成されることができる。
【0069】
ビデオデコーダ(510)は、コード化された(コード化された)ビデオシーケンスのような、圧縮された画像からシンボル(521)を再構築するためのパーサ(parser)(520)を含むことがある。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含む。パーサ(520)は、受信されるコード化されたビデオシーケンスを構文解析する(parse)/エントロピー-デコードする(entropy-decode)ことがある。コード化されたビデオシーケンスのコーディングは、ビデオコーディング技術または標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴うまたは伴わない算術コーディングなどを含む、様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを、コード化されたビデオシーケンスから抽出することができる。サブグループは、ピクチャのグループ(GOP:Groups of Pictures)、ピクチャ(pictures)、タイル、スライス、マクロブロック、コーディング単位(CU:Coding Units)、ブロック、変換単位(TU:Transform Units)、予測単位(PU:Prediction Units)などを含む。パーサ(520)は、変換係数、量子化パラメータ値、運動ベクトルなどのような、コード化されたビデオシーケンス情報からも抽出することがある。
【0070】
パーサ(520)は、シンボル(521)を生成するために、バッファメモリから受信したビデオシーケンスに対してエントロピー-デコーディング/構文解析演算を実行することがある。
【0071】
シンボル(521)の再構築は、コード化されたビデオピクチャまたはその部分(例えば、インターピクチャ(相互ピクチャ)(inter picture)及びイントラピクチャ(内部ピクチャ)(intra picture)、インターブロック(相互ブロック)(inter block)及びイントラブロック(内部ブロック)(intra block))のタイプ及び他の要因に依存して、複数の異なるユニットを含むことができる。どのユニットが含められ、どのように含められるかは、パーサ(520)によってコード化されたビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数ユニットとの間のそのようなサブグループ制御情報の流れは、明確性のために描かれていない。
【0072】
すでに述べた機能ブロックの他に、ビデオデコーダ(510)は、以下に記載するように、多数の機能ユニットに概念的に細分化されることができる。商業的制約の下で作動する実用的な実装において、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合させられることができる。しかしながら、開示の主題事項を記載する目的のために、以下の機能単位への概念的な細分化が適切である。
【0073】
第1のユニットは、スケーラ(scaler)/逆変換ユニット(inverse transform unit)(551)である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、並びに使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(520)からのシンボル(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(aggregator)(555)に入力されることができるサンプル値を含むブロックを出力することができる。
【0074】
幾つかの場合において、スケーラ/逆変換(551)の出力サンプルは、イントラコード化(内部コード化)されたブロック(intra coded block)、すなわち、従前に再構築されたピクチャからの予測情報を使用していないが、現在のピクチャの従前に再構築された部分からの予測情報を使用することができる、ブロックに関係することができる。そのような予測情報は、イントラピクチャ(内部ピクチャ)予測ユニット(552)によって提供されることができる。幾つかの場合において、イントラピクチャ予測ユニット552は、現在のピクチャバッファ558からフェッチされた既に再構築された環境(surrounding)を使用して、再構築中のブロックと同じ大きさ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構築された現在のピクチャ及び/又は完全に再構築された現在のピクチャをバッファする。アグリゲータ(555)は、幾つかの場合には、サンプル毎ベースで、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供されるような出力サンプル情報に追加する。
【0075】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、相互コード化された、潜在的に運動補償されたブロックに関係することができる。そのような場合、運動補償予測ユニット553は、予測のために使用されるサンプルをフェッチするために参照画像メモリ557にアクセスすることができる。ブロックに関係するシンボル(521)に従ってフェッチされたサンプルを運動補償した後に、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によって、(この場合には残差サンプルまたは残差信号と呼ばれる)スケーラ/逆変換ユニット(551)の出力に追加されることができる。運動補償予測ユニット(553)が予測サンプルをフェッチする参照画像メモリ(557)内のアドレスは、例えば、X、Y、及び参照ピクチャコンポーネントを有することができるシンボル(521)の形態において運動補償予測ユニット(553)に利用可能な、運動ベクトルによって制御されることができる。運動補償は、サブサンプルの正確な運動ベクトルが使用中であるときの参照ピクチャメモリ(557)、運動ベクトル予測メカニズムなどからフェッチされるようなサンプル値の補間を含むことができる。
【0076】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内の様々なループフィルタリング技術に従うことができる。ビデオ圧縮技術は、(コード化されたビデオビットストリームとも呼ばれる)コード化されたビデオシーケンスに含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コード化されたピクチャまたはコード化されたビデオシーケンスの(デコーディング順における)従前の部分のデコーディング中に得られたメタ情報に応答することができると共に、従前に再構築され且つループフィルタリングされたサンプル値に応答することができる、ループ内フィルタ技術(in-loop technologies)を含むことができる。
【0077】
ループフィルタユニット(556)の出力は、レンダリングデバイスに出力されることができると共に、将来のピクチャ間予測における使用のために参照画像メモリ(557)に格納されることができる、サンプルストリーム(sample stream)であることができる。
【0078】
特定のコード化された画像は、ひとたび完全に再構築されると、将来の予測のための参考画像として使用されることができる。例えば、現在のピクチャに対応するコード化されたピクチャが完全に再構築され、コード化されたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部となることができ、新しい現在のピクチャバッファは、後続のコード化されたピクチャの再構築を開始する前に再割当てされることができる。
【0079】
ビデオデコーダ(510)は、ITU-T Rec.H.265のような標準における所定のビデオ圧縮技術に従ってデコーディング動作を実行することがある。コード化されたデオシーケンスは、コード化されたビデオシーケンスが、ビデオ圧縮技術または標準の構文及びビデオ圧縮技術または標準で文書化されているようなプロファイルの両方に従うという意味において、使用されているビデオ圧縮技術または標準によって指定された構文に適合することがある。具体的には、プロファイルは、特定のツールを、そのプロファイルの下で使用可能な唯一のツールとして、ビデオ圧縮技術または標準で使用可能な全てのツールから選択することができる。コンプライアンスのために同様に必要なことは、コード化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義される境界内にあることである。幾つかの場合において、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプルで測定される)最大再構築サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、幾つかの場合において、コード化されたビデオシーケンスで信号送信される仮想参照デコーダ(HRD:Hypothetical Reference Decoder)バッファ管理のためのHRD仕様及びメタデータを通じて更に制限されることができる。
【0080】
図6は、本開示の一実施形態に従ったビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、ポイントクラウドを圧縮するV-PCCエンコーダ(300)で使用されることができる。一例において、ビデオ圧縮モジュール(322)及び(323)、並びにビデオ圧縮モジュール(332)は、エンコーダ(603)と同様に構成される。
【0081】
ビデオエンコーダ(603)は、パディングされたジオメトリ画像、パディングされたテクスチャ画像及び同等のもののような画像を受信し、圧縮された画像を生成することがある。
【0082】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャ(画像)を、リアルタイムで或いはアプリケーションによって要求されるような任意の他の時間制約下で、コード化されたビデオシーケンス(圧縮された画像)にコード化して圧縮することがある。適切なコーディング速度を実施することは、コントローラ(650)の1つの機能である。幾つかの実施形態において、コントローラ(650)は、以下に記載されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。カップリング(coupling)は、明確性のために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大運動ベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化された、ビデオエンコーダ(603)に関連する他の適切な機能を有するように構成されることができる。
【0083】
幾つかの実施形態において、ビデオエンコーダ(603)は、コーディングループ内で作動するように構成される。過剰に単純化された記述として、一例において、コーディングループは、(例えば、コード化されるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームのような、シンボルを生成することに関与する)ソースコーダ(source coder)(630)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、シンボルを再構築して、(リモート)デコーダが作成するのと類似の方法でサンプルデータを生成する(何故ならば、シンボルとコード化されたビデオビットストリームとの間のあらゆる圧縮は、開示の主題において考慮されるビデオ圧縮技術において無損失であるからである)。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダ場所(ローカルまたはリモート)とは無関係にビット正確な結果をもたらすので、参照ピクチャメモリ(634)中のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部は、デコーディング中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性(及び、例えば、チャンネルエラーに起因して同期性を維持できない場合の、結果として生じるドリフト)のこの基本的な原理は、幾つかの関連技術においても同様に使用される。
【0084】
「ローカル」デコーダ(633)の動作は、ビデオデコーダ(510)のような「リモート」デコーダと同じであることができ、それは既に
図5に関連して上記で詳述されている。しかしながら、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)によるコード化されたビデオシーケンスへのシンボルのコーディング/デコーディングは無損失であることができるので、パーサ(520)を含むビデオデコーダ(510)のエントロピーデコーディング部は、ローカルデコーダ(633)において完全に実装されないことがある。
【0085】
この時点で行うことができる観察は、デコーダ内に存在する構文解析/エントロピーデコーディングを除く如何なるデコーダ技術も、対応するエンコーダ内に実質的に同一の機能的形態において存在する必然的に必要であることである。この理由のために、開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるので、省略することができる。特定の領域おいてのみ、より詳細な記述が必要とされ、以下に提供される。
【0086】
動作中に、幾つかの例において、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の従前にコード化されたピクチャに関して入力ピクチャを予測的にコード化する運動補償された予測的コーディングを実行することがある。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと入力ピクチャに関する予測参照として選択されることがある参照ピクチャのピクセルブロックとの間の差をコード化する。
【0087】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって生成されるシンボルに基づいて、参照ピクチャとして指定されることがあるピクチャのコード化されたビデオデータをデコードすることがある。コーディングエンジン(632)の動作は、有利には、損失性プロセスであってよい。コード化されたビデオデータが(
図6には示されていない)ビデオデコーダでデコードされることがあるとき、再構築されたビデオシーケンスは、典型的には、幾つかのエラーを伴うソースビデオシーケンスのレプリカであることがある。ローカルビデオデコーダ(633)は、参照ピクチャ上でビデオデコーダによって実行されることがあるデコーディング処理を複製し、再構築された参照ピクチャを参照ピクチャキャッシュ(634)内に格納させることがある。このようにして、ビデオエンコーダ(603)は、共通のコンテンツを(伝送エラーのない)遠端のビデオデコーダによって得られる再構築された参照画像として有する、再構築された参照画像のコピーをローカルに格納することがある。
【0088】
予測器(predictor)(635)は、コーディングエンジン(632)のために予測検索(prediction searches)を実行することがある。すなわち、コード化されるべき新しい画像について、予測器(635)は、新しいピクチャのための適切な予測参照(prediction reference)として役立つことがある、(候補参照ピクセルブロックとしての)サンプルデータ、または参照ピクチャ運動ベクトル、ブロック形状などのような特定のメタデータについて、参照ピクチャメモリ(634)を検索することがある。予測器(635)は、適切な予測参照を見出すために、サンプルブロック対ピクセルブロックベース(sample block-by-pixel block basis)で作動することがある。幾つかの場合には、予測器(635)によって得られる検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測参照を有することがある。
【0089】
コントローラ(650)は、例えば、ビデオデータをエンコードするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することがある。
【0090】
全ての前述の機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングを受けることがある。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コードなどのような技術に従って、シンボルを無損失圧縮して圧縮された画像643を生成することによって、様々な機能ユニットによって生成されるようなシンボルをコード化されたビデオシーケンスに変換する。
【0091】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することがある。コーディングの間に、コントローラ(650)は、各々のコード化されたピクチャに、特定のコード化されたピクチャタイプを割り当てることがあり、それはそれぞれのピクチャに適用されることがあるコーディング技術に影響を及ぼすことがある。例えば、ピクチャは、しばしば、後続のピクチャタイプの1つとして割り当てられることがある。
【0092】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の如何なる他のピクチャも使用しないでコード化されることがあるもの及びデコードされることがあるものであってよい。幾つかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh)(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャ(intra pictures)を許容する。当業者は、Iピクチャのそれらの変形及びそれらのそれぞれの用途及び機能を知っている。
【0093】
予測ピクチャ(predicative picture)(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの運動ベクトル及び参照インデックスを用いるイントラ予測(内部予測)(intra prediction)またはインター予測(相互予測)(inter prediction)を用いてコード化されることがあるもの及びデコードされることがあるものであってよい。
【0094】
双方向予測的ピクチャ(bi-directionally predicative picture)(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの運動ベクトル及び参照インデックスを使用するイントラ予測またはインター予測を使用してコード化されることがあるもの及びデコードされることがあるものであってよい。同様に、複数の予測的ピクチャ(predicative pictures)は、単一のブロックの再構築のために、2つよりも多くの参照ピクチャ及び関連するメタデータを使用することができる。
【0095】
ソース画像は、一般的に、複数のサンプルブロック(例えば、各々が4×4、8×8、4×8、または16×16のサンプルのブロック)に空間的に細分化され、ブロック毎ベースでコード化されることがある。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割当てによって決定されるような他の(既にコード化された)ブロックを参照して予測的にコード化されてよい。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、或いは同じピクチャの既にコード化されたブロック(空間的予測またはイントラ予測)を参照して予測的にコード化されてよい。Pピクチャのピクセルブロックは、従前にコード化された一つの参照ピクチャを参照して空間的予測または時間的予測を介して、予測的にコード化されてよい。Bピクチャのブロックは、1つまたは2つの従前にコード化された参照ピクチャを参照して空間的予測を介して或いは時間的予測を介して予測的にコード化されてよい。
【0096】
ビデオエンコーダ(603)は、ITU-T Rec.H265のような、所定のビデオコーディング技術または標準に従ってコーディング動作を実行することがある。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測的コーディング動作を含む、様々な圧縮動作を実行することがある。従って、コード化されたビデオデータは、使用されているビデオコーディング技術または標準によって指定された構文に適合することがある。
【0097】
ビデオは、時間シーケンスにおける複数のソースピクチャ(画像)の形態にあることがある。(しばしばイントラ予測と略される)イントラピクチャ予測は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在のピクチャと呼ばれるエンコーディング/デコーディングの下の特定のピクチャが、ブロックに区分される。現在のピクチャ内のブロックが、ビデオ内の従前にコード化され且つ依然としてバッファされている参照ピクチャ内の参照ブロックに類似するとき、現在のピクチャ内のブロックは、運動ベクトルと呼ばれるベクトルによってコード化されることができる。運動ベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中の場合、参照ピクチャを識別する第3の次元を有することができる。
【0098】
幾つかの実施形態では、インターピクチャ予測において二重予測(bi-prediction)技術を使用することができる。二重予測技術によれば、ビデオ内の現在のピクチャへのデコーディング順序で両方とも先行する(しかしながら、表示順序ではそれぞれ過去及び将来であることがある)第1の参照ピクチャ及び第2の参照ピクチャのような、2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の運動ベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の運動ベクトルとによって、コード化されることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0099】
更に、コーディング効率を向上させるために、マージモード技法が、インターピクチャ予測において使用されることができる。
【0100】
本開示の幾つかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測のような予測が、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンス中の画像が、圧縮のためにコーディングツリー単位(CTU:coding tree units)に区分され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルのような、同じサイズを有する。一般に、CTUは、1つのルマ(輝度)(luma)CTB及び2つのクロマ(彩度)(chroma)CTBである3つのコーディングツリーブロック(CTB:coding tree blocks)を含む。各CTUは、1つ又は複数のコーディング単位(CU)に再帰的に4木分割されることができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1CU、32×32ピクセルの4CU、または16×16ピクセルの16CUに分割されることができる。一例において、各CUは、インター予測タイプまたはイントラ予測タイプのような、CUについての予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測可能性に依存して1つ以上の予測単位(PU:prediction units)に分割される。一般に、各PUは、1つのルマ予測ブロック(PB)と、2つのクロマPBとを含む。一実施形態において、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例としてルマ予測ブロックを用いるならば、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル及び同等のもののような、ピクセルについての値(例えば、ルマ値)の行列を含む。
【0101】
G-PCCモデルは、ジオメトリ情報及び色または反射率のような関連する属性を別々に圧縮することができる。ポイントクラウドの3D座標であるジオメトリ情報は、その占有情報の八分木(オクトリー)分解によってコード化されることができる。他方、属性情報は、異なるレベル間のLOD(詳細のレベル)データの閉ループ予測を実行するDPCMのような技術によってエンコードされることができる。LOD情報は、デコードされたジオメトリ情報に基づいて、エンコーダ及びデコーダにおいて同一の方法で構築されることができる。基本的には、より多くのLODが提供されるに応じて、所与のポイントクラウドのより詳細な情報を連続的に得ることができるような方法において、LODを構築することができる。属性コーディングのためにサンプルベースの予測が実行されるとき、隣接するサンプルを見つけて重み付き予測を行うために、最も近接するツリーベースの検索を利用することができる。重みは、隣接する各サンプルの幾何学的距離の逆数として計算されることができる。
【0102】
図7は、一実施形態に従ったG-PCC分解プロセス中に適用されるG-PCCデコーダ(800)のブロック図を示している。デコーダ(800)は、圧縮されたビットストリームを受信し、ポイントクラウドデータ解凍を実行して、ビットストリームを解凍して、デコードされたポイントクラウドデータを生成する、ように構成されることができる。一実施形態において、デコーダ(800)は、算術デコーディングモジュール(810)と、逆量子化モジュール(820)と、八分木デコーディングモジュール(830)と、LOD生成モジュール(840)と、逆量子化モジュール(850)と、及び逆補間ベースの予測モジュール(860)とを含むことができる。
【0103】
図示のように、圧縮されたビットストリーム(801)は、算術デコーディングモジュール(810)で受信されることができる。算術デコーディングモジュール(810)は、圧縮されたビットストリーム(801)をデコードして、ポイントクラウドの量子化された予測残差(もし存在するならば)及び占有コード(又はシンボル)を得る、ように構成される。八分木デコーディングモジュール(830)は、占有コードに従ってポイントクラウド内のポイントの量子化された位置を生成するように構成される。逆量子化モジュール(850)は、八分木デコーディングモジュール(830)によって提供される量子化された位置に基づいて、ポイントクラウド内のポイントの再構築された位置を生成するように構成される。
【0104】
LOD生成モジュール(840)は、再構築された位置に基づいてポイントを異なるLODに再編成して、LODに基づく順序を決定するように構成される。逆量子化モジュール(820)は、算術デコーディングモジュール(810)から受信する量子化された予測残差(prediction residuals)に基づいて、再構築された予測残差を生成するように構成される。逆補間ベースの予測モジュール(860)は、逆量子化モジュール(820)から受信する再構築された予測残差及びLOD生成モジュール(840)から受信するLODベースの順序に基づいて、ポイントクラウド内のポイントの再構築された属性を生成するための属性予測プロセスを実行するように構成される。
【0105】
更に、逆補間ベースの予測モジュール(860)から生成された再構築された属性は、逆量子化モジュール(850)から生成された再構築された位置と共に、一例において、デコーダ(800)から出力される、デコードされたポイントクラウド(または再構築されたポイントクラウド)(802)に対応する。
【0106】
図8は、一実施形態に従ったG-PPCエンコーダ(700)のブロック図を示している。エンコーダ(700)は、ポイントクラウドデータを受信して、ポイントクラウドデータを圧縮して、圧縮されたポイントクラウドデータを運ぶビットストリームを生成するように構成されることができる。一実施形態において、エンコーダ(700)は、位置量子化モジュール(position quantization module)(710)と、重複ポイント除去モジュール(duplicated points removal module)(712)と、八本木エンコーディングモジュール(octree encoding module)(730)と、属性転送モジュール(attribute transfer module)(720)と、詳細のレベル(level of detail)(LOD)生成モジュール(generation module)(740)と、補間ベースの予測モジュール(interpolation-based prediction module)(750)と、残差量子化モジュール(residual quantization module)(760)と、算術コーディングモジュール(arithmetic coding module)(770)とを含むことができる。
【0107】
図示のように、入力ポイントクラウド(701)は、エンコーダ(700)で受信されることができる。ポイントクラウド(701)の位置(例えば、3D座標)は、量子化モジュール(710)に提供される。量子化モジュール(710)は、量子化された位置を生成するために、座標を量子化するように構成される。重複ポイント除去モジュール(712)は、量子化された位置を受信し、フィルタ処理を実行して、重複したポイントを識別して除去するように構成される。八本木エンコーディングモジュール(730)は、重複ポイント除去モジュール(712)からフィルタリングされた位置を受信して、八本木ベースのエンコーディングプロセスを実行して、3Dグリッドのボクセルを記述する占有コード(又はシンボル)のシーケンスを生成するように構成される。占有コードは、算術コーディングモジュール(770)に提供される。
【0108】
属性転送モジュール(720)は、入力ポイントクラウドの属性を受信して、複数の属性値がそれぞれのボクセルに関連するときに、各ボクセルについての属性値を決定するための属性転送プロセスを実行するように構成される。属性転送プロセスは、八分木エンコーディングモジュール(730)から出力される再順序付けられたポイントに対して実行されることができる。転送動作後の属性は、補間ベースの予測モジュール(750)に提供される。LOD生成モジュール(740)は、八本木エンコーディング(730)から出力される再順序付けられたポイントに対して作動して、ポイントを異なるLODに再編成するように構成される。LOD情報は、補間ベースの予測モジュール(750)に供給される。
【0109】
補間ベースの予測モジュール(750)は、LOD生成モジュール(740)からのLOD情報と属性転送モジュール(720)から受信する転送された属性とによって示されるLODベースの順序に従ってポイントを処理し、予測残差を生成する。残差量子化モジュール(760)は、補間ベースの予測モジュール(750)から予測残差を受信して、量子化を実行して、量子化された予測残差を生成するように構成される。量子化された予測残差は、算術コーディングモジュール(770)に提供される。算術コーディングモジュール(770)は、八本木エンコーディングモジュール(730)からの占有コード、(使用されるならば)候補インデックス、補間ベースの予測モジュール(750)からの量子化された予測残差、及び他の情報を受信して、エントロピーエンコーディングを実行して、受信した値または情報を更に圧縮するように構成される。その結果、圧縮された情報を運ぶ圧縮ビットストリーム(702)を生成することができる。ビットストリーム(702)は、圧縮されたビットストリームをデコードするデコーダに伝送されてよく、或いは他の方法で提供されてよく、或いは記憶デバイスに格納されてよい。
【0110】
本明細書に開示する属性予測技法を実装するように構成される補間ベースの予測モジュール(750)及び逆補間ベースの予測モジュール(860)は、
図7及び
図8に示されるものと類似の又は異なる構造を有することがある他のデコーダ又はエンコーダに含まれ得ることに留意のこと。加えて、エンコーダ(700)及びデコーダ(800)は、様々な例において同じデバイスまたは別個のデバイスに含まれ得る。
【0111】
様々な実施形態において、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装されることができる。例えば、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、及び同等物のような、ソフトウェアを用いて或いは用いないで作動する1つ以上の集積回路(IC)のような処理回路構成を用いて実装されることができる。別の例において、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)は、不揮発性(または非一時的)コンピュータ可読記憶媒体に格納された命令を含むソフトウェアまたはファームウェアとして実装されることができる。命令は、1つ以上のプロセッサのような処理回路構成によって実行されるときに、処理回路構成に、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)の機能を実行させる。
【0112】
予測変換に基づく現在のG-PCC属性コーディングでは、各3DポイントのLOD(詳細のレベル)は、各ポイントの距離に基づいて生成されることができる。各LODにおける3Dポイントの属性値は、LODベースの順序で予測を適用することによってエンコードされることができる。
図9は、G-PCCにおけるLOD生成プロセス900を示している。
図9に示すように、ポイントP0、P5、P4及びP2は、LOD0にあることができる。ポイントP1、P6及びP3は、LOD1にあることができる。P9、P8及びP7は、LOD2にあることができる。P2の属性値は、P2の前にエンコードまたはデコードされるP0、P5及びP4の距離ベースの重み付き平均値を計算することによって予測されることができる。
【0113】
現在のG-PCC属性コーディングにおいて、実施形態では、現在のポイント(例えば、P2)の近傍の可変性(variability)を計算して、隣接値がどのように異なるか及び可変性が閾値よりも低いかどうかを確認することができる。閾値が閾値より低いならば、距離ベースの重み付き平均予測を以下のように行うことができる。
【0114】
属性値
は、現在のポイントiの最も近い隣接物(nearest neighbors)の距離に基づいた線形補間プロセスを使用することによって予測されることができる。
を現在のポイントiのk個の最も近い隣接物のセットとし、
をk個の最も近い隣接物のデコードされた/再構築された属性値とし、
を現在のポイントiまでのk個の最も近い隣接物の距離とする。現在のポイントiについての予測される属性値
以下の(1)によって与えられる。
【数1】
【0115】
属性がコード化されるとき、全てのポイントクラウドの幾何学的場所が利用可能であり得ることが留意されるべきである。加えて、隣接するポイントは、隣接するポイントの再構築された属性値と共に、エンコーダ及びデコーダの両方で利用可能であることができ、その場合には、KD-Tree構造を使用して、各ポイントについての最も近い隣接物の検索を同一の方法で容易にすることができる。
【0116】
別の実施形態では、可変性が閾値よりも高いならば、レート歪み最適化された予測子(predictor)選択を行うことができる。LODを生成する際の隣接ポイント検索の結果に基づいて複数の予測子候補を作成することができる。例えば、P2の属性値が予測を使用してエンコードされるとき、P0、P5及びP4の距離ベースの重み付き平均値は、0に等しい予測子インデックスに設定されることができる。次に、最も近い隣接ポイントP4の値は、1に等しい予測子インデックスに設定されることができる。その上、次に最も近い隣接ポイントP5及びP0の値は、それぞれ、2及び3に等しい予測子インデックスに設定されることができ、それらは表1に示されることができる。予測子候補を作成した後に、レート歪み最適化手順を適用することによって最良の予測子を選択し、次に、選択した予測子インデックスを算術的にエンコードすることができる。
【表1】
【0117】
(MaxNumCandとも呼ぶ)予測子候補の最大数を定義し、属性ヘッダに更にエンコードすることができる。現在のG-PCC属性コーディングにおいて、MaxNumCandは、予測における隣接物の数に1を加えたもの(例えば、numberOfNearestNeightNeighborsInPrediction+1)に等しく設定されることができ、切頭単項2進化(truncated unary binarization)を持つ予測子インデックスをエンコード及びデコードする際に更に使用されることができる。
【0118】
リフティング変換に基づくG-PCCにおける現在の属性コーディングにおいて、リフティング変換は、上述の予測変換の上に構築されることができる。予測スキーム(または予測変換)とリフティングスキーム(またはリフティング変換)との間の主な違いは、更新演算子(update operator)の導入である。
【0119】
図9は、G-PCCにおけるP/U(予測/更新)-リフティングの例示的なアーキテクチャを示している。リフティング変換における予測及び更新ステップを容易にするために、入力属性信号が、分解の各段階で2つのセットの高相関信号に分割することができる。G-PCCにおけるリフティングスキームでは、高相関がレベル間で期待され、各レベルが不均一なポイントクラウドを構造化されたデータに組織化する最も近い隣接物検索によって構成される、上述のLOD構造を利用することによって、分割を行うことができる。更に、各レベル(例えば、N)におけるP/U分解ステップは、詳細信号(例えば、D(N-1))及び近似信号(例えば、A(N-1))をもたらし得る。
図9に示すように、例えば、LOD(N)、LOD(N-1)...LOD(1)を含む入力属性信号は、LOD(N)及びLOD (N-1)...LOD(1)に分割されることができる。偶数のサンプルセットであるLOD(N-1)...LOD(1)は、LOD(N)についての予測子として使用されることができる。LOD(N)は、奇数サンプルセットであってよい。次に、差分信号(または詳細信号)D(N-1)は、LOD(N)とLOD(N)予測子との間の差に基づいて生成されることができる。差分信号D(N-1)は、ハイパス信号であってよい。更に、ローパス信号(または近似信号)A(N-1)が、LOD(N-1)...LOD(1)の近似信号として、更新ステップの後に生成されることができる。
【0120】
詳細信号D(N-1)及び近似信号A(N-1)は、D(N-2)及びA(N-2)に更に分解されることができる。分割ステップは、ベース層近似信号A(1)が得られるまで、繰り返し適用されることができる。
【0121】
結果的に、LOD(N),...,及びLOD(1)を含み得る入力属性信号自体をコード化する代わりに、リフトスキームは、D(N-1)、D(N-2),...,D(1)、A(1)をコード化することができる。効率的なP/Uステップの適用は、しばしば、D(N-1),...,D(1)におけるスパースなサブバンド「係数」をもたらし得ることが留意されるべきである。従って、効率的なP/Uステップの適用は、変換コーディング利得利点を提供することができる。
【0122】
G-PCCにおける現在の属性コーディングでは、予測変換で上述した距離ベースの重み付き平均予測のみがリフティング変換中の予測ステップにおいて適用されることが留意されるべきである。
【0123】
色のようなポイントクラウド属性のために、有意な冗長性がチャネル間に存在し得る。コーディング効率を改善するために、前処理/後処理ステップとして色空間変換を行うことができる。そのような変換後でも、有意な相関が変換された色空間内のチャネル間に依然として存在し得る。しかしながら、RGBドメイン予測又は残差予測とは異なり、YCbCr空間対応物は、通常、一次線形関係を採用する。色空間変換は、スケーリング及びオフセットパラメータの推定及び/又は信号伝達(シグナリング)を必要とし得る。RGBからYUVへの変換の一例において、対応するルマ残差からのクロマ残差の予測は、等式(2)及び(3)によって以下のように提供されることができる。
【数2】
【数3】
ここで、Yは、ルマの予測残差を指し、U及びVは、クロマの予測残差を指す。
【0124】
本開示では、ポイントクラウド属性の結合クロマチャネルコーディングのための方法が提供される。本開示において提供される方法は、例えば、チャネル間の相関除去(非相関)(decorrelation)をクロマ信号間にのみ制限する関連例と比較して、パラメータ推定及びコーディングのオーバーヘッドなしに、圧縮効率のためのチャネル間の相関除去を効率的に実行することができる。本明細書に提供される方法は、上記のG-PCCにおける変換及びリフティング変換を予測することに関する。方法は、ポイントクラウドのために設計された類似のコーデックに適用されることができる。
【0125】
マルチチャネル信号を相関除去するために、予測器(predicator)を適用することができる。本開示において、予測器は、チャネルの残差信号を予測するために適用されることができるので、元の残差信号の代わりに二次残差信号が量子化されることができ、エントロピーコード化されることができる。本開示は、Cb及びCrクロマチャネルの予測残差を相関させることができるという観察に基づく実施形態を含む。
【0126】
本開示の実施形態は、G-PCCにおける変換及びリフティング変換の両方の予測に適用されることができる。詳細なサブバンド係数(例えば、D(N-1))は、リフティング変換の予測ステップからの出力であるので、詳細なサブバンド係数は、本質的に、予測残差信号であり、同一の予測戦略を与えられた異なるカラーチャネル間で類似することができる。
【0127】
本開示において、ResCb及びResCrは、それぞれ、(クロマ予測残差情報のCb成分及びCr成分とも呼ぶ)Cb成分及びCr成分の予測残差信号を示すことができる。予測残差信号の1つ及び予測残差信号の組み合わせは、予測残差シンボル間の相関に基づいてコード化されることができる。一実施形態において、2つの残差信号(例えば、Cb予測残差信号及びCr予測残差信号)が正に相関されるときには、ResCb及びResCrの代わりにResCb及びResCb-ResCrがコード化されることができる(例えば、エントロピーコーディングが後続する量子化)。別の実施形態において、2つの残差信号が負に相関されるときには、ResCb及びResCrの代わりにResCb及びResCb+ResCrがコード化されることができる。更に別の実施形態において、2つの残差信号が負にも正にも相関されないときには、ResCb及びResCrは、通常にコード化されることができる。
【0128】
クロマ予測残差情報のCb成分及びとCr成分の相関のタイプを決定するために、2つのクロマチャネル予測残差(例えば、Cb成分及びCr成分)の計算された信号相関の閾値テストを行うことができる。一実施形態において、2つのクロマ残差成分(例えば、Cb成分及びCr成分)間の相関の符号(sign)(またはタイプ)は、エンコーダ及びデコーダの両方で利用可能なフレーム(またはビデオ、タイル、またはスライスのような他のコード化されたユニット)の再構築されたまたは非量子化された残差サンプル(例えば、同じポイントクラウド内のポイント)を使用することによって導き出されることができる。一実施形態において、2つのクロマ残差成分間の相関の符号は、エンコーダでのみフレーム(またはビデオ、タイル、またはスライスのような他のユニット)の再構築されたまたは非量子化された残差サンプルを使用することによって導き出されることができ、相関の導き出された符号は、ビットストリームにおいてデコーダに更に信号伝達されることができる。別の実施形態において、2つのクロマ残差成分間の相関の符号は、エンコーダ及びデコーダの両方で従前のLODからの再構築または非量子化された残差サンプルを使用することによって導き出されることができる。別の実施形態において、2つのクロマ残差成分間の相関の符号は、エンコーダでのみ従前のLODからの再構築または非量子化された残差サンプルを使用することによって導き出されることができ、相関の導き出された符号は、ビットストリームにおいてデコーダに更に信号伝達されることができる。
【0129】
別の実施形態において、2つのクロマ残差成分間の相関の符号は、エンコーダで現在のポイントクラウドピクセル(またはポイントクラウド内の現在のポイント)が属するLODの非量子化された残差サンプルを使用することによって導き出されることができ、相関の導き出された符号は、ビットストリームにおいてデコーダに更に信号伝達されることができる。別の実施形態において、2つのクロマ残差成分間の相関の符号は、エンコーダ及びデコーダの両方での現在のポイントのN個の最も近いサンプルからの再構築されたまたは非量子化された残差サンプルを使用することによって導き出されることができ、ここで、Nは、GPCCテストモデル設計におけるLOD生成及び最も近い隣接物検索の結果として得られる予測サンプルの数であることができる。本開示の例示的な実施形態において、Nは、3または4に設定されることができる。
【0130】
閾値テストで使用される閾値は、信号特性とコーディング条件に依存して適応的に調整されることができる。閾値は、ビットストリームにおいて信号伝達されることができる。一実施形態において、閾値は、正のピクセル毎の相関を有する上述のLOD内のピクセルの数のパーセンテージとして設定されることができる。従って、閾値を適用して、上記残差のコーディングプロセスにおける符号の相関が正であることを決定することができる。同様に、閾値は、負の画素毎の相関を有する上述のLOD内のピクセルの数のパーセンテージとして設定されることができる。従って、閾値を適用して、上記残差のコーディングプロセスにおける符号の相関が負であることを決定することができる。
【0131】
一実施形態では、残差コーディングが有効にされているか或いは使用されるべきかを示すために、グローバル許可信号(global enabling signal)をビットストリームにおいて送信することができる。グローバル許可信号は、ビデオ、フレーム、タイル、またはスライスのような、コーディングの単位で適用されることができる。
【0132】
残差コーディングが使用されるべきであることをグローバル許可信号が示すときには、第1のバイナリフラグを送信して、相関が第1のクロマ信号と第2のクロマ信号との間に存在するか否かを示すことができる。第1のバイナリフラグが真(または第1の値、または1)であるように設定されるならば、第2のバイナリフラグを送信して、相関が正または負であることを示すことができる。第1及び第2のバイナリフラグは、例えば、G-PCC内の各LODに送信されることができる。上述の閾値テストは、相関の符号(例えば、正の相関または負の相関)を決定するために依然として適用されることができる。
【0133】
残差コーディング方法の例示的な実施形態は、以下のように第1のCのような擬似コードで例示されることができる。
【数4】
ここで、inter_croma_prediation_enabled_flagは、グローバル許可フラグ(global enabling flag)であることができ、デコード(SignNonzero)は、第1のバイナリフラグであることができる。第1のバイナリフラグ(例えば、デコード(SignNonzero))は、手元の各LODについて、第1のビット信号を提供して、相関が存在するかどうかを示すことができる。第1のバイナリフラグ(例えば、decode(SignNonzero))が1(または第1の値)であるならば、第2のバイナリフラグ(例えば、decode(Sign))は、第2のビット信号を提供して、相関の符号を実際に決定することができる。例えば、上記の第1のCのような擬似コードに示されるように、第2のバイナリフラグが1(または第1の値)であるとき、相関の符号は-1(または負)である。第2のバイナリフラグがゼロ(または第2の値)であるとき、相関の符号は1(または正)である。更に、第1のバイナリフラグ(例えば、デコード(SignNonzero))がゼロ(または第2の値)であるならば、相関のタイプはゼロであり、それは第1のクロマ信号と第2のクロマ信号との間に相関が存在しないことを意味する。各ポイントiについての相関の符号は、配列SaveSign[]に格納されることができる。
【0134】
更に、残差再構築プロセスは、以下のように第2のCのような擬似コードにおいて提供されることができる。
【数5】
ここで、rescructedColor[1]及びrescructedColor[2]は、それぞれ、第1及び第2のクロマ信号(または属性値)であることができ、dequantize()は、再構築されたサンプルを出力するための逆量子化プロセスであることができる。第2のCのような疑似コードに示されるように、第1のクロマ信号(例えば、reconsructedColor[1])は、第1のクロマ予測残差情報(例えば、ColorQuantizationIndex[1])に対する第1の逆量子化プロセスに基づいて再構築されることができる。グローバル許可フラグ(例えば、inter_croma_prediction_enabled_flag)が1であるとき、第2のクロマ信号(例えば、reconstructedColor[2])は、第1の部分及び第2の部分に等しくあることができる。第1の部分は、第2のクロマ予測残差情報(例えば、dequantize(ColorQuantizationIndex[2]))に対して第2の逆量子化プロセスを実行することによって得られることができ、第2の部分は、再構築された第1のクロマ情報(例えば、reconsructedColor[1])と、第1のクロマ予測残差情報及び第2のクロマ予測残差情報の相関のタイプ(例えば、SaveSign[lod_counter])とを乗じることによって得られることができる。加えて、ローバル許可フラグ(例えば、inter_chroma_prediction_enabled_flag)がゼロ(または第2の値)であるとき、第2のクロマ情報(例えば、reconcuctedColor[2])は、第2のクロマ予測残差情報(例えば、dequantize(ColorQuantizationIndex[2]))に対して第2の逆量子化プロセスを実行することによって再構築されることができる。
【0135】
SaveSign[lod_counter]は、サンプル再構築中に(lod_count-1)-th LOD(例えば、LOD(N-1))について決定される符号相関を反映するために適用されることができることが留意されなければならない。
【0136】
幾つかの実施形態において、上述の方法は、2つのチャネルがゼロオフセットと1次の関係で相関される他のマルチチャネル信号に適用されることができる。
【0137】
上記技術は、ポイントクラウド圧縮/解凍に適合したビデオエンコーダまたはデコーダで実装されることができる。エンコーダ/デコーダは、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実装されることができ、ソフトウェアは、もし存在するならば、1つ以上の非一時的コンピュータ可読媒体に格納されることができる。例えば、方法(または実施形態)、エンコーダ、及びデコーダの各々は、処理回路構成(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装されてよい。一例において、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されるプログラムを実行する。
【0138】
図11及び
図12は、本開示の実施形態に従ったプロセス(1100)及びプロセス(1200)を概略するフローチャートを示している。プロセス(1100)及び(1200)は、ポイントクラウドのためのデコーディングプロセス中に使用されることができる。様々な実施形態においてプロセス(1100)及び(1200)は、端末デバイス(110)内の処理回路構成、エンコーダ(203)及び/又はデコーダ(201)の機能を実行する処理回路構成、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)の機能を実行する処理回路構成、及び同等物のような、処理回路構成によって実行されることができる。幾つかの実施形態において、プロセス(1100)及び(1200)は、ソフトウェア命令で実装されることができ、よって、処理回路構成がソフトウェア命令を実行するときに、処理回路クオ製は、それぞれ、プロセス(1100)及び(1200)を実行する。
【0139】
図11に示すように、プロセス(1100)は(S1101)で開始し、(S1110)に進む。
【0140】
(S1110)で、ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームからポイントのセット内のポイントのクロマ予測残差情報を受信することができる。クロマ予測残差情報は、Cb成分及びCr成分を含むことができる。
【0141】
(S1120)で、処理回路構成によって並びにポイントクラウドのためにコード化されたビットストリームから、クロマ予測残差情報のCb成分及びCr成分の相関のタイプを決定することができる。
【0142】
(S1130)で、クロマ予測残差情報のCb成分及びCr成分の相関のタイプに基づいてクロマ予測残差情報をデコードすることができる。
【0143】
一例では、クロマ予測残差情報をデコードするために、Cb成分及びCr成分の相関のタイプが正であることに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCb成分からCr成分を引いたものをデコードすることができる。
【0144】
別の例では、クロマ予測残差情報をデコードするために、Cb成分及びCr成分の相関のタイプが負であることに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCb成分にCr成分を加えたものをデコードすることができる。
【0145】
更に別の例では、クロマ予測残差情報をデコードするために、Cb成分とCr成分との間に指示された相関がないことに基づいて、クロマ予測残差情報のCb成分及びクロマ予測残差情報のCr成分をデコードすることができる。
【0146】
幾つかの実施形態において、クロマ予測残差情報のCb成分及びCr成分の相関のタイプは、コード化された領域のうちの1つからの残差ポイントの第1の数、従前の詳細のレベル(LOD)、及び正に相関されているポイントのN個の最も近い隣接ポイントに基づいて、正であると決定されることができる。幾つかの実施形態において、クロマ予測残差情報のCb成分及びCr成分の相関のタイプは、コード化された領域のうちの1つからの残差ポイントの第2の数、従前のLOD、及び負に相関されているポイントのN個の最も近い隣接ポイントに基づいて、負であると決定されることができる。
【0147】
幾つかの実施形態において、コード化された領域は、フレーム、ビデオシーケンス、ピクチャのグループ(GOP)、ピクチャ、スライス、またはタイルのうちの少なくとも1つを含むことができる。
【0148】
幾つかの実施形態において、Nは、3または4に等しい正の整数であることができる。
【0149】
プロセス(1100)において、コード化されたビットストリームは、クロマ予測残差情報のCb成分及びCr成分の相関のタイプを示す信号伝達情報を更に含むことができる。一例において、信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第1の数、従前の詳細のレベル(LOD)、ポイントが属するLOD、または正に相関されているポイントのN個の最も近い隣接ポイントに基づいて、クロマ予測残差情報のCb成分及びCr成分の相関のタイプが正であることを示すことができる。別の例において、信号伝達情報は、コード化された領域のうちの1つからの残差ポイントの第2の数、従前のLOD、ポイントが属するLOD、または負に相関されているポイントのN個の最も近い隣接ポイントに基づいて、クロマ予測残差情報のCb成分及びCr成分の相関のタイプが正であることを示すことができる。
【0150】
図12に示すように、プロセス(1200)は(S1201)で開始し、(S1210)に進む。
【0151】
(S1210)で、ポイントのセットを含むポイントクラウドのためのコード化されたビットストリームから第1の信号伝達情報を受信することができる。第1の信号伝達情報は、ポイントのセット内のポイントの第1のクロマ予測残差情報及び第2のクロマ予測残差情報が第1のクロマ予測残差情報及び第2のクロマ予測残差情報の相関のタイプに基づいてデコードされることを示すことができる。コード化されたビットストリームは、第1のクロマ予測残差情報及び第2のクロマ予測残差情報を含むことができる。
【0152】
(S1220)で、第1の信号伝達情報に基づいて第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプを決定することができる。
【0153】
(S1230)で、第1のクロマ予測残差情報、第2のクロマ予測残差情報、及び第1のクロマ予測残差情報と第2のクロマ予測残差情報と間の相関のタイプに基づいて、第1のクロマ情報及び第2のクロマ情報を再構築することができる。
【0154】
幾つかの実施形態において、第2の信号伝達情報は、第1の信号伝達情報が第1の値であることに基づいて決定されることができる。第2の信号伝達情報は、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプが第3の信号伝達情報によって決定されることを示すことができる。第3の信号伝達情報は、信号伝達情報が第1の値であることに基づいて決定されることができる。第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報に基づいて決定されることができる。
【0155】
一例において、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報が第1の値であることに基づいて負であると決定されることができる。別の例において、第1のクロマ予測残差情報と第2のクロマ予測残差情報との間の相関のタイプは、第3の信号伝達情報が第2の値であることに基づいて正であると決定されることができる。
【0156】
プロセス(1200)において、第1のクロマ情報は、第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって再構築されることができる。加えて、第1の信号伝達情報が第1の値であることに応答して、第1の部分と第2の部分とを含む第2のクロマ情報が再構築されることができる。第1の部分は、第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって得られることができ、第2の部分は、再構築された第1のクロマ情報と、第1のクロマ予測残差情報及び第2のクロマ予測残差情報の相関のタイプとを乗じることによって得られることができる。
【0157】
幾つかの実施形態において、第1のクロマ情報は、第1のクロマ予測残差情報に対して第1の逆量子化プロセスを実行することによって再構築されることができる。第1の信号伝達情報が第2の値であることに応答して、第2のクロマ情報は、第2のクロマ予測残差情報に対して第2の逆量子化プロセスを実行することによって再構築されることができる。
【0158】
幾つかの実施形態において、第1のクロマ予測残差情報及び第2のクロマ予測残差情報は、ゼロオフセットとの一次の関係において相関されることができる。
【0159】
上述のように、上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装されることができ、1つ以上のコンピュータ可読媒体に物理的に格納されることができる。例えば、
図13は、開示の主題の特定の実施形態を実装するのに適したコンピュータシステム(1800)を示している。
【0160】
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)及び同等物によって、直接的に、または解釈、マイクロコード実行及び同等のことを通じて実行され得る命令を含むコードを作成する、アセンブリ、コンパイル、リンクまたは同等のメカニズムに従うことがある、任意の適切な機械コードまたはコンピュータ言語を使用してコード化されることができる。
【0161】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス及び同等物を含む、様々なタイプのコンピュータまたはそれらのコンポーネント上で実行されることができる。
【0162】
コンピュータシステム(1800)について
図13に示すコンポーネントは、本質的に例示的であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能性の範囲についての如何なる限定も示唆することを意図しない。コンポーネントの構成は、コンピュータシステム(1800)の例示的な実施形態に例示されるコンポーネントの任意の1つまたは組み合わせに関する如何なる従属性または要件も有するものとして解釈されてはならない。
【0163】
コンピュータシステム(1800)は、特定のヒューマンインターフェース入力デバイスを含んでよい。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きのような)触覚入力、(音声、拍手のような)音声入力、(ジェスチャのような)視覚入力、嗅覚入力(図示せず)を通じて、1人以上の人間ユーザによる入力に応答することがある。また、ヒューマンインターフェースデバイスは、(発話、音楽、周囲音のような)オーディオ、(スキャンされた画像、静止画像カメラから得られる写真画像のような)画像、(二次元ビデオ、立体視ビデオを含む三次元ビデオのような)ビデオのような、人間による意識的入力に必ずしも直接的に関係しない特定の媒体をキャプチャするために使用されることもできる。
【0164】
入力ヒューマンインターフェースデバイスは、(各々の1つのみが描かれている)キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイクロホン(1806)、スキャナ(1807)、カメラ(1808)のうちの1つ以上を含んでもよい。
【0165】
コンピュータシステム(1800)は、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び臭い/味を通じて、1人以上の人間ユーザの感覚を刺激することがある。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1810)、データグローブ(図示せず)又はジョイスティック(1805)による触覚フィードバック、しかしながら、入力デバイスとして機能しないフィードバックデバイスもあり得る)、(スピーカ(1809)、ヘッドフォン(図示せず)のような)オーディオ出力デバイス、各々がタッチスクリーン入力能力を有する或いは有さない、各々が触覚フィードバック能力を有する或いは有さない、それらのうちの幾つかは、立体図法出力のような手段を通じて二次元視覚出力または3次元よりも多くの次元の視覚出力を出力することができる、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含む、スクリーン(1810)のような)視覚出力デバイス、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)、及びプリンタ(図示せず)を含んでよい。
【0166】
コンピュータシステム(1800)は、人間がアクセス可能な記憶デバイスと、CD/DVDまたは同等の媒体(1821)を有するCD/DVD ROM/RW(1820)を含む光媒体、親指駆動装置(1822)、取り外し可能なハードドライブまたはソリッドステートドライブ(1823)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイス、及び同等物のような、それらの関連する媒体とを含むこともできる。
【0167】
当業者は、現在開示されている主題に関連して使用されるときの用語「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の過渡信号を包含しないことを理解すべきである。
【0168】
コンピュータシステム(1800)は、1つ以上の通信ネットワークへのインターフェースを含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、更に、ローカル、ワイドエリア、メトロポリタン、車両及び産業、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線LAN、GSM、3G、4G、5G、LTE及び同等物を含むセルラネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTVワイヤラインまたはワイドエリアデジタルネットワーク、CANBusを含む車両及び産業を含む。特定のネットワークは、一般的に、特定の汎用データポートまたは(例えば、コンピュータシステム(1800)のUSBポートのような)周辺バス(1849)に取り付けられる外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般的に、以下に記載するようなシステムバス(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラネットワークインターフェース)への取付けによって、コンピュータシステム(1800)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は、他のエンティティと通信することができる。そのような通信は、単指向性、受信専用(例えば、放送テレビ)、単指向性送信専用(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの双指向性であることができる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインターフェースの各々で使用されることができる。
【0169】
前述のヒューマンインターフェースデバイス、人がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(1800)のコア(1840)に取り付けられることができる。
【0170】
コア(1840)は、1つ以上の中央処理装置(CPU)(1841)、グラフィックス処理装置(GPU)(1842)、フィールドプログラマブルゲートエリア(FPGA)(1843)の形態の特殊なプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(1844)、及び同等物を含むことができる。これらのデバイスは、読出し専用メモリ(ROM)(1845)、ランダムアクセスメモリ(1846)、内部非ユーザアクセス可能ハードドライブのような内部大容量記憶装置、SSD、及び同等物(1847)と共に、システムバス(1848)を通じて接続されてよい。幾つかのコンピュータシステムにおいて、システムバス(1848)は、追加のCPU、GPU、及び同等物による拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であることができる。周辺デバイスは、コアのシステムバス(1848)に直接的に取り付けられることができ、或いは周辺バス(1849)を通じて取り付けられることができる。周辺バスのためのアーキテクチャは、PCI、USB、及び同等物を含む。
【0171】
CPU(1841)、GPU(1842)、FPGA(1843)、及びアクセラレータ(1844)は、特定の命令を実行することができ、特定の命令は、組み合わせにおいて、前述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM(1845)またはRAM(1846)に格納されることができる。移行データもRAM(1846)に格納されることができるのに対し、永久データは、例えば、内部大容量記憶装置(1847)に格納されることができる。メモリデバイスのいずれかへの高速記憶及び検索が、1つ以上のCPU(1841)、GPU(1842)、大容量記憶装置(1847)、ROM(1845)、RAM(1846)、及び同等物と密接に関連付けられることができるキャッシュメモリの使用を通じて可能にされることができる。
【0172】
コンピュータ可読媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってよく、或いは、それらはコンピュータソフトウェア技術に熟練した者によく知られており且つ入手可能な種類のものであることができる。
【0173】
一例として、限定するものではなく、アーキテクチャ(1800)、具体的にはコア(1840)を有する、コンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行する(CPU、GPU、FPGA、アクセラレータ、及び同等物を含む)プロセッサの結果としての機能性を提供することができる。そのようなコンピュータ可読媒体は、上述のようにユーザアクセス可能な大容量記憶装置に関連する媒体、並びにコア-内部大容量記憶装置(1847)またはROM(1845)のような非一時的な性質のコア(1840)の特定の記憶装置であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納されることができ、コア(1840)によって実行されることができる。コンピュータ可読媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1840)及び具体的にはその中の(CPU、GPU、FPGA、及び同等物を含む)プロセッサに、RAM(1846)に格納されたデータ構造を定義すること及びソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。追加的にまたは代替として、コンピュータシステムは、回路構成(例えば、アクセラレータ(1844))内に配線された或いは他の方法で具現されたロジック(論理)の結果としての機能性を提供することができ、それは本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに或いはソフトウェアと共に作動することができる。ソフトウェアへの言及は、ロジックを含むことができ、適切な場合には、その逆も同様である。コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路、実行のためのロジックを具現する回路、または適切な場合にはそれらの両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0174】
この開示は幾つかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、及び様々な代替均等物がある。よって、当業者は、本明細書に明示的に示されていないか或いは記載されていないが、本開示の原理を具現し、従って、本開示の精神及び範囲内にある多くのシステム及び方法を考案し得ることが理解されるであろう。