一种数据编码方法及译码方法与流程

文档序号:19578687发布日期:2019-12-31 19:43阅读:来源:国知局

技术特征:

1.一种数据编码方法,其特征在于,包括以下步骤:

获取待编码的二进制序列中符号x的个数cx、归一化概率p(x)以及非归一化概率设定在任意时刻均有系数r使得

获取所述符号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的最大阈值,将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;

设定所述二进制序列的长度为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代入公式中,得到系数r的最大阈值rmax,对rmax进行解密处理,还原出系数r;所述解密处理具体包括从rmax的小数点后k+1位开始,输入密码信息还原出系数r;

将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值时,则upsymbol=0;当时,则upsymbol=1;依次译码直至所述二进制序列中第i位符号满足i>len后,译码完成。

4.根据权利要求3所述的一种数据译码方法,其特征在于,还包括:若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值所述时,则upsymbol=0;当时,若upsymbol=1,则译码错误;若upsymbol=0,则输出符号1并记录upsymbol=1;依次译码直至所述二进制序列中第i位符号满足i>len后,删除每个符号1后面的添加的符号0。

5.一种数据编码装置,其特征在于,包括:编码信息获取单元、第一编码单元以及第二编码单元;

所述编码信息获取单元用于获取待编码的二进制序列中符号x的个数cx、归一化概率p(x)以及非归一化概率设定在任意时刻均有系数r使得

所述编码信息获取单元还用于获取所述符号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的最大阈值,将x=0代入至rmax中得到对所述系数r进行加密处理并使得r∈(0,rmax];所述加密处理具体包括保留rmax的小数点后k位,并在小数点后k+1位开始添加密码信息;

所述第二编码单元用于设定所述二进制序列的长度为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代入公式中,得到系数r的最大阈值rmax,对rmax进行解密处理,还原出系数r;所述解密处理具体包括从rmax的小数点后k+1位开始,输入密码信息还原出系数r;

所述第二译码单元用于将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值时,则upsymbol=0;当时,则upsymbol=1;依次译码直至所述二进制序列中第i位符号满足i>len后,译码完成。

8.根据权利要求7所述的一种数据译码装置,其特征在于,所述第二译码单元还用于若所述待译码的二进制序列在编码的过程中已对每一个符号1后面添加至少一个符号0时,则将x=0代入算术编码公式得到ri=ri-1rp(0)、li=li-1+ri-1f(0-1,r)以及hi=li+ri,得出所述二进制序列中第i位符号0的区间上标值所述时,则upsymbol=0;当时,若upsymbol=1,则译码错误;若upsymbol=0,则输出符号1并记录upsymbol=1;依次译码直至所述二进制序列中第i位符号满足i>len后,删除每个符号1后面的添加的符号0。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-2任一项所述的一种数据编码方法和/或执行如权利要求3-4任一项所述的一种数据译码方法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1