运动图像中对象的元数据流的数据结构,及其搜索方法和重放方法

文档序号:6783785阅读:175来源:国知局
专利名称:运动图像中对象的元数据流的数据结构,及其搜索方法和重放方法
技术领域
本发明涉及组合客户机设备中的运动图像数据和客户机设备或网络上的服务器设备中的元数据,从而实现运动图像超媒体或者在运动图像上显示字幕或气球标记(balloon)的系统中的元数据流的数据结构,及其搜索方法和重放方法。
背景技术
超媒体定义诸如运动图像,静止图像,音频,文本之类媒体间的称为超链接的关系,以便允许这些媒体相互引用或者从一个媒体引用另一媒体。例如,文本数据和静止图像数据被部署在可利用因特网浏览并且用HTML编写的主页上,关于所有这些文本数据和静止图像数据定义链接。通过指定这样的链接,作为链接目的地的相关信息可被立即显示。由于用户能够通过直接指定引起他或她兴趣的短语,访问相关的信息,因此允许一种简单并且直观的操作。
另一方面,在主要包括运动图像数据而不是文本和静止图像数据的超媒体中,定义从出现在运动图像中的诸如人物,物品之类对象到说明它们的相关内容,比如它们的文本数据,静止图像数据的链接。当观众指定某一对象时,相关的内容被显示。此时,为了定义出现在运动图像中的对象的时空区域和相关内容之间的链接,需要指示运动图像中的对象的时空区域的数据(对象区域数据)。
作为对象区域数据,可以使用具有两个或者更多值的遮罩(mask)图像序列,MPEG-4的任意形状编码,在日本专利申请KOKAI公开No.2000-285253中说明的描述图像的特征点的位置的方法,在日本专利申请KOKAI公开No.2001-111996中描述的方法等。为了实现主要包括运动图像数据的超媒体,除了上述数据之外,还需要描述依据图像的指定,显示其它相关内容的动作的数据(动作信息)。下面把除运动图像数据之外的这些数据称为元数据。
准备既记录运动图像数据又记录元数据的记录介质(视频CD,DVD等)的方法可用作向观众提供运动图像数据和元数据的方法。为了提供已作为视频CD或DVD拥有的运动图像数据的元数据,只有元数据能够通过流式传输从网络下载或分发。运动图像数据和元数据都可通过网络分发。此时,元数据最好具有能够有效地使用缓冲器,适合于随机存取,并且抗网络中的任何数据丢失的格式。
当运动图像数据被频繁切换时(例如,当准备在多个摄像机(camera)视角下捕捉的运动图像数据,并且观众能够自由地选择任意摄像机视角时;例如DVD视频的多视角视频),必须对应于运动图像数据的切换,快速切换元数据(参见日本专利申请KOKAI公开No.2000-285253,和2001-111996)。
由于网络上与分发给观众的运动图像相关的元数据包括与运动图像或出现在运动图像中的对象有关的信息,因此元数据可被用于搜索对象。例如,出现的对象的名称或特征允许搜索。此时,最理想的是利用元数据有效地搜索。
此外,当按照流式传输的方式把这样的元数据分发给观众时,元数据最好采取抗网络上的数据丢失的形式。

发明内容
本发明的一个目的是提供一种元数据流的数据结构,和利用所述数据结构的搜索方法,通过利用元数据所述搜索方法能够有效地搜索对象。
本发明的另一目的是提供一种元数据流的数据结构,及所述元数据流的重放方法,所述重放方法能够降低归因于由流式传输中的数据丢失导致的元数据的遗失部分的影响。
本发明的另一目的是提供一种数据大小降低的元数据流的数据结构。
根据本发明的一个方面的元数据流的数据结构包括至少两个存取单元,所述两个存取单元是能够被独立处理的数据单元。这里,存取单元(例如图4、77和78中的Vclick_AU)具有其中描述运动图像中的对象的时空区域的第一数据(例如,对象区域数据400),和规定分别由至少两个不同的存取单元中的对象区域数据指定的运动图像中的对象是否在语义上相同的第二数据(例如,object_id)。存取单元可包括规定寿命(或有效时间),作为关于运动图像的时间轴定义的寿命信息的数据(例如,402,B01/B02,C01/C02)。
这样,在每个存取单元中描述规定语义相同的对象的第二数据(object_id),使得在搜索的搜索结果中不显示具有相同对象ID的存取单元。
存取单元还可具有第三数据(例如object_subid),它规定当分别由至少两个存取单元中的对象区域数据指定的运动图像中的对象语义上相同时,至少两个存取单元中的对象区域数据是否是运动图像中的相同场景的数据。
这样,每个存取单元在其中描述object_id和object_subid,object_id指定多个存取单元中语义相同的对象,object_subid指定每个对象区域数据是相同场景的数据,以便在搜索的搜索结果中不显示具有相同object_id和相同object_subid的存取单元。
此外,可以准备第四数据(例如,连续标志),它指示在具有相同object_id的前一存取单元和下一存取单元中描述的对象区域是否在时间上连续,从而确定遗失的存取单元,或者对对象区域进行插值处理。
此外,文本数据最好被恰当地压缩,以便保存在存取单元中,这种情况下,存取单元包括指示文本数据是否被压缩的数据。
根据本发明,object_id被用于省略具有相同object_id的存取单元的显示,使得不显示许多相似的搜索结果,和进行关键字搜索时不同,从而简化对对象的搜索。
当object_id和object_subid被一起使用时,能够只把出现在不同场景中的对象显示为搜索结果。
指示在具有相同object_id的前一存取单元和下一存取单元中描述的对象区域是否在时间上连续的标志可被用于应付遗失的存取单元。
文本数据的压缩使得能够降低元数据的数据大小,从而提高传输/记录的效率。


图1说明根据本发明的一个实施例的超媒体的显示例子;图2是表示根据本发明的一个实施例的系统的结构的例子的方框图;图3说明根据本发明的一个实施例,对象区域和对象区域数据之间的关系;图4说明根据本发明的一个实施例,对象元数据的存取单元的数据结构的一个例子;图5说明根据本发明的一个实施例,形成Vclick流的方法;图6说明根据本发明的一个实施例,Vclick存取表的结构的例子;图7说明根据本发明的一个实施例,传输分组的结构的例子;图8说明根据本发明的一个实施例,传输分组的结构的另一例子;图9是说明根据本发明的一个实施例,服务器和客户机之间的通信的例子的图表;图10是说明根据本发明的一个实施例,服务器和客户机之间的通信的另一例子的图表;图11是说明根据本发明的一个实施例,Vclick流的数据元素的例子的表格;图12是说明根据本发明的一个实施例,Vclick流的首标的数据元素的例子的表格;图13是说明根据本发明的一个实施例,Vclick存取单元(AU)的数据元素的例子的表格;图14是说明根据本发明的一个实施例,Vclick存取单元(AU)的首标的数据元素的例子的表格;图15是说明根据本发明的一个实施例,Vclick存取单元(AU)的时间戳的数据元素的例子的表格;图16是说明根据本发明的一个实施例,Vclick存取单元(AU)的时间戳跳跃的数据元素的例子的表格;图17是说明根据本发明的一个实施例,对象属性信息的数据元素的例证的表格;图18是说明根据本发明的一个实施例,对象属性信息的类型的例子的表格;图19是说明根据本发明的一个实施例,对象的名称属性的数据元素的例子的表格;图20是说明根据本发明的一个实施例,对象的动作属性的数据元素的例子的表格;图21是说明根据本发明的一个实施例,对象的轮廓属性的数据元素的例子的表格;图22是说明根据本发明的一个实施例,对象的闪烁区属性的数据元素的例子的表格;图23是说明根据本发明的一个实施例,对象的马赛克区属性的数据元素的例子的表格;图24是说明根据本发明的一个实施例,对象的着色区属性的数据元素的例子的表格;图25是说明根据本发明的一个实施例,对象的文本信息数据的数据元素的例子的表格;图26是说明根据本发明的一个实施例,对象的文本属性的数据元素的例子的表格;图27是说明根据本发明的一个实施例,对象的文本突出显示效果属性的数据元素的例子的表格;图28是说明根据本发明的一个实施例,对象的文本突出显示属性的数据元素的另一例子的表格;图29是说明根据本发明的一个实施例,对象的文本闪烁效果属性的数据元素的例子的表格;
图30是说明根据本发明的一个实施例,对象的文本闪烁属性的条目的数据元素的例子的表格;图31是说明根据本发明的一个实施例,对象的文本滚动效果属性的数据元素的例子的表格;图32是说明根据本发明的一个实施例,对象的文本卡拉OK录音效果属性的数据元素的例子的表格;图33是说明根据本发明的一个实施例,对象的文本卡拉OK录音效果属性的数据元素的另一例子的表格;图34是说明根据本发明的一个实施例,对象的层属性的数据元素的例子的表格;图35是说明根据本发明的一个实施例,对象的层属性的条目的数据元素的例子的表格;图36是说明根据本发明的一个实施例,Vclick存取单元(AU)的对象区域数据的数据元素的例子的表格;图37是表示根据本发明的一个实施例,正常的重放开始处理序列(当Vclick数据被保存在服务器中时)的流程图;图38是表示根据本发明的一个实施例,另一正常的重放开始处理序列(当Vclick数据被保存在服务器中时)的流程图;图39是表示根据本发明的一个实施例,正常的重放结束处理序列(当Vclick数据被保存在服务器中时)的流程图;图40是表示根据本发明的一个实施例,随机存取重放开始处理序列(当Vclick数据被保存在服务器中时)的流程图;图41是表示根据本发明的一个实施例,另一随机存取重放开始处理序列(当Vclick数据被保存在服务器中时)的流程图;图42是表示根据本发明的一个实施例,正常的重放开始处理序列(当Vclick数据被保存在客户机中时)的流程图;图43是表示根据本发明的一个实施例,随机存取重放开始处理序列(当Vclick数据被保存在客户机中时)的流程图;图44是表示根据本发明的一个实施例,客户机的过滤操作的流程图;
图45是表示根据本发明的一个实施例,利用Vclick存取表的Vclick流中的存取点搜索序列的流程图(部分1);图46是表示根据本发明的一个实施例,利用Vclick存取表的Vclick流中的存取点搜索序列的流程图(部分2);图47说明根据本发明的一个实施例,其中Vclick_AU有效时间间隔和有效周期不相符的例子;图48说明根据本发明的一个实施例,NULL_AU的数据结构的例子;图49利用根据本发明的一个实施例的NULL_AU,说明Vclick_AU有效时间间隔和有效周期之间的关系的例子;图50是说明当使用根据本发明的一个实施例的NULL_AU时,元数据管理器的处理序列的例子的流程图(部分1);图51是说明当使用根据本发明的一个实施例的NULL_AU时,元数据管理器的处理序列的例子的流程图(部分2);图52是说明当使用根据本发明的一个实施例的NULL_AU时,元数据管理器的处理序列的例子的流程图(部分3);图53说明根据本发明的一个实施例,增强DVD视频盘的结构的例子;图54说明根据本发明的一个实施例,增强DVD视频盘中的目录结构的例子;图55说明根据本发明的一个实施例,Vclick信息的结构的例子(部分1);图56说明根据本发明的一个实施例,Vclick信息的结构的例子(部分2);图57说明根据本发明的一个实施例,Vclick信息的结构的例子(部分3);图58说明根据本发明的一个实施例,Vclick信息的结构例子;图59说明根据本发明的一个实施例,Vclick信息的描述例子1;图60说明根据本发明的一个实施例,Vclick信息的描述例子2;图61说明根据本发明的一个实施例,Vclick信息的描述例子3;
图62说明根据本发明的一个实施例,Vclick信息的描述例子4;图63说明根据本发明的一个实施例,Vclick信息的描述例子5;图64说明根据本发明的一个实施例,Vclick信息的描述例子6;图65说明根据本发明的一个实施例,Vclick信息的描述例子7;图66说明根据本发明的一个实施例,Vclick信息的另一结构例子;图67说明根据本发明的一个实施例,其中Vclick信息选择英语音频Vclick流的例子;图68说明根据本发明的一个实施例,其中Vclick信息选择日语音频Vclick流的例子;图69说明根据本发明的一个实施例,其中Vclick信息选择英语字幕Vclick流的例子;图70说明根据本发明的一个实施例,其中Vclick信息选择日语字幕Vclick流的例子;图71说明根据本发明的一个实施例,其中Vclick信息选择视角1Vclick流的例子;图71说明根据本发明的一个实施例,其中Vclick信息选择视角2Vclick流的例子;图73说明根据本发明的一个实施例,其中Vclick信息选择16∶9(高宽比)Vclick流的例子;图74说明根据本发明的一个实施例,其中Vclick信息选择4∶3(高宽比)信箱显示Vclick流的例子;图75说明根据本发明的一个实施例,其中Vclick信息选择4∶3(高宽比)全景扫描显示Vclick流的例子;图76说明根据本发明的一个实施例的超媒体的显示例子;图77说明根据本发明的一个实施例,对象元数据的存取单元的数据结构的例子;图78说明根据本发明的一个实施例,对象元数据的存取单元的数据结构的例子;图79说明根据本发明的一个实施例,Vclick存取单元的持续时间的数据结构的例子;图80是根据本发明的一个实施例,Vclick存取单元的搜索结果的显示例子的说明图;图81是根据本发明的一个实施例,Vclick存取单元的搜索结果的显示例子的说明图;图82是说明根据本发明的一个实施例,搜索Vclick存取单元的处理的流程的流程图;图83是根据本发明的一个实施例,Vclick存取单元的搜索结果的显示例子的说明图;图84是说明根据本发明的一个实施例,确定和内插失去的Vclick存取单元的处理的流程的流程图;图85是根据本发明的一个实施例,内插失去的Vclick存取单元的方法的说明图;图86是根据本发明的一个实施例,Vclick存取单元的Vclick存取单元首标的数据结构的说明图;图87是说明根据本发明的一个实施例,确定和内插失去的Vclick存取单元的处理的流程的流程图;图88是根据本发明的一个实施例,Vclick存取单元的Vclick存取单元对象的名称属性的数据结构的说明图;图89是根据本发明的一个实施例,Vclick存取单元的Vclick存取单元对象的动作属性的数据结构的说明图;图90是根据本发明的一个实施例,Vclick存取单元的Vclick存取单元对象的文本信息的数据结构的说明图。
具体实施例方式
下面参考附图,说明本发明的一个实施例。
(应用的概述)图1是通过使用根据本发明的对象元数据和屏幕上的运动图像实现的应用(运动图像超媒体)的显示例子。在图1(a)中,附图标记100表示运动图像重放窗口;附图标记101表示鼠标光标。在运动图像重放窗口上重放的运动图像的数据记录在本地运动图像数据记录介质上。附图标记102表示出现在运动图像中的对象的区域。当用户把鼠标光标移到该对象的区域中,并且通过单击鼠标按钮选择该对象时,执行预定的功能。例如在图1(b)中,本地光盘和/或网络上的文件(与单击的对象相关的信息)103被显示。另外,可以执行跳到运动图像的另一场景的功能,重放另一运动图像文件的功能,改变重放模式的功能等。
对象的区域102的数据,当通过单击等指定该区域时客户机的动作数据等将被共同称为对象元数据或Vclick数据。对象元数据可和运动图像数据一起记录在本地运动图像数据记录介质(光盘,硬盘,半导体存储器等)上,或者可被保存在网络上的服务器中,并可通过网络被发送给客户机。下面将详细说明如何表述这种应用。
(系统模型)图2是表示根据本发明的一个实施例的流式设备(兼容网络的光盘播放器)的结构的示意方框图。下面利用图2说明各个构成组件的功能。
附图标记200表示客户机;201表示服务器;221表示连接服务器和客户机的网络。客户机200包含运动图像重放引擎203,Vclick引擎202,盘设备230,用户接口240,网络管理器208和盘设备管理器213。附图标记204-206表示包括在运动图像重放引擎中的装置;207、209-212和214-218表示包括在Vclick引擎中的装置;219和220表示包括在服务器中的装置。客户机200能够重放运动图像数据,并且能够显示用置标语言(例如HTML等)编写的文件,所述文件保存在盘设备230中。另外,客户机200能够显示网络上的文件(例如HTML)。
当与保存在客户机200中的运动图像数据相关的元数据被保存在服务器201中时,客户机200能够利用该元数据和盘设备230中的运动图像数据执行重放过程。响应来自客户机200的请求,服务器201通过网络221把媒体数据M1发送给客户机。客户机200与运动图像的重放同步地处理接收的媒体数据,从而实现超媒体等的附加功能(注意“同步”并不局限于定时的物理完善匹配,相反允许一定的定时误差)。
运动图像重放引擎203被用于重放保存在盘设备230中的运动图像数据,并且具有装置204、205和206。附图标记231表示运动图像数据记录介质(更具体地说,DVD,VCD,录像带,硬盘,半导体存储器等)。运动图像数据记录介质231记录数字和/或模拟运动图像数据。与运动图像数据相关的元数据可和运动图像数据一起被记录在运动图像数据记录介质231上。附图标记205表示运动图像重放控制器,它可根据从Vclick引擎202的接口处理器207输出的“控制信号”,控制来自运动图像数据记录介质231的视频/音频/子图像数据D1的重放。
更具体地说,运动图像重放控制器205能够根据“控制”信号,把指示视频/音频/子图像数据D1的重放状态的“触发”信号输出给接口处理器207,依据运动图像重放模式下,自接口处理器207的任意事件(例如基于用户指令的菜单调用或标题跳转)的产生,产生所述“控制”信号。这种情况下(在与触发信号的输出同步的定时,或者在所述定时之前或之后的恰当定时),运动图像重放控制器205能够把指示性质信息(例如,在播放器中设置的音频语言,子图像字幕语言,重放操作,重放位置,各种时间信息,盘内容等)的“状态”信号输出给接口处理器207。通过交换这些信号,能够启动或停止运动图像读取过程,并且能够实现对运动图像数据中所需位置的访问。
AV解码器206具有对记录在运动图像数据记录介质231上的视频数据,音频数据和子图像数据解码,并输出解码的视频数据(上述视频数据和子图像数据的混合数据)和音频数据的功能。运动图像重放引擎203可具有与根据现有的DVD视频标准制造的标准DVD视频播放器的重放引擎相同的功能。即,图2中的客户机200能够按照和标准DVD视频播放器相同的方式重放具有MPEG2节目流结构的视频数据,音频数据等,从而允许现有DVD视频盘(遵守常规DVD视频标准的盘)的重放(以确保与现有DVD软件的重放兼容性)。
接口处理器207实现模块,比如运动图像重放引擎203,盘设备处理器213,网络管理器208,元数据管理器210,缓冲器管理器211,脚本解释器212,媒体解码器216(包括元数据解码器217),布局管理器215,AV呈现器(renderer)218等之间的接口控制。另外,接口控制器207接收用户操作(对诸如鼠标,触摸面板,键盘之类输入装置的操作)产生的输入事件,并把事件传送给适当的模块。
接口处理器207具有解析Vclick存取表(后面说明)的存取表解析器,解析Vclick信息文件(后面说明)的信息文件解析器,记录Vclick引擎管理的性质信息的性质缓冲器,Vclick引擎的系统时钟,作为运动图像重放引擎中的运动图像时钟204的副本的运动图像时钟等。
网络管理器208具有通过网络,把文件(例如HTML),静止图像数据,音频数据等获取到缓冲器209上的功能,并控制因特网连接单元222的操作。当网络管理器208从已收到用户操作或者来自元数据管理器210的请求的接口处理器207收到连接到网络/从网络断开指令时,它转换因特网连接单元222的连接/断开。当通过网络在服务器201和因特网连接单元222之间建立连接时,网络管理器208交换控制数据和媒体数据(对象元数据)。
要从客户机200传送给服务器201的数据包括会话打开请求,会话关闭请求,媒体数据(对象元数据)传输请求,状态信息(OK,出错等)等等。另外,可以交换客户机的状态信息。另一方面,要从服务器传送给客户机的数据包括媒体数据(对象元数据)和状态信息(OK,出错等)。
盘设备管理器213具有把文件(例如HTML),静止图像数据,音频数据等获取到缓冲器209上的功能,和把视频/音频/子图像数据D1传送给运动图像重放引擎203的功能。盘设备管理器213根据来自元数据管理器210的指令执行数据传输过程。
缓冲器209临时保存通过网络(通过网络管理器)从服务器201发送的媒体数据M1。在一些情况下,运动图像数据记录介质231记录媒体数据M2。在这种情况下,媒体数据M2通过盘设备管理器被保存在缓冲器209中。注意媒体数据包括Vclick数据(对象元数据),文件(例如HTML),和附属于文件的静止图像数据,运动图像数据等。
当媒体数据M2被记录在运动图像数据记录介质231上时,在开始视频/音频/子图像数据D1的重放之前,可预先从运动图像数据记录介质231读出媒体数据M2,并将其保存在缓冲器209中。这是出于下述原因由于媒体数据M2和视频/音频/子图像数据D1在运动图像数据记录介质231上具有不同的数据记录位置,因此如果进行正常重放,那么会发生寻盘等,不能确保无缝重放。上述处理能够避免这种问题。
如上所述,当从服务器201下载的媒体数据M1被保存在缓冲器209中,如同记录在运动图像数据记录介质231上的媒体数据M2一样时,视频/音频/子图像数据D1和媒体数据可被同时读出和重放。
注意缓冲器209的存储容量有限。即,可保存在缓冲器209中的媒体数据M1或M2的数据大小有限。为此,在元数据管理器210和/或缓冲器管理器211的控制(缓冲器控制)下,不必要的数据可被清除。
元数据管理器210管理保存在缓冲器209中的元数据,当从接口处理器207收到与运动图像的重放同步的恰当定时(“运动图像时钟”信号)时,把具有对应时间戳的元数据传送给媒体解码器216。
当缓冲器209中不存在具有对应时间戳的元数据时,它不必被传送给媒体解码器216。元数据管理器210进行控制,以便把从缓冲器209输出的元数据大小的或者来自服务器201或盘设备230的任意大小的数据装入缓冲器209。作为一个实际的过程,元数据管理器210通过接口管理器207,向网络管理器208或盘设备管理器213发送指定大小的元数据获取请求。网络管理器208或盘设备管理器213把指定大小的元数据装入缓冲器209,并通过接口处理器207向元数据管理器210发送元数据获取完成响应。
缓冲器管理器211管理除保存在缓冲器209中的元数据外的数据(文件(例如HTML),附属于文件的静止图像数据和运动图像,等),并且当从接口处理器207收到与运动图像的重放同步的恰当定时(“运动图像时钟”信号)时,把除保存在缓冲器209中的元数据外的数据发送给解析器214和媒体解码器216。缓冲器管理器211可从缓冲器209中删除变得不必要的数据。
解析器214解析用置标语言(例如HTML)编写的文件,把脚本发送给脚本解释器212,并把与布局相关的信息发送给布局管理器215。
脚本解释器212解释并执行从解析器214输入的脚本。当执行脚本时,可以使用从接口处理器207输入的事件和性质的信息。当用户指定运动图像中的对象时,脚本从元数据解码器217被输入到脚本解释器212。
AV呈现器218具有控制视频/音频/文本输出的功能。更具体地说,AV呈现器218根据从布局管理器215输出的“布局控制”信号,控制视频/文本显示位置和显示大小(通常还同时包括显示定时和显示时间)以及音频的水平(通常还同时包括输出定时和输出时间),并根据指定的监视器的类型和/或要显示的视频的类型,进行视频的像素转换。要控制的视频/音频/文本输出是来自运动图像重放引擎203和媒体解码器216的那些视频/音频/文本输出。此外,AV呈现器218具有根据从界面处理器207输出的“AV输出控制”信号,控制从运动图像重放引擎203输入的视频/音频数据和从媒体解码器输入的视频/音频/文本数据的混合或转换的功能。
布局管理器215向AV呈现器218输出“布局控制”信号。“布局控制”信号包括与要输出的运动图像/静止图像/文本数据的大小和位置相关的信息(通常还包括与显示时间,例如显示开始/结束定时和持续时间有关的信息),并被用于关于用于显示数据的布局指示AV呈现器218。布局管理器215检查从界面处理器207输入的诸如用户的单击之类的输入信息,以确定指定的对象,并指令元数据解码器217抽取为指定的对象定义的动作命令,例如相关信息的显示。抽取的动作命令并发送给脚本解释器212并由脚本解释器212执行。
媒体解码器216(包括元数据解码器)对运动图像/静止图像/文本数据解码。这些解码后的视频数据和文本图像数据被从媒体解码器216传送给AV呈现器218。根据来自界面处理器207的“媒体控制”信号的指令,并与来自界面处理器207的“定时”信号同步地,译解这些待解码的数据。
附图标记219表示服务器的元数据记录介质,比如硬盘,半导体存储器,磁带等,它记录要传送给客户机200的元数据。该元数据与记录在运动图像数据记录介质231上的运动图像数据相联系。该元数据后面描述的对象元数据。附图标记220表示服务器的网络管理器,它通过网络221与客户机200交换数据。
(EDVD数据结构和IFO文件)图53表示当增强DVD视频盘被用作运动图像数据记录介质231时的数据结构的例子。增强DVD视频盘的DVD视频区保存具有和DVD视频标准相同的数据结构的DVD视频内容(具有MPEG2节目流结构)。此外,增强DVD视频盘的另一记录区保存允许视频内容的各种重放处理的增强导航(简写为ENAV)内容。注意该记录区还由DVD视频标准识别。
下面说明DVD视频盘的基本数据结构。DVD视频盘的记录区从其内圆周开始依次包括导入区,卷空间和导出区。卷空间包括卷/文件结构信息区和DVD视频区(DVD-Video区域),作为一种选项,还可具有另一记录区(DVD其它区域)。
为UDF(通用光盘格式)桥结构分配卷/文件结构信息区2。根据ISO/IEC13346Part2识别UDF桥格式(bridge format)。识别该卷的究竟包括连续的扇区,并从图53中的卷空间的第一个逻辑扇区开始。前16个逻辑扇区专供ISO9660指定的系统应用之用。为了确保与常规DVD视频标准的兼容性,需要具有这种内容的卷/文件结构信息区。
DVD视频区记录称为视频管理器VMG的管理信息和称为视频标题集VTS的一个或多个视频内容(VTS#1-VTS#n)。VMG是存在于DVD视频区中的所有VTS的管理信息,包括控制数据VMGI,VMG菜单数据VMGM_VOBS(选项),和VMG备份数据。每个VTS包括该VTS的控制数据VTSI,VTS菜单数据VTSM_VOBS(选项),该VTS(标题)的内容(电影等)的数据VTSTT_VOBS,和VTSI备份数据。为了确保与常规DVD视频标准的兼容性,还需要具有这种内容的DVD视频区。
每个标题(VTS#1-VTS#n)的重放选择菜单等由提供者(DVD视频盘的制作者)利用VMG预先给出,特定标题标题(例如VTS#1)中的重放章节选择菜单,记录内容(单元(cell))的重放顺序等由提供者利用VTSI预先给出。于是,光盘的观众(DVD视频播放器的用户)能够根据提供者预先准备的VMG/VTSI的菜单和VTSI中的重放控制信息(节目链信息PGCI),欣赏该光盘的记录内容。但是,就DVD视频标准来说,观众(用户)不能利用不同于提供者准备的VMG/VTSI的方法,重放每个VTS的内容(电影或音乐)。
为允许用户利用不同于提供者准备的VMG/VTSI的方法,重放每个VTS的内容(电影或音乐),以及在增加不同于提供者准备的VMG/VTSI的内容的时候进行重放的方案而作出了图53中所示的增强DVD视频盘。根据常规的DVD视频标准制造的DVD视频播放器不能存取包括在该光盘中的ENAV内容(即使能够存取ENAV内容,它们的内容也不能被使用)。但是,根据本发明的一个实施例的DVD视频播放器能够存取ENAV内容,并且能够使用它们的重放内容。
ENAV内容包括诸如音频数据,静止图像数据,字体/文本数据,运动图像数据,动画数据,Vclick数据之类的数据,还包括(用置标/脚本语言编写的)ENAV文件,作为控制这些数据的重放的信息。所述重放控制信息利用置标语言或脚本语言描述ENAV内容(包括音频,静止图像,字体/文本,运动图像,动画,Vclick等)和/或DVD视频内容的重放方法(显示方法,重放顺序,重放切换序列,要重放的数据的选择等)。例如,可以组合使用诸如HTML(超文本置标语言)/XHTML(可扩展的超文本置标语言),SMIL(同步多媒体集成语言)之类的置标语言,诸如ECMA(欧洲计算机制造商协会)脚本,JavaScript之类的脚本语言等等。
由于除了其它记录区之外,图53中的增强DVD视频盘的内容遵守DVD视频标准,因此利用已流行的DVD视频播放器能够重放记录在DVD视频区上的视频内容(即,该光盘与常规的DVD视频盘兼容)。记录在其它记录区上的ENAV内容不能被常规DVD视频播放器重放(或使用),但是可由根据本发明的一个实施例的DVD视频播放器使用。于是,当利用根据本发明的实施例的DVD视频播放器重放ENAV内容时,用户不仅能够欣赏提供者预先准备的VMG/VTSI的内容,而且还能够享受各种视频重放特征的乐趣。
具体地说,如图53中所示,ENAV内容包括Vclick数据,它包括Vclick信息文件(Vclick Info),Vclick存取表,Vclick流,Vclick信息文件备份(Vclick Info备份)和Vclick存取表备份。
Vclick信息文件是指示附加Vclick流(后面说明)的一部分DVD视频内容(例如附加到DVD视频内容的整个标题,整章,其一部分等)的数据。为每个Vclick流(后面说明)保证Vclick存取表,Vclick存取表被用于存取Vclick流。Vclick包括诸如运动图像中的对象的位置信息,当单击该对象要进行的动作描述之类的数据。Vclick信息文件备份是上述Vclick信息文件的备份,总是具有和Vclick信息文件相同的内容。Vclick存取表备份是Vclick存取表的备份,总是具有和Vclick存取表相同的内容。在图53的例子中,Vclick数据记录在增强DVD视频盘上。但是,如上所述,在一些情况下,Vclick数据保存在网络上的服务器中。
图54表示形成上述Vclick信息文件,Vclick存取表,Vclick流,Vclick信息文件备份和Vclick存取表备份的文件的例子。形成Vclick信息文件的文件(VCKINDEX.IFO)用XML(可扩展的置标语言)编写,说明Vclick流和附加Vclick流的DVD视频内容的位置信息(VTS号,标题号,PGC号等)。Vclick存取表由一个或多个文件(VCKSTR01.IFO-VCKSTR99.IFO或者任意文件名称)构成,一个存取表文件对应于一个Vclick流。
Vclick流文件描述每个Vclick流的位置信息(自文件的头部的相对字节大小)和时间信息(对应运动图像的时间戳或自文件的头部的相对时间信息)之间的关系,并且允许搜索对应于指定时间的重放开始位置。
Vclick流包括一个或多个文件(VCKSTR01.VCK-VCKSTR99.VCK或者任意文件名称),并且可参考上述Vclick信息文件的描述,与附加的DVD视频内容一起被重放。如果存在多个属性(例如日语Vclick数据,英语Vclick数据等),那么对应于不同的属性可形成不同的Vclick流,即不同的文件,或者各个属性可被多路复用以形成一个Vclick流,即一个文件。在前一配置的情况下(对应于不同的属性形成多个Vclick流),能够减少当临时把Vclick数据保存在重放设备(播放器)中时缓冲器被占据的大小。在后一配置的情况下(形成一个Vclick文件以包括不同的属性),当切换属性时,可保持重放一个文件而不必切换文件,从而保证高的切换速度。
注意通过利用例如它们的文件名称,可把每个Vclick流和Vclick存取表联系起来。在上面提及的例子中,一个Vclick存取表(VCKSTRXX.IFO;XX=01-99)被分配给一个Vclick流(VCKSTRXX.VCK;XX=01-99)。从而,除了扩展名之外,通过采用相同的文件名,能够识别Vclick流和Vclick存取表之间的联系。
另外,Vclick信息文件描述每个Vclick流和Vclick存取表之间的联系(并行描述它们),从而识别Vclick流和Vclick存取表之间的联系。
Vclick信息文件备份由VCKINDEX.BUP文件形成,具有和上述Vclick信息文件(VCKINDEX.IFO)相同的内容。如果由于某一原因(由于光盘上的划痕,污点等),不能装入VCKINDEX.IFO,那么通过改为装入该VCKINDEX.BUP,能够实现所需的过程。Vclick存取表备份由VCKSTR01.BUP-VCKSTR99.BUP文件形成,它具有和上述Vclick存取表(VCKSTR01.IFO-VCKSTR99.IFO)相同的内容。一个Vclick存取表备份(VCKSTRXX.BUP;XX=01-99)被分配给一个Vclick存取表(VCKSTRXX.IFO;XX=01-99),并且除了扩展名之外采用相同的文件名,从而识别Vclick存取表和Vclick存取表备份之间的联系。如果由于某一原因(由于光盘上的划痕,污点等),不能装入VCKSTRXX.IFO,那么通过改为装入该VCKSTRXX.BUP,能够实现所需的过程。
图55-57表示Vclick信息文件的结构的例子。Vclick信息文件由XML构成,首先说明XML的使用,随后说明由XML构成的Vclick信息文件。此外,利用<vclickinfo>标记说明Vclick信息文件的内容。
<vclickinfo>字段包括0或1个<vmg>标记和0个或1个或更多的<vts>标记。<vmg>字段代表DVD视频中的VMG空间,指示在<vmg>字段中描述的Vclick流被附加到VMG空间的DVD视频数据上。另外,<vts>字段代表DVD视频中的VTS空间,通过在<vts>标记中附加num属性指示VTS空间的编号。例如<vts num=“n”>代表第n个VTS空间。它指示在<vts num=“n”>字段中描述的Vclick流被附加到形成第n个VTS空间的DVD视频数据上。
<vmg>字段包括0个或1个或更多的<vmgm>标记。<vmgm>字段代表VMG空间中的VMG菜单域,通过在<vmgm>标记中附加num属性,指明VMG菜单域的编号。例如<vmgm num=“n”>指示第n个VMG菜单域。它指示在<vmgm num=“n”>字段中描述的Vclick流被附加到形成第n个VMG菜单域的DVD视频数据上。
此外,<vmgm>字段包括0个或1个或更多的<pgc>标记。<pgc>字段代表VMG菜单域中的PGC(节目链),通过在<pgc>标记中附加num属性,指明PGC的编号。例如<pgc num=“n”>指示第n个PGC。它指示在<pgc num=“n”>字段中描述的Vclick流被附加到形成第n个PGC的DVD视频数据上。
接下来,<vts>字段包括0个或1个或更多的<vts_tt>标记和0个或1个或更多的<vtsm>标记。<vts_tt>字段代表VTS空间中的标题域,通过在<vts_tt>标记中附加num属性,指明标题域的编号。例如<vts_ttnum=“n”>指示第n个标题域。它指示在<vts_tt num=“n”>字段中描述的Vclick流被附加到形成第n个标题域的DVD视频数据上。
<vtsm>字段代表VTS空间中的VTS菜单域,通过在<vtsm>标记中附加num属性,指明VTS菜单域的编号。例如<vtsm num=“n”>指示第n个VTS菜单域。它指示在<vtsm num=“n”>字段中描述的Vclick流被附加到形成第n个菜单域的DVD视频数据上。
此外,<vts_tt>或<vtsm>字段包括0个或1个或更多的<pgc>标记。<pgc>字段代表标题或VTS菜单域中的PGC(节目链),通过在<pgc>标记中附加num属性,指明PGC的编号。例如<pgc num=“n”>指示第n个PGC。它指示在<pgc num=“n”>字段中描述的Vclick流被附加到形成第n个PGC的DVD视频数据上。
在图55-57中所示的例子中,6个Vclick流被附到DVD视频内容上。例如,利用<vmg>中的<vmgm num=“1”>中的<pgc num=“1”>中的<object>指定第一个Vclick流。这表明由<object>标记指定的Vclick流被附加到在VMG空间中的第一个VMG菜单域中的第一个PGC上。
<object>标记利用“数据”属性指示Vclick流的位置。例如,在本发明的实施例中,Vclick流的位置由“file://dvdrom:/dvd enav/vclick1.vck”指定。注意“file://dvdrom:/”指示Vclick流存在于增强DVD盘中,“dvd_enav/”指示该Vclick流存在于光盘中的“DVD_ENAV”目录下,“vclick1.vck”指示Vclick流的文件名。通过包括描述Vclick流的<object>标记和描述Vclick存取表的<object>标记,能够描述与Vclick流对应的Vclick存取表的信息。在<object>标记中,利用“数据”属性指示Vclick存取表的位置。例如,在本发明的实施例中,Vclick存取表的位置由“file://dvdrom:/dvd enav/vclick1.ifo”指定。注意“file://dvdrom:/”指示Vclick存取表存在于增强DVD盘中,“dvd_enav/”指示该表存在于光盘中的“DVD_ENAV”目录下,“vclick1.ifo”指示Vclick存取表的文件名。
利用<vmg>中的<vmgm num=“n”>中的<object>标记指定下一Vclick流。这指示由<object>标记指定的Vclick流被附到VMG空间中的整个第一个VMG菜单域中。<object>标记利用“数据”属性指示Vclick流的位置。例如,在本发明的实施例中,Vclick流的位置由“http://www.vclick.com/dvd_enav/vclick2.vck”指定。注意“http://www.vclick.com/dvd_enav/”指示该Vclick流存在于外部服务器中,“vclick2.vck”指示该Vclick流的文件名。
至于Vclick存取表,利用<object>标记中的“数据”属性类似地指出Vclick存取表的位置。例如,在本发明的实施例中,Vclick存取表的位置由“http://www.vclick.com/dvd_enav/vclick2.ifo”指定。注意“http://www.vclick.com/dvd_enav/”指示该Vclick存取表存在于外部服务器中,“vclick2.ifo”指示该Vclick存取表的文件名。
利用<vts num=“1”>中的<vts_tt num=“1”>中的<pgc num=“1”>中的<object>标记指定第三个Vclick流。这指示由该<object>标记指定的Vclick流被附到第一个VTS空间中的第一个标题域中的第一个PGC上。在该<obiect>标记中,利用“数据”属性指示该Vclick流的位置。例如,在本发明的实施例中,该Vclick流的位置由“file://dvdrom:/dvd_enav/vclick3.vck”指定。注意“file://dvdrom:/”指示该Vclick流存在于增强DVD盘中,“dvd_enav/”指示该Vclick流存在于光盘中的“DVD_ENAV”目录下,“vclick3.vck”指示该Vclick流的文件名。
利用<vts num=“1”>中的<vts_tt num=“n”>中的<object>标记指定第四个Vclick流。这指示由该<object>标记指定的Vclick流被附到第一个VTS空间中的第一个标题域上。在该<object>标记中,利用“数据”属性指示该Vclick流的位置。例如,在本发明的实施例中,该Vclick流的位置由“file://dvdrom:/dvd_enav/vclick4.vck”指定。注意“file://dvdrom:/”指示该Vclick流存在于增强DVD盘中,“dvd_enav/”指示该Vclick流存在于光盘中的“DVD_ENAV”目录下,“vclick4.vck”指示该Vclick流的文件名。
利用<vts num=“1”>中的<vtsm num=“n”>中的<object>标记指定第五个Vclick流。这指示由该<object>标记指定的Vclick流被附到第一个VTS空间中的第一个VTS菜单域上。在该<object>标记中,利用“数据”属性指示该Vclick流的位置。例如,在本发明的实施例中,该Vclick流的位置由“file://dvdrom:/dvd_enav/vclick5.vck”指定。注意“file://dvdrom:/”指示该Vclick流存在于增强DVD盘中,“dvd_enav/”指示该Vclick流存在于光盘中的“DVD_ENAV”目录下,“vclick5.vck”指示该Vclick流的文件名。
利用<vts num=“1”>中的<vtsm num=“n”>中的<pgc num=“1”>中的<object>标记指定第六个Vclick流。这指示由该<object>标记指定的Vclick流被附到第一个VTS空间中的第一个VTS菜单域中的第一个PGC上。在该<object>标记中,利用“数据”属性指示该Vclick流的位置。例如,在本发明的实施例中,该Vclick流的位置由“file://dvdrom:/dvd_enav/vclick6.vck”指定。注意“file://dvdrom:/”指示该Vclick流存在于增强DVD盘中,“dvd_enav/”指示该Vclick流存在于光盘中的“DVD_ENAV”目录下,“vclick6.vck”指示该Vclick流的文件名。
图58表示在上述Vclick Info描述例子中说明的Vclick流和DVD视频内容之间的关系。从图58可看出,上述第五个和第六个Vclick流被附加到第一个VTS空间中的第一个VTS菜单域中的第一个PGC上。这表明两个Vclick流被附加到DVD视频内容上,并且可由用户或内容提供者(内容创作者)切换。
当用户切换这些流时,用于切换Vclick流的“Vclick流按钮”被提供给遥控器(未示出)。借助该按钮,用户能够自由地改变两个或更多的Vclick流。当内容提供者改变这些流时,用置标语言描述Vclick切换命令(“changeVclick()”),并在内容提供者用置标语言指定的定时发出该命令,从而自由地改变两个或更多的Vclick流。
图59-65表示了Vclick信息文件的其它描述例子(七个例子)。在第一个例子(图59)中,记录在光盘上的两个Vclick流(Vclick流#1和#2)和记录在服务器上的一个Vclick流(Vclick流#3)被附加到一个PGC(PGC#1)上。如上所述,用户和内容提供者能够自由地切换这些Vclick流#1、#2和#3。
当内容提供者切换Vclick流时,例如,当重放设备被指令重放Vclick流#3,但是与外部服务器连接时,或者当其与外部服务器连接,但是不能从外部服务器下载Vclick流#3时,可改为重放Vclick流#1或#2。<object>标记中的“优先权”属性指示切换Vclick流时的顺序。例如,当用户(利用“Vclick切换按钮”)或者内容提供者(利用Vclick切换命令“changeVclick()”)顺序切换Vclick流时,如上所述,参考“优先权”属性中的顺序,切换Vclick流,比如Vclick流#1→Vclick流#2→Vclick流#3→Vclick流#1...。
内容提供者还可通过利用Vclick切换命令(“changeVclick(priority)”),在用置标语言指定的定时发出命令,选择任意Vclick流。例如,当发出“changeVclick(2)”命令时,重放具有“优先权”属性=2的Vclick流#2。
在下一例子(图60)中,记录在光盘上的两个Vclick流(Vclick流#1和#2)被附加到一个PGC(PGC#2)上。注意<object>标记中的“音频”属性对应于音频流编号。该例子指示当DVD视频内容的音频流#1被重放时,Vclick流#1(Vclick1.vck)被同步重放,或者当DVD视频内容的音频流#2被重放时,Vclick流#2(Vclick2.vck)被同步重放。
例如,当视频内容的音频流#1包括日语音频,音频流#2包括英语音频时,用日语形成Vclick流#1,如图68中所示(即,描述Vclick对象的日语注释的站点或网页,或者作为单击某一Vclick对象后的存取目的地的日语站点或网页),用英语形成Vclick流#2,如图67中所示(即,描述Vclick对象的英语注释的站点或网页,或者作为单击某一Vclick对象后的存取目的地的英语站点或网页),从而把DVD视频内容的音频语言调整为Vclick流的语言。实际上,重放设备参考SPRM(1)(音频流编号),搜索该Vclick信息文件寻找对应的Vclick流,并重放所述对应的Vclick流。
在第三个例子(图61)中,记录在光盘上的三个Vclick流(Vclick流#1、#2和#3)被附加到一个PGC(PGC#3)上。注意<object>标记中的“subpic”属性对应于子图像流编号(子图像编号)。该例子指示当DVD视频内容的子图像流#1被重放时,Vclick流#1(Vclick1.vck)被同步重放,当子图像流#2被重放时,Vclick流#2(Vclick2.vck)被同步重放,当子图像流#3被重放时,Vclick流#3(Vclick3.vck)被同步重放。
例如,当子图像流#1包括日语字幕,子图像流#3包括英语字幕时,用日语形成Vclick流#1,如图70中所示(即,描述Vclick对象的日语注释的站点或网页,或者作为单击某一Vclick对象后的存取目的地的日语站点或网页),用英语形成Vclick流#3,如图69中所示(即,描述Vclick对象的英语注释的站点或网页,或者作为单击某一Vclick对象后的存取目的地的英语站点或网页),从而把DVD视频内容的字幕语言调整为Vclick流的语言。实际上,重放设备参考SPRM(2)(子图像流编号),搜索该Vclick信息文件寻找对应的Vclick流,并重放所述对应的Vclick流。
在第四个例子(图62)中,记录在光盘上的两个Vclick流(Vclick流#1和#2)被附加到一个PGC(PGC#4)上。注意<object>标记中的“视角”属性对应于视角编号。该例子指示当DVD视频内容的视角#1被重放时,Vclick流#1(Vclick1.vck)被同步重放(图71),当视角#3被重放时,Vclick流#2(Vclick2.vck)被同步重放(图2),当视角#2被重放时,不重放任何Vclick流。通常,当视角不同时,Vclick对象要被附到的人物等的位置不同。于是,必须为各个视角形成Vclick流(各个Vclick对象数据可在一个Vclick流上被多路复用)。实际上,重放设备参考SPRM(3)(视角编号),搜索该Vclick信息文件寻找对应的Vclick流,并重放所述对应的Vclick流。
在第五个例子(图63)中,记录在光盘上的三个Vclick流(Vclick流#1、#2和#3)被附加到一个PGC(PGC#5)上。注意<object>标记中的“高宽比”属性对应于(默认的)高宽比,<object>标记中的“显示”属性对应于(默认的)显示模式。
该例子指示DVD视频内容本身具有“16∶9”高宽比,并且被允许产生给具有“16∶9”高宽比的TV监视器的“宽”输出,和给具有“4∶3”高宽比的TV监视器的“信箱(letter box)(lb)”或“全景扫描(ps)”输出。相反,当(默认)显示高宽比为“16∶9”,并且(当前的)显示模式为“宽”时,Vclick流#1被同步重放(图73),当(默认)显示高宽比为“4∶3”,并且(当前的)显示模式为“lb”时,Vclick流#2被同步重放(图74),当(默认)显示高宽比为“4∶3”,并且(当前的)显示模式为“ps”时,Vclick流#3被同步重放(图75)。例如,当以“16∶9”高宽比显示视频内容时,作为Vclick对象显示在人物旁边的气球标记在“4∶3”高宽比的“信箱”显示的情况下,可被显示在屏幕的上部或下部(黑色)部分上,或者在“4∶3”高宽比的“全景扫描”显示的情况下,可被移动到可显示的位置,尽管屏幕的左端和右端未被显示。
另外,气球大小可被降低或增大,并且可对应于屏幕配置降低或增大气球中的文本大小。这样,可对应于DVD视频内容的显示状态显示Vclick对象。实际上,重放设备参考SPRM(14)(关于视频的播放器配置)中的“默认显示高宽比”和“当前显示模式”,搜索该Vclick信息文件寻找对应的Vclick流,并重放所述对应的Vclick流。
在第六个例子(图64)中,记录在光盘上的一个Vclick流(Vclick流#1)被附加到一个PGC(PGC#6)上。如同上面的例子中一样,<object>标记中的“高宽比”属性对应于(默认的)显示高宽比,<object>标记中的“显示”属性对应于(当前的)显示模式。在本例中,DVD视频内容本身具有“4∶3”的高宽比,当按照“标准”模式输出内容时,Vclick流被供给具有“4∶3”高宽比的TV监视器。
最后,上述功能可以组合使用,如一个例子(图65)中所示。记录在光盘上的四个Vclick流(Vclick流#1、#2、#3和#4)被附加到一个PGC(PGC#7)上。在本例中,当DVD视频内容的音频流#1,子图像流#1和视角#1被重放时,Vclick流#1(Vclick1.vck)被同步重放;当音频流#1,子图像流#2和视角#1被重放时,Vclick流#2(Vclick2.vck)被同步重放;当视角#2被重放时,Vclick流#3(Vclick3.vck)被同步重放;当音频流#2和子图像流#2被重放时,Vclick流#4(Vclick4.vck)被同步重放。
图66结合所述七个例子(图59-65)说明DVD视频内容的PGC数据和要被附加到它们的属性上的Vclick流之间的关系。
根据本发明的实施例的重放设备(增强DVD播放器)能够通过预先装入Vclick信息文件,或者在DVD视频内容的重放之前,根据需要参考该文件,对应于DVD视频内容的重放状态,顺序改变要附加的Vclick流。这样,当形成Vclick流时,能够保证高的自由度,并且能够降低创作的工作量。
通过增大单一的Vclick内容的文件的数目(流的数目),并降低每个文件大小,能够降低为保存Vclick流,重放设备所需的区域(缓冲区)。
尽管文件大小增大,通过减小文件的数目(即,形成一个流以包括多个Vclick数据),当DVD视频内容的重放状态改变时,能够平滑地切换Vclick数据。
(数据结构和存取表的概述)Vclick流包括与出现于记录在运动图像数据记录介质231上的运动图像中的对象(例如,人物,物品等)的区域相关的数据,客户机200中对象的显示方法,和当用户指定对象时,客户机要采取的动作的数据。下面说明Vclick数据的结构及其元素的概述。
下面首先说明作为与出现在运动图像中的对象(例如,人物,物品等)的区域相关的数据的对象区域数据。
图3说明对象区域数据的结构。附图标记300表示所在地,它由一个对象的区域形成,并被表示在X(视频图像的水平坐标值),Y(视频图像的垂直坐标值)和Z(视频图像的时间)的三维(3D)坐标系上。对于每个预定的时间范围(例如0.5秒-1.0秒之间,2秒-5秒之间等),对象区域被转换成对象区域数据。图3中,一个对象区域300被转换成五个对象区域数据301-305,它们被保存在独立的Vclick存取单元(AU后面说明)中。作为此时的一种转换方法,可以使用例如MPEG-4形状编码,MPEG-7时空定位器等。由于MPEG-4形状编码和MPEG-7时空定位器是通过采用对象区域之间的时间相关性,减小数据大小的方案,因此它们存在问题数据不能被中途解码,如果指定时间的数据被忽略,那么相邻时间的数据不能被解码。由于通过在时间方向上划分如图3中所示,持续较长时间连续出现在运动图像中的对象的区域,将其转换成数据,因此允许容易的随机存取,部分数据的省略的影响可被降低。每个Vclick_AU只在运动图像中的特定时间间隔中有效。Vclick_AU的有效时间间隔被称为Vclick_AU的寿命。
图4表示在本发明的实施例中使用的Vclick流中的可被独立存取的一个单元(Vclick_AU)的结构。附图标记400表示对象区域数据。如同利用图3说明的那样,指定时间间隔中一个对象区域的所在地(locus)被转换成数据。其中描述该对象区域的时间间隔被称为Vclick_AU的有效时间。通常,Vclick_AU的有效时间等于该Vclick_AU的寿命。但是,Vclick_AU的有效时间可被设置成该Vclick_AU的寿命的一部分。
附图标记401表示Vclick_AU的首标(header)。首标401包括用于识别Vclick_AU的ID,和用于指定该AU的数据大小的数据。附图标记402表示指示该Vclick_AU的寿命的开始时间的时间戳。由于Vclick_AU的有效时间和寿命通常彼此相等,因此时间戳还指示对应于在对象区域描述的对象区域的运动图像的时间。如图3中所示,由于对象区域覆盖一定的时间范围,因此时间戳402通常描述对象区域的头部的时间。当然,该时间戳可以描述在对象区域数据中描述的对象区域的时间间隔或者终止时间。附图标记403表示对象属性信息,它包括例如对象的名称,指定该对象时的动作描述,对象的显示属性等。后面将详细说明Vclick_AU中的这些数据。服务器最好按照时间戳的顺序记录Vclick_AU,以便便于传输。
图5说明通过按照时间戳的顺序排列多个AU,产生Vclick流的方法。图5中,假定在两个摄像机视角,即,摄像机视角1和2,当在客户机切换摄像机视角时,要显示的运动图像被切换。另外,假定存在两种可选择的语言模式日语和英语,并且对应于这些语言准备不同的Vclick数据。
参见图5,用于摄像机视角1和日语的Vclick_AU是500、501和502,用于摄像机视角2和日语的Vclick_AU是503。另外,用于英语的Vclick_AU是504和505。每个AU 500-505是对应于运动图像中的一个对象的数据。即,如前利用图3和4说明的那样,与一个对象相关的元数据由多个Vclick_AU构成(图5中,一个矩形代表一个AU)。图5的横坐标对应于运动图像中的时间,对应于对象的出现时间画出AU500-505。
可任意确定各个Vclick_AU的时间划分。但是,当使Vclick_AU的划分对准所有对象时,如图5中所示,数据管理变得容易。附图标记506表示由这些Vclick_AU(500-505)形成的Vclick流。通过在首标507之后,按照时间戳排列Vclick_AU,形成Vclick流。
由于选择的摄像机视角很可能在观看期间被用户切换,因此最好通过多路复用不同摄像机视角的Vclick_AU,准备Vclick流。这是因为在客户机允许迅速的显示切换。例如,当Vclick数据保存在服务器201中时,如果包括多个摄像机视角的Vclick_AU的Vclick流被完整无缺地传送给客户机,那么由于对应于当前观看的摄像机视角的Vclick_AU总是到达客户机,因此能够瞬间切换摄像机视角。当然,客户机200的设置信息可被发送给服务器201,可以只从Vclick流有选择地传送需要的Vclick_AU。这种情况下,由于客户机必须与服务器通信,因此处理稍稍延迟(不过如果在通信中使用诸如光纤之类的高速装置,能够解决该处理延迟问题)。
另一方面,由于诸如运动图像标题,DVD视频的PGC,运动图像的高宽比,观看区域之类的属性并不如此频繁地被改变,因此它们最好被准备成独立的Vclick流,以便减轻客户机的处理,和降低网络上的负载。如上所述那样,参考Vclick信息文件能够确定多个Vclick流中要选择的Vclick流。
下面说明另一种Vclick_AU选择方法。下面分析一种情况,其中客户机从服务器下载Vclick流506,并且只使用在客户机一方所需的AU。这种情况下,用于识别所需的Vclick_AU的ID可被分配给各个AU。这样的ID被称为过滤ID(filter ID)。
如下所述在Vclick信息文件中描述所需AU的条件。注意Vclick信息文件可存在于运动图像数据记录介质231上,或者可通过网络从服务器201下载。通常从和Vclick流的介质相同的介质,比如运动图像数据记录介质,服务器等供给Vclick信息文件<pgc num=″7″>
//audio/definition of Vclick stream by subpicture stream and angle<object data=″file://dvdrom:/dvd_enav/vclick1.vck″audio=″1″subpic=″1″angle=″1″>
<object data=″file://dvdrom:/dvd_enav/vclick1.vck″audio=″3″subpic=″2″angle=″1″/>
</pgc>
这种情况下,对于一个Vclick流,说明两种不同的过滤条件。这指示根据在客户机的系统参数的设置,可从单个Vclick流中选择具有不同属性的两个不同的Vclick_AU。
如果AU不具有任何过滤ID,那么元数据管理器210检查AU的时间戳,属性等,选择和指定条件相符的AU,从而识别所需的Vclick_AU。
下面根据上面的描述,解释利用过滤ID的一个例子。在上面的条件下,“audio”代表用4位数值表述的音频流编号。同样地,向子图像编号subpic和视角编号angle分配4位数值。这样,可用12位数值这三个参数的状态。即,三个参数audio=“3”,subpic=“2”和angle=“1”可由0x321(hex)表示。该值被用作过滤ID。即,每个Vclick_AU在Vclick_AU首标中具一个12位的过滤ID(参见图14中的filtering_id)。通过向用于识别每个AU的独立参数值赋予数值,这种方法把过滤ID定义成数值的组合。注意可在不同于Vclick_AU首标的字段中描述过滤ID。
图44表示客户机的过滤操作。元数据管理器210从接口处理器207接收运动图像时钟值T和过滤IDx(步骤S4401)。元数据管理器210从保存在缓冲器209中的Vclick流中找出其寿命包括运动图像时钟值T的全部Vclick_AU(步骤S4402)。为了找出这样的AU,可通过利用Vclick存取表,使用图45和46中所示的过程。元数据管理器210检查Vclick_AU首标,只把具有和x相同的过滤ID的AU发送给媒体解码器216(步骤S4403-S4405)。
借助上述过程,从缓冲器209发送给元数据解码器217的Vclick_AU具有下述性质i)所有这些AU具有相同的寿命,所述寿命包括运动图像时钟T。
ii)所有这些AU具有相同的过滤IDx。
除了这些AU之外,在对象元数据流中不存在满足上述条件i)和ii)的AU。
在上面的说明中,过滤ID由赋予参数的值的组合定义。另一方面,可直接在Vclick信息文件中指定过滤ID。例如,如下所示在IFO文件中定义过滤ID<pgc num=″5″>
<param angle=″1″>
<object data=″file://dvdrom:/dvd_enav/vclick1.vck″filter_id=″3″/>
</param>
<param angle=″3″>
<object data=″file://dvdrom:/dvd_enav/vclick2.vck″filter_id=″4″/>
</param>
<param aspect=″16:9″display=″wide″>
<object data=″file://dvdrom:/dvd_enav/vclick1.vck″filter_id=″2″/>
</param>
</pgc>
上述描述指示根据指定的参数确定Vclick流和过滤ID值。按照和图44中相同的过程完成依据过滤ID的Vclick_AU的选择和从缓冲器209到媒体解码器217的AU的传送。根据Vclick信息文件的指定,当播放器的视角编号为“3”时,只有其过滤ID值等于“4”的Vclick_AU被从保存在缓冲器209中的文件“Vclick2.vck”中的Vclick流发送给媒体解码器217。
当Vclick数据被保存在服务器201中,并且将从其头部开始重放运动图像时,服务器201只需要从头部开始依次把Vclick流分发给客户机。但是,如果进行随机存取,那么必须从Vclick流的中间分发数据。此时,为了迅速访问Vclick流中的所需位置,需要Vclick存取表。
图6表示了Vclick存取表的一个例子。该表事先准备好,并被记录在服务器201中。该表也可被保存在Vclick信息文件中。附图标记600表示列举运动图像的时间戳的时间戳序列。附图标记601表示存取点序列,它对应于运动图像的时间戳,列举自Vclick流的头部的偏移值。如果对应于运动图像的随机存取目的地的时间戳的值未被保存在Vclick存取表中,那么参考其值与该时间戳接近的时间戳的存取点,在参考Vclick流中与该存取点接近的时间戳的时候,寻找传输开始位置。另一方面,搜索Vclick存取表,寻找在运动图像的随机存取目的地的时间戳之前的时间的时间戳,并从对应于该时间戳的存取点传送该Vclick流。
服务器保存Vclick存取表,并使用它以方便响应来自客户机的随机存取,搜索要传送的Vclick数据。但是,保存在服务器中的Vclick存取表可被下载到客户机,客户机可搜索Vclick流。特别地,当Vclick流同时从服务器被下载到客户机时,Vclick存取表也同时从服务器被下载到客户机。
另一方面,可以提供记录Vclick流的运动图像记录介质,比如DVD等。这种情况下,对于客户机来说,使用Vclick存取,以便响应重放内容的随机存取,搜索要使用的数据也是有效的。这种情况下,Vclick存取表被记录在运动图像记录介质中,如同Vclick流一样,客户机把感兴趣的Vclick存取表从运动图像记录介质读出到其内部主存储器等中,并使用所述感兴趣的Vclick存取表。
当随机重放运动图像等时产生的Vclick流的随机重放由元数据解码器217处理。在图6中所示的Vclick存取表中,时间戳时间是具有记录在运动图像记录介质上的运动图像的时间戳格式的时间信息。例如,当记录时,依据MPEG-2压缩运动图像,时间具有MPEG-2PTS格式。此外,当如同DVD中那样,运动图像具有标题,节目链等的导航结构时,表述它们的参数(TTN、VTS_TTN、TT_PGCN、PTTN等)也包括在时间的该格式中。
假定为一组时间戳值定义某一完全自然排序的关系。例如,就PTS来说,可引入如同时间一样的自然排序关系。就包括DVD参数的时间戳来说,可根据DVD的自然重放顺序引入排序关系。每个Vclick流满足下述条件i)Vclick流中的Vclick_AU按照时间戳的升序排列。此时,如下确定每个Vclick_AU的寿命假定t是指定AU的时间戳值。指定AU之后的AU的时间戳值u满足u≥t。假定t′是这种“u”中的最小一个,它满足u≠t。具有作为开始时间的时间t和作为结束时间的t′的时段被定义为指定AU的寿命。如果在指定AU之后,不存在具有满足u>t的时间戳值的任何AU,那么指定AU的寿命的结束时间和运动图像的结束时间一致。
ii)每个Vclick_AU的有效时间对应于在包括于该Vclick_AU中的对象区域数据中描述的对象区域的时间范围。
注意下述约束条件与Vclick流的有效时间相关Vclick_AU的有效时间包括在该AU的寿命中。
满足上述约束i)和ii)的Vclick流具有下述良好性质首先,能够实现高速随机存取,如后所述。其次,能够简化当重放Vclick流时的缓冲器处理。缓冲器保存各个Vclick_AU的Vclick流,并除去具有更大时间戳的那些AU。如果不存在上述两个假定,那么为了把有效的AU保存在缓冲器上,需要更大的缓冲器和复杂的管理器管理。在Vclick流满足上述两个条件i)和ii)的假定下,给出下面的说明。
在图6中所示的Vclick存取表,存取点偏移量指示Vclick流上的位置。例如,Vclick流是文件,偏移量指示该文件的文件指针值。与时间戳时间形成一对的存取点偏移量与时间戳时间的关系如下所示i)偏移量指示的位置是指定Vclick_AU的头部位置。
ii)该AU的时间戳值等于或小于时间的值。
iii)紧接在该AU之前的AU的时间戳值确实小于时间。
在Vclick存取表中,可间隔任意一段时间,而不必间隔相等的一段时间排列“time”。但是,考虑到搜索过程等的便利,最好间隔相等的一段时间排列它们。
图45和46表示利用Vclick存取表的实际搜索过程。当预先把Vclick流从服务器下载到缓冲器209时,Vclick存取表也从服务器被下载并被保存到缓冲器209中。当Vclick流和Vclick存取表都被保存在运动图像数据记录介质231中时,它们从盘设备230被装入并被保存到缓冲器209中。
当从接口处理器207收到运动图像时钟T时(步骤S4501),元数据管理器210搜索保存在缓冲器209中的Vclick存取表的时间,寻找满足t′≤T的最大时间t′(步骤S4502)。利用对分搜索作为搜索算法,能够进行高速搜索。Vclick存取表中与获得的时间t′形成一对的偏移值被代入变量h中(步骤S4503)。元数据管理器210查找位于距离保存在缓冲器209中的Vclick流的头部第h字节位置的AU(步骤S4504),并把x的时间戳值代入变量t中(步骤S4505)。根据上面提及的条件,由于t等于或小于t′,因此t≤T。
元数据管理器210从x开始依次检查Vclick流中的Vclick_AU,并把下一个AU设成新的x(步骤S4506)。x的偏移值被代入变量h'中(步骤S4507),x的时间戳值被代入变量u中(步骤S4508)。如果u>T(步骤4509中“是”),那么元数据管理器210指令缓冲器209把Vclick流的从偏移量h到h′的数据发送给媒体解码器216(步骤S4510和S4511)。另一方面,如果u≤T(步骤S4509中“否”),并且u>T(步骤S4601中“是”),那么用u更新t的值(即,t=u)(步骤S4602)。随后,用h′更新变量h的值(即,h=h')(步骤S4603)。
如果下一AU存在于Vclick流上(即,如果x不是最后的AU)(步骤S4604中“是”),那么所述下一个AU被设置成新的x,以便重复上述过程(流程返回图45中的步骤S4506)。如果x是Vclick流的最后一个Vclick_AU(步骤S4604中“否”),那么元数据管理器210指令缓冲器209把Vclick流的从偏移量h到尾部的数据发送给媒体解码器216(步骤S4605和S4606)。
借助上述过程,从缓冲器209发送给媒体解码器216的Vclick_AU显然具有下述性质i)所有Vclick_AU具有相同的寿命。另外,运动图像时钟T包括在该寿命中。
ii)除了这些AU之外,在Vclick流中不存在满足上述条件i)的Vclick_AU。
Vclick流中的每个Vclick_AU的寿命包括AU的有效时间,但是它们并不总是匹配。实际上,图47中所示的情况是可能的。分别描述对象1和2的AU#1和AU#2的寿命一直到AU#3的寿命的开始时间。但是,各个AU的有效时间并不和它们的寿命相符。
下面分析其中按照#1、#2和#3的顺序排列AU的Vclick流。假定运动图像时钟T被指定。根据图45和46中所示的过程,AU#1和AU#2从该Vclick流被发送给媒体解码器216。由于媒体解码器216能够识别接收的Vclick_AU的有效时间,因此该过程能够实现随机存取。但是实际上,由于在其中不存在任何对象的时间T内,发生自缓冲器209的数据传送和媒体解码器216中的解码过程,因此计算效率降低。通过引入称为NULL_AU的特殊Vclick_AU中解决该问题。
图48表示了NULL_AU的结构。不同于标准的Vclick_AU,NULL_AU不具有任何对象区域数据。于是,NULL_AU只具有寿命,但是不具有任何有效时间。NULL_AU的首标包括指示所考虑的AU是NULL_AU的标志。在不存在对象的任何有效时间的时间范围内,NULL_AU可被插入Vclick流中。
元数据管理器210并不向媒体解码器216输出任何NULL_AU。当引入NULL_AU时,图47像例如图49那样变化。图49中的AU#4是NULL_AU。这种情况下,在Vclick流中,Vclick_AU按照AU#′1,AU#′2,AU#4和AU#3的顺序排列。图50、51和52结合包括NULL_AU的Vclick流,表示了对应于图45和46的元数据管理器210的操作。
即,元数据管理器210从接口管理器207接收运动图像时钟T(步骤S5001),获得满足t′≤T的最大值t′(步骤S5002),并把与t′成对的偏移值代入变量h中(步骤S5003)。对象元数据流中位于偏移值h的位置的存取单元AU被设为x(步骤S5004),x的时间戳值被保存在变量t中(步骤S5005)。如果x为NULL_AU(步骤S5006中“是”),那么紧接于x的AU被设为新的x(步骤S5007),流程返回步骤S5006。如果x不是NULL_AU(步骤S5006中“否”),那么x的偏移值被保存在变量h'中(步骤S5101)。后续过程(图51中的步骤S5102-S5105和图52中的步骤S5201-S5206)与图45中的步骤S4508-S4511和图46中的步骤S4601-S466相同。
下面说明服务器和客户机之间的协议。RTP(实时传送协议)被认为是当从服务器201向客户机200传送Vclick数据时使用的协议。由于RTP与UDP/IP相互关系良好,并且重视实时性,因此分组可能被遗漏。如果使用RTP,那么当传送Vclick流时,Vclick流被分成传输分组(RTP分组)。下面说明把Vclick流保存在传输分组中的方法的例子。
图7和8分别说明分别和Vclick_AU的小数据量和大数据量相一致地形成传输分组的方法。在图7中,附图标记700表示Vclick流。传输分组包括分组首标701和有效负载。分组首标701包括分组的序列号,传输时间,源指定信息等。有效负载是保存传输数据的数据区。从Vclick流700抽取的Vclick_AU(702)被保存在有效负载中。当下一个Vclick_AU不能被保存在有效负载中时,在剩余的数据区中插入填充数据703。填充数据是调整数据大小的空数据,一连串的“0”值。当有效负载大小可被设置成等于一个或多个Vclick_AU的大小时,不需要任何填充数据。
另一方面,图8表示当一个Vclick_AU不能被保存在有效负载中时,形成传输分组的方法。只有可被保存在Vclick_AU(800)的第一传输分组的有效负载中的部分数据(802)被保存在有效负载中。剩余的数据*804)被保存在第二个传输分组的有效负载中。如果有效负载的存储容量仍有自由空间,那么用填充数据805填充该空间。这同样适用于一个Vclick_AU被分成三个或更多分组的情况。
作为不同于RTP的协议,可以使用HTTP(超文本传送协议)或HTTPS。由于HTTP与TCP/IP相互关系良好,并且遗漏的数据被重发,从而允许高度可靠的数据通信。但是,当网络吞吐量低时,可能发生数据延迟。由于HTTP没有任何数据遗漏,因此不必考虑当存储时,把Vclick流分成多个分组的方法。
(重放过程(网络))下面说明当Vclick流存在于服务器201上时的重放过程的过程描述(procedure)。
图37是表示在用户输入重放开始指令之后到重放开始为止的重放开始过程的过程描述的流程图。在步骤S3700中,用户输入重放开始指令。该输入由接口处理器207接收,接口处理器207向运动图像重放控制器205输出运动图像重放准备命令。作为分支处理步骤S3701,检查与服务器201的会话是否已打开。如果所述会话还未打开,那么流程进行到步骤S3702;否则,流程进行到步骤S3703。在步骤S3702中,执行打开服务器和客户机之间的会话的过程。
图9表示当RTP被用作服务器和客户机之间的通信协议时,从会话打开到会话结束为止的通信过程的例子。在会话开始时,在服务器和客户机之间必须进行协商。就RTP来说,通常使用RTSP(实时流式传输协议)。由于RTSP通信要求高的可靠性,因此RTSP和RTP最好分别利用TCP/IP和UDP/IP进行通信。为了打开会话,客户机(图2的例子中的200)请求服务器(图2的例子中的201)提供与要流式传输的Vclick数据相关的信息(RTSP DESCRIBE方法)。
假定借助例如把地址信息记录在运动图像数据记录介质上的方法,客户机被预先告知分发与要重放的运动图像对应的数据的服务器的地址。作为对该请求的响应,服务器把Vclick数据的信息发送给客户机。更具体地说,客户机接收诸如会话的协议版本,会话所有者,会话名称,连接信息,会话时间信息,元数据名称,元数据属性之类的信息。SDP(会话描述协议)被用作描述这些各条信息的方法。客户机随后请求服务器打开会话(RTSP SETUP方法)。服务器准备流式传输,并返回会话ID。当使用RTP时,迄今描述的过程对应于步骤S3702中的那些过程。
当代替RTP使用HTTP时,如图10中所示进行通信过程。最初,打开作为HTTP低层的TCP会话(3方握手)。如同上述过程中一样,假定客户机被预先告知分发和要重放的运动图像对应的数据的服务器的地址。之后,可执行通过利用例如SDP,向服务器发送客户机状态信息(例如,制造国家,语言,各种参数的选择状态等)的过程。在HTTP的情况下,迄今为止说明的过程对应于步骤S3702中的那些过程。
在步骤S3703中,在服务器和客户机之间的会话打开的时候,执行请求服务器传送Vclick数据的过程。通过把指令从接口处理器发送给网络管理器208,随后从网络管理器208向服务器发送请求,实现该过程。就RTP来说,网络管理器208向服务器发送RSTP PLAY方法,从而发送Vclick数据传输请求。服务器参考迄今为止从客户机收到的信息和服务器中的Vclick Info,指定要传送的Vclick流。此外,服务器利用包括在Vclick数据传输请求中的重放开始位置的时间戳信息和保存在服务器中的Vclick存取表,指定Vclick流中的传输开始位置。服务器随后把Vclick流分组,并且利用RTP把分组发送给客户机。
另一方面,就HTTP来说,网络管理器208传送HTTP GET方法,以便发送Vclick数据传输请求。该请求可包括运动图像的重放开始位置的时间戳信息。服务器按照和RTP中相同的方法,指定要传送的Vclick流和该Vclick流中的传输开始位置,并利用HTTP把Vclick流发送给客户机。
在步骤S3704,执行把从服务器发送的Vclick流缓存在缓冲器209上的过程。进行该过程以防止当来自服务器的Vclick流传输过迟时,缓冲器变空。如果元数据管理器210通知接口处理器,缓冲器已保存足够的Vclick流,那么流程进行到步骤S3705。在步骤S3705,接口处理器向控制器205发出运动图像重放开始命令,另外还向元数据管理器210发出开始向元数据解码器217输出Vclick流的命令。
图38是表示不同于图37的重放开始过程的过程的流程图。在图37的流程图中描述的过程中,步骤S3704中缓存指定大小的Vclick流的过程通常费时,取决于网络状态,和服务器及客户机的处理性能。更具体地说,在用户发出重放指令之后到重放实际开始为止,通常需要较长的时间。在图38中所示过程的过程描述中,如果用户在步骤S3800中发出重放开始指令,那么在步骤S3801中立即开始运动图像的重放。即,当从用户收到重放开始指令时,接口处理器207向控制器205发出重放开始命令。这样,在他或她发出重放指令之后到他或她能够观看运动图像为止,用户不必等待。处理步骤S3802-S3805与图37中的步骤S3701-S3704相同。
在步骤S3806,执行与正在进行重放的运动图像同步地对Vclick流解码的处理。更具体地说,当从元数据管理器210收到指示指定大小的Vclick流被保存在缓冲器中的消息时,接口处理器207向元数据解码器输出Vclick流的输出开始命令。元数据管理器210从接口处理器接收其重放正在进行的运动图像的时间戳,根据保存在缓冲器中的数据指定对应于该时间戳的Vclick_AU,并将其输出给元数据解码器。
在图38中所示的过程的过程描述中,在用户发出重放指令之后到他或她能够观看运动图像为止,用户不必等待。但是,由于在开始重放之后Vclick流未被立即解码,因此不能实现与对象相关的任何显示,或者如果用户单击某一对象,那么不采取任何动作。
在运动图像的重放期间,客户机的网络管理器208接收从服务器发送的Vclick流,并把它们保存在缓冲器209中。保存的对象元数据在恰当的定时被发送给元数据解码器217。即,元数据管理器210参考从接口处理器207发送的正在进行重放的运动图像的时间戳,以根据保存在缓冲器209中的数据指定对应于该时间戳的Vclick_AU,并为各个AU把指定的对象元数据发送给元数据解码器217。元数据解码器217对接收的数据解码。注意解码器217可跳过和客户机当前选择的摄像机视角不同的摄像机视角的数据的解码。当知道与正在重放的运动图像的时间戳对应的Vclick_AU已被装入元数据解码器217时,可跳过对元数据解码器的对象元数据的传输过程。
其重放正在进行的运动图像的时间戳顺次从接口处理器被发送给元数据解码器217。元数据解码器与该时间戳同步地对Vclick_AU解码,并把所需的数据发送给AV呈现器218。例如,当在Vclick_AU中描述的属性信息指令显示对象区域时,元数据解码器产生对象区域的遮罩图像,轮廓等,并与其重放正在进行的运动图像的时间戳同步地把它们发送给AV呈现器218。元数据解码器比较正在重放的运动图像的时间戳与Vclick_AU的寿命,从而确定不需要的陈旧的对象元数据,并删除该数据。
图39是说明重放停止过程的过程的流程图。在步骤S3900中,在运动图像的重放期间,用户输入重放停止指令。在步骤S3901中,执行停止运动图像重放过程的处理。当接口处理器207向控制器205输出停止命令时,进行该处理。同时,接口处理器向元数据管理器210输出停止向元数据解码器输出对象元数据的输出停止命令。
在步骤S3902中,执行关闭与服务器的会话的过程。当使用RTP时,RTSP TEARDOWN方法被发送给服务器,如图9中所示。当收到TEARDOWN消息时,服务器停止数据传输,从而关闭会话,并向客户机返回确认消息。借助该过程,使会话中使用的会话ID无效。另一方面,当使用HTTP时,向服务器发送HTTP Close方法,以关闭会话。
(随机存取过程(网络))下面说明当Vclick流存在于服务器201上时的随机存取重放过程。
图40是表示在用户发出随机存取重放开始指令之后到重放开始为止的过程的过程描述的流程图。在步骤S4000中,用户输入随机存取重放开始指令。使用户从可用位置,比如章节等的列表进行选择的方法,使用户从对应于运动图像的时间戳的滑动条指定一点的方法,直接输入运动图像的时间戳的方法等可用作输入方法。输入时间戳由接口处理器207接收,接口处理器207向运动图像重放控制器205发出运动图像重放准备命令。如果运动图像的重放已被启动,那么控制器205发出其重放正在进行中的运动图像的重放停止指令,随后输出运动图像重放准备命令。作为分支处理步骤S4001,检查与服务器201的会话是否已被打开。如果会话已被打开(即,运动图像的重放正在进行中),那么在步骤S4002中执行会话关闭过程。如果会话还未被打开,那么流程进行到步骤S4003,而不执行步骤S4002中的处理。在步骤S4003,执行打开服务器和客户机之间的会话的处理。该处理与图37中的步骤S3702中的处理相同。
在步骤S4004,在服务器和客户机之间的会话打开的时候,执行通过指定重放开始位置的时间戳,请求服务器传送Vclick数据的处理。通过把指令从接口处理器发送给网络管理器208,随后从网络管理器208向服务器发送请求来实现该处理。就RTP来说,网络管理器208向服务器发送RTSP PLAY方法,从而发出Vclick数据传输请求。此时,管理器208还通过利用范围描述的方法,把指定重放开始位置的时间戳发送给服务器。服务器参考迄今从客户机收到的信息和服务器中的Vclick Info,指定要传送的Vclick流。此外,服务器利用包括在Vclick数据传输请求中的重放开始位置的时间戳信息和保存在服务器中的Vclick存取表,指定Vclick流中的传输开始位置。服务器随后对Vclick流分组,并利用RTP把分组发送给客户机。
另一方面,就HTTP来说,网络管理器208传送HTTP GET方法,以便发送Vclick数据传输请求。该请求包括运动图像的重放开始位置的时间戳信息。服务器参考Vclick信息文件指定要传输的Vclick流,另外还采用和RTP中相同的方法,使用服务器中的Vclick存取表指定Vclick流中的传输开始位置。随后利用HTTP把Vclick流发送给客户机。
在步骤S4005,执行把从服务器发送的Vclick流缓存在缓冲器209上的处理。进行该处理以防止当来自服务器的Vclick流传输过迟时,缓冲器变空。如果元数据管理器210通知接口处理器,缓冲器已保存足够的Vclick流,那么流程进行到步骤S4006。在步骤S4006,接口处理器向控制器2005发出运动图像重放开始命令,另外还向元数据管理器210发出开始向元数据解码器217输出Vclick流的命令。
图41是表示不同于图40的随机存取重放开始过程的过程的流程图。在图40的流程图中描述的过程中,步骤S4005中缓存指定大小的Vclick流的处理通常费时,取决于网络状态,和服务器及客户机的处理性能。更具体地说,在用户发出重放指令之后到重放实际开始为止,通常需要较长的时间。
相反,在图41中所示的过程的过程描述中,如果用户在步骤S4100中发出重放开始指令,那么在步骤S4101中立即开始运动图像的重放。即,当从用户收到重放开始指令时,接口处理器207向控制器205发出随机存取重放开始命令。这样,在他或她发出重放指令之后到他或她能够观看运动图像为止,用户不必等待。处理步骤S4102-S4105与图40中的步骤S4001-S4005相同。
在步骤S4107,执行与正在进行重放的运动图像同步地对Vclick流解码的处理。更具体地说,当从元数据管理器210收到指示指定大小的Vclick流被保存在缓冲器中的消息时,接口处理器207向元数据解码器输出Vclick流的输出开始命令。元数据管理器210从接口处理器接收其重放正在进行的运动图像的时间戳,根据保存在缓冲器中的数据指定对应于该时间戳的Vclick_AU,并将其输出给元数据解码器。
在图41中所示的过程的过程描述中,在用户发出重放指令之后到他或她能够观看运动图像为止,用户决不等待。但是,由于在开始重放之后Vclick流未被立即解码,因此不能实现与对象相关的任何显示,或者如果用户单击某一对象,那么不采取任何动作。
由于运动图像的重放期间的处理和运动图像重放停止处理与正常的重放过程中的相应处理相同,因此省略它们的说明。
(重放过程(本地))下面说明当Vclick存在于运动图像数据记录介质231上时的重放过程的过程描述。
图42是表示在用户输入重放开始指令之后到重放开始为止的重放开始过程的过程描述的流程图。在步骤S4200中,用户输入重放开始指令。该输入由接口处理器207接收,接口处理器207向运动图像重放控制器205输出运动图像重放准备命令。在步骤S4201中,执行指定要使用的Vclick流的处理。在该处理中,接口处理器参考运动图像数据记录介质231上的Vclick信息文件,并指定与用户指定的要重放的运动图像对应的Vclick流。
在步骤S4202中,执行把Vclick流保存在缓冲器上的处理。为了实现该处理,接口处理器207向元数据管理器210发出保证缓冲器的命令。要保证的缓冲器大小被确定为大到足以保存指定的Vclick流的大小。通常,描述该大小的缓冲器初始化文件被记录在运动图像数据记录介质231上。当完成缓冲器的保证时,接口处理器207向控制器205发出读出指定的Vclick流,并将其保存在缓冲器中的命令。
在Vclick流被保存在缓冲器中后,在步骤S4203中执行重放开始处理。在该处理中,接口处理器207向运动图像重放控制器205发同运动图像重放命令,同时向元数据管理器210发出开始向元数据解码器输出Vclick流的输出开始命令。
在运动图像的重放期间,从运动图像数据记录介质231读出的Vclick_AU被保存在缓冲器209中。保存的Vclick流在恰当的定时被发送给元数据解码器217。即,元数据管理器210参考从接口处理器207发送的正在进行重放的运动图像的时间戳,以便根据保存在缓冲器209中的数据,指定与该时间戳对应的Vclick_AU,并为各个AU把指定的对象元数据发送给元数据解码器217。元数据解码器217对接收的数据解码。注意解码器217可跳过和客户机当前选择的摄像机视角不同的摄像机视角的数据的解码。当知道与正在重放的运动图像的时间戳对应的Vclick_AU已被装入元数据解码器217时,可跳过对元数据解码器的对象元数据的传输过程。
其重放正在进行的运动图像的时间戳顺次从接口处理器被发送给元数据解码器217。元数据解码器与该时间戳同步地对Vclick_AU解码,并把所需的数据发送给AV呈现器218。例如,当在Vclick_AU中描述的属性信息指令显示对象区域时,元数据解码器产生对象区域的遮罩图像,轮廓等,并与其重放正在进行的运动图像的时间戳同步地把它们发送给AV呈现器218。元数据解码器比较正在重放的运动图像的时间戳与Vclick_AU的寿命,从而确定不需要的陈旧的对象元数据,并删除该数据。
如果在运动图像的重放期间,用户输入重放停止指令,那么接口处理器207向控制器205输出运动图像重放停止命令和Vclick流读取停止命令。借助这些命令,运动图像重放过程结束。
(随机存取过程(网络))下面说明当Vclick存在于运动图像数据记录介质231上时的重放过程的过程描述。
图43是表示在用户发出随机存取重放开始指令之后到重放开始为止的过程的过程描述的流程图。在步骤S4300中,用户输入随机重放开始指令。使用户从可用位置,比如章节等的列表进行选择的方法,使用户从对应于运动图像的时间戳的滑动条指定一点的方法,直接输入运动图像的时间戳的方法等可用作输入方法。输入时间戳由接口处理器207接收,接口处理器207向运动图像重放控制器205发出运动图像重放准备命令。
在步骤S4301中,执行指定要使用的Vclick流的处理。在该处理中,接口处理器参考运动图像数据记录介质231上的Vclick信息文件,并指定与用户指定的要重放的运动图像对应的Vclick流。
步骤S4302是检查指定的Vclick流目前是否被装入缓冲器209中的分支处理。如果指定的Vclick流未被装入,那么在步骤S4303中的处理之后,流程进行到步骤S4304。如果指定的Vclick流目前被装入缓冲器中,那么在跳过步骤S4303中的处理的时候,流程进行到步骤S4304。在步骤S4304中,开始运动图像的随机存取重放和Vclick流解码。在该处理中,接口处理器207向运动图像重放控制器205发出运动图像随机存取重放命令,同时向元数据管理器210输出开始向元数据解码器输出Vclick流的命令。之后,与运动图像的重放同步地执行Vclick流解码处理。由于运动图像的重放期间的处理和运动图像重放停止处理与正常的重放过程中的相应处理相同,因此省略它们的说明。
(从单击到相关信息显示为止的过程)下面说明当用户利用诸如鼠标之类的指示装置单击对象区域内的某一位置时执行的客户机的操作。当用户单击指定位置时,运动图像上单击的坐标位置被输入接口处理器207。接口处理器把单击时运动图像的时间戳和坐标位置发送给元数据解码器217。元数据解码器执行根据所述时间戳和坐标位置,确定用户指定的对象的处理。
由于元数据解码器与运动图像的重放同步地对Vclick流解码,并且在单击时的时间戳已产生该对象的区域,因此它能够容易地实现该处理。当在单击的坐标位置存在多个对象区域时,参考包括在Vclick_AU中的层信息指定最前面的对象。
在用户指定的对象被确定之后,元数据解码器21把在对象属性信息403中说明的动作描述(指定动作的脚本)发送给脚本解释器212。当收到动作描述时,脚本解释器解释动作内容并执行动作。例如,脚本解释器显示指定的HTML文件,或者开始重放指定的运动图像。这些HTML文件和运动图像数据可被记录在客户机200上,可通过网络从服务器201发送,或者可存在于网络上的另一服务器上。
(详细的数据结构)下面说明实际的数据结构的配置例子。图11表示Vclick流506的数据结构的例子。数据元素的含义是vcs_start_code指示Vclick流的起点;data_length利用字节作为单位,指明Vclick流中在data_length之后的字段的数据长度;和data_bytes对应于Vclick_AU的数据字段。该字段包括位于头部位置的Vclick流的首标507,和随后的一个或多个Vclick_AU或NULL_AU(后面说明)。
图12表示Vclick流的首标507的数据结构的例子。数据元素的含义为vcs_header_code指示Vclick流的首标的起点;
data_length利用字节作为单位,指明Vclick流的首标中在data_length之后的字段的数据长度;和vclick_version指明格式的版本。在本说明书中,该值采取01h;bit_rate指明该Vclick流的最大位速率。
图13表示Vclick_AU的数据结构的例子。数据元素的含义为vclick_start_code指示每个Vclick_AU的起点;data_length以字节作为单位,指明该Vclick_AU中在data_length之后的字段的数据长度;和data_bytes对应于Vclick_AU的数据字段。该字段包括首标401,时间戳402,对象属性信息403和对象区域信息400。
图14表示Vclick_AU的首标401的数据结构的例子。数据元素的含义为vclick_header_code指示每个Vclick_AU的首标的起点;data_length以字节作为单位,指明该Vclick_AU的首标中在data_length之后的字段的数据长度;filtering_id是用于识别Vclick_AU的ID。该数据被用于根据客户机的属性和该ID,确定要被解码的Vclick_AU;object_id是在Vclick数据中描述的对象的标识号。当在两个Vclick_AU中使用相同的object_id时,它们是语义相同的对象的数据;object_subid代表对象的语义连续性。当两个Vclick_AU包括相同的object_id和object_subid值时,它们意味着连续的对象;continue_flag是一个标志。如果该标志为“1”,那么在该Vclick_AU中描述的对象区域延续到在具有相同object_id的下一个Vclick_AU中描述的对象区域。否则,该标志为“0”;和layer代表对象的层值。所述层值越大,这意味着对象位于屏幕上的前方。
图15表示Vclick_AU的时间戳402的数据结构的例子。该例子假定其中DVD被用作运动图像数据记录介质231的情况。通过利用下述时间戳,可以指定DVD上的运动图像的任意时间,并且能够获得运动图像和Vclick数据之间的同步。数据元素的含义为time_type指示DVD时间戳的起点;data_length利用字节作为单位,指明该时间戳中在data_length之后的字段的数据长度;VTSN指示DVD视频的VTS(视频标题集)编号;TTN指示DVD视频的标题域中的标题编号。该编号对应于保存在DVD播放器的系统参数SPRM(4)中的值;VTS_TTN指示DVD视频的标题域中的VTS标题编号。该编号对应于保存在DVD播放器的系统参数SPRM(5)中的值;TT_PGCN指示DVD视频的标题域中的标题PGC(节目链)编号。该编号对应于保存在DVD播放器的系统参数SPRM(6)中的值;PTTN指示DVD视频的部分标题(Part_of_Title)编号。该编号对应于保存在DVD播放器的系统参数SPRM(7)中的值;CN指示DVD视频的单元编号;AGLN指示DVD视频的视角编号;和PTS[s..e]指示DVD视频的显示时间戳的第s位和第e位的数据。
图16表示Vclick_AU的时间戳跳跃的数据结构的例子。当代替时间戳在Vclick_AU中描述时间戳跳跃时,这意味着该Vclick_AU的时间戳与紧接在前的Vclick_AU的时间戳相同。数据元素的含义为time_type指示时间戳跳跃的起点;data_length利用字节作为单位,指明在该时间戳跳跃的data_length之后的字段的数据长度。但是,该值总是采取“0”,因为时间戳跳跃只包括time_type和data_length。
图17表示Vclick_AU的对象属性信息403的数据结构的例子。数据元素的含义为vca_start_code指示每个Vclick_AU的对象属性信息的起点;data_length利用字节作为单位,指明该对象属性信息中在data_length之后的字段的数据长度;和data_bytes对应于对象属性信息的数据字段。该字段描述一个或多个属性。
下面说明在对象属性信息403中描述的属性信息的细节。图18表示可在对象属性信息403中描述的属性的类型的列表。列“最大值”描述对于每个属性,可在一个对象元数据AU中描述的数据的最大数目的例子。
attribute_id是包括在每个属性数据中的ID,并且是用于识别属性的类型的数据。名称属性是用于指定对象名称的信息。动作属性描述当单击运动图像中的某一对象区域时要采取的动作。轮廓属性指示对象轮廓的显示方法。闪烁区属性指定当单击对象区域时的闪烁颜色。马赛克(mosaic)区属性描述当对对象区域应用马赛克转换,并显示转换后的区域时的马赛克转换方法。着色区属性指定当着色并显示某一对象区域时的颜色。
属于文本类别的属性定义当字符要被显示在运动图像上时,与要显示的字符相关的属性。文本信息描述要显示的文本。文本属性指定要显示的文本的诸如颜色,字体之类的属性。突出显示效果属性指定当突出显示部分或全部文本时字符的突出显示方法。闪烁效果属性指定当闪烁部分或全部文本时字符的闪烁显示方法。滚动效果属性描述当滚动要显示的文本时的滚动方向和速度。卡拉OK效果属性指定当顺次改变文本颜色时字符的改变定时和位置。
最后,层扩展属性被用于定义当在Vclick_AU中,对象的层值发生变化时,层值的变化定时和变化值。下面一个一个地说明上述属性的数据结构。
图19表示对象的名称属性的数据结构的例子。数据元素的含义为attribute_id指定属性数据的类型。名称属性具有attribute_id=00h;data_length利用字节作为单位,指示在名称属性数据的data_length之后的数据长度;language指定用于描述下述元素(名称和注解)的语言。利用ISO-639“code for the representation of names of languages”指定语言。
name_length利用字节作为单位,指明名称元素的数据长度;name是字符串,它代表在该Vclick_AU中描述的对象的名称;
annotation_length利用字节作为单位,指明注解元素的数据长度;annotation是字符串,它代表与在该Vclick_AU中描述的对象相关的注解。
图20表示对象的动作属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。动作属性具有attribute_id=01h;data_length利用字节作为单位,指示在动作属性数据的data_length后的字段的数据长度;script_language指定在脚本元素中描述的脚本语言的类型;script_length利用字节作为单位,表明脚本元素的数据长度;和script是字符串,它利用在script_language中指定的脚本语言,描述当用户指定在该Vclick_AU中描述的对象时,要执行的动作。
图21表示对象的轮廓属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。轮廓属性具有attribute_id=02h;data_length利用字节作为单位,指示在轮廓属性数据的data_length后的字段的数据长度;color_r,color_g,color_b和color_a指明在该对象元数据AU中描述的对象的轮廓的显示颜色;color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明;line_type指明在该Vclick_AU中描述的对象的轮廓的类型(实线,虚线等);和thickness利用点作为单位,指明在该Vclick_AU中描述的对象的轮廓的厚度。
图22表示对象的闪烁区属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。闪烁区属性数据具有attribute_id=03h;data_length利用字节作为单位,指示在闪烁区属性数据的data_length后的字段的数据长度;color_r,color_g,color_b和color_a指明在该Vclick_AU中描述的对象的区域的显示颜色。color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明。通过交替显示在着色区属性中指定的颜色和在本属性中指定的颜色,实现对象区域的闪烁;和interval指明闪烁时间间隔。
图23表示对象的马赛克区属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。马赛克区属性数据具有attribute_id=04h;data_length利用字节作为单位,指示在马赛克区属性数据的data_length后的字段的数据长度;mosaic_size利用像素作为单位,指明马赛克块的大小;和randomness代表当重新放置马赛克转换块位置时的随机程度。
图24表示对象的着色区属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。着色区属性数据具有attribute_id=05h;data_length利用字节作为单位,指示在着色区属性数据的data_length后的字段的数据长度;color_r,color_g,color_b和color_a指明在该Vclick_AU中描述的对象的区域的显示颜色。color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明。
图25表示对象的文本信息的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的文本信息具有attribute_id=06h;data_length利用字节作为单位,指示在对象的文本信息的data_length后的字段的数据长度;language指示描述的文本的语言。指定语言的方法可利用ISO-639“code for the representation of names of languages”;char_code指定文本的代码类型。例如,UTF-8,UTF-16,ASCII,Shift JIS等被用于指定代码类型;
direction把左、右、上或下方向规定为当排列字符时的方向。例如,就英语或法语来说,字符通常按照左方向排列。另一方面,就阿拉伯语来说,字符按照右方向排列。就日语来说,字符按照左或下方向排列。但是,可以指定和为每种语言确定的排列方向不同的排列方向。另外,可以指定倾斜的方向。
text_length利用字节作为单位,指定计时文本的长度;和text是字符串,它是利用char_code指定的字符代码描述的文本。
图26表示对象的文本属性的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的文本属性具有attribute_id=07h;data_length利用字节作为单位,指示在对象的文本属性的data_length后的字段的数据长度;font_length利用字节作为单位,指示字体的描述长度;font是字符串,它指明当显示文本时使用的字体;和color_r,color_g,color_b和color_a指明文本的显示颜色。color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明。
图27表示对象的文本突出显示属性的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的文本突出显示效果属性具有attribute_id=08h;data_length利用字节作为单位,指示在对象的文本突出显示效果属性的data_length后的字段的数据长度;entry指示该文本突出显示效果属性数据中的“highlight_effect_entry”的数目;和data_bytes包括和entry一样多的“highlight_effect_entry”。
highlight_effect_entry的说明如下。
图28表示对象的文本突出显示效果属性的条目(entry)的例子。数据元素的含义为start_position利用从头部到要突出显示的字符的字符数,指明要突出显示的字符的起始位置;end_position利用从头部到要突出显示的字符的字符数,指明要突出显示的字符的终止位置;和color_r,color_g,color_b和color_a指明突出显示的字符的显示颜色。color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明。
图29表示对象的文本闪烁效果属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的文本闪烁效果属性数据具有attribute_id=09h;data_length利用字节作为单位,指示在文本闪烁效果属性数据的data_length后的字段的数据长度;entry指示该文本闪烁效果属性数据中的“blink_effect_entry”的数目;和data_bytes包括和entry一样多的“blink_effect_entry”。
blink_effect_entry的说明如下。
图30表示对象的文本闪烁效果属性的条目的例子。数据元素的含义为start_position利用从头部到要闪烁的字符的字符数,指明要闪烁的字符的起始位置;end_position利用从头部到要闪烁的字符的字符数,指明要闪烁的字符的终止位置;color_r,color_g,color_b和color_a指明闪烁字符的显示颜色。color_r,color_g和color_b指明颜色的RGB表达中的红、绿和蓝值。color_a指示透明。注意通过交替显示由该条目指定的颜色和由文本属性指定的颜色,闪烁字符;和interval指示闪烁时间间隔。
图31表示对象的文本滚动效果属性的数据结构的例子。数据元素的含义为
attribute_id指明属性数据的类型。对象的文本滚动效果属性数据具有attribute_id=0ah;data_length利用字节作为单位,指示在文本滚动效果属性数据的data_length后的字段的数据长度;direction指明滚动字符的方向。例如,0指示从右到左的方向,1指示从左到右的方向,2指示从上到下的方向,3指示从下到上的方向;和delay利用从待显示的第一个字符出现到最后一个字符出现的时间差,指明滚动速度。
图32表示对象的文本卡拉OK效果属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的文本卡拉OK效果属性数据具有attribute_id=0bh;data_length利用字节作为单位,指示在文本卡拉OK效果属性数据的data_length后的字段的数据长度;start_time指明由包括在该属性数据的data_bytes中的第一个karaoke_effect_entry指定的字符串的文本颜色的变化开始时间;entry指示该文本卡拉OK效果属性数据中的“karaoke_effect_entry”的数目;和data_bytes包括和entry一样多的“karaoke_effect_entry”。
karaoke_effect_entry的说明如下。
图33表示对象的文本卡拉OK效果属性的条目的数据结构的例子。数据元素的含义为end_time指示该条目指定的字符串的文本颜色的变化结束时间。如果另一条目跟在该条目之后,那么end_time还指示由下一条条目指定的字符串的文本颜色的变化开始时间;start_position利用从头部到其文本颜色要被改变的字符的字符数,指明其文本颜色要被改变的字符的起始位置;和end_position利用从头部到其文本颜色要被改变的字符的字符数,指明其文本颜色要被改变的字符的终止位置。
图34表示对象的层扩展属性的数据结构的例子。数据元素的含义为attribute_id指明属性数据的类型。对象的层扩展属性数据具有attribute_id=0ch;data_length利用字节作为单位,指示在层扩展属性数据的data_length后的字段的数据长度;start_time指明由包括在该属性数据的data_bytes中的第一个layer_extension_entry指定的层值被启用的开始时间;entry指示包括在该层扩展属性数据中的“layer_extension_entry”的数目;和data_bytes包括和entry一样多的“layer_extension_entry”下面将描述layer_extension_entry的规范。
图35表示对象的层扩展属性的条目的数据结构的一个例子。数据元素的含义为end_time指明由该layer_extension_entry指定的层值被禁用的时间。如果另一条目跟在该条目之后,那么end_time还指示由下一个条目指定的层值被启用的开始时间;和layer指明对象的层值。
图36表示对象元数据的对象区域数据400的例子。数据元素的含义为vcr_start_code意味着对象区域数据的起点;data_length利用字节作为单位,指明在对象区域数据的data_length后的字段的数据长度;和data_bytes是描述对象区域的数据字段。可利用例如MPEG-7时空定位器的二进制格式描述对象区域。
(应用图像)图76表示了屏幕上应用(运动图像超媒体)的显示例子,它不同于图1,并通过利用本发明的对象元数据和运动图像一起来实现。在图1中,运动图像和相关信息被显示在独立的窗口上。但是在图76中,一个窗口A01显示运动图像A02和相关信息A03。作为相关信息,不仅可以显示文本,而且可以显示静止图像A04和不同于A02的运动图像。
(利用持续时间数据的Vclick_AU的寿命指定方法)图77表示Vclick_AU的数据结构的例子,它不同于图4。与图4的差别在于用户指定Vclick_AU的寿命的数据是时间戳B01和持续时间B02的组合,而不只是时间戳。时间戳B01是Vclick_AU的寿命的开始时间,持续时间B02是从Vclick_AU的寿命的开始时间到终止时间的持续时间。注意time_type是用于说明图79中所示的数据意味持续时间的ID,duration是持续时间。duration利用预定单位(例如1毫秒,0.1秒等)表示持续时间。
当持续时间还被描述成用于指定Vclick_AU的数据时提供的优点在于通过只检查待处理的Vclick_AU,就能够检测Vclick_AU的持续时间。当要查找具有指定时间戳的有效Vclick_AU时,只检查所考虑的Vclick_AU是否将被找到,而不检查其它Vclick_AU数据。但是,与图4相比,数据大小增大了,增加量为持续时间B02。
图78表示Vclick_AU的数据结构的例子,它不同于图77。在本例中,指定Vclick_AU的寿命的开始时间的时间戳C01和指定结束时间的时间戳C02被用作指定Vclick_AU的寿命的数据。当使用这种数据结构时得到的优点和当使用图77的数据结构时得到的优点相同。
注意本发明并不局限于上述实施例,当实践本发明时,在不脱离本发明的范围的情况下,可做出组成元素的各种修改。例如,本发明不仅可应用于广泛流传的DVD-ROM视频,而且可应用于近年来其需求快速增长,并且允许记录/重放的DVD-VR(视频记录器)。此外,本发明可应用于很快将流行的下一代HD-DVD的重放或记录/重放系统。
通过恰当地组合在上述实施例中公开的多个所需组成元素,能够形成各种发明。例如,从客户机中公开的全部所需组成元素中删除一些所需的组件元素。另外,可恰当地组合与不同实施例相关的所需组成元素。
(object_subid的使用)上面说明的Vclick数据可被用于搜索出现在运动图像中的对象。例如,在包括在对象的名称属性中的名称或注解中的文本中描述对象的名称或一条信息。于是,对这些数据项进行关键字搜索,从而搜索所需的对象。
图80是显示利用Vclick数据的搜索结果的屏幕例子。在该搜索中,包括输入关键字的所有Vclick AU都将被搜索。图像(8000)是缩略图,并且是与被搜索Vclick AU的时间戳对应的时间的图像。缩略图下面的说明(8001)是包括在被搜索Vclick AU中的对象的名称属性中的名称和注解,以及其时间戳。在本例中,通过单击缩略图或缩略图下面的说明,能够从该场景重放运动图像。
当如图80中所示,所有Vclick AU作为搜索结果被列出时,存在显示的搜索结果过多的问题。例如,假定搜索其中一个字符出现于10个场景中的运动图像。此外,假定每个出现场景被平均分成15个Vclick AU,并且关于该字符的总共150个Vclick AU都被包括。这些Vclick AU的object_id具有相同的值。于是,当利用与该字符对应的关键字进行搜索时,命中150个Vclick AU。但是,它们中的许多出现在相同的场景中,从而,即使当如图80中所示的缩略图的列表或搜索的场景被重放,几乎所有的场景都是相似的。此外,由于搜索的命中数被增大,因此难以从搜索结果中搜索所需的场景。
通过使用包括在Vclick AU首标中的object_id,解决上面的显示许多相似的搜索结果的问题。换句话说,可从搜索结果中省略具有相同object_id的Vclick AU。图81是按照这种方式显示搜索结果的例子。但是,在这种方法中,对于一个对象,可能只获得一个搜索结果,如图81中所示。这种情况下,当待搜索的对象出现在几个场景上时,不能访问各个场景。
为了解决当所有Vclick AU的全部关键字搜索结果都被显示时,显示许多相似的搜索结果的问题,以及避免当省略具有共同的objcet_id的Vclick AU的搜索结果时,搜索结果过少的现象,不仅利用object_id,而且还利用包括在Vclick AU首标中的object_subid进行搜索。下面说明其方法。
图82是说明利用object_subid的Vclick AU的关键字搜索处理的流程的例子。在步骤S8200中,0被代入“i”中作为初始值。随后,在步骤S8201中,对Vclick流中的第i个Vclick AU进行关键字搜索。换句话说,检查输入的关键字是否包括在包含于Vclick AU对象的名称属性中的名称或注解中。此时,可进行高级匹配,比如不仅检查所述关键字是否被包括,而且检查所述关键字的同义字是否被包括。此外,不仅可以进行简单关键字的输入,而且还可进行自然语言的输入。
步骤S8202是选择处理,检查作为步骤S8201中的搜索处理的结果,第i个Vclick AU是否被命中。当其被命中时,处理进行到步骤S8203。当其未被命中时,处理进行到步骤S8205。步骤S8203是分支处理,检查第i个Vclick AU的object_id和object_subid是否分别与命中的VclickAU的object_id和object_subid相同。当object_id和object_subid都分别相同时,处理进行到步骤S8204,第i个Vclick AU被记录到搜索结果中。否则,不进行记录,处理进行到步骤S8205。
在步骤S8205中,确定待处理的第i个Vclick AU是否是Vclick流的最后一个Vclick AU。当它是最后一个Vclick AU时,处理被终止,当它不是最后一个Vclick AU时,在步骤S8206中更新变量“i”,重复从步骤S8021开始的处理。
虽然具有相同值的object_id被赋予Vclick AU中的相同对象,但是只有当场景也是相同的时,具有相同值的object_subid才被赋予VclickAU中的相同对象。于是,当进行图82中的处理时,每个场景的一个VclickAU被输出为搜索结果。图83是利用object_subid的Vclick AU的关键字搜索的结果的屏幕显示例子。从图83可以看出,由于根据该方法,对于每个场景只能获得一个搜索结果,因此不显示类似的场景,和当显示一系列的搜索结果或者重放出现场景时不同。此外,搜索的命中数变小,从而易于搜索所需的场景。
(连续标志的使用)当RTP被用作通信协议时,由于未按标准模式进行数据重发,因此将从服务器传送给客户机的部分数据可能遗失(miss)。即使当使用HTTP(它是高度可靠的通信协议)时,如果通信路径的情况较差,那么在正确地把数据从服务器传送给客户机的期间,仍会产生延迟,对于在客户机的处理来说,数据可能不及时。这会导致在客户机一方部分VclickAU遗失。当Vclick AU遗失时,发生即使当某一对象被指定,或者当显示对象的轮廓时,轮廓出现或消失时,不出现所需的动作的影响。这里,将说明利用连续标志来降低Vclick AU的部分缺失的影响的方法。
图84是说明当Vclick流中的Vclick AU被顺次输入,对应于某一object_id值的对象的数据被处理时的处理的流程的流程图。在该处理中,首先确定遗失的Vclick AU,随后确定是否进行关于遗失数据的内插处理。
首先,在步骤S8400中,作为初始化处理,0被代入两个变量“flag”和“TR”中。随后,在步骤S8401中,客户机已收到的Vclick AU被依次抽取,并进行该步骤之后的处理。当新的Vclick AU不存在时,处理被终止。
在步骤S8402中,抽取待处理的Vclick AU的object_id,并确定它是否与待处理的某一object_id相同。当与之相同时,在步骤S8403中,进行抽取在包括于该Vclick AU的对象区域数据400中描述的对象区域的首标时间TR的处理。当object_id不同时,处理返回步骤S8401。
在步骤S8404中,确定TR是否大于TL。TL是具有紧接目前正被处理的Vclick AU之前处理的相同object_id的Vclick AU的对象区域终止时间。当TR大于TL时,确定不存在任何遗失的Vclick AU,进行正常的Vclick AU解码处理(步骤S8407)。另一方面,当TR等于或小于TL时,处理进行到步骤S8405。
在步骤S8405中,检查变量“flag”的值,当其为1时,确定该VclickAU遗失,进行步骤S8406中的处理。当“flag”的值为0时,确定不存在任何遗失的Vclick AU,进行步骤S8407中的处理。
步骤S8408是变量更新处理,Vclick AU的连续标志的值被代入变量“flag”中,在该Vclick AU中描述的对象区域终止时间被代入TR中,处理返回步骤S8401。
图85是在步骤S8406中进行的内插处理的说明图。这里假定每帧中的对象区域被用多边形或椭圆形近似表示成对象区域数据400(例如,MPEG-7的时空定位器)。在图85中,横坐标轴表示时间,纵坐标轴表示表述对象区域的多边形的某一顶点的X(或Y)坐标值。时间TR之后的范围8500中的坐标值的所在地在目前正被处理的Vclick AU中描述,时间TL之前的范围8501中的坐标值的所在地在前一Vclick AU中描述。在直到步骤S8403的处理中确定描述在从时间TL~TR的范围8502中的坐标值的所在地的Vclick AU遗失。
此时,在步骤S8404中的内插处理中,时间TL和时间TR的坐标值被线性插值,以便产生在从时间TL~TR的遗失范围中的坐标值。由于多边形具有几个顶点,因此对各个顶点的X坐标和Y坐标进行类似的处理,并产生最终遗失的在从时间TL~TR的范围中的对象区域。
连续标志被定义为指示在Vclick AU中描述的对象区域是否在时间上与在具有相同object_id的下一Vclick AU中描述的对象区域连续的标志。但是,即使它被定义成指示不是与在下一Vclick AU中描述的对象区域的时间连续性,而是与前一Vclick AU中描述的对象区域的时间连续性的标志,也能够进行类似的内插处理。
在上面的处理中,当在描述时间上连续的对象区域的几个Vclick AU中,某一中间Vclick AU遗失时,正确地做出缺失的确定。当首标VclickAU遗失时,不能进行内插处理。当最后的Vclick AU遗失时,当时间上不连续的对象区域最后出现时,具有即使不存在对象的时段也可能被插值的可能性。避免这种错误插值的最简单方法是设置当进行插值处理时的时间间隔的上限,在高于所述上限的较长时间内不进行插值。另一种方法是不仅使用一个连续标志,而且还使用包括两个标志,比如连续f标志和连续b标志的Vclick AU首标,所述两个标志指示前一Vclick AU和下一Vclick AU之间的连续性。
连续b标志指示在该Vclick AU中描述的对象区域是否在时间上与在具有相同object_id的下一Vclick AU中描述的对象区域连续。当区域是连续的时,该标志为“1”,否则,该标志为“0”。另一方面,连续f标志指示在该Vclick AU中描述的对象区域是否在时间上与在具有相同object_id的前一Vclick AU中描述的对象区域连续。当区域是连续的时,该标志为“1”,否则,该标志为“0”。
图87是说明利用连续f标志和连续b标志来内插遗失的Vclick AU的处理例子的流程图。它和图84的不同之处在于用步骤S8700替换步骤S8405。在步骤S8700中,考虑到指示与在前一Vclick AU中描述的对象区域的连续性的连续f标志的值,确定是否进行插值处理。
(文本的压缩)任何文本数据包括在上面说明的Vclick AU的数据中,对于大量的数据来说,把文本转换成如同字符代码一样的数据是低效的。当存在要描述的许多文本时,最好只压缩文本数据,并将其保存在Vclick AU中。图88、89和90是分别能够压缩文本数据,对象的动作属性和对象的文本信息的对象的名称属性的数据结构例子。
在图88的对象的名称属性的数据结构中,除了图19中的数据结构之外,还存在名称压缩数据。该数据指定随后的对象的名称数据是压缩的还是非压缩的,当数据是压缩的时,还指定压缩方法。当数据是压缩的时,名称长度指示压缩数据的数据大小,压缩的文本数据被保存在名称中。同样类似地在注解中,注解压缩规定注解数据是压缩的还是非压缩的,当数据是压缩的时,还指定压缩方法。注解长度指定注解的数据大小。
与图20中的数据结构相比,图89中的对象的动作属性的数据结构增加了脚本压缩数据。脚本压缩规定脚本数据是压缩的还是非压缩的,当数据是压缩的时,还指定压缩方法。脚本长度规定脚本的数据大小。
通过向图25中的数据结构增加文本压缩数据,构成图90中的对象的文本信息的数据结构。文本压缩规定文本数据是压缩的还是非压缩的,当数据是压缩的时,还指定压缩方法。文本长度规定脚本的数据大小。
权利要求
1.一种元数据流的数据结构,它被配置成包括两个或更多的存取单元,所述存取单元是能够被独立处理的数据单元,存取单元具有描述运动图像中的对象的时空区域的第一数据,和规定分别由至少两个不同的存取单元中的对象区域数据指定的运动图像中的对象是否在语义上相同的第二数据。
2.一种利用按照权利要求1所述的元数据流搜索对象的方法,包括从元数据流中抽取由第二数据确定为相同对象的多个存取单元;选择抽取的多个存取单元之一;和使用选择的存取单元进行搜索。
3.按照权利要求1所述的元数据流的数据结构,其中每个存取单元可具有第三数据,所述第三数据规定当分别由所述至少两个存取单元中的对象区域数据指定的运动图像中的对象语义上相同时,所述至少两个存取单元中的对象区域数据是否是运动图像中的相同场景的数据。
4.一种利用按照权利要求3所述的元数据流搜索对象的方法,包括从元数据流中抽取由第二数据确定为相同对象,并由第三数据确定为相同场景的多个存取单元;选择抽取的多个存取单元之一;和使用选择的存取单元进行搜索。
5.按照权利要求1所述的元数据流的数据结构,其中每个存取单元,包括第一和第二存储单元,还具有第四数据,所述第四数据指定第二存取单元是否包括在元数据流中,第二存取单元具有在运动图像的时间轴上与第一存取单元中的对象区域数据连续的所述第一数据,第一数据被规定,以便由第一存取单元中的第三数据指明语义相同的对象。
6.一种重放按照权利要求5所述的元数据流的方法,包括利用第一存取单元中的第二数据和第四数据确定第二存取单元是否在第一存取单元之前或之后遗失;和当第二存取单元遗失时,在第二存取单元之前和之后,从第一存取单元和第三存取单元插入由第二存取单元中的第一数据规定的对象的时空区域。
7.一种元数据流的数据结构,所述数据结构被配置成包括一个或多个存取单元,所述存取单元是能够被独立处理的数据单元,所述存取单元具有描述运动图像中的对象的时空区域的第一数据;规定分别由至少两个存取单元中的对象区域数据指定的运动图像中的对象是否在语义上相同的第二数据;文本数据;和指示文本数据是否被压缩的第三数据。
8.一种元数据流的数据结构,所述数据结构被配置成包括一个或多个存取单元,所述存取单元是能够被独立处理的数据单元,所述存取单元具有规定关于运动图像的时间轴定义的寿命的第一数据;第二数据,它至少包括下述之一指定描述运动图像中的对象的时空区域的对象区域数据和与时空区域相关的显示方法的数据,和规定当时空区域被指定时进行的处理的数据;文本数据;和指示文本数据是否被压缩的第三数据。
9.一种配置成适应按照权利要求1、7或8所述的数据结构的信息介质。
10.一种包括配置成处理按照权利要求1、7或8所述的数据结构的数据处理引擎的设备。
全文摘要
当出现在运动图像中的同一对象被分成多个数据项(存取单元)时,易于显示利用元数据的搜索结果。元数据流包括两个或更多的存取单元AU,存取单元AU具有规定由两个存取单元AU中的对象区域数据指定的对象是否语义相同的object_id,指定这两个存取单元AU中的对象区域数据是否是相同场景上的数据的object_subid。从元数据流中选择多个存取单元AU之一(S8200或S8206),依据object_id,存取单元被确定为相同的对象,依据object_subid,存取单元被确定为相同的场景(S8203),选择的存取单元AU被用于搜索对象(S8201)。
文档编号G11B20/10GK1820269SQ20058000057
公开日2006年8月16日 申请日期2005年5月20日 优先权日2004年5月20日
发明者金子敏充, 上林达, 矶崎宏, 津曲康史, 高桥秀树, 山县洋一郎 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1