CN104301648A - 一种sd卡保存视频时避免数据丢失的方法 - Google Patents

一种sd卡保存视频时避免数据丢失的方法 Download PDF

Info

Publication number
CN104301648A
CN104301648A CN201410580237.1A CN201410580237A CN104301648A CN 104301648 A CN104301648 A CN 104301648A CN 201410580237 A CN201410580237 A CN 201410580237A CN 104301648 A CN104301648 A CN 104301648A
Authority
CN
China
Prior art keywords
video
frame
data
card
loss
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
CN201410580237.1A
Other languages
English (en)
Other versions
CN104301648B (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.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201410580237.1A priority Critical patent/CN104301648B/zh
Publication of CN104301648A publication Critical patent/CN104301648A/zh
Application granted granted Critical
Publication of CN104301648B publication Critical patent/CN104301648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明涉及一种SD卡数据处理技术领域,具体涉及一种SD卡保存视频时避免数据丢失的方法。本发明提供了一种SD卡保存视频时避免数据丢失的方法,该方法通过当缓存区接近溢出临界点的时候,减少视频编码接口生成的数据量,以及配合通过减少单位时间内SD卡的写入次数。本发明的方法通过实时监测视频缓存队列的剩余容量,当剩余容量达到警戒值时,立即自适应调整录像线程产生的数据量,并控制SD卡的写入次数,本发明将视频自适应编码技术应用到提高SD卡存储可靠性上,对车载DVR视频数据保存到SD卡的过程进行监视,通过调整写入数据量和写入次数来平衡数据缓存区的空间,使视频数据不丢失。

Description

一种SD卡保存视频时避免数据丢失的方法
技术领域
本发明涉及一种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中的新码率计算公式为:新码率=原始视频编码码率+50 kbitps。
本发明通过采用上述技术方案,与现有技术相比,具有如下优点:
本发明的方法通过实时监测视频缓存队列的剩余容量,当剩余容量达到警戒值时,立即自适应调整录像线程产生的数据量,并控制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中的新码率计算公式为:新码率=原始视频编码码率+50 kbitps。执行步骤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中的新码率计算公式为:新码率=原始视频编码码率+50 kbitps。
CN201410580237.1A 2014-10-27 2014-10-27 一种sd卡保存视频时避免数据丢失的方法 Active CN104301648B (zh)

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 true CN104301648A (zh) 2015-01-21
CN104301648B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101596A (zh) * 2016-08-15 2016-11-09 Tcl集团股份有限公司 一种视频存储方法和装置
CN111225268A (zh) * 2019-12-03 2020-06-02 深圳市道通智能航空技术有限公司 一种视频数据的传输方法及终端
CN113630619A (zh) * 2021-08-12 2021-11-09 三星电子(中国)研发中心 节目录制方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468001A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的媒体流自适应传输方法
US20050286509A1 (en) * 2004-06-08 2005-12-29 Ryuichi Iwamura Audio/video network interface
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 苏州科达科技有限公司 一种视频监控系统中提高存储稳定性的控制方法以及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468001A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的媒体流自适应传输方法
US20050286509A1 (en) * 2004-06-08 2005-12-29 Ryuichi Iwamura Audio/video network interface
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 苏州科达科技有限公司 一种视频监控系统中提高存储稳定性的控制方法以及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101596A (zh) * 2016-08-15 2016-11-09 Tcl集团股份有限公司 一种视频存储方法和装置
CN111225268A (zh) * 2019-12-03 2020-06-02 深圳市道通智能航空技术有限公司 一种视频数据的传输方法及终端
WO2021109892A1 (zh) * 2019-12-03 2021-06-10 深圳市道通智能航空技术股份有限公司 一种视频数据的传输方法及终端
CN113630619A (zh) * 2021-08-12 2021-11-09 三星电子(中国)研发中心 节目录制方法和装置
US11917163B2 (en) 2021-08-12 2024-02-27 Samsung Electronics Co., Ltd. ROI-based video coding method and device

Also Published As

Publication number Publication date
CN104301648B (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
US9946467B2 (en) Data storage method and electronic device
US11531482B2 (en) Data deduplication method and apparatus
KR102450514B1 (ko) 메모리 컨트롤러의 동작 방법 및 그것을 포함하는 저장 장치의 동작 방법
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
US9703527B2 (en) Storage device and method for reallocating storage device resources based on an estimated fill level of a host buffer
CN102158349B (zh) 一种日志管理装置及方法
CN111198653B (zh) 存储装置
US9411519B2 (en) Implementing enhanced performance flash memory devices
CN104301648A (zh) 一种sd卡保存视频时避免数据丢失的方法
CN104205229B (zh) 功率损耗恢复中的固态驱动器管理
CN103617008B (zh) 车载视频监控终端的双sd卡多媒体文件存储系统及方法
CN104714861A (zh) 场景恢复数据保存方法、应用运行方法、装置及系统
CN103514140B (zh) 用于实现可重构系统中配置信息多发射的重构控制器
CN112840663B (zh) 视频编码方法、装置、电子设备及存储介质
US20120254545A1 (en) Systems and methods for background destaging storage tracks
CN110555890A (zh) 一种内存管理方法及系统
CN110912922B (zh) 一种图像传输方法、装置、电子设备及存储介质
CN103391415A (zh) 一种录像数据丢帧处理方法及系统
CN114328548B (zh) 双存储池数据淘汰速度控制方法、系统、终端及存储介质
CN104394453A (zh) 视频预录方法及装置
CN111654886B (zh) 一种限制用户带宽的方法和装置
US9734076B2 (en) Dynamically changing a buffer flush threshold of a tape drive based on historical transaction size
JP4383488B2 (ja) 画像圧縮システム及び画像圧縮方法
US9965183B2 (en) Method for processing data in storage device and storage device
CN103631726B (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