IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特表2024-5238163Dマップを圧縮及び圧縮解除するための方法及び装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-02
(54)【発明の名称】3Dマップを圧縮及び圧縮解除するための方法及び装置
(51)【国際特許分類】
   G06T 9/00 20060101AFI20240625BHJP
   G09B 29/00 20060101ALI20240625BHJP
   G06V 10/46 20220101ALI20240625BHJP
   G06T 7/00 20170101ALI20240625BHJP
   H04N 19/597 20140101ALI20240625BHJP
【FI】
G06T9/00
G09B29/00 Z
G06V10/46
G06T7/00 C
H04N19/597
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023574564
(86)(22)【出願日】2021-07-09
(85)【翻訳文提出日】2024-01-10
(86)【国際出願番号】 CN2021105623
(87)【国際公開番号】W WO2022252345
(87)【国際公開日】2022-12-08
(31)【優先権主張番号】PCT/CN2021/098482
(32)【優先日】2021-06-04
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2021/098483
(32)【優先日】2021-06-04
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】カオ、シャオラン
(72)【発明者】
【氏名】カイ、カンイン
(72)【発明者】
【氏名】ワン、ペイ
【テーマコード(参考)】
2C032
5C159
5L096
【Fターム(参考)】
2C032HB03
5C159MD02
5C159PP03
5C159PP13
5C159RC11
5L096AA06
5L096AA09
5L096BA04
5L096BA05
5L096CA02
5L096DA02
5L096EA43
5L096FA67
5L096FA69
5L096GA51
(57)【要約】
本願の実施形態は、3Dマップ技術の分野に属し、3Dマップのデータボリュームを低減するために、3Dマップを圧縮及び圧縮解除するための方法及び装置を開示する。3Dマップを圧縮するための方法は、3Dマップ記述子を取得する段階、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する;前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する段階;及び、前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する段階を備える。本願の実施形態において、3Dマップを格納するために必要な記憶領域を低減できるか、又は、3Dマップを送信するために必要な送信リソースを低減できる。
【特許請求の範囲】
【請求項1】
3Dマップを圧縮するための方法であって、前記方法は、
3Dマップ記述子を取得する段階、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する;
前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する段階;及び
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する段階
を備える、方法。
【請求項2】
前記方法は、
前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得する段階
をさらに備える、請求項1に記載の方法。
【請求項3】
前記方法は、
電子デバイスによって送信された3Dマップ要求情報を受信する段階、及び、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信する段階;又は
前記3Dマップの前記ビットストリームをサーバに送信する段階
をさらに備える、請求項2に記載の方法。
【請求項4】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記方法は、
前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分を減算して、各成分の差分値を取得する段階;及び
各成分の前記差分値に基づいて前記大小関係を判定する段階
をさらに備える、請求項4又は5に記載の方法。
【請求項7】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、前記最小閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、前記最大閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい、請求項4~7のいずれか一項に記載の方法。
【請求項9】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである、請求項4~8のいずれか一項に記載の方法。
【請求項10】
前記バイナリデータは、前記3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、請求項9に記載の方法。
【請求項11】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルは、量子化のために前記バイナリデータによって示される前記少なくとも1つの事前設定閾値ベクトルと同じである、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの前記少なくとも1つの成分は、前記バイナリデータに基づいて取得される、請求項11に記載の方法。
【請求項13】
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、請求項1~12のいずれか一項に記載の方法。
【請求項14】
3Dマップを圧縮解除するための方法であって、前記方法は、
3Dマップの圧縮データを取得する段階、ここで、前記圧縮データは、バイナリデータ及び量子化データを含む;及び
前記バイナリデータ及び前記量子化データに基づいて、再構築3Dマップ記述子を取得する段階
を備える、方法。
【請求項15】
3Dマップの圧縮データを前記取得する段階は、
前記3Dマップのビットストリームを取得する段階;及び
前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得する段階
を有する、請求項14に記載の方法。
【請求項16】
前記方法は、
3Dマップ要求情報を送信する段階、及び、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信する段階;又は
前記3Dマップの前記ビットストリームを受信する段階
をさらに備える、請求項15に記載の方法。
【請求項17】
前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を前記取得する段階は、
前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得する段階;及び
前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する段階、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す
を有する、請求項14~16のいずれか一項に記載の方法。
【請求項18】
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、請求項17に記載の方法。
【請求項19】
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、請求項17又は18に記載の方法。
【請求項20】
前記バイナリデータは、前記少なくとも1つの事前設定閾値ベクトルをさらに示し、前記方法は、
前記バイナリデータ及びNの事前設定閾値ベクトルに基づいて、前記少なくとも1つの事前設定閾値ベクトルを判定する段階、ここで、
前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである
をさらに備える、請求項17~19のいずれか一項に記載の方法。
【請求項21】
前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルを示す、請求項20に記載の方法。
【請求項22】
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、請求項14~21のいずれか一項に記載の方法。
【請求項23】
3Dマップを圧縮するための装置であって、前記装置は、
3Dマップ記述子を取得するように構成されているバイナリ化モジュール、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応し、ここで、
前記バイナリ化モジュールは、前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得するようにさらに構成されている;及び
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得するように構成されている量子化モジュール
を備える、装置。
【請求項24】
前記装置は、
前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得するように構成されているカプセル化モジュール
をさらに備える、請求項23に記載の装置。
【請求項25】
前記装置は、
電子デバイスによって送信された3Dマップ要求情報を受信し、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信するように構成されている伝送モジュール;又は
前記3Dマップの前記ビットストリームをサーバに送信するように構成されている伝送モジュール
をさらに備える、請求項24に記載の装置。
【請求項26】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、請求項23~25のいずれか一項に記載の装置。
【請求項27】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、請求項23~26のいずれか一項に記載の方法。
【請求項28】
前記バイナリ化モジュールは、
前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分を減算して、各成分の差分値を取得し;及び
各成分の前記差分値に基づいて前記大小関係を判定する
ようにさらに構成されている、請求項26又は27に記載の装置。
【請求項29】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである、請求項23~28のいずれか一項に記載の装置。
【請求項30】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、前記最小閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、前記最大閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい、請求項26~29のいずれか一項に記載の装置。
【請求項31】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである、請求項26~30のいずれか一項に記載の装置。
【請求項32】
前記バイナリデータは、前記3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、請求項31に記載の装置。
【請求項33】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルは、量子化のために前記バイナリデータによって示される前記少なくとも1つの事前設定閾値ベクトルと同じである、請求項23~32のいずれか一項に記載の装置。
【請求項34】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの前記少なくとも1つの成分は、前記バイナリデータに基づいて取得される、請求項33に記載の装置。
【請求項35】
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、請求項23~34のいずれか一項に記載の装置。
【請求項36】
3Dマップを圧縮解除するための装置であって、前記装置は、
記憶モジュール又は伝送モジュールを使用することによって3Dマップの圧縮データを取得するように構成されている再構築モジュール、ここで、前記圧縮データは、バイナリデータ及び量子化データを含み、ここで、
前記再構築モジュールは、前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を取得するようにさらに構成されている
を備える装置。
【請求項37】
前記再構築モジュールは、前記伝送モジュールを使用することによって前記3Dマップのビットストリームを取得し、前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得するように構成されている、請求項36に記載の装置。
【請求項38】
前記伝送モジュールは、3Dマップ要求情報を送信し、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信するように構成されている;又は、前記3Dマップの前記ビットストリームを受信するように構成されている、請求項37に記載の装置。
【請求項39】
前記再構築モジュールは、
前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得し;及び
前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す
ように構成されている、請求項36~38のいずれか一項に記載の装置。
【請求項40】
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、請求項39に記載の装置。
【請求項41】
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、請求項39又は40に記載の装置。
【請求項42】
前記バイナリデータは、前記少なくとも1つの事前設定閾値ベクトルをさらに示し、前記再構築モジュールは、
前記バイナリデータ及びNの事前設定閾値ベクトルに基づいて、前記少なくとも1つの事前設定閾値ベクトルを判定するようにさらに構成されており、ここで、
前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである
請求項39~41のいずれか一項に記載の装置。
【請求項43】
前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、請求項42に記載の装置。
【請求項44】
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、請求項36~43のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、3Dマップ技術、特に、3Dマップを圧縮及び圧縮解除するための方法及び装置に関する。
【背景技術】
【0002】
仮想現実(Virtual Reality、VR)、拡張現実(Augmented Reality、AR)、及び複合現実(Mixed Reality、MR)技術は、近年新たに出現したマルチメディア仮想シナリオ技術である。このような技術を用いて、仮想現実を生成し、それを実世界に重ねて、新たな視覚環境及びインタラクティブ体験を生み出すことができる。このような応用において、電子デバイスは、仮想オブジェクト及び現実のシーン間の融合を正確に実施するために、現在の環境における電子デバイスのポーズ情報(pose information)を判定する必要がある。
【0003】
さらに、自律運転、自律ナビゲーション、無人航空機自動点検、及び産業ロボット等の応用において、正確なルート計画、ナビゲーション、検出、及び制御を実行するために、車両、無人航空機、又はロボット等の搬送デバイスが、当該搬送デバイスによって搬送されている電子デバイスのポーズ(pose)を判定することで、現在の環境における当該搬送デバイスのポーズを判定する必要がある。
【0004】
前述の応用において、現在の環境における電子デバイスのポーズを判定する必要があるという問題に関して、典型的な解決策は以下の通りである:電子デバイスが、サーバ又は別のデバイスから、電子デバイスが位置している環境の三次元(3-dimensional、3D)マップを受信し、ローカルセンサを使用することによって、その環境における視覚的情報を収集し、収集された視覚的情報及びダウンロードされた3Dマップに基づいて、電子デバイスの現在のポーズを判定する。
【0005】
しかしながら、元の3Dマップは通例大きなデータボリュームを含み、マップ送信には大量の帯域幅及び時間の消費が必要であり、これにより、アプリケーションパフォーマンスが厳しく制限されるとともにユーザ体験が影響を受ける。
【発明の概要】
【0006】
本願は、3Dマップのデータボリュームを低減させ、それにより、3Dマップを格納するために必要な記憶領域を低減させるか又は3Dマップを送信するために必要な送信リソースを低減させる、3Dマップを圧縮及び圧縮解除するための方法及び装置を提供する。
【0007】
第1の態様によれば、本願の一実施形態は、3Dマップを圧縮するための方法を提供する。前記方法は、3Dマップ記述子を取得する段階、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する;前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する段階;及び、前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する段階を備えてよい。
【0008】
この実装において、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得し、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。
【0009】
3Dマップを圧縮するための上記方法によれば、3Dマップのデータボリュームが低減され得、例えば、3Dマップのデータボリュームが、テラバイト(Terabyte、TB)レベルからギガバイト(Gigabyte、GB)レベルに低減される。
【0010】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、限定されるものではないが、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含んでよい。3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係に対してバイナリ化を実行して、バイナリデータを取得し、それにより、デコンプレッサ端は、バイナリデータ及び少なくとも1つの事前設定閾値ベクトルに基づいて3Dマップ記述子の情報の一部分を取得してよい。その部分的な情報は、各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係であってよく、それにより、量子化データを参照して再構築3Dマップ記述子が取得される。
【0011】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、限定されるものではないが、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含んでよい。3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値に対して量子化を実行して、量子化データを取得し、それにより、デコンプレッサ端は、量子化データ及び少なくとも1つの事前設定閾値ベクトルに基づいて3Dマップ記述子の情報の別の部分を取得してよい。情報の上記別の部分は、各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値であってよく、それにより、バイナリデータを参照して再構築3Dマップ記述子が取得される。
【0012】
可能な設計において、バイナリデータ及び量子化データは、3Dマップの圧縮データを記憶モジュールに格納してもよいし、又は、予測等の他の圧縮をバイナリデータ及び量子化データに対して実行して、3Dマップの圧縮データを取得してもよく、3Dマップの圧縮データが記憶モジュールに格納されることで、記憶領域を節約する。
【0013】
可能な設計において、上記方法は、バイナリデータ及び量子化データをカプセル化して3Dマップのビットストリームを取得する段階をさらに含んでよい。バイナリデータ及び量子化データは、ビットストリームにしてカプセル化されて、送信を円滑化するとともに送信リソースを節約し得る。
【0014】
可能な設計において、上記方法は、電子デバイスによって送信された3Dマップ要求情報を受信する段階、及び、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを電子デバイスに送信する段階をさらに備えてよい。例えば、応用シナリオにおいて、本願のこの実施形態における圧縮方法は、サーバによって実行され、サーバは、本願のこの実施形態における3Dマップを圧縮するための方法を使用することによって、3Dマップ記述子を圧縮して、3Dマップのビットストリームを取得する。サーバは、電子デバイスによって送信された3Dマップ要求情報を受信してよく、サーバは、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを電子デバイスに送信する。別の応用シナリオにおいて、本願のこの実施形態における圧縮方法は、第1の電子デバイスによって実行され、サーバは、本願のこの実施形態における3Dマップを圧縮するための方法を使用することによって3Dマップ記述子を圧縮して、3Dマップのビットストリームを取得する。第1の電子デバイスは、第2の電子デバイスによって送信された3Dマップ要求情報を受信してよく、第1の電子デバイスは、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを第2の電子デバイスに送信する。
【0015】
可能な設計において、上記方法は、3Dマップのビットストリームをサーバに送信する段階をさらに備えてよい。例えば、応用シナリオにおいて、本願のこの実施形態における圧縮方法は、第1の電子デバイスによって実行され、第1の電子デバイスは、本願のこの実施形態における3Dマップを圧縮するための方法を使用することによって、3Dマップ記述子を圧縮して、3Dマップのビットストリームを取得する。第1の電子デバイスは、3Dマップのビットストリームをサーバに送信する。別の応用シナリオにおいて、第1の電子デバイスは、本願のこの実施形態における3Dマップを圧縮するための方法を使用することによって、3Dマップ記述子を圧縮して、3Dマップのビットストリームを取得する。第1の電子デバイスは、3Dマップのビットストリームをサーバに送信する。サーバは、第2の電子デバイスによって送信された3Dマップ要求情報を受信してよく、サーバは、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを第2の電子デバイスに送信する。
【0016】
本願のこの実施形態における3Dマップを圧縮するための方法は、前述した応用シナリオのいずれか1つに適用可能である。異なる応用シナリオにおいて、対応するデバイスの使用パフォーマンスを改善することで、ユーザ体験を改善できる。例えば、サーバは、3Dマップのビットストリームを電子デバイスに迅速に送信し得、電子デバイスは、3Dマップを使用して、ユーザに3Dマップに関連するアプリケーション機能、例えば、ARアプリケーションを提供し得る。
【0017】
可能な設計において、上記方法は、3Dマップ記述子の各成分から、少なくとも1つの事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得する段階;及び、各成分の差分値に基づいて大小関係を判定する段階をさらに備えてよい。
【0018】
可能な設計において、1つの事前設定閾値ベクトルがバイナリ化のために使用され、同じ事前設定閾値ベクトルが量子化のために使用される。
【0019】
可能な設計において、複数の事前設定閾値ベクトルがバイナリ化のために使用され、量子化のために使用される少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、バイナリ化のために使用される複数の事前設定閾値ベクトルの対応する成分のいずれか1つである。例えば、3つの事前設定閾値ベクトルがバイナリ化のために使用される。3Dマップ記述子の1つの成分が、一例として使用される。3つの差分値又は3つの差分値の絶対値のうちの1つが、量子化のために選択されてよい。3つの差分値又は3つの差分値の絶対値は、3Dマップ記述子の1つの成分及び3つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値である。
【0020】
可能な設計において、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、最小閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、最大閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい。
【0021】
この実装において、最小閾値ベクトル又は最大閾値ベクトルが、3Dマップ記述子の成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値のうちの少なくとも1つが0よりも大きいか又はそれに等しいことを確実にし得る。3Dマップ記述子の成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値の絶対値ではなくそれらの間の差分値が後続の量子化中に使用されることで、計算の複雑性が低減され得る。
【0022】
可能な設計において、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルがNの事前設定閾値ベクトルを含む場合、Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは1よりも大きい整数である。順次増加することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0023】
この実装において、Nの事前設定閾値ベクトルの同じ位置にある成分が順次増加又は減少するので、各成分の値は、Nの事前設定閾値ベクトルを使用することによってN+1又はNの区間に分割されてよく、それにより、3Dマップ記述子の成分が属する異なる区間が異なるバイナリデータによって示される。したがって、バイナリデータは、3Dマップ記述子の情報の一部分を搬送し、それにより、デコンプレッサ端が、再構築3Dマップ記述子を取得する。
【0024】
例えば、バイナリデータは、3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含んでよく、上記成分のうちの任意の成分に対応するマルチビットバイナリデータは、対応する成分が属する区間を示し、量子化における上記成分に対応する事前設定閾値ベクトルの成分をさらに示す。例えば、任意の成分に対応するマルチビットバイナリデータが1100である場合、量子化における上記成分に対応する事前設定閾値ベクトルは、F2であり、すなわち、その成分は、上記成分と同じ位置にあるF2中の成分である。1100及びF2間の対応関係は、事前設定されてよい。
【0025】
可能な設計において、バイナリデータは、3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、上記成分に対応する事前設定閾値ベクトルの成分を示す。
【0026】
この実装において、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、上記成分に対応する事前設定閾値ベクトルの成分を示し、それにより、デコンプレッサ端は、再構築3Dマップ記述子を取得する。
【0027】
例えば、3Dマップ記述子Dは、(0.35,0.45)である。4つの事前設定閾値ベクトルは、それぞれ、F1:(0.2,0.3)、F2:(0.3,0.35)、F3:(0.4,0.45)、及びF4:(0.5,0.5)である。4つの事前設定閾値ベクトルの同じ位置にある成分は、順次増加する。3Dマップ記述子及び4つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、H1:(1,1)、H2:(1,1)、H3:(0,1)、H4:(0,0)を取得し、バイナリデータは、11001110である。Dを量子化するために使用されるベクトルは、(0.3,0.45)、すなわち、F2中の成分(0.3)及びF3中の成分(0.45)である。
【0028】
可能な設計において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルは、量子化のためにバイナリデータによって示される少なくとも1つの事前設定閾値ベクトルと同じである。
【0029】
可能な設計において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、バイナリデータに基づいて取得される。例えば、まず3Dマップ記述子に対してバイナリ化が実行されてよく、次に、バイナリデータに基づいて量子化が実行される。
【0030】
可能な設計において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0031】
異なるバイナリデータは、3Dマップ記述子の成分が属する異なる区間を示してよく、異なる区間の長さは、異なってよく、異なる区間の長さは、量子化データにおけるビットの異なる数に対応してよく、量子化データにおけるビットの異なる数は、異なる量子化精度に対応する。量子化データにおけるビットの数は、バイナリデータによって動的に示され、それにより、デコンプレッサ端は、量子化データを正確に圧縮解除する。
【0032】
第2の態様によれば、本願の一実施形態は、3Dマップを圧縮解除するための方法を提供する。前記方法は、3Dマップの圧縮データを取得する段階、ここで、圧縮データは、バイナリデータ及び量子化データを含む;及び、前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を取得する段階を備えてよい。
【0033】
可能な設計において、前記3Dマップの圧縮データを取得する段階は、前記3Dマップのビットストリームを取得する段階;及び、前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得する段階を有してよい。
【0034】
可能な設計において、前記方法は、3Dマップ要求情報を送信する段階、及び、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信する段階;又は、前記3Dマップの前記ビットストリームを受信する段階をさらに備えてよい。
【0035】
可能な設計において、前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を前記取得する段階は、前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得する段階;及び、前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する段階、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す、を有してよい。
【0036】
可能な設計において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の前記関係は、再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含んでよい。
【0037】
可能な設計において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含む。
【0038】
可能な設計において、バイナリデータは、少なくとも1つの事前設定閾値ベクトルをさらに示し、上記方法は、バイナリデータ及びNの事前設定閾値ベクトルに基づいて、少なくとも1つの事前設定閾値ベクトルを判定する段階をさらに備えてよい。Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数である。順次増加することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0039】
可能な設計において、前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルを示す。
【0040】
可能な設計において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0041】
第3の態様によれば、本願の一実施形態は、3Dマップを圧縮するための装置を提供する。上記装置は、電子デバイス又はサーバにおけるチップ又はシステムオンチップであってもよいし、又は、電子デバイス又はサーバにおける、第1の態様又は第1の態様の任意の可能な実装による方法を実施するように構成されている機能モジュールであってもよい。例えば、前記3Dマップを圧縮するための装置は、3Dマップ記述子を取得するように構成されているバイナリ化モジュール、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応し、ここで、前記バイナリ化モジュールは、前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得するようにさらに構成されている;及び、前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得するように構成されている量子化モジュールを備えてよい。
【0042】
可能な設計において、前記装置は、前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得するように構成されているカプセル化モジュールをさらに備えてよい。
【0043】
可能な設計において、前記装置は、電子デバイスによって送信された3Dマップ要求情報を受信し、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信するように構成されている伝送モジュール;又は、前記3Dマップの前記ビットストリームをサーバに送信するように構成されている伝送モジュールをさらに備えてよい。
【0044】
可能な設計において、前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む。
【0045】
可能な設計において、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含む。
【0046】
可能な設計において、前記バイナリ化モジュールは、前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得し;及び、各成分の前記差分値に基づいて前記大小関係を判定するようにさらに構成されている。
【0047】
可能な設計において、前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである。
【0048】
可能な設計において、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、最小閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、最大閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい。
【0049】
可能な設計において、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0050】
可能な設計において、バイナリデータは、3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、上記成分に対応する事前設定閾値ベクトルの成分を示す。
【0051】
可能な設計において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルは、量子化のためにバイナリデータによって示される少なくとも1つの事前設定閾値ベクトルと同じである。
【0052】
可能な設計において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、バイナリデータに基づいて取得される。
【0053】
可能な設計において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0054】
第4の態様によれば、本願の一実施形態は、3Dマップを圧縮解除するための装置を提供する。上記装置は、電子デバイス又はサーバにおけるチップ又はシステムオンチップであってもよいし、又は、電子デバイス又はサーバにおける、第2の態様又は第2の態様の任意の可能な実装による方法を実施するように構成されている機能モジュールであってもよい。例えば、3Dマップを圧縮解除するための装置は、記憶モジュール又は伝送モジュールを使用することによって3Dマップの圧縮データを取得するように構成されている再構築モジュールを備え、ここで、圧縮データは、バイナリデータ及び量子化データを含む。再構築モジュールは、バイナリデータ及び量子化データに基づいて、再構築3Dマップ記述子を取得するようにさらに構成されている。
【0055】
可能な設計において、前記再構築モジュールは、前記伝送モジュールを使用することによって前記3Dマップのビットストリームを取得し、前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得するように構成されている。
【0056】
可能な設計において、前記伝送モジュールは、3Dマップ要求情報を送信し、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信するように構成されている;又は、前記伝送モジュールは、前記3Dマップの前記ビットストリームを受信するように構成されている。
【0057】
可能な設計において、前記再構築モジュールは、前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得し;及び、前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示すように構成されている。
【0058】
可能な設計において、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む。
【0059】
可能な設計において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含む。
【0060】
可能な設計において、バイナリデータは、少なくとも1つの事前設定閾値ベクトルをさらに示し、再構築モジュールは、バイナリデータ及びNの事前設定閾値ベクトルに基づいて、少なくとも1つの事前設定閾値ベクトルを判定するようにさらに構成されている。前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0061】
可能な設計において、前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す。
【0062】
可能な設計において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0063】
第5の態様によれば、本願の一実施形態は、1又は複数のプロセッサ;及び、1又は複数のプログラムを格納するように構成されているメモリを備える、3Dマップを圧縮するための装置を提供する。1又は複数のプログラムが1又は複数のプロセッサによって実行される場合、1又は複数のプロセッサは、第1の態様又は第1の態様の可能な設計のいずれか1つによる方法を実施することが可能になる。
【0064】
第6の態様によれば、本願の一実施形態は、1又は複数のプロセッサ;及び、1又は複数のプログラムを格納するように構成されているメモリを備える、3Dマップを圧縮解除するための装置を提供する。1又は複数のプログラムが1又は複数のプロセッサによって実行される場合、1又は複数のプロセッサは、第2の態様又は第2の態様の可能な設計のいずれか1つによる方法を実施することが可能になる。
【0065】
第7の態様によれば、本願の一実施形態は、コンピュータプログラムを備えるコンピュータ可読記憶媒体を提供する。コンピュータプログラムがコンピュータ上で実行される場合、コンピュータは、第1の態様又は第1の態様の可能な設計のいずれか1つによる方法を実行すること、又は、第2の態様又は第2の態様の可能な設計のいずれか1つによる方法を実行することが可能になる。
【0066】
第8の態様によれば、本願は、コンピュータプログラム又はコンピュータプログラム製品を提供する。コンピュータプログラム又はコンピュータプログラム製品がコンピュータ上で実行される場合、コンピュータは、第1の態様又は第2の態様、又は第1の態様及び第2の態様の可能な実装のいずれか1つによる方法を実施することが可能になる。
【0067】
本願の第3~第7の態様における技術的解決手段は、本願の第1の態様及び第2の態様におけるそれと一貫していることが理解されるべきである。上記態様及び対応する実現可能な実装において実現される有益な効果はこれと同様であり、詳細は再度説明しない。
【図面の簡単な説明】
【0068】
図1】本願の一実施形態によるアプリケーションアーキテクチャの概略図である;
【0069】
図2】本願の一実施形態による電子デバイス20の構造の概略図である;
【0070】
図3】本願の一実施形態によるサーバ30の構造の概略図である;
【0071】
図4a】本願の一実施形態による応用シナリオの概略図である;
図4b】本願の一実施形態による応用シナリオの概略図である;
図4c】本願の一実施形態による応用シナリオの概略図である;
図4d】本願の一実施形態による応用シナリオの概略図である;
図4e】本願の一実施形態による応用シナリオの概略図である;
図4f】本願の一実施形態による応用シナリオの概略図である;
【0072】
図4g】本願の一実施形態による電子デバイスによって表示されるユーザインタフェースの概略図である;
【0073】
図5】本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである;
【0074】
図6】本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである;
【0075】
図7】本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである;
【0076】
図8】本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである;
【0077】
図9】本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである;
【0078】
図10】本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである;
【0079】
図11A】本願の一実施形態による3Dマップをエンコーディング及びデコーディングするための方法の概略図である;
図11B】本願の一実施形態による3Dマップをエンコーディング及びデコーディングするための方法の概略図である;
【0080】
図12】本願の一実施形態による3Dマップを圧縮するための装置の構造の概略図である;
【0081】
図13】本願の一実施形態による3Dマップを圧縮解除するための装置の構造の概略図である;
【0082】
図14】本願の一実施形態によるデコーディング装置1400の概略ブロック図である。
【発明を実施するための形態】
【0083】
以下では、本願の実施形態における添付図面を参照しながら、本願の実施形態について説明する。本願の実施形態において使用される用語は、本願の具体的な実施形態を説明するために使用されているに過ぎず、本願を限定することを意図するものではない。
【0084】
本願の明細書の実施形態、特許請求の範囲、及び添付図面において、「第1」、「第2」等の用語は、区別及び説明を意図しているに過ぎず、相対的な重要性の指示又は示唆、又は、順序の指示又は示唆として理解されるものではない。さらに、「含む」、「有する」という用語及びそれらの任意の変形は、非排他的包含、例えば、一連のステップ又はユニットの包含をカバーすることが意図されている。方法、システム、製品、又はデバイスは必ずしも、明確に列挙されたステップ又はユニットに限定されるものではなく、明確に列挙されていない、プロセス、方法、製品又はデバイスに固有である他のステップ又はユニットを含み得る。
【0085】
本願において、「少なくとも1つの(アイテム)」は、1又は複数であり、「複数の」は、2又はそれよりも多いことが理解されるべきである。「及び/又は」という用語は、関連付けられた対象の関連付けの関係を説明するものであり、3つの関係が存在し得ることを示すものである。例えば、「A及び/又はB」は、以下の3つの場合を示し得る:Aのみが存在する、Bのみが存在する、及びA及びBの両方が存在する。A及びBは、単数又は複数であってよい。「/」という記号は、通例、関連付けられた対象間の「又は」の関係を示すものである。「以下のアイテムのうちの少なくとも1つ」又はこれに類似する表現は、それらのアイテムのうちの1つ又はそれらのアイテムのうちの複数の任意の組み合わせを含む、それらのアイテムの任意の組み合わせを示すものである。例えば、a、b、又はcのうちの少なくとも1つは、a、b、c、a及びB、a及びc、b及びc、又は、a、b、及びcを示してよく、ここで、a、b、及びcは、単数又は複数であってよい。
【0086】
本願の実施形態において「例」又は「例えば」等の用語は、一例、例示、又は説明を与えることを表すために使用されている。本願の実施形態において「例」又は「例えば」によって記述される任意の実施形態又は設計は、別の実施形態又は設計よりも好ましい又は有利であるものとして解釈されるものではない。正確に言えば、「例」又は「例えば」等の用語は、特定の方式において相対的な構想を提示することが意図されている。
【0087】
本願の実施形態及び添付の特許請求の範囲において使用される単数形の「一(a)」、「上記(said)」、及び「前記(the)」という用語は、その文脈において別途明確に指定されていない限り、複数形を含むことも意図されている。ここで使用される「及び/又は」という用語は、1又は複数の関連付けられた列挙されたアイテムの任意の又は全ての可能な組み合わせを示し且つ含むことがさらに理解されるべきである。ここで使用されるとき、単数形の「一(a)」、「或る(some)」、及び「前記(the)」の意味は、文脈において別途明示されない限り、複数形も含む。「含む」、「有する」、「備える」、及び/又は「含む」という用語は、本明細書において、言及した特徴、整数、ステップ、操作、要素、及び/又はコンポーネントの存在を指定するために使用されているが、1又は複数の他の特徴、整数、ステップ、操作、要素、コンポーネント、及び/又はそれらのグループの存在又は追加を排除するのもではないことがさらに理解されるべきである。
【0088】
本願の実施形態において使用される用語は、具体的な実施形態を例示する目的に過ぎず、本願を限定することを意図するものではないことに留意されたい。
【0089】
図1は、本願の一実施形態によるアプリケーションアーキテクチャの概略図である。図1に示されているように、アプリケーションアーキテクチャは、複数の電子デバイス及びサーバを含む。複数の電子デバイスは、第1の電子デバイス及び1又は複数の第2の電子デバイスを含んでよい(図1では、一例として、2つの第2の電子デバイスが使用されている)。1又は複数の第2の電子デバイスは、第1の電子デバイス以外の複数の電子デバイスである。複数の電子デバイス及びサーバ間、及び、複数の電子デバイス間で、通信が実行されてよい。例えば、アプリケーションアーキテクチャ内の任意のデバイスは、ワイヤレスフィデリティ(wireless fidelity、Wi-Fi(登録商標))通信、Bluetooth(登録商標)通信、又はセルラ第2/第3/第4/第5世代(2nd/3rd/4th/5th generation、2G/3G/4G/5G)通信等の方式で、別のデバイスと通信してよい。サーバ及び電子デバイス間で、将来の通信方式を含む別の通信方式がさらに使用されてよいことが理解されるべきである。ここではこれについて特に限定しない。本願のこの実施形態における「1又は複数の第2の電子デバイス」は、第1の電子デバイス以外の電子デバイスを表すために使用されているに過ぎず、複数の電子デバイスのタイプが同じであるか否かは限定されるものではないことに留意されたい。
【0090】
電子デバイスは、カメラ及びディスプレイコンポーネントが設けられた様々なタイプのデバイスであってよい。例えば、電子デバイスは、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、又はビデオレコーダ等の端末デバイスであってよい(図1では、電子デバイスの一例として携帯電話が使用されている)。代替的には、電子デバイスは、VRグラス、ARデバイス、MRインタラクションデバイス等を含む、仮想シナリオにおけるインタラクションのために使用されるデバイスであってよい。代替的には、電子デバイスは、スマートウォッチ又はスマートバンド等のウェアラブル電子デバイスであってよい。代替的には、電子デバイスは、車両、無人車両、無人航空機、又は産業ロボット等の搬送デバイスにおいて搬送されるデバイスであってよい。電子デバイスの具体的な形態は、本願の実施形態において特別に制限されるものではない。
【0091】
さらに、電子デバイスは、ユーザ機器(user equipment、UE)、加入者ステーション、モバイルユニット、加入者ユニット、無線ユニット、リモートユニット、モバイルデバイス、無線デバイス、無線通信デバイス、リモートデバイス、モバイル加入者ステーション、端末デバイス、アクセス端末、モバイル端末、無線端末、スマート端末、リモート端末、ハンドヘルド端末、ユーザエージェント、モバイルクライアント、クライアント、又は別の適切な用語と称される場合もある。
【0092】
サーバは、1又は複数の物理サーバ(図1では、一例として1つの物理サーバが使用されている)であってもよいし、又は、コンピュータクラスタであってもよいし、又は、クラウドコンピューティングシナリオにおける仮想マシン又はクラウドサーバ等であってもよい。
【0093】
本願のこの実施形態において、VRアプリケーション、ARアプリケーション、又はMRアプリケーション等の仮想シナリオアプリケーション(application、APP)が電子デバイスにインストールされてよく、VRアプリケーション、ARアプリケーション、又はMRアプリケーションは、ユーザ操作(例えば、タップ、タッチ、スライド、シェイク、又はボイスコントロール)に基づいて作動されてよい。電子デバイスは、センサを使用することによって環境における任意のオブジェクトの視覚的情報を収集し、次に、収集された視覚的情報に基づいてディスプレイコンポーネント上に仮想オブジェクトを表示してよい。仮想オブジェクトは、VRシナリオ、ARシナリオ、又はMRシナリオにおける仮想オブジェクト(すなわち、仮想環境におけるオブジェクト)であってよい。
【0094】
本願のこの実施形態において、ナビゲーション、検出、又は制御アプリケーションが電子デバイスにインストールされてよく、ユーザ又は事前設定プログラムの操作及び制御に基づいて、対応するアプリケーションが作動される。電子デバイスは、現在の環境における電子デバイスのポーズ及び他のステータス情報に基づいて、ルート計画、オブジェクト検出、及び搬送デバイス操作及び制御等のアプリケーションを作動させてよい。
【0095】
ポーズとは、電子デバイスの位置及び向き情報であり、ワールド座標系における絶対的なポーズであってもよいし、又は、環境における或る点に対する相対的なポーズであってもよい。
【0096】
本願の実施形態における視覚的情報は、限定されるものではないが、カメラによって収集されたイメージビデオ(深度情報を有しない)、深度センサ(depth sensor)によって収集されたイメージビデオ(深度情報を有する)、ライダ(LiDAR)によって収集されたデータ、及びミリ波レーダ(RaDAR)によって収集されたデータを含む。
【0097】
本願のこの実施形態において、電子デバイスにおける仮想シナリオアプリケーションは、電子デバイスに内蔵されたアプリケーションであってもよいし、又は、サードパーティサービスプロバイダが提供する、ユーザによってインストールされたアプリケーションであってもよいことに留意されたい。ここではこれについて特に限定しない。
【0098】
本願のこの実施形態において、電子デバイスのために、同時位置推定及びマップ作成(simultaneous localization and mapping、SLAM)システムがさらに構成されてよい。SLAMシステムは、完全に未知の環境におけるマップを生成し、このマップを使用して、測位、ポーズ(位置及び姿勢(posture))判定、ナビゲーション等を実行することができる。本願のこの実施形態において、SLAMシステムによって生成されたマップは、SLAMマップと称される。SLAMマップは、収集デバイスによって収集された環境情報に基づいてSLAMシステムによって描かれたマップと理解されてよい。収集デバイスは、電子デバイスにおける視覚的情報収集装置及び慣性計測ユニット(inertial measurement unit、IMU)を含んでよい。視覚的情報収集装置は、例えば、カメラ、深度カメラ、ライダ、及びミリ波レーダを含んでよい。IMUは、例えば、ジャイロスコープ及び加速度計等のセンサを含んでよい。
【0099】
本願の実施形態において、SLAMマップは、3Dマップとも称される。3Dマップは、SLAMマップを含むがこれに限定されるものではなく、別の技術を使用することによって生成された三次元マップをさらに含んでよいことに留意されたい。これは、本願の実施形態において特に限定されるものではない。
【0100】
可能な実装において、3Dマップは、複数の3Dマップ点を含んでよく、それに応じて、3Dマップのデータは、複数の3Dマップ点のデータを含んでよい。3Dマップ点は、関心点、又は、環境における有意な特徴を有する点である。
【0101】
3Dマップ点を取得する可能な方式は、ライダ、無人航空機の画角からの航空写真撮影(チルト写真撮影)、高精細パノラマカメラ、高精細産業カメラ等の複数のデバイスを使用して撮影を実行し、前述したデバイスによる撮影を通じて取得されたデータから、ORB、スケール不変特徴変換(scale-invariant feature transform、SIFT)、高速化ロバスト特徴(speeded up robust features、SURF)、バイナリロバスト独立基本特徴(binary robust independent elementary features、BRIEF)、バイナリロバスト不変スケーラブルキーポイント(binary robust invariant scalable keypoints、BRISK)、高速網膜キーポイント(fast retina keypoint、FREAK)、D2Net、又は自己教師ありトレーニング特徴点検出及び記述子抽出方法(SuperPoint)等の方法を使用することによって、3Dマップ点を抽出することである。
【0102】
3Dマップ点のデータは、以下のものを含んでよい。
【0103】
(1)3Dマップ点記述子
【0104】
3Dマップ点記述子とは、対応する3Dマップ点の局所特徴を表すために使用されるベクトル(vector)である。ビジュアルポジショニングアルゴリズムにおいて、3Dマップ点記述子は、3Dマップ点間のマッチングのために使用される。或る可能な方法は、2つの3Dマップ点記述子間の距離(ユークリッド距離、内積距離、ハミング距離等であってよい)を計算すること;及び、上記距離が閾値よりも小さい場合、2つの3Dマップ点が一致するとみなすことである。
【0105】
(2)3Dマップ点空間位置
【0106】
3Dマップ点空間位置は、三次元空間軸上でX,Y,及びZを使用することによって表されてもよいし、又は、経度、緯度、及び高度を使用することによって表されてもよいし、又は、極座標等を使用することによって表されてもよい。3Dマップ点空間位置を表すための方法は、本願の実施形態において特に限定されるものではない。3Dマップ点空間位置は、3Dマップ点の絶対的な位置であっても、又は、3Dマップ点の相対的な位置であってもよい。例えば、エリア全体の中心位置が原点として使用され、全ての3Dマップ点空間位置は、原点の空間位置に対してずれた位置である。
【0107】
本願の実施形態において、各3Dマップ点に番号が割り当てられて3Dマップのデータに書き込まれてもよいし、又は、メモリ内の複数の3Dマップ点の記憶順序が、3Dマップ点の番号を暗示的に示すように使用されてよい。3Dマップに含まれている複数の3Dマップ点の順序は、無意味であることに留意されたい。したがって、前述した番号は、3Dマップ点を区別するために3Dマップ点を識別することに使用される識別子とみなされてよい。しかしながら、上記番号は、複数の3Dマップ点の順序を限定することを意図するものではない。例えば、3Dマップは、それぞれ番号が1、2、及び3である3つの3Dマップ点を含み、3つの3Dマップ点は、1、2、及び3の順で、又は、3、2、及び1の順で、又は、2、1、及び3の順等で処理されてよい。
【0108】
可能な実装において、3Dマップのデータは、複数のエリア記述子をさらに含み、複数のエリア記述子のいずれか1つは、複数の3Dマップ点のうちのいくつか又は全ての3Dマップ点の特徴を記述するものである。具体的に言えば、複数のエリア記述子のいずれか1つに関して、当該エリア記述子は、複数の3Dマップ点のいくつか又は全ての3Dマップ点の特徴を記述してよい。この場合、エリア記述子及び3Dマップ点は、1対多の関係にある。複数の3Dマップ点の各3Dマップ点の特徴は、複数のエリア記述子のいくつか又は全てのエリア記述子によって記述されてよい。この場合、3Dマップ点及びエリア記述子は、1対多の関係にある。複数のエリア記述子及び複数の3Dマップ点は、多対多の関係にあることがわかる。エリア記述子を生成するための方法は、限定されるものではないが、BOW及び局所集約記述子のベクトル(vector of locally aggregated descriptors、VLAD)等の従来的な方法、及び、NetVLAD又は人工知能(artificial intelligence、AI)に基づく新規の方法を含む。同様に、複数のエリア記述子は、複数のエリア記述子を区別するために番号によって識別されてよい。しかしながら、同様に、上記番号は、複数のエリア記述子の順序を限定することを意図するものではない。
【0109】
可能な実装において、3Dマップのデータは、3Dマップ点及び記述子間の対応関係をさらに含む。上記対応関係は、任意の記述子がどの3Dマップ点に対応するか、及び、任意の3Dマップ点がどの記述子に対応するかを明確に記述する。
【0110】
任意選択で、前述した対応関係は、エリア記述子の番号及び3Dマップ点の番号間の対応テーブルを使用することによって、明示的に記述されてよい。例えば、3Dマップは、その番号がT1~T3である3つのエリア記述子、及び、5つの3Dマップ点を含む。6つの3Dマップ点空間位置の番号は、P~Pであり、6つの3Dマップ点記述子の番号は、F~Fである。対応テーブルが表1に示されている。
表1
【表1】
【0111】
表1は、エリア記述子の番号及び3Dマップ点の番号間の対応テーブルの一例であることに留意されたい。対応テーブルは、代替的に別のフォーマット又は方式で提示されてよい。これは、本願において特に限定されるものではない。
【0112】
任意選択で前述した対応関係は、代替的には、エリア記述子及び3Dマップ点の記憶位置を使用することによって暗示的に記述されてよい。例えば、T1が、まずメモリに格納されて、次に、P、P、及びPのデータが格納され;次に、T2が格納されて、次に、P及びPのデータが格納され;最後に、T3が格納され、次に、P、P、P、及びPのデータが格納される。
【0113】
図2は、本願の一実施形態による電子デバイス20の構造の概略図である。図2に示されているように、電子デバイス20は、図1に示されている実施形態における第1の電子デバイス及び1又は複数の第2の電子デバイスのうちの少なくとも1つであってよい。図2に示されている構造は、電子デバイス20に対する具体的な限定をなすものではないことが理解されるべきである。本願のいくつかの他の実施形態において、電子デバイス20は、図2に示されているものよりも多数又は少数のコンポーネントを含むか、又は、いくつかのコンポーネントを組み合わせるか、又は、いくつかのコンポーネントを分割するか、又は異なるコンポーネント構成を有してよい。図2に示されているコンポーネントは、1又は複数の信号処理及び/又は特定用途向け集積回路を含むハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組み合わせで実装されてよい。
【0114】
電子デバイス20は、チップ21、メモリ22(1又は複数のコンピュータ可読記憶媒体)、ユーザインタフェース23、ディスプレイコンポーネント24、カメラ25、センサ26、デバイス測位を実行するように構成されている測位モジュール27、及び通信を実行するように構成されているトランシーバ28を含んでよい。これらのコンポーネントは、1又は複数のバス29を通じて互いに通信してよい。
【0115】
1又は複数のプロセッサ211、クロックモジュール212、及び電力管理モジュール213が、チップ21に統合されてよい。チップ21に統合されているクロックモジュール212は、主に、プロセッサ211のデータ送信及びタイミング制御に必要なタイマを提供するように構成されている。タイマは、データ送信及びタイミング制御のクロック機能を実装してよい。プロセッサ211は、命令オペレーションコード及びタイミング信号に基づいて操作を実行するとともにオペレーション制御信号を生成して、命令フェッチング及び命令実行の制御を完了してよい。チップ21に統合されている電力管理モジュール213は、主に、チップ21及び電子デバイス20の別のコンポーネントのための安定で高精度な電圧を提供するように構成されている。
【0116】
プロセッサ211は、中央処理ユニット(central processing unit、CPU)とも称され得る。プロセッサ211は、具体的には、1又は複数の処理ユニットを含んでよい。例えば、プロセッサ211は、アプリケーションプロセッサ(application processor、AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit、GPU)、イメージ信号プロセッサ(image signal processor、ISP)、コントローラ、ビデオコーデック、デジタル信号プロセッサ(digital signal processor、DSP)、ベースバンドプロセッサ、ニューラル処理ユニット(neural-network processing unit、NPU)等を含んでよい。複数の異なる処理ユニットは、独立したコンポーネントであってもよいし、又は1又は複数のプロセッサに統合されてもよい。
【0117】
可能な実装において、プロセッサ211は、1又は複数のインタフェースを含んでよい。インタフェースは、集積回路間(inter-integrated circuit、I2C)インタフェース、集積回路間サウンド(inter-integrated circuit sound、I2S)インタフェース、パルス符号変調(pulse code modulation、PCM)インタフェース、汎用非同期受信機/送信機(universal asynchronous receiver/transmitter、UART)インタフェース、モバイルインダストリプロセッサインタフェース(mobile industry processor interface、MIPI)、汎用入力/出力(general-purpose input/output、GPIO)インタフェース、加入者識別モジュール(subscriber identity module、SIM)インタフェース、ユニバーサルシリアルバス(universal serial bus、USB)ポート等を含み得る。
【0118】
メモリ22は、バス29を通じてプロセッサ211に接続されてもよいし、又は、プロセッサ311に結合されてもよく、様々なソフトウェアプログラム及び/又は命令の複数のグループを格納するように構成されている。メモリ22は、高速ランダムアクセスメモリ(例えば、キャッシュ)を含んでもよいし、又は、不揮発性メモリ、例えば、1又は複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は別の不揮発性ソリッドステートストレージデバイスを含んでもよい。メモリ22は、オペレーティングシステム、例えば、Android(登録商標)(Android)、Apple(登録商標)(iOS(登録商標))、Microsoft(登録商標)(Windows(登録商標))、又はLinux(登録商標)等の組み込みオペレーティングシステムを格納してよい。メモリ22は、データ、例えば、イメージデータ、ポイントクラウドデータ、3Dマップデータ、ポーズデータ、座標系変換情報、及びマップ更新情報をさらに格納してよい。メモリ22は、コンピュータ実行可能プログラムコードをさらに格納してよい。コンピュータ実行可能プログラムコードは、命令、例えば、SLAMシステムの通信プログラム命令及び関連するプログラム命令を含む。メモリ22は、1又は複数のアプリケーション、例えば、AR/VR/MR等の仮想シナリオアプリケーション、マップアプリケーション、イメージ管理アプリケーション、及びナビゲーション及び制御アプリケーションをさらに格納してよい。メモリ22は、ユーザインタフェースプログラムをさらに格納してよい。ユーザインタフェースプログラムは、グラフィカルオペレーションインタフェースを使用することによって、アプリケーションのコンテンツ、例えば、AR/VR/MR等の仮想シナリオにおける仮想オブジェクトを鮮明に表示し、ディスプレイコンポーネント24を使用することによって、コンテンツを提示し、メニュー、ダイアログボックス、又はボタン等の入力コントロールを使用することによって、アプリケーションに対してユーザが実行した制御操作を受信してよい。
【0119】
ユーザインタフェース23は、例えば、タッチパネルであってよい。タッチパネルは、タッチパネルに対してユーザが実行した操作の命令を検出してよい。ユーザインタフェース23は、例えば、キーパッド、物理ボタン、又はマウスであってよい。
【0120】
電子デバイス20は、1又は複数のディスプレイコンポーネント24を含んでよい。電子デバイス20は、ディスプレイコンポーネント24、チップ21内のグラフィックス処理ユニット(GPU)及びアプリケーションプロセッサ(AP)等を使用することによって、共同で表示機能を実装してよい。GPUは、イメージ処理を実装するためのマイクロプロセッサであり、ディスプレイコンポーネント24及びアプリケーションプロセッサに接続されている。GPUは、グラフィックスレンダリングのための数学的及び幾何学的計算を実行する。ディスプレイコンポーネント24は、電子デバイス20によって出力されたインタフェースコンテンツを表示、例えば、AR/VR/MR等の仮想シナリオにおけるイメージ、ビデオ等を表示してよい。インタフェースコンテンツは、作動中のアプリケーション、システムレベルメニュー等のインタフェースを含んでよく、具体的には、以下のインタフェース要素:ボタン(Button)、テキスト入力ボックス(Text)、スクロールバー(Scrollbar)、及びメニュー(メニュー)等の入力インタフェース要素;及び、ウィンドウ(Window)、ラベル(Label)、イメージ、ビデオ、及びアニメーション等の出力インタフェース要素を含んでよい。
【0121】
ディスプレイコンポーネント24は、ディスプレイパネル、レンズ(例えば、VRグラス)、投影スクリーン等であってよい。ディスプレイパネルは、ディスプレイスクリーンとも称され得、例えば、タッチスクリーン、フレキシブルスクリーン、曲面スクリーン等であってもよいし、又は、別の光学コンポーネントであってもよい。本願の実施形態における電子デバイスのディスプレイスクリーンは、タッチスクリーン、フレキシブルスクリーン、曲面スクリーン、又は別の形態のスクリーンであってよいことが理解されるべきである。換言すれば、電子デバイスのディスプレイスクリーンは、イメージを表示する機能を有し、ディスプレイスクリーンの具体的な材料及び形状は特に限定されるものではない。
【0122】
例えば、ディスプレイコンポーネント24がディスプレイパネルを含む場合、ディスプレイパネルは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light-emitting diode、OLED)、アクティブマトリクス有機発光ダイオード(active matrix organic light-emitting diode)又はアクティブマトリクス有機発光ダイオード(active-matrix organic light-emitting diode、AMOLED)、フレキシブル発光ダイオード(flexible light-emitting diode、FLED)、MiniLed、MicroLed、Micro-oLed、量子ドット発光ダイオード(quantum dot light-emitting diode、QLED)等を使用してよい。さらに、可能な実装において、ユーザインタフェース23におけるタッチパネルは、ディスプレイコンポーネント24におけるディスプレイパネルに結合されてよい。例えば、タッチパネルは、ディスプレイパネルの下方に配置されてよく、タッチパネルは、ディスプレイパネルを使用することによってユーザがタッチ操作(例えば、タップ、スライド、又はタッチ)を入力した場合にディスプレイパネルに作用する触圧を検出するように構成されており、ディスプレイパネルは、コンテンツを表示するように構成されている。
【0123】
カメラ25は、単眼カメラ、双眼カメラ、又は深度カメラであってよく、環境を撮影/記録してイメージ/ビデオイメージを取得するように構成されている。カメラ25によって収集されたイメージ/ビデオイメージは、例えば、SLAMシステムの入力データとして使用されてもよいし、又は、イメージ/ビデオは、ディスプレイコンポーネント24を使用することによって表示されてもよい。
【0124】
可能な実装において、カメラ25は、センサとみなされてもよい。カメラ25によって収集されたイメージは、IMGフォーマットであってもよいし、又は、別のフォーマットタイプであってもよい。これは、本願の実施形態において特に限定されるものではない。
【0125】
センサ26は、電子デバイス20のステータス変化(例えば、回転、揺動、移動、又は振動)に関連するデータを収集するように構成されてよい。センサ26によって収集されたデータは、SLAMシステムの入力データとして使用されてよい。センサ26は、1又は複数のセンサ、例えば、慣性計測ユニット(inertial measurement unit、IMU)及び飛行時間(time of flight、TOF)センサを含んでよい。IMUは、ジャイロスコープ及び加速度計等のセンサを含んでよい。ジャイロスコープは、電子デバイスが動いた場合に電子デバイスの角速度を測定するように構成されており、加速度計は、電子デバイスが動いた場合に電子デバイスの加速度を測定するように構成されている。TOFセンサは、投光器及び受光器を含んでよい。投光器は、光、例えば、レーザ光、赤外線、又はレーダ波を外方に放出するように構成されている。受光器は、反射光、例えば、反映レーザ光、赤外線、又はレーダ波を検出するように構成されている。
【0126】
センサ26は、慣性センサ、気圧計、磁力計、及び車輪速度計(wheel speedometer)等の、より多くの他のセンサをさらに含んでよいことに留意されたい。これは、本願の実施形態において特に限定されるものではない。
【0127】
測位モジュール27は、電子デバイス20の物理的測位を実装するように構成されており、例えば、電子デバイス20の初期位置を取得するように構成されている。測位モジュール27は、Wi-Fi測位モジュール、Bluetooth測位モジュール、基地局測位モジュール、及び衛星測位モジュールのうちの1又は複数を含んでよい。測位を支援するために、衛星測位モジュール内に全地球航法衛星システム(global navigation satellite system、GNSS)が配置されてよい。GNSSは、北斗システム(BeiDou system)、グローバルポジショニングシステム(global positioning system、GPS)システム、GLONASS(global navigation satellite system、GLONASS)システム、及びガリレオ航法衛星システム(Galileo)システムに限定されるものではない。
【0128】
トランシーバ28は、電子デバイス20及び別のデバイス(例えば、サーバ又は別の電子デバイス)間の通信を実施するように構成されている。トランシーバ28は、無線周波数信号をそれぞれ送信及び受信するように構成されている送信機及び受信機を統合したものである。具体的な実装において、トランシーバ28は、限定されるものではないが、アンテナシステム、無線周波数(radio frequency、RF)トランシーバ、1又は複数のアンプ、チューナ、1又は複数のオシレータ、デジタル信号プロセッサ、コーデック(CODEC)チップ、加入者識別モジュール(subscriber identity module、SIM)カード、記憶媒体等を含む。可能な実装において、トランシーバ28は、代替的に、別個のチップ上に実装されてよい。トランシーバ28は、2G/3G/4G/5G等の少なくとも1つのデータネットワークにおける少なくとも1つのデータネットワーク通信をサポートする、及び/又は、以下の短距離無線通信方式のうちの少なくとも1つをサポートする:Bluetooth(Bluetooth、BT)通信、ワイヤレスフィデリティ(wireless fidelity、Wi-Fi)通信、近距離通信(near field communication、NFC)、赤外線(infrared、IR)無線通信、超広帯域(ultra wideband、UWB)通信、及びZigBee(登録商標)(ZigBee)プロトコル通信。
【0129】
本願のこの実施形態において、プロセッサ211は、メモリ22に格納されたプログラムコードを作動させて、電子デバイス20の様々な機能アプリケーション及びデータ処理を実行する。
【0130】
図3は、本願の一実施形態によるサーバ30の構造の概略図である。図3に示されているように、サーバ30は、図1に示されている実施形態におけるサーバであってよい。サーバ30は、プロセッサ301、メモリ302(1又は複数のコンピュータ可読記憶媒体)、及びトランシーバ303を含む。これらのコンポーネントは、1又は複数のバス304を通じて互いに通信してよい。
【0131】
プロセッサ301は、1又は複数のCPUであってよい。プロセッサ301が1つのCPUである場合、このCPUは、シングルコアCPUであり得るか、又はマルチコアCPUであり得る。
【0132】
メモリ302は、バス304を通じてプロセッサ301に接続されてもよいし、又は、プロセッサ301に結合されてもよく、様々なプログラムコード及び/又は命令の複数のグループ及びデータ(例えば、マップデータ及びポーズデータ)を格納するように構成されている。具体的な実装において、メモリ302は、限定されるものではないが、ランダムアクセスメモリ(Random Access Memory、RAM)、リードオンリメモリ(Read-Only Memory、ROM)、消去可能プログラマブルリードオンリメモリ(Erasable Programmable Read-Only Memory、EPROM)、ポータブルリードオンリメモリ(Compact Disc Read-Only Memory、CD-ROM)等を含む。
【0133】
トランシーバ303は、主に受信機及び送信機を統合したものである。受信機は、電子デバイスによって送信されたデータ(例えば、要求又はイメージ)を受信するように構成されており、送信機は、データ(例えば、マップデータ又はポーズデータ)を電子デバイスに送信するように構成されている。
【0134】
図3に示されているサーバ30は、本願のこの実施形態において提供される一例に過ぎず、サーバ30は、図に示されているものよりも多くのコンポーネントをさらに有してよいことが理解されるべきである。これは、本願の実施形態において特に限定されるものではない。
【0135】
本願のこの実施形態において、プロセッサ301は、メモリ302に格納されたプログラムコードを作動させて、サーバ30の様々な機能アプリケーション及びデータ処理を実行する。
【0136】
本願の実施形態において使用される「結合」という用語は、直接接続、又は、1又は複数の中間コンポーネント又は回路を通じた接続を意味する。
【0137】
図4aは、本願の一実施形態による応用シナリオの概略図である。図4aに示されているように、この応用シナリオにおいて、電子デバイスは、センサを使用することによって視覚的情報を収集し、視覚的情報及びサーバからの3Dマップを参照して電子デバイスの現在のポーズを判定する。
【0138】
3Dマップは、サーバによって提供される。具体的に言えば、サーバは、3Dマップを生成し、次に、この3Dマップを圧縮して、3Dマップの圧縮データを電子デバイスに送信する。3Dマップの圧縮データを受信した後、電子デバイスは、圧縮解除を実行して3Dマップの再構築データを取得し、収集された視覚的情報及び3Dマップの再構築データを参照して電子デバイスの現在のポーズを判定する。ポーズは、電子デバイスの位置情報であり、ワールド座標系における絶対的なポーズであってもよいし、又は、環境における或る点に対する相対的なポーズであってもよい。
【0139】
本願のこの実施形態において、サーバは、予め3Dマップを生成して、この3Dマップを圧縮し、次に、3Dマップの圧縮データをローカルに格納してよい。このようにして、記憶領域を節約できる。さらに、サーバは、3Dマップの圧縮データを、別のデバイス、例えば、クラウドストレージに送信してよい。
【0140】
1.サーバは、3Dマップを生成し、この3Dマップを圧縮して3Dマップの圧縮データを取得し、圧縮データをローカルに格納する。
【0141】
サーバは、3Dマップを圧縮して、ローカル記憶領域を節約する。
【0142】
2.電子デバイスは、マップダウンロード要求をサーバに送信する。マップダウンロード要求は、2つの方式でトリガされる。
【0143】
(1)ユーザは、電子デバイスにインストールされたマップアプリケーションを開始し、このアプリケーションは、このアプリケーションに対応するサーバに、GPS測位又はWi-Fi測位に基づいて取得された位置情報をアップロードする。アップロード操作は、マップダウンロード要求をトリガしてよい。アップロードされたコンテンツが位置情報を含むことから、サーバは、位置情報に基づいて予備的な推定を実行して、位置情報によって示される測位点が属するエリアの3Dマップの圧縮データを電子デバイスに送信してよい。位置情報によって示される測位点が属するエリアの範囲は、事前設定されてよい。例えば、測位点が属するエリアは、測位点が位置する任意のレベルの行政地域(郡、市、国、又は行政地域を含む)であってもよいし、又は、測位点を中心として、指定された距離を半径として用いた円形エリアであってよい。
【0144】
(2)ユーザは、電子デバイスにインストールされたマップアプリケーションを開始して、能動的にそのアプリケーション上の或るエリアに入るか又はそれを選択する。例えば、ユーザは、能動的に、「xxビジネスセンター」に入るか、又は、「街路A、街路B、及び街路C」のリストから「街路A」を選択する。ユーザの前述した操作は、マップダウンロード要求をトリガしてよい。ユーザが地理的位置に入るか又はそれを選択するかにかかわらず、サーバは、それに応じて、その地理的位置の3Dマップの圧縮データを電子デバイスに送信する。
【0145】
本願のこの実施形態において、前述した2つの方式に加えて、マップダウンロード要求をトリガするために、別の方式が使用されてよいことが理解されるべきである。例えば、電子デバイスは、3Dマップをダウンロードする又は3Dマップのダウンロードを開始するための条件が満たされているか否かを自動で検出するか、又は、電子デバイスは、周囲光の変化又は環境の変化を検出したら、3Dマップのダウンロードを開始して、エリア範囲の3Dマップをダウンロードすることをサーバに要求する。エリア範囲のサイズは、特に限定されるものではない。
【0146】
3.サーバは、3Dマップの圧縮データを電子デバイスに送信する。
【0147】
4.電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0148】
ステップ3及びステップ4は、互いに独立しており、順序が限定されるものではないことに留意されたい。
【0149】
5.電子デバイスは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0150】
6.電子デバイスは、視覚的情報に基づいて、3Dマップにおける測位を実行して、視覚的情報に対応するポーズを取得する。
【0151】
3Dマップの圧縮データを受信した後、電子デバイスは、圧縮データを即座に圧縮解除する必要はなく、視覚的情報に基づいて測位を実行する前にのみ、圧縮データを圧縮解除して、3Dマップの再構築データを取得する必要がある。例えば、ユーザは、「オフラインマップ」をダウンロードすることによって、エリア範囲の3Dマップの圧縮データを事前ダウンロードして、測位が必要とされる場合にのみ、3Dマップの圧縮データを圧縮解除してよい。
【0152】
図4bは、本願の一実施形態による応用シナリオの概略図である。図4bに示されているように、この応用シナリオにおいて、電子デバイスは、センサを使用することによって視覚的情報を収集し、サーバは、電子デバイスからの視覚的情報及び3Dマップを参照して電子デバイスの現在のポーズを判定する。
【0153】
3Dマップは、サーバによって提供される。具体的に言えば、サーバは、3Dマップを生成し、次に、3Dマップを圧縮して、3Dマップの圧縮データをローカルに格納する。電子デバイスから視覚的情報を受信した場合、サーバは、圧縮解除を実行して3Dマップの再構築データを取得し、視覚的情報及び3Dマップの再構築データを参照して電子デバイスの現在のポーズを判定する。
【0154】
1.サーバは、3Dマップを生成し、この3Dマップを圧縮して3Dマップの圧縮データを取得し、圧縮データをローカルに格納する。
【0155】
2.電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0156】
3.電子デバイスは、視覚的情報をサーバに送信する。
【0157】
4.サーバは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0158】
サーバは、3Dマップを圧縮して、記憶領域を節約することが理解されるべきである。
【0159】
5.サーバは、視覚的情報に基づいて3Dマップにおける測位を実行して、視覚的情報に対応するポーズを取得する。
【0160】
6.サーバは、ポーズを電子デバイスに送信する。
【0161】
図4cは、本願の一実施形態による応用シナリオの概略図である。図4cに示されているように、この応用シナリオにおいて、電子デバイスは、センサを使用することによって視覚的情報を収集し、収集された視覚的情報及び3Dマップを参照して電子デバイスの現在のポーズを判定する。
【0162】
3Dマップは、電子デバイスによって提供される。具体的に言えば、電子デバイスは、3Dマップを生成し、次に、3Dマップを圧縮し、3Dマップの圧縮データをローカルに格納する。視覚的情報が収集された場合、電子デバイスは、圧縮解除を実行して3Dマップの再構築データを取得し、収集された視覚的情報及び3Dマップの再構築データを参照して電子デバイスの現在のポーズを判定する。
【0163】
1.電子デバイスは、3Dマップを生成し、3Dマップを圧縮して3Dマップの圧縮データを取得し、圧縮データをローカルに格納する。
【0164】
電子デバイスは、3Dマップを圧縮して、記憶領域を節約することが理解されるべきである。
【0165】
2.電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0166】
3.電子デバイスは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0167】
4.電子デバイスは、視覚的情報に基づいて、3Dマップにおける測位を実行して、視覚的情報に対応するポーズを取得する。
【0168】
図4dは、本願の一実施形態による応用シナリオの概略図である。図4dに示されているように、この応用シナリオにおいて、第2の電子デバイスは、センサを使用することによって視覚的情報を収集し、視覚的情報及びサーバからの3Dマップを参照して第2の電子デバイスの現在のポーズを判定する。
【0169】
3Dマップは、第1の電子デバイスによって生成される。具体的に言えば、第1の電子デバイスは、3Dマップを生成し、その3Dマップを圧縮し、次に、3Dマップの圧縮データをサーバに送信する。サーバは、次に、3Dマップの圧縮データを第2の電子デバイスに送信する。第2の電子デバイスは、圧縮解除を実行して3Dマップの再構築データを取得し、収集された視覚的情報及び3Dマップの再構築データを参照して第2の電子デバイスの現在のポーズを判定する。
【0170】
本願のこの実施形態において、第1の電子デバイスは、予め3Dマップを生成し、その3Dマップを圧縮し、次に、3Dマップの圧縮データをサーバに送信してよい。このようにして、送信帯域幅を減少させることができる。
【0171】
1.第1の電子デバイスは、3Dマップを生成し、その3Dマップを圧縮して3Dマップの圧縮データを取得する。
【0172】
2.第1の電子デバイスは、3Dマップの圧縮データをサーバに送信する。
【0173】
第1の電子デバイスは、3Dマップを圧縮し、次に、3Dマップの圧縮データを送信し、それにより、送信帯域幅を減少させるとともに送信効率を改善する。
【0174】
3.第2の電子デバイスは、マップダウンロード要求をサーバに送信する。
【0175】
第2の電子デバイスは、図4aに示されているトリガ方式に基づいてマップダウンロード要求を送信してよい。
【0176】
4.サーバは、3Dマップの圧縮データを第2の電子デバイスに送信する。
【0177】
5.第2の電子デバイスは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0178】
6.第2の電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0179】
7.第2の電子デバイスは、視覚的情報に基づいて3Dマップにおける測位を実行し、視覚的情報に対応するポーズを取得する。
【0180】
図4eは、本願の一実施形態による応用シナリオの概略図である。図4eに示されているように、この応用シナリオにおいて、第2の電子デバイスは、センサを使用することによって視覚的情報を収集し、サーバは、第2の電子デバイスからの視覚的情報及び第1の電子デバイスからの3Dマップを参照して第2の電子デバイスの現在のポーズを判定する。
【0181】
3Dマップは、第1の電子デバイスによって生成される。具体的に言えば、第1の電子デバイスは、3Dマップを生成し、その3Dマップを圧縮し、次に、3Dマップの圧縮データをサーバに送信する。サーバは、圧縮解除を実行して3Dマップの再構築データを取得し、第2の電子デバイスからの視覚的情報及び3Dマップの再構築データを参照して第2の電子デバイスの現在のポーズを判定する。
【0182】
1.第1の電子デバイスは、3Dマップを生成し、その3Dマップを圧縮して3Dマップの圧縮データを取得する。
【0183】
2.第1の電子デバイスは、3Dマップの圧縮データをサーバに送信する。
【0184】
3.第2の電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0185】
4.第2の電子デバイスは、測位要求をサーバに送信し、ここで、測位要求は、視覚的情報を搬送する。
【0186】
5.サーバは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0187】
6.サーバは、視覚的情報に基づいて3Dマップにおける測位を実行して、視覚的情報に対応するポーズを取得する。
【0188】
7.サーバは、第2の電子デバイスに、測位を通じて取得されたポーズを送信する。
【0189】
図4fは、本願の一実施形態による応用シナリオの概略図である。図4fに示されているように、この応用シナリオにおいて、第2の電子デバイスは、センサを使用することによって視覚的情報を収集し、視覚的情報及び第1の電子デバイスからの3Dマップを参照して第2の電子デバイスの現在のポーズを判定する。
【0190】
3Dマップは、第1の電子デバイスによって生成される。具体的に言えば、第1の電子デバイスは、3Dマップを生成し、その3Dマップを圧縮し、次に、3Dマップの圧縮データを第2の電子デバイスに送信する。第2の電子デバイスは、圧縮解除を実行して3Dマップの再構築データを取得し、収集された視覚的情報及び第1の電子デバイスからの3Dマップを参照して第2の電子デバイスの現在のポーズを判定する。
【0191】
1.第1の電子デバイスは、3Dマップを生成し、3Dマップを圧縮して、3Dマップの圧縮データを取得し、圧縮データをローカルに格納する。
【0192】
2.第2の電子デバイスは、マップダウンロード要求を第1の電子デバイスに送信する。
【0193】
3.第1の電子デバイスは、3Dマップの圧縮データを第2の電子デバイスに送信する。
【0194】
4.第2の電子デバイスは、3Dマップの圧縮データを圧縮解除して、3Dマップの再構築データを取得する。
【0195】
5.第2の電子デバイスは、センサを使用することによって視覚的情報を収集する。
【0196】
6.第2の電子デバイスは、視覚的情報に基づいて3Dマップにおける測位を実行して、視覚的情報に対応するポーズを取得する。
【0197】
図4a~図4fに示されている実施形態において使用される測位アルゴリズムは、以下のものを含んでよい。
【0198】
(1)視覚的情報から、取り出されることになる(to-be-retrieved)エリア記述子が抽出され、ここで、取り出されることになるエリア記述子を抽出するために使用されるアルゴリズムは、3Dマップからエリア記述子を抽出するためのアルゴリズムと一貫する。
【0199】
(2)視覚的情報から、取り出されることになる3Dマップ点が抽出され、取り出されることになる3Dマップ点空間位置及び取り出されることになる3Dマップ点記述子が取得され、ここで、取り出されることになる3Dマップ点記述子を抽出するためのアルゴリズムは、3Dマップから3Dマップ点記述子を抽出するためのアルゴリズムと一貫する。
【0200】
(3)取り出されることになるエリア記述子に基づいて、3Dマップのデータに含まれている複数のエリア記述子において取り出しが実行され、複数の候補エリア記述子を取得する。
【0201】
本願の実施形態において、取り出されることになるエリア記述子及び複数のエリア記述子における各エリア記述子間の距離が計算されてよい。距離は、ハミング距離、マンハッタン距離、ユークリッド距離等を含んでよい。次に、条件(例えば、距離が閾値よりも小さい)を満たす少なくとも1つのエリア記述子が、候補エリア記述子として選択される。
【0202】
(4)取り出されることになる3Dマップ点記述子及び複数の候補エリア記述子に対応する3Dマップ点記述子間のマッチングが別々に実行される。マッチングとは、取り出されることになる3Dマップ点記述子及び複数の候補エリア記述子に対応する3Dマップ点記述子間の類似度を別々に計算して、最も類似する3Dマップ点を発見することである。
【0203】
(5)電子デバイスのポーズは、発見された3Dマップ点に基づいて、ORB-SLAM2におけるPnP又はEPnP等のポーズ解決アルゴリズムを使用することによって計算される。
【0204】
図4a~図4fにおける応用シナリオのいずれか1つにおいて、電子デバイスの現在のポーズを取得するために、本願の実施形態における3Dマップに基づいて測位が実行される。ポーズは、ARナビゲーション、ARヒューマンコンピュータインタラクション、運転支援、及び自律運転等の分野に適用されてよい。例えば、ポーズに基づくARナビゲーションが一例として使用される。図4gは、本願の一実施形態による電子デバイスによって表示されるユーザインタフェースの概略図である。電子デバイスは、ポーズに基づいて、図4gに示されているユーザインタフェースを表示してよい。ユーザインタフェースは、会議室2に向いたナビゲーション矢印の指示を含んでよく、会議室2に向いたナビゲーション矢印の指示は、ポーズに基づいてサーバから取得された又はポーズに基づいてローカルに取得された仮想オブジェクトであってよい。ユーザインタフェースは、センサによって収集された視覚的情報、例えば、図4gに示されている建物をさらに含んでよい。ユーザは、図4gに示されている電子デバイスのユーザインタフェースを参照して会議室2に行く。
【0205】
圧縮解除を通じて取得された、本願の実施形態における3Dマップの再構築データは、3Dマップの再構築データとも称され得ることに留意されたい。
【0206】
図4a~図4fに示されている実施形態は全て、3Dマップの圧縮及び圧縮解除に関連している。本願の実施形態は、前述した圧縮及び圧縮解除を実行するための複数の方法を提供する。以下、圧縮及び圧縮解除方法を説明する。
【0207】
前述した説明に基づいて、以下、本願の実施形態による3Dマップを圧縮するためのいくつかの方法を提供する。便宜上、下で説明する方法の実施形態は、一連の行為ステップの組み合わせとして表現される。しかしながら、当業者であれば、本願の技術的解決手段の具体的な実装は、説明される一連の行為ステップの順序に限定されるものではないことを理解すべきである。
【0208】
図5を参照されたい。図5は、本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。本願の実施形態における3Dマップを圧縮するための方法を実行するための実行体は、コンプレッサ端又はエンコーダ端とも称され得る。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0209】
S101:3Dマップ記述子を取得する。
【0210】
3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する。3Dマップ記述子は、ベクトル、例えば、128次元ベクトル又は512次元ベクトルであってよい。3Dマップ記述子の次元の数は、前述した例に限定されるものではなく、別の値であってよい。例は、本願のこの実施形態において1つずつ説明しない。具体的に、3Dマップ記述子は、エリア記述子又は3Dマップ点記述子であってよい。1つのエリア記述子は、複数の3Dマップ点に対応してよい。具体的な説明及び記述については、前述した実施形態における説明及び記述を参照されたい。詳細は、ここで再度説明されない。ここで、3Dマップ記述子とは、後続のステップを使用することによって圧縮される必要がある3Dマップ記述子である。3Dマップ記述子のデータボリュームは、3Dマップ記述子を圧縮することによって低減される。
【0211】
S102:3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する。
【0212】
少なくとも1つの事前設定閾値ベクトルにおける任意の事前設定閾値ベクトルに含まれている各成分は、任意の値である。任意の事前設定閾値ベクトルに含まれている成分の数(すなわち、ベクトル次元の数)は、3Dマップ記述子に含まれている成分の数と同じか又はそれとは異なってよく、必要に応じて適宜設定されてよい。任意の事前設定閾値ベクトルに含まれている成分の値も、必要に応じて適宜設定されてよい。例えば、少なくとも1つの事前設定閾値ベクトルに含まれている成分の値は、圧縮される必要があるいくつかの3Dマップ記述子の値範囲に基づいて設定されてよい。
【0213】
バイナリ化とは、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係を、バイナリシンボルによって表されるバイナリ列、すなわち、バイナリデータへと処理することを意味する。バイナリデータにおけるビットの数は、通例、元のデータ(例えば、元の3Dマップ記述子)におけるビットの数よりも明らかに小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。さらに、バイナリデータ間のハミング距離の計算量は、通例、元のデータ間のユークリッド距離又は内積距離等の距離のそれよりも小さく、それにより、計算の複雑性が低減される。
【0214】
バイナリ化は、例えば、ハッシュ処理であってよい。ハッシュ化の原理は、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係をハミング空間(バイナリ空間)にマッピングして、バイナリハッシュコードを生成することである。ハッシュコードにおけるビットの数は、通例、元のデータにおけるビットの数よりも明らか小さく、ストレージ及び送信帯域幅を節約する。さらに、ハッシュコード間のハミング距離の計算量は、通例、元のデータのユークリッド距離のそれよりも小さく、それにより、計算の複雑性が低減される。バイナリ化は、限定されるものではないが、反復量子化(iterative quantization、ITQ)ハッシュ化、局所性鋭敏型ハッシュ化(locality-sensitive hashing、LSH)、スペクトルハッシュ化(spectral hashing)等を含む。いくつかの実施形態において前述したバイナリ化は、バイナリ化の少なくとも1つの段階であってよい。2段階バイナリ化が一例として使用されており、異なるバイナリ化方式又は同じバイナリ化方式が、2段階バイナリ化のために使用されてよい。バイナリ化の2つの段階を通じてそれぞれ取得されるバイナリデータの長さは、同じであってもよいし又は異なってもよい。例えば、3Dマップ記述子の成分に関して、2段階バイナリ化におけるバイナリ化の1つの段階を通じて取得されるバイナリデータの長さは、1であってよく、バイナリ化の他方の段階を通じて取得されるバイナリデータの長さは、2であってよい。2段階バイナリ化は、後続のステップにおける量子化とさらに関連付けられてよい。例えば、後続の量子化は、2段階量子化であってよい。量子化の1つの段階の精度は、量子化の他方の段階の精度よりも高くてよい。
【0215】
本願の実施形態におけるバイナリデータの長さは、バイナリデータのビットの数(ビット数とも称される)であってよい。例えば、バイナリデータが110である場合、バイナリデータにおけるビットの数は、3である。
【0216】
本願のこの実施形態における3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係は、限定されるものではないが、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の直交関係、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の大小関係等を含む。3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の大小関係は、限定されるものではないが、3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含んでよい。例えば、3Dマップ記述子は、(a,a,...,a)であり、Mは、ベクトル次元の数を表し、aは、3Dマップ記述子のi番目の成分を表し、事前設定閾値ベクトルは、(q,q,...,q)であり、qは、事前設定閾値ベクトルのi番目の成分を表し、i∈[1,M]である。3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係は、成分a及びq間の大小関係、成分a及びq間の大小関係、...、及び、成分a及びq間の大小関係を含んでよい。前述した例において、ベクトル次元の数は、事前設定閾値ベクトル及び3Dマップ記述子間で同じであり、大小関係は、同じ位置にある成分間の大小関係であることが、説明のための一例として使用されているが、別の実施可能な方式が存在し得ることが確かに理解され得る。例えば、事前設定閾値ベクトルのベクトル次元の数は、3Dマップ記述子の次元の数よりも大きく、大小関係は、成分a及びq等の異なる位置にある成分間の大小関係である。例は、本願のこの実施形態において1つずつ説明しない。
【0217】
S103:3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する。
【0218】
量子化は、限定されるものではないが、スカラー量子化、ベクトル量子化、直積量子化等を含む。例えば、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、量子化を通じて1又は複数の量子化インデックスへと圧縮されてよく、1又は複数の量子化インデックスは、差分の量子化データである。1又は複数の量子化インデックスにおける各量子化インデックスは、1つの量子化中心に対応する。量子化インデックスにおけるビットの数は、通例、元のデータ(例えば、元の3Dマップ記述子)におけるビットの数よりも明らかに小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。
【0219】
本願のこの実施形態における3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、限定されるものではないが、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分値、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分値の絶対値等を含む。3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分値は、3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値を含んでよい。3Dマップ記述子が(a,a,...,a)であり、事前設定閾値ベクトルが(q,q,...,q)である一例が、さらなる説明のために使用される。3Dマップ記述子の成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値は、成分a及びq間の差分値、及び、成分a及びq間の差分値、...、及び成分a及びq間の差分値を含んでよい。
【0220】
このステップにおける少なくとも1つの事前設定閾値ベクトルの説明及び記述については、S102における少なくとも1つの事前設定閾値ベクトルの説明及び記述を参照されたい。詳細は、ここで再度説明されない。いくつかの実施形態において、S103における少なくとも1つの事前設定閾値ベクトルは、S102における少なくとも1つの事前設定閾値ベクトルの一部分であってよいことに留意されたい。いくつかの実施形態において、S103における少なくとも1つの事前設定閾値ベクトルは、S102における少なくとも1つの事前設定閾値ベクトルの全てであってよい。
【0221】
元の3Dマップ記述子は、前述したステップを使用することによって、バイナリデータ及び量子化データへと圧縮されてよい。任意選択で、本願のこの実施形態において、バイナリデータ及び量子化データは、別々に格納又は送信されてもよいし、又は、バイナリデータ及び量子化データは、記憶又は送信のために単純に継ぎ合わされ(spliced together)てよい。任意選択で、バイナリデータ及び量子化データの送信のために、本願のこの実施形態において、バイナリデータ及び量子化データをさらにカプセル化して、3Dマップのビットストリームを取得してよく、3Dマップのビットストリームが送信される。データボリュームは、カプセル化を通じてさらに低減され得、それにより、3Dマップ記述子を送信するために必要なリソースオーバヘッドが低減される。カプセル化は、任意のエンコーディングアルゴリズム、例えば、エントロピーエンコーディングを使用してよい。エントロピーエンコーディングは、ロスレスデータ圧縮方法である。エントロピーエンコーディングアルゴリズムは、限定されるものではないが、ハフマン(huffman)エンコーディング、算術エンコーディング、LZ77圧縮アルゴリズム(lempel-ziv-markov chain-algorithm、LZMA)、データ圧縮のための関数ライブラリアルゴリズム(zlib)等に基づいて改善された圧縮/圧縮解除アルゴリズムを含む。
【0222】
任意選択で、カプセル化の前に、予測等の別の圧縮方式がさらに実行されてよい。例は、本願のこの実施形態において1つずつ説明しない。
【0223】
3Dマップのビットストリームの送信のために、実施可能な方式において、本願のこの実施形態の実行体は、電子デバイスによって送信された3Dマップ要求情報を受信してよい。例えば、3Dマップ要求情報は、図4aにおけるマップダウンロード要求であってよい。本願のこの実施形態の実行体は、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを電子デバイスに送信してよい。実施可能な方式において、本願のこの実施形態の実行体は、3Dマップのビットストリームをサーバに送信してよい。
【0224】
この実施形態において、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得し、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。
【0225】
本願のこの実施形態における圧縮方法は、3Dマップの取り出しにおける効率を最適化するように、3Dマップを取り出すための方法の基礎をさらに提供し得る。例えば、3Dマップの圧縮データは、本願のこの実施形態における3Dマップを圧縮するための方法に基づいて取得され、3Dマップの圧縮データは、3Dマップ記述子のバイナリデータ及び量子化データを含む。3Dマップの圧縮データが取り出しのために使用される場合、取り出し速度を改善するために、まず、取り出し3Dマップ記述子(retrieval 3D map descriptor)のバイナリデータを使用することによって、ハミング距離に基づいて3Dマップの圧縮データにおいて取り出しを実行して、候補3Dマップ記述子を取得してよい。次に、候補3Dマップ記述子を圧縮解除して、候補3Dマップ記述子の再構築データを取得する。取り出し3Dマップ記述子を使用することによって、候補3Dマップ記述子の再構築データにおいて精細化された取り出しを実行することで、取り出し正確度を改善する。本願のこの実施形態における圧縮方法に基づいて3Dマップを取り出すための方法によれば、取り出し速度及び取り出し精度の総合的な最適化を実現できる。
【0226】
図6を参照されたい。図6は、本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。本願の実施形態における3Dマップを圧縮解除するための方法を実行するための実行体は、デコンプレッサ端又はデコーダ端とも称され得る。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0227】
S201:3Dマップの圧縮データを取得する、ここで、圧縮データは、バイナリデータ及び量子化データを含む。
【0228】
バイナリデータ及び量子化データは、3Dマップ記述子のバイナリデータ及び量子化データであってよい。3Dマップ記述子の説明及び記述については、S101の説明及び記述を参照されたい。詳細は、ここで再度説明されない。
【0229】
実施可能な方式において、本願のこの実施形態の実行体は、メモリから3Dマップ記述子のバイナリデータ及び量子化データを取得して、次のS202を使用することによって、再構築3Dマップ記述子を取得してよい。別の実施可能な方式において、本願のこの実施形態の実行体は、メモリから3Dマップの圧縮データを取得し、3Dマップの圧縮データを圧縮解除して、3Dマップ記述子のバイナリデータ及び量子化データを取得し、次のS202を使用することによって、再構築3Dマップ記述子を取得してよい。圧縮解除は、限定されるものではないが、予測等の圧縮解除方式を含んでよい。別の可能な実装において、本願のこの実施形態の実行体は、3Dマップのビットストリームを受信し、3Dマップのビットストリームを圧縮解除して、3Dマップ記述子のバイナリデータ及び量子化データを取得し、次のS202を使用することによって、再構築3Dマップ記述子を取得してよい。圧縮解除は、カプセル化解除、又はカプセル化解除及び予測を含んでよい。カプセル化解除は、限定されるものではないが、エントロピーデコーディングを含む。そのような圧縮解除は、デコーディングとも称され得る。
【0230】
3Dマップのビットストリームの送信のために、実施可能な方式において、本願のこの実施形態の実行体は、3Dマップ要求情報を送信してよい。例えば、3Dマップ要求情報は、図4aにおけるマップダウンロード要求であってよい。本願のこの実施形態の実行体は、3Dマップ要求情報に対応する3Dマップのビットストリームを受信してよい。別の実施可能な方式において、本願のこの実施形態の実行体は、別のデバイスによって送信された3Dマップのビットストリームを受信してよい。
【0231】
S202:バイナリデータ及び量子化データに基づいて、再構築3Dマップ記述子を取得する。
【0232】
再構築3Dマップ記述子、例えば、再構築エリア記述子又は再構築3Dマップ点記述子は、バイナリデータ及び量子化データに基づいて取得されてよい。例えば、記憶領域及び/又は送信リソースオーバヘッドを節約するために、図5に示されている実施形態における圧縮方法を使用して、3Dマップ記述子を圧縮して、3Dマップの圧縮データを取得する。3Dマップ記述子を使用する必要がある場合、再構築3Dマップ記述子を取得するために、この実施形態における圧縮解除方法を使用して、3Dマップの圧縮データを圧縮解除してよい。再構築3Dマップ記述子は、3Dマップ記述子と略同じ又は完全に同じであってよい。
【0233】
実施可能な方式において、量子化データに対して量子化解除を実行して、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得してよい。上記差分、バイナリデータ、及び少なくとも1つの事前設定閾値ベクトルに基づいて、再構築3Dマップ記述子が取得され、ここで、バイナリデータは、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係を示す。少なくとも1つの事前設定閾値ベクトルにおける任意の事前設定閾値ベクトルに含まれている各成分は、任意の値である。再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、量子化解除を通じて量子化データから復元されてよい。例えば、量子化解除プロセスは、図5に示されている実施形態におけるS103の逆のプロセスであってよい。差分の具体的な説明及び記述については、S103の具体的な説明及び記述を参照されたい。詳細は、ここで再度説明されない。バイナリデータは、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係を示す。上記関係の説明及び記述については、S102の具体的な説明及び記述を参照されたい。詳細は、ここで再度説明されない。この実施形態において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、量子化解除を通じて取得されてよく、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係は、バイナリデータに基づいて取得されてよく、次に、再構築3Dマップ記述子は、少なくとも1つの事前設定閾値ベクトルを参照して取得されてよい。
【0234】
この実施形態において、3Dマップ記述子のバイナリデータ及び量子化データが取得され、再構築3Dマップ記述子は、バイナリデータ及び量子化データに基づいて取得される。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。再構築3Dマップ記述子を使用することによって後続の処理、例えば、測位を実行するために、3Dマップの圧縮データを圧縮解除して、再構築3Dマップ記述子を取得する。
【0235】
実施可能な方式1において、1つの事前設定閾値ベクトルがバイナリ化のために使用される。3Dマップ記述子及び1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する。量子化のために使用される事前設定閾値ベクトルは、バイナリ化のために使用される事前設定閾値ベクトルと同じである。具体的な実装については、図7に示されている実施形態の説明及び記述を参照されたい。
【0236】
図7を参照されたい。図7は、本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。この実施形態は、1つの事前設定閾値ベクトルQがバイナリ化のために使用され、Q=(q,q,...,q)である一例を使用することによって記述される。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0237】
S301:3Dマップ記述子を取得する。
【0238】
3Dマップ記述子の具体的な説明及び記述については、図5に示されている実施形態におけるS101を参照されたい。詳細は、ここで再度説明されない。この実施形態は、3Dマップ記述子がDであり、D=(a,a,...,a)である一例を使用することによって記述される。
【0239】
S302:3Dマップ記述子の各成分から、事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得する。
【0240】
D'は、3Dマップ記述子及び事前設定閾値ベクトル間の差分値であり、D'=D-Qである。
【0241】
事前設定閾値ベクトルの対応する成分は、事前設定閾値ベクトルにおける、3Dマップ記述子の成分と同じ位置にある成分であってよい。例えば、各成分の差分値は、aマイナスq,aマイナスq,...,aマイナスqを含む。任意選択で、事前設定閾値ベクトルの対応する成分は、事前設定閾値ベクトルにおける、3Dマップ記述子の成分とは異なる位置にある成分であってよいことが確かに理解され得る。本願のこの実施形態は、これに限定されるものではない。
【0242】
S303:各成分の差分値に対してバイナリ化を実行して、バイナリデータを取得する。
【0243】
3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の大小関係は、各成分の差分値を使用することによって判定されてよい。例えば、aマイナスqが0よりも小さい場合、aは、qよりも小さい。aマイナスqが0よりも大きい場合、aは、qよりも大きい。aマイナスqが0に等しい場合、aは、qに等しい。この実施形態において、大小関係に対してバイナリ化を実行して、バイナリデータを取得してよい。例えば、Hは、バイナリデータであり、Hは、M個のビット情報を含み、H=(h,h,...,h)である。実施可能な方式において、aマイナスqが0よりも大きいか又はそれに等しい場合、hは1である;又は、aマイナスqが0よりも小さい場合、hは0である。別の実施可能な方式において、aマイナスqが0よりも大きいか又はそれに等しい場合、hは0である;又は、aマイナスqが0よりも小さい場合、hは1である。代替的には、以下のように設定されてよいことが確かに理解され得る:aマイナスqが0よりも大きい場合、hは1である、又は、aマイナスqが0よりも小さいか又はそれに等しい場合、hは0である;又は、aマイナスqが0よりも大きい場合、hは0である、又は、aマイナスqが0よりも小さいか又はそれに等しい場合、hは1である。これは、必要に応じて適宜設定されてよい。
【0244】
,q,...,及びqが全てゼロである場合、バイナリ化は、3Dマップ記述子の各成分のシンボルに対してバイナリ化を実行することを意味することが理解され得る。
【0245】
S304:各成分の差分値に基づいて、3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値を判定する。
【0246】
D''は、3Dマップ記述子及び事前設定閾値ベクトル間の差分値の絶対値であり、D''=|D'|である。成分の差分値の絶対値は、a及びq間の差分値の絶対値、a及びq間の差分値の絶対値、...、a及びq間の差分値の絶対値を含む。
【0247】
S305:3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値に対して量子化を実行して、量子化データを取得する。
【0248】
量子化、例えば、前述したスカラー量子化、ベクトル量子化、直積量子化又は別の量子化方式をD''に対して実行して、量子化データを取得する。
【0249】
3Dマップ記述子の圧縮データは、前述したステップを使用することによって取得されてよく、3Dマップ記述子の圧縮データは、バイナリデータ及び量子化データを含んでよい。3Dマップ記述子の圧縮データが格納されて、記憶領域を節約し得る。代替的に、3Dマップ記述子の圧縮データは、カプセル化されて送信されて、それにより、3Dマップを送信するために必要なリソースオーバヘッドが低減され得る。
【0250】
この実施形態において、3Dマップ記述子及び事前設定閾値ベクトル間の大小関係に対してバイナリ化を実行して、バイナリデータを取得し、3Dマップ記述子及び事前設定閾値ベクトル間の差分値の絶対値に対して量子化を実行して、量子化データを取得する。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。
【0251】
図8を参照されたい。図8は、本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。本願の実施形態における3Dマップを圧縮解除するための方法を実行するための実行体は、デコンプレッサ端又はデコーダ端とも称され得る。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0252】
S401:3Dマップの圧縮データを取得する、ここで、圧縮データは、バイナリデータ及び量子化データを含む。
【0253】
バイナリデータ及び量子化データは、図7に示されている実施形態を使用することによって取得されてよい。
【0254】
S402:量子化データに対して量子化解除を実行して、量子化解除データを取得する。
【0255】
DQは、量子化解除データであり、量子化解除データは、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルに対応する成分間の差分値の絶対値であってよい。事前設定閾値ベクトルは、図7に示されている実施形態において使用される事前設定閾値ベクトルQであってよい。再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値は、量子化解除を通じて量子化データから復元されてよい。例えば、量子化解除プロセスは、図7に示されている実施形態における量子化の逆のプロセスであってよい。
【0256】
S403:バイナリデータ及び量子化解除データに基づいて、各成分の差分値を取得する。
【0257】
DQ'は、再構築3Dマップ記述子及び事前設定閾値ベクトル間の差分値である。DQ'は、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値、すなわち、各成分の差分値を含む。
【0258】
バイナリデータに基づいて、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の大小関係が判定されてよく、次に、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値を参照して、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値が取得されてよい。例えば、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の大小関係に基づいて、再構築3Dマップ記述子の各成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値に正の符号又は負の符号を追加して、各成分の差分値を取得する。
【0259】
S404:各成分の差分値及び事前設定閾値ベクトルに基づいて、再構築3Dマップ記述子を取得する。
【0260】
圧縮中、3Dマップ記述子の各成分から、事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得する。したがって、圧縮解除中、各成分の差分値を事前設定閾値ベクトルの対応する成分に追加して、再構築3Dマップ記述子の成分を取得する。D_recoverは、再構築3Dマップ記述子である。D_recover=DQ'+Qである。
【0261】
この実施形態は、圧縮中、3Dマップ記述子の各成分から、事前設定閾値ベクトルの対応する成分を減算し、圧縮解除中、各成分の差分値を、事前設定閾値ベクトルの対応する成分に追加する一例を使用することによって記述されていることに留意されたい。代替的に、別の方式が使用されてよい。例えば、圧縮中、3Dマップ記述子の各成分を事前設定閾値ベクトルの対応する成分に追加し、圧縮解除中、各成分の差分値から、事前設定閾値ベクトルの対応する成分を減算する。本願のこの実施形態は、これに限定されるものではない。
【0262】
この実施形態において、3Dマップ記述子のバイナリデータ及び量子化データが取得され、再構築3Dマップ記述子は、バイナリデータ及び量子化データに基づいて取得される。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。再構築3Dマップ記述子を使用することによって後続の処理、例えば、測位を実行するために、3Dマップの圧縮データを圧縮解除して、再構築3Dマップ記述子を取得する。
【0263】
本願のこの実施形態における圧縮解除方法は、異なる使用要件を伴う応用シナリオにおける要件を参照して柔軟に使用され得ることに留意されたい。例えば、3Dマップの圧縮データが取り出しのために使用される場合、取り出し速度を改善するために、取り出し3Dマップ記述子のバイナリデータを使用することによって、ハミング距離に基づいて、3Dマップの圧縮データにおいて取り出しをまず実行して、候補3Dマップ記述子を取得してよい。次に、比較的高い取り出し精度要件がある場合、前述した圧縮解除方法を使用することによって、候補3Dマップ記述子を圧縮解除して、候補3Dマップ記述子の再構築データを取得してよい。取り出し3Dマップ記述子を使用することによって、候補3Dマップ記述子の再構築データにおいて精細化された取り出しを実行することで、取り出し正確度を改善する。
【0264】
実施可能な方式2において、複数の事前設定閾値ベクトルがバイナリ化のために使用される。3Dマップ記述子及び複数の事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する。量子化のために使用される少なくとも1つの事前設定閾値ベクトルは、バイナリ化のために使用される複数の事前設定閾値ベクトルと同じである。
【0265】
具体的な実装については、図9に示されている実施形態の説明及び記述を参照されたい。
【0266】
図9を参照されたい。図9は、本願の一実施形態による3Dマップを圧縮するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。この実施形態は、それぞれQ,Q,...,QであるNの事前設定閾値ベクトルを使用することによって、前述したバイナリ化を実行し、ここで、Q=(q11,q12,...,q1M)であり、Q=(q21,q22,...,q2M),...,Q=(qN1,qN2,...,qNM)である一例を使用することによって記述されている。Nは1よりも大きい正の整数である。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0267】
S501:3Dマップ記述子を取得する。
【0268】
3Dマップ記述子の具体的な説明及び記述については、図5に示されている実施形態におけるS101を参照されたい。詳細は、ここで再度説明されない。この実施形態は、3Dマップ記述子がDであり、D=(a,a,...,a)である一例を使用することによって記述される。
【0269】
S502:3Dマップ記述子の各成分から、Nの事前設定閾値ベクトルの対応する成分を減算して、Nの差分値ベクトルを取得する、ここで、各差分値ベクトルは、各成分の差分値を含む。
【0270】
'は、3Dマップ記述子及びNの事前設定閾値ベクトルにおけるj番目の事前設定閾値ベクトル間の差分値、すなわち、j番目の差分値ベクトルであり、ここで、j∈[1,N]である。D'=D-Qである。D'の各成分は、3Dマップ記述子の各成分及びj番目の事前設定閾値ベクトルの各成分間の差分値である。D'=(dj1,dj2,...,djM)であり、dji=a-qjiであり、ここで、i∈[1,M]である。
【0271】
j番目の事前設定閾値ベクトルの対応する成分は、j番目の事前設定閾値ベクトルにおける、3Dマップ記述子の成分と同じ位置にある成分であってよい。例えば、3Dマップ記述子の各成分及びj番目の事前設定閾値ベクトルの対応する成分間の差分値は、aマイナスqj1,aマイナスqj2,...,aマイナスqjMを含む。任意選択で、j番目の事前設定閾値ベクトルの対応する成分は、j番目の事前設定閾値ベクトルにおける、3Dマップ記述子の成分とは異なる位置にある成分であってよいことが確かに理解され得る。本願のこの実施形態は、これに限定されるものではない。
【0272】
S503:各成分の差分値に対してバイナリ化を実行して、バイナリデータを取得する。
【0273】
'に対して実行されるバイナリ化が一例として使用される。D'に対してバイナリ化を実行して、D'に対応するバイナリデータHを取得する。Hは、M個のビット情報を含み、H=(hj1,hj2,...,hjM)である。実施可能な方式において、aマイナスqjiが0よりも大きいか又はそれに等しい場合、hjiは1である;又は、aマイナスqjiが0よりも小さい場合、hjiは0である。別の実施可能な方式において、aマイナスqjiが0よりも大きいか又はそれに等しい場合、hjiは0である;又は、aマイナスqjiが0よりも小さい場合、hjiは1である。
【0274】
バイナリデータは、S502及びS503を使用することによって取得され、バイナリデータは、H,H,...,Hを含んでよい。
【0275】
いくつかの実施形態において、バイナリ化のために使用されるNの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルである。最小閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しい。最大閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい。すなわち、Nの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルを含む。最小閾値ベクトル又は最大閾値ベクトルは、Nの差分値ベクトルの各次元における少なくとも1つの差分値が0よりも大きいか又はそれに等しいことを確実にし得る。具体的に言えば、d11,d12,...,及びd1Nにおける少なくとも1つの差分値は、0よりも大きいか又はそれに等しく、d21,d22,...,及びd2Nにおける少なくとも1つの差分値は、0よりも大きいか又はそれに等しく、...、d1M,d2M,...,及びdNMにおける少なくとも1つの差分値は、0よりも大きいか又はそれに等しい。このようにして、3Dマップ記述子の成分及び事前設定閾値ベクトルの対応する成分間の差分値の絶対値ではなくそれらの間の差分値が後続の量子化において使用されて、計算の複雑性が低減され得る。
【0276】
いくつかの実施形態において、Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少する。順次増加することは、Nの事前設定閾値ベクトルにおけるj番目の事前設定閾値ベクトルの任意の成分が、(j-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示す。順次減少することは、Nの事前設定閾値ベクトルにおけるj番目の事前設定閾値ベクトルの任意の成分が、(j-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦j≦Nである。具体的に言えば、q11,q21,...,qN1は、順次増加又は順次減少し;q12,q22,...,qN2は、順次増加又は順次減少し...;q1M,q2M,...,qNMは、順次増加又は順次減少する。
【0277】
以下の3つの事前設定閾値ベクトルが、一例として使用される:Q=(q11,q12,...,q1M)、Q=(q21,q22,...,q2M)、及びQ=(q31,q32,...,q3M)。ここでq11、q21、及びq31は、順次増加する。aの値は、q11、q21、及びq31によって4つの区間:区間1、区間2、区間3、及び区間4に分割されてよい。区間1は、q11よりも小さい数値区間であり、区間2は、q11よりも大きいか又はそれに等しく且つq21よりも小さい数値区間であり、区間3は、q21よりも大きいか又はそれに等しく且つq31よりも小さい数値区間であり、区間4は、q21よりも大きいか又はそれに等しい数値区間である。それに応じて、aに対してバイナリ化を実行することによって取得されるバイナリデータは、区間1、区間2、区間3、及び区間4のうちの1つに対応する。例えば、aがq11よりも小さい場合、aに対してバイナリ化を実行することによって取得されるバイナリデータは、000であり;aがq11よりも大きいか又はそれに等しく且つq21よりも小さい場合、aに対してバイナリ化を実行することによって取得されるバイナリデータは、100であり;aがq21よりも大きいか又はそれに等しく且つq31よりも小さい場合、aに対してバイナリ化を実行することによって取得されるバイナリデータは、110であり;aがq31よりも大きいか又はそれに等しい場合、aに対してバイナリ化を実行することによって取得されるバイナリデータは、111である。任意選択で、q11は、aの値範囲における最小値であってよい。それに応じて、aの値は、q11、q21、及びq31によって3つの区間:区間2、区間3、及び区間4に分割されてよい。代替的に、q31は、aの値範囲における最大値であってよい。それに応じて、aの値は、q11、q21、及びq31によって3つの区間:区間1、区間2、及び区間3に分割されてよい。
【0278】
いくつかの実施形態において、バイナリデータは、3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含んでよく、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、量子化における上記成分に対応する事前設定閾値ベクトルを示す。例えば、3Dマップ記述子のi番目の成分aに対応するマルチビットバイナリデータは、h1i,h2i,...,hNiであり、すなわち、N個のビット情報である。N個のビット情報における値1又は0の数は、量子化におけるaに対応する事前設定閾値ベクトルを示す。例えば、N個のビット情報における値1又は0の数が2である場合、Qにおけるq2iが、量子化におけるaから減算される。
【0279】
任意選択で、Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は順次減少しなくてよく、必要に応じて適宜設定されてよい。
【0280】
いくつかの実施形態において、バイナリデータにおける少なくとも1つのビットは、後続の量子化を通じて取得される量子化データにおけるビットの数をさらに示す。少なくとも1つのビットは、バイナリ化を通じて取得されたバイナリデータを再使用してもよいし、又は、バイナリ化を通じて取得されたバイナリデータを再使用しなくてもよい。例えば、別のビットが、後続の量子化を通じて取得された量子化データにおけるビットの数を示す。任意選択で、少なくとも1つのビットは、バイナリ化を通じて取得されたバイナリデータに基づいて判定されてよい。バイナリ化を通じて取得された異なるバイナリデータは、異なる閾値範囲(例えば、上で記述した数値区間)に対応し、異なる閾値範囲は、Nの事前設定閾値ベクトルの同じ位置にある成分による分割を通じて取得された異なる閾値範囲であってよい。
【0281】
S504:各成分の差分値に基づいて、3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルの対応する成分間の差分値の絶対値を判定する。
【0282】
S502を使用することによって、Nの差分値ベクトルが取得され、各差分値ベクトルは、成分の差分値、すなわち、N×Mの差分値を含む。換言すれば、3Dマップ記述子のMの成分における各成分は、Nの差分値に対応する。この実施形態において、各成分に対応するNの差分値から、比較的小さい差分値を3Dマップ記述子の成分の差分値として選択して、成分の差分値の絶対値を取得してよい。Mの成分中の成分に対応する事前設定閾値ベクトルは、同じであってもよいし、又は、異なってもよい。例えば、aは、Qにおけるq11に対応し、aは、Qにおけるq12に対応し、...、aは、QにおけるqNMに対応する。ターゲット事前設定閾値ベクトルは、(q11,q12,...,qNM)である。D''は、3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルの対応する成分間の差分値の絶対値である。3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルの対応する成分間の差分値の絶対値は、aマイナスq11の絶対値、aマイナスq12の絶対値、...、aマイナスqNMの絶対値である。
【0283】
S505:3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルの対応する成分間の差分値の絶対値に対して量子化を実行して、量子化データを取得する。
【0284】
量子化は、前述したスカラー量子化、ベクトル量子化、直積量子化、又は別の量子化方式であってよい。
【0285】
3Dマップ記述子の圧縮データは、前述したステップを使用することによって取得されてよく、3Dマップ記述子の圧縮データは、バイナリデータ及び量子化データを含んでよい。3Dマップ記述子の圧縮データが格納されて、記憶領域を節約し得る。代替的に、3Dマップ記述子の圧縮データは、カプセル化されて送信されて、それにより、3Dマップを送信するために必要なリソースオーバヘッドが低減され得る。
【0286】
この実施形態において、3Dマップ記述子及び事前設定閾値ベクトル間の大小関係に対してバイナリ化を実行して、バイナリデータを取得し、3Dマップ記述子及び事前設定閾値ベクトル間の差分値の絶対値に対して量子化を実行して、量子化データを取得する。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。複数の事前設定閾値ベクトルがバイナリ化のために使用され、それにより、量子化のために閾値を柔軟に選択することができ、量子化データのデータボリュームが低減される。
【0287】
前述した実施形態において、1段階バイナリ化及び1段階量子化が、説明のための一例として使用される。本願の実施形態において、圧縮は、多段階バイナリ化及び多段階量子化を使用することによって実行されてもよい。多段階バイナリ化におけるバイナリ化の任意の段階が、前述したバイナリ化方式を使用してよく、多段階量子化における量子化の任意の段階が、前述した量子化方式を使用してよい。説明のための一例において、3Dマップ記述子の1つの成分aに関して、3つの事前設定閾値ベクトル:Q=(q11,q12,...,q1M)、Q=(q21,q22,...,q2M)、及びQ=(q31,q32,...,q3M)が、一例として使用される。ここで例えば、q11、q21、及びq31は、順次増加する。2段階バイナリ化におけるバイナリ化の1つの段階が、q21を使用して、長さが1であり得るバイナリデータを取得してよく、後続の2段階量子化における量子化の1つの段階が、量子化のためにa-q21を使用してよい。2段階バイナリ化におけるバイナリ化の他方の段階が、q11、q21、及びq31を使用して、長さが3であり得るバイナリデータを取得してよく、後続の2段階量子化における量子化の他方の段階が、量子化のために、a-q11、a-q21、及びa-q31のうちの1つを使用してよい。例えば、q11、q21、及びq31を使用することによって取得されるバイナリデータが111である場合、a-q31を使用することによって量子化が実行されてよく;q11、q21、及びq31を使用することによって取得されるバイナリデータが110である場合、a-q21を使用することによって量子化が実行されてよい。このような圧縮方式において、対応する圧縮解除の段階を使用することによって、精度要件に従って圧縮解除を実行することができる。
【0288】
図10を参照されたい。図10は、本願の一実施形態による3Dマップを圧縮解除するための方法の概略フローチャートである。いくつかの実装において、上記方法は、図1図4fの例のいずれか1つにおける電子デバイス(例えば、第1の電子デバイス又は第2の電子デバイス)に適用されてもよいし、又は、図1図4fの例のいずれか1つにおけるサーバに適用されてもよい。本願の実施形態における3Dマップを圧縮解除するための方法を実行するための実行体は、デコンプレッサ端又はデコーダ端とも称され得る。上記方法は、以下のステップを備えるが、それらに限定されるものではない。
【0289】
S601:3Dマップの圧縮データを取得する、ここで、圧縮データは、バイナリデータ及び量子化データを含む。
【0290】
バイナリデータ及び量子化データは、図7に示されている実施形態を使用することによって取得されてよい。
【0291】
S602:量子化データに対して量子化解除を実行して、量子化解除データを取得する。
【0292】
DQ'''は、量子化解除データであり、量子化解除データは、再構築3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルに対応する成分間の差分値の絶対値であってよい。ターゲット事前設定閾値ベクトルは、図9に示されている実施形態におけるS504におけるターゲット事前設定閾値ベクトルであってよい。再構築3Dマップ記述子の各成分及びターゲット事前設定閾値ベクトルの対応する成分間の差分値の絶対値は、量子化解除を通じて量子化データから復元されてよい。例えば、量子化解除プロセスは、図9に示されている実施形態における量子化の逆のプロセスであってよい。
【0293】
S603:バイナリデータに基づいて、Nの事前設定閾値ベクトルから、ターゲット事前設定閾値ベクトルを判定する。
【0294】
バイナリデータは、再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含んでよく、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、量子化における上記成分に対応する事前設定閾値ベクトルを示す。例えば、再構築3Dマップ記述子のi番目の成分aに対応するマルチビットバイナリデータは、h1i,h2i,...,hNiであり、すなわち、N個のビット情報である。N個のビット情報における値1又は0の数は、量子化解除におけるaに対応する事前設定閾値ベクトルを示す。例えば、N個のビット情報における値1又は0の数が2である場合、aに対応する事前設定閾値ベクトルはQであり、すなわち、Qにおけるq2iが、再構築3Dマップ記述子のi番目の成分を続けて復元するために使用される。
【0295】
例えば、バイナリデータに基づいて、aはQにおけるq11に対応し、aは、Qにおけるq12に対応し、...、aは、QにおけるqNMに対応することが判定されてよい。ターゲット事前設定閾値ベクトルは、(q11,q12,...,qNM)である。
【0296】
S604:量子化解除データ及びターゲット事前設定閾値ベクトルに基づいて、再構築3Dマップ記述子を取得する。
【0297】
圧縮中、3Dマップ記述子の各成分から、ターゲット事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得する。したがって、圧縮解除中、各成分の差分値をターゲット事前設定閾値ベクトルの対応する成分に追加して、再構築3Dマップ記述子の成分を取得する。D_recoverは、再構築3Dマップ記述子である。D_recover=DQ'+Qである。Qは、ターゲット事前設定閾値ベクトルである。
【0298】
この実施形態は、圧縮中、3Dマップ記述子の各成分から、ターゲット事前設定閾値ベクトルの対応する成分を減算し、圧縮解除中、各成分の差分値を、ターゲット事前設定閾値ベクトルの対応する成分に追加する一例を使用することによって記述されていることに留意されたい。代替的に、別の方式が使用されてよい。例えば、圧縮中、3Dマップ記述子の各成分をターゲット事前設定閾値ベクトルの対応する成分に追加し、圧縮解除中、各成分の差分値から、ターゲット事前設定閾値ベクトルの対応する成分を減算する。本願のこの実施形態は、これに限定されるものではない。
【0299】
ターゲット事前設定閾値が(q11,q12,...,qNM)である一例を使用することによって、さらなる説明が与えられる。DQ''=(dq'',dq'',...,dq'')である。再構築3Dマップ記述子は、dq''プラスq11,dq''プラスq12,...,dq'''プラスqNMである。
【0300】
この実施形態において、3Dマップ記述子のバイナリデータ及び量子化データが取得され、再構築3Dマップ記述子は、バイナリデータ及び量子化データに基づいて取得される。バイナリデータ及び量子化データにおけるビットの数は、元の3Dマップ記述子におけるビットの数よりも小さく、記憶領域及び/又は送信リソースオーバヘッドを節約する。再構築3Dマップ記述子を使用することによって後続の処理、例えば、測位を実行するために、3Dマップの圧縮データを圧縮解除して、再構築3Dマップ記述子を取得する。
【0301】
図11A及び図11Bは、本願の一実施形態による3Dマップをエンコーディング及びデコーディングするためのプロセスの概略図である。図11Aに示されているように、エンコーダ端は、3Dマップ記述子Dを圧縮し、ここで、D=(a,a)である。エンコーダ端は、Dから5つの事前設定閾値ベクトル(Q,Q,Q,Q,Q)を減算して、5つの差分値ベクトル(D',D',D',D',D')を取得する。Q=(q11,q12)であり、Q=(q21,q22)であり、Q=(q31,q32)であり、Q=(q41,q42)であり、Q=(q51,q52)である。図11Aに示されているように、D'=(a-q11,a-q12)であり、D'=(a-q21,a-q22)であり、D'=(a-q31,a-q32)であり、D'=(a-q41,a-q42)であり、D'=(a-q51,a-q52)である。5つの差分値ベクトル(D',D',D',D',D')に対してバイナリ化を実行して、対応するバイナリデータ(H,H,H,H,H)を取得する。バイナリデータ(H,H,H,H,H)に基づいて、aに対応するマルチビットバイナリデータ及びaに対応するマルチビットバイナリデータが取得されてよい。例えば、aに対応するマルチビットバイナリデータは、図11Aに示されている点線の囲み枠における、h11、h21、h31、h41、及びh51であってよく;aに対応するマルチビットバイナリデータは、図11Aに示されている点線の囲み枠における、h12、h22、h32、h42、及びh52であってよい。5つの差分値ベクトル(D',D',D',D',D')に対して量子化を実行して、対応する量子化データを取得する。実施可能な方式において、a-q11、a-q21、a-q31、a-q41、及びa-q51のうちの、絶対値が最小である1つが、量子化のために選択される。例えば、図11Aに示されている点線の円におけるa-q11が選択され、a-q11の絶対値が量子化のために取得される。同様に、a-q12、a-q22、a-q32、a-q42、及びa-q52のうちの、絶対値が最小である1つが、量子化のために選択される。例えば、図11Aに示されている点線の円におけるa-q32が選択され、a-q32の絶対値が量子化のために取得されて、それにより、量子化データを取得する。デコーダ端は、量子化データに対して量子化解除を実行して、DQ''を取得する。5つの事前設定閾値ベクトルにおいて、バイナリデータ(h11,h21,h31,h41,h51)に基づいて、図11Bに示されている点線の円におけるq11が発見される。5つの事前設定閾値ベクトルにおいて、バイナリデータ(h12,h22,h32,h42,h52)に基づいて、図11Bに示されている点線の円におけるq32が発見される。q11及びq32は、前述したターゲット事前設定ベクトルであり、それに応じて、DQ''をターゲット事前設定閾値ベクトルに追加して、再構築3Dマップ記述子を取得する。D_recoverは、再構築3Dマップ記述子である。D_recover=DQ'+Qである。Qは、ターゲット事前設定閾値ベクトルである。図11Bに示されているように、D_recover=(q11+dq'',q32+dq'')である。
【0302】
添付図面を参照しながら、本願の実施形態における3Dマップを圧縮及び圧縮解除するための方法を詳細に前述した。以下、図12及び図13を参照しながら、本願の実施形態における3Dマップを圧縮及び圧縮解除するための装置を記述する。3Dマップを圧縮するための装置は、本願の実施形態における3Dマップを圧縮するための方法を実行することができ、3Dマップを圧縮解除するための装置は、本願の実施形態における3Dマップを圧縮解除するための方法を実行することができることが理解されるべきである。不必要な繰り返しを回避するために、以下では、本願の実施形態における3Dマップを圧縮及び圧縮解除するための装置を記述する場合に繰り返しの記載は適宜省略する。
【0303】
図12を参照されたい。図12は、本願の一実施形態による3Dマップを圧縮するための装置の構造の概略図である。図12に示されているように、3Dマップを圧縮するための装置1200は、バイナリ化モジュール1201及び量子化モジュール1202を備えてよい。
【0304】
バイナリ化モジュール1201は、3Dマップ記述子を取得するように構成されており、3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する。バイナリ化モジュール1201は、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得するようにさらに構成されている。量子化モジュール1202は、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得するように構成されている。
【0305】
いくつかの実施形態において、装置は、バイナリデータ及び量子化データをカプセル化して、3Dマップのビットストリームを取得するように構成されているカプセル化モジュール1203をさらに備えてよい。
【0306】
いくつかの実施形態において、装置は、電子デバイスによって送信された3Dマップ要求情報を受信し、3Dマップ要求情報に応答して、3Dマップ要求情報に対応する3Dマップのビットストリームを電子デバイスに送信するように構成されている伝送モジュール1204;又は、3Dマップのビットストリームをサーバに送信するように構成されている伝送モジュール1204をさらに備えてよい。
【0307】
いくつかの実施形態において、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係は、3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む。
【0308】
いくつかの実施形態において、3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含む。
【0309】
いくつかの実施形態において、バイナリ化モジュール1201は、3Dマップ記述子の各成分から、少なくとも1つの事前設定閾値ベクトルの対応する成分を減算して、各成分の差分値を取得し;及び、各成分の差分値に基づいて大小関係を判定するようにさらに構成されている。
【0310】
いくつかの実施形態において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである。
【0311】
いくつかの実施形態において、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、最小閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、最大閾値ベクトルの各成分は、3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい。
【0312】
いくつかの実施形態において、バイナリ化のために使用される少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0313】
いくつかの実施形態において、バイナリデータは、3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、上記成分に対応する事前設定閾値ベクトルの成分を示す。
【0314】
いくつかの実施形態において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルは、量子化のためにバイナリデータによって示される少なくとも1つの事前設定閾値ベクトルと同じである。
【0315】
いくつかの実施形態において、量子化のために使用される少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、バイナリデータに基づいて取得される。
【0316】
いくつかの実施形態において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0317】
3Dマップを圧縮するための装置1200は、図5図7、又は図9に示されている実施形態における3Dマップを圧縮するための方法を実行してよいことに留意されたい。具体的な実装原理及び技術的効果については、前述した方法の実施形態の具体的な説明及び記述を参照されたい。詳細は、ここで再度説明されない。
【0318】
図13を参照されたい。図13は、本願の一実施形態による3Dマップを圧縮解除するための装置の構造の概略図である。図13に示されているように、3Dマップを圧縮解除するための装置1300は、記憶モジュール1301又は伝送モジュール1302、及び再構築モジュール1303を備えてよい。
【0319】
再構築モジュール1303は、記憶モジュール1301又は伝送モジュール1302を使用することによって3Dマップの圧縮データを取得するように構成されており、ここで、圧縮データは、バイナリデータ及び量子化データを含む。再構築モジュール1303は、バイナリデータ及び量子化データに基づいて、再構築3Dマップ記述子を取得するように構成されている。
【0320】
可能な設計において、再構築モジュール1303は、伝送モジュール1302を使用することによって3Dマップのビットストリームを取得し、3Dマップのビットストリームをカプセル化解除して、3Dマップの圧縮データを取得するように構成されている。
【0321】
可能な設計において、伝送モジュール1302は、3Dマップ要求情報を送信し、3Dマップ要求情報に対応する3Dマップのビットストリームを受信するように構成されている;又は、伝送モジュール1302は、3Dマップのビットストリームを受信するように構成されている。
【0322】
可能な設計において、再構築モジュール1303は、量子化データに対して量子化解除を実行して、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得し;及び、差分、バイナリデータ、及び少なくとも1つの事前設定閾値ベクトルに基づいて、再構築3Dマップ記述子を取得する、ここで、バイナリデータは、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係を示すように構成されている。
【0323】
可能な設計において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係は、再構築3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む。
【0324】
可能な設計において、再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分は、再構築3Dマップ記述子の各成分及び少なくとも1つの事前設定閾値ベクトルの対応する成分間の差分値又はそれらの間の差分値の絶対値を含む。
【0325】
可能な設計において、バイナリデータは、少なくとも1つの事前設定閾値ベクトルをさらに示し、再構築モジュールは、バイナリデータ及びNの事前設定閾値ベクトルに基づいて、少なくとも1つの事前設定閾値ベクトルを判定するようにさらに構成されている。Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである。
【0326】
可能な設計において、バイナリデータは、再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、上記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、上記成分に対応する事前設定閾値ベクトルの成分を示す。
【0327】
可能な設計において、バイナリデータにおける少なくとも1つのビットは、量子化データにおけるビットの数をさらに示す。
【0328】
3Dマップを圧縮解除するための装置1300は、図6図8、又は図10に示されている実施形態における3Dマップを圧縮解除するための装置方法を実行してよいことに留意されたい。具体的な実装原理及び技術的効果については、前述した方法の実施形態の具体的な説明及び記述を参照されたい。詳細は、ここで再度説明されない。
【0329】
図14は、本願の一実施形態によるデコーディング装置1400の実装の概略ブロック図である。デコーディング装置1400は、プロセッサ1401、メモリ1402、及びバスシステム1403を備えてよい。プロセッサ1401及びメモリ1402は、バスシステム1403を通じて接続されている。メモリ1402は、命令を格納するように構成される。プロセッサ1401は、メモリ1402に格納された命令を実行して、本願に記載の3Dマップを圧縮又は圧縮解除するための様々な方法を実行するように構成されている。繰り返しを回避するために、ここでは詳細を再度説明しない。
【0330】
本願のこの実施形態において、プロセッサ1401は、中央処理ユニット(central processing unit、CPU)であってもよいし、又は、プロセッサ1401は、別の汎用プロセッサ、DSP、ASIC、FPGA、又は別のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント等であってよい。汎用プロセッサは、マイクロプロセッサであってよく、又は、プロセッサは、任意の従来のプロセッサ等であってよい。
【0331】
メモリ1402は、ROMデバイス又はRAMデバイスを含んでよい。任意の他の適切なタイプのストレージデバイスが、メモリ1402として使用されてもよい。メモリ1402は、バス1403を通じてプロセッサ1401によってアクセスされるコード及びデータ14021を含んでよい。メモリ1402は、オペレーティングシステム14023及びアプリケーション14022をさらに含んでよい。アプリケーション14022は、プロセッサ1401が本願に記載の3Dマップを圧縮又は圧縮解除するための方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーション14022は、アプリケーション1~Nを含んでよく、本願に記載の3Dマップを圧縮又は圧縮解除するための方法を実行する3Dマップ圧縮又は圧縮解除アプリケーション(簡単に3Dマップデコーディングアプリケーションと称される)をさらに含む。
【0332】
バスシステム1403は、データバスに加えて、電力バス、制御バス、ステータス信号バス等をさらに含んでよい。しかしながら、説明の明確性のために、図における様々なタイプのバスがバスシステム1403として示される。
【0333】
任意選択で、デコーディング装置1400は、ディスプレイ1404等の1又は複数の出力デバイスをさらに備えてよい。一例において、ディスプレイ1404は、ディスプレイ及びタッチ入力を作動的に感知するタッチユニットを組み合わせたタッチディスプレイであってよい。ディスプレイ1404は、バス1403を通じてプロセッサ1401に接続されてよい。
【0334】
デコーディング装置1400は、本願における3Dマップを圧縮するための方法を実行してもよいし、又は、本願における3Dマップを圧縮解除するための方法を実行してもよいことに留意されたい。
【0335】
当業者であれば、本明細書において開示及び説明された様々な例示的な論理ブロック、モジュール、及びアルゴリズムステップを参照して記載された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実装することができることを理解することができる。これらの機能がソフトウェアで実装される場合、例示的な論理ブロック、モジュール、及びステップを参照して説明された機能は、1又は複数の命令又はコードとして、コンピュータ可読媒体に格納されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットにより実行されてよい。コンピュータ可読媒体は、データ記憶媒体等の有形媒体に対応するコンピュータ可読記憶媒体、又は、(例えば、通信プロトコルに従って)或る場所から別の場所へのコンピュータプログラムの送信を円滑化する任意の通信媒体を含んでよい。このようにして、コンピュータ可読媒体は、(1)非一時的有形コンピュータ可読記憶媒体、又は、(2)信号又は搬送波等の通信媒体に概ね対応し得る。データ記憶媒体は、本願で説明された技術を実装するための命令、コード、及び/又はデータ構造体を1又は複数のコンピュータ又は1又は複数のプロセッサが取り出すためにアクセスできる任意の使用可能媒体であってよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでよい。
【0336】
限定ではないが、一例において、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は別のコンパクトディスク記憶装置、磁気ディスク記憶装置又は別の磁気記憶装置、フラッシュメモリ、又は、命令又はデータ構造体の形態の所望のプログラムコードを格納するために使用できる、コンピュータがアクセス可能な任意の他の媒体を含んでよい。加えて、任意の接続が、適宜、コンピュータ可読媒体と称される。例えば、同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者線(DSL)、又は、赤外線、電波、又はマイクロ波等の無線技術を通じて、ウェブサイト、サーバ、又は別のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバ、ツイストペア、DSL、又は、赤外線、電波、又はマイクロ波等の無線技術が、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まず、実際には非一時的な有形の記憶媒体を意味することを理解されたい。本明細書で使用するディスク(disk及びdisc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、及びBlu-ray(登録商標)ディスクを含む。ディスク(disk)は、通常、データを磁気的に再生し、一方で、ディスク(disc)は、レーザを用いることによってデータを光学的に再生する。前述したアイテムの組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【0337】
命令は、1又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は、他の等価な集積又はディスクリートロジック回路等の1又は複数のプロセッサによって実行されてよい。したがって、本明細書において使用される「プロセッサ」という用語は、前述した構造、又は、本明細書に記載の技術の実装に適用され得る任意の他の構造を指し得る。さらに、いくつかの態様において、本明細書で説明された例示的な論理ブロック、モジュール、及びステップを参照して説明された各機能は、エンコーディング及びデコーディングのために構成されている専用のハードウェア及び/又はソフトウェアモジュールに設けられてもよく、又は、組み合わせコーデックに組み込まれてもよい。さらに、これらの技術は、1又は複数の回路又はロジック要素に完全に実装されてもよい。
【0338】
本願の技術は、無線ハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む様々な装置又はデバイスに実装されてよい。様々なコンポーネント、モジュール、又はユニットが、開示された技術を実行するように構成されている装置の機能的態様を強調するように本願に記載されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。実際には、上記のように、様々なユニットが、適切なソフトウェア及び/又はファームウェアとの組み合わせでコーデックハードウェアユニットに組み合わされてもよく、又は、(上記の1又は複数のプロセッサを含む)相互運用可能なハードウェアユニットによって提供されてもよい。
【0339】
前述の説明は、本願の具体的な実装に過ぎず、本願の保護範囲はこれに限定されるものではない。本願で開示された技術的範囲内で当業者が容易に想到する任意の変形又は置換は、本願の保護範囲に含まれるものとする。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
図1
図2
図3
図4a
図4b
図4c
図4d
図4e
図4f
図4g
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13
図14
【手続補正書】
【提出日】2024-01-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
3Dマップを圧縮するための方法であって、前記方法は、
3Dマップ記述子を取得する段階、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する;
前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する段階;及び
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する段階
を備える、方法。
【請求項2】
前記方法は、
前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得する段階
をさらに備える、請求項1に記載の方法。
【請求項3】
前記方法は、
電子デバイスによって送信された3Dマップ要求情報を受信する段階、及び、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信する段階;又は
前記3Dマップの前記ビットストリームをサーバに送信する段階
をさらに備える、請求項2に記載の方法。
【請求項4】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記方法は、
前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分を減算して、各成分の差分値を取得する段階;及び
各成分の前記差分値に基づいて前記大小関係を判定する段階
をさらに備える、請求項4に記載の方法。
【請求項7】
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、前記最小閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、前記最大閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい、請求項4~7のいずれか一項に記載の方法。
【請求項9】
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである、請求項4~8のいずれか一項に記載の方法。
【請求項10】
前記バイナリデータは、前記3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、請求項9に記載の方法。
【請求項11】
3Dマップを圧縮解除するための方法であって、前記方法は、
3Dマップの圧縮データを取得する段階、ここで、前記圧縮データは、バイナリデータ及び量子化データを含む;及び
前記バイナリデータ及び前記量子化データに基づいて、再構築3Dマップ記述子を取得する段階
を備える、方法。
【請求項12】
前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を前記取得する段階は、
前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得する段階;及び
前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する段階、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す
を有する、請求項11に記載の方法。
【請求項13】
3Dマップを圧縮するための装置であって、前記装置は
1又は複数のプロセッサ;及び
前記1又は複数のプロセッサによって実行される場合、前記1又は複数のプロセッサが、請求項1~10のいずれか一項に記載の方法を実施することが可能になる1又は複数のプログラムを格納するように構成されているメモリ
備える、装置。
【請求項14】
3Dマップを圧縮解除するための装置であって、前記装置は
1又は複数のプロセッサ;及び
前記1又は複数のプロセッサによって実行される場合、前記1又は複数のプロセッサが、請求項11又は12に記載の方法を実施することが可能になる1又は複数のプログラムを格納するように構成されているメモリ
備える装置。
【請求項15】
コンピュータに、請求項1~12のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0339
【補正方法】変更
【補正の内容】
【0339】
前述の説明は、本願の具体的な実装に過ぎず、本願の保護範囲はこれに限定されるものではない。本願で開示された技術的範囲内で当業者が容易に想到する任意の変形又は置換は、本願の保護範囲に含まれるものとする。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする
[他の可能な項目]
[項目1]
3Dマップを圧縮するための方法であって、前記方法は、
3Dマップ記述子を取得する段階、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応する;
前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得する段階;及び
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得する段階
を備える、方法。
[項目2]
前記方法は、
前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得する段階
をさらに備える、項目1に記載の方法。
[項目3]
前記方法は、
電子デバイスによって送信された3Dマップ要求情報を受信する段階、及び、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信する段階;又は
前記3Dマップの前記ビットストリームをサーバに送信する段階
をさらに備える、項目2に記載の方法。
[項目4]
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、項目1~3のいずれか一項に記載の方法。
[項目5]
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、項目1~4のいずれか一項に記載の方法。
[項目6]
前記方法は、
前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分を減算して、各成分の差分値を取得する段階;及び
各成分の前記差分値に基づいて前記大小関係を判定する段階
をさらに備える、項目4又は5に記載の方法。
[項目7]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである、項目1~6のいずれか一項に記載の方法。
[項目8]
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、前記最小閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、前記最大閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい、項目4~7のいずれか一項に記載の方法。
[項目9]
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである、項目4~8のいずれか一項に記載の方法。
[項目10]
前記バイナリデータは、前記3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、項目9に記載の方法。
[項目11]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルは、量子化のために前記バイナリデータによって示される前記少なくとも1つの事前設定閾値ベクトルと同じである、項目1~10のいずれか一項に記載の方法。
[項目12]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの前記少なくとも1つの成分は、前記バイナリデータに基づいて取得される、項目11に記載の方法。
[項目13]
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、項目1~12のいずれか一項に記載の方法。
[項目14]
3Dマップを圧縮解除するための方法であって、前記方法は、
3Dマップの圧縮データを取得する段階、ここで、前記圧縮データは、バイナリデータ及び量子化データを含む;及び
前記バイナリデータ及び前記量子化データに基づいて、再構築3Dマップ記述子を取得する段階
を備える、方法。
[項目15]
3Dマップの圧縮データを前記取得する段階は、
前記3Dマップのビットストリームを取得する段階;及び
前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得する段階
を有する、項目14に記載の方法。
[項目16]
前記方法は、
3Dマップ要求情報を送信する段階、及び、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信する段階;又は
前記3Dマップの前記ビットストリームを受信する段階
をさらに備える、項目15に記載の方法。
[項目17]
前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を前記取得する段階は、
前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得する段階;及び
前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する段階、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す
を有する、項目14~16のいずれか一項に記載の方法。
[項目18]
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、項目17に記載の方法。
[項目19]
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、項目17又は18に記載の方法。
[項目20]
前記バイナリデータは、前記少なくとも1つの事前設定閾値ベクトルをさらに示し、前記方法は、
前記バイナリデータ及びNの事前設定閾値ベクトルに基づいて、前記少なくとも1つの事前設定閾値ベクトルを判定する段階、ここで、
前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである
をさらに備える、項目17~19のいずれか一項に記載の方法。
[項目21]
前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルを示す、項目20に記載の方法。
[項目22]
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、項目14~21のいずれか一項に記載の方法。
[項目23]
3Dマップを圧縮するための装置であって、前記装置は、
3Dマップ記述子を取得するように構成されているバイナリ化モジュール、ここで、前記3Dマップ記述子は、3Dマップの少なくとも1つの3Dマップ点に対応し、ここで、
前記バイナリ化モジュールは、前記3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の関係に対してバイナリ化を実行して、バイナリデータを取得するようにさらに構成されている;及び
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の差分に対して量子化を実行して、量子化データを取得するように構成されている量子化モジュール
を備える、装置。
[項目24]
前記装置は、
前記バイナリデータ及び前記量子化データをカプセル化して、前記3Dマップのビットストリームを取得するように構成されているカプセル化モジュール
をさらに備える、項目23に記載の装置。
[項目25]
前記装置は、
電子デバイスによって送信された3Dマップ要求情報を受信し、前記3Dマップ要求情報に応答して、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを前記電子デバイスに送信するように構成されている送信モジュール;又は
前記3Dマップの前記ビットストリームをサーバに送信するように構成されている送信モジュール
をさらに備える、項目24に記載の装置。
[項目26]
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、項目23~25のいずれか一項に記載の装置。
[項目27]
前記3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、項目23~26のいずれか一項に記載の方法。
[項目28]
前記バイナリ化モジュールは、
前記3Dマップ記述子の各成分から、前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分を減算して、各成分の差分値を取得し;及び
各成分の前記差分値に基づいて前記大小関係を判定する
ようにさらに構成されている、項目26又は27に記載の装置。
[項目29]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの少なくとも1つの成分は、前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルの対応する成分のいずれか1つである、項目23~28のいずれか一項に記載の装置。
[項目30]
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルにおける1つの事前設定閾値ベクトルは、最小閾値ベクトル又は最大閾値ベクトルであり、前記最小閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最小値よりも小さいか又はそれに等しく、前記最大閾値ベクトルの各成分は、前記3Dマップ記述子の対応する成分の値範囲の最大値よりも大きいか又はそれに等しい、項目26~29のいずれか一項に記載の装置。
[項目31]
前記バイナリ化のために使用される前記少なくとも1つの事前設定閾値ベクトルが、Nの事前設定閾値ベクトルを含む場合、前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである、項目26~30のいずれか一項に記載の装置。
[項目32]
前記バイナリデータは、前記3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、項目31に記載の装置。
[項目33]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルは、量子化のために前記バイナリデータによって示される前記少なくとも1つの事前設定閾値ベクトルと同じである、項目23~32のいずれか一項に記載の装置。
[項目34]
前記量子化のために使用される前記少なくとも1つの事前設定閾値ベクトルの前記少なくとも1つの成分は、前記バイナリデータに基づいて取得される、項目33に記載の装置。
[項目35]
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、項目23~34のいずれか一項に記載の装置。
[項目36]
3Dマップを圧縮解除するための装置であって、前記装置は、
記憶モジュール又は送信モジュールを使用することによって3Dマップの圧縮データを取得するように構成されている再構築モジュール、ここで、前記圧縮データは、バイナリデータ及び量子化データを含み、ここで、
前記再構築モジュールは、前記バイナリデータ及び前記量子化データに基づいて再構築3Dマップ記述子を取得するようにさらに構成されている
を備える装置。
[項目37]
前記再構築モジュールは、前記送信モジュールを使用することによって前記3Dマップのビットストリームを取得し、前記3Dマップの前記ビットストリームをカプセル化解除して、前記3Dマップの前記圧縮データを取得するように構成されている、項目36に記載の装置。
[項目38]
前記送信モジュールは、3Dマップ要求情報を送信し、前記3Dマップ要求情報に対応する前記3Dマップの前記ビットストリームを受信するように構成されている;又は、前記3Dマップの前記ビットストリームを受信するように構成されている、項目37に記載の装置。
[項目39]
前記再構築モジュールは、
前記量子化データに対して量子化解除を実行して、前記再構築3Dマップ記述子及び少なくとも1つの事前設定閾値ベクトル間の差分を取得し;及び
前記差分、前記バイナリデータ、及び前記少なくとも1つの事前設定閾値ベクトルに基づいて、前記再構築3Dマップ記述子を取得する、ここで、前記バイナリデータは、前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の関係を示す
ように構成されている、項目36~38のいずれか一項に記載の装置。
[項目40]
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記関係は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの対応する成分間の大小関係を含む、項目39に記載の装置。
[項目41]
前記再構築3Dマップ記述子及び前記少なくとも1つの事前設定閾値ベクトル間の前記差分は、前記再構築3Dマップ記述子の各成分及び前記少なくとも1つの事前設定閾値ベクトルの前記対応する成分間の差分値又はそれらの間の差分値の絶対値を含む、項目39又は40に記載の装置。
[項目42]
前記バイナリデータは、前記少なくとも1つの事前設定閾値ベクトルをさらに示し、前記再構築モジュールは、
前記バイナリデータ及びNの事前設定閾値ベクトルに基づいて、前記少なくとも1つの事前設定閾値ベクトルを判定するようにさらに構成されており、ここで、
前記Nの事前設定閾値ベクトルの同じ位置にある成分は、順次増加又は減少し、ここで、Nは、1よりも大きい整数であり;順次増加することは、前記Nの事前設定閾値ベクトルにおけるi番目の事前設定閾値ベクトルの任意の成分が、(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも大きいか又はそれに等しいことを示し、順次減少することは、前記Nの事前設定閾値ベクトルにおける前記i番目の事前設定閾値ベクトルの任意の成分が、前記(i-1)番目の事前設定閾値ベクトルの同じ位置にある成分よりも小さいか又はそれに等しいことを示し、ここで、2≦i≦Nである
項目39~41のいずれか一項に記載の装置。
[項目43]
前記バイナリデータは、前記再構築3Dマップ記述子の成分のそれぞれに対応するマルチビットバイナリデータを含み、前記成分のうちの任意の成分に対応するマルチビットバイナリデータにおける値1又は0の数は、前記成分に対応する事前設定閾値ベクトルの成分を示す、項目42に記載の装置。
[項目44]
前記バイナリデータにおける少なくとも1つのビットは、前記量子化データにおけるビットの数をさらに示す、項目36~43のいずれか一項に記載の装置。
【国際調査報告】