一种视频处理方法、装置、编码设备及解码设备

文档序号:1256824 发布日期:2020-08-21 浏览:12次 >En<

阅读说明:本技术 一种视频处理方法、装置、编码设备及解码设备 (Video processing method and device, coding equipment and decoding equipment ) 是由 孟学苇 郑萧桢 王苫社 马思伟 于 2019-03-13 设计创作,主要内容包括:一种视频处理方法、装置、编码设备及解码设备,其中,方法可包括:确定获取到的待处理视频的视频类型;如果所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合;基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。采用本发明实施例可以提高终端设备的编码性能。(A video processing method, a device, an encoding device and a decoding device, wherein the method can comprise the following steps: determining the video type of the obtained video to be processed; if the video type of the video to be processed is a preset video type, modifying each pixel precision value in the initial pixel precision set to obtain a target pixel precision set; and coding the video to be processed based on the target pixel precision set to obtain a coded video. The embodiment of the invention can improve the coding performance of the terminal equipment.)

一种视频处理方法、装置、编码设备及解码设备

技术领域

本发明涉及通信技术领域,尤其涉及一种视频处理方法、装置、编码设备及解码设备。

背景技术

随着信息时代的不断发展,在日常生活中,越来越多的用户会通过照相机或者摄像机拍摄视频的方式来记录或者存储某些内容,由于拍摄得到视频的数据量较大,终端设备在存储或者传输视频时,需要将视频内容进行编码处理,然后将编码后的视频进行存储或者传输。在需要显示视频时,通过与编码处理时相对应的解码方式对编码后的视频进行解码并显示。

在对视频进行编码处理过程中,关键技术之一是帧间预测。帧间预测的主要思想是通过视频中当前帧的运动矢量和参考帧得到预测帧,在此过程中,运动矢量的像素精度选择直接关系到帧间预测的质量,进而也影响了视频编码质量。因此,在数字视频编码技术领域中,如何选择编码处理时的像素精度成为当今研究的热点问题。

发明内容

本发明实施例提供了一种视频处理方法、装置、编码设备及解码设备,可以提高终端设备的编码性能。

第一方面,本发明实施例提供了一种视频处理方法,包括:

确定获取到的待处理视频的视频类型;

如果所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合;

基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。

第二方面,本发明实施例提供了另一种视频处理方法,包括:

接收编码视频;

当所述编码视频中包括标识信息时,确定所述编码视频对应的视频类型为预设视频类型;

基于目标像素精度集合对所述编码视频进行解码处理;

所述目标像素精度集合是针对初始像素精度集合中各个像素精度值进行修改获得的。

第三方面,本发明实施例提供了一种视频处理装置,包括确定单元和处理单元:

确定单元,用于确定获取到的待处理视频的视频类型;

处理单元,用于如果确定单元确定出所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合;

所述处理单元,还用于基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。

第四方面,本发明实施例还提供了另一种视频处理装置,包括接收单元和处理单元:

接收单元,用于接收编码视频;

处理单元,用于当所述编码视频中包括标识信息时,确定所述编码视频对应的视频类型为预设视频类型;

所述处理单元,还用于基于目标像素精度集合对所述编码视频进行解码处理;

所述目标像素精度集合是针对初始像素精度集合中各个像素精度值进行修改获得的。

第五方面,本发明实施例提供了一种编码设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器相连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的视频处理方法。

第六方面,本发明实施例提供了一种解码设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器相连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面的视频处理方法。

第七方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有第一计算机程序指令,所述第一计算机程序指令被处理器执行时,用于执行第一方面的视频处理方法;所述计算机存储介质中还存储有第二计算机程序指令,所述第二计算机程序指令被处理器执行时,用于执行第二方面的视频处理方法。

本发明实施例中,终端设备对获取到的待处理视频的视频类型进行判断,如果所述待处理视频的视频类型为预设视频类型时,则将初始像素精度集合中各个像素精度值增大,得到目标像素精度集合,进一步的,基于所述目标像素精度集合对待处理视频进行编码处理,得到编码视频。上述对待处理视频进行编码处理的过程中,根据待处理视频的视频类型确定编码处理时使用的目标像素精度集合,实现了有针对性的为不同视频类型的待处理视频选择目标像素精度集合,从而可提高编码视频的质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种无人机航拍的场景图;

图2a为本发明实施例提供的一种运动估计的示意图;

图2b为本发明实施例提供的一种确定运动矢量的示意图;

图3a为本发明实施例提供的另一种运动估计的示意图;

图3b为本发明实施例提供的又一种运动估计的示意图;

图4为本发明实施例提供的一种视频处理方法的流程示意图;

图5为本发明实施例提供的一种编码系统的示意图;

图6为本发明实施例提供的一种交互图;

图7为本发明实施例提供的一种编码设备的结构示意图;

图8为本发明实施例提供的一种解码设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例针对视频编码中像素精度选择问题,提出了一种视频处理方法,所述方法可以根据待处理视频的视频类型,有针对性的设置像素精度集合以进行编码处理,可以提高视频编码的性能。具体地,本发明实施例提供的视频处理方法可包括:确定获取到的待处理视频的视频类型;如果所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合;基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。上述对待处理视频进行编码处理的过程中,根据待处理视频的视频类型,对初始像素精度集合进行相应的修改,以得到适用于所述待处理视频的像素精度集合,实现了有针对性的为不同视频类型的待处理视频选择目标像素精度集合,从而可提高编码视频的质量。

本发明实施例提供的视频处理方法可以应用各种视频编码传输的应用场景中,下面以应用在无人机航拍的应用场景中为例具体介绍所述视频处理方法。参考图1,为本发明实施例提供的一种无人机航拍的场景图,假设图1中包括无人机101,摄像区域102,显示设备103。其中,无人机101上挂载有摄像装置1011,所述摄像装置可以用于拍摄视频和拍摄图像,所述无人机101上还可以配置有云台1012,所述摄像装置1011可以通过云台1012挂载于无人机101上。摄像区域102中包括车辆、树木以及河流,所述摄像装置1011对摄像区域102进行拍摄,得到待处理视频。

无人机101中可默认设置了初始像素精度集合,该初始像素精度集合中各个像素精度可能不是对所有视频类型的视频都适用,因此在获取到待处理视频之后,无人机101不是直接使用初始像素精度集合对所述待处理视频进行编码处理,而是判断所述待处理视频的视频类型,进一步确定所述待处理视频所属的视频类型是否适合使用初始像素精度集合进行编码。如果判断出所述待处理视频所属的视频类型可以使用初始像素精度集合进行编码,则基于所述初始像素精度集合对所述待处理视频进行编码处理;如果判断出所述待处理视频所属的视频类型不适合使用初始像素精度集合,则将初始像素精度集合中包括的各个像素精度值修改,以使得修改后的各个像素精度值适用于所述待处理视频所属的视频类型,各个修改后的像素精度值组成了目标像素精度集合。接下来,无人机101基于目标像素精度集合对待处理视频进行编码处理。

可选的,无人机101将对待处理视频进行编码处理后得到的编码视频发送给解码端,此处所述的解码端可以配置于无人机101中,也可以为独立于无人机的解码设备,解码端采用相应的解码策略对编码视频进行解码,最后将解码后的视频发送给显示设备103,显示设备101可以为带有显示屏的编码设备,在接收到解码端发送的解码后的视频时,可以将解码后的视频显示在显示屏上,以使得用户可以观看视频。

在一个实施例中,视频是指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术,通过照相机或者摄像机等拍摄装置拍摄得到的原始视频中包含大量的冗余信息,所以未经过压缩的视频数据量非常大,存储起来比较困难,同时也不便于在网络中进行传输。例如,一秒钟的数字电视视频的数据量约为1113KB,如果假设传输带宽为1M,比特率为9123840,则传输一秒钟的数字电视视频需要9秒钟,也即用户想要观看一秒钟的数字电视视频需要等到9秒钟,大大降低了用户体验。再如,一段未经压缩的10秒钟的视频的数据量大约是2.4G,假设一个内存为16G的手机,除去系统占用的部分,剩下的存储空间最多是12G,最多只能存储50秒视频。

因此,为了解决视频存储难、传输难的问题,需要对原始视频进行压缩处理。所谓的对原始视频进行压缩处理是为了除去原始视频中包含的大量的冗余信息,例如时间冗余、视觉冗余以及空间冗余等,所述对原始视频进行压缩处理的过程实质上是对视频进行编码的过程。在本发明实施例中,所述待处理视频即为原始视频,视频编码过程中的关键技术之一是帧间预测,所述帧间预测技术是利用视频相邻帧之间的时域相关性,使用之前已经编码的重构帧作为参考帧,通过运动估计和运动补偿的方法对当前帧进行预测,从而除去视频的时间冗余信息。简单来说,帧间预测的理论基础就是活动图像临近帧中的景物存在着一定的相关性,在编码时不需要传递每一帧的所有信息,而只需要传递帧与帧之间的差值即可。

视频可以看做是由多帧图像组成的,对视频进行编码处理是指对视频包括的每一帧图像进行编码。在一个实施例中,对视频中的任一帧图像进行编码时,首先将该帧图像划分成多个编码区域,进一步再将每个编码区域划分成多个编码单元,每个编码单元包括多个编码块,对每个编码块依次进行帧间预测。下面以当前帧的某个编码单元中的目标编码块为例,介绍帧间预测的过程:在时域中找到当前帧对应的参考帧,所述参考帧为时域中当前帧附近的已编码帧中的任意一帧;在参考帧中搜索与目标编码块相似的相似块,确定目标编码块与相似块之间的相对位置(如图2a和图2b所示),所述相对位置称为运动矢量(Motion Vector,MV)(为了方便描述,以下将确定运动矢量的过程称为运动估计);根据运动矢量,以及运动矢量的相关信息和参考帧得到目标编码块对应的预测块,通过上述相似的过程可以得到当前帧的每个编码块对应的预测块,从而便可得到当前帧的预测帧。

在一个实施例中,上述运动矢量的相关信息包括在运动估计过程中所使用的像素精度(也可以理解为运动矢量的像素精度)、运动矢量残差(Motion vector difference,MVD)等。其中,MVD是指通过运动估计过程得到的运动矢量与预测运动矢量(motion vectorprediction,MVP)之间的差异,所述MVP是利用多个临近的已编码块与当前编码块之间的多个MV计算得到的。像素精度值越大,表示像素精度的精确度越低,运动估计准确度越低,像素精度值越小,表示像素精度的精确度越高,运动估计准确度越高。举例来说,参考图3a和图3b为本发明实施例提供的两种运动估计的示意图,在上述两图中,黑色点表示整像素点,白色点表示1/2像素点,假设301表示当前帧中的一个目标编码块,302表示参考帧中的相似块。假设图3a使用的像素精度为整像素精度,箭头303表示目标编码块对应的运动矢量,也就是目标编码块在前一帧图像中和在当前帧图像中的位置差异。假设在图3b使用的像素精度为1/2像素精,304表示目标编码块对应的运动矢量,由图3a和图3b对比可知,304表示的运动矢量比303表示的运动矢量更精准。

考虑到人的视觉系统对某些细节不敏感,一段视频中可能某些运动细节使用低像素精度进行编码处理即可,还有一些运动细节需要使用高像素精度进行编码处理的,基于这种情况,为了提高帧间预测质量,编码设备可采用自适应运动矢量精度(AdaptiveMotion Vector Resolution,AMVR)技术,确定帧间预测过程中所使用的运动矢量的像素精度,通过以上描述可知AMVR技术实质上决定的是MVD的像素精度。在一个实施例中,所述AMVR技术的主要原理是:编码设备可以设置一个像素精度集合,该像素精度集合中可包括至少两个像素精度,在对某段视频的某个编码单元进行编码处理时,可以根据该编码单元的特点自适应地从所述像素精度集合中选择相应的像素精度,作为MVD的像素精度。

应当理解的,编码设备设置一个像素精度集合,在对视频进行编码时,从像素精度集合中为每个编码单元选择合适的像素精度进行编码,这样能保证在去除视频中视觉冗余的同时,也减少了编码设备处理的数据量,节省了部分终端功耗。例如,像素精度集合可以为(整像素精度,1/2像素精度,1/4像素精度),或者像素精度集合还可以为(整像素精度、4像素精度和1/4像素精度)。

在一个实施例中,不同视频类型下的视频内容的特点不同,视频内容的特点不同,导致在对利用AMVR技术进行视频编码时所使用的像素精度集合也有所不同。通常情况下,视频类型可包括自然视频和屏幕内容视频,自然视频是指通过摄像装置对某些场景进行拍摄得到的,未经过其他处理的视频;屏幕内容视频一般指编码设备的屏幕上显示的内容,主要有计算机屏幕、电视屏幕、手机屏幕等等内容的视频。这类视频不仅包括一些自然图像,还包括一些文本、图形、动画、游戏等由计算机产生的视觉内容,属于自然和人造图像混合形成的一种视频。和自然视频相比,屏幕内容视频往往具有陡峭的边缘、高纯的色彩、强烈的对比等,也往往有更加规律性,更加简单的运动信息。

由于自然视频和屏幕内容视频之间的差别,该像素精度集合中的几个像素精度可能不适合应用于对屏幕内容视频或自然视频进行编码处理,因此,本申请将编码设备设置的上述像素精度集合(例如上所述,整像素精度、1/2像素精度和1/4像素精度)称为初始像素精度集合,在对屏幕内容视频进行编码时,将对初始像素精度集合中各个像素精度值进行修改,得到适用于屏幕内容视频的目标像素精度集合。同理的,编码设备设置的初始像素精度集合可能适用于屏幕内容视频,若待处理视频为自然视频时,同样也需要对初始像素精度集合中各个像素精度进行修改,得到适用于自然视频的目标像素精度集合。

请参见图4,为本发明实施例提供的一种视频处理方法,所述视频处理方法可用于任何能够实现编码功能的编码设备中,所述视频处理方法可具体由编码设备的处理器执行。所述视频处理方法可包括以下步骤:

步骤S401、编码设备确定获取到的待处理视频的视频类型。

在一个实施例中,所述编码设备获取到的待处理视频可以是通过编码设备上配置的摄像装置对摄像对象进行拍摄得到的,或者所述待处理视频也可以是一个独立的摄像设备对摄像对象拍摄得到并发送给编码设备的。

在一个实施例中,通过不同摄像设备对摄像对象进行拍摄所得的视频格式也可以不同,因此一段视频可以包括多种视频格式,例如avi,mp4,mts以及mp3等。可选的,所述编码设备获取到的所述待处理视频的视格式可以为上述视频格式中的任意一种。

作为一种可行的实施方式,可以根据视频内容的产生方式将视频可以分类为自然视频和屏幕内容视频,自然视频可以指通过相机或者摄像机直接拍摄得到的视频,也就是说自然视频中包括多帧自然图像,例如,日常手机拍摄的小视频;屏幕内容视频一般是指编码设备的屏幕上显示的内容,此处所述的编码设备主要可包括计算机、电视机以及手机等编码设备。具体来讲,所述屏幕内容视频中不仅包括一些自然图像,还包括一些文本、图形、动画或者游戏等由计算机产生的视觉内容,所述屏幕内容视频是自然视频和人造图像混合形成的一种视频。例如,电影,或者通过计算机为一段演示文稿添加的播放动画等。本发明实施例中,所述编码设备获取到的待处理视频的视频类型可以为自然视频或者屏幕内容视频中的任意一种。

应当理解的,上述对视频分类只是本发明实施例列举的一种可行的视频分类方法,还可以通过其他分类依据为视频类型进行分类,比如,可以根据视频内容的时长将视频分为长视频和短视频。

通过图2a、图2b以及图3a,图3b部分的实施例描述可知,编码设备在对不同视频类型的视频进行编码时,如果有针对性的为不同视频类型设置相应的像素精度集合,可以在提高编码视频质量的同时,节省部分终端的功耗开销。因此,本发明实施例在确定了待处理视频的视频类型之后,为待处理视频选择合适的像素精度集合,然后基于选择的所述像素精度集合对所述待处理视频进行编码处理。在一个实施例中,所述编码设备可通过步骤S402实现为待处理视频选择合适的像素精度集合。

应当理解的,所述待处理视频是由多帧图像组成的,在对所述待处理视频进行编码处理时,是对多帧图像中每一帧图像进行处理的,因此,以下所述的确定获取到待处理视频的视频类型,实质上是确定正在处理的待处理视频的当前帧的视频类型。

在一个实施例中,所述步骤S401的实现方式可以包括:确定所述待处理视频对应的哈希值;若所述哈希值不大于阈值,则确定所述待处理视频的视频类型为预设视频类型;若所述哈希值大于所述阈值,则确定所述待处理视频的视频类型不是所述预设视频类型。也就是说,编码设备可以根据待处理视频对应的哈希值确定待处理视频所属的视频类型。其中,所述阈值是用于判定视频类型的一个预设值,该值可以由编码设备设置。在本发明实施例中,预设视频类型可以是编码设备设置的,所述预设视频类型可以包括屏幕内容视频或者自然视频中的任意一种或多种,在其他实施例中,所述预设视频类型也可以包括长视频或者短视频中的任意一种。

假设编码设备获取到待处理视频之后,开始对待处理视频的目标帧进行编码处理之前,首先需要计算目标帧的哈希值,如果目标帧的哈希值小于或等于阈值,则确定所述目标帧是预设视频类型;如果目标帧的哈希值大于阈值,则确定所述目标帧不是预设视频类型。进一步的,根据判断的结果,选择编码处理时所需的像素精度集合。

在另一个实施例中,所述步骤S401的实现方式还可以包括:调用视频类型识别模型对所述待处理视频进行识别,得到识别结果;若所述识别结果所指示的视频类型为预设视频类型,则确定所述待处理视频的视频类型为预设视频类型。也就是说,编码设备中可存储有视频类型识别模型,该视频类型识别模式是通过包含有不同视频类型的视频样本训练得到的,编码设备调用该模型对所述待处理视频进行识别,得到识别结果。所述识别结果可以包括待处理视频属于某种视频类型的概率,将概率较高的视频类型确定为待处理视频的视频类型。例如,假设编码设备调用视频类型识别模型对待处理视频进行识别,得到的识别结果可以为自然视频30%,屏幕内容视频可以为70%,根据该识别结果,确定所述待处理视频为屏幕内容视频。

步骤S402、如果所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值增大,得到目标像素精度集合。

在一个实施例中,所述初始像素精度集合可以是编码设备默认的像素精度集合,也可以是编码设备在前一帧进行编码处理时所使用的像素精度集合。假设所述初始像素精度集合是编码设备默认的像素精度集合,编码设备设置初始像素精度集合的方式可以为:根据历史视频编码处理时使用的像素精度集合确定所述初始像素精度集合,例如,编码设备获取最近5次视频处理时所使用的像素精度集合,其中有4次视频编码处理时使用的像素精度集合相同均为(1/2像素精度,1/4像素精度,整像素精度),则将(1/2像素精度,1/4像素精度,整像素精度)确定为默认的初始像素精度。在其他实施例中,所述初始像素精度也可以是编码设备根据获取到的设置操作进行设置的,在编码设备进行编码处理之前,用户可以通过编码设备的用户界面设置编码时的初始像素精度集合,或者用户还可以通过用户界面进行一些其他的与编码有关的配置操作。

在一个实施例中,本发明实施例在步骤S401中如果确定出所述待处理视频的视频类型为预设视频类型之后,则获取编码设备中当前设置的初始像素精度集合,如果所述初始像素精度集合中包括的各个像素精度满足对所述预设视频类型的视频进行编码时的像素精度要求,则可以直接使用初始像素精度集合对所述待处理图像进行编码处理;如果所述初始像素精度集合中包括的各个像素精度存在某一个或多个像素精度,不满足对所述预设视频类型的视频进行编码时的像素精度要求,则将相应的像素精度值进行修改,最后将经过修改后的初始像素精度集合,作为对所述待处理视频进行编码处理的目标像素精度集合。其中,所述对像素精度值的修改可以包括增大或者减少。

在一个实施例中,所述将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合的实现方式可以为:根据所述预设视频类型,确定像素精度值调整规则;按照像素精度值调整规则将初始像素精度集合中包括的各个像素精度值进行修改,得到目标像素精度集合。其中,在本发明实施例中,根据所述预设视频类型确定像素精度值调整规则的实现方式可以是根据预设视频类型的运动规律和待处理视频的视频内容确定像素精度值调整规则。举例来说,像素精度值调整规则为:修改后的像素精度值和修改之前相应的像素精度值之间的差值小于或等于7个像素。再如,调整规则还可以设置为:修改后的像素精度和修改之前相应的像素精度值之间的差值小于或等于1/2像素精度等。应当理解的,上述只是本发明实施例列举的一种修改像素精度值的方法,对于具体的修改方法本发明实施例中不做具体限定。

在一个实施例中,即使对于同一段视频,采用不同的编码模式对其进行编码处理时所需的像素精度集合也不相同。在本发明实施例中,假设编码模式包括第一类编码模式和第二类编码模式,所述第一类编码模式可以指帧间inter编码模式和仿射affine编码模式中的任意一种,所述第二类编码模式指inter编码模式和affine编码模式中的另外一种。对应于两种编码模式,所述初始像素精度集合可包括第一初始像素精度集合和第二初始像素精度集合。其中,第一类编码模式对应的初始像素精度集合可以是第一初始像素精度集合,第二类编码模式下对应的初始像素精度集合可以是第二初始像素精度集合。在其他实施例中,第一类编码模式对应初始像素精度集合也可以是第二初始像素精度集合,第二类编码模式对应的初始像素精度集合也可以是第一初始像素精度集合。

在一个实施例中,上述inter编码模式和affine编码模式的主要区别是,inter编码模式只关注了视频中平移运动的运动信息,affine编码模式关注了更多的运动信息,比如缩放、旋转,透视运动等无规则的运动。通过前述描述可知,在利用inter编码模式进行帧间预测时,帧间预测的处理对象是一帧图像中的某个编码块,而affine编码模式的处理对象不再是整个编码块,而是要将整个编码块划分为多个编码子块,将每个编码子块作为处理对象。这样一来,affine编码模式下每个编码子块都会对应一个运动矢量,多个编码子块对应的运动矢量组成了affine编码模式下的运动矢量场,affine编码模式下的运动补偿则指利用运动矢量场和参考帧得到预测帧。在一个实施例中,affine编码模式下每个编码块包括的各个编码子块的运动矢量可以通过该编码块上的控制点的参数计算得到。通常情况下,在affine编码模式下每个编码块上的控制点的数量可以为两个,也可以为三个。对于具体如何通过控制点的参数计算得到affine编码模式下每个编码块对应的各个编码字块的运动矢量可以采用现有技术中相关方法,在此不再赘述。

在一个实施例中,由上述描述可知,在确定了所述待处理视频的视频类型为预设视频类型后,为待处理视频确定对应的目标像素精度集合之前,首先要判断对所述待处理视频进行编码处理时所使用的编码模式,然后再进一步根据编码模式选择需要调整的初始像素精度集合,最后对需要调整的初始像素精度集合中各个像素精度进行增大调整,得到目标像素精度集合。

具体地,所述初始像素精度集合包括第一初始像素精度集合和第二初始像素精度集合,所述目标像素精度集合包括第一目标像素精度集合和第二目标像素精度集合,所述将初始像素精度集合中各个像素精度值增大,得到目标像素精度集合,包括:获取对所述待处理视频进行编码处理时使用的编码模式;若所述编码模式为第一类编码模式,则将所述第一初始像素精度集合中各个像素精度值进行修改,得到第一目标像素精度集合;若所述编码模式为第二类编码模式,则将所述第二初始像素精度集合中各个像素精度值进行修改,得到第二目标像素精度集合。

在一个实施例中,所述对所述待处理视频进行编码处理时使用的编码模式可以是编码设备根据所述待处理视频中包括的运动信息进行选择的,具体地,如果编码设备判断出所述待处理视频中包括旋转、平移、缩放等多种运动信息,则可选择第一类编码模式为所述待处理视频进行编码;如果编码设备判断出所述待处理视频中只包括平移运动信息,则可选择第二类编码模式为所述待处理视频进行编码。在其他实施例中,所述对所述待处理视频进行编码处理时使用的编码模式也可以编码设备根据用户在用户界面输入的设置操作确定的。

举例来说,假设编码设备设置了在第一编码模式下,第一初始像素精度集合为(1/2像素精度,整像素精度,1/4像素精度);在第二编码模式下,第二初始像素精度集合为(1/4像素精度,1/8像素精度,1/16像素精度)。假设编码设备获取到一段待处理视频,且判断所述待处理视频的视频类型为预设视频类型,进一步的,编码设备确定对所述待处理视频进行编码处理时所需的编码模式,如果确定所述编码模式为第一类编码模式,则将第一初始像素精度集合(整像素精度,1/2像素精度,1/4像素精度)中各个像素精度值进行修改,得到第一目标像素精度集合,可以表示为(整像素精度,4像素精度和8像素精度);如果确定所述编码模式为第二类编码模式,则将第二初始像素精度集合(1/4像素精度,1/8像素精度,1/16像素精度)中各个像素精度值进行修改,得到第二目标像素精度集合,可以表示为(1/2像素精度,整像素精度,2像素精度)。

步骤S403、基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。

在一个实施例中,通过步骤S402确定了所述待处理视频对应的目标像素精度集合之后,基于所述目标像素精度集合对所述待处理视频进行帧间预测,进而对帧间预测后的待处理视频进行其他的编码处理,比如变换、量化、熵编码等,得到编码视频。其中,所述基于所述目标像素精度集合对所述待处理视频进行帧间预测实质上是对所述待处理视频的每帧图像进行帧间预测。

在一个实施例中,对所述处理视频进行编码处理得到编码视频后,可以以码流的形式将所述编码视频传输给解码端,由解码端对编码视频进行解码处理,解码端可以将解码得到的视频传输给显示设备,由显示设备进行显示。通过对上述待处理视频进行编码、解码、显示处理之后,待处理视频中包括的一些冗余信息被消除,大大减小了待处理视频的数据量,提高了视频传输效率,同时也提高了用户观看体验。比如,假设一段一秒钟的数字电视视频,通过1M的传输宽带进行传输,在未进行编码处理的情况下,需要传输9秒钟,也就是用户需要等到9秒钟才能观看一段一秒钟的数字电视视频;在采用本发明实施例的视频处理方法进行处理后,可能仅需要从需要传输1秒钟。

在一个实施例中,基于所述目标像素精度结对所述目标待处理视频中每帧图像进行编码处理后,为每帧图像添加能够标识该帧图像所属视频类型的标识信息,将所述待处理视频中各帧图像都进行上述处理之后,得到编码视频,所述编码视频中包括了标识信息,将编码视频和标识信息发送给解码端,以使得解码端根据每帧图像的编码情况,进行解码。具体地,所述基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频,包括:为所述编码视频添加标识信息;将添加了所述标识信息的编码视频发送给解码端,所述标识信息用于指示所述解码端基于所述标识信息对所述编码视频进行解码。

在一个实施例中,编码设备在确定了所述待处理视频对应的目标像素精度集合之后,可以为目标像素精度集合中包括的各个像素精度设置索引标识,这样一来,编码设备通过索引标识便可知道对某一帧图像进行编码处理时所使用的像素精度。其中,目标像素精度集合中包括的各像素精度设置的索引标识可以为:假设目标像素精度集合为(整像素精度,4像素精度,8像素精度),索引标识为:0表示整像素精度,00表示4像素精度,01表示8像素精度。

编码设备在对待处理视频进行编码处理得到编码视频后,可以将索引标识和编码视频一起发送给解码器,所述索引标识用于指示所述解码端基于所述索引标识对编码视频进行解码。具体地,所述基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频,包括:为目标像素精度集合中包括的各个像素精度设置索引标识;确定对所述待处理视频进行编码处理时使用的所述目标像素精度集合中的目标像素精度,以及所述目标像素精度对应的索引标识;为所述编码视频添加所述索引标识,并将添加了所述索引标识的编码视频发送给解码端,所述索引标识用于指示所述解码端基于所述索引标识对编码视频进行解码。

本发明实施例中,编码设备对获取到的待处理视频的视频类型进行判断,如果所述待处理视频的视频类型为预设视频类型时,则将初始像素精度集合中各个像素精度值增大,得到目标像素精度集合,进一步的,基于所述目标像素精度集合对待处理视频进行编码处理,得到编码视频。上述对待处理视频进行编码处理的过程中,根据待处理视频的视频类型确定编码处理时使用的目标像素精度集合,实现了有针对性的为不同视频类型的待处理视频选择目标像素精度集合,从而可提高编码视频的质量。

参考图5,为本发明实施例提供的一种编码系统,所述编码系统中可包括编码端501和解码端502,所述编码端501和所述解码端502可以配置于同一终端设备中,或者所述编码端501和所述解码端502也可以是相互独立的两个设备。在图5所述的编码系统中,所述编码端501用于采用合适的像素精度集合对待处理视频进行压缩编码处理,以减少待处理视频中包括的冗余信息,编码端501将对待处理视频进行编码处理后得到的编码视频发送给解码端,解码端502采用与编码端相对应的像素精度集合以及其他编码信息对编码视频进行解码处理。

参考图6,为本发明实施例提供的一种交互图,下面结合图6来描述图5中编码端501和解码端502在对视频进行编解码处理时的交互流程。在一个实施例中,编码端501在步骤S601中获取到待处理视频之后,确定所述待处理视频的视频类型。根据待处理视频的视频类型选择对待处理视频进行编码处理时所需的目标像素精度集合。具体地,如果编码端501在步骤S602中确定出待处理视频的视频类型为预设视频类型,则将编码端501中存储的初始像素精度集合中各个像素精度进行修改,得到目标像素精度集合,进一步的在步骤S603中基于目标像素精度集合对所述待处理视频进行编码处理;如果编码端501确定出待处理视频的视频类型不是预设视频类型,则使用解码端501中存储的初始像素进行集合对所述待处理视频进行编码处理。

可选的,步骤S602中所述的预设视频类型可以包括屏幕内容视频和自然视频中的任意一种或多种,或者预设视频类型也可以包括长视频和短视频中的任意一种,或者预设视频类型还可以为其他视频类型,本发明实施例不对预设视频类型进行限定。在一个实施例中,对于编码端501确定待处理视频的视频类型的方法可参见图4实施例中相关内容的描述,在此不再赘述。

编码端501对待处理视频进行编码的编码模式可以第一类编码模式和第二类编码模式,其中第一类编码模式可以包括inter编码模式和affine编码模式中的任意一种,所述第二类编码模式可以包括inter编码模式和affine编码模式中的一种。在不同的编码模式下,编码端501对应的初始像素精度集合也不相同。具体地,第一类编码模式对应的初始像素精度集合可以为第一初始像素精度集合,第二类编码模式对应的初始像素精度集合可以为第二初始像素精度集合。在编码端501确定出所述待处理视频的视频类型为预设视频类型后,确定目标像素精度集合之前,编码端501还需要确定出编码模式:如果编码模式为第一类型编码模式,则编码端501将第一初始像素精度集合中各个像素精度值进行调整,得到第一目标像素精度集合;如果编码模式为第二类编码模式,则编码端501将第二初始像素精度集合中的各个像素精度值进行调整,得到第二目标像素精度集合。

在图5所述的编码系统中,编码端501通过步骤S603基于目标像素精度集合对待处理视频进行编码处理,得到编码视频后,还可以通过步骤S604为编码视频添加标识信息,并将添加了标识信息的编码视频发送解码端502。其中,所述标识信息是指用于标识编码视频对应的视频类型为预设视频类型的信息,换句话说,解码端502若检测到编码视频中包括此标识信息,则可确定编码视频对应的视频类型为预设视频类型。

解码端502在步骤S605中接收编码端501发送的编码视频,并可以提取编码视频中包括的信息,如果在步骤S606中确定出所述编码视频中包括标识信息时,则确定接收到的编码视频对应的视频类型为预设视频类型;进一步的,解码端502可以获取到编码端501为预设视频类型设置的目标像素精度集合,并通过步骤S607基于目标像素精度集合对所述编码视频进行解码处理。

在一个实施例中,编码端501在执行步骤S603得到编码视频之后,除了为编码视频添加标识信息,还可以为编码视频中添加索引标识,所述索引标识是用来标识编码端501对待处理视频进行编码处理时所使用的目标像素精度,该目标像素精度是属于目标像素精度集合中的任意一个。可以理解的,待处理视频是由多帧图像组成的,因此对待处理视频进行视频编码处理时也是以帧为单位进行处理的,对各帧图像进行编码处理之后,以码流的形式将包括各帧图像编码结果的编码视频发送给解码端。所以,上述对待处理视频进行编码处理时所使用的目标像素精度实质上是说对待处理视频的各帧图像而言的。

编码端501将添加了索引标识的编码视频发送给解码端502,解码端502从目标像素精度集合中,确定出所述索引标识所标识的目标像素精度;进一步的,基于目标像素精度对所述编码视频进行解码处理。解码端502基于目标精度对编码视频进行解码处理后,得到可显示或者可存储的数据量较小的视频。

在本发明实施例提供的编码系统中,编码端501根据待处理视频的视频类型,设置相应的目标像素精度集合对待处理视频进行编码处理,提高了视频编码的质量,解码端502根据编码端501发送的编码视频中包括的标识信息可以准确的选择目标像素精度集合,对编码视频进行解码,可保证视频内容不被破坏,提高了解码质量。

参考图7,为本发明实施例提供的一种编码设备的结构示意图,如图7所述的编码设备可包括:存储器701和处理器702,其中存储器701和处理器702通过总线703连接,存储器701中存储有程序代码,存储器702调用存储器701中的程序代码。

所述存储器701可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器701也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器701还可以包括上述种类的存储器的组合。

所述处理器702可以是中央处理器(Central Processing Unit,CPU)。所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器702也可以为上述结构的组合。

本发明实施例中,所述存储器701用于存储计算机程序,所述计算机程序包括程序指令,处理器702用于执行存储器701存储的程序指令,用来实现上述图4所示的实施例中的相应方法的步骤。

在一个实施例中,所述处理器702被配置调用所述程序指令时执行:确定获取到的待处理视频的视频类型;如果所述待处理视频的视频类型为预设视频类型,则将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合;基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频。

在一个实施例中,所述处理器702在确定获取到的待处理视频的视频类型时,执行如下操作:确定所述待处理视频对应的哈希值;若所述哈希值不大于阈值,则确定所述待处理视频的视频类型为预设视频类型;若所述哈希值大于所述阈值,则确定所述待处理视频的视频类型不是所述预设视频类型。

在一个实施例中,所述处理器702在确定获取到的待处理视频的视频类型时,执行如下操作:调用视频类型识别模型对所述待处理视频进行识别,得到识别结果;若所述识别结果所指示的视频类型为预设视频类型,则确定所述待处理视频的视频类型为预设视频类型。

在一个实施例中,所述初始像素精度集合包括第一初始像素精度集合和第二初始像素精度集合,所述目标像素精度集合包括第一目标像素精度集合和第二目标像素精度集合,所述处理器在将初始像素精度集合中各个像素精度值进行修改,得到目标像素精度集合时,执行如下操作:获取对所述待处理视频进行编码处理时使用的编码模式;若所述编码模式为第一类编码模式,则将所述第一初始像素精度集合中各个像素精度值进行修改,得到第一目标像素精度集合;若所述编码模式为第二类编码模式,则将所述第二初始像素精度集合中各个像素精度值进行修改,得到第二目标像素精度集合。

在一个实施例中,所述第一类编码模式可以包括帧间inter编码模式和仿射affine编码模式中的任意一种,所述第二类编码模式可以包括帧间inter编码模式和所述affine编码模式中的另外一种。

在一个实施例中,所述处理器702在基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频时,执行如下操作:为所述编码视频添加标识信息;将添加了所述标识信息的编码视频发送给解码端,所述标识信息用于指示所述解码端基于所述标识信息对所述编码视频进行解码。

在一个实施例中,所述处理器702在基于所述目标像素精度集合对所述待处理视频进行编码处理,得到编码视频时,执行如下操作:为目标像素精度集合中包括的各个像素精度设置索引标识;确定对所述待处理视频进行编码处理时使用的所述目标像素精度集合中的目标像素精度,以及所述目标像素精度对应的索引标识;为所述编码视频添加所述索引标识,并将添加了所述索引标识的编码视频发送给解码端,所述索引标识用于指示所述解码端基于所述索引标识对编码视频进行解码。

参考图8,为本发明实施例提供的一种解码设备的结构示意图,如图8所述的解码设备可包括:存储器801和处理器802,其中存储器801和处理器802通过总线803连接,存储器801中存储有程序代码,存储器802调用存储器801中的程序代码。

所述存储器801可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器801也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器801还可以包括上述种类的存储器的组合。

所述处理器802可以是中央处理器(Central Processing Unit,CPU)。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器802也可以为上述结构的组合。

本发明实施例中,所述存储器801用于存储计算机程序,所述计算机程序包括程序指令,处理器802用于执行存储器801存储的程序指令。

在一个实施例中,所述处理器802被配置调用所述程序指令时执行:接收编码视频;当所述编码视频中包括标识信息时,确定所述编码视频对应的视频类型为预设视频类型;基于目标像素精度集合对所述编码视频进行解码处理;所述目标像素精度集合是针对初始像素精度集合中各个像素精度值进行修改获得的。

在一个实施例中,所述编码视频中还包括索引标识,所述处理器802在基于目标像素精度集合对所述编码视频进行解码处理时,执行如下操作:从所述目标像素精度集合中,确定所述索引标识所标识的目标像素精度;基于所述目标像素精度对所述编码视频进行解码处理。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用帧间预测信息的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类