用于基于误差保护包的帧的接收器.pdf

上传人:00****42 文档编号:788382 上传时间:2018-03-11 格式:PDF 页数:16 大小:698.07KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010269329.X

申请日:

2010.08.31

公开号:

CN102006142A

公开日:

2011.04.06

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04L 1/00申请公布日:20110406|||实质审查的生效IPC(主分类):H04L 1/00申请日:20100831|||公开

IPC分类号:

H04L1/00; H04B1/06

主分类号:

H04L1/00

申请人:

艾格瑞系统有限公司

发明人:

A·K·西达奥; R·K·拉伊卡尔

地址:

美国宾夕法尼亚

优先权:

2009.09.02 IN 2125/CHE/2009

专利代理机构:

中国国际贸易促进委员会专利商标事务所 11038

代理人:

陈华成

PDF下载: PDF下载
内容摘要

本发明公开了一种用于基于误差保护包的帧的接收器。在一个实施例中,公开了一种采用实时传输协议(RTP)和前向纠错(FEC)的针对媒体包的帧的接收器。该接收器包括包缓冲器和FEC解码器。在该包缓冲器接收到包之后,该FEC解码器读取包,并且作为FEC处理的一部分,对包执行XOR运算,而不等待接收整个帧,或者实际上不等待接收该帧的任何后续包。累积XOR运算结果,直到接收到足够的包为止,以重构该帧中的丢失包。因为紧接在接收到包之后执行XOR运算,而没有等待后续包导致的任何延迟,所以,该接收器具有非常低的等待时间,并且包缓冲器可以相对较小。

权利要求书

1.一种用于在接收器中执行纠错(EC)处理的方法,该方法包括:(a)顺次接收包括三个或更多个数据包和一EC包的第一帧的包的子集;以及(b)对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。2.根据权利要求1所述的方法,其中,所述EC处理包括在接收到所述子集中的每一个包时对其进行处理,而不等待接收所述子集中的后续包。3.根据权利要求2所述的方法,其中,对于所述子集中的至少一个已接收包,所述EC处理包括:(b1)对所述已接收包和存储在存储器中的值执行数学运算;以及(b2)存储所述数学运算的结果,作为存储在所述存储器中的值,以用于随后的数学运算。4.根据权利要求3所述的方法,其中,对于所述子集中的最后的接收包,所述EC处理包括:(b3)对最后的接收包和存储在所述存储器中的值执行最后的数学运算;和(b4)基于所述最后的数学运算的结果重构所述第一帧的丢失数据包。5.根据权利要求1所述的方法,还包括:(c)顺次接收包括三个或更多个数据包和一EC包的第二帧的包的子集;以及(d)对所述第二帧的包的所述子集执行EC处理,以重构所述第二帧的至少一个包,其中,对所述第二帧的EC处理在完成对所述第一帧的EC处理之前启动。6.根据权利要求5所述的方法,其中,对所述第一帧的EC处理在启动对所述第二帧的EC处理之前启动。7.根据权利要求1所述的方法,还包括:(a1)在包缓冲器中存储所述第一帧的包的所述子集中的每一个包;(a2)在执行对每一个包的EC处理之前从所述包缓冲器读取该包;以及(c)在完成对所述第一帧的包的所述子集中的每一个包的EC  处理之后,将重构的包存储在所述包缓冲器中。8.一种接收器,包括:包缓冲器,适于顺次接收包括三个或更多个数据包和一纠错(EC)包的第一帧的包的子集;以及EC解码器,适于对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。9.一种用于在接收器中执行纠错(EC)处理的设备,该设备包括:(a)用于顺次接收包括三个或更多个数据包和一EC包的第一帧的包的子集的装置;以及(b)用于对所述第一帧的包的所述子集执行EC处理以重构所述第一帧的至少一个包的装置,其中,所述EC处理在接收到包的整个所述子集之前启动。

说明书

用于基于误差保护包的帧的接收器

技术领域

本发明涉及具有纠错解码器的接收器中的缓冲存储器管理,并且具体来说,涉及前向纠错(FEC)解码器。

背景技术

FEC技术通常用于基于包的网络(如因特网),以补偿包损失。在美国专利No.6141788中以及在1999年12月Internet Society中公布的J.Rosenberg等人的题名为“An RTP Payload Format for Generic Forward Error Correction”的因特网标准路径协议(internet standards track protocol)no.RFC-2733中描述了一种适用于利用采用实时传输协议(RTP)的实时媒体包的FEC技术,所述文献的全部内容通过引用包含于此。根据该技术,在传输之前,将称为校验和(checksum)或FEC包的附加包添加至媒体帧,或数据包的块。在接收器处,帧中的丢失数据包可以通过将校验和包与成功地接收到的那些数据包组合来恢复和重构。更具体地说,丢失的数据包通过对校验和包与成功地接收到的数据包执行数学运算(例如,异或(XOR)逻辑运算)来恢复。接着,可以根据该数学运算的结果来重构丢失的数据包。

图1描绘了根据因特网标准路径协议no.RFC-2733的采用FEC解码的常规接收器100。接收器100包括连接至FEC解码器108并且连接至播出(play-out)缓冲器106的包缓冲器104。FEC解码器108还连接至播出缓冲器106。

图2描绘了常规接收器100的操作。在框202操作开始。在框204,将已接收包102存储在包缓冲器104中。在框206,将包102的副本传送至播出缓冲器106;但是,包102保留在包缓冲器104中,供FEC解码器108随后处理。在框208,FEC解码器108确定包102所属于的媒体帧F是否准备好FEC解码(例如,当已经接收到针对指定媒体帧F的FEC包和除了一个数据包以外的所有数据包时)。如果没有作好准备,则操作返回至框204,在框204,接收并存储后续包。然而,如果帧F准备好FEC解码,则在框210,FEC解码器108从包缓冲器104中读取媒体帧F的已接收包(即,除了一个以外的所有数据包和FEC包)并对这些已接收包执行数学运算(例如,XOR逻辑运算)。在框212,FEC解码器108根据公知技术,基于数学运算的结果重构丢失包。在框214,FEC解码器108将恢复的包传送至播出缓冲器106。

然而,常规接收器100的缺点是包缓冲器104的大小相对较大。MPEG媒体帧例如可以具有多达24个数据包加一个FEC包,总计达25个包。这样,包缓冲器104中的需要存储MPEG媒体帧的缓冲存储器的量MemPerFrame可以如下定义:

MemPerFrame=Σj=125SizeOf(Packet(j))]]>

而且,每一个包最大可以为用户数据报协议(UDP)的最大包大小(例如,1.5KB,常规以太网最大传输单元(MTU)的大小)。因而,具有25个大小为1.5KB的包的MPEG媒体帧将需要37.5KB的存储器。

为了存储m个这种帧,所需总缓冲存储器为(mxMemPerFrame)。必须存储在包缓冲器104中的帧的数量m是多个变量的函数,这些变量包括(i)FEC解码器108的等待时间(latency)(即,接收帧的第一个包与对该帧开始FEC解码之间的时段),(ii)FEC解码延迟(即,从对该帧开始FEC解码至完成FEC解码的时段,例如,包括对该帧执行24组XOR逻辑运算),以及(iii)输入包的包抖动(packet jitter)。在常规接收器100中,要存储在包缓冲器104中的帧的数量m典型处于12与30之间。因而,如果将常规接收器100设计成接收MPEG媒体包,则包缓冲器104将通常需要处于450KB与1.125MB之间的存储器。

为了例示,图3以图形方式描绘了包缓冲器104的示范性实现方式,其中,可以存储12个媒体帧3021-30212(每一个都具有25个包)。

发明内容

本发明的示范性实施例提供了一种用于FEC解码的、显著缩减了FEC解码的等待时间和包缓冲器大小的接收器和方法。

因而,在第一实施例中,本发明是一种用于在接收器中执行纠错(EC)处理的方法。顺次地接收包括三个或更多个数据包和一EC包的第一帧的包的子集。针对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包。所述EC处理在接收到包的整个所述子集之前启动。

在另一实施例中,本发明是一种接收器。该接收器包括包缓冲器,该包缓冲器适于顺次地接收包括三个或更多个数据包和一纠错(EC)包的第一帧的包的子集。该接收器还包括EC解码器,该EC解码器适于针对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。

附图说明

根据以下详细描述、所附权利要求书以及附图,本发明的其它方面、特征以及优点将变得更完全清楚,在附图中,相同标号标识相似或相同部件。

图1是采用FEC解码的常规接收器的简化框图;

图2是例示图1的常规接收器的操作的流程图;

图3是图1的常规接收器中的包缓冲器的图形例示;

图4是根据本发明的采用FEC解码的接收器的实施例的简化框图;

图5是例示图4中所示接收器的操作的流程图;

图6是图4中所示接收器中的包缓冲器的图形例示;

图7是图4中所示接收器的包括FEC数据结构的高速缓冲存储器的一部分的图形例示;

图8是图5中所示帧确定框的更详细流程图;以及

图9是图4中所示接收器的更详细框图。

具体实施方式

在此引用的“一个实施例”或“一实施例”意指结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。本说明书中不同位置中出现的短语“在一个实施例中”不必全部指代同一实施例,也不是必须与其它实施例相互排除的单独或另选实施例。这同样适用于术语“实现方式”。

图4描绘了根据本发明的接收器400的实施例。如图4所示,接收400包括:包缓冲器404、播出缓冲器(play-out buffer)406、FEC解码器408以及FEC高速缓冲存储器410。在接收器400中,FEC解码器408基本上实时地(例如,紧挨在每一个包到达并存储在包缓冲器404中之后)处理每一个已接收包。即使该包所属于的帧不完整,FEC处理也对于每一个包启动。为此,FEC解码器408生成并保持被存储在FEC高速缓冲存储器410中的中间FEC处理结果。FEC解码器408在每一个输入包被接收到并且进行FEC处理之后更新存储在FEC高速缓冲存储器410中的中间结果。因此,FEC解码器408不同于图1的现有技术FEC解码器108,所述现有技术FEC解码器108在开始FEC处理之前等待直到接收到媒体帧中的除了一个数据包以外的所有数数据包为止。

因为FEC解码器408基本上实时处理已接收包(不需要等待接收帧中的其它的包),包缓冲器404可以显著小于图1的现有技术包缓冲器104。包缓冲器404仅存储已接收包,只需要(i)将已接收包传送至播出缓冲器406和(ii)将已接收包传送至FEC解码器408即可。在完成这些传送之后,包缓冲器404中的被已接收包消耗的存储器可以被清空并且用于另一输入包。这样,不再需要包缓冲器404在认为帧为FEC处理作好准备之前存储该帧的所有包。因而,播出缓冲器406可以显著小于(例如,以范围从大约2到大约10的因子)播出缓冲器106。

例如,在一个实施例中,可以将播出缓冲器406的大小可以确定成允许存储大约12个包到大约24个包(这些包可以属于12个不同的连续发送帧),并且使FEC解码器408适于针对12个连续发送帧的包的FEC处理。然而,应当明白,包缓冲器404被设计成处理的包的数量和FEC解码器408被设计成处理的包的数量可以基于在基于包的网络中的包抖动、FEC解码器408的等待时间以及FEC解码器408的处理延迟来改变。

为了简化,下面假定,在一个实施例中,接收器400被设计在具有这样的包抖动的通信系统中使用,即,该包抖动足够小以准许FEC解码器408一次针对属于三个连续发送媒体帧的包进行操作。在这样的实施例中,FEC高速缓冲存储器410尤其包括三个存储器位置fec_str1、fec_str2以及fec_str3(图4中未示出),用于存储针对三个连续发送媒体帧(下面称为前一帧F1、当前帧F2以及下一帧F3)的中间数学结果(例如,XOR逻辑运算结果),并且包括用于存储当前已接收包的存储器位置current_packet。下面还假定,根据本领域普通技术人员已知的技术,在接收器400与发送器(未示出)之间预定或者商定被FEC帧保护的包的数量。

图5描绘了接收器400的操作。在框502操作开始。在框504,清空存储器位置fec_str1、fec_str2以及fec_str3(例如,设置成零)。在框506,将已接收包402存储在包缓冲器404中。在框508,将已接收包402从包缓冲器404传送至FEC高速缓冲存储器410中的存储器位置current_packet并且将其传送至播出缓冲器406,以及将包缓冲器404中的、被已接收包402所占用的存储器位置释放,以供其它包使用。在框510,FEC解码器408读取包402的首部信息(head information),并且确定包402所属于的媒体帧(例如,前一帧F1)。

在框512,FEC解码器408确定包402是否为针对包402所属于的媒体帧(例如,前一帧F1)接收器400已经接收到的第一个包。如果是,则在框514,FEC解码器将包402存储在与包402所属于的媒体帧相对应的存储器位置(fec_str1、fec_str2或fec_str3)中,并且操作返回至框506,以处理另一已接收包。如果包402不是针对包402所属于的媒体帧(例如,前一帧F1)接收器400已经接收到的第一个包,则在框516,FEC解码器408在包402的数据部分与和该包所属于的媒体帧相对应的存储器位置(例如,fec_str1)的内容之间执行数学运算(例如,XOR逻辑运算)。接着,将数学运算的结果存储在同一存储器位置(例如,fec_str1)中,由此,替换该存储器位置中的先前内容。

在框518,FEC解码器确定包402所属于的媒体帧是否为FEC解码作好准备(例如,当对于该媒体帧已经接收到FEC包和除了一个以外的所有其它数据包时)。(下面参照图8对帧确定框518进行更详细说明。)如果包402所属于的帧没有为FEC解码作好准备,则操作返回至框506,以处理另一已接收包。

如果该媒体帧为FEC解码作好准备,则在框520,FEC解码器408使用存储在与包402所属于的媒体帧(例如,前一帧F1)相对应的存储器位置(例如,fec_str1)中的数学运算结果,以根据诸如美国专利No.6141788和因特网标准路径协议no.RFC-2733中所描述技术的公知技术重构丢失的包。最后,在框522中,FEC解码器408将恢复的包存储在播出缓冲器406中,并且将存储器位置(例如,fec_str1)清空,以供下一个输入帧使用。

图6是FEC高速缓冲存储器410的图形例示。在一个实施例中,FEC高速缓冲存储器410包括三个数据结构(或定义的存储器部分)6021、6022以及6023(分别被标识为FEC_RX_DATA1、FEC_RX_DATA2,以及FEC_RX_DATA3),和用于存储当前已接收包的current_packet存储器位置604。在数据结构(或定义的存储器部分)6021、6022以及6023中,FEC解码器408分别存储分别对FEC解码媒体帧F1、F2以及F3有用的信息。

在一个实施例中,数据结构6021、6022,以及6023分别定义如下:

typedef struct FEC_RX_DATA

{

    uint16_t snmin;

    uint16_t snmax;

    uint8_t fec_str[MAX_RTP_PACKET_SIZE];

    uint16_t fstrlen;

    uint8_t fec_rec[MAX_RTP_PACKET_SIZE];

    uint16_t freclen;

    struct FEC_RX_DATA*prev;

    struct FEC_RX_DATA*next;

}FEC_RX_DATA_t;

其中,数据字段定义如下:

为了例示,图7以图形方式描绘了数据结构6021

图8是更详细例示图5的帧确定框510的流程图,其中,FEC解码器408确定已接收包402属于哪个媒体帧(例如,前一帧F1)。

在框802,FEC解码器408读取针对存储在图4所示包缓冲器404中的已接收包402的有效载荷类型描述符PT和序列号SNRcvd。在框804,FEC解码器408检查已接收包402是否为FEC包(即,有效载荷类型描述符PT等于预定值FEC_TYPE)。如果已接收包402不是FEC包,则在框806继续操作。在框806,FEC解码器408检查序列号SNRcvd是否大于或等于当前帧F2内的媒体包的最小序列号snmin。如果不是,则在框808,FEC解码器408将已接收包402标识为属于前一帧F1,并且将指针设置到数据结构6021(FEC_RX_DATA1),用于存储与前一帧F1有关的FEC解码信息的定义的存储器位置。在框Ii继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用该指针以标识具有要在针对包402的数据部分执行数学运算中使用的存储器位置(例如,fec_str1)的数据结构(例如,FEC_RX_DATA1)。

然而,如果在框806,FEC解码器408确定序列号SNRcvd大于或等于当前帧F2内的媒体包的最小序列号snmin,则在框810继续进行操作。FEC解码器408检查已接收包的序列号SNRcvd与当前帧F2内RTP媒体包的最小序列号snmin的差是否大于或等于可以受FEC包保护的包的预定最大数量MAX_FEC_PKT_PER_FEC。例如,对于MPEG RTP媒体帧来说,可以受FEC包保护的包的预定最大数量MAX_FEC_PKT_PER_FEC为24。

如果已接收包的序列号SNRcvd与当前帧F2内RTP媒体包的最小序列号snmin的差不大于或等于(即,小于)预定最大数量MAX_FEC_PKT_PER_FEC,则在框814,FEC解码器408将已接收包402标识为属于当前帧F2。具体来说,将指针设置至数据结构6022(FEC_RX_DATA2),用于存储与当前帧F2有关的FEC解码信息的定义的存储器位置。在框Ii继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用指针来标识具有要在对数据包402的数据部分执行数学运算中使用的存储器位置(例如,fec_str2)的数据结构(例如,FEC_RX_DATA2)。

返回至框810,如果FEC解码器408确定已接收包的序列号SNRcvd与当前帧F2内RTP媒体包的最小序列号snmin的差大于或等于(即,不小于)预定最大数量MAX_FEC_PKT_PER_FEC,则在框812继续操作。FEC解码器408将已接收包402标识为属于下一帧F3。具体来说,将指针设置至数据结构6023(FEC_RX_DATA3),用于存储与下一帧F3有关的FEC解码信息的定义的存储器位置。在框Ii继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用指针来标识具有要在对包402的数据部分执行数学运算中使用的存储器位置(例如,fec_str3)的数据结构(例如,FEC_RX_DATA3)。

如果在框804中,FEC解码器408确定已接收包402是FEC包(即,有效载荷类型描述符PT等于预定值FEC_TYPE),则在框816中继续操作。在框816,将包402的掩码字段和snbase字段用于确定包402属于哪一个帧(例如,前一帧F1、当前帧F2或下一帧F3)。在框818,接着,在FEC高速缓冲存储器410中将包402以恰当的数据结构(FEC_RX_DATA1、FEC_RX_DATA2,或FEC_RX_DATA3)存储在fec_rec存储器位置中,并且在框820,操作返回至图5中的框518。

图9是图4中所示接收器400的更详细框图。基于可从位于英国剑桥的ARM Holdings plc获得的内核设计,将FEC解码器408优选地实施为精简指令集计算(RISC)处理器(如ARM1176J-S处理器)。RISC处理器优选地以至少250MHz的速度运算。

将包缓冲器404和FEC高速缓冲存储器410优选地实施在RISC处理器内的64KB数据紧密耦合存储器(D-TCM)910内。RISC处理器还可以包括8KB数据高速缓冲存储器(D-cache)、8KB指令高速缓冲存储器(I-cache)以及64KB指令紧密耦合存储器(I-TCM)。

如图9所示,播出缓冲器406和FEC解码器408经由64位基于高级可扩展接口(AXI)的总线矩阵914连接。播出缓冲器406优选为外部双倍数据速率(DDR)同步动态随机存取存储器(SDRAM),其(i)具有每秒传送533兆数据的数据传送速率,(ii)遵循题名为“DDR2SDRAM规范”的JEDEC标准No.JESD79-2E,以及(iii)以“x16”构造(即,DDR2-533x16存储器)实施。播出缓冲器406通过DDR2外部存储器接口(EMI)938连接至总线矩阵914。

接收器400还包括供FEC解码器408使用的256KB通用SRAM存储器(“PPBMEM”)912。

接收器400还包括用于提供以太网支持的介质接入控制器(MAC)924、930。MAC 924、930通过包分类引擎(PCE)协处理器920、928以及传送MAC DMA(TXD)协处理器连接至总线矩阵914。PCE协处理器920、928在MAC 924、930与接收包的包缓冲器404之间提供L2/L3/L4IP和UDP包分类和直接存储器存取(DMA)支持。TXD协处理器922、926在MAC 924、930与用于传送包的传送存储器(未示出)之间提供DMA支持。48KB通用SRAM存储器902还被设置用于PCE协处理器920、928,例如,用于存储用于因特网协议版本6(IPv6)支持的表。

接收器400还包括向播出缓冲器406提供DMA支持(通过外部存储器接口938)的DMA控制器932。

FEC解码器408还优选地(i)通过经由AXI至APB桥916连接的高级外设总线(APB)918与MAC 924、930和PCE协处理器920、928通信,以及(ii)通过经由AXI至AHB桥934连接的高级高性能总线(AHB)936与DMA控制器932和DDR2外部存储器接口938通信。

还可以将一个或多个数字信号处理器(DSP)(未示出)连接至总线矩阵914,以解码存储在播出缓冲器406中的媒体包。

由此,已经描述了一种用于接收具有多个数据包和纠错包的媒体帧的新颖且创新的系统和方法。可以注意到,在上述图4所示接收器400中,FEC解码器408在已经接收到对应媒体帧中所有或大部分剩余包之前直接针对每一个已接收包执行数学运算(例如,XOR逻辑运算),而没有延迟。与此相反,在图1所示常规接收器100中,FEC解码器108延迟执行任何数学运算直到确定被缓冲帧为FEC解码作好准备为止(例如,直到接收到针对该帧的FEC包和除了一个以外的其余所有数据包为止)。这样,FEC解码器408具有比常规FEC解码器108显著小的等待时间。而且,因为FEC解码器408直接针对每一个已接收包执行数学运算,所以不存在对于要能够存储每一个帧的几乎所有包的包缓冲器404的需要。结果,包缓冲器404在大小上可以比图1的包缓冲器104更小。

本发明可以被实施为基于全数字、全模拟或混合模拟和数字两者的电路的处理,包括作为单一集成电路(如ASIC或FPGA)、多芯片模块、单一卡或多卡电路封装的可能实现方式。如本领域技术人员应当清楚的,电路部件的各种功能还可以被实施为采用软件程序的处理模块。这种软件例如可以在数字信号处理器、微控制器或通用计算机中采用。

还应明白,在不脱离如下权利要求书中所表达的本发明的范围的情况下,本领域技术人员可以在为了说明本发明的性质而描述并例示的部件的细节、材料以及配置方面进行各种改变。

因而,尽管上面已经关于利用XOR逻辑运算的纠错对本发明进行了描述,但本发明并不因而受限,而是可以使用其它逻辑运算(例如,异或非(NXOR)逻辑运算)。而且,本发明可以利用基于除了逻辑运算以外的其它数学运算的其它纠错(EC)算法来实践,只要这种EC算法允许FEC处理在没有延迟的情况下针对每一个已接收包发生即可,例如,不需要一帧中的全部或大致全部包在启动EC处理之前存在。

而且,尽管上面关于特定长度和量对本发明进行了描述,但本发明并不因而受限,而是可以使用其它长度和量。例如,FEC解码器408和包缓冲器404被设计成处理的帧的数量以及FEC高速缓冲存储器410中的存储器位置的数量可以基于在基于包的网络中的包抖动和/或基于FEC解码器408的等待时间来增加或减小。例如,在本发明的一个实施例中,可以采用双帧包缓冲器,而非如上所述三帧包缓冲器。在这种实施例中,在FEC高速缓冲存储器410中仅需要两个数据结构6021、6022,而非如上所述三个。

在另一实施例中,如果网络包抖动非常小,则可以采用一帧包缓冲器,并且FEC高速缓冲存储器410可以包括单一数据结构6021,或者由6021组成。另一方面,如果包抖动较大,则FEC解码器408和包缓冲器404可以被设计成处理四个(或更多个)帧,并且在FEC高速缓冲存储器410中将需要对应数量的数据结构。例如,预期的是,如果包抖动和上述接收器100的情况(其中,包缓冲器104被设计成能够存储12个帧)一样大,则FEC解码器408和包缓冲器404同样可以被设计成处理12个帧,并且在FEC高速缓冲存储器410中具有12个数据结构。

还应明白,在此阐述的示范性方法的步骤不必要求按所述次序执行,而应当将这种方法步骤的次序理解成仅是示范性的。同样,在这种方法中可以包括附加步骤,并且可以在与本发明的各种实施例相一致的方法中省略或组合特定步骤。

用于基于误差保护包的帧的接收器.pdf_第1页
第1页 / 共16页
用于基于误差保护包的帧的接收器.pdf_第2页
第2页 / 共16页
用于基于误差保护包的帧的接收器.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《用于基于误差保护包的帧的接收器.pdf》由会员分享,可在线阅读,更多相关《用于基于误差保护包的帧的接收器.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102006142A43申请公布日20110406CN102006142ACN102006142A21申请号201010269329X22申请日201008312125/CHE/200920090902INH04L1/00200601H04B1/0620060171申请人艾格瑞系统有限公司地址美国宾夕法尼亚72发明人AK西达奥RK拉伊卡尔74专利代理机构中国国际贸易促进委员会专利商标事务所11038代理人陈华成54发明名称用于基于误差保护包的帧的接收器57摘要本发明公开了一种用于基于误差保护包的帧的接收器。在一个实施例中,公开了一种采用实时传输协议RTP和前向纠错FEC的针对。

2、媒体包的帧的接收器。该接收器包括包缓冲器和FEC解码器。在该包缓冲器接收到包之后,该FEC解码器读取包,并且作为FEC处理的一部分,对包执行XOR运算,而不等待接收整个帧,或者实际上不等待接收该帧的任何后续包。累积XOR运算结果,直到接收到足够的包为止,以重构该帧中的丢失包。因为紧接在接收到包之后执行XOR运算,而没有等待后续包导致的任何延迟,所以,该接收器具有非常低的等待时间,并且包缓冲器可以相对较小。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书8页附图6页CN102006155A1/1页21一种用于在接收器中执行纠错EC处理的方法,该方法。

3、包括A顺次接收包括三个或更多个数据包和一EC包的第一帧的包的子集;以及B对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。2根据权利要求1所述的方法,其中,所述EC处理包括在接收到所述子集中的每一个包时对其进行处理,而不等待接收所述子集中的后续包。3根据权利要求2所述的方法,其中,对于所述子集中的至少一个已接收包,所述EC处理包括B1对所述已接收包和存储在存储器中的值执行数学运算;以及B2存储所述数学运算的结果,作为存储在所述存储器中的值,以用于随后的数学运算。4根据权利要求3所述的方法,其中,对于所述子集中的最后的接收包。

4、,所述EC处理包括B3对最后的接收包和存储在所述存储器中的值执行最后的数学运算;和B4基于所述最后的数学运算的结果重构所述第一帧的丢失数据包。5根据权利要求1所述的方法,还包括C顺次接收包括三个或更多个数据包和一EC包的第二帧的包的子集;以及D对所述第二帧的包的所述子集执行EC处理,以重构所述第二帧的至少一个包,其中,对所述第二帧的EC处理在完成对所述第一帧的EC处理之前启动。6根据权利要求5所述的方法,其中,对所述第一帧的EC处理在启动对所述第二帧的EC处理之前启动。7根据权利要求1所述的方法,还包括A1在包缓冲器中存储所述第一帧的包的所述子集中的每一个包;A2在执行对每一个包的EC处理之前。

5、从所述包缓冲器读取该包;以及C在完成对所述第一帧的包的所述子集中的每一个包的EC处理之后,将重构的包存储在所述包缓冲器中。8一种接收器,包括包缓冲器,适于顺次接收包括三个或更多个数据包和一纠错EC包的第一帧的包的子集;以及EC解码器,适于对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。9一种用于在接收器中执行纠错EC处理的设备,该设备包括A用于顺次接收包括三个或更多个数据包和一EC包的第一帧的包的子集的装置;以及B用于对所述第一帧的包的所述子集执行EC处理以重构所述第一帧的至少一个包的装置,其中,所述EC处理在接收到包的。

6、整个所述子集之前启动。权利要求书CN102006142ACN102006155A1/8页3用于基于误差保护包的帧的接收器技术领域0001本发明涉及具有纠错解码器的接收器中的缓冲存储器管理,并且具体来说,涉及前向纠错FEC解码器。背景技术0002FEC技术通常用于基于包的网络如因特网,以补偿包损失。在美国专利NO6141788中以及在1999年12月INTERNETSOCIETY中公布的JROSENBERG等人的题名为“ANRTPPAYLOADFORMATFORGENERICFORWARDERRORCORRECTION”的因特网标准路径协议INTERNETSTANDARDSTRACKPROTOC。

7、OLNORFC2733中描述了一种适用于利用采用实时传输协议RTP的实时媒体包的FEC技术,所述文献的全部内容通过引用包含于此。根据该技术,在传输之前,将称为校验和CHECKSUM或FEC包的附加包添加至媒体帧,或数据包的块。在接收器处,帧中的丢失数据包可以通过将校验和包与成功地接收到的那些数据包组合来恢复和重构。更具体地说,丢失的数据包通过对校验和包与成功地接收到的数据包执行数学运算例如,异或XOR逻辑运算来恢复。接着,可以根据该数学运算的结果来重构丢失的数据包。0003图1描绘了根据因特网标准路径协议NORFC2733的采用FEC解码的常规接收器100。接收器100包括连接至FEC解码器1。

8、08并且连接至播出PLAYOUT缓冲器106的包缓冲器104。FEC解码器108还连接至播出缓冲器106。0004图2描绘了常规接收器100的操作。在框202操作开始。在框204,将已接收包102存储在包缓冲器104中。在框206,将包102的副本传送至播出缓冲器106;但是,包102保留在包缓冲器104中,供FEC解码器108随后处理。在框208,FEC解码器108确定包102所属于的媒体帧F是否准备好FEC解码例如,当已经接收到针对指定媒体帧F的FEC包和除了一个数据包以外的所有数据包时。如果没有作好准备,则操作返回至框204,在框204,接收并存储后续包。然而,如果帧F准备好FEC解码,。

9、则在框210,FEC解码器108从包缓冲器104中读取媒体帧F的已接收包即,除了一个以外的所有数据包和FEC包并对这些已接收包执行数学运算例如,XOR逻辑运算。在框212,FEC解码器108根据公知技术,基于数学运算的结果重构丢失包。在框214,FEC解码器108将恢复的包传送至播出缓冲器106。0005然而,常规接收器100的缺点是包缓冲器104的大小相对较大。MPEG媒体帧例如可以具有多达24个数据包加一个FEC包,总计达25个包。这样,包缓冲器104中的需要存储MPEG媒体帧的缓冲存储器的量MEMPERFRAME可以如下定义00060007说明书CN102006142ACN1020061。

10、55A2/8页40008而且,每一个包最大可以为用户数据报协议UDP的最大包大小例如,15KB,常规以太网最大传输单元MTU的大小。因而,具有25个大小为15KB的包的MPEG媒体帧将需要375KB的存储器。0009为了存储M个这种帧,所需总缓冲存储器为MXMEMPERFRAME。必须存储在包缓冲器104中的帧的数量M是多个变量的函数,这些变量包括IFEC解码器108的等待时间LATENCY即,接收帧的第一个包与对该帧开始FEC解码之间的时段,IIFEC解码延迟即,从对该帧开始FEC解码至完成FEC解码的时段,例如,包括对该帧执行24组XOR逻辑运算,以及III输入包的包抖动PACKETJIT。

11、TER。在常规接收器100中,要存储在包缓冲器104中的帧的数量M典型处于12与30之间。因而,如果将常规接收器100设计成接收MPEG媒体包,则包缓冲器104将通常需要处于450KB与1125MB之间的存储器。0010为了例示,图3以图形方式描绘了包缓冲器104的示范性实现方式,其中,可以存储12个媒体帧302130212每一个都具有25个包。发明内容0011本发明的示范性实施例提供了一种用于FEC解码的、显著缩减了FEC解码的等待时间和包缓冲器大小的接收器和方法。0012因而,在第一实施例中,本发明是一种用于在接收器中执行纠错EC处理的方法。顺次地接收包括三个或更多个数据包和一EC包的第一。

12、帧的包的子集。针对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包。所述EC处理在接收到包的整个所述子集之前启动。0013在另一实施例中,本发明是一种接收器。该接收器包括包缓冲器,该包缓冲器适于顺次地接收包括三个或更多个数据包和一纠错EC包的第一帧的包的子集。该接收器还包括EC解码器,该EC解码器适于针对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。附图说明0014根据以下详细描述、所附权利要求书以及附图,本发明的其它方面、特征以及优点将变得更完全清楚,在附图中,相同标号标识相似或相同部件。0015图1。

13、是采用FEC解码的常规接收器的简化框图;0016图2是例示图1的常规接收器的操作的流程图;0017图3是图1的常规接收器中的包缓冲器的图形例示;0018图4是根据本发明的采用FEC解码的接收器的实施例的简化框图;0019图5是例示图4中所示接收器的操作的流程图;0020图6是图4中所示接收器中的包缓冲器的图形例示;0021图7是图4中所示接收器的包括FEC数据结构的高速缓冲存储器的一部分的图形例示;0022图8是图5中所示帧确定框的更详细流程图;以及说明书CN102006142ACN102006155A3/8页50023图9是图4中所示接收器的更详细框图。具体实施方式0024在此引用的“一个实。

14、施例”或“一实施例”意指结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。本说明书中不同位置中出现的短语“在一个实施例中”不必全部指代同一实施例,也不是必须与其它实施例相互排除的单独或另选实施例。这同样适用于术语“实现方式”。0025图4描绘了根据本发明的接收器400的实施例。如图4所示,接收400包括包缓冲器404、播出缓冲器PLAYOUTBUFFER406、FEC解码器408以及FEC高速缓冲存储器410。在接收器400中,FEC解码器408基本上实时地例如,紧挨在每一个包到达并存储在包缓冲器404中之后处理每一个已接收包。即使该包所属于的帧不完整,FEC处理也对于。

15、每一个包启动。为此,FEC解码器408生成并保持被存储在FEC高速缓冲存储器410中的中间FEC处理结果。FEC解码器408在每一个输入包被接收到并且进行FEC处理之后更新存储在FEC高速缓冲存储器410中的中间结果。因此,FEC解码器408不同于图1的现有技术FEC解码器108,所述现有技术FEC解码器108在开始FEC处理之前等待直到接收到媒体帧中的除了一个数据包以外的所有数数据包为止。0026因为FEC解码器408基本上实时处理已接收包不需要等待接收帧中的其它的包,包缓冲器404可以显著小于图1的现有技术包缓冲器104。包缓冲器404仅存储已接收包,只需要I将已接收包传送至播出缓冲器40。

16、6和II将已接收包传送至FEC解码器408即可。在完成这些传送之后,包缓冲器404中的被已接收包消耗的存储器可以被清空并且用于另一输入包。这样,不再需要包缓冲器404在认为帧为FEC处理作好准备之前存储该帧的所有包。因而,播出缓冲器406可以显著小于例如,以范围从大约2到大约10的因子播出缓冲器106。0027例如,在一个实施例中,可以将播出缓冲器406的大小可以确定成允许存储大约12个包到大约24个包这些包可以属于12个不同的连续发送帧,并且使FEC解码器408适于针对12个连续发送帧的包的FEC处理。然而,应当明白,包缓冲器404被设计成处理的包的数量和FEC解码器408被设计成处理的包的。

17、数量可以基于在基于包的网络中的包抖动、FEC解码器408的等待时间以及FEC解码器408的处理延迟来改变。0028为了简化,下面假定,在一个实施例中,接收器400被设计在具有这样的包抖动的通信系统中使用,即,该包抖动足够小以准许FEC解码器408一次针对属于三个连续发送媒体帧的包进行操作。在这样的实施例中,FEC高速缓冲存储器410尤其包括三个存储器位置FEC_STR1、FEC_STR2以及FEC_STR3图4中未示出,用于存储针对三个连续发送媒体帧下面称为前一帧F1、当前帧F2以及下一帧F3的中间数学结果例如,XOR逻辑运算结果,并且包括用于存储当前已接收包的存储器位置CURRENT_PAC。

18、KET。下面还假定,根据本领域普通技术人员已知的技术,在接收器400与发送器未示出之间预定或者商定被FEC帧保护的包的数量。0029图5描绘了接收器400的操作。在框502操作开始。在框504,清空存储器位置FEC_STR1、FEC_STR2以及FEC_STR3例如,设置成零。在框506,将已接收包402存储在包缓冲器404中。在框508,将已接收包402从包缓冲器404传送至FEC高速缓冲存储器410说明书CN102006142ACN102006155A4/8页6中的存储器位置CURRENT_PACKET并且将其传送至播出缓冲器406,以及将包缓冲器404中的、被已接收包402所占用的存储器。

19、位置释放,以供其它包使用。在框510,FEC解码器408读取包402的首部信息HEADINFORMATION,并且确定包402所属于的媒体帧例如,前一帧F1。0030在框512,FEC解码器408确定包402是否为针对包402所属于的媒体帧例如,前一帧F1接收器400已经接收到的第一个包。如果是,则在框514,FEC解码器将包402存储在与包402所属于的媒体帧相对应的存储器位置FEC_STR1、FEC_STR2或FEC_STR3中,并且操作返回至框506,以处理另一已接收包。如果包402不是针对包402所属于的媒体帧例如,前一帧F1接收器400已经接收到的第一个包,则在框516,FEC解码器。

20、408在包402的数据部分与和该包所属于的媒体帧相对应的存储器位置例如,FEC_STR1的内容之间执行数学运算例如,XOR逻辑运算。接着,将数学运算的结果存储在同一存储器位置例如,FEC_STR1中,由此,替换该存储器位置中的先前内容。0031在框518,FEC解码器确定包402所属于的媒体帧是否为FEC解码作好准备例如,当对于该媒体帧已经接收到FEC包和除了一个以外的所有其它数据包时。下面参照图8对帧确定框518进行更详细说明。如果包402所属于的帧没有为FEC解码作好准备,则操作返回至框506,以处理另一已接收包。0032如果该媒体帧为FEC解码作好准备,则在框520,FEC解码器408使。

21、用存储在与包402所属于的媒体帧例如,前一帧F1相对应的存储器位置例如,FEC_STR1中的数学运算结果,以根据诸如美国专利NO6141788和因特网标准路径协议NORFC2733中所描述技术的公知技术重构丢失的包。最后,在框522中,FEC解码器408将恢复的包存储在播出缓冲器406中,并且将存储器位置例如,FEC_STR1清空,以供下一个输入帧使用。0033图6是FEC高速缓冲存储器410的图形例示。在一个实施例中,FEC高速缓冲存储器410包括三个数据结构或定义的存储器部分6021、6022以及6023分别被标识为FEC_RX_DATA1、FEC_RX_DATA2,以及FEC_RX_DA。

22、TA3,和用于存储当前已接收包的CURRENT_PACKET存储器位置604。在数据结构或定义的存储器部分6021、6022以及6023中,FEC解码器408分别存储分别对FEC解码媒体帧F1、F2以及F3有用的信息。0034在一个实施例中,数据结构6021、6022,以及6023分别定义如下0035TYPEDEFSTRUCTFEC_RX_DATA00360037UINT16_TSNMIN;0038UINT16_TSNMAX;0039UINT8_TFEC_STRMAX_RTP_PACKET_SIZE;0040UINT16_TFSTRLEN;0041UINT8_TFEC_RECMAX_RTP_P。

23、ACKET_SIZE;0042UINT16_TFRECLEN;0043STRUCTFEC_RX_DATAPREV;0044STRUCTFEC_RX_DATANEXT;0045FEC_RX_DATA_T;0046其中,数据字段定义如下说明书CN102006142ACN102006155A5/8页700470048为了例示,图7以图形方式描绘了数据结构6021。0049图8是更详细例示图5的帧确定框510的流程图,其中,FEC解码器408确定已接收包402属于哪个媒体帧例如,前一帧F1。0050在框802,FEC解码器408读取针对存储在图4所示包缓冲器404中的已接收包402的有效载荷类型描述符。

24、PT和序列号SNRCVD。在框804,FEC解码器408检查已接收包402是否为FEC包即,有效载荷类型描述符PT等于预定值FEC_TYPE。如果已接收包402不是FEC包,则在框806继续操作。在框806,FEC解码器408检查序列号SNRCVD是否大于或等于当前帧F2内的媒体包的最小序列号SNMIN。如果不是,则在框808,FEC解码器408将已接收包402标识为属于前一帧F1,并且将指针设置到数据结构6021FEC_RX_DATA1,用于存储与前一帧F1有关的FEC解码信息的定义的存储器位置。在框II继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用该指针以标。

25、识具有要在针对包402的数据部分执行数学运算中使用的存储器位置例如,FEC_STR1的数据结构例如,FEC_RX_DATA1。0051然而,如果在框806,FEC解码器408确定序列号SNRCVD大于或等于当前帧F2内的媒体包的最小序列号SNMIN,则在框810继续进行操作。FEC解码器408检查已接收包的序列号SNRCVD与当前帧F2内RTP媒体包的最小序列号SNMIN的差是否大于或等于可以受FEC包保护的包的预定最大数量MAX_FEC_PKT_PER_FEC。例如,对于MPEGRTP媒体帧来说,可以受FEC包保护的包的预定最大数量MAX_FEC_PKT_PER_FEC为24。0052如果已。

26、接收包的序列号SNRCVD与当前帧F2内RTP媒体包的最小序列号SNMIN的差不大于或等于即,小于预定最大数量MAX_FEC_PKT_PER_FEC,则在框814,FEC解码器408将已接收包402标识为属于当前帧F2。具体来说,将指针设置至数据结构6022FEC_RX_说明书CN102006142ACN102006155A6/8页8DATA2,用于存储与当前帧F2有关的FEC解码信息的定义的存储器位置。在框II继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用指针来标识具有要在对数据包402的数据部分执行数学运算中使用的存储器位置例如,FEC_STR2的数据结构例。

27、如,FEC_RX_DATA2。0053返回至框810,如果FEC解码器408确定已接收包的序列号SNRCVD与当前帧F2内RTP媒体包的最小序列号SNMIN的差大于或等于即,不小于预定最大数量MAX_FEC_PKT_PER_FEC,则在框812继续操作。FEC解码器408将已接收包402标识为属于下一帧F3。具体来说,将指针设置至数据结构6023FEC_RX_DATA3,用于存储与下一帧F3有关的FEC解码信息的定义的存储器位置。在框II继续操作,其中,操作返回至图5中的框516。在框516,FEC解码器408使用指针来标识具有要在对包402的数据部分执行数学运算中使用的存储器位置例如,FEC。

28、_STR3的数据结构例如,FEC_RX_DATA3。0054如果在框804中,FEC解码器408确定已接收包402是FEC包即,有效载荷类型描述符PT等于预定值FEC_TYPE,则在框816中继续操作。在框816,将包402的掩码字段和SNBASE字段用于确定包402属于哪一个帧例如,前一帧F1、当前帧F2或下一帧F3。在框818,接着,在FEC高速缓冲存储器410中将包402以恰当的数据结构FEC_RX_DATA1、FEC_RX_DATA2,或FEC_RX_DATA3存储在FEC_REC存储器位置中,并且在框820,操作返回至图5中的框518。0055图9是图4中所示接收器400的更详细框图。

29、。基于可从位于英国剑桥的ARMHOLDINGSPLC获得的内核设计,将FEC解码器408优选地实施为精简指令集计算RISC处理器如ARM1176JS处理器。RISC处理器优选地以至少250MHZ的速度运算。0056将包缓冲器404和FEC高速缓冲存储器410优选地实施在RISC处理器内的64KB数据紧密耦合存储器DTCM910内。RISC处理器还可以包括8KB数据高速缓冲存储器DCACHE、8KB指令高速缓冲存储器ICACHE以及64KB指令紧密耦合存储器ITCM。0057如图9所示,播出缓冲器406和FEC解码器408经由64位基于高级可扩展接口AXI的总线矩阵914连接。播出缓冲器406优。

30、选为外部双倍数据速率DDR同步动态随机存取存储器SDRAM,其I具有每秒传送533兆数据的数据传送速率,II遵循题名为“DDR2SDRAM规范”的JEDEC标准NOJESD792E,以及III以“X16”构造即,DDR2533X16存储器实施。播出缓冲器406通过DDR2外部存储器接口EMI938连接至总线矩阵914。0058接收器400还包括供FEC解码器408使用的256KB通用SRAM存储器“PPBMEM”912。0059接收器400还包括用于提供以太网支持的介质接入控制器MAC924、930。MAC924、930通过包分类引擎PCE协处理器920、928以及传送MACDMATXD协处理。

31、器连接至总线矩阵914。PCE协处理器920、928在MAC924、930与接收包的包缓冲器404之间提供L2/L3/L4IP和UDP包分类和直接存储器存取DMA支持。TXD协处理器922、926在MAC924、930与用于传送包的传送存储器未示出之间提供DMA支持。48KB通用SRAM存储器902还被设置用于PCE协处理器920、928,例如,用于存储用于因特网协议版本6IPV6支持的表。0060接收器400还包括向播出缓冲器406提供DMA支持通过外部存储器接口938的DMA控制器932。说明书CN102006142ACN102006155A7/8页90061FEC解码器408还优选地I通。

32、过经由AXI至APB桥916连接的高级外设总线APB918与MAC924、930和PCE协处理器920、928通信,以及II通过经由AXI至AHB桥934连接的高级高性能总线AHB936与DMA控制器932和DDR2外部存储器接口938通信。0062还可以将一个或多个数字信号处理器DSP未示出连接至总线矩阵914,以解码存储在播出缓冲器406中的媒体包。0063由此,已经描述了一种用于接收具有多个数据包和纠错包的媒体帧的新颖且创新的系统和方法。可以注意到,在上述图4所示接收器400中,FEC解码器408在已经接收到对应媒体帧中所有或大部分剩余包之前直接针对每一个已接收包执行数学运算例如,XOR。

33、逻辑运算,而没有延迟。与此相反,在图1所示常规接收器100中,FEC解码器108延迟执行任何数学运算直到确定被缓冲帧为FEC解码作好准备为止例如,直到接收到针对该帧的FEC包和除了一个以外的其余所有数据包为止。这样,FEC解码器408具有比常规FEC解码器108显著小的等待时间。而且,因为FEC解码器408直接针对每一个已接收包执行数学运算,所以不存在对于要能够存储每一个帧的几乎所有包的包缓冲器404的需要。结果,包缓冲器404在大小上可以比图1的包缓冲器104更小。0064本发明可以被实施为基于全数字、全模拟或混合模拟和数字两者的电路的处理,包括作为单一集成电路如ASIC或FPGA、多芯片模。

34、块、单一卡或多卡电路封装的可能实现方式。如本领域技术人员应当清楚的,电路部件的各种功能还可以被实施为采用软件程序的处理模块。这种软件例如可以在数字信号处理器、微控制器或通用计算机中采用。0065还应明白,在不脱离如下权利要求书中所表达的本发明的范围的情况下,本领域技术人员可以在为了说明本发明的性质而描述并例示的部件的细节、材料以及配置方面进行各种改变。0066因而,尽管上面已经关于利用XOR逻辑运算的纠错对本发明进行了描述,但本发明并不因而受限,而是可以使用其它逻辑运算例如,异或非NXOR逻辑运算。而且,本发明可以利用基于除了逻辑运算以外的其它数学运算的其它纠错EC算法来实践,只要这种EC算法。

35、允许FEC处理在没有延迟的情况下针对每一个已接收包发生即可,例如,不需要一帧中的全部或大致全部包在启动EC处理之前存在。0067而且,尽管上面关于特定长度和量对本发明进行了描述,但本发明并不因而受限,而是可以使用其它长度和量。例如,FEC解码器408和包缓冲器404被设计成处理的帧的数量以及FEC高速缓冲存储器410中的存储器位置的数量可以基于在基于包的网络中的包抖动和/或基于FEC解码器408的等待时间来增加或减小。例如,在本发明的一个实施例中,可以采用双帧包缓冲器,而非如上所述三帧包缓冲器。在这种实施例中,在FEC高速缓冲存储器410中仅需要两个数据结构6021、6022,而非如上所述三个。

36、。0068在另一实施例中,如果网络包抖动非常小,则可以采用一帧包缓冲器,并且FEC高速缓冲存储器410可以包括单一数据结构6021,或者由6021组成。另一方面,如果包抖动较大,则FEC解码器408和包缓冲器404可以被设计成处理四个或更多个帧,并且在FEC高速缓冲存储器410中将需要对应数量的数据结构。例如,预期的是,如果包抖动和上述接收器100的情况其中,包缓冲器104被设计成能够存储12个帧一样大,则FEC解码器408和包缓冲器404同样可以被设计成处理12个帧,并且在FEC高速缓冲存储器410中具有12个数据结构。说明书CN102006142ACN102006155A8/8页10006。

37、9还应明白,在此阐述的示范性方法的步骤不必要求按所述次序执行,而应当将这种方法步骤的次序理解成仅是示范性的。同样,在这种方法中可以包括附加步骤,并且可以在与本发明的各种实施例相一致的方法中省略或组合特定步骤。说明书CN102006142ACN102006155A1/6页11图1图2说明书附图CN102006142ACN102006155A2/6页12图3图4说明书附图CN102006142ACN102006155A3/6页13图5说明书附图CN102006142ACN102006155A4/6页14图6图7说明书附图CN102006142ACN102006155A5/6页15图8说明书附图CN102006142ACN102006155A6/6页16图9说明书附图CN102006142A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1