1.一种数据编码方法,其特征在于,包括以下步骤:
获取待编码的二进制序列中符号x的个数cx、归一化概率p(x)以及非归一化概率
获取所述符号x的归一化概率模型的分布函数f(x)以及非归一化概率模型的分布函数f(x,r),并在任意时刻均有f(x,r)=rf(x);
设定r0=h0=1、l0=0,所述二进制序列中第i位符号x的算术编码公式为ri=ri-1rp(x)、li=li-1+ri-1f(x-1,r)以及hi=li+ri,所述r0、h0以及l0分别为算术编码公式的计算变量ri、hi以及li的初始值;所述i为循环变量;
设定rmax为所述系数r的最大阈值,
设定所述二进制序列的长度为len以及设定编码后li的值为v;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)以及li=li-1+ri-1f(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到ri=ri-1rp(1)以及li=li-1+ri-1f(1-1,r);直至第i位符号满足i>len时,编码完成,最终输出v、c0以及c1。
2.根据权利要求1所述的一种数据编码方法,其特征在于,还包括:对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
3.一种数据译码方法,其特征在于,包括以下步骤:
获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及v,所述v为所述二进制序列在编码时li的值;
设定i=1、r0=h0=1、l0=0、len以及upsymbol,所述r0、h0以及l0分别为算术编码公式ri=ri-1rp(x)、li=li-1+ri-1f(x-1,r)以及hi=li+ri中的计算变量ri、hi以及li的初始值;所述len为所述二进制序列的长度;所述upsymbol为所述二进制序列当前译码输出的符号,并设定upsymbol的初始值为0;所述i为循环变量;
将x=0代入公式
将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值
4.根据权利要求3所述的一种数据译码方法,其特征在于,还包括:若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值
5.一种数据编码装置,其特征在于,包括:编码信息获取单元、第一编码单元以及第二编码单元;
所述编码信息获取单元用于获取待编码的二进制序列中符号x的个数cx、归一化概率p(x)以及非归一化概率
所述编码信息获取单元还用于获取所述符号x的归一化概率模型的分布函数f(x)以及非归一化概率模型的分布函数f(x,r),并在任意时刻均有f(x,r)=rf(x);
所述第一编码单元用于设定r0=h0=1、l0=0,所述二进制序列中第i位符号x的算术编码公式为ri=ri-1rp(x)、li=li-1+ri-1f(x-1,r)以及hi=li+ri,所述r0、h0以及l0分别为算术编码公式的计算变量ri、hi以及li的初始值;所述i为循环变量;
所述第一编码单元还用于设定rmax为所述系数r的最大阈值,
所述第二编码单元用于设定所述二进制序列的长度为len以及设定编码后li的值为v;当所述二进制序列中的第i位符号为符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)以及li=li-1+ri-1f(0-1,r);当所述二进制序列中的第i位符号为符号1时,则将x=1代入算术编码公式得到ri=ri-1rp(1)以及li=li-1+ri-1f(1-1,r);直至第i位符号满足i>len时,编码完成,最终输出v、c0以及c1。
6.根据权利要求5所述的一种数据编码装置,其特征在于,所述第一编码单元还用于对所述二进制序列进行预处理,所述预处理包括在所述二进制序列中的每一个符号1后面添加至少一个符号0;或者包括在所述二进制序列中的每一个符号0后面添加至少一个符号1,并将所述二进制序列中的所有符号进行翻转。
7.一种数据译码装置,其特征在于,包括:译码信息获取单元、第一译码单元以及第二译码单元;
所述译码信息获取单元用于获取待译码的二进制序列中符号x的个数cx、归一化概率p(x)以及v,所述v为所述二进制序列在编码时li的值;
所述第一译码单元用于设定i=1、r0=h0=1、l0=0、len以及upsymbol,所述r0、h0以及l0分别为算术编码公式ri=ri-1rp(x)、li=li-1+ri-1f(x-1,r)以及hi=li+ri中的计算变量ri、hi以及li的初始值;所述len为所述二进制序列的长度;所述upsymbol为所述二进制序列当前译码输出的符号,并设定upsymbol的初始值为0;所述i为循环变量;
所述第一译码单元还用于将x=0代入公式
所述第二译码单元用于将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值
8.根据权利要求7所述的一种数据译码装置,其特征在于,所述第二译码单元还用于若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-2任一项所述的一种数据编码方法和/或执行如权利要求3-4任一项所述的一种数据译码方法。