基于上下文的算术解码设备和方法_3

文档序号:9668719阅读:来源:国知局
用 的上下文,N元组的上下文和核编码模式(ro或wLPD)的上下文。当将被解码的MSB是转义码 时,可将MSB解码为1,当将被解码的MSB不是转义码时,可将MSB解码为0。当使用转义码对 MSB执行解码时,可通过将lev0的值增加+2单位来更新LSB的比特深度"等级"。
[0146]MSB解码单元1108可使用当前N元组1112的上下文和MSB上下文对当前N元组的MSB 顺序地执行算术解码。
[0147]根据实施例的N元组可表示由多个量化频谱构成的集合。算术解码设备101可将所 述多个量化频谱的组合划分为MSB和LSB,所述MSB和LSB的每一个都包括符号比特。
[0148]随后,N元组上下文确定单元1104可使用与当前被解码的集合(当前N元组)相邻的 集合(邻近N元组)的量化频谱值来确定第一上下文(N元组上下文)。
[0149]转义码解码单元1107可基于与当前被解码的集合(当前N元组)相邻的集合(邻近N 元组)来估计LSB的比特深度。转义码解码单元1107可使用解码模式作为上下文,对表示将 被解码的MSB是否为转义码的码元执行解码。然后,转义码解码单元1107可基于转义码被解 码的次数,更新估计的LSB的比特深度。
[0150]MSB上下文确定单元1105可使用与当前被解码的MSB码元(当前N元组的MSB码元) 相邻的解码的MSB码元,来确定第二上下文(MSB上下文)。在这种情况下,上下文模式解码单 元1103可针对用作上下文的解码的MSB码元,对当前被解码的MSB码元(当前N元组的MSB码 元)的相对位置信息执行解码。随后,MSB上下文确定单元1105可使用相对位置信息产生第 二上下文。在这种情况下,可使用核解码模式作为上下文,通过算术解码对相对位置信息进 行解码。或者,可将相对位置信息表示为这样的值,所述值与当在多个频带中对MSB码元(当 前N元组的MSB码元)执行解码时将被使用的第二上下文对应。
[0151] 接下来,MSB解码单元1108可使用产生的第一上下文和产生的第二上下文对MSB进 行解码。
[0152]LSB解码单元1109可按照比特单位对LSB执行算术解码,直到与等级对应的比特深 度。可按照比特单位处理LSB的解码,LSB编码单元1109可使用表示到MSB的距离的比特深度 信息和并使用MSB的解码信息(正数/负数/零)作为上下文,来对LSB执行算术解码。
[0153] 如上所述,算术解码设备101可划分LSB解码单元1109和MSB解码单元1108以执行 解码。在这种情况下,LSB解码单元1109可使用MSB的符号信息产生第三上下文。LSB解码单 元1109可使用LSB的比特深度信息产生第四上下文。随后,LSB解码单元1109可使用产生的 第三上下文和产生的第四上下文以比特单位对LSB执行解码。
[0154]例如,当使用第三上下文时,LSB解码单元1109可基于这样的信息来对LSB执行解 码,所述信息指示与LSB的频率位置相同的频率位置对应的MSB码元的符号是正数、负数还 是零。LSB解码单元1109可仅使用第四上下文对LSB执行解码。
[0155] 量化样本产生单元1110可使用算术解码后的MSB和LSB产生针对当前N元组1112的 量化样本。
[0156]上下文更新单元1111可更新量化样本以对下一N元组执行解码。另外,可更新解码 的MSB。
[0157]图12示出根据另一实施例的上下文和概率模型。
[0158] 参照图12,示出了包括四个码元的当前N元组1201和相对于当前N元组的邻近N元 组1202、1203、1204和1205。
[0159]N元组上下文确定单元1103或1204可针对当前N元组1201将邻近N元组1202、1203、 1204和1205的量化谱值确定为当前N元组1201的上下文。
[0160]MSB上下文确定单元1103或1204可基于上下文模式信息,从邻近N元组1202、1203、 1204和1205确定与构成当前N元组120的码元A、B、C和D的每一个对应的上下文。
[0161] 如上所述,码元可表示MSB。例如,MSB上下文确定单元1103或1204可针对构成当前 N元组1201的码元,将与先前帧的频率相同的频率的码元和当前帧的先前频率的码元两者 确定为上下文。特别地,MSB上下文确定单元1103或1204可针对将被解码的MS,将与先前帧 的频率相同的频率的MSB和当前帧的先前频率的MSB两者确定为上下文。
[0162]概率映射单元1106或1206可根据上下文模式,使用MSB上下文和N元组的上下文映 射最终概率模型。例如,为了针对当前N元组1201的码元A(MSB A)映射概率模型,概率映射 单元1106和1206可根据上下文模式(模式0、模式1、模式2和模式3),将邻近N元组1202、 1203、1204和1205(8卩,当前N元组1201的上下文)、邻近N元组1204的MSB(即,MSB A的上下 文)和邻近N元组1202的MSB映射为概率模型。在图12中示出了构成当前N元组1201的MSB的 A、B、C和D中的每一个的概率模型。当前N元组1201的MSB B的上下文可根据上下文模式将邻 近N元组1204的MSB和邻近N元组1202的MSB映射为概率模型。在图12中,与图5相比,可根据 上下文模式不同地确定当前MSB的上下文。
[0163]图13示出根据实施例的MSB解码方法的第二示例。
[0164]在操作S1301,算术解码设备101可通过包括在当前N元组中的四个MSB(量化样本) 确定lev0,即,LSB的初始比特深度。当对LSB执行解码时,可使用LSB的比特深度。在操作 51302, 算术解码设备101可针对包括在当前N元组中的四个MSB选择概率模型集合。在操作 51303, 算术解码设备101可根据Π)或wLPD,根据将被解码的MSB是否为转义码选择概率模 型。在操作S1304,算术解码设备101可对MSB执行解码。在操作S1305,算术解码设备1305可 使用ari_pk_mod_esc[32][2]的表,根据将被解码的MSB是否为转义码来执行解码。当是转 义码时,算术解码设备101可返回到操作1304,而当不是转义码时,算术解码设备101可执行 操作1301。
[0165]在操作S1307,算术解码设备101可针对包括在当前N元组中的四个MSB,根据上下 文模式信息映射MSB码元的概率模型。
[0166]在操作S1306,算术解码设备101可对MSB执行算术解码。由于四个MSB包括在当前N元组中,因此循环操作可被执行四次。
[0167]图14示出根据实施例的LSB解码方法的第二示例。
[0168]在操作S1401,算术解码设备101可设置从MSB的解码获得的比特深度索引(bid)。 在操作S1402,算术解码设备101可确定bdi是否小于或等于"N"(S卩,LSB的等级)。在操作 S1403,当bdi小于"N"时,算术解码设备101可根据BID和MSB的符号确定概率模型。在操作 S1405,当bdi大于"N"时,算术解码设备101可根据MSB的符号确定概率模型。随后,算术解码 设备1 〇 1可按照LSB的比特单位执行算术解码,并输出与MSB对应的LSB中的与bdi对应的比 特值(1或0)。在这种情况下,算术解码设备101可划分表示先前编码或解码的MSB值是正数、 负数或是0的三种情况,并执行算术编码。
[0169]例如,当比特深度小于N(5)时,算术解码设备101可使用比特深度信息作为上下 文,否则,算术解码设备101可仅划分MSB是正数、负数或是0的三种情况。算术解码设备101 可通过将bdi增加1单位来对与下一比特深度对应的LSB执行算术解码,直到算术解码完成 为止。
[0170]图15示出根据实施例的上下文模式。
[0171]在图15中,厶、8、(:、0、厶0、80、0)、00、厶1、81、(:1、01、厶2、82丄2、02、厶3、83丄3和03中的 每一个可表示已被解码或期望将被解码的MSB值,包括将被表示为3比特的符号比特,并且 具有仅在-4到3的范围中的值。
[0172]可针对N元组按照码元单位对MSB执行解码。特别地,根据频率索引以提到的顺序 对MSB的A、B、C和D执行解码。当对A、B、C和D的MSB值执行解码时,可使用MSB上下文,对与当 前N元组的上下文和已经解码的邻近N元组对应的MSB中的两个MSB执行算术解码。例如,当 对当前N元组1501的MSB的A解码时,可确定N元组上下文,并可获得概率模型从而执行算术 解码,所述概率模型通过使用邻近N元组1504的MSB A0值和邻近N元组1502的MSBD1值配置 MSB上下文来对A解码。在这种情况下,MSB上下文可不仅由A0和D1构成,并且可获得与当前N 元组1501的MSB A相邻的多个MSB值中的两个MSB值。
[0173]如上所述,当配置MSB上下文时,可确定当执行解码时使用的上下文模式。可通过 比特封包来表示上下文模式的可能情况。另外,可这样表示上下文模式,从而基于上下文模 式被使用的次数来对上下文模式执行算术解码。
[0174]另外,可每帧发送一次上下文模式,从而可在所有帧中使用相同的MSB上下文。另 外,可每帧发送两次上下文模式,可使用与低频带和高频带对应的不同的MSB上下文。这里, 帧可对应于Π)模式情况下的单个帧,并可在wLPT模式的情况下表示使用wLPT的单位。例如, 当MSB上下文是四种类型并且MSB上下文每帧被发送两次时,可如图15所示配置15种类型的 上下文模式。另外,可将上下文模式划分为根据在核的解码模式(诸如Π)模式或wLPT模式) 中上下文模式是否被解码来表示的若干集合,并且可根据频谱的数量不同地配置上下文模 式的集合。
[0175] 当确定了用于对当前N元组1501的MSB码元A进行解码的N元组的上下文和MSB的上 下文时,可对MSB值执行解码。当在所有情况下使用概率模型时,概率模型的情况的总数会 增加,从而增加了存储器的数量。为了防止增加存储器的数量,可使用概率映射表和概率表 表示概率以使用代表性概率模型。例如,当N_pki值是32时,MSB上下文是四种类型,MSB值 在-4到3的范围内,概率的情况的总数可以是32*8*8*4 = 4096,将被最终解码的码元的数量 是8,从而只要总概率表不被组合,仅可使用65536个概率表。为了防止如此,当通过执行概 率模型的组合来减少概率表的情况的数量时,配置32*8*8*4的映射表,可减少将被使用的 存储的量。
[0176]图16是示出根据实施例的针对N元组的基于上下文的算术解码方法的流程图。
[0177] 图16的方法可对应于图3和图12的算术解码设备101的操作。
[0178]在操作S1601,算术解码设备101可确定当前帧是否是重设帧。当当前帧是重设帧 时,算术解码设备101可执行上下文重设。当当前帧不是重设帧时,算术解码设备101可映射 上下文。特别地,算术解码设备101可将先前帧的长度调整为当前帧的长度以映射上下文, 从而在当前帧的长度与先前帧的长度不同的情况下可在两帧之间映射频率索引。可按照帧 单位执行操作S1601到S1603。
[0179] 在操作S1604,算术解码设备101可对上下文模式解码以确定MSB上下文。随后,在 操作S1605,算术解码设备101可确定N元组上下文。在这种情况下,可估计初始LSB比特深度 的lev0〇
[0180] 在操作S1606,算术解码设备101可基于N元组的上下文(pki)和FD/wLPT对转义码 进行解码。每当转义码被解码时,可更新lev0,当与转义码不同的编码被解码时,算术解码 设备1 〇 1可在操作s1609对MSB执行解码。
[0181] 在操作S1607,算术解码设备101可确定与将被当前解码的MSB对应的MSB上下文。 在操作S1608,算术解码设备101可基于N元组上下文和MSB上下文确定合适的概率模型。
[0182] 在操作S1609,算术解码设备101可基于概率模型对MSB执行解码。
[0183] 在操作S1610,算术解码设备101可对与从转义码的解码获得的LSB的比特深度对 应的比特进行解码。在操作S1611,算术解码设备101可通过MSB和LSB产生量化样本。在操作 S1612,算术解码设备101可更新上下文以对下一N元组进行解码。在操作S1613,算术解码设 备101可增加频率索引,并对N元组执行解码。
[0184] 图17是示出根据实施例的针对N元组的基于上下文的算术编码方法的流程图。
[0185] 图17的方法可对应于图2和图11的算术编码设备100的操作。
[0186] 在操作S1701,算术编码设备100可确定当前帧是否为重设帧。当当前帧是重设帧 时,算术编码设备100可执行上下文重设。当当前帧不是重设帧时,算术编码设备100可映射 上下文。特别地,算术编码设备100可将先前帧的长度调整为当前帧的长度以映射上下文, 从而在当前帧的长度与先前帧的长度不同的情况下可在两帧之间映射频率索引。可按照帧 单位执行操作S1601到S1603。
[0187] 可按照帧单位执行操作S1701和S1703。
[0188] 在操作S1704,算术编码设备100可对上下文模式进行编码以确定MSB上下文。
[0189] 在操作S1705,算术编码设备100可针对当前N元组确定N元组上下文。在这种情况 下,可估计初始LSB比特深度的lev0。
[0190] 在操作S1706,算术编码设备100可基于N元组的上下文(pki)和FD/wLPT对转义码 执行编码。每当转义码被编码时,可更新lev0,当与转义码不同的模式被编码时,算术编码 设备100可在操作S1709对MSB执行编码。
[0191] 在操作S1707,算术编码设备100可确定与将被当前编码的MSB对应的MSB上下文。 在操作S1708,算术编码设备100可基于N元组上下文和MSB上下文确定合适的概率模型。
[0192] 在操作S1709,算术编码设备100可基于概率模型对MSB执行编码。
[0193] 在操作S1710,算术编码设备100可对与从转义码的解码获得的LSB的比特深度对 应的比特进行编码。在操作S1711,算术编码设备100可通过MSB和LSB产生量化样本,并且在 操作S1712,算术编码设备100可更新上下文以对下一N元组进行编码。
[0194] 在操作S1713,算术编码设备100可增加频率索引,并对下一N元组执行解码。
[0195] 图18示出根据实施例的实施上下文模式的示例。
[0196] 上下文模式可表示在使用与当前将被解码的MSB码元相邻的MSB值执行解码时将 被使用的上下文的MSB值的相对位置信息。可使用MSB内容模板来表示MSB相对位置信息。在 这种情况下,当对MSB执行解码时,算术解码设备101可对多个MSB上下文中的信号上下文模 板索引进行解码。算术解码设备101可根据上下文模板索引确定上下文模板,从而确定MSB 上下文。
[0197] 上下文模板0到3可表示相对位置信息,"c"可表示当前将被解码的MSB码元,p0、 pl、CpO、cpl和cp2可以是已经被解码的MSB码元。在上下文模板0的情况下,与先前帧的频率 位置相同的频率位置的MSB码元和相同帧的先前频率位置的MSB码元可用作MSB上下文。
[0198]上下文模板可具有针对低频带和高频带的不同值。例如,为了同时表示上下文模 板,可使用上下文模板索引。在这种情况下,可对每一个频带确定上下文模板索引。可使用 核解码模式作为上下文对上下文模板索引进行算术解码。
[0199]例如,上下文模板索引可被表示为如下的等式1。
[0200] [等式 1]
[0201] ctidx=(ct_l) | (ct_h<<2)
[0202] 0<ct_l<3,0<ct_h<3
[0203]在等式1中,ct_l和ct_h可表示低频带的上下文模板和高频带的上下文模板,并且 可表示总共四种情况。ctidx可表示上下文模板索引。LSB解码单元可通过以下的等式2对 LSB执行解码。
[0204][等式 2]
[0205]
[0206]
[0207] xe {a0,b0,c0,d0} ,0 < i<lev
[0208] X表示对应于与LSB值的频率位置相同的频率位置的MSB值,1表示LSB的比特深度。 另外,a0、b0、c0和d0可表示将被解码的MSB码元。
[0209]图19详细地示出根据实施例的算术编码设备的第三示例的配置。
[0210] 算术编码设备100包括上下文重设单元1901、上下文映射单元1902、1元组上下文 确定单元1903、MSB上下文确定单元1904、概率映射单元1905、转义码编码单元1906、MSB编 码单元1907、LSB编码单元1908、上下文模板编码单元1909和上下文更新单元1910。
[0211] 与图10的算术编码设备100相比,算术编码设备100还可包括1元组上下文确定单 元1903。特别地,图10的算术编码设备100可执行使用N元组上下文的操作,或者算术编码设 备100可执行使用1元组上下文的操作。
[0212] 上下文重设单元1901和上下文映射单元1902可按照帧单位进行操作。当当前帧是 重设帧时,上下文重设单元1901可执行上下文重设。当当前帧不是重设帧时,上下文映射单 元1902可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为 当前帧的长度。
[0213]另外,上下文映射单元1902可另外映射先前帧的编码的MSB。
[0214] 1元组上下文确定单元1903可使用与将被编码的当前1元组1911相邻的邻近1元组 1912到1918的量化谱值确定当前1元组1911的上下文。
[0215] 例如,1元组上下文确定单元1903可使用已经被编码的七个元组1912到1918来确 定当前1元组1911的上下文。
[0216]L元组上下文确定单元1903可使用邻近1元组1912到1918(8卩,针对当前1元组1911 的七个量化频谱)执行64个状态的映射。另外,1元组上下文确定单元1903可通过在训练处 理中分别将〇映射到〇,将-1或1映射到1,将2或-2映射到2,将大于3或小于-4映射到3,来减 少量化频谱信息的量。接下来,1元组上下文确定单元1903可通过将产生了映射的量化频谱 的所有可能的情况中具有相似的MSB码元的产生概率的情况打包,来配置单个状态,从而产 生多个状态。
[0217]可通过哈希表执行配置的映射关系。在这种情况下,1元组上下文确定单元1903可 通过在训练处理中配置的哈希表中输入邻近1元组1912到1918(8卩,与当前1元组1911相邻 的七个量化频谱),来确定状态。
[0218]另外,可在哈希表中输入另外的量化样本以确定状态。
[0219]另外,为了确定当前1元组的上下文,还可考虑核的编码模式信息。1元组上下文确 定单元1903可确定核的编码模式信息是FD模式还是wLPT模式,并在训练处理中反映确定的 信息。1元组上下文确定单元1903可在哈希表中输入已经编码的邻近1元组和核的编码模式 信息,以确定状态。
[0220] 1元组上下文确定单元1903可预测当前1元组1911(8卩,另外的当前量化频谱)的缩 减被执行的次数,从而提取MSB信息和LSB信息。
[0221] 可通过使用邻近1元组进行预测来获得缩减被执行的次数。在这种情况下,1元组 上下文确定单元1903可使用七个邻近1元组1912到1918中的至少一个来
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1