卫星网络中基于自适应的视频流实时编码传输方法
未命名
07-14
阅读:143
评论:0
1.本发明属于卫星网络领域。
背景技术:
2.卫星网络的建设一方面能够为人类的星际探索提供通信支撑,另一方面也可以有效提升国家在全球范围内的影响力。卫星网络不仅成为热门的研究方向,还成为了大国竞争的焦点。尽管当前卫星网络处于高速发展阶段,卫星网络仍然是一种稀缺资源。
3.在实际的卫星应用中,受卫星自身运行轨道的影响,星间链路及星地链路仅能维持一段时间,且链路不稳定,易于受外界环境影响,数据误码、丢包等情况频繁发生。同时卫星应用将产生海量数据,这些数据难于全部直接回传至地面,迫切需要在轨的处理。卫星数据的在轨处理与高效回传成为当前卫星星座建设、卫星互联网发展过程中的主要挑战。
技术实现要素:
4.本发明在卫星边缘服务基础上,深入研究数据编码方案、链路质量与数据传输成功率之间的关系,研究最低时延要求下链路质量与编码方案之间相互作用的机理,提出基于自适应分组的视频流实时双层编码传输方法。
5.本发明是基于信源视频端已对视频进行合理切片且任务数据量、链路误码率已知情况下,如何自适应地确定每次传输的编码包的大小,并对编码包的传输进行总体调度,使得任务总时延最小。本发明采用的喷泉码为lt码,其度函数为:
[0006][0007]
其中d表示度数,k表示源符号的个数,d=1,...,k,
∝
为比例系数,值为0.4。
[0008]
θ(d)为二进制指数度分布的优化版(概率归一化):
[0009][0010]
其中b
′
(d)对二进制指数度分布进行了细微优化,使d=2的概率为1/2,即使d=2时的概率最大.
[0011]
b’(d)为二进制指数度分布的优化版(仅改变了一下最大概率的度):
[0012][0013]
μ(d)为鲁棒孤波分布:
[0014][0015]
其中d=1,2,...,k,ρ(d)为理想孤波分布,τ(d)为补偿函数。
[0016]
补偿函数τ(d):
[0017][0018]
其中:
[0019][0020]
补偿函数中需引入两个参量c和δ,确保每一次解码循环时度为1的检验码数目为s,而不是1。c为一个大于零的常数,本发明中设置为0.6,δ=0.5,表示译码失败的上界.
[0021]
本系统的总体架构图如下图1:
[0022]
本系统编码的流程图如下图2:
[0023]
其中图左部分虚线框中由实线框框住的部分为一个视频切片,ω(x)为喷泉码编码时的度函数,接收端在完成一次译码后将译码的结果信息反馈给发送端,发送端根据反馈信息更新解码概率表的内容,并修改下一次传输的新包、增量包的大小,由此达到自适应编码的效果。
[0024]
本发明的具体步骤如下:
[0025]
(1)为每个视频切片赋值默认的冗余度
[0026]
喷泉码作为一种前向纠错方案,通过引入一定量的冗余编码实现对丢失数据的恢复,冗余度的公式为:
[0027][0028]
其中,m为接收端收到的编码符号,m为原符号。对于实时视频流,应当在链路状态良好时降低编码的冗余度,在链路状态较差时增加编码的冗余度,本方法第一步给所有视频切片赋值一个初始的默认冗余度,值为0.16。
[0029]
在接下来的步骤中将会根据链路状态动态更新编码的冗余度,提高系统的传输效率。
[0030]
(2)发送端计算本轮需要发送的初始包、增量包的大小
[0031]
发送端统计所有待发送的视频切片,对于新到达的视频切片,发送初始的探测包m0,对于之前已发送的但还未收到确认信息的视频切片,根据解码概率表确认需要补发的增量包,若某一切片的传输次数大于k
max
,则向上层反馈错误信息,并跳过此视频切片。
[0032]
新包、增量包的选取通过解以下方程:
[0033][0034][0035]
其中m
l
为第l次传输该视频切片时发送的增量包,m
send
为传输视频切片时的平均传输符号数:
[0036]
[0037]
其中mi为第i次传输时发送的数据包的大小,pi为第i-1次解码不成功而第i次解码成功的概率。
[0038]ksend
为一个数据分组的平均传输次数:
[0039][0040]
δm为一次增量包传输的最小值,δm的为一个固定值,在一般链路中可以设置为64,k
ave
为系统限制的平均传输一个数据分组所需的传输次数。
[0041]
根据解码概率表计算每种路径的传输数据包的个数,从中选择满足上述约束公式的、并使平均传输符号个数最少的路径作为新包、增量包大小的选择依据。
[0042]
(3)使用lt码对视频切片编码
[0043]
首先使用度函数ω(d)生成度值d,接着在每个视频切片中选取d个原符号,设一个视频切片中有l个原符号,且该视频切片已被传输k次(k《k
max
),我们为每个包设置了单独的选取概率,取代了此前的随机选取的方法,第j个原符号的选取概率为:
[0044][0045]
其中k
max
为系统规定的一个视频切片的最大传输次数。设那么p(j)的选取概率可以简化为:
[0046][0047]
可以看出,随着传输次数k的增大,μ的概率将增大,于是所占的比重将增大,而j的值越大,的值会越小,e
j-l
的值会越大,于是可以看做选取到达时间靠前的包,e
j*l
可以看做选取到达时间靠后的包,即新到达的包。
[0048]
于是当传输次数k较小时,(1-μ)的概率会较大,即更倾向于选择编号更靠后的包,即新到达的包,当传输次数较大时,μ的概率会较大,即更倾向于选择编号更靠前的包,即到达时间更早的包。分母的表示对一个视频分组的所有包选取概率进行求和,即对每个包的选取概率做归一化处理。
[0049]
借由本概率函数,喷泉码在进行选包编码时,将更倾向于选择最新到达的包,于是最新到达的包相对于早先到达的包将以更大的概率被提早译码,以满足系统的编码实时性。而随着传输次数k的增大,将会增加选取早先到达的数据包的选取概率,增加视频切片的译码成功率。
[0050]
(4)更新喷泉码的编码冗余度
[0051]
首先估算出当前网络的可用带宽,公式如下:
[0052][0053]
其中,s
t
为t时刻发送的编码包大小,t
t
为t时刻发送的编码包的传输时间。
[0054]
冗余度的更新函数如下:
[0055][0056]
其中,γ为比例系数,设置为0.5,z为默认的冗余度,设置为0.16,v为视频的码率,由于大部分视频采用h.264编码,所以这里v设为固定值,为2.5mb/s。
[0057]
当前网络带宽大于等于视频码率,即v-b
t
≤0时,表示当前网络良好,下一个视频切片可以使用默认冗余度进行编码,而当前网络带宽小于视频码率时,表示当前网络较差,需要提高编码的冗余度以提高喷泉码对于丢失数据的恢复度。
[0058]
(5)接收端对收到的数据进行增量译码
[0059]
接收端根据发送端发送的数据帧,提取出与每一个视频切片对应的新包或增量包,对于新包则直接译码,对于增量包,将累计收到的个符号合并后尝试解码。
[0060]
接收端采用增强置信传播(enhance belief propagation,ebp)简化译码。传统的bp译码每当接收端收到一个度值为1的编码包后开始译码,并将其所有参与编码的编码包度值减一。相较于高斯消元译码(gaussian elimination,ge),bp译码的解码速度快,但因极其依赖于度值为1的包,因此解码成功率相较于高斯消元要低,本发明采用ebp译码,在bp译码失败后,编码包的生成矩阵可能是列满秩的或可能存在列满秩的子矩阵这些列满秩子矩阵的列所对应的数据包在理论上是可译的。因此bp译码算法具有剩余可译性。
[0061]
下面以一个具体的例子解释ebp算法:
[0062]
设g为bp译码失败时(没有度为1的节点)的生成矩阵:
[0063][0064]
把译码迭代过程中对编码包的更新步骤称为正向传播,把对数据包的赋值步骤称为反向传播。ebp的执行过程如图3所示:
[0065]
假设x3为已知包,进行一次正向传播后到(b),此时第一个编码包成为了度值为1的包,于是进行一次反向传播到(c),此时第二个数据包已知,进行第二次正向传播更新第2、3个编码包的值,以此方式循环传播,最后得到图(e),再进行一次正向传播即:y2+y1+y3+y1+x1=y3+y2+x1=0,y3与y2均为已知值,于是可以解出x0。
[0066]
假设包的选取策略:为了最大限度地减少编码包的度,可以将数据包的度值按从大到小排序,每次选取度值最大的包加入假设集,并尝试解码。该策略显著提高了译码成功率并保持了低复杂度的优点。同时对码长不敏感,对较短码长的喷泉码也有良好的效果。
[0067]
解码完成后,将解码成功、失败的反馈信息以0/1比特的形式(0代表成功,1代表失败)反馈给发送端。
[0068]
(6)发送端更新解码概率表
[0069]
发送端收到接收端的反馈信息后,更新解码概率表,更新策略如下:
[0070]
步骤1(初始化)nk=0,n
total
=0
[0071]
步骤2(更新)nk=β
·
nk+δnk[0072]ntotal
=β
·ntotal
+δn
[0073]
步骤3(得到概率)pk=nk/n
total
[0074]
其中,nk为解码器解码所用的符号数目,δnk为使用nk个符号解码成功的个数,n
total
为总共解码成功的数据分组数,δn为本传输帧中解码成功的总数据分组数,β为权重因子,本发明设置为0.3,这样的更新方式可以降低旧反馈数据所占比重,提高系统的实时性。
[0075]
本发明实现了自适应的视频流实时编码,基于卫星边缘服务,通过挖掘任务、链路、编码策略之间相互作用的机理,对其数学关系进行建模,进而给出视频流的实时编码策略。通过本发明,边缘服务将自适应地确定编码包的大小,并对编码包的传输进行总体调度,使得任务总时延最小。
附图说明
[0076]
图1系统架构图
[0077]
图2编码流程图
[0078]
图3含有未知量的bp译码过程
具体实施方式
[0079]
下面以一个具体场景为例,解释本发明的运行过程
[0080]
具体参数:以通信卫星作为信源视频端,传输一个大小为20gb的以h.264编码的视频文件到地面站,设置编码的默认冗余度z=0.16,初始探测包大小m0=1024,一次增量包传输的最小值δm=64。
[0081]
1.通信卫星将该视频切分为1000份的视频切片,喷泉码编码器对这1000份视频切片编码并向地面站发送大小为1000*m0的初始探测包(每个视频切片都需要发送,因此总大小为1000*m0)。
[0082]
喷泉码的度函数为:
[0083][0084]
其中d表示度数,d=1,...,k,
∝
是比例系数,设置为0.4,其他变量的含义在介绍系统模型时已经解释,这里不再介绍。
[0085]
首先使用度函数ω(d)生成度值d,接着在每个视频切片中选取d个原符号,设一个视频切片中有l个原符号,且该视频切片已被传输k次(k《k
max
),(我们为每个包设置了单独的选取概率,取代了此前的随机选取的方法),则第j个原符号的选取概率为:
[0086][0087]
2.通信卫星传输完成后,估算当前网络(t时刻)的可用带宽b
t
,其中:
[0088][0089]st
为当前传输的编码包的大小,t
t
为当前传输的编码包的传输时间。
[0090]
并根据冗余度更新函数更新下一次编码传输时的冗余度:
[0091][0092]
其中γ为比例系数,设置为0.5,z为默认的冗余度,设置为0.16,v为视频的码率,由于视频大多采用h.264编码,因此码率设置为固定的2.5mb/s。
[0093]
3.地面站接收到传输的数据后,采用增量译码,即将之前接收的数据与当前数据合并译码,地面站采用增强置信传播简化译码,假设当前时刻的译码生成矩阵为:
[0094][0095]
则译码过程如图3所示:
[0096]
假设x3为已知包,进行一次正向传播后到(b),此时第一个编码包成为了度值为1的包,于是进行一次反向传播到(c),此时第二个数据包已知,进行第二次正向传播更新第2、3个编码包的值,以此方式循环传播,最后得到图(e),再进行一次正向传播即:y2+y1+y3+y1+x1=y3+y2+x1=0,y3与y2均为已知值,于是可以解出x0[0097]
4.地面站在解码完成后将解码的结果反馈给通信卫星,通信卫星根据解码信息更新自己的解码概率表,更新算法如下:
[0098]
步骤1(初始化)nk=0,n
total
=0
[0099]
步骤2(更新)nk=β
·
nk+δnk[0100]ntotal
=β
·ntotal
+δn
[0101]
步骤3(得到概率)pk=nk/n
total
[0102]
其中,nk为解码器解码所用的符号数目,δnk为使用nk个符号解码成功的个数,n
total
为总共解码成功的数据分组数,δn为本传输帧中解码成功的总数据分组数,β为权重因子,设置为0.3,这样的更新方式可以降低旧反馈数据所占比重,提高系统的实时性。
[0103]
5.发送端计算下一时隙发送的编码包大小
[0104]
假设某一时刻的解码概率表如下所示:
[0105]
符号数目1024108811521216128013441408解码成功概率00.00010.03490.2580.4590.8621
[0106]
则下一时刻新包、增量包的选取通过解以下方程:
[0107][0108][0109]
其中m
l
为第l次传输该视频切片时发送的增量包,m
send
为传输视频切片时的平均传输符号数:
[0110][0111]
其中m
l
为第l次传输时发送的数据包的大小,pi为第i-1次解码不成功而第i次解码成功的概率。
[0112]ksend
为一个数据分组的平均传输次数:
[0113][0114]
δm为一次增量包传输的最小值,δm的为一个固定值,在一本场景下中设置为64,k
ave
为系统限制的平均传输一个数据分组所需的传输次数,限制为16。
[0115]
根据解码概率表计算每种路径的传输数据包的个数,从中选择满足上述约束公式的、并使平均传输符号个数最少的路径作为新包、增量包大小的选择依据。
技术特征:
1.卫星网络中基于自适应的视频流实时编码传输方法,其特征在于:采用的喷泉码为lt码,其度函数为:其中d表示度数,k表示源符号的个数,d=1,...,k,
∝
为比例系数,值为0.4;θ(d)为二进制指数度分布的优化版:其中b
′
(d)对二进制指数度分布进行了优化,使d=2的概率为1/2,即使d=2时的概率最大;μ(d)为鲁棒孤波分布:其中d=1,2,...,k,ρ(d)为理想孤波分布,τ(d)为补偿函数;补偿函数τ(d):其中:补偿函数中需引入两个参量c和δ,确保每一次解码循环时度为1的检验码数目为s,而不是1;c为一个大于零的常数,设置为0.6,δ=0.5,表示译码失败的上界;具体步骤如下:(1)为每个视频切片赋值默认的冗余度喷泉码作为一种前向纠错方案,通过引入冗余编码实现对丢失数据的恢复,冗余度的公式为:其中,m为接收端收到的编码符号,m为原符号;对于实时视频流,应当在链路状态良好时降低编码的冗余度,在链路状态较差时增加编码的冗余度,给所有视频切片赋值一个初始的默认冗余度,值为0.16;(2)发送端计算本轮需要发送的初始包、增量包的大小发送端统计所有待发送的视频切片,对于新到达的视频切片,发送初始的探测包m0,对于之前已发送的但还未收到确认信息的视频切片,根据解码概率表确认需要补发的增量
包,若某一切片的传输次数大于k
max
,则向上层反馈错误信息,并跳过此视频切片;新包、增量包的选取通过解以下方程:新包、增量包的选取通过解以下方程:其中m
l
为第l次传输该视频切片时发送的增量包,m
send
为传输视频切片时的平均传输符号数:其中m
i
为第i次传输时发送的数据包的大小,p
i
为第i-1次解码不成功而第i次解码成功的概率;k
send
为一个数据分组的平均传输次数:δm为一次增量包传输的最小值,δm的为一个固定值,在一般链路中可以设置为64,k
ave
为系统限制的平均传输一个数据分组所需的传输次数;根据解码概率表计算每种路径的传输数据包的个数,从中选择满足上述约束公式的、并使平均传输符号个数最少的路径作为新包、增量包大小的选择依据;(3)使用lt码对视频切片编码首先使用度函数ω(d)生成度值d,接着在每个视频切片中选取d个原符号,设一个视频切片中有l个原符号,且该视频切片已被传输k次,k<k
max
;第j个原符号的选取概率为:其中k
max
为系统规定的一个视频切片的最大传输次数;设那么p(j)的选取概率可以简化为:可以看出,随着传输次数k的增大,μ的概率将增大,于是所占的比重将增大,而j的值越大,的值会越小,e
j-l
的值会越大,于是可以看做选取到达时间靠前的包,e
j-l
可以看做选取到达时间靠后的包,即新到达的包;于是当传输次数k较小时,(1-μ)的概率会较大,即更倾向于选择编号更靠后的包,即新到达的包,当传输次数较大时,μ的概率会较大,即更倾向于选择编号更靠前的包,即到达时
间更早的包;分母的表示对一个视频分组的所有包选取概率进行求和,即对每个包的选取概率做归一化处理;借由本概率函数,喷泉码在进行选包编码时,将更倾向于选择最新到达的包,于是最新到达的包相对于早先到达的包将以更大的概率被提早译码,以满足系统的编码实时性;而随着传输次数k的增大,将会增加选取早先到达的数据包的选取概率,增加视频切片的译码成功率;(4)更新喷泉码的编码冗余度首先估算出当前网络的可用带宽,公式如下:其中,s
t
为t时刻发送的编码包大小,t
t
为t时刻发送的编码包的传输时间;冗余度的更新函数如下:其中,γ为比例系数,设置为0.5,z为默认的冗余度,设置为0.16,v为视频的码率,由于大部分视频采用h.264编码,所以这里v设为固定值,为2.5mb/s;当前网络带宽大于等于视频码率,即v-b
t
≤0时,表示当前网络良好,下一个视频切片可以使用默认冗余度进行编码,而当前网络带宽小于视频码率时,表示当前网络较差,需要提高编码的冗余度以提高喷泉码对于丢失数据的恢复度;(5)接收端对收到的数据进行增量译码接收端根据发送端发送的数据帧,提取出与每一个视频切片对应的新包或增量包,对于新包则直接译码,对于增量包,将累计收到的个符号合并后尝试解码;接收端采用增强置信传播ebp简化译码;假设包的选取策略:将数据包的度值按从大到小排序,每次选取度值最大的包加入假设集,并解码;解码完成后,将解码成功、失败的反馈信息以0/1比特的形式;反馈给发送端;0代表成功,1代表失败;(6)发送端更新解码概率表发送端收到接收端的反馈信息后,更新解码概率表,更新策略如下:步骤1初始化:n
k
=0,n
total
=0步骤2更新:n
k
=β
·
n
k
+δn
k
n
total
=β
·
n
total
+δn步骤3得到概率:p
k
=n
k
/n
total
其中,n
k
为解码器解码所用的符号数目,δn
k
为使用n
k
个符号解码成功的个数,n
total
为总共解码成功的数据分组数,δn为本传输帧中解码成功的总数据分组数,β为权重因子,设置为0.3。
技术总结
本发明提供了卫星网络中基于自适应的视频流实时编码传输方法。受卫星自身运行轨道的影响,星间链路及星地链路仅能维持一段时间,且链路不稳定,易于受外界环境影响,数据误码、丢包等情况频繁发生。同时卫星应用将产生海量数据,这些数据难于全部直接回传至地面,迫切需要在轨的处理。本发明是基于信源视频端已对视频进行合理切片且任务数据量、链路误码率已知情况下,如何自适应地确定每次传输的编码包的大小,并对编码包的传输进行总体调度,使得任务总时延最小。任务总时延最小。任务总时延最小。
技术研发人员:徐晓斌 韩梦圆 刘益彰 王琪
受保护的技术使用者:北京工业大学
技术研发日:2023.01.09
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
