CN115550683B - 一种视频数据的传输方法及装置 - Google Patents
一种视频数据的传输方法及装置 Download PDFInfo
- Publication number
- CN115550683B CN115550683B CN202110729347.XA CN202110729347A CN115550683B CN 115550683 B CN115550683 B CN 115550683B CN 202110729347 A CN202110729347 A CN 202110729347A CN 115550683 B CN115550683 B CN 115550683B
- Authority
- CN
- China
- Prior art keywords
- video
- link
- frames
- video data
- frame
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000523 sample Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供一种视频数据的传输方法及装置,涉及流媒体传输技术领域,能够在一定程度上保证视频数据在传输过程中对该视频数据中的重要信息的顺利传输,该方法包括:检测N条链路的传输质量;根据该N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有视频帧;在该第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有中的部分视频帧;其中,上述待传输视频帧包括第一视频数据的所有关键数据;在上述N条链路中传输该N条链路分别对应的待传输视频帧。
Description
技术领域
本申请实施例涉及流媒体传输技术领域,尤其涉及一种视频数据的传输方法及装置。
背景技术
视频在现实生活中的应用越来越广泛,如视频通话、网络直播以及近场投屏等。视频数据的传输是影响视频数据的播放质量的一个重要因素。
目前,在进行视频数据传输的过程中,视频发送端在两条链路上分别传输视频数据的数据包,以实现视频数据的冗余传输,例如,在第一链路上传输视频数据的全部数据包,在第二链路上也传输视频数据的全部数据包。上述两条链路中,一条链路可以为主链路,另一个条链路为辅链路,上述两条链路上传输的数据包互为备份,当一条链路的数据包发生丢失时,视频接收端可以从另一条链路上传输的数据包中获取丢失的数据包,以顺利完成视频数据的解码。
然而,当上述用于传输视频数据的两条链路中的至少一条链路的带宽受限时(即:两条传输链路一强一弱),该带宽受限的链路在传输视频数据时可能会丢失一部分视频数据,因此,这两条链路的不能再互为备份,在这种情况下,如果在带宽未受限的链路传输视频数据的过程中,由于其他因素(例如,接收端发生重启)也丢失了一部分视频数据,该部分视频数据与带宽受限的链路丢失的视频数据相同,且两条链路丢失的视频数据中包括视频数据的重要信息,那么将导致视频接收端在播放接收到的视频数据时出现卡顿、花屏以及时延高等问题。
发明内容
本申请实施例提供一种视频数据的传输方法及装置,能够在一定程度上保证视频数据在传输过程中对该视频数据中的重要信息的正常传输。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种视频数据的传输方法,该方法包括:检测N条链路的传输质量;其中,N条链路用于传输第一视频数据,该N条链路为不同网络中的链路,上述第一视频数据包括多个视频帧,N为大于或等于2的正整数;根据上述N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有视频帧;在第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述待传输视频帧包括第一视频数据的所有关键数据;在上述N条链路中传输该N条链路分别对应的待传输视频帧。
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的N条链路的传输质量,并根据N条链路的传输质量确定N条链路分别对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的正常传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。
一种可能的实现方式中,上述检测第k条链路的传输质量,具体包括:获取第k条链路的反馈信息,该反馈信息包括传输时延和/或重传次数;根据上述第k条链路的反馈信息,确定该第k条链路的传输质量。
当上述反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设时延,则该第k条链路的传输质量不满足上述预设条件。
当上述反馈信息为重传次数时,若第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足上述预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足上述预设条件。
当上述反馈信息为传输时延和重传次数时,若第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设阈值,和/或该第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。
一种可能的实现方式中,在第k条链路的传输质量不满足预设条件的情况下,确定该第k条链路对应的待传输视频帧,具体包括:根据第k条链路对应的预设比例,按照该第一视频数据的视频帧的优先级从高到低的顺序,选择上述第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。
上述预设比例满足:其中,η表示预设比例,Num1表示上述第一视频数据的视频帧中的非关键视频帧的数量,Num2表示上述第一视频数据的视频帧的总数量;其中,该非关键视频帧是指包括非关键数据的视频帧。
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的第k条链路的传输质量,并根据第k条链路的传输质量确定第k条链路对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的正常传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。
一种可能的实现方式中,上述在N条链路中传输该N条链路分别对应的待传输视频帧之后,本申请实施例提供的一种视频数据的传输方法,还包括:检测第k条链路的传输质量;根据第k条链路的传输质量,调整第k条链路对应的预设比例。
一种可能的实现方式中,上述根据第k条链路的传输质量,调整该第k条链路对应的预设比例,具体包括:在上述第k条链路的传输质量满足预设条件的情况下,增大该预设比例;在该第k条链路的传输质量不满足预设条件的情况下,减小预设比例。
本申请实施例提供的视频数据的传输方法中,在k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例;也就是说第k条链路的传输质量较好,视频发送端增大预设比例,以使视频发送端将视频数据中更多的视频帧发送给视频接收端,进而能够让视频接收端根据视频数据中更多的视频帧播放出高质量的视频画面。
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:根据调整后的第k条链路对应的预设比例,确定第二视频数据在该第K条链路对应的待传输视频帧;在上述第k条链路中传输第k条链路对应的待传输视频帧。
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:对第一视频数据进行频域分层编码,得到第一视频数据的视频帧,该第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,上述第一视频数据的关键数据为关键帧的基础帧。
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:第一视频数据的视频帧的优先级从高到低依次为关键帧的基础帧、前向帧的基础帧、关键帧的扩展帧、前向帧的扩展帧。
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:第一链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的上述第一视频数据的视频帧中的第i个视频帧是上述第一视频帧的扩展帧;上述第一链路和上述第二链路是N条链路中的两条不同的链路。
综上,不同链路上传输的第一视频数据的多个视频帧的排列顺序是:两条不同的链路对应的视频帧队列中,相同位置(或相同编号或索引)的视频帧是同一个视频帧的基础帧和扩展帧,视频发送端按照视频帧的这种排列顺序在两条连路上并行地传输该视频帧,能够快速地将该视频帧的基础帧和扩展帧发送至视频接收端,对于视频接收端,也可以快速地将该视频帧的基础帧和扩展帧进行聚合得到解码的视频帧。
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:确定重传视频帧集合,该重传视频帧集合是上述N条链路各自对应的待重传的视频帧的交集;以插队传输方式,在第j条链路中传输上述重传视频帧集合中的视频帧;其中,该第j条链路的传输质量高于其他链路的传输质量,该其他链路是上述N条链路中除第j条链路之外的链路。
一种可能的实现方式中,上述在第j条链路中传输上述重传视频帧集合中的视频帧,包括:按照上述重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输上述重传视频帧集合中的视频帧。
一种可能的实现方式中,上述以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧,包括:将该重传视频帧集合插入到上述第j条链路对应的待传输视频帧队列的首位。
一种可能的实现方式中,上述在N条链路中传输该N条链路分别对应的待传输视频帧之前,还包括:对N条链路分别对应的待传输视频帧进行加密。
本申请实施例中,一方面,视频发送端以插队的方式传输重传视频帧集合中的视频帧,优先传输重传视频帧集合中的视频帧,可以使得视频接收端尽快地获取到丢失的视频帧,提升视频接收端聚合视频帧的速度,实现视频帧快速聚合;另一方面,上述视频发送端传输重传视频帧集合中的视频帧时,视频发送端按照重传视频集合中的视频帧的优先级从高到底的顺序传输重传视频帧集合中的视频帧,由于优先级越高的视频帧包括的数据信息越重要,因此,按照优先级重传视频帧能够在一定程度上保证第一视频数据中的重要信息不丢失,以保证视频数据的播放质量。
第二方面,本申请实施例提供的视频数据传输装置,包括:检测模块、确定模块和传输模块;检测模块,用于检测N条链路的传输质量;其中,该N条链路用于传输第一视频数据,该N条链路为不同网络中的链路,上述第一视频数据包括多个视频帧,N为大于或等于2的正整数;确定模块,用于根据N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,第k条链路对应的待传输视频帧为上述第一视频数据的所有视频帧;在第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述待传输视频帧包括该第一视频数据的所有关键数据;传输模块,用于在上述N条链路中传输该N条链路分别对应的待传输视频帧。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置还包括:获取模块;上述获取模块,用于获取第k条链路的反馈信息,该反馈信息包括传输时延和/或重传次数。
确定模块,具有用于根据第k条链路的反馈信息,确定该第k条链路的传输质量。
当该反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设时延,则该第k条链路的传输质量不满足预设条件。
当该反馈信息为重传次数时,若第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。
当该反馈信息为传输时延和重传次数时,若第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设阈值,和/或该第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:控制模块;控制模块,用于根据第k条链路对应的预设比例,按照上述第一视频数据的视频帧的优先级从高到低的顺序,选择该第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。
上述预设比例满足:其中,η表示预设比例,Num1表示上述第一视频数据的视频帧中的非关键视频帧的数量,Num2表示该第一视频数据的视频帧的总数量;其中,非关键视频帧是指包括非关键数据的视频帧。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:调整模块;检测模块,用于检测第k条链路的传输质量;调整模块,用于根据第k条链路的传输质量,调整该第k条链路对应的预设比例。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中调整模块,具体用于在第k条链路的传输质量满足预设条件的情况下,增大预设比例;在第k条链路的传输质量不满足预设条件的情况下,减小预设比例。
一种可能的实现方式中,上述确定模块,还用于根据调整后的第k条链路对应的预设比例,确定第二视频数据在该K条链路对应的待传输视频帧;上述传输模块,还用于在上述第k条链路中传输第k条链路对应的待传输视频帧。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:编码模块;该编码模块,用于对第一视频数据进行频域分层编码,得到第一视频数据的视频帧,该第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;上述非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,上述第一视频数据的关键数据为关键帧的基础帧。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中第一视频数据的视频帧的优先级从低到高依次为前向帧的扩展帧、关键帧的扩展帧、前向帧的基础帧、关键帧的基础帧。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中第一链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的扩展帧;该第一链路和第二链路是上述N条链路中的两条不同的链路。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,还包括:插队模块;上述确定模块,还用于确定重传视频帧集合,该重传视频帧集合是上述N条链路各自对应的待重传的视频帧的交集;插队模块,用于以插队传输方式,在第j条链路中传输上述重传视频帧集合中的视频帧;其中,该第j条链路的传输质量高于其他链路的传输质量,其他链路是上述N条链路中除上述第j条链路之外的链路。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中传输模块,还用于按照重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输该重传视频帧集合中的视频帧。
一种可能的实现方式中,上述插队模块,具体用于将该重传视频帧集合插入到上述第j条链路对应的待传输视频帧队列的首位。
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,还包括加密模块;加密模块,用于对N条链路分别对应的待传输视频帧进行加密。
第三方面,本申请实施例提供的视频数据传输装置,包括存储器和处理器,该存储器与该处理器耦合;上述存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令;当计算机指令被所述处理器执行时,使得该视频数据传输装置执行第一方面及其可能的实现方式中任意之一所述的方法。
第四方面,本申请实施例提供的一种计算机存储介质,包括计算机指令,当该计算机指令在视频数据传输装置上运行时,使得该视频数据传输装置执行第一方面及其可能的实现方式中任意之一所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得该计算机执行第一方面及其可能的实现方式中任意之一所述的方法。
应当理解的是,本申请实施例的第二方面至第五方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果。
附图说明
图1为本申请实施例提供的投屏的方式示意图;
图2为本申请实施例提供的一种使用分布式相机的场景示意图一;
图3为本申请实施例提供的一种使用分布式相机的场景示意图二;
图4为本申请实施例提供的一种视频数据的传输流程示意图一;
图5为本申请实施例提供的一种视频数据的编码方式示意图一;
图6为本申请实施例提供的一种视频数据的传输方式示意图一;
图7为本申请实施例提供的一种多路径传输架构示意图一;
图8为本申请实施例提供的一种视频数据传输装置结构示意图一;
图9为本申请实施例提供的一种视频数据的传输方法示意图一;
图10为本申请实施例提供的一种视频数据的传输方法示意图二;
图11为本申请实施例提供的一种多个视频帧的排序的示意图一;
图12为本申请实施例提供的一种视频数据的传输方法示意图三;
图13为本申请实施例提供的一种视频数据的传输方法示意图四;
图14为本申请实施例提供的一种视频数据的传输方法示意图五;
图15为本申请实施例提供的为本申请实施例提供的一种视频数据传输装置的结构示意图一;
图16为本申请实施例提供的为本申请实施例提供的一种视频数据传输装置的结构示意图二。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一链路和第二链路等是用于区别不同网络中的链路,而不是用于描述链路的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个视频帧是指两个或两个以上的视频帧。
随着科技的发展,流媒体(例如视频)在现实生活中的应用越来越广泛,在日常生活中,近场投屏场景和分布式相机场景中均涉及视频数据传输。
在近场投屏的场景中,投屏方式可以包括:镜像协调、异源协同以及反向控制等
镜像协调:是指将投屏侧的视频画面实时的同步传输至被投屏侧,使其在被投屏侧同步播放。
示例性的,参考图1中的(a),大屏101是被投屏侧,手机102是投屏侧,该手机102与大屏101的投屏方式是镜像协调,例如,当使用手机102进行视频通话时,手机102将视频通话时的视频画面(具体是视频画面对应的视频数据)传输至大屏101,大屏101可以同步播放手机上102的视频画面。
异源协同:是指将投屏侧后台运行的某一个任务同步传输至被投屏侧,使其在被投屏侧同步播放,此时,投屏侧可以执行其他任务。
示例性的,参考图1中的(b),大屏103是被投屏侧,手机104是投屏侧,该手机104与大屏103之间的投屏关系是异源协同,手机104上以分屏的方式显示聊天界面(手机运行社交应用显示的聊天界面)和视频播放界面(手机运行视频播放应用显示的界面),手机104可以将分屏2上显示的视频画面传输至大屏103,大屏103同步播放手机104上显示的视频画面,投屏成功之后,用户可以在手机104上进行相应的操作,将视频播放应用置于后台运行,从而使得手机104全屏显示聊天界面。
反向控制:是指将投屏侧显示的画面传输至被投屏侧,使该画面在被投屏侧上实时显示,然后,用户在被投屏侧上进行相关操作,从而投屏侧可以响应该操作,执行相应的任务。
参考图1中的(c),电脑105是被投屏侧,手机106是投屏侧,该手机106与电脑105之间的投屏方式是反向控制,手机106将该手机106的显示屏上显示的视频画面同步传输至电脑105,电脑105的显示屏上显示该视频画面,然后,用户可以在电脑105上对显示的内容进行操作,手机106可以响应用户在电脑上105的操作。例如,用户在手机106中打开某视频软件,手机106显示包括多个视频资源的界面,当手机106和电脑105建立反向控制的投屏连接之后,电脑105上也同步显示该包括多个视频资源的界面,进而,用户在电脑105上打开多个视频资源中的某个视频资源时,手机106可以响应该视频资源的打开操作,手机106显示视频资源对应的视频画面,同时,手机106上显示的视频画面也同步传输至电脑105,从而电脑105显示该视频画面。
综上所述的投屏场景中,上述投屏侧是视频数据的发送端,被投屏侧是视频数据的接收端。
在分布式相机场景中,使用分布式相机可以实现视频通话、远程控制手机拍照、手机直播以及跨设备双景录像等。
图2中的(a)是使用分布式相机进行视频通话的场景示意图,其中,大屏201上的摄像头与手机202组成一种分布式相机,在使用手机202进行视频通话之前,手机202与大屏201上的摄像头建立通信连接,由于大屏201上的摄像头的像素比手机202的自带摄像头的像素高,当使用手机202进行视频通话时,将大屏201上的摄像头作为视频通话时采集视频画面的摄像头,具体的,通过大屏201上的摄像头采集视频画面,并将视频画面同步传输至手机202,手机202实时显示视频画面。
在上述视频通话的场景中,大屏201是视频数据的发送端,手机202是视频数据的接收端。
图2中的(b)为使用分布式相机远程控制手机拍照的场景示意图,其中,智能手表203与手机204组成一种分布式相机;将手机204放置在远端进行拍照时,手机204与智能手表203建立通信连接,手机204的摄像头将采集到的预览画面传输至智能手表203,智能手表203上同步显示该预览画面,进而用户可以在该智能手表203进行操作来控制手机204的进行拍照。例如,用户觉得智能手表203当前显示的预览界面中的画面的效果比较好,用户可以在智能手表203中选择“拍照”按钮,如此,手机204响应该“拍照”操作,采集图像。
在上述远程控制手机拍照的场景中,手机204是视频数据的发送端,智能手表203是视频数据的接收端。
图3中的(a)为使用分布式相机进行手机直播的场景示意图,其中,手机301的后置摄像头与手机302组成一种分布式相机,且手机301的后置摄像的像素高于手机302的前置摄像头,在直播的场景中,手机302与手机301建立通信连接之后,手机302上运行直播APP,手机301的后置摄像头采集直播画面(例如风景或主播),然后,手机301将采集的直播画面实时传输至手机302,手机302同步播放直播画面。
在上述手机直播的场景中,手机301是视频数据的发送端,手机302是视频数据的接收端。
图3中的(b)为使用分布式相机进行跨设备双景录像的场景示意图,其中,手机303、手机305与照相机304组成一种分布式相机,该手机303和照相机304分别与手机305建立通信连接,开始双景录像后,手机303将该手机303的摄像头采集的目标场景的近景画面传输至手机305,同时,照相机304将采集到的目标场景的远景画面传输至手机305,手机305接收到手机303和照相机304发送的画面之后,以分屏的方式在手机305的显示屏上显示近景画面和远景画面,实现双景录像。
在上述跨设备双景录像的场景中,手机303和照相机304都是视频数据的发送端,手机305是视频数据的接收端。
可以理解的是,本申请实施例中,视频数据即为视频流,包括多个视频帧,每一个视频帧即为一幅图像,因此,视频帧也可以称为图像帧。
结合上述的多个涉及视频数据传输的场景,参考图4所示的视频数据的传输流程示意图,首先,发送端对采集到的视频数据(包括多个视频帧)进行编码(预处理),常用的编码方式有时域编码和频域编码等方式;其次,发送端对编码后的视频数据进行加密,将加密后的视频数据发送至接收端。接收端接收加密后视频数据时,首先,根据发送端的加密方式反向对该加密后视频数据进行解密,得到解密后的视频数据;然后,根据发送端的编码方式对视频数据进行反向解码,得到解码后的视频数据,最后,接收端对解码后的视频数据进行渲染之后再播放。
常用的视频数据的编码方式可以包括时域编码和频域编码。
在本申请实施例中,将前向搜索帧简称为前向帧,以下实施例不再进行说明。
时域编码:通过时域编码的方式可以对采集的视频帧编码得到视频帧的小前向帧(即:小P帧)和大前向帧(大P帧),如图5中的(a)所示,其中,接收端对某个大P帧进行解码时,需要依赖该大P帧的前一大P帧的解码结果和该大P帧对应的小P帧。
频域编码:是根据视频数据的频域分布将采集到的视频帧编码为基础帧和扩展帧,如图5中的(b)所示;一个视频帧的基础帧中包含视频帧的低频数据,一个视频帧的扩展帧中包括视频帧的高频数据,基础帧与扩展帧的大小(数据量大小)不同,具体的,基础帧与扩展帧的大小比例在1:4到1:8之间,一种情况下,一个视频帧的基础帧与扩展帧大小之和可以是该视频帧的1.2倍。
目前,可以采用多条链路传输(即多路径传输)视频数据,具体如图6所示,视频发送端在第一链路上传输待传输视频数据的全部数据包(即:数据包1至数据包8),在第二链路上也传输待传输视频数据的全部数据包,其中,第一链路和第二链路上传输的数据包互为备份,当一条链路的数据包发生丢失时,视频接收端可以从另一条链路传输的数据包中获取丢失的数据包,以顺利完成视频数据的解码。
然而,当上述两条链路中第二条链路的带宽受限时,第二链路在传输待传输视频数据的数据包时会丢失一部分视频数据包,若第一链路在传输待传输视频数据的数据包的过程中,由于其他因素(例如,接收端发生重启)也丢失了一部分视频数据包,且第二链路丢失这部分视频数据包与第一链路丢失的这部分视频数据包存在交集,而交集部分的视频数据包中可能存在该待传输视频数据中的重要信息,从而导致接收端不能对该待传输视频数据进行正常解码,将导致视频接收端在播放接收到的视频数据时出现卡顿、花屏以及时延高等问题。
上述两种多路径传输方法由多路径传输架构中的数据流模块实现,如图7所示,数据包的传输流程具体为:发送端的采集模块获取到数据包序列后,通过通信模块与接收端的通信连接,然后,数据流模块将上述采集模块获取到的数据包序列以字符流或字节流的形式传输至接收端,其中,发送端向接收端传输数据包序列的方法可以是上述多路径传输方法中的任意一种传输方法。
本申请实施例中的多路径传输方法中,在不同链路上传输同一视频数据都是采用在多条链路上并行传输的方式进行传输,后续不再赘述。
基于现有技术中存在的视频数据传输过程中不能保证视频数据中的重要信息顺利传输的问题,本申请实施例提供一种视频数据的传输方法及装置,视频传输装置或视频数据的发送端检测N条链路的传输质量;该N条链路用于传输视频数据,该N条链路为不同网络中的链路;该视频数据包括第一视频数据的视频帧,N为大于或等于2的正整数;视频传输装置根据该N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的视频帧;在该第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的视频帧中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述确定的待传输视频帧中包括第一视频数据的视频帧中的所有关键数据;视频传输装置在该N条链路中传输N条链路分别对应的待传输视频帧。通过本申请实施例提供的技术方案,能够在一定程度上保证视频数据中的关键数据(即:重要信息)的顺利传输。
示例性的,本申请实施例中的视频传输装置可以是平板电脑、手机、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)等设备,本申请实施例对该视频传输装置的具体形态不作特殊限制。
本申请实施例提供的视频数据的传输方法的执行主体可以为支持视频数据传输的装置(以下实施例简称为视频传输装置),请参考图8,本申请实施例以视频传输装置为手机800为例,对本申请实施例提供的视频传输装置进行介绍。其中,图8所示的手机800仅仅是视频传输装置的一个范例,并且手机800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图8中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
如图8所示,手机800可以包括处理器810,外部存储器接口820,内部存储器821,通用串行总线(universal serial bus,USB)接口830,充电管理模块840,电源管理模块841,电池842,天线1,天线2,射频模块850,通信模块860,音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,传感器模块880,按键890,马达891,指示器892,摄像头893,显示屏894,以及用户标识模块(subscriber identification module,SIM)卡接口895等。
其中,上述传感器模块880可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
处理器810可以包括一个或多个处理单元。例如,处理器810可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
上述控制器可以是手机800的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器810中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器810中的存储器为高速缓冲存储器,可以保存处理器810刚用过或循环使用的指令或数据。如果处理器810需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器810的等待时间,因而提高了系统的效率。
在一些实施例中,处理器810可以包括接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口,集成电路内置音频(inter-integrated circuit Sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industryprocessor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM接口,和/或USB接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDL)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器810可以包含多组I2C总线。处理器810可以通过不同的I2C总线接口分别耦合触摸传感器280K,充电器,闪光灯,摄像头893等。例如:处理器810可以通过I2C接口耦合触摸传感器280K,使处理器810与触摸传感器280K通过I2C总线接口通信,实现手机800的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器810可以包含多组I2S总线。处理器810可以通过I2S总线与音频模块870耦合,实现处理器810与音频模块870之间的通信。在一些实施例中,音频模块870可以通过I2S接口向通信模块860传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块870与通信模块860可以通过PCM总线接口耦合。在一些实施例中,音频模块870也可以通过PCM接口向通信模块860传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信,两种接口的采样速率不同。
MIPI接口可以被用于连接处理器810与显示屏894,摄像头893等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器810和摄像头893通过CSI接口通信,实现手机800的拍摄功能。处理器810和显示屏894通过DSI接口通信,实现手机800的显示功能。
本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机800的结构限定。手机800可以采用本申请实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块840用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块840可以通过USB接口830接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块840可以通过手机800的无线充电线圈接收无线充电输入。充电管理模块840为电池842充电的同时,还可以通过电源管理模块841为手机800供电。
电源管理模块841用于连接电池842,充电管理模块840与处理器810。电源管理模块841接收所述电池842和/或充电管理模块840的输入,为处理器810,内部存储器821,外部存储器接口820,显示屏894,摄像头893,和通信模块860等供电。电源管理模块841还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在一些实施例中,电源管理模块841也可以设置于处理器810中。在一些实施例中,电源管理模块841和充电管理模块840也可以设置于同一个器件中。
手机800的无线通信功能可以通过天线1,天线2,射频模块850,通信模块860,调制解调器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在一些实施例中,天线可以和调谐开关结合使用。
射频模块850可以提供应用在手机800上的包括2G/3G/4G/5G等无线通信的解决方案的通信处理模块。射频模块850可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。射频模块850由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。
通信模块860可以提供应用在手机800上的包括无线局域网(wireless localareanetworks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue yooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,手机800可以通过无线通信模块860接入Wi-Fi网络。
无线通信模块860可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块860经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器810。无线通信模块860还可以从处理器810接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
手机800通过GPU,显示屏894,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏894和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器810可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏894用于显示图像,视频等。该显示屏894包括显示面板。例如,本申请实施例中,显示屏894可以用于显示上述第一应用的应用界面,如设备分享界面、设备搜索界面和二维码扫描界面等。
手机800可以通过ISP,摄像头893,视频编解码器,GPU,显示屏以及应用处理器等实现拍摄功能。
摄像头893用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机800可以包括1个或N个摄像头893,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机800在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机800可以支持一种或多种视频编解码器。这样,手机800可以播放或录制多种编码格式的视频,在本申请中手机800使用频域编码器对视频数据进行编码。
外部存储器接口820可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机800的存储能力。外部存储卡通过外部存储器接口820与处理器810通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器821可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器810通过运行存储在内部存储器821的指令,从而执行手机800的各种功能应用以及数据处理。例如,在本申请实施例中,处理器810可以通过执行存储在内部存储器821中的指令,内部存储器821可以包括存储程序区和存储数据区。
手机800可以通过音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块870用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块870还可以用于对音频信号编码和解码。在一些实施例中,音频模块870可以设置于处理器810中,或将音频模块870的部分功能模块设置于处理器810中。
扬声器870A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器870B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风870C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口870D用于连接有线耳机。耳机接口870D可以是USB接口830,也可以是3.5mm的开放移动手机平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association ofthe USA,CTIA)标准接口。
按键890包括开机键,音量键等。按键890可以是机械按键。也可以是触摸式按键。手机800接收按键890输入,产生与手机800的用户设置以及功能控制有关的键信号输入。
马达891可以产生振动提示。马达891可以用于来电振动提示,也可以用于触摸振动反馈。
指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口895用于连接SIM。SIM卡可以通过插入SIM卡接口895,或从SIM卡接口895拔出,实现和手机800的接触和分离。手机800可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口895可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
以下实施例中的方法均可以在具有上述硬件结构的视频传输装置中实现,该视频传输装置为视频发送端,以下实施例中以上述视频发送端是图8所示的手机800为例,对本申请实施例的方法进行说明。
本申请实施例提供一种视频数据的传输方法,应用于视频发送端,如图9所示,该视频数据的传输方法可以包括S910-S930。
S910、视频发送端检测用于传输第一视频数据的N条链路的传输质量。
在本申请实施例中,视频发送端向视频接收端发送视频数据时,视频发送端可以通过N条链路分别向视频接收端发送视频数据,N为大于或等于2的正整数。
基于上述实施例的描述可知,上述视频发送端向视频接收端发送的第一视频数据包括多个视频帧,第一视频数据来源于待传输视频中的一个视频段,例如,一个视频段可以为一个图像组(group ofpictures,GOP)或多个图像组,一个视频段也可以是按照其他方法划分的视频段,本申请实施例不作具体限定。
示例性的,一个GOP由1个关键帧(例如I帧)和29个前向搜索帧(P帧)组成。
需要说明的是,上述N条链路为不同网络中的链路,即该N条链路属于不同的网络。例如,N的值为2,上述用于传输视频数据的2条链路分别为链路1和链路2,其中,链路1可以是WIFI网络1中的链路,链路2可以是WIFI网络2中的链路。
本申请实施例中,链路的传输质量的影响因素可以包括链路的传输时延、重传次数等,视频发送端可以根据上述影响因素中的至少一种确定链路的传输质量,具体将在下述实施例中进行详细描述。
S920、视频发送端根据N条链路的传输质量,确定N条链路分别对应的待传输视频帧。
本申请实施例中,以N条链路中的一条链路进行说明,例如,以第k条链路为例,对上述S920进行说明,其中,k的取值为1,2,……N中任意一个值。应理解,一条链路对应的待传输视频帧指的是在该链路上即将传输的视频帧。
具体的,视频发送端判断第k条链路的传输质量是否满足预设条件,在第k条链路的传输质量满足预设条件的情况下,确定该第k条链路对应的待传输视频帧为第一视频数据的所有视频帧;在该第k条链路的传输质量不满足预设条件(即:第k条链路的传输质量较差)的情况下,确定该第k条链路对应的待传输视频帧为第一视频数据的部分视频帧,其中,该待传输视频帧中包括上述第一视频数据中所有的关键数据(关键数据可以理解为第一视频数据中的重要数据或者解码第一视频数据所不可缺少的数据)。
本申请实施例中,在确定N条链路分别对应的待传输视频帧后,视频发送端对该N条链路分别对应的待传输视频帧进行加密,其中,加密方式可以是Hash算法加密,还可以是对称加密算法,具体使用的加密算法本申请不进行限定。
示例性的,假设在2条链路(分别为链路1和链路2)上分别传输的第一视频数据,该第一视频数据包括10个视频帧,视频发送端首先判断链路1的传输质量是否满足预设条件,若链路1的传输质量满足预设条件,则上述10个视频帧为链路1的待传输视频帧;若链路1不满足预设条件,则将上述10个视频帧中的部分视频帧确定为链路1上的待传输视频帧,例如:将上述10个视频帧中的6个视频帧确定为链路1的待传输视频帧。同理,视频传输装置也判断链路2的传输质量是否满足预设条件,若链路2的传输质量满足预设条件,则将上述10个视频帧确定为链路2的待传输视频帧;若链路2不满足预设条件,则将上述10个视频帧中的部分视频帧确定为链路2的待传输视频帧,例如:将上述10个视频帧中的8个视频帧确定为链路2的待传输视频帧。
本申请实施例中,在链路的传输质量不满足预设条件的情况下,视频发送端在该链路上传输第一视频数据中的部分视频帧,能够减小了该链路的传输压力,提高该链路的传输效率。
S930、视频发送端在N条链路上传输N条链路分别对应的待传输视频帧。
在本申请实施例中,视频发送端并行的在N条不同链路上传输该N条链路各自对应的待传输视频帧。
结合S920中的示例,链路1的待传输视频帧为第一视频数据的6个视频帧,链路2的待传输视频帧为第一视频数据的8个的视频帧,如此,视频发送端并行地在链路1上传输上述6个视频帧,在链路2上传输上述8个视频帧。
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的N条链路的传输质量,并根据N条链路的传输质量确定N条链路分别对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的顺利传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。
可选的,结合图9,如图10所示,在S910之前,本申请实施例提供的视频数据的传输方法还包括S1010。
S1010、视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧。
可选地,上述第一视频数据的多个视频帧是视频发送端对采集的视频流中的第一视频数据进行编码后得到的视频帧,结合上述实施例的描述可知,第一视频数据(未编码)包括至少一个关键帧和多个前向帧。
在一种实现方式中,可以采用频域分层编码的编码方式对第一视频数据进行编码,得到第一视频数据的多个视频帧,具体的,对于第一视频数据中的任一个关键帧,经频域分层编码后得到该关键帧的基础帧和该关键帧的扩展帧,同理,对于第一视频数据中的任一个前向帧,经频域分层编码后得到该前向帧的基础帧和该前向帧的扩展帧,如此,第一视频数据经编码后得到的多个视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧。
关于频域分层编码的方法的详细描述可以参考上述实施例的相关描述,此处不再赘述。
本申请实施例中,N条链路中的每一个链路上传输的第一视频数据的多个视频帧可以按照一定的顺序排列,该N条链路各自对应的多个视频帧的排列顺序可能相同,也可能不同。
可选的,在一种实现方式中,以N条链路中第一链路和第二链路为例,第一链路对应的多个视频帧的排列顺序与第二链路对应的多个视频帧的排列顺序不同,具体的,第一视频数据的多个视频帧中,该第一链路对应的第i个视频帧是第一视频帧的基础帧,第二链路对应的第i个视频帧是该第一视频帧的扩展帧;其中,第一链路和第二链路是上述N条链路中的两条不同的链路。可选地,第一视频帧可以是关键帧,也可以是前向帧。
示例性的,图11为第一链路上的多个视频帧和第二链路上的多个视频帧的排序的示意图,在图11中,第一链路上的第1个视频帧是一个关键帧(可以称为第一关键帧)的基础帧,第二链路上的第1个视频帧是第一关键帧的扩展帧,又例如,第一链路上第4个视频帧是一个前向帧(可以称为第一前向帧)的扩展帧,第二链路上第4个视频帧是第一前向帧的基础帧。
综上,不同链路上传输的第一视频数据的多个视频帧的排列顺序是:两条不同的链路对应的视频帧队列中,相同位置(或相同编号或索引)的视频帧是同一个视频帧的基础帧和扩展帧,视频发送端按照视频帧的这种排列顺序在两条连路上并行地传输该视频帧,能够快速地将该视频帧的基础帧和扩展帧发送至视频接收端,对于视频接收端,也可以快速地将该视频帧的基础帧和扩展帧进行聚合得到解码的视频帧。
基于上述实施例的描述,视频发送端在多条链路上并行传输待传输视频帧的过程中,可能会因为一些因素(例如:接收端发生重启或接收端未及时消费发送端发送的消息,导致该消息超时)导致待传输视频帧中的一个或多个视频帧在上述多个链路上同时丢失,那么视频接收端从多条链路上都获取不到丢失的视频帧,为了解决这种问题,视频发送端需要启动重传机制,向视频接收端重传上述一个或多个丢失的视频帧。
可选的,结合图10,如图12所示,在多个链路上同时丢失同一个或多个视频帧的情况下,本申请实施例提供的视频数据的传输方法还包括S1210-S1220。
S1210、视频发送端确定重传视频帧集合。
上述重传视频帧集合是N条链路各自对应的待重传的视频帧的交集。
示例性的,假设N的取值为2,链路1中的待重传的视频帧(即链路1上丢失的视频帧)的集合包括P1帧的基础帧、P3帧的扩展帧、P4帧的扩展帧;链路2中的待重传的视频帧(即链路2上丢失的视频帧)的集合包括P1帧的基础帧、P2帧的扩展帧、P4帧的扩展帧。取链路1的待重传的视频帧集合和链路2的待重传的视频帧集合的交集,将该交集作为重传视频帧集合,该重传视频帧集合包括:P1帧的基础帧和P4帧的扩展帧。
S1220、视频发送端以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧。
上述第j条链路的传输质量高于上述N条链路中除第j条链路以外的其他链路的传输质量,第j条链路是N条链路中传输质量最高的一条链路。
上传插队传输方式是将重传视频帧集合中的视频帧插入到当前链路正在传输的视频帧队列的中,以优先传输该重传视频帧集合中的视频帧。
可选的,本申请实施例中,视频发送端可以将重传视频帧集合中的视频帧插入到当前链路正在传输的视频帧队列的首位,即视频发送端暂时停止传输当前的视频帧队列中的视频帧,优先传输重传视频帧集合中的视频帧,待重传视频帧集合中的视频帧传输结束之后,视频发送端再继续传输上述视频帧队列中的视频帧。
可选的,上述视频发送端在第j条链路中传输重传视频帧集合中的视频帧的方法,具体包括:视频发送端按照重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输该重传视频帧集合中的视频帧。
本申请实施例中,上述视频帧的优先级从低到高依次为:前向帧的扩展帧、关键帧的扩展帧、前向帧的基础帧、关键帧的基础帧,其中,优先级越高代表该视频帧中的视频数据越重要。
基于上述示例,视频发送端确定的重传视频帧集合包括P1帧的基础帧和P 4帧的扩展帧,用于传输待传输视频帧的2条链路(例如链路1和链路2)中,链路1的传输质量优于链路2的传输质量。对于链路1,假设当前的视频帧队列包括的视频帧依次是P 20帧的基础帧、P 20帧的扩展帧、P 21帧的基础帧、P 21帧的扩展帧......P帧的100基础帧、P100帧的扩展帧,视频发送端暂停传输当前的视频帧队列中的视频帧(即暂停传输P 20帧的基础帧等),视频发送端按照重传视频帧集合中的视频帧的优先级从高到底的顺序依次传输P1帧的基础帧、P 4帧的扩展帧(P1帧的基础帧的优先级高于P 4帧的扩展帧的优先级)。
本申请实施例中,一方面,视频发送端以插队的方式传输重传视频帧集合中的视频帧,优先传输重传视频帧集合中的视频帧,可以使得视频接收端尽快地获取到丢失的视频帧,提升视频接收端聚合视频帧的速度,实现视频帧快速聚合;另一方面,上述视频发送端传输重传视频帧集合中的视频帧时,视频发送端按照重传视频集合中的视频帧的优先级从高到底的顺序传输重传视频帧集合中的视频帧,由于优先级越高的视频帧包括的数据信息越重要,因此,按照优先级重传视频帧能够在一定程度上保证第一视频数据中的重要信息不丢失,以保证视频数据的播放质量。
需要说明的是,本申请实施例中,视频发送端在每一条链路上传输视频数据的方法是类似的,下面以第k条链路为例对视频数据的传输方法进行详细介绍,如图13所示,在第k条链路上传输视频数据的方法包括:S1301-S1308。
S1301、视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧。
应理解,上述视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧的方法参考上述实施例对S1010的相关描述,此处不再赘述。
S1302、视频发送端获取第k条链路的反馈信息。
本申请实施例中,链路的反馈信息可以包括传输时延和/或重传次数。可选的,上述传输时延可以为视频帧的平均传输时延、预定数量的视频帧的传输时延之和、或者当前视频帧的传输时延中任意一种。
S1303、视频发送端根据第k条链路的反馈信息,确定第k条链路的传输质量。
本申请实施例中,视频发送端根据第k条链路的反馈信息,确定第k条链路的传输质量是否满足预设条件。具体的:
当上述第k条链路的反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若该第k条链路的传输时延大于或等于预设时延,则上述第k条链路的传输质量不满足预设条件。
当上述第k条链路的反馈信息为重传次数时,若上述第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。
当上述第k条链路的反馈信息为传输时延和重传次数时,若上述第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若上述第k条链路的传输时延大于或等于预设阈值,和/或第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。
应理解,本申请实施例中,第k条链路的传输质量满足预设条件表明第k条链路的传输质量较好,第k条链路的传输质量不满足预设条件表明第k条链路的传输质量较差。
S1304、视频发送端根据第k条链路的传输质量,确定第k条链路对应的待传输视频帧。
参考对S920的描述,第k条链路对应的待传输视频帧可以是第一视频数据的所有视频帧,也可以是第一视频数据的部分视频帧,具体的,S1304包括S1304a或S1304b。
S1304a、在第k条链路的传输质量满足预设条件的情况下,第k条链路对应的待传输视频帧是第一视频数据的所有视频帧。
S1304b、在第k条链路的传输质量不满足预设条件的情况下,视频发送端根据第k条链路对应的预设比例,按照第一视频数据的视频帧的优先级从高到低的顺序,选择第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。
上述预设比例满足:其中,η表示预设比例,Num1表示第一视频数据的视频帧中的非关键视频帧的数量,Num2表示第一视频数据的视频帧的总数量;其中,非关键视频帧是指包括非关键数据的视频帧。
可选的,上述第一视频数据中的非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧。在某一条链路的传输质量较差时,视频发送端可以选择丢弃第一视频数据的视频帧中的非关键视频帧,非关键视频帧对视频质量的影响较小。
应理解,由于关键帧的基础帧中包含关键帧中的重要信息,因此,在本申请实施例中规定关键帧的基础帧必须作为待传输视频帧在链路中传输(即:关键帧的基础帧是不可丢弃的视频帧)。上述第一视频数据的视频帧的优先级从高到低依次为:关键帧的基础帧、前向帧的基础帧、关键帧的扩展帧、前向帧的扩展帧。
示例性的,假设上述第一视频数据的视频帧中包括100个视频帧,预设比例为40%(即链路质量较差时,需丢弃60个视频帧),该100个视频帧中包括48个前向帧的扩展帧、2个的关键帧的扩展帧、48个前向帧的基础帧和2个的关键帧的基础帧。当第k条链路的传输质量不满足预设条件时,视频发送端根据上述第一视频数据的视频帧的优先级从高到低的顺序,选择38个前向帧的基础帧和2个的关键帧的基础帧作为第k条链路对应的待传输视频帧。
S1305、视频发送端在第k条链路上传输第k条链路对应的待传输视频帧。
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的第k条链路的传输质量,并根据第k条链路的传输质量确定第k条链路对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的顺利传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。
S1306、视频发送端检测第k条链路的传输质量。
应注意,上述S1306是在视频发送端将第k条链路对应的待传输视频帧在第k条链路上传输完毕后执行的。
本申请实施例中,关于视频发送端检测第k条链路的传输质量的方法的详细描述可以参考上述实施例的相关描述,此处不再赘述。
S1307、视频发送端根据第k条链路的传输质量,调整第k条链路对应的预设比例。
在本申请实施例中,上述视频发送端根据第k条链路的传输质量,调整后的预设比例将用于后续的视频数据传输,例如,上述调整后的预设比例用于传输第二视频数据,其中,第二视频数据与第一视频数据来源于同一待传输视频的相邻的两个视频段。
应理解,本申请实施例中,按照上述方式不断地检测第k条链路的传输质量,并根据第k条链路的传输质量动态地调整预设比例,能够在一定程度上保证待传输视频帧的顺利传输,并且可以提高第k条链路的利用率。
结合图13,如图14所示,上述S1307包括S1401-S1403。
S1401、视频发送端判断第k条链路的传输质量是否满足预设条件。
在本申请实施例中,关于视频发送端判断第k条链路的传输质量是否满足预设条件的方法的详细描述可以参考上述S1303的相关描述,此处不再赘述。
S1402、在第k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例。
在k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例;也就是说第k条链路的传输质量较好,视频发送端增大预设比例,以使视频发送端将视频数据中更多的视频帧发送给视频接收端,进而能够提高视频接收端解码的视频数据的播放质量。
S1403、在第k条链路的传输质量不满足预设条件的情况下,视频发送端减小预设比例。
在第k条链路的传输质量不满足预设条件的情况下,视频发送端减小预设比例,也就是说,在第k条链路的传输质量较差时,待传输视频帧中减少非关键视频帧的占比,以使视频发送端减少向视频接收端发送的视频数据帧数量,进而减小第k条链路的传输压力,提高第k条链路的传输效率。
S1308、视频发送端根据调整后的第k条链路对应的预设比例,按照第二视频数据的视频帧的优先级从高到低的顺序,选择第二视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。
本申请实施例中,视频发送端确定出第k条链路对应的待传输视频帧之后,视频发送端在第k条链路上传输第k条链路对应的待传输视频帧。
相应地,本申请实施例提供一种视频数据传输装置,该视频数据传输装置用于执行上述视频数据的传输方法中各个的步骤,本申请实施例可以根据上述方法示例对该视频数据传输装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图15示出上述实施例中所涉及的视频数据传输装置的一种可能的结构示意图。如图15所示,该视频数据传输装置包括检测模块1501、确定模块1502和传输模块1503。
检测模块1501用于检测N条链路的传输质量,例如执行上述方法实施例中的S910。
确定模块1502用于根据N条链路的传输质量,确定该N条链路分别对应的待传输视频帧,例如执行上述方法实施例中的S920。
传输模块1503用于在N条链路上传输N条链路分别对应的待传输视频帧,例如执行上述方法实施例中的S930。
可选的,本申请实施例提供的视频数据传输装置还包括:编码模块1507;编码模块1507用于对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧,例如执行上述方法实施例中的S1010和S1301。
可选的,上述确定模块1502也用于确定重传视频帧集合,例如执行上述方法实施例中的S1210。
可选的,本申请实施例提供的视频数据传输装置还包括:插队模块1508;插队模块1508用于以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧,例如执行上述方法实施例中的S1220。
可选的,本申请实施例提供的视频数据传输装置还包括:获取模块1504;获取模块1504用于获取第k条链路的反馈信息,例如执行上述方法实施例中的S1302。
可选的,上述确定模块1502还用于根据第k条链路的反馈信息,确定第k条链路的传输质量,例如执行上述方法实施例中的S1303。
可选的,上述确定模块1502还用于根据第k条链路的传输质量,确定第k条链路对应的待传输视频帧。例如执行上述方法实施例中的S1304。
可选的,本申请实施例提供的视频数据传输装置还包括:控制模块1505;控制模块1505用于在第k条链路的传输质量不满足预设条件的情况下,视频发送端根据第k条链路对应的预设比例,按照上述第一视频数据的视频帧的优先级从高到低的顺序,选择该第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1304b。
可选的,上述传输模块1503还用于在第k条链路上传输第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1305。
可选的,上述检测模块1501还用于检测第k条链路的传输质量,例如执行上述方法实施例中的S1306。
可选的,本申请实施例提供的视频数据传输装置还包括:调整模块1506;调整模块1506用于视频发送端根据第k条链路的传输质量,调整第k条链路对应的预设比例,例如执行上述方法实施例中的S1307、S1402以及S1403。
可选的,上述控制模块1505还用于根据调整后的第k条链路对应的预设比例,按照第二视频数据的视频帧的优先级从高到低的顺序,选择第二视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1308。
上述视频数据传输装置的各个模块还可以用于执行上述方法实施例中的其他动作,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,本申请实施例提供的视频数据传输装置的结构示意图如图16所示。在图16中,视频数据传输装置包括:处理模块1601和通信模块1602。处理模块1601用于对视频数据传输装置的动作进行控制管理,例如,执行上述检测模块1501、确定模块1502、获取模块1504、控制模块1505、编码模块1507以及插队模块1508执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块1602用于支持视频数据传输装置与其他设备之间的交互等,例如,执行上述传输模块1503执行的步骤,和/或用于执行本文所描述的技术的其它过程。如图16所示,视频数据传输装置还可以包括存储模块1603,存储模块1603用于存储视频数据传输装置的程序代码和待传输视频帧等。
其中,处理模块1601可以是处理器或控制器,例如图8中的处理器810。通信模块1602可以是收发器、RF电路或通信接口等,例如图8中的移动通信模块850和/或无线通信模块860。存储模块1603可以是存储器,例如图8中的内部存储器821。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种视频数据的传输方法,其特征在于,包括:
检测N条链路的传输质量;其中,所述N条链路用于传输第一视频数据,所述N条链路为不同网络中的链路,所述第一视频数据包括多个视频帧,N为大于或等于2的正整数;
根据所述N条链路的传输质量,确定所述N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,所述第k条链路对应的待传输视频帧为所述第一视频数据的所有视频帧;其中,k的取值为1,2,……N中任意一个值,所述待传输视频帧包括所述第一视频数据的所有关键数据;
在所述第k条链路的传输质量不满足预设条件的情况下,根据所述第k条链路对应的预设比例,按照所述第一视频数据的视频帧的优先级从高到低的顺序,选择所述第一视频数据的视频帧中的部分视频帧作为所述第k条链路对应的待传输视频帧;
其中,所述预设比例满足:其中,η表示所述预设比例,Num1表示所述第一视频数据的视频帧中的非关键视频帧的数量,Num2表示所述第一视频数据的视频帧的总数量;其中,所述非关键视频帧是指包括非关键数据的视频帧;
在所述N条链路中传输所述N条链路分别对应的待传输视频帧;
检测所述第k条链路的传输质量;
根据所述第k条链路的传输质量,调整所述第k条链路对应的预设比例。
2.根据权利要求1所述的方法,其特征在于,检测所述第k条链路的传输质量,包括:
获取所述第k条链路的反馈信息,所述反馈信息包括传输时延和/或重传次数;
根据所述第k条链路的反馈信息,确定所述第k条链路的传输质量;
当所述反馈信息为传输时延时,若所述第k条链路的传输时延小于预设时延,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的传输时延大于或等于预设时延,则所述第k条链路的传输质量不满足所述预设条件;
当所述反馈信息为重传次数时,若所述第k条链路的重传次数小于预设次数,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的重传次数大于或等于预设次数,则所述第k条链路的传输质量不满足所述预设条件;
当所述反馈信息为传输时延和重传次数时,若所述第k条链路的传输时延小于预设时延,且所述第k条链路的重传次数小于预设次数,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的传输时延大于或等于预设阈值,和/或所述第k条链路的重传次数大于或等于预设次数,则所述第k条链路的传输质量不满足所述预设条件。
3.根据权利要求1所述的方法,其特征在于,根据所述第k条链路的传输质量,调整所述第k条链路对应的预设比例,包括:
在所述第k条链路的传输质量满足所述预设条件的情况下,增大所述预设比例;
在所述第k条链路的传输质量不满足所述预设条件的情况下,减小所述预设比例。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据调整后的所述第k条链路对应的预设比例,确定第二视频数据在所述K条链路对应的待传输视频帧;
在所述第k条链路中传输第k条链路对应的待传输视频帧。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
对第一视频数据进行频域分层编码,得到所述第一视频数据的视频帧,所述第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;所述非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,所述第一视频数据的关键数据为所述关键帧的基础帧。
6.根据权利要求5所述的方法,其特征在于,
所述第一视频数据的视频帧的优先级从高到低依次为所述关键帧的基础帧、所述前向帧的基础帧、所述关键帧的扩展帧、所述前向帧的扩展帧。
7.根据权利要求1-4中任一项所述的方法,其特征在于,
第一链路对应的所述第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的所述第一视频数据的视频帧中的第i个视频帧是所述第一视频帧的扩展帧;所述第一链路和所述第二链路是所述N条链路中的两条不同的链路。
8.根据权利要求1-4、6中任一项所述的方法,其特征在于,所述方法还包括:
确定重传视频帧集合,所述重传视频帧集合是所述N条链路各自对应的待重传的视频帧的交集;
以插队传输方式,在第j条链路中传输所述重传视频帧集合中的视频帧;其中,所述第j条链路的传输质量高于其他链路的传输质量,所述其他链路是所述N条链路中除所述第j条链路之外的链路。
9.根据权利要求8所述的方法,其特征在于,在第j条链路中传输所述重传视频帧集合中的视频帧,包括:
按照所述重传视频帧集合中的视频帧的优先级从高到低的顺序,在所述第j条链路中传输。
10.根据权利要求9所述的方法,其特征在于,以插队传输方式,在第j条链路中传输所述重传视频帧集合中的视频帧,包括:
将所述重传视频帧集合插入到所述第j条链路对应的待传输视频帧队列的首位。
11.根据权利要求1-4、6、9任一项所述的方法,其特征在于,在所述N条链路中传输所述N条链路分别对应的待传输视频帧之前,所述方法还包括:
对所述N条链路分别对应的待传输视频帧进行加密。
12.一种视频数据传输装置,其特征在于,包括存储器和处理器,所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述视频数据传输装置执行如权利要求1至11中任一项所述的方法。
13.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在视频数据传输装置上运行时,使得所述视频数据传输装置执行如权利要求1至11中任一项所述的方法。
14.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至11中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729347.XA CN115550683B (zh) | 2021-06-29 | 2021-06-29 | 一种视频数据的传输方法及装置 |
PCT/CN2022/096020 WO2023273763A1 (zh) | 2021-06-29 | 2022-05-30 | 一种视频数据的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729347.XA CN115550683B (zh) | 2021-06-29 | 2021-06-29 | 一种视频数据的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115550683A CN115550683A (zh) | 2022-12-30 |
CN115550683B true CN115550683B (zh) | 2024-12-20 |
Family
ID=84692518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110729347.XA Active CN115550683B (zh) | 2021-06-29 | 2021-06-29 | 一种视频数据的传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115550683B (zh) |
WO (1) | WO2023273763A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405741B (zh) * | 2023-04-21 | 2024-01-16 | 深圳大学 | 基于多条传输路径的视频传输的调度方法、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320669A (zh) * | 2014-10-24 | 2015-01-28 | 北京有恒斯康通信技术有限公司 | 视频传输方法及装置 |
CN107210827A (zh) * | 2014-10-13 | 2017-09-26 | 大力系统公司 | 替换受损视频帧 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945281B (zh) * | 2014-04-29 | 2018-04-17 | 中国联合网络通信集团有限公司 | 视频传输处理方法、装置和系统 |
CN106301733B (zh) * | 2015-06-26 | 2020-11-20 | 中兴通讯股份有限公司 | 数据的传输方法及装置 |
CN105553868A (zh) * | 2015-09-21 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据传输方法、装置以及终端 |
CN105656774B (zh) * | 2016-01-12 | 2018-10-23 | 东北大学 | 一种网络实时视频会话媒体数据多径混合冗余传输方法 |
US10505597B2 (en) * | 2016-05-09 | 2019-12-10 | Qualcomm Incorporated | Reference signals and link adaptation for massive MIMO |
CN110943919A (zh) * | 2018-09-25 | 2020-03-31 | 中兴通讯股份有限公司 | 链路汇聚传输方法、装置、终端及存储介质 |
EP4510750A2 (en) * | 2018-09-27 | 2025-02-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Sidelink feedback |
CN109412756A (zh) * | 2018-11-09 | 2019-03-01 | 广州美凯信息技术股份有限公司 | 一种基于光纤4khdr超高清视频传输的双链路备份方法、系统及存储介质 |
CN109951722A (zh) * | 2019-02-27 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 视频数据的传输方法及传输装置 |
CN111726882B (zh) * | 2019-03-19 | 2025-02-25 | 华为技术有限公司 | 数据传输的方法及装置 |
CN111294664A (zh) * | 2019-05-28 | 2020-06-16 | 杭州萤石软件有限公司 | 音视频传输数据方法、电子设备及存储介质 |
CN110225347A (zh) * | 2019-06-24 | 2019-09-10 | 北京大米科技有限公司 | 视频数据传输方法、装置、电子设备和存储介质 |
CN111901075B (zh) * | 2020-07-16 | 2021-11-23 | 华中科技大学 | 多网络融合传输方法、传输系统及计算机可读存储介质 |
CN112383472A (zh) * | 2020-11-13 | 2021-02-19 | Oppo广东移动通信有限公司 | 网络传输方法、装置、存储介质及电子设备 |
-
2021
- 2021-06-29 CN CN202110729347.XA patent/CN115550683B/zh active Active
-
2022
- 2022-05-30 WO PCT/CN2022/096020 patent/WO2023273763A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107210827A (zh) * | 2014-10-13 | 2017-09-26 | 大力系统公司 | 替换受损视频帧 |
CN104320669A (zh) * | 2014-10-24 | 2015-01-28 | 北京有恒斯康通信技术有限公司 | 视频传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023273763A1 (zh) | 2023-01-05 |
CN115550683A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381345B (zh) | 一种投屏显示方法及电子设备 | |
CN115426064B (zh) | 音频数据的同步方法及设备 | |
JP7324311B2 (ja) | オーディオ及びビデオ再生方法、端末、並びにオーディオ及びビデオ再生装置 | |
CN110519632B (zh) | 投屏方法及设备 | |
CN114726946A (zh) | 一种自动切换蓝牙音频编码方式的方法及电子设备 | |
CN113542839A (zh) | 电子设备的投屏方法和电子设备 | |
CN111132234A (zh) | 一种数据传输方法及对应的终端 | |
WO2021017909A1 (zh) | 一种通过nfc标签实现功能的方法、电子设备及系统 | |
CN114489533A (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
WO2021043250A1 (zh) | 一种蓝牙通信方法及相关装置 | |
CN115550683B (zh) | 一种视频数据的传输方法及装置 | |
CN114205336A (zh) | 跨设备音频播放方法、移动终端、电子设备及存储介质 | |
CN114339429A (zh) | 音视频播放控制方法、电子设备和存储介质 | |
CN113810595A (zh) | 视频拍摄的编码方法、设备、存储介质和程序产品 | |
CN113497851A (zh) | 控制显示方法及电子设备 | |
CN113923528A (zh) | 屏幕共享方法、终端和存储介质 | |
WO2024012345A1 (zh) | 一种投屏画面的处理方法及相关装置 | |
WO2022042151A1 (zh) | 一种录音方法和设备 | |
WO2022042281A1 (zh) | 一种编解码方法、装置及系统 | |
CN111294905B (zh) | 图像处理方法、图像处理装置、存储介质与电子设备 | |
CN115145517A (zh) | 一种投屏方法、电子设备和系统 | |
WO2022042261A1 (zh) | 屏幕共享方法、电子设备及系统 | |
US12279079B2 (en) | Projection display method and electronic device | |
WO2024067432A1 (zh) | 一种音频传输方法、系统以及相关装置 | |
WO2022095581A1 (zh) | 数据传输方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |