上下文自适应二进制数据算术编码(CABAC)解码技术制造技术

技术编号:9770202 阅读:173 留言:0更新日期:2014-03-16 06:25
一种用于解码变换系数的方法。该方法包括:解码输入的压缩比特流的连续的比特;使用多个解码的比特计算第一符号值;如果解码的比特的总数小于特定的比特计数,那么返回第一符号值;如果解码的比特的总数等于特定的比特计数,那么计算第二符号值;以及返回第二符号值。

【技术实现步骤摘要】
【国外来华专利技术】上下文自适应二进制数据算术编码(CABAC)解码技术
本专利技术一般地涉及视频数据解码器和编码器,并且更具体地涉及用于优化这些解码器和编码器的技术。
技术介绍
在相关领域中,最近的努力是并行执行多个处理任务,尤其是多个视频处理任务。这成为极为重要的任务,因为,一方面视频处理的计算量非常大,但另一方面,单个处理器的处理能力无法进一步提升。典型的示例是ITU-T在2008年3月发布的H.264视频标准(以下简称“H.264标准”)。为了支持高级应用,与H.264标准兼容的解码器和编码器必须并行运行。并行运行通常包括将单个任务分解为多个子任务并且同时处理多个子任务。然而,由于上下文自适应二进制数据算术编码(CABAC),H.264解码器/编码器不能完全并行执行。CABAC是通过H.264视频解码器进行的数据压缩/编码过程。CABAC过程是完全顺序的,即,对每一个处理步骤,所需要的输入数据依赖于前一步骤的输出数据。由于这种依赖性,压缩数据块的CABAC解码过程不能分割成多个子任务并在多个并行处理器上运行。在变换系数的解码处理期间,进行一个这样的CABAC解码处理,其中从CABAC数据流解压缩16或64阵列变换系数。用于在此变换系数解码处理期间解码4×4或8×8子宏块阵列的操作的总体顺序包括下列步骤:1)解码非零变换系数的总数;2)解码最后一个非零变换系数的索引值;3)解码给出所有非零变换系数的索引值的二值图,以及4)对于图中的每个非零变换系数:一次解码一个比特,直到遇到零比特或已经解码了特定的比特数(例如,I=14);以及如果已经解码特定的比特数,那么使用旁路编码(未压缩)的指数哥伦布码解码系数值。最后的步骤(4)通常通过在通用的CABAC比特解码函数上运行循环来进行直到遇到特定的比特计数或零比特。用于执行此步骤的伪代码可以呈现如下:decode_binary_decision是通用的CABAC比特解码函数,其中它的输入参数是CABAC对象、待解码的压缩比特流以及与解码的数据的类型相关联的上下文。被包括在压缩数据流中的数据有许多不同类型。例如,这些数据类型包括运动向量、宏块模式、预测类型和标志。每种不同类型的数据都使用它自己在CABAC解码器中预定义的上下文。解码器根据其上下文解码每个比特。因此,对于被设计成运行在并行处理硬件上的高性能H.264视频解码器,CABAC解码是性能瓶颈,在许多情况下决定了视频解码器的整体性能。因此,提供一种用于加速执行CABAC解码处理的解决方案是有利的。
技术实现思路
本专利技术的某些实施例包括一种用于实现变换系数的解码处理的方法。该方法包括:解码输入的压缩比特流的连续比特;使用多个解码的比特计算第一符号值(symbolvalue);如果解码的比特的总数小于特定的比特计数,那么返回第一符号值;如果解码的比特的总数等于特定的比特计数,那么计算第二符号值;并返回第二符号值。本专利技术的某些实施例还包括一种用于解码变换系数的解码器。该解码器包括:上下文自适应二进制数据算术编码(CABAC)解码器,用于解码输入的压缩比特流的连续比特;第一加法器,用于通过将解码的比特的数量加一来计算第一符号值;比较器,用于确定解码的比特的总数是否等于特定的比特计数;指数哥伦布码解码器,用于在解码的比特的总数等于特定的比特计数时解码输入的压缩比特流;以及第二加法器,用于通过将第一符号值和使用指数哥伦布码解码器生成的结果相加来生成第二符号值。附图说明在作为本说明书所附的权利要求中,特别地指出并清楚地请求保护被视为是本专利技术的主题。根据结合附图的以下详细描述,本专利技术的前述及其他特征和优点将显而易见。图1是示出根据本专利技术的一个实施例实现的用于优化变换系数的解码处理的方法的流程图。图2是示出根据本专利技术的一个实施例实现的用于解码具有相同的上下文的比特的处理的流程图。图3是示出根据本专利技术的一个实施例实现的用于解码连续的比特的处理的流程图。图4是根据本专利技术的一个实施例构建的解码器的框图。具体实施方式重要的是,应该注意到,本专利技术所公开的实施例只是本说明书的创新性教导的许多有利使用的若干示例。一般情况下,在本申请的说明书中做出的陈述不一定限制各个请求保护的专利技术中的任何一个或几个。此外,一些陈述可能适用于某些创造性特征,但不适用于其他的。一般情况下,除非另有说明,单数元件可以是复数,反之亦然,而不会丧失一般性。在附图中,相似的标号指代全部几个视图中的相似的部件。根据本专利技术的原理,本说明书中公开的技术在H.264标准定义的变换系数的解码处理过程中执行,其中从CABAC比特流中解压缩出16或64的阵列变换系数。具体地说,所公开的技术被设计为优化一次解码一个比特直到遇到零比特或达到特定的比特计数的子处理。该子处理对每一个非零变换系数执行。根据本专利技术的原理,该方法通过使用相同的CABAC上下文,解码具有相同的值的连续的比特来实现,直到遇到特定的比特计数或零比特。该功能可以用下面的伪代码来呈现:symbol=1+decode_consecutive(cabac,bitstream,context,1,unary_max-1)应该理解的是,使用该方法可以实现两个级别的优化。第一级别是通过除去对通用CABAC比特解码函数(decode_binary_decision)的重复调用来减少执行开销,第二级别的优化通过解码具有相同的值的连续的比特来实现。图1示出了根据本专利技术的一个实施例实现的用于优化变换系数的解码处理的方法的示例性和非限制性流程图100。在S110中,执行用于解码具有相同的上下文值的连续的比特的处理(decode_consecutive)。该处理接收三个输入参数:对将被解码的比特的上下文的引用、对压缩比特流的引用和对包括范围和偏移整数值的CABAC解码器对象的引用。步骤S110生成解压缩的比特流,并返回解码的比特的数量。根据本专利技术的一个实施例,decode_consecutive处理在每次迭代中使用相同的上下文解码来自解码的CABAC比特流的多个相同值的比特。根据另一实施例,decode_consecutive处理基于:计算连续的大概率符号(MPS)比特的最小数量,然后在不检查每个比特的值的情况下在紧凑循环(tightloop)中对于每个比特推进CABAC解码器的状态机。S110的执行将在下面参照图2和3更详细地描述。在S120中,符号值被计算为decode_consecutive处理的解码的比特的总数加1。也就是说,符号值=总比特+1。在S130中,检查解码的比特的总数是否等于特定的比特计数(I)。如果是等于,那么在S140中继续执行;否则,返回(S160)符号值,结束执行。在S140,使用指数哥伦布码解码压缩的比特流。在S150,符号值通过将在S120计算得到的符号值和在S140生成的解码的比特流相加来进行计算。此后,在S160继续执行。如可以从上面的描述和流程图100理解的,处理decode_consecutive只调用一次,并非对比特流中的每个比特都调用,从而加速执行变换系数的解码处理。图2示出了根据本专利技术的一个实施例实现的用于解码具有相同的上下文的比特的decode_consecutive处理的示例性和非限制性的流程图S11本文档来自技高网
...
上下文自适应二进制数据算术编码(CABAC)解码技术

【技术保护点】
一种用于解码变换系数的方法,包括:解码输入的压缩比特流的连续的比特;使用多个解码的比特计算第一符号值;如果解码的比特的总数小于特定的比特计数,那么返回第一符号值;如果解码的比特的总数等于该特定的比特计数,那么计算第二符号值;以及返回第二符号值。

【技术特征摘要】
【国外来华专利技术】1.一种用于解码变换系数的方法,包括:解码输入的压缩比特流的连续的比特,所述解码包括计算连续的大概率符号比特的最小数量,以及所述解码还包括根据所述连续的大概率符号比特的最小数量确定该连续的比特的值;通过在解码的比特的数量上加一来计算第一符号值;确定解码的比特的总数是否等于特定的比特计数;如果解码的比特的总数等于特定的比特计数,则使用指数哥伦布码来解码输入的压缩比特流;通过将第一符号值和由指数哥伦布码解码生成的结果相加来计算第二符号值;返回第二符号值。2.如权利要求1所述的方法,其中输入的压缩比特流是解码的上下文自适应二进制数据算术编码(CABAC)比特流。3.如权利要求1所述的方法,进一步包括:接收上下文值、输入的压缩比特流和CABAC解码器对象,其中CABAC解码器对象包括范围值和偏移值;计算子范围值;通过从范围值中减去子范围值计算新的范围值;检查偏移值是否小于新的范围值;如果偏移小于新的范围值,那么返回具有等于大概率符号(MPS)值的值的解压缩的输出比特;以及如果偏移大于或等于新的范围值,那么返回具有等于小概率符号(LPS)的值的解压缩的输出比特。4.如权利要求3所述的方法,进一步包括:执行重归一化处理;检查是否遇到零比特;如果遇到零比特,那么返回解码的比特的总数;如果未遇到零比特,那么使得对解码的比特的总数计数的计数器递增;以及如果解码了特定的最大数量的比特,那么返回解码的比特的总数。5.如权利要求4所述的方法,其中执行重归一化处理包括:从输入的压缩比特流连续地读取新的比特,直到范围值大于或等于预定的范围值(PRV)。6.如权利要求1所述的方法,其中解码连续的比特包括:在不检查每个比特的值的情况下对连续的大概率符号比特中的每一个比特推进CABAC解码器的状态机。7.如权利要求6所述的方法,进一步包括:接收上下文值、输入的压缩比特流和CABAC解码器对象,其中CABAC解码器对象包括范围值和偏移值;使用范围值和偏移值计算子范围值;计算输入的压缩比特流中的连续的大概率符号比特的最小数量(mpbits);如果连续的大概率符号比特的最小数量大于零,那么返回具有等于大概率符号值的值的解压缩的输出比特;以及如果连续的大概率符号比特的最小数量等于零,那么返回具有等于小概率符号值的值的解压缩的输出比特。8.如权利要求7所述的方法,其中返回具有等于大概率符号值的值的解压缩的输出比特,进一步包括:通过从子范围值中减去范围值计算新的范围值;执行归一化处理;完成归一化处理之后,检查是否在连续的大概率符号比特中遇到零比特;如果未遇到零比特,那么对连续的大概率符号比特中的每一个比特迭代地推进CABAC解码器的状态机;以及当遇到零比特或达到特定的比特计数时,返回解码的比特的总数。9.一种用...

【专利技术属性】
技术研发人员:RE格伊德肯
申请(专利权)人:汤姆逊许可公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1