多媒体数据编码方法、装置、设备以及介质与流程

文档序号:22805376发布日期:2020-11-04 04:09阅读:96来源:国知局
多媒体数据编码方法、装置、设备以及介质与流程

本申请涉及计算机技术领域,尤其涉及一种多媒体数据编码方法、装置、设备以及介质。



背景技术:

在音视频数据的编码处理过程中,将去块滤波应用在率失真优化中可以增加率失真代价的准确度,进而可以提升编码效率,因此去块滤波已经应用于音视频编码处理过程中。然而,在音视频编码处理过程中,需要得到真实的重建残差后才能在编码模式的率失真优化中对重建编码块进行去块滤波,当编码过程中存在编码模式在率失真优化中无法得到重建残差时,音视频数据的整个编码处理过程均无法使用去块滤波,从而影响率失真优化的准确性。



技术实现要素:

本申请实施例提供一种多媒体数据编码方法、装置、设备以及介质,可以扩大去块滤波在率失真优化处理中的适用范围。

本申请实施例一方面提供了一种多媒体数据编码方法,包括:

获取多媒体数据中的编码单元对应的模式决策信息,模式决策信息包括模式属性信息和残差状态信息;

当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

按照模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理。

其中,残差状态信息包括第i种编码模式的残差传输状态;

当第i种编码模式的残差传输状态为第一状态时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第一状态用于表征第i种编码模式在编码处理中不传输残差。

其中,残差状态信息包括第i种编码模式的残差重建结果;

当第i种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差可得结果时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第二状态用于表征第i种编码模式在编码处理中需要传输残差。

其中,残差状态信息包括第j种编码模式的残差传输状态和残差重建结果;

当第j种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差不可得结果时,残差状态信息用于指示第j种编码模式在率失真优化中不使用去块滤波;第二状态用于表征第j种编码模式在编码处理中需要传输残差。

其中,获取多媒体数据中的编码单元对应的模式决策信息之前,还包括:

获取编码单元所在视频帧图像的帧参考状态;

当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的模式决策信息的步骤。

本申请实施例一方面提供了一种多媒体数据编码方法,包括:

获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式,i和j均为正整数;

根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息;模式决策信息包括模式属性信息和残差状态信息,当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

根据模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价。

其中,多媒体数据包括视频帧图像;

该方法还包括:

获取视频帧图像以及视频帧图像对应的单元分配信息;

根据单元分配信息对视频帧图像进行划分,得到至少两个编码区域;

从至少两个编码区域中选择任一编码区域作为编码单元。

其中,残差状态信息包括残差重建结果,残差重建结果包括重建残差可得结果和重建残差不可得结果;重建残差可得结果用于指示第i种编码模式需要传输残差时,在率失真优化中使用去块滤波,重建残差不可得结果用于指示第j种编码模式需要传输残差时,在率失真优化中不使用去块滤波。

其中,根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息,包括:

获取第i种编码模式和第j种编码模式分别对应的模式描述信息和率失真优化方式,将模式描述信息和率失真优化方式添加至模式决策信息的模式属性信息中;

根据第i种编码模式生成编码单元的第一预测编码结果,根据第j种编码模式生成编码单元的第二预测编码结果;

根据第一预测编码结果、第二预测编码结果以及模式属性信息,确定模式决策信息中的残差状态信息。

其中,根据第一预测编码结果、第二预测编码结果以及模式属性信息,确定模式决策信息中的残差状态信息,包括:

当第i种编码模式和第j种编码模式均需要传输残差时,对第一预测编码结果与编码单元之间的差值进行量化处理,得到第一待传输残差,对第二预测编码结果与编码单元之间的差值进行量化处理,得到第二待传输残差;

根据第i种编码模式的率失真优化方式,对第一待传输残差进行残差重建,得到模式决策信息中,第i种编码模式的残差重建结果为重建残差可得结果;

根据第j种编码模式的率失真优化方式,对第二待传输残差进行残差重建,得到模式决策信息中,第j种编码模式的残差重建结果为重建残差不可得结果。

其中,根据模式决策信息对编码单元,执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价,包括:

获取编码单元在第i种编码模式中的重建残差,根据第一预测编码结果与重建残差,确定编码单元对应的候选编码单元;

采用去块滤波对候选编码单元进行滤波处理,得到重建编码单元,根据第i种编码模式的率失真优化方式,确定重建编码单元对应的第一失真和第一码率,将第一失真和第一码率确定为第i种编码模式的率失真代价;

根据第j种编码模式的率失真优化方式,确定第二待传输残差对应的估计值,以及第二预测编码结果对应的第二失真和第二码率,将估计值、第二失真以及第二码率确定为第j种编码模式的率失真代价。

其中,该方法还包括:

当第i种编码模式不传输残差时,将第一预测编码结果确定为编码单元对应的候选编码单元。

其中,该方法还包括:

从第i种编码模式和第j种编码模式中,获取最小的率失真代价所对应的编码模式,作为最优编码模式;

根据最优编码模式对编码单元进行编码处理,得到编码单元对应的编码结果。

其中,获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式之前,该方法还包括:

获取编码单元所在视频帧图像的帧参考状态;

当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式的步骤。

其中,该方法还包括:

获取编码单元对应的单元参考状态;

当单元参考状态为非参考块状态时,确定编码单元对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

当单元参考状态为参考块状态时,执行根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息步骤。

本申请实施例一方面提供了一种多媒体数据编码装置,包括:

获取模块,用于获取多媒体数据中的编码单元对应的模式决策信息,模式决策信息包括模式属性信息和残差状态信息;当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

处理模块,用于按照模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理。

其中,残差状态信息包括第i种编码模式的残差传输状态;

当第i种编码模式的残差传输状态为第一状态时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第一状态用于表征第i种编码模式在编码处理中不传输残差。

其中,残差状态信息包括第i种编码模式的残差重建结果;

当第i种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差可得结果时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第二状态用于表征第i种编码模式在编码处理中需要传输残差。

其中,残差状态信息包括第j种编码模式的残差传输状态和残差重建结果;

当第j种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差不可得结果时,残差状态信息用于指示第j种编码模式在率失真优化中不使用去块滤波;第二状态用于表征第j种编码模式在编码处理中需要传输残差。

其中,在获取多媒体数据中的编码单元对应的模式决策信息之前,该获取模块还用于:

获取编码单元所在视频帧图像的帧参考状态;

当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的模式决策信息的步骤。

本申请实施例一方面提供了一种多媒体数据编码方法,包括:

模式获取模块,用于获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式,i和j均为正整数;

信息生成模块,用于根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息;模式决策信息包括模式属性信息和残差状态信息,当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

优化处理模块,用于根据模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价。

其中,多媒体数据包括视频帧图像;

该装置还包括:

分配信息获取模块,用于获取视频帧图像以及视频帧图像对应的单元分配信息;

划分模块,用于根据单元分配信息对视频帧图像进行划分,得到至少两个编码区域;

选择模块,用于从至少两个编码区域中选择任一编码区域作为编码单元。

其中,残差状态信息包括残差重建结果,残差重建结果包括重建残差可得结果和重建残差不可得结果;重建残差可得结果用于指示第i种编码模式需要传输残差时,在率失真优化中使用去块滤波,重建残差不可得结果用于指示第j种编码模式需要传输残差时,在率失真优化中不使用去块滤波。

其中,信息生成模块包括:

添加单元,用于获取第i种编码模式和第j种编码模式分别对应的模式描述信息和率失真优化方式,将模式描述信息和率失真优化方式添加至模式决策信息的模式属性信息中;

预测结果生成单元,用于根据第i种编码模式生成编码单元的第一预测编码结果,根据第j种编码模式生成编码单元的第二预测编码结果;

状态信息确定单元,用于根据第一预测编码结果、第二预测编码结果以及模式属性信息,确定模式决策信息中的残差状态信息。

其中,状态信息确定单元包括:

量化处理子单元,用于当第i种编码模式和第j种编码模式均需要传输残差时,对第一预测编码结果与编码单元之间的差值进行量化处理,得到第一待传输残差,对第二预测编码结果与编码单元之间的差值进行量化处理,得到第二待传输残差;

残差重建子单元,用于根据第i种编码模式的率失真优化方式,对第一待传输残差进行残差重建,得到模式决策信息中,第i种编码模式的残差重建结果为重建残差可得结果;

该残差重建子单元,还用于根据第j种编码模式的率失真优化方式,对第二待传输残差进行残差重建,得到模式决策信息中,第j种编码模式的残差重建结果为重建残差不可得结果。

其中,优化处理模块包括:

单元重建单元,用于获取编码单元在第i种编码模式中的重建残差,根据第一预测编码结果与重建残差,确定编码单元对应的候选编码单元;

滤波单元,用于采用去块滤波对候选编码单元进行滤波处理,得到重建编码单元,根据第i种编码模式的率失真优化方式,确定重建编码单元对应的第一失真和第一码率,将第一失真和第一码率确定为第i种编码模式的率失真代价;

代价计算单元,用于根据第j种编码模式的率失真优化方式,确定第二待传输残差对应的估计值,以及第二预测编码结果对应的第二失真和第二码率,将估计值、第二失真以及第二码率确定为第j种编码模式的率失真代价。

其中,该装置还包括:

单元重建模块,用于当第i种编码模式不传输残差时,将第一预测编码结果确定为编码单元对应的候选编码单元。

其中,该装置还包括:

模式选择模块,用于从第i种编码模式和第j种编码模式中,获取最小的率失真代价所对应的编码模式,作为最优编码模式;

编码模块,用于根据最优编码模式对编码单元进行编码处理,得到编码单元对应的编码结果。

其中,该装置还包括:

帧参考状态获取模块,用于获取编码单元所在视频帧图像的帧参考状态;

第一状态判断模块,用于当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

第一状态判断模块,还用于当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式的步骤。

其中,该装置还包括:

单元参考状态获取模块,用于获取编码单元对应的单元参考状态;

状态判断模块,用于当单元参考状态为非参考块状态时,确定编码单元对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

该状态判断模块,还用于当单元参考状态为参考块状态时,执行根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息步骤。

本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。

本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的方法。

本申请实施例在多媒体数据的编码处理过程中,规定第一类型模式的编码模式(如不传输残差的模式,以及需要传输残差且重建残差可得的模式)可以在率失真优化中使用去块滤波,第二类型模式的编码模式(如需要传输残差且重建残差不可得的模式)在率失真优化中不使用去块滤波,即同一个多媒体数据的编码处理过程中,允许有些编码模式在率失真优化中使用去块滤波,有些编码模式在率失真优化中不使用去块滤波,这样的规定扩大了去块滤波在率失真优化中的适用范围,并在保证编码性能的条件下提升编码速度。

附图说明

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

图1是本申请实施例提供的一种编码系统的框架图;

图2是本申请实施例提供的一种多媒体数据编码场景示意图;

图3是本申请实施例提供的一种多媒体数据编码方法的流程示意图;

图4是本申请实施例提供的一种多媒体数据编码方法的流程示意图;

图5是本申请实施例提供的一种编码单元划分的示意图;

图6是本申请实施例提供的一种残差量化处理的示意图;

图7是本申请实施例提供的一种多媒体数据编码装置的结构示意图;

图8是本申请实施例提供的一种多媒体数据编码装置的结构示意图;

图9是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

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

云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑,技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算(cloudcomputing)来实现。

本申请实施例提供的多媒体数据编码方案涉及云技术中的云计算和云存储,本申请实施例中可以通过云计算对多媒体数据进行计算处理,通过云存储对编码处理后的多媒体数据进行数据存储。

其中,云计算是指it基础设施的交付和使用模式,可以通过网络以按需、易扩展的方式获得所需资源。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(gridcomputing)、分布式计算(distributedcomputing)、并行计算(parallelcomputing)、效用计算(utilitycomputing)、网络存储(networkstoragetechnologies)、虚拟化(virtualization)、负载均衡(loadbalance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。

云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。

目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,identity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。

存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundantarrayofindependentdisk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。

请参见图1,图1是本申请实施例提供的一种编码系统的框架图。如图1所示,该编码系统可以包括编码设备,编码设备可以是指多媒体数据的提供者所使用的计算机设备,该计算机设备可以是终端或服务器。其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。本申请中多媒体数据的多媒体数据编码过程包括编码设备端的多媒体数据编码过程。

在编码设备端的多媒体数据编码过程可以包括:多媒体数据内容的获取过程和多媒体数据的编码处理过程。下面将结合图1,对多媒体数据在编码设备端的多媒体数据编码过程中涉及的各处理流程进行详细介绍。

多媒体数据内容的获取过程。多媒体数据内容可以从网络资源中直接获取,该多媒体数据可以包括视频数据、音频数据、图像数据、文本数据等;或者多媒体数据可以通过捕获设备采集真实世界的声音-视觉场景所获得。其中,捕获设备可以是指编码设备中的硬件组件,如捕获设备可以是指终端设备中的麦克风、摄像头以及传感器等;捕获设备也可以是指与编码设备具有通信连接的硬件装置,可以用于为编码设备提供多媒体数据内容,该捕获设备可以包括音频设备、摄像设备以及传感设备等。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。捕获设备的数量可以为多个,这些捕获设备被部署在现实空间中的一些特定位置以同时捕获该空间内不同角度的多媒体数据内容。当多媒体数据内容包括视频内容和音频内容时,捕获设备所捕获的音频内容和视频内容在时间和空间上均保持同步,捕获设备所获取到的多媒体数据内容为多媒体数据的原始数据。

多媒体数据的编码处理过程。捕获设备捕获到音频内容时,可以对音频内容进行预处理(如去噪处理),将预处理后的音频内容直接进行音频编码处理形成多媒体数据的音频码流。捕获设备捕获到视频内容时,在视频内容的编码过程中,需要对视频内容进行分帧处理,将视频内容划分为多个视频帧图像,视频内容对应的多个视频帧图像之间具有极强的相关性,也就是说存在冗余信息,编码设备可以用于去除视频数据中的冗余信息。通常地,视频内容的冗余信息可以包括空间冗余(spatialredundancy)、时间冗余(timeredundancy)以及信息熵冗余(entropyredundancy,也称为编码冗余)等。其中,空间冗余是由于视频帧图像中控件连贯性影响,使得图像中某区域的光强度、色彩、饱和度非常相近从而产生的冗余;时间冗余是视频相邻视频帧图像包含相同或类似的背景和运动物体,只是运动物体的位置略有不同,这种相邻帧间的数据有高度的相关性称为时间冗余;信息熵冗余是实际视频帧图像数据的每个像素采用相同的比特数来表示,而不是按照其信息熵来分配比特数,从而产生的冗余。

编码设备对视频帧图像可以按照预测(可以包括帧间预测和帧内预测)、变换、量化、熵编码以及环路滤波执行编码过程。预测可以是指不直接对信号(即需要进行编码的对象,如视频帧图像或者编码图像块(也可以称为编码单元)等)进行编码,而是用前一个信号对当前信号进行预测,对当前信号与预测值的差值进行编码传输;帧内预测是指由相邻像素预测当前像素区域单元的像素值,可以有效去除像素区域单元之间的冗余,即可以去除视频内容中的空间冗余;帧间预测是指相邻视频帧图像的场景存在一定的相关性,利用已编码的视频帧图像和基于图像块的运动补偿的预测模式,运动补偿是指根据求出的运动矢量,找到当前视频帧图像的图像块是从前一个视频帧图像的哪个位置移动过来的,从而得到当前视频帧图像中图像块的预测值。

变换是指对视频帧图像进行正交变换以去除空间像素之间的相关性,正交变换使得原先分布在每个像素上的能量集中到频域的少数几个低频系数上,这代表了图像的大部分信息。频率系数的这种特性有利于采用基于人的hvs(人眼视觉特性)特性进行量化的方法。其中,变换方式可以包括但不限于:k-l变换(karhunen-loevetransform)、离散余弦变换(discretecosinetransform,dct)、离散小波变换(discretewavelettransformation,dwt)。

量化是指降低数据表示精度的过程,通过量化可以减少需要编码的数据量,量化是一种有损压缩技术。量化可以包括矢量量化和标量量化,矢量量化是对一组数据联合量化,标量量化独立量化每一个输入数据。

熵编码是指利用信源的信息熵进行码率压缩的方式,能够去除经预测和变换后仍然存在的统计冗余信息;熵编码可以提高视频压缩比,且该熵编码属于无损压缩,因此通过熵编码压缩后的视频信息可以在解码端无失真的重建出原始视频图像。常用的熵编码方法可以包括变长编码和算术编码。其中,变长编码基本思想是为出现概率大的符号分配短码字,出现概率小的分配长码字。算术编码采用一个浮点数来代替一串输入符号,算术编码技术输入符号的联合概率,将输入符号序列映射为实数轴上一个小区间,区间的宽度等于该序列的概率值,之后在这个区间选择一个有效的二级制小数作为整个符号序列的编码字。

环路滤波可以是指对重建图像进行滤波,滤波后的重建图像可以作为后续视频帧图像的参考图像。环路滤波可以减轻和消除重建图像中的块效应,即对图像块边界处的像素进行滤波,以平滑像素值的突变,环路滤波也可以称为去块滤波(deblockingfilter)。

视频帧图像在进行了预测、变换以及量化等一系列操作之后,可以得到压缩之后的图像数据,进而可以对压缩后的图像数据进行反量化、反变换等操作构建原始的视频帧图像,重新构建的视频帧图像可以称为重建图像。通过该重建图像还可以计算编码设备中各种编码模式的压缩质量。

当编码设备对视频帧图像进行变换以及量化之后,可以获得量化后的变换系数;在对视频帧图像进行预测之后,可以得到该视频帧图像对应的运动数据,编码设备通过对量化后的变换系数和运动数据进行熵编码,得到视频帧图像对应的编码结果,进而获得多媒体数据内容的编码文件。编码设备可以通过传输协议将编码文件传输至解码设备,以使解码设备可以编码文件进行解码,并对解码后的多媒体数据进行展示,这里的传输协议可以包括但不限于:dash(dynamicadaptivestreamingoverhttp,动态自适应流媒体传输)协议、hls(httplivestreaming,动态码率自适应传输)协议、smtp(smartmediatransportprotocaol,智能媒体传输协议)、tcp(transmissioncontrolprotocol,传输控制协议)等。

依据现有视频编码标准(如avs3(audiovideocodingstandard3,信源编码标准3))均采用了基于块的多模式编码框架,该多模式是指当前编码单元(也可以称为编码块,或者图像块)的编码有多种策略,根据视频内容及场景的变化,选择最佳的编码策略进行编码,如亮度突变情况下可以使用帧内预测编码,相邻视频帧图像十分相似时,可以直接将前一个视频帧图像的编码结果作为当前视频帧图像的编码结果,可以提高编码效率,上述描述即为不同的编码模式。在现有的视频编码框架中可以定义一套准则来确定最佳编码模式,进而可以发挥多模式编码的优越性。多模式编码框架中确定最佳编码模式问题可以描述为一个条件极小值的求解问题,即在限定码率时,从多种编码模式中选择失真最小的编码模式,上述求解问题也可以称为率失真优化处理过程,可以将率失真代价最小的模式确定为最佳编码模式。

在现有视频编码标准中,在计算率失真代价的过程中可以同时考虑去块滤波的影响,即计算的失真是指经过去块滤波的重建编码块失真,可以提高率失真代价的准确性。然而,对于多模式编码框架中需要传输残差的模式,在计算率失真代价时需要重建出真实的残差后才能使用去块滤波,若在计算率失真代价时跳过了残差的重建过程,采用估计方法计算率失真代价,则编码设备会在视频帧图像的模式决策过程中关闭去块滤波功能,即当前视频帧图像的模式决策过程中,在计算多种编码模式分别对应的率失真代价时,均不能使用去块滤波,影响了多模式框架中的一些模式的率失真代价,如可以重建残差的模式,或者不需要传输残差的模式等,其中,模式决策过程可以理解为根据每种编码模式分别对应的率失真代价,选择最优编码模式的过程。基于此,本申请实施例提出一种多媒体数据编码方案,该方案针对现有编码标准的模式决策过程中去块滤波使用条件做出了改进:规定不传输残差的编码模式,以及需要传输残差且重建残差可得的编码模式,在计算率失真代价时可以使用去块滤波,需要传输残差且重建残差不可得的编码模式,在计算率失真代价时不使用去块滤波。可以扩大去块滤波在率失真优化处理中的适用范围。

通过率失真代价从多模式中选出最佳编码模式之后,可以使用该最佳编码模式对编码单元进行编码,得到编码结果,并将编码结果传输至其余设备(如解码设备),在其余设备对编码结果进行解码之后,可以得到更高质量的视频数据。

在日常生活中,编码设备具有广泛的应用,请一并参见图2,图2是本申请实施例提供的一种多媒体数据编码场景示意图,以监控系统为例,对编码设备的使用场景进行举例说明。如图2所示,监控系统可以包括被监控场所(如房间1、房间2、……、房间n)、监控管理后台20j以及接收设备(如房间a中的设备20q、房间b中的设备20t以及房间c中的设备20w等)。每个被监控场所均存在设备通过通信总线20k和交换机20m与外部的接收设备进行连接。当然,接收设备所在内部网络中还可以包括交换机和通信总线,如接收设备20q可以通过内部网络中的交换机20n和通信总线20p接收被监控场所的监控数据,接收设备20t可以通过内部网络中的交换机20r和通信总线20s接收被监控场所的监控数据,接收设备20w可以通过内部网络中的交换机20u和通信总线20v接收被监控场所的监控数据等。

其中,被监控场所可以包括采集设备和编码设备等,采集设备可以包括视频采集设备(如摄像头、拾音设备等),编码设备可以是指视频编码器等。例如,房间1中包括用户20a、摄像头20b以及视频编码器20c,房间2中包括用户20d、摄像头20e以及视频编码器20f,房间n中包括用户20g、摄像头20h以及视频编码器20i。每个房间中的摄像头均可以采集相应房间中用户视频画面和声音,并将采集到的视频画面和声音传输至房间中的视频编码器,通过编码器对摄像头所采集的音频内容和视频内容进行压缩编码,每个房间中视频编码器均可以通过内部网络,将压缩编码后的结果传输至监控管理后台20j,由监控管理后台20j对视频编码器所传输的压缩编码数据进行录制保存。

将视频编码器所得到的压缩编码数据分发到网络中,每个接入网络的接收设备均可以接收压缩编码数据,并通过接收设备中的解码组件对压缩编码数据进行解码,在接收设备中展示解码之后的用户画面和声音。需要说明的是,每个接收设备均可以具有解码组件或者解码软件等,可以对所接收到的压缩编码数据进行解码;被监控场所中的摄像头可以实时采集房间中的用户视频画面和声音,并传输至视频编码器,视频编码器可以对所接收到的视频画面和声音进行实时压缩编码,以使接收设备可以实时展示被监控场合中的真实场景。基于本申请实施例所提供的多媒体数据编码方案,可以增强接收设备中的视频展示质量。

请参见图3,图3是本申请实施例提供的一种多媒体数据编码方法的流程示意图。如图3所示,该多媒体数据编码方法可以包括以下步骤:

步骤s101,获取多媒体数据中的编码单元对应的模式决策信息,模式决策信息包括模式属性信息和残差状态信息;当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数。

具体的,多媒体数据可以包括音频数据、视频数据以及图像数据等,编码单元可以是指基于多模式编码框架中的分割方式,对多媒体数据进行划分所获得的多个区域单元中的任一区域单元,每个区域单元均可以进行独立编码。其中,当多媒体数据为视频数据时,视频数据的编码处理过程实质上是对图像数据的编码处理过程,即对视频数据进行分帧处理,得到多帧视频帧图像,对每个视频帧图像进行分割,进而得到每个视频帧图像分割而成的多个编码单元,依次对每个视频帧图像进行编码处理,进而实现视频数据的编码处理过程;当多媒体数据为图像数据时,编码单元可以为图像数据分割得到的编码区域;当多媒体数据为音频数据时,编码单元可以为音频数据中的一段音频序列,或者音频数据的完整音频序列。需要说明的是,多媒体数据可以包括多个编码单元,每个编码单元之间是相互独立的,且不同编码单元的尺寸可以相同,也可以不相同。

其中,在多模式编码框架中,每个编码单元均可以使用多种编码模式进行编码处理,在模式决策过程中可以根据该编码单元的模式决策信息来确定最优编码模式,该最优编码模式可以为编码单元最终用于传输数据的编码模式。模式决策信息可以包括模式属性信息和残差状态信息,该模式属性信息可以用于描述编码模式的属性,如模式名称以及该编码模式使用的率失真代价计算方式等信息,残差状态信息可以用于描述编码模式中残差的作用,如编码模式是否需要传输残差,或者在该编码模式中重建编码单元时是否可以重建残差等。

其中,编码单元对应的多种编码模式可以根据模式属性信息划分为第一类型模式和第二类型模式,当模式属性信息指示多种编码模式中的第i种编码模式属于第一类型模式时,此时的残差状态信息指示第i种编码模式在率失真优化中使用去块滤波;当模式属性信息指示多种编码模式中的第j种编码模式属于第二类型模式时,此时的残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波。换言之,当第i种编码模式属于第一类型模式时,计算第i种编码模式对应的率失真代价时需要考虑去块滤波带来的影响,可以提升第i种编码模式对编码单元的编码性能;当第j种编码模式属于第二类型模式时,计算第j种编码模式对应的率失真代价时无需使用去块滤波,可以降低第j种编码模式的编码时间复杂度。

可选的,残差状态信息可以包括残差传输状态,该残差传输状态包括第一状态和第二状态,第一状态用于表示编码模式在编码处理中不需要传输残差,第二状态用于表征编码模式在编码处理中需要传输残差。当第i种编码模式的残差传输状态为第一状态时,该残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;当第i种编码模式的残差传输状态为第二状态时,需要进一步确定第i种编码模式的残差重建结果。

可选的,残差状态信息可以包括残差重建结果,该残差重建结果可以包括重建残差可得结果和重建残差不可得结果,重建残差可得结果是指在重建编码单元时可以得到真实的重建残差,重建残差不可得结果是指在重建编码单元时无法得到真实的重建残差,仅能对估计重建残差的码率和失真。当第i种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差可得结果时,该残差状态信息用于指示第i种编码模式在率失真优化中可以使用去块滤波;当第j种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差不可得结果时,该残差状态信息用于指示第j种编码模式在率失真优化中不可以使用去块滤波。

可选的,在获取编码单元的模式决策信息之前,可以先获取该编码单元所在视频帧图像的帧参考状态,当帧参考状态为非参考帧状态时,可以确定该视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;当帧参考状态为参考帧状态时,可以获取各编码模式分别对应的模式决策信息中的残差状态信息。换言之,当视频帧图像在后续编码过程中不会作为参考帧时,由于不会产生重建的视频帧图像,因此该视频帧图像的编码单元在模式决策过程中均不会使用去块滤波,即所有编码模式在计算率失真代价时均不使用去块滤波;当视频帧图像在后续编码过程中会作为参考帧时,可以进一步确认各编码模式的残差状态信息和模式属性信息,根据残差状态信息和模式属性信息来确定是否在计算率失真代价时使用去块滤波,去块滤波的具体使用详情条件请参见前述描述。

步骤s102,按照模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理。

具体的,率失真优化处理过程可以是指计算率失真代价的过程,率失真优化处理是指在码率限制下,减少多媒体数据的失真,或者在允许一定的失真时,将多媒体数据压缩到最小。换言之,率失真优化处理过程可以描述为码率和失真之间的平衡问题,哪种编码模式对应的率失真代价最小,该种编码模式就可以作为编码单元的最佳编码模式。

可选的,当第i种编码模式残差传输状态为第一状态时,此时第i种编码模式的预测编码模式可以作为重建后的编码单元,通过对预测编码结果进行去块滤波,进而在去块滤波后的预测编码结果基础上,计算第i种编码模式的率失真代价。

可选的,当第i种编码模式残差传输状态为第二状态,且残差重建结果为重建残差可得结果时,此时第i种编码模式的预测编码模式和重建残差之和,可以作为重建后的编码单元,通过对重建后的编码单元进行去块滤波,进而计算第i种编码模式的率失真代价。

可选的,当第j种编码模式残差传输状态为第二状态,且残差重建结果为重建残差不可得结果时,此时无法得到第j种编码模式下真实的重建后的编码单元,快速估计率失真代价的方式计算第j种编码模式的率失真代价。

本申请实施例中,在多媒体数据的编码处理过程中规定第一类型模式的编码模式(如不传输残差的模式,以及需要传输残差且重建残差可得的模式)可以在率失真优化中使用去块滤波,第二类型模式的编码模式(如需要传输残差且重建残差不可得的模式)在率失真优化中不使用去块滤波,即同一个多媒体数据的编码处理过程中,允许有些编码模式在率失真优化中使用去块滤波,有些编码模式在率失真优化中不使用去块滤波,这样的规定扩大了去块滤波在率失真优化中的适用范围,并在保证编码性能的条件下提升编码速度。

请参见图4,图4是本申请实施例提供的一种多媒体数据编码方法的流程示意图。如图4所示,该多媒体数据编码方法可以包括以下步骤:

步骤s201,获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式,i和j均为正整数。

具体的,在执行步骤s201之前,计算机设备可以获取多媒体数据,并从多媒体数据中确定编码单元。下面以多媒体数据为视频数据为例,对编码单元的编码过程进行详细说明。计算机设备可以从网络上直接下载视频数据,或者通过摄像头采集现实场景中的视频数据,并对视频数据提取为多个视频帧图像,即生成一个视频序列;计算机设备可以从按照视频数据的时间顺序,视频序列中获取视频帧图像,并获取该视频帧图像对应的单元分配信息,根据单元分配信息对该视频帧图像进行划分,得到至少两个编码区域,将至少两个编码区域中的任一编码区域确定为编码单元。其中,单元分配信息可以包括但不限于:通过神经网络获得的区域划分信息,通过二叉树获得的区域划分信息,通过三叉树获得的区域划分信息,通过四叉树获得的区域划分信息,通过六叉树获得的区域划分信息。

请一并参见图5,图5是本申请实施例提供的一种编码单元划分的示意图。以四叉树为例,对视频帧图像的编码单元划分过程进行说明,如图5所示,计算机设备获取视频帧图像30a,根据四叉树对视频帧图像30a进行第一次划分,将视频帧图像划分为四个区域,分别为区域1、区域2、区域3以及区域4,计算机设备获取各区域所覆盖的像素值中的最小像素值和最大像素值,将最大像素值和最小像素值之间的差值与阈值(该阈值是指编码单元划分之前预先设置的值)进行比较,当最大像素值和最小像素值之间的差值大于阈值时,还需要对该区域进行划分;当最大像素值和最小像素值之间的差值小于阈值时,不需要对该区域进行划分。

当区域1和区域4中最大像素值与最小像素值之间的差值均大于阈值时,可以对区域1和区域4分别进行第二次划分,将区域1划分为4个区域,分别为区域5、区域6、区域7以及区域8,将区域4划分为4个区域,分别为区域9、区域10、区域11以及区域12,此时的视频帧图像30a被划分为10个区域,分别为:区域2、区域3、区域5、区域6、区域7、区域8、区域9、区域10、区域11以及区域12。

再一次比较各区域中最大像素值和最小像素值之间的差值与阈值的大小关系,直至视频帧图像30a划分之后的每个区域中最大像素值和最小像素值之间的差值小于阈值,如图5所示,最终可以将视频帧图像30a划分为:区域2、区域3、区域5、区域7、区域8、区域9、区域10、区域11、区域13、区域14、区域15、区域16、区域17、区域18、区域19、区域20。上述16个区域均需要进行编码,每个区域均可以确定为编码单元。

计算机设备从视频帧图像对应的至少两个编码区域中确定出当前编码单元(即将进行编码处理的区域)后,可以从编码器中获取该编码单元对应的至少两种编码模式,至少两个编码模式中可以包括第i种编码模式和第j种编码模式,其中,i和j均为正整数。需要说明的是,视频帧图像中的每个编码单元,均可以使用至少两种编码模式中每一种编码模式对其进行编码处理。本申请实施例中,第i种编码模式和第j种编码模式用于表示至少两种编码模式中属于不同类型的模式,以上述两种编码模式为例,对编码单元的编码处理过程进行具体说明,并不限定仅使用上述两种编码模式对编码单元进行编码处理,下述不再说明。

步骤s202,根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息;模式决策信息包括模式属性信息和残差状态信息,当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数。

具体的,计算机设备可以使用第i种编码模式和第j种编码模式分别对编码单元进行编码处理,生成编码单元在每种模式下所对应的模式决策信息。其中,模式决策信息可以包括模式属性信息和残差状态信息,该模式属性信息可以用于描述编码模式的属性,如模式描述信息以及该编码模式所使用的率失真优化方式等信息;残差状态信息可以用于描述编码模式中残差的作用,残差状态信息可以包括残差重建结果;该残差重建结果可以包括重建残差可得结果和重建残差不可得结果,重建残差可得结果是指在在重建编码单元时可以得到真实的重建残差,重建残差不可得结果是指在重建编码单元时跳过了残差的重建过程,无法得到真实的重建残差;重建残差可得结果可以用于指示第i种编码模式需要传输残差时,在率失真优化中使用去块滤波;重建残差不可得结果可以用于指示第j种编码模式需要传输残差时,在率失真优化中不可以使用去块滤波。

其中,计算机设备可以获取第i种编码模式和第j种编码模式分别对应的模式描述信息和率失真优化方式,将模式描述信息和率失真优化方式添加至模式决策信息的模式属性信息中,进而可以根据第i种编码模式生成编码单元的第一预测编码结果,根据第j种编码模式生成编码单元的第二预测编码结果;根据第一预测编码结果、第二预测编码结果以及模式属性信息,确定模式决策信息中的残差状态信息。以帧间预测为例,计算机设备可以从已编码的视频帧图像中选择与当前编码单元最相似的单元,作为当前编码单元的参考块,该参考块可以为一个,也可以为两个,根据参考块确定当前编码单元对应的预测编码结果,如对参考块进行加权后得到当前编码单元的预测编码结果,或者直接将参考块作为当前编码单元的预测编码结果,这与所采用的编码模式相关联。使用第i种编码模式对编码单元进行编码,可以得到该编码单元对应的第一预测编码结果,根据第j种编码模式对编码单元进行编码,可以得到该编码单元对应的第二预测编码结果,此处的第一预测编码结果和第二预测编码结果是使用不同编码模式所得到的结果,因此第一预测编码结果与第二预测编码结果可以是不相同的。计算机设备可以根据上述两种编码模式分别对应的预测编码结果,以及两种编码模式分别对应的模式属性信息,可以确定模式决策信息中的残差状态信息。

可选的,当第i种编码模式和第j种编码模式均需要传输残差时,计算机设备可以对第一预测编码结果与编码单元之间的差值进行量化处理,得到第一待传输残差,与此同时,还可以对第二预测编码结果与编码单元之间的差值进行量化处理,得到第二待传输残差,其中,量化的目的是为了减少码率,达到数据压缩的目的;进而可以根据第i种编码模式的率失真优化方式,对第一待传输残差进行残差重建,得到模式决策信息中第i种编码模式的残差重建结果为重建残差可得结果;同理,可以根据第j种编码模式的率失真优化方式,对第二待传输残差进行残差重建,得到模式决策信息中第j种编码模式的残差重建结果为重建残差不可得结果,即第j种编码模式中跳过了残差重建过程,不能重建残差。可以理解的是,对于需要传输残差的编码模式,在根据参考块获得预测编码结果之后,可以计算出残差,即编码单元与预测编码结果之间的差值,并可以对残差进行变换、量化等操作,在重建编码单元的过程中,需要对变换、量化之后的残差进行反量化、反变换处理,得到重建残差,将获得的重建残差和预测编码结果相加,得到编码单元对应的重建编码单元,此时的残差重建结果为重建残差可得结果,如第i种编码模式;在重建编码单元的过程中,若跳过了残差重建的操作,即没有得到重建残差,则此时的残差重建结果为重建残差不可得结果,如第j种编码模式。

请一并参见图6,图6是本申请实施例提供的一种残差量化处理的示意图。如图6所示,当第i种编码模式需要传输残差,在编码过程中计算得到编码单元与第一预测编码结果之间的残差如图像块40a所示,该图像块40a的大小为4*4,该图像块40a中的数字表示每个像素的亮度值,从图6中可以看出,图像块40a中的各个像素亮度值比较均匀,尤其是相邻像素亮度值变化不是很大,表示图像块40a具有很强的相关性。计算机设备可以对图像块40a进行变换(如dct变换),变换后的结果如图像块40b所示,图像块40b中数字表示图像块40a进行变换后所得到的系数,图像块40b左上角的低频系数集中了大量能量,而右下角的高频系数上的能量较小。

经过变换后的图像块40b还需要进行量化,由于人的眼睛对图像的低频特性比(如物体的总体亮度之类的信息)很敏感,而对图像中的高频细节信息不敏感,因此在传送过程中可以少传或不传送高频信息,只传送低频部分。量化过程通过对低频区的系数进行细量化,高频区的系数进行粗量化,去除了人眼不敏感的高频信息,从而降低信息传送量,因此,量化是一个有损压缩的过程,是视频压缩编码中质量损伤的主要原因,但是可以大幅度降低码率。图像块40b量化后的结果如图像块40c(即上述第一待传输残差)所示,图像块40b中的系数在量化之后大部分均变为0,只有较少的一部分系数为非零值,后续可以只对图像块40c中的非零值进行压缩编码。

步骤s203,根据模式决策信息对编码单元,执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价。

具体的,计算机设备可以基于模式决策信息,分别计算每种编码模式分别对应的率失真代价。对于需要传输残差的第i种编码模式,计算机设备可以获取编码单元的重建残差,根据第一预测编码结果与重建残差确定编码单元对应的候选编码单元,进而可以采用去块滤波对候选编码单元进行滤波处理,得到重建编码单元,可以根据第i种编码模式的率失真优化方式,确定重建编码单元对应的第一失真和第一码率,将第一失真和第一码率确定为第i种编码模式的率失真代价;可选的,对于不需要传输残差的第i种编码模式,可以直接将第一预测编码结果作为编码单元对应的候选编码单元。

对于第j种编码模式,计算机设备可以根据第j种编码模式的率失真优化方式,确定第二待传输残差对应的估计值,以及第二预测编码结果对应的第二失真和第二码率,将估计值、第二失真以及第二码率确定为第j种编码模式的率失真代价。需要说明的是,率失真代价的计算过程与现有编码器中所采用的计算过程相同,这里不再赘述。

计算机设备可以通过上述描述,得到至少两种编码模式(包括第i种编码模式和第j种编码模式)分别对应的率失真代价,从所有率失真代价中选择最小的率失真代价,将最小的率失真代价所对应的编码模式作为编码单元的最优编码模式,使用最优编码模式对编码单元进行预测、变换、量化、熵编码等一些列操作,得到编码单元的编码结果,可以将编码结果传输给解码设备。

可选的,在获取编码单元对应的第i种编码模式和第j种编码模式之前,计算机设备可以获取视频帧图像的帧参考状态,当视频帧图像在后续编码过程中不会作为参考帧(即帧参考状态为非参考帧状态)时,由于不会产生重建的视频帧图像,因此该视频帧图像的至少两个编码单元在模式决策过程中均不会使用去块滤波,即每个编码单元对应的各种编码模式,在计算率失真代价时均不使用去块滤波;当视频帧图像在后续编码过程中会作为参考帧(即帧参考状态为参考帧状态)时,计算机设备可以进一步获取的编码单元对应的各种编码模式,并根据每种编码模式分别对应的模式属性信息和残差状态信息,来确定是否在计算率失真代价时使用去块滤波,去块滤波的具体使用详情条件请参见前述描述。

可选的,当视频帧图像在后续编码处理过程中会作为参考帧时,计算机设备可以从视频帧图像对应的至少两个编码区域中确定当前需要进行编码的区域(即编码单元),并获取编码单元对应的单元参考状态,当单元参考状态为非参考块状态,即该编码单元在后续编码过程中不会作为参考块时,无需获取编码模式对应的残差状态信息,可以直接确定该编码单元对应的各种编码模式,在计算率失真代价时均不会使用去块滤波,进而可以降低编码处理中的编码时间复杂度。当单元参考状态为参考块状态,即该编码单元在后续编码过程中会作为参考块时,可以进一步获取每种编码模式分别对应的残差状态信息,并根据编码模式的残差状态信息来确定是否在计算率失真代价时使用去块滤波。

可选的,计算机设备可以同步获取编码单元的单元参考状态,以及每种编码单元分别对应的残差传输状态,当单元参考状态为参考块状态,或者第i种编码模式不需要传输残差时,确定第i种编码模式在计算率失真代价时可以使用去块滤波。当单元参考状态为参考块状态,且第i种编码模式需要传输残差时,则计算机设备需要进一步获取第i种编码模式的残差重建结果,来确定是否在计算率失真代价时使用去块滤波。

可选的,计算机设备首先可以获取第i种编码模式对应的残差传输状态(即是否需要传输残差),当第i种编码模式需要传输残差时,可以进一步获取编码单元的单元参考状态,若单元参考状态为参考块状态,则在第i种编码模式可以重建残差时,在率失真代价的计算过程中使用去块滤波,在第i种编码模式不能重建残差时,在率失真代价的计算过程中不使用去块滤波。若单元参考状态为非参考块状态,则在计算第i种编码模式的率失真代价时不使用去块滤波。当第i种编码模式不需要传输残差时,则在计算第i种编码模式的率失真代价时使用去块滤波。

本申请实施例中,在多媒体数据的编码处理过程中规定第一类型模式的编码模式(如不传输残差的模式,以及需要传输残差且重建残差可得的模式)可以在率失真优化中使用去块滤波,第二类型模式的编码模式(如需要传输残差且重建残差不可得的模式)在率失真优化中不使用去块滤波,即同一个多媒体数据的编码处理过程中,允许有些编码模式在率失真优化中使用去块滤波,有些编码模式在率失真优化中不使用去块滤波,这样的规定扩大了去块滤波在率失真优化中的适用范围,并在保证编码性能的条件下提升编码速度;对于不被参考的编码单元,所有的编码模式在率失真优化中均不使用去块滤波,可以降低编码时间复杂度。

请参见图7,图7是本申请实施例提供的一种多媒体数据编码装置的结构示意图,该多媒体数据编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该多媒体数据编码装置可以是计算机设备中用于执行编码处理的一个应用软件。如图7所示,该多媒体数据编码装置1可以包括:获取模块11,处理模块12;

获取模块11,用于获取多媒体数据中的编码单元对应的模式决策信息,模式决策信息包括模式属性信息和残差状态信息;当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

处理模块12,用于按照模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理。

其中,残差状态信息包括第i种编码模式的残差传输状态;

当第i种编码模式的残差传输状态为第一状态时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第一状态用于表征第i种编码模式在编码处理中不传输残差。

其中,残差状态信息包括第i种编码模式的残差重建结果;

当第i种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差可得结果时,残差状态信息用于指示第i种编码模式在率失真优化中使用去块滤波;第二状态用于表征第i种编码模式在编码处理中需要传输残差。

其中,残差状态信息包括第j种编码模式的残差传输状态和残差重建结果;

当第j种编码模式的残差传输状态为第二状态,且残差重建结果为重建残差不可得结果时,残差状态信息用于指示第j种编码模式在率失真优化中不使用去块滤波;第二状态用于表征第j种编码模式在编码处理中需要传输残差。

其中,获取模块11在执行获取多媒体数据中的编码单元对应的模式决策信息之前,还用于:

获取编码单元所在视频帧图像的帧参考状态;

当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的模式决策信息的步骤。

其中,获取模块11,处理模块12的具体功能实现方式可以参见上述图3所对应实施例中的步骤s101和步骤s102,这里不在进行赘述。

本申请实施例中,在多媒体数据的编码处理过程中规定第一类型模式的编码模式(如不传输残差的模式,以及需要传输残差且重建残差可得的模式)可以在率失真优化中使用去块滤波,第二类型模式的编码模式(如需要传输残差且重建残差不可得的模式)在率失真优化中不使用去块滤波,即同一个多媒体数据的编码处理过程中,允许有些编码模式在率失真优化中使用去块滤波,有些编码模式在率失真优化中不使用去块滤波,这样的规定扩大了去块滤波在率失真优化中的适用范围,并在保证编码性能的条件下提升编码速度。

请参见图8,图8是本申请实施例提供的一种多媒体数据编码装置的结构示意图。如图8所示,该多媒体数据编码装置2可以包括:模式获取模块201,信息生成模块202,优化处理模块203;

模式获取模块201,用于获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式,i和j均为正整数;

信息生成模块202,用于根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息;模式决策信息包括模式属性信息和残差状态信息,当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

优化处理模块203,用于根据模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价。

其中,模式获取模块201,信息生成模块202,优化处理模块203的具体功能实现方式可以参见上述图4所对应实施例中的步骤s201和步骤s203,这里不在进行赘述。

请一并参见图8,多媒体数据包括视频帧图像时,该多媒体数据编码装置2还可以包括:分配信息获取模块204,划分模块205,选择模块206;

分配信息获取模块204,用于获取视频帧图像以及视频帧图像对应的单元分配信息;

划分模块205,用于根据单元分配信息对视频帧图像进行划分,得到至少两个编码区域;

选择模块206,用于从至少两个编码区域中选择任一编码区域作为编码单元。

其中,分配信息获取模块204,划分模块205,选择模块206的具体功能实现方式可以参见上述图4所对应实施例中的步骤s201,这里不在进行赘述。

请一并参见图8,残差状态信息可以包括残差重建结果,残差重建结果可以包括重建残差可得结果和重建残差不可得结果;重建残差可得结果用于指示第i种编码模式需要传输残差时,在率失真优化中使用去块滤波,重建残差不可得结果用于指示第j种编码模式需要传输残差时,在率失真优化中不使用去块滤波。信息生成模块202可以包括:添加单元2021,预测结果生成单元2022,状态信息确定单元2023;

添加单元2021,用于获取第i种编码模式和第j种编码模式分别对应的模式描述信息和率失真优化方式,将模式描述信息和率失真优化方式添加至模式决策信息的模式属性信息中;

预测结果生成单元2022,用于根据第i种编码模式生成编码单元的第一预测编码结果,根据第j种编码模式生成编码单元的第二预测编码结果;

状态信息确定单元2023,用于根据第一预测编码结果、第二预测编码结果以及模式属性信息,确定模式决策信息中的残差状态信息。

其中,添加单元2021,预测结果生成单元2022,状态信息确定单元2023的具体功能实现方式可以参见上述图4所对应实施例中的步骤s202,这里不在进行赘述。

请一并参见图8,状态信息确定单元2023可以包括:量化处理子单元20231,残差重建子单元20232;

量化处理子单元20231,用于当第i种编码模式和第j种编码模式均需要传输残差时,对第一预测编码结果与编码单元之间的差值进行量化处理,得到第一待传输残差,对第二预测编码结果与编码单元之间的差值进行量化处理,得到第二待传输残差;

残差重建子单元20232,用于根据第i种编码模式的率失真优化方式,对第一待传输残差进行残差重建,得到模式决策信息中,第i种编码模式的残差重建结果为重建残差可得结果;

该残差重建子单元,还用于根据第j种编码模式的率失真优化方式,对第二待传输残差进行残差重建,得到模式决策信息中,第j种编码模式的残差重建结果为重建残差不可得结果。

其中,量化处理子单元20231,残差重建子单元20232的具体功能实现方式可以参见上述图4所对应实施例中的步骤s202,这里不在进行赘述。

请一并参见图8,优化处理模块203可以包括:单元重建单元2031,滤波单元1032,代价计算单元2033;

单元重建单元2031,用于获取编码单元在第i种编码模式中的重建残差,根据第一预测编码结果与重建残差,确定编码单元对应的候选编码单元;

滤波单元1032,用于采用去块滤波对候选编码单元进行滤波处理,得到重建编码单元,根据第i种编码模式的率失真优化方式,确定重建编码单元对应的第一失真和第一码率,将第一失真和第一码率确定为第i种编码模式的率失真代价;

代价计算单元2033,用于根据第j种编码模式的率失真优化方式,确定第二待传输残差对应的估计值,以及第二预测编码结果对应的第二失真和第二码率,将估计值、第二失真以及第二码率确定为第j种编码模式的率失真代价。

其中,单元重建单元2031,滤波单元1032,代价计算单元2033的具体功能实现方式可以参见上述图4所对应实施例中的步骤s202,这里不在进行赘述。

请一并参见图8,该多媒体数据编码装置2还可以包括:单元重建模块207,模式选择模块208,编码模块209,帧参考状态获取模块210,第一状态判断模块211,单元参考状态获取模块212,第二状态判断模块213;

单元重建模块207,用于当第i种编码模式不传输残差时,将第一预测编码结果确定为编码单元对应的候选编码单元。

模式选择模块208,用于从第i种编码模式和第j种编码模式中,获取最小的率失真代价所对应的编码模式,作为最优编码模式;

编码模块209,用于根据最优编码模式对编码单元进行编码处理,得到编码单元对应的编码结果。

帧参考状态获取模块210,用于获取编码单元所在视频帧图像的帧参考状态;

第一状态判断模块211,用于当帧参考状态为非参考帧状态时,确定视频帧图像对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

该第一状态判断模块211,还用于当帧参考状态为参考帧状态时,执行获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式的步骤。

单元参考状态获取模块212,用于获取编码单元对应的单元参考状态;

第二状态判断模块213,用于当单元参考状态为非参考块状态时,确定编码单元对应的第i种编码模式和第j种编码模式,在率失真优化中均不使用去块滤波;

该第二状态判断模块213,还用于当单元参考状态为参考块状态时,执行根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息步骤。

其中,单元重建模块207,模式选择模块208,编码模块209,参考状态获取模块210的具体功能实现方式可以参见上述图4所对应实施例中的步骤s203,这里不在进行赘述。

本申请实施例中,在多媒体数据的编码处理过程中规定第一类型模式的编码模式(如不传输残差的模式,以及需要传输残差且重建残差可得的模式)可以在率失真优化中使用去块滤波,第二类型模式的编码模式(如需要传输残差且重建残差不可得的模式)在率失真优化中不使用去块滤波,即同一个多媒体数据的编码处理过程中,允许有些编码模式在率失真优化中使用去块滤波,有些编码模式在率失真优化中不使用去块滤波,这样的规定扩大了去块滤波在率失真优化中的适用范围,并在保证编码性能的条件下提升编码速度;对于不被参考的编码单元,所有的编码模式在率失真优化中均不使用去块滤波,可以降低编码时间复杂度。

请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在如图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

获取多媒体数据中的编码单元对应的模式决策信息,模式决策信息包括模式属性信息和残差状态信息;当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

按照模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理。

或者,可以实现:

获取多媒体数据中的编码单元对应的第i种编码模式和第j种编码模式,i和j均为正整数;

根据第i种编码模式和第j种编码模式,生成编码单元对应的模式决策信息;模式决策信息包括模式属性信息和残差状态信息,当模式属性信息指示编码单元的第i种编码模式为第一类型模式时,残差状态信息指示第i种编码模式在率失真优化中使用去块滤波,i为正整数;当模式属性信息指示编码单元的第j种编码模式为第二类型模式时,残差状态信息指示第j种编码模式在率失真优化中不使用去块滤波,j为正整数;

根据模式决策信息,对编码单元执行第i种编码模式和第j种编码模式分别对应的率失真优化处理,得到第i种编码模式和第j种编码模式分别对应的率失真代价。

应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3所对应实施例中对多媒体数据编码方法的描述,也可执行前文图7所对应实施例中对多媒体数据编码装置1的描述,或者执行前文图8所对应实施例中对多媒体数据编码装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的多媒体数据编码装置1或者多媒体数据编码装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图4任一个所对应实施例中对多媒体数据编码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。

此外,需要说明的是:本申请实施例还提供了一中计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图4任一个所对应实施例中对多媒体数据编码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。

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

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

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