一种视频感知编码方法及装置与流程

文档序号:13984702阅读:266来源:国知局
一种视频感知编码方法及装置与流程

本申请涉及计算机领域,尤指一种视频感知编码方法及装置。



背景技术:

随着多媒体应用中数字视频业务的不断发展,对视频云计算的需求不断提高,原始视频信源的数据量之大是现有的有线、无线传输网络带宽和存储资源无法承受的。因而,视频信号在传输、存储过程中的数据压缩成为目前研究和应用的热点之一。视频数据压缩(也称视频编码)的目的是消除视频信号的各种数据冗余。

视频编码往往会带来一定的编码失真(质量损失)。而在例如视频的分发、压缩格式转换等转码应用以及高清视频录制等环境中,人类肉眼所观察到的视频在主观上的质量(视频主观质量)无变化又是经常需要被满足的,于是,基于人眼视觉模型的感知编码被提出。感知编码是建立人眼视觉模型并利用该模型进行视频编码,也被定义为基于最小化人眼可感知到的视觉误差的编码算法。

对于感知编码,如何优化主观质量模型并利用该模型在主观质量得以保证的前提下完成更高效率的压缩成为当前的研究热点。常见的感知编码方法主要是使用主观质量模型替代目前编码过程中的失真评价方法。具体来说,将原来模式选择过程中的失真计算过程替换为主观失真计算,而原有的码率计算过程不变,最后根据主观失真和码率计算出一个新的率失真模型来替换原来的率失真模型j=d+λ*r,其中,d为原来的失真,λ为率失真参数,r为块编码比特数。上述方法存在如下问题:(1)现有视频编码的大部分工具都是用模型j=d+λ*r训练出来的,直接建立新的模型会产生单次编码效率明显下降的情况;(2)简单一次性的修改块的编码过程仍然无法保证视频的最终主观质量,需要建立整体的视频编码架构,完成更复杂的编码过程以保证视频的主观质量满足用户需求。



技术实现要素:

为了解决上述技术问题,本发明提供了一种视频感知方法及装置。

本发明实施例提供了如下方案:

一种视频感知编码方法,包括:

获取视频的信息;

根据所述视频的信息进行参数配置,所述参数包括编码参数和主观质量参数,所述主观质量参数包括主观质量模型和主观质量条件;

对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述获取视频的信息,包括如下一项或两项:

直接读取视频的各层级信息;

通过快速编码过程得到视频具体信息。

其中,所述视频的信息或视频的各层级信息或视频具体信息包括如下一种或多种信息:

视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率。

其中,所述进行参数配置,包括:配置所述主观质量参数,所述主观质量参数用于控制编码过程产生的主观损失;根据所述视频的信息配置所述至少一个层级的编码参数。

其中,配置所述主观质量参数时,如果所述视频的层级对应的主观质量模型与所述主观质量参数对应的模型不同,则将所述主观质量参数转化为符合所述层级主观质量模型的质量控制参数。

其中,所述编码参数包含编码帧率、速度档次、质量档次、量化参数、码率、以及其他预测、变换、量化和熵编码工具。

其中,所述对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果,包括:

确定当前要编码的层级及其对象;

基于所述编码参数对所述对象进行编码,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述确定当前要编码的层级及其对象,包括:

如果第一层所有对象均已得到满足所述主观质量条件的编码结果,则将第二层确定为当前要编码的层级,并将该第二层的第二对象确定为当前要编码的对象,

如果第一层有对象的编码结果不满足所述主观质量条件,则将该对象确定为当前要编码的对象,将所述第一层确定为当前要编码的层级;

如果所述第一层中有对象得不到满足所述主观质量条件的编码结果,则将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象;

其中,所述第二层为所述第一层的上一层,且所述第一层对应于所述第二层的所述第一对象,所述第二对象为所述第一对象的下一个对象。

其中,所述将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象之后,还包括:

调整编码参数并对所述第二层的第一对象重新编码;或者,

对所述第二层的第一对象,检测是否存在编码结果满足所述主观质量条件;或者,

返回第三层,将所述第三层确定为当前要编码的层级,并将所述第三层中对应所述第二层的对象确定为当前要编码的对象,其中,所述第三层为所述第二层的上一层。

其中,对所述对象进行编码,包括:使用指定的一种或多种所述编码参数对所述对象进行编码,得到所述对象的解码重建数据。

其中,所述对所述对象进行编码的执行方式为如下任意一项:

同时运行所述多种编码参数,并同时得到多组的解码重建数据;

顺序执行,在有一种编码参数的编码结果满足所述主观质量条件时结束,并得到该编码参数的解码重建数据。

其中,基于所述层级的主观质量模型验证所述编码的编码结果,包括:

使用所述对象所在层级的主观质量模型对每个所述对象的解码重建数据计算其跟原始数据之间的主观质量差别。

其中,所述得到满足主观质量条件的编码结果,包括:

根据所述验证的结果,使用所述参数配置时配置的质量控制参数,得到满足主观质量条件的编码结果。

其中,所述至少一个层级从低到高包括:预测单元、编码单元、条带、图像、视频段、视频。

其中,在得到所述预测单元和编码单元中对象的编码结果时,使用如下的任意一种或几种方式得到满足所述主观质量条件的编码结果:

选择主观质量更好的预测模式的编码结果;

选择满足主观质量条件下编码比特数最少的预测模式的编码结果;

令一确定模式减少预测失真。

其中,在对所述编码单元、条带、图像、视频段或视频级进行编码时,相应的编码参数包含如下的任意一种或几种:量化参数、模式选择时用到的拉格朗日算子、码率控制、编码工具。

一种用于视频感知编码的装置,包括:

获取单元,用于获取视频的信息;

配置单元,用于根据所述视频的信息进行参数配置,所述参数包括编码参数和主观质量参数,所述主观质量参数包括主观质量模型和主观质量条件;

执行单元,用于对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述获取单元用于获取视频的信息,包括如下一项或两项:

直接读取视频的各层级信息;

通过快速编码过程得到视频具体信息。

其中,所述视频的信息或视频的各层级信息或视频具体信息包括如下一种或多种信息:

视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率。

其中,所述配置单元用于进行参数配置,包括:

配置所述主观质量参数,所述主观质量参数用于控制编码过程产生的主观损失;

根据所述视频的信息配置所述至少一个层级的编码参数。

其中,所述配置单元,还用于在配置所述主观质量参数时,如果所述视频的层级对应的主观质量模型与所述主观质量参数对应的模型不同,则将所述主观质量参数转化为符合所述层级主观质量模型的质量控制参数。

其中,所述编码参数包含编码帧率、速度档次、质量档次、量化参数、码率、以及其他预测、变换、量化和熵编码工具。

其中,所述执行单元,具体用于:

确定当前要编码的层级及其对象;

基于所述编码参数对所述对象进行编码,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述执行单元用于确定当前要编码的层级及其对象,包括:

如果第一层所有对象均已得到满足所述主观质量条件的编码结果,则将第二层确定为当前要编码的层级,并将该第二层的第二对象确定为当前要编码的对象,

如果第一层有对象的编码结果不满足所述主观质量条件,则将该对象确定为当前要编码的对象,将所述第一层确定为当前要编码的层级;

如果所述第一层中有对象得不到满足所述主观质量条件的编码结果,则将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象;

其中,所述第二层为所述第一层的上一层,且所述第一层对应于所述第二层的所述第一对象,所述第二对象为所述第一对象的下一个对象。

其中,所述执行单元用于将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象之后,还包括:

调整编码参数并对所述第二层的第一对象重新编码;或者,

对所述第二层的第一对象,检测是否存在编码结果满足所述主观质量条件;或者,

返回第三层,将所述第三层确定为当前要编码的层级,并将所述第三层中对应所述第二层的对象确定为当前要编码的对象,其中,所述第三层为所述第二层的上一层。

其中,所述执行单元用于对所述对象进行编码,包括:使用指定的一种或多种所述编码参数对所述对象进行编码,得到所述对象的解码重建数据。

其中,所述执行单元用于对所述对象进行编码的执行方式为如下任意一项:

同时运行所述多种编码参数,并同时得到多组的解码重建数据;

顺序执行,在有一种编码参数的编码结果满足所述主观质量条件时结束,并得到该编码参数的解码重建数据。

其中,所述执行单元用于基于所述层级的主观质量模型验证所述编码的编码结果,包括:

使用所述对象所在层级的主观质量模型对每个所述对象的解码重建数据计算其跟原始数据之间的主观质量差别。

其中,所述执行单元用于得到满足主观质量条件的编码结果,包括:

根据所述验证的结果,使用所述参数配置时配置的质量控制参数,得到满足主观质量条件的编码结果。

其中,所述至少一个层级从低到高包括:预测单元、编码单元、条带、图像、视频段、视频。

其中,所述执行单元用于在得到所述预测单元和编码单元中对象的编码结果时,使用如下的任意一种或几种方式得到满足所述主观质量条件的编码结果:

选择主观质量更好的预测模式的编码结果;

选择满足主观质量条件下编码比特数最少的预测模式的编码结果;

令一确定模式减少预测失真。

其中,所述执行单元用于在对所述编码单元、条带、图像、视频段或视频级进行编码时,相应的编码参数包含如下的任意一种或几种:量化参数、模式选择时用到的拉格朗日算子、码率控制、编码工具。

本发明实施例提供的视频感知编码方法及装置,使现在编码单元及其预测单元、条带、图像、图像组、视频段、视频等多个视频层级建立主观质量评价体系,并且在其中一级或多级完成多种编码参数之间的比较和选择,进而在满足用户给定主观失真参数下,实现更优的编码效率,可以实现更高视频压缩效率的感知编码,不仅可以在各个层级严格满足用户的主观编码质量需求,还可以在每一级别实现更优的编码效率,进而实现总体编码效率更优,在保证主观无损失或者给定程度的主观损失下,实现更大的视频压缩、视频转码效率。

本发明实施例的方法及装置,尤其适用于主观低损失甚至无损失的转码过程,在从编码单元及其预测单元到视频的多个层级上均在保证主观质量的基础上实现了更优的编码效率,进而保证视频的主观质量并实现整个视频的编码效率更优。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例视频感知编码方法的流程图;

图2为本发明实施例视频层级结构的示例示意图。

图3为本发明实施例视频感知编码方法的流程图;

图4为本发明实施例视频感知编码方法的具体实现流程图;

图5为本发明实施例视频感知编码装置的组成结构示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明实施例提供一种视频感知编码方法,主要可包括:

步骤101,获取视频的信息;

步骤102,根据所述视频的信息进行参数配置,所述参数包括编码参数和主观质量参数,所述主观质量参数包括主观质量模型和主观质量条件;

步骤103,对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,步骤101中可以获取待编码视频的有助于提高视频编码效率的各种信息。

其中,步骤103中对待编码视频进行层级分解,并对层级进行编号。对每个层级的层间编码选择和控制,可以根据当前的编码状态确定当前要进行编码的层级及其对象,再对所述对象进行编码,并基于所述层级的主观质量模型验证所述编码的编码结果,对所述编码结果进行选择以找到符合要求的编码参数。

实际应用中,步骤103中,可以是对当前层的当前对象进行编码;当前层对象已经编码后的数据通过主观质量模型进行计算,计算当前对象编码的主观损失,对编码结果进行验证;根据上述验证结果对编码结果进行选择。作为一个具体实施例,对编码结果进行验证,可以根据主观质量模型计算的结果,使用当前对象所在层级的质量控制参数选择适合的编码结果。

本发明实施例的上述方法,尤其适用于主观低损失甚至无损失的编码、转码过程,以可配置的主观质量参数为输入,找到符合该主观质量条件的编码结果。

在一些实现方式中,上述的层级可以包含如下从低到高的一个或几个视频层级:预测单元、编码单元、条带、图像、视频段、视频。视频层级结构示意图如图2所示。

其中,步骤101中获取视频的信息,可以包括如下一项或两项:

1)直接读取视频的各层级信息;

2)通过快速编码过程得到视频具体信息。

实际应用中,所述视频的信息或视频的各层级信息或视频具体信息可以包括如下一种或多种信息:视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率。

其中,步骤102中进行参数配置,可以包括:配置所述主观质量参数,所述主观质量参数用于控制编码过程产生的主观损失;根据所述视频的信息配置所述至少一个层级的编码参数。

在一些实现方式中,配置所述主观质量参数时,如果所述视频的层级对应的主观质量模型与所述主观质量参数对应的模型不同,则将所述主观质量参数转化为符合所述层级主观质量模型的质量控制参数。

在一些实现方式中,所述编码参数可以包含编码帧率、速度档次、质量档次、量化参数、码率、以及其他预测、变换、量化和熵编码工具。

实际应用中,主观质量参数可包括:各层级的主观质量模型对应的参数以及表示主观质量条件的参数等。配置主观质量参数时,如果某一层级的主观质量模型与初始化配置时的主观质量参数对应的模型不同,则将该层级的主观质量参数转化为符合当前层级主观质量模型的质量控制参数。

其中,主观质量模型中定义主观质量评价的具体算法以及主观质量条件,通过主观质量模块的计算对编码结果进行验证得到主观质量验证值(即下文中解码重建数据跟原始数据之间的均方差等),在选择编码结果时可以将该主观质量验证值与配置的质量控制参数比较,根据比较结果选择主观质量损失最小的编码参数(即最佳的编码参数);对于预测单元来说,预测模式作为其编码的模式或者依据。每个层级都有其对应的主观质量模型,如果感知编码过程中需要对多个层级进行处理,那么需要对这多个层级分别建立其对应的主观质量模型。如果只需对某一层进行处理,那么只需要建立该层级的主观质量模型。

其中,可以配置多套编码参数,且在配置编码参数时,包含配置编码帧率、速度档次、质量档次、量化参数、视频码率、以及其他预测、变换、量化和熵编码工具。速度档次是指期望的编码速度。质量档次则是指编码器在编码时偏重优化何种类型的视频的编码质量,例如动画、电影或人脸。

其中,步骤103中对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果,可以包括:确定当前要编码的层级及其对象;基于所述编码参数对所述对象进行编码,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述确定当前要编码的层级及其对象,可以包括:

如果第一层所有对象均已得到满足所述主观质量条件的编码结果,则将第二层确定为当前要编码的层级,并将该第二层的第二对象确定为当前要编码的对象,

如果第一层有对象的编码结果不满足所述主观质量条件,则将该对象确定为当前要编码的对象,将所述第一层确定为当前要编码的层级;

如果所述第一层中有对象得不到满足所述主观质量条件的编码结果,则将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象;

其中,所述第二层为所述第一层的上一层,且所述第一层对应于所述第二层的所述第一对象,所述第二对象为所述第一对象的下一个对象。

例如,所述第一层可以是图2中的条带层,第一对象表示该层中的编码单元,第二层可以是图像层,第二层为该层中的条带,第三层可以是视频段层,第三对象可以为视频段层中的图像。

其中,所述将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象之后,还包括:

调整编码参数并对所述第二层的第一对象重新编码;或者,

对所述第二层的第一对象,检测是否存在编码结果满足所述主观质量条件;或者,

返回第三层,将所述第三层确定为当前要编码的层级,并将所述第三层中对应所述第二层的对象确定为当前要编码的对象,其中,所述第三层为所述第二层的上一层。

其中,对所述对象进行编码,可以包括:使用指定的一种或多种所述编码参数对所述对象进行编码,得到所述对象的解码重建数据。

实际应用中,所述对所述对象进行编码的执行方式为如下任意一项:

1)同时运行所述多种编码参数,并同时得到多组的解码重建数据;

2)顺序执行,在有一种编码参数的编码结果满足所述主观质量条件时结束,并得到该编码参数的解码重建数据。

其中,基于所述层级的主观质量模型验证所述编码的编码结果,可以包括:使用所述对象所在层级的主观质量模型对每个所述对象的解码重建数据计算其跟原始数据之间的主观质量差别。这里,所述得到满足主观质量条件的编码结果,可以包括:根据所述验证的结果,使用所述参数配置时配置的质量控制参数,得到满足主观质量条件的编码结果。

在一些实现方式中,在得到所述预测单元和编码单元中对象的编码结果时,使用如下的任意一种或几种方式得到满足所述主观质量条件的编码结果:

1)选择主观质量更好的预测模式的编码结果;

2)选择满足主观质量条件下编码比特数最少的预测模式的编码结果;

3)令一确定模式减少预测失真。

实际应用中,在对所述编码单元、条带、图像、视频段或视频级进行编码时,相应的编码参数可以包含如下的任意一种或几种:1)量化参数;2)模式选择时用到的拉格朗日算子;3)码率控制;4)各种编码工具(如预测、变换、量化熵编码方式)。

如图2所示,为一种视频层级结构示意图,包含从低到高的:预测单元、编码单元、条带、图像、视频段、视频。图2中,视频层为第0层,视频段层为第1层,以此类推,编码单元层为第4层。视频层中的对象为视频,即视频0、是1、……、视频5。视频层中的每个对象都对应一个视频段层,视频3对应的视频段层的对象包括视频段1、视频段2、……、视频段n,视频段层中每个对象(即每个视频段)对应一个图像层,视频段4对应的图像层包括图像1、图像2、图像3、……、图像6;每个图像层中的每个对象即每个图像对应一个条带层,如图2所示,图像2对应的条带层包括:条带1、条带2、条带3、……、条带7。如图2所示,条带层中每个对象即每个条带对应一个编码单元层,编码单元层的对象即为编码单元,每个编码单元层可包括多个编码单元,每个编码单元对应一个预测单元层,预测单元层的对象为预测单元,每个预测单元层可包括多个预测单元。

如图3所示,本发明实施例的视频编码感知方法可包括如下步骤:

步骤301,获取视频的信息;

步骤302,根据所述视频的信息进行参数配置,所述参数包括编码参数和主观质量参数,所述主观质量参数包括主观质量模型和主观质量条件;

步骤303,确定当前要编码的层级及其对象;

步骤304,基于所述编码参数对所述对象进行编码,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果;

其中,上述感知编码方法涉及的层级可以是一个,也可以是多个,本发明实施例中涉及的层级包括六层,从低到高分别是:预测单元、编码单元、条带、图像、视频段、视频。

其中,视频的信息可以使用的具体获取方式可以是:1)直接读取各层级的视频具体信息;和/或,2)通过快速编码过程得到视频具体信息等。这里,具体获取的视频信息可以包括视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率等。

其中,步骤302参数配置的步骤中,主要是编码过程中需要配置的各项参数。具体可包括如下步骤:1)首先,需要根据用户输入或根据视频信息配置主观质量参数,该主观质量参数用于控制编码过程产生的主观损失;2)其次,根据步骤301获取的视频信息对各层级编码参数进行初始化配置,这些编码参数可以包含编码帧率、速度档次、质量档次、量化参数、视频码率、编码工具等。这里,在步骤1)中,如果某一层级的主观质量模型与初始化配置的主观质量参数对应的模型不同,那么还将所述主观质量参数转化为符合该层级模型的质量控制参数。此外,配置的各层级编码参数至少包含了一种编码参数,优选对每个层级配置多种编码参数,以便后续从中选出质量最佳的编码参数。

其中,步骤303中确定当前要编码的层级及其对象的步骤中,从高到低选择当前要编码的层级,具体的:如果在第一层找到该层所有对象的符合主观质量条件的编码结果时,返回第二层继续编码下一个第二对象。如果第一层对某一个第一对象使用某一编码参数得到的编码结果不符合主观质量条件,可以继续对该第一对象尝试其他编码参数,并判断其编码结果是否符合主观质量条件,直到找到该第一对象符合主观质量条件的编码结果。当第一层的任意一个或几个对象存在找不到符合主观质量条件的编码结果时,返回第二层,对第二层中对应所述第一层的第二对象重新编码。其中,返回后还可以选择执行如下步骤:1)对第二层的下一个第二对象或者第二层中对应所述第一层的第二对象选择其他编码参数进行编码并判断该编码参数的编码结果是否符合主观质量条件;或者,2)检测其他同时运行的编码参数的编码结果是否符合主观质量条件;3)如果第二层的当前对象对应的第一层中任意一个或几个第一对象仍然不存在符合主观质量条件的编码结果,那么返回第三层,该第三层为第二层的上一层,第三层中的每个第三对象对应一个第二层,第二层为第一层的上一层,第二层中每个第二对象对应一个第一层,第一层中可以包含多个第一对象。

其中,对所述对象进行编码时,可以使用指定的一种或多种编码参数分别对该对象的数据编码,得到该对象数据的解码重建数据。其中,这些编码参数的执行方式包含:1)相互无依赖的数据同时运行,并同时得到多组重建结果(即解码重建数据);2)顺序执行,后续对象是否执行编码依赖于前一个对象的编码结果是否满足主观质量编码条件。

其中,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果,具体可以是:使用当前对象所在层级的主观质量模型对每个编码对象计算其解码重建数据跟原始数据之间的主观质量差别。主观质量差别越大,说明主观损失越大,主观质量差别越小,说明主观损失越小。

其中,根据计算结果使用当前对象所在层级的质量控制参数选出最佳的编码结果,进而确定最佳的编码参数。其中,在预测单元和编码单元的对象的具体编码结果选择时,使用质量控制参数干预模式选择过程,包含:1)选择主观质量损失更小即主观质量更好的预测模式;或,2)选择满足主观质量条件下编码效率最高的预测模式;或,3)令一确定模式减少预测失真。在编码单元、条带、图像、视频段或视频级别的对象的具体编码结果选择时,具体方法包含尝试各种编码参数以选择满足主观质量条件的编码参数,所述的编码参数包含如下的任意一种或几种:量化参数、模式选择时用到的拉格朗日算子、码率控制、其他各种编码工具(如各种预测、变换、量化、熵编码工具),上述的预测模式是预测单元编码参数的一种。

如下详述本发明的最佳实施例。阅读完以下描述和附图后,熟习此项技艺者可轻易理解本发明的精神。

在本申请说明书及权利要求当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本申请说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及请求项当中所提及的“包含”或“包括”为开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其他装置或连接手段间接地电气连接至该第二装置。

在如图4所示的一实施实例中,选中的编码层级包括五层,分别是预测单元、编码单元、图像、图像组、视频。

如图4所示的实施例中,视频感知编码的具体实现过程可包括:

步骤s401,获取视频信息;

具体的,获取的视频信息包括:视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率、时间长度、真实码率和关键帧个数。其中,视频的时间长度、真实码率以及关键帧个数可以通过快速编码过程得到。其他信息可以通过直接读取各层级的视频信息得到。

步骤s402,进行如下的参数配置:设置最大量化参数(qpmax)不超过30,使用x264编码器的veryslow档次,主观质量参数值配置为9.5,以均方差作为主观质量模型的主要依据。

步骤s403,层间编码选择和控制:当第k+1层(当前层)找到所有对象的符合主观质量条件的编码结果时,返回第k层继续编码下一个对象,继续步骤s404;当第k+1层存在找不到符合主观质量条件的编码结果时,返回第k层(当前层的上一层)并对第k层的当前对象选择其他编码参数进行编码,继续步骤s404。这些编码参数可以包括修改码率、二次编码配置、qpmax、i帧间隔。

例如,对于图2所示的层级结构,视频层为第0层,视频段层为第1层,以此类推,编码单元层为第5层。视频层中的对象为视频,如图2所示的视频0、是1、……、视频5。视频层中的每个对象都对应一个视频段层,如图2所示,视频3对应的视频段层的对象包括视频段1、视频段2、……、视频段n,视频段层中每个对象即每个视频段对应一个图像层,如图2所示,视频段4对应的图像层包括图像1、图像2、图像3、……、图像6;每个图像层中的每个对象即每个图像对应一个条带层,如图2所示,图像2对应的条带层包括:条带1、条带2、条带3、……、条带7。如图2所示,条带层中每个对象即每个条带对应一个编码单元层,编码单元层的对象即为编码单元,每个编码单元层可包括多个编码单元,每个编码单元对应一个预测单元层,预测单元层的对象为预测单元,每个预测单元层可包括多个预测单元。

如果需要对图2所示的层级结构的第0层到第4层都进行编码,那么步骤s403至s406构成的层间迭代机制如下:如图2所示,视频3为第0层的第三个对象,编码器会从第0层一直下降到位于视频段4图像2条带6的编码单元层,如果编码单元层的所有对象(编码单元)的编码结果都满足主观质量条件,则返回到编码单元层的上一层即条带层继续编码下一个对象即条带7;否则,则返回编码单元层的上一层条带层,使用其他编码参数重新编码条带6,直到条带6满足主观质量条件,如果条带6的各种编码参数的编码结果都不能满足主观质量条件,则返回条带层的上一层即图像层尝试其他图像编码参数重新进行编码,以此类推,直到选中一组视频层参数、视频段层参数、图像层参数、条带层参数使得条带6满足主观质量条件。如果当前条带层的所有对象即图像2的所有条带的编码结果都满足主观质量条件,则返回条带层的上一层即图像层继续编码下一个图像即图像3。如果当前图像层的所有对象即视频段4的所有图像均满足主观质量条件,则返回图像层的上一层即视频段层继续编码下一个视频段即视频段5。

步骤s404,顺序执行多种编码参数分别对当前对象的数据编码,后一种编码参数依赖于前一种编码参数的编码结果是否满足主观质量条件;

具体的,如果多种编码参数中,第一个编码参数满足主观质量条件,那么顺序执行第二个,

步骤s405,使用当前对象所在层级的主观质量模型对每个对象的解码重建数据计算其跟原始数据之间的均方差;

步骤s406,为预测单元和编码单元选出满足主观质量条件下最高效的预测模式的编码结果;为编码单元、条带、图像、视频段或视频级别的对象尝试各种编码参数以选出满足主观质量条件的编码结果。

步骤s407,判断当前层所有对象是否都已编码完成,如果是,则返回步骤s403,如果否,则返回步骤s405。

如此,直到需编码的所有层级的所有对象都编码完成,并且对最高层级即视频层下的每个对象都选出了一组视频层参数、视频段层参数、图像层参数、条带层参数使得其编码结果满足主观质量条件,那么,本流程结束。

如图5所示,本申请还提供一种用于视频感知编码的装置,包括:

获取单元51,用于获取视频的信息;

配置单元52,用于根据所述视频的信息进行参数配置,所述参数包括编码参数和主观质量参数,所述主观质量参数包括主观质量模型和主观质量条件;

执行单元53,用于对所述视频逐级根据所述编码参数进行编码,并根据所述主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

其中,所述获取单元51用于获取视频的信息,可以包括如下一项或两项:

直接读取视频的各层级信息;

通过快速编码过程得到视频具体信息。

其中,所述视频的信息或视频的各层级信息或视频具体信息包括如下一种或多种信息:视频码率、帧率、视频压缩格式、量化参数、关键帧分布、图像分辨率。

其中,所述配置单元52用于进行参数配置,可以包括:配置所述主观质量参数,所述主观质量参数用于控制编码过程产生的主观损失;根据所述视频的信息配置所述至少一个层级的编码参数。所述编码参数包含编码帧率、速度档次、质量档次、量化参数、码率、以及其他预测、变换、量化和熵编码工具。

其中,所述配置单元52,还可用于在配置所述主观质量参数时,如果所述视频的层级对应的主观质量模型与所述主观质量参数对应的模型不同,则将所述主观质量参数转化为符合所述层级主观质量模型的质量控制参数。

其中,所述执行单元53,具体可用于:确定当前要编码的层级及其对象;基于所述编码参数对所述对象进行编码,基于所述层级的主观质量模型验证所述编码的编码结果,得到满足所述主观质量条件的编码结果。

具体的,所述执行单元53可用于确定当前要编码的层级及其对象,包括:

如果第一层所有对象均已得到满足所述主观质量条件的编码结果,则将第二层确定为当前要编码的层级,并将该第二层的第二对象确定为当前要编码的对象,

如果第一层有对象的编码结果不满足所述主观质量条件,则将该对象确定为当前要编码的对象,将所述第一层确定为当前要编码的层级;

如果所述第一层中有对象得不到满足所述主观质量条件的编码结果,则将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象;

其中,所述第二层为所述第一层的上一层,且所述第一层对应于所述第二层的所述第一对象,所述第二对象为所述第一对象的下一个对象。

其中,所述执行单元53用于将所述第二层确定为当前要编码的层级,并将所述第二层的第一对象确定为当前要编码的对象之后,还包括:

调整编码参数并对所述第二层的第一对象重新编码;或者,

对所述第二层的第一对象,检测是否存在编码结果满足所述主观质量条件;或者,

返回第三层,将所述第三层确定为当前要编码的层级,并将所述第三层中对应所述第二层的对象确定为当前要编码的对象,其中,所述第三层为所述第二层的上一层。

其中,所述执行单元53用于对所述对象进行编码,包括:使用指定的一种或多种所述编码参数对所述对象进行编码,得到所述对象的解码重建数据。这里,所述执行单元53用于对所述对象进行编码的执行方式为如下任意一项:

同时运行所述多种编码参数,并同时得到多组的解码重建数据;

顺序执行,在有一种编码参数的编码结果满足所述主观质量条件时结束,并得到该编码参数的解码重建数据。

其中,所述执行单元53用于基于所述层级的主观质量模型验证所述编码的编码结果,包括:使用所述对象所在层级的主观质量模型对每个所述对象的解码重建数据计算其跟原始数据之间的主观质量差别。

其中,所述执行单元53可用于得到满足主观质量条件的编码结果,包括:

根据所述验证的结果,使用所述参数配置时配置的质量控制参数,得到满足主观质量条件的编码结果。

实际应用中,所述至少一个层级从低到高包括:预测单元、编码单元、条带、图像、视频段、视频。

实际应用中,所述执行单元53用于在得到所述预测单元和编码单元中对象的编码结果时,使用如下的任意一种或几种方式得到满足所述主观质量条件的编码结果:

选择主观质量更好的预测模式的编码结果;

选择满足主观质量条件下编码比特数最少的预测模式的编码结果;

令一确定模式减少预测失真。

实际应用中,所述执行单元53用于在对所述编码单元、条带、图像、视频段或视频级进行编码时,相应的编码参数包含如下的任意一种或几种:量化参数、模式选择时用到的拉格朗日算子、码率控制、编码工具。

本发明实施例的上述视频感知编码方法及装置,可以控制需要编码的视频的主观质量损失程度,在相同主观质量损失下相较于相关技术能够显著提升编码效率,并且还可显著提升主观近似无损的编码效率,编码生成的视频符合现有视频编码标准,可以直接被常用播放器解码。

本发明实施例的上述视频感知编码方法及装置,编码效果带来的编码效率提升例如,阈值9.5的主观质量参数对应的近似无损编码效率如下表1所示,平均获得31.1%的压缩效率,视频时间和转码时间的比值为1.05。由此可明显看出,本发明实施例能够明显提高一般视频在给定主观质量参数下的编码效率。

表1

上述流程图意图说明根据本发明自适应参考图像选择技术的示范例,本领域技术人员可在不脱离本发明的精神的前提下,修改每个步骤,重新安排上述步骤,拆分某步骤,或组合某些步骤,以实现本发明。

上面的描述可允许本领域技术人员根据特定应用及其需要的内容实施本发明。所述实施例的各种修改对于本领域技术人员来说是显而易见的,并且可将上述定义的基本原则应用于其他实施例。因此,本发明不局限于所述的特定实施例,而是符合与揭露的原则及新颖特征相一致的最宽范围。在上述细节描述中,为了提供对本发明的彻底理解,描述了各种特定细节。此外,本领域技术人员可以理解本发明是可实施的。

上述的本发明实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本发明实施例可为集成到视频压缩芯片的电路或集成到视频压缩软件以执行上述过程的程序代码。本发明的实施例也可为在数字信号处理器(digitalsignalprocessor,dsp)中执行的执行上述处理的程序代码。本发明也可涉及计算机处理器、dsp、微处理器或现场可程序设计门阵列(fieldprogrammablegatearray,fpga)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式,也可为了不同的目标平台编解软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。

虽然本发明已就较佳实施例及其优势揭露如上,本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。本发明的保护范围当视之前的权利要求书所界定为准。

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