首页 / 专利库 / 广播 / 帧内预测 / 用于视频压缩中的帧内编码的方法和设备

用于视频压缩中的内编码的方法和设备

阅读:1043发布:2020-05-18

专利汇可以提供用于视频压缩中的内编码的方法和设备专利检索,专利查询,专利分析的服务。并且用于使用 帧 内编码并且从候选帧内模式的集合中移除冗余帧内模式的 视频编码 的方法和设备。该方法可以确定至少一些候选帧内模式生成冗余的候选预测 块 ,并且基于该确定来消除上述候选帧内模式中的至少一些以将集合减少为子集。在一些情况下,如果候选预测块小于与由集合中的候选帧内模式之一标识的另一候选预测块不同的 阈值 ,则该候选预测块是冗余的。可以将函数应用于候选预测块和另一候选预测块以标识冗余。,下面是用于视频压缩中的内编码的方法和设备专利的具体信息内容。

1.一种用于从比特流解码视频的方法,所述视频包括当前图片,所述当前图片包含要使用内预测而被解码的当前,所述帧内预测采用来自所述当前图片的先前重构的像素,所述方法包括:
确定用于所述当前块的候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块,并且基于所述确定来从所述候选帧内编码模式的子集中排除所述至少一个候选帧内编码模式,并且其中所述预测块基于以下被确定为是冗余的:
将函数应用于所述预测块、以及基于所述集合中的其他候选帧内编码模式中的一个其他候选帧内编码模式而被生成的另一预测块;从所述比特流熵解码出关于所选择的帧内编码模式的信息;以及
从所述子集中的所述候选帧内编码模式中标识所选择的所述帧内编码模式,以基于所述信息来针对所述当前块生成当前预测块。
2.根据权利要求1所述的方法,其中应用函数包括:通过使用从L1、L2、L∞、平均绝对误差、均方误差或结构相似度中选择的度量,来计算所述预测块与所述另一预测块之间的距离。
3.根据权利要求1所述的方法,其中所述函数包括局部敏感哈希、标量量化、矢量量化、主成分分析或自动编码器神经网络中的一项。
4.根据权利要求1所述的方法,其中确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块包括:
针对所述集合中的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中的已经在所述子集中的至少一个帧内编码模式生成的候选预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,以及如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
5.根据权利要求1所述的方法,其中确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块包括:
通过将来自所述集合的所述候选帧内编码模式中的至少一个候选帧内编码模式添加到所述子集来初始所述化子集;以及
针对所述集合中未被添加的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中的已经在所述子集中的至少一个帧内编码模式生成的候选的预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,以及如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
6.根据权利要求5所述的方法,其中所述候选帧内编码模式中的被添加到所述子集的所述至少一个候选帧内编码模式包括最可能模式列表中的帧内编码模式。
7.根据权利要求1所述的方法,其中熵解码出所选择的所述帧内编码模式包括:基于由所述子集给出的缩减字母表来熵解码出所选择的所述帧内编码模式。
8.根据权利要求1所述的方法,还包括:基于冗余来对所述集合的所述帧内编码模式进行排序,并且将经排序的所述帧内编码模式映射到具有一组有序位置的编码列表,每个位置具有相关联的概率,并且其中熵解码出关于所选择的所述帧内编码模式的所述信息包括:熵解码出信令通知所述编码列表中的位置的索引的所述信息。
9.一种用于从比特流解码视频的解码器,所述视频包括当前图片,所述当前图片包含要使用帧内预测而被解码的当前块,所述帧内预测采用来自所述当前图片的先前重构的像素,所述解码器包括:
处理器;
存储器;以及
解码应用,包含由所述处理器可执行的指令,所述指令在被执行时使所述处理器:
确定用于所述当前块的候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块,并且基于所述确定来从所述候选帧内编码模式的子集中排除所述至少一个候选帧内编码模式,并且其中所述预测块基于以下被确定为是冗余的:
将函数应用于所述预测块、以及基于所述集合中的其他候选帧内编码模式中的一个其他候选帧内编码模式而被生成的另一预测块;
从所述比特流熵解码出关于所选择的帧内编码模式的信息;以及
从所述子集中的所述候选帧内编码模式中标识所选择的所述帧内编码模式,以基于所述信息来针对为所述当前块生成当前预测块。
10.根据权利要求9所述的解码器,其中应用函数包括:通过使用从L1、L2、L∞、平均绝对误差、均方误差或结构相似度中选择的度量,来计算所述预测块与所述另一预测块之间的距离。
11.根据权利要求9所述的解码器,其中所述函数包括局部敏感哈希、标量量化、矢量量化、主成分分析或自动编码器神经网络中的一项。
12.根据权利要求9所述的解码器,其中所述指令在被执行时用以使所述处理器通过以下来确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块:
针对所述集合中的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中已经在所述子集中的至少一个帧内编码模式生成的候选预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,以及如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
13.根据权利要求9所述的解码器,其中所述指令在被执行时用以使所述处理器通过以下来确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块:
通过将来自所述集合的所述候选帧内编码模式中的至少一个候选帧内编码模式添加到所述子集来初始所述化子集;以及
针对所述集合中未被添加的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中已经在所述子集中的至少一个帧内编码模式生成的候选预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,以及如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
14.根据权利要求13所述的解码器,其中所述候选帧内编码模式中的被添加到所述子集的所述至少一个候选帧内编码模式包括最可能模式列表中的帧内编码模式。
15.根据权利要求9所述的解码器,其中所述指令在被执行时用以使所述处理器通过以下来熵解码出所选择的所述帧内编码模式:基于由所述子集给出的缩减字母表来熵解码出所选择的所述帧内编码模式。
16.根据权利要求9所述的解码器,其中所述指令在被执行时用以使所述处理器基于冗余来对所述集合中的所述帧内编码模式进行排序,并且将经排序的所述帧内编码模式映射到具有一组有序位置的编码列表,每个位置具有相关联的概率,并且使所述处理器通过以下来熵解码出关于所选择的所述帧内编码模式的所述信息:熵解码出信令通知所述编码列表中的位置的索引的所述信息。
17.一种非瞬态处理器可读介质,存储用于从经编码的数据的比特流解码视频的处理器可执行指令,所述视频包括当前图片,所述当前图片包含要使用帧内预测而被解码的当前块,所述帧内预测采用来自所述当前图片的先前重构的像素,其中所述处理器可执行指令在由视频解码器中的处理器执行时使所述处理器:
确定用于所述当前块的候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块,并且基于所述确定来从所述候选帧内编码模式的子集中排除所述至少一个候选帧内编码模式,并且其中所述预测块基于以下被确定为是冗余的:
将函数应用于所述预测块、以及基于所述集合中的其他候选帧内编码模式中的一个其他候选帧内编码模式而被生成的另一预测块;
从所述比特流熵解码出关于所选择的帧内编码模式的信息;以及
从所述子集中的所述候选帧内编码模式中标识所选择的所述帧内编码模式,以基于所述信息来针对所述当前块生成当前预测块。
18.根据权利要求17所述的非瞬态处理器可读介质,其中所述指令在被执行时用以使所述处理器通过以下来确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块:
针对所述集合中的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中的已经在所述子集中的至少一个帧内编码模式生成的候选预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,以及如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
19.根据权利要求17所述的非瞬态处理器可读介质,其中所述指令在被执行时用以使所述处理器通过以下来确定用于所述当前块的所述候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对所述当前块生成冗余的预测块:
通过将来自所述集合的所述候选帧内编码模式中的至少一个候选帧内编码模式添加到所述子集来初始所述化子集;以及
针对所述集合中未被添加的每个候选帧内编码模式,依次
确定将由所述候选帧内编码模式生成的候选预测块,以及
将所述候选预测块与将由所述帧内编码模式中的已经在所述子集中的至少一个帧内编码模式生成的候选预测块进行比较,以确定所述候选预测块是否冗余,以及如果所述候选预测块冗余,则从所述子集中排除所述候选帧内编码模式,并且如果所述候选预测块不冗余,则将所述候选帧内编码模式添加到所述子集。
20.根据权利要求17所述的非瞬态处理器可读介质,其中所述指令在被执行时用以使所述处理器通过以下来熵解码出所选择的所述帧内编码模式:基于由所述子集给出的缩减字母表来熵解码出所选择的所述帧内编码模式。

说明书全文

用于视频压缩中的内编码的方法和设备

技术领域

[0001] 本申请总体上涉及视频编码,并且具体地涉及用于改进视频编码中的帧内编码的方法和系统。

背景技术

[0002] 数据压缩被用于通信和计算机网络中以有效地存储、传输和再现信息。它在图像、音频和视频的编码中得到了特殊的应用。常见的图像压缩格式包括JPEG、TIFF和PNG。ITU-T H.265/HEVC标准是最新开发的视频编码标准。其他视频编码格式包括由Google公司开发的VP8和VP9格式。目前正在积极开发所有这些标准和格式。
[0003] 所有这些图像以及视频编码标准和格式均基于预测编码,该预测编码产生要被编码的数据的预测,然后对预测中的误差(通常称为残差)进行编码以作为比特流来向解码器传输。然后,解码器进行相同的预测,并且根据从比特流中解码得到的经重构的误差进行调节。编码器处的误差的数据压缩经常包括误差的频谱变换以产生变换域系数。这通常伴随有损量化。在解码器处执行相反的操作以重构误差/残差。熵编码(经常是上下文自适应的)通常用于对残差数据以及用于做出预测的边信息(例如,帧内编码模式或帧间编码运动矢量)进行编码,以生成比特流来用于从编码器向解码器传输或者用于存储在存储介质上以供以后解码。在某些情况下,在不使用频谱变换和/或量化的情况下对编码器处的误差进行编码。
[0004] 在帧内编码(即,空间补偿)的情况下,预测基于来自相同图片内的先前重构的附近像素数据,通常是相邻块中的像素。传统的帧内预测方法主要基于线性位移(方向预测)的概念。编码器无损地编码用于构建预测块的帧内编码模式(即,从多个可能的方向中选择的方向),并且解码器解码该帧内编码模式信息以便能够以相同的方式构建相同的预测块。
[0005] 对视频编码提议的任何改变的主要目的之一是改善压缩与感知质量之间的平衡。因为帧内编码模式将被无损编码,所以对帧内编码模式编码和解码的改变着眼于改进的压缩。在用于从编码器向解码器传送帧内编码模式的比特方面的任何节省将来自对帧内编码模式进行编码所需要的比特率的减小。找到一种更有效的方式来编码帧内编码模式选择可能是有利的。
附图说明
[0006] 现在将通过示例方式参考示出本申请的示例实施例的附图,在附图中:
[0007] 图1示意性地示出了通过帧内预测生成的示例预测块;
[0008] 图2示意性地示出了HEVC中的一组规定的帧内编码模式方向;
[0009] 图3示出了根据本申请的实施例的用于对所选择的帧内编码模式进行编码的示例方法;
[0010] 图4示出了根据本申请的实施例的用于解码视频并且具体地解码帧内编码的视频图片的所选帧内模式的一种示例方法;
[0011] 图5示出了视频编码器的一个示例的框图
[0012] 图6示出了视频解码器的一个示例的框图;
[0013] 图7示出了编码器的示例简化框图;以及
[0014] 图8示出了解码器的示例简化框图。
[0015] 在不同的图中可以使用相似的附图标记来表示相似的组件。

具体实施方式

[0016] 本申请描述了编码和解码视频的方法、以及用于编码和解码视频的编码器和解码器。
[0017] 在第一方面,本申请描述了一种编码方法。
[0018] 在另一方面,本申请描述了一种解码方法。
[0019] 在一个方面,本申请描述了一种在视频编码器中对视频进行编码以产生比特流的方法,该视频包括当前图片,该当前图片包含要使用帧内预测来被编码的当前块,该帧内预测采用来自当前图片的先前重构的像素。该方法包括确定用于当前块的候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对当前块生成冗余的预测块,并且基于该确定来从候选帧内编码模式的子集中排除上述至少一个候选帧内编码模式,并且其中基于将函数应用于上述预测块以及基于集合中的其他候选帧内编码模式之一生成的另一预测块而被确定为是冗余的;从子集中的候选帧内编码模式中选择帧内编码模式以为当前块生成当前预测块;以及对所选帧内编码模式进行熵编码。
[0020] 在另一方面,本申请描述了一种从比特流解码视频的方法,该视频包括当前图片,该当前图片包含要使用帧内预测来被解码的当前块,该帧内预测采用来自当前图片的先前重构的像素。该方法包括确定用于当前块的候选帧内编码模式的集合中的至少一个候选帧内编码模式将针对当前块生成冗余的预测块,并且基于该确定来从候选帧内编码模式的子集中排除上述至少一个候选帧内编码模式,并且其中上述预测块基于将函数应用于上述预测块以及基于集合中的其他候选帧内编码模式之一生成的另一预测块而被确定为是冗余的;从比特流熵解码出关于所选择的帧内编码模式的信息;以及从子集中的候选帧内编码模式中标识所选择的帧内编码模式,以基于该信息为当前块生成当前预测块。
[0021] 在另一方面,本申请描述了被配置为实现这种编码和解码方法的编码器和解码器。
[0022] 在又一方面,本申请描述了存储计算机可执行程序指令的非瞬态计算机可读介质,这些计算机可执行程序指令在被执行时使一个或多个处理器执行所描述的编码和/或解码方法。
[0023] 本领域普通技术人员将从结合附图对示例的以下描述进行的回顾来理解本申请的其他方面和特征。
[0024] 在下面的描述中,参考用于视频编码的H.264/AVC标准、H.265/HEVC标准、VP8格式、VP9格式等描述一些示例实施例。本领域普通技术人员应当理解,本申请不限于这些视频编码标准和格式,而是可以适用于其他视频编码/解码标准和格式,包括可能的未来标准、多视点编码标准、可伸缩视频编码标准、3D视频编码标准和可重新配置的视频编码标准。类似地,在参考特定图像编码标准和格式的程度上,应当理解,所描述的过程和设备可以结合包括未来标准在内的其他标准来实现。
[0025] 在下面的描述中,当提及视频时,术语帧、图片、片段、图块、量化组和矩形片段组可以在某种程度上被互换使用。本领域技术人员应当理解,图片或帧可以包含一个或多个片段或分段。在某些情况下,一系列帧/图片可以被称为“序列”。在其他视频或图像编码标准中可以使用其他术语。还应当理解,某些编码/解码操作可以在逐帧的基础上被执行,一些编码/解码操作在逐片段的基础上被执行,一些编码/解码操作在逐图片的基础上被执行,一些编码/解码操作在逐图块的基础上被执行,一些编码/解码操作按矩形片段组被执行等等,这取决于适用的图像或视频编码标准的特定要求或术语。在任何特定实施例中,视情况而定,适用的图像或视频编码标准可以确定是否结合帧和/或片段和/或图片和/或图块和/或矩形片段组等执行以下描述的某些操作。因此,根据本公开,本领域普通技术人员应当理解,本文中描述的特定操作或过程、以及对帧、片段、图片、图块、矩形片段组的特定引用是否适用于针对给定实施例的帧、片段、图片、图块、矩形片段组或它们中的一些或全部。
[0026] 同样,在某些情况下,以下示例可以涉及“块”、“当前块”或“预测块”。在这种意义上,视情况而定,“块”是指图片的一部分,诸如编码树单元、编码单元、预测单元、变换单元、量化组等。在很多情况下,块可以是正方形,但在其他情况下,块可以不是正方形。
[0027] 在以下描述中,术语“帧内编码模式”和“帧内模式”可互换使用。
[0028] 在本申请中,术语“和/或”旨在覆盖所列元素的所有可能的组合和子组合,包括单独列出的任一元素、任何子组合或所有元素,而不必排除附加的元素。
[0029] 在本申请中,短语“……或……中的至少一个”旨在涵盖所列出的元素中的任何一个或多个,包括单独列出的任一元素、任何子组合或所有元素,而不必排除任何附加的元素,也不必要求所有元素。
[0030] 现代图像和视频编码过程几乎都依赖于预测编码来压缩图像数据。基于块的预测编码涉及将图片划分为多个2D块(通常为正方形或矩形,并且大小可能不同),以及逐块地编码数据。为了压缩数据,而不是对原始像素数据进行编码,生成块的预测并且对原始块与预测块之间的差(称为误差或残差)进行编码。根据在给定情况下使用的熵编码方案(可能包括二值化),编码通常涉及残差数据的2D频谱变换、变换系数的量化、以及经量化的变换系数的熵编码。
[0031] 预测块通常是通过帧间预测(例如,依赖于图片序列中的先前重构的图片中的像素数据)或帧内预测(例如,依赖于与当前块在相同图片中的附近的先前重构的像素数据)创建的。这样,帧间预测旨在利用图片之间的时间冗余,而帧内预测旨在利用图片内的空间冗余。
[0032] 在传统2D视频编码中,原始像素块可以用x表示,并且其预测用p表示。预测p是使用帧内或帧间预测从先前重构的图像数据生成的。由于p可用于编码器和解码器二者,因此可以从x中减去p以获取残差,如下所示:
[0033] e=x-p
[0034] 对残差e进行频谱变换、量化和熵编码以创建经编码的视频数据的比特流。在解码器处,对经编码的数据进行熵解码以恢复经频谱变换的量化的残差,然后对其进行逆量化和逆变换以重构残差。然后,通过将重构的残差添加到预测块来获取重构的像素数据块。
[0035] 为了确定如何生成预测块,解码器熵解码预测信息。在帧内编码的情况下,预测信息可以包括帧内编码模式(即,预测方向)。在帧间编码的情况下,预测信息可以包括一个或多个运动矢量。
[0036] 图1示意性地示出了使用帧内编码生成的示例预测的像素块(即,预测块)10。以浅灰色示出的预测块10的像素基于相邻块中的先前重构的像素而被生成。先前重构的像素以黑色示出。选择预测方向12,并且预测方向12基于在适用的视频编码协议中指定的预测算法来指定哪个或哪些相邻的先前重构的像素是用于生成预测的像素的源数据。
[0037] 在很多帧内编码方案中,预测基于线性位移。也就是说,将所有预测的像素视为相邻的先前重构的像素在度 处的线性位移。例如,通过跟踪在角度 处的从像素位置到其与黑色的先前重构的像素的顶行或左列相交的点的线来预测8×8块中的灰色的预测像素之一。当交点落在整数位置时,将交点处的黑色像素的值用作灰色像素的预测值;否则,当交点落在两个黑色像素之间的小数位置时,使用两个相邻的黑色像素对交点处的像素进行插值。换言之,出于生成预测的像素的目的,可以对顶行和最左列进行插值以在小数位置处提供像素。
[0038] 图2示意性地示出了可以在HEVC中选择的35种可能的帧内编码模式。在HEVC的35种帧内编码模式中,有33种是角度模式:其余两种模式是DC模式和平面模式。两个相邻角度模式之间的相应角度的最小差异有时被称为帧内模式的角度分辨率或简称为帧内模式分辨率。未来的视频编码(FVC)标准可以增加可用模式的数目。正在进行具有67个或更多个帧内模式的一些考虑。
[0039] 编码器可以通过评估规定的帧内编码模式的集合中的每个可能的帧内编码模式来选择帧内编码模式。然后,编码器向解码器用信号通知所选择的模式以使得解码器可以重构相同的预测p。如果解码器无法根据上下文确定块大小和形状,则编码器可能还需要用信号通知块大小和形状。
[0040] 在AVC和HEVC两者中,对于给定的x,可以如下获取和编码帧内预测模式m。令I表示所有可用候选模式的集合。对于8×8预测单元,在HEVC中I包含35个模式。在该示例中,编码器将:
[0041] 1.在I中搜索模式mx,使得由编码e=x-pm引起的速率失真性能被最小化,即[0042]
[0043] 其中pm表示通过使用模式m(以及x附近的经重构的像素)生成的预测块,e表示残差块,rq(e)表示由编码e产生的比特率(可能涉及变换和量化),r(m)表示由编码模式m产生的比特率,λ表示标准拉格朗日乘数, 表示经重构的残差块, 表示 与e之间的距离。
[0044] 2.对模式mx进行熵编码。
[0045] 在一些实现中,可用编码模式的数目可以取决于块大小而改变。也即,对于较小的块,I中可以存在较少的模式。在以上示例过程中,一旦确定了预测单元的大小,则可用模式的集合I也被固定。帧内模式索引在没有信息丢失的情况下被编码,即没有量化。因此,帧内编码模式的信令可以占据比特流的很大一部分,特别是随着可能模式数目的增加,因为如果集合I中存在大量可能的模式,则花费更多的比特来发信号通知索引。
[0046] 在一些实现中,编码器和解码器可以跟踪最常使用的模式,并且可以建立“最可能模式”(MPM)的列表。通过首先使用专用标志发信号通知所选择的模式是否在MPM列表中,然后在MPM列表中对它的索引进行编码(如果它在列表中),而不是在整个集合I中对它的索引进行编码,该列表可以用来在发信号通知所选择的帧内编码模式时获得编码效率。如果所选择的模式不在MPM列表中,则编码器可以发信号通知它的索引在集合I的其余部分中。
[0047] 作为说明性示例,令x表示当前块,I表示所有可用候选模式的集合,并且mx∈I表示要用于生成x的预测的帧内模式。然后,使用MPM列表对mx进行如下编码:
[0048] 1.基于x附近的先前处理的块的帧内模式,来构建MPM列表,为简洁起见,下面用Lx表示。
[0049] 2.检查是否mx∈Lx,然后执行以下操作:
[0050] i.如果mx∈Lx,则将名为prev_intra_luma_pred_flag的二进制标志设置为1,并且将该标志与mx在Lx中的索引一起编码为比特流。
[0051] ii.如果 则将prev_intra_luma_pred_flag设置为0,并且将该标志与mx在I\Lx中的索引一起编码为比特流。
[0052] 相应地,使用MPM列表对mx进行如下解码:
[0053] 1.基于x附近的先前处理的块的帧内模式,来构建MPM列表,为简洁起见,下面用Lx表示。
[0054] 2.从比特流解码prev_intra_luma_pred_flag。
[0055] 3.如果prev_intra_luma_pred_flag等于1,则通过从比特流解码出mx在Lx中的索引来确定mx;否则,通过从比特流解码出mx在I/Lx中的索引来确定mx。
[0056] 本申请人已经确定,在将由不同的帧内编码模式生成的预测块之间经常存在冗余。也即,集合I中的两个或更多个候选帧内编码模式可能导致生成冗余的预测块。冗余块是相同的或非常接近以至于彼此相差小于阈值的块。在某些情况下,可以通过对每个预测块应用函数f()来标识冗余。如果对于每个块而言函数的结果输出相同,则这两个块是冗余的。示例函数可以包括哈希函数、量化或其他简化函数。
[0057] 令x表示要使用帧内编码来被编码的当前块。令 表示帧内模式的集合。如果存在帧内模式m∈Mx,使得由m'和m生成的预测块相同,则帧内模式m'∈I\Mx(即,m'是I的成员但不是Mx的成员)称为在给定Mx的情况下的x的冗余帧内模式。
[0058] 令p′表示由m′生成的预测块。令f(·)表示将预测块作为输入的函数或映射。f的示例包括哈希函数和量化器。在f下,如果存在帧内模式m∈Mx,使得由m生成的预测块p满足以下等式:f(p′)=f(p),则帧内模式m'∈I\Mx称为在给定Mx的情况下的冗余帧内模式。m'和m有时称为冗余同级(sibling)。
[0059] 基于存在由在可能的帧内模式的集合中的两个或更多个帧内模式生成的冗余块的事实,在一个方面,本申请提出通过去除作为候选的一个或多个冗余帧内模式来减少该集合。换言之,通过消除至少一些冗余帧内模式,候选帧内模式的搜索集合被减少为候选帧内模式的搜索子集。然后从较小的搜索子集中选择当前块的帧内模式,并且对其进行熵编码。解码器对候选帧内模式执行相同的分析以标识冗余帧内模式,从而实现候选帧内模式的相同子集。它基于子集中的成员来对所选择的模式进行熵解码。
[0060] 在由于冗余分析而需要控制附加的计算复杂度的情况下,可以从编码器向解码器发送控制参数以向解码器指示如何在解码器处进行分析。例如,这种控制参数可以指示要使用什么距离度量。在一种实现中,通过控制精度,可以通过使用诸如所生成的预测块上的汉明距离等简单度量或通过匹配所生成的预测块的哈希值来标识冗余帧内模式。
[0061] 已经从较小的搜索子集中选择帧内模式的事实表示,与从较大的集合中选择的帧内模式相比,可以对帧内模式进行更有效的熵编码,因为发送到解码器的索引信息仅需要将所选择的帧内模式与剩余候选的较小子集区分开,而不是与候选帧内模式的较大原始搜索集合区分开。在这个意义上,“字母表”已经被改变/缩小,并且可以在熵编码/解码中利用该改变以实现比特节省。
[0062] 在一种实现中,字母表的这种改变直接在熵编码和解码中被利用。也就是说,熵编码和解码取决于对候选帧内编码模式的子集的确定。以这种方式,熵编码直接从减少的字母表中得到用于发信号通知所选择的帧内编码模式的节省。然而,应当理解,这可能引入将熵编码链接到重构过程的计算依赖性。在某些情况下,这种依赖性可能是不希望的,因为允许熵编码独立工作并且在解码器处用解码得到的符号填充用于进行重构过程的缓冲器可能是有利的。因此,在一些实现中,如稍后将在下文中进一步解释的,可以将模式到有序列表的映射与将编码概率到该有序列表上的位置的有序分配分开。也就是说,对于编码列表,例如,CABAC概率可以处于固定顺序,并且编码器和解码器可以对该编码列表内的索引进行熵编码;但是,在经过解码之后,解码器然后通过将任何冗余的帧内编码模式移动到将模式映射到编码列表的索引的模式映射列表的一个端(最小可能)部来确定候选帧内编码模式的顺序。通过确保仅将非冗余模式分组在列表的最可能的一端,编码器和解码器仍然设法通过减少候选帧内模式来节省用于发信号通知所选择的模式的比特。
[0063] 在理想情况下,编码器和解码器将部分地通过作为编码x-p的结果并且与具有给定量化参数Qp的编码x-p'相比测量速率和失真来标识冗余。如果编码x-p产生与编码x-p'相同的速率和相同的失真,则m被认为是冗余的。在更宽松的条件下,如果由编码x-p产生的速率失真性能在由编码x-p'产生的速率失真的规定阈值之内,则m被认为是冗余的。但是,由于x对于解码器是不可用的,因此该方法不适用,并且需要找到另一种冗余度量。两个示例包括:
[0064] 1.如果p与p'之间的距离在由pred_diff_threshold给定的规定阈值之内,则m被认为是冗余的。注意,pred_diff_threshold可以取决于量化参数Qp,也即,它可以随着Qp的增加而增加。在一些实施例中,pred_diff_threshold可以由编码器选择、编码并且作为比特流的一部分发送到解码器。在一些实施例中,pred_diff_threshold可以在所公开的规范中被定义。可以使用常用距离度量,包括但不限于L1、L2、L∞、MAE、MSE或SSIM。
[0065] 2.如果f(p)=f(p'),则m被认为是冗余的,其中f是多对一映射函数。这种映射函数f的示例包括但不限于局部敏感哈希、标量或矢量量化以及降维方法,如主成分分析、自动编码器神经网络等。
[0066] 现在参考图3,图3示出了根据本申请的实施例的用于编码帧内模式的示例方法100。如操作102所指示的,编码器被配置为从帧内模式的集合Ix评估候选帧内模式。当前块x的候选帧内模式的集合可以部分地取决于由适用的编码标准或协议指定的模式,并且还可以部分地取决于块大小、纹理(亮度色度)、块形状或其他这样的编码参数。
[0067] 在操作104中,编码器标识候选帧内模式中的至少一个将生成与将由该集合中的另一候选帧内模式生成的候选预测块相比是冗余的候选预测块。将生成冗余块的候选帧内模式可以被称为冗余候选帧内模式。因此,在操作106中,编码器构建或生成排除至少一个冗余候选帧内模式的包含候选帧内模式的子集。
[0068] 在操作108中,编码器从候选帧内模式的子集中选择用于生成预测块的帧内模式。基于该预测块和当前块,编码器确定残差并且根据适用的编码方案对其进行编码,如操作
110所指示的。在很多情况下,这可以包括对残差进行频谱变换,对其进行量化,以及对经量化的变换系数进行熵编码。
[0069] 在操作112中,编码器对所选择的帧内编码模式进行熵编码。所选择的帧内编码模式的编码基于由子集的构建产生的字母表。也就是说,与原始搜索集合相比,编码利用子集的减小的大小,以便尝试更有效地对帧内模式进行编码。在一种实现中,基于因减少候选帧内模式的集合而产生的子集来改变或适配熵编码。换言之,对冗余帧内模式的消除将这些模式的概率改变为0,这更改了与其他帧内模式相关联的概率,从而改变了熵编码。在另一种实现中,熵编码保持相同,即,用于熵编码的字母表仍然基于模式的完整集合,并且该集合的索引具有其相关联的编码概率;但是,在重构阶段,将基于冗余分析来调节模式到这些索引/概率的映射,以将非冗余模式分组在最高概率的位置并且将冗余模式移动到最低概率的位置。
[0070] 现在参考图4,图4示出了用于解码视频并且特别地是解码经帧内编码的视频图片的帧内编码模式的方法200的一个示例。在操作202中,解码器然后基于适用的编码标准、块大小、块纹理、块形状等来确定将已经由编码器标识的候选帧内模式的集合,并且在操作204中,解码器使用由编码器用来将至少一个候选帧内模式标识为冗余帧内模式的过程相同的过程。然后,它在操作206中构建与由编码器生成的子集相同的子集。应当理解,解码器实际上并未在子集内针对最佳帧内模式进行搜索,但是解码器需要该子集以便从比特流中解码所选择的帧内模式,因为该帧内模式的熵编码基于子集。
[0071] 在操作208中,解码器从比特流熵解码出关于所选择的帧内模式的信息。在一些实现中,经解码的信息可以是指向所选择的帧内模式的索引或其他这样的指针。在操作210中,解码器基于从比特流解码出的信息来标识所选择的帧内模式。如本文中其他地方所讨论的,索引在一些实现中可以是子集内的索引,或者在一些其他实现中可以是到编码模式列表的索引,其中基于在操作206中标识的子集,编码模式列表随后被映射到有序列表。在任一情况下,在操作210中,所选择的帧内模式被标识。
[0072] 解码器然后在操作212中通过生成由所选择的帧内模式指定的预测块并且将其添加到经重构的残差来重构当前块。
[0073] 下面是简化示例,用于帮助说明将索引编码到编码模式的子集与将索引编码到具有相关联的概率的有序索引列表之间的区别,相关联的概率然后被映射到基于子集的有序编码模式列表。在常规情况下,其中未对冗余模式进行消除,假定编码模式A、B、C、D的给定集合。它们可以被放在有序列表[A,B,C,D]中。每种模式通过其在有序列表(0、1、2或3)中的位置(索引)来被标识,从而使得为了信令通知对模式C的选择,编码器对索引2进行编码。
[0074] 在将索引直接编码到子集的情况下,假定B已经被标识为冗余,使得编码模式的子集现在为A、C、D。它们可以在有序列表中被放入为[A,C,D]。信令通知对模式之一的选择所需要的符号字母表现在减少为(0,1,2)。为了发信号通知例如对模式C的选择,编码器对索引1进行编码。用于发信号通知所选择的模式的字母表的大小的减小可以导致用以在熵编码过程中对选择进行编码的比特减少。然而,如上所述,这表示在解码器处,在对索引进行熵解码之前必须完成冗余分析,因为熵解码器将需要知道字母表以便正确地解码符号。
[0075] 为了将熵编码与重构分开,而不是减小字母表,编码器和解码器可以基于冗余分析来改变模式到有序列表中的位置的映射,其中位置(索引)具有相关联的静态概率。在该示例中,假定较高的概率与有序列表的开头相关联,而较低的概率与有序列表的结尾关联。在该简化示例中,在已经将B标识为冗余之后,编码器可以创建将模式映射到索引的有序列表,该有序列表为[A,C,D,B]。然后,编码器对索引1进行编码以发信号通知对模式C的选择,其中索引2的概率可能高于与索引2和索引3相关联的概率,从而节省了熵编码过程中的比特。
[0076] 现在参考图5,图5以框图形式示出了根据本申请的一方面的视频编码器300的一个示例。在该示例中,视频编码器300包括通常的预测反馈回路和图片缓冲器306,该图片缓冲器306存储先前重构的图片(帧间编码)和当前图片的先前重构的块(帧内编码),这些先前重构的块已经被编码并且随后在反馈回路中被解码。对于当前块xi,预测生成器302选择帧内模式(即,预测方向)mi并且根据所选择的帧内模式使用先前重构的块 的像素来生成预测块pi。从原始块xi中减去预的测块pi,以获取残差块ei。然后残差块ei被变换、量化和编码。
[0077] 预测生成器302包括冗余分析器304,用以评估候选帧内模式的集合Ix并且生成排除至少一个冗余帧内模式的子集Mx。冗余分析器304可以使用任何合适的冗余度量,其示例如上所述。然后,预测生成器302使用速率失真优化或任何其他合适的选择标准从子集Mx中选择期望的帧内模式。所选择的帧内模式被传送到帧内模式编码器308,帧内模式编码器308对所选择的帧内模式进行无损编码,并且经编码的数据与经编码的残差数据被组合以作为经编码的视频数据的比特流的一部分而输出。
[0078] 现在还参考图6,图6以框图形式示出了根据本申请的一方面的示例视频解码器400。视频解码器400包括帧内模式解码器402,用以熵解码其正在重构的当前图片的块的模式信息。它向预测生成器406提供经解码的帧内模式mi。预测生成器406还可以从图片缓冲器404中访问先前重构的像素数据。预测生成器406包括冗余分析器408,用以评估候选帧内模式的集合Ix并且生成排除至少一个冗余帧内模式的子集Mx。冗余分析器408可以使用任何合适的冗余度量,其示例如上所述。基于由冗余分析器408标识的子集Mx和来自帧内模式解码器402的经解码的所选择的帧内模式信息,预测生成器406能够确定所选择的帧内模式并且生成用于重构视频块 的预测块pi。在熵编码直接取决于由子集Mx确定的字母表的实施例中,预测生成器406将关于子集Mx的信息提供给帧内模式解码器402,如附图标记410所指示的。
[0079] 应当理解,在这些示例中,编码器和解码器均包括冗余分析器以执行通过标识当前块的候选帧内模式的全部集合中的冗余帧内编码模式并且排除该冗余模式来执行构建子集的相同操作。为了构建这样的子集,在一个示例中,如果候选帧内模式相对于子集中已经存在的任何帧内模式均不是冗余的,则冗余分析器首先将候选帧内模式添加到子集。下面概述了这样的过程的示例。
[0080] 在该示例实施例中,令x表示要被编码或重构的当前块,并且令Ix表示用于x的候选帧内模式的集合。
[0081] 1.如果Ix尚未被排序,则将Ix转换为有序集合{m0,m1,……,mK-1},其中K表示Ix中的帧内模式的数目。注意,通过假定Ix中的遍历顺序,这种转换可能是隐式的。在VP8中,K多达10;在AVC中,K多达9;在HEVC中,K多达35;对于FVC,K可能多达67。在所有情况下,特定块x的K实际值可以取决于x的大小以及x是亮度块还是色度块。
[0082] 2.初始化 令j表示计数器并且初始化j=1。
[0083] 3.根据mj的定义来确定由帧内模式mj生成的预测块pj。
[0084] 4.在 中搜索具有预测p的帧内模式m,使得f(p)=f(pj)。如果中不存在这样的模式,则令 即 是通过将mj插入
而获取的;否则令 因为mj被确定为是冗余的。
[0085] 5.将j递增1。
[0086] 6.重复步骤3到5,直到j=K-1。
[0087] 在上述过程结束时,分析器输出 作为候选帧内模式的集合以用于x的帧内模式编码。注意,Mx是Ix的子集,并且不包含任何冗余帧内模式。
[0088] 在一些实施例中,以上过程可以在不同条件下终止。例如,代替在步骤6中当j=K-1时终止,上述过程可以在 的基数或 中的帧内模式的数目大于阈值时
终止。在又一示例中,当j大于比K-1小的阈值时,以上过程可以终止。
[0089] 在另一方面,对集合中的候选帧内模式的评估可以不是针对集合中的所有其他模式的每个帧内模式的完整评估。例如,分析可以仅针对子集的成员来测试某些帧内模式以查看它们是否冗余。例如,子集 可以在开始测试冗余之前被初始化为包含一些帧内模式。作为示例,被添加到子集的帧内模式的初始集合可以包括MPM列表中的那些模式。
[0090] 在一些其他示例实现中,冗余分析器可以以其他方式与MPM列表一起使用。三个示例包括:
[0091] 1.在一个示例中,帧内模式分析器和MPM列表生成器可以单独地操作(根据偏好也可以并行操作)。具体地,集成解决方案的工作方式如下:
[0092] A.如上所述应用帧内模式分析器以获取Mx。
[0093] B.通过使用来自x附近的先前重构的块的模式信息来生成MPM列表Lx。
[0094] C.生成更新后的MPM列表Lx'=Lx∩Mx。注意,在Lx∩Mx很小并且可能有噪声的情况下,默认设置(例如,Lx)可以用来抵消噪声的影响。
[0095] D.使用MPM列表Lx'或Mx\Lx'对mx进行编码或解码,就如图mx是Mx中的成员一样,其中对于任意两个离散集合A和B,A\B由A中而不是B中的成员组成。
[0096] 2.在另一示例中,可以将帧内模式分析器应用于I(以获取Mx)和Lx(以获取Lx')。
[0097] 3.在又一示例中,可以将帧内模式分析器仅应用于Lx(以获取Lx'),而不应用于I,以节省计算复杂度。在这种情况下,解决方案通过使用MPM列表Lx'来对mx进行编码或解码,就好像mx是I\L'x中的成员一样。
[0098] 在又一实现中,可以通过不针对子集的所有成员测试候选帧内模式来降低分析的复杂度;相反,仅针对子集中的某些帧内模式评估候选帧内模式的冗余性。可以注意到,两个成角相似的帧内模式比两个成角较远的帧内模式更可能产生相同的预测。在一个说明性示例中,可以在角度方面针对两个相邻(或邻近)模式来评估候选帧内模式的冗余性。如果这些模式中的一者或两者不在子集中(因为它们已经被确定为是冗余的或尚未经过测试),则在一些实现中,可以针对两个最为邻近模式评估候选帧内模式的冗余性。还可以针对DC模式和平面模式来评估候选帧内模式的冗余性。概括而言,在一些实施例中,可以针对子集中的一个或多个帧内模式(但是少于子集中的所有帧内模式)来评估候选子帧模式的冗余性。
[0099] 自适应帧内分辨率
[0100] 应当理解,上述对帧内模式冗余的分析提供了对哪一帧内模式分辨率被浪费在指定冗余预测块上的程度的了解。因此,在另一方面,本申请提出了编码器和解码器可以基于冗余分析来实现自适应帧内模式分辨率确定。有利的是,这避免了必须用信令通知帧内模式分辨率的变化,因为可以由解码器对候选帧内模式的集合执行相同的分析以确定由编码器用来发信号通知所选择的帧内模式的分辨率。从一个角度来看,调节帧内模式分辨率等效于选择I的预定义子集。因此,本部分中的解决方案可以被视为比上述解决方案更简略的工具。还应当注意,使用I的预定义子集可能是有利的,因为所得到的解决方案可能没有完整解决方案那么复杂。
[0101] 在一个示例中,I的子集I0I1…Is的列表对于编码器和解码器均是已知的,并且该子集使得 其中Is=I并且s是正整数。注意,列表I0I1…Is可以不同于上述示例中的 另外,Ij中的帧内模式分辨率随着j
的增加而增加。在一些其他示例中,I0I1…Is可以仅仅是I的不同子集,即,它们可以不嵌套并且满足上面的部分排序。
[0102] 对于I0I1…Is,冗余分析用于确定在对当前块的帧内模式进行编码和解码时,哪个Ij将用作字母表。在一个实施例中,对Ij的确定是在编码器和解码器两者处进行的,以避免由于用信令通知Ij或其在比特流中的索引而引起的开销。在另一实施例中,Ij在编码器处被确定,并且在比特流中用信号通知解码器Ij(或其索引)。在又一实施例中,集合Ij在编码器和解码器两者处被确定。并且,编码器可以选择通过用信令通知Ij或其在比特流中的索引来将选择更正为另一集合Ik,其中k≠j。注意,在这种情况下,需要在比特流中用信令通知解码器关于Ij是否要被接受的决定。
[0103] 构造I0I1…Is的一种方式是,随着j从0增加到s,逐渐增加从Ij的角度分辨率。例如,除了HEVC中的DC模式以及可能的其他非角度模式(例如,平面模式),I0可以仅包括平模式和垂直模式;Is包括所有可用的帧内模式。
[0104] 构造I0I1…Is的另一种方式是将所有帧内模式划分为s+1个集合,以第一集合中的模式开始I0,并且Ij包含前j+1集合中的模式,其中j=0,1,...,s。例如,帧内模式可以被分类为以下四类中的一类:非角度、垂直、水平和对角线,其中非角度类包括诸如DC模式和平面模式等模式;垂直类别由其预测角度与x轴成90度左右(水平)的角度模式组成,水平类别由其预测角度与x轴成0度或180度左右的角度模式组成,并且对角线类别由不在垂直或水平类别中的角度模式组成。
[0105] 控制参数
[0106] 在一些应用中,如移动视频,帧内模式的冗余分析所引起的计算复杂性可能是一个问题。为了解决这些问题,在一些实施例中,可以使用旨在向解码器信令通知给定视频、图片或其一部分使用了何种程度的复杂性的冗余度分析的标志和/或参数。
[0107] 例如,可以在序列、图片、片段或编码单元参数集合中插入一个标志以指示是否要分别针对序列、图片或片段等启用或禁用冗余分析器。
[0108] 在另一示例中,当启用并且使用完全冗余分析器搜索时,可以将参数插入序列、图片、片段或(最大)编码单元参数集合中以指定搜索参数。下面的示例示出了名为enable_intra_mode_analyser_flag的这样的标记被包括在图片参数集合中以针对视频序列中的图片启用或禁用冗余分析器:
[0109] pic_parameter_set_rbsp(){
[0110] …
[0111] enable_intra_mode_analyser_flag
[0112] …
[0113] }
[0114] 当冗余分析器被启用并且被使用时,可以在序列、图片、片段或(最大)编码单元参数集合中插入参数以分别控制对当前序列、图片、片段或(最大)编码单元的搜索。这样的参数的示例包括要被检查的 中的帧内模式的数目、 中的要被检查的模式(例如,定义 中的mj的小邻域的参数)、以及函数f的选择。
[0115] 附加实施例
[0116] 代替移除冗余的帧内模式,替代实施例是添加可以用于使这种帧内模式不再冗余的处理步骤。例如,每个模式可以与预测块的多个不同版本的列表相关联。一旦发现帧内模式对于预测块的第一版本是冗余的,则可以执行搜索以在所存储的列表中找到使帧内模式不冗余的预测块的版本。注意,为了避免影响MPM列表并且提高稳定性,可以将搜索初始化为从MPM模式开始。为了确保编码器和解码器找到预测块的相同版本,该列表可以按照对于编码器和解码器都已知的方式排序,或者编码器和解码器在执行搜索时遵循相同的预定协议。
[0117] 作为针对给定帧内模式生成预测块的多个不同版本的示例,可以应用不同的平滑滤波器(例如,具有不同系数的滤波器或甚至是不同类型的滤波器(线性、非线性、IIR、FIR))以滤波参考样本,或者可以通过使用小步长来调节预测方向角以获取不同的预测块。
[0118] 还应当记得,通过使用由标识帧内模式的子集而导致的较小的字母表而直接利用熵编码中的比特率节省是以在熵解码过程中对先前重构的样本产生依赖性为代价的,因为熵解码器需要知道Mx。为了打破这种依赖性,一种替代解决方案可以选择付出少量的编码成本。
[0119] 例如,假定冗余分析器确定将I0I1…Is中的Ij用于当前块x。索引j可以通过使用熵编码器来被编码,并且作为比特流的一部分被发送到解码器以去除上述熵解码依赖性。在一些示例实现中,索引j可以替代地(或也)从相邻块来预测。
[0120] 在另一示例中,用信令通知I中的任何模式的能可以被保留。但是,可能会引入模式映射列表,该列表对模式进行排序,并且将冗余模式保留在列表的末尾处。然后,编码器发信号通知所选择的模式在该列表中的索引。CABAC概率被配置为,诸如以使列表末尾的索引减小到0。映射列表的排序不仅可以通过重复计数来排序,还可以通过模式之间的似然和距离来排序。具体地,令d(m,m′)表示I中两个模式m和m'之间的距离,由d(m,m′)=dist(p,p′)定义,其中p和p'表示分别通过使用m和m'生成的预测块,并且dist表示通过诸如L1、L2、L∞、MAE、MSE或SSIM等度量标准测量的p和p'之间的距离。在不失去一般性的情况下,模式映射列表会将I重新排序为有序集合{m0,…,mK-1},使得d[j]随着j的增加而减小,其中d[0]=0,并且对于所有j=1,…,K-1,d[j]=min{d(mj,mi);0≤i<j}。
[0121] 还应当理解,冗余帧内模式的概念和定义可以很容易被扩展到用于3D长方体的空间预测,以及扩展到其他语法元素,诸如平滑滤波器选择和/或系数、和/或用于在帧内编码中生成预测的划分模式。
[0122] 现在参考图7,其示出了编码器1100的示例实施例的简化框图。编码器1100包括处理器1102、存储器1104和编码应用1106。编码应用1106可以包括被存储在存储器1104中并且包含指令的计算机程序或应用,这些指令在被执行时使处理器1102执行诸如本文中描述的操作。例如,编码应用1106可以编码和输出根据本文中描述的过程编码的比特流。应当理解,编码应用1106可以被存储在诸如光盘、闪存设备、随机存取存储器硬盘驱动器等非瞬态计算机可读介质上。当指令被执行时,处理器1102执行指令中指定的操作和功能以便用作实现上述过程的专用处理器。在一些示例中,这样的处理器可以被称为“处理器电路”或“处理器电路系统”。
[0123] 现在还参考图8,其示出了解码器1200的示例实施例的简化框图。解码器1200包括处理器1202、存储器1204和解码应用1206。解码应用1206可以包括被存储在存储器1204中并且包含指令的计算机程序或应用,该指令在被执行时使处理器1202执行诸如本文中描述的操作。应当理解,解码应用1206可以被存储在计算机可读介质上,诸如光盘、闪存设备、随机存取存储器、硬盘驱动器等。当指令被执行时,处理器1202执行在指令中指定的操作和功能以便用作实现所描述过程的专用处理器。在一些示例中,这样的处理器可以被称为“处理器电路”或“处理器电路系统”。
[0124] 应当理解,根据本申请的解码器和/或编码器可以在很多计算设备中实现,包括但不限于服务器、适当编程的通用计算机、音频/视频编码和回放设备、电视机顶盒、电视广播设备和移动设备。解码器或编码器可以通过包含用于配置一个或多个处理器以执行本文中描述的功能的指令的软件来实现。软件指令可以被存储在任何合适的非瞬态计算机可读存储器上,包括CD、RAM、ROM、闪存等。
[0125] 应当理解,本文中描述的解码器和/或编码器以及实现用于配置编码器或解码器的所描述的方法/过程的模块、例程、进程、线程或其他软件组件可以使用标准的计算机编程技术和语言来实现。本申请不限于特定的处理器、计算机语言、计算机编程约定、数据结构、其他这样的实现细节。本领域技术人员将认识到,所描述的过程可以被实现为存储在易失性或非易失性存储器中的计算机可执行代码的一部分、专用集成芯片(ASIC)的一部分等。
[0126] 可以对所描述的实施例进行某些适应和修改。因此,以上讨论的实施例被认为是说明性的而非限制性的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈