上下文自适应的算术编解码方法与流程

专利2024-08-19  58



1.本技术涉及多媒体技术领域,尤其涉及一种上下文自适应的算术编解码方法。


背景技术:

2.数字图像通常要求很大的比特数,这给图像的传输和存储带来相当大的困难。不仅需要占用很多的资源,花很高的费用。如一幅512x512的灰度图象,比特数为256k,再如一部90分钟的彩色电影,每秒放映24帧。把它数字化,每帧512x512象素,每象素的r、g、b三分量分别占8bit,则这部电影光是图像内容就需要占用将近95gb的存储空间。因此,通过编码技术对如图像之类的多媒体进行压缩显得非常必要。
3.然而,现有技术中,将多媒体或者文本进行处理,转换成待编码字符信息后,对待编码字符信息进行算术编码时,如果采用二值模型进行编码,虽然二值模型的概率更新比较简单,但使用二值模型进行编码前,需要先将待编码字符用一元码来二值化,并且如果使用二值模型进行编码,在某些应用场景下,编码的循环次数会变得非常大。而如果采用多值模型来取代二值模型进行编码,编码的循环次数会相对较小,但是多值模型的概率更新逻辑比较复杂,难以实现。


技术实现要素:

4.本技术的主要目的在于提供一种上下文自适应的算术编解码方法,旨在实现多值模型的概率更新。
5.第一方面,本技术提供一种上下文自适应的算术编解码方法,包括:
6.获取待编码字符信息,并根据所述待编码字符信息获取与所述待编码字符信息对应的符号概率模型;
7.从所述待编码字符信息中获取待编码字符,并根据所述符号概率模型对所述待编码字符进行编码,且将所述待编码字符添加至预设数组中,直至所述数组中的字符的数量达到预设数量;
8.当所述数组中的字符的数量达到所述预设数量时,根据所述数组更新所述符号概率模型,并清空所述数组;
9.在清空所述数组之后,当所述待处理字符串中的待编码字符未编码完成时,执行所述从所述待编码字符信息中获取待编码字符,并根据所述符号概率模型对所述待编码字符进行编码的步骤,直至所述待处理字符串中的所有待编码字符均编码完成。
10.第二方面,本技术还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的上下文自适应的算术编解码方法的步骤。
11.第三方面,本技术还提供一种存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的上下文自适应的算术编解码方法的步骤。
12.本技术提供一种上下文自适应的算术编解码方法,本技术中,获取到待编码字符信息后,获取与待编码字符信息对应的符号概率模型,其中,符号概率模型为多值模型;根据符号概率模型对待编码字符进行编码的过程中,根据待编码字符对符号概率模型进行更新,并用更新后的符号概率模型对待编码字符信息继续进行编码,直至待处理字符串中的所有待编码字符均编码完成。利用本技术所提供的技术方案,实现了多值模型的概率更新。
附图说明
13.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1为本技术实施例提供的一种上下文自适应的算术编解码方法的步骤流程示意图;
15.图2为本技术实施例提供的一种计算机设备的结构示意性框图。
16.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
17.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
19.本技术实施例提供一种上下文自适应的算术编解码方法。其中,该方法可应用于终端设备或服务器中,该终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该方法应用于服务器为例进行解释说明。
20.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
21.请参照图1,图1为本技术实施例提供的一种上下文自适应的算术编解码方法的步骤流程示意图。
22.如图1所示,该上下文自适应的算术编解码方法包括步骤s10至步骤s13。
23.步骤s10、获取待编码字符信息,并根据待编码字符信息获取与待编码字符信息对应的符号概率模型。
24.可以理解,对待编码的图像、视频、音频或者文本等原始文件进行预处理后,即可得到对应的待编码字符信息。待编码字符信息为原始文件的字符表示形式,利用待编码字符信息可还原原始文件。
25.符号概率模型为多值模型,符号概率模型中记录了构成待编码字符信息的各个字
符的初始字符概率值,并且,在刚获取到的符号概率模型中,每个字符的字符概率值相等,并且所有字符的字符概率值之和等于100%。
26.具体的,设符号概率模型包括n个字符,分别为x0...x
n-1
,其中,n为大于0的正整数。假设i∈[0,n-1],假设p[i]表征符号概率模型中xi的字符概率值,并且假设用one来表征100%的概率,则
[0027]
可以理解,假设n=9,将100%进行9等分的话,符号概率模型中每个字符的初始字符概率值约等于11.11%,又因为这9个字符的初始字符概率值之和为100%,也即,在这9个字符中,其中8个字符的初始字符概率值为11.11%,剩下那个字符的初始字符概率值需要设置为11.12%;因此,存在做不到每个字符的初始字符概率值完全相等的情况,在本技术中,当不同字符的初始字符概率值偏差只要在预设范围内,也认为这些字符的初始字符概率概率是相等的。
[0028]
步骤s11、从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码,且将待编码字符添加至预设数组中,直至数组中的字符的数量达到预设数量。
[0029]
可以理解,对待编码字符信息进行编码的过程,为逐个从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码的过程。
[0030]
其中,预设数组为预先创建好的数组,用于记录本轮编码中已经完成的待编码字符,当数组中装载的待编码字符达到预设数量时,即可利用数组对符号概率模型中的各个字符的概率进行更新,并利用更新后的符号概率模型开启下一轮的编码任务,直至待编码字符信息编码完成。
[0031]
步骤s12、当数组中的字符的数量达到预设数量时,根据数组更新符号概率模型,并清空数组。
[0032]
在一些实施方式中,预设数量可以设置为8、16或32,另外,预设数量还可以根据情况需要设置为其他数值,在此不做限制。
[0033]
利用数组中各个字符出现的次数更新符号概率模型后,对数组进行清空处理,可以避免数组中之前已经用于更新符号概率模型的字符继续影响后续符号概率模型的更新。
[0034]
在一些实施方式中,符号概率模型记录有各个字符的字符概率值,根据数组更新符号概率模型,包括:
[0035]
获取预设的更新占比率,且根据更新占比率计算初始占比率;
[0036]
从符号概率模型中逐个获取目标字符,并根据更新占比率以及数组计算目标字符的第一概率值,且根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值;
[0037]
根据第一概率值以及第二概率值计算目标字符的目标概率值,并以目标概率值作为目标字符的字符概率值。
[0038]
在一些实施方式中,更新占比率可以设置为50%,也可以根据情况需要设置为其他数值,在此不做限制。
[0039]
因为更新占比率与初始占比率的相加结果等于100%,确定更新占比率后,用100%减去更新占比率即得到初始占比率。其中,初始占比率表征更新符号概率模型时,字符的原始字符概率值所占的百分比;相应的,更新占比率则表征更新符号概率模型时,字符的更新字符概率值所占的百分比。
[0040]
当前从符号概率模型中提取出来的用于计算概率的字符,即为目标字符。可以理解,确定目标字符后,数组中目标字符出现的次数越多,则目标字符的第一概率值也越大;在一些实施方式中,可以通过初始占比率与目标字符的字符概率值的相乘结果作为目标字符的第二概率值。
[0041]
计算出目标字符的第一概率值以及第二概率值后,即对第一概率值以及第二概率值进行相加处理,相加结果即为目标字符的目标概率值,使用目标概率值替代符号概率模型中目标字符的字符概率值,即完成了目标字符在符号概率模型中的字符概率更新。
[0042]
在一些实施方式中,根据更新占比率以及数组计算目标字符的第一概率值,且根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值,包括:
[0043]
获取符号概率模型的总概率值,其中,总概率值与符号概率模型中的各个字符的字符概率值的和相等;
[0044]
以更新占比率与总概率值的乘积作为更新概率值,并以更新概率值与预设数量的比值作为单位更新概率值;
[0045]
根据目标字符在数组中的出现次数以及单位更新概率值计算目标字符的第一概率值,并根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值。
[0046]
可以理解,总概率值表征概率为100%时的概率值,另外,更新占比率越大,更新概率值也越大。
[0047]
假设构成符号概率模型的n个字符中,设i∈[0,n-1],设xi为符号概率模型中的第i个字符,设p[i]为xi在符号概率模型中的字符概率值,用one来表征总概率值,则
[0048]
假设更新占比率为w,其中,0《w《1,则初始占比率为(1-w),更新概率值为one*w。假设预设数量为t,假设用p
unit
来表征单位更新概率值,则p
unit
=one*w/t。
[0049]
假设用k[i]来表征xi在数组中出现的次数,则可以理解,计算出单位更新概率值后,目标字符在数组中每出现1次,目标字符的第一概率值就增加p
unit
,假设用wq[i]来表征xi的第一概率值,则wq[i]=p
unit
*k[i],而xi的第二概率值则为p[i]*(1-w)。
[0050]
设p
new
[i]为xi的目标概率值,则p
new
[i]=p[i]*(1-w)+wq[i]。
[0051]
在一些实施方式中,更新占比率为2的负s次方,且预设数量为2的t次方,其中,s与t皆为正整数。
[0052]
可以理解,总概率值、更新概率值以及单位更新概率值对计算机系统而言是二进制形式的数值。如果更新占比率w设置为2-s
,而预设数量t设置为2
t
,可以简化第一概率值以及第二概率值的计算过程。
[0053]
具体的,单位更新概率值p
unit
=one》》(s+t),第一概率值wq[i]=p
unit
*k[i]=(one》》(s+t))*k[i]。
[0054]
同理,xi的目标概率值可以通过以下方法计算:
[0055]
p
new
[i]=p[i]-p[i]*w+wq[i]=p[i]-(p[i]》》s)+wq[i]
[0056]
示例性的,假设用2的16次方来表征总概率值one,则one在计算机中对应的二进制为0b1 0000 0000 0000 0000。此时,如果s为1,并且t为7,则更新占比率为1/2,预设数量t为128。
[0057]
在计算p
unit
时,p
unit
=one》》(s+t)=0b1 0000 0000 0000 0000》》(1+7)=0b1 0000 0000。换算成十进制的话,one为65536,而p
unit
为256。
[0058]
在一些实施方式中,根据目标字符在数组中的出现次数以及单位更新概率值计算目标字符的第一概率值,并根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值,包括:
[0059]
当目标字符在符号概率模型中所处的位置不为末尾位置时,统计目标字符在数组中出现的次数得到目标次数;
[0060]
以目标次数与单位更新概率值的乘积作为目标字符的第一概率值;
[0061]
拷贝字符概率值以得到第一操作概率值,并将第一操作概率值右移s位,得到第二操作概率值;
[0062]
以字符概率值与第二操作概率值的差值作为目标字符的第二概率值。
[0063]
示例性的,假设符号概率模型中包括n个字符,设i∈[0,n-1],则当i=n-1时,字符xi在符号概率模型中处于末尾位置,相应的,当i《n-1时,字符xi在符号概率模型中则不处于末尾位置。
[0064]
另外,目标字符在数组中出现的次数即为目标字符对应的目标次数。示例性的,假设数组中记录有4个元素,分别为x5、x2、x5和x0,假设当前从符号概率模型中提取出来的用于计算概率的目标字符为x5,则x5对应的目标次数k[5]为2。此时,x5的第一概率值wq[5]=p
unit
*k[5]=p
unit
*2,。
[0065]
可以理解,xi的第二概率值为p[i]*(1-w)=p[i]-wp[i]。对目标字符xi进行拷贝后,所得到的拷贝结果即为第一操作概率值,如果更新占比率w=2-s
,则在计算wp[i]时,相当于把第一操作概率值右移s位,进行右移操作后,所得到的结果即为第二操作概率值。再利用字符概率值减去第二操作概率值,即得到目标字符xi的第二概率值。
[0066]
示例性的,假设s为4,假设xi的字符概率值p[i]为0b1010 1100,则对xi的字符概率值p[i]进行拷贝后,所得到的xi的第一操作概率值同为0b1010 1100,将第一操作概率值右移4位后,所得到的的第二操作概率值wp[i]为0b1010,则xi的第二概率值为p[i]-wp[i]=0b1010 1100-0b1010=0b1010 0010。
[0067]
在一些实施方式中,根据第一概率值以及第二概率值计算目标字符的目标概率值,包括:
[0068]
当目标字符在符号概率模型中所处的位置不为末尾位置时,以第一概率值与第二概率值的和作为目标字符的目标概率值;
[0069]
当目标字符在符号概率模型中所处的位置为末尾位置时,累计在符号概率模型中位于末尾位置之前的所有字符对应的目标概率值,得到在先概率值,并以总概率值与在先概率值的差值作为目标字符的目标概率值。
[0070]
可以理解,假设符号概率模型中包括n个字符,设i∈[0,n-1],则当i=n-1时,目标字符x
n-1
在符号概率模型中处于末尾位置,此时,目标字符xi的在先概率值为相应的,用one减去在先概率值,所得到的结果即为目标字符x
n-1
的目标概率值,具体的,目标字符x
n-1
的目标概率值为
[0071]
示例性的,假设总概率值one用2的16次方来表示,则one对应的十进制为65536,假设符号概率模型中包括字符x0、x1、x2、x3、x4、x5、x6、x7以及x8一共9个字符,假设x0、x1、x2、x3、
x4、x5、x6以及x7的第一概率值与第二概率值的十进制表示如下表一所示。
[0072]
表一、
[0073]
字符第一概率值第二概率值x035003500x135000x235001500x335007500x435002500x535003000x635003200x735003800
[0074]
则通过本实施方式所提供的技术方案,最终确定的符号概率模型中的各个字符的目标概率值如下表二所示
[0075]
表二、
[0076][0077][0078]
通过本实施方式所提供的技术方案,可以确保在更新符号概率模型以后,符号概率模型中的各个字符的的概率总和等于总概率值one。
[0079]
在一些实施方式中,以字符概率值与第二操作概率值的差值作为目标字符的第二概率值之前,方法还包括:
[0080]
以字符概率值的第0位至第s-1位编码作为第一误差参数,并以2的s次方作为第二误差参数;
[0081]
计算第一误差参数与第二误差参数的比值,得到目标字符的概率误差值。
[0082]
可以理解,当xi在符号概率模型中所处的位置不为末尾位置时,计算xi的第二概率值的方法为p[i]*(1-w),在这个计算过程中,容易产生误差。
[0083]
示例性的,假设p[i]=9,因为更新占比率w=2-s
,如果w=1/4,则s=2。此时,第二概率值的正确计算结果应该为:p[i]*(1-w)=9*(1-1/4)=6.75。
[0084]
而通过计算机计算时,9*(1-1/4)=9-9*1/4=0b1001-0b1001》》2=0b1001-0b10=9-2=7。
[0085]
可以看到,计算机所计算出来的xi的第二概率值为正确计算结果的向上取整结果,在此次计算中,计算机的计算误差为7-6.75=0.25。
[0086]
这个误差来源于p[i]的第0位至第s-1位,通过获取第一误差参数以及第二误差参数,可以确定在计算目标字符的第二概率值时所产生的概率误差值。
[0087]
示例性的,如果p[i]=0b1001,而s=2,则采集p[i]的第0位以及第1位作为第一误差参数,此时,所得到的的第一误差参数为0b01。另外,第二误差参数为22=4,此时,第一误差参数与第二误差参数的比值为1/4,也即0.25,与上述计算机的计算误差相吻合。
[0088]
在一些实施方式中,当数组中的字符的数量达到预设数量时,根据数组更新符号概率模型之后,方法还包括:
[0089]
累计在符号概率模型中位于末尾位置之前的所有字符对应的概率误差值,得到概率总误差值;
[0090]
当概率总误差值大于第一预设值时,根据概率总误差值更新单位更新概率值;
[0091]
当数组中的字符的数量再次达到预设数量时,根据更新后的单位更新概率值以及数组更新符号概率模型。
[0092]
可以理解,假设符号概率模型中包括n个字符,设i∈[0,n-1],则当i=n-1时,字符x
n-1
位于符号概率模型的末尾位置,x
n-1
目标概率值为总概率值与在先概率值的差值计算得到。
[0093]
而当i《n-1时,在计算xi的第二概率值的时候,xi的第二概率值都向上取整过,这就导致了在先概率值偏大,而x
n-1
的目标概率值偏小。积少成多,累积下来的话会是一个庞大的数值。
[0094]
本实施方式中,根据概率总误差值更新单位更新概率值之后,当数组中的字符的数量再次达到预设数量时,根据更新后的单位更新概率值以及数组更新符号概率模型,可以让符号概率模型在下一次调整x
n-1
的目标字符概率时,让p
new
[n-1]得到一定的补偿,来抵消之前计算p
new
[n-1]时所产生的的误差。
[0095]
设f[i]为符号概率模型中第i个字符的概率误差值,可以理解,0《=f[i]《1。设概率总误差值为f,每次更新概率模型时,都将f与f[i]累加起来,则
[0096]
在一些实施方式中,第一预设值设置为0,当然,也可以根据情况需要设置为其他数值,在此不做限制。
[0097]
在一些实施方式中,在根据概率总误差值更新单位更新概率值时,设s
max
为s取值的最大值,可以取最小自然数a,满足f-(1《《(s
max
+t))*a《=0。此时,令p
unit
=p
unit-a,可以让符号概率模型在下一次调整x
n-1
的目标字符概率时,让p
new
[n-1]得到数值为a*t的补偿。当然,在更新p
unit
后,需要重置f,具体的,令f=f-(1《《(s
max
+t))*a。
[0098]
在一些实施方式中,在根据概率总误差值更新单位更新概率值时,为了确保p
new
[n-1]在任何情况下都大于0,可以令p
unit
=p
unit-max(1,8》》t),通过本实施方式所提供的技术方案,可以让符号概率模型在下一次调整x
n-1
的目标字符概率时,让x
n-1
的目标字符概率p
new
[n-1]到n-1以上的补偿。
[0099]
步骤s13、在清空数组之后,当待处理字符串中的待编码字符未编码完成时,执行从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码的步骤,直至待处理字符串中的所有待编码字符均编码完成。
[0100]
可以理解,清空数组之前,已经更新了符号概率模型,此时,如果待处理字符串中的待编码字符未编码完成,则回到步骤s11继续往下执行编码任务。
[0101]
当然,在回到步骤s11继续往下执行编码任务的过程中,如果数组中的字符的数量再次达到预设数量时,会再次触发更新符号概率模型的过程,并在再次清空数组后,再次回到步骤s11往下继续执行编码任务,直至待处理字符串中的所有待编码字符均编码完成。
[0102]
另外,在执行步骤s10至步骤s13的过程中,执行主体会一边对待编码字符信息进行编码,一边输出编码结果,将编码结果按时间顺序拼接起来,即得到待编码字符信息对应的目标编码结果。
[0103]
在一些实施方式中,方法还包括:
[0104]
当接收到待解码字符信息时,获取与待解码字符信息对应的符号概率模型,并根据符号概率模型对待解码字符信息进行解码。
[0105]
可以理解,本技术的解码过程与编码过程类似,同样为一开始在符号概率模型中给出各个字符的初始概率值,并在解码过程中一边更新符号概率模型,一边进行解码,具体过程在此不做过多赘述。
[0106]
在一些实施方式中,本技术的每个符号概率模型中只包含9个字符,当待编码字符信息仅使用9个字符不足以表示时,可以采用多组相互关联的符号概率模型进行编解码,并且每组符号概率模型中的字符数量仍控制在9个以内。相对于传统的二元算术编码,通过本技术所提供的技术方案,能更有效利用现代计算机的运算潜力,提高熵解编码器的最大吞吐率。
[0107]
本技术中,获取到待编码字符信息后,获取与待编码字符信息对应的符号概率模型,其中,符号概率模型为多值模型;根据符号概率模型对待编码字符进行编码的过程中,根据待编码字符对符号概率模型进行更新,并用更新后的符号概率模型对待编码字符信息继续进行编码,直至待处理字符串中的所有待编码字符均编码完成。利用本技术所提供的技术方案,实现了多值模型的概率更新,并且提高了编解码效率。
[0108]
请参阅图2,图2为本技术实施例提供的一种计算机设备的结构示意性框图。该计算机设备包括但不限定于服务器。
[0109]
如图2所示,该计算机设备301包括通过系统总线连接的处理器3011、存储器和网络接口,其中,存储器可以包括存储介质3012和内存储器3015,存储介质3012可以是非易失性的,也可以是易失性的。
[0110]
存储介质3012可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器3011执行任意一种上下文自适应的算术编解码方法。
[0111]
处理器3011用于提供计算和控制能力,支撑整个计算机设备的运行。
[0112]
内存储器3015为存储介质3012中的计算机程序的运行提供环境,该计算机程序被处理器3011执行时,可使得处理器3011执行任意一种上下文自适应的算术编解码方法。
[0113]
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0114]
应当理解的是,处理器3011可以是中央处理单元(central processing unit,
cpu),该处理器3011还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0115]
其中,在一些实施方式中,所述处理器3011用于运行存储在存储器中的计算机程序,以实现如下步骤:
[0116]
获取待编码字符信息,并根据待编码字符信息获取与待编码字符信息对应的符号概率模型;
[0117]
从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码,且将待编码字符添加至预设数组中,直至数组中的字符的数量达到预设数量;
[0118]
当数组中的字符的数量达到预设数量时,根据数组更新符号概率模型,并清空数组;
[0119]
在清空数组之后,当待处理字符串中的待编码字符未编码完成时,执行从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码的步骤,直至待处理字符串中的所有待编码字符均编码完成。
[0120]
在一些实施方式中,符号概率模型记录有各个字符的字符概率值,处理器3011在根据数组更新符号概率模型时,用于实现:
[0121]
获取预设的更新占比率,且根据更新占比率计算初始占比率;
[0122]
从符号概率模型中逐个获取目标字符,并根据更新占比率以及数组计算目标字符的第一概率值,且根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值;
[0123]
根据第一概率值以及第二概率值计算目标字符的目标概率值,并以目标概率值作为目标字符的字符概率值。
[0124]
在一些实施方式中,处理器3011在根据更新占比率以及数组计算目标字符的第一概率值,且根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值时,用于实现:
[0125]
获取符号概率模型的总概率值,其中,总概率值与符号概率模型中的各个字符的字符概率值的和相等;
[0126]
以更新占比率与总概率值的乘积作为更新概率值,并以更新概率值与预设数量的比值作为单位更新概率值;
[0127]
根据目标字符在数组中的出现次数以及单位更新概率值计算目标字符的第一概率值,并根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值。
[0128]
在一些实施方式中,更新占比率为2的负s次方,且预设数量为2的t次方,其中,s与t皆为正整数。
[0129]
在一些实施方式中,处理器3011在根据目标字符在数组中的出现次数以及单位更新概率值计算目标字符的第一概率值,并根据初始占比率以及目标字符对应的字符概率值计算目标字符的第二概率值时,用于实现:
[0130]
当目标字符在符号概率模型中所处的位置不为末尾位置时,统计目标字符在数组
中出现的次数得到目标次数;
[0131]
以目标次数与单位更新概率值的乘积作为目标字符的第一概率值;
[0132]
拷贝字符概率值以得到第一操作概率值,并将第一操作概率值右移s位,得到第二操作概率值;
[0133]
以字符概率值与第二操作概率值的差值作为目标字符的第二概率值。
[0134]
在一些实施方式中,处理器3011在根据第一概率值以及第二概率值计算目标字符的目标概率值时,用于实现:
[0135]
当目标字符在符号概率模型中所处的位置不为末尾位置时,以第一概率值与第二概率值的和作为目标字符的目标概率值;
[0136]
当目标字符在符号概率模型中所处的位置为末尾位置时,累计在符号概率模型中位于末尾位置之前的所有字符对应的目标概率值,得到在先概率值,并以总概率值与在先概率值的差值作为目标字符的目标概率值。
[0137]
在一些实施方式中,处理器3011在以字符概率值与第二操作概率值的差值作为目标字符的第二概率值之前,还用于实现:
[0138]
以字符概率值的第0位至第s-1位编码作为第一误差参数,并以2的s次方作为第二误差参数;
[0139]
计算第一误差参数与第二误差参数的比值,得到目标字符的概率误差值。
[0140]
在一些实施方式中,处理器3011在当数组中的字符的数量达到预设数量时,根据数组更新符号概率模型之后,还用于实现:
[0141]
累计在符号概率模型中位于末尾位置之前的所有字符对应的概率误差值,得到概率总误差值;
[0142]
当概率总误差值大于第一预设值时,根据概率总误差值更新单位更新概率值;
[0143]
当数组中的字符的数量再次达到预设数量时,根据更新后的单位更新概率值以及数组更新符号概率模型。
[0144]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述上下文自适应的算术编解码方法实施例中的对应过程,在此不再赘述。
[0145]
本技术实施例还提供一种存储介质,该存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术上下文自适应的算术编解码方法的各个实施例。
[0146]
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0147]
应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0148]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明
的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0149]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种上下文自适应的算术编解码方法,其特征在于,所述方法包括:获取待编码字符信息,并根据所述待编码字符信息获取与所述待编码字符信息对应的符号概率模型;从所述待编码字符信息中获取待编码字符,并根据所述符号概率模型对所述待编码字符进行编码,且将所述待编码字符添加至预设数组中,直至所述数组中的字符的数量达到预设数量;当所述数组中的字符的数量达到所述预设数量时,根据所述数组更新所述符号概率模型,并清空所述数组;在清空所述数组之后,当所述待处理字符串中的待编码字符未编码完成时,执行所述从所述待编码字符信息中获取待编码字符,并根据所述符号概率模型对所述待编码字符进行编码的步骤,直至所述待处理字符串中的所有待编码字符均编码完成。2.根据权利要求1所述的方法,其特征在于,所述符号概率模型记录有各个字符的字符概率值,所述根据所述数组更新所述符号概率模型,包括:获取预设的更新占比率,且根据所述更新占比率计算初始占比率;从所述符号概率模型中逐个获取目标字符,并根据所述更新占比率以及所述数组计算所述目标字符的第一概率值,且根据所述初始占比率以及所述目标字符对应的字符概率值计算所述目标字符的第二概率值;根据所述第一概率值以及所述第二概率值计算所述目标字符的目标概率值,并以所述目标概率值作为所述目标字符的字符概率值。3.根据权利要求2所述的方法,其特征在于,所述根据所述更新占比率以及所述数组计算所述目标字符的第一概率值,且根据所述初始占比率以及所述目标字符对应的字符概率值计算所述目标字符的第二概率值,包括:获取所述符号概率模型的总概率值,其中,所述总概率值与所述符号概率模型中的各个字符的字符概率值的和相等;以所述更新占比率与所述总概率值的乘积作为更新概率值,并以所述更新概率值与所述预设数量的比值作为单位更新概率值;根据所述目标字符在所述数组中的出现次数以及所述单位更新概率值计算所述目标字符的第一概率值,并根据所述初始占比率以及所述目标字符对应的字符概率值计算所述目标字符的第二概率值。4.根据权利要求3所述的方法,其特征在于,所述更新占比率为2的负s次方,且所述预设数量为2的t次方,其中,所述s与所述t皆为正整数。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标字符在所述数组中的出现次数以及所述单位更新概率值计算所述目标字符的第一概率值,并根据所述初始占比率以及所述目标字符对应的字符概率值计算所述目标字符的第二概率值,包括:当所述目标字符在所述符号概率模型中所处的位置不为末尾位置时,统计所述目标字符在所述数组中出现的次数得到目标次数;以所述目标次数与所述单位更新概率值的乘积作为所述目标字符的第一概率值;拷贝所述字符概率值以得到第一操作概率值,并将所述第一操作概率值右移所述s位,得到第二操作概率值;
以所述字符概率值与所述第二操作概率值的差值作为所述目标字符的第二概率值。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一概率值以及所述第二概率值计算所述目标字符的目标概率值,包括:当所述目标字符在所述符号概率模型中所处的位置不为末尾位置时,以所述第一概率值与所述第二概率值的和作为所述目标字符的目标概率值;当所述目标字符在所述符号概率模型中所处的位置为末尾位置时,累计在所述符号概率模型中位于末尾位置之前的所有字符对应的目标概率值,得到在先概率值,并以所述总概率值与所述在先概率值的差值作为所述目标字符的目标概率值。7.根据权利要求6所述的方法,其特征在于,所述以所述字符概率值与所述第二操作概率值的差值作为所述目标字符的第二概率值之前,所述方法还包括:以所述字符概率值的第0位至第s-1位编码作为第一误差参数,并以2的s次方作为第二误差参数;计算所述第一误差参数与所述第二误差参数的比值,得到所述目标字符的概率误差值。8.根据权利要求7所述的方法,其特征在于,所述当所述数组中的字符的数量达到所述预设数量时,根据所述数组更新所述符号概率模型之后,所述方法还包括:累计在所述符号概率模型中位于末尾位置之前的所有字符对应的概率误差值,得到概率总误差值;当所述概率总误差值大于第一预设值时,根据所述概率总误差值更新所述单位更新概率值;当所述数组中的字符的数量再次达到所述预设数量时,根据更新后的所述单位更新概率值以及所述数组更新所述符号概率模型。9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一项所述的上下文自适应的算术编解码方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至8中任一项所述的上下文自适应的算术编解码方法的步骤。

技术总结
本申请涉及多媒体技术领域,公开了一种上下文自适应的算术编解码方法,方法包括:获取待编码字符信息,并根据待编码字符信息获取与待编码字符信息对应的符号概率模型;从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码,且将待编码字符添加至预设数组中,直至数组中的字符的数量达到预设数量;当数组中的字符的数量达到预设数量时,根据数组更新符号概率模型,并清空数组;在清空数组之后,当待处理字符串中的待编码字符未编码完成时,执行从待编码字符信息中获取待编码字符,并根据符号概率模型对待编码字符进行编码的步骤,直至待处理字符串中的所有待编码字符均编码完成。码字符均编码完成。码字符均编码完成。


技术研发人员:叶兆华 曾志华
受保护的技术使用者:广州柯维新数码科技有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9476.html

最新回复(0)