CN113411628B - 直播视频的码率自适应方法、装置、电子设备及可读介质 - Google Patents

直播视频的码率自适应方法、装置、电子设备及可读介质 Download PDF

Info

Publication number
CN113411628B
CN113411628B CN202110686512.8A CN202110686512A CN113411628B CN 113411628 B CN113411628 B CN 113411628B CN 202110686512 A CN202110686512 A CN 202110686512A CN 113411628 B CN113411628 B CN 113411628B
Authority
CN
China
Prior art keywords
code rate
gop
current
group
pictures
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
CN202110686512.8A
Other languages
English (en)
Other versions
CN113411628A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202110686512.8A priority Critical patent/CN113411628B/zh
Publication of CN113411628A publication Critical patent/CN113411628A/zh
Application granted granted Critical
Publication of CN113411628B publication Critical patent/CN113411628B/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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/70Media network packetisation
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例提供一种直播视频的码率自适应方法、装置、电子设备及可读介质,该方法包括:通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度;将从当前画面组GOPn至画面组GOPn+W‑1的W个画面组确定为当前时间窗序列;根据M个预设码率等级确定当前时间窗序列的MW种备选码率序列;根据目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为目标码率序列;在目标码率序列中确定当前画面组GOPn的目标码率,以根据目标码率下载当前画面组GOPn。本公开实施例提供的技术方案能够对码率选择和跳帧策略进行长时优化,从而改善视频直播业务性能。

Description

直播视频的码率自适应方法、装置、电子设备及可读介质
技术领域
本公开涉及视频技术领域,尤其涉及一种直播视频的码率自适应方法、装置、电子设备及计算机可读介质。
背景技术
随着移动互联网应用的爆发,无线视频直播业务发展迅速。传统4G网络无线信道的时变特性且频谱资源受限问题,导致在无线场景中视频直播业务体验不稳定。
近年来,为解决直播用户体验,业内正在尝试各种方案,其中有两大技术应用广泛。一是内容分发网络(Content Delivery Network,CDN)加速技术,二是自适应流媒体技术。CDN加速技术是指直播中,常用内容分发网络技术来对视频传输进行加速,依靠部署在各地的边缘服务器,使用户就近获取资源,降低网络传输时延。而自适应流媒体技术也被称作是时变信道上传输视频内容最高效的方案之一。该技术支持动态调整视频播放的码率,以匹配网络带宽的变化。其中码率选择是自适应流媒体技术的核心,目标是优化用户的体验质量(QoE,Quality of Experience)。
上述两种技术一个部署于CDN节点,一个部署于终端,并无关联且都存在一定的问题。CDN节点与核心网之间使用公网传输,无质量保障。而现有大部分码率选择算法只针对点播场景,不能满足直播业务对于实时性的要求。同时,客户端需要使用一个或多个度量作为其码率选择算法的输入,以便为下一个视频画面组(GOP,Group of Pictures)选择合适的码率。目前的终端用户缺乏网络辅助,不能充分利用网络中的信息,无法从全局的视角优化视频直播的性能。
因此,需要一种新的直播视频的码率自适应方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解。
发明内容
有鉴于此,本公开实施例提供一种直播视频的码率自适应方法、装置、电子设备及计算机可读介质,能够适应地为用户选择与其端到端传输速率相匹配的视频帧及其码率,以此实现对视频直播的跨层优化。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提出一种直播视频的码率自适应方法,该方法包括:在接收到当前画面组GOPn可用的提示信息时,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数;将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数;根据M个预设码率等级确定所述当前时间窗序列的MW种备选码率序列,M为大于0的整数;根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为目标码率序列;在所述目标码率序列中确定所述当前画面组GOPn的目标码率,以根据所述目标码率下载所述当前画面组GOPn
在本公开的一种示例性实施例中,所述方法还包括:根据所述目标码率确定所述当前画面组GOPn的目标端到端时延阈值;若所述当前画面组GOPn下载过程中的端到端时延大于或等于所述目标端到端时延阈值,则对所述当前画面组GOPn进行跳帧处理,并采用如权利要求1所述的方法下载下一画面组GOPn+1
在本公开的一种示例性实施例中,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE包括:在每一备选码率序列下,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量;根据所述当前画面组GOPn在该备选码率序列下的QoE分量确定画面组GOPn+1在该备选码率序列下的QoE分量,依此类推,直至获得所述当前画面组GOPn至画面组GOPn+W-1中每个画面组在该备选码率序列下的QoE分量;根据所述当前画面组GOPn至画面组GOPn+W-1在该备选码率序列下的W个QoE分量的和值确定所述每一备选码率序列的QoE。
在本公开的一种示例性实施例中,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量包括:确定所述当前画面组GOPn在第i个备选码率序列下的备选码率
Figure BDA0003124906660000031
i为大于0且小于或等于MW的整数;根据所述当前画面组GOPn的备选码率
Figure BDA0003124906660000032
确定所述当前画面组GOPn在第i个备选码率序列下的视频质量部分;根据上一画面组GOPn-1的码率和所述当前画面组GOPn的备选码率
Figure BDA0003124906660000033
确定所述当前画面组GOPn在第i个备选码率序列下的码率切换部分;根据所述端到端传输速率、所述当前缓冲区容量和所述当前播放速度确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;根据当前累积时延和所述当前缓冲区容量确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延;根据所述当前画面组GOPn在该备选码率序列下的视频质量部分、码率切换部分、预测卡顿时长、预测跳帧时长以及预测端到端时延的加权计算结果确定所述当前画面组GOPn在第i个备选码率序列下的QoE分量。
在本公开的一种示例性实施例中,根据所述端到端传输速率、所述当前缓冲区容量和所述当前播放速度确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长包括:计算所述当前画面组GOPn在所述备选码率
Figure BDA0003124906660000034
下编码的数据量和所述端到端传输速率的比值,获得所述当前画面组GOPn的预测下载时长;根据所述当前播放速度、所述当前缓冲区容量以及所述当前画面组GOPn的预测下载时长确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
在本公开的一种示例性实施例中,根据当前累积时延和所述当前缓冲区容量确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延包括:根据直播视频生成的起始时刻、画面组时长和序列号n确定所述当前画面组GOPn的预测下载时刻;确定当前画面组GOPn的生成时刻;计算所述当前画面组GOPn的预测下载时刻和所述当前画面组GOPn的生成时刻的差值,获得所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延;确定下一画面组GOPn+1的预测生成时刻;根据所述当前画面组GOPn的预测下载时刻、所述下一画面组GOPn+1的预测生成时刻以及所述当前画面组GOPn的预测下载时长确定当前画面组GOPn的下载后等待时长;根据所述当前累积时延、所述当前画面组GOPn的预测下载时长、所述当前画面组GOPn的下载后等待时长以及画面组时长确定下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn的预测下载时长、画面组时长以及所述当前画面组GOPn的下载后等待时长确定所述下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量;计算所述下一画面组GOPn+1的预测累积时延和预测缓冲区容量的和值,获得下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延;根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
在本公开的一种示例性实施例中,根据所述下一画面组GOPn+1在第个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长包括:若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延小于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长为0;若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则根据所述当前画面组GOPn在所述备选码率
Figure BDA0003124906660000041
下编码的数据量、所述端到端传输速率、画面组时长、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值以及所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
在本公开的一种示例性实施例中,若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值时,根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长还包括:根据所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延以及所述当前缓冲区容量,获得更新后的当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;根据所述当前累积时延、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量。
根据本公开实施例的第二方面,提出一种直播视频的码率自适应装置,所述装置部署在移动边缘计算节点中,所述装置包括:数据获取模块,配置为在接收到当前画面组GOPn可用的提示信息时,获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数;时间窗创建模块,配置为将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数;备选码率组合模块,配置为根据M个预设码率等级确定所述当前时间窗序列的MW种备选码率序列,M为大于0的整数;目标码率确定模块,配置为根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为所述当前画面组GOPn的目标码率序列;目标码率确定模块,配置为在所述目标码率序列中确定所述当前画面组GOPn的目标码率,以根据所述目标码率下载所述当前画面组GOPn
根据本公开实施例的第三方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的直播视频的码率自适应方法。
根据本公开实施例的第四方面,提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的直播视频的码率自适应方法。
根据本公开某些实施例提供的直播视频的码率自适应方法、装置、电子设备及计算机可读介质,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,能够更为准确和全面地感知网络状态,并综合考虑网络状态和应用信息为用户选择码率,因而可以达到更优的全局性能。同时,本方法考虑了视频播放的前后相关性,基于滚动时域控制并以长时QoE最大化为目标对码率选择进行优化,能够在保证较好视频质量的情况下,降低端到端时延,为用户提供更好的QoE性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种直播视频的码率自适应方法及装置的系统框图。
图2是根据一示例性实施例示出的一种直播视频的码率自适应方法的流程图。
图3是根据一示例性实施例示出的一种直播视频的码率自适应方法的流程图。
图4是根据一示例性实施例示出的码率自适应逻辑示意图。
图5是根据另一示例性实施例示出的一种直播视频的码率自适应方法的流程图。
图6是本公开方案与现有方案的平均QoE值的累计分布函数(CumulativeDistribution Function,CDF)曲线示意图。
图7是根据本公开方案与现有方案的各细分QoE指标对比示意图。
图8是根据一示例性实施例示出的一种直播视频的码率自适应装置的框图。
图9示意性示出本公开一个示例性实施例中一种电子设备的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图对本发明示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种直播视频的码率自适应方法及装置的系统框图。
在直播视频的码率自适应方法及装置的系统中,原始码率的直播内容由主播端设备104实时生成并推流到源服务器101,再由源服务器101转码为多种码率对应多个清晰度(例如超清码率的清晰度、高清码率的清晰度、流畅码率的清晰度),推送至MEC节点102,最后通过无线网络传输至目标用户103。其核心在于在MEC节点102部署本公开实施例的直播视频的码率自适应方法,通过感知网络状态信息和直播用户的应用信息,自适应地为用户选择与其端到端传输速率相匹配的视频帧及其码率,以此实现对视频直播的跨层优化。其中,网络状态信息主要指视频传输中所能获得的端到端传输速率,用户的应用信息包括客户端缓冲区占用情况、播放速度、备选的视频码率(即预设码率)以及直播业务中的端到端时延。在图1中,MEC节点与核心网之间通过VPN隧道承载的N6口进行对接,网络质量有保障,安全性高。
图2是根据一示例性实施例示出的一种直播视频的码率自适应方法的流程图。本公开实施例提供的直播视频的码率自适应方法可以由图1中所示MEC节点102执行,但本公开并不限定于此。本公开实施例提供的直播视频的码率自适应方法可以包括步骤S202至S210。
如图2所示,在步骤S202中,在接收到当前画面组GOPn可用的提示信息时,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数。
本公开实施例中,目标用户可为终端设备101、102或103,当前画面组GOPn可为视频直播过程中实时生成的。例如,在图1中主播端设备104从t=t0开始实时采集和生成直播内容:画面组GOP1、GOP2、GOP3、…,当前时刻生成的最新的直播内容称之为当前画面组GOPn。当生成当前画面组GOPn后,认为当前画面组GOPn可用,以生成其可用的提示信息。该目标用户可例如接收当前画面组GOPn以实现直播视频的播放。移动边缘计算节点可为图1中的MEC节点102。移动边缘计算节点可通过感知网络状态信息和目标用户的应用信息获取信息。其中,网络状态信息主要指视频传输中所能获得的端到端传输速率,用户的应用信息包括目标用户的终端的缓冲区占用情况、播放速度、备选的视频码率以及直播业务中的端到端时延。
在步骤S204中,将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数。
本公开实施例中,该当前画面组GOPn至画面组GOPn+W-1的W个画面组可表示为:GOPn、GOPn+1、GOPn+2、…、GOPn+W-1
在步骤S206中,根据M个预设码率等级确定当前时间窗序列的MW种备选码率序列,M为大于0的整数。
本公开实施例中,M个预设码率可从用户的应用信息获得。每个预设码率表示一个码率等级,M个预设码率可表示为集合V={V1,V2,…,VM},并且满足不等式式V1<V2<…<VM,每个码率对应一个清晰度。
对于第1至第N个GOP的集合为N={1,2,...,N},N为大于0的整数,可以选择以码率
Figure BDA0003124906660000091
来下载第n个GOP,其中布尔变量anm=1则表示下载第n个GOP选择了码率Vm,且anm需要满足约束条件:
Figure BDA0003124906660000092
意味着仅能从码率集合中选择一个码率进行下载。
在本步骤中,该当前时间窗序列的所有备选码率序列可表示为:
Figure BDA0003124906660000093
其中,I=MW,表示总共有MW种可能,每个码率子序列中包含以GOP为起始画面组的后续W个画面组的码率。
在步骤S208中,根据目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为目标码率序列。
本公开实施例中,可合考虑直播场景下视频质量、卡顿、时延、跳帧及码率切换等多方面因素,并通过加权计算方式方便灵活地在各项QoE指标之间进行权衡,以更为准确和全面地评估直播业务的整体QoE性能。
在示例性实施例中,可在每一备选码率序列下,根据目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定当前画面组GOPn在该备选码率序列下的QoE分量;根据当前画面组GOPn在该备选码率序列下的QoE分量确定画面组GOPn+1在该备选码率序列下的QoE分量,依此类推,直至获得当前画面组GOPn至画面组GOPn+W-1中每个画面组在该备选码率序列下的QoE分量;根据当前画面组GOPn至画面组GOPn+W-1在该备选码率序列下的W个QoE分量的和值确定每一备选码率序列的QoE。
其中,对于当前画面组GOPn在第i个备选码率序列下的QoE分量,可表示为
Figure BDA0003124906660000101
依此类推,可以计算得到第i个备选码率序列下的QoE值为
Figure BDA0003124906660000102
在示例性实施例中,可将第1个备选码率序列至第MW个备选码率序列中具有最大的QoE的备选码率序列确定为目标码率序列。
在步骤S210中,在目标码率序列中确定当前画面组GOPn的目标码率,以根据目标码率下载当前画面组GOPn
本公开实施例中,假设目标码率序列表示为
Figure BDA0003124906660000103
则当前画面组GOPn的目标码率表示为
Figure BDA0003124906660000104
根据本公开实施例提供的直播视频的码率自适应方法,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,能够更为准确和全面地感知网络状态,并综合考虑网络状态和应用信息为用户选择码率,因而可以达到更优的全局性能。同时,本方法考虑了视频播放的前后相关性,基于滚动时域控制并以长时QoE最大化为目标对码率选择进行优化,能够在保证较好视频质量的情况下,降低端到端时延,为用户提供更好的QoE性能。
在示例性实施例中,本公开实施例的直播视频的码率自适应方法还可包括如下步骤S212至S214。
在步骤S212中,根据目标码率确定当前画面组GOPn的目标端到端时延阈值。
其中,每一预设码率对应一唯一的端到端时延阈值。对于码率Rn其端到端时延阈值ln
Figure BDA0003124906660000111
其中,wq、wk与wd为非负权重系数,q(Rn)表示GOPn以码率Rn编码时所对应的视频质量,q(·)是一个增函数,γ是当端到端时延超过ln而没有跳帧的情况下平均时延的估计系数,Lf是视频帧的时长。视频帧的时长是指:对于一个画面组,其画面组时长通常固定为L,当该画面组包括X帧画面时,Lf=L/X。在决策当前画面组GOPn的码率的同时,需要决策一个端到端时延的阈值为ln。对于当前时间窗序列,所有时延阈值的决策结果集合为l={ln,ln+1,...,ln+W-1}。如果在GOPn的下载过程中,端到端时延达到时延阈值ln,即跳过当前正在进行的下载,并直接请求下载下一个画面组GOPn+1,从而达到降低端到端时延的目的。
在步骤S214中,若当前画面组GOPn下载过程中的端到端时延大于或等于目标端到端时延阈值,则对当前画面组GOPn进行跳帧处理,并采用如步骤S202至S210的方法下载下一画面组GOPn+1
其中,当在GOPn的下载过程中,若实端到端时延达到目标端到端时延阈值ln,MEC节点即跳过当前GOPn的传输,并直接请求下载下一画面组GOPn+1
在该示例性实施例中,综合考虑网络状态和应用信息为用户选择码率并决定是否跳帧,因而可以达到更优的全局性能。同时,考虑了视频播放的前后相关性,基于滚动时域控制并以长时QoE最大化为目标对码率选择与跳帧策略进行联合优化,能够在保证较好视频质量的情况下,降低端到端时延,为用户提供更好的QoE性能。
图3是根据一示例性实施例示出的一种直播视频的码率自适应方法的流程图。本公开实施例的直播视频的码率自适应方法在“在每一备选码率序列下,根据目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定当前画面组GOPn在该备选码率序列下的QoE分量”时,可以包括步骤S302至S312。
如图3所示,在步骤S302中,确定当前画面组GOPn在第i个备选码率序列下的备选码率
Figure BDA0003124906660000121
i为大于0且小于或等于MW的整数。
本公开实施例中,对于第i个备选码率序列
Figure BDA0003124906660000122
其中当前画面组GOPn在第i个备选码率序列下的备选码率即为
Figure BDA0003124906660000123
在步骤S304中,根据当前画面组GOPn的备选码率
Figure BDA0003124906660000124
确定当前画面组GOPn在第i个备选码率序列下的视频质量部分。
本公开实施例中,可当前画面组GOPn在第i个备选码率序列下的视频质量部分可表示为
Figure BDA0003124906660000125
在步骤S306中,根据上一画面组GOPn-1的码率和当前画面组GOPn的备选码率
Figure BDA0003124906660000126
确定当前画面组GOPn在第i个备选码率序列下的码率切换部分。
本公开实施例中,当前画面组GOPn在第i个备选码率序列下的码率切换部分可表示为
Figure BDA0003124906660000127
其中,Rn-1为第n-1个画面组GOPn-1的码率,为已知量。码率切换部分用于表示相邻GOP切换码率对QoE的影响。
在步骤S308中,根据端到端传输速率、当前缓冲区容量和当前播放速度确定当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
其中,当前画面组GOPn在第i个备选码率序列下的预测卡顿时长表示预测的在第i个备选码率序列下下载GOPn的过程中所经历的卡顿时长。
在示例性实施例中,可计算当前画面组GOPn在备选码率
Figure BDA0003124906660000128
下编码的数据量和端到端传输速率的比值,获得当前画面组GOPn的预测下载时长;根据当前播放速度、当前缓冲区容量以及当前画面组GOPn的预测下载时长确定当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
其中,当前画面组GOPn的预测下载时长τn可通过下式(1)计算获得。
Figure BDA0003124906660000129
其中,
Figure BDA00031249066600001210
当前画面组GOPn在备选码率
Figure BDA00031249066600001211
下编码的数据量,
Figure BDA00031249066600001212
为端到端传输速率。
当前画面组GOPn在第i个备选码率序列下的预测卡顿时长可通过下式(2)计算获得。
Tn=(λnτn-Bn)+ (2)
其中,λn为当前播放速度,Bn为当前缓冲区容量。
在步骤S310中,根据当前累积时延和当前缓冲区容量确定当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延。
在步骤S312中,根据当前画面组GOPn在第i个备选码率序列下的视频质量部分、码率切换部分、预测卡顿时长、预测跳帧时长以及预测端到端时延的加权计算结果确定当前画面组GOPn在第i个备选码率序列下的QoE分量。
当前画面组GOPn在第i个备选码率序列下的QoE分量可表示如下式(3)。
Figure BDA0003124906660000131
其中,Dn为当前画面组GOPn在该备选码率序列下的预测端到端时延,Kn为当前画面组GOPn在该备选码率序列下的预测跳帧时长。wq、wr、wd、wk、ws则分别表示各项指标的非负权重系数,可以根据应用场景和用户偏好进行相应设置。例如,设置一个较大的wr则表示用户对于播放卡顿相对较为敏感。
根据本公开实施例提供的直播视频的码率自适应方法,采用的QoE模型综合考虑了直播场景下视频质量、卡顿、时延、跳帧及码率切换等多方面因素,有利于方便灵活地在各项QoE指标之间进行权衡,可以更为准确和全面地评估直播业务的整体QoE性能。
在示例性实施例中,图3实施例中的步骤S310可包括如下步骤S311至S319。
在步骤S311中,根据直播视频生成的起始时刻、画面组时长和序列号n确定当前画面组GOPn的预测下载时刻。
本公开实施例中,当前画面组GOPn的预测下载时刻
Figure BDA0003124906660000132
可通过下述约束条件确定。
Figure BDA0003124906660000141
其中,N表示直播会话期间所有GOP的集合,表示为N={1,2,...,N}。L为画面组时长,t0为直播视频生成的起始时刻。所有GOP的码率决策集合为R={R1,R2,...,RN}。为了便于分析,在本文的视频传输模型中,不考虑视频封装和编解码的耗时,则在t∈[t0+(n-1)L,t0+nL]区间内生成的GOP为GOPn。直播客户端需要等待最新的视频内容生成后,才可以请求和下载GOP。因此,直播客户端仅能在GOPn生成的时刻
Figure BDA0003124906660000142
之后方能请求和下载GOPn,可以表示如式(4)的约束。
在步骤S312中,确定当前画面组GOPn的生成时刻。
本公开实施例中,当前画面组GOPn的生成时刻
Figure BDA0003124906660000143
可表示为
Figure BDA0003124906660000144
在步骤S313中,计算当前画面组GOPn的预测下载时刻和当前画面组GOPn的生成时刻的差值,获得当前画面组GOPn在第i个备选码率序列下的预测端到端时延。
在步骤S314中,确定下一画面组GOPn+1的预测生成时刻。
本公开实施例中,下一画面组GOPn+1的预测生成时刻
Figure BDA0003124906660000145
可表示为
Figure BDA0003124906660000146
在步骤S315中,根据当前画面组GOPn的预测下载时刻、下一画面组GOPn+1的预测生成时刻以及当前画面组GOPn的预测下载时长确定当前画面组GOPn的下载后等待时长。
本公开实施例中,当前画面组GOPn的下载后等待时长Δtn可如式(5)计算获得。
Figure BDA0003124906660000147
下载时长由GOP的大小和下载速率共同决定。当GOPn下载完成(完成时刻为
Figure BDA0003124906660000148
但下一个GOPn+1还未完全生成时,即
Figure BDA0003124906660000149
那么,直播客户端需要等待
Figure BDA00031249066600001410
之后,在时刻
Figure BDA00031249066600001411
下载最新的GOPn+1。若GOPn下载完成且下一个GOPn+1已经可以下载时,即
Figure BDA00031249066600001412
则有等待时间Δtn=0。因此,即可得如式(5)所示下载第n个GOP后的等待时长。
在步骤S316中,根据当前累积时延、当前画面组GOPn的预测下载时长、当前画面组GOPn的下载后等待时长以及画面组时长确定下一画面组GOPn+1在第i个备选码率序列下的预测累积时延。
本公开实施例中,下一画面组GOPn+1在第i个备选码率序列下的预测累积时延
Figure BDA0003124906660000151
可如式(6)计算获得。
Figure BDA0003124906660000152
其中,
Figure BDA0003124906660000153
为当前累计时延。
Figure BDA0003124906660000154
为预测在未执行跳帧情况下的开始下载第n+1个GOPn+1时服务端累积时延。
在步骤S317中,根据当前缓冲区容量、当前播放速度、当前画面组GOPn的预测下载时长、画面组时长以及当前画面组GOPn的下载后等待时长确定下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量。
本公开实施例中,下一画面组GOPn+1在该备选码率序列下的预测缓冲区容量Bn+1可如式(7)计算获得。
Bn+1=[(Bnnτn)++L-λnΔtn]+ (7)
在步骤S318中,计算下一画面组GOPn+1的预测累积时延和预测缓冲区容量的和值,获得下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延。
本公开实施例中,下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延Dn+1可如式(8)计算获得。
Figure BDA0003124906660000155
其中,Dn+1是预测的在未执行跳帧情况下的下一画面组GOPn+1在该备选码率序列下的预测端到端时延Dn+1
在步骤S319中,根据下一画面组GOPn+1在该备选码率序列下的预测端到端时延和当前画面组GOPn在该备选码率序列下的端到端时延阈值确定当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
本公开实施例中,若下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延Dn+1小于当前画面组GOPn在第i个备选码率序列下的端到端时延阈值ln,则确认无需跳帧,当前画面组GOPn在第i个备选码率序列下的预测跳帧时长预测跳帧时长Kn=0。
在示例性实施例中,可在下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延小于当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则确定当前画面组GOPn在第i个备选码率序列下的预测跳帧时长为0。
并在下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则根据当前画面组GOPn在备选码率
Figure BDA0003124906660000161
下编码的数据量、端到端传输速率、画面组时长、当前画面组GOPn在第i个备选码率序列下的端到端时延阈值以及当前画面组GOPn在第i个备选码率序列下的预测端到端时延确定当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
当Dn+1≥ln,则执行跳帧,当前画面组GOPn在该备选码率序列下的预测跳帧时长可如式(9)计算获得。
Figure BDA0003124906660000162
其中,若下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,根据下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定当前画面组GOPn在第i个备选码率序列下的预测跳帧时长还可包括以下步骤S3191、S3192以及S3193:在步骤S3191中,根据当前播放速度、当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、当前画面组GOPn在第i个备选码率序列下的预测端到端时延以及当前缓冲区容量,获得更新后的当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
更新后的当前画面组GOPn在第i个备选码率序列下的预测卡顿时长可如式(10)计算获得。
Tn=[λn(ln-Dn)-Bn]+ (10)
在步骤S3192中,根据当前累积时延、当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测累积时延。
更新后的下一画面组GOPn+1在第i个备选码率序列下的预测累积时延可如式(11)计算获得。
Figure BDA0003124906660000171
在步骤S3193中,根据当前缓冲区容量、当前播放速度、当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量。
其中,下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量可如式(12)计算获得。
Figure BDA0003124906660000172
在该实施例中,基于滚动时域控制的思想,在决策当前画面组GOPn的码率选择时,还联合考虑下一画面组GOPn+1的预测性能,能够对当前画面组的码率选择与跳帧策略进行联合优化。进而能够在保证较好视频质量的情况下,降低端到端时延,为用户提供更好的QoE性能。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图5是根据另一示例性实施例示出的一种直播视频的码率自适应方法的流程图。直播视频的码率自适应方法50至少包括步骤S501至S507。
如图5所示,在步骤S501中,读取网络状态、应用信息。
MEC节点中的应用信息采集模块与直播服务端同步以获知最新的GOP(即GOPn)是否已经生成。当GOPn可用时,MEC节点获取目标用户的应用信息,通过解析媒体呈现描述文件得到视频码率集合V={V1,V2,...,VM}(即M个预设码率等级)和此刻服务端累积时延
Figure BDA0003124906660000173
并获取目标用户客户端的当前缓冲区大小Bn和当前播放速度λn。同时,MEC节点中的网络感知模块通过感知网络端到端状态信息,获取在视频传输中用户所能获得的端到端传输速率
Figure BDA0003124906660000181
并进一步用于下述的预测和决策过程。
图4是根据一示例性实施例示出的码率自适应逻辑示意图。在MEC节点40中,网络感知模块401能够感知网络端到端状态信息,获取在视频传输中用户所能获得的端到端传输速率,用于自适应决策过程;应用信息采集模块403获取用户的应用信息,通过解析媒体呈现描述文件得到视频码率集合(即预设码率等级)和此刻服务端累积时延,并获取客户端现有的缓冲区大小和播放速度;自适应决策模块402接收上述网络信息和用户应用信息,构建滑动预测窗口,预测备选决策对应的QoE,计算得出滑动预测窗口内QoE最大化的决策结果。根据决策结果向服务端请求决策码率的视频,并决定是否跳帧以优化直播时延。
在步骤S502中,构建滑动预测窗口,初始化备选决策变量序列。
构建一个从GOPn到n+W-1的滑动预测窗口,初始化滑动预测窗口内的所有备选码率序列为
Figure BDA0003124906660000182
其中,I=MW,表示总共有MW种可能,每个备选码率序列中包含后续W个GOP的码率;以及所有备选时延阈值序列为
Figure BDA0003124906660000183
由备选码率序列、备选时延阈值序列组成备选决策变量序列
Figure BDA0003124906660000184
进一步地,组成备选决策变量序列的集合为Ω={Ω1,Ω2,...,ΩI},|Ω|=I=MW
在步骤S503中,预测所有备选决策变量序列所对应的未来W个GOP的QoE值。
在步骤S504中,找出使未来W个GOP的QoE值最优的决策变量序列。
在步骤S505中,将最优决策变量序列中备选决策变量序列的首位作为决策结果。
其中,可找出Ω中使未来W个GOP的QoE最优化的决策变量的组合
Figure BDA0003124906660000185
并将最优决策变量组合Ω*中备选决策变量序列的首位
Figure BDA0003124906660000186
作为最终的决策结果。选取最优决策变量序列的优化问题可以表示为:
Figure BDA0003124906660000191
其中,
Figure BDA0003124906660000192
即由Ωi得到的未来W个GOP的QoE。
在步骤S506中,MEC节点根据决策结果向直播服务端发送视频请求并下发给目标用户。
在步骤S507中,判断目标用户是否继续观看直播视频,若是,则返回执行步骤S501,以等待下一个GOP的生成时再次进行决策。否则结束流程。
其中,在步骤S503中,由决策变量序列Ωi计算未来W个GOP的QoE值的具体方式如下:
(1)已知上一个GOP的码率Rn-1,给定
Figure BDA0003124906660000193
可以计算出视频质量部分和码率切换部分的QoE值为
Figure BDA0003124906660000194
Figure BDA0003124906660000195
(2)预测GOPn的下载时长
Figure BDA0003124906660000196
其中Sn(Rn)为以码率Rn编码的GOPn的大小。
预测下载GOPn后的等待时长为
Figure BDA0003124906660000197
其中
Figure BDA0003124906660000198
表示第n+1个GOPn+1的生成时刻,
Figure BDA0003124906660000199
表示开始下载GOPn的时刻。
预测开始下载GOPn+1时的客户端缓冲区大小(即预测缓冲区容量)为Bn+1=[(Bnnτn)++L-λnΔtn]+,其中L表示一个GOP的时长(即画面组时长);
预测卡顿时长Tn=(λnτn-Bn)+
(3)预测在未执行跳帧的情况下,开始下载第n+1个GOP时服务端预测累积时延
Figure BDA00031249066600001910
为:
Figure BDA00031249066600001911
预测未执行跳帧情况下的预测端到端时延
Figure BDA00031249066600001912
若Dn+1<ln,无需执行跳帧,预测跳帧时长Kn=0。
若Dn+1≥ln,则说明应执行跳帧,预测跳帧时长为
Figure BDA00031249066600001913
并更新对卡顿时长、服务端累积时延和缓冲区大小的预测:
预测卡顿时长更新为:Tn=[λn(ln-Dn)-Bn]+
服务端预测累积时延更新为
Figure BDA0003124906660000201
Figure BDA0003124906660000202
缓冲区大小更新为
Figure BDA0003124906660000203
进而更新跳帧情况下的端到端时延
Figure BDA0003124906660000204
根据上述预测过程(1)(2)(3),可以计算出
Figure BDA0003124906660000205
依此类推,可以计算由Ωi得到的未来W个GOP的QoE值为
Figure BDA0003124906660000206
进而可得所有备选决策变量序列Ω所对应的QoE值。找出Ω中使未来W个GOP的QoE最优化的决策变量的组合
Figure BDA0003124906660000207
并将最优决策变量组合Ω*中每个子序列的首位
Figure BDA0003124906660000208
作为最终的决策结果。
最后,根据决策结果,MEC节点向直播服务端发送对应的视频请求,并将视频传输给直播客户端。在GOP n的下载过程中,若端到端时延达到时延阈值ln,MEC节点即跳过当前GOPn的传输,并直接请求下载下一个画面组GOPn+1
基于本公开实施例的技术方案进行了仿真实验。在仿真中,为了模拟真实的无线网络波动环境,使用了真实的网络数据集来评估和比较算法的性能。选用了一组5G网络的带宽数据集,所有带宽序列的平均时长为900s,采样间隔为1s,总共99条带宽序列。其次,选用了一组真实的直播视频数据集,包含以下3种直播场景下的直播视频序列——游戏直播(Game),室内互动直播(Room)以及体育赛事直播(Sports),使用H.264/MPEG-4AVC编解码器将高清源视频(以4Mbps编码)重新编码为四个码率等级,包括{500,850,1200,1850}kbps,总共12条直播视频序列。在QoE模型中,视频质量选用了线性模型,即q(Rn)=Rn,视频质量的权重系数wq设置为1;卡顿时长的权重系数设置为最大视频质量,即ws=q(VM),这代表卡顿1s的惩罚与将一个GOP降低最大码率有着相同的效果;端到端时延的权重系数设置为wd=0.01;跳帧时长的权重系数设置为最小视频质量,即wk=q(V1),跳帧的惩罚要小于卡顿;码率切换的权重系数设置为ws=0.02。滑动预测窗口大小W设置为3。
仿真将比较本公开提出的方法与现有码率选择算法DTBB和HYSA。如图6所示,本公开所提方法的总体性能表现最好。相比DTBB方案和HYSA方案,本公开的技术方案的平均QoE分别有29.9%和9.1%的性能提升。图7展示了三种方案的每一项细分QoE指标的平均值。从细分指标来看,本公开的技术方案的视频质量平均值相比DTBB方案提升了10.5%,相比HYSA方案则提升了6.3%。本公开的技术方案比DTBB方案的时延性能平均值降低了43.1%。总体来说,由于本公开的技术方案对整体QoE进行优化,在视频质量、卡顿时长、端到端时延、码率切换以及跳帧时长之间进行权衡,并且兼顾了长时影响,因而在所有方案中表现出了最佳性能。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由中央处理器(Central Processing Unit,CPU)执行的计算机程序。在该计算机程序被中央处理器CPU执行时,执行本公开提供的上述方法所限定的上述功能。该程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器、磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图8是根据一示例性实施例示出的一种直播视频的码率自适应装置的框图。直播视频的码率自适应装置可部署在移动边缘计算节点中。参照图8,本公开实施例提供的直播视频的码率自适应装置80可以包括:数据获取模块802、时间窗创建模块804、备选码率组合模块806、目标码率确定模块808以及目标码率确定模块810。
在直播视频的码率自适应装置80中,数据获取模块802可配置为在接收到当前画面组GOPn可用的提示信息时,获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数;
时间窗创建模块804可配置为将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数;
备选码率组合模块806可配置为根据M个预设码率等级确定当前时间窗序列的MW种备选码率序列,M为大于0的整数;
目标码率序列模块808可配置为根据目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为当前画面组GOPn的目标码率序列;
目标码率确定模块810可配置为在目标码率序列中确定当前画面组GOPn的目标码率,以根据目标码率下载当前画面组GOPn
根据本公开实施例提供的直播视频的码率自适应装置,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,能够更为准确和全面地感知网络状态,并综合考虑网络状态和应用信息为用户选择码率,因而可以达到更优的全局性能。同时,本方法考虑了视频播放的前后相关性,基于滚动时域控制并以长时QoE最大化为目标对码率选择进行优化,能够在保证较好视频质量的情况下,降低端到端时延,为用户提供更好的QoE性能。
在示例性实施例中,直播视频的码率自适应装置80还可包括:时延阈值确定模块,可配置为根据所述目标码率确定所述当前画面组GOPn的目标端到端时延阈值;跳帧判断模块,可配置为若所述当前画面组GOPn下载过程中的端到端时延大于或等于所述目标端到端时延阈值,则对所述当前画面组GOPn进行跳帧处理,并采用如权利要求1所述的方法下载下一画面组GOPn+1
在示例性实施例中,目标码率序列模块808可包括:第一指标分量确定子模块,可配置为在每一备选码率序列下,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量;第二指标分量确定子模块,可配置为根据所述当前画面组GOPn在该备选码率序列下的QoE分量确定画面组GOPn+1在该备选码率序列下的QoE分量,依此类推,直至获得所述当前画面组GOPn至画面组GOPn+W-1中每个画面组在该备选码率序列下的QoE分量;指标分量求和子模块,可配置为根据所述当前画面组GOPn至画面组GOPn+W-1在该备选码率序列下的W个QoE分量的和值确定所述每一备选码率序列的QoE。
在示例性实施例中,第一指标分量确定子模块可包括:备选码率确定单元,可配置为确定所述当前画面组GOPn在第i个备选码率序列下的备选码率
Figure BDA0003124906660000231
i为大于0且小于或等于MW的整数;视频质量计算单元,可配置为根据所述当前画面组GOPn的备选码率
Figure BDA0003124906660000232
确定所述当前画面组GOPn在第i个备选码率序列下的视频质量部分;码率切换计算单元,可配置为根据上一画面组GOPn-1的码率和所述当前画面组GOPn的备选码率
Figure BDA0003124906660000233
确定所述当前画面组GOPn在第i个备选码率序列下的码率切换部分;卡顿时长预测单元,可配置为根据所述端到端传输速率、所述当前缓冲区容量和所述当前播放速度确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;端到端时延计算单元,可配置为根据当前累积时延和所述当前缓冲区容量确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延;第一指标分类确定单元,可配置为根据所述当前画面组GOPn在该备选码率序列下的视频质量部分、码率切换部分、预测卡顿时长、预测跳帧时长以及预测端到端时延的加权计算结果确定所述当前画面组GOPn在第i个备选码率序列下的QoE分量。
在示例性实施例中,卡顿时长预测单元可包括:下载时长预测子单元,可配置为计算所述当前画面组GOPn在所述备选码率
Figure BDA0003124906660000234
下编码的数据量和所述端到端传输速率的比值,获得所述当前画面组GOPn的预测下载时长;卡顿时长预测子单元,可配置为根据所述当前播放速度、所述当前缓冲区容量以及所述当前画面组GOPn的预测下载时长确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
在示例性实施例中,端到端时延计算单元可包括:下载时刻预测子单元,可配置为根据直播视频生成的起始时刻、画面组时长和序列号n确定所述当前画面组GOPn的预测下载时刻;第一生成时刻确定子单元,可配置为确定当前画面组GOPn的生成时刻;第一端到端时延预测子单元,可配置为计算所述当前画面组GOPn的预测下载时刻和所述当前画面组GOPn的生成时刻的差值,获得所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延;第二生成时刻确定子单元,可配置为确定下一画面组GOPn+1的预测生成时刻;等待时长计算子单元,可配置为根据所述当前画面组GOPn的预测下载时刻、所述下一画面组GOPn+1的预测生成时刻以及所述当前画面组GOPn的预测下载时长确定当前画面组GOPn的下载后等待时长;累积时延预测子单元,可配置为根据所述当前累积时延、所述当前画面组GOPn的预测下载时长、所述当前画面组GOPn的下载后等待时长以及画面组时长确定下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;缓冲区容量预测子单元,可配置为根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn的预测下载时长、画面组时长以及所述当前画面组GOPn的下载后等待时长确定所述下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量;第二端到端时延预测子单元,可配置为计算所述下一画面组GOPn+1的预测累积时延和预测缓冲区容量的和值,获得下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延;跳帧时长预测子单元,可配置为根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
在示例性实施例中,跳帧时长预测子单元可配置为若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延小于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长为0;若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则根据所述当前画面组GOPn在所述备选码率
Figure BDA0003124906660000241
下编码的数据量、所述端到端传输速率、画面组时长、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值以及所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
在示例性实施例中,跳帧时长预测子单元在所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值时,还可配置为:根据所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延以及所述当前缓冲区容量,获得更新后的当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;根据所述当前累积时延、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量。
下面参照图9来描述根据本发明的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图2或图3或图5中所示的步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。

Claims (10)

1.一种直播视频的码率自适应方法,其特征在于,包括:
在接收到当前画面组GOPn可用的提示信息时,通过移动边缘计算节点获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数;
将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数;
根据M个预设码率等级确定所述当前时间窗序列的MW种备选码率序列,M为大于0的整数;
根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为目标码率序列;
在所述目标码率序列中确定所述当前画面组GOPn的目标码率,以根据所述目标码率下载所述当前画面组GOPn
其中,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE包括:
在每一备选码率序列下,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量;
根据所述当前画面组GOPn在该备选码率序列下的QoE分量确定画面组GOPn+1在该备选码率序列下的QoE分量,依此类推,直至获得所述当前画面组GOPn至画面组GOPn+W-1中每个画面组在该备选码率序列下的QoE分量;
根据所述当前画面组GOPn至画面组GOPn+W-1在该备选码率序列下的W个QoE分量的和值确定所述每一备选码率序列的QoE。
2.如权利要求1所述的方法,其特征在于,还包括:
根据所述目标码率确定所述当前画面组GOPn的目标端到端时延阈值;
若所述当前画面组GOPn下载过程中的端到端时延大于或等于所述目标端到端时延阈值,则对所述当前画面组GOPn进行跳帧处理,并采用如权利要求1所述的方法下载下一画面组GOPn+1
3.如权利要求1所述的方法,其特征在于,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量包括:
确定所述当前画面组GOPn在第i个备选码率序列下的备选码率
Figure FDA0003633422970000021
i为大于0且小于或等于MW的整数;
根据所述当前画面组GOPn的备选码率
Figure FDA0003633422970000022
确定所述当前画面组GOPn在第i个备选码率序列下的视频质量部分;
根据上一画面组GOPn-1的码率和所述当前画面组GOPn的备选码率
Figure FDA0003633422970000024
确定所述当前画面组GOPn在第i个备选码率序列下的码率切换部分;
根据所述端到端传输速率、所述当前缓冲区容量和所述当前播放速度确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;
根据当前累积时延和所述当前缓冲区容量确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延;
根据所述当前画面组GOPn在该备选码率序列下的视频质量部分、码率切换部分、预测卡顿时长、预测跳帧时长以及预测端到端时延的加权计算结果确定所述当前画面组GOPn在第i个备选码率序列下的QoE分量。
4.如权利要求3所述的方法,其特征在于,根据所述端到端传输速率、所述当前缓冲区容量和所述当前播放速度确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长包括:
计算所述当前画面组GOPn在所述备选码率
Figure FDA0003633422970000023
下编码的数据量和所述端到端传输速率的比值,获得所述当前画面组GOPn的预测下载时长;
根据所述当前播放速度、所述当前缓冲区容量以及所述当前画面组GOPn的预测下载时长确定所述当前画面组GOPn在第i个备选码率序列下的预测卡顿时长。
5.如权利要求4所述的方法,其特征在于,根据当前累积时延和所述当前缓冲区容量确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长和预测端到端时延包括:
根据直播视频生成的起始时刻、画面组时长和序列号n确定所述当前画面组GOPn的预测下载时刻;
确定当前画面组GOPn的生成时刻;
计算所述当前画面组GOPn的预测下载时刻和所述当前画面组GOPn的生成时刻的差值,获得所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延;
确定下一画面组GOPn+1的预测生成时刻;
根据所述当前画面组GOPn的预测下载时刻、所述下一画面组GOPn+1的预测生成时刻以及所述当前画面组GOPn的预测下载时长确定当前画面组GOPn的下载后等待时长;
根据所述当前累积时延、所述当前画面组GOPn的预测下载时长、所述当前画面组GOPn的下载后等待时长以及画面组时长确定下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;
根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn的预测下载时长、画面组时长以及所述当前画面组GOPn的下载后等待时长确定所述下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量;
计算所述下一画面组GOPn+1的预测累积时延和预测缓冲区容量的和值,获得下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延;
根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
6.如权利要求5所述的方法,其特征在于,根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长包括:
若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延小于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长为0;
若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值,则根据所述当前画面组GOPn在所述备选码率
Figure FDA0003633422970000041
下编码的数据量、所述端到端传输速率、画面组时长、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值以及所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长。
7.如权利要求6所述的方法,其特征在于,若所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延大于或等于所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值时,根据所述下一画面组GOPn+1在第i个备选码率序列下的预测端到端时延和所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值确定所述当前画面组GOPn在第i个备选码率序列下的预测跳帧时长还包括:
根据所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延以及所述当前缓冲区容量,获得更新后的当前画面组GOPn在第i个备选码率序列下的预测卡顿时长;
根据所述当前累积时延、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测累积时延;
根据所述当前缓冲区容量、所述当前播放速度、所述当前画面组GOPn在第i个备选码率序列下的端到端时延阈值、所述当前画面组GOPn在第i个备选码率序列下的预测端到端时延,获得更新后的下一画面组GOPn+1在第i个备选码率序列下的预测缓冲区容量。
8.一种直播视频的码率自适应装置,其特征在于,所述装置部署在移动边缘计算节点中,所述装置包括:
数据获取模块,配置为在接收到当前画面组GOPn可用的提示信息时,获取目标用户的端到端传输速率、当前缓冲区容量、当前播放速度,n为大于0的整数;
时间窗创建模块,配置为将从当前画面组GOPn至画面组GOPn+W-1的W个画面组确定为当前时间窗序列,W为大于0的整数;
备选码率组合模块,配置为根据M个预设码率等级确定所述当前时间窗序列的MW种备选码率序列,M为大于0的整数;
目标码率确定模块,配置为根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度计算每一备选码率序列的QoE,以将最大QoE对应的备选码率序列确定为所述当前画面组GOPn的目标码率序列;
目标码率确定模块,配置为在所述目标码率序列中确定所述当前画面组GOPn的目标码率,以根据所述目标码率下载所述当前画面组GOPn
其中,所述目标码率确定模块还配置为在每一备选码率序列下,根据所述目标用户的端到端传输速率、当前缓冲区容量、当前播放速度确定所述当前画面组GOPn在该备选码率序列下的QoE分量;根据所述当前画面组GOPn在该备选码率序列下的QoE分量确定画面组GOPn+1在该备选码率序列下的QoE分量,依此类推,直至获得所述当前画面组GOPn至画面组GOPn+W-1中每个画面组在该备选码率序列下的QoE分量;根据所述当前画面组GOPn至画面组GOPn+W-1在该备选码率序列下的W个QoE分量的和值确定所述每一备选码率序列的QoE。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
存储装置,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN202110686512.8A 2021-06-21 2021-06-21 直播视频的码率自适应方法、装置、电子设备及可读介质 Active CN113411628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110686512.8A CN113411628B (zh) 2021-06-21 2021-06-21 直播视频的码率自适应方法、装置、电子设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110686512.8A CN113411628B (zh) 2021-06-21 2021-06-21 直播视频的码率自适应方法、装置、电子设备及可读介质

Publications (2)

Publication Number Publication Date
CN113411628A CN113411628A (zh) 2021-09-17
CN113411628B true CN113411628B (zh) 2022-06-24

Family

ID=77682014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110686512.8A Active CN113411628B (zh) 2021-06-21 2021-06-21 直播视频的码率自适应方法、装置、电子设备及可读介质

Country Status (1)

Country Link
CN (1) CN113411628B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107690073A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN112437321A (zh) * 2020-11-11 2021-03-02 天津大学 一种基于直播流媒体的自适应码率计算方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089346B2 (en) * 2018-07-24 2021-08-10 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107690073A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN112437321A (zh) * 2020-11-11 2021-03-02 天津大学 一种基于直播流媒体的自适应码率计算方法

Also Published As

Publication number Publication date
CN113411628A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN110268717B (zh) 使用播放统计信息对多表示编码的比特率优化
Sengupta et al. HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning
EP3022884B1 (en) Quality optimization with buffer and horizon constraints in adaptive streaming
WO2020067592A1 (ko) 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치
JP2022516517A (ja) メディアタイトルのバッファ制約バージョンを生成する際の符号化演算の最適化
WO2022000298A1 (en) Reinforcement learning based rate control
Sun et al. Towards optimal low-latency live video streaming
Mu et al. AMIS: Edge computing based adaptive mobile video streaming
CN112887795A (zh) 视频播放方法、装置、设备和介质
CN114040257B (zh) 一种自适应视频流传输播放方法、装置、设备及存储介质
CN114245209A (zh) 视频分辨率确定、模型训练、视频编码方法及装置
Wu et al. Paas: A preference-aware deep reinforcement learning approach for 360 video streaming
Pleşca et al. Multimedia prefetching with optimal Markovian policies
CN117596376A (zh) 360度视频智能边缘传输方法、系统、穿戴设备及介质
CN113411628B (zh) 直播视频的码率自适应方法、装置、电子设备及可读介质
Kim et al. HTTP adaptive streaming scheme based on reinforcement learning with edge computing assistance
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
CN118075517A (zh) 用于选择流送媒体内容项的格式的方法、系统和介质
EP3902275A1 (en) A method for estimating bandwidth between a video server and a video client
KR20230018453A (ko) 미디어 콘텐츠 아이템의 시청 시간 손실 영역 결정
Naik et al. ARMPC-ARIMA based prediction model for Adaptive Bitrate Scheme in Streaming
WO2023181205A1 (en) Video player, video playback method, and program
CN114900706B (zh) 基于扩展视频编码的直播视频流传输自适应调度方法
Phong et al. Joint preloading and bitrate adaptation for short video streaming
JP7318123B2 (ja) 適応的バッファを使用してビデオコンテンツをストリーミングするための方法、システム、および媒体

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