CN113301392B - 码率确定方法、装置、设备及存储介质 - Google Patents

码率确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113301392B
CN113301392B CN202110576269.4A CN202110576269A CN113301392B CN 113301392 B CN113301392 B CN 113301392B CN 202110576269 A CN202110576269 A CN 202110576269A CN 113301392 B CN113301392 B CN 113301392B
Authority
CN
China
Prior art keywords
detection
bandwidth
code rate
download
determining
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
CN202110576269.4A
Other languages
English (en)
Other versions
CN113301392A (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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202110576269.4A priority Critical patent/CN113301392B/zh
Publication of CN113301392A publication Critical patent/CN113301392A/zh
Application granted granted Critical
Publication of CN113301392B publication Critical patent/CN113301392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了码率确定方法、装置、设备及存储介质。其中,该方法包括:在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应,根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果,根据带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,根据预估带宽范围确定未来下载时段对应的目标下载码率。通过采用上述技术方案,可以快速、灵敏且准确地探测到音视频传输链路的实际带宽变化情况,结合历史下载带宽,合理估计带宽范围,并准确确定未来下载时段对应的目标下载码率。

Description

码率确定方法、装置、设备及存储介质
技术领域
本发明实施例涉及互联网技术领域,尤其涉及码率确定方法、装置、设备及存储介质。
背景技术
随着流媒体技术的发展以及智能终端设备的普及,出现了各种音视频实时传输的应用场景,如视频直播、视频会议以及视频通话等。由于终端设备和网络存在异构性,为了给用户提供良好的观看体验,观看过程中根据网络状态自适应的选择合适的码率成为一个重要的方式。码率自适应技术一般需要转码服务器端将原始码流转换为多码率的版本,供客户端播放器根据实际情况选择合适码率的流下载。因此,根据实际情况所确定的下载码率是否合适对客户端用户观看体验非常重要。
目前,网络带宽预测是自适应码率中关键的一环,带宽预测的准确性直接影响了码率自适应的效果,也就影响了用户体验质量(Quality of Experience,QoE)。而传统下载过程中使用的是基于丢包进行数据包发送,不对链路本身的带宽属性进行估算,导致即使链路本身波动性不大的情况下,每次下载实际上统计到的下载速度也是较不稳定的,因此,不能够合理准确地确定下载码率,需要改进。
发明内容
本发明实施例提供了码率确定方法、装置、设备及存储介质,可以优化现有的音视频传输过程中的下码率确定方案。
第一方面,本发明实施例提供了一种码率确定方法,该方法包括:
在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
根据所述预估带宽范围确定未来下载时段对应的目标下载码率。
第二方面,本发明实施例提供了一种码率确定装置,该装置包括:
数据发送速率确定模块,用于在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
带宽探测模块,用于根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
预估带宽范围确定模块,用于根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
目标下载码率确定模块,用于根据所述预估带宽范围确定未来下载时段对应的目标下载码率。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的码率确定方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的码率确定方法。
本发明实施例中提供的码率确定方案,在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应,根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果,根据带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,根据预估带宽范围确定未来下载时段对应的目标下载码率。通过采用上述技术方案,在一个探测周期内进行往返时间粒度的多轮次探测,在进行探测时根据历史探测带宽确定探测过程中的数据发送速率,可以快速、灵敏且准确地探测到音视频传输链路的实际带宽变化情况,结合历史下载带宽,合理估计带宽范围,并确定未来下载时段对应的目标下载码率,从而达到更加合理地自适应调节下载码率,提升用户的音视频观看体验。
附图说明
图1为本发明实施例提供的一种码率确定方法所适用的应用场景的场景架构图;
图2为本发明实施例提供的一种码率确定方法的流程示意图;
图3为本发明实施例提供的又一种码率确定方法的流程示意图;
图4为本发明实施例提供的另一种码率确定方法的流程示意图;
图5为本发明实施例提供的一种码率确定装置的结构框图;
图6为本发明实施例提供的一种计算机设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明实施例中的码率确定方法可以适用于音视频实时传输的应用场景,例如可以包括视频直播、视频会议以及视频通话等,具体不做限定。为了便于说明,下文将以视频直播场景为例进行说明。图1为本发明实施例提供的一种码率确定方法所适用的应用场景的场景架构图。参考图1,以视频直播应用场景为例,可以包括第一客户端101(可以理解为主播端)、服务器102和第二客户端103(可以理解为观众端)。第一客户端101向服务器102发送上行音视频流(简称上行流),服务器102将上行流(也可理解为原始码流)转换成不同码流的音视频流,根据实际情况第二客户端103基于合适的下载码率进行下行音视频流(简称下行流)的下载。一般的,第二客户端103所采用的下载码率由服务器102进行选择,当然,也可支持第二客户端103自主选择,本发明实施例具体讨论由服务器102来确定的情况。相关技术中,服务器基于丢包进行数据包发送,不对链路本身的带宽属性进行估算,导致即使链路本身波动性不大的情况下,每次下载实际上统计到的下载速度也是较不稳定的,因此,服务器难以合理准确地确定下载码率。本发明实施例为解决该技术问题,提供了码率确定方案,下面进行详细介绍。
图2为本发明实施例提供的一种码率确定方法的流程示意图,该方法可以由码率确定装置执行,其中该装置可由软件和/或硬件实现,一般可集成在服务器等计算机设备中。如图2所示,该方法包括:
步骤201、在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应。
示例性的,本发明实施例对码率确定方法的执行时机不做限定,可以是音视频实时传输开始的时刻,如视频通话接通时刻或客户端进入直播间的时刻等等,此时历史探测带宽可以根据传输链路建立过程中的带宽情况确定;也可以是音视频实时传输开始之后,在满足设定触发条件时开始执行,设定触发条件可根据实际情况设置,具体不做限定,此时历史探测带宽可以根据上一个探测周期内得到的带宽探测结果确定,若当前探测周期为首个探测周期,则历史探测带宽可以是预设带宽值,预设带宽值可以根据实际情况设置,具体不做限定,例如可以根据传输链路建立过程中的带宽情况确定,或根据客户端与服务端之间的历史传输情况确定。
本发明实施例中,探测轮次与往返时延(Round-Trip Time,RTT)相对应,对应方式例如可以是一个探测轮次为1个或多个往返时延,为了达到较高的探测精度,可以设置为一个探测轮次为1个往返时延。探测周期中包含预设数量的探测轮次,预设数量可以根据实际情况设置,如8个。
示例性的,当前探测周期内的各探测轮次的数据发送速率可以相同,也可以不同,为了达到较好的探测效果,一般是不同的。例如,当前探测周期内的第一预设探测轮次的数据发送速率大于所述历史探测带宽,第二预设探测轮次的数据发送速率小于所述历史探测带宽,其余探测轮次的数据发送速率等于所述历史探测带宽,其中,第一预设探测轮次和第二预设探测轮次的具体数量均不做限定。又如,当前探测周期内的各探测轮次的数据发送速率均大于所述历史探测带宽,各探测轮次的数据发送速率与历史探测带宽的差值的平均值小于预设差值阈值,避免造成音视频数据的传输链路的拥塞。
步骤202、根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果。
示例性的,在确定了当前探测周期内的各探测轮次的数据发送速率后,在当前探测周期内,以相应的数据发送速率进行音视频数据的发送,并进行带宽探测,得到各探测轮次分别对应的带宽探测值或探测区间等探测结果,对各探测轮次分别对应的带宽探测结果进行分析或计算,得到当前探测周期对应的带宽探测结果。
示例性的,在进行当前周期内的单个探测轮次的带宽探测时,所采用的具体的探测方式不做限定。例如,可以参考当前的丢包情况、接收时延以及服务器侧的发送缓存信息中的至少一项确定当前探测轮次对应的带宽探测结果。可选的,针对不同的探测轮次,可以有针对性地选择不同的探测方式进行探测。例如,对于上述第一预设探测轮次采用第一探测方式,对于上述第二预设探测轮次采用第二探测方式,第一探测方式和第二探测方式不同,具体选择哪种探测方式可以根据实际需求设定。
步骤203、根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围。
本发明实施例中,可以结合当前探测周期对应的带宽探测结果和历史下载时段对应的历史下载带宽来更加合理地确定当前时刻的预估带宽范围。其中,历史下载时段可以根据实际情况进行选择,且长度不做限定(可以与探测周期的长度相等或不等,可以是预设的定值,也可以是根据实际情况动态确定的值),可以是距离当前时刻(当前探测周期结束时)最近的历史下载时段。历史下载时段对应的历史下载带宽可以根据历史下载时段的音视频数据的数据下载速率确定,数据下载速率例如可以通过如下方式得到:统计服务器侧开始发送数据的时间到接收到客户端返回的该数据对应的成功接收信息的时间之间的时间间隔,计算该数据的数据量与该时间间隔的商,得到数据下载速率。在历史下载时段内,可能计算得到多个数据下载速率值,可以采用如计算平均值等方式根据该多个数据下载速率值计算历史下载时段对应的历史下载带宽。
示例性的,在根据当前探测周期对应的带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围时,可以有多种确定方式,具体不做限定。例如,可以将两者中的较小值记为预估带宽范围的下限值,将两者中的较大值记为预估带宽范围的上限值等。又如,当前探测周期对应的带宽探测结果可能包含多个带宽探测值,还可根据这多个带宽探测值对预估带宽范围的上限值和/或下限值进行更加精确的估计,具体估计方式不做限定。
步骤204、根据所述预估带宽范围确定未来下载时段对应的目标下载码率。
示例性的,未来下载时段可以是与当前时刻最近的时段,未来下载时段的时长和历史下载时段的时长可以相等或不等,不做具体限定。需要说明的是,在未来下载时段内,若下一个探测周期的起始时刻到来,也可继续进行下一个探测周期的带宽探测。
可选的,所述历史下载时段和所述未来下载时段相邻。可选的,所述历史下载时段的长度和所述未来下载时段的长度相等,进一步的,均为一个画面组的长度。其中,画面组(Group of Pictures,GOP)的长度可以指两个关键帧(I帧,又称内部编码帧)之间的间隔。
示例性的,根据预估带宽范围确定未来下载时段对应的目标下载码率的具体方式不做限定,例如,可以确定当前下载码率是否处于预估带宽范围内,如未处于,则对当前下载码率进行调整,也即调整为目标下载码率,若不需调整,则可保持当前下载码率不变,也即目标下载码率等于当前下载码率。在需要调整时,目标下载码率可以根据当前下载码率偏离预估带宽范围的程度确定,具体不做限定。
示例性的,码率指单位时间内的比特率,用于衡量音视频数据的单位时间体积。目标下载码率可以是具体的码率值,也可以是码率档位,一般为码率档位,也即目标下载码率档位,可以对码率进行划档,每个码率档位可对应一个码率值或一个码率值区间,当对应一个码率值时,相邻两个码率档位对应的码率值可以是连续的,也可以是跳跃的,具体的划档策略可根据实际需求设置。例如,音视频传输服务端可以为客户端的播放提供几种可选码率档位,如标清、高清、超清和蓝光等,当然,还可以有精度更高的档位划分方式,由于音视频流转换码率需要计算资源,通常不会选择任意的码率值,可以在服务端或内容分发平台等处预先将音视频流转换成不同码率档位的音视频数据,再采用本发明实施例提供的码率确定方法选择合适的码率档位的音视频数据发送给客户端。在确定目标下载码率后,服务器侧可控制客户端采用该目标下载码率在未来下载时段进行音视频数据的下载。例如,在确定目标下载码率档位后,服务器侧可控制客户端在未来下载时段内下载目标下载码率档位对应的已转码音视频流。
本发明实施例中提供的码率确定方法,在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应,根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果,根据带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,根据预估带宽范围确定未来下载时段对应的目标下载码率。通过采用上述技术方案,在一个探测周期内进行往返时间粒度的多轮次探测,在进行探测时根据历史探测带宽确定探测过程中的数据发送速率,可以快速、灵敏且准确地探测到音视频传输链路的实际带宽变化情况,结合历史下载带宽,合理估计带宽范围,并确定未来下载时段对应的目标下载码率,从而达到更加合理地自适应调节下载码率,提升用户的音视频观看体验。
在一些实施例中,所述根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,包括:利用基于拥塞的拥塞控制方法根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,所述历史探测带宽根据上一个探测周期的带宽探测结果确定,当前探测周期内的第一预设探测轮次的数据发送速率大于所述历史探测带宽,第二预设探测轮次的数据发送速率小于所述历史探测带宽,其余探测轮次的数据发送速率等于所述历史探测带宽;相应的,所述根据所确定的数据发送速率进行当前探测周期内的带宽探测,包括:利用所述基于拥塞的拥塞控制方法根据所确定的数据发送速率进行当前探测周期内的带宽探测。
针对基于帧传输的音视频实时传输场景来说,以视频直播为例,受主播端上行码率的限制,服务器下行流探测到的带宽值一般小于或等于上行码率值,对于这种情况,当需要根据带宽升档位时,则需要探测到大于上行码率的带宽,而探测到大于上行码率的带宽需要额外多发送一些冗余包,多发送冗余包又容易造成链路的拥塞,进而造成卡顿。本发明实施例中,采用基于拥塞的拥塞控制方法进行带宽探测。基于拥塞的拥塞控制(Congestion-Based Congestion Control,BBR,又称为Bottleneck Bandwidth and RTT)方法,是一种基于带宽和延迟反馈的拥塞控制算法,它是一个典型的封闭反馈系统,发送多少报文和用多快的速度发送这些报文都在每次反馈中不断调节。本发明实施例采用BBR方法进行音视频数据实时传输中的带宽探测,好处在于,将原本应用于传输控制协议(Transmission Control Protocol,TCP)的基于拥塞的拥塞控制方法应用于音视频实时传输方案中,可以很好地克服传统下载过程中仅基于丢包进行数据包发送而不对链路本身的带宽属性进行估算所造成的无法合理准确地确定下载码率的问题。
可选的,所述第一预设探测轮次的数据发送速率和所述第二预设探测轮次的数据发送速率的平均值等于所述历史探测带宽。这样设置的好处在于,可以有效避免带宽探测过程中发生拥塞。
示例性的,可以在音视频实时传输场景下,基于BBR的带宽探测(PROBE_BW)状态(也可理解为正常工作状态)进行带宽探测。一般的,BBR中的一个探测周期(也可理解为正常工作周期)中包含8个探测轮次(可记为round,简称轮次),每个轮次发送数据的速率为历史探测带宽(bwe)的倍数(pacing gain),例如依次分别为p=[1,1,1,1,1,1,1.25,0.75],在音视频实时传输场景下,当1≤i≤6时,pi=1,假设历史探测带宽bwe=u,则前6个轮次数据发送速率(也即发送数据包码率)为u,当p7=1.25时,除了发送当前码率的包外,多余发送0.25倍的冗余包。当链路由于多发送的冗余包导致拥塞时,下一个轮次(p8=0.75)会少发送一部分数据包,使得整体发送的数据包依然不会超过现有码率,也即可有效避免发生拥塞;当链路实际带宽上限超过当前码率时,也可以通过计算p7=1.25的轮次的带宽逐步得到链路的带宽上限。其中,各轮次对应的倍数具体数值不做限定,第一预设探测轮次和第二预设探测轮次在整个探测周期中的位置均不做限定。一般的,第一预设探测轮次和第二预设探测轮次的位置相邻,例如,还可以是p=[1.1,0.9,1,1,1,1,1,1]或p=[1,1,1.2,0.8,1,1,1.2,0.8]等。
对于传统的BBR方法来说,由于应用于TCP场景,对实时性不做要求,因此,当在进行倍数大于1的轮次的带宽探测时,多发送数据即可。而本发明实施例中应用于实时音视频传输场景,在进行第一预设探测轮次的带宽探测时,后面的数据可能还未达到服务端,因此,本发明实施例中,在利用所述BBR方法根据所述第一预设探测轮次对应的数据发送速率进行所述第一预设探测轮次的带宽探测时,可以将历史发送数据作为冗余包进行发送,以达到所述第一预设探测轮次对应的数据发送速率。
在一些实施例中,所述根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,包括:根据所述带宽探测结果中的最大探测带宽值确定当前时刻的预估带宽范围的上限值;根据所述带宽探测结果中的探测带宽平均值和第一带宽的最小值确定当前时刻的预估带宽范围的下限值,其中,所述第一带宽为历史下载时段对应的历史下载带宽。这样设置的好处在于,可以准确地估计预估带宽范围。
示例性的,带宽探测结果中包含各探测轮次分别对应的探测带宽值,以N个探测轮次为例,包含N个探测带宽值,一般N取值为8。记当前为k时刻,BBR探测带宽值为bk,i,1≤i≤N,于是上限带宽为Bk=max{bk,i,1≤i≤N},BBR探测带宽平均值为
Figure BDA0003084479510000111
记当前统计到的历史下载时段对应的历史下载带宽,如上一个GOP内的下载带宽,为bk
可以得到当前时刻的预估带宽T为:
Figure BDA0003084479510000112
Figure BDA0003084479510000113
Tmax=Bk
在得到Tmin和Tmax后,可以根据Tmin和Tmax确定未来下载时段对应的目标下载码率。
在一些实施例中,所述根据所述预估带宽范围确定未来下载时段对应的目标下载码率,包括:根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,根据判定结果确定未来下载时段对应的目标下载码率档位,其中,码率档位和码率成正相关关系。示例性的,当判断结果为满足预设升档条件时,确定未来下载时段对应的目标下载码率档位,目标下载码率档位大于当前下载码率档位。这样设置的好处在于,当满足预设升档条件时,及时提升下载码率档位,使得使用客户端的用户可以观看到更加清晰的画面。其中,在进行升档时,升档幅度具体不做限定,例如可以是提升一个码率档位,也即目标下载码率档位比当前码率档位高一个档位;还可以根据预估带宽范围中的上限值和当前下载码率档位确定合适的码率档位为目标下载码率档位。
在一些实施例中,所述根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,包括:根据所述预估带宽范围中的上限值计算最大升档码率档位,若所述最大升档码率档位大于所述当前下载码率档位,则确定满足预设升档条件。相应的,所述根据判定结果确定未来下载时段对应的目标下载码率,包括:若满足所述预设升档条件,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位。这样设置的好处在于,可以直接将当前下载码率档位调节至预估带宽范围内允许的最大档位,快速改善画面质量,也使得用户快速获得更好的观看体验。
示例性的,假设当前音视频流对应的转码档位为L个,码率分别记为rj,1≤j≤L,并rj≤rj+1,也即码率档位和码率成正相关关系,可理解为码率档位越大或越高,码率值越高。记当前下载码率档位为c,对应的码率记为rc。最大升档码率档位可理解为采用最高预估带宽Tmax(也即预估带宽范围中的上限值)能够升到的最大档位,假设记为u,可以采用如下表达式确定其数值:
u=maxj{Tmax≥rj,1≤j≤L}
其中,预设升档条件可记为u>c。
在一些实施例中,还可设置预设升档冗余比例。相应的,所述根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,包括:根据所述预估带宽范围中的上限值和预设升档冗余比例计算最大升档码率档位,若所述最大升档码率档位大于所述当前下载码率档位,则确定满足预设升档条件。这样设置的好处在于,可以更加合理地计算最大升档码率档位,避免升档幅度过大,造成档位的频繁切换。示例性的,上述表达式可优化为:
u=maxj{Tmax≥(1+ε1)·rj,1≤j≤L}
也即升档条件为:maxj{Tmax≥(1+ε1)·rj,1≤j≤L}>c
其中,ε1表示预设升档冗余比例,具体数值可根据实际需求设置。
在一些实施例中,所述根据所述预估带宽范围确定未来下载时段对应的目标下载码率,包括:根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件;根据判定结果确定未来下载时段对应的目标下载码率档位,其中,码率档位和码率成正相关关系。示例性的,当判断结果为满足预设降档条件时,确定未来下载时段对应的目标下载码率档位,目标下载码率档位小于当前下载码率档位。这样设置的好处在于,当满足预设降档条件时,及时降低下载码率档位,避免发生卡顿,使得使用客户端的用户可以观看到更加流畅的画面。其中,在进行降档时,降档幅度具体不做限定,例如可以是降低一个码率档位,也即目标下载码率档位比当前码率档位低一个档位;还可以根据预估带宽范围中的下限值和当前下载码率档位确定合适的码率档位为目标下载码率档位。
示例性的,所述根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件,包括:根据所述预估带宽范围中的下限值计算最大降档码率档位,若所述最大降档码率档位小于所述当前下载码率档位,则确定满足预设降档条件。相应的,所述根据判定结果确定未来下载时段对应的目标下载码率,包括:若满足所述预设降档条件,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位。这样设置的好处在于,可以直接将当前下载码率档位调节至预估带宽范围内允许的合适档位,在有效避免发生卡顿的情况下,也使得用户能够看到预估带宽允许的较为清晰的画面。
示例性的,最大降档码率档位可理解为采用最低预估带宽Tmin(也即预估带宽范围中的下限值)能够降到的最大档位,假设记为d,可以采用如下表达式确定其数值:
d=maxj{Tmin≥rj,1≤j≤L}
其中,预设升档条件可记为c>d。
在一些实施例中,还可设置预设降档冗余比例。相应的,所述根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件,包括:根据所述预估带宽范围中的下限值和预设降档冗余比例计算最大降档码率档位,若所述最大降档码率档位小于所述当前下载码率档位,则确定满足预设降档条件。这样设置的好处在于,可以更加合理地计算最大升档码率档位,避免升档幅度过大,造成档位的频繁切换。示例性的,上述表达式可优化为:
d=maxj{Tmin≥(1+ε2)·rj,1≤j≤L}
也即降档条件为:c>maxj{Tmin≥(1+ε2)·rj,1≤j≤L}
其中,ε2表示预设降档冗余比例,具体数值可根据实际需求设置。
在一些实施例中,还可以同时采用上述的升档判定方式和降档判定方式。例如,先根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,若不满足预设升档条件,则继续根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件。具体的,先根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,若满足预设升档条件,则确定未来下载时段对应的目标下载码率档位大于当前下载码率档位,若不满足预设升档条件,则继续根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件,若满足预设降档条件,则确定未来下载时段对应的目标下载码率档位小于当前下载码率档位,若不满足预设降档条件,则确定未来下载时段对应的目标下载码率档位等于当前下载码率档位。
在一些实施例中,也可先进行降档判定再进行升档判定。例如,先根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件,若满足预设降档条件,则确定未来下载时段对应的目标下载码率档位小于当前下载码率档位,若不满足预设降档条件,则继续根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,若满足预设升档条件,则确定未来下载时段对应的目标下载码率档位大于当前下载码率档位,若不满足预设升档条件,则确定未来下载时段对应的目标下载码率档位等于当前下载码率档位。
图3为本发明实施例提供的又一种码率确定方法的流程示意图,如图3所示,该方法可包括:
步骤301、在音视频实时传输过程中,利用基于拥塞的拥塞控制方法根据上一个探测周期的历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率。
其中,探测周期中包含预设数量的探测轮次,一个探测轮次为一个往返时延。当前探测周期内的第一预设探测轮次的数据发送速率大于历史探测带宽,第二预设探测轮次的数据发送速率小于历史探测带宽,第一预设探测轮次的数据发送速率和第二预设探测轮次的数据发送速率的平均值等于历史探测带宽,其余探测轮次的数据发送速率等于历史探测带宽。其中,历史探测带宽可以是上一个探测周期中的各历史探测带宽值的最大值或平均值等,具体不做限定。
步骤302、利用基于拥塞的拥塞控制方法根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果。
其中,在利用BBR方法根据第一预设探测轮次对应的数据发送速率进行第一预设探测轮次的带宽探测时,将历史发送数据作为冗余包进行发送,以达到第一预设探测轮次对应的数据发送速率。
步骤303、根据带宽探测结果中的最大探测带宽值确定当前时刻的预估带宽范围的上限值。
步骤304、根据带宽探测结果中的探测带宽平均值和历史下载时段对应的历史下载带宽的最小值确定当前时刻的预估带宽范围的下限值。
其中,历史下载时段和未来下载时段相邻,且历史下载时段的长度和未来下载时段的长度相等。
步骤305、根据预估带宽范围中的上限值和预设升档冗余比例计算最大升档码率档位。
步骤306、判断最大升档码率档位是否大于当前下载码率档位,若是,则执行步骤307;否则,执行步骤308。
本发明实施例中,可以先进行升档判断,若符合升档条件,则进行升档,快速得到较高的画面质量。
步骤307、确定未来下载时段对应的目标下载码率档位为最大升档码率档位,结束流程。
示例性的,在确定升档后,结束流程可以指本次码率档位调节完成,可以在下一次需要进行码率档位调节的时刻确定下一个未来下载时段对应的目标下载码率。
步骤308、根据预估带宽范围中的下限值和预设降档冗余比例计算最大降档码率档位。
步骤309、判断最大降档码率档位是否小于当前下载码率档位,若是,则执行步骤310;否则,执行步骤311。
在确定不满足升档条件的情况下,继续判断是否满足降档条件,若满足,则进行降档,保证音视频传输的流畅性。
步骤310、确定未来下载时段对应的目标下载码率档位为最大降档码率档位,结束流程。
步骤311、确定未来下载时段对应的目标下载码率档位为当前下载码率档位。
本发明实施例提供的码率确定方法,在进行带宽探测时基于BBR方法根据上一个探测周期得到的历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,利用BBR方法在一个探测周期内进行往返时间粒度的多轮次探测,可以快速、灵敏且准确地探测到音视频传输链路的实际带宽变化情况,根据探测结果中的最大值、平均值以及历史下载时段的历史下载带宽,合理估计带宽上下限,先进行升档判定,若满足升档条件,则升到预估带宽允许的最大档位,快速提升画面质量,若不满足升档条件,再进行降档判定,若满足降档条件,则降到合适的最大降档码率档位,兼顾流畅性和画面质量,使得码率档位的调整更加灵敏准确,有效保证用户的观看体验。
在上述各可选实施例基础上,还可针对满足升档条件的次数和/或满足降档条件的次数进行判定,避免频繁升档或降档,保证升降档决策的稳定性。
示例性的,若满足所述预设升档条件,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位,包括:若满足所述预设升档条件,则判断最近的预设时段内的满足预设升档条件的次数是否达到预设升档次数阈值,若达到,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位。可选的,若未达到,则暂不对下载码率档位进行调节。其中,预设时段的时长可以根据实际需求设置,最近的预设时段内的满足预设升档条件的次数可以是该最近的预设时段内的累计次数,也可以是该最近的预设时段内的连续满足预设升档条件的次数,具体不做限定。
进一步的,若满足所述预设降档条件,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位,包括:若满足所述预设降档条件,则判断最近的预设时段内的满足预设降档条件的次数是否达到预设降档次数阈值,若达到,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位。可选的,若未达到,则暂不对下载码率档位进行调节。其中,预设时段的时长可以根据实际需求设置,最近的预设时段内的满足预设降档条件的次数可以是该最近的预设时段内的累计次数,也可以是该最近的预设时段内的连续满足预设降档条件的次数,具体不做限定。
下面以直播场景为例进行进一步说明。图4为本发明实施例提供的另一种码率确定方法的流程示意图,如图4所示,该方法可包括:
步骤401、在直播视频流传输过程中,利用基于拥塞的拥塞控制方法根据上一个探测周期的历史探测带宽确定当前探测周期内的各探测轮次的直播数据发送速率。
其中,探测周期中包含8个探测轮次,一个探测轮次为一个往返时延,每个探测轮次的直播数据发送速率是历史探测带宽的倍数,分别为1,1,1,1,1,1,1.25和0.75。其中,历史探测带宽可以是上一个探测周期中的各历史探测带宽值的最大值或平均值等,具体不做限定。
步骤402、利用基于拥塞的拥塞控制方法根据所确定的直播数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果。
其中,在利用BBR方法根据第一预设探测轮次对应的数据发送速率进行第一预设探测轮次的带宽探测时,将历史直播数据作为冗余包进行发送,以达到第一预设探测轮次对应的直播数据发送速率。
步骤403、根据带宽探测结果中的最大探测带宽值确定当前时刻的预估带宽范围的上限值。
本发明实施例中,可以先计算预估带宽范围的上限值,然后进行升档判定,若满足升档判定条件,则无需再计算预估带宽范围的下限值,节约计算资源。
步骤404、根据预估带宽范围中的上限值和预设升档冗余比例计算最大升档码率档位。
步骤405、判断是否满足预设升档条件,若是,则执行步骤406;否则,执行步骤408。
示例性的,判断最大升档码率档位是否大于当前下载码率档位,若是,则满足预设升档条件,否则,不满足。
步骤406、判断满足预设升档条件的次数是否达到预设升档次数阈值,若是,执行步骤407;否则,执行步骤413。
步骤407、确定未来下载时段对应的目标下载码率档位为最大升档码率档位,返回执行步骤401。
需要说明的是,可以是在需要进行下一个探测周期的带宽探测操作时,继续执行步骤401。
步骤408、根据带宽探测结果中的探测带宽平均值和上一画面组对应的历史下载带宽的最小值确定当前时刻的预估带宽范围的下限值。
步骤409、根据预估带宽范围中的下限值和预设降档冗余比例计算最大降档码率档位。
步骤410、判断是否满足预设降档条件,若是,则执行步骤411;否则,执行步骤413。
示例性的,判断最大降档码率档位是否小于当前下载码率档位,若是,则满足预设降档条件,否则,不满足。
步骤411、判断满足预设降档条件的次数是否达到预设降档次数阈值,若是,则执行步骤412;否则,执行步骤413。
步骤412、确定未来下载时段对应的目标下载码率档位为最大降档码率档位,返回执行步骤401。
步骤413、确定未来下载时段对应的目标下载码率档位为当前下载码率档位。
需要说明的是,图4所示的方法流程中,当视频直播结束或触发其他相关条件时,可以结束流程。
本发明实施例提供的码率确定方法,对于视频直播场景,基于BBR探测机制实现自适应码率档位调节,能在RTT级别快速的探测带宽,基于BBR本身特性避免了冗余包对链路的拥塞,且可以更好的探测到链路实际带宽,根据BBR带宽探测结果确定升码率依据,根据BBR带宽探测结果和下载任务探测带宽综合确定降码率依据,可以实现卡顿最小化以及码率最大化,也即降低卡顿率,提升直播视频画面的清晰度,最大化用户的体验质量。
图5为本发明实施例提供的一种码率确定装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行码率确定方法来确定未来时段的下载码率。如图5所示,该装置包括:
数据发送速率确定模块501,用于在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
带宽探测模块502,用于根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
预估带宽范围确定模块503,用于根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
目标下载码率确定模块504,用于根据所述预估带宽范围确定未来下载时段对应的目标下载码率。
本发明实施例中提供的码率确定装置,在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应,根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果,根据带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,根据预估带宽范围确定未来下载时段对应的目标下载码率。通过采用上述技术方案,在一个探测周期内进行往返时间粒度的多轮次探测,在进行探测时根据历史探测带宽确定探测过程中的数据发送速率,可以快速、灵敏且准确地探测到音视频传输链路的实际带宽变化情况,结合历史下载带宽,合理估计带宽范围,并确定未来下载时段对应的目标下载码率,从而达到更加合理地自适应调节下载码率,提升用户的音视频观看体验。
本发明实施例提供了一种计算机设备,该计算机设备中可集成本发明实施例提供的码率确定装置。图6为本发明实施例提供的一种计算机设备的结构框图。计算机设备600包括存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序,所述处理器602执行所述计算机程序时实现本发明实施例提供的码率确定方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的码率确定方法。
上述实施例中提供的码率确定装置、设备以及存储介质可执行本发明任意实施例所提供的码率确定方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的码率确定方法。
注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。

Claims (16)

1.一种码率确定方法,其特征在于,包括:
在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
根据所述预估带宽范围确定未来下载时段对应的目标下载码率;
所述根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,包括:
根据所述带宽探测结果中的最大探测带宽值确定当前时刻的预估带宽范围的上限值;
根据所述带宽探测结果中的探测带宽平均值和第一带宽的最小值确定当前时刻的预估带宽范围的下限值,其中,所述第一带宽为历史下载时段对应的历史下载带宽。
2.根据权利要求1所述的方法,其特征在于,所述根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,包括:
利用基于拥塞的拥塞控制方法根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,所述历史探测带宽根据上一个探测周期的带宽探测结果确定,当前探测周期内的第一预设探测轮次的数据发送速率大于所述历史探测带宽,第二预设探测轮次的数据发送速率小于所述历史探测带宽,其余探测轮次的数据发送速率等于所述历史探测带宽;
其中,所述根据所确定的数据发送速率进行当前探测周期内的带宽探测,包括:
利用所述基于拥塞的拥塞控制方法根据所确定的数据发送速率进行当前探测周期内的带宽探测。
3.根据权利要求2所述的方法,其特征在于,所述第一预设探测轮次的数据发送速率和所述第二预设探测轮次的数据发送速率的平均值等于所述历史探测带宽。
4.根据权利要求2所述的方法,其特征在于,在利用所述基于拥塞的拥塞控制方法根据所述第一预设探测轮次对应的数据发送速率进行所述第一预设探测轮次的带宽探测时,将历史发送数据作为冗余包进行发送,以达到所述第一预设探测轮次对应的数据发送速率。
5.根据权利要求1所述的方法,其特征在于,所述历史下载时段和所述未来下载时段相邻,且所述历史下载时段的长度和所述未来下载时段的长度相等,均为一个画面组的长度。
6.根据权利要求1-5任一所述的方法,其特征在于,所述根据所述预估带宽范围确定未来下载时段对应的目标下载码率,包括:
根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件;和/或,根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件;
根据判定结果确定未来下载时段对应的目标下载码率档位,其中,码率档位和码率成正相关关系。
7.根据权利要求6所述的方法,其特征在于,所述根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,包括:
根据所述预估带宽范围中的上限值和预设升档冗余比例计算最大升档码率档位,若所述最大升档码率档位大于所述当前下载码率档位,则确定满足预设升档条件;
其中,所述根据判定结果确定未来下载时段对应的目标下载码率,包括:
若满足所述预设升档条件,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位。
8.根据权利要求7所述的方法,其特征在于,若满足所述预设升档条件,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位,包括:
若满足所述预设升档条件,则判断最近的预设时段内的满足预设升档条件的次数是否达到预设升档次数阈值,若达到,则确定未来下载时段对应的目标下载码率档位为所述最大升档码率档位。
9.根据权利要求7所述的方法,其特征在于,先根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件,若不满足预设升档条件,则继续根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件。
10.根据权利要求9所述的方法,其特征在于,所述根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件,包括:
根据所述预估带宽范围中的下限值和预设降档冗余比例计算最大降档码率档位,若所述最大降档码率档位小于所述当前下载码率档位,则确定满足预设降档条件;
其中,所述根据判定结果确定未来下载时段对应的目标下载码率,包括:
若满足所述预设降档条件,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位。
11.根据权利要求10所述的方法,其特征在于,若满足所述预设降档条件,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位,包括:
若满足所述预设降档条件,则判断最近的预设时段内的满足预设降档条件的次数是否达到预设降档次数阈值,若达到,则确定未来下载时段对应的目标下载码率档位为所述最大降档码率档位。
12.一种码率确定方法,其特征在于,包括:
在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
根据所述预估带宽范围确定未来下载时段对应的目标下载码率;
所述根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,包括:
利用基于拥塞的拥塞控制方法根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,所述历史探测带宽根据上一个探测周期的带宽探测结果确定,当前探测周期内的第一预设探测轮次的数据发送速率大于所述历史探测带宽,第二预设探测轮次的数据发送速率小于所述历史探测带宽,其余探测轮次的数据发送速率等于所述历史探测带宽;
其中,所述根据所确定的数据发送速率进行当前探测周期内的带宽探测,包括:
利用所述基于拥塞的拥塞控制方法根据所确定的数据发送速率进行当前探测周期内的带宽探测;
所述根据所述预估带宽范围确定未来下载时段对应的目标下载码率,包括:
根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件;和/或,根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件;
根据判定结果确定未来下载时段对应的目标下载码率档位,其中,码率档位和码率成正相关关系。
13.一种码率确定装置,其特征在于,包括:
数据发送速率确定模块,用于在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
带宽探测模块,用于根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
预估带宽范围确定模块,用于根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
目标下载码率确定模块,用于根据所述预估带宽范围确定未来下载时段对应的目标下载码率;
所述根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围,包括:
根据所述带宽探测结果中的最大探测带宽值确定当前时刻的预估带宽范围的上限值;
根据所述带宽探测结果中的探测带宽平均值和第一带宽的最小值确定当前时刻的预估带宽范围的下限值,其中,所述第一带宽为历史下载时段对应的历史下载带宽。
14.一种码率确定装置,其特征在于,包括:
数据发送速率确定模块,用于在音视频实时传输过程中,根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,探测周期中包含预设数量的探测轮次,探测轮次与往返时延相对应;
带宽探测模块,用于根据所确定的数据发送速率进行当前探测周期内的带宽探测,得到带宽探测结果;
预估带宽范围确定模块,用于根据所述带宽探测结果和历史下载时段对应的历史下载带宽确定当前时刻的预估带宽范围;
目标下载码率确定模块,用于根据所述预估带宽范围确定未来下载时段对应的目标下载码率;
所述根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,包括:
利用基于拥塞的拥塞控制方法根据历史探测带宽确定当前探测周期内的各探测轮次的数据发送速率,其中,所述历史探测带宽根据上一个探测周期的带宽探测结果确定,当前探测周期内的第一预设探测轮次的数据发送速率大于所述历史探测带宽,第二预设探测轮次的数据发送速率小于所述历史探测带宽,其余探测轮次的数据发送速率等于所述历史探测带宽;
其中,所述根据所确定的数据发送速率进行当前探测周期内的带宽探测,包括:
利用所述基于拥塞的拥塞控制方法根据所确定的数据发送速率进行当前探测周期内的带宽探测;
所述根据所述预估带宽范围确定未来下载时段对应的目标下载码率,包括:
根据所述预估带宽范围中的上限值和当前下载码率档位判定是否满足预设升档条件;和/或,根据所述预估带宽范围中的下限值和当前下载码率档位判定是否满足预设降档条件;
根据判定结果确定未来下载时段对应的目标下载码率档位,其中,码率档位和码率成正相关关系。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-12任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的方法。
CN202110576269.4A 2021-05-26 2021-05-26 码率确定方法、装置、设备及存储介质 Active CN113301392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110576269.4A CN113301392B (zh) 2021-05-26 2021-05-26 码率确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110576269.4A CN113301392B (zh) 2021-05-26 2021-05-26 码率确定方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113301392A CN113301392A (zh) 2021-08-24
CN113301392B true CN113301392B (zh) 2023-05-16

Family

ID=77325100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110576269.4A Active CN113301392B (zh) 2021-05-26 2021-05-26 码率确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113301392B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339863B (zh) * 2021-12-27 2024-06-11 浙江大华技术股份有限公司 上行数据的传输方法、装置、存储介质及电子装置
CN116418761A (zh) * 2021-12-31 2023-07-11 华为技术有限公司 带宽推荐方法及装置、显示装置、控制设备
CN114390320B (zh) * 2022-02-18 2024-02-13 百果园技术(新加坡)有限公司 数据编码码率自适应调节方法、装置、设备和存储介质
CN115065846B (zh) * 2022-05-13 2024-04-26 北京字节跳动网络技术有限公司 一种视频下发方法、装置、服务器和介质
CN117560531B (zh) * 2024-01-11 2024-04-05 淘宝(中国)软件有限公司 一种带宽探测方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801690B (zh) * 2011-05-25 2015-09-30 华为技术有限公司 流媒体的处理方法、分发服务器、客户端及系统
CN104618195B (zh) * 2015-02-16 2018-11-23 腾讯科技(深圳)有限公司 带宽估测方法和装置
CN106162229B (zh) * 2015-04-10 2019-04-16 北京大学 改善公平性的平滑码率自适应方法及装置
US10931587B2 (en) * 2017-12-08 2021-02-23 Reniac, Inc. Systems and methods for congestion control in a network
CN112422356B (zh) * 2019-08-22 2022-07-29 腾讯科技(深圳)有限公司 确定网络状态的方法及装置

Also Published As

Publication number Publication date
CN113301392A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN113301392B (zh) 码率确定方法、装置、设备及存储介质
CN111683393B (zh) 一种动态调整增益系数的自适应拥塞控制方法
US11489781B2 (en) Bandwidth management
CN101971629B (zh) 用于适配视频信号的目标速率的设备和方法
KR101046105B1 (ko) 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템
CN109660879B (zh) 直播丢帧方法、系统、计算机设备和存储介质
US9998338B2 (en) System and method for dynamic effective rate estimation for real-time video traffic
CN112822521B (zh) 音视频传输的码率控制方法、装置、设备及存储介质
US20130263200A1 (en) Method for two time-scales video stream transmission control
EP2380294B1 (en) Method for controlling a flow in a packet switching network
CN113891155B (zh) 视频播放档位确定方法、视频播放方法及相关装置
CN104394484A (zh) 一种无线实时流媒体传输方法
US20170142029A1 (en) Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium
US20130051380A1 (en) Method of adapting the data rate during transmission of variable bit-rate data streams
CN113747102B (zh) 视频通话处理方法、装置、设备及存储介质
CN113891172B (zh) 一种适于无线Mesh网络的基于RTT的自适应码率控制方法
US20070177625A1 (en) Packet communication system, packet communication method, transmission apparatus, and storage medium having stored therein computer program
KR101837637B1 (ko) 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치
US8234683B2 (en) Method and apparatus for controlling channel for providing internet protocol television service
CN116546276A (zh) 链路带宽估计方法、装置、设备、存储介质以及程序产品
CN110381036A (zh) 一种用于dash流媒体的tcp拥塞控制方法
Laine et al. Network Capacity Estimators Predicting QoE in HTTP Adaptive Streaming
CN113676739B (zh) 一种视频播放方法、装置、设备及存储介质
CN115037701B (zh) 视频处理方法、装置、服务器及介质
Milani et al. Improving quality-of-experience for multiple description video transmission in peer-to-peer networks

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