具体实施方式
按下面根据本发明的数据记录介质,记录装置,和播放装置的优选实施方式所示的顺序,参考附图来描述DVD盘,DVD记录器,和DVD播放机。
特别是在下面本发明的概要的部分8和本发明的详细实施方式的部分9中描述了本发明的关键点。虽然本发明的关系可以改变,下面的所有内容描述了本发明的各个方面。
1.DVD记录器系统的概要
2.DVD记录器的功能概要
3.DVD盘的概要
4.再现的AV数据的概要
5.AV数据信息和播放控制
6.播放功能的基本操作
7.记录功能的基本操作
8.本发明的详细实施方式
下文中使用下面的术语。
“TS2PS转换”是指将MPEG传送流(MPEG_TS)转换成MPEG程序流(MPEG_PS)。
“DVD格式”是指DVD-Video标准格式和DVD-Video记录标准格式二者,各作为MPEG_PS实施。
1.DVD记录器系统的概要
图1示出了与其它系统有关的典型的DVD记录器和DVD记录器使用的设备。
如图1所示,将作为一种光盘的DVD装载到用于把视频数据记录到盘上和从盘再现视频数据的DVD记录器中。通常使用遥控设备操作DVD记录器。
输入到DVD记录器的视频数据可以是具有模拟信号的模拟广播范例和数字信号的数字广播范例的模拟信号或数字信号。一般来讲,由内置于电视中的接收机来接收和解调模拟广播,并作为NTSC或其它模拟视频信号输入到用于记录的DVD记录器。由数字广播接收机(机顶盒(STB))将数字广播解调成数字信号,输入到用于记录的DVD记录器。
由DVD记录器再现记录到DVD的视频数据并向外输出。与视频输入相同,视频输出可以是模拟信号或数字信号。模拟信号直接输入到电视,数字信号通过STB并转换成模拟信号,然后,输入到用于视频再现的电视。
也可由除DVD记录器之外的设备,例如DVD可携式摄像机或个人计算机向DVD记录和从DVD再现视频数据。存储由除DVD记录器之外的设备记录的视频数据的DVD盘在加载到DVD记录器中时也由DVD记录器再现。
应该指出,音频数据通常与模拟广播或数字广播的视频数据相关联,该音频数据同样由DVD记录器记录和再现。
此外,视频数据通常是运动图像数据,但是,例如当在使用DVD可携式摄像机的快相功能捕获静止图像(照片)时也包括静止图像。
STB和DVD记录器之间的数字接口可采用IEEE1394,ATAPI,SCSI,或其它标准。
应该指出,NTSC信号是指如上所述类型的、在DVD记录器和电视之间通过的分量信号,但是,可使用发送分开的亮度和色差信号的分量信号。此外,把用于在AV分量和电视之间传送视频的接口从模拟接口改变成数字接口,例如,当前研究的DVI,我们预期数字接口也可用于连接DVD记录器和电视。
2.DVD记录器的功能概要
图2是DVD记录器的功能方框图。驱动设备具有从DVD-RAM盘100读取数据的光拾取器101,ECC(纠错码)处理器102,轨道缓存器103,用于改变轨道缓存器103的输入和输出的开关104,编码器105,和解码器106。
如图中所示,利用作为一个扇区(=2KB)的最小记录单元将数据记录到DVD-RAM盘100。此外,16个扇区等于一个ECC块,ECC处理器102使用ECC块单元施加纠错处理。
除了用DVD作为数据存储介质外,DVD记录器也可使用半导体存储卡或硬盘驱动器。图4是具有半导体存储卡和硬盘驱动器的DVD记录器的方框图。
应该指出,1个扇区可以是512个字节,8KB,或其它尺寸,ECC块可以包含一个扇区,16个扇区,32个扇区,或其它配置。预计扇区尺寸或每个ECC块中扇区的数量将随着可记录数据容量的增加而增加。
轨道缓存器103是用于以可变的比特速率(VBR)记录AV数据的缓存器,以便将AV数据更有效地记录到DVD-RAM盘100。DVD-RAM盘100的写速率是固定速率,但AC数据的比特率(Vb)根据AV内容(在视频内容的情况下是图像)的复杂性而改变。使用轨道缓存器103吸收该比特率的差异。
为了更有效地使用该轨道缓存器103,可将AV数据分布地记录到盘100。这将参考图3A和3B进一步描述。
图3A示出了盘的地址空间。如图3A所示,当把AV数据记录到分开的连续空间[a1,a2]和[a3,a4]时,通过在从a2搜寻到a3时把轨道缓存器103中累积的数据提供给解码器106来使AV数据连续播放。此时,存储到轨道缓存器的数据量的变化如图3B所示。
当从地址a1开始读取时,AV数据从时间t1输入到轨道缓存器103,并且从轨道缓存器103输出的数据也开始。数据则以速率(Va-Vb),即,向轨道缓存器103的输入速率(Va)与轨道缓存器的输出速率(Vb)之差在轨道缓存器103中累积。持续这样,直到搜索区到达a2,即,直到时间t2。如果在此期间在轨道缓存器103中累积的数据是B(t2),则可通过从时间t2到从地址a3开始读取的时间t3逐步地删除轨道缓存器103中累积的数据B(t2)来将数据提供给解码器106。
换句话说,在搜寻操作开始前已经读取至少特定量的数据([a1,a2])的情况下,在搜寻操作期间可保持AV数据的连续供给。
当由下面的等式表示在转换到ECC块计数(N_ecc)时能够连续输出AV数据所需的连续区的尺寸:
N_ecc=Vb*Tj/(N_sec*8*S_size)*(1-Vb/Va)
其中N_sec是ECC块中扇区的数量,S_size是扇区尺寸,Tj是搜寻性能(最大搜寻时间)。
在连续区中也可能出现有缺陷扇区。由下面的等式表示这种情况下所需的连续区的尺寸:
N_ecc=dN_ecc+Vb*Tj/(N_sec*8*S_size)*(1-Vb/Va)
其中dN_ecc是允许的有缺陷的扇区的尺寸,Ts是跳过连续区内有缺陷扇区所需的时间。该等式还返回连续区的尺寸作为ECC块的数量。
使用从DVD-RAM盘读取数据,即数据播放作为例子描述了上述例子,很显然,可以以同样的方式处理将数据写入,即记录到DVD-RAM盘。
在以特定尺寸或更大的块记录数据的情况下,即使将AV数据记录到盘上的分开记录区,也可用DVD-RAM盘实现连续数据的播放和记录。在DVD术语中,这些连续区被称为连续数据区(CDA-Contiguous DataAreas)。
3.DVD盘的概要
图5A和5B示出了DVD-RAM,即,可记录光盘的物理结构和平面图。DVD-RAM盘通常容纳在装载到DVD记录器中的盘盒中。盘盒的目的是保护盘。然而,如果可用某些其它方式保护记录表面,可直接将DVD-RAM盘装载到DVD记录器,而不容纳在盘盒中。
使用相变记录技术记录DVD-RAM盘。由扇区单元管理盘上的数据,并加入地址用于数据存取。使用16个扇区的组进行纠错,将纠错码加到其中,并被称为ECC块。
图5A示出了DVD-RAM盘,即可记录光盘的记录区。如图所示,DVD-RAM盘在内周具有引入区,在外周具有引出区,和在引入和引出区之间的数据区。
把在利用光拾取器存取盘时用于稳定伺服的参考信号,和用于区分DVD-RAM盘与其它类型的介质的ID信号记录到引入区。
相同的参考信号也记录到引出区。
将数据区分割成扇区(每个扇区2048字节)作为最小存取单元。还将数据区分成多个区域,以便在记录和播放期间应用被称为区域恒定线速度(Z-CLV)的旋转控制技术。
图5A示出了DVD-RAM盘上同心形成的多个区域。在该例子中,将DVD-RAM盘分成24个区域,标为区域0至区域23。在每个区域中不同地设置DVD-RAM的旋转角速度,以使其在接近内周时增加,并且使光拾取器在相同区域中存取数据时恒定。这样增加了DVD-RAM的记录密度,并能够在记录和播放期间更容易地进行旋转控制。
图5B示出了当通过盘半径的视线看去时,图5A中同心排列的引入区,引出区,和区域0至23。
引入区和引出区各包括缺陷管理区(DMA)。缺陷管理区记录指示包含缺陷的扇区的定位的位置信息,和指示替换有缺陷扇区的扇区位于替换区中何处的替换扇区位置信息。
每个区域包括替换区和未使用区之间的用户区。用户区是可由文件系统作为记录区使用的区。替换区是在存在有缺陷区时替换使用的区。未使用的区是未用于数据记录的区,并且近似于两个轨道宽。将扇区地址记录到每个区域中相邻轨道中的相同位置,但对于Z-CLV,将扇区地址记录到于区域边界相邻的轨道中的不同位置。因此,提供该未使用的区以防止与区域边界相邻的轨道中的扇区地址检测误差。
因此,在区域边界不存在未用于数据记录的扇区。因此,将逻辑扇区编号(LSN)按序分配给DVD-RAM盘的用户区中从内周起的每个物理扇区,以便仅连续识别用于数据记录的那些扇区。
图6示出了包括逻辑扇区的DVD-RAM盘的逻辑数据空间。逻辑数据空间被称为“卷空间”并用于记录用户数据。
利用文件系统管理卷空间中记录的数据。具体地说,一组存储数据的扇区是一个“文件”,将一组文件作为一个“目录”管理的容量结构信息记录到容量区的开始和结尾。在本实施方式中使用UDF文件系统并符合ISO13346。
上述的扇区组不必在卷空间内连续,而是可分成分开的部分。作为构成每个文件的扇区,因此,文件系统管理卷空间中的每组连续扇区作为一个长度,并管理每个文件作为一组相关长度。
图7示出了记录到DVD-RAM的目录和文件。根的下面是VIDEO_RT目录,VIDEO_RT下面是包含播放数据的各种对象文件和包含诸如播放顺序和各种属性之类的管理信息的VIDEO Manager文件。
对象是符合MPEG标准的数据结构,包括PS_VOB,TS1_VOB,TS2_VOB,AOB,POB,和MNF(制造商的专用数据)。
PS_VOB,AOB,和POB是MPEG程序流(PS),TS1_VOB和TS2_VOB是MPEG传送流(TS)。程序流具有专为把AV数据存储到分组介质而设计的数据结构。传送流具有目的在于通信介质的数据结构。
PS_VOB,TS1_VOB和TS2_VOB是主要视频数据的对象,但包含视频数据和音频数据。在原理上,由DVD记录器以明确管理的内部图像结构来对TS1_VOB对象编码。在DVD记录器外部对TS2_VOB编码,部分内部图像结构和数据结构是未知的。
通常,TS1_VOB对象是由DVD记录器编码的、从外部输入到传送流的模拟视频信号,TS2_VOB对象是直接记录到盘上,而不由DVD记录器进一步编码的、从外部输入的数字视频信号对象。就是说,当DVD记录器记录数字广播时,一般使用TS2_VOB。
AOB和POB是MPEG程序流。AOB对象包含主要音频数据,POB对象包含主要静止图像。
MNF(制造商的专用数据)块用于存储专用于特定制造商的信息。
上面的“主要视频数据”和“主要音频数据”指示分配了一个高比特率。VOB在视频和类似应用中使用,AOB在音乐应用中使用。
4.再现AV数据的概述
图8示出了作为AV对象记录到DVD的MPEG数据的结构。
如图8中所示,视频流和音频流被分成段,并且被多路复用。MPEG标准将多路复用的流称为系统流。在DVD的情况下,包含有DVD专用设置的系统流被称为VOB(视频对象(Video OBject))。把分段单元称为数据包(pack)和数据分组(packet),分段单元大约2KB大小。
根据MPEG标准编码视频流,用可变比特率对其进行压缩,使得复杂的图像,例如,包含大量运动的图像,比特率增大。将MPEG流中的图像编码为I-图像,P-图像,或B-图像。I-图像是空间压缩和在每个帧内完成的。P-图像和B-图像是利用帧间相关临时压缩的。在MPEG中,把包括至少一个I-图像的一系列图像称为图像组(GOP)。GOP是用于快速播放或其它专门播放模式的存取点,由于存在至少一个帧内压缩的I-图像,这是可行的。
除了利用MPEG音频之外,可以利用AC-3,LPCM,或其它编码技术编码DVD的音频流。
同样如图8中所示,视频对象单元(Video Object Unit)(VOBU)是将GOP的视频数据与相关的音频数据一起多路复用的数据单元。视频管理数据也可包括在VOBU中作为首部信息。
参考图8说明的系统流中包括一个程序流(PS)和一个传送流(TS)。如上所述,程序流具有用于包介质的数据结构,传送流数据结构是用于通信媒介的。
图9示出了程序流和传送流数据结构的概念。
程序流包含固定长度的数据包(pack),数据包是用于数据传送和多路复用的最小单元。每个数据包包含一个或更多的数据分组(packet)。数据包和数据分组都具有一个首部部分和一个数据部分。在MPEG中,把数据部分称为有效负载(payload)。为了与扇区的尺寸兼容,DVD中数据包的固定长度是2KB。一个数据包可以包括多个数据分组,但是,由于存储DVD视频和音频的数据包仅包含一个数据分组,因此,除了特殊情况之外,一个数据包等于一个数据分组。
传送流的数据传送和用于多路复用的单元包含固定长度TS数据分组。为了与一种通信标准TAM传送兼容,TS数据分组的尺寸是188字节。一个或更多的TS数据分组形成一个PES数据分组。
PES数据分组的概念对程序流和传送流是共同的,并且数据结构相同。存储在程序流数据包中的数据分组直接形成PES数据分组,并且一组一个或多个传送流TS数据分组形成一个PES数据分组。
PES数据分组是最小编码单元,并且存储具有共同编码的视频数据和音频数据。更具体地讲,同一PES数据分组中不存在用不同编码方法编码的视频数据和音频数据。但是,如果编码方法相同,那么不需要确保图像边界和音频帧边界。如图9中所示,将一帧存储到多个PES数据分组,并且可以把多个帧存储在一个PES数据分组中。
图10A至10C以及图11A至图11C示出了传送流和程序流的数据结构。
如图10A至10C和图12A至12D中所示,每个TS数据分组包含一个TS数据分组首部,适配字段(adaptation field),和有效负载。TS数据分组首部存储了一个数据分组标识符(PID),通过数据分组标识符可以识别TS数据分组所属的视频、音频、或其它流。
程序时钟参考(PCR)存储到适配字段。PCR是对流解码的装置的系统时钟(STC)的参考值。该装置一般根据PCR定时多路分解系统流,然后重组视频流和其它流。
解码时间标记(DTS)和显现时间标记(Presentation Time Stamp)(PTS)存储到PES首部。DTS代表存储到PES数据分组的图像或音频帧的解码定时,而PTS代表视频或音频输出的显现定时。
应当指出,不需要把PTS和DTS写入到每个PES数据分组的首部。在PTS和DTS写入到存储了I-图像的第一数据的PES数据分组的首部的情况下,可以解码和输出。
图12A至12D中详细示出了TS数据分组结构。
如图12B至12D中所示,适配字段存储了PCR和一个随机存取表示标志。这个标志指示,在视频或音频帧的开始位置的并且可以用作存取点的数据是否存储在相应的有效负载中。除了上述PID之外,TS数据分组首部也存储一个指示PES数据分组的开始的单元开始显现标志,和指示是否跟随着一个适配字段的适配字段控制数据。
图11A至11C示出了程序流中的数据包的结构。数据包包含数据包首部中的SCR,和存储在数据包中的数据分组的数据分组首部的stream_id。SCR在效用上等同于传送流PCR,而stream_id等同于PID。PES数据分组的数据结构也与传送流中的相同,并且PTS和DTS存储在PES的首部。
程序流和传送流之间的一个主要差别在于,传送流允许多个程序。也就是说,就程序单元而言,程序流仅可以携带一个程序,但是传送流可以同时发送多个程序。这意味着,播放装置必须能够识别构成传送流中携带的每个程序的视频流和音频流。
图13A和13C2示出了用于发送每个程序的音频流和视频流的结构信息的PAT表和PMAP表。如图13C1和13C2中所示,PMAP表存储了有关每个程序中使用的视频和音频流的组合的信息,而PAT表存储了有关程序和PMAP表的信息。因此,播放装置可以参考PAT表和PMAP表,以检测要输出的程序的视频和音频流。
下面参考图14A至14C说明上述程序流数据包和传送流TS数据分组是如何布置在盘上的。
如图14A中所示,在一个ECC块中有32个扇区。
如图14B中所示,形成一个程序流类型的视频对象(PS_VOB)的数据包(PS Pack)位于扇区的边界。这是由于数据包的尺寸和扇区的大小都是2KB。
但是,传送流格式的视频对象(TS1_VOB,TS2_VOB)是8KB单元并且包含在ECC块中。每个8KB单元包含18字节的首部区和在数据区中包含到达时间标记(ATS)信息的43个TS数据分组。ATS信息是由DVD记录器产生和增加的数据,并且指示DVD记录器从外部源接收数据分组的定时。
应该指出,图14C也示出了连续记录固定字节长度ATS和MPEG_TS数据分组的组合的MPEG_TS存储格式。
5.AV数据管理信号和播放控制
图15A至15B,以及图16A至16B示出了图7中所示的视频管理信息文件(视频管理程序)的数据结构。
视频管理信息包括,说明诸如对象记录在盘上的哪个位置之类的管理信息的对象信息,和说明对象的播放顺序的显现控制信息。
图15A示出了记录到盘的对象包括PS_VOB#1-PS_VOB#n,TS1_VOB#1-TS1_VOB#n,和TS2_VOB#1-TS2_VOB#n的例子。
如图15A所示,根据对象类型分开记录了PS_VOB信息表,TS1_VOB信息表,和TS2_VOB信息表。这些表中的每一个存储了每个对象的VOB信息。
VOB信息包括有关相应对象的一般信息,对象属性数据,用于将对象播放时间转换成一个盘地址值的存取映射表,和用于存取映射表的管理信息。一般信息包括相应对象的标识信息和对象记录时间。属性包括视频流编码模式之类的视频流属性(V_ATR),音频流的数量(AST_Ns),和如音频流编码模式之类的音频流属性(A_ATR)。
有两个为什么需要存取映射表的原因。第一个原因是,播放路径信息避免直接根据扇区地址值参考对象记录位置,而是,例如,可以根据对象播放时间间接参考对象位置。例如,作为编辑对象的结果,对象记录位置可以随RAM介质改变。如果播放路径信息直接根据扇区地址参考对象记录位置,那么这增大了必须更新的播放路径信息的量。但是,如果间接地根据播放时间参考对象,那么就不需要更新播放路径信息,而是仅需要更新存取映射表。
第二个原因是,音频流一般具有两个参考基准,时间基准和数据(比特流)基准,但是,二者之间的相关性是不完整的。
例如,对于MPEG-2Video,一种视频流编码国际标准,使用可变比特率(一种根据图像的复杂性改变比特率的方法)是正常的。在这种情况下,从流开始的数据量与播放时间之间没有比例关系,并且基于时间基准的随机存取是不可能的。使用存取映射表,通过时间基准与数据(比特流)基准之间的转换,解决了这一问题。
如图15A中所示,播放控制信息包括用户定义的播放路径信息表,原始播放路径信息表,和标题搜索指针。
如图16A中所示,存在两种类型的播放路径信息:由DVD记录器自动产生以说明对象记录期间记录的所有对象的原始定义的播放路径信息,和使用户能够自由定义一个特定播放顺序的用户定义的播放路径信息。播放路径信息被统称为有关DVD的程序链信息(PGC信息),用户定义的播放路径信息称为U_PGC信息,而原始播放路径信息称为O_PGC信息。U_PGC信息和O_PGC信息是列出了说明对象播放周期中的单元的单元信息的表。把O_PGC信息指示的对象播放周期称为原始单元(O_CELL),而把U_PGC信息指示的对象播放周期称为用户单元(U_CELL)。
单元利用对象播放开始时间和播放结束时间指示对象播放周期;通过上述存取映射表,将播放开始时间和结束时间转换成记录到盘上的对象的实际位置。
如图16B中所示,PGC信息指示的单元组定义了根据表中项目的次序顺序再现的连续播放顺序。
图17示出了对象、单元、PGC、和存取映射表之间的特殊关系。
如图17中所示,原始PGC信息50包含至少一个单元信息项60,61,62,63。
每个单元信息项定义了要再现的对象,以及对象类型和对象播放周期。PGC信息50中的单元信息项的次序定义了在再现对象时由每个单元定义的对象的播放顺序。
每个单元信息项(例如,单元信息60)包括一个指示特定对象的类型的Type 60a,标识一个特定对象的Object ID 60b,和对象中基于时间基准的开始显现时间Start_PTM 60c和结束显现时间Eed_PTM 60d。
在数据播放期间,从PGC信息50顺序读出单元信息60,并且把每个单元指定的对象再现由该单元定义的播放周期。
存取映射表80c将包含在单元信息中的开始和结束时间转换成盘上的对象地址。
这个存取映射表是上述映射表信息,并且是在记录对象时产生和记录的。为了产生映射表,必须分析对象数据的图像结构。更具体地讲,需要检测图9中所示的I-图像位置,和检测PTS和其它时间标记数据,即,图10A至10C和图11A至11C中所示的I-图像播放时间。
下面说明在产生PS_VOB,TS1_VOB,和TS2_VOB映射表信息时发生的问题。
如参考图1说明的,PS_VOB和TS1_VOB最初是通过DVD记录器把接收的模拟广播编码成MPEG流产生的。因此,I-图像和时间标记数据是由DVD记录器产生的,流的内部数据结构对于DVD记录器来说是已知的,并且可以毫无问题地产生映射表信息。
同样如参考图1说明的那样,TS2_VOB是一个由DVD记录器没有经过中间编码直接记录到盘上的接收数字广播。由于记录器不像记录PS_VOB时那样产生时间标志信息和确定I-图像位置,DVD记录器不知道流的内部数据结构,因此,必须从记录的数字流检测这个信息。
为此,DVD记录器如下面说明的那样,针对将外部编码的流记录到记录器的TS2_VOB的映射表信息来检测I-图像和时间标记信息。
首先,通过检测图12A至12D中所示的TS数据分组适配字段的随机存取显现信息来检测I-图像。通过检测PES首部中的PTS来检测时间标记。应当注意,可以使用来自适配字段的PCR或指示TS数据分组到达DVD记录器的ATS取代PTS作为时间标记。在任何情况下,DVD记录器根据一个高级系统层中的信息来检测I-图像位置,并且不需要分析MPEG流视频层的数据结构。这是由于为了产生映射表信息而分析视频层所需的系统额外开销很大。
还存在着不可能检测系统层的情况。在这种情况下,不可能产生映射表信息,因此需要指出没有有效映射表信息。DVD记录器利用图15B中所示的映射表管理信息指出这种情况。
图15B中所示的映射表管理信息包含映射表有效性信息,和自编码标志。自编码标志指示一个对象已经由DVD记录器编码,因此指出内部图像结构是已知的,以及映射表信息时间标记信息和I-图像位置信息是准确的。映射表有效性信息指示是否存在一个有效的存取映射表。
系统层不能被检测时的例子包括:当没有设置适配字段时,和当数字流不是一个MPEG传送流时。世界各地使用各种不同的数字广播标准和格式,自然会有DVD记录器记录了不能为其产生映射表的对象的情况。例如,如果在美国使用为日本市场设计的并且在日本记录数字广播的DVD记录器在美国记录数字广播,则会产生DVD记录器不能为记录对象产生映射表的情况。
但是,DVD记录器可以从不能为其产生映射表信息的开始对象顺序再现。在这种情况下,来自记录的数字流的视频可以通过把它经过一个数字接口输出到一个适合于流的STB来再现。
6.播放功能的基本操作
以下参考图18说明用于再现记录到上述光盘的内容的DVD记录器/播放器的播放操作。
如图18中所示,DVD播放器具有用于从光盘100读出数据的光拾取器201,用于对读出数据进行纠错处理的ECC处理器202,用于在纠错之后临时存储读出数据的轨道缓存器203,用于再现视频对象(PS_VOB)和其它程序流的PS解码器205,用于再现数字广播对象(TS2_VOB)和其它传送流的TS解码器206,用于再现音频对象(AOB)的音频解码器207,用于解码静止图像对象(POB)的静止图像解码器208,用于改变输入到解码器205至208的数据的开关装置210,和用于控制播放器的各个部分的控制器211。
光拾取器201读出记录到光盘100的数据,传送到ECC处理器202,并且存储到轨道缓存器203。然后,把存储到轨道缓存器203的数据输入到PS解码器205、TS解码器206、音频解码器207、或静止图像解码器208,并且通过它们解码和输出。
控制器211根据由图16A和16B中所示的播放路径信息(PGC)定义的播放顺序来确定读出什么数据。利用图16A和16B中所示的例子,控制器211首先再现VOB#1的部分(CELL#1),然后是VOB#3的部分(CELL#2),最后是VOB#2(CELL#3)。
利用图17中所示的播放路径信息(PGC)的单元信息,控制器211也可以捕获再现单元的类型,相应的对象,和对象的播放开始和结束时间。控制器211把由单元信息规定的对象周期的数据输入到适当的解码器。
控制器211还根据单元信息的Object ID识别要再现的对象。控制器211还通过参考相应VOB信息的存取映射表将单元信息的Start_PTM和Een_TPM转换成盘存取地址值,标识识别出的对象的播放周期的单元。
根据本发明的这个实施方式的一个播放器还具有用于向外部装置提供AV流的数字接口204。因此可以通过IEEE 1394,IEC 958,或其它通信装置向外部装置提供AV流。从而能够,例如,当播放器没有用于对没有被记录器/播放器编码的TS2_VOB解码的内部解码器时,可以把TS2_VOB通过数字接口204不加解码地直接输出到一个外部STB,以经过STB解码和显现。
当把数字数据直接输出到一个外部装置时,控制器211根据图15B中所示的映射表信息确定是否可以随机存取播放。如果存取点数据标志(随机存取显现标志)是有效的,那么存取映射表包含I-图像位置信息。在这种情况下,控制器211可以响应来自外部装置的快放和其它请求,存取包含I-图像的数字数据,并且经过数字接口输出。此外,如果时间存取信息标志是有效的,也可以执行时基存取。这种情况下,控制器211可以响应来自外部装置的时基存取请求,存取包括在特定播放时间的图像数据的数字数据,并且通过数字接口输出到外部装置。
7.记录功能的基本操作
以下参考图19说明根据本发明的用于记录和再现上述光盘的DVD记录器的配置和操作。
如图19中所示,DVD记录器具有用于接收用户请求和对用户显示信息和提示的用户界面222,用于操作DVD记录器的整体管理和控制的系统控制器212,用于接收VHF和UHF广播的模拟广播调谐器213,用于把模拟信号转换成数字信号并且将数字信号编码成MPEG程序流的编码器214,用于接收数字卫星广播的数字广播调谐器215,用于解释从数字卫星发送的MPEG传送流的分析器216,电视接收机和扬声器之类的显现单元217,和用于解码AV流的解码器218。例如,如图18中所示,解码器218具有第一和第二解码器。DVD记录器还具有数字接口219,用于临时存储写入数据的轨道缓存器220,和用于把数据写入到盘中的驱动器221。数字接口219是用于把数据输出到外部装置的IEEE 1394或其它通信接口。
利用如此构造的DVD记录器,用户接口222首先接收来自用户的请求。然后,用户接口222将请求传送到系统控制器212,系统控制器212解释用户请求,并且指令各种不同模块运行适当的处理。
记录包括DVD记录器对输入的数字数据编码的自编码,和用于将已编码的数字数据记录到盘上而不进一步编码的外编码。
7.1.通过自编码的记录操作
首先,下面以将模拟广播编码并记录到PS_VOB流为例,说明通过自编码记录。
系统控制器212将接收命令发送到模拟广播调谐器213,和将编码命令发送到编码器214。
然后,编码器214对来自模拟调谐器213的AV数据进行视频编码、音频编码、和系统编码,并且把编码的数据传送到轨道缓存器220。
紧接着编码开始之后,编码器214把在编码的MPEG程序流的开始的时间标记信息作为播放开始时间(PS_VOB_V_S_PTM)发送到系统控制器212,并且并行于编码处理,将建立存取映射表所需的数据发送到系统控制器212。把这个值设定为图17所示的单元信息的Start_PTM,并随后产生之。时间标记信息一般是PTS,但是,也可以用SCR取代。
然后,系统控制器212将记录命令发送到驱动器221,因此,驱动器221提取累积在轨道缓存器220中的数据,并记录到DVD-RAM盘100。还在盘的可记录区中搜索一个如上所述的邻接数据区(CDA),并且把数据记录到定位的邻接数据区。
记录一般在用户输入停止记录命令时结束。来自用户的停止命令通过用户接口222输入到系统控制器212,然后,系统控制器212把停止命令发送到模拟广播调谐器213和编码器214。
编码器214在它接收到来自系统控制器212的停止编码命令时停止,并且把最后编码的MPEG程序流中将最后数据的时间标记信息作为播放结束时间(PS_VOB_V_E_PTM)发送到系统控制器212。把这个值设置为图17中所示的单元信息的End_PTM。一般把PTS用作时间标记信息,但是也可以用SCR代替。
在结束编码处理之后,系统控制器212产生显现控制信息和图15A和15B中所示的PS_VOB的VOB信息(PS_OVBI)。
这里产生的VOB信息包括映射表管理信息和适合于对象类型的存取映射表。系统控制器212把映射表管理信息的映射表有效性信息设置为“有效”,并将自编码标志设置为ON。
把如图16A所示要记录的对象是播放对象之一的原始播放信息(O_PGC信息)作为播放控制信息产生。把该O_PGC信息添加到原始播放路径表。原始播放路径(O_PGC信息)包含单元信息。把单元信息类型(Type)设置为PS_VOB。
然后,系统控制器212指令驱动器221停止记录累积在轨道缓存器220中的数据,和记录PS_VOB的VOB信息(PS_VOBI)并显现控制信息。驱动器221于是把这个信息和轨道缓存器220中剩余数据记录到光盘100,记录处理结束。
很显然,可以把模拟广播编码成TS1_VOB。在这种情况下,编码器214必须是一个用于把模拟信息转换成数字信号和把数字信息编码成MPEG传送流的编码器,并且把单元信息类型设置到TS1_VOB。
可以把PTS或PCR用作Start_PTM和End_PTM。
7.2.通过外部编码的记录操作
以下参考记录数字广播来具体说明通过外部编码记录。在这种情况下,记录对象类型是TS2_VOB。
将一个来自用户的数字广播记录请求从用户接口222发送到系统控制器212。然后,系统控制器212指令数字广播调谐器215接收,并指令分析器216分析接收的数据。
将从数字广播调谐器215发送的MPEG传送流通过分析器216传送到轨道缓存器220。
为了产生作为数字广播接收的编码MPEG传送流(TS2_VOB)的VOB信息(TS2_VOB1),分析器216首先提取在传送流的开始的时间标记数据作为开始时间信息(TS2_VOB_V_S_PTM),并把它发送到系统控制器212。把这个开始时间值设置为图17中所示的单元信息的Start_PTM,并稍后产生之。时间标记信息是PCR或PTS。作为替代,可以使用指示把对象发送到DVD记录器的定时的ATS。
然后,分析器216分析MPEG传送流的系统层,以检测存取映射表产生所需的信息。根据上述TS数据分组首部的适配字段中的随机存取指示符(random_access_indicator)来检测对象中的I-图像位置。
接下来,系统控制器212将记录命令输出到驱动器221,驱动器221提取累积在轨道缓存器220中的数据并将其记录到DVD-RAM盘100。系统控制器212也根据文件系统的分配数据,指令驱动器221在盘上的何处进行记录。还在盘的可记录区中搜索如上所述的邻接数据区(CDA),并把数据记录到定位的邻接数据区。
记录一般在用户输入停止记录命令时结束。来自用户的停止记录命令通过用户接口222输入到系统控制器212,然后,系统控制器212将停止命令发送到数字广播调谐器215和分析器216。
响应从系统控制器212接收的停止命令,分析器216停止分析接收的数据,并且在最后分析的MPEG_TS的结尾将时间标记数据作为播放结束时间(TS_VOB_V_E_PTM)发送到系统控制器212。把这个值设置为图17中所示单元信息的End_PTM。将PER或PTS用作时间标记信息,但是,可以使用指示对象何时被发送到DVD记录器的定时的ATS作为替代。
在结束数字广播接收处理之后,系统控制器212根据从分析器216接收的信息,产生显现控制信息和用于图15A和15B中所示的TS2_VOB的VOB信息。
这里产生的VOB信息包括映射表管理信息和适合于对象类型的存取映射表。如果在对象中检测到I-图像位置并且可以产生存取映射表时,系统控制器212把映射表管理信息的映射表有效性信息设置为“有效”。将自编码标志设置到OFF。如果不能产生一个有效存取映射表时,将映射表有效性信息设置到“无效”状态。当不能产生有效存取映射表时的例子包括,当没有接收到一个相应的数字广播时,和当没有设置在适配字段中的随机存取信息时。如果信号是直接通过数字接口输入的时候,信号也可能不是一个MPEG传送流,并且在这种情况下,也把映射表有效性标志设置到“无效”。
产生作为播放对象之一的记录对象的,如图16A和16B所示的原始播放信息(O_PGC信息)作为显现控制信息。把这个O_PGC信息添加到原始播放路径表。原始播放路径(O_PGC信息)包含单元信息。单元信息类型被设置为“TS2_VOB”。
然后,系统控制器212指令驱动器221停止记录累积在轨道缓存器220中的数据,和记录TS2_VOB的VOB信息(TS2_VOB1),和显现控制信息。因此,驱动器221把轨道缓存器220中剩余的数据和这个信息记录到光盘100,并结束记录处理。
尽管上述记录操作是参考用户输入的记录开始和结束命令说明的,很显然,实质相同的操作适用于,例如,在VCR中使用的定时器记录。在这种情况下,不是用户而是系统控制器自动地发布记录开始和结束命令,并且DVD记录器操作中没有实质的变化。
8.本发明的详细实施方式
第一实施方式
上面大致描述了根据本发明的数据记录和再现装置的基本记录和播放操作,因此,下面参考图20仅具体描述记录模拟线路输入的基本操作。在该例中记录的对象类型是TS1_VOB。
来自用户的模拟线路输入记录请求从用户接口222传送到系统控制器212。然后,系统控制器212向线路输入单元223发送接收命令,和向编码器214发送数据编码命令。
来自编码器214的MPEG传送流发送到轨道缓存器220。
为了产生编码的MPEG传送流(TS1_VOB)的VOB信息(TS1_VOBI),编码器214首先设置时间标记信息作为显现开始时间(TS1_VOB_V_S_PTM),并将其发送到系统控制器212。将该开始时间值设置为稍后产生的单元信息的Start_PTM,如图17所示。时间标记信息是PCR或PTS。
编码器214还产生存取映射表产生所需的数据,同时产生MPEG传送流。这是由例如在I-图像的第一个MPEG传送数据分组中存储自适配字段,设置random_access_indicator比特,和通知系统控制器212VOBU开始进行的。
然后,系统控制器212向驱动器221发送记录命令,驱动器221从轨道缓存器220提取数据并记录到DVD-RAM盘100。系统控制器212还根据文件系统的分配数据指令驱动器221将数据记录到盘的何处。在盘的可记录区中找到如上所述的连续数据区(CDA),并将数据记录到所查找的连续数据区。
记录通常在用户输入停止记录命令时结束。来自用户的停止记录命令通过用户接口222输入到系统控制器212,然后系统控制器212将停止命令发送到编码器214。
响应从系统控制器212接收的停止命令,编码器214停止编码处理,并把最后的编码MPEG传送流的结尾的数据中包括的时间标记信息发送到系统控制器212作为结束显现时间(TS1_VOB_V_S_PTM)。设置该值作为图17所示的单元信息的(End_PTM)。时间标记信息变为PCR或PTS。
结束记录过程后,系统控制器212根据从编码器214接收的信息产生播放控制信息和如图15A和15B所示的(TS1_VOB)的VOB信息(TS1_VOBI)。
在此产生的VOB信息包括存取映射表和适合于该对象类型的那些映射表管理信息。系统控制器212将映射表管理信息的映射表有效性信息设置为“有效”。自编码标志设置为ON。
产生作为播放对象之一记录的对象的,如图16A和16B所示的原始播放路径信息(O_PGC)作为显现控制信息。将该O_PGC信息加到原始播放路径表。原始播放路径信息(O_PGC信息)包含单元信息。单元信息的类型信息被设置成“TS1_VOB”。
然后,系统控制器212指令驱动器221停止轨道缓存器220中累积的记录数据,并记录VOB信息(TS1_VOBI)和TS1_VOB的播放控制信息。于是,驱动器221将轨道缓存器220中剩余的数据和该信息记录到光盘100,该记录过程结束。
下面进一步描述由编码器214产生的自编码MPEG传送流。
自编码MPEG传送流的结构如图21A和21B所示。如该图所示,自编码MPEG传送流分成VOBU单元。每个VOBU以PAT数据分组,PMT数据分组,和嵌入有特定流数据的用户专用数据分组(UP数据分组)开始。至少是PAT数据分组,PMT数据分组也位于VOB的开始处。
如图21B所示,还将指示解码器输入时间的ATS加到每个数据分组,并在ATS希望的时间将每个数据分组输入到解码器。
自编码程序信息(例如,PMT数据分组PID)存储到第一数据分组的PAT数据分组并在ATS1指示的时间输入到解码器。
包括程序的每个基本流的PID存储到第二数据分组的PMT数据分组。在该例子中,存储视频,音频,数据广播(图中的“Data”)和用户专用(图中的“private”)数据分组。
加到流中的信息存储到第三数据分组中的用户专用数据分组。该加入的信息可以包括:例如,流标题信息;记录日期和时间信息;流属性,即,诸如比特率,视频分辨率,帧速率,宽高比,或编码方法之类的流编码信息;用于识别线路输入是模拟还是数字的输入源标识信息;如果该数据是数字的,则指示AV数据编码方法的信息;指示是允许还是禁止复制的版权保护信息;诸如闭路字幕(CC)数据,电视图文(teletext)数据或用于显示控制的宽屏幕信令(WSS)数据之类的垂直消隐间隔(VBI)信号;指示系统编码条件的信息;DVD标准兼容性信息;为使用由记录该流的制造商提供的特定数据的用户的方便而提供的菜单信息;和用于转换成各种DVD标准MPEG程序流(MPEG_PS)的数据。
下面参考图22A和22B描述上面在该加入的信息中存储的,并位于MPEG传送流中的数据分组的解码器输入时间。
图22A是表示被称为传送流系统目标解码器(T_STD)的解码器的基本配置的方框图。该图还示出了用于说明PSI数据分组和提供解码器控制(上面未说明)的系统解码器235。
当PAT(PSI数据分组),或PMT数据分组作为PSI数据分组输入到T_STD时,由多路分解器232根据数据分组类型来鉴别数据分组,并立即把用于系统控制的PSI数据分组立即发送到传送缓存器233。
此后,把传送缓存器233中累积的数据以1,000,000比特/秒(=Rsys)的速率流注到系统缓存器234。
当所需的PSI数据累积到系统缓存器234中时,PSI数据变为有效。
于是,在MPEG中的该T_STD模型定义解码器的操作模型,和定义例如MPEG传送流传送速率的标准。
由于数据记录装置必须根据确保T_STD可正确地解码传送流的MPEG传送格式自编码传送流,存在着数种对PSI数据分组传送的约束。下面参考图22B描述确定用于确定数据分组传送率的ATS的方法。
再现自编码流时,引导PAT,PMT,和UP数据分组在ATS1,ATS2,和ATS3分别指示的时间输入到T_STD。
现在考虑PMT数据分组和UP数据分组,以便用T_STD解释由PMT数据分组规定的UP数据分组的PID并使之有效,TS_program_map_section的最后字节(字节m)必须存储在系统缓存器234中。
就是说,对于要有效的PMT,必须在PMT数据分组输入时间从ATS2通过(m+n+5)x 8/Rsys秒。应指出,n是PMT数据分组adaptation_field的字节长度。
由于作为T_STD参考时钟的系统时钟频率(SCF)是27,000,000Hz(具有±810Hz针对误差的定义容限范围),如果ATS是表示表示给系统时钟频率的精确度的时间,下面ATS3和ATS2之间的关系必须是真。
ATS3≥ATS2+((m+n+5)*8/Rsys)*SCF
由于仅当PMT数据分组中没有adaptation_field(n=0),并且最小的TS_program_map_section(21字节)存储在PMT数据分组时,ATS2和ATS3之间的间隔最短,208/Rsys*SCF是最短的时间间隔。
同样,PAT数据分组的输入时间ATS1和PMT数据分组的输入时间ATS2需要下面的关系
ATS2≥ATS1+((m0+n0+5)*8/Rsys)*SCF
其中m0是PAT数据分组中的程序关联部分的字节长度,n0是PAT数据分组中的adaptation_field的字节长度。
此外,由于仅当PAT数据分组中没有adaptation_field(n=0),并且最短的程序关联部分(16字节)存储在PAT数据分组时,ATS1和ATS2之间的间隔最短,168/Rsys*SCF是最短的时间间隔。
如果用使用27MHz的系统时钟频率(SCF)的27MHz的精度表示时间,ATS1和ATS2之间的最短时间间隔以及ATS2和ATS3之间的最短时间间隔分别是4536和5616。
下面参考图23至26描述将用户专用数据分组存储到自编码传送流。
图23示出当把UP数据分组定义为用户专用流时存储UP数据分组。这种情况下,把大于或等于“0x80”和小于或等于“0xFF”的标识号分配给与UP数据分组对应的PMT的stream_type。将唯一的PID分配给UP数据分组。UP数据分组的内部数据结构不符合MPEG标准。应该指出,在该例子中,UP数据分组包括被称为DVD_attribute_section()的部分结构。
图24示出另一种存储方法,在UP数据分组中包括private_section结构并分配唯一PID。private_section的数据结构根据private_section中的section_syntax_indicator的值而略有改变,但规定给UP数据分组的数据存储在private_section的private_data_byte。这种情况下,将标识号“0x00”分配给stream_type。
图25示出了存储具有与PMT数据分组相同的PID的数据分组的UP数据分组的方法。这种情况下,UP数据分组数据结构符合private_section结构。未定义该流类型,并向UP数据分组分配PMT数据分组的PID。
图26示出不分开存储UP数据分组,而是包括在PMT数据分组中的例子。这种情况下,等同于UP数据分组的特定数据具有private_section结构,并在TS_program_map_section之后写入private_section。就是说,PMT数据分组包括TS_program_map_section和private_section二者。
下面描述按上述方法存储到MPEG_TS的特定数据。
如图23至26所示,该特定数据包括RDI单元的实时数据信息一般信息(RDI_GI)和显示控制信息和DVD视频记录标准的复制控制信息(DCI_CCI)。
RDI_GI存储VOBU的第一显现开始时间(VOBU_S_PMT)以及记录日期和时间信息。DCI_CCI存储例如VOBU宽高比信息,字幕模式信息,胶片或摄影机模式信息和与显示控制有关的其它信息,复制产生管理信息,APS信息,和输入源信息。(对于关于RDI_GI和DCI_CCI进一步的信息,见DVD视频记录标准)。
V_ART字段存储视频比特率,分辨率,帧速率(或诸如NTSC或PAL之类的视频格式),宽高比,和编码方法(MPEG2_Video或MPEG1_Video标识符)。
同样,A_ATR字段存储用于所有或部分音频的比特率,编码方法,信道计数,量化比特,和按照音频流的数量的动态范围控制信息。
CC字段存储用于VOBU的闭路字幕数据。为了改善PS转换的可转移性,可以以extension_and_user_data(1)格式(把用户数据存储到GOP层的方法)写入闭路字幕数据,或可分开写入闭路字幕数据。
由于为此目的定义了DVD视频和DVD音频记录标准,存储闭路字幕数据到GOP层的用户数据改善了MPEG_PS转换的效率。
C_SE字段存储与和VOBU或VOB的TS2PS转换关联的某些问题有关的信息。
对于CC,WSS,或图文电视数据存储位置信息,该信息指示例如闭路字幕数据是否包含在UP数据分组中,闭路字幕是否作为用户数据写入图像首部,或特定VOBU(或VOB)中是否没有闭路字幕数据。
对于WSS存储位置信息,该信息进一步指示其是否作为特定数据存储在UP数据分组中,或是否将其写到图像首部中的用户数据。
对于图文电视存储位置信息,它指示是否提供用于存储图文电视数据的TD数据分组,或是否将其写到图像首部中的用户数据。
对于多路复用的块结构和传送信息,该信息包括指示如图27A至27H所示的多路复用块(其中仅存储一个基本流而没有与另一个基本流混合的数据块)中的TS数据分组的数量是固定还是可变,如果数量是固定的,指示数据分组的数量的信息;指示PTS/DTS是否加到多路复用块中的第一个TS数据分组,或相同多路复用块中的传送速率的信息。在对传统多路复用无条件地进行MPEG_TS编码期间,可用只包括一个TS数据分组的固定长度写多路复用块。
解码器缓存器控制信息包括vbv_delay,视频检验缓存器的参数,诸如指示剩余视频缓存器容量的vbv_buffer_size之类的信息(该信息用于确定在ATS输入时间之后还有多少时间可读取视频数据),和解码时间与缓存器输入时间最接近帧解码时间的VOBU帧的输入完成时间之间的时间差(该信息用于确定从ATS输入时间起向回多少可读取视频或音频数据。
DVD兼容性信息指示系统将MPEG_TS转换编码成符合DVD标准的MPEG_PS所涉及的额外开销。
DVD兼容性信息指示将MPEG_TS转换成其它DVD格式有多容易。例如,如果多路复用块是2KB或更小,则设置级别1指示符;如果存在闭路字幕,WSS,或图文电视数据将闭路字幕或WSS数据存储到UP数据分组,并将图文电视数据作为图文电视数据分组存储到存储视频数据的多路复用块中,则设置级别2指示符;如果在把闭路字幕,WSS,或图文电视数据存储到按DVD标准规定的区时不需要考虑缓存器管理,则设置级别3指示符;如果用SCR代替多路复用块中的第一个TS数据分组的ATS时不需要考虑缓存器管理时,设置级别4指示符。
因此,该DVD兼容性信息是指示对包括DVD视频,DVD音频,DVD视频记录,DVD流记录的各种DVD格式的可转换性的容易情况的数据设置。
图27A至27H示出了使用多路复用块的MPEG_TS的结构,和当把该MPEG_TS转换成DVD视频和DVD视频记录格式时的数据结构。
图27A所示的自编码TS流包括图27B所示的自编码TS流的VOBU(播放和解码单元)。如图27C所示,一个VOBU包括多个多路复用块(对应于MPEG_PS数据包)可将每个多路复用块分成如图27D所示的固定长度数据单元(以便于在该设备中包封)或分成如图27E所示的可变长度数据单元(从而消耗更少的盘空间)。在图27D和27E的情况下,通过分成诸如PSI/SI数据分组或UP数据分组之类的非基本流和基本流分别形成多路复用块,但如图27F所示,多路复用块可以存储基本流和诸如PSI/SI数据分组或UP数据分组之类的非基本流对象二者。应该指出,在图27F中,多路复用块#1和多路复用块#2是一个多路复用块。
上面的流很容易转换成图27G中所示的DVD视频格式,或图27H所示的DVD视频记录格式。
这种情况下,按多路复用块的顺序形成MPEG_PS数据包并且一个多路复用块是存储数据的一个数据包的单元对简单的TS2PS转换是很重要的。
应该指出,包封首部和ATS与本发明仅有一些松散的关系,因此在图27A至27H中将其省略。另外,还根据字节长度和存储的单元的VOBU调整适当地填塞或填充图27G和27H中所示的转换后MPEG_PS中的数据包。
与图8所示的常规流多路复用方法相比,图28A至28G描述了本发明的多路复用方法。如该图所示,最终的格式符合图28G所示的MPEG_TS格式。视频流(图28A)包括多个GOP(图28B)。每个GOP包含特定的图像数据,TS数据分组组的数据规模等同于转换到MPEG_PS的是一个多路复用块时的一个数据包的数据规模(图28C)。就是说,将一个多路复用块分成等同于图28D所示的一个数据包的数据规模的多个TS数据分组。同样,将音频流打包在具有多个TS数据分组的一个多路复用块组中。如图28E所示,通过按多路复用块单元进行多路复用来形成VOBU。本发明与图8所示的现有技术的最大区别在于将大小等于一个MPEG_PS数据包的数据规模的数据单元分组,以形成多路复用块(见图28E)。
此外,可以将ATS加到每个MPEG_TS数据分组,同时在如图29所示的相同多路复用块内的每个数据分组中按特定的量(ΔATS)增加。这样对避免TS2PS转换期间的复杂缓存器管理,和使用简单的偏移或偏移将ATS转换成SCR非常有效。在这种情况下,ATSi(i=0,1,2……)满足下面的等式。
ATSi+(多路复用块中数据分组计数值)xΔATS≤ATSi+1
当多路复用块为固定长度时,一个多路复用块中的TS数据分组的数量是固定的,因此很容易知道多路复用块的边界。然而,当多路复用块为可变长度时,一个多路复用块中的TS数据分组的数量也是可变的。因此不容易知道多路复用块的边界。因此,将多路复用块边界处的ATS中的增量(ΔATS)设置为与该多路复用块内的(常数)增量不同的特定值。就是说,将在前多路复用块中的最后一个数据分组的ATS与紧接着后面的多路复用块中的第一个数据分组的ATS之间的差设定为不是常数值的特定值。这使其能够通过监视ΔATS来知道多路复用块边界。当转换到MPEG_PS时可因此确保数据包与TS数据分组之间1∶1的相关性。这种情况下,ATSi满足下面的等式。
ATSi+(多路复用块中数据分组计数值)xΔATS<ATSi+1
此外,加到MPEG_TS多路复用块中第一个数据分组的ATSi对应于转换后加到MPEG_PS中每个数据包的SCRi。
此外,仍如图29所示,闭路字幕,DSI,或其它文本信息也可存储在UP数据分组中。用UP数据分组中的DSI产生转换后的NV_PCK数据,并且闭路字幕存储到视频数据包。为了能够与欧洲使用的PAL标准兼容,可将多路复用块中存储图文电视数据的数据分组插在如图30所示的视频数据的数据分组之间。这种情况下,图文电视数据的数据分组刚好位于同时显现的,具有相同PTS的图像之前。转换后,图文电视数据存储到视频数据包。
图31示出了存储如上所述的DSI的UP数据分组的数据结构。
在UP数据分组附加信息中也可说明识别存储VOBU中的第一个I-图像的最后一个字节的TS数据分组的信息(例如,从VOBU的始端起的相对数量)。也可通过该VOBU中的某些I-和P-图像或所有图像的图像编码类型信息,每个图像的数据规模(例如,识别包含最后字节的TS数据分组的信息),和指示每个图像的DTS/PTS的信息来支持特定的播放模式。
应该指出,在本实施方式中,如果进行编码以使包含PTS/DTS的TS数据分组位于多路复用块的开始处,TS2PS转换后,存取单元的开始处将位于数据包的开始处,并可期待简化特定DVD首部处理。
为了防止存储到MPEG_PS数据包的数据溢流并便于向MPEG_PS转换,可适当地填充多路复用块的TS数据分组,或在多路复用块的最后一个TS数据分组后插入所需数量的填充字节。
上面主要是参考向DVD记录描述了本实施方式,很显然,本发明不限于此。具体地说,在将自编码的传送流记录到硬盘,半导体存储器,或其它数据记录介质后,可以将转换成MPEG程序流的流记录到相同介质或不同介质。
此外,上面描述了将PAT,PMT,和UP数据分组记录到本实施方式中的每个VOBU的开始处,但可将它们记录到至少一个VOB的开始处,或记录到作为播放管理单元的单元的开始处。
此外,该实施方式描述了记录PAT,PMT,和UP数据分组,但可省略UP数据分组。
此外,在本实施方式中,描述了PAT,PMT,和UP数据分组固定在开始处,但本发明不限于此,可记录存储了空数据分组的数据分组插入它们之间。
此外,上面描述了自编码流从PAT数据分组开始,但本发明不限于此,流可以从空数据分组开始。
此外,可通过在自编码流中适当地插入空数据分组将系统传送速率设置到固定速率。
还应该指出,可提供如图7所示用于存储制造商专用信息的数据区,可将MPEG_TS系统编码条件写到该数据区。
还应该指出,在上面的实施方式中,可将写到UP数据分组的所有或部分信息写到如图15所示的TS1_VOB信息。
还应该指出,DVD视频格式不允许用于双单音频。然而,可以通过将双单音频声道分离成记录为左和右单音频声道的两个分开的音频流把用双单音频声道记录的自编码传送流转换成DVD视频格式。
在上面的实施方式中写到UP数据分组的部分或所有参数也可写到管理信息。通过避免多次记录在自编码传送流中没有改变的参数,未浪费记录空间,并且解码器不需要浪费每当检测到UP数据分组时试图确定该参数是否改变的处理时间。
第二实施方式
<编码器配置>
下面描述本发明的另一个实施方式。首先通过关注接收和自编码到MPEG传送流的AV输入的编码处理来描述根据本发明的数据记录装置的编码器。
图33示出了根据本发明的数据记录装置中的编码器的配置。如图所示,编码器214包括基本流编码器230a,230b和230c,以及系统编码器232。编码器214从系统控制器212接收控制信号,然后通过基本流编码器230a,230b和230c,或系统编码器232运行编码处理,同时在基本编码和系统编码之间切换。每个基本流编码器230a,230b和230c接收视频,音频和用于编码的VBI(垂直消隐期间)信号。
视频编码器230a从系统控制器212接收控制信号并据此对预定义范围内的视频流的比特率,分辨率,宽高比,和其它属性编码。更具体地说,视频编码器230a从将操作模式规定为“DVD视频兼容模式”,“DVD视频记录兼容模式”,或“正常模式”的系统控制器212接收控制信号。如果控制信号规定的模式是DVD视频兼容模式,视频编码器230a则产生符合DVD视频标准的视频属性的视频流;如果是DVD视频记录兼容模式,则产生符合DVD视频记录(下面称为“DVD VR”)标准的视频属性的视频流;如果是正常模式,则产生符合特定属性范围的视频流。
同样,音频编码器230b从系统控制器212接收控制信号并据此对预定义范围内的音频流的比特率,量化速率,声道计数,和其它属性编码。与视频编码器230a相同,音频编码器230b从规定操作模式的系统控制器212接收控制信号。如果控制信号规定的模式是DVD视频兼容模式,音频编码器230b则产生符合DVD视频标准的音频属性的音频流;如果是DVD VR兼容模式,则产生符合DVD视频记录(下面称为“DVD VR”)标准的音频属性的音频流;如果是正常模式,则产生符合特定属性范围的音频流。
同样,VBI编码器230c从系统控制器212接收规定操作模式的控制信号,并据此对VBI数据编码。具体地说,如果从系统控制器212向VBI数据编码器230c输入的基本流编码控制信号指示DVD视频兼容模式或DVD VR兼容模式,则根据由相应的标准规定的VBI数据存储方法附加地编码VBI数据。存在着即使在原始的正常模式下分开定义VBI数据存储方法的情况,这种情况下,“附加地编码”是指将VBI数据冗余地存储到基本流。
然后,由系统编码器232将编码的基本流多路复用到MPEG_TS系统流。
与基本流编码器230a,230b,和230c相同,系统编码器232也从系统控制器212接收编码控制信号,以便根据接收的信号编码。
从系统控制器212到系统编码器232的控制信号是用于编码正常MPEG_TS的系统编码控制信号,或对正常MPEG_TS施加约束的系统编码控制信号(DVD视频模式或DVD视频记录模式),以便能够容易地转换成MPEG_PS(特别是规定的DVD格式)。
如果控制信号用于编码正常MPEG_TS,系统编码器232则向从基本流编码器230a,230b,和230c输入的基本流施加系统编码,同时管理缓存器,以使该输入流不被作为MPEG_TS系统流的参考的解码器模型(T_STD)误用。
如果来自系统控制器212的控制信号是规定系统编码,以使MPEG_TS能够容易地转换成MPEG_PS的控制信号,则还要在下面附加的规定系统编码规则下进行编码。
然后,编码器214输出得到的自编码MPEG_TS系统流。
根据本发明的数据记录装置的特征在于在基本流和系统流的编码级别切换编码模式。图34的表中示出了如上所述改变编码模式时转换到特定DVD格式的每个编码模式中应用的处理。
通过驱动基本流编码器230a,230b和230c以及系统编码器232来产生能够便于向MPEG_PS转换的MPEG_TS,以便将采取该转换的相应流编码成MPEG_PS。
<自编码的MPEG_TS>
以下说明由根据本发明的数据记录装置自编码的PMEG-TS格式的详细实施方式。还要说明正常MPEG_TS(下面记为“SESF”)与可以容易地转换成MPEG-PS的MPEG_TS(以下称为“约束(Constrained)SESF”)之间的差别。
在下面说明的实例中,给出流的编码条件的信息存储在一个存储MPEG_TS流单元中的属性和其它信息的VOBI中。通过把有关编码条件的信息存储在管理信息中而不是流中,可以快速地确定是否可以把流容易地转换到DVD视频或DVD VR格式,而不用分析该流。应指出,这个给出流编码条件的信息可以存储到下面进一步说明的Tip数据分组。
用具有2个比特的“encode_condition”标志表示给出这些流编码条件的信息。该标志的值说明如下。
00b:正常MPEG_TS(SESF)
01b:可以容易地转换成DVD VR流格式的MPEG_TS(约束SESF)
10b:保留的
11b:可容易地转换成DVD视频流格式的MPEG_TS(约束SESF)
如果encode_condition标志在流管理信息中被设置成00b,则可能有两种情况:最初对流进行编码而没有考虑向MPEG-PS高速转换,和由用户链接一序列MPEG程序流以便于向各个MPEG程序流转换。
如果encode_condition标志也设置在流中,在流中设置指示正常MPEG_TS的encode_condition=00b是没有意义的。因此,也可以流内和流外区别地使用encode_condition标志,保留encode_condition=00b的设置,以便不在流中使用(在下面的Tip数据分组中说明)。
通过这样设置该标志,可以从VOBI encode_condition字段的值确定流是否可以容易地转换到DVD视频或DVD VR格式。这里使用的“容易地转换”是指可以通过下面描述的转换方法转换。
<约束SESF流结构>
图80示出了约束SESF的完整流结构。约束SESF包括多个SESF包封。SESF包封包含多个特定多路复用单元,和一个在首部的Tip数据分组(下面详细说明)。每个SESF包封的显现时间标记(PTS)和Tip数据分组的地址在一个地址映射表80c中相关。如下面所述,对于TS2PS转换,在SESF包封单元中执行转换处理。
图32示出了一个SESF包封中的MPEG-PS数据包与数据分组之间的相关性。如图32中所示,一个存储特定流信息的TS数据分组(以下称为Tip数据分组)插入到一个约束SESF。下面参考图35至图41说明嵌入到约束SESF中的Tip数据分组。
<Tip数据分组>
图35示出了整个Tip数据分组结构。如图35所示,Tip数据分组存储识别该数据分组作为Tip数据分组的Data_ID,对应于DVD VR的DCI_CCI字段并且包含显示控制和复制控制信息的display_and_copy_info,存储流编码信息的encode_info,和存储专用于制造商的附加信息的MakersPrivateData。
如图35和图36中所示,将以下要进一步说明的SCR计算所需的PCR值写入到Tip数据分组的适配字段。该适配字段为固定字节长度,从而能够利用一个固定地址存取Tip数据分组中的各种信息。
图37示出了Data_ID结构。Data_ID包含用于识别对应的数据分组是否是Tip数据分组的Data_Identifier。Data_Identifier是一个存储以ASCII码代表“TIP”的值“0x544950”的3字节字段。播放设备的解码器可以通过读出这个字段的值识别它是Tip数据分组。
图38示出了display_and_copy_info结构。通过把与RDI单元的DVDVR标准的DCI_CCI字段相同的结构和信息提供到display_and_copy_info,可以便于在把约束SESF转换到DVD VR格式时产生RDI数据包。(注意,有关DVD VR标准的DCI_CCI字段的详细说明,在“可重写/可重记录盘的DVD规格,第3部分,视频记录(DVD Specification forRewritable/Rerecordable Disc,Part 3,Video Recording)”和日本专利3162044中作出了全面说明。尽管在这些文献中的一些字段名不同,但是字段的定义是相同的,从而当转换到DVD VR格式时可以直接复制。)
图39示出了encode_info字段的结构。将Tip数据分组之后的视频流的分辨率信息写入video_resolution字段。encode_info的值如下给出。
0000b:720x480(NTSC),720x576(PAL)
0001b:704x480(NTSC),704x576(PAL)
0010b:352x480(NTSC),352x576(PAL)
0011b:352x240(NTSC),352x288(PAL)
0100b:544x480(NTSC),544x576(PAL)
0101b:480x480(NTSC),480x576(PAL)
其它:保留
DVD VR格式的单一连续记录期间改变分辨率。然而,将不同的分辨率的流作为分开的VOB管理,并且确保在某个记录器播放过程中的无缝流连接。如果分辨率在约束SESF记录期间改变,使用这个字段确定在转换到DVD VR格式时需要分离VOB。
在考虑到向DVD视频格式(encode_condition=11b)转换而记录的约束SESF中,不改变单个流内的分辨率。
encode_condition字段与存储到VOBI中的值相同。为什么不仅要把encode_condition字段信息存储并嵌入在流管理信息中而且也要存储和嵌入到流中的原因是能够使记录器便于确定当例如通过诸如IEEE 1394之类的数字接口复制该流时,是否能够通过参考Tip数据分组中的encode_condition字段来转换到一种DVD格式。
DVD VR标准的VOBU_S_PTM记录到FVFPST字段。这是要消除在把约束SESF转换到DVD-Video或DVD VR格式时分析Tip数据分组之后的编码视频流和计算首先显现的视频字段的播放时间的过程。
FVFPST字段包含一个代表具有90kHz精度的视频字段显现时间的32位字段,和一个具有27MHz精度的16位字段。
图40示出了PES_info的结构。PES_info是把约束SESF转换成DVD视频格式而不分析基本流所必需的。需要该信息产生插入到DVD视频流并存储到数据包中的信息,该数据包被称为NV_PCK,支持特定播放模式。
PES_info可存储136个PES数据分组的信息,每个PES数据分组存储视频数据或音频数据。向每个PES数据分组分配四个比特,可产生NV_PCK信息而不分析PES数据分组的内容。忽略不存储视频或音频数据的PES数据分组。
在从一个Tip数据分组到下一个Tip数据分组前的数据分组作为数据单元的SESF包封中,PES_existence_flag表明在SESF包封中是否出现第j个PES数据分组。PES_existence_flag的值设置如下。
0b:SESF包封中没有第j个PES数据分组
1b:SESF包封中有第j个PES数据分组
如果PES_existence_flag=0(当没有PES数据分组时),PES数据分组中所有剩余的字段被设置为0b。
PESp_payload_identifier识别PES数据分组中存储的数据是视频数据还是音频数据。PES_payload_identifier的值设置如下。
0b:视频流
1b:音频流
为所有相关的PES数据分组设置PES_existence_flag和PES_payload_identifier字段。
当其从PES_payload_identifier确定存储的是视频还是音频数据时,剩余字段定义根据PES数据分组中存储的流的类型而改变。
如果PES数据分组存储视频流(PES_payload_identifier=0b),则在PES_payload_identifier字段后定义指示PES数据分组中存储的图像类型的picture_coding_type。
picture_coding_type字段的值设置如下。
00b:用除01b或10b之外的编码来编码的图像
01b:帧编码的I-图像;一对字段编码的I-图像;或一对字段编码的I-图像和字段编码的P-图像
10b:一对帧编码的P-图像或一对字段编码的P-图像
11b:保留
换句话说,具有01b或10b的图像是用作由DVD视频标准定义的参考图像的图像。上面针对加到存储视频的PES数据分组的信息进行了说明。
如果PES数据分组存储音频流(PES_payload_identifier=1b),PES_payload_identifier之后是stream_identifier和sync_presentation_flag。stream_identifier识别PES数据分组中的音频流是第一音频流还是第二音频流。sync_presentation_flag是识别是存在显现与写到每个Tip数据分组的FEFPST字段(首先显现的视频字段的显现开始时间)同时开始或在其之后立即开始的音频帧。
stream_identifier的值设置如下。
0b:第一音频流
1b:第二音频流
可通过PID设置规则和PMT中的基本流声明来鉴别第一和第二音频流。
sync_presentation_flag的值设置如下。
0b:显现与未存储在音频PES数据分组中的FEFPST同时开始或在其之后立即开始的音频帧
1b:显现与存储在音频PES数据分组中的FEFPST同时开始或在其之后立即开始的音频帧
上面说明了加到存储音频的PES数据分组的信息。
于是,PES_info字段提取和存储Tip数据分组之后的每个PES数据分组的信息。
图41示出了MakersPrivateData。如该图所示,MakersPrivateData具有用于识别约束SESF的制造商的maker_ID字段,和包含由制造商定义的特定附加信息的maker_private_data字段。
图42A和42B示出了Tip数据分组的PID的值和指示流类型的stream_type的值的例子。其它PID和stream_type的值由MPEG标准和其它标准保留,选择这些值以指示超出MPEG标准的范围而不干扰保留的值的专用数据。
从而提取各种流属性信息并存储到约束SESF中存储的Tip数据分组。下面进一步详细说明在向不同的DVD格式转换期间如何使用上述字段。
<系统编码条件>
下面详细说明用于约束SESF的系统编码条件。应该指出,下面的系统编码条件不应用于正常SESF。
<多路复用单元>
在约束SESF中存储基本流的TS数据分组由作为根据DVD格式以2KB数据包中存储的数据的单元的多路复用单元组成。应指出,该多路复用单元对应于第一实施方式中的多路复用块。
仅将存储一种类型的基本流的TS数据分组存储到每个多路复用单元,这些TS数据分组不与存储另一种类型的的基本流的TS数据分组混合。不禁止TS数据分组与空数据分组混合,因为它可能需要一个或多个空数据分组,以便产生多路复用单元(例如,存储流的最后部分的多路复用单元)。这是澄清多路复用单元与数据包之间的关系所必需的。
一个多路复用单元包括11个连续的TS数据分组,并且每个多路复用单元中的基本流(有效负载数据)完全存储到一个相应的数据包中。这同样地约束了数据包关系。
当分割存储视频流的PES数据分组并放置在多个多路复用单元中时,不是包含PES数据分组的最后字节的多路复用单元的所有多路复用单元存储184x11=2024字节的TS数据分组有效负载数据。这样允许最有效地完成流传送,和使得在TS2PS转换过程中按TS数据分组单元顺序第处理能够比较容易。如果不是最后的多路复用单元的多路复用单元的尺寸小于2024个字节,那么将不可能在RS2PS转换过程中转换多路复用单元中的第一TS数据分组时,确定存储到MPEG-PS中每个数据包的数据分组首部的PES_packet_length字段的值。
多路复用单元中第一个完整的音频帧数据应该是位于PES数据分组的有效负载中开始处的音频帧。
通过考虑将存储音频流到多个多路复用单元的PES数据分组很容易理解。如果分割一个音频PES数据分组并放置在多个多路复用单元中,那么当把第二和后续多路复用单元转换到MPEG-PS数据包时,必须识别和确定一个数据包中存储的音频帧的数量以便产生数据分组首部。因此,应该避免需要分析音频流的内部结构,并使转换过程变得复杂。
如上定义多路复用单元。产生约束SESF的编码涉及上述多路复用单元的约束内的系统编码。
<约束SESF中的PES数据分组首部的约束>
以下说明有关约束SESF中的PES数据分组首部的字段值的一些约束。
如图43中所示,一些PES数据分组首部字段仅允许有固定值。这是为了防止在转换到DVD格式时产生不必要的处理。“不必要的处理”是指处理由与DVD格式定义的值不同的值另外生成或删除的字段。换句话说,PES数据分组首部的约束的目的是使TS2PS转换过程中加入到首部或从首部删除的字段最少。
当视频流存储到MPEG_TS时,PES_packet_length字段允许0值。
PTS_DTS_flags字段指示是包括PTS还是包括DTS。
当PES数据分组存储到音频帧时,至少一个或多个音频帧在PES数据分组中开始,并且PTS_DTS_flags设置为10b(如果写入DTS,则设置为11b)。
在TS2PS转换期间把对PES数据分组单元依次处理的约束施加到PTS_extension_flag和PES_header_data_length。图44示出了这些内容。
如图44所示,根据基本流类型,PES数据分组位置,和encode_conditionzhi值定义特定值。
应指出,图44中的VPD是PES数据分组中的PTS字段和DTS字段的组合字节长度。就是说,
如果PTS_DTS_flags=00b,那么VPD=0;
如果PTS_DTS_flags=10b,那么VPD=5;
如果PTS_DTS_flags=11b,那么VPD=10。
如上所述,这种约束是必须的,以便当转换到DVD视频或DVD VR时简化逐TS数据分组地顺序处理,而不用在确定了每个数据包的有效负载长度之后形成数据包。
如上定义PES数据分组首部。产生约束SESF的编码器在上述约束内执行系统编码。
<有关Tip数据分组插入间隔的约束>
以下说明有关插入到约束SESF的Tip数据分组的插入间隔的约束。
对于由Tip数据分组ATS(ATS1)代表的解码器输入时间,和由存储Tip数据分组之后首先输入到解码器的视频或音频流的TS数据分组的ATS(ATS2)指示的解码器输入时间,必须有如下的关系。
ATS1+T<=ATS2
T=(PS_pack_size*8*system_clock_frequency)/PSrate其中T是最短的PS数据包传送周期。这个最短的传送时间是从输入到解码器的PS数据包的开始到结束的最短周期。也就是说,上面的等式显示了每个TS数据分组的ATS间隔必须至少大于使转换后的PS数据包能够输入到系统解码器的间隔。
T的值确定如下。
PS_pack_size是由TS2PS转换产生的MPEG-PS中一个数据包的字节长度,system_clock_frequency是MPEG-PS解码器参考时钟的频率,PSrate是由TS2PS转换产生的MPEG-PS流的多路复用率。
这些值由DVD格式定义如下,因此,ATS1和ATS2之间的关系如下。
PS_pack_size=2048字节
System_clock_frequency=27,000,000Hz
PSrate=10,080,000比特/秒
ATS1+43885.714...≤ATS2
因此,
ATS1+43886=ATS2
定义了ATS2的最小值。
下述的TS2PS转换将一个Tip数据分组转换成一个2KB NV_PCK(在DVD视频转换中)或RDI_PCK(在DVD VR转换中)。然而,如果不满足上述关系,那么下一个基本流的传送得更早,并且可能超过DVD系统传送率的上限(10.08Mbps)。
在一个SESF包封中排列整数个GOP。这样使得SESF包封与DVD格式的VOBU相关,以便也可在约束SESF中实现DVD格式的VOBU概念。更具体地说,根据DVD格式(DVD VR),VOBU必须包括整数个GOP。
一个SESF包封中存储的视频数据必须至少是0.4秒,并且播放时基不大于1.0秒宽。另外,当encode_condition=11b(DVD视频模式)时,最后的SESF包封中存储的视频数据的播放时基的时间宽度大于或等于0.4秒和等于或小于1.2秒,当encode_condition=01b(DVD VR模式)时,必须等于或小于1.0秒。这是由于该SESF包封变为VOBU,并且必须符合特定的DVD格式。
每个Tip数据分组最好通常与用于时间地址转换的存取映射表具有1∶1的相关性。此要求使转换能够在TS2PS转换期间立即以按DVD格式定义的VOBU单元开始,并使得在向DVD视频格式转换期间,当Tip数据分组转换到NV_PCK数据包时可从存取映射表产生DSI(数据搜索信息)(为NV_PCK中存储的相邻VOBU提供地址信息)。可计算DSI,在这种情况下,存取映射表存储每个Tip数据分组的播放时间(根据FVFPST,紧接在Tip数据分组后的部分或所有AV播放时间信息)和每个Tip数据分组的记录地址,两个连续的Tip数据分组之间存储的复用单元的数量是已知的。折射通过施加下面的约束实现的。
应该指出,不必从存取映射表指向所有Tip数据分组。例如,约束SESF中最后一个Tip数据分组之后的AV数据既不包含播放时间长度信息,也不具有下一个Tip数据分组,因此与其它Tip数据分组不同,并因此被有区别地处理。这种情况下,即使存取映射表中未登记最后一个Tip数据分组,对播放和转换没有特别不利的影响,考虑到设备的实施,可以以例外过程对其进行处理。
与多路复用单元没有关联的总共32个数据分组插入在两个连续的Tip数据分组之间。这是因为在TS2PS转换期间,当使用存取映射表向DVD格式转换时需要确定VOBU中将有多少个数据包。(数据分组的数量不必限于32个,但必须是某个特定数量的数据分组。由于可从存取映射表中Tip数据分组的地址信息确定Tip数据分组后的TS数据分组的数量,如果不是多路复用单元的数据分组的数量是已知的,在转换到DVD格式时可确定VOBU中包括的数据包的数量)。这一点是很重要的。可以在MNF或每个Tip数据中的MakersPrivateData中描述该信息)。
此外,有32个数据分组的原因如下。在两个连续的Tip数据分组之间有至少31个PAT,PMT,PCR,和SIT足够了,因为:描述MPEG_TS程序配置的PAT,PMT数据分组必须被至少每隔100毫秒嵌入一次;存储每个程序的特定信息的SIT数据分组必须被至少每隔1秒嵌入一次;存储用于建立解码器参考时间的PCR(程序时钟参考)的PCR数据分组必须被至少每隔100毫秒嵌入一次;可以自由地加入不属于任何复用单元的空数据分组;Tip数据分组插入间隔在AV数据播放时基上是1.0秒或更少。因此,可根据这些定义的时间,和加入的空数据分组,通过在两个连续的Tip数据分组之间插入PAT,PMT,PCR,和SIT数据分组直到有32个数据分组为止,从存取映射表确定VOBU数据包的计数。
例如,当以0.5秒的间隔插入Tip数据分组并且可从存取映射表识别Tip数据分组后有1209个TS数据分组时,考虑转换后的数据包的数量。这种情况下,有总共15(=5+5+5)个PAT,PMT,和PCR数据分组,插在该Tip数据分组后的1个SIT数据分组,和插入的16个空数据分组,以达到总共32个数据分组。当此后分别将其转换到DVD格式时,Tip数据分组转换成NV_PCK(转换成DVD-Video)或RDI_PCK(转换成DVDVR)作为一个数据包,和将一个多路复用单元(11个TS数据分组)转换成一个数据包。因此,VOBU数据包的计数可表示为
1+(多路复用单元的数量)。
多路复用单元的数量是
(该Tip数据分组后的TS数据分组的数量-33)/11。
因此,在该例子中有
1+((1210-33)/11)=1+107=108。
于是可确定VOBU总共有108个数据包。如果每个VOBU中的数据包的数量和显现开始时间信息是已知的,可非常快速地产生转换成DVD视频所需的NV_PCK的DSI数据分组。
如上所述定义了有关Tip数据分组插入间隔的约束。产生约束SESF的编码器在上述约束内执行系统编码。
<有关解码器控制的约束>
以下说明有关约束SESF的解码器控制(缓存器管理)的约束。
必须产生约束SESF以满足作为MPEG-TS的解码器参考模型的T_STD的标准。这意味着可由,例如,具有符合解码器的T_STD的机顶盒解码约束SESF,如果流类型匹配的话。
MPEG-TS标准解码器模型T_STD和MPEG_PS标准解码器模型P_STD在操作和处理能力上基本上相同,但是,在对解码器的音频流输入速率上不同。更具体地讲,在T_STD中,在音频解码器之前从传送缓存器到音频缓存器T_STD的传送速率是2Mbp(除了AAC)(参考图18)。但是,P_STD可以将每个流以系统速率输入到解码器,DVD的系统速率是10.08Mbp。
这意味着,约束SESF和DVD格式的缓存器管理不能相同。
因此,相同的缓存器管理不能用于MPEG_TS和MPEG_PS。然而,如果可以使用加到每个TS数据分组的ATS计算指示转换后的数据包的解码器输入时间的SCR(系统时钟基准),同时避免从约束SESF向DVD格式转换期间重新考虑缓存器管理进行系统编码,可以实现快速和容易的转换。下面详细说明使用ATS计算SCR。
此外,必须对根据本发明的约束SESF编码,以确保它符合T_STD,并且使得由下述转换方法产生的MPEG-PS能够符合P_STD。
更具体地说,约束SESF是一个编码到MPEG-TS的流,以便使它在转换到MPEG-PS后,也能够符合P_STD。
以上是有关约束SESF的缓存管理的约束。应当注意,只对正常SESF编码以符合T_STD,而不用注意这些约束。
以下说明不符合T_STD和P_STD模型的MPEG-TS和MPEG-PS的例子。
首先,图45示出了可转换到MPEG-PS但不符合T_STD模型的MPEG-PS自编码的例子。
流TS1是通过符合T_STD模型的系统编码应用的MPEG传送流。流TS2是一个不符合T_STD模型的MPEG传送流。更具体地讲,在流TS2中,将ATS[47]到ATS[57]的值设置为超过MPEG-TS音频数据允许的传送率。这造成音频传送缓存器溢出(图18),并且该流不满足T_STD模型。但是,在流TS1中,ATS[47]到ATS[57]的值设置在MPEG-TS中音频数据允许的传送率内。因此,利用下述的SCR转换公式,可以把这个流正确地转换到一个符合MPEG程序流PS1的P_STD。此外,在流TS2不满足T_STD标准时,可以利用下述的SCR转换公式通过转换产生PS1。对于从流TS2转换到符合T_STD的MPEG-TS,必须增加由ATS[47]到ATS[57]规定的音频数据分组的传送时间间隔,以便不发生传送缓存器溢出。
图46A和46B示出了满足T_STD模型,但是从MPEG-TS转换的MPEG-PS不符合P_STD模型的例子。流TS3是一个MPEG传送流,流PS3是一个从MPEG传送流TS3转换的MPEG程序流。图46B示出了解码期间每个流的视频数据缓存器的状态的变化。在时间SCR[2]对PES#1图像解码,在SCR[4]与SCR[5]之间对PES#2图像解码。如图46B所示,由PES#1中的图像数据完成传送流TS3中的TS数据分组的数据的传送,并对PES#2解码。但是,对于程序流PS3,PES#1的V_PCK#1数据按时传送,但是PES#2的V_PCK#4数据的传送稍晚,以便进行解码,并且由于解码在数据传送进行中时开始,发生了缓存器下溢。因此,不符合P_STD模型的要求。可以通过针对转换到V_PCK#2至V_PCK#4的每个TS数据分组来移位ATS字段(ATS[14],ATS[25],ATS[36])的值以使其在时间上更早,以便更早地完成MPEG_TS PES#2图像数据的传送来避免这种情况。
<ATS-SCR转换>
下面说明在将约束SESF流转换成程序流时PS数据分组的SCR的计算方法。必须计算SCR以产生新的数据包,并且仅当转换多路复用单元中的Tip数据分组和第一个TS数据分组时需要。
图14C示出了约束SESF流的结构。将存储参考时间信息(程序时钟参考PCR)的PCR数据分组适当地插入TS数据分组,可用其以适当的时间间隔复位解码器参考时间STC(系统时间时钟)。每个TS数据分组还包含存储每个TS数据分组之间的相对传送时间信息的ATS。因此,TS数据分组在存储PCR的TS数据分组之后输出,并在从PCR和指示TS数据分组之间的相对传送时间的ATS确定的定时输入到解码器。换句话说,可为来自存储PCR的TS数据分组的TS数据分组产生每个TS数据分组的解码器输入时间(下文称为“calculated_PCR”)。如果没有存储PCR的TS数据分组,可将等同于PCR的信息提取到管理信息。
图47示出了当从一个约束SESF转换到MPEG-PS,即图80所示的SESF包封的首部时,calculated_PCR与SCR之间的关系。分配给每个TS数据分组的ATS从流开始以升序表示为ATS[k]。以多路复用单元中第一TS数据分组出现的顺序计算的PCR表示为calculated_PCR[i](i=0,1,2,...)。转换后的数据包的SCR同样地表示为SCR[i]。
如上所述,由15Mbp的最大传送率约束视频流传送(在MP@ML的情况下,从多路复用缓存器到视频缓存器的传送率不能超过15Mbp),并且音频流输入速率低于视频传送速率。(除了AAC之外,从传送缓存器到音频缓存器的传送率不超过2Mbp)。因此,与存储视频数据的多路复用单元不同,存储音频数据的多路复用单元以低速传送。因此,如果使视频数据传送率提高到接近9.8Mbp的DVD格式的最大传送率,那么为了保证具有较低传送率并且因此耗时更长的音频数据的足够的传送时间,必须以高于DVD传送率(10.08Mbp)的速率传送视频数据TS数据分组。
从图47将了解到约束SESF和DVD格式中传送时间的不同。
多路复用单元中的第一TS数据分组或Tip数据分组的解码器到达时间(calculated_PCR)与转换数据分组之后的数据包的SCR之间的下述关系必须是真实的。
SCR[0]=calculated_PCR[0]
SCR[i]=max(SCR[i-1]+T,calculated_PCR[i])(i=1,2,3...)
Calculated_PCR[i]=PCR_tip+(ATS[i]-ATS_tip+WA*BS)
T=PS_pack_size*8*system_clock_frequency/Psrate
其中PCR_tip和ATS_tip是刚好在转换的多路复用单元之前的Tip数据分组的PCR值和该Tip数据分组的ATS。WA指示在ATS_tip与赋予第i个多路复用单元中的第一个TS数据分组的ATS(ATS[i])之间的范围中发生了多少次溢出(下文进一步说明)。BS表示ATS中一次溢出的数据量。max(a,b)是一个用于选择a和b中较大的一个的函数。
在SCR[i](i=0,1,2,3,...)的关系中,PS_pack_size是由如上所述的TS2PS转换产生的MPEG-PS中的一个数据包的字节长度,system_clock_frequency是MPEG-PS解码器参考时钟的频率,和PSrate是由TS2PS转换产生的MPEG-PS的多路复用速率。就是说,
PS_pack_size=2048字节
System_clock_freqency=27,000,000Hz
PSrate=10,080,000比特/秒
因此,在第一数据包之后,存在着两种传送数据包的模式:从一个在前数据包的传送时间经过由传送率确定的最短传送时间之后传送数据包,或在数据包中的第一TS数据分组的解码器输入时间传送该数据包。对于在视频数据转换到DVD格式之前的时间传送数据包,以上述最小传送时间间隔传送数据包。例如,当在视频数据转换到DVD格式之前的一个时间带传送数据包时,那么在从传送前面的数据包的时间等待一个由传送率确定的最短传送时间之后传送数据包。
应该指出,由于可编辑约束SESF,例如,如果通过编辑删除了流的开始,即使当以encode_condition=11b记录时,calculated_PCR[0]可以不到0。
然而,如果在encode_condition=11b时calculated_PCR[0]不是零,这个问题将通过仅当encode_condition=11b应用下面的转换等式来解决。
SCR[0]=[0]
SCR[i]=max(SCR[i-1]+T,calculated_PCR[i])-calculated_PCR[0](i=1,2,3...)
Calculated_PCR[i]=PCR_tip+(ATS[n]-ATS_tip+WA*BS)
T=PS_pack_size*8*system_clock_frequency/Psrate
PTS(DVD-Video)=PTS(Constrained SESF)-Calculated_PCR[0]
DTS(DVD-Video)=DTS(Constrained SESF)-Calculated_PCR[0]
如上所述,ATS[n]和WA分别是第i个多路复用单元中的第一个TS数据分组的ATS值和基于ATS-tip的溢流数量。
换句话说,为了符合DVD视频格式,将SCR[0]设置为0,后续SCR的值是偏移值,DVD视频流中的所有PTS和DTS被使用上面的转换等式偏移时间Calculated_PCR[0]的结果偏移统一时间Calculated_PCR[0]。
利用统一偏移的流的时间信息,即使删除了约束SESF(encode_condition=11b)的开始,能够在保持encode_condition=11b时转换到DVD视频格式。
在向DVD视频格式转换期间可以转换PTS和DTS,而通过依次处理TS数据分组单元可很容易地实现。
在TS2PS转换期间根据上面的等式从ATS计算SCR。通过TS2PS转换输出的程序流必须符合如上所述的P_STD模型,这意味着将SCR的值限定到特定范围。因此,必须根据上面所示的ATS-SCR关系设置赋予约束SESF的每个数据包的ATS值。
<基本流的约束>
以下说明有关约束SESF的基本流的约束。
由于对基本流再编码对编码器是一个非常重的负担,仅有MPEG-2Video可供视频数据使用时,AC-3、MPEG-1Audio、和LPCM可供音频数据使用。
然而,在此说明的约束SESF排除了LPCM。这是为了避免在LPCM使用20个比特或更多的量化速率时需要对基本流再编码的危险,并通过减少不能提高传送率的音频数据的量来简化缓存器管理。然而,如果使用16-比特的LPCM,不特定要求排除LPCM音频。
在此说明的允许用于约束SESF的流是用于视频数据的MPEG-2Video,和两种类型的音频数据AC-3和MPEG-1Audio。
在不作为约束SESF的正常中,音频数据的编码不限于上面的说明。可使用诸如在BS数字广播中使用的AAC(先进音频编码)之类的编码方法。
图48中示出了当encode_condition=11b时的基本流属性。
由于设置了图中所示的属性以确保在基本流层保持对DVD视频和DVD VR之间的相互可转换性,所以当转换到DVD视频和DVD VR格式时符合这些属性的约束SESF(encode_condition=11b)不需要基本流再编码,因此可以高速转换。
图49示出了当encode_condition=01b时的基本流属性。
由于设置了图中所示属性以确保在基本流层与DVD VR的相互可转换性,所以当转换到DVD VR格式时符合这些属性的约束SESF(encode_condition=01b)不需要基本流再编码,因此可以高速转换。
以下说明图48和图49中的注释1至4。
注释1:在同一VOB内,这个属性不能改变。
注释2:在存储Tip数据分组之后的第一基本流的TS数据分组中可以改变这个属性。也就是说,只有在SESF包封中的第一视频或音频TS数据分组中可以改变它。
注释3:sequence_end_code不能插入到具有相同horizontal_size,vertical_size,和aspect_ratio_information的sequence_header字段之间。
注释4:对于单声道、立体声、双单声道,这个属性能够在同一VOB内改变。
以上说明了有关约束SESF的基本流的约束。
加入上述编码条件使其能够产生便于并迅速转换成DVD格式的约束SESF。
<转换后的DVD视频和DVD VR>
下面说明约束SESF转换到DVD视频和DVD VR格式的字段设置。<DVD视频格式>
下面首先简要说明符合DVD视频标准的流。在“DVD Specification forRead-Only Disc,Part 3,VIDEO SPECIFICATION。”中详细描述了DVD视频流格式。
图50示出了DVD视频格式的流结构。如该图所示,每个流包含多个VOB,每个VOB包含整数个VOBU。一个VOBU包括整数个数据包,以NV数据包(V_PCK)开始,后面是视频数据包(V_PCK)和音频数据包(A_PCK)。与正常DVD数据包不同,NV_PCK包含两个数据分组。这些数据分组分别被称为PCI(显现控制信息)和DSI(数据搜索信息)。对应的VOBU的播放控制信息存储到PCI数据分组。用于特定播放模式的信息,例如该VOBU与相邻VOBU的相对位置,被存储到DSI数据分组。下面结合如何确定字段值来说明这些字段。
图51示出了NV_PCK PCI数据的结构。PCI数据包括存储PCI,作为无缝显现的角度信息的NSML_AGLI,作为向菜单和按钮加高亮的HLI,和存储国际标准记录编码(ISRC)的RECI的一般信息的PCI_GI(PCI一般信息)。
当从约束SESF转换时,NSML_AGLI和HLI存储指示无效的值。
ISRC字段可存储指示无效的值或ISRC代码原样,但该字段与从约束SESF转换无关,因此省略对其说明。因此,只有相对于从约束SESF生成PCI数据有疑问的字段是PCI_GI字段。
图52示出了NV_PCK中的PCI_GI字段的结构。应该指出,下面仅针对从约束SESF转换期间必须计算的那些字段说明了计算方法。11/17
NV_PCK_LBN(VOBU文件中NV_PCK的相对地址)可由在转换期间对每个数据包的数量计数的数据记录装置确定。
VOBU_CAT(模拟复制保护状态的信息)可从与NV_PCK对应的Tip数据分组的display_and_copy_info获得。
VOBU_S_PTM(VOBU中第一个出现的视频字段的显现时间信息)可从与NV_PCK对应的Tip数据分组的FVFPST计算得到。
VOBU_E_PTM(VOBU中的视频数据显现结束时的时间信息)可从写入存取映射表中下一项的显现时间信息获得,或可通过分析VOBU的视频流和计算视频显现结束的时间来产生。
VOBU_SE_E_PTM(VOBU中的视频数据显现根据sequence_end_code字段结束时的时间信息)在最后一个VOBU前的所有VOBU中填充“0x00000000”,由于sequence_end_code仅允许在最后一个VOBU中,因此,中间的VOBU不包含sequence_end_code。将VOBU_SE_E_PTM设置成与在最后的VOBU中仅在具有顺序结束码的最后一个NV_PCK中的VOBU_E_PTM中相同的值。
C_ELTM是存储NV_PCK的单元中出现的第一个视频帧的显现时间与VOBU中第一个出现的视频帧显现时间之间的时间差,并且必须用帧精确度表示。可根据需要在转换过程中使用对应的Tip数据分组的FVFPST和在CELL的开始出现的视频帧的显现时间信息,由数据记录装置计算C_ELTM。
因此,在转换期间可由VOBU单元根据需要如上所述地产生NV_PCK的PCI数据。
图53示出了NV_PCK的结构。如图53所示,DSI数据字段包括:存储概要DSI信息的DSI_GI(数据搜索信息一般信息);存储在VOBU之间无缝显现所需的记录地址和播放信息的SML_PBI(无缝播放信息);存储在不同角度等之间无缝显现所需的位置信息的SML_AGLI(无缝的角度信息);存储与特定VIBU相邻的VOBU的记录地址的VOBU_SRI(VOB单元搜索信息);和能使视频与音频/字幕同步显现的SYNCI(同步信息)。
当从约束SESF转换时,SML_AGLI存储指示无效的信息。
图54示出了NV_PCK的DSI_GI结构。应该指出,下面仅针对从约束SESF转换期间必须计算的那些字段说明计算方法。
利用下面进一步描述的方法从由约束SESF的ATS推导的SCR来推导NV_PCK_SCR(NV_PCK的SCR)。
以与PCI数据相同的方式获得NV_PCK_LBN(VOBU文件中NV_PCK的相对地址)。
可从存取映射表计算VOBU_EA(从NV_PCK到VOBU中最后一个数据包的相对地址)。如上所述,不属于两个连续Tip数据分组之间的多路复用单元的数据分组的数量是已知的(固定的)。因此,可从存取映射表计算到下一项(下一个Tip数据分组)的TS数据分组的数量。然后减去不属于多路复用单元的TS数据分组中的TS数据分组的数量,用11除以得到的差以确定NV_PCK后形成的数据包的数量。可以对转换后产生的数据包的数量计数并写到从最后的Tip数据分组得到NV_PCK,或写到所有NV_PCK。
如果在TS2PS转换期间参考Tip数据分组PES_info字段,可确定VOBU_1STREF_EA(从NV_PCK到第一个参考图像中最后的数据包的VOBU中的相对地址),VOBU_2NDREF_EA(从NV_PCK到第二个参考图像中最后的数据包的VOBU中的相对地址),VOBU_3RDREF_EA(从NV_PCK到第三个参考图像中最后的数据包的VOBU中的相对地址),而不需要分析视频流层。
PES_info存储指示施加到每个视频PES数据包中存储的图像的编码类型的picture_coding_type。具有01b或10b的picture_coding_type的PES数据分组存储如按DVD视频标准定义的参考图像。
因此,能够在TS2PS转换期间参考PES_info字段,以确定转换的PES数据包是否存储参考图像,所述转换的PES数据分组结束的数据包是否变成参考图像的最后数据包。
由于在转换期间可识别参考图像的最后数据包,还可以在产生VOBU时确定第一,第二,和第三参考图像在哪个数据包中结束,并将相对地址写到VOBU中的第一个NV_PCK的VOBU_1STREF_EA,VOBU_2NDREF_EA,和VOBU_3RDREF_EA。
作为替换,在SESF包封的转换期间,参考存储视频数据的PES分组的PTS DTS标记。可以逐次地确定参考画面的存储以计算这些值。例如,如果PTS DTS标记是11b,确定要存储的参考画面,而如果PTS DTS标记是10b,则确定要存储的非参考画面。
在转换期间可由数据记录装置获得VOBU_VOB_IDN(VOBU所属的VOB的ID号码)。在转换一个约束SESF时,防止因流的条件造成VOB分段的诸如属性之类的变化,并通过将约束SESFencode_condition设置到11b来分配相同的ID号码。
如同VOBU_VOB_IDN,在转换期间由数据记录装置设置VOBU_C_IDN(VOBU所属的CELL的ID号码),而与流无关。如果根据PGC信息或约束SESF的其它管理信息有意地分割CELL,则仅分配由分段确定的号码。
C_ELTM是存储NV_PCK的单元中出现的第一视频帧的显现时间与VOBU中首先出现的视频帧的显现时间之间的时间差,并且必须以帧的精度表示。C_ELTM与写入PCI数据的C_ELTM相同。
因此,在如上所述的转换期间可由VOBU连续产生NV_PCK中的DSI_GI字段的每个字段。
图55示出了NV_PCK中SML_PBI字段的结构。应该指出,下面仅针对转换期间必须从约束SESF计算的那些字段描述计算方法。
可从第一个Tip数据分组的FVFPST确定VOB_V_S_PTM(NV_PCK所属的VOB中出现的第一个视频帧的显现时间)。
可通过分析在实际的TS2PS转换前为转换选择的约束SESF的部分中最后的Tip数据分组之后的流并获得视频数据的结束显现时间来在任何时候设置VOB_V_E_PTM(NV_PCK所属的VOB中的视频显现结束时间)。
因此,能够在转换前计算NV_PCK的SML_PBI字段。在转换期间使用该值足够了。
如上面指出的,可使用存取映射表计算VOBU_SRI,在此省略对其进一步说明。
此外,VOBU_SRI完全写在每个单元中,因此,如果未定义单元,则不能确定VOBU_SRI。因此,以DVD视频格式实时记录的记录器不能以任何希望的间隔生成单元,并因此遇到降级的编辑和播放性能。然而,当从约束SESF转换时,可将单元定义为由用户规定的周期,并使用上述方法转换,可按照用户的期望生成章节,并可生成符合DVD视频格式的,从用户定义的点开始播放的播放表。
图56示出了NV_PCK的SYNCI字段的结构。应该指出,下面仅针对转换期间必须从约束SESF计算的那些字段描述计算方法。
A_SYNCA0是存储主要音频数据包和存储与VOBU_S_PTM同时显现或在其之后立即显现的音频帧的数据包的相对地址。在TS2PS转换期间,可使用Tip数据分组中的PES_info确定A_SYNCA0而不需要分析该流。
可通过读取PES_info的stream_identifier来确定PES数据分组是否存储主要音频,在下一个sync_presentation_flag,可以确定是否存在与PES数据分组中包含的音频帧中的VOBU_S_PTM同时显现,或在其之后立即显现的音频帧。因此,如果PES数据分组包含主要音频并且sync_presentation_flag=1b,可在TS2PS期间写入从NV_PCK到存储PES数据分组的数据包的地址。
应该指出,不保证将sync_presentation_flag=1b设置在VOBU的一个音频数据包中。如果编码器首先多路复用音频,与VOBU的VOBU_S_PTM同时显现,或在其之后立即显现的音频数据包可存储在前一个或下一个VOBU中。
因此,必须在转换期间利用主要音频(sync_presentation_flag=1b)的PES数据分组和依次产生的NV_PCK之间的顺序关系的正确理解来确定设置给A_SYNCA0字段的值。
为了消除该过程,可以对约束SESF进行系统编码,以便把与写到SESF包封中的第一个Tip数据分组的FVFPST同时显现,或刚好在其之后显现的音频数据也存储到同一个SESF包封中。
利用这些定义,可消除用于检测与VOBU(SESF包封)之外的VOBU_S_PTM(FVFPST)同步的音频数据的过程。
A_SYNCA1是存储二级音频和存储与VOBU_S_PTM同时显现,或在其之后立即显现的音频帧的数据包的相对地址,并可使用与A_SYNCA 0相同的方法确定。
除了A_SYNCA,因此,在转换期间能够由VOBU依次产生NV_PCK的DSI数据。
NV_PCK产生的例子如图82所示。
<DVD视频记录格式>
下面说明转换到DVD视频记录(VR)流格式期间的字段设置。
下面简要说明DVD VR流。应指出,在“可重写/可再记录盘的DVD规范,第3部分,视频记录”中详细说明了DVD VR流格式。
图57示出了DVD VR格式的流结构。如在此所示,每个流包括多个VOB,每个VOB包含整数个VOBU。一个VOBU包括整数个数据包,以RDI_PCK开始,后面是视频数据包(V_PCK)和音频数据包(A_PCK)。与正常数据包不同,RDI_PCK包含显现和复制控制信息,制造商专用信息。下面结合如何确定字段值来说明RDI_PCK中包含的这些字段。
如图所示,RDI_PCK有效负载数据(RDI单元)包括:存储RDI的一般信息的RDI_GI(实时数据信息一般信息),存储用于显示和复制控制的信息的DCI_CCI(显示控制信息和复制控制信息),和存储制造商专用信息的MNFI(制造商的信息)。
RDI_GI字段包含VOBU_S_PTM字段。只有该字段是可变的,其它字段值的固定的。
VOBU_S_PTM具有与转换前写到传送流中的对应Tip数据分组的FVFPST相同的格式,因此,可简单地将FVFPST值复制到VOBU_S_PTM字段。
DCI_CCI具有与Tip数据分组的display_and_copy_info字段相同的格式,因此,可简单地将display_and_copy_info的值复制到DCI_CCI字段。
仅当写到Tip数据分组的maker_ID与数据记录装置的制造商ID相同时分配专用制造商ID,并将制造商专用信息复制到MNFI字段。然而,如果Tip数据分组中的maker_ID是不同的制造商的ID,或该maker_ID无效,可通过将无效数据写到MNFI字段来产生RDI数据包。
写到Tip数据分组的数据可能有部分是无效的。这种情况下,应该设置指示Tip数据分组中有无效数据的标志(无效标志)。如果将该无效标志设置为ON,在将Tip数据分组中的无效数据更新到最近的数据后,必须更新该标志。
作为一个例子,可以考虑最近的CCI数据和TS数据分组CCI数据无效标志出现在每个TS数据分组的ATS(4B)中的情况。
这种情况下,需要确定TS2PS转换期间是否设置了无效标志。如果设置了无效标志,需要使用利用ATS的CCI标志更新display_and_copy_info字段中的CCI数据的数据转换到RDI_PCK。
因此,可仅使用对应的Tip数据分组(和其ATS)依次产生RDI_PCK。
图58是上面的RDI_PCK产生过程的流程图。
在RDI_PCK(或NV_PCK)中,系统首部包括固定值的字段。系统首部的详细内容如图61所示。图62A和62B分别示出了存储到RDI_PCK的数据分组首部和专用首部。由于这些首部包括如图所示的固定值字段,能够很容易地产生它们。
图59是从存储AV数据的TS数据分组(多路复用单元)产生PS数据包的过程的流程图。
如图所示,利用一个多路复用单元作为处理单元,将存储AV数据的约束SESF的TS数据分组转换到存储AV数据的2KB的MPEG-PS数据包。下面进一步说明该过程的步骤。
(步骤S4200):从约束SESF流的转换开始点读出一个TS数据分组。
(步骤S4201):确定读出的TS数据分组是否存储了AV数据,和是否是多路复用单元中的第一TS数据分组。
通过读取PMT中宣称的TS数据分组的PID值确定是否存储了AC数据。当前一个TS数据分组是Tip数据分组,PSI/SI数据分组,或PCR数据分组时,则确定该TS数据分组在多路复用单元的开始处,并且紧接此后的TS数据分组存储AV数据。由于在转换开始时期待Tip数据分组,可通过依次读取TS数据分组(即,存储紧接在Tip数据分组后的AV数据的第一个TS数据分组总是是多路复用单元的开始处)来确定它是否在多路复用单元的开始处。如果确定TS数据分组不在多路复用单元的开始处,或如果转换不从Tip数据分组开始,并且不能进行确定,控制环路则返回到步骤S4200,以读取下一个TS数据分组。在找到多路复用单元的开始处后,控制进行到下一个步骤。
(步骤S4202):利用赋予多路复用单元的开始处的TS数据分组的ATS,计算从该TS数据分组转换的MPEG-PS数据包输入到解码器的时间(计算的PCR)。一旦计算了PCR。用如上所述的方法确定SCR,完成图60中所示的数据包首部。这是由于数据包首部仅允许除了SCR之外的固定值。
(步骤S4203):确定数据分组首部和专用首部。
根据约束SESF的PES数据分组首部产生数据分组首部。数据分组首部的形式必须满足图63中所示的字段值。这是由于如果未设置将改变首部长度的字段值,那么将不均匀地确定从约束单元的转换,并且可能影响缓存器管理。这里没有示出的字段是固定值,因此没有列出。
利用约束SESF具体确定PES数据分组首部的各个字段值,以使从PES数据分组首部(MPEG-TS)到数据分组首部(MPEG-PS)的转换所需的处理最少。
如果PES数据分组的规模比一个数据包的规模大,那么将一个PES数据分组转换到多个数据包。在这种情况下,对第二和后续数据包的数据分组首部的修改包括:把从PES数据分组产生的第一个数据分组首部中的PTS_DTS_flags设置到00b;把PES_extension_flag设置到0b;调节stuffing_byte长度;和改正PES_header_data_length。
当存储非MPEG流时需要专用首部,因此,在存储NV_PCK,RDI_PCK,AC-3,或LPCM的数据包中需要专用首部。
图64示出了AC-3的专用首部。对于图中所示的字段,只有number_of_frame_headers字段需要在TS2PS转换期间根据约束SESF多路复用单元定义进行计算。由于该字段规定了该数据包中存储的AC-3音频帧的数量,例如,由于可从比特率计算一个音频帧的字节长度并且该值未固定的长度,因此,从固定速率的AC-3的PES_packet_length能够容易地计算字段值。
应该指出,约束SESF的PES数据分组首部的PES_header_data_length被AC-3专用首部(4个字节)填充了额外的4个字节。(见图44)通过如此在转换前估算转换后的首部长度并移动有效负载的位置,很容易进行TS数据分组的单元中的后续处理。
如上所述,通过校正一部分PES数据分组首部来产生第一个数据分组首部,通过校正一部分第一数据分组首部来产生第二和后面的数据分组首部,并且仅对不符合MPEG标准的流插入专用首部。因此,可产生数据分组首部和专用首部。
(步骤S4204):一旦产生专用首部,通过简单地从TS数据分组有效负载复制数据,从其开始处填充PS数据包的有效负载。
(步骤S4205至S4207):简单地重复这些步骤,直到完成了多路复用单元(11个TS数据分组)。然而,由于可能已经插入一个空数据分组,所以在检测到空数据分组PID(0x1FFF)时,复制TS数据分组有效负载。
优选的是,定义只有存储PES数据分组的最后数据的TS数据分组具有自适配字段。由于除在Constrained SESF中存储PES数据分组的最后数据的TS数据分组外的TS数据分组总是存储184字节的有效负载数据,这使得读取有效负载数据更容易。
(步骤S4208):当复制所有多路复用单元有效负载数据时,计算得到的数据包的字节长度,以确认字节长度是否是2048个字节。如果是2048个字节,数据包产生结束。如果数据包包含小于2048个字节,那么控制步骤转到S4209。
(步骤4209):如果数据包不包含2048个字节,那么把填充数据分组加到有效负载的结尾,以便使其总共有2048个字节。
转换过程从存储AV数据的多路复用单元继续进行。如果仅检测到一个多路复用单元,重复这个过程,直到处理为转换选择的约束SESF的部分结束。
以下对上述转换处理的施加到不同类型的数据包的结果进行说明。
<转换到视频数据包(V_PCK)>
图65A和65B示出了从约束SESF到MPEG-PS的转换。如图65A中所示,一个视频PES数据分组在正常情况下大于2KB,因此一般分割成多个多路复用单元,多路复用到约束SESF。
根据约束SESF的定义,除了视频PES数据分组中的最后多路复用单元之外的每个多路复用单元被填充最大可能数量的视频PES数据分组数据。因此,除了最后多路复用单元之外,每个多路复用单元存储了2024字节(=184x11字节)的数据。
利用该定义,使其能够在TS2PS转换过程中预定义这样的字段作为每个数据包的PES_packet_length和stuffing_byte。
存储一个视频PES数据分组的数据的最后多路复用单元可以用自适配字段和空数据分组填充剩余数据容量,以形成一个完整的多路复用单元,或者存储有效数据传送的下一个PES数据分组的数据(用于增加存储到转换的MPEG-PS数据包的数据量)。
然而,考虑到转换成DVD的便利性,仅从SESF包封中存储第一视频数据的多路复用单元中的该起始TS数据分组来定位SESF包封中的I-画面。P-画面和B-画面不能如上所述从多路复用单元的开始来定位。
如图65A和65B中所示,使用以下三种类型的多路复用单元形成一个视频PES数据分组:存储PES数据分组中第一数据的第一多路复用单元(图中的MU#1);存储PES数据分组中部的数据的多路复用单元(图中的MU#n,其中n=2,3,...,N-1),和存储最后的PES数据分组的数据的多路复用单元(MU#N)。
图65B示出与从TS2PS转换得到的MPEG-PS流中的这些多路复用单元的类型对应的数据包的结构。
从MU#1转换的数据包总是包含至少10个空空间,因此当产生数据包时,在结尾处插入填充数据分组。
这是由于DVD格式规定当数据包中有7个字节或更少的空间时,将填充字节(数据分组首部的最后字段)加到总共2048个字节,如果空间为8字节或更大,则加入填塞数据分组。
将一个填充字节加到从MU#n转换的数据包,以完成每个数据包。
从MU#N转换的数据包通常具有8个字节或更大的空间,因此插入填塞数据分组。
<转换到音频数据包(A_PCK)>
图66A和66B示出了从约束SESF到MPEG-PS的转换。如图66A所示,一个音频PES数据分组(存储一个或多个音频帧)小于一个多路复用单元。
由于一个音频PES数据分组适合于在一个多路复用单元中,所以不需要象视频PES数据分组那样的复杂转换。更具体地说,如图66B中所示,应该总是产生向其加入了填充数据分组的数据包。
此外,由于在TS2PS转换过程中PES_packet_length不变,仅需要转换所需的简单的计算。这些包括在转换MPEG-1Audio,和产生AC-3专用首部时适当地设置stream_id。
仍如该图所示,通过使作为对约束SESF编码的系统复杂化的最大因素的音频数据传送时间最小,可简化缓存器管理。
由于在传送音频多路复用单元时不能传送视频数据和其它PSI/SI数据分组,整个传送率下降(即图像质量下降),并且随着传送时间增加,视频数据必须在传送流上更早地被传送(因而使系统编码复杂化)。因此,音频多路复用单元传送时间最好尽可能短。
换句话说,以较短的时间传送音频多路复用单元是指提高音频传送率。这与减小作为T_STD和P_STD之间的主要差别的可允许音频输入速率之间的差别相联系。其主要益处也是简化必须符合两种解码器模型的约束SESF的产生。
图67示出了当以每个比特率存储AC-3和MPEG-1Audio时,约束SESF中允许的音频比特率和存储到一个音频PES数据分组的最大有效负载。由于比这里所示的字节长度长的数据不会存储到一个音频PES数据分组中,所以插入填充数据分组。
<PES数据分组中的约束>
包括音频帧的整数的PES数据分组的整数可以被存储在多路复用单元的整数中,以便增加转换的MPEG-PS数据包中能够存储的数据量,从而实现有效的多路复用。然而,在这种情况下,该转换期间的PTS计算可能出现问题。
DVD标准规定在音频PES数据分组中开始的音频帧中的第一个音频帧的PTS应该被描述为音频PES数据分组的数据分组首部中的PTS。
在TS2PS转换中,可能有在转换到MPEG-PS(DVD)后,在PES数据分组的首部处的音频帧不符合转换前在与约束SESF多路复用的PES数据分组的首部处的音频帧的情况。因此,在本发明中,根据约束SESF进行多路复用处理,以使转换后的MPEG-PS的数据包的PES数据分组中的音频帧中的第一个音频帧总是包括PTS。于是,不需要重新计算和获得TS2PS转换中的PTS。
因此,能够进行有效的安排,以使多路复用单元中的整个音频帧中的第一个音频帧是多路复用单元中PES数据分组的有效负载中的音频帧中的第一个音频帧(即,必然记录有PTS的音频帧)。因此,根据本发明的约束SESF定义多路复用单元中的整个音频帧中的第一个音频帧是多路复用单元中PES数据分组的有效负载中的音频帧中的第一个音频帧。还可以定义该定义,以使起始字节在多路复用单元中首先开始的音频帧是多路复用单元中PES数据分组的有效负载中的第一个音频帧。由该定义限定的约束是约束SESF的约束之一,因此,能够通过参考编码条件标记来判断是否满足该定义。
图85是表示以满足上述定义的约束SESF格式化的MPEG-TS和从其转换的MPEG-PS。
PES数据分组411,412或413的PES数据分组首部包括每个PES数据分组411,412或413中包括的音频帧中的第一音频帧(AF#1,AF#5或AF#8)的PTS值(PTS#1,PTS#5或PTS#8)。
第一多路复用单元(401)包括PES数据分组411的所有数据和PES数据分组412的部分数据。
第一多路复用单元(401)中的第一完整音频帧是作为PES数据分组411的有效负载中的第一音频帧的音频帧#1,因此满足上面的定义。对于第二多路复用单元(402),第二多路复用单元(402)中的第一完整音频帧是作为PES数据分组413中的有效负载中的第一音频帧的音频帧#8,因此满足上面的定义。应该指出,虽然第二多路复用单元(402)包括紧接PES数据分组首部的音频帧#7的后半部分,音频帧#7的后半部分是音频帧的一部分,而不是完整的音频帧。因此,这不是用于考虑上面的定义的条件。
第一多路复用单元(401)中包括的PES数据分组411的PES数据分组首部包括PES数据分组首部之后的音频帧(AF)的第一音频帧#1的PTS值(PTS#1)。第二多路复用单元(402)包括第二多路复用单元之后的音频帧(AF)中的第一完整音频帧#8的PTS值(PTS#8)。
当第二多路复用单元(402)转换成MPEG-PS时,多路复用单元(402)中包括的PES数据分组首部中存储的PTS值,多路复用单元(402)中包括的PES数据分组首部中存储的PTS值(PTS#8)的值被照原样复制到目标MPEG-PS中的PES数据分组首部。于是,在PS2TS转换中足够复制PTS值,从而简化该过程。
接下来,描述PES数据分组包括视频数据的情况。作为有关包括视频数据的PES数据分组的约束SESF的约束之一,可以定义包括I-画面的PES数据分组从多路复用单元的首部开始。
图86示出了满足上面的定义的例子。在图86中,PES数据分组416包括I-画面,PES数据分组的PES数据分组的首部存储I-画面的PTS值(PTS#2)。PES数据分组416位于多路复用单元(404)的首部。
在转换的MPEG-PS的数据包中,PES数据分组首部421中存储的PTS值(PTS#2)指出了紧接在PES数据分组首部421之后的I-画面。多路复用单元(403)存储PES数据分组415的有效负载中包括的P-画面。用NULL数据分组填充多路复用单元的剩余部分以使I-画面对准下一个多路复用单元(404)。
当多路复用单元(404)被转换成MPEG-PS时,多路复用单元(404)中的PES数据分组首部的值(PTS#2)被复制到MPEG-PS数据包的PES数据分组首部421。因此,只复制PES就足够了,而不需要计算PTS,从而简化了该过程。
<TS2PS转换处理过程>
以下参考图68至图81中的流程图详细说明TS2PS转换处理过程。
图68是主TS2PS转换处理过程的流程图。这个过程在用户输入TS2PS转换请求时开始。数据记录装置搜索转换从其开始的SESF包封(S11),并确定要处理的SESF包封是否出现(S12)。如果不是,处理过程结束。如果SESF包封出现,那么运行初始化处理过程(S13)和包封单元处理过程(S14)。
参考图69的流程图说明初始化处理过程(S13)。这个处理过程设置和初始化后续处理过程中使用的变量和其它参数。
首先确定是否已读出了一个Tip数据分组(S21)。如果还没有读出Tip数据分组,那么读出Tip数据分组(S22)。然后,将Tip数据分组的ATS值设置给变量ATSTip(S23),把Tip数据分组的PCR值设置给变量PCRTip(S24)。把规定被处理的多路复用单元的数量的变量MU_num设置为0(S25),和把指示ATS溢出发生多少次的变量WA设置为0(S26)。
参考图70的流程图说明包封单元处理过程(S14)。该处理过程通过读出一个TS数据分组来开始(S31),然后检测读出的TS数据分组是否是一个Tip数据分组(S32)。如果读出的是一个Tip数据分组,那么处理过程结束。如果不是一个Tip数据分组,那么确定读出的TS数据分组是否包含一个音频数据分组或视频数据分组(S33)。如果读出的TS数据分组既不包含音频数据分组也不包含视频数据分组,那么控制环路回到步骤S31,并且顺序地读出TS数据分组,直到读出的TS数据分组是音频数据分组或视频数据分组(重复S31至S33)。
当读出的TS数据分组是音频或视频数据分组时,那么也读出接下来的10个TS数据分组(S34)。然后递增MU_num(S35)。把多路复用单元中的第一TS数据分组的ATS值存储到变量ATS[MU_num](S36)。把存储到多路复用单元的PES数据分组中的有效负载数据的字节长度设置到payload_len(S37)。然后,运行数据包单元处理过程(S38)。
如图71中的流程图所示,数据包单元处理过程包括SCR计算过程(S41),数据包首部处理过程(S42),数据分组首部处理过程(S43),有效负载处理过程(S44),和填充数据分组处理过程(S45)。以下说明这些过程。
参考图72中的流程图说明SCR计算过程。
这个过程确定数据包的SCR值。第一步是参考变量MU_num,以确定多路复用单元是否是SESF包封中的第一多路复用单元(S51)。如果它是第一多路复用单元,那么把ATSTip的值设置给变量ATS[0],并且把变量PCRTip的值设置给变量SCR[0](S52-S53)。
然后,比较ATS[MU_num]和ATS[MU_num-1](S55)。把多路复用单元中的第一数据分组的ATS值存储到ATS[i]。该ATS值代表参考一个特定数据分组的相对传送定时。因此,每个随后的数据分组的ATS值一般高于在前数据分组的ATS值。但是,由于ATS通常被约束为以30个比特表示的有限值,因此,可能发生ATS溢出。在这种情况下,某个数据分组的ATS值可能小于在前数据分组的ATS。步骤S54监视ATS值的这种倒转,以确定何时发生ATS溢出。如果ATS[MU_num]不大于ATS[MU_num-1],即,如果发生ATS溢出,那么递增变量WA(S55)。
将SCR[MU_num-1]+T和(PCRTip+ATS[MU_num]-ATSTip+WAxBS)中较大的一个设置到SCR[MU_num](S56)。
参考图73的流程图说明数据包首部处理。
这个处理过程编辑图60中所示数据结构中的数据包首部数据。首先把SCR除以300的余数插入到SCR_extension(S61),并且把商设置给SCR_base(S62),把program_mux_rate设置到“0x6270”(S63),和把pack_stuffing_length设置到“000b”写入(S64)。然后,适当地编辑其它字段以完成数据包首部数据(S65)。
参考图74说明数据分组首部处理过程。
这个处理过程以运行一个用于设置流ID的流ID过程开始(S71)。然后确定多路复用单元是否包含视频数据(S72)。当多路复用单元包括视频数据时,确定多路复用单元中的起始TS数据分组是否包括PES数据分组首部(S73)。如果多路复用单元中的第一TS数据分组包含一个PES数据分组首部,那么运行视频PES数据分组引导过程(S74),否则运行PES数据分组非引导过程(S75)。可以通过读出TS数据分组首部的payload_unit_start_indicator,或通过直接检测是否存储了PES数据分组首部开始代码来确定多路复用单元的第一TS数据分组是否包含一个PES数据分组首部。
与此相反,当多路复用单元不包括视频数据时,判断多路复用单元是否包括PES数据分组首部(S76)。当多路复用单元包括PES数据分组首部时,执行音频PES数据分组引导过程(S77),否则,执行音频PES数据分组非引导过程(S78)。
参考图75的流程图说明流ID处理过程。
这个处理过程设置stream_id字段的值。如果被处理的流类型是“MPEG-2Video”,那么把stream_id设置到“0xE0”(S81,S82)。如果流类型是“AC3-Audio”,那么把stream_id设置到“0xBD”(S83,S84)。如果流类型是“MPEG-1Audio”和“Primary audio”,那么把stream_id设置到“0xC0”(S85,S86,S87)。如果流类型是“MPEG-1Audio”和“Secondary audio”,那么把stream_id设置到“0xC1”(S85,S88,S89)。
参考图76的流程图说明PES数据分组引导过程。
图81详细示出了根据MPEG标准的PES数据分组的结构。这个处理过程编辑根据图83所示的结构编辑PES数据分组字段。
首先,产生与在多路复用单元的首部的TS数据分组中存储的第一PES数据分组首部相同的PES数据分组首部作为转换的MPEG-PS的PES数据分组首部(S91)。接下来,把PES数据分组的长度设置为由下面的等式确定的值(S92)。
PES_packet_length=(3+PES_header_data_length)+payload_len
然后,确定PES扩展标记是否为“1”(S93)。当PES扩展标记是“1”时,用确定的值(0x1E60E8)重写从PES专用数据标记到P STD缓冲器大小的3个字节(S94)。
下面参考图77中的流程图描述视频PES数据分组非引导过程。
将PES数据分组首部设置为临时值(0x000001E007EC800001FF)(S111)。确定(2025-payload_len)的值是否在1和8之间(S112)。
如果(2025-payload_len)的值不小于8,该控制进行到步骤S116。
如果(2025-payload_len)的值在1和8之间,将PES首部数据长度设置为(2025-payload_len)(S113),并将PES数据分组长度设置为由下面的等式确定的值(S114)。
PES_packet_length=(3+PES_header_data_length)+payload_len
然后,用具有(2024-payload_len)字节长度的填充字节填充该填充字节(S115),并且控制进行到步骤S116。
在步骤S116,确定(2025-payload_len)的值是否小于8。如果不小于8,将PES首部数据长度设置为0(S117)并将PES数据分组长度设置为由下面的等式确定的值(S118)。
PES_packet_length=3+payload_len
然后,从填充字节除去填充字节中的一个字节(S119)。
下面参考图78描述音频PES数据分组引导过程。
首先,产生与多路复用单元中首先出现的PES数据分组首部相同的PES数据分组首部作为转换的MPEG-PS的PES数据分组首部(S181)。接下来,将PES_packet_length设置为由下面的等式确定的值(S182)。
PES_packet_length=(3+PES_header_data_length)+payload_len
然后,确定PES扩展标记是否为“1”(S183)。如果PES_extension_flag是“1”,将P STD_buffer_flag设置为1(S184)。然后,确定音频数据是否是AC-3音频(S185)。如果音频数据是AC-3音频,将PES_extension flag_2后的两个字节设置为预定值(0x603A)(S186)。如果音频数据不是AC-3音频,将PES_extension_flag_2后的两个字节设置为预定值(0x4020)(S187)。
下面参考图79描述音频PES数据分组非引导过程。
确定stream_id是否是“0xBD”,就是说,音频数据是否是AC-3音频(S191)。如果stream_id是“0xBD”,将PES数据分组首部设置为临时值(0x000001BD0000800004FFFFFFFF)(S192)。然后,将PES_packet_length设置为由下面的等式确定的值(S193)。
PES_packet_length=7+payload_len
如果stream_id不是“0xBD”,确定stream_id是否是“0xC0”,就是说,音频数据是否是MPEG-1主要音频(primary audion)(S194)。如果音频数据是MPEG-1主要音频,将PES数据分组首部设置为临时值(0x000001C00000800000)(S195)。如果不是MPEG-1主要音频,将PES数据分组首部设置为临时值(0x000001C10000800000)(S196)。然后,将PES_packet_length设置为由下面的等式确定的值(S197)。
PES_packet_length=7+payload_len
下面参考图80的流程图说明有效负载处理过程。
首先,设置变量i(S121),并读出存储到第i个TS数据分组的PES数据分组的有效负载数据(S122)。然后把存储到第i个TS数据分组的PES数据分组的有效负载数据添加到数据包的有效负载数据(S123),并使变量i递增(S124)。重复这些步骤,直到变量i大于12(S125)。就是说,重复该过程直到处理了一个多路复用单元中包含的所有TS数据分组(S122至S125)。
参考图81的流程图说明填充数据分组的处理过程。
确定是否将PES_packet_length设置到2028(S131)。如果PES_packet_length不等于2028,那么把填充数据分组的PES_packet_length设置到{(2028-PES_packet_length)-6}(S132),并且把填充数据分组加到有效负载之后(S133)。
可以参考多路复用单元中首先出现的PES数据分组首部设置按如上所述的方式转换的MPEG-2的PES数据分组中描述的PTS(见图85和86)。
此外,由于上面把指示视频PES数据分组的长度的PES_packet_length设置为0,存在着直到完成数据向数据包写入为止,在转换到数据包之后不能确定数据分组首部的PES_packet_length的问题。可将SESF包封中的每个视频PES数据分组的PES_packet_length写到Tip数据分组。因此,可由TS数据分组单元的后续处理确定PES_packet_length,并可更快速地进行转换。
此外,上面随着TS2PS转换期间的计算说明了数据包首部(SCR),但是也可预先将数据包首部存储到MPEG_TS中存储的PES数据分组首部。例如,可以利用设置到1b的PES数据包首部中的pack_header_field_flag将TS2PS转换后的数据包首部存储到PES数据分组首部。存储到存储数据包首部的数据包的数据包括存储到从该TS数据分组到按规定的规则(例如,对TS数据分组的特定编号)确定的TS数据分组的数据分组中的数据。
(连续STC部分中视频画面的约束)
如图87A所示,在连续的STC(系统目标解码器参考时间时钟)部分中,在第一个完整SESF包封中首先出现的视频画面(Pf)可以是顶场,在最后一个完整SESF包封中最后出现的视频画面(P1)可以是底场。图87B示出了不满足该规则的情况,其中第一个完整SESF包封中首先出现的视频画面(Pf)是底场,而最后一个完整SESF包封中最后出现的视频画面(P1)是顶场。在完整的SESF包封的连续部分中如上所述约束出现的视频画面的方式的原因是由于能够防止对转换到VOB的DVD视频进行视频流重新编码(如果没有发生记录流的编辑)。这是由于DVD标准需要一个VOB中的视频数据的再现在顶场开始并在底场结束。
上述约束是约束SESF的约束之一,因此能够参考编码条件标记来判断是否满足上面的约束,通过参考该标记,使其能够判断在连续的STC部分中,在第一完整SESF包封中首先出现的视频画面是顶场,在最后一个完整SESF包封中最后一个出现的视频画面是底场。
图88是根据上述约束提供的约束SESF来执行记录过程的流程图。
首先,开始连续STC的产生(S201)。接下来,获取预设编码条件的值(S202)。在使用者或记录器的初始设置时预先设置该编码条件的值等等。确定编码条件是否是“11b”(S203)。当编码条件是“11b”时(以DVD视频模式记录),确定第一完整SESF包封是否被编码(S208)。当第一完整SESF包封被编码时,进行编码过程,以使第一完整SESF包封中首先要出现的画面是顶场(S209)。接下来,将该数据编码为满足作为“11b”的编码条件的要求的约束SESF(S210)。
当编码条件是“01b”时(以DVD视频记录模式记录),将该数据编码为满足作为“01b”的编码条件的要求的约束SESF(S204)。
接下来,每当完成SESF包封时更新时间映射信息(S205)。确定记录是否结束(S206)。当记录结束时,执行结束记录过程(S207)。重复上面的步骤S203至S205,直到记录结束为止。
下面参考图89描述结束记录过程。
确定编码条件是否是“11b”(S211)。当编码条件是“11b”时,确定最后一个完整SESF包封中最后一个要出现的画面是否是底画面(S212)。当该画面不是底画面时,执行编码过程,以便产生新SESF,或完成正在被编码的SESF,并使最后出现的画面作为底画面(S213)。
当编码条件不是“11b”时,产生满足作为“01b”的编码条件的要求的最后一个SESF包封(结束编码)(S214)。
接下来,完成时间映射信息并记录在记录介质中(S215)。
<无缝连接>
下面参考图90说明在约束SESF中无缝连接两个VOB(系统流)的约束。无缝连接是一种允许两个分离VOB(系统流)在时间上连续再现的连接。图90示出了无缝连接分别由Cell#1和Cell#2指定的VOB#1和VOB#2。从文献中可以知道有各种不同的无缝连接方法(例如,见美国专利5,923,869)。
蓝光盘(BD)标准,即,下一代记录介质的标准,说明了PGC中每个Cell到时间在前的Cell的连接。例如,图90中的Cell#2包含说明对在Cell#2之前再现的Cell(Cell#1)的连接的信息(“连接信息”)。将这种连接信息叫作连接条件,并且存储在VOB管理信息(VOBI)中。
可以将连接条件设置为以下值。
1:正常非无缝连接;
2:正常非无缝连接;
3:无缝连接(通过Bridge-VOB);
4:无缝连接(不通过Bridge-VOB)。
如果连接条件是3或4,那么一个特定Cell满足到在前Cell的无缝连接的条件。在图90所示的例子中,Cell#1的连接条件是1。这意味着Cell#1不是无缝连接到在前Cell。与此相反,Cell#2的连接条件是4,因此,意味着Cell#2无缝连接到在前Cell#1。
如果编码条件=01b或11b,即,如果VOB#1和VOB#2是约束SESF,那么,即使在转换到BD标准时,由以BD标准无缝再现的Cell#1和Cell#2组成的PGC#1也能直接高速转换(TS2PS转换)。
为了能够这样,需要用于TS2PS转换的目标部分包括一个完整的SESF Capsule(包封)。即,至少要求SESF Capsule的开头必须紧接着无缝连接的后面。也就是说,如图90中所示,紧随无缝连接X之后的流必须以作为指示一个Capsule的开始的数据分组的Tip数据分组303开始。因此,从紧接着无线连接点之后的Capsule的开头开始,允许紧随无缝连接之后继续视频显现。另一个条件是,一个完整的包封必须在无缝连接的前面结束。
以下参考图91说明在连接条件=3的情况下,约束SESF中的无缝连接。
在连接条件=3下的无缝连接,按时间顺序在前显现的VOB和接下来显现的VOB通过一个Bridge(桥)-VOB连接。Bridge-VOB是一个通过从要无缝连接的引导VOB和拖后VOB提取Bridge-VOB的第一和第二半部,然后重新编码提取部分以允许无缝显现而产生的VOB。例如,在未审查U.S.专利申请2002-90197中,说明了将Bridge-VOB用于无缝连接。
在图91中,PGC#1通过以下的显现路径再现VOB#1和VOB#2。VOB#1从Start_SPN1到exit_to_Bridge_SPN再现(301),然后,从开头到结尾再现Bridge-VOB(304),最后,从Return_from_Bridge_SPN到END_SPN(时间映射表上End_PTM2的位置)再现VOB#2(302)。Start_SPN1,exit_to_Bridge_SPN,和return_from_Bridge_SPN代表一个TS数据分组地址。该信息包含在VOB管理信息VOBI中。
当把Bridge-VOB用于进行无缝连接时,Bridge-VOB的紧随VOB#1的内容结束和VOB#2的内容开始的无缝连接X之后的部分必须以一个完整的Capsule开始,即,必须从Tip数据分组303开始。此外,紧靠无缝连接之前的部分必须以一个完整的Capsule结束。
以下参考图92进一步详细说明使用Bridge-VOB的无缝连接。在这个例子中,利用一个Bridge-VOB无缝连接具有编码条件=11b的VOB(即,VOB符合一个约束SESF),然后,将无缝连接的流转换到DVD格式。
参考图92,VOB#1(301)包括四个标记为Capsule 1-1至Capsule 1-4的Capsule(包封),VOB#2(302)包括四个标记为Capsule 2-1至Capsule2-4的Capsule。Bridge-VOB 304包括Capsule 1-3’,Capsule 14’,Capsule2-1’和Capsule 2-2’。Bridge-VOB 304的第一半,即,Capsule 1-3’和Capsule1-4’,是从无缝连接前面的VOB 301中的Capsule 1-3和Capsule 1-4生成的。Bridge-VOB 304的第二半,即,Capsule 2-1’和Capsule 2-2’,是从无缝连接后面的VOB 302中的Capsule 2-1和Capsule 2-2生成的。
在BD标准中,VOB是由被称作“对准单元(Aligned Unit)”的单元构成的。一个单独的对准单元包含三十二个源数据分组,并且是6KB长,每个源数据分组包含ATS和TS数据分组的集合(组)。
当在BD标准中使用Bridge-VOB时,在前VOB离开的点(exit_to_Bridge_SPN)和下一个VOB进入的点(return_from_Bridge_SPN)都必须在对准单元边界。
取代从SESF的中间建立Bridge-VOB而从SESF Capsule单元建立Bridge-VOB(见图92)提供了更好的视频/音频数据对准,并且更清楚地定义了用于重新编码过程的单元。结果,从到Bridge-VOB的连接的立场看,最好是在一个约束SESF中将SESF Capsule边界与对准单元边界预对准。这可以通过用空数据分组填充到对准单元边界的SESF Capsule的尾部来容易地完成。
从在对准单元对准的SESF Capsule,更具体地讲,在本例中,从VOB#1(301)中的Capsule 1-3和Capsule 1-4以及VOB#2(302)中的Capsule2-1和Capsule 2-2产生的Bridge-VOB 304在Capsule 1-4’和Capsule 2-1,之间具有STC时基和ATS时基上的不连续点。
如上所述,在连续的ATS/STC时线上转换SESF Capsule是简单的,因此,紧接着Bridge-VOB中无缝连接之前和之后的Capsule必须都是完整的Capsule,以便允许TS2PS转换而不丢失音频/视频数据。这表明在图92所示的例子中,无缝连接前面的Capsule 1-4’和后面的Capsule 2-1’必须是完整的SESF Capsule。
此外,根据从Bridge-VOB的编码条件=11b要求的条件,Bridge-VOB304中最后的Capsule 2-2’作为最后的完整SESF Capsule应当具有0.4至1.2秒的显现时间。但是,当把Capsule 2-2’转换到DVD格式时,如果在从Capsule 2-1’,2-2’,2-3和2-4转换的DVD VOB中,转换的Capsule 2-2’的显现时间大于1.0秒,那么与DVD标准的兼容性很差,并且需要重新编码。因此,Bridge-VOB 304中最后Capsule 2-2’的显现时间(即,包含Bridge-VOB 304中最后TS数据分组的Capsule)必须大于或等于0.4秒和小于或等于1秒。这也应用在Bridge-VOB 304中最后Capsule不是完整的Capsule的时候。
如果在Bridge-VOB 304的末尾的最后的Capsule 2-2’是一个不完整的Capsule,那么尽管作为Bridge-VOB 304中记录的最后Capsule的Capsule的第一半,和作为从return_from_Bridge_SPN到VOB#2(302)记录的Capsule的Capsule的第二半存储在分离的文件中,一个逻辑完整的Capsule的视频显现时间必须大于或等于0.4秒和小于或等于1秒。
此外,Bridge-VOB 304中的第一Capsule 1-3’(即,包含Bridge-VOB304中第一TS数据分组的Capsule)的显现时间必须大于或等于0.4秒和小于或等于1秒,以便保持与DVD标准的兼容性。
此外,无缝连接前面的VOB#1中的最后Capsule 1-2也必须是完整的Capsule。这是为了能够对无缝连接前面的VOB进行高速TS2PS转换,而不丢失无缝连接处的AV信息。
完整Capsule必须满足以下条件。
1)Capsule必须以一个Tip数据分组开始(即,包括一个Tip数据分组意味着一个Capsule的开始)。
2)Capsule包含一个或更多的GOP。
3)音频流和视频流完整地包含在Capsule内。每个流从Capsule中存取单元的第一字节开始,并且在存取单元的最后字节结束。
4)Capsule中的视频流以跟随一个序列首部代码和组开始代码的I-画面开始。
5)如果最后Tip数据分组是在相同的STC顺序,那么从在前Capsule中最后多路复用单元得到的SCR与随后Capsule中的Tip数据分组的PCR之间的时间差必须大于或等于43886/27Msec。
(这是约束,以保证在把Capsule N+1转换到VOBU N+1时,从Capsule N转换的第N个VOBU的传送结束时间在从Capsule N+1转换的VOBU N+1的传送开始时间之前。)
6)Tip数据分组和包含音频或视频流的第一连续数据分组的到达时间的差必须是43886/27Msec.或更多。
(这是约束,以保证在把Capsule转换到VOBU时,有足够的时间间隙将一个Navi Pack(如果是DVD-视频)或一个RDI Pack(如果是DVD-VR)加到VOBU的开头。)
7)除了一个连续的STC序列中的最后完整Capsule之外,Capsule中的视频数据的显现时间必须是0.4秒至1.0秒。
当编码条件=01b时,一个连续STC序列中的最后完整SESF Capsule中的视频数据的显现时间小于或等于1.0秒,并且当编码条件=11b时,是0.4秒至1.2秒。
8)STC必须在Capsule内连续。
9)传送数据分组的适配字段()中程序时钟参考基础(33比特长)中的最高比特是0b。
图93示出了在连接条件=3和编码条件=01b的情况下的无缝连接的例子。
如同图92中所示的情况一样,包含Bridge-VOB 304中最后TS数据分组的Capsule 2-2’的显现时间也必须大于或等于0.4秒和小于或等于1秒,无论它是否是一个完整的Capsule,以便能够高速转换到DVD-VR流。包含Bridge-VOB中第一TS数据分组的Capsule 1-3’的显现时间也必须大于或等于0.4秒和小于或等于1秒,以便能够高速转换到DVD-VR流。此外,紧接着无缝连接之前的Capsule 1-4’(由于它是STC序列中的最后完整Capsule,所以具有1.0秒或更小的显现时间)和紧接着无缝连接之后的Capsule 2-1’也必须是完整的Capsule。如果这些条件被满足,那么可以满足DVD标准的条件,而无需在从约束SESF到MPEG-2程序流的格式转换中重新编码。
<处理无缝连接点附近的音频帧>
以下说明在从BD标准到DVD标准的格式转换(“TS2PS转换”)过程中处理无缝连接附近的音频帧。
如图94A中所示,在BD标准中,必须编码无缝连接处的两个VOB,以包括具有在无缝显现时间tc的显现时间的对应音频抽样(即,没有音频间隙)。但是,在如图94B中所示的DVD标准中,必须在无缝连接点编码VOB,以便有一个包括无缝显现时间tc的音频间隙。
因此,在包括一个无缝连接点的约束SESF的TS2PS转换过程中,必须删除如图94A中所示的重叠音频帧a6和a7,并且如图94B中所示插入一个音频间隙。当通过删除音频帧转换第二半中的无缝连接的VOB(图94中阴影线指示的VOB)时,必须将音频数据包的PTS修改和调节到音频帧a8。作为选择,可以适当地移位音频数据包的PTS以消除重叠,以取代删除重叠音频帧。
作为替换,可以取代提供音频间隙,如图95B中所示,可以删除重叠音频帧a6和a7,并且可以将为了与音频帧a5无缝播放而重新编码的音频帧a8’插入到随后的VOB的开头,从而不留下音频间隙。但是,这造成音频帧a8’之后的所有音频帧的显现时间移位。因此,在这种情况下需要一个分离的过程将包含这些音频帧的音频数据包的PTS超前(t4-t3)。即使在不存在音频间隙的时候,也可以适当地移位音频数据包PTS以消除任何重叠,来取代删除重叠音频帧。
以上说明了在从BD标准转换到DVD标准(TS2PS转换)时处理音频帧。当从DVD标准转换到BD标准时,必须将无缝连接点附近的音频间隙转换到重叠。
这是通过加入音频帧(例如,图94中的音频帧a6和a7)进行的,以使在视频流的无缝连接时(图94中的时间tc)VOB中存在音频数据。加入的音频帧可以是不提供声音的音频帧。
对于引导VOB和随后VOB,加入的音频帧的数量最多是一个帧。这是由于DVD标准中音频间隙具有一个帧或更少的时间长度,并且通过加入一个帧可以确保两个无缝连接的VOB在无缝连接时间tc都具有音频数据。如果VOB在时间tc已经具有音频数据,那么不需要将音频帧加到该VOB。
<在无缝连接处要考虑的时间标记偏移>
以下说明在无缝连接的VOB的TS2PS转换过程中计算时间标记时应当考虑的偏移。
DVD-Video标准需要每个VOB中的第一NV PCK(导航数据包)中SCR=0。这是由于在MPEG STC时间基础上,每个VOB输入到在0开始的解码器(系统目标解码器)。但是,这并不能通过允许诸如删除引导部分之类的编辑的记录系统标准保证。因此,可以通过在流转换过程中将预定量的偏移加到MPEG时间标记(SCR/PCR,PTS,DTS),使得转换的VOB中第一数据包的SCR从0开始。
以下参考图96说明确定这个偏移的操作。图96示出了无缝连接包含Capsule 1和Capsule 2的在前流(对应于VOB)和包含Capsule 3和Capsule4的随后流的例子。Capsule 1和Capsule 2分别相应于VOBU1和VOBU2,Capsule 3和Capsule 4分别相应于VOBU3和VOBU4。
为了将一个VOB(MPEG-2传送流)转换到一个VOB(DVD-VideoMPEG-2程序流),将SCR复位到通过将以前SCR运算(图72)得到的SCR值,负offset-1,就足够了。至于PTS和DTS,它也足以将它们均匀地复位到以前的(转换之前的)PTS或DTS,负offset-1。设置不同的偏移(offset-2),这个偏移用于将两个VOB(MPEG-2传送流)转换到一个VOB(MPEG-2DVD-Video程序流)。在图96所示的例子中,offset-2是用于将VOBU3时间连续地连接到VOBU2的偏移。
当不转换到DVD-Video MPEG-2程序流时(例如,当转换到DVD-VRMPEG-2程序流时),由于VOB中开头数据包的SCR不必设置到0,所以可以将offset-1设置到任何希望的值(例如,0)。
如图96中所示,当TS2PS转换无缝连接点之前的VOB时,可以使用从由上述计算得到的SCR移位offset-1而移位的SCR。当TS2PS转换无缝连接点之后的VOB时,将SCR移位offset-2,从而使得引导VOB的视频帧的显现结束时间重叠无缝连接点后面的VOB中的第一视频帧的显现开始时间,或如果转换到无缝连接点两侧的两个VOB时,也可以将offset-1用于无缝连接点后面的VOB。offset-1和offset-2如下获得。
offset-1=PCRtip1
offset-2=FVFPST3-(FVFPST2-offset-1+VOBU2中所有视频帧的显现时间)
如上所述,转换到DVD-Video MPEG-2程序流需要offset-1,而转换到DVD-VR MPEG-2程序流则不需要。此外,在将两个VOB转换到一个VOB时,第二VOB需要offset-2,但是,如果在转换过程中VOB没有被链接,那么不需要offset-2。
使用来自上述公式的offset-1能够在无缝连接的引导侧的VOB中的第一VOBU(图96C中的VOBU1)的第一数据包(NV PCK或RDI PCK)中将SCR设置到0。
利用来自上述公式的offset-2,使得能够在与无缝连接的引导侧的VOB中的最后数据包STC时基连续的无缝连接的随后侧的VOB中,提供第一VOBU(图96C中的VOBU3)的第一数据包(NV PCK或RDI PCK)的SCR。结果,可以实现向一个VOB的TS2PS转换。
<无缝连接的约束SESF的TS2PS转换>
以下参考图97至图100说明约束SESF中无缝连接的两个VOB的TS2PS转换的过程。
图97说明了当连接条件=4时的无缝连接的VOB的过程,图98至图100说明了当连接条件=3(即,使用了Bridge-VOB的无缝连接)时的无缝连接VOB的过程。在这两种情况下,转换都基于在不进行无缝连接时使用的以前所述的TS2PS转换过程,并且包括根据偏移计算时间标记的过程,和删除重叠音频帧的过程。
参考图97,说明在连接条件=4时无缝连接的两个VOB的TS2PS转换过程。
首先确定是否存在任何重叠音频帧,并且在存在重叠时,删除重叠的音频帧(S301)。例如,在图94中,删除了音频帧a6和a7。以下说明这个过程的详细情况。
在流转换的同时很容易,并且优选是在流转换的同时,确定是否删除重叠的音频帧。首先确定无缝连接点tc前面的VOB中的音频数据的显现结束时间(t2)。如下说明的那样,从无缝连接前面的VOB中的最后音频PES数据分组的PTS值(PTSp),存储在PES数据分组的有效负载中的音频的数据大小(Lpes bit),存储在相同有效负载中的一个音频帧的数据大小(Lfrm bit),和有效负载时间长度(90kHz单位的Dfrm时钟),计算显现结束时间(t2)。
t2=PTS+(Lpes/Lfrm)*Dfrm(单位=90kHz时钟)
以下为了简明,假设将整数的固定比特率音频帧存储在PES数据分组中。
接下来,获得无缝连接点tc之后时间来到的VOB中的音频数据的显现开始时间(t1)。显现开始时间(t1)是随后的VOB中第一音频PES数据分组的PTS值(PTS)。
t1=PTSs(单位=90kHz时钟)
如果t2<tc<t1,那么确定存在音频间隙,这表明音频帧不重叠。因此,在这种情况下,不需要加上音频间隙的过程,并且可以如上所述地运行转换过程。
但是,如果t1-t2>Dfrm,那么音频间隙比一个帧长,因此可以加入音频帧,直到t1-t2<Dfrm。
此外,如果t2=tc=t1,那么既没有音频间隙也没有重叠,因此,既不需要加入和不需要删除音频帧,并且可以如上所述地运行转换过程。
如果这些情况都不存在,那么在无缝连接具有音频重叠,并且在转换过程中要在满足t1-t2<Dfrm的范围中去除音频帧,以便消除重叠。为了除去音频帧,需要通过例外(exception)处理来设置代表PES数据分组数据大小的PES数据分组长度,和代表第一音频帧的PTS的PTS字段值,以对值进行纠正。
以上说明了除去音频帧的一种方法,但是,应当指出,也可以使用其它方法来除去重叠音频。例如,可以通过将无缝连接点后面的VOB中的所有音频PTS值移位到大于或等于(t2-t1)和小于(t2-t1+Dfrm)的拖后时间来除去重叠。
返回到图97,在除去音频帧重叠之后,确定是将两个无缝连接的VOB产生为转换后的两个分离的VOB,还是一个连续的VOB(S302)。如果“是”(则创建两个VOB),那么将无缝连接点前面的VOB和无缝连接点后面的VOB独立地转换成MPEG-PS,并最终创建两个VOB。如果“否”,那么将无缝连接点前面的VOB和无缝连接点后面的VOB转换成MPEG-PS,然后连接以创建一个VOB。
如果通过转换来创建两个VOB(S302返回是),那么确定是将VOB转换到DVD-Video还是DVD-Video记录标准(S303)。如果转换到DVD-Video标准(S303返回是),那么如上所述地得出offset-1,和使用TS2PS转换,同时利用offset-1纠正时间标记(S304)。如果转换到DVD-Video记录标准(S303返回否),那么使用TS2PS转换而不进行时间标记纠正(S307)。
当两个VOB的TS2PS转换结束时(S305返回是),将两个转换的VOB寄存在PGC管理信息(PGC)中,以便无缝地连接它们(S306)。这是通过,例如,将无缝连接点后面的VOB中的VOBI的连接条件(连接代码)设置到代表无缝连接的4而完成的。
如果不通过转换过程建立两个VOB(步骤S302返回否),那么确定offset-1和offset-2,并且在利用offset-1和offset-2纠正时间标记的同时,使用TS2PS转换(S309)。当两个VOB的TS2PS转换结束时(S310返回是),链接两个转换的VOB,并作为一个VOB寄存在管理信息(PGC)中(S311)。
然后,将转换的VOB和管理信息记录到信息记录介质的相邻数据区(CDA)中,以便能够连续播放(S308),然后,过程结束。
参考图98至图100,下面要说明在连接条件=3时两个无缝连接的VOB(通过Bridge-VOB无缝连接)的TS2PS转换过程。
首先,确定是否有任何重叠的音频帧,并在重叠音频帧区存在的时候,删除重叠的音频帧(S321)。接下来,确定在转换中是将两个无缝连接的VOB生成为两个分离的VOB,还是一个连续的VOB(S322)。
如果最终要建立两个VOB(S322返回是),那么确定是将VOB转换到DVD-Video还是DVD-Video记录标准(S323)。如果转换到DVD-Video标准(S323返回是),那么得出offset-1,并在利用offset-1纠正时间标记的同时,使用Bridge-VOB实施TS2PS转换(S324)。如果转换到DVD-Video记录标准(S323返回否),那么通过Bridge-VOB实施TS2PS转换,而不进行时间标记纠正(S327)。
当两个VOB的TS2PS转换结束时(S325返回是),将两个转换的VOB寄存在管理信息(PGC)中,以便无缝地连接它们(S326)。然后,将两个转换的VOB和管理信息记录到信息记录介质的相邻数据区(CDA),以便能够连接地显现(S328),然后结束过程。
如果步骤S322返回否,那么确定是要在转换后分离地建立包括两个无缝连接的VOB和Bridge-VOB的三个VOB,还是要建立一个连续VOB(S329)。如果要通过转换建立三个分离VOB(S329返回是),那么运行图99中所示的过程。如果要在转换后将三个VOB链接成一个单独的VOB(S329返回否),那么运行图100中所示的过程。
以下说明图99中所示的过程。
首先,确定要将VOB转换到DVD-Video标准还是DVD-Video记录标准(S331)。
当转换到DVD-Video标准时(S331返回是),如果要转换的VOB不是Bridge-VOB(S332返回否),那么确定offset-1,并且在利用offset-1纠正时间标记的同时,对VOB实施TS2PS转换(S334)。如果要转换的VOB是Bridge-VOB(S332返回是),那么确定offset-1和offset-2,并在利用offset-1和offset-2纠正时间标记的同时,对Bridge-VOB实施TS2PS转换。
当转换到DVD-Video记录标准时(S331返回否),如果要转换的VOB不是Bridge-VOB(S337返回否),那么对VOB实施TS2PS转换(S339)。如果要转换的VOB是Bridge-VOB(S337返回是),那么确定offset-1和offset-2,并且在利用offset-1和offset-2纠正时间标记的同时,对整个Bridge-VOB实施TS2PS转换(338)。
当三个VOB的TS2PS转换结束时(S335,S340返回是),将三个转换的VOB作为无缝连接的寄存在管理信息(PGC)中(S336)。很显然,在转换到三个VOB时,三个VOB的转换部分必须通过Capsule单元对准。否则,S329不能返回是,并且该过程从“否”分支继续。
以下说明图100中所示的过程。首先,确定DVD-Video标准和DVD-Video记录标准中的哪一个是该转换的目标(S351)。
当转换到DVD-Video标准时(S351返回是),如果要转换的VOB不是Bridge-VOB(S352返回否),那么确定offset-1,并且在利用offset-1纠正时间标记的同时,对VOB实施TS2PS转换(S354)。如果要转换的VOB是Bridge-VOB(S352返回是),则确定offset-1和offset-2,并且在利用offset-1和offset-2纠正时间标记的同时,对整个Bridge-VOB实施TS2PS转换(S353)。
当转换到DVD-Video记录标准时(S351返回否),如果要转换的VOB不是Bridge-VOB(S358返回否),那么对VOB实施TS2PS转换(S360)。如果要转换的VOB是Bridge-VOB(S358返回是),那么确定offset-1和offset-2,并在利用offset-1和offset-2纠正时间标记的同时,对整个Bridge-VOB实施方式TS2PS转换(S359)。
当三个VOB的TS2PS转换结束时(S355,S361返回是),那么将三个转换的VOB链接到一个单独的VOB(S356)。然后将一个转换的VOB寄存在管理信息(PGC)中(S357)。
以上说明了这个过程的基本流程,但是,为了将三个转换的VOB链接成一个连续的VOB,如果步骤S351返回是,那么需要分离的过程,利用与用于offset-2相同的方法,将该offset加到时间标记,从而使单独链接的VOB具有从SCR=0开始的连续时间标记。此外,即使步骤S351返回否,则需要分离的过程,利用与用于offset-2相同的方法,将该offset加到时间标记,从而使单独链接的VOB具有连续时间标记。
上述方法使得能够对包括无缝连接的系统流进行TS2PS转换。
通过由用户利用图20中所示的用户界面222指定转换部分,和通过系统控制器212利用有关转换部分的信息控制驱动器221,可以将图97至图100中所示的转换过程应用到记录介质100上的流。
也是通过利用图20中所示的用户界面222指定无缝连接的两个VOB,和通过系统控制器212控制驱动器221,以与转换过程中相同的方式,将无缝连接处的数据的重新编码过程应用到记录介质100上的流。
因此,即使在通过定义无缝连接的约束SESF的条件和定义其转换方法无缝连接内容流时,也能容易地以高速执行TS2PS转换。
在把外部输入的AV数据自编码成MPEG传送流格式时,上述本发明的数据记录装置和方法能够有效地对流进行编码和解码,同时保持解码器兼容性。
此外,由于用户专用数据可以存储在记录到数据记录介质上的流中,所以,可以增加MPEG传送流格式中记录的内容的加入值。
此外,由于流是以2KB或更小的块单元多路复用的,从而可以有效和容易地将记录到数据记录介质的MPEG TS转换成MPEG PS,可以十分容易地完成包括无缝连接点的从MPEG TS到MPEG PS的转换,而不用考虑缓存管理。
在以上说明中,尽管没有说明从MPEG-PS到MPEG-TS的逆转换,但是,可以将它类似地考虑为TS2PS转换的逆转换。例如,可以将其考虑为将一个PS数据包转换到多个连续的TS数据分组,多个连续的TS数据分组之间的ATS的递增是固定值,并且将这种信息存储在盘或流中。
当把MPEG-PS的片段的标题(指示内容的程序信息,等等)存储在SIT数据分组中,并且转换成MPEG-TS时,能够通过诸如STB之类的解码器显示原始程序标题。
尽管参考附图结合特定的实施方式说明了本发明,但是,应当指出,熟悉本领域的人员应当知道可以有各种不同的改变和修改。因此,本发明的范围并不限于特定的披露,而是限于所附的权利要求。本申请涉及2004年4月7日申请的日本专利申请2004-112981,该专利申请的内容结合在此作为参考。