CN104702968B - 一种视频帧丢帧方法及视频发送装置 - Google Patents

一种视频帧丢帧方法及视频发送装置 Download PDF

Info

Publication number
CN104702968B
CN104702968B CN201510091898.2A CN201510091898A CN104702968B CN 104702968 B CN104702968 B CN 104702968B CN 201510091898 A CN201510091898 A CN 201510091898A CN 104702968 B CN104702968 B CN 104702968B
Authority
CN
China
Prior art keywords
frame
video
frames
sequence
video 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
Application number
CN201510091898.2A
Other languages
English (en)
Other versions
CN104702968A (zh
Inventor
付洋
王提政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN201510091898.2A priority Critical patent/CN104702968B/zh
Publication of CN104702968A publication Critical patent/CN104702968A/zh
Priority to EP15882362.5A priority patent/EP3253064A4/en
Priority to PCT/CN2015/083667 priority patent/WO2016131223A1/zh
Priority to US15/678,846 priority patent/US10659847B2/en
Application granted granted Critical
Publication of CN104702968B publication Critical patent/CN104702968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods 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
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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

Abstract

本发明的实施例提供一种视频帧丢帧方法及视频发送装置,能够减少丢帧数量,从而提高视频播放的流畅度,改善用户体验。具体方案包括:获取待发送视频的视频帧序列;根据预设标准,建立所述视频帧序列中各视频帧之间的参考关系;在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;当所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。本发明用于对视频帧进行丢帧处理。

Description

一种视频帧丢帧方法及视频发送装置
技术领域
本发明涉及通信领域,尤其涉及一种视频帧丢帧方法及视频发送装置。
背景技术
随着移动互联网的普及,IPC(IP Camera,网络摄像机)视频在手机等移动终装置上被点播的机率也越来越大。然而,受无线网络的稳定性和带宽不足的影响,容易出现视频画面不清晰,甚至出现视频画面卡住的情况,视频的播放不流畅。因此如何在网络不稳定、带宽有限的无线网络上进行视频的流畅播放,是一个迫切需要解决的问题。
现有技术中,对待发送视频进行编码,生成满帧率码流,当网络环境好时,发送满帧率码流,当网络环境差时,通过丢帧的方式快速降低视频发送帧率,以适应实际的网络环境。具体的,当网络环境差造成缓冲区溢出时,将缓冲区的最后一帧和下一个IDR帧之间的整段视频帧全部丢掉。当下一个IDR帧出现时,进行缓冲区溢出判断,若缓冲区有空闲,则保留该IDR帧并发送后续帧,若缓冲区仍然为溢出状态,则丢弃该IDR帧直到再下一个IDR帧。这种丢帧方式是将一段连续的视频帧集中丢弃,由于在一次丢帧中所丢弃视频帧的数量大,导致画面长时间卡顿的情形,尤其在丢掉IDR帧后,画面卡顿更加严重,导致用户体验差。
发明内容
本发明的实施例提供一种视频帧丢帧方法及视频发送装置,相对现有技术能够降低丢帧数量的占比,从而在一定程度上提高视频播放的流畅度,改善用户体验。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,一种视频帧丢帧方法,包括:
获取待发送视频的视频帧序列;
根据预设标准,建立所述视频帧序列中各视频帧之间的参考关系;所述参考关系包括:所述视频帧序列中的第m帧引用第m-h帧为参考帧;所述视频帧序列中的第n帧,被所述第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,所述视频帧序列中视频帧的数量不小于n+2;
在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
当所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。
结合第一方面,在第一种可能的实现方式中,所述预设标准为对视频播放流畅度的要求;
其中,所述参考关系中,所述视频播放流畅度的要求越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
结合第一方面,在第二种可能的实现方式中,所述预设标准为所述视频帧序列内每个视频帧的重要性;
其中,所述参考关系中,重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧。
结合第一方面,在第三种可能的实现方式中,所述预设标准为网络的基准发送速率;
其中,所述网络的基准发送速率越高,所述参考关系中,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
结合第一方面至第一方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述视频帧序列中各视频帧之间的参考关系具体包括:
当所述视频帧序列的首帧为即时解码刷新IDR帧时,所述IDR帧之后的每一个视频帧均引用所述IDR帧为参考帧。
结合第一方面至第一方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。
结合第一方面至第一方面的第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述方法还包括:
当所述数据占用长度不大于预设阈值时,将所述当前待缓存的视频帧存入所述发送缓冲区。
第二方面,一种视频发送装置,包括:
获取单元,用于获取待发送视频的视频帧序列;
编码单元,用于根据预设标准,建立所述获取单元获取的所述视频帧序列中各视频帧之间的参考关系;所述参考关系包括:所述视频帧序列中的第m帧引用第m-h帧为参考帧;所述视频帧序列中的第n帧,被所述第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,所述视频帧序列中视频帧的数量不小于n+2;
检测单元,用于在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
丢帧单元,用于当所述检测单元检测到所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。
结合第二方面,在第一种可能的实现方式中,所述预设标准为对视频播放流畅度的要求;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:所述视频播放流畅度的要求越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
结合第二方面,在第二种可能的实现方式中,所述预设标准为所述视频帧序列内每个视频帧的重要性;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧。
结合第二方面,在第三种可能的实现方式中,所述预设标准为网络的基准发送速率;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:所述网络的基准发送速率越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多。
结合第二方面至第二方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述视频帧序列中各视频帧之间的参考关系具体包括:
当所述视频帧序列的首帧为即时解码刷新IDR帧时,所述IDR帧之后的每一个视频帧均引用所述IDR帧为参考帧。
结合第二方面至第二方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。
结合第二方面至第二方面的第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述丢帧单元,还用于当所述检测单元检测到所述数据占用长度不大于预设阈值时,将所述当前待缓存的视频帧存入所述发送缓冲区。
本发明的实施例所提供的视频帧丢帧方法及视频发送装置,根据预设标准建立所述视频帧序列中各视频帧之间的参考关系,并进一步确定是否丢帧。在所述视频帧序列发送的过程中,在确定丢帧时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧。视频帧序列中的第n帧(非IDR帧),被第n帧后的视频帧中的至少两个视频帧引用为参考帧,针对第n帧为参考帧的一个视频帧,当确定丢弃该视频帧时,其它以第n帧为参考帧的视频帧仍旧可以保留,而无需丢帧直到出现IDR帧为止,从而减小了在一次丢帧中所丢弃视频帧的数量,避免出现长时间画面卡顿的情况。当非IDR帧的视频帧需要被丢弃时,这种情况只需丢弃引用该视频帧的其他引用帧,作为整个方案而言,相对现有技术能够降低丢帧数量的占比,从而在一定程度上提高了视频播放的流畅度,改善用户体验。
同时,在一次丢帧结束之后,如果网络环境好转,对于保留的视频帧则可以以较高的帧率发送,实现了按照网络环境的变化降低或者升高视频发送帧率的目的,从而减小了丢弃视频帧的数量,提高了视频播放的流畅度。
附图说明
为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例所提供的一种视频帧丢帧方法的流程示意图;
图2-1为本发明的实施例所提供的一种视频帧之间参考关系的示意图;
图2-2为本发明的实施例所提供的一种视频帧序列内视频帧之间参考关系的示意图;
图3为本发明的实施例所提供的一种视频发送装置的结构示意图;
图4为本发明的实施例所提供的另一种视频发送装置的结构示意图。
具体实施方式
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种视频帧丢帧方法,可以应用于进行实时视频的网络传输的应用场景中,例如视频会议,IPC视频点播等。本发明的实施例以IPC视频点播的应用场景为例进行说明。概括地讲,IPC视频点播系统包括视频发送装置和视频接收装置。其中,视频发送装置通过摄像获取视频帧序列,并对视频帧序列进行编码后通过网络向视频接收装置发送。发送方式包括宽带网络、3G(3rd-generation,第三代移动通信技术)网络或者4G(4th-generation,第四代移动通信技术)网络等。不断变化的网络环境对视频播放流畅度的影响十分显著,本发明的实施例所提供的视频帧丢帧方法,其目的即在于在好坏变化的网络环境下进行视频网络点播时,提高视频播放的流畅度。
经过视频发送装置编码所得的视频帧可以是关键帧或者非关键帧。关键帧记录了一帧完整的视频画面,如果一个视频帧为关键帧,视频播放装置通过解码该视频帧可以得到完整的视频画面。非关键帧记录了一帧视频与另一帧视频所不同的部分,如果一个视频帧为非关键帧,视频播放装置需要基于该视频的参考帧对该视频帧进行解码,得到完整的视频画面。一个非关键帧可以引用关键帧为参考帧,也可以引用另一个非关键帧为参考帧。对于一个非关键帧,如果其参考帧丢失,视频接收装置即使接收到该视频帧,在播放该帧时也可能出现花屏或者马赛克。
本实施例中以关键帧为IDR(Instantaneous Decoding Refresh,即时解码刷新)帧、非关键帧为前向预测帧,即P帧的情况为例进行说明。当然,这并不意味着本发明所提供的丢帧方法只能适用于这种情况,本领域的技术人员可以理解的是,关键帧和非关键帧均可以有不仅一种具体的实现方式。
参照图1,本发明的实施例所提供的视频帧丢帧方法,包括以下步骤:
步骤101、获取待发送视频的视频帧序列;
步骤102、根据预设标准,建立视频帧序列中各视频帧之间的参考关系;参考关系包括:视频帧序列中的第m帧引用第m-h帧为参考帧;视频帧序列中的第n帧,被第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,视频帧序列中视频帧的数量不小于n+2;
步骤103、在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
步骤104、当数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧。
对步骤101-步骤104进一步说明如下:
步骤101、获取待发送视频的视频帧序列。
在IPC视频点播的应用场景中,当视频接收装置通过网络点播某一视频时,被点播的视频即为待发送视频。视频发送装置将待发送视频通过网络发送至视频接收装置,由视频接收装置进行播放。
待发送视频包括连续的若干视频帧,每个视频帧对应该视频的一帧画面,视频发送装置向视频接收装置所发送的,即为一个个连续的视频帧所组成的序列。
本实施例中所指的视频帧序列,并不是指由待发送视频的全部视频帧所组成的序列,而是包括一定数量视频帧的一段序列,其中,视频帧序列的首帧为IDR帧,视频帧序列中除IDR之外的视频帧为P帧。
为便于描述,将待发送视频的全部视频帧所组成的序列称为原始视频帧序列,原始视频帧序列可以包括多个视频帧序列。本实施例就针对视频帧序列对本发明所提供的丢帧方法进行说明,在待发送视频的发送过程中,该丢帧方法可以循环应用于原始视频帧序列所包括的部分或者全部视频帧序列。
具体的,视频发送装置可以通过摄像的方式获取原始视频帧序列,并进一步获取待发送视频帧的视频帧序列。
步骤102、根据预设标准,建立视频帧序列中各视频帧之间的参考关系。
视频发送装置需要对视频帧序列中的每个视频帧进行编码,并建立视频帧序列中各视频帧之间的参考关系,然后向视频接收装置发送视频帧序列。
通常,相对于P帧,IDR帧数据量更大,因此发送关键帧也需占用更多网络资源。因此,视频发送装置在编码过程中,通过合理安排IDR和P帧的比例可以降低视频帧序列总体的数据量。同时,通过建立视频帧序列中各视频帧之间的参考关系,并根据参考关系进行丢帧,以使得在发生丢帧的情况下,视频接收装置能够根据实际接收到的视频帧,还原得到完整的视频帧,保证视频播放时每一帧画面的完整性。
视频帧之间的参考关系通过视频帧直接引用或者间接引用另一视频帧建立。结合图2-1,图2-1中用带箭头的曲线表示参考关系,曲线起点的视频帧以箭头所指的视频帧为参考帧。图中包括视频帧X、视频帧Y以及视频帧Z,视频帧X位于视频帧Y以及视频帧Z之前,视频帧Y位于视频帧Z之前,这三个视频帧之前、之后或者中间可以有其它视频帧,图中未标出。
视频帧Z以视频帧Y为参考帧,即视频帧Z直接引用视频帧Y;同理,视频帧Y以视频帧X为参考帧,即视频帧Y直接引用视频帧X。同时,视频帧X虽然不是视频帧Z的参考帧,然而视频帧X的参考帧,即视频帧Y,以视频帧X为参考帧,如果视频帧X被丢弃,则导致视频帧Z的参考帧被丢弃,使得视频接收设备不能根据视频Z得到完整的一帧视频画面,即认为视频帧Z间接引用视频帧X。
针对一个视频帧,在确定丢帧时,将直接或者间接引用该视频帧的视频帧一并丢弃,视频接收装置在进行视频播放时,就能够根据未被丢弃的视频帧得到完整的视频画面。
由于视频帧之间的参考关系直接影响到具体的丢帧方式,使得通过对参考关系的改变,可以改变具体的丢帧方式,包括在一定网络环境下发生丢帧的次数,以及在发生丢帧时所丢弃视频帧的数量等。
本发明所提供的视频帧丢帧方法中,为视频帧序列中的视频帧建立的参考关系包括:视频帧序列中的第m帧引用第m-h帧为参考帧,那么如果确定丢弃第m-h帧,则将第m帧一并丢弃;同时,对于视频帧序列中的第n帧,被第n帧后的视频帧中的至少两个视频帧引用为参考帧,那么如果确定丢弃第n帧,则将引用第n帧为参考帧的视频帧也一并丢弃;其中,m、h、n均为自然数,m大于1且m大于h,视频帧序列中视频帧的数量不小于n+2。
可选的,本实施例所指的预设标准可以是对视频播放流畅度的要求,即根据预设标准建立参考关系可以是根据对视频播放流畅度的要求,建立视频帧序列内视频帧之间的参考关系,其中,对视频播放流畅度的要求越高,直接引用IDR帧为参考帧的视频帧越多,并针对直接引用IDR帧为参考帧的视频帧分别确定是否丢帧。对于一个直接引用IDR帧为参考帧的视频帧,如果确定丢帧,不会导致另一个直接引用IDR帧为参考帧的视频帧也被丢失。
可选的,本实施例所指的预设标准还可以是视频帧序列内每个视频帧的重要性,即根据预设标准建立参考关系可以是按照视频帧序列内不同视频帧的重要性,对视频帧序列内视频帧进行划分,根据重要性不同建立视频帧序列内视频帧之间的参考关系,其中重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧,避免发生因为丢弃重要性相对较低的视频帧而导致丢弃重要性相对较高的视频帧的情况。具体的,按照用户对视频中某些视频帧感兴趣的程度,或者用户的具体需求,确定不同视频帧之间的重要性等级。例如待发送视频是某个场景下的监控视频,比如停车场。在不同时段,监控区域内出入车辆或者人员较少,一段视频内包括的多是重复、静态的画面,则这些视频帧重要性较低。同时,将不断变化的视频画面所对应的视频帧,作为重要性较高的视频帧。按照重要性划分建立参考关系后,在发生丢帧时,对于重要性较高的视频帧尽量不丢帧或者少丢帧,对于重要性较低的视频帧则可以相对增加丢帧的次数和数量。
或者,本实施例所指的预设标准还可以是网络的基准发送速率,即根据预设标准建立参考关系可以是根据网络的基准发送速率,建立视频帧序列内视频帧之间的参考关系。网络的基准发送速率越高,说明网络环境越好,越不容易发生丢帧,则建立的参考关系中,直接引用IDR帧为参考帧的视频帧可以越多。这样,针对直接引用IDR帧为参考帧的视频帧,分别确定是否丢帧,将丢帧发生的情况分散化,从而减少了丢帧总量,提高视频播放流畅度。
步骤103、在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度。
发送缓冲区用于缓存即将发送的若干视频帧。发送缓冲区的数据占用长度可以实时反应网络环境的好坏变化。通常状况下,网络环境较好时,在发送缓冲区中缓存的视频帧可以很快被发出,因此发送缓冲区的数据占用长度的较短。而当网络环境差时,缓冲区中缓存的视频帧很容易出现滞留,导致发送缓冲区的数据占用长度增加,甚至出现溢出。因此在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度,以确定将当前待缓存的视频帧存入发送缓冲区,或者丢弃当前待缓存的视频帧。
步骤104、当数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧。
数据占用长度大于预设阈值,说明发送缓冲区中缓存的视频帧出现了滞留甚至溢出,因此丢弃当前待缓存帧。同时,将引用当前待缓存帧为参考帧的所有视频帧一并丢弃。
本发明的实施例所提供的视频帧丢帧方法及视频发送装置,根据预设标准建立视频帧序列中各视频帧之间的参考关系,并进一步确定是否丢帧。在视频帧序列发送的过程中,在确定丢帧时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧,而无需丢帧直到出现IDR帧为止,减小了在一次丢帧中所丢弃视频帧的数量,避免出现长时间画面卡顿的情况,提高了视频播的流畅度。
基于图1所对应的实施例,本发明的实施例提供另一种视频帧丢帧方法,对视频帧序列中各视频帧之间的参考关系,以及在参考关系确定时的具体丢帧方式进行细化说明。具体步骤如下:
步骤201、获取待发送视频的视频帧序列。
视频帧序列是包括一定数量视频帧的一段序列,视频帧序列可以是原始视频帧序列中的一段,原始视频帧序列可以包括多个视频帧序列。本实施例就针对视频帧序列对本发明所提供的丢帧方法进行说明,在待发送视频的发送过程中,该丢帧方法可以循环应用于原始视频帧序列所包括的部分或者全部视频帧序列。
步骤202、根据预设标准,建立视频帧序列中各视频帧之间的参考关系。
参考关系包括:视频帧序列中的第m帧引用第m-h帧为参考帧,即视频帧序列中的一个视频,引用视频帧序列中该视频帧之前的某一视频帧为参考帧;视频帧序列中的第n帧,被第n帧后的视频帧中的至少两个视频帧引用为参考帧,即视频帧序列中的一个视频帧,可以同时被视频帧序列中该视频帧之后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,视频帧序列中视频帧的数量不小于n+2;
结合图1所对应的实施例,根据预设标准建立参考关系可以是根据对视频播放流畅度的要求、根据视频帧序列内不同视频帧的重要性或者根据网络的基准发送速率等,建立视频帧序列内视频帧之间的参考关系。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,将视频帧序列中除IDR帧之外的视频帧分为基础帧和扩展帧,并将视频帧序列中除IDR帧之外的视频帧划分为K个帧组。其中,IDR帧为视频帧序列的首帧,K个帧组中的每一个帧组,为视频序列中由连续的若干视频帧所组成的一段,基础帧为直接引用IDR帧为参考帧的视频帧,扩展帧为间接引用IDR帧的视频帧;K个帧组中,每个帧组均包括一个基础帧,每个帧组除基础帧之外的视频帧均为扩展帧。K为大于等于1的整数。
不同帧组所包括视频帧的数量可以相同,也可以不同。本发明对不同帧组所包括视频帧的具体数量不做限定。
结合图2-2,图2-2为视频帧序列由帧组A、帧组B以及帧组C三个帧组所组成时,帧组内各个视频帧之间参考关系的举例示意图。其中,基础帧a、基础帧b和基础帧c均直接引用IDR帧,均可对应视频帧序列中的第m帧引用第m-h帧为参考帧的情形。同时,IDR帧被基础帧a、基础帧b和基础帧c这3个视频帧引用为参考帧,可对应视频帧序列中的第n帧,被第n帧后的视频帧中的至少两个视频帧引用为参考帧的情形。图2-2所示的参考关系中,包括多处一个视频帧引用其之前某一视频帧为参考帧,以及一个视频帧被其之后至少两个视频帧引用为参考帧的情形,后续说明中不再一一指明。
针对K个帧组中的第k个帧组,该帧组由至少一个视频帧组成,第k个帧组包括一个基础帧,其中,k为大于等于0且小于等于K的整数,即第k个帧组可以是K个帧组中的任一帧组。
当第k个帧组仅由一个视频帧组成时,第k个帧组所包括的一个视频帧为基础帧。图2-2中帧组A为只包括一个基础帧,即基础帧a的情况。结合图1所对应的实施例,在根据对视频播放流畅度的要求,或者根据网络的基准发送速率建立视频帧序列内视频帧之间的参考关系时,当对视频播放流畅度的要求越高或者网络的基准发送速率越高时,直接引用IDR帧为参考帧的视频帧的数量越多。可选的,IDR帧之后的每一个视频帧均引用IDR帧为参考帧。即K个帧组中每个帧组均只包括基础帧。这样,针对第k个帧组,当确定丢帧时,只丢失一个视频帧,从而提高视频播放流畅度。
当第k个帧组由至少两个视频帧组成时,第k个帧组由基础帧和扩展帧序列组成。其中,基础帧为第k个帧组的首帧,扩展帧序列为第k个帧组中除基础帧之外的S个视频帧所组成的序列。图2-2中的帧组B由基础帧b以及扩展帧序列组成,其中扩展帧序列由3个扩展帧所组成,扩展帧序列中的每个视频帧均直接引用基础帧b,基础帧b直接引用IDR帧,则扩展帧序列中的每个视频帧间接引用IDR帧。
S个视频帧中的第s个视频帧,以第k个帧组中位于第s个视频帧之前的任一视频帧为参考帧,其中,S为大于等于1的整数,s为大于等于1小于等于S的整数。
关于扩展帧序列中的S个视频帧内部视频帧之间的具体参考关系,将在后续步骤中结合具体丢帧方式进一步说明。
步骤203、在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度。
发送缓冲区用于缓存即将发送的若干视频帧。发送缓冲区的数据占用长度可以实时反应网络环境的好坏变化,因此在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度,以确定将当前待缓存的视频帧存入发送缓冲区,或者丢弃当前待缓存的视频帧。
步骤204、当数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧。
不同参考关系对应不同丢帧方式,在参考关系确定的情况下,针对不同视频帧,当确定丢帧时,丢弃视频帧的数量不同。可选的,不同视频帧可以分别对应一个发送缓冲区的预设阈值。优选的,视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。两个视频帧各自所对应的预设阈值,可以相同或者不同。
为方便描述,后续说明中对不同视频帧所对应预设阈值分别用第一预设阈值、第二预设阈值此类的描述来表示。
结合图2-2所示的参考关系,当IDR帧为当前待缓存的视频帧时,如果发送缓冲区的数据占用长度大于预设阈值,则丢弃视频帧序列中的全部基础帧。进一步的,对于引用基础帧为参考帧的扩展帧,由于间接引用IDR帧,因此一并丢弃,那么IDR帧如果被丢弃则最终整个视频帧序列也一并丢弃。
其中,IDR帧所对应的预设阈值的为第一预设阈值。进一步地,如果发送缓冲区的数据占用长度不大于预设阈值,将当前待缓存的视频帧存入发送缓冲区。即如果发送缓冲区的数据占用长度不大于第一预设阈值,则无需丢弃IDR帧,并将IDR帧存入发送缓冲区。
当IDR帧为当前待缓存的视频帧时,如果确定丢帧,需要丢弃整个视频帧序列,这种情况应该尽可能地避免,以免影响视频播放流畅度。为此,第一预设阈值应该尽可能地大,可选的,当IDR帧为当前待缓存的视频帧时,只要发送缓冲区未被占用的部分可以容纳IDR帧,就保留IDR帧,尽量避免将视频帧序列整体丢掉的情况发生,以保证视频播放的流畅度。
针对第k个帧组,结合图2-2对S个视频帧内部视频帧之间的具体参考关系,以及具体参考关系下的丢帧方式进行详细说明。
可选的,S个视频帧中的第s个视频帧,以第k个帧组中位于第s个视频帧之前的任一视频帧为参考帧,即第s个视频帧可以引用第k个帧组的基础帧为参考帧,也可以引用S个视频帧中位于第s个视频帧之前的任一视频帧为参考帧。例如,第k个帧组中的每一个视频帧,都以相邻的前一视频帧为参考帧。即S个视频帧中的第1个视频帧,以基础帧为参考帧,S个视频帧中的第s+2个视频帧,以第s+1个视频帧为参考帧,第s+1个视频帧以第s个视频帧为参考帧,其中s为大于等于1的整数,即第s个视频帧可以是S个视频帧中的任一视频帧,另s+2小于等于S。
对应上述参考关系,结合IDR帧被丢的情形,当第k个帧组的基础帧为当前待缓存的视频帧时,如果确定丢弃第k个帧组的基础帧,则需要丢弃第k个帧组。其中,预设阈值的取值为第二预设阈值。
如果发送缓冲区的数据占用长度不大于预设阈值,即无需丢弃第k个帧组的基础帧。可以进一步针对扩展帧序列所包括的S个视频帧判定是否丢帧。
当确定丢弃第s个视频帧时,将第s个视频帧,以及S个视频帧中位于第s个视频帧之后的视频帧全部丢弃。其中,第s个视频帧对应的预设阈值为第三预设阈值,
优选地,S个视频帧可以均直接引用第k个帧组的基础帧为参考帧。图2-2中的帧组B,为扩展帧序列中的每个视频帧均以基础帧b为参考帧的情况。当第k个帧组的基础帧保留时,将第s个视频帧作为当前待缓存的视频帧判断是否丢帧。当确定丢弃第s个视频帧时,仅需丢弃第s个视频帧。进一步地,可以进一步以第s+1个视频帧作为当前待缓存的视频帧继续判定是否丢帧,其中,s+1小于等于S。
进一步优选地,第s个视频帧,以及第s个视频帧之后的视频帧中的至少一个视频帧,均以S个视频帧中的第s-n个视频帧为参考帧,其中,n为大于等于0且小于s的正整数。结合图2-2,帧组C的扩展帧序列中存在两个视频帧引用同一视频帧为参考帧的情况,图2-2中视频帧β以及视频帧γ,均直接引用视频帧α为参考帧。进一步地,帧组C中视频帧α之后的任一视频帧,也都可以被其后续视频帧中的若干视频帧直接引用或者间接引用,图中未标出。通过这种参考关系,可以对扩展帧序列所包括视频帧的数量进行调整,也能够对与某一视频帧存在参考关系的视频帧的数量进行调整,从而达到对一次丢帧所丢弃视频帧的数量进行调整的目的。
此处以第s个视频帧,以及第s+n个视频帧,均引用第s-n个视频帧为参考帧的情况为例进行说明,其中s+n小于等于S。可选的,S个视频帧中,第s-n个视频帧和第s个视频帧之间的视频帧,均以相邻前一视频帧为参考帧,S个视频帧中第s+n个视频帧之后的全部视频帧,均以相邻前一视频帧为参考帧。结合图2-2,视频帧β与视频帧γ之间的视频帧,以及视频帧γ之后的全部视频帧,均以相邻前一视频帧为参考帧。
对应上述参考关系,当确定丢弃第s-n个视频帧时,将第s-n个视频帧,以及第s-n个视频帧和第s个视频帧之间的视频帧丢弃,同时S个视频帧中第s个视频帧以及第s个视频帧之后的视频帧以一并丢弃。
进一步地,S个视频帧中位于第s个视频帧之后的视频帧,均可以直接引用或者间接应用第s个视频帧,此处不再赘述。
当然,本领域内技术人员可以理解的是,通过对以上几种具体参考方式的结合或者变化,还可以得到S个视频帧之间的其它多种参考方式。使得扩展帧序列之间可以建立灵活多变的参考方式。
参考关系的变化,使得与当前待缓存的视频帧有参考关系的视频帧的数量也相应地变化,当确定丢帧时,一次丢帧所丢弃视频帧的数量也相应地变化。同时,在一定网络环境下,通过对第一阈值、第二阈值以及第三阈值大小的调整,可以对丢帧发生的次数进行调整。
具体地,针对IDR帧判定是否丢帧时,第一阈值需要尽可能大。针对基础帧判定是否丢帧时,第二阈值可以较第一阈值小。第二阈值越小,越容易出现丢帧的情况。同样,第三阈值可以较第二阈值更小,第三阈值越小,越容易出现丢帧的情况。
可选的,通过对参考关系以及预设阈值具体取值的调整,实现少量多次的丢帧策略,避免出现一次丢失大量连续视频帧的情况,以提高视频播放的流畅度。同时,在网络环境不好时,视频发送设备可以通过丢帧降低视频发送帧率,在一次丢帧结束后,如果网络环境满足保留后续视频帧的要求,则不再丢帧,视频发送帧率随之升高。即通过少量多次的丢帧方式,视频发送装置可以根据网络环境的变化及时降低或者提高视频发送帧率,从而提高视频播放流畅度,改善用户体验。
本发明的实施例所提供的视频帧丢帧方法及视频发送装置,根据预设标准建立视频帧序列中各视频帧之间的参考关系,并进一步确定是否丢帧。在视频帧序列发送的过程中,在确定丢帧时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧,而无需丢帧直到出现IDR帧为止,减小了在一次丢帧中所丢弃视频帧的数量,避免出现长时间画面卡顿的情况。同时,通过对参考关系的灵活调整,能够实现少量多次的丢帧方式,使得视频发送装置可以根据网络环境的变化及时降低或者提高视频发送帧率,从而提高了视频播的流畅度,改善了用户体验。
基于本发明所提供的视频帧丢帧方法,本发明的实施例提供一种视频发送装置30用于执行本发明所提供的数据帧丢帧方法。参照图3所示,视频发送装置30包括:获取单元301,编码单元302、检测单元303以及丢帧单元304。
获取单元301,用于获取待发送视频的视频帧序列;
编码单元302,用于根据预设标准,建立获取单元301获取的视频帧序列中各视频帧之间的参考关系;参考关系包括:视频帧序列中的第m帧引用第m-h帧为参考帧;视频帧序列中的第n帧,被第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,视频帧序列中视频帧的数量不小于n+2;
检测单元303,用于在视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
丢帧单元304,用于当检测单元303检测所得的数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧。
可选的,预设标准为对视频播放流畅度的要求;
编码单元302,建立的视频帧序列中各视频帧之间的参考关系包括:视频播放流畅度的要求越高,直接引用IDR帧为参考帧的视频帧越多。
可选的,预设标准为视频帧序列内每个视频帧的重要性;
编码单元302,建立的视频帧序列中各视频帧之间的参考关系包括:重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧。
可选的,预设标准为网络的基准发送速率;
编码单元302,建立的视频帧序列中各视频帧之间的参考关系包括:网络的基准发送速率越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多。
可选的,视频帧序列中各视频帧之间的参考关系具体包括:
当视频帧序列的首帧为即时解码刷新IDR帧时,IDR帧之后的每一个视频帧均引用IDR帧为参考帧。
可选的,视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。
可选的,丢帧单元304,还用于当检测单元303检测所得的发送缓冲区的数据占用长度不大于预设阈值时,将当前待缓存的视频帧存入发送缓冲区。
本发明的实施例所提供的视频帧丢帧方法及视频发送装置,根据预设标准建立所述视频帧序列中各视频帧之间的参考关系,并进一步确定是否丢帧。在所述视频帧序列发送的过程中,在确定丢帧时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧,而无需丢帧直到出现IDR帧为止,减小了在一次丢帧中所丢弃视频帧的数量,避免出现长时间画面卡顿的情况,提高了视频播放流畅度。
结合图3所对应的实施例,本发明的实施例提供一种视频发送装置40,参照图4所示,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该视频发送装置40包括:至少一个处理器401、存储器402、和总线403,该至少一个处理器401和存储器402通过总线403连接并完成相互间的通信。
该总线403可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构)总线等。该总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器402用于执行本发明方案的应用程序代码,执行本发明方案的应用程序代码保存在存储器中,并由处理器401来控制执行。
该存储器可以是只读存储器ROM或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器EEPROM、只读光盘CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。这些存储器通过总线与处理器相连接。
处理器401可能是一个中央处理器401(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器401用于:调用存储器402中的程序代码,用以执行上述图3对应的设备实施例中获取单元、编码单元检测单元以及丢帧单元的操作,包括:获取待发送视频的视频帧序列;根据预设标准,建立所述视频帧序列中各视频帧之间的参考关系;所述参考关系包括:所述视频帧序列中的第m帧引用第m-h帧为参考帧;所述视频帧序列中的第n帧,被所述第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,所述视频帧序列中视频帧的数量不小于n+2;在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;当所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。其中,对各单元的具体描述,参照图3对应的设备实施例,这里不再赘述。
本发明的实施例所提供的视频帧丢帧方法及视频发送装置,根据预设标准建立所述视频帧序列中各视频帧之间的参考关系,并进一步确定是否丢帧。在所述视频帧序列发送的过程中,在确定丢帧时,丢弃当前待缓存的视频帧,并丢弃在视频帧序列中根据参考关系引用当前待缓存的视频帧为参考帧的所有视频帧,而无需丢帧直到出现IDR帧为止,减小了在一次丢帧中所丢弃视频帧的数量,避免出现长时间画面卡顿的情况,提高了视频播放流畅度。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明中的视频发送装置,可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM(Random AccessMemory,随机存储器)、ROM(Read Only Memory,只读内存)、EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,即只读光盘)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种视频帧丢帧方法,其特征在于,包括:
获取待发送视频的视频帧序列;
根据预设标准,建立所述视频帧序列中各视频帧之间的参考关系;所述参考关系包括:所述视频帧序列中的第m帧引用第m-h帧为参考帧;所述视频帧序列中的第n帧,被所述第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,所述视频帧序列中视频帧的数量不小于n+2;
在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
当所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。
2.根据权利要求1所述的方法,其特征在于,所述预设标准为对视频播放流畅度的要求;
其中,所述参考关系中,所述视频播放流畅度的要求越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
3.根据权利要求1所述的方法,其特征在于,所述预设标准为所述视频帧序列内每个视频帧的重要性;
其中,所述参考关系中,重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧。
4.根据权利要求1所述的方法,其特征在于,所述预设标准为网络的基准发送速率;
其中,所述网络的基准发送速率越高,所述参考关系中,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述视频帧序列中各视频帧之间的参考关系具体包括:
当所述视频帧序列的首帧为即时解码刷新IDR帧时,所述IDR帧之后的每一个视频帧均引用所述IDR帧为参考帧。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当所述数据占用长度不大于预设阈值时,将所述当前待缓存的视频帧存入所述发送缓冲区。
8.一种视频发送装置,其特征在于,包括:
获取单元,用于获取待发送视频的视频帧序列;
编码单元,用于根据预设标准,建立所述获取单元获取的所述视频帧序列中各视频帧之间的参考关系;所述参考关系包括:所述视频帧序列中的第m帧引用第m-h帧为参考帧;所述视频帧序列中的第n帧,被所述第n帧后的视频帧中的至少两个视频帧引用为参考帧;其中,m、h、n均为自然数,m大于1且m大于h,所述视频帧序列中视频帧的数量不小于n+2;
检测单元,用于在所述视频帧序列发送的过程中,检测视频发送缓冲区已缓存视频帧的数据占用长度;
丢帧单元,用于当所述检测单元检测到所述数据占用长度大于预设阈值时,丢弃当前待缓存的视频帧,并丢弃在所述视频帧序列中根据所述参考关系引用所述当前待缓存的视频帧为参考帧的所有视频帧。
9.根据权利要求8所述的装置,其特征在于,所述预设标准为对视频播放流畅度的要求;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:所述视频播放流畅度的要求越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多;所述IDR帧为所述视频帧序列的首帧。
10.根据权利要求8所述的装置,其特征在于,所述预设标准为所述视频帧序列内每个视频帧的重要性;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:重要性相对较高的视频帧被重要性相对较低的视频帧直接引用为参考帧。
11.根据权利要求8所述的装置,其特征在于,所述预设标准为网络的基准发送速率;
所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系包括:所述网络的基准发送速率越高,直接引用即时解码刷新IDR帧为参考帧的视频帧越多。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述编码单元建立的所述视频帧序列中各视频帧之间的参考关系具体包括:
当所述视频帧序列的首帧为即时解码刷新IDR帧时,所述IDR帧之后的每一个视频帧均引用所述IDR帧为参考帧。
13.根据权利要求8-11任一项所述的装置,其特征在于,所述视频帧序列中每一个视频帧都对应有一个发送缓冲区的预设阈值。
14.根据权利要求8-11任一项所述的装置,其特征在于,
所述丢帧单元,还用于当所述检测单元检测到所述数据占用长度不大于预设阈值时,将所述当前待缓存的视频帧存入所述发送缓冲区。
CN201510091898.2A 2015-02-17 2015-02-17 一种视频帧丢帧方法及视频发送装置 Active CN104702968B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510091898.2A CN104702968B (zh) 2015-02-17 2015-02-17 一种视频帧丢帧方法及视频发送装置
EP15882362.5A EP3253064A4 (en) 2015-02-17 2015-07-09 Frame loss method for video frame and video sending apparatus
PCT/CN2015/083667 WO2016131223A1 (zh) 2015-02-17 2015-07-09 一种视频帧丢帧方法及视频发送装置
US15/678,846 US10659847B2 (en) 2015-02-17 2017-08-16 Frame dropping method for video frame and video sending apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510091898.2A CN104702968B (zh) 2015-02-17 2015-02-17 一种视频帧丢帧方法及视频发送装置

Publications (2)

Publication Number Publication Date
CN104702968A CN104702968A (zh) 2015-06-10
CN104702968B true CN104702968B (zh) 2019-06-11

Family

ID=53349678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510091898.2A Active CN104702968B (zh) 2015-02-17 2015-02-17 一种视频帧丢帧方法及视频发送装置

Country Status (4)

Country Link
US (1) US10659847B2 (zh)
EP (1) EP3253064A4 (zh)
CN (1) CN104702968B (zh)
WO (1) WO2016131223A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702968B (zh) * 2015-02-17 2019-06-11 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
US9942552B2 (en) 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
CN106331835B (zh) * 2015-06-26 2019-06-07 成都鼎桥通信技术有限公司 一种动态调整数据接收缓存的方法及视频解码设备
CN105611309B (zh) * 2015-12-22 2019-03-05 北京奇虎科技有限公司 一种视频传输方法和装置
CN107222427A (zh) * 2016-03-22 2017-09-29 华为技术有限公司 一种报文处理的方法及相关设备
CN105847946A (zh) * 2016-05-28 2016-08-10 刘健文 一种传屏视频处理方法
CN108235107A (zh) * 2016-12-15 2018-06-29 广州市动景计算机科技有限公司 视频录制方法、装置及电子终端
CN108243338A (zh) * 2016-12-23 2018-07-03 杭州海康威视数字技术股份有限公司 视频解码、编码方法、装置及系统
CN106993197B (zh) * 2017-04-10 2019-05-24 杭州星犀科技有限公司 一种基于编码器的丢帧方法
CN108063973A (zh) * 2017-12-14 2018-05-22 浙江大华技术股份有限公司 一种视频流解码方法及设备
CN109996088A (zh) * 2017-12-29 2019-07-09 阿里巴巴集团控股有限公司 一种直播数据处理方法及装置
CN110213308A (zh) * 2018-02-28 2019-09-06 杭州海康威视数字技术股份有限公司 一种解码视频数据的方法及装置
CN110248205B (zh) * 2018-09-03 2023-03-24 浙江大华技术股份有限公司 一种视频录像数据打包的方法及装置
US11445243B2 (en) * 2019-05-10 2022-09-13 Plantronics, Inc. Adaptive rate control adjustment for hardware encoder
CN111093083B (zh) * 2019-12-16 2022-12-09 西安万像电子科技有限公司 数据传输方法及装置
CN111131210B (zh) 2019-12-16 2021-09-17 维沃移动通信有限公司 数据处理方法及电子设备
CN111131878A (zh) * 2019-12-31 2020-05-08 北京百度网讯科技有限公司 视频预处理及丢帧检测方法、装置、电子设备及存储介质
CN111159042A (zh) * 2019-12-31 2020-05-15 可牛网络技术(北京)有限公司 一种流畅度测试方法、装置及电子设备
CN111147884B (zh) * 2020-01-02 2021-12-17 广州虎牙科技有限公司 数据处理方法、装置、系统、用户端及存储介质
CN111491201B (zh) * 2020-04-08 2023-04-25 深圳市昊一源科技有限公司 调整视频码流的方法及视频丢帧处理方法
CN111884866B (zh) * 2020-08-05 2022-10-28 中国工商银行股份有限公司 网络优化方法、网络优化系统、计算机系统和存储介质
CN114071227A (zh) * 2020-08-06 2022-02-18 北京小米移动软件有限公司 数据处理方法及装置
US11470282B2 (en) * 2020-12-09 2022-10-11 Waymo Llc Systems, apparatus, and methods for transmitting image data
CN112506447B (zh) * 2021-02-01 2021-04-30 成都焱之阳科技有限公司 一种用于视频监控设备的数据无锁缓存方法和服务器
CN113225617A (zh) * 2021-04-28 2021-08-06 臻迪科技股份有限公司 播放视频处理方法、装置及电子设备
CN113490055B (zh) * 2021-07-06 2023-09-19 三星电子(中国)研发中心 数据处理方法和装置
CN113271496B (zh) * 2021-07-15 2021-10-01 全时云商务服务股份有限公司 一种网络直播中视频平滑播放方法、系统和可读存储介质
CN113873293A (zh) * 2021-10-09 2021-12-31 兰州乐智教育科技有限责任公司 动态调整视频帧率自适应网络的方法及相关设备
CN115037701B (zh) * 2022-06-20 2023-12-19 北京达佳互联信息技术有限公司 视频处理方法、装置、服务器及介质
US11936700B1 (en) * 2023-02-16 2024-03-19 GM Global Technology Operations LLC Vehicle video streaming system and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272486A (zh) * 2008-04-10 2008-09-24 清华大学 基于pid控制和接收帧率稳定模型的视频传输控制方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133362B2 (en) * 2001-11-14 2006-11-07 Microsoft Corporation Intelligent buffering process for network conference video
US8296813B2 (en) * 2006-06-22 2012-10-23 Sony Computer Entertainment Inc. Predictive frame dropping to enhance quality of service in streaming data
KR100846802B1 (ko) * 2007-02-14 2008-07-16 삼성전자주식회사 동영상 프레임의 디코딩 방법 및 인코딩 방법
US20100086280A1 (en) * 2008-10-02 2010-04-08 Horizon Semiconductors Ltd. Method for smoothly playing a video stream in reverse
CN101466034A (zh) * 2008-12-25 2009-06-24 华为技术有限公司 发送、播放流媒体数据的方法和装置及流媒体点播系统
WO2010099801A1 (en) * 2009-03-04 2010-09-10 Telefonaktiebolaget Lm Ericsson (Publ) Processing of multimedia data
CN101527834A (zh) * 2009-03-26 2009-09-09 浙江大华技术股份有限公司 一种无线窄带网络视频传输方法
US9065779B2 (en) 2009-06-12 2015-06-23 Wi-Lan Labs, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US8627396B2 (en) * 2009-06-12 2014-01-07 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
KR101247595B1 (ko) * 2009-06-12 2013-03-26 시그너스 브로드밴드, 인코포레이티드 통신 네트워크의 지능형 폐기 시스템 및 방법
US8531961B2 (en) 2009-06-12 2013-09-10 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8443097B2 (en) 2010-04-12 2013-05-14 Alcatel Lucent Queue management unit and method for streaming video packets in a wireless network
US20130058406A1 (en) * 2011-09-05 2013-03-07 Zhou Ye Predictive frame dropping method used in wireless video/audio data transmission
US20140132837A1 (en) 2011-09-05 2014-05-15 Cywee Group Limited Wireless video/audio data transmission system having i-frame only gop structure
CA2786200C (en) * 2011-09-23 2015-04-21 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
CN103124348A (zh) * 2011-11-17 2013-05-29 蓝云科技股份有限公司 一种在无线视频/音频数据传输中使用的预测丢帧方法
EP2680219A1 (en) * 2012-06-29 2014-01-01 Thomson Licensing Method for reframing images of a video sequence, and apparatus for reframing images of a video sequence
CN103533356A (zh) * 2013-10-10 2014-01-22 深圳市智美达科技有限公司 视频数据传输方法和装置
US9218848B1 (en) * 2014-07-01 2015-12-22 Amazon Technologies, Inc. Restructuring video streams to support random access playback
CN104135486A (zh) * 2014-08-08 2014-11-05 浙江奇汇电子提花机有限公司 一种基于tcp协议的流媒体无线自适应传输方法
CN104702968B (zh) * 2015-02-17 2019-06-11 华为技术有限公司 一种视频帧丢帧方法及视频发送装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272486A (zh) * 2008-04-10 2008-09-24 清华大学 基于pid控制和接收帧率稳定模型的视频传输控制方法

Also Published As

Publication number Publication date
CN104702968A (zh) 2015-06-10
US20170347158A1 (en) 2017-11-30
EP3253064A1 (en) 2017-12-06
EP3253064A4 (en) 2017-12-06
WO2016131223A1 (zh) 2016-08-25
US10659847B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
CN104702968B (zh) 一种视频帧丢帧方法及视频发送装置
CN103650509B (zh) 基于照相机和背景运动的参考帧缓冲区的自适应配置
CN104735470B (zh) 一种流媒体数据传输方法及装置
CN104394484A (zh) 一种无线实时流媒体传输方法
CN106688239B (zh) 视频下载方法、装置及系统
CN111510782A (zh) 视频播放方法、虚拟现实设备、服务器及计算机存储介质
Yuan et al. Spatial and temporal consistency-aware dynamic adaptive streaming for 360-degree videos
JP2018050275A (ja) サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置
CN110636346A (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
CN105376642A (zh) 视频播放分辨率切换方法及系统
EP3047627A1 (en) Dash representations adaptations in network
CN113242436B (zh) 直播数据的处理方法、装置及电子设备
CN103108186A (zh) 实现视频高清传播的方法
CN109688407A (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
CN104735410B (zh) 一种低于4k/s的窄带宽视频传输方法及系统
CN107333143A (zh) 5g多接入并发传输控制系统及方法
CN109788254A (zh) 一种自适应网络的实时高清视频流分发方法及其系统
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN107801049A (zh) 一种实时视频传送、播放方法及装置
CN108200470A (zh) 一种视频码率调整方法及设备
US20130286227A1 (en) Data Transfer Reduction During Video Broadcasts
CN105898358B (zh) 视频数据的发送方法及装置
CN108471548A (zh) 直播视频快速播放方法及装置
CN108810468B (zh) 一种优化显示效果的视频传输装置及方法
CN104010204B (zh) 图像信息处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant