An Adaptive Segmentation Based Multi-mode Inter-frame Coding Method for Video Point Cloud
-
摘要: 基于视频的点云压缩(Video based point cloud compression, V-PCC)为压缩动态点云提供了高效的解决方案, 但V-PCC从三维到二维的投影使得三维帧间运动的相关性被破坏, 降低了帧间编码性能. 针对这一问题, 提出一种基于V-PCC改进的自适应分割的视频点云多模式帧间编码方法, 并依此设计了一种新型动态点云帧间编码框架. 首先, 为实现更精准的块预测, 提出区域自适应分割的块匹配方法以寻找最佳匹配块; 其次, 为进一步提高帧间编码性能, 提出基于联合属性率失真优化(Rate distortion optimization, RDO)的多模式帧间编码方法, 以更好地提高预测精度和降低码率消耗. 实验结果表明, 提出的改进算法相较于V-PCC实现了−22.57%的BD-BR (Bjontegaard delta bit rate)增益. 该算法特别适用于视频监控和视频会议等帧间变化不大的动态点云场景.Abstract: Video based point cloud compression (V-PCC) provides an efficient solution for compressing dynamic point clouds, but the projection of V-PCC from 3D to 2D destroys the correlation of 3D inter-frame motion and reduces the performance of inter-frame coding. To solve this problem, we proposes an adaptive segmentation based multi-mode inter-frame coding method for video point cloud to improve V-PCC, and designs a new dynamic point cloud inter-frame encoding framework. Firstly, in order to achieve more accurate block prediction, a block matching method based on adaptive regional segmentation is proposed to find the best matching block; Secondly, in order to further improve the performance of inter coding, a multi-mode inter-frame coding method based on joint attribute rate distortion optimization (RDO) is proposed to increase the prediction accuracy and reduce the bit rate consumption. Experimental results show that the improved algorithm proposed in this paper achieves −22.57% Bjontegaard delta bit rate (BD-BR) gain compared with V-PCC. The algorithm is especially suitable for dynamic point cloud scenes with little change between frames, such as video surveillance and video conference.
-
车联网技术能够实现车与车、车与路、车与基础设施的信息交换, 但对系统的实时性要求较高[1-4]. 如果采用集中式的数据处理模式, 即数据回传数据中心进行计算处理, 则会产生较大时延.
最近兴起的边缘计算(Edge computing, EC)融合了网络、计算、存储等核心使能, 分布式部署于靠近物或数据源头, 是就近提供应用服务的新型计算模型[5-9]. 车联网中的边缘计算[10]主要是基于路侧单元(Road side units, RSU)进行的. 将边缘计算服务器直接部署于道路两侧, 可以将更多的数据计算和存储从“数据中心”转移到“路侧单元”, 部分数据不必再经过网络上传云端处理, 而在本地完成数据交换及自主决策. 从而降低了网络时延和负荷, 有效减少网络传输量, 避免网络拥塞, 同时也提升了数据安全性和应用可靠性. 然而, 一方面由于车辆的移动特点, 车载单元将频繁与不同的路侧单元进行信息交互, 路侧单元间也频繁地转移计算任务, 密集信息交互带来了不稳定性[11-13], 降低了任务传输的可靠性与安全性[14]; 另一方面交通波动导致任务不均衡[15], 路侧单元部署规模大、 成本高, 有些路段可能没有部署边缘计算服务器却有较大的边缘计算需求. 边缘计算任务的空间分布是不确定的, 固定在路侧单元的边缘计算服务器无法对一些指定地点和时间的任务提供服务[16], 如何实现边缘计算服务器的空间优化配置成为了一项重要工作.
智能车的快速发展为上述问题提供了全新的解决思路. 它们通常装备了大量的计算单元、通信设备、传感器和人机交互设备[17-20]. 例如, 百度的无人驾驶汽车 “阿波罗” 装载了价值近百万元的计算机系统进行存储和运算, 用来分析车辆周边人、车、道路与环境[21-22]. 此外, 在智能车与其他车辆行驶中将形成相对静止关系, 此时提供移动边缘计算(Mobile edge computing, MEC)将有效提升实时性与稳定性[23-26].
本文提出一种车联网环境下的MEC架构. 与基于路侧单元的边缘计算相比, 此类MEC范式最大的不同之处在于: 其依赖于具有感知、计算、控制、通信能力的智能车在交通路网中提供弹性的边缘计算服务[27-31]; 智能车作为分布式MEC节点, 执行局部、实时、短周期数据的处理与分析.
本文重点研究了MEC节点形成的移动拓扑结构, 按照计算需求的时间和空间约束进行计算任务的时空化研究, 建立了基于
$ GI/GI/1 $ 排队模型的虚拟车任务队列. 根据任务到达时间、任务地点、任务量等研究任务分配问题, 利用虚拟化概念最大化智能车的利用程度, 提出了基于云平台Voronoi 的任务分配算法. 针对智能车局部任务队列, 引入虚拟服务时间、虚拟截止时间对任务执行模型进行约束. 最后以城市道路交通污染排放的实时计算为例, 讨论了分布式移动边缘计算方法的有效性.本文结构如下: 第1节介绍了车联网环境下的MEC体系架构和任务分配算法; 第2节建立了MEC系统模型; 第3节介绍了道路交通污染排放计算任务; 第4节进行了仿真实验分析; 第5节总结与展望.
1. 车联网环境下的MEC体系架构
本节设计了如图1所示的车联网环境下时空采样计算的MEC体系架构.
该体系架构分为三层: 物理层、应用层、云端层. 物理层由道路车辆形成的车联网组成, 通过短程通信技术进行信息交换. 应用层由部署在城市交通路网中的智能车组成, 数据处理和交通信息计算服务部署于智能车上进行. 云端层拥有更多的计算和存储资源, 智能车动态感知交通信息后, 通过云端的边缘接入上传自身信息与交通信息, 云端利用移动拓扑结构对智能车进行调度.
假设交通路网中有
$ M $ 辆具有车载边缘计算服务器的智能车提供分布式服务, 记作$$ IV_s = \left\{ {I{V_1},\;I{V_2},\cdots,\;I{V_M}} \right\},\;M \in {\bf {N}} $$ (1) 集合中下标表示智能车的编号, 所有智能车在路网中形成了移动拓扑结构, 而每辆智能车负责一个子区的计算任务. 由于智能车可以在交通路网中移动, 因而车载服务器具有空间属性和速度属性.
为实现多用户可以独立使用智能车而互相不受影响, 应用云计算范式对智能车进行虚拟化, 则用户可在云端购买虚拟车(Virtual vehicles, VV), 以此获得智能车的某些计算或控制服务, 该虚拟车反映了智能车的空间属性和速度属性. 记用户购买的
$ I $ 辆虚拟车集合$$ VV_s = \left\{ {V{V_1},\;V{V_2},\cdots,\;V{V_I}} \right\},\;I \in {\bf{N}} $$ (2) 集合中下标表示虚拟车的编号. 对于用户而言, 事先并不知道智能车的分布情况, 只需要在云端购买一辆虚拟车, 指定特定地点的计算任务即可. 特定地点的计算任务通常可以表示为
$$ Task = \left\{ {{T}^{\rm{arr}}},\;tas{{k}^{X}},\;{{T}^{s}} \right\} $$ (3) 其中,
${{T}^{\rm{arr}}}$ 表示任务到达时间;$ tas{{k}^{X}} $ 表示任务在空间中的位置, 可以用经纬度($ lat $ ,$ lon $ )表示;$ {{T}^{s}} $ 表示任务量.在多任务情况下, 虚拟车必须完全隔离, 因此需要对虚拟车进行时空建模, 描述其在时间和空间上的计算行为.
边缘计算中的核心使能技术是虚拟化, 通过虚拟化技术将物理层的CPU、内存、传感器等硬件资源映射到虚拟层上, 用户任务通过虚拟车的时空推进程序, 利用智能车的传感器、计算资源、控制器、通信设备与周围环境进行交互. 则虚拟车任务可以看成一种离散的时空推进模型, 这里引入Plotkin符号语义[32]如下
$$ \begin{split} \left\langle {tc_1},\; {t_1},\; {x_1} \right\rangle \; \to \; &\left\langle {tc_2},\;{t_1} + k,\;{x_1} + n \right\rangle\;\to \;\cdots\; \to \\ & \langle {tc_i},\;{t_1} + (i-1)k,\;{x_1} + \\ &(i-1)n \rangle \; \to \;\cdots\\[-10pt] \end{split} $$ (4) 其中,
$ {tc_i} $ 为任务程序, 例如采样其他车辆信息并做交通污染估计;${t_1} , \;{t_1} + k, \cdots,\; {t_1} + (i-1)k , \cdots$ 为时钟序列, 时间间隔为$ k; $ 箭头表示的流是时空推进;${x_1},\; {x_1} + n,\cdots,\; {x_1} +$ $( i-1)n, \cdots$ 为空间序列, 空间间隔为n.当
$ n = 0 $ 时, 表示时间上推进而空间上没有推进, 此时虚拟车处于静止状态, 可以表示为$$ \begin{split} \left\langle {tc_1},\;{t_1} \right\rangle \; \to \; &\left\langle {tc_2},\;{t_1} + k \right\rangle \;\to \;\cdots\;\to \\ & \left\langle {tc_i},\;{t_1} + ( i-1)k \right\rangle \; \to \;\cdots \end{split} $$ (5) 此时虚拟车可以在某一位置提供MEC服务.
同样, 有些空间工程采样并不需要时间参考, 此时虚拟车仅在空间上推进, 其空间推进模型可以表示为
$$ \begin{split} \left\langle {tc_1},\;{x_1} \right\rangle \; \to \; &\left\langle {tc_2},\;{x_1} + n \right\rangle \;\to \;\cdots\; \to\\ & \left\langle {tc_i},\;{x_1} + ( i-1)n \right\rangle \; \to \;\cdots \end{split} $$ (6) 利用时空推进模型可以指定智能车的行为, 为保证MEC云平台的调度系统能够快速响应, 需要进行MEC调度系统建模.
2. MEC系统模型
MEC中资源调度的实质是根据虚拟车产生的不同计算任务、任务到达时间、任务类型等, 云端调度系统选择合适的智能车前往特定地点执行计算任务, 为此需要研究调度模型以最大化利用智能车资源. 在MEC中已经实现了资源的虚拟化. 本节将进行MEC系统建模.
2.1 虚拟车任务队列模型
由第1节基本概念可知, 智能车集合
$IV_s = \left\{ { IV_m } \right\}_{m = 1}^{M},$ 虚拟车集合$VV_s = \left\{ {VV_i} \right\}_{i = 1}^{I}.$ 其中$ M $ 是确定的,$ I $ 根据实际需求动态变化. 每辆智能车速度记为${{v}^{IV}},$ 虚拟车速度记为${{v}^{VV}},$ 虚拟车速度其实就是智能车在物理世界中行驶速度的映射.虚拟车可以生成任务序列
$\left\langle Tas{{k}_{i}}\left( j \right) \right\rangle _{j = 1}^{\infty },$ 表示第$ i $ 辆虚拟车产生的第$ j $ 个任务, 每个任务都包括了其到达时间$T_{i}^{{\rm{arr}}}\left( j \right),$ 任务位置$task_{i}^{X}\left( j \right),$ 计算量$T_{i}^{s}\left( j \right).$ 任务序列$ \left\langle Tas{{k}_{i}}\left( j \right) \right\rangle _{j = 1}^{\infty } $ 由不同的虚拟车产生且相互独立, 因此$ Tas{{k}_{i}}\left( j \right) $ 关于$ i $ 是相互独立的.假设每个任务到达过程
$\left\{ T_{i}^{\rm{arr}}\left( j \right) \right\}_{j = 1}^{\infty }$ 是一个更新过程. 则任务时间间隔$I_{i}^{\rm{arr}}\left( j \right) = T_{i}^{\rm{arr}}\left( j \right)-$ $T_{i}^{\rm{arr}}( j- 1)$ 关于$ j $ 独立同分布. 其中$T_{i}^{\rm{arr}}\left( 0 \right)\equiv 0,$ 所以每辆虚拟车的任务到达速率表示如下$$\lambda _{i}^{VV} = \frac{1}{{\rm{E}}\left[ I_{i}^{\rm{arr}} \right]}$$ (7) 式中,
$ \lambda _i^{VV} $ 表示第$ i $ 辆虚拟车的任务到达速率,${I_i^{\rm{arr}}}$ 表示任务时间间隔的一般项,${\rm{E}}[I_{i}^{\rm{arr}}]$ 表示期望.任务位置
$ task_{i}^{X}\left( j \right) $ 关于$ i $ 和$ j $ 独立同分布, 可以用经纬度来表示每辆虚拟车产生的每个任务地理位置,$task_i^{X}\left( j \right) = \left( {la{t_{ij}},\;lo{n_{ij}}} \right),$ 其中$ {la{t_{ij}}} $ 表示纬度,$ {lo{n_{ij}}} $ 表示经度. 同样, 任务计算量$ T_{i}^{s}\left( j \right) $ 也是关于$ i $ 和$ j $ 独立同分布, 如果将$ {{T}^{s}} $ 作为$ T_{i}^{s}\left( j \right) $ 的一般项, 则有${\rm{E}}\left[ {{T}^{s}} \right] = {\rm{E}}\left[ T_{i}^{s}\left( j \right) \right].$ 虚拟车按照先到先服务 (First come first service, FCFS) 的策略执行任务序列
$ \left\langle Tas{{k}_{i}}\left( j \right) \right\rangle _{j = 1}^{\infty }, $ 依次对指定地点$task_{i}^{X}\left( 1 \right) ,\;$ $ task_{i}^{X}\left( 2 \right) , \cdots $ 执行任务. 并分别执行计算任务时间$T_{i}^{s}\left( 1 \right) , \;T_{i}^{s}\left( 2 \right) , \cdots .$ 可以计算得到虚拟旅行时间$$ T_{i}^{V{\rm{tra}}}\left( j \right) = \frac{D_{i}^{V}(j)}{{{v}^{VV}}} $$ (8) 式中,
$T_{i}^{V{\rm{tra}}}\left( j \right)$ 表示第$ i $ 辆虚拟车前往第$ j $ 个任务点的旅行时间;$ D_{i}^{V}(j) $ 表示第$ j-1 $ 次任务位置$ task_{i}^{X}( j- 1 ) $ 与第$ j $ 次任务位置$ task_{i}^{X}\left( j \right) $ 的路径距离, 其中$ task_{i}^{X}\left( 0 \right) $ 是指初始任务分配绑定到智能车时智能车的地理位置.记任务
$ Tas{{k}_{i}}\left( j \right) $ 的虚拟服务时间为$T_{i}^{V{\rm{ser}}}\left( j \right),$ 包括前往指定位置的旅行时间和执行任务时间, 则$$ T_{i}^{V{\rm{ser}}}\left( j \right) = T_{i}^{V{\rm{tra}}}\left( j \right)+T_{i}^{s}\left( j \right) $$ (9) 事实上, 虚拟服务时间与物理世界中的智能车服务时间会有偏差, 因此设定虚拟截止时间作为对智能车的约束. 而虚拟截止时间的计算是以任务到达时间
$T_{i}^{\rm{arr}}\left( j\right)$ 算起, 如果第$ j $ 次任务到达时上次任务仍在进行中, 则应当以第$ j-1 $ 次任务的虚拟截止时间算起, 两种任务虚拟截止时间计算情况如图2所示.记第
$ i $ 辆虚拟车产生的第$ j $ 个任务的虚拟截止时间为$ T_{i}^{Vd}\left( j \right) $ , 则有$$ T_{i}^{Vd}\left( j \right) =\max \left\{ T_{i}^{\rm{arr}}\left( j \right),\;T_{i}^{Vd}\left( j-1 \right) \right\} +T_{i}^{V{\rm{ser}}}\left( j \right) $$ (10) 其中
$T_{i}^{Vd}\left( 0 \right)\equiv0 ,$ 表示虚拟车无任务时其默认值为0. 当$T_{i}^{\rm{arr}}\left( j \right) > T_{i}^{Vd}\left( j-1 \right)$ 时, 即图2(a)所示; 当$T_{i}^{\rm{arr}}\left( j \right) < T_{i}^{Vd}\left( j-1 \right)$ 时, 即图2(b)所示.因为每辆虚拟车产生的任务到达速率是
$ \lambda _{i}^{VV} = $ ${1}/{{\rm{E}}\left[ I_{i}^{\rm{arr}} \right]},$ 定义虚拟服务速率的一般形式为${\mu ^{{VV}}},$ 则有$$ \begin{split}{{\mu }^{VV}} =\;& \dfrac{1}{{\rm{E}}[{{T}^{V{\rm{ser}}}}]}=\\ & \dfrac{1}{{\rm{E}}[{{T}^{V{\rm{tra}}}}]+{\rm{E}}[{{T}^{s}}]}=\\ & \dfrac{1}{\dfrac{{\rm{E}}[{{D}^{V}}]}{{{v}^{VV}}}+{\rm{E}}[{{T}^{s}}]} \end{split} $$ (11) 同时, 输出的虚拟截止过程
$ \left\{ T_{i}^{Vd}\left( j \right) \right\}_{j = 1}^{\infty } $ 是一个随机变量. 则虚拟截止速率如式(12)所示$$ \lambda _i^{Vd} = \mathop {\lim }\limits_{i \to \infty } \frac{1}{{{\rm{E}}[T_i^{Vd}\left( j \right) - T_i^{Vd}\left( {j - 1} \right)]}}$$ (12) 如果用户提交了任务, 产生了任务队列, 则虚拟车
$ VV_i $ 处于繁忙状态, 其工作状态记为${{S}_{i}} = 1$ ; 如果用户没有提交任务, 则虚拟车处于空闲状态, 记为$ {{S}_{i}} = 0. $ 虚拟车$ VV_i $ 将呈周期性循环这两种状态. 定义$T_i^{V{\rm{busy}}}\left( l \right)$ 为第$ l $ 次繁忙状态时间,$T_i^{V{\rm{idle}}}\left( l \right)$ 为第$ l $ 次空闲状态时间, 则定义第$ i $ 辆虚拟车的利用率为$$u_i^V=\mathop {\lim }\limits_{l \to \infty } \frac{{{\rm{E}}\left[ {T_i^{V{\rm{busy}}}\left( l \right)} \right]}}{{{\rm{E}}\left[ {T_i^{V{\rm{busy}}}\left( l \right)} \right] + {\rm{E}}\left[ {T_i^{V{\rm{idle}}}\left( l \right)} \right]}}$$ (13) 因为任务到达时间间隔输入和服务时间都是独立同分布的变量, 则虚拟车的任务队列构成了
$ GI/ GI/1 $ 队列模型, 用户按照自己选择的任务到达速率创建任务提交到虚拟车. 当$ \lambda _{i}^{VV}<{{\mu }^{VV}} $ 时, 虚拟截止率等于到达率, 即$ \lambda _{i}^{Vd} = \lambda _{i}^{VV} $ . 如果用户提交任务频繁, 超过了约定速度确定的服务速率, 此时$\lambda _{i}^{VV}\ge {{\mu }^{VV}},$ 那么虚拟截止速率等于服务速率, 即$ \lambda _{i}^{Vd} = {{\mu }^{VV}} $ .2.2 云平台调度模型
MEC调度系统中有
$ M $ 辆智能车运行在路网中, 虚拟车产生的每个特定地点计算任务都需要由实体的智能车来完成, 也就是计算任务$ Tas{{k}_{i}}\left( j \right) $ 按照某种分配机制分配给智能车$ \left\{ I{{V}_{m}} \right\}_{m = 1}^{M} $ 中的某辆车去执行. 从第2.1节可知, 在时变环境中, 虚拟车产生的计算任务是一个排队过程, 是有时间限制的. 为了更高效地提供计算服务, 最小化任务的预期系统时间, 本节采用分布式自适应策略, 引入一种Voronoi分配算法来解决该问题.智能车上的导航定位装置可实时获取其地理位置坐标. 记
$ t $ 时刻$ M $ 辆智能车的位置集合为${{p}^{IV}} \left( t \right) =$ $\left\{ p_{m}^{IV}\left( t \right) \right\}_{m = 1}^{M} ,$ 其中$p_{m}^{IV}\left( t \right) = \left( la{{t}_{m}},lo{{n}_{m}} \right),$ 表示编号为$ m $ 的智能车的经纬度坐标.$ t $ 时刻虚拟车上生成的计算任务地点由第2.1节可知${{p}^{VV}}\left( t \right) = $ $\left\{ task_{i}^{X}\left( t \right) \right\}_{i = 1}^{I},$ 其中第$ i $ 辆虚拟车产生任务的地理位置坐标$ task_{i}^{X}\left( t \right) = $ $ \left( la{{t}_{i}},lo{{n}_{i}} \right) $ .给定时间
$ t $ , Voronoi分配算法表示如下$$ r = {\rm{VorAllocation}}\left( A,task_{i}^{X}\left( t \right),\;p^{IV}\left( t \right) \right) $$ (14) 式中,
${\rm{VorAllocation}}$ 为分配算法函数, 该函数接受三个参数;$ A $ 为智能车覆盖的服务区域, 包含$ A $ 区域交通路网中的node节点和edge边的数据信息;$ task_{i}^{X}\left( t \right) $ 是$ t $ 时刻第$ i $ 辆虚拟车到达任务的位置;$ {{p}^{IV}(t)} $ 是$ t $ 时刻智能车的地理位置;$r\in \{1, \cdots,\; M\}$ 表示分配的智能车编号.根据
$ A $ 区域中有$ M $ 辆智能车, Voronoi分配算法利用连续多中值均匀产生的$ M $ 个点将$ A $ 区域细分为$ M $ 个子区域, 每个子区域是一个Voronoi单元, 则$ A = \{VorCel{{l}_{m}}\}_{m = 1}^{M} $ .$ M $ 辆智能车分别被派到$ M $ 个子区域中的中值点等待计算任务分配. 此时$ M $ 个中值点即为智能车的初始位置$ p_{m}^{IV}\left( 0 \right) $ . 则Voronoi单元表示如下$$\begin{split} VorCel{l_m} =\,& \{ y \in A:\;\parallel y - p_m^{IV}\left( {\rm{0}} \right)\parallel \;\le \\ &\parallel y - p_{k}^{IV}\left( {\rm{0}} \right)\parallel ,\;k = 1,\cdots,\;M;\;k \ne m{\rm{ }}\} {\rm{ }} \end{split} $$ (15) 式中,
$VorCel{{l}_{m}}$ 表示第$ m $ 个Voronoi单元;$ y $ 为$ A $ 区域的任意一点;$ p_m^{IV}\left( {0} \right) $ 为第$ m $ 辆智能车的初始位置;$ p_k^{IV}\left( {0} \right) $ 表示除第$ m $ 辆智能车外的其他智能车初始位置, 故$k \ne m.$ 对于任意的
$ t>0,\; p_{m}^{IV}\left( t \right)\in VorCel{{l}_{m}} .$ 当虚拟车产生任务指定地点$ task_{i}^{X}\left( t \right) $ 时, 如果$task_{i}^{X}\left( t \right)\in $ $ VorCel{{l}_{m}}, $ 那么该任务落入第$ m $ 个Voronoi单元, 将该任务分配给该单元的智能车.2.3 智能车局部队列模型
智能车针对落入该子区域的任务将生成一个新的任务序列
$\left\langle Tas{{k}_{m}}\left( n \right) \right\rangle _{m = 1}^{\infty },$ 任务$ Tas{k_{m}}\left( n \right) $ 表示分配的第$ n $ 个任务将由编号为$ m $ 的智能车前往执行.在实际任务执行中, 虚拟服务时间与物理世界中的智能车服务时间会有偏差. 智能车利用排队论的调度策略, 包括先到先服务(First come first service, FCFS), 即最先到达队列的任务最先进行服务; 最早截止优先服务(First deadline first service, FDFS), 即按照截止时间先后顺序重新进行排序, 依次进行服务; 信用优先服务(Credit first service, CFS), 将信用分为2、4、6、8、10五个等级, 按照优先级大的依次进行服务. 通过对比, 按照时间最优的策略执行任务, 令
$ \Phi $ 表示调度策略, 则有$$\Phi \;{\rm{ = }}\;\{ {\rm{FCFS}},\;{\rm{FDFS}},\;{\rm{CFS}}\} , \;\phi \in \Phi $$ (16) 其中,
$ \phi $ 为集合中的调度策略. 定义$ D_m^I\left( n \right) $ 为在使用调度策略后的第$ n-1 $ 次任务和第$ n $ 次任务间的旅行距离, 则可计算出智能车实际的旅行时间, 记为$$ T_m^{I{\rm{tra}}}\left( n \right) = \frac{{D_m^I\left( n \right)}}{{{v^{IV}}}} $$ (17) 式中,
$T_m^{I{\rm{tra}}}\left( n \right)$ 表示第$ m $ 辆智能车进行第$ n $ 次任务的服务时间,$ {{v^{IV}}} $ 为平均速度. 记其任务执行时间为$T_{m}^{Is}\left( n \right) ,$ 则智能车实际的服务时间就是$$ T_{m}^{I{\rm{ser}}}\left( n \right) = T_{m}^{I{\rm{tra}}}\left( n \right)+T_{m}^{Is}\left( n \right) $$ (18) 令
$T_m^{I{\rm{ser}}\phi }$ 表示在调度策略$ \phi $ 下的服务总时间, 则我们希望找到服务总时间最小的调度策略$${\phi ^{{\rm{optimal}}}}{\rm{ \;= mi}}{{\rm{n}}_{\phi \in \Phi }}T_m^{I{\rm{ser}}\phi }$$ (19) 式中,
${\phi ^{{\rm{optimal}}}}$ 表示最优策略, 智能车将按照该调度策略执行任务. 记智能车实际完成任务的服务速率一般项为${\mu }^{IV},$ 则有$$ \begin{split} {{\mu }^{IV}} = \,&\frac{1}{{\rm{E}}[{{T}^{I{\rm{ser}}}}]}=\\ & \frac{1}{{\rm{E}}[{{T}^{I{\rm{tra}}}}]+{\rm{E}}[{{T}^{Is}}]}=\\ & \frac{1}{\dfrac{{\rm{E}}[{{D}^{I}}]}{{{v}^{IV}}}+{\rm{E}}[{{T}^{Is}}]} \end{split} $$ (20) 同时记智能车实际完成任务时间为
$T_{m}^{\rm{finish}}\left( n \right).$ 因为虚拟车显示的速度是物理世界中智能车速度的映射, 假设用户不会频繁提交任务, 这样系统便是稳定的. 在此定义$ \kappa $ 为映射程度[29], 其表示为$$ \kappa = \frac{{{\mu }^{IV}}}{{{\mu }^{VV}}} = \frac{\dfrac{{\rm{E}}[{{D}^{I}}]}{{{v}^{IV}}}+{\rm{E}}[{{T}^{Is}}]}{\dfrac{{\rm{E}}[{{D}^{V}}]}{{{v}^{VV}}}+{\rm{E}}[{{T}^{s}}]} $$ (21) 式中,
$ {{\mu ^{IV}}} $ 表示智能车服务速率,$ {{\mu ^{VV}}} $ 表示虚拟车服务速率. 若$ \kappa $ 接近1, 说明智能车与虚拟车服务速率匹配; 若$ \kappa $ 较大, 则说明智能车的服务速率较差.由此可以得到如图3所示的任务队列调度模型图, 一个调度模型通常由输入任务、调度决策、任务执行体组成. 已知虚拟车产生的任务到达速率
$ \lambda _{i}^{VV} $ 以及Voronoi分配算法, 则其调度流程如下.1) 输入任务: MEC资源池中的各个任务相互独立, 并且各个任务到达速率为
$\lambda _{i}^{VV},$ 即单位时间间隔内有$ \lambda _{i}^{VV} $ 个任务到达. 所有虚拟车的任务到达云平台调度中心构成全局任务队列.2) 调度决策: 任务到达云平台调度中心后, 根据Voronoi分配算法, 判断各个任务地点落入哪一Voronoi单元, 然后将该任务分配给该单元内的智能车, 即
$$ \begin{array}{l} {\rm{if}}\;task_i^{X}\left( t \right) \in VorCel{l_m},\\ \;\;\;\;{\rm{then}}\;I{V_m} \leftarrow \left\{ {Tas{k_i}\left( t \right)} \right\} \end{array} $$ 3) 任务执行体: 同一虚拟车的任务落入不同的Voronoi单元, 将由不同的智能车进行计算服务, 所以
$ M $ 辆智能车都有自己的局部任务队列. 智能车将按照局部调度策略对任务队列进行任务排序, 依次对指定地点执行MEC任务, 并在时间期限内完成计算任务.3. 道路交通污染排放计算
随着电动车、机动车、混合动力车等多能源结构汽车上路, 将呈现出混合交通流的趋势. 原来利用宏观交通流数据作机动车尾气排放计算的方法已不再适用, 而交通管理部门对准确反映且灵活地获取某一地点的交通污染排放情况有着强烈的需求.
为完成混合交通流下的移动交通污染排放计算任务, 本文提出将VSP (Vehicle specific power)模型部署在智能车上. 即交管部门提交计算任务地点与计算量后, 系统根据任务地点落入哪一Voronoi单元而将任务分配给该单元内的智能车, 智能车利用短程通信技术与指定路段的车辆建立通信, 发起信息获取请求, 收集道路上车辆类型、运行数据, 利用VSP模型执行交通污染排放的动态测算任务.
VSP理论的物理意义是瞬态机动车输出功率与机动车质量的比值, 与车辆的瞬态排放具有较强的相关性, 能够评价以秒为单位的瞬间排放量. 不同的机动车类型具有不同的VSP计算公式, 根据已有研究, 我国城市小型轿车的交通污染排放可以简化为由速度、加速度和坡度组成的VSP表达式, 如式(22)所示
$$\begin{split} {\rm{VSP}} =\,& v\left[ {1.1a + 9.8\left( {\arctan \left( {\sin \left( {grade} \right)} \right)} \right)}\;+ \right.\\ &\left. { 0.132} \right] + 0.000302 \times {v^3} \end{split}$$ (22) 商务车VSP的计算公式, 如式(23)所示
$$\begin{split} {\rm{VSP}} =\,& v\left[ {a + 9.8\left( {\arctan \left( {\sin \left( {grade} \right)} \right)} \right)}\;+ \right.\\ &\left. { 0.09199} \right] + 0.000169 \times {v^3} \end{split} $$ (23) 式中,
$ v $ 为机动车瞬时速度(${\rm{m/s}}$ );$ a $ 为机动车瞬时加速度(${\rm{m/s^2}}$ );$ grade $ 为道路坡度, 当机动车在城市道路中行驶时道路坡度取0.从式(22)、式(23)可以看出, 想要计算一辆机动车的VSP值需要获取车辆类型、瞬时速度、瞬时加速度等参数, 而车辆移动传感技术 (如GPS、陀螺仪、加速度计等微传感器) 迅猛发展使得获取这些参数成为可能. 智能车获得该路段内的车辆类型、速度、加速度、坡度等信息后, 根据VSP计算公式得到每辆车的VSP值, 结合BIN方法便能够对排放因子进行分析计算, 对照VSP BIN 表1即可获得不同类型的机动车瞬时排放量. 将该路段的车辆瞬时排放进行累加便可得到路段的交通污染排放水平.
表 1 VSP排放等级与平均排放清单Table 1 VSP modes and the average modal emission rates of eachVSP 等级 VSP mode ${\rm{C} }{ {\rm{O} }_2}\left( {\rm{g/s}} \right)$ ${\rm{CO} }\left( {\rm{g/s}} \right)$ ${\rm{N} }{ {\rm{O} }_X}\left( {\rm{g/s}} \right)$ ${\rm{HC} }\left( {\rm{g/s}} \right)$ ${\rm{VSP}} < -2$ 1 1.54369 0.01103 0.00101 0.00090 $-2\le {\rm{VSP}} < 0$ 2 1.60441 0.00872 0.00104 0.00090 $0\le {\rm{VSP}} < 1$ 3 1.13083 0.00468 0.00042 0.00084 $ \cdot \cdot \cdot $ $ \cdot \cdot \cdot $ $ \cdot \cdot \cdot $ $ \cdot \cdot \cdot $ $ \cdot \cdot \cdot $ $ \cdot \cdot \cdot $ $28\le {\rm{VSP} } < 33$ 12 7.61770 0.24781 0.01438 0.00457 $33\le {\rm{VSP}} < 39$ 13 8.32244 0.41307 0.01597 0.00570 $39\le {\rm{VSP}}$ 14 8.47503 0.62466 0.01672 0.00716 本节提出利用智能车MEC技术前往指定路段执行交通污染排放计算任务, 为了验证系统的有效性和任务流程的可行性, 将进行仿真实验进行相应的实验验证.
4. 仿真实验
本文在Eclipse中搭建仿真项目, 部署调度模型算法, 验证系统模型的有效性. 并在仿真软件Aimsun中进行交通污染排放计算任务调度实验, 建立仿真地图、路网、交通路况等. 通过Aimsun API接口编写算法控制智能车前往指定地点执行任务, 记录各阶段时间, 最后进行分析.
在Eclipse工程实验中, 我们设计了如图4所示的MEC调度系统仿真模式类图, 创建了VirtualVehicle, TaskData, GlobalQueue, Scheduler, IntelligentVehicle 5个类, 从而建立了运行时仿真环境. 其中VirtualVehicle可以创建多个线程实例, 按照设定的到达规律生成任务TaskData, 这里时间间隔由sleep (InterArrivalTime)函数实现. TaskData作为容器将保存虚拟车生成的任务信息. 在运行时环境下, VirtualVehicle将生成TaskData任务对象保存到自己的队列中, 并发送到全局队列, 全局队列由ArrayBlockingQueue实现. 可以实现VirtualVehicle和Scheduler的互斥操作, 保证全局队列中数据的安全性. 全局队列的大小是动态变化的, Scheduler可以从全局队列中取出任务并按照任务地点落入Voronoi单元的编号将任务对象发送给对应的IntelligentVehicle. GlobalQueue和Scheduler在此承担了信息通道(Channel)的作用, IntelligentVehicle拥有本地调度器, 将根据不同的调度规则计算服务总时间, 并得到最优的调度策略.
算法操作步骤如下:
1) 设定虚拟车数量
$ i $ 和智能车数量$ m $ ;2) 设定全局任务队列阈值;
3) 实例化
$ i $ 个VirtualVehicle线程实例$VV_i,$ $ m $ 个IntelligentVehicle线程实例$ IV_m $ ;4) 设定
$ VV_i $ 产生任务的时间到达规律参数、任务地点范围、任务量及范围;5)
$ VV_i $ 生成任务, TaskData存储任务的到达时间、地理位置、任务量;6) 按照式(9)计算虚拟服务时间;
7) 按照式(10)计算虚拟截止时间;
8)
$ VV_i $ 将任务打包发送到Channel通道中的全局任务队列;9) 调度器Scheduler从全局任务队列取出任务, 按照式(14)、式(15)将任务分配到对应的智能车
$ IV_m $ ;10) 智能车
$ IV_m $ 将接收到的任务放入自己的局部队列, 按照式(16)调度策略及式(17) ~ 式(19) 分别计算$T_m^{I{\rm{ser}}\phi }$ ;11) 重复步骤4) 至步骤10), 直至达到额定任务数量, 求得服务总时间最小的调度策略
${\phi ^{{\rm{optimal}}}}$ .实验调用API从Open Street Map获取以北京工业大学为中心, 方圆3000米范围的交通路网拓扑图作为实验区域数据. 任务处理过程中的其中6个任务分配结果如图5所示, 最底层是交通路网, 9个方块表示在
$A $ 区域内提供边缘计算的智能车, 圆点表示虚拟车发出的计算任务位置, 通过Voronoi算法可以计算得到分界线, 将该区域分成了9个Voronoi单元, 区域索引与智能车索引相同. 创建9个IntelligentVehicle线程实例模拟9辆智能车, 随机产生9个均匀分布在路网中的地理位置坐标作为智能车初始位置坐标, 如图5(a)中的方块所示. 创建16个VirtualVehicle线程实例模拟16辆虚拟车, 每辆虚拟车都将按照不同的分布规律产生50个任务, 任务被动态地发送到全局队列. Scheduler按照式(15)将该区域分成9个Voronoi单元, 即$A = \{VorCel{{l}_{m}}\}_{m = 1}^9 ,$ 逐个将全局队列中的任务取出, 按照Voronoi分配算法进行分配.智能车根据FCFS, FDFS, CFS调度策略对局部任务队列进行计算, 得到各自最优的调度策略. 在FCFS, FDFS, CFS三种调度算法下的智能车服务时间对比结果如图6所示.
调度完成后在Aimsun中模拟智能车提供交通污染排放计算服务的任务场景. 利用OSMnx库可以获取北京市朝阳区的交通路网GIS数据, 利用Aimsun仿真软件中的插件GIS Importer将该数据导入Aimsun生成路网, 建立交通网络.
选择图5中的第5辆智能车所在区域 (中间区域) 作为实验区域, 根据OD矩阵将普通车辆放入仿真的真实场景中, 然后放入智能车
$ IV_5 $ 作为控制对象. 通过Aimsun API编写程序模拟$ IV $ 执行任务, 落入第5单元区域的任务被$ IV $ 生成局部任务序列$ \left\langle Tas{{k}_{5}}\left( n \right) \right\rangle _{n = 1}^{6} ,$ 其任务地点标注如图7中的圆点所示, 智能车$ IV_5 $ 初始位置如图7中车辆所示.仿真程序按照FCFS调度策略执行任务. 读取第一个任务地点
$task_{{5}}^{X}\left( {1} \right),$ 智能车所在地点$p_{5}^{IV}\left( 0 \right),$ 计算得到第一次执行任务地点与智能车初始位置之间的距离$D_{5}^{I}\left( 1 \right),$ 通过获取路段平均车速可以计算出智能车到达任务点所在路段的实际旅行时间$T_{5}^{I{\rm{tra}}}\left( 1 \right)$ . 同理计算出智能车通过任务地点所在路段的时间, 这段时间也是智能车执行任务时间, 即$ T_{5}^{Is}\left( 1 \right) $ .通过式 (18) 可以得到实际服务时间
$T_{5}^{I{\rm{ser}}}\left( 1 \right),$ 即智能车需要提供服务的时间. 智能车物理移动前往任务地点, 按照虚拟截止时间约束完成计算任务.实验中设置跟踪模式, 记录车辆实际旅行时间、实际执行任务时间、实际服务时间和实际完成任务时间. 第一个交通污染排放计算任务完成后, 程序将控制智能车前往第二个任务地点
$task_{5}^{X}\left( 2 \right)$ 执行交通污染排放计算任务. 同理, 智能车将依次按照任务分配前往$ task_{5}^{X}\left( 3 \right) \sim task_{5}^{X}\left( 6 \right) $ 执行任务.$ VV_s $ 发出的任务计算参数如表2所示.表 2 VVs的任务计算参数Table 2 VVs calculation parameters$Tas{{k}_{i}}\left( j \right)$ $T_{i}^{\rm{arr}}\left( j \right)$ $task_{i}^{X }\left( j \right)$ $T_{i}^{V{\rm{tra}}}\left( j \right)$ $T_{i}^{s}\left( j \right)$ $T_{i}^{V{\rm{ser}}}\left( j \right)$ $T_{i}^{Vd}\left( j \right)$ $i=2,\;j=2$ 9:09:02 (39.8726, 116.466) 89 169 258 9:13:20 $i=3,\;j=3$ 9:13:37 (39.8702, 116.476) 110 80 190 9:16:47 $i=7,\;j=1$ 9:16:52 (39.875, 116.475) 200 60 260 9:21:12 $i=9,\;j=6$ 9:21:14 (39.8787, 116.471) 0 52 52 9:22:06 $i=12,\;j=3$ 9:22:06 (39.8767, 116.466) 78 60 138 9:24:24 $i=15,\;j=4$ 9:24:34 (39.8705, 116.466) 40 43 83 9:25:57 执行交通污染排放计算任务时, 采用Plotkin时空推进式(4), 设置程序时间间隔为1 s, 同时仿真步长设置成1 s. 智能车可以获得该路段所有车辆的动态信息, 通过获取不同车辆的瞬时速度
$ v $ 和加速度$ a $ , 利用VSP模型可以得到每辆车的VSP值, 根据BIN方法得到每辆车的瞬时排放, 将计算得到的所有值进行累加得到该路段的整体交通污染排放情况. 在此过程中, 智能车的实际运行参数以及在每次任务中计算得到的交通污染排放情况如表3所示.由式(7)、式(11)可知, 任务到达速率
$ \lambda ^{VV}{ = 0}{.375}, $ 虚拟服务速率$ {{\mu }^{VV}}{ = 0}{.448} $ , 此时$ \lambda^{VV}<{{\mu }^{VV}} $ . 经计算得到智能车真实服务速率${{\mu }^{IV}}{ = 0}{.476} ,$ 通过式(21) 得到$\kappa = 1{.0625},$ 接近1. 由文献[29]可知映射程度较好, 提高了智能车的计算资源利用率.5. 结论
本文设计了一种智能车联网环境下的MEC体系架构. 采用虚拟化技术对智能车计算资源进行了虚拟化抽象, 构建了虚拟车服务任务的
$ GI/GI/1 $ 排队模型, 同时基于云平台的Voronoi分配算法, 对虚拟车任务进行了分配绑定, 进而实现了智能车的优化调度与分布式弹性服务, 解决了边缘计算任务分配不均衡问题. 下一步, 一个重要的研究方向是讨论MEC优化调度任务的实时性.表 3 IV的实际运行参数Table 3 Actual operating parameters of IV$Tas{{k}_{m}}\left( n \right)$ $T_{m}^{I{\rm{tra}}}\left( n \right)$ $T_{m}^{Is}\left( n \right)$ $T_{m}^{I{\rm{ser}}}\left( n \right)$ $T_{m}^{\rm{finish}}\left( n \right)$ ${\rm{C O}}_{2} \left({\rm{g} } \right)$ ${\rm{CO}}\left({\rm{g} } \right)$ ${\rm{NO}}_{X} \left({\rm{g} }\right)$ ${\rm{HC}}\left({\rm{g} }\right)$ $m=5,\;n=1$ 95 178 273 9:13:35 992.78 6.76 0.81 0.51 $m=5,\;n=2$ 117 76 193 9:16:50 1144.42 7.76 0.79 0.63 $m=5,\;n=3$ 202 58 260 9:21:12 426.80 2.96 0.29 0.24 $m=5,\;n=4$ 0 50 50 9:22:04 590.63 4.11 0.41 0.33 $m=5,\;n=5$ 83 63 146 9:24:32 1658.42 11.41 1.14 0.92 $m=5,\;n=6$ 37 39 46 9:25:20 868.51 5.92 0.61 0.48 -
表 1 相对近似块帧间编码比特占用
Table 1 RSB inter coding bits occupancy
编码类型 编码信息 数据类型 比特占用(bits) 位置信息 $(X,Y,Z)_{{\rm{min}},{\rm{max}}}$ Int 96 旋转矩阵 $3\times3$矩阵 Float 288 平移向量 $3\times 1$向量 Float 96 属性偏移 $(R,G,B)$ Int 48 总编码消耗 $R_{\rm{RSB}}$ Int、Float 528 表 2 提出的改进算法量化参数
Table 2 Quantization parameters of proposed improved algorithm
量化参数 编码模式判定$\Omega$ 最小块阈值$N_D$ 分割截止阈值$T$ R1 3.5 14000 2.0 R2 3.0 12000 2.2 R3 2.5 10000 2.5 R4 2.0 8000 2.8 R5 1.5 6000 3.0 表 3 区域自适应分割的块匹配方法性能测试
Table 3 Performance test of block matching method based on adaptive regional segmentation
Name D1 (%) D2 (%) Luma (%) Cb (%) Cr (%) 均匀块分割 Loot 33.93 49.67 4.48 −18.07 −15.08 Redandblack 13.51 19.42 13.41 −3.01 10.79 Soldier −34.75 −34.66 −40.82 −42.91 −44.52 Queen −33.64 −33.33 −18.33 −28.58 −12.74 Longdress 11.97 13.15 27.48 −4.88 11.13 Average −1.80 −2.85 −2.76 −18.51 −10.08 改进的自适应块分割 Loot 27.10 39.28 2.22 −24.14 −21.19 Redandblack 6.03 8.14 16.06 4.14 13.72 Soldier −37.69 −37.57 −42.87 −45.10 −46.42 Queen −35.72 −33.94 −9.36 −12.93 −14.92 Longdress 6.74 6.46 4.83 5.02 12.49 Average −6.71 −3.53 −5.82 −14.60 −11.26 相对BD-BR增益 −4.91 −6.38 −3.06 3.91 −1.18 表 4 联合属性率失真优化的多模式帧间编码性能测试
Table 4 Performance test of multi-mode inter-frame coding based on joint attribute rate distortion optimization
Name D1 (%) D2 (%) Luma (%) Cb (%) Cr (%) 完全帧间运动预测 Loot 32.31 42.75 11.16 −19.63 −16.09 Redandblack 14.16 15.52 7.88 −11.11 6.35 Soldier −31.21 −31.21 −37.47 −41.07 −42.48 Queen −29.34 −30.23 −12.47 −17.84 −6.77 Longdress 12.28 14.79 17.74 −13.26 0.79 Average −0.36 2.32 −2.63 −20.58 −13.70 改进的多模式帧间运动预测 Loot −0.06 0.70 10.07 5.44 5.80 Redandblack −3.31 −2.09 11.73 1.66 9.45 Soldier −35.88 −34.59 −36.31 −36.28 −38.70 Queen −39.55 −39.37 −39.16 −44.46 −44.97 Longdress −0.64 1.28 6.50 3.10 10.23 Average −18.13 −17.09 −9.43 −16.06 −11.64 相对BD-BR增益 −17.77 −19.41 −6.80 4.52 2.06 表 5 相较于V-PCC相互消融性能(平均BD-BR)
Table 5 Mutual ablation performance compared to V-PCC (Average BD-BR)
应用算法 D1 (%) D2 (%) Luma (%) Cb (%) Cr (%) 多模式帧间编码 −18.13 −17.09 −9.43 −16.06 −11.64 自适应块分割 −6.71 −3.53 −5.82 −14.60 −11.26 完整算法框架 −22.57 −20.94 −22.01 −23.67 −21.90 表 6 提出的改进算法相较于V-PCC的性能比较
Table 6 Performance of proposed improved algorithm compared with V-PCC
Name D1 (%) D2 (%) Luma (%) Cb (%) Cr (%) Loot −2.64 −0.69 −3.57 −4.74 −4.85 Redandblack −1.65 −0.95 −1.75 −2.01 −2.12 Soldier −51.53 −46.99 −54.12 −55.65 −55.95 Queen −56.58 −56.45 −51.62 −55.12 −46.27 Longdress −0.44 0.40 0.99 −0.80 −0.30 Overall −22.57 −20.94 −22.01 −23.67 −21.90 表 8 相较于V-PCC的编码开销与时间复杂度
Table 8 Encoding overhead and time complexity compared to V-PCC
量化
等级预测
编码
(bits)NSB
编码
(bits)V-PCC
帧内
编码(bits)相对编码
开销(%)相对编码
时间(%)Queen R1 5722 33065 97363 39.83 85.01 R2 6099 48154 140968 38.49 84.74 R3 6841 78773 225197 38.02 84.99 R4 6797 149308 392872 39.71 85.77 R5 7494 292382 686758 43.67 92.08 Soldier R1 4986 47469 149301 35.13 82.17 R2 5692 76517 236022 34.83 81.79 R3 7986 138810 392283 37.42 81.27 R4 11836 305130 675218 46.94 83.38 R5 16182 826968 1192585 70.69 94.29 Average 7955 199658 418857 49.56 85.55 -
[1] 李厚强, 李礼, 李竹. 点云编码综述. 中兴通讯技术, 2021, 27(01):5−9Li Hou-Qiang, Li Li, Li Zhu. A review of point cloud compression. ZTE Technology Journal, 2021, 27(01):5−9 [2] Ishikawa Y, Hachiuma R, Ienaga N, Kuno W, Sugiura Y, Saito H. Semantic segmentation of 3D point cloud to virtually manipulate real living space. In: Proceedings of the Asia Pacific Workshop on Mixed and Augmented Reality. Ikoma, Japan: IEEE, 2019. 1−7 [3] Deng X M, Zhu Y Y, Zhang Y D, Cui Z P, Tan P, Qu W, et al. Weakly supervised learning for single depth-based hand shape recovery. IEEE Transactions on Image Processing, 2021, 30: 532−545 doi: 10.1109/TIP.2020.3037479 [4] 田永林, 沈宇, 李强, 王飞跃. 平行点云:虚实互动的点云生成与三维模型进化方法. 自动化学报, 2020, 46(12): 2572−2582 doi: 10.16383/j.aas.c200800Tian Yong-Lin, Shen Yu, Li Qiang, Wang Fei-Yue. Parallel point clouds: point clouds generation and 3D model evolution via virtual-real interaction. Acta Automatica Sinica, 2020, 46(12): 2572−2582 doi: 10.16383/j.aas.c200800 [5] Sun P P, Zhao X M, Xu Z G, Wang R M, Min H G. A 3D LiDAR data-based dedicated road boundary detection algorithm for autonomous vehicles. IEEE Access, 2019, 7: 29623−29638 doi: 10.1109/ACCESS.2019.2902170 [6] Huang X Y, Wang P, Cheng X J, Zhou D F, Geng Q C, Yang R G. The apolloscape open dataset for autonomous driving and its application. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(10): 2702−2719 doi: 10.1109/TPAMI.2019.2926463 [7] Gan Z P, Xu H R, He Y R, Cao W, Chen G H. Autonomous landing point retrieval algorithm for UAVs based on 3D environment perception. In: Proceedings of the IEEE 7th International Conference on Virtual Reality. Foshan, China: IEEE, 2021. 104−108 [8] 曹成坤, 张琮毅, 汪国平. 精度可控的字典全局相似性点云压缩. 计算机辅助设计与图形学学报, 2019, 31(6):869−877Cao Cheng-Kun, Zhang Cong-Yi, Wang Guo-Ping. Precision controllable point clouds compression using global similarity in dictionary. Journal of Computer-Aided Design & Computer Graphics, 2019, 31(6): 869−877 [9] Maja K, Chou P A, Savill P. 8i voxelized surface light field (8iVSLF) dataset. ISO/IEC JTC1/SC29/WG11 MPEG, input document m42914, Ljubljana, Slovenia, 2018 [10] Kammerl J, Blodow N, Rusu R B, Gedikli S, Beetz M, Steinbach E. Real-time compression of point cloud streams. In: Proceedings of the IEEE International Conference on Robotics and Automation. Saint Paul, USA: IEEE, 2012. 778−785 [11] Thanou D, Chou P A, Frossard P. Graph-based compressionof dynamic 3D point cloud sequences. IEEE Transactions on Image Processing, 2016, 25(4): 1765−1778 doi: 10.1109/TIP.2016.2529506 [12] Queiroz R L, Chou P A. Motion-compensated compression of dynamic voxelized point clouds. IEEE Transactions on Image Processing, 2017, 26(8): 3886−3895 doi: 10.1109/TIP.2017.2707807 [13] Mekuria R, Blom K, Cesar P. Design, implementation, and evaluation of a point cloud codec for tele-immersive video. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 27(4): 828−842 doi: 10.1109/TCSVT.2016.2543039 [14] Besl P J, McKay N D. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(2):239−256 doi: 10.1109/34.121791 [15] Santos C, Goncalves M, Correa G, Porto M. Block-based inter-frame prediction for dynamic point cloud compression. In: Proceedings of the IEEE International Conference on Image Processing. Anchorage, USA: IEEE, 2021. 3388−3392 [16] Lasserre S, Llach J, Guede C, Ricard J. Technicolor's response to the CfP for point cloud compression. ISO/IEC JTC1/SC29/WG11 MPEG, input document m41822, Macau, China, 2017 [17] Budagavi M, Faramarzi E, Ho T, Najaf-Zadeh H, Sinharoy I. Samsung's response to CfP for point cloud compression (Category2). ISO/IEC JTC1/SC29/WG11 MPEG, input document m41808, Macau, China, 2017 [18] Schwarz S, Sheikhipour N, Sevom V F, Hannuksela M M. Video coding of dynamic 3D point cloud data. APSIPA Transactions on Signal and Information Processing, DOI: 10.1017/ATSIP.2019.24 [19] Mammou K, Tourapis A M, SINGER D. Video-based and hierarchical approaches point cloud compression. ISO/IEC JTC1/SC29/WG11 MPEG, input document m41779, Macua, China, 2017 [20] Graziosi D, Nakagami O, Kuma S, Zaghetto A, Suzuki T, Tabatabai A. An overview of ongoing point cloud compression standardization activities: Video-based (V-PCC) and geometry-based (G-PCC). APSIPA Transactions on Signal and Information Processing, DOI: 10.1017/ATSIP.2020.12 [21] Li L, Zhu L, Zakharchenko V, Chen J L, Li H Q. Advanced 3D motion prediction for Video-based dynamic point cloud compression. IEEE Transactions on Image Processing, 2020, 29:289−302 doi: 10.1109/TIP.2019.2931621 [22] Kim J, Im J, Rhyu S, Kim K. 3D motion estimation and compensation method for Video-based point cloud compression. IEEE Access, 2020, 8:83538−83547 doi: 10.1109/ACCESS.2020.2991478 [23] Costa A, Dricot A, Brites C, Ascenso J, Pereira F. Improved patch packing for the MPEG V-PCC standard. In: Proceedings of the IEEE 21st International Workshop on Multimedia Signal Processing. Kuala Lumpur, Malaysia: IEEE, 2019. 1−6 [24] Li L, Li Z, Liu S, Li H Q. Occupancy-map-based rate distortion optimization and partition for video-based point cloud compression. IEEE Transactions on Circuits and Systems for Video Technology, 2020, 31(1): 326−338 [25] Li L, Li Z, Liu S, Li H Q. Efficient projected frame padding for video-based point cloud compression. IEEE Transactions on Multimedia, 2021, 23: 2806−2819 doi: 10.1109/TMM.2020.3016894 [26] Xu Y Q, Hu W, Wang S S, Zhang X F, et al. Predictive generalized graph fourier transform for attribute compression of dynamic point clouds. IEEE Transactions on Circuits and Systems for Video Technology, 2021, 31(5): 1968−1982 doi: 10.1109/TCSVT.2020.3015901 [27] Schwarz S, Martin-Cocher G, Flynn D, Budagavi M. Common test conditions for point cloud compression. ISO/IEC JTC1/SC29/WG11 MPEG, input docment w17766, Ljubljana, Slovenia, 2020 [28] Jang E S, Preda M, Mammou K, Tourapis A M, et al. Video-based point-cloud-compression standard in MPEG: from evidence collection to committee draft. IEEE Signal Processing Magazine, 2019, 36(3): 118−123 doi: 10.1109/MSP.2019.2900721 -