本申请是申请日为2006年11月2日,申请号为200580014078.8,名为“具有用于管理文字字幕数据再现的数据结构的记录介质及其相关方法和装置”的申请的分案申请。
具体实施方式
现在详细参考附图所示的本发明的示例性实施例。在所有的附图中,将尽可能使用相同的附图标记表示同样或类似的部分。
在本发明中,主数据是记录在光盘中的标题信息,包括视频和音频数据,由盘的作者提供给用户。通常,视频和音频数据是基于MPEG2格式记录的,并被称为主AV流或主数据。
辅助数据代表和主数据相关的数据,提供给用户以便方便地再现主数据。辅助数据包括字幕信息、交互式图形流、显像图形流、声音信息和具有可浏览的幻灯播放的附加音频数据。根据辅助数据的特征,辅助数据基于MPEG2格式通 过和主AV流多路复用而被录制,或者辅助数据作为独立于主AV流的流文件基于MPEG2或其它合适的格式而被录制。
字幕作为辅助数据通常是和再现主AV数据产生的视频图像一起显示在显示器的预定区域的闭合标题。当用户希望用所需语言的字幕再现主AV数据时,通过在光盘提供的多种语言的字幕中选择字幕的语言,将字幕的语言和视频图像一起显示在显示器的一个区域。因此,可能以多种格式提供字幕。特别地,以文本数据记录的字幕为文本字幕。
接下来,结合图1和2,详细阐述光盘中记录的主数据和包括文本字幕数据的辅助数据的记录格式,以及用于管理主数据和辅助数据的文件结构。
图1示出了根据本发明的一个示例性实施例管理盘上的各种数据的文件结构。如所示,至少一个BD目录BDMV存在于一个根目录下。在BD目录BDMV中,包含了作为通用文件(上部文件)信息以确保和用户互动的索引文件index.bdmv和对象文件MovieObject.bdmv。此外,BD目录BDMV中包含播放列表目录PLAYLIST、剪辑信息目录CLIPINF、流目录STREAM、以及辅助数据目录AUXDATA。
用于被称为“主AV流”的视频和音频流的文件按照特定格式记录在盘中,而诸如文本字幕(下面称为文本字幕流)的辅助流独立存在于流目录STREAM中。由于文本字幕流文件和AV流文件以MPEG2格式(如MPEG2传输信息包)记录,‘*.m2ts’用作为每个流文件的扩展名(例如,01000.m2ts、02000.m2ts和10001.m2ts)。可替代地,例如,在文本字幕流文件的情况下,‘*.txtst’可被用作扩展名,因为文本字幕流具有和主AV流不同的辅助数据特征。
在BD规范中,AV流可被称作剪辑流文件。涉及本发明,文本字幕数据将以和AV流文件分开的文件的形式存在。例如在图1中,文本字幕数据作为文本字幕流文件10001.m2ts或10001.txtst存在。
剪辑信息目录CLIPINF包括剪辑信息文件*.clpi,每个剪辑信息文件和流文件一一对应。剪辑信息文件*.clpi具有所对应的流文件的属性信息和定时信息,并用作管理文件。更明确地,剪辑信息文件中的信息包括映射信息,使显像时间戳(PTS)映射到对应流文件中的源信息包的源信息包号(SPN)。该映射被称为入口点映射或“EP_MAP”。
流文件和对应的剪辑信息文件可被共同称作“剪辑”。因此,在剪辑信息 目录CLIPINF中的文件“01000.clpi”具有流目录STREAM中的文件“01000.m2ts”的属性信息和定时信息,“01000.clpi”和“01000.m2ts”构成一个剪辑。
播放列表目录PLAYLIST包括播放列表文件*.mpls,每个播放列表文件具有至少一个播放项目PlayItem,指出某一剪辑的播放间隔。播放项目PlayItem包括关于用于回放的某一剪辑的播放开始时间In-Time和播放结束时间Out-Time的定时信息,并通过在剪辑信息文件名字段中提供剪辑信息文件名标识剪辑。利用在In-Time和Out-Time信息中的PTS信息,指定的剪辑信息文件的EP映射允许搜索并获得对应流文件的特定流地址或位置(例如,SPN),使得对播放项目的再现导致了剪辑的再现。
播放列表文件*.mpls用作基础管理文件,通过提供至少一个播放项目PlayItem来播放希望的剪辑。此外,播放列表文件*.mpls也可提供子播放项目SubPlayItem用来管理例如补充数据的再现,所述补充数据可与播放项目PlayItem同步或不同步(例如,可浏览的幻灯播放)地再现。例如,在包含子播放项目用于回放文本字幕的情况下,对应的子播放项目和播放项目同步回放数据。然而,在包含子播放项目用于回放可浏览的幻灯播放的音频数据的情况下,对应的子播放项目和播放项目不同步。
在本发明的一个实施例中,包括文本字幕在内的辅助数据是通过例如子播放项目SubPlayItems管理的,下面将详细阐述。
辅助数据目录AUXDATA是用于单独记录用于回放的辅助数据文件的区域。例如,为了支持用户更友好的回放,在其中记录了用于提供点击声的声音文件Sound.bmdv、和文本字幕回放一起使用的字体文件*.font或*.otf等等。
因此,文本字幕流10001.m2ts,作为一种辅助数据,可被记录在辅助数据目录AUXDATA中。
此外,上述BD目录BDMV中,索引文件index.bdmv以及对象文件MovieObject.bdmv作为通用文件而存在,以确保和用户互动。索引文件index.bdmv具有索引表,提供用户可选择的菜单信息和标题信息。MovieObject.bdmv提供导航命令,例如,执行播放列表,并可通过索引表中做出的选择被调用。
图2示出了记录在光盘中的文件结构以及相关信息的格式。光盘包括文件***信息区、数据库区和流区。用于管理文件的***信息记录在文件***信息 区中。在数据库区中,记录了用于再现记录的流文件(*.m2ts)的播放列表文件(*.m2ts)以及剪辑信息文件(*.clpi)、索引文件(index.bdmv)、和对象文件(MovieObject.bdmv)。同样,主数据和辅助数据记录在流区中。如前所述,主数据包括音频、视频和图形数据,而辅助数据包括文本字幕。同样,辅助数据在流区中作为独立文件和主数据分开记录。即,辅助数据记录在流区中而不和主数据多路复用。相应地,用户决定基于存储在数据库区和流区中的信息再现主数据和辅助数据的方法。
接下来,将详细描述文本字幕流文件的文件结构。此外,将详细描述定义用于再现文本字幕的管理信息的方法、用于构建包括定义的管理信息的文本字幕流文件的文件结构的方法、以及用于再现流文件的方法和装置。
图3示出了一个显示器,将文本字幕流和主AV流在一个视频帧上同时显示。即,它示出了文本字幕随通过再现主AV流产生的单个视频帧而显示,并在时间上将文本字幕和所产生的视频帧适时同步。
图4是根据本发明的一个示例性实施例的具有文件信息的文件结构的视图,用于阐明管理文本字幕的再现的方法。文本字幕由播放列表中的子播放项目管理,并且一个子播放项目管理多个文本字幕剪辑的再现。
如所示,播放列表文件包括至少一个或多个管理主AV剪辑的再现的播放项目。在有一个或多个文本字幕与主AV数据相关联的情况下,文本字幕按照子播放项目被管理。例如,图4示出了在播放列表文件中的英语文本字幕剪辑1和韩语字幕剪辑2,并示出了字幕剪辑1和字幕剪辑2是和主AV数据在时间上同步的。即,字幕剪辑和主AV数据在目标显像时间一起显示。
因此,提供关于目标显像时间、字幕的位置和尺寸的管理信息用来再现文本字幕。接下来,详细阐述用来再现文本字幕的管理信息。
图5A到5C示出了显示在显示器上的带有相关文本字幕的再现的主AV流,用于阐述记录在文本字幕流中的管理信息。图5A示出了对话信息,图5B示出了区域信息以及图5C示出了样式信息。
图5A示出了用于管理文本字幕的再现的管理信息的对话信息。对话信息是用于在显像时间管理至少一个或多个文本数据。
即,显像时间是再现相应字幕的时间,被表述为PTS。通过将在PTS显示的 文本字幕限定为对话,方便地管理字幕再现。
例如,如果文本字幕在PTS(k)和PTS(k+1)显示为两行,文本字幕限定为同一个对话。在一个实施例中,在一个对话中的文本字幕数据少于100个字符码。
图5B示出了管理信息中的区域信息。该区域为关于在显像时间构造对话的信息。同样,该区域表示单个视频帧中同样地应用了全局样式信息的区域。在一个实施例中,单个对话有至多两个区域。即,在这个实施例中,对话可用单个或两个区域构建。
在单个对话中限定至多两个区域的理由是当文本字幕再现时调节解码的工作负荷。然而,在其它实施例中区域的数量可以被限定为最大n(n>=2)。
图5C示出了管理信息的样式信息。样式信息是关于指定用于显示文本字幕的方法的信息,并包括诸如字幕的位置、尺寸和背景颜色之类的样式信息。文本排列或文本滚动可以作为样式信息。
在本发明的一个实施例中,样式信息被分为全局样式信息和局部样式信息用于以不同方式显示文本字幕。
全局样式信息是同样地应用于各区域的样式信息,且它包括每个区域的位置和每个区域的尺寸。这个信息被称为区域样式(region_style)。图5C示出了两个不同的区域样式信息应用于两个区域(region#1和#2)。“位置1、尺寸1、颜色=蓝色”的区域样式应用于区域1(region#1)。“位置2、尺寸2、颜色=红色”的区域样式应用于区域2(region#2)。
局部样式信息是根据区域中的每个文本数据行或每个文本数据字符而应用的样式信息。该信息可被称为内联样式“inline_style”。即,内联样式可以是当区域样式改变时为文本数据定义的样式信息。
例如,在图5C中,“内联样式信息(inline_style)”应用到区域#1,不同的内联样式应用到在文本数据中的“mountain”。
图6示出了文本字幕流文件结构。例如,图6示出了图1的文本字幕流文件“10001.m2ts”的结构。
在这个实施例中,文本字幕流按照MPEG2传输流构建。该传输流包括多个传输信息包,而同一信息包标识符(PID)被分配到这些传输信息包(TP)诸如“PID=0x18xx”。因此,光盘再现方法或装置通过只提取分配有“PID=0x18xx”的 传输信息包,有效地从输入流中提取文本字幕流。
单个信息包基本流(PES)包括多个传输信息包TP。在这个实施例中,每个对话形成单个PES,从而有效地再现对话。
文本字幕流中的第一个信息包基本流(PES)包括含有一组区域样式的对话样式单元DSU(可替换地称为对话样式片段DSS)。并且,第二个和随后的信息包基本流中的每以个基本流都包括含有真正的对话信息的对话显像单元DPU(可替换地称为对话显像片段DPS)。
因此,图5A到5C中定义的对话信息包括DPU,以及对话信息的样式信息包括内联样式信息(内联样式)以及链接到DSU中限定的各种区域样式之一的链接信息(region_style_id)。
在一个实施例中,对话样式单元包括最大数量的区域样式组。例如,对话样式单元包括最多60个区域样式组,并且它们通过分配到每个区域样式组的唯一的区域样式标识(region_style_id)来区分。
图7示出了根据本发明的一个示例性实施例包含在文本字幕流中的对话样式单元(DSU)以及对话显像单元(DPU)。文本字幕流的句法后面将结合图8进行阐述。
在此实施例中,对话样式单元(DSU)包括最多60个区域样式组且区域样式组通过区域样式标识(region_style_id)来区分。区域样式组包括各种区域样式和用户可变样式组,且区域样式组根据区域样式标识来记录。区域样式信息和用户可变样式组的句法将后面将结合图10A进行阐述。
对话显像单元(DPU)包括文本数据和PTS组,是文本数据的一组显像时间。DPU还包括应用于每个区域的样式信息。因此,DSU包括用于将区域样式信息链接到对应区域的region_style_id。
如图7所示,DPU#1包括单个区域的对话显像信息。因为DPU#i包括用于将DPU#1链接到对应区域样式组的region_style_id=k,所以应用于文本数据#1的区域样式是DPU中的区域样式组#k。DPU#2包括两个区域。文本数据#1的第一个区域指向区域样式组#k(Region_style_id=k)。又,因为DPU#2的区域2的区域样式链接信息是Region_style_id=n,所以区域样式#n应用于第二区域的文本数据#2。类似地,区域样式组#n和区域样式组#m分别应用于DPU#3和DPU#4。
由region_style_id链接的样式信息作为全局样式信息被同样地应用于相应区域中的文本数据。在文本数据中的文本串根据特定样式信息改变的情况下,局部样式信息应用于相应的文本串。
接下来,将阐述DSU和DPU的句法。
图8示出了根据一个示例性实施例的文本字幕流(Text_Subtitle_stream())的句法。如图8所示,该文本字幕流(Text_Subtitle_stream())包括定义了样式信息组的单个DSU(dialog_style_unit())以及包含了对话信息的多个DPU(dialog_presentation_unit())。即,函数Text_Subtitle_stream()包括了函数dialog_style_unit()和函数dialog_presentation_unit()。文本字幕流用函数Text_Subtitle_stream()记录,且记录的文本字幕流利用由函数dialog_style_unit()定义的单个DSU和由函数dialog_presentation_unit()定义的多个DPU构建。
图9示出了对话样式单元(DSU)的句法。如前所述,DSU由函数dialog_style_unit()定义,而图9示出了函数dialog_style_unit()的详细结构。如图9所示,该dialog_style_unit()包括函数dialog_styleset()。函数dialog_styleset()定义了与对话相对应的样式信息组。因此,DSU包括具有用于相应对话的各种样式信息的样式信息组。
接下来,将阐述本发明定义样式信息组(dialog_styleset())的各种实施例。这些实施例根据定义文本数据的标准位置和对话尺寸的方法来划分。图10A到12C展示了描述第一实施例的函数和视图,图13A到13C示出了描述第二实施例的函数和视图,以及图14A到14G描绘了描述第三实施例的函数和视图。
图10A到12C展示了描述了根据本发明的第一实施例用于通过函数dialog_styleset()定义对话的样式信息组的函数和视图。定义样式信息组的第一实施例,通过定义给区域中文本数据指定尺寸以及参考位置的文本框信息,来描述其特征。
图10A示出了根据本发明的第一实施例,图9的函数dialog_style_unit()中定义的dialog_styleset()句法的详细结构。在函数dialog_styleset()中,除了函数区域样式region_style()之外,还提供了播放器样式标记player_style_flag、区域样式数number_of_region_styles、用户样式数number_of_user_styles、用户可变样式组函数user_changeable_styleset()以及函数palette(),用于定义对话的区域样式信息。 标记player_style_flag指出是否允许用户改变样式信息,而函数user_changeable_styleset()提供了样式信息改变范围。函数palette()提供了颜色信息。
如上所述,区域样式信息是根据每个区域定义的全局样式信息。唯一的标识(region_style_id)被分配到每一个区域样式信息。因此,基于与分配的标识region_style_id对应的样式信息组提供对话的区域样式信息。
因此,通过记录应用到DPU中的对话的标识region_style_id,对话可通过应用基于创作对话时dialog_styleset()中同样的region_style_id定义的样式信息组得到再现。
接下来,将阐述根据region_style_id提供的样式信息组中包含的样式信息(Style Info)。
首先,作为用于定义图像帧相应区域的位置和尺寸的信息,提供了区域水平位置region_horizontal_position、区域垂直位置region_vertical_position、区域宽度region_width和区域高度region_height。还提供了区域背景颜色标识region_bg_color_entry_id用于定义相应区域的背景色。
其次,提供了用于代表相应区域中的文本框尺寸的文本框信息。文本框表示相应区域中显示文本数据的区域。
文本框的尺寸通过文本框宽度text_box_width和文本框高度text_box_height来表示。区域中相应文本框的原点由文本框水平位置text_box_horizontal_position和文本框垂直位置text_box_vertical_position来提供。
此外,定义文本滚动text_flow来定义显示文本的方向,定义文本排列text_alignment来定义排列文本的方向,诸如右、左和中间。在text_flow的情况下,当为了防止用户搞混而在对话中有多个区域时,将相应对话中的每个区域定义为具有同样的text_flow。
通过参见图11A到12C,下面将详细阐述根据text_flow和text_alignment的文本框信息的规定。
作为包含在样式信息组中的样式信息,定义了行间距line_space用于控制相应区域中行之间的间距。又,定义字体标识font_id、字体样式font_style、字体尺寸font_size和字体色彩标识font_color_entry_id作为控制相应区域中的文本数 据的字体信息。
在dialog_styleset()中的player_style_flag是表示再现装置的样式信息是否可用的信息。例如,如果player_style_flag被设为1b(player_style_flag=1b),则允许除了使用dialog_styleset()中定义样式信息之外,使用再现装置的样式信息来再现文本字幕。如果player_style_flag被设为0b(player_style_flag=0b),则文本字幕只通过使用由dialog_styleset()定义的样式信息再现。
图10B示出了图10A中的函数“dialog_styleset()”中定义的函数“user_changeable_styleset()”。
通过参见图10B,函数user_changeable_styleset()定义了可被用户改变的样式信息的类型和改变范围。因此,函数“user_changeable_styleset()”是用来让用户方便地改变文本字幕数据的样式信息的。
然而,在这个实施例中,用户可变的样式信息限于字体尺寸和区域位置。因此,在函数user_changeable_styleset()中定义了区域水平位置方向region_horizontal_position_direction、区域水平位置增量region_horizontal_position_delta、区域垂直位置方向region_vertical_position_direction、区域垂直位置增量region_vertical_position_delta、字体大小增减font_size_inc_dec和字体大小增量font_size_delta。由于文本框位置和行间距离根据字体尺寸的增加/减少而改变,在函数user_changeable_styleset()中定义了用于定义行间距和文本框位置的变量。
如上所述,函数user_changeable_styleset()是根据region_style_id定义的,而多个用户可变样式信息(user_style_id)是在函数user_changeable_styleset()中定义的。例如,如果函数user_changeable_styleset()根据region_style_id=k定义,在本示例性实施例中定义的函数user_changeable_styleset()中定义最多25种用户可变样式信息。
提供region_horizontal_position_direction和region_vertical_position_direction用于定义region_horizontal_position和region_vertical_position的移动方向,可根据用户样式标识user_style_id改变。同样,提供region_horizontal_position_delta和region_vertical_position_delta用于以像素为单位的改变量定义在每个方向移动区域的一次改变。
例如,如果region_horizontal_position_direction定义为0,相应区域向右移动。如果region_horizontal_position_direction定义为1,相应区域向左移动。又,如果region_vertical_position_direction定义为0,相应区域向下移动。如果region_vertical_position_direction定义为1,相应区域向上移动。
又,提供font_size_inc_dec用于定义字体尺寸的增加/减少的方向,可根据user_style_id而改变;以及提供font_size_delta用于以像素为单位指定字体尺寸font_size的一次改变量。
例如,如果font_size_inc_dec定义为0,说明增加font_size,而如果font_size_inc_dec定义为1,说明减少font_size。
更进一步,提供文本框水平位置text_box_horizontal_position和文本框垂直位置text_box_vertical_position,用于定义根据font_size的增加/减少而变化的文本框的参考位置。text_box_horizontal_position和text_box_vertical_position可由提供region_horizontal_position和region_vertical_position同样的方法来定义。例如,记录text_box_horizontal_position和text_box_vertical_position用于指定改变方向,以及记录文本框水平增量text_box_horizontal_delta和文本框垂直增量text_box_vertical_delta用于以像素为单位指定一次改变量。
又,可以和上面font_size所述的情况同样地提供根据font_size的增加/减少而改变的文本框宽度text_box_width和文本框高度text_box_height。例如,记录文本框宽度增减text_box_width_inc_dec和文本框高度增减text_box_height_inc_dec用于指定增加/减少的方向,以及文本框宽度增量text_box_width_delta和文本框高度增量text_box_height_delta用于以像素为单位指定一次改变量。
此外,根据font_size的增加/减少的文本行间距(line_space)的增加/减少,可用和定义font_size的增加/减少的同样的方法来定义。即,记录行间距增减line_space_inc_dec和行间距增量line_space_delta。
图11A和11B示出了依照根据图10A所示的本发明的第一实施例定义的text_box_horizontal_position、text_box_vertical_position和text_flow显示文本框的范例。
即,图11A示出了定义text_box_horizontal_position、text_box_vertical_position和text_flow用来参照区域的原点显示文本数据(例如,离开区域原点的偏移量), 而不参照text_flow。在此情况,文本数据的原点变成文本框的左顶点(left-top)(同样也称为左上角)而无需参照文本排列或text_flow。
图11B示出了当text_flow是从上到下时,根据text_box_horizontal_position、text_box_vertical_position和text_flow显示文本框中的文本数据。
如图11A的前一实施例一样,文本框参照区域的原点定义。在此情况,文本数据的原点变成文本框的左顶点而无需参照文本排列。
图12A到12C示出了依照根据图10A的本发明的第一实施例定义的text_box_horizontal_psition、text_box_vertical_position和text_flow显示文本框的另一个范例。
即,图12A示出了当text_flow是从左到右时,定义text_box_horizontal_position、text_box_vertical_position和text_flow用来在左顶点显示文本数据。图12B示出了当text_flow是从右到左时,定义text_box_horizontal_position、text_box_vertical_position和text_flow用来在右顶点显示文本数据。图12C示出了当text_flow是从上到下时,定义text_box_horizontal_position、text_box_vertical_position和text_flow用来在右顶点显示文本数据。
如图12A到12C所示,文本数据的原点根据text_flow而从左顶点变到右顶点,无需参照文本排列。
图13A示出了根据本发明的第二实施例在函数dialog_style_unit()中定义的函数dialog_styleset()。dialog_style_unit()的第二实施例记录了文本填充信息而不是文本框信息。即,为了定义区域中文本数据的尺寸,记录文本填充信息作为区域样式信息。文本填充信息包括填充顶部padding_top、填充底部padding_bottom、填充左端padding_left,以及填充右端padding_right。通过文本填充信息,可确定区域中的文本数据的总尺寸。
除了文本填充信息以外的信息和第一实施例中的相同。因此,省略详细描述。
图13B示出了区域中具有文本填充信息的文本数据的位置。根据第二实施例中的dialog_styleset()定义的padding_top、padding_bottom、padding_left,以及padding_right确定区域中文本数据的位置。
图14A示出了根据本发明的第三实施例在函数dialog_style_unit()中定义的 函数dialog_styleset()。dialog_styleset()的第三实施例记录了文本水平位置text_horizontal_position和文本垂直位置text_vertical_position而不是文本框信息和文本填充信息,且text_horizontal_position和text_vertical_position根据文本排列text_alignment而改变。
即,记录text_horizontal_position和text_vertical_position用来代表区域中文本数据的参照位置。参照位置被定义成根据text_alignment而改变,诸如左、中和右。
除了text_horizontal_position和text_vertical_position以外的信息和第一实施例中的相同。因此,省略详细描述。
图14B到14D示出了如果文本滚动是左到右或右到左,且text_alignment被定义为左(图14B)、中(图14C)或右(图14D),文本数据的位置。
即,如果text_alignment被定义为如图14B所示的左,则把text_horizontal_position和text_vertical_position定义为指定文本数据的第一行开始处位于左端位置。如果text_alignment被定义为如图14C所示的中,则把text_horizontal_position和text_vertical_position定义成指定文本数据的第一行开始处位于中间位置。如果text_alignment被定义为如图14D所示的右,则把text_horizontal_position和text_vertical_position定义成指定文本数据的第一行结束处位于右端位置。
图14E到14G示出了,如果文本滚动是上到下,且text_alignment被定义为上(图14E)、中(图14F)或下(图14G)时,文本数据的位置。
如果text_alignment被定义为如图14E所示的上,则把text_horizontal_position和text_vertical_position定义成指定文本数据的第一行开始处位于上部位置。如果text_alignment被定义为如图14F所示的中,则把text_horizontal_position和text_vertical_position定义成指定文本数据的第一行开始处位于中间位置。如果text_alignment被定义为如图14G所示的下,则把text_horizontal_position和text_vertical_position定义成指定文本数据的第一行结束处位于下部位置。
如上所述,根据第一、第二和第三实施例之一,通过定义记录文本数据框或文本数据的参照位置来将文本数据与主AV流一起显示。
接下来,参照图15到18,阐述再现上述文本字幕流文件和显示再现的文 本字幕流文件的方法。
图15是示出了包括在对话显像单元(DPU)和对话样式信息单元(DSU)中的信息的视图。如上所述,DSU包括了一组用于每个对话中的每个区域的区域样式信息,而DPU包括了对话文本信息及显像信息。
所述对话文本信息包括区域样式标识符,定义了用于每个区域的样式信息、文本串以及用于文本串的内联样式信息。区域样式标识符是用于将相应区域链接到对话样式信息单元(DSU)中的区域样式信息的信息。
DPU中的显像信息包括用于显示每个对话的显像时间戳(PTS)开始时间(PTS_start)和显像时间戳结束时间(PTS_end)、用于在对话显示过程中改变所用颜色的调色板更新信息(palette_update_flag)、以及当有颜色改变时的改变的调色板信息(用来更新的调色板)。
即,文本字幕流由DSU中的对话样式信息和DPU中的对话显像信息来构建。并且,DSU和DPU中包含的信息根据信息的功能被分为三类信息。换句话说,信息被分为包括文本串的对话文本信息;包括用于显示的时间、对话位置和颜色改变的合成信息;以及将文本信息转换为图形信息的渲染信息。
如上所述,DSU中的信息被用作合成信息及渲染信息。如图15所示,信息“区域水平位置”和“区域垂直位置”被用作合成信息,因为“区域水平位置”和“区域垂直位置”代表了显示图像中的区域的位置。同样,信息“区域宽度和高度”、“字体和背景色”、“文本滚动和排列”,以及“字体名称、样式和尺寸”被用作渲染信息,因为这些信息用来根据每个对话的每个区域表达文本。同样,信息“文本位置”,诸如文本框信息、文本填充信息和文本水平/垂直参考位置信息都包括在渲染信息中。
接下来,将阐述用于再现包含再现管理信息的文本字幕的方法和装置。
图16是示出根据本发明的一个示例性实施例的用于再现文本字幕的包含解码单元40的光盘再现装置的视图。
如图16所示,光盘再现装置包括微型计算机3、***解码器4、PID过滤器5、音频解码单元10、视频解码单元20、图形解码单元30、字幕解码单元40、选择单元6和混合单元50。***解码器4在微型计算机3的控制下将从光盘再现的信号解码为AV流(例如,MPEG流)。虽然为了清楚起见没有示出,但 是微型计算机3还根据从用户(例如,通过装置上的控制按钮或遥控器)接收到的输入以及如上所述从光盘再现的管理信息,来控制装置的其它元件。PID过滤器5接收AV流,并根据如MPEG流的传输信息包中的信息包标识符(PID)从***解码器4提取出存在的分离流,如视频流、音频流、图形流和文本字幕流。视频解码单元20从PID过滤器5接收提取出的视频流,并解码该提取出的视频流用来再现该提取出的视频流。音频解码单元10从PID过滤器5接收提取出的音频流,并解码该提取出的音频流用来再现该提取出的音频流。图形解码单元30从PID过滤器5接收提取出的图形流,并解码该提取出的图形流用来再现该提取出的图形流。同样,文本字幕解码单元40从PID过滤器5接收提取出的文本字幕流,并解码该提取出的文本字幕流用来再现该提取出的文本字幕流。
光盘再现装置还可以或另外从外部源接收文本字幕。因此本实施例的光盘再现装置可进一步包括选择单元6,用于为文本字幕解码单元40选择输入源。
如果文本字幕和主数据一起基于MPEG格式记录,输入源就是PID过滤器5。因此选择单元6选择PID过滤器5作为文本字幕流的输入源,且选择单元6将提取自PID过滤器5的文本字幕流传递到文本字幕解码单元40,如图16的A所示。如果光盘再现装置从外部源接收文本字幕,选择单元6将外部源选择作为文本字幕流的输入源,且选择单元6将来自外部源的文本字幕流传递到文本字幕解码单元40,如图16的B所示。
视频解码单元20、音频解码单元10和图形解码单元30,每个分别包含传输缓冲器11、21、31,用于缓冲视频、音频和图形流。视频解码单元20还包括视频解码器22和视频平面23用于读取传输缓冲器21中存储的提取出的视频流、解码提取出的视频流并基于解码的视频数据产生视频平面,即显示在显示器上的单个视频图像帧。图形解码单元30还包括图形解码器32和图形平面33用于解码存储在传输缓冲器31中的提取出的图形流并基于解码的图形数据产生图形平面,即和产生的视频平面一起显示的单个图形图像帧。图形解码单元30还进一步包括颜色查询表(CLUT)34。CLUT34包括用于控制颜色的槽(vale)以及产生的图形平面的透明度,用于将图形平面和视频平面重叠。
文本字幕解码单元40包括预载缓冲器41、TXT-ST解码器42、图形平面(GP) 43和CLUT 44。文本字幕解码单元40从选择单元6接收文本字幕数据,且所接收到的文本字幕数据被预载到预载缓冲器41中。通常,包括再现管理信息在内的单个文本字幕数据的大小为0.5M字节。因此,预载缓冲器41的容量应大于0.5M字节。为了提供无缝再现,预载缓冲器41的容量应比0.5M字节大得多。例如,预载缓冲器41的大小可以通过考虑文本字幕数据的尺寸而标准化。
文本字幕数据被预载到预载缓冲器41是基于以下原因。由于整个文本字幕的尺寸相对比较小,文本字幕数据可以被记录在单独的文件中。通过提供文本字幕的单独文件,它可以被容易地读取并有效地用于再现文本字幕。另外,通过将整个字幕数据预载到预载缓冲器41,控制缓冲器更加方便。
文本字幕(TXT-ST)解码器42读取存储在预载缓冲器41中的文本字幕数据并解码该文本字幕数据。图形平面43通过使用解码的文本字幕数据,产生字幕图形平面,即和图形平面及视频平面一起显示的单个字幕图像帧。字幕图形平面的颜色和透明度根据CLUT 44中的值控制,用于将字幕图形平面和图形平面及视频平面重叠。
光盘再现装置的混合单元50包括两个加法器52和53,用于将来自视频解码单元20、图形解码单元30和文本字幕解码单元40的信号混合,并用于产生具有相应图形平面和字幕的视频图像帧。即,混合单元50接收视频解码单元20产生的图像平面,图形解码单元30产生的图形平面和文本字幕解码单元40产生的字幕平面,并通过重叠视频平面、图形平面和字幕图形平面,产生带有相应字幕的单个视频图像帧。基本上,视频平面成为单个视频图像帧的背景。图形平面和字幕图形平面重叠在视频平面上。重叠的顺序是根据图形平面和字幕图形平面的特征来决定的。例如,如果图形平面是显像图形,图形平面首先由混合单元50中的加法器52重叠在视频平面上。由文本字幕解码单元40产生的字幕图形平面由混合单元50中的加法器53重叠在加法器52的输出上。反过来,如果来自图形解码单元30的图形平面是交互式图形,字幕图形平面首先由混合单元50中的加法器52重叠在视频平面上,然后图形平面由混合单元50中的加法器53重叠在加法器52的输出上。
接下来,将详细阐述通过利用基于文本字幕解码器42的文本字幕解码单元40再现文本字幕的方法。
图17是示出了根据本发明的一个示例性实施例的文本字幕解码单元40的视图。图16和17的相同附图标记代表同样的功能块。
接下来,结合图1到16以及图17,详细阐述根据本发明的一个实施例再现一个标题。
当光盘载入后,光盘再现装置读取并存储用于再现和管理信息的再现的文件信息。当用户请求再现光盘中记录的一个标题时,光盘再现装置再现与该标题相关的播放列表。例如,如果再现了如图4所示的播放列表,该光盘再现装置通过使用视频和音频解码单元10和20再现由播放项目管理的主AV数据。由子播放项目管理的文本字幕流存储在预载缓冲器41中,且根据文本字幕流所指定的字体信息,将字体文件从光盘中提取出来。已提取的字体文件存储在字体预载缓冲器410中。例如,如果用户从由子播放项目管理的文本字幕流中选择韩语字幕,“文本字幕剪辑2”存储在预载缓冲器41中。同时,根据“文本字幕剪辑2”的剪辑信息中指定的字体信息提取字体文件aaaaa.font,且把aaaaa.font存储于字体预载缓冲器410中。在提取并存储相应文本字幕流后,文本字幕解码单元40解码文本字幕流用于产生字幕图形平面,并将此字幕图形平面传送到混合单元50,用于和由处理播放项目管理的主视频数据而产生的视频图像帧一起显示该字幕。
文本字幕流的解码分为三步。第一步,根据目的将文本字幕流拆分。即,从文本字幕流中拆分出合成信息、渲染信息和对话文本信息。拆分数据的动作通常称为解析。
第二步,通过使用渲染信息将对话文本信息中包含的文本数据渲染为位图数据。这叫做渲染。
第三步,基于合成信息将渲染的文本数据加入图形平面。即,位图数据加入图形平面,用于再现文本字幕。这叫做合成。
为了执行解析步骤,文本字幕解码器42包括了文本字幕(TXT_ST)处理器421,文本字幕处理器421在对话合成缓冲器(DCB)425中存储拆分了的合成信息和渲染信息,以及在对话缓冲器(DB)422中存储拆分了的对话文本信息。
为了执行渲染步骤,文本字幕解码器42包括了文本渲染器423和对话显像控制器(DP)426。如前面所讨论的,在这一步,拆分了的对话文本信息中的 文本数据被渲染为位图数据。文本渲染器423从字体预载缓冲器410中接收用于文本数据的字体信息,以及从DP控制器426中接收用于文本数据的渲染信息。然后,文本渲染器423通过使用用于文本数据的每个文本串的内联样式信息将文本数据渲染为位图数据。渲染后,位图数据存储于位图对象缓冲器(BOB)424中。
存储在BOB 426中的“对象”是已被转换成位图的对话中的每个区域的文本数据。
又,渲染步骤可以用至少两种方法执行。作为第一种方法,文本数据可在确认原点后渲染,原点就是根据图10A到14G所示的用于确定文本数据在区域中的位置的第一、第二和第三实施例之一要显示文本数据的位置。作为第二种方法,文本数据首先被渲染,然后渲染的文本数据相对于根据图10A到14G所示的第一、第二和第三实施例之一的区域的原点排列。
对于合成步骤,包括DP控制器426的文本字幕解码器42根据合成信息,将BOB 424中存储的位图对象排列在图形平面43中。合成信息中的调色板信息输入CLUT 44中并用于控制颜色和透明度的改变。接着,产生的字幕图形平面被传送到图16中的混合单元50,用于将字幕图形平面和视频平面混合产生带有字幕的视频图像帧。
如前所述,用户可以在渲染步骤和合成步骤中改变样式信息。在此情况,DP控制器426接收用户输入并根据用户输入执行渲染和合成。然而,最好限制要由用户改变的样式信息,因为如果用户改变了所有的样式信息,文本字幕可能不能正确再现。即,要由用户改变的样式信息可限于区域位置和字体尺寸。
图18示出了根据本发明的一个示例性实施例,通过解析步骤、渲染步骤和合成步骤解码文本字幕的视图。
即,渲染步骤是通过使用解析步骤中拆分出的渲染信息和对话文本信息来执行的,而执行合成步骤用于通过使用解析步骤中拆分出的合成信息来排列由渲染步骤产生的位图对象。
如上所述,文本字幕流文件依据在本发明的高密度光盘中构建文本字幕流文件的方法,以标准化信息的方式记录在光盘中。又,记录在光盘中的文本字幕根据本发明再现文本字幕的方法和装置有效地被再现。
虽然本发明通过有限数量的实施例来揭示,本领域技术人员,得益于此揭示,将理解大量的以此为基础的改变和变化。例如,当在若干情况下,考虑蓝光ROM光盘进行描述,本发明不限于此标准光盘或光盘。所有这些改变和变化都落入本发明的精神和范围中。