一种基于分辨率对应关系的自适应编码方法与流程

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

本发明涉及计算机技术领域,尤其涉及一种基于分辨率对应关系的的自适应编码方法。



背景技术:

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



技术实现要素:

本发明实施例提供了一种基于分辨率对应关系的自适应编码方法,所述方法包括:

获取输入视频帧;

确定所述输入视频帧所属的视频帧序列;

从所述视频帧序列的头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系;

根据读取到的分辨率关系,确定所述输入视频帧所对应待编码视频帧的分辨率选择模式;

基于所述输入视频帧,并按照所述待编码视频帧的分辨率选择模式,生成待编码视频帧;

根据待编码视频帧和对应参考帧间的分辨率关系,确定所述待编码视频帧所对应当前参考帧的分辨率选择模式;当在所述视频帧序列的序列头部信息中存在分辨率关系时,则从所述序列头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系;当在所述视频帧序列的序列头部信息中不存在分辨率关系时,则在所述视频帧序列的视频帧组头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系;

按照所述分辨率选择模式,生成与所述待编码视频帧对应的当前参考帧;

获取所述待编码视频帧和所述当前参考帧的分辨率信息;

根据所述分辨率信息确定所述当前参考帧的采样方式;

按照所述采样方式和所述待编码视频帧的分辨率信息,对所述当前参考帧进行采样处理,得到目标参考帧;

根据所述目标参考帧对所述待编码视频帧进行编码,得到所述待编码视频帧的编码数据。

上述基于分辨率对应关系的自适应编码方法,根据待编码视频帧和对应参考帧间的分辨率关系,确定当前参考帧的分辨率选择模式,从而根据参考帧分辨率选择模式,能够灵活选择与待编码视频帧的分辨率匹配的当前参考帧。即使当前参考帧与待编码视频帧的分辨率不同,也可作为待编码视频帧的参考帧,提高了参考帧的使用效率。根据当前参考帧对待编码视频帧进行编码,通过灵活选择分辨率匹配的当前参考帧,提高了编码的准确度和编码效率。

具体实施方式

在一个实施例中,提供一种视频编码方法。该视频编码方法具体包括如下步骤:

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

其中,待编码视频帧是对输入视频帧进行处理之后得到的。当对输入视频帧进行处理的处理方式包括全分辨率处理方式时,则可以将输入视频帧作为待编码视频帧。当对输入视频帧进行处理的处理方式包括下采样处理方式时,则可以对输入视频帧进行下采样处理,得到待编码视频帧。

输入视频帧是构成视频的基本单位,一个视频序列或视频组可以包括多个视频帧。输入视频帧可以是实时采集的视频帧,例如可以是通过终端的摄像头实时获取的视频帧,也可以是存储的视频对应的视频帧。输入视频帧可以是i帧、p帧或者b帧,其中i帧为帧内预测帧,p帧为前向预测帧,b帧为双向预测帧。

在一个实施例中,服务器获取输入视频帧,对输入视频帧根据相应的处理方式进行处理,得到待编码视频帧。

步骤2,根据待编码视频帧和对应参考帧间的分辨率关系,确定待编码视频帧所对应当前参考帧的分辨率选择模式。

其中,待编码视频帧和对应参考帧间的分辨率关系,为待编码视频帧的分辨率与待编码视频帧所对应参考帧的分辨率之间的参考关系。待编码视频帧和对应参考帧间的分辨率关系包括:全分辨率的待编码视频帧参考下采样分辨率的参考帧、下采样分辨率的待编码视频帧参考全分辨率的参考帧、全分辨率的待编码视频帧参考全分辨率的参考帧和下采样分辨率的待编码视频帧参考下采样分辨率的参考帧。

其中,分辨率选择模式为用于确定分辨率大小的处理方式。当前参考帧,是在对待编码视频帧进行编码时所要参考的视频帧。当前参考帧是对可作为参考帧的视频帧对应的编码数据重建得到的视频帧。当前待编码视频帧对应的当前参考帧根据帧间预测类型的不同,可为前向参考帧或双向参考帧,待编码视频帧对应的当前参考帧的个数可为一个或多个。

当待编码视频帧为p帧,则对应的参考帧可以为1个。当待编码视频帧为b帧,则对应的参考帧可以为2个。待编码视频帧对应的参考帧可以是根据参考关系得到的,参考关系根据各个视频编解码标准可以不同。

服务器确定获取到的待编码视频帧所对应的待编码视频帧和对应参考帧间的分辨率关系,根据待编码视频帧和对应参考帧间的分辨率关系,确定与待编码视频帧对应的当前参考帧的分辨率选择模式。

服务器从获取到的待编码视频帧对应的待编码视频帧对应参考帧间的分辨率关系中提取参考帧分辨率信息,根据提取到的参考帧分辨率信息确定当前参考帧的分辨率选择模式。

若服务器提取到的参考帧分辨率信息为下采样分辨率的参考帧,则当前参考帧的分辨率选择模式为下采样确定方式;若服务器提取到的参考帧分辨率信息为原分辨率的参考帧,则当前参考帧的分辨率选择模式为原分辨率选择模式。

步骤3,按照分辨率选择模式,生成与待编码视频帧对应的当前参考帧。

具体地,服务器中存储着重建的与待编码视频帧对应的不同分辨率的各参考帧。服务器根据分辨率选择模式从存储的参考帧中选取参考帧,以选取的参考帧作为待编码视频帧对应的当前参考帧。

在一个实施例中,编码端可在获取到当前参考帧对应的编码数据后,可对编码数据进行熵解码、反量化、反变换得到各个帧内预测块对应的预测残差,然后将该预测残差与相应的参考块相加得到各个重建块,从而得到该输入视频帧的重建帧,即当前参考帧。

步骤4,根据当前参考帧对待编码视频帧进行编码,得到待编码视频帧对应的编码数据;编码数据包括表示分辨率关系的标识信息。

对待编码视频帧进行编码是在待编码视频帧的分辨率的条件下进行的。编码可以包括预测、变换、量化以及熵编码中的至少一个。服务器获取待编码视频帧对应的当前参考帧,根据当前参考帧进行预测得到预测残差,并对预测残差进行变换、量化以及熵编码等得到待编码视频帧对应的编码数据,并将表示分辨率关系的标识信息添加到编码数据中。

服务器检测当前目标帧的分辨率与待编码视频帧的分辨率是否相同,若相同,则根据当前参考帧进行预测得到预测残差,并对预测残差进行变换、量化以及熵编码等得到待编码视频帧对应的编码数据,并将表示分辨率关系的标识信息添加到编码数据中;若不相同,则对当前参考帧进行采样处理,使得采样处理后的当前参考帧的分辨率与待编码视频帧的分辨率相同,并对采样处理后的进行预测得到预测残差,并对预测残差进行变换、量化以及熵编码等得到待编码视频帧对应的编码数据,并将表示分辨率关系的标识信息添加到编码数据中。

在计算预测残差时,可以根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到与待编码视频帧的分辨率一致的目标参考帧,再从目标参考帧中获取待编码视频帧中各个编码块对应的参考块,根据参考块进行预测,得到编码块对应的预测值,再根据编码块的实际值与预测值的差值得到预测残差,在计算运动矢量值时,如果参考帧的分辨率不同,则可以根据参考帧与待编码视频帧的分辨率对编码块的位置信息或者解码块的位置信息进行变换。再根据变换后的位置信息得到运动矢量值。

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

具体地,编码方式是与编码端进行编码有关的处理方式。例如可以包括编码时对参考帧进行解码重建后的视频帧采用的上采样方式、参考规则对应的规则、对参考帧进行分像素插值中的一种或多种等。编码端通过将编码方式对应的编码方式信息添加至输入视频帧对应的编码数据,解码端可以根据编码方式信息对待解码视频帧进行解码。

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

编码端可根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数,第一分辨率信息包括当前参考帧的分辨率信息或者输入视频帧对应的目标运动矢量单位分辨率信息;根据第一矢量变换参数得到待编码视频帧中各个编码块对应的目标运动矢量。

第一矢量变换参数用于对得到运动矢量的位置信息或者运动矢量进行变换。分辨率信息是与分辨率相关的信息,例如可以是分辨率本身或者下采样比例等。第一矢量参数可以是待编码视频帧的分辨率信息和第一分辨率信息之间的比例。例如,假设当前参考帧的下采样比例为1/3,待编码视频帧的下采样比例为1/6。则第一矢量变换参数可以为1/3除以1/6等于2。

得到第一矢量变换参数后,根据第一矢量变换参数对得到的运动矢量或者运动矢量对应的位置信息进行变换,得到目标运动矢量。当利用第一矢量变换参数对目标运动矢量进行变换时,使得目标运动矢量是在目标运动矢量单位分辨率信息所表示的目标分辨率下的运动矢量,目标运动矢量单位分辨率信息与目标运动矢量的单位所对应的目标分辨率对应的信息,例如可以是目标分辨率本身或者下采样比例。当利用第一矢量变换参数对运动矢量对应的位置信息进行变换时,使得待编码视频帧对应的位置信息与当前参考帧的位置信息处于同一量化尺度下,根据变换后的位置信息得到第二运动矢量,将第二运动矢量变换为目标分辨下的目标运动矢量。

编码可以包括预测、变换、量化以及熵编码中的至少一个。当待编码视频帧为i帧时,在待编码视频帧的分辨率下对待编码视频帧进行帧内预测。当待编码视频帧为p帧以及b帧时,可以获取待编码视频帧对应的当前参考帧,根据当前参考帧进行预测得到预测残差,并对预测残差进行变换、量化以及熵编码得到输入视频帧对应的编码数据,其中,得到编码数据的过程中,根据待编码视频帧的分辨率对当前参考帧、待编码视频帧的各个编码块对应的位置信息、当前参考帧的各个参考块对应的位置信息以及运动矢量中的至少一个进行处理。例如,在计算预测残差时,可以根据待编码视频帧的分辨率信息对当前参考帧进行处理,得到目标参考帧,从目标参考帧中获取待编码视频帧中各个编码块对应的目标参考块,根据目标参考块进行预测,得到编码块对应的预测值,再根据编码块的实际值与预测值的差值得到预测残差。计算目标运动矢量时,如果当前参考帧的分辨率与待编码视频帧的分辨率不同,可以根据当前参考帧与待编码视频帧的分辨率信息对编码块的位置信息或者解码块的位置信息进行变换,使得待编码视频帧对应的位置信息与当前参考帧的位置信息处于同一量化尺度下,再根据变换后的位置信息得到目标运动矢量,以减少目标运动矢量的值,减少编码数据的数据量。或者,如果目标运动矢量对应的分辨率信息与待编码视频帧的分辨率信息不同,则在待编码视频帧的分辨率下,计算得到待编码视频帧的编码块对应的第一运动矢量时,根据待编码视频帧的分辨率信息以及目标运动矢量单位辨率信息对第一运动矢量进行变换,得到目标分辨率下的目标运动矢量。

根据待编码视频帧和对应参考帧间的分辨率关系,确定当前参考帧的分辨率选择模式,从而根据参考帧分辨率选择模式,能够灵活选择与待编码视频帧的分辨率匹配的当前参考帧。即使当前参考帧与待编码视频帧的分辨率不同,也可作为待编码视频帧的参考帧,提高了参考帧的使用效率。根据当前参考帧对待编码视频帧进行编码,通过灵活选择分辨率匹配的当前参考帧,提高了编码的准确度,从而提高视频帧的编码质量,通过选择分辨率匹配的当前参考帧,也提高了编码效率。

生成待编码视频帧的步骤,具体包括以下内容:

获取输入视频帧;确定输入视频帧所对应待编码视频帧的分辨率选择模式;基于输入视频帧,并按照待编码视频帧的分辨率选择模式,生成待编码视频帧。

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

在一个实施例中,服务器获取视频帧序列,从视频帧序列中读取输入视频证。服务器获取视频帧序列,从视频帧序列中读取视频帧组,从视频帧组中读取输入视频帧。

输入视频帧所对应编码视频帧的分辨率选择模式是从候选的处理方式中选取的,候选的处理方式可以是全分辨率处理方式以及下采样处理方式。得到输入视频帧所对应编码视频帧的处理方式的方法可以根据实际需要设置。例如,可以是获取输入视频帧对应的处理参数,根据处理参数得到对应的处理方式。处理参数是用于确定处理方式的参数,具体采用的处理参数可以根据需要进行设置。例如处理参数可以包括输入视频帧对应的当前编码信息以及图像特征的至少一种。

在一个实施例中,当输入视频帧对应的处理方式包括下采样处理方式时,还可以获取下采样比例以及下采样方法。其中,采样比例为采样后的分辨率除以采样前的分辨率得到的比值。下采样方法可以可采用直接平均、滤波器、bicubicinterpolation双三次插值或者bilinearinterpolation双线性插值等。下采样比例可以是预先设置的也可以灵活地调整下采样比例。例如,可以设置下采样的比例均为1/2。可以是输入视频序列的第一个输入视频帧的下采样比例为1/2,第二个输入视频帧的下采样比例为1/4。可以根据输入视频帧在视频组的编码位置得到下采样比例,其中编码位置越后,则下采样比例越小。下采样方向可以是垂直下采样、水平下采样以及垂直和水平下采样结合中的一种。若采样前的视频帧分辨率为800*800像素,当下采样比例为1/2且为进行水平下采样,则采样后视频帧的分辨率为400*800像素。当下采样比例为1/2且为进行垂直下采样,采样后视频帧的分辨率为800*400像素。

下采样的比例可以根据执行视频编码方法的设备如终端或者服务器的处理器能力得到。处理器处理能力强的设备对应的下采样比例大,处理器处理能力弱的设备对应的下采样比例小。可以设置处理器处理能力与下采样比例的对应关系,当需要进行编码时,获取处理器处理能力,根据处理器处理能力得到对应的下采样比例。例如,可以设置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的对应关系为:

待编码视频帧是根据分辨率选择模式对输入视频帧进行处理得到的。当分辨率选择模式包括全分辨率处理方式时,则可以将输入视频帧作为待编码视频帧。当分辨率选择模式包括下采样处理方式时,则可以对输入视频帧进行下采样处理,得到待编码视频帧。例如,当输入视频帧的分辨率为800*800像素,处理方式为水平以及垂直方向均进行1/2下采样时,下采样得到的待编码视频帧的分辨率为400*400像素。

在获取输入视频帧后,根据输入视频帧所对应待编码视频帧的分辨率选择模式,对输入视频帧进行分辨率处理生成待编码视频帧,可以灵活配置待编码视频帧的分辨率选择模式,可以减少输入视频帧编码过程中的数据量,提高了视频编码效率。

确定分辨率选择模式的步骤具体包括以下内容:

确定输入视频帧所属的视频帧序列;从视频帧序列的头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系。

其中,视频帧序列为由多个视频帧组或多个输入视频帧构成的帧序列。视频帧组为由多个输入视频帧构成的帧组。

具体地,服务器获取输入视频帧后,根据输入视频帧与视频帧序列的对应关系,确定获取到的输入视频帧所属的视频帧序列。

视频帧序列的头部信息中包括待编码视频帧和对应参考帧间的分辨率关系。服务器在确定输入视频帧所属的视频帧序列后,查询视频帧序列的头部信息,从查询到的头部信息中提取待编码视频帧和对应参考帧间的分辨率关系。

在一个实施例中,当在视频帧序列的序列头部信息中存在分辨率关系时,则从序列头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系;当在视频帧序列的序列头部信息中不存在分辨率关系时,则在视频帧序列的视频帧组头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系。

具体地,视频帧序列的头部信息包括序列头部信息和视频帧组头部信息。服务器先在视频帧序列的序列头部信息中查询分辨率关系,当序列头部信息中存在分辨率关系,则从序列头部信息中读取待编码视频帧和对应参考帧间的分辨率关系;当序列头部信息中不存在分辨率关系时,服务器获取视频帧序列中的视频帧组,获取视频帧组的视频帧组头部信息,从视频帧组头部信息中读取待编码视频帧和对应参考帧间的分辨率关系。也可以从输入视频帧的帧头部信息中读取待编码视频帧和对应参考帧间的分辨率关系。

s706,根据读取到的分辨率关系,确定输入视频帧所对应待编码视频帧的分辨率选择模式。

具体地,服务器读取到的分辨率关系为待编码视频帧和对应参考帧间的分辨率关系。服务器从获取到的待编码视频帧对应的待编码视频帧对应参考帧间的分辨率关系中提取待编码视频帧分辨率信息,根据提取到的待编码视频帧分辨率信息确定当前参考帧的分辨率选择模式。

举例说明,若服务器提取到的待编码视频帧分辨率信息为下采样分辨率的待编码视频帧,则当前参考帧的分辨率选择模式为下采样确定方式;若服务器提取到的参考帧分辨率信息为原分辨率的参考帧,则待编码视频帧的分辨率选择模式为原分辨率选择模式。

本实施例中,根据序列帧头部信息或视频帧头部信息中,读取待编码视频帧和对应参考帧间的分辨率关系,根据读取到的分辨率关系中的待编码视频帧分辨率信息确定待编码视频帧的分辨率选择模式,根据确定的分辨率选择模式生成待编码视频帧,提高了视频编码的效率。

根据当前参考帧进行编码的步骤,具体包括以下内容:

获取待编码视频帧和当前参考帧的分辨率信息;根据分辨率信息确定当前参考帧的采样方式。

具体地,服务器在获取待编码视频帧和当前参考帧后,分别提取待编码视频帧的分辨率信息和当前参考帧的分辨率信息。

采样方式是对视频帧进行采样处理的方式,具体可以包括采样比例和/或采样方法。在本实施例中,具体是对当前参考帧进行采样处理的采样方式。其中,对当前参考帧进行采样处理包括对当前参考帧进行上采样处理或下采样处理。

具体地,服务器将待编码视频帧的分辨率信息所表示的分辨率与当前参考帧的分辨率信息所表示的分辨率进行比较,当待编码视频帧的分辨率大于当前参考帧的分辨率时,确定当前参考帧的采样方式为下采样处理方式;当待编码视频帧的分辨率小于当前参考帧的分辨率时,确定当前参考帧的采样方式为上采样处理方式。

在一个实施例中,对当前参考帧进行采样的方法可以根据执行视频编码或视频解码的方法的设备如终端或者服务器的处理器能力得到。对于处理器处理能力强的设备对应的采样方法复杂度高,处理器处理能力弱的设备对应的采样方法复杂度低。可以设置处理器处理能力与采样方法的对应关系,当需要进行编码时,获取处理器处理能力,根据处理器处理能力得到对应的采样方法。例如,可以设置16位处理器对应的采样比例为1/8,32位处理器对应的下采样比例为1/4。例如,bicubicinterpolation双三次插值比bilinearinterpolation双线性插值的复杂度高,因此可以设置16位处理器对应的下采样方法为bilinearinterpolation双线性插值,32位处理器对应的下采样方法bicubicinterpolation双三次插值。

在一个实施例中,对当前参考帧进行采样的方法还可以根据待编码视频帧或待解码视频帧的图像特征信息来确定。其中,图像特征信息是指与视频帧的图像内容相关的信息,包括图像的内容、图像运动信息、图像纹理信息,如边缘等。图像特征信息反映了视频帧对应的场景、细节复杂度、运动剧烈程度等。对于图像特征信息多且复杂的视频帧,在对当前参考帧进行采样时可选择采样方法复杂度高的采样方法,对于图像特征信息少且简单的视频帧,在对当前参考帧进行采样时可选择采样方法复杂度低的采样方法。可以设置待编码视频帧的内容与采样方法的对应关系,当对视频帧进行编码时,可预先确定待编码视频帧的图像特征信息,根据待编码视频帧的图像特征信息得到对应的采样方法。

确定对当前参考帧进行采样处理的采样方式时,还可以综合考量编码端或解码端的硬件信息和图像特征信息,以选择当前最合适的采样方式。

该视频编码方法还包括:将表示待编码视频帧与参考帧之间的分辨率关系的标识信息添加到编码数据中。

编码端在编码数据中加入表示待编码视频帧与参考帧之间的分辨率关系的标识信息。标识信息可以添加至编码数据对应的头部信息中,例如可以添加到帧头部信息、视频帧组头部信息或者序列头部信息的预设位置中。其中,帧头部信息是输入帧对应的编码数据的头部信息,视频帧组头部信息是指视频帧组对应的编码数据的头部信息,序列头部信息是指视频帧序列对应的编码数据的头部信息。一个视频帧序列可以包括多个视频帧组,一个视频帧组可以包括多个视频帧。可根据实际需求将标识信息添加至不同范围的头部信息,以作用于不同范围的视频帧。若视频帧序列采用相同的分辨率选择模式,则标识信息在编码数据的添加位置可以是序列头部信息。若视频帧序列的各个视频帧组采用的分辨率选择模式不同,则标识信息在编码数据的添加位置可以是视频帧组头部信息。

按照采样方式和待编码视频帧的分辨率信息,对当前参考帧进行采样处理,得到目标参考帧。

服务器在确定当前参考帧的采样方式后,按照确定的采样方式对当前参考帧进行采样处理,使得采样处理得到的目标参考帧的分辨率与待编码视频帧的分辨率信息表示的分辨率相同。

在一个实施例中,具体地,上采样处理是对图像进行放大,比如可采用内插值方法,在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。其中,待编码视频帧的分辨率信息所表示的分辨率大于当前参考帧的分辨率信息所表示的分辨率具体可以是:全分辨率方式下的待编码视频帧参考采用下采样方式处理的当前参考帧;或者,采用下采样方式处理的待编码视频帧参考采用下采样方式处理的当前参考帧,且待编码视频帧的下采样比例大于当前参考帧的下采样比例。

在一个实施例中,确定对应于待编码视频帧所配置的采样方式包括:根据本地硬件信息和/或待编码视频帧的图像特征信息,确定对当前参考帧进行上采样处理的采样方式。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率大于当前参考帧的分辨率信息所表示的分辨率时,对当前参考帧进行上采样处理。其中,对当前参考帧进行上采样处理的采样方式可以根据本地硬件信息和/或待编码视频帧的图像特征信息来确定。比如,对于处理器处理能力强的设备对应的上采样方法复杂度高,处理器处理能力弱的设备对应的上采样方法复杂度低。还比如,对于图像特征信息多且复杂的视频帧,在对当前参考帧进行上采样时可选择采样方法复杂度高的采样方法,对于图像特征信息少且简单的视频帧,在对当前参考帧进行上采样时可选择采样方法复杂度低的采样方法。或者,综合考量执行视频编码的设备的本地硬件信息和待编码视频帧的图像特征进行,以选择当前最合适的上采样方式。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率大于当前参考帧的分辨率信息所表示的分辨率时,对当前参考帧进行上采样处理。具体地,可以按照配置的采样方式,并根据待编码视频帧的分辨率信息,对当前参考帧进行上采样处理,以得到与待编码视频帧的分辨率一致的目标参考帧。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率小于当前参考帧的分辨率信息所表示的分辨率时,按照采样方式,并根据待编码视频帧的分辨率信息对当前参考帧进行下采样处理,得到对应的目标参考帧。

具体地,下采样处理是对图像进行缩小。比如,对于一幅图像i尺寸为m*n,对其进行1/a倍下采样,即得到(m/a)*(n/a)尺寸的分辨率图像。其中,a为m和n的公约数。如果是矩阵形式的图像,下采样处理就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值。待编码视频帧的分辨率信息所表示的分辨率小于当前参考帧的分辨率信息所表示的分辨率具体可以是:采用下采样方式处理的待编码视频帧参考全分辨率方式下的当前参考帧;或者,采用下采样方式处理的待编码视频帧参考采用下采样方式处理的当前参考帧,且待编码视频帧的下采样比例小于当前参考帧的下采样比例。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率小于当前参考帧的分辨率信息所表示的分辨率时,对当前参考帧进行下采样处理。具体地,可以根据采用下采样方式处理的待编码视频帧所对应的下采样方法,对当前参考帧进行相应的下采样处理,以得到与待编码视频帧的分辨率一致的目标参考帧。

当待编码视频帧的分辨率信息所表示的分辨率小于当前参考帧的分辨率信息所表示的分辨率时,可以不对当前参考帧进行下采样处理。直接对当前参考帧进行分像素插值处理,以得到目标参考帧。

当待编码视频帧的分辨率信息所表示的分辨率等于当前参考帧的分辨率信息所表示的分辨率时,可以不对当前参考帧进行采样处理。直接对当前参考帧进行分像素插值处理,以得到目标参考帧。

按照采样方式,并根据待编码视频帧的分辨率信息,对当前参考帧进行采样处理,得到对应的目标参考帧的步骤包括:根据待编码视频帧的分辨率信息、以及当前参考帧的分辨率信息,确定对当前参考帧进行采样处理对应的采样比例;按照采样方式和采样比例,对当前参考帧进行采样处理,得到对应的目标参考帧。

编码端可获取待编码视频帧的分辨率信息,以及当前参考帧的分辨率信息。根据待编码视频帧的分辨率信息、以及当前参考帧的分辨率信息,确定对当前参考帧进行采样处理对应的采样比例。其中,对当前参考帧进行采样处理对应的采样比例应满足:对当前参考帧进行采样处理后,得到目标参考帧,目标参考帧的分辨率和待编码视频帧的分辨率保持一致。

当全分辨率方式下的待编码视频帧参考采用下采样方式处理的当前参考帧时,对当前参考帧进行上采样重建的上采样比例具体可以是采用下采样方式处理的当前参考帧所对应的下采样比例的倒数。上采样方向可以是垂直上采样、水平上采样、垂直和水平上采样中的一种。

当采用下采样方式处理的待编码视频帧参考采用下采样方式处理的当前参考帧,且待编码视频帧的下采样比例大于当前参考帧的下采样比例时,对当前参考帧进行上采样重建的上采样比例需满足通过上采样重建后的目标参考帧的分辨率和待编码视频帧的分辨率保持一致的条件。比如,全分辨率方式下的视频帧的分辨率为12m*12n,采用1/2下采样方式处理的待编码视频帧的分辨率为6m*6n,采用1/6下采样方式处理的当前参考帧的分辨率为2m*2n。此时,可对当前参考帧进行3倍上采样处理,得到目标参考帧,目标参考帧的分辨率为6m*6n。

当采用下采样方式处理的待编码视频帧参考全分辨率方式下的当前参考帧时,对当前参考帧进行下采样重建的下采样比例具体可以是采用下采样方式处理的待编码视频帧所对应的下采样比例。下采样方向可以是垂直下采样、水平下采样、垂直和水平下采样中的一种。

当采用下采样方式处理的待编码视频帧参考采用下采样方式处理的当前参考帧,且待编码视频帧的下采样比例小于当前参考帧的下采样比例时,对当前参考帧进行下采样重建的下采样比例需满足通过下采样重建后的目标参考帧的分辨率和待编码视频帧的分辨率保持一致的条件。比如,全分辨率方式下的视频帧的分辨率为12m*12n,采用1/6下采样方式处理的待编码视频帧的分辨率为2m*2n,采用1/2下采样方式处理的当前参考帧的分辨率为6m*6n。此时,可对当前参考帧进行1/3下采样处理,得到目标参考帧,目标参考帧的分辨率为2m*2n。

编码端还可以将采样比例对应的采样比例信息添加至输入视频帧对应的编码数据中,解码端在进行解码处理时,可读取编码数据中相应的采样比例信息,以确定对当前参考帧进行采样处理的采样比例。

采样比例信息用于描述对当前参考帧进行采样处理时的采样比例,可以在编码数据中加入描述采样比例信息的标志位sampling_scale。具体的标志位的值可以根据需要设置。采样比例信息在编码数据的添加位置可以是帧头部信息、视频帧组头部信息或序列头部信息中的任一个,采样比例信息在编码数据的添加位置可以根据采样处理的作用范围确定。采样比例信息可以根据待编码视频帧的分辨率信息和当前参考帧的分辨率信息确定。

根据待编码视频帧的分辨率信息、以及当前参考帧的分辨率信息,来确定对当前参考帧进行采样处理对应的采样比例,进而根据确定的采样比例,对当前参考帧进行采样处理,可以得到合适的目标参考帧,比如与待编码视频帧的分辨率一致的目标参考帧,以方便进行后续的视频编码。

按照采样方式,并根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到中间参考帧;对中间参考帧进行分像素插值处理,得到目标参考帧。

分像素插值是通过中间参考帧中整像素的参考数据插值得到分像素级别的参考数据的过程。编码端按照确定的采样方式,并根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到中间参考帧,可直接将中间参考帧作为目标参考帧。

编码端可按照确定的采样方式,根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到中间参考帧。对中间参考帧进行分像素插值处理,以得到目标参考帧。

编码端可在各自的编解码规则中设置根据中间参考帧进行处理得到目标参考帧时所采用的分像素插值方式。在编、解码时就根据配置确定对中间参考帧进行处理所对应的分像素插值方式。其中,编码端和解码端所采用的分像素插值方式应当是一致的。

当采用自适应分辨率的编码框架对输入视频帧进行编码时,还可将分像素插值方式对应的分像素插值方式信息添加至输入视频帧对应的编码数据中。分像素插值方式信息在编码数据的添加位置可以是对应的序列头部信息、视频帧组头部信息以及帧头部信息中的任一个,分像素插值方式信息在编码数据的添加位置可以根据分像素插值方式对应的作用范围确定。可将分像素插值方式信息添加至输入视频帧对应的编码数据的帧头部信息中,表示输入视频帧在被编码时对应的当前参考帧采用分像素插值方式信息对应的分像素插值方式进行分像素插值处理。例如,当编码数据的帧头部信息中用于确定分像素插值方式的标识位为0时,表示输入视频帧对应的当前参考帧采用直接进行分像素插值处理,在用于确定分像素插值方式的标识位为1时,表示输入视频帧对应的当前参考帧采用采样处理后再分像素插值处理。解码端就可按照编码数据中标识位所表示的分像素插值方式对当前参考帧进行分像素插值处理得到目标参考帧,从而可依据目标参考帧对编码数据进行解码得到重建视频帧。

上述实施例中,通过对当前参考帧进行采样处理,得到中间参考帧,再对中间参考帧进行分像素插值处理,得到目标参考帧。通过对中间参考帧进行分像素插值处理,进一步提高了待编码视频帧与要参考的帧之间的图像匹配度,大大提高了运动估计的像素精度,减小预测残差,提高编码图像的质量。

在一个实施例中,按照采样方式,并根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到对应的目标参考帧的步骤包括:按照采样方式,根据待编码视频帧的分辨率信息以及运动估计像素精度对当前参考帧进行采样处理,得到对应的目标参考帧。

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

具体地,可获取当前参考帧的分辨率信息,根据待编码视频帧采用的分像素插值方式,以及待编码视频帧的分辨率信息、当前参考帧的分辨率信息以及待编码视频帧对应的运动估计像素精度确定对当前参考帧进行何种采样处理方法、采样处理对应的采样比例以及像素插值精度。运动估计像素精度的大小可以根据需要设置,例如一般为1/2像素精度、1/4像素精度或1/8像素精度。

在一个实施例中,可根据待编码视频帧的图像特征信息为该待编码视频帧配置相应的运动估计像素精度,图像特征信息比如该待编码视频帧的大小、纹理信息、运动速度等,可综合多种图像特征信息确定待编码视频帧对应的运动估计像素精度。待编码视频帧所携带的图像数据越复杂,图像信息越丰富,相应的运动估计像素精度更高。比如,在对p帧进行帧间预测时,可采用较高的运动估计像素精度计算p帧中各编码块对应的运动矢量,而在对b帧进行帧间预测时,可采用较低的运动估计像素精度计算b帧中各编码块对应的运动矢量。

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

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

在一个实施例中,当当前参考帧的分辨率大于待编码视频帧的分辨率时,当前参考帧中部分分像素点的数据可直接复用,可作为与运动估计像素精度相应的分像素点对应的数据。也就是说,当当前参考帧的分辨率大于待编码视频帧的分辨率时,可不对当前参考帧进行下采样处理,直接进行分像素插值处理。比如,待编码视频帧的分辨率为m*n,当前参考帧的分辨率为2m*2n,若运动估计像素精度为1/2,像素插值精度为1,那么当前参考帧可直接作为目标参考帧;若运动估计像素精度为1/4,那么计算得到像素插值精度为1/2,可对当前参考帧以1/2像素插值精度进行分像素插值处理得到目标参考帧。

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

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

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率小于当前参考帧的分辨率时,则根据待编码视频帧的分辨率信息对当前参考帧进行下采样处理,得到中间参考帧,然后基于待编码视频帧对应的运动估计像素精度对中间参考帧进行分像素插值处理,得到目标参考帧。举例说明:通过对分辨率为2m*2n的输入视频帧按照下采样处理方式进行下采样处理得到分辨率为m*n的待编码视频帧,而当前参考帧的分辨率为2m*2n(全分辨率处理方式),则对当前参考帧按照1/2的采样比例进行下采样处理得到分辨率为m*n的中间参考帧,若获取的待编码视频帧对应的运动估计像素精度为1/2,再对中间参考帧按照与运动估计像素精度相同的像素插值精度,即1/2分像素插值精度进行分像素插值处理,得到目标参考帧;若获取的待编码视频帧对应的运动估计像素精度为1/4,则对中间参考帧按照1/4分像素插值精度进行分像素插值处理,得到目标参考帧。

在一个实施例中,当待编码视频帧的分辨率信息所表示的分辨率大于当前参考帧的分辨率时,则根据待编码视频帧的分辨率信息对当前参考帧进行上采样处理,得到中间参考帧,然后基于待编码视频帧对应的运动估计像素精度对中间参考帧进行分像素插值处理,得到目标参考帧。

根据目标参考帧对待编码视频帧进行编码,得到待编码视频帧的编码数据。

对待编码视频帧进行编码是在待编码视频帧的分辨率的条件下进行的。编码可以包括预测、变换、量化以及熵编码中的至少一个。编码端可以获取待编码视频帧对应的当前参考帧,根据确定的采样方式对当前参考帧进行采样处理,以得到目标参考帧。根据目标参考帧进行预测得到预测残差,并对预测残差进行变换、量化以及熵编码等得到输入视频帧对应的编码数据。

在计算预测残差时,可以根据待编码视频帧的分辨率信息对当前参考帧进行采样处理,得到与待编码视频帧的分辨率一致的目标参考帧,再从目标参考帧中获取待编码视频帧中各个编码块对应的参考块,根据参考块进行预测,得到编码块对应的预测值,再根据编码块的实际值与预测值的差值得到预测残差,在计算运动矢量值时,如果参考帧的分辨率不同,则可以根据参考帧与待编码视频帧的分辨率对编码块的位置信息或者解码块的位置信息进行变换。再根据变换后的位置信息得到运动矢量值。

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

编码方式是与编码端进行编码有关的处理方式。例如可以包括编码时对参考帧进行解码重建后的视频帧采用的上采样方式、参考规则对应的规则、对参考帧进行分像素插值中的一种或多种等。通过将编码方式对应的编码方式信息添加至输入视频帧对应的编码数据,解码端可以根据编码方式信息对待解码视频帧进行解码。

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

在一个实施例中,编码端可根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数,第一分辨率信息包括当前参考帧的分辨率信息或者输入视频帧对应的目标运动矢量单位分辨率信息;根据第一矢量变换参数得到待编码视频帧中各个编码块对应的目标运动矢量。

第一矢量变换参数用于对得到运动矢量的位置信息或者运动矢量进行变换。分辨率信息是与分辨率相关的信息,例如可以是分辨率本身或者下采样比例等。第一矢量参数可以是待编码视频帧的分辨率信息和第一分辨率信息之间的比例。

在一个实施例中,得到第一矢量变换参数后,根据第一矢量变换参数对得到的运动矢量或者运动矢量对应的位置信息进行变换,得到目标运动矢量。当利用第一矢量变换参数对目标运动矢量进行变换时,使得目标运动矢量是在目标运动矢量单位分辨率信息所表示的目标分辨率下的运动矢量,目标运动矢量单位分辨率信息与目标运动矢量的单位所对应的目标分辨率对应的信息,例如可以是目标分辨率本身或者下采样比例。当利用第一矢量变换参数对运动矢量对应的位置信息进行变换时,使得待编码视频帧对应的位置信息与当前参考帧的位置信息处于同一量化尺度下,根据变换后的位置信息得到第二运动矢量,将第二运动矢量变换为目标分辨下的目标运动矢量。

在一个实施例中,根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数的步骤包括:根据待编码视频帧的分辨率信息和当前参考帧的分辨率信息确定第一矢量变换参数。根据第一矢量变换参数得到待编码视频帧中各个编码块对应的运动矢量的步骤包括:获取当前编码块对应的第一位置信息,获取当前编码块对应的目标参考块对应的第二位置信息;根据第一矢量变换参数、第一位置信息和第二位置信息计算得到当前编码块对应的目标运动矢量。

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

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

在一个实施例中,第一矢量变换参数是待编码视频帧的分辨率与当前参考帧的分辨率信息中,大分辨率信息除以小分辨率信息得到的比例,其中,大分辨率信息对应的分辨率比小分辨率对应的分辨率大。第一矢量变换参数用于与待编码视频帧与当前参考帧中小分辨率信息的帧的位置信息进行变换。

在一个实施例中,第一矢量变换参数是待编码视频帧的分辨率与当前参考帧的分辨率信息中,小分辨率信息除以大分辨率信息得到的比例,第一矢量变换参数用于对待编码视频帧与当前参考帧中,大分辨率信息的帧的位置信息进行变换。

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

在一个实施例中,根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数的步骤包括:获取目标运动矢量单位分辨率信息;根据待编码视频帧的分辨率信息和目标运动矢量单位分辨率信息确定第一矢量变换参数。根据第一矢量变换参数得到待编码视频帧中各个编码块对应的目标运动矢量的步骤包括:根据当前编码块与对应的目标参考块的位移得到第一运动矢量;根据第一矢量变换参数以及第一运动矢量得到当前编码块对应的目标运动矢量。

具体地,目标运动矢量单位分辨率信息是指与目标运动矢量的单位对应的目标分辨率对应的信息,例如可以是目标分辨率或者对应的下采样比例。目标运动矢量是以该分辨率下的矢量单位为标准计算的。由于输入视频序列的对应的各个待编码视频帧可能有一些分辨率与输入视频帧的原始分辨率相同,而另一些待编码视频帧的分辨率比输入视频帧的原始分辨率小,即视频序列中待编码视频帧的分辨率有多种,因此需要确定目标运动矢量的单位对应的分辨率。目标运动矢量的单位对应的分辨率可以是在编码前已经设定或者根据编码过程的参数得到,具体可以根据需要进行设置。

第一运动矢量是根据当前编码块与对应的目标参考块的位移得到的,目标参考块可以是从当前参考帧中获取的,也可以从对当前参考帧进行处理后得到的目标参考帧中获取的,当得到第一运动矢量后,可以将第一矢量变换参数以及第一运动矢量相乘,将得到的乘积作为目标运动矢量。比如,假设目标运动矢量单位对应的分辨率是原始分辨率,而待编码视频帧对应的下采样比例为1/2。由于目标运动矢量单位是原始分辨率,而第一运动矢量是在待编码视频帧的分辨率下计算得到的,因此需要对第一运动矢量进行变换,第一矢量变换参数等于2,当得到的第一运动矢量为(2,2,),则目标运动矢量为(4,4)。得到目标运动矢量后,可以根据目标运动矢量进行编码,例如可以对目标运动矢量以及当前编码块对应的预测残差进行编码,得到编码数据。

在一个实施例中,当目标参考块是从当前参考帧中获取的,可以理解,对于同一编码块,第一运动矢量可等于第二运动矢量。

在一个实施例中,目标运动矢量的单位对应的分辨率可以是输入视频帧对应的分辨率,即原始分辨率,或者目标运动矢量的单位对应的分辨率可以是待编码视频帧对应的分辨率。第一矢量变换参数可以是目标运动矢量单位对应的分辨率信息与待编码视频帧的分辨率信息的比例。

可以根据进行编码的设备的计算能力得到目标运动矢量单位分辨率信息,例如,当进行编码的设备只能对整数进行运算或者当数值为小数时运算耗时长,则目标运动矢量单位对应的分辨率可以为输入视频帧对应的原始分辨率,当进行编码的设备能够快速进行小数的运算,目标运动矢量单位对应的分辨率可以为待编码视频帧对应的分辨率。

在一个实施例中,当待编码视频帧的分辨率信息和目标运动矢量单位分辨率信息一致时,第一矢量变换参数为1,第一运动矢量与目标运动矢量相同,因此,可以跳过根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数的步骤,直接将第一运动矢量作为目标运动矢量。当待编码视频帧的分辨率信息和目标运动矢量单位分辨率信息不一致时,则执行根据待编码视频帧的分辨率信息和第一分辨率信息确定第一矢量变换参数的步骤。

本发明实施例中,当目标运动矢量的单位对应的分辨率为输入视频帧对应的分辨率,即原始分辨率,对于分辨率统一的视频序列,各个输入视频帧对应目标分辨率是一致的,可以保持目标运动矢量的统一性。当目标运动矢量的单位对应的分辨率为待编码视频帧对应的分辨率时,由于待编码视频帧的分辨率信息和目标运动矢量单位分辨率信息一致,因此不需要需对第一运动矢量进行变换,可以减少计算时间。

根据目标参考帧对待编码视频帧进行编码,得到待编码视频帧对应的编码数据包括:获取当前编码块对应的初始预测运动矢量;根据初始预测运动矢量对应的当前运动矢量单位分辨率信息和目标运动矢量单位分辨率信息,得到第二矢量变换系数;根据初始预测运动矢量和第二矢量变换系数得到当前编码块对应的目标预测运动矢量;根据目标运动矢量和目标预测运动矢量得到运动矢量差。

具体地,为了降低用于编码数据的比特数,可以对当前编码块的运动矢量进行预测,得到预测值,计算目标运动矢量与预测值的差值,得到运动矢量差值,对运动矢量差值进行编码。初始预测运动矢量用于对当前编码块的运动矢量进行预测。初始预测运动矢量的数量可以为一个或多个,具体可以根据需要进行设置。初始预测运动矢量的获取规则可以根据需要进行设置,由于当前编码块与其相邻编码块的往往具有空间相关性,因此可以将当前编码块对应的一个或多个相邻已编码块的对应的目标运动矢量值作为初始预测运动矢量。例如,可以将当前编码块中右上角以及左上角的相邻已编码块对应的第一运动矢量值作为初始预测运动矢量。或者,可以将当前编码块对应的目标参考块所对应的目标参考块的运动矢量值作为初始预测运动矢量。

进一步地,当前运动矢量单位分辨率信息是指与初始预测运动矢量的单位对应的当前分辨率对应的信息,例如可以是当前分辨率或者下采样比例。初始预测运动矢量的单位对应的分辨率是指该初始预测运动矢量的单位是以当前分辨率下的矢量单位为标准计算的,即是当前分辨率下的运动矢量。当初始预测运动矢量对应的当前运动矢量单位分辨率信息和目标运动矢量单位分辨率信息不同,则需要根据初始预测运动矢量对应的当前运动矢量单位分辨率信息和目标运动矢量单位分辨率信息得到第二矢量变换系数。第二矢量变换参数用于将初始预测运动矢量变换为目标分辨率下的运动矢量,第二矢量变换参数可以是目标运动矢量单位对应的分辨率信息与当前运动矢量单位分辨率信息的比例。例如,假设目标运动矢量单位对应的分辨率是200*200像素,当前运动矢量单位分辨率信息是100*100像素,则第一矢量变换参数可以是2。

进一步地,得到第二矢量变换参数后,根据初始预测运动矢量与第二矢量变换系数进行运算,得到目标预测运动矢量,目标预测运动矢量是目标分辨率下的预测运动矢量。例如,当初始预测运动矢量为一个时,可以将初始预测运动矢量与第二矢量变换系数的乘积作为目标预测运动矢量。当初始预测运动矢量为多个时,可以对初始预测运动矢量进行计算,得到计算结果,根据计算结果与第二矢量变换系数得到目标运动矢量。计算结果可以是初始预测运动矢量中的最小值、平均值以及中位数值中的一种或多种。可以理解,根据初始预测运动矢量和第二矢量变换系数得到目标预测运动矢量的算法可以自定义,在解码端可以利用一致的自定义的算法计算得到相同的目标预测运动矢量。

进一步地,将运动目标矢量与目标预测运动矢量的差值作为运动矢量差,以根据运动矢量差进行编码,得到编码数据,减少编码数据的数据量。

本发明实施例中,通过对初始预测运动矢量进行变换,得到在目标分辨率下的目标预测运动矢量,使目标预测运动矢量以及目标运动矢量的单位是在匹配的量化尺度下的,因此得到的运动矢量差值小,减少了编码数据的数据量。

本实施例中,能够灵活选择对应于待编码视频帧对应的当前参考帧的采样方式,以对当前参考帧进行相应的采样处理,进而得到目标参考帧。根据目标参考帧对待编码视频帧进行编码,以减小待编码数据的数据量。由于可以灵活选择当前参考帧的采样方式,以对当前参考帧进行采样重建,调整当前参考帧的分辨率,即使当前参考帧与当前待编码视频帧的分辨率不同,也可作为参考帧,提高了参考帧的使用效率,从而可提高帧间预测的准确度,减小预测残差,进而提高了编码图像的质量。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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