一种基于运动信息与残差信息计算的视频编码方法与流程

文档序号:17376796发布日期:2019-04-12 23:23阅读:234来源:国知局

本发明涉及视频压缩技术领域,尤其涉及一种基于运动信息与残差信息计算的视频编码方法。



背景技术:

传统的编码器对视频帧无区分地进行编码,可能出现某些场景视频质量差的问题,对于所有视频帧不加区分地进行编码时,存在部分视频帧质量差的情况。



技术实现要素:

本发明实施例提供了一种基于运动信息与残差信息计算的视频编码方法,包括如下步骤:

获取原始视频帧;

获取所述原始视频帧对应的行为模式;

根据所述行为模式对所述原始视频帧进行处理,得到待编码视频帧;

根据所述待编码视频帧的分辨率配置信息,确定目标运动矢量分辨率信息;

依据所述目标运动矢量分辨率信息,确定待编码视频帧中各待编码块各自对应的目标运动矢量:当在所述待编码视频帧的当前分辨率下,确定所述待编码视频帧中各待编码块各自对应的初始运动矢量;当由原始视频帧采用下采样行为模式处理得到所述待编码视频帧时,根据所述待编码视频帧的当前分辨率信息和所述目标运动矢量分辨率信息,确定第一矢量转换参数;按照所述第一矢量转换参数,将所述初始运动矢量变换为在所述目标分辨率下的目标运动矢量;

在编码所述待编码视频帧中各待编码块时,对于当前待编码块,确定所述当前待编码块所对应参考块所在的参考帧;在所述参考帧中,确定与所述当前待编码块图像位置对应的图像块;获取所述图像块所对应的、且在所述目标分辨率下的目标运动矢量,作为所述当前待编码块的预测运动矢量;

根据各目标运动矢量和对应的预测运动矢量间的运动残差,得到编码数据。

本发明实施例提供的一种基于运动信息与残差信息计算的视频编码方法,在对存在不同分辨率情况的编码视频帧进行编码时,在根据分辨率配置信息确定的目标运动矢量分辨率信息所表示的目标分辨率下,确定待编码视频帧中各待编码块各自对应的目标运动矢量和预测运动矢量,从而提升了编码的准确性。

具体实施方式

本发明实施例提供了一种基于运动信息与残差信息计算的视频编码方法,主要包括如下步骤:

步骤1,获取待编码视频帧。

其中,待编码视频帧是由输入的原始视频帧按照对应的行为模式进行处理得到。不同的待编码视频帧存在分辨率不同的情况,表示不同的待编码视频帧的分辨率可以相同也可以不同。比如,视频序列中包括原始视频帧a和原始视频帧b,其中,原始视频帧a和原始视频帧b可能按照不同的行为模式进行处理,因此,原始视频帧a和原始视频帧b各自对应的待编码视频帧的分辨率可能不同。

视频帧是构成视频的单位。一个视频对应一个或多个视频帧序列。一个视频序列可以包括多个原始视频帧。原始视频帧可以是实时采集的视频帧,例如可以是通过终端的摄像头实时获取的视频帧,也可以是预先存储的视频序列对应的视频帧。原始视频帧可以是i帧、p帧或者b帧,其中i帧为帧内预测帧,p帧为前向预测帧,b帧为双向预测帧,p帧与b帧的各个编码块可以采用帧内预测方式也可以采用帧间预测方式进行编码。

当待编码视频帧直接为输入的原始视频帧时,若输入的各原始视频帧的分辨率一致,那么此时不同的待编码视频帧的分辨率相同;若输入的各原始视频帧存在分辨率不同的情况,那么此时不同的待编码视频帧也存在分辨率不同的情况。

当待编码视频帧是对输入的原始视频帧按某种行为模式进行处理后得到的视频帧时,由于对原始视频帧的行为模式可能不同(例如不同的采样比例等),那么处理得到的待编码视频帧也存在分辨率不同的情况。例如,原始视频帧的分辨率为800*800像素,当行为模式为水平以及垂直方向均进行1/2下采样时,下采样得到待编码视频帧的分辨率为400*400像素;当行为模式为水平以及垂直方向均进行1/4下采样时,下采样得到待编码视频帧的分辨率为200*200像素。这样,处理得到的待处理视频帧的分辨率不同。其中,采用比例为采样后的分辨率除以采样前的分辨率得到的比值。下采样时,采样比例小于1,上采样时采样比例大于1,当采样比例为1时,不改变分辨率。可以理解,视频编码包括一个循环的过程。在获取到一帧待编码视频帧并编码得到该待编码视频帧的编码数据后,继续获取新的一帧待编码视频帧进行编码,直至对所有的待编码视频帧完成编码。其中,计算机设备在对待编码视频帧进行编码时,可多帧待编码视频帧并行编码。

在对一帧待编码视频帧进行编码时,也包括一个循环的过程。在对该待编码视频帧中的一个待编码块完成编码后,继续对下一个待编码块进行编码,直至对该待编码视频帧所有的待编码块编码完成。其中,计算机设备在对待编码块进行编码时,可多个待编码块并行编码。

步骤2,根据待编码视频帧的分辨率配置信息,确定目标运动矢量分辨率信息。分辨率信息是与分辨率相关的数据。分辨率信息具体可以是分辨率本身或者采样比例等。分辨率配置信息,是预先配置的、且用于指示处理运动矢量时所需要采用的分辨率的信息。可以理解,分辨率配置信息可以直接是配置的处理运动矢量时所需要采用的分辨率信息本身,也可以是配置的分辨率信息确定方式。分辨率信息确定方式,用于确定处理运动矢量时所采用的分辨率信息的类别,即用于确定采用哪种类别的分辨率信息来处理运动矢量。

处理运动矢量时所采用的分辨率信息的类别,可以是原始分辨率信息这一类别或当前分辨率信息这一类别。可以理解,原始分辨率信息是原始视频帧的分辨率信息。当前分辨率信息,是当前待编码视频帧的分辨率信息。可以理解,当分辨率信息确定方式所确定的分辨率信息的类别为原始分辨率信息时,则可以将原始分辨率信息作为目标运动矢量分辨率信息。当分辨率信息确定方式所确定的分辨率信息的类别为当前分辨率信息时,则可以将待编码视频帧的当前分辨率信息作为目标运动矢量分辨率信息。

由于各待编码视频帧存在分辨率不同的情况,所以当前分辨率并非固定的分辨率,当分辨率信息确定方式所确定的分辨率信息的类别为当前分辨率信息时,不同待编码视频帧根据相应分辨率信息确定方式,所确定的目标运动矢量分辨率信息可以不同。

可为针对帧级配置分辨率配置信息;也可针对组级(即视频帧组这一层级)配置分辨率配置信息,还可以针对序列级(即视频序列这一层级)配置分辨率配置信息。举例说明,假设针对组级配置分辨率配置信息,那么对于某一视频帧组下的原始视频帧所对应的待编码视频帧来说,各待编码视频帧所对应的分辨率配置信息即为该视频帧组所对应配置的分辨率配置信息。

分辨率配置信息与目标运动矢量分辨率信息对应。目标运动矢量分辨率信息可以是原始视频帧的原始分辨率信息,也可以是待编码视频帧的当前分辨率信息。原始分辨率信息,是与原始视频帧的原始分辨率相关的数据。当前分辨率信息,是与待编码视频帧的当前分辨率相关的数据,用于表示待编码视频帧的当前分辨率。因此,计算机设备可以配置用于指示处理运动矢量时采用原始分辨率信息的分辨率配置信息,也可以配置用于指示处理运动矢量时采用当前分辨率信息的分辨率配置信息。

步骤3,在目标运动矢量分辨率信息所表示的目标分辨率下,确定待编码视频帧中各待编码块各自对应的目标运动矢量。

运动矢量是视频编码中待编码块相对于该待编码块的参考块的位移。待编码块的参考块是在对待编码块进行编码时所要参考的数据。运动矢量用于在对待解码块进行解码时寻找该待解码块的参考块,以重建待解码块。目标运动矢量即为在目标分辨率下的运动矢量。

运动矢量所对应的分辨率表示运动矢量的单位所对应的分辨率。

待编码视频帧中各待编码块的参考块所在的参考帧,根据预测类型的不同而不同。待编码视频帧可以是i帧、p帧或者b帧。其中i帧为帧内预测帧,p帧为前向预测帧,b帧为双向预测帧。那么,各待编码块的参考块所在参考帧可为本视频帧、前向参考帧、后向参考帧或双向参考帧。参考帧的数量可为一个或多个。参考帧,是对待编码视频帧进行编码时所需参考的视频帧。本领域技术人员可以理解,参考帧是待编码视频帧之前已编码得到的编码数据进行重建得到的视频帧。

对于某一待编码视频帧上的待编码块,在参考帧上搜索到该待编码块的参考块后,可以直接在分辨率配置信息所对应的目标运动矢量分辨率信息所表示的目标分辨率下,计算目标运动矢量,也可以在该待编码视频帧的当前分辨率下计算待编码块的运动矢量。如果在该待编码视频帧的当前分辨率下计算待编码块的运动矢量,那么,计算机设备可将目标运动矢量分辨率信息所表示的目标分辨率,与待编码视频帧的分辨率进行比较。当两者一致时,则在待编码视频帧的分辨率下的运动矢量,即为在目标分辨率下的目标运动矢量;当两者不一致时,计算机设备则将在待编码视频帧的分辨率下的运动矢量,变换为在目标分辨率下的目标运动矢量。

步骤4,获取各待编码块各自对应的、且在目标分辨率下的预测运动矢量。

其中,预测运动矢量是预测的运动矢量。在对待编码视频帧进行编码时,直接对待编码视频帧中各待编码块的运动矢量进行编码,数据量较大。为了降低编码数据的数据量(比特数),可以对待编码视频帧中各待编码块的运动矢量进行预测,得到各编码块的预测运动矢量,从而直接对各待编码块的运动矢量和预测运动矢量的差值进行编码。

在本发明的实施例中,不限定预测运动矢量的计算方式。计算机设备可以采用已编码块的运动矢量来运算得到待编码块的预测运算矢量。举例说明,可以将当前待编码块的多个相邻已编码块对应的运动矢量的均值,作为当前待编码块的预测运动矢量;或者,可以将参考帧中与当前待编码块在图像位置上对应的图像块的运动矢量,作为当前待编码块的预测运动矢量等。

已编码块的运动矢量所对应的分辨率,则是目标运动矢量分辨率信息所表示的目标分辨率。那么,既然预测运动矢量是通过已编码块的运动矢量来运算得到的,所以,预测运动矢量所对应的分辨率,也是目标运动矢量分辨率信息所表示的目标分辨率。

在一组待编码视频帧,或者一帧待编码视频帧下,编码的各待编码块的目标运动矢量与预测运动矢量在统一的分辨率下,此时再对目标运动矢量与预测运动矢量进行运算时,各待编码块所对应的运算结果也均在统一的分辨率下,计算机设备的编码器在对各待编码块所对应的运算结果进行编码时,不会因为不同待编码块所对应的运算结果的分辨率不同,需要频繁调整编码器的参数影响编码质量,又可以提高编码效率。

编码器在对不同的分辨率下的数据进行编码时,需要调整编码器的参数。不同的所述待编码视频帧存在分辨率不同的情况,而且对于同一帧待编码视频帧的不同待编码块的用于编码的数据也存在分辨率不同的情况。因此,会在编码一组视频帧组或者编码一帧视频帧时,可以通过分辨率配置信息指定一个目标运动矢量分辨率信息,将用于编码的数据统一至该目标运动矢量分辨率信息所表示的目标分辨率下,既可以保证编码质量,又可以提高编码效率。

步骤5,根据各目标运动矢量和对应的预测运动矢量间的运动残差,得到编码数据。

其中,运动残差是运动矢量和预测运动矢量的差值。具体地,计算机设备可对当前待编码视频帧中的每个待编码块,均根据每个待编码块的目标运动矢量和预测运动矢量计算运动残差,再对每个待编码块的运动残差进行编码得到编码数据。这里的编码过程可以包括变换、量化及熵编码中的至少一个。

上述基于运动信息与残差信息计算的视频编码方法,在对存在不同分辨率情况的编码视频帧进行编码时,在根据分辨率配置信息确定的目标运动矢量分辨率信息所表示的目标分辨率下,确定待编码视频帧中各待编码块各自对应的目标运动矢量和预测运动矢量,这样一来,根据同一分辨率下的目标运动矢量和对应的预测运动矢量间的运动残差,得到的编码数据更加的准确,从而提高了编码质量。而且,根据同一分辨率下的目标运动矢量和对应的预测运动矢量间的运动残差得到的编码数据,减少了编码数据的数据量。此外,通过该基于运动信息与残差信息计算的视频编码方法,能够实现对不同分辨率的待编码视频帧的编码处理,提高了编码的灵活性。

也可以不用预先配置与待编码视频帧对应的分辨率配置信息,而是可以预设一个或多个运动矢量分辨率信息,从预设的运动矢量分辨率信息中,选中目标运动矢量分辨率信息,然后在选中的目标运动矢量分辨率信息所表示的目标分辨率下,确定待编码视频帧中各待编码块各自对应的目标运动矢量。计算机设备可以继续执行获取各待编码块各自对应的、且在目标分辨率下的预测运动矢量;以及根据各目标运动矢量和对应的预测运动矢量间的运动残差,得到待编码视频帧的编码数据的步骤。其中,编码数据包括表示目标分辨率的标识信息。可以理解,该标识信息可以告知解码端在编码端进行编码时所使用的目标分辨率。

具体的,步骤1具体包括:获取原始视频帧;获取原始视频帧对应的行为模式;根据行为模式对原始视频帧进行处理,得到待编码视频帧;行为模式为全分辨率行为模式或采样行为模式。

其中,原始视频帧对应的行为模式是从候选的行为模式中选取的,候选的行为模式包括全分辨率行为模式和采样行为模式中的至少一种。采样行为模式包括下采样行为模式和上采样行为模式。

当行为模式为全分辨率行为模式时,则可以将原始视频帧直接作为待编码视频帧。当行为模式为下采样行为模式时,则可以对原始视频帧进行下采样处理,得到待编码视频帧。采用下采样行为模式得到的待编码视频帧的分辨率,比原始视频帧的分辨率小。

得到原始视频帧对应的行为模式的方法可以根据实际需要设置。例如,可以是获取原始视频帧对应的处理参数,根据处理参数得到对应的行为模式。处理参数是用于确定行为模式的参数,具体采用的行为模式可以根据需要进行设置。在一个实施例中,处理参数可以包括根据输入的原始视频帧对应的当前编码信息以及图像特征的至少一种。

下采样的比例可以根据执行基于运动信息与残差信息计算的视频编码方法的设备如终端或者服务器的处理器能力得到。处理器处理能力强的设备对应的下采样比例大,处理器处理能力弱的设备对应的下采样比例小。可以设置处理器处理能力与下采样比例的对应关系,当需要进行编码时,获取处理器处理能力,根据处理器处理能力得到对应的下采样比例。例如,可以设置16位处理器对应的下采样比例为1/8,32位处理器对应的下采样比例为1/4。

下采样的比例可以根据原始视频帧作为参考帧的频率或者次数得到,可以设置下采样比例与原始视频帧作为参考帧的频率或者次数的对应关系。其中,原始视频帧作为参考帧的频率高或者次数多,则下采样比例大。原始视频帧作为参考帧的频率低或者次数少,则下采样比例小。例如,对于i帧,作为参考帧的频率高,则对应的下采样比例大,可以为1/2。对于p帧,作为参考帧的频率低,则对应的下采样比例小,例如可以为1/4。通过根据原始视频帧作为参考帧的频率或者次数得到下采样比例,当原始视频帧作为参考帧的频率高或者次数多时,图像质量较好,因此能够提高进行预测的准确度,减小像素残差,提高编码图像的质量。

下采样的方法可以根据执行基于运动信息与残差信息计算的视频编码方法的设备如终端或者服务器的处理器能力得到。对于处理器处理能力强的设备对应的下采样方法复杂度高,处理器处理能力弱的设备对应的下采样方法复杂度低。可以设置处理器处理能力与下采样方法的对应关系,当需要进行编码时,获取处理器处理能力,根据处理器处理能力得到对应的下采样方法。

在对原始视频帧采用下采样行为模式处理时,还可按照不同的下采样方法或下采样比例进行下采样,对原始视频帧进行处理更为灵活。

可以根据原始视频帧对应的当前编码信息以及图像特征信息中的至少一种得到原始视频帧对应的行为模式。当前编码信息是指视频在编码时得到的视频压缩参数信息,如帧类型、运动向量、量化参数、视频来源、码率、帧率以及分辨率的一种或多种。图像特征信息是指与图像内容相关的信息,包括图像运动信息以及图像纹理信息的一种或多种,如边缘等。当前编码信息以及图像特征信息反映了视频帧对应的场景、细节复杂度或者运动剧烈程度等,如通过运动向量、量化参数或者码率中的一个或多个等可判断运动场景,量化参数大则一般运动剧烈,运动向量大则代表图像场景是大运动场景。还可根据已编码i帧与p帧或已编码i帧与b帧的码率比值判断,如果比值超过第一预设阈值,则判断为静止图像,如果比值小于第二预设阈值,则可判断为运动剧烈图像。或直接根据图像内容跟踪目标对象,根据目标对象的运动速度确定是否为大运动场景。码率一定时能表达的信息量一定,对于运动剧烈的场景,时间域信息量大,相应的可用于表达空间域信息的码率就少,因此采用低分辨率能达到较好的图像质量效果,更倾向于选择下采样模式进行编码。通过帧预测类型可确定画面切换场景,也可根据帧预测类型对其它帧的影响确定倾向于的行为模式。如i帧一般为首帧或存在画面切换,i帧的质量影响了后续p帧或b帧的质量,所以帧内预测帧相比于帧间预测帧更倾向于选择全分辨率行为模式,以保证图像质量。因为p帧可作为b帧的参考帧,p帧图像质量影响了后续b帧的图像质量,所以如果采用p帧编码则相比于采用b帧编码更倾向于选择全分辨率行为模式。通过图像特征信息,如图像纹理信息确定待编码视频帧的纹理复杂度,如果纹理复杂,包含的细节多,则图像空域信息多,如果进行下采样,可能由于下采样损失较多细节信息,影响视频质量,所以纹理复杂的待编码视频帧相比于纹理简单的待编码视频帧更倾向于选择全分辨率处理。

可以根据原始视频帧对应的当前量化参数以及量化参数阈值的大小关系得到原始视频帧对应的分辨率。如果当前量化参数大于量化参数阈值,则确定行为模式为下采样行为模式,否则确定行为模式为全分辨率行为模式。量化参数阈值可以根据在原始视频帧之前,已编码的前向编码视频帧的帧内编码块的比例得到,可以预先设置帧内预测块比例与量化参数阈值的对应关系,从而在确定了当前帧的帧内预测块比例后,可以根据对应关系确定与当前帧的帧内预测块比例对应的量化参数阈值。对于固定量化参数编码,当前量化参数可以是对应的固定量化参数值。对于固定码率编码,则可以根据码率控制模型计算得到原始视频帧对应的当前量化参数。或者,可以将参考帧对应的量化参数作为原始视频帧对应的当前量化参数。本发明实施例中,当前量化参数越大一般运动越剧烈,对于运动剧烈的场景更倾向于选择下采样行为模式。

帧内预测块比例与量化参数阈值的关系为正相关关系。比如,可以根据经验,预先确定帧内预测块比例intra0与量化参数阈值qpth的对应关系为:

在获取原始视频帧对应的行为模式后,可以根据行为模式对原始视频帧进行处理,得到待编码视频帧,通过灵活选择视频帧的行为模式,对原始视频帧进行处理,减小原始视频帧的分辨率以减小待编码数据的数据量。

在一个实施例中,该方法还包括:将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中。

行为模式信息用于描述原始视频帧所采用的行为模式,可以在编码数据中加入描述行为模式的标志位。各个行为模式对应的标志位的值可以根据需要设置。例如,当行为模式为全分辨率行为模式时,对应的标志位可以为0,当行为模式为下采样行为模式时,对应的标志位可以为1。在一个实施例中,行为模式信息添加至编码数据对应的帧级头信息中。

还可以将对原始视频帧进行下采样的下采样行为模式信息添加至原始视频帧对应的编码数据中,以使解码端在获取到编码数据时,能够根据下采样行为模式信息获取对应的对重建视频帧进行上采样的方法以及上采样比例。下采样行为模式信息包括下采样方法信息以及下采样比例信息中的至少一种。下采样方法信息在编码数据的添加位置可以是对应的组级头信息、序列级头信息以及帧级头信息中的一个,下采样方法信息在编码数据的添加位置可以根据下采样方法对应的作用范围确定。下采样比例信息在编码数据的添加位置可以是对应的组级头信息、序列级头信息以及帧级头信息中的任一个。下采样比例信息在编码数据的添加位置可以根据下采样比例对应的作用范围确定,作用范围是指适用的范围。例如,如果下采样比例作用的范围是一个视频组,则可以将该视频组对应的下采样比例信息添加到该视频组对应的头信息中。如果下采样比例作用的范围是视频序列,将下采样比例信息添加至该视频序列对应的序列级头信息,表示该视频序列的各个视频帧采用下采样比例信息对应的下采样比例进行下采样处理。

在目标运动矢量分辨率信息所表示的目标分辨率下,确定待编码视频帧中各待编码块各自对应的目标运动矢量包括:在待编码视频帧的当前分辨率下,确定待编码视频帧中各待编码块各自对应的初始运动矢量;当当前分辨率与目标运动矢量分辨率信息所表示的目标分辨率不一致时,将初始运动矢量变换为在目标分辨率下的目标运动矢量。其中,待编码块的初始运动矢量,是在待编码块所在待编码视频帧的当前分辨率下的运动矢量。

对于某一待编码视频帧上的待编码块,在参考帧上搜索到该待编码块的参考块后,可以直接在选中的目标运动矢量分辨率信息所表示的目标分辨率下计算目标运动矢量,也可以在该待编码视频帧的当前分辨率下计算待编码块的运动矢量。如果在该待编码视频帧的当前分辨率下计算待编码块的运动矢量,此时计算得到的运动矢量的单位对应的分辨率即为该待编码视频帧的当前分辨率,此时计算得到的运动矢量即为初始运动矢量。

可将目标运动矢量分辨率信息所表示的目标分辨率与待编码视频帧的当前分辨率进行比较,当两个分辨率一致时,则初始运动矢量的单位对应的分辨率即为目标分辨率,也就不需要对初始运动矢量作变换。

目标运动矢量分辨率信息所表示的目标分辨率,为待编码视频帧所对应原始视频帧的原始分辨率。当当前分辨率与目标运动矢量分辨率信息所表示的目标分辨率不一致时,将初始运动矢量变换为在目标分辨率下的目标运动矢量包括:当由原始视频帧采用下采样行为模式处理得到待编码视频帧时,则将待编码视频帧各编码块各自对应的初始运动矢量变换为在原始分辨率下的目标运动矢量。

原始视频帧采用下采样行为模式处理得到的待编码视频帧,其当前分辨率小于原始视频帧的原始分辨率(即两者不一致),所以,当目标分辨率为原始分辨率时,就需要对待编码视频帧的初始运动矢量进行变换,将待编码视频帧各编码块各自对应的初始运动矢量变换为在原始分辨率下的目标运动矢量。

当当前分辨率与目标分辨率不一致时,将初始运动矢量变换为在目标分辨率下的目标运动矢量包括:根据待编码视频帧的当前分辨率信息和目标运动矢量分辨率信息,确定第一矢量转换参数;按照第一矢量转换参数,将初始运动矢量变换为在目标分辨率下的目标运动矢量。

矢量转换参数用于对运动矢量进行变换。当得到初始运动矢量后,可以将初始运动矢量与第一矢量转换参数相乘,得到的乘积即为目标运动矢量。

由于分辨率信息可以是分辨率或者采样比例两种类型的数据,那么第一矢量转换参数具体可以是:相同类型下的目标运动矢量分辨率信息,与待编码视频帧的当前分辨率信息的比例。可以理解,相同类型,是指目标运动矢量分辨率信息的类型与待编码视频帧的当前分辨率信息的类型相同,比如,若两者都是分辨率,则就属于相同类型,若两者一个是分辨率,一个是下采样比例,就不属于相同类型。

第一矢量转换参数可以包括两个:水平方向的矢量转换参数以及垂直方向的矢量转换参数。比如,目标运动矢量分辨率信息为分辨率,且具体为900*900,待编码视频帧的当前分辨率信息为分辨率,且具体为450*600。则水平方向的矢量转换参数为900/450=2,垂直方向的矢量转换参数为900/600=1.5。

在目标运动矢量分辨率信息所表示的目标分辨率与待编码视频帧的当前分辨率不一致,将当前分辨率下的初始运动矢量调整到目标分辨率下,以在后续计算运动残差时,与用于计算运动残差的另一参数,也就是预测运动矢量,统一到相同的分辨率下,来保证运动残差的准确性与控制运动残差的数据量。

获取各待编码块各自对应的、且在目标分辨率下的预测运动矢量包括:在编码待编码视频帧中各待编码块时,则对于当前待编码块,确定当前待编码块所对应参考块所在的参考帧;在参考帧中,确定与当前待编码块在图像位置上对应的图像块;获取图像块所对应的、且在目标分辨率下的目标运动矢量,作为当前待编码块的预测运动矢量。

参考帧,是对待编码视频帧进行编码时所需参考的视频帧。可以理解,参考帧是待编码视频帧之前已编码得到的编码数据进行重建得到的视频帧。待编码视频帧的参考帧可以是一个或者多个。

计算机设备在根据预设的参考帧选取策略,选取待编码视频帧的参考帧后,可在参考该参考帧对待编码视频帧中各待编码块进行编码时,对于当前待编码块,在参考帧中搜索与当前待编码块匹配的参考块。在搜索到与当前待编码块匹配的参考块后,继而确定该参考块所在的参考帧。

可在确定的该参考帧中,确定与当前待编码块在图像位置上对应的图像块,获取该图像块所对应的、且在目标分辨率下的目标运动矢量,作为当前待编码块的预测运动矢量。图像位置对应具体可以是图像像素对应,或者是图像坐标对应。

由于参考帧是待编码视频帧之前已编码得到的编码数据进行重建得到的视频帧,那么若重建该参考帧的编码数据中存在目标分辨率下的、且与该图像块对应的运动矢量,也就是目标运动矢量时,即可直接获取该目标运动矢量作为当前待编码块的预测运动矢量;若重建该参考帧的编码数据中不存在目标分辨率下的、且与该图像块对应的运动矢量时,则将重建该参考帧的数据中与该图像块对应的运动矢量变换为在目标分辨率下的目标运动矢量。

重建参考帧的编码数据中是否存在目标分辨率下的、且与参考帧的图像块对应的运动矢量,与编码重建该参考帧的编码数据时所选取的目标运动矢量分辨率信息有关。当编码重建该参考帧的编码数据时选取的目标运动矢量分辨率信息与当前选取的目标运动矢量分辨率信息均表示相同的目标分辨率时,则重建参考帧的编码数据中存在目标分辨率下的、且与参考帧的图像块对应的运动矢量;当编码重建该参考帧的编码数据时选取的目标运动矢量分辨率信息与当前选取的目标运动矢量分辨率信息均表示不同的目标分辨率时,则重建参考帧的编码数据中不存在目标分辨率下的、且与参考帧的图像块对应的运动矢量。

目标运动矢量分辨率信息所表示的分辨率,是待编码视频帧的当前分辨率。获取图像块所对应的、且在目标分辨率下的目标运动矢量,作为当前待编码块的预测运动矢量,包括:获取图像块在参考帧的分辨率下的初始运动矢量;当参考帧的分辨率与当前分辨率不一致时,则将图像块的初始运动矢量变换为在当前分辨率下的目标运动矢量后,作为当前待编码块的预测运动矢量。

由于参考帧是待编码视频帧之前已编码得到的编码数据进行重建得到的视频帧。对于重建参考帧的编码数据所编码自的、且编码在前的待编码视频帧而言,在编码时,也会根据待编码视频帧的分辨率配置信息,确定目标运动矢量分辨率信息。

将图像块的初始运动矢量变换为在当前分辨率下的目标运动矢量后,作为当前待编码块的预测运动矢量包括:根据参考帧的分辨率信息和目标运动矢量分辨率信息,得到第二矢量转换参数;按照第二矢量转换参数,将图像块的初始运动矢量变换为在当前分辨率下的目标运动矢量。

第二矢量转换参数,可以是参考帧的分辨率信息和目标运动矢量分辨率信息之间的比值。参考帧的分辨率信息用于表示参考帧的分辨率。

按照第二矢量转换参数,将图像块的初始运动矢量变换为在当前分辨率下的目标运动矢量,将变换后得到的目标运动矢量作为当前待编码块的预测运动矢量。

在以参考帧中的图像块的运动矢量作为当前待编码帧的待编码块的预测运动矢量时,根据参考帧的分辨率和针对当前待编码帧选取的目标分辨率,来灵活将待编码块的预测运动矢量调整至与待编码块的运动矢量相同的分辨率上,以提高编码质量,控制编码数据量。

获取原始视频帧对应的行为模式包括:获取原始视频帧对应的处理参数,根据处理参数确定原始视频帧对应的行为模式;将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中包括:当处理参数在解码过程中不能重现时,将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中。

处理参数可以包括原始视频帧对应的图像编码信息以及图像特征信息中的至少一个。处理参数在解码过程中不能重现是指在解码的过程中不能得到或者不会产生该处理参数。例如,如果处理参数是与原始视频帧的图像内容对应的信息,而在编码过程中图像信息是存在损失的,则解码端的解码视频帧与原始视频帧存在差别,因此,解码过程中不会得到原始视频帧的图像内容对应的信息,即图像内容对应的信息在解码过程中不能重现。编码过程中需要计算率失真代价,而解码过程中不计算率失真代价,则当处理参数包括率失真代价时,则该处理参数不能在解码过程中重现。

当处理参数在解码端中能够重现时,可以将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中,也可以不将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中。其中,将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中时,解码端可以从编码数据中读取行为模式信息,无需再根据处理数据得到行为模式。当不将行为模式对应的行为模式信息添加至原始视频帧对应的编码数据中时,由解码设备根据处理参数确定出与编码端一致的行为模式,可以减少编码数据的数据量。

在待编码视频帧的分辨率下,对待编码视频帧进行编码得到原始视频帧对应的编码数据这一步骤还包括:获取待编码视频帧对应的参考帧;在待编码视频帧的分辨率下,根据参考帧对待编码视频帧进行编码,得到原始视频帧对应的编码数据。

参考帧是待编码视频帧之前已编码得到的数据进行重建得到的视频帧。待编码视频帧对应的参考帧的个数可为一个或多个。例如当待编码视频帧为p帧,则对应的参考帧可以为1个。当待编码视频帧为b帧,则对应的参考帧可以为2个。待编码视频帧对应的参考帧可以是根据参考关系得到的,参考关系根据各个视频编解码标准确定。

获取待编码视频帧对应的参考帧包括:获取第一参考规则,第一参考规则包括待编码视频帧与参考帧的分辨率大小关系;根据第一参考规则获取待编码视频帧对应的参考帧。

第一参考规则确定了待编码视频帧与参考帧的分辨率大小限制关系,分辨率大小关系包括待编码视频帧与参考帧的分辨率相同以及不同的至少一种。当第一参考规则包括待编码视频帧与参考帧的分辨率相同时,第一参考规则还可以包括待编码视频帧与参考帧的分辨率的行为模式参考规则。行为模式参考规则可以包括全分辨行为模式的待编码视频帧参考全分辨率行为模式的参考帧,以及下采样行为模式的待编码视频帧参考下采样行为模式的参考帧的一种或两种。当第一参考规则包括待编码视频帧与参考帧的分辨率不相同时,第一参考规则还可以包括待编码视频帧的分辨率大于参考帧的分辨率以及待编码视频帧的分辨率小于参考帧的分辨率的一种或两种。

第一参考规则具体可以包括原始分辨率待编码视频帧可以参考下采样分辨率参考帧、下采样分辨率待编码视频帧可以参考原始分辨率参考帧、原始分辨率待编码视频帧可以参考原始分辨率参考帧、以及下采样分辨率待编码视频帧可以参考下采样分辨率的参考帧中的一种或多种。其中,原始分辨率待编码视频帧,是指该待编码视频帧的分辨率与其对应的原始视频帧的分辨率相同。原始分辨率参考帧,是指该参考帧的分辨率与其对应的原始视频帧的分辨率相同。下采样分辨率待编码视频帧,是指该待编码视频帧是对相应的原始视频帧进行下采样处理得到的。下采样分辨率参考帧,是指该参考帧是对相应的原始视频帧进行下采样处理得到的。得到第一参考规则后,根据第一参考规则获取待编码视频帧对应的参考帧,使得到的参考帧满足第一参考规则。

在待编码视频帧的分辨率下,对待编码视频帧进行编码得到原始视频帧对应的编码数据还包括:将第一参考规则对应的规则信息添加至原始视频帧对应的编码数据中。

可以获取待编码视频帧对应的参考帧,根据参考帧进行预测得到像素残差,并对像素残差进行变换、量化以及熵编码得到原始视频帧对应的编码数据。其中,得到编码数据的过程中,根据待编码视频帧的分辨率对参考帧、待编码视频帧的各个待编码块对应的位置信息、参考帧的各个参考块对应的位置信息以及运动矢量中的至少一个进行处理。得到参考帧后,可以从参考帧中获取与待编码视频帧的待编码块对应的参考块,根据参考块对待编码块进行编码。也可以根据待编码视频帧的分辨率对参考帧进行处理,得到对应的目标参考帧,从目标参考帧中获取与待编码视频帧的待编码块对应的目标参考块,根据目标参考块对待编码块进行编码,得到原始视频帧对应的编码数据。

在待编码视频帧的分辨率下,对待编码视频帧进行编码得到原始视频帧对应的编码数据包括:在待编码视频帧的分辨率下,获取待编码视频帧进行编码时对应的编码方式;将编码方式对应的编码方式信息添加至原始视频帧对应的编码数据中。

编码方式是与进行编码有关的行为模式。例如可以包括编码时对参考帧进行解码重建后的视频帧采用的上采样方式、参考规则对应的规则以及对参考帧进行采样处理的采样方式以及运动矢量对应的分辨率中的一个或多个。通过将编码方式对应的编码方式信息添加至原始视频帧对应的编码数据,解码时可以根据编码方式信息对待解码视频帧对应的编码数据进行解码。

也可以不将编码方式对应的编码方式信息添加到编码数据中。而是在编解码标准中预先设置编码方式,在解码端中设置与该编码方式对应的解码方式。或者编码端与解码端可以根据相同或者对应的算法计算得到匹配的编码方式以及解码方式。例如,在编解码标准中预先设置编码时对参考帧进行上采样方法与解码时对参考帧进行上采样的方法相同。

根据参考帧对待编码视频帧进行编码,得到原始视频帧对应的编码数据包括:根据待编码视频帧的分辨率信息对参考帧进行采样处理;根据采样处理后的参考帧对待编码视频帧进行编码,得到原始视频帧对应的编码数据。

采样处理是通过待编码视频帧的分辨率信息对参考帧进行采样,使采样处理后的参考帧的分辨率信息匹配的过程。在进行采样处理时,可以先确定采样方式,采样方式包括直接分像素插值方式和采样后分像素插值方式中的一种。直接分像素插值方式直接对参考帧进行分像素插值处理,采样后分像素插值方式对参考帧进行采样处理后再分像素插值处理。

分像素插值是通过参考帧中整像素的参考数据插值得到分像素级别的参考数据的过程。

在对待编码视频帧进行编码的过程中,需要在参考帧中采用运动搜索技术找到与待编码视频帧中待编码块相应的参考块,根据待编码块相对于参考块的运动信息计算得到运动矢量,对运动矢量进行编码以告知解码端参考块对应的参考数据在参考帧中的位置,因而,通过对参考帧进行分像素插值处理,分像素插值处理后得到的参考帧的分辨率更高,待编码视频帧就可以根据分辨率更高的参考帧进行运动估计,从而提高运动估计的准确度,提升编码质量。

在待编码视频帧的分辨率下,对待编码视频帧进行编码得到原始视频帧对应的编码数据包括:将对参考帧进行采样处理对应的采样方式信息添加至参考帧对应的编码数据中。参考帧进行采样处理对应的采样方式信息在编码数据的添加位置可以是对应的序列级头信息、组级头信息以及帧级头信息中的任一个,采样方式信息在编码数据的添加位置可以根据采样方式对应的作用范围确定。可将采样方式信息添加至原始视频帧对应的编码数据的帧级头信息中,表示原始视频帧在被编码时对应的参考帧采用采样方式信息对应的采样方式进行分像素插值处理。

可根据待编码视频帧的分辨率与参考帧的分辨率之间的比例关系确定对参考帧进行采样的比例。比如,原始视频帧的分辨率均为2m*2n,通过对原始视频帧按照全分辨率行为模式进行处理,即直接将原始视频帧作为待编码视频帧,则待编码视频帧的分辨率为2m*2n,而对可作为参考帧的原始视频帧按照下采样行为模式进行处理,得到下采样后的当前待编码参考帧的分辨率为m*2n,则重建后得到的相应的参考帧的分辨率也为m*2n,那么就确定对参考帧以宽2、高1的采样比例进行上采样处理,得到与待编码视频帧分辨率相同的帧。若通过对原始视频帧按照下采样行为模式进行处理,下采样后得到的待编码视频帧的分辨率为m*n,而对可作为参考帧的原始视频帧按照全分辨率行为模式进行处理,那么重建后得到的参考帧的分辨率为2m*2n,则确定对参考帧以宽、高均为1/2的采样比例进行下采样处理,得到与待编码视频帧分辨率相同的帧。

在由于原始视频帧的分辨率一般是相同的,可根据原始视频帧进行下采样得到待编码视频帧所对应的下采样比例,以及对可作为参考帧的原始视频帧进行下采样得到待编码参考帧所对应的下采样比例,确定对参考帧进行采样的比例。

对参考帧进行采样的采样方法与对原始视频帧进行下采样得到待编码视频帧的采样算法匹配,即对参考帧进行下采样所采用的下采样算法,与对待编码视频帧进行下采样所采用的下采样算法相同。对参考帧进行上采样所采用的上采样算法,是与对原始视频帧进行下采样所采用的下采样算法相反的采样算法。

对参考帧进行采样的采样算法与对待编码视频帧进行下采样采用的采样算法匹配,可进一步提高参考帧与下采样处理后的待编码视频帧的图像匹配度,进一步提高帧间预测的准确度,减小像素残差,提高编码图像的质量。

对参考帧进行采样处理后,从采样处理后的参考帧中搜索得到与待编码块相似的图像块作为参考块,计算待编码块与参考块的像素差值得到像素残差;根据待编码块与对应的参考块的位移,得到待编码块对应的运动矢量;根据得到的运动矢量以及像素残差得到编码数据。

可以根据目标运动矢量分辨率信息对待编码块对应的运动矢量进行变换,得到在目标分辨率下的目标运动矢量,根据目标运动矢量以及像素残差,生成编码数据。其中,根据目标运动矢量分辨率信息对待编码块对应的运动矢量进行变换,得到目标运动矢量的方法在后面描述。可以理解,目标运动矢量分辨率信息表示的分辨率,即为目标分辨率。

可以直接对目标运动矢量自身进行量化等编码处理,得到编码数据。在另一个实施例中,也可以计算目标运动矢量和对应的预测运动矢量之间的运动残差,对运动残差进行编码,得到编码数据,进一步减少编码数据量。

根据待编码视频帧的分辨率信息对参考帧进行采样处理包括:根据待编码视频帧的分辨率信息以及运动估计像素精度对参考帧进行采样处理。

其中,运动估计像素精度是待编码视频帧中的待编码块对应的运动矢量的单位长度。编码端在对待编码视频帧中的待编码块进行编码时,可按照获取的运动估计像素精度将待编码块对应的运动矢量的单位长度进行细化,这样得到的运动向量更为精细和准确,因而,需要按照获取的运动估计像素精度对参考帧进行采样处理,再依据采样处理后的参考帧计算待编码视频帧中各待编码块对应的运动矢量,基于该运动矢量进行编码得到待编码视频帧对应的编码数据。

可获取参考帧的分辨率信息,根据待编码视频帧采用的分像素插值方式,以及待编码视频帧的分辨率信息、参考帧的分辨率信息以及待编码视频帧对应的运动估计像素精度确定对参考帧进行何种采样处理方法、采样处理对应的采样比例以及像素插值精度。

可根据待编码视频帧的图像特征信息为该待编码视频帧配置相应的运动估计像素精度。图像特征信息,是表征待编码视频帧中图像的特征的信息。图像特征信息包括该待编码视频帧的大小、纹理信息、运动速度等中的至少一种,可综合多种图像特征信息确定待编码视频帧对应的运动估计像素精度。

待编码视频帧所携带的图像数据越复杂,图像信息越丰富,相应的运动估计像素精度更高。比如,在对p帧进行帧间预测时,可采用较高的运动估计像素精度计算p帧中各待编码块对应的运动矢量,而在对b帧进行帧间预测时,可采用较低的运动估计像素精度计算b帧中各待编码块对应的运动矢量。

根据待编码视频帧的分辨率信息以及运动估计像素精度对参考帧进行采样处理包括:根据待编码视频帧的分辨率信息以及运动估计像素精度计算得到像素插值精度;根据像素插值精度直接对参考帧进行分像素插值处理。

具体地,像素插值精度是对参考帧进行分像素插值对应的像素精度。当分像素插值方式为直接分像素插值方式,表示能够对参考帧直接进行分像素插值处理。因此可以根据待编码视频帧的分辨率信息以及运动估计像素精度计算得到像素插值精度。可以计算参考帧的分辨率信息与待编码视频帧的分辨率信息的比例,根据比例以及运动估计像素精度得到像素插值精度。

当参考帧的分辨率大于待编码视频帧的分辨率时,参考帧中部分分像素点的数据可直接复用,可作为与运动估计像素精度相应的分像素点对应的数据。比如,待编码视频帧的分辨率为m*n,参考帧的分辨率为2m*2n,若运动估计像素精度为1/2,像素插值精度为1,那么参考帧可以不用进行分像素插值处理而直接使用;若运动估计像素精度为1/4,那么计算得到像素插值精度为1/2,可对参考帧以1/2像素插值精度进行分像素插值处理。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率与参考帧的分辨率相同时,则根据运动估计像素精度直接对参考帧进行分像素插值处理。

具体地,通过全分辨行为模式对原始视频帧进行处理得到待编码视频帧,且参考帧的分辨率也是原分辨率时,则待编码视频帧的分辨率和参考帧的分辨率相同。可以理解,原分辨率是指原始视频帧的分辨率。或者,通过下采样行为模式对原始视频帧进行处理得到待编码视频帧,且参考帧帧也是采用相同采用比例的下采样行为模式编码得到的编码数据重建得到的,则待编码视频帧的分辨率和参考帧的分辨率相同。那么,就可以直接基于运动估计像素精度直接对参考帧进行分像素插值处理,并且,分像素插值处理对应的像素插值精度和运动估计像素精度相同。

在一个实施例中,根据待编码视频帧的分辨率信息以及运动估计像素精度对参考帧进行采样处理包括:根据待编码视频帧的分辨率信息对参考帧进行采样处理;根据运动估计像素精度,对采样处理得到的参考帧进行分像素插值处理。

当待编码视频帧对应的分像素插值方式为采样后分像素插值方式,表示要对参考帧先进行采样处理,得到与待编码视频帧分辨率相同的中间参考帧,再对中间参考帧进行分像素插值处理,得到分像素插值处理后的参考帧。

当待编码视频帧的分辨率信息所表示的分辨率小于参考帧的分辨率时,则根据待编码视频帧的分辨率信息对参考帧进行下采样处理,得到中间参考帧,然后基于待编码视频帧对应的运动估计像素精度对中间参考帧进行分像素插值处理,得到分像素插值处理后的参考帧。

可不选择目标运动矢量分辨率信息。那么,对于当前编码块,计算机设备可根据待编码视频帧的当前分辨率信息和参考帧的分辨率信息确定坐标变换参数;获取当前待编码块的第一位置信息,获取当前待编码块对应的参考块的第二位置信息;根据坐标变换参数、第一位置信息和第二位置信息计算得到当前待编码块对应的目标运动矢量。

当前分辨率信息,用于表示待编码视频帧的当前分辨率。当前待编码块是原始视频帧中当前需要进行预测编码的待编码块。参考块是参考帧中用于对当前待编码块进行预测编码的图像块。当前待编码块对应的第一位置信息可以用像素的坐标表示。当前待编码块对应的第一位置信息可以包括当前待编码块的全部像素对应的坐标,当前待编码块对应的第一位置信息也可以是包括当前待编码块的一个或多个像素的坐标。参考块对应的第二位置信息可以包括参考块的全部像素对应的坐标,参考块对应的第二位置信息也可以是包括参考块的一个或多个像素的坐标。例如,可以当前待编码块的第一个像素点的坐标作为当前待编码块的坐标值,以参考块的第一个像素点的坐标作为参考块的坐标值。

可以利用坐标变换参数对第一位置信息进行变换,得到对应的第一变换位置信息,根据第一变换位置信息与第二位置信息的差值得到目标运动矢量。或者可以利用坐标变换参数对第二位置信息进行变换,得到对应的第二变换位置信息,根据第一位置信息与第二位变换置信息的差值得到目标运动矢量。

坐标变换参数是待编码视频帧的分辨率与参考帧的分辨率信息中,大分辨率信息除以小分辨率信息得到的比例。其中,大分辨率信息对应的分辨率比小分辨率对应的分辨率大。坐标变换参数用于与待编码视频帧与参考帧中小分辨率信息的帧的位置信息进行变换。本发明实施例中,通过对小分辨率信息的帧对应的位置信息进行变换,可以降低目标运动矢量的值,减少编码数据的数据量。

坐标变换参数是待编码视频帧的分辨率与参考帧的分辨率信息中,小分辨率信息除以大分辨率信息得到的比例。坐标变换参数用于对待编码视频帧与参考帧中,大分辨率信息的帧的位置信息进行变换。

本发明实施例中,通过坐标变换参数对位置信息进行变换,使得得到的位置信息处于同一量化尺度下,可以降低目标运动矢量的值,减少编码数据的数据量。

在一个实施例中,获取原始视频帧对应的行为模式包括:计算目标预测类型待编码块在原始视频帧对应的前向编码视频帧中的比例;根据比例确定原始视频帧对应的行为模式。

预测类型待编码块是帧预测类型对应的待编码块。目标预测类型的比例可以是帧内待编码块对应的比例以及帧间待编码块对应的比例中的一种或两种。目标预测类型待编码块在原始视频帧对应的前向编码视频帧中的比例可以是该目标预测类型待编码块与其他预测类型待编码块的比例,也可以是该类型待编码块与总待编码块数量的比例。具体可以根据需要进行设置。例如可以获取前向编码视频帧中帧内待编码块的第一数量,前向编码视频帧中帧间待编码块的第二数量。根据第一数量和第二数量计算得到帧内待编码块与帧间待编码块的比例,或者统计前向编码视频帧的全部待编码块的第三数量,根据第一数量和第三数量计算得到帧内待编码块与第三数据量的比例。还可根据第二数量和第三数量计算得到帧间待编码块与第三数据量的比例。

前向编码视频帧是指对原始视频帧进行编码之前已经编码的视频帧,获取的前向编码视频帧的具体数量可自定义,例如,前向编码视频帧可以是原始视频帧的前一个已编码的编码视频帧,前向编码视频帧也可以是原始视频帧的前4个已编码的编码视频帧。在计算得到目标预测类型待编码块对应的在前向编码视频帧中的比例后,根据计算得到的比例确定原始视频帧对应的行为模式。若获取到的前向编码视频帧的数量为多个时,可以计算得到不同类型待编码块对应的在每一个前向编码视频帧中的比例,根据各个比例进行加权计算得到总比例,再根据总比例和预设阈值确定原始视频帧对应的行为模式。其中,前向视频帧对应的权重可以与前向编码视频帧与原始视频帧的编码距离成负相关关系。

可以计算前向编码视频帧中帧内待编码块在前向编码视频帧中的比例,当比例大于目标阈值时,确定行为模式为下采样行为模式。

对于帧内待编码块对应的比例,可以是当该比例大于目标阈值时,确定原始视频帧对应的行为模式为下采样行为模式,否则确定视频帧对应的行为模式为全分辨率行为模式。如,当比例大于目标阈值时,确定原始视频帧对应的行为模式为下采样行为模式,否则确定视频帧对应的行为模式为全分辨率行为模式。

如果帧内待编码块的比例大,则说明视频会相对比较复杂或者视频帧之间的相关度比较低,因此得到的像素残差比较大,因此更倾向于采用下采样行为模式进行编码,减少编码数据量。

其中目标阈值可根据原始视频帧对应的参考帧的行为模式进行确定。当原始视频帧对应的参考帧的行为模式为下采样行为模式时,获取第一预设阈值t1,将第一预设阈值t1作为目标阈值。同样地,当原始视频帧对应的参考帧的行为模式为全分辨率行为模式时,获取第二预设阈值t2,将第二预设阈值t2作为目标阈值。进一步地,在根据原始视频帧对应的参考帧的分辨率信息获取到目标阈值后,根据目标阈值和前向编码视频帧中帧内待编码块在前向编码视频帧中的比例确定原始视频帧的行为模式。其中,当前向编码视频帧中帧内待编码块在前向编码视频帧中的比例大于目标阈值时,确定原始视频帧对应的行为模式为下采样行为模式。

第二预设阈值大于第一预设阈值,这样,当参考帧对应的行为模式全分辨率行为模式时,原始视频帧更倾向于采用全分辨率行为模式,当参考帧为下采样行为模式时,原始视频帧更倾向于采用下采样行为模式。

获取原始视频帧之前,基于运动信息与残差信息计算的视频编码方法还包括:获取原始视频帧对应的输入视频序列,获取输入视频序列对应的目标视频序列编码模式,其中,目标视频序列编码模式包括恒定分辨率编码模式或者混合分辨率编码模式;判断目标视频序列编码模式是否为混合分辨率编码模式,若是,则执行获取原始视频帧的步骤,若否,则对输入视频序列的各个原始视频帧进行恒定分辨率编码。

输入视频序列可以包括多个原始视频帧。当目标视频序列编码模式为恒定分辨率编码模式时,输入视频序列的各个原始视频帧是在相同的分辨率例如全分辨率下进行编码的,当目标视频序列编码模式为混合分辨率编码模式时,则获取各个原始视频帧对应的行为模式,根据行为模式对原始视频帧进行处理,得到待编码视频帧,根据待编码视频帧进行编码,待编码视频帧的分辨率可以与原始视频帧的分辨率相同,也可以比原始视频帧的分辨率小,输入视频序列可以存在不同分辨率的待编码视频帧。因此当视频序列编码模式为混合分辨率编码模式时,执行上述实施例中提供的基于运动信息与残差信息计算的视频编码方法。

获取输入视频序列对应的目标视频序列编码模式包括:获取当前环境信息,当前环境信息包括当前编码环境信息和当前解码环境信息中的至少一种信息;根据当前环境信息确定输入视频序列对应的目标视频序列编码模式。

环境信息可以包括表征执行基于运动信息与残差信息计算的视频编码方法的设备的处理能力的信息、表征执行视频解码方法的设备的处理能力的信息以及当前应用场景信息中的一种或多种。处理能力可以用处理速度进行表示。例如,对于处理能力强的设备,由于处理速度快,对应的目标视频序列编码模式为全分辨率编码模式(可以理解,全分辨率编码模式是一种特殊情况下的恒定分辨率编码模式),当当前应用场景信息对应的当前应用场景为实时应用场景时,视频序列编码模式为混合分辨率编码模式。当当前应用场景信息对应的当前应用场景非实时应用场景时,视频序列编码模式为恒定分辨率编码模式。可以设置当前环境信息与视频序列编码模式对应的关系,当得到当前环境信息后,根据当前环境信息与视频序列编码模式的对应关系得到输入视频序列对应的目标视频序列编码模式。例如,可以设置基于运动信息与残差信息计算的视频编码方法的设备的处理速度与执行视频解码方法的设备的处理速度的平均值与视频序列编码模式的对应关系,当得到基于运动信息与残差信息计算的视频编码方法的设备的处理速度与执行视频解码方法的设备的处理速度后,计算平均值,根据平均值得到目标视频序列编码模式。当前应用场景是否为实时应用场景可以根据需要进行设置。例如,视频通话应用场景、游戏应用场景为实时应用场景,视频网站上的视频编码,离线视频的编码对应的应用场景可以为非实时应用场景。

当视频序列编码模式为恒定分辨率编码模式时,对输入视频序列的各个原始视频帧进行恒定分辨率编码。

在待编码视频帧的分辨率下,对待编码视频帧进行编码得到原始视频帧对应的编码数据包括:将目标视频序列编码模式对应的视频序列编码模式信息添加至编码数据中。

视频编码框架包括恒定分辨率编码框架以及混合分辨率编码框架,当得到输入视频序列后,在视频序列编码模式获取模块处对视频序列编码模式进行决策,当目标视频序列编码模式为混合分辨率编码模式,则采用混合分辨率编码框架进行编码,当目标视频序列编码模式为恒定分辨率编码模式时,利用恒定分辨率编码框架进行恒定分辨率编码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1