专利汇可以提供一种基于FPGA的网络传输实时音视频纠错方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于FPGA的网络传输实时音视频纠错方法及系统,涉及 数字视频广播 技术领域。本发明技术要点包括:将网络远程传输过来的数据包进行解析,对匹配本地IP地址及端口号的数据包进行处理,将校验FEC包及数据RTP包进行判断并分别存入到FPGA内部RAM和外部SDRAM。利用校验FEC包对其关联数据RTP包进行恢复,恢复后的数据RTP包回写SDRAM,控 制模 块 读取SDRAM中完整的数据包进行输出,实现网络远程传输的丢包恢复。,下面是一种基于FPGA的网络传输实时音视频纠错方法及系统专利的具体信息内容。
1.一种基于FPGA的网络传输实时音视频纠错方法,其特征在于,包括:
网络数据包接口处理步骤:
接收并拼接网络数据,当接收到的数据足以构成一个数据包时,对数据包进行解包并提取数据包的目标IP地址及目标端口号;
将数据包的目标IP地址及目标端口号与本机系统设定的IP地址及端口号进行比较,如果相同则将数据包存入本机输入缓存中;存储数据包的同时将从该数据包中获取的数据包类型添加到数据包的包头,以便读取时判断其数据包类型;
纠错恢复检测步骤:包括第一控制状态、第二控制状态、第三控制状态及第四控制状态;
第一控制状态为:监测第二控制状态、第三控制状态及第四控制状态的触发条件,若满足触发条件则进入相应的控制状态,其中第二控制状态、第三控制状态、第四控制状态的优先级依次降低,完成所述相应控制状态的功能后返回第一控制状态;
第二控制状态为:当所述输入缓存中的数据大于一个数据包时,将进行数据包存储步骤,数据包存储步骤包括:
根据数据包类型将输入缓存中的RTP包存储到FPGA外部的存储器中,将输入缓存中的FEC包存储到FPGA内部的存储器中;
且将RTP包按照数据包自身的序号顺序存储,并记录每个序号对应的RTP包的存储情况以及外部存储器中RTP包的总数;
将FEC包按照到达本机的先后顺序存储,并记录每个FEC包的状态及每个FEC包关联的首个RTP包序号、关联RTP包序号偏移量、关联RTP包总数;
其中,FEC包的状态包括第0状态、第一状态、第二状态、第三状态、第四状态、第五状态及第六状态;第0状态表示FEC包无效;当FEC包到来时,且其后没有RTP包到来时为第一状态;当FEC包到来后,且其后有1个RTP包到来时为第二状态;当FEC包到来后,且其后有2个RTP包到来时为第三状态;当FEC包到来后,且其后有3个RTP包到来时为第四状态;当FEC包进入第四状态后并且FPGA内部存储的非第0状态的FEC包数量小于L+D时进入第五状态;其中L、D分别为数据矩阵的长和宽;进入第五状态后,当外部存储器中有3个以上的RTP包读出到输出缓存时,进入第六状态;第六状态为FEC包无效,且将回到第0状态;
第三控制状态为当输出缓存中的RTP包总数小于设定包数目时,外部存储器输出一个RTP包到输出缓存;
第四控制状态为当外部存储器中RTP包的总数大于最小值时,反复查询每个FEC包的状态;当查询到某个FEC包的状态为第五状态时,则进一步根据RTP包的存储情况查询该FEC包关联的RTP包是否到齐,如果仅有一个关联的RTP包缺失,则进入纠错恢复步骤,恢复该缺失的RTP包;
纠错恢复步骤:
根据所述FEC包关联的首个RTP包序号读取首个RTP包;如果首个RTP包序号即为所要恢复的RTP包序号,则将所述首个RTP包序号加上关联RTP包序号偏移量后读取RTP包;
将上一个读取到的RTP包序号加上关联RTP包序号偏移量后读取下一个RTP包;如果相加结果为需要恢复的RTP包号,则将该相加的结果再加上关联RTP包序号偏移量读取RTP包,将第一次、第二次所读取的RTP包进行异或运算并缓存,以后每读取一个RTP包将其与上次缓存的结果进行异或运算并改写上次缓存结果;
以此类推,直到读取该FEC包的关联RTP包总数-1个RTP包,并进行RTP包总数-2次异或运算;
将异或运算的结果回写到外部存储器中需要恢复的RTP包的存储位置,并改写恢复后RTP包的存储情况,同时外部存储器中的RTP包总数加1。
2.根据权利要求1所述的一种基于FPGA的网络传输实时音视频纠错方法,其特征在于,数据包存储步骤进一步包括:RTP包的包序号由0到65535进行循环,给每个RTP包分配的存储大小为16×1024比特,存储器位宽为16比特,RTP包的存储地址每隔16384×1024进行循环;RTP数据包的包序号用16比特二进制数表示,取其低14位并在该14位后补10比特0即得该RTP包在外部存储器的包首地址,并将RTP包存储到其包首地址对应的存储区中。
3.根据权利要求1所述的一种基于FPGA的网络传输实时音视频纠错方法,其特征在于,数据包存储步骤进一步包括:FEC包按照到包的先后顺序进行存储,存储器位宽为16比特,FEC包的存储地址每隔64×1024进行循环,每个FEC包分配的存储大小为16×1024比特。
4.根据权利要求2所述的一种基于FPGA的网络传输实时音视频纠错方法,其特征在于,数据包存储步骤进一步包括:在FPGA内部使用位宽为1bit,长度为16384的存储区;当一个RTP包存入外部存储器时,将其包序号的低14位作为所述存储区的地址,将该地址对应位置
1,当读出该RTP包时,将该地址对应为清0。
5.根据权利要求1所述的一种基于FPGA的网络传输实时音视频纠错方法,其特征在于,所述最小值为L×D+3;其中L、D分别为数据矩阵的长和宽。
6.一种基于FPGA的网络传输实时音视频纠错系统,其特征在于,包括:
网络数据包接口处理单元,用于:
接收并拼接网络数据,当接收到的数据足以构成一个数据包时,对数据包进行解包并提取数据包的目标IP地址及目标端口号;
将数据包的目标IP地址及目标端口号与本机的目标IP地址及目标端口号进行比较,如果相同则将数据包存入本机输入缓存中;存储数据包的同时将从该数据包中获取的数据包类型添加到数据包的包头;
纠错恢复控制单元,用于:控制本机在第一控制状态、第二控制状态、第三控制状态及第四控制状态下;
第一控制状态为:监测第二控制状态、第三控制状态及第四控制状态的触发条件,若满足触发条件则进入相应的控制状态,其中第二控制状态、第三控制状态、第四控制状态的优先级依次降低,完成所述相应控制状态的功能后返回第一控制状态;
第二控制状态为:当所述输入缓存中的数据大于一个数据包时,启动数据包存储单元;
数据包存储单元用于:
根据数据包类型将输入缓存中的RTP包存储到FPGA外部的存储器中,将输入缓存中的FEC包存储到FPGA内部的存储器中;
且将RTP包按照数据包自身的序号顺序存储,并记录每个序号对应的RTP包的存储情况以及外部存储器中RTP包的总数;
将FEC包按照到达本机的先后顺序存储,并记录每个FEC包的状态及每个FEC包关联的首个RTP包序号、关联RTP包序号偏移量、关联RTP包总数;
其中,FEC包的状态包括第0状态、第一状态、第二状态、第三状态、第四状态、第五状态及第六状态;第0状态表示FEC包无效;当FEC包到来时,且其后没有RTP包到来时为第一状态;当FEC包到来后,且其后有1个RTP包到来时为第二状态;当FEC包到来后,且其后有2个RTP包到来时为第三状态;当FEC包到来后,且其后有3个RTP包到来时为第四状态;当FEC包进入第四状态后并且FPGA内部存储的非第0状态的FEC包数量小于L+D时进入第五状态;其中L、D分别为数据矩阵的长和宽;进入第五状态后,当外部存储器中有3个以上的RTP包读出到输出缓存时,进入第六状态;第六状态为FEC包无效,且将回到第0状态;
第三控制状态为当输出缓存中的RTP包总数小于设定包数目时,外部存储器输出一个RTP包到输出缓存;
第四控制状态为当外部存储器中RTP包的总数大于最小值时,反复查询每个FEC包的状态;当查询到某个FEC包的状态为第五状态时,则进一步根据RTP包的存储情况查询该FEC包关联的RTP包是否到齐,如果仅有一个关联的RTP包缺失,则启动纠错恢复单元,恢复该缺失的RTP包;
纠错恢复单元,用于:
根据所述FEC包关联的首个RTP包序号读取首个RTP包;如果首个RTP包序号即为所要恢复的RTP包序号,则将所述首个RTP包序号加上关联RTP包序号偏移量后读取RTP包;
将上一个读取到的RTP包序号加上关联RTP包序号偏移量后读取下一个RTP包;如果相加结果为需要恢复的RTP包号,则将该相加的结果再加上关联RTP包序号偏移量读取RTP包,将第一次、第二次所读取的RTP包进行异或运算并缓存,以后每读取一个RTP包,将其与上次缓存的结果进行异或运算并改写上次缓存结果;
以此类推,直到读取该FEC包的关联RTP包总数-1个RTP包,并进行RTP包总数-2次异或运算;
将异或运算的结果回写到外部存储器中需要恢复的RTP包的存储位置,并改写恢复后RTP包的存储情况,同时外部存储器中的RTP包总数加1。
7.根据权利要求6所述的一种基于FPGA的网络传输实时音视频纠错系统,其特征在于,RTP包的包序号由0到65535进行循环,给每个RTP包分配的存储大小为16×1024比特,其中位宽为16比特,RTP包的存储地址每隔16384×1024进行循环;RTP数据包的包序号用16比特二进制数表示,取其低14位并在该14位后补10比特0即得该RTP包在外部存储器的包首地址,并将RTP包存储到其包首地址对应的存储区中。
8.根据权利要求6所述的一种基于FPGA的网络传输实时音视频纠错系统,其特征在于,FEC包按照到包的先后顺序进行存储,FEC包的存储地址每隔64×1024进行循环,每个FEC包分配的存储大小为16×1024比特,其中位宽为16比特。
9.根据权利要求7所述的一种基于FPGA的网络传输实时音视频纠错系统,其特征在于,在FPGA内部使用位宽为1bit,长度为16384的存储区;当一个RTP包存入外部存储器时,将其包序号的低14位作为所述存储区的地址,将该地址对应位置1,当读出该RTP包时,将该地址对应为清0。
10.根据权利要求6所述的一种基于FPGA的网络传输实时音视频纠错系统,其特征在于,还包括数据包输出单元,用于将输出缓存中的RTP包输出到下一处理单元;其中,网络数据包接口处理单元的工作时钟为25MHz;数据包存储单元、纠错恢复控制单元、纠错恢复单元的工作时钟均为100MHz;数据包输出单元的工作时钟为27MHz。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种直播业务调度方法、装置和存储介质 | 2020-05-08 | 855 |
解码器、编码器、计算机程序及方法 | 2020-05-11 | 643 |
接收装置、接收方法、发送装置和发送方法 | 2020-05-11 | 155 |
对不同的无线通信技术的干扰管理 | 2020-05-12 | 70 |
一种广告数据的获取方法及装置 | 2020-05-13 | 245 |
发送设备、发送方法、接收设备、接收方法和电子设备 | 2020-05-15 | 352 |
数据处理装置、数据处理方法 | 2020-05-11 | 993 |
兼容两代DVB-RCS的Turbo译码装置及方法 | 2020-05-11 | 522 |
直播分享方法及装置、家庭媒体设备 | 2020-05-15 | 574 |
一种EPG信息获取方法及系统 | 2020-05-15 | 412 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。