首页> 中国专利> 用于多个工具的互相排斥设定

用于多个工具的互相排斥设定

摘要

提供了实施编解码模式互相排斥组的视频解码器。该视频解码器接收将被解码为视频的当前图像的当前块的像素块的数据。当该当前块的第一编解码模式被启用时,该当前块的第二编解码模式被禁用,其中该第一编解码模式以及该第二编解码模式指定不同的方法用于计算该当前块的帧间预测。通过使用根据启用的编解码模式计算的帧间预测来解码该当前块。

著录项

  • 公开/公告号CN113853794A

    专利类型发明专利

  • 公开/公告日2021-12-28

    原文格式PDF

  • 申请/专利权人 联发科技股份有限公司;

    申请/专利号CN202080016256.5

  • 发明设计人 江嫚书;陈俊嘉;徐志玮;蔡佳铭;

    申请日2020-02-27

  • 分类号H04N19/513(20060101);H04N19/577(20060101);H04N19/44(20060101);

  • 代理机构11111 北京市万慧达律师事务所;

  • 代理人赵赫文

  • 地址 中国台湾新竹市新竹科学工业园区笃行一路一号

  • 入库时间 2023-06-19 13:26:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    专利申请权的转移 IPC(主分类):H04N19/513 专利申请号:2020800162565 登记生效日:20220507 变更事项:申请人 变更前权利人:联发科技股份有限公司 变更后权利人:寰发股份有限公司 变更事项:地址 变更前权利人:中国台湾新竹市新竹科学工业园区笃行一路一号 变更后权利人:中国台湾新竹县

    专利申请权、专利权的转移

说明书

技术领域

本发明通常涉及视频处理。具体地,本发明涉及发信编解码模式的方法。

背景技术

除非在此另有指示,本节所描述的方案不是下文所列申请专利范围的先前技术并且不因包括于本节而被承认为先前技术。

高效视频编解码(HEVC)是由视频编解码的联合协作小组(JCT-VC)开发的国际视频编解码标准。HEVC是基于混合块的运动补偿DCT类变换编解码架构。压缩的基础单元是2N×2N正方形块,术语称为编码单元(coding unit,CU),以及每一CU可以被递归地拆分成四个较小的CU直到达到预定的最小尺寸。每一CU包含一个或多个预测单元(predictionunit,PU)。

为了实现HEVC中混合编解码架构的最佳编解码效率,每一PU有两种类型的预测模式,其是帧内预测以及帧间预测。对于帧内预测模式,空间相邻重构像素可以被用于生成定向预测。HEVC中至多有35个方向。对于帧间预测模式,时间重构参考帧可以用于生成运动补偿预测。有三个不同的模式,包括跳过(Skip)、合并(Merge)以及帧间高级运动向量预测(Advanced Motion Vector Prediction,AMVP)模式。

当PU在帧间AMVP模式中编解码时,用所传输的运动向量差异(MVD)执行运动补偿预测,MVD可以与运动向量预测子(MVP)一起使用用于生成运动向量(MV)。为了在帧间AMVP模式中决定MVP,高级运动向量预测(AMVP)方案用于在包括两个空间MVP以及一个时间MVP的AMVP候选集合中选择运动向量预测子。因此,在AMVP模式中,MVP的MVP索引以及对应的MVD需要被编码并传输。此外,来在双向预测以及单向预测(其是列表0(L0)以及列表1(L1))中指定预测方向的帧间预测方向与每一列表的参考帧索引也应该被编码并被传输。

当PU在跳过或合并模式中编解码时,除了所选择候选的合并索引,没有运动信息被传输。这是因为跳过以及合并模式利用运动推断方法(MV=MVP+MVD,其中MVD=0)来从空间相邻块(空间候选)或位于并位图像中的时间块(时间候选)来获得运动信息,其中并位图像是列表0或列表1中的第一参考图像,其在条带标头(slice header)中被发信。在跳过PU的情况下,残差信号也被省略。为了决定跳过以及合并模式的合并索引,合并方案用于在包含四个空间MVP以及一个时间MVP的合并候选集合中选择运动向量预测子。

发明内容

后续的概述仅是说明性的并不旨在以任何方式进行限制。即,后续概述被提供来介绍本文所描述新颖以及非显而易见技术的概念、亮点、益处以及优势。选择而不是所有实施例在细节描述中被进一步描述。因此,后续概述不旨在识别所要求保护主题的基本特征,或者不旨在用于决定所要求保护主题的范围。

本发明的实施例提供了实施编解码模式或工具的互相排斥组的视频解码器。该解码器接收将被解码为视频的当前图像的当前块的区块的数据。当该当前块的第一编解码模式被启用时,该解码器禁用该当前块的第二编解码模式,其中该第一编解码模式以及该第二编解码模式指定不同的方法用于计算该当前块的帧间预测。换言之,仅当该第一编解码模式被禁用时,该当前块的该第二编解码模式可以被应用。该解码器通过使用根据该启用的编解码模式计算的帧间预测解码该当前块。

附图说明

附图被包括来提供本发明的进一步理解,以及被并入并构成本发明的一部分。图式说明了本发明的实施方式,以及与描述一起用于解释本发明的原理。因为为了清楚地说明本发明的概念,一些组件可以被示出为与实际实施方式中的尺寸不成比例,图式不需要按比例绘制。

图1标出了合并模式的运动候选。

图2概念地示出了使用基于双向匹配(bilateral-matching)的解码器侧运动向量细化(refinement)来编码或解码当前块。

图3示出了解码器运动向量细化(Decoder Motion Vector Refinement,DMVR)的搜索进程。

图4标出了DMVR整数亮度样本搜索图样(pattern)。

图5概念地示出了导出基于照明(lighting-based)的预测偏移。

图6示出了预测偏移的示例导出。

图7示出了由BDOF使用的扩展的CU区域用于编解码CU。

图8示出了示例性8×8转换单元块以及双向滤波器口径(aperture)。

图9示出了哈德码(Hadamard)变换域滤波器下的滤波进程。

图10示出了沿着两个三角形预测单元之间的对角线边缘应用的适应性加权。

图11a概念地示出了通过使用帧内MH模式(MH mode for intra)来编码或解码一像素块。

图11b概念地示出了通过使用帧间MH模式(MH mode for inter)来编解码当前块。

图12标出了可以实施编解码模式或工具的互相排斥组的示例性视频编码器。

图13标出了可以实施编解码模式或工具的互相排斥组的该视频编码器的一部分。

图14概念地示出了用于在视频编码器实施编解码模式或工具的互相排斥组的进程。

图15标出了可以实施编解码模式或工具的互相排斥组的示例性视频解码器。

图16示出了可以实施互相排斥的编解码模式或工具分组的该视频解码器的一部分。

图17概念地示出了用于在视频解码器实施编解码模式或工具的相互排斥组的一进程。

图18概念地示出了用其实施本发明一些实施例的电子系统。

具体实施方式

在后续细节描述中,以示例的方式给出了许多具体系列以提供相关教导的透彻理解。基于本文所描述的教导的各种变体、衍生与/或扩展在本发明的保护范围内。在一些情况中,与本文公开的一个或多个示例实施方式有关的公知的方法、进程、组件与/或电路可以在没有细节的情况下在相对高层级进行描述,以避免不必要地混淆本发明的教导的方面。

I.合并模式

图1标出了合并模式的运动候选。如图所示,从A

II.解码器侧运动向量细化(DMVR)

为了增加合并模式的MV的精度,在一些实施例中,应用了基于双向匹配的解码器侧运动向量细化或DMVR。在双向预测操作中,视频编解码器在参考图像列表L0以及参考图像列表L1中的初始MV周围搜索细化的MV。双向匹配方法计算参考图像列表L0与列表L1中两个候选块之间的失真(distortion)。

图2概念地示出了使用基于双向匹配的解码器侧运动向量细化来编码或解码当前块200。如图所示,基于由这些MV候选(如,R0’和R1’)参考的像素与当前像素块200之间的差异,为初始MV(如,MV0以及MV1)周围的MV候选(如,MV0’以及MV1’)计算SAD(绝对差和)。具有最低SAD的MV候选成为细化的MV并用于生成双向预测信号。

在一些实施例中,DMVR被应用如下。对于亮度CB宽度或高度>16的DMVR,CU被拆分成多个16x16、16x8或8x16亮度子块(以及对应的色度子块)。接下来,当列表0与列表1之间的零MVD位置(由初始MV指示,标记为MV0以及MV1)的SAD较小时,每一子块或小CU的DMVR被早早结束。基于25点SAD的整数步搜索(即,±2整数步细化搜索范围),搜索范围分数样本通过双线性插值来生成。

在一些实施例中,当满足DMVR的启用条件时,DMVR被应用于被编解码的CU。在一些实施例中,DMVR的启用条件可以是(i)到(v)的任何子集。(i)具有双向预测MV的CU级合并模式;(ii)一个参考图像在关于当前图像的过去图像中以及另一个参考图像在关于当前图像的未来图像中;(iii)从两个参考图像到当前图像的距离(如,图像次序计数或POC差异)是相同的;(iv)CU具有超过64个亮度样本;(v)CU高度以及CU宽度都超过或等于8个亮度样本。

由DMVR进程导出的细化的MV用于生成帧间预测样本以及也用于未来图像编解码的时间运动向量预测。而原始MV用于去块进程(deblocking process)并且也用于未来CU编解码的空间运动向量预测。

a.搜索方案

如图2所示,包围初始MV的搜索点以及MV偏移服从MV差异镜像原则。换言之,由DMVR检查的任何点,标记为候选MV对(MV0,MV1)服从以下两个等式:

MV0′=MV0+MV_offset

MV1′=MV1-MV_offset

其中MV_offset表示初始MV与参考图像之一中细化的MV之间的细化偏移。在一些实施例中,细化搜索范围是来自初始MV的两个整数亮度样本。

图3示出了DMVR的搜索进程。如图所示,搜索包括整数样本偏移搜索阶段以及分数样本细化阶段。

图4标出了DMVR整数样本搜索图样。如图所示,25点全搜索被应用于整数样本偏移搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,DMVR的整数样本阶段被结束。否则计算剩余24点的SAD以及以光栅扫描次序检查。具有最小SAD的点被选择为整数样本偏移搜索阶段的输出。为了减少DMVR细化不确定性的处罚,其提出在DMVR进程中偏好原始MV。由多个初始MV候选参考的多个参考块之间的SAD会被减少为其SAD值的1/4。

回到图3。整数样本搜索紧接着分数样本细化。为了节省计算复杂度,通过使用参数化误差表层等式(parametric error surface equation)导出分数样本细化,而不是使用SAD比较的额外搜索。基于整数样本搜索阶段的输出,分数样本细化被有条件地调用。当在第一次迭代(iteration)或第二次迭代中以中心具有最小SAD结束整数样本搜索阶段时,分数样本细化被进一步应用。

在基于参数化误差表层的子像素偏移估计中,当前位置成本以及从中心到四个相邻位置的成本被用于适合以下形式的2-D抛物线误差表层等式:

E(x,y)=A(x-x

其中(x

x

y

因为所有成本值是整数以及最小值是E(0,0),x

b.双线性插值以及样本填充

在一些实施例中,MV的分辨率是1/16亮度样本。使用8抽头插值滤波器来插值分数位置处的样本。在DMVR中,搜索点在具有整数样本偏移的初始分数像素MV周围,因此这些分数位置的样本需要被插值用于DMVR搜索进程。为了减少计算复杂度,双线性插值滤波器用于生成分数样本用于DMVR中的搜索进程。通过使用双线性滤波器的另一个重要影响是具有2样本搜索范围,相比于普通运动补偿进程,DMVR不存取更多的参考样本。在用DMVR搜索进程取得细化的MV后,普通的8抽头插值滤波器被应用来生成最终预测。为了不存取更多的参考样本到正常MC进程,基于原始MV不需要用于插值进程但基于细化的MV需要被用于插值进程的样本从这些可用样本来填充。

c.最大DMVR处理单元

在一些实施例中,当CU的宽度与/或高度大于16亮度样本,其进一步进入宽度与/或高度等于16亮度样本的子块。DMVR搜索进程的最大单元尺寸被限制于16x16。

III.加权预测(WP)

加权预测(WP)是由H.264/AVC以及HEVC标准支持的编解码工具来有效地编解码具有填充的视频内容。对WP的支持也被添加到VVC标准中。WP允许加权参数(权重以及偏移)将被发信用于每一参考图像列表L0与L1中每一参考图像。然后,在运动补偿期间,对应的参考图像的权重以及偏移被应用。

IV.基于照明的预测偏移

如之前所提到的,帧间预测探索帧之间的像素关联性以及如果场景是静止的,关联性将是有效的,以及运动估计可以容易地在时间相邻帧中找到具有类似像素值的类似块。然而,在一些实际案例中,多个帧将用不同的照明条件拍摄。即使内容是类似的并且场景是静止的,多个帧之间的像素值将不同。

在一些实施例中,相邻导出的预测偏移(Neighboring-derived PredictionOffset,NPO)被用于添加预测偏移来改善运动补偿预测子。根据这一偏移,多个帧之间的不同照明条件可以被考虑。使用相邻重构像素(neighboring reconstructed pixel,NRP)以及扩展的运动补偿预测子(extended motion compensated predictor,EMCP)来导出该偏移。

图5概念地示出了导出基于照明的预测偏移。为NRP以及EMCP选择的图样是当前PU左边的N个像素以及上方的M个像素,其中N与M是预定值。该图样可以是任何尺寸以及形状以及可以根据任何编码参数来决定,如PU或CU尺寸,只要它们对NRP以及EMCP两者是相同的。偏移被计算为NRP的平均像素值减去EMCP的平均像素值。所导出的偏移在PU上是独一无二的并且与运动补偿预测子被应用于整个PU。

图6示出了预测偏移的示例导出。首先,对于每一相邻位置(边界的左边以及上方,灰色阴影),个体偏移被计算为NRP中的对应像素减去EMCP中的像素。在该示例中,偏移值6,4,2,-2被生成用于上方相邻位置以及6,6,6,6用于左边相邻位置。第二,当计算并获得所有个体偏移后,当前PU中每一位置的所导出的偏移将是来自左边以及上方位置的偏移的平均值。例如,在左上角落的第一位置中,通过平均来自左边以及上方的偏移生成偏移6。对于下一个位置,偏移等于(6+4)/2,即5。可以以光栅扫描次序顺序地处理并生成每一位置的偏移。因为相邻像素更高度相关于边界像素,偏移也一样。这一方法可以根据像素位置适应偏移。所导出的偏移将适应于整个PU以及将与运动补偿预测子一起单独地被应用于每一PU位置。

在一些实施例中,局部亮度补偿(local illumination compensation,LIC)被用于修正帧间预测的结果。LIC是使用当前块以及参考块的相邻样本来生成线性模型的帧间预测的方法,该线性模型由缩放因子a以及偏移b来表征。缩放因子a以及偏移b通过参考当前块以及参考块的相邻样本来导出。对于每一CU,可以适应性地启用或禁用LIC模式。

V.广义双向预测(GBI)

广义双向预测(generalized bi-prediction,GBI)是对来自L0以及L1的预测子分别使用不同权重的帧间预测的方法,而不是如传统双向预测使用相等的权重。GBI也称为具有加权平均的双向预测(BMA)或具有CU级权重的双向预测(BCW)。在HEVC中,通过平均从两个不同的参考图像获得的两个预测信号与/或使用两个不同的运动向量生成双向预测信号。在一些实施例中,双向预测模式被扩展到超出简单平均来允许两个预测信号的加权平均。

P

在一些实施例中,加权平均双向预测中允许五个不同的可能权重,或者w∈{-2,3,4,5,10}。对于每一双向预测CU,以两个方式之一决定权重w:1)对于非合并CU,在运动向量差异后发信权重索引;2)对于合并CU,基于合并候选索引从相邻块推断加权索引。双向预测的加权平均仅被应用于具有256或更多亮度样本的CU(即,CU宽度乘以CU高度大于或等于256)。对于低延迟图像,所有5个权重被使用。对于非低延迟图像,仅三个不同的可能权重被使用(w∈(3,4,5))。

在一些实施例中,在视频编码器,快速搜索算法被应用来找到加权索引而不显著地增加编码器复杂度。当与AMVR组合时,其允许以不同精度编解码CU的MVD,如果当前图像是低延迟图像,不相等的权重被条件地检查用于1像素以及4像素运动向量精度。当与仿射(affine)组合时,仅当仿射模式被选择为当前最佳模式时,仿射运动估计(ME)将使用不相等的权重。当用于双向预测的两个参考图像相同时,条件地使用不相等的权重。当某些条件不被满足时,根据当前图像与其参考图像之间的POC(图像次序计数),编解码的QP(量化参数),以及时间级别,不搜索不相等的权重。

VI.双向光流(BDOF)

在一些实施例中,双向光流(BDOF)也称为BIO,被用于细化在4x4子块级别的CU的双向预测信号。特别地,通过使用样本梯度以及一组导出的位移,视频编解码器细化双向预测信号。

当满足启用条件时,应用BDOF。在一些实施例中,BDOF的启用条件可以是(1)到(4)的任何子集。(1)CU高度与CU宽度都大于或等于8亮度样本;(2)不使用仿射模式或ATMVP合并模式对CU进行编解码,其属于子块合并模式;(3)使用“真正”双向预测模式对CU进行编解码,即,两个参考图像之一在显示次序中当前图像之前以及另一个参考图像在显示次序的当前图像之后;(4)CU具有超过64个亮度样本。在一些实施例中,BDOF被应用于亮度分量。

BDOF模式是基于光流的概念,其假定对象的运动是平滑的。对于每一4x4子块,通过最小化L0与L1预测样本之间的差异计算运动细化(v

首先,通过直接计算两个相邻样本之间的差异计算两个预测信号的水平以及垂直梯度

其中I

S

S

其中

θ(i,j)=(I

其中Ω是4x4子块周围的6x6窗口以及na与nb的值被设置为分别等于min(1,bitDepth-11)以及min(4,bitDepth-8)。然后使用交叉以及自动关联术语导出运动细化(v

最终,通过调整双向预测样本来计算CU的BDOF样本,如下:

pred

在一些实施例中,na、nb以及ns2的值分别等于3、6以及12。在一些实施例中,这些值被选择以致BDOF进程中乘数不超过15位,以及BDOF进程中的中间参数的最大位宽度被保持在32位内。为了导出梯度值,需要生成在当前CU边界外的列表k(k=0,1)中的一些预测样本I

在一些实施例中,BDOF使用CU边界周围的一个扩展的列(row)/行(column)。图7示出了由BDOF使用的扩展的CU区域用于编解码一CU。为了控制生成超出边界预测样本的计算复杂度,线性滤波器需要在扩展区域(CU的白色位置)生成预测样本,以及正常的8抽头运动补偿插值滤波器用于生成CU(CU的阴影位置)内的预测样本。这些扩展的样本值仅被用于梯度计算。对于BDOF进程中的剩余步骤,如果需要CU边界外的任何样本以及梯度值,它们从它们最近的相邻块来填充(如,复制)。

VII.组合的帧间与帧内预测(CIIP)

在一些实施例中,当CIIP的启用条件被满足时,CIIP的CU级语法被发信。例如,额外的旗标被发信来指示组合的帧间/帧内预测(CIIP)模式是否被应用于当前CU。启用条件可以包括CU在合并模式中被编解码,以及CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64)。为了形成CIIP预测,需要帧内预测模式。一个或多个可能的帧内预测模式可以被使用:例如,DC、平面、水平或垂直。然后,使用常规帧内与帧间解码进程来导出帧间预测以及帧内预测信号。最终,执行帧间以及帧内预测信号的加权平均来获得CIIP预测。

在一些实施例中,如果仅一个帧内预测模式(如,平面)对于CIIP是可用的,用于CIIP的该帧内预测模式可以被隐式分配给该模式(如,平面)。在一些实施例中,至多四个帧内预测模式(包括DC、PLANAR、水平以及垂直模式)可以用于预测CIIP模式中的亮度分量。例如,如果CU形状非常宽(即,宽度大于高度的两倍),那么水平模式不被允许;如果CU形状非常窄(即,高度大于宽度的两倍),那么垂直模式不被允许。在这些情况下,仅3个帧内预测模式被允许。CIIP模式可以使用三个最可能的模式(most probable modes,MPM)用于帧内预测。如果CU形状如上定义的非常宽或者非常窄,在未发信的情况下将MPM旗标推断为1。否则,MPM旗标被发信来指示CIIP帧内预测模式是否是多个CIIP MPM候选模式之一。如果MPM旗标是1,MPM索引被进一步发信来指示在CIIP帧内预测中使用哪一MPM候选模式。否则,如果MPM旗标是0,帧内预测模式被设置为MPM候选列表中的“丢失”模式。例如,如果PLANAR模式不在MPM候选列表中,那么PLANAR是丢失模式,以及帧内预测模式被设置为PLANAR。因为CIIP中允许4个可能的帧内预测模式,以及MPM候选列表仅包含3个帧内预测模式,4个可能模式之一必须是该丢失模式。CIIP编解码的CU的帧内预测模式将被保留以及用于未来相邻CU的帧内模式编解码。

使用被应用于常规合并模式的相同的帧间预测进程来导出CIIP模式Pinter中的帧间预测信号(或帧间预测),以及使用紧接着常规帧内预测进程的CIIP帧内预测模式来导出帧内预测或帧内预测信号Pintra。帧内与帧间预测信号然后使用加权平均来组合,其中加权值取决于相邻块,取决于帧内预测模式,或者取决于样本位于编码块中何处。在一些实施例中,如果帧内预测模式是DC或平面模式,或者如果块宽度或高度小于4,那么相等权重被应用于帧内预测以及帧间预测信号。否则,基于帧内预测模式(这种情况中的水平模式或者垂直模式)以及块中的样本位置决定权重。从帧内预测参考样本最近部分开始以及在该帧内预测参考样本最远部分结束,每一4区域的权重wt被分别设置为6、5、3以及2。在一些实施例中,CIIP预测或者CIIP预测信号PCIIP根据如下来导出:

P

其中(N1,N2,N3)=(8,4,3)或者(N1,N2,N3)=(4,2,2)。当(N1,N2,N3)=(4,2,2)时,wt从1,2或3中来选择。

VIII.扩散滤波器(diffusion filter,DIF)

用于视频编解码的扩散滤波器是使用扩散滤波器来应用于视频编解码中的预测信号。假定pred是由帧内或运动补偿预测获得的给定块上的预测信号。为了处理滤波器的边界点,预测信号被扩展到预测信号predext。通过添加块的左边与上方的一线重构样本到预测信号来形成扩展预测以及然后所生成的信号在所有方向上是镜像的。

通过用固定的屏蔽hI卷积预测信号实现均匀扩散滤波器。在一些实施例中,预测信号pred由h

如水平滤波器hhor以及垂直滤波器hver的定向扩散滤波器被使用,其具有固定屏蔽。滤波被限制于仅沿着垂直或沿着水平方向来应用。通过应用固定滤波器屏蔽hver到预测信号实现垂直滤波器以及通过使用转置屏蔽

以与均匀扩散滤波器相同的方式执行预测信号的扩展。

IX.双向滤波(bilateral filtering,BIF)

相比于像素域中的量化,在变换域执行量化是公知的技术以更好的保留图像以及视频中信息。然而,其也是公知的,已量化的变换块可以生成视频中的静止图像以及移动对象的边缘周围的边缘震荡效应(ringing artifact)。应用双向滤波器可以显著地减少边缘震荡效应。在一些实施例中,在逆变换已经被执行并且与预测的样本值组合后,小的、低复杂度双向滤波器被直接应用于重构样本。

在一些实施例中,当应用双向滤波时,重构图像中的每一样本被它自身与其相邻样本的加权平均值所替代。基于距离中心样本的距离以及样本值的差异计算权重。图8示出了示例性8x8变换单元块以及双向滤波器口径。滤波器口径用于位于(1,1)出的样本。如图所示,因为滤波器是在如图1示出的小加号的形状内,所有的距离是0或1。位于(i,j)处的样本使用其相邻样本(k,l)进行滤波。权重w(i,j,k,l)是为样本(k,l)分配的权重来滤波样本(i,j),以及其定义如下:

I(i,j)以及I(k,l)分别是样本(i,j)以及(k,l)的原始重构强度值。σ

在一些实施例中,在编码器以及解码器两者中的逆变换后,双向滤波器被直接应用于每一TU块。结果,后续帧内编解码块从已经用双向滤波器的样本值来预测。这也使得可能在编码器的率失真决定中包括双向滤波操作。

在一些实施例中,仅使用其直接相邻样本滤波变换单元中的每一样本。滤波器具有位于将被滤波的样本中心的加号形滤波口径。输出的滤波样本值ID(i,j)被计算如下:

对于TU尺寸大于16x16,块被作为使用TU块宽度=TU块高度=16的多个16x16块。此外,矩形块被作为正方形块的几个示例。在一些实施例中,为了减少计算的数量,使用为二维数组中特定QP存储所有权重的查找表(LUT)实施双向滤波器。LUT使用将被滤波的样本与参考样本之间的强度差异作为一个维度上的LUT的索引,以及TU尺寸在另一个维度上作为索引。为了LUT的有效存储,在一些实施例中,权重被舍入到8位精度。

X.哈德码变换域滤波器(hadamard transform domain filter,HAD)

在一些实施例中,哈德码变换域滤波器(HAD)被应用于具有非0变换系数的亮度重构块,以及如果量化参数大于17排除4x4块。滤波器参数从编解码信息明确地导出。如果应用了HAD滤波器,在块重构后在解码样本上执行HAD。滤波结果即用于输出也用于空间以及时间预测。滤波器具有相同的实施方式用于帧内与帧间CU滤波两者。根据HAD滤波器,对于来自重构块像素的每一像素,进程包括以下步骤:(1)根据扫描图样,扫描用于处理包括当前像素的像素周围的4个相邻像素,(2)读取像素的4点哈德码变换,以及(3)基于后续公式的频谱滤波:

其中(i)是哈德码频谱中频谱分量的索引,R(i)是对应于索引的重构像素的频谱分量,m=4是等于频谱分量数目的标准化常数,σ是使用以下等式从编解码器量化参数QP导出的列表参数:

σ=2.64*2

对应于DC值的第一频谱分量在没有滤波的情况下被旁路。使用滤波频谱的逆4点哈德码变换。在滤波步骤后,滤波像素被放入到累加缓冲器中的原始位置。在完成像素滤波后,累加的值由用于每一像素滤波的处理组的数目来归一化。由于在块周围使用一个样本的填充,所以对于块中的每个像素,处理组的数目等于4,并且通过在2位上右移来执行归一化。

图9示出了哈德码变换域滤波器下的列表进程。如图所示,相等的滤波器形状是3x3像素。在一些实施例中,块中的所有像素可以被独立地处理用于最大并行。2x2分组滤波的结果可以被再用用于空间并位样本。在一些实施例中,一个2x2滤波器被执行用于块的每一新像素,剩余三个被使用。

XI.三角形预测单元模式(TPM)

在一些实施例中,三角形预测单元模式(TPM)被用于执行CU的帧间预测。在TPM下,CU在对角线或反对角线反向被拆分成两个三角形预测单元。CU中的每一三角形预测单元使用其自身的单向运动向量以及参考帧进行帧间预测。换言之,CU沿着划分当前块的直线来分割。转换以及量化进程然后被应用于整个CU。在一些实施例中,这一模式仅被应用于跳过以及合并模式。在一些实施例中,TPM可以被扩展为用直线将CU拆分成两个预测单元,其可以由角度以及距离来表示。拆分线可以用所发信的索引来指示并且所发信的索引然后被映像到角度以及距离。此外,一个或多个索引被发信来指示两个分割的运动候选。在预测每一预测单元后,适应性加权进程被应用于两个预测单元之间的对角线的边缘来导出整个CU的最终预测。

图10示出了沿着CU的两个三角形预测单元之间的对角线边缘应用的适应性加权。第一加权因子组{7/8,6/8,4/8,2/8,1/8}以及{7/8,4/8,1/8}被分别用于亮度以及色度样本。第二加权因子组{7/8,6/8,5/8,4/8,3/8,2/8,1/8}以及{6/8,4/8,2/8}被分别用于亮度以及色度样本。基于两个三角形预测单元的运动向量的比较选择一个加权因子组。当两个三角形预测单元的参考图像彼此不同或者它们的运动向量差异大于16像素时,使用第二加权因子组。否则,使用第一加权因子组。

XII.互相排斥的组

在一些实施例中,为了简化硬件实施复杂度,互相排斥的规则被实施来限制部分I到XI描述的不同工具或编解码模式的级联。工具或编解码模式的级联硬件实施方式使得硬件设计更加复杂以及导致更长的管线延迟(pipeline latency)。通过实施互相排斥的规则,管线阶段可以做的更短,以及硬件利用率可以做的更高(即,较少的空闲硬件)。通常,互相排斥的规则用于确保两个或多个工具或编解码模式的某些集合中的工具或编解码模式不同时被启用用于编解码一当前CU。

在一些实施例中,实施多个(如,四个)工具或编解码模式的互相排斥组。互相排斥组可以包括一些或所有后续编解码模式或工具:GBI(通用双向预测)、CIIP(组合的帧间与帧内预测)、(BDOF)双向光流、DMVR(解码器侧运动向量细化)以及加权预测(WP)。

在一些实施例中,对于任何CU,视频编解码器(视频编码器或视频解码器)的预测阶段在一些预测工具或编解码模式中间实施互相排斥的规则。互相排斥意味着仅这些编解码工具的一个被单独地启动用于编解码,而不是两个编解码工具被启动用于相同的CU。特别地,它可以定义工具的互相排斥组,在该组,对于任何CU,该组中仅一个工具被启动用于编解码,没有属于相同互相排斥组内的两个工具被启动用于相同的CU。在一些实施例中,不同的CU可以具有不同的启动工具。

对于一些实施例,互相排斥组包括GBI、BDOF、DMVR、CIIP、WP。即,对于任何CU,在GBI、BDOF、DMVR、CIIP以及WP中,仅该组中的仅一个工具被启动用于编解码,而不是它们的两个被启动用于相同的CU。例如,当CIIP旗标等于1时,DMVR/BDOF/GBI不被应用。换言之,当CIIP旗标等于0时,DMVR/BDOF/GBI可以被应用(如果DMVR/BDOF/GBI的启用条件被满足)。在一些实施例中,互相排斥组包括GBI、BDOF、DMVR、CIIP以及WP的任何两个或三个或一些子集。特别地,互相排斥组可以包括BDOF、DMVR、CIIP;互相排斥组可以包括GBI、DMVR、CIIP;互相排斥组可以包括GBI、BDOF、CIIP;互相排斥组可以包括GBI、BDOF、DMVR;互相排斥组可以包括GBI以及BDOF;互相排斥组可以包括GBI以及DMVR;互相排斥组可以包括GBI以及CIIP;互相排斥组可以包括BDOF、DMVR、CIIP;互相排斥组可以包括BDOF以及CIIP;互相排斥组可以包括DMVR以及CIIP。例如互相排斥组包括GBI、BDOF、CIIP,如果CIIP被启用(ciip_flag等于1),BDOF是关闭的以及GBI是关闭的(其意味着相等权重用于混合来自列表0以及列表1的帧间预测而不管BCW权重索引)。例如包括GBI、DMVR、CIIP的互相排斥组,如果CIIP被启用(ciip_flag等于1),DMVR是关闭的以及GBI是关闭的(其意味着相等权重用于混合来自列表0以及列表1的帧间预测而不管BCW权重索引)。例如包括GBI、DMVR的互相排斥组,如果GBI被启用(GBI权重索引指示不相等的权重),DMVR被关闭。例如包括GBI、BDOF的互相排斥组,如果GBI被启用(GBI权重索引指示不相等的权重),BDOF被关闭。

根据互相排斥的规则,可以节省相关语法元素(或从比特流省略)。例如,如果互相排斥组包括GBI、BDOF、DMVR、CIIP,然后,如果CIIP模式未被启用用于当前CU(例如,其是GBI或BDOF或DMVR),因为CIIP由排除规则关闭,CIIP旗标或语法元素可以被节省或忽略(而不是从编码器发送到解码器)用于这一CU。对于互相排斥组的一些其他实施例,对于某一CU排除或禁用的工具,相关语法元素可以被节省或忽略。

在一些实施例中,优先次序被应用于互相排斥组。在一些实施例中,互相排斥组内的每一工具具有某一原始或传统启用条件。启用条件是在互相排斥前用于每一工具的原始启用规则。例如,DMVR的启用条件包括真正双向预测以及当前图像与L0图像/L1图像之间相等的POC距离以及其他;GBI的启用条件包括双向预测以及来自语法的GBI索引(当AMVP)或者继承的GBI索引(当合并模式)。

一个优先规则可以是预定义的用于互相排斥组。互相排斥组内的工具或编解码模式具有每一工具的一个优先数目。如果工具A以及B都可以被启动(即,它们的启用条件被满足)用于相同的CU,但是工具A相比工具B具有更好的预定优先级(定义为工具A>工具B),那么,如果工具A被启动或启用,工具B被关闭或禁用。

不同的实施例具有如包括GBI、DMVR、BDOF、CIIP以及WP或{GBI、DMVR、BDOF、CIIP、WP}的任何子集的互相排斥组的不同优先规则。例如,在一些实施例中,优先规则指定GBI>DMVR>BDOF>CIIP。在一些实施例中,优先规则指定GBI>DMVR>BDOF。在一些实施例中,优先规则指定DMVR>GBI>BDOF。在一些实施例中,优先规则指定DMVR>GBI。在一些实施例中,优先规则指定GBI>BDOF。在一些实施例中,优先规则指定GBI>DMVR。在一些实施例中,优先规则指定DMVR>GBI>BDOF>CIIP。在一些实施例中,优先规则指定DMVR>BDOF>GBI>CIIP。在一些实施例中,优先规则指定CIIP>GBI>BDOF。在一些实施例中,优先规则指定CIIP>GBI>DMVR。预定规则也指定GBI、BDOF、DMVR、CIIP的任何子集中的任何其他次序。又例如,排斥组包括{GBI、CIIP}以及优先规则指定CIIP>GBI,因此当使用CIIP时(ciip_flag等于1),GBI被关闭(或禁用)其意味着相等权重被应用来混合来自列表0以及列表1的预测子。又例如,排斥组包括{DMVR,CIIP}以及优先规则指定CIIP>DMVR,因此当使用CIIP时(ciip_flag等于1),不使用DMVR。又例如,排斥组包括{BDOF,CIIP}以及优先规则指定CIIP>BDOF,因此当使用CIIP时(ciip_flag等于1),BDOF不被使用。又例如,排斥组包括{BDOF,GBI}以及优先规则指定GBI>BDOF,因此当使用GBI时(GBI索引指示不相等的权重用于混合来自列表0以及列表1的预测),BDOF不被使用。又例如,排斥组包括{DMVR,GBI}以及优先规则指定GBI>DMVR,因此当使用GBI时(GBI索引指示不相等的权重用于混合来自列表0以及列表1的预测),DMVR不被使用。

在一些实施例中,互相排斥组的优先规则不是预定义的,但也基于当前CU的一些参数(例如CU尺寸或当前MV)。例如,对于包括DMVR以及BDOF的互相排斥组,可以有基于CU尺寸或CU的其他参数的排除规则,当DMVR以及BDOF的启用条件都满足时,给定优先级给DMVR或BDOF。例如,在一些实施例中,如果当前CU尺寸大于阈值,DMVR的优先级(用于工具排斥)高于BDOF。在一些实施例中,如果当前CU尺寸大于阈值,BDOF的优先级(用于工具排斥)高于DMVR。

在一些实施例中,如果当前CU长宽比大于阈值,DMVR的优先级(用于工具排斥)大于BDOF。如果CU_width>CU_height,长宽比被定义为CU_width/CU_height或者如果CU_height>=CU_width,长宽比被定义为CU_height/CU_width。在一些实施例中,如果当前CU长宽比大于阈值,BDOF的优先级(用于工具排除)大于DMVR的优先级。在一些实施例中,对于一些合并模式候选(如果被选择用于帧间预测),DMVR的优先级(用于工具排除)高于BDOF的优先级,而对于其他合并候选(如果被选择用于帧间预测),BDOF的优先级(用于工具排除)高于DMVR的优先级。

在一些实施例中,对于一个真正的双向预测合并候选,如果L0 MV的镜像(以及随后缩放)MV与L1 MV非常类似,那么,DMVR的优先级(用于工具排除)高于BDOF的优先级。在一些实施中,对于一个真正的双向预测合并候选,如果L0 MV的镜像(以及随后缩放)MV与L1MV非常类似,那么BDOF的优先级(用于工具排除)高于DMVR的优先级。

在一些实施例中,互相排斥组可以包括一些或所有后续的编解码模式或工具:LIC(局部亮度补偿)、DIF(均匀亮度帧间预测滤波器或扩散滤波器)、BIF(双向滤波器)、HAD滤波器(哈德码变换域滤波器)。这些工具或编解码模式被应用于残差信号或预测信号或重构信号,即,它们对“后阶段”起作用。后阶段被定义为在预测(帧内/帧间预测)之后或者在参考解码之后或在其两者之后的管线阶段。在一些实施例中,互相排斥组还可以包括不同于LIC、DIF、BIF以及HAD的前阶段工具或编解码模式。

在一些实施例中,互相排斥组可以包括以下8个编解码模式或工具的所有或子集:GBI、BDOF、DMVR、CIIP、LIC、DIF、BIF、HAD。即,对于任何CU,仅它们中的一个被启动用于编码,而不是GBI、BDOF、DMVR、CIIP、LIC、DIF、BIF、HAD中的两个编解码模式或工具被启动用于相同的CU。在一些实施例中,互相排斥模式包括LIC、DIF、BIF、HAD。在一些实施例中,互相排斥组包括DIF、BIF、HAD。在一些实施例中,互相排斥组包括LIC、BIF、HAD。在一些实施例中,互排斥组包括LIC、DIF、HAD。在一些实施例中,互排斥组包括LIC、DIF、BIF。在一些实施例中,互排斥组包括LIC以及DIF。在一些实施例中,互排斥组包括LIC、BIF。在一些实施例中,互排斥组包括LIC以及HAD。在一些实施例中,互排斥组包括DIF以及HAD。在一些实施例中,互排斥组包括DIF以及HAD。在一些实施例中,互排斥组包括BIF以及HAD。

XIII.多假设预测模式的发信

CIIP与TPM两者用两个候选生成当前CU的最终预测。任一CIIP或TPM可以被视为一种类型的多假设预测合并模式,其中预测的一个假设由一个候选生成以及预测的另一个假设由另一个候选生成。对于CIIP,一个候选来自帧内模式以及另一个候选来自合并模式。对于TPM,两个候选来自合并模式的候选列表。

在一些实施例中,多假设模式用于改善帧间预测,其是跳过与/或合并模式的改善方法。在原始跳过以及合并模式中,一个合并索引用于选择一个运动候选,其可以是由候选自身,从合并候选列表导出的单向预测或双向预测。所生成的运动补偿预测子在一些实施例中被称为第一假设(或第一预测)。在多假设模式下,除了第一假设还生成第二假设。该预测子的第二假设可以由来自基于帧间预测模式(合并或跳过模式)的运动候选的运动补偿,或者通过基于帧内预测模式的帧内预测来生成。

当该第二假设(或第二预测)由帧内预测模式生成时,多假设模式被称为帧内MH模式或MH模式帧内或MH帧内或帧间-帧内模式。由CIIP编解码的CU通过使用帧内MH模式来编解码。当该第二假设通过由运动候选或帧间预测模式(如,合并或跳过模式)的运动补偿生成时,多假设模式被称为帧间MH模式或MH模式帧间或MH帧间(或也被称为合并的MH模式或者MH合并)。由TPM编解码的CU的对角线边缘区域通过使用帧间MH模式来编解码。

对于多假设模式,每一多假设候选(或称为具有多假设的每一候选)包含一个或多个候选(即,第一假设)与/或一个帧内预测模式(即,第二假设),其中该运动候选从候选列表I来选择与/或帧内预测模式从候选列表II来选择。对于帧内MH模式,每一多假设候选(或具有多假设的每一候选)包含一个运动候选以及一个帧内预测模式,其中该运动候选从候选列表I来选择以及该帧内预测模式被固定为一个模式(如,平面)或从候选列表II来选择。帧间MH模式使用两个运动候选,以及两个运动候选的至少一个从候选列表I中来导出。在一些实施例中,候选列表I等于该当前块的合并候选列表以及帧间MH模式的多假设候选的两个运动候选都从候选列表I选择。在一些实施例中,候选列表1是合并候选列表的子集。在一些实施例中,对于帧间MH模式,用于生成每一预测单元的预测的两个运动的每一者用所发信的索引来指示。当该索引指的是候选列表1中的双向预测运动候选时,列表0或列表1的运动根据该索引来选择。当该索引指的是候选列表I中的单向预测运动候选时,使用该单向预测运动。

图11a概念地示出了通过使用帧内MH模式来编码或解码像素块。图式示出了当前由视频编码器编码或解码的视频图像1100。该视频图像1100包括当前被编码或解码为当前块的像素块1110。该当前块1110由帧内MH模式编码,特别地,组合的预测1120基于该当前块1110的第一预测1122(第一假设)以及该当前块1110的第二预测1124(第二假设)来生成。该组合的预测1120然后被用于重构该当前块1110。

该当前块1110通过使用帧内MH模式来编解码。特别地,基于至少一个参考帧1102以及1104由帧间预测获得第一预测。通过基于该当前块1110的相邻像素1106的帧内预测获得第二预测1124。如图所述,该第一预测1122基于帧间预测模式或从第一候选列表1132(候选列表I)选择的运动候选1142来生成,该第一候选列表1132具有一个或多个候选帧间预测模式。该候选列表I可以是当前块1110的合并候选列表。该第二预测1124基于帧内预测模式1144来生成,该帧内预测模式1144被预定义为一个帧内预测模式(如,平面)或者从具有一个或多个候选帧内预测模式的第二候选列表1134(候选列表II)来选择。如果仅一个帧内预测模式(如,平面)被用于帧内MH,用于帧内MH的帧内预测模式被设置为不需要发信的帧内预测模式。

图11b示出了通过使用帧间MH模式来编解码的当前块1110。特别地,基于至少一个参考帧1102以及1104,通过帧间预测获得第一预测1122。基于至少一个参考帧1106以及1108,通过帧间预测获得第二预测1124。如图所示,基于帧间预测模式或运动候选1142(第一预测模式)生成第一预测1122,该运动候选1142从第一候选列表1132(候选列表I)来选择。第二预测1124基于帧间预测模式或运动候选1146来生成,该运动候选1146也从第一候选列表1132(候选列表I)来选择。该候选列表1可以是当前块的合并候选列表。

在一些实施例中,当前支持帧内MH模式时,除了合并模式的原始语法,一个旗标被发信(例如,来表示是否应用帧内MH模式)。这一旗标可以由比特流中的语法元素来表示或指示。在一些实施例中,如果旗标存在,一个额外的帧内模式索引被发信来指示来自候选列表II的帧内预测模式。在一些实施例中,如果旗标打开,帧内MH模式的帧内预测模式(如,CIIP,或者任何一个帧内MH模式)隐式从候选列表II来选择或者在没有一个额外帧内模式索引的情况下隐式地分配一个帧内预测模式。在一些实施例中,当旗标关闭时,可以使用帧间MH模式(如,TPM,或者任何一个具有不同预测单元形状的其他的帧间MH模式)。

在一些实施例中,视频编码器(视频编码器或视频解码器)移除CIIP中的所有双向预测用例。即,仅当当前合并候选是单向预测时,视频编码器启动CIIP。在一些实施例中,视频编码器移除用于CIIP合并候选的所有双向预测候选。在一些实施例中,视频编码器检索一个双向预测(合并候选)的L0信息以及将其改变成单向预测候选并用于CIIP。在一些实施例中,该视频编码器检索一个双向预测(合并候选)的L1信息并且将其改变成CIIP的单向预测候选。通过移除CIIP的所有双向预测行为,相关语法元素可以被节省或从传输中省略。

在一些实施例中,当生成CIIP模式的帧间预测时,根据一个预定规则,具有双向预测的运动候选被变成单向预测。在一些实施例中,基于POC距离,预定规则指定或选择列表0或列表1运动向量。当当前POC(或当前图像的POC)与由列表x(其中x是0或1)运动向量参考的(参考图像的)POC之间的距离(标记为D1)小于当前POC与由列表y(其中y是0或1并且y不等于x)运动向量参考的POC之间的距离(标记为D2)时,列表x运动向量被选择来生成CIIP的帧间预测。如果D1与D2相同或者D1与D2的差异小于阈值,列表x(其中x被预定为0或1)运动向量被选择为生成CIIP的帧间预测。在一些其他实施例中,预定规则通常选择列表x运动向量,其中x被预定为0或1。在一些其他实施例中,这一双向到单向预测方案可以被应用于运动补偿来生成该预测。当该当前编解码的CIIP CU的运动信息被节省用于由后续或接下来的CU参考时,在应用这一双向到单向预测方案前的运动信息被使用。在一些实施例中,在生成CIIP的合并候选列表后,这一双向到单向预测方案被应用。如运动补偿与/或运动信息节省与/或去块的进程可以使用所生成的单向预测运动信息。

在一些实施例中,由单向预测运动候选形成的新的候选列表被构建用于CIIP。在一些实施例中,根据预定规则,这一候选列表可以从合并候选列表中生成用于常规合并模式。例如,当像常规合并模式做的那样生成候选列表时,该预定规则可以指定双向预测运动候选可以被忽略。CIIP的这一新候选列表的长度可以等于或小于常规合并模式。对于另一个示例,预定规则可以指定CIIP的候选列表再使用TPM的候选列表或者CIIP的该候选列表可以被再用以用于TPM。上述提出的方法可以与隐式规则或显示规则组合。隐式规则可以取决于块宽度或高度或面积以及显示规则可以在CU、CTU、条带、图块(tile)、图块组、SPS、PPS级等发信一旗标。

在一些实施例中,CIIP以及TPM被分类成组合预测模式的一组并且CIIP与TPM的语法也被统一而不是使用两个各自的旗标来决定是否使用CIIP以及是否使用TPM。统一方案如下:当用于组合的预测模式的该组的启用条件被满足时(例如,CIIP以及TPM启用条件的统一集合,包括高层级语法、尺寸约束、所支持的模式,或条带类型),CIIP或TPM可以用统一的语法来启用或禁用。首先,第一箱(bin)被发信(或使用该第一箱发信第一旗标)来指示是否应用多假设预测模式。第二,如果该第一箱指示应用该多假设预测模式,第二箱被发信(或使用该第二箱发信一第二旗标)来指示CIIP与TPM之一被应用。例如,当第一箱(或该第一旗标)等于0时,如常规合并模式的非多假设预测模式被应用,否则,如CIIP或TPM的多假设预测模式被应用。当该第一箱(或第一旗标)指示多假设预测模式被应用时(regular_merge_flag等于0),该第二旗标被发信。当该第二箱(或该第二旗标)等于0,TPM被应用以及需要TPM的额外语法(如,TPM的额外语法是指示TPM的两个运动候选或TPM的分割方向)。当该第二箱(或该第二旗标)等于1时,CIIP被应用以及可能需要CIIP的额外的语法(如,CIIP的额外语法来指示CIIP的两个候选)。用于组合的预测模式的该组的启用条件的示例包括(1)高层级语法CIIP以及(2)TPM被启用。

XIV.LIC的发信

在一些实施例中,所有双向预测被移除用于LIC模式。在一些实施例中,仅当当前合并候选是单向预测时LIC是被允许的。在一些实施例中,视频编码器检索一个双向预测的L0信息(候选),将当前合并候选改成单向预测候选,以及然后应用LIC。在一些实施例中,视频编码器检索一个双向预测的L1信息(候选),将其改变成单向预测候选,以及然后应用LIC。

在一些实施例中,当生成帧间预测用于LIC模式时,根据预定规则,具有双向预测的运动候选被转变成单向预测。在一些实施例中,该预定规则基于POC距离指定或选择列表0或列表1运动向量。当当前POC与由列表x(其中x是0或1)运动向量参考的(参考图像的)POC之间的距离(标记为D1)小于当前POC与由列表y(其中y是0或1并且y不等于x)运动向量参考的POC之间的距离(标记为D2)时,然后列表x运动向量被选择用于细化通过应用LIC的帧间预测。如果D1与D2相同或者D1与D2的差异小于阈值,那么列表x(其中x被预定为0或1)运动向量被选择用于细化通过使用LIC的帧间预测。在一些实施例中,预定规则制定或选择列表x运动向量,其中x被预定为0或1。在一些实施例中,这一双向到单向预测方案可以仅被应用于运动补偿来生成该预测。当当前编解码的LIC CU的运动信息被节省用于参考后续或随后的CU时,在应用这一双向到单向预测方案之间的运动信息被使用。在一些实施例中,在生成LIC的合并候选列表后,这一双向到单向预测方案被应用。如运动补偿的进程与/或运动信息节省的进程使用所生成的单向预测运动信息。

在一些实施例中,由单向预测运动候选形成的新的候选列表被构建用于LIC。在一些实施例中,根据预定规则,候选列表可以从合并候选列表生成用于常规合并模式。例如,预定规则可以像常规合并模式那样在生成候选列表期间忽视双向预测运动候选。用于LIC的这一新候选列表的长度可以等于或小于常规合并模式。

在一些实施例中,在合并模式中,启用LIC的标准不仅取决于合并候选的LIC旗标,还取决于使用LIC或历史统计的相邻合并候选的数目。例如,如果使用LIC的合并列表中候选的数目大于预定阈值,那么不管合并候选的LIC旗标是打开或关闭,LIC被启用用于当前块。又例如,历史FIFO缓冲器记录了最近编码块的LIC模式使用,假定FIFO缓冲器中记录尺寸是M,如果M中的N个使用了LIC模式,那么LIC被启用用于该当前块。此外,这一实施例也可以与所提到的双向到单向预测方案组合用于LIC,即,如果当前块的LIC旗标由于使用LIC的相邻合并候选的数目大于阈值或者历史FIFO缓冲器中M个记录中的N个使用LIC模式被启用,以及合并候选使用双向预测,然后列表x运动向量被选择,其中x被预定为0或1。

以上所有组合可以用隐式规则或显示规则来决定。隐式规则可以取决于块宽度、高度、面积、块尺寸长宽比、色彩分量或图像类型。该显示规则可以在CU、CTU、条带、图块、图块组、图像、SPS、PPS级等的一旗标来发信。

XV.示例性视频编码器

图12标出了可以实施编解码模式或工具的互相排斥组的示例性视频编码器1200。如图所示,视频编码器1200从视频源1205接收输入视频信号以及将信号编码进比特流1295。视频编码器1200具有各种组件或模块用于编码来自视频源1205的信号,至少包括从变换模块1210、量化模块1211、逆量化模块1214、逆变换模块1215、帧内图像估计模块1220、帧内预测模块1225、运动补偿模块1230、运动估计模块1235、环路滤波器1245、重构图像缓冲器1250、MV缓冲器1265以及MV预测模块1275以及熵编码器1290选择的一些组件。运动补偿模块1230以及运动估计模块1235是帧间预测模块1240的一部分。

在一些实施例中,模块1210-1290是由计算装置或电子装置的一个或多个处理单元(如,处理器)执行的软件指令的模块。在一些实施例中,模块1210-1290是由电子装置的一个或多个集成电路实施的硬件电路的模块。虽然模块1210-1290被示出为分离的模块,一些模块可以被组合成单个模块。

视频源1205提供表示未经压缩的每一视频帧的像素数据的原始视频信号。减法器1208计算视频源1205的原始视频像素数据与来自运动补偿模块1230或帧内预测模块1225的已预测像素数据1213之间的差异。变换模块1210将该差异(或残差像素数据或残差信号1209)转换成变换系数(如,通过执行离散余弦变换或DCT)。量化模块1211将变换系数量化成已量化数据(或已量化系数)1212,其中由熵编码器1290编码进比特流1295。

逆量化模块1214解量化已量化数据(或已量化系数)1212来获得变换系数,以及逆变换模块1215对变换系数执行逆变换来生成重构残差1219。该重构残差1219与已预测像素数据1213相加来生成重构像素数据1217。在一些实施例中,重构像素数据1217被暂时存储在线性缓冲器(未示出)用于帧内图像预测以及空间MV预测。重构像素由环路滤波器1245滤波并存储在重构图像缓冲器1250中。在一些实施例中,重构图像缓冲器1250是视频编码器1200的外部存储区。在一些实施例中,重构图像缓冲器1250是视频编码器1200的内部存储区。

帧内图像估计模块1220基于重构像素数据1217执行帧内预测来生成帧内预测数据。帧内预测数据被提供到熵编码器1290来被编码到比特流1295中。帧内预测数据也由帧内预测模块1225来使用来生成已预测像素数据1213。

运动估计模块1235通过生成MV来参考存储于重构图像缓冲器1250中的先前解码帧的像素数据来执行帧间预测。这些MV被提供到运动补偿模块1230来生成已预测像素数据。

除了在比特流中编码完整实际的MV,视频编码器1200使用MV预测来生成已预测MV,以及用于运动补偿的MV与已预测MV之间的差异被编码为残差运动数据以及被存储于比特流1295中。

MV预测模块1275基于参考MV生成已预测MV,参考MV被生成用于编码先前视频帧,即,用于执行运动补偿的运动补偿MV。MV预测模块1275从来自MV缓冲器1265的先前视频帧检索参考MV。视频编码器1200将为当前视频帧生成的MV存储于MV缓冲器1265作为用于生成已预测MV的参考MV。

MV预测模块1275使用参考MV来创造已预测MV。已预测MV可以由空间MV或时间MV预测来计算。当前帧的已预测MV与运动补偿MV(MC MV)之间的差异(残差运动数据)由熵编码器1290编码进比特流1295。

熵编码器1290通过使用熵编码技术将各种参数以及数据编码进比特流1295,如上下文自适应二进制算术编解码(CABAC)或霍夫曼编码。熵编码器1290将各种标头(header)元素、旗标与已量化系数1212以及残差运动数据编码为语法元素到比特流1295。比特流1295反过来存储在存储装置或通过如网络的通讯媒介传输到解码器。

环路滤波器1245对重构像素数据1217执行滤波或光滑操作来减少编码伪影(artifact),特别在像素块的边界。在一些实施例中,所执行的滤波操作包括样本适应性偏移(SAO)。在一些实施例中,滤波操作包括适应性环路滤波器(ALF)。

图13标出了实施编解码模式或工具的互相排斥组的视频编码器1200的部分。如图所示,视频编码器1200实施组合的预测模块1310,其可以接收由帧内图像预测模块1225生成的帧内预测值。该组合的预测模块1310也可以从运动补偿模块1230以及第二运动补偿模块1330接收帧间预测值。组合的预测模块1310反过来生成已预测像素数据1213,其可以进一步由一组预测滤波器1350进行滤波。

MV缓冲器1265提供合并候选到运动补偿模块1230以及1330。MV缓冲器1265也存储用于编码当前块的运动信息以及运动方向以由后续块使用。合并候选可以由MV细化模块1365改变、扩展与/或细化。

编解码模式(或工具)控制模块1300控制帧内图像预测模块1225、运动补偿模块1230、第二运动补偿模块1330、MV细化模块1365、组合的预测模块1310以及预测滤波器1350的操作。

编解码模块控制1300可以启用MV细化模式1365来通过搜索细化的MV(如,用于DMVR)执行MV细化操作或基于MV调整计算梯度(gradient)(如,用于BDOF)。编解码模式控制模块1300可以启用帧内预测模块1225以及运动补偿模块1230来实施MH模式帧内(或帧间-帧内)模式(如,CIIP)。编解码模式控制模块1300可以启用运动补偿模块1230以及第二运动补偿模块1330来实施MH模式帧间模式(如,用于TPM的对角线边缘区域)。当组合来自帧内图像预测模块1225、运动补偿模块1230与/或第二运动补偿模块1330的预测信号来实施如CIIP、TPM、GBI与/或WP的编解码模式时,编解码模式控制模块1300可以启用组合的预测模块1310来采用不同的加权方案。编解码模式控制1300也可以启用预测滤波器1350来在已预测像素数据或重构像素数据1217上应用LIC、DIF、BIF与/或HAD滤波器。

编解码模式控制模式1300也决定启用与/或禁用哪一编解码模式用于编解码当前块。编解码模式控制模块1300然后控制帧内图像预测模块1225、运动补偿模块1230、第二运动补偿模块1330、MV细化模块1365、组合的预测模块1310以及预测滤波器1350的操作来启用与/或禁用特定编解码模式。

在一些实施例中,编解码模式控制1300仅启用来自两个或多个编解码模式的特定集合的多个编解码模式的子集(一个或多个)用于编码当前块或CU。编解码模式的这一特定集合包括后续编解码模式的所有或任何子集:CIIP、TPM、BDOF、DMVR、GBI、WP、LIC、DIF、BIF以及HAD。在一些实施例中,当启用当前块的第一编解码模式的第一条件被满足时,编解码模式控制1300禁用当前块的第二编解码模式。

在一些实施例中,当启用该第一编解码模式的条件被满足以及该第一编解码模式被启用时,除了第一编解码模式,编解码模式控制1300禁用编解码模式的特定集合中的所有模式。在一些实施例中,当启用该当前块第一编解码模式的第一条件以及启用该当前块的该第二编解码模式的第二条件都被满足并且该第一编解码模式被启用时,该编解码模式控制1300禁用第二编解码模式。例如,在一些实施例中,当编解码模式控制1300决定启用GBI以及BDOF的条件都被满足并且GBI索引指示不相等的权重来混合列表0以及列表1的预测时,编解码模式控制1300将禁用BDOF。又例如,在一些实施例中,当编解码模式控制1300决定用于启用GBI以及DMVR的条件都被满足并且GBI索引指示不相等的权重来混合列表0以及列表1的预测时,编解码模式控制1300将禁用DMVR。

在一些实施例中,编解码模式控制1300从一个或多个编解码模式中识别最高优先级的编解码模式。如果最高优先级编解码模式被启用,编解码模式控制1300然后禁用编解码模式特定集合中的所有其他编解码模式,而不管每一其他编解码模式的启用条件是否被满足。在一些实施例中,根据基于当前块的参数定义的优先级规则(如当前块的尺寸或长宽比),编解码模式的特定集合的每一编解码模式被分配一优先级。

编解码模式控制1300生成或发信语法元素1390到熵编码器1290来指示一个或多个编解码模式被启用。视频编码器1200还可以在编解码模式的特定集合中禁用一个或多个其他编解码模式而不需要发信语法元素用于禁用一个或多个其他编解码模式。在一些实施例中,第一语法元素(如第一旗标)用于指示是否应用多假设预测模式以及第二语法元素(如第二旗标)用于指示是否应用CIIP或TPM。该第一以及第二语法元素由熵编码器1290对应地编解码为第一箱(bin)以及第二箱。在一些实施例中,仅当第一箱指示多假设模式被启用时,用于在CIIP于TPM之间决定的第二箱被发信。

图14概念地示出了用于实施编解码模式或工具的互相排斥组的进程1400。在一些实施例中,实施编码器1200的计算装置的一个或多个处理单元(或处理器)通过执行存储于计算机可读媒介中的指令执行进程1400。在一些实施例中,实施编码器1200的电子装置执行进程1400。

编码器接收(在块1410)将被编码为视频的当前图像的当前块的像素块的数据。

编码器识别(在块1430)一个或多个编解码模式中的一最高优先级编解码模式。在一些实施例中,根据基于该当前块参数定义的一优先级规则,编解码模式的特定集合的每一编解码模式被分配一优先级。

如果该最高优先级编解码模式被启用,该编码器禁用(在块1140)该编解码模式特定集合中的所有其他编解码模式。用于启用各种编解码模式的条件被描述于与这些编解码模式相关以上段落。用于启用编解码模式的条件可以包括从比特流接收明确语法元素用于该编解码模式。用于启用编解码模式的条件也可以包括具有被编解码的当前块的特定特性或参数(如,尺寸、长宽比)。例如,当编解码模式的该特定集合包括被分配较高优先级的一第一编解码模式以及被分配较低优先级的第二编解码模式时,以及当该第一编解码模式被启用时,该编码器禁用(在块1445)该当前块的该第二编解码模式。在一些实施例中,当该第一编解码模式被启用时,除了该第一编解码模式,该编码器禁用该编解码模式特定集合中的所有编解码模式。在一些实施例中,如果GBI权重索引指示不相等的权重,编码器启用GBI(其意味着使用不相等的权重来混合来自列表0以及列表1的帧间预测),而且因为GBI被分配比BDOF更高的优先级而禁用BDOF。又例如,在一些实施例中,因为GBI被分配比DMVR更高的优先级,如果GBI权重索引指示不相等权重,编码器启用GBI(其意味着使用不相等的权重来混合来自列表0以及列表1的帧间预测),但是禁用DMVR。又例如,在一些实施例中,因为CIIP被分配比被禁用工具更高的优先级,如果CIIP旗标等于1,编码器启用CIIP,但禁用GBI、BDOF与/或DMVR。

通过使用一帧间预测,该编码器编码在该比特流中(在块1450)该当前块,该帧间预测根据所启用的编解码模式来计算。

XVI.示例性视频解码器

图15标出了可以实施编解码模式或工具的互相排斥组的示例性视频解码器1500。如图所示,视频解码器1500是接收比特流1595以及将该比特流的内容解码成视频帧的像素数据用于显示的图像解码或视频解码电路。视频解码器1500具有几个组件或模块用于解码比特流1595,包括从逆量化模块1505、逆变换模块1510、帧内预测模块1525、运动补偿模块1530、环路滤波器1545、解码图像缓冲器1550、MV缓冲器1565、MV预测模块1575以及解析器1590中选择的一些组件。运动补偿模块1530是帧间预测模块1540的一部分。

在一些实施例中,模块1510-1590是由计算装置的一个或多个处理单元(如处理器)执行的软件指令的模块。在一些实施例中,模块1510-1590是由电子装置的一个或多个IC实施的硬件电路的模块。虽然模块1510-1590被示出为分离的模块,一些模块可以被组合成单个模块。

根据由视频编解码或图像编解码标准定义的语法,解析器1590(或熵解码器)接收比特流1595以及执行初始解析。所解析语法元素包括各种标头元素、旗标以及已量化数据(或已量化系数)1512。解析器1590通过使用如上下文适应性算术编解码(CABAC)或霍夫曼编码的熵编解码技术解析出各种语法元素。

逆量化模块1505解量化已量化的数据(或已量化系数)1512来获得变换系数,以及逆变换模块1510对变换系数1516执行逆变换来生成重构残差信号1519。重构残差信号1519与来自帧内预测模块1525或运动补偿模块1530的已预测像素数据1513相加来生成已解码像素数据1517。已解码像素数据由环路滤波器1545滤波以及被存储于解码图像缓冲器1550中。在一些实施例中,解码图像缓冲器1550是视频解码器1550的外部存储。在一些实施例中,解码器图像缓冲器1550是视频解码器1550的内部存储。

帧内预测模块1525从比特流1595接收帧内预测数据并根据其,从存储于解码图像缓冲器1550的已解码像素数据1517生成已预测像素数据1513。在一些实施例中,解码像素数据1517也被存储于线性缓冲器(未示出)用于帧间图像预测以及空间MV预测。

在一些实施例中,解码图像缓冲器1550的内容用于显示。显示设备1555检索解码图像缓冲器1550的内容用于直接显示或者检索解码图像缓冲器的内容到显示缓冲器。在一些实施例中,该显示设备通过像素传输从解码图像缓冲器1550中接收像素值。

运动补偿模块1530根据运动补偿MV(MC MV)从存储于解码图像缓冲器1550的已解码像素数据1517生成已预测像素数据1513。通过将从比特流1595接收的残差运动数据与从MV预测模块1575接收的已预测MV相加来解码这些运动补偿MV。

MV预测模块1575基于参考MV生成已预测MV,参考MV被生成用于解码先前视频帧,如,运动补偿MV用于执行运动补偿。MV预测模块1575检索从MV缓冲器1565检索先前视频帧的参考MV。视频解码器1500将为解码当前视频帧生成的运动补偿MV存储于MV缓冲器1565作为用于生成已预测MV的参考MV。

环路滤波器1545对已解码像素数据1517执行滤波或光滑操作来减少编解码的伪影,尤其在像素块的边界。在一些实施例中,所执行的滤波操作包括样本适应性偏移(SAO)。在一些实施例中,滤波操作包括适应性环路滤波器(ALF)。

图16标出了实施编解码模式或工具的互相排斥组的视频解码器1500的部分。如图所示,视频解码器1500实施组合的预测模块1610,其接收由帧内图像预测模块1525生成的帧内预测值。组合的预测模块1610也可以接收从运动补偿模块1530以及第二运动补偿模块1630接收帧间预测值。该组合的预测模块1610反过来生成已预测像素数据1513,其可以进一步由一组预测滤波器1650进行滤波。

MV缓冲器提供合并候选到运动补偿模块1530以及1630。该MV缓冲器1565也存储用于解码当前块的运动信息以及模式方向以由后续块使用。合并候选可以由MV细化模块1665进行更改、扩展与/或细化。

编解码模式(或工具)控制1600控制帧内图像预测模块1525、运动补偿模块1530、第二运动补偿模块1630、MV细化模块1665、组合的预测模块1610以及预测滤波器1650的操作。

编解码模式控制1600可以启用MV细化模块1665来通过搜索细化的MV执行MV细化(如,用于DMVR)操作或者基于MV调整计算梯度(如,用于BDOF)。编解码模式控制模块1600可以启用帧内预测模块1525以及运动补偿模块1530来实施MH模式帧内(或帧间-帧内)模式(如,CIIP)。编解码模式控制模块1600可以启用运动补偿模块1530以及第二运动补偿模块1630来实施MH模式帧间模式(如,用于TPM的对角线边缘区域)。当组合来自帧内图像预测模块1525、运动补偿模块1530与/或第二运动补偿模块1630的预测信号以实施如CIIP、TPM、GBI与/或WP的编解码模式时,编解码模式控制模块1600可以启用组合的预测模块1610来采用不同的权重方案。编解码模式控制1600还可以启用预测滤波器1650来对已预测像素数据1513或已解码像素数据1517应用LIC、DIF、BIF与/或HAD滤波器。

编解码模式控制模块1600也决定启用与/或禁用哪一编解码模式用于编解码该当前块。该编解码模式控制模块1600然后控制帧内图像预测模块1525、运动补偿模块1530、第二运动补偿模块1630、MV细化模块1665、组合的预测模块1610以及预测滤波器1650的操作来启用与/或禁用特定的编解码模式。

在一些实施例中,编解码模式控制1600仅启用来自两个或多个编解码模式的特定集合的编解码模式的一子集(一个或多个)用于编解码当前块或CU。这一编解码模式的特定集合可以包括后续编解码模式的所有或任何子集:CIIP、TPM、BDOF、DMVR、GBI、WP、LIC、DIF、BIF以及HAD。在一些实施例中,当启用该当前块的一编解码模式的第一条件被满足时,该编解码模式控制1600禁用该当前块的第二编解码模式。

在一些实施例中,当启用该第一编解码模式的条件被满足并且该第一编解码模式被启用时,除了该第一编解码模式,该编解码模式控制1600禁用该编解码模式特定子集中的所有编解码模式。在一些实施例中,当启用该当前块的该第一编解码模式的第一条件以及启用该当前块的该第二编解码模式的第二条件都满足并且该第一编解码模式被启用时,该编解码模式控制1600禁用该第二编解码模式。例如,在一些实施例中,当编解码模式控制1600决定用于启用GBI以及BDOF的条件都被满足以及GBI索引指示不相等的权重来混合列表0以及列表1的预测时,编解码模式控制1600将禁用BDOF。又例如,在一些实施例中,当编解码模式控制1600决定启用GBI以及DMVR的条件都被满足以及GBI索引指示不相等的权重来混合列表0以及列表1的预测时,编解码模式控制1600将禁用DMVR。

在一些实施例中,编解码模式控制1600从一个或多个编解码模式中识别最该优先级编解码模式。如果该最高优先级编解码模式被启用,编解码模式控制1600然后禁用编解码模式特定集合中的所有其他编解码模式,而不管每一其他编解码模式的启用条件是否被满足。在一些实施例中,根据基于该当前块的参数定义的优先级规则,如当前块的尺寸或长宽比,编解码模式特定集合的每一编解码模式被分配一优先级。

编解码模式控制1600从熵解码器1590接收一语法元素1690来指示一个或多个编解码模式被启用。在没有接收语法元素用于禁用一个或多个其他编解码模式的情况下,视频解码器1500还可以禁用一个或多个其他编解码模式。在一些实施例中,第一语法元素(如,第一旗标)用于指示是否应用多假设预测模式以及第二语法元素(如,第二旗标)用于指示是否应用CIIP或TPM模式。对应地从该比特流1595中的第一箱以及第二箱来解码该第一以及第二元素。在一些实施例中,仅当该第一箱指示多假设模式被启用时,用于在CIIP于TPM之间决定的第二箱被发信。

图17概念地示出了用于实施编解码模式或工具的互相排斥组的进程1700。在一些实施例中,实施解码器1500的计算装置的一个或多个处理单元(如处理器)通过执行存储于计算机可读媒介的指令来执行进程1700。在一些实施例中,实施解码器1500的电子装置执行进程1700。

解码器接收(在块1710)将被解码为一视频的一当前图像的一当前块的一像素块的数据。

解码器在一个或多个编解码模式中识别(在块1730)一最高优先级编解码模式。在一些实施例中,根据基于当前块的参数定义的一优先级规则,该编解码模式特定集合的每一编解码模式被分配一优先级。

如果该最高优先级编解码模式被启用,解码器禁用(在块1740)该编解码模式特定集合的所有其他编解码模式。启用各种编解码模式的条件在与这些编解码模式相关的上述段落中进行描述。启用编解码模式的条件可能包括从该比特流中接收明确的语法元素用于该编解码模式。启用编解码模式的条件还可以包括具有被编解码的该当前块的特定特性或参数(如,尺寸、长宽比)。例如,当该编解码模式特定集合包括被分配较高优先级的一第一编解码模式以及被分配较低优先级的一第二编解码模式时,以及当该第一编解码模式被启用时,该解码器禁用(在块1745)该当前块的该第二编解码模式。在一些实施例中,当该第一编解码模式被启用时,除了该第一编解码模式,该解码器禁用该编解码模式特定集合中的所有其他编解码模式。在一些实施例中,因为GBI被分配了比BDOF更高的优先级,如果GBI权重索引指示不相等的权重,该解码器启用GBI(其意味着使用不相等的权重来混合来自列表0以及列表1的帧间预测子),而禁用BDOF。右例如,在一些实施例中,因为GBI被分配比DMVR更高的优先权,如果GBI权重索引指示不相等的权重,解码器启用GBI(其意味着使用不相等的权重来混合来自列表0以及列表1的帧间预测),禁用DMVR。又例如,在一些实施例中,因为CIIP被分配比其他被禁用工具更高的优先级,如果CIIP旗标等于1,编码器启用CIIP,但禁用GBI、BDOF与/或DMVR。

通过使用根据所启用的编解码模式计算的帧间预测,该解码器解码(在块1750)该当前块。

XVII.示例性电子系统

许多上述描述的特征以及应用被实施为被指定为记录在计算机可读存储媒介(也被称为计算机可读媒介)上的一组指令的软件进程。当这些指令被一个或多个计算或处理单元(如,一个或多个处理器、处理器核心或其他处理单元)执行时,它们使得处理单元执行指令中指示的动作。计算机可读媒体的示例包括但不限于CD-ROM、快速驱动器、随机存取内存(RAM)芯片、硬盘驱动器、可擦可程序设计只读存储器(EPROM)、电可擦可程序设计只读存储器(EEPROM)等。计算机可读媒介包括但不限于无线地或通过有线连接传输的载波以及电子信号。

在本说明书中,术语“软件”旨在包括驻留于只读存储器中的固件或存储于磁存储的应用,其可以被读入存储由处理器处理。另外,在一些实施例中,多个软件发明可以被实施为较大程序的子部分而同时保持独特的软件发明。在一些实施例中,多个软件发明也可以被实施为分离的程序。最终,分离程序的任何组合一起实施在本发明范围内所描述的软件发明。在一些实施例中,当被安装来操作一个或多个电子系统时,软件程序定义一个或多个特定的机器实施方式,其运行以及执行软件程序的操作。

图18概念地示出了用其实施本发明一些实施例中的电子系统1800。电子系统1800可以是计算机(如,台式计算机、个人计算机、平台电脑等)、电话、PDA或任何其他合适的电子装置。这种电子系统包括各种类型的计算机可读媒体以及接口用于各种其他类型的计算机可读媒体。电子系统1800包括总线1805、处理单元1810、图像处理单元(GPU)1815、系统内存1820、网络1825、只读存储器1830、永久存储装置1835、输入设备1840以及输出装置1845。

总线1805共同表示通信地连接电子系统1800的多个内部装置的所有系统、外围设备以及芯片组总线。例如,总线1805通信地将处理单元1810与GPU 1815、只读存储器1830、系统内存1820以及永久存储装置1835连接在一起。

从这各种内存单元,处理单元1810检索要执行的指令以及要处理的数据以执行本发明的进程。处理单元可以是不同实施例中的单个处理器或多核处理器。一些实施例被传输来由GPU 1815执行。GPU 1815可以分流由处理单元1810提供的各种计算或实施图像处理。

只读存储器(ROM)830存储由处理单元1810以及电子系统的其他模块使用的数据以及指令。另一方面,永久存储装置1835是读写存储装置。这一装置是即使当电子系统1800关闭时,存储指令以及数据的非挥发性内存。本发明的一些实施例使用大容量存储装置(如磁或光盘以及其对应的硬盘驱动器)作为永久存储装置1835。

其他实施例使用可移除存储装置(如软盘、快速存储装置等以及其对应的硬盘驱动器)作为永久存储装置。像永久存储装置1835,系统内存1820是读写存储装置。然而,不像存储装置1835,系统内存1820是挥发性读写内存,如随机存取内存。系统内存1820存储处理器在运行时使用的一些指令以及数据。在一些实施例中,根据本发明的进程被存储于系统内存1820、永久存储装置1835与/或只读存储器1830中。例如,各种存储单元包括根据一些实施例的处理多媒体视频的指令。从这各种存储单元,处理单元1810检索要执行的指令以及要处理的数据以执行一些实施例的处理。

总线1805也连接到输入以及输出装置1840以及1845。输入设备1840使能用户来与电子系统通信信息以及选择命令。输入设备1840包括字母键盘以及定位装置(也叫“光标控制装置”)、摄像机(如,网络摄像机)、麦克风或用于接收声音命令的类似装置等。输出装置1845显示由电子系统生成的图像或其他输出数据。输出装置1845包括打印机以及显示设备,如阴极射线管(CRT)或者液晶显示屏(LCD)以及扬声器或类似声音输出装置。一些实施例包括如同时作为输入以及输出装置的触摸屏的装置。

最终,如图18所示,总线1805也通过网络适配器(未示出)将电子系统1800耦合到网络1825。以这种方式,计算机可以是计算机网络的一部分(如局域网(“LAN”)、广域网(“WAN”)、或内部网络、或网络的网络,如互联网)。电子系统1800的任何或所有组件可以结合本发明来使用。

一些实施例包括电子组件,如微处理器、以机器可读或计算机可读媒介(或者成为计算机可读存储媒体、机器可读存储媒体或机器可读存储媒体)形式存储计算机程序指令存储以及内存。这种计算机可读媒体的一些示例包括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装置中的软件。

如本说明书以及本申请任何申请专利范围中所使用的,术语“计算机”、“服务器”、“处理器”以及“内存”都指电子或其他科技装置。这些术语排除人或人群。出于说明的目的,术语显示(display)或显示(displaying)意味着在电子装置上显示。如这一说明书以及本申请任何申请专利范围中使用的,术语“计算机可读媒介”、“计算机可读媒体”以及“机器可读媒介”都限制于以计算机可读形式存储信息的有形的、物理对象。这些术语排除任何无线信号、有线下载信号以及任何其他短暂的信号。

虽然本发明已经参考各种特定细节进行描述,本领域具有通常知识者将能认识到,在不背离本发明精神的情况下,本发明可以以其他特定形式实施。此外,各种图示(包括第14以及17图)概念地示出了进程。这些进程的特定操作可以以所示出以及所描述的精确顺序执行。特定操作可以不以一个连续的系列操作来执行,以及不同的特定操作可以在不同实施例中执行。此外,进程可以使用各种子进程或者作为较大宏进程的部分来实施。因此,本领域具有通常知识者将理解,本发明不由前述说明性细节所限制,而是由所附申请专利范围来定义。

附注

本文所描述的主题有时示出了包括于不同其他组件或与其连接的不同组件。能够理解,这种描绘的架构仅是示例,以及事实上可以实施实现相同功能的许多其他的架构。概念上来说,实现相同功能的组件的任何安排是有效“关联的”以致实现所期望的功能。因此,本文组合来实现特定功能的任何两个组件可以被视为彼此“关联”以致实现所期望的功能,而不管架构或中间组件。同样地,如此关联的任何两个组件也可以被视为彼此“可操作地连接”或“可操作地耦合”来实现所期望的功能,以及能够如此关联的任何两个组件也可以被视为彼此“可操作地耦合”来实现所期望的功能。可操作地耦合的具体示例包括但不限于物理上可匹配与/或物理上交互的组件与/或无线地可了解与/或无线地交互的组件与/或逻辑地交互与/或逻辑可交互的组件。

此外,关于本文中实质上任何复数与/或单数术语的使用,本领域具有通常知识者的这些人可以根据上下文以及应用适当地将其从复数转换成单数与/或从单数转换成复数。为了清楚起见,这里可以明确阐述各种单数/复数置换。

此外,本领域技术人员表将能理解,通常,本文所使用的术语,尤其是所附申请专利范围中使用的术语(如所附申请专利范围的主体)通常意为“开放式”的术语,如,术语“包括(including)”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包括(includes)”应当被解释为“包括但不限于”等。本领域这些技术人员将能进一步理解,如果特定数目的所引申请专利范围的表述是有意的,这种意图将明确列举在申请专利范围中,以及没有这种表述的情况下这种意图不存在。例如,为了帮助理解,后续所附申请专利范围可以包含介绍性短语“至少一个”以及“一个或多个”的使用来介绍申请专利范围表述。然而,这种短语的使用不应该被解释为暗示由不定冠词“a”或“an”介绍的申请专利范围表述限制包含这种引入的申请专利范围表述的任何特定申请专利范围到仅包含一个这种表示的实施方式,即使当相同的申请专利范围包括介绍性短语“一个或多个”或“至少一个”以及如“a”或“an”的不定冠词,“a”与/或“an”应当被解释为意味着“至少一个”或“一个或多个”,相同的情况也适用于介绍申请专利范围表述的定冠词。此外,即使特定数目的所介绍申请专利范围表述被明确列举,本领域具有通常知识者将意识到,这种表述应当被解释为意味着至少一个所列举的数目,如没有其他修改的“两个表述”的纯表述意味着至少两个表述,或者两个或多个表述。此外,在使用类似于“至少一个A、B以及C等”的惯例的情况下,通常这种构造旨在本领域具有通常知识者将能理解该惯例,如“系统具有至少一个A、B以及C”将包括但不限于系统单独具有A、单独具有B、单独具有C、一起具有A与B、一起具有A与C、一起具有B与C,与/或一起具有A、B以及C等。在使用类似于“至少一个A、B或C”惯例的这些情况下,通常这种构造旨在本领域具有通常知识者将能够理解该惯例,如“系统具有至少一个A、B或C”将包括但不限于系统单独具有A、单独具有B、单独具有C、一起具有A与B、一起具有A与C、一起具有B与C,与/或一起具有A、B以及C等。本领域技术人员将能进一步理解,事实上在描述、申请专利范围或图示中,表示两个或多个可替换术语的任何分隔词与/或短语将被理解成考虑包括术语之一、术语任一个或者术语两者的可能性。例如,短语“A或B”将被理解成包括“A或B”或者“A与B”的可能性。

从上文可以理解,出于说明的目的,本发明的各种实施方式已经在此进行描述,以及在不背离本发明范围以及精神的情况下,可以进行各种修正。因此,本文所描述的各种实施方式不旨在被限制,真正的范围以及精神由后续申请专利范围来指示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号