CN104301648B - 一种sd卡保存视频时避免数据丢失的方法 - Google Patents
一种sd卡保存视频时避免数据丢失的方法 Download PDFInfo
- Publication number
- CN104301648B CN104301648B CN201410580237.1A CN201410580237A CN104301648B CN 104301648 B CN104301648 B CN 104301648B CN 201410580237 A CN201410580237 A CN 201410580237A CN 104301648 B CN104301648 B CN 104301648B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- data
- card
- write
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004321 preservation Methods 0.000 title abstract description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种SD卡数据处理技术领域,具体涉及一种SD卡保存视频时避免数据丢失的方法。本发明提供了一种SD卡保存视频时避免数据丢失的方法,该方法通过当缓存区接近溢出临界点的时候,减少视频编码接口生成的数据量,以及配合通过减少单位时间内SD卡的写入次数。本发明的方法通过实时监测视频缓存队列的剩余容量,当剩余容量达到警戒值时,立即自适应调整录像线程产生的数据量,并控制SD卡的写入次数,本发明将视频自适应编码技术应用到提高SD卡存储可靠性上,对车载DVR视频数据保存到SD卡的过程进行监视,通过调整写入数据量和写入次数来平衡数据缓存区的空间,使视频数据不丢失。
Description
技术领域
本发明涉及一种SD卡数据处理技术领域,具体涉及一种SD卡保存视频时避免数据丢失的方法。
背景技术
在车载DVR(数字视频录像机)领域,SD卡是重要的存储介质,但在嵌入式环境中,由于设备性能及资源有限,SD卡的数据写入速度往往受到多种外界因素的影响,比如嵌入式CPU的繁忙程度、SD卡和车载主机的接口类型等。
同时,车载DVR终端在录像时,每秒产生的视频数据量也受各种条件影响,比如视频通道数量、摄像头接入数量、预置的视频编码类型、码率等。实践表明,当单位时间内产生的视频数据量较大且SD卡的写入速度处于下降阶段时,就可能出现单位时间内SD卡写入的数据量远小于录像线程生成的数据量,导致缓存队列溢出,视频数据丢失的问题。
发明内容
解决上述技术问题,本发明提供了一种SD卡保存视频时避免数据丢失的方法,该方法通过当缓存区接近溢出临界点的时候,减少视频编码接口生成的数据量,以及配合通过减少单位时间内SD卡的写入次数。
为了达到上述目的,本发明所采用的技术方案是,一种SD卡保存视频时避免数据丢失的方法,包括以下步骤:
步骤1:通过统计存入和取出视频编码数据量得到缓存区剩余容量,并根据帧间编码原理,对视频编码数据分成I帧、P帧和B帧三种类型,其中I帧是一张完整的图片,而P帧和B帧分别是I帧前后帧差异的部分,当剩余视频编码数据量的容量≤第一阈值时,执行步骤2,否则返回执行步骤1;
步骤2:自适应降低编码速率,采用“加增乘减——AIMD”方法中的“乘减”方法快速减少视频编码数据量,执行步骤3,
步骤3:判断P帧和B帧是否已经合并,若是,则执行步骤5,否则,执行步骤4;
步骤4:合并连续的多帧P帧或B帧,一次性写入缓存区;
步骤5:再次判断剩余视频编码数据量的容量是否≤第一阈值,若是则返回执行步骤2,否则执行步骤6;
步骤6:判断剩余视频编码数据量的容量是否≥第二阈值,若是,则执行步骤7,否则返回执行步骤5;
步骤7:判断码率是否>第三阈值,若是,则执行步骤9,否则执行步骤8;
步骤8:自适应恢复编码速率,采用“加增乘减——AIMD”方法中的“加增”方法缓慢恢复视频编码数据量,执行步骤9;
步骤9:判断P帧和B帧是否已经解除了合并写入,若是,则返回执行步骤6,否则执行步骤10,
步骤10:解除帧合并,恢复单帧写入,只将一帧的视频编码数据存入这一小块内存中并写入到SD卡。
进一步的,所述第一阈值为视频编码数据量的总容量的10%-30%。
进一步的,所述第二阈值为视频编码数据量的总容量的30%-50%。
进一步的,所述步骤2中的新码率计算公式为:新码率=原始视频编码码率×0.8。
进一步的,所述步骤8中的新码率计算公式为:新码率=原始视频编码码率+50kbitps。
本发明通过采用上述技术方案,与现有技术相比,具有如下优点:
本发明的方法通过实时监测视频缓存队列的剩余容量,当剩余容量达到警戒值时,立即自适应调整录像线程产生的数据量,并控制SD卡的写入次数,避免视频数据因为来不及写入而丢失。
本发明将视频自适应编码技术应用到提高SD卡存储可靠性上,对车载DVR视频数据保存到SD卡的过程进行监视,通过调整写入数据量和写入次数来平衡数据缓存区的空间,使视频数据不丢失。所以本方法达到了相对提高SD卡的数据写入效率,防止视频数据在保存到SD卡的过程中无形丢失的目的。
附图说明
图1是本发明的实施例的流程图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
作为一个具体的实施例,在车载DVR设备上,SD卡的存储性能直接决定着视频数据是否能快速且完整的保存。视频数据由车载DVR视频编码接口输出后,通常会存入一个数据缓存区,再由SD卡写入程序从该缓存区提取数据,最终写入到SD卡中。在这个过程中,需要有一个平衡点,即单位时间内SD卡写入程序从缓存区提取的数据量,要大于等于视频编码接口输出到缓存区的数据量,否则缓存区早晚都会溢出,导致数据丢失。实践证明,这个平衡点不能是一个固定值,因为单位时间内视频编码接口生成的数据量和SD卡写入的数据量都受多种因素(如背景技术所述)影响而动态变化着。如图1所示,本发明的一种SD卡保存视频时避免数据丢失的方法,包括:
步骤1:通过统计存入和取出视频编码数据量得到缓存区剩余容量,缓存区是一块预先分配的内存区,由于车载DVR设备内存容量有限,缓存区的大小也就不能太大,一般分配可够缓存1分钟视频数据的内存,比如10MB。当该缓存区存满时,就会溢出,导致视频数据丢失,所以需要时刻监测缓存区剩余空间,当缓存区剩余容量达到预警值时,就启动预警机制。并根据帧间编码原理,对视频编码数据分成I帧、P帧和B帧三种类型,其中I帧是一张完整的图片,而P帧和B帧分别是I帧前后帧差异的部分,假设每秒25帧画面,则开始的第一帧是I帧,后续的24帧是P帧或者B帧,P帧只是记录与前一个I帧的差异的那部分数据,而B帧则记录与前一个I帧和后一个I帧的差异部分,所以通常I帧数据量比较大,而P帧或B帧比较小,当剩余视频编码数据量的容量≤第一阈值时,所述第一阈值为视频编码数据量的总容量的10%-30%。执行步骤2,否则返回执行步骤1;
步骤2:自适应降低编码速率,采用“加增乘减——AIMD”方法中的“乘减”方法快速减少视频编码数据量,所述步骤2中的新码率计算公式为:新码率=原始视频编码码率×0.8。“乘减”可以快速减少视频编码程序生成的数据量,而“加增”则可以达到缓慢恢复数据量的目的。假设车载DVR系统默认的码率是500kbitps,且对于“乘减”的基础倍数是0.8;执行步骤3,
步骤3:判断P帧和B帧是否合并,若是,则执行步骤5,否则,执行步骤4;
步骤4:合并连续的多帧P帧或B帧,一次性写入缓存区;
步骤5:再次判断剩余视频编码数据量的容量是否≤第一阈值,若是则返回执行步骤2,否则执行步骤6;具体地,当剩余空间≤10%时候,设开始的码率为500kbitps,经过步骤1至步骤4的时候,此时新码率=500400×0.8=400kbitps,到步骤5循环的判断时间片单位为10秒,也就是说,下一时间片时刻,10秒钟后,再次执行步骤5,如果空间不足的预警还未解除,也就是说剩余空间还是≤10%,继续返回执行步骤2,新码率=400×0.8=320kbitps;以此类推,直至空间不足预警解除。
步骤6:判断剩余视频编码数据量的容量是否≥第二阈值,所述第二阈值为视频编码数据量的总容量的30%-50%,若是,则执行步骤7,否则返回执行步骤5;
步骤7:判断码率是否>第三阈值,所述第三阈值为500kitps,若是,则执行步骤9,否则执行步骤8;
步骤8:自适应恢复编码速率,采用“加增乘减——AIMD”方法中的“加增”,而“加增”的基数是50kbitps,方法缓慢恢复视频编码数据量,所述步骤8中的新码率计算公式为:新码率=原始视频编码码率+50kbitps。执行步骤9;
步骤9:判断P帧和B帧是否已经解除了合并写入,若是,则返回执行步骤6,否则执行步骤10,
步骤10:解除帧合并,恢复单帧写入,只将一帧的视频编码数据存入这一小块内存中并写入到SD卡,也就是将P帧B帧合并写入。视频数据是由一帧帧的图片组成,根据帧间编码原理,视频数据可以分成I帧、P帧和B帧三种类型。其中I帧是一张完整的图片,而P帧和B帧只是前后帧差异的部分,所以I帧数据量较大,而P帧和B帧数据量较小。为保证视频能及时保存到SD卡中,防止系统断电时丢失,通常都是按帧写入,但这种方式会频繁对SD卡执行写操作,耗时较大。而合并多帧数据量较小的P帧或B帧,一次性写入,则可以减少SD卡的写操作,节省写入耗时,相对提高SD卡的写入效率。因为合并多帧是指将连续的几帧画面的数据存入一小块内存中,并将这一小块内存的数据一次性写入到SD卡中;而解除就是指一次性只将一帧的数据存入这一小块内存中并写入到SD卡。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (5)
1.一种SD卡保存视频时避免数据丢失的方法,其特征在于:包括以下步骤:
步骤1:通过统计存入和取出视频编码数据量得到缓存区剩余容量,并根据帧间编码原理,对视频编码数据分成I帧、P帧和B帧三种类型,其中I帧是一张完整的图片,而P帧和B帧分别是I帧前后帧差异的部分,当剩余视频编码数据量的容量≤第一阈值时,执行步骤2,否则返回执行步骤1;
步骤2:自适应降低编码速率,采用“加增乘减——AIMD”方法中的“乘减”方法快速减少视频编码数据量,执行步骤3,
步骤3:判断P帧和B帧是否合并,若是,则执行步骤5,否则,执行步骤4;
步骤4:合并连续的多帧P帧或B帧,一次性写入缓存区;
步骤5:再次判断剩余视频编码数据量的容量是否≤第一阈值,若是则返回执行步骤2,否则执行步骤6;
步骤6:判断剩余视频编码数据量的容量是否≥第二阈值,若是,则执行步骤7,否则返回执行步骤5;
步骤7:判断码率是否≥第三阈值,若是,则执行步骤9,否则执行步骤8;
步骤8:自适应恢复编码速率,采用“加增乘减——AIMD”方法中的“加增”方法缓慢恢复视频编码数据量,执行步骤9;
步骤9:判断P帧和B帧是否已经解除了合并写入,若是,则返回执行步骤6,否则执行步骤10,
步骤10:解除帧合并,恢复单帧写入,只将一帧的视频编码数据存入这一小块内存中并写入到SD卡。
2.根据权利要求1所述的一种SD卡保存视频时避免数据丢失的方法,其特征在于:所述第一阈值为视频编码数据量的总容量的10%-30%。
3.根据权利要求1所述的一种SD卡保存视频时避免数据丢失的方法,其特征在于:所述第二阈值为视频编码数据量的总容量的30%-50%。
4.根据权利要求1所述的一种SD卡保存视频时避免数据丢失的方法,其特征在于:所述步骤2中的新码率计算公式为:新码率=原始视频编码码率×0.8。
5.根据权利要求1所述的一种SD卡保存视频时避免数据丢失的方法,其特征在于:所述步骤8中的新码率计算公式为:新码率=原始视频编码码率+50kbitps。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410580237.1A CN104301648B (zh) | 2014-10-27 | 2014-10-27 | 一种sd卡保存视频时避免数据丢失的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410580237.1A CN104301648B (zh) | 2014-10-27 | 2014-10-27 | 一种sd卡保存视频时避免数据丢失的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301648A CN104301648A (zh) | 2015-01-21 |
CN104301648B true CN104301648B (zh) | 2019-06-14 |
Family
ID=52321188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410580237.1A Active CN104301648B (zh) | 2014-10-27 | 2014-10-27 | 一种sd卡保存视频时避免数据丢失的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301648B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101596B (zh) * | 2016-08-15 | 2020-01-03 | Tcl集团股份有限公司 | 一种视频存储方法和装置 |
CN111225268A (zh) * | 2019-12-03 | 2020-06-02 | 深圳市道通智能航空技术有限公司 | 一种视频数据的传输方法及终端 |
CN113630619A (zh) * | 2021-08-12 | 2021-11-09 | 三星电子(中国)研发中心 | 节目录制方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1468001A (zh) * | 2002-06-27 | 2004-01-14 | 上海汉唐科技有限公司 | 基于因特网的媒体流自适应传输方法 |
CN101626506A (zh) * | 2008-07-10 | 2010-01-13 | 华为技术有限公司 | 一种视频码流的质量评估方法、装置及系统 |
CN102355577A (zh) * | 2011-09-23 | 2012-02-15 | 上海交通大学 | 一种多视视频码流的网络传输码率平滑方法 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN102811344A (zh) * | 2011-12-08 | 2012-12-05 | 苏州科达科技有限公司 | 一种视频监控系统中提高存储稳定性的控制方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792106B2 (en) * | 2004-06-08 | 2010-09-07 | Sony Corporation | Audio/video network interface |
-
2014
- 2014-10-27 CN CN201410580237.1A patent/CN104301648B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1468001A (zh) * | 2002-06-27 | 2004-01-14 | 上海汉唐科技有限公司 | 基于因特网的媒体流自适应传输方法 |
CN101626506A (zh) * | 2008-07-10 | 2010-01-13 | 华为技术有限公司 | 一种视频码流的质量评估方法、装置及系统 |
CN102355577A (zh) * | 2011-09-23 | 2012-02-15 | 上海交通大学 | 一种多视视频码流的网络传输码率平滑方法 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN102811344A (zh) * | 2011-12-08 | 2012-12-05 | 苏州科达科技有限公司 | 一种视频监控系统中提高存储稳定性的控制方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104301648A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9946467B2 (en) | Data storage method and electronic device | |
CN104301648B (zh) | 一种sd卡保存视频时避免数据丢失的方法 | |
KR20160033767A (ko) | 웨이크록 사용을 추적하는 기술들 | |
CN106937090A (zh) | 一种视频存储的方法以及装置 | |
US9411519B2 (en) | Implementing enhanced performance flash memory devices | |
US10089266B2 (en) | Power saving feature for storage subsystems | |
US10070134B2 (en) | Analytics assisted encoding | |
CN107469352B (zh) | 游戏前端的资源缓存方法、存储介质 | |
CN112840663B (zh) | 视频编码方法、装置、电子设备及存储介质 | |
RU2016122612A (ru) | Обработка видеокадров с присутствием аномалии из-за движения камеры | |
CN103617008B (zh) | 车载视频监控终端的双sd卡多媒体文件存储系统及方法 | |
CN117119201B (zh) | 压缩视频的传输方法、装置、设备及存储介质 | |
CN110555890A (zh) | 一种内存管理方法及系统 | |
CN110912922B (zh) | 一种图像传输方法、装置、电子设备及存储介质 | |
CN115794446B (zh) | 一种消息处理方法、装置、电子设备和存储介质 | |
CN103391415A (zh) | 一种录像数据丢帧处理方法及系统 | |
CN109582460B (zh) | 一种Redis内存数据的淘汰方法和装置 | |
CN104394453A (zh) | 视频预录方法及装置 | |
US9965183B2 (en) | Method for processing data in storage device and storage device | |
CN110248205A (zh) | 一种视频录像数据打包的方法及装置 | |
US9239610B2 (en) | Systems and methods for managing data in a system for hibernation states | |
CN104182490B (zh) | 一种管理数据访问的方法及装置 | |
US20170171545A1 (en) | Method to encode video with close multiple scene changes | |
US9734076B2 (en) | Dynamically changing a buffer flush threshold of a tape drive based on historical transaction size | |
CN116761032B (zh) | 视频播放方法、可读介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 303-e, Zone C, innovation building, software park, Xiamen Torch hi tech Zone, Xiamen, Fujian, 361000 Patentee after: Xiamen Yaxun Zhilian Technology Co.,Ltd. Country or region after: China Address before: No.46 guanri Road, phase II, software park, Xiamen City, Fujian Province, 361000 Patentee before: XIAMEN YAXON NETWORK Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |