CN115250383A - 一种流媒体数据传输的方法及相关设备 - Google Patents

一种流媒体数据传输的方法及相关设备 Download PDF

Info

Publication number
CN115250383A
CN115250383A CN202110459619.9A CN202110459619A CN115250383A CN 115250383 A CN115250383 A CN 115250383A CN 202110459619 A CN202110459619 A CN 202110459619A CN 115250383 A CN115250383 A CN 115250383A
Authority
CN
China
Prior art keywords
data
frame
layer data
target
base layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110459619.9A
Other languages
English (en)
Inventor
郑博文
林学森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110459619.9A priority Critical patent/CN115250383A/zh
Priority to PCT/CN2022/084891 priority patent/WO2022228037A1/zh
Priority to EP22794509.4A priority patent/EP4319176A4/en
Publication of CN115250383A publication Critical patent/CN115250383A/zh
Pending legal-status Critical Current

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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • 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/762Media network packet handling at the source 
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种流媒体数据传输的方法及相关设备,其特征在于,所述方法包括:确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据。采用本发明实施例可降低流媒体数据传输过程中的时延。

Description

一种流媒体数据传输的方法及相关设备
技术领域
本发明涉及信息处理领域,尤其涉及一种流媒体数据传输的方法及相关设备。
背景技术
随着互联网技术的不断发展,流媒体无线投屏技术的应用也越来越广泛。流媒体是指采用流式传输技术在网络上连续实时播放的媒体格式,例如音频、视频或多媒体文件等。流媒体无线投屏技术是指将流媒体数据从源端发送给目的端进行显示的技术,如Miracast、DLNA。由于在流媒体无线投屏技术中涉及到视频编码、协议处理、WiFi传输、视频解码等过程,所以存在流媒体无线投屏时延,即源端显示界面的时间与同一界面信息到达目的端的时间之间存在一定的时间差。
目前,在将源端的界面信息发送给目的端的过程中,可能出现大量包丢失/丢弃的情况,从而导致目的端的显示出现花屏等问题。为了避免上述情况的发生,在现有技术中源端和目的端之间会采用NACK或者ACK的方式进行重传请求,从而保证目的端能够完整接收到所有的流媒体数据。但在实际应用过程中发现,由于在源端和目的端之间采用NACK或者ACK的回馈方式,所以当目的端出现丢包时,源端会重新发送界面信息给目的端,这样会带来额外的时延,增加了流媒体无线投屏时延。
因此如何降低流媒体数据传输时延,以提升用户体验是亟待解决的问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种流媒体数据传输的方法及相关设备,能够在流媒体无线投屏技术中,降低流媒体数据传输时延,提升用户体验。
第一方面,本发明实施案例提供了一种流媒体数据传输的方法,其特征在于,应用于源端,所述方法包括:确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据;所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。
在本发明实施例中,可以先确定目标画面组中的多个关键帧,然后结合分层编码技术和差分保护技术对多个关键帧的源数据进行处理得到编码后的流媒体数据,使得在流媒体数据传输过程中能够减少丢包现象和重传事件的发生,从而降低流媒体数据传输时延。具体地,对关键帧进行分层编码,将关键帧的源数据处理成基础层数据和扩展层数据,然后分别对基础层数据和扩展层数据进行差分保护。由于基础层数据的数据质量低于扩展层数据的数据质量,且可对基础层数据进行重保护,可对扩展层数据进行轻保护,因此在流媒体数据传输过程中基础层数据相比于扩展层数据更不易丢失和出错,即使在扩展层数据丢失的情况下,目的端接收到正确的基础层数据也能够进行解码播放。综上,不同于现有技术中直接传输关键帧的信息,一旦出现丢包就需要源端重新发送数据的问题,本发明实施例在流媒体数据传输中,通过对多个关键帧的源数据进行质量域分层并对不同层的数据进行差分保护,以确保基础层数据能够达到目的端,即使出现扩展层数据丢失的现象,目的端也能够根据基础层数据进行解码播放,可以减少重传事件的发生和丢包现象,从而降低流媒体数据传输时延,同时也能够为目的端提供不同质量的流媒体数据进行解码播放,有效提升了用户体验。
在一种可能的实现方式中,所述确定目标画面组GOP中的M个关键帧,包括:获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。
现有技术中,仅将目标画面组中的第一帧(如I帧)作为关键帧,然后目标画面组中的其他帧基于该关键帧依次进行前项参考,如果该关键帧出现错误,则会导致整个目标画面组中的帧出现错误。而在本发明实施例中,可先将目标画面组按照时序进行分组,进一步将每组中的第一帧作为关键帧,得到多个关键帧,如果多个关键帧中的一个关键帧出现错误,只会影响目标画面组中的部分帧,降低了流媒体数据出现错误的可能,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述方法还包括:将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2且小于或等于F的整数。
在本发明实施例中,将目标画面组按时序分为多个画面小组后,可将每个画面小组再按时序分成多个帧序列,然后每个帧序列的帧头可以将该画面小组中的关键帧作为参考帧,也可以将已经得到的第一差异帧作为参考帧,因此目标画面组中的不同帧之间具有更加灵活的参考关系,降低了流媒体数据出现错误的可能,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述方法还包括:将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。
在本发明实施例中,每个帧序列中除了第一帧以外的其他帧,都能够以其前一帧作为参考帧,从而可以在一定程度上减少流媒体数据的数据量,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据,包括:分别在每个所述关键帧所对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。
在本发明实施例中,可以根据当前网络条件动态调节添加在基础层数据上或是添加在扩展层数据上的冗余数据包的数量,如果当前网络条件较差,则可适当增加冗余数据包的数量。但对于同一个关键帧的基础层数据和扩展层数据来说,由于在本发明实施例中基础层数据的重要性高于扩展层数据,所以要求在基础层数据上添加的冗余数据包的数量要大于在扩展层数据上添加的冗余数据包的数量,使得基础层数据不易丢失和损坏,从而确保了用户视频画面的流畅度,降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述方法还包括:基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据;向目的端发送所述目标编码数据。
在本发明实施例中,基于经过分层编码和差分保护的关键帧相关数据和目标画面组中出关键帧以外的其他帧的相关数据得到目标编码数据,然后将该目标编码数据发送给目的端,便于目的端进行解码播放,减少了丢包现象和重传事件的发生,从而降低流媒体数据传输时延,同时也能够为目的端提供不同质量的流媒体数据进行解码播放,有效地提升了用户体验。
在一种可能的实现方式中,所述向目的端发送所述目标编码数据,包括:优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。
在本发明实施例中,对不同的流媒体数据进行差异化调度,在发生网络空口拥塞或者系统调度下紧张的情况,要确保优先传输带有基础层标记的信息(如M个进行差分保护后的基础层数据),再发送其他信息,这能够减少了空口的接入时延,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,包括:将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;基于所述低时延传输队列向所述目的端发送所述目标编码数据。
在本发明实施例中,将带有基础层标记的信息(如M个进行差分保护后的基础层数据)作为队列头部,再将其他信息添加到队尾,得到低时延传输队列,基于该低时延传输队列进行数据传输,能够确保优先传输带有基础层标记的信息,再发送其他信息,减少了空口的接入时延,从而降低流媒体数据传输时延,有效地提升用户体验。
第二方面,本发明实施案例提供了一种流媒体数据传输的方法,其特征在于,应用于目的端,所述方法包括:接收源端发送的目标编码数据;所述目标编码数据包括目标画面组中M个关键帧的源数据经过分层编码和差分保护后的数据信息和所述目标画面组中差异帧的数据信息;将所述目标编码数据进行解码,得到所述目标画面组的源数据。
在本发明实施例中,目的端接收源端发送的编码后流媒体信息,然后将该编码后的流媒体信息按照需求进行解码播放,减少丢包现象和重传事件的发生,从而降低流媒体数据传输时延。
第三方面,本发明实施案例提供了一种流媒体数据传输的设备,其特征在于,所述设备包括:第一处理单元,用于确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;第一编码单元,用于分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;第二处理单元,用于将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据;所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。
在一种可能的实现方式中,所述第一处理单元具体用于:获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。
在一种可能的实现方式中,所述设备还包括:第三处理单元,用于将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;第四处理单元,用于分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2且小于或等于F的整数。
在一种可能的实现方式中,所述设备还包括:第五处理单元,用于将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。
在一种可能的实现方式中,所述第二处理单元具体用于:分别在每个所述关键帧所对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。
在一种可能的实现方式中,所述设备还包括:第六处理单元,用于基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据;第一发送单元,用于向目的端发送所述目标编码数据。
在一种可能的实现方式中,所述第一发送单元具体用于:优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。
在一种可能的实现方式中,第一发送单元具体用于:将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;基于所述低时延传输队列向所述目的端发送所述目标编码数据。
第四方面,本发明实施例提供一种流媒体数据传输的设备,其特征在于,所述设备包括:第一接收单元,用于接收源端发送的目标编码数据;所述目标编码数据包括目标画面组中M个关键帧的源数据经过分层编码和差分保护后的数据信息和所述目标画面组中差异帧的数据信息;第一解码单元,用于将所述目标编码数据进行解码,得到所述目标画面组的源数据。
第五方面,本发明实施例提供一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述第一方面中任意一项所述的方法得以实现。
第六方面,本发明实施例提供一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述第二方面中所述的方法得以实现。
第七方面,本发明实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任意一项所述的方法。
第八方面,本发明实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第二方面中所述的方法。
第九方面,本发明实施例提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行上述第一方面中任意一项所述的方法。
第十方面,本发明实施例提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如上述第二方面中所述的方法。
第十一方面,本发明实施例提供一种电子设备,其特征在于,包括处理器、存储器以及通信接口,其中,所述存储器用于存储信息发送程序代码,所述处理器用于调用所述流媒体数据传输设备方法程序代码来执行上述第一方面中任一项所述的方法。
第十二方面,本发明实施例提供一种电子设备,其特征在于,包括处理器、存储器以及通信接口,其中,所述存储器用于存储信息发送程序代码,所述处理器用于调用所述流媒体数据传输设备方法程序代码来执行上述第二方面中任一项所述的方法。
附图说明
图1A为现有技术中的一种投屏协议流程示意图。
图1B为现有技术提供的一种传输流媒体数据的传输方式示意图。
图2A为本发明实施例提供的一种无线通信系统架构示意图。
图2B为根据本发明实施例的视频编解码系统20的示意性框图。
图2C为本发明实施例提供的一种流媒体数据传输系统框架图。
图3A为本申请实施例中的一种媒体数据传输方法的流程示意图。
图3B为本发明实施例提供的一种目标画面组的关键帧示意图。
图3C为本发明实施例提供的一种处理目标画面组的流程示意图。
图3D为本发明实施例提供的一种帧序列示意图。
图3E为本发明实施例提供的一种关键帧源数据处理流程示意图。
图4A为本发明实施例提供的另一种流媒体数据传输方法流程示意图。
图4B为本发明实施例提供的一种低时延传输队列的示意图。
图4C为本发明实施例提供的一种构建低时延传输队列示意图。
图5A为本发明实施例提供的本申请提供了一种流媒体数据传输的设备示意图。
图5B为本发明实施例提供的本申请提供了另一种流媒体数据传输的设备示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
首先,分析并提出本申请所具体要解决的技术问题。现有技术中,关于流媒体数据传输的技术,即将源端的界面信息发送给目的端进行显示的技术,具体流程如下:
参见图1A,图1A为现有技术中的一种投屏协议流程示意图,图中投屏流程为从Source端(如手机)发送给Sink端(如大屏),数据流依次从手机端内的应用侧(Cast+)到协议侧(VTP)到WiFi芯片到大屏端的WiFi芯片到协议侧(VTP)再到应用侧(Cast+),当发生丢包时,由sink端(如大屏)发起NACK请求,由Source端负责重发丢失的报文。需要说明的是,参见图1B,图1B为现有技术提供的一种传输流媒体数据的传输方式示意图,图中WiFi芯片可提供VO队列、VI队列、BE队列、BK队列传输方式,但针对流媒体数据传输过程现有技术中仅能够应用VI队列进行传输。
该方案能够实现从源端将流媒体数据信息发送给目的端,但是存在以下缺点:
缺点1:采用NACK回馈方式会占用空口资源。
缺点2:当目的端发生丢包,产生NACK,让源端进行重新发送,会带来额外的传输时延。
缺点3:目的端需要接收到一个完整的画面组才能够去解码器进行解码,会带来额外时延。
缺点4:底层WiFi传输针对流媒体数据仅有VI队列可以使用,而VI队列没有对媒体数据进行差异化调度。
综上所述,现有的流媒体数据传输方法,在源端设备向目的端设备发送流媒体数据时,会增加额外的时延,导致用户体验差。因此,在本申请提供的流媒体数据传输方法用于解决上述技术问题。
下面结合附图对本申请的实施例进行描述。
基于上述提出的技术问题,为了便于理解本发明实施例,下面先对本发明实施例所基于的系统架构进行描述。请参考见图2A,图2A是本发明实施例提供的一种无线通信系统架构示意图,该无线通信系统10用于在流媒体无线投屏技术中,降低流媒体数据传输时延,以提升用户体验。该系统架构中可以包括源端设备101、目的端设备102和干扰源103。其中,
源端设备101,可以分布在整个无线通信系统中,可以是静止的,也可以是移动的。在本申请的一些实施例中,源端设备101可以是移动设备,如常见的移动设备包括智能手机、平板电脑等设备。在未来通信系统中,源端设备101也可以为本申请中的流媒体数据传输设备,或者被配置为包含有本申请中的流媒体数据传输装置的设备。在本发明实施例中,源端设备101可以理解为具有流媒体功能的设备,如具有视频播放功能的设备等,且源端设备101能够通过网络与其他设备建立连接。例如,当源端设备101为手机1时,手机1具有视频播放功能,当手机1与其他设备通过网络建立连接后,手机1可向该设备进行投屏。
目的端设备102,可以分布在整个无线通信系统中,可以是静止的,也可以是移动的。在本申请的一些实施例中,目的端设备102可以是移动设备,如常见的移动设备包括智慧屏、平板电脑等一些大屏设备。在本发明实施例中,目的端设备102可以理解为具有流媒体功能的设备,如具有视频播放功能的设备等,且目的端设备102能够通过网络与源端设备101建立连接。例如,当源端设备101为手机1,目的端设备102为大屏时,在手机1可以通过网络与大屏建立连接的情况下,手机1可以将在手机1上播放的视频画面投屏到大屏上进行播放。
干扰源103,可以理解为影响源端设备101与目的端设备102进行通信的设备。例如,在无线通信系统中,手机2与手机3进行文件传输会对手机1与大屏之间的通信产生干扰,手机4与无线访问节点进行通信也会对手机1与大屏之间产生干扰,可以理解的是,在该无线通信系统中的其他设备之间的通信都会干扰手机1与大屏之间的通信。需要说明的是,源端设备发送的流媒体信息在受到这些外部干扰后,可能会造成丢包等现象,从而影响源端设备与目的端设备之间的通信。
可以理解的是,图2A中的一种无线通信系统架构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的无线通信系统架构包括但不仅限于以上系统架构。
基于上述提出的技术问题及其系统架构,为了便于理解本发明实施例,下面先对本发明实施例所基于的视频编解码系统进行描述。图2B为根据本发明实施例的视频编解码系统20的示意性框图。如图2B所示,视频编解码系统20包含源装置21及目的地端装置22。源装置21产生经编码视频数据。因此,源装置21可被称作视频编码装置或视频编码设备。目的地装置22可解码由源装置21产生的经编码视频数据。因此,目的地装置22可被称作视频解码装置或视频解码设备。源装置21及目的地装置22可为视频编解码装置或视频编解码设备的实例。源装置21及目的地装置22可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者。
目的地装置22可经由信道23接收来自源装置21的编码后的视频数据。信道23可包括能够将经编码视频数据从源装置21移动到目的地装置22的一个或多个媒体及/或装置。在一个实例中,信道23可包括使源装置21能够实时地将编码后的视频数据直接发射到目的地装置22的一个或多个通信媒体。在此实例中,源装置21可根据通信标准(例如,无线通信协议)来调制编码后的视频数据,且可将调制后的视频数据发射到目的地装置22。所述一个或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一根或多根物理传输线。所述一个或多个通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网)的部分。所述一个或多个通信媒体可包含路由器、交换器、基站,或促进从源装置21到目的地装置22的通信的其它设备。
目的地装置22可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
在图2B的实例中,源装置21包含视频源211、视频编码器212及输出接口213。在一些实例中,输出接口213可包含调制器/解调器(调制解调器)及/或发射器。视频源211可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器212可编码来自视频源211的视频数据。在一些实例中,源装置21经由输出接口213将编码后的视频数据直接发射到目的地装置22。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置22稍后存取以用于解码及/或播放。
在图2B的实例中,目的地装置22包含输入接口221、视频解码器222及显示装置223。在一些实例中,输入接口221包含接收器及/或调制解调器。输入接口221可经由信道23接收编码后的视频数据。显示装置223可与目的地装置22整合或可在目的地装置22外部。一般来说,显示装置223显示解码后的视频数据。显示装置223可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
例如,如图2C所示,图2C为本发明实施例提供的一种流媒体数据传输系统框架图,图中MediaCodec、OMX_IF、OMX_VENC用于进行视频分层编码,在本发明实施例中采用质量域与时间域双重分层技术,通过QP随帧设置来达到分层效果,将基础层和扩展层数据分离;自适应前向纠错AFEC,用于针对分层编码输出的基础层和扩展层进行差分保护,实现基础层重保护,扩展层轻保护;信道新增LLT队列,用于根据信源的输入参数(如I帧/P帧,基础层/扩展层等信息等)进行差异化调度,如调整聚合度,保证基础层的优先级永高于扩展层。
可以理解的是,图2B中的一种视频编解码系统只是本申请实施例中的一种示例性的实施方式,本申请实施例中的视频编解码系统架构包括但不仅限于以上系统架构。
下面对本发明实施例所基于的具体方法架构进行描述。参见图3A,图3A是本申请实施例中的一种媒体数据传输方法的流程示意图,下面将结合附图3A并基于上述图2A和图2B中的源端对本申请实施例中的流媒体数据传输方法进行描述。需要说明的是,为了更详细的描述本申请实施例中的媒体数据传输方法,本申请在各个流程步骤中描述了相应的执行主体分别为源端或目的端,但不代表本申请实施例只能通过所描述的执行主体进行对应的方法流程。
步骤S301:源端确定目标画面组GOP中的M个关键帧。
具体地,所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数。源端可以理解为视频编码装置或视频编码设备,例如,源端可以为智能手机,能够产生经编码视频数据;目标画面组可以理解为一个连续的画面,在本发明实施例中,目标画面组中的第一帧(如目标画面组中的第一个关键帧)可以理解为I帧;I帧可以理解为一个完整的画面;M个关键帧可以理解为目标画面组中的重要参考帧,M个关键帧中的第一个关键帧可以为目标画面组中的I帧,M个关键帧中的第S个关键帧可以以排在第S个关键帧之前的关键帧中的一个关键帧作为参考帧,S为大于2且小于M的整数,例如,如图3B所述,图3B为本发明实施例提供的一种目标画面组的关键帧示意图,图中在一个36帧的目标画面组中,可包括3个关键帧,第一个关键帧可为目标画面组中的I帧,第二个关键帧可将第一关键帧作为参考帧,第三个关键帧可将第一个关键帧作为参考帧,也可以将第二个关键帧作为参考帧。
在一种可能的实现方式中,源端确定目标画面组GOP中的M个关键帧,包括:源端获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。具体地,M个画面小组可以理解为将目标GOP按时序划分成的多个画面小组,M为大于0的整数,如图3C所示,图3C为本发明实施例提供的一种处理目标画面组的流程示意图,图中源端在获取到一个18帧的目标画面组后,可以按时序将这18帧分成2个画面小组,其中每个画面小组可包括9帧,每个画面小组中的第一帧作为关键帧,因此一共有2个关键帧。需要说明的是,在本发明实施例中,可以将目标画面组进行均分,也可以按照实际需求将目标画面组进行分组,因此每个画面小组中的帧数可以相同也可以不同,在此不作限定。在本发明实施例中,可先将目标画面组按照时序进行分组,进一步将每组中的第一帧作为关键帧,得到多个关键帧,如果多个关键帧中的一个关键帧出现错误,只会影响目标画面组中的部分帧,降低了流媒体数据出现错误的可能,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述方法还包括:源端将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2且小于或等于F的整数。具体地,F个帧序列可以理解为将画面小组按时序划后得到的多个帧序列,F为大于1的整数;第k个帧序列的帧头可以理解为F个帧序列中的第k个帧序列中的第一帧;第一差异帧可以理解为每个序列中基于参考帧得到的第一个帧。例如,如图3C所示,图中将目标画面组分为2个画面小组后,可再将每个画面小组在分成3个帧序列,画面小组的第一个帧序列中的第一帧为关键;第二个帧序列中的第一帧将关键帧作为参考帧;第三个帧序列中的第一帧可以将关键帧作为参考帧,也可以将第二个帧序列的第一差异帧作为参考帧,从而得到画面小组中每个帧序列的第一差异帧。又例如,图3D所示,图3D为本发明实施例提供的一种帧序列示意图,图中将一个36帧的GOP按时序分成3个画面小组,然后再将每个画面小组按时序划分为3个帧序列,第一个帧序列的第一帧为关键帧,第二个帧序列的第一帧可以参考关键帧得到第一差异帧,第三个帧序列的第一帧可以参考关键帧得到该序列的第一差异帧,也可以参考第二个帧序列的第一差异帧的第三个序列的第一差异帧。在本发明实施例中,将目标画面组按时序分为多个画面小组后,可将每个画面小组再按时序分成多个帧序列,然后每个帧序列的帧头可以将该画面小组中的关键帧作为参考帧,也可以将已经得到的第一差异帧作为参考帧,因此目标画面组中的不同帧之间具有更加灵活的参考关系,降低了流媒体数据出现错误的可能,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述方法还包括:源端将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。在本发明实施例中,每个帧序列中除了第一帧以外的其他帧,都能够以其前一帧作为参考帧,从而可以在一定程度上减少流媒体数据的数据量,从而降低流媒体数据传输时延,有效地提升用户体验。例如,如图3C所示,图中对于每个帧序列来说,第3帧可以将第2帧作为参考帧,得到第3差异帧;第2帧可以将第1帧作为参考帧,得到第2差异帧。
步骤S302:源端分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据。
具体地,每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数。源数据可以理解为关键帧的原始数据;基础层数据可以理解为将源数据进行处理后得到的质量较低的数据;扩展层数据可以理解为将源数据进行处理后得到的质量较高的数据。如基础层数据为能够还原出标清视频的数据,扩展层数据能够还原出高清视频数据。例如,如图3E所示,图3E为本发明实施例提供的一种关键帧源数据处理流程示意图,图中将关键帧的源数据进行处理后,得到基础层数据和扩展层数据,基于第一个关键帧的源数据得到1个基础层数据和2个扩展层数据,基于第二个关键帧得到1个基础层数据和1个扩展层数据。需要说明的是,基于一个关键帧的源数据,可以得到一个基础层数据和一个或多个扩展层数据,扩展层数据的个数可以根据实际情况进行变化,在此不作限定。
步骤S303:源端将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据。
具体地,所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。差分保护可以理解为分别在基础层数据和扩展层数据各自数据上添加冗余数据包进行保护。
在一种可能的实现方式中,源端将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据,包括:源端分别在每个所述关键帧所对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。具体地,可以根据当前网络条件动态调节添加在基础层数据上或是添加在扩展层数据上的冗余数据包的数量,如果当前网络条件较差,则可适当增加冗余数据包的数量。但对于同一个关键帧的基础层数据和扩展层数据来说,由于在本发明实施例中基础层数据的重要性高于扩展层数据,所以要求在基础层数据上添加的冗余数据包的数量要大于在扩展层数据上添加的冗余数据包的数量,使得基础层数据不易丢失和损坏,从而确保了用户视频画面的流畅度,降低流媒体数据传输时延,有效地提升用户体验。例如,如图3E所示,使用自适应前项纠错技术,对于第一个关键帧来说,在基础层数据上添加3个FEC包,在扩展层数据1上添加2个FEC包,在扩展层数据2上添加1个FEC包;对于第二关键帧来说,在基础层数据上添加3个FEC包,在扩展层数据1上添加1个FEC包。需要说明的是,添加在数据上的冗余数据包的数量是可以根据当前网络情况发生变化的,如果当前网络质量较差可以适当增加冗余数据包的数量,但对于同一个关键帧所对应的基础层数据和扩展层数据来说,要求基础层数据上添加的冗余数据包的数据大于扩展层数据上添加的冗余数据包。
参见图4A,图4A为本发明实施例提供的另一种流媒体数据传输方法流程示意图,下面将结合附图4A,并基于上述图2A和图2B中的源端和目的端的交互侧对本申请实施例中的流媒体数据传输方法进行描述。
步骤S401:源端确定目标画面组GOP中的M个关键帧。
步骤S402:源端分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据.
步骤S403:源端将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据。
需要说明的是,步骤S401-步骤S403的详细说明请参见上述步骤S301-步骤S303。
步骤S404:源端基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据。
具体地,基于经过分层编码和差分保护的关键帧相关数据和目标画面组中出关键帧以外的其他帧的相关数据得到目标编码数据。
步骤S405:源端向目的端发送所述目标编码数据。
具体地,基于经过分层编码和差分保护的关键帧相关数据和目标画面组中出关键帧以外的其他帧的相关数据得到目标编码数据,然后将该目标编码数据发送给目的端,便于目的端进行解码播放,减少了丢包现象和重传事件的发生,从而降低流媒体数据传输时延,同时也能够为目的端提供不同质量的流媒体数据进行解码播放,有效地提升了用户体验。
在一种可能的实现方式中,所述源端向目的端发送所述目标编码数据,包括:优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。具体地,对不同的流媒体数据进行差异化调度,在发生网络空口拥塞或者系统调度下紧张的情况,要确保优先传输带有基础层标记的信息(如M个进行差分保护后的基础层数据),再发送其他信息,这能够减少了空口的接入时延,从而降低流媒体数据传输时延,有效地提升用户体验。
在一种可能的实现方式中,所述优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,包括:源端将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;基于所述低时延传输队列向所述目的端发送所述目标编码数据。在本发明实施例中,将带有基础层标记的信息(如M个进行差分保护后的基础层数据)作为队列头部,再将其他信息添加到队尾,得到低时延传输队列,基于该低时延传输队列进行数据传输,能够确保优先传输带有基础层标记的信息,再发送其他信息,减少了空口的接入时延,从而降低流媒体数据传输时延,有效地提升用户体验。例如,如图4B所述,图4B为本发明实施例提供的一种低时延传输队列的示意图。图中如低时延传输队列一所示,将带有基础层标记的数据排在队列头部,然后可将带有扩展层标记的数据放在队尾,在传输时可确保优先传输带有基础层标记的数据;如低时延传输队列二和低时延传输队列三所示,在传输过程中如果此时队列头为带有扩展层标记的数据,但此时有一个带有基础层标记的数据需要传输,则会清空队列将该带有基础层标记的数据添加到队列头部,实现了差异化调度,优先传输带有基础层标记的数据。
可选的,如图4C所示,图4C为本发明实施例提供的一种构建低时延传输队列示意图,图中可先判断带有标记的流媒体数据是否为带有基础层标记的数据,如果是则清空低时延传输LLT队列,并将数据放在头部,然后检查基础层的包个数据,调整聚合度;如果不是则将数据放在LLT队列尾部,然后检查扩展层的包个数据,调整聚合度。
步骤S406:目的端将所述目标编码数据进行解码,得到所述目标画面组的源数据。
具体地,目的端接收源端发送的编码后流媒体信息,然后将该编码后的流媒体信息按照需求进行解码播放,减少丢包现象和重传事件的发生,从而降低流媒体数据传输时延。
在本发明实施例中,可以先确定目标画面组中的多个关键帧,然后结合分层编码技术和差分保护技术对多个关键帧的源数据进行处理得到编码后的流媒体数据,使得在流媒体数据传输过程中能够减少丢包现象和重传事件的发生,从而降低流媒体数据传输时延。具体地,对关键帧进行分层编码,将关键帧的源数据处理成基础层数据和扩展层数据,然后分别对基础层数据和扩展层数据进行差分保护。由于基础层数据的数据质量低于扩展层数据的数据质量,且可对基础层数据进行重保护,可对扩展层数据进行轻保护,因此在流媒体数据传输过程中基础层数据相比于扩展层数据更不易丢失和出错,即使在扩展层数据丢失的情况下,目的端接受到正确的基础层数据也能够进行解码播放。通过实施本发明实施例的方法,在流媒体数据传输中,避免了直接传输关键帧的信息时,一旦出现丢包就需要源端重新发送数据的问题,减少丢包现象和重传事件的发生,从而降低流媒体数据传输时延,同时也能够为目的端提供不同质量的流媒体数据进行解码播放,有效提升了用户体验。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关设备。
请参见图5A,图5A是本发明实施例提供的本申请提供了一种流媒体数据传输的设备示意图,该流媒体数据传输设备50,可以包括第一处理单元501、第一编码单元502、第二处理单元503、第三处理单元504、第四处理单元505、第五处理单元506、第六处理单元507、第一发送单元508,其中各个模块的详细描述如下:
第一处理单元501,用于确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;
第一编码单元502,用于分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;
第二处理单元503,用于将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据;所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。
在一种可能的实现方式中,所述第一处理单元501具体用于:获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。
在一种可能的实现方式中,所述设备还包括:第三处理单元504,用于将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;第四处理单元505,用于分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2且小于或等于F的整数。
在一种可能的实现方式中,所述设备还包括:第五处理单元506,用于将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。
在一种可能的实现方式中,所述第二处理单元503具体用于:分别在每个所述关键帧所对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。
在一种可能的实现方式中,所述设备还包括:第六处理单元507,用于基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据;第一发送单元508,用于向目的端发送所述目标编码数据。
在一种可能的实现方式中,所述第一发送单元508具体用于:优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。
在一种可能的实现方式中,第一发送单元508具体用于:将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;基于所述低时延传输队列向所述目的端发送所述目标编码数据。
需要说明的是,本发明实施例中所描述的流媒体数据传输的设备50中各功能单元的功能可参见上述图3A中所述的方法实施例中步骤S301、步骤S302、步骤S303的相关描述,此处不再赘述。
请参见图5B,图5B是本发明实施例提供的本申请提供了另一种流媒体数据传输的设备示意图,该流媒体数据传输设备60,可以包括第一接收单元601、第一解码单元602,其中各个模块的详细描述如下:
第一接收单元601,用于接收源端发送的目标编码数据;所述目标编码数据包括目标画面组中M个关键帧的源数据经过分层编码和差分保护后的数据信息和所述目标画面组中差异帧的数据信息;
第一解码单元602,用于将所述目标编码数据进行解码,得到所述目标画面组的源数据。
需要说明的是,本发明实施例中所描述的流媒体数据传输的设备60中各功能单元的功能可参见上述图4A中所述的方法实施例中步骤S406的相关描述,此处不再赘述。
本发明实施例提供一种电子设备,其特征在于,包括处理器、存储器以及通信接口,其中,所述存储器用于存储信息发送程序代码,所述处理器用于调用所述流媒体数据传输方法程序代码来执行上述执行主体为源端中任一项所述的方法。
本发明实施例提供一种电子设备,其特征在于,包括处理器、存储器以及通信接口,其中,所述存储器用于存储信息发送程序代码,所述处理器用于调用所述流媒体数据传输方法程序代码来执行上述执行主体为目的端中任一项所述的方法。
本申请提供了一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述执行主体为源端中任意一项所述的方法得以实现。
本申请提供了一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,上述执行主体为目的端中任意一项所述的方法得以实现。
本发明实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述执行主体为源端中任意一项所述的方法。
本发明实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述执行主体为目的端中任意一项所述的方法。
本申请提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行上述执行主体为源端中任意一项所述的方法。
本申请提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行上述执行主体为目的端中任意一项所述的方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (24)

1.一种流媒体数据传输的方法,其特征在于,应用于源端,所述方法包括:
确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;
分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;
将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据;所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。
2.如权利要求1所述的方法,其特征在于,所述确定目标画面组GOP中的M个关键帧,包括:
获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;
分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;
分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2,且小于或等于F的整数。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。
5.如权利要求1所述的方法,其特征在于,所述将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据,包括:
分别在每个所述关键帧对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据;
向目的端发送所述目标编码数据。
7.如权利要求6所述的方法,其特征在于,所述向目的端发送所述目标编码数据,包括:
优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。
8.如权利要求7所述的方法,其特征在于,所述优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,包括:
将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;
基于所述低时延传输队列向所述目的端发送所述目标编码数据。
9.一种流媒体数据传输的方法,其特征在于,应用于目的端,所述方法包括:
接收源端发送的目标编码数据;所述目标编码数据包括目标画面组中M个关键帧的源数据经过分层编码和差分保护后的数据信息和所述目标画面组中差异帧的数据信息;
将所述目标编码数据进行解码,得到所述目标画面组的源数据。
10.一种流媒体数据传输的设备,其特征在于,所述设备包括:
第一处理单元,用于确定目标画面组GOP中的M个关键帧;所述目标GOP中包括L个帧;M为大于0的整数,L为大于2的整数;
第一编码单元,用于分别将所述M个关键帧中的每个所述关键帧的源数据进行分层编码,生成M个基础层数据和N个扩展层数据;每个所述关键帧对应的所述扩展层数据的数据质量高于所述基础层数据的数据质量;N为大于或等于M的整数;
第二处理单元,用于将每个所述关键帧的所述基础层数据和所述扩展层数据进行差分保护,得到所述M个关键帧的第一编码数据;所述第一编码数据包括M个进行所述差分保护后的所述基础层数据和N个进行所述差分保护后的所述扩展层数据。
11.如权利要求10所述的设备,其特征在于,所述第一处理单元具体用于:
获取所述目标画面组GOP,并将所述目标GOP按时序划分成M个画面小组;所述M为大于0的整数;
分别将每个所述画面小组中的第一帧确认为所述关键帧,从而得到所述M个关键帧。
12.如权利要求11所述的设备,其特征在于,所述设备还包括:
第三处理单元,用于将所述M个画面小组中的每个所述画面小组按时序划分为F个帧序列;F为大于1的整数;所述F个帧序列中的每个帧序列中至少包括两个帧;
第四处理单元,用于分别将所述F个帧序列中第k个帧序列的帧头,以排在所述第k帧序列前的k-1个帧序列中的一个帧序列的帧头作为参考帧,得到所述F个帧序列中除第一个帧序列以外的其他F-1个所述帧序列的第一差异帧;k为大于2且小于或等于F的整数。
13.如权利要求12所述的设备,其特征在于,所述设备还包括:
第五处理单元,用于将所述F个帧序列中的每个所述帧序列中的第i帧以第i-1帧作为参考帧,得到所述每个帧序列的第i差异帧;i为大于1的整数。
14.如权利要求10所述的设备,其特征在于,所述第二处理单元具体用于:
分别在每个所述关键帧所对应的所述基础层数据上动态添加m个冗余数据包和对应的所述扩展层数据上动态添加n个冗余数据包,生成所述M个进行所述差分保护后的所述基础层数据和所述N个进行所述差分保护后的所述扩展层数据,从而得到所述第一编码数据;m大于n,m为大于2的整数,n为大于1的整数。
15.如权利要求10-14任意一项所述的设备,其特征在于,所述设备还包括:
第六处理单元,用于基于所述第一编码数据和每个所述画面小组中的每个所述帧序列的所述第i差异帧及对应的所述第一差异帧,得到目标编码数据;
第一发送单元,用于向目的端发送所述目标编码数据。
16.如权利要求15所述的设备,其特征在于,所述第一发送单元具体用于:
优先发送所述第一编码数据中的所述M个进行所述差分保护后的所述基础层数据,再发送所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据。
17.如权利要求16所述的设备,其特征在于,第一发送单元具体用于:
将所述M个进行所述差分保护后的所述基础层数据作为头部,将所述目标编码数据中的除所述M个进行所述差分保护后的所述基础层数据外的其他数据添加到所述M个进行所述差分保护后的所述基础层数据后,得到低时延传输队列;
基于所述低时延传输队列向所述目的端发送所述目标编码数据。
18.一种流媒体数据传输的设备,其特征在于,所述设备包括:
第一接收单元,用于接收源端发送的目标编码数据;所述目标编码数据包括目标画面组中M个关键帧的源数据经过分层编码和差分保护后的数据信息和所述目标画面组中差异帧的数据信息;
第一解码单元,用于将所述目标编码数据进行解码,得到所述目标画面组的源数据。
19.一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,权利要求1-8中任意一项所述的方法得以实现。
20.一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,权利要求9中所述的方法得以实现。
21.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求1-8中任意一项所述的方法。
22.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求9中所述的方法。
23.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1-8中任意一项所述的方法。
24.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行如权利要求9中所述的方法。
CN202110459619.9A 2021-04-27 2021-04-27 一种流媒体数据传输的方法及相关设备 Pending CN115250383A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110459619.9A CN115250383A (zh) 2021-04-27 2021-04-27 一种流媒体数据传输的方法及相关设备
PCT/CN2022/084891 WO2022228037A1 (zh) 2021-04-27 2022-04-01 一种流媒体数据传输的方法及相关设备
EP22794509.4A EP4319176A4 (en) 2021-04-27 2022-04-01 METHOD FOR TRANSMITTING STREAMING MEDIA DATA AND ASSOCIATED DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110459619.9A CN115250383A (zh) 2021-04-27 2021-04-27 一种流媒体数据传输的方法及相关设备

Publications (1)

Publication Number Publication Date
CN115250383A true CN115250383A (zh) 2022-10-28

Family

ID=83696985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110459619.9A Pending CN115250383A (zh) 2021-04-27 2021-04-27 一种流媒体数据传输的方法及相关设备

Country Status (3)

Country Link
EP (1) EP4319176A4 (zh)
CN (1) CN115250383A (zh)
WO (1) WO2022228037A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269934A1 (en) * 2013-03-15 2014-09-18 Sony Corporation Video coding system with multiple scalability and method of operation thereof
US20150117516A1 (en) * 2013-10-30 2015-04-30 Vered Bar Bracha Dynamic video encoding based on channel quality
CN108307194A (zh) * 2018-01-03 2018-07-20 西安万像电子科技有限公司 图像编码的传输控制方法及装置

Also Published As

Publication number Publication date
WO2022228037A1 (zh) 2022-11-03
EP4319176A4 (en) 2024-05-29
EP4319176A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
US10911763B2 (en) System and method for electronic data communication
Wu et al. Enabling adaptive high-frame-rate video streaming in mobile cloud gaming applications
RU2384956C2 (ru) Система и способ обеспечения неравномерной защиты от ошибок для маркированных согласно приоритету дейтаграмм в системе передачи dvb-h
US8233539B2 (en) Method and apparatus for transmitting packet-based image frame
TWI766883B (zh) 用於傳送視訊之方法及資料傳送器
US20090103635A1 (en) System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
US10594977B2 (en) System and method for electronic data communication
US8127040B2 (en) Signaling buffer parameters indicative of receiver buffer architecture
MX2015004596A (es) Metodo y aparato para el control de envio de datos de medios.
US10523895B2 (en) System and method for electronic data communication
WO2023024802A1 (zh) 数据传输方法、装置、设备、存储介质及程序
CN110708569B (zh) 一种视频处理方法、装置、电子设备及存储介质
CN115250383A (zh) 一种流媒体数据传输的方法及相关设备
US20130339482A1 (en) Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system
US11490140B2 (en) System, device, and method for robust video transmission utilizing user datagram protocol (UDP)
CN111818336B (zh) 视频处理方法、装置、存储介质以及通信装置
WO2023051106A1 (en) Method and apparatus for code block groups and slices mapping in mobile communications
CN116866676A (zh) 一种跨网投屏方法及系统
CN118101553A (zh) 一种数据传输方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination