CN103377142A - 一种存储方法及一种摄像系统 - Google Patents

一种存储方法及一种摄像系统 Download PDF

Info

Publication number
CN103377142A
CN103377142A CN2012101136993A CN201210113699A CN103377142A CN 103377142 A CN103377142 A CN 103377142A CN 2012101136993 A CN2012101136993 A CN 2012101136993A CN 201210113699 A CN201210113699 A CN 201210113699A CN 103377142 A CN103377142 A CN 103377142A
Authority
CN
China
Prior art keywords
buffer zone
data
large buffer
write
stored
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.)
Granted
Application number
CN2012101136993A
Other languages
English (en)
Other versions
CN103377142B (zh
Inventor
黎兴建
艾骏
胡胜发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
Anyka Guangzhou Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anyka Guangzhou Microelectronics Technology Co Ltd filed Critical Anyka Guangzhou Microelectronics Technology Co Ltd
Priority to CN201210113699.3A priority Critical patent/CN103377142B/zh
Priority claimed from CN201210113699.3A external-priority patent/CN103377142B/zh
Publication of CN103377142A publication Critical patent/CN103377142A/zh
Application granted granted Critical
Publication of CN103377142B publication Critical patent/CN103377142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种存储技术及摄像系统,所述存储技术公开的方案中,在将数据写入存储设备时,要先将所述数据写入缓冲区中,并将一个或多个缓冲区内的数据写入临时缓冲区中。由于所述临时缓冲区的容量较大,能够同时存储较多的数据,从而将所述临时缓冲区内的数据写入存储设备时,可以一次性写的数据比较多,并且,所述大缓冲区、所述小缓冲区都是顺序排列的,在写入所述临时缓冲区后,所述待存储数据也是按照顺序排列,直接写入存储设备即可,不再需要查找内存碎片,避免了因为跳写、顺写造成的延时,提高了录像品质。

Description

一种存储方法及一种摄像系统
技术领域
本发明涉及数码技术领域,特别是涉及一种存储方法及一种摄像系统。
背景技术
随着电子技术的发展,电子设备日趋多功能化,例如,现在的许多电子产品都具有录像、录音的功能。所述录像、录音功能,指的是各种摄像装置,如摄像机、数码相机、摄像头或计算机等将获取到的视频、音频等数据,写入存储设备中,如SD安全数码卡、硬盘等,再由这些存储设备对写入的数据进行存储。
但是,发明人在本申请的研究过程中发现,现有的摄像装置在将数据写入存储设备时,要经过多次的单次写才能将一段数据从摄像装置中写入存储设备中,每次单次写最多能够写入存储设备的数据量随存储设备的不同而不同,而每次单次写都可能会出现跳写及顺写的情况,其中,跳写时就需要查找所述摄像装置内的多个内存碎片,并获取所述多个内存碎片中的数据,然后将其写入存储设备中,这种情况下,因为要查找内存碎片,会耗费大量时间;顺写时,由于每个内存碎片中存储的数据容量较小,因而在将所述摄像装置中的数据存储至存储设备的过程中,必然要增加单次写的次数,也会使存储的过程耗费大量时间。这种情况下,会严重影响录像品质,甚至出现掉帧的现象。
例如,所述摄像装置在将数据存储至SD卡中时,单次写可能会耗时达到700MS,这种情况下,系统的录像帧率会降低到1帧。而高品质的录像帧率为25帧,这就要求存储设备在40S内能完成一次的单次写。而现有的存储技术因为跳写、顺写造成时间的耗费,录像帧率并不能达到高品质录像的要求,甚至出现掉帧,严重影响了录像的品质。
发明内容
有鉴于此,本发明提供了一种存储方法及一种录像系统,以解决现有存储技术中由于跳写、顺写造成时间的耗费,使得录像品质差的问题。
一种存储方法,包括:
采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;
对所述图像进行解析,创建与所述预设参数相对应的大缓冲区;
参考所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;
当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;
在所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;
将写入所述临时缓冲区内的数据写入存储设备的扇区中。
优选的,所述大缓冲区内包含小缓冲区,所述每个小缓冲区的容量大小为一个扇区的大小,并且所述每个小缓冲区按照对应的存储设备的扇区地址排序。
优选的,当所述存储设备为两个以上时,所述预设条件还包括:所述大缓冲区对应的存储设备。
优选的,所述临时缓冲区的容量不小于所述大缓冲区的容量。
优选的,将所述待存储数据写入所述大缓冲区内的方法包括:
51)判断已创建的所述大缓冲区是否与所述待存储的数据要写入的存储设备的扇区相对应,如果是,则执行步骤55),如果否,则执行步骤52);
52)判断所述大缓冲区所在的区域是否有足够的存储空间,如果没有,则执行步骤53),如果有,则执行步骤54);
53)将原有已写入数据的大缓冲区内的数据写入存储设备中,并进入步骤54);
54)创建与所述待存储数据要写入的存储设备的扇区相对应的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序;
55)将所述待存储的数据写入所述大缓冲区中。
优选的,将所述写入缓冲区的数据写入临时缓冲区的过程包括:
61)判断所述大缓冲区中是否有待存储的数据,如果有,执行步骤62);
62)创建临时缓冲区;
63)将所述大缓冲区内的待存储数据,按照所述大缓冲区的顺序写入所述临时缓冲区中,并返回执行步骤61)。
相应的,本发明还公开了一种摄像系统,包括:
采集模块,用于采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;
创建模块,用于对所述图像进行解析,创建与所述预设参数相对应的大缓冲区;
排序模块,用于根据所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;
大缓冲区写入模块,用于当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;
临时缓冲区创建模块,用于当所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;
存储设备写入模块,用于将写入所述临时缓冲区内的数据写入存储设备的扇区中。
优选的,所述大缓冲区写入模块包括:
第一判断单元,用于判断已创建的所述大缓冲区是否与所述待存储数据要写入的存储设备的扇区相对应;
第二判断单元,用于判断所述大缓冲区所在的区域是否有足够的存储空间;
创建单元,用于创建新的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序;
第一写入单元,用于将所述待存储的数据写入所述大缓冲区中。
优选的,所述临时缓冲区创建模块包括:
第三判断单元,用于判断所述大缓冲区中是否有待存储的数据;
临时缓冲区创建单元,用于创建临时缓冲区;
第二写入单元,用于将所述大缓冲区内的待存储数据,按照所述大缓冲区的排序写入所述临时缓冲区中。
优选的,所述采集模块具体为:摄像头。
通过本申请公开的存储方法,在将数据写入存储设备时,要先将所述数据写入缓冲区中,并将一个或多个缓冲区内的数据写入临时缓冲区中。由于所述临时缓冲区的容量较大,能够同时存储较多的数据,从而将所述临时缓冲区内的数据写入存储设备时,可以一次性写的数据比较多,并且,所述大缓冲区、所述小缓冲区都是顺序排列的,在写入所述临时缓冲区后,所述待存储数据也是按照顺序排列,直接写入存储设备即可,不再需要查找内存碎片,避免了因为跳写、顺写造成的延时,提高了录像品质。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种存储技术的工作流程示意图;
图2为本发明公开的一种缓冲区链表示意图;
图3为本发明公开的又一种存储技术的工作流程示意图;
图4为本发明公开的一种缓冲区链表在写入数据时的示意图;
图5为本发明公开的又一种存储技术的工作流程示意图;
图6为本发明公开的一种摄像系统的结构示意图;
图7为本发明公开的一种摄像系统中大缓冲区写入模块的结构示意图;
图8为本发明公开的一种摄像系统中临时缓冲区创建模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种存储方法,用于解决现有技术中存在的录像系统在将数据存入存储设备时存在的,由于写耗时较长,造成的录像品质差的问题。参见流程图1,本发明公开的存储方法包括以下步骤:
步骤S1、采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;另外,当录像系统中设置有多个存储设备时,所述预设条件还包括:所述大缓冲区对应的存储设备,以便选择合适的存储设备,实现对数据的存储;其中,可以由摄像机的摄像头、计算机的摄像头等完成对含有预设条件的程序图像的采集。
步骤S2、对所述图像进行解析,创建与所述预设参数相对应的大缓冲区。
实际应用时,可由摄像系统中的处理器对采集到的所述程序的图像进行解析处理,以创建所述大缓冲区,另外,可以将所述大缓冲区设置在存储设备的接口层,当然也可以设置在其他区域。同时,当设置的大缓冲区为多个时,所述多个大缓冲区可以设置在不同的区域,但一般情况下,选择将所述多个大缓冲区设置在同一个区域,如所述存储设备的接口层,以便于能及时分配内存和释放内存,减少内存的浪费。其中,所述含有预设条件的程序可以如下所示:
在设置缓冲区时,考虑到内存碎片的问题,如果频繁的申请与释放内存,将增加录像系统的负担,因此还设置了小缓冲区,所述大缓冲区能存储一个或多个扇区的数据,而每个小缓冲区的容量大小为一个扇区大小,也就是说,每个大缓冲区中都包含一个或多个小缓冲区。
Figure BDA0000154169350000061
Figure BDA0000154169350000071
另外,在设置大缓冲区方面,可以通过一个程序同时设置多个大缓冲区,例如,预先设置所述大缓冲区的大小为64K,那么,当设置所有大缓冲区的容量和的参数为128K的话,那么就同时设置了两个大缓冲区。
通过上文的程序可以看到,每个大缓冲区都包含N个小缓冲区,N的数值大小由程序:“BIG_ASAY_BUF_SIZE/扇区大小”决定,通常将所述大缓冲区设置为8K字节,或者设置为其他大小的容量。
步骤S3、参考所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;通过上文的程序可知,待存储数据应该存储在存储设备的哪个扇区中是固定的,而在创建大缓冲区时,预先设定了所述大缓冲区对应的所述存储设备的扇区地址,所述大缓冲区按照对应的所述存储设备的扇区的地址排序,而且所述大缓冲区内的小缓冲区也按照扇区地址进行排序,例如,可以按照扇区地址从小到大对所述大缓冲区进行排序,同时每个大缓冲区内的小缓冲区也按照其对应的所述存储设备的扇区地址进行排序,从而,所述每个大缓冲区内的小缓冲区,以及所述的多个大缓冲区,能够形成一个顺序排列的链表,由大缓冲区的head做为表头。参见图2,即为创建的缓冲区的链表示意图。
步骤S4、当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;当需要存储数据时,系统会产生写命令,并将所述写命令发送给所述大缓冲区,进而执行将所述待存储的数据写入所述大缓冲区的操作。
步骤S5、在所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;在将数据写入所述大缓冲区内后,创建一个临时缓冲区,所述临时缓冲区的容量要不小于所述大缓冲区,如当所述大缓冲区的大小为8K字节时,所述临时缓冲区可以为64K字节,或者为其他大小的容量,将所述待存储数据写入临时缓冲区后,再将所述临时缓冲区内的数据写入存储设备时,可以一次性写的数据比较多,并且,由于所述大缓冲区、所述小缓冲区都是顺序排列的,不需要查找的过程,从而避免了现有技术出现的因为跳写、顺写造成的耗时较长的问题。
另外,是将一个大缓冲区还是将多个大缓冲区内的数据写入临时缓冲区,取决于所述临时缓冲区的容量大小,如果所述临时缓冲区的大小和所述大缓冲区的大小相同,可以每次只写入一个大缓冲区的数据,如果所述临时缓冲区的大小是多个大缓冲区的大小的话,可以每次将多个大缓冲区的数据写入临时缓冲区中。
步骤S6、将写入所述临时缓冲区内的数据写入存储设备的扇区中。在写入存储设备时,如果所述录像系统中设置有多个存储设备时,会根据上文中的程序语言,选择相应的存储设备,将所述临时缓冲区内的数据写入所述存储设备内。
通过步骤S1到步骤S6的方法,在将数据写入存储设备时,要先将所述数据写入缓冲区中,并将一个或多个缓冲区内的数据写入临时缓冲区中,由于所述临时缓冲区的容量较大,能够同时存储较多的数据,从而将所述临时缓冲区内的数据写入存储设备时,可以一次性写的数据比较多,并且,所述大缓冲区、所述小缓冲区都是顺序排列的,在写入所述临时缓冲区后,所述待存储数据也是按照顺序排列,直接写入存储设备即可,不再需要查找内存碎片,避免了因为跳写、顺写造成的延时,提高了录像品质。
另外,如图3所公开的流程示意图所示,在将所述待存储的数据写入所述大缓冲区时,包括以下步骤:
步骤S21、判断已经创建的所述大缓冲区是否与所述待存储数据要写入的存储设备的扇区相对应。由于所述待存储数据要写入存储设备的哪个扇区之中是固定的,而且根据上文提供的程序可知,所述大缓冲区在创建时,已经明确了与所述存储设备的扇区地址的对应关系。因此,需要判断已创建的所述大缓冲区是否与所述待存储的数据要写入的存储设备的扇区相对应,如果是,则执行步骤S25,如果否,则执行步骤S22。
步骤S22、判断所述大缓冲区所在的区域是否有足够的存储空间,例如,当所述大缓冲区所在的区域是所述存储设备的接口层时,要判断所述接口层是否还有足够的存储空间,如果没有,则执行步骤S23,如果有,则执行步骤S24;
步骤S23、在步骤S22中,当判断出所述大缓冲区所在的区域没有足够的存储空间时,说明系统中没有内存可以分配,因此,将原有已写入数据的大缓冲区内的数据写入存储设备中,以获取新的内存,并进入步骤S24。
步骤S24、创建与所述待存储数据要写入的存储设备的扇区相对应的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序。例如,原有第一个大缓冲区的排在最后的小缓冲区的扇区地址为0XFFFFFF00,原有第二个大缓冲区的第一个小缓冲区的扇区地址为0XFFFFFFFF,新创建的大缓冲区内的扇区地址在0XFFFFFF00和0XFFFFFFFF之间,则将新创建的大缓冲区插入原第一大缓冲区和原第二大缓冲区之间,并将其设置为第二大缓冲区,原第二大缓冲区和之后的大缓冲区顺延,即修改原有的链表的信息。
步骤S25、将所述待存储的数据写入所述大缓冲区中。在具体执行时,在将所述待存储数据写入所述大缓冲区中时,如果所述大缓冲区中已经有数据时,可将所述待存储数据重新写入,以覆盖原有的数据。
具体实施时,参照图4所示的将所述数据写入缓冲区的示意图可知,刚创建一个大缓冲区时,由于未写入数据,所以已使用的缓冲区链表头指向空,当需要存储数据时,如果所述已创建的大缓冲区,与所述待存储数据要写入的存储设备的扇区存在对应关系,那么将所述待存储数据写入此大缓冲区中即可,如果所述大缓冲区中原来存在数据,则认为已有的数据是旧的数据,将所述待存储数据覆盖在此大缓冲区即可,如果原来不存在数据,将所述待存储数据写入相对应的小缓冲区中即可,,并将此小缓冲区添加到已使用缓冲区的链表上,并保证已使用的缓冲区的排序方式。如果在写数据时,没有足够大小的缓冲区,并且系统没有达到内存的阀值时,那么就再申请下一个大的缓冲区,而当系统已经达到内存的阈值时,可将各个大缓冲区中的数据写入存储设备,并重新创建新的缓冲区。
通过所述步骤S21至步骤S25公开的工作流程,可以将待存储数据写入所述大缓冲区中,并在所述待存储数据要写入的所述存储设备的扇区与已经创建的大缓冲区不存在对应关系时,可以创建新的大缓冲区,并在创建新的大缓冲区后,仍按照对应的所述存储设备的扇区地址进行排序。另外,本发明公开的方案,在储存设置中增加缓冲区的技术,可以让一个线程把数据写入缓冲区,就直接返回,不需要等待,将数据写完后就返回,从而不会出现因储存设置每次写的耗时很大,导致一些操作无法正常进行。而写入缓冲区的数据将会由另一个独立的线程进行在后台时写入储存设置中。
另外,如图所公开的流程示意图5所示,在将所述写入缓冲区的数据写入临时缓冲区时,包括以下步骤:
步骤S31、判断所述大缓冲区中是否有待存储的数据。当所述大缓冲区中有待存储数据时,可以产生写命令,以执行步骤S32的操作;如果经判断,没有待存储的数据时,阻塞将数据写入临时缓冲区的线程,直到判断出所述大缓冲区中存在待存储的数据。
步骤S32、创建临时缓冲区,所述临时缓冲区的容量要大于所述大缓冲区的容量,同时,所述临时缓冲区可以设置在接口层,也可以设置在其他位置,本申请不做限定。但是为了减少将所述待存储数据写入临时缓冲区的时间,本发明优选的方式是将所述临时缓冲区设置在所述大缓冲区设置的区域,以达到能够及时分配、释放内存的目的。
步骤S33、将所述大缓冲区内的待存储数据,按照所述大缓冲区的顺序写入所述临时缓冲区中,并返回执行步骤S31,即在将所述大缓冲区内的数据写入所述临时缓冲区后,再判断所述大缓冲区内是否有待存储的数据。具体实施时,要查询上一次使用的缓冲区内的地址是否和这次要使用的大缓冲区的地址连续,如果是连续的,将要使用的所述大缓冲区设置为已经使用的,从而更新链表信息,如果并不连续,则将所述要使用的大缓冲内的第一个小缓冲区的地址设置为已使用的链表头地址
本申请所公开的存储技术中,将待存储的数据写入大缓冲区的过程为一个线程,而将所述大缓冲区中的数据写入存储设备时,是由另一个线程执行的,从而通过设置缓冲区的技术,实现了多线程的方法,即通过一个线程将待存储数据写入大缓冲区,由另一个线程。该过程也可以称为异步写。
另外,在上述的线程中,执行写操作时,原则为先进先出机制。且将所述大缓冲区内的数据写入存储设备的扇区中的线程的优先级,定义为低优先级,要低于一般的应用线程,要高于系统空闲线程。因为,电子产品中存在很多线程,其中所述系统空闲线程是指没有作任何操作的线程,处于等待状态的,这样就可以利用此时间进行先执行异步写的独立的线程。另外,如果把此独立线程定义为优先级比较高,那么就会很一些优先级比这独立线程低的线程的操作处于等待状态,如录像就会出现掉帧待问题,因而将所述线程的优先级定义为低优先级,就可以起到调度时间的作用。
通过本申请所公开的存储技术,在将数据写入存储设备时,先将所述数据写入缓冲区中,并将一个或多个缓冲区内的数据写入临时缓冲区中,由于所述临时缓冲区的容量较大,能够同时存储较多的数据,从而将所述临时缓冲区内的数据写入存储设备时,可以一次性写的数据比较多,并且,所述大缓冲区、所述小缓冲区都是顺序排列的,在写入所述临时缓冲区后,所述待存储数据也是按照顺序排列,直接写入存储设备即可,不再需要查找内存碎片,避免了因为跳写、顺写造成的延时,提高了录像品质。
相应的,本发明还公开了一种摄像系统,其结构示意图如图6所示,包括:采集模块1、创建模块2、排序模块3、大缓冲区写入模块4、临时缓冲区创建模块5和存储设备写入模块6,其中:
所述采集模块1,用于采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;具体应用时,所述采集模块1可以为摄像系统的摄像头;
所述创建模块2,用于对所述图像进行解析,创建与所述预设参数相对应的大缓冲区;
所述排序模块3,用于根据所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;
所述大缓冲区写入模块4,用于当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;
所述临时缓冲区创建模块5,用于当所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;
所述存储设备写入模块6,用于将写入所述临时缓冲区内的数据写入存储设备中。
另外,参见图7,所述大缓冲区写入模块4包括:第一判断单元41、第二判断单元42、创建单元43和第一写入单元44,其中:
所述第一判断单元41,用于判断已创建的所述大缓冲区是否与所述待存储数据要写入的存储设备的扇区相对应;
所述第二判断单元42,用于判断所述大缓冲区所在的区域是否有足够的存储空间;
所述创建单元43,用于创建新的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序;
所述第一写入单元44,用于将所述待存储的数据写入所述大缓冲区中。
另外,参照图8,所述临时缓冲区创建模块5包括:第三判断单元51、临时缓冲区创建单元52和第二写入单元53,其中:
所述第三判断单元51,用于判断所述大缓冲区中是否有待存储的数据;
所述临时缓冲区创建单元52,用于创建临时缓冲区;
所述第二写入单元53,用于将所述大缓冲区内的待存储数据,按照所述大缓冲区的排序写入所述临时缓冲区中。
通过本发明所公开的摄像系统,可以将待存储的数据写入预先创建的大缓冲区中,并将一个或多个大缓冲区内的数据写入临时缓冲区,再通过所述临时缓冲区将数据写入存储设备中,从而可以实现一次性写的数据比较多,并避免了查找内存碎片的时间,提高了写数据的性能,提高了录像品质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种存储方法,其特征在于,包括:
采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;
对所述图像进行解析,创建与所述预设参数相对应的大缓冲区;
参考所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;
当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;
在所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;
将写入所述临时缓冲区内的数据写入存储设备的扇区中。
2.根据权利要求1所述的方法,其特征在于,所述大缓冲区内包含小缓冲区,所述每个小缓冲区的容量大小为一个扇区的大小,并且所述每个小缓冲区按照对应的存储设备的扇区地址排序。
3.根据权利要求1所述的方法,其特征在于,当所述存储设备为两个以上时,所述预设条件还包括:所述大缓冲区对应的存储设备。
4.根据权利要求1所述的方法,其特征在于,所述临时缓冲区的容量不小于所述大缓冲区的容量。
5.根据权利要求1所述的方法,其特征在于,将所述待存储数据写入所述大缓冲区内的方法包括:
51)判断已创建的所述大缓冲区是否与所述待存储的数据要写入的存储设备的扇区相对应,如果是,则执行步骤55),如果否,则执行步骤52);
52)判断所述大缓冲区所在的区域是否有足够的存储空间,如果没有,则执行步骤53),如果有,则执行步骤54);
53)将原有已写入数据的大缓冲区内的数据写入存储设备中,并进入步骤54);
54)创建与所述待存储数据要写入的存储设备的扇区相对应的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序;
55)将所述待存储的数据写入所述大缓冲区中。
6.根据权利要求1所述的方法,其特征在于,将所述写入缓冲区的数据写入临时缓冲区的过程包括:
61)判断所述大缓冲区中是否有待存储的数据,如果有,执行步骤62);
62)创建临时缓冲区;
63)将所述大缓冲区内的待存储数据,按照所述大缓冲区的顺序写入所述临时缓冲区中,并返回执行步骤61)。
7.一种摄像系统,其特征在于,包括:
采集模块,用于采集包含有预设参数的程序的图像,所述预设参数至少包括:预先设定的大缓冲区的个数及各个大缓冲区的大小、所述存储设备中与所述各个大缓冲区分别对应的扇区地址,所述各个大缓冲区分别对应的数据地址;
创建模块,用于对所述图像进行解析,创建与所述预设参数相对应的大缓冲区;
排序模块,用于根据所述存储设备中与所述各个大缓冲区分别对应的扇区地址,对所述大缓冲区进行排序;
大缓冲区写入模块,用于当需要存储数据时,将待存储数据写入与所述待存储数据相对应的所述大缓冲区内;
临时缓冲区创建模块,用于当所述大缓冲区内写入数据后,创建临时缓冲区,并将所述一个或多个大缓冲区内的数据写入临时缓冲区;
存储设备写入模块,用于将写入所述临时缓冲区内的数据写入存储设备的扇区中。
8.根据权利要求7所述的系统,其特征在于,所述大缓冲区写入模块包括:
第一判断单元,用于判断已创建的所述大缓冲区是否与所述待存储数据要写入的存储设备的扇区相对应;
第二判断单元,用于判断所述大缓冲区所在的区域是否有足够的存储空间;
创建单元,用于创建新的大缓冲区,并将所述待存储数据写入所述新创建的大缓冲区中,并根据所述待存储数据对应的存储设备的扇区地址,对所述大缓冲区进行排序;
第一写入单元,用于将所述待存储的数据写入所述大缓冲区中。
9.根据权利要求7所述的系统,其特征在于,所述临时缓冲区创建模块包括:
第三判断单元,用于判断所述大缓冲区中是否有待存储的数据;
临时缓冲区创建单元,用于创建临时缓冲区;
第二写入单元,用于将所述大缓冲区内的待存储数据,按照所述大缓冲区的排序写入所述临时缓冲区中。
10.根据权利要求7所述的系统,其特征在于,所述采集模块具体为:
摄像头。
CN201210113699.3A 2012-04-17 一种存储方法及一种摄像系统 Active CN103377142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210113699.3A CN103377142B (zh) 2012-04-17 一种存储方法及一种摄像系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210113699.3A CN103377142B (zh) 2012-04-17 一种存储方法及一种摄像系统

Publications (2)

Publication Number Publication Date
CN103377142A true CN103377142A (zh) 2013-10-30
CN103377142B CN103377142B (zh) 2016-11-30

Family

ID=

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990917A (zh) * 2017-03-02 2017-07-28 信雅达系统工程股份有限公司 文件读写方法及系统
CN107506237A (zh) * 2017-07-07 2017-12-22 杭州联吉技术有限公司 一种网络摄像机及其内存整理方法和装置
CN108369794A (zh) * 2015-12-18 2018-08-03 三菱电机株式会社 数据处理装置、数据处理方法和数据处理程序
CN112312023A (zh) * 2020-10-30 2021-02-02 北京小米移动软件有限公司 一种相机的缓存队列分配方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960468A (en) * 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
US20040196406A1 (en) * 2003-04-04 2004-10-07 Hideyuki Shimizu Special effect device, address signal generating device, address signal generating method and address signal generating program
CN1777878A (zh) * 2003-03-24 2006-05-24 索尼计算机娱乐公司 纵横制交换机,方法和用于控制其操作的程序
US20070217655A1 (en) * 2006-03-20 2007-09-20 Fujitsu Limited Image detection device
JP2008176481A (ja) * 2007-01-17 2008-07-31 Canon Inc 画像記憶装置、その制御方法、プログラムおよびデジタルカメラ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960468A (en) * 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
CN1777878A (zh) * 2003-03-24 2006-05-24 索尼计算机娱乐公司 纵横制交换机,方法和用于控制其操作的程序
US20040196406A1 (en) * 2003-04-04 2004-10-07 Hideyuki Shimizu Special effect device, address signal generating device, address signal generating method and address signal generating program
US20070217655A1 (en) * 2006-03-20 2007-09-20 Fujitsu Limited Image detection device
JP2008176481A (ja) * 2007-01-17 2008-07-31 Canon Inc 画像記憶装置、その制御方法、プログラムおよびデジタルカメラ

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369794A (zh) * 2015-12-18 2018-08-03 三菱电机株式会社 数据处理装置、数据处理方法和数据处理程序
CN106990917A (zh) * 2017-03-02 2017-07-28 信雅达系统工程股份有限公司 文件读写方法及系统
CN106990917B (zh) * 2017-03-02 2020-03-24 信雅达系统工程股份有限公司 文件读写方法及系统
CN107506237A (zh) * 2017-07-07 2017-12-22 杭州联吉技术有限公司 一种网络摄像机及其内存整理方法和装置
CN112312023A (zh) * 2020-10-30 2021-02-02 北京小米移动软件有限公司 一种相机的缓存队列分配方法、装置、电子设备和存储介质
CN112312023B (zh) * 2020-10-30 2022-04-08 北京小米移动软件有限公司 一种相机的缓存队列分配方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US7937522B2 (en) Method for flash memory data management
CN102819497B (zh) 一种内存分配方法、装置及系统
CN101233498B (zh) 快闪存储器中利用直接数据文件存储的数据操作
CN105589812B (zh) 磁盘碎片整理方法、装置及主机
CN102377682B (zh) 基于定长单元存储变长分组的队列管理方法及设备
US20170075614A1 (en) Memory system and host apparatus
CN103425435B (zh) 磁盘存储方法及磁盘存储系统
CN107203330A (zh) 一种面向读写数据流的闪存数据分布方法
US7624227B2 (en) Drive device and related computer program
US20170160940A1 (en) Data processing method and apparatus of solid state disk
CN102792319A (zh) 数据记录装置、以及数据记录方法
CN108446399A (zh) 一种结构化海量实时数据的动态存储优化方法
CN102763070B (zh) 磁盘缓存的管理方法及装置
CN109753224B (zh) 存储结构及存储结构配置方法
US20120191938A1 (en) Information processing apparatus and write control method
US20100153678A1 (en) Memory management apparatus and method
CN102469357B (zh) 一种用户操作数据的保存方法、系统及数字电视接收终端
CN103377142A (zh) 一种存储方法及一种摄像系统
CN103488576B (zh) 一种高性能小区块内存管理方法
CN103377142B (zh) 一种存储方法及一种摄像系统
CN112711501B (zh) 采用NAND Flash作为存储器时坏块管理的方法
WO2015118623A1 (ja) 情報処理装置
CN102479156B (zh) 用来进行区块管理的方法、记忆装置及其控制器
CN112181276A (zh) 提升存储设备服务质量的大块构造、分配方法及其存储设备
KR101609304B1 (ko) 멀티칩 플래시 저장장치 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Storage method and image pickup system

Effective date of registration: 20171102

Granted publication date: 20161130

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20181227

Granted publication date: 20161130

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Storage method and image pickup system

Effective date of registration: 20190130

Granted publication date: 20161130

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2019440000051

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200320

Granted publication date: 20161130

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Registration number: 2019440000051

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.