CN109981225B - 一种码率预估方法、装置、设备及存储介质 - Google Patents

一种码率预估方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109981225B
CN109981225B CN201910295107.6A CN201910295107A CN109981225B CN 109981225 B CN109981225 B CN 109981225B CN 201910295107 A CN201910295107 A CN 201910295107A CN 109981225 B CN109981225 B CN 109981225B
Authority
CN
China
Prior art keywords
code rate
interval
adjusted
fec
rate
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.)
Active
Application number
CN201910295107.6A
Other languages
English (en)
Other versions
CN109981225A (zh
Inventor
李春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201910295107.6A priority Critical patent/CN109981225B/zh
Publication of CN109981225A publication Critical patent/CN109981225A/zh
Application granted granted Critical
Publication of CN109981225B publication Critical patent/CN109981225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种码率预估方法、装置、设备及存储介质。该方法包括:统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率,通过本发明的技术方案,能够实现满足实时流媒体的码率预估需求。

Description

一种码率预估方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种码率预估方法、装置、设备及存储介质。
背景技术
码率预估是视频会议/直播等流媒体应用中最重要的一个环节。要想提供最好的服务,必须要针对预估出最合理的码率。
目前市面上的码率预估方案主要是基于丢包的码率预估和基于延时的码率预估。基于丢包的码率预估方案必须要等到丢包才能降低码率,无法满足实时要求。基于延时的码率预估,能够满足实时要求,但是可能会导致码率预估过低。
发明内容
本发明实施例提供一种码率预估方法、装置、设备及存储介质,以实现满足实时流媒体的码率预估需求。
第一方面,本发明实施例提供了一种码率预估方法,包括:
统计丢包率并获取待调节码率;
根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;
根据调节后的待调节码率和FEC码率预估当前码率。
第二方面,本发明实施例还提供了一种码率预估装置,该装置包括:
获取模块,用于统计丢包率并获取待调节码率;
调节模块,用于根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;
预估模块,用于根据调节后的待调节码率和FEC码率预估当前码率。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的码率预估方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的码率预估方法。
本发明实施例通过统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率,能够实现满足实时流媒体的码率预估需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中的一种码率预估方法的流程图;
图2是本发明实施例二中的一种码率预估方法的流程图;
图3是本发明实施例三中的一种码率预估装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1为本发明实施例一提供的一种码率预估方法的流程图,本实施例可适用于码率预估的情况,该方法可以由本发明实施例中的码率预估装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,统计丢包率并获取待调节码率。
其中,所述统计丢包率的方式可以为统计一定数量媒体数据包的丢包率,例如可以是,100个媒体数据包在传输过程中丢了10个媒体数据包,则丢包率为10%。
其中,所述待调节码率为发送端预估出的基于延迟的码率。
可选的,获取待调节码率包括:
按照预设码率发送媒体数据包。
其中,所述预设码率为初始化后的码率,可以预先设定,本发明实施例对此不进行限制。
其中,所述媒体数据包与FEC数据包不同。
具体的,发送端按照预设码率发送媒体数据包。
根据发送媒体数据包的时间和接收端反馈的接收到所述媒体数据包的时间预估待调节码率。
具体的,发送端先初始化码率,然后发送端按照初始化码率发送媒体数据包,接收端将媒体数据包的到达信息通过报文发送给发送端,接收端将媒体数据包的丢包数据通过报文发送给发送端,发送端根据发送端发送媒体数据包的时间和接收端通过报文反馈的接收端接收到媒体数据包的时间预估出基于延迟的码率,且发送端根据发送端发送的媒体数据包、接收端通过报文反馈的接收到的媒体数据包和丢包数据统计丢包率。
S120,根据丢包率,调节待调节码率和FEC码率,其中,FEC码率为单位时间发送的FEC数据包的数量。
其中,所述FEC码率为单位时间发送的FEC数据包的数量,FEC数据包与媒体数据包不同。
具体的,根据丢包率调节待调节码率和FEC码率的方式可以为根据丢包率的数值大小确定调节待调节码率和FEC码率的策略,还可以为根据丢包率的数值区间确定增加FEC码率,或者可以为根据丢包率的数值减小待调节码率和FEC码率,也可以为根据丢包率减小FEC码率,增加待调节码率,本发明实施例对此不进行限制。
S130,根据调节后的待调节码率和FEC码率预估当前码率。
其中,所述当前码率为预估出的总码率,所述当前码率相对于所述待调节码率更加精准。
具体的,根据调节后的待调节码率和FEC码率预估当前码率的方式可以为将调节后的待调节码率和FEC码率之和作为当前码率,还可以为将调节后的待调节码率作为当前码率,本发明实施例对此不进行限制。
可选的,在根据调节后的待调节码率和FEC码率预估当前码率之后,还包括:将所述当前码率中增加的码率确定为FEC码率,分配给FEC数据包,将当前码率中除FEC码率之外的码率分配给媒体数据包;或者,将当前码率中与丢包率比率相同的码率确定为FEC码率,分配给FEC数据包,将当前码率中除FEC码率之外的码率分配给媒体数据包;或者,将当前码率中的三分之一的码率确定为FEC码率,分配给FEC数据包,将当前码率中除FEC码率之外的码率分配给媒体数据包。本发明实施例对此不进行限制。
本实施例的技术方案,通过统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率,将待调节码率和FEC码率结合在一起考虑,达到了码率预估和抗丢包性能的结合,同时适应多变的广域网,能够实现满足实时流媒体的码率预估需求。
实施例二
图2为本发明实施例二中的一种码率预估方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,根据所述丢包率,调节所述待调节码率和FEC码率包括:根据所述丢包率确定丢包率所属数值区间;根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略;根据所述调节策略调节所述待调节码率和FEC码率;其中,所述数值区间包括第一区间、第二区间、第三区间和第四区间,且所述第一区间、第二区间、第三区间和第四区间互不相同。
如图2所示,本实施例的方法具体包括如下步骤:
S210,统计丢包率并获取待调节码率。
S220,根据丢包率确定丢包率所属数值区间。
其中,数值区间包括第一区间、第二区间、第三区间和第四区间,且第一区间、第二区间、第三区间和第四区间互不相同。
其中,所述第一区间、第二区间、第三区间和第四区间为预先设定,例如可以是,所述第一区间为丢包率小于或者等于2%,第二区间为丢包率大于2%且小于或者等于10%,第三区间为大于10%且小于或者等于30%,第四区间为大于30%。
具体的,预先设定至少两个数值区间,根据统计的丢包率的数值以及数值区间的范围,确定统计的丢包率所属的数值区间。
S230,根据丢包率所属数据区间,确定待调节码率和FEC码率对应的调节策略。
其中,所述调节策略可以为增加FEC码率,降低待调节码率;还可以为保持FEC码率和待调节码率不变;或者可以为降低FEC码率和待调节码率的码率值总和,将FEC码率调整为丢包率与降低后的码率值总和的乘积;还可以为降低码率值总和至第二预设倍数,将FEC码率调整为第三预设倍数的降低后的码率值总和,本发明实施例对此不进行限制。
可选的,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第一区间,则获取FEC码率的历史增加次数。
其中,所述FEC码率的历史增加次数指的是FEC码率已经增加的次数,例如可以是,已经连续增加两次FEC码率,每次增加FEC码率的码率值为A,则历史增加次数为2次。
其中,判断所述丢包率是否属于第一区间的方式可以为,先统计丢包率,然后根据统计得到的丢包率数值和第一区间的数值区间确定丢包率是否属于第一区间,还可以为,先统计丢包率,然后根据统计得到的丢包率数值和第一区间的端点数值确定丢包率是否属于第一区间,本发明实施例对此不进行限制。
具体的,若确定统计得到的丢包率所述区间为第一区间,则获取FEC码率的历史增加次数。
若所述FEC码率的历史增加次数小于设定阈值,则增加FEC码率的当前值,并更新历史增加次数。
其中,所述设定阈值为预先设定的增加次数,例如可以是,设定阈值为6次。
其中,所述FEC码率的当前值为当前FEC码率的数值。
其中,增加FEC码率的当前值的方式可以为一次增加设定数值的FEC码率,例如可以是,一次增加码率值为A,增加一次码率之后,需要再重新统计丢包率。
其中,更新历史增加次数的方式为,在增加FEC码率的当前值之后,将历史增加次数加一,例如可以是,若历史增加次数为2次,设定阈值为6次,则增加一次FEC码率,增加的码率值为A,在增加FEC码率后,将历史增加次数加一,也就是历史增加次数更新为3次。
具体的,将FEC码率的历史增加次数与设定阈值进行比较,若FEC码率的历史增加次数小于设定阈值,则增加FEC码率的当前值,并更新历史增加次数。
若所述FEC码率的历史增加次数等于设定阈值,则确定所述待调节码率和FEC码率的码率值总和,降低所述FEC码率的当前值并控制所述码率值总和不变。
其中,降低所述FEC码率的当前值的方式可以为降低一次FEC码率,降低的码率值为B,在降低一次FEC码率后,需要再重新统计丢包率。
具体的,若FEC码率的历史增加次数等于设定阈值,则确定待调节码率和FEC码率的码率值总和,降低一次FEC码率的当前值,并控制码率值总和不变,就相当于减小待调节码率,例如可以是,FEC码率的历史增加次数等于6次,设定阈值为6次,则FEC码率的历史增加次数等于设定阈值,FEC码率为Q,待调节码率为P,获取码率值总和,降低一次FEC码率,一次降低码率的码率值为B,则FEC码率值变为Q-B,控制码率值总和不变,待调节码率为P+Q-Q+B=P+B。需要说明的是,每次降低FEC码率的码率值是预先设定的,每降低一次FEC码率后,重新统计丢包率,直至FEC码率降低为零,或者是丢包率属于其他区间。
可选的,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第二区间,则控制所述待调节码率和FEC码率保持不变。
其中,判断所述丢包率是否属于第二区间的方式可以为,先统计丢包率,然后根据统计得到的丢包率数值和第二区间的数值区间确定丢包率是否属于第二区间,还可以为,先统计丢包率,然后根据统计得到的丢包率数值和第二区间的端点数值确定丢包率是否属于第二区间,本发明实施例对此不进行限制。
具体的,若丢包率所属区间为第二区间,则控制待调节码率和FEC码率保持不变,例如可以是,若第二区间为丢包率大于2%且小于或者等于10%,待调节码率为P,FEC码率为Q,则控制待调节码率为P保持不变,控制FEC码率为Q保持不变。
可选的,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第三区间,则降低所述码率值总和至第一预设倍数。
其中,判断所述丢包率是否属于第三区间的方式与判断丢包率是否属于第二区间或者第一区间的方式相同。
其中,所述第一预设倍数可以为预先设定,例如可以是,第一预设倍数为90%。
具体的,若丢包率所属区间为第三区间,则降低码率值总和至第一预设倍数,例如可以是,若第一预设倍数为90%,待调节码率为P,FEC码率为Q,码率值总和为P+Q,则降低码率值总和为90%*(P+Q);或者,若第一预设倍数为90%,待调节码率为P,FEC码率为0,码率值总和为P,则降低码率值总和为90%*P。
将所述FEC码率调整为所述丢包率与降低后的码率值总和的乘积。
具体的,将丢包率与降低后的码率值总和的乘积的码率值分配为FEC码率,例如可以是,降低后的码率值总和为90%*(P+Q),丢包率为15%,则将15%*90%*(P+Q)分配为FEC码率。
可选的,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为第四区间,则降低所述码率值总和至第二预设倍数。
其中,判断所述丢包率是否属于第四区间的方式与判断丢包率是否属于第二区间或者第一区间的方式相同。
其中,所述第二预设倍数可以为预先设定,例如可以是,第二预设倍数为50%。
具体的,若丢包率所属区间为第四区间,则降低码率值总和至第二预设倍数,例如可以是,若第二预设倍数为50%,待调节码率为P,FEC码率为Q,码率值总和为P+Q,则降低码率值总和为50%*(P+Q);或者,若第一预设倍数为50%,待调节码率为P,FEC码率为0,码率值总和为P,则降低码率值总和为50%*P。
将所述FEC码率调整为第三预设倍数的降低后的码率值总和。
其中,所述第三预设倍数可以为预先设定,也可以为第四区间的左端点,或者可以为第三区间的右端点,也可以为第三区间中的丢包率的最大值,例如可以是,所述第三预设倍数为第四区间的左端点,也就是第三区间的右端点,或者说是第三区间中的丢包率的最大值。例如可以是,若第三区间为大于10%且小于或者等于30%,第四区间为大于30%,则第三预设倍数为30%。
具体的,将FEC码率调整为第三预设倍数的降低后的码率值总和,例如可以是,若降低后的码率值总和为50%*(P+Q),第三预设倍数为30%,则将30%*50%*(P+Q)分配给FEC码率;或者,若降低码率值总和为50%*P,第三预设倍数为30%,则将30%*50%*P分配给FEC码率。
S240,根据调节策略调节待调节码率和FEC码率。
S250,根据调节后的待调节码率和FEC码率预估当前码率。
可选的,根据调节后的待调节码率和FEC码率预估当前码率包括:
将调节后的待调节码率和FEC码率之和确定为当前码率。
具体的,将调节后的待调节码率和FEC码率之和确定为当前码率。
在一个具体的例子中,如果丢包率小于2%,增加FEC码率,FEC码率每次增加10k,并将增加的码率分配给FEC数据包,当FEC码率连续增加6次以后,此时总码率增加60k,这60k码率都是分配给FEC数据包;当丢包率小于或者等于2%,且码率已经连续增加6次,维持待调节码率和FEC码率的码率值总和不变,降低FEC码率,每次降低20k,直到FEC码率降低为0,或者丢包率大于2%;如果丢包率大于2%且小于或者等于10%,待调节码率和FEC码率保持不变;如果丢包率大于10%且小于或者等于30%,降低待调节码率和FEC码率的码率值总和为当前码率的90%,同时分配和丢包率相等比率的码率给FEC码率;如果丢包率大于30%,降低待调节码率和FEC码率的码率值总和为当前码率的50%,同时分配30%的码率给FEC码率。
本实施例的技术方案,通过统计丢包率并获取待调节码率;根据所述丢包率确定丢包率所属数值区间,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略,根据所述调节策略调节所述待调节码率和FEC码率,根据调节后的待调节码率和FEC码率预估当前码率,将待调节码率和FEC码率结合在一起考虑,达到了码率预估和抗丢包性能的结合,同时适应多变的广域网,能够实现满足实时流媒体的码率预估需求。
实施例三
图3为本发明实施例三提供的一种码率预估装置的结构示意图。本实施例可适用于码率预估的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供码率预估的功能的设备中,如图3所示,所述码率预估装置具体包括:获取模块310、调节模块320和预估模块330。
其中,获取模块310,用于统计丢包率并获取待调节码率;
调节模块320,用于根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;
预估模块330,用于根据调节后的待调节码率和FEC码率预估当前码率。
可选的,调节模块包括:
第一确定单元,用于根据所述丢包率确定丢包率所属数值区间;
第二确定单元,用于根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略;
码率调节单元,用于根据所述调节策略调节所述待调节码率和FEC码率;其中,所述数值区间包括第一区间、第二区间、第三区间和第四区间,且所述第一区间、第二区间、第三区间和第四区间互不相同。
可选的,第二确定单元具体用于:
若所述丢包率所属区间为所述第一区间,则获取FEC码率的历史增加次数;
若所述FEC码率的历史增加次数小于设定阈值,则增加FEC码率的当前值,并更新历史增加次数;
若所述FEC码率的历史增加次数等于设定阈值,则确定所述待调节码率和FEC码率的码率值总和,降低所述FEC码率的当前值并控制所述码率值总和不变。
可选的,第二确定单元具体用于:
若所述丢包率所属区间为所述第二区间,则控制所述待调节码率和FEC码率保持不变。
可选的,第二确定单元具体用于:
若所述丢包率所属区间为所述第三区间,则降低所述码率值总和至第一预设倍数;
将所述FEC码率调整为所述丢包率与降低后的码率值总和的乘积。
可选的,第二确定单元具体用于:
若所述丢包率所属区间为第四区间,则降低所述码率值总和至第二预设倍数;
将所述FEC码率调整为第三预设倍数的降低后的码率值总和。
可选的,预估模块具体用于:
将调节后的待调节码率和FEC码率之和确定为当前码率。
可选的,获取模块具体用于:
按照预设码率发送媒体数据包;
根据发送媒体数据包的时间和接收端反馈的接收到所述媒体数据包的时间预估待调节码率。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本实施例的技术方案,通过统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率,将待调节码率和FEC码率结合在一起考虑,达到了码率预估和抗丢包性能的结合,同时适应多变的广域网,能够实现满足实时流媒体的码率预估需求。
实施例四
图4为本发明实施例四中的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的计算机设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的码率预估方法:统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的码率预估方法:统计丢包率并获取待调节码率;根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;根据调节后的待调节码率和FEC码率预估当前码率。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种码率预估方法,其特征在于,包括:
统计丢包率并获取待调节码率;
根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;
根据调节后的待调节码率和FEC码率预估当前码率;
其中,根据所述丢包率,调节所述待调节码率和FEC码率包括:
根据所述丢包率确定丢包率所属数值区间;
根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略;
根据所述调节策略调节所述待调节码率和FEC码率;其中,所述数值区间包括第一区间、第二区间、第三区间和第四区间,且所述第一区间、第二区间、第三区间和第四区间互不相同;
其中,所述待调节码率为发送端预估出的基于延迟的码率;
获取待调节码率包括:
按照预设码率发送媒体数据包,其中,所述预设码率为初始化后的码率,所述媒体数据包与FEC数据包不同;
根据发送媒体数据包的时间和接收端反馈的接收到所述媒体数据包的时间预估待调节码率。
2.根据权利要求1所述的方法,其特征在于,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第一区间,则获取FEC码率的历史增加次数;
若所述FEC码率的历史增加次数小于设定阈值,则增加FEC码率的当前值,并更新历史增加次数;
若所述FEC码率的历史增加次数等于设定阈值,则确定所述待调节码率和FEC码率的码率值总和,降低所述FEC码率的当前值并控制所述码率值总和不变。
3.根据权利要求1所述的方法,其特征在于,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第二区间,则控制所述待调节码率和FEC码率保持不变。
4.根据权利要求1所述的方法,其特征在于,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为所述第三区间,则降低码率值总和至第一预设倍数;
将所述FEC码率调整为所述丢包率与降低后的码率值总和的乘积。
5.根据权利要求1所述的方法,其特征在于,根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略包括:
若所述丢包率所属区间为第四区间,则降低码率值总和至第二预设倍数;
将所述FEC码率调整为第三预设倍数的降低后的码率值总和。
6.根据权利要求2-5任一项所述的方法,其特征在于,根据调节后的待调节码率和FEC码率预估当前码率包括:
将调节后的待调节码率和FEC码率之和确定为当前码率。
7.一种码率预估装置,其特征在于,包括:
获取模块,用于统计丢包率并获取待调节码率;
调节模块,用于根据所述丢包率,调节所述待调节码率和FEC码率,其中,所述FEC码率为单位时间发送的FEC数据包的数量;
预估模块,用于根据调节后的待调节码率和FEC码率预估当前码率;
其中,调节模块包括:
第一确定单元,用于根据所述丢包率确定丢包率所属数值区间;
第二确定单元,用于根据丢包率所属数据区间,确定所述待调节码率和FEC码率对应的调节策略;
码率调节单元,用于根据所述调节策略调节所述待调节码率和FEC码率;其中,所述数值区间包括第一区间、第二区间、第三区间和第四区间,且所述第一区间、第二区间、第三区间和第四区间互不相同;
其中,所述待调节码率为发送端预估出的基于延迟的码率;
所述获取模块具体用于:
按照预设码率发送媒体数据包,其中,所述预设码率为初始化后的码率,所述媒体数据包与FEC数据包不同;
根据发送媒体数据包的时间和接收端反馈的接收到所述媒体数据包的时间预估待调节码率。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201910295107.6A 2019-04-12 2019-04-12 一种码率预估方法、装置、设备及存储介质 Active CN109981225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910295107.6A CN109981225B (zh) 2019-04-12 2019-04-12 一种码率预估方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910295107.6A CN109981225B (zh) 2019-04-12 2019-04-12 一种码率预估方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109981225A CN109981225A (zh) 2019-07-05
CN109981225B true CN109981225B (zh) 2022-02-11

Family

ID=67084451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910295107.6A Active CN109981225B (zh) 2019-04-12 2019-04-12 一种码率预估方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109981225B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602338B (zh) * 2019-07-30 2021-04-13 广州视源电子科技股份有限公司 音频处理方法、装置、系统、存储介质以及设备
CN110809127B (zh) * 2019-10-10 2021-03-19 北京邮电大学 一种基于深度模仿学习的视频通话方法及装置
CN113301387B (zh) * 2020-02-21 2022-10-18 华为技术有限公司 数据编解码方法、相关设备及系统
CN111629210A (zh) * 2020-05-22 2020-09-04 北京大米科技有限公司 一种数据处理的方法、装置及电子设备
CN112995223A (zh) * 2021-05-11 2021-06-18 深圳市安软科技股份有限公司 流媒体传输控制方法、装置、电子设备及存储介质
CN113660488B (zh) * 2021-10-18 2022-02-11 腾讯科技(深圳)有限公司 对多媒体数据进行流控及流控模型训练方法、以及装置
CN114390320B (zh) * 2022-02-18 2024-02-13 百果园技术(新加坡)有限公司 数据编码码率自适应调节方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202A (zh) * 2009-03-16 2009-08-12 华中科技大学 一种流媒体传输自适应纠错方法
CN103957222A (zh) * 2014-05-20 2014-07-30 艾诺通信系统(苏州)有限责任公司 一种基于fec算法的视频传输自适应方法
CN109587073A (zh) * 2019-01-07 2019-04-05 北京三体云联科技有限公司 网络拥塞控制方法、装置及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030095995A (ko) * 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202A (zh) * 2009-03-16 2009-08-12 华中科技大学 一种流媒体传输自适应纠错方法
CN103957222A (zh) * 2014-05-20 2014-07-30 艾诺通信系统(苏州)有限责任公司 一种基于fec算法的视频传输自适应方法
CN109587073A (zh) * 2019-01-07 2019-04-05 北京三体云联科技有限公司 网络拥塞控制方法、装置及终端设备

Also Published As

Publication number Publication date
CN109981225A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109981225B (zh) 一种码率预估方法、装置、设备及存储介质
US10545782B2 (en) Setting retransmission time of an application client during virtual machine migration
CN113453045B (zh) 网络带宽预测方法、系统、设备及存储介质
CN110839084B (zh) 会话管理方法、装置、设备和介质
EP3767915B1 (en) Buffer processing method, apparatus, device and computer storage medium
US8850022B2 (en) Adjustment of end user response times according to user expectations for server applications under load
US10965613B2 (en) Multi-pipe bandwidth control in hosted systems
CN110620681B (zh) 网络连接超时时间设置方法、装置、设备及介质
CN112600761B (zh) 一种资源分配的方法、装置及存储介质
CN114095438B (zh) 数据传输方法、装置、设备、存储介质及计算机程序产品
US10097656B2 (en) Control method and apparatus for publish/subscribe systems
CN110858844A (zh) 服务请求处理方法、控制方法、装置、系统及电子设备
CN115801639B (zh) 一种带宽探测方法、装置、电子设备及存储介质
CN109743386B (zh) 会话请求发送方法、装置、电子设备和存储介质
CN107273082B (zh) 图像的显示方法、装置、终端及存储介质
CN113824689B (zh) 边缘计算网络、数据传输方法、装置、设备和存储介质
CN115002033A (zh) 一种流量控制方法、装置、设备、存储介质及计算机产品
CN112737971B (zh) 数据处理方法、装置、存储介质及网络设备
CN110798398A (zh) 群组消息管理方法、装置、设备和介质
CN114900477B (zh) 报文处理方法、服务器、电子设备及存储介质
WO2021139225A1 (zh) 用于存储系统的流量控制方法、装置、介质及电子设备
CN113259261B (zh) 网络流量控制方法和电子设备
CN115037696B (zh) 数据传输方法、装置、电子设备和存储介质
US20230125350A1 (en) Video stream transmission control method and apparatus, device, and medium
CN116233010A (zh) 流量控制方法、装置、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant