买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:西南技术物理研究所
摘要:本发明公开了一种基于CML视频接口的视频流处理方法、装置及存储介质,属于视频存储技术领域。所述方法包括以下步骤:系统初始化;进行CML视频流数据处理时,根据工作模式控制CML编解码芯片的视频流数据输入输出,对输入视频流数据进行解帧结构处理和图像帧完整性处理,对输出视频流数据进行加帧结构处理和输出帧率控制,控制DDR缓存模块中视频流数据的读写操作;分别建立CML视频流数据存储线程、CML视频流数据导出线程,CML视频流数据导出线程用于根据指令实现下载和仿真输出两种功能。填补现有的CML视频流应用领域中存储、下载和仿真输出功能一体化的空白,实现在无CML视频流源的情况下使用已存储的视频流数据进行CML视频流仿真输出的功能。
主权项:1.一种基于CML视频接口的视频流处理方法,其特征在于:包括以下步骤:S1:初始化硬件模块,包括主控模块、CML视频流接口模块、SATA磁盘存储模块、按键指示灯模块;S2:初始化各板载芯片及接口,所述芯片包括DDR芯片、USB3.0芯片、CML编解码芯片,所述接口包括寄存器接口、CML并行数字接口、SATA磁盘读写接口、USB3.0接口、IO接口;S3:进行DDR缓存,将SATA存储数据和SATA导出数据进行分区缓存处理;S4:进行CML视频流数据处理,根据工作模式控制CML编解码芯片的视频流数据输入输出,对输入视频流数据进行解帧结构处理和图像帧完整性处理,对输出视频流数据进行加帧结构处理和输出帧率控制,控制DDR缓存模块中视频流数据的读写操作;S5:进行SATA读写管理,根据主控模块PS端下发指令,对SATA磁盘进行读写数据,格式化,返回SATA盘状态操作;S6:进行USB3.0读写管理,按照数据量级的差异,将USB3.0数据读写分为指令帧数据通道和视频流数据通道;S7:基于S3-S6,分别建立CML视频流数据存储线程、CML视频流数据导出线程,CML视频流数据导出线程用于根据指令实现下载和仿真输出两种功能;S8:循环扫描按键输入指令和上位机输入指令,若收到存储指令,则触发S7中的CML视频流数据存储线程;若收到下载或仿真指令,则触发S7中CML视频流数据导出线程;所述的S3还包括以下步骤:在DDR缓存模块中分配一个写缓存区FIFO和三个数据缓存区进行循环缓存,并提供SATA存储缓存功能和SATA导出缓存功能;所述SATA存储缓存功能为:当写缓存区FIFO数据量超过32KB数据,触发写DDR操作;当读取DDR数据送入SATA写数据缓存区间时,每次写SATA一包数据量为512KB,对应操作读16次DDR缓存模块,读写包数不等时启动读DDR操作,同时进行写DDR操作;所述SATA导出缓存功能为:接收SATA读取数据时,当写缓存区FIFO数据量超过32KB数据,触发写DDR操作;同时对DDR读写数据包进行统计,当写入包总数大于读取包总数时,判断DDR缓存模块具有待导出数据,数据导出接口模块空闲时,每次向DDR缓存模块读取32KB数据,并向数据接收端发送;所述的S7中的CML视频流数据存储线程的工作步骤包括:S711:主控模块PS端接收数据存储指令,主控模块PS端的数据存储指令来源于按键或上位机,当主控模块PS端收到数据存储指令后,将开启数据存储功能;S712:主控模块PS端通过BRAM寄存器向主控模块PL端下发存储指令到SATA读写管理模块;S713:主控模块PS端通过BRAM寄存器向主控模块PL端下发存储地址队列,主控模块PS端检索地址列表管理空间中标记为SATA未使用过的存储地址,将多个SATA地址打包为地址队列形式,通过BRAM寄存器下发至主控模块PL端,用于提前提供SATA即将存储数据的地址空间;S714:进行CML视频流数据处理时,主控模块PL端将解码后的CML视频流数据按帧写入DDR缓存模块的写缓存区FIFO中;S715:DDR缓存模块中,数据分包写入SATA存储缓存,每包数据为32KB,将DDR缓存模块的三个数据缓存区循环填满,向SATA存储操作提供数据缓存空间以实现循环存储;S716:SATA读写管理模块中,启动数据存储流程,读取DDR缓存模块的数据,依次写入S713提供的SATA未使用过的存储地址,存储控制模块按512KB读取DDR缓存模块的数据,将512KB数据搬移至主控模块PS端提供的一个SATA存储地址所对应的SATA存储空间中,完成单次数据存储流程;S717:完成单次512K大小的CML视频流数据存储流程后,重复S714-S716,直到收到退出指令;所述的S7中的所述的CML视频流数据导出线程的工作步骤包括:S721:主控模块PS端接收下载或仿真输出指令,主控模块PS端的下载或仿真输出指令来源于按键或上位机,当主控模块PS端收到下载或仿真输出指令后,将开启数据导出功能;S722:主控模块PS端通过BRAM寄存器向主控模块PL端下发导出指令到SATA读写管理模块;S723:主控模块PS端通过BRAM寄存器向主控模块PL端下发导出地址队列,主控模块PS端检索地址列表管理空间中标记为SATA已使用过的存储地址,将所有已使用过的SATA地址打包为地址队列形式,通过BRAM寄存器下发至主控模块PL端,用于提前提供SATA即将导出数据的寻址空间;S724:SATA读写管理模块中,SATA启动数据导出流程,导出SATA数据,并缓存在DDR缓存模块中,SATA读写管理模块释放一个SATA导出地址,并读取当前SATA导出地址所对应的512KB数据,将读取的512KB数据搬移至DDR缓存模块的数据缓存区;S725:DDR缓存模块中,数据分包写入DDR缓存模块的数据缓存区,每包数据为32KB,将DDR缓存模块的三个数据缓存区循环填满,以待数据导出;S726:若主控模块PS端收到的是下载指令,则USB3.0读写管理模块工作于数据高速下载模式,主控模块PL端将DDR缓存模块的数据缓存区中的数据,按每包32KB的大小直接写入USB3.0芯片的输出FIFO中;若主控模块PS端收到的是仿真输出指令,则USB3.0读写管理模块工作于仿真播放模式,主控模块PL端将基于CML视频接口的视频流处理模块中读取的每一帧视频数据帧,按照640x480的分辨率抽取部分数据,并按每秒30帧的速率写入USB3.0芯片的输出FIFO;S727:若主控模块PS端收到的是下载指令,则基于CML视频接口的视频流处理模块不输出;若主控模块PS端收到的是仿真输出指令,基于CML视频接口的视频流处理模块工作于输出模式,则主控模块PL端将DDR缓存模块的数据缓存区中的数据,根据分辨率大小按每一个视频帧读出,并对视频帧数据添加CML协议帧结构,最终通过CML编解码芯片将数字信号转换为CML信号输出,视频流输出帧率为每秒30帧;S728:待每512KB数据导出完成后重复执行S724-S727,直到所有已存数据的SATA地址队列对应的视频流数据导出完成。
全文数据:
权利要求:
百度查询: 西南技术物理研究所 一种基于CML视频接口的视频流处理方法、装置及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。