概率区间分割编码器和译码器的制作方法

文档序号:7515613阅读:254来源:国知局
专利名称:概率区间分割编码器和译码器的制作方法
技术领域
本发明涉及熵编码并可用于诸如视频压缩和音频压缩的应用。本发明描述了一种用于离散数据的熵编码和解码的新方法和装置。通常,熵编码可视为无损耗数据压缩的最通用的形式。无损耗压缩旨在以比原始数据表示所需更少的位表示离散数据而没有任何的信息损耗。离散式数据可以文本、图形、图像、视频、音频、语音、传真、医疗数据、气象数据、经济数据、或任何其它数字数据形式给出。
背景技术
在熵编码中,潜在离散数据源(underlying discrete data source)的特定高阶特性通常被忽略。结果,任何数据源都被视为给定为源符号序列,其具有于给定m元字母表的值,并且由对应的(离散的)概率分布(P1,…,Pj来表征。在这些概要的设定值中,就每个符号的期望的代码字长度(以位为单位)而言,任何熵编码方法的下限由熵给定
权利要求
1.一种用来对符号序列进行编码的编码器,包含 分配器,被配置为基于所述符号序列的先前符号内所包含的信息将多个参数分配给所述符号序列的每个符号; 多个熵编码器,所述多个熵编码器的每个被配置为将转发至各个熵编码器的符号转换为各位串流;以及 选择器,被配置为将每个符号转发至所述多个熵编码器中所选择的一个熵编码器,所述选择取决于分配给各个符号的参数数目。
2.根据权利要求1所述的编码器,其中,所述分配器被配置为使得分配给每个符号的参数数目包含或为所述各个符号可取得的可能值中的概率分布的估计值的测量值。
3.根据权利要求2所述的编码器,其中,所述符号序列为二元字母表,且所述分配器被配置为使得所述概率分布的估计值由较低概率或较高概率仓值的概率估计值的测量值和指定两个可能仓值中哪一个表示表示较低概率仓值或较高概率仓值的估计值的识别符组成。
4.根据权利要求2或3所述的编码器,其中,所述分配器被配置为基于所述符号序列的先前符号内所包含的信息而将上下文分配给所述符号序列的每个符号,每个上下文具有与其相关联的各概率分布估计值,并且所述分配器被配置为基于各上下文被分配至的先前符号的符号值而将每个上下文的概率分布估计值调适至实际符号统计值,且所述分配器被配置为基于与分配给各符号的上下文相关联的概率分布估计值来确定对于每个符号的所述概率分布估计值的测量值。
5.根据权利要求4所 述的编码器,其中,所述分配器被配置为在确定每个符号的所述概率分布估计值的测量值中,将与分配给所述各个符号的所述上下文相关联的概率分布估计值量化为多个概率分布估计值表示中的一个,以获得所述概率分布估计值的测量值,以及其中,所述选择器被配置为使得在所述多个熵编码器与所述多个概率分布估计值表示之间定义双射关联性。
6.根据权利要求5所述的编码器,其中,所述选择器被配置为随着时间根据所述符号序列的先前符号以预定的确定性方式改变从一定范围的所述概率分布估计值至所述多个概率分布估计值表示的量化映射。
7.根据权利要求6所述的编码器,其中,所述多个熵编码器被配置为调适其响应于量化映射的改变而将符号转换为位串流的方式。
8.根据权利要求5或6所述的编码器,其中,所述选择器被配置为改变所述量化映射使得所述熵编码器将符号转换而成的位串流的位率为较少分散。
9.根据前述任一项权利要求所述的编码器,其中,所述多个熵编码器的至少一个具有与其相关联的符号输入缓冲器,其中,所述选择器被配置为经由所述相关联的符号输入缓冲器将所述符号转发至所述至少一个熵编码器。
10.根据前述任一项权利要求所述的编码器,其中,至少一个熵编码器为被配置为将符号序列映射至代码字的可变长度编码器。
11.根据前述任一项权利要求所述的编码器,其中,所述多个熵编码器的每一个为被配置为将可变长度的符号序列映射为固定长度代码字的可变长度编码器。
12.根据权利要求11所述的编码器,进一步包含代码字缓冲器,其中,所述代码字缓冲器被配置为对于来自所述多个熵编码器的所述代码字按顺序保留代码字条目序列,所述顺序取决于其中被所述选择器转发至所述多个熵编码器的所述符号序列的所述符号导致在各个熵编码器处新符号序列的起点将被映射至代码字的顺序,以及所述代码字缓冲器被配置为以所述顺序移出插入所述代码字条目中的代码字以从所述多个位串流获得交插代码字的单一串流,其中,每个熵编码器被配置为顺序地将其代码字插入对于所述各个熵编码器所保留的代码字条目。
13.根据权利要求12所述的编码器,其中,所述多个熵编码器和所述代码字缓冲器被配置为通过具有当前已转发的但尚未映射的符号作为前缀的随意符号将当前已转发的但尚未映射的符号间歇地扩展至有效符号序列,将如此经扩展的符号序列映射至代码字,将如此所得的代码字插入保留的代码字条目并刷新所述代码字条目。
14.根据权利要求12所述的编码器,其中,所述多个熵编码器和所述代码字缓冲器被配置为在保留的代码字条目的数目加上具有插入在其中的代码字的代码字条目的数目满足预定标准的情况下,执行间歇地扩展、插入和刷新。
15.根据前述任一项权利要求所述的编码器,其中,至少所述熵编码器的第一子集为可变长度编码器,所述可变长度编码器被配置为分别将可变长度符号序列映射至可变长度代码字,所述第一子集的每一个熵编码器使用双射映射规则,根据所述规则,具有(2n-l) ^ 3个代码字的一次不含前缀码的代码字被映射至与一次不含前缀码相同的二次不含前缀码的代码字,使得除了所述一次不含前缀码的代码字中的两个以外的全部都被映射至所述二次不含前缀码的相同代码字,而所述一次和二次不含前缀码的所述两个代码字具有不同长度并以互换的方式彼此映射,其中,所述熵编码器使用不同的η。
16.根据权利要求15所述的编码器,其中,所述第一不含前缀码被构造为使得所述第一不含前缀码的代码字为(a, b) 2、(a, a, b) 3、…、(a,…,a, b) n、(a,…,a) n、(b, a) 2、(b, b, a) 3、…、(b,…,b, a)n_!> (b,…,b)^及以所述互换方式彼此映射的所述两个代码字为(a,…,a) 及(13,…,b) Jri,其中,b 关 a 及 a, b e {O, 1}。`
17.根据权利要求1至16任一项所述的编码器,其中,熵编码器的第一子集的每个被配置为在将转发至所述各个熵编码器的所述符号转换为各位串流时,检查转发至所述各个熵编码器的第一符号以确定是否 所述第一符号等于a e {O, 1},在这种情况下,所述各个熵编码器被配置为检查转发至所述各个熵编码器的后续符号以确定是否 为b#a及b e {0,1}的b出现在跟随在所述第一符号之后的接下来的n-Ι个符号中,在这种情况下,所述各个熵编码器被配置为将代码字写入各位串流,其等于第一符号接着为转发至所述各个熵编码器的后续符号,直至符号b ; 并无b出现在跟随在第一符号之后的接下来的n-Ι个符号中,在这种情况下,所述各个熵编码器被配置为将代码字写入所述各位串流,其等于(b,…Ulri ; 第一符号等于b,在这种情况下,所述各个熵编码器被配置为检查转发至所述各个熵编码器的后续符号以确定是否 a出现在跟随在所述第一符号之后的接下来的n-2个符号中,在这种情况下,所述各个熵编码器被配置为将代码字写入所述各位串流,其等于第一符号接着为转发至所述各个熵编码器的后续符号直至符号a ;并无a出现在跟随在第一符号之后的接下来的n-2个符号中,在这种情况下,所述各个熵编码器被配置为将代码字写入所述各位串流,其等于(a,…,a) n。
18.根据权利要求1至17任一项所述的编码器,其中,至少所述熵编码器的第二子集为可变长度编码器,所述可变长度编码器被配置为将可变长度符号序列分别映射至固定长度代码字,所述第二子集的每个熵编码器使用双射映射规则,根据所述规则,具有属于类型{ (a) , (ba) , (bba),…,(b...ba) , (bb…b) }而 b 古 a 及 a, b e {O, 1}的 2n+l 个代码字的一次截头一元码的代码字被映射至二次不含前缀码的代码字,使得所述一次截头一元码的代码字(bb-b)被映射至所述二次不含前缀码的代码字(C),而所述一次截头一元码的全部其它代码 字{ (a), (ba) , (bba),…,(b…ba) }被映射至具有(d)而c关(!及c,d e {0,1}作为前缀而η-位字作为后缀的代码字,其中,所述熵编码器使用不同的η。
19.根据权利要求18所述的编码器,其中,熵编码器的所述第二子集每个被配置为使得η-位字为在所述一次截头一元码的所述各代码字中b数目的η-位表示。
20.根据权利要求1至19任一项所述的编码器,其中,熵编码器的第二子集的每个被配置为在将转发至所述各个熵编码器的所述符号转换为各位串流时,对转发至所述各个熵编码器的符号序列中的b的数目进行计数,直至出现a,或直至转发至所述各个熵编码器的符号序列的数目达到2n,其中,所述序列的全部2n个符号皆为b,及 如果b的数目等于2n,则将具有c e {O, 1}的c作为二次不含前缀码的代码字写至所述各位串流,及 如果b的数目小于2n,则将所述二次不含前缀码的代码字写至所述各位串流,其具有(d)而c古d及d e {O, 1}作为前缀以及根据b的数目确定的η-位字作为后缀。
21.根据权利要求1至20任一项所述的编码器,其中,所述熵编码器中的一个预定熵编码器为可变长度编码器,所述可变长度编码器被配置为将固定长度符号序列分别地映射至可变长度代码字,所述预定熵编码器使用双射映射规则,根据所述规则,一次代码的长度3的23个代码字被映射至二次不含前缀码的代码字,使得具有a e {0,1}的一次代码的代码字(aaa)3被映射至具有c e {O, 1}的代码字(c),具有恰一个b而b关a及b e {O, 1}的一次代码的全部三个代码字被映射至具有(d)而c古d及d e {O, 1}作为前缀及第一 2-位字集合中的各第一 2-位字作为后缀的代码字,具有恰一个a的一次代码的全部三个代码字被映射至具有(d)作为前缀及不是所述第一集合的元素的第一 2-位字与第二 2-位字集合中的一个第二 2-位字的级联作为后缀的代码字,及其中,代码字(bbb) 3被映射至具有(d)作为前缀及不是所述第一集合的元素的第一 2-位字与不是所述第二集合的元素的第二 2-位字的级联作为后缀的代码字。
22.根据权利要求21所述的编码器,其中,所述具有恰一个b的一次代码的代码字的第一 2-位字为所述一次代码的各代码字中的b位置的2-位表示,及所述具有恰一个a的一次代码的代码字的第二 2-位字为所述一次代码的各代码字中的a位置的2-位表示。
23.根据权利要求1至22任一项所述的编码器,其中,所述熵编码器中的一个预定熵编码器被配置为在将转发至所述预定熵编码器的所述符号转换为各位串流时,以三元字节检查至所述预定熵编码器的所述符号以确定是否 所述三元字节由多个a组成,在这种情况下,所述预定熵编码器被配置为将代码字(C)写至所述各位串流;所述三元字节恰包含一个b,在这种情况下,所述预定熵编码器被配置为将具有(d)作为前缀及在所述三元字节中b的位置的2-位表示作为后缀的代码字写至所述各位串流; 所述三元字节恰包含一个a,在这种情况下,所述预定熵编码器被配置为将具有(d)作为前缀及不是所述第一集合的元素的所述第一 2-位字与在所述三元字节中a的位置的2-位表示的级联作为后缀的代码字写至所述各位串流;或 所述三元字节由多个b所组成,在这种情况下,所述预定熵编码器被配置为将具有(d)作为前缀及不是所述第一集合的元素的所述第一 2-位字与不是所述第二集合的元素的所述第一 2-位字的级联作为后缀的代码字写至所述各位串流。
24.一种用于对符号序列进行编码的方法,包含 基于包含在符号序列的先前符号内的信息将多个参数分配给所述符号序列的每个符号;及 将每个符号转发至多个熵编码器中的所选择的一个熵编码器,所述选择取决于分配给所述每个符号的参数数目,及所述多个熵编码器的每个被配置为将转发至各个熵编码器的符号转换为各位串流。
25.一种用来重建符号序列的解码器,包含: 多个熵解码器,每个熵解码器被配置为将各位串流转换为符号; 分配器,被配置为基于符号序列的先前已重建的符号内所含信息,将多个参数分配给将被重建的符号序列的每个符号;及 选择器,被配置为从所述多个熵解码器中的所选择的一个熵解码器恢复将被重建的所述符号序列的每个符号,所述选择`取决于对所述各符号所定义的参数数目。
26.根据权利要求25所述的解码器,其中,所述分配器被配置为使得分配给每个符号的参数数目包含或为所述各个符号可取得的可能符号值中的概率分布的估计值的测量值。
27.根据权利要求26所述的解码器,其中,所述将重建的符号序列为二元字母表,及所述分配器被配置为使得所述概率分布的估计值由所述二元字母表的两个可能仓值的较低概率或较高概率仓值的概率估计值的测量值和指定两个可能仓值中哪一个表示表示较低概率仓值或较高概率仓值的估计值的识别符组成。
28.根据权利要求26或27所述的解码器,其中,所述分配器被配置为基于将被重建的符号序列的先前已重建的符号内所包含的信息来内部地将上下文分配给将被重建的所述符号序列的每个符号,每个上下文具有与其相关联的各概率分布估计值,及所述分配器被配置为基于所述各上下文被分配至的先前已重建的符号的符号值来将每个上下文的概率分布估计值调适至实际符号统计值,及所述分配器被配置为基于与分配给所述各符号的上下文相关联的所述概率分布估计值来确定对于每个符号的所述概率分布估计值的所述测量值。
29.根据权利要求28所述的解码器,其中,所述分配器被配置为在确定对于每个符号的所述概率分布估计值的测量值时,将与分配给所述各个符号的上下文相关联的所述概率分布估计值量化为多个概率分布估计值表示中的一个,以获得所述概率分布估计值的测量值,以及其中,所述选择器被配置为使得在所述多个熵编码器与所述多个概率分布估计值表示之间定义双射关联性。
30.根据权利要求39所述的解码器,其中,所述选择器被配置为随着时间根据所述符号序列的先前重建的符号以预定的确定性方式改变从一定范围的所述概率分布估计值至所述多个概率分布估计值表示的量化映射。
31.根据权利要求30所述的解码器,其中,所述多个熵解码器被配置为调适它们的响应于所述量化映射的改变而将符号转换为位串流的方式。
32.根据权利要求30或31所述的解码器,其中,所述选择器被配置为改变所述量化映射使得从所述多个熵解码器恢复所述符号的速率为较少分散。
33.根据权利要求25至32任一项所述的解码器,其中,至少一个熵解码器具有与其相关联的符号输出缓冲器,其中,所述选择器被配置为经由所述相关联的符号输出缓冲器从所述至少一个熵解码器恢复所述符号。
34.根据权利要求25至33任一项所述的解码器,其中,所述至少一个熵解码器为被配置为将代码字映射至符号序列的可变长度解码器。
35.根据权利要求25至34任一项所述的解码器,其中,所述多个熵解码器中的每个为被配置为将固定长度代码字映射至可变长度符号序列的可变长度解码器。
36.根据权利要求35所述的解码器,进一步包括用来接收交插代码的单一串流的代码字条目,其中,所述多个熵解码器被配置为按顺序从所述代码字条目恢复所述代码字,所述顺序取决于其中作为被所述选择器从所述多个熵解码器中恢复的将被重建的符号序列的符号从在所述各个熵解码器处的新代码字导致新的将被映射的符号序列的顺序。
37.根据权利要求36所述的解码器,其中,所述多个熵解码器和所述选择器被配置为间歇地舍弃符号序列的后缀,从而不参与形成将被重建的该符号序列。
38.根据权利要求37所述的解码器,其中,所述多个熵解码器和所述选择器被配置为在各个熵解码器的从代码字条目的两次连续的代码字恢复之间的已经通过所述多个熵解码器从所述子条目恢复的代码子的数量满足预定标准的情况下,执行所述间歇地舍弃。
39.根据权利要求36至38任一项所述的解码器,进一步包含在代码字条目处的代码字缓冲器,被配置为剖析所述交插代码字,并在请求从该所述解码器进行恢复时,以代码字为单位,将所述交插代码字分配给所述熵解码器。
40.根据权利要求25至39任一项所述的解码器,其中,至少所述熵解码器的第一子集为可变长度解码器,所述可变长度解码器被配置为分别将可变长度代码字映射至可变长度符号序列,所述第一子集的每个熵解码器使用双射映射规则,根据所述规则,具有(2n-l)^3个代码字的一次不含前缀码的代码字被映射至与所述一次前缀码相同的二次不含前缀码的代码字,从而使得除了所述一次不含前缀码的代码字的两个之外的全部都被映射至所述二次不含前缀码的相同代码字,而同时所述一次和二次不含前缀码的两个代码字具有不同的长度并以互换方式彼此映射,其中,所述等熵编码器使用不同的η。
41.根据权利要求40所述的解码器,其中,所述第一不含前缀码被构造为使得所述第一不含前缀码的代码字为(a, b)2、(a, a, b)3、…、(a,...,a, b)n、(a,...,a)n、(b, a)2、(b, b, a)3>…、(b,…,b, a) (b,…,b) 及以互换方式彼此映射的所述两个代码字为(a,…,a)η及(b,…,b) Jri,而 b 关 a 及 a, b e {0,1}。
42.根据权利要求25至41任一项所述的解码器,其中,熵编码器的第一子集的每一个为可变长度解码器,所述可变长度解码器被配置为将可变长度代码字映射至可变长度符号序列,并被配置为在将所述各个位串流转换为所述符号时检查各个位串流的第一位来确定是否 所述第一位等于a e {O, 1},在这种情况下,所述各个熵编码器被配置为检查所述各个位串流的后续位来确定是否 具有b# a及be {O, 1}的b出现在跟随在所述第一位之后的接下莱的n-ι位中,在这种情况下,所述各个熵解码器被配置为重建符号序列,其等于所述第一位接着为所述各个位串流的后续位直至位b ; 并无b出现在跟随在所述第一位之后的接下来的n-Ι位中,在这种情况下,所述各个熵解码器被配置为重建符号序列,其等于(b,…Mlri ; 所述第一位等于b,在这种情况下,所述各个熵解码器被配置为检查所述各个位串流的后续位以确定是否 a出现在跟随在所述第一位之后的接下来的n-2位中,在这种情况下,所述各个熵解码器被配置为重建符号序列,其等于所述第一位接着为所述各个位串流的后续位直至符号a ; 并无a出现在跟随在所述第一位之后的接下来的n-2位中,在这种情况下,所述各个熵解码器被配置为重建符号序列,其等于(a,…,a) n。
43.根据权利要求35至42任一项所述的解码器,其中,至少所述熵解码器的第二子集为可变长度解码器,所述可变长度解码器被配置为将固定长度代码字分别地映射至可变长度符号序列,所述第二子集的每个熵解码器使用双射映射规则,根据所述规则,二次不含前缀码的代码字被映射至具有属于类型{ (a), (ba), (bba),..., (b…ba), (blvb)}而b古a及a,be {0,1}的2n+l个代码字的一次截头一元码的代码字,从而使得所述二次不含前缀码的代码字(C)被映射至所述一次截头一元码的代码字(bb" b),及具有(d)而c古d及c,d e {O, 1}作为前缀而η-位字作为后缀的代码字被映射至所述一次截头一元码的其它代码字{ (a), (ba), (bba),…ba)}中的每一个,其中,所述熵解码器使用不同的η。
44.根据权利要求43所述的解码器,其中,熵解码器的所述第二子集的每个被配置为使得η-位字为所述一次截头一元码的所述各个代码字中的b数目的η-位表示。
45.根据权利要求25至44任一项所述的解码器,其中,熵解码器的第二子集的每个为可变长度解码器,所述可变长度解码器被配置为将固定长度代码字分别地映射至可变长度符号序列,并被配置为在将所述各个熵解码器的位串流转换为所述符号时,检查所述各个位串流的第一位以确定是否 同样等于c而c e {0,1},在这种情况下,所述各个熵解码器被配置为重建等于(bb...e {O, 1}的符号序列; 同样等于d而c古d及c,d e {0,1},在这种情况下,所述各个熵解码器被配置为从跟随在所述第一位之后的所述各个位串流的η个另外的位确定η-位字,并从其重建符号序列,其类型为{ (a) , (ba) , (bba),…,(b …ba) , (bb …b) }而 b 古 a及 b e {0,1},而b的数目取决于所述η-位字。
46.根据权利要求25至45任一项所述的解码器,其中,所述熵解码器中的一个预定熵解码器为被配置为将可变长度代码字分别地映射至固定长度符号序列的可变长度解码器,所述预定熵解码器使用双射映射规则,根据所述规则,二次不含前缀码的代码字被映射至一次代码的长度3的23代码字,使得具有c e {0,1}的代码字(c)被映射至一次代码的代码字(aaa)3,而ae {O, 1},具有(d)而c关d及d e {O, 1}作为前缀及三个2_位字的第一集合中的各个第一 2-位字作为后缀的代码字被映射至具有恰一个b而b古a及b e {O,1}的一次代码的全部三个代码字,具有(d)作为前缀及不是所述第一集合的元素的第一 2-位字与三个2-位字的第二集合中的第二 2-位字的级联作为后缀的代码字被映射至具有恰一个a的一次代码的全部三个代码字,及具有(d)作为前缀及不是所述第一集合的元素的所述第一 2-位字与不是所述第二集合的元素的第二 2-位字的级联作为后缀的代码字被映射至所述代码字(bbb) 3。
47.根据权利要求46所述的解码器,其中,所述具有恰一个b的一次代码的代码字的第一 2-位字为所述一次代码的各个代码字中的b位置的2-位表示,及所述具有恰一个a的一次代码的代码字的第二 2-位字为所述一次代码的各个代码字中的a位置的2-位表示。
48.根据权利要求25至47任一项所述的解码器,其中,所述熵解码器的一个预定预定熵解码器为可变长度解码器,所述可变长度解码器被配置为将可变长度代码字分别地映射至各有三符号的符号序列,并被配置为在将所述各个熵解码器的所述位串流转换为所述符号时,检查所述各个位串流的第一位以确定是否 所述各个位串流的所述第一位等于c而c e {O,1},在这种情况下,所述预定熵解码器被配置为等于(aaa) 3而& e {O, 1}的重建符号序列,或 所述各个位串流的第一位等于d而c#d及de {O, 1},在这种情况下,所述预定熵解码器被配置为从跟随在所述第一位之后的所述各个位串流的2个另外的位来确定第一 2-位字,并检查所述第一 2-位字来确定是否 所述第一 2-位字不是三个2-位字的第一集合的元素,在这种情况下,所述预定熵解码器被配置为重建具有恰一个b而 b古a及b e {O,1}的符号序列,b在所述各个符号序列中的位置取决于所述第一 2-位字,或 所述第一 2-位字为所述第一集合的元素,在这种情况下,所述预定熵解码器被配置为从跟随从中所述第一 2-位字已经被确定的所述两个位的所述各个位串流的2个另外的位来确定第二 2-位字,并检查所述第二 2-位字以确定是否 所述第二 2-位字不是三个2-位字的第二集合的元素,在这种情况下,所述预定熵解码器被配置为重建具有恰一个a的符号序列,而a在所述各个符号序列中的位置取决于所述第二 2-位字,或 所述第二 2-位字为三个2-位字的第二集合的元素,在这种情况下,所述预定熵解码器被配置为重建等于(bbb) 3的符号序列。
49.根据权利要求25至41任一项所述的解码器,其中,所述熵解码器的至少一个子集的每个为二元算术解码引擎,所述二元算术解码引擎具有由当前区间宽度R和在所述当前区间宽度R内的值V定义的内部状态,所述二元算术解码引擎被配置为在将所述各个位串流转换为所述符号时, 使用K个区间[DpDiJ)而 =0...Κ-1,将所述当前区间宽度R映射至量化指从而使得R落入区间[Dq imfa,Dq imfa+1); 通过使用表Rtab及作为进入所述表Rtab的指数的量化指数q_index,来执行区间细分,从而获得对应于LPS的部分区间宽度Ruis=Rtab [q_index],Rtab [i]为对于i=0...K_l的2的幂,其中,对应于MPS的部分区间宽度Rmps为R-Rujs ;检查是否Rmps ( V,并且如果Rmps ( V,将当前符号重建为等于LPS,并将V更新为V-Rmps,将R更新为R >s,如果不是Rmps ( V,则将所述当前符号及Nmps-1个后续符号重建为等于具有Nmps= (R-max {V+l, Dtunder-RLpiJ) /Rlps 的 MPS,并将 R 更新为 R-Nmps.Rlps ;及 使用所述各个位串流重新标准化R并更新V。
50.根据权利要求49所述的解码器,其中,所述熵解码器的所述子集的每个的所述二元算术解码引擎被配置为在重新标准化R并更新V时, 检查是否R〈Rmin而Rmin=Dtl,并且如果R〈Rmin,则使用最小y将R增加至R.2y,从而使的R变得等于或大于Rmin,并通过将V朝左移位y位位置而更新V,并根据排成一列的所述各个位串流接下来的I位而设定V的y最低有效位。
51.根据权利要求49或50所述的解码器,其中,所述熵解码器的所述子集包含均具有不同表Rtab的多个熵解码器。
52.根据权利要求51所述的解码器,其中,选择用于所述多个解码器的Rtab[i],从而使得对于每个熵解码器,存在一对Plps及一向量{Q(|,...,Qk-J而Qi e [Di, Di+1)从而使得对于i=0...K,0.99.pLPS.Q^RtabtiKl.01.Plps.Qi,在所述多个熵解码器中Plps.为彼此相异的。
53.根据权利要求第51或52所述的解码器,其中,在所述多个熵解码器中K为彼此相异的。
54.根据权利要求51至53任一项所述的解码器,其中,在所述多个熵解码器中,对于至少一个K=I或Qi=Qtl而i=l...K,其中,熵解码器的所述二元算术解码引擎被配置为在将所述各个位串流转换成符号时,通过设定Rujs=Qci而执行区间细分; 检查是否Rmps ( V,并且如果Rm`ps ( V,将当前符号重建为等于LPSJf V更新为V-Rmps,并将R更新为Rujs,以及如果不是Rmps ( V,则将所述当前符号及Nmps-1个后续符号重建为等于 MPS,Nmps= (R-max {V+l, Rmin-RLPS}) /Rlps,并将 R 更新为 R - Nmps.Rlps ;及 使用所述各个位串流重新标准化R并更新V。
55.根据权利要求49至54任一项所述的解码器,其中,所述熵解码器的所述子集的每个的所述二元算术解码引擎被配置为通过将项(R-max IV-^Dtundex-RuJ)的结果朝右移位1g2 (Rlps)位而计算 Nmps。
56.根据权利要求25至41任一项所述的解码器,其中,所述熵解码器的至少一子集的每个为二元算术解码引擎,所述二元算术解码引擎具有由当前区间宽度R和在所述当前区间宽度R内的值V定义的内部状态,所述二元算术解码引擎被配置为在将所述各个位串流转换成所述符号时, 通过将对应于LPS的部分区间宽度Rujs设定为等于Qtl而执行区间细分,其中,对应于MPS的部分区间宽度Rmps为R-Rujs ; 检查是否Rmps ( V,以及如果Rmps ( V,将当前符号重建为等于LPSJf V更新为V-Rmps,并将R更新为Rujs,如果不是Rmps ( V,则将所述当前符号和Nmps-1个后续符号重建为等于MPS, Nmps= (R-max {V+l, Dtunder-RLpfJ) /Rlps,并将 R 更新为 R _ Nmps.Rlps ;及 使用所述各个位串流重新标准化R并更新V。
57.一种用于对符号序列进行解码的装置,所述符号序列顺序地表示有效位映射的语法元素并且然后对于包含变换系数的(视频)图像块不等于零,变换系数值不等于零的符号表示,其中,所述有效位映射的语法元素对于所述变换系数的位置以扫描顺序指定在各个位置处变换系数是否不等于零,及变换系数不等于零的值的符号表示以反向扫描顺序-始于最后一个不等于零的变换系数,通过符号序列表示,所述装置被配置为使用根据权利要求25至56任一项所述的解码器而重建所述符号序列。
58.一种用于对熵编码信息符号进行熵解码的装置,所述熵编码信息符号通过基于符号的概率信息对所述序列符号中的符号进行熵编码而产生,所述符号为符号集合的一部分,其中,所述符号的所述概率信息基于所述符号的上下文而获得,所述上下文包括一个或多个稍早处理的上下文符号,及其中,对于对起始符号进行熵编码,使用初始化概率信息,所述初始化概率信息基于与起始符号相关的符号统计的估计值并被确定为使得初始化概率分布不同于对于所述符号集合的所有符号的等概率分布,所述装置包括: 根据权利要求25至56任一项所述的用来重建所述符号序列的解码器,所述解码器被配置为获得在对信息符号序列进行熵编码时使用的概率信息,所述解码器包括用来获得在对所述起始符号进行熵编码时使用的所述初始化概率信息的初始化器。
59.根据权利要求28或29所述的解码器,其中,所述分配器被配置为在各个上下文所分配至的符号的初次出现之前,将对于每个上下文的概率分布估计值初始化为各个初始化概率分布估计值,在将被重建的符号序列内,所述初始化概率分布估计值基于与起始符号相关的符号统计值,并被确定为使得初始化概率分布不同于对于所述符号下方的符号集合的所有符号的等概率分布。
60.根据权利要求28或29所述的解码器,其中,所述将被重建的符号序列包括预定语法元素的符号表示的至少一个符号,所述将被重建的符号序列为属于视频信号的预编码版本的预编码视频信号,所述视频信号表示由图像样本所组成的至少一个视频帧,所述图像样本属于在不同时间瞬间被拍摄的第一字段或第二字段,所述视频帧空间上被划分成宏区块对区,每个宏区块对区与顶部宏区块和底部宏区块相关联,每个宏区块对区为第一分布类型或第二分布类型,其中,对于每个宏区块对区,在所述各个宏区块对区内的像素样本的每个根据所述各个宏区块对区的分布类型而被分配给所述各个宏区块对区的所述顶部宏区块和所述底部宏区块的各个,其中,所述预定语法元素与宏区块对区的预定宏区块对区的顶部宏区块和底部宏区块的预定宏区块相关联,其中,所述分配器被配置为 对于所述预定语法元素,至少基于所述预定宏区块对区为第一分布类型或第二分布类型来确定邻近宏区块; 基于所述邻近宏区块的预定属性,将至少两个上下文中的一个分配给所述预定语法元素的符号表示的至少一个符号,其中,每个上下文与不同概率分布估计值相关联;及 基于与分配给所述至少一个符号的上下文相关联的概率分布估计值,确定对于所述至少一个符号的概率分布估计值的测量值。
61.根据权利要求60所述的解码器,其中,所述分配器被配置为对于所述预定语法元素在确定邻近宏区块时, 至少基于所述预定宏区块对区是否为帧编码分布类型或字段编码分布类型,来确定在所述预定宏区块左侧的邻近宏区块,从而使得 如果所述预定宏区块对区为字段编码分布类型, 如果左侧的所述宏区块对区也为字段编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的宏区块对区的底部宏区块,及 如果左侧的所述宏区块对区为帧编码分布类型,或如果左侧的宏区块对区为字段编码分布类型而所述预定宏区块为所述预定宏区块对区的顶部宏区块,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的宏区块对区的顶部宏区块,及如果所述预定宏区块对区为帧编码分布类型, 如果左侧的所述宏区块对区也为帧编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的宏区块对区的底部宏区块,及 如果左侧的所述宏区块对区为字段编码分布类型,或如果左侧的所述宏区块对区为帧编码分布类型而所述预定宏区块为所述预定宏区块对区的所述顶部宏区块,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的宏区块对区的顶部宏区块,及 至少基于所述预定宏区块对区是否为帧编码分布类型或字段编码分布类型,在所述预定宏区块顶部的邻近宏区块使得 如果所述预定宏区块对区为帧编码分布类型,则在所述预定宏区块顶部的所述邻近宏区块被确定为 如果所述预定宏区块为所述预定宏区块对区的底部宏区块,则为所述预定宏区块对区的顶部宏区块,及 如果所述预定宏区块为所述预定宏区块对区的顶部宏区块,则为在所述预定宏区块对区顶部的宏区块对区的底部宏区块, 如果所述预定宏区块对区为字段编码分布类型且所述预定宏区块为所述预定宏区块对区的顶部宏区块,则在所述预定宏区块顶部的所述邻近宏区块被确定为 如果所述预定宏区块对区顶部的宏区块对区为帧编码分布类型,则为在所述预定宏区块对区顶部的所述宏区块对区的底部宏区块, 如果所述预定宏区块对区顶部的宏区块对区为字段编码分布类型,则为在所述预定宏区块对区顶部的所述宏区块对区的顶部宏区块, 如果所述预定宏区块对区为字段编码分布类型且所述预定宏区块为所述预定宏区块对区的底部宏区块,则在所述预定宏区块顶部的邻近宏区块被确定为在所述预定宏区块对区顶部的所述宏区块对区的底部宏区块; 基于在所述预定宏区块左侧的所述邻近宏区块及在所述预定宏区块顶部的所述邻近宏区块,将至少两个上下文模型中的一个分配给所述预定宏区块的所述预定语法元素。
62.根据权利要求60或61所述的解码器,其中,所述预定语法元素与所述宏区块对区的预定宏区块对区的顶部宏区块和底部宏区块的预定宏区块相关,且为指示用于所述预定宏区块的彩度信息的空间预测类型的彩度预测指标,以及其中,所述分配器被配置为在将所述至少两个上下文的所述一个进行分配时,基于以下执行所述分配 所述邻近宏区块的有效性,指示所述预定宏区块和所述邻近宏区块是否属于所述视频帧的同一片段或属于所述视频帧的不同片段, 所述邻近宏区块的宏区块类型指针,指定宏区块预测模式以及用于预测的所述邻近宏区块的分割, 所述邻近宏区块,被嵌入或内部编码在所述编码位串流中,及语法元素,对于所述邻近宏区块,所述语法元素指定用于所述邻近宏区块的彩度信息的空间预测类型。
63.根据权利要求60至62任一项所述的解码器,其中,所述第一字段和所述第二字段分别为所述视频帧的交替列的顶部字段和底部字段,及所述第一分布类型和所述第二分布类型分别为帧编码分布类型或字段编码分布类型,其中,所述各个宏区块对区中的每个像素样本根据所述各个宏区块对区的分布类型被分配给所述各个宏区块对区的所述顶部宏区块和所述底部宏区块中的各个,使得根据帧编码分布类型将位于所述各个宏区块对区上部的像素样本分配给所述顶部宏区块,而将位于所述各个宏区块对区下部的像素样本分配给所述底部宏区块,同时根据所述字段编码分布类型将所述各个宏区块对区中的属于顶部字段的像素样本分配给所述顶部宏区块,而将所述各个宏区块对区中的属于底部字段的像素样本被分配给所述底部宏区块,其中,所述宏区块的每个与所述语法元素中的各个相关联,所述预定语法元素与所述宏区块对区的预定宏区块对区的顶部宏区块和底部宏区块的预定宏区块相关联,其中,所述分配器被配置为在对于所述预定语法元素确定邻近宏区块时,基于所述预定宏区块对区是否为字段编码分布类型或帧编码分布类型,其左侧的宏区块对区是否为帧编码分布类型或字段编码分布类型,以及所述预定宏区块是否为所述预定宏区块对区的顶部宏区块或底部宏区块,来确定所述预定宏区块左侧的邻近宏区块,使得如果确定所述预定宏区块对区为字段编码分布类型,其左侧的所述宏区块对区也为字段编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则 所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的底部宏区块, 如果所述预定宏区块对区为字段编码分布类型,其左侧的所述宏区块对区为帧编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则` 如果预定子部分的左上样本的亮度位置的行数在所述预定宏区块的上半部分,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的顶部宏区块,及 如果所述预定子部分的左上样本的亮度位置的行数在所述预定宏区块的下半部分,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的宏区块对区的底部宏区块, 如果所述预定宏区块对区为字段编码分布类型,其左侧的所述宏区块对区也为字段编码分布类型,及所述预定宏区块为所述预定宏区块对区的顶部宏区块,则 所述预定宏区块左侧的邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的顶部宏区块, 如果所述预定宏区块对区为字段编码分布类型,其左侧的所述宏区块对区为帧编码分布类型,及所述预定宏区块为所述预定宏区块对区的顶部宏区块,则 如果所述预定子部分的左上样本的亮度位置的行数在所述预定宏区块的上半部分,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的顶部宏区块,及 如果所述预定子部分的左上样本的亮度位置的行数在所述预定宏区块的下半部分,则所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的底部宏区块, 如果所述预定宏区块对区为帧编码分布类型,其左侧的所述宏区块对区也为帧编码分布类型,及所述预定宏区块为所述预定宏区块对区的顶部宏区块,则 所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的顶部宏区块, 如果所述预定宏区块对区为帧编码分布类型,其左侧的所述宏区块对区为字段编码分布类型,及所述预定宏区块为所述预定宏区块对区的顶部宏区块,则 所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所示宏区块对区的顶部宏区块, 如果所述预定宏区块对区为帧编码分布类型,其左侧的所述宏区块对区也为帧编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则 所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的底部宏区块, 如果所述预定宏区块对区为帧编码分布类型,其左侧的所述宏区块对区为字段编码分布类型,及所述预定宏区块为所述预定宏区块对区的底部宏区块,则 所述预定宏区块左侧的所述邻近宏区块被确定为所述预定宏区块对区左侧的所述宏区块对区的顶部宏区块, 基于所述预定宏区块左侧的所述邻近宏区块的预定属性,将所述至少两个上下文模型中的一个分配给所述预定语法元素。
64.根据权利要求60至63任一项所述的解码器,其中 所述语法元素为跳位指针,对于所述各个宏区块,指定在对所述预编码视频信号进行解码时所述各个宏区块是否将被跳位; 所述语法元素为类型指针,指定宏区块预测模式及用于预测的所述各个宏区块的分割; 所述语法元素为样式指针,对于所述各个宏区块,指定所述各个宏区块的子部分中的哪一个能够包含非零变换系数而哪一个则不能; 所述语法元素为彩度预测指针,对于所述各个宏区块,指示用于所述各个宏区块的彩度信息的空间预测类型; 所述预定宏区块以该所述定宏区块所分割成的子部分或相应的分割所述子部分的更小的子单位为单位,从空间域变换至频域,及对于所述预定宏区块的预定子部分,所述预定语法元素指定所述预定子部分是否对应于包含至少一个非零变换系数的变换系数集合;对于所述各个宏区块的所述分割中的一个预定的分割,所述语法元素指定运动向量分量与所述运动向量分量的预测之间的差异;或 其中,所述预定语法元素与所述宏区块对区的预定宏区块对区的顶部宏区块和底部宏区块的预定宏区块相关联,且对于所述各个宏区块的分割中的一个预定的分割,指定用在所述预定宏区块的运动预测中的参考图像指数。
65.根据权利要求25至56任一项所述的解码器,其中,所述将被重建的符号序列的所述符号为仓且包含数据值的二元表示,所述数据值的二元表示具有一次前缀,其为所述数据值的最小值和预定截止值根据第一二进制化方案的二进制化,及如果所述数据值大于所述预定截止值,一次后缀附加至该一次前缀,所述一次后缀为所述数据值减去所述预定截止值之差根据第二二进制化方案的二进制化,其中,所述分配器和所述选择器被配置为使得 对于所述二元表示中的各仓, 如果所述仓为所述一次前缀的一部分,则所述分配器确定所述仓的参数且所述选择器基于此执行所述恢复和所述选择;及 如果所述代码字的仓为所述一次前缀的一部分,则所述选择器从被配置为根据静态位值概率估计值而对所述仓进行解码的所述解码器的解码阶段恢复所述仓, 从而获得所述数据值的二元表示。
66.根据权利要求25或56所述的解码器,其中,所述将被重建的符号序列包括预定语法元素的符号表示的至少一个符号,所述将被重建的符号序列为表示至少一个视频帧的预编码视频,所述语法元素与所述视频帧的预定部分相关联且指示所述视频帧的预定部分是否以第一方式或第二方式预编码成所述预编码视频信号,其中 所述分配器被配置为 调查邻近所述预定部分的所述视频帧的邻近部分是否以第一方式或第二方式预编码以获得二元值,及 基于所述二元值,将至少两 个上下文中的一个分配给所述预定语法元素的符号表示的至少一个符号,其中,每个上下文模型与不同的概率估计值相关联;及 基于与分配给所述至少一个符号的上下文相关联的概率分布估计值,确定对于所述至少一个符号的概率分布估计值的测量值。
67.根据权利要求19或20所述的解码器,其中,所述将被重建的符号序列包含变换数据单元或其子单元的符号表示中的至少一个符号,所述变换数据单元为变换系数中的预定变换系数的预编码版本,所述变换系数为与视频帧或图像的部分中的预定部分相对应的数据的变换结果,所述部分为与第一扫描样式相关联的第一类型的一部分,或为与第二扫描样式相关联的第二类型的一部分,其中,所述分配器被配置为 取决于所述预定部分是否为与所述第一或第二扫描样式相关联的类型的一部分,选择上下文模型的第一集合和第二集合中的一个,所述第一集合和第二集合彼此不同; 基于分配给所述预定变换系数的扫描位置,将上下文模型的第一集合和第二集合中的所选一个的一个上下文模型分配给所述变换数据单元或其子单元的所述符号表示中的至少一个符号,其中,每个上下文模型与不同的概率估计值相关联;及 基于与分配给所述至少一个符号的上下文相关联的概率分布估计值,确定对于所述至少一个符号的概率分布估计值的测量值。
68.一种用来重建符号序列的方法,包括: 基于包含在符号序列的先前重建的符号内的信息,将多个参数分配给将被重建的符号序列的每个符号;及 从多个熵解码器的所选择的一个熵解码器中恢复将被重建的符号序列的每个符号,所述选择取决于限定至各个符号的参数数目,及所述多个熵解码器的每个被配置为将各个位串流转换成符号。
69.一种计算机可读取数字存储介质,具有存储在其上的计算机程序,所述计算机程序具有用来在计算机上运行时执行根`据权利要求24或68的方法的程序代码。
全文摘要
本发明描述了一种用来对符号序列进行编码的编码器,包括分配器,被配置为基于符号序列的先前符号内所包含的信息而将多个参数分配给符号序列的每个符号;多个熵编码器,每个熵编码器被配置为将转发至各个熵编码器的符号转换为各个位串流;以及选择器,被配置为将每个符号转发至多个熵编码器中的所选择的一个,所述选择取决于分配给各个符号的参数数目。
文档编号H03M7/40GK103119849SQ201180029224
公开日2013年5月22日 申请日期2011年4月8日 优先权日2010年4月13日
发明者海科·施瓦茨, 德特勒夫·马佩, 托马斯·维甘徳, 海纳·基希霍弗尔, 阿纳斯塔西娅·亨克尔, 克里斯蒂安·巴特尼克, 米斯查·西克曼, 扬·斯蒂格曼 申请人:弗兰霍菲尔运输应用研究公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1