WO2022041282A1 - 一种视频数据的传输方法、装置 - Google Patents

一种视频数据的传输方法、装置 Download PDF

Info

Publication number
WO2022041282A1
WO2022041282A1 PCT/CN2020/112734 CN2020112734W WO2022041282A1 WO 2022041282 A1 WO2022041282 A1 WO 2022041282A1 CN 2020112734 W CN2020112734 W CN 2020112734W WO 2022041282 A1 WO2022041282 A1 WO 2022041282A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
data packets
video frame
video
network device
Prior art date
Application number
PCT/CN2020/112734
Other languages
English (en)
French (fr)
Inventor
李明
刘奇
宋建涛
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202080103598.0A priority Critical patent/CN116058057A/zh
Priority to PCT/CN2020/112734 priority patent/WO2022041282A1/zh
Priority to EP20950951.2A priority patent/EP4191943A4/en
Publication of WO2022041282A1 publication Critical patent/WO2022041282A1/zh
Priority to US18/175,254 priority patent/US20230224525A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/643Communication protocols
    • H04N21/64322IP

Abstract

一种视频数据的传输方法、装置,用以提供一种高效且低延时的视频数据的传输方法。该方法包括:网络设备从服务器接收多个视频帧对应的多个数据包(S1000);确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段为帧头、帧中或者帧尾(S1001);根据每个视频帧对应的一个或多个数据包的传输阶段,确定对应的优先级(S1002);根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包(S1003)。通过该方法,基于视频帧进行调度,确定传输过程中优先级最高的视频帧,优先发送优先级高的视频帧,保障绝大部分的用户满足传输时延的要求,提升视频数据传输的流畅性,减少卡顿。

Description

一种视频数据的传输方法、装置 技术领域
本申请涉及通信技术领域,特别涉及一种视频数据的传输方法、装置。
背景技术
目前进行视频调度的端到端系统架构如图1所示,手机通过基站和服务器建立传输控制协议(transmission control protocol,TCP)或用户数据报协议(user datagram protocol,UDP)连接,视频数据从服务器下发到手机。其中,基站和服务器之间为有线传输,通过有线承载来传输数据。基站和手机之间为无线传输,通过无线承载来传输数据。
其中,由于无线传输资源相对有限且宝贵,因此多个手机接入到无线网络以后,基站通过调度无线传输资源为各个手机进行共享分配,满足手机的视频速率要求,也即多个手机共享整个无线资源。具体的,现有进行视频调度的方案中,基站从服务器接收到的数据为IP包或以太网包,在调度过程中,基站以接收到的数据包为最小粒度,根据不同的承载优先级,进行公平调度。
但是,上述调度方式会使每个进行调度的业务都产生传输时延,且传输时延不可控。而随着通信技术的不断发展,对传输时延的要求也越来越高,例如5G下的一些新的要求低传输时延的实时视频类新业务,如云游戏、云虚拟现实技术(virtual reality,VR)等云(cloudX)业务。
综上,现有进行视频调度的方式已经无法满足传输时延要求较高的场景。
发明内容
本申请提供一种视频数据的传输方法、装置,用以提供一种高效、低延时的视频传输方法。
第一方面,本申请实施例提供一种视频数据的传输方法,包括:
网络设备从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;网络设备确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段,所述传输阶段包括帧头、帧中或者帧尾;所述网络设备根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级;所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
基于上述方法,本申请实施例基于视频帧进行调度,根据视频帧中一个或多个数据包对应的传输阶段确定优先级,发送优先级最高的视频帧中的一个或多个数据包,从而能保障绝大部分的用户满足传输时延的要求,保障绝大部分的视频播放的流畅性,减少卡顿,提升视频数据传输的高效性以及低延时性。
在一种可能的实现方式中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中或者帧头的一个或多个数据包的优先级,和/或在对应的视频帧中处于帧中的一个或多个数据包的优先级,高于在对应的视频帧中处于帧头的一个或多个数据包的优先级。
基于上述方法,本申请实施例介绍了视频帧中处于不同传输阶段的视频帧中的一个或多个数据包的优先级,例如,处于帧尾的一个或多个数据包的优先级,高于处于帧中或者帧头的一个或多个数据包的优先级;和/或处于帧中的一个或多个数据包的优先级,高于处于帧头的一个或多个数据包的优先级。
在一种可能的实现方式中,若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的调度等待时延,其中,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级;其中,所述调度等待时延包括所述网络设备接收到在对应的时频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长。
基于上述方法,本申请实施例介绍了多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头时,确定多个视频帧各自对应的一个或多个数据包的优先级的方式,即在多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头,进一步根据视频帧中一个或多个数据包对应的调度等待时延,来确定视频帧中一个或多个数据包对应的优先级,例如,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的帧发送时延,其中,帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级;其中,所述帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长。
基于上述方法,本申请实施例介绍了多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾时,确定多个视频帧各自对应的一个或多个数据包的优先级的方式,即在多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾时,进一步根据视频帧中一个或多个数据包对应的帧发送时延,来确定视频帧中一个或多个数据包对应的优先级,例如,帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令。
基于上述方法,当网络设备需要将某个终端设备切换到其他网络设备中时,为了有效保障了正在传输的视频帧的时延性,防止传输中断,造成视频播放卡顿,所述网络设备需要满足一定条件后,才触发向所述终端设备发送切换指令,例如,该条件为,所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,向所述终端设备发送切换指令。
在一种可能的实现方式中,所述网络设备决定将所述终端设备切换至其他网络设备;所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,所述网络设备向所述终端设备发送所述切换命令。
基于上述方法,当终端设备需要进行小区切换时,所述网络设备结合“信令面+用户 面”进行联合决策,即当所述网络设备确定所述终端设备和小区之间的信号质量符合切换条件之后,还需要确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成,若有,则延迟向所述终端设备发送切换指令。即所述网络设备根据所述视频帧的传输阶段,综合得出一个下发切换指令的延迟时间,在不影响小区切换的情况下,有效保障了正在传输的视频帧的时延性,使视频更加流畅。
在一种可能的实现方式中,所述方法还包括:若所述网络设备在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备向所述终端设备发送所述切换指令。
基于上述方法,本申请实施例为了避免无限制的等待完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,影响小区切换的,设置了第三阈值时长,从而在所述网络设备决定将所述终端设备切换至其他网络设备后,若所述网络设备在到达第三阈值时长,依旧未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备直接发送所述切换指令。
第二方面,本申请实施例提供一种视频数据的传输方法,包括:
网络设备从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;网络设备根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级;所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包;其中,每个视频帧对应的一个或者多个数据包在所述视频帧中处于帧头、帧中或者帧尾阶段;若一个或者多个数据包在对应的视频帧中处于帧头,所述视频帧对应的所述一个或者多个数据包的调度等待时延包括所述网络设备接收到所述一个或多个数据包后,至调度所述一个或多个数据包之间的时长;若一个或者多个数据包在对应的视频帧中处于帧中或者帧尾,所述视频帧对应的所述一个或者多个数据包的帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的所述一个或者多个数据包之间的时长。
基于上述方法,本申请实施例基于视频帧进行调度,根据视频帧中一个或多个数据包对应的调度等待时延和/或帧发送时延确定优先级,发送优先级最高的视频帧中的一个或多个数据包,从而能保障绝大部分的用户满足传输时延的要求,保障绝大部分的视频播放的流畅性,减少卡顿,提升视频数据传输的高效性以及低延时性。
在一种可能的实现方式中,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
基于上述方法,本申请实施例介绍了一种如何确定视频帧中一个或多个数据包的优先级的方式,即调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
基于上述方法,本申请实施例介绍了一种如何确定视频帧中一个或多个数据包的优先级的方式,即帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,具有帧发送时延的视频帧对应的一个或多个数据包的优先级,高于具有调度等待时延的视频帧对应的一个或多个数据包的优先级。
基于上述方法,本申请实施例介绍了一种如何确定具有调度等待时延的视频帧中一个或多个数据包的优先级,与具有帧发送时延的视频帧中一个或多个数据包的优先级高低的方式,即具有帧发送时延的视频帧对应的一个或多个数据包的优先级,高于具有调度等待时延的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,若多个视频帧各自对应的一个或多个数据包的帧发送时延相同,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,其中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
基于上述方法,本申请实施例介绍了多个视频帧各自对应的一个或多个数据包的帧发送时延相同时,确定多个视频帧各自对应的一个或多个数据包的优先级的方式,例如,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,其中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
在一种可能的实现方式中,调度等待时延到达第一阈值时长的视频帧对应的一个或多个数据包的优先级,高于帧发送时延未到达第二阈值时长的视频帧对应的一个或多个数据包的优先级;其中,所述第一阈值时长是指所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包的最大时长;所述第二阈值时长是指所述网络设备发送视频帧中处于帧头的一个或多个数据包后,至调度所述视频帧中处于帧中或帧尾的一个或多个数据包的最大时长。
基于上述方法,本申请实施例介绍了一种如何确定具有调度等待时延的视频帧中一个或多个数据包的优先级,与具有帧发送时延的视频帧中一个或多个数据包的优先级高低的方式,即调度等待时延到达第一阈值时长的视频帧对应的一个或多个数据包的优先级,高于帧发送时延未到达第二阈值时长的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令。
基于上述方法,当网络设备需要将某个终端设备切换到其他网络设备中时,为了有效保障了正在传输的视频帧的时延性,防止传输中断,造成视频播放卡顿,所述网络设备需要满足一定条件后,才触发向所述终端设备发送切换指令,例如,该条件为,所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,向所述终端设备发送切换指令。
在一种可能的实现方式中,所述网络设备决定将所述终端设备切换至其他网络设备;所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,所述网络设备向所述终端设备发送所述切换命令。
基于上述方法,当终端设备需要进行小区切换时,所述网络设备结合“信令面+用户面”进行联合决策,即当所述网络设备确定所述终端设备和小区之间的信号质量符合切换条件之后,还需要确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成,若有,则延迟向所述终端设备发送切换指令。即所述网络设备根据所述视频 帧的传输阶段,综合得出一个下发切换指令的延迟时间,在不影响小区切换的情况下,有效保障了正在传输的视频帧的时延性,使视频更加流畅。
在一种可能的实现方式中,所述方法还包括:若所述网络设备在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备向所述终端设备发送所述切换指令。
基于上述方法,本申请实施例为了避免无限制的等待完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,影响小区切换的,设置了第三阈值时长,从而在所述网络设备决定将所述终端设备切换至其他网络设备后,若所述网络设备在到达第三阈值时长,依旧未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备直接发送所述切换指令。
第三方面,本申请实施例提供一种视频数据的传输方法,包括:
所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令。
基于上述方法,当网络设备需要将某个终端设备切换到其他网络设备中时,为了有效保障了正在传输的视频帧的时延性,防止传输中断,造成视频播放卡顿,所述网络设备需要满足一定条件后,才触发向所述终端设备发送切换指令,例如,该条件为,所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,向所述终端设备发送切换指令。
在一种可能的实现方式中,所述网络设备决定将所述终端设备切换至其他网络设备;所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,所述网络设备向所述终端设备发送所述切换命令。
基于上述方法,当终端设备需要进行小区切换时,所述网络设备结合“信令面+用户面”进行联合决策,即当所述网络设备确定所述终端设备和小区之间的信号质量符合切换条件之后,还需要确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成,若有,则延迟向所述终端设备发送切换指令。即所述网络设备根据所述视频帧的传输阶段,综合得出一个下发切换指令的延迟时间,在不影响小区切换的情况下,有效保障了正在传输的视频帧的时延性,使视频更加流畅。
在一种可能的实现方式中,若所述网络设备在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备向所述终端设备发送所述切换指令。
基于上述方法,本申请实施例为了避免无限制的等待完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,影响小区切换的,设置了第三阈值时长,从而在所述网络设备决定将所述终端设备切换至其他网络设备后,若所述网络设备在到达第三阈值时长,依旧未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备直接发送所述切换指令。
第四方面,本申请实施例还提供一种视频数据的传输装置,该装置可以用来执行上述第一方面及第一方面的任意可能的实现方式中的操作。
例如,所述装置可以包括用于执行上述第一方面或第一方面的任意可能的实现方式中的各个操作的模块或单元,比如包括收发模块和处理模块,其中,所述收发模块和所述处理模块具体执行下述内容:
收发模块,用于接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
处理模块,用于确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段,所述传输阶段包括帧头、帧中或者帧尾;根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级;
所述收发模块,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
在一种可能的实现方式中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中或者帧头的一个或多个数据包的优先级,和/或在对应的视频帧中处于帧中的一个或多个数据包的优先级,高于在对应的视频帧中处于帧头的一个或多个数据包的优先级。
在一种可能的实现方式中,所述处理模块具体用于:
若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头,分别确定所述多个视频帧各自对应的一个或多个数据包的调度等待时延,其中,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级;其中,所述调度等待时延包括所述网络设备接收到在对应的时频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长。
在一种可能的实现方式中,所述处理模块具体用于:
若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾,分别确定所述多个视频帧各自对应的一个或多个数据包的帧发送时延,其中,帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级;其中,所述帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长。
在一种可能的实现方式中,所述处理模完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,向所述终端设备发送切换指令。
在一种可能的实现方式中,所述处理模块具体用于:
决定将所述终端设备切换至其他网络设备;确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,向所述终端设备发送所述切换命令。
在一种可能的实现方式中,所述处理模块还用于:
若在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则向所述终端设备发送所述切换指令。
第五方面,本申请实施例还提供一种视频数据的传输装置,该装置可以用来执行上述第二方面及第二方面的任意可能的实现方式中的操作。
例如,所述装置可以包括用于执行上述第二方面或第二方面的任意可能的实现方式中的各个操作的模块或单元,比如包括收发模块和处理模块,其中,所述收发模块和所述处 理模块具体执行下述内容:
收发模块,用于从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
处理模块,用于根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级;根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包;
所述收发模块,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包;
其中,每个视频帧对应的一个或者多个数据包在所述视频帧中处于帧头、帧中或者帧尾阶段;若一个或者多个数据包在对应的视频帧中处于帧头,所述视频帧对应的所述一个或者多个数据包的调度等待时延包括所述网络设备接收到所述一个或多个数据包后,至调度所述一个或多个数据包之间的时长;若一个或者多个数据包在对应的视频帧中处于帧中或者帧尾,所述视频帧对应的所述一个或者多个数据包的帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的所述一个或者多个数据包之间的时长。
在一种可能的实现方式中,所述处理模块还用于:
调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,所述处理模块还用于:
帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,具有帧发送时延的视频帧对应的一个或多个数据包的优先级,高于具有调度等待时延的视频帧对应的一个或多个数据包的优先级。
在一种可能的实现方式中,所述处理模块具体用于:
若多个视频帧各自对应的一个或多个数据包的帧发送时延相同,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,其中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
在一种可能的实现方式中,所述处理模块具体用于:
调度等待时延到达第一阈值时长的视频帧对应的一个或多个数据包的优先级,高于帧发送时延未到达第二阈值时长的视频帧对应的一个或多个数据包的优先级;其中,所述第一阈值时长是指所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包的最大时长;所述第二阈值时长是指所述网络设备发送视频帧中处于帧头的一个或多个数据包后,至调度所述视频帧中处于帧中或帧尾的一个或多个数据包的最大时长。
在一种可能的实现方式中,所述处理模块还用于:
完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,向所述终端设备发送切换指令。
在一种可能的实现方式中,所述处理模块具体用于:
决定将所述终端设备切换至其他网络设备;确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,向所述终端设备发送所述切换命令。
在一种可能的实现方式中,所述处理模块还用于:
若在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则向所述终端设备发送所述切换指令。
第六方面,本申请实施例还提供一种视频传输的装置,该装置可以用来执行上述第三方面及第三方面的任意可能的实现方式中的操作。
例如,所述装置可以包括用于执行上述第三方面或第三方面的任意可能的实现方式中的各个操作的模块或单元,比如包括收发模块和处理模块,其中,所述收发模块和所述处理模块具体执行下述内容:
所述处理模块,用于确定完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输;
所述收发模块,用于向所述终端设备发送切换指令。
在一种可能的实现方式中,所述处理模块具体用于:
决定将所述终端设备切换至其他网络设备;确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,向所述终端设备发送所述切换命令。
在一种可能的实现方式中,所述处理模块还用于:
若在到达第三阈值时长后,未完成对应的视频帧中处于帧尾的一个或者多个数据包的传输,则向所述终端设备发送所述切换指令。
第七方面,本申请实施例提供了一种芯片系统,包括处理器,可选的还包括存储器;其中,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片系统的视频传输装置执行上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的任一方法。
第八方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被视频传输装置的收发模块、处理模块或收发器、处理器运行时,使得所述视频传输装置执行上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的任一方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有程序,程序使得视频传输装置执行上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的任一方法。
附图说明
图1为现有视频数据传输的端到端系统架构示意图;
图2为现有VR等业务场景示意图;
图3为现有第一种视频数据传输示意图;
图4为现有第二种视频数据传输示意图;
图5为现有第三种视频数据传输示意图;
图6为本申请实施例提供的一种视频数据传输的系统架构示意图;
图7为本申请实施例提供的一种视频帧示意图;
图8为本申请实施例提供的一种调度等待时延以及帧发送时延示意图;
图9为本申请实施例提供的第一种视频数据传输的场景示意图;
图10为本申请实施例提供的第一种视频数据的传输方法的流程示意图;
图11为本申请实施例提供的第二种视频数据传输的场景示意图;
图12为本申请实施例提供的第三种视频数据传输的场景示意图;
图13为本申请实施例提供的第四种视频数据传输的场景示意图;
图14为本申请实施例提供的第二种视频数据传输方法的流程示意图;
图15为本申请实施例提供的第五种视频数据传输的场景示意图;
图16为本申请实施例提供的第六种视频数据传输的场景示意图;
图17为切换过程时存在正在传输阶段的视频帧示意图;
图18为现有进行小区切换造成视频帧传输中断示意图;
图19为本申请实施例提供的第三种视频数据的传输方法流程示意图;
图20为本申请实施例提供的一种网络设备触发切换的场景示意图;
图21为本申请提供的第一种视频数据的传输装置示意图;
图22为本申请提供的第二种视频数据的传输装置示意图;
图23为本申请实施例提供的一种网络设备构造示意图;
图24为本申请实施例提供的另一种网络设备构造示意图。
具体实施方式
目前进行视频数据传输的端到端系统架构如图1所示,手机通过基站和服务器建立TCP或UDP连接,视频数据从服务器下发到手机。其中,基站和服务器之间为有线传输,通过有线承载(承载指一个虚拟的数据通道)来传输数据。基站和手机之间为无线传输,通过无线承载来传输数据。
由于无线传输资源相对有限且宝贵,因此多个手机接入到无线网络以后,基站通过调度无线传输资源为各个手机进行共享分配,满足手机的视频速率要求,也即多个手机共享整个无线资源。
示例行的,假设在VR业务场景下进行视频数据的传输时,如图2所示,VR终端产生一个动作信号,并通过网络设备上传到VR服务器。VR服务器根据动作信号产生一幅视频画面,并将这幅画面实时发出,通过网络设备发送给VR终端进行显示。
例如,一幅画面有60个网际互连协议(internet protocol,IP)包,即可以理解为,一个视频帧由60个数据包构成,并且,在传输过程中,对应的终端设备只有在接收到这个视频帧对应的所有数据包后,才能解码出一幅完整的画面。
目前,现有进行视频数据的传输方式主要有下列几种:
方式1:网络设备从服务器接收到的数据为IP包或以太网包,并以此为最小粒度进行调度。其中,所述网络设备在对接收到的IP包或者以太网包进行调度时,所述网络设备只 感知终端设备的承载优先级,并根据所述终端设备的承载优先级进行传输。
其中,当与网络设备进行通信的终端设备的优先级不同时,所述网络设备根据通信的终端设备的优先级,进行传输,即优先级高的终端设备优先传输,优先级低的终端设备延后传输。
当与网络设备进行通信的终端设备中有至少两个终端设备的优先级相同时,所述网络设备对于优先级相同的终端设备执行公平传输。
示例性的,如图3所示,当多个终端设备同时在做云业务时,多个终端设备的视频帧数据可能发生碰撞,也即多个终端设备的视频帧同时到达基站,此时,所述网络设备按照现有方式1的“公平”调度原则,则会出现如下情况:
假设与网络设备通信的终端设备有三个,分别为终端设备1,终端设备2以及终端设备3,其中,终端设备1的承载优先级为优先级1,终端设备2的承载优先级也为优先级1,终端设备3的承载优先级为优先级2。
因此,所述网络设备在进行传输时,因为终端设备1与终端设备2的优先级最高,需要优先传输终端设备1与终端设备2的数据包,当完成终端设备1与终端设备2的数据包传输后,在进行终端设备3的数据包传输。
其中,因为终端设备1与终端设备2的优先级相同,因此,所述网络设备在传输终端设备1与终端设备2的视频帧时,所述网络设备采用公平调度原则。例如,假设所述终端设备1的一个视频帧中包含4个数据包,分别为数据包A1~A4。所述终端设备2的一个视频帧中也包含4个数据包,分别为数据包B1~B4。
所述网络设备在进行视频数据传输时,因所述终端设备1与终端设备2的优先级相同,因此,随机选择终端设备1或者终端设备2对应的视频帧中的一个或多个数据包进行传输。
假设,所述网络设备最开始选择终端设备1对应的视频帧中的数据包A1进行传输,并在完成所述数据包A1的传输后,因采用公平调度原则,第二次传输时,则选择所述终端设备2对应的视频帧中的数据包B1进行传输。然后,继续传输所述终端设备1的数据包A2,传输所述终端设备2的数据包B2,……,以此类推,直到所述终端设备1与所述终端设备2对应的一个视频帧完成传输。最后,所述网络设备在对所述终端设备3对应的视频帧中的数据包进行传输。
从上述内容并结合图3可以看出,三个终端设备看似都得到了相对公平的调度,但三个终端设备传完一个视频帧的时间都被拉长了。
而终端设备需要收齐一个视频帧所包含的全部IP包才能解码出一幅画面,因此,看似“公平”的调度方式实际上造成了3个终端设备的帧传输时延都变长了。
并且,对于云游戏、云VR等业务场景来说,下行发送的多为实时的视频数据,在这些场景中,一般要求端到端时延<70ms。而所述方式1的调度方式因无法满足低时延要求,经常会造成画面卡顿等现象。
综上,所述网络设备采用所述方式1进行调度,会使每个进行视频数据传输的业务都产生传输时延,且传输时延不可控。
方式2:如图4所示,提供的视频数据的传输方案中,当系统容量受限而又需要短时延传输时,可以通过识别内容数据包,保留重要的数据包,丢弃部分不重要的数据包,在保证业务体验质量下降可接受的情况下,缩短时延,保证业务体验,并可以提升用户数。
然而,所述方式2提供的视频数据的传输方案,需要对业务流做深度报文检测(deep  packet inspection,DPI),这种方式存在一定的安全隐患,能使用的场景会越来越少;另外如果业务层进行了数据包加密,则所述方式2无法使用。
方式3:如图5所示,在进行视频数据的传输过程中,当系统容量受限而又需要短时延传输时,通过端管云协同的方式从数据发送源端(server)降低实际发送的速率(比如分辨率从1080P下降到720P等),以此来减少空口拥塞,提升空口容量。
然而,所述方式3提供的视频数据的传输方案中,由于需要端到端的配合,在实际现网当中存在一定的实施难度,涉及到多个厂家的配合对接等,且周期较长。
综上所述,现有方案进行视频数据的传输方法较为复杂,无法满足传输时延要求较高的场景。
为解决该问题,本申请实施例提供一种视频数据的传输方法和装置,用以简单、低时延进行视频数据的传输。
本申请提供的通信系统例如可以是支持4G接入技术的长期演进(long term evolution,LTE)系统,5G接入技术的新无线(new radio,NR)系统,任何与第三代合作伙伴计划(3rd generation partnership project,3GPP)相关的蜂窝系统,无线保真(wireless-fidelity,WiFi)系统,全球微波互联接入(worldwide interoperability for microwave access,WiMAX)系统,多无线接入技术(radio access technology,RAT)系统,或者其他面向未来的通信技术。本申请中终端是具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如无人机、飞机、气球和卫星上等)。
为便于理解本申请实施例,首先以图6中示出的通信系统为例详细说明本申请实施例适用的通信系统。如图6所示,该通信系统包括终端设备600、网络设备610以及核心网设备620。
终端设备600,是一种向用户提供语音和/或数据连通性的设备,也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。终端可以是移动的,也可以是固定的。
网络侧设备610,例如包括接入网(access network,AN)设备,该接入网设备可以是无线接入网(radio access network,RAN)设备,接入网设备例如基站(例如,接入点),可以是指接入网中在空口通过一个或多个小区与无线终端设备通信的设备。基站可用于将收到的空中帧与网际协议(IP)分组进行相互转换,作为终端设备与接入网的其余部分之间的路由器,其中接入网的其余部分可包括IP网络。网络侧设备还可协调对空口的属性管理。例如,网络侧设备可以包括长期演进(long term evolution,LTE)系统或高级长期演 进(long term evolution-advanced,LTE-A)中的演进型基站(NodeB或eNB或e-NodeB,evolved Node B),或者也可以包括第五代移动通信技术(the 5th generation,5G)新空口(new radio,NR)系统中的下一代节点B(next generation node B,gNB)或者下一代演进型基站(next generation evolved nodeB,ng-eNB)、en-gNB(enhanced next generation node B,gNB):增强的下一代基站;也可以包括云接入网(cloud radio access network,Cloud RAN)系统中的集中式单元(centralized unit,CU)和分布式单元(distributed unit,DU),或者还可以包括中继设备,本申请实施例并不限定。
核心网设备620,例如包括对用户的信令和数据进行处理和转发的设备。在4G系统中,一种核心网设备例如为移动管理实体(mobility management entity,MME)。MME是第三代合作伙伴计划(3rd generation partnership project,3GPP)协议所定义的LTE系统的接入网络的关键控制节点,它负责空闲模式的终端设备的定位和传呼过程等,包括中继。简单地说,MME是负责信令处理部分的核心网设备。或者,在5G系统中,核心网设备例如包括接入管理网元、会话管理网元或用户面网关等核心网设备。用户面网关可以是具有对用户面数据进行移动性管理、路由、转发等功能的服务器,一般位于网络侧,如服务网关(serving gateway,SGW)或分组数据网络网关(packet data network gateway,PGW)或用户面网元功能实体(user plane function,UPF)。
以5G系统(也可以称为New Radio系统)为例,具体来说,本申请实施例中主要在视频数据的传输过程中,将以往按“数据包”为传输单位的方式,转为按“视频帧”为传输单位的方式,并统一考虑“视频帧”级别的传输优先级进行视频数据的传输,最大程度减少视频卡顿现象,能有效满足传输时延要求较高的场景。
以下再对本申请实施例中涉及的部分用语进行解释说明,以便于理解。
1)本申请实施例中的视频帧,是指用于组成视频的每一个静止画面。
也就是说,一个视频是由多个静止画面组成。
其中,用于组成视频的每个静止画面被称为该视频的视频帧。
示例性的,如图7所示,为本申请实施例提供的服务器到终端的视频帧示意图。
由于实时计算上移云端,则从云端渲染之后的画面需要实时发送给终端进行显示。目前,一般一秒钟渲染30~60幅画面,每当服务器渲染完成一幅画面就需要立刻进行发送,故如图7所示,从网络设备侧看到的服务器发给终端设备的数据流量模型呈现突发状态,每一个波峰代表一个视频帧,其中,一个视频帧由至少一个数据包组成,数据包可以为IP包或者以太包。
2)本申请实施例中的传输阶段,是指一个视频帧中一个或多个数据包在该视频帧中处于的传输批次。
本申请实施例中一种可选的方式,所述传输阶段包括3个阶段,分别为帧头、帧中和帧尾。
可以理解为,所述一个视频帧中的数据包至少分为三批发送给对应的终端设备。
其中,本申请实施例中将所述视频帧第一批发送给终端设备的数据包所处的传输阶段称之为帧头,将所述视频帧中间批次发送给终端设备的数据包所处的传输阶段称之为帧中,将所述视频帧最后一批发送给终端设备的数据包所处的传输阶段称之为帧尾。
需要说明的是,一个视频帧的数据包可以是连续的,网络设备可以根据一个视频帧的数据包的连续性判断他们是否属于同一个视频帧。
此外,本申请实施例中还提供了一种确定帧头、帧中和帧尾的方式,具体并不限于下述方式:
确定帧头的方式:
本申请实施例中,所述网络设备在接收到一个终端设备的视频帧中的一个或者多个数据包之前,在一定的时间阈值前,没有接收到这个终端设备的数据包,则所述网络设备可以将接收到的所述一个或者多个数据包的传输阶段确定为帧头。
确定帧中的方式:
本申请实施例中,所述网络设备在接收到一个终端设备的视频帧中的一个或者多个数据包之前,在一定的时间阈值前,接收到过这个终端设备的数据包,并且在一定的时间阈值之后,也接收到了这个终端设备的数据包,则所述网络设备可以将所述一个或者多个数据包以及后续一定时间阈值之后接收到的一个或多个数据包的传输阶段确定为帧中。
确定帧尾的方式:
本申请实施例中,所述网络设备在接收到一个终端设备的视频帧中的一个或者多个数据包之前,并且在一定的时间阈值之后,没有接收到过这个终端设备的数据包,则所述网络设备可以将所述一个或者多个数据包的传输阶段确定为帧尾。
需要说明的是,任何确定帧头、帧中或帧尾的方式都适用于本申请实施例,都属于本申请实施例保护范围。
本申请实施例中第二种可选的方式,所述传输阶段包括2个阶段,分别为帧头和帧尾。
可以理解为,所述一个视频帧中的数据包总共分为两批发送给对应的终端设备。
本申请实施例中第三种可选的方式,所述传输阶段包括1个阶段,即只有帧头。
可以理解为,所述一个视频帧中的所有数据包一次性发送给对应的终端设备。
需要说明的是,当只存在一个传输阶段时,此时的帧头也可以理解为帧尾。
3)本申请实施例中的调度等待时延,是指所述网络设备接收到在对应的时频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长。
示例性的,如图8所示,其中,A点表示所述网络设备接收到一个视频帧中的数据包的最初时间,即所述网络设备接收到该视频帧中传输阶段为帧头的数据包的时间,B点表示所述网络设备向该视频帧对应的终端设备发送所述传输阶段为帧头的数据包的时间,因此,根据A点对应的时间以及B点对应的时间,可以得到该视频帧的调度等待时延为B-A=Xms(毫秒)。
其中,通过上述内容,可以将本申请实施例中所述调度等待时延理解为,所述网络设备在接收到所述视频帧中处于帧头的数据包后,到需要确定所述视频帧中处于帧头的数据包的优先级的时,经过的时长。从而根据这个时长,即调度等待时延确定数据包的发送优先级,进一步按照确定的优先级,优先发送优先级高的视频帧中的数据包。
需要说明的是,因为本申请实施例中所述调度等待时延是指所述网络设备接收到在对应的时频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长,故本申请实施例中只有当所述视频帧中待发送数据包处于帧头时,所述网络设备才需要考虑所述视频帧中待发送数据包的调度等待时延。
可以理解的,当所述视频帧中待发送数据包处于帧头时,所述网络设备只需要考虑该视频帧对应的调度等待时延。
4)本申请实施例中的帧发送时延,是指所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长。
示例性的,如图8所示,B点表示所述网络设备向该视频帧对应的终端设备发送所述传输阶段为帧头的数据包的时间,C点表示所述网络设备向该视频帧对应的终端设备发送该视频帧中处于帧中或帧尾的数据包的时间,因此,根据B点对应的时间以及C点对应的时间,可以得到该视频帧的帧发送时延为C-B=Yms。
其中,通过上述内容,可以将本申请实施例中所述帧发送时延理解为,所述网络设备在发送所述视频帧中处于帧头的数据包后,到需要确定所述视频帧中处于帧中或帧尾的数据包的优先级的时,经过的时长。从而根据这个时长,即帧发送时延确定数据包的发送优先级,进一步按照确定的优先级,优先发送优先级高的视频帧中的数据包。
需要说明的是,因为本申请实施例中所述帧发送时延是指所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长,故本申请实施例中只有当所述视频帧中待发送数据包处于帧中或帧尾时,所述网络设备才需要考虑所述视频帧中待发送数据包的帧发送时延。
可以理解的,当所述视频帧中待发送数据包处于帧中或帧尾时,所述网络设备只需要考虑该视频帧对应的帧发送时延。
5)本申请实施例中的第一阈值时长,是由人为设定的,用于表示所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包的最大时长。
也就是说,本申请实施例中,在进行视频数据传输时,应尽可能保证所述网络设备传输某一视频帧产生的调度等待时延在所述第一阈值时长内。
6)本申请实施例中的第二阈值时长,是由人为设定的,用于表示所述网络设备发送视频帧中处于帧头的一个或多个数据包后,至调度所述视频帧中处于帧中或帧尾的一个或多个数据包的最大时长。
也就是说,本申请实施例中,在进行视频数据传输时,应尽可能保证所述网络设备传输某一视频帧产生帧发送时延在所述第二阈值时长内。
7)本申请实施例中的传输批次,是指所述网络设备调度某一视频帧中的数据包的次数,其中,本申请实施例中的传输批次包括第一批、中间批以及最后一批。
例如,假设视频帧A一共包含60个数据包,所述网络设备第一次传输所述视频帧A的前30个数据包(即数据包1-30),第二次传输了所述视频帧A的剩余所有数据包(即数据包31-60)。因此,所述网络设备一共分了两个传输批次完成所述视频帧A中的数据包的调度,即第一批以及最后一批。
例如,假设视频帧A一共包含60个数据包,所述网络设备仅一次就传输完成了所述视频帧A的所有数据包(即数据包1-60)。因此,所述网络设备一共通过一个传输批次完成所述视频帧A中的数据包的调度,即第一批。
例如,假设视频帧A一共包含60个数据包,所述网络设备第一次传输所述视频帧A的前10个数据包(即数据包1-10),所述网络设备第二次传输了所述视频帧A的10个数据包(即数据包11-20),所述网络设备第三次传输了所述视频帧A的10个数据包(即数据包21-30),第四次传输了所述视频帧A的剩余所有数据包(即数据包31-60)。因此,所 述网络设备一共分了四个传输批次完成所述视频帧A中的数据包的传输,即第一批、中间批(即第二次至第三次传输,统称为中间批)以及最后一批(即第四次传输)。
其中,本申请实施例中的术语“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中,A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。以下至少一项(个)下或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
下面具体对本申请实施例提供的视频数据的传输方法进行介绍,其中,本申请实施例适用于所述网络设备在同一时间内接收到服务器发送的多个终端设备对应的视频的数据包,且多个终端设备之间存在设备优先级相同的两个终端设备的场景。
示例性的,本申请实施例的应用场景如图9所示,所述网络设备为终端设备1、终端设备2以及终端设备3进行视频数据的传输服务。其中,所述网络设备在同一时间内,可能接收到来自服务器发送的所述终端设备1的视频帧(例如,视频帧A1)、终端设备2的视频帧(例如,视频帧B2)以及终端设备3的视频帧(例如,视频帧C1)。
如图10所示,本申请实施例提供的视频数据的传输方法,包括下列步骤:
步骤1000,网络设备从服务器接收多个视频帧对应的多个数据包。
其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包。
需要说明的是,若所述网络设备只接收到服务器发送的一个视频帧的多个数据包,则所述网络设备直接对所述视频帧的数据包进行调度。
步骤1001,网络设备确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段。
其中,本申请实施例中,所述传输阶段包括帧头、帧中或者帧尾,即所述传输阶段包括的内容根据实际情况进行确定,可以包括帧头、帧中和帧尾;或者,可以包括帧头和帧尾;再或者,可以仅包含帧头(此时,也可以理解为仅包括帧尾)。
为了简洁描述,本申请实施例中所述视频帧对应的一个或多个数据包可以理解为待发送数据包,在描述过程中可以交替使用。
示例性的,如上述图9所示,所述网络设备确定接收到的视频帧A1为所述终端设备1的视频帧,且当前所述视频帧A1中待发送的数据包处于所述视频帧A1的帧中;所述网络设备确定接收到的视频帧B2为所述终端设备2的视频帧,且当前所述视频帧B2中待发送的数据包处于所述视频帧B2的帧头;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且当前所述视频帧C1中待发送的数据包处于所述视频帧C1的帧尾。
步骤1002,所述网络设备根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级。
进一步的,本申请实施例在确定每个视频帧对应的一个或多个数据包的优先级时,可以根据下列方式进行确定:
确定方式1:所述网络设备确定对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中或者帧头的一个或多个数据包的优先级。
也就是说,可以理解为帧尾的优先级最高。
若存在视频帧对应的一个或多个数据包处于帧尾,则所述网络设备确定该视频帧对应的一个或多个数据包的优先级最高。
示例性的,如上述图9所示,所述网络设备接收到的视频帧中,所述视频帧C1中待发送数据包处于帧尾阶,因此,所述视频帧C1的优先级最高。
可以理解的,所述视频帧C1仅剩最后一批数据包等待传输,终端设备接收到所述视频帧C1的最后一批数据包后,就能获取到所述视频帧C1的完整数据包,从而解析所述视频帧C1,得到所述视频帧C1的画面。
从而为了保证所述终端设备能够快速接收到完整的视频帧C1,所述网络设备优先向所述终端设备发送所述视频帧C1对应的一个或多个数据包,使所述视频帧C1能够快速完成整帧的传输,所述视频帧C1对应的终端设备(即终端设备3)能够尽早的接收到完整的视频帧,进行视频播放。
因此,所述网络设备在确定所述视频帧C1中的待发送数据包处于帧尾时,将所述视频帧C1的传输优先级提到最高,即优先发送所述视频帧C1对应的一个或多个数据包。
确定条件2:所述网络设备确定对应的视频帧中处于帧中的一个或多个数据包的优先级,高于在对应的视频帧中处于帧头的一个或多个数据包的优先级。
也就是说,若所述网络设备接收到的视频帧中存在对应的一个或多个数据包处于帧中的视频帧,以及存在对应的一个或多个数据包处于帧头的视频帧时,优先发送处于帧中的视频帧对应的一个或多个数据包。
示例性的,如图11所示,所述网络设备接收到的视频帧中,视频帧A1为所述终端设备1的视频帧,且所述视频帧A1中待发送数据包处于帧头;所述网络设备确定接收到的视频帧B2为所述终端设备2的视频帧,且为所述视频帧B2中待发送数据包处于帧头;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且所述视频帧C1中待发送数据包处于帧中。
因此,根据所述确定条件2可知,所述视频帧C1的优先级最高。
因为,所述视频帧C1相对于视频帧A1以及视频帧B2而言,已经有一部分数据包发送给所述视频帧C1对应的终端设备了,而该终端设备在接收到所述视频帧C1的部分数据包后,希望能够尽快获取到所述视频帧C1的完整数据包,从而解析所述视频帧C1,得到所述视频帧C1的画面。
因此,为了保证该终端设备能够快速接收到完整的视频帧C1,在所述图11的场景下,所述网络设备优先向该终端设备发送处于帧中的视频帧C1对应的一个或多个数据包,使所述视频帧C1能够快速完成整帧的传输,所述视频帧C1对应的终端设备(即终端设备3)能够尽早的接收到完整的视频帧C1,进行视频播放。
此外,通过该方式,网络设备在向所述终端设备发送所述视频帧C1的数据包的过程 中,还有助于所述网络设备继续从服务器接收所述视频帧A1以及所述视频帧B2的数据包,进一步使所述视频帧A1以及所述视频帧B2等待发送的数据包增加,甚至可能接收到完整的所述视频帧A1以及所述视频帧B2的数据包。
从而在发送所述视频帧A1以及所述视频帧B2时,能够一次性发送更多的数据包,甚至能够一次性发送完整的数据包,使对应的终端设备能够更加快速的获取到完整的视频帧数据包,进行解析以及视频播放。
进一步的,若所述网络设备接收到的多个视频帧各自对应的一个或多个数据包的传输阶段相同(例如,图11中的视频帧A1以及视频帧B2),则所述网络设备还可以根据所述多个视频帧各自对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级。
具体的,本申请实施例在多个视频帧各自对应的一个或多个数据包的传输阶段相同下,结合视频帧对应的调度等待时延和/或帧发送时延确定视频帧的优先级时,可以通过多种条件进行确定,下面分别进行介绍:
确定条件3:调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
也就是说,若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的调度等待时延,其中,优先发送调度等待时延最大的视频帧对应的一个或多个数据包的优先级。
示例性的,如图12所示,所述网络设备接收到的视频帧中,视频帧A1为所述终端设备1的视频帧,且所述视频帧A1中待发送数据包处于帧头,所述视频帧A1中的待发送数据对应的调度等待时延为10ms;所述网络设备确定接收到的视频帧B2为所述终端设备2的视频帧,且为所述视频帧B2中待发送数据包处于帧头,所述视频帧B2中的待发送数据对应的调度等待时延为2ms;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且所述视频帧C1中待发送数据包处于帧头,所述视频帧C1中的待发送数据对应的调度等待时延为1ms。
从中可以看出,所述视频帧A1对应的一个或多个数据包的调度等待时延最大,所述视频帧B2对应的一个或多个数据包的调度等待时延次之,所述视频帧C1对应的一个或多个数据包的调度等待时延最小,因此,所述视频帧A1对应的一个或多个数据包的优先级高于所述视频帧B2对应的一个或多个数据包的优先级,所述视频帧B2对应的一个或多个数据包的优先级高于所述视频帧C1对应的一个或多个数据包的优先级。
即优先发送所述视频帧A1对应的一个或多个数据包。
确定条件4:帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
也就是说,若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的帧发送时延,其中,优先发送帧发送时延最大的视频帧对应的一个或多个数据包的优先级。
示例性的,如图13所示,所述网络设备接收到的视频帧中,视频帧A1为所述终端设备1的视频帧,且所述视频帧A1中待发送数据包处于帧中,所述视频帧A1中的待发送数据对应的帧发送时延为8ms;所述网络设备确定接收到的视频帧B2为所述终端设备2的 视频帧,且为所述视频帧B2中待发送数据包处于帧中,所述视频帧B2中的待发送数据对应的帧发送时延为2ms;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且所述视频帧C1中待发送数据包处于帧中,所述视频帧C1中的待发送数据对应的帧发送时延为5ms。
从中可以看出,所述视频帧A1对应的一个或多个数据包的帧发送时延最大,所述视频帧C1对应的一个或多个数据包的帧发送时延次之,所述视频帧B2对应的一个或多个数据包的帧发送时延最小,因此,所述视频帧A1对应的一个或多个数据包的优先级高于所述视频帧C1对应的一个或多个数据包的优先级,所述视频帧C1对应的一个或多个数据包的优先级高于所述视频帧B2对应的一个或多个数据包的优先级。
即优先发送所述视频帧A1对应的一个或多个数据包。
综上,本申请实施例中在进行视频数据的传输时,在对应的视频帧中处于帧尾的一个或多个数据包的优先级最高,在对应的视频帧中处于帧尾的一个或多个数据包的优先级次之,在对应的视频帧中处于帧尾的一个或多个数据包的优先级最低。
此外,若所述网络设备在确定视频帧对应的一个或多个数据包的优先级时,有多个视频帧各自对应的一个或多个数据包的传输阶段相同,则所述网络设备可以根据所述视频帧对应的调度等待时延或帧发送时延进一步确定传输阶段相同的视频帧对应的一个或多个数据包之间的发送优先级。
步骤1003,所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
此外,本申请实施例还提供了另一种视频数据的传输方法,如图14所示,本申请实施例提供的视频数据的传输方法,包括下列步骤:
步骤1400,网络设备从服务器接收多个视频帧对应的多个数据包。
其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包。
步骤1401,所述网络设备确定每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延。
其中,本申请实施例中,可以通过下列方式确定某个视频帧对应的一个或多个数据包的调度等待时延。
具体的,所述网络设备确定所述视频帧对应的一个或多个数据包所处的传输阶段,若所述视频帧对应的一个或多个数据包的传输阶段为帧头,则所述视频帧对应的一个或多个数据包具有调度等待时延。然后,所述网络设备将接收到所述视频帧中处于帧头的数据包后,到需要确定所述视频帧中处于帧头的数据包的优先级的时,经过的时长确定为所述视频帧对应的一个或多个数据包的调度等待时延。
也就是说,可以理解为,只有处于帧头的视频帧对应的一个或多个数据包需要确定调度等待时延。
本申请实施例一种可选的方式,所述网络设备可以通过定时器的方式确定每个视频帧对应的调度等待时延和/或帧发送时延。
示例性的,所述网络设备接收到视频帧A1处于帧头的数据包后,开启所述视频帧A1对应的计时器1,并将计时器1的时间确定为所述视频帧A1的调度等待时延;所述网络设备在需要确定所述视频帧A1中处于帧头的数据包的优先级的时,关闭所述视频帧A1对应 的计时器1。此时,所述计时器1所计时的时长为所述视频帧A1对应的一个或多个数据包的调度等待时延。
其中,本申请实施例中,可以通过下列方式确定某个视频帧对应的一个或多个数据包的帧发送时延。
具体的,所述网络设备确定所述视频帧对应的一个或多个数据包所处的传输阶段,若所述视频帧对应的一个或多个数据包的传输阶段为帧中或帧尾,则所述视频帧对应的一个或多个数据包具有帧发送时延。然后,所述网络设备将在发送所述视频帧中处于帧头的数据包后,到需要确定所述视频帧中处于帧中或帧尾的数据包的优先级的时,经过的时长确定为所述视频帧对应的一个或多个数据包的帧发送时延。
也就是说,可以理解为,只有处于帧中或帧尾的视频帧对应的一个或多个数据包需要确定帧发送时延。
示例性的,所述网络设备在发送所述视频帧A1中处于帧头的数据包后,开启所述视频帧A1对应的计时器2,将所述计时器2的时间确定为所述视频帧A1的帧发送等待时延,并在需要确定所述视频帧A1中处于帧中或帧尾的数据包的优先级的时,关闭所述视频帧A1对应的计时器2。此时,所述计时器2所计时的时长为所述视频帧A1对应的一个或多个数据包的帧发送时延。
示例性的,所述网络设备在发送所述视频帧A1中处于帧头的数据包后,重启所述视频帧A1对应的计时器1,此时,将所述计时器1的时间确定为所述视频帧A1的帧发送等待时延,并在需要确定所述视频帧A1中处于帧中或帧尾的数据包的优先级的时,关闭所述视频帧A1对应的计时器1。此时,所述计时器1所计时的时长为所述视频帧A1对应的一个或多个数据包的帧发送时延。
需要说明的是,本申请实施例中所述传输阶段包括的内容根据实际情况进行确定,可以包括帧头、帧中和帧尾;或者,可以包括帧头和帧尾;再或者,可以仅包含帧头(此时,也可以理解为仅包括帧尾)。
为了简洁描述,本申请实施例中所述视频帧对应的一个或多个数据包可以理解为待发送数据包,在描述过程中可以交替使用。
步骤1402,网络设备根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级。
进一步的,本申请实施例在确定每个视频帧对应的一个或多个数据包的优先级时,可以根据下列方式进行确定:
确定条件1:调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级。
其中,根据上述内容可知,只有处于帧头的视频帧对应的一个或多个数据包具有调度等待时延,则所述网络设备在比较均为帧头的多个视频帧对应的一个或多个数据包的优先级时,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的调度等待时延,其中,优先发送调度等待时延最大的视频帧对应的一个或多个数据包的优先级。
示例性的,如上述图12所示,所述视频帧A1中的待发送数据对应的调度等待时延最大,所述视频帧B2对应的一个或多个数据包的调度等待时延次之,所述视频帧C1对应的一个或多个数据包的调度等待时延最小,因此,所述视频帧A1对应的一个或多个数据包 的优先级高于所述视频帧B2对应的一个或多个数据包的优先级,所述视频帧B2对应的一个或多个数据包的优先级高于所述视频帧C1对应的一个或多个数据包的优先级。
即优先发送所述视频帧A1对应的一个或多个数据包。
确定条件2:帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
其中,根据上述内容可知,只有处于帧中或帧尾的视频帧对应的一个或多个数据包具有帧发送时延,则所述网络设备在比较处于帧中和/或帧尾的多个视频帧对应的一个或多个数据包的优先级时,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的帧发送时延,其中,优先发送帧发送时延最大的视频帧对应的一个或多个数据包的优先级。
示例性的,如上述图13所示,可以看出,所述视频帧A1对应的一个或多个数据包的帧发送时延最大,所述视频帧C1对应的一个或多个数据包的帧发送时延次之,所述视频帧B2对应的一个或多个数据包的帧发送时延最小,因此,所述视频帧A1对应的一个或多个数据包的优先级高于所述视频帧C1对应的一个或多个数据包的优先级,所述视频帧C1对应的一个或多个数据包的优先级高于所述视频帧B2对应的一个或多个数据包的优先级。
即优先发送所述视频帧A1对应的一个或多个数据包。
进一步的,若所述网络设备接收到的多个视频帧各自对应的一个或多个数据包的帧发送时延相同,则所述网络设备还可以根据所述多个视频帧各自对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级。
具体的,本申请实施例在多个视频帧各自对应的一个或多个数据包的传输阶段相同下,结合视频帧对应的帧发送时延确定视频帧的优先级时,可以通过下面方式进行确定数据包的优先级。
确定方式3:在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
也就是说,可以理解为帧尾的优先级最高。
若多个视频帧各自对应的一个或多个数据包的帧发送时延相同,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,然后优先发送对应的视频帧中处于帧尾的一个或多个数据包。
示例性的,如图15所示,所述网络设备确定接收到的视频帧A1为所述终端设备1的视频帧,且所述视频帧A1中待发送数据包处于帧中,对应的帧发送时延为6ms;所述网络设备确定接收到的视频帧B2为所述终端设备2的视频帧,且所述视频帧B2中待发送数据包处于帧中,对应的帧发送时延为5ms;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且所述视频帧C1中待发送数据包处于帧尾对应的帧发送时延为6ms。
通过对所述图15的场景分析,可知,所述视频帧A1和所述视频帧C1的帧发送时延都高于所述视频帧B2的帧发送时延,因此,所述视频帧A1和所述视频帧C1的优先级高于所述视频帧B2的优先级。
然而,在比较所述视频帧A1与所述视频帧C1的优先级时,因为所述视频帧A1与所述视频帧C1对应的帧发送时延相同,因此,进一步比较所述视频帧A1与所述视频帧C1的传输阶段。
其中,因为所述视频帧C1中待发送数据包处于帧尾,而所述视频帧A1中待发送数据包处于帧中,基于该场景中所述确定方式3可知,处于帧尾的视频帧对应的一个或多个数据包的优先级高于处于帧中的视频帧对应的一个或多个数据包的优先级。因此,所述网络设备最先发送所述视频帧C1对应的一个或多个数据包。
此外,本申请实施例中针对具有调度等待时延的视频帧对应的一个或多个数据包与具有帧发送时延的视频帧对应的一个或多个数据包的优先级大小,可以通过多种下列方式进一步确定。
确定方式5:具有帧发送时延的视频帧对应的一个或多个数据包的优先级,高于具有调度等待时延的视频帧对应的一个或多个数据包的优先级。
确定方式6:调度等待时延到达第一阈值时长的视频帧对应的一个或多个数据包的优先级,高于帧发送时延未到达第二阈值时长的视频帧对应的一个或多个数据包的优先级。
其中,所述第一阈值时长是指所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包的最大时长;所述第二阈值时长是指所述网络设备发送视频帧中处于帧头的一个或多个数据包后,至调度所述视频帧中处于帧中或帧尾的一个或多个数据包的最大时长。
根据所述确定方式6的内容,可以具体分为三种情况:
(1)情况1:没有到达第一阈值的具有调度等待时延的视频帧对应的一个或多个数据包的优先级,低于具有帧发送时延的视频帧对应的一个或多个数据包的优先级。
(2)情况2:到达第一阈值时长的具有调度等待时延的视频帧对应的一个或多个数据包的优先级,高于没有到达第二阈值时长的具有帧发送时延的视频帧对应的一个或多个数据包的优先级。
(3)情况3:到达第二阈值时长的具有帧发送时延的视频帧对应的一个或多个数据包的优先级最高。
示例性的,假设第一阈值时长为10ms,第二阈值时长为15ms,如图16所示,所述网络设备确定接收到的视频帧A1为所述终端设备1的视频帧,且所述视频帧A1中待发送数据包处于帧中,对应的帧发送时延为6ms;所述网络设备确定接收到的视频帧B2为所述终端设备2的视频帧,且所述视频帧B2中待发送数据包处于帧头,对应的调度等待时延为10ms;所述网络设备确定接收到的视频帧C1为所述终端设备3的视频帧,且所述视频帧C1中待发送数据包处于帧中,对应的帧发送时延为15ms。
通过对所述图16的场景分析,可知,优先级最高的为视频帧C1中的待发送数据包,其次为视频帧A1中的待发送数据包,优先级最低的为视频帧B2中的待发送数据包。
其中,本申请实施例中一种可选的方式,本申请实施例所述的第一阈值时长的取值和所述网络设备的业务相关,所述网络设备可以提前获知,并在参数配置界面上提前配置下去。本申请实施例所述的第一阈值时长的取值和所述网络设备的业务相关,所述网络设备可以提前获知,并在参数配置界面上提前配置下去。
综上,本申请实施例中在该场景中进行视频数据的传输时,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据 包的优先级;帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
此外,若多个视频帧各自对应的一个或多个数据包的帧发送时延相同,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,其中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
步骤1403,所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
进一步的,现有进行视频数据的传输场景下,经常存在网络设备需要将对应的终端设备切换至其他网络设备的情况。
例如,所述终端设备在各个小区之间进行移动时,经常存在无线信号满足一定条件发生小区切换的情况。所述终端设备当前所在的源小区信号差于一个门限,而此时有另一个小区(即目标小区)的信号好于一个门限,则所述网络设备会向所述终端设备发送切换指令,使所述终端设备断开和所述源小区的连接,并和所述目标小区进行信号连接。
然而,在所述终端设备切换过程中,若存在所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输未完成时,例如,如图17所示,当终端设备1在切换过程中,所述网络设备向所述终端设备1发送的视频帧A中存在处于帧尾的一个或者多个数据包的传输未完成。
其中,本申请实施例中所述网络设备确定存在所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输未完成的情况有多种,具体并不限于下述几种。
未完成情况1:网络设备确定没有从服务器接受到所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包。
未完成情况2:网络设备从服务器接收到了所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包,但是还没完成向所述终端设备发送所述视频帧中处于帧尾的一个或者多个数据包。
未完成情况3:网络设备完成向所述终端设备发送所述视频帧中处于帧尾的一个或者多个数据包,但还没有接收到所述终端设备的接收反馈。
示例性的,如图18所示,假设每0.5ms网络设备向终端设备进行一批数据包发送,所述网络设备当前向所述终端设备发送的视频帧可能需要发送五次。若所述网络设备在完成第二批数据包的发送后(即A点),所述终端设备需要进行小区的切换,则可能会造成所述网络设备向所述终端设备发送的视频帧的传输中断。假设,所述终端设备完成小区切换花费了15ms(即切换后处于B点),从而导致上述“帧发送时延”变大15ms,使视频帧传输超时,甚至在所述终端设备切换完成后,无法继续衔接发送,造成视频帧传输终端。
为此,本申请实施例还提供了一种视频数据的传输方法,用于解决终端设备进行小区切换过程中,可能会造成视频帧传输超时的问题,其中,如图19所示,具体步骤包括:
步骤1900,所述网络设备决定将所述终端设备切换至其他网络设备。
步骤1901,所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成,若是,执行步骤1902,若否,执行步骤1903。
步骤1902,所述网络设备向所述终端设备发送切换指令。
其中,所述切换指令用于指示所述终端设备从源小区切换到目标小区。
步骤1903,所述网络设备监控所述视频帧的传输情况。
步骤1904,所述网络设备在确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,向所述终端设备发送所述切换指令。
示例性的,如图20所示,假设,所述网络设备在A点确定所述终端设备需要进行小区切换,且所述网络设备确定此时还存在没有完成所述视频帧中处于帧尾的一个或者多个数据包的传输。因此,所述网络设备推迟向所述终端设备发送所述切换指令的时间。
所述网络设备持续监测所述视频帧的传输情况,假设,所述网络设备在B点确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包完成传输(即所述视频帧中不存在待发送的数据包),则此时,所述网络设备向所述终端设备发送所述切换指令,指示所述终端设备从所述源小区切换到所述目标小区。
其中,从所述图20中可以看出,所述网络设备延迟所述切换指令发送的时长大约为1.5ms。
进一步的,本申请实施例中一种可选的方式,设置第三阈值时长,若所述网络设备在到达所述第三阈值时长后,依旧未完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备向所述终端设备发送所述切换指令。
示例性的,假设所述第三阈值时长为20ms,所述网络设备在确定所述终端设备需要进行小区切换,且所述网络设备确定此时还存在没有完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,所述网络设备推迟向所述终端设备发送所述切换指令的时间。
所述网络设备持续监测所述视频帧的传输情况,若所述网络设备推迟20ms后,依旧没有完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输,则所述网络设备向所述终端设备发送所述切换指令,指示所述终端设备从所述源小区切换到所述目标小区。
需要说明的是,本申请实施例中,所述网络设备确定所述延迟时长的方式有多种,并不限于上述图19所述的方式,任何基于视频帧进行视频传输,考虑终端设备小区切换的延迟时长的方式,都属于本申请保护范围。
通过上述方法,当终端设备需要进行小区切换时,所述网络设备结合“信令面+用户面”进行联合决策,即当所述网络设备确定所述终端设备和小区之间的信号质量符合切换条件之后,还需要考虑当前是否存在向所述终端设备正在传输的视频帧,以及所述视频帧传输阶段,从而,综合得出一个下发切换指令的延迟时间,在不影响小区切换的情况下,有效保障了正在传输的视频帧的时延性,使视频更加流畅。
通过上述对本申请方案的介绍,可以理解的是,上述实现各设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来 使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如图21所示,本发明实施例一种视频数据的传输装置,该视频数据的传输装置包括处理器2100、存储器2101和收发机2102;
处理器2100负责管理总线架构和通常的处理,存储器2101可以存储处理器2100在执行操作时所使用的数据。收发机2102用于在处理器2100的控制下接收和发送数据与存储器2101进行数据通信。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器2100代表的一个或多个处理器和存储器2101代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器2100负责管理总线架构和通常的处理,存储器2101可以存储处理器2100在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器2100中,或者由处理器2100实现。在实现过程中,安全驾驶监测的流程的各步骤可以通过处理2100中的硬件的集成逻辑电路或者软件形式的指令完成。处理器2100可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2101,处理器2100读取存储器2101中的信息,结合其硬件完成信号处理流程的步骤。
本申请一种可选的方式,当所述视频数据的传输装置为网络设备时,所述处理器2100用于读取存储器2101中的程序并以执行如图10所示的S1000-S1003中网络设备执行的方法流程;或执行如图14所示的S1400-S1403中网络设备执行的方法流程;或执行如图19所示的S1900-S21904中网络设备执行的方法流程。
本申请一种可选的方式,当所述视频数据的传输装置为终端设备时,所述处理器2100用于读取存储器2101中的程序并以执行如图10所示的S1000-S1003中终端设备执行的方法流程;或执行如图14所示的S1400-S1403中终端设备执行的方法流程;或执行如图19所示的S1900-S21904中终端设备执行的方法流程。
如图22所示,本发明提供一种视频数据的传输装置,所述装置可以为网络设备,其中,该装置包括收发模块2200和处理模块2201。
其中,本申请实施例提供的视频数据的传输装置中,一种可选的方式下,所述收发模块2200和所述处理模块2201用于执行以下内容:
所述收发模块2200,用于从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
所述处理模块2201,用于确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段,所述传输阶段包括帧头、帧中或者帧尾;根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级;
所述收发模块2200,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所 述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
此外,该装置中的所述收发模块2200还用于执行如图10所示的S1000-S1003中网络设备的收发流程,该装置中的所述处理模块2201还用于执行如图10所示的S1000-S1003中网络设备的处理流程;或该装置中的所述收发模块2200执行如图19所示的S1900-S21904中网络设备的收发方法流程,该装置中的所述处理模块2201执行如图19所示的S1900-S21904中网络设备的处理方法流程。
另一种可选的方式下,所述收发模块2200和所述处理模块2201用于执行以下内容:
所述收发模块2200,用于从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
所述处理模块2201,用于根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级;
所述收发模块2200,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
其中,所述调度等待时延包括所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长;所述帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长。
此外,该装置中的所述收发模块2200还用于执行如图14所示的S1400-S1403中网络设备的收发方法流程,该装置中的所述处理模块2201执行如图14所示的S1400-S1403中网络设备的处理方法流程;或该装置中的所述收发模块2200还用于执行如图19所示的S1900-S21904中网络设备的收发方法流程,该装置中的所述处理模块2201执行如图19所示的S1900-S21904中网络设备的处理方法流程。
上述图22所示的收到模块2200和处理模块2201的功能可以由处理器2100运行存储器2101中的程序执行,或者由处理器2100单独执行。
进一步的,本申请实施例中一种可选的方式,如图23所示,本申请实施例中所述网络设备的内部构造还可以为如下形式:
所述网络设备包括数据接收模块2311、优先级决策模块2312、调度模块2313以及时延计算模块2314等。
其中,所述数据接收模块2311,用于接收来自服务器的各个终端设备的视频帧,并且判断视频帧中的一个或多个数据包的传输阶段,即判断视频帧中的一个或多个数据包是属于帧头、帧中还是帧尾。
所述优先级决策模块2312,用于在现有的调度优先级基础上(如基于无线信道、资源等判断),增加基于待发送数据包所处传输批次的优先级因子,实现“帧级”优先级调度。
所述调度模块2313,用于基于综合决策的优先级进行视频帧的调度。
所述时延计算模块2314,用于基于已经调度的数据计算对应的视频帧的“调度等待时延”和“帧发送时延”,并反馈调整所述视频帧的后续优先级。
本申请实施例中另一种可选的方式,如图24所示,本申请实施例中所述网络设备的内部构造还可以为如下形式:
所述网络设备包括测量报告接收模块2411、帧数据接收模块2412、帧切换时机决策模块2413以及切换命令处理模块2414等。
其中,所述测量报告接收模块2411,用于当终端测量源小区信号质量和目标小区信号质量满足要求时,上报测量报告给基站,指示当前可以进行切换。
所述帧数据接收模块2412,用于接收来自服务器的各个终端设备的视频帧,并且判断所述终端设备的视频帧中对应的一个或多个数据包的传输阶段。
所述帧切换时机决策模块2413,用于在测量满足切换的条件下,判断所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成,决策当前切换命令下发时间,是否延迟以及延迟多少ms。
所述切换命令处理模块2414,用于基于切换时间判断结果,构造切换命令下发终端,指示终端发起切换。
可选的,本申请实施例中,所述网络设备的内部构造可以综合所述图23以及图24所述的内容。
在一些可能的实施方式中,本发明实施例提供的视频数据的传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书中描述的根据本发明各种示例性实施方式的视频数据的传输方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
根据本发明的实施方式的用于视频数据的传输程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在服务器设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被视频数据的传输装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由周期网络动作系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算 设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备。
本申请实施例针对视频数据的传输方法还提供一种计算设备可读存储介质,即断电后内容不丢失。该存储介质中存储软件程序,包括程序代码,当所述程序代码在计算设备上运行时,该软件程序在被一个或多个处理器读取并执行时可实现本申请实施例上面任何一种视频数据的传输方案。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
本申请结合多个流程图详细描述了多个实施例,但应理解,这些流程图及其相应的实施例的相关描述仅为便于理解而示例,不应对本申请构成任何限定。各流程图中的每一个步骤并不一定是必须要执行的,例如有些步骤是可以跳过的。并且,各个步骤的执行顺序也不是固定不变的,也不限于图中所示,各个步骤的执行顺序应以其功能和内在逻辑确定。
本申请描述的多个实施例之间可以任意组合或步骤之间相互交叉执行,各个实施例的执行顺序和各个实施例的步骤之间的执行顺序均不是固定不变的,也不限于图中所示,各个实施例的执行顺序和各个实施例的各个步骤的交叉执行顺序应以其功能和内在逻辑确定。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (17)

  1. 一种视频数据的传输方法,其特征在于,所述方法包括:
    网络设备从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
    所述网络设备确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段,所述传输阶段包括帧头、帧中或者帧尾;
    所述网络设备根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级;
    所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
  2. 根据权利要求1所述的方法,其特征在于,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中或者帧头的一个或多个数据包的优先级,和/或
    在对应的视频帧中处于帧中的一个或多个数据包的优先级,高于在对应的视频帧中处于帧头的一个或多个数据包的优先级。
  3. 根据权利要求1或2所述的方法,其特征在于,所述网络设备根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级,包括:
    若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧头,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的调度等待时延,其中,调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级;
    其中,所述调度等待时延包括所述网络设备接收到在对应的时频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包之间的时长。
  4. 根据权利要求1~3任一项所述的方法,其特征在于,
    若多个视频帧各自对应的一个或多个数据包的传输阶段均为帧中或帧尾,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的帧发送时延,其中,帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级;
    其中,所述帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的一个或者多个数据包之间的时长。
  5. 根据权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令。
  6. 根据权利要求5所述的方法,其特征在于,所述网络设备完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令,包括:
    所述网络设备决定将所述终端设备切换至其他网络设备;
    所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的 传输是否完成;
    当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,所述网络设备向所述终端设备发送所述切换命令。
  7. 一种视频数据的传输方法,其特征在于,所述方法包括:
    网络设备从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
    网络设备根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级;
    所述网络设备根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包;
    其中,每个视频帧对应的一个或者多个数据包在所述视频帧中处于帧头、帧中或者帧尾阶段;
    若一个或者多个数据包在对应的视频帧中处于帧头,所述视频帧对应的所述一个或者多个数据包的调度等待时延包括所述网络设备接收到所述一个或多个数据包后,至调度所述一个或多个数据包之间的时长;
    若一个或者多个数据包在对应的视频帧中处于帧中或者帧尾,所述视频帧对应的所述一个或者多个数据包的帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的所述一个或者多个数据包之间的时长。
  8. 根据权利要求7所述的方法,其特征在于,
    调度等待时延大的视频帧对应的一个或多个数据包的优先级,高于调度等待时延小的视频帧对应的一个或多个数据包的优先级;
    帧发送时延大的视频帧对应的一个或多个数据包的优先级,高于帧发送时延小的视频帧对应的一个或多个数据包的优先级。
  9. 根据权利要求7或8所述的方法,其特征在于,
    若多个视频帧各自对应的一个或多个数据包的帧发送时延相同,所述网络设备分别确定所述多个视频帧各自对应的一个或多个数据包的传输阶段,其中,在对应的视频帧中处于帧尾的一个或多个数据包的优先级,高于在对应的视频帧中处于帧中的一个或多个数据包的优先级。
  10. 根据权利要求8或9所述的方法,其特征在于,
    具有帧发送时延的视频帧对应的一个或多个数据包的优先级,高于具有调度等待时延的视频帧对应的一个或多个数据包的优先级。
  11. 根据权利要求8或9所述的方法,其特征在于,
    调度等待时延到达第一阈值时长的视频帧对应的一个或多个数据包的优先级,高于帧发送时延未到达第二阈值时长的视频帧对应的一个或多个数据包的优先级;
    其中,所述第一阈值时长是指所述网络设备接收到在对应的视频帧中处于帧头的一个或多个数据包后,至调度所述一个或多个数据包的最大时长;所述第二阈值时长是指所述网络设备发送视频帧中处于帧头的一个或多个数据包后,至调度所述视频帧中处于帧中或帧尾的一个或多个数据包的最大时长。
  12. 根据权利要求7~11任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备完成终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令。
  13. 根据权利要求12所述的方法,其特征在于,所述网络设备完成所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输后,所述网络设备向所述终端设备发送切换指令,包括:
    所述网络设备决定将所述终端设备切换至其他网络设备;
    所述网络设备确定所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输是否完成;
    当所述终端设备对应的视频帧中处于帧尾的一个或者多个数据包的传输完成后,所述网络设备向所述终端设备发送所述切换命令。
  14. 一种视频数据的传输装置,其特征在于,包括:
    收发模块,用于从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
    处理模块,用于确定每个视频帧对应的一个或多个数据包在所述视频帧中的传输阶段,所述传输阶段包括帧头、帧中或者帧尾;根据每个视频帧对应的一个或多个数据包的传输阶段,确定每个视频帧对应的一个或多个数据包的优先级;
    所述收发模块,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包。
  15. 一种视频数据的传输装置,其特征在于,包括:
    收发模块,用于从服务器接收多个视频帧对应的多个数据包,其中,所述多个视频帧中的每个视频帧包括一个或者多个数据包;
    处理模块,用于根据每个视频帧对应的一个或多个数据包的调度等待时延和/或帧发送时延,确定每个视频帧对应的一个或多个数据包的优先级;
    所述收发模块,还用于根据每个视频帧对应的一个或多个数据包的优先级,向所述视频帧对应的终端设备发送所述视频帧对应的一个或多个数据包;
    其中,每个视频帧对应的一个或者多个数据包在所述视频帧中处于帧头、帧中或者帧尾阶段;
    若一个或者多个数据包在对应的视频帧中处于帧头,所述视频帧对应的所述一个或者多个数据包的调度等待时延包括所述网络设备接收到所述一个或多个数据包后,至调度所述一个或多个数据包之间的时长;
    若一个或者多个数据包在对应的视频帧中处于帧中或者帧尾,所述视频帧对应的所述一个或者多个数据包的帧发送时延包括所述网络设备发送视频帧中处于帧头的一个或者多个数据包后,至调度所述视频帧中处于帧中或者帧尾的所述一个或者多个数据包之间的时长。
  16. 一种视频数据的传输装置,其特征在于,包括:一个或多个处理器;存储器;收发器;
    所述存储器,用于存储一个或多个程序以及数据信息;其中所述一个或多个程序包括指令;
    所述处理器,用于根据所述存储器中的至少一个或多个程序,执行如权利要求1~6中 任一项所述的方法;或执行如权利要求7~13中任一项所述的方法。
  17. 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在视频传输装置上运行时,使得所述视频数据的传输装置执行如权利要求1~6中任一所述的方法步骤;或执行如权利要求7~13中任一项所述的方法。
PCT/CN2020/112734 2020-08-31 2020-08-31 一种视频数据的传输方法、装置 WO2022041282A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080103598.0A CN116058057A (zh) 2020-08-31 2020-08-31 一种视频数据的传输方法、装置
PCT/CN2020/112734 WO2022041282A1 (zh) 2020-08-31 2020-08-31 一种视频数据的传输方法、装置
EP20950951.2A EP4191943A4 (en) 2020-08-31 2020-08-31 METHOD AND APPARATUS FOR TRANSMITTING VIDEO DATA
US18/175,254 US20230224525A1 (en) 2020-08-31 2023-02-27 Video data transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/112734 WO2022041282A1 (zh) 2020-08-31 2020-08-31 一种视频数据的传输方法、装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/175,254 Continuation US20230224525A1 (en) 2020-08-31 2023-02-27 Video data transmission method and apparatus

Publications (1)

Publication Number Publication Date
WO2022041282A1 true WO2022041282A1 (zh) 2022-03-03

Family

ID=80354433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/112734 WO2022041282A1 (zh) 2020-08-31 2020-08-31 一种视频数据的传输方法、装置

Country Status (4)

Country Link
US (1) US20230224525A1 (zh)
EP (1) EP4191943A4 (zh)
CN (1) CN116058057A (zh)
WO (1) WO2022041282A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116320641A (zh) * 2023-05-19 2023-06-23 河北网新科技集团股份有限公司 一种视频数据传输方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592271A (zh) * 2003-03-19 2005-03-09 三星电子株式会社 媒体存取控制协议组件及用于传送/接收该组件的方法
CN1922833A (zh) * 2004-02-24 2007-02-28 松下电器产业株式会社 使多个不同通信系统能够共存的终端设备
CN101056318A (zh) * 2007-05-22 2007-10-17 上海微电子装备有限公司 一种多链接传输控制方法
CN101184048A (zh) * 2007-12-11 2008-05-21 华为技术有限公司 一种数据帧传输的合路控制方法和设备
CN101227366A (zh) * 2007-12-11 2008-07-23 北京豪沃尔科技发展股份有限公司 总线传输数据防冲突方法
CN101426133A (zh) * 2007-10-29 2009-05-06 佳能株式会社 用于发送运动图像数据的方法和通信设备
WO2018121865A1 (en) * 2016-12-29 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Handling of video segments in a video stream
DE102017112464A1 (de) * 2017-06-07 2018-12-13 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Chiffrierung von Bewegt-Bild-Daten

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201415893A (zh) * 2012-06-29 2014-04-16 Vid Scale Inc 以預測資訊為基礎之訊框優先

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592271A (zh) * 2003-03-19 2005-03-09 三星电子株式会社 媒体存取控制协议组件及用于传送/接收该组件的方法
CN1922833A (zh) * 2004-02-24 2007-02-28 松下电器产业株式会社 使多个不同通信系统能够共存的终端设备
CN101056318A (zh) * 2007-05-22 2007-10-17 上海微电子装备有限公司 一种多链接传输控制方法
CN101426133A (zh) * 2007-10-29 2009-05-06 佳能株式会社 用于发送运动图像数据的方法和通信设备
CN101184048A (zh) * 2007-12-11 2008-05-21 华为技术有限公司 一种数据帧传输的合路控制方法和设备
CN101227366A (zh) * 2007-12-11 2008-07-23 北京豪沃尔科技发展股份有限公司 总线传输数据防冲突方法
WO2018121865A1 (en) * 2016-12-29 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Handling of video segments in a video stream
DE102017112464A1 (de) * 2017-06-07 2018-12-13 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Chiffrierung von Bewegt-Bild-Daten

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4191943A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116320641A (zh) * 2023-05-19 2023-06-23 河北网新科技集团股份有限公司 一种视频数据传输方法及系统
CN116320641B (zh) * 2023-05-19 2023-08-04 河北网新科技集团股份有限公司 一种视频数据传输方法及系统

Also Published As

Publication number Publication date
EP4191943A1 (en) 2023-06-07
EP4191943A4 (en) 2023-06-21
US20230224525A1 (en) 2023-07-13
CN116058057A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US11147048B2 (en) Method for resource scheduling and related devices
US10917834B2 (en) Method for transmitting system information and related devices
WO2021244218A1 (zh) 一种通信方法及装置
WO2019141273A1 (zh) 用于确定性传输的通信方法和相关装置
WO2021036813A1 (zh) 数据传输方法、装置、设备及存储介质
WO2021249039A1 (zh) 通信方法、装置及系统
US20210368331A1 (en) Method for supporting time-sensitive communication and communications device
US20220225439A1 (en) Data Transmission Method and Apparatus
WO2023061255A1 (zh) 一种通信方法
US20230224525A1 (en) Video data transmission method and apparatus
US20230224253A1 (en) Communication method and apparatus
Zehl et al. Hotspot slicer: Slicing virtualized home Wi-Fi networks for air-time guarantee and traffic isolation
US20230050923A1 (en) Media packet transmission method, apparatus, and system
WO2013023549A1 (zh) 负载分担方法、基站、用户设备、负载分担节点和系统
WO2021227798A1 (zh) 一种通信方法及装置
CN112788679A (zh) 信息传输的方法、装置
EP4294074A1 (en) Transmission method and apparatus
WO2023231025A1 (en) Wireless communication method and device for extended reality traffic
WO2024055871A1 (zh) 一种通信系统中传输数据的方法和通信装置
WO2023173292A1 (zh) 无线通信方法及设备
WO2022160227A1 (zh) 资源调度方法和装置
WO2023045714A1 (zh) 一种调度方法及通信装置
WO2023173293A1 (zh) 无线通信方法及设备
EP4300983A1 (en) Media data transmission method and communication apparatus
WO2024067374A1 (zh) 一种通信方法及装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020950951

Country of ref document: EP

Effective date: 20230301

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20950951

Country of ref document: EP

Kind code of ref document: A1