一种提高端到端服务质量的编码方法

文档序号:7950940阅读:223来源:国知局
专利名称:一种提高端到端服务质量的编码方法
技术领域
本发明涉及数据通信领域,具体地说,涉及一种提高IP网络端到端的QoS(Quality of Service)的编码方法。
QoS保证机制可以嵌入因特网协议栈的IP层和TCP层之中,为了使IP层和TCP层的解决方案能够工作,需要以底层协议的形式对它加以约定,并使整个因特网的节点遵守这种约定。这一过程的时间往往很长,因为底层的改动意味着更大的开销、更多的复杂性和不可预估的因素。此外,底层QoS普遍还面临着“囚徒困境”的问题,即如果系统内所有结点都遵循某种QoS解决方案,那么系统的QoS确实可以得到提高和改善;但是如果有少数“不诚实”的结点不遵守规则的话,则这些结点可以期望获得更大的“利益”;与之相对应的,其他大多数“诚实”结点的“利益”就受到了损害。
为有效规避底层QoS“囚徒困境”的状况,作为一个折衷,在应用层采用端到端的QoS解决方法,通过对特定通信端点,即有特定QoS要求的端点的行为做相应的控制来改善对其可见的QoS,这种解决方法使得改善对特定通信端点可见的传输质量成为可能。
由于上述的优点,端到端的QoS已经逐渐为业界所重视,实现端到端的QoS可以采用冗余容错编码的方法。一般地,冗余容错编码是将N个长度为L的原数据区编码为(N+M)个编码数据区,每个数据区的长度仍为L,利用这N+M个编码数据区中的任意N个即可恢复N个原数据区。目前适用于任意M的冗余容错方法都是基于RS(Reed-Solomon)编码的。
在实现IP网络的QoS保证时,可以通过增加适当的源端点的传输冗余来抑制丢包事件对系统性能的影响。具体方法是,源端点将N个原数据包编码为(N+M)个编码包,如果传输的过程中丢包的个数不大于M,则目的端点利用传输成功的任意N个编码包即可恢复N个原数据包。如果假设不同包的丢失是统计独立的,并且丢包概率不大,那么一个较小的M就可以非常显著地改善系统传输性能。
但是RS编码的实现思想较复杂,计算的时间和空间开销也较大,限制了在实时环境下的应用。RS编码的复杂性在于其使用的加、乘运算并非定义于实数域上的普通加、乘运算,而是定义于具有2w个元素的伽罗华域上的加、乘;这里的指数w是编码算法每次处理的比特数(以下简称为处理字长,算法的时间效率正比于处理字长)。由于通用计算机不具备直接处理伽罗华域上的运算的能力,所以实际的实现中,或者需要设计专门的硬件;或者需要利用软件,通过表驱动的方式实现运算。前一种处理方式增加了硬件成本,后一种处理方式除了会明显降低编码方法的时间效率,还要求系统维护两个容量为w2w/8字节的运算表,当w接近大多数通用微机的字长时(32比特),内存开销将成为不可接受的。
在美国专利US5928331中描述了一种利用传输冗余实现端到端的QoS的方法。但是该专利中使用的冗余编码存在着如下不足当每个编码组中丢失的包超过一个时,信号恢复(即解码)的质量就会下降,并且丢失的包越多,信号恢复的质量越差。
本发明所述编码方法,包括以下步骤一、根据传输性能要求和测量的丢包概率p,选择编码的冗余包数m和每个编码组中所包含的原数据包的数目n;二、确定混洗素矩阵;三、根据步骤二所得的混洗素矩阵确定处理字长w和每个处理字的附加比特数a;四、发送端将需传送的数据包分成每n个一组,利用步骤二得到的混洗素矩阵,将n个原数据包编码为n+m个编码数据包,原数据包的每个处理字的字长被编码为w+a个比特,然后发送;五、接收端根据收到的每组编码包的前n个数据包进行解码,恢复数据包。
所述步骤二确定混洗素矩阵进一步包括1)n阶单位方阵构成所述混洗素矩阵的前n行;2)在前m×n+k个素数构成的集合{P1,P2,…,Pm×n+k}中优化选择所述混洗素矩阵的后m×n个元素,这里k是一个小于n的正整数。
所述步骤五的解码方法进一步包括1)在n+m个编码数据包中任选n个数据包;2)从所述混洗素矩阵中消去这n个编码数据包所对应的行,得到的n阶方阵记为R,求其逆R-1;3)根据所得的n个编码数据包和逆R-1恢复n个原数据包。
所述步骤二的2)采用进化算法、模拟煺火算法等非线性搜索方法进行优化选择,优化的条件是使F的各个n阶子阵的条件数尽可能的小。
本发明采用基于混洗素矩阵(Shuffled Prime Matrix,简称SPM)的编码方法来提高IP网络的QoS,显著提高了应用端点的时间和空间效率,而没有给通信子网带来显著的额外负担。同时,本方法也继承了原有RS编码的一般性特征在不影响恢复质量的情况下容错多个包的丢失,并且还具有良好的时间和空间效率,更适合于实时应用。与美国专利US5928331相比,本发明显著提高了端到端QoS的一般性和对信号质量的保证。


图1是本发明所述方法的流程图。
图2是本发明所述方法中确定混洗素矩阵的流程图。
图3是本发明所述方法中解码的流程图。
图1所示的流程图说明了本发明利用SPM编码提高IP网络端到端的QoS的核心步骤。
假设网络丢包概率为p,并且独立统计不同包的丢失概率,则通过适当加入传输冗余,可使传输质量满足性能要求。
根据传输性能的要求和测量获得的丢包概率p,适当选择每个编码组中所包含的原数据包的数目n和冗余包数m。由于矩阵求逆是O(n2)算法,并且实时性应用的同步要求很高,所以在实时应用环境中m,n的数值不宜大,具体取值可权衡性能指标确定。然后确定混洗素矩阵F,确定混洗素矩阵的步骤见图2,在后面具体说明。根据确定的F选择下列关键参数1)处理字长w,处理字长w和解码的误码率上限、F的各个n阶子阵的条件数相关,以比特为单位;2)每个处理字的附加比特数a一般地,a为大于log2‖F‖的最小整数,‖●‖1为矩阵的1范数。发送端将需传送的数据包分成每n个一组,并利用矩阵F将n个原数据区编码成n+m个编码数据区,原数据区的每个处理字被编码为w+a个比特,然后发送;接收端对收到的每组编码包的n个编码数据区进行解码,恢复原数据包。
本发明的关键在于利用混洗素矩阵对数据进行编码。下面先简要描述混洗素矩阵编码的基本思想。
设原数据由n个数据区组成,分别记为D1,D2,...,Dn,每个数据区是一个有序的数据字序列,序列长度以字为单位记为L,第i个原数据区的第i个字记为dij。为了将原数据区D1,D2,…,Dn编码为n+m个长度仍为L的编码数据区C1,C2,…,Cn+m,其第i个编码数据区的第j个字记为cij,并且再由任意n个编码数据区恢复成n个原数据区,可构造一个(n+m)×n矩阵F≡f11f12…f1nf21f22…f2n.........f(n+m)1f(n+m)2…f(n+m)n,]]>使得F满足1)---Fdi1di2...din=ci1ci2...ci(n+m),i=1,2,···,L;]]>2)由F的任意n个行向量构成的方阵都满秩,如果这样的矩阵F存在,那么原则上利用任意n个编码数掘区Ck1,Ck2,···,Ckn,1≤k1<k2<···<kn≤n+m]]>即可恢复原n个编码数据区。
满足上述条件的矩阵F是存在的,例如,F可由n阶单位方阵和m×n阶范德蒙矩阵构造 RS编码的基本思路也是如此,但RS编码是通过将运算定义在某个封闭的有限数域如伽罗华域上来解决了溢出和舍入误差造成的问题,需花费较长时间和占掘较多的空间。
基于时间和空间效率的考虑,本发明引入若干的附加比特来解决溢出问题,并且仔细选择矩阵F,使其任意n阶子阵不仅满秩,而且还尽可能是良态矩阵,即矩阵的条件数尽可能地小,以屏蔽舍入误差的影响。这一编码方法的关键在于矩阵F的选择。由于范德蒙矩阵是典型的病态矩阵,无法直接应用于F的构造,本发明采用图2所示的流程图确定矩阵F。
下面介绍混洗素矩阵的生成F的前n行由n阶单位方阵构成;而F的后m行的元素均属于前m×n+k个素数构成的集合{P1,P2,…,Pm×n+k},0<k<n。由于行列式的性质,F的各个n阶子阵满秩的几率很高。然后利用通用的非线性搜索算法,如进化算法、模拟煺火算法等对F的后m行的各元素在{P1,P2,…,Pm×n+k}中的具体选择加以优化,优化的条件是使F的各个n阶子阵的条件数尽可能的小。这样生成的矩阵F就称为混洗素矩阵。
下面分析SPM编码方法相对于RS编码方法在时间—空间效率方面的提高。
在时间效率方面,RS编码的加减运算(实际上是位异或操作)开销与SPM编码相同;但是RS编码的乘除运算需要多步逻辑和算术运算实现,这些运算通常需要编码为函数,或者为了节约每次函数调用的额外开销,将其定义为宏,这相当于在每个乘除运算出现的地方插入宏所对应的码段,而SPM编码只需要普通的乘除运算,比较普通乘除运算时间开销T与处理字长w=16的伽罗华域上的乘除运算的之间时间开销LG,其结果为T∶TG≈1∶5。这样在一次处理中SPM编码的加速比大约为3,又由于SPM编码通常可以处理更长的字,如当m,n≤10时,SPM编码的处理字长可以取为32-48。假设RS编码的处理字长为16,由于RS编码需要维护长度为w2w/4字节的表,所以即使略大一些的处理字长也很可能是不现实的,这样SPM编码的综合时间效率可以提高约6-9倍。
在空间效率方面,SPM编码不再需要维护长度为w2w/4字节的表结构,并且由于直接进行普通的乘除运算,其代码实现也可以得到简化。
图3是对收到的数据包进行解码的流程图。当接收端收到发送端发来的数据包后,从n+m个编码数据区中任选出n个,并相应地在混洗素矩阵F中消去这n个编码数据区对应的行,得到n阶方阵记为R,然后求其逆R-1;再利用得到的逆R-1和选出的n个编码数据区恢复n个原数据区。
下面结合一个实例说明本发明的有益效果。
假设丢包概率为p,而p的取值在区间
内,并且各包的丢失在统计上独立,选择n=4,m=4。首先由图2所示的流程获得一个优化的混洗素矩阵F,使得混洗素矩阵编码在使用42比特的处理字长、6个附加比特的情况下获得零误码率。再由解析分析,可以获得在上述条件下本发明的应用效果。作为比较,本发明也分析了另外两种QoS机制的性能,其一是基于RS编码的QoS保证,其二是简单地每包不经编码,双份发送方法。表1是不同方法的组的传输成功概率ps、pr和pd(下标s、r和d分别表示基于SPM的方法、基于RS的方法和基于简单双份发送方法,下文中的平均无故障传输数据量的下标与此含义类似)以及平均无故障传输数据量ms、mr和md。
表1

从表中可以看出,SPM编码的效率相当于RS编码的 ,这是为了消除附加比特所带来的冗余的影响,而在计算ms时比计算mr多了一个因子 ;同时在计算平均无故障传输数据量时引入了最大传输数据量,一方面是为了保证数值计算的精度,另一方面是由于在实际的应用中,每个实时性应用(如一次电视会议)所需传送的数据量总是有限的,所以一般只取在某个合理的范围之内的平均。
由表1可知,简单的多份发送的QoS保证机制无法实现可用的QoS。综合本节的分析和表1可知,与基于RS编码的QoS保证机制相较,基于SPM编码的QoS保证机制在具有6-9倍时间效率优势和256k以上(设RS编码的处理字长为16)存储空间优势的情况下,可以实现大致相当QoS指标,因而更适合于实时环境下的应用。
权利要求
1.一种提高端到端服务质量的编码方法,其特征在于,包括如下步骤一、根据传输性能要求和测量的丢包概率p,选择编码的冗余包数m和每个编码组中所包含的原数据包的数目n;二、确定混洗素矩阵;三、根据步骤二所得的混洗素矩阵确定处理字长w和每个处理字的附加比特数a;四、发送端将需传送的数据包分成每n个一组,利用步骤二得到的混洗素矩阵,将n个原数据包编码为n+m个编码数据包,原数据包的每个处理字的字长被编码为(w+a)个比特,然后发送;五、接收端根据收到的每组编码包的前n个数据包进行解码,恢复数据包。
2.如权利要求1所述的提高端到端服务质量的编码方法,其特征在于,所述步骤二确定混洗素矩阵进一步包括1)n阶单位方阵构成所述混洗素矩阵的前n行;2)在前(m×n+k)个素数构成的集合{P1,P2,,…,Pm×n+k}中优化选择所述混洗素矩阵的后(m×n)个元素,这里k是一个小于n的正整数。
3.权利要求1所述的提高端到端服务质量的编码方法,其特征在于,所述步骤五的解码方法进一步包括1)在(n+m)个编码数据包中任选n个数据包;2)从所述混洗素矩阵中消去这n个编码数据包所对应的行,得到的n阶方阵记为R,求其逆R-1;3)根据所得的n个编码数据包和逆R-1恢复n个原数据包。
4.如权利要求2所述的提高端到端服务质量的编码方法,其特征在于,所述步骤二的2)可采用进化算法、模拟煺火算法等非线性搜索方法进行优化选择,优化的条件是使F的各个n阶子阵的条件数尽可能的小。
全文摘要
一种提高端到端服务质量的编码方法,属于数据通信领域,用于解决采用RS编码来实现端到端服务质量所带来的计算时间长、占用内存多的问题,采用了如下步骤首先根据传输性能要求和测量的丢包概率p,选择编码的冗余包数m和每个编码组中所包含的原数据包的数目n;然后确定混洗素矩阵;再根据混洗素矩阵确定处理字长w和每个处理字的附加比特数a;发送端将需传送的数据包分成每n个一组,利用所述混洗素矩阵,将n个原数据包编码为n+m个编码数据包,原数据包的每个处理字的字长被编码为w+a个比特,然后发送;接收端根据收到的每组编码包的前n个数据包进行解码,恢复数据包。本发明可用于提高IP网络的服务质量,提高应用端点的时间和空间效率,更适合于实时应用。
文档编号H04L12/66GK1409520SQ0112694
公开日2003年4月9日 申请日期2001年9月26日 优先权日2001年9月26日
发明者侯越先 申请人:深圳市中兴通讯股份有限公司上海第二研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1