基于边缘计算的视频压缩编码处理方法及相关组件

文档序号:25086470发布日期:2021-05-18 19:41阅读:282来源:国知局
基于边缘计算的视频压缩编码处理方法及相关组件

1.本申请涉及电子技术领域,特别涉及一种基于边缘计算的视频压缩编码处理方法、装置、系统及一种可读存储介质。


背景技术:

2.随着无线传输的发展,尤其是第五代移动通信技术(5g)的普及,给视频采集端的控制和视频的无线传输提供了更高的带宽和更低的延迟。视频采集端的摄像头拍摄的原始视频数据的数据量很大,例如时长为1分钟,帧率为30帧/秒的1080p分辨率的视频的原始大小就有3.5g,因此需要对原始视频数据压缩后再进行传输。
3.常用视频编码方案中认为视频中相邻两帧图像是具有连续性的,前一帧图像中的一棵树会出现在接下来的一帧图像中的相同位置,如果摄像机发生移动,那么这棵树在接下来的一帧图像中的位置也会发生相应的移动。传统编码方案就是通过大量的计算去搜索前一帧图像中的各个物体(通常以一个方形像素块作为一个搜索单位)在接下来的一帧图像中的位置,如果找到了新的位置,那么只需要传输这个像素位移就可以了,从而实现视频的压缩。但这样做会有很高的视频编码复杂度,即视频的压缩耗时较长,这对视频采集端的功耗也会有影响。
4.为解决上述问题,相关技术中常使用全局运动模型来降低视频编码复杂度。全局运动模型不以描述单一物体的运动为目的,而是对视频中所有物体的整体运动进行描述。例如,全局运动模型不再对地面上的房屋,树木和公路进行分别描述,而是将在一帧图像中出现的这些物体作为一个整体并在这个整体中找出一些能够代表这个整体的位置的特征点,通过搜索这些特征点在接下来一帧图像中的位置来确定这个整体在接下来一帧图像中的位置和形状的变化,这些变化包括物体的平移,旋转,缩放,错切等。
5.由于使用了数量更少的特征点匹配代替了原来的块匹配,所以达到降低视频编码复杂度的效果。但是使用的特征点较少会降低模型描述物体运动的精度,造成视频编码器压缩性能降低;如果使用的特征点较多,则编码复杂度较高,对于视频采集端会产生较大的处理压力的同时,还会增加编码的耗时,而且应用于一些电量和重量有限制的无人系统(例如无人飞机、无人船和无人车)中时会降低视频采集端应用设备的续航。
6.因此,如何在保障视频压缩性能的同时,提升压缩效率,提高视频采集端的续航能力,是本领域技术人员急需解决的问题。


技术实现要素:

7.本申请的目的是提供一种基于边缘计算的快速视频压缩编码处理方法,该方法可以将视频采集端的编码计算任务转移到边缘节点,降低采集端的功耗,提高视频压缩编码效率;本申请的另一目的是提供一种基于边缘计算的视频压缩编码处理装置、系统及一种可读存储介质。
8.为解决上述技术问题,本申请提供一种基于边缘计算的视频压缩编码处理方法,
包括:
9.边缘服务器接收到视频采集端发送的视频压缩数据后,将所述视频压缩数据转发至控制端,并对所述视频压缩数据进行解码还原;
10.将所述解码还原后得到的帧数据作为历史帧数据进行存储;
11.根据所述历史帧数据对所述视频采集端中的当前待编码帧进行元数据预测,得到编码元数据;
12.将所述编码元数据反馈至所述视频采集端,以便所述视频采集端根据所述编码元数据对所述当前待编码帧进行压缩处理。
13.可选地,根据所述历史帧数据对所述视频采集端中的当前待编码帧进行元数据预测,得到编码元数据,包括:
14.根据所述历史帧数据对所述视频采集端中的当前待编码帧进行全局运动参数预测,并将所述全局运动参数预测得到的仿射矩阵作为所述当前待编码帧的所述编码元数据。
15.可选地,所述基于边缘计算的视频压缩编码处理方法还包括:
16.当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,向所述视频采集端发送编码方式切换信号,以控制所述视频采集端将编码方式切换为自主编码模式进行元数据的计算以及数据压缩。
17.可选地,在向所述视频采集端发送编码方式切换信号之前,还包括:
18.根据所述控制信号判断压缩性能影响量是否超过阈值;
19.若超过,执行向所述视频采集端发送编码方式切换信号的步骤;
20.若未超过,执行接收视频采集端发送的视频压缩数据的步骤。
21.可选地,所述基于边缘计算的视频压缩编码处理方法还包括:
22.当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,基于所述控制信号进行元数据的预测,得到信号预测元数据;
23.将所述信号预测元数据作为所述编码元数据反馈至所述视频采集端,以便所述视频采集端根据所述编码元数据对所述当前待编码帧进行压缩处理。
24.本申请还提供了一种基于边缘计算的视频压缩编码处理装置,应用于边缘服务器,该装置包括:
25.转发解码单元,用于接收到视频采集端发送的视频压缩数据后,将所述视频压缩数据转发至控制端,并对所述视频压缩数据进行解码还原;
26.历史存储单元,用于将所述解码还原后得到的帧数据作为历史帧数据进行存储;
27.元数据计算单元,用于根据所述历史帧数据对所述视频采集端中的当前待编码帧进行元数据预测,得到编码元数据;
28.元数据反馈单元,用于将所述编码元数据反馈至所述视频采集端,以便所述视频采集端根据所述编码元数据对所述当前待编码帧进行压缩处理。
29.本申请还提供了一种基于边缘计算的视频压缩编码处理方法,包括:
30.视频采集端接收边缘服务器发送的编码元数据;其中,所述编码元数据为所述边缘服务器根据历史帧数据进行元数据预测处理得到;
31.根据所述编码元数据对视频帧图像中的当前待编码帧进行视频压缩处理,得到视
频压缩数据;
32.将所述视频压缩数据发送至所述边缘服务器,以便调用所述边缘服务器根据所述视频压缩数据转发至控制端以及根据所述视频压缩数据进行编码元数据的计算。
33.本申请还提供了一种基于边缘计算的视频压缩编码处理装置,应用于视频采集端,该装置包括:
34.元数据接收单元,用于接收边缘服务器发送的编码元数据;其中,所述编码元数据为所述边缘服务器根据历史帧数据进行元数据预测处理得到;
35.压缩处理单元,用于根据所述编码元数据对视频帧图像中的当前待编码帧进行视频压缩处理,得到视频压缩数据;
36.数据发送单元,用于将所述视频压缩数据发送至所述边缘服务器,以便调用所述边缘服务器根据所述视频压缩数据转发至控制端以及根据所述视频压缩数据进行编码元数据的计算。
37.本申请还提供了一种基于边缘计算的视频压缩编码处理系统,包括:视频采集端、边缘服务器以及控制端;
38.其中,所述边缘服务器用于实现基于边缘服务器的所述基于边缘计算的视频压缩编码处理方法的步骤;
39.所述视频采集端用于实现基于视频采集端的所述基于边缘计算的视频压缩编码处理方法的步骤;
40.所述控制端用于接收所述边缘服务器发送的视频压缩数据进行解压播放处理。
41.本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现基于边缘服务器的所述基于边缘计算的视频压缩编码处理方法和/或基于视频采集端的所述基于边缘计算的视频压缩编码处理方法的步骤。
42.本申请所提供的基于边缘计算的视频压缩编码处理方法中,将视频采集端的视频压缩编码处理中复杂度高,占用编码时间长的元数据计算任务转移到了计算资源更加丰富而且离视频采集端较近的边缘服务器上,既可以减轻视频采集端的视频压缩编码处理压力,可以降低视频采集端上视频编码器的编码复杂度,降低视频压缩编码耗时,提高视频采集端的续航,又可以提升处理效率,从而进一步提升响应速度;另外,该方法中在边缘处理器中对接收到的视频压缩数据进行解码还原,执行基于历史帧数据的运动搜索,根据历史帧数据对视频采集端中的当前待编码帧进行元数据预测,打破了传统方法只能在视频采集端求取元数据的壁垒,可以进一步提升计算效率。
43.本申请还提供了一种基于边缘计算的视频压缩编码处理装置、系统及一种可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
44.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
45.图1为本申请实施例提供的一种基于边缘计算的视频压缩编码处理方法的信令
图;
46.图2为本申请实施例提供的一种错切、平移和旋转变换的叠加结果示意图;
47.图3为本申请实施例提供的一种帧间仿射矩阵预测关系示意图;
48.图4为本申请实施例提供的一种运动补偿示意图;
49.图5为本申请实施例提供的一种地面坐标系示意图;
50.图6为本申请实施例提供的一种应用于边缘服务器的基于边缘计算的视频压缩编码处理装置的结构框图;
51.图7为本申请实施例提供的一种应用于视频采集端的基于边缘计算的视频压缩编码处理装置的结构框图;
52.图8为本申请实施例提供的一种基于边缘计算的视频压缩编码处理系统的结构示意图;
53.图9为本申请实施例提供的一种基于边缘计算的视频压缩编码处理系统工作示意图。
具体实施方式
54.本申请的核心是提供一种基于边缘计算的视频压缩编码处理方法,该方法可以将视频采集端的编码计算任务转移到边缘节点,降低采集端的功耗,提高视频压缩编码效率;本申请的另一核心是提供一种基于边缘计算的视频压缩编码处理装置、系统及一种可读存储介质。
55.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
56.需要说明的是,本申请提供的基于边缘计算的视频压缩编码处理方法中,视频采集端将压缩编码处理后的第i

1帧视频压缩数据发送至边缘服务器后,边缘服务器将第i

1帧视频压缩数据转发至控制端进行视频播放输出的同时,还根据第i

1帧以及边缘服务器早已得到的历史帧(比如第i

2,i

3,i

4,i

5帧)视频压缩数据对第i帧视频数据在压缩编码过程中的参数——编码元数据进行预测计算,并将计算得到的编码元数据发送至视频采集端,以便于视频采集端根据该编码元数据对第i帧视频数据进行压缩编码处理,再得到第i帧视频压缩数据,并将其发送至边缘服务器端,上述过程为一个基于多帧视频编码处理的循环往复的过程,直至所有视频帧都处理完成循环结束。
57.而本实施例介绍的实现过程以视频采集端刚刚处理完成得到第i

1帧视频压缩数据,并需要对第i帧视频数据进行压缩编码处理为例,其它循环阶段的处理过程均可参照本实施例的介绍,在此不再赘述。
58.请参考图1,图1为本实施例提供的基于边缘计算的视频压缩编码处理方法的信令图,该方法主要包括:
59.步骤s110、视频采集端将视频压缩数据发送至边缘服务器;
60.视频采集端将刚刚处理完成得到的第i

1帧视频压缩数据发送至边缘服务器,其中,视频压缩数据的传输过程可以参照传统实现方式,在此不再赘述,视频压缩处理的过程
参见下述介绍。
61.步骤s210、边缘服务器接收到视频采集端发送的视频压缩数据后,将视频压缩数据转发至控制端,并对视频压缩数据进行解码还原;
62.边缘服务器在接收到视频采集端处理得到的第i

1帧视频压缩数据后,边缘服务器将对接收到的压缩数据进行两个操作:(1)将压缩数据原封不动的转发给控制端。(2)将压缩数据进行解压缩恢复出原始图像并保存。
63.按照传统方式转发一份第i

1帧视频压缩数据至控制端,以便控制器接收到视频压缩数据后进行视频数据的解压缩后可直接播放,实现视频的远程传输。该部分视频压缩数据的转发以及在控制器上的播放具体实现过程可以参照传统方法的实现方式,本实施例中对此不做限定。
64.在将视频压缩数据转发至控制端的同时,本实施例中边缘服务器还进一步对视频压缩数据进行解码还原,以便根据解码还原后的帧数据进行编码元数据的计算,减轻视频采集端的处理压力。
65.而其中,边缘服务器解码还原的过程与视频采集端的编码过程相对应,压缩数据解压缩是压缩编码的逆过程,本实施例中对于视频采集端对于视频原始图像进行压缩编码的实现步骤不做限定,相应地,对于边缘服务器的解码还原的实现步骤也不做限定。为加深理解,在此介绍一种残差编码对应的解码还原的具体实现过程,包括如下步骤:首先将收到的压缩数据进行熵解码得到量化系数,然后对量化系数进行反量化和反dct(反量化和反dct是量化和dct的逆过程)得到残差数据,然后将残差数据叠加到上一帧的对应像素块上得到当前解码帧对应像素块的像素值。最后解码出来的像素值作为历史帧数据进行存储。
66.本实施例中边缘服务器接收视频采集端压缩后的数据,以减少数据传输量,再对压缩数据进行解码还原,以便于后续步骤中的分担计算。
67.步骤s220、边缘服务器将解码还原后得到的帧数据作为历史帧数据进行存储;
68.解码还原后的帧数据需要存储至边缘服务器中,以便响应后续的计算过程,具体的存储方式以及存储空间设置本实施例中不做限定,比如可以存入缓存中,也可以存储至连接的存储设备中,可以根据实际数据量的大小以及数据读取的需要进行存储的设置,在此不再赘述。
69.步骤s230、边缘服务器根据历史帧数据对视频采集端中的当前待编码帧进行元数据预测,得到编码元数据;
70.传统方式下边缘服务器只用作中转视频压缩数据,而实际上一般来说边缘服务器的硬件配置和计算能力比视频采集端更高,本实施例中为了减轻视频采集端的数据处理压力的同时提升视频压缩编码处理效率,调用边缘服务器来辅助视频采集端压缩视频,边缘服务器根据历史帧数据对视频采集端中的当前待编码帧进行元数据预测,边缘服务器分担了视频采集端压缩视频的计算负担(传统的视频编码方案的元数据计算是在视频采集端直接完成的),视频采集端和边缘服务器共同完成视频采集端采集的视频的压缩编码。由于求取元数据过程在整体视频压缩处理过程中计算量占比较大,本实施例中将元数据计算转移至边缘服务器进行处理,既可以减少视频采集端的计算负担,又可以充分利用边缘服务器强大的数据处理能力,提升视频压缩处理整体实现效率。需要说明的是,将元数据计算迁移到边缘服务器上后由于缺乏当前待编码帧的原始数据,所以元数据计算无法直接完成,需
要进行预测,因此本实施例中在边缘服务器上依据历史帧图像进行元数据预测,传统方法在视频采集端求取元数据的过程为元数据直接计算的过程。
71.本实施例中在元数据预测过程中采用的是使用保存的历史帧图像来预测视频采集端求当前待编码帧中像素在前一帧中的像素位置所需要的元数据。具体的,进行元数据预测的过程为在边缘服务器上总结当前待编码帧前面的若干(比如5)帧中物体的运动来预测当前待编码帧中物体的运动趋势作为元数据,该种方式相比传统方式根据当前待编码帧和前一帧求解元数据的过程可以降低计算复杂度,从而进一步提升视频数据压缩效率。
72.其中根据历史帧图像进行元数据预测的具体实现方式不做限定,可以根据实际应用场景下的算法配置需要进行设定。
73.其中,一种实现方式为:根据历史帧数据对视频采集端中的当前待编码帧进行全局运动参数预测,并将全局运动参数预测得到的仿射矩阵作为当前待编码帧的编码元数据。
74.全局运动参数预测根据边缘服务器上已保存的历史帧数据得到视频中物体的运动趋势来预测视频采集端当前正在编码的帧的元数据。使用全局运动模型,具体的可以以六参数仿射模型的六个参数作为元数据,即编码一帧图像边缘服务器向视频采集端传输的元数据大小为48字节,相比传统的元数据计算方式,通过全局运动参数预测可以降低元数据的大小,从而进一步减少计算复杂度的同时减少数据传输量。
75.为加深理解,在此介绍一种使用六参数的全局运动参数预测实现的具体步骤,其它类型下的实现方式均可参照下述介绍,在此不再赘述。
76.(1)当视频采集端正在编码第i帧图像时,边缘服务器可以获得视频第i帧前面的所有帧。因为当前待编码帧i还没有被编码完,所以边缘服务器无法得到,在边缘服务器上使用第i

1,i

2,i

3,i

4,i

5帧来预测第i帧的全局运动参数。
77.(2)采用仿射模型的六个参数作为全局运动参数来描述相邻帧中物体的运动,这六个参数构成的仿射矩阵如下:
[0078][0079]
假设当前待编码帧中第x行第y列的像素坐标为(u,v),并且这个像素对应前一帧中坐标为(u',v')的像素。则存在一个仿射矩阵,满足
[0080][0081]
使用仿射矩阵可以对图像进行缩放、平移、旋转和错切等变换,而且这种变换是可以叠加的,如图2所示为一种错切、平移和旋转变换的叠加结果示意图。可以看到,几种变换的叠加结果可以由多个仿射矩阵相乘得到,通过设置仿射矩阵的参数可以得到复杂的图形变换。
[0082]
错切后平移后旋转:
[0083][0084]
所以对于相邻帧间复杂的全局运动可以使用一个仿射矩阵来描述,即当前待编码帧中任意位置的像素与前一帧中对应的像素位置的关系可以使用一个仿射矩阵来描述。
[0085]
(3)为求出相邻帧之间的仿射矩阵,以4
×
4的像素块为最小单位,以像素块的最左上角的像素的坐标代表这个像素块的坐标,首先通过运动搜索当前帧中每个像素块在前一帧中的对应位置,即每个像素块坐标(u
i
,v
i
)都对应前一帧中的一个像素块坐标(u'
i
,v'
i
),称为一个坐标对。然后使用随机抽样一致性算法(ransac)求解相邻帧的仿射矩阵并区分前景和背景像素块,第i

2帧和第i

1帧的仿射矩阵记作r
i

2,i
‑1。
[0086]
调用ransac算法的一种实现步骤如下所示:
[0087]

随机从数据集中抽出多个坐标对(大于3对,且坐标对构成的向量之间不能共线),使用最小二乘法计算出仿射矩阵r,记为模型m;
[0088]

计算数据集中所有坐标对与模型m的投影误差,若误差小于阈值t,加入内点集i;
[0089]

如果当前内点集i元素个数大于最优内点集i_best,则更新i_best=i,同时更新迭代次数k;
[0090]

如果迭代次数大于k,则退出迭代,输出最优仿射矩阵r,不在内点集i中的坐标对对应的像素块视为前景块;否则迭代次数加1,并重复上述步骤。
[0091]
使用上一步求得的历史帧的仿射矩阵来预测当前帧的仿射矩阵。具体的在边缘服务器上使用第i

1,i

2,i

3,i

4,i

5帧之间的仿射矩阵r
i

2,i
‑1,r
i

3,i
‑2,r
i

4,i
‑3,r
i

5,i
‑4来预测第i

1帧和第i帧的仿射矩阵r
i

1,i
。如图3所示为一种帧间仿射矩阵预测关系示意图。
[0092]
预测可以使用dnn神经网络,该神经网络由1个输入层,1个输出层和5个隐藏层(每层有50个神经元)组成。输入为仿射矩阵r
i

2,i
‑1,r
i

3,i
‑2,r
i

4,i
‑3,r
i

5,i
‑4的4
×
6=24个参数,输出为r
i

1,i
的6个参数。
[0093]
至此,全局运动参数预测已经完成,当前待编码帧i的仿射矩阵r
i

1,i
即为视频采集端压缩编码第i帧时所需要的编码元数据。
[0094]
元数据由边缘服务器计算生成,传输给视频采集端使用。由于前景块的运动与背景块的运动不同,不能由元数据得到,因此对于前景块的坐标需要压缩后传输给视频采集端。
[0095]
需要说明的是,在全局运动参数预测过程中元数据不仅可以使用六参数,还可以使用更加简单的四参数,或者更加准确的八参数、十二参数,本实施例中对此不做限定,使用的参数越多,描述相邻帧差异越准确,但求参数的计算复杂度会更高,可以根据实际使用的数据精准度需要进行算法的配置。
[0096]
另外,上述介绍中仅以全局运动参数预测来实现元数据预测为例进行介绍,也可以选用其他的元数据计算方式,比如还可以使用除dnn神经网络外的其他深度学习方法等。本实施例中对于基于历史帧数据进行元数据预测计算的具体实现算法不做限定,可以根据实际应用场景的需要进行相应算法的配置。
[0097]
步骤s240、边缘服务器将编码元数据反馈至视频采集端;
[0098]
边缘服务器将计算生成的编码元数据发送至视频采集端,以便视频采集端根据编码元数据对当前待编码帧进行压缩处理。
[0099]
步骤s120、视频采集端根据编码元数据对视频帧图像中的当前待编码帧进行视频压缩处理,得到视频压缩数据。
[0100]
视频采集端根据编码元数据对视频帧图像中的当前待编码帧进行视频压缩处理,而具体的压缩处理的实现方式本实施例中不做限定,视频采集端使用边缘服务器传来的元数据来求当前编码帧中的像素在前一帧中的对应位置,然后将当前编码帧和前一帧对应位置像素的像素值相减得到像素残差(残差代表了当前编码帧和前一帧的差异,只需要传输这个残差到解码器,解码器就可以使用残差和已经解码的前一帧图像恢复出当前帧),将由当前编码帧图像的每个像素与前一帧图像对应位置的像素值的残差进行压缩编码,得到最终的压缩数据后进行传输。
[0101]
视频采集端使用边缘服务器传来的元数据来求当前编码帧中的像素在前一帧中的对应位置(运动补偿)的一种执行方式如下:运动补偿包括前景补偿和背景的全局运动补偿,在边缘服务器上可以只对历史帧的像素块进行了前后景分类,对于当前待编码帧i的前后景块分类可以使用双向搜索匹配的方法啦确定当前编码帧中的像素在前一帧中的对应位置。具体的一种实现步骤如下所示:
[0102]
在编码第i帧时,对于第i

1帧中的每个前景块,以前景块(实线块)为中心,尺寸为(2p+1)
×
(2p+1)个像素作为搜索窗口,如图4所示为运动补偿示意图,在第i帧图像中前向搜索该前景块的最佳匹配块(虚线块);然后以搜索到的虚线块为中心,尺寸为(2p+1)
×
(2p+1)个像素作为搜索窗口,在第i

1帧图像中反向搜索(可以采用log略搜,只需10个点)该块的最佳匹配块(灰色块)。若这个最佳匹配块(灰色块)就是实线块,则认为实线块和虚线块为位于两个相邻帧中的同一个像素块,那么虚线块便是第i帧中的前景块。这样,就可以使用第i

1帧的前后景像素块信息来划分第i帧的前后景像素块,同时得到了第i帧中的前景像素块在第i

1帧中的对应位置,对于第i帧中的后景像素块在第i

1帧中的对应位置借助元数据根据下式来求:
[0103][0104]
其中,(x
i,j
,y
i,j
)为第i帧中第j个背景块的坐标,(x
i

1,j
,y
i

1,j
)为第i帧中第j个背景块在i

1帧中对应块的坐标。a
i
,b
i
,c
i
,d
i
,e
i
,f
i
为第i帧的元数据。
[0105]
另外,由当前编码帧图像的每个像素与前一帧图像对应位置的像素值的残差进行压缩编码的一种执行方式如下:首先将视频中的每帧图像划分为4
×
4大小的像素块,例如分辨率为1280
×
720的视频的每一帧都有1280
×
720=921600个像素点,则能划分成921600/16=57600个4
×
4大小的像素块。以每个4
×
4大小的像素块作为压缩编码单位,则每个4
×
4的像素块都会生成16个残差系数需要传输,首先对这16个残差系数进行dct(discrete cosine transform:离散余弦变换)得到“能量更集中”的16个dct系数,随后将得到的16个dct系数都除以一个值(量化步长)进一步缩小得到量化系数。最后对量化系数进行熵编码得到只有0和1表示的比特流,即最终的视频压缩数据。
[0106]
在得到视频压缩数据后,重复执行上述步骤s110,直至所有视频数据压缩处理完成。
[0107]
基于上述介绍,本实施例提供的基于边缘计算的视频压缩编码处理方法中,将视频采集端的视频压缩编码处理中复杂度高,占用编码时间长的元数据计算任务转移到了计算资源更加丰富而且离视频采集端较近的边缘服务器上,既可以减轻视频采集端的视频压缩编码处理压力,可以降低视频采集端上视频编码器的编码复杂度,降低视频压缩编码耗时,提高视频采集端的续航,又可以提升处理效率,从而进一步提升响应速度;另外,该方法中在边缘处理器中对接收到的视频压缩数据进行解码还原,执行基于历史帧数据的运动搜索,根据历史帧数据对视频采集端中的当前待编码帧进行元数据预测,打破了传统方法只能在视频采集端求取元数据的壁垒,进一步提升计算效率。
[0108]
进一步地,由于上述实施例中采取的基于历史帧数据的元数据预测压缩编码方法在场景变化剧烈或者视频采集端内的运动轨迹、采集角度发生剧烈变化时可能会存在丢失目标的情况,为进一步提升视频压缩编码处理的精准度,在上述实施例提供的实现步骤的基础上,可以进一步执行以下步骤:当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,向视频采集端发送编码方式切换信号,以控制视频采集端将编码方式切换为自主编码模式进行元数据的计算以及数据压缩。
[0109]
视频采集端是通过控制端的控制器进行控制的,当控制器向视频采集端发送了改变视频采集端运动轨迹或摄像机拍摄角度的控制信号时,需要对视频编码模式进行相应的切换以达到实时稳定的视频压缩编码。具体的,在视频采集端除了使用本发明提出的基于边缘服务器辅助计算的视频压缩编码器外还预置了不基于边缘服务器辅助计算的视频压缩编码器,即视频采集端自主编码模式,该模式下为基于全局运动模型的常规编码器(所有视频压缩编码任务都在视频采集端完成)。
[0110]
基于全局运动模型的常规编码器压缩视频时具有较高的计算复杂度,但基于全局运动模型的常规编码器在视频采集端上运行,编码所需元数据只与当前编码帧和前一帧有关,不会因为历史帧与当前编码帧的差异过大造成求取的元数据不准确的问题,因此,当视频采集端拍摄的视频画面由于视频采集端的运动轨迹和摄像机角度的变化而发生剧烈变化时适应性更好,即此时其视频压缩性能更稳定。本实施例提出基于信号切换编码模式,当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,向视频采集端发送编码方式切换信号,以控制视频采集端将编码方式切换为自主编码模式进行元数据的计算以及数据压缩,以保障优良的压缩性能。
[0111]
进一步地,在上述实现方式的基础上,为了保障优良的压缩性能的同时保障压缩处理的高效性,在向视频采集端发送编码方式切换信号之前可以进一步根据控制信号判断压缩性能影响量是否超过阈值;若超过,执行向视频采集端发送编码方式切换信号的步骤;若未超过,执行接收视频采集端发送的视频压缩数据的步骤。
[0112]
该方法可以在压缩性能影响较小时不进行切换,以保障处理效率,在影响较大时为了保障数据处理效果,再进行编码方式的切换,既可以保障优良的压缩性能,又可以保障处理效率。
[0113]
需要说明的是,本实施例中对于阈值的设定不做限定,可以根据实际应用的误差需要进行设定,在此对于具体数值不做限定。
[0114]
基于上述介绍,本实施例提供的编码切换方式当视频采集端接收到来自控制端的控制器发来的改变视频采集端运动轨迹或摄像机拍摄角度的控制信号时,视频采集端将视频压缩编码方案切换为基于控制信号的视频编码模式来防止短时间视频内容变化剧烈使得边缘服务器上对元数据预测不准确造成的编码器视频压缩性能下降。
[0115]
上述实施例中提出了一种在存在影响视频压缩性能的因素存在时将编码方式切换为传统的基于视频采集端的单端视频压缩处理,针对无人机和无人船拍摄的视频具有高连续性、前景占比小和摄像机运动对运动向量的影响可预测的特点,本实施例中提出了一种与上述实施例的并列方案,在上述实施例的步骤s110至步骤s120之外,还可以进一步执行以下步骤:
[0116]
当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,基于控制信号进行元数据的预测,得到信号预测元数据;
[0117]
将信号预测元数据作为编码元数据反馈至视频采集端,以便视频采集端根据编码元数据对当前待编码帧进行压缩处理。
[0118]
根据相机的成像原理,真实世界中的某点会投影在相机的成像平面上,图像坐标系和相机坐标系下坐标的关系为:
[0119][0120]
其中(x
c
,y
c
,z
c
)为某点在相机坐标系下的坐标,(x,y)为该点在图像坐标系下对应的坐标,f为相机焦距。
[0121]
像素坐标系和图像坐标系的坐标关系为:
[0122][0123]
其中d
x
,d
y
分别是每个像素在图像平面x和y方向上的物理尺寸,单位为毫米,u0和v0是图像坐标系原点在像素坐标系中的坐标。
[0124]
建立地面坐标系,如图5所示,坐标系原点在相机正下方并位于地面上,x轴朝向正东,y轴朝向正北。地面坐标系与相机坐标系的转换可以由旋转矩阵r和位移矩阵t组成的转换矩阵实现,如下式所示:
[0125][0126]
其中(x
g
,y
g
,z
g
)为某点在地面坐标系下的坐标,旋转矩阵w由相机角度决定,位移矩阵t由相机距离地面的高度决定。
[0127]
综上,该点的地面坐标系到像素坐标系的关系如下:
[0128][0129]

[0130][0131]
则公式(8)可简写为
[0132][0133]
假设该点在下一帧中的像素坐标变为(u',v'),地面坐标变为(x'
g
,y

g
,z'
g
),转换矩阵k变为k',则有
[0134][0135]
对公式(10)(11)两式进行变换并相减,得
[0136][0137]
因为拍摄对象在地面上,所以可认为z'
g

z
g
=0,另外x'
g

x
g
和y

g

y
g
由相机的水平位移决定。同时使用仿射矩阵r描述视频中背景区域的运动,则有
[0138][0139]
将公式(13)代入公式(12)可得
[0140]
[0141]
最后根据相机的拍摄角度和离地高度确定至少三组(u,v,z
c
,z

c
),然后使用最小二乘法求解仿射矩阵r。对于前景部分的运动搜索依然使用上面运动补偿小节所提的双向搜索方法。
[0142]
上述步骤中使用特征点提取和匹配的方案,本实施例中对于基于控制信号的元数据预测方案的具体实现方式不做限定,除了使用特征点提取和匹配进行元数据预测外,还可以采用h.264/h.265等常用编码方案,对于后者,本实施例中不再详述,可以参照上述实施例的介绍以及相关技术的介绍。
[0143]
基于上述介绍,本实施例提供的编码切换方法中,视频采集端视频压缩编码器初始化默认使用基于历史帧的全局运动参数预测的视频压缩编码器,在视频采集端对控制信号进行实时分析。当发现控制信号会使视频采集端的运动或摄像机角度发生剧烈变化时,将视频编码器切换为基于全局运动模型的常规编码器或使用基于控制信号的全局运动参数计算的视频压缩编码器来避免视频压缩性能下降。当视频采集端的运动轨迹和摄像机角度变化稳定后再将视频编码器切换为基于历史帧的全局运动参数预测的视频压缩编码器,在保证视频压缩质量的同时保证视频采集端视频压缩编码的低计算复杂度。
[0144]
为加深理解,下面以具有机载摄像机的无人机(作为视频采集端)为例对整体视频压缩编码处理过程进行介绍。
[0145]
首先,无人机通过机载摄像机持续拍摄视频,位于无人机上的视频编码器使用边缘服务器传输来的元数据对拍摄的视频进行压缩编码得到视频压缩数据,随后视频压缩数据被传输到边缘服务器上。边缘服务器将压缩数据中转给控制端(控制端例如带屏幕的无人机遥控器),控制端可以将压缩数据恢复为原始视频并播放或者储存,同时边缘服务器也会将压缩数据恢复为原始视频用于预测无人机上同一视频的待压缩序列的元数据,预测的元数据会被传输回无人机,形成循环,即无人机给边缘服务器视频压缩数据,边缘服务器返回给无人机元数据。
[0146]
当无人机接收到遥控器发来的改变无人机运动轨迹和机载摄像机角度的控制信号时,将视频压缩编码切换为基于控制信号的全局运动参数计算的视频压缩编码模式,待无人机运动稳定后再切换为基于历史帧的全局运动参数预测的视频压缩编码器,并通知边缘服务器恢复预测元数据的工作。
[0147]
需要说明的是,本申请提供的基于边缘计算的视频压缩编码处理方法可以应用于无人机拍摄的视频,还可以应用于其他各种带摄像机的无人系统,包括无人船,无人车,监控器等,对于本申请所应用的技术场景在此不做限定,仅以无人机拍摄为例进行介绍,其它应用场景下的实现方式均可参照本实施例的介绍,在此不再赘述。
[0148]
请参考图6,图6为本实施例提供的应用于边缘服务器的基于边缘计算的视频压缩编码处理装置的结构框图;主要包括:转发解码单元110、历史存储单元120、元数据计算单元130以及元数据反馈单元140。本实施例提供的基于边缘计算的视频压缩编码处理装置可与上述基于边缘计算的视频压缩编码处理方法相互对照。
[0149]
其中,转发解码单元110主要用于接收到视频采集端发送的视频压缩数据后,将视频压缩数据转发至控制端,并对视频压缩数据进行解码还原;
[0150]
历史存储单元120主要用于将解码还原后得到的帧数据作为历史帧数据进行存储;
[0151]
元数据计算单元130主要用于根据历史帧数据对视频采集端中的当前待编码帧进行元数据预测,得到编码元数据;
[0152]
元数据反馈单元140主要用于将编码元数据反馈至视频采集端,以便视频采集端根据编码元数据对当前待编码帧进行压缩处理。
[0153]
可选地,元数据计算单元130具体可以为全局运动参数预测单元,全局运动参数预测单元主要用于:根据历史帧数据对视频采集端中的当前待编码帧进行全局运动参数预测,并将全局运动参数预测得到的仿射矩阵作为当前待编码帧的编码元数据。
[0154]
可选地,基于边缘计算的视频压缩编码处理装置中可以进一步包括:第一切换处理单元,第一切换处理单元主要用于:当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,向视频采集端发送编码方式切换信号,以控制视频采集端将编码方式切换为自主编码模式进行元数据的计算以及数据压缩。
[0155]
可选地,第一切换处理单元在向视频采集端发送编码方式切换信号之前,还可以进一步用于:根据控制信号判断压缩性能影响量是否超过阈值;若超过,执行向视频采集端发送编码方式切换信号的步骤;若未超过,执行接收视频采集端发送的视频压缩数据的步骤。
[0156]
可选地,基于边缘计算的视频压缩编码处理装置中可以进一步包括:第一切换处理单元,第一切换处理单元主要用于:当接收到控制端发送的改变视频采集端拍摄方式的控制信号后,基于控制信号进行元数据的预测,得到信号预测元数据;将信号预测元数据作为编码元数据反馈至视频采集端,以便视频采集端根据编码元数据对当前待编码帧进行压缩处理。
[0157]
请参考图7,图7为本实施例提供的应用于视频采集端的基于边缘计算的视频压缩编码处理装置的结构框图;主要包括:元数据接收单元210、压缩处理单元220以及数据发送单元230。本实施例提供的基于边缘计算的视频压缩编码处理装置可与上述基于边缘计算的视频压缩编码处理方法相互对照。
[0158]
其中,元数据接收单元210主要用于接收边缘服务器发送的编码元数据;其中,编码元数据为边缘服务器根据历史帧数据进行元数据预测处理得到;
[0159]
压缩处理单元220主要用于根据编码元数据对视频帧图像中的当前待编码帧进行视频压缩处理,得到视频压缩数据;
[0160]
数据发送单元230主要用于将视频压缩数据发送至边缘服务器,以便调用边缘服务器根据视频压缩数据转发至控制端以及根据视频压缩数据进行编码元数据的计算。
[0161]
请参考图8,图8为本实施例提供的一种基于边缘计算的视频压缩编码处理系统的结构框图;主要包括:视频采集端、边缘服务器以及控制端。本实施例提供的基于边缘计算的视频压缩编码处理系统可与上述基于边缘计算的视频压缩编码处理方法相互对照。
[0162]
其中,视频采集端以及边缘服务器所完成的工作如上述方法实施例中所示,在此不再赘述。需要说明的是,本实施例中对于边缘服务器的数量不做限定,可以采用一台,也可以采用若干台进行协同计算,可以根据实际使用的需要进行相应设定。
[0163]
控制端用于接收边缘服务器发送的视频压缩数据进行解压播放处理,其中图8中控制端向边缘服务器发送的控制信号为检测到存在影响视频压缩性能的因素存在时提示边缘服务器以及视频采集端的信号,本实施例中对于该控制信号的响应方式不做限定,当
然为了简化控制流程,控制器也可以不发送控制信号,可以根据实际使用的需要进行相应设定。
[0164]
为加深理解,本实施例中提供一种基于边缘计算的视频压缩编码处理系统的整体协同工作示意,如图9所示为一种基于边缘计算的视频压缩编码处理系统的工作示意图。
[0165]
其中视频采集端和边缘服务器联合完成视频采集端采集的视频的压缩编码。控制端可以解码并播放视频采集端采集的视频、控制视频采集端的移动轨迹和摄像机的拍摄角度。
[0166]
系统中5个主要组成功能模块包括:编码器、解码器、全局运动参数预测、运动补偿模块和基于控制信号的编码模式切换模块。
[0167]
其中,编码器位于视频采集端中,主要用于将由当前编码帧图像的每个像素与前一帧图像对应位置的像素值的残差进行压缩编码为最终的压缩数据后进行传输。
[0168]
解码器位于边缘服务器和控制端。在控制端,接收到视频压缩数据后进行视频数据的解压缩后可直接播放。在边缘服务器上,接收到视频采集端发送的视频压缩数据后,对压缩数据进行解压缩得到原始帧图像并保存在边缘服务器上用于预测下一帧的像素数据,最后解码出来的像素值被存入缓存中作为历史帧数据以供边缘服务器中全局运动参数预测元数据使用。
[0169]
全局运动参数预测模块位于边缘服务器中,主要用于根据边缘服务器上已保存的历史帧数据得到视频中物体的运动趋势来预测视频采集端当前正在编码的帧的元数据。
[0170]
运动补偿模块位于视频采集端中,主要包括前景补偿和背景的全局运动补偿,在边缘服务器上只对历史帧的像素块进行了前后景分类,对于当前待编码帧i的前后景块分类可以使用双向搜索匹配的方法。
[0171]
基于控制信号的编码模式切换视频采集端是通过控制端的控制器进行控制的,当控制器向视频采集端发送了改变视频采集端运动轨迹或摄像机拍摄角度的控制信号时,需要对视频编码模式进行相应的切换以达到实时稳定的视频压缩编码。
[0172]
本实施例中仅以上述系统协同工作方式为例进行介绍,其它基于本申请提供的基于边缘计算的视频压缩编码处理系统的工作流程均可参照上述介绍,在此不再赘述。
[0173]
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述实施例介绍的基于边缘计算的视频压缩编码处理方法的步骤,具体可参照上述实施例中对基于边缘计算的视频压缩编码处理方法的介绍。
[0174]
该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
[0175]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0176]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0177]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
[0178]
以上对本申请所提供的基于边缘计算的视频压缩编码处理方法、装置、系统及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1