发明内容
可是,在所述的例子中,由于全部内容的索引、时间代码、序列首
部I图像是用连续的号码进行管理的,所以存在着以下所述问题:例如,
如果要从内容B的第10秒开始再现,就必须用连续的时间代码来换算
它应为多大的值,但由于不知道内容A的全部再现时间,所以无法得到
正确的再现时间代码。
另外,还存在以下所述问题:即,当进行快进、快退时,因为不知
道I图像的长度,所以不知道应该读到哪里之后再跳到下一个I图像。
鉴于以上所述问题的存在,本发明1的数字存储媒体的特殊再现方
法,对由进行了压缩编码的数字音频、视频数据所构成的多媒体内容进
行记录、再现,其特征在于:
通过把内容分割为程序单位来构成目录,再把各程序内的内容作为
独立文件记录在多个称为媒体对象的单位中;
具有:
包含所记录的内容的每个程序的ID(标识符)和构成各程序的媒体
对象的信息一览表的程序管理文件;
包含每个媒体对象的再现时间和每隔给定时间隔的入口点一览表的
媒体对象信息文件;
包含用户指定的再现开始程序ID和在该程序内的再现开始时和结束
时的指定的再现一览表信息的再现一览表管理文件;
如果用户指定再现开始程序ID和在该程序内的再现开始时间,则从
最初开始依次调查所指定的程序内的媒体对象信息的再现时间,得到包
含用户指定的再现开始时间的媒体对象k,从用户指定的再现开始时间
减去直到前一个媒体对象的全部再现时间,通过把该差值与媒体对象k
的媒体对象信息内的时间检索表分辨率进行比较,得到用户指定的再现
开始时间所对应的入口点,从包含该入口点的MODU的入口帧位置,读
出媒体对象k的数据,提供给解码器,从解码进行到入口点的时刻开始
输出解码结果;
然后,根据再现一览表信息和程序管理文件,依次输出媒体对象的
解码结果,据此,来实现随机存取再现。
本发明2、3的的数字存储媒体的特殊再现方法,对由进行了压缩编
码的数字音频、视频数据所构成的多媒体内容进行记录、再现,其特征
在于:
通过把内容分割为程序单位来构成目录,再把各程序内的内容作为
独立文件记录到多个称为媒体对象的单位中;
具有:
包含所记录的内容的每个程序的ID(标识符)和构成各程序的媒体
对象的信息一览表的程序管理文件;
包含每个媒体对象的再现时间和每隔给定时间隔的入口点一览表的
媒体对象信息文件;
包含用户指定的再现开始程序ID和在该程序内的再现开始时和结束
时的指定的再现一览表信息的再现一览表管理文件;
包含最后中断再现的程序ID和利用该程序内的中断时间信息构成的
恢复标记的管理数据文件;
如果用户指定快进或快退,则从最初开始依次调查由恢复标记指定
的程序内的媒体对象信息,依次对媒体对象信息内的再现时间进行比较,
取得第一个超过中断时间的媒体对象k,从恢复标记指定的中断时间减
去直到前一个媒体对象的全部再现时间,并把该差值除以媒体对象k的
媒体对象信息内的时间检索表分辨率,求出以该结果值作为号码的入口
点,读出对应该入口点的MODU的入口帧数据,提供给解码器;
如果是快进,则下面进行重复,把下一个MODU的入口帧数据提供
给解码器;
如果是快退,则下面进行重复,把前一个MODU的入口帧数据提供
给解码器;
当快进或快退结束时,通过用中断时刻的程序ID和该程序内的中断
时间信息来改写恢复标记,就能实现快进或快退。
利用以上所述的文件结构和再现步骤,能从用户指定的任意位置开
始进行随机存取再现,并能正确地只读出必要的数据,然后进行快进/快
退再现等特殊再现。
如以上所述的那样,利用本发明1~2的数字存储媒体的特殊再现方
法,就能比较容易地实现用户要求的复杂的特殊再现。
特别是利用本发明1,就能比较容易地实现从用户任意指定的位置
开始的随机存取再现。
特别是利用本发明2,就能根据用户的指定来高效地实现快进或反
向再现。
具体实施方式
下面,参照附图来说明本发明实施例的数字存储媒体的特殊再现方
法。这里所说的特殊再现是指:以通常速度进行的反方向再现、以快进
速度进行的正向再现和反方向再现、以慢速进行的正向再现和反方向再
现、随机再现、跳跃、暂停。另外,所谓快进是指以比通常的再现速度
快的速度进行的快速正向再现,所谓快退是以比通常的再现速度快的速
度进行的快速反向再现。
另外,本发明中的数字存储媒体虽然包含闪存等半导体内存卡,但
是不包含磁盘和磁带。即本发明中的数字存储媒体是不包含动的要素的
静止型记录媒体,不包括包含动的要素的驱动型记录媒体(磁盘和磁带
等)。
图1是本发明的实施例中实现数字存储媒体的特殊再现的记录再现
系统的结构图。在图中,1是数字存储媒体,2是记录再现装置,3是用
于记录内容的相机,4是用于再现显示内容的显示器,5是包含数值键、
由遥控等构成的输入部,6是包含计算机的控制部,它们都连接到记录
再现装置2上。用以上所述的结构,由相机3拍摄内容,用记录再现装
置以MPEG-1等方式压缩,记录到数字存储媒体中。从数字存储媒体1
读出存储的内容,由记录再现装置2解除压缩,在显示器4上显示。这
一系列的动作都根据来自输入部5的指示,由控制部6控制。
图2是本发明的实施例中的数字存储媒体内构成的内容和管理信息
文件的目录结构图。本发明的特殊再现方法中,在目录PRGxxx(xxx是
16进制数)内,以程序单位,作为媒体对象数据文件MOVnnn.MOD(nnn
是16进制数)记录了由图像和声音数据构成的多媒体内容。各媒体对象
数据的信息记录在媒体对象信息文件MOVnnn.MOI中。当有与媒体对象数
据同时再现的静止画和文本数据时,分别记录在PICnnn.JPT和
TXTnnn.TXT文件中。另外,当同时再现多个图像数据时,在情景记述数
据文件SCNnnn.SML中记录要同时再现哪个MOVnnn.MOD。
全体程序的管理信息记录在管理目录MGR_INFO内的管理数据文件
MGR_DATA、程序管理文件PGR_MGR和再现一览表管理文件PLST_MGR中。
图3是本发明的实施例中管理数据文件MGR_DATA的结构图。由
管理数据的类型DataType、它的大小DataSize、版本Version、当在途中
停止再现时记录该位置的ResumeMarker、以及用户能自由地记述的文本
信息TextInfo构成。
图4是本发明的实施例中程序管理文件PRG_MGR的结构图。由程
序管理的类型DataType、它的大小DataSize、所有程序的再现时间
PlayBackDuration、程序信息的数量NumPrgInfo和程序信息的表(具体
地说,PrgInfoTbl[NumPrgInfo]的阵列)构成。
图5是PRG_MGR内的程序信息PRG_INFO的结构图。包含程序信
息的类型DataType、它的大小DataSize,特别是在区域51中,记录了该
程序的ID号码PrgID,在区域52中,记录了再现时间PlaybackDuration
的信息。作为记录的信息,还由以下部分构成:决定是否保护内容、是
否使用情景记述的属性、表示使用哪种编码方式的一览信息Profile、用
户能自由地记录首部等的文本信息TextInfo、指定了该程序的代表图像
所在位置的RepPos、该程序中所含的媒体对象的数量NumRefMoi(它
在区域53中)、各媒体对象的对象ID和再现时间、从属对象的有无一览
表RefMoiTbl[大小由NumRefMoi给出]、用户能在程序中间自由设置的
标记信息的数量NumMarker和标记位置的一览表MarkerTbl[大小为
NumMarker]。
图6是再现一览表管理文件PLST_MGR的结构图,由该文件的类型
DataType、它的大小DataSize、用户生成的再现一览表信息的数量
NumPlstInfo和再现一览表信息的一览表PLST_INFO(具体地说,
PlstInfoTbl[大小为NumPlstInfo])构成。
图7是PLST_MGR内的再现一览表信息PLST_INFO的结构图,由
该信息的类型DataType、它的大小DataSize、一览表的再现时间
PlaybackDuration、一览表的属性Attribute、文本信息TextInfo、代表图
像的场所指定RepPos、在该再现一览表中指定的程序数NumPrgID、再
现程序信息(程序的对象ID ObjID、再现开始时StartPos、结束时EndPos)、
标记信息数NumMarker、用时间表示标记信息的位置的表
MarkerTbl[NumMarker]构成。
图8是程序目录内记录的媒体对象信息文件*.MOI的结构图,由文
件的类型DataType、大小DataSize、媒体对象的再现时间
PlaybackDuration、文本数据中使用的文字代码等的属性TxtAttr、时间检
索表的类型标识符TstType、标识符TstType的值(1、2)、时间检索表的
时间分辨率TstInterval、用分数表现的一帧的时间FrameTime、时间检索
表入口数NumTstEntry1、或NumTstEntry2、总是能从该位置开始再现的
压缩编码单位MODU的信息表数NumModui、MODU的信息表
MODU_INFO(具体地说,ModuiTbl[大小为NumModui])、与各入口点
对应的MODU号码ModuNumber、从前一个入口帧到时间检索入口(即
到入口点)间的帧数EntryFrameDiff、对应的MODU的位置(字节)
ModuOffset、标识符Tsttype的值为3时用分数表示的一帧的再现时间的
值FrameTime、一个数据包的大小PacketSize、一个数据包内的帧数
NumFrame构成。
图9是*.MOI内的MODU信息MODU_INFO的结构图,由MODU
的先头帧即入口帧的大小EntrySize、构成MODU的帧数ModuPbTime、
MODU的大小ModuSize构成。
如图17所示,在数字存储媒体中,记录了多个,例如两个程序。在
第一个程序中(PRG001)记录了孩子们的运动会,在第二个程序
(PRG002)中记录了野餐。关于运动会程序(PRG001)的管理信息记
录在图5的程序信息PRG_INFO1中,关于野餐程序(PRG002)的管理
信息记录在图5的程序信息PRG_INFO2中。在运动会程序(PRG001)
中,程序ID即PRG001记录在区域51中,该程序全体的通常再现时间
的信息记录在区域52中。程序信息PRG_INFO2也和程序信息
PRG_INFO1包含同样的信息。程序中分别包含一个或多个媒体对象。
如图17所示,在运动会程序(PRG001)中,例如,记录了三个媒
体对象。第一个媒体对象(MOV001)中,记录了运动会的开幕式;第
二个媒体对象(MOV002)中,记录了100米跑;第三个媒体对象
(MOV003)中,记录了运动会的闭幕式。这三个媒体对象可以是操作
者操作输入部的数值键,通过编辑记录的;也可以是原来的记录。图5
的程序信息PRG_INFO1的区域53记录了“3”,这个“3”代表程序1
中包含三个媒体对象。
各媒体对象中分别包含多个媒体对象数据单元MODU。各MODU
通常从用MPEG压缩定义的I帧开始。即,把从I帧的开头到下一个I
帧开始之前作为一个媒体对象数据单元MODU。图17中,表示了
MODU1#1~MODU1#9,在各MODU的开头表示了I帧。把该开头的I
帧称作入口帧。即入口帧是MODU的开头帧,是解码器能开始解码的帧,
通常是I帧。有时也可以是P帧。接在入口帧后面的多个帧由P帧和B
帧构成。在图17中,表示为E1~E9。
另外,各媒体对象MOV,每隔再现的给定时间隔ΔT,例如每5秒,
在管理信息设置用于使检索变得容易的标记即时间检索入口TSE(即入
口点)。给定时间隔ΔT代表时间检索表的分辨率。具体地说,各时间检
索入口TSE由图8所示的区域81中记录的时间检索表决定。如图8所
示,在时间检索表中包含了以下信息:表示包含了时间检索入口的MODU
号码的信息、表示从时间检索入口的时刻开始到前一个入口帧间的帧数
的信息、用字节数表示的从媒体对象的开头到该前一个入口帧间的数据
量即数据偏离量即到该MODU的位置的信息。
例如,在图17中,表示了时间检索入口TSE1、TSE2、TSE3。在决
定了时间检索入口TSE1的时间检索表中,记录了作为MODU号码的信
息即MODU#3,作为表示从时间检索入口到前一个入口帧之间的帧数的
信息即FN1(=3),从媒体对象的开头到该前一个入口帧之间的数据量即
数据偏移量OF3。另外,在决定了时间检索入口TSE2的时间检索表中,
记录了作为MODU号码的信息即MODU#5,作为表示从时间检索入口
到前一个入口帧之间的帧数的信息即FN2(=8),从媒体对象的开头到该
前一个入口帧之间的数据量即数据偏移量OF5。在决定了时间检索入口
TSE3的时间检索表中,记录了作为MODU号码的信息即MODU#9,作
为表示从时间检索入口到前一个入口帧之间的帧数的信息即FN3(=4),
从媒体对象的开头到该前一个入口帧之间的数据量即数据偏移量OF9。
这样,在图8的区域81中,当存在多个时间检索入口时,反复记录多个
时间检索表。
下面,说明在具有所述结构的数字存储媒体中,实现随机存取再现、
快进、快退再现的方法。
对从某媒体对象的中间点开始再现的情况进行说明。例如,用图18
的程序框图说明从图17的再现开始时间PBT(离程序1的开头12分38
秒的时刻)开始再现的情形。图18的控制由控制部6进行。
在步骤S1中,读程序号码和再现开始时间PBT。从再现中断的时
刻开始再现时,把图3的区域31中记录的恢复标记即程序ID和偏移时
间作为程序号码和再现开始时间PBT读出。另外,当再现用户编辑的特
定期间时,把图7的再现信息的区域71中的程序对象ID和再现开始时
间刻作为程序号码和再现开始时间PBT读出。在图17的例子中,读出
程序1和再现开始时间PBT=12分38秒。
在步骤S2中,n复位为n=1。N表示媒体对象的号码。
在步骤S3中,读出第n个媒体对象的再现时间PTn。该再现时间PTn
记录在图8的区域82中。图17的例子中,从区域82读取的第一个媒体
对象1(MOV001)的再现时间为12分30秒。
在步骤S4中,从再现开始时间PBT中减去再现时间PTn,把结果
的差作为新的再现开始时间PBT存储起来。在图17的例子中,
12分38秒-12分30秒=8秒。
在步骤S5中,判断差值即新的再现开始时间PBT是否为负。如果
为正,则进入步骤6。
在步骤6中,使n增大。这时n=2。重复步骤S3、S4、S5。
计算出8秒-10分=-9分52秒;
差值为负。当差值为负时,进入步骤S7。即从步骤S3到S6,从再
现开始时间的值、从最初的媒体对象分别依次减去各自的再现时间,通
过把减得得差与下一个媒体对象的再现时间进行比较,检测再现开始时
间是存在的媒体对象。
在步骤S7中,在差值中加上最后减去的再现时间PTn,使再现开始
时间PBT变为正的值。在该例子中,再现开始时间PBT是8秒。
在步骤8中,把最后得到的差值即再现开始时间PBT除以给定时间
隔ΔT,得到商q和余数Tr。在该例子中:
8秒/5秒=1余3秒;
即通过步骤S7、S8,使用差值和该给定时间隔ΔT,检测与再现开
始时间PBT在内圈中最近的时间检索入口TSEq和从该时间检索入口到
再现开始时间之间的残存时间Tr。
在步骤S9中,从第q个时间检索入口TSEq的时间检索表读出偏移
量OFq和帧数。在该例子中,从时间检索表TSE1读出偏移量OF3,时
间检索入口的时刻到前一个入口帧之间帧数FN1(=3)。
在步骤S10中,访问从步骤S1得到的程序开头开始偏移量为Fq的
位置。在该例子中,访问从程序1的开头开始偏移量为OF3的位置。
在步骤S11中,对步骤S9中得到的帧数FNq帧进行解码,访问时
间检索入口TSEq。在该例子中,包含入口帧E3,3帧被解码,访问时间
检索入口TSE1。另外,虽然在这里被解码,但是在屏幕上不显示。
在步骤S12中,开始计时器的计时。这期间,虽然继续解码,但是
不显示。
在步骤S13中,判断计时器的计时值Tm是否大于残存时间Tr。该
例子中,计时器计时3秒。
在步骤S14中,在屏幕上显示解码的结果。
这样,就能从希望的再现开始时间开始,在屏幕上开始再现。
另外,在步骤S8中,把再现开始时间PBT除以给定时间隔ΔT,得
到商q和余数Tr,但是,也可以从再现开始时间PBT减去给定时间隔Δ
T,如果相减结果为正,就反复进行减法运算,直到结果小于给定时间隔
ΔT。进行减法运算的次数为q,剩下的值是余数。
接着,参照图19、图20、图21说明快进、快退的再现。图19、图
20、图21的控制由控制部6进行。
在步骤S20中,读出由恢复标记指定的再现开始时间PBT。
在步骤S21中,检测再现开始时间PBT的前一个时间检索入口
TSEn。步骤S20、S21执行与图18所示的步骤S1~S9相同的步骤。
在S22中,从时间检索入口TSEn的时间检索表读取偏移量Ofn,
访问时间检索入口TSEn。
在步骤S23中,对时间检索入口帧En进行解码。
在步骤S24中,显示被解码的时间检索入口帧En。
在步骤S25中,判断是快进(以高速沿正向再现)还是快退(以高
速沿反向再现)。如果是快进,就进入步骤S26;如果是快退,就进入步
骤S28。
在步骤S26中,检测下一个时间检索入口E(n+1),打开与它对应
的表。具体如图20所示。
在步骤S27中,在再现开始时间PBT中加上ΔT,回到步骤S22。
在步骤S28中,检测前一个时间检索入口E(n-1),打开与它对应
的]表。具体如图21所示。
在步骤S29中,把再现开始时间PBT减去ΔT,返回到步骤S22。
在步骤S30中,在现在访问的媒体对象中,判断是否有决定了下一
个时间检索入口的表。如果有,打开该下一个时间检索入口的时间检索
表。如果没有,进入步骤S31。
在步骤S31中,判断是否有下一个媒体对象。如果有,进入步骤S32,
如果没有,进入步骤S33。
在步骤S32中,打开新决定的媒体对象的最初的时间检索入口TSE
的时间检索表。
在步骤S33中,判断是否有下一个程序。如果没有,结束该程序流
程。如果有,进入步骤S34。
在步骤S34中,读下一个程序ID。
在步骤S35中,访问新决定的程序。
在步骤S36中,打开新决定的程序的最初媒体对象的最初时间检索
入口TSE的时间检索表。
如果在S30、S32、S36打开下一个时间检索入口TSE的时间检索表,
就进入图19的步骤S27,把再现开始时间PBT加上ΔT,对离由步骤S22、
S23、S24检测的时间检索入口TSE最近的入口帧En解码,在屏幕上显
示。
图21表示了步骤S28的具体过程。
在步骤S40中,在现在访问的媒体对象中,判断是否有决定了前一
个时间检索入口的表。如果有,打开该前一个时间检索入口的时间检索
表。如果没有,进入步骤S41。
在步骤S41中,判断是否有前一个媒体对象。如果有,进入步骤S42,
如果没有,进入步骤S43。
在步骤S42中,打开新决定的媒体对象的最后的时间检索入口TSE
的时间检索表。
在步骤S43中,判断是否有前一个程序。如果没有,结束该程序流
程。如果有,进入步骤S44。
在步骤S44中,读前一个程序ID。
在步骤S45中,访问新决定的程序。
在步骤S46中,打开新决定的程序的最后媒体对象的最后时间检索
入口TSE的时间检索表。
如果在S40、S42、S46打开前一个时间检索入口TSE的时间检索表,
就进入图19的步骤S29,把再现开始时间PBT减去ΔT,对离由步骤S22、
S23、S24检测的时间检索入口TSE最近的入口帧En解码,并在屏幕上
显示。
下面,进一步说明这些动作。
首先,数字存储媒体以图10所示的步骤记录多媒体内容。
在图10中,首先,如果检测到有新的记录媒体1连接到记录再现装
置2,就在记录媒体1内,生成Root目录、MGR_INFO目录、PRG_MGR
目录,初始化DataType的值。
接着,记录再现装置2如果检测到用户设置了记录模式,就调查Root
目录内所有程序号码,决定新生成的程序号码nnn,生成程序目录
PRGnnn。通常,已存在的最大号码为1,如果不行,使用空号码。如果
这也不行,对用户提出警告。
然后,如果检测出用户按了Rec键,把从相机3输入的图像内容用
MPEG等压缩,在PRGnnn内,作为媒体对象数据MOV001.MOD记录
的同时,生成媒体对象信息文件MOV001.MOI。
接着,如果检测到用户的Stop操作,结束MOV001.MOD文件的记
录,把如8所示各种关联信息记录在媒体对象信息文件MOV001.MOI中。
使用预先决定的值,一边检查记录了MODU信息MODU_INFO、入口
数NumTstEntry1或2的值、入口信息(ModuNumber、EntryFrameDiff、
ModuOffset等)的文件MOV001.MOD,一边决定时间检索表的分辨率
TstInterval。
另外,当用户指定了与拍摄的图像重叠、要同时再现的静止画面时,
把这些时间关系记录在情景记述数据文件SCN001.SML中。
接着,更新程序管理文件PRG_MGR内对应的程序信息PRG_INFO
内的数据大小DataSize、再现时间PlaybackDuration、媒体对象信息的数
量NumRefMoi和媒体对象信息表RefMoiTbl。
用户每次按Rec键,就一边更新媒体对象数据文件号码,边重复所
述处理。
如果检测出记录模式OFF,就更新程序管理器PRG_MGR的大小
Datasize、全再现时间PlaybackDuration、程序数NumPrgInfo。
接着,用图11表示记录的程序的编辑步骤。如果检测到用户设置了
编辑模式,就使用程序管理文件PRG_MGR和其中的程序信息
PRG_INFO,在画面上显示数字存储媒体1内记录的程序的一览(首部、
再现时间、代表图像等)。
如果检测到用户设置了新再现一览表信息生成模式,就在再现一览
表管理器PLST_MGR文件内,新追加再现一览表信息领域PLST
_INFO,记录图7所示的再现一览表信息PLST_INFO的首部部分的信
息(类型DataType、属性Attribute等)。
接着,如果用户指定了再现的程序号码、用时间指定了开始位置和
结束位置,在再现一览表信息PLST_INFO内,把该位置作为再现程序
信息,记录程序标识符ObjID、再现开始时间StartPos、结束时EndPos。
下面,根据用户指定的下一个程序的再现开始位置和结束位置,追
加记录下一个再现程序信息。
最后,如果用户指定了再现一览表的登记,就更新记录再现一览表
信息的剩余首部信息(大小Datasize、生成时间CreateTime、再现时间
PlayBackDuration、程序信息的数量NumPrgTbl),更新再现一览表管理
器PLST_MGR的大小DataSize、再现一览表的数量NumPlstInfo等。
当用户指定了对已经存在的再现一览表信息PLST_INFO的修正模
式时,在画面中显示指定的再现一览表信息,根据用户的指定,修改程
序号码、再现开始时间、结束时等。
当用户指定了部分删除时,如果删除范围覆盖程序全体,就删除该
程序的全部目录,删除程序管理器PRG_MGR内对应的程序信息,更新
大小DataSize、再现时间PlaybackDuration、程序数NumPrgInfo等关联
信息值。
接着,用图12表示了根据再现一览表进行通常再现的步骤。用户指
定再现一览表信息,如果检测到按了Play键,从最初开始依次读出再现
一览表管理器PLST_MGR文件内指定的再现一览表信息PLST_INFO内
的再现程序信息,由要再现的程序的对象标识符PrgID可知要再现哪个
程序,用该程序的再现开始时间StartPos依次减去程序管理器PRG_MGR
内对应的程序信息PRG_INFO中记述的媒体对象表RefMoiTbl内的媒体
对象的再现时间,得到第一个为负时的媒体对象信息MOVppp.MOI的
号码ppp。
然后,如图15所示,一边从该前一次的再现开始时间StartPos的残
差反复减去该媒体对象信息内的时间检索表的时间分辨率TstInterval的
值,一边依次隔三跳四地读出入口点,从再现开始时间StartPos的残差
第一次变为负时的入口的入口点#n所带MODU位置ModuOffset#n代表
的数据位置开始,依次开始读出媒体对象数据MOVppp.MOD,提供给
MPEG解码器,如果从该MODU入口帧读出的帧数等于EntryFrameDiff
的值,重新计算以后的帧再现时间的和,在该值变为再现开始时间StartPos
的残差以上的时刻,开始向显示器4提供再现输出。
在媒体对象信息中如果指定了从属媒体对象,代替媒体对象数据
MOVppp.MOD内的音频信息包,再现从属媒体对象。另外,当有情景
描述数据SCNnnn.SML时,如果指定了其中的静止画面PICppp.JPG或
文本数据TXTppp.TXT,就同时再现它们。
一边从再现一览表信息内的再现结束时EndPos的值减去到读出的媒
体对象数据的位置为止的再现时间的合计,一边继续进行再现,在再现
结束时EndPos的值变为负的时刻,结束媒体对象数据的读出。
接着,用与所述同样的步骤,继续进行再现一览表信息内指定的下
一个程序的再现。
如果再现一览表信息内的所有程序的再现结束了,在这一时刻,结
束媒体对象数据的读出,停止基于再现一览表的再现。
然后,参照图13,说明随机存取再现的步骤。如果检测到用户输入
了再现开始程序、再现开始时间、结束时,按了Play键,就从最初开始
依次调查程序管理器PRG_MGR内对应的程序信息中记述的媒体对象ID
表RefMoiTbl,依次加上媒体对象的信息MOVnnn.MOI所带的再现时
间,得到第一个超过用户指定的再现开始时间的媒体对象信息
MOVppp.MOI。
接着,把用户指定的再现开始时间减去至此读出的媒体对象信息中
所述的再现时间的合计值的结果一边反复减去现在的媒体对象信息
MOVnnn.MOI内的时间检索表的时间分辨率TimeInterval的值,一边依
次读出入口点,从用户指定的再现开始时间的残差值第一次变负的入口
的入口点所对应的MODU的位置ModuOffset,依次读出媒体对象数据
MOVppp.MOD,提供给MPEG解码器,在从该MODU的入口帧读出的
帧的合计时间变为用户指定的再现开始时间的残差值以上的时刻,以与
所述再现一览表再现的各项中所述的相同步骤,开始再现的输出。
在媒体对象信息中如果指定了从属媒体对象标识符SubObjID,代替
媒体对象数据MOVppp.MOD内的音频信息包,读出从属媒体对象后,
再现它。另外,当有情景描述数据SCNnnn.SML时,如果指定了其中的
静止画面PICppp.JPG或文本数据TXTppp.TXT,同时再现它们。
在再现时间的合计超过用户指定的再现结束时间的时刻,停止再现。
然后,参照图14说明快进或快退再现的步骤。如果检测到用户按了
快进或快退再现键,就得到管理数据MGR_DATA内的恢复标记
ResumeMarker所指定的程序号码。在图3所示恢复标记ResumeMarker
中,存储了再现被中断的时刻信息。即恢复标记中记录了被中断的是哪
个程序,从该程序的最初开始在经过了多长时间的时刻程序被中断。从
恢复标记的再现重新开始时间依次减去图4的程序管理器PRG_MGR内
对应的程序信息PRG_INFO(图5)中记述的媒体对象信息表RefMoiTbl
(区域54)中已经记述的媒体对象的再现时间,得到恢复标记第一次变
为负时的媒体对象信息MOVppp.MOI。
而且,如图16所示,把直到此前为止的恢复标记的再现重新开始时
间的残差除以现在的媒体对象信息MOVppp.MOI内的时间检索表的时
间分辨率TstInterval的值,得到时间检索入口号码#n。从该第#n个入口
的MODU位置ModuOffset开始,读出媒体对象数据MOVppp.MOD,
并提供给MPEG解码器,开始再现的输出。然后,从MODU信息表
ModuiTbl读出第#n个MODU信息MODU_INFO,在读完其中的入口帧
的大小EntrySize所表示的字节数的数据的时刻,移到下一个MODU的
入口帧的开头,同样,读出与入口帧的大小相当的媒体对象数据
MOVppp.MOD,并提供给MPEG解码器,再移到下一个MODU,通过
同样地进行再现,来进行快进。
当用户指定了快退时,采取同样的做法,在再现了最初的入口帧之
后,移动到前一个MODU,通过同样地进行入口帧的再现,来实现快退。
在用户放开了快进或快退键的时刻,把该时刻的程序ID和再现位置
记录到恢复标记上,结束快进或快退再现。
如以上所述,利用本发明,就能比较容易地访问用户指定的任意位
置,而且,在进行快进、反向再现等特殊再现时,能比较容易地只读出
必要的数据部分,高效地进行特殊再现。