(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-20
(45)【発行日】2023-04-28
(54)【発明の名称】点群圧縮のための方法、装置、およびコンピュータプログラム
(51)【国際特許分類】
G06T 9/00 20060101AFI20230421BHJP
H04N 19/85 20140101ALI20230421BHJP
H04N 19/597 20140101ALI20230421BHJP
G06T 17/00 20060101ALI20230421BHJP
G01S 17/89 20200101ALI20230421BHJP
【FI】
G06T9/00
H04N19/85
H04N19/597
G06T17/00 500
G01S17/89
(21)【出願番号】P 2021538281
(86)(22)【出願日】2020-06-08
(86)【国際出願番号】 US2020036601
(87)【国際公開番号】W WO2020251888
(87)【国際公開日】2020-12-17
【審査請求日】2021-06-29
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェン・ガオ
(72)【発明者】
【氏名】シャン・ジャン
(72)【発明者】
【氏名】シャン・リュウ
【審査官】橘 高志
(56)【参考文献】
【文献】米国特許出願公開第2019/0122393(US,A1)
【文献】米国特許出願公開第2018/0106896(US,A1)
【文献】米国特許出願公開第2019/0120946(US,A1)
【文献】Jae-Kyun Ahn et al.,Large-Scale 3D Point Cloud Compression Using Adaptive Radial Distance Prediction in Hybrid Coordinate Domains,IEEE journal of selected topics in signal processing,Vol.9,No.3,2015年04月,p.422-434
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00
H04N 19/85
H04N 19/597
G06T 17/00
G01S 17/89
(57)【特許請求の範囲】
【請求項1】
エンコーダにおける点群符号化のための方法であって、
プロセッサが、仰角に傾けられ、時間の経過とともに回転角まで回転するレーザに基づいて、光検出と測距(Lidar)センサによって検知された距離および強度を受信するステップであって、距離および強度が、仰角に傾けられて同時に回転角を有するレーザによって放射された光線に応じて検知される、ステップと、
前記プロセッサが、第1の角度寸法、第2の角度寸法、および半径寸法を有する球面座標系を使用して点群内の点を表すステップであって、点が、前記第1の角度寸法における
前記回転角度、前記第2の角度寸法における
前記仰角、前記半径寸法における
前記距離、および
少なくとも属性値である前記強度によって表される、ステップと、
前記プロセッサが、前記第1の角度寸法に対応する第1の寸法、および前記第2の角度寸法に対応する第2の寸法を有する2次元(2D)マトリクスを少なくとも形成するステップであって、前記点が、前記
回転角度および
前記仰角に基づいて、前記2Dマトリクス内の要素として配置される、ステップと、
前記2Dマトリクスを1つ以上の画像に変換するステップと、
前記プロセッサが、
前記1つ以上の画像を圧縮するステップと、
前記プロセッサが、前記2Dマトリクスの圧縮されたデータを含むビットストリームを生成するステップと
を含む、方法
であって、
前記方法は前記圧縮するステップの前に
前記仰角が昇順もしくは降順に順序付けられるように前記2Dマトリクスの行を入れ替えるために再成型するステップ、もしくは、
前記距離についての低い閾値と高い閾値を有する距離の範囲を設定するための閾値処理ステップ、
のうちの少なくとも1つのステップを含む、方法。
【請求項2】
前記2Dマトリクスを第1の2D画像および第2の2D画像に変換するステップであって、前記第1の2D画像が、前記2Dマトリクス内の点の距離に対応する画素値を有し、前記第2の2D画像が、前記2Dマトリクス内の前記点の強度に対応する画素値を有する、ステップと、
前記第1の2D画像および前記第2の2D画像を圧縮するステップと
をさらに含む、
請求項1に記載の方法。
【請求項3】
前記2Dマトリクスを前記点に対応する
2D画像内の画素を有する
前記2D画像に変換するステップであって、前記画素が画素色を有し、前記点の前記距離が第1の色成分であり、前記点の前記強度が第2の色成分である、ステップと、
前記2D画像を圧縮するステップと
をさらに含む、
請求項1に記載の方法。
【請求項4】
前記2Dマトリクスが、360度回転に対応する2Dマトリクスの第1のフレームであり、前記方法が、
前記第1のフレームとの時間差分を伴う別の360度回転に対応する2Dマトリクスの少なくとも第2のフレームを形成するステップと、
2Dマトリクスの前記少なくとも第2のフレームを、2Dマトリクスの前記第1のフレームとともにマルチフレームマトリクスに積み重ねるステップと、
前記マルチフレームマトリクスを1つ以上の画像に変換するステップと、
前記1つ以上の画像を圧縮するステップと
をさらに含む、
請求項1~3のいずれか一項に記載の方法。
【請求項5】
異なる時間にそれぞれ対応する、2Dマトリクスのフレームのシーケンスを形成するステップと、
前記異なる時間にそれぞれ対応する、画像のシーケンスを、前記フレームのシーケンスから生成するステップと、
前記画像のシーケンスを、それぞれ画像圧縮に基づいて圧縮するステップと
をさらに含む、
請求項1~4のいずれか一項に記載の方法。
【請求項6】
異なる時間にそれぞれ対応する、2Dマトリクスのフレームのシーケンスを形成するステップと、
前記異なる時間にそれぞれ対応する、画像のシーケンスを、前記フレームのシーケンスから生成するステップと、
前記画像のシーケンスを、映像圧縮に基づいて圧縮するステップと
をさらに含む、
請求項1~4のいずれか一項に記載の方法。
【請求項7】
前記第1の角度寸法における1組の回転角を前記2Dマトリクスに関連付けるステップ
をさらに含む、
請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記1つ以上の画像に対する圧縮されたデータを含む第1のビットストリームを生成するステップと、
前記Lidarセンサに対する、圧縮された較正および動き補償を含む第2のビットストリームを生成するステップと、
前記第1のビットストリームおよび前記第2のビットストリームを、組み合わせられたビットストリームに組み合わせるステップと
をさらに含む、
請求項1に記載の方法。
【請求項9】
較正および動き補償に基づいて前記2Dマトリクス内の点を修正するステップであって、前記2Dマトリクス内の修正点が、回転角調整、仰角調整、修正距離、および修正強度を含む、ステップと、
前記2Dマトリクスを1つ以上の画像に変換するステップと、
前記1つ以上の画像を圧縮するステップと
をさらに含む、
請求項1~8のいずれか一項に記載の方法。
【請求項10】
請求項1~8のいずれか一項に記載の方法を実施するように構成される処理回路を備える、点群符号化のための装置。
【請求項11】
請求項1~8のいずれか一項に記載の方法をプロセッサに実施させる、コンピュータプログラム。
【請求項12】
点群構築のための方法であって、
プロセッサが、光検出と測距(Lidar)センサによって検知された点群に対応する
、請求項1から8のいずれか一項の方法によって生成された、受信したビットストリームを、前記Lidarセンサによって検知されたデータに対応する第1のビットストリームと、前記Lidarセンサに対する少なくとも較正情報および動き補償情報を含むメタデータに対応する第2のビットストリームとに分割するステップと、
前記プロセッサが、距離および強度を取得するために、前記第1のビットストリームを復元するステップであって、距離および強度が、仰角に傾けられて時間の経過とともに回転角まで回転するレーザに基づいて、前記Lidarセンサによって検知され、距離および強度が、仰角に傾けられ、同時に回転角を有するレーザによって放射された光線に応じて検知される、ステップと、
前記プロセッサが、前記Lidarセンサに対する前記較正情報および前記動き補償情報を少なくとも含む前記メタデータを取得するために、前記第2のビットストリームを復元するステップと、
前記プロセッサが、前記仰角および前記回転角で検知された前記距離および前記強度と、前記較正情報および前記動き補償情報を少なくとも含む前記メタデータとに基づいて、最終的な点群を構築するステップと
を含む、方法。
【請求項13】
請求項12に記載の方法を実施するように構成されるプロセッサを備える、点群構築のための装置。
【請求項14】
請求項12に記載の方法をプロセッサに実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年6月4日に提出された、「METHOD AND APPARATUS FOR POINT CLOUD COMPRESSION」と題する、米国特許出願第16/893,311号明細書の優先権の利益を主張するものであり、米国特許出願第16/893,311号明細書は、出願日2019年6月11日に提出された、「POINT CLOUD CODING USING RAW LIDAR DATA」と題する、米国仮特許出願第62/860,144号の優先権の利益を主張するものである。先行出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、概して点群圧縮に関する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示に関連することを大まかに提示することを目的としている。本発明者らの研究は、この背景技術のセクションで説明する範囲において、ならびに提出時に先行技術としてその他の場合に認められないであろう説明の態様において、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
世界の物体、世界の環境などの世界を取り込み、3次元(3D)空間内に表現するための様々な技術が開発されている。世界の3D表現により、より没入型のインタラクション、およびより没入型のコミュニケーションが可能になる可能性がある。点群は、世界の3D表現として使用することができる。点群は、3D空間内の点の組であり、点の各々が、例えば、色、材料特性、テクスチャ情報、強度属性、反射率属性、動き関連属性、モダリティ属性、および様々な他の属性などの関連付けられた属性を有する。このような点群は、大量のデータを含む場合があり、格納し、送信するためにコストがかかり、時間がかかる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の態様は、点群の圧縮および点群の復元のための方法および装置を提供する。いくつかの例では、点群圧縮/点群復元のための装置は処理回路を含む。例えば、処理回路は、第1の角度寸法、第2の角度寸法、および半径寸法を有する球面座標系を使用して点群内の点を表す。点は、第1の角度寸法における第1の角度座標、第2の角度寸法における第2の角度座標、半径寸法における半径座標、および少なくとも属性値によって表される。処理回路は、第1の角度寸法に対応する第1の寸法、および第2の角度寸法に対応する第2の寸法を有する2次元(2D)マトリクスを少なくとも形成する。点は、第1の角度座標および第2の角度座標に基づいて、2Dマトリクス内の要素として配置される。さらに、処理回路は、2Dマトリクス内のデータを圧縮し、2Dマトリクスの圧縮されたデータを含むビットストリームを生成する。
【0006】
本開示の一態様によれば、処理回路は、仰角に傾けられ、時間の経過とともに回転角まで回転するレーザに基づいて、光検出と測距(Lidar)センサによって検知された距離および強度を受信する。距離および強度は、仰角に傾けられ、同時に回転角を有するレーザによって放射された光線に応じて検知される。処理回路は、第1の角度寸法における回転角、第2の角度寸法における仰角、および半径寸法における距離によって、点を表し、強度が属性値である。さらに、処理回路は、回転角および仰角に基づいて、点を2Dマトリクスの要素として配置する。処理回路は、2Dマトリクスを1つ以上の画像に変換し、1つ以上の画像を圧縮してもよい。
【0007】
いくつかの実施形態では、処理回路は、2Dマトリクスを第1の2D画像、および第2の2D画像に変換するステップであって、第1の2D画像が、2Dマトリクス内の点の距離に対応する画素値を有し、第2の2D画像が、2Dマトリクス内の点の強度に対応する画素値を有する。その後、処理回路は、第1の2D画像、および第2の2D画像を圧縮する。
【0008】
いくつかの実施形態では、処理回路は、2Dマトリクスを、点に対応する2D画像内の画素を有する2D画像に変換する。画素は、画素色を有し、点の距離が第1の色成分であり、点の強度が第2の色成分である。その後、処理回路は、2D画像を圧縮する。
【0009】
一実施形態では、2Dマトリクスは、360度回転に対応する2Dマトリクスの第1のフレームであり、処理回路は、第1のフレームとの時間差分を伴う別の360度回転に対応する2Dマトリクスの少なくとも第2のフレームを形成する。処理回路は、2Dマトリクスの少なくとも第2のフレームを、2Dマトリクスの第1のフレームとともにマルチフレームマトリクスに積み重ね、その後マルチフレームマトリクスを1つ以上の画像に変換し、1つ以上の画像を圧縮してもよい。
【0010】
いくつかの例では、処理回路は、異なる時間にそれぞれ対応する、2Dマトリクスのフレームのシーケンスを形成し、異なる時間にそれぞれ対応する、画像のシーケンスを、フレームのシーケンスから生成し、画像のシーケンスを、それぞれ画像圧縮に基づいて圧縮する。
【0011】
いくつかの他の例では、処理回路は、異なる時間にそれぞれ対応する、2Dマトリクスのフレームのシーケンスを形成し、異なる時間にそれぞれ対応する、画像のシーケンスを、フレームのシーケンスから生成し、画像のシーケンスを、それぞれ映像圧縮に基づいて圧縮する。
【0012】
いくつかの実施形態では、処理回路は、1つ以上の画像に対する圧縮されたデータを含む第1のビットストリームを生成し、Lidarセンサに対する、圧縮された較正および動き補償を含む第2のビットストリームを生成し、第1のビットストリームおよび第2のビットストリームを、組み合わせられたビットストリームに組み合わせる。
【0013】
いくつかの実施形態では、処理回路は、較正および動き補償に基づいて2Dマトリクス内の点を修正してもよい。2Dマトリクス内の修正点は、回転角調整、仰角調整、修正距離、および修正強度を含む。その後、処理回路は、2Dマトリクスを1つ以上の画像に変換し、1つ以上の画像を圧縮する。
【0014】
本開示のいくつかの他の態様によれば、点群構築のための処理回路は、光検出と測距(Lidar)センサによって検知された点群に対応する受信したビットストリームを、Lidarセンサによって検知されたデータに対応する第1のビットストリームと、Lidarセンサに対する少なくとも較正情報および動き補償情報を含むメタデータに対応する第2のビットストリームとに分割してもよい。処理回路は、距離および強度を取得するために、第1のビットストリームを復元してもよく、この距離および強度が、仰角に傾けられて時間の経過とともに回転角まで回転するレーザに基づいて、Lidarセンサによって検知される。距離および強度は、仰角に傾けられ、同時に回転角を有するレーザによって放射された光線に応じて検知される。処理回路は、Lidarセンサに対する較正情報および動き補償情報を少なくとも含むメタデータを取得するために、第2のビットストリームを復元してもよい。その後、処理回路は、仰角および回転角で検知された距離および強度と、較正および動き補償を少なくとも含むメタデータとに基づいて、最終的な点群を構築してもよい。
【0015】
本開示の態様はまた、点群圧縮/復元のためにコンピュータによって実行されると、コンピュータに点群圧縮/点群復元のための方法を実行させる命令を格納する非一時的コンピュータ可読媒体を提供する。
【0016】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0017】
【
図1】一実施形態による通信システム(100)の簡略化されたブロック図の概略図である。
【
図2】一実施形態によるストリーミングシステム(200)の簡略化されたブロック図の概略図である。
【
図3】いくつかの実施形態による、点群フレームを符号化するためのエンコーダ(300)のブロック図を示す図である。
【
図4】いくつかの実施形態による、点群フレームに対応する圧縮されたビットストリームを復号するためのデコーダのブロック図を示す図である。
【
図5】一実施形態による映像デコーダの簡略化されたブロック図の概略図である。
【
図6】一実施形態による映像エンコーダの簡略化されたブロック図の概略図である。
【
図7】本開示のいくつかの実施形態による点群の圧縮処理を示す図である。
【
図9】本開示のいくつかの実施形態による、2つの光線を使用する光検出と測距(Lidar)の例を示す図である。
【
図10】一例における32光線Lidarセンサの仰角に対するテーブル1を示す図である。
【
図11】レーザ光線を使用して3D点の距離および反射率を測定するための一例を示す図である。
【
図12】2Dマトリクスの形式のLidar生データについてのテーブル2を示す図である。
【
図13】2Dマトリクスにおける並べ替えられたLidar生のテーブル3を示す図である。
【
図18】3つの連続するフレームを垂直に積み重ねて形成された、より大きなフレームの距離画像を示す図である。
【
図19】3つの連続するフレームを垂直に積み重ねて形成される、より大きなフレームの強度画像を示す図である。
【
図20】較正メタデータの例示的な組に対するテーブル4を示す図である。
【
図21】いくつかの例によるテーブル5を2Dマトリクスで示す図である。
【
図22】いくつかの実施形態による処理例の概要を示すフローチャートである。
【
図23】いくつかの実施形態による処理例の概要を示すフローチャートである。
【
図24】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0018】
本開示の態様は、点群符号化(PCC)技術を提供する。PCCは、G-PCCと呼ばれるジオメトリベースの方式、V-PCCと呼ばれる映像符号化ベースの方式など、様々な方式に応じて実行してもよい。本開示のいくつかの態様によれば、G-PCCは、3Dジオメトリを直接符号化し、映像符号化とあまり共通する要素がなく純粋にジオメトリベースの手法であり、V-PCCは映像符号化に多大に基づいている。例えば、V-PCCは、3Dクラウドの点を2Dグリッド(画像)の画素にマッピングしてもよい。V-PCC方式は、点群圧縮のために汎用映像コーデックを利用してもよい。動画像符号化専門家グループ(MPEG)は、それぞれG-PCC方式およびV-PCC方式を使用する、G-PCC規格およびV-PCC規格に取り組んでいる。本開示は、点群符号化において3次元(3D)極座標系(球面座標系とも呼ばれる)を使用することができる技術を提供する。例えば、光検出と測距(Lidar)の応用形態では、生Lidarデータおよびいくつかの追加のメタデータ情報の、点群圧縮に3D極座標系を使用してもよい。
【0019】
概して、点群は、3D空間内の点の組を指してもよく、点の各々が、例えば、色、材料特性、テクスチャ情報、強度属性、反射率属性、動き関連属性、モダリティ属性、および様々な他の属性などの関連付けられた属性を有する。点群を使用して、このような点の構成物として物体または風景を再構築してもよい。点は、様々な構成で複数のカメラおよび深度センサを使用して取り込むことができ、再構築された風景を現実感があるように表現するために数千から最大数十億の点で構成してもよい。パッチは、概して、点群によって説明される表面の連続したサブセットを指してもよい。一例では、パッチは、閾値量未満で互いにずれた表面法線ベクトルを有する点を含む。
【0020】
圧縮技術は、点群を表すのに必要なデータ量を削減するために必要とされる。したがって、リアルタイム通信および6自由度(6DoF)仮想現実で使用するための点群の非可逆圧縮のための技術が必要とされている。さらに、自動運転および文化的遺産への応用などのための動的マッピングの関連では、可逆点群圧縮のための技術が求められている。動画像符号化専門家グループ(MPEG)は、色および反射率、スケーラブル符号化/プログレッシブ符号化、経時的に取り込まれた点群のシーケンスの符号化、および点群のサブセットへのランダムアクセスなどの、ジオメトリおよび属性を圧縮することに対処するための規格に取り組み始める。
【0021】
本開示の一態様によれば、V-PCCの背後にある主な考え方は、既存の映像コーデックを活用して、動的点群の、ジオメトリ、占有率、およびテクスチャを3つの別の映像シーケンスとして圧縮することである。3つの映像シーケンスを解釈するために必要な追加のメタデータは、別々に圧縮される。ビットストリーム全体の一部分がメタデータであり、ソフトウェア実装形態を使用して効率的に符号化/復号することができる。情報の大部分は映像コーデックによって処理される。
【0022】
図1は、本開示の一実施形態による通信システム(100)の簡略化されたブロック図を図示する。通信システム(100)は、例えばネットワーク(150)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された端末デバイス(110)および(120)の対を含む。
図1の例では、点群データの一方向の送信を実行する端末デバイス(110)および(120)の第1の対である。例えば、端末デバイス(110)は、端末デバイス(110)と接続されたセンサ105によって取り込まれた点群(例えば、構造を表す点)を圧縮してもよい。圧縮された点群は、例えばビットストリームの形式で、ネットワーク(150)を介して他の端末デバイス(120)に送信してもよい。端末デバイス(120)は、ネットワーク(150)から圧縮された点群を受信し、点群を再構築するためにビットストリームを復元し、再構築された点群に応じて適切に表示してもよい。単方向データ送信は、メディアサービングアプリケーションなどにおいて一般的である可能性がある。
【0023】
図1の例では、端末デバイス(110)および(120)は、サーバ、およびパーソナルコンピュータとして図示されていてもよいが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態には、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム端末、メディアプレーヤ、および/または専用3次元(3D)機器を用いた応用形態が見出される。ネットワーク(150)は、端末デバイス(110)と端末デバイス(120)との間で圧縮された点群を送信する任意の数のネットワークを表す。ネットワーク(150)は、例えば、有線通信(有線)ネットワークおよび/または無線通信ネットワークを含んでもよい。ネットワーク(150)は、回路交換通信路および/またはパケット交換通信路において、データを交換してもよい。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本説明の目的のために、ネットワーク(150)のアーキテクチャおよびネットワーク(150)のトポロジは、本明細書で以下に説明されない限り、本開示の動作に対して無関係であってもよい。
【0024】
図2は、点群に対する開示された主題の応用形態の一例を図示する。開示された主題は、3Dテレプレゼンスアプリケーション、仮想現実アプリケーションを含む他の点群対応の応用形態にも等しく適用可能であってもよい。
【0025】
ストリーミングシステム(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つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスして、圧縮された点群(204)のコピー(207)および(209)を取得することができる。クライアントサブシステム(206)は、例えば電子デバイス(230)内のデコーダ(210)を含んでもよい。デコーダ(210)は、圧縮された点群の入力コピー(207)を復号し、レンダリングデバイス(212)上にレンダリングすることができる、再構築された点群(211)の出力ストリームを作成する。いくつかのストリーミングシステムでは、圧縮された点群(204)、(207)、および(209)(例えば、圧縮された点群のビットストリーム)は、特定の規格に応じて圧縮することができる。いくつかの例では、点群の圧縮に映像符号化規格が使用される。このような規格の例には、高効率映像符号化(HEVC)、またはVersatile Video Coding(VVC)などが含まれる。
【0026】
電子デバイス(220)および(230)が他の構成要素(不図示)を含んでもよいことに留意されたい。例えば、電子デバイス(220)はデコーダ(不図示)を含んでもよく、電子デバイス(230)はエンコーダ(不図示)も含んでもよい。
【0027】
図3は、いくつかの実施形態による、点群フレームを符号化するためのV-PCCエンコーダ(300)のブロック図を示す。いくつかの実施形態では、V-PCCエンコーダ(300)は、通信システム(100)およびストリーミングシステム(200)で使用してもよい。例えば、エンコーダ(203)は、V-PCCエンコーダ(300)と同様に構成され、動作してもよい。
【0028】
V-PCCエンコーダ(300)は、非圧縮入力である点群フレームを受信し、圧縮された点群フレームに対応するビットストリームを生成する。いくつかの実施形態では、V-PCCエンコーダ(300)は、点群源(201)などの点群源から点群フレームを受信してもよい。
【0029】
図3の例では、V-PCCエンコーダ(300)は、パッチ生成モジュール(306)と、パッチパッキングモジュール(308)と、ジオメトリ画像生成モジュール(310)と、テクスチャ画像生成モジュール(312)と、パッチ情報モジュール(304)と、占有マップモジュール(314)と、平滑化モジュール(336)と、画像埋込モジュール(316)および(318)と、グループ拡張モジュール(320)と、映像圧縮モジュール(322)、(323)および(332)と、補助パッチ情報圧縮モジュール(338)と、エントロピー圧縮モジュール(334)と、マルチプレクサ部(324)とを含み、これらは
図3に示すように互いに接続されている。
【0030】
本開示の一態様によれば、V-PCCエンコーダ(300)は、圧縮された点群を復元された点群に変換し戻すのに必要ないくつかのメタデータ(例えば、占有マップおよびパッチ情報)とともに、3D点群フレームを画像ベースの表現に変換する。いくつかの例では、V-PCCエンコーダ(300)は、3D点群フレームをジオメトリ画像、テクスチャ画像および占有マップに変換し、その後映像符号化技術を使用して、ジオメトリ画像、テクスチャ画像および占有マップをビットストリームに符号化してもよい。概して、ジオメトリ画像は、画素に投影された点に関連付けられたジオメトリ値で満たされた画素を有する2D画像であり、ジオメトリ値で満たされた画素は、ジオメトリサンプルと呼ばれてもよい。テクスチャ画像は、画素に投影された点に関連付けられたテクスチャ値で満たされた画素を有する2D画像であり、テクスチャ値で満たされた画素はテクスチャサンプルと呼ばれてもよい。占有マップは、パッチによって占有されているか、または占有されていないかを示す値で満たされた画素を有する2D画像である。
【0031】
パッチ生成モジュール(306)は、重なり合っていてもいなくてもよいパッチの組(例えば、パッチは、点群によって説明される表面の連続したサブセットとして定義される)に、点群をセグメント化するので、各パッチが2D空間内の平面に対する深度フィールドによって説明されてもよい。いくつかの実施形態では、パッチ生成モジュール(306)は、再構築エラーを最小化しながら、点群を平滑な境界を有する最小数のパッチに分解することを目的とする。
【0032】
パッチ情報モジュール(304)は、パッチのサイズおよびパッチの形状を示すパッチ情報を収集してもよい。いくつかの例では、パッチ情報を画像フレームにパッキングし、その後補助パッチ情報圧縮モジュール(338)によって符号化して、圧縮された補助パッチ情報を生成してもよい。
【0033】
パッチパッキングモジュール(308)は、抽出されたパッチを2次元(2D)グリッド上にマッピングするが、未使用の空間を最小限に抑え、グリッドのすべての^^×^^(例えば、16×16)ブロックが固有のパッチと関連付けられることを保証するように構成される。効率的なパッチパッキングは、未使用の空間を最小化する、または時間的一貫性を保証することのいずれかによって、圧縮効率に直接影響を与える可能性がある。
【0034】
ジオメトリ画像生成モジュール(310)は、所与のパッチ位置における点群のジオメトリに関連付けられた2Dジオメトリ画像を生成してもよい。テクスチャ画像生成モジュール(312)は、所与のパッチ位置における点群のテクスチャと関連付けられた2Dテクスチャ画像を生成してもよい。ジオメトリ画像生成モジュール(310)およびテクスチャ画像生成モジュール(312)は、パッキング処理中に計算された、3Dから2Dへのマッピングを利用して、点群のジオメトリおよびテクスチャを画像として格納する。複数の点が同じサンプルに投影される場合をより良好に処理するために、各パッチは、層と呼ばれる2つの画像に投影される。一例では、ジオメトリ画像は、YUV420-8ビットフォーマットのW×Hのモノクロフレームによって表される。テクスチャ画像を生成するために、テクスチャ生成手順は、再サンプリングされた点に関連付けられる色を計算するために、再構築されたジオメトリ/平滑化されたジオメトリを利用する。
【0035】
占有マップモジュール(314)は、各単位で埋め込み情報を説明する占有マップを生成してもよい。例えば、占有画像は、グリッドの各セルに対して、セルが空の空間に属する、または点群に属するか否かを示すバイナリマップを含む。一例では、占有マップは、画素が埋め込まれているか否かを画素ごとに説明するバイナリ情報を使用する。別の例では、占有マップは、画素のブロックが埋め込まれているか否かを画素のブロックごとに説明するバイナリ情報を使用する。
【0036】
占有マップモジュール(314)によって生成された占有マップは、可逆符号化または非可逆符号化を使用して圧縮してもよい。可逆符号化が使用される場合、エントロピー圧縮モジュール(334)が、占有マップを圧縮するために使用され、非可逆符号化が使用される場合、映像圧縮モジュール(332)が、占有マップを圧縮するために使用される。
【0037】
パッチパッキングモジュール(308)は、画像フレーム内にパッキングされた2Dパッチ同士の間にいくつかの空きスペースを残してもよいことに留意されたい。画像埋込モジュール(316)および(318)は、2D映像および画像コーデックに適する可能性がある画像フレームを生成するために、空きスペースを満たしてもよい(埋め込みと呼ばれる)。画像埋め込みは、冗長情報によって未使用の空間を満たすことができる背景塗りつぶしとも呼ばれる。いくつかの例では、良好な背景塗りつぶしは、パッチ境界の周りに著しい符号化歪みを生じさせないようにしながら、ビットレートを最小限増加させる。
【0038】
映像圧縮モジュール(322)、(323)、および(332)は、HEVC、VVCなどの適切な映像符号化規格に基づいて、埋め込まれたジオメトリ画像、埋め込まれたテクスチャ画像、および占有マップなどの2D画像を符号化してもよい。一例では、映像圧縮モジュール(322)、(323)、および(332)は、別々に動作する個別の構成要素である。別の例では、映像圧縮モジュール(322)、(323)、および(332)を単一の構成要素として実装できることに留意されたい。
【0039】
いくつかの例では、平滑化モジュール(336)は、再構築されたジオメトリ画像の平滑化された画像を生成するように構成される。平滑化された画像情報は、テクスチャ画像生成(312)に提供してもよい。その後、テクスチャ画像生成(312)は、再構築されたジオメトリ画像に基づいて、テクスチャ画像の生成を調整してもよい。例えば、符号化および復号の際にパッチ形状(例えば、ジオメトリ)に多少の歪みがある場合には、テクスチャ画像を生成する際にその歪みを考慮して、パッチ形状の歪みを補正するようにしてもよい。
【0040】
いくつかの実施形態では、グループ拡張(320)は、符号化利得、ならびに再構築された点群の視覚的品質を改善するために、冗長な低周波数コンテンツで物体境界の周りに画素を埋め込むように構成される。
【0041】
マルチプレクサ部(324)は、圧縮されたジオメトリ画像、圧縮されたテクスチャ画像、圧縮された占有マップ、および圧縮された補助パッチ情報を、圧縮されたビットストリームに多重化してもよい。
【0042】
図4は、いくつかの実施形態による、点群フレームに対応する圧縮されたビットストリームを復号するためのV-PCCデコーダ(400)のブロック図を示す。いくつかの実施形態では、V-PCCデコーダ(400)は、通信システム(100)およびストリーミングシステム(200)で使用してもよい。例えば、デコーダ(210)は、V-PCCデコーダ(400)と同様に構成され、動作してもよい。V-PCCデコーダ(400)は、圧縮されたビットストリームを受信し、圧縮されたビットストリームに基づいて、再構築された点群を生成する。
【0043】
図4の例では、V-PCCデコーダ(400)は、デマルチプレクサ部(432)と、映像復元モジュール(434)および(436)と、占有マップ復元モジュール(438)と、補助パッチ情報復元モジュール(442)と、ジオメトリ再構築モジュール(444)と、平滑化モジュール(446)と、テクスチャ再構築モジュール(448)と、色平滑化モジュール(452)とを含み、これらは
図4に示すように互いに接続されている。
【0044】
デマルチプレクサ部(432)は、圧縮されたビットストリームを受信し、圧縮されたテクスチャ画像、圧縮されたジオメトリ画像、圧縮された占有マップ、および圧縮された補助パッチ情報に分離してもよい。
【0045】
映像復元モジュール(434)および(436)は、圧縮された画像を、適切な規格(例えば、HEVC、VVCなど)に応じて復号し、復元された画像を出力することができる。例えば、映像復元モジュール(434)は、圧縮されたテクスチャ画像を復号し、復元されたテクスチャ画像を出力し、映像復元モジュール(436)は、圧縮されたジオメトリ画像を復号し、復元されたジオメトリ画像を出力する。
【0046】
占有マップ復元モジュール(438)は、圧縮された占有マップを、適切な規格(例えば、HEVC、VVCなど)に応じて復号し、復元された占有マップを出力することができる。
【0047】
補助パッチ情報復元モジュール(442)は、圧縮された補助パッチ情報を、適切な規格(例えば、HEVC、VVCなど)に応じて復号し、復元された補助パッチ情報を出力することができる。
【0048】
ジオメトリ再構築モジュール(444)は、復元されたジオメトリ画像を受信し、復元された占有マップおよび復元された補助パッチ情報に基づいて、再構築された点群ジオメトリを生成することができる。
【0049】
平滑化モジュール(446)は、パッチの縁における不一致を平滑化することができる。平滑化手順は、圧縮アーチファクトに起因してパッチ境界で生じる可能性がある潜在的な不連続性を緩和することを目的とする。いくつかの実施形態では、パッチ境界上に位置する画素に平滑化フィルタを適用して、圧縮/復元によって生じる可能性がある歪みを緩和してもよい。
【0050】
テクスチャ再構築モジュール(448)は、復元されたテクスチャ画像および平滑化されたジオメトリに基づいて、点群内の点のテクスチャ情報を決定することができる。
【0051】
色平滑化モジュール(452)は、色の不一致を平滑化することができる。3D空間内の隣接していないパッチは、2D映像内で互いに隣接してパッキングされることが多い。いくつかの例では、隣接していないパッチからの画素値は、ブロックベースの映像コーデックによって混合される場合がある。色平滑化の目的は、パッチ境界に現れる可視アーチファクトを削減することである。
【0052】
図5は、本開示の一実施形態による映像デコーダ(510)のブロック図を示す。映像デコーダ(510)は、V-PCCデコーダ(400)で使用してもよい。例えば、映像復元モジュール(434)および(436)と、占有マップ復元モジュール(438)とは、映像デコーダ(510)と同様に構成してもよい。
【0053】
映像デコーダ(510)は、解析部(520)を含み、例えば符号化された映像シーケンスのような圧縮された画像からシンボル(521)を再構築してもよい。これらのシンボルのカテゴリには、映像デコーダ(510)の動作を管理するために使用される情報が含まれる。解析部(520)は、受信された符号化された映像シーケンスを解析/エントロピー復号することができる。符号化された映像シーケンスの符号化は、映像符号化技術または映像符号化規格に従ったものであってもよく、可変長符号化、ハフマン符号化、文脈依存性がある算術符号化または文脈依存性がない算術符号化などを含む様々な原理に従うものであってもよい。解析部(520)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化された映像シーケンスから、映像デコーダにおける、画素のサブグループのうちの少なくとも1つのサブグループパラメータの組を抽出してもよい。サブグループには、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれてもよい。解析部(520)はまた、符号化された映像シーケンスから、変換係数、量子化部パラメータ値、動きベクトルなどのような情報を抽出してもよい。
【0054】
解析部(520)は、シンボル(521)を作成するために、バッファメモリ部から受信した映像シーケンスに対してエントロピー復号動作/エントロピー解析動作を実行することができる
【0055】
シンボル(521)の再構築は、符号化された映像ピクチャまたはその一部(例えば、インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロック)のタイプ、およびその他の要因に依存して、複数の異なるユニットを含んでもよい。どのユニットがどのように関与するかは、解析部(520)によって符号化された映像シーケンスから解析されたサブグループ制御情報によって、制御することができる。解析部(520)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、分かりやすくするために図示していない。
【0056】
既に述べた機能ブロックを超えて、映像デコーダ(510)は、以下に説明するように概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明する目的で、以下の機能ユニットに概念的に細分化することが適切である。
【0057】
第1のユニットはスケーラ部/逆変換ユニット(551)である。スケーラ部/逆変換ユニット(551)は、量子化された変換係数、ならびに制御情報などを、解析部(520)からシンボル(521)として受信し、この制御情報は、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリングマトリクスなどを含む。スケーラ部/逆変換ユニット(551)は、集約部(555)に入力されてもよいサンプル値を含むブロックを出力してもよい。
【0058】
場合によっては、スケーラ部/逆変換(551)の出力サンプルは、イントラ符号化されたブロックに関連してもよく、すなわち、このイントラ符号化されたブロックは、前に再構築されたピクチャからの予測情報を使用していないが、カレントピクチャの、前に再構築された部分からの予測情報を使用することができるブロックである。このような予測情報は、ピクチャ内予測ユニット(552)によって提供することができる。場合によっては、ピクチャ内予測ユニット(552)は、カレントピクチャバッファ部(558)から取り出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび同じ形状のブロックを生成する。カレントピクチャバッファ部(558)は、例えば、部分的に再構築されたカレントピクチャおよび/または完全に再構築されたカレントピクチャをバッファリングする。集約部(555)は、場合によっては、イントラ予測ユニット(552)が生成した予測情報を、スケーラ部/逆変換ユニット(551)によって提供される出力サンプル情報に、サンプル単位で追加する。
【0059】
他の場合では、スケーラ部/逆変換ユニット(551)の出力サンプルは、インター符号化されて動き補償された可能性があるブロックに関連してもよい。このような場合では、動き補償予測ユニット(553)は、予測に使用されるサンプルを取り出すために参照ピクチャメモリ部(557)にアクセスしてもよい。ブロックに関連するシンボル(521)に応じて取り出されたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、集約部(555)によって、スケーラ部/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加されてもよい。動き補償予測ユニット(553)が予測サンプルを取り出す、参照ピクチャメモリ部(557)内のアドレスは、動きベクトルによって制御してもよく、この動きベクトルは、例えばX、Yなどのシンボル(521)の形式で動き補償予測ユニット(553)が利用可能であり、参照ピクチャ構成要素を有してもよい。動き補償はまた、サブサンプルの正確な動きベクトルが使用されている場合に参照ピクチャメモリ部(557)から取り出される、サンプル値の補間と、動きベクトル予測機構と、などを含んでもよい。
【0060】
集約部(555)の出力サンプルは、ループフィルタユニット(556)における様々なループフィルタ処理技術を適用されてもよい。映像圧縮技術は、ループフィルタ技術を含んでもよく、このループフィルタ技術は、符号化された映像シーケンス(符号化された映像ビットストリームとも呼ばれる)に含まれるパラメータによって制御され、解析部(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、符号化されたピクチャまたは符号化された映像シーケンスの、(復号順での)前の部分を復号する間に取得されたメタ情報に応えてもよく、ならびに前に再構築されてループフィルタリングされたサンプル値に応えてもよい。
【0061】
ループフィルタユニット(556)の出力は、レンダリングデバイスに出力してもよいサンプルストリームであってもよく、将来のピクチャ間予測に使用するために参照ピクチャメモリ部(557)に格納されてもよい、サンプルストリームであってもよい。
【0062】
完全に再構築されると、特定の符号化されたピクチャは、将来の予測のための参照ピクチャとして使用することができる。例えば、カレントピクチャに対応する符号化されたピクチャが完全に再構築され、符号化されたピクチャが参照ピクチャとして(例えば、解析部(520)によって)識別されると、カレントピクチャバッファ部(558)は参照ピクチャメモリ部(557)の一部になってもよく、新しいカレントピクチャバッファ部は、後続の符号化されたピクチャの再構築を開始する前に再配置されてもよい。
【0063】
映像デコーダ(510)は、ITU-T勧告H.265などの規格における所定の映像圧縮技術に応じて、復号動作を実行してもよい。符号化された映像シーケンスは、シンタックスに準拠してもよく、このシンタックスは、映像圧縮技術または映像圧縮規格によって指定され、この映像圧縮技術または映像圧縮規格は、符号化された映像シーケンスが、映像圧縮技術または映像圧縮規格のシンタックスと、映像圧縮技術または映像圧縮規格に文書化されたプロファイルとの両方に準拠するという意味で使用される。具体的には、プロファイルは、映像圧縮技術または映像圧縮規格で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択してもよい。また、コンプライアンスのために必要である場合があるのは、符号化された映像シーケンスの複雑さが、映像圧縮技術または映像圧縮規格のレベルによって定義される範囲内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、符号化された映像シーケンスにおいてシグナリングされたHRDバッファ管理のためのメタデータおよび仮想参照デコーダ(HRD)仕様によってさらに制限されてもよい。
【0064】
図6は、本開示の一実施形態による映像エンコーダ(603)のブロック図を示す。映像エンコーダ(603)は、点群を圧縮するV-PCCエンコーダ(300)において使用してもよい。一例では、映像圧縮モジュール(322)および(323)と、映像圧縮モジュール(332)とは、エンコーダ(603)と同様に構成される。
【0065】
映像エンコーダ(603)は、埋め込まれたジオメトリ画像、埋め込まれたテクスチャ画像などの画像を受信し、圧縮された画像を生成してもよい。
【0066】
一実施形態によれば、映像エンコーダ(603)は、リアルタイムで、または応用形態によって要求される任意の他の時間制約下で、源映像シーケンスのピクチャ(画像)を符号化して、符号化された映像シーケンス(圧縮された画像)に圧縮することができる。適切な符号化速度を強制することは、制御部(650)の1つの機能である。いくつかの実施形態では、制御部(650)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に接続されている。この接続は、分かりやすくするために図示していない。制御部(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化部、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大動きベクトル探索領域などを含んでもよい。制御部(650)は、特定のシステム設計に最適化された映像エンコーダ(603)に関連する、他の適切な機能を有するように構成されてもよい。
【0067】
いくつかの実施形態では、映像エンコーダ(603)は、符号化ループで動作するように構成される。過度に簡略化された説明として、一例では、符号化ループは、源符号化部(630)と(例えば、符号化される予定の入力ピクチャ、および参照ピクチャに基づいて、シンボルストリームなどのシンボルを生成する機能を担当する)、映像エンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含んでもよい。デコーダ(633)は、(リモート)デコーダも作成するのと同様の方法でサンプルデータを作成するために、シンボルを再構築する(開示された主題で考慮される映像圧縮技術では、シンボルと符号化された映像ビットストリームとの間のいずれの圧縮も可逆的であるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ部(634)に入力される。シンボルストリームの復号は、デコーダの位置(ローカルまたはリモート)とは無関係にビット単位で正確な結果をもたらすので、参照ピクチャメモリ部(634)内の内容もローカルエンコーダとリモートエンコーダとの間においてもビット単位で正確である。言い換えれば、参照ピクチャとして、エンコーダの予測部が「見る」のは、復号中に予測を使用する場合にデコーダが「見る」のと全く同じサンプル値である。この参照ピクチャ同期性の基本原理(例えば通信路エラーがあることにより同期性を維持することができない場合、結果として生じるドリフト)は、いくつかの関連技術においても使用される。
【0068】
「ローカル」デコーダ(633)の動作は、映像デコーダ(510)などの「リモート」デコーダの動作と同じとすることができ、これについては
図5に関連して詳細に既に前述した。しかしながら、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピー符号化部(645)および解析部(520)によって符号化された映像シーケンスにシンボルを符号化/復号することは可逆であってもよいので、解析部(520)を含む映像デコーダ(510)のエントロピー復号部は、ローカルデコーダ(633)に完全に実装されない場合がある。
【0069】
ここまでの説明で考えることができる観察の結果は、デコーダ内に存在する解析/エントロピー復号を除く任意のデコーダ技術もまた、対応するエンコーダ内に実質的に同一の機能形式で存在する必要があるということである。このため、開示された主題では、デコーダ動作に重点を置いている。エンコーダ技術の説明は、エンコーダ技術が、包括的に説明されたデコーダ技術の逆のものであるので省略することができる。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0070】
動作中に、いくつかの例では、源符号化部(630)は、動き補償予測符号化を実行してもよく、この動き補償予測符号化は、「参照ピクチャ」として指定された映像シーケンスからの1つ以上の前に符号化されたピクチャを参照して、入力ピクチャを予測的に符号化する。このようにして、符号化エンジン部(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択されてもよい参照ピクチャの画素ブロックとの間の差分を符号化する。
【0071】
ローカル映像デコーダ(633)は、源符号化部(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定されてもよいピクチャの符号化された映像データを復号してもよい。符号化エンジン部(632)の動作は、有利には非可逆処理であってもよい。符号化された映像データが映像デコーダ(
図6には不図示)で復号されてもよい場合、再構築された映像シーケンスは、通常、いくつかのエラーを有する源映像シーケンスのレプリカであってもよい。ローカル映像デコーダ(633)は、復号処理を複製し、この復号処理は、映像デコーダによって参照ピクチャに対して実行されてもよく、再構築された参照ピクチャを参照ピクチャキャッシュ部(634)に格納させてもよい。このようにして、映像エンコーダ(603)は、再構築された参照ピクチャのコピーをローカルに格納することができ、この参照ピクチャのコピーは、遠端の映像デコーダによって取得される再構築された参照ピクチャとして、共通の内容を有する(送信エラーなしの場合)。
【0072】
予測子(635)は、符号化エンジン部(632)の予測探索を実行してもよい。すなわち、符号化される予定の新しいピクチャに対して、予測子(635)は、参照ピクチャメモリ部(634)を探索してもよく、この探索は、(候補参照画素ブロックとしての)サンプルデータ、または、新しいピクチャに対しての適切な予測参照として機能してもよい、参照ピクチャの動きベクトル、ブロック形状などの特定のメタデータを求めて行われる。予測子(635)は、適切な予測参照を見つけるために、サンプルブロック×画素ブロックの単位ごとに動作することができる。場合によっては、予測子(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ部(634)に格納された複数の参照ピクチャから描画された予測参照を有してもよい。
【0073】
制御部(650)は、源符号化部(630)の符号化動作を管理してもよく、この符号化動作は、例えば、映像データを符号化するために使用されるパラメータおよびサブグループパラメータを設定することを含む。
【0074】
すべての前述の機能ユニットの出力は、エントロピー符号化部(645)においてエントロピー符号化を適用されてもよい。エントロピー符号化部(645)は、ハフマン符号化、可変長符号化、算術符号化などの技術に応じてシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化された映像シーケンスに変換する。
【0075】
制御部(650)は、映像エンコーダ(603)の動作を管理してもよい。符号化中に、制御部(650)は、各符号化されたピクチャに特定の符号化されたピクチャタイプを割り当ててもよく、これにより、それぞれのピクチャに適用されてもよい符号化技術に影響を及ぼしてもよい。例えば、ピクチャは、以下のピクチャタイプのうちの1つとして割り当てられることが多い。
【0076】
イントラピクチャ(Iピクチャ)は、シーケンス内の他のピクチャを予測の源として使用せずに符号化して復号可能なピクチャであってもよい。いくつかの映像コーデックは、例えば、独立復号リフレッシュ(「IDR」)ピクチャを含む異なるタイプのイントラピクチャを可能にする。当業者であれば、Iピクチャのこれらの変形形態と、変形形態それぞれの応用形態および特徴とを認識する。
【0077】
予測ピクチャ(Pピクチャ)は、イントラ予測またはインター予測を使用して、符号化されて復号されてもよいピクチャであってもよく、これらのイントラ予測またはインター予測は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび1つの参照インデックスを使用する。
【0078】
双方向予測ピクチャ(Bピクチャ)は、イントラ予測またはインター予測を使用して、符号化されて復号されてもよいピクチャであってもよく、これらのイントラ予測またはインター予測は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび2つの参照インデックスを使用する。同様に、複数予測ピクチャは、単一のブロックの再構築のために3つ以上の参照ピクチャおよび関連付けられたメタデータを使用することができる。
【0079】
源ピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16のサンプルのブロック)に空間的に細分化され、ブロックごとに符号化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割当によって決定された他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、または同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照して、空間予測、または時間予測を介して、予測的に符号化されてもよい。Bピクチャのブロックは、1つまたは2つの前に符号化された参照ピクチャを参照して、空間予測、または時間予測を介して、予測的に符号化されてもよい。
【0080】
映像エンコーダ(603)は、ITU-T勧告H.265などの所定の映像符号化技術または映像符号化規格に応じて符号化動作を実行してもよい。その動作では、映像エンコーダ(603)は、入力映像シーケンスにおける時間冗長度および空間冗長度を利用する予測符号化動作を含む、様々な圧縮動作を実行してもよい。したがって、符号化された映像データは、使用されている、映像符号化技術または映像符号化規格によって指定されたシンタックスに準拠してもよい。
【0081】
映像は、時系列における複数の源ピクチャ(画像)の形式であってもよい。ピクチャ内予測(イントラ予測と略されることが多い)は、所与のピクチャにおける空間相関を利用し、ピクチャ間予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、カレントピクチャと呼ばれる、符号化中/復号中の特定のピクチャが、ブロックに分割される。カレントピクチャ内のブロックが、映像内における前に符号化されてまだバッファされている参照ピクチャ内の参照ブロックに類似している場合、カレントピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有してもよい。
【0082】
いくつかの実施形態では、ピクチャ間予測で双予測技術を使用してもよい。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらの参照ピクチャは両方とも、復号順において映像内のカレントピクチャより前にある(しかし、表示順では、それぞれ過去および未来にあってもよい)。カレントピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
【0083】
さらに、符号化効率を改善するために、ピクチャ間予測でマージモード技術を使用することができる。
【0084】
本開示のいくつかの実施形態によれば、ピクチャ間予測およびピクチャ内予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、映像ピクチャのシーケンス内のピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、または16×16画素などの同じサイズを有する。一般に、CTUは、1個の輝度CTBおよび2個のクロマCTBである3個の符号化ツリーブロック(CTB)を含む。各CTUは、1つ以上の符号化ユニット(CU)に再帰的に4分木分割することができる。例えば、64×64画素のCTUは、64×64画素の1個のCU、32×32画素の4個のCU、または16×16画素の16個のCUに分割することができる。一例では、各CUは、インター予測タイプまたはイントラ予測タイプなどのCUに対する予測タイプを決定するために分析される。CUは、時間的な予測可能性および/または空間的な予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、輝度予測ブロック(PB)と、2個のクロマPBとを含む。一実施形態では、符号化(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例として輝度予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素の値のマトリクス(例えば、輝度値)を含む。
【0085】
提案された方法は、別々に使用されてもよく、任意の順序で組み合わせられてもよい。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実施されてもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0086】
点群符号化(PCC)は、様々な応用形態に広く使用することができる。例えば、PCCは、物体検出および位置特定のために自動運転において使用してもよい。別の例では、PCCは、マッピングのために地理情報システム(GIS)において使用することができ、また、文化的遺産の物体および収集物などを視覚化してアーカイブするために、文化的遺産において使用してもよい。
【0087】
前述したように、点群は、3次元(3D)点の組を含み、点の各々が3D位置情報と、色、反射率などの追加の属性とを含む。一例では、点群は、複数のカメラおよび複数の深度センサを使用して取り込んでもよい。別の例では、様々な構成のLidarを使用して点群を取り込んでもよい。点群は、元の風景を現実感があるように表現するために、数千~数十億の点で構成してもよい。より高速なデータ送信、または記憶装置の削減を目的として、点群を表すために必要なデータ量を削減するために、圧縮技術が必要とされる。
【0088】
いくつかの例では、デカルト座標系をPPCにおいて使用してもよい。例えば、点群内の点は、3Dデカルト座標(x,y,z)および関連付けられた属性ベクトル(a1,...,aN)で表すことができ、Nは属性ベクトルの寸法であり、任意の適切な整数であってもよい。一例では、Nは4である。例えば、a1、a2、a3は、R、G、B色符号化方式またはY、U、V色符号化方式などの色情報であってもよく、a4は反射率であってもよい。
【0089】
いくつかの例では、点群はLidarによって取り込まれる。関連付けられた属性ベクトルは反射率のみを含み、色情報を含まないので、Nは1であり、a1は点の反射率である。
【0090】
いくつかの実施形態では、3D座標と属性ベクトルとを組み合わせてもよい。例えば、ベクトル(x,y,z,a1,...,aN)を使用して、点群内の点に関するすべての情報を搬送してもよい。
【0091】
kd木および8分木と呼ばれる2種類の木構造を、点群圧縮に使用してもよい。一例では、点群内の点は、(x,y,z,a1,...,aN)の形式などで、3D座標ベクトルと属性ベクトルとが組み合わせられたベクトルを使用して表される。組み合わせられたベクトルに基づいて、kd木が構築され、圧縮される。
【0092】
別の例では、8分木は、3Dデカルト座標(x,y,z)に基づいて構築され、圧縮されてもよい。その後、属性ベクトルは、対応するジオメトリ隣接情報を利用することによって、8分木とは別に圧縮される。
【0093】
kd木ベースの点群圧縮は比較的単純である。一方、8分木ベースの方法は、3D空間内の点の不規則性に起因して複雑であることが多く、8分木方法は、点群を囲む3D境界ボックス全体をトラバースする必要がある。さらに、属性ベクトルは、3D座標が圧縮され再構築された後に、別々に圧縮される必要がある。
【0094】
本開示のいくつかの態様は、点群符号化において3D極座標系を使用するための方法を提供する。3D極座標系を使用すると、PCCを単純化し、Lidarなどの特定の応用形態の符号化効率を向上させることができる。Lidarは、PCCにおける3D極座標系を使用するための例として以下の説明で使用されており、3D極座標系は、PCCの他の応用形態で使用してもよいことに留意されたい。
【0095】
図7は、本開示のいくつかの実施形態による、Lidarによって生成された点群の圧縮処理の図を示す。
図7の例では、Lidarによって生成された生データが圧縮され、生データを最終的な点群に変換するために使用されるすべての必要なメタデータ情報が、生データとは別に圧縮される。例えば、Lidar生データが圧縮されて生データビットストリームが生成され、メタデータが圧縮されてメタデータビットストリームが生成される。その後、生データビットストリームとメタデータビットストリームとが多重化などによって組み合わせられ、組み合わせられたビットストリームが生成される。
図7の圧縮処理は、関連する例とは異なり、この関連する例は、メタデータに基づいて、Lidar生データを最終的な点群に変換し、その後最終的な点群を圧縮する。
【0096】
図8は、
図7に応じて生成された組み合わせられたビットストリームの復元処理の図を示す。組み合わせられたビットストリームは、生データビットストリームおよびメタデータビットストリームに逆多重化される。生データストリームを復元してLidar生データを再構築することができ、メタデータビットストリームを復元してメタデータを再構築することができる。その後、
図8の例のメタデータに基づいて、Lidarの生データを最終的な点群に変換する。
【0097】
いくつかの実施形態では、Lidar生データは3D極座標系で収集される。したがって、いくつかの実施形態では、Lidarデータの圧縮、Lidarデータの復元、および最終的な点群の構築は、3D極座標系で実行してもよい。Lidar生データおよび関連付けられたメタデータと、Lidar生データおよび関連付けられたメタデータの、圧縮および復元の処理モジュールと、最終的な点群の構築などの処理モジュールとは、以下の説明で詳細に説明される。
【0098】
本開示の一態様によれば、Lidar生データは、Lidarセンサによって収集される。Lidarセンサは、レーザパルスを放射する1つ以上のレーザデバイスと、測距のために物体表面から戻ってくるパルスを検出する1つ以上の受信デバイスと、回転するミラーまたは回転するプラットフォームであってもよい走査デバイスであって、回転するミラーまたは回転するプラットフォームが、レーザおよび受信デバイスを一緒に回転させてセンサの周囲の環境を走査することを可能にする、走査デバイスとを含んでもよい。
【0099】
Lidarセンサは、通常、複数のレーザパルス(光線)、例えば、16の光線、32の光線、または64の光線などを、所与の回転角度phi(φ)で送る。
【0100】
図9は、本開示のいくつかの実施形態による、2つの光線を使用するLidarの例を示す図である。2つの光線が使用されているが、
図9の概念は、任意の適切な数の光線に拡張してもよい。
【0101】
図9の例では、θ
1およびθ
1は仰角を表し、φ
1およびφ
2はそれぞれ対応する2つのレーザ光線の回転角を表す。一般性を失うことなく、φ
1およびφ
2は等しいと仮定される。実際には、φ
1およびφ
2はわずかに異なる場合があるが、その差分は固定することができ、Lidar生データから最終的な点群が生成される時点で補正することができ、このことは較正を参照して説明する。
【0102】
いくつかの例では、N光線Lidar(Nは正の整数)に対して、N光線に対する仰角の組は[θ1,θ2,...,θN]として表してもよく、N光線に対する回転角の組は[φ1,φ2,...,φN]として表してもよい。
【0103】
図10は、一例における32光線Lidarセンサの仰角のテーブル1を示す図である。一般性を失うことなく、回転角度は等しいと仮定され、φ
1=φ
2=...=φ
N=φとする。所与の回転角度φで仰角θを有するレーザ光線に対して、Lidarは、パルスがLidarの検出器に跳ね返される遠くにある物体の表面の3D点の距離を測定する。一方、戻りパルスの強度が測定され、測定された強度は、遠くにある物体の表面の反射率を示すために使用される。
【0104】
図11は、レーザ光線を使用して3D点の距離および反射率を測定するための一例を示す図である。
図11は、3D極座標系での、遠くにある物体の3D点(1101)を示す。3D点(1101)は、極座標(d,φ,θ)および属性(i)を有し、ここで、dは距離を表し、iはLidarによって測定することができる強度を表す。
【0105】
一般に、360度全角度の走査のために、Lidarセンサは、連続的に走査するレーザに対して、M個の離散時間の組と、[φ(1),φ(2),...,φ(M)]として表される、離散時間の組に対応する異なる回転角度とで、レーザパルスを送ることができる。いくつかの例では、生レーザデータは、2Dマトリクスを使用して表してもよい。
【0106】
図12は、寸法N×Mを有する2-Dマトリクスの形式のLidar生データについてのテーブル2を示し、ここで、Nはレーザ光線の数を表し、Mはレーザパルスを送るための離散時間の数を表す。
【0107】
いくつかの例では、
図12に示すような2DマトリクスのLidar生データは、360度走査全体に対応し、Lidar生データの1つのフレームと呼ばれる。Lidarセンサが周囲の環境を連続的に走査すると、Lidar生データの複数のフレームを生成することができる。
【0108】
異なるメーカのLidarセンサは、回転角度の組、すなわち[φ(1),φ(2),...,φ(M)]に関して異なる特性を有する場合があることに留意されたい。いくつかの例では、いくつかのLidarセンサでは、回転角度の組はすべてのフレームに対して同じであるので、回転角度の組は、メタデータビットストリーム内のメタデータとして1回送信してもよい。いくつかの例では、いくつかのLidarセンサでは、回転角度の組は異なるフレームに対して正確に同じでなくてもよく、したがって、回転角度の組は、各フレームの生データビットストリームで搬送される必要があってもよい。
【0109】
いくつかの実施形態では、仰角の組[θ1,θ2,...,θN]は各フレームに対して同じであるので、仰角の組はメタデータビットストリーム内のメタデータとして1回送信してもよいことに留意されたい。
【0110】
Lidar生データは3D極座標系で収集してもよいが、本開示のいくつかの態様は、3D極座標系でLidar生データを圧縮する技術を提供する。Lidar生データの圧縮処理は、Lidar生データの前処理と、距離および強度情報の圧縮と、回転角度の圧縮とを含むことができ、これらはそれぞれ説明する。
【0111】
いくつかの実施形態では、Lidar生データの圧縮前に、後の圧縮ステップの効率を改善するのを助けるために、いくつかの前処理ステップを行ってもよい。いくつかの実施形態では、前処理ステップは、再成形ステップ、閾値処理ステップ、対数スケールステップ、および複数のフレームの積み重ねステップのうちの1つ以上を含んでもよい。
【0112】
一実施形態では、仰角はLidar生データでは順序付けられない。前処理では、仰角が昇順、降順などの特定の順序で順序付けられるように、2DのLidar生データマトリクスの行を交換してもよい。交換動作は再成形ステップと呼ばれる。特定の順序で隣接する行は、より近いベクトル値を有する確率がより高く、したがって圧縮効率を改善することができる。
【0113】
図13は、2Dマトリクスにおける並べ替えられたLidar生のテーブル3を示す。2DマトリクスはN×Mの寸法を有する。一例では、2DのLidar生データの行は、仰角を昇順に順序付けるために入れ替えられる。したがって、
図12の仰角の組[θ
1,θ
2,...,θ
N]は、[θ’
1,θ’
2,...,θ’
N]になり、ここでθ’
1<θ’
2<...<θ’
Nである。行交換時には、対応する距離および対応する強度値が、仰角とともに交換されることに留意されたい。交換された値は、n=1,...,N、およびm=1,...,Mのとき、{(d’
n,m,i’
n,m)}として表される。
【0114】
いくつかの実施形態では、Lidarセンサからの距離測定値は、小さい距離または大きい距離に対して信頼性がないので、DistanceThreshlowおよびDistanceThreshhighなどの2つの閾値を設定してもよい。dn,m<DistanceThreshlowまたはdn,m>DistanceThreshhighの場合の、距離dn,m(n=1,...,Nおよびm=1,...,M)に対して、距離dn,mは、この点を無視できることを示す「0」などの特定の値に設定してもよい。同様に、対応する強度情報in,mは、0などの特定の値に設定してもよい。一例では、閾値DistanceThreshlow=0.9mおよびDistanceThreshhigh=120mである。このステップは閾値処理ステップと呼ばれる。
【0115】
いくつかの実施形態では、距離情報のダイナミックレンジが大きすぎる場合、対数スケールを使用して距離情報を表してもよい。例えば、変数
【数1】
が距離の対数スケールを表すために使用され、変数yは中間変数である。距離の対数スケールは、
【数2】
として算出してもよく、ここで、C1、C2は2つの正の定数であり、int(a)はaの整数部分を取得する演算であり、sign(b)はbの符号値を取得する演算である。例えば、b>=0の場合、sign(b)=1であり、b<0の場合、sign(b)=-1である。このステップは対数スケールステップと呼ばれる。
【0116】
いくつかの実施形態では、各フレームを別々に処理する代わりに、Lidar生データの複数のフレームを圧縮前に組み合わせてもよい。例えば、複数のLidar生データマトリクスを垂直に積み重ねて、(kN)×Mの寸法を有する大きな2Dマトリクスを形成することができ、ここで、kは一緒に積み重なるフレームの数である。このステップは、複数フレームの積み重ねステップと呼ばれる。
【0117】
いくつかの例では、上記の前処理ステップのうちの1つ(再成形ステップ、閾値処理ステップ、対数スケールステップ、および複数フレームの積み重ねステップ)のみが使用されることに留意されたい。いくつかの他の例では、前述のステップからの2つまたは3つのステップが一緒に使用される。いくつかの他の例では、4つのステップのすべてが利用される。
【0118】
本開示の一態様によれば、前処理ステップの後に、距離情報および強度情報を圧縮してもよい。例として
図12のテーブル2を使用すると、各Lidar生データフレームは2Dマトリクスとして表され、2D画像として扱ってもよい。
【0119】
いくつかの実施形態では、各Lidar生データフレームは、2つの別のモノクロ画像として扱われ、一方のモノクロ画像は、n=1,...,Nおよびm=1,...,Mのときに{dn,m}として表される距離画像であり、そして、他方のモノクロ画像は、n=1,...,Nおよびm=1,...,Mのときに{in,m}として表される強度画像である。
【0120】
一例では、
図14は、N=64およびM=2080のサイズの距離画像の一部を示し、
図15は、N=64およびM=2080のサイズの強度画像の一部を示す。
図14および
図15では、明るさは画素値を示すために使用される。例えば、明るい色は大きな値を示し、暗い色は小さな値を示す。MはNよりもはるかに大きいので、距離画像および強度画像は非常に細いことから、
図14および
図15は距離画像および強度画像の一部を示していることに留意されたい。
【0121】
図16は、N=0,...,64およびM=0,...,191を有する距離画像の拡大部分を示し、
図17は、N=0,...,64およびM=0,...,191を有する強度画像の拡大部分を示す。
【0122】
いくつかの実施形態では、複数の連続するフレームを垂直に積み重ねて、より大きな距離画像および強度画像を形成してもよい。
【0123】
図18は、3つの連続するフレームを垂直に積み重ねて形成されたより大きなフレームの距離値を有する距離画像を示し、そして
図19は、3つの連続するフレームを垂直に積み重ねて形成されるより大きなフレームの強度値を有する強度画像を示す。
【0124】
図18および
図19に示すように、連続するフレーム同士の間に強い相関が存在する場合がある。したがって、いくつかの実施形態では、フレーム間相関を利用する圧縮技術は、より良好な圧縮効率を達成することができる。
【0125】
いくつかの実施形態では、(距離値と強度値との両方を有する)各フレームは、YUVの合成カラー画像として扱ってもよい。例えば、画素の場合、Y値は距離(Y=d)であり、U値は強度(U=i)であり、V値はすべての画素に対するV=128などの定数としてもよい。いくつかの例では、dは16ビット整数として表されることが多く、iは8ビット整数として表されることが多い。一実施形態では、16ビット整数dは、バイト0およびバイト1の2つのバイトに分割することができ、バイト1=b15b14b13b12b11b10b9b8、バイト0=b7b6b5b4b3b2b1b0であり、ここで、b15、b0はそれぞれdの最上位ビットおよび最下位ビットである。その後、フレームは、4つの可能な構成のうちの1つを有するカラー画像として扱ってもよい。
Y=バイト1、U=バイト0、V=i
Y=バイト0、U=バイト1、V=i
Y=i、U=バイト1、V=バイト0
Y=i、U=バイト0、V=バイト1
【0126】
モノクロ画像またはカラー画像の場合、画像圧縮および映像圧縮と呼ばれる2つの圧縮方法を利用してもよい。
【0127】
画像圧縮に対して、いくつかの実施形態では、JPEG、JPEG2000などの画像圧縮コーデックを非可逆画像圧縮に使用してもよく、一般的なffmpegソフトウェアパッケージに含まれる、JPEG-LSエンコーダまたはFFV1エンコーダを可逆画像圧縮に使用してもよい。
【0128】
したがって、距離または強度情報に対するいくらかの歪みを許容することができる例では、JPEG、JPEG2000を使用して、距離画像、強度画像、または合成カラー画像を圧縮することができる。可逆圧縮が必要な別の例では、JPEG-LSエンコーダまたはFFV1エンコーダを使用することができる。
【0129】
前述の画像圧縮コーデック以外に、任意の他の適切な画像圧縮コーデックを使用して、Lidar生データから導出された画像を圧縮することができることに留意されたい。
【0130】
映像圧縮に対して、前述のように、いくつかの実施形態では、Lidarを連続的に動作させるために、Lidar生データフレームのシーケンスが生成される。したがって、距離画像のシーケンス、強度画像のシーケンス、または合成カラー画像のシーケンスを生成することができる。さらに、時間的に隣接する画像は相関することが多い。したがって、映像圧縮コーデックを利用して、距離映像、強度映像、または合成カラー映像を圧縮することができる。
【0131】
多くの映像コーデックの中でも、H264コーデックおよびH265コーデックを、その概念を示すための例として使用することができる。いくつかの実施形態では、可逆圧縮構成または非可逆圧縮構成は品質要件に依存してもよく、H264およびH265は、品質要件に基づいて、可逆圧縮または非可逆圧縮として構成されてもよい。
【0132】
いくつかの実施形態では、ランダムアクセス要件を使用することで、全イントラ構成、低遅延構成、およびランダムアクセス構成のうちの1つを選択するか否かを決定してもよい。
【0133】
全イントラ構成に対して、すべての画像は、隣接する画像からの情報を利用せずに、別々に圧縮される。これにより、他の画像の復号に頼ることなく、任意の画像を別々に復号することができる。
【0134】
低遅延構成に対して、1つの画像の復号化は、カレント画像よりも時間的に前に現れた1つ以上の画像の復号化を必要とする場合がある。
【0135】
ランダムアクセス構成に対して、1つの画像の復号化は、カレント画像より時間的に前または後に現れる1つ以上の画像の復号化を必要とする場合がある。この構成は、より良好な圧縮効率を提供することが多い。
【0136】
さらに、360度コンテンツに対処してもよい映像コーデックが一般に好ましく、その理由は、360度映像コーデックは、3D極座標を2Dデカルト座標にマッピングするときに歪みをより良好に処理し、2D境界にわたってより効率的な予測を提供することができるからである。
【0137】
いくつかの実施形態では、回転角度の組[φ(1),φ(2),...,φ(M)]は、異なるLidar生フレームに対して正確に同じでなくてもよく、回転角度は、生データビットストリーム内のLidar生データとともに圧縮してもよい。いくつかの例では、回転角度は、各フレームに対するLidar生データとともに搬送してもよい。説明のために、Lidar生データからの回転角度の短いシーケンス、{18072,18090,18099,18117,18135,18153,18171,18189,18207,18225,18243,18261,18279,18297,18315,18324}を例として使用する。この例では、各角度は0.01度で表されている。例えば、18072は、180.72度の回転角度を表すために使用される。
【0138】
一実施形態では、隣接する回転角度同士の間の差分、すなわちφ(2)-φ(1),φ(3)-φ(2)...,φ(M)-φ(M-1)は、{δ0,...,δS-1}で表される小さなサブセットからの値を取得することが多く、ここでSは小さい数であることが多い。小さなサブセットの差分は、発生確率の降順で順序付けられてもよく、すなわち、δ0が最も頻繁に現れる。短いシーケンス例S=2を使用すると、角度差分の組は{18,9}であり、角度差分18は角度差分9よりもはるかに頻繁に現れる。したがって、各フレームに対して、φ(1)は、固定長符号化を使用して送信し、その後、m=1,...,M-1のときのδs(m)=φ(m+1)-φ(m)に対するインデックス値の組s(m)を続けて送信してもよい。
【0139】
m=1,...,M-1のときのs(m)は、切り捨てられた単項符号を使用して、バイナリビンに二値化してもよいことに留意されたい。例えば、最初の1つのビンまたは最初の2つのビンは、バイナリ算術符号を使用して適応ビンとして符号化され、残りのビンはバイパス符号化モードとして符号化される。
【0140】
テーブル{δ0,...,δL-1}は、いくつかの方法で送信してもよいことに留意されたい。一例では、テーブル{δ0,...,δL-1}を各フレームで送信してもよい。別の例では、テーブル{δ0,...,δL-1}は、テーブルがシーケンス内のすべてのフレームに対して同じである場合、フレームのシーケンスに対して1回送信される。テーブル{δ0,...,δL-1}を符号化するために、一実施形態では、テーブル内のすべての要素に対して固定長符号化が使用される。別の実施形態では、第1の要素δ0は、固定長符号化を使用して符号化され、l=1,...,L-1の差分δl-δl-1は、可能な異なる長さを有する固定長符号化を使用して符号化してもよい。前述の固定長符号化方法の長さは、異なる用途によって決定することができ、φ(1)およびδ0に対して異なってもよいことに留意されたい。
【0141】
本開示のいくつかの態様は、関連付けられたメタデータに関し、このメタデータは、Lidar生データを最終的な点群に変換し、メタデータを圧縮するために使用してもよい。
【0142】
いくつかの実施形態では、関連付けられたメタデータは、N光線Lidarセンサに対する仰角の組[θ1,θ2,...,θN]などの仰角を含む。
【0143】
関連付けられたメタデータには、較正に関するメタデータも含まれる。異なるLidarメーカは、異なる種類の較正メタデータを用いる場合がある。
【0144】
図20は、較正メタデータの例示的な組についてのテーブル4を示す。いくつかの例では、いくつかの特定のLidarでは、64個のレーザが含まれ、それぞれ32個のレーザを有する2つのブロック、すなわち上部ブロックと下部ブロックに分割される。N光線Lidarに対して、N組の較正メタデータパラメータを含めてもよい。いくつかのパラメータがテーブル4に示されている。
【0145】
関連付けられたメタデータには、動き補償に関するメタデータも含まれる。Lidarセンサが移動車両に設置されている場合、Lidar生データからのすべての点を、共通の座標に位置合わせするために、動き補償が必要であり、この共通の座標の例は、フレーム内の最後の回転角度、すなわち回転角度φ(M)における、そのLidarセンサのローカル座標などである。これを達成するために、フレーム内の各回転角度における、センサ位置および向きが必要とされてもよい。
【0146】
いくつかの例では、GPS、慣性計測装置(IMU)、距離測定センサ、またはカメラを使用して、特定の時間間隔でLidarセンサの、位置および向きを取得する。便宜上、時間tにおけるLidarセンサの、位置および向きは、それぞれ[Tx(t),Ty(t),Tz(t)]および[α(t),β(t),γ(t)]と表され、両方とも初期座標フレームを参照する。一例では、向きは、ヨー角、ロール角、およびピッチ角などのオイラー角を使用して説明してもよいことに留意されたい。別の例では、単位クォータニオン、すなわち[q0(t),q1(t),q2(t),q3(t)]が、時間tにおけるLidarセンサの向きを表すために使用される。
【0147】
したがって、いくつかの実施形態では、動き補償のためのメタデータは、以下のパラメータのシーケンスである。MetaMotionComp(t)={[Tx(t),Ty(t),Tz(t)],[α(t),β(t),γ(t)]}であり、ここで、tは、離散時間の組[t0,t1,...,tQ]からの値を取得し、ここで、[t0,tQ]は、Lidarが動作している時間範囲を含み、q=0,...,Q-1のときにtq<tq+1である。
【0148】
関連付けられたメタデータの圧縮には、仰角の圧縮、較正に関するメタデータの圧縮、および動き補償に関するメタデータの圧縮が含まれてもよい。
【0149】
仰角の圧縮についての一実施形態では、仰角の組[θ1,θ2,...,θN]に対して、各角度は、精度要件に応じて、4バイトの浮動小数点数または2バイトの浮動小数点数を使用して表され、その後角度は圧縮なしにビットストリームで直接送信される。
【0150】
別の実施形態では、仰角[θ1,θ2,...,θN]が、n=1,...,N-1のときにθn<θn+1であるようにソートされている場合、角度は整数の組[Θ1,Θ2,...,ΘN]に量子化することができ、ここで、Θn=int(CΘ×θn+0.5)であり、CΘは精度要件を満たすように選択された事前定義された定数である。したがって、一例では、Θ1と、n=2,...,NのときのΔn=Θn-Θn-1とを、ビットストリーム内の事前定義されたビット深度で送信してもよい。Δnのときのビット深度は、概して、より小さいダイナミックレンジに起因して、Θnのビット深度よりも小さいので、圧縮を達成するためにビットを節約することに留意されたい。
【0151】
仰角と同様に、較正に関するメタデータを圧縮するための一実施形態では、i=1,...,NのときのMetacalibration(i)として表される、N光線Lidarセンサに対する較正データのN組は、ビットストリーム内のそれらのネイティブ表現を用いて圧縮なしに送信してもよい。その理由は、このメタデータの組をLidar生データのすべてのフレームで共有できるからである。オーバーヘッドは重要ではない。
【0152】
別の実施形態では、第1のレーザ光線に対する較正データの1組であるMetacalibration(1)は、ネイティブ表現を使用して送信してもよく、その後残りのレーザ光線に対する較正データのデルタ、すなわちn=2,...,NのときのΔMetacalibration(n)=Metacalibration(n)-Metacalibration(n-1)を送信してもよい。ΔMetacalibration(n)は、概して、Metacalibration(n)のダイナミックレンジよりも小さいダイナミックレンジを有するので、より少ないビット数を使用してそれらを表すことができる。このようにして、圧縮を達成することができる。
【0153】
仰角と同様に、動き補償に関するメタデータを圧縮するための一実施形態では、[t0,t1,...,tQ]におけるtに対するMetaMotionComp(t)は、ビットストリーム内のそれらのネイティブ表現を使用して圧縮なしに送信してもよい。
【0154】
別の実施形態では、MetaMotionComp(t0)は、そのネイティブ表現およびデルタ情報を使用して送信される。すなわち、q=1,...,QのときのΔMetaMotionComp(tq)=Metacalibration(tq)-Metacalibration(tq-1)を送信してもよい。ΔMetaMotioComp(n)は、概して、MetaMotioComp(n)のダイナミックレンジよりも小さいダイナミックレンジを有するので、より少ないビット数を使用してそれらを表すことができる。このようにして、圧縮を達成することができる。
【0155】
Lidar生データおよび関連付けられたメタデータに基づいて、最終的な点群を構築してもよい。任意の適切な技術を使用してもよい。
【0156】
本開示のいくつかの態様は、3D極座標系を使用して点群(例えば、デカルト座標系での最終的な点群)を圧縮する技術を提供する。Lidar生データ情報を用いて点群を圧縮するためにいくつかの技術を使用してもよく、そして、いくつかの技術を使用して、Lidar生データ情報を用いずに点群を圧縮してもよい。
【0157】
いくつかの実施形態では、Lidar生データ情報を有する点群は、3D極座標系を使用して圧縮してもよい。いくつかの例では、(例えば、Lidarの生データ、較正、および動き補償に基づいて構築された)最終的な点群、および元のLidar生データ情報が利用可能である。最終的な点群は、3D極座標系で直接圧縮してもよい。最終的な点群がデカルト座標で表される例では、最終的な点群を3D極座標系に変換してもよい。例えば、点群内の点は、極座標(d,φ,θ)および属性(i)として表してもよく、ここで、dは距離を表し、iは強度を表す。
【0158】
図21は、寸法N×Mの2DマトリクスにおけるLidarからの点群のテーブル5を示す。いくつかの例では、Lidar生データは、2Dマトリクスとして表してもよく、マトリクス内の各エントリ(d
n,m,i
n,m)は、角度の対、すなわち仰角θ
nおよび回転角φ
(m)によって参照してもよい。最終的な点群の点は、較正および動き補償によって取得され、これは、(θ
n,φ
(m),d
n,mi
n,m)タプルを修正することと考えることができ、修正タプルは、(θ
n,m,φ
n,m,d’
n,mi’
n,m)として表される。一例では、i
n,mは、較正によって修正されてもよいことに留意されたい。いくつかの実施形態では、差分が使用される。例えば、仰角差分はδθ
n,m=θ
n,m-θ
nで表してもよく、回転角差分はδφ
n,m=φ
n,m-φ
(m)で表してもよい。その後、最終的な点群は、テーブル5に示す2Dマトリクスとして表してもよい。
【0159】
いくつかの例では、点群圧縮動作は、仰角の組[θ1,θ2,...,θN]の圧縮(例えば、前述の仰角の組の圧縮)と、回転角の組[φ(1),φ(2),...,φ(M)]の圧縮(例えば、前述の回転角の組の圧縮)と、n=1,...,nおよびm=1,...,Mのときの2Dマトリクス{(δθn,m,δφn,m,d’n,m,i’n,m)}の圧縮となどのいくつかのサブ動作を含んでもよい。
【0160】
一実施形態では、2Dマトリクスはkd木を使用して圧縮される。別の実施形態では、2Dマトリクスは、画像圧縮または映像圧縮を使用して圧縮される。いくつかの例では、2Dマトリクスは、4つの別の画像、すなわち{δθn,m}、{δφn,m}、{d’n,m}、{i’n,m}として扱われる。いくつかの他の例では、{(δθn,m,δφn,m,d’n,m)}をYUV画像として扱ってもよく、ここで、d’n,mはY成分であり、δθn,m、δφn,mはU、V成分であり、{i’n,m}は別の画像として扱われる。その後、前述の画像圧縮技術または前述の映像圧縮技術を使用して、異なるタイプの画像を別々に圧縮してもよい。
【0161】
3D極座標系で最終的な点群を圧縮する実施形態では、較正および動き補償に関するメタデータは必要とされず、Lidar生データを最終的な点群に変換するための較正および動き補償の動作は必要とされない。この手法は、各エントリを4タプル(δθn,m,δφn,m,d’n,m,i’n,m)として有する2Dマトリクスの圧縮を必要とし、一方でLidar生データを圧縮する手法は、各エントリを2タプル(dn,m,in,m)として有する2dDマトリクスの圧縮しか必要としない。
【0162】
いくつかの実施形態では、Lidar生データ情報のない点群(最終的な点群)は、3D極座標系を使用して圧縮してもよい。この場合、最終的な点群は、通常、k=1,...,Kのときのデカルト座標{xk,yk,zk}で表され、ここで、Kは点群内の点の数であり、簡略化するために、関連付けられた属性ベクトルは、k=1,...,Kのときの強度{ik}のみを仮定する。
【0163】
Lidarセンサからの距離測定は、短距離に対して信頼性がなく、または長距離に対して信頼性がなく、対応する点は、最終的な点群を生成するときに除外されることが多いので、最終的な点群は、Lidarセンサによって取り込まれたすべての点を含まないことが多いことに留意されたい。
【0164】
3D極座標系で点群を圧縮するために、4つの主要なステップを実行してもよい。
【0165】
第1のステップでは、デカルト座標{xk,yk,zk}を、k=1,...,Kのときの極座標(θk,φk,dk)に変換してもよい。
【0166】
第2のステップでは、極座標(θk,φk,dk)は、k=1,...,Kのとき、所定のスカラーを乗算し、丸め演算を行うことによって所定の精度で整数に量子化される。
【0167】
第3のステップでは、4分木を使用して、{(θk,φk)}を圧縮してもよい。いくつかの例では、このステップは、点群圧縮のための8分木の概念と同様に実行してもよい。
【0168】
具体的には、一例では、k=1,...,Nのときにθmin<=θk,φmin<=φkである、点Pmin={(θmin,φmin)}を求めてもよい。その後、点Pminを原点に移動させることによって{(θk,φk)}をシフトさせることで、{(θ’k,φ’k)}を取得してもよく、ここで、k=1,...,Kのとき、θ’k=θk-θmin,φ’k=φk-φminである。さらに、{(θ’k,φ’k)}における境界ボックスを見つけてもよい。例えば、θ’maxおよびφ’maxを決定してもよく、ここで、k=1,...,Nのとき、θ’max>=θ’k,φ’max<=φ’kである。境界ボックスは、4点{(0,0),(0,φ’max),(θ’max,0),(θ’max,φ’max)}を含む。いくつかの例では、簡略化するために、正方形の境界ボックスが選択され{(0,0),(0,bmax),(bmax,0),(bmax,bmax)}、ここで、bmax>=θ’max,bmax>=θ’maxは、2の整数乗として選択されることが多い。
【0169】
さらに、境界ボックスは4つの象限に分割される。象限内に少なくとも1つの点がある場合、対応する占有フラグは1であり、そうでない場合、占有フラグは0であり、したがって、1つの分割後に4ビット占有符号を取得してもよい。占有された象限は、各辺が1である単位正方形に達するまでさらに分割してもよい。4ビット占有符号は、文脈適応を用いる、バイナリ算術符号または非バイナリ算術符号を使用して符号化してもよい。
【0170】
単位正方形では、同じ座標を有する複数の点が存在する場合があることに留意されたい。いくつかの実施形態では、単位正方形内のすべての点の情報を1つの点についてマージしてもよい。一例では、距離値および属性値はそれぞれ平均化されて、マージされた点の距離および属性を形成する。いくつかの例では、象限が少数の点、例えば2を含む場合、分割を停止してもよく、これらの点の座標情報を符号化してもよい。簡略化するために、このモードはダイレクトモードと呼ばれる。一実施形態では、ダイレクトモードが許可されるか否かを示すために、フレームレベルのフラグまたはシーケンスレベルのフラグが使用される。4分木分割の葉ノードでは、ダイレクトモードがオンであるか否かを示すフラグが使用される。いくつかの例では、ダイレクトモードが選択されてもよい条件を導入することによって、その条件の下でのみ、フラグを省略してもよい。この条件は、隣接ノード占有状況に基づいて、選択されることが多い。
【0171】
第4のステップでは、距離{dk}および属性情報{ik}を圧縮してもよい。いくつかの例では、{(θk,φk)}平面内の隣接する点からの予測を選択することができ、それらの対応する予測子に対する距離値および属性値の差分のみが符号化される。いくつかの例では、2D領域適応階層変換(RAHT)を使用して、距離情報および属性情報を符号化してもよい。
【0172】
図22は、本開示の一実施形態による処理(2200)の概要を示すフローチャートである。処理(2200)は、点群を符号化するための符号化処理中に使用してもよい。様々な実施形態では、処理(2200)は、端末デバイス(110)の処理回路と、エンコーダ(203)の機能を実行する処理回路と、エンコーダ(300)の機能を実行する処理回路となどの処理回路によって実行される。いくつかの実施形態では、処理(2200)はソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(2200)を実行する。処理は(S2201)で開始し、(S2210)に進む。
【0173】
(S2210)で、点群内の点は、球面座標系を使用して表される。球面座標系は、第1の角度寸法、第2の角度寸法、および半径寸法を使用し、したがって、各点は、第1の角度寸法の第1の角度座標、第2の角度寸法の第2の角度座標、半径寸法の半径座標、および少なくとも属性値によって表してもよい。
【0174】
いくつかの実施形態では、仰角に傾けられ、時間の経過とともに回転角まで回転するレーザに基づくLidarセンサによって検知される距離および強度を受信してもよい。距離および強度は、仰角に傾けられ、同時に回転角を有するレーザによって放射された光線に応じて検知される。点は、第1の角度寸法における回転角、第2の角度寸法における仰角、および半径寸法における距離によって表してもよく、強度が属性値である。
【0175】
(S2220)で、少なくとも2次元(2D)マトリクスのフレームが形成される。2Dマトリクスは、第1の角度寸法に対応する第1の寸法と、第2の角度寸法に対応する第2の寸法とを有する。点は、第1の角度座標および第2の角度座標に基づいて、2Dマトリクス内の要素として配置されてもよい。LIDARの例では、回転角および仰角に基づいて、点を2Dマトリクスの要素として配置してもよい。
【0176】
(S2230)で、2Dマトリクス内のデータを圧縮する。いくつかの例では、2Dマトリクスは1つ以上の画像に変換される。
【0177】
(S2240)で、2Dマトリクスの圧縮されたデータを搬送するビットストリームが生成される。いくつかの例では、1つ以上の画像は、任意の適切な画像圧縮および映像圧縮技術を使用して圧縮してもよい。その後、(S2299)に進み、処理を終了する。
【0178】
図23は、本開示の一実施形態による処理(2300)の概要を示すフローチャートである。処理(2300)は、点群を構築するための復号処理中に使用してもよい。様々な実施形態では、処理(2300)は、処理回路によって実行される。処理は(S2301)で開始し、(S2310)に進む。
【0179】
(S2310)で、光検出と測距(Lidar)センサによって検知された点群に対応する受信されたビットストリームは、Lidarセンサによって検知されたデータに対応する第1のビットストリームと、Lidarセンサに対する少なくとも較正情報および動き補償情報を含むメタデータに対応する第2のビットストリームとに分割される。
【0180】
(S2320)で、距離および強度を取得するために、第1のビットストリームを復元してもよく、この距離および強度が、仰角に傾けられて時間の経過とともに回転角まで回転するレーザに基づいて、Lidarセンサによって検知される。距離および強度は、仰角に傾けられ、同時に回転角を有するレーザによって放射された光線に応じて検知される。
【0181】
(S2330)で、Lidarセンサに対する較正情報および動き補償情報を少なくとも含むメタデータを取得するために、第2のビットストリームが復元される。
【0182】
(S2340)で、仰角および回転角で検知された距離および強度と、較正および動き補償を少なくとも含むメタデータとに基づいて、最終的な点群が構築される。その後、(S2399)に進み、処理を終了する。
【0183】
前述の技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして実装してもよい。例えば、
図24は、開示された主題の特定の実施形態を実装するのに適切なコンピュータシステム(2400)を示す。
【0184】
コンピュータソフトウェアは、任意の適切な機械コードまたはコンピュータ言語を使用してコード化してもよく、これらの機械コードまたはコンピュータ言語は、アセンブリ、コンパイル、リンキングなどの機構を適用されて、1つ以上のコンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって直接してもよく、または解釈、マイクロコード実行などを介して実行してもよい命令を含むコードを作成してもよい。
【0185】
命令は、様々な種類のコンピュータまたはその構成要素上で実行してもよく、コンピュータまたはその構成要素は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む。
【0186】
コンピュータシステム(2400)に対して
図24に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用の範囲または機能の範囲に関する制限を示唆することを意図するものではない。構成要素の構成についても、コンピュータシステム(2400)の例示的な実施形態に図示されている構成要素のいずれかまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
【0187】
コンピュータシステム(2400)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(不図示)を介した、1人以上の人間のユーザによる入力に応えることができる。ヒューマンインタフェースデバイスは、音声(例えば、発話、音楽、周囲の音)、画像(例えば、走査された画像、静止画像カメラから取得された写真画像)、映像(2次元映像、立体視映像を含む3次元映像など)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むために使用することもできる。
【0188】
入力ヒューマンインタフェースデバイスには、キーボード(2401)、マウス(2402)、トラックパッド(2403)、タッチスクリーン(2410)、データグローブ(不図示)、ジョイスティック(2405)、マイクロフォン(2406)、スキャナ(2407)、カメラ(2408)のうちの1つ以上(各々のうちの1つのみ図示)を含んでもよい。
【0189】
コンピュータシステム(2400)はまた、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって、1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスには、触覚出力デバイスと(例えば、タッチスクリーン(2410)、データグローブ(不図示)、またはジョイスティック(2405)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在してもよい)、音声出力デバイスと(例えば、スピーカ(2409)、ヘッドホン(不図示))、視覚出力デバイスと(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2410)、タッチスクリーン入力機能を有する各々、またはタッチスクリーン入力機能を有さない各々、触覚フィードバック機能を有する各々、または触覚フィードバック機能を有さない各々であり、その一部は、ステレオ投影出力、仮想現実メガネ(不図示)、ホログラフィックディスプレイ、およびスモークタンク(不図示)などの手段を介して、2次元視覚出力または3次元以上の出力を出力することができてもよい)、プリンタと(不図示)が含まれてもよい。
【0190】
コンピュータシステム(2400)はまた、人間がアクセス可能な記憶装置およびそれらに関連付けられた媒体、例えば、CD/DVDもしくは類似の媒体とともにCD/DVD ROM/RW(2420)を含む光学媒体(2421)、USBメモリ(2422)、外付けハードドライブまたは外付けソリッドステートドライブ(2423)、テープおよびフロッピーディスク(不図示)などのレガシー磁気媒体、セキュリティドングル(不図示)などの専用ROM/ASIC/PLDベースのデバイスなどを含んでもよい。
【0191】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解するであろう。
【0192】
コンピュータシステム(2400)はまた、1つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば、無線、有線、光通信のものであってもよい。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などのものであってもよい。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワークと、GSM、3G、4G、5G、LTEなどを含む移動体通信ネットワークと、ケーブルTV、衛星TV、および地上波放送TVを含むテレビ有線通信広域デジタルネットワークまたはテレビ無線広域デジタルネットワークと、CANバスを含む車両および産業用ネットワークとなどが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺機器用バス(2449)に取り付けられた外部ネットワークインタフェースアダプタを必要とし(例えば、コンピュータシステム(2400)のUSBポートなど)、他のネットワークは、一般に、以下で説明するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへの移動体通信ネットワークインタフェース)によってコンピュータシステム(2400)の中心部に統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(2400)は、他の要素と通信してもよい。このような通信は、例えば、ローカルデジタルネットワークまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANバスデバイスへのCANバス)、または双方向であってもよい。特定のプロトコルおよびプロトコルスタックは、前述のように、それらのネットワークおよびネットワークインタフェースの各々で使用してもよい。
【0193】
前述のヒューマンインタフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム(2400)の中心部(2440)に取り付けることができる。
【0194】
中心部(2440)は、1つ以上の中央処理装置(CPU)(2441)、1つ以上のグラフィック処理装置(GPU)(2442)、フィールドプログラマブルゲートエリア(FPGA)(2443)の形式の1つ以上の専用プログラマブル処理装置、1つ以上の、特定のタスク用のハードウェアアクセラレータ(2444)などを含んでもよい。これらのデバイスは、読取り専用メモリ(ROM)(2445)、ランダムアクセスメモリ(2446)、内部の、ユーザがアクセス可能ではないハードドライブ、SSDなどの内部大容量記憶装置(2447)とともに、システムバス(2448)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(2448)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能であってもよい。周辺デバイスは、中心部のシステムバス(2448)に直接取り付けてもよく、または周辺機器用バス(2449)を介して取り付けてもよい。周辺機器用バスのためのアーキテクチャには、PCI、USBなどが含まれる。
【0195】
CPU(2441)、GPU(2442)、FPGA(2443)、およびアクセラレータ(2444)は、組み合わせて前述のコンピュータコードを構成してもよい特定の命令を実行してもよい。そのコンピュータコードは、ROM(2445)またはRAM(2446)に格納してもよい。移行データはまた、RAM(2446)に格納してもよく、一方、永続データは、例えば内部大容量記憶装置(2447)に格納してもよい。メモリデバイスのいずれかへの高速格納および取得は、1つ以上のCPU(2441)、1つ以上のGPU(2442)、1つ以上の大容量記憶装置(2447)、1つ以上のROM(2445)、1つ以上のRAM(2446)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0196】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有してもよい。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであってもよい。
【0197】
限定ではなく、例として、アーキテクチャを有するコンピュータシステム(2400)、特にその中心部(2440)は、1つ以上の有形のコンピュータ可読媒体において実施されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として、機能を提供してもよい。このようなコンピュータ可読媒体は、前述のようなユーザアクセス可能な大容量記憶装置、ならびに中心部内部大容量記憶装置(2447)またはROM(2445)などの非一時的な性質の中心部(2440)の特定の記憶装置に関連付けられた媒体としてもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに格納され、中心部(2440)によって実行されてもよい。コンピュータ可読媒体は、特定の必要性に応じて、1つ以上のメモリデバイスまたはチップを含んでもよい。ソフトウェアは、中心部(2440)、具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(2446)に格納されたデータ構造を定義すること、およびソフトウェアによって定義された処理に応じてこのようなデータ構造を修正することを含む、本明細書で説明した特定の処理または特定の処理の特定の部分を実行させてもよい。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(2444))に実施されたロジックの結果として、機能を提供してもよく、このロジックは、ソフトウェアの代わりに、またはソフトウェアとともに動作して、本明細書で説明する、特定の処理または特定の処理の特定の部分を実行してもよい。ソフトウェアについての参照は、適切な場合には、ロジックを包含することができ、逆もまた同様である。コンピュータ可読媒体についての参照は、適切な場合には、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを実施する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0198】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更形態、置換形態、および様々な代替形態の同等物がある。したがって、当業者は、本明細書に明示的に示されていないまたは説明されていないが、本開示の原理を実施し、したがって本開示の精神および範囲内にある多数のシステムおよび多数の方法を考案することができることが理解されよう。
【符号の説明】
【0199】
100 通信システム
105 センサ
110 端末デバイス
120 端末デバイス
150 ネットワーク
200 ストリーミングシステム
201 点群源
202 点群
203 エンコーダ
204 点群
205 ストリーミングサーバ
206 クライアントサブシステム
207 点群、入力コピー
209 点群、コピー
210 デコーダ
211 点群
212 レンダリングデバイス
213 取込サブシステム
220 電子デバイス
230 電子デバイス
300 V-PCCエンコーダ
304 パッチ情報モジュール
306 パッチ生成モジュール
308 パッチパッキングモジュール
310 ジオメトリ画像生成モジュール
312 テクスチャ画像生成モジュール
314 占有マップモジュール
316 画像埋込モジュール
320 グループ拡張モジュール
322 映像圧縮モジュール
323 映像圧縮モジュール
324 マルチプレクサ部
332 映像圧縮モジュール
334 エントロピー圧縮モジュール
336 平滑化モジュール
338 補助パッチ情報圧縮モジュール
400 PCCデコーダ
432 デマルチプレクサ部
434 映像復元モジュール
436 映像復元モジュール
438 占有マップ復元モジュール
442 補助パッチ情報復元モジュール
444 ジオメトリ再構築モジュール
446 平滑化モジュール
448 テクスチャ再構築モジュール
452 色平滑化モジュール
510 映像デコーダ
520 解析部
521 シンボル
551 逆変換ユニット
552 ピクチャ内予測ユニット
553 動き補償予測ユニット
555 集約部
556 ループフィルタユニット
557 参照ピクチャメモリ部
558 カレントピクチャバッファ部
603 映像エンコーダ
630 源符号化部
632 符号化エンジン部
633 ローカル映像デコーダ
634 参照ピクチャキャッシュ部
634 参照ピクチャメモリ部
635 予測子
645 エントロピー符号化部
650 制御部
1101 3D点
2200 処理
2300 処理
2400 コンピュータシステム
2401 キーボード
2402 マウス
2403 トラックパッド
2405 ジョイスティック
2406 マイクロフォン
2407 スキャナ
2408 カメラ
2409 スピーカ
2410 タッチスクリーン
2421 光学媒体
2422 USBメモリ
2423 外付けソリッドステートドライブ
2440 中心部
2441 中央処理装置(CPU)
2442 グラフィック処理装置(GPU)
2443 フィールドプログラマブルゲートエリア(FPGA)
2444 ハードウェアアクセラレータ
2445 読取り専用メモリ(ROM)
2446 ランダムアクセスメモリ
2447 中心部内部大容量記憶装置
2448 システムバス
2449 周辺機器用バス