一种低时延流式视频编解码传输方法及系统与流程

摘要: 本技术涉及视频编解码,更具体地说,是涉及一种低时延流式视频编解码传输方法、系统、终端及存储介质。背景技术:1、在专业音视频应用中,端到端时延是衡量系统可用性的关...
一种低时延流式视频编解码传输方法及系统与流程

本技术涉及视频编解码,更具体地说,是涉及一种低时延流式视频编解码传输方法、系统、终端及存储介质。

背景技术:

1、在专业音视频应用中,端到端时延是衡量系统可用性的关键指标。现有技术有公开了一种高效视频编码(high efficiency video coding,hevc)并行加速编码方法,以前序已编码编码树单元的运动矢量平均值预测当前编码树单元的运动矢量作为预测起点,对各编码树单元并行执行运动估计与编码。

2、上述现有视频传输方案虽然实现了编码树单元的并行编码,但是,其缺陷在于,其运动矢量预测起点依赖空域相邻且已编码的编码树单元,导致各行编码串行等待、编码时延偏高,端到端时延难以满足专业音视频场景的超低时延与高稳定要求。

3、因此,现有技术还有待于改进和发展。

技术实现思路

1、本技术的目的在于提供一种低时延流式视频编解码传输方法、系统、终端及存储介质,旨在解决现有的视频传输方案各行编码串行等待、编码时延偏高,端到端时延难以满足专业音视频场景的技术问题。

2、为实现上述目的,本技术采用的技术方案是:

3、第一方面,本技术提供一种低时延流式视频编解码传输方法,其中,包括以下步骤:

4、获取待编码视频帧;

5、对所述待编码视频帧进行预分析处理,得到各编码树单元行的初始运动矢量以及由所述待编码视频帧中各视频帧的运动估计结果预测得到的帧复杂度;

6、所述待编码视频帧的各编码树单元行以各自的初始运动矢量为起始运动矢量,相互独立且并行编码,生成编码码流;

7、通过低时延传输协议连接将所述编码码流传输至接收端,并通过动态抖动缓冲补偿网络抖动,所述动态抖动缓冲的缓冲深度由各视频帧的编码时序、网络抖动统计量以及所述帧复杂度共同确定;

8、通过所述低时延传输协议连接的反馈通道获取所述接收端上报的网络状态统计量,并依据所述网络状态统计量动态调节所述编码码流的量化参数qp,以实现端到端低时延传输。

9、在一种实施方式中,所述对所述待编码视频帧进行预分析处理,得到各编码树单元行的初始运动矢量以及由所述待编码视频帧中各视频帧的运动估计结果预测得到的帧复杂度的步骤包括:

10、对所述待编码视频帧中的各视频帧执行运动估计预分析,得到各编码树单元行的运动矢量以及各视频帧的残差能量;

11、将各编码树单元行的运动矢量确定为该编码树单元行的初始运动矢量;

12、依据各编码树单元行的运动矢量幅值与所述残差能量,预测得到各视频帧的帧复杂度;

13、依据各视频帧的帧复杂度对所述待编码视频帧进行码率预分配,得到码率分配信息;

14、各编码树单元行执行编码时,基于所述码率分配信息配置该编码树单元行的编码码率。

15、在一种实施方式中,所述依据各视频帧的帧复杂度对所述待编码视频帧进行码率预分配,得到码率分配信息的步骤包括:

16、将各视频帧的帧复杂度与复杂度阈值比较;

17、若视频帧的帧复杂度高于所述复杂度阈值,则在所述码率分配信息中为该视频帧赋予第一码率权重;

18、若视频帧的帧复杂度低于所述复杂度阈值,则在所述码率分配信息中为该视频帧赋予第二码率权重,其中,所述第一码率权重大于所述第二码率权重。

19、在一种实施方式中,所述待编码视频帧的各编码树单元行以各自的初始运动矢量为起始运动矢量,相互独立且并行编码,生成编码码流的步骤包括:

20、将待编码视频帧的各编码树单元行分配至8路并行的编码线程,各编码线程以对应编码树单元行的初始运动矢量为起始运动矢量并行编码,生成编码码流;

21、所述通过低时延传输协议连接将所述编码码流传输至接收端,并通过动态抖动缓冲补偿网络抖动,所述动态抖动缓冲的缓冲深度由各视频帧的编码时序、网络抖动统计量以及所述帧复杂度共同确定的步骤包括:

22、在编码码流的传输过程中统计网络抖动统计量,根据所述网络抖动统计量获得抖动方差与丢包率;

23、依据各视频帧的编码时序、所述抖动方差、所述丢包率以及所述帧复杂度计算动态抖动缓冲的目标缓冲深度,并按所述目标缓冲深度调节所述动态抖动缓冲的缓冲深度。

24、在一种实施方式中,所述通过低时延传输协议连接将所述编码码流传输至接收端,并通过动态抖动缓冲补偿网络抖动,所述动态抖动缓冲的缓冲深度由各视频帧的编码时序、网络抖动统计量以及所述帧复杂度共同确定的步骤包括:

25、所述低时延传输协议连接为quic连接,所述quic连接通过0-rtt握手恢复已建立的会话,并通过多路复用流传输所述编码码流;

26、所述目标缓冲深度依据所述抖动方差、所述丢包率与所述帧复杂度的加权和计算得到;

27、在一种实施方式中,所述目标缓冲深度处于5ms至50ms的区间内。

28、在一种实施方式中,所述通过所述低时延传输协议连接的反馈通道获取所述接收端上报的网络状态统计量,并依据所述网络状态统计量动态调节所述编码码流的量化参数qp,以实现端到端低时延传输的步骤包括:

29、通过所述反馈通道接收所述接收端周期性上报的网络状态统计量;

30、依据所述网络状态统计量计算量化参数qp的调节量,并按所述调节量更新后续视频帧的量化参数qp;

31、在量化参数qp更新的编码过程中,保持各编码树单元行相互独立且并行编码。

32、在一种实施方式中,所述依据所述网络状态统计量计算量化参数qp的调节量,并按所述调节量更新后续视频帧的量化参数qp的步骤包括:

33、根据所述网络状态统计量获得往返时延与丢包率;

34、将所述往返时延与预设往返时延阈值比较,并将所述丢包率与预设丢包率阈值比较;

35、当所述往返时延超过所述预设往返时延阈值或所述丢包率超过所述预设丢包率阈值时,按预设调节步长增大量化参数qp以降低编码码率;

36、当所述往返时延回落至所述预设往返时延阈值以内且所述丢包率回落至所述预设丢包率阈值以内时,按所述预设调节步长减小量化参数qp以提高编码码率,其中,相邻两次量化参数qp调节之间保持预设调节时间间隔,以维持各编码树单元行并行编码的结构稳定。

37、第二方面,本技术提供了一种低时延流式视频编解码传输系统,其中,包括:

38、获取模块,用于获取待编码视频帧;

39、预分析模块,用于对所述待编码视频帧进行预分析处理,得到各编码树单元行的初始运动矢量以及由所述待编码视频帧中各视频帧的运动估计结果预测得到的帧复杂度;

40、编码模块,用于所述待编码视频帧的各编码树单元行以各自的初始运动矢量为起始运动矢量,相互独立且并行编码,生成编码码流;

41、传输模块,用于通过低时延传输协议连接将所述编码码流传输至接收端,并通过动态抖动缓冲补偿网络抖动,所述动态抖动缓冲的缓冲深度由各视频帧的编码时序、网络抖动统计量以及所述帧复杂度共同确定;

42、调节模块,用于通过所述低时延传输协议连接的反馈通道获取所述接收端上报的网络状态统计量,并依据所述网络状态统计量动态调节所述编码码流的量化参数qp,以实现端到端低时延传输。

43、第三方面,本技术提供了一种终端,其中,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器在执行所述计算机程序时实现如上所述的方法。

44、第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

45、有益效果:

46、(1)本技术中预分析处理产出的各编码树单元行初始运动矢量由各编码树单元行复用为各自的起始运动矢量,各行编码相互独立并行,显著降低编码时延;

47、(2)各编码树单元行以各自的初始运动矢量为起始运动矢量并行编码,提升并行效率;

48、(3)动态抖动缓冲由各视频帧的编码时序、网络抖动统计量以及帧复杂度共同确定,将缓冲由事后反应转为事前预测,在抖动环境下兼顾时延与稳定性;

49、(4)传输层通过反馈通道将接收端网络状态统计量回传至编码层,动态调节量化参数qp,使编码码率实时适配网络状态变化;由于各行编码以预存的初始运动矢量为起始,qp调节过程中各行仍保持相互独立并行,编码层实时调参维持固定并行架构的时延预算;

50、(5)预分析、编码与传输形成反馈调节回路,在带宽波动与网络抖动条件下将端到端时延控制在低水平,并保持传输稳定性。