CN107154918B - 基于pid控制的视频直播传输控制方法及系统 - Google Patents

基于pid控制的视频直播传输控制方法及系统 Download PDF

Info

Publication number
CN107154918B
CN107154918B CN201610121496.7A CN201610121496A CN107154918B CN 107154918 B CN107154918 B CN 107154918B CN 201610121496 A CN201610121496 A CN 201610121496A CN 107154918 B CN107154918 B CN 107154918B
Authority
CN
China
Prior art keywords
code rate
video
real
buffer area
sends
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.)
Expired - Fee Related
Application number
CN201610121496.7A
Other languages
English (en)
Other versions
CN107154918A (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.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder 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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201610121496.7A priority Critical patent/CN107154918B/zh
Publication of CN107154918A publication Critical patent/CN107154918A/zh
Application granted granted Critical
Publication of CN107154918B publication Critical patent/CN107154918B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (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

本发明提供了一种基于PID控制的视频直播传输控制方法及系统,其中,基于PID控制的视频直播传输控制方法包括:按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;计算所述视频发送缓冲区的实时长度与长度目标值的差值;将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;根据所述码率调整值,调整所述实时码率。通过该技术方案,可以对实时码率进行修正,将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。

Description

基于PID控制的视频直播传输控制方法及系统
技术领域
本发明涉及视频传输技术领域,具体而言,涉及一种基于PID控制的视频直播传输控制方法和一种基于PID控制的视频直播传输控制系统。
背景技术
随着宽带的普及和网络技术的发展,互联网上的多媒体业务渐渐成为主流。上一代的视频应用主要是基于视频点播服务的,而随着网络状况的逐步改善以及视频技术的不断发展,人们对视频直播的需求不断增长,基于视频直播服务构建的应用也开始快速涌现,比如电视节目直播、视频会议、视频通话等。其中,最新的直播应用能够让用户通过手机设备创建直播内容。
为了保证直播的实时性,也就是保证较低的直播延迟,上一代的直播技术主要是基于UDP协议(User Datagram Protocol,用户数据报协议)。UDP协议并不确保数据包的成功接收,视频直播的延迟主要是数据包从发送端到达接收端的时间,因此延迟一般都很低,但接收端需要额外的方法处理网络丢包带来的错误。
而如果改为使用TCP协议(Transmission Control Protocol,传输控制协议),则能够确保所有数据包的成功接收,但是在网络状况不佳的情况下,TCP协议的重传机制会进行大量的重传操作,使得数据的发送时间较长,导致视频流畅度低并且延迟较高。
随着网络状况的不断改善,使用TCP协议在视频直播方面的可用性大大提高。其中,RTMP协议(Real Time Messaging Protocol,实时消息传输协议)是Adobe公司开发的一种基于TCP协议的实时数据通信网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信,被广泛应用于点播和直播服务,具有较强的稳定性、可靠性。
然而,虽然网络环境得到了不断改善,但是网络状况的波动依然时常发生,网络状况的波动会直接影响到TCP协议进行数据传输的吞吐量。其中,视频码率是数据传输时单位时间传送的数据位数,如果吞吐量小于当前传输视频的码率,就会造成接收端视频播放的不流畅的现象。
因此,如何实现根据当前的网络状况进行动态的码率调整,成为亟待解决的技术问题。
发明内容
本发明正是基于上述技术问题,提出了一种新的技术方案,可以实现根据当前的网络状况进行动态的码率调整。
有鉴于此,本发明的一方面提出了一种基于PID控制的视频直播传输控制方法,包括:按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;计算所述视频发送缓冲区的实时长度与长度目标值的差值;将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;根据所述码率调整值,调整所述实时码率。
在该技术方案中,系统在进行视频直播时,可以根据视频发送缓冲区的实时长度,利用PID(Proportion-Integration-Differentiation,比例-积分-微分)控制理论实时调整视频的发送端提供的视频流的码率,即对实时码率进行修正,从而可以将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
其中,PID是一种闭环的反馈控制机制,在PID控制系统中,可根据系统当前状态与期望状态的误差来计算一个控制量,并利用该控制量对输入进行调整,从而使系统状态趋向于期望状态。也就是说,可以根据当前的视频发送缓冲区的实时长度与长度目标值的差值,也就是误差,来计算当前时刻所需的码率调整值,使实时码率趋向于期望值。
在上述技术方案中,优选地,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,还包括:根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
在该技术方案中,视频发送缓冲区的长度目标值可以由用户手动调整设置,或者也可以设置多个目标值档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的长度目标值。
在上述任一技术方案中,优选地,所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
在该技术方案中,为了降低短时间内快速变化的网络状况对视频数据传输带来的影响,提高播放流畅度,系统设置有视频发送缓冲区、播放缓冲区。在发送端和接收端之间,是用TCP协议进行连接的,而TCP协议在发送端维护一个TCP发送缓冲区,在接收端维护一个TCP接收缓冲区。因此,可以将整个视频直播传输的系统抽象成4个缓冲区:视频发送缓冲区、TCP发送缓冲区、TCP接收缓冲区、播放缓冲区。在视频流畅播放的时候,单位时间内进入视频发送缓冲区的视频帧数量和从播放缓冲区出去的视频帧数量是相等的,所以4个缓冲区总的视频帧数量是一个固定的值。由于TCP发送缓冲区、TCP接收缓冲区的大小很小,所以可以看成视频发送缓冲区、播放缓冲区中视频帧之和是一个定值,而视频发送缓冲区存在大量帧的时候,将导致播放缓冲区没有视频帧或存在较少的视频帧,具有很大可能性导致视频播放中断,故可以通过控制视频发送缓冲区的视频帧的数量来控制播放缓冲区中视频帧的数量,因此,本发明定义的系统状态变量是视频发送缓冲区中的视频帧的数量。
由此可知,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,即状态变量的变化量,输出的u(t)代表码率调整的大小,将会被叠加到当前设置的实时码率上,作为下一个时刻应该设置的码率大小,假设当前的码率为Br,那么下一个时刻的码率就是Br+u(t)。
通过该技术方案,不断地监测状态变量的变化,将其与目标值进行比较,通过误差量来对实际带宽变化情况进行记录和预测,计算控制输出。然后根据控制输出有针对性地调整视频质量,使状态变量尽可能接近目标值,从而实现符合带宽变化的稳定视频传输。
在上述任一技术方案中,优选地,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,还包括:根据接收到的第二设置命令,设置所述预定检测周期。
在该技术方案中,是对系统的实时码率和视频发送缓冲区的实时长度进行周期性检测,也就是说,每经过预定检测周期进行一次检测,这里所述的预定检测周期可以由用户手动调整设置,或者也可以设置多个周期档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的预定检测周期。比如,当网速高于标准值时,采用5s的检测周期,这样,在网速快的情况下可以尽可能减少周期性检测带来的功耗及内存占用,而当网速低于或等于标准值时,采用3s的检测周期,以避免因网速过慢而无法及时调整码率,避免直播不流畅。
在上述任一技术方案中,优选地,所述根据所述码率调整值,调整所述实时码率,具体包括:检测所述码率调整值是否达到预定调整阈值;当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
在该技术方案中,计算得到码率调整值可以直接将其叠加至实时码率进行码率调整,也可以在码率调整值积累达到预定调整阈值再进行叠加,避免因多次进行较小的码率调整值调整而带来的能耗和内存占用。其中,早对实时码率进行调整时,可以按照预定方向和预定力度调整,预定方向包括增大或减小,预定力度相当于对实时码率进行调整的速度,比如,计算得到达到预定调整阈值的码率调整值后,按照每秒叠加码率调整值的10%的速度,分10s完成码率调整,从而可以避免因调整过快而造成的视频直播不流畅的缺陷。
其中,为了避免频繁的小幅度的调整,还可以对输入到PID公式中的e(t)进行量化,量化的公式可以表示为:
其中step是量化的步长,为一个固定的正整数,通过量化可以消除正常小幅度网络波动带来的不必要的码率调整。
本发明的另一方面提出了一种基于PID控制的视频直播传输控制系统,包括:检测单元,按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;差值计算单元,计算所述视频发送缓冲区的实时长度与长度目标值的差值;PID计算单元,将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;码率调整单元,根据所述码率调整值,调整所述实时码率。
在该技术方案中,系统在进行视频直播时,可以根据视频发送缓冲区的实时长度,利用PID(Proportion-Integration-Differentiation,比例-积分-微分)控制理论实时调整视频的发送端提供的视频流的码率,即对实时码率进行修正,从而可以将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
其中,PID是一种闭环的反馈控制机制,在PID控制系统中,可根据系统当前状态与期望状态的误差来计算一个控制量,并利用该控制量对输入进行调整,从而使系统状态趋向于期望状态。也就是说,可以根据当前的视频发送缓冲区的实时长度与长度目标值的差值,也就是误差,来计算当前时刻所需的码率调整值,使实时码率趋向于期望值。
在上述技术方案中,优选地,还包括:第一设置单元,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
在该技术方案中,视频发送缓冲区的长度目标值可以由用户手动调整设置,或者也可以设置多个目标值档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的长度目标值。
在上述任一技术方案中,优选地,所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
在该技术方案中,为了降低短时间内快速变化的网络状况对视频数据传输带来的影响,提高播放流畅度,系统设置有视频发送缓冲区、播放缓冲区。在发送端和接收端之间,是用TCP协议进行连接的,而TCP协议在发送端维护一个TCP发送缓冲区,在接收端维护一个TCP接收缓冲区。因此,可以将整个视频直播传输的系统抽象成4个缓冲区:视频发送缓冲区、TCP发送缓冲区、TCP接收缓冲区、播放缓冲区。在视频流畅播放的时候,单位时间内进入视频发送缓冲区的视频帧数量和从播放缓冲区出去的视频帧数量是相等的,所以4个缓冲区总的视频帧数量是一个固定的值。由于TCP发送缓冲区、TCP接收缓冲区的大小很小,所以可以看成视频发送缓冲区、播放缓冲区中视频帧之和是一个定值,而视频发送缓冲区存在大量帧的时候,将导致播放缓冲区没有视频帧或存在较少的视频帧,具有很大可能性导致视频播放中断,故可以通过控制视频发送缓冲区的视频帧的数量来控制播放缓冲区中视频帧的数量,因此,本发明定义的系统状态变量是视频发送缓冲区中的视频帧的数量。
由此可知,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,即状态变量的变化量,输出的u(t)代表码率调整的大小,将会被叠加到当前设置的实时码率上,作为下一个时刻应该设置的码率大小,假设当前的码率为Br,那么下一个时刻的码率就是Br+u(t)。
通过该技术方案,不断地监测状态变量的变化,将其与目标值进行比较,通过误差量来对实际带宽变化情况进行记录和预测,计算控制输出。然后根据控制输出有针对性地调整视频质量,使状态变量尽可能接近目标值,从而实现符合带宽变化的稳定视频传输。
在上述任一技术方案中,优选地,还包括:第二设置单元,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第二设置命令,设置所述预定检测周期。
在该技术方案中,是对系统的实时码率和视频发送缓冲区的实时长度进行周期性检测,也就是说,每经过预定检测周期进行一次检测,这里所述的预定检测周期可以由用户手动调整设置,或者也可以设置多个周期档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的预定检测周期。比如,当网速高于标准值时,采用5s的检测周期,这样,在网速快的情况下可以尽可能减少周期性检测带来的功耗及内存占用,而当网速低于或等于标准值时,采用3s的检测周期,以避免因网速过慢而无法及时调整码率,避免直播不流畅。
在上述任一技术方案中,优选地,所述码率调整单元具体用于:检测所述码率调整值是否达到预定调整阈值,其中,当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
在该技术方案中,计算得到码率调整值可以直接将其叠加至实时码率进行码率调整,也可以在码率调整值积累达到预定调整阈值再进行叠加,避免因多次进行较小的码率调整值调整而带来的能耗和内存占用。其中,早对实时码率进行调整时,可以按照预定方向和预定力度调整,预定方向包括增大或减小,预定力度相当于对实时码率进行调整的速度,比如,计算得到达到预定调整阈值的码率调整值后,按照每秒叠加码率调整值的10%的速度,分10s完成码率调整,从而可以避免因调整过快而造成的视频直播不流畅的缺陷。
其中,为了避免频繁的小幅度的调整,还可以对输入到PID公式中的e(t)进行量化,量化的公式可以表示为:
其中step是量化的步长,为一个固定的正整数,通过量化可以消除正常小幅度网络波动带来的不必要的码率调整。
通过以上技术方案,可以对实时码率进行修正,将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
附图说明
图1示出了根据本发明的一个实施例的基于PID控制的视频直播传输控制方法的流程示意图;
图2示出了根据本发明的一个实施例的基于PID控制的视频直播传输控制系统的框图;
图3示出了根据本发明的一个实施例的缓冲区示意图;
图4示出了根据本发明的一个实施例的缓冲区状态变量示意图;
图5示出了根据本发明的另一个实施例的基于PID控制的视频直播传输控制系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的基于PID控制的视频直播传输控制方法的流程示意图。
如图1所示,根据本发明的一个实施例的基于PID控制的视频直播传输控制方法,包括:
步骤102,按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;
步骤104,计算所述视频发送缓冲区的实时长度与长度目标值的差值;
步骤106,将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;
步骤108,根据所述码率调整值,调整所述实时码率。
在该技术方案中,系统在进行视频直播时,可以根据视频发送缓冲区的实时长度,利用PID(Proportion-Integration-Differentiation,比例-积分-微分)控制理论实时调整视频的发送端提供的视频流的码率,即对实时码率进行修正,从而可以将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
其中,PID是一种闭环的反馈控制机制,在PID控制系统中,可根据系统当前状态与期望状态的误差来计算一个控制量,并利用该控制量对输入进行调整,从而使系统状态趋向于期望状态。也就是说,可以根据当前的视频发送缓冲区的实时长度与长度目标值的差值,也就是误差,来计算当前时刻所需的码率调整值,使实时码率趋向于期望值。
在上述技术方案中,优选地,在步骤102之前,还包括:根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
在该技术方案中,视频发送缓冲区的长度目标值可以由用户手动调整设置,或者也可以设置多个目标值档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的长度目标值。
在上述任一技术方案中,优选地,所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
在该技术方案中,为了降低短时间内快速变化的网络状况对视频数据传输带来的影响,提高播放流畅度,系统设置有视频发送缓冲区、播放缓冲区。在发送端和接收端之间,是用TCP协议进行连接的,而TCP协议在发送端维护一个TCP发送缓冲区,在接收端维护一个TCP接收缓冲区。因此,可以将整个视频直播传输的系统抽象成4个缓冲区:视频发送缓冲区、TCP发送缓冲区、TCP接收缓冲区、播放缓冲区。在视频流畅播放的时候,单位时间内进入视频发送缓冲区的视频帧数量和从播放缓冲区出去的视频帧数量是相等的,所以4个缓冲区总的视频帧数量是一个固定的值。由于TCP发送缓冲区、TCP接收缓冲区的大小很小,所以可以看成视频发送缓冲区、播放缓冲区中视频帧之和是一个定值,而视频发送缓冲区存在大量帧的时候,将导致播放缓冲区没有视频帧或存在较少的视频帧,具有很大可能性导致视频播放中断,故可以通过控制视频发送缓冲区的视频帧的数量来控制播放缓冲区中视频帧的数量,因此,本发明定义的系统状态变量是视频发送缓冲区中的视频帧的数量。
由此可知,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,即状态变量的变化量,输出的u(t)代表码率调整的大小,将会被叠加到当前设置的实时码率上,作为下一个时刻应该设置的码率大小,假设当前的码率为Br,那么下一个时刻的码率就是Br+u(t)。
通过该技术方案,不断地监测状态变量的变化,将其与目标值进行比较,通过误差量来对实际带宽变化情况进行记录和预测,计算控制输出。然后根据控制输出有针对性地调整视频质量,使状态变量尽可能接近目标值,从而实现符合带宽变化的稳定视频传输。
在上述任一技术方案中,优选地,在步骤102之前,还包括:根据接收到的第二设置命令,设置所述预定检测周期。
在该技术方案中,是对系统的实时码率和视频发送缓冲区的实时长度进行周期性检测,也就是说,每经过预定检测周期进行一次检测,这里所述的预定检测周期可以由用户手动调整设置,或者也可以设置多个周期档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的预定检测周期。比如,当网速高于标准值时,采用5s的检测周期,这样,在网速快的情况下可以尽可能减少周期性检测带来的功耗及内存占用,而当网速低于或等于标准值时,采用3s的检测周期,以避免因网速过慢而无法及时调整码率,避免直播不流畅。
在上述任一技术方案中,优选地,步骤108具体包括:检测所述码率调整值是否达到预定调整阈值;当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
在该技术方案中,计算得到码率调整值可以直接将其叠加至实时码率进行码率调整,也可以在码率调整值积累达到预定调整阈值再进行叠加,避免因多次进行较小的码率调整值调整而带来的能耗和内存占用。其中,早对实时码率进行调整时,可以按照预定方向和预定力度调整,预定方向包括增大或减小,预定力度相当于对实时码率进行调整的速度,比如,计算得到达到预定调整阈值的码率调整值后,按照每秒叠加码率调整值的10%的速度,分10s完成码率调整,从而可以避免因调整过快而造成的视频直播不流畅的缺陷。
其中,为了避免频繁的小幅度的调整,还可以对输入到PID公式中的e(t)进行量化,量化的公式可以表示为:
其中step是量化的步长,为一个固定的正整数,通过量化可以消除正常小幅度网络波动带来的不必要的码率调整。
图2示出了根据本发明的一个实施例的基于PID控制的视频直播传输控制系统的框图。
如图2所示,根据本发明的一个实施例的基于PID控制的视频直播传输控制系统200,包括:检测单元202、差值计算单元204、PID计算单元206和码率调整单元208。
检测单元202用于按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;差值计算单元204用于计算所述视频发送缓冲区的实时长度与长度目标值的差值;PID计算单元206用于将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;码率调整单元208用于根据所述码率调整值,调整所述实时码率。
在该技术方案中,系统在进行视频直播时,可以根据视频发送缓冲区的实时长度,利用PID(Proportion-Integration-Differentiation,比例-积分-微分)控制理论实时调整视频的发送端提供的视频流的码率,即对实时码率进行修正,从而可以将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
其中,PID是一种闭环的反馈控制机制,在PID控制系统中,可根据系统当前状态与期望状态的误差来计算一个控制量,并利用该控制量对输入进行调整,从而使系统状态趋向于期望状态。也就是说,可以根据当前的视频发送缓冲区的实时长度与长度目标值的差值,也就是误差,来计算当前时刻所需的码率调整值,使实时码率趋向于期望值。
在上述技术方案中,优选地,还包括:第一设置单元210,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
在该技术方案中,视频发送缓冲区的长度目标值可以由用户手动调整设置,或者也可以设置多个目标值档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的长度目标值。
在上述任一技术方案中,优选地,所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
在该技术方案中,为了降低短时间内快速变化的网络状况对视频数据传输带来的影响,提高播放流畅度,系统设置有视频发送缓冲区、播放缓冲区。在发送端和接收端之间,是用TCP协议进行连接的,而TCP协议在发送端维护一个TCP发送缓冲区,在接收端维护一个TCP接收缓冲区。因此,可以将整个视频直播传输的系统抽象成4个缓冲区:视频发送缓冲区、TCP发送缓冲区、TCP接收缓冲区、播放缓冲区。在视频流畅播放的时候,单位时间内进入视频发送缓冲区的视频帧数量和从播放缓冲区出去的视频帧数量是相等的,所以4个缓冲区总的视频帧数量是一个固定的值。由于TCP发送缓冲区、TCP接收缓冲区的大小很小,所以可以看成视频发送缓冲区、播放缓冲区中视频帧之和是一个定值,而视频发送缓冲区存在大量帧的时候,将导致播放缓冲区没有视频帧或存在较少的视频帧,具有很大可能性导致视频播放中断,故可以通过控制视频发送缓冲区的视频帧的数量来控制播放缓冲区中视频帧的数量,因此,本发明定义的系统状态变量是视频发送缓冲区中的视频帧的数量。
由此可知,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,即状态变量的变化量,输出的u(t)代表码率调整的大小,将会被叠加到当前设置的实时码率上,作为下一个时刻应该设置的码率大小,假设当前的码率为Br,那么下一个时刻的码率就是Br+u(t)。
通过该技术方案,不断地监测状态变量的变化,将其与目标值进行比较,通过误差量来对实际带宽变化情况进行记录和预测,计算控制输出。然后根据控制输出有针对性地调整视频质量,使状态变量尽可能接近目标值,从而实现符合带宽变化的稳定视频传输。
在上述任一技术方案中,优选地,还包括:第二设置单元212,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第二设置命令,设置所述预定检测周期。
在该技术方案中,是对系统的实时码率和视频发送缓冲区的实时长度进行周期性检测,也就是说,每经过预定检测周期进行一次检测,这里所述的预定检测周期可以由用户手动调整设置,或者也可以设置多个周期档位供用户选择,另外,还可以由系统根据实时码率,自动设置与网络状况相适宜的预定检测周期。比如,当网速高于标准值时,采用5s的检测周期,这样,在网速快的情况下可以尽可能减少周期性检测带来的功耗及内存占用,而当网速低于或等于标准值时,采用3s的检测周期,以避免因网速过慢而无法及时调整码率,避免直播不流畅。
在上述任一技术方案中,优选地,码率调整单元208具体用于:检测所述码率调整值是否达到预定调整阈值,其中,当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
在该技术方案中,计算得到码率调整值可以直接将其叠加至实时码率进行码率调整,也可以在码率调整值积累达到预定调整阈值再进行叠加,避免因多次进行较小的码率调整值调整而带来的能耗和内存占用。其中,早对实时码率进行调整时,可以按照预定方向和预定力度调整,预定方向包括增大或减小,预定力度相当于对实时码率进行调整的速度,比如,计算得到达到预定调整阈值的码率调整值后,按照每秒叠加码率调整值的10%的速度,分10s完成码率调整,从而可以避免因调整过快而造成的视频直播不流畅的缺陷。
其中,为了避免频繁的小幅度的调整,还可以对输入到PID公式中的e(t)进行量化,量化的公式可以表示为:
其中step是量化的步长,为一个固定的正整数,通过量化可以消除正常小幅度网络波动带来的不必要的码率调整。
图3示出了根据本发明的一个实施例的缓冲区示意图。
为了降低短时间内快速变化的网络状况对视频数据传输带来的影响,提高播放流畅度,系统设置有视频发送缓冲区、播放缓冲区。在发送端和接收端之间,是用TCP协议进行连接的,而TCP协议在发送端维护一个TCP发送缓冲区,在接收端维护一个TCP接收缓冲区。因此,如图3所示,可以将整个视频直播传输的系统抽象成4个缓冲区:视频发送缓冲区、TCP发送缓冲区、TCP接收缓冲区、播放缓冲区。在视频流畅播放的时候,单位时间内进入视频发送缓冲区的视频帧数量和从播放缓冲区出去的视频帧数量是相等的,所以4个缓冲区总的视频帧数量是一个固定的值。由于TCP发送缓冲区、TCP接收缓冲区的大小很小,所以可以看成视频发送缓冲区、播放缓冲区中视频帧之和是一个定值。
所以,可以通过控制视频发送缓冲区的视频帧的数量来控制播放缓冲区中视频帧的数量。根据TCP协议的特点,当视频发送缓冲区存在一定量的视频帧的时候,TCP发送缓冲区是充满的,在这种情况下达到了最大的发送速度。视频发送缓冲区存在大量帧的时候,将导致播放缓冲区没有视频帧或存在较少的视频帧,具有很大可能性导致视频播放中断。
因此,本发明定义的系统状态变量是视频发送缓冲区中的视频帧的数量。通过该技术方案,不断地监测状态变量的变化,将其与目标值进行比较,通过误差量来对实际带宽变化情况进行记录和预测,计算控制输出。然后根据控制输出有针对性地调整视频质量,使状态变量尽可能接近目标值,从而实现符合带宽变化的稳定视频传输。
在本发明中,对系统的状态变量进行控制主要有两个目标,一个是尽可能充分利用网络带宽,一个是保证接收端能够流畅播放。
一方面,将缓冲区的长度记为缓冲的视频帧的数量,将播放缓冲区的最大长度记为S0,初始情况下,当播放缓冲区达到了最大长度S0时,接收端才开始播放视频。在播放过程中,如果播放缓冲区的长度减少为0,那么接收端需要等到播放缓冲区达到最大长度的时候才重新开始播放视频。因此,当播放缓冲区的长度减少为0时,会导致播放的中断。
故在对系统进行控制的过程中,首先需要保证播放缓冲区的长度大于0。在连续播放的情况下,视频发送缓冲区、播放缓冲区中视频帧之和是一个定值,约等于S0,因此,可以通过控制视频发送缓冲区的长度小于S0来保证播放缓冲区的长度大于0,即可保证接收端能够流畅播放。
另一方面,为了尽可能充分利用带宽提高视频质量,需要保证TCP发送缓冲区尽可能充满。这一点可以通过控制视频发送缓冲区的长度大于0来实现,在这种情况下TCP发送缓冲区始终处于充满状态。因此,直接控制的目标就是控制视频发送缓冲区的长度为S1,其中S1大于0且小于S0
为此,本发明首先定义系统的状态变量是视频发送缓冲区的长度s,这个变量可以反映当前的视频码率和网络吞吐量直接的关系,s(t)表示时刻t视频发送缓冲区的长度。当码率大于网络吞吐量,s(t)呈增长的趋势;当码率小于网络吞吐量,s(t)呈减小为0的趋势;当码率接近于网络吞吐量时,s(t)保持相对稳定。比如,可以设置s的目标值是0.2S0,记为Sr,其中,S0是播放缓冲区的最大长度,记录s与目标值地偏差为e,在时刻t,状态变量与目标值的误差记为e(t);若当前s(t)大于Sr,则e(t)为负值,反之,e(t)为正值。
如图4所示,当前视频发送缓冲区中帧数量是s(t),目标值是st,因此e(t)=sr-s(t)。将e(t)代入PID公式可以得到对码率调整的反馈信息,故根据PID控制模型,系统的控制器的输出为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,表示系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测实时码率时得到的误差量的微分。
这一个输出的u(t)代表码率调整的大小,将会被作为下一个时刻应该设置的码率大小,叠加到当前设置的视频码率上,如果当前的码率为Br,那么下一个时刻的码率就是Br+u(t)。
在具体应用中,本发明按照一定的周期T进行上述的系统状态检查和码率调整,系统使用的状态变量s(t)可以取为在上一个周期T内的视频发送缓冲区中平均帧数量,从而增加了视频直播的稳定性。为了避免频繁的小幅度的调整,本发明还可以对输入到PID公式中的e(t)进行量化,量化的公式可以表示为:
其中step是量化的步长,为一个固定的正整数,通过量化可以消除正常小幅度网络波动带来的不必要的码率调整。
图5示出了根据本发明的另一个实施例的基于PID控制的视频直播传输控制系统的框图。
如图5所示,根据本发明的另一个实施例的基于PID控制的视频直播传输控制系统500,包括:缓冲区信息获取模块502、PID码率计算模块504和视频码率调整模块506,缓冲区信息获取模块502结合实际网络环境,获取系统的实时码率和视频发送缓冲区的实时长度,并通过PID码率计算模块504计算码率调整值,最后,视频码率调整模块506根据码率调整值对实时码率进行调整。
其中,基于PID控制的视频直播传输控制系统500不仅能够用于RTMP协议,还可以扩展到其他基于TCP的应用层流媒体传输协议,如HTTP协议(HyperText TransferProtocol,超文本传输协议)、RTSP协议(Real Time Streaming Protocol,实时流传输协议)等,具有通用性。
具体地,可以通过检测到的误差变量进行码率调整。在每个检测时间点,获取状态变量的值,也就是视频发送缓冲区的实时长度,然后与长度目标值进行比较,得出误差变量。
对误差变量计算如下三部分的值:
比例部分,这一部分就是误差量本身,作为对当前网络带宽和传输状况匹配度的反馈,以驱动系统状态变量不断趋近目标,即t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值e(t)与比例系数乘积。
积分部分,这一部分是系统自上次质量调整之后误差量的累积,长时间的监测数据可以反映近段时间内带宽变化的平均情况,目的是以减小频繁调整质量从而造成波动的可能性。
其中,积分部分=误差量1+误差量2+…+误差量n,1、2、…、n为自上一次质量调整以来的误差量检测索引。
微分部分,这一部分是当前时刻误差量与上一检测时间点误差量的微分,主要用途是预测带宽的变化趋势,以使状态变量尽快趋近目标。
其中,微分部分(本次误差变量-上次误差变量)/检测间隔时间。
以上各部分经过加权求和后形成控制输出。
其中,控制输出=比例系数×比例部分+积分系数×积分部分+微分系数×微分部分。
其中,三个系数根据控制领域的经典方法,进行确定,如齐格勒-尼科尔斯方法,也可人工进行调整。根据得到的控制输出和当前传输的码率,可以决定是否进行视频质量调节,以及调节的方向和力度。
因此,通过该技术方案,可以有效地调整直播视频的码率,保持播放的流程性,同时充分利用带宽提高视频质量,其关键之处在于利用积分部分来减小频繁调整的可能性,并利用微分部分来预测带宽变化。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以对实时码率进行修正,将视频发送缓冲区的数据量维持在理想的状态,实现了视频质量根据网络状况的自适应,在提升视频直播的流畅程度,尽可能地充分利用网络带宽以达到较高视频质量。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于PID控制的视频直播传输控制方法,其特征在于,包括:
按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;
计算所述视频发送缓冲区的实时长度与长度目标值的差值;
将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;
根据所述码率调整值,调整所述实时码率;
所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
2.根据权利要求1所述的基于PID控制的视频直播传输控制方法,其特征在于,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,还包括:
根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
3.根据权利要求1所述的基于PID控制的视频直播传输控制方法,其特征在于,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,还包括:
根据接收到的第二设置命令,设置所述预定检测周期。
4.根据权利要求1所述的基于PID控制的视频直播传输控制方法,其特征在于,所述根据所述码率调整值,调整所述实时码率,具体包括:
检测所述码率调整值是否达到预定调整阈值;
当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
5.一种基于PID控制的视频直播传输控制系统,其特征在于,包括:
检测单元,按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度,其中,所述视频发送缓冲区的实时长度为缓冲的视频帧的数量;
差值计算单元,计算所述视频发送缓冲区的实时长度与长度目标值的差值;
PID计算单元,将所述差值带入PID控制公式,以计算得到当前时刻所需的码率调整值;
码率调整单元,根据所述码率调整值,调整所述实时码率;
所述PID控制公式为:
其中,u(t)表示t时刻所需的码率调整值,Kp、Ki、Kd分别为比例系数、积分系数、微分系数,e(t)表示t时刻时所述视频发送缓冲区的实时长度与长度目标值的差值,表示所述系统自上一次码率调整后至t时刻时的误差量累积值,表示t时刻时的误差量与上一次检测所述实时码率时得到的误差量的微分。
6.根据权利要求5所述的基于PID控制的视频直播传输控制系统,其特征在于,还包括:
第一设置单元,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第一设置命令,设置所述视频发送缓冲区的所述长度目标值。
7.根据权利要求5所述的基于PID控制的视频直播传输控制系统,其特征在于,还包括:
第二设置单元,在所述按照预定检测周期检测系统的实时码率和视频发送缓冲区的实时长度之前,根据接收到的第二设置命令,设置所述预定检测周期。
8.根据权利要求5所述的基于PID控制的视频直播传输控制系统,其特征在于,所述码率调整单元具体用于:
检测所述码率调整值是否达到预定调整阈值,其中,当确定所述码率调整值达到所述预定调整阈值时,按照预定方向和预定力度调整所述实时码率。
CN201610121496.7A 2016-03-03 2016-03-03 基于pid控制的视频直播传输控制方法及系统 Expired - Fee Related CN107154918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610121496.7A CN107154918B (zh) 2016-03-03 2016-03-03 基于pid控制的视频直播传输控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610121496.7A CN107154918B (zh) 2016-03-03 2016-03-03 基于pid控制的视频直播传输控制方法及系统

Publications (2)

Publication Number Publication Date
CN107154918A CN107154918A (zh) 2017-09-12
CN107154918B true CN107154918B (zh) 2019-11-08

Family

ID=59791375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610121496.7A Expired - Fee Related CN107154918B (zh) 2016-03-03 2016-03-03 基于pid控制的视频直播传输控制方法及系统

Country Status (1)

Country Link
CN (1) CN107154918B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4080891A1 (en) * 2021-04-20 2022-10-26 Streamroot Method for playing on a player of a client device a content streamed in a network

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535810A (zh) * 2018-05-25 2019-12-03 视联动力信息技术股份有限公司 一种视频数据的处理方法和终端
CN109922010A (zh) * 2019-02-12 2019-06-21 成都德芯数字科技股份有限公司 缓存数据管理方法及装置
CN109996087B (zh) * 2019-03-21 2020-04-24 武汉大学 一种基于有限状态机的面向视频直播的码率自适应方法及装置
CN112631120B (zh) * 2019-10-09 2022-05-17 Oppo广东移动通信有限公司 Pid控制方法、装置和视频编解码系统
CN111698518A (zh) * 2020-06-11 2020-09-22 莆田学院 一种基于pid控制理论的3d码率控制方法和存储设备
CN112437321B (zh) * 2020-11-11 2022-04-19 天津大学 一种基于直播流媒体的自适应码率计算方法
CN112616077A (zh) * 2020-12-14 2021-04-06 杭州当虹科技股份有限公司 一种基于ip的cbr码率发送控制方法
CN112637694B (zh) * 2020-12-16 2023-03-21 杭州当虹科技股份有限公司 一种hls信源一倍速发送控制方法
CN113645497B (zh) * 2021-10-15 2021-12-31 苇创微电子(上海)有限公司 一种图像尺寸转换模块的输出时序自适应调整方法及系统
CN117615166A (zh) * 2023-11-23 2024-02-27 北京流金岁月传媒科技股份有限公司 一种网络码流恢复方法、系统、介质及fpga芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1549074A1 (en) * 2002-07-22 2005-06-29 Institute of Computing Technology Chinese Academy of Sciences A bit-rate control method and device combined with rate-distortion optimization
CN101272486A (zh) * 2008-04-10 2008-09-24 清华大学 基于pid控制和接收帧率稳定模型的视频传输控制方法
CN102355584A (zh) * 2011-10-31 2012-02-15 电子科技大学 基于帧内预测编码模式的码率控制方法
CN102780880A (zh) * 2011-06-29 2012-11-14 上海子鼠云计算技术有限公司 云计算终端及其编解码控制方法
CN105306424A (zh) * 2014-07-08 2016-02-03 腾讯科技(深圳)有限公司 一种流媒体传输方法、流媒体发送装置及流媒体传输系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1549074A1 (en) * 2002-07-22 2005-06-29 Institute of Computing Technology Chinese Academy of Sciences A bit-rate control method and device combined with rate-distortion optimization
CN101272486A (zh) * 2008-04-10 2008-09-24 清华大学 基于pid控制和接收帧率稳定模型的视频传输控制方法
CN102780880A (zh) * 2011-06-29 2012-11-14 上海子鼠云计算技术有限公司 云计算终端及其编解码控制方法
CN102355584A (zh) * 2011-10-31 2012-02-15 电子科技大学 基于帧内预测编码模式的码率控制方法
CN105306424A (zh) * 2014-07-08 2016-02-03 腾讯科技(深圳)有限公司 一种流媒体传输方法、流媒体发送装置及流媒体传输系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向H.264 SVC 空域-时域可伸缩编码的码率分配算法";庞燕等;《北京大学学报(自然科学版)》;20130930;第49卷(第5期);754-764页 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4080891A1 (en) * 2021-04-20 2022-10-26 Streamroot Method for playing on a player of a client device a content streamed in a network
WO2022223558A1 (en) * 2021-04-20 2022-10-27 Streamroot Method for playing on a player of a client device a content streamed in a network

Also Published As

Publication number Publication date
CN107154918A (zh) 2017-09-12

Similar Documents

Publication Publication Date Title
CN107154918B (zh) 基于pid控制的视频直播传输控制方法及系统
US10499071B2 (en) Dynamic bit rate adaptation over bandwidth varying connection
EP2870776B1 (en) Methods and devices for bandwidth allocation in adaptive bitrate streaming
EP2615760B1 (en) Data flow control method and apparatus
EP2974207B1 (en) Playback stall avoidance in adaptive media streaming
US10003830B1 (en) Controller to manage streaming video of playback devices
KR101931407B1 (ko) Http 의사 스트리밍용 적분 제어기 기반 페이싱
US8634300B2 (en) Reducing communication delay of video data
TW201332342A (zh) 在網路環境內使用多路徑適應流送技術傳輸視聽內容之系統和方法
CN104620595A (zh) 主动式视频帧丢弃
US20140108495A1 (en) Adaptive streaming client
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器
WO2010012067A1 (en) Data streaming through time-varying transport media
Sun et al. Optimal strategies for live video streaming in the low-latency regime
US8738795B2 (en) Media-aware and TCP-compatible bandwidth sharing for video streaming
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
US20110066742A1 (en) Devices and methods for scheduling transmission time of media data
Maione et al. Transmission control of Variable-Bit-Rate video streaming in UMTS networks
Wang et al. A general PID-based rate adaptation approach for TCP-based live streaming over mobile networks
WO2021013558A1 (en) A media client with adaptive buffer size and the related method
Meng et al. A PID-based quality control algorithm for SVC video streaming
Ehtiba et al. Media Playout Techniques for Video Intra-Stream Synchronization: Review and Analysis
KR20060003743A (ko) 디코더 버퍼 제어기를 이용한 티씨피 친화적 스트리밍 방법
KR20100068780A (ko) 스트리밍 서비스에서 프리 디코더 버퍼의 오버플로우 방지 방법 및 장치
CN112640373A (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
TR01 Transfer of patent right

Effective date of registration: 20220623

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191108

CF01 Termination of patent right due to non-payment of annual fee