用于对与变换系数相关联的比特流进行编码和解码方法与流程

文档序号:14943034发布日期:2018-07-13 21:33

技术领域
本公开总体上涉及电子设备。更具体地,本公开涉及将增强型的上下文自适应二进制算术编码(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)。在一个示例中,残余样本是与图像中的特定位置相对应的值。通常,残余样本对应于以下两者的差:与图像中特定位置相对应的值;以及与图像中同一特定位置相对应的预测值。备选地,残余样本是与图像中特定位置相对应的值,该值尚未经过变换操作(或通常不用于创建TQC的变换操作)的处理。根据残余样本的样本尺寸(4x4,8x8,16x16,32x32,16x32等),残余样本可以来自不同块尺寸。类似于TQC编码,在进行熵编码之前,首先将2D残余样本块转换为1D阵列。在一个示例中,可以如表2所示布置4x4块中的2D排列的残余样本。表2401032-1...-30......0.........当将2D残余样本转换为1D阵列时,可以以对角z字形的方式扫描所述块。继续该示例,可以通过扫描第一行第一列、第一行第二列、第二行第一列、第三行第一列、第二行第二列、第一行第三列、第一行第四列、第二行第三列、第三行第二列、第四行第一列等,将表2所示的2D排列的残余样本转换为1D排列的残余样本[4,0,3,-3,2,1,0,-1,0,0,...]。通过CABAC中的语法元素(SE)的序列表示1D阵列的残余样本。图2示出了针对示例1D阵列的残余样本的SE序列的示例。SE表示以下参数:最后位置X/Y、重要性图(SignificanceMap)以及大于1、大于2、符号信息和绝对值-3的属性。在HEVC中的CABAC的无损编码模式中,对代表性的SE进行编码。可以将图3的CABAC框架用于对SE进行编码。CABAC编码技术包括使用多阶段对符号编码。在第一阶段,CABAC使用“二进制化器”来将输入符号映射至二进制符号(或“bin”)串。输入符号可以是非二进制取值的符号,在将其编码为比特之前,对其进行二进制化或以其他方式将其转换为二进制(1或0)符号串。可以使用先前所述的“常规编码引擎”将bin编码为比特。对于CABAC的无损编码模式下的常规编码引擎,在第二阶段,选择概率模型(在CABAC的无损编码模式下又称“上下文模型”)。将上下文模型用于算术编码二进制化的输入符号的一个或多个bin。可以根据上下文,从可用上下文模型的列表中选择所述上下文模型,所述上下文根据最近编码的符号而变化。上下文模型存储bin是“1”或“0”的概率。在第三阶段,算术编码器根据所选上下文模型对每个bin进行编码。对于每个bin,存在两个子范围,与“0”和“1”相对应。第四阶段涉及更新对应的上下文模型。基于实际的编码bin值来更新所选概率模型(例如,如果bin值是“1”,则增加“1”的频率计数(frequencycount))。CABAC解码的解码技术对该过程进行反向。如先前段落所述使用的上下文模型的数量可以是184。具体地:将36个上下文模型用于最后位置X/Y(18个上下文模型用于最后位置X,18个上下文模型用于最后位置Y);将48个上下文模型用于重要性图(4x4块:9个亮度,6个色度;8x8块:11个亮度,11个色度;16x16或32x32块:7个亮度,4个色度);以及将100个上下文模型用于大于1、大于2、符号信息和绝对值-3的属性(亮度的大于1标志:30个;色度的大于1标志:20个,亮度的大于2标志:30个;色度的大于2标志:20个)。(对语法元素的绝对值-3系数进行编码)回顾语法元素编码,语法元素编码的一部分涉及对语法元素的绝对值-3系数进行编码。如在下文所详述,对绝对值-3系数进行编码涉及哥伦布-赖斯(GR)编码和0阶指数哥伦布(EG0)编码。图4示出了针对HEVC的绝对值-3的编码结构。例如,考虑如图4所示的绝对值-3值,即,81、34、6、4、0。编码顺序与扫描顺序相反。使用如图5所示的哥伦布-赖斯(G-R)码表来对值“0”进行转换,图5示出了5个可变长度码(VLC)表(表示为标记为0-4的列,其中标记为0的列是VLC表0,标记为1的列是VLC表1,...,标记为4的列是VLC表4),每个与不同的赖斯参数值相对应。基于当前为0的赖斯参数(赖斯参数初始化为0,作为HEVC中的子块的初始值),激活VLC表0。在VLC表0中,对于为“0”的输入值,码字为“0”。因此,对应的码字值为“0”。在进行到下一扫描位置之前,存在对赖斯参数更新的检查。图6示出了赖斯参数更新表。由于输入符号等级是“0”,且当前赖斯参数零是“0”,查找结果是零,与当前赖斯参数值相同,因此,不存在赖斯参数更新。赖斯参数更新确定用于对下一值进行编码的赖斯参数值。使用图5的G-R码表的VLC表0来将下一值“4”转换为码字11110。根据图6所示的更新表,在将下一值“6”转换为码字之前,将当前赖斯参数更新为1。在将值“6”转换为码字之后,根据图6将赖斯参数更新为2。移动到扫描位置2,可以看出,要转换的值“34”大于与当前赖斯参数2相对应的赖斯码范围。具体地,图5所示的5个参数值分别具有以下赖斯码范围:7、14、26、46、78。对于每个赖斯参数,所述范围与具有已定义的码字且不等于11111111的最大符号值相对应。此外,值“34”大于对应范围26。因此,根据HEVC,使用图5的VLC表2,选择与值27相对应的码字。此外,将EG0编码用于对无法通过来自G-R编码的对应码字(值27为11111111)表示的残余值进行编码。将残余的输入值(即,8(34-26))用于从图7的EG0表选择前缀和后缀。这里,所选的来自EG0处理的前缀是1110,所选的来自EG0处理的后缀是001。基于值26和根据图6,将赖斯参数更新为4(4是对最大值23的查找结果)。将码字11111111(来自G-R编码)和码字1110001(来自EG0编码)用于表示值“34”。在一个示例中,连结来自G-R编码的码字和来自EG0编码的码字,以便形成单个码字。当在HEVC中使用CABAC编码时,吞吐量性能可以根据不同因素而有所不同,所述不同因素例如不限于:要编码的语法元素的绝对值-3值的量值。因此,根据这些因素,编码可能消耗大量的处理资源和/或花费大量时间。以下所述的本公开解决了该问题和其他问题。技术实现要素:本发明的一个实施例公开了一种用于对与变换系数相关联的比特流进行解码的方法,包括以下步骤:(a)获得比特流;(b)通过使用算术解码,从所获得的比特流解码与目标变换参数相关联的二进制数据;(c)导出所述目标变换参数的赖斯参数;以及(d)基于k阶指数哥伦布编码,将所述二进制数据转换为与所述目标变换系数的量值相关联的参数。本发明的另一实施例公开了一种用于对与变换参数相关联的数据进行编码的方法,包括以下步骤:(a)获得要使用算术编码进行编码的目标变换系数的数据;(b)使用所获得的数据产生与目标变换系数的量值相关联的参数;(c)导出所述目标变换系数的赖斯参数;(d)基于k阶指数哥伦布编码,将所述参数转换为与所述目标变换系数的量值相关联的二进制数据;以及(e)使用所述算术编码来编码所述二进制数据。本发明的另一实施例公开了一种系统,包括:编码器的电子设备,所述电子设备被配置为:获得要使用基于算术的编码器进行编码的数据块;使用所获得的块产生语法元素的序列;将该序列的绝对值-3值或与绝对值-3值相关联的参数与预设值进行比较;根据比较结果,使用第一码或不同于第一码的第二码,将绝对值-3值转换为码字;以及使所述码字存储在存储设备中。本发明的另一实施例公开了一种系统,包括:编码器的电子设备,所述电子设备被配置为:获得要使用基于算术的编码器进行编码的数据块;使用所获得的块产生语法元素的序列;确定是否满足与块尺寸相关联的预设条件;响应于确定不满足与块尺寸相关联的预设条件,基于上下文模型的第一子集,编码二值化的水平最后位置,并基于上下文模型的第二子集,编码二值化的垂直最后位置,所述上下文模型的第二子集不同于上下文模型的第一子集;响应于确定满足与块尺寸相关联的预设条件,基于上下文模型的第一子集,编码二值化的水平最后位置,并基于上下文模型的第一子集,编码二值化的垂直最后位置;以及使所述编码存储在存储设备中。附图说明图1是HEVC编码器的框图。图2是示出了根据CABAC的语法元素序列的表。图3是针对语法元素序列的CABAC框架的框图。图4示出了针对HEVC的绝对值-3的编码结构。图5示出了HEVC的哥伦布-赖斯码表。图6示出了HEVC的赖斯参数更新表。图7示出了HEVC的EG0(0阶指数哥伦布)表。图8是示出了编码器和解码器的示例的框图。图9是示出了在电子设备上使用基于哥伦布-赖斯和/或EG(指数哥伦布)编码的第一技术来进行编码的方法的一个配置的流程图。图10示出了截短的EG0表的示例。图11是示出了在解码侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第一技术来进行编码的方法的一个配置的流程图。图12是示出了在电子设备上使用基于哥伦布-赖斯和/或EG编码的第二技术来进行编码的方法的一个配置的流程图。图13是示出了在解码侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第二技术来进行编码的方法的一个配置的流程图。图14是示出了在电子设备上使用基于哥伦布-赖斯和/或EG编码的第三技术来进行编码的方法的一个配置的流程图。图15是示出了在解码侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第三技术来进行编码的方法的一个配置的流程图。图16示出了在已知CABAC中用于进行最后位置编码的与亮度相关联的上下文模型。图17是示出了在电子设备上用于最后位置编码的共享上下文建模的方法的一个配置的流程图。图18示出了可以在使用图17所述的配置的示例中使用的码表。图19是示出了在电子设备上用于最后位置编码的共享上下文建模的方法的另一配置的流程图。图20示出了可以在使用图19所述的配置的示例中使用的编码表。图21是示出了在解码侧电子设备上用于最后位置编码的共享上下文建模的方法的一个配置的流程图。具体实施方式图8是示出了编码器和解码器的示例的框图。系统800包括用于产生编码后的块的编码器811,由解码器812解码所述编码后的块。编码器811和解码器812可以通过网络进行通信。编码器811包括电子设备821,该电子设备821被配置为使用基于哥伦布-赖斯和/或EG编码的技术来进行编码。电子设备821可以包括处理器和与该处理器电子通信的存储器,其中所述存储器存储指令,该指令可由处理器执行,以执行如图9、12和14所示的操作。解码器812包括电子设备822,该电子设备822被配置为使用基于哥伦布-赖斯和/或EG编码的技术来进行解码。电子设备822可以包括处理器和与该处理器电子通信的存储器,其中所述存储器存储指令,该指令可执行,以执行如图11、13和15所示的操作。图9是示出了在电子设备上使用基于哥伦布-赖斯和/或EG编码的第一技术来进行编码的方法的一个配置的流程图。在框911中,电子设备821获得经变换和量化的系数(TQC)的块。在框912中,电子设备821使用所获得的块产生语法元素的序列。在菱形913中,电子设备821确定绝对值-3的量值是否大于阈值。如果在菱形913中所述量值不大于阈值,则在框914中,电子设备821使用第一编码将无法通过绝对值-3值的G-R编码表示的任何残余值转换为码字。在一个示例中,第一编码包括EG0编码。如果在菱形913中所述量值大于阈值,则在框915中,电子设备821使用不同于第一编码的第二编码,将无法通过绝对值-3值的G-R编码表示的任何残余值转换为码字。在一个示例中,第二编码包括截短的EG0编码。在一个示例中,如果使用第二编码,则电子设备821可以将高吞吐量模式指示符(例如,HT标志)设置为值1(当然可以包括根据设计偏好,改变HT标志的缺省值,或将HT标志保留为缺省值)。在框916,电子设备821通过网络传输所产生的比特流,和/或将所产生的比特流存储在存储设备中。图10示出了截短的EG0码的示例。在图10的示例中,当输入值大于254时,截短EG0码。使用截短后的EG0表的最长码字长度是24比特,短于使用EG0表的最长码字长度(29比特)。示出15个“x”指示的后缀可以指定在255到33022范围内的任何值。例如,后缀值000000000000000表示255,后缀值000000000000001表示256等,以此类推,后缀值111111111111111表示33022。图11是示出了在解码器侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第一技术来进行编码的方法的一个配置的流程图。在框1110中,电子设备822获得比特流。在框1111中,电子设备822从所获得的比特流获得码字。在菱形1112中,电子设备822确定是否满足高吞吐量解码模式条件。在一个示例中,所述确定可以包括:检查与接收到的比特流相对应的首部(例如,片首部)。所述检查首部还可以包括:检查与所获得的比特流相对应的片首部,以得到高吞吐量解码模式指示符的值。如果在菱形1112中不满足该条件,则在框1113中,电子设备822通过向码字应用第一码(例如,EG0码),来恢复绝对值-3值。如果在菱形1112中满足该条件,则在框1114中,电子设备822通过向码字应用不同于第一码的第二码(例如,截短后的EG0码),来恢复绝对值-3值。在框1115中,电子设备822可以将所获得的TQC的块存储在存储设备中,和/或可以恢复视频数据。在一个示例中,对于对应当前赖斯参数等于4的每个绝对值-3值,旁路G-R编码。在一个示例中,将EG4(四阶)编码用于不使用G-R编码来处理的绝对值-3值。在一个示例中,可以不存储与赖斯参数值4相对应的G-R码表,从而将G-R码表的内存占用从181字节减少为101字节。图12是示出了在电子设备上使用基于哥伦布-赖斯和/或EG编码的第二技术来进行编码的方法的一个配置的流程图。在框1211中,电子设备822获得经变换和量化的系数(TQC)的块。在框1212中,电子设备822使用所获得的块产生语法元素的序列。在菱形1213中,电子设备821确定当前的与绝对值-3值相对应的赖斯参数是否等于预设值。如果在菱形1213中当前的赖斯参数不与预设值相对应,则在框1214中,电子设备821使用G-R编码将绝对值-3值转换为码字。在框1215中,电子设备821使用第一码来对与G-R编码相关联的任何余值进行编码。如果在菱形1213中当前的赖斯参数与预设值相对应,则在框1216中,电子设备821针对绝对值-3值旁路G-R编码,并使用第二码将绝对值-3值转换为码字,其中第二码不同于第一码。在框1217中,电子设备821通过网络传输所产生的比特流,和/或将所产生的比特流存储在存储设备中。在一个示例中,如果使用第二码,则电子设备821可以将高吞吐量模式指示符(例如,HT标志)设置为值1(当然可以包括根据设计偏好,改变HT标志的缺省值,或将HT标志保留为缺省值)。图13是示出了在解码侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第二技术来进行编码的方法的一个配置的流程图。在框1310中,电子设备822获得比特流。在框1311中,电子设备822从所获得的比特流获得码字。在菱形1312中,电子设备822确定是否满足高吞吐量解码模式条件。在一个示例中,所述确定可以包括:检查与接收到的比特流相对应的首部(例如,片首部)。所述检查首部还可以包括:检查与所获得的比特流相对应的片首部,以得到高吞吐量解码模式指示符的值。如果在菱形1312中不满足该条件,则在框1313中,电子设备822通过向码字应用G-R编码和有条件地应用第一码(例如,EG0码),来恢复绝对值-3值。如果在菱形1312中满足该条件,则在框1314中,电子设备822通过旁路G-R编码并向码字应用不同于第一码的第二码,来恢复绝对值-3值。在框1315中,电子设备822可以将所获得的TQC的块存储在存储设备中,和/或可以恢复视频数据。在一个示例中,根据该绝对值-3值的对应当前赖斯参数,针对绝对值-3值自适应地采用EGk编码。在一个示例中,对于对应当前赖斯参数等于0或1的绝对值-3值,采用EG0。对于对应当前赖斯参数等于2或3的绝对值-3值,采用EG1。对于对应当前赖斯参数等于4的绝对值-3值,采用EG2。图14是示出了在电子设备上使用基于哥伦布-赖斯和/或EG编码的第三技术来进行编码的方法的一个配置的流程图。在框1411中,电子设备822获得经变换和量化的系数(TQC)的块。在框1412中,电子设备822使用所获得的块产生语法元素的序列。在菱形1413中,电子设备821确定当前的赖斯参数是否等于预设值。如果在菱形1413中当前的赖斯参数不等于预设值,则在框1414中,电子设备821使用G-R编码将与当前赖斯参数相关联的绝对值-3值转换为码字,并且使用第一码来对与G-R编码相关联的任何余值进行编码,其中所述第一码可以包括EG0。如果在菱形1413中当前的赖斯参数等于预设值,则在框1415中,电子设备821使用G-R编码将与当前赖斯参数相关联的绝对值-3值转换为码字,并使用第二码来对与G-R编码相关联的任何余值进行编码,其中第二码不同于第一码。在框1416中,电子设备821通过网络传输所产生的比特流,和/或将所产生的比特流存储在存储设备中。在一个示例中,如果使用第二码,则电子设备821可以将高吞吐量模式指示符(例如,HT标志)设置为值1(当然可以包括根据设计偏好,改变HT标志的缺省值,或将HT标志保留为缺省值)。图15是示出了在解码侧电子设备上使用基于哥伦布-赖斯和/或EG编码的第三技术来进行编码的方法的一个配置的流程图。在框1510中,电子设备822获得比特流。在框1511中,电子设备822从所获得的比特流获得码字。在菱形1512中,电子设备822确定是否满足高吞吐量解码模式条件。在一个示例中,所述确定可以包括:检查与接收到的比特流相对应的首部(例如,片首部)。所述检查首部还可以包括:检查与所获得的比特流相对应的片首部,以得到高吞吐量解码模式指示符的值。如果在菱形1512中不满足该条件,则在框1513中,电子设备822通过向码字应用G-R编码和有条件地应用第一码(例如,EG0码),来恢复绝对值-3值。如果在菱形1512中满足该条件,则在框1514中,电子设备822通过向码字应用G-R编码并有条件地应用不同于第一码的第二码,来恢复绝对值-3值。在框1515中,电子设备822可以将所获得的TQC的块存储在存储设备中,和/或可以恢复视频数据。(用于针对HEVC中的CABAC进行最后位置编码的共享内容建模)作为背景,已知的基于CABAC的编码可以将上下文模型用于算术编码。为了对最后位置信息进行编码,已知的CABAC针对亮度使用30个上下文模型。图16示出了这30个上下文模型(即,01-141和02-142)。TU4、TU8、TU16和TU32指示4x4、8x8、16x16和32x32变换。将上下文模型01-141用于编码针对亮度的最后位置信息的Pos_X信息,同时将上下文模型02-142用于编码针对亮度的最后位置信息的Pos_Y信息。将上下文模型选择表1610用于Pos_X,同时将上下文模式选择表1611用于Pos_Y。图17是示出了在电子设备上用于最后位置编码的共享上下文建模的方法的一个配置的流程图。在框1711,电子设备821获得经变换和量化的系数(TQC)的块。在框1712中,电子设备821使用所获得的块产生语法元素的序列。在菱形1713中,电子设备821确定块尺寸是否大于预设阈值。在一个示例中,电子设备821确定垂直块尺寸是否大于预设阈值。如果在菱形1713中块尺寸不大于预设阈值,则在框1714中,电子设备821基于上下文模型的第一子集来编码二值化的水平最后位置(Pos_X),并基于上下文模型的第二子集来编码二值化的垂直最后位置(Pos_Y),所述上下文模型的第二子集不同于上下文模型的第一子集。如果在菱形1713中块尺寸大于预设阈值,则在框1715中,电子设备821基于上下文模型的第一子集来编码二值化的水平最后位置,并基于上下文模型的第一子集来编码二值化的垂直最后位置。在一个示例中,如果基于上下文模型的第一子集来编码二值化的垂直最后位置,则电子设备821可以将共享上下文模型模式指示符(例如,共享上下文模型模式标志)设置为值1(当然可以包括根据设计偏好,改变共享上下文模型模式标志的缺省值,或将共享上下文模型模式标志保留为缺省值)。在框1716,电子设备821通过网络传输所产生的比特流和/或将所产生的比特流存储在存储设备中。图18示出了可以在使用图17所述的配置的示例中使用的编码表。将上下文模型选择表1810用于Pos_X,同时将上下文模式选择表1811用于Pos_Y。在表1810和1811所述的示例中,预设阈值是8。在图18的示例中,存在21个上下文模型,而不是30个上下文模型(将15个上下文模型用于Pos_X,将6个上下文模型用于Pos_Y)。图19是示出了在电子设备上用于最后位置编码的共享上下文建模的方法的另一配置的流程图。在框1911,电子设备821获得经变换和量化的系数(TQC)的块。在框1912中,电子设备821使用所获得的块产生语法元素的序列。在菱形1913中,电子设备821确定块宽度和块高度是否相等。如果在菱形1913中块宽度和块高度不相等,则在框1914中,电子设备821基于上下文模型的第一子集来编码二值化的水平最后位置(Pos_X),并基于上下文模型的第二子集来编码二值化的垂直最后位置(Pos_Y),所述上下文模型的第二子集不同于上下文模型的第一子集。如果在菱形1913中块宽度和块高度相等,则在框1915中,电子设备821基于上下文模型的第一子集来编码二值化的水平最后位置,并基于上下文模型的第一子集来编码二值化的垂直最后位置。在一个示例中,如果基于上下文模型的第一子集来编码二值化的垂直最后位置,则电子设备821可以将共享上下文模型模式指示符(例如,共享上下文模型模式标志)设置为值1(当然可以包括根据设计偏好,改变共享上下文模型模式标志的缺省值,或将共享上下文模型模式标志保留为缺省值)。在框1916,电子设备821通过网络传输所产生的比特流和/或将所产生的比特流存储在存储设备中。图20示出了可以在使用图19所述的配置的示例中使用的编码表。将上下文模型选择表2010用于当块宽度和块高度相等时的Pos_X,同时将上下文模型选择表2011用于当块宽度和块高度相等时的Pos_Y。在一个示例中,当块宽度和块高度不等时,可以使用上下文模式选择表1610和1611(图16)。图21是示出了在解码侧电子设备上用于最后位置编码的共享上下文建模的方法的一个配置的流程图。在框2110,电子设备822获得比特流。在框2111,电子设备822从所获得的比特流获得码字。在菱形2112中,电子设备822确定是否满足与块尺寸相关联的预设条件。在一个示例中,所述确定可以包括:检查与接收到的比特流相对应的首部(例如,片首部)。所述检查首部还可以包括:检查与所获得的比特流相对应的片首部,以得到共享上下文模型模式指示符的值。如果在菱形2112中不满足该预设条件,则在框2113中,电子设备822基于上下文模型的第一子集恢复水平最后位置值,并基于上下文模型的第二子集恢复垂直最后位置值,其中所述上下文模型的第二子集不同于上下文模型的第一子集。如果在菱形2112中满足该预设条件,则在框2114中,电子设备822基于上下文模型的第一子集恢复水平最后位置值,并基于上下文模型的第一子集恢复垂直最后位置值。在框2115中,电子设备822可以将所获得的TQC的块存储在存储设备中,和/或可以恢复视频数据。上述系统和装置可以使用专用处理器系统、微控制器、可编程逻辑器件、微处理器、或这些设备的任意组合,来执行本文所述操作中的一些或所有操作。上述操作中的一部分可以用软件实现,其它操作可以用硬件实现。可以通过基本与本文参考附图所述的装置、设备和/或系统相似的装置、设备和/或系统来执行本文所述的一个或多个操作、处理和/或方法。处理设备可以执行存储在存储器中的多个指令或“代码”。所述存储器还可以存储数据。处理设备可以包括但不限于:模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。处理设备可以是集成控制系统或系统管理器的一部分,或可以将其提供为便携式电子设备,该便携式电子设备被配置为通过无线传输与联网系统本地地或远程地进行交互。处理器存储器可以与处理设备集成在一起,例如,部署于集成电路微处理器中的RAM或FLASH存储器等。在其它示例中,存储器可以包括单独的设备,例如,外部盘驱动、存储阵列、便携式闪存钥匙链等。存储器和处理设备可以可操作地耦接在一起,或例如通过I/O端口、网络连接等彼此通信,处理设备可以读取存储在存储器上的文件。关联存储器可以是通过许可设置而设计为“只读”的(ROM),或不是“只读”的。存储器的其它示例可以包括但不限于:WORM、EPROM、EEPROM、FLASH等,可以将其实现在固态半导体设备中。其它存储器可以包括运动部件,例如,传统的旋转盘驱动。所有的这种存储器可以是“机器可读的”,并可由处理设备读取。可以操作指令或命令实现为或表现为有形形式的被存储计算机软件(也称作“计算机程序”或“代码”)。程序或代码可以被存储在数字存储器中,并可以由处理设备进行读取。“计算机可读存储介质”(或备选地,“机器可读存储介质”)可以包括所有的上述形式的存储器以及将来的新技术,只要存储器能够至少临时存储具有计算机程序或其它数据性质的数字信息,且只要可以通过适当的处理设备“读取”所存储的信息即可。术语“计算机可读”可以不限于对“计算机”的历史使用,以隐含完整的主机、迷你计算机、台式机或甚至膝上型计算机。相反,“计算机可读”可以包括可以由处理器、处理设备或任何计算系统可读的存储介质。这种介质可以是能够通过计算机或处理器进行本地和/或远程访问的任何可用介质,并且可以包括易失性的和非易失性的介质、可移除的和不可移除的介质、或所述介质的任意组合。存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,可以将存储介质用作存储或传送计算机程序的便捷装置。为了方便,可以将操作描述为多种互连或相耦接的功能框或图。然而,可能存在将这些功能框或图等同地聚合为单个逻辑设备、程序或操作而没有明确边界的情况。本领域技术人员应认识到,可以以多种其它方式调整本文传授的构思以便适应具体应用。具体地,本领技术人员应认识到,所述示例仅是多个备选实现方案之一,在阅读本公开时所述多个备选实现方案将变得显而易见。尽管说明书在一些位置中引述了“一”“一个”“另一个”或“一些”示例,然而这并不意味着每个这种引用属于同一示例,或该特征仅适用于单个示例。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1