CN103986473A - 用于基于误差保护包的帧的接收器 - Google Patents
用于基于误差保护包的帧的接收器 Download PDFInfo
- Publication number
- CN103986473A CN103986473A CN201410245806.7A CN201410245806A CN103986473A CN 103986473 A CN103986473 A CN 103986473A CN 201410245806 A CN201410245806 A CN 201410245806A CN 103986473 A CN103986473 A CN 103986473A
- Authority
- CN
- China
- Prior art keywords
- bag
- frame
- subset
- fec
- receiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于基于误差保护包的帧的接收器。在一个实施例中,公开了一种采用实时传输协议(RTP)和前向纠错(FEC)的针对媒体包的帧的接收器。该接收器包括包缓冲器和FEC解码器。在该包缓冲器接收到包之后,该FEC解码器读取包,并且作为FEC处理的一部分,对包执行XOR运算,而不等待接收整个帧,或者实际上不等待接收该帧的任何后续包。累积XOR运算结果,直到接收到足够的包为止,以重构该帧中的丢失包。因为紧接在接收到包之后执行XOR运算,而没有等待后续包导致的任何延迟,所以,该接收器具有非常低的等待时间,并且包缓冲器可以相对较小。
Description
本申请是申请号为201010269329.X,申请日为2010年8月31日,发明名称为“用于基于误差保护包的帧的接收器”的中国发明专利申请的分案申请。
技术领域
本发明涉及具有纠错解码器的接收器中的缓冲存储器管理,并且具体来说,涉及前向纠错(FEC)解码器。
背景技术
FEC技术通常用于基于包的网络(如因特网),以补偿包损失。在美国专利No.6141788中以及在1999年12月Internet Society中公布的J.Rosenberg等人的题名为“An RTP Payload Format forGeneric Forward Error Correction”的因特网标准路径协议(internetstandards 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可以如下定义:
而且,每一个包最大可以为用户数据报协议(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)输入包的包抖动(packetjitter)。在常规接收器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的首部信息(headinformation),并且确定包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分别定义如下:
其中,数据字段定义如下:
为了例示,图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。MAC924、930通过包分类引擎(PCE)协处理器920、928以及传送MAC DMA(TXD)协处理器连接至总线矩阵914。PCE协处理器920、928在MAC924、930与接收包的包缓冲器404之间提供L2/L3/L4IP和UDP包分类和直接存储器存取(DMA)支持。TXD协处理器922、926在MAC924、930与用于传送包的传送存储器(未示出)之间提供DMA支持。48KB通用SRAM存储器902还被设置用于PCE协处理器920、928,例如,用于存储用于因特网协议版本6(IPv6)支持的表。
接收器400还包括向播出缓冲器406提供DMA支持(通过外部存储器接口938)的DMA控制器932。
FEC解码器408还优选地(i)通过经由AXI至APB桥916连接的高级外设总线(APB)918与MAC924、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个数据结构。
还应明白,在此阐述的示范性方法的步骤不必要求按所述次序执行,而应当将这种方法步骤的次序理解成仅是示范性的。同样,在这种方法中可以包括附加步骤,并且可以在与本发明的各种实施例相一致的方法中省略或组合特定步骤。
Claims (10)
1.一种用于在接收器中执行纠错(EC)处理的方法,该方法包括:
(a)接收器顺次接收包括三个或更多个数据包和一EC包的第一帧的包的子集;
(b)所述接收器对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动;
(c)顺次接收包括三个或更多个数据包和一个EC包的第二帧的包的子集;以及
(d)对所述第二帧的包的所述子集执行EC处理,以重构所述第二帧的至少一个包,其中,对所述第二帧的EC处理在完成对所述第一帧的EC处理之前启动。
2.根据权利要求1所述的方法,其中,所述EC处理包括在接收到所述子集中的每一个包时对其进行处理,而不等待接收所述子集中的后续包。
3.根据权利要求2所述的方法,其中,对于所述子集中的至少一个已接收包,所述EC处理包括:
(b1)对所述已接收包和存储在存储器中的值执行数学运算;以及
(b2)存储所述数学运算的结果,作为存储在所述存储器中的值,以用于随后的数学运算。
4.根据权利要求3所述的方法,其中,对于所述子集中的最后的接收包,所述EC处理包括:
(b3)对最后的接收包和存储在所述存储器中的值执行最后的数学运算;和
(b4)基于所述最后的数学运算的结果重构所述第一帧的丢失数据包。
5.根据权利要求1所述的方法,其中,对所述第一帧的EC处理在启动对所述第二帧的EC处理之前启动。
6.根据权利要求1所述的方法,还包括:
(a1)在包缓冲器中存储所述第一帧的包的所述子集中的每一个包;
(a2)在执行对每一个包的EC处理之前从所述包缓冲器读取该包;以及
(c)在完成对所述第一帧的包的所述子集中的每一个包的EC处理之后,将重构的包存储在所述包缓冲器中。
7.一种接收器,包括:
包缓冲器,适于顺次接收包括三个或更多个数据包和一个纠错(EC)包的第一帧的包的子集;以及
EC解码器,适于对所述第一帧的包的所述子集执行EC处理,以重构所述第一帧的至少一个包,其中,所述EC处理在接收到包的整个所述子集之前启动。
8.如权利要求7所述的接收器,其中:
所述包缓冲器适于顺次接收包括三个或更多个数据包和一个EC包的第二帧的包的子集;以及
所述EC解码器适于:
对所述第二帧的包的所述子集执行EC处理,以重构所述第二帧的至少一个包,以及
在完成对所述第一帧的EC处理之前启动对所述第二帧的EC处理。
9.如权利要求8所述的接收器,其中所述EC解码器适于在启动对所述第二帧的EC处理之前启动对所述第一帧的EC处理。
10.一种用于在接收器中执行纠错(EC)处理的设备,该设备包括:
(a)用于顺次接收包括三个或更多个数据包和一个EC包的第一帧的包的子集的装置;
(b)用于对所述第一帧的包的所述子集执行EC处理以重构所述第一帧的至少一个包的装置,其中,所述EC处理在接收到包的整个所述子集之前启动;
(c)用于顺次接收包括三个或更多个数据包和一个EC包的第二帧的包的子集的装置;以及
(d)用于对所述第二帧的包的所述子集执行EC处理,以重构所述第二帧的至少一个包的装置,其中,对所述第二帧的EC处理在完成对所述第一帧的EC处理之前启动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2125CH2009 | 2009-09-02 | ||
IN2125/CHE/2009 | 2009-09-02 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010269329XA Division CN102006142A (zh) | 2009-09-02 | 2010-08-31 | 用于基于误差保护包的帧的接收器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103986473A true CN103986473A (zh) | 2014-08-13 |
Family
ID=43384185
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410245806.7A Pending CN103986473A (zh) | 2009-09-02 | 2010-08-31 | 用于基于误差保护包的帧的接收器 |
CN201010269329XA Pending CN102006142A (zh) | 2009-09-02 | 2010-08-31 | 用于基于误差保护包的帧的接收器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010269329XA Pending CN102006142A (zh) | 2009-09-02 | 2010-08-31 | 用于基于误差保护包的帧的接收器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8543893B2 (zh) |
EP (1) | EP2369751A3 (zh) |
JP (1) | JP2011055500A (zh) |
KR (1) | KR101419801B1 (zh) |
CN (2) | CN103986473A (zh) |
TW (1) | TWI451725B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113573050A (zh) * | 2021-09-22 | 2021-10-29 | 北京海誉动想科技股份有限公司 | 视频流包处理方法与装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9167279B2 (en) | 2011-08-22 | 2015-10-20 | Electronics & Telecommunications Research Institute | Method for payload formatting and deformatting for burst loss recovery |
KR101995221B1 (ko) | 2011-11-24 | 2019-07-16 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 장치 및 방법 |
US9239808B2 (en) * | 2011-12-15 | 2016-01-19 | Marvell World Trade Ltd. | Serial interface for FPGA prototyping |
JP6229437B2 (ja) * | 2013-10-31 | 2017-11-15 | アイコム株式会社 | 復調方法、受信装置、及び通信システム |
KR20150050133A (ko) * | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US9747048B2 (en) * | 2014-06-02 | 2017-08-29 | Micron Technology, Inc. | Systems and methods for packing data in a scalable memory system protocol |
AT514851B1 (de) * | 2014-10-23 | 2019-07-15 | Avl List Gmbh | Verfahren zur Rekonstruktion eines in einem drahtlosen Sensornetzwerk fehlerhaft empfangenen Datenpakets |
US9559805B2 (en) * | 2014-11-03 | 2017-01-31 | Cisco Technology, Inc. | Self-describing error correction of consolidated media content |
CN105045237A (zh) * | 2015-07-22 | 2015-11-11 | 浙江大丰实业股份有限公司 | 一种智能分布式舞台数据挖掘系统 |
US10003434B2 (en) | 2016-04-08 | 2018-06-19 | Cisco Technology, Inc. | Efficient error correction that aggregates different media into encoded container packets |
JP2018007192A (ja) * | 2016-07-08 | 2018-01-11 | シントレーディング株式会社 | 音声通信システム、送信装置、受信装置、送信方法、受信方法、およびプログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2009119A (en) * | 1932-12-12 | 1935-07-23 | Universal Oil Prod Co | Conversion of hydrocarbon oil |
JPH05235978A (ja) * | 1992-02-17 | 1993-09-10 | Nec Corp | 非同期転送モード通信方式 |
JPH05235979A (ja) * | 1992-02-18 | 1993-09-10 | Nec Corp | 非同期転送モード通信方式 |
JP3571918B2 (ja) * | 1997-06-04 | 2004-09-29 | 株式会社東芝 | 符号伝送方法、送信装置、受信装置および通信システム |
US6000053A (en) | 1997-06-13 | 1999-12-07 | Microsoft Corporation | Error correction and loss recovery of packets over a computer network |
US6243846B1 (en) | 1997-12-12 | 2001-06-05 | 3Com Corporation | Forward error correction system for packet based data and real time media, using cross-wise parity calculation |
US5870412A (en) | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6141788A (en) | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
US6445717B1 (en) | 1998-05-01 | 2002-09-03 | Niwot Networks, Inc. | System for recovering lost information in a data stream |
US6728920B1 (en) | 1999-05-24 | 2004-04-27 | Adaptive Broadband Corporation | Method for correcting errors in transfer of information |
EP1246385B1 (en) * | 2001-03-26 | 2014-04-30 | LG Electronics Inc. | Method of transmitting or receiving data packet in packet data communication system using hybrid automatic repeat request |
WO2003071440A1 (en) * | 2002-02-15 | 2003-08-28 | Digital Fountain, Inc. | System and method for reliably communicating the content of a live data stream |
KR100458878B1 (ko) | 2002-05-03 | 2004-12-03 | 학교법인 경희대학교 | Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법 |
US6851084B2 (en) | 2002-06-10 | 2005-02-01 | Harris Corporation | Forward error correction method and system for reliable transmission of real time data over a packet based network |
WO2005086436A1 (ja) * | 2004-03-03 | 2005-09-15 | Mitsubishi Denki Kabushiki Kaisha | パケット転送装置、パケット転送ネットワークシステム、および、端末装置 |
US7720017B2 (en) | 2005-03-11 | 2010-05-18 | Qualcomm Incorporated | Parallel turbo decoders with multiplexed output |
US7447983B2 (en) * | 2005-05-13 | 2008-11-04 | Verizon Services Corp. | Systems and methods for decoding forward error correcting codes |
US7617436B2 (en) * | 2005-08-02 | 2009-11-10 | Nokia Corporation | Method, device, and system for forward channel error recovery in video sequence transmission over packet-based network |
JP4250654B2 (ja) * | 2006-11-17 | 2009-04-08 | 株式会社東芝 | 通信装置、通信方法および通信プログラム |
US7978635B2 (en) | 2007-03-21 | 2011-07-12 | Qualcomm Incorporated | H-ARQ acknowledgment detection validation by re-decoding |
JP5075536B2 (ja) * | 2007-09-03 | 2012-11-21 | 株式会社東芝 | Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム |
JP2009118244A (ja) * | 2007-11-07 | 2009-05-28 | Internatl Business Mach Corp <Ibm> | 再生単位が可変のデータを送信する技術 |
-
2010
- 2010-07-16 US US12/837,556 patent/US8543893B2/en active Active
- 2010-08-05 TW TW99126205A patent/TWI451725B/zh not_active IP Right Cessation
- 2010-08-26 EP EP20100174120 patent/EP2369751A3/en not_active Ceased
- 2010-08-31 KR KR20100084737A patent/KR101419801B1/ko not_active IP Right Cessation
- 2010-08-31 CN CN201410245806.7A patent/CN103986473A/zh active Pending
- 2010-08-31 CN CN201010269329XA patent/CN102006142A/zh active Pending
- 2010-09-02 JP JP2010196274A patent/JP2011055500A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113573050A (zh) * | 2021-09-22 | 2021-10-29 | 北京海誉动想科技股份有限公司 | 视频流包处理方法与装置 |
CN113573050B (zh) * | 2021-09-22 | 2021-12-24 | 北京海誉动想科技股份有限公司 | 视频流包处理方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201119294A (en) | 2011-06-01 |
JP2011055500A (ja) | 2011-03-17 |
KR20110025118A (ko) | 2011-03-09 |
CN102006142A (zh) | 2011-04-06 |
US20110055666A1 (en) | 2011-03-03 |
EP2369751A2 (en) | 2011-09-28 |
TWI451725B (zh) | 2014-09-01 |
US8543893B2 (en) | 2013-09-24 |
EP2369751A3 (en) | 2012-02-29 |
KR101419801B1 (ko) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103986473A (zh) | 用于基于误差保护包的帧的接收器 | |
US11991072B2 (en) | System and method for facilitating efficient event notification management for a network interface controller (NIC) | |
CN101047714B (zh) | 一种处理网络数据的方法及系统 | |
US7948894B2 (en) | Data flow control for simultaneous packet reception | |
EP1897333B1 (en) | Method for parallel data integrity checking of pci express devices | |
CN104572574B (zh) | 基于千兆以太网视觉协议的以太网控制器ip核及方法 | |
US8495241B2 (en) | Communication apparatus and method therefor | |
US20110317699A1 (en) | Method for media access control address learning and learning rate suppression | |
CN111638992A (zh) | 基于微片的分组化 | |
US6901496B1 (en) | Line rate buffer using single ported memories for variable length packets | |
CN106257434A (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
JP2008517565A5 (zh) | ||
US20110145469A1 (en) | Apparatus for processing peripheral component interconnect express protocol | |
CN112948295B (zh) | 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法 | |
CN113518044B (zh) | Epa设备 | |
CN113660295B (zh) | 报文处理装置 | |
CN1949695A (zh) | 一种帧数据传输中错帧丢弃的方法和系统 | |
JP2005018768A (ja) | 単一ポートセルメモリ装置のための二重ポート機能 | |
EP2201740B1 (en) | High speed packet processing in a wireless network | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
CN1467956A (zh) | 一种利用帧定位实现包方式数据高位宽到低位宽的格式转换方法 | |
US6799229B1 (en) | Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization | |
CN109992198B (zh) | 神经网络的数据传输方法及相关产品 | |
CN106911715B (zh) | 一种将读写控制分开的通信控制单元和通信控制方法 | |
CN101938404A (zh) | 用于数据流量管理的随机早期丢弃方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140813 |