CN117614590A - 一种基于混合重传的冗余码率确定方法、装置及设备 - Google Patents
一种基于混合重传的冗余码率确定方法、装置及设备 Download PDFInfo
- Publication number
- CN117614590A CN117614590A CN202311643024.4A CN202311643024A CN117614590A CN 117614590 A CN117614590 A CN 117614590A CN 202311643024 A CN202311643024 A CN 202311643024A CN 117614590 A CN117614590 A CN 117614590A
- Authority
- CN
- China
- Prior art keywords
- code rate
- redundancy
- determining
- rate
- video source
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 20
- 230000000694 effects Effects 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 15
- 208000027744 congestion Diseases 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002265 prevention Effects 0.000 description 3
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请实施例提供了一种基于混合重传的冗余码率确定方法、装置及设备。本申请实施例提供的技术方案通过根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,并在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽时,根据视频源流码率、重传码率以及估算带宽确定剩余码率,并根据剩余码率确定前向纠错策略的目标冗余码率,在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果,提高通信质量。
Description
技术领域
本申请实施例涉及抗丢包技术领域,尤其涉及一种基于混合重传的冗余码率确定方法、装置及设备。
背景技术
当前的实时通信系统中,如多人视频房连麦等场景,对于数据传输的稳定性和可靠性有着较高的要求。而在实时通信中,丢包和抖动是不可避免的问题,这会导致数据传输中的丢失或者错位,影响通信质量和用户体验。为了解决这一问题,自动重传请求(ARQ,Automatic Repeat-Request)和前向纠错(FEC,Forward Error Correction)技术被广泛应用于实时通信中,用于提高对丢包场景下的抗丢包效果和降低端到端时延。
当链路的估算带宽不足以支撑源流发送码率、自动重传请求码率和前向纠错码率时,一般会关闭前向纠错功能,只使用自动重传功能以避免链路拥塞。然而,在链路的估算带宽不足的情况下关闭前向纠错功能,抗丢包处理能力单一,导致抗丢包效果较差。
发明内容
本申请实施例提供一种基于混合重传的冗余码率确定方法、装置及设备,以解决相关技术中在链路的估算带宽不足的情况下关闭前向纠错功能,抗丢包处理能力单一,抗丢包效果较差的技术问题,有效提高抗丢包效果。
在第一方面,本申请实施例提供了一种基于混合重传的冗余码率确定方法,包括:
根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率;
在所述冗余预估码率、所述视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据所述视频源流码率、所述重传码率以及所述估算带宽确定剩余码率;
根据所述剩余码率确定所述前向纠错策略的目标冗余码率。
在第二方面,本申请实施例提供了一种基于混合重传的冗余码率确定装置,包括码率预估模块、余量预估模块和码率确定模块,其中:
所述码率预估模块,配置为根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率;
所述余量预估模块,配置为在所述冗余预估码率、所述视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据所述视频源流码率、所述重传码率以及所述估算带宽确定剩余码率;
所述码率确定模块,配置为根据所述剩余码率确定所述前向纠错策略的目标冗余码率。
在第三方面,本申请实施例提供了一种基于混合重传的冗余码率确定设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于混合重传的冗余码率确定方法。
在第四方面,本申请实施例提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于混合重传的冗余码率确定方法。
在第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行如第一方面所述的基于混合重传的冗余码率确定方法。
本申请实施例通过根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,并在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽时,根据视频源流码率、重传码率以及估算带宽确定剩余码率,并根据剩余码率确定前向纠错策略的目标冗余码率,在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果,提高通信质量。
附图说明
图1是本申请实施例提供的一种基于混合重传的冗余码率确定方法的流程图;
图2是本申请实施例提供的另一种基于混合重传的冗余码率确定方法的流程图;
图3是本申请实施例提供的一种冗余比例确定流程示意图;
图4是本申请实施例提供的一种冗余预估码率确定流程示意图;
图5是申请实施例提供的一种基于混合重传的冗余码率确定装置的结构示意图;
图6是本申请实施例提供的一种基于混合重传的冗余码率确定设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的基于混合重传的冗余码率确定方法可应用于实时通信场景(例如多人视频通话场景、直播、多人视频房连麦等),旨在在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果。在现有的抗丢包方案中,一般是基于混合了自动重传请求策略和前向纠错策略的混合重传策略(HARQ,HybridARQ)进行数据抗丢包处理,但是传统的混合重传策略在带宽不足的情况下通常是直接关闭前向纠错功能,以防止超发导致的链路拥塞。这种策略虽然有效避免了链路拥塞,链路带宽得不到充分利用,抗丢包处理能力单一,大大降低了抗丢包效果,特别是在网络条件不佳的多人视频通话中,会导致用户体验下降。基于此,提供本申请实施例的一种基于混合重传的冗余码率确定方法,以解决现有抗丢包方案在链路的估算带宽不足的情况下关闭前向纠错功能,抗丢包处理能力单一,抗丢包效果较差的技术问题。
图1给出了本申请实施例提供的一种基于混合重传的冗余码率确定方法的流程图,本申请实施例提供的基于混合重传的冗余码率确定方法可以由基于混合重传的冗余码率确定装置来执行,该基于混合重传的冗余码率确定装置可以通过硬件和/或软件的方式实现,并集成在基于混合重传的冗余码率确定设备(例如媒体服务器和/或数据发送端)中。
下述以基于混合重传的冗余码率确定装置执行基于混合重传的冗余码率确定方法为例进行描述。参考图1,该基于混合重传的冗余码率确定方法包括:
S110:根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率。
本方案提供的基于混合重传的冗余码率确定方法可配置在媒体服务器和/或数据发送端中,其中,媒体服务器与数据发送端(例如主播端)和数据接收端(例如观众端)建立通信连接,其中数据发送端收集视频数据并向媒体服务器发送,媒体服务器在接收到视频数据后,向数据接收端发送视频数据,或进行转码处理后将转码视频和/或视频数据发送至数据接收端。
示例性的,确定当前的视频源流码率和当前丢包率,并根据视频源流码率和当前丢包率预估前向纠错策略的冗余预估码率。其中,冗余预估码率可理解为在当前视频源流码率和当前丢包率下,基于前向纠错策略进行抗丢包处理所需要的前向纠错带宽开销。
在一个实施例中,在确定冗余预估码率时,可以是确定当前的视频源流码率和当前丢包率下,在基于前向纠错策略进行抗丢包处理,将链路丢包率从当前丢包率降低到设定的目标丢包率时,需要为前向纠错策略分配的冗余比例。其中,冗余比例可理解为冗余数据包或冗余码率相对于传输的视频数据包(包括视频源流和冗余数据包)或传输的视频码率(包括视频源流码率和冗余码率)的比例。可选的,需要为前向纠错策略分配的冗余比例可根据预先设定的丢包率和冗余比例的对应关系进行确定,不同的前向纠错策略可对应不同的丢包率和冗余比例的对应关系。
进一步的,根据上述确定的冗余比例和视频源流码率确定冗余预估码率,该冗余预估码率即为将链路丢包率从当前丢包率降低到设定的目标丢包率需要为前向纠错策略分配的码率。可选的,在根据冗余比例和视频源流码率确定冗余预估码率时,可以是根据冗余比例和视频源流码率的乘积与设定码率阈值的比值确定冗余码率相对于视频源流码率的冗余度,并根据冗余度和视频源流码率的乘积确定冗余预估码率。其中,设定码率阈值为码率的最大数值,例如设定码率阈值可以是128、192k和256等,即最大码率为128kbps、192kbps和256kbps等。
在一个实施例中,也可将视频源流码率和当前丢包率输入到设定的前向纠错模块(FEC模块)中,由前向纠错模块基于设定的冗余预估码率确定算法,确定在当前的视频源流码率和当前丢包率下,基于前向纠错策略进行抗丢包处理将链路丢包率从当前丢包率降低到设定的目标丢包率所需要为前向纠错策略分配的冗余预估码率。
在一个实施例中,在数据发送端执行基于混合重传的冗余码率确定方法时,数据接收端采集到的视频数据流可作为视频源流,在媒体服务器执行基于混合重传的冗余码率确定方法时,媒体服务器接收到的视频数据(由于存在上行链路丢包的可能,媒体服务器接收到的视频数据可能少于数据发送端发出的视频数据)可作为视频源流。
可选的,基于混合重传的冗余码率确定方法确定目标冗余码率,可以是按照设定时间间隔进行,也可以是针对每个图像组(GoP,Group of picture)进行。以针对每个图像组进行目标冗余码率的确定为例,其中视频源流码率和当前丢包率即为当前接收到的图像组对应的视频源流码率和当前丢包率。
S120:在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据视频源流码率、重传码率以及估算带宽确定剩余码率。
示例性的,在确定冗余预估码率后,确定当前自动重传策略的重传码率预计估算带宽,并确定冗余预估码率、视频源流码率和自动重传策略的重传码率之和是否超过估算带宽。可选的,本方案提供的估算带宽可通过拥塞控制(CC,Congestion Control)模块进行带宽估算得到,还可以是根据一段时间内采集多个接收速率或发送速率进行确定,例如确定在设定时间间隔内被成功接收的数据包大小(即有返回ACK消息的数据包的总大小),根据数据包大小和设定时间间隔的比值确定对应时间段的接收速率或发送速率,在一段时间内采集多个接收速率或发送速率,多个接收速率或发送速率中的最大值可作为估算带宽。
在一个实施例中,在冗余预估码率、视频源流码率和自动重传策略的重传码率之和未超过估算带宽时,可认为当前估算带宽在当前丢包率下可满足自动重传策略和预设冗余码率的前向纠错策略,可按照自动重传策略结合预设冗余码率的前向纠错策略的方式进行抗丢包处理。
在一个实施例中,在冗余预估码率、视频源流码率和自动重传策略的重传码率之和超过估算带宽时,可认为当前估算带宽在当前丢包率下无法满足预设冗余码率的前向纠错策略,则根据视频源流码率、重传码率和估算带宽确定剩余码率。其中,剩余码率可理解为在当前的估算带宽下,为视频源流码率和重传码率分配码率后所剩余的码率。
本方案可利用为视频源流码率和重传码率分配码率后所剩余的码率为前向纠错策略调整冗余码率,降低前向纠错策略的预设冗余码率,充分利用链路带宽为视频源流码率和重传码率分配码率后剩余的码率资源进行冗余数据包的生成和传输,实现在估算带宽不足的情况下灵活调整前向纠错策略的冗余码率生成并发送冗余数据包,尽可能提升带宽利用率,增加丢包恢复及时性,降低视频信息端到端的时延,确保可用带宽得到有效利用提高通信质量,更高效地利用网络资源,提高网络带宽利用率。
S130:根据剩余码率确定前向纠错策略的目标冗余码率。
示例性的,根据剩余码率确定为前向纠错策略分配的目标冗余码率,并按照自动重传策略与基于目标冗余码率的前向纠错策略结合的混合重传策略进行抗丢包处理,即编码处理后发送的视频数据中包括视频源流和基于目标冗余码率生成的冗余数据包,并且在接收端检测到丢包后重新传输丢失的数据包(包括视频源流和冗余数据包)。
在一个实施例中,可将预估的剩余码率的全部或部分码率作为分配给前向纠错策的目标冗余码率。例如,可将剩余码率作为前向纠错策略的目标冗余码率,也可将设定的比例系数(比例系数小于1)与剩余码率的乘积作为前向纠错策略的目标冗余码率。通过根据设定的比例系数与剩余码率的乘积确定目标冗余码率
在一个实施例中,本方案提供的基于混合重传的冗余码率确定方法在根据剩余码率确定前向纠错策略的目标冗余码率后,确定当前时间距离上一次调整前向纠错策略的冗余码率的时间间隔,在时间间隔大于设定时间间隔阈值的情况下,将前向纠错策略的冗余码率更新为目标冗余码率,在时间间隔小于或等于设定时间间隔阈值的情况下,保持当前的冗余码率或将按照设定幅度或比例降低当前的冗余码率。
本方案通过设定更新冗余码率的时间间隔阈值控制冗余码率的更新频率,在距离上次拥塞发生时间不超过时间间隔阈值时,暂时保持之前的冗余码率或更新为较低的冗余码率,减少频繁增加冗余码率导致链路更加拥塞的情况,并有效减少频繁调整冗余码率的数据处理开销,有效维护通信的稳定性。
本方案在当前数据传输链路的估算带宽不足的情况下,不需要关闭前向纠错功能,而是在合理的带宽范围内(即在目标冗余码率内)进行前行纠错编码(FEC编码),减少超发冗余数据包的情况,有效减少冗余数据包超发引起的链路拥塞,有效提高网络稳定性和通信可靠性。通过在多人视频通话中的实时对前向纠错策略的冗余码率进行调整,有效提高通信质量、降低时延、提高网络带宽利用率、减少链路拥塞风险。
上述,通过根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,并在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽时,根据视频源流码率、重传码率以及估算带宽确定剩余码率,并根据剩余码率确定前向纠错策略的目标冗余码率,在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果,提高通信质量。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种基于混合重传的冗余码率确定方法的流程图,该基于混合重传的冗余码率确定方法是对上述基于混合重传的冗余码率确定方法的具体化。参考图2,该基于混合重传的冗余码率确定方法包括:
S210:根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例。
示例性的,确定当前的视频源流码率和当前丢包率,根据视频源流码率和当前丢包率估算关键帧冗余比例以及非关键帧冗余比例。其中关键帧冗余比例可理解为基于前向纠错策略为图像组(GoP)中的关键帧(I帧)生成冗余数据包所需的冗余比例,非关键帧冗余比例可理解为基于前向纠错策略为图像组中的非关键帧(P帧)生成冗余数据包所需的冗余比例。
在一个可能的实施例中,如图3提供的一种冗余比例确定流程示意图所示,本方案提供的基于混合重传的冗余码率确定方法在根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例时,包括:
S211:根据视频源流分辨率以及设定参考分辨率确定分辨率参考比,并根据分辨率参考比确定估算码率增益系数。
S212:根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例。
示例性的,根据视频源流分辨率和设定参考分辨率确定分辨率参考比,例如将视频源流分辨率和设定参考分辨率的比值作为分辨率参考比。在一个实施例中,分辨率参考比可基于以下分辨率参考比确定公式进行确定:
其中,spatialSizeToRef为分辨率参考比,a*b为设定参考分辨率(例如a*b=704*576),codecWidth*codecHeight为视频源流分辨率。
在一个实施例中,在确定分辨率参考比后,根据分辨率参考比确定估算码率增益系数。在一个实施例中,估算码率增益系数可根据第一设定系数与分辨率参考比的第二设定系数次幂的比值确定。可选的,估算码率增益系数可根据以下估算码率增益系数确定公式进行确定:
resolnFac=c/powf(spatialSizeToRef,d)
其中,resolnFac为估算码率增益系数,c为第一设定系数,例如c=1.0,d为第二设定系数,例如d=0.3,powf(x,y)为计算x的y次幂。
在一个实施例中,根据上述确定的估算码率增益系数、视频源流单帧码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例。其中,视频源流单帧码率可以是当前图像组中一帧图像对应的码率(平均码率),可选的,可将图像组对应的图像帧码率总数与图像组对应的图像帧总数的比值作为视频源流单帧码率。可选的,图像组对应的图像帧总数可根据图像组对应的帧率和时间长度的乘积确定。
本方案通过根据视频源流分辨率以及设定参考分辨率确定分辨率参考比,以及根据分辨率参考比确定估算码率增益系数,并根据估算码率增益系数、视频源流单帧码率以及当前丢包率准确确定关键帧冗余比例以及非关键帧冗余比例,准确确定基于前向纠错策略为图像组中的关键帧生成冗余数据包所需的冗余比例,以及以为非关键帧生成冗余数据包所需的冗余比例,提高对冗余预估码率的估算准确度,准确估算基于前向纠错策略进行抗丢包处理所需要的前向纠错带宽开销,提高基于混合重传的冗余码率确定准确度,有效提高抗丢包效果和通信质量。
在一个可能的实施例中,本方案提供的基于混合重传的冗余码率确定方法在根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例时,包括:
S2121:根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定索引值。
S2122:根据设定的关键帧冗余表、非关键帧冗余表以及索引值确定关键帧冗余比例以及非关键帧冗余比例。
本方案提供的冗余比例(包括关键帧冗余比例以及非关键帧冗余比例)可通过预先设定的冗余表(包括关键帧对应的关键帧冗余表以及非关键帧对应的非关键帧冗余表)进行确定。其中,冗余表记录有不同估算码率增益系数、视频源流单帧码率以及当前丢包率下对应的冗余比例,并且不同的估算码率增益系数、视频源流单帧码率以及当前丢包率对应不同的索引值。
在一个实施例中,冗余表可通过kFecRateTable进行定义,冗余表定义为一个一维数组,该一维数组可通过一个二维数组进行确定:kFecRateTable[rate_i][loss],其每一行定义的是e个元素,例如e=129。基于此,冗余表的索引方式可表示为:
kFecRateTable[k],where k=rate_i*e+loss
其中,k为索引值,rate_i为中间码率,loss为丢包率。
可见冗余表数组的第一维元素为中间码率(单位为kbps),这个中间码率可根据估算的视频源流单帧码率除以f确定,f为冗余比例的变化反映到冗余表中的码率间隔,f的取值范围可以是[1,10],例如f=5,即冗余比例每5kbps变化映射到一个索引上。冗余表数组的第二维元素为丢包率,丢包率的表示方法是loss_ratio*g,g为设定码率阈值,例如g=256,loss_ratio为50%时,该值loSs_ratio*g=128,因此50%的丢包率是能支持的最大值。最后,通过冗余表查到的冗余比例FEC Protection Factor的含义是:
fec_rate=g*fecRate/(sourceRate+fecRate)
其中,fecRate为冗余预估码率,sourceRate为视频源流码率,fec_rat的取值范围为[0,g],例如fec_rat的取值范围为[0,256]。
示例性的,在确定估算码率增益系数后,根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定索引值。在一个实施例中,索引值可通过以下索引值确定公式进行确定:
indexTable=rate_i*e+packetLoss
rate_i=(resolnFac*bitRatePerFrame)/f
其中,indexTable为索引值,即一维数据k,resolnFac为估算码率增益系数,bitRatePerFrame为视频源流单帧码率,rate_i为基于估算码率增益系数和视频源流单帧码率确定的中间码率,packetLoss为当前丢包率,e为冗余表中一行的元素数量,例如e=129,f为冗余比例的变化反映到冗余表中的码率间隔,例如f=5。
在一个实施例中,在确定索引值后,将该索引值分别代入到关键帧冗余表和非关键帧冗余表中,分别确定关键帧冗余比例和非关键帧冗余比例。本方案通过根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定索引值,并根据索引值分别在关键帧冗余表和非关键帧冗余表中确定关键帧冗余比例和非关键帧冗余比例,有效提高对冗余预估码率的估算准确度,提高基于混合重传的冗余码率确定准确度,有效提高抗丢包效果和通信质量。
S220:根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例确定前向纠错策略的冗余预估码率。
示例性的,根据视频源流码率以及上述确定的关键帧冗余比例和非关键帧冗余比例,估算前向纠错策略的冗余预估码率。本方案通过根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例,并根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例准确确定前向纠错策略的冗余预估码率,准确估算基于前向纠错策略进行抗丢包处理所需要的前向纠错带宽开销,准确判断当前估算带宽是否满足同时使用自动重传策略和预设冗余码率的前向纠错策略,提高基于混合重传的冗余码率确定准确度,有效提高抗丢包效果和通信质量。
在一个可能的实施例中,如图4提供的一种冗余预估码率确定流程示意图所示,本方案提供的基于混合重传的冗余码率确定方法在根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例确定前向纠错策略的冗余预估码率时,包括:
S221:确定视频源流的关键帧权重系数,并根据关键帧权重系数、关键帧冗余比例以及非关键帧冗余比例确定冗余码率冗余度。
S222:根据视频源流码率以及冗余码率冗余度确定前向纠错策略的冗余预估码率。
示例性的,在确定关键帧冗余比例和非关键帧冗余比例后,确定视频源流的关键帧权重系数。其中,视频源流的关键帧权重系数可理解为视频源流中关键帧所对应的权重,关键帧权重系数可根据图像组中关键帧数量和图像组图像帧数量(包括关键帧数量和非关键帧数量)的比值确定,关键帧权重系数的取值范围为(0,1)。可选的,视频源流的关键帧权重系数可通过以下关键帧权重系数确定公式进行确定:
alpha=IFrameCount/(IFrameCount+PFrameCount)
其中,alpha为关键帧权重系数,IFrameCount为关键帧数量,PFrameCount为非关键帧数量。
在一个实施例中,根据上述确定的关键帧权重系数、关键帧冗余比例和非关键帧冗余比例确定冗余码率冗余度。其中冗余码率冗余度可理解为基于前向纠错策略为图像组生成冗余数据包所需的码率的冗余度。可选的,本方案提供的冗余预估码率可通过以下冗余预估码率确定公式进行确定:
fecRedundancy=alpha*KeyFecParams.fec_rate/g+(1-alpha)
*DeltaFecParams.fec_rate/g
其中,fecRedundancy为冗余预估码率,alpha为关键帧权重系数,KeyFecParams.fec_rate为关键帧冗余比例,DeltaFecParams.fec_rate为非关键帧冗余比例,g为设定码率阈值,例如g=256。
本方案通过根据视频源流的关键帧权重系数、关键帧冗余比例和非关键帧冗余比例确定冗余码率冗余度,并根据视频源流码率和冗余码率冗余度准确确定前向纠错策略的冗余预估码率,提高对基于前向纠错策略进行抗丢包处理所需要的前向纠错带宽开销的估算准确度,有效提高抗丢包效果和通信质量。
S230:在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据视频源流码率、重传码率以及估算带宽确定剩余码率。
S240:根据剩余码率以及视频源流码率确定码率调整系数。
S250:根据码率调整系数以及设定的冗余码率对齐系数确定前向纠错策略的目标冗余码率。
示例性的,在确定剩余码率后,根据剩余码率和视频源流码率确定码率调整系数。可选的,可将剩余码率和视频源流码率的比值作为码率调整系数,也可以将剩余码率和设定的比例系数(设定的比例系数小于1)的乘积,与视频源流码率的比值作为码率调整系数。
在一个实施例中,本方案提供的基于混合重传的冗余码率确定方法在根据剩余码率以及视频源流码率确定码率调整系数时,可以是根据设定的比例系数、剩余码率以及视频源流码率确定码率调整系数。
示例性的,将剩余码率和设定的比例系数的乘积,与视频源流码率的比值作为码率调整系数。可选的,本方案提供的码率调整系数可通过以下码率调整系数确定公式进行确定:
frameRatio=remainingBandwith*h/streamRecvRate
其中,frameRatio为码率调整系数,remainingBandwith为剩余码率,streamRecvRate为视频源流码率,h为设定比例,h的取值范围可以是[1,10],例如h=5。本方案通过根据设定的比例系数、剩余码率以及视频源流码率确定码率调整系数,利用设定的比例系数缩小从剩余码率分配的目标冗余码率,减少对剩余码率的利用程度,减少冗余数据包超发导致的链路拥塞。
在一个实施例中,在确定码率调整系数后,根据码率调整系数以及设定的冗余码率对齐系数确定前向纠错策略的目标冗余码率。可选的,冗余码率对齐系数可根据设定码率阈值进行确定,例如将设定码率阈值作为冗余码率对齐系数,或将设定码率阈值与设定比例系数的乘积作为冗余码率对齐系数。可选的,本方案提供的目标冗余码率可通过以下目标冗余码率确定公式进行确定:
adjustFecRate=i*frameRatio
其中,adjustFecRate为目标冗余码率,frameRatio为码率调整系数,i为冗余码率对齐系数,例如i=255,即将目标冗余码率向阈值为255的冗余码率对齐,保证前向纠错策略的正确进行。本方案通过根据剩余码率以及视频源流码率确定码率调整系数,并根据码率调整系数以及设定的冗余码率对齐系数确定前向纠错策略的目标冗余码率,利用冗余码率对齐系数将目标冗余码率向冗余码率的取值范围对齐,保证前向纠错策略的正确进行。
上述,通过根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,并在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽时,根据视频源流码率、重传码率以及估算带宽确定剩余码率,并根据剩余码率确定前向纠错策略的目标冗余码率,在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果,提高通信质量。同时,通过根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例,并根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例准确确定前向纠错策略的冗余预估码率,准确估算基于前向纠错策略进行抗丢包处理所需要的前向纠错带宽开销,准确判断当前估算带宽是否满足同时使用自动重传策略和预设冗余码率的前向纠错策略,提高基于混合重传的冗余码率确定准确度,有效提高抗丢包效果和通信质量。
图5是本申请实施例提供的一种基于混合重传的冗余码率确定装置的结构示意图。参考图5,该基于混合重传的冗余码率确定装置包括码率预估模块51、余量预估模块52和码率确定模块53。
其中,码率预估模块51,配置为根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率;余量预估模块52,配置为在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据视频源流码率、重传码率以及估算带宽确定剩余码率;码率确定模块53,配置为根据剩余码率确定前向纠错策略的目标冗余码率。
上述,通过根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,并在冗余预估码率、视频源流码率以及自动重传策略的重传码率之和超过估算带宽时,根据视频源流码率、重传码率以及估算带宽确定剩余码率,并根据剩余码率确定前向纠错策略的目标冗余码率,在链路的估算带宽不足的情况下根据估计的剩余码率确定前向纠错策略的目标冗余码率,不需要关闭前向纠错功能,有效提高抗丢包效果,提高通信质量。
在一个可能的实施例中,码率预估模块51在根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率时,配置为:
根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例;
根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例确定前向纠错策略的冗余预估码率。
在一个可能的实施例中,码率预估模块51在根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例时,配置为:
根据视频源流分辨率以及设定参考分辨率确定分辨率参考比,并根据分辨率参考比确定估算码率增益系数;
根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例。
在一个可能的实施例中,码率预估模块51在根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例时,配置为:
根据估算码率增益系数、视频源流单帧码率以及当前丢包率确定索引值;
根据设定的关键帧冗余表、非关键帧冗余表以及索引值确定关键帧冗余比例以及非关键帧冗余比例。
在一个可能的实施例中,码率预估模块51在根据视频源流码率、关键帧冗余比例以及非关键帧冗余比例确定前向纠错策略的冗余预估码率时,配置为:
确定视频源流的关键帧权重系数,并根据关键帧权重系数、关键帧冗余比例以及非关键帧冗余比例确定冗余码率冗余度;
根据视频源流码率以及冗余码率冗余度确定前向纠错策略的冗余预估码率。
在一个可能的实施例中,码率确定模块53在根据剩余码率确定前向纠错策略的目标冗余码率时,配置为:
根据剩余码率以及视频源流码率确定码率调整系数;
根据码率调整系数以及设定的冗余码率对齐系数确定前向纠错策略的目标冗余码率。
在一个可能的实施例中,码率确定模块53在根据剩余码率以及视频源流码率确定码率调整系数时,配置为根据设定的比例系数、剩余码率以及视频源流码率确定码率调整系数。
值得注意的是,上述基于混合重传的冗余码率确定装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
本申请实施例还提供了一种基于混合重传的冗余码率确定设备,该基于混合重传的冗余码率确定设备可集成本申请实施例提供的基于混合重传的冗余码率确定装置。图6是本申请实施例提供的一种基于混合重传的冗余码率确定设备的结构示意图。参考图6,该基于混合重传的冗余码率确定设备包括:输入装置63、输出装置64、存储器62以及一个或多个处理器61;存储器62,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器61执行,使得一个或多个处理器61实现如上述实施例提供的基于混合重传的冗余码率确定方法。上述提供的基于混合重传的冗余码率确定装置、设备和计算机可用于执行上述任意实施例提供的基于混合重传的冗余码率确定方法,具备相应的功能和有益效果。
本申请实施例还提供一种存储计算机可执行指令的非易失性存储介质,计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于混合重传的冗余码率确定方法。当然,本申请实施例所提供的一种存储计算机可执行指令的非易失性存储介质,其计算机可执行指令不限于如上提供的基于混合重传的冗余码率确定方法,还可以执行本申请任意实施例所提供的基于混合重传的冗余码率确定方法中的相关操作。上述实施例中提供的基于混合重传的冗余码率确定装置、设备及存储介质可执行本申请任意实施例所提供的基于混合重传的冗余码率确定方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于混合重传的冗余码率确定方法。
在上述实施例的基础上,本申请实施例还提供一种计算机程序产品,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备、移动终端或其中的处理器执行本申请各个实施例所提供的基于混合重传的冗余码率确定方法的全部或部分步骤。
Claims (11)
1.一种基于混合重传的冗余码率确定方法,其特征在于,包括:
根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率;
在所述冗余预估码率、所述视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据所述视频源流码率、所述重传码率以及所述估算带宽确定剩余码率;
根据所述剩余码率确定所述前向纠错策略的目标冗余码率。
2.根据权利要求1所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率,包括:
根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例;
根据所述视频源流码率、所述关键帧冗余比例以及所述非关键帧冗余比例确定前向纠错策略的冗余预估码率。
3.根据权利要求2所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据视频源流码率和当前丢包率确定关键帧冗余比例以及非关键帧冗余比例,包括:
根据视频源流分辨率以及设定参考分辨率确定分辨率参考比,并根据所述分辨率参考比确定估算码率增益系数;
根据所述估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例。
4.根据权利要求3所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据所述估算码率增益系数、视频源流单帧码率以及当前丢包率确定关键帧冗余比例以及非关键帧冗余比例,包括:
根据所述估算码率增益系数、视频源流单帧码率以及当前丢包率确定索引值;
根据设定的关键帧冗余表、非关键帧冗余表以及所述索引值确定关键帧冗余比例以及非关键帧冗余比例。
5.根据权利要求2所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据所述视频源流码率、所述关键帧冗余比例以及所述非关键帧冗余比例确定前向纠错策略的冗余预估码率,包括:
确定视频源流的关键帧权重系数,并根据所述关键帧权重系数、所述关键帧冗余比例以及所述非关键帧冗余比例确定冗余码率冗余度;
根据所述视频源流码率以及所述冗余码率冗余度确定前向纠错策略的冗余预估码率。
6.根据权利要求1所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据所述剩余码率确定所述前向纠错策略的目标冗余码率,包括:
根据所述剩余码率以及所述视频源流码率确定码率调整系数;
根据所述码率调整系数以及设定的冗余码率对齐系数确定所述前向纠错策略的目标冗余码率。
7.根据权利要求6所述的基于混合重传的冗余码率确定方法,其特征在于,所述根据所述剩余码率以及所述视频源流码率确定码率调整系数,包括:
根据设定的比例系数、所述剩余码率以及所述视频源流码率确定码率调整系数。
8.一种基于混合重传的冗余码率确定装置,其特征在于,包括码率预估模块、余量预估模块和码率确定模块,其中:
所述码率预估模块,配置为根据视频源流码率和当前丢包率确定前向纠错策略的冗余预估码率;
所述余量预估模块,配置为在所述冗余预估码率、所述视频源流码率以及自动重传策略的重传码率之和超过估算带宽的情况下,根据所述视频源流码率、所述重传码率以及所述估算带宽确定剩余码率;
所述码率确定模块,配置为根据所述剩余码率确定所述前向纠错策略的目标冗余码率。
9.一种基于混合重传的冗余码率确定设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的基于混合重传的冗余码率确定方法。
10.一种存储计算机可执行指令的非易失性存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的基于混合重传的冗余码率确定方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的基于混合重传的冗余码率确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311643024.4A CN117614590A (zh) | 2023-12-01 | 2023-12-01 | 一种基于混合重传的冗余码率确定方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311643024.4A CN117614590A (zh) | 2023-12-01 | 2023-12-01 | 一种基于混合重传的冗余码率确定方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117614590A true CN117614590A (zh) | 2024-02-27 |
Family
ID=89955795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311643024.4A Pending CN117614590A (zh) | 2023-12-01 | 2023-12-01 | 一种基于混合重传的冗余码率确定方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117614590A (zh) |
-
2023
- 2023-12-01 CN CN202311643024.4A patent/CN117614590A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100592670C (zh) | 一种在iptv网络中动态自适应前向差错控制的系统及方法 | |
CN101878612B (zh) | 用于数据网络中的数据传输的方法和系统 | |
US20030018794A1 (en) | Architecture and related methods for streaming media content through heterogeneous networks | |
CN106658223B (zh) | 一种长期演进lte网络下的视频上行传输方法及装置 | |
JP2001274861A (ja) | データ伝送方法および装置 | |
CN103795996B (zh) | 3d视频传递方法和设备 | |
CN115314479B (zh) | 流媒体传输容错控制方法及其系统 | |
CN111629210A (zh) | 一种数据处理的方法、装置及电子设备 | |
Wu et al. | Streaming high-definition real-time video to mobile devices with partially reliable transfer | |
US20100162070A1 (en) | Method and apparatus for optimizing a retry limit for multimedia systems that are prone to errors | |
CN103354615A (zh) | 基于信号强度的直播视频数据传输差错控制方法 | |
US20060056523A1 (en) | Device and process for adjusting the bit rate of a stream of contents and associated products | |
CN101312536B (zh) | 一种用于视频传输差错控制的视频编码方法及装置 | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
CN115001632A (zh) | 一种信息传输方法、装置、电子设备及可读存储介质 | |
CN109587488B (zh) | 一种基于率失真优化和丢帧预测的长参考帧的选取方法 | |
CN113079347B (zh) | 一种远程驾驶的实现方法及实现装置 | |
CN110868616A (zh) | 一种5g网络下低延时高可靠视频传输方法 | |
CN116094661A (zh) | 一种数据传输控制方法、装置、设备、存储介质及产品 | |
CN116318545A (zh) | 视频数据传输方法、装置、设备及存储介质 | |
CN117614590A (zh) | 一种基于混合重传的冗余码率确定方法、装置及设备 | |
CN109379165B (zh) | 一种适用视频通信的丢包处理方法 | |
WO2021164405A1 (zh) | 数据编解码方法、相关设备及系统 | |
JPH1155345A (ja) | 通信装置 | |
CN115277654B (zh) | 一种rtc系统的带宽资源分配系统 |
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 |