[发明专利]一种基于分布式算术编码的隐马尔科夫相关信源编码方法有效

专利信息
申请号: 201310130164.1 申请日: 2013-04-16
公开(公告)号: CN103326731B 公开(公告)日: 2017-03-29
发明(设计)人: 方勇;陈亮;刘亚允 申请(专利权)人: 西北农林科技大学
主分类号: H03M7/40 分类号: H03M7/40
代理公司: 北京方圆嘉禾知识产权代理有限公司11385 代理人: 董芙蓉
地址: 712100 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 分布式 算术 编码 隐马尔科夫 相关 信源 方法
【权利要求书】:

1.一种基于分布式算术编码的隐马尔科夫相关信源编码方法,其特征在于,所述基于分布式算术编码的隐马尔科夫相关信源编码方法包括以下步骤:

产生信源;

对隐马尔科夫相关信源编码;

利用前向算法进行的解码。

2.如权利要求1所述的基于分布式算术编码的隐马尔科夫相关信源编码方法,其特征在于,所述产生信源的步骤为:

读取HMM文件,确定隐马尔科夫模型;

应用隐马尔科夫模型计算观察值序列O;

根据偏差概率p,生成信源X;

将信源X与观察值序列O进行异或运算,生成边信息Y。

3.如权利要求1所述的基于分布式算术编码的隐马尔科夫相关信源编码方法,其特征在于,所述对隐马尔科夫相关信源编码步骤为:

设p是二元信源X的偏差概率,即p=P(xt=1),在经典的算术编码中,信源符号xt被迭代的映射到[0,1)的子区间中,这个子区间的长度与(1-p)和p成比例,在分布式算术编码中,分配的子区间会有重叠,即符号xt=0和xt=1分别对应于区间[0,(1-p)γ)和[1-pγ,1),定义low和high表示编码区间,range表示整个区间长度,half_range表示区间的一半,first_quarter表示整个区间的四分之一大小,third_quarter表示整个区间的四分之三大小。

4.如权利要求3所述的基于分布式算术编码的隐马尔科夫相关信源编码方法,其特征在于,所述对隐马尔科夫相关信源编码还包括具体的区间放大操作

当high<half_range时,这时子区间完全处在上半区,该区间的上下端点的最高有效位都是0,输出相同的最高有效位0,然后将区间的上界和下界分别扩大2倍,即:low=2*low,high=2*high;

当low>half_range时,这时子区间完全处在下半区,该区间的上下端点的最高有效位都是1,此时输出相同的最高有效位1,然后将区间的上界和下界分别扩大,即:low=2*(low-half_range),high=2*(high-half_range);

当first_quarter≤low≤high≤third_quarter,如果还是按照上述的方法对low和high进行更新,由于子区间不断缩小,所以子区间总是会处在first_quarter≤low≤high≤third_quarter这个区间里,而始终没有相同的最高比特位可以输出,所以在这种情况下就用新的方法进行子区间更新:low=2*(low-first_quarter),high=2*(high-first_quarter)+1。

5.如权利要求1所述的基于分布式算术编码的隐马尔科夫相关信源编码方法,其特征在于,所述利用前向算法进行的解码步骤为:

定义一个结构体node,结构体包括low,high,用来表示概率区间,metric用来表示每个分支的重要程度即分支中各个结点度量的总和,alpha用来记录局部概率αt(i),path用来保存解码出的字符,另外定义数组scale[2],其中scale[0]表示当前解码符号为0或1时,边信息对应位置符号为0的总概率,scale[0]=alpha[0][0]+alpha[0][1];scale[1]表示当前解码符号为0或1时,边信息对应位置符号为1的总概率,scale[1]=alpha[1][0]+alpha[1][1];

步骤一、根据原始信源X的长度N,分配解码所需的结点空间,并初始化分布式算术码的解码缓冲区;

步骤二、在第i次解码过程中(0<i≤N),读取边信息当前位置的字符si

步骤三、使用前向算法,对每个结点,计算第i次解码时,产生0分支和1分支的概率,当i=1即在状态处于初始时刻时,局部概率用公式α1(i)=πibi(z1)来计算并用alpha数组记录,当i>1时,局部概率用公式计算,公式中变量αt-1(j)由结构体node内取得,每次计算后,得到本次迭代的alpha[0],alpha[1],scale[0]和scale[1],scale[0]表示当前解码符号为0或1时,边信息对应位置符号为0的总概率,scale[0]=alpha[0][0]+alpha[0][1];scale[1]表示当前解码符号为0或1时,边信息对应位置符号为1的总概率,scale[1]=alpha[1][0]+alpha[1][1];

步骤四、计算第i次解码的符号ci,如果码字没有落在重叠区域内,则把当前的符号写入node.path,并将解码符号ci和边信息si进行异或运算,当前点的度量就用到达该点的所有路径的概率之和来表示,也就是scale[0]或者scale[1],如果边信息和当前解码符号相同,当前点的度量就用scale[0]表示,如果边信息和当前解码符号不同,就用scale[1]表示,并将结点中的局部alpha更新为更新整条分支的重要性,对于第k条分支,如果码字落在重叠区域内,则产生两个分支m和n,这时候node[m].metric表示的是与边信息相同的分支的度量,即当边信息为1时,node[m].metric表示1分支的度量,当边信息为0时,node[m].metric表示0分支的度量,而node[n].metric则相反,表示与边信息相反的分支的度量,对于m分支,其存储的符号与边信息相同,此时所以m分支的整体重要性就用node[m].metric+=log(scale[0])表示,即m分支上当前所有点的scale值的乘积,而n分支的整体重要性就用node[n].metric+=log(scale[1])表示,即n分支上当前所有点的scale值的乘积,并用新的概率alpha[0]更新原node点中node[m].alpha,用新的alpha[1]更新原node点中的node[n].alpha;

步骤五、由于解码一次就会产生新的解码区间,所以计算完分支的度量并更新了局部概率后,要更新概率区间和相关的信息;

步骤六、对所有分支按照metric值从大到小进行排序,如果分支数大于我们所设定的阈值M,则将多余的分支剪掉,如果i<N,则返回步骤二;否则,解码结束,将分支排序后的第一条分支中path保存的数据作为解码输出。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北农林科技大学,未经西北农林科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310130164.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top