数据处理装置、数据处理方法、程序、程序记录介质、数据记录介质和数据结构的制作方法

文档序号:6759163阅读:696来源:国知局
专利名称:数据处理装置、数据处理方法、程序、程序记录介质、数据记录介质和数据结构的制作方法
技术领域
本发明涉及数据处理装置、数据处理方法、程序、程序记录介质、数据 记录介质、和数据结构,特别涉及例如允许非常方便地处理数据的数据处理 装置、数据处理方法、程序、程序记录介质、数据记录介质、和数据结构。
背景技术
近年来,作为大存储容量和可随机访问的记录介质,例如数字通用光盘(DVD )得到了普及。另外,利用DVD进行各种处理的DVD设备也得到了普及。 作为DVD设备,存在向DVD和从DVD记录和再现电视广播节目等的DVD刻录机,采用在上面记录了地图信息等的DVD、从其中再现地图信息并显示此地图信息的汽车导航系统,采用在上面记录了游戏程序等的DVD、从其中读取程序并执行此程序的游戏设备,以及其它设备。例如在"DVD Specifications for Read-Only Disc Part 3; Version 1. 1December 1997"中描述了DVD的细节。例如DVD设备的可以处理大量数据的装置需要非常方便地处理数据。发明内容基于上述观点构造本发明,并且本发明的目标为非常方便地处理数据。 本发明是一种数据处理装置,包括计时部分,其以预定变量计数时间; 和设置部分,其检测访问单元是否具有时间戳并设置变量,从而当此访问单 元具有时间戳时设置部分以时间戳的值代入此变量,而当访问单元没有时间 戳时,此设置部分获得显示时间的信息并加上所获得显示时间的信息值。显示时间的信息可以是以待处理数据的 一场为单位表示显示时间的信自待处理的数据可以是视频数据或者字幕数据。 当所述设置部分获得所述显示时间的信息时,所述设置部分可以在开始
显示紧接当前访问单元之后的下一个访问单元的时刻加上该显示时间的信息 的值,并设置所述变量。当所述设置部分获得所述显示时间的信息时,所述设置部分可以在开始 显示紧接当前访问单元之后的下一个访问单元的时刻加上该显示时间的信息 的值,并设置所述变量。数据处理装置还可包括标记处理部分,其对预定访问单元在预定标记时 间戳的时间执行预定处理。当该对预定访问单元执行预定处理的标记时间戳 的时间为与由计时部分所计数的时间对应的显示时间时,所述设置部分可以 向该标记处理部分发送信息,所述信息表示由计时部分所计数的时间为标记 时间戳的时间,该标记处理部分可以根据所述信息对该预定访问单元执行该 预定处理。标记时间戳时间的最小间隔可以是访问单元的最大显示时间。 本发明是一种处理每个预定访问单元数据的数据处理方法,包括如下步骤以预定变量计数时间;检测访问单元是否具有时间戳并设置变量,从而 当此访问单元具有时间戳时把该时间戳的值代入此变量,而当访问单元没有 时间戳时获得显示时间的信息并加上所获得显示时间的信息值。本发明是一种程序记录介质的程序,此程序包括如下步骤以预定变量 计数时间;和检测访问单元是否具有时间戳并设置所述变量,从而当所述访 问单元具有时间戳时,把该时间戳的值代入所述变量,而当访问单元没有时 间戳时,获得显示时间的信息并加上所获得显示时间的信息的值。本发明是一种使计算机执行包括如下步骤的处理的程序以预定变量计 数时间;和^r测访问单元是否具有时间戳并设置所述变量,从而当所述访问 单元具有时间戳时,把该时间戳的值代入所述变量,而当访问单元没有时间 戳时,获得显示时间的信息并加上所获得显示时间的信息的值。本发明是一种数据记录介质,在其上记录由数据处理装置读取的数据, 此数据处理装置包括计时部分,其以预定变量计数时间;设置部分,其当 针对每个预定访问单元处理数据时,检测访问单元是否具有时间戳并设置所 述变量,从而当所述访问单元具有时间戳时,所述设置部分把该时间戳的值 代入所述变量,而当访问单元没有时间戳时,所述设置部分获得显示时间的 信息并加上所获得显示时间的信息值;和标记处理部分,其对预定访问单元 在预定标记时间戳的时间执行预定处理,其中,记录具有标记时间戳的数据,
从而在预定时间对预定访问单元执行预定处理,以及其中,所述标记时间戳 的时间的最小间隔为所述访问单元的最大显示时间。本发明是由包括设置部分的数据装置处理所读取数据的数据结构,该数 据处理装置包括设置部分,其当针对每个预定访问单元处理数据时,检测 访问单元是否具有时间戳并设置所述变量,从而当所述访问单元具有时间戳 时,所述设置部分把该时间戳的值代入所述变量,而当访问单元没有时间戳时,所述设置部分获得显示时间的信息并加上所获得显示时间的信息值;和标记处理部分,其对预定访问单元在预定标记时间戳的时间执行预定处理, 所述数据结构包括标记时间戳,利用该标记时间戳在预定时间对预定访问单 元执行预定处理,其中,所述标记时间戳的时间的最小间隔为访问单元的最 大显示时间。在本发明的数据处理装置、数据处理方法、程序和程序记录介质中,以 预定变量计数时间。检测访问单元是否具有时间戳并设置变量从而当此访问 单元具有时间戳时把时间戳的值代入此变量,而当访问单元没有时间戳时获 得显示时间的信息并加上所获得显示时间的信息值。在本发明的数据记录介质和数据结构中,记录具有标记时间戳的数据从 而在预定时间对预定的访问单元执行预定处理。标记时间戳的时间的最小间 隔为访问单元的最大显示时间。根据本发明的数据记录装置和数据处理装置可以是独立的装置或者执行 数据处理的块。根据本发明可非常方便地进行数据处理。特别是,再现流数据的装置可 准确地根据时间戳再现流数据,而不必具有独立的时间计数时钟功能。


图1是示出根据本发明实施例的盘再现装置硬件结构实例的框图;图2A 和图2B是示出CPU 112所执行的软件模块组的结构实例的框图;图3是示 出实际经过时间和90kHz时钟的定时之间关系的示意图;图4是示出实际经 过时间和基于视频解码器视频数据的输出更新时间的时钟的时间计数之间关 系的示意图;图5是示出緩冲器控制模块215结构实例的框图;图6是示出 盘101的目录结构实例的示意图;图7是示出文件"PLAYLIST.DAT"的语法 的示意图;图8是示出"Playltem()"的语法的示意图;图9是示出PlayListMark()的语法的示意图;图10是示出mark—type值和Mark 0的类 型之间关系的示意图;图11是示出PlayList()、 Piayltem()、片段、存储 在片段流文件中的节目流之间关系的示意图;图12是示出片段信息文件 Clip()的i吾法的示意图;图13是示出stream-id、 private_stream_id、和 借此识别的基本流之间关系的示意图;图14是示出Staticlnfo()的语法的 示意图;图15是示出Dynamiclnfo()的语法的示意图;图16是示出EP_map() 的语法的示意图;图17是示出图16所示出的index—N-minusl值与第一 Ref—Picture到第四Ref—Picture之间关系的示意图;图18A和图18B是示 出MPEG-2系统的节目流、节目流包和节目流包头部的语法的示意图;图19A 和图19B是示出MPEG-2系统的PES包的语法的示意图;图20A、图20B和 图20C是示出MPEG-2系统的PES包的语法的示意图;图21A和图21B是示 出MPEG-2系统的PES包的语法的示意图;图22A和图22B是示出MPEG - 2 系统的PES —packet ()的stream_id值与基本流属性之间关系的示意图;图23 是示出盘再现装置使用的stream_id的示意图;图24是示出 private_streaml_PES—payload()的语法的示意图;图 25 是示出 private —stream—id值与存储在private—payload 0中的基本流的属性之间 关系的示意图;图26是示出private-Stream2_PES —payload()的语法的示意 图;图27是示出au-information()的语法的示意图;图28是描述pic — struct 的示意图;图29是示出文件"PLAYLIST.DAT"的具体实例的示意图;图30A 和图30B是示出片段信息文件"00001.CLP"、 "00002.CLP"和"00003.CLP" 的具体实例的示意图;图31是示出片段信息文件"00001.CLP" EP-map()的 具体实例的示意图;图32是示出PlayListtfO和PlayList井l的PlayListMark() 的具体实例的示意图;图33是描述再现前处理的流程图;图34是描述再现 处理的流程图;图35是描述解码顺序和输出顺序之间关系的流程图;图36 是描述视频解码器结构的示意图;图37是描述图36所示出的DPB结构的示 意图;图38是描述时间更新处理的流程图;图39是描述对应于pic_struct 值的时间更新处理的示意图;图40是描述Playltem变化处理的流程图;图 41是描述时间代码显示处理的流程图;图42是描述流改变处理的流程图; 图43是描述緩冲器控制模块215处理的流程图;图44是描述緩冲器控制模 块215处理的流程图;图45是描述视频流读取处理的流程图;图46是描述 音频流读取处理的流程图;图47是描述字幕流读取处理的流程图;图48是
描述重同步处理的流程图;图49是描述标记处理的流程图;图50是描述标 记处理中匹配确定的示意图;图51是描述PlayListEnd时序的示意图;图 52是描述PlayListEnd时序的示意图;图53是描述事件的间隔的示意图; 图54是描述输出属性控制处理的流程图;图55是示出在片段信息文件 "00003. CLP"中所描述的一组pts—change—point和Dynamiclnfo ()的具体 实例的示意图;图56是描述字幕显示控制处理的流程图;图57是描述俘获 (capture)控制处理和背景/屏幕保护处理的流程图;图58是示出 private_stream2_PES—payload()的其它语法的示意图;图59是示出 au-information()的其它语法的示意图;图60是示出盘记录装置的硬件结构 实例的框图;图61是描述由图60所示出的盘记录装置所实现功能的框图; 图62是描述Ep-map产生处理的流程图;图63是描述快进再现处理的流程图; 图64是描述入口点(entry point)选择处理的流程图;图65是描述由图60 所示出的盘记录装置实现的另一功能的框图;图66是示出EP-map()的其它 语法的示意图;图67是描述图65所示出的priority—flag的示意图;而图 68是描述优先级设置处理的流程图。
具体实施方式
下面将说明本发明的实施例。权利要求书要素与实施例之间的关系如下。 此关系表示在实施例中描述了支持在权利要求书中所述发明的具体实例。因 此,即使在权利要求书的要素中没有描述某些具体实例,也不意味着此具体 实例与权利要求书的要素不对应。相反,即使在此部分将具体实例描述为权 利要求书要素的对应部分,也不意味着这些具体实例与权利要求书的要素以 外的其它要素不对应。在此部分,并不意味着与本发明实施例中所描述的具体实例对应的本发 明所有方面都在权利要求书中列出。换言之,此部分的描述对应于在本发明 实施例中描述的具体实例。因此,此部分的描述并不否定存在本发明的在本 专利申请权利要求书中没有列举的方面,也不否定可进行分案专利申请和/ 或添加本发明的其它方面作为修改。换言之,本发明的数据处理装置包括以预定变量计数时间的计时部分(例 如在图2A和图2B所示出的计时部分214A);和设置部分(例如图2A和图 2B中所示出的解码控制模块214 ),其检测访问单元是否具有时间戳并设置变
量,从而当此访问单元具有时间戳时设置部分以时间戳的值代入此变量,而 当访问单元没有时间戳时此设置部分获得显示时间的信息并加上所获得显示 时间的信息的值。本发明的数据处理方法包括如下步骤以预定变量计数时间;检测访问 单元是否具有时间戳(例如在图38中所示出流程图的步骤S141)并设置变 量,从而当此访问单元具有时间戳时,以时间戳的值代入此变量(例如在图 38中所示出流程图的步骤S142),而当访问单元没有时间戳时,获得显示时 间的信息并加上所获得显示时间的信息的值(例如在图38中所示出流程图的 步骤S144 )。因为本发明的程序记录介质和程序与数据记录方法类似,所以省略了对 其的描述。接下来,将参考附图描述本发明的实施例。 [硬件结构]图1是示出根据本发明实施例的盘再现装置的硬件结构实例的框图。 图1中示出的盘再现装置可用于例如盘播放器、游戏设备、汽车导航系 统等等。在图1所示出的盘再现装置中,盘101是例如DVD的光盘、磁光盘、 磁盘等。内容数据例如视频数据、音频数据、字幕数据以及再现这些数据所 必需的其它数据记录在盘101上。必要时,记录在盘101上的数据包括计算机可执行的程序。根据本发明 的此实施例,作为记录介质,采用作为盘状记录介质的盘101。可选择地, 记录介质可以是例如半导体存储器或者带状的记录介质。从远程位置的盘读 取的数据可传送并输入值图1所示出的盘再现装置。换言之,可由连接至盘 再现装置的另一设备从盘101读取数据。可由盘再现装置接收和处理由其它 设备所读取的数据。另外,盘再现装置可通过网络例如因特网从存储类似于 记录在盘101中的数据的数据的服务器等接收数据,并处理所接收的数据。 另外,盘再现装置还可从另一个设备例如服务器等等接收数据、将接收的数 据记录到盘101。然后处理所记录到盘101上的数据。盘101可装载到盘驱动102以及从盘驱动102卸载。盘驱动102具有内 置接口 (未示出)。通过内置接口将盘驱动102连接至驱动接口 114。盘驱动 102驱动盘101,根据例如读取命令从盘101读取数据、并将数据供应至驱动
接口 114。连接至总线111的是CPU (中央处理单元)112、存储器113、驱动接口 114、输入接口 115、视频编码器116、音频编码器117、 -f见频输出接口 118和 音频输出接口 119。CPU 112和存储器113组成计算机系统。换言之,CPU 112执行作为存 储在存储器113中的程序的软件模块组,以控制整个盘再现装置并执行将在 下面描述的各种处理。存储器113还存储CPU112执行的软件模块组。此外, 存储器113临时存储操作CPU 112所必需的数据。存储器113可以仅仅由非 易失性存储器或者由易失性存储器与非易失性存储器的组合构成。当图l所 示出的盘再现装置具有CPU 112所执行的软件模块组记录(安装)在上面的 硬盘时,存储器113可以仅仅由非易失性存储器组成。CPU 112执行的程序(软件模块组)可预先存储在作为内置在盘再现装 置中的记录介质的存储器113中。可选择地,程序可临时或者永久地存储在盘101或者可拆卸记录介质例 如软盘、CD-ROM (压缩磁盘只读存储器)、MO (磁光)盘、磁盘或者存储 卡中。可作为所谓的软件包提供可拆卸记录介质。程序可预先存储在存储器113中或者从上述可拆卸记录介质安装至盘再 现装置上。可选择地,此程序可通过用于数字卫星广播的卫星从下载站点无 线传送至盘再现装置,或者通过局域网(LAN)或者网络例如因特网由线缆 传送至盘再现装置。此盘再现装置通过输入接口 115接收程序并将程序安装 至内置存储器113。程序可由一个CPU执行或者由多个CPU分布式执行。驱动接口 114在CPU 112的控制下控制盘驱动102。盘驱动102将从盘 101读取的数据通过总线111供应至CPU 112、存储器113、视频解码器116、 音频解码器117等等。输入接口 115根据用户的按键(按钮)操作和远程控制命令器(未示出) 接收信号,并通过总线111将信号供应至CPU 112。输入接口 115还用作调 制解调器(包括ADSL (非对称数字用户线)调制解调器)、NIC (网络接口 卡)等的通信接口。视频解码器116解码由盘驱动102从盘101读取并通过驱动接口 114和 总线111供应至视频解码器116的编码视频数据,并将解码的视频数据通过
总线111供应至CPU 112和视频输出接口 118。音频解码器117解码由盘驱动102从盘101读取并通过驱动接口 114和 总线111供应至音频解码器117的编码音频数据,并将解码的音频数据通过 总线111供应至CPU112和音频输出接口 119。视频输出接口 118对通过总线111供应的视频数据执行预定处理,并从 视频输出端120输出处理的视频数据。音频输出接口 119对通过总线111供 应的音频数据执行预定处理,并从音频输出端121输出处理的音频数据。视频输出端120连接至视频输出设备,例如CRT (阴极射线管)或者液 晶面板(未示出)。因此,将从视频输出端120输出的视频数据供应至视频输 出设备并由此显示。音频输出端121连接至音频输出设备,例如扬声器和放 大器(未示出)。因此,将从音频输出端121输出的音频凄t据供应至音频输出 设备并由此输出。可无线地或者通过线缆从盘再现装置将视频数据和音频数据供应至视频 输出设备和音频输出设备。 [软件模块组的结构]图2A和图2B示出图1示出的CPU 112所执行的软件模块组结构实例。 CPU 112执行的软件模块组主要可划分为操作系统(OS) 201和作为应用程 序的视频内容再现程序210。[操作系统201]当打开盘再现装置时,操作系统201启动、执行预定处理例如初始设置、 并调用作为应用程序的视频内容再现程序210。操作系统201向视频内容再现程序210提供基础(infrastructure)服务例如 文件读取服务。换言之,操作系统201提供下述服务,该服务针对从视频内 容再现程序210接收的文件读取请求而通过驱动接口 114操作盘驱动102、 从盘101读取数据、并将数据供应至视频内容再现程序210。此外,操作系 统201还解释文件系统。操作系统201具有多任务处理的功能。换言之,操作系统201可在分时 基础上同时操作多个软件模块。换言之,虽然视频内容再现程序由多个软件 模块组成,但是可以并行操作这些模块。p见频内容再现程序210]视频内容再现程序210由脚本控制模块211、播放器控制模块212、内容
数据供应模块213、解码控制模块214、緩冲器控制模块215、视频解码器控 制模块216、音频解码器控制模块217、字幕解码器控制模块218、图像处理 模块219、视频输出模块220、和音频输出模块221构成。视频内容再现系统210是对再现盘101的数据起重要作用的软件。当盘 101装载(插入)到盘驱动102中,视频内容再现程序210检查盘101是否 是其上以预定格式(将在下文描述)记录了内容的磁盘。视频内容再现程序 210从盘101读取脚本文件(将在下文描述)、执行此脚本、读取再现盘101 的内容所必需的元数据文件,并根据元数据控制内容的再现。接下来,将描述组成图2A和图2B所示出的视频内容再现程序210的软 件模块。在图2A和图2B中, 一般地,实线箭头标记表示内容数据,而虚线 箭头标记表示控制数据。[脚本控制模块211]脚本控制模块211解释和执行记录在盘101上的脚本程序(脚本)。脚本 程序可描述操作,例如"运行图形处理模块219以创建图像例如菜单并显示 之"、"根据^^用户接口 (UI)例如遥控器(例如在菜单上移动光标)发出的 信号改变菜单显示"和"控制播放器控制模块212"。[播放器控制模块212]播放器控制模块212参考记录在盘101上的元数据等以控制对记录在盘 101上内容的再现。换言之,播放器控制模块212分析记录在盘101上的 PlayList()和Clip(),并根据分析结果控制内容数据供应模块213、解码控制 模块214、和緩沖器控制模块215。另外,播放器控制模块212执行流改变控 制,该流改变控制如下文将描述的根据从脚本控制模块211和输入接口 115 接收的命令而改变待再现的流。此外,播放器控制模块212从解码控制模块 214获得时间、显示时间、并执行标记(Mark())的处理(将在下文描述)。[内容数据供应模块213]内容数据供应模块213,在播放器控制模块212的控制下或者根据存储 在緩冲器控制模块215中的数据量,要求操作系统201从盘101读取内容数 据、元数据等等。将操作系统根据从内容数据供应模块213接收的请求从盘101读取的元 数据等供应至预定模块。另一方面,将操作系统201根据从内容数据供应模 块213接收的请求从盘101读取的内容数据供应至緩冲器控制模块215。 [解码控制模块214]
解码控制模块214在播放控制模块212的控制下控制视频解码器控制模 块216、音频解码器控制模块217和字幕解码器控制模块218的操作。解码 控制模块214具有计数时间的计时部分214A。解码控制模块214管理在视频 解码器控制模块216的控制下输出的视频数据输出与和视频数据同步的数据 输出的同步。这样,待与视频数据输出同步的数据输出是在音频解码器控制 模块217的控制下输出的音频数据。
计时部分214A可通过计数从外部供应的参考时钟或与解码器等同步的 内部时钟而自主计数时间。
但是,在通过控制图2A和图2B所示出的各种模块类型而获得的基于软 件的解码器中,如果通过除了这些处理的软件执行时间计敖处理,则CPU 112 的处理负载将增加。因此,计时部分214A需要基于解码器的视频数据输出 来更新时间。
图3是示出计时部分214A的独立时钟时间和实际经过时间之间关系的 示意图。在图3中,因为计时部分214A以90kHz时钟计数,所以时间从时 间O向右线性增加。在时间33.3毫秒,时钟计数时间3003。
图4示出计时部分214A基于视频解码器的视频数据的输出更新的时间 实例。在图4的情况中,当经过33毫秒时,时钟的输出时间更新至3003。 当经过83.3毫秒时,输出时间更新至7507。当经过116毫秒时,输出时间更 新至10510。此实例中,1帧的输出时间为16.66毫秒。
在图3中,尽管时间以具有1/90kHz分辨率的阶梯形状流逝,但是为与 图4对比时间流逝以直线表示。在下面的描述中,假定计时部分214A如参 考图4所述基于视频数据输出更新时间。
緩冲器控制模块215具有作为图1所示出的存储器113存储面积一部分 的緩冲器215A。内容数据供应模块213根据从操作系统201接收的请求将从 盘101读取的内容数据临时存储到緩冲器215A。
此外,緩冲器控制模块215根据分别从^L频解码器控制模块216、音频 解码器控制模块217、或者字幕解码器控制模块218接收的请求,将存储在 緩冲器215A中的数据供应至视频解码器控制模块216、音频解码器控制模块 217、或者字幕解码器控制模块218。
换言之,緩冲器控制模块215具有将在图5中描述的视频读取功能部分233、音频读取功能部分234、和字幕读取功能部分235。緩沖器控制模块215 的视频读取功能部分233处理从视频解码器控制模块216接收的数据请求以 将存储在緩冲器215A中的数据供应至视频解码器控制模块216。同样,緩沖 器控制模块215的音频读取功能部分234处理从音频解码器控制模块217接 收的请求以将存储在緩冲器215A中的数据供应至音频解码器控制模块217。 緩冲器控制模块215的字幕读取功能部分235处理从字幕解码器控制 模块218接收的请求以将存储在緩冲器215A中的数据供应至字幕解码器控 制模块218。[视频解码器控制模块216]视频解码器控制模块216运行緩沖器控制模块215的视频读取功能部分233 (图5 )以从緩沖器控制模块215的緩冲器215A —次读取一个视频访问 单元的编码视频数据,并将视频数据供应至图1所示出的视频解码器116。 此外,视频解码器控制模块216控制视频解码器116—次解码一个视频访问 单元的数据。此外,视频解码器控制模块216将由视频解码器116解码的视 频数据供应至图形处理模块219。一个视频访问单元是例如视频数据的一幅图像( 一帧或者一场)。 [音频解码器控制模块217]音频解码器控制模块217运行緩冲器控制模块215的音频读取功能部分234 (图5 )以从緩冲器控制模块215的緩沖器215A —次读取一个音频访问 单元的编码音频数据,并将编码音频数据供应至图1所示出的音频解码器 117。音频解码器控制模块217控制控制音频解码器117—次解码一个音频访 问单元的音频数据。此外,音频解码器控制模块217将由音频解码器117解 码的音频数据供应至音频输出模块221。一个音频访问单元是预定量的音频数据(例如与 一幅图像同步输出的数 据量)。根据此实施例,假定一个音频访问单元是预定的固定长度。 [字幕解码器控制模块218]字幕解码器控制模块218运行緩冲器控制模块215的字幕读取功能部分235 (图5 )以从緩冲器控制模块215的緩冲器215A —次读取一个字幕访问 单元的编码字幕数据。此外,字幕解码器控制模块218具有字幕解码软件(未 示出)。字幕解码软件解码从緩冲器215A读取的数据。字幕解码器控制模块 218将解码的字幕数据(字幕图像数据)供应至图形处理模块219。一个字幕访问单元是预定量的字幕数据(例如与 一幅图像同步输出的数 据量)。根据此实施例,假定在开始描述一个字幕访问单元的尺寸。[图形处理模块219]图形处理模块219根据播放器控制模块212的命令放大或缩小从字幕解 码器控制模块218接收的字幕数据,并将放大或者缩小的字幕数据覆盖至从 视频解码器控制模块216接收的视频数据。图形处理模块219放大或者缩小 已经覆盖字幕数据的视频数据图像帧,从而添加了视频数据的帧大小与连接 至图1所示出的视频数据输出端120的视频输出设备的屏幕匹配。添加的视 频数据输出至视频输出模块220。此外,图形处理模块219根据脚本控制模块211和播放器控制模块212 的命令产生菜单、消息等等,并将菜单、消息等等与输出视频数据叠加。此外,图形处理模块219根据连接至图1所示出视频输出终端120的视 频输出设备的高宽比以及表示记录在盘101上的视频数据的高宽比的信息而 转换输出至视频输出模块220的视频数据高宽比。换言之,当视频输出设备的高宽比为16: 9时,如果表示视频数据高宽 比的信息为4: 3,则图形处理模块219执行缩小在横向(水平方向)输出至 视频输出模块220的视频数据的挤压(squeeze)处理、使得视频数据的左端和 右端变黑、并输出得到的视频数据。当视频输出设备的高宽比为4: 3时,如 果表示视频数据高宽比的信息为16: 9,则图形处理模块219执行在纵向(垂 直方向)输出至视频输出模块220的视频数据的挤压处理、使得视频数据的 上端和下端变黑、并输出得到的视频数据。当视频输出设备的高宽比和信息表示视频数据的高宽比相同时,例如4: 3或者16: 9,则图形处理模块219将未经挤压的视频数据输出至视频输出模 块220。此外,图形处理模块219俘获根据例如从播放器控制模块212接收的请 求在处理中的视频数据。而且,图形处理模块219存储俘获的视频数据或者 将此视频数据供应至播放器控制模块212。[视频输出模块220]视频输出模块220排他地占有图1所示出存储器113的一部分作为FIFO (先进先出)緩冲器220A并临时存储从图形处理模块219接收的视频数据。
此外,视频输出模块220频繁地从FIFO 220A读取视频数据并将视频数据输 出至视频输出端120 (图1)。 [音频输出模块221]音频输出模块221排他地占有图1所示出存储器113的一部分作为FIFO 緩冲器221A并临时存储从音频解码器控制模块217 (音频解码器117)接收 的音频数据。此外,音频输出模块221频繁地从緩冲器221A读取音频数据 并将音频数据输出至音频输出端121 (图1 )。此外,当从音频解码器控制模块217接收的音频数据为具有"主音频" 数据和"副音频"数据的左通道和右通道的双重(双语)模式音频数据时, 音频输出模块221根据预先指定的音频输出模式将从音频解码器控制模块 217接收的音频数据输出音频输出端121。换言之,如果将"主音"指定为音频输出模式,则音频输出模块221将 从音频解码器控制模块217接收的音频数据左通道复制为音频数据的右通 道,并将音频数据("主音频"数据)的左通道和右通道输出至音频输出端 121。如果将"副音"指定为音频输出模式,则音频输出模块221将从音频解 码器控制模块217接收的音频数据右通道复制为左通道,并左通道和右通道 ("副音频"数据)输出至音频输出端121。如果"主音频和副音频"都指定 为音频输出模式,则音频输出模块221直接将从音频解码器控制模块217接 收的音频数据输出至音频输出端121。如果从音频解码器控制模块217接收的音频数据为立体模式音频数据, 则音频输出模块221直接将从音频解码器控制模块217接收的音频数据输出 至音频输出端121,而不论指定了什么音频输出模式。用户可以利用遥控器交互地在为由视频内容再现程序210所产生的菜单 的屏幕上指定音频输出模式。[緩冲器控制模块215的结构]图5示出在图2A和图2B中所示出緩沖器控制模块215结构的实例。緩 冲器控制模块215排他地使用图1所示出存储器113的一部分作为緩冲器 215A,并将从盘101读取的数据临时存储到緩冲器215A上。此外,緩冲器 控制模块215从緩冲器215A读取数据,并将数据供应至在图2A和图2B所 示出的视频解码器控制模块216、音频解码器控制模块217、和字幕解码器控 制模块218 除了緩冲器215A以外,緩冲器控制模块215具有作为存储器113 —部 分的数据开始指针存储部分231和数据写入指针存储部分232。此外,緩冲 器控制模块215具有作为内部模块的视频读取功能部分233、音频读取功能 部分234和字幕读取功能部分235。緩冲器215A例如是连续存储从盘101读取的数据的环形緩冲器。在緩 冲器215A读:f又其存储容量的数据后,緩冲器215A将数据存储在所谓的无穷 循环中从而緩沖器215A以最新的数据覆盖最老的数据。数据开始指针存储部分231存储表示在存储在緩冲器215A中的数据中 的、未从緩冲器215A读取的最老数据位置(地址)的数据开始指针。数据写入指针存储部分232存储表示在缓冲器215A中的、从盘101读 取的最新数据位置(地址)的指针。无论何时将从盘101读取的数据存储在緩冲器215A中时,以图5所示 出的顺时针方向更新数据写入指针表示的位置。无论何时从緩冲器215A读 取数据时,以图5所示出的顺时针方向更新数据开始指针表示的位置。因此, 存储在緩冲器215A中的有效数据为从数据开始指针所表示的位置到达数据 写入指针在图5所示出的顺时针方向上表示的位置。视频读取功能部分233根据从图2A和图2B所示出的视频解码器控制模 块216接收的请求从緩沖器215A读取视频流(视频数据基本流),并将视频 流供应至视频解码器控制模块216。音频读取功能部分234根据从图2A和图 2B所示出的音频解码器控制模块217接收的请求从緩冲器215A读取音频流 (音频数据基本流),并将音频流供应至音频解码器控制模块217。同样,字幕读取功能部分235根据从图2A和图2B所示出的字幕解码器 控制模块218接收的请求从緩冲器215A读取字幕流(字幕数据基本流),并 将字幕流供应至字幕解码器控制模块218。换言之,根据例如MPEG (移动图像专家组)2标准的节目流记录在盘 101上,此节目流被称为MPEG2-系统节目流。在节目流中,基于时分多路复 用了视频流、音频流和字幕流的至少一个基本流。视频读取功能部分233具 有针对节目流的解多路复用功能。视频读取功能部分233从存储在緩沖器 215A中的节目流解多路复用^L频流,并读取^L频流。同样,音频读取功能部分234具有针对节目流的解多路复用功能。音频 读取功能部分234从存储在緩冲器215A中的节目流解多路复用音频流,并
读取音频流。同样,字幕读取功能部分235具有针对节目流的解多路复用功能。字幕读取功能部分235从存储在緩冲器215A中的节目流解多路复用字 幕流,并读取字幕流。视频读取功能部分233具有作为图1所示出的存储器113 —部分的视频 读取指针存储部分241 、 streamjd寄存器242、和au—information()寄存器243。视频读取指针存储部分241存储表示緩冲器215A中视频流位置(地址) 的视频读取指针。视频读取功能部分233从缓沖器215A中视频读取指针位 置读取作为视频流的数据。streamjd寄存器242存储用于分析存储在緩冲器 215A中的节目流和用于识别从节目流读取的一见频流的stream一id。 au一information()寄存器243存储作为从緩冲器215A读取视频流所必需数据的 aujnformation()。音频读取功能部分234具有作为图1所示出的存储器113 —部分的音频 读取指针存储部分251 、 stream—id寄存器252、和private—stream—id寄存器253 。音频读取指针存储部分251存储表示在緩冲器215A中存储的音频流位 置(地址)的音频读取指针。音频读取功能部分234从緩沖器215A中音频 读取指针位置读取作为音频流的数据。stream—id寄存器252和 private—stream—id寄存器253分别存储用于分析存储在緩沖器215A中的节目 流和用于识别从节目流读取的音频流的stream—id和private—stream—id (将在 后文描述)。字幕读取功能部分235具有作为图1所示出的存储器113 —部分的字幕 读取功能标记存储部分261、字幕读取指针存储部分262、 streamjd寄存器 263、和private—stream_id寄存器264。字幕读取功能标记存储部分261存储字幕读取功能标记。当存储在字幕 读取功能标记存储部分261中的字幕读取功能标记例如为"0"时,字幕读取 功能部分235不运行。当存储在字幕读取功能标记存储部分261中的字幕读 取功能标记例如为"1"时,字幕读取功能部分235运行。字幕读取指针存储部分262存储表示在緩冲器215A中存储的字幕流位 置(地址)的字幕读取指针。字幕读取功能部分235从緩冲器215A中字幕 读取指针位置读取作为字幕流的数据。stream—id寄存器263和 private_stream—id寄存器264分别存储用于分析存储在緩冲器215A中的节目 流和用于识别从节目流读取的字幕流的stream—id和private—stream—id (将在
后文描述)。[对记录在盘101上数据的数据格式的描述] 接下来,将描述记录在盘101上数据的数据格式。 图6示意性示出盘101的目录结构。用于盘101的文件系统例如是在ISO (国际标准化组织)-9660和UDF (通用磁盘格式)(http: 〃丽.osta. org/specs/)中所定义的其中一个。在 目录结构中分层级地管理记录在盘101上的数据文件。可用于盘101的文件 系统不限于这些文件系统。在图6中,在表示文件系统基础的根目录下存在"VIDEO"目录。在"VIDEO" 目录下存在两个目录,即"CLIP"目录和"STREAM"目录。除了这两个目录即"CLIP"目录和"STREAM"目录外,在"VIDEO"目录 下还存在两个数据文件,即"SCRIPT.DAT"文件和"PALYLIST.DAT"文件。"SCRIPT. DAT"文件为描述脚本程序的脚本文件。换言之,"SCRIPT. DAT" 文件描述允许盘101上的数据交互再现的脚本程序。由图2A和图2B中所示 出的脚本控制模块211解释和执行存储在"SCRIPT.DAT"文件中的脚本程序。 "PALYLIST.DAT"文件存储至少一个播放列表(将在后面参考图7描述 的PlayListO )。播放列表描述例如记录在盘101上视频数据的内容的再现 步骤。在"CLIP"目录下存在至少一个片段信息文件。在"STREAM"目录下存 在至少一个片段流文件。换言之,在图6中,在"CLIP"目录下存在三个片 段信息文件"00001. CLP"、 "00002. CLP"和"00003. CLP"。在"STREAM"目 录下存在三个片段流文件"00001.PS"、 "00002.PS"和"00003.PS"。片段流文件存储节目流,在节目流中基于时分多路复用了被压缩和编码 的视频数据、音频数据和字幕数据的至少一个流。片段信息文件存储关于片段信息的元数据,例如其特征。换言之,片段流文件和片段信息文件以1对1的关系相互关联。在图6 中,根据五位数字+句点+ "PS"的命名规则命名片段流文件,而根据和对 应的片段流相同的五位数字+句点+ "CLP"的命名规则命名片段信息文件。因此,可以由文件名的扩展名(句点的右侧)识别片段流文件和片段信 息文件。此外,可以利用除了其扩展名以外的文件名(句点左侧部分)确定 片段流文件和片段信息文件是否相互关联。 接下来,将详细描述记录在盘101上的文件。[PLAYLIST. DAT]图7示出在图6所示出的"VIDEO"目录下文件"PLAYLIST.DAT"的内部结构。在图7中,"PLAYLIST.DAT"文件具有描述"PLAYLIST.DAT"文件数据结 构的"语法(Syntax)"字段;描述"语法,,字段中每个数据项目位长的"位 数(No. of bits"字段;和"助记符号(Mnemonic)"字段,其中"bslbf" (位串左边的位优先(bit string left bit first))和"uimsbf"(无符号 整数最高有效位优先(unsigned integer most significant bit first))表 示"语法,,字段中的数据项目从左边的位移位和"语法,,字段中的数据项目 为无符号整数并从最高有效位移位。这种状况适用于和图7相似的其它列表。 "PLAYLIST. DAT"文件以描述例如名字(文件名)的信息的name—length (8位)和name—string ( 255字节)开始。换言之,name-length表示在附近紧接其后的name-String的字节大小。 name —string表示"PLAYLIST.DAT"文件的名字(文件名)。从name—string的开头起的name—length这么多的字节用作有效名。当 name—length的值为10时,从name—string的开头起的10个字节解释为有 效名。name—string 接下 来是 number—of—PlayLists(16 位 )。 number_of—PlayLists 表示 name—string 后的 PlayList() 个数。 number_of—PlayLists接下来是由number—of—PlayLists表示的PlayList ()。PlayList()是描述记录在盘101上的片段流文件再现处理的播放列表。 Playlist()具有下面的内部结构。PlayList() 以PlayList-data一length (324立)开始 。 PlayList—data— length表示PlayUst 0的大小。PlayList—data_length接下来是连续的reserved—for—word—alignment (15 4立)和 capture—enable—flag—PlayList (1 ^f立 )。 15 4立的 reserved—for_word_al ignment 接 下 来 是 1 位 的 capture—enable_flag_PlayList , 使 16 位 位 置 在 capture-enable_flag—PlayList的位置对齐以将其置于16位的位置。 capture—enable—flag-PlayList是1-4立标i己,表示是否允i午只于应于才艮4居 PlayList()再现的视频流的视频数据(属于PlayList()的视频数据)在再现 盘101数据的盘再现装置中二次使用。当capture—enable—flag_PlayList的 值例如是1 ( 0或1)时,其表示允许二次使用属于PlayList 0的视频数据。 当capture—enable — flag—PlayList的值例如是0 (0或1)时,其表示不允 许二次使用属于PlayList ()的视频数据。在图7中,capture-enable-f lag-PlayList由一位组成。可选才奪地, capture — enable—flag—PlayUst可由多位组成。这样,可逐步允许属于 PlayList ()的^见频凄t才居二次寸吏用。才灸言之,capture—enable—flag-PlayList 可由两《立组成。当capture-enable-f lag-PlayList的《直为OOB时(这里B表 示前面的数字是二进制数),禁止二次使用视频数据。当 capture—enable —flag—PlayList的值为OIB时,允许缩小至64x64象素或更 小尺寸的一见频凄G居二次4吏用。当capture—enable—flag—PlayList的值为10B 时,允许不缩小尺寸地二次使用视频数据。可关于应用而不是尺寸地限制视频数据的二次使用。换言之,当 capture—enable—flag-PlayList的值为OIB时,只允许视频内容再现程序210 (图2A和图2B) 二次j吏用^L频凄t据。当capture — enable—flag_PlayList的 值为10B时,可允许图1所示盘再现装置中的、包括视频内容再现程序在内 的任何应用程序二次使用视频数据。在此实例中,在图1中所示出的盘再现 装置中的、不同于视频内容再现程序210的应用程序是显示墙纸或者屏幕保 护的应用程序。当 capture-enable-f lag-PlayList 由 2 位组成时,其后的 reserved—for-word—alignment由14位组成,以进行字对齐。可选择地,利用capture-enable-f lag-PlayList,可允许在盘再现装置 外部二次使用视频数据。在利用capture—enable—flag_PlayList可允许在盘 再现装置外部二次使用视频数据的情况下,视频数据记录在例如可装载至盘 再现装置中或者可连接至盘再现装置的记录介质,或者通过网络例如因特网 传送至另一个设备。这样,表示视频数据可记录在记录介质的次数或者视频 数据可传送次数的信息可添加至视频数据。capture—enable一f lag-PlayList 接下来是连续 的 PlayList_name —length (8位)和PlayList—name—string ( 255 字节)。 PlayList_name_length 表示 PlayList—name—string 的字节大小。
PlayList—name —string表示PlayList ()的名字。PlayList—name-String 接下来是number一of—Playltems (16 位)。 number—of—Playltems表示Playltem()的数量。number—of—Playltems 4妄下来是由number—of—Playltems表示的那么多 的Playltem()。一个PlayList ()可描述以Playl tem()为单位的内容的再现处理。在PlayList ()中-舉一的i口、另'J ( ID) 4<石马添力口至由number—of一PlayItems 表示的这么多的Playltem()。换言之,以编号0表示PlayList ()的第一 Playltem()。其它的Playltem()由编号1、 2、…等等连续表示。由number—of-Playltem表示的这么多的Playltem()接下来是一个 P1 ayLi s tMark () 。 P1 ayLi s tMark ()是作为根据P1 ayLi s t ()的再现时间轴上的 标记的一组Mark()。后面将参考图9详细描述PlayListMark ()。[PlayItem()描述]图8示出图7中所示PlayList()中包括的"Playltem()"的内部结构。Playltem()以length (16位)开始。length表示Playltem()的大小, 包括length的大小。length接下来是连续的Clip-Information-f ile-name — length ( 16位) 禾口 Clip-Information—f ile—name ( 可 变 长 度 ) 。 Clip-Information-fUe—name—length表示Clip-Information—file—name的 字节长度。CI ip—Inf ormation—fi le—画e表示对应于根据Playl tem ()再现的 片段流文件(具有图6中所示出扩展名PS的文件)的片段信息文件(具有图 6中所示出扩展名CLP的文件)文件名。根据上述片段流文件和片段信息文 件的命名夫见则,可以利用C1 i p _ I n f o r ma t i on - f i 1 e _ name识别才艮才居P1 ay 11 em () 再现的片段信息文件的文件名,并且可识别片段流文件。Clip—Information-file—name接下来是连续的IN—time (32位)和 OUT-time ( 32位)。IN—time和0UT—time是表示由Clip—Informatioiuf ile—name识另寸的片 段流文件的再现起始位置和再现终止位置的信息。IN—time可将片段流文件的中间位置(包括起始部分)指定为再现起始 位置。OUT-time可将片段流文件的中间位置(包括终止部分)指定为再现终 止位置。Playltem()再现由Clip—Information_file_name识别的片,史流文件的 从IN—time到OUT一time的内容。有时将根据Playltem()再现的内容称作片 段。[PlayListMark()描述]图9示出在图7中示出的PlayList ()所包括PlayListMark()的内部结构。如上所述,PlayListMark()是作为根据PlayList ()(图7)的再现的时间轴上的标记的一组Mark()。 Mark()的数目为O或更大。 一个Mark()具有表示根据P1 ayLi s t ()执行的再现的时间轴上的 一个时间的至少时间信息、表示Mark()类型的类型信息、和当类型信息表示发生事件类型时事件参数的参数 牧自换言之,PlayListMark()以length (32位)开始。length表示 PlayListMark()的大小,包括length的大小。length 接下来是 Number—of_PlayList—marks (16 位 )。 Number—of—PlayList—marks表示Number-of-PlayList_marks后面的Mark() 的数目。Number—of—PlayList—marks接下来是由number — of-PlayList_marks 表示的这么多的Mark()。Mark ()以mark —type (8位)开始。mark—type是前面的类型信息并表示 mark_type所属的Mark()的类型。根据此实施例,Mark()具有三种类型,例如章(chapter)、索引(index) 和事件(event)。当Mark()的类型为章(有时称作章标记)时,其是作为PlayList ()的分 割的搜索单元的章的起始位置的标记。当Mark()的类型为索引(有时称作索 引标记)时,其是作为章细分单元的索引的起始位置的标记。当Mark()的类 型为事件(有时称作事件标记)时,其是当根据PlayList ()再现内容时事件 发生的位置的标记。脚本控制模块211被告知发生了根据事件标记的事件。图IO示出mark—type值和Mark ()类型之间的关系。在图10中,章标记 的mark-type为1;索引才示"i己的mark—type为2;而事"f牛才示i己的mark—type为 3。在图10中,保留8位mark—type所表示的其它值,即0和4到255,以 备将来扩展。回至)j图9, mark-type接下来是mark_name_length (8位)。Mark()以
mark-name—string终止。mark_name_ length和mark—name —s tr ing用于描述 Mark()的名字。mark—name-length表示mark—name—string 的有效长度。 mark-name—string表示Mark()的名字。因此,从nmrk—name —string开头部 分开始的mark_name-length这么多字节表示Mark()的有效名字。mark—name —length接下来是使PlayList ()中定义的Mark()与片段流文 件相关联的四个元素,ref-to-PlayItem_id (16位)、mark —time — stamp ( 32 位)、entry_ES —stream—id ( 8位)、和entry—ES —private_stream_id ( 8位)。ref—to—Playltem—id将ID描述为分配给Mark ()所属的Playltem()的顺 序号。ref—to-PlayItem_id标识Mark()所属的Playltem()(图8 )。因此, 如图8所描述,标识片段信息文件和片段流文件。mark—time—stamp表示Mark 0在由ref — to_PlayItem—id所识另'J的片段流 文件中的位置。图11示出PlayList ()、 Playltem()、片段、存储在片段流文件中的节 目流之间的关系。在图11中,PlayList ()由顺序地编号为ID#0、 ID#1和ID#2的三个 Playltem()组成。在下面的描述中,由Playltem#i表示编号为ID#i的 Playltem()。在图11中,分别由片段A、片段B和片段C表示作为根据Playltem井0、 Playltem#l和Playltera#2再现的内容的片,殳。片段实体为从存储在由图 8中所示出的Playltem()的 clip—Information—file—name识别的片段流文件中的节目流的IN—time到 OUT-time。在图ll中,作为片段A、片段B和片段C的实体的节目流分别表 示为节目流A、节目流B和节目流C。在图11中,在作为根据PlayList ()再现的时间轴上的时间tO的标记的 Mark ()中,ref —to—Play Item—id和mark —time —stamp描述如下。在图11中,因为时间t0是再现Playltem#l的时间,所以 ref —to—Playltem—id将1描述为Playltem#l的ID。因为在时间tO再现作为 片段B实体的节目流B,所以mark—time—stamp描述存储对应于时间t0的节 目流B的片段流文件的时间。再次回到图9,当Mark()与特定基本流相关时,entry_ES —stream—id和 entry-ES_private_stream—id用于标识基本流。换言之,entry—ES一stream—id
描述与Mark()相关联的基本流的stream—id 。另一方面,必要时, entry—ES-private —stream—id 描述与 Mark()相关联的基本流的 private — stream— id。当再现其中视频流#1和视频流#2被多路复用的片断的视频流#1时,以 及当正在再现视频流#2时章时间需要改变时,正在再现#见频流#1时在章标记 时间于Mark ()的entry—ES醫stream—id和entry—ES-private —stream—id中描 述一见步贞力充# 1 6勺stream—id禾口 private — stream—id。 ;t匕夕卜,正在再5见一见频^荒#2 时在章才示记时间于 Mark() 的 entry-ES — stream—id 和 entry—ES—private—stream—id 中4苗述#见步贞S荒# 2 的 stream—id 禾口 private_stream—id。不与特定基本流相关的 entry-ES_stream_id 和 entry—ES-private_stream—id例如为0。entry_ES-private—stream—id接下来是mark—data ( 32位)。当Mark() 是事件标记时,mark-data是作为与事件标记一起发生的事件的变量的变量 信息。当Mark()为章标记或者索引标记时,mark_data可用作章标记或索引 标记表示的章编号或索引编号。[Clip()描述]接下来,将描述具有CLP扩展名并存储在图6所示出的"CLIP"目录中 的片段信息文件的内部结构。在图6中,在"CLIP"目录下存在三个片段信息文件"00001. CLP"、 "00002. CLP"和"00003. CLP"。这三个信息文件包括表示存储在"STREAM" 目录中的片段流文件"00001.PS"、 " 00002. PS"和"00003. PS"特征的元 数据。图12示出片段信息文件Clip()的内部结构。片 段信息文件 Clip() 以 presentation—start —time 和 presentation_end_t ime (每个老卩32 4立)开士台。presentation—start —time 和presentation—end—time表示对应于片^殳信息文件Clip()的片段流文件的 起始时间和终止时间。片段流文件的时间描述为用作MPEG2-System时间的 90kHz倍数。presentation—end —tirae接下来是reserved—for—word—alignment( 7位) 禾口 capture_enable_f lag—CI ip( 1位)。7位的reserved—for—word—a 1 ignment
用于字对齐。capture_enable-flag-Clip 是和图 7 所示出的 capture—enable_flag_Clip —样表示是否允i午二次4吏用^L频凄t据的标记。但是,图7中所示出的capture_enable-f lag-PlayList表示是否允许属 于对应于根据PlayList 0再现的视频流的PlayList ()的视频数据二次使用。 相反,图12所示出的capture-enable_flag-Clip表示是否允许对应于存储 在与片段信息文件Cl ip ()对应的片段流文件中的视频基本流的视频数据二次 使用。因此,在允许二次使用的视频数据单位上,图7所示出的 capture—enable—flag—PlayUst 与 图 12 所 示 出 的 capture —enable—flag—PlayList不同。类似于图7所描述的capture—enable_flag—PlayList,图12所描述的 capture—enable—flag一Cl ip可由多位而非一位组成。capture—enable—flag—Clip接下来是number-of— streams (8位)。 number-of—streams 4苗述Streamlnfo ()的凄史目。因jt匕,number—of — streams 接下来是由number—of— streams表示这么多的Streamlnfo ()。Streamlnfo()以length (16位)开始。length表示Streamlnfo 0的大 小,包括length的大小。length接下来是stream—id (8位)和 private-stream-id (8 4立)。stream—id 和 private—stream—id 识另寸与 Streamlnfo ()相关的基本流。图13示出stream—id、 private—stream-id、和借;t匕i口、另'J的基本;^u之间 的关系。stream—id与在MPEG2-System标准中定义的相同。MPEG2-System标准为 基本流的每个属性定义stream_id的值。因此,在MPEG2-System标准中定义 的基本流的属性可以4又由stream—id识别。此实施例可以涉及在MPEG2-System标准中没有定义的基本流属性。 private-stream-id是识别在MPEG2-System标准中没有定义的基本流属性的 自ip i。0图13示出具有四个属性的基本流的stream—id、 private—stream—id之 间的关系,这四个属性是根据在MPEG中所定义编码系统编码的视频基本流、 根据ATRAC (自适应转换声学编码)系统编码的音频基本流(下文有时称作 ATRAC音频流)、根据LPCM (线性脉冲编码调制)系统编码的音频基本流(下 文有时称作LPCM音频流)和字幕基本流(下文有时称作字幕流)。MPEG2-System标准定义根据在MPEG中定义的编码系统编码的^L频基本 流与从OxEO到OxEF (这里Ox表示其后的字符流以十六进制计数法表示)范 围内的值多路复用。因此,可以在节目流中多路复用根据在MPEG中定义的编 码系统编码的和由/人OxEO到OxEF范围内的stream—id识别的16个一见频基本流。因为根据在MPEG中定义的编码系统编码的视频基本流可由从GxEO到 OxEF范围内的stream-id识别,因此不需要private_stream_id。另一方面,在MPEG2-System中,没有对ATRAC音频流、LPCM音频流和 字幕流定义stream-id。因此,根据此实施例,对于在MPEG2-System中没有定义其stream—id 的基本流,采用作为表示MPEG2-System中属性private_stream_l值的OxBD。 此夕卜,如图13所示,由private-stream-id识别这些基本流。换言之,由从OxOO到OxOF范围内的private-stream-id识别ATRAC音 频流。因此,可以在节目流中多路复用16个ATRAC音频流。由从OxlO到OxlF 范围内的pr ivate_stream_ id识别LPCM音频流。因此,可以在节目流中多路 复用16个LPCM音频流。由从0x80到0x9F范围内的private — stream—id识 别字幕流。因此,可以在节目流中多路复用326个字幕流。〗夸在后面详纟田4苗述stream—id和private—stream画id。回到图 12, private_stream-id接下来是连续的Staticlnfo 0和 reserved—for—word—alignment (8位)。Staticlnfo()描述当正在再现由在 包括 Staticlnfo () 的 Streamlnfo() 中描述的 stream—id 和 private-stream-id识别的基本流时不变化的信息。后面将参考图14描述 Staticlnfo()。reserved—f or—word—a 1 ignment用于字对齐。reserved-for_word_alignment 接下来是number—of_DynamicInfo (8 位)。number—of—Dynamiclnfo 表示 number—of—Dynamiclnfo 后面的 pts_change_point (每个都32位)和Dy醒iclnfo的组的数目。因此,number—of—Dynamiclnfo接下来是由number—of—DynamicInfo表 示的这么多的pts_change-point和Dynamiclnf o ()的组。pts —change—point表示与pts—change—point成对儿的Dynamiclnfo () 信息变为有效的时间。表示基本流起始时间的pts-change-point等于在与存 储基本流的片段流文件对应的片段信息文件Clip()起始部分描述的 presentation_start—time。Dynamiclnfo ()4葛述当由stream-id牙口private-Stream—i(H只另lI的基本;^危 正在再现时变化的所谓动态信息。在Dynamiclnfo()中描述的信息在由与 Dynamiclnfo ()成只于儿的pts — change—point表示的再J见时间有步文。后面^]夸参 考图15描述Dynamiclnfo ()。由 number—of—Dynamiclnfo表示的这么多的 pts — change—point 和 Dynamiclnfo ()的组接下来是EP-map()。后面将参考图16描述EP_map ()。[StaticInfo()描述]接下来,将参考图14详细描述图12中示出的Staticlnfo ()。 图14示出Staticlnfo ()的语法。Staticlnfo()的内容随着相应基本流的属性变化。与Stat iclnfo ()对应 的基本流属性由在图12示出包括Staticlnfo()的Streamlnf o ()中包括的 stream—id和private—stream—id确定。当对应于Stat iclnfo ()的基本流为^L频流(stream - - VIDEO)时, Staticlnfo ()由picture — size ( 4位)、f rame—rate ( 4位)、cc—flag(l位) 和用于字对齐的reserved—for-word-alignment组成。picture_s ize表示以对应于3见频流的S见频凄t据显示的图像的大小。 frame-rate表示对应于视频流的视频数据的帧频率。cc_flag表示视频流是 否包括闭路文字(closed caption)数据。当视频流包括闭路文字数据时, cc—flag为l。当视频流不包括闭路文字数据时,cc-flag为O。当对应于Staticlnfo()的基本流为音频流(stream = = AUDIO )时, Staticlnfo 0由audio-language—code (16位)、channel—conf iguration ( 8 位)、life—existence ( 1位)、sampling_f requence ( 4位)和用于字对齐的 reserved—for—word—alignment组成。audio-language_code描述表示音频流中所包括音频数据语言的代码。 channel—conf igurat ion表示在音频数据中所包括音频数据的属性例如单声 道(mono单)、立体声、多通道等。lfe—existence表示音频流是否包括低频 效果通道。当音频流包括低频效果通道时,lfe-existence为1。当音频流 不包括低频效果通道时,1 ife—existence为0。 sampling — frequence是表示 音频流中所包括的音频数据的采样频率的信息。 当对应于Staticlnfo()的基本流为字幕流(stream = = SUBTITLE)时, Staticlnfo()由subtitie—language—code ( 16位)、configuration-flag ( 1 位)和用于字对齐的reserved—for—word-alignment组成。subt itle — 1 anguage—code描述表示字幕流中所包括字幕数据的语言的 代码。configurable_flag是表示是否允许字幕数据显示模式从默认显示模 式改变的信息。当允许显示才莫式改变时,configurable-f lag为1。当不允许 显示模式改变时,configurable-flag为0。字幕数据的显示模式包括字幕数 据的显示大小、显示位置、显示颜色、显示模式(例如,闪烁)、显示方向(垂直或水平)等等。[Dynamiclnfo ()描述]接下来,将参考图15详细描述图12中示出的Dynamiclnfo ()。 图15示出Dynamiclnfo 0的语法。Dynamiclnfo ()以用于字对齐的reserved-f or—word一al ignment (8位) 开士会。reserved—for-word一alignment后面的元素取决于禾口 Dynamiclnfo () 对应的基本流的属性。如参考图14所描述的Staticlnfo()那样,和 Dynamiclnfo()对应的基本流的属性由包括Dynamiclnfo()的图12中所示的 Streamlnfo 0中所包含的stream—id和private — stream—id确定。如图12所描述,Dynamiclnfo ()描述当在再现基本流时变化的动态信 息。动态信息并非特定。但是,在图15所示出的实施例中,在Dynamiclnfo () 中描述与Dynamiclnfo()对应的基本流的数据,即作为对于基本流的处理的 输出的数据的输出属性。特别是,当与Dynamiclnfo ()对应的基本流是视频流(stream = = VIDEO) 时,Dynamiclnfo ()由 display—aspect —ratio (4位)和用于字对齐的 reserved—for—word—alignment组成。display—aspect — ratio描述视频流视 频数据的输出模式,例如视频数据的高宽比。换言之,display-aspect —ratio 描述表示16: 9或者4: 3高宽比的信息。视频流的Dynamiclnfo ()可以描述 例如视频数据的图像大小(x像素x Y像素)以及高宽比。当与Dynamiclnfo ()对应的基本流是音频流(stream = = AUDIO )时, Dynamiclnfo 0 由 channel—ass ignment (4 J立)禾口用于字只于齐的 reserved-for_word—alignment组成。当音频流包括音频数据的两个通道时, channel—ass ignment描述两个通道的^T出才莫式。4吳言之,channel—assignment
描述表示立体声或者双声道(双语)通道分配的信息。当与Dynamiclnfo()对应的基本流是字幕流(stream = = SUBTITLE)时, Dynamiclnfo ()由用于字对齐的reserved—for—word_al ignment组成。换言 之,根据图15所示出的实施例,不对字幕流定义作为动态信息的输出属性。[EP—map()描述]接下来,将参考图16详细描述图12所示出的EP-map()。 图16示出EP-map()的语法。EP—map()描述解码可起始点(entry point,入口点)的信息,从此点可 解码存储在与包括EP-map()的片段信息文件Clip()(在图12示出)对应的 片段流文件中的节目流中多路复用的每个基本流。可通过计算获得具有固定速率的流的解码可起始点。但是,对于在每个 视频访问单元中大小变化的流,例如根据MPEG标准编码的视频流,不能通过 计算获得解码可起始点。如果不分析流,则不能获得解码可起始点。为了随 机访问数据,必需快速识别解码可起始点。借助EP—map(),可以快速识别解 码可起始点。在MPEG2-Video中,包括Sequence—header ()等的内图像(intra picture) 的起始部分是解码可起始点。EP-map ()以用于字只十齐的reserved—for—word-alignment ( 8 4立)开始。 reserved—for隱word—alignment "H""pH number—of扁stream—id—entries (8 4立)。number-of-stream-id—entries表示在EP—map ()中4结述解石马可起士台,#、4言 息的基本流的数目。numbe r _ of - s t rearn — i d—en t r i e s接下来是识别基本流的信息和基本流解 码可起始点的信息的组。将其重复由number—of —stream—id—entries表示的 这么多次。换言之,number-of-stream-id-entries接下来是作为识别基本流的信 息的stream—id ( 8位)和private—stream—id ( 8位)。private —stream—id 接下来是number—of—EP—entries ( 32位)。number—of—EP—entries表示由跟 随以number-of—EP—entries的stream—id牙口 private—stream—id i口、另寸的解石马 可起始点的数目。number—of _EP—entries接下来是由stream—id禾口 private—stream—id识 别的基本流的解码可起始点的信息。对其重复由number—of— EP -entries表示的次数。才灸言之,当当前基本流为祸L频流时,ii置 index—N—minus 1 和 Nth—Ref—picture—copy。之后,力丈置PTS—EP—start ( 32位)和RPN—EP_start (32位)作为解码可起始点的信息。重复此序列。后面将描述index-N-minusl 和Nth—Ref—picture_copy。当当前的基本流不是视频流时,16位的reserved一for一future-use接下 来是作为解码可起始点的信息PTS—EP—start ( 32位)和RPN_EP_start (32 位)。重复此序列。把将在下面描述的其中记录在由 RPN—EP-start 表示的 private-Stream-2 中的第一 Ref_picture 、 第二 Ref — picture 、 第三 Ref_picture和第四Ref —picture中的——个复制到Nth一 Ref_picture_copy。 此外,把表示复制了哪个场的信息以图17所示出的值记录在 index—N—minusl。换言之,如图17所示,当复制第一 Ref— picture时,O记 录在index-N一minusl。当复制第二Ref—picture时,1 "i己录在index—N—minus 1。 当复制第三Ref-picture时,2记录在index_N-minus 1 。当复制第四 Ref—picture时,4记录在index—N_minusl。作为解码可起始点的信息的一个元素的PTS_EP—start表示解码可起始 点在存储与由stream—id和private — stream—id识别的基本流多路复用的节 目流的片段流文件中的时间(表示时间)。作为解码可起始点的信息的另一个元素的PTS-EP-Start描述解码可起 始点在存储与由stream-id和private—stream—id识别的基本流多路复用的 节目流的片段流文件中的位置,作为节目流的pack()的数目的值。根据此实 施例,pack()的大小为固定的2048字节。此外,根据此实施例,盘101 (图 1) 一个扇区是2048字节。就在一见频流的解码可起始点(入口点)之前,为private — stream—2包(作 为private—stream—2属性的PES—packet () )。 private—stream—2包存储用于 解码存储在两个相邻private — stream-2包之间的视频流的信息。因此,对视 频流,作为解码可起始点信息的RPN-EP_start描述其后紧跟实际解码可起始 点的private —stream—2包的起始立置。在EP—map()中,对于由stream—id和private_stream-id识另ll的每个基 本流,以升序预先排序作为解码可起始点信息的PTS-EP-start和RPN—EP—start的组。因此,可以二分式搜索作为解码可起始点信息的 PTS-EP一start和RPN—EP一start的组。对变化速率流和大小在视频访问单元中不同的流的随机访问方法在例如 曰本特开2000 - 341640 (日本专利申请平11 - 317738 )描述了。[片段流文件描述]接下来,将描述具有PS扩展名并存储在图6所示出的"STREAM"目录中 的片段流文件(图6中的"00001.PS"、 "00002.PS"和"00003.PS")的内部结构。在 MPEG - 2 系统 (IS0/IEC 13818 - 1 ) 中所定义的 MPEG2—Program—Stream ()的基础上构造片段流文件。图18A和图1SB示出MPEG-2系统(IS0/IEC 13818 - 1: 20000 )标准中 描述的表格2-31、表格2 - 32和表格2 - 33。存储在片段流文件中的节目流为在MPEG2 _ Sys t em标准的表格2 - 31中定 义的 MPEG2_Program_Streara()。 节目流由至少 一 个 pack()和 MPEG —program—end—code 组成。在日本专利 2785220 中描述了 MPEG2—Program_Stream()。一个pack 0由一个Pack—header ()和任何数量的PES_packet ()组成,如 在MPEG2系统标准的表格2 - 32中定义的。在MPEG2系统标准的表格2 - 33 中描述Pack—header 0 。在MPEG2_Systera标准中,pack ()具有变化长度的大小。但是,如图16 所述,假定pack()的尺寸为固定的2048字节。在此实施例中, 一个pack() 的PES—packet ()数为1、 2或3。当Pack ()以pr ivate_stream—2包开始时, 其通常在后面紧跟着相应^L频流的PES —packet ()。此外,作为第三 PES-packet (),可以有padding—packet (装填包)。通常在Pack ()的起始部 分出现private—stream—2包。当Pack()不以private —stream—2包开始时,Pack ()以包括^见频数据、 音频数据、字幕数据等的内容数据的PES-packet ()开始。第二 PES_packet () 可以是padding—packet (装i真包)。图19A和图19B到图21A到图21B示出在MPEG2系统标准的表格2-17 中定义的PES—packet 0 。PES —packet () 主要由 packet_start_code_prefix 、 stream—id 、 PES-packet —length (在图19A和图19B中示出)、根据stream—id等变化的 头部部分(包括stuffing—byte)(这些部分在图19A和图19B到图21A和图 21B中示出)和PES-packet—data—byte (在图21A和图21B中示出)。当 PES-packet ()为 padding—packet (stream—id = = padding —stream )时,代 替PES-packet—data-byte,重复要求数量的padding—byte (OxFF)(图21A 和图21B)要求的那么多次。如图19A和图19B到图20A、图20B和图20C中所示,PES—packet 0的 头部部分可描述表示称为PTS (Presentation Time Stamp,呈现时间戳)的 显示时间的信息和表示称为DTS (Decoding Time Stamp,解码时间戳)的解 码时间的信息。根据此实施例,将PTS添加至所有访问单元的每一个(构成 在MPEG2系统中定义的基本流的解码单元)。当在MPEG2系统中指定时,添加 DTS。将节目流中多路复用的基本流存储在PES—packet ()的 PES—packet—data—byte (图21A和图21B)。 PES—packet 0的stream—id描述 用于识别存储在PES-packet-data-byte中的基本流的、根据基本流属性的 值。在MPEG2系统标准的表格2-18中定义了在PES—packet ()的stream—id 中描述的值与基本流属性(类型)之间的关系。图22A和图22B示出MPEG-2系统标准的表格2-18。根据本发明的实施例,例如图23中所示出的值用作如图22A和图22B 所示的在MPEG2系统标准中定义的stream-id。换言之,根据此实施例,五个模式IOIIIIOIB、 lOlllllOB、 lOllllllB、 110xxxxxB和1110xxxxB用作stream—id的值,其中"x"表示0和1的任一 个。根椐图23所示出的表格,具有private-stream—1属性的基本流 PES-packet ()的stream—id为IOIIIIOIB。根据图23中所示出的表格, padding — packet的PES-packet ()的stream—id为lOlllllOB。根据图23中 所示出的表格,具有private-stream_2属性的基本流PES—packet 0的 stream_id为lOllllllB。在MPEG中定义的音频流(音频基本流)的PES-packet ()的stream—id 为110xxxxxB。 110xxxxxB的低阶五位xxxxx为识别音频流的音频流号。可由
音频流号识别的32 ( = 25 )个音频流(在MPEG中定义的音频流)可以多路复 用在节目流中。在MPEG中定义的视频流(视频基本流)的PES—packet()的stream—id 为1110xxxxB。 1110xxxxB的^f氐阶四^f立xxxxx为识别碎见频流的^L频流号。16 (=24)个视频流(在MPEG中定义的视频流)可以多路复用在节目流中。stream—id为1110xxxxB的PES — packet ()用于存储在MPEG中定义的^见频 流。stream—id为110xxxxxB的PES — packet 0用于存储在MPEG中定义的音频 流。另一方面,在MPEG中没有定义根据编码系统(例如ATRAC系统)的基本 流PES-packet ()的stream-id。因此,和在MPEG中定义的^见频流和音频流一 样,根据未在MPEG中定义的编码系统的基本流不能存储在具有stream_id的 PES—packet ()中。因此,才艮据此实施例,扩展private-stream-1的PES—packet ()的 PES-packet—data-byte以存储根据在MPEG中没有定义的编码系统的基本流。扩展的private—stream_l的PES — packet 0的PES—packet_data_byte描 述为pr ivate—streaml—PES—payload 0 。[private—st reaml—PES—pay load 0描述]图24示 出private —streaml-PES-payload() 的语法 。 private—streaml—PES—payload 0由private—header ()和private—payload 0 组成。private-payload()存储根据在MPEG系统中没有定义的编码系统编码 的基本流,例如ATRAC音频流、LPCM音频流、字幕音频流等。private—header 0 以private—stream—id (8 位) 开始 。 private —stream-id是识另寸存卡者在private—payload ()中基本;^克的识另'H言息。 private-stream-id根据基本流的属性具有下面的值。图25示出private—stream—id的值与存储在private—payload ()中的基 本流的属性之间的关系。图25示出三个模式OOOOxxxxB、 OOOlxxxxB和lOOxxxxxB作为 private-stream_id的值,这里"x"是如图23所示出情况的0和1的任意 值。根据图 25所示出的表格,ATRAC流private-payload()的 private—streaml-PES-payload()的 private—stream—id 为 OOOOxxxxB。 OOOOxxxxB的l氐阶四位xxxxx为识别ATRAC音频流的音频流号。可以由音频
流号识别的 16 ( = 24 )个 ATRAC音频流可以与节目流 (MPEG2—Program—Stream())多路复用。才艮据图25所示出的表才各,LPCM音频流private-payloadO的 private—streaml—PES—payload0的 private—stream—id 为 OOOlxxxxB。 OOOlxxxxB的低阶四位xxxx为识别LPCM音频流的音频流号。可以由音频流 号识别的16 ( =24)可以多路复用在节目流中。根据图 25 所示出的表格,字幕流private_payload()的 private —streaml—PES_payload ()的 private—stream—id 为 lOOxxxxB 。 lOOOxxxxxB的低阶五位xxxxx为识别字幕流的字幕流号。32 ( = 25 )个字幕 流可以多路复用在节目流中。图13示出图23和图25之间的关系。回到图24, private_streaml—PES_payload ()的private_stream_id之 后的元素随着存储在private-payloadO中的基本流的属性而变化。存储在 private一payload ()中的基本流的属性由在private—header ()的开始的 private —stream—id确定。当存储在private-payloadO中的基本流是ATRAC音频流时 (private —stream—id = = ATRAC ), 为1夸来的扩展而描述 reserved_for —future—use (8 位)。reserved—for —future—use接下来是 AU-locator (16位)。AU—locator表示在就在AU—locator之后的位置的基础 上存储在private—payload()中的ATRAC音频流的音频访问单元的起始位置。 当private-payloadO不存储音频访问单元时,例如在AU—locator中描述 OxFFFF。当存储在private-payloadO中的基本流是LPCM音频流时 (private-stream-id = = LPCM ), 连续描述fs — flag (1位)、 reserved—f or —future—use ( 3位)、ch—flag ( 4位)和AU — locator (16位)。fs — flag表示存储在private-payloadO中LPCM音频流的采样频率。当 LPCM音频流的采样频率为48kHz时,fs—flag为0。当LPCM音频流的采样频 率为44. 1kHz时,fs — flag为1。ch—flag表示存储在private—payload 0中LPCM音频流的通道数。当 LPCM音频流为单声道时,ch—flag为1。当LPCM音频流为立体声时,ch—flag 为2。AU—locator表示在就在 AU一locator之后的位置的基础上存储在 private—payload()中的LPCM音频流的音频访问单元的起始位置。当 private—payload()不存储音频访问单元时,例如在AU — locator中描述 OxFFFF。当存储在 private-payload()中的基本流是字幕流时 (private—stream—id = = SUBTITLE ), 为3夸来扩展而描述 reserved—for —future—use ( 8位)。reserved—for_future_use接下来紧接着 AU—locator ( 16 ^f立)。AU —locator表示在才尤在AU—locator之后的J立置的基石出 上存储在private-payload()中的字幕流的字幕访问单元的起始位置。当 private-payload()不存储字幕访问单元时,例如在AU—locator中描述 OxFFFF。[private—st ream2—PES—pay load 0描述]图26示出private—stream2_PES—payload()的语法。private-stream2_PES—payload () 是 private_stream2 的 private一payload()的PES—packet—data —byte (图21A和图21B)的扩展,即 private-stream2的PES_packet ()的PES_packet_data—byte的扩展。 pr i va t e—s t ream2 _PES—pay 1 oad ()描述用于解码-现频流的信息。根据此实施例,private_stream_2的PES-packet ()就在视频流的解码 可起始点之后。因此,根据此实施例,当从节目流检测private-stream_2的 PES-packet ()时,可解码就在PES_packet O之后的视频流。在图16中示出的EP-map()的RPN_EP—start表示针对视频流 private—stream—2的PES —packet ()的起始4立置。private — stream2-PES-payload() 以 用 于将来扩展的 reserved_for_future_use ( 8 ^f立)开士会。reserved—for—future—use ( 8 4立) 接下来是连续的video—stream—id ( 8位)、第一 Ref— picture (16位)、第二 Ref_picture (16位)、第三Ref— picture (16位)、第四Ref — picture (16 位)、au_informat ion ()和VBI ()。video—stream—id描述和就在private —stream—2的PES— packet ()之后 的一见频流PES — packet ()的stream—id相同的Y直。video —stream—id识另'J PES-packet (),其存4渚利用存卡者在private—stream—2的PES_packet 0的 pr ivate_s t ream2—PES_pay 1 oad ()中的信息而解码的祸L频流。第一 Ref—picture、 第二 Ref—picture、 第三 Ref—picture 禾口第四 Ref —picture表示最后pack ()中位置的相对值,此pack()包括从由 video—stream-id识另寸的^见频流的private—stream—2的PES-packet ()到下 一个private_stream_2的PES—packet 0的第一、第二、第三和第四参考图 像。曰本专利公开HEI09 - 46712 (日本专利申请HEI07 - 211420 )中详细公 开了第一 Ref—picture、 第二 Ref_picture、 第三Ref_picture和第四 Ref— picture作为bytes — to—first—P—pic和bytes-to—second_P—pic。au—information ()描述关于从private_stream_2的PES—packet ()到下 一 private—stream-2的PES—packet 0的视频流的视频访问单元的信息。将 参考图27详细描述au_information()。VBI ()用于描述关于闭路文字的信息。针对每个视频流的解码可起始点而描述具有 private—stream2—PES_payload ()的private — stream2的PES_packet ()。图27示出在图26中所示的au-information()的语法。au_information()以length( 164立)^i台。length表示au—information() 的大小,包括 length 的大小。length接下来是连续的 reserved—for—word—alignment (8位)和number_of-access_imit ( 8位)。 reserved—for—word—alignment用于字对齐。number —of—access—uni t表示从private—stream—2的PES — packet 0到下 一个private_stream-2的PES-packet 0存储的视频访问单元的数目。换言之,在其图26所示出的private-stream2_PES-payload()中的 video-stream-id 相同的 private—stream—2 的 PES-packet0 中 , number—of—access—unit 表示在从 au—information () 到下 一 个 au—information (), ^卩至寸当 au—information ()为其最后au—information () 时的片段流文件末尾的video-stream—id所表示的视频流中所包含的访问单 元的数目。number_of—access—unit接下来是根据number —of— access_unit的循环 内容。换言之,描述关于从包括number—of—access一uni t的private — stream—2 的PES — packet ()到下一个private —stream—2的PES—packet ()的至少一个浮见 频访问单元的信息。在循环中描述的信息(关于视频访问单元的信息)如下。
循环包括pic-struct — copy ( 4位)、au_ref_flag( 1位)、AU_length(21 位)和reserved。pic—struct —copy描述针对对应于MPEG4-AVC ( IS0/IEC 14496-10 )的 视频访问单元的、在ISO/IEC14496-10, D. 2. 2中定义的pic一strue")的拷 贝。pic —struct ()是表示例如将图像显示为帧或者在显示图像顶部场后显示 其底部场的信息。图28示出pic — struct表格。pic-struct用作指示如何显示图像的显示模式指定信息。在图28所示出的pic—struct表格中,当图像被指示为显示一帧时,如 图28所示出的最左边值字段所列出,对图像的pic-struct设置为0。类似 地,当图像指示为显示顶部场或者底部场时,分别对图像的pic-struct设置 为1或者2。当图像指示为连续显示顶部场和底部场时,对图像的pic-struct 设置为3。当图像指示为连续显示底部场和顶部场时,对图像的pic-struct 设置为4。当图像指示为连续显示顶部场、底部场和顶部场时,对图像的 pic-struct设置为5。当图像指示为连续显示底部场、顶部场和底部场时, 对图像的pic-struct设置为6。当图像指示为重复地两次或者三次显示一帧 时,对图像的pic-struct分别设置为7或8。au_ref—flag表示当解码另 一个访问单元时相应的访问单元是否是参考 的参考图像。当相应的访问单元为参考图像时,au—ref-flag为1。当相应的 访问单元不是参考图像时,au-ref-flag为0。AU_length表示相应访问单元的字节大小。[记录在盘101上的数据的具体实例]图29到图32示出具有前述格式并记录在图1所示出盘101上的数据的 具体实例。在图29到图32中,采用根据MPEG2 - Video的视频流和根据ATRAC的音 频流。但是,在本发明中采用的视频流和音频流不限于这些流。换言之,可 采用根据MPEG4-Visual的视频流、根据MPEG4 - AVC的视频流等等。另一 方面,可采用根据MPEGl/2/4音频的音频流、根据LPCM音频的音频流等等。和视频流及音频流不同,可连续解码并以相同的间隔显示字幕流。换言 之,将字幕流从图2A和图2B所所示出的緩冲器控制模块215断续地供应至 字幕解码器控制模块218。字幕解码器控制模块218解码字幕流。
图29到图32示出在"CLIP"目录中存储三个片段信息文件"00001.CLP"、 "00002. CLP"和"00003. CLP"以及在如图6所示出盘101的"STREAM"目 录中存储与三个片段信息文件"00001. CLP"、 "00002. CLP"和"00003. CLP" 对应的三个片段流文件"00001.PS"、 "00002.PS"和"00003.PS"的情况下, "PLAYLIST.DAT"文件、三个片段信息文件"00001. CLP"、 "00002. CLP"和 "00003. CLP"等等的具体实例。但是,在图29到图32中,省略了例如 "PLAYLIST. DAT"文件等等的数据的一部分。换言之,图29示出在图7中示出的"PLAYLIST.DAT"的具体实例。在图29中,number—of—PlayLists为2。因此,存储在"PLAYLIST.DAT" 文件中的PlayList()数为2。在图29中,第一和第二 PlayList 0分别为 PlayList并O和PlayList#l。第一PlayList ()即PlayList#0的capture—enable —flag—PlayList为1。 因此,允许二次使用根据PlayList#0再现的视频数据。另 一方面,PlayList并O 的number—of—Playltems为2。这样,PlayList#0中包括的Playltem()数为 2。在图29中,在"PlayList并0"字段下描述作为两个Playltem()的PlayList#0 和PlayList#l的具体实例。在作为PlayList#0中包括的第一 Playltetn()的Playltem()中,图8中 描述的Clip—Information-file-細e为"00001. CLP" , IN—time为180,090, OUT—time为27, 180, 090。因此,根据PlayList#0的PlayItem#0再现的片段 为与片段信息文件"00001.CLP"对应的片段流文件"00001.PS"的从时间 180, 090到时间27,180, 090。在作为PlayList#0中包括的第二 Playltem()的Playltem井l中,图8中 描述的Clip-Information—file—name为"00002. CLP" , IN_t ime为90, 000, OUT—time为27, 090, 000。因此,根据PlayList#0的Playltem#l再现的片段 为与片段信息文件"00002. CLP"对应的片段流文件"00002.PS"的从时间 90, 000到时间27, 090, 000。在图 29 中,在作为第二 PlayList ()的 PlayList#l 中, capture—enable—flag—PlayList为0。因此,不允i午二次4吏用才艮才居PlayList#l 再现的一见频数据。在PlayList#l中number—of—Playltems为1。因此, PlayList#l中包括的Playltem()数为1。在图29中,在"PlayList#l"字 段下描述作为一个Playltem()的PlayItem#0具体实例。
在作为PlayList#l中包括的一个Playltem ()的PlayItem#0中,图8中 描述的Clip—Information_f ile-name为"00003. CLP", IN—time为90, 000, OUT_time为81, 090, 000。因此,根据PlayList#l的PlayItem#0再现的片段 为与片段信息文件"00003. CLP"对应的片段流文件"00003.PS"的从时间 90, 000到时间81, 090, 000。接下来,图30A和图30B示出了在图12中所描述的片段信息文件Clip() 的具体实例。换言之,图30A和图30B示出在图6中所示出的片段信息文件 "00001. CLP"、 "00002. CLP"和"00003. CLP"的具体实例。在片段信息文件"00001. CLP,,中,presentation—start —time为90, 000 而presentation-end_time为27,990, 000。因此,在与片賴:信息文件 "00001. CLP"对应的片段流文件"00001. PS"中存储的节目流可使用310秒 的内容(27, 990, 000-90, 000/90kHz)。在片段信息文件"00001.CLP"中,capture—enable—flag—Clip为1。因 此,允许二次使用存储在与片段信息文件"00001.CLP"对应的片段流文件 "00001.PS"中的节目流中多路复用的视频流。而且,在图30A和图30B中,在片段信息文件"00001. CLP"中, number — of —streams为4。因此,在存储在片段流文件"00001.PS"中的节目 流中多路复用四个基本流。假定由stream#0、 stream#l、 stream#2和stream井3表示四个基本流, 在图30A和图30B中,在"00001.CLP"字段下描述四个基本流即stream#0、 stream#l、 stream#2和stream#3的Streamlnfo ()(图12)的具体实例。在片段流文件"00001. PS"的第 一基本流s tream#0中,s trearn— id为OxEO。 这样,如图23和图25 (或图13)所示,基本流stream弁0为视频流。根据此 实施例,private-stream_id与视频流无关。在图30A和图30B中, private—stream—id为0x00。在作为片段流文件"00001.PS"的第一基本流的视频流stream#0中, 在Streamlnfo()中包括的Staticlnfo()(图 14 )的picture — size为 "720x480", frame—rate为"29.97Hz,, ,cc—flag为"Yes"。视频流stream #0为具有720x480像素和29.97Hz帧周期的视频数据。此外,视频流 stream#0包括闭路文字数据。在作为视频流文件"00001. PS"第一基本流的视频流stream#0中,41Streamlnfo()(图12 )的number—of—Dynamiclnfo为0。没有成对儿的 pts —change—point禾口 DynamicInf o ()。在片段流文件"00001.PS"的第二基本流stream# 1中,stream—id为 OxBD, private — stream—id为0x00。因此,如图23和图25所示,基本流 stream#l为ATRAC音频流。在作为片段流文件"00001. PS"第二基本流的ATRAC音频流stream#l 中,在Streamlnfo ()中包括的Staticlnfo ()(图14 )的audio — language—code 为"Japanese", channel — configuration为"STEREO", lfe_existence为"NO", sampling-frequency为"48kHz"。因此,ATRAC音频流stream#l为日语和立 体声音频数据。此外,ATRAC音频流stream#l不包括低频效应通道而采样频 率为48kHz。此外,在作为片段流文件"00001.PS"第二基本流的ATRAC音频流 stream并l中,因为Streamlnfo 0 (图12 )的number陽of-Dynamiclnfo为0, 所以没有成对儿的pts —change-point和Dynamiclnfo 0 。在片段流文件"00001. PS"的第三基本流stream#2中,stream—id为 OxBD, private — stream—id为0x80。因此,如图23和图25所示,基本;充 stream#2为字幕流。在作为片段流文件"00001. PS"第三基本流的字幕流stream#2中,在 Streamlnfo ()中包括的Staticlnfo()(图14)的subtitle—language — code 为"Japanese", conf igurable—f lag为0。 因jt匕,字幕5荒streara并2为日i吾字 幕数据。此外,不允许改变此显示模式。在作为片段流文件"00001.PS"第三基本流的字幕流streanrf2中,因为 Streamlnfo ()(图12)的number_of—DynamicInfo为0,所以没有成对儿的 pts — change—point和Dynamiclnfo 0 。在片段流文件"00001.PS"的第四基本流stream# 3中,stream—id为 OxBD, private-stream-id为0x81。因此,如图23和图25所示,基本流 streatn#2为字幕流。为区别作为片段流文件"00001. PS"的第三基本流的字幕流stream#2 与作为第四基本流的字幕流stream弁3,其private—stream—id分别为0x80 和0x81。在作为片段流文件"00001.PS"第四基本流的字幕流stream#2中,在
Streamlnfo ()中包4舌的StaticInfoO (图14 )的subtitle—language — code 为"Japanese", conf igurable—flag为1。 因此,字幕流s tream#3为曰语字 幕数据。允许改变字幕流streaitrf3的显示模式。在作为片段流文件"00001. PS"第四基本流的字幕流stream并3中,因为 Str固Info()(图12)的number—of—Dynamiclnfo为0,所以没有成对的 pts —change—point和Dynamiclnfo ()。在图30A和图30B中,在片段信息文件"00002. CLP"中, presentatiorustart-time为90, 000而presentation—end—time为27, 090, 000。因此,在与片段信息文件"00002. CLP"对应的片段流文件"00002.PS" 中存储的节目流可采用300秒的内容(27, 090, 000-90, OOO鋒Hz )。在片段信息文件"00002. CLP"中,capture-enable — f lag—Clip为0。因 此,不允许二次使用在存储在与片段信息文件"00002. CLP"对应的片段流文 件"00002.PS"中的节目流中多路复用的视频流。在图30A和图30B中,在片段信息文件"00002. CLP"中, number_of-Streams为4。因此,和上述片段流文件"00001. PS" —样,在存 储在相应片^R流文件"00002.PS"中的节目流中多路复用四个基本流。假定由stream#0、 stream#l、 stream井2和stream井3表示四个基本流, 在图30A和图30B中,在"00002. CLP"字段下描述四个基本流即stream#0、 stream#l、 stream#2和stream#3的Streamlnfo ()(图12)的具体实例。在图30A和图30B中,片段流文件"00002.PS"的第一到第四基本流即 stream#0到#3的Streamlnfo ()内容与片段流文件"00001. PS"的第一到 第四基本流即streatn并0到弁3的相同。因此省略了对其的描述。如上所述,片段流文件"00002.PS"的第一到第四基本流即stream#0 到#3的Streamlnfo ()内容与片段流文件"00001.PS"的第一到第四基本流 即stream并0到# 3的相同。因此片段流文件"00002. PS"的第一基本流stream #0是视频流。第二基本流stream#l为ATRAC音频流。第三和第四基本流 stream# 2和stream# 3为字幕流。接下来,在图30A和图30B中,在片段信息文件"00003. CLP"中, presentation—start —time为90, 000而presentation—end—time为81, 090, 000。因此,在与片段信息文件"00003. CLP"对应的片段流文件"00003.PS" 中存储的节目流可采用900秒的内容(81,090, 000-90, 000/90kHz)。
在片段信息文件"00003. CLP"中,capture—enable—flag—Clip为1。因 此,允许二次使用在存储在与片段信息文件"00003. CLP"对应的片段流文件 "00003. PS"中的节目流中多路复用的视频流。而且,在图30A和图30B中,在片段信息文件"00003. CLP"中, number —of-streams为3。因此,在存储在片段流文件"00003.PS"中的节目 流中多路复用三个基本流。*支定由stream#0、 stream#l和stream#2表示此三个基本流,在图30A 和图30B中,在"00003. CLP"字段下描述三个基本流即stream井0、 stream#l 和stream#2的Streamlnfo 0 (图12)的具体实例。在片段流文件"00003. PS"的第一基本流stream并0中,stream—id为OxEO。 这样,如图23和图25 (或图13)所示,基本流stream#0为^L频流。和片段 流文件"OOOOl. PS,,第一基本流stream# 0 —样,private — streaiid为0x00。在作为片段流文件"00003.PS"的第一基本流的视频流stream#0中, 在Streamlnfo ()中包括的Staticlnfo()(图14 )的picture—size为 "720x480", frame-rate为"29.97Hz,, ,cc一flag为"No"。因此,视频流 stream#0为具有720x480像素和29. 97Hz帧周期的视频数据。视频流 stream#0不包括闭路文字数据。在作为视频流文件"00003.PS"第一基本流的视频流stream#0中, Streamlnfo ()(图12 )的number—of—Dynamiclnfo为2。因此,在Streamlnfo 0 中描述两组pts—change—point和Dynamiclnfo ()。在片段流文件"00003.PS"的第二基本流stream#l中,stream—id为 0xEl。因此,如图23和图25(或者图13)所示,基本流stream#l为^L频流。 为区别作为片段流文件"00003.PS"的第一基本流的视频流stream#0与作 为第二基本流的视频流stream# 1,其stream—id分别为0xE0和0xEl。和片 ,史流文件""的第一基本流stream# O相同,private—stream—id为0x00。在作为片段流文件"00003.PS"第二基本流的视频流stream#l中,在 Streamlnfo ()中包4舌的Staticlnfo 0 (图14 )的picture—size、 frame—rate 以及cc —flag和作为第一基本流的视频流stream# 0的那些相同。因此,作 为片段流文件"00003.PS"第二基本流的视频流stream#l为具有720x480 像素和29. 97Hz帧周期的视频数据。视频流stream#0不包括闭路文字数据。。在作为片段流文件"00003.PS"第二基本流的视频流stream#l中,因为 Streamlnfo()(图12 )的number—of—Dynamiclnfo为0,所以没有成对的 pts-change—point和DynamicInf o ()。在片段流文件"00003. PS"的第三基本流s tream#2中,s tream一 id为OxBD, private — stream—id为0x00。这才羊,如图23和图25所示,基本流stream并2 为ATRAC音频流。在作为片段流文件"00003.PS"的第三基本流的ATRAC音频流stream井 2 中,在 Streamlnfo()中包括的 Staticlnfo()(图 14 )的 audio—language—code 、 channel—configuration 、 lfe_existence 和 sampling-frequency与作为片段流文件"00001. PS"第二基本流的ATRAC音 频流streamM的那些相同。因此,作为片段流文件"00003.PS"第三基本流 的ATRAC音频流stream#2为日语和立体声音频^据。此外,ATRAC音频流 stream# 2不包括低频率效果通道。ATRAC音频流stream# 2具有48kHz的采 样频率。在作为视频流文件"00003.PS"第三基本流的ATRAC音频流stream#2 中,StreamInfo()(图12 )的醒ber—of-Dy誦icInfo为3。因此,Streamlnfo () 描述三组pts—change — point和Dynamiclnfo 0 。图31示出在图12中所描述片段信息文件Clip()的EP—map()的具体实 例。换言之,图31示出了在图6中所示出的片段信息文件"00001. CLP"的 图16中所示出的EP-map()的具体实例。在图31中,在EP—map ()中,number—of _stream_id_entries为1。因jt匕, EP_map ()描述一个基本流的解码可起始点的信息。在图31所示出的EP-map()中,stream—id为0xE0。因此,如图23和图 25所示,EP-map()将PTS—EP隱start和RPN—EP-start (图16)描述为作为由 0xE0的stream—id识别的视频流的解码可起始点的RAPI (随机访问点信息) 信息。换言之,在图31中,EP—map()为片段信息文件"00001.CLP"。如图 30A和图30B所示,在对应片段信息文件"00001.CLP"的片段流文件 "00001. CLP"中,stream—id为0xE0的基本流为片段流文件"00001. CLP" 的第一浮见频流stream# 0。因此,在图31中所示出的EP_map ()中所描述信息 为视频流stream # 0解码可起始点的PTS_EP_start和RPN_EP_start。在图31中,描述片段流"00001. CLP"第一^f见频流stream井0解码可起 始点的前五个PTS-EP一start和RPN—EP—start,但是省略了第六以及后面的 PTS-EP—start和RPN—EP_start。
PTS一EP-Start、 RPN一EP一start、第一 Ref—picture,第二 Ref-picture、 第三Ref_picture和第四Ref—picture表示多路复用流中所多路复用的所有 RAPI的起始位置以及紧跟在每个RAPI后的内图像的终止位置,以及内图像 之后的第二、第三和第四参考图像。
顶部RAPI的位置为0 (扇区)。紧跟在顶部RAPI之后的内图像的PTS为 90,000。内图像、第二、第三和第四参考图像的终止位置分别为作为从RAPI 开始的相对扇区计数的28、 37、 48和58。
第二 RAPI的位置为244 (扇区)。紧跟在第二 RAPI之后的内图像的PTS 为135,045。内图像、第二、第三和第四参考图像的终止位置分别为作为从 RAPI开始的相对扇区计数的10、 18、 25和31。
第三RAPI的位置为305 (扇区)。紧跟在第三RAPI之后的内图像的PTS 为180,090。内图像、第二、第三和第四参考图像的终止位置分别为作为从 RAPI开始的相对扇区计数的25、 44、 50和54。
第四RAPI的位置为427 (扇区)。紧跟在第四RAPI之后的内图像PTS为 255,135。内图像、第二、第三和第四参考图像的终止位置分别为作为从RAPI 开始的相对扇区计数的8、 15、 22和29。
第五RAPI的位置为701 (扇区)。紧跟在第五RAPI之后的内图像PTS为 270,180。内图像、第二、第三和第四参考图像的终止位置分別为作为从RAPI 开始的相对扇区计数的26、 32、 41和48。
四个参考图像(第一 Ref—picture、第二 Ref—picture、第三Ref—picture 和第四Ref-picture)的终止位置的接近于预定扇区计凄t (在编码处理中可 以集体读取的扇区计数)的值存储在Nth—Ref_picture_copy。在图31中, 选择与扇区计数"30"最接近的值。
例如,对于顶部项目,PTS—EP—start = 90, 000而RPN—EP_start=0。对于 Nth—Ref—picture—copy从28、 37、 48和58选择与"30"最接近的值28。因 此,表示第一 Ref-picture的"0"存储到index丄minusl。
接下来,对于第二项目,PTS-EP—start = 135, 045而RPN—EP—start = 244。 对于Nth—Ref—picture —copy从10、 18、 25和31选择与"30"最接近的值 31。因此,表示第四Ref_picture的"3"存储到index_N_tninusl。
因此,(0, 28 )、 ( 3, 31 )、 ( 0, 25 )、 ( 3, 29 )和(1, 32 )存储到在图31所
示出的五个点项目的index—N一minusl和Nth-Ref-picture_copy。
该选择算法式完全考虑再现装置的再现质量而确定的。因此,在此实施
例中,选择与相对小扇区计数"30"最接近的值。替代地,可选择另一个扇 区计凄t。当index-N—minusl的^直净支小时,^口果7于Nth一Ref-picture一copy的 大小从RAPI的位置读取数据,则所包含的参考图像的数目较小。相反,当 index_N_minusl的值较大时,所包含的参考图像的数目较大。
在此实例中,尽管以五个点的数据描述了四个参考图像的终止位置,但 是存在依赖于视频编码方法或者内图像的间隔参考图像数量成为四个或更低 的可能性。这种情况下,可描述最多四个参考图像的参考图像最大数的终止 位置。
在图31所示出的EP—map ()中,pirvate — s tream—id为0x00。当stream—id 表示上述视频流时,pirvate—stream陽id无关。
图32示出了在图29中描述的PlayList#0和PlayList#l (图7中示出 的PlayList())的PlayListMark ()的具体实例。
图32中所示的上面表格表示PlayList#0的PlayListMark () (Fig. 9)。
在图 32 所示的上面表格中,PlayList#0 的 PlayListMark()number—of-PlayList隱marks为7。 因jt匕,PlayList#0 6勺 PlayListMark()中包括的mark()数为7。
在图32示出的上面表格中,作为包括在PlayList井0的七个mark()中的 第一Mark()的Mark# 0的mark—type (图9 )为"chapter"。因此,Mark弁O 为章标记。此外,因为ref — to-Playltem—id (图9 )为0,所以Mark并0属于 图29所示出的两个Playltem# 0和# 1的Playltem# 0。此外,Mark并O的 mark_time_stamp为180, 090。因此,Mark # 0为根据PlayList # 0中包括的 PlayItem#0再现的片段流文件的时间(再现时间)180,090的标记。Mark # 0的entry—ES — stream-id和entry—ES —private-stream-id两者皆为0。因 此,Mark# 0与任何基本流无关。此外,Mark # 0的mark—data为1。因此, Mark弁0表示号码为1的章。
根据在PlayList #0中包括的PlayItem#0再现的片段流文件为在 Playltem#0的CI ip一Information一f ile一,e中描述的"00001. CLP"所识 别的片段流文件"00001. PS"(图29)。因此,由Mark# 0的mark—time —stamp 表示的时间180, 090为片段流文件"00001.PS"的时间。
在图32示出的上面表格中,作为包括在PlayList #0中的七个Mark() 中的第五个Mark()的Mark #4为与第一 Mark # 0章标记相同的章标记。
换言之,作为第五Mark()的Mark#4的mark一type(图9 )是"Chapter"。 因此,Mark弁4为章标记。此外,Mark # 4的ref — to_PlayItem—id (图9 )为 1。所以Mark#4属于包括在PlayList # 0中的图29所示出两个Playltem# 0 和# 1的Playltem# 1。 Mark # 4的mark—time —stamp为90, 000。因此,Mark #4为根据PlayList #0中包括的Playltem#l再现的片段流文件的时间 90,000 的才示i己。另夕卜,Mark # 4 的 entry—ES-Stream—id 和 entry_ES-private —stream—id两者都为0。因此,Mark # 4与任何基本流无 关。此外,Mark# 4的mark—data为2。因此,Mark # 4表示号码为2的章。
在此实例中,根据在PlayList # 0中包括的Playltem# 1再现的片段流 文件为图29所示出在Playltem# 1的CIip一Info函tion一f ile—name中描述 的"00002. CLP"所识別的片段流文件"00002.PS"。因此,由Mark#4的 mark-time-stamp表示的时间90, 000为片#史流文件"00002.PS"的时间。
在图32示出的上面表格中,作为包括在PlayList#0中的七个Mark() 中的第二个Mark()的Mark#l的mark—type (图9)是"Index"。因此,Mark #1为索引标记。此外,Mark#l的ref-to-PlayItem_id (图9)为0。所以 Mark#l属于包括在PlayList # 0中的图29所示出两个Playltem# 0和# 1的 Playltem# 0。此夕卜,Mark# 1的mark-time — stamp为5, 580, 090。因此,Mark #1为根据PlayList #0中包括的PlayItem#0再现的片段流文件的时间 5,580,090 的标^己。另夕卜,Mark # 1 的 entry—ES —stream—id 和 entry—ES-private-Stream-id两者都为0。因此,Mark#l与4壬何基本流无 关。此外,Mark#l的mark—data为1。因此,Mark弁l表示号码为1的索引。
在此实例中,根据在PlayList #0中包括的Playltem# 0再现的片段流 文件为如上所述的片段流文件"00001.PS"。因此,由Mark # 1的 mark—time—stamp表示的时间5, 580, 090为片#爻流文件"00001. PS"的时间。
在图32示出的上面表格中,作为包括在PlayList # 0中的七个Mark() 的第四个Mark()的Mark# 3的mark—type (图9 )是"Event"。因此,Mark 弁3为事件标记。此外,Mark# 3的ref —to-Playltem—id (图9 )为0。所以 Mark#3属于包括在PlayList # 0中的图29所示出两个Playltem# 0和# 1的 Playltem# 0。此夕卜,Mark# 3的mark—time —stamp为16, 380, 090。因此,Mark
#3为根据PlayList #0中包括的PlayItem#0再现的片段流文件的时间 16,380,090 的标i己。Mark # 3 的 entry—ES — stream—id 和 entry_ES-private_streara_id为0。因此,Mark # 3与4壬何基本流无关。此 外,Mark# 3的mark_data为0。因此,Mark # 3使得变量为0的事件发生。
如上所述,根据在PlayList # 0中包括的Playltem# 0再现的片段流文 件为片^l流文件"00001.PS"。由Mark #3的mark_time-Stamp表示的时间 16, 380, 090为片段流文件"00001. PS"的时间。
在图32示出的上面表格中,Mark()所属的Playltem()的时间在PlayList #0的PlayListMark()表格右侧的左边字段中描述。在表格右侧的右字段中 描述PlayList并0的时间。
图32所示出的下面表格表示PlayList #1的PlayListMark 0 (图9 )。
在图32所示出的下面表格中,PlayList #1的PlayListMark 0的 number_of-PlayList-marks为3。因此,在PlayList # 1的PlayListMark () 所包括的Mark()数为3。
在图32示出的下面表格中,作为包括在PlayList并l的三个mark()中第 一Mark()的Mark#0的mark—type (图9)为"chapter"。因此,Mark并O为 章标记。此外,Mark#0的ref — tO-Playltem—id (图9 )为0。所以Mark并O 属于包括在Playltem# 1中的图29所示出的一个Playltem# 0。 Mark并O的 mark—time-stamp为90,000。因此,Mark # 0为根据PlayList # 1中包括的 PlayItem#0再现的片^殳流文件的时间90,000的标记。Mark # 0的 entry—ES — stream-id和entry—ES—private—stream—id两者皆为0。因jt匕,Mark 并O与任何基本流无关。此外,Mark# 0的mark—data为0。因此,Mark#0 表示号码为O的章。
根据在PlayList#l中包括的PlayItem#0再现的片段流文件为图29 所述的在Playltem # 0的 CIip—Information_file—name 中描述的 "00003. CLP"所识别的片段流文件"00003.PS"。因此,由Mark # 0的 mark-time-stamp表示的时间90, 000为片段流文件"00003.PS"的时间。
在图32示出的下面表才各中,作为包括在PlayList # 1中的三个Mark() 中的第二个Mark ()的Mark# 1的mark—type (图9 )是"Event"。因此,Mark #1为事件标记。此外,Mark#l的ref — tO-Playltem—id (图9 )为0。所以 Mark#l属于包括在PlayList # 1中的图29所示出的Playltem# 0。此外,Mark
# 1的mark_time_stamp为27, 090, 000。因此,Mark # 1为根据PlayList # 1 中包括的Playltem并0再现的片段流文件的时间27, 090, 000的标记。另夕卜, 在Mark # 1中,entry_ES_stream—id为OxEO而entry—ES_private—stream—id 为0。因此,Mark# 1与stream-id为OxEO的基本流相关,即Mark并l与如 图23和图25所描述一见频流相关。此外,Mark # 1的mark—data为1。因此, Mark # 1使得属性为1的事件发生。
如上所述,根据在PlayList #1中包括的Playltem并0再现的片段流文 件为"00003.PS"。由Mark# 1的mark—time—stamp表示的时间27, 090, 000 为片段流文件"00003.PS"的时间。
stream-id为OxEO、与Mark#l相关的4见频流为在Mark#l所属的 PlayList # l(图29 )所包括的Playltem# 0的CI ip—Informat ion—fi le—name 中描述的"00003. CLP"中描述的stream—id为0xE0视频流,即在由如图30A 和图30B所示出的片段信息文件"00003. CLP"所识别的片段流文件 "00003.PS"中多路复用的三个基本流streaorf0到弁2中的第一基本流(视 频流)stream#0。
在图32示出的下面表格中,作为包括在PlayList井l中的三个Mark() 中的第三个Mark()的Mark#2的mark—type (图9)是"Event"。因此,Mark #2为事件标记。此外,Mark并2的ref — to—Playltem—id (图9 )为0。所以 Mark#2属于作为包括在PlayList #1中的图29所示出的Playltem之一的 Playltem# 0。此外,Mark# 2的mark—time—stamp为27, 540, 090。因此,Mark 弁l为根据PlayList #1中包括的PlayItem#0再现的片段流文件的时间 27, 540, 090的标记。另外,在Mark井2中,entry_ES_stream—id为OxEl而 entry—ES-private_stream—id为0。 因jt匕,Mark弁2是stream—id为OxEl的 基本流,即与如图23和图25所描述^L频流相关。此外,Mark# 2的mark-data 为2。因此,Mark弁2使得变量为2的事件发生。
在此实例中,根据在PlayList #1中包括的Playltem弁0再现的片段流 文件为片段流文件"00003.PS"。因此,由Mark弁2表示的时间27,540,090 为片段流文件"00003.PS"的时间。
stream-id为OxEl、与Mark # 2相关的视频流为在图29所示出PlayList #1中所包括的Playltem #0的Clip—Information—file—name中描述的 "00003. CLP"中描述的stream—id为OxEl视频流,即在由如图30A和图30B
所示出的片段信息文件"00003. CLP"所识别的片段流文件"00003.PS"中多 路复用的三个基本流stream#0到# 2中的第二基本流(视频流)stream# 1。
在图32示出的下面表格中,在PlayList#l的PlayListMark()表格右 侧描述Ma r k ()所属的P1 ay 11 era ()的时间。
在图32中,尽管mark-ciata描述了章和索引标记所表示的章和索引号, 但在mark—data中不需要对其进行描述。而是,通过计算PlayListMark ()的 章和索引标记识别章和索引号。
接下来假定在图1所示出的盘101上记录了图29到图32中所描述的数 据,将描述在图1中所示出盘再现装置的运行。
根据用于多路复用系统的MPEG2系统的定义,不必将时间戳加至所有的 访问单元。而是,此定义表示可以以0. 7或更低的间隔添加时间戳。换言之, 存在具有时间戳和没有时间戳的访问单元。
在此实例中,假定在视频流解码起始位置的访问单元通常具有时间戳。 换言之,如将在"再现准备处理"中描述的,通过二分搜索方法将利用EP-map() 满足PTS-EP—startS IN—time条件的最大PTS—EP_start检索为解码起始位 置。紧跟在EP-map()中记录的视频再现起始位置之后的访问单元通常具有时 间戳。
此外,此定义表示存在没有成对的场(non-paired field)。换言之,紧 才妄着在pic一struct-l的i方问单元之后,力支置pic — struct-2的i方问单元。jt匕 外,紧接着在pic_struct=2的访问单元之后,放置pic_struct=l的访问单 元。
在此实例中,假定pic-struct=7和8的访问单元不发生。 当盘101装入盘驱动102时,相应的消息通过图2A和图2B所示出的驱 动接口 114和操作系统201发送至3见频内容再现程序210。当^L频内容再现 程序210从操作系统201接收到表示盘101装入盘驱动102的消息时,视频 内容再现程序210启动图33所示出的再现前处理。 [再现前处理]
图33是描述视频内容再现程序210执行的再现前处理的流程图。 应当注意,盘再现装置不必安照流程图的时间顺序执行操作或者处理。 可选择地,盘再现装置可并行或者个别地执行操作或者过程。但是,在此说 明书中,为方便起见,将根据流程图描述盘再现装置的操作或者处理。
在再现前处理中,在步骤S101,视频内容再现程序210利用操作系统201
的文件系统功能检查盘101并确定盘101是不是视频内容再现程序210的常 规磁盘。
如上所述,尽管盘101以操作系统201文件系统功能进行访问(从此读 取文件),但是省略了对其的描述。
当在步骤S101确定的结果表示盘101不是常规磁盘时,即盘101中所采 用的文件系统预操作系统201不一致或者盘101的根目录不包括"VIDEO"目 录,视频内容再现程序210确定视频内容再现程序210与盘101不一致,流 程继续到步骤S102。在步骤S102,图形处理模块219执行错误处理并完成再 现前处理。
换言之,图形处理模块219产生表示盘101不是常规的错误消息作为错 误处理,并使得视频输出模块220输出错误消息从而显示该错误消息。例如 可通过从音频输出模块221输出警报声或者从盘驱动102卸出盘101而执行 错误处理。
当在步骤S101确定的结果表示盘101是常规磁盘时,流程继续到步骤
5103。 在步骤S103,视频内容再现程序210使得内容数据供应模块213请求 操作系统201读取存储在盘101 (图6) "VIDEO"目录中的两个数据文件
"SCRIPT.DAT"和"PALYLIST.DAT"。其后,流程继续到步骤S104。在步骤
5104, 把"SCRIPT. DAT,,文件供应至脚本控制模块211。此外,把"PALYLIST. DAT" 文件供应至播放器控制模块212。
其后,流程从步骤S104前进到步骤S105到步骤S107。在步骤S105到 S107,播放器控制模块212执行初始化处理。脚本控制模块211等待直到播 放器控制模块212完成初始化处理。
在初始化处理中,在步骤S105,播放器控制模块212分析"PALYLIST. DAT" 文件并检查在"PALYLIST.DAT"文件中所描述的片段信息文件数目及其文件 名。
换言之,因为"PALYLIST.DAT"文件如图29所示而图29所示出的 "PALYLIST.DAT"文件的number — of—PlayLists为2,所以插-;改器控制一莫块 212识别存在两个PlayList ()即PlayList # 0和PlayList # 1。此外,因为
图 29所示出的 "PALYLIST.DAT ,,文件的第一 PlayList # 0的 number_of-PlayItems为2,所以播放器控制模块212识别PlayList #0包括 两个Playltem()即PlayList # 0和PlayList # 1。其后,播放器控制模块212 参考图29所示出的"PALYLIST.DAT"文件的PlayList #0中所包括的第一 Playltem# 0和第二 Playltem# 1的CIip_Information—file—name,并识别 PlayList弁0所包括的第一Playltem并0的片段信息文件为"00001. CLP"而 第二Playltem弁l的片段信息文件为"00002. CLP"。
同样,播放器控制器模块212因为number—of_PlayItems为1而识别第 二PlayList弁l包括一个Playltem() ( Playltem# 0 ),以及因为Playltem # 0的Clip—Information-f ile—name而识别Playltem# 0的片#爻信息文件为 "00003. CLP"。
其后,流程从步骤S105前进到步骤S106。在步骤S106,播放器控制模 块212从盘101 "VIDEO"目录下的"CLIP"目录读取在步骤S105识别的片 段信息文件,即三个片段信息文件"00001. CLP "、 " 00002. CLP"和 "00003. CLP"。
在步骤S106,仅仅需要读取最初再现的PlayList ()的Playltem的片段 信息文件。但是根据此实施例,如上所述,预先读取PlayList ()的Playltem() 的所有片段信息文件。
在步骤S106后,流程继续到步骤S107。在步骤S107,播放器控制模块 212确定在步骤S105识别的片段信息文件是否已成功读取。此外,播放器控 制模块212确定在盘101上是否存在对应于片段信息文件的片段流文件。换 言之,在步骤S107,播放器控制模块212确定是否成功读取了片段信息文件
"00001.CLP"、 "00002.CLP"和"00003.CLP",以及在盘101 "VIDEO"目录 下的"STREAM"目录中是否存在对应于片段信息文件"00001.CLP"、
"00002. CLP"和"00003. CLP"的片段流文件"00001.PS"、 "00002. PS"和
"00003. PS"。
当在步骤S107所确定的结果表示没有成功读取在步骤S105识别的片段 信息文件,或者在盘101上不存在对应于片段信息文件的片段流文件,即根 据"PALYLIST. DAT"文件的片段信息文件和片段流文件没有记录在盘101上, 确定视频内容再现程序210与盘101不一致。其后,流程继续到步骤S102。 在步骤S102,执行上述错误处理然后完成再现前处理。
相反,当在步骤S107确定的结果表示已经成功读取在步骤S105识别的 片段信息文件时,以及在盘101上存在对应于片段信息文件的片段流文件时, 播放器控制模块212完成初始化处理。其后,流程继续到步骤S108。
在步骤S108,脚本控制模块211解析并执行"SCRIPT.DAT"文件。
当脚本控制模块211执行"SCRIPT.DAT"文件时,假定使播放器控制模 块212再现第一 PlayList() ( PlayList # 0 )。在此时,执行图34所示出的 再现处理。
图34是^L频内容再现程序210所执行再现处理的流程图。 [再现准备处理]
在步骤S121和S122,播放器控制模块212针对脚本控制模块211使得 再现的PlayList()即第一PlayList() (PlayList井O)执行再现准备处理。
换言之,在步骤S121,播放器控制模块212检查在第一PlayList并0中 所包括的第一Playltem并0的IN—time(图8)。其后,流程继续到步骤S122。 在步骤S122,播放器控制模块212检查与由第一 PlayList # 0中所包括的第 一Playltem并0再现的片段流文件"00001.PS"的Playltem弁0的IN—time 对应的再现起始位置。
当Playltem()的IN_time (图8)表示片段流文件的起始时,从片段流 文件的起始读取节目流。但是当IN-Ume表示非片段流文件的起始时,播放 控制器模块211需要检测对应于IN_time的位置并从此位置读取片段流文件。
具体地,在图29,在第一 PlayList # 0中所包括的第一Playltme并0的 IN一time为180,090。播放器控制模块212针对PlayItme#0的IN一time为 180, 090的再现起始位置搜索由包括在第一 PlayList # 0中的第一 Playltem 弁O再现的片段流文件"00001.CLP"的图31所示的EP-map()。
换言之,播放器控制模块212通过二分搜索方法等等搜索满足 PTS-EP—start,-time的最大PTS_EP_start,其中PTS—EP—start表示在 EP-map()中描述的解码可起始点。这是因为IN_time表示的位置并不常识解 码可起始点。
这样,如上所述,IN_time为180,090。此外,在由第一 PlayList #0 中所包括的第一Playltem弁0再现的片段流文件"00001. CLP"的图31所示 的EP—map()中,满足PTS-EP-StartSlN_time的PTS—EP —start最大值为
180, 090。因此,播放器控制模块212对为180, 090的PTS—EP-Start搜索图 31所示出的EP-map()。
此外,播放器控制器模块212读取对PTS-EP—start搜索的305 (扇区), 并将由片段流文件"00001.PS"中PTS-EP-start表示的位置确定为再现起始 位置。
在播放器控制模块212确定再现起始位置后,流程从S122继续到S123。 在步骤S123,播放器控制模块212控制图形处理模块219以显示时间代码。 图像处理模块219在播放器控制模块212的控制下产生时间代码并将时间代 码输出至视频输出模块220。因此,显示时间代码。
在步骤S123显示的时间代码例如是PiayList()起始部分转换为 00: 00: 00 (小时分钟秒钟)的值。除了或者代替时间代码,可显示章号
和索引号。
当在步骤S123显示时间代码之后,流程继续到步骤S124。在步骤S124, 播放器控制模块212执行分析处理,该分析处理分析脚本控制模块211使得 再现的PlayList(),即在第一 PlayList() ( PlayList # 0 )中描述的 PlayListMark()(图9 )。
特别是,在图32所示出的上面表格中,预先读取的"PALYLIST.DAT"文 件的第一 PlayList # 0的PlayListMark ()的顏ber—of—PlayList_marks为 7。因此,播放器控制模块212识别在PlayList #0中所包括的Mark ()数为7。
此外,播放器控制模块212分析图32所示出上表格的七个Mark(),并 识别属于PlayList # 0的第一 Playltem() (PlayItem#0)的七个Mark()中 的四个Mark ()即第一到第四Mark ()。
其后,播放器控制模块212获得属于PlayList # 0第一 Playltem# 0的 四个Mark()的mark-time_stamp,并将其作为四元素矩阵供应至解码控制才莫 块214。这样,作为图32所示出上表格的七个Mark()中的四个Mark()即第 一到第四Mark()的mark-time—stamp的四个时间{180, 090} 、 {5, 580, 090}、 {10, 980, 090}和{16, 380, 090}被从播放器控制模块212供应至解码控制模块 214。这时,这些时间的"标记处理"属性也从播放器控制模块212供应至解 码控制模块214。当由计时部分214A计数的时间与具有"标记处理"属性的 时间匹配时,解码控制模块214将表示此状况的消息、与具有"标记处理"
属性的时间匹配的时间、以及"标记处理"属性供应至播放器控制模块212。 [待再现基本流的确定处理]
其后,流程从步骤S124继续到步骤S125。在步骤S125,播放器控制模 块121确定待再现的基本流。
换言之,在图30A和图30B所示出的片段信息文件"00001.CLP"中,其 文件名在作为脚本控制模块211使得再现的PlayList ()的第一 PlayList # 0 的第一 Playltem#0 (图29 )的CIip—Inforraation_file—name中描述, number-of-streams为4。因此,播放器控制模块212识别四个基本流在相应 的片段流文件"00001.PS"中多路复用。此外,播放器控制模块212检查四 个基本流的图30A和图30B所示出的片段信息文件"00001.CLP"的stream—id 和private—stream—id,并识别此四个基本流为一个^L频流、 一个ATRAC音 频流和两个字幕流。换言之,播放器控制模块212识别片段流文件"00001. PS" 中多路复用的具有个体属性的基本流的数目。
关于片段流文件中多路复用的具有个体属性的基本流的数目的信息用于 将一个基本流改变为待再现的另 一个基本流(从一个音频模式到另 一个音频 模式或者从一个字幕模式到另 一个字幕模式)。当片段流文件不包括字幕流文 件时(即内容不包括字幕数据),利用关于具有"字幕流"属性的基本流的数 目的信息而确定是否存在字幕流。
播放器控制模块212根据Staticlnfo 0的检查结果选择和确定待再现的 基本流。这样,在片段流文件"00001. PS"中多路复用的四个基本流包括一 个具有"视频流,,属性的基本流和一个具有"音频流"属性的基本流。因此, 将具有"视频流"属性的基本流和具有"音频流"(ATRAC音频流)属性的基 本流无条件地确定为待再现的基本流。
另一方面,在片段流文件"00001. PS"中多路复用的四个基本流包括两 个具有"字幕流"属性的基本流。因此,这两个字幕流中一个被选择并确定 为待再现的基本流。在此实例中,选择在片段信息文件"00001. CLP"中的两 个基本流中首先出现的字幕流。
当识别在片段流文件"00001.PS"中多路复用的基本流属性和号码时, 需要识别四个基本流。播放器控制模块212以stream—id和 private-stream-id识别片,殳流文件"00001.PS"中多路复用的四个基本流。
换言之,播放器控制模块212利用如图30A和图30B所示出的片段信息文件"00001. CLP"中所述的为0xE0的stream-id而从在片段流文件 "00001. PS"中多路复用的四个基本流中识别具有"视频流"属性的基本流。
此外,播放器控制模块212利用如图30A和图30B所示出的片段信息文 件"00001. CLP"中的所述为 OxBD的stream—id并且为 0x00的 private —stream-id而从在片段流文件"00001.PS"中多路复用的四个基本 流中识别作为具有"音频流"属性基本流的ATRAC音频流。
此外,播放器控制模块212利用分别如图30A和图30B中片段信息文件 "00001. CLP" 中所述的为 OxBD的 stream—id并且为 0x80的 private — stream—id 以及为 OxBD 的 stream—id 并且为 0x81 的 private-stream-id而从在片段流文件"00001.PS"中多路复用的四个基本 流识别两个作为具有"字幕流"属性基本流的字幕流。
如上所述,可以由描述为对应于片断流文件的片段信息文件的元数据的 s tream— id和pr ivate_s trearn— id识别在片段流文件中多路复用的基本流。
stream-id和private—stream—id的组合是为扩展MPEG2 - System的多 路复用而提供的才几制。当stream—id和private — stream—id的组合用作元ft 据时,可以可靠地识别基本流。此外,当为增加相应基本流的数量和属性而 扩展private_stream-id时,可以没有任何变化地4吏用当前机制。因此, stream—id和private—stream—id的组合具有高扩展性。
换言之,例如蓝光^t盘(BD)标准釆用MPEG2标准的传输流的PID (包 ID)来识别数据。因此,BD标准受MPEG2标准限制。另一方面,DVD视频标 准定义类似于private—stream—id的sub-stream—id,不能在数据库中描述 sub_stream_id来识别流。仅仅在8到32个流的信息的固定区域中描述 sub-stream—id (参见VI4-49、表格4. 2. 1-2 (VTS—AST—ATRT)和VI4_52、 表格4. 2. 1-3(VTS-SPST—ATRT))。因此,sub—stream—id不具有高扩张性。
另一方面,可以以元数据描述stream—id和private—stream—id的组合。 例如,在片段信息文件即图12所示出的Clip()中,stream—id和 private —stream—id的组合可以描述number—of—streams表示的那么多次。 因此,可由作为在片段信息文件Clip()中描述的元数据的stream_id和 private-stream-id组合识别在片段流文件中多路复用的基本流,而不论基 本流的数目(在由Number—of — streams表示的范围中)。
才艮据此实施例,stream—id和private—stream-id的组合用于识别在对
应于图12所示出的片段信息文件的片段流文件中多路复用的基本流。此外,
此组合可作为图9所示出的PlayListMark()的entry—ES-stream_id和 entry一ES一private一stream-id组合而识别与Mark ()相关的基本流。此夕卜, stream—id禾口 private — stream—id的纟且合用于识别4苗述图16所示出的 EP_map ()中的解码可起始点的信息的基本流。 [输出属性控制处理]
其后,流程从步骤S125继续到步骤S126。在步骤S126,播放器控制模 块212对在步骤S125确定待再现的基本流执行输出属性控制处理。
具体地,播放器控制模块212检查表示描述在步骤S125确定待再现的视 频流、ATRAC音频流、和字幕流的输出属性的Dynamiclnfo()(图15)的数 目的number — of—Dynamiclnfo ()(图12)。
在此情况下,视频流、ATRAC音频流、和待再现的字幕流为在片段流文 件"00001.PS"中多路复用的基本流。在图30A和图30B中所示出的片段信 息文件"00001. CLP" 中,其number—of-Dynamiclnfo()均为 0。 当 number—of-DynamicInfo()均为0时,播放器控制模块212不对待再现基本流 的输出属性执行输出属性控制处理。
当基本-充的number—of 一DynamicInfo不为0时,4丸4亍基本流的專命出属'f生 控制处理。将在后面描述输出属性控制处理。
在步骤S126之后,流程继续到步骤S127。在步骤S127,播放器控制模 块212对待再现的基本流执行再现开始准备处理。
换言之,播放器控制模块212将其中多路复用了待再现的基本流的片段 流文件"00001.PS"的文件名和作为在步骤S122确定的再现起始位置的 EP_map()中描述的RPN-EP—start ( = 305 )供应至内容数据供应模块213。
此外,在把在其中多路复用了待再现基本流的片段流文件"00001.PS" 中存储的节目流供应至緩冲器控制模块215之前,播放器控制模块212初始 化緩冲器控制模块215。
具体地,緩冲器控制模块215 (图5 )将相同的值设置给存储在数据起始 指针存储部分231中的数据起始指针、存储在数据写入指针存储部分232中 的数据写入指针、存储在视频读取指针存储部分241中的视频读取指针、存 储在音频读取指针存储部分251中的音频读取指针、和存储在字幕读取指针
存储部分262中的字幕读取指针。
因此,存储在数据起始指针存储部分231中的数据起始指针和存储在数 据写入指针存储部分232中的数据写入指针保持緩冲器控制模块215的緩冲 器215A的相同位置。这表示在緩沖器215A中没有存储有效数据。
此外,播放器控制模块212将s tream— id和必要时的pr ivate—s tream— id 作为待再现的基本流的识别信息供应至緩冲器控制模块215。
换言之,如上所述,由为0xE0的stream-id识别待再现基本流中具有"视 频流"属性的^L频流。由为OxBD的stream-id和为0x00的private—stream—id 识别具有"音频流"属性的ATRAC音频流。由为OxBD的stream—id和为0x80 的private-stream_id识别具有"字幕流,,属性的字幕流。播放器控制模块 212将这些stream—id和private-stream_id供应至緩冲器控制才莫块215。
在緩冲器控制模块215 (图5 )中,视频读取功能部分233将从播放器控 制模块212接收的为针对视频流的0xE0的stream—id存储至stream—id寄存 器242。此夕卜,音频读取功能部分234将从播放器控制模块212接收的为OxBD 的stream—id和为0x00的private —stream—id分另'J存4诸至stream—id寄存器 252和private—stream—id寄存器253。此外,字幕读取功能部分235将从播 放器控制模块212接收的为 OxBD的stream-id和为 0x80的 private—stream—id分另'J存储至stream—id寄存器263和private—stream—id 寄存器264。
播放器控制模块212存储供应至緩冲器控制模块215的待再现基本流的 stream—id和private—stream—id以供后面的处理。当流改变请求消息发生 或者识别在后面描述的标记处理中正再现的流时,播放器控制模块212使用 stream—id禾口 private_stream-id。
为初始化緩冲器控制模块215 (图5 ),播放器控制模块212将具有根据 多路复用有再现基本流的片段流文件的值的字幕读取功能标记设置到字幕读 取功能标记存储部分261。
换言之,在这种情况下,因为其中多路复用了待再现基本流的片段流文 件"00001. PS"包括字幕流,所以值为1的字幕读取功能标记设置到字幕读 取功能标记存储部分261以激活(active)字幕读取功能部分235。当其中多 路复用了待再现基本流的片段流文件不包括字幕流时,把值为0的字幕读取 功能标记设置到字幕读取功能标记存储部分261。在这种情况下,字幕读取
功能部分235不执行任何处理。
此外,播放器控制模块212将脚本控制模块211使得播放器控制模块212 再现的第一 PlayList#0中包括的第一 Playltem并0 (图29)的IN—time即 180, 090和OUT—time即27, 180, 090供应至解码控制才莫块214。解码控制模块 214采用IN—time启动解码根据Playltem()再现的片段,并采用0UT—time停 止解码片段,并控制如下文所述P1 ay 11 em的变化处理。
播放器控制模块212初始化其中图形处理模块219显示字幕流的字幕流 显示模式。换言之,播放器控制模块212控制图形处理模块219以默认显示 模式显示字幕流。
其后,流程从步骤S127继续到步骤S128。播放器控制模块212采用操 作系统201的功能控制内容数据供应模块213来读取片段流文件,此片段流 文件包括其中多路复用了待再现的基本流的节目流。换言之,内容数据供应 模块213指定盘101 (图6) "VIDEO"目录下的"STREAM"目录的片段流文件 "00001.PS"、指定作为在步骤S122确定的再现起始位置的扇区305、并使 得操作系统201读取文件。内容数据供应模块213使得操作系统201将从盘 101读取的数据供应至緩冲器控制模块215。
因此,从盘101读取片段流文件"00001. PS"的节目流。将节目流供应 至緩冲器控制模块215。
緩冲器控制模块215(图5 )将从盘101读取的节目流写入由緩冲器215A 数据写入指针存储部分232的数据写入指针表示的位置,并将写入数据指针 递增写入数据的大小。
除非特别指定,否则当缓沖器控制模块215的緩沖器215A具有自由空间 时,内容数据供应模块213从盘101读取数据、将此数据供应和存储到緩冲 器控制模块215的緩冲器215A。因此,緩沖器215A通常存储足量的数据。
当从盘101读取数据和将此数据存储到緩冲器控制模块215的緩冲器 215A时,流程从步骤S128继续到步骤S129。在步骤S129,解码控制模块214 控制视频解码器控制模块216、音频解码器控制模块217、和字幕解码器控制 模块218以开始从緩冲器215A读取数据作为预解码操作。
因此,视频解码器控制模块216向緩冲器控制模块15 (图5 )的视频读取功能部分233请求数据。根据请求,视频解码器控制模块216从緩冲器控 制模块215获得存储在緩冲器215A中的一个视频访问单元、添加至视频访问 单元的PTS和DTS (有时称作时间戳)、作为紧跟在解码可起始点之后的 private—stream-2的PES_packet ()中所描述信息(有时称作附加信息)的 pic—struct—copy、 au_ref_flag和AU—length,等等。无论何时一见频解码器 控制模块216获得视频访问单元,将时间戳从视频解码器控制模块216供应 至解码控制才莫块214。
,人-现频读取功能部分233发送用于更新时间的pict-struct-copy。替代 地,可采用作为解析结果而获得的位流中所包括的pic-struct。
另一方面,音频解码器控制模块217向緩冲器控制模块215 (图5 )的音 频读取功能部分234请求数据。根据请求,音频解码器控制模块216从緩冲 器控制模块215获得存储在緩沖器215A中的一个(ATRAC)音频访问单元、 添加至音频访问单元的时间戳(PTS、 DTS)。无论何时音频解码器控制模块 217获得音频访问单元,将时间戳从音频解码器控制模块217供应至解码控 制模块214。
此外,字幕解码器控制模块218向緩冲器控制模块215 (图5 )的字幕读 取功能部分235请求数据。根据请求,字幕解码器控制模块218从緩冲器控 制模块215获得存储在緩冲器215A中的一个字幕访问单元、和添加至字幕访 问单元的时间戳。无论何时字幕解码器控制模块获得字幕访问单元,将 时间戳从字幕解码器控制模块218供应至解码控制模块214。当待再现的基 本流不包括字幕流或者緩冲器215A不存储字幕访.问单元时,不从緩冲器控制 模块215向字幕解码器控制模块218供应数据。
无论何时视频解码器控制模块216、音频解码器控制模块217、和字幕解 码器控制模块218向緩沖器控制模块215请求数据,它们将根据它们的数据 请求的结果供应至解码控制模块214。
将在后面描述当緩沖器控制模块215向视频解码器控制模块216、音频 解码器控制模块217、和字幕解码器控制模块218发送数据时从緩沖器215A 读取数据的细节。
当视频解码器控制模块216、音频解码器控制模块217、和字幕解码器控 制模块218开始从緩冲器控制模块215的缓冲器215A读取数据时,流程从步
骤S129继续到步骤S130。在步骤S130,这些模块开始解码已经读取的数据。 换言之,解码控制模块214根据在步骤S129从视频解码器控制模块216、 音频解码器控制模块217、和字幕解码器控制模块218供应的时间戳相应于 在以及当必要时在变化时序以确保同步,使得视频解码器控制模块216、音 频解码器控制模块217、和字幕解码器控制模块218对应于在步骤S127从播 放器控制模块212供应的PlayList # 0中包括的第一Playltem并0的IN—time 即180, 090开始解码。
例如在日本专利3496725中描述了在变化时序开始解码数据来确保同步 的方法。简言之,将从视频解码器控制模块216、音频解码器控制模块217、 和字幕解码器控制模块218供应的时间戳的最小值设置为计时部分214A计数 时间的初始值。计时部分214A从此设置时间开始计数时间。当计时部分214A 所计数的时间与时间戳匹配时,解码控制模块214使得这些模块开始解码数 据。
视频解码器控制模块216从解码控制模块214接收解码启动命令,将从 緩沖器控制模块215 (图5 )的视频读取功能部分233获得的一个视频访问单 元供应至视频解码器116 (图1 ),使视频解码器116解码视频访问单元。此 外,视频解码器控制模块216将由视频解码器116解码的视频数据供应至图 形处理模块219。
其后,视频解码器控制模块216使得视频解码器116每次一个地连续解 码从緩沖器控制模块215的视频读取功能部分233获得的视频访问单元,并 将作为视频数据的解码视频访问单元供应至图形处理模块219。
在这一点上,在视频解码器116中,对解码的视频数据和输出视频数据 重新排序。例如,如图35所示,按照Il、 BO、 P3、 B2、 P5和B4的顺序解码 视频数据,但可按照BO、 II、 B2、 P3、 B4、和P5的顺序输出视频数据。因 此,视频解码器116配备有存储解码图像的解码图像緩冲器。在图35中,In 表示第n帧I图像,Bn表示第n帧B图像,而Pn表示第n帧P图像。
音频解码器控制模块217从解码控制模块214接收解码启动命令、将从 緩冲器控制模块215 (图5 )的音频读取功能部分234获得的一个音频访问单 元供应至音频解码器117 (图1 ),使音频解码器117解码音频访问单元。音 频解码器控制模块217将由音频解码器117解码的音频数据供应至音频输出 模块221。
其后,音频解码器控制模块217使得音频解码器117每次一个地连续解
码从緩冲器控制模块215的音频读取功能部分234获得的音频访问单元,并 将作为音频数据的解码音频访问单元供应至音频输出模块221。
此外,字幕解码器控制模块218从解码控制模块214接收解码启动命令、 使内部字幕解码软件根据命令解码从緩冲器控制模块215 (图5 )的字幕读取 功能部分235获得的一个字幕访问单元,并将作为字幕数据(字幕的图像数 据)的解码字幕访问单元供应至图形处理模块219。
其后,字幕解码器控制模块218使得内部解码软件每次一个的连续解码 从緩冲器控制模块215的字幕读取功能部分235获得的字幕访问单元,并将 作为字幕数据的解码字幕访问单元供应至图形处理模块219 。
其后,流程从步骤S130继续到步骤S131。在步骤S131,图形处理模块 219对从视频解码器控制模块216供应的视频数据和必要时对从字幕解码器 控制模块218供应的字幕数据执行图形处理。
换言之,图形处理模块219根据从播放器控制模块212接收的显示模块 命令执行字幕处理,例如放大或者缩小从字幕解码器控制模块218供应的字 幕数据。当图形处理模块319没有接收到来自播放器控制模块212的显示模 式命令时或者从其接收到默认显示模式命令时,图形处理模块219存储从字 幕解码器控制模块218接收的字幕数据。
此外,图形处理模块219添加(add)从视频解码器控制模块216接收的视 频数据和从字幕解码器控制模块218接收的字幕数据或者已经处理的字幕数 据,获得覆盖了字幕数据的输出视频数据,并将覆盖的视频数据供应至视频 输出模块220。
当视频处理模块219从脚本控制模块211或者播放器控制模块212接收 针对菜单、消息、时间代码、章号或者索引号的信息显示命令时,图形处理 模块219产生该信息、将其叠置到输出的视频数据、并将经叠置的数据供应 至视频输出模块220。
在步骤S131之后,流程继续到步骤S132。在步骤S132,视频输出模块 220将从图形处理模块219供应的输出视频数据连续地存储到FIFO 220A,并 以预定的输出速率将存储在FIFO 220A的视频数据连续输出。
只要FIFO 220A具有足够的存储容量(自由空间),则视频输出模块220 即从图形处理模块219接收输出视频数据。当FIFO 220A没有足够的存储容 量时,视频输出模块220使图形处理模块219停止接收输出视频数据。因此, 图形处理模块219停止接收输出数据。此外,图形处理模块219使得视频解 码器控制模块216和字幕解码器控制模块218停止其处理。这样,视频解码 器控制模块216和字幕解码器控制模块218停止其操作。
在视频输出模块220使得视频处理模块219停止接收输出视频数据和 FIFO 220A输出视频数据后,当FIFO 220A具有足够的存储容量时,视频输 出模块22 0使得图形处理模块219接收输出视频数据。和输出视频数据接收 停止请求类似,图形处理模块219通知视频解码器控制模块216和字幕解码 其控制模块218此请求。因此,图形处理模块219、视频解码器控制模块216 和字幕解码器控制模块218恢复所停止的处理。
另一方面,音频输出模块221也使得FIFO 221A连续存储如步骤S130 所述从音频解码器控制模块217供应的音频数据,以及连续地以预定输出速 率(采样频率)输出音频数据。
只要FIFO 221A具有足够的存储容量(空白空间),则音频输出模块221 从音频解码器控制模块217接收音频数据。但是,当FIFO 221A没有足够的 存储容量时,音频输出模块221使音频解码器控制模块217停止接收音频数 据。因此,音频解码器控制模块217停止其处理。
在音频输出模块221使得音频解码器控制模块217停止接收音频数据和 FIFO 220A输出音频数据后,当FIFO 221A具有足够的存储容量时,音频输 出模块221使得音频解码器控制模块217接收音频数据。音频解码器控制模 块217恢复所停止的处理。
在前述方式中,当视频输出模块220和音频输出模块221输出数据时, 解码基本流。
图36示出视频解码器116的内部结构。在此实例中,视频解码器116 由4见频解码引擎116A和DPB (解码图像缓冲器)116B组成。DPB 116B也由 DPB 116B-1到DPB116-n组成(下文,其集体称为DPB 116B,除非另外指 明)。此外,如图37所示,DPB 116B由视频緩冲器301和附加信息緩冲器302 组成。
视频解码引擎116A采用DPB 116B的视频緩冲器301临时存储解码的视 频数据以及存储作为未来参考图像的视频数据。这时,对应于存储在视频緩 冲器301中的视频数据,在附加信息緩沖器302中记录从视频读取功能部分 233获得的附加信息以及通过解析访问单元而获得的参数(例如, pic—struct )。
尽管图33和图34中描述了其中图1所示盘再现装置再现来自盘101的 数据的全部处理及其流程,但是将描述盘再现装置再现来自盘101的数据时 执行的其它处理或者操作。
接下来,将描述时钟(计时部分214A)的更新。视频解码器模块216使 得视频解码器116解码输入的视频访问单元。在视频解码器116执行解码和 重新排序处理后, 一帧(两个场)的视频数据被输出至图形处理模块219。 此外,把视频数据的时间戳(PTS/DTS)和pic—struct信息从视频解码器控 制模块216发送至解码控制模块214。
如果访问单元的pic-struct为1或者2,访问单元为一个场。这样,当 输出两个访问单元时,较早场的pic-struct以及时间戳(如果较早场的访问 单元具有时间戳)被从视频解码器控制模块216发送至解码控制模块214从 而将两个访问单元作为一个处理。如果较早场没有时间戳,则表示较早场不 具有时间戳的信息被发送至解码控制模块214。由于不允许孤立的场,所以 在紧接着pic-struct为1或2的场之后,分别放置pic —struct为2或者1 的场。当将两个场作为一个处理时,较早场的时间戳用作到代表值。
如果访问单元的pic-struct为0、 3、 4、 5或者6,则当输出一个访问 单元时,将pic-struct和时间戳(如果访问单元具有时间戳)从视频解码器 控制模块216发送至解码控制模块214。当访问单元没有时间戳时,则表示 访问单元不具有时间戳的信息发送至解码控制模块214 。
解码控制模块214以接收的时间戳和pic-struct的信息更新计时部分 214A。
接下来,参考图38中所示出的流程图,将描述更新计时部分214A的方法。
解码控制模块214确定所接收的访问单元是否具有时间戳(在步骤141 )。 如果访问单元具有时间戳,则解码控制模块214对于计时部分214A设置时间戳的值(PTS)(在步骤S142)。如上所述,紧接着对访问单元开始解码处理 之后,因为其通常具有时间戳,因此在初始状态不会发生任何异常。如果访
问单元不具有时间戳,则把根据在先pi c_ s t ruc t的值加至当前时间(在步骤 S144)。其后,存储当前的pic-struct以供下一次处理然后完成当前的处理 (在步骤S143)。
如图39所示,根据所存储的pic_struct值为0、 3或者4,计时部分214A 加上两个场的时间。如果pic-struct为5或者6,则计时部分214A力口上三 个场的时间。如果所存^f诸的pic-struct为1或者2,则计时部分214A加上 两个场的时间。
当进行此时间改变处理时,计时部分214A的时间值表示从视频解码器控 制模块216输出到图形处理模块219的访问单元(一帧)的显示起始时间。 换言之,如果视频数据具有时间戳,则PTS被代入计时部分214A中。如果视 频数据不具有时间戳,则加上显示次序上紧在先的视频数据的显示间隔。
在此实例中,AVC用作视频编码系统。在MPEG-2视频系统中,例如利 用repeat-first_field,可获得访问单元的显示持续时间。
如上所述,在这种情况下,如果FIFO 220A的存储容量不够,则停止从 视频解码器控制模块216输出视频数据。在这种情况下,自动停止计时部分 214A的更新。当恢复至FIFO 220A视频数据的更新时,自动恢复计时部分214A 的更新。
换言之,当再现模式根据用户发出的命令改变为暂停状态时,因为停止 视频输出模块220的更新,所以视频解码器控制模块216停止,从而时钟(计 时部分214A)也停止。当暂停状态恢复至常规再现状态时,允许视频输出模 块更新。因此,恢复视频解码器控制模块216的操作和视频数据的输出。此 外,也恢复时钟(计时部分214A)的更新。
对慢再现期望此操作。换言之,慢再现是暂停状态和常规再现状态交替 进行的状态。这时,时钟(计时部分214A)与视频输出同步地更新。
此实例中,与视频解码器控制模块216的视频数据输出同步地更新计时 部分214A。但是,如果在视频解码器控制模块216在这种情况下在图形处理 模块219和视频输出模块220中或者之后发生的延迟较大,,则供应至用户的 视频数据和时钟(计时部分214A)之间关系可能偏离。这种情况下,当与视 频输出模块220的视频数据输出同步地进行时钟(计时部分214A)更新时,可防止此关系偏离。
特别是,将参考图37描述的附加信息缓冲器302添加至图形处理模块 219中的视频数据处理部分、视频输出模块220和FIFO 220A,从而视频数据 和附加信息被作为成对儿处理直到输出视频数据。此外,当从视频输出模块 220视频数据时,相应的附加信息发送至解码控制模块214。解码控制模块通 过上述算法更新时钟(计时部分214A )。
在此方法中,不论发生在视频解码器中和下游的延迟是大还是小,显示 的视频数据和时钟(计时部分214A)可同步。
因此,即使再现流数据的装置没有独立计时的时钟,也可准确再现流数 据。因此,可P条低施加至执行此处理的CPU 112的载荷。
如图33和图34所示,再现图29所示出第一PlayList并0的第一Playltem #0。根据PlayList#0,在再现第一 PlayItem#0之后,再现第二 Playltem#0。 换言之,执行将Playltem从Playltem#0改变为Playltem#l的Playltem改 变处理。
接下来,将参考图40所示出的流程图描述Playltem改变处理。
如图33和图34所述,当再现第一Playltem弁0时,在再现图29所示出的PlayList井0的第一Playltem并0的片段之后,解码控制模块214 (图2A
和图2B)斥企查计时部分214A正计数的时间。 [Playltem# O再现终止]
当计时部分214A计数的时间变为27,180,090 (图29 ),即如图34所示 在步骤S127从播放器控制模块212供应的第一 Playltem#0的OUT—Ume时, 解码控制模块214执行解码撤消控制以在步骤S151完成PlayItem#0的再现。
如果计时部分214A不在90kHz下运行,即根据视频数的据输出更新时间, 则计时部分214A所计数的时间可能不精确匹配PlayItem#0的OUT_time。 这种情况下,在Playltera# 0的OUT_time的时间接近于计时部分214A所计 数的时间时,撤消解码处理,从而完成Playltera井0的再现。将参考图51和 图52在后面描述此处理。
换言之,解码控制模块214运行视频解码器控制模块216、音频解码器 控制模块217和字幕解码器控制器模块218以终止其解码操作。此外,解码
控制模块214控制视频输出模块220以连续输出视频数据。
此外,解码控制模块214向播放器控制模块212发送表示已经再现第一
Playltem# 0的信息。
如上所述,播放器控制模块212在图33所示的步骤S105识别出第一 PlayList#0包括第一 Playltem#0和第二 Playltem#l。当解码控制模块 214从播放器控制模块212接收了表示第一 Playltem# 0已经再现的信息时, 流程从步骤S151继续到步骤S152。在步骤S152,以和第一 Playltem# 0相 同的方式,播放器控制模块212启动再现第二Playltem弁l。
和图34所示出的步骤S122的情况相似,作为第二Playltem并l的再现 处理,播放器控制模块212将EP-map()中所描述的RPN_EP_start中的一个 确定为第二Playltem并1的再现启动位置。
此外,播放器控制模块212如在图34所示出步骤S124所描述的识别属 于第二Playltem弁l的Mark(),和如在图34所示出在步骤S125所描述的根 据Playltem#l再现的片段流文件"00002.PS"中多路复用的具有属性的基 本流的数目,并确定待再现的基本流。。
播放器控制模块212执行和图34所示出步骤S127处理的相同处理。
换言之,播放器控制模块212将确定为再现启动位置的EP-map()的 RPN_EP_start和多路复用以待再现基本流的片段流文件的文件名,即对应于 在第二 Playltem弁l (图29 )的CIip—Information—file—name中所描述 "00002. CLP"的片段流文件"00002.PS"的文件名供应至内容数据供应模块 213。
此外,在将存储在多路复用了待再现基本流的片段流文件"00002.PS" 中的节目流供应至緩冲器控制模块215之前,播放器控制模块212初始化緩 冲器控制模块215。
换言之,緩冲器控制模块215 (图5 )将相同的值设置给存储在数据起始 指针存储部分231中的数据起始指针、存储在数据写入指针存储部分232中 的数据写入指针、存储在视频读取指针存储部分241中的视频读取指针、存 储在音频读取指针存储部分251中的音频读取指针、和存储在字幕读取指针 存储部分262中的字幕读取指针。
此外,播放器控制才莫块212将stream—id和必要时的private —stream—id
作为待再现的基本流的识别信息供应至緩冲器控制模块215。
緩冲器控制模块215 (图5 )的视频读取功能部分233从播放器控制模块 212接收待再现基本流视频流的stream—id并将其存储到stream—id寄存器 242。此外,音频读取功能部分234从播放器控制模块212接收待再现基本流 音频流的stream—id和private — stream—id并S夸其分另ll存寸诸到stream—id寄 存器252和private-stream-id寄存器253。
因为多路复用了待再现基本流的片段流文件"00002.PS"包括字幕流, 所以将待再现基本流的字幕流stream—id和private—stream—id从播放器控 制模块212供应至字幕读取功能部分235 。字幕读取功能部分235将 stream—id和private—stream—id分另'J存卡者到 stream—id寄存器263和 private —stream—id寄存器264。
播放器控制模块212具有根据多路复用有再现基本流的片段流文件的值 的字幕读取功能标记设置到字幕读取功能标记存储部分261,以初始化緩沖 器控制模块215 (图5)。
这种情况下,因为其中多路复用了待再现基本流的片段流文件 "00002.PS"包括字幕流,所以所以值为1的字幕读取功能标记设置到字幕 读取功能标记存储部分261以激活(active)字幕读取功能部分235。
播放器控制模块212将待再现第二 Playltem# 1 (图29 )的IN一time 90, 000和OUT—time 27, 090, OOO供应至解码控制模块214。
此外,播放器控制模块212初始化图形处理模块219的字幕流显示模式 命令。换言之,播放器控制模块212控制图形处理模块219以默认显示模式 显示字幕流。
当待再现字幕流的configurable-flag (图14)为1时,其表示允许显 示模式改变,播放器控制模块212发送值图形处理模块219的字幕流显示模 式命令可以被保持以当前的显示模式命令。
以和第一 PlayItetn#0相同的方式再现第二 Playltem#l。当再现第二 Playltem#l时,解码控制才莫块214检查计时部分214A计数的时间。当在步 骤S152 (图40),计时部分214A计数的时间成为27, 090, 000即从播放器控 制模块212供应的第二Playltem并l的OUT—time (图29 )时,解码控制模块 214执行和步骤S151相同的解码撤消控制以完成再现Playltera# 1。如上所 述,计时部分214A所计数的时间可能与Playltem# 0OUT_time不精确匹配。
这种情况下,在Playltem# 0的0UT_time的时间与计时部分214A计数的时 间接近时,执行解码撤消过程从而完成PlayItem#G的再现。将在后面参考 图51和图52描述此过程。 [时间代码显示]
接下来,如上所述,在图34所示出的步骤S123,显示时间代码。时间 代码的显示被连续更新。
接下来,将参考图41所示出的流程图描述时间代码显示处理。
当内置于解码控制模块214 (图2A和图2B)中的计时部分214A计数了 一秒时,流程继续到步骤S171。在步骤S171,解码控制模块214将表示经过 一秒和计时部分214A所计数的当前时间的消息供应至播放器控制模块212。 其后,流程继续到步骤S172。在步骤S172,播放器控制模块212从解码控制 模块214接收此消息和当前时间,并将当前时间转换为时间代码。其后,流 程继续到步骤S173。
在步骤S173,播放器控制模块212控制图形处理模块219以显示在步骤 S172获得的时间代码。其后,流程回到步骤S171。
这样,以一秒间隔更新时间代码。时间代码的更新间隔不限于一秒。
由第一Playltem弁0再现且组成在图29所描述的第一 PlayList # 0的片 段流文件"00001. PS"和由第二 Playltem弁1再现的片段流文件"00001. PS,, 与如图30A和图30B所描述的两个字幕流多路复用。
当在片段流文件中多路复用具有相同属性的多个基本流时,可将待再现 的基本流从一个基本流改变到另 一个基本流。
接下来,将参考图42所示出的流程图描述流改变处理。
当流改变命令描述为例如"SCRIPT.DAT"文件(图6)中的脚本程序并 且脚本控制模块211执行脚步程序或者用户运行遥控器以改变流时,将流改 变命令供应至播放器控制模块212。
当脚本控制模块211执行描述流改变请求的脚本程序时,脚本控制模块 211将流改变请求信息供应至播放器控制模块212。当用户利用遥控器输入流 改变命令时,输入接口 115从遥控器接收流改变命令信号,并将改变请求消 息供应至播放器控制模块212。
当使得播放器控制模块212改变字幕流的字幕流改变请求消息被供应至
播放器控制模块212时,其检查待再现基本流的字幕流的数目,其在图34所
示出的步骤S125已经识别。
当播放器控制模块212检查的字幕流的数目为l或者更小时,播放器控 制模块212忽略字幕流改变请求信息。因此,播放器控制模块212不执行从 步骤S192到步骤S194的过程。
相反,当字幕流数为2或者更大时,流程继续到步骤S192到S194。在 这些步骤,播放器控制模块212将正被再现的字幕流改变到另 一字幕流。
换言之,在步骤S192,播放器控制模块212识别片段信息文件中正被再 现的字幕流。具体地,在步骤S192,假定正在根据组成图29所描述第一 PlayList #0 的第二 Playltem # 1 再现 stream—id 为 OxBD 而 private-stream—id为0x80并且在片4更流文件"00002.PS"中多路复用的字 幕流,播放器控制模块212将正在再现的字幕流识别为stream#2,其是片段 流文件"00002.PS"中多路复用的两个字幕流的图30A和图30B所示出的片 段信息文件"00002. CLP"中的第三字幕流。
其后,流程继续到步骤S193。在步骤S193,播放器控制模块212将在步 骤S192识别的片段信息文件的下一个字幕流识别为接下来待再现的字幕流。 在图30A和图30B中,第三字幕流stream弁2为片段信息文件"00002. CLP,, 中的第四字幕流stream#3。因此,在步骤S193,播放器控制模块212将第 四字幕流stream# 3识别为接下来待再现的字幕流。
当正在再现的字幕流被识别为stream# 3,即在片段流文件"00002.PS" 中多路复用的两个字幕流的且作为图30A和图30B所示出片段息文件 "00002. CLP"中的第四字幕流,播放器控制模块212将例如第三字幕流 s tream # 2识别为接下来待再现的字幕流。
其后,流程继续到步骤S194。在步骤S194,播放器控制模块212将在步 骤S193识别为接下来待再现的字幕流的字幕stream_id和 private —stream-id供应至緩冲器控制模块215 (图5)的字幕读取功能部分 235,,人而字幕读取功能部分235采用stream—id和private — stream—id AU爰 冲器215A读取下一个字幕访问单元。
緩冲器控制模块215 (图5)的字幕读取功能部分235新近分别对 stream—id寄存器263和private—stream_id寄存器264设置在步骤S194从 播放器控制才莫块212供应的stream—id和private — stream—id。字幕读耳又功
能部分235读取由新近分别对stream-id寄存器263和private—stream—id 寄存器264设置的stream—id和private—stream—id识别的下一个字幕访问 单元。
以前面的方式,把正在再现的字幕流改变为接下来再现的另一个字幕流。 [緩冲器控制模块215的处理]
接下来,参考图43到图47,将描述緩沖器控制模块215 (图5 )的处理, 从和向緩沖器215A的数据写入处理和数据读取处理。
如图5所述,緩冲器控制模块215具有用于从緩冲器215A读取数据和向 其写入数据的五个指针。
换言之,如图43和图44所示,緩冲器控制模块215具有存储在数据起 始指针存储部分231中的数据起始指针、存储在数据写入指针存储部分232 中的数据写入指针、存储在视频读取指针存储部分241中的视频读取指针、 存储在音频读取指针存储部分251中的音频读取指针、和存储在字幕读取指 针存储部分262中的字幕读取指针。
在图43和图44中,省略了图5所示出的视频读取功能部分233的 stream—id寄存器242和au—information()寄存器243、音频读取功能部分 234的stream—id寄存器252和private—stream—id寄存器253、和字幕读取 功能部分235的字幕读取功能标记存储部分261、 stream-id寄存器263和 private —stream—id寄存器264。
存储在数据起始指针存储部分231中的数据起始指针表示存储在緩冲器 215A中的最旧数据(需要读取而没有被读取)的位置。存储在数据写入指针 读取部分232中的数据写入指针表示緩冲器215A中数据的写入位置。此位置 为向其写入最新数据的位置。
存储在视频读取指针存储部分241中的视频读取指针表示从緩冲器215A 读取的视频流的位置。存储在音频读取指针存储部分251中的音频读取指针 表示从緩冲器215A中读取的音频数据的位置。存储在字幕读取指针存储部分 262中的字幕读取指针表示从緩冲器215A所读取的字幕流的位置。
如图5所示,在緩沖器215A中以顺时针方向移动数据起始指针、数据写 入指针、视频读取指针、音频读取指针和字幕读取指针。
如图44所示,根据此实施例,通常更新数据起始指针,从而其表示和视 频读取指针、音频读取指针以及字幕读取指针的最旧数据的位置相同的位置。
在图44中,音频读取指针表示视频读取指针、音频读取指针或者字幕读取指 针中最旧数据的位置。数据起始指针与音频读取指针匹配。
在缓冲器控制模块215中,其具有数据起始指针、数据写入指针、视频 读取指针、音频读取指针和字幕读取指针,当从盘101读取新数据以及将数 据写入緩冲器215A时,顺时针方向更新数据写入指针,从而数据写入指针表 示紧接在最新写入数据之后的位置。
当从緩冲器215A读取视频流、音频流或者字幕流时,针对读取的数据量 以顺时针方向更新视频读取指针、音频读取指针或者字幕读取指针。读取的 数据量是实际读取的视频数据、音频数据或者字幕数据,以及所读取数据中 插入以及当读取时省略的另 一个流数据部分的总和。
当更新视频读取指针、音频读取指针或者字幕读取指针时,更新数据起 始指针从而其表示由视频读取指针、音频读取指针或者字幕读取指针所表示 的最旧数据的位置。
緩沖器控制模块215控制緩沖器215A的数据写入操作,从而数据写入指 针不在数据起始指针的前面。
除非数据写入指针在数据起始指针前面,否则緩冲器控制模块215将从 盘101读取的数据写入由数据写入指针表示的緩冲器215A的位置,并更新数 据写入指针。另一方面,如果数据写入指针将处在数据写入指针前面,则緩 冲器控制模块215使得内容数据供应模块215停止从盘101读取数据和停止 将数据写入緩冲器215A。因此,可放止緩冲器215A溢出。
如上所述,根据两个指针即数据起始指针和数据写入指针的位置关系将 从盘101读取的数据根据写入緩冲器215A。
另一方面,緩冲器控制模块215控制緩沖器215A的数据读取操作,从而 视频读取指针、音频读取指针和字幕读取指针、和数据起始指针不在数据写 入指针之前。
换言之,除非视频读取指针、音频读取指针、或者字幕读取指针在数据 起始写入指针前面,否则緩冲器控制模块215根据从视频解码器控制模块 216、音频解码器控制模块217、或者字幕解码器控制模块218接收的请求从 由视频读取指针、音频读取指针、或者字幕读取指针表示的緩冲器215A的位 置读取数据,并更新视频读取指针、音频读取指针、或者字幕读取指针以及 必要时的数据起始指针。另一方面,如果视频读取指针、音频读取指针、或
者字幕读取指针将处在数据写入指针前面,则緩冲器控制模块215使得视频
解码器控制模块216、音频解码器控制模块217、或者字幕解码器控制模块 218停止发送请求直到緩沖器215A存储足够的数据。因此,可放止緩冲器215A 数据下溢(under-flowing)。
因此,緩沖器215A沿从数据起始指针表示的位置到数据写入指针表示的 位置的顺时针方向而存储待供应至视频解码器控制模块216、音频解码器控 制模块217、以及字幕解码器控制模块218的数据到某区域(图43和图44 的阴影区域)。此外,此区域中存在视频读取指针、音频读取指针、和字幕读 取指针。
在上述情况中,更新数据起始指针从而其表示由视频读取指针、音频读 取指针、或者字幕读取指针表示的最旧数据的位置。可选择地,可更新数据 起始指针从而其表示比最旧数据位置早预定时间(例如一秒)的数据位置。
期望在视频读取指针、音频读取指针、以及字幕读取指针之中视频读取 指针和音频读取指针表示最旧数据的位置。
因此,当更新数据起始指针从而其如图43所示表示比视频读取指针或者
音频读取指针所表示的最旧数据位置早例如一秒的数据位置时,可以把比视 频读取指针或者音频读取指针所表示的最旧数据早一秒的数据存储在緩沖器
215A中。在图43中,音频读取指针表示最旧数据的位置,而数据起始指针 表示比最旧数据早一秒的数据位置。
当更新数据起始指针,从而其表示比最旧数据早一秒的数据位置时,可 改进磁盘再现指针的响应。
换言之,如图44所示,当更新数据起始指针,从而其表示音频读取指针 所表示的最旧数据位置时,如果发出特别的再现命令例如反向再现命令,以 及从緩冲器215A读取的数据需要从盘101再次读取。因此,在发出特别再现 命令之后到执行特别的再现操作,其花费 一 定程度上的时间。
相反,如图43所示,当更新数据起始指针,从而其表示比音频读取指针 所表示最旧数据位置早一秒的数据位置时,如果发出特别的再现命令例如反 向再现命令,以及启动特别再现操作所必需的数据是比最旧数据早一秒的数 据并存储在緩冲器215A中,则可快速启动特别的再现操作而不必从盘101再 次读取数据。
当更新数据起始指针,从而其表示比音频读取指针所表示的最旧数据位
置早一秒的数据位置时,启动特别再现操作所必需的数据可能没有存储在緩
冲器215A中。这样,从盘101再次读取启动特别再现操作所必需的数据。 接下来,将详细描述从緩冲器215A读取视频流、音频流和字幕流的操作。 如图34所示出的步骤S127所述,当启动片段流文件的再现操作时,緩 冲器控制模块215初始化数据起始指针、数据写入指针、视频读取指针、音 频读取指针、和字幕读取指针,从而它们表示緩冲器215A中相同的位置。
当从盘101读取存储在片段流文件中的节目流(MPEG2系统节目流)并 将其供应至緩冲器控制模块215时,其将节目流存储在緩沖器215A的数据写 入指针所表示的位置。此外,以顺时针方向更新数据写入指针。
此外,緩冲器控制模块215 (图5 )的视频读取功能部分233解析存储在 緩冲器215A中的节目流,根据从视频解码器控制模块216接收的请求从存储 在緩沖器215A中的节目流提取视频访问单元,并将提取的视频访问单元供应 至视频解码器控制模块216。
同样,音频读取功能部分234解析存储在缓冲器215A中的节目流,根据 从音频解码器控制模块217接收的请求从存储在緩沖器215A中的节目流提取 音频访问单元,并将音频访问单元供应至音频解码器控制模块217。字幕读 取功能部分235解析存储在緩冲器215A中的节目流,根据从字幕解码器控制 模块218接收的请求从存储在緩冲器215A中的节目流提取字幕访问单元,并 将字幕访问单元供应至字幕解码器控制模块218。 [读取纟见频流]
接下来,将参考图45所示出的流程图,详细描述视频读取功能部分233 (图5 )对緩冲器215A进行的视频流读取处理。
在步骤S211,视频读取功能部分233在存储在緩冲器215A中的节目流 中搜索private-stream—2的PES-packet ()。换言之,如图23所示,在 private —stream-2的PES-packet ()中,stream—id为10111111B ( = OxBF )。 视频读取功能部分233搜索stream—id为10111111B的PES —packet ()。
假定在存储在片段流文件"00001.PS"中的节目流中多路复用的基本流 为待再现的基本流,当从盘101读取节目流并将其存储在緩冲器215A中时, 在图34所示出的步骤S122,利用关于在片段流文件"00001.PS"的EP—map () (图31)中描述的解码可起始点信息,扇区305被确定为再现起始位置。在 图34所示出的步骤S128,指定作为再现起始点的扇区305。视频读取功能部
分233使得操作系统201从片段流文件"00001.PS"读取节目流。
关于在浮见频流EP_map()中描述的解码可起始点的信息表示就在实际解 码可起始点之前的private—stream-2的PES一packet ()的位置。
因此,紧接着从盘101读取存储在片段流文件"00001.PS"中的节目流 并将其存储在緩冲器215A中之后,将private —stream—2的PES—packet ()存 储在由緩冲器215A中的数据据起始指针和视频读取指针表示的位置。
当视频读取功能部分233在步骤S211找到private—stream_2的 PES-packet()时,流程继续到步骤S212。在步骤S212,视频读取功能部分 233 乂人private—stream—2的PES—payload0的PES—packet—data—byte的 private — stream—2 PES_packet ()(图26 )提取video—stream—id。在图34 所示出的步骤S127,视频读取功能部分233确定video_stream_id是否与存 储在stream_id寄存器242 (图5 )中的待再现视频流的stream—id匹配。
当在步骤S212所确定的结果表示在private-stream—2—PES—payloadO 中所描述的video-stream-id与存储在stream—id寄存器242中的stream_id 不匹配时,即在步骤S211找到的private_stream-2的PES — packet ()不在待 再现视频流的解码可起始点时,流程回到步骤S211。在步骤S211,视频读取 功能部分233在存储在緩沖器215A中的节目流中搜索另一个 private_stream_2的PES—packet ()并重复相同的处理。
相反,当在步骤 S212 所确定的结果表示在 private—stream—2-PES_payload()中所描述的video—stream—id与存々者在 stream_id寄存器242中的stream—id匹配时,即在步骤Sni找到的 private-stream—2 PES—packet ()在待再现视频流的解码可起始点时,流程继 续到步骤S213。在步骤S213,视频读取功能部分233从緩冲器215A读取在 private — stream—2的PES—packet ()的private —stream_2—PES —payload()中 描述的au-information(),并将其存储到au—informat ion ()寄存器243 (图 5)。其后,流程继续到步骤S214。
在步骤S214,视频读取功能部分233针对在步骤S211找到的 private —stream—2的PES—packet 0 (其video—stream—id (图26 )与存储在 stream—id寄存器242 (图5 )中的stream—id匹配的private — stream—2的 PES-packet())的大小而更新存储在数据起始指针存储部分231中的视频读 取指针。
换言之,在片段流文件中,紧接着private—stream—2的PES — packet () 之后是其stream—id与video—stream—id匹配的碎见频流(PES—packet ())。因 此,在步骤S214,视频读取功能部分233更新视频读取指针,从而其表示视 频流的实际解码可起始点的位置。
其后,流程从S214继续到步骤S215。视频读取功能部分233确定视频 解码器控制模块216是否发出了数据请求。当在步骤S215所确定的结果表示 视频读取功能部分233没有发出数据请求时,流程返回到步骤S215。在步骤 S215,视频解码器控制模块216重复相同处理。
相反,当在步骤S215所确定的结果表示视频解码器控制模块216发出数 据请求时,流程继续到步骤S216。在步骤S216,视频读取功能部分233解析 来自由緩沖器215A中的视频读取指针表示的位置的节目流,从缓冲器215A 读取在存储在au-information()寄存器243 中的 au-info函tion()的 AU—length描述的字节数据,即一个视频访问单元,将此数据供应至^L频解 码器控制模块216,并针对从緩沖器215A读取的一个视频访问单元的大小而
更新视频读取指针。
换言之,如图27所述,au—information()描述number一of—access—unit, 其表示从包括au-information ()的private—stream—2的PES-packet 0到下 一个private-stream_2的PES—packet 0所包括的视频访问单元(图像)的 数目。
jt匕夕卜,^口图 27 戶斤述,au—information() 4苗述 pic-Struct一copy 、 au—ref —flag和AU—length作为关于由number一of-access一unit表示那么多 个的视频访问单元的每个的信息。
如图27所述,因为根据number_of—access—unit在au—information() 中描述的 AU—length 的每个表示从包括 au—information()的 private—stream-2 的 PES—packet ()到下 一 个 private—stream—2 的 PES一packet ()的由number—of—access—unit所表示的每个牙见频i方问单元的尺 寸,所以视频读取功能部分233可利用AU-length提取访问单元而不必解析 视频流。
换言之,当提取MPEG2 - Video或者MPEG4 - AVC访问单元时,有必要知 道视频流的结构然后进行解析。但是,存储在盘101上所记录的片段流文件 中的节目流包括private-stream_2的PES — packet (),其描述表示^L频访问
单元的大小的AU-length,并且紧接着下来是视频流的至少一个解码可起始 点。因此j见频读耳又功能部分233可才艮据在private—stream_2的PES — packet 0 中所描述的AlLlength从緩冲器215A读取视频访问单元(作为3见频访问单元 的视频流),并将视频访问单元供应至视频解码器控制模块216,而不必解析 视频流。
在步骤S216 ,当视频读取功能部分2 33将视频访问单元供应至视频解码 器控制模块216时,视频读取功能部分233还将在au-information()中描述 的pic —struct—copy、 au—ref —flag、 AU—length、以及作为关于视频访问单 元的信息添加至每个视频访问单元的时间戳(PTS, DTS )提供到视频解码器控 制模块216。
在视频读取功能模块233在步骤S216从緩冲器215A读取一个视频访问 单元并将其供应至视频解码器控制模块216之后,流程继续到步骤S217。在 步骤S217,视频读取功能部分233确定其是否处理了由存储在 au—information() 寄 存 器 243 中 的 au—information () 的 number—of-access—unit (图27 )所表示的那么多的访问单元。
当在步骤S217所确定的结果表示视频读取功能部分233还未处理由 number_of-access—unit所表示的那么多的访问单元时,即视频读取功能部 分233还未从緩冲器215A读取由number—of—access-unit所表示的那么多的 访问单元并将其供应至视频解码器控制模块216时,流程继续到步骤S215。 在步骤S215,视频读取功能部分233重复相同的处理。
相反,当在步骤S217所确定的结果表示视频读取功能部分233已经处理 由number-of—access-unit所表示的那么多的访问单元时,即i见频读取功能 部分233已经从緩沖器215A读取了由number-of —access—unit所表示的那么 多的访问单元并将其供应至视频解码器控制模块216时,流程返回到步骤 S211。在步骤S211,视频读取功能部分233搜索下一个private-stream—2的 PES-packet ()并重复相同的处理。
接下来,将参考图46所示出的流程图描述由音频读取功能部分234 (图 5 )对緩冲器215A进行的音频流读取处理。
在步骤S230,音频读取功能部分234确定已经在如图34所示的步骤S127 存储在stream—id寄存器252 (图5 )中的、待再现音频流的stream—id是否
表示private一stream一l的PES—packet 0 。
当在步骤S230所确定的结果表示存储在stream—id寄存器252中的 stream-id不表示private一stream-l的PES—packet ()时,即如图23所示, 存储在stream-id寄存器252中的stream—id是分配给根据MPEG标准编码的 音频流的110xxxxxB时,流程继续到步骤S231。在步骤S231,音频读取功能 部分234在存储在緩冲器215A中的节目流中搜索表示在MPEG音频中定义的 音频帧起始的同步代码。因为同步代码的位置处于音频帧的起始,所以音频 功能部分234更新音频读取指针从而其表示音频帧起始的位置。其后,流程 从步骤S231继续到步骤S232。在步骤S232,相应于由音频读取指针表示位 置,音频读取功能部分234在存储在緩冲器215A中的节目流中搜索与存储在 stream—id寄存器252中的stream—id匹配的PES — packet (),并获得 PES-packet ()。其后,流程继续到步骤S233。
在步骤S233,音频读取功能部分234更新存储在音频读取指针功能部分 251中的音频读取指针,从而音频读取指针表示在步骤S232找到的 PES-packet 0的PES—packet-data—byte(图19A和图19B到图21A和图21B) 的起始。其后,流程继续到步骤S237。
在步骤S237,音频读取功能部分234确定音频解码器控制模块217是否 发出数据请求。当在步骤S237所确定的结果表示音频解码器控制模块217没 有发出数据请求时,流程返回到步骤S215。在步骤S237,音频读取功能部分 234重复相同处理。
相反,当在步骤S237所确定的结果表示音频解码器控制模块217发出数 据请求时,流程继续到步骤S238。在步骤S238,音频读取功能部分234解析 来自由緩冲器215A中的音频读取指针表示的位置的节目流,从缓冲器215A 读取具有预定固定长度的一个音频访问单元,并将此音频访问单元和添加至 音频访问单元的时间戳(PTS,DTS) —起供应至音频解码器控制模块217。
音频读取功能部分234针对对从緩冲器215A读取的一个音频访问单元大 小而更新音频读取指针。其后,流程返回到步骤S237。在步骤S237,音频读 取功能部分234重复相同的处理。
相反,当在步骤S230所确定的结果表示存储在streaiid寄存器252 中的 stream—id表示private—stream—1 的PES —packet ()时,即存々者在 stream-id寄存器252中的stream—id为10111101B ( = OxBD )并表示在图
23所述的private —stream—1的PES—packet ()时,流程继续到步骤S234。在 步骤S234,音频读取功能部分234在存储在緩沖器215A中的节目流中搜索 private_stream-l的PES-packet 0并获得PES—packet ()。换言之,音频读 取功能部分234搜索stream—id为10111101B的PES_packet ()并获得 PES_packet 0 。
当音频读取功能部分234在步骤S234找到private_stream-l的 PES-packet ()时,流程继续到步骤S235。在步骤S235,音频读取功能部分 234 乂人作为private陽stream—1的PES —packet ()的PES-packet—data陽byte的 private — streaml_PES_payload ()(图24 )提取private—stream—id,并确定 此private —stream-id是否与在图 34所示步骤S127存储在 private-stream_id寄存器253 (图 5 )中的待再现音频流的 private —stream—id匹酉己。
当在步骤S235所确定的结果表示在private — stream1—PES-payload()中 所描述的private —stream—id与存储在private-stream-id寄存器253中的 private —stream—id不匹酉己时,即在步骤S234 4戈至'J的private —stream一l PES-packet ()不是待再现的音频流时,流程回到步骤S234。在步骤S234,音 频读取功能部分234在存储在緩沖器215A中的节目流中搜索另一个 private-stream-1的PES-packet ()。其后,音频读取功能部分234重复相同 的处理。
相反,当在步骤 S235 所确定的结果表示在 private—stream—PES-payload ()中所描述的private—stream—id与存储在 private —stream—id寄存器253中的private —stream—id匹配时,即在步骤 S234找到的private_stream-l PES—packet 0为待再现的音频流时,流程继 续到步骤S236。在步骤S236,音频读取功能部分234从緩冲器215A读取在 private—stream一l的PES-packet0的private—strearal—PES-payload0 (图 24)中所描述的AU-locator,并将紧接着AU-locator之后的位置和 AU-locator所表示的值相加,获得音频访问单元的起始位置。
换言之,如图24所述,基于紧接着AU-locator之后的位置,AlLlocator 表示存小者在private — stream—PES陽payload ()的private—payload中的音步贞i方 问单元或者字幕访问单元的起始位置。这样,通过将AU_locator所表示的值 和紧接着AU_locator之后的位置相加,可获得音频访问单元的起始位置。
在步骤S236,音频读取功能部分234更新存储在音频读取指针存储部分 251中的音频读取指针,从而音频读取指针表示已经获得的音频访问单元的 起始位置。其后,流程继续到步骤S237。
在步骤S237,音频读取功能部分234确定音频解码器控制模块217是否 发出数据请求。当在步骤S237所确定的结果表示解码器控制模块217没有发 出数据请求时,流程返回到步骤S237。在步骤S237,音频读取功能部分234 重复相同处理。
相反,当在步骤S237所确定的结果表示音频解码器控制模块217发出数 据请求时,流程继续到步骤S238。在步骤S238,音频读取功能部分234解析 从由緩冲器215A中的音频读取指针表示的位置发出的节目流,从緩沖器215A 读取预定长度的一个音频访问单元,并将此音频访问单元和添加至音频访问 单元的时间戳一起供应至音频解码器控制模块217。
音频读取功能部分234针对从緩冲器215A读取的一个音频访问单元的大 小更新音频读取指针。其后,流程返回到步骤S237。在步骤S237,音频读取 功能部分234重复相同的处理。
接下来,将参考图47所示出的流程图描述由字幕读取功能部分235 (图 5)从緩冲器215A读取字幕流的处理。
在步骤S251,字幕读取功能部分235确定已经在如图34的步骤S127存 储在视频解码器控制模块216中的字幕读取功能标记。当在步骤S251所确定 的结果表示字幕读取功能标记为0时,即多路复用以待再现基本流的片段流 文件不包括字幕流并且已经在如图34所示的步骤S127将字幕读取功能标记 存储部分261设置为0时,字幕读取功能部分235不执行任何处理。
相反,当在步骤S251确定的结果表示字幕读取功能标记为1时,即多路 复用以待再现基本流的片段流文件包括字幕流,并且已经在如图34所示的步 骤S127将字幕读取功能标记存储部分261设置为1时,流程继续到步骤S252。 在步骤S252,字幕读取功能部分235在存储在緩冲器215A中的节目流中搜 索与存储在stream—id寄存器263 (图5 )中的待再现字幕流的stream—id匹 配的PES—packet 0 。
如在图34所示出的步骤S127所描述的,待再现字幕流的streanuid存 储在stream—id寄存器263 (图5)中。另一方面,如图23所述,字幕流
stream—id为 10111101B ( = OxBD ), 其表示 private_stream—l 的 PES_packet 0 。
因此,在步骤S252,字幕读取功能部分235在存储在緩冲器215A中的 节目流中搜索private—stream—1的PES — packet ()。
当字幕读取功能部分235搜索private-stream一l的PES—packet 0并获 得其时,流程继续到步骤S253。在步骤S253,字幕读取功能部分235从作为 private_stream—l 的 PES—packet0 的 PES—packet—data—byte 的 pr ivate — stream一PES一payload ()(图24 )中提取private—stream—id, 并确 定此private—stream—id是否与在图 34所示步骤S127存储在 private—stream—id寄存器264 (图 5)中的待再现字幕流的 private —stream_id匹酉己。
当在步骤S253所确定的结果表示在private—stream—PES—payload()中 所描述的private —stream—id与存卡者在private-stream—id寄存器264中的 private —stream—id不匹酉己时,即在步骤S252 4戈至l]的private—stream—1 PES-packet()不是待再现的字幕流时,流程回到步骤S252。在步骤S252,字 幕读取功能部分235在存储在緩沖器215A中的节目流中搜索另一个 private —stream—1的PES—packet ()。其后,字幕读取功能部分235重复相同 的处理。
相反,当在步骤 S253 所确定的结果表示在 private — streaml—PES—payload ()中所描述的private—stream—id与存储在 private —stream—id寄存器264中的private—stream—id匹酉己日t,即在步骤 S252找到的private-stream-l的PES—packet ()为待再现的字幕流时,流程 继续到步骤S254。在步骤S254,字幕读取功能部分234从緩冲器215A读取 在private—stream—1 的PES—packet ()的private—streaml—PES—payload () (图24)中所描述的AU—locator,并相加紧接着AU—locator之后的位置和 AU_locator所表示的值,并获得字幕访问单元的起始位置。
如图24所述,基于紧接着AlLlocator之后的位置,AU-locator表示存 A者在private—streaml—PES—payload ()的private—payload中的字幕i方问单 元(或者音频访问单元)的起始位置。这样,通过将AU-locator所表示的值 和紧接着AU-locator之后的位置相加,可获得字幕访问单元的起始位置。
此外,在步骤S254,字幕读取功能部分235更新存储在字幕读取指针存
储部分262中的字幕读取指针,从而字幕读取指针表示已经获得的字幕访问
单元的起始位置。其后,流程继续到步骤S255。
在步骤S255,字幕读取功能部分235确定字幕解码器控制模块218是否 发出了数据请求。当在步骤S255所确定的结果表示字幕读取功能部分235没 有发出数据请求时,流程返回到步骤S255。在步骤S255,字幕读取功能部分 235重复相同处理。
相反,当在步骤S255所确定的结果表示字幕解码器控制模块218发出数 据请求时,流程继续到步骤S256。在步骤S256,字幕读取功能部分235解析 来自由緩沖器215A中的字幕读取指针表示的位置的节目流,从緩冲器215A 读取在字幕访问单元起始所描述大小的一个字幕访问单元,并将此字幕访问 单元和添加至字幕访问单元的时间戳一起供应至字幕解码器控制模块218。 如在图2A和图2B中所描述的,字幕访问单元的大小是在其起始处描述的。 字幕读取功能部分235从緩沖器215A的字幕读取指针所表示的位置读取该大 小的数据,并将此字幕访问单元和添加至字幕访问单元的时间戳一起供应至 字幕解码器控制模块218。
字幕读取功能部分235针对从緩冲器215A读取的一个字幕访问单元的大 小而更新字幕读取指针。其后,流程返回到步骤S255。在步骤S255,字幕读 取功能部分2 3 5重复相同的处理。
接下来,将描述由图2A和图2B所示解码控制模块214对视频数据和音 频数据进行的同步控制。
如图34的步骤S130所述,解码控制模块214使得视频解码器控制模块 216、音频解码器控制模块217和字幕解码器控制模块218启动解码它们的数 据。必要时,解码控制模块214使得这些模块在不同定时对它们的数据解码 以使其同步。例如,当视频解码器116和音频解码器117依赖于它们的进行 状态而执行其解码处理时,它们可在不同定时输出视频数据和音频数据。
这样,解码控制才莫块214执行再同步处理,此再同步处理补偿视频数据 和音频数据输出定时差并使得视频解码器116和音频解码器117同步输出视 频数据和音频数据。
接下来将参考图48所示出的流程图描述再同步处理。
在再同步处理中,在步骤S271,解码控制模块214确定从视频解码器控
制模块216输出的视频访问单元的时间戳与从音频解码器控制模块217输出 的音频访问单元的时间戳之间的差是否大。
换言之,如在图34示出的步骤S127所描述的,无论何时视频解码器控 制模块216从緩冲器控制模块215接收视频访问单元,视频解码器控制模块 216都将该视频访问单元的时间戳供应至解码控制模块214。同样,无论何时 音频解码器控制模块217从緩沖器控制模块215接收音频访问单元,音频解 码器控制模块217都将该音频访问单元的时间戳供应至解码控制模块214。
在步骤S271,解码控制模块214比较在认为是相同定时的预定时段内从 视频解码器控制模块216和音频解码器控制模块217接收的时间戳并确定该 时间戳之差是否大。
当在步骤S 2 71确定的结果表示从视频解码器控制模块216接收的视频访 问单元的时间戳与从音频解码器控制模块217接收的音频访问单元的时间戳 之差不大时,即视频访问单元时间戳和音频访问单元时间戳之差处于认为访 问单元同步的预定范围内,例如对两个视频帧(大约66毫秒),流程返回到 步骤S271。在步骤S271,解码控制模块214确定时间戳之差。
相反,当在步骤S271确定的结果表示从视频解码器控制模块216接收的 视频访问单元时间戳与从音频解码器控制模块217接收的音频访问单元时间 戳之差大时,即此差不处于预定范围内,关于其不能认为访问单元同步,流 程继续到步骤S272。在步骤S272,解码控制模块214比较从视频解码器控制 模块216接收的视频访问单元的时间戳与从音频解码器控制模块217接收的 音频访问单元的时间戳以确定视频数据输出和音频数据输出哪个较晚。
当在步骤S272所确定的结果表示视频数据输出晚于音频数据输出时,流 程继续到步骤S273。在步骤S273,解码控制模块214使得视频解码器控制模 块216停止解码和显示视频访问单元,即跳过针对视频访问单元的处理,以 前进针对一个视频访问单元的处理。其后,此流程继续到步骤S274。
在步骤S274,视频解码器控制模块216接收来自解码控制模块214的跳 过请求并检查从緩冲器控制模块215和视频访问单元一起供应的 au-ref一flag (图27 )。
^奐言之,存々者在 private — stream—2的pes陽packet() 的 private—stream2—PES_payload()(图26 )中的au—informat ion ()(图27 ) 包括作为关于访问单元的信息的au—ref-f lag。如图34的步骤S129和图45
的步骤S216所示,和视频访问单元一起,缓冲器控制模块215将其 au—ref— flag供应到视频解码器控制模块216。
在步骤S274,视频解码器控制模块216检查和访问单元一起供应的 au—ref_flag。
其后,流程从步骤S274继续到步骤S275。在步骤S275,视频解码器控 制模块216根据对从緩沖器控制模块215供应的视频访问单元的au-ref-flag 的检查结果而确定该视频访问单元是否是当解码另 一帧图像时不参考的非参 考图像。
如图27所示,视频访问单元的au-ref-flag表示该访问单元是否是参考 图像。当访问单元是参考图像时,au—ref-flag为1。相反,当访问单元不是 参考图像时,au-ref — flag为0。
当在步骤S275所确定的结果表示从緩沖器控制模块215供应的视频访问 单元不是非参考图像的视频访问单元时,即从緩沖器控制模块215供应的视 频访问单元是参考图像时,流程继续到步骤S276。在步骤S276,视频解码器 控制模块216使得视频解码器116通常处理视频访问单元。在视频解码器控 制模块214从緩冲器控制模块215接收下一个视频访问单元之后,流程返回 到步骤S274。
相反,当在步骤S275所确定的结果表示从緩冲器控制模块215供应的视 频访问单元是非参考图像时,流程继续到步骤S277。在步骤S277,视频解码 器控制模块216使得视频解码器116跳过对于视频访问单元的处理。在緩冲 器控制模块215供应了下一个视频访问单元之后,流程返回到步骤S271。
因为跳过了对于^见频访问单元的处理,所以此处理前进几乎一个3见频访 问单元。因此,比音频数据输出晚的视频数据输出被推进。
相反,当在步骤S272所确定的结果表示视频数据输出不晚于音频数据输 出时,即音频数据输出晚于视频数据输出时,流程继续到步骤S278。在步骤 S278,解码控制模块214将连续输出命令输出至视频解码器控制模块216以 连续输出对应于正在解码的视频访问单元的视频数据,以使视频解码器控制 模块216保持等待下一个视频访问单元的处理。其后,流程继续到步骤S279。
在步骤S279,视频解码器控制模块216从解码控制模块214接收连续输 出请求,并根据该连续输出请求将由视频解码器116正在解码的视频访问单 元的视频数据输出至图形处理模块219。在緩冲器控制模块215供应了下一
个视频访问单元之后,流程继续到步骤S 2 71 。
如上所述,解码控制模块214确定视频数据输出是否晚于音频数据输出。 当视频数据输出晚于音频数据输出时,解码控制模块214使得视频解码器控 制模块216跳过对于一个访问单元的处理。视频解码器控制模块216根据访 问单元的au-ref-flag确定待跳过的访问单元是参考图像或者非参考图像。 当访问单元为非参考图像时,解码控制模块214使得视频解码器116跳过对 于该访问单元的处理过程。这样,可以容易地同步视频数据输出和音频数据 输出。
换言之,当待跳过的访问单元为参考图像时,该访问单元的视频数据需 要被解码,从而当解码另一个访问单元时参考该视频数据。因此,在其中同 步视频数据输出和音频数据输出的同步控制中,如果跳过对于参考图像的访 问单元的处理,则不能解码参考该参考图像的另一个访问单元。因此,当显 示与音频数据同步的视频数据时,出现噪音。
因此,优选的是,跳过不是参考图像的访问单元,即非参考图像。 另一方面,为在常规基本流中搜索非参考图像的访问单元,需要解析基 本流。根据例如MPEG4-AVC编码的基本流非常复杂。因此,当解析此基本流
时,代价高昂。
相反,除了具有PES-packet-data—byte且包括视频访问单元的 PES-packet()(图19A和图19B到图21A和图21B)以外,存储在盘101上 所记录的片段流文件中的节目流被多路复用在包括 private—stream2—PES-payload0 ( 图 26 ) 的 private-stream-2 的 PES—packet ()中,private一stream2-PES一payload ()是PES一packet—data—byte 的扩展。private—stream2-PES-payload()的au-info簡tion()(图27 )描 述au-ref-flag,该au—ref_flag表示视频访问单元是参考图像或者非参考 图像。au-ref —flag和相应视频图像单元一起从緩冲器控制模块215供应至 视频解码器控制模块216。因此,视频解码器控制模块216可以近乎没有成 本地通过检查视频访问单元的au_ref_flag而确定视频访问单元是参考图像
或者非参考图像。 [标记处理]
接下来,将参考图49所示出的流程图,描述基于在PlayListMark()(图 9)中所描述的Mark ()的标记处理。 解码控制模块214通常检查由内置计时部分214A计数的当前时间。在步 骤S301,解码控制模块214确定当前时间是否与在PlayListMark()(图9) 中所描述的任何Mark()的mark-time—stamp匹配。
如图34所示出的步骤S124所述,当播放器控制模块212再现图29所示 的第一 PlayList # 0的第一 PlayItem#0时,播放器控制模块212识别出在 图32所示的上面表才各中的PlayListMark()中所包括的七个Mark()中的四个 Mark(),即第一到第四Mark (),属于PlayList # 0第一 Playltem# 0,并将 作为该四个Mark()的mark—time—stamp的{180, 090} 、 {5, 580,090}、 {10, 980, 090} 、 {16, 380, 090}和表示mark_time_stamp所表示的时间属性为 "mark processing (标记处理)"的信息一起供应至解码控制模块214。
在步骤S301,解码控制模块214确定具有"mark processing"属性的、 从播放器控制模块212供应的四个时间(mark-time-stamp)的哪一个与当前 时间匹配。
当在步骤S301所确定的结果表示当前时间与具有"mark processing" 属性的时间的任何一个都不匹配时,流程返回到步骤S301。在步骤S301,解 码控制模块214重复相同的处理。
在标记处理中,在步骤S301,解码控制模块214确定当前时间是否与 mark—time—stamp中的一个匹配。但是,在此实施例中,因为计时部分214A 指示离散值,因此如果简单地确定它们的匹配,可能发生问题。
参考图50,将以简单实例描述这一问题。在图50的上面部分中,10、 Pl、 P2和P3表示视频访问单元。假定这些视频访问单元每个的pic-struct 为3,即显示持续时间为一帧(在90kHz下为3003 )。在此实例中,假定其解 码顺序与其显示顺序相同,即不发生重新排序。IO是如在"再现准备处理" 中所描述的EP_map()中注册的访问单元。10访问单元具有时间戳,PTS = 180,090。相反,Pl、 P2和P3的访问单元不具有时间戳。
当处理这些4见频数据时,如图50下面部分所示更新计时部分214A的时 钟。当输出I0时,供应10的PTS和pic — struct。因为IO具有PTS,所以将 其代入计时部分214A。结果,计时部分214A的PTS变为180,090。当输出 Pl日于,因为其不具有PTS,仅^f又供应Pl的pic —struct。因为10的pic—struct 为3,所以4巴一帧时间(在90kHz下为3003 )加至计时部分214A。因此,计
时部分214A的值变为183, 093。同样,当输出P2时,因为Pl的pic — struct 为3,所以将3003加至计时部分214A的时间。因此,计时部分214A的值变 为186, 096。当输出P3时,类似地将3003加至计时部分214A的时间。结果, 计时部分214A的值变为189, 099。
现在,将考虑当PlayUstMark()(图9和图32)中所登记的marks之一 的mark-time-stamp为186, 000时执行的处理。如上所述,时钟(计时部分 214A)输出的值为180,090、 183,093、 186, 096和189, 089,没有输出与该 标记的时间匹配的值186, 000。因此,当简单地比较mark-time-stamp和时 间时,即确定其差是否为O时,将发生问题。
因此,将预定的规则应用于时间匹配确定。换言之,在此实例中,当在 特定事件的mark—time — stamp被包含在特定图像的显示持续期内时,定义该 特别事件发生于相关图像的显示起始时间。在上述实例中,mark_time —sta即 =186, 000 :故包含在图像Pl的显示持续期中。因此,定义该事件发生在PI 的显示起始时间即183, 093。
接下来,将描述在上述定义下执行匹配确定的解码控制模块214的确定 算法。
在此实例中,仅当更新视频数据时才更新时间(计时部分214A)。换言 之,仅当更新时间时才执行图49所示出步骤S301的处理。因此,在由软件 组成的再现装置中,因为可明显减少处理步骤数,所以此结构是有利的。
当更新时间时,调用图49所示出的处理。在步骤S301,解码控制模块 214检查是否存在被确定为与当前时间匹配的事件。换言之,解码控制模块 214基于当前时间和正在显示图像的显示持续时间而检查是否存在被包含在 正被显示的图像的显示持续时间内的事件。当不存在确定与当前时间匹配的 事件时,流程返回到步骤S301。当存在确定为与当前时间匹配的事件时,流 程继续到步骤S302。当不存在确定与当前时间匹配的事件时,可结束此处理。
特别地,在例如正显示IO时,因为时间为180, 090而10的pic —struct 为3,所以可以清楚10的显示持续时间为3003 。因此,检索满足 180, 090^nark—time_stampSl80, 090+3003的mark_time_stamp。这时,因为 此时示例的事件时间18 6 , 0 0 0不满足此表达式,所以没有确定时间匹配。
当显示II时,因为时间为183, 093而II的pic —struct为3,所以^艮清 楚 10 的显示持续时间为3003 。因此,检索满足
183, 093^nark_time-stamp^l83, 093+3003的mark —time—stamp。因为此时示 例的事件时间186, 000满足此表达式,所以确定时间匹配。其后,执行步骤 S302后面的处理。
上面示例了一个时间匹配确定。可替换地,可以应用另一定义。例如, 当特定事件的mark—time — stamp等于或者大于"特定图像显示起始时间-a" 并小于"下一个图像显示起始时间-a"时,可以定义为事件在相关图像的显 示起始时间发生。可替换地,以相同的确定标准,可定义事件发生的时间例 如是"相关图像的显示起始时间-oc"。
当引入这样的定义时,当设置标记的时间即mark-time-stamp时不必要 知道视频流的时间。因此,当执行创作操作((authoring operation))时,因 为视频编码处理变得非常独立于数据库的产生,因此可分离地执行它们。
相反,当在步骤S301所确定的结果表示当前时间与具有"标记处理"属 性的四个时间其中一个匹配时,解码控制模块214将表示当前时间变为具有 "标记处理"属性的时间的消息和具有"标记处理"属性的匹配时间供应至 播放器控制模块212。
在步骤S302,播放器控制模块212从解码控制模块214接收表示当前时 间变为具有"标记处理"属性的时间的消息以及具有"标记处理,,属性的匹 配时间,并识别其mark-Ume-stamp与当前时间匹配的Mark (0为针对标记处 理待处理的Mark()(其后,有时将此Mark ()称作目标标记)。
换言之,播放器控制模块212识别出了正在再现的PlayList()的 Playltem()。利用PlayList 0 、 Playltem()、与当前时间匹配并从解码控制 模块214供应的、和具有"标记处理"属性的时间(mark-time-sta即)(下 文有时将其称作标记时间)参考"PLAYLIST. DAT"文件(图7 )的PlayListMark () (图9 ),播放器控制模块识别目标标记。
特别地,々I定正在再现图29所示出的第一PlayList # 0的第一PlayItem #0,播放器控制模块212识别该标记时间为四个Mark()中任一个的 mark—time—stamp,这四个Mark ()是在图32所示出上面表才各中PlayListMark () 中所包括的七个Mark ()中的第 一到第四Mark ()。
当从解码控制模块214向播放器控制模块212供应的标记时间例如是 16,380,090时,播放器控制模块212将包含在图32所示出上面表格中 PlayListMark ()中的四个Mark()即第一到第四Mark()中mark —time —stamp匹
配作为标记时间的16, 380, 090的第四Mark ()识别为目标标记。
当播放器控制模块212识别出目标标记时,流程从步骤S302继续到步骤 S303。在步骤S303,播放器控制模块212确定目标标记是否描述识别基本流 的entry—ES_stream-id和entry—ES—private—stream—id (图9 )。
当在步骤S303确定的结果表示目标标记不描述识别基本流的 entry—ES—stream—id 和 entry—ES—private_stream_id (图 9 ) 时,即 entry—ES —stream—id和entry_ES —private —stream—id都是0x00时,流程跳 过步骤S304继续到步骤S305。在步骤S305,解码控制模块214执行针对目 标标记的处理。
相反,当在步骤S303确定的结果表示目标标记描述识别基本流的 entry_ES_stream_id和entry_ES —private — stream—id (图9)时,流程继续 到步骤S304。在步骤S304,播放器控制模块212确定正在再现的基本流是否 包括由entry—ES —stream—id和必要时由entry—ES—private—stream—id识另'J 的基本流。
当在步骤S304确定的结果表示正在再现的基本流不包括由目标标记 entry—ES-Stream_id和entry—ES —private — stream—id识另'J的基本流时,流 程返回到步骤S301 。换言之,当没有正在再现由目标标记的 entry—ES—stream—id和entry-ES — private—stream—id识另'J的基本流时,忽 略目标标记。
相反,当在步骤S304确定的结果表示正在再现的基本流包括由目标标记 entry—ES—stream-id牙口 entry—ES—private-Stream—id i口、另l)^j基本: 危时,?卩 正 在 再 现 由 目 标 标 记 的 entry—ES — stream—id 和 entry—ES—private-stream—id i口、另寸6勺基本5克日于,石角定目才示才示i己有岁文。其后, 流程继续到步骤S305。在步骤S305,播放器控制模块212执行针对目标标记 的处理。
换言之,在步骤S305,通过参考目标标记(图9)的mark —type,播放 器控制模块212确定目标标记。
当在步骤S305确定的结果表示目标标记为章标记或者索引标记时,即目 标标记的mark—type为"Chapter"或者"Index"时,流程继续到步骤S306。 在步骤S306,播放器控制模块212使得图形处理模块219利用目标标记的编 号更新章号或者索引号更新。其后,流程返回到步骤S301。
当在步骤S305确定的结果表示目标标记为事件标记时,即目标标记的
mark_type为"Event"时,流程继续到步骤S307。在步骤S307,播放器控 制模块212将表示事件发生的事件消息和目标标记的mark_data供应至脚本 控制模块211。其后,流程继续到步骤S308。
在步骤S308,脚本控制模块211从播放器控制模块212接收事件消息和 mark_data,并根据作为中断请求的事件消息以mark—data变量执行在 "SCRIPT.DAT"文件中描述的处理序列。其后,流程返回到步骤S301。
换言之,脚本控制模块211执行对应于mark—data的过程。
特别地,在图32下面表格中PlayList#l的PlayListMark()中,第二 Mark() (Mark # 1 )和第三Mark () (Mark弁2)每一个的mark—type是"Event"。 但是,Mark# 1的mark—data为1,而Mark # 2的mark—data为2。
当脚本控制模块211接收对应于第二 Mark()的事件消息和对应于第三 Mark()的事件消息时,脚本控制模块211利用同一事件处理器(中断处理例 程)根据所接收的事件消息执行处理。脚本控制模块211检查和事件消息一 起供应的mark—data并利用事件处理器执行根据mark-data的处理。
特别是,当mark-data例如为1时,脚本控制模块211控制图形处理模 块219显示第一种图标。当mark—data例如为2时,脚本控制模块211控制 图形处理模块219显示第二种图标。
mark_data不限于1和2。此外,对应于mark-data的处理不限于简单图 标的显示。
换言之,当mark—data处于从3到18的范围时,脚本控制模块211控制 图形处理模块219显示具有对应于从mark-data减去2的值(从1到16范围 内的数值)的强度(intentsity)的第一种图标。另一方面,当mark—data处 于从19到34的范围内时,脚本控制模块211控制图形处理模块219显示具 有对应于从mark—data减去18的值(从1到16范围内的lt值)的强度的第 二种图标。
当用户操作的控制器连接至输入接口 115 (图l)并且控制器具有振动电 动机(v ibra t ion motor)时,此电动机是具有安装在电动机轴上的偏心重物的 直流(DC )电动才几并且当电动初^皮驱动时振动,如果mark—data值处于/人35 到42的范围内,则振动电动机可被驱动对应于从mark_data减去34的值(处 于1到8范围内的数值)的运行时间段。
mark-data为lt值。可以以脚本控制4莫块211所,执行的脚本程序描述 mark—data的使用和算法。因此,可根据盘101制造商或者提供记录在盘101 上数据的内容供应商指定的预定规则或者初始规则使用mark_data。
当当前时间与具有"标记处理,,属性的时间匹配时,从作为具有"标记 处理"属性的时间的标记时间识别目标标记。当目标标记不描述识别基本流 的entry-ES_stream_id和entry—ES_private_stream_id时,4丸4亍才艮才居目才示 标记的mark-type的处理。即4吏目标标记描述识别基本流的 entry—ES-stream—id和 entry—ES —private — stream—id 时,当正在再现由 entry—ES_stream—id和entry—ES—private —stream—id识另'J的基本流时,执 4亍冲艮才居目标才示i己的mark—type的处理。
当正在再现图29所示出的第二PlayList井l时,执行下面的标记处理。
换言之,如图32所示出的下面表格所示,第二 PlayList#l的 PlayListMark()描述第一 Mark() (Mark#0)、第二Mark() (Mark并l)和第 三Mark() (Mark#2),其mark_time_stamp分别为90, 000、 27, 090, 000和 27, 540, 000。
此外,因为图32所示出的下面表格中的PlayListMark()的第二Mark() 和第三Mark()的entry—ES —stream—id描述0xE0和OxEl,所以第二Mark() 和第三Mark()与由分别为OxEO和OxEl的stream—id识别的基本流相关。
如图29所述,第二 PlayList # 1仅仅描述一个Playltem() (Playltem #0)。根据Playltem#0,再现片段流文件"00003.PS"。如图30A和图30B 所示出的对应于片段流文件"00003. PS"的片段信息文件"00003. CLP"所述, 片段流文件"00003.PS"中多路复用了三个基本流,即由OxEO的stream—id 识别的^见频:^ stream# 0、由OxEl的stream—id识别的^L频流stream# 1和 由0x00的private —stream—id识另'J的视频流stream# 2。
这样,图32所示出的下面表格中的PlayListMark()的第二 Mark()与 stream—id为OxEO的视频流文件stream# 0相关,i见频流文件stream# 0#: 多路复用在片段流文件"00003.PS"中。第三Mark()与stream—id为OxEl 的视频流stream#l相关,视频流stream#l被多路复用在片段流文件 "00003.PS"中。
当再现图29所示的第二 PlayList # 1的Playltem# 0时,如图34所示 出的步骤S124所述,播放器控制模块212识别出包含在图32所示出下面表
格中的PlayListMark()内的三个Mark()属于PlayList # 1 PlayItem#0,并 将作为三个Mark()的mark—time—stamp的{90, 000} 、 {27, 090, 000}和 (27,540,000)和表示时间具有"标记处理,,属性的消息一起供应至解码控制 模块214。
在标记处理中,当正在再现PlayList # 1的Playltem# G时,解码控制 模块214通常确定{90, 000} 、 {27,090, 000}和{27, 540, 000}的哪一个与计时 部分214A计数的当前时间匹配(在步骤S301 )。当当前时间与具有"标记处 理"属性的时间匹配时,解码控制模块214将作为具有"标记处理"属性时 间的标记时间和表示当前时间成为具有"标记处理,,属性时间的消息一起供 应至播放器控制模块212。
当当前时间与具有"标记处理"属性的时间{90, 000} 、 {27, 090, 000}和 {27, 540, 000}中的27, 090, 000匹配时,解码控制模块214将具有"标记处理" 属性的标记时间27, 090, GOO和表示当前时间成为具有"标记处理,,属性时间 的消息一起供应至播放器控制模块212。
播放器控制模块212识别出PlayList #1的Playltem# 0正在被再现。 播放器控制模块212把作为属于图32所示的下面表格中的PlayListMark() 中描述的Mark()的PlayItem弁O的三个Mark()的mark —time-Stamp的 90,000、 27,090,000、 27, 540, 000与作为从解码控制模块214供应的标记时 间的27, 090, 000相比较,并且识别其mark—time-stamp与作为标记时间的 27, 090, 000匹配的Mark (),即在图32下面表格中PlayListMark ()中描述的 第二Mark() (Mark#l)为目标标记(在步骤S302 )。
在作为目标标记的、在图32下面表格中PlayListMark ()中描述的第二 Mark()中,entry—ES—stream—id 为 OxEO 。 如上所述,OxEO 的 entry—ES —s tream— id表示多路复用在片段流文件"00003. PS"中的、s tream— id 为OxEO的片段流stream#0 (图30A和图30B)。播放器控制模块212确定正 在再现的基本流是否包括视频流stream#0 (在步骤S303和S304 )。
当正在再现的基本流不包括视频流stream#0时,播放器控制模块212 忽略目标标记(在步骤S304 )。
相反,当正在再现的基本流包括视频流stream#Q时,播放器控制模块 212视目标标记为有效并根据此目标标记执行过程(在步骤S305到S308 )。
在本示例中,在图32下面表格中的PlayListMark()中描述的、作为目
标标记的第二 Mark ()的mark—type是"事件"。因此,第二Mark()为事件标 记。播放器控制模块212将表示事件发生的事件消息和目标标记的mark_data 供应给脚本控制模块211 (在步骤S305和S307 )。脚本控制模块211根据从 播放器控制模块212接收的作为中断请求的事件消息以变量mark-data执行 在"SCRIPT.DAT"中描述的处理序列(在步骤S308 )。
如上所述,在标记处理中,播放器控制模块确定当前时间是否匹配 mark-time-stamp,该当前时间是根据以Playlist的时间轴为基础表达一个 再现时间的mark—time-stamp、表示Mark ()的类型的mark—type和包含不具 有Mark ()或不止一个Mark ()的PlayListMark()的PlayList()(图7)所再 现的片断流文件的再现时间,其中Mark()包含作为事件标记的参数的 mark_data。当当前时间匹配mark_time-Stamp时,播放器控制才莫块212识別 具有等于作为当前时间的标记时间的mark—time-stamp的Mark()作为目标标 记。当目标标记的mark_type表示事件发生的类型时,即目标标记为事件标 记时,供应目标标记的mark-type和事件消息。播放器控制模块212根据 mark-type执行处理。因此,可以根据片段流文件的再现时间执行根据 mark—data的处理。
如上所述,当计时部分214A所计数的时间等于播放器控制模块212所供 应的Playltera的OUT_time时,解码控制才莫块214取消解码过程并完成 Playltem的再现。在此实施例中,在图40流程图的步骤S151描述Playltem # 0的完成。
在这种情况下,当在匹配确定中简单比较时间和OUT—time时,存在出现 问题的可能。因此,当比较时间和OUT-time时,采用前述匹配确定的定义。
换言之,如图51所示,在对应于PlayListEnd的Playltem的OUT-time 小于在PlayList结束处显示FoCFP (当前正在再现的视频流中的帧或者补充 场对儿)的PET的情况下,当在显示持续时间包括对应于PlayListEnd时间 的OUT-time的FoCFP的显示起始时间(PTS )发生PlayListEnd事件时,即 PTS膽"OUT-Ume^PETF證w时,在FoCFP[3]的显示起始时间PTS隨,发生 PlayListEnd事件。在此实例中,PET,刚表示"基于pic —struct的显示持 续时间添加到PTS證pw的时间"。
因此,因为只在输出视频流时执行视频匹配确定,所以处理负载较轻。
此外,如上所述,视频流的准备变得非常独立于数据库的准备。
此外,解码控制模块214向播放器控制模块212通知Playltem再现的完 成。当播放器控制模块212确定Playltem为PlayList的最后Playltem时, 播放器控制模块212使得脚本控制模块211产生PlayListEnd事件。
当脚本控制模块211接收PlayListEnd事件时,脚本控制模块211知道 所命令的PlayList的再现的完成并继续执行所编程的操作。换言之,脚本控 制^^莫块211例如再现另一个PlayList、显示菜单或者完成操作。
在图52所示出的情况中,当OUT-time等于Playltem中最后图像的显示 终止时间时,可能不能在上述匹配确定中处理这种情况。在图52中,例如当 显示和暂停FoCFP[2]时,如果调用playStop(),则显示和暂停FoCFP [3]。 其后,如果再次调用playStop(),则显示的图像不变,但是发生playListEnd。
换言之,因为最后图像的显示起始时间+基于pic —struct的持续时间= 0UT-time,因而不满足显示起始时间+基于pic — struct的持续时间〈 0UT_time的关系。
在这种情况下,在视频解码器控制模块216输出最后图像然后经过图像 的显示持续时间之后,视频解码器控制模块216将表示显示结束的信息发送 至解码控制模块214。因此,把时钟向前设置为"最后图像的显示起始时间 +基于pic-struct的持续时间"。因此,可满足匹配条件。
无论何时字幕解码器控制模块218获得存储在緩冲器215A中的一个字幕 访问单元和从緩沖器控制模块215 (图5 )的字幕读取功能部分添加到其的时 间戳时,字幕解码器控制模块218使得内部字幕解码软件解码该字幕访问单 元。此外,字幕解码器控制模块218将时间戳和持续时间发送至解码控制模 块214。
当解码控制模块214利用从视频解码器控制模块216供应的信息改变时 钟(计时部分214A)的时间时,解码控制模块214检查从视频解码器控制模 块216供应的字幕访问单元PTS。换言之,当解码控制部分214基于匹配确 定标准确定字幕访问单元的PTS与该时间匹配时,解码控制模块214使得图 形处理模块219输入字幕,并使字幕解码器控制模块218输出字幕。
当解码控制模块214使得字幕解码器控制模块218输出字幕时,字幕解 码器控制模块218将解码的字幕图像数据供应至图形处理模块219。图形处
理模块219存储输入的字幕数据并使其与将在后面输入的视频数据组合。
解码控制模块214还检查字幕的显示持续时间。换言之,当在匹配确定
标准的基础上确定"字幕的显示起始时间+显示持续时间"的值与当前时间
匹配时,解码控制模块214使得图形处理模块219擦除字幕。因此,图形处 理模块219擦除所存储和输入的字幕数据并停止组合字幕数据与将在后面输 入的视频数据。
在上述匹配确定标准中,预定范围内的时间圆整(round)为单个时间。换
频数据的显示起始时间。
因此,两个相邻事件的时间可能根据事件的位置关系而圓整到 一个时间。 例如,在图50所示出的实例中,如果就在时间为186, 000的事件后的事件的 mark-time-stamp为184, 000,则定义在Pl的显示起始时间发生该两个事件。
为防止这样的状况,有必要保证对单个视频可以指定仅单个事件。因此, 当相邻事件的间隔为三个场或更多(比以pic-struct指定的最大显示时间更 多)时,可保证上述条件。
图53示出了上述条件的实例。换言之,在图53中,A情况表示帧速率 为5005/240000 (逐行(progressive),在23.976Hz下)以及最小事件间隔 为7507,而情况B表示帧速率为4004/240000(隔行(interlaced),在59. 94Hz 下)以及在90kHz下的最小事件间隔为6006。
在视频编码系统例如AVC和MPEG2视频中, 一帧信号被显示三场的时间 以有效编码2-3下拉(pull down)的图像。这样一帧信号的最大持续时间为 三场。换言之,当仅仅由三个或更多场的时间分隔相邻事件的间隔时,可防 止确定这两个相邻事件在单个视频数据的显示起始时间发生。
此外,可以以多于三个场来定义相邻事件的间隔。例如,可以以两帧或 更多帧定义相邻事件的间隔。
可替换地,可通过检查所有事件的视频数据以及确定它们不重叠而保证 上述条件。
接下来,参考图54所示出的流程图,将详细描述在图34所示出的步骤 S126所执行的输出属性控制处理等等。
如在图34所示出的步骤S126所述,播放器控制模块212检查至少一个 待再现的基本流,即number—of-DynamicInfo(图12 ),其表示Dynamiclnfo () (图15)的数目,Dynamiclnfo()描述在图34所示出的步骤S125确定为再 现的至少 一个基本流的输出属性。
当至少一个待再现基本流的每一个的number一of—DynamicInfo为0时, 播放器控制模块212不进行任何处理。
相反,当待再现基本流的number—of—Dynamiclnfo不为0时,播放器控 制模块212根据图54所示出流程图进行输出属性控制处理。
这样,当记录在盘101上的三个片段信息文件"00001.CLP"、 "00002. CLP"和"00003. CLP"为如图30A和图30B所示,以及当再现对应. 于片段信息文件"00001. CLP"的片段流文件"00001. PS"的第一 PlayList #0的第一 PlayItem#0被再现时,因为在片段信息文件"00001. CLP"(图 30A和图30B)中,在片段流文件"00001. PS"多路复用的所有四个基本流, 即stream弁0到stream#3,的number_of—Dynamiclnfo都为0,所以播放器 控制模块212不执行输出属性控制处理。
同样,当再现对应于片段信息文件"00002. CLP"的片段流文件"00002. PS" 的第一 PlayList #0的第二 Playltem#l -故再现时,因为在片^L信息文件 "00002. CLP"(图30A和图30B)中,在片段流文件"00002.PS"中多路复 用的四个基本;庇即stream # 0到stream # 3的number—of-Dynamiclnf o为0, 所以播放器控制模块212不执行输出属性控制处理。
相反,当再现对应于片段信息文件"00003. CLP"的片段流文件"00003.PS" 的第二 PlayList #1的PlayItem#0被再现时,因为在片段信息文件 "00003.CLP"(图30A和图30B)中,在片段流文件"00003.PS"中多路 复用的三个片段流文件stream#0到stream弁3,作为第一基本流的视频流 stream并0和作为第三基本流的音频流stream#2的number_of—Dynamiclnfo 分别为2和3,所以播放器控制模块212执行输出属性控制处理。
换言之,在输出属性控制处理中,在步骤S320,播放器控制模块212将 在对应于待再现片段流文件的的片段信息文件Clip()(图12)中描述的 pts —change—point连同表示具有"Dynamiclnfo ()处理"属性的时间的信息 供应至解码控制模块214。解码控制模块214从播放器控制模块212接收作 为具有"Dynamiclnfo ()处J里,,属〗生的时间的pts-change — point。其后,流
程继续到步骤S321。
在步骤S321,解码控制模块214确定由计时部分214A计数的当前时间 是否与作为具有"DynamicInfoO处理"属性的时间的pts—change—point匹 配。当在步骤S321确定的结果表示当前时间不与pts—change—point匹配时, 流程返回到步骤S321。
相反,当在步骤S321确定的结果表示当前时间与任何一个具有 "DynamicInfoO处理,,属性的时间匹配时,解码控制模块214将表示当前时 间成为具有"DynamicInfoO处理"属性的时间的消息和具有"DynamicInfoO 处理"属性的时间(下文有时称作Dynamiclnfo时间)供应至播放器控制模 块212。其后,流程继续到步骤S322。
在步骤S332,播放器控制模块212从解码控制模块214接收表示当前时 间成为具有"DynamicInfoO处理"属性的时间的消息和Dynamiclnfo时间, 并将和与Dynamiclnfo时间匹配的pts—change—point (图12 )成对儿的 Dynamiclnfo ()识别为目标Dynamiclnfo ()。其后,流程继续到步骤S323。
在步骤S323,播放器控制模块212将在作为目标DynamicInfoO的 DynamicInfoO (图15 )中描述的输出属性供应至图形处理模块219或者音 频输出模块221。其后,流程继续到步骤S324。
在步骤S324,图像处理模块219或者音频输出模块221开始根据在步骤 S323从播放器控制模块212供应的输出属性来控制视频数据或者音频数据的 输出。其后,流程返回到步骤S321。
因此,根据例如描述为输出模式的高宽比输出视频数据。可选择地,根 据例如描述为输出模式的立体声模式或者双重(双语)模式输出音频数据。
接下来,将参考图55详细描述输出属性控制处理。
即,图55示出在图30A和图30B所示出的片段信息文件"00003. CLP,, 中所描述的一对儿pts —change—point和Dy議icInfo()(图12)。
如上所述,在图30A和图30B所示出的片段信息文件"00003. CLP"中, 作为在片段流文件"00003. PS"中多^各复用的三个基本流stream# 0到stream #2中的第一基本流和第三基本流的一见频流stream#0和音频流stream#2 的number_of —Dynamiclnfo分别为2和3。因此,在片段信息文件"00003. CLP" 中,对于片段流文件"00003.PS"的第一视频流stream#0描述两组 pts — change—point和DynamicInfoO ,对于片段流文件"00003.PS"的第三
音频流st ream # 2描述三组pts_change_point和Dynamic Info ()。
在图55所示出的上面表格中,描述了片段流文件"00003.PS"的第一视 频流stream弁0的两组pts—change—point和Dynamiclnfo ()。在图55的下 面表格中,描述了片段流文件"00003.PS"的第三音频流stream#2的三组 pts— change —point和Dynamiclnfo 0 。
在图55所示出的上面表格中,除了第一视频流stream#0的两组 pts_change-point和Dynamiclnfo()以外,还描述了图30A和图30B所示出 的片段信息文件"00003. CLP"的第一视频stream# 0的stream—id( =0xE0)、 private-stream—id ( =0x00)禾口 number—of—Dynamiclnfo ( = 2 )。 同样,在 图55所示出的下面表格中,除了第三音频流stream #2的三组 pts —change—point和Dynamiclnfo()以外,还描述了图30A和图30B所示出 片段信息文件"00003. CLP"的音频流stream#2的stream_id ( = 0xBD )、 private—stream—id ( =0x00)和number—of—Dynamiclnfo ( = 3 )。
在图55所示出的上面表格中,视频流stream #0的两组 pts —change—point和DynamicInfo ()的第一纟且的pts—change—point为90000, 而其Dynamiclnfo ()的display—aspect —ratio (图15 )为"4: 3"。第二组 的 pts—change-point 为 54, 090, 000 而其 Dynamiclnfo () 的 display—aspect—ratio为 "16: 9"。
在图55所示出的下面表格中,音频流stream #2的三组 pts —change—point和DynamicInfo ()的第一纟且的pts一change一point为90, 000 而其Dynamiclnfo ()的channel—assignment (图15)为"Dual"。第二组的 pts —change —point为27, 090, 000而其DynamicInfo ()的channel—assignment 为"Stereo,,。第三组的pts —change—point为32, 490, 000而其Dynamiclnfo () 的channel-assignment为 "Dual,'。
现在,布i定在图34所示出的步骤S125,由0xE0的stream—id识别的第 一视步页流stream#0、 由0xBD的stream—id和0x00的private_stream_id 识别的第三音频流streara#2已被决定为要从片段流文件"00003.PS"再现 的流。
在这种情况下,播放器控制模块212检查由0xE0的streatn-id识别的视 频流stream #0的图55上面表才各中所示出的两组pts—change—point和 Dynamiclnfo (),和由0xBD的stream—id和0x00的private —stream—id识另廿
的音频流stream#2的图55下面表格中所示出三组pts_change_point和 Dynamiclnfo (),并i口、另'J斗刀:^^(直。
换言之,由0xE0的stream—id识别的^L频流stream# 0的图55上面表 格中所示出的两组 pts一change一point 和 Dynamiclnf o ()的第 一组的 pts_change—point为90,000。时间90, 000与下述presentation_start-time 中描述的时间90, OOO匹配,presentation-start —time在与其中多路复用了 视频流stream# 0的片段流文件"00003.PS"对应的、图30A和图30B所示 出的片断信息文件,,00003.CLP"中表示片段流文件"00003.PS"的起始时间。
同样,由OxBD的stream—id和0x00的private—stream—id识别的音频 流stream #2的图55下面表格中所示出的三组pts—change—point和 Dynamiclnfo ()的第一组的pts—change—point为90,000。时间90,000与在 下述 presentation-start-time 中描述的时间 90,000 匹配,该 presentation-start-time在与其中多路复用了音频流stream弁2的片段流 文件"00003. PS"对应的、图30A和图30B所示出的片断信息文件"00003. CLP" 中表示片段流文件"00003.PS"的起始时间。
播放器控制模块212识别与在表示片段流文件"00003.PS"的起始时间 的presentation—start —time中描述的时间90, 000匹酉己的pts—change—point 作为初始值。因此,播放器控制模块212将在图55上面表格中所示出的两组 pts —change—point和Dynamiclnfo ()的第一纟且的pts一change一point和在图 55下面表格中所示出的三组pts—change—point和Dynamiclnfo ()的第一组的 pts—change-point i口、另U为^刀士会值。
播放器控制模块212在再现片段流文件"00003.PS"之前,在图34所示 出步骤S126 4艮据与被识别为为初始值的pts—change—point成对儿的 Dynamic Inf o ()而指定基本流的输出属性。
对于在图55上面表格中由0xE0的stream-id识别的视频流stream弁0, 与作为初始^f直的90,000的pts—change—point成7十儿的Dynamiclnfo ()的 display—aspect-ratio为"4: 3"。在这种情况下,播放器控制模块212利 用表示display—aspect —ratio为"4: 3"的信息,即关于表示浮见频 流s tream 弁0是高宽比为4:3的视频数据的输出属性的信息来控制图形处理模块219,。
对于在图 55 下面表格中由 OxBD的 stream—id和 0x00的 private —stream—id i。、别的音频流stream#2,与4乍为初始^直的90,000的
pts一change一point 成对儿的 Dynamiclnf o 0的 channel-assignment 为 "Dual"。这样,播放器控制模块212将表示channel—assignment为"Dual" 的信息,即关于表示音频流stream#2为双重音频数据的输出属性的信息供 应至音频输出模块221。
在图34所示出的步骤S126中,播放器控制模块212针对作为初始值的 p t s - change — po i n t净丸行输出属性控制处理。
其后,播放器控制模块212将作为图55上面表格中视频流stream#0 的两个pts-change — point的90, 000和54, 090, 000,和作为图55中下面表 格中音频流stream#2的三个pts — change—point时间的90, 000、27, 090, 000 和32, 490, 000的、除了初始值90, 000外的{27, 090, 000} 、 {32, 490, 000}和 {54, 090, 000}以及连同表示这些时间具有"DynamicInfo()处理"属性的信息 供应至解码控制模块214 (在步骤S320 )。
解码控制模块214从播放器控制模块212接收具有"DynamicInfo()处 理"属性的时间{27, 090, 000} 、 {32, 490, 000}和{54, 090, 000}。在启动再现 视频流stream#0和音频流stream# 2之后,解码控制模块开始检查由计时部 分214A计数的当前时间。
当当前时间与具有"DynamicInfo()处理"属性的时间{27, 090, 000}、 {32,490,000}和{54,090,000}之一匹配时,解码控制模块214将作为具有 "Dynam i c I nf o ()处理"属性的时间并与当前时间匹配的Dynam i c I nf o时间供 应至播放器控制模块212 (在步骤S321 )。
当当前时间变为例如27, 090, 000时,解码控制模块214将与当前时间匹 配并且是作为Dynamiclnfo时间具有"Dynamiclnfo ()处理"属性的时间之一 的27, 090, 000供应至播放器控制模块212。
播放器控制模块212从解码控制模块214接收作为Dynaraiclnfo时间的 27, 090, 000,从来自图55所示上面表格中的视频stream #0的两个 pts —change —point 和图 55 下面表格中的音频流stream # 2三个 pts-change—point 4企查作为Dynamiclnfo日t间与27, 090, 000匹酉己的 pts —change — point,并4巴与和27, 090, 000匹酉己的pts—change—point成只于儿 的Dynamiclnfo (), 即图55下面表格中音频流stream # 2的第二 Dynamiclnfo (),识别为目标Dynamiclnfo 0 (在步骤S322 )。
当目标Dynamiclnfo ()是视频流的Dynamiclnf o ()时,播力文器控制才莫块
212将在目标DynamicInf o 0中描述的输出属性供应至图形处理模块219 (在 步骤S323 )。当目标Dynamiclnfo ()是音频流的Dynamiclnfo ()时,播放器控 制模块212将在目标Dynamiclnfo ()中描述的输出属性供应至音频输出模块 221 (在步骤S323 )。
当图形处理模块219从播放器控制模块212接收输出属性时,图形处理 模块219根据输出属性开始控制视频数据的输出(在步骤S324 )。
换言之,图形处理模块219例如根据由从例如播放器控制模块212接收 的输出属性表示的视频数据的高宽比(display—aspect-ratio (图15))和 和连接至如图1所示出的视频输出端120的视频输出设备的高宽比,转换被 输出至视频输出模块2 2 0的视频数据的高宽比。
具体地,当视频输出设备的高宽比为例如16: 9,而由输出属性表示的视 频数据的高宽比为4: 3时,图形处理模块219在水平方向上对输出至视频输 出模块220的视频数据执行挤压(squeeze)处理、将使得视频数据左端和右端 变黑的数据置于视频数据中、并输出结果得到的视频数据。当视频输出设备 的视频数据高宽比例如为4:3,而由输出属性表示的视频数据高宽比为16:9 时,图形处理模块219在垂直方向上对输出至视频输出模块220的视频数据 执行挤压处理、将使得视频数据上端和下端变黑的数据置于视频数据中、并 输出结果得到视频数据。当视频输出设备的高宽比与作为输出属性的视频数 据的高宽比相同时,例如为4:3或者16:9,图形处理模块219将视频数据输 出至视频输出模块220而不对视频数据进行挤压处理。
利用图55上面表格中由0xE0的stream—id标识的4见频流stream#0的 两组pts—change—point和Dynamiclnfo 0 ,在作为视步贞流stream弁0再现起 始时间的时间90, 000之后以及54, 090, 000之前AU见频流stream# 0获得高 宽比为4:3的视频数据。在时间54, 090, OOO之后,从视频stream# 0获得高 宽比为16: 9的视频数据。
这样,假定连接至图1所示出的视频输出端120的视频输出设备的高宽 比为4: 3,则图形处理模块219将从视频流stream#0获得的高宽比为4: 3 的视频数据在时间90, 000之后以及时间54, 090, OOO之前供应至高宽比为4: 3 的视频输出设备。视频输出设备显示接收的视频数据。
在时间54, 090, 000之后,图形处理模块219对高宽比为垂直方向上高宽 比为16:9的视频数据执行挤压处理,并以使视频数据上端和下端变黑的数据 将高宽比为16: 9的视频数据转换为高宽比为4: 3的视频信号。所转换的视频 信号供应至视频输出设备。视频输出设备显示所转换的视频数据。
当音频输出模块221从播放器控制模块212接收输出属性时,音频输出 模块221开始根据输出属性控制音频数据的输出(在步骤S324 )。
换言之,音频输出模块221根据由从播放器控制模块212接收的输出属 性表示的音频数据的通道分配(channel—assignment (图15))和根据通过 用户利用遥控器操作的输入接口 115 (图1)从播放器控制模块212供应的输 出模式,处理从音频解码器控制模块217接收的音频数据,并将处理的音频 数据输出至音频输出端121 (图1 )。
具体地,当由输出属性表示的音频数据的通道分配为其中左通道为"主 音频"数据而右通道为"副音频"数据的双重(双语)模式时,音频输出模 块221根据从播放器控制模块212供应的音频输出模式处理从音频解码器控 制模块217供应的音频数据,并将处理的音频数据供应至音频输出端121。
换言之,如果"主声音"被指定为音频输出模式,则音频输出模块221 将从音频解码器控制模块217接收的音频数据的左通道复制为音频数据的右 通道,并将音频数据的左通道和右通道("主音频"数据)输出至音频输出端 121。如果"副音频"被指定为音频输出模式,则音频输出模块221将从音频 解码器控制模块217接收的音频数据的右通道复制为左通道,并将左通道和 右通道("副音频"数据)输出至音频输出端121。如果"主和副音频"均指 定为音频输出模式,则音频输出模块221直接将从音频解码器控制模块217 接收的输出音频数据供应至音频输出端121。
如果由输出属性表示的音频数据通道分配例如为立体声模式,则音频输 出模块221直接将从音频解码器控制模块217接收的音频数据输出至音频输 出端121,而不论指定了什么样的音频输出模式。
利用图 55 下面表格中由 OxBD 的 stream—id 和 0x00 的 private — stream—id标识的音步贞5充stream#2的三纟且pts一change —point和 Dy腿iclnfo(),在作为再现起始时间的时间90, 000之后以及27, 090, 000之 前/人音频流stream# 2获得双重音频数据。此外,在时间27, 090, 000之后时 间32, 490, 000之前/人音频stream#2获得立体声音频凄t据。此外,在时间 32, 490, OOG之后从音频流stream* 2获得双重音频数据。
这样,当"主音频"被指定为音频输出模式时,则音频输出模块221将
在时间90, 000之后以及27, 090, 000之前从音频流stream# 2获得双重音频 数据的左通道的音频数据复制为音频数据的右通道。并将音频数据的左通道 和右通道输出至音频输出端121。
将在时间27, 090, OOO之后时间32, 490, OOO之前从音频stream#2获得 立体声音频数据输出至音频输出端121。
将在时间32, 490, 000之后从音频流stream弁2获得的双重音频lt据的左 通道复制为音频数据的右通道。音频数据的左通道和右通道输出至音频输出 端121。
如上所述,在输出属性控制处理中,根据片段信息文件Clip()(图12), 确定正在再现的基本流的再现时间是否与pts—change-point匹配,片革殳信息 文件Clip 0包括n组的表示在片段流文件中多路复用的每个基本流的再现时 间的pts—change —point和表示每个基本流的输出属性的DynamicInfoO (其 中n为0或者更大的任何整数)。当正在再现的基本流再现时间与 pts — change-point匹酉己时,i口、另'J与pts—change-point成只于的Dynamiclnfo ()。 根据在DynamicInfoO中描述的输出属性控制正在再现的基本流的输出。这 样,可根据基本流的再现时间和输出属性控制基本流的输出。
接下来,参考图56所示出的流程图,将描述控制对应于字幕流的字幕数 据的显示的字幕显示控制处理。
当启动PlayList()的再现时,播放器控制模块212在步骤S341初始化 图形处理模块219的字幕数据显示模式。换言之,播放器控制模块212控制 图形处理模块219以将字幕数据显示模式改变为默认显示模式。在步骤S341 执行的显示模式初始化对应于在图34所示的步骤S127所执行的显示模式初 始化。
经过步骤S341之后,流程继续到步骤S342。在步骤S342,播放器控制 模块212确定用户是否通过遥控器将新的字幕数据显示模式命令输入至输入 接口 115。
当在步骤S343确定的结果表示已经输入新的显示模式命令时,流程继续 到步骤S343。在步骤S343,播放器控制模块212确定是否正在再现字幕流。 当在步骤S343确定的结果表示没有正在再现字幕流时,流程返回到步骤
S342。
相反,当在步骤S343确定的结果表示正在再现字幕流时,流程继续到步 骤S345。在步骤S345,播放器控制模块212确定新的显示模式命令是否是默 认的显示模式命令。当在步骤S343确定的结果表示新显示模式命令为默认显 示模式命令时,流程返回到步骤S341。在步骤S341,如上所述,播放器控制 模块212控制图形处理模块219将字幕数据显示模式改变为默认显示模式。
相反,当在步骤S345确定的结果表示新显示模式命令不是默认的显示模 式命令时,即新显示模式是非默认显示模式命令例如是字幕数据放大命令、 字幕数据缩小命令或者亮度提高命令时,流程继续到步骤S346。在步骤S346, 播放器控制模块212获得与其中多路复用了正在再现的字幕流的片段流文件 对应的片段信息文件Clip()(图12)的Staticlnfo()(图14 )的作为正在 再现的字幕流的Staticlnfo()。其后,流程继续到步骤S347。
在步骤S347,播放器控制模块212确定在步骤S346获得的StaticInfo 0 的configurable—flag。
当在步骤S347所确定的结果表示configurable—flag为0时,其表示不 允许改变字幕数据显示模式,流程继续到步骤S348。在步骤S348,播放器控 制模块212控制图形处理模块219以将表示不能改变字幕数据显示模式的消 息覆盖(overlay)输出视频数据。其后,流程返回到步骤S342。在步骤S342, 显示错误信息。
相反,当在步骤S347确定的结果表示configurable-flag为1时,其表 示允许改变字幕数据显示模式,流程继续到步骤S349。在步骤S349,播放器 控制模块212将从遥控器由用户通过输入接口 115输入的新显示模式命令供 应至图形处理模块219。其后,流程继续到步骤S350。
在步骤S350,图形处理模块219根据在步骤S349从播放器控制模块212 供应的显示模式命令,对于从字幕解码器控制模块218供应的字幕数据,启动 执行放大处理、缩小过程或者亮度改变处理。其后,流程返回到步骤S342。 这样,根据由用户通过遥控器输入的显示模式命令,以显示大小、在显示位 置、或者以显示颜色来显示字幕数据。
相反,当在步骤S342确定的结果表示没有输入新的显示模式命令时,流 程继续到步骤S351。在步骤S351,播放器控制模块212确定Playltem()是 否如图40所述被改变。当在步骤S342确定的结果表示Playltem()不曾被改 变时,流程返回到步骤S342。
相反,当在步骤S351确定的结果表示Playltem()曾被改变时,流程返 回到步骤S341。在步骤S341,如上所述,播放器控制模块212控制图形处理 模块219将字幕数据显示模式改变为默认显示模式。换言之,当Playltem() 曾被改变时,字幕数据显示模式恢复到默认显示模式。
如上所述,仅仅当字幕流的configurable—flag为1时,其表示允许改 变显示模式,可对应于由用户通过遥控器输入的显示模式命令而改变字幕流 的字幕数据显示模式。
这样,例如在图30A和30B所示出的片段信息文件"00001.CLP"中,因 为作为在片段流文件"00001.PS"中多路复用的四个基本流的第三基本流的 字幕流stream# 2的configurable—flag为0,其表示不允许改变显示模式, 所以当正在再现字幕流stream#2时,即使用户操作遥控器以改变字幕显示 模式,显示模式也不变。
相反,因为作为在片段流文件"00001.PS"中多路复用的四个基本流的 第四基本流的字幕流stream#3的configurable—flag为1,其表示允许改 变显示模式,所以当正在再现字幕流stream#3时,当用户操作遥控器以改 变字幕显示模式时,字幕的显示大小改变。
现在,假定正在根据图29所示出第一 PlayList#l的第一 Playltem# 1 再现片段流文件"00001.PS"。此外,在图30A和30B中所描述的片段信息文 件"00001.CLP"中,假定在片段流文件"00001.PS"中多路复用的四个基本 流的第三和第四基本流为字幕流,并且第三和第四字幕流stream#2和 stream # 3的第三字幕流stream# 2正被再现。
当用户操作遥控器以输入字幕显示模式命令(在步骤S342 )时,显示模 式命令被从输入接口 115 (图1)供应至播放器控制模块212。当播放器控制 模块212接收显示模式命令时,播放器控制模块212在片段信息文件中搜索 对应于正在再现字幕流的staticlnfo()(图12)(在步骤S346 )。
换言之,正在再现的字幕流为在片段流文件"00001.PS"中多路复用的 第三字幕流streara#2。播放器控制模块212在相应的片段信息文件 "00001. CLP"中搜索第三字幕流stream#2的Staticlnfo ()。
此外,播放器控制模块212确定在图30A和图30B中所示出的第三字幕 流stream#2的Stat iclnf o ()中描述的configurable—flag,其为0 (在步 骤S347 )。因此,播放器控制模块212识别出不允许改变第三字幕流stream
#2的显示模式。
在这种情况下,播放器控制模块212确定正在再现的字幕流与放大和缩
小模式不对应,并控制图形处理模块219以产生相应的错误信息(在步骤 S348 )、以错误信息覆盖视频数据,并输出覆盖的视频数据。
当正在再现在片段流文件"00001. PS"中多路复用的四个基本流的第三 和第四字幕流stream# 2和stream# 3中的第四字幕流stream# 3时,当播 放器控制模块212接收由用户通过遥控器输入的显示模式命令时,播放器控 制模块212搜索在相应的片段信息文件"00001. CLP"中搜索第四字幕流 stream# 3的Staticlnfo ()。
播放器控制模块212确定在图30A和图30B中所示出第四字幕流stream # 3的Staticlnfo ()中描述的configurable —flag,其为1 (在步骤S347 )。 因此,播放器控制模块212识别出允许第四字幕流stream# 3的显示模式改 变。
在这种情况下,播放器控制模块212确定正在再现的字幕流与放大和缩 小模式对应,并将用户通过遥控器输入的显示模式命令供应至图形处理模块 219 (在步骤S349 )。
因此,图形处理模块219根据从播放器控制模块212接收的显示模式命 令,例如放大或缩小从字幕解码器控制模块218接收的字幕数据、以结果得 到的字幕数据覆盖从视频解码器控制模块212供应的视频数据、并输出覆盖 的视频数据。
当播放器控制模块212开始再现PlayList ()的第一 Playltem()时,播放 器控制模块212初始化图形处理模块219的字幕数据显示模式(在步骤S341 )。 换言之,播放器控制模块212控制图形处理模块219以将字幕数据显示模式 改变为默认显示模式。
当改变Playltem()时,播放器控制模块212初始化图形处理模块219的 字幕数据显示模式(在步骤S341和步骤S351 )。
当改变Playltem()时,播放器控制模块212针对根据新再现的Playltem() 4寺再现的新字幕流4企查configurable一flag。当configurable — flag为0时, 播放器控制模块212初始化图形处理模块219的字幕数据显示模式。当 configurable-flag为1时,播放器控制模块212使图形处理模块219保持 Playltem ()没有被改变的显示模式。
在图56所示出的字幕显示控制处理中,当用户通过遥控器输入新的显示
模式命令时,新的显示模式命令被供应至图形处理模块219 (在步骤S349 )。 显示模式命令可以例如被存储在组成存储器113(图1 )的非易失性存储器中。 存储在非易失性存储器中的显示模式命令可供应至图形处理模块219。
在用户设置的显示模式命令作为图1所示的盘再现装置的初始设置而存 储在非易失性存储器中的情况下,当他或她以遥控器输入新的显示模式命令 时,可以以新显示模式命令替换存储在非易失性存储器中的显示模式命令, 并可以将存储在非易失性存储器中的新显示模式命令供应至图形处理模块 219。在这种情况下,因为非易失性存储器中存储在上次再现完成时设置的显 示模式命令,当再现下一个PlayList()时,以该显示模式命令再现字幕数据 而不必通过遥控器输入显示命令。
在这种情况下,假定存储在非易失性存储器中的显示模式命令包括例如 放大或者缩小字幕流的放大率或者缩小率。
如上所述,在字幕显示控制处理中,根据当正在再现包含在片断信息文 件clip()中的基本流时不改变的字幕数据的Staticlnfo()中所包括的、表示 是否允许从默认显示模式改变显示模式的configurable_flag而确定是否允 许从默认的显示模式改变字幕数据显示模式。当允许正在再现的字幕数据默 认显示模式改变时,执行显示处理例如放大处理、缩小处理或者颜色改变处 理。因此,可控制字幕数据显示模式。
接下来,参考图57所示出的流程图,将描述控制俘获对应于视频流的视 频数据的俘获控制处理。图57还示出描述二次使用在俘获控制处理中所俘获 的视频数据的背景/屏幕保护处理的流程图。
当用户从遥控器通过输入接口 115 (图1 )向播放器控制模块212输入视 频数据俘获命令时,启动俘获控制处理。
换言之,在俘获控制处理中,在步骤S371,播放器控制模块212确定是 否正在再现-现频流。当在步骤S371确定的结果表示没有正在显示^L频流时, 播放器控制模块212完成俘获控制处理。
相反,当在步骤S371确定的结果表示正在再现视频流时,流程继续到步
骤S372。播放器控制模块212从对应于正在再现的视频流的PlayList()(图 7)获4寻capture-enable—flag—PlayList,以及/人只于应于正在再J见的^L频;危
的片段信息文件Clip()(图12)获得capture—enable —flag_Clip。
如图7所述,PlayList ()的capture—enable — flag—PlayList表示是否允 许二次使用对应于根据PlayList ()再现的视频流的视频数据。另一方面,如 图12所示,片段信息文件Clip ()的capture-enable—f lag—Clip表示是否允 许二次使用与存储在对应于片段信息文件CI ip ()的片段流文件中的视频流对 应的视频数据。
在步骤S372之后,流程继续到步骤S373。在步骤S373,播放器控制模 块212根据在步骤S373获得的capture_enable_flag—PlayList和 capture_enable_f lag—Clip,确定当从输入接口 115 (图1 )输入俘获命令时 正在再现的视频数据图像是否允许被俘获。
当在步骤S 3 7 3确定的结果表示当从输入接口 115输入俘获命令时正在再 现的视频数据图像不允许被俘获时,即在步骤S373获得的 capture —enable—flag—PlayUst禾口 capture—enable — flag—CI ip的至少一个 为0,其表示不允许二次使用视频数据时,流程继续到步骤S 374 。在步骤S 37 4, 播放器控制模块212控制图形处理模块219以表示不允许俘获视频数据的错 误消息覆盖视频数据,和完成俘获控制处理。结果,显示该错误消息。
相反,当在步骤S373确定的结果表示允许俘获当从输入接口 115输入俘 获命令时正在再现的视频数据图像时,即在步骤S373获得的 capture — enable_f lag_PlayList和capture—enable — flag—CI ip都为1,其表 示允许二次使用视频数据时,流程继续到步骤S375。在步骤S375,播放器控 制模块212将针对当从输入接口 115输入俘获命令时正在再现的视频数据的 俘获命令供应至图形处理模块219。其后,流程继续到步骤S376。
在步骤S376,图形处理模块219根据从播放器控制模块212接收的俘获 命令,从视频解码器控制模块216俘获视频数据图像,将图像存储存储器113 (图1)中,并完成俘获控制处理。当capture—enable — flag由多位组成并 且限制其使用条件时,这时,执行相应的操作。换言之,当限制俘获图像的 大小时,俘获尺寸被缩小的图像。当限制使用的应用程序时,还记录表示此 限制的标记。
如上所述,在俘获控制处理中,对PlayList()(图7)和对应于当用户 输入俘获命令时正在再现视频流的片段信息文件Clip()(图12)的 capture — enable—flag—PlayList和capture—enable—f lag-Cl ip进行与(AND)
操作。当与操作结果为1时,即所有的capture —enable —flag—PlayList和 capture—enable—flag—Clip都为1时,其表示允许二次-使用碎见频数据,确定 可二次使用视频数据。因此,俘获视频数据。
当对应于图29所示出的第一 PlayList#0的第一 Playltem# 0再现视频 流时,即正在再现在片段流文件"00001.PS"中多路复用的视频流时,如果 用户输入俘获命令,则因为第一 PlayList # 0 的 capture—enable—flag—PlayList为1而且对应于由第一 Playltem# 0再现的 片段流文件"00001. PS"的、在图30A和图30B所示出的片段信息文件 "00001. CLP"的capture — enable—flag—Clip为1,所以确定能够二次使用 正在再现的一见频数据(对应于在片段流文件"00001.PS"中多路复用的视频 流的视频数据)并俘获视频数据。
当#^居图29所示出第一 PlayList # 0的第二 Playltem# 1正在再现^L频 流时,即正在再现在片段流文件"00002.PS"中多路复用的视频流时,当用 户输入俘获命令时,因为第一 PlayList # 0 的 capture—enable—flag-PlayList为1而对应于根据第二 Playltem# 1再现的 片段流文件"00002.PS"的、图30A和图30B所示出的片段信息文件 "00002. CLP"的capture_enable_f lag-Clip为0,所以确定不能够二次使 用正在再现的视频数据(对应于在片段流文件"00002.PS"中多路复用的视 频流的视频数据)而不俘获视频数据。
当根据图29所示出的第二 PlayList #1的Playltem并0正在再现视频流 时,即正在再现在片段流文件"00003.PS"中多路复用的视频流时,当用户 输入俘获命令时,因为第二 PlayList #1的capture—enable—flag—PlayList 为0而且与相应于第二 PlayList #1的PlayItem#0所再现的片段流文件 "00003. PS"对应的片段信息文件"00003. CLP,,的capture—enable—flag—CI ip 为1,所以确定不允许二次使用正在再现的视频数据(对应于在片段流文件 "00003.PS"中多路复用的视频流的视频数据)。因此不俘获视频数据。
在这种情况下,当检查了第二 PlayList # 1 的 capture_enable_f lag—PlayList为0时,可确定不允i午二次4吏用^L频凄史才居。 因此,可省略斗企查图30A和图30B所示出的与对应于第二 PlayList #1的 Playltem#0所再现的片段流文件"00003.PS"对应的片段信息文件 "00003. CLP"的capture—enable—flag-Clip。
可在背景/屏幕保护处理中二次使用在俘获控制处理中俘获并存储在存 储器112中的图像。
例如当正在操作播放器控制模块212但是没有正在再现基本流,即盘101
没有插入盘驱动102 (图1)中或者已经再现了基本流时执行背景/屏幕保护处理。
在背景/屏幕保护处理中,在步骤S380,播放器控制模块212控制图形 处理模块219以显示在俘获控制处理中存储在存储器113中的图像。图像处 理模块219在播放器控制模块212的控制下显示在俘获控制处理中存储在存 储器113中的图像。
当图形处理模块219将存储器113中的图像显示为静态图像时,完成所 谓的墙纸。当正在放大、缩小和以预定间隔移动其时显示图像,完成屏幕保 护。可由另一个独立应用程序而非播放器控制模块212执行显示在俘获控制 处理中存储在存储器113中的图像的背景/屏幕保护处理。
当表示限制的标记被添加至存储在存储器133中的图像时,根据此标记 限制显示的图像。
如上所述,对应于例如比视频访问单元大的PlayList ()或者Playltem() 获得表示是否允许二次使用正在再现视频数据的 capture—enable—flag—PlayList 和 capture—enable—flag_Clip 。 根据 capture—enable —flag—PlayList和capture—enable—flag_Clip,确定是否允 许二次使用正在再现的视频数据。当所确定的结果表示允许二次使用正在再 现的视频数据时,俘获正在再现的视频数据,并执行采用所俘获视频数据的 背景/屏幕保护处理。这样,可控制视频数据的二次使用。
在图57所示出的俘获控制处理中,PlayList 0 (图7)包括 capture—enable_f lag—PlayList,而对应于才艮据Playltem()再现的片段流文 件的片段信息文件Clip()(图12)包括capture_enable_flag—Clip。利用 capture—enable—flag—PlayList和capture—enable_flag—CIip两者,确定 是否允许二次使用视频数据。可选择地,当PlayList()(图7)包括 capture—enable_flag-PlayList或者对应于根据Playltem()再现的片孚殳流 文件的片段信息文件Clip()(图12)包括capture—enable —flag—Clip,即 利用capture—enable—flag陽PlayList或者capture—enable—flag—CIip, 可 确定是否允许二次使用视频数据。
在图57所示出的俘获控制处理中,在步骤S376,图形处理模块219根 据从播放器控制模块212接收的俘获命令,从视频控制模块216俘获视频数 据,即仅仅一个图像。可选择地,图形处理模块219可俘获多个图像。换言 之,可俘获视频解码器控制模块216按时间序列输出的多个图像。在这种情 况下,可以预先指定 一 次俘获的图像数。可选择地,可扩展 capture_enable_flag_PlayList和capture_enable_flag_Clip的位,用于 表示一次俘获图像数的信息。
在上述情况中,在PlayList 0和片段信息文件Cl ip ()中描述表示是否允 许二次使用的^f吏用允许信息,即capture—enable—flag-PlayList和 capture-enable-flag-Clip。利用该使用允许信息,确定是否允许二次使用 根据PlayList()再现的所有视频数据和与对应于片段信息文件Clip()的片 段流文件中多路复用的视频流对应的所有视频数据。使用允许信息可描述任 何单位的视频数据。借助使用允许信息,可确定是否允许二次使用任何单位 中的视频数据。
换言之,图58示出包括使用允许信息的private_stream2—PES_payload() 的语法。图59示出包括使用允许信息的au-information()语法。
图58所示出的private-stream2-PES—payload()与图26所示出的相同, 只是video-stream-id就在作为使用允许信息的capture — enable—flag—ps2 之后。同样,图59所示出的au—information()与图27所示出的相同,只是 pic — struct —copy就在作为使用允许信息的capture一enable-f lag一AU之后。
在图 58所示出的private—stream2_PES-payload()中所包括的 capture_enable_flag-ps2 表示是否允i午二次4吏用在包才舌 private_stream2—PES—payload 0的private —stream—2的PES—packet 0之后 在下一个private—stream—2的PES—packet ()之前的视频流的视频数据。因 此,借助在图58所示出的private_stream2_PES-payload()中所包括的 capture-enable-flag-ps2可确定是否允许二次使用在特定解码可起始点之 后在下一个解码可起始点之前的视频数据。
此夕卜,在图 59 所示出的 au—information()中包括的 capture-enable_flag-AU 表示是否允i午二次4吏用7十应于 capture—enable—flag—AU的视频访问单元的视频数据。因此,借助在图59 所示出的au—information()中包括的capture一enable一flag — AU,可确定是否允许二次使用每个视频访问单元即单个图像的视频数据。
作为 PlayList()(图 7 ) 的使用允许信息的 capture-enable-flag—PlayList、作为片萃更信息文件Clip ()(图12)的使用 允 许 信 息 的 capture—enable一f lag—Cl ip 、 作 为 private-Stream2_PES-payload()(图 58 ) 的4吏用允许信息的 capture—enable-f lag-ps2、作为au-information ()(图59 )的使用访问信 息的capture_enable-flag-AU中的至少两个可被冗余使用。这样,利用其中 对冗余使用的至少两种类型使用允许信息进行与操作的结果,可确定是否允 许二次使用^L频数据图像。
如图45所示出的步骤S211所述,緩冲器控制模块215(图5)的视频读 取功能部分233在存储在緩冲器215A中的节目流中搜索包括图26或者图58 所示出 的包 4舌图 59 所示出 au—information () 的 private一stream2 — PES-payload 0的private—stream_2的PES—packet 0 。 这 样,当4吏用图 58 所示出的包4舌capture—enable-flag-ps2 的 private —stream2—PES—payload() 以及图 59 所示出的包括「 capture—enable—flag—AU的au—information 0时,〗番》文器控制才莫块212需要 向朝L频读取功能部分 233 问询 capture—enable-f lag-ps2 和 capture—enable—flag—AU以确定是否允许二次4吏用^L频凝:据。
接下来,参考图60,将描述盘解码装置的硬件结构。
图60所示出的盘记录装置可用于例如盘播放器、游戏设备、汽车导航系 统等等。
在图60所示出的盘记录装置种,盘410例如是光盘如DVD、磁光盘或者 磁盘。盘410可记录内容数据例如视频数据、音频数据和字幕数据。此外, 盘410可记录内容数据。当各种数据记录在盘410上时,其可用作图l所示 出的盘101。
视频输入端400A连接至视频输入单元例如图像俘获设备(未示出)。视 频输入端4GQA将从视频输入单元供应的视频数据供应至视频输入接口 401。 音频输入端400B连接至音频输入单元例如麦克风和扩音器(未示出)。音频 输入端4QQB将输入的音频数据供应至音频输入接口 402。
视频输入接口 401对输入的视频数据执行期望的处理并将结果得到的视 频数据通过总线411供应至视频编码器403。音频输入接口 402对输入的音
频数据执行期望的处理并将结果得到的音频数据通过总线411供应至音频编 码器404。
视频编码器403对从CPU 405和视频输入接口 401供应的视频数据编码, 并使盘驱动409通过总线411将结果得到的压缩编码数据(编码视频数据, 例如MPEG2视频流)记录在盘410上。
音频编码器404对从CPU 405和音频输入接口 402供应的音频数据编码, 并使盘驱动409通过总线411将结果得到压缩编码数据(编码音频数据,例 如MPEG2音频流)记录在盘410上。
CPU 405和存储器406组成计算机系统。换言之,CPU 405执行存储在存 储器406中的程序、控制整个盘记录装置并执行将在后面描述的各种处理。 存储器406存储CPU 405执行的程序。'此外,存储器406临时存储CPU 405 需要操作的数据。存储器406可仅仅由非易失性存储器或者易失性存储器和 非易失性存储器的组合组成。当图60中所示出的盘记录装置具有记录CPU 405 执行的程序的硬盘以及程序被记录(安装)在该硬盘中时,存储器406可仅 仅由易失性存储器组成。
CPU 405执行的程序可预先存储在作为内置于盘记录装置中的记录介质 的存储器406。
可替换地,程序可临时或者永久记录在盘驱动409、与盘驱动409不同 的软盘上或者可拆卸记录介质,如CD-ROM (压缩磁盘-只读存储器)、MO (磁 光)盘、磁盘或者存储卡上。这样的可拆卸记录介质可作为所谓的软件包提 供。
此外,程序可预先存储在存储器406中。可选择地,此程序可从这样的 可拆卸记录介质安装至盘记录装置。可选择地,程序可无线地^v下载站点通 过用于数字广播的卫星传送至盘记录装置。可选择地,程序可通过网络例如 LAN (局域网)或者因特网由线缆传送至盘记录装置。盘记录装置可以通过 输入接口 408接收程序并将程序安装至内置存储器406。
此外,可由一个CPU执行程序。可选择地,可由多个CPU分布式地执 行程序。
驱动接口 407在CPU405的控制下控制盘驱动409。因此,驱动接口 407 将从CPU 405、存储器406、视频编码器403和音频编码器404供应的lt据通 过总线411供应至盘驱动409,并使盘驱动409将此数据记录在盘410上。
可选择地,驱动接口 407从盘410读取数据并将此数据通过总线411供应至 CPU 405和存储器406。
输入接口 408根据用户的按键(按钮)操作和远程指挥者(远程控制命 令器)接收信号,并通过总线411将信号供应至CPU 405。此外,输入接口 408还用作例如调制解调器(包括ADSL (非对称数字用户线)调制解调器)、 NIC (网络接口卡)的通信接口 。
可通过线缆或者无线地分别从视频输入单元和音频输入单元供应视频数 据和音频数据。
盘410可安装至盘驱动409以及从盘驱动409卸载。盘驱动409具有内 置接口 (未示出)。盘驱动409通过接口连接至磁盘接口 407。盘驱动409根 据例如从驱动接口 407接收的记录命令驱动安装的盘410并执行例如盘410 上数据的记录处理。
必要时,记录在盘410上的数据(记录数据)包括计算机可执行的程序。 在此实施例中,作为记录介质,釆用作为盘形记录介质的盘410。可替换地, 作为记录介质,采用半导体存储器或者带形记录介质。
连接至总线411的为CPU (中央处理单元)405、存储器406、驱动接口 407、输入接口 408、视频编码器403、音频编码器404、视频输出接口 401 和音频输出接口 402。
接下来,参考图61,将描述具体化根据本发明的数据编码方法的盘记录 装置实现的功能。在此附图中所描述的盘记录装置实现的功能中,音频编码 器404压缩编码通过音频输入端400B和音频输入接口 402输入的音频信号, 并输出结果得到的信号至多路复用单元421 。
视频编码器403压缩编码通过视频输入端400A和视频输入接口 401输 入的视频信号,并输出结果得到的信号至多路复用单元421 。
多路复用单元421如图18A和图18B到图27所示,分包(packetize)输入 的MPEG2视频流和输入的MPEG2音频流,并在分时基础上将它们多路复用。 多路复用单元421从流中选择内图像,并将图26所示出的private—stream_2 的PESjacket()以大约每秒两次的频率插入内图像。
多路复用单元421将多路复用流通过FIFO 422输出至RAPI重写单元 424,还输出至RAPI信息提取单元423。 RAPI信息提取单元423检测来自多 路复用流的视频流的private_stream_2的PESjiacket()的起始位置,就在
private—stream—2的PESjacket()之后的内图像的时间戳(PTS )值,以及内图 像、内图像之后的第二、第三和第四参考图像的终止位置,并存储它们。 在这种情况下,RAPI表示private—stream—2的PES_packet()。 RAPI信息提取单元423将所检测的内图像和内图像之后的第二、第三和 第四参考图像的终止位置输出至RAPI重写单元424。 RAPI重写单元424覆 盖(overwrite)图26所示出作为RAPI信息的第一 Ref_picture 、第二 Ref_picture 、 第三Refjicture和第四Refjicture的字段,将顶部、第二、第三和第四参考 图像的终止位置记录为以扇区单位的数值,并将其存储在输出服务器426中。 在完成针对所有的多路复用流的处理之后,控制器425获得由RAPI信 息提取单元423提取和存储并在多路复用流中多路复用的所有RAPI的起始 位置、以及就在每个RAPI后的内图像的终止位置以及在内图像之后的第二、 第三和第四参考图像的终止位置。
控制器425利用该输入信息产生参考图16所描述的EP—map()。 控制器425利用每个RAPI的地址、就在每个RAPI之后的内图像的PTS、 以及内图像和在内图像之后的第二、第三和第四图像的终止位置的其中一个, 产生片段信息文件的EP—map(),并将EP—map()存储至输出服务器426。 接下来,参考图62所示出的流程图,将描述EP—map()产生处理。 在步骤S381,纟见频编码器403压缩编码通过^见频输入端400A和视频输 入接口 401输入的视频信号,并将结果得到的信号输出至多路复用单元421。 音频编码器404压缩编码通过音频输入端400B和音频输入接口 402输入的音 频信号,并将结果得到的信号输出至多路复用单元421。在这种情况下,从 音频编码器404输出的流为MPEG2音频流。同样,从4见频编码器403输出 的流为MPEG2纟见频流。
在步骤S382,多路复用单元421如图18A和图18B到图27所示分包输 入的MPEG2一见频流和输入的MPEG2音频流,并在分时基础上对其多路复用 (分包)、从流中选4奪内图像、并将图26所示出的private—stream—2的 PES_packet()以大约每秒两次的频率插入其中。此实例中,private—stream—2 的PESjacket()表示其接下来是不必参考另 一帧图像即可解码的视频的内图 像。这时,内图像通常具有时间戳(PTS/DTS)。
这时,在参考图26所描述的第一 Ref_picture、第二 Ref_picture、第三 Reflpicture和第四Refj)icture字段中没有记录数据。此外,可将字幕流(未
示出)输入至多路复用单元421,从而其与视频流和音频流多路复用。
在步骤S383 ,多路复用单元421将多路复用流通过FIFO 422输出至RAPI 重写单元424,还输出至RAPI信息提取单元423。 RAPI信息提取单元423 才全测private—stream—2的PESj)acket()的起始4立置,章尤在private—stream—2的 PESjacket()之后的内图像的时间戳(PTS )值,和来自多路复用流的视频流 的内图像、在内图像之后的第二、第三和第四参考图像的终止位置,并存储 这些值。
此外,RAPI信息提取单元423将所检测的内图像和在内图像之后的第 二、第三和第四参考图像的终止位置输出至RAPI重写单元424。 RAPI重写 单元424覆盖图26所示出作为RAPI信息的第一 Ref_picture、第二 Ref_picture 、第三Ref_picture和第四Ref_picture的字段,将顶部、第二 、第 三和第四参考图像的终止位置记录为以扇区为单位的数值,并将其存储在输 出服务器426中。
在步骤S385,将在RAPI信息提取单元423中提取和存储并被多路复用 成多路复用流的RAPI的起始位置、就在每个RAPI之后的内图像的终止位置 以及在内图像之后的第二、第三和第四参考图像的终止位置输入控制器425。
控制器425利用该输入信息产生参考图16所描述的EP—map()。在此实 例中,假定EP—map()包括仅视频流的信息。视频的EP—map()表示流中所有 RAPI的位置,即所有private—stream—2的PESjacket()的位置。此信息是利 用从RAPI信息提取单元423输入至控制器425的信息产生的。
更更具体地,控制器425利用每个RAPI的地址、就在每个RAPI之后的 内图像的PTS、以及内图像和在内图像之后的第二、第三和第四图像的终止 位置的其中一个产生片段信息文件的EP_map(),并将EP—map()存储至输出服 务器426。换言之,控制器425将四个参考图像(第一 Ref_picture、第二 Ref_picture、第三Ref_picture和第四Ref_picture )的终止位置的接近于预定 扇区计数(在编码处理中可 一 次读取的扇区数)的值复制到 N-th—Ref_picture—copy 。
在步骤S386,控制器425基于N-th—Ref_picture—c叩y确定index_minusl 并将其记录在盘410上。在此实例中,将存储在输出服务器426中的流数据 和凄t据库文件通过驱动接口 407供应至盘驱动409并记录在盘410上。
在上述处理中,如图31所示产生EP_map()。
接下来,参考图63,将描述采用图31中所示出的EP—map()的快进再现 处理。假定用户(未示出)向视频内容再现程序210发出快进命令。播放器 控制模块212从正在再现的流的片段信息文件选择记录在EP一map()中的再现 可起始位置之一 (在步骤S391 ),并从在EP—map中描述的RPN—EP_start确 定N-th—Ref_picture—copy大小的待读取数据(在步骤S393 )。播放器控制模 块212通知内容数据供应模块213此信息并命令解码控制模块214执行快进 再现。
利用操作系统201的功能,内容数据供应模块213读取包括其中多路复 用了待再现基本流的节目流的片段流文件,并将片段流文件供应至緩沖器控 制模块215 (在步骤S393)。因为已经指定文件名等,所以不再指定。和启动 再现的情况不同,发出具有读取起始地址以及待传送数据大小的读取命令。
视频读取功能部分233将输入至緩沖器控制模块215的多路复用数据解 多路复用(在步骤S394 ),并仅仅将视频流供应至视频解码器控制模块216。 在这种情况下,因为执行快进再现处理,所以音频解码器控制模块217、字 幕解码器控制模块218、音频读取功能部分234、和字幕读取功能部分233不 运行。
输入数据包括一个参考图像或者四个或更少参考图像。在快进再现处理 中,仅仅基于在参考图64所示流程图描述的项目点(entry point)选择处理选择 的项目点解码和显示参考图像(在步骤S395 )。但是,index—N_minusl被发 送至解码控制模块214。因此,解码控制模块214解码指定数量的参考图像、 将解码的图像发送至下游部分、并使其显示参考图像(在步骤S396)。
在显示参考图像之后,播放器控制模块212选择接下来显示的EP—map() 的项目点、重复上述过处理、并以快进再现模式输出待再现的图像(在步骤 S397 )。
当选择待再现的EP一map()中的跳转目标的项目点时,采用 index—N—minus 1。接下来,将描述这种情况下采用index—N—minus 1的方法。 如前面所述,在读取N—th—Ref_picture—copy后,index—N—minus 1表示数据中 包括的参考图像数。在图31所示出的数据实例中,因为第一和第三项目点的 每个的index—N—minus 1为0 ,所以内图像数为 一 。因为第二和第四项目点的
每个的index—N_minusl为3,所以包括了四帧参考图像。
当输出两个或更多参考图像时,在快进再现模式下再现的图像的主观质 量倾向于改进。但是为输出多帧参考图像,有必要提高待读取数据的数量。 因此,更新频率变低。换言之,存在其间的折中关系。因此,当播放器控制 模块212选择接下来待再现的EP—map()中的项目点时,播放器控制模块212 评估index_N—minus 1的值。
换言之,当快进再现速度较高时,尽管EP—map()中项目点的稀疏(thin-out) 的间隔变大,但是优选选取index—N一minusl较大(即高主观图像质量)的项 目点。相反,当快进再现速度较低时,选取index一N一minusl较小的项目点。
在上述index—N—minus 1确定算法中,选择N - th_Ref_picture—copy接近 于"30"的项目点。换言之,在以如此算法产生的EP—map()中,当根据N-th—Ref_picture—copy读取数据时,读取数据量变为接近于"30"个扇区。当数 据读取速度为主要时,重要的是读取时间恒定。因此,采用这样的项目点(entiy point)选择方法有效。
接下来,参考图64中所示出的流程图,将描述快进再现冲莫式的项目点选 择处理。
在步骤S401,播放器控制模块212确定快进再现模式是高速模式还是低 速模式。当所确定结果表示快进再现模式是高速模式时,流程继续到步骤 S402。相反,当所确定结果表示快进再现模式是低速模式时,流程继续到步 骤S411。
<低速快进再现选择描述>
在步骤S402,因为快进再现模式是低速模式,播放器控制模块212将待 选择的项目点编号(当前项目(N))从上一项目加2 (项目编号+ = 2)。在步 骤S403,播放器控制模块212从当前项目N、早一个点的项目(N-l)和晚 一个点的项目(N+l )读取index_N—minus 1 。
在步骤S404,播放器控制模块212确定index—N—minus(N)的值,即第N 个项目点的index—N—minus 1的值为0还是1。当在步骤S404的 index—N—minus 1值为0或者1时,流程继续到步骤S405。在步骤S405,播 放器控制模块212选择第N个项目点并完成此处理。相反,当在步骤S404 的index—N_minusl值既非0又非1时,流程继续到步骤S406。
在步骤S406,播放器控制模块212确定index—N—minus(N+l)的值,即第(N+l)个项目点的index_N—minusl的值为0还是1。当在步骤S406的 index—N—minus(N+l)值为0或者1时,流程继续到步骤S407。在步骤S407, 播放器控制模块212选择第(N+l)个项目点并完成此处理。相反,当在步 骤S406的index_N—minus (N+l)值既非0又非1时,流程继续到步骤S408。
在步骤S408,播放器控制模块212确定index—N_minus(N - l)的值,即 第(N- 1)个项目点的index—N—minusl的值为0还是1。当在步骤S408的 index—N—minusl值为0或者1时,流程继续到步骤S409。在步骤S409,播 放器控制模块212选择第(N-l)个项目点并完成此处理。相反,当在步骤 S408的index—N—minusl值既非0又非1时,流程继续到步骤S410。
因为显然所有项目点N、 (N+l) 、 (N-1)的index—N_minusl值既非0又非 1,所以在步骤S410,播放器控制模块212选择第N个项目点并完成此处理。
<高速快进再现选择描述>
因为在步骤S411快进再现模式是高速模式,所以播放器控制模块212 将待选择项目(当前项目)点编号(N)从上一项目点加5(相关项目编号+ = 5 )。 在步骤S412,播放器控制模块212从当前项目N、早一个点的项目(N-l) 和晚一个点的项目(N+l )读取index—N_minusl 。
在步骤S413,播放器控制模块212确定index—N—minus(N)的值即第N 个项目点的index—N—minusl的值为3还是2。当在步骤S413的第N个项目 index—N_minusl值为3或者2时,流程继续到步骤S414。在步骤S414,播 放器控制模块212选择第N个项目点并完成此处理。相反,当在步骤S413 的第N个项目index—N—minusl值既非3又非2时,流程继续到步骤S415。
在步骤S415,播放器控制模块212确定index—^Oninus(N+l)的值即第 (N+l)个项目点的index_N—minusl的值为3还是2。当在步骤S415的第 (N+l )个项目点index—N_minus值为3或者2时,流程继续到步骤S416。 在步骤S416,播放器控制模块212选择第(N+l)个项目点并完成此处理。 相反,当在步骤S415的第(N+l )个项目点index_N—minusl值既非3又非2 时,流程继续到步骤S417。
在步骤S417,播放器控制模块212确定index—N—minus(N - l)的值即第 (N - 1 )个项目点的index—N—minusl的值为3还是2。当在步骤S417的第 (N - 1 )个项目点index—N—minusl值为3或者2时,流程继续到步骤S418。 在步骤S418,播放器控制模块212选择第(N-l)个项目点并完成此处理。
相反,当在步骤S417的第(N - 1 )个项目点index—N—minus 1值既非3又非 2时,流程继续到步骤S419。
因为显然所有项目点N、 (N+l)、 (N-l)的index—N—minusl值既非3又非 2,所以在步骤S419,播放器控制模块212选择第N个项目点并完成此处理。
换言之,当快进再现速度较高时,尽管EP一map()中项目点稀疏的间隔变 大,但是优选选取index—N—minusl较大(即高主观图像质量)的项目点。相 反,当快进再现速度较低时,选取index_N—minus 1较小的项目点。
在上述过程中,可高速进行快进再现而不会降低主观图像质量。当低速 进行快进再现时,因为比高速时以更多的参考图像进行快进再现,所以可防 止再现图像的图像质量降低。
在上述实例中,假定读取的项目点信息在再现处理中通常恒定。在这种 情况下,在具有高处理性能的盘再现装置中,因为读取许多项目点,所以改 进了再现图像的图像质量。但是,如果不具有高处理性能的盘再现装置读取 大量项目点信息,则处理速度可能降低。因此,将优先级设置到待读取项目 点的信息。具有高处理性能的盘再现装置可使用所有项目点的信息,而具有 低处理性能的盘再现装置可仅仅读取具有高优先级的项目点。
图65是描述将优先级设置到项目点的盘记录装置功能的功能结构图。在 图65所示出的盘记录装置中,与图61所示出盘记录装置功能相似的功能将 以相似的参考数字表示,并省略其描述。
字幕编码器443读取来自字幕材料服务器442的字幕材料、压缩编码此 材料并将结果得到的数据写入字幕数据服务器444。和视频数据以及音频数 据不同,字幕数据以时间为基础断续地存在。因此,记录在字幕材料服务器 442中的字幕材料显示起始时间和显示持续时间以及记录在字幕数据服务器 444中的字幕数据显示起始时间和显示持续时间被作为字幕定时信息445提 供。
尽管多路复用单元441基本上具有和图61所示出的多路复用单元421 相同的功能,但是前者还将字幕数据和字幕时间和视频数据和音频数据多路 复用。换言之,多路复用单元441不仅读取输入的MPEG2视频流以及MPEG2 音频流,而且读取从字幕数据服务器444供应的字幕数据和字幕定时信息 445,并如参考图18A和图18B到图27所述在分时基础上对其多路复用。
多路复用单元441从流中选择内图像,并以大约每秒两次的频率将图23
所示出的private-stream—2的PES-packet 0插入其中。在此实例中, private-stream—2的PES-packet 0表示其紧接着是不必参考另 一帧图像而 可解码的视频内图像。这时,内图像通常具有时间戳(PTS/DTS)。 所有的字幕数据访问单元通常具有时间戳。
这时,在参考图26所描述的第一 Ref—picture、第二 Ref—picture、第 三Ref_picture和第四Ref_picture字段中没有记录数据。此外,可将字幕 流(未示出)输入多路复用单元441,从而其与视频流和音频流多路复用。
多路复用单元441将多路复用流通过FIFO 422供应至RAPI重写单元 424,还输出至RAPI信息提取单元423。 RAPI信息提取单元423从多路复用 流提取视频流信息和字幕流信息,并存储所提取的流。换言之,RAPI信息提 取单元423检测private_stream—2的PES_packet()的起始位置,在 private—stream—2的PESjacket()之后的内图像的时间戳(PTS )值,和内图像、 在内图像之后的第二、第三和第四参考图像的终止位置,并存储这些值。此 外,RAPI信息提取单元423检测来自字幕流的所有字幕访问单元的起始位置 和时间戳。
控制器446利用该输入信息创建图如66所示的EP_map()。假定EP—map() 包括关于视频流和字幕流的信息。EP一map()中关于视频的主要信息是所有 RAPI,即private—stream—2的PESjiacket()的位置,以及就在private—stream—2 的PESjacketO之后的内图像的时间戳。这些信息可以利用从RAPI信息提取 单元423输入控制器446的信息而产生。EP—map()中关于字幕的主要信息是 字幕访问单元的位置和时间戳。这些信息也可以利用从RAPI信息提取单元 423输入到控制器446的信息而产生。
控制器446利用从RAPI信息提取单元423输入的数据,在EP—map()的 信息中创建没有决定的priority—flag。换言之,控制器446评估视频流所有项 目点(RAPI项目点)和字幕访问单元的时间戳并设置针对它们每个的 priority—flag (将在后面描述)。为设置priority—flag,将章情景变化信息447 输入控制器446。
接下来,将参考图66描述其中将优先级设置到文件的EP_map()。如图 66所示,number—of_EP—entries接下来是priority—flag (2位)作为由,由 number—of—EP_entries 4页先《勺stream—id牙口 private—stream—id才示"iK^J基本; 庇^;解
码可起始点的信息、reserved_for—fUture—use ( 14位)、PTS—EP—start ( 32位)、 RPN—EP—start ( 32位)。将priority—flag、 reserved—for—fUture一use、 PTS—EP—start (32位)、RPN_EP—start ( 32位)重复由number—of—EP—entries表示的次数。
priority—flag具有如图67所示出的意义。换言之,对于3见频流的项目, 当priority_flag值为3时,其表示项目对应于章的起始。当priority—flag值为 2时,其表示该项目对应于间隔为一分钟且与上述项目不同的重要场景变化。 当priority—flag值为1时,其表示此项目对应于间隔为三秒钟且与上述项目不 同的场景变化。假定其它项目的priority—flag值为0。
对于字幕流项目,当priority—flag值为3时,其表示此项目对应于章起始。 当priority一flag值为2时,其表示项目对应于与上述项目不同的重要场景变化。 当priority—flag值为1时,其表示此项目对应于与上述项目不同的场景变化。 假定其它项目的priority_flag值为0。
当此片段为两小时电影并且其每秒包括两个随机访问点时,总的项目数 为14400 ( =2小时x3600秒x2次)。当章数为大约数十时,priority—flag = 3 的项目数与章数相同变为数十。因为重要场景数变化(priority—flag = 2 )并且 其它场景数(priority—flag= 1 )随内容变化,尽管不通用,但是假定priority—flag =3或2的的项目数为大约200,而priority_flag = 3 、 2、 1的项目数为大约 2400,并且总项目数为14400。在这种情况下,还假定priority—flag = 2和1 的总项目数为1000。这样,假定当仅仅读取priority—flag = 3、 2和1的项目 时,存储器量大约为1000/14,400,即读取所有项目情况下的1/14。此外,这 种情况下,因为一个项目为10字节,对一个视频流存储器容量可降低10字 节x ( 14400-1000) = 120134千字节。
此外,据说两小时的电影包括1000到2000字幕语句。相反,有数十章。 因此,假定仅仅读取priority—flag = 3的项目,则存储容量可降低数十/1000或 者数十/2000。因为字幕流数大于数据流数,因此降低存储容量的效果是充分 的。
在此实例中,标记以值3、 2、 l和0表示。可替换地,可认为其以相应 的位表示而相应的位可设置为1。换言之,此字段可由三位组成。当最高有 效位为1时,其表示此项目为章顶部。当下一位为1时,其表示此项目为一 分钟间隔的项目。当最低有效位为1时,表示此项目为5秒间隔的项目。当 所有的位为0时,表示此项目不包括在这三类中。
对于字幕流,当项目的priority—flag值为1时,表示项目对应章顶部。在 这种情况下,假定其它项目的priority一flag值为0。
接下来,参考图68所示出的流程图,将描述priority—flag设置过程。 在步骤S441,控制器446确定视频的当前项目是否是章起始部分,即正 在评估的项目是否对应于章场景变化信息447的章的时间。当当前项目点对 应于章时间时,确定差为0。当当前项目点对应于章时间时,流程继续到步 骤S442。在步骤S442,控制器446对项目设置priority—flag = 3并将其存储到 输出服务器426。
当在步骤S441确定的结果表示当前时间不是视频的章起始部分时,流程 继续到步骤S443。在步骤S443,控制器446确定当前项目是否处于重要^L频 场景变化的位置,即接下来要评估的项目是否处于自章场景变化信息447中 "重要场景变化"起始开始间隔一分钟的位置。当在步骤S443确定的结果表 示接下来要评估的项目处于自"重要场景变化"起始开始间隔一分钟的位置 时,流程继续到步骤S444。在步骤S444,控制器446对当前的项目设置 priority—flag = 2。
当在步骤S443确定的结果表示当前项目不是重要场景变化时,流程继续 到步骤S445。在步骤S445,控制器446确定当前项目是否是常规视频场景变 化,即接下来要评估的项目是否处于自章场景变化信息447中"场景变化" 起始开始间隔三秒钟的位置。当在步骤S445确定的结果表示接下来要评估的 项目处于自"场景变化,,起始开始间隔三秒钟的位置时,流程继续到步骤 S446。在步骤S446,控制器446对当前的项目设置priority_flag = 1。
当在步骤S445确定的结果表示当前项目不是常规场景变化时,即当前项 目不对应任何场景变化时,流程继续到步骤S447。在步骤S447,控制器446 7十当前项目i殳置priority—flag = 0。
在步骤S448,控制器446确定是否处理了所有的视频项目。当确定的结 果表示未处理所有的项目时,流程返回到步骤S441。在步骤S441,重复此处 理。换言之,此处理从步骤S441到步骤S448重复直到对所有的视频项目都 设置了 priority—flag。
当在步骤S448确定的结果表示已经对所有的项目都进行了处理时,流程 继续到步骤S449。
在步骤S449,控制器446确定字幕的当前项目是否处于章起始,即正在
评估的项目是否对应于章场景变化信息447中的章时间。当在步骤S449确定 的结果表示当前项目对应于章时间时,流程继续到步骤S450。在步骤S450, 控制器446对当前的项目设置priority—flag = 3。
相反,当在步骤S449确定的结果表示当前项目未处于字幕的章的起始 时,流程继续到步骤S451。在步骤S451,控制器446确定当前项目是否处于 重要字幕场景变化的位置,即接下来要评估的项目是否处于自章场景变化信 息447中"重要场景变化,,起始开始间隔一分钟的位置。当在步骤S451确定 的结果表示接下来要评估的项目处于自"重要场景变化"起始开始间隔一分 钟的位置时,流程继续到步骤S452。在步骤S452,控制器446对当前的项目 设置priority—flag = 2。
当在步骤S451确定的结果表示当前项目不是重要场景变化时,流程继续 到步骤S453。在步骤S453,控制器446确定当前项目是否是常规字幕场景变 化,即接下来要评估的项目是否处于自章场景变化信息447中"场景变化" 起始开始间隔三秒钟的位置。当接下来要评估的项目处于自"场景变化"起 始开始间隔三秒钟的位置时,流程继续到步骤S454。在步骤S454,控制器 446 3十当前的项目i殳置priority—flag = 1 。
当在步骤S453确定的结果表示当前项目不是常规场景变化时,即接下来 要评估的项目不是任何场景变化时,流程继续到步骤S455。在步骤S455,控 制器446对当前项目设置priority_flag = 0。
在步骤S456,控制器446确定是否对所有的字幕项目都进行了处理。当 在步骤S456确定的结果表示未处理所有的项目时,流程返回到步骤S449。 在步骤S449,重复此处理。换言之,此过程从步骤S449到步骤S456重复直 到对所有的字幕项目都设置了 priority—flag。当在步骤S456确定的结果表示 已经对所有的字幕项目都进行了处理时,控制器446将根据图66所示语法的 EPjnap()数据输出至输出服务器426。
盘再现装置基于已经如上所述设置的priority—flag而稀疏EP一map()和存 储器(例如,图1所示出的存储器113)的存储容量。换言之,在由于降低 成本而功能受限的盘再现装置中,仅仅将其priority—flag值较大的项目存储在 存储器中。当然,在具有可存储全部EP一map()存储器的装置中,不必执行这 种操作。在图33所示出流程图的处理的步骤S106,对于^L频,将priority—flag = 1或者更高的项目存储在存储器中。同样,对于字幕,将priority—flag = 1或 者更高的项目存储在存储器中。这样,当读取EP一map()时,对于视频流,播 i丈器4空制才莫》夹212基于stream—id和private—stream—id叶直^)夸priority—flag为3、 2或者1的项目读取至存储器而不将priority—flag为0的项目读取至存储器。 对字幕流,插ji:器控制才莫块212基于stream—id和private—stream—id值将 priority—flag为3和21的项目读取至存储器而不将priority—flag为1或0的项 目读取至存储器。
当执行上述处理时,对于一个视频流的EP_map()所必需的存储器存储容 量比不执行此处理的小约1/6到1/10。此外,对于一个字幕流的EP—map()所 必需的存储器量可降至大约数十分之一。因此,在低成本盘再现装置中,可 基于存储器的容量项目。因此,可有效执行再现处理。
在上述实例中,对在章起始的事件设置为priority—flag = 3。可替换地, 可对任何意义例如重要场景变化以及章起始设置priority—flag = 3。
在上述实施例中,由软件执行处理序列。可替换地,其可由专用硬件执行。
在上述实施例中,作为视频解码器116 (图1)和视频编码器403 (图60) 采用硬件解码器。可替换地,作为视频解码器116 (图1 )和视频编码器403 (图60),可采用软件解码器。这适用于音频解码器117 (图1 )和音频编码 器404 (图60 )。
在上述实施例中,采用软件解码器作为字幕解码器。可替换地可以使用 硬件解码器作为字幕解码器。
权利要求
1.一种数据处理装置,其针对每个预定访问单元处理数据,包括计时部分,其以预定变量计数时间;和设置部分,其检测访问单元是否具有时间戳并设置所述变量,从而当所述访问单元具有时间戳时,设置部分把该时间戳的值代入所述变量,而当访问单元没有时间戳时,该设置部分获得显示时间的信息并加上所获得显示时间的信息的值。
2. 如权利要求1所述的数据处理装置,其中,所述显示时间的信息以待处理数据的一场为单位表示显示时间。
3. 如权利要求1所述的数据处理装置,其中,待处理的数据是视频数据或者字幕数据。
4. 如权利要求1所述的数据处理装置,其中,当所述设置部分获得所述显示时间的信息时,所述设置部分在开 始显示紧接当前访问单元之后的下一个访问单元的定时加上该显示时间的信 息的值,并设置所述变量。
5. 如权利要求1所述的数据处理装置,其中,当所述设置部分获得该显示时间的信息时,所述设置部分在开始 显示紧接当前访问单元之后的下 一个访问单元的定时加上该显示时间的信息 的值,并设置所述变量。
6. 如权利要求1所述的数据处理装置,还包括标记处理部分,其对预定访问单元在预定标记时间戳的时间执行预定处理,其中,当该对预定访问单元执行预定处理的标记时间戳的时间为与由计 时部分所计数的时间对应的显示时间时,所述设置部分向该标记处理部分发 送信息,所述信息表示由计时部分所计数的时间为标记时间戳的时间,该标 记处理部分根据所述信息对该预定访问单元执行该预定处理。
7. 如权利要求6所述的数据处理装置,其中,所述标记时间戳的时间的最小间隔是所述访问单元的最大显示时间。
8. —种针对每个预定访问单元处理数据的数据处理方法,包括如下步 骤以预定变量计数时间;和检测访问单元是否具有时间戳并设置所述变量,从而当所述访问单元具 有时间戳时,把该时间戳的值代入所述变量,而当访问单元没有时间戳时, 获得显示时间的信息并加上所获得显示时间的信息的值。
9. 一种程序记录介质,其上记录了针对每个预定访问单元处理数据的数 据处理程序,所述数据处理程序包括如下步骤以预定变量计数时间;和检测访问单元是否具有时间戳并设置所述变量,从而当所述访问单元具 有时间戳时,把该时间戳的值代入所述变量,而当访问单元没有时间戳时, 获得显示时间的信息并加上所获得显示时间的信息的值。
10.一种使计算机执行针对每个预定访问单元处理数据的数据处理的程序,所述数据处理包括如下步骤 以预定变量计数时间;和检测访问单元是否具有时间戳并设置所述变量,从而当所述访问单元具 有时间戳时,把该时间戳的值代入所述变量,而当访问单元没有时间戳时, 获得显示时间的信息并加上所获得显示时间的信息的值。
11. 一种数据记录介质,在其上记录由数据处理装置读取的数据,所述数 据处理装置包括计时部分,其以预定变量计数时间;设置部分,其当针对每个预定访问单元处理数据时,检测访问单元是否 具有时间戳并设置所述变量,从而当所述访问单元具有时间戳时,所述设置部分把该时间戳的值代入所述变量,而当访问单元没有时间戳时,所述设置 部分获得显示时间的信息并加上所获得显示时间的信息值;和标记处理部分,其对预定访问单元在预定标记时间戳的时间执行预定处理,其中,记录具有标记时间戳的数据,从而在预定时间对预定访问单元执 行预定处理,以及其中,所述标记时间戳的时间的最小间隔为所述访问单元的最大显示时间。
12. —种由数据处理装置读取的数据的数据结构,该数据处理装置包括 计时部分,其以预定变量计数时间;设置部分,其当针对每个预定访问单元处理数据时,检测访问单元是否 具有时间戳并设置所述变量,从而当所述访问单元具有时间戳时,所述设置 部分把该时间戳的值代入所述变量,而当访问单元没有时间戳时,所述设置部分获得显示时间的信息并加上所获得显示时间的信息值;和标记处理部分,其对预定访问单元在预定标记时间戳的时间执行预定处理,所述数据结构包括标记时间戳,利用该标记时间戳在预定时间对预定访 问单元执行预定处理,其中,所述标记时间戳的时间的最小间隔为访问单元的最大显示时间。
全文摘要
在数据再现设备中,甚至在不使用特别时钟进行计数的情况下也可根据时间戳再现流数据。在步骤(S141)判断所接收的访问单元是否具有时间戳。当访问单元具有时间戳时,步骤(S142)设置时间戳(PTS)的值。当访问单元没有时间戳时,步骤(S144)将由先前pic_struct确定的值加至当前的时间。之后,在步骤(S143)存储此时的pic_struct以供下一处理。本发明例如可用于采用DVD的游戏设备。
文档编号G11B27/10GK101111897SQ20058004768
公开日2008年1月23日 申请日期2005年11月10日 优先权日2004年12月2日
发明者上田晓彦, 井原宏二, 内海秀介, 各务辰哉, 浜田俊也, 藤波靖 申请人:索尼株式会社;索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1