掌桥专利:专业的专利平台
掌桥专利
首页

一种数据传输控制方法、装置、设备、存储介质及产品

文献发布时间:2023-06-19 19:28:50


一种数据传输控制方法、装置、设备、存储介质及产品

技术领域

本申请实施例涉及编码技术领域,尤其涉及一种数据传输控制方法、装置、设备、存储介质及产品。

背景技术

在媒体数据的传输过程中,容易因为传输链路拥塞、多路径衰落、数据包损坏等原因出现数据包丢包的情况。为了保证数据传输的可靠性,一般基于包含自动重传请求(ARQ,Automatic Repeat-reQuest)和前向纠错(FEC,forward error correction)的混合式自动重送请求(HARQ,Hybrid Automatic Repeat reQuest)对数据包进行混合重传处理。

虽然混合式自动重送请求能够有效恢复丢失的媒体数据包,但是过多的自动重传请求、前向纠错冗余包会占用大量的带宽资源,导致媒体数据包出现发送堆积,容易出现媒体数据播放的丢帧、播空等情况,数据传输效果较差。

发明内容

本申请实施例提供一种数据传输控制方法、装置、设备、存储介质及产品,以解决相关技术中混合式自动重送请求占用大量的带宽资源,数据传输效果较差的技术问题,以合理分配带宽资源,有效提高数据传输效果。

在第一方面,本申请实施例提供了一种数据传输控制方法,包括:

获取传输链路对应的网络码率限制信息,基于所述网络码率限制信息以及预设混合重传限制信息和成功率限制信息,确定预设编码码率;

基于所述预设编码码率,通过编码器对待编码数据进行编码处理,得到编码数据包;

获取所述编码器在编码处理过程中的实际编码码率,基于所述实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息;

发送所述编码数据包,并基于所述混合重传码率限制信息对所述编码数据包进行混合重传处理。

在第二方面,本申请实施例提供了一种数据传输控制装置,包括预设码率确定模块、编码处理模块、重传码率确定模块和数据传输控制模块,其中:

所述预设码率确定模块,配置为获取传输链路对应的网络码率限制信息,基于所述网络码率限制信息以及预设混合重传限制信息和成功率限制信息,确定预设编码码率;

所述编码处理模块,配置为基于所述预设编码码率,通过编码器对待编码数据进行编码处理,得到编码数据包;

所述重传码率确定模块,配置为获取所述编码器在编码处理过程中的实际编码码率,基于所述实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息;

所述数据传输控制模块,配置为发送所述编码数据包,并基于所述混合重传码率限制信息对所述编码数据包进行混合重传处理。

在第三方面,本申请实施例提供了一种数据传输控制设备,包括:存储器以及一个或多个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据传输控制方法。

在第四方面,本申请实施例提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的数据传输控制方法。

在第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行如第一方面所述的数据传输控制方法。

本申请实施例通过根据网络码率限制信息、预设混合重传限制信息和成功率限制信息确定预设编码码率,基于预设编码码率对待编码数据进行编码处理得到编码数据包,并根据编码器在编码处理过程中的实际编码码率以及实际混合重传限制信息确定混合重传码率限制信息,并基于混合重传码率限制信息对编码数据包进行混合重传处理,通过在编码前基于预设编码码率保证足够的编码码率,以及通过在编码后基于混合重传码率限制信息保证足够的传输成功率,更合理地分配带宽资源,有效提高数据传输效果。

附图说明

图1是本申请实施例提供的一种数据传输控制方法的流程图;

图2是本申请实施例提供的一种混合重传码率限制信息确定流程示意图;

图3是本申请实施例提供的一种数据传输控制装置的结构示意图;

图4是本申请实施例提供的一种数据传输控制设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。

本申请提供的数据传输控制方法可应用于直播数据传输链路中的码控、编码以及传输过程,旨在通过在编码前基于预设编码码率保证足够的编码码率,以及通过在编码后基于混合重传码率限制信息保证足够的传输成功率,以合理地分配带宽资源,有效提高数据传输效果。传统的数据传输控制在分配带宽资源时,一般使用估计带宽*(1-链路丢包率)对应的值作为编码指导码率进而计算得到预设帧率与分辨率。然而,这种方案没有考虑混合式自动重送请求策略的有效性,实际上在对传输延时有要求的场景,过多的自动重传请求、前向纠错冗余包会占用大量的带宽资源,导致媒体数据包出现发送堆积,容易出现媒体数据播放的丢帧、播空等情况,数据传输效果较差,基于此,提供本申请实施例的一种数据传输控制方法,已解决现有数据传输控制方法数据传输效果较差的技术问题。

图1给出了本申请实施例提供的一种数据传输控制方法的流程图,本申请实施例提供的数据传输控制方法可以由数据传输控制装置来执行,该数据传输控制装置可以通过硬件和/或软件的方式实现,并集成在数据传输控制设备中。

下述以数据传输控制装置执行数据传输控制方法为例进行描述。参考图1,该数据传输控制方法包括:

S101:获取传输链路对应的网络码率限制信息,基于网络码率限制信息以及预设混合重传限制信息和成功率限制信息,确定预设编码码率。

本方案提供的传输链路对应的网络码率限制信息可由设定的拥塞控制模块提供,拥塞控制模块可实时采集传输链路对应的链路带宽、传输丢包率等,以及基于设定的拥塞控制算法控制发送窗口发送编码数据包。可选的,传输链路对应的网络码率限制信息可基于传输链路对应的链路带宽确定。

其中,网络码率限制信息可理解为拥塞控制模块基于采集到的传输链路的网络状况估算得到的,在传输链路当前拥有的带宽资源下,进行图像编码的最大编码码率。预设混合重传限制信息可理解为对预先配置的混合重传模块执行混合重传策略的限制(例如限制混合重传策略对应的码率上限),成功率限制信息可理解为传输链路成功发送数据包的成功率下限(例如成功率下限值),成功率限制信息可基于实际业务场景进行设定。

示例性的,从拥塞控制模块获取传输链路对应的网络码率限制信息(可通过传输链路的实时链路带宽确定)以及传输丢包率。并根据上述获取的网络码率限制信息,以及预先设定的预设混合重传限制信息和预先设定的成功率限制信息,计算预设编码码率。

在一个可能的实施例中,本方案提供的数据传输控制方法在基于网络码率限制信息以及预设混合重传限制信息和成功率限制信息,确定预设编码码率时,可以是基于网络码率限制信息以及预设重传码率、预设前向纠错码率和成功率下限值对应的码率约束条件,求解符合码率约束条件的最大的预设编码码率。

本方案提供的混合重传策略包括自动重传请求(ARQ)策略和前向纠错(FEC)策略,对应的,预设混合重传限制信息包括预设重传码率和预设前向纠错码率。其中,预设重传码率可理解为在编码前预先设定的对自动重传请求策略对应的码率限制,预设前向纠错码率可理解为在编码前预先设定的对前向纠错策略对应的码率限制。

示例性的,在确定传输链路对应的网络码率限制信息后,获取预设重传码率、预设前向纠错码率和成功率下限值,并根据网络码率限制信息、预设重传码率、预设前向纠错码率和成功率下限值确定当前的码率约束条件。进一步的,求解符上述合码率约束条件的最大的预设编码码率。本方案基于网络码率限制信息以及预设重传码率、预设前向纠错码率和成功率下限值对应的码率约束条件,确定最大的预设编码码率,在编码处理前确定最大化预设编码码率,基于网络状况在编码处理前为编码器分配更多的带宽资源进行编码处理,提高图像编码质量。

在一个可能的实施例中,在t时刻触发对待编码数据的编码处理时,本方案提供的预设编码码率可基于以下优化问题O1进行确定:

在一个可能的实施例中,本方案提供的码率约束条件可基于以下公式确定:

其中,

在一个可能的实施例中,本方案提供的预估传输成功率信息可基于以下公式确定:

其中,

在一个实施例中,本方案提供的预设重传成功率信息可基于预设重传码率、预设编码码率和传输丢包率进行确定,即

在一个可能的实施例中,对P

在一个可能的实施例中,本方案提供的预设重传成功率信息可基于以下公式确定:

其中,

需要进行解释的是,分别对预设重传成功率信息

那么对预设重传码率

由于

在一个可能的实施例中,以RS(Reed Solomon)纠错码算法为例,对P

在一个可能的实施例中,本方案提供的预设向纠错成功率信息可基于以下公式确定:

其中,

S102:基于预设编码码率,通过编码器对待编码数据进行编码处理,得到编码数据包。

示例性的,在确定预设编码码率后,将预设编码码率发送给编码器,编码器将从编码队列中获取需要进行编码处理的待编码数据,并基于预设编码码率(使编码器的实际编码码率与预设编码码率一致或接近)对待编码数据进行编码处理得到编码数据包。

在一个可能的实施例中,本方案提供的数据传输控制方法在基于预设编码码率,通过编码器对待编码数据进行编码处理,得到编码数据包时,包括:以预设编码码率为编码码率上限,通过编码器对待编码数据进行编码处理,得到编码数据包。

示例性的,编码器在获取需要进行编码处理的待编码数据后,以预设编码码率为对待编码数据进行编码的编码码率上限,对待编码数据进行编码处理得到编码数据包。例如编码器中的码控模块以预设编码码率为编码码率上限确定编码帧率和分辨率,编码器中的编码模块根据码控模块确定的编码帧率和分辨率对待编码数据进行编码处理得到编码数据包。

本方案在编码前确定最大化预设编码码率,以最大化的预设编码码率为编码码率上限对待编码数据进行编码处理,为码控与编码模块设置编码码率上限,使得编码器在当前最大可用的预设编码码率的限制下进行图像编码,提高了图像编码质量。

S103:获取编码器在编码处理过程中的实际编码码率,基于实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息。

本方案提供的编码器在基于预设编码码率对待编码数据进行编码处理时,有可能存在实际编码码率与预设编码码率不一致的情况,编码器在对待编码数据进行编码处理时,同时记录在编码处理过程中的实际编码码率。同时,混合重传模块在基于设定的混合重传策略控制编码数据包的发送处理过程中对应的实际混合重传限制信息。

示例性的,获取编码器在编码处理过程中的实际编码码率,以及混合重传模块在控制编码数据包的发送处理过程中对应的实际混合重传限制信息,并根据实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息。

在一个可能的实施例中,如图2提供的一种混合重传码率限制信息确定流程示意图所示,本方案提供的数据传输控制方法在于实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息时,包括:

S1031:基于实际编码码率以及实际重传码率和实际前向纠错码率对应的成功率约束条件,求解符合成功率约束条件的最大的目标传输成功率。

S1032:基于目标传输成功率确定混合重传策略对应的混合重传码率限制信息。

本方案提供的混合重传策略包括自动重传请求策略和前向纠错策略,对应的,实际混合重传限制信息包括自动重传请求策略对应的实际重传码率和前向纠错策略对应的实际前向纠错码率。

示例性的,获取实际编码码率以及实际重传码率和实际前向纠错码率,根据实际编码码率以及实际重传码率和实际前向纠错码率确定当前的成功率约束条件,并求解符合上述成功率约束条件的最大的目标传输成功率,并根据最大的目标传输成功率,确定在成功率约束条件下混合重传策略对应的混合重传码率限制信息。

在一个可能的实施例中,本方案提供的数据传输控制方法在基于目标传输成功率确定混合重传策略对应的混合重传码率限制信息时,包括:将目标传输成功率对应的实际重传码率和实际前向纠错码率,确定为混合重传策略对应的重传码率上限和前向纠错码率上限。

示例性的,在确定最大的目标传输成功率后,确定在成功率约束条件下,最大的目标传输成功率对应的实际重传码率和实际前向纠错码率,并将最大目标传输成功率对应的实际重传码率和实际前向纠错码率确定为混合重传策略对应的重传码率上限和前向纠错码率上限。本方案基于实际编码码率以及实际重传码率和实际前向纠错码率对应的成功率约束条件,确定最大的目标传输成功率,并根据最大目标传输成功率确定混合重传策略对应的混合重传码率限制信息,实现在保证编码质量的前提下,提高数据传输的成功率,有效提高数据传输效果。

在一个可能的实施例中,本方案提供的目标传输成功率可基于以下优化问题O2进行确定:

在一个可能的实施例中,本方案提供的成功率约束条件可基于以下公式确定:

其中,

在一个可能的实施例中,本方案提供的目标传输成功率可基于以下公式确定:

/>

其中,

其中,本方案提供的实际重传成功率信息可基于以下公式确定:

其中,

其中,本方案提供的实际前向纠错成功率信息可基于以下公式确定:

其中,

参考优化问题O1中成功率信息和重传码率之间的关系,优化问题O2同样为凸问题,同样可以基于拉格朗日对偶方法进行求解,得到符合成功率约束条件的最大的目标传输成功率。

S104:发送编码数据包,并基于混合重传码率限制信息对编码数据包进行混合重传处理。

示例性的,向设定的服务器发送编码数据包,由服务器对编编码数据包进行转码处理并向各个用户终端(例如观众端)发送对应的视频数据,同时可根据服务器返回的确认信息(ACK信息)确认是否发生丢包。在发送编码数据包时,根据混合重传码率限制信息对编码数据包进行混合重传处理。

在一个可能的实施例中,本方案提供的数据传输控制方法在基于混合重传码率限制信息对编码数据包进行混合重传处理时,包括:在出现丢包的情况下,基于混合重传码率限制信息对应的重传码率上限以及实时数据发送速率,确定是否重新发送数据包;基于混合重传码率限制信息对应的前向纠错码率上限,生成并发送编码数据包对应的冗余数据包。

示例性的,在根据服务器返回的确认信息确定出现丢包的情况时,获取当前数据链路的时数据发送速率,并根据混合重传码率限制信息对应的重传码率上限以及实时数据发送速率的比较情况,确定是否重新发送数据包。例如,在重传码率上限小于实时数据发送速率时,确定重新发送数据包,而在重传码率上限大于实时数据发送速率时,确定不重新发送数据包。

同时,混合重传模块基于设定的前向纠错策略,按照混合重传码率限制信息对应的前向纠错码率上限生成编码数据包对应的冗余数据包,并向设定的服务器发送。

本方案通过根据重传码率上限以及实时数据发送速率,确定是否重新发送数据包,实时根据带宽情况调整数据重传数量,减少传输链路发生堆积导致播放卡顿的情况。同时,基于前向纠错码率上限生成编码数据包对应的冗余数据包,实时根据带宽情况调整冗余数据包的码率,有效对抗网络产生的抖动,提高传输质量。

上述,通过根据网络码率限制信息、预设混合重传限制信息和成功率限制信息确定预设编码码率,基于预设编码码率对待编码数据进行编码处理得到编码数据包,并根据编码器在编码处理过程中的实际编码码率以及实际混合重传限制信息确定混合重传码率限制信息,并基于混合重传码率限制信息对编码数据包进行混合重传处理,通过在编码前基于预设编码码率保证足够的编码码率,以及通过在编码后基于混合重传码率限制信息保证足够的传输成功率,更合理地分配带宽资源,有效提高数据传输效果。本方案通过基于两段式优化问题的带宽分配策略,编码前以最大化码率为目标确定预设编码码率,编码后以最大化传输成功概率为目标确定混合重传码率限制信息,协同了编码器与数据传输的工作,在实时流媒体传输场景中可有效提升带宽利用率并降低丢帧、卡顿等情况。

图3是本申请实施例提供的一种数据传输控制装置的结构示意图。参考图3,该数据传输控制装置包括预设码率确定模块31、编码处理模块32、重传码率确定模块33和数据传输控制模块34。

其中,预设码率确定模块31,配置为获取传输链路对应的网络码率限制信息,基于网络码率限制信息以及预设混合重传限制信息和成功率限制信息,确定预设编码码率;编码处理模块32,配置为基于预设编码码率,通过编码器对待编码数据进行编码处理,得到编码数据包;重传码率确定模块33,配置为获取编码器在编码处理过程中的实际编码码率,基于实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息;数据传输控制模块34,配置为发送编码数据包,并基于混合重传码率限制信息对编码数据包进行混合重传处理。

上述,通过根据网络码率限制信息、预设混合重传限制信息和成功率限制信息确定预设编码码率,基于预设编码码率对待编码数据进行编码处理得到编码数据包,并根据编码器在编码处理过程中的实际编码码率以及实际混合重传限制信息确定混合重传码率限制信息,并基于混合重传码率限制信息对编码数据包进行混合重传处理,通过在编码前基于预设编码码率保证足够的编码码率,以及通过在编码后基于混合重传码率限制信息保证足够的传输成功率,更合理地分配带宽资源,有效提高数据传输效果。

在上述实施例的基础上,预设码率确定模块31配置为基于网络码率限制信息以及预设重传码率、预设前向纠错码率和成功率下限值对应的码率约束条件,求解符合码率约束条件的最大的预设编码码率。

在上述实施例的基础上,码率约束条件基于以下公式确定:

/>

其中,

在上述实施例的基础上,预估传输成功率信息基于以下公式确定:

其中,

预设重传成功率信息基于以下公式确定:

其中,

预设向纠错成功率信息基于以下公式确定:

其中,

在上述实施例的基础上,编码处理模块32配置为以预设编码码率为编码码率上限,通过编码器对待编码数据进行编码处理,得到编码数据包。

在上述实施例的基础上,重传码率确定模块33在基于实际编码码率以及实际混合重传限制信息,确定混合重传策略对应的混合重传码率限制信息时,配置为:

基于实际编码码率以及实际重传码率和实际前向纠错码率对应的成功率约束条件,求解符合成功率约束条件的最大的目标传输成功率;

基于目标传输成功率确定混合重传策略对应的混合重传码率限制信息。

在上述实施例的基础上,重传码率确定模块33在基于目标传输成功率确定混合重传策略对应的混合重传码率限制信息时,配置为将目标传输成功率对应的实际重传码率和实际前向纠错码率,确定为混合重传策略对应的重传码率上限和前向纠错码率上限。

在上述实施例的基础上,成功率约束条件基于以下公式确定:

其中,

在上述实施例的基础上,目标传输成功率基于以下公式确定:

其中,

实际重传成功率信息基于以下公式确定:

其中,

实际前向纠错成功率信息基于以下公式确定:

其中,

在上述实施例的基础上,数据传输控制模块34在基于混合重传码率限制信息对编码数据包进行混合重传处理时,配置为:

在出现丢包的情况下,基于混合重传码率限制信息对应的重传码率上限以及实时数据发送速率,确定是否重新发送数据包;

基于混合重传码率限制信息对应的前向纠错码率上限,生成并发送编码数据包对应的冗余数据包。

值得注意的是,上述数据传输控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。

本申请实施例还提供了一种数据传输控制设备,该数据传输控制设备可集成本申请实施例提供的数据传输控制装置。图4是本申请实施例提供的一种数据传输控制设备的结构示意图。参考图4,该数据传输控制设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;存储器42,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器41执行,使得一个或多个处理器41实现如上述实施例提供的数据传输控制方法。上述提供的数据传输控制装置、设备和计算机可用于执行上述任意实施例提供的数据传输控制方法,具备相应的功能和有益效果。

本申请实施例还提供一种存储计算机可执行指令的非易失性存储介质,计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的数据传输控制方法。当然,本申请实施例所提供的一种存储计算机可执行指令的非易失性存储介质,其计算机可执行指令不限于如上提供的数据传输控制方法,还可以执行本申请任意实施例所提供的数据传输控制方法中的相关操作。上述实施例中提供的数据传输控制装置、设备及存储介质可执行本申请任意实施例所提供的数据传输控制方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的数据传输控制方法。

在上述实施例的基础上,本申请实施例还提供一种计算机程序产品,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备、移动终端或其中的处理器执行本申请各个实施例所提供的数据传输控制方法的全部或部分步骤。

相关技术
  • 一种数据传输方法、装置、电子设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种家居设备控制方法、装置、控制设备及可读存储介质
  • 一种智能控制方法、智能控制装置、电子设备和存储介质
  • 一种安全预防控制方法、装置、控制设备及存储介质
  • 无人飞行器的数据传输方法、芯片、控制设备、飞行控制系统、存储介质及计算机程序产品
  • 数据传输方法、非暂时性存储介质、数据传输设备、光刻装置和制造产品的方法
技术分类

06120115928626