(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-13
(45)【発行日】2024-06-21
(54)【発明の名称】3次元(3D)メッシュのUV座標を処理するための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
G06T 9/40 20060101AFI20240614BHJP
【FI】
G06T9/40
(21)【出願番号】P 2023528043
(86)(22)【出願日】2022-09-14
(86)【国際出願番号】 US2022076423
(87)【国際公開番号】W WO2023044340
(87)【国際公開日】2023-03-23
【審査請求日】2023-05-10
(32)【優先日】2021-09-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ティエン,ジュン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】シュー,シャオジョン
(72)【発明者】
【氏名】ジャン,シャン
(72)【発明者】
【氏名】リウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2023/039402(WO,A1)
【文献】国際公開第2023/039397(WO,A1)
【文献】米国特許出願公開第2019/0114821(US,A1)
【文献】米国特許出願公開第2014/0253547(US,A1)
【文献】米国特許出願公開第2011/0037763(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00 - 9/40
(57)【特許請求の範囲】
【請求項1】
プロセッサによって実行される、3次元(3D)メッシュのUV座標を処理する方法であって、
前記3Dメッシュの前記UV座標を受け取るステップであって、前記UV座標は、第1軸にU座標と第2軸にV座標を含む2次元(2D)テクスチャ座標であり、前記3Dメッシュの頂点にマッピングされる、ステップと、
量子化プロセス、分離プロセス及び変換プロセスのうちの少なくとも1つに基づいて前記3Dメッシュの前記UV座標を処理するステップであって、前記量子化プロセスは、前記UV座標を複数のインジケータに変換するように構成され、前記分離プロセスは、前記UV座標を前記U座標と前記V座標にそれぞれ分離するように構成され、前記変換プロセスは、前記UV座標を空間領域から変換領域に変換するように構成される、ステップと、
前記UV座標の処理後に、処理された前記UV座標に対して圧縮を実行するステップと、
を含む、方法。
【請求項2】
前記処理するステップは、前記量子化プロセスに基づいており、前記処理するステップは、
前記U座標を第1スカラー因子で、前記V座標を第2スカラー因子で割ることによって、線形スカラー量子化を前記UV座標の前記U座標と前記V座標にそれぞれ適用するステップと、
ベクトル量子化を前記UV座標の複数のUVペアに適用するステップであって、前記複数のUVペアの各UVペアはそれぞれのU座標とそれぞれのV座標を含み、前記ベクトル量子化のベクトル辞書へのインジケータによって表される、ステップと、
のうちの1つを更に含む、請求項1に記載の方法。
【請求項3】
前記処理するステップは、前記分離プロセスに基づいており、前記処理するステップは、
前記UV座標を前記U座標と前記V座標に分離するステップと、
前記UV座標の前記U座標に基づいて第1の2Dアレイを生成するステップと、
前記UV座標の前記V座標に基づいて第2の2Dアレイを生成するステップと、
を更に含み、前記圧縮を実行するステップは、
前記第1の2Dアレイ内の前記UV座標の前記U座標に対して前記圧縮を実行するステップと、
前記第2の2Dアレイ内の前記UV座標の前記V座標に対して前記圧縮を実行するステップと、
を更に含む、請求項1に記載の方法。
【請求項4】
前記処理するステップは、前記変換プロセスに基づいており、前記処理するステップは、
可逆変換、Haar変換又は線形非相関変換のうちの1つに基づいて、前記変換プロセスを前記UV座標の複数のUVペアに対して実行するステップであって、前記複数のUVペアの各UVペアは、前記UV座標のそれぞれのU座標とUV座標のそれぞれのV座標を含む、ステップと、
前記UV座標の前記複数のUVペアの変換されたU座標に基づいて第1チャネル情報を生成し、前記UV座標の前記複数のUVペアの変換されたV座標に基づいて第2チャネル情報を生成するステップと、
を更に含み、前記圧縮を実行するステップは、
前記UV座標の前記第1チャネル情報に対して前記圧縮を実行するステップと、
前記UV座標の前記第2チャネル情報に対して前記圧縮を実行するステップと、
を更に含む、請求項1に記載の方法。
【請求項5】
前記UV座標に対して圧縮を実行するステップは、
前記UV座標に対して、画像/ビデオ圧縮又は整数圧縮のうちの一方を実行するステップ、
を更に含む、請求項1に記載の方法。
【請求項6】
事前コーディングされたU座標の値に基づいて前記UV座標の前記U座標の値を予測し、前記U座標の予測残差のリストを生成するステップと、
事前コーディングされたV座標の値に基づいて前記UV座標の前記V座標の値を予測し、前記V座標の予測残差のリストを生成するステップと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記U座標の前記予測残差のリストに対して第1マッピング操作を実行して、前記U座標の非負整数のリストを生成するステップと、
前記V座標の前記予測残差のリストに対して第2マッピング操作を実行して、前記V座標の非負整数のリストを生成するステップと、
を更に含む、請求項6に記載の方法。
【請求項8】
前記U座標の前記非負整数のリストに対して第1ビットパッキングプロセスを実行して、前記U座標のビットのリストを生成するステップと、
前記V座標の前記非負整数のリストに対して第2ビットパッキングプロセスを実行して、前記V座標のビットのリストを生成するステップと、
を更に含む、請求項7に記載の方法。
【請求項9】
前記圧縮を実行するステップは、前記U座標の前記予測残差のリスト、前記V座標の前記予測残差のリスト、前記U座標の前記非負整数のリスト、前記V座標の前記非負整数のリスト、前記U座標の前記ビットのリスト又は前記V座標の前記ビットのリストのうちの少なくとも1つに対して前記圧縮を実行するステップを含み、
前記圧縮は、エントロピーコーディング、可変長コーディング、ハフマンコーディング又は算術コーディング、のうちの1つに基づいて実行される、
請求項8に記載の方法。
【請求項10】
前記圧縮を実行するステップは、
非可逆画像/ビデオコーデック及び非可逆整数圧縮のうちの一方に基づいて、前記UV座標に対して非可逆圧縮を実行して、前記UV座標の非可逆圧縮残差を生成するステップと、
可逆画像/ビデオコーデック及び可逆整数圧縮のうちの一方に基づいて、前記UV座標の前記非可逆圧縮残差に対して可逆圧縮を実行するステップと、
を更に含む、請求項1に記載の方法。
【請求項11】
請求項1乃至10のいずれか一項に記載の方法を実行するように構成される処理回路を備える、装置。
【請求項12】
コンピュータによって実行されると、該コンピュータに請求項1乃至10のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本出願は、2022年9月13日に出願された米国特許出願第17/943,269号「CODING OF UV COORDINATES」に対する優先権の利益を主張し、これは2021年9月20日に出願された米国仮出願第63/246,218号「Coding of UV Coordinates」に対する優先権の利益を主張している。先行出願の開示は、参照によりその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、一般にメッシュコーディングに関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景説明は、本開示の文脈を一般的に提示するためのものである。現在名前を挙げられている発明者の研究は、その研究がこの背景技術に記載された範囲において、出願時に先行技術として通常見なされ得ない記載の側面とともに、明示的にも暗黙的にも本開示に対する先行技術として認められない。
【0004】
3次元(3D)空間における世界の物体、世界の環境等のような、世界を捉えて表現するための様々な技術が開発されている。世界の3D表現は、より没入感のある形式の対話及び通信を可能にすることができる。いくつかの例では、3Dメッシュは、このような没入感のあるコンテンツを表現するために広く使用される。
【発明の概要】
【0005】
本開示の側面は、メッシュコーディング(例えば圧縮及び復元)のための方法及び装置を提供する。いくつかの例では、メッシュコーディングのための装置は処理回路を含む。
【0006】
本開示の側面によると、3次元(3D)メッシュのUV座標を処理する方法が提供される。本方法では、3DメッシュのUV座標を受け取ることができる。UV座標は、第1軸にU座標と、第2軸にV座標を含む2次元(2D)テクスチャ座標とすることができ、3Dメッシュの頂点にマッピングされることができる。量子化プロセス、分離プロセス及び変換プロセスのうちの少なくとも1つに基づいて、3DメッシュのUV座標を処理することができる。量子化プロセスは、UV座標を複数のインジケータに変換するように構成されることができる。分離プロセスは、UV座標をU座標とV座標にそれぞれ分離するように構成されることができる。変換プロセスは、UV座標を空間領域から変換(又は周波数)領域に変換するように構成されることができる。UV座標の処理後に、処理されたUV座標に対して圧縮を実行することができる。
【0007】
いくつかの実施形態において、上記処理することは、量子化プロセスに基づくことができる。一例では、U座標を第1スカラー因子で、V座標を第2スカラー因子で割ることによって、線形スカラー量子化をUV座標のU座標とV座標にそれぞれ適用することができる。別の例では、ベクトル量子化を、UV座標の複数のUVペアに適用することができる。複数のUVペアの各UVペアはそれぞれのU座標とそれぞれのV座標を含むことができ、ベクトル量子化のベクトル辞書(vector dictionary)へのインジケータによって表されることができる。
【0008】
いくつかの実施形態において、上記処理することは、分離プロセスに基づく。したがって、UV座標をU座標とV座標に分離することができる。UV座標のU座標に基づいて第1の2Dアレイを生成することができる。UV座標のV座標に基づいて第2の2Dアレイを生成することができる。その後、圧縮を、第1の2Dアレイ内のUV座標のU座標に対して及び第2の2Dアレイ内のUV座標のV座標に対してそれぞれ実行することができる。
【0009】
いくつかの実施形態において、上記処理することは、変換プロセスに基づく。したがって、可逆変換(invertible transform)、Haar変換(Haar transform)又は線形非相関変換(linear decorrelation transform)のうちの1つに基づいて、変換プロセスをUV座標の複数のUVペアに対して実行することができる。複数のUVペアの各UVペアは、UV座標のそれぞれのU座標とUV座標のそれぞれのV座標を含むことができる。UV座標の複数のUVペアの変換されたU座標に基づいて第1チャネル情報を生成することができ、UV座標の複数のUVペアの変換されたV座標に基づいて第2チャネル情報を生成することができる。圧縮を更に、UV座標の第1チャネル情報に対して及びUV座標の第2チャネル情報に対してそれぞれ実行することができる。
【0010】
本方法において、UV座標に対する画像/ビデオ圧縮又は整数圧縮(integer compression)のうちの一方に基づいて、UV座標に対して圧縮を実行することができる。
【0011】
いくつかの実施形態において、UV座標のU座標の値を、事前コーディングされたU座標の値に基づいて予測することができる。U座標の予測残差(prediction residue)のリストを更に生成することができる。UV座標のV座標の値を、事前コーディングされたV座標の値に基づいて生成することができる。V座標の予測残差のリストを更に生成することができる。
【0012】
いくつかの実施形態において、第1マッピング操作をU座標の予測残差のリストに対して実行して、U座標の非負整数(non-negative integers)のリストを生成することができる。第2マッピング操作をV座標の予測残差のリストに対して実行して、V座標の非負整数のリストを生成することができる。
【0013】
いくつかの実施形態において、第1ビットパッキングプロセス(bit packing process)をU座標の非負整数のリストに対して実行して、U座標のビットのリストを生成することができる。第2ビットパッキングプロセスをV座標の非負整数のリストに対して実行して、V座標のビットのリストを生成することができる。
【0014】
いくつかの実施形態において、圧縮を、U座標の予測残差のリスト、V座標の予測残差のリスト、U座標の非負整数のリスト、V座標の非負整数のリスト、U座標のビットのリスト又はV座標のビットのリストのうちの少なくとも1つに対して実行することができる。いくつかの実施形態において、圧縮は、エントロピーコーディング、可変長コーディング、ハフマンコーディング又は算術コーディング、のうちの1つに基づいて実行されることができる。
【0015】
本方法において、非可逆画像/ビデオコーデック及び非可逆整数圧縮のうちの一方に基づいて、UV座標に対して非可逆圧縮を実行して、UV座標の非可逆圧縮残差を生成することができる。可逆画像/ビデオコーデック及び可逆整数圧縮のうちの一方に基づいて、UV座標の非可逆圧縮残差に対して可逆圧縮を実行することができる。
【0016】
本開示の別の側面によると、装置が提供される。本装置は処理回路を含む。処理回路は、UV座標処理の方法のうちのいずれかを実行するように構成されることができる。
【0017】
本開示の側面はまた、ビデオ復号のためのコンピュータによって実行されると、コンピュータにUV座標処理の方法のいずれかを実行させる命令を記憶する、非一時的なコンピュータ読取可能媒体も提供する。
【図面の簡単な説明】
【0018】
開示される主題の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【0019】
【
図1】いくつかの例における通信システムのブロック図を示す図である。
【0020】
【
図2】いくつかの例におけるストリーミングシステムのブロック図を示す図である。
【0021】
【
図3】いくつかの例における点群フレームを符号化するためのエンコーダのブロック図を示す図である。
【0022】
【
図4】いくつかの例における点群フレームに対応する圧縮ビットストリームを復号するためのデコーダのブロック図を示す図である。
【0023】
【
図5】いくつかの例におけるビデオデコーダのブロック図を示す図である。
【0024】
【
図6】いくつかの例におけるビデオエンコーダのブロック図を示す図である。
【0025】
【
図7】いくつかの例における点群フレームを符号化するエンコーダのブロック図を示す図である。
【0026】
【
図8】いくつかの例における点群フレームに対応する圧縮ビットストリームを復号するデコーダのブロック図を示す図である。
【0027】
【
図9】いくつかの例における3次元(3D)メッシュの例示的なテクスチャ画像を示す図である。
【0028】
【
図10】いくつかの例におけるスネーク走査順序(snake scanning order)を示す図である。
【0029】
【
図11】いくつかの例におけるジグザグ走査順序(zig-zag scanning order)を示す図である。
【0030】
【
図12】いくつかの例における圧縮プロセスを概説するフローチャートである。
【0031】
【
図13】いくつかの例における復元プロセスを概説するフローチャートである。
【0032】
【
図14】いくつかの例におけるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
本開示の側面は、3次元(3D)メディア処理の分野における技術を含む。
【0034】
3次元(3D)キャプチャ、3Dモデリング、3Dレンダリング等の進歩のような、3Dメディア処理における技術開発は、いくつかのプラットフォーム及びデバイスにわたって3Dメディアコンテンツのユビキタスな存在を促進している。一例として、ある大陸において、赤ちゃんの最初の一歩をキャプチャすることができ、メディア技術は、祖父母が、別の大陸において赤ちゃんとの没入型体験を視聴して(及び場合によっては対話して)楽しむことを可能にする。本開示の側面によると、没入型体験を向上させるために、3Dモデルはますます高度化しており、3Dモデルの作成と消費は、データストレージ及びデータ伝送リソースのような、かなりの量のデータリソースを占める。
【0035】
いくつかの実施形態において、点群とメッシュを3Dモデルとして使用して、没入型コンテンツを表現することができる。
【0036】
点群は一般に、3D空間内の点のセットを指してよく、各点は、色、材料特性、テクスチャ情報、強度属性、反射率属性、動き関連属性、モダリティ属性及び様々な他の属性のような関連する属性を有する。点群を使用して、そのようなポイントの構成としてオブジェクト又はシーンを再構成することができる。
【0037】
オブジェクトのメッシュ(メッシュモデルとも呼ばれる)は、オブジェクトの表面を記述するポリゴンを含むことができる。各ポリゴンは、3D空間内のポリゴンの頂点と、頂点がポリゴンにどのように接続されているかの情報によって定義されることができる。頂点がどのように接続されているかの情報は、接続情報と呼ばれる。いくつかの例では、メッシュは、頂点に関連付けられる色、法線(normal)等の属性も含むことができる。
【0038】
いくつかの実施形態において、点群圧縮(PCC、point cloud compression)のためのいくつかのコーディングツールをメッシュ圧縮に使用することができる。例えばメッシュを再メッシュして、新しいメッシュの頂点の接続情報を推測(又は事前定義)することができる新しいメッシュを生成することができる。新しいメッシュの頂点及び新しいメッシュの頂点に関連付けられる属性を、点群内の点と見なすことができ、PCCコーデックを使用して圧縮することができる。
【0039】
点群を使用して、オブジェクトやシーンをそのような点の構成物(composition)として再構成することができる。点を、様々な設定で複数のカメラ、深度センサ又はLidarを使用してキャプチャすることができ、再構成されたシーン又はオブジェクトをリアルに表現するために、数千から数十億の点で構成されることがある。パッチは一般に、点群によって記述される表面の連続したサブセットを指すことがある。一例では、パッチは、閾値量(threshold amount)よりも小さく互いに逸脱する表面法線ベクトルを有する点を含む。
【0040】
PCCを、G-PCCと呼ばれるジオメトリベースのスキーム、V-PCCと呼ばれるビデオコーディングベースのスキーム等のような、様々なスキームに従って実行することができる。本開示のいくつかの側面によると、G-PCCは3Dジオメトリを直接符号化し、ビデオコーディングとあまり共有することがない純粋なジオメトリベースのアプローチであり、V-PCCはビデオコーディングに大きく基づく。例えばV-PCCは、3Dクラウドの点を2D格子(画像)のピクセルにマップすることができる。V-PCCスキームは、点群圧縮に汎用ビデオコーデックを利用することができる。本開示におけるPCCコーデック(エンコーダ/デコーダ)は、G-PCCコーデック(エンコーダ/デコーダ)又はV-PCCコーデックとすることができる。
【0041】
本開示の側面によると、V-PCCスキームは、既存のビデオコーデックを使用して、点群のジオメトリ、占有及びテクスチャを3つの別個のビデオシーケンスとして圧縮することができる。3つのビデオシーケンスを解釈するために必要な追加のメタデータは別個に圧縮される。全体のビットストリームのごく一部はメタデータであり、これは、例ではソフトウェア実装を使用して効率的に符号化/復号することができる。情報の大部分はビデオコーデックによって処理される。
【0042】
図1は、いくつかの例における通信システム(100)のブロック図を示している。通信システム(100)は、例えばネットワーク(150)を介して相互に通信することができる複数の端末デバイスを含む。例えば通信システム(100)は、ネットワーク(150)を介して相互に接続される端末デバイス(110)と(120)のペアを含む。
図1の例では、端末デバイス(110)と(120)の第1のペアは、点群データの一方向伝送を行うことができる。例えば端末デバイス(110)は、端末デバイス(110)に接続されたセンサ(105)によってキャプチャされる点群(例えば構造を表す点)を圧縮してよい。圧縮された点群は、例えばビットストリームの形式で、ネットワーク(150)を介して他の端末デバイス(120)に送信され得る。端末デバイス(120)は、ネットワーク(150)から圧縮された点群を受信し、ビットストリームを復元して点群を再構成し、再構成された点群を適切に表示することができる。一方向データ伝送はメディアサービングアプリケーション等において一般的であり得る。
【0043】
図1の例では、端末デバイス(110)及び(120)を、サーバ及びパーソナルコンピュータとして図示することができるが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム端末、メディアプレーヤ及び/又は専用の3次元(3D)機器との用途を見出す。ネットワーク(150)は、端末デバイス(110)と(120)の間で圧縮された点群を送信する任意の数のネットワークを表す。ネットワーク(150)は、例えば有線(ワイヤード)及び/又は無線通信ネットワークを含むことができる。ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換してよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット等を含む。
【0044】
図2は、いくつかの例におけるストリーミングシステム(200)のブロック図を示している。ストリーミングシステム(200)は、点群の使用アプリケーションである。開示される主題は、3Dテレプレゼンスアプリケーション、仮想現実アプリケーション等のような、他の点群対応型アプリケーションにも同様に適用可能であり得る。
【0045】
ストリーミングシステム(200)は、キャプチャサブシステム(213)を含んでよい。キャプチャサブシステム(213)は、点群ソース(201)、例えば光検出及び測距(LIDAR)システム、3Dカメラ、3Dスキャナ、圧縮されていない点群(202)を生成するソフトウェアで非圧縮点群を生成するグラフィクス生成構成要素等を含むことができる。一例では、点群(202)は、3Dカメラによってキャプチャされる点を含む。点群(202)は、圧縮された点群(204)(圧縮された点群のビットストリーム)と比較して高いデータ量を強調するために太線で示されている。圧縮された点群(204)を、点群ソース(201)に結合されたエンコーダ(203)を含む電子デバイス(220)によって生成することができる。エンコーダ(203)は、以下でより詳細に説明されるように、開示される主題の側面を可能にするか又は実装するために、ハードウェア、ソフトウェア又はそれらの組合せを含むことができる。圧縮された点群(204)(又は圧縮された点群のビットストリーム(204))は、点群(202)のストリームと比較して低いデータ量を強調するために細線として表されており、将来の使用のためにストリーミングサーバ(205)に記憶されることができる。
図2のクライアントサブシステム(206)及び(208)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスして、圧縮された点群(204)のコピー(207)及び(209)を取り出すことができる。クライアントサブシステム(206)は、例えば電子デバイス(230)内にデコーダ(210)を含むことができる。デコーダ(210)は、圧縮された点群の入力コピー(incoming copy)(207)を復号し、レンダリングデバイス(212)でレンダリングすることができる再構成された点群(211)の出力ストリーム(outgoing stream)を作成する。
【0046】
なお、電子デバイス(220)及び(230)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば電子デバイス(220)はデコーダ(図示せず)を含むことができ、同様に、電子デバイス(230)はエンコーダ(図示せず)を含むこともできる。
【0047】
一部のストリーミングシステムでは、圧縮された点群(204)、(207)及び(209)(例えば圧縮された点群のビットストリーム)を特定の規格に従って圧縮することができる。いくつかの例では、点群の圧縮にビデオコーディング規格が使用される。これらの規格の例は、High Efficiency Video Coding(HEVC)、Versatile Video Coding(VVC)等を含む。
【0048】
図3は、いくつかの実施形態による、点群フレームを符号化するためのV-PCCエンコーダ(300)のブロック図を示している。いくつかの実施形態では、V-PCCエンコーダ(300)を通信システム(100)及びストリーミングシステム(200)で使用することができる。例えばエンコーダ(203)は、V-PCCエンコーダ(300)と同様の方法で構成されて動作することができる。
【0049】
V-PCCエンコーダ(300)は、点群フレームを非圧縮入力として受け取り、圧縮された点群フレームに対応するビットストリームを生成する。いくつかの実施形態では、V-PCCエンコーダ(300)は、点群ソース(201)等のような点群ソースから点群フレームを受け取ってよい。
【0050】
図3の例では、V-PCCエンコーダ(300)は、パッチ生成モジュール(306)、パッチパッキングモジュール(308)、ジオメトリ画像生成モジュール(310)、テクスチャ画像生成モジュール(312)、パッチ情報モジュール(304)、占有マップモジュール(314)、平滑化モジュール(336)、画像パディングモジュール(316)及び(318)、グループ拡張モジュール(320)、ビデオ圧縮モジュール(322)、(323)及び(332)、補助パッチ情報圧縮モジュール(338)、エントロピー圧縮モジュール(334)並びにマルチプレクサ(324)を含む。
【0051】
本開示の側面によると、V-PCCエンコーダ(300)は、圧縮された点群を復元された点群に変換するために使用されるいくつかのメタデータ(例えば占有マップ及びパッチ情報)とともに、3D点群フレームを画像ベースの表現に変換する。いくつかの例では、V-PCCエンコーダ(300)は、3D点群フレームをジオメトリ画像、テクスチャ画像及び占有マップに変換し、次いで、ビデオコーディング技術を使用して、ジオメトリ画像、テクスチャ画像及び占有マップをビットストリームに符号化することができる。一般に、ジオメトリ画像は、ピクセルに投影された点に関連付けられるジオメトリ値で満たされる(fill)ピクセルを有する2D画像であり、ジオメトリ値で満たされるピクセルを、ジオメトリサンプルと呼ぶことができる。テクスチャ画像は、ピクセルに投影されたポイントに関連付けられるテクスチャ値で満たされるピクセルを有する2D画像であり、テクスチャ値で満たされるピクセルをテクスチャサンプルと呼ぶことができる。占有マップは、パッチによって占有されているか又は占有されていないことを示す値で満たされるピクセルを有する2D画像である。
【0052】
パッチ生成モジュール(306)は、点群をパッチのセット(例えばパッチは、点群によって記述される表面の連続したサブセットとして定義される)にセグメント化(segment)し、パッチは、オーバーラップしていてもしてなくてもよく、各パッチが2D空間内の平面に対する深度フィールドによって記述され得る。いくつかの実施形態では、パッチ生成モジュール(306)は、再構成誤差を最小限に抑えながら、点群を、滑らかな境界を有する最小の数のパッチに分解することを目的としている。
【0053】
いくつかの例では、パッチ情報モジュール(304)は、パッチのサイズと形状を示すパッチ情報を収集することができる。いくつかの例では、パッチ情報を画像フレームにパックし、補助パッチ情報圧縮モジュール(338)によって符号化して、圧縮された補助パッチ情報を生成することができる。
【0054】
いくつかの例では、パッチパッキングモジュール(308)は、未使用空間を最小化して、格子のすべてのM×M(例えば16×16)ブロックが一意のパッチに関連付けられることを保証しながら、抽出されたパッチを2次元(2D)格子にマップするように構成される。効率的なパッチパッキングは、未使用空間を最小化すること又は時間的一貫性を確保することのいずれかによって、圧縮効率に直接影響を与えることができる。
【0055】
ジオメトリ画像生成モジュール(310)は、所与のパッチ位置で点群のジオメトリに関連付けられる2Dジオメトリ画像を生成することができる。テクスチャ画像生成モジュール(312)は、所与のパッチ位置で点群のテクスチャに関連付けられる2Dテクスチャ画像を生成することができる。ジオメトリ画像生成モジュール(310)及びテクスチャ画像生成モジュール(312)は、パッキングプロセス中に計算された3Dから2Dへのマッピングを用いて、点群のジオメトリとテクスチャを画像として記憶する。複数の点が同じサンプルに投影されるケースをより適切に処理するために、各パッチは、レイヤと呼ばれる2つの画像に投影される。一例では、ジオメトリ画像はYUV420-8ビットフォーマットのWxHの単色フレームによって表される。テクスチャ画像を生成するために、テクスチャ生成手順は、再サンプリングされた点に関連付けられる色を計算するために、再構成/平滑化されたジオメトリを利用する。
【0056】
占有マップモジュール(314)は、各ユニットでパディング情報を記述する占有マップを生成することができる。例えば占有画像は、格子のセルごとに、そのセルが空の空間に属しているか点群に属しているかを示すバイナリマップを含む。一例では、占有マップは、ピクセルごとにそのピクセルがパディングされているか否かを記述するバイナリ情報を使用することができる。別の例では、占有マップは、ピクセルのブロックごとにピクセルのブロックがパディングされているか否かを記述するバイナリ情報を使用する。
【0057】
占有マップモジュール(314)によって生成された占有マップは、可逆コーディング又は非可逆コーディングを使用して圧縮されることができる。可逆コーディングを使用するとき、エントロピー圧縮モジュール(334)を使用して占有マップを圧縮する。非可逆コーディングを使用するとき、ビデオ圧縮モジュール(332)を使用して占有マップを圧縮する。
【0058】
パッチパッキングモジュール(308)は、画像フレームにパックされた2Dパッチの間にいくつかの空の空間を残してよいことに留意されたい。画像パディングモジュール(316)及び(318)は、2Dビデオ及び画像コーデックに適している可能性がある画像フレームを生成するために、空の空間を満たすことができる(パディングと呼ばれる)。画像パディングは、冗長的情報で未使用の空間を満たすことができるバックグラウンド充填(background filling)とも呼ばれる。いくつかの例では、良好なバックグラウンド充填は、ビットレートを最小限に増加させるが、パッチ境界付近に大幅なコーディングの歪みを導入しない。
【0059】
ビデオ圧縮モジュール(322)、(323)及び(332)は、HEVC、VVC等の適切なビデオコーディング規格に基づいて、パディングされたジオメトリ画像、パディングされたテクスチャ画像及び占有マップのような2D画像を符号化することができる。一例では、ビデオ圧縮モジュール(322)、(323)及び(332)は別個に動作する個々の構成要素である。別の例では、ビデオ圧縮モジュール(322)、(323)及び(332)を単一の構成要素として実装することができることに留意されたい。
【0060】
いくつかの例では、平滑化モジュール(336)は、再構成されたジオメトリ画像の平滑化された画像を生成するように構成される。平滑化された画像を、テクスチャ画像生成(312)に提供することができる。次いで、テクスチャ画像生成(312)は、再構成されたジオメトリ画像に基づいてテクスチャ画像の生成を調整してよい。例えばパッチ形状(例えばジオメトリ)が符号化及び復号中にわずかに歪むとき、その歪みは、テクスチャ画像を生成してパッチ形状の歪みを補正するときに考慮され得る。
【0061】
いくつかの実施形態では、グループ拡張(320)は、再構成された点群の視覚的品質だけでなく、コーディングゲインを向上させるために、冗長な低頻度コンテンツでオブジェクト境界の周囲のピクセルをパディングするように構成される。
【0062】
マルチプレクサ(324)は、圧縮されたジオメトリ画像、圧縮されたテクスチャ画像、圧縮された占有マップ、圧縮された補助パッチ情報を、圧縮されたビットストリームに多重化することができる。
【0063】
図4は、いくつかの例において、点群フレームに対応する圧縮されたビットストリームを復号するためのV-PCCデコーダ(400)のブロック図を示している。いくつかの例では、V-PCCデコーダ(400)を、通信システム(100)及びストリーミングシステム(200)において使用することができる。例えばデコーダ(210)は、V-PCCデコーダ(400)と同様の方法で動作するように構成されることができる。V-PCCデコーダ(400)は、圧縮されたビットストリームを受け取り、圧縮されたビットストリームに基づいて再構成された点群を生成する。
【0064】
図4の例では、V-PCCデコーダ(400)は、デマルチプレクサ(432)、ビデオ復元モジュール(434)及び(436)、占有マップ復元モジュール(438)、補助パッチ情報復元モジュール(442)、ジオメトリ再構成モジュール(444)、平滑化モジュール(446)、テクスチャ再構成モジュール(448)並びに色平滑化モジュール(452)を含む。
【0065】
デマルチプレクサ(432)は、圧縮されたビットストリームを受信し、圧縮されたテクスチャ画像、圧縮されたジオメトリ画像、圧縮された占有マップ及び圧縮された補助パッチ情報に分離させる(separate)ことができる。
【0066】
ビデオ復元モジュール(434)及び(436)は、適切な規格(例えばHEVC、VVC等)に従って、圧縮された画像を復号し、復元された画像を出力することができる。例えばビデオ復元モジュール(434)は、圧縮されたテクスチャ画像を復号し、復元されたテクスチャ画像を出力し、ビデオ復元モジュール(436)は、圧縮されたジオメトリ画像を復号し、復元されたジオメトリ画像を出力する。
【0067】
占有マップ復元モジュール(438)は、適切な規格(例えばHEVC、VVC等)に従って、圧縮された占有マップを復号し、復元された占有マップを出力することができる。
【0068】
補助パッチ情報復元モジュール(442)は、適切な規格(例えばHEVC、VVC等)に従って、圧縮された補助パッチ情報を復号し、復元された補助パッチ情報を出力することができる。
【0069】
ジオメトリ再構成モジュール(444)は、復元されたジオメトリ画像を受け取り、復元された占有マップと復元された補助パッチ情報に基づいて、再構成された点群ジオメトリを生成することができる。
【0070】
平滑化モジュール(446)は、パッチのエッジにおける不一致(incongruences)を平滑化することができる。平滑化手順は、圧縮アーチファクトに起因してパッチ境界で発生する可能性がある潜在的な不連続性を緩和することを目的とする。いくつかの実施形態では、圧縮/復元によって生じる可能性がある歪みを緩和するために、パッチ境界に位置するピクセルに平滑化フィルタが適用され得る。
【0071】
テクスチャ再構成モジュール(448)は、復元されたテクスチャ画像と平滑化ジオメトリに基づいて、点群内の点のテクスチャ情報を決定することができる。
【0072】
色平滑化モジュール(452)は、カラーリングの不一致を平滑化することができる。3D空間内の隣接しないパッチは、2Dビデオでは互いに隣り合ってパックされることが多い。いくつかの例では、隣接しないパッチのピクセル値が、ブロックベースのビデオコーデックによって混同される可能性がある。色平滑化の目的は、パッチ境界に現れる、目に見えるアーチファクトを減らすことである。
【0073】
図5は、いくつかの例におけるビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)を、V-PCCデコーダ(400)において使用することができる。例えばビデオ復元モジュール(434)及び(436)、占有マップ復元モジュール(438)を、ビデオデコーダ(510)と同様に構成することができる。
【0074】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスのような圧縮画像からシンボル(521)を再構成するためにパーサ(520)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含む。パーサ(520)は、受信される、コーディングされたビデオシーケンスを構文解析/エントロピー復号し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存(context sensitivity)を伴うか伴わない算術コーディング等を含む、様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて抽出することができる。サブグループは、ピクチャのグループ(GOP:Groups of Pictures)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU:Coding Units)、ブロック、変換ユニット(TU:Transform Units)、予測ユニット(PU:Prediction Units)等を含むことができる。パーサ(520)はまた、変換係数、量子化パラメータ値、動きベクトル等のようなコーディングされたビデオシーケンス情報から抽出してもよい。
【0075】
パーサ(520)は、シンボル(521)を生成するように、バッファメモリから受け取ったビデオシーケンスに対してエントロピー復号/構文解析動作を実行し得る。
【0076】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分のタイプ(例えばインター及びイントラピクチャ、インター及びイントラブロック)及び他のファクタに応じて、複数の異なるユニットに関与することができる。どのユニットがどのように関与するかは、コーディングされたビデオシーケンスからパーサ(520)によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確性のために図示されていない。
【0077】
既に述べた機能ブロックの他に、ビデオデコーダ(510)は、以下で説明するように、複数の機能ユニットに概念的に細分されることができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に対話し、少なくとも部分的に相互へ統合されることができる。しかしながら、開示される主題を説明する目的のために、以下では、機能ユニットへの概念的な細分化が適切である。
【0078】
第1ユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からのシンボル(521)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む制御情報だけでなく、量子化された変換係数も受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0079】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関連する可能性がある。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされる、周囲の既に再構成された情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加し得る。
【0080】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされて潜在的に動き補償されるブロックに関連する可能性がある。このような場合、動き補償予測ユニット(553)は、予測に使用されるサンプルをフェッチするために参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従って、フェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲータ(555)によって、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加されることができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Yと参照ピクチャ成分を有することができるシンボル(521)の形態で、動き補償予測ユニット(553)に利用可能な動きベクトルによって、制御されることができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、動きベクトル予測メカニズム等も含むことができる。
【0081】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内の様々なループフィルタリング技術の対象となることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、かつパーサ(520)からシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号順序で)以前の部分の復号中に取得されたメタ情報に応答することもできるとともに、以前に再構成されてループフィルタリングされたサンプル値に応答することができる、ループ内フィルタ技術を含むことができる。
【0082】
ループフィルタユニット(556)の出力は、レンダデバイスに出力されることができ、かつ将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)内に記憶されることができる、サンプルストリームとすることができる。
【0083】
ある特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えばパーサ(520)によって)参照ピクチャとして識別されていると、現在のピクチャバッファ(558)は参照ピクチャメモリ(557)の一部となることができ、フレッシュな現在のピクチャバッファは、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされることができる。
【0084】
ビデオデコーダ(510)は、ITU-T Rec. H.265のような規格の所定のビデオ圧縮技術に従って復号動作を実行し得る。コーディングされたビデオシーケンスは、該コーディングされたビデオシーケンスが、ビデオ圧縮技術又は規格の構文と、ビデオ圧縮技術又は規格で文書化されるプロファイルとの両方を守るという意味において、使用されているビデオ圧縮技術又は規格によって指定された構文に準拠し得る。具体的には、プロファイルは、そのプロファイルの下での使用に使用可能な唯一のツールとして、特定のツールを選択することができる。また、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義される範囲内にあることが、準拠には必要であり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照ピクセルサイズ等を制限する。レベルによって設定される限界(limit)は、場合によっては、コーディングされたビデオシーケンスでシグナリングされる仮想リファレンスデコーダ(HRD:Hypothetical Reference Decoder)のバッファ管理のためのHRD仕様及びメタデータを通して更に制限される可能性がある。
【0085】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)を、点群を圧縮するV-PCCエンコーダ(300)において使用することができる。一例では、ビデオ圧縮モジュール(322)及び(323)と、ビデオ圧縮モジュール(332)は、エンコーダ(603)と同様に構成される。
【0086】
ビデオエンコーダ(603)は、パディングされたジオメトリ画像、パディングされたテクスチャ画像等のような画像を受け取って、圧縮された画像を生成することができる。
【0087】
一実施形態によると、ビデオエンコーダ(603)は、リアルタイムで又はアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスのピクチャ(画像)をコーディング及び圧縮して、コーディングされたビデオシーケンス(圧縮された画像)にすることができる。適切なコーディング速度を実施することは、コントローラ(650)の1つの機能である。いくつかの実施形態において、コントローラ(650)は、以下で説明されるように、他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。この結合は、明確性のために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャのグループ(GOP)のレイアウト、最大動きベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化された、ビデオエンコーダ(603)に関係する他の適切な機能を有するように構成されることができる。
【0088】
いくつかの実施形態において、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過剰に簡略化した説明として、一例では、コーディングループは、ソースコーダ(630)(例えばコーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリーム等のシンボルを作成することを担当する)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮は、開示される主題において考慮されるビデオ圧縮技術で可逆であるので)デコーダ(633)は、(リモート)デコーダが作成するのと同様の方法で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)とは独立のビット正確な結果(bit-exact results)をもたらすので、参照ピクチャメモリ(634)内のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャのシンクロニシティ(synchronicity)のこの基本原理(及び例えばチャネルエラーのためにシンクロニシティを維持することができない場合の結果として生じるドリフト)は、いくつかの関連する技術でも同様に使用される。
【0089】
「ローカル」デコーダ(633)の動作は、ビデオデコーダ(510)のような「リモート」デコーダと同じものとすることができ、これは、既に
図5に関連して上述されている。しかしながら、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、パーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)では完全には実装されないことがある。
【0090】
いくつかの例において、動作中に、ソースコーダ(630)は、動き補償予測コーディングを実行してよく、動き補償予測コーディングは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャに関連して予測的に入力ピクチャをコーディングする。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコーディングする。
【0091】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(
図6には図示せず)で復号され得るとき、再構成ビデオシーケンスは、典型的に、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号処理を複製し、再構成参照ピクチャを参照ピクチャキャッシュ(634)に記憶させ得る。このようにして、ビデオエンコーダ(603)は、(伝送誤差なしに)遠端ビデオデコーダによって取得される再構成参照ピクチャとして、共通のコンテンツを有する再構成参照ピクチャのコピーを、ローカルに記憶し得る。
【0092】
予測器(635)は、コーディングエンジン(632)について予測探索を実行し得る。すなわち、コーディングされるべき新しいピクチャについて、予測器(635)は、参照ピクチャメモリ(634)から、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャ動きベクトル、ブロック形状等のような特定のメタデータを探索してよく、これらのデータは、新たなピクチャのための適切な予測参照として機能し得る。予測器(635)は、適切な予測参照を見つけるために、サンプルブロックとピクセルブロックごと(sample block-by-pixel block basis)に動作し得る。場合によっては、予測器(635)によって取得される検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してよい。
【0093】
コントローラ(650)は、例えばビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してもよい。
【0094】
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングの対象となり得る。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング等のような技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルを、コーディングされたビデオシーケンスに変換する。
【0095】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディングの間、コントローラ(650)は、各コーディングされたピクチャに、特定のコーディングピクチャタイプ(coded picture type)を割り当ててよく、該コーディングピクチャタイプは、それぞれのピクチャに適用され得るコーディングに影響を与え得る。例えばピクチャは、しばしば、次のピクチャタイプのうちの1つとして割り当てられ得る:
【0096】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいずれの他のピクチャも使用せずにコーディング及び復号され得るものであり得る。いくつかのビデオコーデックは、例えば独立デコーダリフレッシュ(「IDR:Independent Decoder Refresh」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形並びにそれらのそれぞれの用途及び特徴を知っている。
【0097】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大1つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得るものであり得る。
【0098】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得るものであり得る。同様に、複数予測ピクチャ(multiple-predictive pictures)は、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連するメタデータを使用することができる。
【0099】
ソースピクチャは、通常、空間的に複数のサンプルブロック(例えば各々4×4、8×8、4×8又は16×16サンプルのブロック)に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックに関連して予測的にコーディングされ得る。例えばIピクチャのブロックは、非予測的にコーディングされてもよく、あるいはそれらは、同じピクチャの既にコーディングされたブロックに関連して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、以前にコーディングされた1つの参照ピクチャに関連して、空間予測を介して又は時間予測を介して予測的にコーディングされ得る。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャに関連して、空間予測を介して又は時間予測を介して予測的にコーディングされ得る。
【0100】
ビデオエンコーダ(603)は、ITU-T Rec. H.265のような所定のビデオコーディング技術又は規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行し得る。コーディングされたビデオデータは、したがって、使用されているビデオコーディング技術又は規格によって指定された構文に従うことができる。
【0101】
ビデオは、時間シーケンスにおける複数のソースピクチャ(画像)の形式であり得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャにおける空間的相関を使用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を使用する。一例では、符号化/復号中の特定のピクチャは、現在のピクチャと呼ばれ、ブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされて依然としてバッファされている参照ピクチャ内の参照ブロックに類似するとき、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコーディングされることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されているケースでは、参照ピクチャを識別する第3次元(third dimension)を有することができる。
【0102】
いくつかの実施形態では、インターピクチャ予測において双予測技術を使用することができる。双予測技術によると、第1参照ピクチャと第2参照ピクチャのように、両方とも、復号順序でビデオ内の現在のピクチャに先行する(ただし、表示順序では、それぞれ、過去及び将来であり得る)2つの参照ピクチャが使用される。現在のピクチャ内のブロックを、第1参照ピクチャ内の第1参照ブロックを指し示す第1動きベクトルと、第2参照ピクチャ内の第2参照ブロックを指し示す第2動きベクトルとによってコーディングすることができる。ブロックは、第1参照ブロックと第2参照ブロックの組合せによって、予測されることができる。
【0103】
さらに、コーディング効率を改善するために、インターピクチャ予測においてマージモード技術を使用することができる。
【0104】
本開示のいくつかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロック単位(unit)で実行される。例えばHEVC規格によると、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル又は16×16ピクセルのように、同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTB)を含み、該3つのCTBは、1つのルマ(luma)CTBと2つのクロマ(chroma)CTBである。各CTUは、1つ又は複数のコーディングユニット(CUs)に再帰的に四分木分裂(quadtree split)することができる。例えば64×64ピクセルのCTUを、64×64ピクセルの1つのCUに又は32×32ピクセルの4つのCUに又は16×16ピクセルの16個のCUに分裂することができる。一例では、各CUを分析して、インター予測タイプ又はイントラ予測タイプのような、CUの予測タイプを決定する。CUは、時間的及び/又は空間的予測可能性に依存して、1つ以上の予測ユニット(PU)に分裂される。一般に、各PUはルマ予測ブロック(PB)と2つのクロマPBsを含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックのユニットにおいて実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等のような、ピクセルについての値(例えばルマ値)の行列を含んでよい。
【0105】
図7は、いくつかの例における、G-PCCエンコーダ(700)のブロック図を示す。G-PCCエンコーダ(700)は、点群データを受け取り、点群データを圧縮して、圧縮された点群データを担持するビットストリームを生成するように構成されることができる。一実施形態において、G-PCCエンコーダ(700)は、位置量子化モジュール(710)、重複点除去モジュール(712)、八分木符号化モジュール(730)、属性転送モジュール(720)、詳細レベル(LOD、level of detail)生成モジュール(740)、属性予測モジュール(750)、残差量子化モジュール(760)、算術コーディングモジュール(770)、逆残差量子化モジュール(780)、加算モジュール(781)及び再構成された属性値を記憶するメモリ(790)を含むことができる。
【0106】
図示されるように、入力点群(701)をG-PCCエンコーダ(700)において受信することができる。点群(701)の位置(例えば3D座標)は量子化モジュール(710)に提供される。量子化モジュール(710)は、座標を量子化して、量子化された位置を生成するように構成される。重複点除去モジュール(712)は、量子化された位置を受け取り、フィルタプロセスを実行して重複点を識別して除去するように構成される。八分木符号化モジュール(730)は、重複点除去モジュール(712)から、フィルタリングされた位置を受け取り、八分木ベースの符号化プロセスを実行して、ボクセルの3D格子を記述する占有コードのシーケンスを生成するように構成される。占有コードは、算術コーディングモジュール(770)に提供される。
【0107】
属性転送モジュール(720)は、入力点群の属性を受け取り、複数の属性値がそれぞれのボクセルに関連付けられるときに各ボクセルの属性値を決定するために、属性転送プロセスを実行するように構成される。属性転送プロセスを、八分木符号化モジュール(730)から出力される、再順序付けされた点に対して実行することができる。属性は、転送操作後に、属性予測モジュール(750)に提供される。LOD生成モジュール(740)は、八分木符号化モジュール(730)から出力される、再順序付けされた点に作用して、これらの点を、異なるLODに再編成するように構成される。LOD情報は、属性予測モジュール(750)に供給される。
【0108】
属性予測モジュール(750)は、LOD生成モジュール(740)からのLOD情報によって示されるLODベースの順序に従って点を処理する。属性予測モジュール(750)は、メモリ(790)に記憶された現在の点の隣接点のセットの再構成された属性に基づいて、現在の点の属性予測を生成する。その後、属性転送モジュール(720)から受け取った元の属性値と、ローカルに生成された属性予測とに基づいて、予測残差を取得することができる。候補インデックスがそれぞれの属性予測プロセスで使用されるとき、選択された予測候補に対応するインデックスが、算術コーディングモジュール(770)に提供されることがある。
【0109】
残差量子化モジュール(760)は、属性予測モジュール(750)から予測残差を受け取り、量子化を実行して量子化残差を生成するように構成される。量子化残差は、算術コーディングモジュール(770)に提供される。
【0110】
逆残差量子化モジュール(780)は、残差量子化モジュール(760)から量子化された残差を受け取り、残差量子化モジュール(760)で実行される量子化操作の逆を実行することによって、再構成予測残差を生成するように構成される。加算モジュール(781)は、逆残差量子化モジュール(780)から再構成予測残差を受け取り、属性予測モジュール(750)からそれぞれの属性予測を受け取るように構成される。再構成予測残差と属性予測を組み合わせることによって、再構成された属性値が生成され、メモリ(790)に記憶される。
【0111】
算術コーディングモジュール(770)は、占有コード、候補インデックス(使用される場合)、量子化残差(生成される場合)及び他の情報を受け取り、エントロピー符号化を実行して、受け取った値又は情報を更に圧縮するように構成される。その結果、圧縮された情報を担持する圧縮ビットストリーム(702)を生成することができる。ビットストリーム(702)は、圧縮されたビットストリームを復号するデコーダに送信されるか又は他の方法で提供されてよく、あるいはストレージデバイスに記憶されてもよい。
【0112】
図8は、一実施形態によるG-PCCデコーダ(800)のブロック図を示している。G-PCCデコーダ(800)は、圧縮されたビットストリームを受け取り、点群データ復元を実行してビットストリームを復元し、復号された点群データを生成するように構成されることができる。一実施形態では、G-PCCデコーダ(800)は、算術復号モジュール(810)、逆残差量子化モジュール(820)、八分木復号モジュール(830)、LOD生成モジュール(840)、属性予測モジュール(850)及び再構成された属性値を記憶するメモリ(860)を含むことができる。
【0113】
図示されるように、圧縮されたビットストリーム(801)を算術復号モジュール(810)において受信することができる。算術復号モジュール(810)は、圧縮されたビットストリーム(801)を復号して、量子化された残差(生成された場合)と点群の占有コードを取得するように構成される。八分木復号モジュール(830)は、占有コードに従って点群内の点の再構成された位置を決定するように構成される。LOD生成モジュール(840)は、再構成された位置に基づいて点を異なるLODに再編成し、LODベースの順序を決定するように構成される。逆残差量子化モジュール(820)は、算術復号モジュール(810)から受け取った、量子化された残差に基づいて、再構成された残差を生成するように構成される。
【0114】
属性予測モジュール(850)は、LODベースの順序に従って点の属性予測を決定する属性予測プロセスを実行するように構成される。例えば現在の点の属性予測は、メモリ(860)に記憶されている現在の点の隣接点の再構成された属性値に基づいて決定されることができる。いくつかの例では、属性予測をそれぞれの再構成された残差と組み合わせて、現在の点の再構成された属性を生成することができる。
【0115】
属性予測モジュール(850)から生成された再構成された属性のシーケンスは、八分木復号モジュール(830)から生成された再構成された位置とともに、一例では、G-PCCデコーダ(800)から出力される復号された点群(802)に対応する。加えて、再構成された属性もメモリ(860)に記憶され、その後、後続の点の属性予測を導出するために使用することができる。
【0116】
様々な実施形態では、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)を、ハードウェア、ソフトウェア又はそれらの組合せで実装することができる。例えばエンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)を、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等のような、ソフトウェアとともに又はソフトウェアなしに動作する1つ以上の集積回路(IC)のような処理回路で実装することができる。別の例では、エンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)を、不揮発性(又は非一時的)コンピュータ読取可能記憶媒体に記憶される命令を含むソフトウェア又はファームウェアとして実装することができる。命令は、1つ以上のプロセッサのような処理回路によって実行されると、処理回路にエンコーダ(300)、デコーダ(400)、エンコーダ(700)及び/又はデコーダ(800)の機能を実行させる。
【0117】
本明細書に開示される属性予測技術を実装するように構成される属性予測モジュール(750)及び(850)は、
図7及び
図8に示されているものと類似又は異なる構造を有することができる他のデコーダ又はエンコーダに含まれることができることに留意されたい。加えて、エンコーダ(700)及びデコーダ(800)を、様々な例において、同じデバイス又は別個のデバイスに含めることができる。
【0118】
いくつかの実施形態において、メッシュ圧縮は、PCCコーディングツールとは異なるコーディングツールを使用することもでき、あるいは上記のPCC(例えばG-PCC、V-PCC)エンコーダ、上記のPCC(例えばG-PCC、V-PCC)デコーダ等のようなPCCコーディングツールを使用することもできる。
【0119】
オブジェクトのメッシュ(又は3Dメッシュ)は、オブジェクトの表面を記述するポリゴンを含むことができる。各ポリゴンは、3D空間内のポリゴンの頂点と、頂点がポリゴンにどのように接続されているかの情報によって定義され得る。頂点がどのように接続されているかの情報は、接続情報と呼ばれる。いくつかの例では、メッシュは、頂点に関連付けられる色、法線等の属性も含むことができる。2D属性マップでメッシュをパラメータ化するマッピング情報を利用することによって、属性をメッシュの表面に関連付けることができる。マッピング情報は通常、メッシュの頂点に関連付けられる、UV座標又はテクスチャ座標と呼ばれる一連のパラメトリック座標(parametric coordinates)によって記述される。2D属性マップ(いくつかの例では、テクスチャマップと呼ばれる)は、テクスチャ、法線、変位(displacements)等のような高解像度の属性情報を記憶するために使用される。このような情報はテクスチャマッピングやシェーディングのような様々な目的のために使用することができる。
【0120】
いくつかの実施形態では、メッシュは、ジオメトリ情報、接続情報、マッピング情報、頂点属性及び属性マップと呼ばれる構成要素を含むことができる。いくつかの例では、ジオメトリ情報は、メッシュの頂点に関連付けられる3D位置のセットによって記述される。一例では、(x,y,z)座標を使用して、頂点の3D位置を記述することができる。いくつかの例では、接続情報は、頂点をどのように接続して3D表面を作成するかを記述する頂点インデックスのセットを含む。いくつかの例では、マッピング情報は、メッシュ表面をどのように平面の2D領域にマッピングするかを記述されている。一例では、マッピング情報は、接続情報とともに、メッシュ頂点に関連付けられるUVパラメトリック/テクスチャ座標(u,v)のセットによって記述される。いくつかの例では、頂点属性は、メッシュ頂点に関連付けられるスカラー又はベクトル属性値を含む。いくつかの例では、属性マップは、メッシュ表面に関連付けられる属性を含み、2D画像/ビデオとして記憶される。一例では、ビデオ(例えば2D画像/ビデオ)とメッシュ表面との間のマッピングは、マッピング情報によって定義される。
【0121】
いくつかの実施形態において、UVマッピング又はメッシュパラメータ化と呼ばれるいくつかの技術を使用して、3Dドメイン内のメッシュの表面を2Dドメインにマッピングする。いくつかの例では、メッシュは3Dドメイン内のパッチに分割(partition)される。その後、パッチはそれぞれ2D形状にパラメータ化される。いくつかの例ではアトラスとも呼ばれるマップに2D形状をパックする(例えば方向付け及び配置する)ことができる。いくつかの例では、2D画像又はビデオ処理技術を使用して、マップを更に処理することができる。
【0122】
一例では、UVマッピング技術は、3Dメッシュのパッチに対応する2DのUVアトラス(UVマップとも呼ばれる)と1つ以上のテクスチャアトラス(テクスチャマップとも呼ばれる)を生成する。UVアトラスは、2Dドメイン(例えば矩形)内の2Dの点への3Dメッシュの3D頂点の割り当てを含む。UVアトラスは、3D表面の座標から2Dドメインの座標へのマッピングである。一例として、UVアトラス内の2D座標(u,v)にある点は、3Dドメイン内の頂点の座標(x,y,z)によって形成される値を有する。一例では、テクスチャアトラスは、3Dメッシュの色情報を含む。例えばテクスチャアトラス内の2D座標(u,v)にある点(UVアトラス内で3D値(x,y,z)を有する)は、3Dドメインの(x,y,z)にある点の色属性を指定する色を有する。
【0123】
動的メッシュは、構成要素(ジオメトリ情報、接続情報、マッピング情報、頂点属性及び属性マップ)のうちの少なくとも1つが時間によって変化するメッシュである。動的メッシュを、一連のメッシュ(メッシュフレームとも呼ばれる)によって記述することができる。動的メッシュは、該動的メッシュが時間の経過とともに変化する大量の情報を含む可能性があるので、大量のデータを必要とする可能性がある。メッシュの圧縮技術は、メッシュ表現におけるメディアコンテンツの効率的な記憶と伝送を可能にすることができる。
【0124】
いくつかの例では、動的メッシュは、一定の接続情報、時間変化するジオメトリ及び時間変化する頂点属性を有することができる。いくつかの例では、動的メッシュは、時間変化する接続情報を有することができる。一例では、デジタルコンテンツ作成ツールは通常、時間変化する属性マップと時間変化する接続情報で動的メッシュを生成する。いくつかの例では、ボリューム取得技術を使用して動的メッシュを生成する。ボリューム取得技術は、特にリアルタイムの制約の下で、時間変化する接続情報で動的メッシュを生成することができる。
【0125】
いくつかの実施形態において、メッシュ圧縮は、1つ以上の2Dマップ(いくつかの例では属性マップと呼ばれる)を使用してメッシュを表現し、その後、画像又はビデオコーデックを使用して2Dマップを符号化することによって実行することができる。いくつかの例では、UVアトラスサンプリング技術のような再メッシュ技術がメッシュ圧縮で使用される。UVアトラスサンプリング技術は、UVアトラスでサンプリングされた構造格子点(regular grid points)を介して3Dメッシュモデルを再メッシュする。UVアトラスの元の頂点は、構造格子点によって置き換えられる。接続情報は、構造格子点から推測でき、別個に符号化する必要はない。
【0126】
いくつかの例では、UVアトラスサンプリング技術を使用して、メッシュは、ジオメトリマップ(UVアトラスとも呼ばれる)、色マップ(色アトラスとも呼ばれる)、テクスチャマップ(テクスチャアトラスとも呼ばれる)、占有マップ等のような複数のマップによって表される。いくつかの例では、複数のマップが属性マップと呼ばれ、属性マップ内のサンプルの値が属性値と呼ばれる。複数のマップを符号化するために、画像及び/又はビデオコーデックを使用して圧縮目的を実現することができる。本開示の側面によると、複数のマップの1つ以上のマップにおけるサンプルのダイナミックレンジは、いくつかの既存のコーデックの容量を超える可能性がある。例えば一部のビデオコーデックは8ビットのコーディングしかサポートすることはできないが、ジオメトリマップのビット深度は10ビット、12ビット、更には16ビットとすることができる。
【0127】
本開示は、UV座標を符号化及び復号するための方法を含む。UV座標を、3Dメッシュの2D属性マップにおいて利用することができ、属性マップはテクスチャ、法線、変位又は他の高解像度属性情報を記憶することができる。開示されたUV座標コーディングの方法を、3Dメッシュ圧縮の構成要素として用いることができる。
【0128】
動的メッシュシーケンスは、時間の経過とともに変化する大量の情報を含むことができるため、大量のデータを必要とする可能性がある。したがって、このようなコンテンツを記憶して送信するためには、効率的な圧縮技術が必要とされる。補間圧縮(IC、interpolator compression)、MESHGRID、フレームベースのアニメーションメッシュ圧縮(FAMC、Frame-based Animated Mesh Compression)のようなメッシュ圧縮規格が、一定の接続性、時間変化するジオメトリ及び頂点属性を有する動的メッシュに対処するためにMPEGによって以前に開発された。しかしながら、メッシュ圧縮規格は、時間変化する属性マップと接続情報は考慮しない。DCC(デジタルコンテンツ作成、Digital Content Creation)ツールは通常、このような動的メッシュを生成する。これとは対照的に、特にリアルタイムの制約の下で、一定の接続性の動的メッシュを生成することは、ボリューム取得技術にとって困難である。このタイプのコンテンツは、既存の規格ではサポートされていない。MPEGは、時間変化する接続情報とオプションで時間変化する属性マップを有する動的メッシュを直接対処する新しいメッシュ圧縮規格の開発を計画している。新しいメッシュ圧縮規格は、リアルタイム通信、ストレージ、フリービューポイントビデオ(free viewpoint video)、AR及びVRのような、様々なアプリケーションの非可逆圧縮及び可逆圧縮を対象としている。ランダムアクセス及びスケーラブル/プログレッシブコーディングのような機能も考慮される。
【0129】
高品質3Dメッシュを伝送することは、高品質3Dメッシュの大きなメモリフットプリントに起因して困難である可能性がある。したがって、3Dメッシュの効率的な圧縮アルゴリズムを設計することは、VR/ARのような消費者レベルのアプリケーションの展開を可能にし、かつ3Dビデオのストリーミングを容易にするために、最も重要である。
【0130】
3Dメッシュ圧縮は、ジオメトリ圧縮とテクスチャ圧縮を含む。ジオメトリ圧縮は幾何学的な表面表現を対象とし、テクスチャ圧縮はUVマップを介して3Dメッシュに関連付けられるテクスチャ画像のためである。
図9は、ある時点における3Dメッシュのテクスチャ画像(900)の例である。テクスチャ画像(900)では、3Dメッシュの色属性を表すパッチ(例えば(902))を一緒に配置することができる。パッチ頂点をメッシュ頂点に関連付けることができる。したがって、パッチ頂点のピクセル座標は、UV座標と呼ばれ、メッシュ頂点の3D座標に関連付けられる。
【0131】
3Dメッシュ頂点のUV座標を、1つはU座標であり、もう1つはV座標である、2次元座標のリストとして表すことができる。
【0132】
本開示では、3DメッシュのUV座標を最初に受け取ることができる。例えば3DメッシュのUV座標を、処理回路によって生成し、エンコーダ(例えば(600)又は(700))に送信することができる。UV座標は、第1軸のU座標と第2軸のV座標を含み、3Dメッシュの頂点に対応する、2次元(2D)テクスチャ座標とすることができる。
【0133】
データ準備プロセスを3DメッシュのUV座標に対して更に実行することができる。データ準備プロセスは、量子化プロセス、分離プロセス又は変換プロセスを含むことができる。量子化プロセスは、UV座標を、例えば複数のインジケータに変換するように構成されることができる。分離プロセスは、UV座標をU座標とV座標にそれぞれ分離するように構成されることができる。変換プロセスは、UV座標を、例えば空間領域から周波数領域に変換するように構成されることができる。
【0134】
量子化プロセス、分離プロセス及び変換プロセスを、個別に又は任意の組合せで実行することができることに留意されたい。例えば量子化プロセスを最初に実行することができ、量子化後に変換プロセスを実行することができる。別の例では、分離プロセスをUV座標に対して実行することができ、量子化プロセス又は変換プロセスを分離プロセスの後に実行することができる。
【0135】
データ準備プロセスの後、UV座標に対して圧縮を実行することができる。圧縮は、非可逆圧縮又は可逆圧縮とすることができる。圧縮は、画像/ビデオ圧縮、整数圧縮等を含むことができる。
【0136】
本開示では、元のU座標とV座標を量子化することができる。元のU座標とV座標を、符号化前に量子化プロセスに基づいて最初に量子化し、復号後に逆量子化することができる。
【0137】
一実施形態では、線形スカラー量子化をU座標とV座標に適用することができる。例えばU座標とV座標を特定のスカラー因子によって割ることができる。別の例では、異なる量子化スカラー(例えば異なるスカラー因子)をU座標とV座標にそれぞれ適用することができる。いくつかの実施形態では、量子化スカラー(例えばスカラー因子)又は異なる量子化スカラー(例えば異なるスカラー因子)をビットストリームでシグナリングすることができる。デコーダ側では、2つの座標の各々に量子化スカラー又はそれぞれの量子化スカラーを乗算することによって、逆量子化を2つの座標(例えばU座標とV座標)の各々に適用することができる。
【0138】
一実施形態では、ベクトル量子化をU座標とV座標のペアに適用することができ、ここで、U座標とV座標の各ペアは、それぞれのU座標とそれぞれのV座標を含むことができる。ベクトル量子化によると、U座標とV座標の各ペアを、ベクトル量子化に関連付けられるベクトル辞書へのインジケータによって表すことができる。ベクトル辞書を、ビットストリーム内の追加のオーバーヘッドとして更にシグナリングすることができ、あるいはエンコーダ(例えば(600)又は(700))とデコーダ(例えば(500)又は(800))のために事前トレーニングして固定(fix)することもできる。
【0139】
量子化の後、UV座標をコーディングすることができる。例えばUV座標を可逆的にコーディングすることができる。UV座標の可逆的なコーディングは、画像/ビデオ圧縮に基づくか又は整数圧縮に基づくことができる。整数圧縮は、可逆整数圧縮のような、任意の整数圧縮とすることができる。
【0140】
本開示では、UV座標を、分離プロセスに基づいて、U座標とV座標に個々に分離することができる。コーデックを更に適用して、U座標又はV座標を圧縮することができる。
【0141】
一実施形態では、メッシュフレームのUV座標をU座標とV座標に分離することができる。U座標とV座標の各々は、それぞれ2Dアレイに更に作り変える(reshape)ことができる。スネーク走査順序、ラスター走査順序(raster scanning order)、ジグザグ走査順序、ヒルベルト及びモートンの走査順序(Hilbert and Morton scanning order)のような、任意の空間充填曲線を適用して2Dアレイを満たすことができる。走査順序を、エンコーダ(例えば(600)又は(700))又はデコーダ((500)又は(800)の両方に対して固定することができ、あるいはシーケンスヘッダ、スライスヘッダ等のような高レベルな構文で指定することができる。2Dアレイをピクチャと見なすことができる。動的メッシュでは、複数の2Dアレイを生成してビデオを形成することができる。画像/ビデオコーデックを、U座標とV座標から導出される各画像/ビデオ(又は2Dアレイ)に適用することができる。いくつかの実施形態では、可逆コーディングを2Dアレイの各々に適用することができる。したがって、画像/ビデオコーデックは可逆画像/ビデオコーデックとすることができる。
【0142】
様々な走査順序を利用して、U座標及びV座標を2Dアレイに作り変えることができる。一実施形態では、ラスター走査順序を適用して、U座標又はV座標を2Dアレイに作り変えることができる。
【0143】
一実施形態では、スネーク走査順序を適用して、U座標又はV座標を2Dアレイに作り変えることができる。例示のスネーク走査順序が
図10に示されている。例えばスネーク走査順序の走査方向は、水平方向(
図10に示される)又は垂直方向のいずれかに沿うものとすることができる。
【0144】
一実施形態では、ジグザグ走査順序を適用して、U座標又はV座標を2Dアレイに作り変えることができる。例示のジグザグ走査順序が
図11に示されている。
【0145】
分離プロセスの後、ビデオコーデックを使用して、U座標とV座標の各々をコーディングすることができる。一例では、可逆コーディングを適用することができる。例えば(1)AVC/H.264ビデオコーデック、(2)HEVC/H.265ビデオコーデック、(3)VVC/H.266ビデオ、(4)AVS2ビデオコーデック、(5)AVS3ビデオコーデック、(6)AV1ビデオコーデック、(7)JPEG画像コーデック又は(8)JPEG2000画像コーデックのうちの1つに基づいて、可逆コーディングを適用することができる。
【0146】
本開示では、変換プロセス(又は変換)をU座標とV座標のペアに適用することができる。変換プロセスの変換出力を、2つのチャネルに分離することができ、一方のチャネルはU座標に基づき、他方のチャネルはV座標に基づく。さらに、2つのチャネルの各々を、それぞれの2Dアレイに作り変えることができる。上述と同様の方法で、画像/ビデオコーデックを2つのチャネルの各々に適用することができる。
【0147】
例では、可逆変換(例えばHaar変換又は線形非相関変換)を使用することができる。
【0148】
一実施形態では、2タップHaar変換をU座標とV座標のペアに適用することができる。
【0149】
一実施形態では、線形非相関変換(例えば離散コサイン変換)をU座標とV座標のペアに適用することができる。
【0150】
別の実施形態では、UV座標をU座標とV座標に分離することができる。U座標とV座標の各々は、整数圧縮に基づいて可逆的にコーディングすることができる。
【0151】
本開示では、U座標及び/又はV座標の値を、事前コーディングされたU座標及び/又はV座標のような事前コーディングされた情報から予測することができる。したがって、予測残差のリストを生成することができる。いくつかの実施形態では、予測残差のリストは整数のリストとすることができる。予測残差は、U座標及び/又はV座標と、事前コーディングされたU座標及び/又はV座標の値の差とすることができる。一実施形態では、予測残差を更に、整数圧縮に基づいて可逆的にコーディングすることができる。
【0152】
一実施形態では、予測残差を、非負整数にマッピングすることができる。マッピングは、符号ビット(sign bit)を予測残差の値に連結することができる。例えばマッピング関数f(n)を次のように定義することができる:
n>=0の場合、f(n)=2*n
n<0の場合、 f(n)=2*n-1
ここで、nは予測残差とすることができる。マッピングに基づいて、予測残差を非負整数に変更することができる。
【0153】
一実施形態では、予測残差の符号ビットを、可逆的方法で別個にコーディングすることができ、一方、予測残差の絶対値を任意のエントロピーコーダによってコーディングすることができる。
【0154】
一実施形態では、ビットパッキングを、マッピングに基づいて取得される非負整数に適用して、非負整数のビット長を更に短くすることができる。例えば非負整数{m1,m2,...,mk}のリストにおいて、非負整数の各々をnビット整数として表すことができ、ここで、nが正の整数である場合、非負整数のリストを、k*nビットを使用することによりビットパッキングによって表すことができる。したがって、非負整数のリストを、ビットのリストによって表すことができる。kは、非負整数のリスト内の非負整数の数とすることができる。1バイトのような固定長表現を使用して、nの値をエンコーダとデコーダとの間で通信することができる。別の例では、nは2ビット又は6ビットとすることができる。
【0155】
一実施形態では、エントロピーコーディングのような可逆圧縮を、整数のリスト、予測残差のリスト、非負整数のリスト又はビットのリストに適用することができる。
【0156】
一実施形態では、可変長コーディングを、整数のリスト、予測残差のリスト、非負整数のリスト又はビットのリストに適用することができる。
【0157】
一実施形態では、ハフマンコーディングを、整数のリスト、予測残差のリスト、非負整数のリスト又はビットのリストに適用することができる。
【0158】
一実施形態では、算術コーディングを、整数のリスト、予測残差のリスト、非負整数のリスト又はビットのリストに適用することができる。
【0159】
本開示では、UV座標を最初に量子化することができる。量子化されたUV座標を更に、可逆的にコーディングすることがきる。量子化されたUV座標の可逆コーディングは、画像/ビデオ圧縮又は整数圧縮に基づくことができる。
【0160】
本開示では、UV座標を非可逆コーディングすることができる。UV座標の非可逆コーディングは、画像/ビデオ圧縮又は整数圧縮に基づくことができる。
【0161】
一実施形態では、UV座標をU座標とV座標に分離することができる。したがって、2次元のUV座標は、第1次元のU座標と第2次元のV座標に分離することができる。U座標とV座標の各々を、それぞれの2Dアレイに作り変えることができる。非可逆画像/ビデオコーデックを、U座標とV座標の各々に更に適用することができる。非可逆画像/ビデオコーデックは、(1)AVC/H.264ビデオコーデック、(2)HEVC/H.265ビデオコーデック、(3)VVC/H.266ビデオ、(4)AVS2ビデオコーデック、(5)AVS3ビデオコーデック、(6)AV1ビデオコーデック、(7)JPEG画像コーデック及び(8)JPEG2000画像コーデックを含むことができる。
【0162】
一実施形態では、U座標とV座標に変換を適用することができる。変換出力を、2つのチャネルに分離することができ、一方のチャネルはU座標に基づき、他方のチャネルはV座標に基づく。2つのチャネルの各々を、それぞれの2Dアレイに作り変えることができる。その後、非可逆画像/ビデオコーデックを2つのチャネルの各々に適用することができる。
【0163】
一実施形態では、UV座標をU座標とV座標に分離することができる。U座標とV座標の各々を、整数圧縮に基づいて非可逆的にコーディングすることができる。
【0164】
一実施形態では、UV座標を量子化することができる。量子化されたUV座標を非可逆的にコーディングすることができる。量子化されたUV座標の非可逆コーディングは、画像/ビデオ圧縮に基づくか又は整数圧縮に基づくことができる。
【0165】
一実施形態では、UV座標を非可逆にコーディングすることができる。非可逆コーディングの非可逆圧縮残差は、UV座標と予測の初期値の差である可能性があり、更に非可逆コーディングすることができる。
【0166】
一実施形態では、UV座標の圧縮は2つのレイヤを含むことができ、ここで、UV座標に対する非可逆圧縮はベースレイヤとすることができ、ベースレイヤの残差の可逆圧縮は追加レイヤとすることができる。一実施形態では、ベースレイヤは非可逆画像/ビデオコーデックとすることができる。一実施形態では、ベースレイヤは整数の非可逆圧縮(又は非可逆整数圧縮)とすることができる。一実施形態では、追加レイヤは可逆画像/ビデオコーデックとすることができる。一実施形態では、追加レイヤは整数の可逆圧縮(又は可逆整数圧縮)とすることができる。
【0167】
別の実施形態では、UV座標を量子化することができる。量子化されたUV座標を非可逆コーディングすることができる。量子化されたUV座標の非可逆コーディングの非可逆圧縮残差を更に非可逆コーディングすることができる。
【0168】
図12は、本開示の実施形態によるプロセス(1200)を概説するフローチャートを示している。プロセス(1200)を、メッシュの符号化プロセス中に使用することができる。様々な実施形態において、プロセス(1200)は処理回路によって実行される。いくつかの実施形態では、プロセス(1200)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1200)を実行する。処理は、(S1201)で始まり、(S1210)に進む。
【0169】
(S1210)において、3DメッシュのUV座標を受け取ることができる。UV座標は、第1軸にU座標と、第2軸にV座標を含む2Dテクスチャ座標とすることができ、3Dメッシュの頂点にマッピングされる。
【0170】
(S1220)において、3DメッシュのUV座標を、量子化プロセス、分離プロセス及び変換プロセスのうちの少なくとも1つに基づいて処理することができる。量子化プロセスは、UV座標を複数のインジケータに変換するように構成されることができる。分離プロセスは、UV座標をU座標とV座標にそれぞれ分離するように構成されることができる。変換プロセスは、UV座標を空間領域から変換(又は周波数)領域に変換するように構成されることができる。
【0171】
(S1230)において、UV座標の処理後に、処理されたUV座標に対して圧縮を実行することができる。
【0172】
いくつかの実施形態において、処理は量子化プロセスに基づくことができる。一例では、U座標を第1スカラー因子で、V座標を第2スカラー因子で割ることによって、線形スカラー量子化をUV座標のU座標とV座標にそれぞれ適用することができる。別の例では、ベクトル量子化をUV座標の複数のUVペアに適用することができる。複数のUVペアの各UVペアは、それぞれのU座標とそれぞれのV座標を含むことができ、ベクトル量子化のベクトル辞書へのインジケータによって表されることができる。
【0173】
いくつかの実施形態において、処理は分離プロセスに基づく。したがって、UV座標をU座標とV座標に分離することができる。UV座標のU座標に基づいて、第1の2Dアレイを生成することができる。UV座標のV座標に基づいて、第2の2Dアレイを生成することができる。その後、第1の2DアレイのUV座標のU座標と、第2の2DアレイのUV座標のV座標に対して、それぞれ、圧縮を実行することができる。
【0174】
いくつかの実施形態において、処理は変換プロセスに基づく。したがって、可逆変換、Haar変換又は線形非相関変換のうちの1つに基づいて、変換プロセスをUV座標の複数のUVペアに対して実行することができる。複数のUVペアの各UVペアは、UV座標のそれぞれのU座標とそれぞれのV座標を含むことができる。第1チャネル情報を、UV座標の複数のUVペアの変換されたU座標に基づいて生成することができ、第2チャネル情報を、UV座標の複数のUVペアの変換されたV座標に基づいて生成することができる。UV座標の第1チャネル情報とUV座標の第2チャネル情報に対して、それぞれ圧縮を更に実行することができる。
【0175】
プロセス(1200)では、UV座標上の画像/ビデオ圧縮又は整数圧縮のうちの1つに基づいて、UV座標に対して圧縮を実行することができる。
【0176】
いくつかの実施形態では、事前コーディングされたU座標の値に基づいて、UV座標のU座標の値を予測することができる。U座標の予測残差のリストを更に生成することができる。事前コーディングされたV座標の値に基づいて、UV座標のV座標の値を生成することができる。V座標の予測残差のリストを更に生成することができる。
【0177】
いくつかの実施形態では、第1マッピング操作をU座標の予測残差のリストに対して実行して、U座標の非負整数のリストを生成することができる。第2マッピング操作をV座標の予測残差のリストに対して実行し、V座標の非負整数のリストを生成することができる。
【0178】
いくつかの実施形態では、第1ビットパッキング処理をU座標の非負整数のリストに対して実行して、U座標のビットのリストを生成することができる。第2ビットパッキング処理をV座標の非負整数のリストに対して実行して、V座標のビットのリストを生成することができる。
【0179】
いくつかの実施形態では、U座標の予測残差のリスト、V座標の予測残差のリスト、U座標の非負整数のリスト、V座標の非負整数のリスト、U座標のビットのリスト又はV座標のビットのリストのうちの少なくとも1つに対して、圧縮を実行することができる。いくつかの実施形態では、エントロピーコーディング、可変長コーディング、ハフマンコーディング又は算術コーディングのうちの1つに基づいて圧縮を実行することができる。
【0180】
プロセス(1200)では、非可逆画像/ビデオコーデック及び非可逆整数圧縮のうちの一方に基づいて、非可逆圧縮をUV座標に対して実行して、UV座標の非可逆圧縮残差を生成することができる。非可逆画像/ビデオコーデック及び非可逆整数圧縮のうちの一方に基づいて、可逆圧縮をUV座標の非可逆圧縮残差に対して実行することができる。
【0181】
その後、プロセスは(S1299)に進み、終了する。
【0182】
プロセス(1200)は、適切に適応させることができる。プロセス(1200)内のステップを修正及び/又は省略することができる。追加のステップを追加することができる。任意の適切な実装順序を使用することができる。
【0183】
図13は、本開示の一実施形態によるプロセス(1300)を概説するフローチャートを示している。プロセス(1300)を、メッシュの復号プロセス中に使用することができる。様々な実施形態では、プロセス(1300)は処理回路によって実行される。いくつかの実施形態では、プロセス(1300)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1300)を実行する。プロセスは(S1301)で始まり、(S1310)に進む。
【0184】
(S1310)において、3DメッシュのUV座標のコーディングされた情報を受け取ることができる。UV座標は、第1軸にU座標と、第2軸にV座標を含む2次元(2D)テクスチャ座標とすることができ、3Dメッシュの頂点にマッピングされることができる。
【0185】
(S1320)において、3DメッシュのUV座標のコーディングされた情報に対して復元を実行して、3DメッシュのUV座標情報を取得することができる。
【0186】
(S1330)において、UV座標情報に逆量子化プロセス、逆分離プロセス又は逆変換(inverse formation)プロセスのうちの少なくとも1つを適用することによって、3DメッシュのUV座標を再構成することができる。逆量子化プロセスは、複数のインジケータをUV座標に変換するように構成されることができる。逆分離プロセスは、U座標とV座標をUV座標にマージするように構成されることができる。逆変換プロセスは、UV座標を変換領域から空間領域に変換するように構成されることができる。
【0187】
その後、処理は(S1399)に進み、終了する。
【0188】
プロセス(1300)を、適切に適応させることができる。プロセス(1300)のステップを修正及び/又は省略することができる。追加のステップを追加することができる。任意の適切な実装順序を使用することができる。
【0189】
上述の技術を、コンピュータ読取可能命令を使用してコンピュータソフトウェアとして実装し、1つ以上のコンピュータ読取可能媒体に物理的に記憶することができる。例えば
図14は、開示される主題の特定の実施形態を実装するのに適したコンピュータシステム(1400)を示す。
【0190】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンキング又は類似のメカニズムの対象となり得る任意の適切な機械コード又はコンピュータ言語を使用してコーディングされ、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)等によって直接的に又は解釈やマイクロコード実行等を通して実行され得る命令を含む、コードを作成することができる。
【0191】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む様々なタイプのコンピュータ又はその構成要素において実行されることができる。
【0192】
コンピュータシステム(1400)について
図14に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能性に関して、いかなる制限も示唆するように意図されていない。また、構成要素の構成は、コンピュータシステム(1400)の例示的実施形態に示される構成要素の任意の1つ又は組合せに関するいかなる依存性又は要件も有するものとして解釈されてはならない。
【0193】
コンピュータシステム(1400)は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通して、1人以上の人間のユーザによる入力に応答し得る。また、ヒューマンインタフェース入力デバイスは、オーディオ(音声、音楽、環境音等)、画像(スキャンされた画像、静止画像カメラから得られる写真画像等)、ビデオ(2次元ビデオ、立体映像を含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関係しているとは限らない、特定の媒体をキャプチャするためにも使用されることができる。
【0194】
ヒューマンインタフェース入力デバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチ画面(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロホン(1406)、スキャナ(1407)及びカメラ(1408)(各々の1つのみが図示される)のうちの1つ以上を含んでもよい。
【0195】
コンピュータシステム(1400)はまた、特定のヒューマンインタフェース出力デバイスも含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば触覚出力、音響、光及び嗅覚/味覚を通して、1人以上の人間のユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えばタッチ画面(1410)、データグローブ(図示せず)又はジョイスティック(1405)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、オーディオ出力デバイス(スピーカー(1409)、ヘッドフォン(図示せず)等)、視覚出力デバイス(各々タッチ画面入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にもかかわらないが、その一部は、立体画像出力や仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)のような手段を通して、2次元視覚出力又は3次元超の出力を出力することができる、CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(1410)等)及びプリンタ(図示せず)を含んでよい。
【0196】
コンピュータシステム(1400)はまた、CD/DVDを有するCD/DVD ROM/RW(1420)を含む光媒体又は類似の媒体(1421)、サムドライブ(1422)、取り外し可能ハードドライブ又はソリッドステートドライブ(1423)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特別なROM/ASIC/PLDベースのデバイスのような、ヒューマンアクセス可能なストレージデバイス及びそれらの関連する媒体も含むことができる。
【0197】
当業者はまた、現在開示されている主題に関連して使用されるとき、「コンピュータ読取可能媒体」という用語が、伝送媒体、搬送波又は他の一時的信号を包含しないことを理解すべきである。
【0198】
コンピュータシステム(1400)はまた、1つ以上の通信ネットワーク(1455)へのインタフェース(1454)も含むことができる。ネットワークは、例えば無線、有線、光とすることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性等とすることができる。ネットワークの例は、イーサネット(登録商標)、無線LAN等のローカルエリアネットワーク、GSM(登録商標)、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV及び地上放送TVを含むTV有線又は無線ワイドエリアデジタルネットワーク、CANBus等を含む車両及び産業用ネットワークを含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺バス(1449)に取り付けられ外部ネットワークインタフェースアダプタ(例えばコンピュータシステム(1400)のUSBポート等)を必要とし、他のものは、一般に、後述するシステムバスへの取り付けによって(例えばPCコンピュータシステムへのイーサネット(登録商標)インタフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)、コンピュータシステム(1400)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。このような通信は、例えばローカル又はワイドエリアデジタルネットワークを使用して、他のコンピュータシステムに対する、単方向の受信専用(例えば放送TV)、単方向の送信専用(例えば特定のCANbusから特定のCANbusデバイスへ)又は双方向であり得る。上述のように、特定のプロトコル及びプロトコルスタックを、これらのネットワーク及びネットワークインタフェースの各々において使用することができる。
【0199】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能なストレージデバイス及びネットワークインタフェースを、コンピュータシステム(1400)のコア(1440)に取り付けることができる。
【0200】
コア(1440)は、1つ以上の中央処理ユニット(CPU)(1441)、グラフィクス処理ユニット(GPU)(1442)、フィールドプログラマブルゲートアレイ(FPGA)(1443)の形態の専用のプログラマブル処理ユニット、特定のタスク用のハードウェアアクセラレータ(1444)、グラフィクスアダプタ(1450)等を含むことができる。これらのデバイスは、読取専用メモリ(ROM)(1445)、ランダムアクセスメモリ(RAM)(1446)、内部非ユーザアクセス可能ハードドライブ、SSD等の内部大容量ストレージ(1447)とともに、システムバス(1448)を通して接続され得る。いくつかのコンピュータシステムでは、システムバス(1448)は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能である。周辺デバイスを、コアのシステムバス(1448)に直接又は周辺バス(1449)を介して取り付けることができる。一例では、画面(1410)をグラフィクスアダプタ(1450)に接続することができる。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0201】
CPU(1441)、GPU(1442)、FPGA(1443)及びアクセラレータ(1444)は、組み合わされて上述のコンピュータコードを構成することができる、特定の命令を実行することができる。そのコンピュータコードを、ROM(1445)又はRAM(1446)に記憶することができる。また、一時的なデータをRAM(1446)に記憶することができ、一方、永久的なデータを、例えば内部大容量ストレージ(1447)に記憶することができる。1つ以上のCPU(1441)、GPU(1442)、大容量ストレージ(1447)、ROM(1445)、RAM(1446)等と密接に関連付けることができるキャッシュメモリの使用を通して、メモリデバイスのいずれかに対する高速記憶及び取り出しを可能にすることができる。
【0202】
コンピュータ読取可能媒体は、様々なコンピュータ実装される動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものとすることができ、あるいはそれらは、コンピュータソフトウェア技術の当業者に周知かつ利用可能な種類のものとすることができる。
【0203】
限定ではなく例として、アーキテクチャ(1400)及び特にコア(1440)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ読取可能媒体に具現化されたソフトウェアを実行する結果としての機能性を提供することができる。このようなコンピュータ読取可能媒体は、上記で紹介したようなユーザアクセス可能な大容量ストレージ、並びにコア内部大容量ストレージ(1447)又はROM(1445)のような非一時的な性質のコア(1440)の特定のストレージに関連付けられる媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアを、そのようなデバイスに記憶して、コア(1440)によって実行することができる。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(1440)及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(1446)に記憶されるデータ構造を定義することと、ソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することとを含む、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、論理ハードワイヤ又は他の方法で回路(例えばアクセラレータ(1444))内に具現化された結果として機能性を提供することができ、この回路は、ソフトウェアの代わりに又はソフトウェアとともに動作して、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及はロジックを含み、また、必要に応じて、その逆も可能である。コンピュータ読取可能媒体への参照は、実行のためのソフトウェアを記憶する回路(集積回路(IC)等)、実行のためのロジックを具体化する回路又は適切な場合にはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0204】
本開示は、いくつかの例示的な実施形態について説明しているが、本開示の範囲内にある変更、置換及び様々な代替均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は説明されていないが、本開示の原理を具体化しており、よって、本開示の精神及び範囲内にある、様々システム及び方法を考案することができることが理解されよう。