CN117762329A - 视频数据的存储方法、装置、计算机设备及存储介质 - Google Patents
视频数据的存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117762329A CN117762329A CN202311620644.6A CN202311620644A CN117762329A CN 117762329 A CN117762329 A CN 117762329A CN 202311620644 A CN202311620644 A CN 202311620644A CN 117762329 A CN117762329 A CN 117762329A
- Authority
- CN
- China
- Prior art keywords
- video data
- data
- random access
- double
- access memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013500 data storage Methods 0.000 title abstract description 9
- 230000001360 synchronised effect Effects 0.000 claims abstract description 107
- 230000005540 biological transmission Effects 0.000 claims abstract description 77
- 238000012546 transfer Methods 0.000 claims abstract description 24
- 238000009825 accumulation Methods 0.000 claims abstract description 16
- 230000003139 buffering effect Effects 0.000 claims abstract description 9
- 239000000872 buffer Substances 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 62
- 230000001186 cumulative effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及视频数据存储技术领域,公开了视频数据的存储方法、装置、计算机设备及存储介质,视频数据的存储方法包括:接收视频数据,视频数据包括多帧图像数据;根据可用存储空间,对视频数据进行缓存;根据需求信息,设置缓存深度,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取;根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。本发明通过缓存和读取将视频数据写入双倍速率同步动态随机存储器,节约存储资源,操作简单。
Description
技术领域
本发明涉及视频数据存储技术领域,具体涉及视频数据的存储方法、装置、计算机设备及存储介质。
背景技术
基板管理控制器(Baseboard Management Controller,BMC)是独立于服务器系统的小型操作系统,是集成在主板上的独立的芯片,应用于服务器的管理、监控、安装、重启等操作。
BMC可以接收服务器的图像信息,在本地或远程显示,管理和操控服务器。对于需要远程显示的图像,为了方便传输和安全,往往需要进行数据处理,如视频数据的压缩和加密等,之后转储到双倍速率同步动态随机存储器(Double Data Rate,DDR),由网口传输处理。
由于视频数据是持续输入的,数据量大,时效性高,转存到DDR时存在DDR带宽不足、仿存冲突的情况,而且压缩后的视频数据的长度是不固定的,处理器对于DDR空间的分配以及对转存数据的处理会产生不及时的问题,影响远程视频图像的显示,因此,BMC中对于远程传输的视频数据写回DDR时,存在数据堆积和丢帧的情况,会造成远程图像界面卡顿或显示异常。
相关技术中,可以增大视频数据存储控制的缓存空间,以降低丢帧概率,但是存储资源占用过多;或者,为了协调视频数据缓存不足,DDR仿存冲突的问题,需要重新确定控制逻辑,但是控制逻辑相对复杂,数据处理性能不高。
发明内容
有鉴于此,本发明提供了一种视频数据的存储方法、装置、计算机设备及存储介质,以解决存储资源占用过多的问题。
第一方面,本发明提供了一种视频数据的存储方法,包括:接收视频数据,视频数据包括多帧图像数据;根据需求信息,设置缓存深度,根据可用存储空间,对视频数据进行缓存;根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量;根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量,
有益效果:本发明实施例接收视频数据,视频数据包括多帧图像数据,根据可用存储空间,对视频数据进行缓存,本发明实施例结合可用存储空间,使得缓存的视频数据符合可用存储空间,防止视频数据丢失。根据需求设置缓存深度,既可降低由于双倍速率同步动态随机存储器的仿存冲突造成的丢帧概率,又可节约资源。根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量,根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器,其中,总线突发传输长度用于表征在一次突发传输中传输的数据量,本发明实施例充分利用数据处理的特点,精简了和双倍速率同步动态随机存储器之间冗余的交互过程,通过各数据量之间的关系,将视频数据进行缓存和读取,并将已读取的数据写入双倍速率同步动态随机存储器,控制视频数据的存储和覆盖,控制方式更灵活,避免了冗余数据的额外处理过程,与相关技术相比,本发明实施例资源占用少,控制逻辑精简灵活,提升视频数据传输的效率,降低视频数据丢失的概率。
在一种可选的实施方式中,根据可用存储空间,对视频数据进行缓存,包括:判断可用存储空间是否大于第一预设值;若可用存储空间大于第一预设值,在空间信号字段中写入第一字符,第一字符表示视频数据正常写入;从第一写地址指针开始,对视频数据中的一帧或多帧图像数据进行缓存;若可用存储空间等于第一预设值,在空间信号字段中写入第二字符,第二字符表示暂缓视频数据的写入;判断帧头写地址指针值是否有效;若帧头写地址指针值有效,将第一写地址指针更新为帧头写地址指针值;若帧头写地址指针值无效,将第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值;判断当前帧图像数据是否为帧头数据;若当前帧图像数据为帧头数据,则将当前帧图像数据进行存储;若当前帧图像数据不是帧头数据,则丢弃当前帧图像数据,以及发出丢帧告警信息。
有益效果:本发明实施例中,判断可用存储空间是否大于第一预设值,其中,第一预设值为0,在空间信号字段中写入第一字符,第一字符表示视频数据正常写入,即若可用存储空间大于0,则视频数据可正常写入并缓存,则此时,从第一写地址指针开始,对视频数据中的一帧或多帧图像数据进行缓存。若可用存储空间等于第一预设值,在空间信号字段中写入第二字符,第二字符表示暂缓视频数据的写入,即若可用存储空间为0,则暂缓视频数据的写入。判断帧头写地址指针值是否有效,若帧头写地址指针值有效,将第一写地址指针更新为帧头写地址指针值,若帧头写地址指针值无效,将第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值。其中,第二预设值为0,若帧头写地址指针值无效,则将第一写地址指针更新为0,即,将视频数据丢弃,并将第一写地址指针更新为0,第三预设值为1,将丢帧状态值设置为1,表示有数据被丢弃,对视频数据的丢弃进行记录。判断当前帧图像数据是否为帧头数据;若当前帧图像数据为帧头数据,则将当前帧图像数据进行存储;若当前帧图像数据不是帧头数据,则丢弃当前帧图像数据,以及发出丢帧告警信息。即若当前帧图像数据为帧头数据,表示是新的完整的视频数据输入,覆盖之前的视频数据,相当于丢弃上一视频数据,并发出丢帧告警信息。若此数据不是帧头,则表示是上一帧的数据未存储完成,将其丢弃即可。本发明实施例通过多次判断对视频数据进行缓存或丢弃,并对丢弃的视频数据进行记录,确保数据正确传输,便于调试跟踪。
在一种可选的实施方式中,根据可用存储空间,对视频数据进行缓存,还包括:判断可用存储空间是否小于剩余空间阈值,剩余空间阈值为剩余空间的临界值,剩余空间阈值大于第一预设值;若可用存储空间小于剩余空间阈值,更新视频数据的状态为中断状态,以及调高总线传输的优先级。
有益效果:判断可用存储空间是否小于剩余空间阈值,若可用存储空间小于剩余空间阈值,说明缓存占用的空间较大,更新视频数据的状态为中断状态,即中断视频数据的缓存,调高总线传输的优先级,优先将之前的视频数据写入双倍速率同步动态随机存储器。本发明实施例通过缓存占用情况,实时调整总线传输优先级,以及触发阈值中断,促使处理器及时数据传输处理,提升了数据传输效率,降低了数据丢失概率。
在一种可选的实施方式中,根据需求信息,设置缓存深度,包括:获取需求信息,需求信息包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率;根据需求信息,设置符合双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率的缓存深度。
有益效果:需求信息中包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率,会根据双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率设置缓存深度,既可降低由于双倍速率同步动态随机存储器的仿存冲突造成的丢帧概率,又可节约资源。
在一种可选的实施方式中,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,包括:判断可用存储空间是否小于缓存深度;若可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取;判断视频数据的长度是否等于总线突发传输长度;若视频数据的长度等于总线突发传输长度,暂缓对视频数据的读取。
有益效果:在对已缓存的视频数据进行存储时,判断可用存储空间是否小于缓存深度,若可用存储空间小于缓存深度,说明可用存储空间小,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取,判断视频数据的长度是否等于总线突发传输长度,若视频数据的长度等于总线突发传输长度,说明读取的视频数据可以通过总线进行突发传输,因此暂缓对视频数据的读取。
在一种可选的实施方式中,在若可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取之后,方法还包括:判断当前帧图像数据是否为帧尾数据;若当前帧图像数据为帧尾数据,暂缓视频数据的读取。
有益效果:判断当前帧图像数据是否为帧尾数据,若当前帧图像数据为帧尾数据,说明一个视频数据读取完成,则暂缓视频数据的读取。
在一种可选的实施方式中,根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器,包括:判断双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,是否大于或等于总线突发传输长度;双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于总线突发传输长度,从双倍速率同步动态随机存储器的第二写地址指针开始,将已读取的视频数据中的一帧或多帧图像数据写入双倍速率同步动态随机存储器;判断当前帧图像数据是否为帧尾数据;若当前帧图像数据为帧尾数据,触发传输中断。
有益效果:双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,相当于已配置的双倍速率同步动态随机存储器的未占用存储空间,若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于总线突发传输长度,说明当前剩余未占用空间能够存储写入的视频数据,将已读取的视频数据中的一帧或多帧图像数据写入双倍速率同步动态随机存储器,确保视频数据完整的写入,判断当前帧图像数据是否为帧尾数据,若当前帧图像数据为帧尾数据,则说明将完整的视频数据写入完成,触发传输中断。
在一种可选的实施方式中,若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,小于总线突发传输长度,开启计时;当计时时间大于或等于预设时间时,触发总线冲突告警。
有益效果:若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,小于总线突发传输长度,说明当前剩余未占用空间不足以存储写入的视频数据,开启计时,当计时时间大于或等于预设时间时,触发总线冲突告警。
第二方面,本发明提供了一种视频数据的存储装置,包括:接收模块,用于接收视频数据,视频数据包括多帧图像数据;缓存模块,用于根据可用存储空间,对视频数据进行缓存;读取模块,用于根据需求信息,设置缓存深度,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量;视频数据写入模块,用于根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的视频数据的存储方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的视频数据的存储方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的视频数据的存储方法的流程示意图;
图2是根据本发明实施例的视频数据缓存方法的流程示意图;
图3是根据本发明实施例的另一视频数据的存储方法的流程示意图;
图4是根据本发明实施例的又一视频数据的存储方法的流程示意图;
图5是根据本发明实施例的用于远程传输的视频数据处理装置的结构示意图;
图6是根据本发明实施例的视频数据存储模块的结构示意图;
图7是根据本发明实施例的视频数据的存储装置的结构框图;
图8是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种视频数据的存储方法,通过对视频数据进行缓存和读取,将一定长度的视频数据写入双倍速率同步动态随机存储器,以达到节约存储资源的效果。
根据本发明实施例,提供了一种视频数据的存储方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种视频数据的存储方法,可用于上述的视频数据的存储,图1是根据本发明实施例的视频数据的存储方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,接收视频数据,视频数据包括多帧图像数据。
本实施例中的视频数据为待写入至双倍速率同步动态随机存储器的数据,具体包括待写入至双倍速率同步动态随机存储器的多帧图像数据。
步骤S102,根据可用存储空间,对视频数据进行缓存。
本实施例可以通过缓存单元对视频数据进行缓存,可用存储空间是指缓存单元的存储容量减去已使用的容量之后的剩余容量。
其中,将可用存储空间与第一预设值和剩余空间阈值分别进行比较,根据比较结果,判断是否对视频数据进行缓存。
步骤S103,根据需求信息,设置缓存深度,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量。
对视频数据读取过程中,缓存深度用于决定单次读取过程的最大数据量,可用存储空间用于决定一次或多次读取的数据量总和的最大值。
其中,根据可用存储空间和缓存深度之间的关系,判断是否对已缓存的视频数据进行读取。
在一些可选的实施方式中,根据需求信息,设置缓存深度,包括:获取需求信息,需求信息包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率;根据需求信息,设置符合双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率的缓存深度。
其中,示例性地,根据实际需求设定缓存深度,本发明实施例的缓存深度可以设定为256。
在本发明实施例中,需求信息中包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率,会根据双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率设置缓存深度,既可降低由于双倍速率同步动态随机存储器的仿存冲突造成的丢帧概率,又可节约资源。
步骤S104,根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。
其中,双倍速率同步动态随机存储器(Double Data Rate,DDR)为具有双倍数据传输率的同步动态随机存取存储器,其数据传输速度为系统时钟频率的两倍,由于速度增加,其传输性能优于传统的同步动态随机存取存储器。
具体地,本实施例能够将总线突发传输长度、DDR的空间容量、DDR的视频数据累计量作为视频数据写入DDR过程的影响因素,可以更充分地利用总线的带宽、传输速率等特性,在当前DDR的空间容量和视频数据累计量的基础上,提高数据写入效率,从而达到明显提升DDR的数据写入性能等技术目的。
本实施例提供的视频数据的存储方法,接收视频数据,视频数据包括多帧图像数据,根据可用存储空间,对视频数据进行缓存,本发明实施例结合可用存储空间,使得缓存的视频数据符合可用存储空间,防止视频数据丢失。根据需求设置缓存深度,既可降低由于双倍速率同步动态随机存储器的仿存冲突造成的丢帧概率,又可节约资源。根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量,根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器,其中,总线突发传输长度用于表征在一次突发传输中传输的数据量,本发明实施例充分利用数据处理的特点,精简了和双倍速率同步动态随机存储器之间冗余的交互过程,通过各数据量之间的关系,将视频数据进行缓存和读取,并将已读取的数据写入双倍速率同步动态随机存储器,控制视频数据的存储和覆盖,控制方式更灵活,避免了冗余数据的额外处理过程,与相关技术相比,本发明实施例资源占用少,控制逻辑精简灵活,提升视频数据传输的效率,降低视频数据丢失的概率。
在本实施例中提供了一种视频数据的存储方法,可用于上述的视频数据的存储,图2是根据本发明实施例的视频数据缓存方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,判断可用存储空间是否大于第一预设值。
其中,第一预设值为0。
步骤S202,若可用存储空间大于第一预设值,在空间信号字段中写入第一字符,第一字符表示视频数据正常写入。
其中,第一字符为1,当空间信号字段的字符为1时,视频数据正常写入,若可用存储空间大于0,则说明视频数据可正常写入并缓存。
步骤S203,从第一写地址指针开始,对视频数据中的一帧或多帧图像数据进行缓存。
步骤S204,若可用存储空间等于第一预设值,在空间信号字段中写入第二字符,第二字符表示暂缓视频数据的写入。
其中,第二字符为0,当空间信号字段的字符为0时,暂缓视频数据的写入,若可用存储空间等于0,说明可用存储空间不足,暂缓视频数据的写入。
在本发明实施例中,可用缓存空间不会出现小于0的情况,当可用缓存空间下雨0时,说明存储器故障。
步骤S205,判断帧头写地址指针值是否有效。
步骤S206,若帧头写地址指针值有效,将第一写地址指针更新为帧头写地址指针值。
步骤S207,若帧头写地址指针值无效,将第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值。
其中,第二预设值为0,第三预设值1,若帧头写地址指针值无效,则将第一写地址指针更新为0,即,将视频数据丢弃,并将第一写地址指针更新为0,第三预设值为1,将丢帧状态值设置为1,表示有数据被丢弃,对视频数据的丢弃进行记录
步骤S208,判断当前帧图像数据是否为帧头数据。
步骤S209,若当前帧图像数据为帧头数据,则将当前帧图像数据进行存储。
步骤S2010,若当前帧图像数据不是帧头数据,则丢弃当前帧图像数据,以及发出丢帧告警信息。
在本发明实施例中,若当前帧图像数据为帧头数据,表示是新的完整的视频数据输入,覆盖之前的视频数据,相当于丢弃上一视频数据,并发出丢帧告警信息。
在一些可选的实施方式中,视频数据缓存方法,还包括:判断可用存储空间是否小于剩余空间阈值,剩余空间阈值为剩余空间的临界值,剩余空间阈值大于第一预设值;若可用存储空间小于剩余空间阈值,更新视频数据的状态为中断状态,以及调高总线传输的优先级。
在本发明实施例中,判断可用存储空间是否小于剩余空间阈值,若可用存储空间小于剩余空间阈值,说明缓存占用的空间较大,更新视频数据的状态为中断状态,即中断视频数据的缓存,调高总线传输的优先级,优先将之前的视频数据写入双倍速率同步动态随机存储器。本发明实施例通过缓存占用情况,实时调整总线传输优先级,以及触发阈值中断,促使处理器及时数据传输处理,提升了数据传输效率,降低了数据丢失概率。
本发明实施例中,判断可用存储空间是否大于第一预设值,其中,第一预设值为0,在空间信号字段中写入第一字符,第一字符表示视频数据正常写入,即若可用存储空间大于0,则视频数据可正常写入并缓存,则此时,从第一写地址指针开始,对视频数据中的一帧或多帧图像数据进行缓存。若可用存储空间等于第一预设值,在空间信号字段中写入第二字符,第二字符表示暂缓视频数据的写入,即若可用存储空间为0,则暂缓视频数据的写入。判断帧头写地址指针值是否有效,若帧头写地址指针值有效,将第一写地址指针更新为帧头写地址指针值,若帧头写地址指针值无效,将第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值。其中,第二预设值为0,若帧头写地址指针值无效,则将第一写地址指针更新为0,即,将视频数据丢弃,并将第一写地址指针更新为0,第三预设值为1,将丢帧状态值设置为1,表示有数据被丢弃,对视频数据的丢弃进行记录。判断当前帧图像数据是否为帧头数据;若当前帧图像数据为帧头数据,则将当前帧图像数据进行存储;若当前帧图像数据不是帧头数据,则丢弃当前帧图像数据,以及发出丢帧告警信息。即若当前帧图像数据为帧头数据,表示是新的完整的视频数据输入,覆盖之前的视频数据,相当于丢弃上一视频数据,并发出丢帧告警信息。若此数据不是帧头,则表示是上一帧的数据未存储完成,将其丢弃即可。本发明实施例通过多次判断对视频数据进行缓存或丢弃,并对丢弃的视频数据进行记录,确保数据正确传输,便于调试跟踪。
在本实施例中提供了一种视频数据的存储方法,可用于上述的视频数据的存储,图3是根据本发明实施例的另一视频数据的存储方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,接收视频数据,视频数据包括多帧图像数据。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S302,根据可用存储空间,对视频数据进行缓存。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S303,根据需求信息,设置缓存深度,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量。详细请参见图1所示实施例的步骤S103,在此不再赘述。
具体地,上述步骤S303,包括:
步骤S3031,获取需求信息,所述需求信息包括所述双倍速率同步动态随机存储器的仿存带宽和所述视频数据的输入速率。
步骤S3032,根据所述需求信息,设置符合所述双倍速率同步动态随机存储器的仿存带宽和所述视频数据的输入速率的缓存深度。
其中,示例性地,根据实际需求设定缓存深度,本发明实施例的缓存深度可以设定为256。
在本发明实施例中,需求信息中包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率,会根据双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率设置缓存深度,既可降低由于双倍速率同步动态随机存储器的仿存冲突造成的丢帧概率,又可节约资源。
步骤S3033,判断可用存储空间是否小于缓存深度。
其中,缓存深度用于表征读取的最大数据量,缓存深度可根据实际情况下的需求信息进行设定。
步骤S3034,若可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取。
在一些可选的实施方式中,若可用存储空间大于或等于缓存深度,则结束读取过程。
步骤S3035,判断视频数据的长度是否等于总线突发传输长度。
其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。
步骤S3036,若视频数据的长度等于总线突发传输长度,暂缓对视频数据的读取。
在本发明实施例中,在对已缓存的视频数据进行存储时,判断可用存储空间是否小于缓存深度,若可用存储空间小于缓存深度,说明可用存储空间小,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取,判断视频数据的长度是否等于总线突发传输长度,若视频数据的长度等于总线突发传输长度,说明读取的视频数据可以通过总线进行突发传输,因此暂缓对视频数据的读取。
在一些可选的实施方式中,在若可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取之后,方法还包括:判断当前帧图像数据是否为帧尾数据;若当前帧图像数据为帧尾数据,暂缓视频数据的读取。
在本发明实施例中,判断当前帧图像数据是否为帧尾数据,若当前帧图像数据为帧尾数据,说明一个视频数据读取完成,则暂缓视频数据的读取。
步骤S304,根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。详细请参见图1所示实施例的步骤S104,在此不再赘述。
具体地,上述步骤S304,包括:
步骤S3041,判断双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,是否大于或等于总线突发传输长度。
其中,双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,相当于已配置的双倍速率同步动态随机存储器的未占用存储空间。
步骤S3042,若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于总线突发传输长度,从双倍速率同步动态随机存储器的第二写地址指针开始,将已读取的视频数据中的一帧或多帧图像数据写入双倍速率同步动态随机存储器。
步骤S3043,判断当前帧图像数据是否为帧尾数据;
步骤S3044,若当前帧图像数据为帧尾数据,触发传输中断。
步骤S3045,若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,小于总线突发传输长度,开启计时。
步骤S3046,当计时时间大于或等于预设时间时,触发总线冲突告警。
本实施例提供的视频数据的存储方法,双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,相当于已配置的双倍速率同步动态随机存储器的未占用存储空间,若双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于总线突发传输长度,说明当前剩余未占用空间能够存储写入的视频数据,将已读取的视频数据中的一帧或多帧图像数据写入双倍速率同步动态随机存储器,确保视频数据完整的写入,判断当前帧图像数据是否为帧尾数据,若当前帧图像数据为帧尾数据,则说明将完整的视频数据写入完成,触发传输中断。
在本实施例中提供了一种视频数据的存储方法,可用于上述的视频数据的存储,图4是根据本发明实施例的又一视频数据的存储方法的流程图,如图4所示,该流程包括如下步骤:
在一些可选的实施方式中,任务开始后,视频帧输入,判断可用存储空间是否大于零,即判断ram_space>0是否成立;若ram_space>0,则在空间信号字段中写入1,即ram_free=1;若ram_space=0,则在空间信号字段中写入0,即ram_free=0;判断帧头写地址指针值是否有效,即判断wr_pt_head有效是否成立;若wr_pt_head有效,将第一写地址指针更新为帧头写地址指针值,即wr_pt=wr_pt_head;若wr_pt_head无效,将第一写地址指针更新为0,以及将丢帧状态值设置为1,即wr_pt=0,loss_enable=1,将可用存储空间(ram_space)、读地址指针(rd_pt)、写地址指针(wr_pt)、DDR写地址起始指针(wr_pt_ddr)以及视频帧起始地址(frame_st_addr)更新;判断当前帧图像数据是否为视频帧头,若当前帧图像数据是视频帧头,将当前帧图像数据进行存储,即从wr_pt缓存数据,wr_pt递增,标记帧头帧尾,wr_pt_head条件更新;若当前帧图像数据不是视频帧头,丢弃当前帧图像数据,以及发出丢帧告警信息,丢帧状态值(loss_num,可配置清空)加1。
其中,对帧头帧尾进行标记,将数据位宽的最高两位设置为使能位,用以标记视频帧的帧头帧尾示例性地,帧头为2’b01,帧尾为2’b10。
实际应用中,存储阈值到达时会触发中断状态,处理器会优先处理DDR空间中的数据,同时会并调高写DDR总线优先级,尽快排空缓存数据,因此,潜在的丢帧概率不大,丢帧中断状态可作为异常检测使用。
在一些可选的实施方式中,判断可用存储空间是否小于剩余空间阈值,即ram_space<ram_thrd是否成立,若可用存储空间小于剩余空间阈值,更新视频数据的状态为中断状态,以及调高双倍速率同步动态随机存储器的优先级,即intr_thrd中断,DDR调整优先级。
在一些可选的实施方式中,判断可用存储空间是否小于缓存深度,即ram_space<ram_depth是否成立,若可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取,即从rd_pt读数据,rd_pt递增;当读取数据个数等于总线突发传输长度,或者检测到帧尾标识时,暂缓读取,其中读取数据个数等于总线突发传输长度,即读数据=burst_Len,读出视频帧尾后,进行帧间隔和数据校验。
其中,每次读取过程中会检测帧头帧尾,并依之累计获得每个视频帧的长度(frame_len),同时,因为检测到帧尾时会直接按已读取数据长度突发传输,因此,减少了冗余传输和冗余空间占用,也保证了每个帧头都是新一帧突发传输的起始。根据功能需求,可以在帧读取过程中计算每帧的数据校验值,在帧尾时合并帧间隔校验随当次突发传输写入双倍速率同步动态随机存储器,作为视频帧传输过程中的帧间隔和数据校验。当写缓存loss_enable拉高时,当前帧存在数据缺失,则整帧数据无效,rd_pt随之复位。
在一些可选的实施方式中,判断双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,是否大于或等于总线突发传输长度,即判断ddr_depth-ddr_data>=burst_len是否成立;若不成立,进行计时告警,若成立,总线从DDR写地址起始指针(wr_pt_ddr)地址突发传输,叠增视频帧起始地址(frame_st_addr),写入DDR的视频数据累计量(ddr-data)更新;帧尾完成时写信息到信息存储器(Info_FIFO)单元,触发中断;与处理器交互,处理DDR数据,更新写入DDR的视频数据累计量(ddr-data)和累计写入Info_FIFO的帧长(frame_len_tl)。
其中,DDR写地址起始指针(wr_ddr_pt)为DDR空间起始地址,每次突发写DDR的起始地址为wr_ddr_pt,传输完成后随当次的burst_len递增,同时累计已写入DDR中的数据量(ddr_data)。当ddr_data和ddr_depth差值大于等于当次burst_len时,才允许发起总线写操作。若此时总线占用,则统计其持续时间,大于时间阈值时会触发总线冲突时间告警。
每次突发传输写入双倍速率同步动态随机存储器的数据包含帧头时,缓存当前wr_ddr_pt值为DDR中视频帧起始地址(frame_st_addr),当帧尾数据写入双倍速率同步动态随机存储器时,说明整帧已存入DDR,将DDR写地址起始指针和每个视频帧的长度(frame_len)写入信息存储器(Info_FIFO)单元,同时累计已写入信息存储器(Info_FIFO)单元的累计写入Info_FIFO的帧长(frame_len_tl),并发起中断,置中断状态为视频帧完成(frame_ready),等待处理器操作。
每次视频帧完整写入DDR后均会发起中断,处理器接收后,及时读取Info_FIFO中的所有帧信息,若处理器不是每中断读,则此处可能有多帧信息,依之处理DDR中的数据帧,并返回处理标志(frame_out),更新已写入DDR中的数据量ddr_data和累计写入Info_FIFO的帧长(frame_len_tl),确保DDR数据不会被写覆盖,避免DDR空间拥塞,由此完成和处理器交互,并视频帧循环经双倍速率同步动态随机存储器输出。当视频帧写入时,达到阈值状态时,DDR总线提高传输优先级,可以更快的读取视频帧写入双倍速率同步动态随机存储器,同时,处理器接收阈值中断,也能及时处理DDR中的数据,避免缓存空间不足导致的数据丢失情况。当loss_enable=1时,当前帧存在数据缺失,则整帧数据无效,DDR地址起始指针(wr_ddr_pt)更新为缓存的视频帧起始地址(frame_st_addr),已写入DDR的当前帧数据无效,会在下一帧被覆盖。
在本发明实施例中,处理器配置的DDR空间一般是连续的,如若非连续,则由处理器维护各段空间。可以根据视频帧起始地址和帧长,以及配置的DDR空间初始地址,计算出各帧在DDR中实际的存储地址,处理器配置和处理的灵活性更高,避免了硬件资源的消耗。
在本实施例中提供了一种视频数据的存储方法,可用于上述的视频数据的存储,如图5所示,为用于远程传输的视频数据处理装置的结构示意图,包括如下模块:
数据获取模块,用于采集视频帧的源数据。
视频缩放模块,用于对视频帧对应的视频画面进行缩放。
视频转码模块,用于对视频帧的源数据进行格式转换。
示例性地,将RGB格式转码为YUV格式。
视频压缩模块,用于对视频帧的源数据进行压缩。
对视频帧的源数据进行压缩,可降低远程传输的数据量。
数据加密模块,用于对视频帧的源数据进行加密。
对视频帧的源数据进行加密,确保安全传输。
视频帧存储模块,用于将视频帧的源数据转储至双倍速率同步动态随机存储器。
其中,数据获取模块为Data_Catch模块,视频缩放模块为Reduction模块,视频转码模块为Converter模块,视频压缩模块为Compression,数据加密模块为Encryption模块,视频帧存储模块为Stor_Ctrl模块。
在本发明实施例中,各模块根据功能需求可以由处理器配置为开启和关闭。因为每级处理均需要一定的缓存,为充分利用各级模块的缓存,数据流均通过各模块的缓存空间,若该模块功能启用,则正常工作,否则数据经缓存后可直接输出到下一级模块。在后续需要时,在不影响各自视频数据处理的前提下,作为临时缓存使用。
在上述图5中,视频帧存储模块,用于将视频帧的源数据转储至双倍速率同步动态随机存储器,如图6所示,为视频数据存储模块的结构示意图,图6中,包括缓存单元(Frame_RAM)、控制单元(Frame_Ctrl)、接口单元(Cfg&State)以及信息存储器(Info_FIFO)单元,各单元之间,以及各单元与外部设备通过总线连接,控制单元(Frame_Ctrl)接收视频帧数据。
Frame_RAM单元,用于缓存压缩后视频帧的输入。
其中,Frame_RAM单元采用双口RAM模式,可以更方便的实现帧数据的存储控制。缓存空间越大,越能降低DDR访存冲突导致的丢帧概率,但相应的也会占用更多资源。因此,需要评估DDR仿存带宽和视频数据输入速率,合理设定RAM的存储深度。
缓存深度可根据实际需求设定,示例性地,缓存深度可以为256bits,位宽可与总线位宽匹配,其中,总线位宽可根据需求设置,示例性地,总线位宽可以为128bits,示例性地,缓存填满时间在13ms以上,可以满足DDR仿存带宽需求。
本发明实施例的视频帧数据源按60fps计算,分辨率支持可配,最大为1920x1080。正常的视频图形阵列(Video Graphics Array,VGA)视频显示时,该分辨率的60fps帧数据,是按148.5M的时钟频率匀速输出,并且包含了行列同步和消隐时间。本发明实施例以200M时钟频率处理视频帧,不包含行列同步和消隐时间,只针对帧数据,同时,视频压缩模块可以对每个视频帧进行不同程度的压缩,大幅降低帧数据。本发明实施例相对于相关技术中的视频帧显示处理,时钟频率高,处理的数据少,在缓存上可以包容一定的时间差,降低了对缓存的需求。同时,缓存空间不足时,可以向其他模块申请一定程度的缓存减压。另一方面,DDR冲突不会持续很长时间,否则会触发总线冲突时间告警。
Frame_Ctrl单元,用于对输入的视频帧的读取和写入进行控制,并用于将视频帧转储至双倍速率同步动态随机存储器。
在一种可选的实施方式中,Frame_Ctrl单元实时维护Frame_RAM单元的读写地址指针(wr_pt/rd_pt),并依之计算更新Frame_RAM单元的可用存储空间(ram_space):当wr_pt>rd_pt时,ram_space=wr_pt-rd_pt;当wr_pt≤rd_pt时,ram_space=wr_pt+ram_depth-rd_pt,其中,ram_depth为缓存深度。
在本发明实施例中,根据Frame_RAM单元的缓存状态,实现视频帧数据的存储、覆盖或者丢弃,充分利用前级模块的缓存空间,调整写DDR总线的优先级,反馈存储信息、中断状态和告警信息等和处理器及时交互,确保视频帧数据快速无损的转储传输。
Info_FIFO单元,用于存储写入双倍速率同步动态随机存储器的视频帧的信息。
示例性地,信息包括:每个视频帧在DDR中的起始地址以及帧长度等,处理器可以此处理DDR中的数据。
Cfg&State单元,用于实现Stor_Ctrl单元和处理器之间的交互。
示例性地,Cfg&State单元可以接收处理器下发的配置信息,如DDR空间大小、DDR空间起始地址等,可以反馈给处理器中断状态、告警信息以及Info_FIFO中的信息等。
在本实施例中还提供了一种视频数据的存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种视频数据的存储装置,如图7所示,包括:
接收模块701,用于接收视频数据,视频数据包括多帧图像数据;
缓存模块702,用于根据可用存储空间,对视频数据进行缓存;
读取模块703,用于根据需求信息,设置缓存深度,根据可用存储空间和缓存深度,对已缓存的视频数据进行读取,缓存深度用于表征读取的最大数据量;
视频数据写入模块704,用于根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的视频数据写入双倍速率同步动态随机存储器;其中,总线突发传输长度用于表征在一次突发传输中传输的数据量。
具体地,上述缓存模块702,包括:
第一判断单元,用于判断可用存储空间是否大于第一预设值。
第一字符写入单元,用于根据可用存储空间大于第一预设值,在空间信号字段中写入第一字符,第一字符表示视频数据正常写入。
缓存单元,用于从第一写地址指针开始,对视频数据中的一帧或多帧图像数据进行缓存。
第二字符写入单元,用于根据可用存储空间等于第一预设值,在空间信号字段中写入第二字符,第二字符表示暂缓视频数据的写入。
第二判断单元,用于判断帧头写地址指针值是否有效。
帧头写地址指针值更新单元,用于根据帧头写地址指针值有效,将第一写地址指针更新为帧头写地址指针值。
第三预设值更新单元,用于根据帧头写地址指针值无效,将第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值。
第三判断单元,用于判断当前帧图像数据是否为帧头数据。
存储单元,用于根据当前帧图像数据为帧头数据,则将当前帧图像数据进行存储。
丢弃单元,用于根据当前帧图像数据不是帧头数据,则丢弃当前帧图像数据,以及发出丢帧告警信息。
具体地,上述读取模块703,包括:
需求信息获取单元,用于获取需求信息,需求信息包括双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率。
缓存深度设置单元,用于根据需求信息,设置符合双倍速率同步动态随机存储器的仿存带宽和视频数据的输入速率的缓存深度。
第四判断单元,用于判断可用存储空间是否小于缓存深度。
读取单元,用于根据可用存储空间小于缓存深度,从读地址指针开始,对视频数据中的一帧或多帧图像数据进行读取。
第五判断单元,用于判断视频数据的长度是否等于总线突发传输长度。
读取暂缓单元,用于根据视频数据的长度等于总线突发传输长度,暂缓对视频数据的读取。
具体地,上述视频数据写入模块704,包括:
第六判断单元,用于判断双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,是否大于或等于总线突发传输长度。
写入单元,用于根据双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于总线突发传输长度,从双倍速率同步动态随机存储器的第二写地址指针开始,将已读取的视频数据中的一帧或多帧图像数据写入双倍速率同步动态随机存储器。
第七判断单元,用于判断当前帧图像数据是否为帧尾数据。
传输中断触发单元,用于根据当前帧图像数据为帧尾数据,触发传输中断。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的视频数据的存储装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图7所示的视频数据的存储装置。
请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种视频数据的存储方法,其特征在于,所述方法包括:
接收视频数据,所述视频数据包括多帧图像数据;
根据可用存储空间,对所述视频数据进行缓存;
根据需求信息,设置缓存深度,根据所述可用存储空间和缓存深度,对已缓存的所述视频数据进行读取,所述缓存深度用于表征读取的最大数据量;
根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入所述双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的所述视频数据写入所述双倍速率同步动态随机存储器;
其中,所述总线突发传输长度用于表征在一次突发传输中传输的数据量。
2.根据权利要求1所述的方法,其特征在于,所述根据可用存储空间,对所述视频数据进行缓存,包括:
判断所述可用存储空间是否大于第一预设值;
若所述可用存储空间大于第一预设值,在空间信号字段中写入第一字符,所述第一字符表示所述视频数据正常写入;
从第一写地址指针开始,对所述视频数据中的一帧或多帧图像数据进行缓存;
若所述可用存储空间等于第一预设值,在所述空间信号字段中写入第二字符,所述第二字符表示暂缓所述视频数据的写入;
判断帧头写地址指针值是否有效;
若所述帧头写地址指针值有效,将所述第一写地址指针更新为所述帧头写地址指针值;
若所述帧头写地址指针值无效,将所述第一写地址指针更新为第二预设值,以及将丢帧状态值设置为第三预设值;
判断当前帧图像数据是否为帧头数据;
若所述当前帧图像数据为帧头数据,则将所述当前帧图像数据进行存储;
若所述当前帧图像数据不是帧头数据,则丢弃所述当前帧图像数据,以及发出丢帧告警信息。
3.根据权利要求2所述的方法,其特征在于,所述根据可用存储空间,对所述视频数据进行缓存,还包括:
判断所述可用存储空间是否小于剩余空间阈值,所述剩余空间阈值为剩余空间的临界值,所述剩余空间阈值大于所述第一预设值;
若所述可用存储空间小于所述剩余空间阈值,更新所述视频数据的状态为中断状态,以及调高所述总线传输的优先级。
4.根据权利要求1或2所述的方法,其特征在于,所述根据需求信息,设置缓存深度,包括:
获取需求信息,所述需求信息包括所述双倍速率同步动态随机存储器的仿存带宽和所述视频数据的输入速率;
根据所述需求信息,设置符合所述双倍速率同步动态随机存储器的仿存带宽和所述视频数据的输入速率的缓存深度。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述可用存储空间和缓存深度,对已缓存的所述视频数据进行读取,包括:
判断所述可用存储空间是否小于缓存深度;
若所述可用存储空间小于所述缓存深度,从读地址指针开始,对所述视频数据中的一帧或多帧图像数据进行读取;
判断所述视频数据的长度是否等于总线突发传输长度;
若所述视频数据的长度等于总线突发传输长度,暂缓对所述视频数据的读取。
6.根据权利要求5所述的方法,其特征在于,在所述若所述可用存储空间小于所述缓存深度,从读地址指针开始,对所述视频数据中的一帧或多帧图像数据进行读取之后,所述方法还包括:
判断当前帧图像数据是否为帧尾数据;
若所述当前帧图像数据为帧尾数据,暂缓所述视频数据的读取。
7.根据权利要求1或2所述的方法,其特征在于,所述根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入所述双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的所述视频数据写入所述双倍速率同步动态随机存储器,包括:
判断所述双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,是否大于或等于所述总线突发传输长度;
所述双倍速率同步动态随机存储器的空间容量与视频数据累计量的差,大于或等于所述总线突发传输长度,从所述双倍速率同步动态随机存储器的第二写地址指针开始,将已读取的所述视频数据中的一帧或多帧图像数据写入所述双倍速率同步动态随机存储器;
判断当前帧图像数据是否为帧尾数据;
若所述当前帧图像数据为帧尾数据,触发传输中断。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述双倍速率同步动态随机存储器的所述空间容量与所述视频数据累计量的差,小于所述总线突发传输长度,开启计时;
当计时时间大于或等于预设时间时,触发总线冲突告警。
9.一种视频数据的存储装置,其特征在于,所述装置法包括:
接收模块,用于接收视频数据,所述视频数据包括多帧图像数据;
缓存模块,用于根据可用存储空间,对所述视频数据进行缓存;
读取模块,用于根据需求信息,设置缓存深度,根据所述可用存储空间和缓存深度,对已缓存的所述视频数据进行读取,所述缓存深度用于表征读取的最大数据量;
视频数据写入模块,用于根据总线突发传输长度、双倍速率同步动态随机存储器的空间容量以及已写入所述双倍速率同步动态随机存储器的视频数据累计量之间的关系,将已读取的所述视频数据写入所述双倍速率同步动态随机存储器;其中,所述总线突发传输长度用于表征在一次突发传输中传输的数据量。
10.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至8中任一项所述的视频数据的存储方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至8中任一项所述的视频数据的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311620644.6A CN117762329A (zh) | 2023-11-29 | 2023-11-29 | 视频数据的存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311620644.6A CN117762329A (zh) | 2023-11-29 | 2023-11-29 | 视频数据的存储方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762329A true CN117762329A (zh) | 2024-03-26 |
Family
ID=90313727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311620644.6A Pending CN117762329A (zh) | 2023-11-29 | 2023-11-29 | 视频数据的存储方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762329A (zh) |
-
2023
- 2023-11-29 CN CN202311620644.6A patent/CN117762329A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683252B (zh) | 一种服务器以及一种视频压缩图像的输出系统和方法 | |
CN111277836B (zh) | 一种视频提取丢帧控制方法、系统、终端及存储介质 | |
US9400754B2 (en) | Asynchronous swap mechanism and page eviction from memory | |
CN110073653B (zh) | 视频图像数据传输方法、系统及存储介质 | |
US11314571B2 (en) | Multi-processor system with distributed mailbox architecture and communication method thereof | |
CN112328185B (zh) | 一种基于分布式存储的智能预读方法 | |
CN114051145B (zh) | 一种视频压缩处理方法、装置及介质 | |
CN104268113B (zh) | Dpi接口的lcd控制器以及其自适应带宽的方法 | |
CN115580727B (zh) | 一种视频压缩的丢帧处理方法、装置、服务器及存储介质 | |
TWI753063B (zh) | 資料傳送裝置及資料傳送方法 | |
US6167032A (en) | System and method for avoiding host transmit underruns in a communication network | |
CN112511839A (zh) | 一种视频传输控制方法、装置、设备及可读存储介质 | |
CN114968102B (zh) | 一种数据缓存方法、装置、系统、计算机设备及存储介质 | |
CN114125463B (zh) | 一种视频压缩的方法、系统、存储介质及设备 | |
CN114302087B (zh) | 一种mipi数据传输模式转换方法、装置及电子设备 | |
CN116684659A (zh) | Bmc芯片的视频输出控制模块、方法、设备和服务器 | |
CN113573072B (zh) | 一种图像处理方法、装置及相关组件 | |
WO2019019295A1 (zh) | 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法 | |
CN108616598B (zh) | 数据同步方法、装置和分布式存储系统 | |
CN102497544A (zh) | 一种对视频信号的存取进行控制的装置 | |
WO2024119812A1 (zh) | 图片处理方法、系统、装置、图像压缩装置及存储介质 | |
CN117009087A (zh) | 一种图像输出方法、装置、设备及存储介质 | |
CN117762329A (zh) | 视频数据的存储方法、装置、计算机设备及存储介质 | |
CN114584782A (zh) | 一种图像发送方法、装置及电子设备 | |
JP2005509943A (ja) | セマフォを使用する効率的なfifo通信 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |