描述了一种将高吞吐量编码模式用于HEVC中的CABAC的系统。所述系统可以包括电子设备,该电子设备被配置为:获得数据块以使用基于算术的编码器进行编码;使用所获得的块产生语法元素的序列;将所述序列的绝对值‑3值或与绝对值‑3值相关联的参数与预设值进行比较;以及根据比较结果,使用第一码或不同于第一码的第二编码,将绝对值‑3值转换为码字。
【技术实现步骤摘要】
【国外来华专利技术】用于对与变换系数相关联的比特流进行编码和解码方法
本公开总体上涉及电子设备。更具体地,本公开涉及将增强型的上下文自适应二进制算术编码(CABAC)用于编码和/或解码的电子设备。
技术介绍
许多解码器接收(和编码器提供)针对图像块的编码后的数据。通常,图像被划分为多个块,以某种方式(例如,使用离散余弦变换(DCT))对每个块进行编码,并将编码后的块提供给解码器。块可以表示图像中的矩形区域,并由多个像素构成,例如,16x16块是宽度16像素乘以高度16像素的区域。解码器接收编码后的块,以某种方式(例如,使用逆DCT)对每个块进行解码。视频编码标准(例如,MPEG-4第10部分(H.264))压缩视频数据,以便通过具有有限带宽和/或有线存储容量的信道进行传输。这些视频编码标准包括多个编码阶段(codingstage),例如,帧内预测、从空间域到频域的变换、从频域到空间域的逆变换、量化、熵编码、运动估计和运动补偿,以便更有效地对帧进行编码和解码。国际电信联盟电信标准化部(ITU-T)第16研究组(SG16)第3工作组(WP3)和国际标准化组织/国际电工技术委员会(ISO/IEC)第一联合技术委员会/第29分会/第11工作组(JTC1/SC29/WG11)的视频编码联合协作组(JCT-VC)针对被称作高效视频编码标准(HEVC)的视频编码标准进行了标准化工作。与一些现有编码标准相似,HEVC使用基于块的编码。图1示出了已知HEVC编码器的示例。HEVC解码器同样是已知的。在HEVC中,将上下文自适应二进制算术编码(CABAC)用于无损地压缩经过变换和量化的系数(TQC)。通过用前向变换处理图像块来产生变换系数,接着使用将多个变换系数值映射到TQC值的操作对所述变换系数进行量化,来在编码器处确定TQC。接着,将所述TQC值传送到解码器,作为系数等级值或等级值,并接着将每个系数的等级值映射至变换系数值,该变换系数值类似于在编码器处计算出的变换系数值,但不一定与在编码器处计算到的变换系数值相同。基于CABAC的编码和/或解码技术通常是上下文自适应的,所述上下文自适应是指:(i)基于在过去编码和/或解码的先前符号的值自适应性地对符号进行编码;(ii)上下文,识别用于适配的在过去编码和/或解码的符号集。所述过去的符号可以位于空间和/或时间相邻的块中。在许多情况下,上下文基于相邻块的符号值。如上所述,CABAC可以用于无损地压缩TQC。作为背景,根据变换尺寸(例如,4x4,8x8,16x16,32x32,16x32),TQC可以来自不同块尺寸。可以在进行熵编码(例如,CABAC)之前,将二维(2D)TQC转换为一维(1D)阵列。在一个示例中,可以如表1所示布置在4x4块中的2D排列的TQC。表1401032-1...-30......0.........当将2DTQC转换为1D阵列时,可以以对角z字形的方式扫描所述块。继续该示例,可以通过扫描第一行第一列、第一行第二列、第二行第一列、第三行第一列、第二行第二列、第一行第三列、第一行第四列、第二行第三列、第三行第二列、第四行第一列等,将表1所示的2D排列的TQC转换为1D排列的TQC[4,0,3,-3,2,1,0,-1,0,0,...]。通过CABAC中的语法元素(SE)的序列表示1D阵列的TQC。图2示出了针对示例1D阵列的TQC的SE序列的示例。SE表示以下参数:最后位置X/Y、重要性图(SignificanceMap)以及大于1、大于2、符号信息和绝对值-3的属性。最后位置X/Y表示在对应块中的最后非零系数的位置(X/Y)。重要性图表示每个系数的重要性,系数等级是否为零。大于1指示:对于每个非零系数(即,重要性标志(图)为1),系数幅度(绝对系数等级)是否大于1。大于2指示:对于幅度大于1的每个系数(即,大于1的标志为1),系数幅度是否大于2。在HEVC中的CABAC中,对代表性的SE进行编码。图3示出了用于编码SE的CABAC框架。CABAC编码技术包括使用多阶段对符号编码。在第一阶段,CABAC使用“二进制化器”来将输入符号映射至二进制符号(或“bin”)串。输入符号可以是非二进制取值的符号,在将其编码为比特之前,对其进行二进制化或以其他方式将其转换为二进制(1或0)符号串。可以使用“旁路编码引擎(bypassencodingengine)”或“常规编码引擎(regularencodingengine)”来将bin编码为比特。对于CABAC中的常规编码引擎,在第二阶段,选择概率模型。将概率模型用于算术编码二进制化的输入符号的一个或多个bin。根据上下文,从可用概率模型的列表中选择所述模型,所述上下文根据最近编码的符号而变化。概率模型存储bin是“1”或“0”的概率。在第三阶段,算术编码器根据所选概率模型对每个bin进行编码。对于每个bin,存在两个子范围,与“0”和“1”相对应。第四阶段涉及更新概率模型。基于实际的编码bin值来更新所选概率模型(例如,如果bin值是“1”,则增加“1”的频率计数(frequencycount))。CABAC解码的解码技术对该过程进行反向。对于CABAC中的旁路编码引擎,第二阶段涉及将bin转换为比特,省略了计算开销大的上下文估计和概率更新阶段。旁路编码引擎对输入的bin假定相同的概率分布。CABAC解码的解码技术对该过程进行反向。从概念上说,CABAC使用两个步骤对符号进行编码。在第一步骤中,CABAC执行将输入的符号二进制化为bin。在第二步骤中,CABAC使用旁路编码引擎或常规编码引擎执行bin转换为比特。在比特流中将得到的编码后的比特值提供给解码器。从概念上说,CABAC使用两个步骤对符号进行解码。在第一步骤中,CABAC使用旁路编码引擎或常规编码引擎来将输入的比特转换为bin值。在第二步骤中,CABAC执行解二进制化以针对bin值恢复所传输的符号值。恢复后的符号自然可以是非二进制的。将恢复后的符号值用于解码器的其余方面。如先前所述,CABAC的编码和/或解码过程至少包括两个不同的操作模式。在第一模式中,基于实际的编码bin值来更新概率模型,通常被称作“常规编码模式”。常规编码模式需要若干顺序的串行操作以及与其相关的计算复杂度和大量的时间来完成。在第二模式中,不基于实际的编码bin值更新概率模型,通常被称作“旁路编码模式”。在第二模式中,不存在(可能的固定概率之外的)用于对bin进行解码的概率模型,因此,不需要更新所述概率模型。当在HEVC中使用CABAC编码时,吞吐量性能可以根据不同因素而有所不同,所述不同因素例如但不限于:bin/像素的总数、旁路bin/像素的数量以及常规(或上下文)编码的bin/像素的数量。将吞吐量定义为在单位时间内可以进行解码(或编码)的TQC的量。通常来说,高比特率编码(低量化参数(QP)值)情况下的吞吐量明显小于其它情况的吞吐量。因此,高比特率情况的吞吐量可能消耗大量的处理资源和/或花费大量时间来进行编码/解码。以下所述的本公开解决了该问题和其他问题。还知道,可以将CABAC用于无损的编码模式中以便压缩残余采样(residualsample)。在一个示例中,残余样本是与图像中的特定本文档来自技高网...
【技术保护点】
一种用于对与变换系数相关联的比特流进行解码的方法,包括以下步骤:(a)获得比特流;(b)通过使用算术解码,从所获得的比特流解码与目标变换参数相关联的二进制数据;(c)导出所述目标变换参数的赖斯参数;以及(d)基于k阶指数哥伦布编码,将所述二进制数据转换为与所述目标变换系数的量值相关联的参数。
【技术特征摘要】
【国外来华专利技术】2012.04.11 US 61/622,9901.一种用于对与变换系数相关联的比特流进行解码的方法,包括以下步骤:(a)获得比特流;(b)通过使用算术解码,从所获得的比特流解码与目标变换参数相关联的二进制数据;(c)导出所述目标变换参数的赖斯参数;(d)从所述比特流接收指示符,其中所述指示符是不同于赖斯参数的标志;(e)基于所述指示符,确定第一码或第二码与和赖斯参数相对应的赖斯码一同使用;以及(f)基于赖斯码和所确定的第一码或第二码的组合,将所述二进制数据转换为与所述目标变换系数的量值相关联的参数;其中,第一码是k阶指数哥伦布编码。2.根据权利要求1所述的方法,其中基于所述赖斯参数确...
【专利技术属性】
技术研发人员:金升焕,路易斯·约瑟夫·克伦斯基,克里斯多夫·安德鲁·西格尔,
申请(专利权)人:夏普株式会社,
类型:发明
国别省市:日本;JP
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。