用于协调多符号位隐藏和残差符号预测的方法和装置与流程

文档序号:22627503发布日期:2020-10-23 19:36阅读:154来源:国知局
本发明实施例涉及静止图像和/或视频图像编码等图像处理领域。研究了用于协调多符号位隐藏和残差符号预测的新方法和新装置。
背景技术
::视频编码(coding)(视频编码(encoding)和解码)广泛用于数字视频应用,例如广播数字tv、经由互联网和移动网络的视频传输、视频聊天和视频会议等实时会话应用、dvd和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。自从1990年开发h.261标准中基于块的混合视频编码方法以来,已经开发了新的视频编码技术和工具,而这些新的视频编码技术和工具成为新的视频编码标准的基础。大多数视频编码标准的目标之一是在不牺牲图像质量的情况下,实现相比前一个标准更低的码率。其他视频编码标准包括mpeg-1视频、mpeg-2视频、itu-th.262/mpeg-2、itu-th.263、itu-th.264/mpeg-4,第10部分、高级视频编码(advancedvideocoding,avc)、itu-th.265、高效视频编码(highefficiencyvideocoding,hevc)以及这些标准的扩展版(例如,可扩展性和/或三维(three-dimensional,3d)扩展版)。如下文将更详细地描述,一些图像和视频编解码器对量化变换系数进行编码。非零变换系数有符号,即由绝对值和正负号组成。对一个系数的符号进行编码需要一个位来指示是正号还是负号。换句话说,符号位值“0”可以指示正号,而符号位值“1”可以指示负号,反之亦然。在[1]中,提出了一种称为符号数据隐藏(signdatahiding,sdh)的技术,用于将其应用于h.265/hevc工作草案。这一贡献的基本理念如下。对于满足如下条件的每个变换单元(transformunit,tu):第一个非零系数pfsc与最后一个非零系数plsc之间的系数数量大于阈值dthr:plsc-pfsc≥dthr,将所述第一非零系数的符号位嵌入所有非零系数之和的奇偶性中。四个阈值根据四种数据类型进行指示(见表1)。对于具有从4×4到32×32各种大小的所有tu,每个tu隐藏一个符号位[2]。表1:阈值对应四种数据类型cu类型帧内帧间亮度53色度55最后,对h.265/hevc标准采用了称为多符号位隐藏(multiplesbh,msbh)的sdh技术的修改。实际上,大小大于4×4的tu可以嵌入多个符号位。具体地,由于大型tu中的系数通过4×4系数群(coefficientgroup,cg)进行编码,因此本提议将符号位隐藏技术应用于每个4×4系数群,如图1所示。如果符号是“+”,则量化变换系数的绝对值的奇偶性应保持为偶数。否则,奇偶性应保持为奇数。因此,每个图像初始定义了系数数量的单个阈值[2](其默认值是dthr=4)。在h.265/hevc标准的最终版本中,这个阈值是不可改变的。图1示出了大小为16×16个系数的较大tu410,其被划分为16个大小为4×4的系数群,其中第一cg由参考数字420表示。图1进一步示出了每个cg的按预定扫描顺序的第一非零量化变换系数和最后一个非零量化变换系数。图1中的对角线箭头指示系数的扫描顺序。在该示例中,扫描顺序为从上到下的对角线。然而,应注意,符号位隐藏也可以用于不同的扫描顺序。在这种情况下,第一非零系数和最后一个非零系数的位置可以对应于扫描顺序而变化。应注意,可以按各种方式预定扫描顺序。例如,所述扫描顺序可以在标准中进行预定义,或者通过在码流内信号指示标准中规定的一种可能的预定义扫描来进行配置,或者通过在码流内定义扫描来进行配置。根据传统方法,在下文中,假设在所有非零系数(无符号)之和的奇偶性中嵌入(编码)第一非零系数的符号(按扫描顺序)。然而,通常,另一个非零系数的符号可以通过这种方式来输送。对于特定cg,如果第一非零系数的符号为正,则量化变换系数的绝对值的奇偶性为偶数。否则(如果第一非零系数的符号为负),奇偶性为奇数。因此,对于一个cg,在编码器侧符号位数据隐藏包括以下步骤:(a)检查cg是否满足应用符号位隐藏的条件。(b)确定cg中的第一非零系数及其符号。(c)计算cg中所有绝对系数值之和的奇偶性。(d)嵌入确定的符号:如果计算的奇偶性与确定的符号相对应,则不需要修改系数值。否则,通过将cg的一个系数加一或减一来修改该系数的值,使得所述奇偶性与确定的符号对应。针对tu中的所有cg重复上文步骤。相应地,在解码器侧,针对一个cg执行如下步骤:(a)从码流中解析cg的无符号系数值。(b)基于从码流中提取的条件和/或信息(如,指示是否允许sbh的标志)确定是否应用了符号数据隐藏。(c)确定cg中的第一非零系数。(d)计算cg中所有绝对系数值之和的奇偶性。(e)如果奇偶性有第一值(偶数或奇数),则将第一非零系数的符号设置为与所述第一值对应的相应第一极性(正或负)。上述步骤仅为示例性的。奇偶性可以按模2计算,该模2应用于与取和的二进制表示的最低有效位相对应的和。应注意,通常,可以应用不同于所有系数之和的奇偶性的函数,将cg中相应的一个或多个系数的一个或多个符号嵌入其结果中。例如,为了隐藏2个符号,可以应用模4运算,该模4运算应用于所有系数的绝对值之和。可以为模4运算的每个可能结果(有四个可能结果0、1、2、3)分配第一符号和第二符号的一个组合(例如++、+-、-+、-)。上文提及的编码侧的步骤(d)定义了将一个或多个符号嵌入cg的系数函数中。通常,如果需要修改系数来使奇偶性与待嵌入的符号匹配,那么根据这种修改的cg重建的图像信号可能会经历一些失真。因此,如果通过使失真最小化或对率失真函数进行优化来选择待修改系数的值,那么这是有益的。如果对不止一个符号进行编码,则同样适用。在这种情况下,可以修改一个或多个系数值以嵌入符号。本发明适用于基于cg的多符号位隐藏,但同样可以直接应用于tu,而无需将tu进一步划分为cg。如上所述,通过将变换域中的变换系数在空间上分成相同大小(例如,如图1所示的4×4系数)的群来获得cg。换句话说,将tu划分成cg,之后通过使用空间填充曲线(预定扫描顺序)扫描变换系数来使这些变换系数序列化。将tu分成群的替代方法是首先扫描系数,然后将序列化系数分成群,这里将这些群称为系数块(coefficientchunk,cc),以区分这两种定义。这种分离机理在图2中呈现。特别地,图2示出了系数的8×8块(tu)。通过按预定顺序(例如,在这种情况下,按z形扫描顺序)扫描这些系数对这些系数进行序列化。在扫描之后,按图2底部所示的序列提供系数。然后,将序列划分为系数块cc#0、cc#1、……、最后一个cc。可以对这些块按与上文针对cg所示类似的方式进行处理。对于每个块,评估一个或多个条件,以确定是否对cc应用sbh。如果要应用sbh,则将第一非零系数的符号嵌入cc中多个或所有系数的函数中。hevc参考模型(hevcreferencemodel,hm)框架是h.265/hevc标准的参考实现,其中,针对帧间预测块,基于四叉树(quad-tree,qt)的分割与非对称分割结合使用。相对于该hm框架,针对jem-3.0软件提出了一种新的基于四叉树和二叉树的分割机制,称为qtbt。四叉树二叉树(quad-treebinarytree,qtbt)分割不仅可以提供正方形块,还可以提供矩形块。当然,与hevc/h.265标准中使用的传统的基于四叉树的分割相比,qtbt分割的代价是会导致编码器侧的一些信令开销以及计算复杂度增加。然而,基于qtbt的分割具有更好的分割特性,因此,其编码效率比传统四叉树分割高得多[5]。总之,分割机制的这些变化通常会影响残差编码,特别是sbh。[3]中最初提出的另一种相关技术称为“残差符号预测”(rsp),该技术根据相邻块中的像素估计块的符号,并通过上下文自适应二进制算术编码(context-adaptivebinaryarithmeticcoding,cabac)对估计符号与真符号之间的差异进行编码(0:相同;1:不同)。如果符号得以很好地估计,那么差值趋于‘0’,可以通过cabac提高编码效率。这个概念在图3中说明。通常,在当前块和相邻块的边界处,各像素之间具有高相关性。利用这一特性,所提出的技术对当前块的离散余弦变换(discretecosinetransform,dct)系数的符号进行预测。当当前块中有n个非零系数时,这些符号的可能组合的数量为2n。所提出的技术将使用每个符号组合的当前块的上边界和左边界处的重建像素与从相邻块外推的像素进行比较。将均方误差降到最低的符号组合定义为估计符号。更具体地,该技术可以不应用于变换系数集合(如系数群)中的所有非零(即,有效)系数,而是仅仅应用于变换系数的子集,在整个本发明中,也将该子集称为“列表”。例如,如下文图4所示,当按降序排序时,该列表可以由(n个总数量中的)前m个系数的量值组成。用于制备列表的这种规则反映了如下事实:符号被估计的系数的量值(绝对值)越大,所应用的估计方法提供的的结果往往越好。技术人员将了解,如此估计的符号不一定是正确的,即,实际(原始)符号与估计符号之间可能有差异,如图4所示。其中,列表中m=6个符号中的一个(第四个)符号估计错误(是-1而不是1)。原因在于,通过外推法获得的像素值通常有缺陷,因此相比正确的符号组合有其他符号组合会产生最小的均方误差。图4示出了[3]中提出的方法与传统h.264/avc符号编码的比较。[3]中该技术的步骤在图4中示出并在表2中给出中。表2[3]中提出的技术步骤文献[4]中描述了一种类似技术。应注意,[4]包括“假设边界重建”部分,建议通过重用先前的计算结果来消除对假设成本的冗余计算。然而,[3]中已经公开了快速符号估计的方法。[4]和[3]中公开的技术之间的区别之一在于,[3]使用l2范数(平方差和,(sumofsquareddifferences,ssd))执行符号估计,而[4]使用l1范数(绝对差和)。从相邻块中选择用于导出成本值的像素(见图5)。在空间域中,成本函数定义([4])为:这里,n和m是块的高度和宽度。美国专利申请公开us2017/0142444a1包括与符号估计相关的附加细节。另外,us2017/0142444a1提出了用于对预测符号进行编码的不同方法(表2的步骤3)。在与[4]一起提出的参考软件中,通过引入两个预测符号列表来实现此修改(修改表2的步骤1)。属于这两个列表的预测符号使用不同的cabac上下文进行编码。指定以下规则来填充这些列表:-第一列表用量值大于预定义阈值t1的系数符号填充。第一列表中的符号总数受预定义值m的约束。-如果第一列表中的符号数量n小于m,则填充第二列表。第二列表中的符号总数受(m-n)约束,使得两个列表中的符号总数不超过m。填充第二列表的系数按它们在光栅顺序中的位置排序,其量值不应大于t1。基于符号属于第一列表还是第二列表确定对该符号进行编码的上下文(表2中步骤3的差异)。rsp和sbh都是旨在降低变换系数符号引起的速率的两种技术,其中,这些变换系数符号在等概率(equallyprobable,ep)模式下进行传统的熵编码,即,每个二进制状态(加/减)的概率被认为接近50%。因此,每个位元在输出码流中需要1个位。尽管rsp和sbh对压缩符号位采用了不同的机制,但有必要通过严格定义rsp和sbh应用于残差符号的顺序来协调这两种技术。图6示出了[4]中提出的协调sbh和rsp的机制。在该技术中,rsp使用两个列表,在图6中表示为rsp列表:-hp列表是包括量值高于阈值的那些量化变换系数的位置的列表,因此,可以以较高的概率正确预测这些量化变换系数的符号;-lp列表是包括量值低于阈值的那些量化变换系数的位置的列表,因此,可以以较低概率正确预测这些量化变换系数的符号。从图6可以看出,在rsp之前执行sbh。如果sbh隐藏量值高于阈值的那些量化变换系数的符号,则可以以高概率正确预测这些量化变换系数的符号,这会对rsp的编码效率产生不利影响。因此,已知的sbh(sdh或msbh)和rsp技术的协调机制的主要问题在于,它们会通过从hp列表中选择量化变换系数用于sbh或修改hp列表中的量化变换系数来降低正确预测符号的概率。因此,降低了rsp技术的编码效率。本发明旨在提供一种更好的用于协调sbh和rsp的概念,以避免上述对编码效率的不利影响,从而提高压缩性能。技术实现要素:本发明的实施例由独立权利要求的特征定义,并且实施例的其他有利实现方式由从属权利要求的特征定义。根据本发明的第一方面,提供了一种用于对信号的变换系数集合的符号进行编码的装置。所述装置包括处理电路,其中,所述处理电路用于:根据第一预定规则确定变换系数列表,其中,所述变换系数列表包括所述变换系数集合中的第一组变换系数;根据第二预定规则从所述变换系数集合中选择不包括在所述列表中的另一变换系数。所述处理电路还用于:将所述另一变换系数的符号嵌入所述变换系数集合中的变换系数值的预定函数的结果中;执行估计程序,以估计所述列表中所述变换系数的所述符号。此外,所述处理电路用于:确定所述第一组变换系数中的每个变换系数的二进制值,其中,所述二进制值指示所述变换系数的所述符号是否与所述变换系数的估计符号一致;使用熵编码技术对针对所述第一组变换系数获得的二进制值序列进行编码。根据本发明的第二方面,提供了一种用于对信号的变换系数集合的符号进行解码的装置。所述装置包括处理电路,其中,所述处理电路用于对所述第一组二进制值的熵编码序列进行解码。所述处理电路还用于:根据第一预定规则确定变换系数列表,其中,所述变换系数列表包括所述变换系数集合中的第一组变换系数;根据第二预定规则从所述变换系数集合中选择不包括在所述列表中的另一变换系数。此外,所述处理电路用于:通过计算所述变换系数集合中的变换系数值的预定函数来确定所述另一变换系数的符号;执行估计程序,以估计所述列表中所述变换系数的所述符号;通过第一组二进制值的所述解码序列来校正所述估计符号,以获得所述第一组变换系数的所述符号。根据本发明的第三方面,提供了一种对信号的变换系数集合的符号进行编码的方法。所述方法包括以下步骤:根据第一预定规则确定变换系数列表,其中,所述变换系数列表包括所述变换系数集合中的第一组变换系数;根据第二预定规则从所述变换系数集合中选择不包括在所述列表中的另一变换系数;将所述另一变换系数的符号嵌入所述变换系数集合中的变换系数值的预定函数的结果中;执行估计程序,以估计所述列表中所述变换系数的所述符号;确定所述第一组变换系数中的每个变换系数的二进制值,其中,所述二进制值指示所述变换系数的所述符号是否与所述变换系数的估计符号一致;使用熵编码技术对针对所述第一组变换系数获得的二进制值序列进行编码。根据本发明的第四方面,提供了一种对信号的变换系数集合的符号进行解码的方法。所述方法包括以下步骤:对第一组二进制值的熵编码序列进行解码;根据第一预定规则确定变换系数列表,其中,所述变换系数列表包括所述变换系数集合中的第一组变换系数;从所述变换系数集合中选择所述变换系数集合中的另一变换系数;执行估计程序,以估计所述列表中所述变换系数的所述符号;通过第一组二进制值的所述解码序列来校正所述估计符号,以获得所述第一组变换系数的所述符号。根据本发明,信号具体是指视频信号或图像信号等。所述信号还可以包括音频信号。所述处理电路可以通过软件和/或硬件的任何组合来实现。所述变换系数集合具体是系数群或系数块。本发明的特定方法是将rsp程序分成两个子程序,即在第一子程序中准备一个或多个rsp列表,在第二子程序中执行与rsp技术相关的其他动作。在这些子程序之间执行sbh。因此,可以有意选择用于使用sbh的系数,从而不在一个或多个rsp列表内包括该系数,而不是默认采用系数群(cg)或系数块(cc)的第一有效量化变换系数等。根据实施例,在像素域(空间域)中执行估计程序。所述估计程序包括:针对所述第一组变换系数的符号的每个假设组合,在空间域中重建与所述变换系数集合对应的图像块的边界像素;针对每个所述假设组合,评估预定空间域函数,其中,所述预定空间域函数指示跨越所述重建像素与相邻块的像素之间的所述块边界的像素值的平滑度;选择所述预定空间域函数指示平滑度最大值的假设组合,作为所述变换系数的所述估计符号。特别地,预定空间域函数(成本函数)是使用沿当前块与相邻块的边界相邻的像素的像素值之间的绝对差和的函数,如上文等式(1)中定义的函数。或者,指示像素值的平滑度的其他函数也是可能的,如使用平方差和的函数而非使用绝对差和的函数。根据替代实施例,在变换域(频域)中执行估计程序。所述估计程序包括:基于成本函数估计所述符号,其中,所述成本函数包括邻近与所述变换系数集合对应的当前图像块的相邻像素与基于所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。具体地,所述成本函数可以包括邻近所述变换图像块的所述相邻像素与基于所述图像块的预测信号计算的所述相邻像素的所述预测之间的平方变换差值的总和。这种成本函数的示例在下文给出(等式(2))。根据实施例,所述第二预定规则定义选择不属于所述列表的最低频非零变换系数,作为所述另一变换系数。根据实施例,所述处理电路还用于:通过预定熵编码程序对所述集合的第二组变换系数的所述符号进行编码,其中,所述第二组变换系数包括不属于所述列表中包括的所述第一组系数且与所述选择的其他变换系数不同的所有剩余非零变换系数。根据实施例,所述列表包括至少两个子列表。所述子列表通过阈值相互划分,使得第一子列表包括绝对值大于所述阈值的所述变换系数,所述第二子列表包括绝对值等于或低于所述阈值的所述变换系数。此外,分别使用不同的熵编码上下文对所述二进制值序列进行编码,其中,所述二进制值序列指示与针对所述两个子列表的所述变换系数确定的所述估计符号一致。如
背景技术
:部分所述,与第二子列表(lp列表)中量值低于阈值的系数相比,第一子列表(hp列表)中量值较大的变换系数(高于阈值)通过估计程序正确预测符号的概率更高。不同的编码上下文会考虑到这一点。根据实施例,预定函数的结果可以取两个不同的值,使得第一符号值对应第一结果值,第二符号值对应第二结果值。然后,所述嵌入所述另一变换系数的所述符号包括:确定所述变换系数的所述预定函数是否具有与所述另一变换系数的所述符号对应的结果值。因此,所述编码装置的所述处理电路还用于:在修改之前,如果所述预定函数不具有与所述另一变换系数的所述符号对应的结果,则修改所述变换系数中的一个变换系数的值,使得在修改之后所述变换系数的所述预定函数具有与所述另一变换系数的所述符号对应的结果。此外,确定所述变换系数中所述待修改的的一个变换系数并执行所述修改,以最小化率失真成本函数。例如,如果所述预定函数的所述结果是在对所述集合的变换系数进行量化之后的绝对系数值的总和的奇偶性,则通过将所述总和中包括的系数中的任意一个系数修改+1或-1就足以实现所期望的结果。因此,通过考虑率失真成本函数,可以做出最优选择。或者(或另外),还可以考虑修改估计函数,当系数修改引入的失真最小时,或者当系数的量化水平最高时,将该修改估计函数最小化。此外,根据实施例,所述列表包括子列表,所述编码装置的所述处理电路还用于:对所述变换系数值的所述修改施加约束,从而不允许会导致所述第一组变换系数在所述子列表中的分布发生变化的修改。即,由于根据本发明,在执行所述符号嵌入(sbh)之前选择所述列表中包括的系数(更具体地说,所述系数在系数群或系数块中的位置),因此不应该改变所述子列表中的系数(系数的位置),以便在解码器侧适当地进行解码。更具体地,当通过绝对值的阈值相互划分两个子列表时,可以定义约束以不允许修改变换系数值,从而防止修改会导致阈值交叉,使得修改值将属于除未修改值之外的另一个子列表。根据实施例,所述变换系数是量化变换系数。根据实施例,所述第一预定规则根据实施例将所述变换系数列表定义为预定数量m的量化变换系数的有序列表。更具体地,所述第一预定规则进一步定义以在所述变换系数列表中按降序包括所述变换系数集合中绝对值最高的所述m个变换系数。根据实施例,所述预定函数是量化模2之后绝对变换系数值的总和,即量化之后绝对变换系数值的总和的奇偶性。或者,还可以在预定函数的值中隐藏多个变换系数的符号。更具体地,按如上文针对单个系数描述的类似方式,可以通过预定函数来隐藏n个系数的符号,其中,所述预定函数可以取2n个不同值,这些值对应于将加和减符号分布于n个系数的2n个不同可能。具体地,根据实施例,所述处理电路用于:根据所述第二预定规则从所述变换系数集合中选择不包括在所述列表中的多个n个其他变换系数;将所述其他变换系数的所述符号嵌入所述变换系数集合中的变换系数值的预定函数的结果。更具体地,所述预定函数可以是量化模2n之后绝对变换系数值的总和。应理解,在嵌入(隐藏)多个变换系数的符号的实施例中,如果为了获得与符号的正确组合对应的所期望函数值而需要修改,则仅仅将单个系数改变+1或-1可能并不足够。相反,可能需要将单个系数最多改变最大值+/-(2n-1)或者将最多2n-1个系数改变+/-1(或这些可能的组合)。因此,在将sbh应用于多个系数的情况下,应比照应用对多个rsp子列表的修改应用的约束。根据实施例,所述处理电路用于:将所述变换单元的变换系数划分为多个变换系数集合;针对所述多个变换系数集合中的每个集合执行根据本发明的所述第一方面或第二方面所述的处理。更具体地,根据实施例,所述变换单元是对图像信号进行变换所获得的变换系数的二维块;所述处理电路用于将所述变换单元划分为多个二维块,作为所述多个变换系数集合。作为非限制性示例,所述变换单元可以是16×16或8×8块等,所述变换系数集合可以是8×8或4×4块等。根据替代性实施例,所述变换单元是对图像信号进行变换所获得的变换系数的二维块,所述处理电路用于:根据预定义顺序扫描所述变换单元的变换系数;将所述扫描的变换系数划分为多个一维块,作为所述多个变换系数集合。根据实施例,根据本发明的所述第二方面的所述解码二进制值指示对于所述列表中的每个变换系数,所述变换系数的所述符号是否与所述变换系数的所述估计符号一致。换句话说,所述二进制值指示根据所述估计程序估计的系数符号与正确符号之间的差异。由于预期所述估计只有很小的误差,特别是对于将添加到所述列表中的高量值变换系数,可以预期二进制值序列包括的值“0”(没有差异,即估计正确)远多于值“1”(符号估计错误)。因此,通过熵编码(特别是cabac编码)对所述二进制值序列进行的编码可以比对符号值本身进行的编码效率更高,其中,所述符号值本身具有等概率(equalprobability,ep)分布,如上所述。根据实施例,所述预定函数的所述计算的结果可以取两个不同值,并且根据如下规则确定所述另一变换系数的所述符号:如果所述结果为第一值,则所述符号是第一符号值;如果所述结果为第二值,则所述符号是第二符号。例如,所述两个不同值可以与计算结果的奇偶性(偶数或奇数)对应。附图和以下描述对一个或多个实施例的细节进行了阐述。其他特征、目的和优点在说明、附图以及权利要求中是显而易见的。附图说明下文结合附图和图式对本发明实施例进行更详细的描述。在附图中:图1为示出jct-vc对hevc/h.265标准采用的多符号位隐藏的图;图2为示出将tu分成cc的图;图3给出了在像素域中通过成本函数进行符号估计的现有技术程序的概述;图4示出了传统符号编码与图3的技术的比较;图5示出了用于根据已知技术导出成本值的像素的示例;图6示出了协调rsp和sbh的现有技术程序;图7为示出用于实现本发明实施例的视频编码系统示例的框图;图8为示出视频编码器示例的框图;图9为示出视频解码器示例的框图;图10示出了根据本发明实施例的编码器和解码器进行协调的符号预测和隐藏过程的数据流;图11给出了根据本发明实施例的协调sbh和预测列表生成的示例;图12示出了确定在rd意义下最佳的系数修改;图13示出了用于确定最佳系数修改的替代概念;图14示出了根据本发明实施例的替代频域符号估计概念;图15给出了在编码器侧本发明的示例性实现方式的概述;图16给出了在解码器侧本发明的示例性实现方式的概述;在图式中,相同的参考符号是指相同或至少功能上等效的特征。具体实施方式以下描述中,参考组成本发明一部分并以说明的方式示出本发明实施例的具体方面或可使用本发明实施例的具体方面的附图。应理解,本发明实施例可在其他方面中使用,并可包括附图中未描述的结构变化或逻辑变化。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。例如,应理解,结合所描述方法的公开内容对于用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中分别执行多个步骤中的一个或多个),即使附图中未明确描述或说明该一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述具体装置,则对应的方法可以包括一个步骤来实现一个或多个单元的功能(例如,一个步骤实现一个或多个单元的功能,或多个步骤中分别实现多个单元中一个或多个单元的功能),即使附图中未明确描述或说明该一个或多个步骤。此外,应理解,除非另有说明,否则本文中描述的各种示例性实施例和/或方面的特征可彼此组合。视频编码通常是指对构成视频或视频序列的图像序列进行处理。在视频编码领域中,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频编码(coding)包括两部分:视频编码和视频解码。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以,减少表示视频图像所需的数据量(从而实现更高效的存储和/或传输)。视频解码在目的侧执行,通常包括相对于编码器作逆处理,以重建视频图像。关于视频图像(或一般为图像,将在下文解释)的“编码(coding)”的实施例应理解为同时涉及视频图像的“编码”和“解码”两者。编码部分和解码部分的组合也称为编解码(codec)((编码和解码)。在无损视频编码情况下,可以重建原始视频图像,即重建的视频图像与原始视频图像具有相同的质量(假设在存储或传输期间没有传输损耗或其他数据丢失)。在有损视频编码情况下,通过量化等进行进一步压缩,来减少表示视频图像所需的数据量,而解码器侧无法完全重建视频图像,即重建的视频图像的质量相比原始视频图像的质量较低或较差。自h.261以来的几个视频编码标准属于“有损混合视频编解码器”组(即,将像素点域中的空间预测和时间预测与变换域中用于应用量化的2d变换编码结合)。视频序列中的每个图像通常分割成不重叠块的集合,通常在块级进行编码。换句话说,在编码器侧,通常在块(视频块)级对视频进行处理(即编码),例如,通过空间(帧内)预测和时间(帧间)预测来生成预测块;从当前块(当前处理的块/待处理的块)中减去预测块,得到残差块;在变换域中对残差块进行变换和量化,以减少待传输(压缩)的数据量,而在解码器侧,将相对于编码器的逆处理应用于经编码或压缩的块,以重建当前块以进行表示。此外,编码器和解码器的处理步骤相同,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即编码)。由于视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括编码)共享许多概念和技术或工具,所以在下文中,术语“图像”用于指代视频序列中的视频图像(如上文所解释)和/或静止图像,以避免在不需要时对视频图像与静止图像之间进行不必要的重复和区分。如果上述描述仅仅是指静止图像,应使用术语“静止图像”。在以下实施例中,基于图7至图9描述了编码器100、解码器200和编码系统300(然后基于图10至图16更详细地描述本发明的实施例)。图7是示出了编码系统300(例如,图像编码系统300)的实施例的概念性或示意性框图。编码系统300包括源设备310,用于将编码数据330(例如,编码图像330)提供给目的设备320等,以对编码数据330进行解码。源设备310包括编码器100或编码单元100,并且还(即可选地)可以包括图像源312、预处理单元314(例如,图像预处理单元314)以及通信接口或通信单元318。图像源312可以包括或可以是任何类型的图像捕获设备,用于捕获真实世界图像等;和/或任何类型的图像生成设备,例如,用于生成计算机动画图像的计算机图形处理器;或任何类型的设备,用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtualreality,vr)图像)和/或其任何组合(例如,增强现实(augmentedreality,ar)图像)。在下文中,除非另有特别说明,否则所有这些类型的图像和任何其他类型的图像将称为“图像”,而之前关于术语“图像”(涵盖“视频图像”和“静止图像”)的解释仍然适用,除非有明确的不同规定。(数字)图像为或可以看作具有强度值的像素点的二维阵列或矩阵。阵列中的像素点也可以称为像素(pixel/pel)(图像元素的简称)。阵列或图像在水平方向和垂直方向(或轴)上的像素点的数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用三种颜色分量,即图像可以表示为或包括三个像素点阵列。在rgb格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点阵列。然而,在视频编码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,ycbcr,包括通过y指示的亮度分量(有时也用l指示)和通过cb和cr指示的两个色度分量。亮度(luminance,简称luma)分量y表示亮度或灰度级强度(例如,类似在灰度图像中),而两个色度(chrominance,简称chroma)分量cb和cr表示色度或颜色信息分量。因此,ycbcr格式的图像包括亮度像素点值的亮度像素点阵列(y)和色度值的两个色度像素点阵列(cb和cr)。rgb格式的图像可以转换或变换成ycbcr格式,反之亦然。该过程也称为颜色转换或颜色变换。如果图像是单色的,则该图像可以仅包括亮度像素点阵列。图像源312可以是用于捕获图像的摄像机、包括或存储先前捕获或生成的图像的存储器(例如,图像存储器),和/或任何类型的用于获取或接收图像的(内部或外部)接口等。例如,所述摄像机可以是集成在源设备中的本地或集成摄像机,所述存储器可以是集成在源设备等中的本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源为诸如摄像机等的外部图像捕获设备、外部存储器,或诸如外部计算机图形处理器、计算机或服务器等的外部图像生成设备。所述接口可以是任何类型的根据任何专有或标准化接口协议的接口,例如,有线或无线接口、光接口。用于获取图像数据312的接口可以是与通信接口318相同的接口,或作为通信接口318的一部分。每个设备内各单元之间的接口包括电缆连接、usb接口,源设备310与目的设备320之间的通信接口318和322包括电缆连接、usb接口、无线接口。为了区分预处理单元314和预处理单元314执行的处理,图像或图像数据313也可以称为原始图像或原始图像数据313。预处理单元314用于接收(原始)图像数据313并对图像数据313进行预处理,以获得经预处理的图像315或经预处理的图像数据315。预处理单元314执行的预处理可以包括调整、颜色格式转换(例如,从rgb转换为ycbcr)、颜色校正,或去噪等。编码器100用于接收经预处理的图像数据315并提供经编码的图像数据171(将基于图8等进一步描述细节)。源设备310的通信接口318可以用于接收经编码的图像数据171,并将其直接传输到其他设备(例如,目的设备320或任何其他用于存储或直接重建的设备);或用于分别在存储编码数据330和/或将编码数据330传输到其他设备(例如,目的设备320,或任何其他用于解码或存储的设备)之前,处理经编码的图像数据171。目的设备320包括解码器200或解码单元200,并且还(即,可选地)可以包括通信接口或通信单元322、后处理单元326和显示设备328。目的设备320的通信接口322用于直接从源设备310或从存储器等任何其它源接收经编码的图像数据171或编码数据330,其中,所述存储器为编码图像数据存储器等。通信接口318和通信接口322可以用于经由源设备310与目的设备320之间的直接通信链路(例如,直接有线或无线连接,包括光连接),或经由任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络),或其任意组合分别传输或接收经编码的图像数据171或编码数据330。例如,通信接口318可以用于将经编码的图像数据171封装成合适的格式(例如,数据包),以便经由通信链路或通信网络进行传输,并且还可以用于执行数据丢失保护。例如,与通信接口318对应的通信接口322可以用于对编码数据330进行解封装,以获取经编码的图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复(例如,包括差错隐藏)。通信接口318和通信接口322均可配置为单向通信接口(如图7中从源设备310指向目的设备320的经编码的图像数据330的箭头所指示),或双向通信接口,并且可以用于发送和接收消息等,以建立连接,确认和/或重新发送丢失或延迟的数据(包括图像数据),并交换与通信链路和/或数据传输(例如,经编码的图像数据传输)相关的任何其他信息等。解码器200用于接收经编码的图像数据171并提供经解码的图像数据231或解码图像231(将基于图9等进一步描述细节)。目的设备320的后处理器326用于对经解码的图像数据231(例如,解码图像231)进行后处理,以获得经后处理的图像数据327(例如,后处理图像327)。例如,由后处理单元326执行的后处理可以包括颜色格式转换(例如,从ycbcr到rgb)、颜色校正、调整或重新采样,或任何其他处理,以便准备经解码的图像数据231供显示设备328等显示。目的设备320的显示设备328用于接收经后处理的图像数据327,以向用户或观看者等显示所述图像。显示设备328可以是或可以包括任何类型的用于表示重建图像的显示器,例如,集成或外部的显示器或监视器。例如,显示器可以包括阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)、等离子显示器、有机发光二极管(organiclightemittingdiode,oled)显示器或诸如投影仪、全息显示器、生成全息图的装置等任何其他类型的显示器。尽管图7将源设备310和目的设备320作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备310或对应功能以及目的设备320或对应功能。在这类实施例中,源设备310或对应功能以及目的设备320或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。基于描述,图7所示的源设备310和/或目的设备320中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而变化,这对技术人员来说显而易见的。下文将提供编码系统300、源设备310和/或目的设备320的一些非限制性示例。智能手机、平板电脑或具有集成显示器的手持式摄像机等各种电子产品可以看作编码系统300的示例。这些电子产品包括显示设备328,其中大多数还包括一体化摄像机,即图像源312。对一体化摄像机拍摄的图像数据进行处理并显示。所述处理可以包括对图像数据进行内部编码和解码。此外,可以将经编码的图像数据存储在集成存储器中。或者,这些电子产品可以具有有线或无线接口,以从诸如互联网或外部摄像机等外部源接收图像数据,或将经编码的图像数据传输到外部显示器或存储单元。另一方面,机顶盒不包括一体化摄像机或显示器,而是对接收的图像数据进行图像处理,以在外部显示设备上显示。这种机顶盒可以由芯片组等体现。或者,类似机顶盒的设备可以包括在显示设备中,如具有集成显示器的电视机。另一个示例是不含集成显示器的监控摄像机。它们表示源设备,具有将捕获和编码的图像数据传输到外部显示设备或外部存储设备的接口。相反,诸如智能眼镜或3d眼镜(例如用于ar或vr)等设备表示目的设备320。它们接收经编码的图像数据并对其显示。因此,图7所示的源设备310和目的设备320仅仅是本发明的示例性实施例,且本发明实施例不限于图7所示的那些实施例。源设备310和目的设备320可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本(notebook/laptop)电脑、手机、智能手机、平板(tablet/tabletcomputer)、摄像机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等。对于大规模专业编码和解码,源设备310和/或目的设备320可以另外包括服务器和工作站,它们可以包括在大型网络中。这些设备可能不使用或使用任何类型的操作系统。编码器和编码方法图8示出了编码器100(例如,图像编码器100)的实施例的示意性/概念性框图。编码器100包括输入端102、残差计算单元104、变换单元106、量化单元108、反量化单元110和逆变换单元112、重建单元114、缓冲器116、环路滤波器120、解码图像缓冲器(decodedpicturebuffer,dpb)130、预测单元160(包括帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154和模式选择单元162)、熵编码单元170和输出端172。图8所示的视频编码器100也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。每个单元可以由处理器和非瞬时性存储器组成,由处理器执行存储在非瞬时性存储器中的代码来执行其处理步骤。残差计算单元104、变换单元106、量化单元108和熵编码单元170等形成编码器100的正向信号路径,而反量化单元110、逆变换单元112、重建单元114、缓冲器116、环路滤波器120、解码图像缓冲器(dpb)130、帧间预测单元144和帧内预测单元154等形成编码器的反向信号路径。编码器的反向信号路径与解码器(参见图9中的解码器200)的信号路径对应以提供相同重建和预测的逆处理。编码器用于通过输入端102等接收图像101或图像101中的图像块103,其中,图像101是形成视频或视频序列的图像序列中的图像等。图像块103也可以称为当前图像块或待编码图像块,图像101也可以称为当前图像或待编码图像(特别是在视频编码中,以便将当前图像与其他图像(例如,同一视频序列(即,也包括当前图像的视频序列)中的先前编码和/或解码的图像))区分开。编码器100的实施例可以包括分割单元(图8中未描述),例如,分割单元也可以称为图像分割单元,用于将图像103分割成多个块(如块103等块),通常分割成多个不重叠块。分割单元可用于对视频序列的所有图像使用相同的块大小和定义块大小的对应网格,或者用于改变图像或图像子集或组之间的块大小,并将每个图像分割成对应块。所述多个块中的每个块可以具有正方形尺寸或更一般的矩形尺寸。可能不会出现块为非矩形形状的图像区域。与图像101一样,块103同样是或可以看作是具有强度值(像素点值)的像素点的二维阵列或矩阵,但是块103的尺寸比图像101小。换句话说,例如,根据所应用的颜色格式,块103可以包括一个像素点阵列(例如,单色图像101情况下的亮度阵列)或三个像素点阵列(例如,彩色图像101情况下的一个亮度阵列和两个色度阵列)或任何其他数量和/或类型的阵列。块103的水平方向和垂直方向(或轴线)上的像素点数量限定了块103的大小。图8所示的编码器100用于逐块对图像101进行编码,例如,按块103进行编码和预测。残差计算单元104用于通过如下等方式基于图像块103和预测块165(下文详细介绍预测块165)来计算残差块105:逐个像素点(逐个像素)从图像块103的像素点值中减去预测块165的像素点值,以获得像素点域中的残差块105。变换单元106用于对残差块105的像素点值进行空间频率变换或线性空间(频率)变换等变换(例如,离散余弦变换(discretecosinetransform,dct)或离散正弦变换(discretesinetransform,dst)),以获得变换域中的变换系数107。变换系数107也可以称为变换残差系数,表示变换域中的残差块105。变换单元106可用于进行dct/dst的整数近似法,如针对h.265/hevc指定的核变换。与正交dct变换相比,这类整数近似法通常通过某一因子按比例缩放。为了维持经过正变换和逆变换处理的残差块的范数,应用附加缩放因子作为变换过程的一部分。缩放因子通常是基于某些约束来选择的,例如缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实施成本之间的权衡等。例如,在解码器200侧,通过逆变换单元212等为逆变换(以及在编码器100侧,通过逆变换单元112等为对应逆变换)指定具体的缩放因子;相应地,可以在编码器100侧,通过变换单元106等为正变换指定对应的缩放因子。量化单元108用于通过应用标量量化或矢量量化等对变换系数107进行量化,以获得量化系数109。量化系数109也可以称为经量化的残差系数109。例如,对于标量量化,可以应用不同程度的缩放来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(quantizationparameter,qp)指示合适的量化步长。例如,量化参数可以是合适的量化步长的预定义集合的索引。例如,较小的量化参数可对应精细量化(较小量化步长),较大的量化参数可对应粗糙量化(较大量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元110等执行的对应或反解量化可包括乘以量化步长。根据高效视频编码(hevc)的实施例可用于使用量化参数来确定量化步长。通常,可以基于量化参数使用包括除法的方程的定点近似来计算量化步长。量化和解量化可以引入附加缩放因子以恢复残差块的范数,由于在量化步长和量化参数的方程的定点近似中使用的缩放,可能会修改残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表并在码流中等将其从编码器指示给解码器。量化是有损操作,其中量化步长越大,损耗越大。编码器100的实施例(或分别量化单元108的实施例)可用于通过对应的量化参数等输出包括量化方案和量化步长的量化设置,使得解码器200可以接收和应用对应的反量化。编码器100(或量化单元108)的实施例可用于输出量化方案和量化步长,例如直接输出或经由熵编码单元170或任何其他熵编码单元编码的熵输出。反量化单元110用于通过基于或使用与量化单元108相同的量化步长应用量化单元108所应用的量化方案的逆过程等,对量化系数应用量化单元108的反量化,以获得解量化系数111。解量化系数111也可以称为解量化残差系数111,对应于变换系数108,但是由于量化造成的损耗,解量化系数111通常与变换系数不同。逆变换单元112用于应用变换单元106所应用的变换的逆变换,例如逆离散余弦变换(dct)或逆离散正弦变换(dst),以获得像素点域中的逆变换块113。逆变换块113也可以称为经逆变换的解量化块113或经逆变换的残差块113。重建单元114用于通过逐个像素点添加经解码残差块113的像素点值和预测块165的像素点值等,合并逆变换块113和预测块165以获得像素点域中的重建块115。缓冲单元116(或简称“缓冲器”116)(例如线缓冲器116)用于缓冲或存储重建块和相应的像素点值,以进行帧内估计和/或帧内预测等。在其他实施例中,编码器可用于使用存储在缓冲单元116中的未滤波的重建块和/或相应的像素点值进行任何类型的估计和/或预测。编码器100的实施例可配置成使得,例如缓冲单元116不仅用于存储用于帧内估计152和/或帧内预测154的重建块115,而且用于存储用于环路滤波器单元120的重建块115,和/或配置成使得,例如缓冲单元116和解码图像缓冲单元130形成一个缓冲器。其他实施例可用于使用滤波块121和/或解码图像缓冲器130中的块或像素点(两者都未在图8中示出)作为帧内估计152和/或帧内预测154的输入或基础。环路滤波器单元120(或简称“环路滤波器”120)用于通过应用去块像素点自适应偏移(sample-adaptiveoffset,sao)滤波器或其他滤波器(例如,锐化或平滑滤波器或协同滤波器)等,对重建块115进行滤波以获得滤波块121。滤波块121也可以称为经滤波重建块121。环路滤波器单元120的实施例可以包括滤波器分析单元和实际滤波器单元,其中,所述滤波器分析单元用于为所述实际滤波器确定环路滤波器参数。滤波器分析单元可用于将固定的预定滤波器参数应用于实际环路滤波器,从预定滤波器参数集合中自适应地选择滤波器参数,或自适应地为实际环路滤波器计算滤波器参数。环路滤波器单元120的实施例可以包括(图8中未示出)一个或多个滤波器(如环路滤波器组件和/或子滤波器),例如,一个或多个不同种类或类型的滤波器,这些滤波器例如串联连接或并联连接或以其任何组合连接,其中,滤波器都可以单独或与所述多个滤波器中的其他滤波器联合包括滤波器分析单元,以确定相应的环路滤波器参数,例如,如前一段落所述。编码器100(分别地环路滤波器单元120)的实施例可用于输出环路滤波器参数,例如直接输出或通过熵编码单元170或任何其他熵编码单元所编码的熵输出,使得解码器200等可以接收和应用相同环路滤波器参数进行解码。解码图像缓冲器(dpb)130用于接收和存储滤波块121。解码图像缓冲器130还可用于存储同一当前图像或不同图像(例如,先前重建的图像)的其他先前滤波块(例如,先前重建和滤波块121),并且可提供完整的先前重建(即解码)的图像(和对应的参考块和像素点)和/或部分重建的当前图像(和对应的参考块和像素点),用于帧间估计和/或帧间预测等。本发明的其他实施例还可以用于将解码图像缓冲器130的先前滤波块和对应的滤波像素点值用于任何类型的估计或预测,例如,帧内估计和帧内预测以及帧间估计和帧间预测。预测单元160(也称为块预测单元160)用于:接收或获取图像块103(当前图像101的当前图像块103)和经解码或至少重建的图像数据,例如,来自缓冲器116的同一(当前)图像的参考像素点和/或来自解码图像缓冲器130的一个或多个先前解码图像的经解码的图像数据231,并处理此类数据进行预测,即提供预测块165。预测块165可以是帧间预测块145或帧内预测块155。模式选择单元162可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块145或155,以用作预测块165来计算残差块105和重建重建块115。模式选择单元162的实施例可用于(例如,从预测单元160支持的预测模式中选择)选择预测模式,所述预测模式提供最佳匹配或者说最小残差(最小残差意指为了传输或存储进行更好的压缩),或提供最小信令开销(最小信令开销意指为了传输或存储进行更好的压缩),或者同时考虑或平衡以上两者。模式选择单元162可用于基于率失真优化(ratedistortionoptimization,rdo)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择至少满足预测模式选择标准的关联率失真的预测模式。下文将更详细地解释由示例性编码器100执行的预测处理(例如,通过预测单元160执行)和模式选择(例如,通过模式选择单元162)。如上所述,编码器100用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。帧内预测模式集合可以包括32种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式或者如h.264等定义的方向性模式,或者可以包括65种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式或者如h.265等定义的方向性模式。(可能的)帧间预测模式的集合取决于可用参考图像(即,例如存储在dpb230中的先前至少部分解码的图像)和其他帧间预测参数,例如,取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域附近的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否应用像素内插(例如二分之一/半像素内插和/或四分之一像素内插)。除上述预测模式外,还可以应用跳过模式和/或直接模式。预测单元160还可以用于将块103分割成更小的块分割或子块,例如,迭代使用四叉树(quad-tree,qt)分割、二叉树(binary-tree,bt)分割或三叉树(triple-tree,tt)分割或其任何组合,以及用于对每个块分割或子块进行预测等,其中,所述模式选择包括选择分割块103的树形结构以及应用于每个块分割或子块的预测模式。帧间估计单元(interestimationunit/interpictureestimationunit)142用于接收或获取图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建块(例如,一个或多个其他/不同的先前解码图像231的重建块),以进行帧间估计(interestimation/interpictureestimation)。例如,视频序列可以包括当前图像和先前解码图像231,或换句话说,当前图像和先前解码图像231可以为构成视频序列的一系列图像的一部分或构成该图像序列。例如,编码器100可用于从多个其他图像中的同一或不同图像的多个参考块中选择(获取/确定)参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。该偏移也称为运动矢量(motionvector,mv)。帧间估计也称为运动估计(motionestimation,me),帧间预测也称为运动预测(motionprediction,mp)。帧间预测单元144用于获取(例如,接收)帧间预测参数143,并基于或使用帧间预测参数143进行帧间预测,以获得帧间预测块145。尽管图8针对帧间编码示出了两个不同的用于帧间编码的单元(或步骤),即帧间估计142和帧间预测152,但是这两种功能可以作为一个整体来执行(帧间估计需要/包括计算帧间预测块,即,该帧间预测154或“一种”帧间预测154),例如,通过迭代测试可能的帧间预测模式的所有可能的或预定的子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并将当前最佳的帧间预测模式和相应的帧间预测块作为(最终的)帧间预测参数143和帧间预测块145,而不用再执行一次帧间预测144。帧内估计单元152用于获取(例如,接收)图像块103(当前图像块)和同一图像的一个或多个先前重建块(例如,重建相邻块),以进行帧内估计。例如,编码器100可用于从多个帧内预测模式中选择(获取/确定)帧内预测模式并将其作为帧内估计参数153提供给帧内预测单元154。编码器100的实施例可用于基于优化标准(例如,最小残差(例如,提供与当前图像块103最相似的预测块155的帧内预测模式)或最小率失真)选择帧内预测模式。帧内预测单元154用于基于帧内预测参数153(例如,所选帧内预测模式153)确定帧内预测块155。尽管图8示出了两个不同的用于帧内编码的单元(或步骤),即帧内估计152和帧内预测154,但是这两种功能可以作为一个整体来执行(帧内估计需要/包括计算帧内预测块,即,该帧内预测154或“一种”帧内预测154),例如,通过迭代测试可能的帧内预测模式的所有可能的或预定的子集,同时存储当前最佳的帧内预测模式和相应的帧内预测块,并将当前最佳的帧内预测模式和相应的帧内预测块作为(最终的)帧内预测参数153和帧内预测块155,而不用再执行一次帧内预测154。熵编码单元170用于单独或联合(或完全不联合)对经量化的残差系数109、帧间预测参数143、帧内预测参数153和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variablelengthcoding,vlc)方案、上下文自适应vlc(contextadaptivevlc,calvc)方案、算术编码方案、上下文自适应二进制算术编码(contextadaptivebinaryarithmeticcoding,cabac),以获得经编码的图像数据171。输出端172可以使用编码码流171的形式等输出编码图像数据171。解码器和解码方法图9示出了示例性视频解码器200,用于接收例如由编码器100编码的经编码的图像数据(例如,经编码码流)171,以获得解码图像231。解码器200包括输入端202、熵解码单元204、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260(包括帧间预测单元244、帧内预测单元254)以及模式选择单元260和输出端232。熵解码单元204用于对经编码的图像数据171执行熵解码,以获得量化系数209和/或经解码的编码参数(图9中未示出)等,例如,帧间预测参数143、帧内预测参数153和/或环路滤波器参数中的(解码的)任一者或全部。在解码器200、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230的实施例中,预测单元260和模式选择单元260用于执行编码器100(及相应功能单元)的逆处理,以对经编码的图像数据171进行解码。特别地,反量化单元210的功能可以与反量化单元110相同;逆变换单元212的功能可以与逆变换单元112相同;重建单元214的功能可以与重建单元114相同;缓冲器216的功能可以与缓冲器116相同;环路滤波器220的功能可以与环路滤波器120相同(关于实际环路滤波器,因为环路滤波器220通常不包括滤波器分析单元来基于原始图像101或块103确定滤波器参数,而是从熵解码单元204等接收(显式或隐式)或获取用于编码的滤波器参数;解码图像缓冲器230的功能可以与解码图像缓冲器130相同。预测单元260可以包括帧间预测单元244和帧内预测单元254,其中,帧间预测单元244的功能可以与帧间预测单元144相同;帧内预测单元254的功能可以与帧内预测单元154相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获取预测块265(无需原始图像101的任何其他信息)以及用于从熵解码单元204等接收或获取(显式或隐式地)预测参数143或153和/或关于所选预测模式的信息。解码器200用于经由输出232等输出解码图像231,用于向用户呈现或供用户观看。再次参考图7,从解码器200输出的解码图像231可以在后处理器326中进行后处理。由此产生的后处理图像327可以传输到内部或外部显示设备328并显示。实施例的进一步细节下文将结合图10至图16的附图描述本发明的示例性实施例的进一步细节。本发明提出的符号位隐藏(sbh)和残差符号预测(rsp)技术的特定协调包括将rsp程序分成两个子程序:准备rsp列表(至少一个列表,在具体实施例中:两个或两个以上列表);执行与rsp技术相关的其他动作,特别地,执行符号估计;获取估计符号与原始符号之间的差异并对其进行编码。在这两个子程序之间,执行sbh。特别地,不再静态地选择将应用sbh的系数(如,按预定扫描顺序的第一非零变换系数),而是选择尚未通过rsp技术进行预测的系数,即不在一个或多个rsp列表中的系数。这需要编码器侧通过对rsp列表中量化变换系数的允许更改施加约束来对sbh程序进行额外的修改。本发明提出了两种规范性(即,至少适用于解码器,特别是:解码器和编码器)和非规范性(即,仅适用于编码器)改进,这些改进协调在编码器和解码器侧的符号预测和隐藏过程。在本案例中,编码和解码过程都引入了规范性改进。在实施例中,为了使解码器侧能够对从编码器侧接收的信号进行正确解析和解码,需要在编码器侧进行进一步非规范性修改。当然,根据本发明的解码器应该能够对根据本发明的编码器已经编码的任何信号进行解码。图10示出了在编码器侧和解码器侧协调和应用sbh和rsp的修改程序的处理流程。在编码器侧,第一步骤(s10)是准备一个或多个rsp列表,即待估计(预测)其符号的系数的列表。在本发明示例中,这包括hp列表和lp列表,作为rsp列表的子列表示例。在以下描述中,为了简单起见,它们也将被指定为“rsp列表”。上文结合对rsp技术的一般解释描述了lp列表和hp列表。这些列表通过如下方式来构建:定义列表的总体大小(m),对按量值排序的前m个系数的经解析的量值进行阈值化,并对这些系数进行扫描(例如,按光栅顺序)。下一步骤(s12)与传统方法的不同之处在于,符号待隐藏(嵌入)的系数的位置不再定义为扫描顺序内第一个非零系数的位置。如果某个系数属于rsp列表,则不应选择该系数的符号进行隐藏,因为该系数已经经历了利用增强压缩的编码和指示程序(rsp技术)。否则,将同时使用两种不同的技术(即以冗余方式)对相同数据进行编码。根据本发明的一个实施例,建议选择其符号利用sbh机制进行嵌入并恢复的系数的位置,作为不在列表中的最低频(有效)系数。换句话说,从该选择过程中排除与属于rsp列表的系数对应的位置。如同在传统情况下,在编码器侧,sbh技术应该保证,对于给定的系数集合(cc或cg),所隐藏符号的值与应用于该集合的校验函数(预定函数)的值对应。在量化过程中,通常通过修改量化变换系数的量值来实现量化残差信号的这一属性。特别地,如果系数属于rsp列表(hp列表和lp列表),则只有在hp与lp之间的阈值不交叉的情况下,才允许修改其量值。否则,由于在对两个子列表的估计符号与真符号之间的符号差异进行编码时应用不同的上下文,因此解码器将无法对估计符号与正确符号之间的所接收的编码差异进行正确解码。在步骤s14中执行所选符号的隐藏过程时考虑该约束。在后续步骤s16中,执行实际的rsp程序(符号估计和差异编码)。这可以通过上文介绍部分中描述的任何已知方法进行,或者通过其他合适的方法(如下文结合图14描述的方法)进行。在解码器端,前两个步骤与编码过程一致。首先,在步骤s20中,准备一个或多个rsp列表。特别地,这可以基于预设大小(m)以及如上所述根据量值按降序对系数进行排序来进行。在编码器侧和解码器侧,也可以采用其他合适的机制。在后续步骤s22中,选择有效的量化变换系数,用于根据sbh机制,基于预定函数的值恢复其符号。对系数进行选择,从而不在一个或多个rsp列表(hp列表或lp列表)中包括该系数,与编码器侧相同。特别地,基于与编码器侧相同的规则选择系数,如不在列表中的最低频系数。按照传统方式执行符号解码过程的最后步骤:确定应用sbh的系数的符号(s24);执行rsp程序,包括:对估计符号与原始符号之间的差异进行解码;执行符号估计程序;基于解码的差异对估计符号进行校正(s26)。图11示出了分别在步骤s10和s12以及步骤s20和s22中执行的符号隐藏与符号预测之间的协调的示例性情况。图的左上部分示出了量化变换系数集合,在这种情况下是4×4系数群。对该系数群进行解量化,并对恢复的(即,解量化)的系数进行阈值化,其中,阈值t=300。在给定的示例中,rsp列表中的系数总数定义为m=5。相应地,与系数值768、512和-512对应的量值大于阈值300的系数位置属于hp子列表。因此,仍然有5-3=2个系数来填充lp子列表。更具体地,在剩余三个有效系数中,每个系数的量值都为256,只有两个系数包括在lp子列表中。因此,选择量值为256的rsp列表中不包括的剩余系数(在该示例中,系数群的唯一剩余有效系数),通过sbh进行隐藏。虽然在原则上,也可以使用量化系数进行阈值化,但是在恢复系数域中进行阈值化具有与块大小和量化参数无关的优点。奇偶校验揭示,该示例中不需要修改系数。即,量化变换系数的绝对值之和为3+1+2+1+1+2=10,即偶数。这与选择进行隐藏的系数的符号(+)对应。图12描述了确定最佳系数修改的传统示例(在需要获取预定函数的预期值,以便与待隐藏的正确符号相对应时)。为了简单起见,考虑如下情况:将通过计算量化之后的变换系数之和的奇偶值来隐藏单个系数,即,可以通过将单个任意系数修改+1或-1来实现必要的修改。通常,对残差信号(residualsignal,res)进行变换(通常,使用诸如dct或dst等正交变换),其中,获得原始块与预测块的差值作为所述残差信号。利用预定义的量化参数值进一步量化所得变换系数。可以按不同方式执行量化程序。然而,最常见的量化程序是率失真优化量化(rate-distortionoptimizedquantization,rdoq)。它使用cabac统计,从而不仅使量化误差最小化,而且使对所得量化信号进行编码所需的位数最小化。rdoq使用量化参数来确定对rd最有益的系数修改。在校验函数是奇偶校验函数的情况下,如这里所假设的,总是通过增加或减少属于应用该校验函数的系数集合的一个系数的量值来获得所需的校验函数值。编码器侧的sbh技术与量化变换系数qr一起作用,并使用类似于rdoq的技术来确定对rd最有益的系数修改。对于校验函数是奇偶校验函数的情况,总是通过增加或减少属于应用该校验函数的系数集合的一个系数的量值来获得所需的校验函数值。在图12所示的示例性实现方式中,对于应用校验函数的每个系数位置,计算成本值:增加成本(cost-1)和减少成本(cost+1)。对结果进行相互比较,选择成本值最小的修正的位置和方向(+或-1)。因此,在所描述的示例中,最低修改成本确定量化变换系数量值的修改位置和方向(posbest)。如上所述,禁止对量化变换系数进行某些修改,例如导致在解码器侧恢复符号的位置发生改变的修改。上文已详细讨论了这类约束。考虑到这些约束,可能存在以下情况:这些约束禁止对最小成本值进行的修改(修改的位置和方向),因此无法选择。为了根据这一点选择修改而要应用的简单规则是选择具有第二最小成本值的修改(或更通常地,不受约束限制的最小成本值)。然而,虽然可以在本发明的框架中应用上文方法,但事实证明,在编码过程中存在符号隐藏和符号预测技术的框架中,纯粹基于成本的优化是次优的。事实上,由于成本函数通常不是精确计算而是估计的,因此很多系数都有近似的修改成本。因此,本发明提出应用替代方法在编码器侧修改系数的量值。下文将结合图13对此进行描述。在第一步骤(s130)中,对个别系数修改进行rd成本计算。这可以按上文结合图12描述的方式实施。图13的第二步骤(s132)包括准备修改列表pos_listcmc(修改由系数的位置和变化方向定义),该修改列表提供接近最佳(最小)成本值的rd成本值。定义成本是否足够接近的标准应定义为|cost-costbest|≤ε,其中,ε为预定义值。然后确定(s134)如此生成的列表是否具有一个以上元素。如果只有单个元素(即,与成本值costbest对应),则按传统方式选择(s136)相应的位置和变化方向作为最优修改(posbest)。然而,如果所述列表包括一个以上元素,即,存在多个成本值接近最佳(最小)成本值的可能修改(位置和变化方向),则通过考虑修改估计函数(modificationestimatefunction,mef)进一步考虑另一个标准。然后,修改posbest可以由提供修改估计函数的更小值的另一个位置和修改方向代替。更具体地,对于列表(s135)中的每个成员,计算修改估计函数(s137),并选择具有修改估计函数的最小值的成员作为(新的)最优修改(posbest)。根据一个实施例,mef被定义为因系数修改而引入的失真。速率变化不影响rsp程序的准确性,但是失真会影响。因此,避免在mef中使用速率变化值。另一个实施例将mef定义为系数的量化级。为了使符号经预测的系数的数量最大化,从pos_listcmc列表中选择量值最大的系数。在下文中,结合图14,将描述用于在频域(变换域)中执行符号估计程序的替代方法。通过将图14与图3进行比较,与上文结合图3描述的像素域中的传统估计程序方法之间的主要差异变得明显。特别地:·在变换域中进行符号估计;·将预测信号传播到相邻块区域,而不是重建当前块并从相邻块的对应像素减去其边界像素。为了简单起见,图14中仅考虑相邻块的一列。根据应用所提出发明的框架,还可以使用上排、右排甚至下排。重新定义成本函数(1),使用平方代替模:其中,n和m在这里是块的高度和宽度。重建块由预测部分和残差部分组成:yi,j=pi,j+ri,j其中,pi,j是预测,ri,j是残差。在这种情况下,可以重新布置(1a)中的分量(见背景部分):其中,tn=[2xn,-1-xn,-2-pn,0],vm=[2z-1,m-z-2,m-p0,m],qn=rn,0且om=r0,m。根据帕塞瓦尔恒等式,该函数可以在变换域(1d)中重写:其中,tn=trans1d(tn),qn=trans1d(qn),vn=trans1d(vn),on=trans1d(on),trans1d()为一维正交变换。因此,可以计算成本函数,从而可以在变换域中估计量化变换系数的符号。从图14可以看出,与上文结合图3描述的传统方法相同,对关于符号集合的2m个假设中的每个假设执行相应的成本函数计算(对应于预测的变换差值信号与计算的解量化残差变换系数qn之间的一种比较),将最小化成本函数的假设取为符号集合的估计(其中,m是图中预测其符号的变换系数的数量)。特别地,将块a的解量化残差系数(对应块a与相邻块的边界处的列qn)与变换差值列bcol进行了比较。通过如下方式获得变换差值列bcol(对应tn):从相邻块列中减去传播预测信号,从而获得像素域中的差值信号,将差值信号变换为变换差值。所述变换是任何正交变换或接近正交变换,如变换到频谱域中,例如,dft、fft、dct或dst或其整数版本。为了确定qn、on和rn,m=trans2d(rn,m)之间的关系,用一般形式写出rn,m与rn,m之间的关系:其中,例如,变换核心对于dct2来说是就on和rn,m而言,有类似的关系。在变换域中的计算在计算上比较容易,因为并非tn和vm的所有可用系数都用于计算成本函数。相反,该方法仅使用属于特定行和特定列的若干系数。该行和列是系数位置的对应索引,所述系数的符号正在被预测。生成使成本函数(2)最小化的符号集合,取作估计结果。对符号预测误差进行熵编码。所得位与传统符号编码的结果相结合,并嵌入码流中。图15示出了本发明在编码器侧的示例性实现方式。图15中示出的根据本发明的示例性编码器与图8的传统编码器的不同之处在于,还包括了符号预测(即,符号估计)模块(步骤或单元)122。基于量化变换系数109,该模块向熵编码模块170输出符号预测误差123。该熵编码模块170与图8的熵编码模块170的不同之处在于两个修改。首先,对符号估计结果(即,符号预测误差)进行编码,而不是对(量化)变换系数的变换单元内的给定位置集合(列表中包括的第一组系数)的符号值进行编码。其次,引入了新的编码上下文,并应用这些编码上下文对符号估计结果进行编码。此外,在图15的本发明实施例与图8的传统编码器之间,量化模块108也存在差异。即,如上所述,量化程序应通过在必要时修改系数来确保满足校验函数(预定函数)的预期属性,以便隐藏系数的符号。图16示出了本发明在解码器侧的示例性实现方式。所示出的解码器也具有新的符号预测模块122。该符号预测模块122与在编码器侧使用的符号预测模块相同,对位于变换系数集合内的第一组变换系数的列表定义的位置上的量化变换系数的一些符号进行估计。此外,在图16的本发明的示例性实施例与图9的传统示例之间,熵解码模块204存在差异。根据本发明,在解析过程(熵解码)期间,仅恢复符号预测误差信号123。不引入解析依赖性,即,在完成解析过程之后,具体地,可以与反量化过程210并行地从预测误差信号123中恢复实际符号值和位置。在上述图15和图16中,与图8和图9的示例相比,附加或修改的模块(步骤或单元)用淡阴影示出。总结上文给出的本发明的详细描述,主要区别如下:rsp程序分为两个子程序“准备rsp列表”和“执行与rsp技术相关的其他动作”并且在这些子程序之间执行sbh。这些改变对sbh列表和rsp列表都有影响。此外,如果有数个rsp列表(子列表),编码器侧通过对rsp列表中量化变换系数的容许变化施加约束来修改sbh程序,各列表之间的系数位置分布不能因修改而有任何改变(特别是,子列表之间的阈值没有交叉)。因此,本发明可以有益于以下方面:可以因协调rsp和sbh技术而提高压缩性能。在编码器侧和解码器侧,所提出方法引起的硬件计算复杂度都很低。本发明可用于混合视频编码范式中的许多潜在应用,这些潜在应用与hm软件和vpx视频编解码器家族兼容,并且与联合探索模型(jointexplorationmodel,jem)软件和vpx/av1视频编解码器家族兼容,其中,所述两个家族分别是最先进的和下一代视频编码框架。本发明适用于广泛的sbh和rsp技术。总之,本发明涉及一种更好的用于协调视频编码中符号位隐藏(sbh)和残差符号预测(rsp)技术的装置和方法。为了提高编码效率,在选择应用sbh的系数之前,先准备待应用rsp的变换系数列表。因此,可以以可以期望最高编码效率的方式填充rsp列表。随后,选择一个或多个用于应用sbh的系数,以便不在所述列表中包括所述一个或多个系数。应注意,本说明书提供了图像(帧)的解释,但在隔行扫描图像信号的情况下,字段替代图像。尽管本发明实施例主要基于视频编码进行了描述,但应注意的是,编码器100和解码器200(相应地,系统300)的实施例也可以用于静止图像处理或编码,即,对视频编码中独立于任何先前或连续图像的单个图像进行处理或编码。除非另有明确说明,否则凡有实施例和描述提及术语“存储器”,术语“存储器”应被理解和/或应包括磁盘、光盘、固态驱动器(solidstatedrive,ssd)、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、usb闪存驱动器或任何其他适合类型的存储器。除非另有明确说明,否则凡有实施例和描述提及术语“网络”,术语“网络”应被理解和/或应包括任何类型的无线或有线网络,如局域网(localareanetwork,lan)、无线局域网(wirelesslan,wlan)、广域网(wideareanetwork,wan)、以太网、互联网、移动网络等。本领域技术人员将理解,各种图式(方法和装置)的“块”(“单元”或“模块”)表示或描述本发明实施例的功能(而不必是在硬件或软件中的单独“单元”),因此同等描述装置实施例以及方法实施例的功能或特征(单元=步骤)。术语“单元”仅仅是用于说明编码器/解码器的实施例的功能,并非旨在限制本发明。在本申请中提供的若干实施例中,应理解,所公开的系统、装置和方法可通过其他方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元分割仅仅是逻辑功能分割,实际实现时可以是另一种分割。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以通过一些接口来实现。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。作为单独部分描述的单元可以是,也可以不是物理分离的,作为单元显示的部分可以是,也可以不是物理单元、可以位于同一位置,也可以在多个网络单元上分布。可以根据实际需要选择一些或全部单元来实现实施例解决方案的目的。另外,本发明实施例中的功能单元可集成到一个处理单元中,或每个单元可物理上单独存在,或两个或更多单元可集成到一个单元中。本发明实施例还可以包括编码器和/或解码器等装置,所述装置包括用于执行本文描述的任何方法和/或过程的处理电路。编码器100和/或解码器200的实施例可以实现为硬件、固件、软件或其任何组合。例如,编码器/编码或解码器/解码的功能可以由具有或不具有固件或软件的处理电路执行,例如处理器、微控制器、数字信号处理器(digitalsignalprocessor,dsp)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、专用集成电路(application-specificintegratedcircuit,asic)等。编码器100(和对应的编码方法100)和/或解码器200(和对应的解码方法200)的功能可以通过存储在计算机可读介质上的程序指令来实现。程序指令在执行时使处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是存储程序的任何介质,包括非瞬时性存储介质,如蓝光磁盘、dvd、cd、usb(闪存)驱动器、硬盘、经由网络可用的服务器存储等。本发明实施例包括或是一种计算机程序,包括用于在计算机上执行时执行本文描述的任何方法的程序代码。本发明实施例包括或是一种计算机可读介质,包括程序代码,当由处理器执行时,所述程序代码使计算机系统执行本文描述的任何方法。本发明实施例包括或是执行本文描述的任何方法的芯片组。参考符号列表100编码器101图像102、202输入端(例如,输入端口、输入接口)103图像块104残差计算[单元或步骤]105残差块106变换(例如另外包括缩放)[单元或步骤]107变换系数108量化[单元或步骤]109、209量化系数110、210反量化[单元或步骤]111、211解量化系数112、212逆变换(例如另外包括缩放)[单元或步骤]113、213逆变换块114、214重建[单元或步骤]115、215重建块116、216(线)缓冲器[单元或步骤]117、217参考像素点120、220环路滤波器[单元或步骤]121、221滤波块122符号预测[单元或步骤]130、230解码图像缓冲器(dpb)[单元或步骤]142帧间估计(interestimation/interpictureestimation)[单元或步骤]143帧间估计参数(例如,参考图像/参考图像索引,运动矢量/偏移)144、244帧间预测(interprediction/interpictureprediction)[单元或步骤]145帧间预测块152帧内估计(intraestimation/intrapictureestimation)[单元或步骤]153帧内预测参数(例如,帧内预测模式)154、254帧内预测(intraprediction/intraframe/pictureprediction)[单元或步骤]155帧内预测块160、260预测[单元或步骤]162、262模式选择[单元或步骤]165、265预测块(例如,帧间预测块145或帧内预测块155)170熵编码[单元或步骤]171经编码的图像数据(例如,码流)172输出端(输出端口、输出接口)200解码器204熵解码231解码图像300编码系统310源设备312图像源313(原始)图像数据314预处理器/预处理单元315经预处理的图像数据318通信单元/接口320目的设备322通信单元/接口326后处理器/后处理单元327经后处理的图像数据328示设备/单元330发送/接收/通信(编码)图像数据410变换单元420系数块参考文献列表[1]g.clare,f.henry,andj.jung,″signdatahiding,″contributionjctvc-g0271tothe7thjct-vcmeeting,geneva,switzerland,november2011.[2]x.yu,j.wang,d.he,g.martin-cocher,ands.campbell,″multiplesignbitshiding,″contributionjctvc-h0481tothe8thjct-vcmeeting,sanjose,usa,february2012.[3]k.kazuietal.″videocodingtechnologyproposalbyfujitsu″,contributionjctvc-a115tothe1stjct-vcmeeting,dresden,germany,april2010.[4]f.henry,g.clare,″residualsignprediction″,contributionjvet-d0031tothe4thjvetmeeting,chengdu,china,october2016.[5]hanhuang,kaizhang,yu-wenhuang,andshawminlei,″ee2.1:quadtreeplusbinarytreestructureintegrationwithjemtools,″contributionjvet-c0024tothe3rdjvetmeeting,geneva,switzerland,may2016.当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1