CN113038178A - 一种视频帧的传输控制方法及装置 - Google Patents
一种视频帧的传输控制方法及装置 Download PDFInfo
- Publication number
- CN113038178A CN113038178A CN202110208366.8A CN202110208366A CN113038178A CN 113038178 A CN113038178 A CN 113038178A CN 202110208366 A CN202110208366 A CN 202110208366A CN 113038178 A CN113038178 A CN 113038178A
- Authority
- CN
- China
- Prior art keywords
- frame
- video frames
- frames
- total number
- video
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 title claims abstract description 48
- 239000000872 buffer Substances 0.000 claims abstract description 138
- 238000012217 deletion Methods 0.000 claims abstract description 53
- 230000037430 deletion Effects 0.000 claims abstract description 50
- 230000003139 buffering effect Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 description 5
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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
- H04N21/2343—Processing 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
-
- 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/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种视频帧的传输控制方法及装置,涉及视频传输技术领域,能够解决现有技术中视频帧在缓冲列队中积压导致的接收端收到视频帧延时过大的问题。具体技术方案为:首先对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;然后判断视频帧总数是否大于第一预设阈值;最后在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开用于视频帧的传输。
Description
技术领域
本公开涉及视频传输技术领域,尤其涉及一种视频帧的传输控制方法及装置。
背景技术
现有图传系统中,在采集端编码器编出视频帧后,一般会将编码好的视频帧放在一个缓冲队列中,由另一个发送线程将这些视频帧通过网络发送给接收端。但此场景下,常常会由于网络带宽或者采集端性能等原因,发送线程不能将视频帧及时发送给接收端,这种情况下,由于视频帧在缓冲队列中不断积压,会导致接收端收到的视频帧延时过大。
发明内容
本公开实施例提供一种视频帧的传输控制方法及装置,能够解决现有技术中视频帧在缓冲列队中积压导致的接收端收到视频帧延时过大的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种视频帧的传输控制方法,该方法包括:
对缓冲队列中的视频帧总数进行检测,所述缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
判断所述视频帧总数是否大于第一预设阈值;
在所述视频帧总数大于所述第一预设阈值时,对所述缓冲列队中的视频帧进行删帧处理,当所述缓冲列队中的剩余视频帧总数小于第二预设阈值时结束所述删帧处理。
本公开实施例提供的视频帧的传输控制方法,首先对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;然后判断视频帧总数是否大于第一预设阈值;最后在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开提供的视频帧的传输控制方法,能够在带宽或者采集端性能不能保证实时传输时,通过合理的删帧策略来保证接收端接收视频的实时性。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
按照预设时间间隔对所述缓冲队列中的视频帧总数进行检测。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
在有新的视频帧缓存入所述缓冲队列时,对所述缓冲队列中的视频帧总数进行检测。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
每存储预设数量的视频帧后,对所述缓冲队列中的视频帧总数进行检测。
在一个实施例中,对所述缓冲列队中的视频帧进行删帧处理包括:
从所述缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除。
本公开实施例通过上述方法,从缓冲列队中最先缓存的图像组开始,以图像组为单位进行删除,删除效率高,能够快速使得缓冲列队中的视频帧数量达到预设的数量范围内。
在一个实施例中,上述方法还包括:
在所述缓冲列队中无视频帧,且当前缓存帧为图像组Gn中的Pni帧时,删除所述Pni帧,并向编码器请求图像组Gn+1。
本公开实施例通过上述方法,避免了当前P帧在没有I帧的情况下,传输给接收端,而在接收端不能解码的情况,保证了剩余视频帧发送到接收端以后都是可以被解码的,提高了传输视频帧的有效性。
在一个实施例中,对所述缓冲列队中的视频帧进行删帧处理包括:
从所述缓冲列队中最先缓存的图像组G1开始至图像组Gn,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
本公开实施例通过上述方法,从缓冲列队中最先缓存的图像组开始,且在图像组内以最后缓存的视频帧开始逐帧进行删除,能够使尽量多的视频帧传输给接收端,最大限度地减少了视频帧的删减率。
在一个实施例中,上述方法还包括:
在当前缓存帧为图像组Gn中的Pni帧,且所述缓冲列队中的Pn(i-1)帧删除时,则删除所述Pni帧,并向编码器请求图像组Gn+1;或
在当前缓存帧为图像组Gn中的Pn1帧,且所述缓冲列队中的In帧删除时,则删除所述Pn1帧,并向编码器请求图像组Gn+1。
本公开实施例通过上述方法,避免了当前Pni帧在没有I帧或没有Pn(i-1)的情况下,传输给接收端,而在接收端不能解码的情况,保证了剩余视频帧发送到接收端以后都是可以被解码的,提高了传输视频帧的有效性。
根据本公开实施例的第二方面,提供一种视频帧的传输控制装置,包括:检测模块、判断模块和删帧模块;
所述检测模块,用于对缓冲队列中的视频帧总数进行检测,所述缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
所述判断模块,用于判断所述视频帧总数是否大于第一预设阈值;
所述删帧模块,用于在所述视频帧总数大于所述第一预设阈值时,对所述缓冲列队中的视频帧进行删帧处理,当所述缓冲列队中的剩余视频帧总数小于第二预设阈值时结束所述删帧处理。
本公开实施例提供的装置,包括检测模块、判断模块和删帧模块;检测模块对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;判断模块判断视频帧总数是否大于第一预设阈值;删帧模块在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开提供的视频帧的传输控制方法,能够在带宽或者采集端性能不能保证实时传输时,通过合理的删帧策略来保证接收端接收视频的实时性。
在一个实施例中,删帧模块具体用于从所述缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除;或,
所述删帧模块,具体用于从所述缓冲列队中最先缓存的图像组G1开始至图像组Gn,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
根据本公开实施例的第三方面,提供一种视频帧的传输控制设备,所述视频帧的传输控制设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现上述任一项所述的视频帧的传输控制方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现上述任一项所述的视频帧的传输控制方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种视频帧的传输控制方法的流程图;
图2是本公开实施例提供的一种视频帧的传输控制方法的流程图;
图3是本公开实施例提供的一种视频帧的传输控制装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种视频帧的传输控制方法,如图1所示,该视频帧的传输控制方法包括以下步骤:
步骤101、对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
具体的,在一个图像组(GOP)中,Pi1帧依赖于前面的Ii帧,同时,Pi(j+1)帧依赖于Pij帧。假设,在一种帧间编码算法中,一个图像组中包括位于最前面缓存的一个I帧和m个P帧,则两个顺序排列的图像组示例如下:
I1,P11,P12,…,P1m,I2,P21,P22,…,P2m
针对上面示例的两个图形组,其在缓冲队列中的帧序列如下:
P2m,…,P22,P21,I2,P1m,…,P12,P11,I1
缓冲队列中的帧序列按照“先进先出”原则进行排列,最靠前,即最先缓存(图示最右)的视频帧会最先被发送。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
按照预设时间间隔对缓冲队列中的视频帧总数进行检测。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
在有新的视频帧缓存入缓冲队列时,对缓冲队列中的视频帧总数进行检测。
在一个实施例中,对缓冲队列中的视频帧总数进行检测包括:
每存储预设数量的视频帧后,对缓冲队列中的视频帧总数进行检测。
步骤102、判断视频帧总数是否大于第一预设阈值;
具体的,第一预设阈值的大小可以参考视频的帧率,如帧率为30的视频帧,第一预设阈值可以设定为30。这种情况下,当采集端缓冲队列中的视频帧为30时,此时接收端的视频延时已经在1s以上了。这里第一预设阈值的设置取决于可容忍的延时,比如:如果可容忍2s以上的延时,则第一预设阈值=2×帧率=60,以此类推。
步骤103、在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。
本实施例中,第二预设阈值可以根据实际需要进行设置,一般取小于等于缓存列的对中视频帧总数的正整数。
在一个实施例中,对缓冲列队中的视频帧进行删帧处理包括:
从缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除。
实际使用中,从最靠前的第一个图像组开始以图像组为单位进行删除,每删除一个图像组时,判断当前缓冲队列中剩余视频帧的总数目是否小于第二预设阈值,当小于第二预设阈值时结束删帧操作。
本公开实施例通过上述方法,从缓冲列队中最先缓存的图像组开始,以图像组为单位进行删除,删除效率高,能够快速使得缓冲列队中的视频帧数量达到预设的数量范围内。
在一个实施例中,上述方法还包括:
在缓冲列队中无视频帧,且当前缓存帧为图像组Gn中的Pni帧时,删除Pni帧,并向编码器请求图像组Gn+1。
具体的,如果删完倒数第二个图像组后,缓冲队列中剩余视频帧的总数目仍大于第二预设阈值,则将剩余的最后一个GOP删除(缓冲区中的视频帧全部被删除),此时,如果最新的一帧是一个P帧,则由于该P帧所依赖的前一帧P帧或者I帧已经被删除,该P帧无法被正常解码,因此,在这种情况下,直接删除当前P帧,并向编码器重新请求下一个图像组中的I帧;如果最新一帧是一个I帧,则将该I帧存入缓冲区。
下面举一个具体示例对上述方案进行说明:
P41,I4,P3m,…,P32,P31,I3,P2m,…,P22,P21,I2,P1m,…,P12,P11,I1
假设当前缓冲列队中存储的视频帧如上,当新的视频帧P42即将存入缓存列队时,判断当前缓冲列队的视频帧总数是否大于第一预设阈值,如果大于第一预设阈值,则进行删帧处理。具体的,首先删除位于最前面先缓存的第一个图像组G1(包括:P1m,…,P12,P11,I1),然后判断删除后的视频帧总数是否小于第二预设阈值,如果小于第二预设阈值,则结束删帧处理;如果不小于第二预设阈值,则继续删除下一个图像组G2,以此类推,如果删除完倒数第二个G3(包括:P3m,…,P32,P31,I3),缓存列队中的视频帧总数还是不小于第二预设阈值,则继续删除剩余的图像组G4,同时,在删除缓冲列队中的所有视频帧后,由于当前新的视频帧是一个P帧,其解码所依赖的前一差别帧、关键帧都已经被删除,此时,直接删除当前P帧,并重新向编码器请求下一个图像组中的I帧。
本公开实施例通过上述方法,避免了当前P帧在没有I帧的情况下,传输给接收端,而在接收端不能解码的情况,保证了剩余视频帧发送到接收端以后都是可以被解码的,提高了传输视频帧的有效性。
在一个实施例中,对缓冲列队中的视频帧进行删帧处理包括:
从缓冲列队中最先缓存的图像组G1开始至图像组Gn,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
实际使用中,从最靠前的第一个图像组开始,在该图形组中从最后一帧开始往前依次删除,直到缓冲区剩余视频帧总数小于第二预设阈值时结束;如果第一个图像组全部删除仍然大于第二预设阈值,则继续在第二个图像组中从最后一帧开始往前依次删除,直到缓冲区剩余视频帧总数小于第二预设阈值时结束。
本公开实施例通过上述方法,从缓冲列队中最先缓存的图像组开始,且在图像组内以最后缓存的视频帧开始逐帧进行删除,能够使尽量多的视频帧传输给接收端,最大限度地减少了视频帧的删减率。
在一个实施例中,上述方法还包括:
在当前缓存帧为图像组Gn中的Pni帧,且缓冲列队中的Pn(i-1)帧删除时,则删除Pni帧,并向编码器请求图像组Gn+1;或
在当前缓存帧为图像组Gn中的Pn1帧,且缓冲列队中的In帧删除时,则删除Pn1帧,并向编码器请求图像组Gn+1。
具体的,如果删除完倒数第二个图像组后,剩余视频帧总数仍没有小于第二预设阈值,则继续在最后一个GOP中进行删帧,直到缓冲区剩余视频帧总数小于第二预设阈值时结束,此时,如果最新一帧是P帧,则直接丢弃最新一帧,并向编码器请求下一个图像组中的I帧,如果最新一帧是I帧,则直接存入缓冲区。
下面仍以上述示例进行说明,假设当前缓冲列队中存储的视频帧为P41,I4,P3m,…,P32,P31,I3,P2m,…,P22,P21,I2,P1m,…,P12,P11,I1,当新的视频帧P42即将存入缓存列队时,判断当前缓冲列队的剩余视频帧总数是否大于第一预设阈值(30),如果大于第一预设阈值,则进行删帧处理;具体的,首先从位于最前面先缓存的第一个图像组G1(包括:P1m,…,P12,P11,I1)中,从最后一个P1m帧往前依次删除,每删除一帧之后判断删除后的剩余视频帧总数是否小于第二预设阈值(10),如果小于第二预设阈值,则结束删帧处理,如果不小于第二预设阈值,则继续删帧,直到删完第一个图像组G1;此时,继续在下一个图像组G2中以与上述类似方式进行删帧,如果删除完倒数第二个图像组G3(包括:P3m,…,P32,P31,I3),剩余视频帧的总数还是不小于第二预设阈值,则在最后一个图像组G4中按照上述方式依次删帧,直到剩余视频帧的总数小于第二预设阈值时结束,此时,由于当前新的视频帧是一个P帧,其所在的图像组G4中进行了删帧,导致其解码所依赖的前一帧已经被删除,因此,需要直接删除当前P帧,并重新向编码器请求下一个图像组中的I帧。
本公开实施例通过上述方法,避免了当前Pni帧在没有I帧或没有Pn(i-1)的情况下,传输给接收端,而在接收端不能解码的情况,保证了剩余视频帧发送到接收端以后都是可以被解码的,提高了传输视频帧的有效性。
本公开实施例提供的视频帧的传输控制方法,首先对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;然后判断视频帧总数是否大于第一预设阈值;最后在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开提供的视频帧的传输控制方法,能够在带宽或者采集端性能不能保证实时传输时,通过合理的删帧策略来保证接收端接收视频的实时性。
基于上述图1对应的实施例提供的视频帧的传输控制方法,本公开另一实施例提供一种视频帧的传输控制方法,如图2所示。
步骤201、对缓冲队列中视频帧数目N进行检测,判断N是否大于第一预设阈值;
具体的,第一预设阈值的大小可以参考视频的帧率,如帧率为30的视频帧,第一预设阈值可以设定为30。这种情况下,当采集端缓冲队列中的视频帧为30时,此时接收端的视频延时已经在1s以上了。这里第一预设阈值的设置取决于可容忍的延时,比如,上例中如果可容忍2s以上的延时,则第一预设阈值=2×帧率=60。以此类推。
实际实现时,可以按照预设频率对缓冲队列中的视频帧数目N进行检测;或者,在有新帧存入缓冲队列时进行视频帧数目N的检测;或者,每存储固定数量的视频帧之后,进行一次视频帧数目N的检测。
步骤202、在缓冲队列中的视频帧数目N大于第一预设阈值时,对其执行删帧策略;
具体的,本公开提出的删帧策略对应于编码策略,总的原则就是:在采集端执行删帧策略以后,需要保证剩余帧发送到接收端以后是可以被解码的。
本公开所提出的删帧策略,所针对的帧间编码策略是:在一个图像组(GOP)中,Pi1帧依赖于前面的Ii帧,同时,Pi(j+1)帧依赖于Pij帧。假设,在一种帧间编码算法中,一个图像组中包括位于最前面的一个I帧和m个P帧,则两个顺序排列的图像组示例如下:
I1,P11,P12,…,P1m,I2,P21,P22,…,P2m
针对上面示例的两个图形组,其在缓冲队列中的帧序列如下:
P2m,…,P22,P21,I2,P1m,…,P12,P11,I1
缓冲队列中的帧序列按照“先进先出”原则进行排列,最靠前(图示最右)的帧会最先被发送。
本公开所提出的删帧策略是:
当满足删帧条件时,进行帧删除操作,直到缓冲队列中剩余帧的总数目小于第二预设阈值M(比如,10)时结束帧删除操作。
M可以根据实际需要进行设置,一般取小于等于N的正整数。
1)可以按照下述方式进行帧删除操作:
从最靠前的第一个图像组开始以图像组为单位进行删除,每删除一个图像组时,判断当前缓冲队列中剩余帧的总数目小于第二预设阈值时结束帧删除操作。如果删完倒数第二个图像组后,缓冲队列中剩余帧的总数目仍大于第二预设阈值,则将剩余的最后一个GOP删除(缓冲区中的视频帧全部被删除),此时,如果最新的一帧是一个P帧,则由于该P帧所依赖的前一帧P帧或者I帧已经被删除,该P帧无法被正常解码,因此,在这种情况下,直接删除当前P帧,并向编码器重新请求下一个图像组中的I帧;如果最新一帧是一个I帧,则将该帧存入缓冲区。
下面举一个具体示例对上述方案进行说明:
P41,I4,P3m,…,P32,P31,I3,P2m,…,P22,P21,I2,P1m,…,P12,P11,I1
假设当前缓冲区中存储的视频帧如上,当新的视频帧P42即将存入缓存区时,判断当前缓冲区的帧总数是否大于第一预设阈值,如果大于,则进行删帧操作,具体的,首先删除位于最前面的第一个GOP(包括:P1m,…,P12,P11,I1),然后判断删除后的帧数量是否小于第二预设阈值,如果小于,则结束删帧操作;如果不小于第二预设阈值,则继续删除下一个GOP,以此类推,如果删除完倒数第二个GOP(包括:P3m,…,P32,P31,I3),总帧数还是不小于第二预设阈值,则继续删除剩余的GOP,同时,在删除缓冲区所有视频帧后,由于当前新的视频帧是一个P帧,其解码所依赖的前一帧,以及前面所有的视频帧都已经被删除,此时,直接删除当前帧,并重新向编码器请求下一个图像组中的I帧。
2)可以按照下述方式进行帧删除操作:
从最靠前的第一个图像组开始,在该图形组中从最后一帧开始往前依次删除,直到缓冲区剩余帧数小于第二预设阈值时结束;如果第一个图像组全部删除仍然大于第二预设阈值,则继续在第二个图像组中从最后一帧开始往前依次删除,直到缓冲区剩余帧数小于第二预设阈值时结束;如果删除完倒数第二个图像组后,剩余帧数仍没有小于第二预设阈值,则继续在最后一个GOP中进行删帧,直到缓冲区剩余帧数小于第二预设阈值时结束,此时,如果最新一帧是P帧,则直接丢弃最新一帧,并向编码器请求下一个图像组中的I帧,如果最新一帧是I帧,则直接存入缓冲区。
下面仍以上述示例进行说明,假设当前缓冲区中存储的视频帧如上,当新的视频帧P42即将存入缓存区时,判断当前缓冲区的剩余帧数是否大于第一预设阈值(30),如果大于第一预设阈值,则进行删帧操作;具体的,首先从位于最前面的第一个GOP(包括:P1m,…,P12,P11,I1)中,从最后一个P帧往前依次删除,每删除一帧之后判断删除后的剩余帧数是否小于第二预设阈值(10),如果小于第二预设阈值,则结束删帧操作,如果不小于第二预设阈值则继续删帧,直到删完第一GOP;此时,继续在下一个GOP中以与上述类似方式进行删帧,如果删除完倒数第二个GOP(包括:P3m,…,P32,P31,I3),剩余帧的总数还是不小于第二预设阈值,则在最后一个GOP中按照上述方式依次删帧,直到剩余帧的总数小于第二预设阈值时结束,此时,由于当前新的视频帧是一个P帧,其所在的GOP中进行了删帧,导致其解码所依赖的前一帧已经被删除,因此,需要直接删除当前帧,并重新向编码器请求下一个图像组中的I帧。
本公开实施例提供的视频帧的传输控制方法,首先对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;然后判断视频帧总数是否大于第一预设阈值;最后在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开提供的视频帧的传输控制方法,能够在带宽或者采集端性能不能保证实时传输时,通过合理的删帧策略来保证接收端接收视频的实时性。
基于上述图1和图2对应的实施例中所描述的视频帧的传输控制方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种视频帧的传输控制装置,如图3所示,该装置30包括检测模块301、判断模块302和删帧模块303;
检测模块301,用于对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
判断模块302,用于判断视频帧总数是否大于第一预设阈值;
删帧模块303,用于在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。
本公开实施例提供的装置,包括检测模块301、判断模块302和删帧模块303;检测模块301对缓冲队列中的视频帧总数进行检测,缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;判断模块302判断视频帧总数是否大于第一预设阈值;删帧模块303在视频帧总数大于第一预设阈值时,对缓冲列队中的视频帧进行删帧处理,当缓冲列队中的剩余视频帧总数小于第二预设阈值时结束删帧处理。本公开提供的视频帧的传输控制方法,能够在带宽或者采集端性能不能保证实时传输时,通过合理的删帧策略来保证接收端接收视频的实时性。
在一个实施例中,删帧模块具体用于从缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除;或,
删帧模块,具体用于从缓冲列队中最先缓存的图像组G1开始至图像组G n,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
基于上述图1和图2对应的实施例中描述的视频帧的传输控制方法,本公开另一实施例还提供一种视频帧的传输控制设备,该视频帧的传输控制设备包括处理器和存储器,存储器中存储有至少一条计算机指令,该指令由处理器加载并执行以实现上述图1和图2对应的实施例中所描述的视频帧的传输控制方法。
基于上述图1和图2对应的实施例中所描述的视频帧的传输控制方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有至少一条计算机指令,用于执行上述图1和图2对应的实施例中所描述的视频帧的传输控制方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种视频帧的传输控制方法,其特征在于,所述方法包括:
对缓冲队列中的视频帧总数进行检测,所述缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
判断所述视频帧总数是否大于第一预设阈值;
在所述视频帧总数大于所述第一预设阈值时,对所述缓冲列队中的视频帧进行删帧处理,当所述缓冲列队中的剩余视频帧总数小于第二预设阈值时结束所述删帧处理。
2.根据权利要求1所述的视频帧的传输控制方法,其特征在于,所述对缓冲队列中的视频帧总数进行检测包括:
按照预设时间间隔对所述缓冲队列中的视频帧总数进行检测。
3.根据权利要求1所述的视频帧的传输控制方法,其特征在于,所述对缓冲队列中的视频帧总数进行检测包括:
在有新的视频帧缓存入所述缓冲队列时,对所述缓冲队列中的视频帧总数进行检测。
4.根据权利要求1所述的视频帧的传输控制方法,其特征在于,所述对缓冲队列中的视频帧总数进行检测包括:
每存储预设数量的视频帧后,对所述缓冲队列中的视频帧总数进行检测。
5.根据权利要求1所述的视频帧的传输控制方法,其特征在于,所述对所述缓冲列队中的视频帧进行删帧处理包括:
从所述缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除。
6.根据权利要求5所述的视频帧的传输控制方法,其特征在于,所述方法还包括:
在所述缓冲列队中无视频帧,且当前缓存帧为图像组Gn中的Pni帧时,删除所述Pni帧,并向编码器请求图像组Gn+1。
7.根据权利要求1所述的视频帧的传输控制方法,其特征在于,所述对所述缓冲列队中的视频帧进行删帧处理包括:
从所述缓冲列队中最先缓存的图像组G1开始至图像组Gn,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
8.根据权利要求7所述的视频帧的传输控制方法,其特征在于,所述方法还包括:
在当前缓存帧为图像组Gn中的Pni帧,且所述缓冲列队中的Pn(i-1)帧删除时,则删除所述Pni帧,并向编码器请求图像组Gn+1;或
在当前缓存帧为图像组Gn中的Pn1帧,且所述缓冲列队中的In帧删除时,则删除所述Pn1帧,并向编码器请求图像组Gn+1。
9.一种视频帧的传输控制装置,其特征在于,包括:检测模块、判断模块和删帧模块;
所述检测模块,用于对缓冲队列中的视频帧总数进行检测,所述缓冲队列中包括n个图像组G,每个图像组G包括关键I帧和m个差别P帧;
所述判断模块,用于判断所述视频帧总数是否大于第一预设阈值;
所述删帧模块,用于在所述视频帧总数大于所述第一预设阈值时,对所述缓冲列队中的视频帧进行删帧处理,当所述缓冲列队中的剩余视频帧总数小于第二预设阈值时结束所述删帧处理。
10.根据权利要求9所述的视频帧的传输控制装置,其特征在于,所述删帧模块具体用于从所述缓冲列队中最先缓存的图像组G1至图像组Gn开始逐组进行删除;或,
所述删帧模块,具体用于从所述缓冲列队中最先缓存的图像组G1开始至图像组Gn,且每个图像组中由Pm帧至P1帧、I帧逐帧进行删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208366.8A CN113038178A (zh) | 2021-02-24 | 2021-02-24 | 一种视频帧的传输控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110208366.8A CN113038178A (zh) | 2021-02-24 | 2021-02-24 | 一种视频帧的传输控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113038178A true CN113038178A (zh) | 2021-06-25 |
Family
ID=76461479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110208366.8A Pending CN113038178A (zh) | 2021-02-24 | 2021-02-24 | 一种视频帧的传输控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038178A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114222166A (zh) * | 2021-09-29 | 2022-03-22 | 重庆创通联达智能技术有限公司 | 多路视频码流实时处理、同屏播放方法及相关系统 |
CN115802074A (zh) * | 2022-11-10 | 2023-03-14 | 中国联合网络通信集团有限公司 | 一种多路视频传输方法、装置、设备及介质 |
-
2021
- 2021-02-24 CN CN202110208366.8A patent/CN113038178A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114222166A (zh) * | 2021-09-29 | 2022-03-22 | 重庆创通联达智能技术有限公司 | 多路视频码流实时处理、同屏播放方法及相关系统 |
CN114222166B (zh) * | 2021-09-29 | 2024-02-13 | 重庆创通联达智能技术有限公司 | 多路视频码流实时处理、同屏播放方法及相关系统 |
CN115802074A (zh) * | 2022-11-10 | 2023-03-14 | 中国联合网络通信集团有限公司 | 一种多路视频传输方法、装置、设备及介质 |
CN115802074B (zh) * | 2022-11-10 | 2024-03-29 | 中国联合网络通信集团有限公司 | 一种多路视频传输方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660879B (zh) | 直播丢帧方法、系统、计算机设备和存储介质 | |
CN106713913B (zh) | 视频图像帧发送方法及装置、视频图像帧接收方法及装置 | |
CN110366033B (zh) | 一种视频播放方法、装置、设备及存储介质 | |
CN113038178A (zh) | 一种视频帧的传输控制方法及装置 | |
KR102025757B1 (ko) | 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체 | |
EP3471422B1 (en) | Video playback method and apparatus for selecting a video frame discarding scheme | |
WO2019062050A1 (zh) | 直播管控方法、装置及电子设备 | |
CN108141581B (zh) | 视频编码 | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
CN108924574B (zh) | 录播系统中的丢包处理方法、装置、设备及存储介质 | |
CN111093083B (zh) | 数据传输方法及装置 | |
EP2571262A1 (en) | Method and device for processing image display | |
CN105898358B (zh) | 视频数据的发送方法及装置 | |
US10681400B2 (en) | Method and device for transmitting video | |
US9467639B2 (en) | Video transmission apparatus and control method for video transmission apparatus | |
CN107817944B (zh) | 一种数据处理方法及存储设备 | |
CN110677715B (zh) | 一种解码方法、解码器、电子设备及存储介质 | |
CN114302140B (zh) | 一种预丢帧方法、系统、设备及计算机可读存储介质 | |
CN115633181A (zh) | 图片处理方法、系统、装置、图像压缩装置及存储介质 | |
CN108600696B (zh) | 一种视频流解码方法及解码设备 | |
US20140149684A1 (en) | Apparatus and method of controlling cache | |
CN111836117B (zh) | 一种补帧数据的发送方法、装置及相关组件 | |
CN110602507A (zh) | 丢帧处理方法、设备及系统 | |
CN117221617B (zh) | 直播推流系统、方法及计算机存储介质 | |
CN112667686B (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 |