视频编码中的色度量化的制作方法

文档序号:14023239阅读:120来源:国知局
本申请是申请号为201410438130.3、申请日为2014年8月29日、发明名称为“视频编码中的色度量化”的发明专利申请的分案申请。相关申请的交叉引用本申请要求在2013年9月9日提交的美国临时专利申请61/875664的权益。通过引用的方式将美国临时专利申请61/875664合并于此。
背景技术
::为了与诸如mpeg-2、mpeg-4第2部分、mpeg-4avc/h.264、vc1和vp8等以前的视频编码标准和技术相比提高视频编码效率,由itu和isompeg联合开发的下一代高效率视频编码(hevc/h.265)标准引入了几种新的视频编码工具。在第一版本中,该新的标准可使用三种明确定义的profile即main、main10和mainstillpictureprofile支持yuv4:2:08或10位材料的编码。但是,在支持高于10位的采样精度(位深)以及包含yuv4:2:0、yuv4:4:4和rgb4:4:4等的不同的颜色采样格式和颜色空间上,仍在取得进展。这些材料的编码主要考虑用于诸如电影院应用、捕获、视频编辑、存档和医疗成像等的几种专业应用中,但也用于诸如屏幕内容压缩和共享、远程计算和游戏等的几种消费者应用中。直到最近,现有的视频编解码器在编码图像的亮度分量时几乎总是被赋予更高的优先权。主要在诸如切片、编码树块、编码单元或者甚至hevc的变换块层级的较低层级的视频编码体系上提供控制亮度信息的编码特性和质量的编码参数。用于所有其它分量的控制和调谐参数主要在较高的层级上,诸如在sequence、pictureparameterset或与亮度控制参数的修改结合的slice层级上是可能的。例如,在mpeg-4avc中,亮度量化和相应的量化参数(qp)在宏块层级上通过信号发送的参数控制。在图片参数集合中提供各色度分量的单个偏移。各色度qp偏移在与各宏块内的亮度qp的关系中控制相应的色度分量的qp值。但是,该关系对于整个图片是固定的。如果希望改变亮度或色度区域的质量,那么,假定该非常紧密的关系,其它的分量也被影响。在hevc中,由于hevc允许对于各切片用信号发送的单独的色度量化偏移,因此也提供一些附加的控制。但是,使用多个切片对于一些应用可能不是所希望的或者不起作用,而提供的控制仍然有些粗糙。对于一些应用或内容,能够独立地控制一些颜色分量的质量在尝试提高总体质量、压缩比以及总体用户体验上会是相当重要的。例如,一些区域即使在颜色分量上也可由不同的质地特性或噪声特性表征,而与增强亮度中的相同信息相比或多或少地增强颜色边缘可能是重要的。并且,对于诸如视频显示共享和远程计算的4:4:4应用,可能希望在红色和蓝色分量的重要性以及因此希望的控制趋于比yuv域中的色度分量高的情况下编码rgb内容,因此。可能还希望编码作为诸如计算机图形或应用的合成内容与自然图像或视频的组合的混合视频内容。在该方案中,给定自然对合成内容的不同特性以及自然内容最初为上转换为用于显示到4:4:4的4:2:0图像的可能性,具有控制色度量化参数的能力可大幅度地潜在影响编码性能和主观质量。所需要的是与现有编解码器相比允许进一步控制色度量化参数的方法以及扩展其对于所有常见颜色格式(诸如yuv、rgv、ycocg或ycocg-r)、所有常见颜色采样方案(诸如4:2:0、4:2:2、4:4:4或4:4:4:4)以及各分量的各种位深的支持。这种方法应允许在不对颜色或采样格式施加任何限制的情况下以灵活得多的方式以信号发送和改变编码块内的色度qp偏移信息。技术实现要素:为了提供可更灵活地指定色度量化参数(qp)的视频编码系统,本发明的一些实施例提供用信号发送量化组特有的附加色度qp偏移值的方法。在一些实施例中,各量化组明确指定其自身的色度qp偏移值的集合。在一些实施例中,在图片或切片的标题(header)区域中指定色度qp偏移值的可能的集合的表,并且,各量化组使用指数以从表中选择用于其自身的色度qp偏移值的集合的条目。量化组层级色度qp偏移值然后被用于确定量化组内的像素的块或集合的色度qp值。在一些实施例中,与已在视频编码体系中的更高层级指定的块和色度qp偏移值的亮度qp结合使用量化组色度qp值。一些实施例关联色度qp偏移规范与包含一个或多个视频数据单元的量化组(qg)。在一些实施例中,各qg与色度qp偏移规范的其自身的集合关联,并且,在这些实施例中的一些中,与qg关联的色度qp偏移规范的集合在qg中的视频数据单元的编码结构内被编码或嵌入。为了进一步减少开销或位使用,一些实施例在更高层级中,例如在序列参数集合(sps)、图片参数集合(pps)或在当前切片标题中指定各分量的所有可用的偏移值或者两个分量的组合值。在这些实施例中的一些中,较高层级的句法标题(sps/pps/切片标题)以表格的形式列出不同的可能的偏移值,表中的每个条目被分配指数。然后,在编码单元/量化组层级上,一些实施例仅指定希望的量化偏移值的指数或多个指数。这些偏移可与在pps或切片标题上指定的偏移值无关,或者,相反,是对在pps或切片标题上指定的偏移值的添加。为了减小位流尺寸,一些实施例将表中的条目的数量限制到最大值。不同实施例中的编码器使用用于选择和分配量化组特有的附加色度qp偏移值的不同方法。一些实施例执行其中编码器执行区域层级分析的预分析步骤。一些实施例识别具有不同的视频内容类型的图像中的不同区域。在这些实施例中的一些中,具有不同类型的视频内容的不同区域被分配不同的色度qp偏移值,或者被分配到不同的量化组中。一些实施例区分图形内容与真实视频内容。一些实施例区分最初以4:4:4格式编码的4:4:4视频内容与从4:2:0格式上采样的4:4:4视频内容。一些实施例觉察最初可具有不同的位深的视频内容。除了其跨颜色分量以及速率控制信息的关系以外,视频内容的这些特性还被一些实施例使用以确定所有颜色分量之间的量化层级或量化关系。前面的
发明内容意在用作本发明的一些实施例的简要介绍。不意味着在本文件中公开的所有发明主题的介绍或概括。以下的具体实施方式和在具体实施方式中参照的附图将进一步描述在
发明内容中描述的实施例以及其它实施例。因此,为了理解由本文件描述的所有实施例,需要通览
发明内容、具体实施方式和附图。附图说明在所附的权利要求中阐述本发明的新颖特征。但是,出于解释的目的,在以下的图中阐述本发明的几个实施例。图1示出包含分别具有其自身的色度qp偏移规范的集合的色度量化组的分层视频编码结构100。图2a-c示出用于编码色度量化组的色度qp偏移值的集合的几种方法。图3示出指定色度量化组的定义的示例性图片标题或图片参数集合(pps)。图4示出可处于色度量化组中的示例性编码树单元。图5示出量化组内的附加的色度qp偏移的规范。图6示出使用用于指定两个色度分量的色度qp偏移值的不同方法的量化组内的附加色度qp偏移的规范。图7在概念上示出用于从允许附加的色度qp偏移规范的视频位流确定色度qp值的处理。图8示出包括较高层级标题上的可能的色度qp偏移值的表的分层视频编码结构。图9示出编码色度qp偏移的表的示例性图片标题或图片参数集合(pps)。图10示出预测性地编码色度qp偏移表的各条目的图片标题。图11示出可处于使用指数的量化组中以从图片标题中的表检索色度qp偏移值的示例性编码树单元。图12示出使用指数以选择色度qp偏移值的表中的条目的量化组。图13在概念上示出用于从使用可能的色度qp偏移值的表的视频位流确定色度qp值以实现附加的色度qp偏移规范的处理。图14示出包含对于指定附加色度qp偏移值的方法的选择的图片标题的伪代码。图15示出能够通过使用三种不同方法中的任一种指定量化组的色度qp偏移值的变换单元的伪代码的实现。图16示出图像的示例性的分段和分类。图17在概念上示出用于分析图像的不同区域并因此分配色度qp偏移的处理1700。图18示出一般的视频编码器。图19示出一般的视频解码器。图20在概念上示出实现本发明的一些实施例的电子系统。具体实施方式在以下的描述中,出于解释的目的,阐述大量的细节。但是,本领域技术人员可以认识到,可以在不使用这些特定细节的情况下实施本发明。在其它情况下,为了不用不必要的细节混淆本发明的描述,以框图的形式示出公知的结构和装置。为了提供可更灵活地指定色度量化参数(色度qp)的视频编码系统,本发明的一些实施例提供用信号发送量化组特有的附加色度qp偏移值的方法。在一些实施例中,各量化组明确指定其自身的色度qp偏移值的集合。在一些实施例中,在图片或切片的标题区域中指定色度qp偏移值的可能的集合的表,并且,各量化组使用指数来从表中选择用于确定其自身的色度qp偏移值的集合的条目。量化组层级色度qp偏移值然后被用于确定量化组内的块的色度qp值。在一些实施例中,与已在视频编码体系的较高层级上指定的块和色度qp偏移值的亮度qp结合使用量化组色度qp值。以下的部分i描述用于指定附加色度qp偏移值的方法。具体而言,部分i.a描述用于明确指定量化组中的附加色度qp偏移值的方法,而部分i.b描述用于指定可能的色度qp偏移值的表的方法。然后部分ii描述用于识别和向图像的不同区域分配附加色度qp偏移值的不同的系统和方法。部分iii描述实现本发明的一些实施例的视频编码器和解码器系统,而部分iv描述实现本发明的一些实施例的计算机系统。i.指定附加的色度qp偏移a.指定量化组中的附加的色度qp偏移本发明的一些实施例提供指定用于编码一系列的视频的色度量化参数偏移值(色度qp值)的方法。该方法关联色度qp偏移规范与色度量化组,每个色度qg包含一个或多个视频数据单元(诸如hevc中的编码单元)。在一些实施例中,与色度量化组相关的色度qp偏移规范的集合在色度量化组内的视频数据单元的编码结构内被编码或嵌入。在一些实施例中,除了对于包含色度量化组的视频编码体系的较高层级(诸如切片或图片)下的视频编码结构指定的其它色度qp偏移规范以外,施加用于色度量化组的色度qp偏移规范。在一些实施例中,为了确定色度量化参数(色度qp),一起施加来自不同层级的色度qp偏移(例如,通过将其添加到亮度qp值)。在一些实施例中,除了亮度量化组(亮度qg)以外,限定色度量化组(色度qg)。亮度qg还包含一个或多个视频数据单元,但用于指定亮度量化参数(亮度qp)。在一些实施例中,色度qg可重叠或包含一个或多个亮度qg。换句话说,色度qg内的不同区域可属于不同的亮度qg,并因此具有不同的亮度qp。对于本发明的一些实施例,图1示出包括分别具有其自身的色度qp偏移规范的集合的色度量化组(色度qg)的分层视频编码结构100。分层视频编码结构100包含几个图片101-103。其中,图片102包含几个切片111-113。切片112包含几个色度qg121-123。图片102具有包含色度qp偏移规范的集合的图片参数集合(pps)132。色度qg121-123分别与色度qp偏移集合141-143关联。分层视频编码结构100与一系列的视频图像对应。一系列的视频图像被组织成体系的各种层级处的视频数据单元的层,这里,较高层级上的视频数据单元包含较低层级上的一个或多个视频数据单元。例如,图片的组(gop)是体系上层级比图片高的视频数据单元,图片是体系上的层级比图片的切片高的视频数据单元,切片是体系上的层级比编码树单元高的视频数据单元,等等。在一些实施例中,对于较高层级的视频数据单元指定的至少一些参数适用于该较高层级视频数据单元包含的较低层级视频数据单元。例如,在一些实施例中,图片102(来自pps132)的图片层级色度qp偏移规范适用于图片102包含的所有色度qg(例如,色度qg121-123)。在一些实施例中,视频编码结构100被编码为位流。这种位流基于诸如hevc/h.265标准或mpeg-4avc/h.264标准的所建立的视频编码格式。根据h.265标准的图片可包含一个或多个切片,并且各切片可具有一个或多个编码树单元(ctu)。并且,各ctu可被再分成块。h.265还允许为量化/去量化亮度分量限定亮度量化组。各量化组允许导出量化组内的视频数据单元特有的亮度量化参数。一旦被导出,亮度量化参数就然后被用于执行亮度dct系数的量化。根据h.265标准,基于在h.265兼容位流的图片或切片层中提供的偏移值从亮度量化参数导出色度量化参数。除了由h.265标准允许的图片/切片层色度qp偏移以外,视频编码结构100提供色度qp偏移信令或规范。色度qg141-143是视频编码结构100中的限定范围。qg141-143中的每一个与其自身的色度qp偏移值141-143的集合相关。在一些实施例中,量化组可以是共享qp值的相同集合的一组视频数据单元。在一些实施例中,用于qg中的色度qp偏移的信令被应用于qg内的所有视频数据单元。在一些实施例中,从以信号发送的第一色度残余信息开始施加qp偏移。信令前面的任何区域不与以信号发送的色度qp偏移相关。换句话说,qg可“分段”。在一些实施例中,可在诸如编码树单元、编码单元或变换单元的视频编码体系的不同层级或深度上限定qg(色度或亮度),原因是它们在hevc中被支持。在一些实施例中,在可用时,用于色度qp偏移的qg的定义继承用于亮度分量的qg的定义。在一些实施例中,qg(色度或亮度)的深度、层级和尺寸可在位流中被灵活地指定,并且可从图片到图片改变。例如,一个图片(例如,101)可指定其色度qg要处于编码象限树的顶部层级(即,qg是ctu),而另一图片(例如,103)可指定其色度qg处于编码象限树的较低层级(例如,qg是象限树的编码块)。在一些实施例中,较高层级参数(诸如pps或切片标题)指定要在视频编码体系的哪个层级上限定图片的qg。图1还示出由色度qg指定的偏移如何被用于计算色度qp值。在诸如图1所示的一些实施例中,色度qp偏移参数的第一集合已在pps132(和/或用于切片112的标题)中被以信号发送(signal)。在一些实施例中,当qg指定它们的自身的色度qp偏移值时,在高于色度qg的层级(例如,pps和/或切片标题)上指定的色度qp偏移值被忽略。在一些实施例中,较高层级色度qp偏移句法要素和qg层级色度qp偏移被一起考虑以减少开销。即,在与两个参数集合的关系中完成色度qp值的调整(adaptation),并且,以信号发送的信息可被视为“二次”偏移。在这些实施例中的一些中,用于当前的色度qg的色度qp值被计算为:qpchroma[i]=qpluma+qpoffset_pps[i]+qpoffset_quant_group[i](1)(对于第一色度分量,i=0;对于第二色度分量,i=1)这里,qpluma是与当前的色度量化组对应的亮度分量的qp,qpoffset_pps[i]是来自当前pps(或切片标题)的第i个色度分量的qp偏移,并且qpoffset_quant_group[i]是在该分量的qg层级上以信号发送的附加偏移。qpoffset_pps[i]+qpoffset_quant_group[i]由此构成第i个色度分量的总体色度qp偏移。在一些实施例中,色度qp值的调整基于来自视频编码体系的多个层级的色度qp偏移参数。例如,在一些实施例中,色度qp值的计算考虑从pps以及从切片标题的色度qp偏移值。在这些实施例中的一些中,当前qg的色度分量i的色度qp值被计算为:qpchroma[i]=qpluma+qpoffset_pps[i]+qpoffset_slice[i]+qpoffset_quant_group[i](2)这里,qpoffset_slice[i]是从当前切片标题的第i个色度分量的qp偏移,qpoffset_pps[i]是从当前pps的第i个色度分量的qp偏移,并且,qpoffset_pps[i]+qpoffset_slice[i]+qpoffset_quant_group[i]的和是第i个色度分量的总体色度qp偏移。一些实施例可选地允许在视频编码体系的其它层中指定一个或多个附加的色度qp偏移值。为了编码或解码特定的编码块,这些实施例中的一些使用沿包含(或适用于)特定的编码块的视频编码体系的层级指定的色度qp偏移值中的一些或全部。如上所述,通过向适用于色度qg的亮度qp值添加色度qp偏移,计算色度qg的色度qp值。在一些实施例中,与色度qg对应的亮度qp值可在色度qg内改变。这是由于,亮度qg和色度qg可重叠,使得色度qg可包含落入不同的亮度qg内的编码单元,并因此具有不同的亮度qp值。因此,色度qg内的不同的编码单元可最终具有不同的色度qp值(由于适用于色度qg的色度qp偏移被应用于色度qg内的不同亮度qp值)。在图1的例子中,色度qg121具有四个相应的亮度qp值(qpluma),原因是色度qg121用四个不同的亮度qg171-174覆盖。色度qg121的这四个亮度qp值在施加来自pps偏移132和qg1偏移141的色度qp偏移(qpoffset_pps、qpoffset_slice、qpoffset_quant_group)之后得到四个可能的色度qp值。因此,根据编码单元落入的下层亮度qg,色度qg121中的编码单元可具有这四个可能的色度qp值中的一个。类似地,色度qg123用两个不同的亮度qg181-182覆盖,并且,根据编码单元落入的下层亮度qg,色度qg123中的编码单元可具有两个可能的色度qp值中的一个。另一方面,色度qg122仅具有一个相应的亮度qp值,原因是色度qg122完全落入亮度qg175内(或者包含与亮度qg175完全相同的集合的编码单元)。因此,色度qg122内的编码单元在施加色度qp偏移之后均具有相同的色度qp值。由于对于用于大多数视频编码格式(例如,ycbcr)的各亮度分量存在两种色度分量,因此,在一些实施例中,量化组的各色度qp偏移是包含用于计算两种色度分量的两个偏移值的规范的值的集合。对一些实施例,图2a-c示出用于编码图1的qg141的偏移值的集合的几种方法。一些实施例仅使用用于编码色度qp偏移值的集合的这些方法中的一种。一些实施例基于qg特有的特性对不同的qg选择不同的方法。图2a将色度qp偏移值的集合示为两个独立的偏移值241和242。这两个值被直接用作分量[0]的色度qp偏移(251)和分量[1]的色度qp偏移(252)。当两个色度分量具有非常小的相关性时,一些实施例选择编码色度qp偏移的该方法。在后面通过参照图5进一步描述编码色度qp偏移值的该方法的其它例子。图2b示出编码为同时被两个色度分量用作色度qp偏移(253和254)的单个值243的偏移值的集合。当两个色度分量在它们的与亮度分量的关系上非常类似时,一些实施例选择该方法。在后面通过参照图6进一步描述编码色度qp偏移值的该方法的其它例子。图2c示出基于中间偏移编码为中间偏移值244和△值245的偏移值的集合。在本例子中,中间偏移值244作为第一色度分量(255)的色度qp偏移被直接应用,而△值245和中间值244的和被用作第二色度分量(256)的色度qp偏移值。当两个色度分量在它们的与亮度分量的关系上以可在具有非常少的位的位流中廉价编码的较小的偏移而不同时,一些实施例选择该方法。该方法在与第一色度qp偏移的关系中编码第二色度qp偏移(对于分量[1])。即,现在从第一色度qp偏移(对于分量[1])预测第二色度qp偏移。在一些实施例中,用于第一色度分量的色度qp值被计算为:qpchroma[0]=qpluma+qpoffset_pps[0]+qpoffset_quant_group[0](3)用于第二色度分量的色度qp值被计算为:qpchroma[1]=qpluma+qpoffset_pps[1]+qpoffset_quant_group[0]+qpoffset_quant_group[1]。(4)(对于第一色度分量,i=0;对于第二色度分量,i=1)如上所述,一些实施例使用来自用于导出最终色度qp值的视频编码体系的多个不同的层的色度qp偏移值。对于使用来自pps和切片标题的色度qp偏移值的一些实施例,第一色度分量的色度qp值被计算为:qpchroma[0]=qpluma+qpoffset_pps[0]+qpoffset_slice[0]+qpoffset_quant_group[0]。(5)用于第二色度分量的色度qp值被计算为:qpchroma[1]=qpluma+qpoffset_pps[1]+qpoffset_slice[1]+qpoffset_quant_group[0]+qpoffset_quant_group[1](6)如上所述,在一些实施例中,亮度和/或色度量化组的定义由处于图片层级中的参数规定。图3示出规定色度量化组的定义的示例性图片标题或pps300。示例性图片标题300与视频编码结构100的图片102相关。为了容纳附加的色度qp偏移(即,色度qp值的调整),通过从h.265标准修改的伪代码描述图片标题300。在一些实施例中,用于视频标准(诸如h.265标准或修改的标准)的伪代码描述视频解码器在处理符合视频标准的位流时所需要的操作操作。伪代码还描述视频编码器在产生符合视频标准的位流时所需要的操作。出于解释的目的,在图3中用暗化线311-313表示图片标题300的伪代码。线311-313允许附加的色度qp偏移值并限定图片102中的色度qp偏移的色度量化组。具体而言,线311中的参数“additional_chroma_qp_offset”通知解码器在位流中存在附加的色度qp偏移规范。当不对特定的图片设定该变量时,为了避免浪费的位,位流不会包含用于指定图片的附加色度qp偏移的位。线313中的参数“chroma_qp_offset_max_depth”限定色度qg的层级(并由此限定尺寸或分层深度)。该参数可被设定为等于整个编码树单元(ctu)的尺寸,或者减小到位流中的可能的最小编码单元的尺寸。一些实施例允许在任何希望的层级(例如,在ctu层级、色度限定的量化组层级、编码单元层级、变换单元层级等)上出现附加色度qp偏移的规范和信令。在一些实施例中,作为特别地为色度qp偏移限定量化组的替代,位流使用参数“diff_cu_qp_delta_depth”,该参数也限定亮度qp的量化组。在一些实施例中,如果用于限定量化组的参数不可用,那么整个图片被分配用于亮度的相同的qp,并且不允许用于亮度的qp调整。图4示出可处于量化组中的示例性编码树单元400。为了容纳附加的色度qp偏移,通过从h.265伪代码修改的伪代码描述编码树单元400。编码树单元400处于量化组122中,该量化组122处于图片102的切片122中。用于编码树单元400的伪代码由出于确定编码树单元是否是qg的一部分的目的添加的暗化线411-413示出。具体而言,在线411上,参数“additional_chroma_qp_offset”(例如,来自图片标题300)被用于指示是否允许附加的色度信息。为了确定编码树单元400是否处于量化组(诸如量化组122)中,比较参数“chroma_qp_offset_max_depth”与变量“log2cbsize”。如果是,那么伪代码在线412上将变量“iscrcuqpoffsetcoded”设定为0。对于一些实施例,这也初始化色度量化组的开始点。图5示出qg122内的附加色度qp偏移的规范。如以上参照图3和图4讨论的那样,qg122由图片标题300限定以包含编码树单元400。附加的色度qp偏移由编码树单元400的变换单元500指定。为了容纳附加的色度qp偏移,变换单元500由从h.265伪代码修改的伪代码描述。通过出于指定附加色度qp偏移的目的添加的暗化线511-519示出用于变换单元500的伪代码。具体而言,在线511上,参数“additional_chroma_qp_offset”被用于指示是否允许附加的色度信息。变量“iscrcuqpoffsetcoded”被用于指示是否需要指定(或接收)变换单元500处的色度qp偏移信息。如果用于qg122的色度qp偏移值已被编码,那么不需要重新指定色度qp偏移值。如果qg122已编码色度qp偏移值的集合(即,如果变量“iscrcuqpoffsetcoded”为0),那么线512-517上的变换单元500指定用于两个色度分量的色度qp偏移值。在这种情况下,变换单元指定色度qp偏移的集合为两个独立的符号值,使得每符号值通过使用大小(magnitude)(“cu_chroma_cmp0_qp_offset_abs”或“cu_chroma_cmp1_qp_offset_abs”)和符号标记(“cu_chroma_cmp0_qp_delta_sign_flag”和“cu_chroma_cmp0_qp_delta_sign_flag”)来发送。伪代码然后将变量“iscrcuqpoffsetcoded”设定为1,从而指示该量化组的色度qp偏移值已被指定。如前面参照图2a-2b提到的那样,不同实施例中的量化组以不同的方式指定用于两个色度分量的色度qp偏移值。图6示出使用用于两个色度分量的色度qp偏移值的不同方法的qg122内的附加色度qp偏移的规范。图6示出与变换单元500类似地由伪代码描述的变换单元600,仅有的不同在于线611-616仅指定用于两个色度分量的一个色度qp偏移值(大小+符号)。在一些实施例中,由于在大多数情况下两个颜色分量的重要性不会变,因此对于两个色度分量指定一个色度qp偏移值是足够的。一个或两个这种参数可带前缀发送,或者可在诸如sps、pps或切片标题的不同的较高句法层级位置处被发送。对于一些实施例,图7在概念上示出用于从允许附加色度qp偏移规范的视频位流确定色度qp值的处理700。在一些实施例中,由视频解码器执行处理700,该视频解码器使用该处理在解码用于显示的视频位流时执行色度分量的去量化。在一些实施例中,当解码器接收了视频位流并且开始解码用于显示或其它目的的特定的视频图片时,处理开始。在705中,处理700处理特定的视频图片的图片标题或pps中的参数。如以上参照图3讨论的那样,在一些实施例中,视频图片的图片标题或pps包含用于确定是否对于视频图片允许附加的色度qp偏移的标记(例如,“additional_chroma_qp_offset”)。图片标题或pps还识别将在其中限定附加色度qp偏移的色度量化组的视频体系的层(例如,通过设定变量“chroma_qp_offset_max_depth”)。然后,处理(在710中)识别较高层级色度qp偏移值。在一些实施例中,该较高层级色度qp偏移值是在图片标题(或者作为pps的一部分)编码的图片层级偏移。在一些实施例中,该较高层级色度qp偏移值是在切片标题中编码的切片层级偏移。一些实施例识别多个较高层级色度qp偏移值,包括图片层级和切片层级。处理然后(在720中)确定附加的色度qp偏移是否对于该特定的视频图片和/或切片被允许或者可用。如果附加的色度qp偏移不可用,那么处理前进到750。如果附加的色度qp偏移可用,那么处理前进到730。在730中,处理确定是否达到色度量化组的开始。在一些实施例中,处理检查它是否处于已识别为色度量化组的视频体系的层级上。如果处理不在色度量化组的开始处(例如,已在色度量化组内),那么处理前进到750。如果处理在色度量化组的开始处,那么处理前进到740。参照以上的图4讨论操作720和730的例子。在740中,处理识别色度量化组的色度qp偏移值。在一些实施例中,如以上参照图5和图6讨论的那样,明确地在色度量化组内编码色度qp偏移。处理然后(在750中)识别色度量化组的亮度qp值。如上所述,在一些实施例中,亮度qp值根据可以与色度量化组相同或者不相同的亮度量化组设定。根据信令,可存在比色度量化组多或少的亮度量化组。在一些实施例中,亮度量化组可包含多个色度量化组,反之亦然。在一些实施例中,色度量化组和亮度量化组可相互重叠。相反,同一色度量化组内的不同的编码单元可基于亮度量化组具有不同的亮度qp值。然后,处理(在760中)计算色度qp值。对于解码器,一些实施例从识别的亮度qp值并从各识别的色度qp偏移计算色度qp值。在一些实施例中,如上式(1)-(6)所示,通过添加具有所有识别的色度qp偏移的亮度qp值(从切片/图片层级以及从qg层级)实现这一点。处理然后(在770中)确定是否到达图片的结尾(如果较高层级色度qp偏移用于整个图片)或者它是否到达切片的结尾(如果较高层级色度qp偏移用于切片)。如果是,那么处理700结束。如果不是,那么处理700返回到730以处理下一量化组。如以上参照图1-6表示的那样,通过使用来自亮度qp值的偏移预测性地编码色度qp值。并且,在一些实施例中,通过彼此的偏移,诸如作为从切片和/或图片层级偏移的偏移的qg层级偏移和/或编码为来自另一色度分量的偏移的一个色度分量的偏移值,自身预测性地编码偏移值。在一些实施例中,进一步从相邻的编码单元或块的色度值或偏移或者从相邻的视频图片中的收集编码单元或块的色度值或偏移预测色度qp偏移,原因是它们最可能充分地与当前色度量化组的编码单元或块类似。一些实施例不对量化组中的至少一些执行预测。在这些情况下,色度qp值被明确地编码(不作为偏移),使得亮度分量的qp参数被忽略(由于不需要从亮度偏移)。一些实施例使用标记以指示对于当前的量化组使用来自相邻量化组的色度qp偏移值的集合。在一些实施例中,该相邻量化组在空间上位于当前量化组的左边或顶部。例如,一些实施例使用用于指示是否使用相邻量化组的色度qp偏移值的标记“cu_qp_update_signal”。在一些实施例中,在图6的线612处的“cu_chroma_qp_offset_abs”参数之前发送标记“cu_qp_update_signal”。如果标记为“1”,那么当前的量化组将提供用于指定其自身的色度qp偏移值的更新。如果标记是“0”,那么当前的量化组将不更新其色度qp偏移值的集合,而是从最后指定的色度qp偏移值的集合(例如,从左边的相邻量化组)或另一先前指定的色度qp偏移值(例如,从顶部的相邻量化组或另一相邻量化组)继承其色度qp偏移值。如果相邻色度qp偏移值不可用,那么一些实施例使用来自pps和/或切片标题的缺省qp偏移值。在一些实施例中,标记“cu_qp_update_signal”可采用用于处理用于指定色度qp偏移值的不同选项的附加的可能值。例如,在一些实施例中,如果标记是“0”,那么使用来自左边相邻量化组的色度qp偏移值;如果标记是“1”,那么使用来自顶部相邻量化组的色度qp偏移值;并且,如果标记是“2”,那么当前量化组将明确地指定色度qp偏移值的新的集合。否则,当前量化组将使用来自pps和/或切片标题的缺省qp偏移值。在一些实施例中,由当前量化组继承的色度qp偏移值基于相邻量化组中的至少两个(例如,左边和顶部)的色度qp偏移值的平均值。为了进一步减少开销,一些实施例指定,这些附加的色度qp偏移可仅处于较小的值范围内,即,从值-x到x。这样做改变了熵编码处理,原因是它改变要发送的信息的期望统计(即,对于contextadaptivebinaryarithmetic(cabac)编码,或者,如果使用“最大限制”通用可变长度编码方案)。在一些实施例中,x的值(即,范围)被加上前缀以用于整个序列;或者,其在诸如pps、sps或切片标题的较高句法层级上被发送。这些实施例中的一些通过直接指定x、或者如果x与2的幂对应则指定值log2(x)来实现这一点。一些实施例通过分开x的大小(即abs(x))和符号来指定x。在cabac中,abs(x)的值与在二进制化处理中需要的cmax参数对应。b.指定表中的附加的色度qp偏移为了进一步减少开销或位使用,一些实施例指定各分量的所有可能的偏移值或者较高层级句法上的两个分量的组合值,例如,在序列参数集合(sps)、图片参数集合(pps)中或在当前切片标题中。在这些实施例中的一些中,较高层级标题(sps/pps/切片标题)以表格的形式列出不同的可能的偏移值,表格中的各条目被分配指数。然后,在编码单元/量化组层级上,一些实施例仅指定希望的量化偏移值的指数或多个指数。这此偏移可与在pps或切片标题处指定的偏移值无关,或者相反地是对在pps或切片标题处指定的偏移值的添加。为了减小位流尺寸(size),一些实施例将表中的条目的数量限制到最大值。图8示出包含在较高层级标题处编码的可能的色度qp偏移值的表890的分层视频编码结构800。视频编码结构的较低层级处的色度qg然后使用指数来从表890中选择用于计算色度qp值的可能的色度qp偏移值中的一个。视频编码结构800与视频编码结构100类似。视频编码结构800包含几个图片801-803。其中,图片802包含几个切片(slice)811-812。切片811包含几个色度qg821-823。图片802具有包含适用于图片802包含的所有色度qg的色度qp偏移规范的集合的图片参数集合(pps)831。如以上参照图1以及式(1)和(2)提到的那样,一些实施例还指定切片层级色度qp偏移(未示出),并且色度qp值的调整基于来自视频编码体系的多个层级的色度qp偏移参数。与图1中指定它们的自身的色度qp偏移值的集合的色度qg121-123不同,色度qg821-823中的每一个从表890选择色度qp偏移值的集合。表890是包含多个条目的阵列。各条目包含可通过图片中的量化组中的任一者选择的色度qp偏移的集合。在本例子中,表890包含分别与色度qp偏移集合a、b、c、d和e对应的条目891-895。在一些实施例中,条目中的每一个可被任意数量的量化组选择或者根本不被选择。在图8的例子中,qg822和823均选择色度qp偏移集合a(891),而qg821选择色度qp偏移集合c(893)。在一些实施例中,为了使位率最小化,编码器决定要包含哪些色度qp偏移集合以及要包含多少色度qp偏移集合。一旦从表890识别了色度qp偏移值的集合,色度量化参数的计算就与图1类似。在图8的例子中,亮度qp值851(来自重叠色度qg821的四个亮度qg)适用于色度qg821,亮度qp值852(来自同一亮度qg)适用于色度qg822,并且,亮度qp值853(来自重叠色度qg823的两个亮度qg)适用于qg823。添加亮度qp值851、色度qp偏移831(对于图片802和/或对于切片811)和色度qp偏移c(对于qg821,从表条目893检索)产生qg821的色度qp值861。添加亮度qp值852、色度qp偏移831和色度qp偏移a(从表条目891检索)产生qg822的色度qp值862。添加亮度qp值853、色度qp偏移831和色度qp偏移a(从表条目891检索)产生qg823的色度qp值863。在一些实施例中,在编码的视频图片的标题区域内编码色度qp偏移的表。图9示出编码表890的示例性图片标题或pps900。为了容纳附加的色度qp偏移,通过从h.265标准修改的伪代码描述图片标题900。用于图片标题900的伪代码由出于限定色度qp偏移的量化组以及编码表890的目的添加的暗化线911-917示出。具体而言,线911中的参数“additional_chroma_qp_offset”通知解码器将存在用于图片802的附加的色度qp偏移规范,并且,线913中的参数“chroma_qp_offset_max_depth”限定图片802中的qg的层级(并由此限定尺寸或分层深度)。伪代码的线914-916然后限定表890的各条目(891-895)的色度qp偏移值的集合。如图所示,表的各条目被分配第一分量的色度qp偏移值(“chroma_cmp0_qp_offset[k]”)和第二分量的色度qp偏移值(“chroma_cmp1_qp_offset[k]”)。由于色度qp偏移表的各条目的两个色度分量可能相关,因此,一些实施例使用一个色度分量的色度qp偏移值来预测另一色度分量的色度qp偏移值。换句话说,对于表中的第k个条目,如果chroma_cmp0_qp_offset[k]代表第一色度分量的偏移值并且chroma_cmp1_qp_offset[k]代表第二色度分量的偏移值,那么第k个条目的第二色度分量的色度qp偏移被计算为:chroma_cmp1_qp_offset[k]=chroma_cmp0_qp_offset[k]+delta_chroma_cmp1_qp_offset[k](7)即,作为发送全偏移参数即hroma_cmp1_qp_offset[k]的替代,一些实施例发送用于计算第二色度qp偏移chroma_cmp1_qp_offset[k]的偏移的△参数,即delta_chroma_cmp1_qp_offset[k]。图10示出根据式(7)编码色度qp偏移表890(在线1015和1016处)的各条目(891-895)作为chroma_cmp0_qp_offset[k]和delta_chroma_cmp1_qp_offset[k]的图片标题1000。为了减少位使用,存在预测性地编码色度qp偏移表的其它可能的方法。例如,在一些实施例中,关于彼此预测性地编码色度qp偏移表条目,使得从其它的条目预测除1以外的所有条目。一个例子是将第一条目之后的表中的每个连续的条目编码为从表中的先前条目预测的△值。在一些实施例中,第一条目是明确的qp。在一些实施例中,第一条目自身是偏移,并因此自身还是△。图11示出可处于使用来自图片标题中的表的色度qp偏移值的量化组中的示例性编码树单元1100。为了容纳附加的色度qp偏移,通过从h.265伪代码修改的伪代码描述编码树单元1100。编码树单元1100处于切片811的量化组821中。切片811处于图片802中,该图片802的标题或pps包含表890。编码树单元1100的伪代码与图4的编码树单元400的伪代码相同,原因是,在一些实施例中,在明确地嵌入色度qp偏移值的量化组中的编码树单元与使用来自表的色度qp偏移值的集合的量化组中的编码树单元之间不存在差异。编码树单元1100的伪代码由出于确定编码树单元是否是qg的一部分的目的添加的暗化线1111-1113示出。具体而言,在线1111处,参数“additional_chroma_qp_offset”被用于指示是否允许附加的色度信息。为了确定编码树单元1100是否处于色度量化组中,比较参数“chroma_qp_offset_max_depth”与变量“log2cbsize”。对于一些实施例,这还初始化色度量化组的开始点。图12示出使用指数以在色度qp偏移值的表中选择条目的量化组。如上面讨论的那样,量化组821包含编码树单元1100,该编码树单元1100又包含变换单元1200。为了容纳附加的色度qp偏移,在图12中通过从h.265伪代码修改的伪代码描述变换单元1200。用于变换单元1200的伪代码由出于指定附加的色度qp偏移的目的添加的暗化线1211-1214示出。具体而言,在线1211处,参数“additional_chroma_qp_offset”被用于指示是否允许附加的色度信息。变量“iscrcuqpoffsetcoded”被用于指示是否需要指定(或接收)变换单元1200处的色度qp偏移信息。如果qg821的色度qp偏移值已被编码,那么不需要再次指定色度qp偏移值。如果qg821还没有编码色度qp偏移值的集合(即,如果变量“iscrcuqpoffsetcoded”是0),那么线1212处的变换单元1200指定用于从表890选择条目的指数“cu_chroma_qp_offset_table_index”。对于该例子,指数值被设定以选择包含在表890的条目c(893)中的色度qp偏移值。对于一些实施例,图13在概念上示出用于从使用可能的色度qp偏移值的表的视频位流确定色度qp值以实现附加的色度qp偏移规范的处理1300。在一些实施例中,由视频解码器执行处理1300,该视频解码器使用该处理以在解码用于显示或其它目的的视频位流时执行色度分量的去量化。在一些实施例中,当解码器接收了视频位流且在一些实施例中开始解码特定的视频图片时,处理1300开始。在1305中,处理1300处理特定的视频图片的图片标题或pps中的参数。在一些实施例中,图片标题包含用于确定是否对于视频图片允许附加的色度qp偏移的标记。图片标题还包含用于识别其中将限定附加色度qp偏移的量化组的视频体系的层的参数。然后,处理(在1310中)识别较高层级色度qp偏移值。在一些实施例中,该较高层级色度qp偏移值是在图片标题(或者作为pps的一部分)编码的图片层级偏移。在一些实施例中,该较高层级色度qp偏移值是在切片标题中编码的切片层级偏移。一些实施例识别多个较高层级色度qp偏移值,包括图片层级和切片层级。处理然后(在1320中)确定附加的色度qp偏移是否被允许用于或者可用于该特定的视频图片或切片。如果附加的色度qp偏移不可用,那么处理前进到1350。如果附加的色度qp偏移可用,那么处理前进到1325以从位流接收色度qp偏移表条目。然后,处理(在1330中)确定是否到达量化组的开始。在一些实施例中,处理检查其是否处于已识别为量化组的视频体系的层级处。如果处理不在量化组的开始处(例如,已在qg内),那么处理前进到1350。如果处理在量化组的开始处,那么处理前进到1335。在1335中,处理确定是否存在要编码的任何残余的色度系数。在一些实施例中,如果不存在残余的色度系数,那么偏移(或它们的相关的指数)不再被发送。当遇到色度块的第一非零变换系数且色度qp偏移从该点直到色度量化组的结束变得活动时,开始发送信号。在遇到色度块的第一非零变换系数之前,色度qp偏移为0(由此,没有色度系数的区域不会具有任何色度qp偏移信令)。如果存在要编码的残余色度系数,那么处理前进到1340。否则,处理前进到1350。在1340中,处理选择色度qp偏移表中的条目中的一个作为包含量化组的色度qp偏移值的集合。在一些实施例中,该操作必需从位流接收指数并且使用接收的指数以从色度qp偏移表选择条目。在预测性地编码表中的色度qp偏移值的一些实施例中,该处理包含从预测或△值恢复(两个色度分量的)色度qp偏移值。处理然后(在1350中)识别量化组的亮度qp值。如上所述,在一些实施例中,对于量化组定义与色度qp值相同的亮度qp值。在一些实施例中,亮度qp和色度qp的量化组被独立地定义。然后,处理(在1360中)计算色度qp值。一些实施例从识别的亮度qp值以及从各识别的色度qp偏移计算色度qp值。在一些实施例中,如上式(1)-(6)所示,通过添加具有所有识别的色度qp偏移的亮度qp值(从切片/图片层级以及从qg层级)实现这一点。处理然后(在1370中)确定是否到达图片的结尾(如果较高层级色度qp偏移用于整个图片)或者它是否到达切片的结尾(如果较高层级色度qp偏移用于切片)。如果是,那么处理1300结束。如果不是,那么处理1300返回到1330以处理下一量化组。图5、图6和图12引入了量化组可使用以指定色度qp偏移值的集合的几种不同的方法。在一些实施例中,不同的图片或切片中的量化组可使用用于指定色度qp偏移值的不同方法。为了实现更高的灵活性或者减少编码开销,这些实施例中的一些中的编码器选择其认为当前图片或切片所需要的最佳方法。对于一些实施例,图14示出包含指定附加色度qp偏移值的方法的选择的图片标题1400的伪代码。图片标题1400与图片标题900的类似之处在于,它包含标记“additional_chroma_qp_offset”(在线1411处)和“chroma_qp_offset_max_depth”(在线1413处)。图片标题1400还包含色度qp偏移表890的条目(在线1415-1417处)。但是,与图片标题900不同,图片标题1400还通过设定“chroma_qp_offset_method”(在线1414处)指定方法。图15示出能够使用三种不同的方法中的任一种指定量化组的色度qp偏移值的变换单元1500的伪代码的实现。与图12同样,当方法标记“chroma_qp_offset_method”被设定为0(在线1512处)时,变换单元1500使用指数“cu_chroma_qp_offset_table_index”以从表890选择用于计算qg821的色度qp偏移值的条目。与图5同样,当方法标记被设定为1(在线1514处)时,变换单元1500编码用于两个色度分量的两个独立的色度qp偏移值(使用两个大小和符号标记)。与图6同样,当方法标记被设定为2(在线1522处)时,变换单元1500仅编码用于两个色度分量的一个色度qp偏移值。ii.分配附加的色度qp偏移不同实施例中的编码器使用用于识别和分配附加的色度qp偏移值的不同方法。在一些实施例中,为了识别最适于量化的qp值(例如,用于最佳地平衡质量和位率),编码器分析视频序列中的图像。为了识别可通过色度qp值的共同集合最佳地编码的量化组,一些实施例分析图像的各个区域。一些实施例执行预分析步骤,在该预分析步骤中,编码器执行区域层级分析(例如,对于每个n×m块,例如,n=m=4,或者,基于对象段的分析)以对于该区域中的各颜色分量提取强度(例如,平均值或者亮度的明度和颜色的饱和度)、色调、方差/活动/质地特性、噪声特性和运动特性(例如,运动向量和/或预测畸变值)。由于不同类型的视频内容可被组合成相同的视频流或者甚至相同的视频图像,因此一些实施例识别不同类型的视频内容的图像中的不同区域。在这些实施例中的一些中,具有不同的类型的视频内容的不同区域被分配不同的色度qp偏移值或者分配到不同的量化组中。一些实施例区分图形内容与真实视频内容。一些实施例区分最初以4:4:4格式编码的4:4:4视频内容与从4:2:0格式上采样的4:4:4视频内容。一些实施例觉察最初可具有不同的位深的视频内容。除了其跨颜色分量以及速率控制信息的关系以外,视频内容的这些特性还被一些实施例使用以确定所有颜色分量之间的量化层级或量化关系。图16示出图像1600的示例性分段和分类。图像被分割成编码树单元,并且,各编码树单元被再分成编码单元。图像1600的各种编码单元被分割成四个不同的色度qp偏移组。在一些实施例中,四个不同的色度qp偏移组在pps中发送,并且编码器可选择要在量化组层级上发送的适当的组。在一些实施例中,在编码时,在各量化组内明确地发送色度qp偏移。色度qp偏移值的选择由亮度和色度分量之间的相对视觉复杂性或质地确定。图像1600的量化组根据它们的质地层级被分配到不同的类别1611-1614。例如,跨所有颜色分量表现为平坦的区域属于第一类别1611,具有高质地颜色分量的平坦亮度区域属于第二类别1612,具有平坦颜色信息的高质地亮度区域属于第三类别1613,而跨所有的三种分量具有高质地的区域属于第四类别1614。一些实施例中的编码器可基于运动和强度为各类别产生附加的子类别。在一些实施例中,可通过考虑两个色度分量自身之间的差值进行附加的归类。这些归类可然后被用于指定用于不同类别的不同的色度qp偏移集合。例如,在一些实施例中,第一类别1611(均平坦)被分配零或负qp偏移。在该方案中,负色度qp偏移允许这些区域中改善的色度质量分配,原因是,由于所有颜色分量的特性,改善的色度质量可更明显。对于第二类别1612(平坦亮度、高质地颜色信息),可以使用更大、正的qp偏移。在这种情况下,较大的色度qp允许更好地控制色度分量,以不压制亮度分量,而来自色度信息的一些质地掩盖仍可被利用以保证良好的主观质量。对于第三类别1613(高质地亮度对平坦色度),一些实施例使用较大的负色度qp偏移以帮助保证稍好的颜色质量。一些其它的实施例使用较大的正色度qp偏移以更好地利用亮度质地掩盖。对于第四类别1614(跨所有三个分量的高质地),一些实施例使用零或正色度qp偏移以更好地利用亮度质地掩盖并避免浪费不明显改善色度主观质量的位。值得注意的是,向量化组分配的确切的色度qp偏移值依赖于该量化组的相应的亮度qp值。可基于主观或客观质量和其它编码器中的位率决定机制进行不同的决定。在一些实施例中,如果允许或希望有限数量的色度qp偏移(除了确定区域和它们的希望的qp偏移集合以外,给定它们的规范会要求的位开销的可能增加),基于各偏移集合的出现及其觉察的主观或客观质量影响执行附加的决定。由于现在只发送最关键的偏移集合,因此这些准则然后被这些实施例中的一些使用以“修整”在位流内发送的色度qp偏移集合的可能的数量。在“修整”的类别中分类的区域仍可被分配足够接近希望的值的偏移集合。给定一些主观或客观加权处理,这是可进行的权衡,根据该加权处理,指定的色度qp偏移单独地对所有分组的区域类型来说是“次最佳的”,但是,给定位率限制,可能提供最佳总体/结合性能。对于不可能实现预分析的实时应用,一些实施例使用qp偏移的“预固定(prefixed)决定”。在一些实施例中,决定基于来自已编码的先前图片的数据的分析。在对于每个量化组明确地发送色度qp偏移的一些实施例中,基于其选择的亮度量化参数、其各种空间时间和颜色特性以及来自过去的块的编码信息(即,什么是位率、亮度和色度之间的位关系以及其它类似或相邻的更早编码的块的引入畸变),实时地(onthefly)或者对于每个活动编码块动态地进行决定。在一些实施例中,给定相同类型的位率和内容特性关系和条件,通过色度qp偏移共同导出亮度量化参数。一些实施例进一步通过检查其相邻的图片改善当前图片的色度qp偏移的选择。具体而言,一些实施例检查这些相邻的图片如何被编码或者将要被编码以及这些相邻的图片如何在时间上与当前图片及其区域有关。例如,如果当前图片要被编码为“关键”图片(例如,编码为内部或“周期性”刷新图片),那么一些实施例会为了提高当前图片的色度质量编码附加的色度qp偏移。相反,如果当前图片是一次性图片或者在编码体系中是不重要的图片,那么一些实施例会以导致更高的位率的方式从分配附加的色度qp偏移刷新(根本不使用附加的色度qp偏移)。对于其它类型的图片,一些实施例使用更适中的色度qp偏移变化以在位率与质量之间实现更好的权衡。在一些实施例中,对于不同的可缩放性层,诸如对于分辨率、质量、位深等,指定不同的色度qp偏移参数。一些实施例向不同的色度qp偏移被分配给不同的示图的3d/多示图应用施加附加的色度qp偏移。例如,可以考虑立体掩盖以分配和预测色度qp偏移以减少开销并使这种系统的主观质量最大化。对于一些实施例,图17在概念上示出用于分析图像的不同区域并因此分配色度qp偏移的处理1700。在一些实施例中,通过视频编码器执行该处理。当(在1710中)接收视频图片时,处理开始。该视频图片可以是未压缩视频流中的原始图像或者来自压缩视频位流的解码图片。处理然后(在1720中)识别共享使其适于区域中的编码单元的共同特性以共享色度qp偏移值的共同集合的图片中的区域。例如,一些实施例将最初以4:2:0格式编码的区域识别为可使用较高qp值(并由此使用正色度qp偏移)的区域以减少位率。相反,一些实施例将最初以4:4:4格式本机编码的区域识别为需要较低qp值(并由此需要较低或者负的qp偏移值)的区域以保持质量。处理然后(在1730中)分析各区域的空间时间特性。在一些实施例中,该分析包含分析可影响亮度与色度以及两个色度分量之间的关系的区域的质地/方差/活动、格式(4:4:4或4:2:0等)、噪声、运动、位深或其它特性。然后,处理基于区域的分析(在1740中)分配色度qp偏移值。在一些实施例中,处理首先基于在1730中执行的分析识别区域的适当的色度qp值,然后从识别的色度qp值减去选择的亮度qp值以获得希望的总体色度qp偏移值。一些实施例中的处理1740还将总体色度qp偏移值分解为视频编码体系的各种层级(例如,图片、切片和量化组)处的色度qp偏移值。一些实施例通过从总体色度qp偏移值减去较高层级句法元素的色度qp偏移值识别量化组的色度qp偏移值。在一些实施例中,如参照下图18描述的那样,由率控制器执行该操作。处理然后用对于区域中的量化组识别的色度qp偏移值(在1750中)填充色度qp偏移表。处理1700还如上面的部分i.b讨论的那样编码它们在量化组中的相应的指数值。对于明确指定色度qp偏移值的一些实施例,处理1700如上面的部分i.a讨论的那样编码量化组自身内的色度qp偏移值。处理然后(在1760中)确定在图片中是否还有更多的区域要被分析。如果是,那么处理返回1720。否则,处理1700结束。iii.视频系统图18示出本发明的一些实施例的一般视频编码器1800(例如,hevc编码器)。编码器1800从视频源1805接收视频流并且产生要被存储和/或传送的压缩的编码位流1895。视频编码器包含变换模块1810、量化模块1815、熵编码器1820、逆量化模块1825、逆变换模块1830、去块滤波器1840、采样适应偏移(sao)滤波器1845、帧缓冲器1850、率控制模块1835和预测模块1890。预测模块1890包含运动估计模块1860、运动补偿模块1865、内部预测模块1870和模式决定模块1880。在一些实施例中,编码器1800还包含视频显示器1855。量化模块1815是使用量化参数以在来自变换模块1810的变换系数(例如,dct)上执行量化的模块。在一些实施例中,变换模块1810可完全被旁路(诸如在由hevc支持的变换旁路模式),使得量化模块1815在没有变换的情况下接收图像值或图像预测误差。量化模块1815对于各颜色分量的不同区域/块施加不同的qp值。量化模块1815使用的qp值也被编码为亮度qp值,并且色度qp偏移编码为位流1895。在一些实施例中,通过率控制模块1835确定和供给量化模块1815使用的qp值。率控制模块1835通过控制量化模块1815(和逆量化模块1825)使用的qp值控制编码的视频位流的位率。在一些实施例中,率控制模块1835向不同的量化组的量化模块1815供给不同的qp值。为了识别最适于量化的qp值(对于亮度和色度)(例如,给定视频序列的质量与位率之间的最佳平衡),为了到达各亮度量化组的亮度qp值和各色度量化组的色度qp偏移值的集合,一些实施例中的率控制模块1835执行在以上的部分ii中描述的分析中的至少一些。在一些实施例中,率控制器1835还使用用于识别区域并分配(亮度和色度)量化组的分析。在一些实施例中,率控制器1835将色度qp偏移值的集合分解成视频编码体系的各种层级处的色度qp偏移值的集合。在这些实施例中的一些中,如上式(1)-(7)所示,色度qp偏移值的至少一些集合进一步被分解成两个色度分量之间的预测值。在一些实施例中,通过从总体色度qp偏移值减去较高层级的qp偏移值,识别较低层级qp偏移值。例如,一些实施例将量化组层级色度qp偏移计算为:qpoffset_quant_group[i]=qpchroma[i]-qpluma-qpoffset_pps[i]-qpoffset_slice[i](8)色度qp偏移值的这些集合然后被提供给熵编码器1820以被编码成位流1895。在一些实施例中,率控制器1835编辑可能的量化组层级偏移的表并且向熵编码器1820提供编辑的表。熵编码器模块1820是在量化的变换系数、参数和其它信息上执行熵编码(例如,cabac)并且将它们封装到位流1895中的模块。在一些实施例中,熵编码器1820从率控制模块1835接收色度qp偏移值并且将它们熵编码到位流中。在一些实施例中,熵编码器1820将色度qp偏移值编码成图片的pps区域作为在以上的部分i.b描述的表。在一些实施例中,如上面的部分i.a描述的那样,熵编码器将色度qp偏移值编码到各单个量化组中。去块模块1840是通过平滑化可在编码块之间形成的尖锐边缘提高视频编解码系统的视频质量和预测性能的环路滤波器模块。在一些实施例中,去块模块1840为了执行其去块操作(即,通过包括量化组和图片/切片的色度qp偏移)使用从所有适用的色度qp偏移计算的总体色度qp值。在一些其它的实施例中,去块模块1840仅考虑特定的色度qp偏移中的一些,或者仅考虑来自pps或切片标题的色度qp偏移。这些实施例中的一些基于作为信号的色度qp偏移值控制去块处理。例如,一些为了补偿色度qp偏移值调整去块参数。去块也可在环路外面并且作为后处理被执行。在一些实施例中,总体计算的色度qp值或色度qp偏移中的一些被诸如sao(例如,sao滤波器1845)、自适应环路滤波器(alf)或噪声加算的其它类型的环路内或环路外后处理使用。图19示出本发明的一些实施例的一般视频编码器1900(例如,hevc编码器)。编码器1900接收位流1905并且为了被显示模块1965显示将其解码。解码器1900包含熵解码器1910、逆量化模块1920、逆变换模块1930、内部预测模块1950、内部预测模块1980、去块模块1960、sao模块1970和帧缓冲器1975。熵解码器模块1910是在输入的位流上执行熵解码并且提取变换系数以及用于解码器1900中的其它模块的参数的模块。具体而言,包含在输入位流1905中的色度量化信息被熵解码器1910提取并且被转送给逆量化模块1920。在一些实施例中,色度量化信息包含从pps中的表、切片标题或者从量化组自身提取的附加的色度qp偏移值。解码器1900的去块模块1960执行与编码器1800的去块模块1840类似的功能。具体而言,去块模块1960也为了执行其去块操作(即,通过包括量化组和图片/切片的色度qp偏移)使用从所有适用的色度qp偏移计算的最终色度qp值。在一些其它的实施例中,去块模块1960仅考虑特定的色度qp偏移中的一些,或者仅考虑来自pps或切片标题的色度qp偏移。在一些实施例中,总体计算的色度qp值或色度qp偏移中的一些被诸如sao(例如,sao滤波器1970)、alf或噪声加算的其它类型的环路内或环路外后处理使用。iv.电子系统上述特征和应用中的许多实现为指定为记录于计算机可读存储介质(也称为计算机可读介质)上的指令的集合的软件过程。当通过一个或多个计算或处理单元(例如,一个或多个处理器、处理器的芯或其它的处理单元)执行这些指令时,它们导致处理单元执行在指令中指示的操作。计算机可读介质的例子包括但不限于cd-rom、闪存驱动器、随机存取存储器(ram)芯片、硬盘、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)等。计算机可读介质不包含以无线的方式或者在有线连接上通过的载波和电子信号。在本说明书中,术语“软件”意味着包括驻留于只读存储器中的固件或可读取到存储器中以供处理器处理的存储于磁存储中的应用。并且,在一些实施例中,在保持明显不同的软件发明的同时,多个软件发明可实现为较大程序的子部分。在一些实施例中,多个软件发明也可实现为单独的程序。最后,一起实现这里描述的软件发明的单独的程序的任意组合处于本发明的范围内。在一些实施例中,安装为在一个或多个电子系统上操作的软件程序限定执行并实行软件程序的操作的一个或多个特定机器实现。图20在概念上示出实现本发明的一些实施例的电子系统2000。电子系统2000可以是计算机(例如,台式计算机、个人计算机、平板计算机等)、电话、pda或任何其他类型的电子装置。这种电子系统包括各种类型的计算机可读介质和用于各种其它类型的计算机可读介质的接口。电子系统2000包括总线2005、处理单元2010、图形处理单元(gpu)2015、系统存储器2020、网络2025、只读存储器2030、永久存储装置2035、输入装置2040和输出装置2045。总线2005集体代表通信连接电子系统2000的大量的内部装置的所有系统、外设和芯片集。例如,总线2005通信连接处理单元2010与只读存储器2030、gpu2015、系统存储器2020和永久存储装置2035。为了执行本发明的处理,处理单元2010从这些各种存储器单元检索用于执行的指令和用于处理的数据。在不同的实施例中,处理单元可以是单个处理器或者多芯处理器。一些指令被转送给gpu2015并通过其被执行。gpu2015可卸载各种计算或补充由处理单元2010提供的图像处理。只读存储器(rom)2030存储处理单元2010和电子系统的其它模块需要的静态数据和指令。另一方面,永久存储装置2035是读写存储装置。该装置是即使当电子系统2000关掉时也存储指令和数据的非易失性存储器单元。本发明的一些使用大规模存储装置(诸如磁盘或光盘及其相应的盘驱动器)作为永久存储装置2035。其它实施例使用可去除存储装置(诸如软盘、闪存存储器装置等及其相应的盘驱动器)作为永久存储装置。与永久存储装置2035类似,系统存储器2020是读写存储器装置。但是,与存储装置2035不同,系统存储器2020是易失性读写存储器,诸如随机存取存储器。系统存储器2020存储处理器在运行时间需要的指令和数据中的一些。在一些实施例中,本发明的处理存储于系统存储器2020、永久存储装置2035和/或只读存储器2030中。例如,根据一些实施例,各种存储器单元包括用于处理多媒体片段的指令。为了执行一些实施例的处理,处理单元2010从这样的各种存储器单元检索用于执行的指令和用于处理的数据。总线2005也与输入和输出装置2040和2045连接。输入装置2040使得用户能够向电子系统传送信息并选择命令。输入装置2040包括数字字母键盘和指向装置(也称为“光标控制装置”)、照相机(例如,摄像头)、麦克风或类似的用于接收声音命令的装置等。输出装置2045包括打印机和诸如阴极射线管(crt)或液晶显示器(lcd)的显示装置以及扬声器或类似的音频输出装置。一些实施例包括同时用作输入和输出装置的诸如触摸屏的装置。最后,如图20所示,总线2005还通过网络适配器(未示出)耦合电子系统2000与网络2025。以这种方式,计算机可以是计算机网络(诸如局域网络(“lan”)、广域网络(“wan”)或内联网或诸如因特网的网络的网络的一部分。可结合本发明使用电子系统2000的任何或所有部件。一些实施例包括电子部件,诸如微处理器,存储器和在机器可读或计算机可读介质(可选地称为计算机可读存储介质、机器可读介质或机器可读存储介质)上存储计算机程序指令的存储器。这种计算机可读介质的一些例子包括ram、rom、只读光盘(cd-rom)、可记录光盘(cd-r)、可重写光盘(cd-rw)、只读数字通用光盘(例如,dvd-rom、双层dvd-rom),各种记录/可重写的dvd(例如,dvd-ram、dvd-rw、dvd+rw,等等)、闪速存储器(例如,sd卡、迷你sd卡、微型sd卡等)、磁和/或固态硬盘驱动器、只读和可记录的盘、超密度光盘,任何其它光学或磁性介质以及软盘。该计算机可读介质可以存储可由至少一个处理单元执行并且包含用于执行系统操作的指令的集合的计算机程序。计算机程序或计算机代码的例子包括诸如由编译器产生的机器代码和包括由计算机、电子部件或微处理器通过使用解释器执行的高级代码的文件。虽然以上的讨论主要参照执行软件的微处理器或多核处理器,但一些实施例由诸如应用特定集成电路(asic)或场可编程门阵列(fpga)的一个或多个集成电路执行。在一些实施例中,这种集成电路执行存储于电路本身上的指令。另外,一些实施例中执行存储于可编程逻辑器件(pld)、rom和ram器件中的软件。在本说明书和本申请的任何权利要求中,术语“计算机”、“服务器”、“处理器”和“存储器”均指的是电子或其它技术装置。这些术语不包括人或人群。对于本说明书来说,术语显示或正在显示意味着在电子装置上显示。在本说明书和本申请的任何权利要求中,术语“计算机可读介质”、“计算机可读介质”和“计算机可读媒介”均完全限于以可通过计算机读取的形式存储信息的可触知的物理对象。这些术语不包括任何无线信号、有线下载信号或任何其它任何短暂的信号。虽然参照大量的特定的细节描述了本发明,但本领域技术人员可以认识到,在不背离本发明的精神的情况下,可通过其它特定的形式体现本发明。另外,大量的图(包括图7、图13和图17)在概念上示出处理。可按表示和描述的确切的序列执行这些处理的特定操作。可以不在一个连续的系列的操作中执行特定的操作,并且,在不同的实施例中,可执行不同特定的操作。并且,可通过使用几个子处理或者作为较大宏处理的一部分实现处理。因此,本领域技术人员可以理解,本发明不被以上的解释性的细节限制,而是要由所附的权利要求限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1