一种DVD光盘数据压缩方法及系统.pdf

上传人:Y0****01 文档编号:829556 上传时间:2018-03-14 格式:PDF 页数:15 大小:695.19KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910190460.4

申请日:

2009.09.17

公开号:

CN101673571A

公开日:

2010.03.17

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G11B 20/10变更事项:专利权人变更前:深圳万兴信息科技股份有限公司变更后:万兴科技股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区高新南一道006号TCL工业研究院大厦A座9楼北侧A901室、A座8楼变更后:850000 西藏自治区拉萨市柳梧新区东环路以西、1-4路以北、1-3路以南、柳梧大厦以东8栋2单元6层2号|||授权|||著录事项变更IPC(主分类):G11B 20/10变更事项:申请人变更前:深圳市万兴软件有限公司变更后:深圳万兴信息科技股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区高新技术园南一道富诚科技大厦三楼变更后:518057 广东省深圳市南山区高新南一道006号TCL工业研究院大厦A座9楼北侧A901室、A座8楼|||实质审查的生效IPC(主分类):G11B 20/10申请日:20090917|||公开

IPC分类号:

G11B20/10; G11B20/12

主分类号:

G11B20/10

申请人:

深圳市万兴软件有限公司

发明人:

宋 洋; 蒋义勇

地址:

518057广东省深圳市南山区高新技术园南一道富诚科技大厦三楼

优先权:

专利代理机构:

深圳市顺天达专利商标代理有限公司

代理人:

郭伟刚

PDF下载: PDF下载
内容摘要

本发明涉及一种DVD光盘数据压缩方法,包括以下步骤:获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小和压缩因子;拷贝源盘中不需要压缩的文件;解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中;从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell视频数据大小;计算压缩后每个cell视频数据的码率,根据码率对相应cell的视频数据进行重新压缩编码;生成新的VOB文件、IFO文件和BUP文件。本发明还公开了使用上述方法的系

权利要求书

1、  一种DVD光盘数据压缩方法,其特征在于,包括如下步骤:
S1)获取源盘大小X和目标盘大小Y,计算源盘中不需要压缩文件的大小W,计算压缩因子a;
S2)拷贝源盘中不需要压缩的文件;
S3)解析源盘中每个VTS的IFO文件,获取每个cell的大小M和时间长度T,定位每个cell到相应VOB文件的数据中;
S4)从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell的视频数据大小N;
S5)计算压缩后每个cell的视频数据的码率V,根据V对相应cell的视频数据进行重新压缩编码;
S6)生成新的VOB文件、IFO文件和BUP文件。

2、
  如权利要求1所述方法,其特征在于,步骤S1中所述压缩因子a的计算公式为:a=(Y-W)/(X-W)。

3、
  如权利要求1所述方法,其特征在于,步骤S3中所述解析源盘中每个VTS的IFO文件进一步包括:根据源盘中每个VTS的IFO文件,获取相应的VTS的每个cell的起始扇区和终止扇区地址信息,计算每个cell的大小M=(终止扇区-起始扇区+1)*P,P为DVD中默认的每个扇区的大小。

4、
  如权利要求3所述方法,其特征在于,步骤S3中所述定位每个cell到相应VOB文件的数据中的方法为将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的所述起始扇区和所述终止扇区进行定位。

5、
  如权利要求1所述方法,其特征在于,步骤S5中所述压缩后每个cell的视频数据的码率V=(M*a-M+N)/T,所述对cell的视频数据进行重新压缩编码进一步包括降低码率V,将V*k,k∈(0,1)作为实际的压缩码率。

6、
  如权利要求5所述方法,其特征在于,步骤S6进一步包括将步骤S5中重新压缩编码后的每个cell视频数据、步骤S4中提取出来的相应cell的音轨和字幕数据合成新的cell数据。

7、
  如权利要求6所述方法,其特征在于,步骤S6进一步包括,将合成后的新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的cell的新起始扇区和终止扇区地址信息。

8、
  如权利要求7所述方法,其特征在于,步骤S6进一步包括,用所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件。

9、
  一种DVD光盘数据压缩方法,其特征在于,包括:
压缩因子产生模块:用于获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小,计算压缩因子;
拷贝模块:用于拷贝源盘中不需要压缩的文件;
解析模块:用于解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中;
提取模块:用于从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell的视频数据大小;
编码模块:用于计算压缩后每个cell的视频数据的码率V,根据V对相应cell的视频数据进行重新压缩编码;
新文件产生模块:用于生成新的VOB文件、IFO文件和BUP文件。

10、
  如权利要求9所述系统,其特征在于,解析模块包括:
cell参数产生单元:用于根据源盘中每个VTS的IFO文件,获取对应的VTS的每个cell的起始扇区和终止扇区的地址信息,获取每个cell的时间长度,计算每个cell的大小;
cell数据定位单元:用于将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的起始扇区和终止扇区定位每个cell到相应VOB文件的数据中。

11、
  如权利要求9所述系统,其特征在于,新文件产生模块包括:
新cell数据产生单元:用于将重新压缩编码后的每个cell的视频数据、提取模块中提取出的相应cell的音轨和字幕数据合成新的cell数据;
新VOB文件产生单元:将新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的每个cell新起始扇区和终止扇区的地址信息;
新IFO文件产生单元:用于将所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件;
新BUP文件产生单元:用于生成新的BUP文件。

说明书

一种DVD光盘数据压缩方法及系统
技术领域
本发明属于数据压缩领域,更具体地说,涉及一种DVD光盘数据压缩方法及系统。
背景技术
DVD光盘广泛的应用于电影和电视剧的发行,主要分为DVD-5和DVD-9两种类型,容量分别为4.7G和8.5G,由于DVD介质的易损坏性,需要将源DVD光盘的数据备份到新的光盘上,因为DVD-5盘片的价格低于DVD-9盘片,所以存在将DVD-9光盘备份到DVD-5光盘的需求,也即存在将容量相对较大的DVD光盘备份到容量相对较小的DVD光盘的需求,因此需要对容量相对较大光盘数据进行压缩。DVD光盘数据包括视频、音轨和字幕,由于视频所占比例最大,所以压缩主要就是针对视频的压缩,而音轨和字幕由于所占比例很小,可以不做压缩而完全保留。
由于容量不同的DVD光盘之间,除了拥有差不多大小的主片数据外,主要还是增加了一些影片花絮和广告,所以现有的一种技术是将这些花絮和广告去除,只保留主片的数据,如果主片大小在容量较小的DVD盘片的容量范围内,则可以进行直接备份,如果主片大小仍然超过容量较小的DVD盘片的容量,则还需要对主片数据进行压缩,由于去除了源盘中的花絮和广告会导致源盘的菜单文件不可用,所以需要去除源盘的菜单文件或者提供自己制作的菜单文件。
因为会丢失一部分源盘数据,所以无法保证压缩后光盘数据的完整性,另外去除源盘的菜单文件或者提供自己制作的菜单文件也会导致用户在DVD播放器上的操作方式和体验与源盘不一样。
另外,由于现有技术不能保证压缩后的光盘数据大小小于目标盘的大小,所以当压缩后的光盘数据大小超出目标盘大小时会导致随后的刻录失败。
因此,需要一种将容量较大的DVD光盘数据压缩到容量较小的DVD光盘的压缩方案,不仅可保证压缩后的光盘数据小于目标盘的大小而保证刻录成功,还可保证压缩后光盘数据的完整性。
发明内容
本发明所要解决的技术问题在于,针对现有DVD光盘数据压缩技术中存在无法保证压缩后数据的完整性的缺陷和当压缩后的数据大小超出目标盘大小时会导致刻录失败的缺陷,提供一种DVD光盘数据压缩方法及系统。
本发明解决其技术问题所采用的技术方案之一是:提供一种DVD光盘数据压缩方法,包括如下步骤:
S1)获取源盘大小X和目标盘大小Y,计算源盘中不需要压缩文件的大小W,计算压缩因子a;
S2)拷贝源盘中不需要压缩的文件;
S3)解析源盘中每个VTS的IFO文件,获取每个cell的大小M和时间长度T,定位每个cell到相应VOB文件的数据中;
S4)从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell的视频数据大小N;
S5)计算压缩后每个cell的视频数据的码率V,根据V对相应cell的视频数据进行重新压缩编码;
S6)生成新的VOB文件、IFO文件和BUP文件。
在本发明所述的DVD光盘数据压缩方法中,步骤S1中所述压缩因子a的计算公式为:a=(Y-W)/(X-W)。
在本发明所述的DVD光盘数据压缩方法中,步骤S3中所述解析源盘中每个VTS的IFO文件进一步包括:根据源盘中每个VTS的IFO文件,获取对应的VTS的每个cell的起始扇区和终止扇区的地址信息,计算每个cell的大小M=(终止扇区-起始扇区+1)*P,P为DVD中默认的每个扇区的大小。
在本发明所述的DVD光盘数据压缩方法中,步骤S3中所述定位每个cell到相应VOB文件的数据中的方法为将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的起始山区和终止扇区地址信息进行定位。
在本发明所述的DVD光盘数据压缩方法中,步骤S5中所述压缩后视频数据的码率V=(M*a-M+N)/T,步骤S5中所述对视频数据进行重新压缩编码进一步包括降低码率V,将V*k,k∈(0,1)作为实际的压缩码率。
在本发明所述的DVD光盘数据压缩方法中,步骤S6进一步包括将步骤S5中重新压缩编码后的每个cell视频数据、步骤S4中提取出来的相应cell的音轨和字幕数据合成新的cell数据。
在本发明所述的DVD光盘数据压缩方法中,步骤S6进一步包括,将合成后的新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的cell的新起始扇区和终止扇区地址信息。
在本发明所述的DVD光盘数据压缩方法中,步骤S6进一步包括,用所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件。
本发明解决其技术问题所采用的技术方案之二是:提供一种DVD光盘数据压缩系统,包括:
压缩因子产生模块:用于获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小,计算压缩因子;
拷贝模块:用于拷贝源盘中不需要压缩的文件;
解析模块:用于解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中;
提取模块:用于从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell的视频数据大小;
编码模块:用于计算压缩后每个cell的视频数据的码率V,根据V对相应cell的视频数据进行重新压缩编码;
新文件产生模块:用于生成新的VOB文件、IFO文件和BUP文件。
在本发明所述的DVD光盘数据压缩系统中,解析模块包括:
cell参数产生单元:用于根据源盘中每个VTS的IFO文件,获取对应的VTS的每个cell的起始扇区和终止扇区的地址信息,获取每个cell的时间长度,计算每个cell的大小;
cell数据定位单元:用于将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的起始扇区和终止扇区定位每个cell到相应VOB文件的数据中。
在本发明所述的DVD光盘数据压缩系统中,新文件产生模块包括:
新cell数据产生单元:用于将重新压缩编码后的每个cell的视频数据、提取模块中提取出的相应cell的音轨和字幕数据合成新的cell数据;
新VOB文件产生单元:将新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的每个cell新起始扇区和终止扇区的地址信息;
新IFO文件产生单元:用于将所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件;
新BUP文件产生单元:用于生成新的BUP文件。
实施本发明的技术方案,具有以下有益效果:可保证压缩后的光盘数据小于目标盘的大小而保证刻录成功,还可保证压缩后光盘数据的完整性。
附图说明
图1是本发明一较佳实施例提供的一种DVD光盘数据压缩方法的流程图;
图2是本发明一较佳实施例提供的一种DVD光盘数据压缩系统的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
DVD上采用的数据封装格式是PS(Program Stream)格式,PS格式封装的DVD有三种文件:VOB(Video Object)文件、IFO(Information)文件和BUP(Backup)文件。
VOB文件包括混在一起的数据:视频数据、音频数据、字幕数据和影片菜单数据。IFO文件为播放提供十分重要的导航信息,比如从什么地方开始播放,一个特定的音频流或者字幕流在什么地方等,这样来提取部分电影。BUP文件是IFO文件的备份文件。一个cell是DVD上的最小单元,VOB文件上的数据都是以cell为单位进行组织的。
DVD视频光盘包括包含AUDIO_TS和VIDEO_TS两个文件夹,AUDIO_TS是个空文件夹,只使用到了VIDEO_TS文件夹。VIDEO_TS文件夹由IFO、BUP、VOB三种文件组成,整个文件夹的层次结构如下:
VIDEO_TS.IFO:根IFO文件
VIDEO_TS.BUP:根IFO文件的备份
VIDEO_TS.VOB:根菜单
VTS_nn_0.IFO:VTS的IFO文件
VTS_nn_0.BUP:VTS的IFO文件的备份
VTS_nn_0.VOB:VTS的影片菜单文件
VTS_nn_m.VOB:VTS的影片数据文件
根IFO用来存放全局的描述和控制信息,包括有多少个VTS(VideoTransport Stream),每个VTS的IFO文件存放自己的描述和控制信息,包括所包含全部Cell的信息。VIDEO_TS文件夹有若干个VTS文件,每个VTS都有一个标号nn,其中1<=nn<=99。每个VTS文件只有一个IFO文件,最多可以有10个VOB文件,每个VTS文件的VOB文件的标号为m,其中0<=m<=9,每个VTS文件的首个VOB文件,即VTS_xx_0.VOB也就是第一个VOB文件为此VTS文件的菜单文件,其余VTS的VOB文件为影片数据文件。
图1是本发明一较佳实施例提供的一种DVD光盘数据压缩方法的流程图,如图1所示,详述如下:
在步骤S1中,获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小,计算压缩因子。
在本发明的实施例中,DVD视频光盘包含AUDIO_TS和VIDEO_TS两个文件夹,由于AUDIO_TS是个空目录,只使用到了VIDEO_TS目录,所以源盘大小X指的就是VIDEO_TS文件夹大小,目标盘大小Y就是目标盘可用的空间大小。
在本发明的实施例中,除了每个VTS的VOB文件需要压缩,其它文件都不需要压缩,计算出这些不需要压缩的文件大小W。
压缩因子a的计算公式为:a=(Y-W)/(X-W)。
在步骤S2中,拷贝源盘中不需要压缩的文件。
作为本发明的一个实施例,可以在硬盘等存储介质中创建一个文件夹VIDEO_TS_NEW,将步骤S1中确定的不需要压缩的文件拷贝到此文件夹。
在步骤S3中,解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中。
每个VTS的IFO文件包括了全部cell信息,可以从中获取每个cell的时间长度T,获取每个cell的地址信息包括起始扇区和终止扇区,计算每个cell的大小M=(终止扇区-起始扇区+1)*P,P为DVD中默认的每个扇区的大小。在本发明的一个实施例中,DVD每个扇区的大小为2048个字节,那么每个cell的大小M=(终止扇区-起始扇区+1)*2048个字节。
定位每个cell到相应VOB文件的数据中的方法为将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的起始和终止扇区进行定位。假设,某个VTS除了菜单VOB文件之外有3影片数据VOB文件:VTS_xx_1.VOB、VTS_xx_2.VOB、VTS_xx_3.VOB,三个文件的大小都是100个扇区,假设cell的大小为30个扇区。如果IFO文件描述的某个cell的起始和终止扇区是60和90,那么此cell对应的数据是VTS_xx_1.VOB文件的60-90扇区;如果,如果IFO文件描述的某个cell的起始和终止扇区是90和120,那么该cell对应的数据是是VTS_xx_1.VOB文件的后10个扇区和VTS_xx_2.VOB文件的前20个扇区。
在步骤S4中,从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell视频数据大小N。
在步骤S5中,计算压缩后每个cell的视频数据的码率,根据码率对相应cell的视频数据进行重新压缩编码。
压缩后每个cell视频数据的码率V=(M*a-M+N)/T,由于码率V只是一个编码时设置的参考值,编码器并不能保证编码后的实际码率和V完全一致,所以为了防止编码后的实际数据大小超过预定的大小(M*a-M+N),需要适当的降低码率V,根据实际测试的情况,将V*k,k∈(0,1)作为实际的压缩码率就可以保证压缩后数据不会超出预定的大小。在本发明的实施例中,将V*0.9作为实际的压缩码率可以保证压缩后数据不会超出预定的大小。
在步骤S6中,生成新的VOB文件、IFO文件和BUP文件。
步骤S6进一步包括将步骤S5中重新压缩编码后的每个cell视频数据、步骤S3中提取出来相应的cell的音轨和字幕数据合成新的cell数据。
步骤S6进一步包括,将合成后的新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的cell的新起始扇区和终止扇区地址信息。由于DVD视频光盘限制了单个VOB文件的最大扇区数为524287(每扇区大小为2048字节),所以当数据量超过此最大扇区数限制时将依次产生出一个新的VOB文件。例如,开始产生VTS_01_0.VOB,此为该VTS的菜单数据,之后产生VTS_01_1.VOB为影片数据,当VTS_01_1.VOB超过允许的最大扇区数时,会自动产生VTS_01_2.VOB,依次类推,一个VTS文件最多能有10个VOB文件,即VTS_01_0.VOB、VTS_01_1.VOB、...VTS_01_9.VOB。
在本发明的实施例中,将产生的新的VOB文件保存到硬盘等存储介质中创建的文件夹VIDEO_TS_NEW中。
步骤S6进一步包括,用所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件。
在本发明的实施例中,将产生的新的IFO文件保存到硬盘等存储介质中创建的文件夹VIDEO_TS_NEW中。
在本发明的实施例中,步骤S6还包括根据产生的新的IFO文件,复制IFO并修改后缀为BUP,形成新的BUP文件,将产生的新的BUP文件保存到硬盘等存储介质中创建的文件夹VIDEO_TS_NEW中。
在本发明的实施例中,文件夹VIDEO_TS_NEW已经存放了全部压缩后的DVD光盘数据文件,可以通过刻录设备将VIDEO_TS_NEW文件夹中的全部文件刻录到目标DVD光盘形成目标光盘的VIDEO_TS文件夹。
图2是本发明一较佳实施例提供的一种DVD光盘数据压缩系统的示意图,如图2所示,包括压缩因子产生21、拷贝模块22、解析模块23、提取模块24、编码模块25和新文件产生模块26。解析模块23进一步包括cell参数产生单元231和cell数据定位单元232;新文件产生模块26进一步包括:新cell数据产生单元261、新VOB文件产生单元262、新IFO文件产生单元263和新BUP文件产生单元264。
压缩因子产生模块21获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小和压缩因子;拷贝模块22拷贝源盘中不需要压缩的文件;解析模块23解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中;提取模块24从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell的视频数据大小;编码模块25计算每个cell压缩后视频数据的码率,根据码率对相应cell的视频数据进行重新压缩编码;新文件产生模块26生成新的VOB文件、IFO文件和BUP文件。
作为本发明的实施例,解析模块23解析每个VIS的IFO文件的过程具体为:cell参数产生单元231从每个VTS的IFO文件获取每个cell的时间长度T,获取每个cell的地址信息包括起始扇区和终止扇区,计算每个cell的大小M=(终止扇区-起始扇区+1)*P,P为DVD中默认的每个扇区的大小。cell数据定位单元232定位每个cell到相应VOB文件的数据中的方法为将每个VTS的所有VOB文件视作一个连续文件,根据每个cell的起始和终止扇区进行定位。
作为本发明的实施例,新文件产生模块26产生新文件的过程具体为:新cell数据产生单元261将重新压缩编码后的每个cell视频数据、提取模块24提取出来相应的cell的音轨和字幕数据合成新的cell数据;新VOB文件产生单元262将新的cell数据顺序写入对应VTS的新VOB文件中,生成新的VOB文件,并记录下新的每个cell新起始扇区和终止扇区的地址信息。新IFO文件产生单元263将所有新cell的地址信息替换原对应VTS的源IFO文件中的cell地址信息,生成每个VTS对应的新的IFO文件;新BUP文件产生单元264根据产生的新的IFO文件,复制IFO并修改后缀为BUP,形成新的BUP文件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种DVD光盘数据压缩方法及系统.pdf_第1页
第1页 / 共15页
一种DVD光盘数据压缩方法及系统.pdf_第2页
第2页 / 共15页
一种DVD光盘数据压缩方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种DVD光盘数据压缩方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种DVD光盘数据压缩方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明涉及一种DVD光盘数据压缩方法,包括以下步骤:获取源盘大小和目标盘大小,计算源盘中不需要压缩文件的大小和压缩因子;拷贝源盘中不需要压缩的文件;解析源盘中每个VTS的IFO文件,获取每个cell的大小和时间长度,定位每个cell到相应VOB文件的数据中;从每个cell数据中提取出视频、音轨和字幕数据,获取每个cell视频数据大小;计算压缩后每个cell视频数据的码率,根据码率对相应cell的视。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1