专利名称:算术编码和解码的方法
技术领域:
本发明涉及对例如代表图像信号的码元进行编码的领域。更具体地,本发明涉及一种对流中的码元进行算术编码的方法。本发明还涉及一种算术解码以流的形式编码的码元的方法。
背景技术:
为了将代表信号(例如,视频或音频信号)的码元变换成二进制码,本领域已知使用熵编码的方法。这样的熵编码方法将更短的二进制字与最频繁码元值(即,那些出现概率最高的)相关联,以便减少编码开销。作为一个示例,可以考虑采用具有概率1/4、1/2和 1/4的值{a,b,c}的码元S,如果码元S采用值‘b’(即,其出现概率最高),则熵编码方法将相关联例如长度为1的二进制码。VLC (变长编码)编码是熵编码方法的已知示例。根据该方法,为每个码元定义VLC 表。表与码元的每个可能值相关联,其与长度取决于所考虑的码元采用所述值的概率(即, 所述值的出现概率)的二进制码相关联。通过分析代表随后必须被编码的信号的大量信号来定义这些表。这个分析步骤离线进行并且将表传送到解码器一次,或者在编码标准中定义表,在该情形中在无需被传送的情况下它们对于解码器是已知的。算术编码是熵编码方法的另一个示例。根据这种方法,例如在代表图像的码元的情况下在图像开始或图像切片初始化码元采用一个值的概率。然后在图像切片的图像编码期间有规律地分别更新这些概率以便考虑到正在被编码的源信号的特征。上述编码方法的缺点之一在于码元采用一给定值的概率本质上与事先未知的源信号的特征有联系。图1和图2图示了这个缺点。这些图的每个中在χ轴上示出图像的编码处理的进度并且在y轴上示出码元采用值‘a’的概率。实线表示在编码图像期间实际概率P (S = a) 的进度。虚线表示对应的估计概率。在VLC情况下(图1),将估计概率视为贯穿图像恒定。 在AC情况下(图2),根据图像的编码更新估计概率。然而,该更新在获得实际概率之前假定汇聚时间(Td)。在前述两个示例中,估计概率根据在编码当前源信号之前进行的分析被先验 (priori)设置,并且因此可能与实际概率有距离(VLC情况),或者估计概率在编码当前信号期间有规律地更新以便更接近实际概率,但是由于延迟时间(AC情况)随着实际概率在编码处理期间波动所有估计概率更大。
发明内容
本发明的目的在于克服现有技术的至少一个缺点。本发明涉及用于编码流中的码元的算术方法,包括以下步骤-根据当前概率模型编码当前码元,以及-根据当前码元的编码更新当前概率模型。
所述方法在所述流中分布的切换点(switching points)处,还包括以下步骤-根据编码开销判据(criterion)在至少两个概率模型的集合中选择当前概率模型,以及-编码选择的概率模型的标识符。有利地,根据本发明的算术编码方法使得能够比标准VLC或AC类型方法更加快速地接近实际概率并且因此使得码元或多个码元能够更加高效地编码,即,以更低的编码开销。根据本发明的第二实施例,重复(reiterate)算术编码方法的步骤以便编码后续码元(succession of symblos)并且至少两个概率模型的集合包括第一概率模型,其从当前码元之前编码的码元定义,以及概率模型的子集,其包括至少默认定义的第二概率模型。根据第三实施例,所述算术编码方法包括在概率模型的子集中添加第一概率模型的步骤。根据本发明的一个特定方面,当概率模型的子集中的概率模型的数目等于阈值时,添加第一概率模型作为最不经常选择的概率模型的子集的概率模型的替代,而由默认定义的第二概率模型除外。根据本发明的一个变型,当概率模型的子集中的概率模型的数目等于阈值时,添加第一概率模型作为概率模型的子集的最老概率模型的替代,而由默认定义的第二概率模型除外。根据本发明的另一变型,当概率模型的子集中的概率模型的数目等于阈值时,添加第一概率模型作为在最不经常选择的概率模型的子集的P个概率模型当中的、当选择概率模型时计算的编码开销平均值最高的概率模型的替代,其中P是整数。根据本发明另一特定方面,选择步骤包括以下步骤-为至少两个概率模型的集合的每一个概率模型计算编码开销,以及-从至少两个概率模型的集合中选择概率模型,该概率模型的编码开销小于至少两个概率模型的集合的其它概率模型的每一个编码开销。根据本发明的另一特定方面,为所述至少两个概率模型的集合的每一个概率模型,编码开销的计算步骤包括以下步骤-使用至少两个概率模型的集合的每一个概率模型编码整数N个图像数据块,-为至少两个概率模型的集合的每一个概率模型确定N个图像数据块的编码开销以及与N个图像数据块的编码相关联的失真,以及-为集合的每一个概率模型计算编码开销和失真的加权和。根据本发明的一个特定特征,切换点在流中均勻分布。根据本发明另一特定特征,切换点在流中的分布是根据给定编码模式编码的块的数目的函数。根据本发明另一特定特征,切换点在流中的位置在流中传送。根据本发明另一特定特征,切换点在流中的位置通过特定比特序列发信号通知 (signal)0根据本实施例的特定方面,根据本发明的算术编码方法,还包括通过在每个图像或图像的每个切片的开始默认定义的概率模型来初始化概率模型的集合。
根据本发明的特定特征,初始化步骤仅应用于参考图像。本发明还涉及算术解码以流的形式编码的码元的方法,包括以下步骤-根据当前概率模型解码当前码元,以及-根据当前码元的解码来更新当前概率模型。所述方法在切换流中分布的点中还包括以下步骤-解码概率模型的标识符,-根据解码的标识符在至少两个概率模型的集合中选择当前概率模型。根据本发明另一实施例,重复算术编码方法的步骤以便解码后续码元并且其中至少两个概率模型的集合包括第一概率模型,其从当前码元之前解码的码元定义,以及概率模型的子集,其包括至少默认定义的第二概率模型。
借助参考附图的决不是限定性的实施例和有利实现方式将更好地理解和图示本发明,附图中-图1表示在编码源信号期间,根据码元S采用值‘a’的VLC方法的实际概率和估计概率中的改变,-图2表示在编码源信号期间,根据码元S采用值‘a’的AC方法的实际概率和估计概率中的改变,-图3图示根据本发明的第一实施例的算术编码方法,-图4表示分布切换点SP的两个图像,-图5图示根据图3、6和7图示的实施例之一的算术编码方法的特定步骤,-图6图示根据本发明第二实施例的算术编码方法,-图7图示根据本发明第三实施例的算术编码方法,-图8图示根据图7图示的实施例的算术编码方法的特定步骤,-图9表示在编码源信号期间,根据码元S采用值‘a’的本发明的方法的实际概率和估计概率中的改变,-图10图示根据特定实施例的算术解码方法,-图11图示根据另一特定实施例的算术解码方法,-图12示出根据本发明的编码设备,以及-图13示出根据本发明的解码设备。
具体实施例方式AC熵编码主要包括用于解码当前码元&的以下步骤-根据当前概率模型Pc编码当前码元Sc,以及-根据当前码元&的编码来更新当前概率模型Pc。概率模型将码元的每个可能值与一个概率相关联。例如,如果码元&采用集合 {a, b,c, d}中的值,那么概率与每个值‘a’,‘b’,‘C’和‘d’相关联。如果码元&采用值 ‘b’,那么在更新当前概率模型Pc的步骤中,相关联的概率增加,即,出现数目= b)增加1。用来编码当前码元&的当前概率模型Pc依据在当前码元&之前编码的码元定义。如果当前码元&首先编码那么当前概率模型Pc由默认定义,例如作为均勻概率模型。如果当前码元&是第N个编码的码元,那么当前概率模型Pc取决于当前码元&之前的第 (N-I)个编码的码元的编码。实际上,每次编码新的码元时更新当前概率模型Pc。图3图示了根据本发明第一实施例的算术编码方法。在步骤100期间,验证了解其是否处于切换点SP。根据本发明切换点SP定义为在流中可以修改用于编码当前码元的概率模型的级别的点。切换点SP在流中均勻地或者无规律地分布。例如,切换点在流中分布使得与如图4左边部分所示块线的开始对应,或者与如图4右边部分所示无规律地对应。 例如,每N个块分布切换点,其中N是整数。根据变型,根据给定模式每N个编码块分布切换点,例如,根据INTRA模式编码的N个块。根据另一变型,切换点在流中无规律地分布并且在流中传送它们在流中的位置。根据另一变型,可以通过流中的特定比特序列发信号通知切换点。如果位于切换点SP,所述方法继续到步骤102,如果不是则继续到步骤106。在步骤102期间,根据编码开销判据在至少两个概率模型{Pi}ieKl;M]的集合L中选择概率模型Rn,其中M是整数。M是集合L中的概率模型的数目。图5中详述这个步骤。在步骤1020期间,计算与L的模型Pi相关联的编码开销Ci。例如,在码元表示被划分为图像数据块的图像的情况下,编码与码元&相关联的当前块的编码顺序之后的J个图像数据块,其中J是整数。因此计算与J个块的编码相关联的编码开销Ci。根据一种变型,还计算与具有概率模型Pi的J个图像数据块的编码相关联的失真Di。根据这个变型, 通过编码开销和相关联的失真的加权和替代编码开销Ci = Di+λ . Ci0在步骤1022期间,索引i增加1。在步骤IOM期间,i的值与M相比较。如果i<M,那么方法以i的新值回到步骤 1020,如果不是,方法继续到步骤1(^6。在步骤10 期间,选择其相关联的编码开销Ci最低的集合L的概率模型Pi作为模型Rn。在步骤104期间,在流中编码集合L中选择的模型的标识符m。有利地,这个标识符使得解码方法能够在集合L中再次发现通过编码方法选择的模型。在模型Pc中重新复制概率模型Rn,即,在步骤102中选择的概率模型Rn变成当前概率模型Pc。在步骤106期间,使用当前概率模型Pc编码当前码元Sc。在步骤108期间,根据参考AC编码的先前描述的方法更新当前概率模型Pc。根据图6所示的第二实施例,重复步骤100至108以便编码后续码元。在图6中以相同数字参考标识与图3中的步骤完全相同的图6中的步骤。在步骤100期间,验证是否位置处于切换点SP上。如果位于切换点SP,则方法继续到步骤102,否则其继续到步骤106。在步骤102期间,根据编码开销判据在至少两个概率模型{Pi}ieKl;M]的集合L中选择概率模型Rn,其中M是整数。M是集合L中概率模型的数目。集合L包括从当前码元 &之前编码的码元定义的当前概率模型Pc以及由默认定义的概率模型的子集E。子集E 包括至少一个表示为PO的由默认定义的这样的概率模型。例如,PO是均勻概率模型,即,这个模型的所有概率都相等。子集E可以包含由默认定义的其它模型,诸如高斯概率模型或者通过学习表示要编码的信号的数据库获得的模型。注意如果当前码元&是编码的第一码元,那么由默认定义当前概率模型Pc,在这种情况下其可以与E的模型PO完全相同。如果当前码元&不是编码的第一码元,那么使用当前码元&之前编码的码元定义当前概率模型Pc。这样的概率模型Pc,实际上,已经在编码当前码元&之前编码的码元期间更新, 使得动态地适配源信号的特征。在图5中详述步骤102。在步骤1020期间,计算与L的模型Pi相关联的编码开销Ci。例如,在码元表示被划分成图像数据块的图像的情况下,编码与码元&相关联的当前块的编码顺序之后的J个图像数据块,其中J是整数。因此计算与J个块的编码相关联的编码开销Ci。根据变型,还计算与具有概率模型Pi的J个图像数据块的编码相关联的失真Di。根据这个变型,通过编码开销和相关联的失真的加权和替代编码开销Ci = Di+λ Ci。在步骤1022期间,索引i增加1。在步骤IOM期间,i的值与M相比较。如果i<M,那么方法以i的新值回到步骤 1020,如果不是,方法继续到步骤1(^6。在步骤10 期间,选择集合L的对于其相关联的编码开销Ci最低的概率模型Pi 作为模型跑。在步骤104期间,在流中编码集合L中选择的模型的标识符m。有利地,这个标识符使得解码方法能够在集合L中再次发现通过编码方法选择的模型。在模型Pc中重新复制概率模型Rn,即,在步骤102中选择的概率模型Rii变成当前概率模型Pc。在步骤106期间,使用当前概率模型Pc编码当前码元Sc。在步骤108期间,根据参考AC编码的先前描述的方法更新当前概率模型Pc。在步骤110期间,验证是否已经编码码元的集合。如果已经编码码元的集合那么方法结束,如果不是,方法继续到步骤112。在步骤112期间,下一要编码的码元变成当前码元&。方法然后在步骤100中以这个新的当前码元重复。根据这个第二实施例的第一变型,在步骤102期间,根据与当前概率模型Pc的相似度判据在E中选择概率模型Rn,即,选择的模型Rn是具有与当前模型Pc较大相似度的E 的模型。两个概率模型Pl和P2之间的相似度例如如下计算
权利要求
1.一种用于流(F)中的码元的算术编码方法,包括应用于所述流(F)中分布的切换点 (100)上以编码当前码元(Sc)的以下步骤-根据编码开销判据在集合(L)中选择(102)概率模型0 ),所述集合(L)包括使用当前码元(Sc)之前编码的码元定义的当前概率模型(Pc)以及概率模型的子集(E),其中子集(E)包括至少一个默认定义的概率模型(PO),-编码(104)选择的概率模型的标识符;-在所述子集(E)中添加(10 所述当前概率模型,所选择的概率模型(Pm)变成当前概率模型(Pc),-使用当前概率模型(Pc)编码(106)所述当前码元( ),以及-根据所述当前码元(Sc)的编码(106)来更新(108)所述当前概率模型。
2.如权利要求1所述的算术编码方法,其中,当概率模型的所述子集(E)中的概率模型的数目等于阈值(Tmax)时,添加(105)所述当前概率模型(Pc)作为最不经常选择的概率模型的所述子集(E)的概率模型的替代,而由默认(PO)定义的第二概率模型除外。
3.如权利要求1所述的算术编码方法,其中,当概率模型的所述子集(E)中的概率模型的数目等于阈值(Tmax)时,添加(105)所述当前概率模型(Pc)作为所述子集(E)中最老的概率模型的替代,而由默认定义的概率模型(PO)除外。
4.如权利要求3所述的算术编码方法,其中,当概率模型的所述子集(E)中的概率模型的数目等于阈值(Tmax)时,添加所述当前概率模型(Pc)作为在最不经常选择的所述子集(E)的P个概率模型中的、当选择所述概率模型时为其计算的编码开销平均值最高的概率模型的替代,而由默认定义的概率模型(PO)除外,其中P是整数。
5.如权利要求1至4之一所述的算术编码方法,其中,所述选择步骤(10 包括以下步骤-为至少两个概率模型的所述集合(L)的每一个概率模型计算(1020,1022,1024)编码开销,以及-从至少两个概率模型的所述集合(L)中选择(1026)概率模型,该概率模型的编码开销小于所述至少两个概率模型的集合(L)的其它概率模型的每一个编码开销。
6.如权利要求5所述的算术编码方法,其中,用于至少两个概率模型的所述集合(L)的每一个概率模型编码开销的所述计算步骤(1020,1022,1024)包括以下步骤-使用至少两个概率模型的所述集合(L)的每一个概率模型编码整数N个图像数据块,-为至少两个概率模型的所述集合(L)的每一个概率模型确定所述N个图像数据块的编码开销以及与所述N个图像数据块的编码相关联的失真,以及-为所述集合的每一个概率模型计算所述编码开销和所述失真的加权和。
7.如前面权利要求之一所述的算术编码方法,其中,所述切换点(S0,Si)在所述流中均勻地分布。
8.如权利要求1至6之一所述的算术编码方法,其中,在所述流中所述切换点(S0,S1) 的分布是根据按照给定编码模式编码的块的数目。
9.如权利要求1至6之一所述的算术编码模式,其中,在所述流中传送所述切换点 (SO, Si)在所述流(F)的位置。
10.如权利要求1至6之一所述的算术编码模式,其中,通过特定比特序列发信号通知所述切换点(SO, Si)在流(F)中的位置。
11.如前面权利要求之一所述的算术编码方法,还包括通过在每个图像或每个图像切片的开始默认定义的所述概率模型(PO)来初始化概率模型的所述子集(E)的步骤。
12.如权利要求11所述的算术编码方法,其中,所述初始化步骤仅在参考图像中应用。
13.一种用于以流(F)的形式编码的码元的算术解码方法,包括应用于所述流(F)中分布的切换点(100)上用以解码当前码元(Sc)的以下步骤-为所述当前码元(Sc)从流(F)中解码(20 概率模型标识符(m), -使用所述概率模型标识符(m)在集合(L)中选择(204)概率模型(Pm),所述集合(L) 包括从当前码元(Sc)之前编码的码元定义的当前概率模型(Pc)以及概率模型的子集(E), 其中子集(E)包括至少一个由默认定义的概率模型(PO),-在所述子集(E)中添加(20 当前概率模型(Pc),选择的概率模型(Pm)变成当前概率模型(Pc),-使用所述当前概率模型(Pc)解码(206)所述当前码元(Sc),以及-根据所述当前码元(Sc)的解码(206)来更新(208)所述当前概率模型(Pc)。
全文摘要
本发明涉及用于算术编码流(F)中的码元的方法,包括以下步骤使用当前概率模型(Pc)编码(106)当前码元(Sc),以及根据当前码元(Sc)的编码(106)更新(108)当前概率模型。所述方法在所述流(F)中分布的切换点(100)处,还包括以下步骤根据编码开销判据在至少两个概率模型的集合(L)中选择(102)当前概率模型(Pc),以及编码(104)选择的概率模型的标识符。
文档编号H04N7/26GK102474274SQ201080030043
公开日2012年5月23日 申请日期2010年6月22日 优先权日2009年7月1日
发明者D.索罗, E.弗朗科伊斯, J.维隆, P.伯德斯 申请人:汤姆森特许公司