实现前缀码构造的装置和方法

文档序号:7703803阅读:208来源:国知局
专利名称:实现前缀码构造的装置和方法
技术领域
本发明涉及移动通讯系统领域,尤其涉及在移动通讯系统中一种 实现前缀码构造的装置和方法。
背景技术
随着移动通讯的发展和普及,人们对实时多媒体应用业务的需求
越来越迫切。为此,CDMA0-EVDO移动通讯系统引入了多流应用, 以支持基于服务质量(Quality of Service )的实时多々某体应用业务。 在该移动通讯系统中,每个用户在应用层可以建立多个无线链;洛协议 (Radio Link Protocol, RLP )流。为了标识一个RLP报文属于哪个 流,需要为每个RLP流配置RLPID和RLPIDLength属性。RLPID表 示二进制码字段。RLPIDLength表示RLPID对应的二进制码的位数。
请参阅图l,其是RLP报文示意图。RLP报文首部(Header)的高 RLPIDLength位是RLPID字#殳。当接入终端(Access Terminal)或接 入网络(Access Network )收到RLP报文时,若RLP 4艮文首部中RLPID 字段与某个流的RLPID属性相匹配,则该报文就属于这个流。
为了使这种识别方式具有唯一性,要求所有流的RLPID满足 任意RLPID不是其他RLPID的前缀。
另外,在实际应用中,考虑到RLPIDLength的大小会间接影响 一个流上收发报文的速率,该参数须根据运营商的要求来配置。所以, 业界希望通过一组给定的RLPIDLength构造一组RLPID,使这组 RLPID构成前缀码,满足使用中对收发报文的速率的要求。
著名的哈夫曼编码就是一种构造前缀码的方法,它通过构造最优 二叉树来构造一组平均码长最短的前缀码。然而,对于上述移动通讯 中的前缀码应用,该算法存在一个问题它可以通过给定的概率分布 构造一组平均码长最短的前缀码,但无法通过一组给定的编码长度来 构造相应的前缀码。也就是i兌,通过该方法,无法才艮据给定的RLPIDLength来构造RLPID。

发明内容
为解决无法通过一组给定的编码长度来构造相应的前缀码的问 题,有必要提供一种可以通过一组给定的编码长度来构造相应的前缀 码的实现前缀码构造的装置。
此外,还有必要提供一种上述的实现前缀码构造的方法。 本发明实现前缀码构造的装置包括排序索引器,生成器和顺序调 整器,其中
所述排序索引器用于接收一组编码长度,并对所述编码长度排 序,得到一组有序编码长度,且记录所述有序编码长度与所述编码长 度的位置对应关系;
所述生成器接收所述有序编码长度,依次生成所述有序编码长度 对应的前缀码,除第一个前缀码预先设定外,当前前缀码为与其相邻 的前一前缀码加1之后左移若干位数,所述若千位数为所述当前前缀 码对应的有序编码长度与前一前缀码对应的有序编码长度之差,并 且,在生成所述当前前缀码的同时,判断所述前一前缀码是否与所述 当前前缀码从高位算起相同,若是,输出错误信息,否则,生成所述 有序编码长度对应的前缀码;
所述顺序调整器用于接收所述有序编码长度对应的前缀码,并根 据所述排序索引器记录的所述位置对应关系,对所述有序编码长度对 应的前缀码进行顺序调整,得到所述编码长度对应的前缀码。
在上述装置中,对所述编码长度排序按照从小到大顺序排序。
在上述装置中,所述第一个前缀码预先设定为0。
在上述装置中,还包括输入接口,所述输入接口用于接收用户输 入的所述编码长度,并将所述编码长度传输到所述排序索引器。
在上述装置中,还包括输出接口,所述输出接口用于接收并输出 所述生成器传输的所述错误信息或者所述顺序调整器传输的所述编 码长度对应的前缀码。
本发明实现前缀码构造的方法包括以下步骤排序索引器接收一组编码长度,并对所述编码长度排序,得到一 组有序编码长度,且记录所述有序编码长度与所述编码长度的位置对 应关系;
生成器接收所述有序编码长度,依次生成对应的前缀码,除第一 个前缀码预先i殳定外,当前前缀码为与其相邻的前一前缀码加1之后 左移若干位数,所述若干位数为所述当前前缀码对应的有序编码长度 与前一前缀码对应的有序编码长度之差,判断前一前缀码是否与当前 前缀码从高位算起相同,若是,则构造失败,输出错误信息报错,否
则,构造成功,生成所述有序编码长度对应的前缀码;
所述顺序调整器接收所述有序编码长度对应的前缀码,并根据所 述排序索引器记录的所述位置对应关系,对所述有序编码长度对应的 前缀码进行顺序调整,得到所述编码长度对应的前缀码。
在上述方法中,对所述编码长度排序按照从小到大顺序排序。
在上述方法中,所述第一个前缀码预先设定为0。
在上述方法中,所述判断前一前缀码是否与当前前缀码从高位算
起相同指判断所述前一前缀码的所有比特位是否不全为1。
在上述方法中,通过输出接口接收并输出所述顺序调整器传输的 所述编码长度对应的前缀码。
与现有技术相比较,本发明实现前缀码构造的装置和方法采用了 排序索引器对编码长度进行排序,得到有序编码长度,再由生成器接 收有序编码长度,依次生成其对应的前缀码,最后通过顺序调整器进 行顺序调整,得到编码长度对应的前缀码。不仅实现了可以通过一组 给定的编码长度来构造相应的前缀码的目的,而且当满足条件的前缀 码理论上不存在时,该方法可以及时报错。
在结合附图阅读本发明实施方式的详细描述后,本发明的特点和 优点将变得更加清楚。


图1是RLP报文示意图2是本发明实现前缀码构造的装置结构示意图;图3是本发明实现前缀码构造的方法流程图; 图4是图3步骤S2的具体示意图5至图6是本发明实现前缀码构造的方法一具体运用示意图; 图7至图8是本发明实现前缀码构造的方法另一具体运用示意图。
具体实施例方式
下面结合附图对本发明实现前缀码构造的装置和方法进行说明。 请参阅图2,其是本发明实现前缀码构造的装置结构示意图。 实现前缀码构造的装置包括输入接口 201、排序索引器202、生 成器203、顺序调整器204和输出接口 205。
输入接口 201用于4妄收用户输入的 一 组编码长度 RLPIDLength[N],并将RLPIDLength[N]传输到排序索引器202。每 组RLPIDLength[N]包括RLPIDLength[O] , RLPIDLength[l], RLPIDLength[2].. RLPIDLength[i]... RLPIDLength[N-1 ]且共N个。其 中,N, i为整数。
排序索引器202用于接收输入接口 201传输的RLPIDLength[N], 并对RLPIDLength[N]内的编码长度排序,得到 一组有序编码长度 S—RLPIDLength[N],且记录S—RLPIDLength[N]与RLPIDLength[N] 的位置对应关系Index[N]。 每组S—RLPIDLength[N] 包括 S—RLPIDLength[O] , S一RLPIDLength[l] , S—RLPIDLength[2]... S—RLPIDLength[i]...S—RLPIDLength[N-l〗且共N个。
生成器203接收S_RLPIDLength[N],依次生成S—RLPIDLength[N] 中每个编码长度S_RLPIDLength[i]对应的前缀码S—RLPID[i]。 S—RLPID[i]构成 一 组前缀码S—RLPID[N]。除第 一 个前缀码 S一RLPID
预先设定外,当前前缀码S一RLPID[i]为与其相邻的前一 前缀码S—RLPID[i-l]加1之后左移若干位数,该若干位lt为 S—RLPID[i]对应的 S_RLPIDLength[i]与 S_RLPlD[i-l]对应的 S一RLPIDLength[i-l]之差。并且,在生成S一RLPID[i]的同时,判断 S—RLPID[i-l]是否与S—RLPID[i]从高位算起相同,若是,则构造失败,
7向输出接口 205输出4晉误信息;否则,构造成功,生成S—RLPID[N], 并向顺序调整器204传输S一RLPID[N]。
顺序调整器204用于接收S一RLPID[N],并根据排序索引器202 记录的S_RLPIDLength[N]与RLPIDLength[N]的位置对应关系 Index[N],对S—RLPID[N]进行顺序调整,得到RLPIDLength[N]对应 的前缀码RLPID[N]。
输出接口 205用于接收并输出生成器203传输的错误信息或者顺 序调整器204传输的RLPID[N]。
请参阅图3,其是本发明实现前缀码构造的方法流程图。
实现前缀码构造的方法包括以下步骤
步骤Sl、排序索引器202接收一组编码长度RLPIDLength[N], 并对所述编码长度RLPIDLength[N]排序,得到一组有序编码长度 S—RLPIDLength[N],且记录所述有序编码长度S—RLPIDLength[N]与 所述编码长度RLPIDLength[N]的位置对应关系Index[N];
步骤S2、生成器203接收所述有序编码长度S一RLPIDLength[N], 依次生成对应的前缀码S一RLPID[i],除第一个前缀码S一RLPID[O]预 先设定外,当前前缀码S—RLPID[i]为与其相邻的前一前缀码 S—RLPID[i-l]加1之后左移若干位数,所述若干位数为所述当前前缀 码S一RLPID[i]对应的有序编码长度S一RLPIDLength[i]与前一前缀码 S—RLPID[i-l]对应的有序编码长度S一RLPIDLength[i-l]之差,判断前 一前缀码S—RLPID[i-l]是否与当前前缀码S—RLPID[i]从高位算起相 同,若是,输出错误信息报错;否则,生成所述有序编码长度 S—RLPIDLength[N]对应的前缀码S—RLPID[N];
步骤S3、所述顺序调整器204接收所述有序编码长度 S一RLPIDLength[N]对应的前缀码S—RLPID[N],并根据所述排序索? 1 器202记录的所述位置对应关系Index[N],对所述有序编码长度 S—RLPIDLength[N]对应的前缀码S—RLPID[N]进行顺序调整,得到所 述编码长度RLPIDLength[N]对应的前缀码RLPID[N]。
请参阅图4,其是图3步骤S2的具体示意图。在上述步骤S2中, 其进一步包括以下具体步骤S21 、生成器203接收一组有序编码长度S—RLPIDLength[N];
522、 定义数组S—RLPID[N],用来存储该组S—RLPIDLength[N] 中每个编码长度构造的前缀码RLPID,预先设定第一个前缀码 S—RLPID
=0;
523、 定义整数i作为数组S—RLPID[N]的下标,并初始化i为1;
524、 判断i是否不大于N-l,若是,执行步骤S25,否则,执行 步骤S27;
525、 判断前一前缀码是否与当前前缀码从高位算起相同,即判 断S—RLPID[i-l]是否等于2S-虹P肌eng邮—1] — l,也即判断S—RLPID[i-l] 所有比特位是否全为l,若是,执行步骤S28,否则,执行步骤S26;
526、 生成S—RLPID[i-l], S一RLPID[i] = ( S—RLPID[i — 1] + 1 ) ( S—RLPIDLength[i] — S—RLPIDLength[i — 1]), i再加1 ,并执行 步骤S24;
527、 向顺序调整器204传输生成的前缀码;
528、 向输出接口 205传输错误信息。
请参阅图5至图6,是本发明实现前缀码构造的方法一具体运用 示意图。
7个RLP流的编码长度分别为3、 3、 3、 2、 2、 6、 6。即 RLPIDLength[N] = {3、 3、 3、 2、 2、 6、 6}。
通过输入接口 201将RLPIDLength[N]输入到实现前缀码构造的 装置,由排序索引器202对RLPIDLength[N]进行由小到大排序,得 到S—RLPIDLength[N] = {2、 2、 3、 3、 3、 6、 6},并且记录下两者的 对应位置关系Index[N] = {3、 4、 0、 1、 2、 5、 6}。比如,Index[3]= 1表示RLPIDLength[l]与S—RLPIDLength[3]相对应。
生成器203接收S—RLPIDLength[N],并构造S—RLPID[N]。
(1) 将S—RLPID
预先设定为0。
(2) 判断得出S—RLPID
比特位不全为1,所以
S—RLPID[l] = ( S一RLPID[O] + 1 ) 《 (S—RLPIDLength[l]-S—RLPIDLength[O]) =1;
(3) 判断得出S—RLPID[1]比特位不全为1,所以
9S—RLPID[2] = ( S一RLPID[l] + 1 ) ( S—RLPIDLength[2]-S一RLPIDLength[l]) =4;
(4) 判断得出S—RLPID[2]比特位不全为1,所以
S—RLPID[3] = ( S一RLPID[2] + 1 ) ( S—RLPIDLength[3]-S一RLPIDLength[2]) =5;
(5) 判断得出S—RLPID[3]比特位不全为1,所以
S—RLPID[4] = ( S一RLPID[3] + 1 ) 《 (S—RLPIDLength[4] -S一RLPIDLength[3]) = 6;
(6) 判断得出S—RLPID[4]比特位不全为1,所以
S—RLPID[5] = ( S—RLPID[4] + 1) ( S—RLPIDLength[5]-S一RLPIDLength[4]) = 56;
(7) 判断得出S—RLPID[5]比特位不全为1,所以
S—RLPID[6] = ( S—RLPID[5] + 1 ) 《(S—RLPIDLength[6]-S一RLPIDLength[5]) = 57。
从而构造得出S—RLPID[N] = {0、 1、 4、 5、 6、 56、 57}。
顺序调整器204根据S一RLPID[N]和Index[N]得到RLPID[N]= {4、 5、 6、 0、 1、 56、 57}。比如,Index[3] = 1表示S—RLPID[3]与 RLPID[1]对应,而S—RLPID[3] = 5,所以RLPID[l] = 5。
最后,由输出接口 205将RLPID[N]输出。
请参阅图7至图8,是本发明实现前缀码构造的方法另一具体运 用示意图。
7个RLP流的编码长度分别为2、 6、 3、 2、 3、 3、 2,即 RLPIDLength[N] = {2、 6、 3、 2、 3、 3、 2}。
通过输入接口 201将RLPIDLength[N]输入到实现前缀码构造的 装置,由排序索引器202对RLPIDLength[N]进行由小到大排序,得 到S—RLPIDLength[N] = {2、 2、 2、 3、 3、 3、 6},并且记录下两者的 对应位置关系Index[N]。
生成器203接收S—RLPIDLength[N],并构造S_RLPID[N]。 (1 )将S—RLPID[O]赋值为0。 (2)判断得出S—RLPID[O]比特位不全为1,所以S—RLPID[l] = ( S—RLPID[O] + 1 ) 《 (S—RLPIDLength[l〗— S一RLPIDLength[O]) =1;
(3) 判断得出S—RLPID[1]比特位不全为1,所以
S—RLPID[2] = ( S—RLPID[l] + 1 ) 《 (S一RLPIDLength[2] -S—RLPIDLength[ 1 ]) = 3;
(4) 判断得出S—RLPID[2]比特位不全为1,所以
S—RLPID[3] = ( S一RLPID[2] + 1 ) 《(S—RLPIDLength[3] -S—RLPIDLength[2]) = 6;
(5) 判断得出S—RLPID[3]比特位不全为1,所以
S—RLPID[4] = ( S一RLPID[3] + 1 ) 《(S—RLPIDLength[4]-S一RLPIDLength[3]) = 7;
(6) 判断得出S—RLPID[4]的比特位全为1,则构造失败。 最后,向输出接口 205传输错误信息,由输出接口 205将错误信
息l俞出。
与现有技术相比较,本发明实现前缀码构造的装置和方法釆用了 排序索引器对编码长度进行排序,得到有序编码长度,再由生成器接 收有序编码长度,依次生成其对应的前缀码,最后通过顺序调整器进 行顺序调整,得到编码长度对应的前缀码。不仅实现了可以通过一组 给定的编码长度来构造相应的前缀码的目的,而且,当满足条件的前 缀码理论上不存在时,该方法也可以及时报错。
以上仅为本发明的优选实施案例而已,并不用于限制本发明,对 于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发 明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
权利要求
1、一种实现前缀码构造的装置,其特征在于,其包括排序索引器,生成器和顺序调整器,其中所述排序索引器用于接收一组编码长度,并对所述编码长度排序,得到一组有序编码长度,且记录所述有序编码长度与所述编码长度的位置对应关系;所述生成器接收所述有序编码长度,依次生成所述有序编码长度对应的前缀码,除第一个前缀码预先设定外,当前前缀码为与其相邻的前一前缀码加1之后左移若干位数,所述若干位数为所述当前前缀码对应的有序编码长度与前一前缀码对应的有序编码长度之差,并且,在生成所述当前前缀码的同时,判断所述前一前缀码是否与所述当前前缀码从高位算起相同,若是,输出错误信息,否则,生成所述有序编码长度对应的前缀码;所述顺序调整器用于接收所述有序编码长度对应的前缀码,并根据所述排序索引器记录的所述位置对应关系,对所述有序编码长度对应的前缀码进行顺序调整,得到所述编码长度对应的前缀码。
2、 根据权利要求1所述的实现前缀码构造的装置,其特征在于, 对所述编码长度排序按照从小到大顺序排序。
3、 根据权利要求1所述的实现前缀码构造的装置,其特征在于, 所述第一个前缀码预先设定为0。
4、 根据权利要求1所述的实现前缀码构造的装置,其特征在于, 还包括输入接口 ,所述输入接口用于接收用户输入的所述编码长度, 并将所述编码长度传输到所述排序索引器。
5、 根据权利要求1所述的实现前缀码构造的装置,其特征在于, 还包括输出接口 ,所述输出接口用于接收并输出所述生成器传输的所 述错误信息或者所述顺序调整器传输的所述编码长度对应的前缀码。
6、 一种实现前缀码构造的方法,其特征在于,包括以下步骤排序索引器接收一组编码长度,并对所述编码长度排序,得到一 组有序编码长度,且记录所述有序编码长度与所述编码长度的位置对应关系;生成器接收所述有序编码长度,依次生成对应的前缀码,除第一 个前缀码预先设定外,当前前缀码为与其相邻的前一前缀码加l之后 左移若干位数,所述若干位数为所述当前前缀码对应的有序编码长度 与前一前缀码对应的有序编码长度之差,判断前一前缀码是否与当前 前缀码从高位算起相同,若是,则构造失败,输出错误信息报错,否则,构造成功,生成所述有序编码长度对应的前缀码;所述顺序调整器接收所述有序编码长度对应的前缀码,并根据所 述排序索引器记录的所述位置对应关系,对所述有序编码长度对应的前缀码进行顺序调整,得到所述编码长度对应的前缀码。
7、 根据权利要求6所述的实现前缀码构造的方法,其特征在于, 对所述编码长度排序按照从小到大顺序排序。
8、 根据权利要求6所述的实现前缀码构造的方法,其特征在于, 所述第一个前缀码预先设定为0。
9 、根据权利要求6所述的实现前缀码构造的方法,其特征在于, 所述判断前一前缀码是否与当前前缀码从高位算起相同指判断所述 前一前缀码的所有比特位是否不全为1。
10、根据权利要求6所述的实现前缀码构造的方法,其特征在于, 通过输出接口接收并输出所述顺序调整器传输的所述编码长度对应 的前缀码。
全文摘要
本发明公开了一种实现前缀码构造的装置和方法。本发明实现前缀码构造的装置和方法采用了排序索引器对编码长度进行排序,得到有序编码长度,再由生成器接收有序编码长度,依次生成其对应的前缀码,最后通过顺序调整器进行顺序调整,得到编码长度对应的前缀码。不仅实现了可以通过一组给定的编码长度来构造相应的前缀码的目的,而且当满足条件的前缀码理论上不存在时,该方法可以及时报错。
文档编号H04L29/06GK101505155SQ20091010554
公开日2009年8月12日 申请日期2009年2月19日 优先权日2009年2月19日
发明者佟志新, 磊 喻, 孙洪峰, 翟来国, 铮 魏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1