CN117596376B - 360度视频智能边缘传输方法、系统、穿戴设备及介质 - Google Patents
360度视频智能边缘传输方法、系统、穿戴设备及介质 Download PDFInfo
- Publication number
- CN117596376B CN117596376B CN202410071328.6A CN202410071328A CN117596376B CN 117596376 B CN117596376 B CN 117596376B CN 202410071328 A CN202410071328 A CN 202410071328A CN 117596376 B CN117596376 B CN 117596376B
- Authority
- CN
- China
- Prior art keywords
- group
- video
- intra
- code rate
- inter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 38
- 230000009471 action Effects 0.000 claims description 65
- 230000002787 reinforcement Effects 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 17
- 230000000246 remedial effect Effects 0.000 claims description 15
- 230000003139 buffering effect Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 3
- 230000000007 visual effect Effects 0.000 abstract description 3
- 239000003795 chemical substances by application Substances 0.000 description 44
- 230000000875 corresponding effect Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000005067 remediation Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 235000012308 Tagetes Nutrition 0.000 description 1
- 241000736851 Tagetes Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
Abstract
本发明提供的360度视频智能边缘传输方法、系统、穿戴设备及介质,具体涉及信息通信技术领域,方案包括:将目标360度视频划分为连续的图像组,每个图像组包括若干个由若干个视频块组成的视频帧;基于预设的视频流传输约束条件,确定组间码率和组内码率;在当前图像组播放前,利用组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;在当前图像组实时播放期间,获得当前图像组中每个视频帧的真实视场,从而获得缺失的视频块,并对缺失的视频块进行补救之后播放。该方案能够在用户视场和无线信道随机改变的情况下,保障整个360度视频的各个视频帧连续播放过程中平滑过渡,提升用户观感。
Description
技术领域
本发明涉及信息通信技术领域,尤其涉及的是一种360度视频智能边缘传输方法、系统、穿戴设备及介质。
背景技术
随着虚拟现实(Virtual Reality,VR)和元宇宙(Metaverse)应用技术的快速发展,目前,360度全景视频已成为多媒体内容展示的主要形式之一,360度全景视频能够使用户置身于沉浸式的环境中,从而大大改善了用户对穿戴设备(Head-mounted Displays)的使用体验效果。由于数据传输过程中存在信道衰落效应,在无线信道上传输360度视频可能会导致较大的延迟和延迟抖动。为了确保顺畅平滑的实时视频渲染,可以在头戴式现实设备上设置播放缓冲区,并且实时处理的视频文件会由发射器提前发送,并预先缓存到穿戴设备的播放缓冲区中。
传统的360度视频流的自适应方案以段为单位对视频文件进行编码和传输,而不区分像素级别的编码率。然而,以高分辨率传输整个360度视频的所有像素既昂贵又不必要。用户在任何时候只能观看整个360度视频的一小部分,称为用户的视场(Field ofView,FoV),其由用户的穿戴设备在垂直和水平方向上的方向表示,FoV的中心称为视点。因此,基于视频块的自适应360度视频传输可以预测视场并仅传输用户FoV内的视频块,从而有效减少传输冗余。
现有技术中采用的基于视频块的自适应360度视频传输方案,主要是根据用户观看信息实时预测用户的观看视点,同时进行视频帧可视概率计算,并结合用户的网络条件和视频帧被用户观看的概率,缓存部分视频帧,以改善用户体验。然而,在大多数情况下,由于不同用户往往具有不同的观看习惯,因此不可避免地存在预测的FoV和用户看到的真实FoV不完全匹配的情况,使得用户要观看的部分视频帧并未缓存,使得360度视频流在传输整个视频帧的过程中无法快速适应用户的视场变化,从而导致用户体验质量较低。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种360度视频智能边缘传输方法、系统、穿戴设备及介质,旨在解决现有技术中存在的由于预测的FoV和用户看到的真实FoV不完全匹配,致使360度视频在传输过程中无法快速适应用户的视场变化的问题。
为了实现上述目的,本发明第一方面提供一种360度视频智能边缘传输方法,包括:
获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
基于预设的视频流传输约束条件,确定组间码率和组内码率;
在当前图像组播放前,利用所述组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;
在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照组间码率对所述缺失的视频块进行补救,获得组内补救的视频块;
将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频。
可选的,所述基于预设的视频流传输约束条件,确定组间码率和组内码率,包括:
对所述当前图像组中的各个视频块进行编码,获得若干个码率;
基于预设的视频流传输约束条件,构建组间码率决策模型,并利用所述组间码率决策模型基于所有所述码率进行学习,确定组间码率;
基于预设的视频流传输约束条件,构建组内码率决策模型,并利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率。
可选的,所述基于预设的视频流传输约束条件,构建组间码率决策模型,包括:
获取所述目标360度视频中剩余的图像组和信道增益,基于所述剩余的图像组、所述信道增益,传输上一图像组对应的组间码率和所述预测视场对应的视频块数量,获得组间状态;
基于所述组间状态和所述视频流传输约束条件,利用预设的第一强化学习算法进行学习,构建组间码率决策模型。
可选的,所述基于预设的视频流传输约束条件,构建组内码率决策模型,包括:
获取所述当前图像组中各个所述视频帧的传输时间和剩余的视频帧的数量,以及所述预测视场中的剩余待缓存的视频帧的数量和信道增益;
基于所述信道增益、所述组间码率、所述组间缓存的视频块、所述缺失的视频块、所述剩余的视频帧的数量,传输上一个视频帧对应的组内码率和所述剩余待缓存的视频帧的数量,获得组内状态;
基于所述组内状态和所述视频流传输约束条件,利用预设的第二强化学习算法进行学习,构建组内码率决策模型。
可选的,所述利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率,包括:
基于所有所述码率,利用组内码率决策模型对所述组内状态进行决策,获得组内动作;
初始化所述第二强化学习算法的参数,利用所述第二强化学习算法的参数、所述组内状态和所述组内动作,构建目标网络;
以最大化所述目标网络的最佳组内动作为目标,利用所述第二强化学习算法的参数、所述组内动作和所述组内状态对所述目标网络进行迭代学习,获得最佳组内动作;
基于所述最佳组内动作以及所述最佳组内动作对应的组内状态,确定组内码率。
可选的,所述按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块,包括:
基于所述缺失的视频块和所述组内码率,获得待补救的视频数据的大小;
获取每个所述视频帧的传输速率和每个所述视频帧的传输时间,基于所述视频帧的传输速率、所述视频帧的传输时间、所述组内码率及所述待补救的视频数据的大小,获得组内补救的视频块。
可选的,在所述获得组内补救的视频块之后,还包括计算成功缓存的视频块数量,所述成功缓存的视频块数量的求解过程,包括:
基于所述组内补救的视频块、所述视频帧的传输速率、所述视频帧的传输时间和所述组内码率,计算每个所述视频帧对应的补救传输花费的时间;
基于所有所述视频帧的传输时间和所有所述视频帧对应的补救传输花费的时间之差,获得传输缓存数据的总时间;
基于所述视频帧的传输速率和所述传输缓存数据的总时间,确定成功缓存的视频块数量。
本发明第二方面提供一种360度视频智能边缘传输系统,所述系统包括:
信息获取模块,用于获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
码率自适应模块,用于基于预设的视频流传输约束条件,确定组间码率和组内码率;
组间缓存模块,用于在当前图像组播放前,利用所述组间码率缓存预测视场对应的视频块,获得组间缓存的视频块;
真实视场获取模块,用于在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
组内补救模块,用于基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块;
360度视频播放模块,用于将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频。
本发明第三方面提供一种穿戴设备,所述穿戴设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的360度视频智能边缘传输程序,所述360度视频智能边缘传输程序被所述处理器执行时实现任意一项上述360度视频智能边缘传输方法的步骤。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有360度视频智能边缘传输程序,所述360度视频智能边缘传输程序被处理器执行时实现任意一项上述360度视频智能边缘传输方法的步骤。
与现有技术相比,本方案的有益效果如下:
本发明通过将目标360度视频划分为固定播放间隔的图像组,其中每个图像组由若干个视频帧组成,并基于预设的视频流传输约束条件,自适应确定组间码率和组内码率;在每个图像组播放之前预测下一个图像组的预测视场,并分配一个组间码率来缓存预测视场内的视频块;在当前图像组实时视频播放期间,获取用户的真实视场;基于组间缓存的视频块和真实视场,获得缺失的视频块,并按照组内码率对缺失的视频块进行实时补救传输,以补偿上一个图像组中预测视场的误差,从而在用户视场和无线信道随机改变的情况下,保障整个360度视频流的各个视频帧连续播放过程中平滑过渡,提升用户观感。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的360度视频智能边缘传输方法流程图;
图2为本发明的基于多接入边缘计算的两阶段360度视频流系统示意图;
图3为本发明的基于视频块的自适应360度视频的分块和编码示意图;
图4为本发明的支持基于多接入边缘计算的360的视频流系统的帧结构示意图;
图5为本发明的预测视场中视频块的缓存顺序和各种视频块集合的实例示意图;
图6为本发明的组内智能体的对决网络示意图;
图7为本发明的组间智能体的对决网络示意图;
图8为本发明的双智能体两阶段码率分配算法示意图;
图9为本发明的360度视频智能边缘传输系统模块示意图;
图10为本发明的穿戴设备结构示意图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明面对现有的由于预测的FoV和用户看到的真实FoV不完全匹配,致使360度视频在传输过程中无法快速适应用户的视场变化的问题,在实际应用中,随机视场预测误差和无线信道衰落影响严重降低了基于视频块的边缘流性能。为了解决这些问题,本文提出了一种360度视频智能边缘传输方法,该方法主要是:将视频文件划分为固定播放间隔的图像组(GOPs),其中每个GOP由若干个视频帧组成。在每个GOP播放之前,利用边缘服务器预测下一个GOP的FoV,并分配一个组间码率来缓存预测FoV内的视频块到用户的穿戴设备。然后,在当前GOP中的视频帧实时播放期间,利用边缘服务器观察用户的真实FoV,并对真实FoV内缺失的视频块进行实时补救传输,以补偿对FoV的预测误差。该方法能够有效地增强360度视频的传输性能,最大限度地提高用户的体验质量,从而实现平滑稳定和高分辨率的视频播放效果。
本发明实施例提供一种360度视频智能边缘传输方法,部署于电脑、服务器、穿戴设备等电子设备上,应用场景为穿戴设备,针对的是利用穿戴设备播放360度视频的情况。上述穿戴设备的类型不做限制,可以是头戴式穿戴设备、智能音频眼镜、智能手表和智能衣服等等。具体的,如图1和图2所示,本实施例方法的步骤包括:
步骤S100:获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
具体地,本实施例基于多接入边缘计算(Multi-Access Edge Computing,MEC)技术,通过将用户的穿戴设备连接到智能MEC平台,利用边缘服务器(Edge Server,ES)形成的边缘网络预测用户的视场(Field of View,FoV),并且在预测FoV内把高分辨率的视频块传输到穿戴设备,从而在受限的无线信道容量下改善用户的观看体验。如图2所示,考虑一个无线边缘计算网络,为用户提供自适应360度视频服务。该网络由一台边缘服务器和一个穿戴设备对应的用户组成。其中,目标360度视频由边缘服务器发送至用户使用的穿戴设备。利用边缘服务器实现边缘端码率自适应,包括对目标360度视频进行分块和编码,对用户下一图像组的FoV进行预测获得预测FoV,进而实现组间码率和组内码率分配。在用户端实现码率自适应,包括通过下载缓冲区实现对下一个GOP内预测FoV中的视频块进行缓冲,然后根据预测FoV中缓冲的视频块和真实FoV中播放的视频块进行FoV匹配操作,确定出匹配的视频块和丢失的视频块,然后针对丢失的视频块发出补救请求,以进行补救操作,最后将补救的视频块和缓存的视频块进行拼接之后渲染,通过用户不断调整视野对播放的视频帧进行追踪,实现对播放的目标360度视频进行观看的过程。
值得注意的是,虽然该网络针对单用户而设计,在实际应用中,通过为不同的用户分配专用的边缘计算资源和正交的通信带宽,所考虑的单用户网络可以很容易地推广到多用户的情况。
为了方便存储和传输360度视频,对视频源数据进行了预处理。如图3所示,使用等矩形投影方法(Equi-rectangular Projection,ERP)把360度球形视频(Spherical Video)投影成长方形2-D平面视频(Rectangular 2-D Planer Video),并将其编码成不同码率的视频块存储在边缘服务器中。经过预处理后,360度视频数据在时间域、空间域、以及码率编码方面具有以下特征:
(1)在时间域:原始360度视频在时间域被分成个连续的图像组(GOPs),也被称为视频段(Segments),每个图像组有固定的播放时间为/>,例如1秒。每个图像组包含/>个连续的图片,称为视频帧(Video Fram边缘服务器),每个视频帧持续的时间为/>。相应地,一个360度视频内GOP的索引为1到/>,每个图像组中视频帧的索引为1到/>。
(2)在空间域:每个GOP均被划分为个视频块。记视频块的行列的集合分别为/>和/>。相应地,第/>行和第/>列的视频块可表示为/>,其中,/>。
(3)多码率编码:记视频可采用的码率编码集合为,其中,单位为bits/s/tile,/>代表集合的基数。在边缘服务器端,针对每个视频块都具有/>或/>个相应的编码数据备份。
值得注意的是,上述360度视频的分块和编码过程提前离线完成,不同码率的视频分块存储在边缘服务器中,可以直接用于实时视频传输,而不会产生额外的计算延迟。
步骤S200:基于预设的视频流传输约束条件,确定组间码率和组内码率;
具体地,基于边缘服务器端和用户端的网络情况以及各个时刻待传输的360度视频数据的大小等,预设视频流传输约束条件,并根据预设的视频流传输约束条件,自适应得到各个时刻下的组间码率和组内码率,以在自适应边缘服务器端和用户端的之间信道传输速率的同时,使得播放的360度视频的清晰度和流畅度尽量在各个时刻得到平衡。
步骤S300:在当前图像组播放前,利用所述组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;
具体地,利用边缘服务器端中的视场预测模块,在播放上一个图像组的过程中对当前图像组的视场进行预测,获得当前图像组的预测视场。在当前图像组的第一个视频帧播放前,根据当前时刻预测出的预测视场和自适应得到的组间码率,将存储在边缘服务器端的预测视场所对应的视频块进行缓存,使得用户端获得组间缓存的视频块,以将即将播放的图像组中的若干个视频帧提前缓存到用户端,有利于保障360度视频播放的流畅度。
需要声明的是,在组间阶段,首先是使用视场预测模块预测下一图像组的视场,获得预测视场内所对应的视频块,然后使用组间码率决策出一个组间码率,按照该组间码率把预测视场内所对应的视频块缓存到用户端。可知,在执行步骤S200之前已经完成了对下一图像组的视场的预测过程。
步骤S400:在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
具体地,在用户端实时播放当前图像组期间,通过对用户的特定身体部位的运动轨迹的追踪获得用户的视点,根据用户在播放每个视频帧的视点,得到与每个视点一一对应的真实视场。这里追踪的特定身体部位和穿戴设备的佩戴部位保持一致。需要声明的是,由于每个视频帧持续时间较短,通常可以得到下一视频帧FoV的准确估计,因此将当前播放的视频帧对应的真实视场作为下一视频帧的预测视场。
步骤S500:基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块;
具体地,由于根据组间码率对预测视场中的视频块进行缓存的过程中,可能会出现部分真实视场中的视频块没有被缓存的情况,这里将真实视场中没有匹配成功的视频块称为缺失的视频块。本发明为了提高缓存的视频块和真实视场中的视频块的匹配度,在当前图像组中的最后一个视频帧或者倒数若干个视频帧播放过程中,即在组内阶段,先根据真实视场中的视频块和已缓存的预测视场中的视频块的对比结果,确定丢失的视频块,然后按照决策出的组内码率对缺失的视频块进行补救缓存,获得组内补救的视频块,再利用剩余的时间缓存下一个图像组中的视频帧,以尽量保证真实视场中的视频块都能被提前缓存。
步骤S600:将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频。
具体地,在补救缓存之后,将组间缓存的视频块和组内补救的视频块进行自动合并,得到合并后的360度视频,该合并后的360度视频基几乎包括所有的真实视场中的视频块,然后将合并后的360度视频进行渲染之后进行播放,以保证用户端在连续的视频帧中实现对360度视频的平缓播放。
例如,基于已知的无线信道,为保证360度视频的高效传输,本实施例提出一个基于视频块的两阶段联合预缓存与实时补救的360度视频传输方案,所提出方案的时间轴和帧结构如图4所示。
从图4中可以看出,在第个GOP开始时,服务器预测第/>个GOP的FoV,并对预测FoV进行码率分配,同时在当前图像组GOP的播放过程中对所选码率的视频文件进行缓存。同时,在视频播放过程中,获取当前播放GOP内每一帧的真实FoV,服务器发送额外的视频文件来对缓存的FoV和真实FoV之间缺失的视频块进行补救性传输。容易理解的是,本实施例中出现的视频文件指的是目标360度视频中的全部或部分,具体结合上下文即可确定;本实施例中出现的服务器指的是用于给穿戴设备发送目标360度视频(即视频文件)的边缘服务器。
具体操作如下所示:
(1)FoV预测:为了实现高精度预测用户在下一个GOP内观看的视频内容,在边缘服务器部署一个FoV预测模块,该模块在第个GOP开始播放之前预测用户第/>个GOP的FoV,并用/>来表示第/>个GOP的预测FoV中的视频块集合。需要注意的是,用户真实FoV可能在GOP内的不同帧之间有所变化。在这里,只对下一个GOP中的所有/>个视频帧进行单个视点预测,以简化GOP间的处理。
(2)组间码率自适应(Inter-GOP bitrate adaption)和传输:在预测FoV后,边缘服务器可以为个视频帧识别/>内相应的视频块,并在码率集合/>中选择码率来传输/>中的视频块。然后,边缘服务器将在第/>个GOP的播放时间内以基于视频块的方式发送该集合到用户。具体来说,假设/>个视频帧中相同位置的视频块,边缘服务器将传输与所有/>个视频帧相对应位置处的视频块/>的数据,也把/>个视频块/>中的数据均传输给用户,然后继续传输与另一个视频块相对应的数据。由于无线传输速率的限制,边缘服务器可能无法传输中所有的视频块,如图5所示,图中/>表示成功传输并缓存到穿戴设备的第/>个GOP的视频块集合,/>表示第/>个GOP中第/>个视频帧丢失的视频块集合,真实FoV中没有成功匹配的视频块,即丢失的视频块,/>表示第/>个GOP中第个视频帧匹配的视频块集合。/>表示GOP的索引,/>,/>表示视频帧的索引,/>,/>表示GOP的数量。
(3)组内码率自适应(Inter-GOP bitrate adaption)和传输:在每个GOP内,用户真实FoV会在不同帧之间发生变化。在第个GOP中第/>帧的开始时刻,观察用户实时FoV。由于每个视频帧持续时间较短,假设可以同时得到下一帧FoV的准确估计,记为/>。因此,如图5所示,通过比较/>和已缓存到穿戴设备的视频块集合/>,计算出第/>个视频帧中匹配的视频块/>和缺失的视频块/>的集合,即:
(1),
(2),
其中,,/>表示第/>个GOP成功缓存的视频块集合,在第/>个GOP中第/>个视频帧播放期间观测得到。然后,边缘服务器分配码率/>给缺失的视频块,并传输到用户的穿戴设备中。需要声明的是,在第/>个视频帧内,先传输下一个视频帧的丢失的视频块,然后再利用每一帧剩余的时间传输下一段的缓存(/>),以保证穿戴设备可以在连续的视频帧中完成平缓的播放。
本实施例中,通过将目标360度视频划分为固定播放间隔的图像组,其中每个GOP由若干个视频帧组成。在GOP间阶段,边缘服务器在每个GOP播放之前预测下一个GOP的预测FoV,并分配一个组间码率来缓存预测FoV内的视频块到用户的穿戴设备。然后,在GOP内阶段,当前图像组GOP实时视频播放期间,边缘服务器观察用户每帧真实FoV,并对缺失的视频块进行实时补救传输,以补偿上一个GOP中预测FoV的误差,并为每个视频帧分配一个组内码率进行播放,从而在用户FoV和无线信道随机改变的情况下,保障整个360度视频流的各个视频帧连续播放过程中平滑过渡,提升用户观感。
在一种实施方式中,步骤S200中的基于预设的视频流传输约束条件,确定组间码率和组内码率,包括:
步骤S210:对所述当前图像组中的各个视频块进行编码,获得若干个码率;
具体地,在视频流传输之前,会根据无线信道的传输速率设置几种码率,并将视频流中的各个图像组中的各个视频块进行编码,备份所设置的几种码率下的视频块,以便于后续从预存的码率中选取其中一种码率进行传输并播放。
步骤S220:基于预设的视频流传输约束条件,构建组间码率决策模型,并利用所述组间码率决策模型基于所有所述码率进行学习,确定组间码率;
步骤S230:基于预设的视频流传输约束条件,构建组内码率决策模型,并利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率。
具体地,本实施例基于多接入边缘计算(Multi-Access Edge Computing,MEC)技术,提出组间缓存和组内传输两阶段视频流方案,该方案的目标是在时变视场和无线信道条件下最大化预期的用户体验质量QoE。其中,用户体验质量(Quality of Experience,QoE)的评价指标包括平均视口质量、时间尺度质量变化和空间尺度质量变化,并将这三个指标作为预设的视频流传输约束条件。三个指标的具体构建过程如下:
第一个指标是平均视口质量,它受到每帧中匹配视频块和缺失的视频块的码率的影响。对于第个GOP中第/>个帧,给定码率为/>的预缓存视频块集合/>和/>个码率为/>补救视频块,第一个指标的定义为:
(3),
其中,是非递减的凹函数,代表视频质量的效用函数,例如对数函数,/>表示第/>个GOP中第/>个视频帧真实的视频块集合,/>表示组间阶段第/>个GOP的决策码率,表示第/>个GOP中第/>个视频帧成功传输的丢失视频块数量。定义/>,。如图5所示,观察到/>与/>中视频块的传输顺序相关,而/>与/>中视频块的传输顺序无关。同时,通过观察可知,/>可能成立。也就是说,当应用所提出的两阶段流方案时,真实FoV中的一些视频块仍然可能丢失,即存在补救不完的情况。在本实施例中,假定将缺失的视频块设置为零效用,也就是缺失的视频块不参与计算平均视口质量。
由于两个连续视频帧之间的FoV质量突然变化会降低用户的QoE,因此,这里将用户体验质量在时间尺度上的变化作为第二个QoE的度量指标,其定义为:
(4),
这里,定义作为该GOP的起始条件,表示前一个GOP的最后一个视频帧和当前GOP的第一个视频帧之间不存在用户体验质量在时间尺度上的变化,也就是相邻GOP之间不存在用户体验质量在时间尺度上的突变。
第三个QoE的度量指标是视频帧内的空间质量变化,定义如下:
(5),
其中,为视频帧中真实FoV内所有视频块的码率集合,其中的元素为个/>码率,/>个/>码率,/>个0码率。分子中的项/>表示真实FoV内视频块码率集合的标准差,而分母中的项/>表示真实FoV视频块码率集合的平均值。
因此,综合上述三个指标,第个GOP中第/>个视频帧的总体QoE可表示为:
(6),
其中,,/>,/>表示和视口质量,时间尺度质量变化和空间尺度质量变化相关的非负的加权系数,/>,相应地,第/>个GOP的QoE定义为:
(7),
很显然,实时的QoE与组间阶段和组内阶段的码率分配情况都有关,因此,需要联合优化两个阶段进行在线码率分配。
由以上分析可知,要以最大化用户体验质量为目标,需要共同优化预测视场,以及组间缓存和组内传输两个阶段的在线码率分配。基于此优化目标构建如下目标函数,即:
(8),
那么,需要优化的变量为:预测视场、组间码率/>和组内码率/>,这三部分的决策/>在第/>个GOP的两个阶段中完成。首先,在第/>个GOP开始播放之前,预测下一个GOP的视频块集合,并决定预缓存传输码率/>。然后,在第/>个GOP的每个视频帧/>内确定补救传输码率(即组内码率)/>。
需要声明的是,虽然这三个变量在不同的时间尺度上做出决策,但是变量间存在相互耦合。此外,真实FoV和无线信道条件具有随机性和时变性,使得两阶段的在线码率决策过程非常复杂。其中,对FoV的预测可以采用现有的方法实现,比如采用最后的已知视点(Last Know Viewpoint)、球面行走(Spherical Walk)、线性回归或者卷积神经网络(Convolutional Neural Network,CNN)等等方法。
本实施例假设FoV预测值是已知的,重点在于基于强化学习的双智能体自适应码率分配,首先,把组间和组内的码率自适应问题分别建模成两个马尔可夫决策过程(Markov Decision Proc边缘服务器s,MDP)。然后,提出一个双智能体深度强化学习框架来实时分配基于视频块的传输码率。具体地:基于预设的视频流传输约束条件和备份的几种编码码率,构建组间码率决策模型和组内码率决策模型,并利用所述组间码率决策模型进行学习,获得自适应组间码率,以及利用组内码率决策模型进行学习,获得自适应组内码率,以使得在实时播放360度视频流期间系统能够自适应分配组间码率和组内码率。
本实施例中,为了便于基于视频块的360度视频传输,首先将视频文件分成一系列具有固定播放时间的小图片组。然后,在MEC系统的支持下,提出一个两阶段的视频流方案,包括一个GOP间(Inter-GOP)和一个GOP内(Intra-GOP)阶段。具体而言,在组间阶段,边缘服务器在当前GOP开始时预测下一个GOP的FoV。同时,边缘服务器为预测的FoV分配一个传输码率,并将预测FoV内相应的视频块预缓存到用户的穿戴设备,以实现平滑的实时渲染。在组内阶段,即视频的实时渲染阶段,边缘服务器在GOP中观察用户每帧的真实FoV,并对每一帧视频的真实FoV内缺失的视频块进行实时补传,以补偿上一个GOP中FoV的预测误差。与传统的仅仅只有缓存的视频流方案相比,本技术方案采用预缓存和实时传输机制,能够有效改善平滑渲染,减轻视场预测误差引起的用户感知的QoE下降,并能有效地适应无线信道的变化。
在一种实施方式中,步骤S220中的基于预设的视频流传输约束条件,构建组间码率决策模型,包括:
步骤S221:获取所述目标360度视频中剩余的图像组和信道增益,基于所述剩余的图像组、所述信道增益、传输上一图像组对应的组间码率和所述预测视场对应的视频块数量,获得组间状态;
步骤S222:基于所述组间状态和所述视频流传输约束条件,利用预设的第一强化学习算法进行学习,构建组间码率决策模型。
具体地,本实施例将组间码率决策问题建模为一个组间码率决策模型,即马尔可夫决策过程,用一个四元素的元组表示为。这四个元素分别表示为组间状态(State)、组间动作(Action)、转移概率(Transition Functio)和组间奖励(Reward)。具体如下:
(1)组间状态:获取目标360度视频中剩余的图像组和信道增益,基于所述剩余的图像组、所述信道增益、传输上一图像组对应的组间码率和所述预测视场对应的视频块数量,获得组间状态。在第个GOP的开始,360度视频流系统观测到组间状态可表示为:
(9),
其中,,/>是/>存在的数域空间,/>是正整数空间,/>是码率空间,即码率集合R,/>代表该视频剩下GOPs的数量,/>代表第/>组预测FoV内视频块的数量,由预测模块的输出结果/>决定。实际上,在俯仰角和航偏角度较小的时候,/>数量较少,反之数量较大。/>代表第/>个GOP缓存的码率,由上一个GOP,即第/>个GOP的码率决策动作决定。
(2)组间动作:利用预设的第一强化学习算法基于组间状态进行学习得到组间动作,组间智能体决定预测FoV中视频块的离散码率,表示为:
(10)。
(3)组间转移概率:由于用户的FoV和边缘视频传输是相关独立的,因此转移概率函数可以被描述成:
(11),
其中,和/>分别代表第/>和第/>个GOP的信道增益,/>和/>代表第/>组和第/>组预测FoV内视频块的数量,/>表示概率。
(4)奖励函数:在组间码率自适应阶段,定义奖励函数为:
(12),
其中,,/>,/>是非负的加权系数。式(19)中前两项分别表示视频播放的预期质量增益和质量变化的预期退化损失,第三项与下一个GOP的重新缓冲损失有关。在第/>个GOP中第/>个视频帧,边缘服务器首先传输大小为/>补救视频文件,然后在帧的剩余时间内(如果有的话)传输第/>个GOP的缓存视频文件。因此,采用/>代表第/>个视频帧内实际缓存的视频数据量,表达式为:
(13),
其中,表示组内阶段第/>个GOP中第/>个视频帧的决策码率,/>表示第/>个GOP的传输比特率。
由于用户的FoV在GOP内是随机变化的,在第/>个GOP的不同帧之间是不同的,实际缓存到用户头戴式设备的视频文件在当前GOP的最后时间才知道。因此,采用/>代表经过/>个视频帧后,剩余的需要缓存的数据量,即:
(14),
其中,表示在第/>个GOP中需要缓存到用户的视频数据的大小,即/>,/>表示预测的FoV的视频块集合,/>表示组间码率,/>。特别地,当公式中/>时,/>代表在经过第/>个GOP最后剩下的还没缓存的视频数据量。直观地看,如果/>,则该码率决策不会导致重缓冲损失,从而说明边缘服务器在GOP内完整向用户穿戴设备传输整个缓存数据。否则,缓存传输是不完整的,应在决策后为决策追加处罚以鼓励缓存传输成功。因此,引入一个指示函数/>作为奖励函数(即式(12))的第三项,其定义为:
(15),
组间智能体旨在通过解决以下马尔可夫决策过程问题来找到最优的策略:/>
(16),
其中,代表初始状态,/>代表从状态映射到动作的策略,/>代表平衡当前奖励和未来奖励的折扣因子,/>是期望,/>表示在状态/>下采取动作/>得到的奖励。
本实施例中,通过获取相邻图像组之间的组间状态,利用预设的第一强化学习算法对组间状态进行学习,获得组间动作,通过组间动作获取组间奖励,并构建组间转移概率,以将组间码率决策问题建模为一个组间码率决策模型,即上述马尔可夫决策过程,然后通过解决该马尔可夫决策过程问题来寻找最优的策略,来确定组间码率。利用强化学习寻找最优策略的方式,能够利用很少的已知环境状态进行动态规划学习,学习能力强且学习效率高,从而有利于快速学习到最优的组间码率。
在一种实施方式中,步骤S230中的基于预设的视频流传输约束条件,构建组内码率决策模型,包括:
步骤S231:获取所述当前图像组中各个所述视频帧的传输时间和剩余的视频帧的数量,以及所述预测视场中的剩余待缓存的视频帧的数量和信道增益;
步骤S232:基于所述信道增益、所述组间码率、所述组间缓存的视频块、所述缺失的视频块、所述剩余的视频帧的数量、传输上一视频帧对应的组内码率和所述剩余待缓存的视频帧的数量,获得组内状态;
步骤S233:基于所述组内状态和所述视频流传输约束条件,利用预设的第二强化学习算法进行学习,构建组内码率决策模型。
具体地,将组内码率决策问题建模为一个组内码率决策模型,即马尔可夫决策过程,用元组表示。
(1)组内状态:基于所述信道增益、所述组间码率、所述组间缓存的视频块、所述缺失的视频块、所述剩余的视频帧的数量、传输上一视频帧对应的组内码率和所述剩余待缓存的视频帧的数量,获得组内状态。具体地,和组间状态类似,第个GOP中的第/>个视频帧的组内状态,可表示为:
(17),
其中,,/>代表/>存在的数域集合,/>代表码率集合,/>代表正整数集合,/>代表/>存在的数域集合,/>代表第/>个GOP时间内保持恒定的信道条件,/>是第/>个GOP时间内缓存到穿戴设备的码率。在第/>帧揭示用户真实FoV后,可以由公式(1)和公式(2)得到匹配块的数量/>和缺失的视频块的数量/>,/>代表GOP内剩下的视频帧的数量。 />由公式(14)获得并代表经过/>个视频帧,表示剩余待缓存的下一个GOP的数据量。
(2)组内动作:利用预设的第二强化学习算法基于组内状态进行学习获得组内动作/>,并通过边缘服务器中的组内智能体确定缺失的视频块的码率/>:/>
(18)。
(3)组内转移概率:由于无线信道条件在一个GOP内不同的视频帧中保持不变,状态转移概率函数表达如下:
(19)。
(4)组内奖励函数:奖励函数和问题(P1)中的优化目标相关,定义如下:
(20),
其中,,/>是正系数。
(5)为了鼓励帧补救在一帧时间内完成补救传输任务,引入一个传输缺失的视频块相关的指示函数来惩罚一帧内未完成的补救传输:
(21),
其中,表示第/>帧内待补救的视频数据的大小,即,其中,/>表示第/>个GOP中下一帧的缺失的视频块集合,/>表示组内码率。
同时,在剩余的传输视频帧,希望边缘服务器可以完成剩余的缓存数据,只有/>,才能完成预缓存任务。相反,如果不能完成该任务,则增加一个惩罚项。因此,定义一个相关的指示函数:
(22)。
最终,组内的智能体通过求解以下马尔可夫过程获得最优的策略:
(23),
其中,代表初始状态。/>代表从状态映射到动作的策略。/>代表平衡当前奖励和未来奖励的折扣因子,/>表示折扣因子,/>表示在状态/>下做动作/>得到的奖励。
本实施例中,通过获取相邻图像组之间的组内状态,利用预设的第二强化学习算法对组内状态进行学习,获得组内动作,通过组内动作获取组内奖励,并构建组内转移概率,以将组内码率决策问题建模为一个组内码率决策模型,即上述马尔可夫决策过程,然后通过解决该马尔可夫决策过程问题来寻找最优的策略,来确定组内码率。利用强化学习寻找最优策略的方式,能够利用很少的已知环境状态进行动态规划学习,学习能力强且学习效率高,从而有利于快速学习到最优的组内码率。
需要声明的是,本发明中第一强化学习算法和第二强化学习算法泛指各种能够用来实现本发明学习任务的强化学习算法,在此不做具体的限制。
在一种实施方式中,步骤S230中的利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率,包括:
步骤S234:基于所有所述码率,利用组内码率决策模型对所述组内状态进行决策,获得组内动作;
步骤S235:初始化所述第二强化学习算法的参数,利用所述第二强化学习算法的参数、所述组内状态和所述组内动作,构建目标网络;
步骤S236:以最大化所述目标网络的最佳组内动作为目标,利用所述第二强化学习算法的参数、所述组内动作和所述组内状态对所述目标网络进行迭代学习,获得最佳组内动作;
步骤S237:基于所述最佳组内动作以及所述最佳组内动作对应的组内状态,确定组内码率。
具体地,为了解决组内码率的自适应问题,本实施例采用的第二强化学习算法为D3QN算法,利用D3QN算法来学习策略。图6所示为组内智能体的D3QN算法实现过程如下:
组间智能体采用对决网络(Dueling Network)记为,基于备份的所有码率,利用组内码率决策模型对组内状态/>进行决策,获得组内动作/>,从而利用组内状态动作对/>估计与该组内状态动作对/>相关的奖励,其中网络的参数为/>。网络的输入是状态,输出是与所有动作相关的估计奖励向量,即估计所有传输码率的决策奖励,一个动作有更高的奖励分数代表该动作是更优的动作。
输入状态向量首先经过一个使用ReLU函数作为激活函数的全连接层。然后,网络的输出紧跟着两个平行的全连接层,这两个全连接层分别作为价值函数和优势函数的单独估计。在实际中,其中一个全连接层输出一个标量,记为,作为状态价值函数;另外一个全连接层输出一个/>-维的向量,记为/>,作为状态动作优势函数。网络的最后一个模块连接两个全连接层的输出,并实现了以下映射:
(24),
其中,,其中,/>代表最开始的全连接层的参数,/>和/>分别代表两个平行的全连接层的参数,/>表示状态动作对/>对应的Q函数,/>表示对不同的动作a取均值。
因为对决网络的输出是一个状态动作Q函数,所以该网络可以使用许多现有的算法进行训练,比如DDQN算法。下面采用时序差分(Temporal-Difference,TD)算法来优化参数,其中,应用DDQN算法来解决TD算法引起的过度估计性能下降问题。
利用优化后的参数、组内状态和组内动作,构建组内智能体的目标网络(TagetNetwork),即/>,其中/>是网络参数。采用/>-贪婪策略作为行动策略/>来在当前状态/>下选择相应的动作/>,随着探索次数的增加,/>会逐渐减小。/>-贪婪策略以概率/>选择一个随机动作,以概率/>选择最大化Q函数的动作:
(25)。
在一个GOP中,组内智能体和环境交互后,智能体观察到一系列样本,并将它们存储在经验回放记忆/>中。在从经验记忆中随机抽取一个小训练批次/>,对这小批次中的每个样本执行对决网络的前向传播,并得到所表示的预测/>:
(26),
然后,以最大化目标网络的最佳组内动作为目标,利用对决网络的参数、组内动作和组内状态对目标网络进行迭代学习,获得最佳组内动作,即使用对决网络来获得最大化Q值的最佳动作:
(27);
计算使用目标网络和最佳动作/>计算TD目标/>:
(28),
其中,是未来奖励的折扣率。
然后计算每个样本的TD误差,并对所有样本取均方损失函数:
(29)。
为了使相对于参数/>最小化,使用随机梯度下降(Stochastic Gradient D边缘服务器cent,SGD)将对决网络的参数更新为:
(30),
其中,是学习率。在每/>个视频帧后,通过复制对决网络的参数来更新目标网络的参数,即/>。
本实施例中,在采用强化学习算法进行迭代学习的过程中,设计了避免过度估计的策略,以及利用记忆池回放提高训练效率,以保障训练得到的最佳动作的有效性和合理性。
进一步地,还可以通过整合现有的优化回放记忆、探索策略、内在动机等方法,进一步提升强化学习算法的性能。
在一种实施方式中,对于组间智能体,采用图7中的组间智能体对决网络结构,将输入的组间状态映射到输出的组间动作,组间智能体的网络参数表示为。详细的网络结构和训练过程,同图6所示的组内智能体对应的对决网络,此处不再赘述。
基于上述组间智能体的对决网络和组内智能体的对决网络,即可构建出一个双智能体深度强化学习(Deep Reinforcement Learning,DRL)框架。其中,两阶段码率分配算法示意图,如图8所示,包含两个智能体,分别负责组间码率决策和组内码率决策。
从图8可知,在第个GOP的开始,首先视场预测模块产生一个FoV的估计值。然后,组间智能体观察到公式(9)中给定的状态/>,输出下一个GOP的预缓存码率。接着第/>个GOP中的每一个视频帧都在头戴式设备中渲染。随后,GOP内智能体依次处理第/>个GOP中的/>个视频帧。对于第/>个帧,组内智能体揭示真实FoV并观察公式(17)中给定的状态/>。如果/>,则组内智能体决定传输下一个视频帧的缺失块的比特率动作/>。接下来,如图4所示,在每个视频帧的第一部分,传输补救块视频文件到穿戴设备,然后在该视频帧的剩余部分(若有)传输下一个GOP的预缓存视频文件。
在当前帧结束时,组内智能体接收奖励,观察到下一个状态/>,并将样本/>存储在经验回放记忆/>中。为了提高训练效率,在一个GOP中,在第一次出现缺失块之前的视频帧不会被存储且参与训练。如果经验回放记忆/>大于最小训练批次/>,使用随机梯度下降更新组内智能体的网络。在每/>个视频帧后,通过复制组内对决网络的参数来更新目标网络的参数。
在组内智能体处理第个GOP所有/>个视频帧后,组间智能体接收到奖励/>,然后把元组/>储存在经验记忆回放/>中。组间智能体的对决网络和相应目标网络的更新方法和组内智能体相同。对不同的GOP重复相同操作直到最后一个训练过程结束。
该双智能体深度强化学习框架训练过程的两阶段双智能体强化学习算法的伪代码,如算法1所示,具体步骤如下:
1)输入:(组间)初始化对决网络的参数,目标网络的参数/>,/>,初始码率;(组内)初始化对决网络的参数/>,目标网络的参数/>,/>,初始码率/>;
2)输出:组间控制动作和组内控制动作/>;
3)重复执行如下步骤:
对,执行:FoV预测模块输出一个预测值/>;观测组间环境状态/>;根据观测的状态/>,采用/>-贪婪策略选择相应的动作/>;对/>,执行:揭示真实的FoV集合/>,观测组内环境状态/>;如果/>,执行:根据观测的状态/>,采用/>-贪婪策略选择相应的动作/>;根据组间动作/>和组内动作/>执行视频块传输;组内智能体接受到奖励/>,观测下一个状态/>,然后把元组/>存储到经验记忆回放/>中;如果/>中的样本数大于/>,执行:从经验记忆回放中采样小训练批量/>,然后使用公式(24)-(30)更新组内智能体网络参数/>。如果到达目标网络的更新频率/>,执行:更新目标网络的参数,/>。组间智能体接受到奖励/>,观测到状态/>,然后把元组/>存储到经验回放记忆/>;如果/>中的样本数大于/>,执行:从经验记忆回放中采样小训练批量/>,然后使用和组内智能体类似的方式更新组间智能体参数/>。如果到达目标网络的更新频率/>,执行:更新目标网络的参数,/>;
4)直到最后一个训练轮次结束。
本实施例中,为了确定每个视频块的码率,设计了一个双智能体深度强化学习框架,在不知道无线道信道分布和用户观看偏好的情况下最大化用户的QoE。其中,两个智能体在不同的时间尺度上分别决定GOP间和GOP内阶段的码率。具体来说,一个Inter-GOP组间智能体根据预测的FoV控制下一个GOP的码率,在GOP级别上以最大化Inter-GOP组间奖励,而另一个Intra-GOP组内智能体控制实时缺失FoV块的码率,在帧级别上以最大化的Intra-GOP组内奖励。利用D3QN网络架构来设计两个智能体,并设计有效的训练程序来共同优化两个互相依赖的智能体的控制策略。
在一种实施方式中,步骤S500中的按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块,包括:
步骤S510:基于所述缺失的视频块和所述组内码率,获得待补救的视频数据的大小;
步骤S520:获取每个所述视频帧的传输速率和每个所述视频帧的传输时间,基于所述视频帧的传输速率、所述视频帧的传输时间、所述组内码率及所述待补救的视频数据的大小,获得组内补救的视频块。
具体地,假设无线信道传输速率(bits/s)在一个GOP内保持不变。设和/>分别表示第/>个GOP的信道带宽和无线信道增益。则第/>个GOP的传输速率表示为:
(31),
式中,和/>分别表示发射功率和噪声的功率谱密度。给定预测的FoV的视频块集合/>,组间码率分配/>,使用函数/>来表示在第/>个GOP中需要缓存到用户的视频数据的大小:
(32),
同时,给定第个GOP中下一帧的缺失的视频块集合/>,码率分配/>,函数表示第/>帧内待补救的视频数据的大小:
(33),
在第个GOP中第/>个视频帧,首先传输丢失的视频块/>。因为无线信道传输的速率保持恒定,成功补救的视频块数量(即组内补救的视频块)为:
(34),
其中,代表将/>四舍五入到小于或等于/>的最接近整数的运算。
本实施例中,为了最大限度地优化用户的QoE,在每一帧内,用户穿戴设备显示用户的真实FoV,并增设补救阶段,在补救阶段将真实FoV中的数据与缓存的FoV数据进行比较,快速传输缺失的视频块,以确保用户的FoV在穿戴设备上流畅平滑的实时渲染。在帧的剩余部分,边缘服务器再缓存下一个GOP预测的FoV视频块。
进一步地,基于所述组内补救的视频块和所述待补救的视频数据的大小,确定相应的视频帧的补救成功率,并可以根据各个视频帧的补救成功率,判断每个视频帧的补救情况。还可以根据各个图像组中所包括的各个视频帧的补救成功率,判断整个目标360度视频在播放过程中的补救情况。
在一种实施方式中,在步骤S520中的获得组内补救的视频块之后,还包括计算成功缓存的视频块数量,所述成功缓存的视频块数量的求解过程,包括:
步骤S530:基于所述组内补救的视频块、所述视频帧的传输速率、所述视频帧的传输时间和所述组内码率,计算每个所述视频帧对应的补救传输花费的时间;
步骤S540:基于所有所述视频帧的传输时间和所有所述视频帧对应的补救传输花费的时间之差,获得传输缓存数据的总时间;
步骤S550:基于所述视频帧的传输速率和所述传输缓存数据的总时间,确定成功缓存的视频块数量。
具体地,基于组内补救的视频块、视频帧的传输速率、视频帧的传输时间和组内码率,计算每个视频帧对应的补救传输花费的时间,即:
(35)。
本发明中QoE性能与缺失的视频块的传输顺序无关。因此,为了简化计算,没有指定特定的传输顺序。然后,在时长为的第/>帧的剩余时间内,边缘服务器向用户传输缓存的视频文件。基于第/>个GOP中所有所述视频帧的传输时间和所有所述补救传输花费的时间之差,获得在第/>个GOP内可用于传输缓存数据的总时间为:
(36)。
因此,基于视频帧的传输速率和传输缓存数据的总时间,获得传输缓存数据的大小,从而获得成功缓存到穿戴设备的视频块的数量,即:
(37),
将成功缓存的视频块集合记为,该集合与/>中视频块的传输顺序有关。如图5所示,在不损失一般性的情况下应用一个简单的传输顺序。也就是说,从预测视点所在的那一行开始传输,然后交替传输视点上方和下方的行。
本实施例中,通过计算每个视频帧播放过程中成功缓存的视频块的数量,能够确定对下一个视频帧的预测视场中的视频块的缓存率,有助于分析目标360度视频播放的流畅度。
如图9所示,对应于上述360度视频智能边缘传输方法,本发明实施例还提供一种360度视频智能边缘传输系统,上述360度视频智能边缘传输系统包括:
信息获取模块910,用于获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
码率自适应模块920,用于基于预设的视频流传输约束条件,确定组间码率和组内码率;
组间缓存模块930,用于在当前图像组播放前,利用所述组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;
真实视场获取模块940,用于在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
组内补救模块950,用于基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块;
360度视频播放模块960,用于将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频。
具体的,本实施例中,上述360度视频智能边缘传输系统的具体功能还可以参照上述360度视频智能边缘传输方法中的对应描述,在此不再赘述。
基于上述实施例,本发明还提供了一种穿戴设备,其原理框图可以如图10所示。上述穿戴设备包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该穿戴设备的处理器用于提供计算和控制能力。该穿戴设备的存储器包括非易失性存储介质、内部存储器。该非易失性存储介质存储有操作系统和360度视频智能边缘传输程序。该内部存储器为非易失性存储介质中的操作系统和基于360度视频智能边缘传输程序的运行提供环境。该穿戴设备的网络接口用于与外部的终端通过网络连接通信。该360度视频智能边缘传输程序被处理器执行时实现上述任意一种360度视频智能边缘传输方法的步骤。该穿戴设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的穿戴设备的限定,具体的穿戴设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种穿戴设备,上述穿戴设备包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的360度视频智能边缘传输程序,上述360度视频智能边缘传输程序被上述处理器执行时实现本发明实施例提供的任意一种360度视频智能边缘传输方法的步骤。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有360度视频智能边缘传输程序,上述360度视频智能边缘传输程序被处理器执行时实现本发明实施例提供的任意一种360度视频智能边缘传输方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种360度视频智能边缘传输方法,其特征在于,包括以下步骤:
获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
基于预设的视频流传输约束条件,确定组间码率和组内码率;
在当前图像组播放前,利用所述组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;
在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块;
将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频;
所述基于预设的视频流传输约束条件,确定组间码率和组内码率,包括:
对所述当前图像组中的各个视频块进行编码,获得若干个码率;基于预设的视频流传输约束条件,构建组间码率决策模型,并利用所述组间码率决策模型基于所有所述码率进行学习,确定组间码率;基于预设的视频流传输约束条件,构建组内码率决策模型,并利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率;
所述基于预设的视频流传输约束条件,构建组间码率决策模型,包括:
获取所述目标360度视频中剩余的图像组和信道增益,基于所述剩余的图像组、所述信道增益、传输上一图像组对应的组间码率和所述预测视场对应的视频块数量,获得组间状态;基于所述组间状态和所述视频流传输约束条件,利用预设的第一强化学习算法进行学习,构建组间码率决策模型;
所述基于预设的视频流传输约束条件,构建组内码率决策模型,包括:
获取所述当前图像组中各个所述视频帧的传输时间和剩余的视频帧的数量,以及所述预测视场中的剩余待缓存的视频帧的数量和信道增益;基于所述信道增益、所述组间码率、所述组间缓存的视频块、所述缺失的视频块、所述剩余的视频帧的数量、传输上一视频帧对应的组内码率和所述剩余待缓存的视频帧的数量,获得组内状态;基于所述组内状态和所述视频流传输约束条件,利用预设的第二强化学习算法进行学习,构建组内码率决策模型;
所述利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率,包括:
基于所有所述码率,利用组内码率决策模型对所述组内状态进行决策,获得组内动作;初始化所述第二强化学习算法的参数,利用所述第二强化学习算法的参数、所述组内状态和所述组内动作,构建目标网络;以最大化所述目标网络的最佳组内动作为目标,利用所述第二强化学习算法的参数、所述组内动作和所述组内状态对所述目标网络进行迭代学习,获得最佳组内动作;基于所述最佳组内动作以及所述最佳组内动作对应的组内状态,确定组内码率。
2.根据权利要求1所述的360度视频智能边缘传输方法,其特征在于,所述按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块,包括:
基于所述缺失的视频块和所述组内码率,获得待补救的视频数据的大小;
获取每个所述视频帧的传输速率和每个所述视频帧的传输时间,基于所述视频帧的传输速率、所述视频帧的传输时间、所述组内码率及所述待补救的视频数据的大小,获得组内补救的视频块。
3.根据权利要求2所述的360度视频智能边缘传输方法,其特征在于,在所述获得组内补救的视频块之后,还包括计算成功缓存的视频块数量,所述成功缓存的视频块数量的求解过程,包括:
基于所述组内补救的视频块、所述视频帧的传输速率、所述视频帧的传输时间和所述组内码率,计算每个所述视频帧对应的补救传输花费的时间;
基于所有所述视频帧的传输时间和所有所述视频帧对应的补救传输花费的时间之差,获得传输缓存数据的总时间;
基于所述视频帧的传输速率和所述传输缓存数据的总时间,确定成功缓存的视频块数量。
4.一种360度视频智能边缘传输系统,其特征在于,所述系统包括:
信息获取模块,用于获取目标360度视频,并基于边缘网络对所述目标360度视频进行划分,获得若干个连续的图像组,每个所述图像组包括若干个视频帧,每个所述视频帧包括若干个视频块;
码率自适应模块,用于基于预设的视频流传输约束条件,确定组间码率和组内码率;
组间缓存模块,用于在当前图像组播放前,利用所述组间码率缓存预测视场所对应的视频块,获得组间缓存的视频块;
真实视场获取模块,用于在所述当前图像组实时播放期间,获得所述当前图像组中每个视频帧的真实视场;
组内补救模块,用于基于所述组间缓存的视频块和所述真实视场,获得缺失的视频块,并按照所述组内码率对所述缺失的视频块进行补救,获得组内补救的视频块;
360度视频播放模块,用于将所述组间缓存的视频块和所述组内补救的视频块进行合并,获得合并后的360度视频,并播放所述合并后的360度视频;
码率自适应模块,还用于基于预设的视频流传输约束条件,确定组间码率和组内码率,包括:
对所述当前图像组中的各个视频块进行编码,获得若干个码率;基于预设的视频流传输约束条件,构建组间码率决策模型,并利用所述组间码率决策模型基于所有所述码率进行学习,确定组间码率;基于预设的视频流传输约束条件,构建组内码率决策模型,并利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率;
所述基于预设的视频流传输约束条件,构建组间码率决策模型,包括:
获取所述目标360度视频中剩余的图像组和信道增益,基于所述剩余的图像组、所述信道增益、传输上一图像组对应的组间码率和所述预测视场对应的视频块数量,获得组间状态;基于所述组间状态和所述视频流传输约束条件,利用预设的第一强化学习算法进行学习,构建组间码率决策模型;
所述基于预设的视频流传输约束条件,构建组内码率决策模型,包括:
获取所述当前图像组中各个所述视频帧的传输时间和剩余的视频帧的数量,以及所述预测视场中的剩余待缓存的视频帧的数量和信道增益;基于所述信道增益、所述组间码率、所述组间缓存的视频块、所述缺失的视频块、所述剩余的视频帧的数量、传输上一视频帧对应的组内码率和所述剩余待缓存的视频帧的数量,获得组内状态;基于所述组内状态和所述视频流传输约束条件,利用预设的第二强化学习算法进行学习,构建组内码率决策模型;
所述利用所述组内码率决策模型基于所有所述码率进行学习,确定组内码率,包括:
基于所有所述码率,利用组内码率决策模型对所述组内状态进行决策,获得组内动作;初始化所述第二强化学习算法的参数,利用所述第二强化学习算法的参数、所述组内状态和所述组内动作,构建目标网络;以最大化所述目标网络的最佳组内动作为目标,利用所述第二强化学习算法的参数、所述组内动作和所述组内状态对所述目标网络进行迭代学习,获得最佳组内动作;基于所述最佳组内动作以及所述最佳组内动作对应的组内状态,确定组内码率。
5.一种穿戴设备,其特征在于,所述穿戴设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的360度视频智能边缘传输程序,所述360度视频智能边缘传输程序被所述处理器执行时实现如权利要求1-3任意一项所述360度视频智能边缘传输方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有360度视频智能边缘传输程序,所述360度视频智能边缘传输程序被处理器执行时实现如权利要求1-3任意一项所述360度视频智能边缘传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071328.6A CN117596376B (zh) | 2024-01-18 | 2024-01-18 | 360度视频智能边缘传输方法、系统、穿戴设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071328.6A CN117596376B (zh) | 2024-01-18 | 2024-01-18 | 360度视频智能边缘传输方法、系统、穿戴设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117596376A CN117596376A (zh) | 2024-02-23 |
CN117596376B true CN117596376B (zh) | 2024-04-19 |
Family
ID=89920461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410071328.6A Active CN117596376B (zh) | 2024-01-18 | 2024-01-18 | 360度视频智能边缘传输方法、系统、穿戴设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117596376B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117896553A (zh) * | 2024-03-14 | 2024-04-16 | 天津师范大学 | 全景视频自适应传输方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286855A (zh) * | 2017-07-19 | 2019-01-29 | 北京大学 | 全景视频的传输方法、传输装置和传输系统 |
CN111277911A (zh) * | 2020-01-10 | 2020-06-12 | 聚好看科技股份有限公司 | 一种全景视频的图像处理方法、显示设备及服务器 |
CN114422868A (zh) * | 2021-12-28 | 2022-04-29 | 合肥乾芯科技有限公司 | 一种基于边缘计算存储的Cloud VR视频播放系统 |
CN115037962A (zh) * | 2022-05-31 | 2022-09-09 | 咪咕视讯科技有限公司 | 视频自适应传输方法、装置、终端设备以及存储介质 |
-
2024
- 2024-01-18 CN CN202410071328.6A patent/CN117596376B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286855A (zh) * | 2017-07-19 | 2019-01-29 | 北京大学 | 全景视频的传输方法、传输装置和传输系统 |
CN111277911A (zh) * | 2020-01-10 | 2020-06-12 | 聚好看科技股份有限公司 | 一种全景视频的图像处理方法、显示设备及服务器 |
CN114422868A (zh) * | 2021-12-28 | 2022-04-29 | 合肥乾芯科技有限公司 | 一种基于边缘计算存储的Cloud VR视频播放系统 |
CN115037962A (zh) * | 2022-05-31 | 2022-09-09 | 咪咕视讯科技有限公司 | 视频自适应传输方法、装置、终端设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度神经网络的视频显著性预测研究;卓圣楷;《中国优秀硕士学位论文全文数据库信息科技辑》;20211031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117596376A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | DRL360: 360-degree video streaming with deep reinforcement learning | |
CN117596376B (zh) | 360度视频智能边缘传输方法、系统、穿戴设备及介质 | |
Sengupta et al. | HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning | |
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
WO2020067592A1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
CN115037962B (zh) | 视频自适应传输方法、装置、终端设备以及存储介质 | |
CN112887795B (zh) | 视频播放方法、装置、设备和介质 | |
CN113282786A (zh) | 一种基于深度强化学习的全景视频边缘协作缓存替换方法 | |
Wu et al. | Paas: A preference-aware deep reinforcement learning approach for 360 video streaming | |
KR102129115B1 (ko) | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 | |
CN112202800B (zh) | C-ran架构中基于强化学习的vr视频边缘预取方法和系统 | |
WO2022000298A1 (en) | Reinforcement learning based rate control | |
Pleşca et al. | Multimedia prefetching with optimal Markovian policies | |
CN117221403A (zh) | 一种基于用户移动和联邦缓存决策的内容缓存方法 | |
US20230415034A1 (en) | Streaming channel personalization | |
CN113473172A (zh) | Vr视频缓存方法、装置、缓存服务装置以及存储介质 | |
CN114095756B (zh) | 基于长期视野预测的自适应全景视频流传输系统及其方法 | |
Wei et al. | Joint reinforcement learning and game theory bitrate control method for 360-degree dynamic adaptive streaming | |
Zhang et al. | VRFormer: 360-Degree Video Streaming with FoV Combined Prediction and Super resolution | |
CN112565606A (zh) | 全景视频智能传输方法、设备及计算机存储介质 | |
Zeynali et al. | BOLA360: Near-optimal View and Bitrate Adaptation for 360-degree Video Streaming | |
CN117156175B (zh) | 基于视口预测距离控制的全景视频流QoE优化方法 | |
Cai et al. | A Multi-objective Optimization Approach to Resource Allocation for Edge-Based Digital Twin | |
Shang et al. | Gbk360: A Game Among Tiles In 360 Video Based On Kalman Filter | |
CN113411628B (zh) | 直播视频的码率自适应方法、装置、电子设备及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |