CN116546276A - 链路带宽估计方法、装置、设备、存储介质以及程序产品 - Google Patents

链路带宽估计方法、装置、设备、存储介质以及程序产品 Download PDF

Info

Publication number
CN116546276A
CN116546276A CN202310363870.4A CN202310363870A CN116546276A CN 116546276 A CN116546276 A CN 116546276A CN 202310363870 A CN202310363870 A CN 202310363870A CN 116546276 A CN116546276 A CN 116546276A
Authority
CN
China
Prior art keywords
bandwidth
link
resolution
code rate
estimated
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
Application number
CN202310363870.4A
Other languages
English (en)
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 CN202310363870.4A priority Critical patent/CN116546276A/zh
Publication of CN116546276A publication Critical patent/CN116546276A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
    • 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
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种链路带宽估计方法、装置、设备、存储介质以及程序产品,该方法包括:获取链路的数据传输参数以及视频场景,根据数据传输参数计算得到估计带宽;基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽;基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。本方案解决了因错误估计带宽,对码率控制的准确性和稳定性造成负面影响的问题,能够提升带宽估计准确性和稳定性,进而提高应对网络变化能力,在最大化带宽利用率的同时,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。

Description

链路带宽估计方法、装置、设备、存储介质以及程序产品
技术领域
本申请实施例涉及通信技术领域,尤其涉及链路带宽估计方法、装置、设备、存储介质以及程序产品。
背景技术
在主播直播的过程中,主播实时录制的视频需要被编码并发送至后台服务器以提供稳定流畅的内容供观众观看。然而主播的网络可能是多变的,或处于不稳定不可靠的环境中,或需要面对多用户共享链路带来的网络冲击。在复杂多变的网络环境下,主播发送端需要实时估计网络链路带宽,并控制编码码率与网络承载能力相匹配,否则将带来较差的用户体验。
一方面,高估带宽会使编码码率超过网络实际转发速率,多余的视频数据将堆积在发送队列产生高延时,严重时观众端会因为收流速度低于视频播放速度而耗尽视频缓存并发生播空卡顿;另一方面,低估带宽会限制编码码率而没能提供预期更高清晰度和流畅度的视频体验;同时,在允许延时抖动和不影响带宽利用率的基础上,估计带宽与码率控制的稳定性对QoE(Quality of Experience,体验质量)也会产生重要的影响,如画质或帧率流畅度上的波动。为了保障视频直播的传输质量,在端到端延时0.5s的普通视频直播场景下,上行采用BBR(Bottleneck Bandwidth and RTT,瓶颈带宽和往返延时)拥塞控制算法,通过记录数据包的数据传输,并观测接收端ACK(Acknowledge Character,确认字符)反馈的延时和接受速率。进而,通过模型控制理论估计Btlbw(Bottleneck Bandwidth,瓶颈链路带宽),以及RTTprob(Round-Trip Time prob,最小链路延时),最终输出Cwnd(CongestionWindow,网络发送窗口),以及PacingRate(数据包发送速度)来控制数据包的发送。BBR拥塞控制算法旨在以最小延时工作在瓶颈链路带宽上,具有出色的表现性能。在直播推流的过程中,需要根据实时发送能力控制编码码率的输出,然而BBR拥塞控制算法的实际发送速率受数据包发送速度以及网络发送窗口共同控制,其中,数据包发送速度限制数据发送速度,而网络发送窗口限制数据发送总量。由于单一的数据包发送速率或瓶颈链路带宽无法直接表征实际发送速率,因而需要额外的带宽估计用于码率控制,来减少高估或低估实际发送速率带来的卡顿以及带宽利用率不足的问题。
相关技术中,上行利用额外的拥塞检测手段估计实际数据发送能力,当检测到拥塞时,说明链路达到满载,取实际接受速率作为估算带宽;当没有检测到拥塞时,取BBR估算的Bltbw作为带宽采样点,具有不错的应对网络变化的能力。然而,其仍然存在两个问题:一是拥塞检测具有一定的误检率,高估或低估实际发送速率会对码率控制的准确性和稳定性产生负面影响;二是检测手段具有片面性,BBR本身有其特定的拥塞控制策略,额外的拥塞检测与BBR的状态和需求可能不一致,比如当BBR判定仍需要额外发送数据时,额外的拥塞检测却判断为拥塞,导致带宽估算降低,使输出码率达不到BBR发送要求,这种无法统一的行为容易造成不稳定的负面影响,比如造成发送堆积或发送不足,而发送不足又容易影响BBR对Bltbw的探测。
发明内容
本申请实施例提供了一种链路带宽估计方法、装置、设备、存储介质以及程序产品,解决了因错误估计带宽,对码率控制的准确性和稳定性造成负面影响的问题,能够提升带宽估计准确性和稳定性,进而提高应对网络变化能力,在最大化带宽利用率的同时,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。
第一方面,本申请实施例提供了一种链路带宽估计方法,该方法包括:
获取链路的数据传输参数以及视频场景,根据所述数据传输参数计算得到估计带宽;
基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
第二方面,本申请实施例还提供了一种链路带宽估计装置,包括:
获取模块,配置为获取链路的数据传输参数以及视频场景;
估计带宽模块,配置为根据所述数据传输参数计算得到估计带宽;
码率带宽模块,配置为基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
分辨率带宽模块,配置为基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
第三方面,本申请实施例还提供了一种链路带宽估计设备,该设备包括:
一个或多个处理器;
存储装置,配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的链路带宽估计方法。
第四方面,本申请实施例还提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行本申请实施例所述的链路带宽估计方法。
第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本申请实施例所述的链路带宽估计方法。
本申请实施例中,通过获取链路的数据传输参数以及视频场景,并根据数据传输参数计算得到估计带宽,之后基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽,最后基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。采用上述技术手段,基于链路的实时数据传输参数计算进行带宽估计,能够提升带宽估计准确性,最大化带宽利用率;通过设置码率滤波器对估计带宽进行滤波,有利于提升实时传输效率,满足高灵敏度的需求;通过考量不同视频场景对于帧率以及分辨率的不同需求,提高应对网络变化能力,通过设置分辨率滤波器,同时结合视频场景对估计带宽进行滤波,提升带宽估计稳定性,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。
附图说明
图1为本申请实施例提供的一种链路带宽估计方法的流程图;
图2为本申请实施例提供的一种计算估计带宽的方法的流程图;
图3为本申请实施例提供的另一种计算估计带宽的方法的流程图;
图4为本申请实施例提供的一种计算得到分辨率参考带宽的方法的流程图;
图5为本申请实施例提供的一种确定分辨率滤波系数的方法的流程图;
图6为本申请实施例提供的另一种链路带宽估计方法的流程图;
图7为本申请实施例提供的一种链路带宽估计装置的结构框图;
图8为本申请实施例提供的一种链路带宽估计设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的链路带宽估计方法,适用于不同应用场景下视频传输的链路带宽估计,具体应用场景可以包括:线上直播、视频会议以及视频通话等。前述罗列的几种应用场景仅是示例性和解释性的,在实际应用中,还可以在其他场景下用到链路带宽估计,本申请实施例对此不作限定。本申请旨在提供一种链路带宽估计方法、装置、设备、存储介质以及程序产品,能够提升带宽估计准确性和稳定性,进而提高应对网络变化能力,在最大化带宽利用率的同时,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。
本申请实施例提供的链路带宽估计方法,各步骤的执行主体可以是计算机设备,该计算机设备是指任何具备数据计算、处理和存储能力的电子设备,如手机、PC(PersonalComputer,个人计算机)、平板电脑等终端设备,也可以是服务器等设备,本申请实施例对此不作限定。
图1为本申请实施例提供的一种链路带宽估计方法的流程图,具体包括如下步骤:
步骤S101、获取链路的数据传输参数以及视频场景,根据数据传输参数计算得到估计带宽。
其中,视频场景可以是基于视频的画面内容、视频所处的地域以及视频的单双向传输情况等划分的场景。示例的,视频场景可以包括实时场景和非实时场景,其中非实时场景可以包括娱乐直播以及游戏直播等,实时场景可以包括视频通话以及网络连麦等,不同视频场景对于清晰度和流畅度要求不同,由此需要结合具体的视频场景来合理进行带宽估算,以利于有效调节码率输出。其中,链路的数据传输参数可以是能够表征链路所处网络状况的具体指标数值,例如体现链路的数据发送状态以及链路的拥塞状态等。数据传输参数可以包括发送窗口大小、链路飞行数据量、原始链路往返时延以及瓶颈链路带宽,其中,发送窗口大小表征可连续发送的数据量,链路飞行数据量表征未接收到确认的已发送数据,原路链路往返时延表征链路数据传输的延时状况,瓶颈链路带宽表征端到端路径上所有链路中的最小链路带宽。可选的,数据传输参数可以基于拥塞控制算法获得,例如BBR拥塞控制算法,以及TCPA拥塞控制算法等。为了保障视频数据传输的清晰度和流畅度,可以对一个或多个数据传输参数进行组合计算得到估计带宽,其中,估计带宽可以是链路当前的数据可发送速率,例如,可以在瓶颈链路带宽的基础上添加增益系数得到估计带宽,又例如,可以通过发送窗口大小以及链路飞行数据量估计数据发送量,并结合链路往返时延得到估计带宽。
在一个实施例中,图2为本申请实施例提供的一种计算估计带宽的方法的流程图,给出了一种示例性的根据数据传输参数计算得到估计带宽的方法,如图2所示,具体包括:
步骤S1011、对原始链路往返时延进行平滑滤波计算得到平滑链路往返时延。
示例的,原始链路往返时延具体为测量从发送端发送数据开始,到发送端接收到来自接收端的确认的时间,当出现网络抖动情况时,会引起链路往返时延不同程度的变化,进而引发传输速率的波动。可选的,可以对链路往返时延进行平滑滤波计算得到平滑链路往返时延,其中平滑滤波方式可以选择简单移动平均、指数移动平均以及加权移动平均等,本申请在此不作限制。
在一个实施例中,以使用指数移动平均滤波为示例,对当前时刻i的原始链路往返时延Rtti进行平滑滤波计算得到当前时刻的平滑链路往返时延具体计算公式如下:
其中为前一时刻的平滑链路往返时延,σ为链路往返时延滤波系数。σ可以根据网络抖动状况进行适应性调整,可选的,σ=0.75,则计算公式如下:
在一个实施例中,还可以使用加权移动平均滤波,通过参考连续三个时刻的链路往返时延,设置不同的权值,得到中间时刻的链路往返时延,即当前时刻的平滑链路往返时延
由此,通过对链路往返时延进行平滑滤波,可以有效应对网络抖动,降低估计带宽的波动,提高对于不同应用场景下估计带宽的输出的稳定性,以有利于码率输出稳定。
步骤S1012、根据发送窗口大小、链路飞行数据量以及平滑链路往返时延计算得到第一可发送速率。
其中,第一可发送速率可以是链路发送端发送数据的速率,根据发送窗口大小与链路飞行数据量的差值可以得到当前时刻链路可发送的数据量,而结合平滑链路往返时延可以对当前时刻链路的可发送速率进行合理估计,可选的,当前时刻i,根据发送窗口大小Cwndi、链路飞行数据量Inflighti以及平滑链路往返时延计算得到第一可发送速率CanSendi,可以采用的计算公式如下:
具体的,当链路发生拥塞时,数据包会在链路中排队并延时到达,链路飞行数据量Inflighti会逐渐增大,在发送窗口大小Cwndi保持不变的情况下,发送窗口大小Cwndi与链路飞行数据量Inflighti的差值会逐渐变小,平滑链路往返时延也会逐渐增大,导致第一可发送速率CanSendi逐渐趋于0,那么发送端的发送速率会降为0,直到链路上滞留的数据被接收端接收,并反馈应答消息,与此同时,链路飞行数据量Inflighti会逐渐变小,发送端可以重新允许发送数据。由此,可以避免链路带宽骤降时引起链路堆积过多数据加剧拥塞,缓解链路的满负荷状态,降低数据丢失的风险,提高数据传输的稳定性。
步骤S1013、将第一可发送速率与瓶颈链路带宽中的较小值确定为估计带宽。
示例的,当第一可发送速率CanSendi比瓶颈链路带宽Bltbwi大时,为了避免加剧链路的拥塞情况,取瓶颈链路带宽Bltbwi作为当前时刻i链路的估计带宽Ei;当第一可发送速率CanSendi比瓶颈链路带宽Bltbwi小时,此时瓶颈链路带宽Bltbwi的估计值可能会高于实际的链路可用带宽,因此为了避免加剧链路的数据堆积,取第一可发送速率CanSendi作为当前时刻i链路的估计带宽Ei,具体计算公式如下:
Ei=min(CanSendi,Bltbwi)
上述,通过第一可发送速率以及瓶颈链路带宽的对比取值,有效应对网络变化,减轻网络拥塞程度,保障数据传输的质量。
在一个实施例中,图3为本申请实施例提供的另一种计算估计带宽的方法的流程图,给出了一种示例性的根据数据传输参数计算得到估计带宽的方法,其中数据传输参数还包括平均接收速率,如图3所示,还具体包括:
步骤S1014、将第一发送速率与平均接收速率的较大值确定为第二可发送速率。
其中,平均接收速率可以是链路接收端接收数据的平均速率,步骤S1014在步骤S1012之后,当第一可发送速率趋于0时,链路处于满负荷状态,接收端会以接近瓶颈链路带宽的平均接收速率接收数据,而链路飞行数据量会以平均接收速率被释放。因此,由于链路飞行数据量会由于接收端确认消息的延时而被延迟释放,但实际的平均发送速率与平均接收速率相等,为了避免第一可发送速率因链路飞行数据量的延迟释放而趋于0,可选的,将第一发送速率CanSendi与平均接收速率AckRatei的较大值确定为当前时刻i的第二可发送速率CanSend′i,具体计算公式如下:
CanSend′i=max(CanSendi,AckRatei)
上述,将第一可发送速率的最小值限定在平均接收速率,有利于数据传输的稳定性,保障不同应用场景对于清晰度以及流畅度的需求。
步骤S1015、将第二可发送速率与瓶颈链路带宽中的较小值确定为估计带宽。
具体的,在步骤S1014之后,步骤S1015可以与步骤S1013替换,将第二可发送速率CanSend′i与瓶颈链路带宽Bltbwi中的较小值确定为估计带宽Ei,具体计算公式如下:
Ei=min(CanSend′i,Bltbwi)
上述,当链路带宽骤降时,可发送速率会逐渐收敛至实际的平均接收速率,估计带宽大于或等于平均接收速率;而链路带宽突增时,可发送速率会相较于拥塞控制方法所探测的瓶颈链路带宽大,估计带宽小于或等于瓶颈链路带宽。由此,估计带宽能够贴合拥塞控制方法的发送控制,有效提升速率估计的准确性和灵敏性。
步骤S102、基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽。
其中,码率滤波器可以是对估计带宽进行滤波计算的算法模块,其得到的码率参考带宽用于编码器的码率控制。示例的,通过步骤S101计算得到估计带宽后,为了更贴合链路实际带宽的传输,可以通过设置的码率滤波器对估计带宽进行计算得到码率参考带宽,以有利于后续的码率控制。码率滤波器可以采用一次指数平滑滤波器、二次指数平滑滤波器或三次指数平滑滤波器,本申请在此不作限制。
在一个实施例中,码率滤波器采用固定的码率滤波系数,其中,码率滤波参数可以是码率滤波计算的权重设置参数,步骤S102具体包括:
步骤S1021、根据码率滤波系数、估计带宽以及第一码率参考带宽计算得到第二码率参考带宽,其中,第一码率参考带宽为第二码率参考带宽前一时刻计算得到的码率参考带宽。
示例的,根据当前时刻i的码率滤波系数βi、估计带宽Ei以及前一时刻i-1的第一码率参考带宽Ri-1计算得到当前时刻i的第二码率参考带宽Ri,具体计算公式如下:
Ri=βi×Ei+Ri-1×(1-βi)
可选的,码率滤波系数βi=0.85,则当前时刻i的第二码率参考带宽Ri的计算公式如下:
Ri=0.85×Ei+Ri-1×0.15
上述,通过设置码率滤波器有利于提高应对网络变化能力,提升实时传输效率,减少因网络抖动引发的延时卡顿的问题,满足灵敏度需求。
步骤S103、基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。
其中,分辨率滤波器可以是对估计带宽进行滤波计算的算法模块,其得到的分辨率参考带宽用于编码器的分辨率控制。示例的,通过步骤S101计算得到估计带宽后,为了更贴合不同的应用场景的稳定性需求,减少画质波动以及高分辨率下低码率编码段容易溢出导致发送堆积卡顿的问题,可以通过设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽,以有利于后续的分辨率控制。分辨率滤波器可以采用一次指数平滑滤波器、二次指数平滑滤波器或三次指数平滑滤波器,本申请在此不作限制。
在一个实施例中,图4为本申请实施例提供的一种计算得到分辨率参考带宽的方法的流程图,给出了一种计算得到分辨率参考带宽的过程,如图4所示,具体步骤包括:
步骤S1031、基于视频场景确定分辨率滤波器的分辨率滤波系数。
其中,分辨率滤波参数可以是分辨率滤波计算的权重设置参数。示例的,视频场景可以根据对实时性不同的要求,分为实时场景和非实时场景,其中实时场景包括视频通话以及连麦场景等,相对来说要求更高的实时性和流畅性,而非实时场景包括娱乐直播以及游戏直播等,相对来说要求更高的清晰度和画质。与码率滤波器不同,由于分辨率滤波器与视频场景相关联,不同视频场景对应于不同的分辨率滤波系数。
步骤S1032、基于分辨率滤波系数、估计带宽以及第一分辨率参考带宽计算得到第二分辨率参考带宽,其中,第一分辨率参考带宽为第二分辨率参考带宽前一时刻计算得到的分辨率参考带宽。
示例的,根据当前时刻i的分辨率系数β′i、估计带宽Ei以及前一时刻i-1的第一分辨率参考带宽R′i-1计算得到当前时刻i的第二分辨率参考带宽R′i,具体计算公式如下:
R′i=β′i×Ei+R′i-1×(1-β′i)
上述,通过设置分辨率滤波器以及适应于估计带宽变化的分辨率系数,有利于满足不同应用场景对于清晰度和流畅度的需求,提高带宽估计的稳定性。
由上述可知,通过获取链路的数据传输参数以及视频场景,并根据数据传输参数计算得到估计带宽;之后基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽;最后基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。采用上述技术手段,基于链路的实时数据传输参数计算进行带宽估计,能够提升带宽估计准确性,最大化带宽利用率;通过设置码率滤波器对估计带宽进行滤波,有利于提升实时传输效率,满足高灵敏度的需求;通过考量不同视频场景对于帧率以及分辨率的不同需求,提高应对网络变化能力,通过设置分辨率滤波器,同时结合视频场景对估计带宽进行滤波,提升带宽估计稳定性,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。
图5为本申请实施例提供的一种分辨率滤波系数的方法的流程图,给出了一种确定辨率滤波器的分辨率滤波系数的过程,如图5所示,具体步骤包括:
步骤S1021、根据码率滤波系数、估计带宽以及第一码率参考带宽计算得到第二码率参考带宽,其中,第一码率参考带宽为第二码率参考带宽前一时刻计算得到的码率参考带宽。
步骤S10311、在视频场景为实时场景的情况下,以基础滤波系数为底数,以估计带宽与第二分辨率参考带宽的比值为指数,计算得到分辨率滤波系数。
其中,基础滤波系数可以是分辨率滤波系数的静态组成部分,数值为固定设置。示例的,以基础滤波系数θ为底数,以当前时刻i的估计带宽Ei与前一时刻i-1的第二分辨率参考带宽R′i-1的比值为指数,计算实时场景下的分辨率滤波系数β′i,具体计算公式如下:
可选的,基础滤波系数θ=0.95,则当前时刻i实时场景下的分辨率滤波系数β′i的计算公式如下:
在一个实施例中,结合前述分辨率滤波系数β′i,当前时刻i的第二分辨率参考带宽R′i的具体计算公式如下:
由上述公式可知,当估计带宽下降时通过加权滤波得到第二分辨率参考带宽;当估计带宽上升时通过降权滤波得到第二分辨率参考带宽,由此,通过设置动态的分辨率滤波系数,使得最终第二分辨率参考带宽满足“慢升快降”规律,满足实时场景需求的实时性以及流畅性。
步骤S10312、在视频场景为非实时场景的情况下,以基础滤波系数为底数,以第二分辨率参考带宽与估计带宽的比值为指数,计算得到分辨率滤波系数。
示例的,以基础滤波系数θ为底数,以前一时刻i-1的第二分辨率参考带宽R′i-1与当前时刻i的估计带宽Ei的比值为指数,计算非实时场景下的分辨率滤波系数β′i,具体计算公式如下:
可选的,基础滤波系数θ=0.95,则当前时刻i非实时场景下的分辨率滤波系数β′i的计算公式如下:
在一个实施例中,结合前述分辨率滤波系数β′i,当前时刻i的第二分辨率参考带宽R′i的具体计算公式如下:
由上述公式可知,当估计带宽下降时通过降权滤波得到第二分辨率参考带宽;当估计带宽上升时通过加权滤波得到第二分辨率参考带宽,由此,通过设置动态的分辨率滤波系数,使得最终第二分辨率参考带宽满足“快升慢降”规律,满足非实时场景需求的清晰度以及高画质。
图6为本申请实施例提供的另一种链路带宽估计方法的流程图,给出了一种在得到码率参考带宽和分辨率参考带宽之后,对视频码率以及视频分辨率的控制过程,如图6所示,包括:
步骤S201、获取链路的数据传输参数以及视频场景,根据数据传输参数计算得到估计带宽;
步骤S202、基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽;
步骤S203、基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。
步骤S204、基于码率参考带宽对视频码率进行控制;
步骤S205、基于分辨率参考带宽对视频分辨率进行控制。
由此,根据码率参考带宽对视频码率进行控制,以及根据分辨率参考带宽对视频分辨率进行控制,满足不同的控制需求,综合平衡在不同帧率和分辨率下的清晰度和流畅度的带宽预算,提升码率控制性能,进而提升用户体验质量。
图7为本申请实施例提供的一种链路带宽估计装置的结构框图,该装置配置为执行上述实施例提供的链路带宽估计方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置具体包括:
获取模块101,配置为获取链路的数据传输参数以及视频场景;
估计带宽模块102,配置为根据所述数据传输参数计算得到估计带宽;
码率带宽模块103,配置为基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
分辨率带宽模块104,配置为基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
由上述方案可知,通过获取链路的数据传输参数以及视频场景,并根据数据传输参数计算得到估计带宽;之后基于设置的码率滤波器对估计带宽进行计算得到码率参考带宽;最后基于视频场景以及设置的分辨率滤波器对估计带宽进行计算得到分辨率参考带宽。采用上述技术手段,基于链路的实时数据传输参数计算进行带宽估计,能够提升带宽估计准确性,最大化带宽利用率;通过设置码率滤波器对估计带宽进行滤波,有利于提升实时传输效率,满足高灵敏度的需求;通过考量不同视频场景对于帧率以及分辨率的不同需求,提高应对网络变化能力,通过设置分辨率滤波器,同时结合视频场景对估计带宽进行滤波,提升带宽估计稳定性,减少因网络抖动引发的延时、卡顿和流畅度波动问题,由此以保障推流质量,优化用户观看体验。
在一个可能的实施例中,数据传输参数包括发送窗口大小、链路飞行数据量、原始链路往返时延以及瓶颈链路带宽,估计带宽模块102,具体配置为:
对所述原始链路往返时延进行平滑滤波计算得到平滑链路往返时延;
根据所述发送窗口大小、所述链路飞行数据量以及所述平滑链路往返时延计算得到第一可发送速率;
将所述第一可发送速率与所述瓶颈链路带宽中的较小值确定为估计带宽。
在一个可能的实施例中,数据传输参数还包括平均接收速率,估计带宽模块102,还具体配置为:
将所述第一发送速率与所述平均接收速率的较大值确定为第二可发送速率;
将所述第二可发送速率与所述瓶颈链路带宽中的较小值确定为估计带宽。
在一个可能的实施例中,码率滤波器采用固定的码率滤波系数,码率带宽模块103,具体配置为:
根据所述码率滤波系数、所述估计带宽以及第一码率参考带宽计算得到第二码率参考带宽,其中,所述第一码率参考带宽为所述第二码率参考带宽前一时刻计算得到的码率参考带宽。
在一个可能的实施例中,分辨率带宽模块104,具体配置为:
基于所述视频场景确定分辨率滤波器的分辨率滤波系数;
基于所述分辨率滤波系数、所述估计带宽以及第一分辨率参考带宽计算得到第二分辨率参考带宽,其中,所述第一分辨率参考带宽为所述第二分辨率参考带宽前一时刻计算得到的分辨率参考带宽。
在一个可能的实施例中,视频场景包括实时场景和非实时场景,分辨率带宽模块104,还具体配置为:
在所述视频场景为实时场景的情况下,以基础滤波系数为底数,以所述估计带宽与所述第二分辨率参考带宽的比值为指数,计算得到分辨率滤波系数;
在所述视频场景为非实时场景的情况下,以所述基础滤波系数为底数,以所述第二分辨率参考带宽与所述估计带宽的比值为指数,计算得到分辨率滤波系数。
在一个可能的实施例中,该装置还包括控制模块105,配置为:
基于所述码率参考带宽对视频码率进行控制;
基于所述分辨率参考带宽对视频分辨率进行控制。
图8为本申请实施例提供的一种链路带宽估计设备的结构示意图,如图8所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图8中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图8中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可配置为存储软件程序、计算机可执行程序以及模块,如本申请实施例中的链路带宽估计方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的链路带宽估计方法。输入装置203可配置为接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行一种上述实施例描述的链路带宽估计方法,其中,包括:
获取链路的数据传输参数以及视频场景,根据所述数据传输参数计算得到估计带宽;
基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
值得注意的是,上述链路带宽估计装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不配置为限制本申请实施例的保护范围。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码配置为使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本申请实施例所记载的链路带宽估计方法。所述程序产品可以采用一个或多个可读介质的任意组合实现。

Claims (11)

1.链路带宽估计方法,其特征在于,包括:
获取链路的数据传输参数以及视频场景,根据所述数据传输参数计算得到估计带宽;
基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
2.根据权利要求1所述的链路带宽估计方法,其特征在于,所述数据传输参数包括发送窗口大小、链路飞行数据量、原始链路往返时延以及瓶颈链路带宽,所述根据所述数据传输参数计算得到估计带宽,包括:
对所述原始链路往返时延进行平滑滤波计算得到平滑链路往返时延;
根据所述发送窗口大小、所述链路飞行数据量以及所述平滑链路往返时延计算得到第一可发送速率;
将所述第一可发送速率与所述瓶颈链路带宽中的较小值确定为估计带宽。
3.根据权利要求2所述的链路带宽估计方法,其特征在于,所述数据传输参数还包括平均接收速率,在所述根据所述发送窗口大小、所述链路飞行数据量以及所述平滑链路往返时延计算得到第一可发送速率之后,还包括:
将所述第一发送速率与所述平均接收速率的较大值确定为第二可发送速率;
相应的,所述将所述第一可发送速率与所述瓶颈链路带宽中的较小值确定为估计带宽,包括:
将所述第二可发送速率与所述瓶颈链路带宽中的较小值确定为估计带宽。
4.根据权利要求1-3中任一项所述的链路带宽估计方法,其特征在于,所述码率滤波器采用固定的码率滤波系数,所述基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽,包括:
根据所述码率滤波系数、所述估计带宽以及第一码率参考带宽计算得到第二码率参考带宽,其中,所述第一码率参考带宽为所述第二码率参考带宽前一时刻计算得到的码率参考带宽。
5.根据权利要求1-3中任一项所述的链路带宽估计方法,其特征在于,所述基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽,包括:
基于所述视频场景确定分辨率滤波器的分辨率滤波系数;
基于所述分辨率滤波系数、所述估计带宽以及第一分辨率参考带宽计算得到第二分辨率参考带宽,其中,所述第一分辨率参考带宽为所述第二分辨率参考带宽前一时刻计算得到的分辨率参考带宽。
6.根据权利要求5所述的链路带宽估计方法,其特征在于,所述视频场景包括实时场景和非实时场景,所述基于所述视频场景确定分辨率滤波器的分辨率滤波系数,包括:
在所述视频场景为实时场景的情况下,以基础滤波系数为底数,以所述估计带宽与所述第二分辨率参考带宽的比值为指数,计算得到分辨率滤波系数;
在所述视频场景为非实时场景的情况下,以所述基础滤波系数为底数,以所述第二分辨率参考带宽与所述估计带宽的比值为指数,计算得到分辨率滤波系数。
7.根据权利要求1-3中任一项所述的链路带宽估计方法,其特征在于,在计算得到码率参考带宽和分辨率参考带宽之后,还包括:
基于所述码率参考带宽对视频码率进行控制;
基于所述分辨率参考带宽对视频分辨率进行控制。
8.链路带宽估计装置,其特征在于,包括:
获取模块,配置为获取链路的数据传输参数以及视频场景;
估计带宽模块,配置为根据所述数据传输参数计算得到估计带宽;
码率带宽模块,配置为基于设置的码率滤波器对所述估计带宽进行计算得到码率参考带宽;
分辨率带宽模块,配置为基于所述视频场景以及设置的分辨率滤波器对所述估计带宽进行计算得到分辨率参考带宽。
9.一种链路带宽估计设备,所述设备包括:一个或多个处理器;存储装置,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-7中任一项所述的链路带宽估计方法。
10.一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行权利要求1-7中任一项所述的链路带宽估计方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的链路带宽估计方法。
CN202310363870.4A 2023-04-06 2023-04-06 链路带宽估计方法、装置、设备、存储介质以及程序产品 Pending CN116546276A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310363870.4A CN116546276A (zh) 2023-04-06 2023-04-06 链路带宽估计方法、装置、设备、存储介质以及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310363870.4A CN116546276A (zh) 2023-04-06 2023-04-06 链路带宽估计方法、装置、设备、存储介质以及程序产品

Publications (1)

Publication Number Publication Date
CN116546276A true CN116546276A (zh) 2023-08-04

Family

ID=87442580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310363870.4A Pending CN116546276A (zh) 2023-04-06 2023-04-06 链路带宽估计方法、装置、设备、存储介质以及程序产品

Country Status (1)

Country Link
CN (1) CN116546276A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117880605A (zh) * 2024-03-12 2024-04-12 深圳市诚立业科技发展有限公司 基于5g技术的短信视频快速播放方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117880605A (zh) * 2024-03-12 2024-04-12 深圳市诚立业科技发展有限公司 基于5g技术的短信视频快速播放方法及系统
CN117880605B (zh) * 2024-03-12 2024-05-14 深圳市诚立业科技发展有限公司 基于5g技术的短信视频快速播放方法及系统

Similar Documents

Publication Publication Date Title
US10178037B2 (en) Deadline driven content delivery
CN109587510B (zh) 一种直播方法、装置、设备和存储介质
US9577935B2 (en) Unified congestion control for real-time media support
US9503491B2 (en) Playback stall avoidance in adaptive media streaming
JP4309185B2 (ja) ストリーミング・メディアの輻輳制御メカニズム
CN107342848B (zh) 一种自适应码流传输方法、装置及设备
CN109600610B (zh) 一种数据编码方法、终端及计算机可读存储介质
CN113271316B (zh) 多媒体数据的传输控制方法和装置、存储介质及电子设备
CN109660879B (zh) 直播丢帧方法、系统、计算机设备和存储介质
EP2992652B1 (en) Managing bandwidth allocation among flows through assignment of drop priority
CA2457193C (en) Data communications method and system for transmitting multiple data streams calculating available bandwidth per stream and bit stream trade-off
CN113747489B (zh) Udp通信质量评估方法、装置及电子设备
CN111835649A (zh) 一种数据发送方法、装置及相关组件
CN116546276A (zh) 链路带宽估计方法、装置、设备、存储介质以及程序产品
CN113316263A (zh) 数据传输方法、装置、设备和存储介质
CN111918134B (zh) 修正视讯串流流量的方法、机顶盒及计算机可读存储介质
US9009344B2 (en) Method of sending data and associated device
US20070110168A1 (en) Method for generating high quality, low delay video streaming
KR101837637B1 (ko) 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치
CN114143271B (zh) 一种基于拥塞检测的带宽估算方法及装置
CN115801639A (zh) 一种带宽探测方法、装置、电子设备及存储介质
JP6083964B2 (ja) 送信装置、送信方法、及びプログラム
CN109922307B (zh) 一种多媒体数据传输方法及摄像机
CN114466397B (zh) Tcp通信质量评估方法、装置及电子设备
CN118233400A (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