一种视频编码参数与前向纠错联合调整方法与流程
本发明涉及数字视频通信领域,具体的说,是涉及在承载视频传输的连接上的一种视频编码参数与前向纠错联合调整方法,可应用于视频会议、云游戏、直播连麦、无人机图传、远程操控与远程医疗等对端到端时延与抗丢包能力同时敏感的实时视频通信场景。
背景技术:
1、实时视频通信业务通常要求端到端时延低于二百毫秒。在此约束下,基于自动重传请求的可靠传输机制在长往返时延路径上难以适用——一次重传即引入不少于一个往返时延周期的额外延迟,重传所恢复的数据往往在到达接收端时已超过播放截止时间。为此,工业界与学术界普遍采用前向纠错(forward error correction,以下简称fec)作为主要的抗丢包手段,即在发送端附加冗余数据,以使接收端能够在不请求重传的前提下自行恢复所丢失的分组。与此同时,以quic协议为代表的基于udp的新一代传输协议使得路径的分组级丢失信息与时延信息可通过传输层向应用层导出,为编码器与传输过程之间的信息协同提供了此前不具备的通道。
2、围绕如何依据网络状态动态调整视频码流的传输保护,现有技术方案之一是自适应前向纠错方案,依据接收端反馈的分组丢失情况动态调整冗余分组的数量或调整前向纠错块的组块方式。例如2026年在acm multimedia systems conference上发表的题为《tarot: towards optimization-driven adaptive fec parameter tuning for videostreaming》的论文(简称文献一),构建跨层评分函数以逐段搜索最优的前向纠错参数组合。又如2026年在acm web conference上发表的题为《breath: adaptive protectionboundary in fec encoding for mobile real-time video streaming》的论文(简称文献二),通过动态调整前向纠错组块的时域跨度以将单帧级突发丢包在多帧层面上加以平滑。此类方案将视频编码器视为不可干预的对象,其调节作用仅施加于传输侧的冗余参数。
3、另有技术方案是视频码率与前向纠错的联合控制方案,例如2023年发表于《ieeetransactions on circuits and systems for video technology》第33卷第9期题为《abrf: adaptive bitrate-fec joint control for real-time video streaming》的论文(简称文献三)公开了一种面向体验质量的码率-前向纠错联合控制方法,该方法首先预测网络在未来一段时间内的丢包时间分布模式,进而基于体验质量模型联合求解视频编码器的目标码率与前向纠错的冗余率。
4、以上现有技术方案在应用于存在分组丢失与带宽变化的实际网络时,客观存在以下问题:
5、问题一,网络分组丢失存在两类不同成因:一类是无线信道衰落、电磁干扰或物理层误码所导致的链路随机丢包,此类丢包与路径的队列积压不相关,可通过增加冗余进行有效恢复;另一类是路径瓶颈处的队列溢出所导致的拥塞丢包,此类丢包发生时链路已处于饱和状态并伴随排队时延的持续增大,若继续增加冗余则进一步增加链路总负载,反而加剧队列积压使丢包率进一步上升。文献一、文献二与文献三所公开的自适应或联合控制方案均采用观测到丢包率升高即提高冗余量的单调映射逻辑,未将丢包按成因分开处置。在拥塞丢包场景下,上述逻辑将形成“丢包升高、冗余增加、链路更拥塞、丢包再升高”的正反馈循环,导致有效媒体吞吐急剧下降与排队时延膨胀;即存在冗余投放存在因不区分丢包成因而产生的正反馈风险的问题。
6、问题二,文献三所公开的联合控制方案将视频编码器的目标码率作为其控制作用点。目标码率属于编码器的外部输入参数,视频编码器在接收到新的目标码率后,需经其内部的码率控制环路经过若干帧至数十帧方能使实际输出码率收敛至该新目标值。在网络状态发生突发性变化的场景下,此段滞后期间内实际输出码率与网络可用带宽之间存在偏离,容易引起图像组级的画质塌陷或发送端队列积压;即存在以编码器目标码率作为控制作用点所导致的响应滞后的问题。
7、问题三,文献三虽提出两侧的联合控制,但其中目标码率的实际生效需多帧收敛,而冗余率的调整则可即时生效,两侧控制量在时间尺度上不一致。此种时间尺度的不一致,使得在网络状态发生变化的过渡期内,媒体码率与冗余开销之和常瞬时超出实际可用带宽,进而导致发送端队列积压与端到端时延进一步膨胀;即存在编码侧决策与前向纠错侧决策相互独立时所产生的过渡期带宽超配的问题。
8、综上,为使实时视频通信在链路丢包与拥塞丢包并存的复杂网络中同时保持可接受的图像质量、可控的端到端时延与合理的冗余开销,本领域亟需一种能够识别分组丢失成因、能够在帧级迅速对编码侧参数施加控制、并能使编码侧与前向纠错侧的控制量在同一时间基准上生效的联合调整方法。
技术实现思路
1、为了克服现有技术的不足,本发明提供一种视频编码参数与前向纠错联合调整方法,能够在帧级迅速对编码侧参数施加控制、并能使编码侧与前向纠错侧的控制量在同一时间基准上生效,以解决冗余投放存在因不区分丢包成因而产生的正反馈风险、以编码器目标码率作为控制作用点所导致的响应滞后、编码侧决策与前向纠错侧决策相互独立时所产生的过渡期带宽超配的问题。
2、本发明技术方案如下所述:
3、一种视频编码参数与前向纠错联合调整方法,包括以下步骤:
4、在承载视频数据的传输连接上,按滑动窗口统计分组丢失信息,并获取所述传输连接的时延信息,所述时延信息包括平滑往返时延与最小往返时延;
5、对所述分组丢失信息与所述传输连接的可用带宽分别进行平滑,得到平滑丢包率与预测可用带宽,并确定所述预测可用带宽相对于前一统计周期的归一化增量;
6、依据所述时延信息确定拥塞指示因子,并按所述拥塞指示因子将所述平滑丢包率分解为拥塞丢包分量与链路丢包分量;
7、依据所述归一化增量与所述链路丢包分量的增量,按递推方式确定当前帧的量化参数,其中所述归一化增量所对应的系数为负、所述链路丢包分量的增量所对应的系数为正;
8、依据所述链路丢包分量,从至少两个预设保护等级中确定当前帧的纠删码参数,且在所述拥塞指示因子大于预设阈值时,禁止将当前帧的保护等级提升至高于前一帧的保护等级;
9、以所确定的量化参数对当前帧进行编码,以所确定的纠删码参数对编码所得数据进行纠删编码,并经所述传输连接发送。
10、作为本发明的一个优选技术方案,以所述平滑往返时延与所述最小往返时延之差作为路径的排队时延;依据分组的发送时间戳与接收确认时间戳,确定单向时延在相邻统计周期之间的时间梯度;将所述排队时延相对于所述最小往返时延的比值经限幅得到第一分量,将所述时间梯度的非负部分经限幅得到第二分量;对所述第一分量与所述第二分量按预设权重加权求和,得到所述拥塞指示因子,其中所述预设权重之和为一。
11、作为本发明的一个优选技术方案,在每一统计周期,比较所述统计周期的瞬时丢包率与前一统计周期得到的所述平滑丢包率的大小关系;在所述瞬时丢包率大于所述平滑丢包率时,采用第一平滑因子按指数加权移动平均更新所述平滑丢包率;在所述瞬时丢包率不大于所述平滑丢包率时,采用第二平滑因子按指数加权移动平均更新所述平滑丢包率;其中所述第一平滑因子大于所述第二平滑因子。
12、作为本发明的一个优选技术方案,所述按递推方式确定当前帧的量化参数,具体包括:在所述拥塞指示因子大于预设的偏置触发阈值时,将一个与所述拥塞指示因子正相关的正向偏置量叠加至所述量化参数的递推结果中;在所述拥塞指示因子不大于所述偏置触发阈值时,不叠加所述正向偏置量。
13、进一步的,还包括对所述量化参数施加双重约束:将所述量化参数约束在预设的量化参数下限与量化参数上限所限定的区间内,当所述量化参数的递推结果超出所述区间时,取所述区间的相应边界值作为当前帧的量化参数;将当前帧的量化参数与前一帧的量化参数之差的绝对值约束在预设的单帧最大变化量之内,当差的绝对值超出所述单帧最大变化量时,将当前帧的量化参数调整为使差的绝对值等于所述单帧最大变化量、且符号与所述递推结果相对前一帧量化参数的方向一致的值。
14、作为本发明的一个优选技术方案,对所述可用带宽进行平滑,具体包括:在每一统计周期,计算所述统计周期的瞬时可用带宽与前一统计周期得到的所述预测可用带宽之间的相对偏差,并将所述相对偏差与预设的离群阈值进行比较;在所述相对偏差大于所述离群阈值时,将所述指数加权移动平均所采用的平滑因子调整为其正常取值乘以小于一的预设比例后得到的调整值,再执行所述指数加权移动平均得到本周期的所述预测可用带宽;在所述相对偏差不大于所述离群阈值时,直接采用所述正常取值执行所述指数加权移动平均。
15、作为本发明的一个优选技术方案,所述从至少两个预设保护等级中确定当前帧的纠删码参数,具体包括:配置由较低保护等级向较高保护等级切换所对应的第一切换阈值,以及由较高保护等级向较低保护等级切换所对应的第二切换阈值,其中所述第一切换阈值大于所述第二切换阈值;记录当前保护等级自最近一次切换以来已连续保持的帧数;仅在连续保持的帧数不小于预设最小保持帧数、且所述链路丢包分量满足所述第一切换阈值或所述第二切换阈值所对应的比较关系时,将当前保护等级切换至相应的目标保护等级;否则,维持当前保护等级不变。
16、作为本发明的一个优选技术方案,所述以所确定的纠删码参数对编码所得数据进行纠删编码,具体包括跨纠删块交织步骤:将时序上连续的d个纠删块的源符号按行写入一个d行、k列的交织矩阵,其中所述交织矩阵的每一行对应一个纠删块的k个源符号,d为交织行数且为不小于二的整数,k为所述纠删码参数所对应的每一纠删块的源符号数;对所述交织矩阵的每一行分别独立执行纠删编码,向每一行追加n减k个冗余符号,得到d行、n列的编码矩阵,其中n为所述纠删码参数所对应的每一纠删块的总符号数;按列顺序读出所述编码矩阵中的全部符号,形成待发送的分组序列,并在发送步骤中按所述分组序列的顺序发送;在每个分组的头部封装用于接收端还原所述编码矩阵所需的位置信息,所述位置信息至少包括所述分组在所述编码矩阵中的行号与列号。
17、进一步的,所述交织行数按以下方式动态确定:依据接收端反馈的连续丢失分组的平均游程长度,将所述平均游程长度与纠删码参数所对应的每一纠删块可纠正的符号数的比值向上取整,得到第一候选值;依据预设的交织时延预算与所述预测可用带宽,反算得到所述交织行数的上限;取所述第一候选值与所述上限之中的较小者作为交织行数d;当所述较小者小于二时,跳过所述交织步骤而将每一纠删块的编码结果直接送至发送步骤。
18、作为本发明的一个优选技术方案,在编码步骤之前,还包括联合带宽预算校验与回退步骤:依据所确定的量化参数估算当前帧的媒体码率,并依据所选保护等级对应的冗余率计算带宽占用总量,其中所述带宽占用总量等于所述媒体码率与1加所述冗余率的乘积;将所述带宽占用总量与所述预测可用带宽乘以预设带宽利用率上限所得的带宽阈值进行比较;当所述带宽占用总量大于所述带宽阈值时,按以下优先级顺序执行回退调整,直至所述带宽占用总量不大于所述带宽阈值或全部所述回退调整均已用尽;所述优先级顺序包括:
19、优先级一,在量化参数的预设上限之内增大所述量化参数并据此重新估算所述媒体码率;
20、优先级二,将所述保护等级由较高等级降低至相邻的较低等级;
21、优先级三,从当前帧起丢弃非参考帧。
22、根据上述方案的本发明,其有益效果在于:
23、本发明依据时延信息将丢包率分解为拥塞与链路两个成因分量,并在拥塞指示因子超过阈值时以冗余闸门硬性禁止保护等级上升,使得系统在拥塞主导场景下不再向已经饱和的链路注入额外冗余,从原理层面切断了正反馈环路。本发明将网络状态变化到编码输出响应之间的延迟由多帧压缩至一帧,避免了突发丢包发生后的过渡期内因码率未及时收敛而出现的图像组级质量塌陷。本发明由同一决策过程在同一帧边界输出两侧控制量,使二者始终在同一时间基准上生效,从而使“媒体码率与冗余开销之和不超过可用带宽”这一约束在每一帧上都成立,避免了过渡期内的发送队列积压。
24、本发明通过计算归一化带宽增量与丢包率增量以及归一化增量所对应的系数为负、链路丢包分量的增量所对应的系数为正,使控制律构成一个具有确定收敛性的负反馈系统,且各量在同一数量级区间内进行运算。
25、本发明对两类丢包实施方向相反的应对:对链路丢包分量通过增加纠删冗余进行数据恢复,对拥塞丢包分量则通过提高量化参数降低编码码率来化解链路负载压力;由此,冗余开销仅被投放至能够真正发挥恢复作用的场合,避免了对不适用场景的无效投放;在同等或更低的平均冗余开销下,抗丢包能力反而提升。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com