CN102243615A - 一种支持音视频帧存储的内存缓冲管理机制 - Google Patents

一种支持音视频帧存储的内存缓冲管理机制 Download PDF

Info

Publication number
CN102243615A
CN102243615A CN2011100671036A CN201110067103A CN102243615A CN 102243615 A CN102243615 A CN 102243615A CN 2011100671036 A CN2011100671036 A CN 2011100671036A CN 201110067103 A CN201110067103 A CN 201110067103A CN 102243615 A CN102243615 A CN 102243615A
Authority
CN
China
Prior art keywords
data
audio
piece
video
memory buffer
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
CN2011100671036A
Other languages
English (en)
Other versions
CN102243615B (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.)
Guangdong Zhicheng Champion Group Co Ltd
Original Assignee
Guangdong Zhicheng Champion Group 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 Guangdong Zhicheng Champion Group Co Ltd filed Critical Guangdong Zhicheng Champion Group Co Ltd
Priority to CN201110067103.6A priority Critical patent/CN102243615B/zh
Publication of CN102243615A publication Critical patent/CN102243615A/zh
Application granted granted Critical
Publication of CN102243615B publication Critical patent/CN102243615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明属于音视频采集、压缩编码和存储领域,具体为一种支持音视频帧存储的内存缓冲管理机制,它由N个普通数据块和一个扩展数据块组成,数据帧处理的流程为采集、编码、存储三个过程;所述的采集即采集输出的是固定长度的音视频数据,所述的编码即输出可变长的压缩音视频数据,所述的存储即输出32K块数据。本发明的优点在于编码器输出的压缩数据,在未确定长度前,直接写入块缓冲中;每帧音视频帧数据完整连续,并不因32K块分割而出现碎片;降低系统对数据的拷贝次数,提高系统的处理效率;反向过程则可用于从磁盘把块媒体数据还原为音视频帧数据,也起到降低拷贝数据的作用。

Description

一种支持音视频帧存储的内存缓冲管理机制
技术领域
     本发明属于音视频采集、压缩编码及存储领域,具体为一种支持音视频帧存储的内存缓冲管理机制。
背景技术
    由于数字硬盘系统采集的原始视频帧数据经过MPEG4或H.264压缩后,每个视频帧数据长度不是固定的而是可变的,并且音视频数据是以帧来表示的。而一般的数字硬盘存储系统的存储设备是为块存储设备,比如按512B 或32KB 存储,是按块的方式来表示数据。因而数字硬盘存储系统在存储音视频数据时,需要根据块存储的固定长度对帧队列进行裁剪或重新拷贝到特定长度的缓冲上,方可进行块数据写入。
   目前的数字硬盘录像机一般为4,8,16路实时音视频录像系统,如果每路视频按2Mb/秒的固定码率编码,则16路数字硬盘录像机音视频录像系统固定码率编码为32Mb/秒。由于视频采集和编码所形成的以帧的形式表现数据到存储设备以块形式表现数据,这需要做一次数据拷贝转换。因此16路系统的数据总线需要产生2×32Mb/秒的吞吐能力。
因此,如果按普通的帧数据到块数据转换,使用简单两类数据缓存之间的拷贝,数字硬盘录像机音视频录像系统数据通讯负载将增加一倍,数据处理压力较大。
发明内容
   本发明的目的在于解决现有技术的不足,针对现有数字硬盘录像机音视频录像系统数据处理方式的缺陷,提供一种新的音视频帧存储的内存缓冲管理机制,能够有效的提高音视频存储的转换效率。
一种支持音视频帧存储的内存缓冲管理机制,由N 个普通数据块和一个扩展数据块组成,普通数据块和扩展数据块为连续内存块;音视频帧存储的内存缓冲管理机制的数据帧处理流程为采集、编码、存储三个过程;所述的采集即采集输出的是固定长度的音视频数据,所述的编码即输出可变长的压缩音视频数据,所述的存储即输出32K 块数据;音视频帧存储的内存缓冲管理机制的存储过程中数据处理流为块循环缓冲初始化流程、帧数据写入处理流程、块数据写盘处理流程。
进一步的,所述的帧数据写入流程和快数据写盘处理流程是并发执行的。
所述的支持音视频帧存储的内存缓冲管理机制的应用前提是:如果视频编码分辨率为D1清晰度,设定编码帧最大数据长度不超过32K;如果在其它分辨率下,根据实际编码数据最大长度调整块的大小,但数据帧的长度为32K的倍数。 
所述的支持音视频帧存储的内存缓冲管理机制中,块循环缓冲初始化流程步骤为:
步骤1 :向数字硬盘录像机音视频录像系统申请块循环缓冲使用的连续内存块;
步骤2 :填写块信息数组,为每个块填写必要的信息和指定使用的内存,首地址为指向连续内存块,且是以32K为分界的块首地址;
步骤3 :初始化块写索引和块读索引值,初始化均为0,同时判断当前指向的块是否已经写满。
所述的支持音视频帧存储的内存缓冲管理机制中,帧数据写入处理流程步骤为:
步骤1 :依据采集系统提供的空帧信息结构,设置可用的输出编码帧缓冲,所述的缓冲由块循环缓冲提供;
步骤2 :确保块缓冲为可用缓冲,产生一个系统有条件等待,即等待第0块缓冲可以写入;
步骤3 :调用音频或视频编码器,编码器写入视频数据;
步骤4:更新当前写块信息结构和调整当前写块信息索引,调整当前块的写偏移值,如果大于或等于块总长度,则需要调整;
具体调整方法如下:当当前块已经填满或超出则进入下一块,如进入的下一块是扩展数据块,则需要作数据折叠处理,此时系统处于有条件系统等待状态,即等待第0块缓冲可以写入,在系统满足有条件系统等待时,把所有进入扩展块的数据全部拷贝到第0块上,同时把写索引移到第0块上。
步骤5: 将编码帧,提交到系统队列,供网络模块或其他模块做读操作;
步骤6: 编码帧数据写入过程完成,返回步骤1。
所述的支持音视频帧存储的内存缓冲管理机制中,块数据写盘处理流程为:
步骤1: 产生一个系统有条件等待,等待当前块读位置索引指向的块缓冲已经写满32K数据;
步骤2 :完成当前块缓冲的写入后,移动当前块读位置索引到下一块或回到步骤1;
步骤3 :标记此块数据已经写入。
对于帧数据写入处理流程和块数据写盘处理流程在多任务操作系统和单任务操作系统上均可实现。
   与现有技术相比,本发明优点如下:编码器输出的压缩数据,在未确定长度前,直接写入块缓冲中;每帧音视频帧数据完整连续,并不因32K块分割而出现碎片;降低系统对数据的拷贝次数,提高系统的处理效率;反向过程则可用于从磁盘把块媒体数据还原为音视频帧数据,也起到降低拷贝数据的作用。
附图说明
图1为音视频帧存储的内存缓冲管理机制组成示意图。
   图2为音视频帧存储的内存缓冲管理机制流程图。
   图3为音视频帧存储的内存缓冲管理机制数据处理流程图。
   图4为音视频帖数据折叠处理示意图。
具体实施方式
    如图1、图2所示,数据帧处理的流程为采集、编码、存储;所述的采集即采集输出的是固定长度的音视频数据,所述的编码即输出可变长的压缩音视频数据,所述的存储即输出32K 块数据。
本机制应用的前提条件是:如果视频编码分辨率为D1清晰度,设定编码帧最大数据长度不超过32K;如果在其它分辨率下,根据实际编码数据最大长度调整块的大小,但为32K的倍数。
图3为音视频帧存储的内存缓冲管理机制数据处理流程图,其步骤如下:首先是块循环缓冲初始化流程;其次是帧数据写入处理流程;最后是块数据写盘处理流程,帧数据写入流程和快数据写盘处理流程是并发执行的,分别在不同的操作系统任务上执行; 
  图4为音视频帖数据折叠处理示意图,本发明可以从编码模块输出数据到块数据缓冲中。
所述的支持音视频帧存储的内存缓冲管理机制中,块循环缓冲初始化流程步骤为:
步骤1 :向系统申请块循环缓冲使用的连续内存块;
步骤2 :填写块信息数组,为每个块填写必要的信息和指定使用的内存,首地址为指向连续内存块,且是以32K为分界的块首地址;
步骤3 :初始化块写索引和块读索引值,初始化都为0,同时判断当前指向的块是否已经写满;
所述的支持音视频帧存储的内存缓冲管理机制中,帧数据写入处理流程步骤为:
步骤1 :采集系统提供的空帧信息结构,并设置可用的输出编码帧缓冲,此缓冲由块循环缓冲提供;
步骤2 :确保块缓冲为可用缓冲,产生一个系统有条件等待;
步骤3 :调用音频或视频编码器,编码器写入视频数据;
步骤4:更新当前写块信息结构和调整当前写块信息索引,调整当前块的写偏移值,如果大于或等于块总长度,则需要调整;如图4所示,当当前块已经填满或超出则进入下一块,如进入的下一块是扩展数据块,则需要作数据折叠处理,此时系统处于有条件系统等待状态,即等待第0块缓冲可以写入,在系统满足有条件系统等待时,把所有进入扩展块的数据提取后全部拷贝到第0块上,同时把写索引移到第0块上。
步骤5: 将编码帧,提交到系统队列,供网络模块或其他模块做读操作;
步骤6: 编码帧数据进入下一个过程完成;
所述的支持音视频帧存储的内存缓冲管理机制中,块数据写盘处理流程为:
步骤1: 产生一个系统有条件等待,等待当前块读位置索引指向的块缓冲已经填满32K数据;
步骤2 :完成当前块缓冲的写入后,移动当前块读位置索引到下一块或回到第一块;
步骤3 :标记此块数据已经写入。

Claims (8)

1.一种支持音视频帧存储的内存缓冲管理机制,由N 个普通数据块和一个扩展数据块组成,普通数据块和扩展数据块为连续内存块;音视频帧存储的内存缓冲管理机制的数据帧处理流程为采集、编码、存储三个过程;所述的采集即采集输出的是固定长度的音视频数据,所述的编码即输出可变长的压缩音视频数据,所述的存储即输出32K 块数据;音视频帧存储的内存缓冲管理机制的存储过程中数据处理流为块循环缓冲初始化流程、帧数据写入处理流程、块数据写盘处理流程。
2.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,帧数据写入流程和快数据写盘处理流程是并发执行的。
3.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,如果视频编码分辨率为D1清晰度,设定编码帧最大数据长度不超过32K;如果在其它分辨率下,根据实际编码数据最大长度调整块的大小,但数据帧的长度为32K的倍数。
4.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,所述的块循环缓冲初始化流程步骤为:
步骤1 :向数字硬盘录像机音视频录像系统申请块循环缓冲使用的连续内存块;
步骤2 :填写块信息数组,为每个块填写必要的信息和指定使用的内存,首地址为指向连续内存块,且是以32K为分界的块首地址;
步骤3 :初始化块写索引和块读索引值,初始化均为0,同时判断当前指向的块是否已经写满。
5.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,所述的帧数据写入处理流程步骤为:
步骤1 :依据采集系统提供的空帧信息结构,设置可用的输出编码帧缓冲,所述的缓冲由块循环缓冲提供;
步骤2 :确保块缓冲为可用缓冲,产生一个系统有条件等待,即等待第0块缓冲可以写入;
步骤3 :调用音频或视频编码器,编码器写入视频数据;
步骤4:更新当前写块信息结构和调整当前写块信息索引,调整当前块的写偏移值,如果大于或等于块总长度,则需要调整;
步骤5: 将编码帧,提交到系统队列,供网络模块或其他模块做读操作;
步骤6: 编码帧数据写入过程完成,返回步骤1。
6.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,帧数据写入处理流程步骤4中所述的具体调整方法如下: 当当前块已经填满或超出则进入下一块,如进入的下一块是扩展数据块,则需要作数据折叠处理,此时系统处于有条件系统等待状态,即等待第0块缓冲可以写入,在系统满足有条件系统等待时,把所有进入扩展块的帧数据全部拷贝到第0块上,同时把写索引移到第0块上。
7.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,所述的块数据写盘处理流程为:
步骤1: 产生一个系统有条件等待,等待当前块读位置索引指向的块缓冲已经写满32K数据;
步骤2 :完成当前块缓冲的写入后,移动当前块读位置索引到下一块或回到步骤1;
步骤3 :标记此块数据已经写入。
8.如权利要求1所述的一种支持音视频帧存储的内存缓冲管理机制,其特征在于,对于帧数据写入处理流程和块数据写盘处理流程在多任务操作系统和单任务操作系统上均可实现。
CN201110067103.6A 2011-03-21 2011-03-21 一种支持音视频帧存储的内存缓冲管理方法 Active CN102243615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110067103.6A CN102243615B (zh) 2011-03-21 2011-03-21 一种支持音视频帧存储的内存缓冲管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110067103.6A CN102243615B (zh) 2011-03-21 2011-03-21 一种支持音视频帧存储的内存缓冲管理方法

Publications (2)

Publication Number Publication Date
CN102243615A true CN102243615A (zh) 2011-11-16
CN102243615B CN102243615B (zh) 2015-05-13

Family

ID=44961680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110067103.6A Active CN102243615B (zh) 2011-03-21 2011-03-21 一种支持音视频帧存储的内存缓冲管理方法

Country Status (1)

Country Link
CN (1) CN102243615B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682794A (zh) * 2012-05-15 2012-09-19 杭州海康威视数字技术股份有限公司 一种多码流混合直刻的控制方法及系统
CN105553878A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种基于fc-av协议的提高ddr2带宽利用率的接收视频数据存储方法
CN106227583A (zh) * 2016-07-18 2016-12-14 青岛科信安全技术有限公司 一种多线程视频数据实时处理方法和装置
CN107957861A (zh) * 2017-12-11 2018-04-24 中标软件有限公司 即时播放声卡信号输入通道中音频数据的方法及装置
WO2020001063A1 (zh) * 2018-06-28 2020-01-02 华为技术有限公司 内存管理方法以及相关装置
CN112702550A (zh) * 2020-12-21 2021-04-23 上海商米科技集团股份有限公司 一种nvr多进程共享音视频流系统及实现方法
CN112995746A (zh) * 2019-12-18 2021-06-18 华为技术有限公司 视频处理方法、装置与终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2605711Y (zh) * 2003-01-22 2004-03-03 张健 视讯终端装置
CN2812444Y (zh) * 2005-04-19 2006-08-30 广州金鹏集团有限公司 大容量嵌入式数字硬盘录像机
CN101673246A (zh) * 2009-08-06 2010-03-17 深圳市融创天下科技发展有限公司 一种高效的先进先出数据池读写方法
CN101742303A (zh) * 2008-11-04 2010-06-16 林岚 一种图像编码系统
CN101739354A (zh) * 2009-12-14 2010-06-16 浙江大学 基于内存池技术的brew手机h.264解码优化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2605711Y (zh) * 2003-01-22 2004-03-03 张健 视讯终端装置
CN2812444Y (zh) * 2005-04-19 2006-08-30 广州金鹏集团有限公司 大容量嵌入式数字硬盘录像机
CN101742303A (zh) * 2008-11-04 2010-06-16 林岚 一种图像编码系统
CN101673246A (zh) * 2009-08-06 2010-03-17 深圳市融创天下科技发展有限公司 一种高效的先进先出数据池读写方法
CN101739354A (zh) * 2009-12-14 2010-06-16 浙江大学 基于内存池技术的brew手机h.264解码优化方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682794A (zh) * 2012-05-15 2012-09-19 杭州海康威视数字技术股份有限公司 一种多码流混合直刻的控制方法及系统
CN102682794B (zh) * 2012-05-15 2014-09-24 杭州海康威视数字技术股份有限公司 一种多码流混合直刻的控制方法及系统
CN105553878A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种基于fc-av协议的提高ddr2带宽利用率的接收视频数据存储方法
CN106227583A (zh) * 2016-07-18 2016-12-14 青岛科信安全技术有限公司 一种多线程视频数据实时处理方法和装置
CN106227583B (zh) * 2016-07-18 2019-08-27 青岛科信安全技术有限公司 一种多线程视频数据实时处理方法和装置
CN107957861A (zh) * 2017-12-11 2018-04-24 中标软件有限公司 即时播放声卡信号输入通道中音频数据的方法及装置
CN107957861B (zh) * 2017-12-11 2021-02-09 中标软件有限公司 即时播放声卡信号输入通道中音频数据的方法及装置
WO2020001063A1 (zh) * 2018-06-28 2020-01-02 华为技术有限公司 内存管理方法以及相关装置
CN112995746A (zh) * 2019-12-18 2021-06-18 华为技术有限公司 视频处理方法、装置与终端设备
CN112995746B (zh) * 2019-12-18 2022-09-09 华为技术有限公司 视频处理方法、装置与终端设备
CN112702550A (zh) * 2020-12-21 2021-04-23 上海商米科技集团股份有限公司 一种nvr多进程共享音视频流系统及实现方法
CN112702550B (zh) * 2020-12-21 2023-08-04 上海商米科技集团股份有限公司 一种nvr多进程共享音视频流系统及实现方法

Also Published As

Publication number Publication date
CN102243615B (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
CN102243615B (zh) 一种支持音视频帧存储的内存缓冲管理方法
US8370544B2 (en) Data storage system with compression/decompression
US7917687B2 (en) Flash memory apparatus and access method to flash memory
CN105094709A (zh) 一种固态盘存储系统的动态数据压缩方法
US10996886B2 (en) Method and system for facilitating atomicity and latency assurance on variable sized I/O
WO2014101498A1 (zh) 压缩内存访问控制方法、装置及系统
CN101968796B (zh) 一种双向并发执行的文件级可变长数据分块方法
US20050286855A1 (en) Data recording apparatus
CN100418071C (zh) 一种媒体文件系统的建立方法
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
CN201797568U (zh) 一种基于节能磁盘阵列的视频监控系统
CN104298697A (zh) 一种fat32格式的数据文件管理系统
CN104811646B (zh) 基于连续存储模型的多视频流数据并发调制及缓冲的存储方法
CN101425310B (zh) 在音频视频交织记录期间保留索引存储空间的方法
CN109375868B (zh) 一种数据存储方法、调度装置、系统、设备及存储介质
CN110555890A (zh) 一种内存管理方法及系统
CN101365088A (zh) 一种硬盘录像方法
CN108650481B (zh) 一种视频流数据的存储方法及装置
CN114374687B (zh) 热磁存储与蓝光存储之间的文件传输方法及装置
CN104394453A (zh) 视频预录方法及装置
CN101261605A (zh) 融合存储器设备及方法
JP5924482B2 (ja) ストレージ装置
US8515250B2 (en) Video recording device, video reproduction device, and method thereof
JP2015088171A (ja) 内部ディスクドライブデータ圧縮のためのシステム及び方法
WO2015055020A1 (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
C14 Grant of patent or utility model
GR01 Patent grant