一种实时同步录音录像的方法

文档序号:6771978阅读:359来源:国知局
专利名称:一种实时同步录音录像的方法
技术领域
本发明涉及录音录像领域,尤其是涉及一种实时同步录音录像的方法。
背景技术
数字视频录像DVR是当前快速发展的一类产品,可以完成对捕获视频的实时记录,被广泛应用在视频监控、视频会议以及数字家庭等领域。数字视频录像类产品一般都采用硬盘(包括网络存储)作为视频存储的介质,可以实现海量的视频存储。但是针对某些特殊的应用,由于硬盘上的数据是可以被修改和重写的,因此无法实现记录数据的“不可更改”。这样对于某些产品要求被记录的视频具有不可修改性时,就必需采用一次性可写介质(DVD-R或DVD+R)来作为存储的介质。下面是某种应用方案中对视频实时记录的具体要求1、硬盘和光盘同时记录;2、双光盘同时刻录;3、光盘必需采用一次性可写光盘(DVD+R或DVD-R),完全杜绝数据被修改的可能性;4、快速封盘。刻录完成后光盘可以立即取出(长时间的后台操作可能会映像到数据的真实性);5、当出现断电等异常故障时,光盘上能够记录断电前一时刻的现场视频(延迟要控制在毫秒数量级,即人的感官无法察觉);6、故障恢复后刻录可继续上次刻录进行,保证视频记录的完整性;7、单张光盘支持超长时间记录(> 8小时)。这些技术要求都是为了保证相关“数据(视频)”的真实、准确和不可修改。针对这些要求,如果采用DVD —次性刻录光盘后,由于光盘本身物理构造的特殊性,使得实时刻录和快速封盘等功能受到很大制约。光盘DV(数字摄像机)可以实现在一次性可写光盘上对视频进行实时刻录。视频文件采用DVD-Video格式,是基于UDF文件系统的。利用了 M)F可以提供VAT(VirtualAllocation Table虚拟分配表)的特性,通过对视频文件的增量刻录,来实现在DVD可写光盘上进行实时、多次刻录。但光盘DV是专用设备,无法同系统的其它部件进行整合。无法实现在视频上进行字幕等其它文字信息的叠加。录制的视频仅存在于本机的光盘上,无法实现双光盘同时刻录,因为无法在硬盘上同步记录。光盘刻录时间受限。由于一般都采用小尺寸光盘(便携性特点决定),容量非常有限,无法实现长达8小时的刻录。视频文件采用DVD-Video格式,只能采用MPEG2算法进行压缩,压缩比有限。光盘刻录完成后要进行“封盘”操作,时间长(数分钟)。利用硬盘做缓存,把文件系统中需要随着捕获视频内容的增加,而需要不断改写的数据结构暂时缓存在硬盘上,等待录像完成后一次性写入到光盘上。同时,根据文件系统的要求对刻录的视频进行分段处理,先在硬盘上缓存足够的待写入数据后在启动刻录。由于需要在录像完成时一次性写入文件系统相关信息及进行封盘操作,因此“封盘”时间长,无法实现快速封盘。由于刻录数据是分段先存储于硬盘上,因此当出现断电等异常情况是,光盘上已刻录的数据会比硬盘上的少,即缓存于硬盘上还未启动刻录的音视频数据就无法在光盘上看到,这会导致数分钟甚至更长时间(取决与分段刻录的片段大小)的数据丢失。目前还没有相关的技术能够很好的解决上述问题,并能够满足需求的实时刻录方法。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种可进行实时刻录、快速封盘,且能大大提高系统的容错和可靠性的实时同步录音录像的方法。本 发明的目的可以通过以下技术方案来实现一种实时同步录音录像的方法,其特征在于,该方法包括以下步骤1)检测DVD刻录机内是否放入新光盘,如果判断为是则格式化光盘,创建文件分配表,然后转到步骤2),如果判断为否则进行步骤3) ;2)将文件分配表信息写入光盘最开始的ECCB中,然后转到步骤4) ;3)读取光盘文件分配信息,获取ECCB分配表,然后顺序读取每个文件对应的ECCB,找到每个文件对应的第一个空白ECCB,然后进行步骤4) ;4)标记当前ECCB为已刻录,然后判断视频捕获及编码模块是否采集到待刻录的数据,如果判断为是则进行步骤5),否则停止写入刻录机buffer,挂起刻录机激光头,然后重新判断视频捕获及编码模块是否采集到待刻录的数据;5)调用刻录命令,写入待刻录数据,然后判断是否刻录到当前ECCB结尾,如果判断为是,则进行步骤6),否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据;6)读取当前文件下一个ECCB地址,并判断是否为光盘最后一个ECCB,如果判断为是,则结束,否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据。所述的步骤2)中的将文件分配表信息写入光盘最开始的ECCB中具体为,根据实时捕获的视频数据的生成速率对ECCB进行分配,把对应的ECCB组织成链表的方式,然后在刻录开始之前一次性把文件相关信息直接写入光盘。所述的文件分配表信息包括文件名、每个文件占用的ECCB、视频压缩算法和是否加密。与现有技术相比,本发明具有以下优点I、可以很好的实现对类似多媒体数据流进行实时刻录(尤其是在一次性可写光盘上刻录);2、大大提高系统的容错和可靠性,在系统出现意外故障时最大限度的保证刻录的及时性,避免数据丢失;3、快速封盘,实现刻录完成,光盘即可立即取出,无需任何等待;4、视频回放支持各种回放控制功能。


图I为本发明的流程图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细说明。实施例如图I所示,一种实时同步录音录像的方法,该方法包括以下步骤步骤I)检测DVD刻录机内是否放入新光盘,如果判断为是则格式化光盘,创建文件分配表,然后转到步骤2),如果判断为否则进行步骤3);步骤2)将包括文件名、每个文件占用的ECCB、视频压缩算法和是否加密的文件分配表信息写入光盘最开始的ECCB中,然后转到步骤4);将文件分配表信息写入光盘最开始的ECCB中具体为根据实时捕获的视频数据的生成速率对ECCB进行分配,把对应的ECCB组织成链表的方式,然后在刻录开始之前一次性把文件相关信息直接写入光盘。步骤3)读取光盘文件分配信息,获取ECCB分配表,然后顺序读取每个文件对应的ECCB,找到每个文件对应的第一个空白ECCB,然后进行步骤4);步骤4)标记当前ECCB为已刻录,然后判断视频捕获及编码模块是否采集到待刻录的数据,如果判断为是则进行步骤5),否则停止写入刻录机buffer,挂起刻录机激光头,然后重新判断视频捕获及编码模块是否采集到待刻录的数据;步骤5)调用刻录命令,写入待刻录数据,然后判断是否刻录到当前ECCB结尾,如 果判断为是,则进行步骤6),否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据;步骤6)读取当前文件下一个ECCB地址,并判断是否为光盘最后一个ECCB,如果判断为是,则结束,否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据。DVD刻录机的写入速度都比较快,即使是按照光盘的最低刻录速度(Xl)来刻录数据,也无法实现超过8小时的实时刻录,所以必需要利用DVD刻录机的激光头挂起和恢复功能,通过软件对刻录机写入缓存buffer的控制,在缓存为空时自动挂起激光头,当buffer重新写入数据时,再自动恢复激光头的定位,并写入数据到光盘支持“增量式追加”的文件系统是实现实时刻录的关键。常见的文件系统如FAT、NTFS以及光盘专用的IS09660和UDF等。一般都需要事先知道文件的长度等信息,而对于视频实时捕获并刻录这种特殊的应用,文件的长度信息恰恰是无法事先知道的,而其随着视频捕获的进行,文件的长度还在不断增加。这就使得传统文件系统很难进行光盘的实时刻录。为了解决这个问题,我们定义一种专门针对实时刻录的流(stream)文件系统。基本思路是将光盘上的可用扇区(ECC Block)在刻录之前就进行分配和管理(格式化),根据实时捕获的视频数据的生成速率(码率)对ECCB进行分配,把对应的ECCB组织成链表的方式,这样在刻录开始之前,通过“格式化”的过程就一次性把文件相关信息直接写入光盘。在视频回放时,直接读取光盘最开始几个固定数目的ECCB,就能够完全获取到光盘上所有文件相关的信息,包括文件名,每个文件占用了那些ECCB、视频压缩算法、是否加密等对于采集生成的视频数据,首先会进行视频编码,对数据进行压缩(如H. 264算法)。压缩算法一般都以一帧数据为压缩的基本单位。在本文定义的文件格式中视频数据(压缩后的)采用一帧接一帧的顺序直接刻录到光盘上,数据按照它们生成的顺序进行存储。数据之间的耦合性降到最低,因此刻录可以在任意时刻停止视频文件回放时,可以首先读取光盘最开始的几个ECCB(这些扇区包含文件分配等相关信息),就可以知道光盘上有那些文件、分别占用多少ECCB。从对应的ECCB中读取相关数据并按照顺序送到压缩算法模块进行解码和回放,就能够完全还原捕获和刻录的视频内容。对于任何一个ECCB中有数据损坏时(如断电导致某个ECCB没有刻录完全)时,也不会影响视频的回放。出现这种情况时(误码),对应的画面会卡一下。这跟在网络上播放在线视频时,当出现网络丢包的时候画面会不流畅是一样的。一旦后续读取到有效的数据,画面又能够恢复流畅的回放。这样就使得文件系统的可靠性和容错性大大增强。
由于视频捕获和编码后的数据码率是可以计算出来的,因此通过对ECCB容量的计算,可以在视频回放时提供完全的播放控制功能,包括快进和跳转至指定时间等。此外,本发明所提供的文件系统,能够支持在一次性可写介质上实现对多媒体等“流”文件的实时刻录支持;能够支持很好的容错和高可靠性,避免由于意外原因造成的刻录中断而引起刻录文件的损坏,并且即使光盘局部物理损坏,也能够读取其它部分,最大限度保证数据的完整;能够在一次性刻 录介质上实现多次(无次数限制)追加刻录;能够支持对各种音视频编解码算法的支持。
权利要求
1.一种实时同步录音录像的方法,其特征在于,该方法包括以下步骤1)检测DVD刻录机内是否放入新光盘,如果判断为是则格式化光盘,创建文件分配表, 然后转到步骤2),如果判断为否则进行步骤3);2)将文件分配表信息写入光盘最开始的ECCB中,然后转到步骤4);3)读取光盘文件分配信息,获取ECCB分配表,然后顺序读取每个文件对应的ECCB,找到每个文件对应的第一个空白ECCB,然后进行步骤4);4)标记当前ECCB为已刻录,然后判断视频捕获及编码模块是否采集到待刻录的数据, 如果判断为是则进行步骤5),否则停止写入刻录机buffer,挂起刻录机激光头,然后重新判断视频捕获及编码模块是否采集到待刻录的数据;5)调用刻录命令,写入待刻录数据,然后判断是否刻录到当前ECCB结尾,如果判断为是,则进行步骤6),否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据;6)读取当前文件下一个ECCB地址,并判断是否为光盘最后一个ECCB,如果判断为是, 则结束,否则转到步骤4)重新判断视频捕获及编码模块是否采集到待刻录的数据。
2.根据权利要求I所述的一种实时同步录音录像的方法,其特征在于,所述的步骤2) 中的将文件分配表信息写入光盘最开始的ECCB中具体为,根据实时捕获的视频数据的生成速率对ECCB进行分配,把对应的ECCB组织成链表的方式,然后在刻录开始之前一次性把文件相关信息直接写入光盘。
3.根据权利要求I或2所述的一种实时同步录音录像的方法,其特征在于,所述的文件分配表信息包括文件名、每个文件占用的ECCB、视频压缩算法和是否加密。
全文摘要
本发明涉及一种实时同步录音录像的方法,该方法包括1)检测是否放入新光盘,如果为是则格式化光盘,创建文件分配表,否则进行步骤3);2)将文件分配表信息写入光盘最开始的ECCB中,然后转到步骤4);3)找到每个文件对应的第一个空白ECCB,然后进行步骤4);4)标记当前ECCB为已刻录,然后判断视频捕获及编码模块是否采集到待刻录的数据,如果为是则进行步骤5),否则停止写入刻录机buffer;5)调用刻录命令,写入待刻录数据;6)读取当前文件下一个ECCB地址,判断为光盘最后一个ECCB,则结束。与现有技术相比,本发明具有可进行实时刻录、快速封盘,且能大大提高系统的容错和可靠性等优点。
文档编号G11B27/10GK102930875SQ20111022890
公开日2013年2月13日 申请日期2011年8月10日 优先权日2011年8月10日
发明者沈科登, 汤勇, 朱海龙 申请人:上海康纬斯电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1