具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种同步录音录像的光盘的实时刻录方法及装置,以下结合附图对本发明进行详细说明。
实施例一
本发明实施例提供的技术方案是在符合UDF标准的前提下,利用FSD中的扩展标识满足实时刻录时对追加刻录和断电保护的需求。
图1是发明实施例提供的一种同步录音录像的光盘的实时刻录方法流程图,如图1所示,所述的方法包括:
S101,在光盘中刻录一第一文件集描述符FSD,所述的第一FSD中包括一第一文件容量和一第一起始位置。
在本发明实施例中,光盘可以是一次性可写式光盘,如CD-R,DVD+R,DVD-R等,刻录机在刻录完UDF的卷结构后,在光盘中刻录上第一个FSD(文件集描述符,file setdiscriptor),FSD是文件集描述符序列FSDS(File Set Descriptor sequence)中的一个,该序列信息作为序列扩展信息是需要记录在光盘上的。FSDS包含的FSD可能会有多个,每个FSD都会有一个独立的编号,FSDS中的FSD编号从0开始,依次累加,可以允许出现相同的编号,编号相同的时候,都会被视为是相同的FSD,具有同样的内容。FSDS中虽然有多个FSD,但是编号最大的的FSD被称为现行的FSD或者主FSD(Prevailing FSD),在使用的时候,只能使用编号最大的FSD,其它的可以视作为垃圾信息,不予处理。从卷结构的LVD中的Logical Volume ContentUse域可以获得FSDS的入口位置,当然,一个FSDS,是可以通过文件集描述的Next Extent字段进行定位于扩展指示的。一个FSDS的结束是通过如下三种方式终结:
1.TD(Terminating Descriptor)描述符来终结的
2.文件集描述符的Next Extent字段确认的一个本序列的一部分;
3.碰到空记录的逻辑块;
处理方式基本上与卷描述符序列终结是一样的。
文件集描述符序列中之所以会出现多个FSD,主要原因是由于一次可写光盘导致的,由于每次向光盘新增内容的时候,都会导致先前的FSD失效,必须再记录新的FSD。
每次刻录新的数据时,都再记录新的FSD,同时累加FSD的编号,并在新的FSD中加入指示已刻录文件的FID。用它来指示上次刻录的文件的FE的位置。
FSD(File Set Descriptor)文件集描述符,FSD是用来确定一个文件集的位置以及目录的,每一个FSD只能描述一个单个的文件集,FSD指定了文件集号、文件集标示符、文件集使用的字符集、交换级别、域描述符、指向根目录或者系统流目录描述符的指针。其中比较重要的信息是文件集标示(File Set Identification)、指向分层根目录信息控制块(Root Directory ICB)的指针,而FSD中的扩展标识Next Extend则描述下一个FSD记录在光盘中的位置。在一个可重写光盘的逻辑卷中,只存在一个FSD,而对一个只写一次光盘即DVD+R和DVD-R盘上,可能会存在多个FSD。
在本发明实施例中,第一文件容量和第一起始位置位于所述的第一FSD中的第一文件入口(file entry)FE中。在FSD中,含有识别目录结构的指针RootDirectoryICB,它指出了描述文件集的根目录的位置,给出了入口FE的地址;而入口FE是用来描述文件(或者目录)文件属性、文件权限、文件类型、文件大小、文件的具体的空间使用等信息的,FE中的AD参数给出了FID的位置。第一文件容量和第一起始位置可以由用户预先编辑,也可以是固定值,存储在刻录机或电脑主机中。
S102,接受实时数据并在所述的第一起始位置开始进行第一次刻录。
在本发明实施例中,刻录机在刻录完第一FSD后,开始接收音频或视频等实时数据,在第一FSD的FE中指定的第一起始位置开始往下刻录开始实时刻录。
S103,判断第一次刻录的所述的实时数据的大小是否达到所述的第一文件容量。
S104,如果第一次刻录的实时数据的大小达到所述的第一文件容量,则分割所述的实时数据,结束第一次刻录。
在本发明实施例中,当第一次刻录的实时数据的大小超过第一FSD的FE中指定的第一文件容量时,开始分割这个文件,以保证第一次刻录的顺利完成。如果第一次刻录的文件大小没有超过第一FSD的FE中指定的第一文件容量,则刻录直接完成。
本发明提供的同步录音录像的光盘的实时刻录方法,在未获知完整的刻录文件数据及刻录文件大小的情况下,可以直接对音频视频文件进行实时刻录,即便在刻录的过程中断电,由于FSD的信息已经写入,也可以保证已经刻录数据的正常读取。
图2是发明实施例提供的一种同步录音录像的光盘的实时刻录方法流程图,如图2所示,所述的方法包括:
S201,在光盘中刻录一第一文件集描述符FSD,所述的第一FSD中包括一第一文件容量、一第一起始位置和下一FSD的位置。
在本发明实施例中,步骤S201与步骤S101不同之处在于,第一FSD中还包括下一FSD的位置,下一FSD的位置位于所述的第一FSD的的扩展标识中。
S202,接受实时数据并在所述的第一起始位置开始进行第一次刻录。
S203,判断第一次刻录的所述的实时数据的大小是否达到所述的第一文件容量。
S204,如果第一次刻录的实时数据的大小达到所述的第一文件容量,则分割所述的实时数据,结束第一次刻录。
在本发明实施例中,步骤S202至步骤S204与图1中的步骤S102至步骤S104相似,故在此不再赘述。
S205,在所述的下一个FSD的位置刻录第二FSD,所述的第二FSD中包括第二文件容量、第一起始位置和一第二起始位置。
在本发明实施例中,刻录机根据第一FSD扩展标识中所指定的下一FSD的位置,刻录第二FSD,第二FSD中包括第二文件容量和一第二起始位置,也可以包括下一FSD的位置。第二文件容量和第二起始位置位于所述的第二FSD中的第二FE中。
刻录入第二个FSD方式同刻录第一个FSD相同,不同之处在于要在FSD中的FID(fileidentifier descriptor)中加入一个FID用来指示出第一次刻录完成的文件的位置,即第一起始位置。
FID如同目录一样给出了所有的文件的名称等信息,这个文件可能是一个目录文件,也可能是一个真实的文件,下面具体说明的是FID指向的是一个真实的文件,这个文件的信息组织在和入口FE相同的结构中,FID给出了这个FE的位置。包含着真实的文件信息的FE记录了文件的大小,和在光盘中的起始位置。
S206,将分割后的实时数据中未刻录的部分在所述的第二起始位置开始进行第二次刻录。
在本发明实施例中,由于在步骤S204中对实时数据进行了分割,刻录机将分割后的实时数据中未刻录的部分在所述的第二起始位置开始进行第二次刻录。
S207,判断第二次刻录的所述的实时数据的大小是否达到所述的第二文件容量。
S208,如果第二次刻录的实时数据的大小达到所述的第二文件容量,则分割所述的实时数据,结束第二次刻录。
在本发明实施例中,如果第二次刻录的文件大小没有超过第二FSD的FE中指定的第二文件容量,则刻录直接完成。当第二次刻录的实时数据的大小超过第二FSD的FE中指定的第二文件容量时,开始分割这个文件,并参照步骤S205至S208以此类推实现第三次刻录。
本发明提供的同步录音录像的光盘的实时刻录方法,在未获知完整的刻录文件数据及刻录文件大小的情况下,可以直接对音频视频文件进行实时刻录,还能够实现追加刻录,即便在刻录的过程中断电,由于FSD的信息已经写入,也可以保证已经刻录数据的正常读取。
图3是发明实施例提供的一种同步录音录像的光盘的实时刻录方法流程图,如图3所示,所述的方法包括:
S301,刻录卷识别描述符序列VRS(volume recognition sequence);
S302,刻录主卷描述符序列PVDS(primary volume descriptor sequence);
S303,刻录保留卷描述符序列RVDS(reserved volume descriptor sequence);
S304,刻录卷描述符定位指针AVDP(anchor volume descriptor pointer),在第256扇区;
S305,刻录FSD,并在FSD的扩展标识处,刻录下一个FSD的位置。本FSD通过ICB(information control block)指出入口FE的位置;
S306,刻录入口FE。FE通过AD(allocation discriptor)指示出FID的位置;
S307,刻录FID,FID是一个序列,第一个FID通过ICB指回了入口FE。第二个FID通过ICB指出了指向文件的FE的位置;
S308,刻录FE,FE中的AD指出了文件的大小和起始位置。在这里把文件的大小和起始位置写成固定值;
S309,接收音视频数据内容,在FE中预定的位置开始刻录,并累加数据的大小,到达指定的文件大小时对文件进行分割;
S310在预先指定的位置刻录FSD,步骤跳转到S305,不同之处在于,在刻录FID时,要增加一个FID指向上一次所刻录的文件,即增加一个指向上一次所刻录的文件的FID。
本发明提供的同步录音录像的光盘的实时刻录方法,在未获知完整的刻录文件数据及刻录文件大小的情况下,可以直接对音频视频文件进行实时刻录,还能够实现追加刻录,即便在刻录的过程中断电,由于FSD的信息已经写入,也可以保证已经刻录数据的正常读取。
实施例二
图4是本发明实施例提供的一种同步录音录像的光盘的实时刻录装置的模块图,如图4所示,所述的装置包括:第一FSD刻录单元401、第一刻录单元402、第一容量判断单元403和第一数据分割单元404,其中:
第一FSD刻录单元401,用于在光盘中刻录一第一FSD,所述的第一FSD中包括一第一文件容量和一第一起始位置。
在本发明实施例中,光盘可以是一次性可写式光盘,如CD-R,DVD+R,DVD-R等,刻录机在刻录完UDF的卷结构后,第一FSD刻录单元401在光盘中刻录上第一个FSD(文件集描述符,file set discriptor),FSD是文件集描述符序列FSDS(File Set Descriptorsequence)中的一个,该序列信息作为序列扩展信息是需要记录在光盘上的。FSDS包含的FSD可能会有多个,每个FSD都会有一个独立的编号,FSDS中的FSD编号从0开始,依次累加,可以允许出现相同的编号,编号相同的时候,都会被视为是相同的FSD,具有同样的内容。FSDS中虽然有多个FSD,但是编号最大的的FSD被称为现行的FSD或者主FSD(Prevailing FSD),在使用的时候,只能使用编号最大的FSD,其它的可以视作为垃圾信息,不予处理。从卷结构的LVD中的Logical Volume ContentUse域可以获得FSDS的入口位置,当然,一个FSDS,是可以通过文件集描述的Next Extent字段进行定位于扩展指示的。一个FSDS的结束是通过如下三种方式终结:
1.TD(Terminating Descriptor)描述符来终结的
2.文件集描述符的Next Extent字段确认的一个本序列的一部分;
3.碰到空记录的逻辑块;
处理方式基本上与卷描述符序列终结是一样的。
文件集描述符序列中之所以会出现多个FSD,主要原因是由于一次可写光盘导致的,由于每次向光盘新增内容的时候,都会导致先前的FSD失效,必须再记录新的FSD。
每次刻录新的数据时,都再记录新的FSD,同时累加FSD的编号,并在新的FSD中加入指示已刻录文件的FID。用它来指示上次刻录的文件的FE的位置。
FSD(File Set Descriptor)文件集描述符,FSD是用来确定一个文件集的位置以及目录的,每一个FSD只能描述一个单个的文件集,FSD指定了文件集号、文件集标示符、文件集使用的字符集、交换级别、域描述符、指向根目录或者系统流目录描述符的指针。其中比较重要的信息是文件集标示(File Set Identification)、指向分层根目录信息控制块(Root Directory ICB)的指针,而FSD中的扩展标识Next Extend则描述下一个FSD记录在光盘中的位置。在一个可重写光盘的逻辑卷中,只存在一个FSD,而对一个只写一次光盘即DVD+R和DVD-R盘上,可能会存在多个FSD。
在本发明实施例中,第一文件容量和第一起始位置位于所述的第一FSD中的第一文件入口(file entry)FE中。在FSD中,含有识别目录结构的指针RootDirectoryICB,它指出了描述文件集的根目录的位置,给出了入口FE的地址;而入口FE是用来描述文件(或者目录)文件属性、文件权限、文件类型、文件大小、文件的具体的空间使用等信息的,FE中的AD参数给出了FID的位置。第一文件容量和第一起始位置可以由用户预先编辑,也可以是固定值,存储在刻录机或电脑主机中。
第一刻录单元402,用于接受实时数据并在所述的第一起始位置开始进行第一次刻录。
在本发明实施例中,第一FSD刻录单元401在刻录完第一FSD后,第一刻录单元402开始接收音频或视频等实时数据,在第一FSD的FE中指定的第一起始位置开始往下刻录开始实时刻录。
第一容量判断单元403,用于判断第一次刻录的所述的实时数据的大小是否达到所述的第一文件容量。
第一数据分割单元404,用于在第一次刻录的实时数据的大小达到所述的第一文件容量时,分割所述的实时数据,结束第一次刻录。
在本发明实施例中,当第一次刻录的实时数据的大小超过第一FSD的FE中指定的第一文件容量时,开始分割这个文件,以保证第一次刻录的顺利完成。如果第一次刻录的文件大小没有超过第一FSD的FE中指定的第一文件容量,则刻录直接完成。
本发明提供的同步录音录像的光盘的实时刻录装置,在未获知完整的刻录文件数据及刻录文件大小的情况下,可以直接对音频视频文件进行实时刻录,即便在刻录的过程中断电,由于FSD的信息已经写入,也可以保证已经刻录数据的正常读取。
图5是本发明实施例提供的一种同步录音录像的光盘的实时刻录装置的模块图,如图5所示,所述的装置包括:第一FSD刻录单元501、第一刻录单元502、第一容量判断单元503、第一数据分割单元504、第二FSD刻录单元505、第二刻录单元506、第二容量判断单元507和第二数据分割单元508,其中:第一FSD刻录单元501、第一刻录单元502、第一容量判断单元503和第一数据分割单元504与图4中的第一FSD刻录单元401、第一刻录单元402、第一容量判断单元403和第一数据分割单元404相同,故在此不再赘述。
第二FSD刻录单元505,用于在所述的下一个FSD的位置刻录第二FSD,所述的第二FSD中包括第二文件容量和一第二起始位置。
在本发明实施例中,第二FSD刻录单元505根据第一FSD扩展标识中所指定的下一FSD的位置,刻录第二FSD,第二FSD中包括第二文件容量和一第二起始位置,也可以包括下一FSD的位置。第二文件容量和第二起始位置位于所述的第二FSD中的第二FE中。
刻录入第二个FSD方式同刻录第一个FSD相同,不同之处在于要在FSD中的FID(fileidentifier descriptor)中加入一个FID用来指示出第一次刻录完成的文件的位置,即第一起始位置。
FID如同目录一样给出了所有的文件的名称等信息,这个文件可能是一个目录文件,也可能是一个真实的文件,下面具体说明的是FID指向的是一个真实的文件,这个文件的信息组织在和入口FE相同的结构中,FID给出了这个FE的位置。包含着真实的文件信息的FE记录了文件的大小,和在光盘中的起始位置。
第二刻录单元506,用于将分割后的实时数据中未刻录的部分在所述的第二起始位置开始进行第二次刻录。
在本发明实施例中,由于第一数据分割单元504对实时数据进行了分割,第二刻录单元506将分割后的实时数据中未刻录的部分在所述的第二起始位置开始进行第二次刻录。
第二容量判断单元507,用于判断第二次刻录的所述的实时数据的大小是否达到所述的第二文件容量。
第二数据分割单元508,用于如果第二次刻录的实时数据的大小达到所述的第二文件容量,则分割所述的实时数据,结束第二次刻录。
在本发明实施例中,如果第二次刻录的文件大小没有超过第二FSD的FE中指定的第二文件容量,则刻录直接完成。当第二次刻录的实时数据的大小超过第二FSD的FE中指定的第二文件容量时,开始分割这个文件,以此类推实现第三次刻录。
本发明提供的同步录音录像的光盘的实时刻录装置,在未获知完整的刻录文件数据及刻录文件大小的情况下,可以直接对音频视频文件进行实时刻录,还能够实现追加刻录,即便在刻录的过程中断电,由于FSD的信息已经写入,也可以保证已经刻录数据的正常读取。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。