一种基于srio传输视频帧的数据传输方法和装置的制造方法

文档序号:8475371阅读:820来源:国知局
一种基于srio传输视频帧的数据传输方法和装置的制造方法
【技术领域】
[0001] 本发明属于图像处理领域,特别是涉及到使用SRIO接口传输视频帧的一种处理 器间的接口方法和装置。
【背景技术】
[0002] SRI0(Serial RapidIO)高速串行接口是新一代高速互联技术,广泛应用于面向 高性能微处理器及系统互连接口,可以实现从IGbps到60Gbps的数据传输性能水平,已于 2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为IS0/IEC DIS 18372标准。 SRIO传输数据有两种方式:Direct I/O方式和Message Passing。在高速处理器间传输高 清视频数据一般采用Direct I/O方式,这样视频帧传输的发起方可以在不中断接收方处理 器的情况下,把视频帧通过SRIO直接写入接收方的接口缓冲区,从而减少处理器之间的交 互次数,提高处理器和传输性能。
[0003] 对于高清视频来说,视频传输速率很高,例如1080P@30fps高清视频帧,一帧原始 视频图像大小为3110400字节,传输速率为746. 5Mbps。采用多处理器架构,例如DSP+FPGA 架构的嵌入式高清编码器的处理器负载相对比较紧张,而用于视频压缩编码运算的处理器 的关键是并行和流水线机制。高清视频帧使用SRIO传输的过程中,中断次数越少,则视频 帧传输占用的额外负载就越小。
[0004] 在处理器间的接口设计方法中,常用的方法之一是使用环形接口缓冲区,其读指 针和写指针分别由接口两侧的处理器维护,数据计数器则由接口两侧处理器共同维护。为 了保证公共数据计数器的访问操作唯一性,需要在接口两侧处理器对公共的数据计数器做 互斥访问操作。这种互斥操作在处理器内部一般采用信号量等机制来实现,但是跨越处理 器实现公共资源的互斥访问则比较困难或者过于复杂。

【发明内容】

[0005] 有鉴于此,本发明提供了一种基于SRIO传输视频帧的接口方法,在接收方使用双 环形缓冲区结构、在接口数据的帧信息中引入两个独立的长序号机制,既保证了数据的完 整性与访问安全性,又避免了 SRIO接口两侧的处理器对共享资源的互斥访问操作,从而使 接口两侧的处理器可以完全独立的运行自己的业务。根据此方法设计了相应的装置。
[0006] 根据本发明的一个方面,提供一种基于SRIO传输视频帧的接口方法,该方法包括 如下步骤:
[0007] -种基于SRIO传输视频帧的数据传输方法,该方法包括如下步骤:
[0008] Sl、实时采集高清视频图像数据;
[0009] S2、基于SRIO接口,将每一帧的高清视频图像数据的像素点数据写入第一环形 buffer中,将每一帧高清视频图像数据的帧信息依次写入第二环形buffer的写地址中;
[0010] S3、当接收到中断消息时,更新本地缓冲区结构,并从第二环形buffer的读指针 取出帧信息对已写入的图像信息进行检测;
[0011] S4、检测完毕,根据第二环形buffer中的帧信息到第一环形buffer中的地址中读 取数据,将高清视频图像数据传输给本地存储设备,并更新本地的Frame No,Frame No表示 该帧视频数据的顺序号。
[0012] 2、优选的,所述每一帧的帧信息包括Frame No、PTS、Frame Length、Image Address、CRC、Sequence No共6个字段;其中,PTS表示该帧视频数据的时间戳,Frame Length表示该帧视频数据的字节长度,Image Address表示该帧视频数据在存储器中的起 始存放地址,CRC为循环冗余校验码,依据前面四个字段的数据计算得出,Sequence No为最 后写入的该帧视频数据的顺序号,其与该帧的Frame No -致。
[0013] 优选的,步骤S2中的高清视频图像数据写入的地址由高清视频图像数据中帧信 息的Image Address的字段确定,该帧视频数据连续写入;Image Address表示该帧视频数 据在存储器中的起始存放地址。
[0014] 优选的,在所述步骤S3中对帧信息进行检查的步骤进一步包括:
[0015] S31 :检查接收的Frame No和Sequence No是否相同;其中:Frame No表示该帧视 频数据的顺序号,Sequence No为最后写入的该帧视频数据的顺序号,其与该帧的Frame No 一致;
[0016] S32 :检查接收的传输头信息中的CRC是否正确,如果CRC正确则把本帧视频标记 为好帧,否则标记为坏帧;CRC为依据前面四个字段的数据计算得出;
[0017] S33 :检查将要处理帧的Frame No与接收到的帧头信息中的Frame No是否相等: 如果将要处理帧的Frame No小于等于帧头信息中的Frame No,则标识本帧为新接收到的视 频帧;
[0018] S34 :如果新接收到的视频帧是坏帧,则插入最近一帧好帧作为补偿帧;否则直接 使用当前好帧进行后续处理。
[0019] -种基于SRIO传输视频帧的数据传输装置,该装置包括如下模块:
[0020] 数据采集模块,用于采集高清视频图像数据;
[0021] 数据写入单元,用于将每一帧的高清视频图像数据的像素点数据和每一帧高频视 频图像数据的帧信息分别写入第一环形buffer和第二环形buffer的写地址中;
[0022] 中断消息发送模块,用于向数据写入摸发送中断消息,提示数据写入模块发送数 据完毕,开始处理传输数据,并更新本地信息缓冲区结构;
[0023] 高清视频帧接收模块:处理器B响应所述中断消息的接收,从第二环形buffer的 读指针取出帧信息,并将接收到帧视频数据的传输头信息拷贝到处理器B的本地存储器, 同时更新本地的Frame No, Frame No表示该帧视频数据的顺序号。
[0024] 优选的,所述数据写入单元包括
[0025] 像素点数据写入模块,用于将每一帧的高清视频图像数据的像素点数据写入第一 环形buffer中;
[0026] 帧信息写入模块,用于将每一帧高频视频图像数据的帧信息依次写入第二环形 buffer 中。
[0027] 优选的,所述高清视频图像数据写入的地址由高清视频图像数据中帧信息的 Image Address的字段确定,该帧视频数据连续写入;Image Address表示该帧视频数据在 存储器中的起始存放地址。
[0028] 优选的,所述帧信息写入模块的所述处理器A的帧信息字段顺序为:Frame No、 PTS、Frame Length、Image Address、CRC、Sequence No ;其中,PTS表不该帧视频数据的时间 戳,Frame Length表示处理器A采集到的该帧视频数据的字节长度,Image Address表示该 帧视频数据在存储器中的起始存放地址,CRC依据前面四个字段的数据计算得出,Sequence No为最后写入的该帧视频数据的顺序号。
[0029] 优选的,还包括帧信息检查模块,其用于执行以下步骤:
[0030] S21 :检查接收的Frame No和Sequence No是否相同;其中:Frame No表示本次数 据包的顺序号,Sequence No为最后写入的该帧视频数据的顺序号,其与该帧的Frame No 一致;
[0031] S22 :检查接收的传输消息头中的CRC是否正确,如果CRC正确则把本帧视频标记 为好帧,否则标记为坏帧;CRC为依据前面四个字段的数据计算得出;
[0032] S23 :检查本地存储的将要处理帧的Frame No与接收到的帧信息头中的Frame No 是否相等:如果将要处理帧的Frame No小于等于帧信息传输头中的Frame No,则标识本帧 为新接收到的视频帧;
[0033] S24 :如果新接收到的视频帧是坏帧,则插入最近一帧好帧作为补偿帧;否则直接 使用当前好帧进行后续处理。
[0034] 本发明的有益效果如下:
[0035] 本发明的有益之处在于本发明所述的方法和装置在利用SRIO传输高清视频帧数 据时,使用双环形的缓冲区机制,对高清视频数据收发全部以地址进行操作,避免了高清视 频数据的二次拷贝;接口中使用两个独立的长序号做传输头完整性校验,并且发送方和接 收方独立维护各自的帧信息,不存在跨处理器的资源互斥访问问题,有效降低了设计和实 现难度,减少了处理期间的交互次数。
【附图说明】
[0036] 下面结合附图对本发明的【具体实施方式】作进一步详细的说明;
[0037] 图1示出基于SRIO的高速处理器间硬件连接的示意图
[0038] 图2示出本发明实施例中数据传输装置中双环形buffer缓冲区示意图;
[0039] 图3示出基于SRIO传输视频帧的数据传输方法的流程图;
[0040] 图4示出基于SRIO传输视频帧的数据传输装置的工作流程图。
【具体实施方式】
[0041] 为更好地理解本发明,下面将通过具体的实施例进一步说明本发明的方案,本发 明的保护范围应包括权利要求的全部内容,但不限于此。
[0042] 作为本发明提出的方
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1