用于屏幕内容编解码的帧内块复制的制作方法

文档序号:27303581发布日期:2021-11-06 05:43阅读:236来源:国知局
用于屏幕内容编解码的帧内块复制的制作方法
用于屏幕内容编解码的帧内块复制
1.相关申请的交叉引用
2.本技术要求于2019年3月11日提交的美国临时申请号62/816,902的权益。前述申请的全部公开内容通过援引以其全文并入本文。
技术领域
3.本公开总体上涉及视频编解码(例如,编码和解码)和压缩。更具体地,本公开涉及一种用于屏幕内容编解码的帧内块复制(ibc)的方法、计算设备和非暂态计算机可读存储介质。


背景技术:

4.本节提供与本公开相关的背景技术信息。本节内包含的信息不一定被解释为现有技术。
5.可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(vvc)、联合探索测试模型编解码(jem)、高效视频编解码(h.265/hevc)、高级视频编解码(h.264/avc)、运动图片专家组编解码(mpeg)等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等)进行,这些方法利用存在于视频图像或序列中的冗余。视频编解码技术的一个重要目标在于,将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
6.hevc标准的第一版本于2013年10月完成,其与上一代视频编解码标准h.264/mpeg avc相比,提供了大约50%的比特率节省或同等的感知质量。尽管hevc标准提供了优于其前身的显著编解码改进,但有证据表明,可以使用附加编解码工具实现优于hevc的编解码效率。在此基础上,vceg和mpeg两者都开始了新编解码技术的探索工作,以实现未来的视频编解码标准化。由itu

t vecg和iso/iec mpeg于2015年10月形成了一个联合视频探索小组(jvet),开始对可能能够显著提高编解码效率的先进技术进行大量研究。jvet通过在hevc测试模型(hm)的顶上整合多个附加编解码工具来获得被称为联合探索模型(jem)的参考软件。
7.2017年10月,itu

t和iso/iec发布了关于具有超越hevc的能力的视频压缩的联合提案征集(cfp)。2018年4月,第10届jvet会议上接收并评估了23份cfp回复,论证了压缩效率比hevc提高约40%。基于这样的评估结果,jvet启动了开发名为通用视频编解码(vvc)的新一代视频编解码标准的新项目。同月,建立了一个称为vvc测试模型(vtm)的参考软件代码库,用于演示vvc标准的参考实施。


技术实现要素:

8.本节提供本公开的概述,而并非对其全部范围或所有特征的全面公开。
9.根据本公开的第一方面,提供了一种视频编码方法,视频编码方法在计算设备处执行,计算设备具有一个或多个处理器以及存储有要由一个或多个处理器执行的多个程序
的存储器。根据视频编码方法,接收包括多个编码单元的视频图片。多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的。参考编码单元是重建的编码单元,并且多个编码单元包括第一编码单元。将图片分成多个非重叠块。编码器计算多个非重叠块中的每个块的散列值。将所有非重叠块分类为包括第一类别和第二类别的至少两个类别。第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且所述第二类别包括所有剩余的块。
10.另外,将第二类别中的块分类为包括第一分组的至少两个分组。第一分组包括表征与第二类别中的另一个块相同的散列值的一个或多个块。确定失真度量以用于计算一个编码单元中的样点与同编码单元在同一图片中的参考编码单元的样点之差。基于失真度量,获得图片中的第一编码单元的最优块矢量(bv)。第一编码单元的每个bv是第一编码单元与第一编码单元在同一图片中的参考编码单元之间的位移。
11.根据本公开的第二方面,提供了一种计算设备,计算设备包括一个或多个处理器、耦接到一个或多个处理器的非暂态存储装置以及存储在非暂态存储装置中的多个程序。多个程序当由一个或多个处理器执行时使计算设备执行以下动作。接收包括多个编码单元的视频图片。多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的。参考编码单元是重建的编码单元,并且多个编码单元包括第一编码单元。将图片分成多个非重叠块。编码器计算多个非重叠块中的每个块的散列值。将所有非重叠块分类为包括第一类别和第二类别的至少两个类别。第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且第二类别包括所有剩余的块。
12.另外,将第二类别中的块分类为包括第一分组的至少两个分组。第一分组包括表征与第二类别中的另一个块相同的散列值的一个或多个块。确定失真度量以用于计算一个编码单元中的样点与同编码单元在同一图片中的参考编码单元的样点之差。基于所述失真度量,获得图片中的第一编码单元的最优块矢量(bv)。第一编码单元的每个bv是第一编码单元与第一编码单元在同一图片中的参考编码单元之间的位移。
13.根据本公开的第三方面,一种非暂态计算机可读存储介质存储用于由具有一个或多个处理器的计算设备执行的多个程序。多个程序当由一个或多个处理器执行时使计算设备在ibc模式下对屏幕内容进行编解码。接收包括多个编码单元的视频图片。多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的。参考编码单元是重建的编码单元,并且多个编码单元包括第一编码单元。将图片分成多个非重叠块。编码器计算多个非重叠块中的每个块的散列值。将所有非重叠块分类为包括第一类别和第二类别的至少两个类别。第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且第二类别包括所有剩余的块。
14.另外,将第二类别中的块分类为包括第一分组的至少两个分组。第一分组包括表征与第二类别中的另一个块相同的散列值的一个或多个块。确定失真度量以用于计算一个编码单元中的样点与同编码单元在同一图片中的参考编码单元的样点之差。基于失真度量,获得所述图片中的第一编码单元的最优块矢量(bv)。第一编码单元的每个bv是第一编码单元与第一编码单元在同一图片中的参考编码单元之间的位移。
附图说明
15.在下文中,将结合附图描述本公开的多组说明性的非限制性示例。相关领域的普通技术人员可以基于本文呈现的示例来实施结构、方法或功能的变型,并且这样的变型都包含在本公开的范围内。在不存在冲突的情况下,不同示例的教导可以但不必相互组合。
16.图1是阐述可以与包括vvc在内的许多视频编解码标准结合使用的说明性的基于块的视频编码器的框图;
17.图2是阐述可以与包括vvc在内的许多视频编解码标准结合使用的说明性的基于块的视频解码器的框图;
18.图3a至图3e示出了根据一些示例的示例划分类型,即,四元分割(图3a)、水平二元分割(图3b)、垂直二元分割(图3c)、水平三元分割(图3d)和垂直三元分割(图3e);
19.图4示出了用于一个ibc编解码的编码单元的有效预测样点区域;
20.图5是根据一个示例的vvc中的ibc信号发送的流程图;
21.图6是阐述根据一个示例的使用利用色度缩放的亮度映射(lmcs)的解码过程的框图;
22.图7是根据一个示例的用于ibc模式的块矢量(bv)估计过程的流程图;
23.图8示出了根据一个示例的基于4
×
4子块的散列值来定位ibc参考编码单元的图示;
24.图9示出了根据一些示例的用于基于预测值的ibc搜索的空间相邻cu;
25.图10示出了根据一个示例的在基于预测值的bv搜索中使用的bv推导过程;
26.图11示出了根据一个示例的基于散列的当前匹配方法与基于散列的匹配方法之间的比较;
27.图12a示出了根据一个示例的通过使用原始亮度样点生成散列表来生成ibc散列表的方法;
28.图12b示出了根据一个示例的通过使用映射的亮度样点生成散列表来生成ibc散列表的方法;
29.图13示出了用于更新bv库的示例性过程;
30.图14示出了示例性扩展bv推导;
31.图15a至图15c示出了通过不同分割路径对相同编码单元进行分割的示例;
32.图16是根据一个示例的bv估计的流程图;
33.图17示出了考虑了线缓冲器中的重建样点的示例性ibc参考区域;
34.图18a示出了根据一个示例的在vvc中应用于色度重建样点的自适应环路滤波器(alf);
35.图18b示出了根据一个示例的在vvc中应用于亮度重建样点的自适应环路滤波器(alf);
36.图19示出了根据一个示例的vvc中的去块过程。
具体实施方式
37.本公开中使用的术语旨在说明特定的示例,而不是限制本公开。本公开内容和所附权利要求中所使用的单数形式“一个”、“一种”和“所述”也指代复数形式,除非上下文中
明确包含其他意义。应该理解的是,如本文所使用的术语“和/或”是指一个或多个相关联列举项目的任何或所有可能组合。
38.应该理解的是,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是这些信息不应受这些术语的限制。这些术语仅仅是用来将一类信息与另一类信息进行区分。例如,在不脱离本公开的范围的情况下,第一信息也可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当
……
时”或“在
……
时”或“响应于”。
39.在整个说明书中,以单数或复数形式对“一个示例”、“示例”、“另一个示例”等的引用意味着结合示例描述的一个或多个特定特征、结构或特性被包括在本公开的至少一个示例中。因此,在整个所述说明书中的各个地方以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在另一个示例中”等不一定都是指同一个示例。此外,一个或多个示例中的特定特征、结构或特性可以以任何合适的方式进行组合。
40.本公开总体上涉及对视频数据进行编解码(例如,编码和解码)。更具体地,本公开涉及一种用于选择性地启用和/或禁用用于视频编解码的帧内平滑操作的方法、计算设备和非暂态计算机可读存储介质。
41.与hevc一样,vvc在基于块的混合视频编解码框架上构建。图1是阐述可以与包括vvc在内的许多视频编解码标准结合使用的说明性的基于块的视频编码器100的框图。输入视频信号被逐块(被称为编码单元(cu))处理。在vtm

1.0中,cu可以高达128
×
128像素。然而,不同于仅仅基于四叉树来分割块的hevc,在vvc中,一个编解码树单元(ctu)被划分成多个cu,以适应基于四/二/三叉树而不同的局部特性。另外,hevc中的多种分割单元类型的概念被移除了,即,cu、预测单元(pu)和变换单元(tu)的拆分不再存在于vvc中;相反,每个cu一直用作预测和变换两者的基本单元,而不进行进一步分割。在多类型树结构中,一个ctu首先被四叉树结构分割。然后,每个四叉树叶节点可以进一步被二叉树结构和三叉树结构分割。
42.在编码器100中,视频帧被分割成多个块以进行处理。针对每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重建的帧的像素,通过运动估计和运动补偿来形成一个或多个预测值。在帧内预测中,基于当前帧中的重建像素来形成预测值。通过模式决策,可以选择最佳预测值来预测当前块。
43.将表示当前视频块与其预测值之间的差的预测残差发送至变换电路102。如本文所使用的术语“电路”包括硬件和用于操作硬件的软件。然后,将变换系数从变换电路102发送至量化电路104,以进行熵减小。然后,将经量化的系数馈送至熵编码电路106,以生成经压缩的视频比特流。如图1所示,来自帧间预测电路和/或帧内预测电路112的预测相关信息110(如块分区信息、运动矢量、参考图片索引和帧内预测模式等)也通过熵编码电路106被馈送并且被保存到经压缩的视频比特流114中。
44.在编码器100中,还需要解码器相关电路,以重建像素用于预测目的。首先,通过反量化电路116和逆变换电路118来重建预测残差。将所述重建预测残差与块预测值120组合,以生成当前块的未经滤波的重建像素。反量化电路116和逆变换电路118分别应用反量化和逆变换,以在像素域中重建残差块。在某些实施例中,加法器将重建残差块与由运动补偿电路122或帧内预测电路112早前产生的经运动补偿的预测块相加,以产生重建视频块,所述
重建视频块被存储到参考图片存储器111中。图片存储器111可以与环路滤波器115连接,所述环路滤波器与图片缓冲器117耦接。运动估计电路124和运动补偿电路122可以将重建视频块作为参考块用来对后一视频帧中的块进行帧间编解码。
45.如图1所示,可以执行帧内预测(也被称为“空间预测”)和/或帧间预测(也被称为“时间预测”或“经运动补偿的预测”)。帧内预测使用来自同一视频图片或条带中的已编解码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。帧内预测减少了视频信号中固有的空间冗余。帧间预测使用来自已编解码视频图片的重建像素来预测当前视频块。
46.帧间预测减少了视频信号中固有的时间冗余。给定cu的帧间预测信号通常由指示当前cu与其时间参考之间的运动量和运动方向的一个或多个运动矢量(mv)用信号发送。同样,如果支持多个参考图片,则另外发送一个参考图片索引,所述参考图片索引用于识别时间预测信号来自参考图片存储中的哪个参考图片。
47.在帧内预测和/或帧间预测之后,编码器100中的帧内/帧间模式决策电路121基于例如率失真优化方法来选择最佳预测模式。然后,从当前视频块减去预测块;并且使用变换对预测残差进行解相关并进行量化。对经量化的残差系数进行反量化和逆变换以形成重建残差,然后将所述重建残差加回预测块以形成cu的重建信号。在将重建cu置于参考图片缓冲器117中并用于对未来的视频块进行编解码之前,可以对重建cu应用如去块滤波器或样点自适应偏移(sao)和自适应环路滤波器(alf)等进一步的环路滤波。为了形成输出视频比特流,将编解码模式(帧间或帧内)、预测模式信息、运动信息和经量化的残差系数都发送至熵编码电路106,以进行进一步压缩和打包来形成比特流。
48.图2是阐述可以与包括vvc在内的许多视频编解码标准结合使用的说明性的基于块的视频解码器的框图。在一些示例中,解码器200与位于图1的编码器100中的重建相关的部分类似。
49.参考图2,在解码器200中,首先通过熵解码电路202对传入视频比特流201进行解码,以推导经量化的系数级别和预测相关信息。然后,通过反量化电路204和逆变换电路206处理经量化的系数级别,以获得重建预测残差。将编解码模式和预测信息发送到空间预测电路(如果帧内编码的话)或时间预测电路(如果帧间编码的话)以形成预测块。将残差变换系数发送到反量化电路204和逆变换电路206以重建残差块。然后,将预测块和残差块相加。重建块可以进一步通过环路滤波器216,然后被存储在参考图片存储中。然后,将参考图片存储中的重建视频发送出去以驱动显示设备,并用于预测未来的视频块。
50.可以在帧内/帧间模式选择电路208中实施的块预测值机制包括:被配置为执行帧内预测过程的帧内预测电路210、和/或被配置为基于解码预测信息来执行运动补偿过程的运动补偿电路212。通过使用加法214对来自逆变换电路206的重建预测残差与由块预测值机制生成的预测输出进行求和来获得一组未经滤波的重建像素。在环路滤波器216被开启的情况下,对这些重建像素执行滤波操作,从而推导最终的重建视频以供输出。
51.图3a至图3e示出了五个示例划分类型,即,四元分割(图3a)、水平二元分割(图3b)、垂直二元分割(图3c)、水平三元分割(图3d)和垂直三元分割(图3e)。
52.图4示出了用于一个ibc编解码的编码单元的有效预测样点区域。由于如无线显示、视频会议、游戏直播和云计算等视频应用程序的快速发展,屏幕内容编解码(scc)近年来已经受到学术界和工业界的广泛关注。尽管与先前的视频编解码标准hevc相比,vvc在编
解码效率方面已经取得了显著的提升,但vvc中的大多数编解码工具主要是为自然相机捕获的视频而设计的。然而,通常由如文本和图形等计算机生成的内容构成的屏幕内容视频示出与自然内容的属性截然不同的属性。例如,由于相机镜头的性质,相机所捕获的自然视频信号通常示出跨越不同对象的平滑边界,而屏幕内容则呈现锐利的边缘。
53.ibc首先是在hevc scc扩展的开发期间提出的,并且是通过同一图片中的已重建编码单元来预测一个当前视频编码单元的样点的块匹配技术。重建编码单元也被称为当前视频编码单元的参考编码单元。当前视频编码单元与参考编码单元之间的位移被称为块矢量(bv)。bv与当前视频编码单元的预测残差一起需要从编码器传输到解码器,以用于在解码器处进行样点重建。由于ibc编解码工具针对典型的屏幕内容视频具有大于30%的bd率减小的优越编解码性能,在第12届jvet会议上,ibc编解码工具被采纳到vvc工作草案中。因为ibc使用当前图片中未经滤波的重建样点作为参考,所以编码器和解码器两者都需要在当前图片中进行环路滤波(例如,去块、sao和alf)之前保持已重建区域的样点。由于需要使用额外的存储器和带宽来进行ibc相关的读取和写入操作,这可能会大大增加硬件实施方式复杂性。
54.如图4所示,为了实现编解码性能与实施方式复杂性之间的良好折衷,在vvc的ibc设计中,仅允许左相邻ctu和当前ctu中的重建样点被用作对当前cu进行ibc预测的参考。
55.图5是根据一个示例的vvc中的ibc信号发送的流程图。当用信号发送cu的预测模式时,除了帧内预测模式和帧间预测模式之外,还将ibc作为第三模式用信号发送。这是通过添加一个cu级标志(除指示帧内模式对帧间模式的原始标志之外)来指示当前cu是否由ibc模式进行编解码来实现的。
56.具体地,有两种不同的方式在vvc中启用ibc模式。首先,如果一个cu在合并模式下进行编解码,则合并候选索引用于指示列表中的来自当前cu的bv所继承自的ibc编解码的相邻候选的bv。ibc合并候选列表由至多五个空间相邻cu/块的bv和基于历史的bv构成,其方式类似于常规帧间合并模式。其次,如果一个cu被编解码为非合并模式,则预测cu的bv,并且以与常规mv相同的方式编解码对应的bv差。bv预测方法使用两个候选作为预测值,一个来自左邻居并且另一个来自上方邻居(两者都是ibc编解码的)。当任一邻居不可用时,零bv将用作预测值。用信号发送1二进制位标志以指示块矢量预测值索引。另外,当cu被编解码为非合并ibc模式时,在cu级,bvd分辨率可在1像素整数与4像素整数之间切换。
57.ibc模式非常类似于帧间模式,除了ibc模式使用当前图片中已重建区域的样点作为参考样点,而正常帧间模式使用其他已编解码图片的样点来预测当前cu。因此,用于帧间编解码的一些编解码工具也可以应用于ibc模式。具体地,当前ibc中包括以下设计方面,以处理其与vvc中的帧间编解码工具的交互:与空间合并模式的交互、与时间运动矢量预测和基于子块的时间运动矢量预测的交互、与成对合并模式的交互、与基于历史的运动矢量预测的交互、与单独的亮度

色度分区树的交互、与自适应运动矢量分辨率的交互、以及与利用色度缩放的亮度映射的交互。
58.在与空间合并模式的交互中,允许当前cu的bv从其空间相邻cu的bv继承。ibc合并候选的推导过程保持与常规合并候选(即,非ibc合并模式)几乎相同,除了ibc模式的bv候选的推导排除了通过帧间模式编解码的所有相邻cu,并且反之亦然。具体地,如果当前cu是一个ibc编解码的cu,则当生成cu的合并候选时,仅考虑由ibc模式编解码的相邻cu。相反,
如果当前cu是一个帧间编解码的cu,则仅考虑通过帧间模式编解码的相邻cu,以形成cu的合并候选列表。
59.在与时间运动矢量预测和基于子块的时间运动矢量预测的交互中,vvc中支持时间运动矢量预测(tmvp)。在tmvp下,当前cu的mv由一个时间参考图片(也被称为同位图片)中的同位cu的mv预测。另外,vvc还支持基于子块的时间运动矢量预测(sbtmvp)。类似于tmvp,sbtmvp通过合并模式使用同位图片的运动信息来推导当前cu的运动信息。然而,sbtmvp模式的运动推导是在子块级执行的,而不是仅仅为推导当前cu的单个mv。tmvp和sbtmvp两者都仅仅针对帧间编解码的cu启用,但针对ibc编解码的cu禁用。
60.在与成对合并模式的交互中,ibc合并模式下支持成对合并候选。具体地,类似于帧间合并模式(其中,可以通过对两个帧间合并候选的mv取平均来生成成对合并候选),对于ibc合并模式,可以通过对两个ibc合并候选的bv取平均来生成成对合并候选。然而,禁止组合一个ibc合并候选和一个帧间合并候选,即,不允许对一个bv与一个mv取平均。
61.在与基于历史的运动矢量预测的交互中,与正常帧间模式一样,通过将先前ibc cu的bv添加到一个历史候选列表中作为用于预测未来ibc cu的bv的参考来将基于历史的运动矢量预测(hmvp)应用于ibc模式。然而,在编码器和解码器两者处保持和更新两个单独的候选表(一个包含先前的帧间编码的cu的mv(即,hmvp mv表)并且另一个包含先前ibc cu的bv(即,hmvp bv表)),而不是共享同一个缓冲器。在对一个帧间/ibc cu进行编解码之后,通过将对应的mv/bv作为一个新的候选项添加到对应表的最后条目中来更新hmvp mv/ibc表。另外,这些hmvp表中的候选可以分别用作正常帧间模式和ibc模式的合并候选或amvp预测候选。
62.在与单独的亮度

色度分区树的交互中,当针对亮度分量和色度分量应用单独的分区树时,ibc模式仍然可以应用于亮度和色度两者,但限制在于,色度cu的bv是直接从对应的亮度cu的bv推导的,而无信号发送。更具体地,在对一个色度cu进行编解码之前,首先检查与色度cu相对应的亮度样点的ibc模式涵盖范围。只有当色度cu的对应亮度区域中的所有亮度样点都被编解码为ibc模式时,才可以针对色度cu启用ibc模式。当启用ibc模式时,从对应亮度bv推导每个色度子块(例如,2
×
2子块)的bv(利用mv缩放和舍入)。
63.在与自适应运动矢量分辨率的交互中,所有bv被限制为整数像素分辨率,使得来自参考cu的直接样点副本(即,没有任何像素插值)可以用于生成ibc预测。除整数像素bv精度之外,还应用自适应块矢量分辨率(abvr)来为ibc模式引入四像素bv精度。基于当前cu是否具有至少一个非零bvd,有条件地启用abvr。如果水平bvd和垂直bvd两者都为零,则总能推断出整数像素bvd。类似于自适应运动矢量分辨率(amvr),为了确保重建bv具有预期的精度,将一个ibc cu的所选bv预测值舍入到与bvd的精度相同的精度,然后与bvd相加以生成最终bv。
64.在与利用色度缩放的亮度映射的交互中,在环路滤波器之前应用被称为利用色度缩放的亮度映射(lmcs)的一种编解码工具。lmcs有两个主要分量:1)基于自适应分段线性模型对亮度分量的环路映射;以及2)对于色度分量,应用依赖于亮度的色度残差缩放。
65.图6是阐述根据一个示例的使用利用色度缩放的亮度映射(lmcs)的解码过程的框图。如图6所示,q
‑1和t
‑1电路601、重建电路602以及帧内预测电路603指示在映射域中应用处理的电路,包括反量化、逆变换、亮度帧内预测以及亮度预测与亮度残差的相加。另外,环
路滤波器电路604和607、dpb电路605和608、运动补偿电路606和611、帧内预测电路610以及重建电路609指示在原始(即,非映射)域中应用处理的电路,包括如去块、alf和sao等环路滤波器、运动补偿预测、色度帧内预测、色度预测与色度残差的相加以及将解码图片存储为参考图片。
66.在vvc中,允许ibc与lmcs组合。当联合启用两个编解码工具时,类似于帧内模式,在映射域中执行ibc亮度预测,而在原始域中进行ibc色度预测。此外,如稍后将提到的,需要为每个当前图片生成一个散列表,并将所述散列表用于基于散列的bv搜索。在vtm

4.0中,散列表在映射的亮度样点域中生成。具体地,需要使用lmcs分段线性模型将当前图片的亮度样点转换到映射的样点域,并且然后使用映射的亮度样点来生成图片的散列表。在与其他帧间工具的交互中,在给定cu上,ibc模式不能与以下帧间编解码工具联合启用,包括仿射模式、具有运动矢量差的合并模式、组合帧内

帧间预测和三角模式。
67.在vvc测试模型(vtm)

4.0中,在编码器侧针对ibc模式执行基于散列的bv搜索方法。编码器针对宽度和高度两者都不大于16个亮度样点的cu执行率失真(rd)检查。对于非合并ibc模式,首先使用基于散列的搜索来执行bv搜索。如果散列搜索失败,则将检查来自先前分割路径的当前cu的缓存bv。如果缓存bv仍然不能提供有效bv候选,则将基于传统的块匹配来最终执行一次局部bv搜索。
68.图7是根据一个示例的用于ibc模式的块矢量(bv)估计过程的流程图。对于基于散列的bv搜索,为原始图片中的每个4
×
4块计算散列值(即,32比特crc),并将所述散列值扩展至用于ibc模式的所有允许的cu尺寸。具体地,对于一个给定cu,只有当给定cu内的所有4
×
4子块的散列值与参考cu内的对应同位子块的散列相匹配时,才确定与另一个参考cu(与给定cu的尺寸相同)完美匹配。为了定位参考块的位置,识别当前cu内的与最小数量的匹配的4
×
4块相关联的4
×
4子块的散列值(即,散列*),所述子块也被称为“先导子块”。然后,对于当前图片中的散列值等于散列*的每个4
×
4块,可以确定一个参考cu,其起始位置被设置为4
×
4块的左上位置并且尺寸被设置为等于cu的宽度和高度。
69.图8示出了一个示例以图示如何基于4
×
4子块的散列值来定位ibc参考块。如果存在散列值与当前cu的散列值相匹配的多个参考cu,则计算对应于每个参考cu的bv信号发送代价,并选择代价最小的那个。
70.由于vvc中使用的四/二/三叉树分区结构,通过不同的分区组合可以获得相同的块分区。为了加速bv估计过程,当基于散列的bv搜索不能提供有效bv候选时,通过在不同的分区选择中重新使用一个特定cu的bv候选,在vtm

4.0中应用快速bv搜索算法。具体地,当首次对cu进行编码时,将存储一个特定cu的确定的bv。然后,当通过另一个分割路径对相同cu进行编码时,将直接重新使用存储的bv,而不是通过基于散列的bv搜索和局部bv搜索来再次估计bv。
71.图9示出了根据一些示例的用于基于预测值的ibc搜索的空间相邻cu。如果基于散列的bv搜索和缓存的bv搜索两者都失败,则将基于传统的块匹配方案来执行一次基于局部块匹配的bv搜索。具体地,局部bv搜索过程由两个单独步骤构成,即,基于预测值的bv搜索和空间bv搜索。对于基于预测值的bv搜索,使用如图9所示的位置a0、a1、b0、b1和b2(用于帧间和ibc合并模式的相同相邻位置)处的五个空间相邻cu的bv作为当前cu的bv候选。另外,对于每个空间bv候选,如果当前cu的对应参考cu也是ibc编解码的,则可以通过将当前bv和
参考cu的bv相加来生成一个推导的bv候选。
72.图10图示了在基于预测值的bv搜索中使用的bv推导过程。基于rd代价(其是亮度分量和bv信号发送比特的绝对差和(sad)的拉格朗日加权平均值)对所有上述bv候选进行评估和排序,并保持包含rd代价最小的八个bv候选的一个bv候选列表。在空间bv搜索中,以与基于预测值的bv搜索相同的方式更新当前cu和bv候选列表左侧和顶部的重建样点的一个预定范围内的候选位置。最后,通过考虑亮度分量和色度分量两者的rd代价来对bv候选列表应用bv细化。选择将rd代价最小化的bv作为cu的最终bv。
73.参考图8,为了定位用于基于散列的bv搜索的参考块的位置,首先识别当前cu内的先导子块的散列值。然后,对于拥有与先导子块相同散列值的每个4
×
4块,通过使用4
×
4匹配的块作为开始位置(即,左上角的位置)来确定参考cu。由于先导4
×
4子块可能不总是位于当前cu的左上角,所以这种方法是次优的,因为当定位当前cu的参考cu时,没有考虑先导4
×
4子块在当前cu内的相对位置。这种忽视会降低基于散列的块匹配的可能性(即,减少可以找到的匹配块的数量),并且因此损害基于散列的bv搜索的效率。
74.为了解决这种问题,如图11所示,本文提出了一种基于散列的块匹配的改进方法。图11示出了根据一个示例的基于散列的当前匹配方法与基于散列的匹配方法之间的比较。具体地,如图11所示,首先以与基于散列的块匹配方法相同的方式确定当前cu内的先导4
×
4子块。然而,所提出的方法不是使用每个匹配的4
×
4块作为开始位置,而是通过将匹配的4
×
4块视为参考块内的先导子块的同位块来确定对应的参考cu的区域。
75.可以通过使用映射的亮度样点来生成散列表。由于应用于计算每个图片的散列表的亮度样点的附加样点级别映射操作,这种设计增加了编码复杂性。为了降低ibc散列表生成的复杂性,可以基于原始亮度样点来生成散列表,即,没有lmcs映射。
76.除了基于ibc散列的bv估计之外,基于散列的搜索方法还可以应用于帧间(inter)(即,帧间(inter

frame))mv搜索,其中为当前图片的每个时间参考图片计算一个散列表。然后,通过比较两个cu的散列值来识别当前cu的参考cu。基于散列的帧间搜索的散列表生成不统一。具体地,对于帧内参考图片,通过使用映射的亮度样点来生成对应的散列表。对于帧间参考图片,通过使用原始亮度样点来生成散列表。考虑到可能在不同的亮度样点域中计算参考块和当前块的散列值,这可能会潜在地影响帧间(即,帧间)散列匹配的效率。
77.用于ibc模式的两种散列表协调方法可以应用于帧间散列搜索来解决这种问题。首先,帧内参考图片和帧间参考图片两者的散列表都是基于原始亮度样点生成的,即,没有lmcs映射。其次,帧内参考图片和帧间参考图片两者的散列表都是基于映射的亮度样点建立的,即,有lmcs映射。
78.在基于预测值的mv搜索中,只有与当前cu直接相邻的五个块的bv及其对应的推导的bv被检查为bv候选。这样的方案可能只有在五个相邻cu中的至少一个cu可用时才有帮助。另外,如果这些cu都不是由ibc模式编解码的,则基于预测值的mv搜索将不适用,因为相邻的非ibc cu没有可用的bv候选。另一方面,由于在vvc应用的通用块分区结构,每个cu可以通过多个树分区(即,四叉树、二叉树和三叉树)来进一步分割。
79.相应地,不同编解码树级的cu的bv或空间不相邻的cu的bv之间可能存在强相关性。例如,同一区域(例如,纹理较少的相对平坦区域)内的cu之间可能存在强相关性。在这种情况下,一个cu可以选择与其父cu的bv相同或类似的bv。在另一个示例中,对于如图3d和
图3e所示的三叉树分割,可以按水平方向或垂直方向上1:2:1的比率将cu划分成三个子分区。通常假设在这样的分区中,有一个前景对象位于块的中心子分区中,而左子区分和右子分区属于背景。在这种情况下,左子分区与右子分区之间的bv相关性将比中心子分区与左(或右)子分区之间的bv相关性更强。
80.为了进一步提高ibc编解码效率,提供了一种基于bv库的方法,其中,bv库包含由先前ibc cu检查的多个(例如,n个)bv候选。bv库中的候选可以用作当前cu的基于预测值的bv搜索的bv候选。具体地,bv库可以被设置为空,或者在图片的开头用一些代表性的bv值初始化。然后,在完成对cu的bv估计之后,可以通过将当前cu所检查的另一数量的(例如,k个)bv候选与bv库中的bv候选合并来更新bv库,以形成一个更新的bv库。更新的bv库将用于未来cu的基于预测值的bv搜索。
81.另外,为了进一步提高ibc编解码效率,同时将bv库维持在一个合理的尺寸,当更新bv库时可以应用修剪,使得只可以添加在更新之前不存在于bv库中的最近已编解码cu的bv候选。另外,由于空间相邻cu的bv之间的强相关性,首先将最近已编解码cu的bv候选包括在更新的bv库中,然后是原始bv库中的bv。
82.图13示出了用于更新bv库的示例性过程。bv库尺寸(即,n)和新添加的bv候选的数量(即,k)可以被设定为不同的值,这可以在编解码效率与编码复杂性之间提供不同的折衷。在一个示例中,n和k的值可以分别被设定为64和8。
83.在一个示例中,在编码器处保持bv库。bv库包括从先前已编解码cu的bv搜索中获得的一个或多个bv候选。然后生成bv候选列表。bv候选列表可以包括bv库中的所有bv、空间相邻cu的bv以及当前cu的推导的bv。然后为bv候选列表中的每个bv计算率失真代价。基于计算的率失真代价,可以确定具有最小率失真代价的bv为当前cu的最优bv。另外,通过从bv候选列表中添加k个bv替换bv库中的由先前已编解码cu检查的一个或多个现有的k个bv来更新bv库。
84.参考图10,如果通过当前cu的相邻bv识别的参考cu也由ibc模式进行编解码,则通过将当前bv和参考cu的bv相加,可以为当前cu的基于预测值的bv搜索生成一个推导的bv候选。推导的bv可以由两个bv的组合生成。换句话说,当前bv推导链可以最多包含两个连续的ibc参考cu。
85.然而,由于屏幕内容视频中的高度重复图案,一个ibc cu极有可能在一个图片中具有多个良好匹配块。因此,为了进一步探索这种特性,本公开中提出了一种扩展bv推导方法,用于通过允许在生成推导的bv时组合多个bv来进行基于预测值的bv搜索。具体地,类似于当前bv推导方法,如果所选相邻cu bv所指出的参考cu是ibc编解码的,则所提出的方法生成一个推导的bv。然而,所提出的方法不是做一次就停止,而是继续并重复bv推导过程,直到新推导的bv所指出的参考cu不再由ibc模式进行编解码为止。
86.图14示出了示例性扩展bv推导。如图14所示,在从当前cu开始的bv推导链上有l+1个连续的ibc参考cu,即,参考cu0、参考cu1、

、参考cu
l
。相应地,通过所提出的方法,可以为基于预测值的bv搜索推导l个不同的bv,即,个不同的bv,即,
87.当当前cu不能通过基于散列的匹配找到匹配的参考cu时,通过重新使用在先前分割路径中获得的相同块的bv候选来应用缓存的bv搜索。在当前vtm

4.0中,当基于一个特定分区结构对当前块进行编码时,仅存储最佳bv。虽然可以通过不同的分区组合获得相同的
cu,但是当应用不同的分割路径时,cu周围的相邻块可以不同。
88.图15a至图15c示出了通过不同分割路径对相同cu进行分割的示例。具体地,在图15a中,通过一次四叉树划分来获得cu x;在图15b中,cu x是通过对第二子分区进行一次水平二元划分、然后进行一次垂直二元划分来获得的;在图15c中,cu x是通过对第二子分区进行一次垂直二元划分、然后进行一次水平二元划分来获得的。
89.另外,如图15a至图15c所示,在不同的分割路径下,当前块的相邻cu是不同的。例如,在图15a中,cu x的所有三个相邻cu都是ibc编解码的cu,而在图15b中,cu x周围没有ibc相邻cu。由于不同的相邻cu,当预测cu x的bv时,可以获得不同的bv预测值,这可能导致不同的bvd信号发送开销。因此,当基于另一个分割路径对相同cu进行编码时,基于一个分割路径生成的一个cu的最佳bv可能不总是最优的。
90.为了进一步提高ibc编解码效率,本公开中提出增加用于缓存的bv搜索的存储的bv的数量。具体地,当在编码器处测试一个ibc cu时,所提出的方法不是仅存储单个最佳bv,而是存储并保持基于对应rd代价选择的前m个(这里m是大于1的值)bv候选。然后,当通过另一个分割路径再次对相同cu进行编解码时,将跳过局部bv估计;相反,将计算来自先前分割路径的存储的bv候选的rd代价,并且将选择最小化rd代价的bv候选作为cu的当前最佳bv。
91.在另一个示例中,为了进一步提高估计的bv的准确度,可以在缓存的bv搜索期间另外测试基于预测值的bv候选。具体地,除从先前分割路径获得的当前cu的bv候选之外,还测试了图9中的五个空间相邻cu的bv及其对应的推导的bv以确定当前cu的最优bv。
92.此外,所有所提出的bv搜索改进(例如,基于bv库和扩展bv推导的基于预测值的增强bv搜索)可以自由组合,并且不同的组合可以在编解码性能和编码复杂性方面提供不同的折衷。在一个示例中,组合所有上述改进以最大限度地提高ibc模式的bv估计的效率。
93.图16是当联合应用所有上述bv搜索改进方法时的bv估计的流程图。
94.在现代视频编码器中,绝对差和(sad)和绝对变换差和(satd)是两种广泛使用的失真度量,用于在编码器rd过程中确定某些编解码参数(例如,mv/bv、编解码模式和额外的情况)。sad通过简单地计算一个cu中的样点与其在另一个cu中的对应样点之间的绝对差来测量两个视频cu之间的相似性。由于其低复杂性,sad已经用于涉及大量相似性比较的某种rd过程,例如,整数样点位置处的运动估计。satd的工作原理是对对应的视频cu进行频率变换(通常是哈达玛变换),然后测量两个变换的视频cu的相似性(即,一个变换的cu中的样点与其在另一个变换的cu中的对应样点之差)。
95.尽管由于附加变换操作,satd更复杂,但就考虑用于传输残差信号的比特数而言,satd是比sad更好的rd代价估计。因此,satd通常用于需要更准确的rd代价估计的那些rd过程(例如,分数样点位置处的运动估计、帧间合并候选和帧内预测模式的预选以及额外的情况)。
96.在估计自然视频内容的rd代价方面,satd比sad更准确,因为变换通常有助于对这些内容进行编解码。由于相机镜头的性质,自然视频内容通常示出相邻捕获样点值之间的平滑过渡。这导致在帧间/帧内预测之后残差平面逐渐改变,其中,2d变换有利于应用于残差信号的能量压紧目的。然而,因为屏幕内容是由计算机直接生成的,所以与自然内容相比,屏幕内容示出非常不同的特性(例如,极其尖锐的边缘或颜色过渡、具有重复图案的大
cu的mv和bv两者。
105.参考图4,根据vvc中的ibc设计,在ibc模式下,仅允许将当前ctu和左ctu中的重建样点用作参考样点来预测当前cu。强制执行这一点以避免与外部(或者换句话说,非本地)存储器进行额外的数据交换,因为当前ctu和左ctu的所有重建样点都可以使用片上存储器进行存储。另一方面,除了当前ctu和左ctu中的重建样点之外,还有其他重建样点通常存储在本地片上存储器中。本地缓冲器中的除当前ctu和左ctu中的样点之外的这些重建样点也允许用作对当前cu进行ibc预测的参考样点。
106.一个示例是另外包括存储在线缓冲器中用于ibc预测的那些重建样点。对于vvc中的帧内预测,需要保持来自顶部ctu行的当前图片和/或当前瓦片的宽度中的至少一行重建样点。这些样点可以用作对下一个ctu行中的cu进行帧内预测的参考样点。用于保存这些重建样点的缓冲器通常被称为“线缓冲器”。换句话说,利用所提出的方法,ibc所使用的重建样点的对应区域包括当前ctu和左ctu中的已重建样点以及线缓冲器中的至少一行重建样点。
107.图17图示了考虑线缓冲器中的重建样点之后的对应ibc参考区域。
108.另一个示例是另外包括在环路滤波之前存储在本地缓冲器中的用于ibc预测的重建样点。对于vvc的实际硬件编解码器实施,除存储在线缓冲器中的重建样点(在环路滤波器之前)之外,当前vvc中的其他编解码工具还需要其他某种本地片上存储器。在一些示例中,基于由编码器确定并传输到解码器的有限响应(fir)滤波器,应用自适应环路滤波器(alf)来增强重建的亮度和色度样点。
109.如图18a至图18b所示,在当前alf中,分别应用7
×
7菱形滤波器和5
×
5菱形滤波器对亮度和色度重建样点进行滤波。相应地,如图18a至图18b所示,需要从顶部ctu存储3行重建亮度样点和2行重建色度样点,以对当前ctu的第一个cu行中的cu的样点执行alf操作。
110.在另一个示例中,在vvc中应用去块作为环路滤波器,以减少/去除由运动补偿和量化引起的块化伪像。如图19所图示的,在当前去块设计中,需要来自顶部ctu的至多4行重建亮度样点和2行重建色度样点用于对邻近当前ctu和顶部ctu的边框的样点进行去块。为了进一步提高ibc性能,除用于当前ctu和左ctu中的重建样点的本地存储装置之外,本公开中提出包括存储在所有其他片上存储器中的重建样点(例如,用于alf、去块、sao等的4行重建样点)作为对一个当前cu进行ibc预测的附加参考样点。
111.在一些示例中,提供了一种视频编码方法。所述方法包括:接收包括多个编码单元的视频图片,其中,所述多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的,所述参考编码单元是重建的编码单元,并且所述多个编码单元包括第一编码单元;将所述图片分为多个非重叠块并由编码器计算所述多个非重叠块中的每个块的散列值;将所有非重叠块分类为包括第一类别和第二类别的至少两个类别,其中,所述第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且所述第二类别包括所有剩余的块;将所述第二类别中的块分类成包括第一分组的至少两个分组,其中,所述第一分组包括表征与所述第二类别中的另一个块相同的散列值的一个或多个块;确定失真度量,用于计算一个编码单元中的样点与所述编码单元在同一图片中的参考编码单元的样点之差;以及基于所述失真度量来获得所述图片中的第一编码单元的最优块矢量(bv),其中,所述第一编码单元的bv是所述第一编码单元与所述第一编
码单元在同一图片中的参考编码单元之间的位移。
112.在一些示例中,所述至少两个分组还可以包括第二分组,其中,所述第二分组包括所述第二类别中的所有剩余块。
113.在一些示例中,所述确定所述失真度量的步骤包括:当所述第二类别的第一分组中的块的百分比大于一个预定阈值时使用绝对差和(sad)作为所述失真度量;以及当所述第二类别的第一分组中的块的百分比不大于所述预定阈值时使用绝对变换差和(satd)作为所述失真度量。
114.在一些示例中,所述获得所述第一编码单元的最优bv的步骤包括:通过将所述第一编码单元中的每个块的散列值与该块在第二编码单元中的同位块的散列值进行匹配来识别对应于所述第一编码单元的第二编码单元,其中,所述第二编码单元中的同位块的散列值与所述第一编码单元中的块的散列值相同,并且所述多个编码单元包括所述第二编码单元。
115.在一些示例中,所述识别对应于所述第一编码单元的第二编码单元的步骤进一步包括:识别所述第一编码单元中的先导块,其中,所述先导块是所述第一编码单元中的与最小数量的具有与所述图片中的块相同的散列值的匹配块相对应的块;识别第二编码单元,所述第二编码单元包括所述先导块的同位块,其中,所述第二编码单元具有与所述第一编码单元相同的尺寸,并且所述同位块的散列值与所述先导块的散列值相同;以及确定所述第二编码单元为参考编码单元,其中,所述第一编码单元中的每个块的散列值与该块在所述第二编码单元中的同位块的散列值相同。
116.在一些示例中,所述获得所述第一编码单元的最优bv的步骤进一步包括:当基于第一分割路径在第一时间对所述第一编码单元进行编码时基于确定的失真度量来选择并保持一组bv候选;当基于第二分割路径在第二时间对所述第一编码单元进行编码时基于所述第一分割路径来计算用于所述一组保持的bv候选中的每个bv候选的率失真代价;从所述一组bv候选中选择bv,其中,所选bv具有最小率失真代价;以及确定所述所选bv为所述第一编码单元的最优bv。
117.在一些示例中,所述计算所述第一编码单元的最优bv的步骤进一步包括:在所述编码器处保持bv库,其中,所述bv库包括从对先前编码的编码单元的bv搜索中获得的一个或多个bv候选,所述一个或多个bv候选的数量是n,并且n是正整数;生成bv候选列表,其中,所述bv候选列表包括所述bv库中的所有bv、空间相邻编码单元的bv以及所述第一编码单元的推导的bv;针对所述bv候选列表中的每个bv计算率失真代价并选择bv作为所述第一编码单元的最优bv,其中,所选bv具有最小率失真代价;以及通过从所述bv候选列表中添加一个或多个bv替换所述bv库中的一个或多个现有bv来更新所述bv库,其中,更新的bv库用于确定未来编码单元的最优bv,添加的一个或多个bv的数量和替换的一个或多个现有bv的数量分别为k,并且k是正整数。
118.在一些示例中,n的值是64,并且k的值是8。
119.在一些示例中,所述第一编码单元的推导的bv通过以下方式生成:识别在所述ibc模式下编解码的第一参考编码单元,其中,所述第一参考编码单元由在所述ibc模式下编解码的所述第一编码单元的空间相邻编码单元的第一bv指向;识别第二bv,其中,所述第二bv是所述第一参考编码单元的bv;通过将所述第一bv和所述第二bv相加来生成第一推导的
bv;识别在所述ibc模式下编解码的第二参考编码单元,其中,所述第二参考编码单元由来自所述第一参考编码单元的第二bv指向;识别第三bv,其中,所述第三bv是所述第二参考编码单元的bv;通过将所述第一推导的bv和所述第三bv相加来生成第二推导的bv;以及通过重复上述过程来生成一个或多个推导的bv,直到对应的参考块不通过所述ibc模式进行编解码为止。
120.在一些示例中,所述空间相邻编码单元包括以下相邻编码单元:所述第一编码单元的左、左下、上、右上和左上相邻编码单元。
121.在一些示例中,提供了一种计算设备。所述计算设备包括:一个或多个处理器;非暂态存储装置,所述非暂态存储装置耦接到所述一个或多个处理器;以及多个程序,所述多个程序存储在所述非暂态存储装置中,所述多个程序当由所述一个或多个处理器执行时使所述计算设备执行包括以下各项的动作:接收包括多个编码单元的视频图片,其中,所述多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的,所述参考编码单元是重建的编码单元,并且所述多个编码单元包括第一编码单元;将所述图片分为多个非重叠块并由编码器计算所述多个非重叠块中的每个块的散列值;将所有非重叠块分类为包括第一类别和第二类别的至少两个类别,其中,所述第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且所述第二类别包括所有剩余的块;将所述第二类别中的块分类成包括第一分组的至少两个分组,其中,所述第一分组包括表征与所述第二类别中的另一个块相同的散列值的一个或多个块;确定失真度量,用于计算一个编码单元中的样点与同所述编码单元在同一图片中的参考编码单元的样点之差;以及基于所述失真度量来获得所述图片中的第一编码单元的最优块矢量(bv),其中,所述第一编码单元的bv是所述第一编码单元与同所述第一编码单元在同一图片中的参考编码单元之间的位移。
122.在一些示例中,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序当由所述一个或多个处理器执行时使所述计算设备执行包括以下各项的动作:接收包括多个编码单元的视频图片,其中,所述多个编码单元中的每个编码单元是通过帧内块复制(ibc)模式从同一图片中的参考编码单元预测的,所述参考编码单元是重建的编码单元,并且所述多个编码单元包括第一编码单元;将所述图片分为多个非重叠块并由编码器计算所述多个非重叠块中的每个块的散列值;将所有非重叠块分类为包括第一类别和第二类别的至少两个类别,其中,所述第一类别包括表征第一组散列值所涵盖的一个或多个散列值的一个或多个块,并且所述第二类别包括所有剩余的块;将所述第二类别中的块分类成包括第一分组的至少两个分组,其中,所述第一分组包括表征与所述第二类别中的另一个块相同的散列值的一个或多个块;确定失真度量,用于计算一个编码单元中的样点与同所述编码单元在同一图片中的参考编码单元的样点之差;以及基于所述失真度量来获得所述图片中的第一编码单元的最优块矢量(bv),其中,所述第一编码单元的bv是所述第一编码单元与同所述第一编码单元在同一图片中的参考编码单元之间的位移。
123.在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质进行传输并且由基于硬件的处理单元执行。计算机可读介质可以包
括对应于如数据存储介质等有形介质的计算机可读存储介质或包括有助于例如根据通信协议将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以此方式,计算机可读介质通常可以对应于(1)非暂态的有形计算机可读存储介质或者(2)如信号或载波等通信介质。数据存储介质可以是可以被一个或多个计算机或者一个或多个处理器访问以取得用于实施本技术中描述的实施方式的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
124.进一步地,可以使用包括一个或多个电路的装置来实施上述方法,所述一个或多个电路包括专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子部件。所述装置可以将这些电路与用于执行上述方法的其他硬件或软件部件结合使用。上文公开的每个模块、子模块、单元或子单元都可以使用所述一个或多个电路来至少部分地实施。
125.考虑在此公开的发明的说明书和实践,本发明的其他示例对于本领域技术人员而言将是显而易见的。本技术旨在涵盖遵循其一般原则对发明进行的任何改变、使用或改编,包括在本领域中已知或惯用实践内与本公开内容的偏离。说明书和示例旨在被认为仅是示例性的,本发明的真正范围和精神由所附权利要求指示。
126.应该理解的是,本发明不限于上文描述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和变化。本发明的范围旨在仅由所附权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1