一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

选择对残差块进行编码/解码的编码模式的方法和装置与流程

2022-06-01 14:17:43 来源:中国专利 TAG:

c1001_v3,iso/iec jtc1/sc29/wg11联合视频探索小组,第3次会议,2015年5月26日至6月1日,日内瓦,ch)提供比hevc标准的cu/pu/tu布置更灵活的ctu表示。四叉树加二叉树(qtbt)编码工具包括编码树,其中可以以四叉树和二叉树方式两者来分裂编码单元。
10.在编码器侧通过率失真优化过程来决定cu的分裂,其包括以最小率失真成本确定ctu的qtbt表示。在qtbt表示中,cu具有方形或矩形形状。编码单元的尺寸总是2的幂,并且典型地从4到128。利用qtbt表示,cu不再被分割成pu或tu。利用qtbt表示,在尺寸表达为2的幂的块上执行残差块的变换,并且通常用于方形块的现有可分离变换和这种变换的快速实现方式可被重新使用。
11.因此,当根据hevc的cu/pu/tu布置或根据使用qtbt时的cu本身来分裂残差块时,上述残差块可以指明tu。残差块的上述定义仅用于说明性目的而给出,并且不限制本原理的范围,本原理适用于从图片获得的任何残差数据集。
12.当残差块的大多数能量集中在少数经变换系数上时,对残差块进行变换是有效的。
13.基于众所周知的dct(离散余弦变换)和/或dst(离散正弦变换)变换的2d可分离或不可分离变换通常用于视频编码,因为大多数图片能量集中在通过有限数量的有效(significant)经变换系数表示的少数频率上。
14.例如,建立在hevc测试模型(c.rosewarne,b.bross,m.naccari,k.sharman,g.j.sullivan,“高效视频编码(hevc)测试模型16(hm 16)编码器描述更新4”)之上的联合探索测试模型(jem)(关于视频编码的itu-t sg16 wp3和iso/iecjtc1/sc29/wg11联合协作小组,jctvc-v1002,第22次会议,2015年10月)定义多个候选编码模式,以用于对残差块的数据进行变换。
15.这些候选编码模式中的一些(表示为增强型多变换(emt))通过组合两个1d dct和/或dst变换(一个针对水平,一个针对垂直)来定义2d可分离变换。
16.emt用于针对帧间编码块和帧内编码块两者对残差数据进行编码。
17.对于帧内残差编码,归因于不同帧内预测模式的不同残差统计,使用表示为dst-vii、dct-viii、dst-i和dct-v的四个1d变换来形成三个变换子集,如表1中所示。首先基于要变换的残差块的帧内预测模式来选择这三个变换子集中的一个,如表2中所指定的那样。
18.变换集变换候选0dst-vii,dct-viii1dst-vii,dst-i2dst-vii,dct-v
19.表1
20.21.表2
22.例如,当要变换的残差块的帧内预测模式等于8时,可以使用等于0的针对水平的变换子集索引,即dst-vii或dct-viii,并且可以使用等于2的针对垂直的变换子集索引,即dst-vii或dct-viii。接下来,对于水平(h)和垂直(v)的经识别变换子集中的每一个,确定两个变换候选中的一个,并且针对水平和垂直两者的经识别变换子集中所确定的变换候选形成编码模式,在下文中表示为emt模式。在下文中,emt模式通过表示为emtidx的索引来指明。
23.按照先前的示例,dst-vii用于水平变换,并且dct-viii用于垂直变换。
24.在下文中,nbemtmodes涉及2d可分离变换的最大数量。根据表1,nbemtmodes=4并且emtidx可以等于四个值,例如0、1、2或3,以指示上述2d可分离变换中的每一个。
25.对于帧间残差编码,在jem中仅使用一个2d可分离变换,其从dst-vii和dct-viii中定义。上述2d可分离变换用于所有帧间模式并且用于水平变换和垂直变换两者。
26.为了在解码器侧将同一2d可分离变换应用于残差块,emt需要一些信令。在jem中,当使用hevc中的cu/pu/tu布置时,通过cu级别标志(在下文中表示为emtflag)用信号通知emt是否适用,并且当残差块(这里为tu)属于emt启用的cu(emtflag=1)时,通过索引emtidx用信号通知在编码侧为上述残差块(tu)选择的emt模式。
27.当emtflag等于0时,即对于emt禁用的cu,应用通常的hevc变换(表示为dct-ii)以对残差块(cu的每个tu)进行编码,并且当emtflag等于1时,即对于emt启用的cu,通常的hevc变换dct-ii被通过emtidx识别的2d可分离变换所代替。
28.对于emt启用的cu内的亮度编码块,用信号通知两个附加标志以识别要使用的1d水平变换和垂直变换。
29.在当前jem中定义的一些其他候选编码模式(通常表示为不可分离的二次变换nsst)涉及2d不可分离变换矩阵,每个矩阵定义2d不可分离变换。
30.当使用cu/pu/tu布置hevc时,nsst可以仅应用于帧内编码的残差块,例如帧内编码的cu内的tu。但是,nsst也可以在emt之后,即应用于经变换的残差块。
31.归因于不同帧内预测模式的不同残差统计,已经定义若干个2d不可分离变换矩阵,并且基于要变换的残差块的帧内预测模式来选择这些2d不可分离变换矩阵中的一个。所选择的2d不可分离变换矩阵定义编码模式,在下文中表示为nsst模式,并且nsst模式通过表示为nsstidx的索引来识别。
32.在jem中,定义若干个变换子集,每个变换子集包括三个2d不可分离变换矩阵。因此,首先基于要变换的残差块的帧内预测模式来选择变换子集,如表3中所指定的那样。
33.亮度帧内模式0123456789101112131415151718192021222324252627282930313233变换集索引001212123434345556667778989891011101110亮度帧内模式34353637383940414243444546474849505152535455565758596061626364656667(um)变换集索引1110111011109898987776665554343432121210
34.表3
35.接下来,从上述所选择的变换子集中确定三个2d不可分离变换矩阵中的一个,并
且所确定的2d不可分离变换矩阵形成通过索引nsstidx识别的nsst模式。
36.为了在解码器侧将同一2d不可分离变换应用于残差块,nsst需要一些信令。在jem中,当使用hevc中的cu/pu/tu布置时,对于每个残差块(对于cu的每个tu),当上述残差块(cu)中存在多于一个非零系数时,在cu级别通过索引nsstidx用信号通知nsst是否适用。在未用信号通知nsstidx时,默认值为零(nsst禁用)。
37.emt和nsst定义它们自己的候选编码模式(emt模式和nsst模式),其可以与变换跳过模式相互作用(interact),变换跳过模式被设置为在空间域中对残差块进行去激活变换和直接编码。通过hevc中的标志tskip用信号通知变换跳过模式。
38.如上所述,hevc为对残差块进行变换提供多个机会,包括emt、nsst或它们的组合。
39.但是,对于要变换的给定残差块,需要一个选择处理来确定应当使用那些emt或nsst候选编码模式中的哪个(或它们的组合)对上述给定残差块进行变换。
40.图1图示了根据jem在emt、nsst和变换跳过模式彼此相互作用时用于选择编码模式以用于对残差块进行编码的方法。
41.基本上,该方法针对每个候选编码模式连续地评估残差块(这里为要编码的cu内的tu)的编码的率失真成本(rdo成本),并选择具有最低率失真成本的一个。
42.如先前所解释的那样,emt模式通过emtflag来定义,即在cu级别,启用或不启用使用emt模式对残差块(cu内的tu)进行变换,并且通过emtidx为残差块(属于emt启用的cu的tu)定义特定emt模式。此外,nsst模式在cu级别通过nsstidx来定义,nsstidx定义nsst被启用(nsstidx≠0)还是禁用(nsstidx=0),并且如果启用,则为残差块(cu内的tu)定义特定nsst模式。
43.对该方法的所有参数,即emtflag、emtidx、nbemtmodes(emt模式的最大数量)、nsstidx、nbnsstmodes(nsst模式的最大数量),进行初始化。这里,nsstidx=emtflag=emtidx=tskip=0,nbnsstmodes=nbemtmodes=4。
44.在步骤110中,模块根据从emtidx、emtflag和nsstidx的当前值确定的编码模式来计算用于对残差块(cu内的tu)进行编码的率失真成本。注意,上述编码模式可以是emt模式、nsst模式、或emt模式随后nsst模式,如上所述。如果率失真成本最低(或第一),则将成本和参数存储为“所选参数”。
45.接下来,步骤120-步骤190确定参数的当前值的更新,以便启用或禁用emt模式、nsst模式和变换跳过模式的特定组合。
46.更准确地说,在步骤120中,模块检查emtidx值是否严格低于从emtflag、tskip和nbemtmodes值计算的值t。
47.根据实施例,当emtflag=1且tskip=0时,即当启用emt并且禁用tu的跳过模式时,值t等于nbemtmodes-1。否则,t=0。
48.通过以下来计算值t:
49.((emtflag&&!tskip)?nbemtmodes-1:0)
50.如果emtidx值严格低于值t,则在步骤130中,emtidx值增加1,以便考虑另一emt模式。步骤110在步骤130之后。
51.否则,在步骤140中,模块检查tskip值是否严格低于1。
52.如果tskip值严格低于1,则tskip值增加1(步骤150),以便考虑tskip模式用于对
残差块进行编码。步骤110在步骤150之后。
53.否则,在步骤160中,模块检查emtflag值是否严格低于1。
54.如果emtflag值严格低于1,则emtflag值增加1(步骤170)。步骤110在步骤170之后。
55.否则,在步骤180中,模块检查nsstidx值是否严格低于(nbnsstmodes-1)。
56.如果nsstidx值严格低于(nbnsstmodes-1),则nsstidx增加1(步骤190)。步骤110在步骤190之后。
57.否则,该方法结束并且参数的当前值用于对残差块进行编码。
58.一旦选择用于残差块(cu的tu)进行编码的编码模式,参数emtflag、tskip、emtidx和nsstidx的值就应被编码在比特流中(相应地,从比特流解码),以便在解码侧定义残差块的同一编码模式。
59.图2示出了用于对编码(相应地,解码)残差块所需的参数进行编码(相应地,解码)的方法的步骤的框图。
60.在步骤200中,模块检查emt的使用是否被启用(use-emt=1)。注意,use-emt是存储在hevc中的sps(序列参数集)或pps(图片参数集)中的编码器/解码器的参数。
61.如果启用emt,则在步骤210中,模块将emtflag(用于当前cu)编码到比特流中(相应地,从比特流解码emtflag)。
62.否则,在步骤220中,模块将emtflag设置为等于0。
63.在步骤230中,模块检查是否emtflag=0。
64.如果emtflag=0或者在步骤200之后,则在步骤240中,模块将tskip值(图1的输出)编码到比特流中(相应地,从比特流f解码emtflag)。
65.如果emtflag=1(步骤230),则在步骤250中,模块检查是否tskip值等于0且emtflag等于1(即,使用emt模式对残差块进行编码)。
66.如果tskip值等于0且emtflag等于1,则然后在步骤260中,模块将emtidx值(图1的输出)编码到比特流中(相应地,从比特流解码)。
67.否则,步骤270在步骤250之后。
68.在步骤270中,模块检查tskip值是否等于0并且nsst的使用是否被启用(use-nsst=1)。注意,use-nsst是存储在sps(序列参数集)或pps(图片参数集)中的编码器/解码器的参数。
69.如果tskip值等于0且use-nsst=1(即,使用nsst模式对残差块进行编码),则然后在步骤280中,模块将nsstidx值(图1的输出)编码到比特流中(相应地,从比特流解码)。
70.否则该处理结束。
71.根据编码模式的该选择,系统地检查tskip的值(步骤250、步骤270),以便在选择跳过模式对残差块进行编码时,禁用emt或nsst编码模式的使用。因此,应当为要编码的每个残差块(cu的每个tu)用信号通知tskip标志。此外,emt模式和nsst模式彼此独立地被选择,允许从所有可能的候选编码模式中穷举搜索最佳编码模式,但是在编码侧具有高复杂度。


技术实现要素:

72.以下呈现本原理的简要概述,以便提供对本原理的一些方面的基本理解。该概述不是对本原理的广泛概览。其不旨在识别本原理的关键或重要元素。以下概述仅以简化形式呈现本原理的一些方面,作为下面提供的更详细描述的序言。
73.本公开提出一种方法,包括:至少确定第一编码模式被禁用;响应于所述确定,启用根据第二编码模式对残差块的解码;以及根据所述第二编码模式对所述残差块进行解码;其中,当所述第一编码模式被启用时,所述第一编码模式指示用于对所述残差块进行编码的第一2d变换,其中所述第一2d变换来自不可分离2d变换的集合;其中,当所述第二编码模式被启用时,所述第二编码模式指示用于对所述残差块进行编码的第二2d变换,其中所述第二2d变换来自可分离2d变换的集合。
74.本公开提出另一种方法,包括:至少确定第一编码模式被禁用;响应于所述确定,启用根据第二编码模式对残差块的编码;以及根据所述第二编码模式对所述残差块进行编码;其中,当所述第一编码模式被启用时,所述第一编码模式指示用于对所述残差块进行编码的第一2d变换,其中所述第一2d变换来自不可分离2d变换的集合;其中,当所述第二编码模式被启用时,所述第二编码模式指示用于对所述残差块进行编码的第二2d变换,其中所述第二2d变换来自可分离2d变换的集合。
75.本公开提出一种包括至少一个处理器的设备,所述处理器被配置成:至少确定第一编码模式被禁用;响应于所述确定,启用根据第二编码模式对残差块的编码;以及根据所述第二编码模式对所述残差块进行编码;其中,当所述第一编码模式被启用时,所述第一编码模式指示用于对所述残差块进行编码的第一2d变换,其中所述第一2d变换来自不可分离2d变换的集合;其中,当所述第二编码模式被启用时,所述第二编码模式指示用于对所述残差块进行编码的第二2d变换,其中所述第二2d变换来自可分离2d变换的集合。
76.本公开提出一种非暂时性存储计算机可读存储介质,包括使处理器执行以下操作的指令:至少确定第一编码模式被禁用;响应于所述确定,启用根据第二编码模式对残差块的解码;以及根据所述第二编码模式对所述残差块进行解码;其中,当所述第一编码模式被启用时,所述第一编码模式指示用于对所述残差块进行编码的第一2d变换,其中所述第一2d变换来自不可分离2d变换的集合;其中,当所述第二编码模式被启用时,所述第二编码模式指示用于对所述残差块进行编码的第二2d变换,其中所述第二2d变换来自可分离2d变换的集合。
77.本公开提出另一种包括选择用于对残差块进行编码的编码模式的方法,其中,选择编码模式包括:-对于来自候选编码模式的集合的每个候选编码模式,确定所述残差块的编码的率失真成本,所述候选编码模式的集合至少包括指示不可分离2d变换的第一编码模式、指示可分离2d变换的第二编码模式和变换跳过编码模式,以及-选择具有最低率失真成本的候选编码模式。
78.本原理提出利用一种用于对残差块进行编码的方法来弥补现有技术的至少一个缺点,该方法包括:
[0079]-当根据与第一2d变换有关的编码模式对残差块进行编码被启用时,获得与第一2d变换有关的第一编码模式;
[0080]-当根据与第二2d变换有关的编码模式对残差块进行编码被启用时,获得与第二
2d变换有关的第二编码模式;以及
[0081]-根据所述第一编码模式或所述第二编码模式或这两者对残差块进行编码。该方法的特征在于,启用或禁用根据所述第二编码模式对残差块的编码取决于所述第一编码模式。
[0082]
该方法允许限制整体编码模式,其得到降低的编码侧复杂度与降低且可接受的性能损失。
[0083]
根据实施例,第一2d变换为2d可分离变换,并且第二2d变换为2d不可分离变换。
[0084]
根据实施例,当禁用跳过模式时并且当所述第一编码模式属于预定义的候选编码模式集合时,启用根据所述第二编码模式对残差块的编码。
[0085]
根据实施例,当禁用跳过模式时并且当禁用根据所述第一编码模式对残差块进行编码时,启用根据所述第二编码模式对残差块的编码。
[0086]
根据实施例,从候选编码模式集合获得(510)所述第二编码模式,和/或根据所述第一编码模式和/或是启用还是禁用根据所述第二编码模式对残差块进行编码来定义所述候选编码模式集合的基数(cardinality)和至少一个候选编码模式。
[0087]
根据本原理的其他方面,本原理涉及一种用于对图片进行编码/解码的方法/设备,其包括用于根据先前方法对残差块进行编码的步骤,以及一种非临时性存储介质,其携带程序代码的指令以用于当在计算设备上执行所述程序时执行以上方法中至少一个方法的步骤。
[0088]
根据以下结合附图采取的示例的描述,本原理的特定性质以及本原理的其他目的、优点、特征和使用将变得明显。
附图说明
[0089]
在附图中,图示了本原理的示例。其示出:
[0090]-图1图示了根据jem在emt、nsst和变换跳过模式彼此相互作用时用于选择编码模式以用于对残差块进行编码的方法;
[0091]-图2示出了用于对编码(相应地,解码)残差块所需的参数进行编码(相应地,解码)的方法的步骤的框图;
[0092]-图3是示出其中可以实现本原理的示例性视频编码器的示意性框图;
[0093]-图4是示出其中可以实现本原理的示例性视频解码器的示意性框图;
[0094]-图5示出了根据本原理的示例的用于对残差块进行编码的方法的步骤的框图;
[0095]-图6示出了根据本原理的示例的设备的架构的示例;以及
[0096]-图7示出了根据本原理的示例通过通信网络进行通信的两个远程设备。
[0097]
相似或相同的元素用相同的参考标号来表示。
具体实施方式
[0098]
在下文中将参考附图更全面地描述本原理,附图中示出了本原理的示例。然而,本原理可以以许多替选形式来实施,并且不应被解释为限于在此阐述的示例。因此,虽然本原理易于有各种修改和替选形式,但是其特定示例在附图中通过示例的方式被示出并且将在此被详细描述。然而,应理解,没有意图将本原理限制于所公开的具体形式,而是相反,本公
开要覆盖落入如通过权利要求定义的本原理的精神和范围内的所有修改、等同物和替选。
[0099]
在此使用的术语仅用于描述具体示例的目的,并且不旨在限制本原理。如在此使用的,单数形式“一(a)”,“一(an)”和“该(the)”旨在也包括复数形式,除非上下文明确地另有指示。还将理解,当在本说明书中使用时,术语“包含(comprises)”、“包含(comprising)”、“包括(include)”和/或“包括(including)”指定存在所述特征、整体、步骤、操作、元素和/或组件,但是不排除存在或添加一个或多个其他特征、整体、步骤、操作、元素、组件和/或其组。此外,当元素被称为“响应”或“连接”于另一元素时,它可以直接响应或连接于其他元素,或者可以存在中间元素。相反,当元素被称为“直接响应”或“直接连接”于其他元素时,不存在中间元素。如在此使用的,术语“和/或”包括一个或多个相关所列项的任何和所有组合,并且可以缩写为“/”。
[0100]
将理解,尽管可以在此使用术语第一、第二等来描述各种元素,但是这些元素不应被这些术语限制。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素而不脱离本原理的教导。
[0101]
尽管一些图包括通信路径上的箭头以示出通信的主要方向,但是要理解,通信可以发生在与所示箭头相反的方向上。
[0102]
关于框图和操作流程图描述一些示例,其中每个框表示电路元件、模块或包括用于实现指定逻辑功能的一个或多个可执行指令的代码的一部分。还应注意,在其他实现方式中,框中标注的功能可以不按所标注的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。
[0103]
在此对“根据示例”或“在示例中”的引用意指结合示例描述的具体特征、结构或特性可以包括在本原理的至少一个实现方式中。短语“根据示例”或“在示例中”在说明书中各处的出现未必都指代相同的示例,单独或替选的示例也未必与其他示例互斥。
[0104]
权利要求中出现的参考标号仅作为图示,并且应对权利要求的范围没有限制效果。
[0105]
虽然没有明确描述,但是本实施例和变型可以以任何组合或子组合而被采用。
[0106]
本原理针对对视频的图片集合进行编码/解码而被描述,但是扩展到对静止图片进行编码/解码,因为视频的每个图片被顺序地编码/解码,如下所述。
[0107]
图3是示出其中可以实现本原理的示例性视频编码器300的示意性框图。
[0108]
传统地,视频编码器300可以包括用于基于块的视频编码的若干个模块,如图3中所示。要编码的图片i被输入到编码器300。编码器300包括用于将图片i分裂成块blk的细分图片单元,以及用于选择块blk的编码模式(例如基于率/失真优化)的模式选择单元,这样的模式选择单元包括:
[0109]-运动估计模块,用于估计要编码的图片的一个当前块与参考图片之间的运动,
[0110]-运动补偿模块,用于使用所估计的运动来预测当前块blk,
[0111]-帧内预测模块,用于空间预测当前块blk。
[0112]
模式选择单元递送预测块pred和要在比特流中编码的对应语法元素,以用于在解码器处执行同一块预测。
[0113]
然后,从块blk和预测块pred获得残差块res。残差块res通过被配置为实现本原理的变换处理模块来变换,并且经变换的系数tcoeff通过量化模块来量化,量化模块递送经
量化的残差变换系数qcoef。
[0114]
然后,语法元素和经量化的残差变换系数qcoef被输入到熵编码模块以递送经编码的视频数据。例如,上述经编码的视频数据被存储到存储器中或者被添加到比特流str以用于例如传送到解码器。
[0115]
经量化的残差变换系数coef通过逆量化模块和被配置为实现本原理的逆变换模块来处理,以用于重建残差块res’。
[0116]
预测块pred被添加到重建的残差块res’,以用于对块进行重建,该块形成重建的当前图片rec。然后,重建的当前图片rec被添加到参考帧存储器,以供稍后用作用于对视频内容的后续图片进行编码的参考图片。
[0117]
图4是示出其中可以实现本原理的示例性视频解码器400的示意性框图。视频解码器可以包括比特流str的接收器,该比特流str代表经编码的图像或视频,包括代表上述图像或视频的至少一个块的经编码的数据,其中上述块已经根据本公开的实施例被编码。视频解码器解析比特流srt以得到经编码的数据,经编码的数据被传递到熵解码模块,熵解码模块执行熵解码,并且将经量化的系数qcoef’递送到逆量化模块以及将语法元素递送到预测模块。经量化的系数qcoef’通过逆量化模块来逆量化,并且逆量化后的系数tcoeff’通过逆变换模块来逆变换,逆变换模块递送残差块数据res’。上述逆变换模块被配置为实现本原理。预测模块根据语法元素、并且在当前块已被帧间预测的情况下使用运动补偿模块或者在当前块已被空间预测的情况下使用帧内预测模块,来构建预测块pred。从通过将预测块pred和残差块res’相加所获得的重建的块形成重建的图片i’。重建的图片i’被添加到参考帧存储器,以供稍后用作参考帧。然后,重建的图片i’通过视频解码器400输出。
[0118]
视频解码器400被配置为对已经通过视频编码器300编码的数据进行解码。
[0119]
视频编码器300(和视频解码器400)不限于特定编码器,其可以是例如有损图像/视频编码器,比如jpeg、jpeg2000、mpeg2、hevc建议书或h264/avc建议书(“用于通用视听服务的高级视频编码”,h系列:视听和多媒体系统,建议书itu-t h.264,itu电信标准化部门,2014年2月)。
[0120]
图5示出了根据本原理的示例的用于对残差块进行编码的方法的步骤的框图。
[0121]
在步骤500中,当启用根据与第一2d变换有关的编码模式对残差块进行编码时,模块获得与第一2d变换有关的第一编码模式。
[0122]
在步骤510中,当启用根据与第二2d变换有关的编码模式对残差块进行编码时,模块获得与第二2d变换(不同于第一2d变换)有关的第二编码模式。
[0123]
在步骤520中,模块根据上述第一编码模式来启用或禁用根据上述第二编码模式对残差块的编码。
[0124]
在步骤530中,模块根据上述第一编码模式或上述第二编码模式(在启用的情况下)或这两者对残差块进行编码。
[0125]
优选地,第一2d变换和第二2d变换可以是可分离或不可分离的2d变换。
[0126]
根据本原理的非限制性实施例,第一编码模式为索引emtidx,如介绍部分中所定义的,并且第二编码模式为索引nsstidx,如介绍部分中所定义的。因此,上述第一编码模式指示通过将1d水平变换与1d垂直变换组合所构建的2d可分离变换,并且第二编码模式指示2d不可分离变换,如介绍部分(表1、表2和表3)中所解释的那样。
[0127]
根据该示例,启用或禁用nsst从而取决于emtidx的值。
[0128]
根据本原理的另一非限制性实施例,第一编码模式为索引nsstidx,并且第二编码模式为索引emtidx,如介绍部分中所定义的。因此,上述第一编码模式指示2d不可分离变换,第二编码模式指示2d可分离变换,如介绍部分(表1、表2和表3)中所解释的那样,并且根据该示例,启用或禁用emt从而取决于nsstidx的值。
[0129]
一般而言,根据本原理,第一编码模式可以指示可分离或不可分离的2d变换,并且第二编码模式可以指示可分离或不可分离的2d变换和第二编码模式;启用或禁用根据上述第二编码模式对残差块的编码取决于上述第一编码模式。上述最后的特征独立于上述第一和/或第二编码模式是否指示2d可分离或不可分离变换而适用。
[0130]
根据本原理的变型,当禁用跳过模式(tskip=0)并且当上述第一编码模式属于预定义的候选编码模式集合时,启用根据上述第二编码模式对残差块的编码。
[0131]
然后,当tskip=1时和/或当上述第一编码模式不属于上述预定的候选编码模式集合时,禁用根据第二编码模式对残差块的编码。
[0132]
表4给出了本原理的该变型的非限制性示例,其中当tskip=0并且当第一编码模式emtidx<1(预定的候选编码模式集合等于单个值0)时,启用根据第二编码模式(nsstidx)对残差块的编码。
[0133] 无emtemtidx=0emtidx=1emtidx=2emtidx=3nsstidx=0允许允许允许允许允许nsstidx=1允许允许
ꢀꢀꢀ
nsstidx=2允许允许
ꢀꢀ
nsstidx=3允许允许 [0134]
表4
[0135]
因此,按照表4,当第一编码索引emtidx=0时,nsst被启用,并且残差块的编码可以取决于第一编码模式emtidx和/或根据率失真优化结果的nsstidx中的一个(关于更多详情,参阅介绍部分)。
[0136]
表5给出了上述本原理的变型的另一非限制性示例,其中当tskip=0并且当第一编码模式emtidx=0或2(预定的候选编码模式集合在这里包括值0和2)时,启用根据第二编码模式(nsstidx)对残差块的编码。
[0137]
注意,当第一编码模式属于预定的候选编码模式集合时,可以启用或不启用所有可能的nsst编码模式,如表5中所示。这里,当emtidx=0时,仅启用具有索引nsstidx 1的编码模式,并且当emtidx=2时,启用具有索引nsstidx=1或2的编码模式。注意,nsstidx=0意指nsst被禁用。
[0138] 无emtemtidx=0emtidx=1emtidx=2emtidx=3nsstidx=0允许允许允许允许允许nsstidx=1允许允许 允许 nsstidx=2允许
ꢀꢀ
允许 nsstidx=3允许
ꢀꢀꢀꢀ
[0139]
表5
[0140]
根据本原理的变型,当禁用跳过模式时并且当禁用根据第一编码模式对残差块进
行编码时,即当tskip=0并且emtflag=0时,启用根据第二编码模式对残差块的编码。注意,emtflag=0意指cu是emt禁用的,即,使用通常的hevc变换对残差块(cu的每个tu)进行编码,而不是使用通过emt模式定义的第一2d变换。
[0141]
当tskip=1和/或emtflag=1时,则不允许根据第二编码模式(nsstidx)对残差块的编码。
[0142]
根据步骤510的实施例的变型,从候选编码模式集合中获得第二编码模式,并且上述候选编码模式集合的基数和/或上述候选编码模式集合中的候选编码模式中的至少一个根据上述第一编码模式和/或是启用还是禁用根据上述第二编码模式对残差块进行编码来定义。
[0143]
例如,当第一编码模式通过emtidx指示并且第二编码模式通过nsstidx指示时,候选编码模式集合的基数和/或候选编码模式中的至少一个根据emtidx和/或nsstidx的值来定义:nsstidx=0意指nsst禁用,并且nsstidx≠0意指nsst启用。
[0144]
在图1-图5上,模块是功能单元,其可以与可区分的物理单元相关或不相关。例如,这些模块或它们中的一些可以在特有的组件或电路中集合在一起,或者有助于软件的功能。相反,一些模块可以可能地由单独的物理实体组成。与本原理兼容的装置使用纯硬件来实现,例如使用专用硬件,诸如asic或fpga或vlsi(分别为“专用集成电路”,“现场可编程门阵列”,“超大规模集成”),或者来自嵌入设备中的若干个集成电子组件,或来自硬件和软件组件的混合。
[0145]
图6表示设备60的示例性架构,其可以被配置为实现关于图1-图5描述的方法。
[0146]
设备60包括通过数据和地址总线61链接在一起的以下元件:
[0147]-微处理器62(或cpu),其为例如dsp(或数字信号处理器);
[0148]-rom(或只读存储器)63;
[0149]-ram(或随机存取存储器)64;
[0150]-i/o接口65,用于从应用接收要传送的数据;以及
[0151]-电池66。
[0152]
根据示例,电池66在设备的外部。在每个提及的存储器中,说明书中使用的词语“寄存器”可以对应于小容量的区域(一些位)或非常大的区域(例如整个程序或大量的接收或解码的数据)。rom 63包括至少程序和参数。rom 63可以存储用于执行根据本原理的技术的算法和指令。当接通时,cpu 62上载ram中的程序并执行对应的指令。
[0153]
ram 64在寄存器中包括由cpu 62执行并在设备60接通之后上载的程序,在寄存器中包括输入数据,在寄存器中包括方法的不同状态下的中间数据,以及在寄存器中包括用于执行方法的其他变量。
[0154]
在此描述的实现方式可以例如以方法或处理、装置、软件程序、数据流或信号来实现。即使仅在单一形式的实现方式的背景下进行讨论(例如,仅作为方法或设备进行讨论),但是所讨论的特征的实现方式也可以以其他形式(例如程序)来实现。装置例如可以实现在适当的硬件、软件和固件中。方法例如可以实现在诸如例如处理器(其通常涉及处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑器件)之类的装置中。处理器还包括通信设备,诸如例如计算机、蜂窝电话、便携式/个人数字助理(“pda”),以及便于最终用户之间的信息通信的其他设备。
[0155]
根据编码或编码器的示例,从源获得图片i。例如,源属于包括以下的集合:
[0156]-本地存储器(63或64),例如视频存储器或ram(或随机存取存储器)、闪速存储器、rom(或只读存储器)、硬盘;
[0157]-储存接口(65),例如与大容量储存器、ram、闪速存储器、rom、光盘或磁性支撑的接口;
[0158]-通信接口(65),例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如ieee 802.11接口或接口);以及
[0159]-图片捕获电路(例如传感器,诸如例如ccd(或电荷耦合器件)或cmos(或互补金属氧化物半导体))。
[0160]
根据解码或解码器的示例,将经解码的图片i’发送到目的地;特别地,目的地属于包括以下的集合:
[0161]-本地存储器(63或64),例如视频存储器或ram、闪速存储器、硬盘;
[0162]-储存接口(65),例如与大容量储存器、ram、闪速存储器、rom、光盘或磁性支撑的接口;
[0163]-通信接口(65),例如有线接口(例如总线接口(例如usb(或通用串行总线))、广域网接口、局域网接口、hdmi(高清多媒体接口)接口)或无线接口(诸如ieee 802.11接口、或接口);以及
[0164]-显示器。
[0165]
根据编码或编码器的示例,将比特流str发送到目的地。作为示例,将比特流str存储在本地或远程存储器中,例如视频存储器(64)或ram(64)、硬盘(63)。在变型中,将比特流str发送到储存接口(65)(例如与大容量储存器、闪速存储器、rom、光盘或磁性支撑的接口),和/或通过通信接口(65)(例如到点对点链路、通信总线、点对多点链路或广播网络的接口)来传送。
[0166]
根据解码或解码器的示例,从源获得比特流str。示例性地,比特流str读取自本地存储器,例如视频存储器(64)、ram(64)、rom(63)、闪速存储器(63)或硬盘(63)。在变型中,比特流str从储存接口(65)(例如与大容量储存器、ram、rom、闪速存储器、光盘或磁性支撑的接口)接收,和/或从通信接口(65)(例如到点对点链路、总线、点对多点链路或广播网络的接口)接收。
[0167]
根据示例,被配置为实现关于图3和图5描述的编码方法的设备60属于包括以下的集合:
[0168]-移动设备;
[0169]-通信设备;
[0170]-游戏设备;
[0171]-平板(或平板计算机);
[0172]-膝上型计算机;
[0173]-静止图片相机;
[0174]-摄像机;
[0175]-编码芯片;
[0176]-静止图片服务器;以及
[0177]-视频服务器(例如广播服务器、视频点播服务器或网络服务器)。
[0178]
根据示例,被配置为实现关于图4和图5描述的解码方法的设备60属于包括以下的集合:
[0179]-移动设备;
[0180]-通信设备;
[0181]-游戏设备;
[0182]-机顶盒;
[0183]-电视机;
[0184]-平板(或平板计算机);
[0185]-膝上型计算机;
[0186]-显示器,以及
[0187]-解码芯片。
[0188]
根据本原理的示例,在图7中示出,在通信网络net上的两个远程设备a和b之间的传输背景下,设备a包括与存储器ram和rom相关的处理器,该存储器ram和rom被配置为实现如关于图5描述的用于对残差块进行编码的方法或者如关于图3描述的用于对图片进行编码的方法,并且设备b包括与存储器ram和rom相关的处理器,该存储器ram和rom被配置为实现如关于图5描述的用于对残差块进行编码的方法或者如关于图4描述的用于解码的方法。
[0189]
根据示例,网络是广播网络,适配于将静止图片或视频图片从设备a广播到包括设备b的解码设备(包括比特流str)。
[0190]
在此描述的各种处理和特征的实现方式可以实施在各种不同的装备或应用中。这样的装备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、膝上型计算机、个人计算机、蜂窝电话、pda以及用于处理图片或视频的任何其他设备或其他通信设备。如应当清楚的那样,装备可以是移动的,并且甚至安装在移动交通工具中。
[0191]
另外,方法可以由处理器正执行的指令来实现,并且这样的指令(和/或由实现方式产生的数据值)可以存储在计算机可读存储介质上。计算机可读存储介质可以采取计算机可读程序产品的形式,该计算机可读程序产品包含在一个或多个计算机可读介质中并且具有包含在其上的可由计算机执行的计算机可读程序代码。如在此使用的,计算机可读存储介质被视为非临时性存储介质,给出在其中存储信息的固有能力以及提供从其中取回信息的固有能力。计算机可读存储介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或者前述的任何合适的组合。要理解,以下虽然提供可以应用本原理的计算机可读存储介质的更具体示例,但是仅仅是本领域普通技术人员容易理解的说明性而非穷尽的列表:便携式计算机磁盘;硬盘;只读存储器(rom);可擦除可编程只读存储器(eprom或闪速存储器);便携式压缩盘只读存储器(cd-rom);光储存设备;磁储存设备;或者前述的任何合适的组合。
[0192]
指令可以形成有形地包含在处理器可读介质上的应用程序。
[0193]
指令可以例如在硬件、固件、软件或组合中。指令可以存在于例如操作系统、单独的应用或两者的组合中。因此,处理器可以表征为例如被配置为执行处理的设备和包括具有用于执行处理的指令的处理器可读介质(诸如储存设备)的设备两者。此外,除了指令或
者代替指令,处理器可读介质可以存储由实现方式产生的数据值。
[0194]
如对于本领域技术人员将明显的那样,实现方式可以产生被格式化为携带例如可以被存储或传送的信息的各种信号。信息可以包括例如用于执行方法的指令或者由所描述的实现方式之一产生的数据。例如,可以将信号格式化为携带用于写入或读取本原理的所描述示例的语法的规则作为数据,或者携带由本原理的所描述示例写入的实际语法值作为数据。例如,这样的信号可以被格式化为电磁波(例如使用频谱的射频部分)或者基带信号。格式化可以包括例如对数据流进行编码以及以经编码的数据流调制载波。例如,信号携带的信息可以是模拟或数字信息。如已知的那样,可以通过各种不同的有线或无线链路来传送信号。信号可以存储在处理器可读介质上。
[0195]
已经描述了多个实现方式。然而,将理解,可以进行各种修改。例如,可以对不同实现方式的元素进行组合、补充、修改或移除,以产生其他实现方式。另外,普通技术人员将理解,其他结构和处理可以替代所公开的那些结构和处理,并且所得到的实现方式将以与所公开的实现方式至少基本相同的方式来执行与所公开的实现方式至少基本相同的功能,以实现与所公开的实现方式至少基本相同的结果。因此,本技术考虑这些以及其他实现方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献