CN111083535B - 视频数据传输码率自适应方法、系统、装置和存储介质 - Google Patents

视频数据传输码率自适应方法、系统、装置和存储介质 Download PDF

Info

Publication number
CN111083535B
CN111083535B CN201911365068.9A CN201911365068A CN111083535B CN 111083535 B CN111083535 B CN 111083535B CN 201911365068 A CN201911365068 A CN 201911365068A CN 111083535 B CN111083535 B CN 111083535B
Authority
CN
China
Prior art keywords
value
actual
code rate
network
prediction
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
CN201911365068.9A
Other languages
English (en)
Other versions
CN111083535A (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.)
Tianyi IoT Technology Co Ltd
Original Assignee
Tianyi IoT Technology 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 Tianyi IoT Technology Co Ltd filed Critical Tianyi IoT Technology Co Ltd
Priority to CN201911365068.9A priority Critical patent/CN111083535B/zh
Publication of CN111083535A publication Critical patent/CN111083535A/zh
Application granted granted Critical
Publication of CN111083535B publication Critical patent/CN111083535B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种视频数据传输码率自适应方法、系统、装置和存储介质,所述方法包括获取各终端分别反馈的各实际回报值和各实际网络状态值,将各实际回报值和各实际网络状态值作为历史经验进行存储,随机抽取历史经验以对预测神经网络进行时序差分训练,获取第一时间窗口的网络观察状态值以输入到所述预测神经网络,接收所述预测神经网络输出的各预测回报值,以及确定各所述预测回报值中的最优值所对应的码率层级等步骤。通过使用预测神经网络来对实时采集的网络观察状态值进行分类,从而选择出最优的码率层级进行通信,每次输出的码率层级都是当时的最优决策,可以克服现有技术难以适应不同网络环境等缺点。本发明广泛应用于互联网技术领域。

Description

视频数据传输码率自适应方法、系统、装置和存储介质
技术领域
本发明涉及互联网技术领域,尤其是一种视频数据传输码率自适应方法、系统、装置和存储介质。
背景技术
通过互联网提供的视频播放服务越来越丰富,对互联网硬件设备也提出了越来越高的要求。互联网提供视频播放服务的基本过程是:视频通信服务器通过互联网向终端发送视频数据,由终端播放视频数据,因此视频播放的质量与视频数据传输的质量密切相关。码率是对视频数据传输过程进行衡量的重要指标,过低的码率会严重降低视频播放的质量,过高的码率会增加互联网的硬件设备的负荷,甚至会因为网络环境不佳而无法达到。因此,在视频数据传输过程中动态地调整码率,即码率自适应,是互联网视频服务的一个发展趋势。
现有的码率自适应技术包括TCP/IP协议自带的传输码率自适应机制以及Google公司研发的Remb协议等,它们都是基于启发式机制实现的。其中,TCP/IP协议自带的传输码率自适应机制的原理如图1所示,它的基本原理在于慢启动和拥塞避免,但是由于其属于君子协议,竞争性差,在恶劣网络环境下效率很低,难以适应各种不同的网络环境,而且该协议在设计时是面向传输而非交互,因此实时性能差,应用在实时视频播放时效果不好。Remb协议的原理如图2所示,其在UDP协议基础上构建,基本原理是基于延迟和丢包2项指标的卡尔曼滤波器跟踪测量,但属于关键技术的各项码率调整机制均事先人工设计需根据不同信道状况预先手工配置,仅适用于统计特征相对平稳的信道环境,难适用于固移融合、切换等复杂环境。总的来说,基于启发式机制的码率自适应技术基本上都存在不适用于信道状态非平稳的复杂交互式传输场合的缺陷。
公开号为CN108063961A的专利文件公开了一种基于强化学习的自适应码率视频传输方法以及系统,其使用策略优化算法实现了视频数据传输过程中的码率自适应。但是,该技术方案的局限在于仅适用于一对一的流媒体应用场合,即视频通信服务器仅与一个终端进行视频数据传输的场景,而实际应用场合中视频通信服务器将要面临多个终端的并发通信,已超出了该技术方案的范围。
发明内容
为了解决上述技术问题,本发明的目的在于提供一种视频数据传输码率自适应方法、系统、装置和存储介质。
一方面,本发明实施例包括一种视频数据传输码率自适应方法,包括:
获取各终端分别反馈的各实际回报值和各实际网络状态值;
将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储;
抽取所述历史经验以对预测神经网络进行时序差分训练;
获取第一时间窗口的网络观察状态值以输入到所述预测神经网络;
接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
确定各所述预测回报值中的最优值所对应的码率层级。
进一步地,所述实际回报值为无参考图像空间质量评价值与自然图像质量评价值的加权平均值;所述无参考图像空间质量评价值与自然图像质量评价值均由所述终端进行检测;
所述实际网络状态值包括端对端RTT延迟值、端对端数据包传输损失、端对端网络吞吐量、当前服务器发送缓冲区大小、当前终端接收缓冲区大小、服务器侧当前网络标志与终端侧当前终端类型。
进一步地,所述视频数据传输码率自适应方法还包括以下步骤:
在所述第一时间窗口之后的第二时间窗口,使用所选定的码率层级中的码率与各所述终端进行视频数据传输。
进一步地,所述将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储这一步骤,具体包括:
获取预测回报值的历史最优值;所述历史最优值是指在所述第一时间窗口之前的时间段内,所述预测神经网络输出的各预测回报值中的最优值;
分别计算各所述实际回报值与所述历史最优值的差值;
根据各所述实际回报值对应的差值,向各所述实际回报值赋予优先级;
将各所述实际回报值和各所述实际网络状态值存储至历史经验队列中。
进一步地,所述随机抽取所述历史经验以对预测神经网络进行时序差分训练这一步骤,具体包括:
从所述历史经验队列中随机读取出部分或全部所述实际回报值,以及相应的部分或全部所述实际网络状态值;所述随机读取过程中,各所述实际回报值以及相应的实际网络状态值被读取的概率与其优先级正相关;
根据所述历史最优值对各所述实际回报值进行修正,从而分别得到各目标回报值;
建立各所述目标回报值与码率层级之间的对应关系;
以各所述目标回报值为输出样本,以读取出的各所述实际网络状态值为输入样本,对所述预测神经网络进行训练。
进一步地,所述根据所述历史最优值对各所述实际回报值进行修正,从而分别得到各目标回报值这一步骤,所使用的公式为:
ptargetn=rn+γpmax
式中,ptargetn为第n个所述目标回报值,rn为第n个所述实际回报值,γ为修正系数,pmax为所述历史最优值。
进一步地,所述预测神经网络包括依次连接的:
接入层,用于接收网络状态值作为输入参数,通过1D-CNN来对所述网络状态值所包含的端对端网络吞吐量、端对端数据包传输损失及端对端RTT延迟值进行卷积,且卷积核大小为1×K×1;K为所述网络状态值所处的时间窗口的序号;
第一特征提取层,其具有多层感知器结构,且采用Leaky Relu激活函数;
第二特征提取层,其具有与所述第一特征提取层相同的结构;
全连通层,其输出个数为可用于自适应调整的码率层级个数,其各神经元的输出值分别为各码率层级对应的预测回报值;
ε-Max层,用于生成服从标准正态分布的随机数,当所述随机数的方差大于ε时,随机选取下一时间窗口的预测码率层级用于发送码率探索;当所述随机数的方差小于ε时,选取预测的所有码率层级中对应最大预测回报值的码率层级,作为用于下一时间窗口的码率层级进行输出;ε为一可自定义的超参数。
另一方面,本发明实施例还包括一种视频数据传输码率自适应系统,包括:
第一模块,用于获取各终端分别反馈的各实际回报值和各实际网络状态值;
第二模块,用于将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储;
第三模块,用于随机抽取所述历史经验以对预测神经网络进行时序差分训练;
第四模块,用于获取第一时间窗口的网络观察状态值以输入到所述预测神经网络;
第五模块,用于接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
第六模块,用于确定各所述预测回报值中的最优值所对应的码率层级。
另一方面,本发明实施例还包括一种装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行本发明实施例所述方法。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行本发明实施例所述方法。
本发明的有益效果是:实时采集各终端最新的实际回报值和实际网络状态值来对预测神经网络的训练数据进行增量更新,从而实现持续和连贯的在线学习,使得每次输出的码率层级都是当时的最优决策。因此,本实施例中提供的方法可以克服现有技术难以适应不同网络环境、需要人工针对不同网络环境或信道来配置码率调整规则等缺点。同时提供了一套统一的系统机制,来满足视频通信过程中需要与多个处于不同信道环境的终端同时通信的码率动态调整需求。
附图说明
图1为现有的TCP/IP协议自带的传输码率自适应机制的原理图;
图2为现有的Remb协议的原理图;
图3为实施例中用作实施视频数据传输码率自适应方法基础的架构示意图;
图4为实施例中所述视频数据传输码率自适应方法的流程图;
图5为实施例中所述视频数据传输码率自适应方法的原理图;
图6为实施例中所述第一时间窗口和第二时间窗口的相对位置关系示意图;
图7为实施例中所使用的预测神经网络的结构图。
具体实施方式
在以下提出的实施例中,是基于图3所示的架构实施的。图3中,视频通信服务器通过互联网与一个或多个终端建立连接并进行通信,通信过程具体包括上行传输和下行传输,其中上行传输是指终端向视频通信服务器发送数据,下行传输是指视频通信服务器向终端发送数据,所发送的数据除了视频数据之外还包括其他类型的数据。图3中所示的终端仅作示意,其具体可以是手机、平板电脑等,其数量可以是一个或多个。在同一时刻,不同的终端与视频通信服务器之间的通信方向可能有所不同,即某些终端与视频通信服务器之间进行上行传输,另一些终端与视频通信服务器之间进行下行传输。
在以下提出的实施例中,由视频通信服务器来执行相应的计算机程序,从而实现实施例中所提出的码率自适应方法。在实施码率自适应方法的过程中,有时需要对从终端获取的数据进行处理,此时需要终端的配合,即终端在视频通信服务器的指令下,采集、检测或生成相应的数据并将其发送至视频通信服务器。
针对视频通信服务器与多个终端进行视频数据传输的情况,本发明实施例提出一种视频数据传输码率自适应方法,如图4所示,包括以下步骤:
S1.获取各终端分别反馈的各实际回报值和各实际网络状态值;
S2.将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储;
S3.随机抽取所述历史经验以对预测神经网络进行时序差分训练;
S4.获取第一时间窗口的网络状态观察值以输入到所述预测神经网络;
S5.接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
S6.确定各所述预测回报值中的最优值所对应的码率层级;
S7.在所述第一时间窗口之后的第二时间窗口,使用所选定的码率层级中的码率与各所述终端进行视频数据传输。
所述步骤S1-S6的原理如图5所示。每个终端分别获取自己的实际回报值和实际网络状态值,然后通过互联网将它们发送到视频通信服务器中。在发送实际回报值和实际网络状态值的时候,还可以添加终端ID等信息以使得视频通信服务器将属于不同终端的实际回报值和实际网络状态值区分开来。
所述实际回报值所包含的内容可以由终端进行自定义,它可以是一个纯粹的数值,但是其大小最好与终端当时所播放的视频的QoE(Quality of Experience,体验质量)相关尤其是正相关,本实施例中,将实际回报值设定为无参考图像空间质量评价值(Blind/Referenceless Image Spatial Quality Evaluator,BRISQUE)与自然图像质量评价值(Natural Image Quality Evaluator,NIQE)的加权平均值,也就是由各终端实时检测其所播放的视频的BRISQUE和NIQE并计算出实际回报值。所述实际网络状态值包括端对端RTT延迟值、端对端数据包传输损失、端对端网络吞吐量、当前服务器发送缓冲区大小、当前终端接收缓冲区大小、服务器侧当前网络标志与终端侧当前终端类型,可以通过一定的组合算法将上述数据组合在一起得到实际网络状态值。
视频通信服务器在获取到各终端分别反馈的实际回报值和实际网络状态值后,将各实际回报值和各实际网络状态值存储在历史经验队列中。所述历史经验队列可以是指视频通信服务器的存储器件中相应的存储区域以及存储区域内所存储的实际回报值和实际网络状态值,此时将已存储在历史经验队列中的实际回报值和实际网络状态值称为历史经验。
针对多个终端的情况,视频通信服务器可以建立多个第一层级历史经验队列,使得这些第一层级历史经验队列分别与各终端一一对应,即每个第一层级历史经验队列分别用于存储相应终端所反馈的历史经验,即实际回报值和实际网络状态值。具体地,一个终端在同一时间反馈回来的实际回报值和实际网络状态值组成一组历史经验,在每个第一层级历史经验队列内部,各组历史经验按照视频通信服务器的接收时间进行排序。
进一步地,视频通信服务器还建立一个第二层级历史经验队列,用于存储从各第一层级历史经验队列中抽选出来的历史经验。这些被抽选出来的历史经验将用于对预测神经网络进行时序差分训练。优选地,所述预测神经网络可以分为预测神经网络(训练用)以及预测神经网络(预测用)两部分,这两部分的工作可以采取异步方式进行,即对预测神经网络(训练用)的训练过程与预测神经网络(预测用)的工作过程是独立的,在对预测神经网络(训练用)完成一次训练后,就将预测神经网络(训练用)的网络参数同步更新至预测神经网络(预测用),并使用经过网络参数更新的预测神经网络(预测用)来执行步骤S4和S5。
在建立了第一层级历史经验队列和第二层级历史经验队列的情况下,所述步骤S2,也就是将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储这一步骤,具体包括:
S201.获取预测回报值的历史最优值pmax;所述历史最优值pmax是指在所述第一时间窗口之前的时间段内,所述预测神经网络输出的各预测回报值中的最优值,优选地是指各预测回报值中的最大值。在以步骤S1-S7为循环体执行多个循环的情况下,每个循环都对应一个第一时间窗口,那么本步骤中的第一时间窗口是指执行当前步骤S2时所处循环体对应的第一时间窗口,因此,在从各预测回报值中筛选出历史最优值pmax时,所考虑的预测回报值还可以包括之前执行过的循环体所获取到的预测回报值。如果当前执行的步骤S2处于第一个循环体,那么可以为历史最优值pmax定义一个初始值。
S202.分别计算步骤S1获取到的实际回报值rn与所述历史最优值pmax的差值rn-pmax;rn为第n个实际回报值;
S203.根据各所述实际回报值对应的差值rn-pmax,向各所述实际回报值赋予优先级;本实施例中,对应差值的绝对值rn-pmax越大的实际回报值,将被赋予越高的优先级;
S204.将各所述实际回报值和各所述实际网络状态值存储至第一层级历史经验队列中。
所述步骤S3,即随机抽取所述历史经验以对预测神经网络进行时序差分训练这一步骤,具体包括:
S301.从各所述第一层级历史经验队列中随机读取出部分或全部所述实际回报值,以及相应的部分或全部所述实际网络状态值,将其写入至第二层级历史经验队列中;所述随机读取过程中,各所述实际回报值以及相应的实际网络状态值被读取的概率与其优先级正相关,也就是说,具有越高优先级的实际回报值以及相应的实际网络状态值,它们被读取出来并写入至第二层级历史经验队列的概率越大;
S302.根据步骤S201所取得的历史最优值pmax对各所述实际回报值进行修正,从而分别得到各目标回报值;修正所用的公式为
Figure BDA0002338181620000071
式中,
Figure BDA0002338181620000072
为第n个所述目标回报值,rn为第n个所述实际回报值,γ为自定义的修正系数,例如可以定义为γ=0.1;
S303.建立各所述目标回报值与码率层级之间的对应关系,使得每个目标回报值分别对应形如50kbps-200kbps、200kbps-500kbps、500kbps-2Mbps以及2Mbps-5Mbps等的码率层级;
S304.以各所述目标回报值为输出样本,以读取出的各所述实际网络状态值为输入样本,对所述预测神经网络进行训练;在训练过程中对预测神经网络的网络参数进行调整,训练目标为使得预测神经网络在接收某一终端的实际网络状态值后,可以经过处理输出由该终端反馈的实际回报值修正得到的目标回报值。
经过训练的预测神经网络具备了相应的分类能力,当预测神经网络接受一个具有相同数据类型的网络观察状态值,则可以输出一个预测回报值。如果为预测回报值设定相应的码率层级,例如50kbps-200kbps、200kbps-500kbps、500kbps-2Mbps以及2Mbps-5Mbps等,那么就可以根据预测回报值查找到相应的码率层级。
视频通信服务器在获取到经过训练的预测神经网络后,可以对各终端的网络状态进行检测,具体地可以检测端对端RTT延迟值、端对端数据包传输损失、端对端网络吞吐量、当前服务器发送缓冲区大小、当前终端接收缓冲区大小、服务器侧当前网络标志与终端侧当前终端类型等数值,或者由各终端检测上述数值并传送到视频通信服务器,此时上述数值被称为网络观察状态值。优选地,每个终端分别对应一组网络观察状态值,因此视频通信服务器将获得多组网络观察状态值。
由于各终端的网络观察状态值一般是随着时间而变化的,因此视频通信服务器执行步骤S4中所获取的网络观察状态值被明确为各终端在第一时间窗口内的网络观察状态值。所述第一时间窗口以及后面即将提到的第二时间窗口具有如图6所示的相对位置关系,即所述第一时间窗口发生在第二时间窗口之前,且第一时间窗口发生在执行步骤S1-S3的时间点之后,本领域技术人员可以自行设定第一时间窗口和第二时间窗口的始末时刻。
在每个终端都检测到相应的网络观察状态值,并且这些网络观察状态值都被输入到预测神经网络的情况下,所述预测神经网络将分别对这些网络观察状态值进行处理,输出相应的预测回报值,根据这些预测回报值可以查找到相应的码率层级。
接下来执行步骤S6,首先选定各所述预测回报值中的最优值,优选地本实施例中所述最优值是指所有预测回报值中的最大值。在找出所有预测回报值中的最大值后,查找其对应的码率层级,然后执行步骤S7,将视频通信服务器与各终端之间发生在第二时间窗口的视频数据传输过程设定为这个查找出的码率层级,从而完成视频数据传输码率的自适应。步骤S7的实现方式具体为:视频通信服务器将查找出的码率层级发送至各终端,建议各终端将通信码率调整至该码率层级内的码率,使得各终端在第二时间窗口向视频通信服务器发送数据时使用调整后的码率进行通信。
在执行完步骤S7之后,视频通信服务器所执行的计算机程序跳转回到步骤S1重新开始执行。在新的一轮循环中,实际回报值、实际网络状态值、网络观察状态值以及预测回报值等的具体值一般会发生变化,而第一层级历史经验队列和第二层级历史经验队列的内容也得到更新,预测神经网络也会接受新的训练过程,从而更新其网络参数,如图6所示,在新的循环中,第一时间窗口和第二时间窗口的相对位置关系不变,而其所指的具体时间窗口的绝对时间值则发生相应变化。通过不断执行循环,可以使得视频通信服务器所运行的预测神经网络得到持续连贯的训练更新,而终端与视频通信服务器之间的通信码率也在进行持续连贯的调整,从而适应不同状态的网络环境。
通过执行步骤S1-S7,本实施例中提供的视频数据传输码率自适应方法使得视频通信服务器和终端具备了在线学习的功能,其具体原理为使用预测神经网络来对实时采集的网络观察状态值进行分类,从而选择出最优的码率层级进行通信,以获取最大的回报,通过实时采集各终端最新的实际回报值和实际网络状态值来对预测神经网络的训练数据进行增量更新,从而实现持续和连贯的在线学习,使得每次输出的码率层级都是当时的最优决策。因此,本实施例中提供的方法可以克服现有技术难以适应不同网络环境、需要人工针对不同网络环境或信道来配置码率调整规则等缺点。
优选地,在应用于视频通信服务器向终端传输视频数据,即下行传输的场景下,执行步骤S1-S7时所使用的预测神经网络可以具有如图7所示的以下结构:
接入层,用于接收网络状态值作为输入参数,通过1D-CNN来对所述网络状态值所包含的端对端网络吞吐量、端对端数据包传输损失及端对端RTT延迟值进行卷积,且卷积核大小为1×K×1;K为所述网络状态值所处的时间窗口的序号;
第一特征提取层,其具有多层感知器结构,且采用Leaky Relu激活函数;
第二特征提取层,其具有与所述第一特征提取层相同的结构;
全连通层,其输出个数为可用于自适应调整的码率层级个数,其各神经元的输出值分别为各码率层级对应的预测回报值;
ε-Max层,用于生成服从标准正态分布的随机数,当所述随机数的方差大于ε时,随机选取下一时间窗口的预测码率层级用于发送码率探索;当所述随机数的方差小于ε时,选取预测的所有码率层级中对应最大预测回报值的码率层级,作为用于下一时间窗口的码率层级进行输出;ε为一可自定义的超参数。
上述结构中,接入层、第一特征提取层、第二特征提取层、全连通层和ε-Max层依次连接。优选地,视频通信服务器同一时间运行一个预测神经网络,该预测神经网络被各终端共享,即该预测神经网络被用于处理来自不同终端的回报值和网络状态值。
在应用于终端向视频通信服务器传输数据,即上行传输的场景下,由于视频通信服务器一般仅需适应单一终端的传输码率自适应,对预测神经网络的学习和泛化能力要求相对较低,因此执行步骤S1-S7时所使用的预测神经网络所具有的结构可以在上述接入层、第一特征提取层、第二特征提取层、全连通层和ε-Max层基础上进行简化,例如取消第二特征提取层,使得第一特征提取层直接与全连通层连接,而各层中的神经元也可以削减一半。在预测神经网络的结构简化的情况下,视频通信服务器可以运行多个预测神经网络,分别用于应对各终端。
在上行传输的场景下,由于视频通信服务器一般仅需适应单一终端的传输码率自适应,因此针对图5所示的视频通信服务器的结构也可以进一步简化,此时无需生成多个第一层级历史经验队列来分别应对不同的终端,因此可以取消第一层级历史经验队列,直接使用一个第二层级历史经验队列来应对单个终端。
本领域技术人员还可以制造视频数据传输码率自适应系统、装置和存储介质。
本实施例中,所述视频数据传输码率自适应系统包括:
第一模块,用于获取各终端分别反馈的各实际回报值和各实际网络状态值;
第二模块,用于将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储;
第三模块,用于随机抽取所述历史经验以对预测神经网络进行时序差分训练;
第四模块,用于获取第一时间窗口的网络观察状态值以输入到所述预测神经网络;
第五模块,用于接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
第六模块,用于确定各所述预测回报值中的最优值所对应的码率层级。
所述第一模块、第二模块、第三模块、第四模块、第五模块和第六模块是指视频通信服务器中具有相应功能的软件模块、硬件模块或其结合,它们可以是相互独立的,也可以共用硬件或软件资源。
所述装置包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行所述视频数据传输码率自适应方法。显然,所述视频通信服务器便是符合上述条件的装置。
所述存储介质中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述视频数据传输码率自适应方法。显然,所述视频通信服务器中的内存、硬盘或者固态硬盘等便是符合上述条件的存储介质。而存储有相应计算机代码的光盘、移动硬盘以及网络下载服务等,也应理解为属于本实施例中所述的存储介质。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (9)

1.一种视频数据传输码率自适应方法,其特征在于,包括以下步骤:
获取若干个终端分别反馈的实际回报值和实际网络状态值;所述实际回报值为无参考图像空间质量评价值与自然图像质量评价值的加权平均值;所述无参考图像空间质量评价值与自然图像质量评价值均由所述终端进行检测;
将若干个所述实际回报值和若干个所述实际网络状态值作为历史经验进行存储;
抽取所述历史经验以对预测神经网络进行时序差分训练;
获取第一时间窗口的各终端的网络观察状态值,以输入到所述预测神经网络;
接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
确定各所述预测回报值中的最优值所对应的码率层级;
在所述第一时间窗口之后的第二时间窗口,使用所选定的码率层级中的码率与各所述终端进行视频数据传输。
2.根据权利要求1所述的视频数据传输码率自适应方法,其特征在于:
所述实际网络状态值包括端对端RTT延迟值、端对端数据包传输损失、端对端网络吞吐量、当前服务器发送缓冲区大小、当前终端接收缓冲区大小、服务器侧当前网络标志与终端侧当前终端类型。
3.根据权利要求1所述的视频数据传输码率自适应方法,其特征在于,所述将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储这一步骤,具体包括:
获取预测回报值的历史最优值;所述历史最优值是指在所述第一时间窗口之前的时间段内,所述预测神经网络输出的各预测回报值中的最优值;
分别计算各所述实际回报值与所述历史最优值的差值;
根据各所述实际回报值对应的差值,向各所述实际回报值赋予优先级;
将各所述实际回报值和各所述实际网络状态值存储至历史经验队列中。
4.根据权利要求3所述的视频数据传输码率自适应方法,其特征在于,所述抽取所述历史经验以对预测神经网络进行时序差分训练这一步骤,具体包括:
从所述历史经验队列中随机读取出部分或全部所述实际回报值,以及相应的部分或全部所述实际网络状态值;所述随机读取过程中,各所述实际回报值以及相应的实际网络状态值被读取的概率与其优先级正相关;
根据所述历史最优值对各所述实际回报值进行修正,从而分别得到各目标回报值;
建立各所述目标回报值与码率层级之间的对应关系;
以各所述目标回报值为输出样本,以读取出的各所述实际网络状态值为输入样本,对所述预测神经网络进行训练。
5.根据权利要求4所述的视频数据传输码率自适应方法,其特征在于,所述根据所述历史最优值对各所述实际回报值进行修正,从而分别得到各目标回报值这一步骤,所使用的公式为:
Figure DEST_PATH_IMAGE002
式中,
Figure DEST_PATH_IMAGE004
为第
Figure DEST_PATH_IMAGE006
个所述目标回报值,
Figure DEST_PATH_IMAGE008
为第
Figure 563168DEST_PATH_IMAGE006
个所述实际回报值,
Figure DEST_PATH_IMAGE010
为修正系数,
Figure DEST_PATH_IMAGE012
为所述历史最优值。
6.根据权利要求1所述的视频数据传输码率自适应方法,其特征在于,所述预测神经网络包括依次连接的:
接入层,用于接收网络状态值作为输入参数,通过1D-CNN来对所述网络状态值所包含的端对端网络吞吐量、端对端数据包传输损失及端对端RTT延迟值进行卷积,且卷积核大小为1×K×1;K为所述网络状态值所处的时间窗口的序号;
第一特征提取层,其具有多层感知器结构,且采用Leaky Relu激活函数;
第二特征提取层,其具有与所述第一特征提取层相同的结构;
全连通层,其输出个数为可用于自适应调整的码率层级个数,其各神经元的输出值分别为各码率层级对应的预测回报值;
ε-Max层,用于生成服从标准正态分布的随机数,当所述随机数的方差大于ε时,随机选取下一时间窗口的预测码率层级用于发送码率探索;当所述随机数的方差小于ε时,选取预测的所有码率层级中对应最大预测回报值的码率层级,作为用于下一时间窗口的码率层级进行输出;ε为一可自定义的超参数。
7.一种视频数据传输码率自适应系统,其特征在于,包括:
第一模块,用于获取各终端分别反馈的各实际回报值和各实际网络状态值;所述实际回报值为无参考图像空间质量评价值与自然图像质量评价值的加权平均值;所述无参考图像空间质量评价值与自然图像质量评价值均由所述终端进行检测;
第二模块,用于将各所述实际回报值和各所述实际网络状态值作为历史经验进行存储;
第三模块,用于随机抽取所述历史经验以对预测神经网络进行时序差分训练;
第四模块,用于获取第一时间窗口的各终端的网络观察状态值,以输入到所述预测神经网络;
第五模块,用于接收所述预测神经网络输出的各预测回报值;各所述预测回报值分别对应各自的码率层级;
第六模块,用于确定各所述预测回报值中的最优值所对应的码率层级,在所述第一时间窗口之后的第二时间窗口,使用所选定的码率层级中的码率与各所述终端进行视频数据传输。
8.一种装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1-6任一项所述方法。
9.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-6任一项所述方法。
CN201911365068.9A 2019-12-26 2019-12-26 视频数据传输码率自适应方法、系统、装置和存储介质 Active CN111083535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911365068.9A CN111083535B (zh) 2019-12-26 2019-12-26 视频数据传输码率自适应方法、系统、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911365068.9A CN111083535B (zh) 2019-12-26 2019-12-26 视频数据传输码率自适应方法、系统、装置和存储介质

Publications (2)

Publication Number Publication Date
CN111083535A CN111083535A (zh) 2020-04-28
CN111083535B true CN111083535B (zh) 2021-08-03

Family

ID=70318168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911365068.9A Active CN111083535B (zh) 2019-12-26 2019-12-26 视频数据传输码率自适应方法、系统、装置和存储介质

Country Status (1)

Country Link
CN (1) CN111083535B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111479095B (zh) * 2020-06-24 2020-10-02 腾讯科技(深圳)有限公司 一种业务处理控制系统、方法及装置
CN111901642B (zh) * 2020-07-31 2022-09-30 成都云格致力科技有限公司 基于强化学习的实时视频码率自适应调控方法与系统
CN113518250B (zh) * 2020-08-07 2022-08-02 腾讯科技(深圳)有限公司 一种多媒体数据处理方法、装置、设备及可读存储介质
CN113422751B (zh) * 2020-08-27 2023-12-05 阿里巴巴集团控股有限公司 基于在线强化学习的流媒体处理方法、装置及电子设备
CN112367490B (zh) * 2020-09-11 2021-05-25 北京邮电大学 面向交互视频传输质量提升的混合学习方法、装置及设备
CN114257880B (zh) * 2022-01-10 2023-11-17 百果园技术(新加坡)有限公司 一种码率策略选择方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808244A (zh) * 2010-03-24 2010-08-18 北京邮电大学 一种视频传输控制方法及系统
CN106454412A (zh) * 2016-09-09 2017-02-22 腾讯科技(北京)有限公司 码率的调整方法和装置
CN108063961A (zh) * 2017-12-22 2018-05-22 北京联合网视文化传播有限公司 一种基于强化学习的自适应码率视频传输方法以及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8000546B2 (en) * 2008-08-01 2011-08-16 National Cheng Kung University Adaptive scan method for image/video coding
CN101964910B (zh) * 2010-08-20 2012-08-22 华中科技大学 基于码率型转码辅助的视频空间分辨率转换方法
US9661029B2 (en) * 2011-04-05 2017-05-23 Interdigital Patent Holdings, Inc. Wireless peer-to-peer network topology
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9697837B2 (en) * 2012-12-17 2017-07-04 Yaron Hefetz Secured audio channel for voice communication
CN105578201B (zh) * 2015-12-23 2018-11-13 武汉市烽视威科技有限公司 一种实现hls直播码率个数动态调整的系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808244A (zh) * 2010-03-24 2010-08-18 北京邮电大学 一种视频传输控制方法及系统
CN106454412A (zh) * 2016-09-09 2017-02-22 腾讯科技(北京)有限公司 码率的调整方法和装置
CN108063961A (zh) * 2017-12-22 2018-05-22 北京联合网视文化传播有限公司 一种基于强化学习的自适应码率视频传输方法以及系统

Also Published As

Publication number Publication date
CN111083535A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111083535B (zh) 视频数据传输码率自适应方法、系统、装置和存储介质
US9787745B1 (en) Content delivery
CN113475089B (zh) 用于面向用户的内容流的方法和系统
KR101318020B1 (ko) 네트워크 노드 내의 트래픽의 혼잡의 제어를 위한 방법, 혼잡 제어 디바이스, 네트워크 노드 및 네트워크 혼잡 제어 디바이스
CN112887217B (zh) 控制数据包发送方法、模型训练方法、装置及系统
US20220294736A1 (en) Congestion Control Method and Related Device
CN114616810A (zh) 网络路径重定向
CN112929712A (zh) 视频码率调整方法和装置
CN114064394A (zh) 基于边缘计算的安全监控方法、装置及终端设备
Smirnov et al. Real-time data transmission optimization on 5G remote-controlled units using deep reinforcement learning
EP4300947A1 (en) Systems, apparatus, articles of manufacture, and methods for eye gaze correction in camera image streams
CN113872873B (zh) 一种适合5g新应用的多场景跨层拥塞控制方法
US20230153633A1 (en) Moderator for federated learning
WO2023142351A1 (zh) 权重的调整方法和装置、存储介质及电子装置
CN108668166A (zh) 一种编码方法、装置及终端设备
JP7251647B2 (ja) 制御装置、制御方法及びシステム
US20230093630A1 (en) System and method for adapting to changing constraints
CN114666620B (zh) 基于视觉敏感度的自适应流媒体方法
Elanthiraiyan et al. Live Video Streaming Buffering Time Reduction using DRL Algorithm
CN117792991B (zh) 一种路由器链路自动切换方法及多链路由器
WO2024079901A1 (ja) 処理制御システム、処理制御装置、および処理制御方法
WO2024079904A1 (ja) 処理制御システム、処理制御装置、および処理制御方法
FI130612B (en) Creation of task-specific analytics data
de Almeida et al. DESiRED--Dynamic, Enhanced, and Smart iRED: A P4-AQM with Deep Reinforcement Learning and In-band Network Telemetry
Yu et al. QoE Optimization for VR Streaming: a Continual RL Framework in Digital Twin-empowered MEC

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