CN1641783A - 多媒体激光视盘的影音文件修复方法 - Google Patents
多媒体激光视盘的影音文件修复方法 Download PDFInfo
- Publication number
- CN1641783A CN1641783A CN 200410000409 CN200410000409A CN1641783A CN 1641783 A CN1641783 A CN 1641783A CN 200410000409 CN200410000409 CN 200410000409 CN 200410000409 A CN200410000409 A CN 200410000409A CN 1641783 A CN1641783 A CN 1641783A
- Authority
- CN
- China
- Prior art keywords
- audio
- visual
- cell
- sub
- parameter
- 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.)
- Pending
Links
Images
Landscapes
- Management Or Editing Of Information On Record Carriers (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种多媒体激光视盘的影音文件修复方法,包括:读取光学记录媒体的一文件系统信息以及文件管理信息与影音标头信息;读取影音档中所有的影音次单元及所需修复的该快转参数及该播放时间显示参数;修复该快转参数及该播放时间显示参数;以修复后的该快转参数及该播放时间显示参数修正该文件系统信息。本发明利用可擦写式光盘记录媒体可任意覆写盘片位置数值的特性,在影音档录制完毕后,以修复模式,针对影音文件的错误字段数值缺陷进行修正。本发明可以减少影音实时编辑烧录平台所产生的影音档错误,以使其影片在播放机的可以顺利做快转播放的动作、时间搜寻功能及显示正确的拨放时间等,并兼容于不同规格的播放机。
Description
技术领域
本发明涉及一种光学记录媒体的数据修复方法,特别是一种在DVD实时影音编辑录制系统中,修复所产生的DVD影音内容缺陷的方法。
背景技术
针对各家厂商生产出来的DVD影音实时编辑烧录平台,在这些平台,所录制出来的DVD-Video Mode和DVD-Video RM Mode的影片,在DVD播放机播放,会有几个播放问题无法解决,如影片快转拨放,显示错误的拨放时间。
这些问题全是因为发生在DVD影音档VOBS(Video Object Set)的导览封包(Navigation Pack)内的播放控制信息(PCI,Presentation ControlInformation)及数据搜寻信息(DSI,Data Search Information)中特定的字段无法填入正确的数值而引起。
例如,在播放控制信息(PCI)中,在总体信息表(PCI_GI,PCI GeneralInformation Table)中的影音次单元结束时间(VOBU_E_PTM),End PTM ofVOBU),与影音次单元连续播放结束时间(VOBU_SE_E_PTM,End PTM ofsequence end in VOBU),这两个字段是记录终止播放的时间,通过这两个字段,告知DVD译码器播放结束的时间。
而在数据搜寻信息(DSI)部分,主要是DSI总体信息表(DSI_GI,DSIGeneral Information)中的字段会出现错误,例如影音次单元结束位置(VOBU_EA)(End address of VOBU)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA,End address of the first Reference Picture in VOBU)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA,End address of thesecond Reference Picture in VOBU)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA,End address of the third Reference Picture in VOBU)等字段。由于每个影音次单元(VOBU)的长度都不一样,因此其所记录的地址也都不相同,如此一来,在规格不兼容的播放机中,将导致快转或搜寻等功能无法正常的执行。
这些字段数值在实时编辑烧录平台的译码硬件及软件编辑技术上是无法事先知道而来控制的,因为每一张画面及声音皆不相同,导致整个影音次单元(VOBU)的Pack(封包)长度不一致,必须等到整个影音次单元(VOBU)或影音单元(VOB)编辑完成,才可以得知这几个字段数值。
在目前有两种解决方案可以克服这个技术瓶颈,第一种为使用缓冲区的方式,亦即在可擦写式光盘片实时编辑烧录时,必须开放一个很大的缓冲区,来容纳这一些影音数据,所以一开始就必须先空出导览封包(导览封包:Navigation Pack)这一个扇区(Sector),等到影像封包(Video Pack)及声音封包(Audio Pack)数据到一定范围才编辑产生导览封包,再将导览封包这一个扇区填入保留位置。
但是这一个方法针对影音次单元结束时间(VOBU_E_PTM)、影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、影音次单元连续播放结束时间(VOBU_SE_E_PTM)这些字段可行,因为1个VOBU需要大概200Pack(400KByte),现有各平台皆可保留开放这么大的缓冲区。但是针对这一个VOBU_SRI字段,则需要240个VOBU(48M Bytes)的缓冲区长度,对于开放这么庞大的缓冲区,现有各平台技术在整个硬件平台配合协调性在有很大的瓶颈。
第二种为在可擦写式光盘片实时编辑烧录时,固定每一个VOBU长度。已知目前现有各平台的编码器在实时烧录时,因为无法掌握每个VOBU长度,所以必须增加填充封包(Padding Pack),以控制固定VOBU内每一个字段的长度,但是此方式会让使用者减少可录制时间。而且假如填入的填充封包太多,这样的录制品质,在播放时会造成除了影音不连续外,控制不当甚至有马赛克现象产生,所以在技术解决上这方法也不可行。
发明内容
本发明所要解决的技术问题是提供一种多媒体激光视盘的影音文件修复方法,以解决在可擦写式光盘片,例如DVD+RW,在其影音实时编辑烧录平台上所录制的影片,例如DVD-Video Mode和DVD+VR Mode的影片,不能快转及显示播放时间的问题。
为达到上述目的,本发明提供了一种多媒体激光视盘的影音文件修复方法,用以修复影音实时编辑烧录平台所录制的一影音档中的快转参数及播放时间显示参数,其特点在于,包括有下列步骤:
读取该光学记录媒体的一文件系统信息以及该文件系统信息中的文件管理信息与影音标头信息;
读取该影音档中所有的影音次单元及该影音次单元中所需修复的该快转参数及该播放时间显示参数;
修复该快转参数及该播放时间显示参数;以及
以修复后的该快转参数及该播放时间显示参数修正该文件系统信息。
上述的方法,其特点在于,该读取该光学记录媒体的一文件系统信息的步骤中,进一步包括有下列步骤:
加载该文件系统信息至内存缓冲区,并搜寻文件系统信息的开始位置;
从该文件系统信息的开始位置搜寻文件管理信息的开始位置;
从该文件管理信息的开始位置加载文件管理信息;
从该文件管理信息里读取一标题搜寻指针;
从该标题搜寻指针找寻所有的影音标题信息的开始地址;
将该影音标题信息加载到该内存缓冲区;
搜寻影音标题信息管理表整个字段的开始地址;
通过影音标题信息管理表取得影音标题群组的影音次单元地址表的开始位置;
自该影音次单元地址表的开始位置加载该影音标题群组影音次单元地址表;以及
从影音标题群组的影音次单元地址表得到所有的影音次单元开始位置及影音次单元的数目。
上述的方法,其特点在于,该读取该影音档中所有的影音次单元的步骤中,进一步包括有下列步骤:
取得目前影音次单元的开始位置与结束位置;
通过该开始位置加载该影音次单元的导览封包,以取得目前影音次单元的开始时间以及前一个影音次单元的结束时间;
令最后一个影音次单元结束时间等于前一个影音次单元结束时间的开始时间加上一预定值;
令最后一个影音次单元的结束位置等于影音单元的结束位置;以及
影音次单元连续播放结束时间等于最后一个影音次单元的结束位置。
上述的方法,其特点在于,还包括有一读取数据搜寻信息参数的步骤。
上述的方法,其特点在于,该读取数据搜寻信息参数的步骤进一步包括有下列步骤:
从该影音次单元中依序加载封包;
确认是否为第一参考画面,并取得该第一参考画面结束位置;
确认是否为第二参考画面,并取得该第二参考画面结束位置;以及
确认是否为第三参考画面,并取得该第三参考画面结束位置。
上述的方法,其特点在于,该修复该快转参数及该播放时间显示参数的步骤中进一步包括有下列步骤:
取得目前影音次单元的开始位置与结束位置;
通过该开始位置加载该影音次单元的导览封包;
修复该影音次单元的结束时间以及该影音次单元连续播放结束时间;
修复该影音次单元的结束位置、以及该影音次单元的第一参考画面的结束位置、第二参考画面的结束位置、以及第三参考画面的结束位置;以及
修复该影音次单元的单位搜寻信息。
上述的方法,其特点在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
从影音标题的影音次单元位置表中取得目前的该影音次单元前后各多个影音次单元的开始位置;
将该目前影音次单元的下一个影音次单元的开始位置填入该快转参数中;
将往前多个以及往后多个影音次单元的开始位置填入该快转参数中;以及
将该目前影音次单元的上一个影音次单元的开始位置填入该快转参数中。
上所述的方法,其特点在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
确认是否存在影音标题时间表;
产生影音标题时间表以及字段;
将该影音标题时间表的字段插入到该影音标题信息中;
加载该影音标题信息,加载影音标题选单位置表以及影音标题的影音次单元位置表;
将影音标题设定时间表写入影音标题选单位置表;
从该影音标题设定时间表的结束位置写入该音标题信息,加载影音标题选单位置表以及影音标题的影音次单元位置表;以及
加载影音标题信息管理表并修正该管理表中的字段的开始位置与结束位置。
上述的方法,其特点在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
加载该影音标题信息至该内存缓冲区;
至该影音标题信息的备份文件的开始位置;以及
从该内存缓冲区将该影音标题信息写入所述该影音标题信息的备份文件。
上述的方法,其特点在于,该修正文件系统信息的步骤中进一步包括有下列步骤:
自该文件系统信息的开始位置加载该文件系统信息;
搜寻该文件系统信息中的该影音标题信息;
修正该影音标题信息;
搜寻该文件系统信息中的该影音标题信息的备份文件;以及
修正该备份文件。
本发明的技术效果在于:
本发明所揭示的多媒体激光视盘的影音文件修复方法,主要利用可擦写式光盘片可任意覆写盘片位置数值的特性,在录制完毕后,以修复模式,针对影音文件的错误字段数值缺陷进行修正。利用此方式,可以减少影音实时编辑烧录平台所产生的影音档错误,除了使其影片在播放机的发挥他播放应有的功能,可以顺利做快转播放的动作、时间搜寻(Time Search)功能及显示正确的拨放时间等。
下面结合附图进一步详细说明本发明的具体实施例。
附图说明
图1为本发明多媒体激光视盘的影音文件修复方法的主流程图;
图2为本发明的主流程中的读取文件系统信息的细部流程;
图3为本发明主流程中的读取影音档所需修复参数的细部流程;
图4为本发明主流程中的读取数据搜寻信息参数的细部流程;
图5为本发明主流程中的修复参数的细部流程;
图6为本发明主流程中的修复数据搜寻信息(DSI)中的VOBU_SRI Table的细部流程;
图7为本发明主流程中的修复影音标题信息(VTSI)的细部流程;
图8为本发明主流程中的修正影音标题信息(VTSI)备份文件的细部流程;以及
图9为本发明主流程中的修正文件系统信息的细部流程。
其中,附图标号说明如下:
步骤100影音实时编辑烧录平台激活修复模式
步骤200读取盘片信息中的文件系统信息,以及文件系统信息中的文件管理信息和影音标头信息
步骤300读取该影音档中所有的影音次单元及该影音次单元中所需修复的该快转参数及该播放时间显示参数
步骤400修复该快转参数及该播放时间显示参数
步骤500修正影音标题设定时间表
步骤600修正影音标题信息备份文件
步骤700修复文件系统
步骤210加载文件系统信息至内存缓冲区,并搜寻文件系统信息的开始位置
步骤220从文件系统的开始位置搜寻文件管理信息的开始位置
步骤221到文件管理信息的开始位置加载文件管理信息的字段信息
步骤222从文件管理信息里找寻标题搜寻指针字段
步骤230从标题搜寻指针找寻所有的影音标题信息的开始地址
步骤231将影音标题信息的所有字段加载到内存缓冲区
步骤240影音标题信息管理表整个字段的开始地址
步骤241通过影音标题信息管理表搜寻影音单元的开始位置、影音单元的结束位置、影音标题群组的结束位置、影音标题信息的结束位置、影音标题群组时间表整个字段开始位置、影音标题群组地址表整个字段开始位置、影音标题群组的影音次单元地址表整个字段开始位置
步骤250通过得到影音标题群组的影音次单元地址表开始位置、从影音标题信息加载影音标题群组影音次单元地址表整个字段
步骤260从影音标题群组的影音次单元地址表及结束位置得到所有的影音次单元开始位置及影音次单元的数目
步骤310开始读取影音单元参数的计数
步骤320令缓冲指针的初始值为0
步骤321缓冲指针<VOBU数目
步骤330取得目前影音次单元的开始位置
步骤331取得目前影音次单元的结束位置
步骤332通过影音次单元的开始位置加载导览封包(Navigation Pack)
步骤333取得到音次单元开始时间
步骤334取得前一个影音次单元结束时间参数值
步骤340读取数据搜寻信息参数
步骤341从VOBU加载下一个封包,计数器加1
步骤342第一参考画面?
步骤343第一参考画面结束?
步骤344VOBU_1STREF_EA等于计数数目
步骤345从VOBU加载下一个封包,计数器加1
步骤346第二参考画面?
步骤347第二参考画面结束?
步骤348VOBU_2NDREF_EA等于计数数目
步骤349从VOBU加载下一个封包,计数器加1
步骤350第三参考画面?
步骤351第三参考画面结束?
步骤352VOBU_3RDREF_EA等于计数数目
步骤353终止计数
步骤360缓冲指针+1
步骤370令最后一个影音次单元结束时间数值等于这一个影音次单元开始时间参数加上假设值
步骤371最后一个影音次单元结束位置参数值等于影音单元的结束位置
步骤372影音单元连续播放结束时间等于最后一个影音次单元结束时间参数值
步骤410开始修复VOB参数
步骤420令缓冲指针的初始值为0
步骤421缓冲指针<VOBU数目
步骤430取得目前影音次单元的开始位置
步骤431通过影音次单元的开始位置加载导览封包(Navigation Pack)
步骤432修复影音次单元结束时间和影音次单元连续播放结束时间
步骤440修复VOBU_EA、VOBU_1STREF_EA、VOBU_2NDREF_EA和VOBU_3RDREF_EA
步骤450修复影音单元的单位搜寻信息
步骤451从影音标题的影音次单元位置表字段整理目前VOBU后各多个VOBU开始位置
步骤452填入下一个VOBU开始位置到FWDI Video/FWDI Next
步骤453将往前多个VOBU开始位置填入到FWDI
步骤454将往后多个VOBU开始位置填入到BWDI
步骤455填入上一个VOBU开始位置到BWDI Video/BWDI Previous
步骤460缓冲指针+1
步骤470VOB参数修复完成
步骤510影音标题时间表起始位置是否存在
步骤511系统修复完成
步骤520产生影音标题时间表字段
步骤530产生影音标题时间表
步骤540开始插入影音标题时间表字段到影音标题信息字段
步骤550从VTSI字段加载影音标题选单位置表和影音标题的影音次单元位置表整个字段到内存缓冲区
步骤560从影音标题选单位置表起始位置将影音标题时间表整个字段写入
步骤570从影音标题时间表结束地址将影音标题选单位置表和影音标题的影音次单元位置表整个字段从内存缓冲区写入
步骤580加载影音标题信息管理表到内存缓冲区,修正VTS的结束位置、VTSI的结束位置、影音标题时间表整个字段开始位置、影音标题选单位置表整个字段开始位置、影音标题的影音次单元位置表整个字段开始位置,再从原来位置将影音标题信息管理表字段写入
步骤590影音标题信息修正完成
步骤610加载影音标题信息整个字段到内存缓冲区
步骤620到影音标题信息备份文件开始位置
步骤630将影音标题信息整个字段从内存缓冲区写入
步骤640影音标题信息备份文件修正完成
步骤710的从ISO9660文件系统的开始位置加载ISO9660文件系统到内存缓冲区
步骤720从ISO 9660文件系统搜寻影音标题信息信息
步骤721修正影音标题信息文件长度
步骤730从ISO 9660文件系统搜寻影音标题信息备份文件信息
步骤731修正影音标题信息备份文件的文件长度
步骤740的从UDF文件系统的开始位置加载UDF文件系统到内存缓冲区
步骤750从UDF文件系统搜寻影音标题信息信息
步骤751修正影音标题信息文件长度
步骤760从UDF文件系统搜寻影音标题信息备份文件信息
步骤761修正影音标题信息备份文件文件长度
步骤770修复UDF/ISO 9660 File System完成
步骤780系统修复完成
具体实施方式
根据本发明所揭示的方法,是先以光驱,例如DVD以扫描盘片方式,读取影音单元(VOB)内所有导览封包(Navigation Pack)所需要的字段数值。再以编辑模式,以的写入盘片方式来修正在实时影音编辑烧录时,所不能填入正确数值的字段,以确保整片DVD的影音文件字段正确,来协助影音的顺利播放及影片快转拨放,影片倒转拨放,显示正确的拨放时间等。
首先请参考图1,为本发明所揭示的多媒体激光视盘的影音文件修复方法的主流程图,首先,步骤100,由实时影音编辑烧录平台激活修复模式;接着,步骤200,激活光驱读取盘片信息,光驱开始加载盘片信息,并读取盘片信息中的文件系统,以及文件系统中的文件管理信息(Video ManagerInformation,VMGI)和影音标头信息(VTSI,VideoTitle Set Information),以取得相关修复字段的开始地址及结束地址;接着,步骤300,读取该影音档中所有的影音次单元及该影音次单元中所需修复的该快转参数及该播放时间显示参数;步骤400,修复该快转参数及该播放时间显示参数;步骤500,修正影音标题设定时间表;以及步骤600,修正影音标题信息备份文件;最后步骤700,修复文件系统。
以下详细说明图1中的各步骤流程。
请参考图2,为步骤200的读取文件系统中相关字段的流程图包括:步骤210,加载UDF/ISO9660文件系统到内存缓冲区,再从内存缓冲区寻找ISO9660文件系统的开始位置;步骤220,从ISO 9660文件系统的开始位置寻找读取文件管理信息(VMGI)的开始位置;步骤221,通过文件管理信息(VMGI)的开始位置从盘片加载文件管理信息(VMGI)的字段到内存缓冲区;步骤222,从文件管理信息中搜寻标题搜寻指针(Title Search Pointer,TT_SRPT)字段;步骤230,从标题搜寻指针(TT_SRPT)找寻所有的影音标题信息的开始地址(Video Title Set Information Start Address,VTSI_SA);步骤231,通过影音标题信息的开始地址将影音标题信息(VTSI)的所有字段加载到内存缓冲区;
接着,步骤240,加载影音标题信息(VTSI)整个字段到内存缓冲区后,再通过影音标题信息(VTSI)搜寻影音标题信息管理表(Video Title InformationManagement Table,VTSI_MAT)整个字段的开始地址;步骤241,根据开始地址,搜寻影音单元(VOB)的开始位置及结束位置、影音标题群组(VTS)的结束位置、影音标题信息(VTSI)的结束位置、影音标题群组时间表(VideoTitle Set Time Map table,VTS_TMAPT)开始位置、影音标题群组地址表(VideoTitle Set Menu Cell Address Table,VTS_C_ADT)开始位置、影音标题群组的影音次单元地址表(Video Title Set Video Object Unit Address Map,VTS_VOBU_ADMAP)开始位置;
步骤250,得到影音标题群组的影音次单元地址表(VTS_VOBU_ADMAP)的位置后,将影音标题群组的影音次单元地址表(VTS_VOBU_ADMAP)整个字段加载到内存缓冲区;
步骤260,从影音标题群组的影音次单元地址表(VTS_VOBU_ADMAP)取得所有影音次单元(VOBU)的开始位置,并通过影音标题群组的影音次单元地址表(VTS_VOBU_ADMAP)的结束位置计算所有影音次单元(VOBU)的数目。
通过此影音标题的影音次单元位置表(VTS_VOBU_ADMAP)得知所有的影音次单元开始位置(VOBU_SA,VOBU Start Address)字段,利用这个方式,可以加快寻找读取影音次单元(VOBU)做所需修改参数的速度。
得到所有影音次单元(VOBU)的开始位置后,就开始读取影音次单元(VOBU)所需修改参数的计数,这些参数包括有显示控制信息(PCI)参数影音次单元结束时间(VOBU_E_PTM)、VOBU_SE_E_PTM,信息搜寻参数(DSI)影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、VOB_V_E_PTM、VOB_A_STP_PTM等等。
当的移到影音次单元(VOBU)的开始位置,先加载导览封包(导览封包:Navigation Pack),读取数据搜寻信息(DSI)中影音次单元(VOBU)的影音次单元开始时间(VOBU_S_PTM)。因为第n个导览封包的影音次单元开始时间(VOBU_S_PTM)等于第(n-1)个影音次单元结束时间(VOBU_E_PTM),同理第n个影音次单元结束位置(VOBU_EA)等于第n+1个[(VOBU Start Address)-1]。而VOB_SE_E_PTM则等于最后1个影音次单元(VOBU)的影音次单元结束时间(VOBU_E_PTM)。
依据上述的规则,请参考图3,为读取所需修改参数的流程图。步骤310,开始读取影音单元VOB参数的计数,这些参数有影音次单元结束时间(VOBU_E_PTM)、影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、影音单元连续播放结束时间(VOB_SE_E_PTM)等等。
步骤320,令缓冲指针的初始值为0;步骤321,判断目前缓冲指针值是否小于VOBU的数目,以决定是否已读取所有的VOBU。步骤330,通过影音标题的影音次单元位置表(VTS_VOBU_ADMAP)字段取得目前VOBU的开始位置,目前的VOBU的指针值与目前缓冲指针值相同;步骤331,从影音标题的影音次单元位置表(VTS_VOBU_ADMAP)字段利用下一个VOBU的开始位置-1等于这一个VOBU的结束位置,以取得目前VOBU的最终位置;步骤332,取得开始与结束位置后,则通过VOBU的开始位置加载导览封包(Navigation Pack);步骤333,再从所加载的导览封包(Navigation Pack)的PCI/PCI_GI字段取得影音次单元开始时间(VOBU_S_PTM);从而,步骤334,从这一个影音次单元开始时间(VOBU_S_PTM)参数得知前一个影音次单元结束时间(VOBU_E_PTM)数值。步骤340,接着再读取数据搜寻信息(DSI)参数;步骤360,读取完毕后,将缓冲指针值+1,再继续上述的流程。
读取数据搜寻信息(DSI)参数的详细流程请参考图4,当影音次单元开始时间(VOBU_S_PTM)/影音次单元结束位置(VOBU_EA)Data读取完毕,开始加载VOBU里的Pack判断以取得数据搜寻信息(DSI)参数影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)的结束位置。
步骤341,先从VOBU加载下一个封包(Pack);接着,步骤342,判断是否为第一参考图像(first reference picture);以及,步骤343,是否为第一参考图像结束位置,是的话,步骤344,令影音次单元第一参考画面结束位置(VOBU_1STREF_EA)参数等于计数数目;若为否,则重复步骤341。接着,步骤345,继续加载下一个下一个封包,并将计数器的值加1;步骤346,判断是否为第二参考图像(second reference picture);以及,步骤347,是否为第二参考图像结束位置,是的话,步骤348,令影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)参数等于计数数目;若为否,则重复步骤345。步骤349,接着继续加载下一个下一个Pack,并将计数器的值加1;步骤350,判断是否为第三参考图像(third reference picture);以及,步骤351,是否为第三参考图像结束位置?若为否,则重复步骤349,是的话,步骤352,令影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)参数等于计数数目,并且步骤353,终止计数,以开始下一个VOBU所需参数记数。也就是当已经计数得到影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)后,即终止计数。将的移至下一个VOBU继续所需参数的计数,直到所有的VOBU读取完成。
在图3中的步骤321中,若缓冲指针值大于影音次单元(VOBU)的数目,则步骤370,将最后一个影音次单元结束时间(VOBU_E_PTM)数值等于这一个影音次单元开始时间(VOBU_S_PTM)参数加上一假设值,例如45045;步骤371,令最后一个影音次单元结束位置(VOBU_EA)参数值等于VOB的结束位置;以及,步骤372,令VOB_SE_E_PTM等于最后一个影音次单元结束时间(VOBU_E_PTM)参数值,以完成读取VOB参数影音次单元结束时间(VOBU_E_PTM)、影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、VOB_SE_E_PTM的计数。
当所有的VOBU内所需参数的计数完成即开始做VOBU修复的工作。
请参考图5,步骤410,开始修复影音单元VOB参数,这些参数有影音次单元结束时间(VOBU_E_PTM)、影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画而结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、影音单元连续播放结束时间(VOB_SE_E_PTM)及影音单元的单位搜寻信息(VOBU_SRI)等等。
步骤420,先移到VOBU的开始位置,加载导览封包(Navigation Pack)。令缓冲指针的初始值为0;步骤421,判断目前缓冲指针值是否小于VOBU的数目,以决定是否已读取所有的VOBU,若大于,步骤470,VOB参数影音次单元结束时间(VOBU_E_PTM)、影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)、影音次单元第三参考画面结束位置(VOBU_3RDREF_EA)、VOB_SE_E_PTM、VOBU_SRI Table修复完成;若小于,步骤430,通过影音标题的影音次单元位置表(VTS_VOBU_ADMAP)字段取得目前VOBU的开始位置;步骤431,目前的VOBU的指针值与目前缓冲指针值相同,取得开始位置后,则通过VOBU的开始位置加载导览封包(Navigation Pack)。
接着步骤440,修复导览封包(Navigation Pack)中的显示控制信息(PCI)中的显示控制信息表中的影音次单元结束时间(VOBU_E_PTM)、以及影音单元连续播放结束时间(VOB_SE_E_PTM)。接着,步骤441修复导览封包(Navigation Pack)的数据搜寻信息(DSI)中的信息搜寻信息表(DSI_GI)的四个参数影音次单元结束位置(VOBU_EA)、影音次单元第一参考画面结束位置(VOBU_1STREF_EA)、影音次单元第二参考画面结束位置(VOBU_2NDREF_EA)和影音次单元第三参考画面结束位置(VOBU_3RDREF_EA);接着,步骤450再修复修复VOBU_SRI Table,步骤460再将缓冲指针加1,回到步骤421,直到所有参数修复完毕。
接着修复数据搜寻信息(DSI)中的VOBU_SRI Table,请参考图6,而影音次单元的单位搜寻信息(VOBU_SRI)整个字段参数产生方式,则依据影音标题的影音次单元位置表(VTS_VOBU_ADMAP)字段得知所有的VOBU开始位置。
步骤451,针对目前这一个VOBU所在位置,往前及往后各取多个VOBU的开始位置,例如240,接着,步骤452开始修复快转参数(FWD),将下一个VOBU开始位置填入到FWDI Video(下一个有影音数据的影音次单元的开始位置)/FWDI Next(下一个影音次单元开始位置与影音存在旗标)字段,接着,步骤453将往前VOBU的开始位置填入到FWDI中;步骤454将前一个VOBU开始位置填入到BWDI Video(上一个有影音数据的影音次单元的开始位置)/BWDI Previous(上一个影音次单元开始位置与影音存在旗标)字段;最后,步骤455将往后VOBU的开始位置填入到BWDI中。
当修复完成,的会在同一个VOBU的导览封包(Navigation Pack)开始位置,写入已修复过的导览封包(Navigation Pack),则这一个VOBU修复完成。再利用影音标题的影音次单元位置表(VTS_VOBU_ADMAP)的字段得知下一个VOBU开始位置,使的能迅速到达下一个导览封包(NavigationPack)开始位置,继续下一个VOBU的所需参数的修复,直到所有的VOBU读取修复,则VOB部分修复完成。
当VOB部分修复完成,接着修复VTSI部分,请参考图7。
首先,步骤510判断影音标题时间表开始位置(VTS_TMAPT_SA)参数,亦即判断影音标题时间表(VTS_TMAPT)(Video Title Set Time Map)字段是否存在。步骤511,如果影音标题时间表开始位置(VTS_TMAPT_SA)参数为零,则表示系统参数已修复完成;如果没有,则步骤520利用所有的VOBU开始位置,编辑产生影音标题时间表(VTS_TMAPT)字段以及,步骤530产生影音标题时间表(Video Title Set Time Map Table)。
产生完成后,步骤540将影音标题时间表(VTS_TMAPT)字段插入到VTSI字段,以修正影音标题时间表(VTSI_MAT)(Video Title Set InformationManagement Table)里面的VTS_EA/VTSI_EA/影音标题时间表开始位置(VTS_TMAPT_SA)/VTS_C_ADT_SA/VTS_VOBU_ADMAP_SA字段长度。
修正完成后,步骤550的再从VTSI字段将影音标题的影音次单元位置表(VTS_VOBU_ADMAP)(Video Title Set Object Unit Address Map)及影音标题选单位置表(VTS_C_ADT_SA,Video Title Set Cell Address Table)整个字段加载到内存缓冲区。接着,步骤560从影音标题选单位置表(VTS_C_ADT_SA)的启始位置,将影音标题时间表(VTS_TMAPT)整个字段写入。步骤570再从影音标题时间表(VTS_TMAPT)结束地址,将影音标题选单位置表(VTS_C_ADT_SA)和影音标题的影音次单元位置表(VTS_VOBU_ADMAP)整个字段从内存缓冲区写入。
写入完成后,步骤580最后修正影音标题时间表(VTSI_MAT)字段。加载影音标题时间表(VTSI_MAT)到内存缓冲区,并修正VTS的结束位置、影音标题信息(VTSI)的结束位置、影音标题时间表(VTS_TMAPT)整个字段开始位置、影音标题选单位置表(VTS_C_ADT_SA)整个字段开始位置、影音标题的影音次单元位置表(VTS_VOBU_ADMAP)整个字段开始位置,再从原来位置将影音标题时间表(VTSI_MAT)字段写入,以完成影音标题信息(VTSI)的修正。
接下来,接着复制影音标题信息(VTSI)整个字段到影音标题信息(VTSI)的备份档(VTSI_BUP)以修正影音标题信息(VTSI)的备份文件。请参考图8,步骤610先加载影音标题信息(VTSI)整个字段到内存缓冲区,接着,步骤620的到影音标题信息(VTSI)的备份文件的开始位置,利用影音标题时间表(VTSI_MAT)的VTS_EA/VTSI_EA寻找影音标题信息(VTSI)的备份档(VTSI_BUP)的开始位置,步骤630再将影音标题信息(VTSI)整个字段写入影音标题信息(VTSI)的备份文件(VTSI_BUP)所在位置,写入完成后,步骤640影音标题信息(VTSI)的备份档(VTSI_BUP)部分修复完成。
最后,以上的参数修正完毕后,以修正后的参数为基准修正UDF/ISO9660文件系统。其流程图请参考图9。
首先,步骤710从盘片加载UDF/ISO9660文件系统整个信息到内存缓冲区,从内存缓冲区读取ISO9660文件系统的整个字段信息,接着步骤720读取寻找影音标题信息(VTSI)长度的所在字段,步骤721修正已经增加影音标题时间表(VTS_TMAPT)字段的影音标题信息(VTSI)长度,接着,步骤730读取寻找VTSI_BUP长度的所在字段,步骤731修正已经增加影音标题时间表(VTS_TMAPT)字段的影音标题信息(VTSI)长度,则ISO9660文件系统的部分修正完成。
接着,修正UDF/ISO9660文件系统的UDF部分,从内存缓冲区读取UDF的整个字段信息(步骤740),读取寻找记录像音标题信息(VTSI)和VTSI_BUP的信息所在字段位置,再修正影音标题信息(VTSI)和VTSI_BUP整个字段信息(步骤750、751、760、761),将2个字段都修正已经增加影音标题时间表(VTS_TMAPT)字段的影音标题信息(VTSI)长度,则UDF文件系统的部分修正完成。再将以已修正过的UDF/ISO9660文件系统从内存缓冲区写入盘片,修复UDF/ISO 9660 File System完成(步骤770),则整个DVD激光视盘修复完毕(步骤780)。
纵上所述,本发明所揭示的方法应用在可擦写式DVD+RW光盘片上,在DVD实时影音编辑烧录平台中,于实时编辑录制完毕以后,再来进行修复。先以DVD光驱扫描盘片方式,读取VOB内所有导览封包(Navigation Pack)所需要的字段数值。再以编辑模式,以的写入盘片方式来修正填入在实时影音编辑烧录时,所不能填入正确数值的字段,以确保整片DVD的影音文件字段正确,来协助影音的顺利播放及影片快转拨放,影片倒转拨放,显示正确的拨放时间等。
根据本发明所揭示的方法,可以减少影音实时编辑烧录平台所产生的影音档错误,除了使其影片在DVD播放机的发挥他播放应有的功能,可以顺利做快转播放的动作、Time Search功能及显示正确的拨放时间等。也可以大幅增加不同厂牌间DVD播放机的兼容性。
虽然本发明的较佳实施例揭示如上,但其并非用以限定本发明的实施范围,任何熟悉相关技术的人员,在不脱离本发明的精神和范围内,当然可作适当的更动与润饰,因此本发明的专利保护范围须以本发明的权利要求书所界定的范围为准。
Claims (10)
1、一种多媒体激光视盘的影音文件修复方法,用以修复影音实时编辑烧录平台所录制的一影音档中的快转参数及播放时间显示参数,其特征在于,包括有下列步骤:
读取该光学记录媒体的一文件系统信息以及该文件系统信息中的文件管理信息与影音标头信息;
读取该影音档中所有的影音次单元及该影音次单元中所需修复的该快转参数及该播放时间显示参数;
修复该快转参数及该播放时间显示参数;以及
以修复后的该快转参数及该播放时间显示参数修正该文件系统信息。
2、根据权利要求1所述的方法,其特征在于,该读取该光学记录媒体的一文件系统信息的步骤中,进一步包括有下列步骤:
加载该文件系统信息至内存缓冲区,并搜寻文件系统信息的开始位置;
从该文件系统信息的开始位置搜寻文件管理信息的开始位置;
从该文件管理信息的开始位置加载文件管理信息;
从该文件管理信息里读取一标题搜寻指针;
从该标题搜寻指针找寻所有的影音标题信息的开始地址;
将该影音标题信息加载到该内存缓冲区;
搜寻影音标题信息管理表整个字段的开始地址;
通过影音标题信息管理表取得影音标题群组的影音次单元地址表的开始位置;
自该影音次单元地址表的开始位置加载该影音标题群组影音次单元地址表;以及
从影音标题群组的影音次单元地址表得到所有的影音次单元开始位置及影音次单元的数目。
3、根据权利要求1所述的方法,其特征在于,该读取该影音档中所有的影音次单元的步骤中,进一步包括有下列步骤:
取得目前影音次单元的开始位置与结束位置;
通过该开始位置加载该影音次单元的导览封包,以取得目前影音次单元的开始时间以及前一个影音次单元的结束时间;
令最后一个影音次单元结束时间等于前一个影音次单元结束时间的开始时间加上一预定值;
令最后一个影音次单元的结束位置等于影音单元的结束位置;以及
影音次单元连续播放结束时间等于最后一个影音次单元的结束位置。
4、根据权利要求3所述的方法,其特征在于,还包括有一读取数据搜寻信息参数的步骤。
5、根据权利要求4所述的方法,其特征在于,该读取数据搜寻信息参数的步骤进一步包括有下列步骤:
从该影音次单元中依序加载封包;
确认是否为第一参考画面,并取得该第一参考画面结束位置;
确认是否为第二参考画面,并取得该第二参考画面结束位置;以及
确认是否为第三参考画面,并取得该第三参考画面结束位置。
6、根据权利要求1所述的方法,其特征在于,该修复该快转参数及该播放时间显示参数的步骤中进一步包括有下列步骤:
取得目前影音次单元的开始位置与结束位置;
通过该开始位置加载该影音次单元的导览封包;
修复该影音次单元的结束时间以及该影音次单元连续播放结束时间;
修复该影音次单元的结束位置、以及该影音次单元的第一参考画面的结束位置、第二参考画面的结束位置、以及第三参考画面的结束位置;以及
修复该影音次单元的单位搜寻信息。
7、根据权利要求6所述的方法,其特征在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
从影音标题的影音次单元位置表中取得目前的该影音次单元前后各多个影音次单元的开始位置;
将该目前影音次单元的下一个影音次单元的开始位置填入该快转参数中;
将往前多个以及往后多个影音次单元的开始位置填入该快转参数中;以及
将该目前影音次单元的上一个影音次单元的开始位置填入该快转参数中。
8、根据权利要求7所述的方法,其特征在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
确认是否存在影音标题时间表;
产生影音标题时间表以及字段;
将该影音标题时间表的字段插入到该影音标题信息中;
加载该影音标题信息,加载影音标题选单位置表以及影音标题的影音次单元位置表;
将影音标题设定时间表写入影音标题选单位置表;
从该影音标题设定时间表的结束位置写入该音标题信息,加载影音标题选单位置表以及影音标题的影音次单元位置表;以及
加载影音标题信息管理表并修正该管理表中的字段的开始位置与结束位置。
9、根据权利要求8所述的方法,其特征在于,该修复该快转参数及该播放时间显示参数的步骤中还包括有下列步骤:
加载该影音标题信息至该内存缓冲区;
至该影音标题信息的备份文件的开始位置;以及
从该内存缓冲区将该影音标题信息写入所述该影音标题信息的备份文件。
10、根据权利要求1所述的方法,其特征在于,该修正文件系统信息的步骤中进一步包括有下列步骤:
自该文件系统信息的开始位置加载该文件系统信息;
搜寻该文件系统信息中的该影音标题信息;
修正该影音标题信息;
搜寻该文件系统信息中的该影音标题信息的备份文件;以及
修正该备份文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410000409 CN1641783A (zh) | 2004-01-12 | 2004-01-12 | 多媒体激光视盘的影音文件修复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410000409 CN1641783A (zh) | 2004-01-12 | 2004-01-12 | 多媒体激光视盘的影音文件修复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1641783A true CN1641783A (zh) | 2005-07-20 |
Family
ID=34866751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410000409 Pending CN1641783A (zh) | 2004-01-12 | 2004-01-12 | 多媒体激光视盘的影音文件修复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1641783A (zh) |
-
2004
- 2004-01-12 CN CN 200410000409 patent/CN1641783A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1279515C (zh) | 在信息存储介质上存储信息的方法及其再现装置 | |
CN1165893C (zh) | 信息重放装置 | |
CN1104714C (zh) | 记录方法以及再生装置及方法 | |
CN1169150C (zh) | 用于记录或再现信息记录介质中的数据的装置和方法 | |
CN1161779C (zh) | 信息记录介质、以及用于上述的记录装置和重放装置 | |
CN1295702C (zh) | 一种再现方法和一种记录方法 | |
CN1273965C (zh) | 信息记录方法 | |
CN1132418C (zh) | 再生方法和再生装置 | |
CN1685720A (zh) | 信息处理设备和方法、程序存储媒体、记录媒体和程序 | |
CN1489765A (zh) | 信息记录装置和方法 | |
CN1314048C (zh) | 在光盘上记录一个被编码的比特流的方法和记录设备 | |
CN1251189C (zh) | 光盘控制器和使用该光盘控制器的光盘设备 | |
CN1805040A (zh) | 信息记录介质,重放装置和记录装置 | |
CN1706185A (zh) | 数据处理装置 | |
CN1788311A (zh) | 记录设备以及相关控制方法,计算机程序和系统lsi | |
CN1771554A (zh) | 信息记录装置和方法 | |
CN1691182A (zh) | 信息记录介质,和信息重放装置及方法 | |
CN1506944A (zh) | 信息记录媒体、信息重放设备、信息重放方法以及计算机程序 | |
CN1310510C (zh) | 信息记录装置和方法、信息再现装置和方法 | |
CN1741171A (zh) | 光盘单元、光盘记录方法、以及光盘 | |
CN1183756C (zh) | 视频目标和单元的编号 | |
CN1271625C (zh) | 确定重放存储介质的存储介质主要参数值的设备和方法 | |
CN1523602A (zh) | 信息记录介质、信息重放装置和方法以及计算机程序 | |
CN101042915A (zh) | 信息记录介质、信息记录装置和方法、以及计算机程序 | |
CN1202664C (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |