用于视频编解码的多个量化矩阵集合的方法与流程

文档序号:17487082发布日期:2019-04-20 06:54阅读:226来源:国知局
用于视频编解码的多个量化矩阵集合的方法与流程

本发明有关于视频编解码。更具体地,本发明涉及用于视频编解码的多个量化矩阵集合(multiplequantizationmatrixsets),以改善编解码性能。



背景技术:

视频数据需要大量存储空间来存储或需要宽带宽(widebandwidth)来传输。随着不断增长的高分辨率和更高的帧率,如果视频数据以未压缩的形式存储或传输,则存储或传输带宽要求将是巨大的。因此,通常使用视频编码技术以压缩格式来存储或传输视频数据。使用较新的视频压缩格式(例如h.264/avc和新兴的hevc(高效视频编码)标准)大大提高了编码效率。

图1示出了包含变换编码的示例性自适应帧间/帧内视频编解码系统。对于帧间预测,运动估计(motionestimation,me)/运动补偿(motioncompensation,mc)112用于基于来自其他图像的视频数据来提供预测数据。开关114选择帧内预测110或帧间预测数据,并且将选择的预测数据提供给加法器116以形成预测误差,也称为残差。接着通过变换(transform,t)118和随后的量化(quantization,q)120来处理预测误差。然后,变换和量化的残差由熵编码器122编码,以包括在对应于压缩视频数据的视频比特流中。当使用帧间预测模式时,也必须在编码器端重建参考图像。因此,通过逆量化(inversequantization,iq)124和逆变换(inversetransformation,it)126处理变换和量化的残差以恢复残差。然后在重建(rec)128处将残差添加回预测数据136以重建视频数据。重建的视频数据存储在参考图像缓冲器134中并用于预测其他帧。然而,在将视频数据存储到参考图像缓冲器134中之前,可以将环路滤波器130(例如,去块滤波器和/或样本自适应偏移sao)应用于重构的视频数据。

对于利用变换编码的编解码系统,量化矩阵(quantizationmatrix,qm)已被用作对底层视频数据(underlyingvideodata)施加主观质量测量(subjectivequalitymeasurement)的手段。具体地,量化矩阵用在视频编解码系统中,用于控制变换单元(transformunit,tu)中不同频率上的量化失真的分布。量化矩阵通常被设计为考虑人类视觉系统(humanvisualsystem,hvs)的对比敏感度函数(contrastsensitivityfunction,csf)。心理视觉实验(psychovisualexperiments)已经发现,对亮度的感知灵敏度随每度视角的空间变化周期(cycles/degree)的空间频率而变化,并且眼睛表现为带通滤波器,具有对向视角的约2至10每度视角的空间变化周期(cpd)的峰值响应,这取决于个别观看者和观看当时的环境条件。变换系数对应于视频数据块的频域表示。为了在空间频率上实现感知上均匀的量化,可以根据在其相关频率范围上的感知灵敏度,设计量化矩阵以对与变换系数相关的每个频率信道进行加权(weight)。可以采用相应的量化矩阵来对解码器处的去量化的变换系数(de-quantizedtransformcoefficient)进行逆加权(inverselyweight)。

量化矩阵已经用于各种高级视频编码标准中。例如,在h.265/hevc(高效视频编码)中,可以在序列参数集(sequenceparameterset,sps)中发信与缩放矩阵有关的信息,并在图像参数集(pictureparameterset,pps)中进一步更新。缩放矩阵(scalingmatrice)在本公开中也称为量化矩阵。对应于不同变换尺寸、颜色分量索引和编码单元(cu)预测模式,为变换单元定义不同的缩放矩阵。在h.265/hevc中规定了基于人类视觉系统模型的缩放矩阵的默认集合。公开了一种从相关的小尺寸(small-size)缩放矩阵导出大尺寸(large-size)缩放矩阵的方法。在所有现有的视频编码标准中,例如mpeg-2,h.264/mpegavc和h.265/mpeghevc,只有一组用于不同tu类型的发信的缩放矩阵可用于解码整个图像。

因此,期望开发技术以进一步改善与变换编码有关的编码性能。



技术实现要素:

本发明公开了一种用于处理视频数据的变换块的方法和装置,由视频编码器或视频解码器执行。确定多个量化矩阵集合,其中每个量化矩阵集合包括对应于不同块类型的一个或多个量化矩阵。对于对应于当前图像中的当前块的变换块,为变换块从多个量化矩阵集合确定选择的量化矩阵集合。使用来自于选择的量化矩阵集合的对应量化矩阵将量化处理或去量化处理应用于变换块。在一个实施例中,根据块尺寸、块形状、块颜色分量索引、块预测模式或其组合对块类型进行分类。

在一个实施例中,根据当前块的局部区域确定选择的量化矩阵集合。当前块的局部区域可以对应于一个图像、一个切片、一个ctu(编码树单元)或一个cu(编码单元)。可以由视频编码器发信指示当前块的局部区域的选择的量化矩阵集合的一个或多个语法元素。在解码器侧,从包括当前块的局部区域的压缩数据的视频比特流解码语法元素。可以从视频编码器向视频解码器发信与多个量化矩阵集合相关的信息,使得解码器可以从视频比特流导出量化矩阵集合。

此外,可以发信多个量化因子,以控制与多个量化矩阵集合的量化矩阵相关的量化步长。可以为不同的量化矩阵集合独立地确定多个量化因子的值。

为具有不同切片类型或位于不同时间层的块选择不同的量化矩阵集合。可以为对应于人类感兴趣的不同级别的图像的不同局部区域确定多个量化矩阵集合。在一个实施例中,为对应于远离图像中心的不同距离的图像的不同局部区域确定多个量化矩阵集合。在另一实施例中,为自然场景视频确定量化矩阵集合,以及为屏幕内容视频确定量化矩阵集合中的至少一个。

在一个实施例中,基于先前图像的量化设置导出量化矩阵集合。先前图像的量化设置可以对应于先前图像中的对应局部区域的量化矩阵集合或者为先前图像中的对应局部区域选择的量化因子。在另一示例中,先前图像的量化设置对应于指定当前块的亮度量化参数与当前块的量化参数预测值之间的差的绝对值的语法元素。可以在切片级中发信语法元素以指示是否基于先前图像的量化设置来启用量化矩阵集合的推导。可以从对应于当前块的先前图像中的同位像素的量化设置导出先前图像的量化设置。

附图说明

图1为包含变换编码的示例性自适应帧间/帧内视频编解码系统的示意图。

图2为根据本发明实施例的使用变换编码的示例性编解码系统的流程图,其中使用了多个量化矩阵集合。

图3为根据本发明实施例的使用变换编码的示例性编解码系统的流程图,其中基于先前图像的量化设置来确定量化矩阵集合。

具体实施方式

以下描述为本发明的较佳实施例。以下实施例仅用来举例阐释本发明的技术特征,并非用以限定本发明。本发明的保护范围当视权利要求书所界定为准。

为了提高编码效率,公开了一种使用多个量化矩阵集合的编码方法。根据该方法,多个量化矩阵被分组为一量化矩阵集合。每个集合表示对应于不同变换块尺寸、形状、编码单元预测模式、颜色分量索引或其组合的量化矩阵的汇集(collection)。为方便起见,术语块类型(blocktype)用于指代本发明中的块尺寸、块形状、块(例如,编码单元)预测模式、块颜色分量索引或它们的任何组合。选择该量化矩阵集合用于量化局部图像区域中的变换块。根据该方法,使用多于一个量化矩阵集合。可以在比特流数据结构层级的不同层(例如编码视频序列(codedvideosequence,cvs)、图像和切片)中定义和启用多个量化矩阵集合。所提出的方法可以针对每个处理单元从启用的量化矩阵集合的列表中自适应地选择量化矩阵集合。然后,使用在选择的矩阵集合中定义的对应量化矩阵来量化来自变换单元的样本值。可以在高级(high-level)语法比特流部分(例如,序列参数集和/或图像参数集)中对与量化矩阵集合相关的信息进行编码。

表1和2提供了根据本发明一个实施例的用于表示量化缩放矩阵集合的示例性语法表。在表1中,语法元素scaling_list_enabled_flag指示在当前视频序列中是否采用量化缩放矩阵。语法元素sps_scaling_list_data_present_flag等于0指示缩放矩阵(量化矩阵)的数据由当前sps中的语法表scaling_list_data()来表示。否则,缩放矩阵的数据通过一些预定义的方法来导出。在表2中,语法元素num_scaling_matrix_sets_minus1加1表示当前sps中存在的缩放矩阵集合的数量。每个缩放矩阵由一些预定义的方法来表示或导出,如函数scaling_matrix_data()所示。可以通过pps和切片报头中指示的一些预定义的方法来进一步更新信息。

表1

表2

可以以切片、ctu或cu为单位来更新和发信缩放矩阵集合的选择。表3提供了用于从sps或pps中定义的启用的缩放矩阵集合的列表中选择缩放矩阵集合的示例性切片级(slice-level)语法表。在一个实施例中,所提出的方法包括用于编码i-切片的一个缩放矩阵集合和用于编码b-切片的多个缩放矩阵集合,b-切片对应于用于编码视频序列的不同时间层(differenttemporallayers)。可以在sps中发信缩放矩阵集合的汇集(collection)。可以在切片报头中发信用于对每个切片进行编码的选择的缩放矩阵集合的索引。以这种方式,编解码系统不需要进一步更新与用于编码来自不同时间层的图像的pps中的量化矩阵有关的信息。

表3

表4和5提供了根据另一实施例的示例性切片级和ctu级语法表,用于通过ctu基础(ctubasis)支持ctu上的量化矩阵的自适应选择。语法元素slice_num_scaling_matrix_sets_minus1加1指示将要在当前切片中启用的缩放矩阵集合的数量。语法元素slice_scaling_matrix_set_id[setid]将在sps或pps中定义的活动缩放矩阵集合(activescalingmatrixset)的列表的索引映射到切片索引setid。

表4

表5

所提出的方法还包括多个量化因子,用于控制与不同量化矩阵一起使用的量化器步长(stepsize)的粗糙度(coarseness)。在一个实施例中,针对每个量化矩阵发信或导出量化因子。在另一实施例中,针对每个量化矩阵集合发信或导出参考量化因子。可以利用可能具有一些其他信息的参考量化因子来导出该集合中的每个量化矩阵的量化因子。例如,可以将所有量化矩阵的量化因子设置为等于亮度分量的参考量化因子。类似地,对于色度分量,可以将所有量化矩阵的量化因子设置为等于从参考量化因子导出的值。

在另一个实施例中,可以发信或导出全局(global)参考量化因子。可以利用可能具有一些其他信息的全局参考量化因子来导出量化矩阵集合的参考量化因子。可以在不同的语法结构单元中发信和更新量化因子,例如sps,pps,切片报头,ctu和cu。表4提供了根据本发明实施例的用于导出量化因子的示例性切片级语法表。语法元素slice_qp_delta可用于导出当前切片中的全局参考量化因子。得到的全局参考量化因子和解码的语法元素slice_scaling_matrix_set_qp_delta用于导出每个量化矩阵集合的参考量化因子。可以根据一些预定义的方法导出量化矩阵集合中的每个量化矩阵的量化因子。当启用量化因子的局部自适应(localadaptation)时,可以根据相邻区域中的相关量化因子或与相同量化矩阵集合相关的最近编码区域来预测当前控制单元的量化因子。量化因子的局部自适应可以以cu,tu或其他本地图像结构为单位来应用。

根据geisler等人的一项研究(w.s.geislerandj.s.perry,“real-timefoveatedmultiresolutionsystemforlow-bandwidthvideocommunication,”spieproceedings,vol.3299,pp.294–305,1998.),发现对比灵敏度函数(contrastsensitivityfunction)更进一步与视网膜离心率(retinaleccentricity)相关,如下面的模型所示:

ct(f,e)=(1/ct0)exp(-αf((e+e_2)/e_2)),

其中f是空间频率(每度视角的空间变化周期(cyclesperdegree)),e是视网膜离心率(度),ct0是最小对比阈值,α是空间频率衰减常数,e_2是半分辨率(half-resolution)离心率。小凹成像(foveatedimaging)利用了这样的事实,即人类视觉系统的空间分辨率随着远离固定点(注视方向)而急剧减小。为了考虑这个因素,本发明的一个实施例使用多个量化矩阵集合,这些量化矩阵集合被设计用于编码对应于视网膜离心率的不同范围的图像区域。可以基于来自观看者的预期固定点(注视方向)为每个图像区域自适应地选择量化矩阵集合。

人类注视位置与视频场景中的感兴趣对象密切相关。为了利用这个因素,本发明的一个实施例使用多个量化矩阵集合,这些量化矩阵集合被设计用于编码对应于人类感兴趣的不同级别的图像区域。可以基于来自最终观看者的预期感兴趣级别为每个图像区域选择量化矩阵集合。

对于宽屏显示,当眼睛聚焦在中心区域时,人类视觉对远离显示中心区域的图像区域的敏感性低于中心区域。因此,在一个实施例中,多个量化矩阵集合用于与显示器的中心区域不同的区域。考虑到在目标观看条件下远离显示器的中心区域的不同区域的不同的失真敏感度,可以为每个图像区域选择量化矩阵集合。

由于hvs对高频内容不太敏感,因此为自然视频设计的传统量化矩阵倾向于量化具有相对大步长的高频系数。将要编码的视频数据可以对应于屏幕视频内容或其他混合视频内容,其可以具有与自然视频场景非常不同的特性。因此,所提出的编解码系统包括至少一个通常为自然视频内容设计的量化矩阵集合。该系统还包括至少一个量化矩阵集合,其被设计用于包含计算机生成的内容(例如文本和图形)的区域。所提出的方法可以以切片、ctu或cu为单位,根据内容类型自适应地选择量化矩阵集合。以这种方式,传统的量化矩阵集合将不会在具有图形和文本的局部区域中引入明显的伪影。

根据本发明的另一个实施例,从先前帧导出当前图像中的当前处理单元的量化设置。量化设置可以包括上面提到的量化矩阵或量化因子。例如,量化设置可以包括hevc中使用的语法元素cu_qp_delta_abs。根据该实施例,可以在切片级中添加语法元素。当它被启用时,切片中的编码单元的量化设置将从先前帧来导出。例如,量化设置可以从先前帧中的同位(co-located)像素导出。编码器可以首先发信帧的精细粒度(finegranularity)量化设置,然后发信切片级语法元素以指示后续帧将直接参考第一帧的量化设置,以便节省为量化设置而发送的数据。

图2示出了根据本发明实施例的使用变换编码的示例性编解码系统的流程图,其中使用了多个量化矩阵集合。在步骤210中,确定多个量化矩阵集合,其中每个量化矩阵集合包括对应于不同块类型的一个或多个量化矩阵。在编码器侧,编码器将导出量化矩阵集合,并且可能需要将量化矩阵集合的信息发信到解码器。在解码器侧,解码器可以从视频比特流确定量化矩阵集合。在步骤220中,接收与对应于当前图像中的当前块的变换块相关的输入数据。在编码器侧,输入数据可以对应于将要被量化和熵编码的变换块的变换系数。在解码器侧,输入数据可以对应于将要被去量化和逆变换的解码的量化变换系数。在步骤230中,为变换块从多个量化矩阵集合确定选择的量化矩阵集合。然后,在步骤240中,使用来自于选择的量化矩阵集合的对应量化矩阵,将量化处理或去量化处理应用于变换块。

图3示出了根据本发明实施例的使用变换编码的示例性编解码系统的流程图,其中基于先前图像的量化设置来确定量化矩阵集合。在步骤310中,基于先前图像的量化设置来确定量化矩阵集合,其中量化矩阵集合包括对应于不同块类型的一个或多个量化矩阵。在步骤320中,接收与对应于当前图像中的当前块的变换块相关的输入数据。在编码器侧,输入数据可以对应于将要被量化和熵编码的变换块的变换系数。在解码器侧,输入数据可以对应于将要被去量化和逆变换的解码的量化变换系数。然后,在步骤330中,使用来自于量化矩阵集合的对应量化矩阵,将量化处理或去量化处理应用于变换块。

所示的流程图旨在示出根据本发明的视频编码的示例。本领域的技术人员可以修改每个步骤、重新安排步骤的顺序、拆分步骤或者组合某些步骤来实现本发明,而不脱离本发明的精神。在本公开中,已经使用特定语法和语义来说明实现本发明实施例的示例。本领域技术人员可以通过用等同的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。

以上的描述是使本领域的技术人员在本文提供的特定应用和需求下能够实践本发明。本领域的技术人员将容易地观察到,在不脱离本发明的精神和范围内,可以进行多种修改和变动。因此,本发明并非限定在所示和描述的特定的实施例上,而本发明公开是为了符合原则和新颖性的最广泛的范围。在上述详细的描述中,各种具体的细节,用以提供对本发明的透彻的了解。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。

如上述所述的本发明的实施例,可以使用硬件、软件或其组合来实现。例如,本发明的一实施例可以是集成到视频压缩芯片中的电路或集成到视频压缩软件中的程序代码,以执行所描述的处理。本发明的实施例也可以是将在数字信号处理器上执行的程序代码来执行所描述的处理。本发明还涉及一系列的由计算机处理器、数字信号处理器、微处理器和现场可编程门阵列执行的功能。根据本发明,这些处理器可以被配置为执行特定任务,通过执行定义特定方法的计算机可读软件代码或固件代码来实现。软件代码或固件代码可以用不同的编程语言和不同的格式或样式来开发。软件代码也可以为不同的目标平台所编译。然而,软件代码的不同的代码格式、风格和语言,以及配置代码的其他方式以执行任务,均不脱离本发明之精神和范围。

本发明可以以其它具体形式实施而不背离其精神或本质特征。所描述的实施例在所有方面都仅是说明性的而不是限制性。本发明的范围因此由所附权利要求为准而不是由前面的描述所界定。因此,各种修改、改编以及所描述的实施例的各种特征的组合可以在不脱离本发明的范围如权利要求书中阐述的情况下实施。

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