视频编码方法及装置制造方法及图纸

技术编号:18841243 阅读:32 留言:0更新日期:2018-09-05 08:32
本申请是关于一种视频编码方法及装置。该方法包括:获取缓存数据的数据量变化信息,所述缓存数据包括已完成编码且待上传的视频数据,所述数据量变化信息用于指示所述缓存数据的数据量的变化情况;根据所述缓存数据的数据量变化信息确定编码参数,所述编码参数包括编码码率和编码帧率中的至少一种;根据确定的编码参数对尚未编码的视频帧进行编码;将编码获得的视频数据添加入所述缓存数据。通过本申请所示的方案,当缓存数据的数据量的变化情况指示网络状态较差时,可以通过较低的编码码率和/或编码帧率对后续的视频帧进行编码,减少单位播放时长的视频数据的数据量,降低播放终端的画面发生跳变的可能性。

Video coding method and device

The application is about a video encoding method and device. The method includes: acquiring data volume change information of the cached data, the cached data including video data that has been encoded and is to be uploaded, the data volume change information for indicating the change of the data volume of the cached data, and determining the coding parameters according to the data volume change information of the cached data, and the coding. Code parameters include at least one of the coding rate and the coding frame rate; encoding an uncoded video frame according to a determined coding parameter; and adding the encoded video data to the cached data. By the scheme shown in the present application, when the change of the amount of data cached indicates that the network state is poor, subsequent video frames can be encoded by a lower coding code rate and/or coding frame rate, thereby reducing the amount of data per unit playback time of video data, and reducing the possibility of screen hopping at the playback terminal. .

【技术实现步骤摘要】
视频编码方法及装置
本申请涉及图像处理
,特别涉及一种视频编码方法及装置。
技术介绍
随着移动互联网应用的不断发展,直播类的应用也越来越多,如何降低因直播源端的网络波动而引起的直播延时也已经成为应用服务商必须要解决的问题。在相关技术中,上传终端将图像采集组件采集到的视频帧即时编码为视频数据,并将编码后的视频数据上传至服务器。其中,上传终端中设置有用于缓存待发送的视频数据的缓冲区,当上传终端与服务器之间的网络发生波动时,上传终端向服务器上传视频数据的带宽可能会受到影响,此时,缓冲区中的视频数据的数据量将会增加,当缓冲区中的视频数据达到缓冲区容量上限时,上传终端将缓冲区中的视频数据丢弃,并将新编码获得的视频数据存入缓冲区,以避免播放终端显示的直播画面延时过高。然而,相关技术中所示的方案,因为达到缓冲区容量上限而被丢弃的视频数据不会被上传终端上传给服务器,当网络波动时间较长时,会导致播放终端显示的直播画面频繁发生跳变。
技术实现思路
本申请实施例提供了一种视频编码方法及装置,可以用于解决相关技术中因为达到缓冲区容量上限而被丢弃的视频数据不会被上传终端上传给服务器,当网络波动时间较长时,会导致播放终端显示的直播画面频繁发生跳变的问题,该技术方案如下:一方面,提供了一种视频编码方法,所述方法包括:获取缓存数据的数据量变化信息,所述缓存数据包括已完成编码且待上传的视频数据,所述数据量变化信息用于指示所述缓存数据的数据量的变化情况;根据所述缓存数据的数据量变化信息确定编码参数,所述编码参数包括编码码率和编码帧率中的至少一种;根据确定的编码参数对尚未编码的视频帧进行编码;将编码获得的视频数据添加入所述缓存数据。另一方面,提供了一种视频编码装置,所述装置包括:信息获取模块,用于获取缓存数据的数据量变化信息,所述缓存数据包括已完成编码且待上传的视频数据,所述数据量变化信息用于指示所述缓存数据的数据量的变化情况;参数确定模块,用于根据所述缓存数据的数据量变化信息确定编码参数,所述编码参数包括编码码率和编码帧率中的至少一种;编码模块,用于根据确定的编码参数对尚未编码的视频帧进行编码;添加模块,用于将编码获得的视频数据添加入所述缓存数据。另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的视频编码方法。又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的视频编码方法。本申请提供的技术方案可以包括以下有益效果:通过本申请所示的方案,上传终端根据缓存数据的数据量的变化情况来确定对后续视频帧进行编码所使用的编码码率和/或编码帧率,当缓存数据的数据量的变化情况指示网络状态较差时,可以通过较低的编码码率和/或编码帧率对后续的视频帧进行编码,减少单位播放时长的视频数据的数据量,降低播放终端的画面发生跳变的可能性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1是根据一示例性实施例示出的一种视频数据上传系统的结构示意图;图2是图1所示实施例涉及的一种开启直播的界面示意图;图3是是根据一示例性实施例示出的一种视频编码方法的流程图;图4是图3所示实施例涉及的一种上传终端的基本结构示意图;图5是根据一示例性实施例示出的一种视频编码方法的流程图;图6是图4所示实施例涉及的一种丢帧策略示意图;图7是根据一示例性实施例示出的主播对应的终端的结构示意图;图8是图7所示实施例涉及的编码参数自适应调节的逻辑示意图;图9是图7所示实施例涉及的码率和帧率的自适应过程示意图;图10是根据一示例性实施例示出的视频编码装置的结构方框图;图11是根据一示例性实施例示出的一种终端的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种视频数据上传系统的结构示意图。该系统包括:上传终端120和服务器集群140。上传终端120可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。上传终端120对应有图像采集组件。其中,该图像采集组件可以是上传终端120的一部分,比如,该图像采集组件可以是上传终端120内置的摄像头;或者,该图像采集组件也可以作为上传终端120的外设设备与该上传终端120相连接。或者,上述图像采集组件也可以是上传终端120中的软件组件,比如,该图像采集组件可以是上传终端120中的录屏组件,该录屏组件用于对终端屏幕中显示的屏幕画面进行录制。上传终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。在本申请实施例中,上传终端120可以在本地对图像采集组件采集到的视频帧进行编码,并将编码获得的视频数据上传给服务器集群140。可选的,上传终端120还对应有音频采集组件。比如,该音频采集组件可以是终端120内置或者外设的麦克风。上传终端120可以通过音频采集组件采集音频帧,并将采集到的音频帧编码为音频数据,并将编码获得的音频数据连通上述音频数据一并上传给服务器集群140。服务器集群140可以是一台服务器,或者服务器集群140也可以是由若干台服务器组成的集群,或者服务器集群140也可以是一个虚拟化平台,或者服务器集群140也可以是一个云计算服务中心。可选的,该系统还包括若干个播放终端160,且播放终端160与服务器集群140之间也通过通信网络相连。该播放终端160可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机等等。服务器集群140可以将上传终端120上传的视频数据(可选包括音频数据)发送给播放终端160,由播放终端160对视频数据进行解码并播放。可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(LocalAreaNetwork,LAN)、城域网(MetropolitanAreaNetwork,MAN)、广域网(WideAreaNetwork本文档来自技高网...

【技术保护点】
1.一种视频编码方法,其特征在于,所述方法包括:获取缓存数据的数据量变化信息,所述缓存数据包括已完成编码且待上传的视频数据,所述数据量变化信息用于指示所述缓存数据的数据量的变化情况;根据所述缓存数据的数据量变化信息确定编码参数,所述编码参数包括编码码率和编码帧率中的至少一种;根据确定的编码参数对尚未编码的视频帧进行编码;将编码获得的视频数据添加入所述缓存数据。

【技术特征摘要】
1.一种视频编码方法,其特征在于,所述方法包括:获取缓存数据的数据量变化信息,所述缓存数据包括已完成编码且待上传的视频数据,所述数据量变化信息用于指示所述缓存数据的数据量的变化情况;根据所述缓存数据的数据量变化信息确定编码参数,所述编码参数包括编码码率和编码帧率中的至少一种;根据确定的编码参数对尚未编码的视频帧进行编码;将编码获得的视频数据添加入所述缓存数据。2.根据权利要求1所述的方法,其特征在于,所述获取缓存数据的数据量变化信息,包括:获取数据量递增计数,所述数据量递增计数用于指示缓存数据的数据量递增的时长与数据量递减的时长之间的差值;所述根据所述缓存数据的数据量变化信息确定编码参数,包括:查询所述数据量递增计数对应的所述编码参数。3.根据权利要求2所述的方法,其特征在于,所述获取数据量递增计数之前,还包括:获取前一预定周期内的至少两个采样时间点上的采样数值,所述采样数值与所述缓存数据在所述采样数值对应的采样时间点上的数据量成正相关;根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新。4.根据权利要求3所述的方法,其特征在于,所述根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新,包括:当所述至少两个采样时间点上的采样数值的变化趋势为按时间顺序递增时,将所述数据量递增计数加一。5.根据权利要求3所述的方法,其特征在于,所述根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新,包括:当所述至少两个采样时间点上的采样数值的变化趋势为按时间顺序递减,且所述数据量递增计数大于零时,将所述数据量递增计数减一。6.根据权利要求3至5任一所述的方法,其特征在于,所述根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新,包括:当所述至少两个采样时间点上的采样数值中的最大值和最小值之间的差值大于预设差值阈值时,根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新。7.根据权利要求3至5任一所述的方法,其特征在于,所述方法还包括:当更新后的所述数据量递增计数超过预设的计数阈值时,展示提醒信息,所述提醒信息用于提示网络状态不良。8.根据权利要求3所述的方法,其特征在于,所述方法还包括:在根据所述至少两个采样时间点上的采样数值的变化趋势对所述数据量递增计数进行更新之...

【专利技术属性】
技术研发人员:许斌盛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1